----------------------------< C O N F I G U R A T I O N D A T A >------------------------------------------  
for internationalization, this section to hold constant text, parameter names and values, other items subject to
language translation  
local cfg = {
['default_df'] = 'mdy', -- default date format when |<df> and |df= omitted or empty
['df_vals'] = {
['dmy']=true,
['dmy12']=true, -- also 'y'
['dow']=true,
['mdy']=true,
['mdy12']=true,
['iso']=true,
['y']=true, -- also 'dmy' and 'dmy12'
['12']=true,
['24']=true,
};  
['err_msg'] = '<span> – $1 (help)</span>',
['err_text'] = {
['bad_def'] = 'incomplete definition for $1',
['bad_df_pair'] = 'both of &#124;df-cust-a= and &#124;df-cust-p required',
['bad_dst'] = 'error calculating dst timestamps',
['bad_format'] = 'invalid date format $1',
['bad_sign'] = 'invalid use of ±',
['test_time'] = 'malformed or incomplete _TEST_TIME_',
['unknown_tz'] = 'unknown timezone $1',
},  
['format'] = { -- output formatting strings
t12 = 'g:i a', -- time only
t24 = 'H:i',  
iso_date ='Y-m-d', -- date only
dmy_date = 'j F Y',
mdy_date = 'F j, Y',  
dmy12 = 'g:i a, j F Y', -- 12hr time and date
mdy12 = 'g:i a, F j, Y',  
dmy = 'H:i, j F Y', -- 24hr time and date
mdy = 'H:i, F j, Y',
iso = 'Y-m-d"T"H:i',  
dow = 'l' -- day of the week
},  
['refresh-label'] = 'refresh',
-- for dst calculations
days = {['sunday'] = 0, ['monday'] = 1, ['tuesday'] = 2, ['wednesday'] = 3, ['thursday'] = 4, ['friday'] = 5, ['saturday'] = 6},
months = {['january'] = 1, ['february'] = 2, ['march'] = 3, ['april'] = 4, ['may'] = 5, ['june'] = 6,
['july'] = 7, ['august'] = 8, ['september'] = 9, ['october'] = 10, ['november'] = 11, ['december'] = 12};
ordinals = {['1st'] = 1, ['first'] = 1, ['2nd'] = 2, ['second'] = 2, ['3rd'] = 3, ['third'] = 3, ['4th'] = 4, ['fourth'] = 4, ['5th'] = 5, ['fifth'] = 5, ['last'] = -1},  
-- parameter list
aliases = {
['dateonly'] = {'dateonly'},
['df'] = {'df'},
['df-cust'] = {'df-cust'},
['df-cust-a'] = {'df-cust-a'},
['df-cust-p'] = {'df-cust-p'},
['dst'] = {'dst'},
['hide-refresh'] = {'hide-refresh'},
['hide-tz'] = {'hide-tz'},
['lang'] = {'lang'},
['timeonly'] = {'timeonly'},
['unlink-tz'] = {'unlink-tz'},
}
}  
----------------------------< A L I A S E S >----------------------------------------------------------------  
local tz_aliases = {
['british summer time'] = 'gmt-uk',
['irish standard time'] = 'gmt-ie',
['usz1'] = 'kalt', -- old form Kaliningrad time  
['west'] = 'wet', -- dst aliases east of utc
['cest'] = 'cet',
['eest'] = 'eet',
['acdt'] = 'acst',
['aedt'] = 'aest',
['nzdt'] = 'nzst',  
['at'] = 'ast', -- alternate abbreviations west of utc
['et'] = 'est',
['ct'] = 'cst',
['pt'] = 'pst',
['akt'] = 'akst',
['hast'] = 'hst',  
['pmdt'] = 'pmst', -- dst aliases west of utc
['wgst'] = 'wgt',
['ndt'] = 'nst',
['adt'] = 'ast',
['edt'] = 'est',
['cdt'] = 'cst',
['mdt'] = 'mst',
['pdt'] = 'pst',
['akdt'] = 'akst',
['hdt'] = 'hst',
['hadt'] = 'hst',
}  
----------------------------< T I M E Z O N E D A T A >----------------------------------------------------  
When specifying utc offset do not use the minus character (U+2212) for offsets west of 0 meridian; use the minus-hyphen  
local tz_data = {
------------------------------< E A S T U T C + H H : M M >--------------------------------------------------  
['utc'] = {
abbr = 'UTC', -- (required) abbreviation to use during standard time
dst_abbr = '', -- abbreviation to use during daylight saving time
utc_offset = '00:00', -- (required) hours and minutes offset from UTC for this timezone; '+' is optional; '-' (hyphen-minus) is required for timezones west of 0 meridian
df = 'dmy', -- date format typically used in the time zone
dst_begins = '', -- daylight saving begins; e.g. 2nd Sunday in March; also last; empty string if not observed
dst_ends = '', -- (required if dst_begins is set) daylight saving ends; e.g. 1st Sunday in November; ignored if dst_begins not set
dst_time = '', -- (required if dst_begins is set) local time on the day that dst begins/ends; for EU DST rules specify utc time: e.g.: '01:00 UTC'
dst_e_time = '', -- local daylight saving time on the day that dst ends; only when different from dst_time; see acst for an example
article = 'ஒருங்கிணைந்த அனைத்துலக நேரம்' -- (required) name of related Wikipedia article without markup
},
['gmt'] = {
abbr = 'GMT',
dst_abbr = '',
utc_offset = '00:00',
df = 'dmy',
dst_begins = '',
dst_ends = '',
dst_time = '',
article = 'கிரீன்விச் இடைநிலை நேரம்'
},
['gmt-uk'] = {
abbr = 'GMT',
dst_abbr = 'BST', -- British Summer Time
utc_offset = '00:00',
df = 'dmy',
dst_begins = 'last Sunday of March',
dst_ends = 'last Sunday of October',
dst_time = '01:00 UTC', -- 01:00 standard time is same as 01:00 UTC
article = 'Time in the United Kingdom'
},
['gmt-ie'] = { -- ist is shared with Indian Standard Time so use gmt-ie
abbr = 'GMT', -- winter time
dst_abbr = 'IST', -- Irish Standard Time occurs in summer
utc_offset = '00:00',
df = 'dmy',
dst_begins = 'last Sunday of March',
dst_ends = 'last Sunday of October',
dst_time = '01:00 UTC', -- 01:00 standard time is same as 01:00 UTC
article = 'Time in Ireland'
},
['wet'] = {
abbr = 'WET',
dst_abbr = 'WEST',
utc_offset = '00:00',
df = 'dmy',
dst_begins = 'last Sunday of March',
dst_ends = 'last Sunday of October',
dst_time = '01:00 UTC', -- 01:00 standard time is same as 01:00 UTC
article = 'மேற்கு ஐரோப்பிய நேரம்'
},
['cet'] = {
abbr = 'CET',
dst_abbr = 'CEST',
utc_offset = '01:00',
df = 'dmy',
dst_begins = 'last Sunday of March',
dst_ends = 'last Sunday of October',
dst_time = '01:00 UTC', -- 02:00 standard time is same as 01:00 UTC
article = 'மத்திய ஐரோப்பிய நேரம்'
},
['eet'] = {
abbr = 'EET',
dst_abbr = 'EEST',
utc_offset = '02:00',
df = 'dmy',
dst_begins = 'last Sunday of March',
dst_ends = 'last Sunday of October',
dst_time = '01:00 UTC', -- 03:00 standard time is same as 01:00 UTC
article = 'கிழக்கு ஐரோப்பிய நேரம்'
},
['kalt'] = {
abbr = 'KALT',
dst_abbr = '',
utc_offset = '02:00',
df = 'dmy',
dst_begins = '',
dst_ends = '',
dst_time = '',
article = 'Kaliningrad Time'
},
['sast'] = {
abbr = 'SAST',
dst_abbr = '',
utc_offset = '02:00',
df = 'dmy',
dst_begins = '',
dst_ends = '',
dst_time = '',
dst_e_time = '',
article = 'South African Standard Time'
},
['msk'] = {
abbr = 'MSK',
dst_abbr = '',
utc_offset = '03:00',
df = 'dmy',
dst_begins = '',
dst_ends = '',
dst_time = '',
article = 'Moscow Time'
},
['samt'] = {
abbr = 'SAMT',
dst_abbr = '',
utc_offset = '04:00',
df = 'dmy',
dst_begins = '',
dst_ends = '',
dst_time = '',
article = 'Samara Time'
},
['yekt'] = {
abbr = 'YEKT',
dst_abbr = '',
utc_offset = '05:00',
df = 'dmy',
dst_begins = '',
dst_ends = '',
dst_time = '',
article = 'Yekaterinburg Time'
},
['pkt'] = {
abbr = 'PKT',
dst_abbr = '',
utc_offset = '05:00',
df = 'dmy',
dst_begins = '',
dst_ends = '',
dst_time = '',
article = 'Pakistan Standard Time'
},
['ist'] = {
abbr = 'IST',
utc_offset = '05:30',
df = 'dmy',
dst_begins = '',
dst_ends = '',
dst_time = '',
article = 'இந்திய சீர் நேரம்'
},
['slst'] = {
abbr = 'SLST',
utc_offset = '05:30',
df = 'dmy',
dst_begins = '',
dst_ends = '',
dst_time = '',
article = 'இலங்கை சீர் நேரம்'
},
['npt'] = {
abbr = 'NPT',
dst_abbr = '',
utc_offset = '05:45',
df = 'dmy',
dst_begins = '',
dst_ends = '',
dst_time = '',
article = 'Nepal Time'
},
['bst'] = {
abbr = 'BST',
utc_offset = '06:00',
df = 'dmy',
dst_begins = '',
dst_ends = '',
dst_time = '',
article = 'வங்காளதேச சீர் நேரம்'
},
['omst'] = {
abbr = 'OMST',
dst_abbr = '',
utc_offset = '06:00',
df = 'dmy',
dst_begins = '',
dst_ends = '',
dst_time = '',
article = 'Omsk Time'
},
['mmt'] = {
abbr = 'MMT',
dst_abbr = '',
utc_offset = '06:30',
df = 'dmy',
dst_begins = '',
dst_ends = '',
dst_time = '',
article = 'மியான்மர் சீர் நேரம்'
},
['krat'] = {
abbr = 'KRAT',
dst_abbr = '',
utc_offset = '07:00',
df = 'dmy',
dst_begins = '',
dst_ends = '',
dst_time = '',
article = 'Krasnoyarsk Time'
},
['wib'] = { -- western indonesia
abbr = 'WIB',
dst_abbr = '',
utc_offset = '07:00',
df = 'dmy',