http://git-wip-us.apache.org/repos/asf/ambari/blob/e3b9ef3c/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/libs/custom/timezone/WorldMapGenerator.js ---------------------------------------------------------------------- diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/libs/custom/timezone/WorldMapGenerator.js b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/libs/custom/timezone/WorldMapGenerator.js new file mode 100644 index 0000000..cfc44c7 --- /dev/null +++ b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/libs/custom/timezone/WorldMapGenerator.js @@ -0,0 +1,3474 @@ +/** + * @version: 1.0.1 + * @author: Keval Bhatt + * @copyright: Copyright (c) 2015 Keval Bhatt. All rights reserved. + * @license: Licensed under the MIT license. See http://www.opensource.org/licenses/mit-license.php + * @website: http://kevalbhatt.github.io/WorldMapGenerator/ + */ +'use strict'; +(function(root, factory) { + + if (typeof define === 'function' && define.amd) { + define(['moment', 'jquery'], function(momentjs, $) { + root.worldMapTime = {}; + factory(momentjs, $, root.worldMapTime); + }); + + } else { + if ((typeof root.moment == "undefined")) { + var moment = false; + console.log('Day light feature requires moment.js') + } else { + if (!(root.moment.tz)) { + throw new Error('moment-timezone dependency not found'); + } + } + if ((root.jQuery != "undefined" || root.Zepto != "undefined" || root.ender != "undefined" || root.$ != "undefined")) { + var c = root.worldMapTime = {}; + factory(root.moment || moment, (root.jQuery || root.Zepto || root.ender || root.$), c); + } else { + throw new Error('jQuery dependnecy not found'); + } + + } + +}(this, function(moment, $, getTimeZoneObjct) { + var findValue = function(key, value) { + var referObj = []; + var obj = WorldMapGenerator.timeZoneValue.filter(function(object) { + if (object[key] === value) { + referObj.push($.extend(true, {},object)); + return object; + } + }); + for(var i=0;i<referObj.length;i++){ + delete referObj[i].points; + delete referObj[i].pin; + } + return referObj; + } + getTimeZoneObjct['getSystemTimezone'] = function() { + /* var d = new Date() + var n = d.getTimezoneOffset(); + var offset = (-(n))/60*/ + var zoneAbr = new Date().toString().split('(')[1].slice(0, -1) + return findValue('zoneName', zoneAbr) + } + getTimeZoneObjct['getZoneName'] = function(zoneAbr) { + return findValue('zoneName', zoneAbr).zoneName + } + getTimeZoneObjct['getTimeZoneString'] = function(zoneAbr) { + return findValue('zoneName', zoneAbr).timezone + } + getTimeZoneObjct['getTimeZoneObject'] = function(zoneAbr) { + return findValue('zoneName', zoneAbr) + } + + + var WorldMapGenerator = function(element, options) { + this.$el = element; + this.generateMap(options); + } + + WorldMapGenerator.VERSION = '1.0.1'; + + WorldMapGenerator.DEFAULTS = { + width: 500, + height: 250, + hoverColor: '#5A5A5A', + selectedColor: '#496A84', + mapColor: '#BBB', + defaultCss: true, + localStore: true, + quickLink: [{ + "IST": "IST", + "EAT": "EAT" + }], + selectBox: true, + showHoverText: true, + dayLightSaving: ((typeof moment == "function") ? (true) : (false)) + }; + + WorldMapGenerator.prototype = { + + constructor: WorldMapGenerator, + + /** + * [setValue set value in map] + * @param {[type]} value [attribute value] + * @param {[type]} attribute [attribute name] + */ + setValue: function(value, attribute) { + + this.$el.find('svg polygon').attr('data-selected', 'false'); + var elements = this.$el.find('svg polygon[data-' + ((attribute) ? (attribute) : ("timezone")) + '="' + value + '"]'); + + if (elements && elements.length) { + elements.attr('data-selected', 'true'); + this.$el.find('select option[value="' + ((attribute) ? (elements.attr('data-timeZone')) : (value)) + '"]').prop('selected', true); + this.$el.find('.quickLink span').removeClass('active'); + var findQuickLink = this.$el.find('.quickLink span[data-select="' + value + '"]'); + this.$el.find('.quickLink span[data-select="' + value + '"]').addClass('active'); + this.$el.find('.quickLink span[data-select="' + elements.attr('data-zonename') + '"]').addClass('active'); + + } + }, + /** + * [getValue get selected value array] + * @return {[type]} [description] + */ + getValue: function() { + var value = []; + this.$el.find('svg polygon[data-selected="true"]').map(function(index, el) { + value.push($(el).data()); + }); + return value; + }, + /** + * [generateMap create element dynamically] + * @param {[type]} options [depanding on option it will create e] + * @return {[type]} [description] + */ + generateMap: function(options) { + + var polygon = [], + option = [], + quickLink = [], + containerArr = [], + timezone = WorldMapGenerator.timeZoneValue; + for (var index in timezone) { + var zoneName = ((options.dayLightSaving) ? (moment().tz(timezone[index].timezone).zoneName()) : (timezone[index].zoneName)) + if (zoneName == 'CST' && timezone[index].timezone.startsWith('Asia')) + zoneName = 'CST/China' + polygon.push(this.genrateElement('polygon', { + 'data-timezone': timezone[index].timezone, + 'data-country': timezone[index].country, + 'data-pin': timezone[index].pin, + 'data-offset': timezone[index].offset, + 'points': timezone[index].points, + 'data-zonename': zoneName + }, false, true)); + option.push(this.genrateElement('option', { + 'value': timezone[index].timezone + }, timezone[index].timezone + " (" + ((options.dayLightSaving) ? (moment().tz(timezone[index].timezone).zoneName()) : (timezone[index].zoneName)) + ")")); + } + if (options.selectBox) { + var select = this.genrateElement('select', { + 'class': 'mapDropDown dropdown-toggle', + }, option); + containerArr.push(select); + } + + + if (options.quickLink.length > 0) { + for (var index in options.quickLink[0]) { + quickLink.push(this.genrateElement('span', { + 'data-select': options.quickLink[0][index] + }, index)); + } + var qickLinkDiv = this.genrateElement('div', { + 'class': 'quickLink' + }, quickLink); + containerArr.push(qickLinkDiv); + } + + + + var svg = this.genrateElement('svg', { + 'class': 'timezone-map', + 'viewBox': '0 0 ' + options.width + ' ' + options.height + }, polygon, true); + + if (containerArr.length > 0) { + var container = this.genrateElement('div', { + 'class': 'Cbox' + }, containerArr); + this.$el.append(container); + + } + this.$el.append(svg); + + if (options.showHoverText) { + var hoverZone = this.genrateElement('span', { + 'class': 'hoverZone', + }); + this.$el.append(hoverZone); + } + + + + if (options.defaultCss) { + this.createCss(options); + } + this.bindEvent(options); + + }, + /** + * [bindEvent bind all event i.e click,mouseenter,mouseleave,change(select)] + * @return {[type]} [description] + */ + bindEvent: function() { + var that = this; + this.$el.on('mouseenter', 'svg polygon', function(e) { + var d = $(this).data(); + $('.timezone-map polygon[data-zonename="' + d.zonename + '"]').attr('class', 'active'); + that.$el.find('.hoverZone').text(d.timezone + " (" + d.zonename + ")"); + }); + this.$el.on('mouseleave', 'svg polygon', function(e) { + $('.timezone-map polygon').attr('class', ''); + that.$el.find('.hoverZone').text(''); + }); + this.$el.on('click', 'svg polygon', function() { + + that.setValue($(this).attr('data-timezone')); + that.$el.trigger("map:clicked"); + + }); + this.$el.on('change', 'select', function() { + that.setValue($(this).val()); + that.$el.trigger("map:clicked"); + }); + this.$el.on('click', '.quickLink span', function() { + var selectValue = $(this).data().select + if (selectValue.search('/') > 0) { + that.setValue(selectValue, 'timezone'); + } else { + that.setValue(selectValue, 'zonename'); + } + that.$el.trigger("map:clicked"); + }); + }, + /** + * [genrateElement description] + * @param {[Jquery Object]} element [selector] + * @param {[type]} elementAttr [description] + * @param {[javascript Object or text]} chilled [If we pass javascript object or array it will append all chilled and if you pass string it will add string(value) inside element ] + * @param {Boolean} isSvg [If it is svg then it will create svg element] + * @return {[type]} [description] + */ + genrateElement: function(element, elementAttr, chilled, isSvg) { + + + if (isSvg) { + var elementObject = document.createElementNS('http://www.w3.org/2000/svg', element); + } else { + var elementObject = document.createElement(element); + } + if (elementAttr) { + for (var key in elementAttr) { + elementObject.setAttribute(key, elementAttr[key]); + } + } + if (chilled) { + if (chilled instanceof Array) { + for (var chilleds in chilled) { + elementObject.appendChild(chilled[chilleds]); + } + } else if (typeof chilled == 'string') { + elementObject.innerHTML = chilled; + } else { + elementObject.appendChild(chilled); + } + + } + + return elementObject; + + }, + /** + * [createCss function will create css dynamically it is insert style attribute in in head ] + * @param {[type]} options [options has mapColor,selectedColor,hoverColor ] + * @return {[type]} [description] + */ + createCss: function(options) { + var style = document.createElement('style'); + style.type = 'text/css'; + style.innerHTML = '.timezone-map polygon[data-selected="true"] {fill: ' + options.selectedColor + '}' + + '.timezone-map polygon { fill: ' + options.mapColor + ';}' + + '.timezone-map polygon.active {fill: ' + options.hoverColor + ';}' + + '.timezone-map polygon:hover { cursor: pointer;}' + + '.Cbox .quickLink{width: 52%;float: right;padding-bottom: 11px;overflow-x: auto; white-space: nowrap;overflow-y: hidden;}' + + '.Cbox .quickLink span:hover {color:#FFF;background-color: #496A84; cursor: pointer;}' + + '.Cbox select{width: 45%;float: left;height: 27px; padding: 0px 0px 0px 10px;}' + + '.Cbox .quickLink span.active {color: #FFF; background-color: #496A84;}' + + '.Cbox .quickLink span{ font-weight: 300; border-radius: 3px; color: #000; background-color: #FFF; border: solid 1px #CCC;margin-left: 10px;' + + 'font-size: 9px;padding: 4px 6px 4px 6px;}'; + document.getElementsByTagName('head')[0].appendChild(style); + + } + }; + /** + * [Plugin Staring point for plugin] + * @param {[type]} option [user options which can be override the default options] + */ + function Plugin(option) { + + return this.each(function() { + var $el = $(this) + var options = $.extend({}, WorldMapGenerator.DEFAULTS, $el.data(), typeof option == 'object' && option); + $el.data('WorldMapGenerator', new WorldMapGenerator($el, options)); + $el.trigger("map:loaded"); + }); + }; + + $.fn.WorldMapGenerator = Plugin; + + WorldMapGenerator.timeZoneValue = [{ + "timezone": "Africa/Abidjan", + "country": "CI", + "pin": "244,118", + "offset": 0, + "points": "241,118,240,119,240,117,238,116,238,115,239,114,239,113,239,113,239,111,241,110,241,111,243,111,244,112,246,111,247,113,245,116,246,118,241,118", + "zoneName": "GMT" + }, { + "timezone": "Africa/Accra", + "country": "GH", + "pin": "250,117", + "offset": 0, + "points": "251,117,247,118,246,118,246,118,246,116,247,114,246,110,250,110,251,113,251,116,252,116,251,117", + "zoneName": "GMT" + }, { + "timezone": "Africa/Addis_Ababa", + "country": "ET", + "pin": "304,112", + "offset": 3, + "points": "313,118,311,118,308,120,307,119,305,120,300,119,299,116,296,114,296,113,297,113,298,110,299,110,300,107,300,107,301,105,302,105,303,104,303,105,307,105,309,108,308,110,310,110,309,110,310,112,317,114,313,118", + "zoneName": "EAT" + }, { + "timezone": "Africa/Algiers", + "country": "DZ", + "pin": "254,74", + "offset": 1, + "points": "263,83,264,86,264,88,263,89,264,91,266,91,267,92,258,98,255,99,254,97,252,97,250,95,238,87,238,85,239,85,243,83,243,82,245,82,245,81,246,81,246,80,248,80,249,80,248,79,248,77,247,76,254,74,262,74,261,74,262,77,260,78,263,81,263,83", + "zoneName": "CET" + }, { + "timezone": "Africa/Asmara", + "country": "ER", + "pin": "304,104", + "offset": 3, + "points": "306,104,310,107,309,108,306,105,303,105,303,104,302,105,301,105,301,101,304,100,305,104,305,103,306,104", + "zoneName": "EAT" + }, { + "timezone": "Africa/Bamako", + "country": "ML", + "pin": "239,107", + "offset": 0, + "points": "244,107,244,108,242,109,242,111,241,111,241,110,240,111,239,110,239,111,238,110,238,110,238,109,237,108,235,108,234,108,234,107,233,105,234,103,235,104,237,103,242,103,241,90,243,90,252,96,252,97,254,97,255,99,256,98,256,101,255,104,249,104,246,105,245,107,244,106,244,107", + "zoneName": "GMT" + }, { + "timezone": "Africa/Bangui", + "country": "CF", + "pin": "276,119", + "offset": 1, + "points": "284,118,283,119,282,118,281,119,277,118,276,119,276,120,273,120,272,122,270,119,270,117,272,115,276,114,276,113,278,112,280,110,281,110,283,111,283,113,284,113,284,113,285,114,288,118,285,118,285,118,284,118", + "zoneName": "WAT" + }, { + "timezone": "Africa/Banjul", + "country": "GM", + "pin": "227,106", + "offset": 0, + "points": "231,106,227,106,229,106,231,106", + "zoneName": "GMT" + }, { + "timezone": "Africa/Bissau", + "country": "GW", + "pin": "228,109", + "offset": 0, + "points": "228,109,228,109,228,109", + "zoneName": "GMT" + }, { + "timezone": "Africa/Blantyre", + "country": "MW", + "pin": "299,147", + "offset": 2, + "points": "298,144,300,146,299,149,298,147,298,145,297,145,295,144,297,142,296,140,297,140,296,138,298,139,299,141,298,142,298,144", + "zoneName": "CAT" + }, { + "timezone": "Africa/Brazzaville", + "country": "CG", + "pin": "271,131", + "offset": 1, + "points": "266,131,267,130,266,128,267,128,268,128,270,128,270,128,270,126,269,125,270,124,269,123,268,123,268,122,272,123,273,120,276,120,275,126,273,128,272,130,270,132,270,131,269,132,268,131,267,132,266,131", + "zoneName": "WAT" + }, { + "timezone": "Africa/Bujumbura", + "country": "BI", + "pin": "291,130", + "offset": 2, + "points": "292,131,291,131,290,129,291,129,292,128,292,128,293,130,292,131", + "zoneName": "CAT" + }, { + "timezone": "Asia/Oral", + "country": "KZ", + "pin": "321,54", + "offset": 5, + "points": "316,55,317,56,318,56,317,55,319,54,320,53,323,53,326,54,326,56,323,58,321,57,319,58,315,58,316,55", + "zoneName": "ORAT" + }, { + "timezone": "Africa/Cairo", + "country": "EG", + "pin": "293,83", + "offset": 2, + "points": "294,94,285,94,284,83,285,81,290,82,293,81,294,81,295,82,298,82,298,84,298,86,296,85,295,83,295,84,300,92,299,92,299,93,297,95,294,94", + "zoneName": "EET" + }, { + "timezone": "Africa/Casablanca", + "country": "MA", + "pin": "239,78", + "offset": 0, + "points": "242,84,240,84,238,85,238,87,232,87,236,84,237,83,236,81,237,80,241,78,242,75,243,75,244,76,246,76,248,77,248,80,246,80,246,81,245,81,245,82,243,82,242,84", + "zoneName": "WET" + }, { + "timezone": "Africa/Ceuta", + "country": "ES", + "pin": "243,75", + "offset": 1, + "points": "243,75,243,75,243,75", + "zoneName": "CET" + }, { + "timezone": "Africa/Conakry", + "country": "GN", + "pin": "231,112", + "offset": 0, + "points": "238,114,237,115,236,113,235,114,235,113,234,111,233,111,232,112,231,111,230,110,229,109,231,109,231,107,234,108,235,108,237,108,238,109,238,110,238,110,239,111,239,112,239,113,239,113,239,114,238,114", + "zoneName": "GMT" + }, { + "timezone": "Africa/Dakar", + "country": "SN", + "pin": "226,105", + "offset": 0, + "points": "227,107,229,106,231,106,229,106,227,106,226,105,227,102,230,102,233,105,234,108,229,107,227,108,227,108,227,108,227,107", + "zoneName": "GMT" + }, { + "timezone": "Africa/Dar_es_Salaam", + "country": "TZ", + "pin": "305,134", + "offset": 3, + "points": "306,139,306,139,306,140,302,141,299,141,297,138,293,137,291,134,291,132,293,130,292,129,293,128,292,126,297,126,302,129,302,130,304,131,304,134,305,135,305,137,306,139", + "zoneName": "EAT" + }, { + "timezone": "Asia/Yekaterinburg", + "country": "RU", + "pin": "334,46", + "offset": 6, + "points": "333,53,335,54,335,54,333,55,331,54,329,54,327,55,326,54,326,55,324,53,321,53,322,51,322,50,324,50,325,49,324,48,325,48,324,47,326,47,325,46,326,46,325,44,325,43,324,43,325,42,323,41,322,40,326,40,329,40,332,39,333,35,342,31,341,31,342,31,341,31,341,30,340,29,342,29,342,29,341,29,345,30,346,29,345,28,343,28,344,28,344,27,343,27,345,25,346,24,351,24,350,26,351,27,351,27,351,29,352,30,350,32,346,32,346,33,350,33,354,31,353,30,356,29,357,30,357,31,358,31,361,32,358,31,359,30,358,29,353,29,352,28,353,27,351,26,354,25,354,24,355,25,354,26,355,26,359,27,356,25,358,25,357,25,358,25,362,25,360,26,362,26,362,27,360,28,365,29,365,30,364,31,364,31,364,32,366,32,366,34,367,34,367,35,369,35,369,36,368,37,369,37,367,39,369,40,369,40,364,41,357,40,356,42,353,44,349,44,348,44,348,45,350,46,348,47,348,48,346,48,341,50,335,50,335,51,336,51,335,51,334,52,335,52,333,53", + "zoneName": "YEKT" + }, { + "timezone": "Africa/Djibouti", + "country": "DJ", + "pin": "310,109", + "offset": 3, + "points": "310,109,310,109,310,109", + "zoneName": "EAT" + }, { + "timezone": "Africa/Douala", + "country": "CM", + "pin": "263,119", + "offset": 1, + "points": "270,117,270,119,272,121,272,123,270,122,264,122,263,119,263,120,262,119,262,117,264,116,265,115,266,116,266,115,269,110,270,109,270,107,271,107,271,110,272,111,269,112,272,114,270,117", + "zoneName": "WAT" + }, { + "timezone": "Africa/Freetown", + "country": "SL", + "pin": "232,113", + "offset": 0, + "points": "235,115,234,115,232,114,232,112,233,111,234,111,235,112,235,114,236,114,235,115", + "zoneName": "GMT" + }, { + "timezone": "Africa/Gaborone", + "country": "BW", + "pin": "286,159", + "offset": 2, + "points": "287,158,285,161,282,160,281,162,279,162,279,161,278,159,278,156,279,156,279,150,282,150,283,151,285,150,286,152,289,153,289,155,291,156,287,158", + "zoneName": "CAT" + }, { + "timezone": "Africa/Harare", + "country": "ZW", + "pin": "293,150", + "offset": 2, + "points": "293,156,289,155,289,153,286,152,285,150,288,150,291,147,296,148,295,151,296,153,295,155,293,156", + "zoneName": "CAT" + }, { + "timezone": "Africa/El_Aaiun", + "country": "EH", + "pin": "232,87", + "offset": 0, + "points": "233,89,233,92,232,93,232,95,227,95,226,96,226,95,228,92,228,92,229,91,230,89,231,88,232,87,238,87,238,89,233,89", + "zoneName": "WET" + }, { + "timezone": "Africa/Johannesburg", + "country": "ZA", + "pin": "289,161", + "offset": 2, + "points": "283,172,278,173,276,172,276,173,275,171,275,170,275,169,273,165,274,164,274,165,275,165,278,164,278,159,279,161,279,162,280,162,282,160,285,161,288,158,290,156,293,156,294,159,294,161,294,161,293,162,294,163,294,163,294,162,296,162,295,165,289,171,286,172,283,172", + "zoneName": "SAST" + }, { + "timezone": "Africa/Juba", + "country": "SS", + "pin": "294,118", + "offset": 3, + "points": "299,117,299,118,300,118,300,119,298,119,297,120,293,120,291,119,289,119,289,119,287,116,284,113,285,111,286,111,287,112,290,112,292,111,293,111,295,110,295,108,296,108,296,110,297,111,297,113,296,113,296,114,297,115,299,117", + "zoneName": "EAT" + }, { + "timezone": "Africa/Kampala", + "country": "UG", + "pin": "295,125", + "offset": 3, + "points": "293,126,291,127,292,124,293,122,293,122,293,120,297,120,297,119,299,122,297,125,297,126,293,126", + "zoneName": "EAT" + }, { + "timezone": "Africa/Khartoum", + "country": "SD", + "pin": "295,103", + "offset": 3, + "points": "300,107,299,110,298,110,297,112,296,110,296,108,295,108,295,108,295,110,293,111,292,111,290,112,287,112,286,111,285,111,284,113,283,113,283,111,282,110,281,107,280,107,282,103,283,103,283,97,285,97,285,94,294,94,297,95,299,93,301,94,302,96,302,99,304,100,301,101,301,106,300,107,300,107", + "zoneName": "EAT" + }, { + "timezone": "Africa/Kinshasa", + "country": "CD", + "pin": "271,131", + "offset": 1, + "points": "271,131,272,130,273,128,275,126,276,119,277,118,277,118,279,119,283,120,281,120,283,122,281,122,281,123,283,125,282,126,283,126,282,126,284,127,281,128,281,128,281,128,279,128,279,131,278,131,278,135,277,135,277,136,274,136,273,133,267,133,268,131,269,132,270,131,270,132,271,131", + "zoneName": "WAT" + }, { + "timezone": "Africa/Lagos", + "country": "NG", + "pin": "255,116", + "offset": 1, + "points": "261,119,258,119,256,116,254,116,254,112,255,110,255,109,256,106,258,106,260,107,261,106,263,107,265,106,267,107,269,106,270,108,270,109,269,110,266,115,266,116,264,115,262,117,262,118,261,119", + "zoneName": "WAT" + }, { + "timezone": "Africa/Libreville", + "country": "GA", + "pin": "263,124", + "offset": 1, + "points": "269,125,270,126,270,128,267,128,267,128,266,128,267,130,266,131,263,128,262,126,263,126,263,125,264,125,263,124,263,124,266,124,266,122,268,122,268,123,270,123,270,124,269,125", + "zoneName": "WAT" + }, { + "timezone": "Africa/Lome", + "country": "TG", + "pin": "252,116", + "offset": 0, + "points": "252,116,251,116,251,113,250,110,251,110,251,111,252,111,253,116,252,116", + "zoneName": "GMT" + }, { + "timezone": "Africa/Kigali", + "country": "RW", + "pin": "292,128", + "offset": 2, + "points": "292,128,291,129,290,129,291,127,292,126,293,128,292,128", + "zoneName": "CAT" + }, { + "timezone": "Africa/Luanda", + "country": "AO", + "pin": "268,137", + "offset": 1, + "points": "281,140,281,141,283,140,283,143,281,143,281,148,283,149,279,150,276,149,269,149,268,149,266,149,267,144,269,142,269,140,268,138,269,137,267,133,273,133,274,136,277,136,277,135,280,135,280,138,281,140", + "zoneName": "WAT" + }, { + "timezone": "Africa/Lubumbashi", + "country": "CD", + "pin": "288,141", + "offset": 2, + "points": "291,132,291,134,293,136,290,137,289,138,290,139,289,141,290,142,291,142,291,144,290,144,288,141,287,142,286,142,285,141,284,141,283,140,281,141,280,135,278,135,277,134,278,133,278,131,279,131,279,128,281,128,281,128,281,128,284,127,282,126,283,126,282,126,283,125,281,123,281,122,283,122,281,120,283,120,281,119,282,118,285,118,285,118,288,118,289,119,291,119,293,120,293,122,293,122,292,124,291,127,290,128,291,132", + "zoneName": "CAT" + }, { + "timezone": "Africa/Lusaka", + "country": "ZM", + "pin": "289,146", + "offset": 2, + "points": "290,147,290,148,287,150,284,149,283,149,281,148,281,143,283,143,283,140,284,141,285,141,286,142,287,142,288,141,290,144,291,144,291,142,290,142,289,141,290,139,289,138,290,137,293,136,296,138,297,140,296,140,297,142,295,144,296,144,292,146,292,147,290,147", + "zoneName": "CAT" + }, { + "timezone": "Africa/Malabo", + "country": "GQ", + "pin": "262,120", + "offset": 1, + "points": "266,123,266,124,263,123,264,122,266,122,266,123", + "zoneName": "WAT" + }, { + "timezone": "Africa/Maputo", + "country": "MZ", + "pin": "295,161", + "offset": 2, + "points": "296,160,295,161,295,162,296,161,296,162,295,162,294,159,293,156,295,155,296,153,295,151,296,148,292,147,292,146,296,144,297,145,298,145,298,146,298,147,299,149,300,146,298,144,298,141,302,141,306,140,306,146,305,148,303,149,300,151,298,152,298,154,299,156,299,158,296,160", + "zoneName": "CAT" + }, { + "timezone": "Africa/Mbabane", + "country": "SZ", + "pin": "293,162", + "offset": 2, + "points": "294,161,295,162,294,163,293,162,294,161,294,161", + "zoneName": "SAST" + }, { + "timezone": "Africa/Mogadishu", + "country": "SO", + "pin": "313,122", + "offset": 3, + "points": "310,125,308,127,307,126,307,121,308,119,312,118,317,114,311,113,309,110,310,109,312,111,321,109,321,111,321,111,321,111,321,112,317,119,310,125", + "zoneName": "EAT" + }, { + "timezone": "Africa/Monrovia", + "country": "LR", + "pin": "235,116", + "offset": 0, + "points": "239,118,240,119,238,119,234,116,236,113,237,113,237,115,238,115,238,114,239,115,238,116,240,117,239,118", + "zoneName": "GMT" + }, { + "timezone": "Africa/Nairobi", + "country": "KE", + "pin": "301,127", + "offset": 3, + "points": "308,127,306,129,304,131,302,130,302,129,297,126,297,125,299,122,297,119,298,119,300,119,305,120,307,119,308,119,307,121,307,126,308,127", + "zoneName": "EAT" + }, { + "timezone": "Africa/Maseru", + "country": "LS", + "pin": "288,166", + "offset": 2, + "points": "289,167,289,167,288,166,290,165,291,166,289,167", + "zoneName": "SAST" + }, { + "timezone": "Africa/Ndjamena", + "country": "TD", + "pin": "271,108", + "offset": 1, + "points": "278,112,276,113,276,114,272,115,269,112,270,111,272,111,271,110,271,107,270,107,269,105,272,102,272,97,271,95,271,93,272,92,283,98,283,103,282,103,280,107,281,107,282,110,280,110,279,112,278,112", + "zoneName": "WAT" + }, { + "timezone": "Africa/Niamey", + "country": "NE", + "pin": "253,106", + "offset": 1, + "points": "256,106,255,108,255,109,254,108,253,108,253,107,251,107,252,106,251,106,250,104,255,104,256,101,256,98,258,98,267,92,270,94,271,93,271,95,272,97,272,102,269,105,269,106,267,107,265,106,263,107,261,106,260,107,258,106,256,106", + "zoneName": "WAT" + }, { + "timezone": "Africa/Nouakchott", + "country": "MR", + "pin": "228,100", + "offset": 0, + "points": "234,103,233,105,230,102,227,102,227,103,228,100,227,98,228,97,227,95,226,96,232,95,232,93,233,92,233,89,238,89,238,87,243,90,241,90,242,103,237,103,235,104,234,103", + "zoneName": "GMT" + }, { + "timezone": "Africa/Ouagadougou", + "country": "BF", + "pin": "248,108", + "offset": 0, + "points": "249,110,246,110,246,112,246,111,243,112,242,111,242,109,244,108,244,106,245,107,247,105,250,104,250,104,251,106,252,106,251,107,253,107,253,109,252,110,249,110", + "zoneName": "GMT" + }, { + "timezone": "Africa/Porto-Novo", + "country": "BJ", + "pin": "254,116", + "offset": 1, + "points": "254,114,254,116,252,116,252,112,251,111,252,109,253,109,254,108,255,109,255,110,254,112,254,114", + "zoneName": "WAT" + }, { + "timezone": "Africa/Tunis", + "country": "TN", + "pin": "264,74", + "offset": 1, + "points": "266,80,264,81,264,82,263,83,263,80,261,79,260,78,262,76,261,74,263,73,264,73,264,74,265,74,265,75,266,76,264,78,266,79,266,80", + "zoneName": "CET" + }, { + "timezone": "Africa/Sao_Tome", + "country": "ST", + "pin": "259,125", + "offset": 0, + "points": "260,123,260,123,260,123", + "zoneName": "GMT" + }, { + "timezone": "Africa/Tripoli", + "country": "LY", + "pin": "268,79", + "offset": 2, + "points": "285,88,285,97,283,97,283,98,272,92,270,94,264,91,263,89,264,88,264,86,263,83,264,82,264,81,266,80,266,79,271,80,272,81,276,83,278,82,278,80,281,79,282,80,285,81,284,83,285,88", + "zoneName": "EET" + }, { + "timezone": "Africa/Windhoek", + "country": "NA", + "pin": "274,156", + "offset": 2, + "points": "278,163,278,164,277,165,274,165,274,164,273,165,272,164,271,162,270,156,267,151,266,149,268,149,269,149,276,149,279,150,284,149,285,150,283,151,282,150,279,150,279,156,278,156,278,163", + "zoneName": "WAST" + }, { + "timezone": "America/Adak", + "country": "US", + "pin": "5,53", + "offset": -10, + "points": "7,53,6,53,8,52,7,53", + "zoneName": "HST" + }, { + "timezone": "America/Argentina/Salta", + "country": "AR", + "pin": "159,159", + "offset": -3, + "points": "162,180,162,182,163,182,160,182,160,183,150,183,150,180,152,179,151,176,152,175,153,177,155,177,155,175,160,175,160,174,162,174,162,180", + "zoneName": "ART" + }, { + "timezone": "America/Argentina/Salta", + "country": "AR", + "pin": "159,159", + "offset": -3, + "points": "159,156,161,157,161,156,163,156,163,156,163,159,162,161,158,162,157,161,158,160,155,160,155,159,157,158,158,159,158,157,159,159,161,159,161,158,160,158,159,156", + "zoneName": "ART" + }, { + "timezone": "America/Anchorage", + "country": "US", + "pin": "42,40", + "offset": -9, + "points": "42,42,40,43,39,43,40,42,39,42,40,41,43,41,42,40,42,40,40,40,36,43,37,43,36,44,30,47,30,47,25,48,25,48,27,48,27,47,31,45,31,44,32,43,30,44,30,43,29,44,27,43,25,44,25,37,27,36,26,36,27,35,25,35,25,33,26,33,25,33,25,32,26,33,25,32,25,27,33,26,34,26,33,27,35,26,39,27,39,27,38,27,39,27,51,28,54,28,54,42,54,41,50,42,46,41,47,40,44,40,45,40,43,41,44,41,44,41,44,41,42,42", + "zoneName": "AKST" + }, { + "timezone": "America/Anguilla", + "country": "AI", + "pin": "162,100", + "offset": -4, + "points": "162,100,162,100,162,100", + "zoneName": "AST" + }, { + "timezone": "America/Antigua", + "country": "AG", + "pin": "164,101", + "offset": -4, + "points": "164,101,164,101,164,101", + "zoneName": "AST" + }, { + "timezone": "America/Araguaina", + "country": "BR", + "pin": "183,135", + "offset": -3, + "points": "185,136,185,136,185,138,186,139,185,141,186,141,186,143,184,143,182,143,182,142,181,143,180,143,180,142,180,143,180,140,182,137,182,135,183,134,183,133,183,132,184,133,184,135,185,136", + "zoneName": "BRT" + }, { + "timezone": "America/Argentina/Buenos_Aires", + "country": "AR", + "pin": "169,173", + "offset": -3, + "points": "167,171,169,172,169,173,171,174,170,175,171,176,169,178,165,179,163,179,164,180,163,180,163,181,164,181,163,182,162,182,162,173,164,173,165,172,167,171", + "zoneName": "ART" + }, { + "timezone": "America/Argentina/Catamarca", + "country": "AR", + "pin": "159,165", + "offset": -3, + "points": "159,188,157,188,156,189,151,189,151,188,150,187,151,187,150,187,151,186,150,184,160,183,161,184,161,183,162,184,160,184,161,185,159,186,159,188", + "zoneName": "ART" + }, { + "timezone": "America/Argentina/Catamarca", + "country": "AR", + "pin": "159,165", + "offset": -3, + "points": "160,167,158,164,154,164,155,162,155,160,158,160,157,161,159,162,158,163,159,164,159,164,160,167", + "zoneName": "ART" + }, { + "timezone": "America/Argentina/Cordoba", + "country": "AR", + "pin": "161,169", + "offset": -3, + "points": "163,173,162,173,162,174,160,174,160,170,159,169,159,168,160,166,159,164,161,161,162,161,163,159,163,156,165,158,170,160,169,163,173,163,174,162,174,161,175,161,175,163,173,164,170,167,169,172,166,171,164,173,163,173", + "zoneName": "ART" + }, { + "timezone": "America/Argentina/Jujuy", + "country": "AR", + "pin": "159,159", + "offset": -3, + "points": "157,157,158,155,159,156,159,157,160,158,161,158,161,159,160,159,159,159,158,157,158,159,157,158,157,157", + "zoneName": "ART" + }, { + "timezone": "America/Argentina/La_Rioja", + "country": "AR", + "pin": "157,166", + "offset": -3, + "points": "156,167,154,166,154,165,153,164,154,164,158,164,160,167,159,169,157,169,156,167", + "zoneName": "ART" + }, { + "timezone": "America/Argentina/Mendoza", + "country": "AR", + "pin": "154,171", + "offset": -3, + "points": "152,170,156,170,157,171,157,175,155,175,155,177,153,177,152,175,152,174,153,171,152,170", + "zoneName": "ART" + }, { + "timezone": "America/Argentina/Rio_Gallegos", + "country": "AR", + "pin": "154,197", + "offset": -3, + "points": "151,189,156,189,157,190,159,191,158,192,154,195,154,197,155,198,150,197,149,197,150,195,148,196,148,195,148,193,150,192,149,191,150,191,151,189", + "zoneName": "ART" + }, { + "timezone": "America/Argentina/San_Juan", + "country": "AR", + "pin": "155,169", + "offset": -3, + "points": "153,167,154,164,154,165,154,166,156,167,157,169,156,169,156,170,154,169,152,170,152,168,153,167", + "zoneName": "ART" + }, { + "timezone": "America/Argentina/San_Luis", + "country": "AR", + "pin": "158,171", + "offset": -3, + "points": "159,169,160,170,160,175,157,175,156,169,159,169", + "zoneName": "ART" + }, { + "timezone": "America/Argentina/Tucuman", + "country": "AR", + "pin": "159,162", + "offset": -3, + "points": "158,161,160,161,160,164,159,164,158,163,159,162,158,161", + "zoneName": "ART" + }, { + "timezone": "America/Aruba", + "country": "AW", + "pin": "153,108", + "offset": -4, + "points": "153,108,153,108,153,108", + "zoneName": "AST" + }, { + "timezone": "America/Argentina/Ushuaia", + "country": "AR", + "pin": "155,201", + "offset": -3, + "points": "155,201,155,198,155,199,155,199,156,200,160,201,158,201,155,201", + "zoneName": "ART" + }, { + "timezone": "America/Asuncion", + "country": "PY", + "pin": "170,160", + "offset": -3, + "points": "174,161,173,163,169,163,170,160,165,158,163,156,164,152,167,152,169,152,169,156,172,156,173,158,175,158,174,161", + "zoneName": "PYST" + }, { + "timezone": "America/Bahia_Banderas", + "country": "MX", + "pin": "104,96", + "offset": -6, + "points": "104,96,103,96,104,96", + "zoneName": "CST" + }, { + "timezone": "America/Atikokan", + "country": "CA", + "pin": "123,57", + "offset": -5, + "points": "125,58,122,58,123,57,124,57,124,58,125,58", + "zoneName": "EST" + }, { + "timezone": "America/Bahia", + "country": "BR", + "pin": "197,143", + "offset": -2, + "points": "187,146,186,146,186,141,185,141,186,140,187,139,188,140,189,140,189,138,191,138,193,137,194,138,195,137,197,137,198,139,197,140,198,141,196,143,196,147,195,150,194,149,195,147,194,147,193,147,192,146,189,145,189,145,187,146", + "zoneName": "BRT" + }, { + "timezone": "America/Barbados", + "country": "BB", + "pin": "167,107", + "offset": -4, + "points": "167,106,167,107,167,106", + "zoneName": "AST" + }, { + "timezone": "America/Belem", + "country": "BR", + "pin": "183,127", + "offset": -3, + "points": "179,126,180,125,179,126,180,125,183,125,182,127,180,128,182,127,181,128,183,127,183,126,186,127,185,130,182,132,183,133,182,135,182,137,180,139,177,138,178,138,177,136,178,134,177,132,177,130,178,129,177,127,178,127,177,126,176,123,174,122,174,122,177,122,178,119,180,122,181,123,179,126", + "zoneName": "BRT" + }, { + "timezone": "America/Belize", + "country": "BZ", + "pin": "128,101", + "offset": -6, + "points": "128,101,128,101,128,101", + "zoneName": "CST" + }, { + "timezone": "America/Blanc-Sablon", + "country": "CA", + "pin": "171,54", + "offset": -4, + "points": "169,54,167,55,169,54", + "zoneName": "AST" + }, { + "timezone": "America/Boa_Vista", + "country": "BR", + "pin": "166,121", + "offset": -4, + "points": "167,118,166,119,167,120,167,121,167,122,168,123,168,125,167,125,166,126,165,126,164,127,163,126,163,122,161,122,160,119,163,120,163,119,165,119,166,118,167,118", + "zoneName": "AMT" + }, { + "timezone": "America/Bogota", + "country": "CO", + "pin": "147,119", + "offset": -5, + "points": "154,126,153,131,152,130,153,129,152,128,150,128,149,128,146,125,142,124,140,123,143,120,142,119,143,117,142,115,143,114,143,113,143,114,143,113,145,112,145,110,148,109,150,108,151,108,149,110,148,112,149,113,149,115,150,115,153,115,154,117,156,117,156,119,157,120,156,121,157,122,157,123,156,122,153,123,153,124,154,124,153,124,154,126", + "zoneName": "COT" + }, { + "timezone": "America/Boise", + "country": "US", + "pin": "89,64", + "offset": -7, + "points": "96,66,96,67,87,67,87,66,86,66,86,64,87,63,88,62,88,61,89,62,92,62,93,63,96,63,96,66", + "zoneName": "MST" + }, { + "timezone": "America/Cambridge_Bay", + "country": "CA", + "pin": "104,29", + "offset": -7, + "points": "99,18,100,19,99,19,101,19,100,20,102,19,104,20,103,21,97,21,97,20,99,20,97,20,98,19,97,19,99,18", + "zoneName": "MST" + }, { + "timezone": "America/Cambridge_Bay", + "country": "CA", + "pin": "104,29", + "offset": -7, + "points": "108,36,97,35,95,34,92,34,81,30,81,28,89,29,92,30,89,31,90,31,97,31,100,32,99,32,101,33,100,32,101,32,101,32,101,32,100,31,103,30,99,30,100,30,103,29,105,31,106,30,109,31,113,31,113,30,115,30,116,30,116,31,117,30,116,31,118,32,117,30,120,30,120,30,120,29,119,30,120,28,116,28,117,27,116,27,116,26,119,25,118,25,120,25,121,26,121,27,123,28,122,27,121,28,122,28,121,28,125,29,123,29,124,29,124,30,125,30,126,29,126,32,108,32,108,36", + "zoneName": "MST" + }, { + "timezone": "America/Cambridge_Bay", + "country": "CA", + "pin": "104,29", + "offset": -7, + "points": "115,24,116,24,116,25,116,25,114,25,114,26,113,26,107,24,111,24,110,23,115,24", + "zoneName": "MST" + }, { + "timezone": "America/Cambridge_Bay", + "country": "CA", + "pin": "104,29", + "offset": -7, + "points": "100,23,103,24,105,26,105,26,110,27,110,28,106,28,107,28,107,29,108,28,109,29,107,29,104,29,104,29,102,28,99,30,93,30,92,29,93,29,88,29,87,28,97,28,97,24,99,24,100,26,101,25,100,23,100,23", + "zoneName": "MST" + }, { + "timezone": "America/Campo_Grande", + "country": "BR", + "pin": "174,153", + "offset": -3, + "points": "176,150,177,151,179,152,179,153,175,158,173,158,172,156,169,156,170,150,172,149,173,150,175,149,175,150,176,150", + "zoneName": "AMST" + }, { + "timezone": "America/Cancun", + "country": "MX", + "pin": "129,96", + "offset": -6, + "points": "128,95,130,96,128,98,129,98,128,100,128,99,127,100,126,100,126,98,128,96,128,95", + "zoneName": "EST" + }, { + "timezone": "America/Caracas", + "country": "VE", + "pin": "157,110", + "offset": -4.5, + "points": "163,111,165,112,165,113,167,113,166,115,166,115,165,116,165,117,166,118,163,119,163,120,160,119,161,122,162,122,159,124,159,124,158,124,157,123,157,122,156,121,157,120,156,119,156,116,154,117,153,115,150,115,149,112,148,112,149,110,151,109,150,109,151,110,150,111,150,112,151,112,151,112,151,110,153,109,153,108,153,109,155,109,155,110,158,110,160,111,162,110,161,110,164,110,163,110,163,111", + "zoneName": "VET" + }, { + "timezone": "America/Cayenne", + "country": "GF", + "pin": "177,118", + "offset": -3, + "points": "176,117,178,119,177,122,175,122,175,120,174,118,175,117,176,117", + "zoneName": "GFT" + }, { + "timezone": "America/Cayman", + "country": "KY", + "pin": "137,98", + "offset": -5, + "points": "139,98,139,98,139,98", + "zoneName": "EST" + }, { + "timezone": "America/Chicago", + "country": "US", + "pin": "128,67", + "offset": -6, + "points": "128,72,132,74,132,75,131,76,132,80,132,84,130,83,130,83,129,83,129,82,128,83,128,82,128,83,124,83,126,83,125,84,126,84,126,85,125,84,125,85,120,83,118,84,118,84,118,85,116,86,117,85,116,85,116,86,115,86,115,87,114,87,115,87,115,89,112,88,112,87,109,84,107,84,107,85,105,84,104,82,104,81,107,81,107,74,108,74,108,73,109,73,109,70,108,70,108,69,109,69,109,67,110,67,109,64,111,63,110,63,111,62,111,61,109,61,110,60,110,59,106,59,105,57,118,57,118,56,119,57,126,58,122,60,124,60,124,60,128,61,128,62,128,63,129,63,128,66,129,67,130,67,128,68,128,72", + "zoneName": "CST" + }, { + "timezone": "America/Chihuahua", + "country": "MX", + "pin": "103,85", + "offset": -7, + "points": "106,85,106,86,106,88,105,88,103,88,101,89,98,86,99,86,99,82,100,82,100,81,102,81,104,83,105,84,106,85", + "zoneName": "MST" + }, { + "timezone": "America/Coral_Harbour", + "country": "", + "pin": "250,125", + "offset": -5, + "points": "131,33,132,34,133,34,136,35,137,36,136,36,139,36,137,37,135,36,131,37,131,36,129,37,130,36,130,34,131,33", + "zoneName": "EST" + }, { + "timezone": "America/Costa_Rica", + "country": "CR", + "pin": "133,111", + "offset": -6, + "points": "132,112,131,111,131,109,134,110,135,112,135,112,135,114,131,111,132,112", + "zoneName": "CST" + }, { + "timezone": "America/Creston", + "country": "CA", + "pin": "88,57", + "offset": -7, + "points": "89,57,87,57,88,56,89,57", + "zoneName": "MST" + }, { + "timezone": "America/Cuiaba", + "country": "BR", + "pin": "172,147", + "offset": -3, + "points": "179,146,176,148,176,150,175,150,175,149,173,150,172,149,170,150,169,149,169,148,166,148,166,144,167,142,167,141,165,140,164,137,169,137,169,135,170,137,171,138,180,139,180,141,180,143,179,146", + "zoneName": "AMST" + }, { + "timezone": "America/Curacao", + "country": "CW", + "pin": "154,108", + "offset": -4, + "points": "154,108,154,108,154,108", + "zoneName": "AST" + }, { + "timezone": "America/Danmarkshavn", + "country": "GL", + "pin": "224,18", + "offset": 0, + "points": "223,15,223,15,224,15,221,16,221,16,220,17,221,17,223,17,224,17,221,17,224,18,225,18,218,18,223,19,220,19,223,20,218,20,219,14,223,15", + "zoneName": "GMT" + }, { + "timezone": "America/Dawson", + "country": "CA", + "pin": "56,36", + "offset": -8, + "points": "56,36,56,36,56,36", + "zoneName": "PST" + }, { + "timezone": "America/Dawson_Creek", + "country": "CA", + "pin": "83,42", + "offset": -7, + "points": "83,45,83,50,79,48,78,46,83,45", + "zoneName": "MST" + }, { + "timezone": "America/Denver", + "country": "US", + "pin": "104,70", + "offset": -7, + "points": "93,63,92,62,91,62,91,60,89,59,89,57,105,57,106,59,108,59,108,60,110,61,109,61,111,61,111,62,110,63,111,63,109,64,110,67,109,67,109,69,108,69,108,70,109,70,109,73,108,73,108,74,107,74,107,81,104,81,104,82,102,81,99,81,99,76,96,76,95,74,95,74,92,74,92,67,96,67,96,63,93,63", + "zoneName": "MST" + }, { + "timezone": "America/Detroit", + "country": "US", + "pin": "135,66", + "offset": -5, + "points": "132,67,129,67,130,66,130,64,130,63,131,62,132,63,132,61,134,62,134,62,134,63,133,65,135,64,136,65,134,67,132,67", + "zoneName": "EST" + }, { + "timezone": "America/Detroit", + "country": "US", + "pin": "135,66", + "offset": -5, + "points": "125,60,127,59,127,60,130,61,132,60,134,61,131,61,130,62,129,61,128,62,129,62,128,61,126,61,125,60", + "zoneName": "EST" + }, { + "timezone": "America/Dominica", + "country": "DM", + "pin": "165,104", + "offset": -4, + "points": "165,103,165,104,165,103", + "zoneName": "AST" + }, { + "timezone": "America/Edmonton", + "country": "CA", + "pin": "92,51", + "offset": -7, + "points": "92,57,88,56,88,55,85,53,86,52,86,52,83,51,83,42,97,42,97,51,99,51,97,52,97,57,92,57", + "zoneName": "MST" + }, { + "timezone": "America/Eirunepe", + "country": "BR", + "pin": "153,134", + "offset": -4, + "points": "156,138,148,135,148,134,149,132,150,131,153,131,156,138", + "zoneName": "ACT" + }, { + "timezone": "America/El_Salvador", + "country": "SV", + "pin": "126,106", + "offset": -6, + "points": "126,106,125,106,126,105,128,106,128,107,126,106", + "zoneName": "CST" + }, { + "timezone": "America/Fortaleza", + "country": "BR", + "pin": "197,130", + "offset": -3, + "points": "201,134,202,135,201,135,199,137,198,136,198,135,197,136,194,135,194,136,192,138,189,138,189,140,187,140,186,139,185,138,185,136,184,135,184,133,182,132,185,130,186,126,187,127,187,127,188,127,188,128,188,130,188,128,189,129,190,128,191,129,194,129,198,132,201,132,201,134", + "zoneName": "BRT" + }, { + "timezone": "America/Glace_Bay", + "country": "CA", + "pin": "167,61", + "offset": -4, + "points": "167,61,166,61,166,61,167,61", + "zoneName": "AST" + }, { + "timezone": "America/Godthab", + "country": "GL", + "pin": "178,36", + "offset": -3, + "points": "188,42,187,42,188,41,187,41,188,41,187,41,187,41,186,41,187,40,186,41,187,40,183,41,184,40,183,40,183,40,182,40,183,39,182,39,182,39,181,39,182,39,181,39,182,39,180,38,181,37,180,38,180,38,180,37,180,37,179,37,180,37,179,37,180,37,179,37,179,36,178,36,180,36,178,36,180,35,179,35,180,35,181,36,179,34,180,35,178,36,178,35,179,35,177,35,178,34,177,34,180,34,177,34,177,34,176,34,178,33,176,33,180,32,175,33,176,33,175,33,177,33,176,32,177,32,175,32,180,32,175,31,181,31,177,31,178,31,175,31,176,30,178,31,176,30,180,31,179,30,179,30,176,30,179,30,180,29,179,30,179,29,180,29,180,29,180,29,180,29,179,29,180,28,179,28,180,28,174,27,180,27,179,27,179,27,178,26,179,26,177,26,178,26,177,26,179,26,176,26,178,25,176,25,175,25,175,26,173,26,172,25,174,25,173,25,174,25,173,24,174,24,173,23,174,23,172,23,173,22,172,22,172,22,170,22,172,21,168,20,169,20,169,20,161,19,158,15,160,15,160,14,162,14,156,13,162,12,163,13,162,12,165,12,165,12,166,12,165,11,166,11,172,12,167,11,169,11,174,1 1,176,11,175,12,176,11,181,12,179,11,181,11,179,10,180,10,188,11,189,11,188,11,188,11,188,11,191,11,186,10,195,10,187,10,196,10,196,10,199,10,196,9,202,9,214,9,201,10,215,9,216,10,214,10,220,10,204,11,216,11,213,12,213,12,221,11,220,12,217,13,224,12,223,12,228,11,234,12,229,13,221,13,228,13,221,14,222,14,226,14,225,14,219,14,218,20,223,20,223,21,219,20,220,20,219,20,222,21,219,21,224,22,219,22,219,22,219,22,220,23,220,22,222,22,221,23,219,23,217,23,219,23,214,22,216,23,212,23,213,23,212,23,212,24,215,24,212,24,216,24,213,24,215,24,215,25,216,25,216,26,210,25,212,25,210,26,215,26,211,26,212,26,209,27,213,27,210,28,212,28,215,27,219,28,213,30,208,30,206,30,205,30,206,31,204,31,202,33,198,33,198,34,197,33,198,33,197,33,197,33,197,33,197,34,195,34,194,34,195,34,194,35,193,35,194,36,192,36,194,36,194,37,192,36,193,37,192,37,192,37,191,37,192,38,190,38,191,38,190,38,192,39,190,39,191,39,190,40,191,40,189,40,191,40,190,41,190,41,189,41,190,42,189,41,188,42", + "zoneName": "WGT" + }, { + "timezone": "America/Goose_Bay", + "country": "CA", + "pin": "166,51", + "offset": -4, + "points": "171,53,161,53,161,52,162,52,162,52,161,52,160,53,158,53,158,51,156,52,157,51,156,50,157,49,156,49,157,49,157,48,159,49,161,49,162,48,161,48,161,47,162,47,161,47,162,45,160,44,162,43,160,43,161,43,161,42,160,42,160,41,162,43,161,43,163,43,162,44,163,44,162,44,164,45,163,45,165,46,163,46,164,46,164,47,166,48,166,48,166,49,167,48,167,48,168,48,167,49,168,48,168,49,170,49,167,50,169,50,166,51,170,50,171,50,170,51,171,53", + "zoneName": "AST" + }, { + "timezone": "America/Grand_Turk", + "country": "TC", + "pin": "151,95", + "offset": -5, + "points": "151,95,151,95,151,95", + "zoneName": "AST" + }, { + "timezone": "America/Grenada", + "country": "GD", + "pin": "164,108", + "offset": -4, + "points": "165,108,165,108,165,108", + "zoneName": "AST" + }, { + "timezone": "America/Guadeloupe", + "country": "GP", + "pin": "165,102", + "offset": -4, + "points": "165,102,165,102,165,102", + "zoneName": "AST" + }, { + "timezone": "America/Guatemala", + "country": "GT", + "pin": "124,105", + "offset": -6, + "points": "125,106,123,105,122,104,123,103,124,103,123,101,124,101,124,100,126,100,126,103,127,103,125,106", + "zoneName": "CST" + }, { + "timezone": "America/Guayaquil", + "country": "EC", + "pin": "139,128", + "offset": -5, + "points": "141,130,140,132,139,131,138,131,139,128,139,129,137,128,139,124,141,123,142,124,144,124,145,125,145,125,146,126,141,130", + "zoneName": "ECT" + }, { + "timezone": "America/Guyana", + "country": "GY", + "pin": "169,116", + "offset": -4, + "points": "170,116,171,118,170,118,169,119,172,122,170,122,168,123,167,122,167,121,167,120,166,119,167,118,165,117,165,116,166,115,166,115,167,114,167,113,169,115,169,116,169,115,170,116", + "zoneName": "GYT" + }, { + "timezone": "America/Halifax", + "country": "CA", + "pin": "162,63", + "offset": -4, + "points": "161,63,162,62,160,62,161,61,163,62,164,61,165,62,161,63,159,65,158,64,158,63,160,62,161,63", + "zoneName": "AST" + }, { + "timezone": "America/Havana", + "country": "CU", + "pin": "136,93", + "offset": -5, + "points": "146,96,147,97,142,97,143,96,141,96,141,95,136,94,136,94,137,94,136,93,132,95,134,93,138,93,146,96", + "zoneName": "CST" + }, { + "timezone": "America/Hermosillo", + "country": "MX", + "pin": "96,85", + "offset": -7, + "points": "90,81,91,80,96,81,99,81,99,86,98,86,99,88,98,88,96,87,97,86,94,85,93,82,90,81", + "zoneName": "MST" + }, { + "timezone": "America/Indiana/Petersburg", + "country": "US", + "pin": "129,72", + "offset": -5, + "points": "129,72,129,72,129,72", + "zoneName": "EST" + }, { + "timezone": "America/Indiana/Tell_City", + "country": "US", + "pin": "129,72", + "offset": -6, + "points": "130,72,130,72,130,72", + "zoneName": "CST" + }, { + "timezone": "America/Indiana/Vevay", + "country": "US", + "pin": "132,71", + "offset": -5, + "points": "132,71,132,71,132,71", + "zoneName": "EST" + }, { + "timezone": "America/Indiana/Indianapolis", + "country": "US", + "pin": "130,70", + "offset": -5, + "points": "132,71,130,72,130,71,128,71,128,68,130,68,130,67,132,67,132,70,132,71", + "zoneName": "EST" + }, { + "timezone": "America/Indiana/Knox", + "country": "US", + "pin": "130,68", + "offset": -6, + "points": "130,67,129,68,130,67", + "zoneName": "CST" + }, { + "timezone": "America/Indiana/Marengo", + "country": "US", + "pin": "130,72", + "offset": -5, + "points": "130,72,130,72,130,72,130,72", + "zoneName": "EST" + }, { + "timezone": "America/Indiana/Vincennes", + "country": "US", + "pin": "128,71", + "offset": -5, + "points": "128,72,128,71,130,71,130,72,128,72", + "zoneName": "EST" + }, { + "timezone": "America/Indiana/Winamac", + "country": "US", + "pin": "130,68", + "offset": -5, + "points": "130,68,129,68,130,68", + "zoneName": "EST" + }, { + "timezone": "America/Inuvik", + "country": "CA", + "pin": "64,30", + "offset": -7, + "points": "65,30,64,30,65,30", + "zoneName": "MST" + }, { + "timezone": "America/Iqaluit", + "country": "CA", + "pin": "155,36", + "offset": -5, + "points": "139,20,138,20,140,20,138,21,140,21,132,21,132,20,139,20", + "zoneName": "EST" + }, { + "timezone": "America/Iqaluit", + "country": "CA", + "pin": "155,36", + "offset": -5, + "points": "139,10,145,10,144,11,145,10,142,10,156,10,155,10,156,10,156,12,154,12,156,12,152,12,156,12,156,13,152,13,153,14,149,14,152,14,151,14,147,14,146,14,148,15,142,15,147,15,142,15,146,16,143,16,145,16,145,17,141,17,142,17,141,18,136,18,142,18,141,19,137,19,138,19,135,18,136,19,132,19,132,18,134,18,134,17,136,17,132,17,132,15,136,16,134,16,137,15,132,15,134,15,132,15,132,14,138,14,139,14,134,13,144,13,140,13,143,12,140,12,140,12,139,13,132,13,132,12,136,12,132,12,132,11,133,11,132,10,140,11,135,11,138,10,137,10,141,10,138,10,139,10", + "zoneName": "EST" + }, { + "timezone": "America/Iqaluit", + "country": "CA", + "pin": "155,36", + "offset": -5, + "points": "132,30,133,29,132,29,132,28,136,28,134,28,137,29,136,29,137,30,135,30,137,31,134,33,133,32,132,32,132,30", + "zoneName": "EST" + }, { + "timezone": "America/Iqaluit", + "country": "CA", + "pin": "155,36", + "offset": -5, + "points": "144,24,140,24,138,23,142,23,144,24", + "zoneName": "EST" + }, { + "timezone": "America/Iqaluit", + "country": "CA", + "pin": "155,36", + "offset": -5, + "points": "133,23,137,23,139,24,138,24,138,24,138,25,139,24,142,25,140,25,142,25,141,24,142,24,146,24,146,25,144,25,147,25,145,26,146,25,146,26,148,25,147,26,148,26,147,26,149,26,148,26,149,25,151,26,149,27,150,27,149,27,152,26,150,27,151,27,151,28,153,27,152,27,155,27,152,28,155,28,153,28,156,27,155,28,153,28,156,29,154,29,155,29,154,29,155,29,155,29,156,29,154,29,156,30,156,33,155,33,156,34,156,37,154,36,156,37,156,39,151,37,150,37,151,37,149,36,148,36,148,35,148,36,148,35,147,36,147,35,146,35,146,35,147,36,142,36,141,35,142,34,148,34,147,33,150,32,148,30,148,30,147,30,148,30,145,29,144,30,145,29,143,28,143,28,143,28,143,28,142,28,142,27,140,27,139,27,140,27,141,28,136,28,138,28,135,27,137,28,132,28,132,26,133,25,132,25,132,25,133,25,132,25,132,24,133,24,132,23,133,24,132,23,133,23", + "zoneName": "EST" + }, { + "timezone": "America/La_Paz", + "country": "BO", + "pin": "155,148", + "offset": -4, + "points": "164,154,163,156,161,156,161,157,160,156,158,155,157,157,156,157,155,153,155,152,153,149,154,148,154,147,155,142,153,140,155,140,157,139,159,138,160,142,166,144,166,148,169,148,169,149,170,150,170,153,168,152,164,152,164,154", + "zoneName": "BOT" + }, { + "timezone": "America/Jamaica", + "country": "JM", + "pin": "143,100", + "offset": -5, + "points": "144,100,143,100,141,100,143,99,144,100", + "zoneName": "EST" + }, { + "timezone": "America/Juneau", + "country": "US", + "pin": "63,44", + "offset": -9, + "points": "59,43,62,42,66,45,65,46,65,45,64,45,65,45,64,45,65,45,64,44,64,44,63,44,62,42,62,42,62,44,61,44,61,43,61,43,61,43,60,43,61,44,60,44,58,43,59,43", + "zoneName": "AKST" + }, { + "timezone": "America/Kentucky/Louisville", + "country": "US", + "pin": "131,72", + "offset": -5, + "points": "130,72,130,72,131,71,130,72", + "zoneName": "EST" + }, { + "timezone": "America/Kentucky/Monticello", + "country": "US", + "pin": "132,74", + "offset": -5, + "points": "132,74,133,74,132,74,132,74", + "zoneName": "EST" + }, { + "timezone": "America/Kralendijk", + "country": "BQ", + "pin": "155,108", + "offset": -4, + "points": "162,101,162,100,162,101", + "zoneName": "AST" + }, { + "timezone": "America/Lima", + "country": "PE", + "pin": "143,142", + "offset": -5, + "points": "153,149,153,150,152,150,151,149,146,146,144,145,144,144,139,135,137,133,138,133,137,131,138,130,139,130,138,131,140,132,141,130,145,127,146,126,145,125,146,125,149,128,150,128,153,129,152,130,153,131,152,131,149,132,148,134,147,135,149,137,148,138,150,138,150,139,152,138,152,140,153,140,155,142,154,147,154,148,153,149", + "zoneName": "PET" + }, { + "timezone": "America/Managua", + "country": "NI", + "pin": "130,108", + "offset": -6, + "points": "132,110,131,110,128,107,129,107,129,106,131,106,132,104,135,104,134,110,132,110", + "zoneName": "CST" + }, { + "timezone": "America/Manaus", + "country": "BR", + "pin": "167,129", + "offset": -4, + "points": "167,125,168,125,169,127,172,128,169,134,169,135,169,137,164,137,163,136,162,136,161,137,160,138,158,138,157,139,156,138,153,131,154,127,153,124,154,124,153,124,153,123,156,122,157,123,158,124,159,124,159,124,161,122,162,122,163,124,163,126,164,127,165,126,166,126,167,125", + "zoneName": "AMT" + }, { + "timezone": "America/Los_Angeles", + "country": "US", + "pin": "86,78", + "offset": -8, + "points": "91,62,88,62,88,61,88,62,87,63,86,64,86,66,87,66,87,67,92,67,92,75,91,75,91,77,91,79,91,79,87,80,85,78,82,77,82,76,80,73,80,72,79,72,78,71,77,69,78,67,77,66,78,61,78,61,78,61,78,60,78,60,78,60,78,60,77,58,80,58,79,59,80,58,80,59,79,60,80,59,80,57,89,57,89,59,91,60,91,62", + "zoneName": "PST" + }, { + "timezone": "America/Lower_Princes", + "country": "SX", + "pin": "162,100", + "offset": -4, + "points": "162,100,162,100,162,100", + "zoneName": "AST" + }, { + "timezone": "America/Maceio", + "country": "BR", + "pin": "200,138", + "offset": -3, + "points": "199,140,198,141,197,140,198,139,197,138,198,137,199,138,201,137,199,140", + "zoneName": "BRT" + }, { + "timezone": "America/Marigot", + "country": "MF", + "pin": "162,100", + "offset": -4, + "points": "162,100,162,100,162,100", + "zoneName": "AST" + }, { + "timezone": "America/Martinique", + "country": "MQ", + "pin": "165,105", + "offset": -4, + "points": "165,104,165,104,165,104", + "zoneName": "AST" + }, { + "timezone": "America/Matamoros", + "country": "MX", + "pin": "115,89", + "offset": -6, + "points": "113,89,112,89,109,84,108,84,107,85,107,85,107,84,109,84,112,87,112,88,115,89,115,90,113,89", + "zoneName": "CST" + }, { + "timezone": "America/Mazatlan", + "country": "MX", + "pin": "102,93", + "offset": -7, + "points": "104,93,106,95,105,96,104,96,104,95,103,94,100,90,98,89,98,88,100,88,101,90,104,93", + "zoneName": "MST" + }, { + "timezone": "America/Mazatlan", + "country": "MX", + "pin": "102,93", + "offset": -7, + "points": "91,86,93,86,98,93,97,93,94,91,94,89,93,88,92,88,90,86,92,87,91,86", + "zoneName": "MST" + }, { + "timezone": "America/Menominee", + "country": "US", + "pin": "128,62", + "offset": -6, + "points": "128,62,128,61,124,60,128,61,129,62,128,62", + "zoneName": "CST" + }, { + "timezone": "America/Mexico_City", + "country": "MX", + "pin": "112,98", + "offset": -6, + "points": "119,103,118,102,116,103,114,103,104,98,103,97,104,96,105,96,106,95,105,94,106,92,108,91,107,90,110,91,111,93,114,94,117,99,119,100,122,99,122,100,124,100,124,101,123,101,124,102,123,103,122,105,119,102,119,103", + "zoneName": "CST" + }, { + "timezone": "America/Merida", + "country": "MX", + "pin": "126,96", + "offset": -6, + "points": "124,96,125,95,128,95,128,96,126,98,126,100,122,100,122,99,123,99,124,96", + "zoneName": "CST" + }, { + "timezone": "America/Metlakatla", + "country": "US", + "pin": "67,48", + "offset": -8, + "points": "67,48,67,48,67,48", + "zoneName": "PST" + }, { + "timezone": "America/Miquelon", + "country": "PM", + "pin": "172,60", + "offset": -3, + "points": "172,60,172,60,172,60", + "zoneName": "PMST" + }, { + "timezone": "America/Moncton", + "country": "CA", + "pin": "160,61", + "offset": -4, + "points": "157,58,160,59,159,60,160,60,160,61,161,61,158,62,156,62,156,62,156,60,154,59,155,58,157,58", + "zoneName": "AST" + }, { + "timezone": "America/Monterrey", + "country": "MX", + "pin": "111,89", + "offset": -6, + "points": "107,90,108,91,106,92,105,94,104,94,101,90,103,88,105,88,106,88,106,86,106,85,108,84,109,84,112,89,115,89,115,90,115,90,114,90,114,94,111,93,110,91,107,90", + "zoneName": "CST" + }, { + "timezone": "America/Montevideo", + "country": "UY", + "pin": "172,173", + "offset": -2, + "points": "172,173,170,173,169,172,170,167,171,167,172,168,173,168,176,170,175,173,172,173", + "zoneName": "UYT" + }, { + "timezone": "America/Montreal", + "country": "", + "pin": "250,125", + "offset": -5, + "points": "146,63,147,62,144,62,141,61,139,59,140,53,140,54,140,53,141,52,140,51,140,50,139,49,142,48,144,47,143,44,141,44,143,42,142,41,143,41,142,41,142,40,141,41,142,40,142,39,142,38,146,39,148,38,150,39,150,39,151,39,150,40,151,40,153,40,153,42,151,42,153,42,153,43,154,43,152,44,154,43,155,44,154,45,156,44,155,44,156,44,156,45,158,43,158,44,158,43,159,43,159,43,160,43,159,42,160,41,160,42,161,42,161,43,160,43,162,43,160,44,162,45,161,47,162,47,161,47,161,48,162,48,161,49,159,49,157,48,157,49,156,49,157,49,156,50,157,51,156,52,158,51,158,53,160,53,161,52,162,52,162,52,161,52,161,53,171,53,171,53,168,54,167,55,164,55,158,55,158,55,156,57,155,57,152,60,149,61,157,57,160,57,161,58,159,58,155,58,153,60,152,62,151,63,146,63", + "zoneName": "EST" + }, { + "timezone": "America/Montserrat", + "country": "MS", + "pin": "164,102", + "offset": -4, + "points": "164,102,164,102,164,102", + "zoneName": "AST" + }, { + "timezone": "America/Nassau", + "country": "BS", + "pin": "143,90", + "offset": -5, + "points": "143,90,143,90,143,90", + "zoneName": "EST" + }, { + "timezone": "America/New_York", + "country": "US", + "pin": "147,68", + "offset": -5, + "points": "132,82,131,76,132,75,133,74,130,72,132,71,132,71,132,67,136,67,140,66,140,65,144,65,144,64,146,63,152,62,154,59,156,60,156,62,157,63,155,64,154,63,154,64,152,64,151,66,152,67,153,67,153,67,151,67,151,67,151,68,148,68,146,71,145,70,146,72,145,73,145,72,144,71,145,70,144,70,144,72,143,72,144,72,143,72,144,74,143,73,144,74,145,75,144,74,145,75,143,75,145,76,143,76,144,76,143,76,144,76,144,77,138,80,137,82,139,88,138,90,137,90,136,88,136,88,136,88,135,87,136,86,135,86,135,84,133,83,131,84,132,82", + "zoneName": "EST" + }, { + "timezone": "America/Nipigon", + "country": "CA", + "pin": "127,57", + "offset": -5, + "points": "127,57,127,57,127,57", + "zoneName": "EST" + }, { + "timezone": "America/Nome", + "country": "US", + "pin": "20,35", + "offset": -9, + "points": "25,32,23,32,22,31,18,30,19,29,23,29,25,27,25,32", + "zoneName": "AKST" + }, { + "timezone": "America/Nome", + "country": "US", + "pin": "20,35", + "offset": -9, + "points": "25,35,24,36,19,35,18,35,19,34,16,34,23,33,22,33,25,33,25,35", + "zoneName": "AKST" + }, { + "timezone": "America/Nome", + "country": "US", + "pin": "20,35", + "offset": -9, + "points": "25,42,22,42,20,41,21,40,19,39,22,37,23,37,25,37,25,42", + "zoneName": "AKST" + }, { + "timezone": "America/Noronha", + "country": "BR", + "pin": "205,130", + "offset": -2, + "points": "205,130,205,130,205,130", + "zoneName": "FNT" + }, { + "timezone": "America/North_Dakota/Beulah", + "country": "US", + "pin": "109,59", + "offset": -6, + "points": "109,59,108,60,108,59,109,59", + "zoneName": "CST" + }, { + "timezone": "America/North_Dakota/Center", + "country": "US", + "pin": "109,60", + "offset": -6, + "points": "110,60,109,60,110,60", + "zoneName": "CST" + }, { + "timezone": "America/North_Dakota/New_Salem", + "country": "US", + "pin": "109,60", + "offset": -6, + "points": "110,60,110,60,110,61,108,60,110,60", + "zoneName": "CST" + }, { + "timezone": "America/Ojinaga", + "country": "MX", + "pin": "105,84", + "offset": -7, + "points": "102,81,106,85,105,84,104,83,102,81,99,82,100,81,100,81,102,81", + "zoneName": "MST" + }, { + "timezone": "America/Panama", + "country": "PA", + "pin": "140,113", + "offset": -5, + "points": "142,113,143,114,142,115,141,114,141,113,142,114,140,112,138,114,139,115,138,115,138,115,137,114,137,114,136,113,135,114,135,113,135,112,137,113,140,112,142,113", + "zoneName": "EST" + }, { + "timezone": "America/Pangnirtung", + "country": "CA", + "pin": "159,33", + "offset": -5, + "points": "156,10,160,10,165,11,156,12,156,10", + "zoneName": "EST" + }, { + "timezone": "America/Pangnirtung", + "country": "CA", + "pin": "159,33", + "offset": -5, + "points": "156,34,157,34,157,35,157,35,160,35,159,36,160,36,160,36,160,37,159,36,160,38,159,37,159,38,158,37,158,37,156,37,156,34", + "zoneName": "EST" + }, { + "timezone": "America/Pangnirtung", + "country": "CA", + "pin": "159,33", + "offset": -5, + "points": "156,30,157,30,156,30,158,30,157,31,158,31,158,31,158,31,160,31,159,31,160,31,161,31,160,31,161,32,160,32,162,31,161,32,163,32,163,32,164,32,165,32,163,33,164,33,162,33,163,33,163,33,163,34,162,33,162,35,159,34,161,33,159,33,159,33,158,33,156,32,157,33,156,33,157,33,156,33,156,30", + "zoneName": "EST" + }, { + "timezone": "America/Paramaribo", + "country": "SR", + "pin": "173,117", + "offset": -3, + "points": "175,118,175,120,174,122,172,121,172,122,171,122,169,119,170,118,171,118,171,117,175,117,175,118", + "zoneName": "SRT" + }, { + "timezone": "America/Phoenix", + "country": "US", + "pin": "94,79", + "offset": -7, + "points": "99,80,99,81,96,81,91,80,91,77,91,75,91,75,92,74,95,74,95,74,96,76,99,76,99,80", + "zoneName": "MST" + }, { + "timezone": "America/Port-au-Prince", + "country": "HT", + "pin": "150,99", + "offset": -5, + "points": "148,99,149,99,148,99", + "zoneName": "EST" + }, { + "timezone": "America/Port_of_Spain", + "country": "TT", + "pin": "165,110", + "offset": -4, + "points": "164,110,164,110,164,110", + "zoneName": "AST" + }, { + "timezone": "America/Porto_Velho", + "country": "BR", + "pin": "161,137", + "offset": -4, + "points": "167,142,166,144,164,144,160,142,159,138,157,139,158,138,160,138,161,137,162,136,163,136,165,137,165,140,167,140,167,142", + "zoneName": "AMT" + }, { + "timezone": "America/Puerto_Rico", + "country": "PR", + "pin": "158,99", + "offset": -4, + "points": "158,99,158,99,158,99", + "zoneName": "AST" + }, { + "timezone": "America/Rainy_River", + "country": "CA", + "pin": "119,57", + "offset": -6, + "points": "119,57,119,57,119,57", + "zoneName": "CST" + }, { + "timezone": "America/Rankin_Inlet", + "country": "CA", + "pin": "122,38", + "offset": -6, + "points": "132,12,125,12,125,12,129,12,122,12,132,11,132,12", + "zoneName": "CST" + }, { + "timezone": "America/Rankin_Inlet", + "country": "CA", + "pin": "122,38", + "offset": -6, + "points": "113,19,114,19,114,20,115,20,111,21,110,20,111,20,108,20,108,20,109,20,108,19,111,20,111,19,112,19,110,19,113,19", + "zoneName": "CST" + }, { + "timezone": "America/Rankin_Inlet", + "country": "CA", + "pin": "122,38", + "offset": -6, + "points": "125,16,126,16,122,16,121,16,123,16,119,15,124,15,118,15,117,15,119,14,116,14,119,14,118,14,119,14,116,13,120,13,117,13,121,12,119,12,120,12,127,14,128,13,128,14,129,14,129,15,132,15,128,16,128,15,127,16,128,16,127,16,127,16,125,16", + "zoneName": "CST" + }, { + "timezone": "America/Rankin_Inlet", + "country": "CA", + "pin": "122,38", + "offset": -6, + "points": "132,21,122,21,122,21,122,20,121,19,118,19,118,19,115,18,117,18,121,18,120,19,124,19,124,19,123,19,126,19,123,19,126,20,132,20,132,21", + "zoneName": "CST" + }, { + "timezone": "America/Rankin_Inlet", + "country": "CA", + "pin": "122,38", + "offset": -6, + "points": "132,19,125,19,130,18,127,17,129,17,132,18,132,19", + "zoneName": "CST" + }, { + "timezone": "America/Rankin_Inlet", + "country": "CA", + "pin": "122,38", + "offset": -6, + "points": "132,28,127,27,126,26,129,26,125,26,125,25,126,25,125,24,128,23,132,23,130,24,130,24,130,25,132,26,129,26,132,26,132,28", + "zoneName": "CST" + }, { + "timezone": "America/Rankin_Inlet", + "country": "CA", + "pin": "122,38", + "offset": -6, + "points": "125,36,124,37,119,36,123,37,124,37,122,38,122,38,120,39,120,39,119,40,120,40,118,42,108,42,108,32,126,32,126,29,128,30,128,30,127,31,129,32,130,31,131,30,132,30,132,33,130,33,131,33,129,34,123,33,129,35,128,36,125,36", + "zoneName": "CST" + }, { + "timezone": "America/Rankin_Inlet", + "country": "CA", + "pin": "122,38", + "offset": -6, + "points": "118,22,120,22,125,22,122,24,119,24,120,24,120,25,117,24,117,23,119,23,118,22", + "zoneName": "CST" + }, { + "timezone": "America/Recife", + "country": "BR", + "pin": "202,136", + "offset": -3, + "points": "196,136,197,136,198,135,199,137,201,135,202,136,201,137,199,138,198,137,197,138,195,137,194,138,193,137,194,136,194,135,196,136", + "zoneName": "BRT" + }, { + "timezone": "America/Regina", + "country": "CA", + "pin": "105,55", + "offset": -6, + "points": "104,57,97,57,97,52,99,51,97,51,97,42,108,42,108,48,108,49,109,50,109,57,104,57", + "zoneName": "CST" + }, { + "timezone": "America/Resolute", + "country": "CA", + "pin": "118,21", + "offset": -6, + "points": "118,20,120,20,120,21,116,21,118,20", + "zoneName": "CST" + }, { + "timezone": "America/Rio_Branco", + "country": "BR", + "pin": "156,139", + "offset": -4, + "points": "148,135,152,136,157,139,155,140,152,140,152,138,150,139,150,138,148,138,149,137,147,135,148,135", + "zoneName": "ACT" + }, { + "timezone": "America/Santa_Isabel", + "country": "MX", + "pin": "90,83", + "offset": -8, + "points": "91,80,91,83,93,86,91,86,92,85,89,84,88,81,88,80,91,80", + "zoneName": "PST" + }, { + "timezone": "America/Santarem", + "country": "BR", + "pin": "174,128", + "offset": -3, + "points": "176,125,177,126,178,127,177,127,178,129,177,130,177,132,178,134,177,136,178,138,177,138,171,138,170,137,169,134,172,128,168,126,168,123,170,122,172,122,172,121,174,121,174,123,176,123,176,125", + "zoneName": "BRT" + }, { + "timezone": "America/Santiago", + "country": "CL", + "pin": "152,171", + "offset": -3, + "points": "152,199,154,198,155,198,155,201,150,201,153,201,152,200,154,201,154,201,154,201,153,200,154,199,152,199,152,199", + "zoneName": "CLT" + }, { + "timezone": "America/Santiago", + "country": "CL", + "pin": "152,171", + "offset": -3, + "points": "148,193,148,195,148,196,150,195,149,197,150,197,155,198,152,198,151,200,149,199,150,199,151,198,151,198,149,198,149,199,148,199,149,198,148,198,148,197,149,198,149,197,149,198,149,198,149,198,149,197,148,196,148,197,149,197,148,197,149,197,148,197,148,197,148,197,147,197,148,196,147,196,148,195,148,195,147,196,147,195,146,195,147,195,147,194,148,194,147,193,147,194,147,193,147,193,147,193,147,192,146,192,148,192,148,191,146,191,147,191,147,191,147,191,147,190,145,190,146,189,147,189,147,190,148,188,148,189,148,188,149,188,148,188,149,187,148,186,149,184,149,184,149,184,149,183,149,183,150,183,148,183,147,182,148,180,148,177,148,177,151,172,151,165,152,162,152,157,153,155,152,150,154,149,155,152,155,153,156,157,157,157,156,158,155,159,155,162,153,164,153,167,152,168,153,173,152,174,152,175,151,176,152,179,150,180,150,183,150,184,151,186,150,187,151,187,150,187,151,188,150,188,150,190,149,191,149,193,148,193", + "zoneName": "CLT" + }, { + "timezone": "America/Santo_Domingo", + "country": "DO", + "pin": "153,99", + "offset": -4, + "points": "151,100,150,100,150,99,150,97,153,98,154,98,153,98,155,99,155,100,151,100", + "zoneName": "AST" + }, { + "timezone": "America/Scoresbysund", + "country": "GL", + "pin": "219,27", + "offset": -1, + "points": "216,25,219,25,218,26,220,25,219,26,220,26,220,26,219,26,220,26,219,26,220,27,217,27,216,26,216,25", + "zoneName": "EGT" + }, { + "timezone": "America/Sao_Paulo", + "country": "BR", + "pin": "185,158", + "offset": -2, + "points": "181,166,179,168,178,170,180,167,179,167,179,168,176,172,176,171,176,170,175,170,173,168,172,168,171,167,170,167,173,164,175,162,175,161,174,161,175,159,176,157,178,155,179,152,177,151,176,149,179,146,180,142,181,143,182,142,182,143,184,143,186,143,186,146,189,145,195,147,194,149,195,150,195,152,193,155,193,156,192,157,188,157,183,160,182,160,183,161,182,161,183,161,182,164,181,166", + "zoneName": "BRST" + }, { + "timezone": "America/Sitka", + "country": "US", + "pin": "62,46", + "offset": -9, + "points": "66,45,67,46,65,46,66,45,66,45", + "zoneName": "AKST" + }, { + "timezone": "America/St_Barthelemy", + "country": "BL", + "pin": "163,100", + "offset": -4, + "points": "163,100,163,100,163,100", + "zoneName": "AST" + }, { + "timezone": "America/St_Johns", + "country": "CA", + "pin": "177,59", + "offset": -3.5, + "points": "173,53,172,54,173,54,172,54,171,56,172,55,173,56,172,56,173,56,173,57,174,56,176,57,175,58,176,57,175,58,175,59,177,58,176,59,177,59,176,60,176,60,176,59,175,60,175,59,175,58,173,60,174,59,172,59,173,59,173,58,171,59,168,59,169,58,168,58,169,57,170,57,169,57,170,56,169,56,170,55,173,53", + "zoneName": "NST" + }, { + "timezone": "America/Thule", + "country": "GL", + "pin": "154,19", + "offset": -4, + "points": "161,19,155,19,153,19,156,18,151,18,158,17,153,17,153,17,149,16,158,15,161,19", + "zoneName": "AST" + }, { + "timezone": "America/St_Kitts", + "country": "KN", + "pin": "163,101", + "offset": -4, + "points": "163,101,163,101,163,101", + "zoneName": "AST" + }, { + "timezone": "America/St_Lucia", + "country": "LC", + "pin": "165,106", + "offset": -4, + "points": "165,105,165,106,165,105", + "zoneName": "AST" + }, { + "timezone": "America/St_Thomas", + "country": "VI", + "pin": "160,100", + "offset": -4, + "points": "160,99,160,99,160,99", + "zoneName": "AST" + }, { + "timezone": "America/St_Vincent", + "country": "VC", + "pin": "165,107", + "offset": -4, + "points": "165,106,165,107,165,106", + "zoneName": "AST" + }, { + "timezone": "America/Swift_Current", + "country": "CA", + "pin": "100,55", + "offset": -6, + "points": "100,55,100,55,100,55", + "zoneName": "CST" + }, { + "timezone": "America/Tegucigalpa", + "country": "HN", + "pin": "129,105", + "offset": -6, + "points": "129,106,129,107,128,106,126,105,126,104,128,103,131,103,133,103,135,104,132,104,131,106,129,106", + "zoneName": "CST" + }, { + "timezone": "America/Thunder_Bay", + "country": "CA", + "pin": "126,58", + "offset": -5, + "points": "126,58,126,58,126,58", + "zoneName": "EST" + }, { + "timezone": "America/Tijuana", + "country": "MX", + "pin": "87,80", + "offset": -8, + "points": "87,80,87,80,87,80", + "zoneName": "PST" + }, { + "timezone": "America/Toronto", + "country": "CA", + "pin": "140,64", + "offset": -5, + "points": "146,62,147,62,143,64,142,63,143,64,143,64,140,64,139,65,140,65,135,67,137,65,137,63,137,62,138,63,139,63,138,61,137,61,136,62,133,61,133,60,132,58,131,58,130,57,127,57,128,58,126,58,126,58,124,58,124,57,125,56,125,55,124,53,125,53,125,52,126,52,127,51,126,50,125,50,125,47,127,46,128,47,132,48,136,48,136,51,138,54,140,54,140,60,141,61,144,62,146,62", + "zoneName": "EST" + }, { + "timezone": "America/Tortola", + "country": "VG", + "pin": "160,99", + "offset": -4, + "points": "160,99,160,99,160,99", + "zoneName": "AST" + }, { + "timezone": "America/Vancouver", + "country": "CA", + "pin": "79,57", + "offset": -8, + "points": "72,54,76,55,79,58,76,57,77,57,76,57,75,56,74,56,75,56,72,55,73,55,72,54", + "zoneName": "PST" + }, { + "timezone": "America/Vancouver", + "country": "CA", + "pin": "79,57", + "offset": -8, + "points": "63,43,62,42,59,43,57,42,83,42,83,45,78,46,79,48,86,52,86,52,85,53,88,55,88,57,79,57,81,56,81,57,80,56,81,57,80,57,80,56,79,57,79,56,79,56,79,55,79,56,78,56,78,56,78,56,78,55,77,56,77,55,77,55,76,55,77,54,76,54,76,55,75,55,76,54,75,55,74,54,75,54,73,54,74,54,73,54,74,53,73,53,72,53,73,52,74,53,74,52,75,52,73,52,73,52,73,52,72,53,72,52,72,52,72,52,71,51,73,51,71,51,71,50,70,51,69,50,70,50,69,49,69,50,69,49,70,48,69,49,70,48,70,48,69,49,69,47,67,46,65,44,63,43", + "zoneName": "PST" + }, { + "timezone": "America/Whitehorse", + "country": "CA", + "pin": "62,41", + "offset": -8, + "points": "57,29,60,29,61,32,64,32,64,33,66,33,66,35,69,36,70,37,69,37,70,37,70,39,73,40,74,41,77,40,78,42,54,41,54,28,57,29", + "zoneName": "PST" + }, { + "timezone": "America/Winnipeg", + "country": "CA", + "pin": "115,56", + "offset": -6, + "points": "122,58,119,57,118,56,118,57,109,57,109,50,108,49,108,48,108,42,118,42,118,43,121,43,122,45,121,46,124,45,126,46,125,47,125,50,126,50,127,51,126,52,125,52,125,53,124,53,125,55,125,56,123,57,122,58", + "zoneName": "CST" + }, { + "timezone": "America/Yakutat", + "country": "US", + "pin": "56,42", + "offset": -9, + "points": "56,42,56,42,56,42", + "zoneName": "AKST" + }, { + "timezone": "America/Yellowknife", + "country": "CA", + "pin": "91,38", + "offset": -7, + "points": "83,31,92,34,95,34,97,35,108,36,108,42,78,42,77,40,74,41,73,40,70,39,70,37,69,37,70,37,69,36,66,35,66,33,64,33,64,32,61,32,60,29,62,30,61,29,63,28,64,28,64,29,70,28,67,28,67,29,68,28,68,29,69,28,73,27,72,27,76,29,77,28,78,28,77,29,79,28,82,28,81,28,81,30,83,31", + "zoneName": "MST" + }, { + "timezone": "America/Yellowknife", + "country": "CA", + "pin": "91,38", + "offset": -7, + "points": "88,17,90,18,88,18,89,18,87,19,86,19,86,18,83,20,79,19,84,18,88,17", + "zoneName": "MST" + }, { + "timezone": "America/Yellowknife", + "country": "CA", + "pin": "91,38", + "offset": -7, + "points": "84,22,87,22,90,23,85,24,83,25,83,26,79,26,75,25,78,23,77,22,81,21,84,22", + "zoneName": "MST" + }, { + "timezone": "America/Yellowknife", + "country": "CA", + "pin": "91,38", + "offset": -7, + "points": "91,19,97,20,97,21,93,22,91,21,96,20,87,20,90,20,87,20,91,20,88,20,91,19", + "zoneName": "MST" + }, { + "timezone": "America/Yellowknife", + "country": "CA", + "pin": "91,38", + "offset": -7, + "points": "90,23,92,23,91,24,93,24,96,24,95,25,97,24,97,28,87,28,87,28,87,28,95,27,87,27,86,26,90,26,86,26,87,25,85,25,86,25,86,24,90,23", + "zoneName": "MST" + }, { + "timezone": "Antarctica/Macquarie", + "country": "AU", + "pin": "471,201", + "offset": 11, + "points": "471,201,471,201,471,201", + "zoneName": "MIST" + }, { + "timezone": "Arctic/Longyearbyen", + "country": "SJ", + "pin": "272,17", + "offset": 1, + "points": "275,14,275,14,275,15,275,14,280,16,276,16,276,17,274,18,274,19,273,19,272,18,273,18,269,17,273,17,270,17,274,17,269,17,269,17,274,16,273,16,273,16,271,16,271,15,270,16,271,16,268,16,267,16,268,16,266,15,267,15,266,15,267,15,266,15,265,15,269,14,267,14,269,15,269,15,270,14,273,15,272,14,275,14", + "zoneName": "CET" + }, { + "timezone": "Arctic/Longyearbyen", + "country": "SJ", + "pin": "272,17", + "offset": 1, + "points": "285,14,288,14,283,15,275,14,277,14,276,13,278,14,277,13,281,14,282,13,282,13,282,14,285,14", + "zoneName": "CET" + }, { + "timezone": "Asia/Aden", + "country": "YE", + "pin": "313,107", + "offset": 3, + "points": "313,107,310,107,309,104,310,101,314,102,314,103,318,100,322,99,324,102,323,102,322,103,313,107", + "zoneName": "AST" + }, { + "timezone": "Asia/Almaty", + "country": "KZ", + "pin": "357,65", + "offset": 6, + "points": "348,66,345,68,343,68,342,66,344,65,345,64,344,63,343,61,337,60,339,58,339,58,340,57,342,57,345,55,344,54,344,52,342,52,342,51,342,51,342,51,342,49,346,48,348,48,349,50,352,50,352,51,357,49,356,50,358,51,361,55,362,54,363,55,366,54,368,56,371,56,371,57,369,58,369,60,365,59,364,62,365,62,363,62,361,63,362,63,362,65,361,66,359,65,355,66,353,65,352,65,352,66,350,66,348,66", + "zoneName": "ALMT" + }, { + "timezone": "Asia/Amman", + "country": "JO", + "pin": "300,81", + "offset": 2, + "points": "302,82,303,83,302,83,300,84,299,84,299,80,301,80,304,79,305,80,301,81,302,82", + "zoneName": "EET" + }, { + "timezone": "Asia/Anadyr", + "country": "RU", + "pin": "497,35", + "offset": 12, + "points": "10,32,14,33,13,34,12,34,12,34,10,34,11,34,11,35,9,35,11,36,10,36,6,35,6,34,2,34,2,33,2,33,0,33,1,34,0,35,0,29,7,31,8,33,9,33,7,32,10,32", + "zoneName": "ANAT" + }, { + "timezone": "Asia/Anadyr", + "country": "RU", + "pin": "497,35", + "offset": 12, + "points": "497,35,493,35,498,36,499,38,499,39,496,38,492,39,491,38,487,39,484,37,486,37,484,36,473,35,471,34,471,33,470,33,471,32,469,31,470,30,476,30,476,29,475,28,476,28,483,28,486,30,488,29,486,28,487,28,495,28,500,29,500,35,498,35,497,35", + "zoneName": "ANAT" + }, { + "timezone": "Asia/Aqtau", + "country": "KZ", + "pin": "320,63", + "offset": 5, + "points": "328,63,328,68,325,66,323,67,323,66,321,65,320,63,322,63,321,63,321,62,324,62,323,60,321,60,319,61,317,60,318,60,318,59,315,58,319,58,325,57,325,57,326,57,327,60,329,61,329,62,328,63", + "zoneName": "AQTT" + }, { + "timezone": "Asia/Aqtobe", + "country": "KZ", + "pin": "329,55", + "offset": 5, + "points": "326,55,326,54,327,55,328,54,331,54,333,55,335,54,336,54,337,56,337,57,339,58,337,60,335,59,331,62,329,62,328,60,326,59,326,57,324,57,326,56,326,55", + "zoneName": "AQTT" + }, { + "timezone": "Asia/Ashgabat", + "country": "TM", + "pin": "331,72", + "offset": 5, + "points": "340,74,340,75,337,76,335,75,335,74,334,74,332,73,329,72,325,73,325,71,324,71,324,70,325,70,323,69,324,68,323,67,325,66,327,68,329,68,329,67,331,66,331,66,331,66,331,66,333,66,334,68,336,68,337,70,343,72,342,73,341,73,340,74", +
<TRUNCATED>