
// PACKAGE: http://phpjs.org/packages/view/1513/name:2c0be7b8a8a3180c90940aa0aed56bb1
(function() {
    if(typeof(this.PHP_JS) === "undefined"){ 
        // This references at top of namespace allows PHP_JS class to
        // be included directly inside an object (unusual use)
        var PHP_JS = function(cfgObj) {
            if(!(this instanceof PHP_JS)) {
                // Allow invokation without "new"
                return new PHP_JS(cfgObj);
            }
            // Allow user to pass in window, e.g., if in context
            // without access to window but need to pass in, like
            this.window = cfgObj && cfgObj.window ? cfgObj.window : window;

            // Allow user to pass in object representing initial ini values
            this.php_js = {};
            this.php_js.ini = {};
            if (cfgObj) {
                for (var ini in cfgObj.ini) {
                    this.php_js.ini[ini] = {};
                    this.php_js.ini[ini].local_value = cfgObj.ini[ini]; // changeable by ini_set()
                    this.php_js.ini[ini].global_value = cfgObj.ini[ini]; // usable by ini_restore()
                }
            }
        };
    }
    // Private static holder across all instances; we usually use
    // instance variables, but this is necessary for a very few
    // like require_once()/include_once()
    var php_js_shared = {};

    PHP_JS.prototype = {
        constructor: PHP_JS,
        checkdate: function (month, day, year) {
            // Returns true(1) if it is a valid date in gregorian calendar  
            // 
            // version: 908.406
            // discuss at: http://phpjs.org/functions/checkdate
            // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
            // +   improved by: Pyerre
            // *     example 1: $P.checkdate(12, 31, 2000);
            // *     returns 1: true
            // *     example 2: $P.checkdate(2, 29, 2001);
            // *     returns 2: false
            // *     example 3: $P.checkdate(03, 31, 2008);
            // *     returns 3: true
            // *     example 4: $P.checkdate(1, 390, 2000);
            // *     returns 4: false
            var myDate = new Date();
            myDate.setFullYear( year, (month - 1), day );
        
            return month >= 1 && month <= 12 && year >= 1 && year <= 32767 && ((myDate.getMonth()+1) == month && day<32);
        }
        ,
        date: function ( format, timestamp ) {
            // Format a local date/time  
            // 
            // version: 908.1617
            // discuss at: http://phpjs.org/functions/date
            // +   original by: Carlos R. L. Rodrigues (http://www.jsfromhell.com)
            // +      parts by: Peter-Paul Koch (http://www.quirksmode.org/js/beat.html)
            // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
            // +   improved by: MeEtc (http://yass.meetcweb.com)
            // +   improved by: Brad Touesnard
            // +   improved by: Tim Wiel
            // +   improved by: Bryan Elliott
            // +   improved by: Brett Zamir (http://brett-zamir.me)
            // +   improved by: David Randall
            // +      input by: Brett Zamir (http://brett-zamir.me)
            // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
            // +   improved by: Brett Zamir (http://brett-zamir.me)
            // +   improved by: Brett Zamir (http://brett-zamir.me)
            // +  derived from: gettimeofday
            // +      input by: majak
            // +   bugfixed by: majak
            // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
            // %        note 1: Uses global: php_js to store the default timezone
            // *     example 1: $P.date('H:m:s \\m \\i\\s \\m\\o\\n\\t\\h', 1062402400);
            // *     returns 1: '09:09:40 m is month'
            // *     example 2: $P.date('F j, Y, g:i a', 1062462400);
            // *     returns 2: 'September 2, 2003, 2:26 am'
            // *     example 3: $P.date('Y W o', 1062462400);
            // *     returns 3: '2003 36 2003'
            // *     example 4: x = date('Y m d', (new Date()).getTime()/1000); // 2009 01 09
            // *     example 4: (x+'').length == 10
            // *     returns 4: true
            // *     example 5: $P.date('W', 1104534000);
            // *     returns 5: '53'
            
            var that = this;
            var jsdate=(
                (typeof(timestamp) == 'undefined') ? new Date() : // Not provided
                (typeof(timestamp) == 'number') ? new Date(timestamp*1000) : // UNIX timestamp
                new Date(timestamp) // Javascript Date()
            ); // , tal=[]
            var pad = function (n, c){
                if ( (n = n + "").length < c ) {
                    return new Array(++c - n.length).join("0") + n;
                } else {
                    return n;
                }
            };
            var _dst = function (t) {
                // Calculate Daylight Saving Time (derived from gettimeofday() code)
                var dst=0;
                var jan1 = new Date(t.getFullYear(), 0, 1, 0, 0, 0, 0);  // jan 1st
                var june1 = new Date(t.getFullYear(), 6, 1, 0, 0, 0, 0); // june 1st
                var temp = jan1.toUTCString();
                var jan2 = new Date(temp.slice(0, temp.lastIndexOf(' ')-1));
                temp = june1.toUTCString();
                var june2 = new Date(temp.slice(0, temp.lastIndexOf(' ')-1));
                var std_time_offset = (jan1 - jan2) / (1000 * 60 * 60);
                var daylight_time_offset = (june1 - june2) / (1000 * 60 * 60);
        
                if (std_time_offset === daylight_time_offset) {
                    dst = 0; // daylight savings time is NOT observed
                } else {
                    // positive is southern, negative is northern hemisphere
                    var hemisphere = std_time_offset - daylight_time_offset;
                    if (hemisphere >= 0) {
                        std_time_offset = daylight_time_offset;
                    }
                    dst = 1; // daylight savings time is observed
                }
                return dst;
            };
            var ret = '';
            var txt_weekdays = ["Sunday", "Monday", "Tuesday", "Wednesday",
                "Thursday", "Friday", "Saturday"];
            var txt_ordin = {1: "st", 2: "nd", 3: "rd", 21: "st", 22: "nd", 23: "rd", 31: "st"};
            var txt_months =  ["", "January", "February", "March", "April",
                "May", "June", "July", "August", "September", "October", "November",
                "December"];
        
            var f = {
                // Day
                    d: function (){
                        return pad(f.j(), 2);
                    },
                    D: function (){
                        var t = f.l();
                        return t.substr(0,3);
                    },
                    j: function (){
                        return jsdate.getDate();
                    },
                    l: function (){
                        return txt_weekdays[f.w()];
                    },
                    N: function (){
                        //return f.w() + 1;
                        return f.w() ? f.w() : 7;
                    },
                    S: function (){
                        return txt_ordin[f.j()] ? txt_ordin[f.j()] : 'th';
                    },
                    w: function (){
                        return jsdate.getDay();
                    },
                    z: function (){
                        return (jsdate - new Date(jsdate.getFullYear() + "/1/1")) / 864e5 >> 0;
                    },
        
                // Week
                    W: function (){
        
                        var a = f.z(), b = 364 + f.L() - a;
                        var nd2, nd = (new Date(jsdate.getFullYear() + "/1/1").getDay() || 7) - 1;
        
                        if (b <= 2 && ((jsdate.getDay() || 7) - 1) <= 2 - b){
                            return 1;
                        } 
                        if (a <= 2 && nd >= 4 && a >= (6 - nd)){
                            nd2 = new Date(jsdate.getFullYear() - 1 + "/12/31");
                            return that.date("W", Math.round(nd2.getTime()/1000));
                        }
                        
                        var w = (1 + (nd <= 3 ? ((a + nd) / 7) : (a - (7 - nd)) / 7) >> 0);
        
                        return (w ? w : 53);
                    },
        
                // Month
                    F: function (){
                        return txt_months[f.n()];
                    },
                    m: function (){
                        return pad(f.n(), 2);
                    },
                    M: function (){
                        var t = f.F();
                        return t.substr(0,3);
                    },
                    n: function (){
                        return jsdate.getMonth() + 1;
                    },
                    t: function (){
                        var n;
                        if ( (n = jsdate.getMonth() + 1) == 2 ){
                            return 28 + f.L();
                        }
                        if ( n & 1 && n < 8 || !(n & 1) && n > 7 ){
                            return 31;
                        }
                        return 30;
                    },
        
                // Year
                    L: function (){
                        var y = f.Y();
                        return (!(y & 3) && (y % 1e2 || !(y % 4e2))) ? 1 : 0;
                    },
                    o: function (){
                        if (f.n() === 12 && f.W() === 1) {
                            return jsdate.getFullYear()+1;
                        }
                        if (f.n() === 1 && f.W() >= 52) {
                            return jsdate.getFullYear()-1;
                        }
                        return jsdate.getFullYear();
                    },
                    Y: function (){
                        return jsdate.getFullYear();
                    },
                    y: function (){
                        return (jsdate.getFullYear() + "").slice(2);
                    },
        
                // Time
                    a: function (){
                        return jsdate.getHours() > 11 ? "pm" : "am";
                    },
                    A: function (){
                        return f.a().toUpperCase();
                    },
                    B: function (){
                        // peter paul koch:
                        var off = (jsdate.getTimezoneOffset() + 60)*60;
                        var theSeconds = (jsdate.getHours() * 3600) +
                                         (jsdate.getMinutes() * 60) +
                                          jsdate.getSeconds() + off;
                        var beat = Math.floor(theSeconds/86.4);
                        if (beat > 1000) {
                            beat -= 1000;
                        }
                        if (beat < 0) {
                            beat += 1000;
                        }
                        if ((String(beat)).length == 1) {
                            beat = "00"+beat;
                        }
                        if ((String(beat)).length == 2) {
                            beat = "0"+beat;
                        }
                        return beat;
                    },
                    g: function (){
                        return jsdate.getHours() % 12 || 12;
                    },
                    G: function (){
                        return jsdate.getHours();
                    },
                    h: function (){
                        return pad(f.g(), 2);
                    },
                    H: function (){
                        return pad(jsdate.getHours(), 2);
                    },
                    i: function (){
                        return pad(jsdate.getMinutes(), 2);
                    },
                    s: function (){
                        return pad(jsdate.getSeconds(), 2);
                    },
                    u: function (){
                        return pad(jsdate.getMilliseconds()*1000, 6);
                    },
        
                // Timezone
                    e: function () {
        /*                var abbr='', i=0;
                        if (this.php_js && this.php_js.default_timezone) {
                            return this.php_js.default_timezone;
                        }
                        if (!tal.length) {
                            tal = this.timezone_abbreviations_list();
                        }
                        for (abbr in tal) {
                            for (i=0; i < tal[abbr].length; i++) {
                                if (tal[abbr][i].offset === -jsdate.getTimezoneOffset()*60) {
                                    return tal[abbr][i].timezone_id;
                                }
                            }
                        }
        */
                        return 'UTC';
                    },
                    I: function (){
                        return _dst(jsdate);
                    },
                    O: function (){
                       var t = pad(Math.abs(jsdate.getTimezoneOffset()/60*100), 4);
                       t = (jsdate.getTimezoneOffset() > 0) ? "-"+t : "+"+t;
                       return t;
                    },
                    P: function (){
                        var O = f.O();
                        return (O.substr(0, 3) + ":" + O.substr(3, 2));
                    },
                    T: function () {
        /*                var abbr='', i=0;
                        if (!tal.length) {
                            tal = that.timezone_abbreviations_list();
                        }
                        if (this.php_js && this.php_js.default_timezone) {
                            for (abbr in tal) {
                                for (i=0; i < tal[abbr].length; i++) {
                                    if (tal[abbr][i].timezone_id === this.php_js.default_timezone) {
                                        return abbr.toUpperCase();
                                    }
                                }
                            }
                        }
                        for (abbr in tal) {
                            for (i=0; i < tal[abbr].length; i++) {
                                if (tal[abbr][i].offset === -jsdate.getTimezoneOffset()*60) {
                                    return abbr.toUpperCase();
                                }
                            }
                        }
        */
                        return 'UTC';
                    },
                    Z: function (){
                       return -jsdate.getTimezoneOffset()*60;
                    },
        
                // Full Date/Time
                    c: function (){
                        return f.Y() + "-" + f.m() + "-" + f.d() + "T" + f.h() + ":" + f.i() + ":" + f.s() + f.P();
                    },
                    r: function (){
                        return f.D()+', '+f.d()+' '+f.M()+' '+f.Y()+' '+f.H()+':'+f.i()+':'+f.s()+' '+f.O();
                    },
                    U: function (){
                        return Math.round(jsdate.getTime()/1000);
                    }
            };
        
            return format.replace(/[\\]?([a-zA-Z])/g, function (t, s){
                if ( t!=s ){
                    // escaped
                    ret = s;
                } else if (f[s]){
                    // a date function exists
                    ret = f[s]();
                } else {
                    // nothing special
                    ret = s;
                }
                return ret;
            });
        }
        ,
        date_default_timezone_get: function () {
            // !No description available for date_default_timezone_get. @php.js developers: Please update the function summary text file.
            // 
            // version: 907.2411
            // discuss at: http://phpjs.org/functions/date_default_timezone_get
            // +   original by: Brett Zamir (http://brett-zamir.me)
            // -    depends on: timezone_abbreviations_list
            // %        note 1: Uses global: php_js to store the default timezone
            // *     example 1: $P.date_default_timezone_get();
            // *     returns 1: 'unknown'
            var tal = {}, abbr = '', i = 0, curr_offset = -(new Date()).getTimezoneOffset()*60;
        
            if (this.php_js) {
                if (this.php_js.default_timezone) { // set by date_default_timezone_set
                    return this.php_js.default_timezone;
                }
                if (this.php_js.ENV && this.php_js.ENV.TZ) { // getenv
                    return this.php_js.ENV.TZ;
                }
                if (this.php_js.ini && this.php_js.ini['date.timezone']) { // e.g., if set by ini_set()
                    return this.php_js.ini['date.timezone'].local_value ? this.php_js.ini['date.timezone'].local_value : this.php_js.ini['date.timezone'].global_value;
                }
            }
			debug(curr_offset/3600);
            // Get from system
            tal = this.timezone_abbreviations_list();
            for (abbr in tal) {
                for (i=0; i < tal[abbr].length; i++) {
                    if (tal[abbr][i].offset === curr_offset) {
                        return tal[abbr][i].timezone_id;
                    }
                }
            }
            return 'UTC';
        }
        ,
        date_default_timezone_get_offset: function () {
            // !No description available for date_default_timezone_get. @php.js developers: Please update the function summary text file.
            // 
            // version: 907.2411
            // discuss at: http://phpjs.org/functions/date_default_timezone_get
            // +   original by: Brett Zamir (http://brett-zamir.me)
            // -    depends on: timezone_abbreviations_list
            // %        note 1: Uses global: php_js to store the default timezone
            // *     example 1: $P.date_default_timezone_get();
            // *     returns 1: 'unknown'
            var tal = {}, abbr = '', i = 0, curr_offset = -(new Date()).getTimezoneOffset()*60;
        
            if (this.php_js) {
                if (this.php_js.default_timezone) { // set by date_default_timezone_set
                    return this.php_js.default_timezone;
                }
                if (this.php_js.ENV && this.php_js.ENV.TZ) { // getenv
                    return this.php_js.ENV.TZ;
                }
                if (this.php_js.ini && this.php_js.ini['date.timezone']) { // e.g., if set by ini_set()
                    return this.php_js.ini['date.timezone'].local_value ? this.php_js.ini['date.timezone'].local_value : this.php_js.ini['date.timezone'].global_value;
                }
            }
			return (curr_offset/3600);
        }
        ,
        date_default_timezone_set: function (tz) {
            // Sets the default timezone used by all date/time functions in a script  
            // 
            // version: 905.3122
            // discuss at: http://phpjs.org/functions/date_default_timezone_set
            // +   original by: Brett Zamir (http://brett-zamir.me)
            // -    depends on: timezone_abbreviations_list
            // %        note 1: Uses global: php_js to store the default timezone
            // *     example 1: $P.date_default_timezone_set('unknown');
            // *     returns 1: 'unknown'
            var tal = {}, abbr = '', i = 0;
        
            
            // PHP verifies that the timezone is valid
            tal = this.timezone_abbreviations_list();
            for (abbr in tal) {
                for (i=0; i < tal[abbr].length; i++) {
                    if (tal[abbr][i].timezone_id === tz) {
                        this.php_js.default_timezone = tz;
                        return true;
                    }
                }
            }
            return false;
        }
        ,
        date_parse: function (date) {
            // Returns associative array with detailed info about given date  
            // 
            // version: 905.3122
            // discuss at: http://phpjs.org/functions/date_parse
            // +   original by: Brett Zamir (http://brett-zamir.me)
            // -    depends on: strtotime
            // *     example 1: $P.date_parse('2006-12-12 10:00:00.5');
            // *     returns 1: {year : 2006, month: 12, day: 12, hour: 10, minute: 0, second: 0, fraction: 0.5, warning_count: 0, warnings: [], error_count: 0, errors: [], is_localtime: false}
        
            
        
            var warningsOffset = this.php_js.warnings ? this.php_js.warnings.length : null;
            var errorsOffset = this.php_js.errors ? this.php_js.errors.length : null;
        
            try {
                var ts = this.strtotime(date);
            }
            finally {
                if (!ts) {
                    return false;
                }
            }
        
            var dt = new Date(ts*1000);
        
            var retObj = { // Grab any new warnings or errors added (not implemented yet in strtotime()); throwing warnings, notices, or errors could also be easily monitored by using 'watch' on this.php_js.latestWarning, etc. and/or calling any defined error handlers
                warning_count: warningsOffset !== null ? this.php_js.warnings.slice(warningsOffset).length : 0,
                warnings: warningsOffset !== null ? this.php_js.warnings.slice(warningsOffset) : [],
                error_count: errorsOffset !== null ? this.php_js.errors.slice(errorsOffset).length : 0,
                errors: errorsOffset !== null ? this.php_js.errors.slice(errorsOffset) : []
            };
            retObj.year = dt.getFullYear();
            retObj.month = dt.getMonth()+1;
            retObj.day = dt.getDate();
            retObj.hour = dt.getHours();
            retObj.minute = dt.getMinutes();
            retObj.second = dt.getSeconds();
            retObj.fraction = parseFloat('0.'+dt.getMilliseconds());
            retObj.is_localtime = dt.getTimezoneOffset !== 0;
        
            return retObj;
        }
        ,
        fgets: function (handle, length) {
            // Get a line from file pointer  
            // 
            // version: 906.111
            // discuss at: http://phpjs.org/functions/fgets
            // +   original by: Brett Zamir (http://brett-zamir.me)
            // *     example 1: $P.fopen('http://kevin.vanzonneveld.net/pj_test_supportfile_1.htm', 'r');
            // *     example 1: $P.fgets(handle, 1);
            // *     returns 1: '<'
        
            var start=0, fullline='', endlinePos = -1, content = '';
        
            if (!this.php_js || !this.php_js.resourceData || !this.php_js.resourceDataPointer || length !== undefined && !length) {
                return false;
            }
        
            start = this.php_js.resourceDataPointer[handle.id];
        
            if (start === undefined || !this.php_js.resourceData[handle.id][start]) {
                return false; // Resource was already closed or already reached the end of the file
            }
        
            content = this.php_js.resourceData[handle.id].slice(start);
        
            endlinePos = content.search(/\r\n?|\n/)+start+1;
            fullline = this.php_js.resourceData[handle.id].slice(start, endlinePos+1);
            if (fullline === '') {
                fullline = this.php_js.resourceData[handle.id].slice(start); // Get to rest of the file
            }
        
            length = (length === undefined || fullline.length < length) ? fullline.length : Math.floor(length/2) || 1; // two bytes per character (or surrogate), but ensure at least one
        
            this.php_js.resourceDataPointer[handle.id] += length;
            return this.php_js.resourceData[handle.id].substr(start, length);
        }
        ,
        getdate: function (timestamp) {
            // Get date/time information  
            // 
            // version: 908.406
            // discuss at: http://phpjs.org/functions/getdate
            // +   original by: Paulo Ricardo F. Santos
            // *     example 1: $P.getdate(1055901520);
            // *     returns 1: {'seconds': 40, 'minutes': 58, 'hours': 21, 'mday': 17, 'wday': 2, 'mon': 6, 'year': 2003, 'yday': 167, 'weekday': 'Tuesday', 'month': 'June', '0': 1055901520}
            var _w = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
            var _m = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
            var d = (typeof timestamp == 'number') ? new Date(timestamp * 1000) : new Date();
            var w = d.getDay();
            var m = d.getMonth();
            var y = d.getFullYear();
            var r = {};
        
            r.seconds = d.getSeconds();
            r.minutes = d.getMinutes();
            r.hours = d.getHours();
            r.mday = d.getDate();
            r.wday = w;
            r.mon = m + 1;
            r.year = y;
            r.yday = Math.floor((d - (new Date(y, 0, 1))) / 86400000);
            r.weekday = _w[w];
            r.month = _m[m];
            r['0'] = parseInt(d.getTime() / 1000, 10);
        
            return r;
        }
        ,
        getenv: function (varname) {
            // Get the value of an environment variable  
            // 
            // version: 905.3122
            // discuss at: http://phpjs.org/functions/getenv
            // +   original by: Brett Zamir (http://brett-zamir.me)
            // %        note 1: We are not using $_ENV as in PHP, you could define
            // %        note 1: "$_ENV = this.php_js.ENV;" and get/set accordingly
            // %        note 2: Returns e.g. 'en-US' when set global this.php_js.ENV is set
            // %        note 3: Uses global: php_js to store environment info
            // *     example 1: $P.getenv('LC_ALL');
            // *     returns 1: false
            
            if (!this.php_js || !this.php_js.ENV || !this.php_js.ENV[varname]) {
                return false;
            }
        
            return this.php_js.ENV[varname];
        }
        ,
        gettimeofday: function (return_float) {
            // Returns the current time as array  
            // 
            // version: 905.3122
            // discuss at: http://phpjs.org/functions/gettimeofday
            // + original by: Brett Zamir (http://brett-zamir.me)
            // +      derived from: Josh Fraser (http://onlineaspect.com/2007/06/08/auto-detect-a-time-zone-with-javascript/)
            // +         parts by: Breaking Par Consulting Inc (http://www.breakingpar.com/bkp/home.nsf/0/87256B280015193F87256CFB006C45F7)
            // *     example 1: $P.gettimeofday();
            // *     returns 1: {sec: 12, usec: 153000, minuteswest: -480, dsttime: 0}
            // *     example 1: $P.gettimeofday(true);
            // *     returns 1: 1238748978.49
        
            var t = new Date(), dst = 0;
        
            if (return_float) {
                return t.getTime()/1000;
            }
        
            // Calculate Daylight Saving Time
            var jan1 = new Date(t.getFullYear(), 0, 1, 0, 0, 0, 0);  // jan 1st
            var june1 = new Date(t.getFullYear(), 6, 1, 0, 0, 0, 0); // june 1st
            var temp = jan1.toUTCString();
            var jan2 = new Date(temp.slice(0, temp.lastIndexOf(' ')-1));
            temp = june1.toUTCString();
            var june2 = new Date(temp.slice(0, temp.lastIndexOf(' ')-1));
            var std_time_offset = (jan1 - jan2) / (1000 * 60 * 60);
            var daylight_time_offset = (june1 - june2) / (1000 * 60 * 60);
        
            if (std_time_offset === daylight_time_offset) {
                dst = 0; // daylight savings time is NOT observed
            }
            else {
                // positive is southern, negative is northern hemisphere
                var hemisphere = std_time_offset - daylight_time_offset;
                if (hemisphere >= 0) {
                    std_time_offset = daylight_time_offset;
                }
                dst = 1; // daylight savings time is observed
            }
        
            return {
                sec : t.getUTCSeconds(),
                usec : t.getUTCMilliseconds()*1000,
                minuteswest : t.getTimezoneOffset(),
                dsttime: dst
            };
        }
        ,
        gmdate: function (format, timestamp) {
            // Format a GMT date/time  
            // 
            // version: 905.3122
            // discuss at: http://phpjs.org/functions/gmdate
            // +   original by: Brett Zamir (http://brett-zamir.me)
            // -    depends on: date
            // *     example 1: $P.gmdate('H:m:s \\m \\i\\s \\m\\o\\n\\t\\h', 1062402400); // Return will depend on your timezone
            // *     returns 1: '07:09:40 m is month'
            var dt = ((typeof(timestamp) == 'undefined') ? new Date() : // Not provided
                (typeof(timestamp) == 'number') ? new Date(timestamp*1000) : // UNIX timestamp
                new Date(timestamp));
            timestamp = Date.parse(dt.toUTCString().slice(0, -4))/1000;
            return this.date(format, timestamp);
        }
        ,
        gmmktime: function () {
            // Get UNIX timestamp for a GMT date  
            // 
            // version: 908.406
            // discuss at: http://phpjs.org/functions/gmmktime
            // +   original by: Brett Zamir (http://brett-zamir.me)
            // +   derived from: mktime
            // *     example 1: $P.gmmktime(14, 10, 2, 2, 1, 2008);
            // *     returns 1: 1201875002
        
            var no=0, i = 0, ma=0, mb=0, d = new Date(), dn = new Date(), argv = arguments, argc = argv.length;
        
            var dateManip = {
                0: function (tt){ return d.setUTCHours(tt); },
                1: function (tt){ return d.setUTCMinutes(tt); },
                2: function (tt){ var set = d.setUTCSeconds(tt); mb = d.getUTCDate() - dn.getUTCDate(); return set;},
                3: function (tt){ var set = d.setUTCMonth(parseInt(tt, 10)-1); ma = d.getUTCFullYear() - dn.getUTCFullYear(); return set;},
                4: function (tt){ return d.setUTCDate(tt+mb);},
                5: function (tt){
                    if (tt >= 0 && tt <= 69) {
                        tt += 2000;
                    }
                    else if (tt >= 70 && tt <= 100) {
                        tt += 1900;
                    }
                    return d.setUTCFullYear(tt+ma);
                }
                // 7th argument (for DST) is deprecated
            };
        
            for (i = 0; i < argc; i++){
                no = parseInt(argv[i]*1, 10);
                if (isNaN(no)) {
                    return false;
                } else {
                    // arg is number, let's manipulate date object
                    if (!dateManip[i](no)){
                        // failed
                        return false;
                    }
                }
            }
            for (i = argc; i < 6; i++) {
                switch (i) {
                    case 0:
                        no = dn.getUTCHours();
                        break;
                    case 1:
                        no = dn.getUTCMinutes();
                        break;
                    case 2:
                        no = dn.getUTCSeconds();
                        break;
                    case 3:
                        no = dn.getUTCMonth()+1;
                        break;
                    case 4:
                        no = dn.getUTCDate();
                        break;
                    case 5:
                        no = dn.getUTCFullYear();
                        break;
                }
                dateManip[i](no);
            }
        
            return Math.floor(d.getTime()/1000);
        }
        ,
        gmstrftime: function (format, timestamp) {
            // Format a GMT/UCT time/date according to locale settings  
            // 
            // version: 905.3122
            // discuss at: http://phpjs.org/functions/gmstrftime
            // +   original by: Brett Zamir (http://brett-zamir.me)
            // -    depends on: strftime
            // *     example 1: $P.gmstrftime("%A", 1062462400);
            // *     returns 1: 'Tuesday'
            var dt = ((typeof(timestamp) == 'undefined') ? new Date() : // Not provided
                (typeof(timestamp) == 'number') ? new Date(timestamp*1000) : // UNIX timestamp
                new Date(timestamp));
            timestamp = Date.parse(dt.toUTCString().slice(0, -4))/1000;
            return this.strftime(format, timestamp);
        }
        ,
        idate: function (format, timestamp) {
            // Format a local time/date as integer  
            // 
            // version: 908.406
            // discuss at: http://phpjs.org/functions/idate
            // +   original by: Brett Zamir (http://brett-zamir.me)
            // +   derived from: date
            // +   derived from: gettimeofday
            // *     example 1: $P.idate('y');
            // *     returns 1: 9
        
            if (format === undefined) {
                throw 'idate() expects at least 1 parameter, 0 given';
            }
            if (!format.length || format.length > 1) {
                throw 'idate format is one char';
            }
        
            // Fix: Need to allow date_default_timezone_set() (check for this.php_js.default_timezone and use)
            var date = ((typeof(timestamp) === 'undefined') ? new Date() : // Not provided
                (typeof(timestamp) === 'number') ? new Date(timestamp*1000) : // UNIX timestamp
                new Date(timestamp)); // Date() object
        
            var _L = function (date) {
                var y = date.getFullYear();
                return (!(y & 3) && (y % 1e2 || !(y % 4e2))) ? 1 : 0;
            };
            var _z = function (date) {
                return (date - new Date(date.getFullYear() + "/1/1")) / 864e5 >> 0;
            };
        
            var _dst = function (t) {
                // Calculate Daylight Saving Time (derived from gettimeofday() code)
                var dst=0;
                var jan1 = new Date(t.getFullYear(), 0, 1, 0, 0, 0, 0);  // jan 1st
                var june1 = new Date(t.getFullYear(), 6, 1, 0, 0, 0, 0); // june 1st
                var temp = jan1.toUTCString();
                var jan2 = new Date(temp.slice(0, temp.lastIndexOf(' ')-1));
                temp = june1.toUTCString();
                var june2 = new Date(temp.slice(0, temp.lastIndexOf(' ')-1));
                var std_time_offset = (jan1 - jan2) / (1000 * 60 * 60);
                var daylight_time_offset = (june1 - june2) / (1000 * 60 * 60);
        
                if (std_time_offset === daylight_time_offset) {
                    dst = 0; // daylight savings time is NOT observed
                }
                else {
                    // positive is southern, negative is northern hemisphere
                    var hemisphere = std_time_offset - daylight_time_offset;
                    if (hemisphere >= 0) {
                        std_time_offset = daylight_time_offset;
                    }
                    dst = 1; // daylight savings time is observed
                }
                return dst;
            };
        
            switch (format) {
                case 'B':
                    // peter paul koch:
                    var off = (date.getTimezoneOffset() + 60)*60;
                    var theSeconds = (date.getHours() * 3600) +
                                     (date.getMinutes() * 60) +
                                      date.getSeconds() + off;
                    var beat = Math.floor(theSeconds/86.4);
                    if (beat > 1000) {beat -= 1000;}
                    if (beat < 0) {beat += 1000;}
                    if ((String(beat)).length == 1) {beat = '00'+beat;}
                    if ((String(beat)).length == 2) {beat = '0'+beat;}
                    return beat;
                case 'd':
                    return date.getDate();
                case 'h':
                    return date.getHours() % 12 || 12;
                case 'H':
                    return date.getHours();
                case 'i':
                    return date.getMinutes();
                case 'I': // capital 'i'
                    return _dst(date);
                case 'L':
                    return _L(date);
                case 'm':
                    return date.getMonth()+1;
                case 's':
                    return date.getSeconds();
                case 't':
                    var n;
                    if ((n = date.getMonth()+1) === 2){
                        return 28 + _L(date);
                    }
                    if (n & 1 && n < 8 || !(n & 1) && n > 7){
                        return 31;
                    }
                    return 30;
                case 'U':
                    return Math.round(date.getTime()/1000);
                case 'w':
                    return date.getDay();
                case 'W':
                    var a = _z(date), b = 364 + _L(date) - a;
                    var nd2, nd = (new Date(date.getFullYear() + '/1/1').getDay() || 7) - 1;
        
                    if (b <= 2 && ((date.getDay() || 7) - 1) <= 2 - b){
                        return 1;
                    }
                    if (a <= 2 && nd >= 4 && a >= (6 - nd)){
                        nd2 = new Date(date.getFullYear() - 1 + '/12/31');
                        return this.idate('W', Math.round(nd2.getTime()/1000));
                    }
                    return (1 + (nd <= 3 ? ((a + nd) / 7) : (a - (7 - nd)) / 7) >> 0);
                case 'y':
                    return parseInt((date.getFullYear() + '').slice(2), 10); // This function returns an integer, unlike date()
                case 'Y':
                    return date.getFullYear();
                case 'z':
                    return _z(date);
                case 'Z':
                    return -date.getTimezoneOffset()*60;
                default:
                    throw 'Unrecognized date format token';
            }
        }
        ,
        localtime: function (timestamp, is_assoc) {
            // Returns the results of the C system call localtime as an associative array if the associative_array argument is set to 1 other wise it is a regular array  
            // 
            // version: 908.406
            // discuss at: http://phpjs.org/functions/localtime
            // + original by: Brett Zamir (http://brett-zamir.me)
            // +      derived from: Josh Fraser (http://onlineaspect.com/2007/06/08/auto-detect-a-time-zone-with-javascript/)
            // +         parts by: Breaking Par Consulting Inc (http://www.breakingpar.com/bkp/home.nsf/0/87256B280015193F87256CFB006C45F7)
            // *     example 1: $P.localtime();
            // *     returns 1: [50,28,0,14,2,109,6,73,0]
            if (timestamp === undefined) {
                timestamp = Math.round(new Date().getTime()/1000); // this.time()
            } else if (timestamp instanceof Date) {
                timestamp = timestamp/1000; // Let it work with JavaScript data objects without the need for conversion
            }
            var t = new Date(timestamp*1000);
        
            // Calculate day of year
            var jan1 = new Date(t.getFullYear(), 0, 1);
            var yday = Math.ceil((t - jan1) / 86400000)-1;
        
            // Calculate Daylight Saving Time
            jan1 = new Date(t.getFullYear(), 0, 1, 0, 0, 0, 0);  // jan 1st
            var june1 = new Date(t.getFullYear(), 6, 1, 0, 0, 0, 0); // june 1st
            var temp = jan1.toUTCString();
            var jan2 = new Date(temp.slice(0, temp.lastIndexOf(' ')-1));
            temp = june1.toUTCString();
            var june2 = new Date(temp.slice(0, temp.lastIndexOf(' ')-1));
            var std_time_offset = (jan1 - jan2) / (1000 * 60 * 60);
            var daylight_time_offset = (june1 - june2) / (1000 * 60 * 60);
            var dst;
            if (std_time_offset === daylight_time_offset) {
                dst = 0; // daylight savings time is NOT observed
            } else {
                // positive is southern, negative is northern hemisphere
                var hemisphere = std_time_offset - daylight_time_offset;
                if (hemisphere >= 0) {
                    std_time_offset = daylight_time_offset;
                }
                dst = 1; // daylight savings time is observed
            }
        
            if (is_assoc) {
                return {
                    'tm_sec': t.getSeconds(), // seconds
                    'tm_min': t.getMinutes(), // minutes
                    'tm_hour': t.getHours(),// hour
                    'tm_mday': t.getDate(),// day of the month Months are from 0 (Jan) to 11 (Dec) and days of the week are from 0 (Sun) to 6 (Sat).
                    'tm_mon': t.getMonth(),// month of the year, starting with 0 for January
                    'tm_year': t.getFullYear()-1900,// Years since 1900
                    'tm_wday': t.getDay(),// Day of the week
                    'tm_yday': yday,// Day of the year
                    'tm_isdst': dst// Is daylight savings time in effect
                };
            }
            return [t.getSeconds(), t.getMinutes(), t.getHours(), t.getDate(), t.getMonth(), t.getFullYear()-1900, t.getDay(), yday, dst];
        }
        ,
        microtime: function (get_as_float) {
            // Returns either a string or a float containing the current time in seconds and microseconds  
            // 
            // version: 908.406
            // discuss at: http://phpjs.org/functions/microtime
            // +   original by: Paulo Ricardo F. Santos
            // *     example 1: $P.timeStamp = microtime(true);
            // *     results 1: timeStamp > 1000000000 && timeStamp < 2000000000
            var now = new Date().getTime() / 1000;
            var s = parseInt(now, 10);
        
            return (get_as_float) ? now : (Math.round((now - s) * 1000) / 1000) + ' ' + s;
        }
        ,
        mktime: function () {
            // Get UNIX timestamp for a date  
            // 
            // version: 908.3016
            // discuss at: http://phpjs.org/functions/mktime
            // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
            // +   improved by: baris ozdil
            // +      input by: gabriel paderni
            // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
            // +   improved by: FGFEmperor
            // +      input by: Yannoo
            // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
            // +      input by: jakes
            // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
            // +   bugfixed by: Marc Palau
            // +   improved by: Brett Zamir (http://brett-zamir.me)
            // +      input by: 3D-GRAF
            // +   bugfixed by: Brett Zamir (http://brett-zamir.me)
            // *     example 1: $P.mktime(14, 10, 2, 2, 1, 2008);
            // *     returns 1: 1201871402
            // *     example 2: $P.mktime(0, 0, 0, 0, 1, 2008);
            // *     returns 2: 1196463600
            // *     example 3: $P.make = mktime();
            // *     example 3: $P.td = new Date();
            // *     example 3: $P.real = Math.floor(td.getTime()/1000);
            // *     example 3: $P.diff = (real - make);
            // *     results 3: diff < 5
            // *     example 4: $P.mktime(0, 0, 0, 13, 1, 1997)
            // *     returns 4: 883609200
            // *     example 5: $P.mktime(0, 0, 0, 1, 1, 1998)
            // *     returns 5: 883609200
            // *     example 6: $P.mktime(0, 0, 0, 1, 1, 98)
            // *     returns 6: 883609200
            var no=0, i = 0, ma=0, mb=0, d = new Date(), dn = new Date(), argv = arguments, argc = argv.length;
        
            var dateManip = {
                0: function (tt){ return d.setHours(tt); },
                1: function (tt){ return d.setMinutes(tt); },
                2: function (tt){ var set = d.setSeconds(tt); mb = d.getDate() - dn.getDate(); d.setDate(1); return set;},
                3: function (tt){ var set = d.setMonth(parseInt(tt, 10)-1); ma = d.getFullYear() - dn.getFullYear(); return set;},
                4: function (tt){ return d.setDate(tt+mb);},
                5: function (tt){
                    if (tt >= 0 && tt <= 69) {
                        tt += 2000;
                    }
                    else if (tt >= 70 && tt <= 100) {
                        tt += 1900;
                    }
                    return d.setFullYear(tt+ma);
                }
                // 7th argument (for DST) is deprecated
            };
        
            for (i = 0; i < argc; i++){
                no = parseInt(argv[i]*1, 10);
                if (isNaN(no)) {
                    return false;
                } else {
                    // arg is number, let's manipulate date object
                    if (!dateManip[i](no)){
                        // failed
                        return false;
                    }
                }
            }
            for (i = argc; i < 6; i++) {
                switch (i) {
                    case 0:
                        no = dn.getHours();
                        break;
                    case 1:
                        no = dn.getMinutes();
                        break;
                    case 2:
                        no = dn.getSeconds();
                        break;
                    case 3:
                        no = dn.getMonth()+1;
                        break;
                    case 4:
                        no = dn.getDate();
                        break;
                    case 5:
                        no = dn.getFullYear();
                        break;
                }
                dateManip[i](no);
            }
        
            return Math.floor(d.getTime()/1000);
        }
        ,
        setlocale: function (category, locale) {
            // Set locale information  
            // 
            // version: 908.2517
            // discuss at: http://phpjs.org/functions/setlocale
            // +   original by: Brett Zamir (http://brett-zamir.me)
            // +   derived from: Blues at http://hacks.bluesmoon.info/strftime/strftime.js
            // +   derived from: YUI Library: http://developer.yahoo.com/yui/docs/YAHOO.util.DateLocale.html
            // -    depends on: getenv
            // %          note 1: Is extensible, but currently only implements locales en,
            // %          note 1: en_US, en_GB, en_AU, fr, and fr_CA for LC_TIME only; C for LC_CTYPE;
            // %          note 1: C and en for LC_MONETARY/LC_NUMERIC; en for LC_COLLATE
            // %          note 2: Uses global: php_js to store locale info
            // %          note 3: Consider using http://demo.icu-project.org/icu-bin/locexp as basis for localization (as in i18n_loc_set_default())
            // *     example 1: $P.setlocale('LC_ALL', 'en_US');
            // *     returns 1: 'en_US'
            var categ='', cats = [], i = 0, d = this.window.document;
        
            
            var phpjs = this.php_js;
        
            // BEGIN STATIC
            var _copy = function _copy (orig) {
                var newObj = {};
                for (var i in orig) {
                    if (typeof orig[i] === 'object') {
                        newObj[i] = _copy(orig[i]);
                    }
                    else {
                        newObj[i] = orig[i];
                    }
                }
                return newObj;
            };
        
            if (!phpjs.locales) {
                // Can add to the locales
                phpjs.locales = {};
        
                phpjs.locales.en = {
                    'LC_COLLATE' :  // For strcoll
                        function ( str1, str2 ) { // Fix: This one taken from strcmp, but need for other locales; we don't use localeCompare since its locale is not settable
                            return ( str1 == str2 ) ? 0 : ( ( str1 > str2 ) ? 1 : -1 );
                        }
                    ,
                    'LC_CTYPE' : { // Need to change any of these for English as opposed to C?
                        an: /^[A-Za-z\d]+$/g,
                        al: /^[A-Za-z]+$/g,
                        ct: /^[\u0000-\u001F\u007F]+$/g,
                        dg: /^[\d]+$/g,
                        gr: /^[\u0021-\u007E]+$/g,
                        lw: /^[a-z]+$/g,
                        pr: /^[\u0020-\u007E]+$/g,
                        pu: /^[\u0021-\u002F\u003A-\u0040\u005B-\u0060\u007B-\u007E]+$/g,
                        sp: /^[\f\n\r\t\v ]+$/g,
                        up: /^[A-Z]+$/g,
                        xd: /^[A-Fa-f\d]+$/g,
                        CODESET : 'UTF-8',
                         // Used by sql_regcase
                        lower : 'abcdefghijklmnopqrstuvwxyz',
                        upper : 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
                    },
                    'LC_TIME' : { // Comments include nl_langinfo() constant equivalents and any changes from Blues' implementation
                        a: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], // ABDAY_
                        A: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], // DAY_
                        b: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], // ABMON_
                        B: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], // MON_
                        c: '%a %d %b %Y %r %Z', // D_T_FMT // changed %T to %r per results
                        p: ['AM', 'PM'], // AM_STR/PM_STR
                        P: ['am', 'pm'], // Not available in nl_langinfo()
                        r: '%I:%M:%S %p', // T_FMT_AMPM (Fixed for all locales)
                        x: '%m/%d/%Y', // D_FMT // switched order of %m and %d; changed %y to %Y (C uses %y)
                        X: '%r', // T_FMT // changed from %T to %r  (%T is default for C, not English US)
                        // Following are from nl_langinfo() or http://www.cptec.inpe.br/sx4/sx4man2/g1ab02e/strftime.4.html
                        alt_digits : '', // e.g., ordinal
                        ERA : '',
                        ERA_YEAR : '',
                        ERA_D_T_FMT : '',
                        ERA_D_FMT : '',
                        ERA_T_FMT : ''
                    },
                     // Assuming distinction between numeric and monetary is thus:
                     // See below for C locale
                    'LC_MONETARY' : { // Based on Windows "english" (English_United States.1252) locale
                        int_curr_symbol : 'USD',
                        currency_symbol : '$',
                        mon_decimal_point : '.',
                        mon_thousands_sep : ',',
                        mon_grouping : [3], // use mon_thousands_sep; "" for no grouping; additional array members indicate successive group lengths after first group (e.g., if to be 1,23,456, could be [3, 2])
                        positive_sign : '',
                        negative_sign : '-',
                        int_frac_digits : 2, // Fractional digits only for money defaults?
                        frac_digits : 2,
                        p_cs_precedes : 1, // positive currency symbol follows value = 0; precedes value = 1
                        p_sep_by_space : 0, // 0: no space between curr. symbol and value; 1: space sep. them unless symb. and sign are adjacent then space sep. them from value; 2: space sep. sign and value unless symb. and sign are adjacent then space separates
                        n_cs_precedes : 1, // see p_cs_precedes
                        n_sep_by_space : 0, // see p_sep_by_space
                        p_sign_posn : 3, // 0: parentheses surround quantity and curr. symbol; 1: sign precedes them; 2: sign follows them; 3: sign immed. precedes curr. symbol; 4: sign immed. succeeds curr. symbol
                        n_sign_posn : 0 // see p_sign_posn
                    },
                    'LC_NUMERIC' : { // Based on Windows "english" (English_United States.1252) locale
                        decimal_point : '.',
                        thousands_sep : ',',
                        grouping : [3] // see mon_grouping, but for non-monetary values (use thousands_sep)
                    },
                    'LC_MESSAGES' : {
                        YESEXPR : '^[yY].*',
                        NOEXPR : '^[nN].*',
                        YESSTR : '',
                        NOSTR : ''
                    }
                };
                phpjs.locales.en_US = _copy(phpjs.locales.en);
                phpjs.locales.en_US.LC_TIME.c = '%a %d %b %Y %r %Z';
                phpjs.locales.en_US.LC_TIME.x = '%D';
                phpjs.locales.en_US.LC_TIME.X = '%r';
                // The following are based on *nix settings
                phpjs.locales.en_US.LC_MONETARY.int_curr_symbol = 'USD ';
                phpjs.locales.en_US.LC_MONETARY.p_sign_posn = 1;
                phpjs.locales.en_US.LC_MONETARY.n_sign_posn = 1;
                phpjs.locales.en_US.LC_MONETARY.mon_grouping = [3, 3];
                phpjs.locales.en_US.LC_NUMERIC.thousands_sep = '';
                phpjs.locales.en_US.LC_NUMERIC.grouping = [];
        
                phpjs.locales.en_GB = _copy(phpjs.locales.en);
                phpjs.locales.en_GB.LC_TIME.r =  '%l:%M:%S %P %Z';
        
                phpjs.locales.en_AU = _copy(phpjs.locales.en_GB);
                phpjs.locales.C = _copy(phpjs.locales.en); // Assume C locale is like English (?) (We need C locale for LC_CTYPE)
                phpjs.locales.C.LC_CTYPE.CODESET = 'ANSI_X3.4-1968';
                phpjs.locales.C.LC_MONETARY = {
                    int_curr_symbol : '',
                    currency_symbol : '',
                    mon_decimal_point : '',
                    mon_thousands_sep : '',
                    mon_grouping : [],
                    p_cs_precedes : 127,
                    p_sep_by_space : 127,
                    n_cs_precedes : 127,
                    n_sep_by_space : 127,
                    p_sign_posn : 127,
                    n_sign_posn : 127,
                    positive_sign : '',
                    negative_sign : '',
                    int_frac_digits : 127,
                    frac_digits : 127
                };
                phpjs.locales.C.LC_NUMERIC = {
                    decimal_point : '.',
                    thousands_sep : '',
                    grouping : []
                };
                phpjs.locales.C.LC_TIME.c = '%a %b %e %H:%M:%S %Y'; // D_T_FMT
                phpjs.locales.C.LC_TIME.x = '%m/%d/%y'; // D_FMT
                phpjs.locales.C.LC_TIME.X = '%H:%M:%S'; // T_FMT
                phpjs.locales.C.LC_MESSAGES.YESEXPR = '^[yY]';
                phpjs.locales.C.LC_MESSAGES.NOEXPR = '^[nN]';
        
                phpjs.locales.fr =_copy(phpjs.locales.en);
                phpjs.locales.fr.LC_TIME.a = ['dim', 'lun', 'mar', 'mer', 'jeu', 'ven', 'sam'];
                phpjs.locales.fr.LC_TIME.A = ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'];
                phpjs.locales.fr.LC_TIME.b = ['jan', 'fÃ©v', 'mar', 'avr', 'mai', 'jun', 'jui', 'aoÃ»', 'sep', 'oct', 'nov', 'dÃ©c'];
                phpjs.locales.fr.LC_TIME.B = ['janvier', 'fÃ©vrier', 'mars', 'avril', 'mai', 'juin', 'juillet', 'aoÃ»t', 'septembre', 'octobre', 'novembre', 'dÃ©cembre'];
                phpjs.locales.fr.LC_TIME.c = '%a %d %b %Y %T %Z';
                phpjs.locales.fr.LC_TIME.p = ['', ''];
                phpjs.locales.fr.LC_TIME.P = ['', ''];
                phpjs.locales.fr.LC_TIME.x = '%d.%m.%Y';
                phpjs.locales.fr.LC_TIME.X = '%T';
        
                phpjs.locales.fr_CA = _copy(phpjs.locales.fr);
                phpjs.locales.fr_CA.LC_TIME.x = '%Y-%m-%d';
        
            }
            if (!phpjs.locale) {
                phpjs.locale = 'en_US';
                var NS_XHTML = 'http://www.w3.org/1999/xhtml';
                var NS_XML = 'http://www.w3.org/XML/1998/namespace';
                if (d.getElementsByTagNameNS &&
                        d.getElementsByTagNameNS(NS_XHTML, 'html')[0]) {
                    if (d.getElementsByTagNameNS(NS_XHTML, 'html')[0].getAttributeNS &&
                            d.getElementsByTagNameNS(NS_XHTML, 'html')[0].getAttributeNS(NS_XML, 'lang')) {
                        phpjs.locale = d.getElementsByTagName(NS_XHTML, 'html')[0].getAttributeNS(NS_XML, 'lang');
                    } else if (d.getElementsByTagNameNS(NS_XHTML, 'html')[0].lang) { // XHTML 1.0 only
                        phpjs.locale = d.getElementsByTagNameNS(NS_XHTML, 'html')[0].lang;
                    }
                } else if (d.getElementsByTagName('html')[0] && d.getElementsByTagName('html')[0].lang) {
                    phpjs.locale = d.getElementsByTagName('html')[0].lang;
                }
            }
            phpjs.locale = phpjs.locale.replace('-', '_'); // PHP-style
        
            // Fix locale if declared locale hasn't been defined
            if (!(phpjs.locale in phpjs.locales)) {
                if (phpjs.locale.replace(/_[a-zA-Z]+$/, '') in phpjs.locales) {
                    phpjs.locale = phpjs.locale.replace(/_[a-zA-Z]+$/, '');
                }
            }
        
            if (!phpjs.localeCategories) {
                phpjs.localeCategories = {
                    'LC_COLLATE': phpjs.locale, // for string comparison, see strcoll()
                    'LC_CTYPE': phpjs.locale,// for character classification and conversion, for example strtoupper()
                    'LC_MONETARY': phpjs.locale,// for localeconv()
                    'LC_NUMERIC': phpjs.locale,// for decimal separator (See also localeconv())
                    'LC_TIME': phpjs.locale,// for date and time formatting with strftime()
                    'LC_MESSAGES':phpjs.locale// for system responses (available if PHP was compiled with libintl)
                };
            }
            // END STATIC
        
            if (locale === null || locale === '') {
                locale = this.getenv(category) || this.getenv('LANG');
            } else if (locale instanceof Array) {
                for (i=0; i < locale.length; i++) {
                    if (!(locale[i] in this.php_js.locales)) {
                        if (i === locale.length-1) {
                            return false; // none found
                        }
                        continue;
                    }
                    locale = locale[i];
                    break;
                }
            }
        
            // Just get the locale
            if (locale === '0' || locale === 0) {
                if (category === 'LC_ALL') {
                    for (categ in this.php_js.localeCategories) {
                        cats.push(categ+'='+this.php_js.localeCategories[categ]);
                    }
                    return cats.join(';');
                }
                return this.php_js.localeCategories[category];
            }
        
            if (!(locale in this.php_js.locales)) {
                return false; // Locale not found
            }
        
            // Set and get locale
            if (category === 'LC_ALL') {
                for (categ in this.php_js.localeCategories) {
                    this.php_js.localeCategories[categ] = locale;
                }
            } else {
                this.php_js.localeCategories[category] = locale;
            }
            return locale;
        }
        ,
        strftime: function (fmt, timestamp) {
            // Format a local time/date according to locale settings  
            // 
            // version: 908.406
            // discuss at: http://phpjs.org/functions/strftime
            // +      original by: Blues (http://tech.bluesmoon.info/)
            // + reimplemented by: Brett Zamir (http://brett-zamir.me)
            // -       depends on: setlocale
            // %        note 1: Uses global: php_js to store locale info
            // *        example 1: $P.strftime("%A", 1062462400); // Return value will depend on date and locale
            // *        returns 1: 'Tuesday'
            
            var phpjs = this.php_js;
        
            // BEGIN STATIC
            this.setlocale('LC_ALL', 0); // ensure setup of localization variables takes place
            var _xPad = function (x, pad, r) {
                if (typeof r === 'undefined') {
                    r=10;
                }
                for ( ; parseInt(x, 10)<r && r>1; r/=10) {
                    x = pad.toString() + x;
                }
                return x.toString();
            };
        
            var locale = phpjs.localeCategories.LC_TIME;
            var locales = phpjs.locales;
        
            var _formats = {
                a: function (d) {
                    return locales[locale].LC_TIME.a[d.getDay()];
                },
                A: function (d) {
                    return locales[locale].LC_TIME.A[d.getDay()];
                },
                b: function (d) {
                    return locales[locale].LC_TIME.b[d.getMonth()];
                },
                B: function (d) {
                    return locales[locale].LC_TIME.B[d.getMonth()];
                },
                C: function (d) {
                    return _xPad(parseInt(d.getFullYear()/100, 10), 0);
                },
                d: ['getDate', '0'],
                e: ['getDate', ' '],
                g: function (d) {
                    return _xPad(parseInt(this.G(d)/100, 10), 0);
                },
                G: function (d) {
                    var y = d.getFullYear();
                    var V = parseInt(_formats.V(d), 10);
                    var W = parseInt(_formats.W(d), 10);
        
                    if (W > V) {
                        y++;
                    }
                    else if (W === 0 && V >= 52) {
                        y--;
                    }
        
                    return y;
                },
                H: ['getHours', '0'],
                I: function (d) {
                    var I=d.getHours()%12; return _xPad(I===0?12:I, 0);
                },
                j: function (d) {
                    var ms = d - new Date('' + d.getFullYear() + '/1/1 GMT');
                    ms += d.getTimezoneOffset()*60000;
                    var doy = parseInt(ms/60000/60/24, 10)+1;
                    return _xPad(doy, 0, 100);
                },
                l: function (d) {
                    var l=d.getHours()%12; return _xPad(l===0?12:l, ' ');
                },
                m: function (d) {
                    return _xPad(d.getMonth()+1, 0);
                },
                M: ['getMinutes', '0'],
                p: function (d) {
                    return locales[locale].LC_TIME.p[d.getHours() >= 12 ? 1 : 0 ];
                },
                P: function (d) {
                    return locales[locale].LC_TIME.P[d.getHours() >= 12 ? 1 : 0 ];
                },
                s: function (d) {
                    return Date.parse(d)/1000;
                },
                S: ['getSeconds', '0'],
                u: function (d) {
                    var dow = d.getDay(); return ( (dow===0) ? 7 : dow );
                },
                U: function (d) {
                    var doy = parseInt(_formats.j(d), 10);
                    var rdow = 6-d.getDay();
                    var woy = parseInt((doy+rdow)/7, 10);
                    return _xPad(woy, 0);
                },
                V: function (d) {
                    var woy = parseInt(_formats.W(d), 10);
                    var dow1_1 = (new Date('' + d.getFullYear() + '/1/1')).getDay();
                    // First week is 01 and not 00 as in the case of %U and %W,
                    // so we add 1 to the final result except if day 1 of the year
                    // is a Monday (then %W returns 01).
                    // We also need to subtract 1 if the day 1 of the year is
                    // Friday-Sunday, so the resulting equation becomes:
                    var idow = woy + (dow1_1 > 4 || dow1_1 <= 1 ? 0 : 1);
                    if (idow === 53 && (new Date('' + d.getFullYear() + '/12/31')).getDay() < 4) {
                        idow = 1;
                    }
                    else if (idow === 0) {
                        idow = _formats.V(new Date('' + (d.getFullYear()-1) + '/12/31'));
                    }
                    return _xPad(idow, 0);
                },
                w: 'getDay',
                W: function (d) {
                    var doy = parseInt(_formats.j(d), 10);
                    var rdow = 7-_formats.u(d);
                    var woy = parseInt((doy+rdow)/7, 10);
                    return _xPad(woy, 0, 10);
                },
                y: function (d) {
                    return _xPad(d.getFullYear()%100, 0);
                },
                Y: 'getFullYear',
                z: function (d) {
                    var o = d.getTimezoneOffset();
                    var H = _xPad(parseInt(Math.abs(o/60), 10), 0);
                    var M = _xPad(o%60, 0);
                    return (o>0?'-':'+') + H + M;
                },
                Z: function (d) {
                    return d.toString().replace(/^.*\(([^)]+)\)$/, '$1');
                },
                '%': function (d) {
                    return '%';
                }
            };
            // END STATIC
        
        
            var _date = ((typeof(timestamp) == 'undefined') ? new Date() : // Not provided
                (typeof(timestamp) == 'number') ? new Date(timestamp*1000) : // UNIX timestamp
                new Date(timestamp)); // Date() object
        
            var _aggregates = {
                c: 'locale',
                D: '%m/%d/%y',
                F: '%y-%m-%d',
                h: '%b',
                n: '\n',
                r: 'locale',
                R: '%H:%M',
                t: '\t',
                T: '%H:%M:%S',
                x: 'locale',
                X: 'locale',
                z: _formats.z(_date),
                Z: _formats.Z(_date)
            };
        
        
            // First replace aggregates
            while (fmt.match(/%[cDFhnrRtTxXzZ]/)) {
                fmt = fmt.replace(/%([cDFhnrRtTxXzZ])/g, function (m0, m1)
                {
                    var f = _aggregates[m1];
                    return (f === 'locale' ? locales[locale].LC_TIME[m1] : f);
                });
            }
        
            // Now replace formats - we need a closure so that the date object gets passed through
            var str = fmt.replace(/%([aAbBCdegGHIjlmMpPsSuUVwWyY%])/g, function (m0, m1) {
                var f = _formats[m1];
                if (typeof f === 'string') {
                    return _date[f]();
                } else if (typeof f === 'function') {
                    return f(_date);
                } else if (typeof f === 'object' && typeof (f[0]) === 'string') {
                    return _xPad(_date[f[0]](), f[1]);
                } else { // Shouldn't reach here
                    return m1;
                }
            });
            return str;
        }
        ,
        strtotime: function (str, now) {
            // Convert string representation of date and time to a timestamp  
            // 
            // version: 908.2210
            // discuss at: http://phpjs.org/functions/strtotime
            // +   original by: Caio Ariede (http://caioariede.com)
            // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
            // +      input by: David
            // +   improved by: Caio Ariede (http://caioariede.com)
            // +   improved by: Brett Zamir (http://brett-zamir.me)
            // +   bugfixed by: Wagner B. Soares
            // +   bugfixed by: Artur Tchernychev
            // %        note 1: Examples all have a fixed timestamp to prevent tests to fail because of variable time(zones)
            // *     example 1: $P.strtotime('+1 day', 1129633200);
            // *     returns 1: 1129719600
            // *     example 2: $P.strtotime('+1 week 2 days 4 hours 2 seconds', 1129633200);
            // *     returns 2: 1130425202
            // *     example 3: $P.strtotime('last month', 1129633200);
            // *     returns 3: 1127041200
            // *     example 4: $P.strtotime('2009-05-04 08:30:00');
            // *     returns 4: 1241418600
         
            var i, match, s, strTmp = '', parse = '';
        
            strTmp = str;
            strTmp = strTmp.replace(/\s{2,}|^\s|\s$/g, ' '); // unecessary spaces
            strTmp = strTmp.replace(/[\t\r\n]/g, ''); // unecessary chars
        
            if (strTmp == 'now') {
                return (new Date()).getTime()/1000; // Return seconds, not milli-seconds
            } else if (!isNaN(parse = Date.parse(strTmp))) {
                return (parse/1000);
            } else if (now) {
                now = new Date(now*1000); // Accept PHP-style seconds
            } else {
                now = new Date();
            }
        
            strTmp = strTmp.toLowerCase();
        
            var __is =
            {
                day:
                {
                    'sun': 0,
                    'mon': 1,
                    'tue': 2,
                    'wed': 3,
                    'thu': 4,
                    'fri': 5,
                    'sat': 6
                },
                mon:
                {
                    'jan': 0,
                    'feb': 1,
                    'mar': 2,
                    'apr': 3,
                    'may': 4,
                    'jun': 5,
                    'jul': 6,
                    'aug': 7,
                    'sep': 8,
                    'oct': 9,
                    'nov': 10,
                    'dec': 11
                }
            };
        
            var process = function (m) {
                var ago = (m[2] && m[2] == 'ago');
                var num = (num = m[0] == 'last' ? -1 : 1) * (ago ? -1 : 1);
        
                switch (m[0]) {
                    case 'last':
                    case 'next':
                        switch (m[1].substring(0, 3)) {
                            case 'yea':
                                now.setFullYear(now.getFullYear() + num);
                                break;
                            case 'mon':
                                now.setMonth(now.getMonth() + num);
                                break;
                            case 'wee':
                                now.setDate(now.getDate() + (num * 7));
                                break;
                            case 'day':
                                now.setDate(now.getDate() + num);
                                break;
                            case 'hou':
                                now.setHours(now.getHours() + num);
                                break;
                            case 'min':
                                now.setMinutes(now.getMinutes() + num);
                                break;
                            case 'sec':
                                now.setSeconds(now.getSeconds() + num);
                                break;
                            default:
                                var day;
                                if (typeof (day = __is.day[m[1].substring(0, 3)]) != 'undefined') {
                                    var diff = day - now.getDay();
                                    if (diff == 0) {
                                        diff = 7 * num;
                                    } else if (diff > 0) {
                                        if (m[0] == 'last') {diff -= 7;}
                                    } else {
                                        if (m[0] == 'next') {diff += 7;}
                                    }
                                    now.setDate(now.getDate() + diff);
                                }
                        }
                        break;
        
                    default:
                        if (/\d+/.test(m[0])) {
                            num *= parseInt(m[0], 10);
        
                            switch (m[1].substring(0, 3)) {
                                case 'yea':
                                    now.setFullYear(now.getFullYear() + num);
                                    break;
                                case 'mon':
                                    now.setMonth(now.getMonth() + num);
                                    break;
                                case 'wee':
                                    now.setDate(now.getDate() + (num * 7));
                                    break;
                                case 'day':
                                    now.setDate(now.getDate() + num);
                                    break;
                                case 'hou':
                                    now.setHours(now.getHours() + num);
                                    break;
                                case 'min':
                                    now.setMinutes(now.getMinutes() + num);
                                    break;
                                case 'sec':
                                    now.setSeconds(now.getSeconds() + num);
                                    break;
                            }
                        } else {
                            return false;
                        }
                        break;
                }
                return true;
            };
        
            match = strTmp.match(/^(\d{2,4}-\d{2}-\d{2})(?:\s(\d{1,2}:\d{2}(:\d{2})?)?(?:\.(\d+))?)?$/);
            if (match != null) {
                if (!match[2]) {
                    match[2] = '00:00:00';
                } else if (!match[3]) {
                    match[2] += ':00';
                }
        
                s = match[1].split(/-/g);
        
                for (i in __is.mon) {
                    if (__is.mon[i] == s[1] - 1) {
                        s[1] = i;
                    }
                }
                s[0] = parseInt(s[0], 10);
        
                s[0] = (s[0] >= 0 && s[0] <= 69) ? '20'+(s[0] < 10 ? '0'+s[0] : s[0]+'') : (s[0] >= 70 && s[0] <= 99) ? '19'+s[0] : s[0]+'';
                return parseInt(this.strtotime(s[2] + ' ' + s[1] + ' ' + s[0] + ' ' + match[2])+(match[4] ? match[4]/1000 : ''), 10);
            }
        
            var regex = '([+-]?\\d+\\s'+
                '(years?|months?|weeks?|days?|hours?|min|minutes?|sec|seconds?'+
                '|sun\.?|sunday|mon\.?|monday|tue\.?|tuesday|wed\.?|wednesday'+
                '|thu\.?|thursday|fri\.?|friday|sat\.?|saturday)'+
                '|(last|next)\\s'+
                '(years?|months?|weeks?|days?|hours?|min|minutes?|sec|seconds?'+
                '|sun\.?|sunday|mon\.?|monday|tue\.?|tuesday|wed\.?|wednesday'+
                '|thu\.?|thursday|fri\.?|friday|sat\.?|saturday))'+
                '(\\sago)?';
        
            match = strTmp.match(new RegExp(regex, 'g'));
            if (match == null) {
                return false;
            }
        
            for (i = 0; i < match.length; i++) {
                if (!process(match[i].split(' '))) {
                    return false;
                }
            }
        
            return (now.getTime()/1000);
        }
        ,
        time: function () {
            // Return current UNIX timestamp  
            // 
            // version: 908.406
            // discuss at: http://phpjs.org/functions/time
            // +   original by: GeekFG (http://geekfg.blogspot.com)
            // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
            // +   improved by: metjay
            // *     example 1: $P.timeStamp = time();
            // *     results 1: timeStamp > 1000000000 && timeStamp < 2000000000
            
            return Math.round(new Date().getTime()/1000);
        }
        ,
        timezone_abbreviations_list: function () {
            // !No description available for timezone_abbreviations_list. @php.js developers: Please update the function summary text file.
            // 
            // version: 908.406
            // discuss at: http://phpjs.org/functions/timezone_abbreviations_list
            // +   original by: Brett Zamir (http://brett-zamir.me)
            // +      input by: ChaosNo1
            // %        note 1: Based on list returned by PHP 5.2.6 (Windows)
            // *     example 1: $P.var list = timezone_abbreviations_list()
            // *     example 1: $P.list['acst'][0].timezone_id
            // *     returns 1: 'America/Porto_Acre'
             
            var timezone_abbreviations = {
              'acst' :
              [
                {'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'America/Porto_Acre'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'America/Eirunepe'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'America/Rio_Branco'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'Brazil/Acre'
                }
              ],
              'act' :
              [
                {'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'America/Porto_Acre'
                },{
                  'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'America/Eirunepe'
                },{
                  'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'America/Rio_Branco'
                },{
                  'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'Brazil/Acre'
                }
              ],
              'addt' :
              [
                {'dst' : true,
                  'offset' : -7200,
                  'timezone_id' : 'America/Goose_Bay'
                },{
                  'dst' : true,
                  'offset' : -7200,
                  'timezone_id' : 'America/Pangnirtung'
                }
              ],
              'adt' :
              [
                {'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'America/Halifax'
                },{
                  'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'America/Barbados'
                },{
                  'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'America/Blanc-Sablon'
                },{
                  'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'America/Glace_Bay'
                },{
                  'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'America/Goose_Bay'
                },{
                  'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'America/Martinique'
                },{
                  'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'America/Moncton'
                },{
                  'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'America/Pangnirtung'
                },{
                  'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'America/Thule'
                },{
                  'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'Atlantic/Bermuda'
                },{
                  'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'Canada/Atlantic'
                },{
                  'dst' : true,
                  'offset' : 14400,
                  'timezone_id' : 'Asia/Baghdad'
                }
              ],
              'aft' :
              [
                {'dst' : false,
                  'offset' : 16200,
                  'timezone_id' : 'Asia/Kabul'
                }
              ],
              'ahdt' :
              [
                {'dst' : true,
                  'offset' : -32400,
                  'timezone_id' : 'America/Anchorage'
                },{
                  'dst' : true,
                  'offset' : -32400,
                  'timezone_id' : 'US/Alaska'
                }
              ],
              'ahst' :
              [
                {'dst' : false,
                  'offset' : -36000,
                  'timezone_id' : 'America/Anchorage'
                },{
                  'dst' : false,
                  'offset' : -36000,
                  'timezone_id' : 'America/Adak'
                },{
                  'dst' : false,
                  'offset' : -36000,
                  'timezone_id' : 'America/Atka'
                },{
                  'dst' : false,
                  'offset' : -36000,
                  'timezone_id' : 'US/Alaska'
                },{
                  'dst' : false,
                  'offset' : -36000,
                  'timezone_id' : 'US/Aleutian'
                }
              ],
              'akdt' :
              [
                {'dst' : true,
                  'offset' : -28800,
                  'timezone_id' : 'America/Anchorage'
                },{
                  'dst' : true,
                  'offset' : -28800,
                  'timezone_id' : 'America/Juneau'
                },{
                  'dst' : true,
                  'offset' : -28800,
                  'timezone_id' : 'America/Nome'
                },{
                  'dst' : true,
                  'offset' : -28800,
                  'timezone_id' : 'America/Yakutat'
                },{
                  'dst' : true,
                  'offset' : -28800,
                  'timezone_id' : 'US/Alaska'
                }
              ],
              'akst' :
              [
                {'dst' : false,
                  'offset' : -32400,
                  'timezone_id' : 'America/Anchorage'
                },{
                  'dst' : false,
                  'offset' : -32400,
                  'timezone_id' : 'America/Juneau'
                },{
                  'dst' : false,
                  'offset' : -32400,
                  'timezone_id' : 'America/Nome'
                },{
                  'dst' : false,
                  'offset' : -32400,
                  'timezone_id' : 'America/Yakutat'
                },{
                  'dst' : false,
                  'offset' : -32400,
                  'timezone_id' : 'US/Alaska'
                }
              ],
              'aktst' :
              [
                {'dst' : true,
                  'offset' : 21600,
                  'timezone_id' : 'Asia/Aqtobe'
                }
              ],
              'aktt' :
              [
                {'dst' : false,
                  'offset' : 14400,
                  'timezone_id' : 'Asia/Aqtobe'
                },{
                  'dst' : false,
                  'offset' : 18000,
                  'timezone_id' : 'Asia/Aqtobe'
                },{
                  'dst' : false,
                  'offset' : 21600,
                  'timezone_id' : 'Asia/Aqtobe'
                }
              ],
              'almst' :
              [
                {'dst' : true,
                  'offset' : 25200,
                  'timezone_id' : 'Asia/Almaty'
                }
              ],
              'almt' :
              [
                {'dst' : false,
                  'offset' : 18000,
                  'timezone_id' : 'Asia/Almaty'
                },{
                  'dst' : false,
                  'offset' : 21600,
                  'timezone_id' : 'Asia/Almaty'
                }
              ],
              'amst' :
              [
                {'dst' : true,
                  'offset' : 14400,
                  'timezone_id' : 'Asia/Yerevan'
                },{
                  'dst' : true,
                  'offset' : 18000,
                  'timezone_id' : 'Asia/Yerevan'
                },{
                  'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'America/Boa_Vista'
                },{
                  'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'America/Campo_Grande'
                },{
                  'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'America/Cuiaba'
                },{
                  'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'America/Manaus'
                },{
                  'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'America/Porto_Velho'
                },{
                  'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'Brazil/West'
                }
              ],
              'amt' :
              [
                {'dst' : false,
                  'offset' : 10800,
                  'timezone_id' : 'Asia/Yerevan'
                },{
                  'dst' : false,
                  'offset' : 14400,
                  'timezone_id' : 'Asia/Yerevan'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Boa_Vista'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Campo_Grande'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Cuiaba'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Manaus'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Porto_Velho'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'Brazil/West'
                },{
                  'dst' : false,
                  'offset' : 1172,
                  'timezone_id' : 'Europe/Amsterdam'
                }
              ],
              'anast' :
              [
                {'dst' : true,
                  'offset' : 43200,
                  'timezone_id' : 'Asia/Anadyr'
                },{
                  'dst' : true,
                  'offset' : 46800,
                  'timezone_id' : 'Asia/Anadyr'
                },{
                  'dst' : true,
                  'offset' : 50400,
                  'timezone_id' : 'Asia/Anadyr'
                }
              ],
              'anat' :
              [
                {'dst' : false,
                  'offset' : 39600,
                  'timezone_id' : 'Asia/Anadyr'
                },{
                  'dst' : false,
                  'offset' : 43200,
                  'timezone_id' : 'Asia/Anadyr'
                },{
                  'dst' : false,
                  'offset' : 46800,
                  'timezone_id' : 'Asia/Anadyr'
                }
              ],
              'ant' :
              [
                {'dst' : false,
                  'offset' : -16200,
                  'timezone_id' : 'America/Curacao'
                },{
                  'dst' : false,
                  'offset' : -16200,
                  'timezone_id' : 'America/Aruba'
                }
              ],
              'apt' :
              [
                {'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'America/Halifax'
                },{
                  'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'America/Blanc-Sablon'
                },{
                  'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'America/Glace_Bay'
                },{
                  'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'America/Moncton'
                },{
                  'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'America/Pangnirtung'
                },{
                  'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'America/Puerto_Rico'
                },{
                  'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'Canada/Atlantic'
                }
              ],
              'aqtst' :
              [
                {'dst' : true,
                  'offset' : 18000,
                  'timezone_id' : 'Asia/Aqtau'
                },{
                  'dst' : true,
                  'offset' : 21600,
                  'timezone_id' : 'Asia/Aqtau'
                },{
                  'dst' : true,
                  'offset' : 21600,
                  'timezone_id' : 'Asia/Aqtobe'
                }
              ],
              'aqtt' :
              [
                {'dst' : false,
                  'offset' : 14400,
                  'timezone_id' : 'Asia/Aqtau'
                },{
                  'dst' : false,
                  'offset' : 18000,
                  'timezone_id' : 'Asia/Aqtau'
                },{
                  'dst' : false,
                  'offset' : 18000,
                  'timezone_id' : 'Asia/Aqtobe'
                }
              ],
              'arst' :
              [
                {'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'America/Buenos_Aires'
                },{
                  'dst' : true,
                  'offset' : -7200,
                  'timezone_id' : 'America/Buenos_Aires'
                },{
                  'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'America/Argentina/Buenos_Aires'
                },{
                  'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'America/Argentina/Catamarca'
                },{
                  'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'America/Argentina/ComodRivadavia'
                },{
                  'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'America/Argentina/Cordoba'
                },{
                  'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'America/Argentina/Jujuy'
                },{
                  'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'America/Argentina/La_Rioja'
                },{
                  'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'America/Argentina/Mendoza'
                },{
                  'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'America/Argentina/Rio_Gallegos'
                },{
                  'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'America/Argentina/San_Juan'
                },{
                  'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'America/Argentina/Tucuman'
                },{
                  'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'America/Argentina/Ushuaia'
                },{
                  'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'America/Catamarca'
                },{
                  'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'America/Cordoba'
                },{
                  'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'America/Jujuy'
                },{
                  'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'America/Mendoza'
                },{
                  'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'America/Rosario'
                },{
                  'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'Antarctica/Palmer'
                },{
                  'dst' : true,
                  'offset' : -7200,
                  'timezone_id' : 'America/Argentina/Buenos_Aires'
                },{
                  'dst' : true,
                  'offset' : -7200,
                  'timezone_id' : 'America/Argentina/Catamarca'
                },{
                  'dst' : true,
                  'offset' : -7200,
                  'timezone_id' : 'America/Argentina/ComodRivadavia'
                },{
                  'dst' : true,
                  'offset' : -7200,
                  'timezone_id' : 'America/Argentina/Cordoba'
                },{
                  'dst' : true,
                  'offset' : -7200,
                  'timezone_id' : 'America/Argentina/Jujuy'
                },{
                  'dst' : true,
                  'offset' : -7200,
                  'timezone_id' : 'America/Argentina/La_Rioja'
                },{
                  'dst' : true,
                  'offset' : -7200,
                  'timezone_id' : 'America/Argentina/Mendoza'
                },{
                  'dst' : true,
                  'offset' : -7200,
                  'timezone_id' : 'America/Argentina/Rio_Gallegos'
                },{
                  'dst' : true,
                  'offset' : -7200,
                  'timezone_id' : 'America/Argentina/San_Juan'
                },{
                  'dst' : true,
                  'offset' : -7200,
                  'timezone_id' : 'America/Argentina/Tucuman'
                },{
                  'dst' : true,
                  'offset' : -7200,
                  'timezone_id' : 'America/Argentina/Ushuaia'
                },{
                  'dst' : true,
                  'offset' : -7200,
                  'timezone_id' : 'America/Catamarca'
                },{
                  'dst' : true,
                  'offset' : -7200,
                  'timezone_id' : 'America/Cordoba'
                },{
                  'dst' : true,
                  'offset' : -7200,
                  'timezone_id' : 'America/Jujuy'
                },{
                  'dst' : true,
                  'offset' : -7200,
                  'timezone_id' : 'America/Mendoza'
                },{
                  'dst' : true,
                  'offset' : -7200,
                  'timezone_id' : 'America/Rosario'
                },{
                  'dst' : true,
                  'offset' : -7200,
                  'timezone_id' : 'Antarctica/Palmer'
                }
              ],
              'art' :
              [
                {'dst' : false,
                  'offset' : -10800,
                  'timezone_id' : 'America/Buenos_Aires'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Buenos_Aires'
                },{
                  'dst' : false,
                  'offset' : -10800,
                  'timezone_id' : 'America/Argentina/Buenos_Aires'
                },{
                  'dst' : false,
                  'offset' : -10800,
                  'timezone_id' : 'America/Argentina/Catamarca'
                },{
                  'dst' : false,
                  'offset' : -10800,
                  'timezone_id' : 'America/Argentina/ComodRivadavia'
                },{
                  'dst' : false,
                  'offset' : -10800,
                  'timezone_id' : 'America/Argentina/Cordoba'
                },{
                  'dst' : false,
                  'offset' : -10800,
                  'timezone_id' : 'America/Argentina/Jujuy'
                },{
                  'dst' : false,
                  'offset' : -10800,
                  'timezone_id' : 'America/Argentina/La_Rioja'
                },{
                  'dst' : false,
                  'offset' : -10800,
                  'timezone_id' : 'America/Argentina/Mendoza'
                },{
                  'dst' : false,
                  'offset' : -10800,
                  'timezone_id' : 'America/Argentina/Rio_Gallegos'
                },{
                  'dst' : false,
                  'offset' : -10800,
                  'timezone_id' : 'America/Argentina/San_Juan'
                },{
                  'dst' : false,
                  'offset' : -10800,
                  'timezone_id' : 'America/Argentina/Tucuman'
                },{
                  'dst' : false,
                  'offset' : -10800,
                  'timezone_id' : 'America/Argentina/Ushuaia'
                },{
                  'dst' : false,
                  'offset' : -10800,
                  'timezone_id' : 'America/Catamarca'
                },{
                  'dst' : false,
                  'offset' : -10800,
                  'timezone_id' : 'America/Cordoba'
                },{
                  'dst' : false,
                  'offset' : -10800,
                  'timezone_id' : 'America/Jujuy'
                },{
                  'dst' : false,
                  'offset' : -10800,
                  'timezone_id' : 'America/Mendoza'
                },{
                  'dst' : false,
                  'offset' : -10800,
                  'timezone_id' : 'America/Rosario'
                },{
                  'dst' : false,
                  'offset' : -10800,
                  'timezone_id' : 'Antarctica/Palmer'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Argentina/Buenos_Aires'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Argentina/Catamarca'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Argentina/ComodRivadavia'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Argentina/Cordoba'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Argentina/Jujuy'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Argentina/La_Rioja'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Argentina/Mendoza'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Argentina/Rio_Gallegos'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Argentina/San_Juan'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Argentina/Tucuman'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Argentina/Ushuaia'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Catamarca'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Cordoba'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Jujuy'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Mendoza'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Rosario'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'Antarctica/Palmer'
                }
              ],
              'ashst' :
              [
                {'dst' : true,
                  'offset' : 18000,
                  'timezone_id' : 'Asia/Ashkhabad'
                },{
                  'dst' : true,
                  'offset' : 21600,
                  'timezone_id' : 'Asia/Ashkhabad'
                },{
                  'dst' : true,
                  'offset' : 18000,
                  'timezone_id' : 'Asia/Ashgabat'
                },{
                  'dst' : true,
                  'offset' : 21600,
                  'timezone_id' : 'Asia/Ashgabat'
                }
              ],
              'asht' :
              [
                {'dst' : false,
                  'offset' : 14400,
                  'timezone_id' : 'Asia/Ashkhabad'
                },{
                  'dst' : false,
                  'offset' : 18000,
                  'timezone_id' : 'Asia/Ashkhabad'
                },{
                  'dst' : false,
                  'offset' : 14400,
                  'timezone_id' : 'Asia/Ashgabat'
                },{
                  'dst' : false,
                  'offset' : 18000,
                  'timezone_id' : 'Asia/Ashgabat'
                }
              ],
              'ast' :
              [
                {'dst' : false,
                  'offset' : 10800,
                  'timezone_id' : 'Asia/Riyadh'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Anguilla'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Antigua'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Aruba'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Barbados'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Blanc-Sablon'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Curacao'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Dominica'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Glace_Bay'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Goose_Bay'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Grenada'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Guadeloupe'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Halifax'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Martinique'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Miquelon'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Moncton'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Montserrat'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Pangnirtung'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Port_of_Spain'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Puerto_Rico'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Santo_Domingo'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/St_Kitts'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/St_Lucia'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/St_Thomas'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/St_Vincent'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Thule'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Tortola'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Virgin'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'Atlantic/Bermuda'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'Canada/Atlantic'
                },{
                  'dst' : false,
                  'offset' : 10800,
                  'timezone_id' : 'Asia/Aden'
                },{
                  'dst' : false,
                  'offset' : 10800,
                  'timezone_id' : 'Asia/Baghdad'
                },{
                  'dst' : false,
                  'offset' : 10800,
                  'timezone_id' : 'Asia/Bahrain'
                },{
                  'dst' : false,
                  'offset' : 10800,
                  'timezone_id' : 'Asia/Kuwait'
                },{
                  'dst' : false,
                  'offset' : 10800,
                  'timezone_id' : 'Asia/Qatar'
                }
              ],
              'awt' :
              [
                {'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'America/Halifax'
                },{
                  'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'America/Blanc-Sablon'
                },{
                  'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'America/Glace_Bay'
                },{
                  'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'America/Moncton'
                },{
                  'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'America/Pangnirtung'
                },{
                  'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'America/Puerto_Rico'
                },{
                  'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'Canada/Atlantic'
                }
              ],
              'azomt' :
              [
                {'dst' : true,
                  'offset' : 0,
                  'timezone_id' : 'Atlantic/Azores'
                }
              ],
              'azost' :
              [
                {'dst' : true,
                  'offset' : -3600,
                  'timezone_id' : 'Atlantic/Azores'
                },{
                  'dst' : true,
                  'offset' : 0,
                  'timezone_id' : 'Atlantic/Azores'
                }
              ],
              'azot' :
              [
                {'dst' : false,
                  'offset' : -3600,
                  'timezone_id' : 'Atlantic/Azores'
                },{
                  'dst' : false,
                  'offset' : -7200,
                  'timezone_id' : 'Atlantic/Azores'
                }
              ],
              'azst' :
              [
                {'dst' : true,
                  'offset' : 14400,
                  'timezone_id' : 'Asia/Baku'
                },{
                  'dst' : true,
                  'offset' : 18000,
                  'timezone_id' : 'Asia/Baku'
                }
              ],
              'azt' :
              [
                {'dst' : false,
                  'offset' : 10800,
                  'timezone_id' : 'Asia/Baku'
                },{
                  'dst' : false,
                  'offset' : 14400,
                  'timezone_id' : 'Asia/Baku'
                }
              ],
              'bakst' :
              [
                {'dst' : true,
                  'offset' : 14400,
                  'timezone_id' : 'Asia/Baku'
                },{
                  'dst' : true,
                  'offset' : 18000,
                  'timezone_id' : 'Asia/Baku'
                }
              ],
              'bakt' :
              [
                {'dst' : false,
                  'offset' : 10800,
                  'timezone_id' : 'Asia/Baku'
                },{
                  'dst' : false,
                  'offset' : 14400,
                  'timezone_id' : 'Asia/Baku'
                }
              ],
              'bdst' :
              [
                {'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/London'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Belfast'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Gibraltar'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Guernsey'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Isle_of_Man'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Jersey'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'GB'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'GB-Eire'
                }
              ],
              'bdt' :
              [
                {'dst' : true,
                  'offset' : -36000,
                  'timezone_id' : 'America/Adak'
                },{
                  'dst' : true,
                  'offset' : -36000,
                  'timezone_id' : 'America/Atka'
                },{
                  'dst' : true,
                  'offset' : -36000,
                  'timezone_id' : 'America/Nome'
                },{
                  'dst' : true,
                  'offset' : -36000,
                  'timezone_id' : 'US/Aleutian'
                },{
                  'dst' : false,
                  'offset' : 21600,
                  'timezone_id' : 'Asia/Dacca'
                },{
                  'dst' : false,
                  'offset' : 21600,
                  'timezone_id' : 'Asia/Dhaka'
                }
              ],
              'beat' :
              [
                {'dst' : false,
                  'offset' : 9000,
                  'timezone_id' : 'Africa/Mogadishu'
                },{
                  'dst' : false,
                  'offset' : 9000,
                  'timezone_id' : 'Africa/Kampala'
                },{
                  'dst' : false,
                  'offset' : 9000,
                  'timezone_id' : 'Africa/Nairobi'
                }
              ],
              'beaut' :
              [
                {'dst' : false,
                  'offset' : 9885,
                  'timezone_id' : 'Africa/Nairobi'
                },{
                  'dst' : false,
                  'offset' : 9885,
                  'timezone_id' : 'Africa/Dar_es_Salaam'
                },{
                  'dst' : false,
                  'offset' : 9885,
                  'timezone_id' : 'Africa/Kampala'
                }
              ],
              'bmt' :
              [
                {'dst' : false,
                  'offset' : -14308,
                  'timezone_id' : 'America/Barbados'
                },{
                  'dst' : false,
                  'offset' : -3996,
                  'timezone_id' : 'Africa/Banjul'
                },{
                  'dst' : false,
                  'offset' : 6264,
                  'timezone_id' : 'Europe/Tiraspol'
                },{
                  'dst' : false,
                  'offset' : 6264,
                  'timezone_id' : 'Europe/Chisinau'
                }
              ],
              'bnt' :
              [
                {'dst' : false,
                  'offset' : 27000,
                  'timezone_id' : 'Asia/Brunei'
                },{
                  'dst' : false,
                  'offset' : 28800,
                  'timezone_id' : 'Asia/Brunei'
                }
              ],
              'bortst' :
              [
                {'dst' : true,
                  'offset' : 30000,
                  'timezone_id' : 'Asia/Kuching'
                }
              ],
              'bort' :
              [
                {'dst' : false,
                  'offset' : 27000,
                  'timezone_id' : 'Asia/Kuching'
                },{
                  'dst' : false,
                  'offset' : 28800,
                  'timezone_id' : 'Asia/Kuching'
                }
              ],
              'bost' :
              [
                {'dst' : true,
                  'offset' : -12756,
                  'timezone_id' : 'America/La_Paz'
                }
              ],
              'bot' :
              [
                {'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/La_Paz'
                }
              ],
              'brst' :
              [
                {'dst' : true,
                  'offset' : -7200,
                  'timezone_id' : 'America/Sao_Paulo'
                },{
                  'dst' : true,
                  'offset' : -7200,
                  'timezone_id' : 'America/Araguaina'
                },{
                  'dst' : true,
                  'offset' : -7200,
                  'timezone_id' : 'America/Bahia'
                },{
                  'dst' : true,
                  'offset' : -7200,
                  'timezone_id' : 'America/Belem'
                },{
                  'dst' : true,
                  'offset' : -7200,
                  'timezone_id' : 'America/Fortaleza'
                },{
                  'dst' : true,
                  'offset' : -7200,
                  'timezone_id' : 'America/Maceio'
                },{
                  'dst' : true,
                  'offset' : -7200,
                  'timezone_id' : 'America/Recife'
                },{
                  'dst' : true,
                  'offset' : -7200,
                  'timezone_id' : 'Brazil/East'
                }
              ],
              'brt' :
              [
                {'dst' : false,
                  'offset' : -10800,
                  'timezone_id' : 'America/Sao_Paulo'
                },{
                  'dst' : false,
                  'offset' : -10800,
                  'timezone_id' : 'America/Araguaina'
                },{
                  'dst' : false,
                  'offset' : -10800,
                  'timezone_id' : 'America/Bahia'
                },{
                  'dst' : false,
                  'offset' : -10800,
                  'timezone_id' : 'America/Belem'
                },{
                  'dst' : false,
                  'offset' : -10800,
                  'timezone_id' : 'America/Fortaleza'
                },{
                  'dst' : false,
                  'offset' : -10800,
                  'timezone_id' : 'America/Maceio'
                },{
                  'dst' : false,
                  'offset' : -10800,
                  'timezone_id' : 'America/Recife'
                },{
                  'dst' : false,
                  'offset' : -10800,
                  'timezone_id' : 'Brazil/East'
                }
              ],
              'bst' :
              [
                {'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/London'
                },{
                  'dst' : true,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/London'
                },{
                  'dst' : false,
                  'offset' : -39600,
                  'timezone_id' : 'America/Adak'
                },{
                  'dst' : false,
                  'offset' : -39600,
                  'timezone_id' : 'America/Atka'
                },{
                  'dst' : false,
                  'offset' : -39600,
                  'timezone_id' : 'America/Nome'
                },{
                  'dst' : false,
                  'offset' : -39600,
                  'timezone_id' : 'Pacific/Midway'
                },{
                  'dst' : false,
                  'offset' : -39600,
                  'timezone_id' : 'Pacific/Pago_Pago'
                },{
                  'dst' : false,
                  'offset' : -39600,
                  'timezone_id' : 'Pacific/Samoa'
                },{
                  'dst' : false,
                  'offset' : -39600,
                  'timezone_id' : 'US/Aleutian'
                },{
                  'dst' : false,
                  'offset' : -39600,
                  'timezone_id' : 'US/Samoa'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Belfast'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Guernsey'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Isle_of_Man'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Jersey'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'GB'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'GB-Eire'
                },{
                  'dst' : true,
                  'offset' : 3600,
                  'timezone_id' : 'Eire'
                },{
                  'dst' : true,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Belfast'
                },{
                  'dst' : true,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Dublin'
                },{
                  'dst' : true,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Gibraltar'
                },{
                  'dst' : true,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Guernsey'
                },{
                  'dst' : true,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Isle_of_Man'
                },{
                  'dst' : true,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Jersey'
                },{
                  'dst' : true,
                  'offset' : 3600,
                  'timezone_id' : 'GB'
                },{
                  'dst' : true,
                  'offset' : 3600,
                  'timezone_id' : 'GB-Eire'
                }
              ],
              'btt' :
              [
                {'dst' : false,
                  'offset' : 21600,
                  'timezone_id' : 'Asia/Thimbu'
                },{
                  'dst' : false,
                  'offset' : 21600,
                  'timezone_id' : 'Asia/Thimphu'
                }
              ],
              'burt' :
              [
                {'dst' : false,
                  'offset' : 23400,
                  'timezone_id' : 'Asia/Calcutta'
                },{
                  'dst' : false,
                  'offset' : 23400,
                  'timezone_id' : 'Asia/Dacca'
                },{
                  'dst' : false,
                  'offset' : 23400,
                  'timezone_id' : 'Asia/Dhaka'
                },{
                  'dst' : false,
                  'offset' : 23400,
                  'timezone_id' : 'Asia/Rangoon'
                }
              ],
              'cant' :
              [
                {'dst' : false,
                  'offset' : -3600,
                  'timezone_id' : 'Atlantic/Canary'
                }
              ],
              'capt' :
              [
                {'dst' : true,
                  'offset' : -32400,
                  'timezone_id' : 'America/Anchorage'
                },{
                  'dst' : true,
                  'offset' : -32400,
                  'timezone_id' : 'US/Alaska'
                }
              ],
              'cast' :
              [
                {'dst' : false,
                  'offset' : 34200,
                  'timezone_id' : 'Australia/Adelaide'
                },{
                  'dst' : true,
                  'offset' : 10800,
                  'timezone_id' : 'Africa/Gaborone'
                },{
                  'dst' : true,
                  'offset' : 10800,
                  'timezone_id' : 'Africa/Khartoum'
                }
              ],
              'cat' :
              [
                {'dst' : false,
                  'offset' : -36000,
                  'timezone_id' : 'America/Anchorage'
                },{
                  'dst' : false,
                  'offset' : -36000,
                  'timezone_id' : 'US/Alaska'
                },{
                  'dst' : false,
                  'offset' : 7200,
                  'timezone_id' : 'Africa/Khartoum'
                },{
                  'dst' : false,
                  'offset' : 7200,
                  'timezone_id' : 'Africa/Blantyre'
                },{
                  'dst' : false,
                  'offset' : 7200,
                  'timezone_id' : 'Africa/Gaborone'
                },{
                  'dst' : false,
                  'offset' : 7200,
                  'timezone_id' : 'Africa/Harare'
                },{
                  'dst' : false,
                  'offset' : 7200,
                  'timezone_id' : 'Africa/Kigali'
                },{
                  'dst' : false,
                  'offset' : 7200,
                  'timezone_id' : 'Africa/Lusaka'
                },{
                  'dst' : false,
                  'offset' : 7200,
                  'timezone_id' : 'Africa/Maputo'
                },{
                  'dst' : false,
                  'offset' : 7200,
                  'timezone_id' : 'Africa/Windhoek'
                }
              ],
              'cawt' :
              [
                {'dst' : true,
                  'offset' : -32400,
                  'timezone_id' : 'America/Anchorage'
                },{
                  'dst' : true,
                  'offset' : -32400,
                  'timezone_id' : 'US/Alaska'
                }
              ],
              'cddt' :
              [
                {'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'America/Rankin_Inlet'
                }
              ],
              'cdt' :
              [
                {'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Chicago'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'America/Havana'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'Cuba'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Atikokan'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Belize'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Cambridge_Bay'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Cancun'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Chihuahua'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Coral_Harbour'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Costa_Rica'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/El_Salvador'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Fort_Wayne'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Guatemala'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Indiana/Indianapolis'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Indiana/Knox'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Indiana/Marengo'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Indiana/Petersburg'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Indiana/Vevay'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Indiana/Vincennes'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Indiana/Winamac'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Indianapolis'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Iqaluit'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Kentucky/Louisville'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Kentucky/Monticello'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Knox_IN'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Louisville'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Managua'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Menominee'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Merida'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Mexico_City'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Monterrey'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/North_Dakota/Center'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/North_Dakota/New_Salem'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Pangnirtung'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Rainy_River'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Rankin_Inlet'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Tegucigalpa'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Winnipeg'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'Canada/Central'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'CST6CDT'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'Mexico/General'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'US/Central'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'US/East-Indiana'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'US/Indiana-Starke'
                },{
                  'dst' : true,
                  'offset' : 32400,
                  'timezone_id' : 'Asia/Shanghai'
                },{
                  'dst' : true,
                  'offset' : 32400,
                  'timezone_id' : 'Asia/Chongqing'
                },{
                  'dst' : true,
                  'offset' : 32400,
                  'timezone_id' : 'Asia/Chungking'
                },{
                  'dst' : true,
                  'offset' : 32400,
                  'timezone_id' : 'Asia/Harbin'
                },{
                  'dst' : true,
                  'offset' : 32400,
                  'timezone_id' : 'Asia/Kashgar'
                },{
                  'dst' : true,
                  'offset' : 32400,
                  'timezone_id' : 'Asia/Taipei'
                },{
                  'dst' : true,
                  'offset' : 32400,
                  'timezone_id' : 'Asia/Urumqi'
                },{
                  'dst' : true,
                  'offset' : 32400,
                  'timezone_id' : 'PRC'
                },{
                  'dst' : true,
                  'offset' : 32400,
                  'timezone_id' : 'ROC'
                }
              ],
              'cemt' :
              [
                {'dst' : true,
                  'offset' : 10800,
                  'timezone_id' : 'Europe/Berlin'
                },{
                  'dst' : true,
                  'offset' : 10800,
                  'timezone_id' : 'CET'
                }
              ],
              'cest' :
              [
                {'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Berlin'
                },{
                  'dst' : true,
                  'offset' : 10800,
                  'timezone_id' : 'Europe/Kaliningrad'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Africa/Algiers'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Africa/Ceuta'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Africa/Tripoli'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Africa/Tunis'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Arctic/Longyearbyen'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Atlantic/Jan_Mayen'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'CET'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Amsterdam'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Andorra'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Athens'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Belgrade'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Bratislava'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Brussels'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Budapest'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Chisinau'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Copenhagen'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Gibraltar'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Kaliningrad'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Kiev'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Lisbon'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Ljubljana'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Luxembourg'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Madrid'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Malta'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Minsk'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Monaco'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Oslo'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Paris'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Podgorica'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Prague'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Riga'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Rome'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/San_Marino'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Sarajevo'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Simferopol'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Skopje'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Sofia'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Stockholm'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Tallinn'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Tirane'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Tiraspol'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Uzhgorod'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Vaduz'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Vatican'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Vienna'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Vilnius'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Warsaw'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Zagreb'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Zaporozhye'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Zurich'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Libya'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Poland'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Portugal'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'WET'
                }
              ],
              'cet' :
              [
                {'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Berlin'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Africa/Algiers'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Africa/Casablanca'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Africa/Ceuta'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Africa/Tripoli'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Africa/Tunis'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Arctic/Longyearbyen'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Atlantic/Jan_Mayen'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'CET'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Amsterdam'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Andorra'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Athens'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Belgrade'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Bratislava'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Brussels'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Budapest'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Chisinau'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Copenhagen'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Gibraltar'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Kaliningrad'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Kiev'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Lisbon'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Ljubljana'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Luxembourg'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Madrid'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Malta'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Minsk'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Monaco'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Oslo'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Paris'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Podgorica'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Prague'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Riga'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Rome'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/San_Marino'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Sarajevo'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Simferopol'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Skopje'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Sofia'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Stockholm'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Tallinn'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Tirane'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Tiraspol'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Uzhgorod'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Vaduz'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Vatican'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Vienna'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Vilnius'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Warsaw'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Zagreb'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Zaporozhye'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Zurich'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Libya'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Poland'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Portugal'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'WET'
                },{
                  'dst' : false,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Kaliningrad'
                }
              ],
              'cgst' :
              [
                {'dst' : true,
                  'offset' : -3600,
                  'timezone_id' : 'America/Scoresbysund'
                }
              ],
              'cgt' :
              [
                {'dst' : false,
                  'offset' : -7200,
                  'timezone_id' : 'America/Scoresbysund'
                }
              ],
              'chadt' :
              [
                {'dst' : true,
                  'offset' : 49500,
                  'timezone_id' : 'Pacific/Chatham'
                },{
                  'dst' : true,
                  'offset' : 49500,
                  'timezone_id' : 'NZ-CHAT'
                }
              ],
              'chast' :
              [
                {'dst' : false,
                  'offset' : 45900,
                  'timezone_id' : 'Pacific/Chatham'
                },{
                  'dst' : false,
                  'offset' : 45900,
                  'timezone_id' : 'NZ-CHAT'
                }
              ],
              'chat' :
              [
                {'dst' : false,
                  'offset' : 30600,
                  'timezone_id' : 'Asia/Harbin'
                },{
                  'dst' : false,
                  'offset' : 32400,
                  'timezone_id' : 'Asia/Harbin'
                }
              ],
              'chdt' :
              [
                {'dst' : true,
                  'offset' : -19800,
                  'timezone_id' : 'America/Belize'
                }
              ],
              'chost' :
              [
                {'dst' : true,
                  'offset' : 36000,
                  'timezone_id' : 'Asia/Choibalsan'
                }
              ],
              'chot' :
              [
                {'dst' : false,
                  'offset' : 32400,
                  'timezone_id' : 'Asia/Choibalsan'
                }
              ],
              'cit' :
              [
                {'dst' : false,
                  'offset' : 28800,
                  'timezone_id' : 'Asia/Dili'
                },{
                  'dst' : false,
                  'offset' : 28800,
                  'timezone_id' : 'Asia/Makassar'
                },{
                  'dst' : false,
                  'offset' : 28800,
                  'timezone_id' : 'Asia/Pontianak'
                },{
                  'dst' : false,
                  'offset' : 28800,
                  'timezone_id' : 'Asia/Ujung_Pandang'
                }
              ],
              'cjt' :
              [
                {'dst' : false,
                  'offset' : 32400,
                  'timezone_id' : 'Asia/Sakhalin'
                }
              ],
              'ckhst' :
              [
                {'dst' : true,
                  'offset' : -34200,
                  'timezone_id' : 'Pacific/Rarotonga'
                }
              ],
              'ckt' :
              [
                {'dst' : false,
                  'offset' : -36000,
                  'timezone_id' : 'Pacific/Rarotonga'
                }
              ],
              'clst' :
              [
                {'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'America/Santiago'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'America/Santiago'
                },{
                  'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'Antarctica/Palmer'
                },{
                  'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'Chile/Continental'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'Chile/Continental'
                }
              ],
              'clt' :
              [
                {'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Santiago'
                },{
                  'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'America/Santiago'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'Antarctica/Palmer'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'Chile/Continental'
                },{
                  'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'Chile/Continental'
                }
              ],
              'cost' :
              [
                {'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'America/Bogota'
                }
              ],
              'cot' :
              [
                {'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'America/Bogota'
                }
              ],
              'cpt' :
              [
                {'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Chicago'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Atikokan'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Coral_Harbour'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Fort_Wayne'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Indiana/Indianapolis'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Indiana/Knox'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Indiana/Marengo'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Indiana/Petersburg'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Indiana/Vevay'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Indiana/Vincennes'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Indiana/Winamac'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Indianapolis'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Kentucky/Louisville'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Kentucky/Monticello'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Knox_IN'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Louisville'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Menominee'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Rainy_River'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Rankin_Inlet'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Winnipeg'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'Canada/Central'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'CST6CDT'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'US/Central'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'US/East-Indiana'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'US/Indiana-Starke'
                }
              ],
              'cst' :
              [
                {'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : 'America/Chicago'
                },{
                  'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'America/Havana'
                },{
                  'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'Cuba'
                },{
                  'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : 'America/Atikokan'
                },{
                  'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : 'America/Belize'
                },{
                  'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : 'America/Cambridge_Bay'
                },{
                  'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : 'America/Cancun'
                },{
                  'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : 'America/Chihuahua'
                },{
                  'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : 'America/Coral_Harbour'
                },{
                  'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : 'America/Costa_Rica'
                },{
                  'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : 'America/Detroit'
                },{
                  'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : 'America/El_Salvador'
                },{
                  'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : 'America/Fort_Wayne'
                },{
                  'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : 'America/Guatemala'
                },{
                  'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : 'America/Hermosillo'
                },{
                  'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : 'America/Indiana/Indianapolis'
                },{
                  'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : 'America/Indiana/Knox'
                },{
                  'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : 'America/Indiana/Marengo'
                },{
                  'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : 'America/Indiana/Petersburg'
                },{
                  'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : 'America/Indiana/Vevay'
                },{
                  'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : 'America/Indiana/Vincennes'
                },{
                  'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : 'America/Indiana/Winamac'
                },{
                  'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : 'America/Indianapolis'
                },{
                  'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : 'America/Iqaluit'
                },{
                  'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : 'America/Kentucky/Louisville'
                },{
                  'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : 'America/Kentucky/Monticello'
                },{
                  'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : 'America/Knox_IN'
                },{
                  'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : 'America/Louisville'
                },{
                  'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : 'America/Managua'
                },{
                  'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : 'America/Mazatlan'
                },{
                  'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : 'America/Menominee'
                },{
                  'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : 'America/Merida'
                },{
                  'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : 'America/Mexico_City'
                },{
                  'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : 'America/Monterrey'
                },{
                  'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : 'America/North_Dakota/Center'
                },{
                  'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : 'America/North_Dakota/New_Salem'
                },{
                  'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : 'America/Pangnirtung'
                },{
                  'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : 'America/Rainy_River'
                },{
                  'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : 'America/Rankin_Inlet'
                },{
                  'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : 'America/Regina'
                },{
                  'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : 'America/Swift_Current'
                },{
                  'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : 'America/Tegucigalpa'
                },{
                  'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : 'America/Winnipeg'
                },{
                  'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : 'Canada/Central'
                },{
                  'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : 'Canada/East-Saskatchewan'
                },{
                  'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : 'Canada/Saskatchewan'
                },{
                  'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : 'CST6CDT'
                },{
                  'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : 'Mexico/BajaSur'
                },{
                  'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : 'Mexico/General'
                },{
                  'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : 'US/Central'
                },{
                  'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : 'US/East-Indiana'
                },{
                  'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : 'US/Indiana-Starke'
                },{
                  'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : 'US/Michigan'
                },{
                  'dst' : false,
                  'offset' : 28800,
                  'timezone_id' : 'Asia/Chongqing'
                },{
                  'dst' : false,
                  'offset' : 28800,
                  'timezone_id' : 'Asia/Chungking'
                },{
                  'dst' : false,
                  'offset' : 28800,
                  'timezone_id' : 'Asia/Harbin'
                },{
                  'dst' : false,
                  'offset' : 28800,
                  'timezone_id' : 'Asia/Kashgar'
                },{
                  'dst' : false,
                  'offset' : 28800,
                  'timezone_id' : 'Asia/Macao'
                },{
                  'dst' : false,
                  'offset' : 28800,
                  'timezone_id' : 'Asia/Macau'
                },{
                  'dst' : false,
                  'offset' : 28800,
                  'timezone_id' : 'Asia/Shanghai'
                },{
                  'dst' : false,
                  'offset' : 28800,
                  'timezone_id' : 'Asia/Taipei'
                },{
                  'dst' : false,
                  'offset' : 28800,
                  'timezone_id' : 'Asia/Urumqi'
                },{
                  'dst' : false,
                  'offset' : 28800,
                  'timezone_id' : 'PRC'
                },{
                  'dst' : false,
                  'offset' : 28800,
                  'timezone_id' : 'ROC'
                },{
                  'dst' : false,
                  'offset' : 34200,
                  'timezone_id' : 'Asia/Jayapura'
                },{
                  'dst' : false,
                  'offset' : 34200,
                  'timezone_id' : 'Australia/Adelaide'
                },{
                  'dst' : false,
                  'offset' : 34200,
                  'timezone_id' : 'Australia/Broken_Hill'
                },{
                  'dst' : false,
                  'offset' : 34200,
                  'timezone_id' : 'Australia/Darwin'
                },{
                  'dst' : false,
                  'offset' : 34200,
                  'timezone_id' : 'Australia/North'
                },{
                  'dst' : false,
                  'offset' : 34200,
                  'timezone_id' : 'Australia/South'
                },{
                  'dst' : false,
                  'offset' : 34200,
                  'timezone_id' : 'Australia/Yancowinna'
                },{
                  'dst' : true,
                  'offset' : 37800,
                  'timezone_id' : 'Australia/Adelaide'
                },{
                  'dst' : true,
                  'offset' : 37800,
                  'timezone_id' : 'Australia/Broken_Hill'
                },{
                  'dst' : true,
                  'offset' : 37800,
                  'timezone_id' : 'Australia/Darwin'
                },{
                  'dst' : true,
                  'offset' : 37800,
                  'timezone_id' : 'Australia/North'
                },{
                  'dst' : true,
                  'offset' : 37800,
                  'timezone_id' : 'Australia/South'
                },{
                  'dst' : true,
                  'offset' : 37800,
                  'timezone_id' : 'Australia/Yancowinna'
                }
              ],
              'cvst' :
              [
                {'dst' : true,
                  'offset' : -3600,
                  'timezone_id' : 'Atlantic/Cape_Verde'
                }
              ],
              'cvt' :
              [
                {'dst' : false,
                  'offset' : -3600,
                  'timezone_id' : 'Atlantic/Cape_Verde'
                },{
                  'dst' : false,
                  'offset' : -7200,
                  'timezone_id' : 'Atlantic/Cape_Verde'
                }
              ],
              'cwst' :
              [
                {'dst' : false,
                  'offset' : 31500,
                  'timezone_id' : 'Australia/Eucla'
                },{
                  'dst' : true,
                  'offset' : 35100,
                  'timezone_id' : 'Australia/Eucla'
                }
              ],
              'cwt' :
              [
                {'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Chicago'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Atikokan'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Coral_Harbour'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Fort_Wayne'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Indiana/Indianapolis'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Indiana/Knox'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Indiana/Marengo'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Indiana/Petersburg'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Indiana/Vevay'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Indiana/Vincennes'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Indiana/Winamac'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Indianapolis'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Kentucky/Louisville'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Kentucky/Monticello'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Knox_IN'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Louisville'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Menominee'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Mexico_City'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Rainy_River'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Rankin_Inlet'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Winnipeg'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'Canada/Central'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'CST6CDT'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'Mexico/General'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'US/Central'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'US/East-Indiana'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'US/Indiana-Starke'
                }
              ],
              'chst' :
              [
                {'dst' : false,
                  'offset' : 36000,
                  'timezone_id' : 'Pacific/Guam'
                },{
                  'dst' : false,
                  'offset' : 36000,
                  'timezone_id' : 'Pacific/Saipan'
                }
              ],
              'dact' :
              [
                {'dst' : false,
                  'offset' : 21600,
                  'timezone_id' : 'Asia/Dacca'
                },{
                  'dst' : false,
                  'offset' : 21600,
                  'timezone_id' : 'Asia/Dhaka'
                }
              ],
              'davt' :
              [
                {'dst' : false,
                  'offset' : 25200,
                  'timezone_id' : 'Antarctica/Davis'
                }
              ],
              'ddut' :
              [
                {'dst' : false,
                  'offset' : 36000,
                  'timezone_id' : 'Antarctica/DumontDUrville'
                }
              ],
              'dusst' :
              [
                {'dst' : true,
                  'offset' : 21600,
                  'timezone_id' : 'Asia/Dushanbe'
                },{
                  'dst' : true,
                  'offset' : 25200,
                  'timezone_id' : 'Asia/Dushanbe'
                }
              ],
              'dust' :
              [
                {'dst' : false,
                  'offset' : 18000,
                  'timezone_id' : 'Asia/Dushanbe'
                },{
                  'dst' : false,
                  'offset' : 21600,
                  'timezone_id' : 'Asia/Dushanbe'
                }
              ],
              'easst' :
              [
                {'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'Chile/EasterIsland'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'Chile/EasterIsland'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'Pacific/Easter'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'Pacific/Easter'
                }
              ],
              'east' :
              [
                {'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : 'Chile/EasterIsland'
                },{
                  'dst' : false,
                  'offset' : -25200,
                  'timezone_id' : 'Chile/EasterIsland'
                },{
                  'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : 'Pacific/Easter'
                },{
                  'dst' : false,
                  'offset' : -25200,
                  'timezone_id' : 'Pacific/Easter'
                },{
                  'dst' : true,
                  'offset' : 14400,
                  'timezone_id' : 'Indian/Antananarivo'
                }
              ],
              'eat' :
              [
                {'dst' : false,
                  'offset' : 10800,
                  'timezone_id' : 'Africa/Khartoum'
                },{
                  'dst' : false,
                  'offset' : 10800,
                  'timezone_id' : 'Africa/Addis_Ababa'
                },{
                  'dst' : false,
                  'offset' : 10800,
                  'timezone_id' : 'Africa/Asmara'
                },{
                  'dst' : false,
                  'offset' : 10800,
                  'timezone_id' : 'Africa/Asmera'
                },{
                  'dst' : false,
                  'offset' : 10800,
                  'timezone_id' : 'Africa/Dar_es_Salaam'
                },{
                  'dst' : false,
                  'offset' : 10800,
                  'timezone_id' : 'Africa/Djibouti'
                },{
                  'dst' : false,
                  'offset' : 10800,
                  'timezone_id' : 'Africa/Kampala'
                },{
                  'dst' : false,
                  'offset' : 10800,
                  'timezone_id' : 'Africa/Mogadishu'
                },{
                  'dst' : false,
                  'offset' : 10800,
                  'timezone_id' : 'Africa/Nairobi'
                },{
                  'dst' : false,
                  'offset' : 10800,
                  'timezone_id' : 'Indian/Antananarivo'
                },{
                  'dst' : false,
                  'offset' : 10800,
                  'timezone_id' : 'Indian/Comoro'
                },{
                  'dst' : false,
                  'offset' : 10800,
                  'timezone_id' : 'Indian/Mayotte'
                }
              ],
              'ect' :
              [
                {'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'America/Guayaquil'
                },{
                  'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'Pacific/Galapagos'
                }
              ],
              'eddt' :
              [
                {'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'America/Iqaluit'
                }
              ],
              'edt' :
              [
                {'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'America/New_York'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'America/Cancun'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'America/Detroit'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'America/Fort_Wayne'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'America/Grand_Turk'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'America/Indiana/Indianapolis'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'America/Indiana/Marengo'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'America/Indiana/Vevay'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'America/Indiana/Vincennes'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'America/Indiana/Winamac'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'America/Indianapolis'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'America/Iqaluit'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'America/Jamaica'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'America/Kentucky/Louisville'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'America/Kentucky/Monticello'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'America/Louisville'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'America/Montreal'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'America/Nassau'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'America/Nipigon'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'America/Pangnirtung'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'America/Port-au-Prince'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'America/Santo_Domingo'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'America/Thunder_Bay'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'America/Toronto'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'Canada/Eastern'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'EST'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'EST5EDT'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'Jamaica'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'US/East-Indiana'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'US/Eastern'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'US/Michigan'
                }
              ],
              'eest' :
              [
                {'dst' : true,
                  'offset' : 10800,
                  'timezone_id' : 'Europe/Helsinki'
                },{
                  'dst' : true,
                  'offset' : 10800,
                  'timezone_id' : 'Africa/Cairo'
                },{
                  'dst' : true,
                  'offset' : 10800,
                  'timezone_id' : 'Asia/Amman'
                },{
                  'dst' : true,
                  'offset' : 10800,
                  'timezone_id' : 'Asia/Beirut'
                },{
                  'dst' : true,
                  'offset' : 10800,
                  'timezone_id' : 'Asia/Damascus'
                },{
                  'dst' : true,
                  'offset' : 10800,
                  'timezone_id' : 'Asia/Gaza'
                },{
                  'dst' : true,
                  'offset' : 10800,
                  'timezone_id' : 'Asia/Istanbul'
                },{
                  'dst' : true,
                  'offset' : 10800,
                  'timezone_id' : 'Asia/Nicosia'
                },{
                  'dst' : true,
                  'offset' : 10800,
                  'timezone_id' : 'EET'
                },{
                  'dst' : true,
                  'offset' : 10800,
                  'timezone_id' : 'Egypt'
                },{
                  'dst' : true,
                  'offset' : 10800,
                  'timezone_id' : 'Europe/Athens'
                },{
                  'dst' : true,
                  'offset' : 10800,
                  'timezone_id' : 'Europe/Bucharest'
                },{
                  'dst' : true,
                  'offset' : 10800,
                  'timezone_id' : 'Europe/Chisinau'
                },{
                  'dst' : true,
                  'offset' : 10800,
                  'timezone_id' : 'Europe/Istanbul'
                },{
                  'dst' : true,
                  'offset' : 10800,
                  'timezone_id' : 'Europe/Kaliningrad'
                },{
                  'dst' : true,
                  'offset' : 10800,
                  'timezone_id' : 'Europe/Kiev'
                },{
                  'dst' : true,
                  'offset' : 10800,
                  'timezone_id' : 'Europe/Mariehamn'
                },{
                  'dst' : true,
                  'offset' : 10800,
                  'timezone_id' : 'Europe/Minsk'
                },{
                  'dst' : true,
                  'offset' : 10800,
                  'timezone_id' : 'Europe/Moscow'
                },{
                  'dst' : true,
                  'offset' : 10800,
                  'timezone_id' : 'Europe/Nicosia'
                },{
                  'dst' : true,
                  'offset' : 10800,
                  'timezone_id' : 'Europe/Riga'
                },{
                  'dst' : true,
                  'offset' : 10800,
                  'timezone_id' : 'Europe/Simferopol'
                },{
                  'dst' : true,
                  'offset' : 10800,
                  'timezone_id' : 'Europe/Sofia'
                },{
                  'dst' : true,
                  'offset' : 10800,
                  'timezone_id' : 'Europe/Tallinn'
                },{
                  'dst' : true,
                  'offset' : 10800,
                  'timezone_id' : 'Europe/Tiraspol'
                },{
                  'dst' : true,
                  'offset' : 10800,
                  'timezone_id' : 'Europe/Uzhgorod'
                },{
                  'dst' : true,
                  'offset' : 10800,
                  'timezone_id' : 'Europe/Vilnius'
                },{
                  'dst' : true,
                  'offset' : 10800,
                  'timezone_id' : 'Europe/Warsaw'
                },{
                  'dst' : true,
                  'offset' : 10800,
                  'timezone_id' : 'Europe/Zaporozhye'
                },{
                  'dst' : true,
                  'offset' : 10800,
                  'timezone_id' : 'Poland'
                },{
                  'dst' : true,
                  'offset' : 10800,
                  'timezone_id' : 'Turkey'
                },{
                  'dst' : true,
                  'offset' : 10800,
                  'timezone_id' : 'W-SU'
                }
              ],
              'eet' :
              [
                {'dst' : false,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Helsinki'
                },{
                  'dst' : true,
                  'offset' : 10800,
                  'timezone_id' : 'Asia/Gaza'
                },{
                  'dst' : false,
                  'offset' : 7200,
                  'timezone_id' : 'Africa/Cairo'
                },{
                  'dst' : false,
                  'offset' : 7200,
                  'timezone_id' : 'Africa/Tripoli'
                },{
                  'dst' : false,
                  'offset' : 7200,
                  'timezone_id' : 'Asia/Amman'
                },{
                  'dst' : false,
                  'offset' : 7200,
                  'timezone_id' : 'Asia/Beirut'
                },{
                  'dst' : false,
                  'offset' : 7200,
                  'timezone_id' : 'Asia/Damascus'
                },{
                  'dst' : false,
                  'offset' : 7200,
                  'timezone_id' : 'Asia/Gaza'
                },{
                  'dst' : false,
                  'offset' : 7200,
                  'timezone_id' : 'Asia/Istanbul'
                },{
                  'dst' : false,
                  'offset' : 7200,
                  'timezone_id' : 'Asia/Nicosia'
                },{
                  'dst' : false,
                  'offset' : 7200,
                  'timezone_id' : 'EET'
                },{
                  'dst' : false,
                  'offset' : 7200,
                  'timezone_id' : 'Egypt'
                },{
                  'dst' : false,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Athens'
                },{
                  'dst' : false,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Bucharest'
                },{
                  'dst' : false,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Chisinau'
                },{
                  'dst' : false,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Istanbul'
                },{
                  'dst' : false,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Kaliningrad'
                },{
                  'dst' : false,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Kiev'
                },{
                  'dst' : false,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Mariehamn'
                },{
                  'dst' : false,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Minsk'
                },{
                  'dst' : false,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Moscow'
                },{
                  'dst' : false,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Nicosia'
                },{
                  'dst' : false,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Riga'
                },{
                  'dst' : false,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Simferopol'
                },{
                  'dst' : false,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Sofia'
                },{
                  'dst' : false,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Tallinn'
                },{
                  'dst' : false,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Tiraspol'
                },{
                  'dst' : false,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Uzhgorod'
                },{
                  'dst' : false,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Vilnius'
                },{
                  'dst' : false,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Warsaw'
                },{
                  'dst' : false,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Zaporozhye'
                },{
                  'dst' : false,
                  'offset' : 7200,
                  'timezone_id' : 'Libya'
                },{
                  'dst' : false,
                  'offset' : 7200,
                  'timezone_id' : 'Poland'
                },{
                  'dst' : false,
                  'offset' : 7200,
                  'timezone_id' : 'Turkey'
                },{
                  'dst' : false,
                  'offset' : 7200,
                  'timezone_id' : 'W-SU'
                }
              ],
              'egst' :
              [
                {'dst' : true,
                  'offset' : 0,
                  'timezone_id' : 'America/Scoresbysund'
                }
              ],
              'egt' :
              [
                {'dst' : false,
                  'offset' : -3600,
                  'timezone_id' : 'America/Scoresbysund'
                }
              ],
              'ehdt' :
              [
                {'dst' : true,
                  'offset' : -16200,
                  'timezone_id' : 'America/Santo_Domingo'
                }
              ],
              'eit' :
              [
                {'dst' : false,
                  'offset' : 32400,
                  'timezone_id' : 'Asia/Jayapura'
                }
              ],
              'ept' :
              [
                {'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'America/New_York'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'America/Detroit'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'America/Iqaluit'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'America/Montreal'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'America/Nipigon'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'America/Thunder_Bay'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'America/Toronto'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'Canada/Eastern'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'EST'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'EST5EDT'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'US/Eastern'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'US/Michigan'
                }
              ],
              'est' :
              [
                {'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'America/New_York'
                },{
                  'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'America/Antigua'
                },{
                  'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'America/Atikokan'
                },{
                  'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'America/Cambridge_Bay'
                },{
                  'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'America/Cancun'
                },{
                  'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'America/Cayman'
                },{
                  'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'America/Chicago'
                },{
                  'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'America/Coral_Harbour'
                },{
                  'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'America/Detroit'
                },{
                  'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'America/Fort_Wayne'
                },{
                  'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'America/Grand_Turk'
                },{
                  'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'America/Indiana/Indianapolis'
                },{
                  'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'America/Indiana/Knox'
                },{
                  'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'America/Indiana/Marengo'
                },{
                  'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'America/Indiana/Petersburg'
                },{
                  'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'America/Indiana/Vevay'
                },{
                  'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'America/Indiana/Vincennes'
                },{
                  'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'America/Indiana/Winamac'
                },{
                  'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'America/Indianapolis'
                },{
                  'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'America/Iqaluit'
                },{
                  'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'America/Jamaica'
                },{
                  'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'America/Kentucky/Louisville'
                },{
                  'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'America/Kentucky/Monticello'
                },{
                  'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'America/Knox_IN'
                },{
                  'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'America/Louisville'
                },{
                  'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'America/Managua'
                },{
                  'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'America/Menominee'
                },{
                  'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'America/Merida'
                },{
                  'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'America/Montreal'
                },{
                  'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'America/Nassau'
                },{
                  'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'America/Nipigon'
                },{
                  'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'America/Panama'
                },{
                  'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'America/Pangnirtung'
                },{
                  'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'America/Port-au-Prince'
                },{
                  'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'America/Rankin_Inlet'
                },{
                  'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'America/Santo_Domingo'
                },{
                  'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'America/Thunder_Bay'
                },{
                  'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'America/Toronto'
                },{
                  'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'Canada/Eastern'
                },{
                  'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'EST'
                },{
                  'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'EST5EDT'
                },{
                  'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'Jamaica'
                },{
                  'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'US/Central'
                },{
                  'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'US/East-Indiana'
                },{
                  'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'US/Eastern'
                },{
                  'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'US/Indiana-Starke'
                },{
                  'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'US/Michigan'
                },{
                  'dst' : false,
                  'offset' : 36000,
                  'timezone_id' : 'Australia/ACT'
                },{
                  'dst' : false,
                  'offset' : 36000,
                  'timezone_id' : 'Australia/Brisbane'
                },{
                  'dst' : false,
                  'offset' : 36000,
                  'timezone_id' : 'Australia/Canberra'
                },{
                  'dst' : false,
                  'offset' : 36000,
                  'timezone_id' : 'Australia/Currie'
                },{
                  'dst' : false,
                  'offset' : 36000,
                  'timezone_id' : 'Australia/Hobart'
                },{
                  'dst' : false,
                  'offset' : 36000,
                  'timezone_id' : 'Australia/Lindeman'
                },{
                  'dst' : false,
                  'offset' : 36000,
                  'timezone_id' : 'Australia/Melbourne'
                },{
                  'dst' : false,
                  'offset' : 36000,
                  'timezone_id' : 'Australia/NSW'
                },{
                  'dst' : false,
                  'offset' : 36000,
                  'timezone_id' : 'Australia/Queensland'
                },{
                  'dst' : false,
                  'offset' : 36000,
                  'timezone_id' : 'Australia/Sydney'
                },{
                  'dst' : false,
                  'offset' : 36000,
                  'timezone_id' : 'Australia/Tasmania'
                },{
                  'dst' : false,
                  'offset' : 36000,
                  'timezone_id' : 'Australia/Victoria'
                },{
                  'dst' : true,
                  'offset' : 39600,
                  'timezone_id' : 'Australia/Melbourne'
                },{
                  'dst' : true,
                  'offset' : 39600,
                  'timezone_id' : 'Australia/ACT'
                },{
                  'dst' : true,
                  'offset' : 39600,
                  'timezone_id' : 'Australia/Brisbane'
                },{
                  'dst' : true,
                  'offset' : 39600,
                  'timezone_id' : 'Australia/Canberra'
                },{
                  'dst' : true,
                  'offset' : 39600,
                  'timezone_id' : 'Australia/Currie'
                },{
                  'dst' : true,
                  'offset' : 39600,
                  'timezone_id' : 'Australia/Hobart'
                },{
                  'dst' : true,
                  'offset' : 39600,
                  'timezone_id' : 'Australia/Lindeman'
                },{
                  'dst' : true,
                  'offset' : 39600,
                  'timezone_id' : 'Australia/NSW'
                },{
                  'dst' : true,
                  'offset' : 39600,
                  'timezone_id' : 'Australia/Queensland'
                },{
                  'dst' : true,
                  'offset' : 39600,
                  'timezone_id' : 'Australia/Sydney'
                },{
                  'dst' : true,
                  'offset' : 39600,
                  'timezone_id' : 'Australia/Tasmania'
                },{
                  'dst' : true,
                  'offset' : 39600,
                  'timezone_id' : 'Australia/Victoria'
                }
              ],
              'ewt' :
              [
                {'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'America/New_York'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'America/Detroit'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'America/Iqaluit'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'America/Montreal'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'America/Nipigon'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'America/Thunder_Bay'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'America/Toronto'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'Canada/Eastern'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'EST'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'EST5EDT'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'US/Eastern'
                },{
                  'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'US/Michigan'
                }
              ],
              'fjst' :
              [
                {'dst' : true,
                  'offset' : 46800,
                  'timezone_id' : 'Pacific/Fiji'
                }
              ],
              'fjt' :
              [
                {'dst' : false,
                  'offset' : 43200,
                  'timezone_id' : 'Pacific/Fiji'
                }
              ],
              'fkst' :
              [
                {'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'Atlantic/Stanley'
                },{
                  'dst' : true,
                  'offset' : -7200,
                  'timezone_id' : 'Atlantic/Stanley'
                }
              ],
              'fkt' :
              [
                {'dst' : false,
                  'offset' : -10800,
                  'timezone_id' : 'Atlantic/Stanley'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'Atlantic/Stanley'
                }
              ],
              'fnst' :
              [
                {'dst' : true,
                  'offset' : -3600,
                  'timezone_id' : 'America/Noronha'
                },{
                  'dst' : true,
                  'offset' : -3600,
                  'timezone_id' : 'Brazil/DeNoronha'
                }
              ],
              'fnt' :
              [
                {'dst' : false,
                  'offset' : -7200,
                  'timezone_id' : 'America/Noronha'
                },{
                  'dst' : false,
                  'offset' : -7200,
                  'timezone_id' : 'Brazil/DeNoronha'
                }
              ],
              'fort' :
              [
                {'dst' : false,
                  'offset' : 14400,
                  'timezone_id' : 'Asia/Aqtau'
                },{
                  'dst' : false,
                  'offset' : 18000,
                  'timezone_id' : 'Asia/Aqtau'
                }
              ],
              'frust' :
              [
                {'dst' : true,
                  'offset' : 21600,
                  'timezone_id' : 'Asia/Bishkek'
                },{
                  'dst' : true,
                  'offset' : 25200,
                  'timezone_id' : 'Asia/Bishkek'
                }
              ],
              'frut' :
              [
                {'dst' : false,
                  'offset' : 18000,
                  'timezone_id' : 'Asia/Bishkek'
                },{
                  'dst' : false,
                  'offset' : 21600,
                  'timezone_id' : 'Asia/Bishkek'
                }
              ],
              'galt' :
              [
                {'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : 'Pacific/Galapagos'
                }
              ],
              'gamt' :
              [
                {'dst' : false,
                  'offset' : -32400,
                  'timezone_id' : 'Pacific/Gambier'
                }
              ],
              'gbgt' :
              [
                {'dst' : false,
                  'offset' : -13500,
                  'timezone_id' : 'America/Guyana'
                }
              ],
              'gest' :
              [
                {'dst' : true,
                  'offset' : 14400,
                  'timezone_id' : 'Asia/Tbilisi'
                },{
                  'dst' : true,
                  'offset' : 18000,
                  'timezone_id' : 'Asia/Tbilisi'
                }
              ],
              'get' :
              [
                {'dst' : false,
                  'offset' : 10800,
                  'timezone_id' : 'Asia/Tbilisi'
                },{
                  'dst' : false,
                  'offset' : 14400,
                  'timezone_id' : 'Asia/Tbilisi'
                }
              ],
              'gft' :
              [
                {'dst' : false,
                  'offset' : -10800,
                  'timezone_id' : 'America/Cayenne'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Cayenne'
                }
              ],
              'ghst' :
              [
                {'dst' : true,
                  'offset' : 1200,
                  'timezone_id' : 'Africa/Accra'
                }
              ],
              'gmt' :
              [
                {'dst' : false,
                  'offset' : 0,
                  'timezone_id' : 'Africa/Abidjan'
                },{
                  'dst' : false,
                  'offset' : 0,
                  'timezone_id' : 'Africa/Accra'
                },{
                  'dst' : false,
                  'offset' : 0,
                  'timezone_id' : 'Africa/Bamako'
                },{
                  'dst' : false,
                  'offset' : 0,
                  'timezone_id' : 'Africa/Banjul'
                },{
                  'dst' : false,
                  'offset' : 0,
                  'timezone_id' : 'Africa/Bissau'
                },{
                  'dst' : false,
                  'offset' : 0,
                  'timezone_id' : 'Africa/Conakry'
                },{
                  'dst' : false,
                  'offset' : 0,
                  'timezone_id' : 'Africa/Dakar'
                },{
                  'dst' : false,
                  'offset' : 0,
                  'timezone_id' : 'Africa/Freetown'
                },{
                  'dst' : false,
                  'offset' : 0,
                  'timezone_id' : 'Africa/Malabo'
                },{
                  'dst' : false,
                  'offset' : 0,
                  'timezone_id' : 'Africa/Monrovia'
                },{
                  'dst' : false,
                  'offset' : 0,
                  'timezone_id' : 'Africa/Niamey'
                },{
                  'dst' : false,
                  'offset' : 0,
                  'timezone_id' : 'Africa/Nouakchott'
                },{
                  'dst' : false,
                  'offset' : 0,
                  'timezone_id' : 'Africa/Ouagadougou'
                },{
                  'dst' : false,
                  'offset' : 0,
                  'timezone_id' : 'Africa/Porto-Novo'
                },{
                  'dst' : false,
                  'offset' : 0,
                  'timezone_id' : 'Africa/Sao_Tome'
                },{
                  'dst' : false,
                  'offset' : 0,
                  'timezone_id' : 'Africa/Timbuktu'
                },{
                  'dst' : false,
                  'offset' : 0,
                  'timezone_id' : 'America/Danmarkshavn'
                },{
                  'dst' : false,
                  'offset' : 0,
                  'timezone_id' : 'Atlantic/Reykjavik'
                },{
                  'dst' : false,
                  'offset' : 0,
                  'timezone_id' : 'Atlantic/St_Helena'
                },{
                  'dst' : false,
                  'offset' : 0,
                  'timezone_id' : 'Eire'
                },{
                  'dst' : false,
                  'offset' : 0,
                  'timezone_id' : 'Europe/Belfast'
                },{
                  'dst' : false,
                  'offset' : 0,
                  'timezone_id' : 'Europe/Dublin'
                },{
                  'dst' : false,
                  'offset' : 0,
                  'timezone_id' : 'Europe/Gibraltar'
                },{
                  'dst' : false,
                  'offset' : 0,
                  'timezone_id' : 'Europe/Guernsey'
                },{
                  'dst' : false,
                  'offset' : 0,
                  'timezone_id' : 'Europe/Isle_of_Man'
                },{
                  'dst' : false,
                  'offset' : 0,
                  'timezone_id' : 'Europe/Jersey'
                },{
                  'dst' : false,
                  'offset' : 0,
                  'timezone_id' : 'Europe/London'
                },{
                  'dst' : false,
                  'offset' : 0,
                  'timezone_id' : 'GB'
                },{
                  'dst' : false,
                  'offset' : 0,
                  'timezone_id' : 'GB-Eire'
                },{
                  'dst' : false,
                  'offset' : 0,
                  'timezone_id' : 'Iceland'
                }
              ],
              'gst' :
              [
                {'dst' : false,
                  'offset' : 14400,
                  'timezone_id' : 'Asia/Dubai'
                },{
                  'dst' : false,
                  'offset' : 14400,
                  'timezone_id' : 'Asia/Bahrain'
                },{
                  'dst' : false,
                  'offset' : 14400,
                  'timezone_id' : 'Asia/Muscat'
                },{
                  'dst' : false,
                  'offset' : 14400,
                  'timezone_id' : 'Asia/Qatar'
                }
              ],
              'gyt' :
              [
                {'dst' : false,
                  'offset' : -10800,
                  'timezone_id' : 'America/Guyana'
                },{
                  'dst' : false,
                  'offset' : -13500,
                  'timezone_id' : 'America/Guyana'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Guyana'
                }
              ],
              'hadt' :
              [
                {'dst' : true,
                  'offset' : -32400,
                  'timezone_id' : 'America/Adak'
                },{
                  'dst' : true,
                  'offset' : -32400,
                  'timezone_id' : 'America/Atka'
                },{
                  'dst' : true,
                  'offset' : -32400,
                  'timezone_id' : 'US/Aleutian'
                }
              ],
              'hast' :
              [
                {'dst' : false,
                  'offset' : -36000,
                  'timezone_id' : 'America/Adak'
                },{
                  'dst' : false,
                  'offset' : -36000,
                  'timezone_id' : 'America/Atka'
                },{
                  'dst' : false,
                  'offset' : -36000,
                  'timezone_id' : 'US/Aleutian'
                }
              ],
              'hdt' :
              [
                {'dst' : true,
                  'offset' : -34200,
                  'timezone_id' : 'Pacific/Honolulu'
                },{
                  'dst' : true,
                  'offset' : -34200,
                  'timezone_id' : 'HST'
                },{
                  'dst' : true,
                  'offset' : -34200,
                  'timezone_id' : 'US/Hawaii'
                }
              ],
              'hkst' :
              [
                {'dst' : true,
                  'offset' : 32400,
                  'timezone_id' : 'Asia/Hong_Kong'
                },{
                  'dst' : true,
                  'offset' : 32400,
                  'timezone_id' : 'Hongkong'
                }
              ],
              'hkt' :
              [
                {'dst' : false,
                  'offset' : 28800,
                  'timezone_id' : 'Asia/Hong_Kong'
                },{
                  'dst' : false,
                  'offset' : 28800,
                  'timezone_id' : 'Hongkong'
                }
              ],
              'hovst' :
              [
                {'dst' : true,
                  'offset' : 28800,
                  'timezone_id' : 'Asia/Hovd'
                }
              ],
              'hovt' :
              [
                {'dst' : false,
                  'offset' : 21600,
                  'timezone_id' : 'Asia/Hovd'
                },{
                  'dst' : false,
                  'offset' : 25200,
                  'timezone_id' : 'Asia/Hovd'
                }
              ],
              'hpt' :
              [
                {'dst' : true,
                  'offset' : -34200,
                  'timezone_id' : 'Pacific/Honolulu'
                },{
                  'dst' : true,
                  'offset' : -34200,
                  'timezone_id' : 'HST'
                },{
                  'dst' : true,
                  'offset' : -34200,
                  'timezone_id' : 'US/Hawaii'
                }
              ],
              'hst' :
              [
                {'dst' : false,
                  'offset' : -36000,
                  'timezone_id' : 'Pacific/Honolulu'
                },{
                  'dst' : false,
                  'offset' : -37800,
                  'timezone_id' : 'Pacific/Honolulu'
                },{
                  'dst' : false,
                  'offset' : -36000,
                  'timezone_id' : 'HST'
                },{
                  'dst' : false,
                  'offset' : -36000,
                  'timezone_id' : 'US/Hawaii'
                },{
                  'dst' : false,
                  'offset' : -37800,
                  'timezone_id' : 'HST'
                },{
                  'dst' : false,
                  'offset' : -37800,
                  'timezone_id' : 'US/Hawaii'
                }
              ],
              'hwt' :
              [
                {'dst' : true,
                  'offset' : -34200,
                  'timezone_id' : 'Pacific/Honolulu'
                },{
                  'dst' : true,
                  'offset' : -34200,
                  'timezone_id' : 'HST'
                },{
                  'dst' : true,
                  'offset' : -34200,
                  'timezone_id' : 'US/Hawaii'
                }
              ],
              'ict' :
              [
                {'dst' : false,
                  'offset' : 25200,
                  'timezone_id' : 'Asia/Bangkok'
                },{
                  'dst' : false,
                  'offset' : 25200,
                  'timezone_id' : 'Asia/Phnom_Penh'
                },{
                  'dst' : false,
                  'offset' : 25200,
                  'timezone_id' : 'Asia/Saigon'
                },{
                  'dst' : false,
                  'offset' : 25200,
                  'timezone_id' : 'Asia/Vientiane'
                },{
                  'dst' : false,
                  'offset' : 28800,
                  'timezone_id' : 'Asia/Phnom_Penh'
                },{
                  'dst' : false,
                  'offset' : 28800,
                  'timezone_id' : 'Asia/Saigon'
                },{
                  'dst' : false,
                  'offset' : 28800,
                  'timezone_id' : 'Asia/Vientiane'
                }
              ],
              'iddt' :
              [
                {'dst' : true,
                  'offset' : 14400,
                  'timezone_id' : 'Asia/Jerusalem'
                },{
                  'dst' : true,
                  'offset' : 14400,
                  'timezone_id' : 'Asia/Tel_Aviv'
                },{
                  'dst' : true,
                  'offset' : 14400,
                  'timezone_id' : 'Israel'
                }
              ],
              'idt' :
              [
                {'dst' : true,
                  'offset' : 10800,
                  'timezone_id' : 'Asia/Jerusalem'
                },{
                  'dst' : true,
                  'offset' : 10800,
                  'timezone_id' : 'Asia/Gaza'
                },{
                  'dst' : true,
                  'offset' : 10800,
                  'timezone_id' : 'Asia/Tel_Aviv'
                },{
                  'dst' : true,
                  'offset' : 10800,
                  'timezone_id' : 'Israel'
                }
              ],
              'ihst' :
              [
                {'dst' : true,
                  'offset' : 21600,
                  'timezone_id' : 'Asia/Colombo'
                }
              ],
              'iot' :
              [
                {'dst' : false,
                  'offset' : 18000,
                  'timezone_id' : 'Indian/Chagos'
                },{
                  'dst' : false,
                  'offset' : 21600,
                  'timezone_id' : 'Indian/Chagos'
                }
              ],
              'irdt' :
              [
                {'dst' : true,
                  'offset' : 16200,
                  'timezone_id' : 'Asia/Tehran'
                },{
                  'dst' : true,
                  'offset' : 18000,
                  'timezone_id' : 'Asia/Tehran'
                },{
                  'dst' : true,
                  'offset' : 16200,
                  'timezone_id' : 'Iran'
                },{
                  'dst' : true,
                  'offset' : 18000,
                  'timezone_id' : 'Iran'
                }
              ],
              'irkst' :
              [
                {'dst' : true,
                  'offset' : 28800,
                  'timezone_id' : 'Asia/Irkutsk'
                },{
                  'dst' : true,
                  'offset' : 32400,
                  'timezone_id' : 'Asia/Irkutsk'
                }
              ],
              'irkt' :
              [
                {'dst' : false,
                  'offset' : 25200,
                  'timezone_id' : 'Asia/Irkutsk'
                },{
                  'dst' : false,
                  'offset' : 28800,
                  'timezone_id' : 'Asia/Irkutsk'
                }
              ],
              'irst' :
              [
                {'dst' : false,
                  'offset' : 12600,
                  'timezone_id' : 'Asia/Tehran'
                },{
                  'dst' : false,
                  'offset' : 14400,
                  'timezone_id' : 'Asia/Tehran'
                },{
                  'dst' : false,
                  'offset' : 12600,
                  'timezone_id' : 'Iran'
                },{
                  'dst' : false,
                  'offset' : 14400,
                  'timezone_id' : 'Iran'
                }
              ],
              'isst' :
              [
                {'dst' : true,
                  'offset' : 0,
                  'timezone_id' : 'Atlantic/Reykjavik'
                },{
                  'dst' : true,
                  'offset' : 0,
                  'timezone_id' : 'Iceland'
                }
              ],
              'ist' :
              [
                {'dst' : false,
                  'offset' : 7200,
                  'timezone_id' : 'Asia/Jerusalem'
                },{
                  'dst' : false,
                  'offset' : -3600,
                  'timezone_id' : 'Atlantic/Reykjavik'
                },{
                  'dst' : false,
                  'offset' : -3600,
                  'timezone_id' : 'Iceland'
                },{
                  'dst' : false,
                  'offset' : 19800,
                  'timezone_id' : 'Asia/Calcutta'
                },{
                  'dst' : false,
                  'offset' : 19800,
                  'timezone_id' : 'Asia/Colombo'
                },{
                  'dst' : false,
                  'offset' : 19800,
                  'timezone_id' : 'Asia/Dacca'
                },{
                  'dst' : false,
                  'offset' : 19800,
                  'timezone_id' : 'Asia/Dhaka'
                },{
                  'dst' : false,
                  'offset' : 19800,
                  'timezone_id' : 'Asia/Karachi'
                },{
                  'dst' : false,
                  'offset' : 19800,
                  'timezone_id' : 'Asia/Katmandu'
                },{
                  'dst' : false,
                  'offset' : 19800,
                  'timezone_id' : 'Asia/Thimbu'
                },{
                  'dst' : false,
                  'offset' : 19800,
                  'timezone_id' : 'Asia/Thimphu'
                },{
                  'dst' : true,
                  'offset' : 2079,
                  'timezone_id' : 'Eire'
                },{
                  'dst' : true,
                  'offset' : 2079,
                  'timezone_id' : 'Europe/Dublin'
                },{
                  'dst' : true,
                  'offset' : 23400,
                  'timezone_id' : 'Asia/Calcutta'
                },{
                  'dst' : true,
                  'offset' : 23400,
                  'timezone_id' : 'Asia/Colombo'
                },{
                  'dst' : true,
                  'offset' : 23400,
                  'timezone_id' : 'Asia/Karachi'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Eire'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Dublin'
                },{
                  'dst' : true,
                  'offset' : 3600,
                  'timezone_id' : 'Eire'
                },{
                  'dst' : true,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Dublin'
                },{
                  'dst' : false,
                  'offset' : 7200,
                  'timezone_id' : 'Asia/Gaza'
                },{
                  'dst' : false,
                  'offset' : 7200,
                  'timezone_id' : 'Asia/Tel_Aviv'
                },{
                  'dst' : false,
                  'offset' : 7200,
                  'timezone_id' : 'Israel'
                }
              ],
              'javt' :
              [
                {'dst' : false,
                  'offset' : 26400,
                  'timezone_id' : 'Asia/Jakarta'
                }
              ],
              'jdt' :
              [
                {'dst' : true,
                  'offset' : 36000,
                  'timezone_id' : 'Asia/Tokyo'
                },{
                  'dst' : true,
                  'offset' : 36000,
                  'timezone_id' : 'Japan'
                }
              ],
              'jst' :
              [
                {'dst' : false,
                  'offset' : 32400,
                  'timezone_id' : 'Asia/Tokyo'
                },{
                  'dst' : false,
                  'offset' : 32400,
                  'timezone_id' : 'Asia/Dili'
                },{
                  'dst' : false,
                  'offset' : 32400,
                  'timezone_id' : 'Asia/Jakarta'
                },{
                  'dst' : false,
                  'offset' : 32400,
                  'timezone_id' : 'Asia/Kuala_Lumpur'
                },{
                  'dst' : false,
                  'offset' : 32400,
                  'timezone_id' : 'Asia/Kuching'
                },{
                  'dst' : false,
                  'offset' : 32400,
                  'timezone_id' : 'Asia/Makassar'
                },{
                  'dst' : false,
                  'offset' : 32400,
                  'timezone_id' : 'Asia/Manila'
                },{
                  'dst' : false,
                  'offset' : 32400,
                  'timezone_id' : 'Asia/Pontianak'
                },{
                  'dst' : false,
                  'offset' : 32400,
                  'timezone_id' : 'Asia/Rangoon'
                },{
                  'dst' : false,
                  'offset' : 32400,
                  'timezone_id' : 'Asia/Sakhalin'
                },{
                  'dst' : false,
                  'offset' : 32400,
                  'timezone_id' : 'Asia/Singapore'
                },{
                  'dst' : false,
                  'offset' : 32400,
                  'timezone_id' : 'Asia/Ujung_Pandang'
                },{
                  'dst' : false,
                  'offset' : 32400,
                  'timezone_id' : 'Japan'
                },{
                  'dst' : false,
                  'offset' : 32400,
                  'timezone_id' : 'Pacific/Nauru'
                },{
                  'dst' : false,
                  'offset' : 32400,
                  'timezone_id' : 'Singapore'
                }
              ],
              'kart' :
              [
                {'dst' : false,
                  'offset' : 18000,
                  'timezone_id' : 'Asia/Karachi'
                }
              ],
              'kast' :
              [
                {'dst' : false,
                  'offset' : 18000,
                  'timezone_id' : 'Asia/Kashgar'
                },{
                  'dst' : false,
                  'offset' : 19800,
                  'timezone_id' : 'Asia/Kashgar'
                }
              ],
              'kdt' :
              [
                {'dst' : true,
                  'offset' : 32400,
                  'timezone_id' : 'Asia/Seoul'
                },{
                  'dst' : true,
                  'offset' : 36000,
                  'timezone_id' : 'Asia/Seoul'
                },{
                  'dst' : true,
                  'offset' : 32400,
                  'timezone_id' : 'ROK'
                },{
                  'dst' : true,
                  'offset' : 36000,
                  'timezone_id' : 'ROK'
                }
              ],
              'kgst' :
              [
                {'dst' : true,
                  'offset' : 21600,
                  'timezone_id' : 'Asia/Bishkek'
                }
              ],
              'kgt' :
              [
                {'dst' : false,
                  'offset' : 18000,
                  'timezone_id' : 'Asia/Bishkek'
                },{
                  'dst' : false,
                  'offset' : 21600,
                  'timezone_id' : 'Asia/Bishkek'
                }
              ],
              'kizst' :
              [
                {'dst' : true,
                  'offset' : 21600,
                  'timezone_id' : 'Asia/Qyzylorda'
                }
              ],
              'kizt' :
              [
                {'dst' : false,
                  'offset' : 14400,
                  'timezone_id' : 'Asia/Qyzylorda'
                },{
                  'dst' : false,
                  'offset' : 18000,
                  'timezone_id' : 'Asia/Qyzylorda'
                },{
                  'dst' : false,
                  'offset' : 21600,
                  'timezone_id' : 'Asia/Qyzylorda'
                }
              ],
              'kmt' :
              [
                {'dst' : false,
                  'offset' : 5736,
                  'timezone_id' : 'Europe/Vilnius'
                }
              ],
              'kost' :
              [
                {'dst' : false,
                  'offset' : 39600,
                  'timezone_id' : 'Pacific/Kosrae'
                },{
                  'dst' : false,
                  'offset' : 43200,
                  'timezone_id' : 'Pacific/Kosrae'
                }
              ],
              'krast' :
              [
                {'dst' : true,
                  'offset' : 25200,
                  'timezone_id' : 'Asia/Krasnoyarsk'
                },{
                  'dst' : true,
                  'offset' : 28800,
                  'timezone_id' : 'Asia/Krasnoyarsk'
                }
              ],
              'krat' :
              [
                {'dst' : false,
                  'offset' : 21600,
                  'timezone_id' : 'Asia/Krasnoyarsk'
                },{
                  'dst' : false,
                  'offset' : 25200,
                  'timezone_id' : 'Asia/Krasnoyarsk'
                }
              ],
              'kst' :
              [
                {'dst' : false,
                  'offset' : 28800,
                  'timezone_id' : 'Asia/Seoul'
                },{
                  'dst' : false,
                  'offset' : 30600,
                  'timezone_id' : 'Asia/Seoul'
                },{
                  'dst' : false,
                  'offset' : 32400,
                  'timezone_id' : 'Asia/Seoul'
                },{
                  'dst' : false,
                  'offset' : 28800,
                  'timezone_id' : 'Asia/Pyongyang'
                },{
                  'dst' : false,
                  'offset' : 28800,
                  'timezone_id' : 'ROK'
                },{
                  'dst' : false,
                  'offset' : 30600,
                  'timezone_id' : 'Asia/Pyongyang'
                },{
                  'dst' : false,
                  'offset' : 30600,
                  'timezone_id' : 'ROK'
                },{
                  'dst' : false,
                  'offset' : 32400,
                  'timezone_id' : 'Asia/Pyongyang'
                },{
                  'dst' : false,
                  'offset' : 32400,
                  'timezone_id' : 'ROK'
                }
              ],
              'kuyst' :
              [
                {'dst' : true,
                  'offset' : 10800,
                  'timezone_id' : 'Europe/Samara'
                },{
                  'dst' : true,
                  'offset' : 14400,
                  'timezone_id' : 'Europe/Samara'
                },{
                  'dst' : true,
                  'offset' : 18000,
                  'timezone_id' : 'Europe/Samara'
                }
              ],
              'kuyt' :
              [
                {'dst' : false,
                  'offset' : 10800,
                  'timezone_id' : 'Europe/Samara'
                },{
                  'dst' : false,
                  'offset' : 14400,
                  'timezone_id' : 'Europe/Samara'
                }
              ],
              'kwat' :
              [
                {'dst' : false,
                  'offset' : -43200,
                  'timezone_id' : 'Pacific/Kwajalein'
                },{
                  'dst' : false,
                  'offset' : -43200,
                  'timezone_id' : 'Kwajalein'
                }
              ],
              'lhst' :
              [
                {'dst' : false,
                  'offset' : 37800,
                  'timezone_id' : 'Australia/Lord_Howe'
                },{
                  'dst' : true,
                  'offset' : 39600,
                  'timezone_id' : 'Australia/Lord_Howe'
                },{
                  'dst' : true,
                  'offset' : 41400,
                  'timezone_id' : 'Australia/Lord_Howe'
                },{
                  'dst' : false,
                  'offset' : 37800,
                  'timezone_id' : 'Australia/LHI'
                },{
                  'dst' : true,
                  'offset' : 39600,
                  'timezone_id' : 'Australia/LHI'
                },{
                  'dst' : true,
                  'offset' : 41400,
                  'timezone_id' : 'Australia/LHI'
                }
              ],
              'lint' :
              [
                {'dst' : false,
                  'offset' : -36000,
                  'timezone_id' : 'Pacific/Kiritimati'
                },{
                  'dst' : false,
                  'offset' : 50400,
                  'timezone_id' : 'Pacific/Kiritimati'
                }
              ],
              'lkt' :
              [
                {'dst' : false,
                  'offset' : 21600,
                  'timezone_id' : 'Asia/Colombo'
                },{
                  'dst' : false,
                  'offset' : 23400,
                  'timezone_id' : 'Asia/Colombo'
                }
              ],
              'lont' :
              [
                {'dst' : false,
                  'offset' : 25200,
                  'timezone_id' : 'Asia/Chongqing'
                },{
                  'dst' : false,
                  'offset' : 25200,
                  'timezone_id' : 'Asia/Chungking'
                }
              ],
              'lrt' :
              [
                {'dst' : false,
                  'offset' : -2670,
                  'timezone_id' : 'Africa/Monrovia'
                }
              ],
              'lst' :
              [
                {'dst' : true,
                  'offset' : 9384,
                  'timezone_id' : 'Europe/Riga'
                }
              ],
              'madmt' :
              [
                {'dst' : true,
                  'offset' : 3600,
                  'timezone_id' : 'Atlantic/Madeira'
                }
              ],
              'madst' :
              [
                {'dst' : true,
                  'offset' : 0,
                  'timezone_id' : 'Atlantic/Madeira'
                }
              ],
              'madt' :
              [
                {'dst' : false,
                  'offset' : -3600,
                  'timezone_id' : 'Atlantic/Madeira'
                }
              ],
              'magst' :
              [
                {'dst' : true,
                  'offset' : 39600,
                  'timezone_id' : 'Asia/Magadan'
                },{
                  'dst' : true,
                  'offset' : 43200,
                  'timezone_id' : 'Asia/Magadan'
                }
              ],
              'magt' :
              [
                {'dst' : false,
                  'offset' : 36000,
                  'timezone_id' : 'Asia/Magadan'
                },{
                  'dst' : false,
                  'offset' : 39600,
                  'timezone_id' : 'Asia/Magadan'
                }
              ],
              'malst' :
              [
                {'dst' : true,
                  'offset' : 26400,
                  'timezone_id' : 'Asia/Singapore'
                },{
                  'dst' : true,
                  'offset' : 26400,
                  'timezone_id' : 'Asia/Kuala_Lumpur'
                },{
                  'dst' : true,
                  'offset' : 26400,
                  'timezone_id' : 'Singapore'
                }
              ],
              'malt' :
              [
                {'dst' : false,
                  'offset' : 25200,
                  'timezone_id' : 'Asia/Singapore'
                },{
                  'dst' : false,
                  'offset' : 26400,
                  'timezone_id' : 'Asia/Singapore'
                },{
                  'dst' : false,
                  'offset' : 27000,
                  'timezone_id' : 'Asia/Singapore'
                },{
                  'dst' : false,
                  'offset' : 25200,
                  'timezone_id' : 'Asia/Kuala_Lumpur'
                },{
                  'dst' : false,
                  'offset' : 25200,
                  'timezone_id' : 'Singapore'
                },{
                  'dst' : false,
                  'offset' : 26400,
                  'timezone_id' : 'Asia/Kuala_Lumpur'
                },{
                  'dst' : false,
                  'offset' : 26400,
                  'timezone_id' : 'Singapore'
                },{
                  'dst' : false,
                  'offset' : 27000,
                  'timezone_id' : 'Asia/Kuala_Lumpur'
                },{
                  'dst' : false,
                  'offset' : 27000,
                  'timezone_id' : 'Singapore'
                }
              ],
              'mart' :
              [
                {'dst' : false,
                  'offset' : -34200,
                  'timezone_id' : 'Pacific/Marquesas'
                }
              ],
              'mawt' :
              [
                {'dst' : false,
                  'offset' : 21600,
                  'timezone_id' : 'Antarctica/Mawson'
                }
              ],
              'mddt' :
              [
                {'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Cambridge_Bay'
                },{
                  'dst' : true,
                  'offset' : -18000,
                  'timezone_id' : 'America/Yellowknife'
                }
              ],
              'mdst' :
              [
                {'dst' : true,
                  'offset' : 16248,
                  'timezone_id' : 'Europe/Moscow'
                },{
                  'dst' : true,
                  'offset' : 16248,
                  'timezone_id' : 'W-SU'
                }
              ],
              'mdt' :
              [
                {'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'America/Denver'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'America/Boise'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'America/Cambridge_Bay'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'America/Chihuahua'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'America/Edmonton'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'America/Hermosillo'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'America/Inuvik'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'America/Mazatlan'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'America/North_Dakota/Center'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'America/North_Dakota/New_Salem'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'America/Phoenix'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'America/Regina'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'America/Shiprock'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'America/Swift_Current'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'America/Yellowknife'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'Canada/East-Saskatchewan'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'Canada/Mountain'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'Canada/Saskatchewan'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'Mexico/BajaSur'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'MST'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'MST7MDT'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'Navajo'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'US/Arizona'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'US/Mountain'
                }
              ],
              'mest' :
              [
                {'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'MET'
                }
              ],
              'met' :
              [
                {'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'MET'
                }
              ],
              'mht' :
              [
                {'dst' : false,
                  'offset' : 43200,
                  'timezone_id' : 'Pacific/Kwajalein'
                },{
                  'dst' : false,
                  'offset' : 43200,
                  'timezone_id' : 'Kwajalein'
                },{
                  'dst' : false,
                  'offset' : 43200,
                  'timezone_id' : 'Pacific/Majuro'
                }
              ],
              'mmt' :
              [
                {'dst' : false,
                  'offset' : 9048,
                  'timezone_id' : 'Europe/Moscow'
                },{
                  'dst' : false,
                  'offset' : 23400,
                  'timezone_id' : 'Asia/Rangoon'
                },{
                  'dst' : false,
                  'offset' : 28656,
                  'timezone_id' : 'Asia/Makassar'
                },{
                  'dst' : false,
                  'offset' : 28656,
                  'timezone_id' : 'Asia/Ujung_Pandang'
                },{
                  'dst' : false,
                  'offset' : 9048,
                  'timezone_id' : 'W-SU'
                }
              ],
              'most' :
              [
                {'dst' : true,
                  'offset' : 32400,
                  'timezone_id' : 'Asia/Macao'
                },{
                  'dst' : true,
                  'offset' : 32400,
                  'timezone_id' : 'Asia/Macau'
                }
              ],
              'mot' :
              [
                {'dst' : false,
                  'offset' : 28800,
                  'timezone_id' : 'Asia/Macao'
                },{
                  'dst' : false,
                  'offset' : 28800,
                  'timezone_id' : 'Asia/Macau'
                }
              ],
              'mpt' :
              [
                {'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'America/Denver'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'America/Boise'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'America/Cambridge_Bay'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'America/Edmonton'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'America/North_Dakota/Center'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'America/North_Dakota/New_Salem'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'America/Regina'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'America/Shiprock'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'America/Swift_Current'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'America/Yellowknife'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'Canada/East-Saskatchewan'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'Canada/Mountain'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'Canada/Saskatchewan'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'MST'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'MST7MDT'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'Navajo'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'US/Mountain'
                },{
                  'dst' : false,
                  'offset' : 36000,
                  'timezone_id' : 'Pacific/Saipan'
                }
              ],
              'msd' :
              [
                {'dst' : true,
                  'offset' : 14400,
                  'timezone_id' : 'Europe/Moscow'
                },{
                  'dst' : true,
                  'offset' : 18000,
                  'timezone_id' : 'Europe/Moscow'
                },{
                  'dst' : true,
                  'offset' : 14400,
                  'timezone_id' : 'Europe/Chisinau'
                },{
                  'dst' : true,
                  'offset' : 14400,
                  'timezone_id' : 'Europe/Kaliningrad'
                },{
                  'dst' : true,
                  'offset' : 14400,
                  'timezone_id' : 'Europe/Kiev'
                },{
                  'dst' : true,
                  'offset' : 14400,
                  'timezone_id' : 'Europe/Minsk'
                },{
                  'dst' : true,
                  'offset' : 14400,
                  'timezone_id' : 'Europe/Riga'
                },{
                  'dst' : true,
                  'offset' : 14400,
                  'timezone_id' : 'Europe/Simferopol'
                },{
                  'dst' : true,
                  'offset' : 14400,
                  'timezone_id' : 'Europe/Tallinn'
                },{
                  'dst' : true,
                  'offset' : 14400,
                  'timezone_id' : 'Europe/Tiraspol'
                },{
                  'dst' : true,
                  'offset' : 14400,
                  'timezone_id' : 'Europe/Uzhgorod'
                },{
                  'dst' : true,
                  'offset' : 14400,
                  'timezone_id' : 'Europe/Vilnius'
                },{
                  'dst' : true,
                  'offset' : 14400,
                  'timezone_id' : 'Europe/Zaporozhye'
                },{
                  'dst' : true,
                  'offset' : 14400,
                  'timezone_id' : 'W-SU'
                },{
                  'dst' : true,
                  'offset' : 18000,
                  'timezone_id' : 'W-SU'
                }
              ],
              'msk' :
              [
                {'dst' : false,
                  'offset' : 10800,
                  'timezone_id' : 'Europe/Moscow'
                },{
                  'dst' : false,
                  'offset' : 10800,
                  'timezone_id' : 'Europe/Chisinau'
                },{
                  'dst' : false,
                  'offset' : 10800,
                  'timezone_id' : 'Europe/Kaliningrad'
                },{
                  'dst' : false,
                  'offset' : 10800,
                  'timezone_id' : 'Europe/Kiev'
                },{
                  'dst' : false,
                  'offset' : 10800,
                  'timezone_id' : 'Europe/Minsk'
                },{
                  'dst' : false,
                  'offset' : 10800,
                  'timezone_id' : 'Europe/Riga'
                },{
                  'dst' : false,
                  'offset' : 10800,
                  'timezone_id' : 'Europe/Simferopol'
                },{
                  'dst' : false,
                  'offset' : 10800,
                  'timezone_id' : 'Europe/Tallinn'
                },{
                  'dst' : false,
                  'offset' : 10800,
                  'timezone_id' : 'Europe/Tiraspol'
                },{
                  'dst' : false,
                  'offset' : 10800,
                  'timezone_id' : 'Europe/Uzhgorod'
                },{
                  'dst' : false,
                  'offset' : 10800,
                  'timezone_id' : 'Europe/Vilnius'
                },{
                  'dst' : false,
                  'offset' : 10800,
                  'timezone_id' : 'Europe/Zaporozhye'
                },{
                  'dst' : false,
                  'offset' : 10800,
                  'timezone_id' : 'W-SU'
                }
              ],
              'mst' :
              [
                {'dst' : false,
                  'offset' : -25200,
                  'timezone_id' : 'America/Denver'
                },{
                  'dst' : false,
                  'offset' : -25200,
                  'timezone_id' : 'America/Boise'
                },{
                  'dst' : false,
                  'offset' : -25200,
                  'timezone_id' : 'America/Cambridge_Bay'
                },{
                  'dst' : false,
                  'offset' : -25200,
                  'timezone_id' : 'America/Chihuahua'
                },{
                  'dst' : false,
                  'offset' : -25200,
                  'timezone_id' : 'America/Dawson_Creek'
                },{
                  'dst' : false,
                  'offset' : -25200,
                  'timezone_id' : 'America/Edmonton'
                },{
                  'dst' : false,
                  'offset' : -25200,
                  'timezone_id' : 'America/Ensenada'
                },{
                  'dst' : false,
                  'offset' : -25200,
                  'timezone_id' : 'America/Hermosillo'
                },{
                  'dst' : false,
                  'offset' : -25200,
                  'timezone_id' : 'America/Inuvik'
                },{
                  'dst' : false,
                  'offset' : -25200,
                  'timezone_id' : 'America/Mazatlan'
                },{
                  'dst' : false,
                  'offset' : -25200,
                  'timezone_id' : 'America/Mexico_City'
                },{
                  'dst' : false,
                  'offset' : -25200,
                  'timezone_id' : 'America/North_Dakota/Center'
                },{
                  'dst' : false,
                  'offset' : -25200,
                  'timezone_id' : 'America/North_Dakota/New_Salem'
                },{
                  'dst' : false,
                  'offset' : -25200,
                  'timezone_id' : 'America/Phoenix'
                },{
                  'dst' : false,
                  'offset' : -25200,
                  'timezone_id' : 'America/Regina'
                },{
                  'dst' : false,
                  'offset' : -25200,
                  'timezone_id' : 'America/Shiprock'
                },{
                  'dst' : false,
                  'offset' : -25200,
                  'timezone_id' : 'America/Swift_Current'
                },{
                  'dst' : false,
                  'offset' : -25200,
                  'timezone_id' : 'America/Tijuana'
                },{
                  'dst' : false,
                  'offset' : -25200,
                  'timezone_id' : 'America/Yellowknife'
                },{
                  'dst' : false,
                  'offset' : -25200,
                  'timezone_id' : 'Canada/East-Saskatchewan'
                },{
                  'dst' : false,
                  'offset' : -25200,
                  'timezone_id' : 'Canada/Mountain'
                },{
                  'dst' : false,
                  'offset' : -25200,
                  'timezone_id' : 'Canada/Saskatchewan'
                },{
                  'dst' : false,
                  'offset' : -25200,
                  'timezone_id' : 'Mexico/BajaNorte'
                },{
                  'dst' : false,
                  'offset' : -25200,
                  'timezone_id' : 'Mexico/BajaSur'
                },{
                  'dst' : false,
                  'offset' : -25200,
                  'timezone_id' : 'Mexico/General'
                },{
                  'dst' : false,
                  'offset' : -25200,
                  'timezone_id' : 'MST'
                },{
                  'dst' : false,
                  'offset' : -25200,
                  'timezone_id' : 'MST7MDT'
                },{
                  'dst' : false,
                  'offset' : -25200,
                  'timezone_id' : 'Navajo'
                },{
                  'dst' : false,
                  'offset' : -25200,
                  'timezone_id' : 'US/Arizona'
                },{
                  'dst' : false,
                  'offset' : -25200,
                  'timezone_id' : 'US/Mountain'
                },{
                  'dst' : true,
                  'offset' : 12648,
                  'timezone_id' : 'Europe/Moscow'
                },{
                  'dst' : true,
                  'offset' : 12648,
                  'timezone_id' : 'W-SU'
                }
              ],
              'mut' :
              [
                {'dst' : false,
                  'offset' : 14400,
                  'timezone_id' : 'Indian/Mauritius'
                }
              ],
              'mvt' :
              [
                {'dst' : false,
                  'offset' : 18000,
                  'timezone_id' : 'Indian/Maldives'
                }
              ],
              'mwt' :
              [
                {'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'America/Denver'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'America/Boise'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'America/Cambridge_Bay'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'America/Edmonton'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'America/North_Dakota/Center'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'America/North_Dakota/New_Salem'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'America/Phoenix'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'America/Regina'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'America/Shiprock'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'America/Swift_Current'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'America/Yellowknife'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'Canada/East-Saskatchewan'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'Canada/Mountain'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'Canada/Saskatchewan'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'MST'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'MST7MDT'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'Navajo'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'US/Arizona'
                },{
                  'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'US/Mountain'
                }
              ],
              'myt' :
              [
                {'dst' : false,
                  'offset' : 28800,
                  'timezone_id' : 'Asia/Kuala_Lumpur'
                },{
                  'dst' : false,
                  'offset' : 28800,
                  'timezone_id' : 'Asia/Kuching'
                }
              ],
              'ncst' :
              [
                {'dst' : true,
                  'offset' : 43200,
                  'timezone_id' : 'Pacific/Noumea'
                }
              ],
              'nct' :
              [
                {'dst' : false,
                  'offset' : 39600,
                  'timezone_id' : 'Pacific/Noumea'
                }
              ],
              'nddt' :
              [
                {'dst' : true,
                  'offset' : -5400,
                  'timezone_id' : 'America/St_Johns'
                },{
                  'dst' : true,
                  'offset' : -5400,
                  'timezone_id' : 'Canada/Newfoundland'
                }
              ],
              'ndt' :
              [
                {'dst' : true,
                  'offset' : -9000,
                  'timezone_id' : 'America/St_Johns'
                },{
                  'dst' : true,
                  'offset' : -9052,
                  'timezone_id' : 'America/St_Johns'
                },{
                  'dst' : true,
                  'offset' : -36000,
                  'timezone_id' : 'Pacific/Midway'
                },{
                  'dst' : true,
                  'offset' : -9000,
                  'timezone_id' : 'America/Goose_Bay'
                },{
                  'dst' : true,
                  'offset' : -9000,
                  'timezone_id' : 'Canada/Newfoundland'
                },{
                  'dst' : true,
                  'offset' : -9052,
                  'timezone_id' : 'America/Goose_Bay'
                },{
                  'dst' : true,
                  'offset' : -9052,
                  'timezone_id' : 'Canada/Newfoundland'
                }
              ],
              'negt' :
              [
                {'dst' : false,
                  'offset' : -12600,
                  'timezone_id' : 'America/Paramaribo'
                }
              ],
              'nest' :
              [
                {'dst' : true,
                  'offset' : 4800,
                  'timezone_id' : 'Europe/Amsterdam'
                }
              ],
              'net' :
              [
                {'dst' : false,
                  'offset' : 1200,
                  'timezone_id' : 'Europe/Amsterdam'
                }
              ],
              'nft' :
              [
                {'dst' : false,
                  'offset' : 41400,
                  'timezone_id' : 'Pacific/Norfolk'
                }
              ],
              'novst' :
              [
                {'dst' : true,
                  'offset' : 25200,
                  'timezone_id' : 'Asia/Novosibirsk'
                },{
                  'dst' : true,
                  'offset' : 28800,
                  'timezone_id' : 'Asia/Novosibirsk'
                }
              ],
              'novt' :
              [
                {'dst' : false,
                  'offset' : 21600,
                  'timezone_id' : 'Asia/Novosibirsk'
                },{
                  'dst' : false,
                  'offset' : 25200,
                  'timezone_id' : 'Asia/Novosibirsk'
                }
              ],
              'npt' :
              [
                {'dst' : true,
                  'offset' : -9000,
                  'timezone_id' : 'America/St_Johns'
                },{
                  'dst' : true,
                  'offset' : -36000,
                  'timezone_id' : 'America/Adak'
                },{
                  'dst' : true,
                  'offset' : -36000,
                  'timezone_id' : 'America/Atka'
                },{
                  'dst' : true,
                  'offset' : -36000,
                  'timezone_id' : 'America/Nome'
                },{
                  'dst' : true,
                  'offset' : -36000,
                  'timezone_id' : 'US/Aleutian'
                },{
                  'dst' : true,
                  'offset' : -9000,
                  'timezone_id' : 'America/Goose_Bay'
                },{
                  'dst' : true,
                  'offset' : -9000,
                  'timezone_id' : 'Canada/Newfoundland'
                },{
                  'dst' : false,
                  'offset' : 20700,
                  'timezone_id' : 'Asia/Katmandu'
                }
              ],
              'nrt' :
              [
                {'dst' : false,
                  'offset' : 41400,
                  'timezone_id' : 'Pacific/Nauru'
                },{
                  'dst' : false,
                  'offset' : 43200,
                  'timezone_id' : 'Pacific/Nauru'
                }
              ],
              'nst' :
              [
                {'dst' : false,
                  'offset' : -12600,
                  'timezone_id' : 'America/St_Johns'
                },{
                  'dst' : false,
                  'offset' : -12652,
                  'timezone_id' : 'America/St_Johns'
                },{
                  'dst' : false,
                  'offset' : -12600,
                  'timezone_id' : 'America/Goose_Bay'
                },{
                  'dst' : false,
                  'offset' : -12600,
                  'timezone_id' : 'Canada/Newfoundland'
                },{
                  'dst' : false,
                  'offset' : -12652,
                  'timezone_id' : 'America/Goose_Bay'
                },{
                  'dst' : false,
                  'offset' : -12652,
                  'timezone_id' : 'Canada/Newfoundland'
                },{
                  'dst' : false,
                  'offset' : -39600,
                  'timezone_id' : 'America/Adak'
                },{
                  'dst' : false,
                  'offset' : -39600,
                  'timezone_id' : 'America/Atka'
                },{
                  'dst' : false,
                  'offset' : -39600,
                  'timezone_id' : 'America/Nome'
                },{
                  'dst' : false,
                  'offset' : -39600,
                  'timezone_id' : 'Pacific/Midway'
                },{
                  'dst' : false,
                  'offset' : -39600,
                  'timezone_id' : 'Pacific/Pago_Pago'
                },{
                  'dst' : false,
                  'offset' : -39600,
                  'timezone_id' : 'Pacific/Samoa'
                },{
                  'dst' : false,
                  'offset' : -39600,
                  'timezone_id' : 'US/Aleutian'
                },{
                  'dst' : false,
                  'offset' : -39600,
                  'timezone_id' : 'US/Samoa'
                },{
                  'dst' : true,
                  'offset' : 4772,
                  'timezone_id' : 'Europe/Amsterdam'
                }
              ],
              'nut' :
              [
                {'dst' : false,
                  'offset' : -39600,
                  'timezone_id' : 'Pacific/Niue'
                },{
                  'dst' : false,
                  'offset' : -41400,
                  'timezone_id' : 'Pacific/Niue'
                }
              ],
              'nwt' :
              [
                {'dst' : true,
                  'offset' : -9000,
                  'timezone_id' : 'America/St_Johns'
                },{
                  'dst' : true,
                  'offset' : -36000,
                  'timezone_id' : 'America/Adak'
                },{
                  'dst' : true,
                  'offset' : -36000,
                  'timezone_id' : 'America/Atka'
                },{
                  'dst' : true,
                  'offset' : -36000,
                  'timezone_id' : 'America/Nome'
                },{
                  'dst' : true,
                  'offset' : -36000,
                  'timezone_id' : 'US/Aleutian'
                },{
                  'dst' : true,
                  'offset' : -9000,
                  'timezone_id' : 'America/Goose_Bay'
                },{
                  'dst' : true,
                  'offset' : -9000,
                  'timezone_id' : 'Canada/Newfoundland'
                }
              ],
              'nzdt' :
              [
                {'dst' : true,
                  'offset' : 46800,
                  'timezone_id' : 'Pacific/Auckland'
                },{
                  'dst' : true,
                  'offset' : 46800,
                  'timezone_id' : 'Antarctica/McMurdo'
                },{
                  'dst' : true,
                  'offset' : 46800,
                  'timezone_id' : 'Antarctica/South_Pole'
                },{
                  'dst' : true,
                  'offset' : 46800,
                  'timezone_id' : 'NZ'
                }
              ],
              'nzmt' :
              [
                {'dst' : false,
                  'offset' : 41400,
                  'timezone_id' : 'Pacific/Auckland'
                },{
                  'dst' : false,
                  'offset' : 41400,
                  'timezone_id' : 'NZ'
                }
              ],
              'nzst' :
              [
                {'dst' : false,
                  'offset' : 43200,
                  'timezone_id' : 'Pacific/Auckland'
                },{
                  'dst' : true,
                  'offset' : 43200,
                  'timezone_id' : 'Pacific/Auckland'
                },{
                  'dst' : true,
                  'offset' : 45000,
                  'timezone_id' : 'Pacific/Auckland'
                },{
                  'dst' : false,
                  'offset' : 43200,
                  'timezone_id' : 'Antarctica/McMurdo'
                },{
                  'dst' : false,
                  'offset' : 43200,
                  'timezone_id' : 'Antarctica/South_Pole'
                },{
                  'dst' : false,
                  'offset' : 43200,
                  'timezone_id' : 'NZ'
                },{
                  'dst' : true,
                  'offset' : 43200,
                  'timezone_id' : 'NZ'
                },{
                  'dst' : true,
                  'offset' : 45000,
                  'timezone_id' : 'NZ'
                }
              ],
              'omsst' :
              [
                {'dst' : true,
                  'offset' : 21600,
                  'timezone_id' : 'Asia/Omsk'
                },{
                  'dst' : true,
                  'offset' : 25200,
                  'timezone_id' : 'Asia/Omsk'
                }
              ],
              'omst' :
              [
                {'dst' : false,
                  'offset' : 18000,
                  'timezone_id' : 'Asia/Omsk'
                },{
                  'dst' : false,
                  'offset' : 21600,
                  'timezone_id' : 'Asia/Omsk'
                }
              ],
              'orast' :
              [
                {'dst' : true,
                  'offset' : 18000,
                  'timezone_id' : 'Asia/Oral'
                }
              ],
              'orat' :
              [
                {'dst' : false,
                  'offset' : 14400,
                  'timezone_id' : 'Asia/Oral'
                },{
                  'dst' : false,
                  'offset' : 18000,
                  'timezone_id' : 'Asia/Oral'
                }
              ],
              'pddt' :
              [
                {'dst' : true,
                  'offset' : -21600,
                  'timezone_id' : 'America/Inuvik'
                }
              ],
              'pdt' :
              [
                {'dst' : true,
                  'offset' : -25200,
                  'timezone_id' : 'America/Los_Angeles'
                },{
                  'dst' : true,
                  'offset' : -25200,
                  'timezone_id' : 'America/Boise'
                },{
                  'dst' : true,
                  'offset' : -25200,
                  'timezone_id' : 'America/Dawson'
                },{
                  'dst' : true,
                  'offset' : -25200,
                  'timezone_id' : 'America/Dawson_Creek'
                },{
                  'dst' : true,
                  'offset' : -25200,
                  'timezone_id' : 'America/Ensenada'
                },{
                  'dst' : true,
                  'offset' : -25200,
                  'timezone_id' : 'America/Inuvik'
                },{
                  'dst' : true,
                  'offset' : -25200,
                  'timezone_id' : 'America/Juneau'
                },{
                  'dst' : true,
                  'offset' : -25200,
                  'timezone_id' : 'America/Tijuana'
                },{
                  'dst' : true,
                  'offset' : -25200,
                  'timezone_id' : 'America/Vancouver'
                },{
                  'dst' : true,
                  'offset' : -25200,
                  'timezone_id' : 'America/Whitehorse'
                },{
                  'dst' : true,
                  'offset' : -25200,
                  'timezone_id' : 'Canada/Pacific'
                },{
                  'dst' : true,
                  'offset' : -25200,
                  'timezone_id' : 'Canada/Yukon'
                },{
                  'dst' : true,
                  'offset' : -25200,
                  'timezone_id' : 'Mexico/BajaNorte'
                },{
                  'dst' : true,
                  'offset' : -25200,
                  'timezone_id' : 'PST8PDT'
                },{
                  'dst' : true,
                  'offset' : -25200,
                  'timezone_id' : 'US/Pacific'
                },{
                  'dst' : true,
                  'offset' : -25200,
                  'timezone_id' : 'US/Pacific-New'
                }
              ],
              'pest' :
              [
                {'dst' : true,
                  'offset' : -14400,
                  'timezone_id' : 'America/Lima'
                }
              ],
              'petst' :
              [
                {'dst' : true,
                  'offset' : 43200,
                  'timezone_id' : 'Asia/Kamchatka'
                },{
                  'dst' : true,
                  'offset' : 46800,
                  'timezone_id' : 'Asia/Kamchatka'
                }
              ],
              'pett' :
              [
                {'dst' : false,
                  'offset' : 39600,
                  'timezone_id' : 'Asia/Kamchatka'
                },{
                  'dst' : false,
                  'offset' : 43200,
                  'timezone_id' : 'Asia/Kamchatka'
                }
              ],
              'pet' :
              [
                {'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : 'America/Lima'
                }
              ],
              'phot' :
              [
                {'dst' : false,
                  'offset' : -39600,
                  'timezone_id' : 'Pacific/Enderbury'
                },{
                  'dst' : false,
                  'offset' : 46800,
                  'timezone_id' : 'Pacific/Enderbury'
                }
              ],
              'phst' :
              [
                {'dst' : true,
                  'offset' : 32400,
                  'timezone_id' : 'Asia/Manila'
                }
              ],
              'pht' :
              [
                {'dst' : false,
                  'offset' : 28800,
                  'timezone_id' : 'Asia/Manila'
                }
              ],
              'pkst' :
              [
                {'dst' : true,
                  'offset' : 21600,
                  'timezone_id' : 'Asia/Karachi'
                }
              ],
              'pkt' :
              [
                {'dst' : false,
                  'offset' : 18000,
                  'timezone_id' : 'Asia/Karachi'
                }
              ],
              'pmdt' :
              [
                {'dst' : true,
                  'offset' : -7200,
                  'timezone_id' : 'America/Miquelon'
                }
              ],
              'pmst' :
              [
                {'dst' : false,
                  'offset' : -10800,
                  'timezone_id' : 'America/Miquelon'
                }
              ],
              'pmt' :
              [
                {'dst' : false,
                  'offset' : -13236,
                  'timezone_id' : 'America/Paramaribo'
                },{
                  'dst' : false,
                  'offset' : -13252,
                  'timezone_id' : 'America/Paramaribo'
                },{
                  'dst' : false,
                  'offset' : 26240,
                  'timezone_id' : 'Asia/Pontianak'
                },{
                  'dst' : false,
                  'offset' : 36000,
                  'timezone_id' : 'Antarctica/DumontDUrville'
                }
              ],
              'ppt' :
              [
                {'dst' : true,
                  'offset' : -25200,
                  'timezone_id' : 'America/Los_Angeles'
                },{
                  'dst' : true,
                  'offset' : -25200,
                  'timezone_id' : 'America/Dawson_Creek'
                },{
                  'dst' : true,
                  'offset' : -25200,
                  'timezone_id' : 'America/Ensenada'
                },{
                  'dst' : true,
                  'offset' : -25200,
                  'timezone_id' : 'America/Inuvik'
                },{
                  'dst' : true,
                  'offset' : -25200,
                  'timezone_id' : 'America/Juneau'
                },{
                  'dst' : true,
                  'offset' : -25200,
                  'timezone_id' : 'America/Tijuana'
                },{
                  'dst' : true,
                  'offset' : -25200,
                  'timezone_id' : 'America/Vancouver'
                },{
                  'dst' : true,
                  'offset' : -25200,
                  'timezone_id' : 'Canada/Pacific'
                },{
                  'dst' : true,
                  'offset' : -25200,
                  'timezone_id' : 'Mexico/BajaNorte'
                },{
                  'dst' : true,
                  'offset' : -25200,
                  'timezone_id' : 'PST8PDT'
                },{
                  'dst' : true,
                  'offset' : -25200,
                  'timezone_id' : 'US/Pacific'
                },{
                  'dst' : true,
                  'offset' : -25200,
                  'timezone_id' : 'US/Pacific-New'
                }
              ],
              'pst' :
              [
                {'dst' : false,
                  'offset' : -28800,
                  'timezone_id' : 'America/Los_Angeles'
                },{
                  'dst' : false,
                  'offset' : -28800,
                  'timezone_id' : 'America/Boise'
                },{
                  'dst' : false,
                  'offset' : -28800,
                  'timezone_id' : 'America/Dawson'
                },{
                  'dst' : false,
                  'offset' : -28800,
                  'timezone_id' : 'America/Dawson_Creek'
                },{
                  'dst' : false,
                  'offset' : -28800,
                  'timezone_id' : 'America/Ensenada'
                },{
                  'dst' : false,
                  'offset' : -28800,
                  'timezone_id' : 'America/Hermosillo'
                },{
                  'dst' : false,
                  'offset' : -28800,
                  'timezone_id' : 'America/Inuvik'
                },{
                  'dst' : false,
                  'offset' : -28800,
                  'timezone_id' : 'America/Juneau'
                },{
                  'dst' : false,
                  'offset' : -28800,
                  'timezone_id' : 'America/Mazatlan'
                },{
                  'dst' : false,
                  'offset' : -28800,
                  'timezone_id' : 'America/Tijuana'
                },{
                  'dst' : false,
                  'offset' : -28800,
                  'timezone_id' : 'America/Vancouver'
                },{
                  'dst' : false,
                  'offset' : -28800,
                  'timezone_id' : 'America/Whitehorse'
                },{
                  'dst' : false,
                  'offset' : -28800,
                  'timezone_id' : 'Canada/Pacific'
                },{
                  'dst' : false,
                  'offset' : -28800,
                  'timezone_id' : 'Canada/Yukon'
                },{
                  'dst' : false,
                  'offset' : -28800,
                  'timezone_id' : 'Mexico/BajaNorte'
                },{
                  'dst' : false,
                  'offset' : -28800,
                  'timezone_id' : 'Mexico/BajaSur'
                },{
                  'dst' : false,
                  'offset' : -28800,
                  'timezone_id' : 'Pacific/Pitcairn'
                },{
                  'dst' : false,
                  'offset' : -28800,
                  'timezone_id' : 'PST8PDT'
                },{
                  'dst' : false,
                  'offset' : -28800,
                  'timezone_id' : 'US/Pacific'
                },{
                  'dst' : false,
                  'offset' : -28800,
                  'timezone_id' : 'US/Pacific-New'
                }
              ],
              'pwt' :
              [
                {'dst' : true,
                  'offset' : -25200,
                  'timezone_id' : 'America/Los_Angeles'
                },{
                  'dst' : true,
                  'offset' : -25200,
                  'timezone_id' : 'America/Dawson_Creek'
                },{
                  'dst' : true,
                  'offset' : -25200,
                  'timezone_id' : 'America/Ensenada'
                },{
                  'dst' : true,
                  'offset' : -25200,
                  'timezone_id' : 'America/Inuvik'
                },{
                  'dst' : true,
                  'offset' : -25200,
                  'timezone_id' : 'America/Juneau'
                },{
                  'dst' : true,
                  'offset' : -25200,
                  'timezone_id' : 'America/Tijuana'
                },{
                  'dst' : true,
                  'offset' : -25200,
                  'timezone_id' : 'America/Vancouver'
                },{
                  'dst' : true,
                  'offset' : -25200,
                  'timezone_id' : 'Canada/Pacific'
                },{
                  'dst' : true,
                  'offset' : -25200,
                  'timezone_id' : 'Mexico/BajaNorte'
                },{
                  'dst' : true,
                  'offset' : -25200,
                  'timezone_id' : 'PST8PDT'
                },{
                  'dst' : true,
                  'offset' : -25200,
                  'timezone_id' : 'US/Pacific'
                },{
                  'dst' : true,
                  'offset' : -25200,
                  'timezone_id' : 'US/Pacific-New'
                }
              ],
              'pyst' :
              [
                {'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'America/Asuncion'
                }
              ],
              'pyt' :
              [
                {'dst' : false,
                  'offset' : -10800,
                  'timezone_id' : 'America/Asuncion'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Asuncion'
                }
              ],
              'qyzst' :
              [
                {'dst' : true,
                  'offset' : 25200,
                  'timezone_id' : 'Asia/Qyzylorda'
                }
              ],
              'qyzt' :
              [
                {'dst' : false,
                  'offset' : 18000,
                  'timezone_id' : 'Asia/Qyzylorda'
                },{
                  'dst' : false,
                  'offset' : 21600,
                  'timezone_id' : 'Asia/Qyzylorda'
                }
              ],
              'ret' :
              [
                {'dst' : false,
                  'offset' : 14400,
                  'timezone_id' : 'Indian/Reunion'
                }
              ],
              'rmt' :
              [
                {'dst' : false,
                  'offset' : 5784,
                  'timezone_id' : 'Europe/Riga'
                }
              ],
              'rott' :
              [
                {'dst' : false,
                  'offset' : -10800,
                  'timezone_id' : 'Antarctica/Rothera'
                }
              ],
              'sakst' :
              [
                {'dst' : true,
                  'offset' : 39600,
                  'timezone_id' : 'Asia/Sakhalin'
                },{
                  'dst' : true,
                  'offset' : 43200,
                  'timezone_id' : 'Asia/Sakhalin'
                }
              ],
              'sakt' :
              [
                {'dst' : false,
                  'offset' : 36000,
                  'timezone_id' : 'Asia/Sakhalin'
                },{
                  'dst' : false,
                  'offset' : 39600,
                  'timezone_id' : 'Asia/Sakhalin'
                }
              ],
              'samst' :
              [
                {'dst' : true,
                  'offset' : 21600,
                  'timezone_id' : 'Asia/Samarkand'
                },{
                  'dst' : true,
                  'offset' : 18000,
                  'timezone_id' : 'Europe/Samara'
                }
              ],
              'samt' :
              [
                {'dst' : false,
                  'offset' : 14400,
                  'timezone_id' : 'Asia/Samarkand'
                },{
                  'dst' : false,
                  'offset' : 18000,
                  'timezone_id' : 'Asia/Samarkand'
                },{
                  'dst' : false,
                  'offset' : -41400,
                  'timezone_id' : 'Pacific/Apia'
                },{
                  'dst' : false,
                  'offset' : -41400,
                  'timezone_id' : 'Pacific/Pago_Pago'
                },{
                  'dst' : false,
                  'offset' : -41400,
                  'timezone_id' : 'Pacific/Samoa'
                },{
                  'dst' : false,
                  'offset' : -41400,
                  'timezone_id' : 'US/Samoa'
                },{
                  'dst' : false,
                  'offset' : 10800,
                  'timezone_id' : 'Europe/Samara'
                },{
                  'dst' : false,
                  'offset' : 14400,
                  'timezone_id' : 'Europe/Samara'
                }
              ],
              'sast' :
              [
                {'dst' : true,
                  'offset' : 10800,
                  'timezone_id' : 'Africa/Johannesburg'
                },{
                  'dst' : false,
                  'offset' : 7200,
                  'timezone_id' : 'Africa/Johannesburg'
                },{
                  'dst' : true,
                  'offset' : 10800,
                  'timezone_id' : 'Africa/Maseru'
                },{
                  'dst' : true,
                  'offset' : 10800,
                  'timezone_id' : 'Africa/Windhoek'
                },{
                  'dst' : false,
                  'offset' : 7200,
                  'timezone_id' : 'Africa/Maseru'
                },{
                  'dst' : false,
                  'offset' : 7200,
                  'timezone_id' : 'Africa/Mbabane'
                },{
                  'dst' : false,
                  'offset' : 7200,
                  'timezone_id' : 'Africa/Windhoek'
                }
              ],
              'sbt' :
              [
                {'dst' : false,
                  'offset' : 39600,
                  'timezone_id' : 'Pacific/Guadalcanal'
                }
              ],
              'sct' :
              [
                {'dst' : false,
                  'offset' : 14400,
                  'timezone_id' : 'Indian/Mahe'
                }
              ],
              'sgt' :
              [
                {'dst' : false,
                  'offset' : 27000,
                  'timezone_id' : 'Asia/Singapore'
                },{
                  'dst' : false,
                  'offset' : 28800,
                  'timezone_id' : 'Asia/Singapore'
                },{
                  'dst' : false,
                  'offset' : 27000,
                  'timezone_id' : 'Singapore'
                },{
                  'dst' : false,
                  'offset' : 28800,
                  'timezone_id' : 'Singapore'
                }
              ],
              'shest' :
              [
                {'dst' : true,
                  'offset' : 21600,
                  'timezone_id' : 'Asia/Aqtau'
                }
              ],
              'shet' :
              [
                {'dst' : false,
                  'offset' : 18000,
                  'timezone_id' : 'Asia/Aqtau'
                },{
                  'dst' : false,
                  'offset' : 21600,
                  'timezone_id' : 'Asia/Aqtau'
                }
              ],
              'slst' :
              [
                {'dst' : true,
                  'offset' : -1200,
                  'timezone_id' : 'Africa/Freetown'
                },{
                  'dst' : true,
                  'offset' : 3600,
                  'timezone_id' : 'Africa/Freetown'
                }
              ],
              'smt' :
              [
                {'dst' : false,
                  'offset' : 25580,
                  'timezone_id' : 'Asia/Saigon'
                },{
                  'dst' : false,
                  'offset' : -16966,
                  'timezone_id' : 'America/Santiago'
                },{
                  'dst' : false,
                  'offset' : -16966,
                  'timezone_id' : 'Chile/Continental'
                },{
                  'dst' : false,
                  'offset' : 25580,
                  'timezone_id' : 'Asia/Phnom_Penh'
                },{
                  'dst' : false,
                  'offset' : 25580,
                  'timezone_id' : 'Asia/Vientiane'
                }
              ],
              'srt' :
              [
                {'dst' : false,
                  'offset' : -10800,
                  'timezone_id' : 'America/Paramaribo'
                },{
                  'dst' : false,
                  'offset' : -12600,
                  'timezone_id' : 'America/Paramaribo'
                }
              ],
              'sst' :
              [
                {'dst' : false,
                  'offset' : -39600,
                  'timezone_id' : 'Pacific/Samoa'
                },{
                  'dst' : false,
                  'offset' : -39600,
                  'timezone_id' : 'Pacific/Midway'
                },{
                  'dst' : false,
                  'offset' : -39600,
                  'timezone_id' : 'Pacific/Pago_Pago'
                },{
                  'dst' : false,
                  'offset' : -39600,
                  'timezone_id' : 'US/Samoa'
                }
              ],
              'stat' :
              [
                {'dst' : false,
                  'offset' : 10800,
                  'timezone_id' : 'Europe/Volgograd'
                },{
                  'dst' : false,
                  'offset' : 14400,
                  'timezone_id' : 'Europe/Volgograd'
                }
              ],
              'svest' :
              [
                {'dst' : true,
                  'offset' : 18000,
                  'timezone_id' : 'Asia/Yekaterinburg'
                },{
                  'dst' : true,
                  'offset' : 21600,
                  'timezone_id' : 'Asia/Yekaterinburg'
                }
              ],
              'svet' :
              [
                {'dst' : false,
                  'offset' : 14400,
                  'timezone_id' : 'Asia/Yekaterinburg'
                },{
                  'dst' : false,
                  'offset' : 18000,
                  'timezone_id' : 'Asia/Yekaterinburg'
                }
              ],
              'syot' :
              [
                {'dst' : false,
                  'offset' : 10800,
                  'timezone_id' : 'Antarctica/Syowa'
                }
              ],
              'taht' :
              [
                {'dst' : false,
                  'offset' : -36000,
                  'timezone_id' : 'Pacific/Tahiti'
                }
              ],
              'tasst' :
              [
                {'dst' : true,
                  'offset' : 25200,
                  'timezone_id' : 'Asia/Samarkand'
                },{
                  'dst' : true,
                  'offset' : 21600,
                  'timezone_id' : 'Asia/Tashkent'
                },{
                  'dst' : true,
                  'offset' : 25200,
                  'timezone_id' : 'Asia/Tashkent'
                }
              ],
              'tast' :
              [
                {'dst' : false,
                  'offset' : 21600,
                  'timezone_id' : 'Asia/Samarkand'
                },{
                  'dst' : false,
                  'offset' : 18000,
                  'timezone_id' : 'Asia/Tashkent'
                },{
                  'dst' : false,
                  'offset' : 21600,
                  'timezone_id' : 'Asia/Tashkent'
                }
              ],
              'tbist' :
              [
                {'dst' : true,
                  'offset' : 14400,
                  'timezone_id' : 'Asia/Tbilisi'
                },{
                  'dst' : true,
                  'offset' : 18000,
                  'timezone_id' : 'Asia/Tbilisi'
                }
              ],
              'tbit' :
              [
                {'dst' : false,
                  'offset' : 10800,
                  'timezone_id' : 'Asia/Tbilisi'
                },{
                  'dst' : false,
                  'offset' : 14400,
                  'timezone_id' : 'Asia/Tbilisi'
                }
              ],
              'tft' :
              [
                {'dst' : false,
                  'offset' : 18000,
                  'timezone_id' : 'Indian/Kerguelen'
                }
              ],
              'tjt' :
              [
                {'dst' : false,
                  'offset' : 18000,
                  'timezone_id' : 'Asia/Dushanbe'
                }
              ],
              'tlt' :
              [
                {'dst' : false,
                  'offset' : 28800,
                  'timezone_id' : 'Asia/Dili'
                },{
                  'dst' : false,
                  'offset' : 32400,
                  'timezone_id' : 'Asia/Dili'
                }
              ],
              'tmt' :
              [
                {'dst' : false,
                  'offset' : 12344,
                  'timezone_id' : 'Asia/Tehran'
                },{
                  'dst' : false,
                  'offset' : 12344,
                  'timezone_id' : 'Iran'
                },{
                  'dst' : false,
                  'offset' : 14400,
                  'timezone_id' : 'Asia/Ashgabat'
                },{
                  'dst' : false,
                  'offset' : 14400,
                  'timezone_id' : 'Asia/Ashkhabad'
                },{
                  'dst' : false,
                  'offset' : 18000,
                  'timezone_id' : 'Asia/Ashgabat'
                },{
                  'dst' : false,
                  'offset' : 18000,
                  'timezone_id' : 'Asia/Ashkhabad'
                },{
                  'dst' : false,
                  'offset' : 5940,
                  'timezone_id' : 'Europe/Tallinn'
                }
              ],
              'tost' :
              [
                {'dst' : true,
                  'offset' : 50400,
                  'timezone_id' : 'Pacific/Tongatapu'
                }
              ],
              'tot' :
              [
                {'dst' : false,
                  'offset' : 46800,
                  'timezone_id' : 'Pacific/Tongatapu'
                }
              ],
              'trst' :
              [
                {'dst' : true,
                  'offset' : 14400,
                  'timezone_id' : 'Europe/Istanbul'
                },{
                  'dst' : true,
                  'offset' : 14400,
                  'timezone_id' : 'Asia/Istanbul'
                },{
                  'dst' : true,
                  'offset' : 14400,
                  'timezone_id' : 'Turkey'
                }
              ],
              'trt' :
              [
                {'dst' : false,
                  'offset' : 10800,
                  'timezone_id' : 'Europe/Istanbul'
                },{
                  'dst' : false,
                  'offset' : 10800,
                  'timezone_id' : 'Asia/Istanbul'
                },{
                  'dst' : false,
                  'offset' : 10800,
                  'timezone_id' : 'Turkey'
                }
              ],
              'tsat' :
              [
                {'dst' : false,
                  'offset' : 10800,
                  'timezone_id' : 'Europe/Volgograd'
                }
              ],
              'ulast' :
              [
                {'dst' : true,
                  'offset' : 32400,
                  'timezone_id' : 'Asia/Ulaanbaatar'
                },{
                  'dst' : true,
                  'offset' : 32400,
                  'timezone_id' : 'Asia/Ulan_Bator'
                }
              ],
              'ulat' :
              [
                {'dst' : false,
                  'offset' : 25200,
                  'timezone_id' : 'Asia/Ulaanbaatar'
                },{
                  'dst' : false,
                  'offset' : 28800,
                  'timezone_id' : 'Asia/Ulaanbaatar'
                },{
                  'dst' : false,
                  'offset' : 25200,
                  'timezone_id' : 'Asia/Choibalsan'
                },{
                  'dst' : false,
                  'offset' : 25200,
                  'timezone_id' : 'Asia/Ulan_Bator'
                },{
                  'dst' : false,
                  'offset' : 28800,
                  'timezone_id' : 'Asia/Choibalsan'
                },{
                  'dst' : false,
                  'offset' : 28800,
                  'timezone_id' : 'Asia/Ulan_Bator'
                }
              ],
              'urast' :
              [
                {'dst' : true,
                  'offset' : 18000,
                  'timezone_id' : 'Asia/Oral'
                },{
                  'dst' : true,
                  'offset' : 21600,
                  'timezone_id' : 'Asia/Oral'
                }
              ],
              'urat' :
              [
                {'dst' : false,
                  'offset' : 14400,
                  'timezone_id' : 'Asia/Oral'
                },{
                  'dst' : false,
                  'offset' : 18000,
                  'timezone_id' : 'Asia/Oral'
                },{
                  'dst' : false,
                  'offset' : 21600,
                  'timezone_id' : 'Asia/Oral'
                }
              ],
              'urut' :
              [
                {'dst' : false,
                  'offset' : 21600,
                  'timezone_id' : 'Asia/Urumqi'
                }
              ],
              'uyhst' :
              [
                {'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'America/Montevideo'
                },{
                  'dst' : true,
                  'offset' : -9000,
                  'timezone_id' : 'America/Montevideo'
                }
              ],
              'uyst' :
              [
                {'dst' : true,
                  'offset' : -7200,
                  'timezone_id' : 'America/Montevideo'
                }
              ],
              'uyt' :
              [
                {'dst' : false,
                  'offset' : -10800,
                  'timezone_id' : 'America/Montevideo'
                },{
                  'dst' : false,
                  'offset' : -12600,
                  'timezone_id' : 'America/Montevideo'
                }
              ],
              'uzst' :
              [
                {'dst' : true,
                  'offset' : 21600,
                  'timezone_id' : 'Asia/Samarkand'
                },{
                  'dst' : true,
                  'offset' : 21600,
                  'timezone_id' : 'Asia/Tashkent'
                }
              ],
              'uzt' :
              [
                {'dst' : false,
                  'offset' : 18000,
                  'timezone_id' : 'Asia/Samarkand'
                },{
                  'dst' : false,
                  'offset' : 18000,
                  'timezone_id' : 'Asia/Tashkent'
                }
              ],
              'vet' :
              [
                {'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Caracas'
                },{
                  'dst' : false,
                  'offset' : -16200,
                  'timezone_id' : 'America/Caracas'
                }
              ],
              'vlasst' :
              [
                {'dst' : true,
                  'offset' : 36000,
                  'timezone_id' : 'Asia/Vladivostok'
                }
              ],
              'vlast' :
              [
                {'dst' : false,
                  'offset' : 32400,
                  'timezone_id' : 'Asia/Vladivostok'
                },{
                  'dst' : true,
                  'offset' : 39600,
                  'timezone_id' : 'Asia/Vladivostok'
                }
              ],
              'vlat' :
              [
                {'dst' : false,
                  'offset' : 32400,
                  'timezone_id' : 'Asia/Vladivostok'
                },{
                  'dst' : false,
                  'offset' : 36000,
                  'timezone_id' : 'Asia/Vladivostok'
                }
              ],
              'volst' :
              [
                {'dst' : true,
                  'offset' : 14400,
                  'timezone_id' : 'Europe/Volgograd'
                },{
                  'dst' : true,
                  'offset' : 18000,
                  'timezone_id' : 'Europe/Volgograd'
                }
              ],
              'volt' :
              [
                {'dst' : false,
                  'offset' : 10800,
                  'timezone_id' : 'Europe/Volgograd'
                },{
                  'dst' : false,
                  'offset' : 14400,
                  'timezone_id' : 'Europe/Volgograd'
                }
              ],
              'vost' :
              [
                {'dst' : false,
                  'offset' : 21600,
                  'timezone_id' : 'Antarctica/Vostok'
                }
              ],
              'vust' :
              [
                {'dst' : true,
                  'offset' : 43200,
                  'timezone_id' : 'Pacific/Efate'
                }
              ],
              'vut' :
              [
                {'dst' : false,
                  'offset' : 39600,
                  'timezone_id' : 'Pacific/Efate'
                }
              ],
              'warst' :
              [
                {'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'America/Mendoza'
                },{
                  'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'America/Argentina/Jujuy'
                },{
                  'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'America/Argentina/Mendoza'
                },{
                  'dst' : true,
                  'offset' : -10800,
                  'timezone_id' : 'America/Jujuy'
                }
              ],
              'wart' :
              [
                {'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Mendoza'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Argentina/Catamarca'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Argentina/ComodRivadavia'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Argentina/Cordoba'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Argentina/Jujuy'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Argentina/La_Rioja'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Argentina/Mendoza'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Argentina/Rio_Gallegos'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Argentina/San_Juan'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Argentina/Tucuman'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Argentina/Ushuaia'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Catamarca'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Cordoba'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Jujuy'
                },{
                  'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : 'America/Rosario'
                }
              ],
              'wast' :
              [
                {'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Africa/Windhoek'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Africa/Ndjamena'
                }
              ],
              'wat' :
              [
                {'dst' : false,
                  'offset' : -3600,
                  'timezone_id' : 'Africa/Dakar'
                },{
                  'dst' : false,
                  'offset' : -3600,
                  'timezone_id' : 'Africa/Bamako'
                },{
                  'dst' : false,
                  'offset' : -3600,
                  'timezone_id' : 'Africa/Banjul'
                },{
                  'dst' : false,
                  'offset' : -3600,
                  'timezone_id' : 'Africa/Bissau'
                },{
                  'dst' : false,
                  'offset' : -3600,
                  'timezone_id' : 'Africa/Conakry'
                },{
                  'dst' : false,
                  'offset' : -3600,
                  'timezone_id' : 'Africa/El_Aaiun'
                },{
                  'dst' : false,
                  'offset' : -3600,
                  'timezone_id' : 'Africa/Freetown'
                },{
                  'dst' : false,
                  'offset' : -3600,
                  'timezone_id' : 'Africa/Niamey'
                },{
                  'dst' : false,
                  'offset' : -3600,
                  'timezone_id' : 'Africa/Nouakchott'
                },{
                  'dst' : false,
                  'offset' : -3600,
                  'timezone_id' : 'Africa/Timbuktu'
                },{
                  'dst' : false,
                  'offset' : 0,
                  'timezone_id' : 'Africa/Freetown'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Africa/Brazzaville'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Africa/Bangui'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Africa/Douala'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Africa/Lagos'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Africa/Libreville'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Africa/Luanda'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Africa/Malabo'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Africa/Ndjamena'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Africa/Niamey'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Africa/Porto-Novo'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Africa/Windhoek'
                }
              ],
              'wemt' :
              [
                {'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Lisbon'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Madrid'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Monaco'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Paris'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Portugal'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'WET'
                }
              ],
              'west' :
              [
                {'dst' : true,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Paris'
                },{
                  'dst' : true,
                  'offset' : 3600,
                  'timezone_id' : 'Africa/Algiers'
                },{
                  'dst' : true,
                  'offset' : 3600,
                  'timezone_id' : 'Africa/Casablanca'
                },{
                  'dst' : true,
                  'offset' : 3600,
                  'timezone_id' : 'Africa/Ceuta'
                },{
                  'dst' : true,
                  'offset' : 3600,
                  'timezone_id' : 'Atlantic/Canary'
                },{
                  'dst' : true,
                  'offset' : 3600,
                  'timezone_id' : 'Atlantic/Faeroe'
                },{
                  'dst' : true,
                  'offset' : 3600,
                  'timezone_id' : 'Atlantic/Faroe'
                },{
                  'dst' : true,
                  'offset' : 3600,
                  'timezone_id' : 'Atlantic/Madeira'
                },{
                  'dst' : true,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Brussels'
                },{
                  'dst' : true,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Lisbon'
                },{
                  'dst' : true,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Luxembourg'
                },{
                  'dst' : true,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Madrid'
                },{
                  'dst' : true,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Monaco'
                },{
                  'dst' : true,
                  'offset' : 3600,
                  'timezone_id' : 'Portugal'
                },{
                  'dst' : true,
                  'offset' : 3600,
                  'timezone_id' : 'WET'
                },{
                  'dst' : true,
                  'offset' : 7200,
                  'timezone_id' : 'Europe/Luxembourg'
                }
              ],
              'wet' :
              [
                {'dst' : false,
                  'offset' : 0,
                  'timezone_id' : 'Europe/Paris'
                },{
                  'dst' : false,
                  'offset' : 0,
                  'timezone_id' : 'Africa/Algiers'
                },{
                  'dst' : false,
                  'offset' : 0,
                  'timezone_id' : 'Africa/Casablanca'
                },{
                  'dst' : false,
                  'offset' : 0,
                  'timezone_id' : 'Africa/Ceuta'
                },{
                  'dst' : false,
                  'offset' : 0,
                  'timezone_id' : 'Africa/El_Aaiun'
                },{
                  'dst' : false,
                  'offset' : 0,
                  'timezone_id' : 'Atlantic/Azores'
                },{
                  'dst' : false,
                  'offset' : 0,
                  'timezone_id' : 'Atlantic/Canary'
                },{
                  'dst' : false,
                  'offset' : 0,
                  'timezone_id' : 'Atlantic/Faeroe'
                },{
                  'dst' : false,
                  'offset' : 0,
                  'timezone_id' : 'Atlantic/Faroe'
                },{
                  'dst' : false,
                  'offset' : 0,
                  'timezone_id' : 'Atlantic/Madeira'
                },{
                  'dst' : false,
                  'offset' : 0,
                  'timezone_id' : 'Europe/Brussels'
                },{
                  'dst' : false,
                  'offset' : 0,
                  'timezone_id' : 'Europe/Lisbon'
                },{
                  'dst' : false,
                  'offset' : 0,
                  'timezone_id' : 'Europe/Luxembourg'
                },{
                  'dst' : false,
                  'offset' : 0,
                  'timezone_id' : 'Europe/Madrid'
                },{
                  'dst' : false,
                  'offset' : 0,
                  'timezone_id' : 'Europe/Monaco'
                },{
                  'dst' : false,
                  'offset' : 0,
                  'timezone_id' : 'Portugal'
                },{
                  'dst' : false,
                  'offset' : 0,
                  'timezone_id' : 'WET'
                },{
                  'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : 'Europe/Luxembourg'
                }
              ],
              'wgst' :
              [
                {'dst' : true,
                  'offset' : -7200,
                  'timezone_id' : 'America/Godthab'
                },{
                  'dst' : true,
                  'offset' : -7200,
                  'timezone_id' : 'America/Danmarkshavn'
                }
              ],
              'wgt' :
              [
                {'dst' : false,
                  'offset' : -10800,
                  'timezone_id' : 'America/Godthab'
                },{
                  'dst' : false,
                  'offset' : -10800,
                  'timezone_id' : 'America/Danmarkshavn'
                }
              ],
              'wit' :
              [
                {'dst' : false,
                  'offset' : 25200,
                  'timezone_id' : 'Asia/Jakarta'
                },{
                  'dst' : false,
                  'offset' : 27000,
                  'timezone_id' : 'Asia/Jakarta'
                },{
                  'dst' : false,
                  'offset' : 28800,
                  'timezone_id' : 'Asia/Jakarta'
                },{
                  'dst' : false,
                  'offset' : 25200,
                  'timezone_id' : 'Asia/Pontianak'
                },{
                  'dst' : false,
                  'offset' : 27000,
                  'timezone_id' : 'Asia/Pontianak'
                },{
                  'dst' : false,
                  'offset' : 28800,
                  'timezone_id' : 'Asia/Pontianak'
                }
              ],
              'wst' :
              [
                {'dst' : false,
                  'offset' : 28800,
                  'timezone_id' : 'Australia/Perth'
                },{
                  'dst' : true,
                  'offset' : 32400,
                  'timezone_id' : 'Australia/Perth'
                },{
                  'dst' : false,
                  'offset' : -39600,
                  'timezone_id' : 'Pacific/Apia'
                },{
                  'dst' : false,
                  'offset' : 28800,
                  'timezone_id' : 'Antarctica/Casey'
                },{
                  'dst' : false,
                  'offset' : 28800,
                  'timezone_id' : 'Australia/West'
                },{
                  'dst' : true,
                  'offset' : 32400,
                  'timezone_id' : 'Australia/West'
                }
              ],
              'yakst' :
              [
                {'dst' : true,
                  'offset' : 32400,
                  'timezone_id' : 'Asia/Yakutsk'
                },{
                  'dst' : true,
                  'offset' : 36000,
                  'timezone_id' : 'Asia/Yakutsk'
                }
              ],
              'yakt' :
              [
                {'dst' : false,
                  'offset' : 28800,
                  'timezone_id' : 'Asia/Yakutsk'
                },{
                  'dst' : false,
                  'offset' : 32400,
                  'timezone_id' : 'Asia/Yakutsk'
                }
              ],
              'yddt' :
              [
                {'dst' : true,
                  'offset' : -25200,
                  'timezone_id' : 'America/Dawson'
                },{
                  'dst' : true,
                  'offset' : -25200,
                  'timezone_id' : 'America/Whitehorse'
                },{
                  'dst' : true,
                  'offset' : -25200,
                  'timezone_id' : 'Canada/Yukon'
                }
              ],
              'ydt' :
              [
                {'dst' : true,
                  'offset' : -28800,
                  'timezone_id' : 'America/Dawson'
                },{
                  'dst' : true,
                  'offset' : -28800,
                  'timezone_id' : 'America/Whitehorse'
                },{
                  'dst' : true,
                  'offset' : -28800,
                  'timezone_id' : 'America/Yakutat'
                },{
                  'dst' : true,
                  'offset' : -28800,
                  'timezone_id' : 'Canada/Yukon'
                }
              ],
              'yekst' :
              [
                {'dst' : true,
                  'offset' : 21600,
                  'timezone_id' : 'Asia/Yekaterinburg'
                }
              ],
              'yekt' :
              [
                {'dst' : false,
                  'offset' : 18000,
                  'timezone_id' : 'Asia/Yekaterinburg'
                }
              ],
              'yerst' :
              [
                {'dst' : true,
                  'offset' : 14400,
                  'timezone_id' : 'Asia/Yerevan'
                },{
                  'dst' : true,
                  'offset' : 18000,
                  'timezone_id' : 'Asia/Yerevan'
                }
              ],
              'yert' :
              [
                {'dst' : false,
                  'offset' : 10800,
                  'timezone_id' : 'Asia/Yerevan'
                },{
                  'dst' : false,
                  'offset' : 14400,
                  'timezone_id' : 'Asia/Yerevan'
                }
              ],
              'ypt' :
              [
                {'dst' : true,
                  'offset' : -28800,
                  'timezone_id' : 'America/Dawson'
                },{
                  'dst' : true,
                  'offset' : -28800,
                  'timezone_id' : 'America/Whitehorse'
                },{
                  'dst' : true,
                  'offset' : -28800,
                  'timezone_id' : 'America/Yakutat'
                },{
                  'dst' : true,
                  'offset' : -28800,
                  'timezone_id' : 'Canada/Yukon'
                }
              ],
              'yst' :
              [
                {'dst' : false,
                  'offset' : -32400,
                  'timezone_id' : 'America/Anchorage'
                },{
                  'dst' : false,
                  'offset' : -32400,
                  'timezone_id' : 'America/Dawson'
                },{
                  'dst' : false,
                  'offset' : -32400,
                  'timezone_id' : 'America/Juneau'
                },{
                  'dst' : false,
                  'offset' : -32400,
                  'timezone_id' : 'America/Nome'
                },{
                  'dst' : false,
                  'offset' : -32400,
                  'timezone_id' : 'America/Whitehorse'
                },{
                  'dst' : false,
                  'offset' : -32400,
                  'timezone_id' : 'America/Yakutat'
                },{
                  'dst' : false,
                  'offset' : -32400,
                  'timezone_id' : 'Canada/Yukon'
                },{
                  'dst' : false,
                  'offset' : -32400,
                  'timezone_id' : 'US/Alaska'
                }
              ],
              'ywt' :
              [
                {'dst' : true,
                  'offset' : -28800,
                  'timezone_id' : 'America/Dawson'
                },{
                  'dst' : true,
                  'offset' : -28800,
                  'timezone_id' : 'America/Whitehorse'
                },{
                  'dst' : true,
                  'offset' : -28800,
                  'timezone_id' : 'America/Yakutat'
                },{
                  'dst' : true,
                  'offset' : -28800,
                  'timezone_id' : 'Canada/Yukon'
                }
              ],
              'a' :
              [
                {'dst' : false,
                  'offset' : 3600,
                  'timezone_id' : null
                }
              ],
              'b' :
              [
                {'dst' : false,
                  'offset' : 7200,
                  'timezone_id' : null
                }
              ],
              'c' :
              [
                {'dst' : false,
                  'offset' : 10800,
                  'timezone_id' : null
                }
              ],
              'd' :
              [
                {'dst' : false,
                  'offset' : 14400,
                  'timezone_id' : null
                }
              ],
              'e' :
              [
                {'dst' : false,
                  'offset' : 18000,
                  'timezone_id' : null
                }
              ],
              'f' :
              [
                {'dst' : false,
                  'offset' : 21600,
                  'timezone_id' : null
                }
              ],
              'g' :
              [
                {'dst' : false,
                  'offset' : 25200,
                  'timezone_id' : null
                }
              ],
              'h' :
              [
                {'dst' : false,
                  'offset' : 28800,
                  'timezone_id' : null
                }
              ],
              'i' :
              [
                {'dst' : false,
                  'offset' : 32400,
                  'timezone_id' : null
                }
              ],
              'k' :
              [
                {'dst' : false,
                  'offset' : 36000,
                  'timezone_id' : null
                }
              ],
              'l' :
              [
                {'dst' : false,
                  'offset' : 39600,
                  'timezone_id' : null
                }
              ],
              'm' :
              [
                {'dst' : false,
                  'offset' : 43200,
                  'timezone_id' : null
                }
              ],
              'n' :
              [
                {'dst' : false,
                  'offset' : -3600,
                  'timezone_id' : null
                }
              ],
              'o' :
              [
                {'dst' : false,
                  'offset' : -7200,
                  'timezone_id' : null
                }
              ],
              'p' :
              [
                {'dst' : false,
                  'offset' : -10800,
                  'timezone_id' : null
                }
              ],
              'q' :
              [
                {'dst' : false,
                  'offset' : -14400,
                  'timezone_id' : null
                }
              ],
              'r' :
              [
                {'dst' : false,
                  'offset' : -18000,
                  'timezone_id' : null
                }
              ],
              's' :
              [
                {'dst' : false,
                  'offset' : -21600,
                  'timezone_id' : null
                }
              ],
              't' :
              [
                {'dst' : false,
                  'offset' : -25200,
                  'timezone_id' : null
                }
              ],
              'utc' :
              [
                {'dst' : false,
                  'offset' : 0,
                  'timezone_id' : 'UTC'
                }
              ],
              'u' :
              [
                {'dst' : false,
                  'offset' : -28800,
                  'timezone_id' : null
                }
              ],
              'v' :
              [
                {'dst' : false,
                  'offset' : -32400,
                  'timezone_id' : null
                }
              ],
              'w' :
              [
                {'dst' : false,
                  'offset' : -36000,
                  'timezone_id' : null
                }
              ],
              'x' :
              [
                {'dst' : false,
                  'offset' : -39600,
                  'timezone_id' : null
                }
              ],
              'y' :
              [
                {'dst' : false,
                  'offset' : -43200,
                  'timezone_id' : null
                }
              ],
              'zzz' :
              [
                {'dst' : false,
                  'offset' : 0,
                  'timezone_id' : 'Antarctica/Davis'
                },{
                  'dst' : false,
                  'offset' : 0,
                  'timezone_id' : 'Antarctica/DumontDUrville'
                }
              ],
              'z' :
              [
                {'dst' : false,
                  'offset' : 0,
                  'timezone_id' : null
                }
              ]
            };
        
            return timezone_abbreviations;
        }
        ,
        timezone_identifiers_list: function (what, country) {
            // !No description available for timezone_identifiers_list. @php.js developers: Please update the function summary text file.
            // 
            // version: 905.3122
            // discuss at: http://phpjs.org/functions/timezone_identifiers_list
            // +   original by: Brett Zamir (http://brett-zamir.me)
            // %        note 1: Object argument shown in one place, but not in another
            // %        note 1: (not implemented in PHP yet?)
            // %        note 2: For countries, see
            // %        note 2: http://www.iso.org/iso/english_country_names_and_code_elements
            // *     example 1: $P.timezone_identifiers_list('Hello World');
            // *     returns 1: 1
            var i = 0, new_what = '', returnArr = [], continents = [], codes = [],
        
            identifiers = [
                'Africa/Abidjan',
                'Africa/Accra',
                'Africa/Addis_Ababa',
                'Africa/Algiers',
                'Africa/Asmara',
                'Africa/Asmera',
                'Africa/Bamako',
                'Africa/Bangui',
                'Africa/Banjul',
                'Africa/Bissau',
                'Africa/Blantyre',
                'Africa/Brazzaville',
                'Africa/Bujumbura',
                'Africa/Cairo',
                'Africa/Casablanca',
                'Africa/Ceuta',
                'Africa/Conakry',
                'Africa/Dakar',
                'Africa/Dar_es_Salaam',
                'Africa/Djibouti',
                'Africa/Douala',
                'Africa/El_Aaiun',
                'Africa/Freetown',
                'Africa/Gaborone',
                'Africa/Harare',
                'Africa/Johannesburg',
                'Africa/Kampala',
                'Africa/Khartoum',
                'Africa/Kigali',
                'Africa/Kinshasa',
                'Africa/Lagos',
                'Africa/Libreville',
                'Africa/Lome',
                'Africa/Luanda',
                'Africa/Lubumbashi',
                'Africa/Lusaka',
                'Africa/Malabo',
                'Africa/Maputo',
                'Africa/Maseru',
                'Africa/Mbabane',
                'Africa/Mogadishu',
                'Africa/Monrovia',
                'Africa/Nairobi',
                'Africa/Ndjamena',
                'Africa/Niamey',
                'Africa/Nouakchott',
                'Africa/Ouagadougou',
                'Africa/Porto-Novo',
                'Africa/Sao_Tome',
                'Africa/Timbuktu',
                'Africa/Tripoli',
                'Africa/Tunis',
                'Africa/Windhoek',
                'America/Adak',
                'America/Anchorage',
                'America/Anguilla',
                'America/Antigua',
                'America/Araguaina',
                'America/Argentina/Buenos_Aires',
                'America/Argentina/Catamarca',
                'America/Argentina/ComodRivadavia',
                'America/Argentina/Cordoba',
                'America/Argentina/Jujuy',
                'America/Argentina/La_Rioja',
                'America/Argentina/Mendoza',
                'America/Argentina/Rio_Gallegos',
                'America/Argentina/San_Juan',
                'America/Argentina/San_Luis',
                'America/Argentina/Tucuman',
                'America/Argentina/Ushuaia',
                'America/Aruba',
                'America/Asuncion',
                'America/Atikokan',
                'America/Atka',
                'America/Bahia',
                'America/Barbados',
                'America/Belem',
                'America/Belize',
                'America/Blanc-Sablon',
                'America/Boa_Vista',
                'America/Bogota',
                'America/Boise',
                'America/Buenos_Aires',
                'America/Cambridge_Bay',
                'America/Campo_Grande',
                'America/Cancun',
                'America/Caracas',
                'America/Catamarca',
                'America/Cayenne',
                'America/Cayman',
                'America/Chicago',
                'America/Chihuahua',
                'America/Coral_Harbour',
                'America/Cordoba',
                'America/Costa_Rica',
                'America/Cuiaba',
                'America/Curacao',
                'America/Danmarkshavn',
                'America/Dawson',
                'America/Dawson_Creek',
                'America/Denver',
                'America/Detroit',
                'America/Dominica',
                'America/Edmonton',
                'America/Eirunepe',
                'America/El_Salvador',
                'America/Ensenada',
                'America/Fort_Wayne',
                'America/Fortaleza',
                'America/Glace_Bay',
                'America/Godthab',
                'America/Goose_Bay',
                'America/Grand_Turk',
                'America/Grenada',
                'America/Guadeloupe',
                'America/Guatemala',
                'America/Guayaquil',
                'America/Guyana',
                'America/Halifax',
                'America/Havana',
                'America/Hermosillo',
                'America/Indiana/Indianapolis',
                'America/Indiana/Knox',
                'America/Indiana/Marengo',
                'America/Indiana/Petersburg',
                'America/Indiana/Tell_City',
                'America/Indiana/Vevay',
                'America/Indiana/Vincennes',
                'America/Indiana/Winamac',
                'America/Indianapolis',
                'America/Inuvik',
                'America/Iqaluit',
                'America/Jamaica',
                'America/Jujuy',
                'America/Juneau',
                'America/Kentucky/Louisville',
                'America/Kentucky/Monticello',
                'America/Knox_IN',
                'America/La_Paz',
                'America/Lima',
                'America/Los_Angeles',
                'America/Louisville',
                'America/Maceio',
                'America/Managua',
                'America/Manaus',
                'America/Marigot',
                'America/Martinique',
                'America/Mazatlan',
                'America/Mendoza',
                'America/Menominee',
                'America/Merida',
                'America/Mexico_City',
                'America/Miquelon',
                'America/Moncton',
                'America/Monterrey',
                'America/Montevideo',
                'America/Montreal',
                'America/Montserrat',
                'America/Nassau',
                'America/New_York',
                'America/Nipigon',
                'America/Nome',
                'America/Noronha',
                'America/North_Dakota/Center',
                'America/North_Dakota/New_Salem',
                'America/Panama',
                'America/Pangnirtung',
                'America/Paramaribo',
                'America/Phoenix',
                'America/Port-au-Prince',
                'America/Port_of_Spain',
                'America/Porto_Acre',
                'America/Porto_Velho',
                'America/Puerto_Rico',
                'America/Rainy_River',
                'America/Rankin_Inlet',
                'America/Recife',
                'America/Regina',
                'America/Resolute',
                'America/Rio_Branco',
                'America/Rosario',
                'America/Santiago',
                'America/Santo_Domingo',
                'America/Sao_Paulo',
                'America/Scoresbysund',
                'America/Shiprock',
                'America/St_Barthelemy',
                'America/St_Johns',
                'America/St_Kitts',
                'America/St_Lucia',
                'America/St_Thomas',
                'America/St_Vincent',
                'America/Swift_Current',
                'America/Tegucigalpa',
                'America/Thule',
                'America/Thunder_Bay',
                'America/Tijuana',
                'America/Toronto',
                'America/Tortola',
                'America/Vancouver',
                'America/Virgin',
                'America/Whitehorse',
                'America/Winnipeg',
                'America/Yakutat',
                'America/Yellowknife',
                'Antarctica/Casey',
                'Antarctica/Davis',
                'Antarctica/DumontDUrville',
                'Antarctica/Mawson',
                'Antarctica/McMurdo',
                'Antarctica/Palmer',
                'Antarctica/Rothera',
                'Antarctica/South_Pole',
                'Antarctica/Syowa',
                'Antarctica/Vostok',
                'Arctic/Longyearbyen',
                'Asia/Aden',
                'Asia/Almaty',
                'Asia/Amman',
                'Asia/Anadyr',
                'Asia/Aqtau',
                'Asia/Aqtobe',
                'Asia/Ashgabat',
                'Asia/Ashkhabad',
                'Asia/Baghdad',
                'Asia/Bahrain',
                'Asia/Baku',
                'Asia/Bangkok',
                'Asia/Beirut',
                'Asia/Bishkek',
                'Asia/Brunei',
                'Asia/Calcutta',
                'Asia/Choibalsan',
                'Asia/Chongqing',
                'Asia/Chungking',
                'Asia/Colombo',
                'Asia/Dacca',
                'Asia/Damascus',
                'Asia/Dhaka',
                'Asia/Dili',
                'Asia/Dubai',
                'Asia/Dushanbe',
                'Asia/Gaza',
                'Asia/Harbin',
                'Asia/Ho_Chi_Minh',
                'Asia/Hong_Kong',
                'Asia/Hovd',
                'Asia/Irkutsk',
                'Asia/Istanbul',
                'Asia/Jakarta',
                'Asia/Jayapura',
                'Asia/Jerusalem',
                'Asia/Kabul',
                'Asia/Kamchatka',
                'Asia/Karachi',
                'Asia/Kashgar',
                'Asia/Katmandu',
                'Asia/Kolkata',
                'Asia/Krasnoyarsk',
                'Asia/Kuala_Lumpur',
                'Asia/Kuching',
                'Asia/Kuwait',
                'Asia/Macao',
                'Asia/Macau',
                'Asia/Magadan',
                'Asia/Makassar',
                'Asia/Manila',
                'Asia/Muscat',
                'Asia/Nicosia',
                'Asia/Novosibirsk',
                'Asia/Omsk',
                'Asia/Oral',
                'Asia/Phnom_Penh',
                'Asia/Pontianak',
                'Asia/Pyongyang',
                'Asia/Qatar',
                'Asia/Qyzylorda',
                'Asia/Rangoon',
                'Asia/Riyadh',
                'Asia/Saigon',
                'Asia/Sakhalin',
                'Asia/Samarkand',
                'Asia/Seoul',
                'Asia/Shanghai',
                'Asia/Singapore',
                'Asia/Taipei',
                'Asia/Tashkent',
                'Asia/Tbilisi',
                'Asia/Tehran',
                'Asia/Tel_Aviv',
                'Asia/Thimbu',
                'Asia/Thimphu',
                'Asia/Tokyo',
                'Asia/Ujung_Pandang',
                'Asia/Ulaanbaatar',
                'Asia/Ulan_Bator',
                'Asia/Urumqi',
                'Asia/Vientiane',
                'Asia/Vladivostok',
                'Asia/Yakutsk',
                'Asia/Yekaterinburg',
                'Asia/Yerevan',
                'Atlantic/Azores',
                'Atlantic/Bermuda',
                'Atlantic/Canary',
                'Atlantic/Cape_Verde',
                'Atlantic/Faeroe',
                'Atlantic/Faroe',
                'Atlantic/Jan_Mayen',
                'Atlantic/Madeira',
                'Atlantic/Reykjavik',
                'Atlantic/South_Georgia',
                'Atlantic/St_Helena',
                'Atlantic/Stanley',
                'Australia/ACT',
                'Australia/Adelaide',
                'Australia/Brisbane',
                'Australia/Broken_Hill',
                'Australia/Canberra',
                'Australia/Currie',
                'Australia/Darwin',
                'Australia/Eucla',
                'Australia/Hobart',
                'Australia/LHI',
                'Australia/Lindeman',
                'Australia/Lord_Howe',
                'Australia/Melbourne',
                'Australia/North',
                'Australia/NSW',
                'Australia/Perth',
                'Australia/Queensland',
                'Australia/South',
                'Australia/Sydney',
                'Australia/Tasmania',
                'Australia/Victoria',
                'Australia/West',
                'Australia/Yancowinna',
                'Brazil/Acre',
                'Brazil/DeNoronha',
                'Brazil/East',
                'Brazil/West',
                'Canada/Atlantic',
                'Canada/Central',
                'Canada/East-Saskatchewan',
                'Canada/Eastern',
                'Canada/Mountain',
                'Canada/Newfoundland',
                'Canada/Pacific',
                'Canada/Saskatchewan',
                'Canada/Yukon',
                'CET',
                'Chile/Continental',
                'Chile/EasterIsland',
                'CST6CDT',
                'Cuba',
                'EET',
                'Egypt',
                'Eire',
                'EST',
                'EST5EDT',
                'Etc/GMT',
                'Etc/GMT+0',
                'Etc/GMT+1',
                'Etc/GMT+10',
                'Etc/GMT+11',
                'Etc/GMT+12',
                'Etc/GMT+2',
                'Etc/GMT+3',
                'Etc/GMT+4',
                'Etc/GMT+5',
                'Etc/GMT+6',
                'Etc/GMT+7',
                'Etc/GMT+8',
                'Etc/GMT+9',
                'Etc/GMT-0',
                'Etc/GMT-1',
                'Etc/GMT-10',
                'Etc/GMT-11',
                'Etc/GMT-12',
                'Etc/GMT-13',
                'Etc/GMT-14',
                'Etc/GMT-2',
                'Etc/GMT-3',
                'Etc/GMT-4',
                'Etc/GMT-5',
                'Etc/GMT-6',
                'Etc/GMT-7',
                'Etc/GMT-8',
                'Etc/GMT-9',
                'Etc/GMT0',
                'Etc/Greenwich',
                'Etc/UCT',
                'Etc/Universal',
                'Etc/UTC',
                'Etc/Zulu',
                'Europe/Amsterdam',
                'Europe/Andorra',
                'Europe/Athens',
                'Europe/Belfast',
                'Europe/Belgrade',
                'Europe/Berlin',
                'Europe/Bratislava',
                'Europe/Brussels',
                'Europe/Bucharest',
                'Europe/Budapest',
                'Europe/Chisinau',
                'Europe/Copenhagen',
                'Europe/Dublin',
                'Europe/Gibraltar',
                'Europe/Guernsey',
                'Europe/Helsinki',
                'Europe/Isle_of_Man',
                'Europe/Istanbul',
                'Europe/Jersey',
                'Europe/Kaliningrad',
                'Europe/Kiev',
                'Europe/Lisbon',
                'Europe/Ljubljana',
                'Europe/London',
                'Europe/Luxembourg',
                'Europe/Madrid',
                'Europe/Malta',
                'Europe/Mariehamn',
                'Europe/Minsk',
                'Europe/Monaco',
                'Europe/Moscow',
                'Europe/Nicosia',
                'Europe/Oslo',
                'Europe/Paris',
                'Europe/Podgorica',
                'Europe/Prague',
                'Europe/Riga',
                'Europe/Rome',
                'Europe/Samara',
                'Europe/San_Marino',
                'Europe/Sarajevo',
                'Europe/Simferopol',
                'Europe/Skopje',
                'Europe/Sofia',
                'Europe/Stockholm',
                'Europe/Tallinn',
                'Europe/Tirane',
                'Europe/Tiraspol',
                'Europe/Uzhgorod',
                'Europe/Vaduz',
                'Europe/Vatican',
                'Europe/Vienna',
                'Europe/Vilnius',
                'Europe/Volgograd',
                'Europe/Warsaw',
                'Europe/Zagreb',
                'Europe/Zaporozhye',
                'Europe/Zurich',
                'Factory',
                'GB',
                'GB-Eire',
                'GMT',
                'GMT+0',
                'GMT-0',
                'GMT0',
                'Greenwich',
                'Hongkong',
                'HST',
                'Iceland',
                'Indian/Antananarivo',
                'Indian/Chagos',
                'Indian/Christmas',
                'Indian/Cocos',
                'Indian/Comoro',
                'Indian/Kerguelen',
                'Indian/Mahe',
                'Indian/Maldives',
                'Indian/Mauritius',
                'Indian/Mayotte',
                'Indian/Reunion',
                'Iran',
                'Israel',
                'Jamaica',
                'Japan',
                'Kwajalein',
                'Libya',
                'MET',
                'Mexico/BajaNorte',
                'Mexico/BajaSur',
                'Mexico/General',
                'MST',
                'MST7MDT',
                'Navajo',
                'NZ',
                'NZ-CHAT',
                'Pacific/Apia',
                'Pacific/Auckland',
                'Pacific/Chatham',
                'Pacific/Easter',
                'Pacific/Efate',
                'Pacific/Enderbury',
                'Pacific/Fakaofo',
                'Pacific/Fiji',
                'Pacific/Funafuti',
                'Pacific/Galapagos',
                'Pacific/Gambier',
                'Pacific/Guadalcanal',
                'Pacific/Guam',
                'Pacific/Honolulu',
                'Pacific/Johnston',
                'Pacific/Kiritimati',
                'Pacific/Kosrae',
                'Pacific/Kwajalein',
                'Pacific/Majuro',
                'Pacific/Marquesas',
                'Pacific/Midway',
                'Pacific/Nauru',
                'Pacific/Niue',
                'Pacific/Norfolk',
                'Pacific/Noumea',
                'Pacific/Pago_Pago',
                'Pacific/Palau',
                'Pacific/Pitcairn',
                'Pacific/Ponape',
                'Pacific/Port_Moresby',
                'Pacific/Rarotonga',
                'Pacific/Saipan',
                'Pacific/Samoa',
                'Pacific/Tahiti',
                'Pacific/Tarawa',
                'Pacific/Tongatapu',
                'Pacific/Truk',
                'Pacific/Wake',
                'Pacific/Wallis',
                'Pacific/Yap',
                'Poland',
                'Portugal',
                'PRC',
                'PST8PDT',
                'ROC',
                'ROK',
                'Singapore',
                'Turkey',
                'UCT',
                'Universal',
                'US/Alaska',
                'US/Aleutian',
                'US/Arizona',
                'US/Central',
                'US/East-Indiana',
                'US/Eastern',
                'US/Hawaii',
                'US/Indiana-Starke',
                'US/Michigan',
                'US/Mountain',
                'US/Pacific',
                'US/Pacific-New',
                'US/Samoa',
                'UTC',
                'W-SU',
                'WET',
                'Zulu'
            ];
        
            continents = [
                'AFRICA',
                'AMERICA',
                'ANTARCTICA',
                'ARCTIC',
                'ASIA',
                'ATLANTIC',
                'AUSTRALIA',
                'EUROPE',
                'INDIAN',
                'PACIFIC'
            ];
            codes = [1, 2, 4, 8, 16, 32, 64, 128, 256, 512];
        
            if (what) {
                if (codes.indexOf(what) !== -1 || continents.indexOf(what) !== -1) {
                    if (what && what === parseInt(what, 10)+'') {
                        // what is an integer
                        new_what = continents[codes.indexOf(what)];
                    }
                    if (what) {
                        new_what = what[0]+what.slice(1).toLowerCase();
                    }
        
                    for (i=0; i < identifiers.length; i++) {
                        if (identifiers[i].indexOf(new_what+'/') !== -1) {
                            returnArr.push(identifiers[i]);
                        }
                    }
                    // Assumed implementation
                    return returnArr;
                } else if (what === 'UTC' || what === 1024) {
                    throw 'Unknown implementation';
                } else if (what === 'ALL_WITH_BC' || what === 4095) {
                    // All with backwards-compatibility
                    throw 'Unknown implementation';
                } else if (what === 'PER_COUNTRY' || what === 4096) {
                    // Presumably use 'country' argument to limit choices, but where is the country list?
                    throw 'Unknown implementation';
                } else if (what === 'ALL' || what === 2047) {
                    return identifiers;
                }
            }
        
            return identifiers;
        }
    }; // end PHP_JS.prototype

    // 1) You must now instantiate PHP_JS yourself to use it (you don't need
    // "new" to do it, though it is slightly faster and better practice if you do
    // use "new").
    // You can do so like this:   var $P = PHP_JS();
    // 2) To pass in initial ini values without requiring ini_set() calls (see the
    // individual functions and
    // http://trac.phpjs.org/projects/phpjs/wiki/php_js_Global for
    // which ones are available), you can pass in the ini data as follows:
    // var $P = new PHP_JS({ini: {
    //     'date.timezone':'America/Chicago', // PHP ini's used in PHP.JS
    //     'phpjs.objectsAsArrays': true // custom PHP.JS ini's
    // }});
    // 3) If you place this namespace in a context like a JavaScript module
    // (e.g., for a Firefox extension) without access to the global
    // window object, you could instantiate in code which can obtain a
    // "window" object like this: var $P = PHP_JS({window:window});
    // This is not necessary for regular HTML JavaScript.
    this.PHP_JS = PHP_JS; // Make PHP_JS available outside of namespace
}());
