diff --git a/notemyprogress/README.md b/notemyprogress/README.md
index 3d67a9ceeb5bad6305cd7fadab6f457c57227925..7d02b14605b69513a5abc2b63c06244e8261cec5 100644
--- a/notemyprogress/README.md
+++ b/notemyprogress/README.md
@@ -1,4 +1,4 @@
-# Note My Progress #
+# Flip My Learning #
 
 TODO Describe the plugin shortly here.
 
diff --git a/notemyprogress/ajax.php b/notemyprogress/ajax.php
index 175b3ed6929dee38bce191d2a28a005e89f49184..754af52674c8cdcc710e67fe8752e9ce86bb6ab7 100644
--- a/notemyprogress/ajax.php
+++ b/notemyprogress/ajax.php
@@ -51,17 +51,17 @@ $currentUrl = optional_param('currentUrl', false, PARAM_TEXT);
 
 $scriptname = optional_param('scriptname', false, PARAM_ALPHA);
 
-$action = optional_param('action', false ,PARAM_ALPHA);
+$action = optional_param('action', false, PARAM_ALPHA);
 $weeks = optional_param('weeks', false, PARAM_RAW);
 $profile = optional_param('profile', false, PARAM_RAW);
 $weekcode = optional_param('weekcode', false, PARAM_INT);
 $groupid = optional_param('groupid',  null,  PARAM_INT);
 
-$subject = optional_param('subject', false ,PARAM_TEXT);
-$recipients = optional_param('recipients', false ,PARAM_TEXT);
-$text = optional_param('text', false ,PARAM_TEXT);
-$moduleid = optional_param('moduleid', false ,PARAM_INT);
-$modulename = optional_param('modulename', false ,PARAM_TEXT);
+$subject = optional_param('subject', false, PARAM_TEXT);
+$recipients = optional_param('recipients', false, PARAM_TEXT);
+$text = optional_param('text', false, PARAM_TEXT);
+$moduleid = optional_param('moduleid', false, PARAM_INT);
+$modulename = optional_param('modulename', false, PARAM_TEXT);
 
 $newinstance = optional_param('newinstance', false, PARAM_BOOL);
 
@@ -69,47 +69,47 @@ $newinstance = optional_param('newinstance', false, PARAM_BOOL);
 $params = array();
 $func = null;
 
-if($action == 'saveconfigweek') {
+if ($action == 'saveconfigweek') {
     array_push($params, $weeks);
     array_push($params, $courseid);
     array_push($params, $userid);
     array_push($params, $newinstance);
 
-    if($weeks && $courseid && $userid){
+    if ($weeks && $courseid && $userid) {
         $func = "local_notemyprogress_save_weeks_config";
     }
 } elseif ($action == 'changegroup') {
     array_push($params, $courseid);
     array_push($params, $userid);
     array_push($params, $groupid);
-    if($courseid && $userid){
+    if ($courseid && $userid) {
         $func = "local_notemyprogress_change_group";
     }
-} elseif($action == 'worksessions') {
+} elseif ($action == 'worksessions') {
     array_push($params, $weekcode);
     array_push($params, $courseid);
     array_push($params, $userid);
     array_push($params, $profile);
-    if($weekcode && $courseid && $userid && $profile){
+    if ($weekcode && $courseid && $userid && $profile) {
         $func = "local_notemyprogress_get_sessions";
     }
-} elseif($action == 'time') {
+} elseif ($action == 'time') {
     array_push($params, $weekcode);
     array_push($params, $courseid);
     array_push($params, $userid);
     array_push($params, $profile);
-    if($weekcode && $courseid && $userid && $profile){
+    if ($weekcode && $courseid && $userid && $profile) {
         $func = "local_notemyprogress_get_inverted_time";
     }
-} elseif($action == 'assignments') {
+} elseif ($action == 'assignments') {
     array_push($params, $weekcode);
     array_push($params, $courseid);
     array_push($params, $userid);
     array_push($params, $profile);
-    if($weekcode && $courseid && $userid && $profile){
+    if ($weekcode && $courseid && $userid && $profile) {
         $func = "local_notemyprogress_get_assignments_submissions";
     }
-} elseif($action == 'sendmail') {
+} elseif ($action == 'sendmail') {
     array_push($params, $COURSE);
     array_push($params, $USER);
     array_push($params, $subject);
@@ -117,53 +117,62 @@ if($action == 'saveconfigweek') {
     array_push($params, $text);
     array_push($params, $moduleid);
     array_push($params, $modulename);
-    if($subject && $recipients && $text){
+    if ($subject && $recipients && $text) {
         $func = "local_notemyprogress_send_email";
     }
-} elseif($action == 'quiz') {
+} elseif ($action == 'quiz') {
     array_push($params, $weekcode);
     array_push($params, $courseid);
     array_push($params, $userid);
     array_push($params, $profile);
-    if($weekcode && $courseid && $userid && $profile){
+    if ($weekcode && $courseid && $userid && $profile) {
         $func = "local_notemyprogress_get_quiz_attempts";
     }
-} elseif($action == 'dropoutdata') {
+} elseif ($action == 'dropoutdata') {
     array_push($params, $courseid);
     array_push($params, $userid);
     array_push($params, $profile);
-    if($courseid && $userid && $profile){
+    if ($courseid && $userid && $profile) {
         $func = "local_notemyprogress_generate_dropout_data";
     }
-} elseif($action == 'studentsessions') {
+} elseif ($action == 'studentsessions') {
     array_push($params, $weekcode);
     array_push($params, $courseid);
     array_push($params, $userid);
     array_push($params, $profile);
-    if($weekcode && $courseid && $userid && $profile){
+    if ($weekcode && $courseid && $userid && $profile) {
         $func = "local_notemyprogress_get_student_sessions";
     }
-} elseif($action =='downloadMOODLElogs') {
+} elseif ($action == 'savemetareflexion') {
+    array_push($params, $userid);
+    array_push($params, $weekcode);
+    array_push($params, $dayscommitted);
+    array_push($params, $hourscommitted);
+    array_push($params, $courseid);
+    if ($userid && $weekcode && $dayscommitted && $hourscommitted && $courseid) {
+        $func = "local_sr_save_metareflexion";
+    }
+} elseif ($action == 'downloadMOODLElogs') {
     array_push($params, $beginDate);
     array_push($params, $lastDate);
     array_push($params, $courseid);
     array_push($params, $userid);
     array_push($params, $currentUrl);
 
-    if($lastDate && $beginDate && $courseid && $userid && $currentUrl) {
+    if ($lastDate && $beginDate && $courseid && $userid && $currentUrl) {
         $func = "local_notemyprogress_downloadMoodleLogs";
     }
-} elseif($action == 'downloadNMPlogs') {
+} elseif ($action == 'downloadNMPlogs') {
     array_push($params, $beginDate);
     array_push($params, $lastDate);
     array_push($params, $courseid);
     array_push($params, $userid);
     array_push($params, $currentUrl);
 
-    if($lastDate && $beginDate && $courseid && $userid && $currentUrl) {
+    if ($lastDate && $beginDate && $courseid && $userid && $currentUrl) {
         $func = "local_notemyprogress_logsNMP";
     }
-} elseif($action == 'addLogs') {
+} elseif ($action == 'addLogs') {
     array_push($params, $sectionname);
     array_push($params, $actiontype);
     array_push($params, $courseid);
@@ -173,32 +182,34 @@ if($action == 'saveconfigweek') {
     array_push($params, $currentUrl);
     array_push($params, $objectDescription);
 
-    if($courseid && $userid && $sectionname && $actiontype && $objectType && $objectName && $objectDescription && $currentUrl) {
+    if ($courseid && $userid && $sectionname && $actiontype && $objectType && $objectName && $objectDescription && $currentUrl) {
         $func = "local_notemyprogress_addLogs";
     }
 }
 
 
 
-if(isset($params) && isset($func)){
+if (isset($params) && isset($func)) {
     call_user_func_array($func, $params);
-}else{
+} else {
     $message = get_string('api_invalid_data', 'local_notemyprogress');
     local_notemyprogress_ajax_response(array($message), 400);
 }
 
 
-function local_notemyprogress_logsNMP($beginDate, $lastDate, $courseid, $userid, $currentUrl) {
+function local_notemyprogress_logsNMP($beginDate, $lastDate, $courseid, $userid, $currentUrl)
+{
     $logs = new \local_notemyprogress\logs($courseid, $userid);
     $logs->addLogsNMP("downloaded", "logfile", "LOGFILES", "nmp", $currentUrl, "File that contains all the activities performed on the moodle course in a time interval");
-    $jsonData = $logs->searchLogsNMP($beginDate,$lastDate);
-    local_notemyprogress_ajax_response(array("jsonData"=>$jsonData));
+    $jsonData = $logs->searchLogsNMP($beginDate, $lastDate);
+    local_notemyprogress_ajax_response(array("jsonData" => $jsonData));
 }
 
-function local_notemyprogress_save_weeks_config($weeks, $courseid, $userid, $newinstance){
+function local_notemyprogress_save_weeks_config($weeks, $courseid, $userid, $newinstance)
+{
     $weeks = json_decode($weeks);
     $configweeks = new \local_notemyprogress\configweeks($courseid, $userid);
-    if($newinstance){
+    if ($newinstance) {
         $configweeks->create_instance();
     }
     $configweeks->last_instance();
@@ -207,10 +218,11 @@ function local_notemyprogress_save_weeks_config($weeks, $courseid, $userid, $new
     local_notemyprogress_ajax_response(["settings" => $configweeks->get_settings()]);
 }
 
-function local_notemyprogress_change_group($courseid, $userid, $groupid){
+function local_notemyprogress_change_group($courseid, $userid, $groupid)
+{
     set_time_limit(300);
     global $DB;
-    if(is_null($groupid)){
+    if (is_null($groupid)) {
         $groupid = 0;
     }
     $course = $DB->get_record('course', array('id' => $courseid), '*', MUST_EXIST);
@@ -225,19 +237,21 @@ function local_notemyprogress_change_group($courseid, $userid, $groupid){
     local_notemyprogress_ajax_response(array("groups" => $groups));
 }
 
-function local_notemyprogress_get_sessions($weekcode, $courseid, $userid, $profile){
+function local_notemyprogress_get_sessions($weekcode, $courseid, $userid, $profile)
+{
     set_time_limit(300);
     $reports = new \local_notemyprogress\teacher($courseid, $userid);
     $indicators = $reports->get_sessions($weekcode);
-    $body = array( "indicators" => $indicators );
+    $body = array("indicators" => $indicators);
     local_notemyprogress_ajax_response($body);
 }
 
-function local_notemyprogress_get_inverted_time($weekcode, $courseid, $userid, $profile){
+function local_notemyprogress_get_inverted_time($weekcode, $courseid, $userid, $profile)
+{
     set_time_limit(300);
-    if($profile == "teacher"){
+    if ($profile == "teacher") {
         $reports = new \local_notemyprogress\teacher($courseid, $userid);
-    }else{
+    } else {
         $reports = new \local_notemyprogress\student($courseid, $userid);
     }
     $inverted_time = $reports->inverted_time($weekcode);
@@ -247,11 +261,12 @@ function local_notemyprogress_get_inverted_time($weekcode, $courseid, $userid, $
     local_notemyprogress_ajax_response($body);
 }
 
-function local_notemyprogress_get_assignments_submissions($weekcode, $courseid, $userid, $profile){
+function local_notemyprogress_get_assignments_submissions($weekcode, $courseid, $userid, $profile)
+{
     set_time_limit(300);
-    if($profile == "teacher"){
+    if ($profile == "teacher") {
         $reports = new \local_notemyprogress\teacher($courseid, $userid);
-    }else{
+    } else {
         $reports = new \local_notemyprogress\student($courseid, $userid);
     }
     $submissions = $reports->assignments_submissions($weekcode);
@@ -264,7 +279,8 @@ function local_notemyprogress_get_assignments_submissions($weekcode, $courseid,
 }
 
 
-function local_notemyprogress_send_email($course, $user, $subject, $recipients, $text, $moduleid, $modulename){
+function local_notemyprogress_send_email($course, $user, $subject, $recipients, $text, $moduleid, $modulename)
+{
     set_time_limit(300);
     $email = new \local_notemyprogress\email($course, $user);
     $email->sendmail($subject, $recipients, $text, $moduleid, $modulename);
@@ -275,11 +291,12 @@ function local_notemyprogress_send_email($course, $user, $subject, $recipients,
     local_notemyprogress_ajax_response($body);
 }
 
-function local_notemyprogress_get_quiz_attempts($weekcode, $courseid, $userid, $profile){
+function local_notemyprogress_get_quiz_attempts($weekcode, $courseid, $userid, $profile)
+{
     set_time_limit(300);
-    if($profile == "teacher"){
+    if ($profile == "teacher") {
         $reports = new \local_notemyprogress\teacher($courseid, $userid);
-    }else{
+    } else {
         $reports = new \local_notemyprogress\student($courseid, $userid);
     }
     $quiz = $reports->quiz_attempts($weekcode);
@@ -289,18 +306,20 @@ function local_notemyprogress_get_quiz_attempts($weekcode, $courseid, $userid, $
     local_notemyprogress_ajax_response($body);
 }
 
-function local_notemyprogress_generate_dropout_data($courseid, $userid, $profile){
+function local_notemyprogress_generate_dropout_data($courseid, $userid, $profile)
+{
     set_time_limit(300);
-    if($profile == "teacher"){
+    if ($profile == "teacher") {
         $dropout = new \local_notemyprogress\dropout($courseid, $userid);
         $dropout->generate_data();
         local_notemyprogress_ajax_response([], "ok", true, 200);
-    }else{
+    } else {
         local_notemyprogress_ajax_response([], "", false, 400);
     }
 }
 
-function local_notemyprogress_get_student_sessions($weekcode, $courseid, $userid, $profile){
+function local_notemyprogress_get_student_sessions($weekcode, $courseid, $userid, $profile)
+{
     set_time_limit(300);
     $reports = new \local_notemyprogress\student($courseid, $userid);
     $indicators = $reports->get_sessions($weekcode, false);
@@ -310,16 +329,18 @@ function local_notemyprogress_get_student_sessions($weekcode, $courseid, $userid
     local_notemyprogress_ajax_response($body);
 }
 
-function local_notemyprogress_downloadMoodleLogs($beginDate, $lastDate, $courseid, $userid, $currentUrl) {
+function local_notemyprogress_downloadMoodleLogs($beginDate, $lastDate, $courseid, $userid, $currentUrl)
+{
     $logs = new \local_notemyprogress\logs($courseid, $userid);
 
     $logs->addLogsNMP("downloaded", "logfile", "LOGFILES", "moodle", $currentUrl, "File that contains all the activities performed on the Note My Progress plugin in a time interval");
     $jsonData = $logs->searchLogsMoodle($beginDate, $lastDate);
-    local_notemyprogress_ajax_response(array("jsonData"=>$jsonData));
+    local_notemyprogress_ajax_response(array("jsonData" => $jsonData));
 }
 
-function local_notemyprogress_addLogs($sectionname, $actiontype, $courseid, $userid, $objectType, $objectName, $currentUrl, $objectDescription) {
+function local_notemyprogress_addLogs($sectionname, $actiontype, $courseid, $userid, $objectType, $objectName, $currentUrl, $objectDescription)
+{
     $logs = new \local_notemyprogress\logs($courseid, $userid);
     $logs->addLogsNMP($actiontype, $objectType, $sectionname, $objectName, $currentUrl, $objectDescription);
-    local_notemyprogress_ajax_response(array("ok"=>"ok"));
-}
\ No newline at end of file
+    local_notemyprogress_ajax_response(array("ok" => "ok"));
+}
diff --git a/notemyprogress/amd/build/alertify.min.js b/notemyprogress/amd/build/alertify.min.js
index 597b7780555cf6a68d1bf5af649f2bff90efd30a..25327d04ce26d2e086d54d8f6612473047d49ad1 100644
--- a/notemyprogress/amd/build/alertify.min.js
+++ b/notemyprogress/amd/build/alertify.min.js
@@ -1,2 +1,7 @@
-define ("local_notemyprogress/alertify",["local_notemyprogress/config","alertify"],function(a,b){return b});
+define("local_notemyprogress/alertify", [
+  "local_notemyprogress/config",
+  "alertify",
+], function (a, b) {
+  return b;
+});
 //# sourceMappingURL=alertify.min.js.map
diff --git a/notemyprogress/amd/build/alertify.min.js.map b/notemyprogress/amd/build/alertify.min.js.map
index ec39d3b2750ac2cf4b41c2899f2b338adbc84211..84b86e4cfa636da871da7334f403d9fc366a2abf 100644
--- a/notemyprogress/amd/build/alertify.min.js.map
+++ b/notemyprogress/amd/build/alertify.min.js.map
@@ -1 +1,16 @@
-{"version":3,"sources":["../src/alertify.js"],"names":["define","unused","alertify"],"mappings":"AAAAA,OAAM,+BAAC,CAAC,2BAAD,CAA8B,UAA9B,CAAD,CAA4C,SAASC,CAAT,CAAiBC,CAAjB,CAA2B,CACrE,MAAOA,CAAAA,CACV,CAFC,CAAN","sourcesContent":["define(['local_notemyprogress/config', 'alertify'], function(unused, alertify) {\r\n        return alertify;\r\n    }\r\n);"],"file":"alertify.min.js"}
\ No newline at end of file
+{
+  "version": 3,
+  "sources": [
+    "../src/alertify.js"
+  ],
+  "names": [
+    "define",
+    "unused",
+    "alertify"
+  ],
+  "mappings": "AAAAA,OAAM,+BAAC,CAAC,2BAAD,CAA8B,UAA9B,CAAD,CAA4C,SAASC,CAAT,CAAiBC,CAAjB,CAA2B,CACrE,MAAOA,CAAAA,CACV,CAFC,CAAN",
+  "sourcesContent": [
+    "define(['local_notemyprogress/config', 'alertify'], function(unused, alertify) {\r\n        return alertify;\r\n    }\r\n);"
+  ],
+  "file": "alertify.min.js"
+}
diff --git a/notemyprogress/amd/build/assignments.min.js b/notemyprogress/amd/build/assignments.min.js
index 53681eb16cc77ddf61eeab8ee0d6425d53429577..367c4202f79dc0c286675268acc2304b0acce2a3 100644
--- a/notemyprogress/amd/build/assignments.min.js
+++ b/notemyprogress/amd/build/assignments.min.js
@@ -1,2 +1,412 @@
-define(["local_notemyprogress/vue","local_notemyprogress/vuetify","local_notemyprogress/axios","local_notemyprogress/moment","local_notemyprogress/pagination","local_notemyprogress/chartdynamic","local_notemyprogress/pageheader","local_notemyprogress/emailform","local_notemyprogress/helpdialog"],function(s,e,t,i,n,o,a,r,c){"use strict";return{init:function(i){s.use(e),s.component("pagination",n),s.component("chart",o),s.component("pageheader",a),s.component("emailform",r),s.component("helpdialog",c);let l=new s({delimiters:["[[","]]"],el:"#submissions",vuetify:new e,data:()=>({dialog:!1,selected_users:[],modulename:"",moduleid:!1,strings:i.strings,groups:i.groups,userid:i.userid,courseid:i.courseid,timezone:i.timezone,render_has:i.profile_render,scriptname:i.scriptname,loading:!1,errors:[],pages:i.pages,submissions:i.submissions,email_strings:i.strings.email_strings,access:i.access,assigns_submissions_colors:i.assigns_submissions_colors,access_content_colors:i.access_content_colors,access_chart_categories:[],access_chart_series:[],access_chart_users:[],help_dialog:!1,help_contents:[],email_object_name:""}),beforeMount(){this.generate_access_content_data()},mounted(){document.querySelector("#sessions-loader").style.display="none",document.querySelector("#submissions").style.display="block",setTimeout(function(){l.setGraphicsEventListeners()},1e3)},methods:{get_help_content(){let s=[];return s.push({title:this.strings.section_help_title,description:this.strings.section_help_description}),s},update_interactions(s){this.loading=!0,this.errors=[];let e={action:"assignments",userid:this.userid,courseid:this.courseid,weekcode:s.weekcode,profile:this.render_has};return t({method:"get",url:M.cfg.wwwroot+"/local/notemyprogress/ajax.php",params:e}).then(s=>{200==s.status&&s.data.ok?(this.submissions=s.data.data.submissions,this.access=s.data.data.access,this.generate_access_content_data()):this.error_messages.push(this.strings.error_network)}).catch(s=>{this.errors.push(this.strings.api_error_network)}).finally(()=>{this.loading=!1,l.addLogsIntoDB("viewed","week_"+s.weekcode,"week_section","Week section that allows you to obtain information on a specific week"),l.setGraphicsEventListeners()}),this.data},build_assigns_submissions_chart(){let s=new Object;return s.chart={type:"column",backgroundColor:null,style:{fontFamily:"poppins"}},s.title={text:null},s.colors=this.assigns_submissions_colors,s.xAxis={categories:this.submissions.categories,crosshair:!0},s.yAxis={min:0,title:{text:this.strings.assignsubs_chart_yaxis},allowDecimals:!1},s.tooltip={formatter:function(){let s=this.x.split("</b>");s=(s=(s=s[0]||"").split("<b>"))[1]||"";let e=this.series.name,t=this.y,i=l.strings.students_text,n=l.strings.send_mail;return 1==t&&(i=l.strings.student_text),"<b>"+s+"</b><br/><b>"+e+": </b>"+t+" "+i+"<br/>"+n}},s.plotOptions={series:{cursor:"pointer",point:{events:{click:function(){l.email_object_name="assigns_submissions";let s=this.category.split("</b>");s=(s=(s=s[0]||"").split("<b>"))[1]||"",l.email_strings.subject=l.email_strings.subject_prefix+" - "+s;let e=this.x,t=this.series.colorIndex;l.dialog=!0,l.selected_users=l.submissions.users[e][t],l.moduleid=l.submissions.modules[e],l.modulename="assign",l.scriptname="test"}}}}},s.series=this.submissions.data,s},build_access_content_chart(){let s=new Object;return s.chart={type:"bar",backgroundColor:null,style:{fontFamily:"poppins"}},s.title={text:null},s.colors=this.access_content_colors,s.xAxis={categories:this.access_chart_categories,title:{text:null},crosshair:!0},s.yAxis={min:0,title:{text:this.strings.access_chart_yaxis_label},labels:{overflow:"justify"},allowDecimals:!1},s.tooltip={formatter:function(){let s=this.x,e=this.series.name,t=this.y,i=l.strings.students_text,n=l.strings.send_mail;return 1==t&&(i=l.strings.student_text),"<b>"+s+"</b><br/><b>"+e+": </b>"+t+" "+i+"<br/>"+n}},s.plotOptions={bar:{dataLabels:{enabled:!1}},series:{cursor:"pointer",point:{events:{click:function(){l.email_object_name="access_content";let s=this.category;l.email_strings.subject=l.email_strings.subject_prefix+" - "+s;let e=this.x,t=this.series.colorIndex,i=l.get_users(l.access_chart_users[e][t]);l.selected_users=i;let n=l.get_moduletype(this.category);l.modulename=n.type,l.moduleid=n.id,l.dialog=!0,l.scriptname="test"}}}}},s.series=this.access_chart_series,s},update_dialog(s){this.dialog=s},generate_access_content_data(){let s=[];this.access.users.forEach(e=>{s.push(Number(e.id))});let e=[];this.access.types.forEach(s=>{s.show&&e.push(s.type)});let t=[];this.access.modules.forEach(s=>{e.includes(s.type)&&t.push(s)});let i=[],n=[],o=[],a=[];t.forEach(e=>{i.push(e.name);let t=e.users,r=s.filter(s=>!t.includes(s));o.push(t.length),a.push(r.length),n.push([t,r])});let r=[{name:this.strings.access,data:o},{name:this.strings.no_access,data:a}];this.access_chart_categories=i,this.access_chart_series=r,this.access_chart_users=n},get_users(s){let e=[];return this.access.users.forEach(t=>{let i=Number(t.id);s.includes(i)&&e.push(t)}),e},get_moduletype(s){let e;return this.access.modules.forEach(t=>{t.name===s&&(e=t)}),e},open_chart_help(s){let e=[];var t="",i="",n="",o="";"assigns_submissions"==s?(e.push({title:this.strings.assigns_submissions_help_title,description:this.strings.assigns_submissions_help_description_p1}),e.push({description:this.strings.assigns_submissions_help_description_p2}),t="viewed",n="help",i="assigns_submissions",o="Help section that provides information about the invested time chart",l.addLogsIntoDB(t,i,n,o)):"access_content"==s&&(e.push({title:this.strings.access_content_help_title,description:this.strings.access_content_help_description_p1}),e.push({description:this.strings.access_content_help_description_p2}),t="viewed",n="help",i="access_content",o="Help section that provides information about the sessions per hour chart",l.addLogsIntoDB(t,i,n,o)),this.help_contents=e,this.help_contents.length&&(this.help_dialog=!0)},update_help_dialog(s){this.help_dialog=s},get_timezone(){return`${this.strings.ss_change_timezone} ${this.timezone}`},setGraphicsEventListeners(){let s=document.querySelectorAll(".highcharts-container");s.length<1?setTimeout(l.setGraphicsEventListeners,500):(s[0].id="submissions",s[1].id="accessContent",s.forEach(s=>{s.addEventListener("mouseenter",l.addLogsViewGraphic)}))},addLogsViewGraphic(s){event.stopPropagation();var e="",t="",i="",n="";switch(s.target.id){case"submissions":e="viewed",t="assigns_submissions",i="chart",n="Chart showing the work submited by the students";break;case"accessContent":e="viewed",t="access_content",i="chart",n="Chart showing the course content accessed by the students";break;default:e="viewed",t="",i="chart",n="A chart"}l.addLogsIntoDB(e,t,i,n)},addLogsIntoDB(s,e,n,o){let a={courseid:i.courseid,userid:i.userid,action:"addLogs",sectionname:"TASKS_MONITORING",actiontype:s,objectType:n,objectName:e,currentUrl:document.location.href,objectDescription:o};t({method:"get",url:M.cfg.wwwroot+"/local/notemyprogress/ajax.php",params:a}).then(s=>{200==s.status&&s.data.ok}).catch(s=>{})}}})}}});
+define([
+  "local_notemyprogress/vue",
+  "local_notemyprogress/vuetify",
+  "local_notemyprogress/axios",
+  "local_notemyprogress/moment",
+  "local_notemyprogress/pagination",
+  "local_notemyprogress/chartdynamic",
+  "local_notemyprogress/pageheader",
+  "local_notemyprogress/emailform",
+  "local_notemyprogress/helpdialog",
+], function (s, e, t, i, n, o, a, r, c) {
+  "use strict";
+  return {
+    init: function (i) {
+      s.use(e),
+        s.component("pagination", n),
+        s.component("chart", o),
+        s.component("pageheader", a),
+        s.component("emailform", r),
+        s.component("helpdialog", c);
+      let l = new s({
+        delimiters: ["[[", "]]"],
+        el: "#submissions",
+        vuetify: new e(),
+        data: () => ({
+          dialog: !1,
+          selected_users: [],
+          modulename: "",
+          moduleid: !1,
+          strings: i.strings,
+          groups: i.groups,
+          userid: i.userid,
+          courseid: i.courseid,
+          timezone: i.timezone,
+          render_has: i.profile_render,
+          scriptname: i.scriptname,
+          loading: !1,
+          errors: [],
+          pages: i.pages,
+          submissions: i.submissions,
+          email_strings: i.strings.email_strings,
+          access: i.access,
+          assigns_submissions_colors: i.assigns_submissions_colors,
+          access_content_colors: i.access_content_colors,
+          access_chart_categories: [],
+          access_chart_series: [],
+          access_chart_users: [],
+          help_dialog: !1,
+          help_contents: [],
+          email_object_name: "",
+        }),
+        beforeMount() {
+          this.generate_access_content_data();
+        },
+        mounted() {
+          (document.querySelector("#sessions-loader").style.display = "none"),
+            (document.querySelector("#submissions").style.display = "block"),
+            setTimeout(function () {
+              l.setGraphicsEventListeners();
+            }, 1e3);
+        },
+        methods: {
+          get_help_content() {
+            let s = [];
+            return (
+              s.push({
+                title: this.strings.section_help_title,
+                description: this.strings.section_help_description,
+              }),
+              s
+            );
+          },
+          update_interactions(s) {
+            (this.loading = !0), (this.errors = []);
+            let e = {
+              action: "assignments",
+              userid: this.userid,
+              courseid: this.courseid,
+              weekcode: s.weekcode,
+              profile: this.render_has,
+            };
+            return (
+              t({
+                method: "get",
+                url: M.cfg.wwwroot + "/local/notemyprogress/ajax.php",
+                params: e,
+              })
+                .then((s) => {
+                  200 == s.status && s.data.ok
+                    ? ((this.submissions = s.data.data.submissions),
+                      (this.access = s.data.data.access),
+                      this.generate_access_content_data())
+                    : this.error_messages.push(this.strings.error_network);
+                })
+                .catch((s) => {
+                  this.errors.push(this.strings.api_error_network);
+                })
+                .finally(() => {
+                  (this.loading = !1),
+                    l.addLogsIntoDB(
+                      "viewed",
+                      "week_" + s.weekcode,
+                      "week_section",
+                      "Week section that allows you to obtain information on a specific week"
+                    ),
+                    l.setGraphicsEventListeners();
+                }),
+              this.data
+            );
+          },
+          build_assigns_submissions_chart() {
+            let s = new Object();
+            return (
+              (s.chart = {
+                type: "column",
+                backgroundColor: null,
+                style: { fontFamily: "poppins" },
+              }),
+              (s.title = { text: null }),
+              (s.colors = this.assigns_submissions_colors),
+              (s.xAxis = {
+                categories: this.submissions.categories,
+                crosshair: !0,
+              }),
+              (s.yAxis = {
+                min: 0,
+                title: { text: this.strings.assignsubs_chart_yaxis },
+                allowDecimals: !1,
+              }),
+              (s.tooltip = {
+                formatter: function () {
+                  let s = this.x.split("</b>");
+                  s = (s = (s = s[0] || "").split("<b>"))[1] || "";
+                  let e = this.series.name,
+                    t = this.y,
+                    i = l.strings.students_text,
+                    n = l.strings.send_mail;
+                  return (
+                    1 == t && (i = l.strings.student_text),
+                    "<b>" +
+                      s +
+                      "</b><br/><b>" +
+                      e +
+                      ": </b>" +
+                      t +
+                      " " +
+                      i +
+                      "<br/>" +
+                      n
+                  );
+                },
+              }),
+              (s.plotOptions = {
+                series: {
+                  cursor: "pointer",
+                  point: {
+                    events: {
+                      click: function () {
+                        l.email_object_name = "assigns_submissions";
+                        let s = this.category.split("</b>");
+                        (s = (s = (s = s[0] || "").split("<b>"))[1] || ""),
+                          (l.email_strings.subject =
+                            l.email_strings.subject_prefix + " - " + s);
+                        let e = this.x,
+                          t = this.series.colorIndex;
+                        (l.dialog = !0),
+                          (l.selected_users = l.submissions.users[e][t]),
+                          (l.moduleid = l.submissions.modules[e]),
+                          (l.modulename = "assign"),
+                          (l.scriptname = "test");
+                      },
+                    },
+                  },
+                },
+              }),
+              (s.series = this.submissions.data),
+              s
+            );
+          },
+          build_access_content_chart() {
+            let s = new Object();
+            return (
+              (s.chart = {
+                type: "bar",
+                backgroundColor: null,
+                style: { fontFamily: "poppins" },
+              }),
+              (s.title = { text: null }),
+              (s.colors = this.access_content_colors),
+              (s.xAxis = {
+                categories: this.access_chart_categories,
+                title: { text: null },
+                crosshair: !0,
+              }),
+              (s.yAxis = {
+                min: 0,
+                title: { text: this.strings.access_chart_yaxis_label },
+                labels: { overflow: "justify" },
+                allowDecimals: !1,
+              }),
+              (s.tooltip = {
+                formatter: function () {
+                  let s = this.x,
+                    e = this.series.name,
+                    t = this.y,
+                    i = l.strings.students_text,
+                    n = l.strings.send_mail;
+                  return (
+                    1 == t && (i = l.strings.student_text),
+                    "<b>" +
+                      s +
+                      "</b><br/><b>" +
+                      e +
+                      ": </b>" +
+                      t +
+                      " " +
+                      i +
+                      "<br/>" +
+                      n
+                  );
+                },
+              }),
+              (s.plotOptions = {
+                bar: { dataLabels: { enabled: !1 } },
+                series: {
+                  cursor: "pointer",
+                  point: {
+                    events: {
+                      click: function () {
+                        l.email_object_name = "access_content";
+                        let s = this.category;
+                        l.email_strings.subject =
+                          l.email_strings.subject_prefix + " - " + s;
+                        let e = this.x,
+                          t = this.series.colorIndex,
+                          i = l.get_users(l.access_chart_users[e][t]);
+                        l.selected_users = i;
+                        let n = l.get_moduletype(this.category);
+                        (l.modulename = n.type),
+                          (l.moduleid = n.id),
+                          (l.dialog = !0),
+                          (l.scriptname = "test");
+                      },
+                    },
+                  },
+                },
+              }),
+              (s.series = this.access_chart_series),
+              s
+            );
+          },
+          update_dialog(s) {
+            this.dialog = s;
+          },
+          generate_access_content_data() {
+            let s = [];
+            this.access.users.forEach((e) => {
+              s.push(Number(e.id));
+            });
+            let e = [];
+            this.access.types.forEach((s) => {
+              s.show && e.push(s.type);
+            });
+            let t = [];
+            this.access.modules.forEach((s) => {
+              e.includes(s.type) && t.push(s);
+            });
+            let i = [],
+              n = [],
+              o = [],
+              a = [];
+            t.forEach((e) => {
+              i.push(e.name);
+              let t = e.users,
+                r = s.filter((s) => !t.includes(s));
+              o.push(t.length), a.push(r.length), n.push([t, r]);
+            });
+            let r = [
+              { name: this.strings.access, data: o },
+              { name: this.strings.no_access, data: a },
+            ];
+            (this.access_chart_categories = i),
+              (this.access_chart_series = r),
+              (this.access_chart_users = n);
+          },
+          get_users(s) {
+            let e = [];
+            return (
+              this.access.users.forEach((t) => {
+                let i = Number(t.id);
+                s.includes(i) && e.push(t);
+              }),
+              e
+            );
+          },
+          get_moduletype(s) {
+            let e;
+            return (
+              this.access.modules.forEach((t) => {
+                t.name === s && (e = t);
+              }),
+              e
+            );
+          },
+          open_chart_help(s) {
+            let e = [];
+            var t = "",
+              i = "",
+              n = "",
+              o = "";
+            "assigns_submissions" == s
+              ? (e.push({
+                  title: this.strings.assigns_submissions_help_title,
+                  description:
+                    this.strings.assigns_submissions_help_description_p1,
+                }),
+                e.push({
+                  description:
+                    this.strings.assigns_submissions_help_description_p2,
+                }),
+                (t = "viewed"),
+                (n = "help"),
+                (i = "assigns_submissions"),
+                (o =
+                  "Help section that provides information about the invested time chart"),
+                l.addLogsIntoDB(t, i, n, o))
+              : "access_content" == s &&
+                (e.push({
+                  title: this.strings.access_content_help_title,
+                  description: this.strings.access_content_help_description_p1,
+                }),
+                e.push({
+                  description: this.strings.access_content_help_description_p2,
+                }),
+                (t = "viewed"),
+                (n = "help"),
+                (i = "access_content"),
+                (o =
+                  "Help section that provides information about the sessions per hour chart"),
+                l.addLogsIntoDB(t, i, n, o)),
+              (this.help_contents = e),
+              this.help_contents.length && (this.help_dialog = !0);
+          },
+          update_help_dialog(s) {
+            this.help_dialog = s;
+          },
+          get_timezone() {
+            return `${this.strings.ss_change_timezone} ${this.timezone}`;
+          },
+          setGraphicsEventListeners() {
+            let s = document.querySelectorAll(".highcharts-container");
+            s.length < 1
+              ? setTimeout(l.setGraphicsEventListeners, 500)
+              : ((s[0].id = "submissions"),
+                (s[1].id = "accessContent"),
+                s.forEach((s) => {
+                  s.addEventListener("mouseenter", l.addLogsViewGraphic);
+                }));
+          },
+          addLogsViewGraphic(s) {
+            event.stopPropagation();
+            var e = "",
+              t = "",
+              i = "",
+              n = "";
+            switch (s.target.id) {
+              case "submissions":
+                (e = "viewed"),
+                  (t = "assigns_submissions"),
+                  (i = "chart"),
+                  (n = "Chart showing the work submited by the students");
+                break;
+              case "accessContent":
+                (e = "viewed"),
+                  (t = "access_content"),
+                  (i = "chart"),
+                  (n =
+                    "Chart showing the course content accessed by the students");
+                break;
+              default:
+                (e = "viewed"), (t = ""), (i = "chart"), (n = "A chart");
+            }
+            l.addLogsIntoDB(e, t, i, n);
+          },
+          addLogsIntoDB(s, e, n, o) {
+            let a = {
+              courseid: i.courseid,
+              userid: i.userid,
+              action: "addLogs",
+              sectionname: "TASKS_MONITORING",
+              actiontype: s,
+              objectType: n,
+              objectName: e,
+              currentUrl: document.location.href,
+              objectDescription: o,
+            };
+            t({
+              method: "get",
+              url: M.cfg.wwwroot + "/local/notemyprogress/ajax.php",
+              params: a,
+            })
+              .then((s) => {
+                200 == s.status && s.data.ok;
+              })
+              .catch((s) => {});
+          },
+        },
+      });
+    },
+  };
+});
 //# sourceMappingURL=assignments.min.js.map
diff --git a/notemyprogress/amd/build/assignments.min.js.map b/notemyprogress/amd/build/assignments.min.js.map
index 0b131863a10c3fd0413253d97085b6ddf94e017a..e52add4d5acc84cc142181bbd9cb2cbfd0296013 100644
--- a/notemyprogress/amd/build/assignments.min.js.map
+++ b/notemyprogress/amd/build/assignments.min.js.map
@@ -1 +1,173 @@
-{"version":3,"sources":["../src/assignments.js"],"names":["define","Vue","Vuetify","Axios","Moment","Pagination","ChartDynamic","PageHeader","EmailForm","HelpDialog","init","content","use","component","vue","delimiters","el","vuetify","data","dialog","selected_users","modulename","moduleid","strings","groups","userid","courseid","timezone","render_has","profile_render","loading","errors","pages","submissions","email_strings","access","assigns_submissions_colors","access_content_colors","access_chart_categories","access_chart_series","access_chart_users","help_dialog","help_contents","beforeMount","generate_access_content_data","mounted","document","querySelector","style","display","methods","get_help_content","contents","title","section_help_title","description","section_help_description","update_interactions","week","action","weekcode","profile","method","url","M","cfg","wwwroot","params","then","response","status","ok","error_messages","push","error_network","catch","api_error_network","finally","build_assigns_submissions_chart","chart","type","backgroundColor","fontFamily","text","colors","xAxis","categories","crosshair","yAxis","min","assignsubs_chart_yaxis","allowDecimals","tooltip","formatter","label","x","split","serie_name","series","name","value","y","students_label","students_text","send_mail","student_text","plotOptions","cursor","point","events","click","category","subject","subject_prefix","column","colorIndex","users","modules","build_access_content_chart","access_chart_yaxis_label","labels","overflow","bar","dataLabels","enabled","get_users","module","get_moduletype","id","update_dialog","usersIds","forEach","user","selected_types_labels","types","item","show","selected_modules","includes","modules_users","access_users_data","no_access_users_data","access_users","no_access_users","filter","length","no_access","ids","mod","open_chart_help","assigns_submissions_help_title","assigns_submissions_help_description_p1","assigns_submissions_help_description_p2","access_content_help_title","access_content_help_description_p1","access_content_help_description_p2","update_help_dialog","get_timezone","information","ss_change_timezone"],"mappings":"AAAAA,OAAM,kCAAC,CAAC,wBAAD,CACC,4BADD,CAEC,0BAFD,CAGC,2BAHD,CAIC,+BAJD,CAKC,iCALD,CAMC,+BAND,CAOC,8BAPD,CAQC,+BARD,CAAD,CAUF,SAASC,CAAT,CAAcC,CAAd,CAAuBC,CAAvB,CAA8BC,CAA9B,CAAsCC,CAAtC,CAAkDC,CAAlD,CAAgEC,CAAhE,CAA4EC,CAA5E,CAAuFC,CAAvF,CAAmG,CAC/F,aAsUA,MAAO,CACHC,IAAI,CArUR,SAAcC,CAAd,CAAuB,CAEnBV,CAAG,CAACW,GAAJ,CAAQV,CAAR,EACAD,CAAG,CAACY,SAAJ,CAAc,YAAd,CAA4BR,CAA5B,EACAJ,CAAG,CAACY,SAAJ,CAAc,OAAd,CAAuBP,CAAvB,EACAL,CAAG,CAACY,SAAJ,CAAc,YAAd,CAA4BN,CAA5B,EACAN,CAAG,CAACY,SAAJ,CAAc,WAAd,CAA2BL,CAA3B,EACAP,CAAG,CAACY,SAAJ,CAAc,YAAd,CAA4BJ,CAA5B,EACA,GAAIK,CAAAA,CAAG,CAAG,GAAIb,CAAAA,CAAJ,CAAQ,CACdc,UAAU,CAAE,CAAC,IAAD,CAAO,IAAP,CADE,CAEdC,EAAE,CAAE,cAFU,CAGdC,OAAO,CAAE,GAAIf,CAAAA,CAHC,CAIdgB,IAJc,gBAIP,CACH,MAAO,CACHC,MAAM,GADH,CAEHC,cAAc,CAAG,EAFd,CAGHC,UAAU,CAAG,EAHV,CAIHC,QAAQ,GAJL,CAKHC,OAAO,CAAGZ,CAAO,CAACY,OALf,CAMHC,MAAM,CAAGb,CAAO,CAACa,MANd,CAOHC,MAAM,CAAGd,CAAO,CAACc,MAPd,CAQHC,QAAQ,CAAGf,CAAO,CAACe,QARhB,CASHC,QAAQ,CAAGhB,CAAO,CAACgB,QAThB,CAUHC,UAAU,CAAGjB,CAAO,CAACkB,cAVlB,CAWHC,OAAO,GAXJ,CAYHC,MAAM,CAAG,EAZN,CAaHC,KAAK,CAAGrB,CAAO,CAACqB,KAbb,CAcHC,WAAW,CAAEtB,CAAO,CAACsB,WAdlB,CAeHC,aAAa,CAAEvB,CAAO,CAACY,OAAR,CAAgBW,aAf5B,CAiBHC,MAAM,CAAExB,CAAO,CAACwB,MAjBb,CAkBHC,0BAA0B,CAAEzB,CAAO,CAACyB,0BAlBjC,CAmBHC,qBAAqB,CAAE1B,CAAO,CAAC0B,qBAnB5B,CAoBHC,uBAAuB,CAAE,EApBtB,CAqBHC,mBAAmB,CAAE,EArBlB,CAsBHC,kBAAkB,CAAE,EAtBjB,CAwBHC,WAAW,GAxBR,CAyBHC,aAAa,CAAE,EAzBZ,CA2BV,CAhCa,CAiCdC,WAjCc,uBAiCD,CACT,KAAKC,4BAAL,EACH,CAnCa,CAoCdC,OApCc,mBAoCL,CACLC,QAAQ,CAACC,aAAT,CAAuB,kBAAvB,EAA2CC,KAA3C,CAAiDC,OAAjD,CAA2D,MAA3D,CACAH,QAAQ,CAACC,aAAT,CAAuB,cAAvB,EAAuCC,KAAvC,CAA6CC,OAA7C,CAAuD,OAC1D,CAvCa,CAwCdC,OAAO,CAAG,CACNC,gBADM,4BACY,CACd,GAAIC,CAAAA,CAAQ,CAAG,CACD,CACVC,KAAK,CAAE,KAAK9B,OAAL,CAAa+B,kBADV,CAEVC,WAAW,CAAE,KAAKhC,OAAL,CAAaiC,wBAFhB,CADC,CAAf,CAKA,MAAOJ,CAAAA,CACV,CARK,CAUNK,mBAVM,8BAUcC,CAVd,CAUmB,YACrB,KAAK5B,OAAL,IACA,KAAKC,MAAL,CAAc,EAAd,CACA,GAAIb,CAAAA,CAAI,CAAG,CACPyC,MAAM,CAAG,aADF,CAEPlC,MAAM,CAAG,KAAKA,MAFP,CAGPC,QAAQ,CAAG,KAAKA,QAHT,CAIPkC,QAAQ,CAAGF,CAAI,CAACE,QAJT,CAKPC,OAAO,CAAG,KAAKjC,UALR,CAAX,CAOAzB,CAAK,CAAC,CACF2D,MAAM,CAAC,KADL,CAEFC,GAAG,CAAEC,CAAC,CAACC,GAAF,CAAMC,OAAN,CAAgB,8BAFnB,CAGFC,MAAM,CAAGjD,CAHP,CAAD,CAAL,CAIGkD,IAJH,CAIQ,SAACC,CAAD,CAAc,CAClB,GAAuB,GAAnB,EAAAA,CAAQ,CAACC,MAAT,EAA0BD,CAAQ,CAACnD,IAAT,CAAcqD,EAA5C,CAAgD,CAC5C,CAAI,CAACtC,WAAL,CAAmBoC,CAAQ,CAACnD,IAAT,CAAcA,IAAd,CAAmBe,WAAtC,CACA,CAAI,CAACE,MAAL,CAAckC,CAAQ,CAACnD,IAAT,CAAcA,IAAd,CAAmBiB,MAAjC,CACA,CAAI,CAACS,4BAAL,EACH,CAJD,IAIO,CACH,CAAI,CAAC4B,cAAL,CAAoBC,IAApB,CAAyB,CAAI,CAAClD,OAAL,CAAamD,aAAtC,CACH,CACJ,CAZD,EAYGC,KAZH,CAYS,UAAO,CACZ,CAAI,CAAC5C,MAAL,CAAY0C,IAAZ,CAAiB,CAAI,CAAClD,OAAL,CAAaqD,iBAA9B,CACH,CAdD,EAcGC,OAdH,CAcW,UAAM,CACb,CAAI,CAAC/C,OAAL,GACH,CAhBD,EAiBA,MAAO,MAAKZ,IACf,CAtCK,CAwCN4D,+BAxCM,2CAwC4B,CAC9B,GAAIC,CAAAA,CAAK,GAAT,CACAA,CAAK,CAACA,KAAN,CAAc,CACVC,IAAI,CAAE,QADI,CAEVC,eAAe,CAAE,IAFP,CAGVjC,KAAK,CAAE,CAACkC,UAAU,CAAE,SAAb,CAHG,CAAd,CAKAH,CAAK,CAAC1B,KAAN,CAAc,CACV8B,IAAI,CAAE,IADI,CAAd,CAGAJ,CAAK,CAACK,MAAN,CAAe,KAAKhD,0BAApB,CACA2C,CAAK,CAACM,KAAN,CAAc,CACVC,UAAU,CAAE,KAAKrD,WAAL,CAAiBqD,UADnB,CAEVC,SAAS,GAFC,CAAd,CAIAR,CAAK,CAACS,KAAN,CAAc,CACVC,GAAG,CAAE,CADK,CAEVpC,KAAK,CAAE,CACH8B,IAAI,CAAE,KAAK5D,OAAL,CAAamE,sBADhB,CAFG,CAKVC,aAAa,GALH,CAAd,CAOAZ,CAAK,CAACa,OAAN,CAAgB,CACZC,SAAS,CAAE,oBAAY,CACnB,GAAIC,CAAAA,CAAK,CAAG,KAAKC,CAAL,CAAOC,KAAP,CAAa,MAAb,CAAZ,CACAF,CAAK,CAAGA,CAAK,CAAC,CAAD,CAAL,EAAY,EAApB,CACAA,CAAK,CAAGA,CAAK,CAACE,KAAN,CAAY,KAAZ,CAAR,CACAF,CAAK,CAAGA,CAAK,CAAC,CAAD,CAAL,EAAY,EAApB,CAJmB,GAKfG,CAAAA,CAAU,CAAG,KAAKC,MAAL,CAAYC,IALV,CAMfC,CAAK,CAAG,KAAKC,CANE,CAOfC,CAAc,CAAGxF,CAAG,CAACS,OAAJ,CAAYgF,aAPd,CAQfC,CAAS,CAAG1F,CAAG,CAACS,OAAJ,CAAYiF,SART,CASnB,GAAa,CAAT,EAAAJ,CAAJ,CAAgB,CACZE,CAAc,CAAGxF,CAAG,CAACS,OAAJ,CAAYkF,YAChC,CACD,GAAItB,CAAAA,CAAI,CAAG,MAAQW,CAAR,gBAAqCG,CAArC,CAAiD,QAAjD,CACCG,CADD,CACS,GADT,CACeE,CADf,CACgC,OADhC,CAC0CE,CADrD,CAEA,MAAOrB,CAAAA,CACV,CAhBW,CAAhB,CAkBAJ,CAAK,CAAC2B,WAAN,CAAoB,CAChBR,MAAM,CAAE,CACJS,MAAM,CAAE,SADJ,CAEAC,KAAK,CAAE,CACPC,MAAM,CAAE,CACJC,KAAK,CAAE,gBAAY,CACf,GAAIb,CAAAA,CAAU,CAAG,KAAKc,QAAL,CAAcf,KAAd,CAAoB,MAApB,CAAjB,CACAC,CAAU,CAAGA,CAAU,CAAC,CAAD,CAAV,EAAiB,EAA9B,CACAA,CAAU,CAAGA,CAAU,CAACD,KAAX,CAAiB,KAAjB,CAAb,CACAC,CAAU,CAAGA,CAAU,CAAC,CAAD,CAAV,EAAiB,EAA9B,CACAnF,CAAG,CAACoB,aAAJ,CAAkB8E,OAAlB,CAA4BlG,CAAG,CAACoB,aAAJ,CAAkB+E,cAAlB,CAAiC,KAAjC,CAAuChB,CAAnE,CALe,GAOXF,CAAAA,CAAC,CAAG,KAAKA,CAPE,CAQXmB,CAAM,CAAG,KAAKhB,MAAL,CAAYiB,UARV,CASfrG,CAAG,CAACK,MAAJ,IACAL,CAAG,CAACM,cAAJ,CAAqBN,CAAG,CAACmB,WAAJ,CAAgBmF,KAAhB,CAAsBrB,CAAtB,EAAyBmB,CAAzB,CAArB,CACApG,CAAG,CAACQ,QAAJ,CAAeR,CAAG,CAACmB,WAAJ,CAAgBoF,OAAhB,CAAwBtB,CAAxB,CAAf,CACAjF,CAAG,CAACO,UAAJ,CAAiB,QACpB,CAdG,CADD,CAFP,CADQ,CAApB,CAuBA0D,CAAK,CAACmB,MAAN,CAAe,KAAKjE,WAAL,CAAiBf,IAAhC,CACA,MAAO6D,CAAAA,CACV,CAzGK,CA2GNuC,0BA3GM,sCA2GuB,CACzB,GAAIvC,CAAAA,CAAK,GAAT,CACAA,CAAK,CAACA,KAAN,CAAc,CACVC,IAAI,CAAE,KADI,CAEVC,eAAe,CAAE,IAFP,CAGVjC,KAAK,CAAE,CAACkC,UAAU,CAAE,SAAb,CAHG,CAAd,CAKAH,CAAK,CAAC1B,KAAN,CAAc,CAAC8B,IAAI,CAAE,IAAP,CAAd,CACAJ,CAAK,CAACK,MAAN,CAAe,KAAK/C,qBAApB,CACA0C,CAAK,CAACM,KAAN,CAAc,CACVC,UAAU,CAAE,KAAKhD,uBADP,CAEVe,KAAK,CAAE,CAAE8B,IAAI,CAAE,IAAR,CAFG,CAGVI,SAAS,GAHC,CAAd,CAKAR,CAAK,CAACS,KAAN,CAAc,CACVC,GAAG,CAAE,CADK,CAEVpC,KAAK,CAAE,CACH8B,IAAI,CAAE,KAAK5D,OAAL,CAAagG,wBADhB,CAFG,CAKVC,MAAM,CAAE,CACJC,QAAQ,CAAE,SADN,CALE,CAQV9B,aAAa,GARH,CAAd,CAUAZ,CAAK,CAACa,OAAN,CAAgB,CACZC,SAAS,CAAE,oBAAY,IACfC,CAAAA,CAAK,CAAG,KAAKC,CADE,CAEfE,CAAU,CAAG,KAAKC,MAAL,CAAYC,IAFV,CAGfC,CAAK,CAAG,KAAKC,CAHE,CAIfC,CAAc,CAAGxF,CAAG,CAACS,OAAJ,CAAYgF,aAJd,CAKfC,CAAS,CAAG1F,CAAG,CAACS,OAAJ,CAAYiF,SALT,CAMnB,GAAa,CAAT,EAAAJ,CAAJ,CAAgB,CACZE,CAAc,CAAGxF,CAAG,CAACS,OAAJ,CAAYkF,YAChC,CACD,GAAItB,CAAAA,CAAI,CAAG,MAAQW,CAAR,gBAAqCG,CAArC,CAAiD,QAAjD,CACPG,CADO,CACC,GADD,CACOE,CADP,CACwB,OADxB,CACkCE,CAD7C,CAEA,MAAOrB,CAAAA,CACV,CAbW,CAAhB,CAeAJ,CAAK,CAAC2B,WAAN,CAAoB,CAChBgB,GAAG,CAAE,CACDC,UAAU,CAAE,CACRC,OAAO,GADC,CADX,CADW,CAMhB1B,MAAM,CAAE,CACJS,MAAM,CAAE,SADJ,CAEAC,KAAK,CAAE,CACPC,MAAM,CAAE,CACJC,KAAK,CAAE,gBAAY,CACf,GAAIb,CAAAA,CAAU,CAAG,KAAKc,QAAtB,CACAjG,CAAG,CAACoB,aAAJ,CAAkB8E,OAAlB,CAA4BlG,CAAG,CAACoB,aAAJ,CAAkB+E,cAAlB,CAAiC,KAAjC,CAAuChB,CAAnE,CAFe,GAGXF,CAAAA,CAAC,CAAG,KAAKA,CAHE,CAIXmB,CAAM,CAAG,KAAKhB,MAAL,CAAYiB,UAJV,CAKXC,CAAK,CAAGtG,CAAG,CAAC+G,SAAJ,CAAc/G,CAAG,CAAC0B,kBAAJ,CAAuBuD,CAAvB,EAA0BmB,CAA1B,CAAd,CALG,CAMfpG,CAAG,CAACM,cAAJ,CAAqBgG,CAArB,CACA,GAAIU,CAAAA,CAAM,CAAGhH,CAAG,CAACiH,cAAJ,CAAmB,KAAKhB,QAAxB,CAAb,CACAjG,CAAG,CAACO,UAAJ,CAAiByG,CAAM,CAAC9C,IAAxB,CACAlE,CAAG,CAACQ,QAAJ,CAAewG,CAAM,CAACE,EAAtB,CACAlH,CAAG,CAACK,MAAJ,GACH,CAZG,CADD,CAFP,CANQ,CAApB,CA0BA4D,CAAK,CAACmB,MAAN,CAAe,KAAK3D,mBAApB,CACA,MAAOwC,CAAAA,CACV,CA9KK,CAgLNkD,aAhLM,wBAgLS7B,CAhLT,CAgLgB,CAClB,KAAKjF,MAAL,CAAciF,CACjB,CAlLK,CAoLNxD,4BApLM,wCAoLyB,CAC3B,GAAIsF,CAAAA,CAAQ,CAAG,EAAf,CACA,KAAK/F,MAAL,CAAYiF,KAAZ,CAAkBe,OAAlB,CAA0B,SAAAC,CAAI,CAAI,CAC9BF,CAAQ,CAACzD,IAAT,EAAqB2D,CAAI,CAACJ,EAA1B,CACH,CAFD,EAGA,GAAIK,CAAAA,CAAqB,CAAG,EAA5B,CACA,KAAKlG,MAAL,CAAYmG,KAAZ,CAAkBH,OAAlB,CAA0B,SAAAI,CAAI,CAAI,CAC9B,GAAIA,CAAI,CAACC,IAAT,CAAe,CACXH,CAAqB,CAAC5D,IAAtB,CAA2B8D,CAAI,CAACvD,IAAhC,CACH,CACJ,CAJD,EAKA,GAAIyD,CAAAA,CAAgB,CAAG,EAAvB,CACA,KAAKtG,MAAL,CAAYkF,OAAZ,CAAoBc,OAApB,CAA4B,SAAAL,CAAM,CAAI,CAClC,GAAIO,CAAqB,CAACK,QAAtB,CAA+BZ,CAAM,CAAC9C,IAAtC,CAAJ,CAAiD,CAC7CyD,CAAgB,CAAChE,IAAjB,CAAsBqD,CAAtB,CACH,CACJ,CAJD,EAZ2B,GAiBvBxC,CAAAA,CAAU,CAAG,EAjBU,CAkBvBqD,CAAa,CAAG,EAlBO,CAmBvBC,CAAiB,CAAG,EAnBG,CAoBvBC,CAAoB,CAAG,EApBA,CAqB3BJ,CAAgB,CAACN,OAAjB,CAAyB,SAAAL,CAAM,CAAI,CAC/BxC,CAAU,CAACb,IAAX,CAAgBqD,CAAM,CAAC3B,IAAvB,EAD+B,GAE3B2C,CAAAA,CAAY,CAAGhB,CAAM,CAACV,KAFK,CAG3B2B,CAAe,CAAGb,CAAQ,CAACc,MAAT,CAAgB,SAAAjD,CAAC,QAAI,CAAC+C,CAAY,CAACJ,QAAb,CAAsB3C,CAAtB,CAAL,CAAjB,CAHS,CAI/B6C,CAAiB,CAACnE,IAAlB,CAAuBqE,CAAY,CAACG,MAApC,EACAJ,CAAoB,CAACpE,IAArB,CAA0BsE,CAAe,CAACE,MAA1C,EACAN,CAAa,CAAClE,IAAd,CAAmB,CAACqE,CAAD,CAAeC,CAAf,CAAnB,CACH,CAPD,EAQA,GAAI7C,CAAAA,CAAM,CAAG,CACT,CAAEC,IAAI,CAAE,KAAK5E,OAAL,CAAaY,MAArB,CAA6BjB,IAAI,CAAE0H,CAAnC,CADS,CAET,CAAEzC,IAAI,CAAE,KAAK5E,OAAL,CAAa2H,SAArB,CAAgChI,IAAI,CAAE2H,CAAtC,CAFS,CAAb,CAIA,KAAKvG,uBAAL,CAA+BgD,CAA/B,CACA,KAAK/C,mBAAL,CAA2B2D,CAA3B,CACA,KAAK1D,kBAAL,CAA0BmG,CAC7B,CAxNK,CA0NNd,SA1NM,oBA0NIsB,CA1NJ,CA0NS,CACX,GAAI/B,CAAAA,CAAK,CAAG,EAAZ,CACA,KAAKjF,MAAL,CAAYiF,KAAZ,CAAkBe,OAAlB,CAA0B,SAAAC,CAAI,CAAI,CAC9B,GAAI3G,CAAAA,CAAM,EAAU2G,CAAI,CAACJ,EAAzB,CACA,GAAImB,CAAG,CAACT,QAAJ,CAAajH,CAAb,CAAJ,CAA0B,CACtB2F,CAAK,CAAC3C,IAAN,CAAW2D,CAAX,CACH,CACJ,CALD,EAMA,MAAOhB,CAAAA,CACV,CAnOK,CAqONW,cArOM,yBAqOS1G,CArOT,CAqOqB,CACvB,GAAI+H,CAAAA,CAAJ,CACA,KAAKjH,MAAL,CAAYkF,OAAZ,CAAoBc,OAApB,CAA4B,SAAAL,CAAM,CAAI,CAClC,GAAIA,CAAM,CAAC3B,IAAP,GAAgB9E,CAApB,CAAgC,CAC5B+H,CAAG,CAAGtB,CACT,CACJ,CAJD,EAKA,MAAOsB,CAAAA,CACV,CA7OK,CA+ONC,eA/OM,0BA+OUtE,CA/OV,CA+OiB,CACnB,GAAI3B,CAAAA,CAAQ,CAAG,EAAf,CACA,GAAa,qBAAT,EAAA2B,CAAJ,CAAoC,CAChC3B,CAAQ,CAACqB,IAAT,CAAc,CACVpB,KAAK,CAAE,KAAK9B,OAAL,CAAa+H,8BADV,CAEV/F,WAAW,CAAE,KAAKhC,OAAL,CAAagI,uCAFhB,CAAd,EAIAnG,CAAQ,CAACqB,IAAT,CAAc,CACVlB,WAAW,CAAE,KAAKhC,OAAL,CAAaiI,uCADhB,CAAd,CAGH,CARD,IAQO,IAAa,gBAAT,EAAAzE,CAAJ,CAA+B,CAClC3B,CAAQ,CAACqB,IAAT,CAAc,CACVpB,KAAK,CAAE,KAAK9B,OAAL,CAAakI,yBADV,CAEVlG,WAAW,CAAE,KAAKhC,OAAL,CAAamI,kCAFhB,CAAd,EAIAtG,CAAQ,CAACqB,IAAT,CAAc,CACVlB,WAAW,CAAE,KAAKhC,OAAL,CAAaoI,kCADhB,CAAd,CAGH,CACD,KAAKjH,aAAL,CAAqBU,CAArB,CACA,GAAI,KAAKV,aAAL,CAAmBuG,MAAvB,CAA+B,CAC3B,KAAKxG,WAAL,GACH,CACJ,CAtQK,CAwQNmH,kBAxQM,6BAwQcxD,CAxQd,CAwQqB,CACvB,KAAK3D,WAAL,CAAmB2D,CACtB,CA1QK,CA4QNyD,YA5QM,wBA4QQ,CACV,GAAIC,CAAAA,CAAW,WAAM,KAAKvI,OAAL,CAAawI,kBAAnB,aAAyC,KAAKpI,QAA9C,CAAf,CACA,MAAOmI,CAAAA,CACV,CA/QK,CAxCI,CAAR,CA0Tb,CAEM,CAGV,CApVC,CAAN","sourcesContent":["define([\"local_notemyprogress/vue\",\r\n        \"local_notemyprogress/vuetify\",\r\n        \"local_notemyprogress/axios\",\r\n        \"local_notemyprogress/moment\",\r\n        \"local_notemyprogress/pagination\",\r\n        \"local_notemyprogress/chartdynamic\",\r\n        \"local_notemyprogress/pageheader\",\r\n        \"local_notemyprogress/emailform\",\r\n        \"local_notemyprogress/helpdialog\",\r\n    ],\r\n    function(Vue, Vuetify, Axios, Moment, Pagination, ChartDynamic, PageHeader, EmailForm, HelpDialog) {\r\n        \"use strict\";\r\n\r\n        function init(content) {\r\n            // console.log(content);\r\n            Vue.use(Vuetify)\r\n            Vue.component('pagination', Pagination);\r\n            Vue.component('chart', ChartDynamic);\r\n            Vue.component('pageheader', PageHeader);\r\n            Vue.component('emailform', EmailForm);\r\n            Vue.component('helpdialog', HelpDialog);\r\n            let vue = new Vue({\r\n                delimiters: [\"[[\", \"]]\"],\r\n                el: \"#submissions\",\r\n                vuetify: new Vuetify(),\r\n                data() {\r\n                    return {\r\n                        dialog : false,\r\n                        selected_users : [],\r\n                        modulename : \"\",\r\n                        moduleid : false,\r\n                        strings : content.strings,\r\n                        groups : content.groups,\r\n                        userid : content.userid,\r\n                        courseid : content.courseid,\r\n                        timezone : content.timezone,\r\n                        render_has : content.profile_render,\r\n                        loading : false,\r\n                        errors : [],\r\n                        pages : content.pages,\r\n                        submissions: content.submissions,\r\n                        email_strings: content.strings.email_strings,\r\n\r\n                        access: content.access,\r\n                        assigns_submissions_colors: content.assigns_submissions_colors,\r\n                        access_content_colors: content.access_content_colors,\r\n                        access_chart_categories: [],\r\n                        access_chart_series: [],\r\n                        access_chart_users: [],\r\n\r\n                        help_dialog: false,\r\n                        help_contents: [],\r\n                    }\r\n                },\r\n                beforeMount(){\r\n                    this.generate_access_content_data();\r\n                },\r\n                mounted(){\r\n                    document.querySelector(\"#sessions-loader\").style.display = \"none\";\r\n                    document.querySelector(\"#submissions\").style.display = \"block\";\r\n                },\r\n                methods : {\r\n                    get_help_content(){\r\n                        let contents = [];\r\n                        contents.push({\r\n                            title: this.strings.section_help_title,\r\n                            description: this.strings.section_help_description,\r\n                        });\r\n                        return contents;\r\n                    },\r\n\r\n                    update_interactions(week){\r\n                        this.loading = true;\r\n                        this.errors = [];\r\n                        let data = {\r\n                            action : \"assignments\",\r\n                            userid : this.userid,\r\n                            courseid : this.courseid,\r\n                            weekcode : week.weekcode,\r\n                            profile : this.render_has,\r\n                        }\r\n                        Axios({\r\n                            method:'get',\r\n                            url: M.cfg.wwwroot + \"/local/notemyprogress/ajax.php\",\r\n                            params : data,\r\n                        }).then((response) => {\r\n                            if (response.status == 200 && response.data.ok) {\r\n                                this.submissions = response.data.data.submissions;\r\n                                this.access = response.data.data.access;\r\n                                this.generate_access_content_data();\r\n                            } else {\r\n                                this.error_messages.push(this.strings.error_network);\r\n                            }\r\n                        }).catch((e) => {\r\n                            this.errors.push(this.strings.api_error_network);\r\n                        }).finally(() => {\r\n                            this.loading = false;\r\n                        });\r\n                        return this.data;\r\n                    },\r\n\r\n                    build_assigns_submissions_chart() {\r\n                        let chart = new Object();\r\n                        chart.chart = {\r\n                            type: 'column',\r\n                            backgroundColor: null,\r\n                            style: {fontFamily: 'poppins'},\r\n                        };\r\n                        chart.title = {\r\n                            text: null,\r\n                        };\r\n                        chart.colors = this.assigns_submissions_colors;\r\n                        chart.xAxis = {\r\n                            categories: this.submissions.categories,\r\n                            crosshair: true,\r\n                        };\r\n                        chart.yAxis = {\r\n                            min: 0,\r\n                            title: {\r\n                                text: this.strings.assignsubs_chart_yaxis\r\n                            },\r\n                            allowDecimals: false,\r\n                        };\r\n                        chart.tooltip = {\r\n                            formatter: function () {\r\n                                let label = this.x.split('</b>');\r\n                                label = label[0] || '';\r\n                                label = label.split('<b>');\r\n                                label = label[1] || '';\r\n                                let serie_name = this.series.name;\r\n                                let value = this.y;\r\n                                let students_label = vue.strings.students_text;\r\n                                let send_mail = vue.strings.send_mail;\r\n                                if (value == 1) {\r\n                                    students_label = vue.strings.student_text;\r\n                                }\r\n                                let text = '<b>' + label +'</b><br/>' + '<b>' + serie_name +': </b>' +\r\n                                            value + ' ' + students_label + '<br/>' + send_mail;\r\n                                return text;\r\n                            }\r\n                        };\r\n                        chart.plotOptions = {\r\n                            series: {\r\n                                cursor: 'pointer',\r\n                                    point: {\r\n                                    events: {\r\n                                        click: function () {\r\n                                            let serie_name = this.category.split('</b>');\r\n                                            serie_name = serie_name[0] || '';\r\n                                            serie_name = serie_name.split('<b>');\r\n                                            serie_name = serie_name[1] || '';\r\n                                            vue.email_strings.subject = vue.email_strings.subject_prefix+\" - \"+serie_name;\r\n\r\n                                            let x = this.x;\r\n                                            let column = this.series.colorIndex;\r\n                                            vue.dialog = true;\r\n                                            vue.selected_users = vue.submissions.users[x][column];\r\n                                            vue.moduleid = vue.submissions.modules[x];\r\n                                            vue.modulename = \"assign\";\r\n                                        }\r\n                                    }\r\n                                }\r\n                            }\r\n                        };\r\n                        chart.series = this.submissions.data;\r\n                        return chart;\r\n                    },\r\n\r\n                    build_access_content_chart() {\r\n                        let chart = new Object();\r\n                        chart.chart = {\r\n                            type: 'bar',\r\n                            backgroundColor: null,\r\n                            style: {fontFamily: 'poppins'},\r\n                        };\r\n                        chart.title = {text: null};\r\n                        chart.colors = this.access_content_colors;\r\n                        chart.xAxis = {\r\n                            categories: this.access_chart_categories,\r\n                            title: { text: null },\r\n                            crosshair: true,\r\n                        };\r\n                        chart.yAxis = {\r\n                            min: 0,\r\n                            title: {\r\n                                text: this.strings.access_chart_yaxis_label,\r\n                            },\r\n                            labels: {\r\n                                overflow: 'justify'\r\n                            },\r\n                            allowDecimals: false,\r\n                        };\r\n                        chart.tooltip = {\r\n                            formatter: function () {\r\n                                let label = this.x;\r\n                                let serie_name = this.series.name;\r\n                                let value = this.y;\r\n                                let students_label = vue.strings.students_text;\r\n                                let send_mail = vue.strings.send_mail;\r\n                                if (value == 1) {\r\n                                    students_label = vue.strings.student_text;\r\n                                }\r\n                                let text = '<b>' + label +'</b><br/>' + '<b>' + serie_name +': </b>' +\r\n                                    value + ' ' + students_label + '<br/>' + send_mail;\r\n                                return text;\r\n                            }\r\n                        };\r\n                        chart.plotOptions = {\r\n                            bar: {\r\n                                dataLabels: {\r\n                                    enabled: false\r\n                                }\r\n                            },\r\n                            series: {\r\n                                cursor: 'pointer',\r\n                                    point: {\r\n                                    events: {\r\n                                        click: function () {\r\n                                            let serie_name = this.category;\r\n                                            vue.email_strings.subject = vue.email_strings.subject_prefix+\" - \"+serie_name;\r\n                                            let x = this.x;\r\n                                            let column = this.series.colorIndex;\r\n                                            let users = vue.get_users(vue.access_chart_users[x][column]);\r\n                                            vue.selected_users = users;\r\n                                            let module = vue.get_moduletype(this.category);\r\n                                            vue.modulename = module.type;\r\n                                            vue.moduleid = module.id;\r\n                                            vue.dialog = true;\r\n                                        }\r\n                                    }\r\n                                }\r\n                            }\r\n                        };\r\n                        chart.series = this.access_chart_series;\r\n                        return chart;\r\n                    },\r\n\r\n                    update_dialog (value) {\r\n                        this.dialog = value;\r\n                    },\r\n\r\n                    generate_access_content_data() {\r\n                        let usersIds = [];\r\n                        this.access.users.forEach(user => {\r\n                            usersIds.push(Number(user.id));\r\n                        });\r\n                        let selected_types_labels = [];\r\n                        this.access.types.forEach(item => {\r\n                            if (item.show) {\r\n                                selected_types_labels.push(item.type);\r\n                            }\r\n                        });\r\n                        let selected_modules = [];\r\n                        this.access.modules.forEach(module => {\r\n                            if (selected_types_labels.includes(module.type)) {\r\n                                selected_modules.push(module);\r\n                            }\r\n                        });\r\n                        let categories = [];\r\n                        let modules_users = [];\r\n                        let access_users_data = [];\r\n                        let no_access_users_data = [];\r\n                        selected_modules.forEach(module => {\r\n                            categories.push(module.name);\r\n                            let access_users = module.users;\r\n                            let no_access_users = usersIds.filter(x => !access_users.includes(x));\r\n                            access_users_data.push(access_users.length);\r\n                            no_access_users_data.push(no_access_users.length);\r\n                            modules_users.push([access_users, no_access_users]);\r\n                        });\r\n                        let series = [\r\n                            { name: this.strings.access, data: access_users_data },\r\n                            { name: this.strings.no_access, data: no_access_users_data },\r\n                        ];\r\n                        this.access_chart_categories = categories;\r\n                        this.access_chart_series = series;\r\n                        this.access_chart_users = modules_users;\r\n                    },\r\n\r\n                    get_users(ids) {\r\n                        let users = [];\r\n                        this.access.users.forEach(user => {\r\n                            let userid = Number(user.id);\r\n                            if (ids.includes(userid)) {\r\n                                users.push(user);\r\n                            }\r\n                        });\r\n                        return users;\r\n                    },\r\n\r\n                    get_moduletype(modulename) {\r\n                        let mod;\r\n                        this.access.modules.forEach(module => {\r\n                            if (module.name === modulename) {\r\n                                mod = module;\r\n                            }\r\n                        });\r\n                        return mod;\r\n                    },\r\n\r\n                    open_chart_help(chart) {\r\n                        let contents = [];\r\n                        if (chart == \"assigns_submissions\") {\r\n                            contents.push({\r\n                                title: this.strings.assigns_submissions_help_title,\r\n                                description: this.strings.assigns_submissions_help_description_p1,\r\n                            });\r\n                            contents.push({\r\n                                description: this.strings.assigns_submissions_help_description_p2,\r\n                            });\r\n                        } else if (chart == \"access_content\") {\r\n                            contents.push({\r\n                                title: this.strings.access_content_help_title,\r\n                                description: this.strings.access_content_help_description_p1,\r\n                            });\r\n                            contents.push({\r\n                                description: this.strings.access_content_help_description_p2,\r\n                            });\r\n                        }\r\n                        this.help_contents = contents;\r\n                        if (this.help_contents.length) {\r\n                            this.help_dialog = true;\r\n                        }\r\n                    },\r\n\r\n                    update_help_dialog (value) {\r\n                        this.help_dialog = value;\r\n                    },\r\n\r\n                    get_timezone(){\r\n                        let information = `${this.strings.ss_change_timezone} ${this.timezone}`\r\n                        return information;\r\n                    },\r\n                }\r\n            })\r\n        }\r\n\r\n        return {\r\n            init : init\r\n        };\r\n    });"],"file":"assignments.min.js"}
\ No newline at end of file
+{
+  "version": 3,
+  "sources": [
+    "../src/assignments.js"
+  ],
+  "names": [
+    "define",
+    "Vue",
+    "Vuetify",
+    "Axios",
+    "Moment",
+    "Pagination",
+    "ChartDynamic",
+    "PageHeader",
+    "EmailForm",
+    "HelpDialog",
+    "init",
+    "content",
+    "use",
+    "component",
+    "vue",
+    "delimiters",
+    "el",
+    "vuetify",
+    "data",
+    "dialog",
+    "selected_users",
+    "modulename",
+    "moduleid",
+    "strings",
+    "groups",
+    "userid",
+    "courseid",
+    "timezone",
+    "render_has",
+    "profile_render",
+    "loading",
+    "errors",
+    "pages",
+    "submissions",
+    "email_strings",
+    "access",
+    "assigns_submissions_colors",
+    "access_content_colors",
+    "access_chart_categories",
+    "access_chart_series",
+    "access_chart_users",
+    "help_dialog",
+    "help_contents",
+    "beforeMount",
+    "generate_access_content_data",
+    "mounted",
+    "document",
+    "querySelector",
+    "style",
+    "display",
+    "methods",
+    "get_help_content",
+    "contents",
+    "title",
+    "section_help_title",
+    "description",
+    "section_help_description",
+    "update_interactions",
+    "week",
+    "action",
+    "weekcode",
+    "profile",
+    "method",
+    "url",
+    "M",
+    "cfg",
+    "wwwroot",
+    "params",
+    "then",
+    "response",
+    "status",
+    "ok",
+    "error_messages",
+    "push",
+    "error_network",
+    "catch",
+    "api_error_network",
+    "finally",
+    "build_assigns_submissions_chart",
+    "chart",
+    "type",
+    "backgroundColor",
+    "fontFamily",
+    "text",
+    "colors",
+    "xAxis",
+    "categories",
+    "crosshair",
+    "yAxis",
+    "min",
+    "assignsubs_chart_yaxis",
+    "allowDecimals",
+    "tooltip",
+    "formatter",
+    "label",
+    "x",
+    "split",
+    "serie_name",
+    "series",
+    "name",
+    "value",
+    "y",
+    "students_label",
+    "students_text",
+    "send_mail",
+    "student_text",
+    "plotOptions",
+    "cursor",
+    "point",
+    "events",
+    "click",
+    "category",
+    "subject",
+    "subject_prefix",
+    "column",
+    "colorIndex",
+    "users",
+    "modules",
+    "build_access_content_chart",
+    "access_chart_yaxis_label",
+    "labels",
+    "overflow",
+    "bar",
+    "dataLabels",
+    "enabled",
+    "get_users",
+    "module",
+    "get_moduletype",
+    "id",
+    "update_dialog",
+    "usersIds",
+    "forEach",
+    "user",
+    "selected_types_labels",
+    "types",
+    "item",
+    "show",
+    "selected_modules",
+    "includes",
+    "modules_users",
+    "access_users_data",
+    "no_access_users_data",
+    "access_users",
+    "no_access_users",
+    "filter",
+    "length",
+    "no_access",
+    "ids",
+    "mod",
+    "open_chart_help",
+    "assigns_submissions_help_title",
+    "assigns_submissions_help_description_p1",
+    "assigns_submissions_help_description_p2",
+    "access_content_help_title",
+    "access_content_help_description_p1",
+    "access_content_help_description_p2",
+    "update_help_dialog",
+    "get_timezone",
+    "information",
+    "ss_change_timezone"
+  ],
+  "mappings": "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",
+  "sourcesContent": [
+    "define([\"local_notemyprogress/vue\",\r\n        \"local_notemyprogress/vuetify\",\r\n        \"local_notemyprogress/axios\",\r\n        \"local_notemyprogress/moment\",\r\n        \"local_notemyprogress/pagination\",\r\n        \"local_notemyprogress/chartdynamic\",\r\n        \"local_notemyprogress/pageheader\",\r\n        \"local_notemyprogress/emailform\",\r\n        \"local_notemyprogress/helpdialog\",\r\n    ],\r\n    function(Vue, Vuetify, Axios, Moment, Pagination, ChartDynamic, PageHeader, EmailForm, HelpDialog) {\r\n        \"use strict\";\r\n\r\n        function init(content) {\r\n            // console.log(content);\r\n            Vue.use(Vuetify)\r\n            Vue.component('pagination', Pagination);\r\n            Vue.component('chart', ChartDynamic);\r\n            Vue.component('pageheader', PageHeader);\r\n            Vue.component('emailform', EmailForm);\r\n            Vue.component('helpdialog', HelpDialog);\r\n            let vue = new Vue({\r\n                delimiters: [\"[[\", \"]]\"],\r\n                el: \"#submissions\",\r\n                vuetify: new Vuetify(),\r\n                data() {\r\n                    return {\r\n                        dialog : false,\r\n                        selected_users : [],\r\n                        modulename : \"\",\r\n                        moduleid : false,\r\n                        strings : content.strings,\r\n                        groups : content.groups,\r\n                        userid : content.userid,\r\n                        courseid : content.courseid,\r\n                        timezone : content.timezone,\r\n                        render_has : content.profile_render,\r\n                        loading : false,\r\n                        errors : [],\r\n                        pages : content.pages,\r\n                        submissions: content.submissions,\r\n                        email_strings: content.strings.email_strings,\r\n\r\n                        access: content.access,\r\n                        assigns_submissions_colors: content.assigns_submissions_colors,\r\n                        access_content_colors: content.access_content_colors,\r\n                        access_chart_categories: [],\r\n                        access_chart_series: [],\r\n                        access_chart_users: [],\r\n\r\n                        help_dialog: false,\r\n                        help_contents: [],\r\n                    }\r\n                },\r\n                beforeMount(){\r\n                    this.generate_access_content_data();\r\n                },\r\n                mounted(){\r\n                    document.querySelector(\"#sessions-loader\").style.display = \"none\";\r\n                    document.querySelector(\"#submissions\").style.display = \"block\";\r\n                },\r\n                methods : {\r\n                    get_help_content(){\r\n                        let contents = [];\r\n                        contents.push({\r\n                            title: this.strings.section_help_title,\r\n                            description: this.strings.section_help_description,\r\n                        });\r\n                        return contents;\r\n                    },\r\n\r\n                    update_interactions(week){\r\n                        this.loading = true;\r\n                        this.errors = [];\r\n                        let data = {\r\n                            action : \"assignments\",\r\n                            userid : this.userid,\r\n                            courseid : this.courseid,\r\n                            weekcode : week.weekcode,\r\n                            profile : this.render_has,\r\n                        }\r\n                        Axios({\r\n                            method:'get',\r\n                            url: M.cfg.wwwroot + \"/local/notemyprogress/ajax.php\",\r\n                            params : data,\r\n                        }).then((response) => {\r\n                            if (response.status == 200 && response.data.ok) {\r\n                                this.submissions = response.data.data.submissions;\r\n                                this.access = response.data.data.access;\r\n                                this.generate_access_content_data();\r\n                            } else {\r\n                                this.error_messages.push(this.strings.error_network);\r\n                            }\r\n                        }).catch((e) => {\r\n                            this.errors.push(this.strings.api_error_network);\r\n                        }).finally(() => {\r\n                            this.loading = false;\r\n                        });\r\n                        return this.data;\r\n                    },\r\n\r\n                    build_assigns_submissions_chart() {\r\n                        let chart = new Object();\r\n                        chart.chart = {\r\n                            type: 'column',\r\n                            backgroundColor: null,\r\n                            style: {fontFamily: 'poppins'},\r\n                        };\r\n                        chart.title = {\r\n                            text: null,\r\n                        };\r\n                        chart.colors = this.assigns_submissions_colors;\r\n                        chart.xAxis = {\r\n                            categories: this.submissions.categories,\r\n                            crosshair: true,\r\n                        };\r\n                        chart.yAxis = {\r\n                            min: 0,\r\n                            title: {\r\n                                text: this.strings.assignsubs_chart_yaxis\r\n                            },\r\n                            allowDecimals: false,\r\n                        };\r\n                        chart.tooltip = {\r\n                            formatter: function () {\r\n                                let label = this.x.split('</b>');\r\n                                label = label[0] || '';\r\n                                label = label.split('<b>');\r\n                                label = label[1] || '';\r\n                                let serie_name = this.series.name;\r\n                                let value = this.y;\r\n                                let students_label = vue.strings.students_text;\r\n                                let send_mail = vue.strings.send_mail;\r\n                                if (value == 1) {\r\n                                    students_label = vue.strings.student_text;\r\n                                }\r\n                                let text = '<b>' + label +'</b><br/>' + '<b>' + serie_name +': </b>' +\r\n                                            value + ' ' + students_label + '<br/>' + send_mail;\r\n                                return text;\r\n                            }\r\n                        };\r\n                        chart.plotOptions = {\r\n                            series: {\r\n                                cursor: 'pointer',\r\n                                    point: {\r\n                                    events: {\r\n                                        click: function () {\r\n                                            let serie_name = this.category.split('</b>');\r\n                                            serie_name = serie_name[0] || '';\r\n                                            serie_name = serie_name.split('<b>');\r\n                                            serie_name = serie_name[1] || '';\r\n                                            vue.email_strings.subject = vue.email_strings.subject_prefix+\" - \"+serie_name;\r\n\r\n                                            let x = this.x;\r\n                                            let column = this.series.colorIndex;\r\n                                            vue.dialog = true;\r\n                                            vue.selected_users = vue.submissions.users[x][column];\r\n                                            vue.moduleid = vue.submissions.modules[x];\r\n                                            vue.modulename = \"assign\";\r\n                                        }\r\n                                    }\r\n                                }\r\n                            }\r\n                        };\r\n                        chart.series = this.submissions.data;\r\n                        return chart;\r\n                    },\r\n\r\n                    build_access_content_chart() {\r\n                        let chart = new Object();\r\n                        chart.chart = {\r\n                            type: 'bar',\r\n                            backgroundColor: null,\r\n                            style: {fontFamily: 'poppins'},\r\n                        };\r\n                        chart.title = {text: null};\r\n                        chart.colors = this.access_content_colors;\r\n                        chart.xAxis = {\r\n                            categories: this.access_chart_categories,\r\n                            title: { text: null },\r\n                            crosshair: true,\r\n                        };\r\n                        chart.yAxis = {\r\n                            min: 0,\r\n                            title: {\r\n                                text: this.strings.access_chart_yaxis_label,\r\n                            },\r\n                            labels: {\r\n                                overflow: 'justify'\r\n                            },\r\n                            allowDecimals: false,\r\n                        };\r\n                        chart.tooltip = {\r\n                            formatter: function () {\r\n                                let label = this.x;\r\n                                let serie_name = this.series.name;\r\n                                let value = this.y;\r\n                                let students_label = vue.strings.students_text;\r\n                                let send_mail = vue.strings.send_mail;\r\n                                if (value == 1) {\r\n                                    students_label = vue.strings.student_text;\r\n                                }\r\n                                let text = '<b>' + label +'</b><br/>' + '<b>' + serie_name +': </b>' +\r\n                                    value + ' ' + students_label + '<br/>' + send_mail;\r\n                                return text;\r\n                            }\r\n                        };\r\n                        chart.plotOptions = {\r\n                            bar: {\r\n                                dataLabels: {\r\n                                    enabled: false\r\n                                }\r\n                            },\r\n                            series: {\r\n                                cursor: 'pointer',\r\n                                    point: {\r\n                                    events: {\r\n                                        click: function () {\r\n                                            let serie_name = this.category;\r\n                                            vue.email_strings.subject = vue.email_strings.subject_prefix+\" - \"+serie_name;\r\n                                            let x = this.x;\r\n                                            let column = this.series.colorIndex;\r\n                                            let users = vue.get_users(vue.access_chart_users[x][column]);\r\n                                            vue.selected_users = users;\r\n                                            let module = vue.get_moduletype(this.category);\r\n                                            vue.modulename = module.type;\r\n                                            vue.moduleid = module.id;\r\n                                            vue.dialog = true;\r\n                                        }\r\n                                    }\r\n                                }\r\n                            }\r\n                        };\r\n                        chart.series = this.access_chart_series;\r\n                        return chart;\r\n                    },\r\n\r\n                    update_dialog (value) {\r\n                        this.dialog = value;\r\n                    },\r\n\r\n                    generate_access_content_data() {\r\n                        let usersIds = [];\r\n                        this.access.users.forEach(user => {\r\n                            usersIds.push(Number(user.id));\r\n                        });\r\n                        let selected_types_labels = [];\r\n                        this.access.types.forEach(item => {\r\n                            if (item.show) {\r\n                                selected_types_labels.push(item.type);\r\n                            }\r\n                        });\r\n                        let selected_modules = [];\r\n                        this.access.modules.forEach(module => {\r\n                            if (selected_types_labels.includes(module.type)) {\r\n                                selected_modules.push(module);\r\n                            }\r\n                        });\r\n                        let categories = [];\r\n                        let modules_users = [];\r\n                        let access_users_data = [];\r\n                        let no_access_users_data = [];\r\n                        selected_modules.forEach(module => {\r\n                            categories.push(module.name);\r\n                            let access_users = module.users;\r\n                            let no_access_users = usersIds.filter(x => !access_users.includes(x));\r\n                            access_users_data.push(access_users.length);\r\n                            no_access_users_data.push(no_access_users.length);\r\n                            modules_users.push([access_users, no_access_users]);\r\n                        });\r\n                        let series = [\r\n                            { name: this.strings.access, data: access_users_data },\r\n                            { name: this.strings.no_access, data: no_access_users_data },\r\n                        ];\r\n                        this.access_chart_categories = categories;\r\n                        this.access_chart_series = series;\r\n                        this.access_chart_users = modules_users;\r\n                    },\r\n\r\n                    get_users(ids) {\r\n                        let users = [];\r\n                        this.access.users.forEach(user => {\r\n                            let userid = Number(user.id);\r\n                            if (ids.includes(userid)) {\r\n                                users.push(user);\r\n                            }\r\n                        });\r\n                        return users;\r\n                    },\r\n\r\n                    get_moduletype(modulename) {\r\n                        let mod;\r\n                        this.access.modules.forEach(module => {\r\n                            if (module.name === modulename) {\r\n                                mod = module;\r\n                            }\r\n                        });\r\n                        return mod;\r\n                    },\r\n\r\n                    open_chart_help(chart) {\r\n                        let contents = [];\r\n                        if (chart == \"assigns_submissions\") {\r\n                            contents.push({\r\n                                title: this.strings.assigns_submissions_help_title,\r\n                                description: this.strings.assigns_submissions_help_description_p1,\r\n                            });\r\n                            contents.push({\r\n                                description: this.strings.assigns_submissions_help_description_p2,\r\n                            });\r\n                        } else if (chart == \"access_content\") {\r\n                            contents.push({\r\n                                title: this.strings.access_content_help_title,\r\n                                description: this.strings.access_content_help_description_p1,\r\n                            });\r\n                            contents.push({\r\n                                description: this.strings.access_content_help_description_p2,\r\n                            });\r\n                        }\r\n                        this.help_contents = contents;\r\n                        if (this.help_contents.length) {\r\n                            this.help_dialog = true;\r\n                        }\r\n                    },\r\n\r\n                    update_help_dialog (value) {\r\n                        this.help_dialog = value;\r\n                    },\r\n\r\n                    get_timezone(){\r\n                        let information = `${this.strings.ss_change_timezone} ${this.timezone}`\r\n                        return information;\r\n                    },\r\n                }\r\n            })\r\n        }\r\n\r\n        return {\r\n            init : init\r\n        };\r\n    });"
+  ],
+  "file": "assignments.min.js"
+}
diff --git a/notemyprogress/amd/build/axios.min.js b/notemyprogress/amd/build/axios.min.js
index 6a458627cdf9d4c6504fbadef385d37037b13869..45231c4993a048c6b1b81864d5683a762407dcf2 100644
--- a/notemyprogress/amd/build/axios.min.js
+++ b/notemyprogress/amd/build/axios.min.js
@@ -1,2 +1,7 @@
-define ("local_notemyprogress/axios",["local_notemyprogress/config","axios"],function(a,b){return b});
+define("local_notemyprogress/axios", [
+  "local_notemyprogress/config",
+  "axios",
+], function (a, b) {
+  return b;
+});
 //# sourceMappingURL=axios.min.js.map
diff --git a/notemyprogress/amd/build/axios.min.js.map b/notemyprogress/amd/build/axios.min.js.map
index da388cd2eb63beb1696186ec1f8ae3d895404b7a..b2eff4252226025e81dcc7d1b5f89f234e0d6c7d 100644
--- a/notemyprogress/amd/build/axios.min.js.map
+++ b/notemyprogress/amd/build/axios.min.js.map
@@ -1 +1,16 @@
-{"version":3,"sources":["../src/axios.js"],"names":["define","unused","axios"],"mappings":"AAAAA,OAAM,4BAAC,CAAC,2BAAD,CAA8B,OAA9B,CAAD,CAAyC,SAASC,CAAT,CAAiBC,CAAjB,CAAwB,CAC/D,MAAOA,CAAAA,CACV,CAFC,CAAN","sourcesContent":["define(['local_notemyprogress/config', 'axios'], function(unused, axios) {\r\n        return axios;\r\n    }\r\n);"],"file":"axios.min.js"}
\ No newline at end of file
+{
+  "version": 3,
+  "sources": [
+    "../src/axios.js"
+  ],
+  "names": [
+    "define",
+    "unused",
+    "axios"
+  ],
+  "mappings": "AAAAA,OAAM,4BAAC,CAAC,2BAAD,CAA8B,OAA9B,CAAD,CAAyC,SAASC,CAAT,CAAiBC,CAAjB,CAAwB,CAC/D,MAAOA,CAAAA,CACV,CAFC,CAAN",
+  "sourcesContent": [
+    "define(['local_notemyprogress/config', 'axios'], function(unused, axios) {\r\n        return axios;\r\n    }\r\n);"
+  ],
+  "file": "axios.min.js"
+}
diff --git a/notemyprogress/amd/build/chartdynamic.min.js b/notemyprogress/amd/build/chartdynamic.min.js
index ab0da2852ca4065739c36d85bf7c8482cd2e5eff..8fc95b586bf35e7781cea5dc9207404d51c7cf6e 100644
--- a/notemyprogress/amd/build/chartdynamic.min.js
+++ b/notemyprogress/amd/build/chartdynamic.min.js
@@ -1,2 +1,147 @@
-define(["highcharts","highcharts/highcharts-3d","highcharts/highcharts-more","highcharts/modules/heatmap","highcharts/modules/exporting","highcharts/modules/export-data","highcharts/modules/accessibility","highcharts/modules/no-data-to-display"],function(t){return{template:'<div v-bind:id="container"></div>',props:["container","chart","lang"],data:()=>({}),mounted(){let o=this;this.lang&&t.setOptions({lang:this.lang,credits:{enabled:!1},exporting:{buttons:{contextButton:{menuItems:[{text:this.lang.downloadPNG,onclick:function(){this.exportChart({type:"image/png"}),o.$parent.$root.addLogsIntoDB("downloaded",o.$el.id,"chart","A chart")}},{text:this.lang.downloadJPEG,onclick:function(){this.exportChart({type:"image/jpeg"}),o.$parent.$root.addLogsIntoDB("downloaded",o.$el.id,"chart","A chart")}},{text:this.lang.downloadPDF,onclick:function(){this.exportChart({type:"application/pdf"}),o.$parent.$root.addLogsIntoDB("downloaded",o.$el.id,"chart","A chart")}},{text:this.lang.downloadSVG,onclick:function(){this.exportChart({type:"image/svg+xml"}),o.$parent.$root.addLogsIntoDB("downloaded",o.$el.id,"chart","A chart")}},{text:this.lang.downloadXLS,onclick:function(){this.downloadXLS(),o.$parent.$root.addLogsIntoDB("downloaded",o.$el.id,"chart","A chart")}},{text:this.lang.downloadCSV,onclick:function(){this.downloadCSV(),o.$parent.$root.addLogsIntoDB("downloaded",o.$el.id,"chart","A chart")}}],symbol:"menuball",symbolStroke:"#118AB2"}}}}),this._highchart=t.chart(this.container,this.chart);let a=this._highchart.legend.allItems,e="",n="",d="",h="";a.forEach(t=>{t.legendGroup.element.addEventListener("click",function(){e="filtered",n=o.$el.id,d="chart",h="Filtered a part of the "+n+" chart","function"==typeof o.$parent.$root.addLogsIntoDB&&o.$parent.$root.addLogsIntoDB(e,n,d,h)})})},watch:{chart:{deep:!0,handler(t){this._highchart.update(t);let o=this._highchart.legend.allItems,a=this,e="",n="",d="",h="";o.forEach(t=>{t.legendGroup.element.addEventListener("click",function(){e="filtered",n=a.$el.id,d="chart",h="Filtered a part of the "+n+" chart","function"==typeof a.$parent.$root.addLogsIntoDB&&a.$parent.$root.addLogsIntoDB(e,n,d,h)})})}}}}});
+define([
+  "highcharts",
+  "highcharts/highcharts-3d",
+  "highcharts/highcharts-more",
+  "highcharts/modules/heatmap",
+  "highcharts/modules/exporting",
+  "highcharts/modules/export-data",
+  "highcharts/modules/accessibility",
+  "highcharts/modules/no-data-to-display",
+], function (t) {
+  return {
+    template: '<div v-bind:id="container"></div>',
+    props: ["container", "chart", "lang"],
+    data: () => ({}),
+    mounted() {
+      let o = this;
+      this.lang &&
+        t.setOptions({
+          lang: this.lang,
+          credits: { enabled: !1 },
+          exporting: {
+            buttons: {
+              contextButton: {
+                menuItems: [
+                  {
+                    text: this.lang.downloadPNG,
+                    onclick: function () {
+                      this.exportChart({ type: "image/png" }),
+                        o.$parent.$root.addLogsIntoDB(
+                          "downloaded",
+                          o.$el.id,
+                          "chart",
+                          "A chart"
+                        );
+                    },
+                  },
+                  {
+                    text: this.lang.downloadJPEG,
+                    onclick: function () {
+                      this.exportChart({ type: "image/jpeg" }),
+                        o.$parent.$root.addLogsIntoDB(
+                          "downloaded",
+                          o.$el.id,
+                          "chart",
+                          "A chart"
+                        );
+                    },
+                  },
+                  {
+                    text: this.lang.downloadPDF,
+                    onclick: function () {
+                      this.exportChart({ type: "application/pdf" }),
+                        o.$parent.$root.addLogsIntoDB(
+                          "downloaded",
+                          o.$el.id,
+                          "chart",
+                          "A chart"
+                        );
+                    },
+                  },
+                  {
+                    text: this.lang.downloadSVG,
+                    onclick: function () {
+                      this.exportChart({ type: "image/svg+xml" }),
+                        o.$parent.$root.addLogsIntoDB(
+                          "downloaded",
+                          o.$el.id,
+                          "chart",
+                          "A chart"
+                        );
+                    },
+                  },
+                  {
+                    text: this.lang.downloadXLS,
+                    onclick: function () {
+                      this.downloadXLS(),
+                        o.$parent.$root.addLogsIntoDB(
+                          "downloaded",
+                          o.$el.id,
+                          "chart",
+                          "A chart"
+                        );
+                    },
+                  },
+                  {
+                    text: this.lang.downloadCSV,
+                    onclick: function () {
+                      this.downloadCSV(),
+                        o.$parent.$root.addLogsIntoDB(
+                          "downloaded",
+                          o.$el.id,
+                          "chart",
+                          "A chart"
+                        );
+                    },
+                  },
+                ],
+                symbol: "menuball",
+                symbolStroke: "#118AB2",
+              },
+            },
+          },
+        }),
+        (this._highchart = t.chart(this.container, this.chart));
+      let a = this._highchart.legend.allItems,
+        e = "",
+        n = "",
+        d = "",
+        h = "";
+      a.forEach((t) => {
+        t.legendGroup.element.addEventListener("click", function () {
+          (e = "filtered"),
+            (n = o.$el.id),
+            (d = "chart"),
+            (h = "Filtered a part of the " + n + " chart"),
+            "function" == typeof o.$parent.$root.addLogsIntoDB &&
+              o.$parent.$root.addLogsIntoDB(e, n, d, h);
+        });
+      });
+    },
+    watch: {
+      chart: {
+        deep: !0,
+        handler(t) {
+          this._highchart.update(t);
+          let o = this._highchart.legend.allItems,
+            a = this,
+            e = "",
+            n = "",
+            d = "",
+            h = "";
+          o.forEach((t) => {
+            t.legendGroup.element.addEventListener("click", function () {
+              (e = "filtered"),
+                (n = a.$el.id),
+                (d = "chart"),
+                (h = "Filtered a part of the " + n + " chart"),
+                "function" == typeof a.$parent.$root.addLogsIntoDB &&
+                  a.$parent.$root.addLogsIntoDB(e, n, d, h);
+            });
+          });
+        },
+      },
+    },
+  };
+});
 //# sourceMappingURL=chartdynamic.min.js.map
diff --git a/notemyprogress/amd/build/chartdynamic.min.js.map b/notemyprogress/amd/build/chartdynamic.min.js.map
index 72aab03fc21d6fb9ca0e5c1cf395765f93082251..07feb102a968dcb9d342abbbcafb28b5499ef2ac 100644
--- a/notemyprogress/amd/build/chartdynamic.min.js.map
+++ b/notemyprogress/amd/build/chartdynamic.min.js.map
@@ -1 +1,46 @@
-{"version":3,"sources":["../src/chartdynamic.js"],"names":["define","Highcharts","template","props","data","mounted","lang","setOptions","credits","enabled","exporting","buttons","contextButton","menuItems","text","downloadPNG","onclick","exportChart","type","downloadJPEG","downloadPDF","downloadSVG","downloadXLS","downloadCSV","symbol","symbolStroke","_highchart","chart","container","watch","deep","handler","update"],"mappings":"AAAAA,OAAM,mCAAC,CACC,YADD,CAEC,0BAFD,CAGC,4BAHD,CAIC,4BAJD,CAKC,8BALD,CAMC,gCAND,CAOC,kCAPD,CAQC,uCARD,CAAD,CAUF,SAASC,CAAT,CAAqB,CACrB,MAAO,CACHC,QAAQ,sCADL,CAEHC,KAAK,CAAE,CAAC,WAAD,CAAc,OAAd,CAAuB,MAAvB,CAFJ,CAGHC,IAHG,gBAGI,CACH,MAAO,EACV,CALE,CAMHC,OANG,mBAMO,CACL,KAAKC,IAAN,EAAeL,CAAU,CAACM,UAAX,CAAsB,CACjCD,IAAI,CAAE,KAAKA,IADsB,CAEjCE,OAAO,CAAE,CAAEC,OAAO,GAAT,CAFwB,CAGjCC,SAAS,CAAE,CACPC,OAAO,CAAE,CACLC,aAAa,CAAE,CACXC,SAAS,CAAE,CAAC,CACRC,IAAI,CAAE,KAAKR,IAAL,CAAUS,WADR,CAERC,OAAO,CAAE,kBAAY,CACjB,KAAKC,WAAL,CAAiB,CACbC,IAAI,CAAE,WADO,CAAjB,CAGH,CANO,CAAD,CAOT,CACEJ,IAAI,CAAE,KAAKR,IAAL,CAAUa,YADlB,CAEEH,OAAO,CAAE,kBAAY,CACjB,KAAKC,WAAL,CAAiB,CACbC,IAAI,CAAE,YADO,CAAjB,CAGH,CANH,CAPS,CAcT,CACEJ,IAAI,CAAE,KAAKR,IAAL,CAAUc,WADlB,CAEEJ,OAAO,CAAE,kBAAY,CACjB,KAAKC,WAAL,CAAiB,CACbC,IAAI,CAAE,iBADO,CAAjB,CAGH,CANH,CAdS,CAqBT,CACEJ,IAAI,CAAE,KAAKR,IAAL,CAAUe,WADlB,CAEEL,OAAO,CAAE,kBAAY,CACjB,KAAKC,WAAL,CAAiB,CACbC,IAAI,CAAE,eADO,CAAjB,CAGH,CANH,CArBS,CA4BT,CACEJ,IAAI,CAAE,KAAKR,IAAL,CAAUgB,WADlB,CAEEN,OAAO,CAAE,kBAAY,CACjB,KAAKM,WAAL,EACH,CAJH,CA5BS,CAiCT,CACER,IAAI,CAAE,KAAKR,IAAL,CAAUiB,WADlB,CAEEP,OAAO,CAAE,kBAAY,CACjB,KAAKO,WAAL,EACH,CAJH,CAjCS,CADA,CAwCXC,MAAM,CAAE,UAxCG,CAyCXC,YAAY,CAAE,SAzCH,CADV,CADF,CAHsB,CAAtB,CAAf,CAmDA,KAAKC,UAAL,CAAkBzB,CAAU,CAAC0B,KAAX,CAAiB,KAAKC,SAAtB,CAAiC,KAAKD,KAAtC,CACrB,CA3DE,CA4DHE,KAAK,CAAE,CACHF,KAAK,CAAE,CACHG,IAAI,GADD,CAEHC,OAFG,kBAEKJ,CAFL,CAEY,CACX,KAAKD,UAAL,CAAgBM,MAAhB,CAAuBL,CAAvB,CACH,CAJE,CADJ,CA5DJ,CAsEV,CAjFK,CAAN","sourcesContent":["define([\n        'highcharts',\n        'highcharts/highcharts-3d',\n        'highcharts/highcharts-more',\n        'highcharts/modules/heatmap',\n        'highcharts/modules/exporting',\n        'highcharts/modules/export-data',\n        'highcharts/modules/accessibility',\n        'highcharts/modules/no-data-to-display',\n        ],\n    function(Highcharts) {\n    return {\n        template: `<div v-bind:id=\"container\"></div>`,\n        props: ['container', 'chart', 'lang'],\n        data() {\n            return { }\n        },\n        mounted() {\n            (this.lang) && Highcharts.setOptions({\n                lang: this.lang,\n                credits: { enabled: false },\n                exporting: {\n                    buttons: {\n                        contextButton: {\n                            menuItems: [{\n                                text: this.lang.downloadPNG,\n                                onclick: function () {\n                                    this.exportChart({\n                                        type: 'image/png'\n                                    });\n                                }\n                            },{\n                                text: this.lang.downloadJPEG,\n                                onclick: function () {\n                                    this.exportChart({\n                                        type: 'image/jpeg'\n                                    });\n                                }\n                            },{\n                                text: this.lang.downloadPDF,\n                                onclick: function () {\n                                    this.exportChart({\n                                        type: 'application/pdf'\n                                    });\n                                }\n                            },{\n                                text: this.lang.downloadSVG,\n                                onclick: function () {\n                                    this.exportChart({\n                                        type: 'image/svg+xml'\n                                    });\n                                }\n                            },{\n                                text: this.lang.downloadXLS,\n                                onclick: function () {\n                                    this.downloadXLS();\n                                }\n                            },{\n                                text: this.lang.downloadCSV,\n                                onclick: function () {\n                                    this.downloadCSV();\n                                }\n                            }],\n                            symbol: 'menuball',\n                            symbolStroke: '#118AB2'\n                        }\n                    }\n                }\n            });\n            this._highchart = Highcharts.chart(this.container, this.chart);\n        },\n        watch: {\n            chart: {\n                deep: true,\n                handler(chart) {\n                    this._highchart.update(chart);\n                },\n            }\n        }\n\n    };\n});"],"file":"chartdynamic.min.js"}
\ No newline at end of file
+{
+  "version": 3,
+  "sources": [
+    "../src/chartdynamic.js"
+  ],
+  "names": [
+    "define",
+    "Highcharts",
+    "template",
+    "props",
+    "data",
+    "mounted",
+    "lang",
+    "setOptions",
+    "credits",
+    "enabled",
+    "exporting",
+    "buttons",
+    "contextButton",
+    "menuItems",
+    "text",
+    "downloadPNG",
+    "onclick",
+    "exportChart",
+    "type",
+    "downloadJPEG",
+    "downloadPDF",
+    "downloadSVG",
+    "downloadXLS",
+    "downloadCSV",
+    "symbol",
+    "symbolStroke",
+    "_highchart",
+    "chart",
+    "container",
+    "watch",
+    "deep",
+    "handler",
+    "update"
+  ],
+  "mappings": "AAAAA,OAAM,mCAAC,CACC,YADD,CAEC,0BAFD,CAGC,4BAHD,CAIC,4BAJD,CAKC,8BALD,CAMC,gCAND,CAOC,kCAPD,CAQC,uCARD,CAAD,CAUF,SAASC,CAAT,CAAqB,CACrB,MAAO,CACHC,QAAQ,sCADL,CAEHC,KAAK,CAAE,CAAC,WAAD,CAAc,OAAd,CAAuB,MAAvB,CAFJ,CAGHC,IAHG,gBAGI,CACH,MAAO,EACV,CALE,CAMHC,OANG,mBAMO,CACL,KAAKC,IAAN,EAAeL,CAAU,CAACM,UAAX,CAAsB,CACjCD,IAAI,CAAE,KAAKA,IADsB,CAEjCE,OAAO,CAAE,CAAEC,OAAO,GAAT,CAFwB,CAGjCC,SAAS,CAAE,CACPC,OAAO,CAAE,CACLC,aAAa,CAAE,CACXC,SAAS,CAAE,CAAC,CACRC,IAAI,CAAE,KAAKR,IAAL,CAAUS,WADR,CAERC,OAAO,CAAE,kBAAY,CACjB,KAAKC,WAAL,CAAiB,CACbC,IAAI,CAAE,WADO,CAAjB,CAGH,CANO,CAAD,CAOT,CACEJ,IAAI,CAAE,KAAKR,IAAL,CAAUa,YADlB,CAEEH,OAAO,CAAE,kBAAY,CACjB,KAAKC,WAAL,CAAiB,CACbC,IAAI,CAAE,YADO,CAAjB,CAGH,CANH,CAPS,CAcT,CACEJ,IAAI,CAAE,KAAKR,IAAL,CAAUc,WADlB,CAEEJ,OAAO,CAAE,kBAAY,CACjB,KAAKC,WAAL,CAAiB,CACbC,IAAI,CAAE,iBADO,CAAjB,CAGH,CANH,CAdS,CAqBT,CACEJ,IAAI,CAAE,KAAKR,IAAL,CAAUe,WADlB,CAEEL,OAAO,CAAE,kBAAY,CACjB,KAAKC,WAAL,CAAiB,CACbC,IAAI,CAAE,eADO,CAAjB,CAGH,CANH,CArBS,CA4BT,CACEJ,IAAI,CAAE,KAAKR,IAAL,CAAUgB,WADlB,CAEEN,OAAO,CAAE,kBAAY,CACjB,KAAKM,WAAL,EACH,CAJH,CA5BS,CAiCT,CACER,IAAI,CAAE,KAAKR,IAAL,CAAUiB,WADlB,CAEEP,OAAO,CAAE,kBAAY,CACjB,KAAKO,WAAL,EACH,CAJH,CAjCS,CADA,CAwCXC,MAAM,CAAE,UAxCG,CAyCXC,YAAY,CAAE,SAzCH,CADV,CADF,CAHsB,CAAtB,CAAf,CAmDA,KAAKC,UAAL,CAAkBzB,CAAU,CAAC0B,KAAX,CAAiB,KAAKC,SAAtB,CAAiC,KAAKD,KAAtC,CACrB,CA3DE,CA4DHE,KAAK,CAAE,CACHF,KAAK,CAAE,CACHG,IAAI,GADD,CAEHC,OAFG,kBAEKJ,CAFL,CAEY,CACX,KAAKD,UAAL,CAAgBM,MAAhB,CAAuBL,CAAvB,CACH,CAJE,CADJ,CA5DJ,CAsEV,CAjFK,CAAN",
+  "sourcesContent": [
+    "define([\n        'highcharts',\n        'highcharts/highcharts-3d',\n        'highcharts/highcharts-more',\n        'highcharts/modules/heatmap',\n        'highcharts/modules/exporting',\n        'highcharts/modules/export-data',\n        'highcharts/modules/accessibility',\n        'highcharts/modules/no-data-to-display',\n        ],\n    function(Highcharts) {\n    return {\n        template: `<div v-bind:id=\"container\"></div>`,\n        props: ['container', 'chart', 'lang'],\n        data() {\n            return { }\n        },\n        mounted() {\n            (this.lang) && Highcharts.setOptions({\n                lang: this.lang,\n                credits: { enabled: false },\n                exporting: {\n                    buttons: {\n                        contextButton: {\n                            menuItems: [{\n                                text: this.lang.downloadPNG,\n                                onclick: function () {\n                                    this.exportChart({\n                                        type: 'image/png'\n                                    });\n                                }\n                            },{\n                                text: this.lang.downloadJPEG,\n                                onclick: function () {\n                                    this.exportChart({\n                                        type: 'image/jpeg'\n                                    });\n                                }\n                            },{\n                                text: this.lang.downloadPDF,\n                                onclick: function () {\n                                    this.exportChart({\n                                        type: 'application/pdf'\n                                    });\n                                }\n                            },{\n                                text: this.lang.downloadSVG,\n                                onclick: function () {\n                                    this.exportChart({\n                                        type: 'image/svg+xml'\n                                    });\n                                }\n                            },{\n                                text: this.lang.downloadXLS,\n                                onclick: function () {\n                                    this.downloadXLS();\n                                }\n                            },{\n                                text: this.lang.downloadCSV,\n                                onclick: function () {\n                                    this.downloadCSV();\n                                }\n                            }],\n                            symbol: 'menuball',\n                            symbolStroke: '#118AB2'\n                        }\n                    }\n                }\n            });\n            this._highchart = Highcharts.chart(this.container, this.chart);\n        },\n        watch: {\n            chart: {\n                deep: true,\n                handler(chart) {\n                    this._highchart.update(chart);\n                },\n            }\n        }\n\n    };\n});"
+  ],
+  "file": "chartdynamic.min.js"
+}
diff --git a/notemyprogress/amd/build/chartstatic.min.js b/notemyprogress/amd/build/chartstatic.min.js
index 0d0f58c546319cbe552bb563a7c860a455184b9c..7e0c1d945b3955d0196aa1b4712ae8698b397d70 100644
--- a/notemyprogress/amd/build/chartstatic.min.js
+++ b/notemyprogress/amd/build/chartstatic.min.js
@@ -1,2 +1,123 @@
-define(["highcharts","highcharts/highcharts-3d","highcharts/highcharts-more","highcharts/modules/heatmap","highcharts/modules/exporting","highcharts/modules/export-data","highcharts/modules/accessibility","highcharts/modules/no-data-to-display"],function(t){return{template:'<div v-bind:id="container"></div>',props:["container","chart","lang","test"],data:()=>({}),mounted(){let o=this;this.lang&&t.setOptions({lang:this.lang,credits:{enabled:!1},exporting:{buttons:{contextButton:{menuItems:[{text:this.lang.downloadPNG,onclick:function(){this.exportChart({type:"image/png"}),o.$parent.$root.addLogsIntoDB("downloaded",o.$el.id,"chart","A chart")}},{text:this.lang.downloadJPEG,onclick:function(){this.exportChart({type:"image/jpeg"}),o.$parent.$root.addLogsIntoDB("downloaded",o.$el.id,"chart","A chart")}},{text:this.lang.downloadPDF,onclick:function(){this.exportChart({type:"application/pdf"}),o.$parent.$root.addLogsIntoDB("downloaded",o.$el.id,"chart","A chart")}},{text:this.lang.downloadSVG,onclick:function(){this.exportChart({type:"image/svg+xml"}),o.$parent.$root.addLogsIntoDB("downloaded",o.$el.id,"chart","A chart")}},{text:this.lang.downloadXLS,onclick:function(){this.downloadXLS(),o.$parent.$root.addLogsIntoDB("downloaded",o.$el.id,"chart","A chart")}},{text:this.lang.downloadCSV,onclick:function(){this.downloadCSV(),o.$parent.$root.addLogsIntoDB("downloaded",o.$el.id,"chart","A chart")}}],symbol:"menuball",symbolStroke:"#118AB2"}}}}),this._highchart=t.chart(this.container,this.chart);let a=this._highchart.legend.allItems,n="",e="",d="",h="";a.forEach(t=>{t.legendGroup.element.addEventListener("click",function(){n="filtered",e=o.$el.id,d="chart",h="Filtered a part of the "+e+" chart","function"==typeof o.$parent.$root.addLogsIntoDB&&o.$parent.$root.addLogsIntoDB(n,e,d,h)})})}}});
+define([
+  "highcharts",
+  "highcharts/highcharts-3d",
+  "highcharts/highcharts-more",
+  "highcharts/modules/heatmap",
+  "highcharts/modules/exporting",
+  "highcharts/modules/export-data",
+  "highcharts/modules/accessibility",
+  "highcharts/modules/no-data-to-display",
+], function (t) {
+  return {
+    template: '<div v-bind:id="container"></div>',
+    props: ["container", "chart", "lang", "test"],
+    data: () => ({}),
+    mounted() {
+      let o = this;
+      this.lang &&
+        t.setOptions({
+          lang: this.lang,
+          credits: { enabled: !1 },
+          exporting: {
+            buttons: {
+              contextButton: {
+                menuItems: [
+                  {
+                    text: this.lang.downloadPNG,
+                    onclick: function () {
+                      this.exportChart({ type: "image/png" }),
+                        o.$parent.$root.addLogsIntoDB(
+                          "downloaded",
+                          o.$el.id,
+                          "chart",
+                          "A chart"
+                        );
+                    },
+                  },
+                  {
+                    text: this.lang.downloadJPEG,
+                    onclick: function () {
+                      this.exportChart({ type: "image/jpeg" }),
+                        o.$parent.$root.addLogsIntoDB(
+                          "downloaded",
+                          o.$el.id,
+                          "chart",
+                          "A chart"
+                        );
+                    },
+                  },
+                  {
+                    text: this.lang.downloadPDF,
+                    onclick: function () {
+                      this.exportChart({ type: "application/pdf" }),
+                        o.$parent.$root.addLogsIntoDB(
+                          "downloaded",
+                          o.$el.id,
+                          "chart",
+                          "A chart"
+                        );
+                    },
+                  },
+                  {
+                    text: this.lang.downloadSVG,
+                    onclick: function () {
+                      this.exportChart({ type: "image/svg+xml" }),
+                        o.$parent.$root.addLogsIntoDB(
+                          "downloaded",
+                          o.$el.id,
+                          "chart",
+                          "A chart"
+                        );
+                    },
+                  },
+                  {
+                    text: this.lang.downloadXLS,
+                    onclick: function () {
+                      this.downloadXLS(),
+                        o.$parent.$root.addLogsIntoDB(
+                          "downloaded",
+                          o.$el.id,
+                          "chart",
+                          "A chart"
+                        );
+                    },
+                  },
+                  {
+                    text: this.lang.downloadCSV,
+                    onclick: function () {
+                      this.downloadCSV(),
+                        o.$parent.$root.addLogsIntoDB(
+                          "downloaded",
+                          o.$el.id,
+                          "chart",
+                          "A chart"
+                        );
+                    },
+                  },
+                ],
+                symbol: "menuball",
+                symbolStroke: "#118AB2",
+              },
+            },
+          },
+        }),
+        (this._highchart = t.chart(this.container, this.chart));
+      let a = this._highchart.legend.allItems,
+        n = "",
+        e = "",
+        d = "",
+        h = "";
+      a.forEach((t) => {
+        t.legendGroup.element.addEventListener("click", function () {
+          (n = "filtered"),
+            (e = o.$el.id),
+            (d = "chart"),
+            (h = "Filtered a part of the " + e + " chart"),
+            "function" == typeof o.$parent.$root.addLogsIntoDB &&
+              o.$parent.$root.addLogsIntoDB(n, e, d, h);
+        });
+      });
+    },
+  };
+});
 //# sourceMappingURL=chartstatic.min.js.map
diff --git a/notemyprogress/amd/build/chartstatic.min.js.map b/notemyprogress/amd/build/chartstatic.min.js.map
index a6b774808b64d9b308644e8ba785bcce48970ead..39e86ed9099c1d4edb1502c900e72d0669813e4a 100644
--- a/notemyprogress/amd/build/chartstatic.min.js.map
+++ b/notemyprogress/amd/build/chartstatic.min.js.map
@@ -1 +1,42 @@
-{"version":3,"sources":["../src/chartstatic.js"],"names":["define","Highcharts","template","props","data","mounted","lang","setOptions","credits","enabled","exporting","buttons","contextButton","menuItems","text","downloadPNG","onclick","exportChart","type","downloadJPEG","downloadPDF","downloadSVG","downloadXLS","downloadCSV","symbol","symbolStroke","_highchart","chart","container"],"mappings":"AAAAA,OAAM,kCAAC,CACC,YADD,CAEC,0BAFD,CAGC,4BAHD,CAIC,4BAJD,CAKC,8BALD,CAMC,gCAND,CAOC,kCAPD,CAQC,uCARD,CAAD,CASF,SAASC,CAAT,CAAqB,CACjB,MAAO,CACHC,QAAQ,sCADL,CAEHC,KAAK,CAAE,CAAC,WAAD,CAAc,OAAd,CAAuB,MAAvB,CAFJ,CAGHC,IAHG,gBAGI,CACH,MAAO,EACV,CALE,CAMHC,OANG,mBAMO,CACL,KAAKC,IAAN,EAAeL,CAAU,CAACM,UAAX,CAAsB,CACjCD,IAAI,CAAE,KAAKA,IADsB,CAEjCE,OAAO,CAAE,CAAEC,OAAO,GAAT,CAFwB,CAGjCC,SAAS,CAAE,CACPC,OAAO,CAAE,CACLC,aAAa,CAAE,CACXC,SAAS,CAAE,CAAC,CACRC,IAAI,CAAE,KAAKR,IAAL,CAAUS,WADR,CAERC,OAAO,CAAE,kBAAY,CACjB,KAAKC,WAAL,CAAiB,CACbC,IAAI,CAAE,WADO,CAAjB,CAGH,CANO,CAAD,CAOT,CACEJ,IAAI,CAAE,KAAKR,IAAL,CAAUa,YADlB,CAEEH,OAAO,CAAE,kBAAY,CACjB,KAAKC,WAAL,CAAiB,CACbC,IAAI,CAAE,YADO,CAAjB,CAGH,CANH,CAPS,CAcT,CACEJ,IAAI,CAAE,KAAKR,IAAL,CAAUc,WADlB,CAEEJ,OAAO,CAAE,kBAAY,CACjB,KAAKC,WAAL,CAAiB,CACbC,IAAI,CAAE,iBADO,CAAjB,CAGH,CANH,CAdS,CAqBT,CACEJ,IAAI,CAAE,KAAKR,IAAL,CAAUe,WADlB,CAEEL,OAAO,CAAE,kBAAY,CACjB,KAAKC,WAAL,CAAiB,CACbC,IAAI,CAAE,eADO,CAAjB,CAGH,CANH,CArBS,CA4BT,CACEJ,IAAI,CAAE,KAAKR,IAAL,CAAUgB,WADlB,CAEEN,OAAO,CAAE,kBAAY,CACjB,KAAKM,WAAL,EACH,CAJH,CA5BS,CAiCT,CACER,IAAI,CAAE,KAAKR,IAAL,CAAUiB,WADlB,CAEEP,OAAO,CAAE,kBAAY,CACjB,KAAKO,WAAL,EACH,CAJH,CAjCS,CADA,CAwCXC,MAAM,CAAE,UAxCG,CAyCXC,YAAY,CAAE,SAzCH,CADV,CADF,CAHsB,CAAtB,CAAf,CAmDA,KAAKC,UAAL,CAAkBzB,CAAU,CAAC0B,KAAX,CAAiB,KAAKC,SAAtB,CAAiC,KAAKD,KAAtC,CACrB,CA3DE,CA6DV,CAvEC,CAAN","sourcesContent":["define([\r\n        'highcharts',\r\n        'highcharts/highcharts-3d',\r\n        'highcharts/highcharts-more',\r\n        'highcharts/modules/heatmap',\r\n        'highcharts/modules/exporting',\r\n        'highcharts/modules/export-data',\r\n        'highcharts/modules/accessibility',\r\n        'highcharts/modules/no-data-to-display'],\r\n    function(Highcharts) {\r\n        return {\r\n            template: `<div v-bind:id=\"container\"></div>`,\r\n            props: ['container', 'chart', 'lang'],\r\n            data() {\r\n                return { }\r\n            },\r\n            mounted() {\r\n                (this.lang) && Highcharts.setOptions({\r\n                    lang: this.lang,\r\n                    credits: { enabled: false },\r\n                    exporting: {\r\n                        buttons: {\r\n                            contextButton: {\r\n                                menuItems: [{\r\n                                    text: this.lang.downloadPNG,\r\n                                    onclick: function () {\r\n                                        this.exportChart({\r\n                                            type: 'image/png'\r\n                                        });\r\n                                    }\r\n                                },{\r\n                                    text: this.lang.downloadJPEG,\r\n                                    onclick: function () {\r\n                                        this.exportChart({\r\n                                            type: 'image/jpeg'\r\n                                        });\r\n                                    }\r\n                                },{\r\n                                    text: this.lang.downloadPDF,\r\n                                    onclick: function () {\r\n                                        this.exportChart({\r\n                                            type: 'application/pdf'\r\n                                        });\r\n                                    }\r\n                                },{\r\n                                    text: this.lang.downloadSVG,\r\n                                    onclick: function () {\r\n                                        this.exportChart({\r\n                                            type: 'image/svg+xml'\r\n                                        });\r\n                                    }\r\n                                },{\r\n                                    text: this.lang.downloadXLS,\r\n                                    onclick: function () {\r\n                                        this.downloadXLS();\r\n                                    }\r\n                                },{\r\n                                    text: this.lang.downloadCSV,\r\n                                    onclick: function () {\r\n                                        this.downloadCSV();\r\n                                    }\r\n                                }],\r\n                                symbol: 'menuball',\r\n                                symbolStroke: '#118AB2'\r\n                            }\r\n                        }\r\n                    }\r\n                });\r\n                this._highchart = Highcharts.chart(this.container, this.chart);\r\n            }\r\n        };\r\n    });"],"file":"chartstatic.min.js"}
\ No newline at end of file
+{
+  "version": 3,
+  "sources": [
+    "../src/chartstatic.js"
+  ],
+  "names": [
+    "define",
+    "Highcharts",
+    "template",
+    "props",
+    "data",
+    "mounted",
+    "lang",
+    "setOptions",
+    "credits",
+    "enabled",
+    "exporting",
+    "buttons",
+    "contextButton",
+    "menuItems",
+    "text",
+    "downloadPNG",
+    "onclick",
+    "exportChart",
+    "type",
+    "downloadJPEG",
+    "downloadPDF",
+    "downloadSVG",
+    "downloadXLS",
+    "downloadCSV",
+    "symbol",
+    "symbolStroke",
+    "_highchart",
+    "chart",
+    "container"
+  ],
+  "mappings": "AAAAA,OAAM,kCAAC,CACC,YADD,CAEC,0BAFD,CAGC,4BAHD,CAIC,4BAJD,CAKC,8BALD,CAMC,gCAND,CAOC,kCAPD,CAQC,uCARD,CAAD,CASF,SAASC,CAAT,CAAqB,CACjB,MAAO,CACHC,QAAQ,sCADL,CAEHC,KAAK,CAAE,CAAC,WAAD,CAAc,OAAd,CAAuB,MAAvB,CAFJ,CAGHC,IAHG,gBAGI,CACH,MAAO,EACV,CALE,CAMHC,OANG,mBAMO,CACL,KAAKC,IAAN,EAAeL,CAAU,CAACM,UAAX,CAAsB,CACjCD,IAAI,CAAE,KAAKA,IADsB,CAEjCE,OAAO,CAAE,CAAEC,OAAO,GAAT,CAFwB,CAGjCC,SAAS,CAAE,CACPC,OAAO,CAAE,CACLC,aAAa,CAAE,CACXC,SAAS,CAAE,CAAC,CACRC,IAAI,CAAE,KAAKR,IAAL,CAAUS,WADR,CAERC,OAAO,CAAE,kBAAY,CACjB,KAAKC,WAAL,CAAiB,CACbC,IAAI,CAAE,WADO,CAAjB,CAGH,CANO,CAAD,CAOT,CACEJ,IAAI,CAAE,KAAKR,IAAL,CAAUa,YADlB,CAEEH,OAAO,CAAE,kBAAY,CACjB,KAAKC,WAAL,CAAiB,CACbC,IAAI,CAAE,YADO,CAAjB,CAGH,CANH,CAPS,CAcT,CACEJ,IAAI,CAAE,KAAKR,IAAL,CAAUc,WADlB,CAEEJ,OAAO,CAAE,kBAAY,CACjB,KAAKC,WAAL,CAAiB,CACbC,IAAI,CAAE,iBADO,CAAjB,CAGH,CANH,CAdS,CAqBT,CACEJ,IAAI,CAAE,KAAKR,IAAL,CAAUe,WADlB,CAEEL,OAAO,CAAE,kBAAY,CACjB,KAAKC,WAAL,CAAiB,CACbC,IAAI,CAAE,eADO,CAAjB,CAGH,CANH,CArBS,CA4BT,CACEJ,IAAI,CAAE,KAAKR,IAAL,CAAUgB,WADlB,CAEEN,OAAO,CAAE,kBAAY,CACjB,KAAKM,WAAL,EACH,CAJH,CA5BS,CAiCT,CACER,IAAI,CAAE,KAAKR,IAAL,CAAUiB,WADlB,CAEEP,OAAO,CAAE,kBAAY,CACjB,KAAKO,WAAL,EACH,CAJH,CAjCS,CADA,CAwCXC,MAAM,CAAE,UAxCG,CAyCXC,YAAY,CAAE,SAzCH,CADV,CADF,CAHsB,CAAtB,CAAf,CAmDA,KAAKC,UAAL,CAAkBzB,CAAU,CAAC0B,KAAX,CAAiB,KAAKC,SAAtB,CAAiC,KAAKD,KAAtC,CACrB,CA3DE,CA6DV,CAvEC,CAAN",
+  "sourcesContent": [
+    "define([\r\n        'highcharts',\r\n        'highcharts/highcharts-3d',\r\n        'highcharts/highcharts-more',\r\n        'highcharts/modules/heatmap',\r\n        'highcharts/modules/exporting',\r\n        'highcharts/modules/export-data',\r\n        'highcharts/modules/accessibility',\r\n        'highcharts/modules/no-data-to-display'],\r\n    function(Highcharts) {\r\n        return {\r\n            template: `<div v-bind:id=\"container\"></div>`,\r\n            props: ['container', 'chart', 'lang'],\r\n            data() {\r\n                return { }\r\n            },\r\n            mounted() {\r\n                (this.lang) && Highcharts.setOptions({\r\n                    lang: this.lang,\r\n                    credits: { enabled: false },\r\n                    exporting: {\r\n                        buttons: {\r\n                            contextButton: {\r\n                                menuItems: [{\r\n                                    text: this.lang.downloadPNG,\r\n                                    onclick: function () {\r\n                                        this.exportChart({\r\n                                            type: 'image/png'\r\n                                        });\r\n                                    }\r\n                                },{\r\n                                    text: this.lang.downloadJPEG,\r\n                                    onclick: function () {\r\n                                        this.exportChart({\r\n                                            type: 'image/jpeg'\r\n                                        });\r\n                                    }\r\n                                },{\r\n                                    text: this.lang.downloadPDF,\r\n                                    onclick: function () {\r\n                                        this.exportChart({\r\n                                            type: 'application/pdf'\r\n                                        });\r\n                                    }\r\n                                },{\r\n                                    text: this.lang.downloadSVG,\r\n                                    onclick: function () {\r\n                                        this.exportChart({\r\n                                            type: 'image/svg+xml'\r\n                                        });\r\n                                    }\r\n                                },{\r\n                                    text: this.lang.downloadXLS,\r\n                                    onclick: function () {\r\n                                        this.downloadXLS();\r\n                                    }\r\n                                },{\r\n                                    text: this.lang.downloadCSV,\r\n                                    onclick: function () {\r\n                                        this.downloadCSV();\r\n                                    }\r\n                                }],\r\n                                symbol: 'menuball',\r\n                                symbolStroke: '#118AB2'\r\n                            }\r\n                        }\r\n                    }\r\n                });\r\n                this._highchart = Highcharts.chart(this.container, this.chart);\r\n            }\r\n        };\r\n    });"
+  ],
+  "file": "chartstatic.min.js"
+}
diff --git a/notemyprogress/amd/build/config.min.js b/notemyprogress/amd/build/config.min.js
index f1f306116196fcbb46f9de6d2979b3f5e6b5733d..749ba9734a24406430f073d9a61d2b9db586b779 100644
--- a/notemyprogress/amd/build/config.min.js
+++ b/notemyprogress/amd/build/config.min.js
@@ -1,2 +1,31 @@
-define ("local_notemyprogress/config",[],function(){"use strict";window.requirejs.config({packages:[{name:"highcharts",main:"highcharts"}],paths:{vue:M.cfg.wwwroot+"/local/notemyprogress/js/vue",vuetify:M.cfg.wwwroot+"/local/notemyprogress/js/vuetify",axios:M.cfg.wwwroot+"/local/notemyprogress/js/axios",sortablejs:M.cfg.wwwroot+"/local/notemyprogress/js/sortablejs",draggable:M.cfg.wwwroot+"/local/notemyprogress/js/draggable",datepicker:M.cfg.wwwroot+"/local/notemyprogress/js/datepicker",moment:M.cfg.wwwroot+"/local/notemyprogress/js/moment",momenttimezone:M.cfg.wwwroot+"/local/notemyprogress/js/moment-timezone",alertify:M.cfg.wwwroot+"/local/notemyprogress/js/alertify",highcharts:M.cfg.wwwroot+"/local/notemyprogress/js/highcharts/"},shim:{vue:{exports:"vue"},vuetify:{deps:["vue"],exports:"vuetify"},axios:{exports:"axios"},sortablejs:{deps:["vue"],exports:"sortablejs"},draggable:{deps:["sortablejs"],exports:"draggable"},datepicker:{deps:["vue"],exports:"datepicker"},moment:{deps:["vue"],exports:"moment"},momenttimezone:{exports:"momenttimezone"},alertify:{exports:"alertify"}}})});
+define("local_notemyprogress/config", [], function () {
+  "use strict";
+  window.requirejs.config({
+    packages: [{ name: "highcharts", main: "highcharts" }],
+    paths: {
+      vue: M.cfg.wwwroot + "/local/notemyprogress/js/vue",
+      vuetify: M.cfg.wwwroot + "/local/notemyprogress/js/vuetify",
+      axios: M.cfg.wwwroot + "/local/notemyprogress/js/axios",
+      sortablejs: M.cfg.wwwroot + "/local/notemyprogress/js/sortablejs",
+      draggable: M.cfg.wwwroot + "/local/notemyprogress/js/draggable",
+      datepicker: M.cfg.wwwroot + "/local/notemyprogress/js/datepicker",
+      moment: M.cfg.wwwroot + "/local/notemyprogress/js/moment",
+      momenttimezone:
+        M.cfg.wwwroot + "/local/notemyprogress/js/moment-timezone",
+      alertify: M.cfg.wwwroot + "/local/notemyprogress/js/alertify",
+      highcharts: M.cfg.wwwroot + "/local/notemyprogress/js/highcharts/",
+    },
+    shim: {
+      vue: { exports: "vue" },
+      vuetify: { deps: ["vue"], exports: "vuetify" },
+      axios: { exports: "axios" },
+      sortablejs: { deps: ["vue"], exports: "sortablejs" },
+      draggable: { deps: ["sortablejs"], exports: "draggable" },
+      datepicker: { deps: ["vue"], exports: "datepicker" },
+      moment: { deps: ["vue"], exports: "moment" },
+      momenttimezone: { exports: "momenttimezone" },
+      alertify: { exports: "alertify" },
+    },
+  });
+});
 //# sourceMappingURL=config.min.js.map
diff --git a/notemyprogress/amd/build/config.min.js.map b/notemyprogress/amd/build/config.min.js.map
index 647d90c9a6010736ee52042ac425daf6df0d3d4f..ba8b8c11607041d6ee5740b5d71b13811a473b1d 100644
--- a/notemyprogress/amd/build/config.min.js.map
+++ b/notemyprogress/amd/build/config.min.js.map
@@ -1 +1,27 @@
-{"version":3,"sources":["../src/config.js"],"names":["define","window","requirejs","config","packages","name","main","paths","M","cfg","wwwroot","shim","exports","deps"],"mappings":"AAAAA,OAAM,6BAAC,EAAD,CAAI,UAAW,CACjB,aACAC,MAAM,CAACC,SAAP,CAAiBC,MAAjB,CAAwB,CACpBC,QAAQ,CAAE,CAAC,CACPC,IAAI,CAAE,YADC,CAEPC,IAAI,CAAE,YAFC,CAAD,CADU,CAKpBC,KAAK,CAAE,CACH,IAAQC,CAAC,CAACC,GAAF,CAAMC,OAAN,CAAgB,4BADrB,CAEH,QAAYF,CAAC,CAACC,GAAF,CAAMC,OAAN,CAAgB,gCAFzB,CAGH,MAASF,CAAC,CAACC,GAAF,CAAMC,OAAN,CAAgB,8BAHtB,CAIH,WAAcF,CAAC,CAACC,GAAF,CAAMC,OAAN,CAAgB,mCAJ3B,CAKH,UAAaF,CAAC,CAACC,GAAF,CAAMC,OAAN,CAAgB,kCAL1B,CAMH,WAAcF,CAAC,CAACC,GAAF,CAAMC,OAAN,CAAgB,mCAN3B,CAOH,OAAUF,CAAC,CAACC,GAAF,CAAMC,OAAN,CAAgB,+BAPvB,CAQH,eAAkBF,CAAC,CAACC,GAAF,CAAMC,OAAN,CAAgB,wCAR/B,CASH,SAAYF,CAAC,CAACC,GAAF,CAAMC,OAAN,CAAgB,iCATzB,CAUH,WAAcF,CAAC,CAACC,GAAF,CAAMC,OAAN,CAAgB,oCAV3B,CALa,CAiBpBC,IAAI,CAAE,CACF,IAAQ,CAACC,OAAO,CAAE,KAAV,CADN,CAEF,QAAW,CAACC,IAAI,CAAE,CAAC,KAAD,CAAP,CAAiBD,OAAO,CAAE,SAA1B,CAFT,CAGF,MAAS,CAACA,OAAO,CAAE,OAAV,CAHP,CAIF,WAAc,CAACC,IAAI,CAAE,CAAC,KAAD,CAAP,CAAgBD,OAAO,CAAE,YAAzB,CAJZ,CAKF,UAAa,CAACC,IAAI,CAAE,CAAC,YAAD,CAAP,CAAuBD,OAAO,CAAE,WAAhC,CALX,CAMF,WAAc,CAACC,IAAI,CAAE,CAAC,KAAD,CAAP,CAAgBD,OAAO,CAAE,YAAzB,CANZ,CAOF,OAAU,CAACC,IAAI,CAAE,CAAC,KAAD,CAAP,CAAgBD,OAAO,CAAE,QAAzB,CAPR,CAQF,eAAkB,CAACA,OAAO,CAAE,gBAAV,CARhB,CASF,SAAY,CAACA,OAAO,CAAE,UAAV,CATV,CAjBc,CAAxB,CA6BH,CA/BK,CAAN","sourcesContent":["define([],function() {\n    \"use strict\";\n    window.requirejs.config({\n        packages: [{\n            name: 'highcharts',\n            main: 'highcharts'\n        }],\n        paths: {\n            \"vue\" : M.cfg.wwwroot + '/local/notemyprogress/js/vue',\n            \"vuetify\" : M.cfg.wwwroot + '/local/notemyprogress/js/vuetify',\n            \"axios\": M.cfg.wwwroot + '/local/notemyprogress/js/axios',\n            \"sortablejs\": M.cfg.wwwroot + '/local/notemyprogress/js/sortablejs',\n            \"draggable\": M.cfg.wwwroot + '/local/notemyprogress/js/draggable',\n            \"datepicker\": M.cfg.wwwroot + '/local/notemyprogress/js/datepicker',\n            \"moment\": M.cfg.wwwroot + '/local/notemyprogress/js/moment',\n            \"momenttimezone\": M.cfg.wwwroot + '/local/notemyprogress/js/moment-timezone',\n            \"alertify\": M.cfg.wwwroot + '/local/notemyprogress/js/alertify',\n            \"highcharts\": M.cfg.wwwroot + '/local/notemyprogress/js/highcharts/'\n        },\n        shim: {\n            'vue' : {exports: 'vue'},\n            'vuetify': {deps: ['vue'] , exports: 'vuetify'},\n            'axios': {exports: 'axios'},\n            'sortablejs': {deps: ['vue'], exports: 'sortablejs'},\n            'draggable': {deps: ['sortablejs'], exports: 'draggable'},\n            'datepicker': {deps: ['vue'], exports: 'datepicker'},\n            'moment': {deps: ['vue'], exports: 'moment'},\n            'momenttimezone': {exports: 'momenttimezone'},\n            'alertify': {exports: 'alertify'},\n        }\n    });\n});\n"],"file":"config.min.js"}
\ No newline at end of file
+{
+  "version": 3,
+  "sources": [
+    "../src/config.js"
+  ],
+  "names": [
+    "define",
+    "window",
+    "requirejs",
+    "config",
+    "packages",
+    "name",
+    "main",
+    "paths",
+    "M",
+    "cfg",
+    "wwwroot",
+    "shim",
+    "exports",
+    "deps"
+  ],
+  "mappings": "AAAAA,OAAM,6BAAC,EAAD,CAAI,UAAW,CACjB,aACAC,MAAM,CAACC,SAAP,CAAiBC,MAAjB,CAAwB,CACpBC,QAAQ,CAAE,CAAC,CACPC,IAAI,CAAE,YADC,CAEPC,IAAI,CAAE,YAFC,CAAD,CADU,CAKpBC,KAAK,CAAE,CACH,IAAQC,CAAC,CAACC,GAAF,CAAMC,OAAN,CAAgB,4BADrB,CAEH,QAAYF,CAAC,CAACC,GAAF,CAAMC,OAAN,CAAgB,gCAFzB,CAGH,MAASF,CAAC,CAACC,GAAF,CAAMC,OAAN,CAAgB,8BAHtB,CAIH,WAAcF,CAAC,CAACC,GAAF,CAAMC,OAAN,CAAgB,mCAJ3B,CAKH,UAAaF,CAAC,CAACC,GAAF,CAAMC,OAAN,CAAgB,kCAL1B,CAMH,WAAcF,CAAC,CAACC,GAAF,CAAMC,OAAN,CAAgB,mCAN3B,CAOH,OAAUF,CAAC,CAACC,GAAF,CAAMC,OAAN,CAAgB,+BAPvB,CAQH,eAAkBF,CAAC,CAACC,GAAF,CAAMC,OAAN,CAAgB,wCAR/B,CASH,SAAYF,CAAC,CAACC,GAAF,CAAMC,OAAN,CAAgB,iCATzB,CAUH,WAAcF,CAAC,CAACC,GAAF,CAAMC,OAAN,CAAgB,oCAV3B,CALa,CAiBpBC,IAAI,CAAE,CACF,IAAQ,CAACC,OAAO,CAAE,KAAV,CADN,CAEF,QAAW,CAACC,IAAI,CAAE,CAAC,KAAD,CAAP,CAAiBD,OAAO,CAAE,SAA1B,CAFT,CAGF,MAAS,CAACA,OAAO,CAAE,OAAV,CAHP,CAIF,WAAc,CAACC,IAAI,CAAE,CAAC,KAAD,CAAP,CAAgBD,OAAO,CAAE,YAAzB,CAJZ,CAKF,UAAa,CAACC,IAAI,CAAE,CAAC,YAAD,CAAP,CAAuBD,OAAO,CAAE,WAAhC,CALX,CAMF,WAAc,CAACC,IAAI,CAAE,CAAC,KAAD,CAAP,CAAgBD,OAAO,CAAE,YAAzB,CANZ,CAOF,OAAU,CAACC,IAAI,CAAE,CAAC,KAAD,CAAP,CAAgBD,OAAO,CAAE,QAAzB,CAPR,CAQF,eAAkB,CAACA,OAAO,CAAE,gBAAV,CARhB,CASF,SAAY,CAACA,OAAO,CAAE,UAAV,CATV,CAjBc,CAAxB,CA6BH,CA/BK,CAAN",
+  "sourcesContent": [
+    "define([],function() {\n    \"use strict\";\n    window.requirejs.config({\n        packages: [{\n            name: 'highcharts',\n            main: 'highcharts'\n        }],\n        paths: {\n            \"vue\" : M.cfg.wwwroot + '/local/notemyprogress/js/vue',\n            \"vuetify\" : M.cfg.wwwroot + '/local/notemyprogress/js/vuetify',\n            \"axios\": M.cfg.wwwroot + '/local/notemyprogress/js/axios',\n            \"sortablejs\": M.cfg.wwwroot + '/local/notemyprogress/js/sortablejs',\n            \"draggable\": M.cfg.wwwroot + '/local/notemyprogress/js/draggable',\n            \"datepicker\": M.cfg.wwwroot + '/local/notemyprogress/js/datepicker',\n            \"moment\": M.cfg.wwwroot + '/local/notemyprogress/js/moment',\n            \"momenttimezone\": M.cfg.wwwroot + '/local/notemyprogress/js/moment-timezone',\n            \"alertify\": M.cfg.wwwroot + '/local/notemyprogress/js/alertify',\n            \"highcharts\": M.cfg.wwwroot + '/local/notemyprogress/js/highcharts/'\n        },\n        shim: {\n            'vue' : {exports: 'vue'},\n            'vuetify': {deps: ['vue'] , exports: 'vuetify'},\n            'axios': {exports: 'axios'},\n            'sortablejs': {deps: ['vue'], exports: 'sortablejs'},\n            'draggable': {deps: ['sortablejs'], exports: 'draggable'},\n            'datepicker': {deps: ['vue'], exports: 'datepicker'},\n            'moment': {deps: ['vue'], exports: 'moment'},\n            'momenttimezone': {exports: 'momenttimezone'},\n            'alertify': {exports: 'alertify'},\n        }\n    });\n});\n"
+  ],
+  "file": "config.min.js"
+}
diff --git a/notemyprogress/amd/build/datepicker.min.js b/notemyprogress/amd/build/datepicker.min.js
index 57242a46015114037a7a68c6875a1bfe31dcfb1d..95d951bfd1fbe307994468248d80db13e7b47b4a 100644
--- a/notemyprogress/amd/build/datepicker.min.js
+++ b/notemyprogress/amd/build/datepicker.min.js
@@ -1,2 +1,7 @@
-define ("local_notemyprogress/datepicker",["local_notemyprogress/config","datepicker"],function(a,b){return b});
+define("local_notemyprogress/datepicker", [
+  "local_notemyprogress/config",
+  "datepicker",
+], function (a, b) {
+  return b;
+});
 //# sourceMappingURL=datepicker.min.js.map
diff --git a/notemyprogress/amd/build/datepicker.min.js.map b/notemyprogress/amd/build/datepicker.min.js.map
index d03e3b9cab91e2809decc4bd4c4ad1bf6eaf1ed2..6764e1d3d1f9c8b8e8beb12df0a9488efc11de49 100644
--- a/notemyprogress/amd/build/datepicker.min.js.map
+++ b/notemyprogress/amd/build/datepicker.min.js.map
@@ -1 +1,16 @@
-{"version":3,"sources":["../src/datepicker.js"],"names":["define","unused","datepicker"],"mappings":"AAAAA,OAAM,iCAAC,CAAC,2BAAD,CAA8B,YAA9B,CAAD,CAA8C,SAASC,CAAT,CAAiBC,CAAjB,CAA6B,CACzE,MAAOA,CAAAA,CACV,CAFC,CAAN","sourcesContent":["define(['local_notemyprogress/config', 'datepicker'], function(unused, datepicker) {\r\n        return datepicker;\r\n    }\r\n);"],"file":"datepicker.min.js"}
\ No newline at end of file
+{
+  "version": 3,
+  "sources": [
+    "../src/datepicker.js"
+  ],
+  "names": [
+    "define",
+    "unused",
+    "datepicker"
+  ],
+  "mappings": "AAAAA,OAAM,iCAAC,CAAC,2BAAD,CAA8B,YAA9B,CAAD,CAA8C,SAASC,CAAT,CAAiBC,CAAjB,CAA6B,CACzE,MAAOA,CAAAA,CACV,CAFC,CAAN",
+  "sourcesContent": [
+    "define(['local_notemyprogress/config', 'datepicker'], function(unused, datepicker) {\r\n        return datepicker;\r\n    }\r\n);"
+  ],
+  "file": "datepicker.min.js"
+}
diff --git a/notemyprogress/amd/build/draggable.min.js b/notemyprogress/amd/build/draggable.min.js
index a21ea8ebc590c4e6ab76c09a215c46adde38c38b..21a9b1428a4296e58f01e8bdfb42ee7d168c3241 100644
--- a/notemyprogress/amd/build/draggable.min.js
+++ b/notemyprogress/amd/build/draggable.min.js
@@ -1,2 +1,7 @@
-define ("local_notemyprogress/draggable",["local_notemyprogress/config","draggable"],function(a,b){return b});
+define("local_notemyprogress/draggable", [
+  "local_notemyprogress/config",
+  "draggable",
+], function (a, b) {
+  return b;
+});
 //# sourceMappingURL=draggable.min.js.map
diff --git a/notemyprogress/amd/build/draggable.min.js.map b/notemyprogress/amd/build/draggable.min.js.map
index cfa7b9b525404c485d80d63abb5ed2387e343165..08b4fa9ce1d4dd89970d91be878a8e5eca1e9359 100644
--- a/notemyprogress/amd/build/draggable.min.js.map
+++ b/notemyprogress/amd/build/draggable.min.js.map
@@ -1 +1,16 @@
-{"version":3,"sources":["../src/draggable.js"],"names":["define","unused","draggable"],"mappings":"AAAAA,OAAM,gCAAC,CAAC,2BAAD,CAA8B,WAA9B,CAAD,CAA6C,SAASC,CAAT,CAAiBC,CAAjB,CAA4B,CACvE,MAAOA,CAAAA,CACV,CAFC,CAAN","sourcesContent":["define(['local_notemyprogress/config', 'draggable'], function(unused, draggable) {\r\n        return draggable;\r\n    }\r\n);"],"file":"draggable.min.js"}
\ No newline at end of file
+{
+  "version": 3,
+  "sources": [
+    "../src/draggable.js"
+  ],
+  "names": [
+    "define",
+    "unused",
+    "draggable"
+  ],
+  "mappings": "AAAAA,OAAM,gCAAC,CAAC,2BAAD,CAA8B,WAA9B,CAAD,CAA6C,SAASC,CAAT,CAAiBC,CAAjB,CAA4B,CACvE,MAAOA,CAAAA,CACV,CAFC,CAAN",
+  "sourcesContent": [
+    "define(['local_notemyprogress/config', 'draggable'], function(unused, draggable) {\r\n        return draggable;\r\n    }\r\n);"
+  ],
+  "file": "draggable.min.js"
+}
diff --git a/notemyprogress/amd/build/dropout.min.js b/notemyprogress/amd/build/dropout.min.js
index dddafbba5a06f54112f91ca1481baab706c6b987..dae5b10593ebeab6782d7f8688711db846150f25 100644
--- a/notemyprogress/amd/build/dropout.min.js
+++ b/notemyprogress/amd/build/dropout.min.js
@@ -1,2 +1,886 @@
-define(["local_notemyprogress/vue", "local_notemyprogress/vuetify", "local_notemyprogress/axios", "local_notemyprogress/moment", "local_notemyprogress/momenttimezone", "local_notemyprogress/pagination", "local_notemyprogress/chartdynamic", "local_notemyprogress/pageheader", "local_notemyprogress/emailform", "local_notemyprogress/modulesform", "local_notemyprogress/helpdialog"], function (e, s, t, i, o, r, l, n, a, d, u) { "use strict"; return { init: function (o) { e.use(s), e.component("pagination", r), e.component("chart", l), e.component("pageheader", n), e.component("emailform", a), e.component("modulesform", d), e.component("helpdialog", u); let c = new e({ delimiters: ["[[", "]]"], el: "#dropout", vuetify: new s, data: () => ({ strings: o.strings, groups: o.groups, userid: o.userid, courseid: o.courseid, timezone: o.timezone, render_has: o.profile_render, loading: !1, errors: [], pages: o.pages, dropout: o.dropout, modules_access_colors: o.modules_access_colors, week_modules_colors: o.week_modules_colors, sessions_evolution_colors: o.sessions_evolution_colors, user_grades_colors: o.user_grades_colors, selected_cluster: [], cluster_users: [], selected_user: null, search: null, week_modules_chart_data: [], week_modules_chart_categories: [], selected_sections: [], sessions_evolution_data: [], user_grades_categories: [], user_grades_data: [], modules_dialog: !1, email_users: [], email_dialog: !1, modulename: "", moduleid: !1, email_strings: o.strings.email_strings, help_dialog: !1, help_contents: [], email_object_name: "" }), beforeMount() { this.dropout.clusters.length && (this.set_modules_in_sections(), this.selected_cluster = this.dropout.clusters[0], this.change_cluster(this.selected_cluster.users)) }, mounted() { document.querySelector("#sessions-loader").style.display = "none", document.querySelector("#dropout").style.display = "block", setTimeout(function () { c.setGraphicsEventListeners() }) }, computed: {}, methods: { get_help_content() { let e = []; return e.push({ title: this.strings.section_help_title, description: this.strings.section_help_description }), e }, set_modules_in_sections() { let e = new Map, s = 0; this.dropout.cms.forEach(t => { s = Number(t.section), e.has(s) ? e.get(s).push(t) : e.set(s, [t]) }), this.dropout.sections.forEach(t => { s = Number(t.sectionid), t.sectionid = s, t.modules = e.has(s) ? e.get(s) : [] }) }, change_cluster(e) { let s = []; if (this.dropout.users.forEach(t => { e.includes(t.id) && s.push(t) }), s.length) { this.cluster_users = s; let e = this.cluster_users[0]; isNaN(parseInt(this.selected_cluster.number)) || this.addLogsIntoDB("viewed", "group_" + parseInt(this.selected_cluster.number) + 1, "group", "Viewed a group"), this.change_user(e) } else this.cluster_users = [], this.selected_user = null }, change_user(e) { let s = this.selected_user; this.selected_user = e, this.calculate_week_modules_access(), this.calculate_sessions_evolution(), this.calculate_user_grades(), null != s && s.username != this.selected_user.username && this.addLogsIntoDB("viewed", "user_" + e.username, "user_details", "Viewed the " + e.username + " details (charts, statistics, etc.)") }, calculate_week_modules_access() { let e, s = 0, t = 0, i = 0, o = 0, r = [], l = [], n = [], a = []; this.dropout.weeks.forEach(d => { i = 0, o = 0, d.sections.forEach(l => { s = Number(l.sectionid), l.sectionid = s, (r = this.sections_modules(s)).forEach(s => { t = Number(s.id), s.id = t, (e = this.selected_user.cms.modules[`cm${s.id}`]) && (e.complete && i++, e.viewed && o++) }) }), l.push(i), n.push(o), a.push(`${d.name} ${d.position + 1}`) }), this.week_modules_chart_categories = a, this.week_modules_chart_data = [{ name: this.strings.modules_access_chart_series_viewed, data: n }, { name: this.strings.modules_access_chart_series_complete, data: l }] }, calculate_sessions_evolution() { let e = [], s = [], t = 0, i = 0, o = 0, r = 0; this.selected_user.sessions.forEach(l => { r = 1e3 * Number(l.start), o = Number(l.duration) / 60, t += o, i++, e.push({ x: r, y: i }), s.push({ x: r, y: t }) }), this.sessions_evolution_data = [{ name: this.strings.sessions_evolution_chart_legend1, yAxis: 0, data: e }, { name: this.strings.sessions_evolution_chart_legend2, yAxis: 1, data: s }] }, calculate_user_grades() { let e = [], s = [], t = [], i = 0, o = this.selected_user.firstname; this.selected_user.gradeitems && (this.selected_user.gradeitems.forEach(o => { i = 100 * Number(o.finalgrade) / Number(o.grademax), e.push(o.itemname), s.push(o.average_percentage), t.push(i) }), this.user_grades_data = [{ name: o, data: t }, { name: this.strings.user_grades_chart_legend, data: s }], this.user_grades_categories = e) }, build_modules_access_chart() { let e = new Object; return e.chart = { type: "bar", backgroundColor: null, style: { fontFamily: "poppins" } }, e.title = { text: null }, e.colors = this.modules_access_colors, e.xAxis = { type: "category" }, e.yAxis = { allowDecimals: !1, title: { enabled: !0, text: this.strings.modules_amount } }, e.tooltip = { shared: !0, formatter: function () { let e = 1 == this.y ? c.strings.module_label : c.strings.modules_label; return "<b>" + this.points[0].key + "</b>: " + this.y + " " + e + "<br/><i>" + c.strings.modules_details + "<i/>" } }, e.plotOptions = { series: { cursor: "pointer", point: { events: { click: function () { c.open_modules_modal(this.x), c.addLogsIntoDB("viewed", c.selected_user.username + "_module_access", "chart_details", "Provide details informations about the consulted resources") } } } } }, e.legend = { enabled: !1 }, e.series = [{ colorByPoint: !0, data: [{ name: this.strings.modules_access_chart_series_viewed, y: this.selected_user.cms.viewed }, { name: this.strings.modules_access_chart_series_complete, y: this.selected_user.cms.complete }, { name: this.strings.modules_access_chart_series_total, y: this.selected_user.cms.total }] }], e }, build_week_modules_chart() { let e = new Object; return e.chart = { type: "column", backgroundColor: null, style: { fontFamily: "poppins" } }, e.title = { text: null }, e.colors = this.week_modules_colors, e.xAxis = { categories: this.week_modules_chart_categories, title: { text: null }, crosshair: !0 }, e.yAxis = { allowDecimals: !1, title: { text: this.strings.modules_amount } }, e.tooltip = { shared: !0, useHTML: !0, formatter: function () { let e = "", s = ""; if (this.points[0]) { let s = 1 == this.points[0].y ? c.strings.module_label : c.strings.modules_label, t = this.points[0].series.name; e = `<b style="color: ${this.points[0].color}">${t}: </b>\n                                            ${this.points[0].y} ${s}<br/>` } if (this.points[1]) { let e = 1 == this.points[1].y ? c.strings.module_label : c.strings.modules_label, t = this.points[1].series.name; s = `<b style="color: ${this.points[1].color}">${t}: </b>\n                                            ${this.points[1].y} ${e}<br/>` } return `${this.x} <br/> ${e}${s} <i>${c.strings.modules_details}<i/>` } }, e.plotOptions = { series: { cursor: "pointer", point: { events: { click: function () { c.open_modules_modal(this.colorIndex, this.x), c.addLogsIntoDB("viewed", c.selected_user.username + "_week_modules", "chart_details", "Provide details informations about the consulted resources") } } } } }, e.series = this.week_modules_chart_data, e }, build_sessions_evolution_chart() { let e = new Object; return e.chart = { zoomType: "x", backgroundColor: null, style: { fontFamily: "poppins" } }, e.title = { text: null }, e.colors = this.sessions_evolution_colors, e.xAxis = { type: "datetime" }, e.yAxis = [{ allowDecimals: !1, title: { text: this.strings.sessions_evolution_chart_xaxis1 } }, { title: { text: this.strings.sessions_evolution_chart_xaxis2 }, opposite: !0 }], e.tooltip = { shared: !0, useHTML: !0, formatter: function () { return `<small>${c.calculate_timezone_date_string(this.x)}</small><br/>${this.points[0] ? c.get_sessions_evolution_tooltip(this.points[0]) : ""}${this.points[1] ? c.get_sessions_evolution_tooltip(this.points[1]) : ""}` } }, e.series = this.sessions_evolution_data, e }, build_user_grades_chart() { let e = new Object; return e.chart = { type: "column", backgroundColor: null, style: { fontFamily: "poppins" } }, e.title = { text: null }, e.colors = this.user_grades_colors, e.xAxis = { crosshair: !0, categories: this.user_grades_categories }, e.yAxis = { allowDecimals: !1, max: 100, labels: { format: "{value} %" }, title: { text: this.strings.user_grades_chart_yaxis } }, e.tooltip = { shared: !0, useHTML: !0, formatter: function () { let e = this.x, s = this.points[0].point.x, t = c.selected_user.gradeitems[s], i = `<small>${e}</small><br/>`, o = `<i>(${c.strings.user_grades_chart_view_activity})</i><br/>`, r = ""; return r = 0 == t.gradecount ? c.strings.user_grades_chart_tooltip_no_graded : `${this.points[0] ? c.get_user_grades_tooltip(this.points[0], t) : ""}${this.points[1] ? c.get_user_grades_tooltip(this.points[1], t) : ""}${o}`, `${i}${r}` } }, e.plotOptions = { series: { cursor: "pointer", point: { events: { click: function () { let e = this.x, s = c.selected_user.gradeitems[e], t = `${M.cfg.wwwroot}/mod/${s.itemmodule}/view.php?id=${s.coursemoduleid}`; window.open(t, "_blank"), c.addLogsIntoDB("viewed", c.selected_user.username + "_user_grades", "chart_details", "Provide informations about a certain test") } } } } }, e.series = this.user_grades_data, e }, get_sessions_evolution_tooltip(e) { let s, t, i, o, r, l = ""; return 0 == e.colorIndex ? (t = 1 == (s = e.y) ? c.strings.session_text : c.strings.sessions_text, i = e.series.name, l = `<b style="color: ${e.color}">${i}: </b>\n                                     ${s} ${t}<br/>`) : (o = e.series.name, r = this.convert_time(60 * e.y), l = `<b style="color: ${e.color}">${o}: </b>\n                                    ${r}<br/>`), l }, get_user_grades_tooltip(e, s) { let t = e.series.name, i = 0, o = Number(s.finalgrade), r = Number(s.average), l = Number(s.grademax); return l = this.isInt(l) ? l : l.toFixed(2), i = 0 == e.colorIndex ? this.isInt(o) ? o : o.toFixed(2) : this.isInt(r) ? r : r.toFixed(2), `<b style="color: ${e.color}">${t}: </b>\n                                     ${i}/${l}<br/>` }, calculate_timezone_date_string(e) { let s, t, o, r, l; if (i.tz.zone(this.timezone)) t = (s = i(e).tz(this.timezone)).day(), o = s.date(), r = s.month(), l = s.format("HH:mm:ss"); else { let i = Intl.DateTimeFormat().resolvedOptions().timeZone; t = (s = new Date(e)).getDay(), o = s.getDate(), r = s.getMonth(), l = `${s.getHours()}:${s.getMinutes()}:${s.getSeconds()} (${i})` } return `${t = this.strings.chart.weekdays[t]}, ${r = this.strings.chart.shortMonths[r]} ${o}, ${l}` }, convert_time(e) { e *= 60; let s, t = this.strings.hours_short, i = this.strings.minutes_short, o = this.strings.seconds_short, r = Math.floor(e / 3600), l = Math.floor(e % 3600 / 60), n = Math.floor(e % 60); return s = r >= 1 ? l >= 1 ? `${r}${t} ${l}${i}` : `${r}${t}` : l >= 1 ? n >= 1 ? `${l}${i} ${n}${o}` : `${l}${i}` : `${n}${o}` }, open_modules_modal(e, s) { let t = this.dropout.sections; if (Number.isInteger(s)) { let e; t = [], this.dropout.weeks[s].sections.forEach(s => { e = { sectionid: s.sectionid, name: s.name, modules: this.sections_modules(s.sectionid) }, t.push(e) }) } t.forEach(e => { e.modules.forEach(e => { e.complete = !1, e.viewed = !1, e.interactions = 0; let s = this.selected_user.cms.modules[`cm${e.id}`]; s && (e.complete = s.complete, e.viewed = s.viewed, e.interactions = s.interactions) }) }), this.selected_sections = t, this.modules_dialog = !0 }, sections_modules(e) { let s = [], t = this.dropout.sections; for (let i = 0; i < t.length; i++)if (t[i].sectionid == e) { t[i].modules && (s = t[i].modules); break } return s }, get_user_module(e) { let s, t = this.selected_user.cms.modules; for (let i = 0; i < t.length; i++)if (t[i].id = Number(t[i].id), t[i].id == e) { s = t[i]; break } return s }, table_headers() { return [{ text: "", value: "id", align: "center", sortable: !1 }, { text: this.strings.thead_name, value: "firstname" }, { text: this.strings.thead_lastname, value: "lastname" }, { text: this.strings.thead_progress, value: "progress_percentage" }] }, get_picture_url: e => `${M.cfg.wwwroot}/user/pix.php?file=/${e}/f1.jpg`, get_user_fullname() { return `${this.selected_user.firstname} ${this.selected_user.lastname}` }, get_username() { return `@${this.selected_user.username}` }, see_profile() { let e = this.selected_user.id, s = M.cfg.wwwroot + "/user/view.php?id=" + e + "&course=" + c.courseid; window.open(s) }, get_progress_message() { let e = this.strings.modules_label, s = this.strings.finisheds_label; return 1 == this.selected_user.cms.complete && (e = this.strings.module_label, s = this.strings.finished_label), `${this.selected_user.cms.complete} ${e} ${s} ${this.strings.of_conector} ${this.dropout.total_cms}` }, get_progress_percentage() { return `${this.selected_user.progress_percentage} %` }, get_student_grade() { let e = this.selected_user.coursegrade; return e.finalgrade = Number(e.finalgrade), e.maxgrade = Number(e.maxgrade), `${this.isInt(e.finalgrade) ? e.finalgrade : e.finalgrade.toFixed(2)}/${this.isInt(e.maxgrade) ? e.maxgrade : e.maxgrade.toFixed(2)}` }, get_sendmail_user_text() { return `${this.strings.send_mail_to_user} ${this.selected_user.firstname}` }, sendmail(e) { this.strings.email_strings.subject = this.strings.email_strings.subject_prefix, this.modulename = "course", this.moduleid = this.courseid, 1 == e ? (this.email_object_name = this.selected_user.username, this.email_users = [this.selected_user], this.email_dialog = !0) : 2 == e && (isNaN(parseInt(this.selected_cluster.number)) ? this.email_object_name = "unknown" : this.email_object_name = parseInt(this.selected_cluster.number) + 1, this.email_users = this.cluster_users, this.email_dialog = !0) }, update_email_dialog(e) { this.email_dialog = e }, update_modules_dialog(e) { this.modules_dialog = e }, isInt: e => e % 1 == 0, generate_dropout_data() { this.loading = !0, this.errors = []; let e = { action: "dropoutdata", userid: this.userid, courseid: this.courseid, profile: this.render_has }; return t({ method: "get", url: M.cfg.wwwroot + "/local/notemyprogress/ajax.php", params: e }).then(e => { 200 == e.status && e.data.ok ? location.reload() : this.error_messages.push(this.strings.error_network) }).catch(e => { this.errors.push(this.strings.api_error_network) }).finally(() => { this.loading = !1 }), this.data }, open_chart_help(e) { let s = [], t = "", i = "", o = "", r = ""; "group_students" == e ? (s.push({ title: this.strings.group_students_help_title, description: this.strings.group_students_help_description_p1 }), s.push({ description: this.strings.group_students_help_description_p2 }), t = "viewed", i = "help", o = "group_student", r = "Help section that provides information about the group students section", this.addLogsIntoDB(t, o, i, r)) : "modules_access" == e ? (s.push({ title: this.strings.modules_access_help_title, description: this.strings.modules_access_help_description_p1 }), s.push({ description: this.strings.modules_access_help_description_p2 }), s.push({ description: this.strings.modules_access_help_description_p3 }), t = "viewed", i = "help", o = "modules_access", r = "Help section that provides information about the modules access chart", this.addLogsIntoDB(t, o, i, r)) : "week_modules" == e ? (s.push({ title: this.strings.week_modules_help_title, description: this.strings.week_modules_help_description_p1 }), s.push({ description: this.strings.week_modules_help_description_p2 }), s.push({ description: this.strings.week_modules_help_description_p3 }), t = "viewed", i = "help", o = "week_modules", r = "Help section that provides information about the week modules chart", this.addLogsIntoDB(t, o, i, r)) : "sessions_evolution" == e ? (s.push({ title: this.strings.sessions_evolution_help_title, description: this.strings.sessions_evolution_help_description_p1 }), s.push({ description: this.strings.sessions_evolution_help_description_p2 }), s.push({ description: this.strings.sessions_evolution_help_description_p3 }), t = "viewed", i = "help", o = "sessions_evolution", r = "Help section that provides information about the sessions evolution chart", this.addLogsIntoDB(t, o, i, r)) : "user_grades" == e && (s.push({ title: this.strings.user_grades_help_title, description: this.strings.user_grades_help_description_p1 }), s.push({ description: this.strings.user_grades_help_description_p2 }), s.push({ description: this.strings.user_grades_help_description_p3 }), t = "viewed", i = "help", o = "user_grades", r = "Help section that provides information about the user grades chart", this.addLogsIntoDB(t, o, i, r)), this.help_contents = s, this.help_contents.length && (this.help_dialog = !0) }, update_help_dialog(e) { this.help_dialog = e }, get_timezone() { return `${this.strings.ss_change_timezone} ${this.timezone}` }, setGraphicsEventListeners() { let e = document.querySelectorAll(".highcharts-container"); e[0].id = "courseRessources", e[1].id = "weekRessources", e[2].id = "sessionsAndInvestedTime", e[3].id = "qualifications", e.forEach(e => { e.addEventListener("mouseenter", c.addLogsViewGraphic) }) }, addLogsViewGraphic(e) { event.stopPropagation(); var s = "", t = "", i = "", o = ""; switch (e.target.id) { case "courseRessources": s = "viewed", t = c.selected_user.username + "_modules_access", i = "chart", o = "Bar chart that shows"; break; case "weekRessources": s = "viewed", t = c.selected_user.username + "_week_modules", i = "chart", o = "Chart showing"; break; case "sessionsAndInvestedTime": s = "viewed", t = c.selected_user.username + "_sessions_evolution", i = "chart", o = "Chart showing "; break; case "qualifications": s = "viewed", t = c.selected_user.username + "_user_grades", i = "chart", o = "Chart showing "; break; default: s = "viewed", t = "", i = "chart", o = "A chart" }c.addLogsIntoDB(s, t, i, o) }, addLogsIntoDB(e, s, i, r) { let l = { courseid: o.courseid, userid: o.userid, action: "addLogs", sectionname: "DROPOUT", actiontype: e, objectType: i, objectName: s, currentUrl: document.location.href, objectDescription: r }; t({ method: "get", url: M.cfg.wwwroot + "/local/notemyprogress/ajax.php", params: l }).then(e => { 200 == e.status && e.data.ok }).catch(e => { }) } } }) } } });
+define([
+  "local_notemyprogress/vue",
+  "local_notemyprogress/vuetify",
+  "local_notemyprogress/axios",
+  "local_notemyprogress/moment",
+  "local_notemyprogress/momenttimezone",
+  "local_notemyprogress/pagination",
+  "local_notemyprogress/chartdynamic",
+  "local_notemyprogress/pageheader",
+  "local_notemyprogress/emailform",
+  "local_notemyprogress/modulesform",
+  "local_notemyprogress/helpdialog",
+], function (e, s, t, i, o, r, l, n, a, d, u) {
+  "use strict";
+  return {
+    init: function (o) {
+      e.use(s),
+        e.component("pagination", r),
+        e.component("chart", l),
+        e.component("pageheader", n),
+        e.component("emailform", a),
+        e.component("modulesform", d),
+        e.component("helpdialog", u);
+      let c = new e({
+        delimiters: ["[[", "]]"],
+        el: "#dropout",
+        vuetify: new s(),
+        data: () => ({
+          strings: o.strings,
+          groups: o.groups,
+          userid: o.userid,
+          courseid: o.courseid,
+          timezone: o.timezone,
+          render_has: o.profile_render,
+          loading: !1,
+          errors: [],
+          pages: o.pages,
+          dropout: o.dropout,
+          modules_access_colors: o.modules_access_colors,
+          week_modules_colors: o.week_modules_colors,
+          sessions_evolution_colors: o.sessions_evolution_colors,
+          user_grades_colors: o.user_grades_colors,
+          selected_cluster: [],
+          cluster_users: [],
+          selected_user: null,
+          search: null,
+          week_modules_chart_data: [],
+          week_modules_chart_categories: [],
+          selected_sections: [],
+          sessions_evolution_data: [],
+          user_grades_categories: [],
+          user_grades_data: [],
+          modules_dialog: !1,
+          email_users: [],
+          email_dialog: !1,
+          modulename: "",
+          moduleid: !1,
+          email_strings: o.strings.email_strings,
+          help_dialog: !1,
+          help_contents: [],
+          email_object_name: "",
+        }),
+        beforeMount() {
+          this.dropout.clusters.length &&
+            (this.set_modules_in_sections(),
+            (this.selected_cluster = this.dropout.clusters[0]),
+            this.change_cluster(this.selected_cluster.users));
+        },
+        mounted() {
+          (document.querySelector("#sessions-loader").style.display = "none"),
+            (document.querySelector("#dropout").style.display = "block"),
+            setTimeout(function () {
+              c.setGraphicsEventListeners();
+            });
+        },
+        computed: {},
+        methods: {
+          get_help_content() {
+            let e = [];
+            return (
+              e.push({
+                title: this.strings.section_help_title,
+                description: this.strings.section_help_description,
+              }),
+              e
+            );
+          },
+          set_modules_in_sections() {
+            let e = new Map(),
+              s = 0;
+            this.dropout.cms.forEach((t) => {
+              (s = Number(t.section)),
+                e.has(s) ? e.get(s).push(t) : e.set(s, [t]);
+            }),
+              this.dropout.sections.forEach((t) => {
+                (s = Number(t.sectionid)),
+                  (t.sectionid = s),
+                  (t.modules = e.has(s) ? e.get(s) : []);
+              });
+          },
+          change_cluster(e) {
+            let s = [];
+            if (
+              (this.dropout.users.forEach((t) => {
+                e.includes(t.id) && s.push(t);
+              }),
+              s.length)
+            ) {
+              this.cluster_users = s;
+              let e = this.cluster_users[0];
+              isNaN(parseInt(this.selected_cluster.number)) ||
+                this.addLogsIntoDB(
+                  "viewed",
+                  "group_" + parseInt(this.selected_cluster.number) + 1,
+                  "group",
+                  "Viewed a group"
+                ),
+                this.change_user(e);
+            } else (this.cluster_users = []), (this.selected_user = null);
+          },
+          change_user(e) {
+            let s = this.selected_user;
+            (this.selected_user = e),
+              this.calculate_week_modules_access(),
+              this.calculate_sessions_evolution(),
+              this.calculate_user_grades(),
+              null != s &&
+                s.username != this.selected_user.username &&
+                this.addLogsIntoDB(
+                  "viewed",
+                  "user_" + e.username,
+                  "user_details",
+                  "Viewed the " +
+                    e.username +
+                    " details (charts, statistics, etc.)"
+                );
+          },
+          calculate_week_modules_access() {
+            let e,
+              s = 0,
+              t = 0,
+              i = 0,
+              o = 0,
+              r = [],
+              l = [],
+              n = [],
+              a = [];
+            this.dropout.weeks.forEach((d) => {
+              (i = 0),
+                (o = 0),
+                d.sections.forEach((l) => {
+                  (s = Number(l.sectionid)),
+                    (l.sectionid = s),
+                    (r = this.sections_modules(s)).forEach((s) => {
+                      (t = Number(s.id)),
+                        (s.id = t),
+                        (e = this.selected_user.cms.modules[`cm${s.id}`]) &&
+                          (e.complete && i++, e.viewed && o++);
+                    });
+                }),
+                l.push(i),
+                n.push(o),
+                a.push(`${d.name} ${d.position + 1}`);
+            }),
+              (this.week_modules_chart_categories = a),
+              (this.week_modules_chart_data = [
+                {
+                  name: this.strings.modules_access_chart_series_viewed,
+                  data: n,
+                },
+                {
+                  name: this.strings.modules_access_chart_series_complete,
+                  data: l,
+                },
+              ]);
+          },
+          calculate_sessions_evolution() {
+            let e = [],
+              s = [],
+              t = 0,
+              i = 0,
+              o = 0,
+              r = 0;
+            this.selected_user.sessions.forEach((l) => {
+              (r = 1e3 * Number(l.start)),
+                (o = Number(l.duration) / 60),
+                (t += o),
+                i++,
+                e.push({ x: r, y: i }),
+                s.push({ x: r, y: t });
+            }),
+              (this.sessions_evolution_data = [
+                {
+                  name: this.strings.sessions_evolution_chart_legend1,
+                  yAxis: 0,
+                  data: e,
+                },
+                {
+                  name: this.strings.sessions_evolution_chart_legend2,
+                  yAxis: 1,
+                  data: s,
+                },
+              ]);
+          },
+          calculate_user_grades() {
+            let e = [],
+              s = [],
+              t = [],
+              i = 0,
+              o = this.selected_user.firstname;
+            this.selected_user.gradeitems &&
+              (this.selected_user.gradeitems.forEach((o) => {
+                (i = (100 * Number(o.finalgrade)) / Number(o.grademax)),
+                  e.push(o.itemname),
+                  s.push(o.average_percentage),
+                  t.push(i);
+              }),
+              (this.user_grades_data = [
+                { name: o, data: t },
+                { name: this.strings.user_grades_chart_legend, data: s },
+              ]),
+              (this.user_grades_categories = e));
+          },
+          build_modules_access_chart() {
+            let e = new Object();
+            return (
+              (e.chart = {
+                type: "bar",
+                backgroundColor: null,
+                style: { fontFamily: "poppins" },
+              }),
+              (e.title = { text: null }),
+              (e.colors = this.modules_access_colors),
+              (e.xAxis = { type: "category" }),
+              (e.yAxis = {
+                allowDecimals: !1,
+                title: { enabled: !0, text: this.strings.modules_amount },
+              }),
+              (e.tooltip = {
+                shared: !0,
+                formatter: function () {
+                  let e =
+                    1 == this.y
+                      ? c.strings.module_label
+                      : c.strings.modules_label;
+                  return (
+                    "<b>" +
+                    this.points[0].key +
+                    "</b>: " +
+                    this.y +
+                    " " +
+                    e +
+                    "<br/><i>" +
+                    c.strings.modules_details +
+                    "<i/>"
+                  );
+                },
+              }),
+              (e.plotOptions = {
+                series: {
+                  cursor: "pointer",
+                  point: {
+                    events: {
+                      click: function () {
+                        c.open_modules_modal(this.x),
+                          c.addLogsIntoDB(
+                            "viewed",
+                            c.selected_user.username + "_module_access",
+                            "chart_details",
+                            "Provide details informations about the consulted resources"
+                          );
+                      },
+                    },
+                  },
+                },
+              }),
+              (e.legend = { enabled: !1 }),
+              (e.series = [
+                {
+                  colorByPoint: !0,
+                  data: [
+                    {
+                      name: this.strings.modules_access_chart_series_viewed,
+                      y: this.selected_user.cms.viewed,
+                    },
+                    {
+                      name: this.strings.modules_access_chart_series_complete,
+                      y: this.selected_user.cms.complete,
+                    },
+                    {
+                      name: this.strings.modules_access_chart_series_total,
+                      y: this.selected_user.cms.total,
+                    },
+                  ],
+                },
+              ]),
+              e
+            );
+          },
+          build_week_modules_chart() {
+            let e = new Object();
+            return (
+              (e.chart = {
+                type: "column",
+                backgroundColor: null,
+                style: { fontFamily: "poppins" },
+              }),
+              (e.title = { text: null }),
+              (e.colors = this.week_modules_colors),
+              (e.xAxis = {
+                categories: this.week_modules_chart_categories,
+                title: { text: null },
+                crosshair: !0,
+              }),
+              (e.yAxis = {
+                allowDecimals: !1,
+                title: { text: this.strings.modules_amount },
+              }),
+              (e.tooltip = {
+                shared: !0,
+                useHTML: !0,
+                formatter: function () {
+                  let e = "",
+                    s = "";
+                  if (this.points[0]) {
+                    let s =
+                        1 == this.points[0].y
+                          ? c.strings.module_label
+                          : c.strings.modules_label,
+                      t = this.points[0].series.name;
+                    e = `<b style="color: ${this.points[0].color}">${t}: </b>\n                                            ${this.points[0].y} ${s}<br/>`;
+                  }
+                  if (this.points[1]) {
+                    let e =
+                        1 == this.points[1].y
+                          ? c.strings.module_label
+                          : c.strings.modules_label,
+                      t = this.points[1].series.name;
+                    s = `<b style="color: ${this.points[1].color}">${t}: </b>\n                                            ${this.points[1].y} ${e}<br/>`;
+                  }
+                  return `${this.x} <br/> ${e}${s} <i>${c.strings.modules_details}<i/>`;
+                },
+              }),
+              (e.plotOptions = {
+                series: {
+                  cursor: "pointer",
+                  point: {
+                    events: {
+                      click: function () {
+                        c.open_modules_modal(this.colorIndex, this.x),
+                          c.addLogsIntoDB(
+                            "viewed",
+                            c.selected_user.username + "_week_modules",
+                            "chart_details",
+                            "Provide details informations about the consulted resources"
+                          );
+                      },
+                    },
+                  },
+                },
+              }),
+              (e.series = this.week_modules_chart_data),
+              e
+            );
+          },
+          build_sessions_evolution_chart() {
+            let e = new Object();
+            return (
+              (e.chart = {
+                zoomType: "x",
+                backgroundColor: null,
+                style: { fontFamily: "poppins" },
+              }),
+              (e.title = { text: null }),
+              (e.colors = this.sessions_evolution_colors),
+              (e.xAxis = { type: "datetime" }),
+              (e.yAxis = [
+                {
+                  allowDecimals: !1,
+                  title: { text: this.strings.sessions_evolution_chart_xaxis1 },
+                },
+                {
+                  title: { text: this.strings.sessions_evolution_chart_xaxis2 },
+                  opposite: !0,
+                },
+              ]),
+              (e.tooltip = {
+                shared: !0,
+                useHTML: !0,
+                formatter: function () {
+                  return `<small>${c.calculate_timezone_date_string(
+                    this.x
+                  )}</small><br/>${
+                    this.points[0]
+                      ? c.get_sessions_evolution_tooltip(this.points[0])
+                      : ""
+                  }${
+                    this.points[1]
+                      ? c.get_sessions_evolution_tooltip(this.points[1])
+                      : ""
+                  }`;
+                },
+              }),
+              (e.series = this.sessions_evolution_data),
+              e
+            );
+          },
+          build_user_grades_chart() {
+            let e = new Object();
+            return (
+              (e.chart = {
+                type: "column",
+                backgroundColor: null,
+                style: { fontFamily: "poppins" },
+              }),
+              (e.title = { text: null }),
+              (e.colors = this.user_grades_colors),
+              (e.xAxis = {
+                crosshair: !0,
+                categories: this.user_grades_categories,
+              }),
+              (e.yAxis = {
+                allowDecimals: !1,
+                max: 100,
+                labels: { format: "{value} %" },
+                title: { text: this.strings.user_grades_chart_yaxis },
+              }),
+              (e.tooltip = {
+                shared: !0,
+                useHTML: !0,
+                formatter: function () {
+                  let e = this.x,
+                    s = this.points[0].point.x,
+                    t = c.selected_user.gradeitems[s],
+                    i = `<small>${e}</small><br/>`,
+                    o = `<i>(${c.strings.user_grades_chart_view_activity})</i><br/>`,
+                    r = "";
+                  return (
+                    (r =
+                      0 == t.gradecount
+                        ? c.strings.user_grades_chart_tooltip_no_graded
+                        : `${
+                            this.points[0]
+                              ? c.get_user_grades_tooltip(this.points[0], t)
+                              : ""
+                          }${
+                            this.points[1]
+                              ? c.get_user_grades_tooltip(this.points[1], t)
+                              : ""
+                          }${o}`),
+                    `${i}${r}`
+                  );
+                },
+              }),
+              (e.plotOptions = {
+                series: {
+                  cursor: "pointer",
+                  point: {
+                    events: {
+                      click: function () {
+                        let e = this.x,
+                          s = c.selected_user.gradeitems[e],
+                          t = `${M.cfg.wwwroot}/mod/${s.itemmodule}/view.php?id=${s.coursemoduleid}`;
+                        window.open(t, "_blank"),
+                          c.addLogsIntoDB(
+                            "viewed",
+                            c.selected_user.username + "_user_grades",
+                            "chart_details",
+                            "Provide informations about a certain test"
+                          );
+                      },
+                    },
+                  },
+                },
+              }),
+              (e.series = this.user_grades_data),
+              e
+            );
+          },
+          get_sessions_evolution_tooltip(e) {
+            let s,
+              t,
+              i,
+              o,
+              r,
+              l = "";
+            return (
+              0 == e.colorIndex
+                ? ((t =
+                    1 == (s = e.y)
+                      ? c.strings.session_text
+                      : c.strings.sessions_text),
+                  (i = e.series.name),
+                  (l = `<b style="color: ${e.color}">${i}: </b>\n                                     ${s} ${t}<br/>`))
+                : ((o = e.series.name),
+                  (r = this.convert_time(60 * e.y)),
+                  (l = `<b style="color: ${e.color}">${o}: </b>\n                                    ${r}<br/>`)),
+              l
+            );
+          },
+          get_user_grades_tooltip(e, s) {
+            let t = e.series.name,
+              i = 0,
+              o = Number(s.finalgrade),
+              r = Number(s.average),
+              l = Number(s.grademax);
+            return (
+              (l = this.isInt(l) ? l : l.toFixed(2)),
+              (i =
+                0 == e.colorIndex
+                  ? this.isInt(o)
+                    ? o
+                    : o.toFixed(2)
+                  : this.isInt(r)
+                  ? r
+                  : r.toFixed(2)),
+              `<b style="color: ${e.color}">${t}: </b>\n                                     ${i}/${l}<br/>`
+            );
+          },
+          calculate_timezone_date_string(e) {
+            let s, t, o, r, l;
+            if (i.tz.zone(this.timezone))
+              (t = (s = i(e).tz(this.timezone)).day()),
+                (o = s.date()),
+                (r = s.month()),
+                (l = s.format("HH:mm:ss"));
+            else {
+              let i = Intl.DateTimeFormat().resolvedOptions().timeZone;
+              (t = (s = new Date(e)).getDay()),
+                (o = s.getDate()),
+                (r = s.getMonth()),
+                (l = `${s.getHours()}:${s.getMinutes()}:${s.getSeconds()} (${i})`);
+            }
+            return `${(t = this.strings.chart.weekdays[t])}, ${(r =
+              this.strings.chart.shortMonths[r])} ${o}, ${l}`;
+          },
+          convert_time(e) {
+            e *= 60;
+            let s,
+              t = this.strings.hours_short,
+              i = this.strings.minutes_short,
+              o = this.strings.seconds_short,
+              r = Math.floor(e / 3600),
+              l = Math.floor((e % 3600) / 60),
+              n = Math.floor(e % 60);
+            return (s =
+              r >= 1
+                ? l >= 1
+                  ? `${r}${t} ${l}${i}`
+                  : `${r}${t}`
+                : l >= 1
+                ? n >= 1
+                  ? `${l}${i} ${n}${o}`
+                  : `${l}${i}`
+                : `${n}${o}`);
+          },
+          open_modules_modal(e, s) {
+            let t = this.dropout.sections;
+            if (Number.isInteger(s)) {
+              let e;
+              (t = []),
+                this.dropout.weeks[s].sections.forEach((s) => {
+                  (e = {
+                    sectionid: s.sectionid,
+                    name: s.name,
+                    modules: this.sections_modules(s.sectionid),
+                  }),
+                    t.push(e);
+                });
+            }
+            t.forEach((e) => {
+              e.modules.forEach((e) => {
+                (e.complete = !1), (e.viewed = !1), (e.interactions = 0);
+                let s = this.selected_user.cms.modules[`cm${e.id}`];
+                s &&
+                  ((e.complete = s.complete),
+                  (e.viewed = s.viewed),
+                  (e.interactions = s.interactions));
+              });
+            }),
+              (this.selected_sections = t),
+              (this.modules_dialog = !0);
+          },
+          sections_modules(e) {
+            let s = [],
+              t = this.dropout.sections;
+            for (let i = 0; i < t.length; i++)
+              if (t[i].sectionid == e) {
+                t[i].modules && (s = t[i].modules);
+                break;
+              }
+            return s;
+          },
+          get_user_module(e) {
+            let s,
+              t = this.selected_user.cms.modules;
+            for (let i = 0; i < t.length; i++)
+              if (((t[i].id = Number(t[i].id)), t[i].id == e)) {
+                s = t[i];
+                break;
+              }
+            return s;
+          },
+          table_headers() {
+            return [
+              { text: "", value: "id", align: "center", sortable: !1 },
+              { text: this.strings.thead_name, value: "firstname" },
+              { text: this.strings.thead_lastname, value: "lastname" },
+              {
+                text: this.strings.thead_progress,
+                value: "progress_percentage",
+              },
+            ];
+          },
+          get_picture_url: (e) =>
+            `${M.cfg.wwwroot}/user/pix.php?file=/${e}/f1.jpg`,
+          get_user_fullname() {
+            return `${this.selected_user.firstname} ${this.selected_user.lastname}`;
+          },
+          get_username() {
+            return `@${this.selected_user.username}`;
+          },
+          see_profile() {
+            let e = this.selected_user.id,
+              s =
+                M.cfg.wwwroot +
+                "/user/view.php?id=" +
+                e +
+                "&course=" +
+                c.courseid;
+            window.open(s);
+          },
+          get_progress_message() {
+            let e = this.strings.modules_label,
+              s = this.strings.finisheds_label;
+            return (
+              1 == this.selected_user.cms.complete &&
+                ((e = this.strings.module_label),
+                (s = this.strings.finished_label)),
+              `${this.selected_user.cms.complete} ${e} ${s} ${this.strings.of_conector} ${this.dropout.total_cms}`
+            );
+          },
+          get_progress_percentage() {
+            return `${this.selected_user.progress_percentage} %`;
+          },
+          get_student_grade() {
+            let e = this.selected_user.coursegrade;
+            return (
+              (e.finalgrade = Number(e.finalgrade)),
+              (e.maxgrade = Number(e.maxgrade)),
+              `${
+                this.isInt(e.finalgrade)
+                  ? e.finalgrade
+                  : e.finalgrade.toFixed(2)
+              }/${this.isInt(e.maxgrade) ? e.maxgrade : e.maxgrade.toFixed(2)}`
+            );
+          },
+          get_sendmail_user_text() {
+            return `${this.strings.send_mail_to_user} ${this.selected_user.firstname}`;
+          },
+          sendmail(e) {
+            (this.strings.email_strings.subject =
+              this.strings.email_strings.subject_prefix),
+              (this.modulename = "course"),
+              (this.moduleid = this.courseid),
+              1 == e
+                ? ((this.email_object_name = this.selected_user.username),
+                  (this.email_users = [this.selected_user]),
+                  (this.email_dialog = !0))
+                : 2 == e &&
+                  (isNaN(parseInt(this.selected_cluster.number))
+                    ? (this.email_object_name = "unknown")
+                    : (this.email_object_name =
+                        parseInt(this.selected_cluster.number) + 1),
+                  (this.email_users = this.cluster_users),
+                  (this.email_dialog = !0));
+          },
+          update_email_dialog(e) {
+            this.email_dialog = e;
+          },
+          update_modules_dialog(e) {
+            this.modules_dialog = e;
+          },
+          isInt: (e) => e % 1 == 0,
+          generate_dropout_data() {
+            (this.loading = !0), (this.errors = []);
+            let e = {
+              action: "dropoutdata",
+              userid: this.userid,
+              courseid: this.courseid,
+              profile: this.render_has,
+            };
+            return (
+              t({
+                method: "get",
+                url: M.cfg.wwwroot + "/local/notemyprogress/ajax.php",
+                params: e,
+              })
+                .then((e) => {
+                  200 == e.status && e.data.ok
+                    ? location.reload()
+                    : this.error_messages.push(this.strings.error_network);
+                })
+                .catch((e) => {
+                  this.errors.push(this.strings.api_error_network);
+                })
+                .finally(() => {
+                  this.loading = !1;
+                }),
+              this.data
+            );
+          },
+          open_chart_help(e) {
+            let s = [],
+              t = "",
+              i = "",
+              o = "",
+              r = "";
+            "group_students" == e
+              ? (s.push({
+                  title: this.strings.group_students_help_title,
+                  description: this.strings.group_students_help_description_p1,
+                }),
+                s.push({
+                  description: this.strings.group_students_help_description_p2,
+                }),
+                (t = "viewed"),
+                (i = "help"),
+                (o = "group_student"),
+                (r =
+                  "Help section that provides information about the group students section"),
+                this.addLogsIntoDB(t, o, i, r))
+              : "modules_access" == e
+              ? (s.push({
+                  title: this.strings.modules_access_help_title,
+                  description: this.strings.modules_access_help_description_p1,
+                }),
+                s.push({
+                  description: this.strings.modules_access_help_description_p2,
+                }),
+                s.push({
+                  description: this.strings.modules_access_help_description_p3,
+                }),
+                (t = "viewed"),
+                (i = "help"),
+                (o = "modules_access"),
+                (r =
+                  "Help section that provides information about the modules access chart"),
+                this.addLogsIntoDB(t, o, i, r))
+              : "week_modules" == e
+              ? (s.push({
+                  title: this.strings.week_modules_help_title,
+                  description: this.strings.week_modules_help_description_p1,
+                }),
+                s.push({
+                  description: this.strings.week_modules_help_description_p2,
+                }),
+                s.push({
+                  description: this.strings.week_modules_help_description_p3,
+                }),
+                (t = "viewed"),
+                (i = "help"),
+                (o = "week_modules"),
+                (r =
+                  "Help section that provides information about the week modules chart"),
+                this.addLogsIntoDB(t, o, i, r))
+              : "sessions_evolution" == e
+              ? (s.push({
+                  title: this.strings.sessions_evolution_help_title,
+                  description:
+                    this.strings.sessions_evolution_help_description_p1,
+                }),
+                s.push({
+                  description:
+                    this.strings.sessions_evolution_help_description_p2,
+                }),
+                s.push({
+                  description:
+                    this.strings.sessions_evolution_help_description_p3,
+                }),
+                (t = "viewed"),
+                (i = "help"),
+                (o = "sessions_evolution"),
+                (r =
+                  "Help section that provides information about the sessions evolution chart"),
+                this.addLogsIntoDB(t, o, i, r))
+              : "user_grades" == e &&
+                (s.push({
+                  title: this.strings.user_grades_help_title,
+                  description: this.strings.user_grades_help_description_p1,
+                }),
+                s.push({
+                  description: this.strings.user_grades_help_description_p2,
+                }),
+                s.push({
+                  description: this.strings.user_grades_help_description_p3,
+                }),
+                (t = "viewed"),
+                (i = "help"),
+                (o = "user_grades"),
+                (r =
+                  "Help section that provides information about the user grades chart"),
+                this.addLogsIntoDB(t, o, i, r)),
+              (this.help_contents = s),
+              this.help_contents.length && (this.help_dialog = !0);
+          },
+          update_help_dialog(e) {
+            this.help_dialog = e;
+          },
+          get_timezone() {
+            return `${this.strings.ss_change_timezone} ${this.timezone}`;
+          },
+          setGraphicsEventListeners() {
+            let e = document.querySelectorAll(".highcharts-container");
+            (e[0].id = "courseRessources"),
+              (e[1].id = "weekRessources"),
+              (e[2].id = "sessionsAndInvestedTime"),
+              (e[3].id = "qualifications"),
+              e.forEach((e) => {
+                e.addEventListener("mouseenter", c.addLogsViewGraphic);
+              });
+          },
+          addLogsViewGraphic(e) {
+            event.stopPropagation();
+            var s = "",
+              t = "",
+              i = "",
+              o = "";
+            switch (e.target.id) {
+              case "courseRessources":
+                (s = "viewed"),
+                  (t = c.selected_user.username + "_modules_access"),
+                  (i = "chart"),
+                  (o = "Bar chart that shows");
+                break;
+              case "weekRessources":
+                (s = "viewed"),
+                  (t = c.selected_user.username + "_week_modules"),
+                  (i = "chart"),
+                  (o = "Chart showing");
+                break;
+              case "sessionsAndInvestedTime":
+                (s = "viewed"),
+                  (t = c.selected_user.username + "_sessions_evolution"),
+                  (i = "chart"),
+                  (o = "Chart showing ");
+                break;
+              case "qualifications":
+                (s = "viewed"),
+                  (t = c.selected_user.username + "_user_grades"),
+                  (i = "chart"),
+                  (o = "Chart showing ");
+                break;
+              default:
+                (s = "viewed"), (t = ""), (i = "chart"), (o = "A chart");
+            }
+            c.addLogsIntoDB(s, t, i, o);
+          },
+          addLogsIntoDB(e, s, i, r) {
+            let l = {
+              courseid: o.courseid,
+              userid: o.userid,
+              action: "addLogs",
+              sectionname: "DROPOUT",
+              actiontype: e,
+              objectType: i,
+              objectName: s,
+              currentUrl: document.location.href,
+              objectDescription: r,
+            };
+            t({
+              method: "get",
+              url: M.cfg.wwwroot + "/local/notemyprogress/ajax.php",
+              params: l,
+            })
+              .then((e) => {
+                200 == e.status && e.data.ok;
+              })
+              .catch((e) => {});
+          },
+        },
+      });
+    },
+  };
+});
 //# sourceMappingURL=dropout.min.js.map
diff --git a/notemyprogress/amd/build/dropout.min.js.map b/notemyprogress/amd/build/dropout.min.js.map
index 73aa092c28076659366ce944e99a776aebab28c1..dd5e2ef4be919dac6aca21f24bb660ec89237c0a 100644
--- a/notemyprogress/amd/build/dropout.min.js.map
+++ b/notemyprogress/amd/build/dropout.min.js.map
@@ -1 +1,343 @@
-{"version":3,"sources":["../src/dropout.js"],"names":["define","Vue","Vuetify","Axios","Moment","MomentTimezone","Pagination","ChartDynamic","PageHeader","EmailForm","ModulesForm","HelpDialog","init","content","use","component","vue","delimiters","el","vuetify","data","strings","groups","userid","courseid","timezone","render_has","profile_render","loading","errors","pages","dropout","modules_access_colors","week_modules_colors","sessions_evolution_colors","user_grades_colors","selected_cluster","cluster_users","selected_user","search","week_modules_chart_data","week_modules_chart_categories","selected_sections","sessions_evolution_data","user_grades_categories","user_grades_data","modules_dialog","email_users","email_dialog","modulename","moduleid","email_strings","help_dialog","help_contents","beforeMount","clusters","length","set_modules_in_sections","change_cluster","users","mounted","document","querySelector","style","display","computed","methods","get_help_content","contents","title","section_help_title","description","section_help_description","sectionsMap","Map","sectionid","cms","forEach","cm","section","has","set","get","push","sections","modules","selected_users","user","includes","id","change_user","calculate_week_modules_access","calculate_sessions_evolution","calculate_user_grades","weekcompletecms","weekviewedcms","completecms","viewedcms","categories","user_cm","weeks","week","sections_modules","module","complete","viewed","name","position","modules_access_chart_series_viewed","modules_access_chart_series_complete","sessions_data","time_data","sumtime","sumsessions","time","timestamp","sessions","session","start","duration","x","y","sessions_evolution_chart_legend1","yAxis","sessions_evolution_chart_legend2","course_grades","user_grades","user_grade","user_name","firstname","gradeitems","item","finalgrade","grademax","itemname","average_percentage","user_grades_chart_legend","build_modules_access_chart","chart","type","backgroundColor","fontFamily","text","colors","xAxis","allowDecimals","enabled","modules_amount","tooltip","shared","formatter","module_text","module_label","modules_label","points","key","modules_details","plotOptions","series","cursor","point","events","click","open_modules_modal","legend","colorByPoint","modules_access_chart_series_total","total","build_week_modules_chart","crosshair","useHTML","text1","text2","module_text_viewed","viewed_series_name","color","module_text_completed","completed_series_name","colorIndex","build_sessions_evolution_chart","zoomType","sessions_evolution_chart_xaxis1","sessions_evolution_chart_xaxis2","opposite","date_label","calculate_timezone_date_string","get_sessions_evolution_tooltip","build_user_grades_chart","max","labels","format","user_grades_chart_yaxis","header","footer","user_grades_chart_view_activity","body","gradecount","user_grades_chart_tooltip_no_graded","get_user_grades_tooltip","url","M","cfg","wwwroot","itemmodule","coursemoduleid","window","open","sessions_suffix","sessions_prefix","time_prefix","session_text","sessions_text","convert_time","serie_name","average","isInt","toFixed","dat","weekday","monthday","month","tz","zone","day","date","Intl","DateTimeFormat","resolvedOptions","timeZone","Date","getDay","getDate","getMonth","getHours","getMinutes","getSeconds","weekdays","shortMonths","h","hours_short","m","minutes_short","s","seconds_short","hours","Math","floor","minutes","seconds","weekposition","Number","isInteger","interactions","i","get_user_module","table_headers","headers","value","align","sortable","thead_name","thead_lastname","thead_progress","get_picture_url","get_user_fullname","lastname","get_username","username","see_profile","get_progress_message","finished_label","finisheds_label","of_conector","total_cms","get_progress_percentage","progress_percentage","get_student_grade","grade","coursegrade","maxgrade","student_grade","max_grade","get_sendmail_user_text","send_mail_to_user","sendmail","subject","subject_prefix","update_email_dialog","update_modules_dialog","n","generate_dropout_data","action","profile","method","params","then","response","status","ok","location","reload","error_messages","error_network","catch","api_error_network","finally","open_chart_help","group_students_help_title","group_students_help_description_p1","group_students_help_description_p2","modules_access_help_title","modules_access_help_description_p1","modules_access_help_description_p2","modules_access_help_description_p3","week_modules_help_title","week_modules_help_description_p1","week_modules_help_description_p2","week_modules_help_description_p3","sessions_evolution_help_title","sessions_evolution_help_description_p1","sessions_evolution_help_description_p2","sessions_evolution_help_description_p3","user_grades_help_title","user_grades_help_description_p1","user_grades_help_description_p2","user_grades_help_description_p3","update_help_dialog","get_timezone","information","ss_change_timezone"],"mappings":"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","sourcesContent":["define([\"local_notemyprogress/vue\",\r\n        \"local_notemyprogress/vuetify\",\r\n        \"local_notemyprogress/axios\",\r\n        \"local_notemyprogress/moment\",\r\n        \"local_notemyprogress/momenttimezone\",\r\n        \"local_notemyprogress/pagination\",\r\n        \"local_notemyprogress/chartdynamic\",\r\n        \"local_notemyprogress/pageheader\",\r\n        \"local_notemyprogress/emailform\",\r\n        \"local_notemyprogress/modulesform\",\r\n        \"local_notemyprogress/helpdialog\",\r\n    ],\r\n    function(Vue, Vuetify, Axios, Moment, MomentTimezone, Pagination, ChartDynamic, PageHeader, EmailForm, ModulesForm, HelpDialog) {\r\n        \"use strict\";\r\n\r\n        function init(content) {\r\n            // console.log(content);\r\n            Vue.use(Vuetify);\r\n            Vue.component('pagination', Pagination);\r\n            Vue.component('chart', ChartDynamic);\r\n            Vue.component('pageheader', PageHeader);\r\n            Vue.component('emailform', EmailForm);\r\n            Vue.component('modulesform', ModulesForm);\r\n            Vue.component('helpdialog', HelpDialog);\r\n            let vue = new Vue({\r\n                delimiters: [\"[[\", \"]]\"],\r\n                el: \"#dropout\",\r\n                vuetify: new Vuetify(),\r\n                data() {\r\n                    return {\r\n                        strings : content.strings,\r\n                        groups : content.groups,\r\n                        userid : content.userid,\r\n                        courseid : content.courseid,\r\n                        timezone : content.timezone,\r\n                        render_has : content.profile_render,\r\n                        loading : false,\r\n                        errors : [],\r\n                        pages : content.pages,\r\n\r\n                        dropout: content.dropout,\r\n                        modules_access_colors: content.modules_access_colors,\r\n                        week_modules_colors: content.week_modules_colors,\r\n                        sessions_evolution_colors: content.sessions_evolution_colors,\r\n                        user_grades_colors: content.user_grades_colors,\r\n                        selected_cluster: [],\r\n                        cluster_users: [],\r\n                        selected_user: null,\r\n                        search: null,\r\n                        week_modules_chart_data: [],\r\n                        week_modules_chart_categories: [],\r\n                        selected_sections: [],\r\n                        sessions_evolution_data: [],\r\n                        user_grades_categories: [],\r\n                        user_grades_data: [],\r\n                        modules_dialog: false,\r\n\r\n                        email_users: [],\r\n                        email_dialog : false,\r\n                        modulename : \"\",\r\n                        moduleid : false,\r\n                        email_strings: content.strings.email_strings,\r\n\r\n                        help_dialog: false,\r\n                        help_contents: [],\r\n                    }\r\n                },\r\n                beforeMount(){\r\n                    if (this.dropout.clusters.length) {\r\n                        this.set_modules_in_sections();\r\n                        this.selected_cluster = this.dropout.clusters[0];\r\n                        this.change_cluster(this.selected_cluster.users);\r\n                    };\r\n                },\r\n                mounted(){\r\n                    document.querySelector(\"#sessions-loader\").style.display = \"none\";\r\n                    document.querySelector(\"#dropout\").style.display = \"block\";\r\n                },\r\n                computed :{\r\n\r\n                },\r\n                methods : {\r\n                    get_help_content(){\r\n                        let contents = [];\r\n                        contents.push({\r\n                            title: this.strings.section_help_title,\r\n                            description: this.strings.section_help_description,\r\n                        });\r\n                        return contents;\r\n                    },\r\n\r\n                    set_modules_in_sections() {\r\n                        let sectionsMap = new Map();\r\n                        let sectionid = 0, modules = [];\r\n                        this.dropout.cms.forEach(cm => {\r\n                            sectionid = Number(cm.section);\r\n                            if (!sectionsMap.has(sectionid)) {\r\n                                sectionsMap.set(sectionid, [cm]);\r\n                            } else {\r\n                                sectionsMap.get(sectionid).push(cm);\r\n                            }\r\n                        });\r\n                        this.dropout.sections.forEach(section => {\r\n                            sectionid = Number(section.sectionid);\r\n                            section.sectionid = sectionid;\r\n                            section.modules = (sectionsMap.has(sectionid)) ? sectionsMap.get(sectionid) : [];\r\n                        });\r\n                    },\r\n\r\n                    change_cluster(users) {\r\n                        let selected_users = [];\r\n                        this.dropout.users.forEach(user => {\r\n                            if (users.includes(user.id)) {\r\n                                selected_users.push(user);\r\n                            }\r\n                        });\r\n                        if (selected_users.length) {\r\n                            this.cluster_users = selected_users;\r\n                            let user = this.cluster_users[0];\r\n                            this.change_user(user);\r\n                        } else {\r\n                            this.cluster_users = [];\r\n                            this.selected_user = null;\r\n                        }\r\n                    },\r\n\r\n                    change_user(user) {\r\n                        this.selected_user = user;\r\n                        this.calculate_week_modules_access();\r\n                        this.calculate_sessions_evolution();\r\n                        this.calculate_user_grades();\r\n                    },\r\n\r\n                    calculate_week_modules_access() {\r\n                        let sectionid = 0, moduleid = 0, weekcompletecms = 0, weekviewedcms = 0;\r\n                        let modules = [], completecms = [], viewedcms = [], categories = [];\r\n                        let user_cm;\r\n                        this.dropout.weeks.forEach(week => {\r\n                            weekcompletecms = 0, weekviewedcms = 0;\r\n                            week.sections.forEach(section => {\r\n                                sectionid = Number(section.sectionid);\r\n                                section.sectionid = sectionid;\r\n\r\n                                modules = this.sections_modules(sectionid);\r\n                                modules.forEach(module => {\r\n                                    moduleid = Number(module.id);\r\n                                    module.id = moduleid;\r\n\r\n                                    user_cm = this.selected_user.cms.modules[`cm${module.id}`];\r\n                                    if (user_cm) {\r\n                                        (user_cm.complete) && weekcompletecms++;\r\n                                        (user_cm.viewed) && weekviewedcms++;\r\n                                    }\r\n                                });\r\n                            });\r\n                            completecms.push(weekcompletecms);\r\n                            viewedcms.push(weekviewedcms);\r\n                            categories.push(`${week.name} ${(week.position + 1)}`);\r\n                        });\r\n                        this.week_modules_chart_categories = categories;\r\n                        this.week_modules_chart_data = [\r\n                            { name: this.strings.modules_access_chart_series_viewed, data: viewedcms },\r\n                            { name: this.strings.modules_access_chart_series_complete, data: completecms }\r\n                        ];\r\n                    },\r\n\r\n                    calculate_sessions_evolution() {\r\n                        let sessions_data = [], time_data = [];\r\n                        let sumtime = 0, sumsessions = 0, time = 0, timestamp = 0;\r\n                        this.selected_user.sessions.forEach(session => {\r\n                            timestamp = Number(session.start) * 1000;\r\n                            time = (Number(session.duration)) / 60;\r\n                            sumtime += time;\r\n                            sumsessions++;\r\n                            sessions_data.push({ x: timestamp, y: sumsessions });\r\n                            time_data.push({ x: timestamp, y: sumtime });\r\n                        });\r\n                        this.sessions_evolution_data = [\r\n                            { name: this.strings.sessions_evolution_chart_legend1, yAxis: 0, data: sessions_data },\r\n                            { name: this.strings.sessions_evolution_chart_legend2, yAxis: 1, data: time_data },\r\n                        ];\r\n                    },\r\n\r\n                    calculate_user_grades() {\r\n                        let categories = [], course_grades = [], user_grades = [];\r\n                        let user_grade = 0, user_name = this.selected_user.firstname;\r\n                        if (this.selected_user.gradeitems) {\r\n                            this.selected_user.gradeitems.forEach(item => {\r\n                                user_grade = (Number(item.finalgrade) * 100) / Number(item.grademax);\r\n                                categories.push(item.itemname);\r\n                                course_grades.push(item.average_percentage);\r\n                                user_grades.push(user_grade);\r\n                            });\r\n                            this.user_grades_data = [\r\n                                { name: user_name, data: user_grades },\r\n                                { name: this.strings.user_grades_chart_legend, data: course_grades },\r\n                            ];\r\n                            this.user_grades_categories = categories;\r\n                        }\r\n                    },\r\n\r\n                    build_modules_access_chart() {\r\n                        let chart = new Object();\r\n                        chart.chart = {\r\n                            type: 'bar',\r\n                            backgroundColor: null,\r\n                            style: {fontFamily: 'poppins'},\r\n                        };\r\n                        chart.title = { text: null};\r\n                        chart.colors = this.modules_access_colors;\r\n                        chart.xAxis = {\r\n                            type: 'category',\r\n                        };\r\n                        chart.yAxis = {\r\n                            allowDecimals: false,\r\n                            title: {\r\n                                enabled: true,\r\n                                text: this.strings.modules_amount,\r\n                            }\r\n                        };\r\n                        chart.tooltip = {\r\n                            shared: true,\r\n                            formatter: function () {\r\n                                let module_text = (this.y == 1) ? vue.strings.module_label : vue.strings.modules_label;\r\n                                return '<b>' + this.points[0].key + '</b>: ' + this.y + ' ' + module_text + '<br/>'\r\n                                    + '<i>'+ vue.strings.modules_details + '<i/>';\r\n                            }\r\n                        };\r\n                        chart.plotOptions = {\r\n                            series: {\r\n                                cursor: 'pointer',\r\n                                    point: {\r\n                                    events: {\r\n                                        click: function () {\r\n                                            vue.open_modules_modal(this.x);\r\n                                        }\r\n                                    }\r\n                                }\r\n                            }\r\n                        },\r\n                        chart.legend = {\r\n                            enabled: false\r\n                        };\r\n                        chart.series = [{\r\n                            colorByPoint: true,\r\n                            data: [\r\n                                {name: this.strings.modules_access_chart_series_viewed, y: this.selected_user.cms.viewed},\r\n                                {name: this.strings.modules_access_chart_series_complete, y: this.selected_user.cms.complete},\r\n                                {name: this.strings.modules_access_chart_series_total, y: this.selected_user.cms.total}\r\n                            ]\r\n                        }];\r\n                        return chart;\r\n                    },\r\n\r\n                    build_week_modules_chart() {\r\n                        let chart = new Object();\r\n                        chart.chart = {\r\n                            type: 'column',\r\n                            backgroundColor: null,\r\n                            style: {fontFamily: 'poppins'},\r\n                        };\r\n                        chart.title = {text: null};\r\n                        chart.colors = this.week_modules_colors;\r\n                        chart.xAxis = {\r\n                            categories: this.week_modules_chart_categories,\r\n                            title: {\r\n                                text: null\r\n                            },\r\n                            crosshair: true\r\n                        };\r\n                        chart.yAxis = {\r\n                            allowDecimals: false,\r\n                            title: {\r\n                                text: this.strings.modules_amount,\r\n                            }\r\n                        };\r\n                        chart.tooltip = {\r\n                            shared: true,\r\n                            useHTML: true,\r\n                            formatter: function () {\r\n                                let text1 = '', text2 = '';\r\n                                if (this.points[0]) {\r\n                                    let module_text_viewed = (this.points[0].y == 1) ? vue.strings.module_label : vue.strings.modules_label;\r\n                                    let viewed_series_name = this.points[0].series.name;\r\n                                    text1 = `<b style=\"color: ${this.points[0].color}\">${viewed_series_name}: </b>\r\n                                            ${this.points[0].y} ${module_text_viewed}<br/>`;\r\n                                }\r\n                                if (this.points[1]) {\r\n                                    let module_text_completed = (this.points[1].y == 1) ? vue.strings.module_label : vue.strings.modules_label;\r\n                                    let completed_series_name = this.points[1].series.name;\r\n                                    text2 = `<b style=\"color: ${this.points[1].color}\">${completed_series_name}: </b>\r\n                                            ${this.points[1].y} ${module_text_completed}<br/>`;\r\n                                }\r\n                                return `${this.x} <br/> ${text1}${text2} <i>${vue.strings.modules_details}<i/>`;\r\n                            }\r\n                        };\r\n                        chart.plotOptions = {\r\n                            series: {\r\n                                cursor: 'pointer',\r\n                                point: {\r\n                                    events: {\r\n                                        click: function () {\r\n                                            vue.open_modules_modal(this.colorIndex, this.x);\r\n                                        }\r\n                                    }\r\n                                }\r\n                            }\r\n                        };\r\n                        chart.series = this.week_modules_chart_data;\r\n                        return chart;\r\n                    },\r\n\r\n                    build_sessions_evolution_chart() {\r\n                        let chart = new Object();\r\n                        chart.chart = {\r\n                            zoomType: 'x',\r\n                            backgroundColor: null,\r\n                            style: {fontFamily: 'poppins'},\r\n                        };\r\n                        chart.title = {text: null};\r\n                        chart.colors = this.sessions_evolution_colors;\r\n                        chart.xAxis = {\r\n                            type: 'datetime'\r\n                        };\r\n                        chart.yAxis = [{\r\n                            allowDecimals: false,\r\n                            title: { text: this.strings.sessions_evolution_chart_xaxis1 }\r\n                        }, {\r\n                            title: { text: this.strings.sessions_evolution_chart_xaxis2 },\r\n                            opposite: true\r\n                        }];\r\n                        chart.tooltip = {\r\n                            shared: true,\r\n                            useHTML: true,\r\n                            formatter: function () {\r\n                                let date_label = vue.calculate_timezone_date_string(this.x);\r\n                                let text1 = (this.points[0]) ? vue.get_sessions_evolution_tooltip(this.points[0]) : '';\r\n                                let text2 = (this.points[1]) ? vue.get_sessions_evolution_tooltip(this.points[1]) : '';\r\n                                return `<small>${date_label}</small><br/>${text1}${text2}`;\r\n                            }\r\n                        };\r\n                        chart.series = this.sessions_evolution_data;\r\n                        return chart;\r\n                    },\r\n\r\n                    build_user_grades_chart() {\r\n                        let chart = new Object();\r\n                        chart.chart = {\r\n                            type: 'column',\r\n                            backgroundColor: null,\r\n                            style: {fontFamily: 'poppins'},\r\n                        };\r\n                        chart.title = {text: null};\r\n                        chart.colors = this.user_grades_colors;\r\n                        chart.xAxis = {\r\n                            crosshair: true,\r\n                            categories: this.user_grades_categories,\r\n                        };\r\n                        chart.yAxis = {\r\n                            allowDecimals: false,\r\n                            max: 100,\r\n                            labels: {\r\n                                format: '{value} %',\r\n                            },\r\n                            title: { text: this.strings.user_grades_chart_yaxis }\r\n                        };\r\n                        chart.tooltip = {\r\n                            shared: true,\r\n                            useHTML: true,\r\n                            formatter: function () {\r\n                                let itemname = this.x;\r\n                                let position = this.points[0].point.x;\r\n                                let item = vue.selected_user.gradeitems[position];\r\n                                let header = `<small>${itemname}</small><br/>`;\r\n                                let footer = `<i>(${vue.strings.user_grades_chart_view_activity})</i><br/>`;\r\n                                let body = '';\r\n                                if (item.gradecount == 0) {\r\n                                    body = vue.strings.user_grades_chart_tooltip_no_graded;\r\n                                } else {\r\n                                    let text1 = (this.points[0]) ? vue.get_user_grades_tooltip(this.points[0], item) : '';\r\n                                    let text2 = (this.points[1]) ? vue.get_user_grades_tooltip(this.points[1], item) : '';\r\n                                    body = `${text1}${text2}${footer}`;\r\n                                }\r\n                                return `${header}${body}`;\r\n                            }\r\n                        };\r\n                        chart.plotOptions = {\r\n                            series: {\r\n                                cursor: 'pointer',\r\n                                point: {\r\n                                    events: {\r\n                                        click: function () {\r\n                                            let position = this.x;\r\n                                            let item = vue.selected_user.gradeitems[position];\r\n                                            let url = `${M.cfg.wwwroot}/mod/${item.itemmodule}/view.php?id=${item.coursemoduleid}`;\r\n                                            window.open(url, '_blank');\r\n                                        }\r\n                                    }\r\n                                }\r\n                            }\r\n                        };\r\n                        chart.series = this.user_grades_data;\r\n                        return chart;\r\n                    },\r\n\r\n                    get_sessions_evolution_tooltip (point) {\r\n                        let text = '', sessions, sessions_suffix, sessions_prefix, time_prefix, time;\r\n                        if (point.colorIndex == 0) {\r\n                            sessions = point.y;\r\n                            sessions_suffix = (sessions == 1) ? vue.strings.session_text : vue.strings.sessions_text;\r\n                            sessions_prefix = point.series.name;\r\n                            text = `<b style=\"color: ${point.color}\">${sessions_prefix}: </b>\r\n                                     ${sessions} ${sessions_suffix}<br/>`;\r\n                        } else {\r\n                            time_prefix = point.series.name;\r\n                            time = this.convert_time(point.y * 60);\r\n                            text = `<b style=\"color: ${point.color}\">${time_prefix}: </b>\r\n                                    ${time}<br/>`;\r\n                        }\r\n                        return text;\r\n                    },\r\n\r\n                    get_user_grades_tooltip (point, item) {\r\n                        let serie_name = point.series.name, user_grade = 0;\r\n                        let finalgrade = Number(item.finalgrade), average = Number(item.average), grademax = Number(item.grademax);\r\n                        grademax = this.isInt(grademax) ? grademax : grademax.toFixed(2);\r\n                        if (point.colorIndex == 0) {\r\n                            user_grade = this.isInt(finalgrade) ? finalgrade : finalgrade.toFixed(2);\r\n                        } else {\r\n                            user_grade = this.isInt(average) ? average : average.toFixed(2);\r\n                        }\r\n                        return `<b style=\"color: ${point.color}\">${serie_name}: </b>\r\n                                     ${user_grade}/${grademax}<br/>`;\r\n                    },\r\n\r\n                    calculate_timezone_date_string(timestamp) {\r\n                        let dat, weekday, monthday, month, time;\r\n                        if (Moment.tz.zone(this.timezone)) {\r\n                            dat = Moment(timestamp).tz(this.timezone);\r\n                            weekday = dat.day();\r\n                            monthday = dat.date();\r\n                            month = dat.month();\r\n                            time = dat.format('HH:mm:ss');\r\n                        } else {\r\n                            let tz = Intl.DateTimeFormat().resolvedOptions().timeZone;\r\n                            dat =  new Date(timestamp);\r\n                            weekday = dat.getDay();\r\n                            monthday = dat.getDate();\r\n                            month = dat.getMonth();\r\n                            time = `${dat.getHours()}:${dat.getMinutes()}:${dat.getSeconds()} (${tz})`;\r\n                        }\r\n                        weekday = this.strings.chart.weekdays[weekday];\r\n                        month = this.strings.chart.shortMonths[month];\r\n                        return `${weekday}, ${month} ${monthday}, ${time}`;\r\n                    },\r\n\r\n                    convert_time(time) {\r\n                        time *= 60; // pasar los minutos a segundos\r\n                        let h = this.strings.hours_short;\r\n                        let m = this.strings.minutes_short;\r\n                        let s = this.strings.seconds_short;\r\n                        let hours = Math.floor(time / 3600);\r\n                        let minutes = Math.floor((time % 3600) / 60);\r\n                        let seconds = Math.floor(time % 60);\r\n                        let text;\r\n                        if (hours >= 1) {\r\n                            if (minutes >= 1) {\r\n                                text = `${hours}${h} ${minutes}${m}`;\r\n                            } else {\r\n                                text = `${hours}${h}`;\r\n                            }\r\n                        } else if ((minutes >= 1)) {\r\n                            if (seconds >= 1) {\r\n                                text = `${minutes}${m} ${seconds}${s}`;\r\n                            } else {\r\n                                text = `${minutes}${m}`;\r\n                            }\r\n                        } else {\r\n                            text = `${seconds}${s}`;\r\n                        }\r\n                        return text;\r\n                    },\r\n\r\n                    open_modules_modal(type, weekposition){\r\n                        let sections = this.dropout.sections;\r\n                        if (Number.isInteger(weekposition)) {\r\n                            sections = [];\r\n                            let section;\r\n                            let week = this.dropout.weeks[weekposition];\r\n                            week.sections.forEach(item => {\r\n                                section = {\r\n                                    sectionid: item.sectionid,\r\n                                    name: item.name,\r\n                                    modules: this.sections_modules(item.sectionid)\r\n                                };\r\n                                sections.push(section);\r\n                            });\r\n                        }\r\n                        sections.forEach(section => {\r\n                            section.modules.forEach(module => {\r\n                                module.complete = false;\r\n                                module.viewed = false;\r\n                                module.interactions = 0;\r\n                                let user_cm = this.selected_user.cms.modules[`cm${module.id}`];\r\n                                if (user_cm) {\r\n                                    module.complete = user_cm.complete;\r\n                                    module.viewed = user_cm.viewed;\r\n                                    module.interactions = user_cm.interactions;\r\n                                }\r\n                            });\r\n                        });\r\n\r\n                        this.selected_sections = sections;\r\n                        this.modules_dialog = true;\r\n                    },\r\n\r\n                    sections_modules(sectionid) {\r\n                        let modules = [];\r\n                        let sections = this.dropout.sections;\r\n                        for (let i = 0; i < sections.length; i++) {\r\n                            if (sections[i].sectionid == sectionid) {\r\n                                if (sections[i].modules) {\r\n                                    modules = sections[i].modules;\r\n                                }\r\n                                break;\r\n                            }\r\n                        }\r\n                        return modules;\r\n                    },\r\n\r\n                    get_user_module(moduleid) {\r\n                        let module;\r\n                        let cms = this.selected_user.cms.modules;\r\n                        for (let i = 0; i < cms.length; i++) {\r\n                            cms[i].id = Number(cms[i].id);\r\n                            if (cms[i].id == moduleid) {\r\n                                module = cms[i];\r\n                                break;\r\n                            }\r\n                        }\r\n                        return module;\r\n                    },\r\n\r\n                    table_headers(){\r\n                        let headers = [\r\n                            { text: '', value : 'id', align : 'center', sortable : false},\r\n                            { text: this.strings.thead_name , value : 'firstname'},\r\n                            { text: this.strings.thead_lastname , value : 'lastname'},\r\n                            { text: this.strings.thead_progress , value : 'progress_percentage'},\r\n                        ];\r\n                        return headers;\r\n                    },\r\n\r\n                    get_picture_url(userid){\r\n                        return `${M.cfg.wwwroot}/user/pix.php?file=/${userid}/f1.jpg`;\r\n                    },\r\n\r\n                    get_user_fullname(){\r\n                        return `${this.selected_user.firstname} ${this.selected_user.lastname}`;\r\n                    },\r\n\r\n                    get_username(){\r\n                        return `@${this.selected_user.username}`;\r\n                    },\r\n\r\n                    see_profile () {\r\n                        let id = this.selected_user.id;\r\n                        let url = M.cfg.wwwroot + '/user/view.php?id='+id+'&course='+vue.courseid;\r\n                        window.open(url);\r\n                    },\r\n\r\n                    get_progress_message(){\r\n                        let module_label = this.strings.modules_label;\r\n                        let finished_label = this.strings.finisheds_label;\r\n                        if (this.selected_user.cms.complete == 1) {\r\n                            module_label = this.strings.module_label;\r\n                            finished_label = this.strings.finished_label;\r\n                        }\r\n                        return `${this.selected_user.cms.complete} ${module_label} ${finished_label} ${this.strings.of_conector} ${this.dropout.total_cms}`;\r\n                    },\r\n\r\n                    get_progress_percentage() {\r\n                        return `${this.selected_user.progress_percentage} %`;\r\n                    },\r\n\r\n                    get_student_grade() {\r\n                        let grade = this.selected_user.coursegrade;\r\n                        grade.finalgrade = Number(grade.finalgrade);\r\n                        grade.maxgrade = Number(grade.maxgrade);\r\n                        let student_grade = this.isInt(grade.finalgrade) ? grade.finalgrade : grade.finalgrade.toFixed(2);\r\n                        let max_grade = this.isInt(grade.maxgrade) ? grade.maxgrade : grade.maxgrade.toFixed(2);\r\n                        return `${student_grade}/${max_grade}`;\r\n                    },\r\n\r\n                    get_sendmail_user_text() {\r\n                        return `${this.strings.send_mail_to_user} ${this.selected_user.firstname}`;\r\n                    },\r\n\r\n                    sendmail(type) {\r\n                        this.strings.email_strings.subject = this.strings.email_strings.subject_prefix;\r\n                        this.modulename = \"course\";\r\n                        this.moduleid = this.courseid;\r\n                        if (type == 1) {\r\n                            this.email_users = [this.selected_user];\r\n                            this.email_dialog = true;\r\n                        } else if (type == 2) {\r\n                            this.email_users = this.cluster_users;\r\n                            this.email_dialog = true;\r\n                        }\r\n                    },\r\n\r\n                    update_email_dialog (value) {\r\n                        this.email_dialog = value;\r\n                    },\r\n\r\n                    update_modules_dialog (value) {\r\n                        this.modules_dialog = value;\r\n                    },\r\n\r\n                    isInt(n) {\r\n                        return n % 1 === 0;\r\n                    },\r\n\r\n                    generate_dropout_data(){\r\n                        this.loading = true;\r\n                        this.errors = [];\r\n                        let data = {\r\n                            action : \"dropoutdata\",\r\n                            userid : this.userid,\r\n                            courseid : this.courseid,\r\n                            profile : this.render_has,\r\n                        }\r\n                        Axios({\r\n                            method:'get',\r\n                            url: M.cfg.wwwroot + \"/local/notemyprogress/ajax.php\",\r\n                            params : data,\r\n                        }).then((response) => {\r\n                            if (response.status == 200 && response.data.ok) {\r\n                                location.reload();\r\n                            } else {\r\n                                this.error_messages.push(this.strings.error_network);\r\n                            }\r\n                        }).catch((e) => {\r\n                            this.errors.push(this.strings.api_error_network);\r\n                        }).finally(() => {\r\n                            this.loading = false;\r\n                        });\r\n                        return this.data;\r\n                    },\r\n\r\n                    open_chart_help(chart) {\r\n                        let contents = [];\r\n                        if (chart == \"group_students\") {\r\n                            contents.push({\r\n                                title: this.strings.group_students_help_title,\r\n                                description: this.strings.group_students_help_description_p1,\r\n                            });\r\n                            contents.push({\r\n                                description: this.strings.group_students_help_description_p2,\r\n                            });\r\n                        } else if (chart == \"modules_access\") {\r\n                            contents.push({\r\n                                title: this.strings.modules_access_help_title,\r\n                                description: this.strings.modules_access_help_description_p1,\r\n                            });\r\n                            contents.push({\r\n                                description: this.strings.modules_access_help_description_p2,\r\n                            });\r\n                            contents.push({\r\n                                description: this.strings.modules_access_help_description_p3,\r\n                            });\r\n                        } else if (chart == \"week_modules\") {\r\n                            contents.push({\r\n                                title: this.strings.week_modules_help_title,\r\n                                description: this.strings.week_modules_help_description_p1,\r\n                            });\r\n                            contents.push({\r\n                                description: this.strings.week_modules_help_description_p2,\r\n                            });\r\n                            contents.push({\r\n                                description: this.strings.week_modules_help_description_p3,\r\n                            });\r\n                        } else if (chart == \"sessions_evolution\") {\r\n                            contents.push({\r\n                                title: this.strings.sessions_evolution_help_title,\r\n                                description: this.strings.sessions_evolution_help_description_p1,\r\n                            });\r\n                            contents.push({\r\n                                description: this.strings.sessions_evolution_help_description_p2,\r\n                            });\r\n                            contents.push({\r\n                                description: this.strings.sessions_evolution_help_description_p3,\r\n                            });\r\n                        } else if (chart == \"user_grades\") {\r\n                            contents.push({\r\n                                title: this.strings.user_grades_help_title,\r\n                                description: this.strings.user_grades_help_description_p1,\r\n                            });\r\n                            contents.push({\r\n                                description: this.strings.user_grades_help_description_p2,\r\n                            });\r\n                            contents.push({\r\n                                description: this.strings.user_grades_help_description_p3,\r\n                            });\r\n                        }\r\n                        this.help_contents = contents;\r\n                        if (this.help_contents.length) {\r\n                            this.help_dialog = true;\r\n                        }\r\n                    },\r\n\r\n                    update_help_dialog (value) {\r\n                        this.help_dialog = value;\r\n                    },\r\n\r\n                    get_timezone(){\r\n                        let information = `${this.strings.ss_change_timezone} ${this.timezone}`\r\n                        return information;\r\n                    },\r\n                }\r\n            })\r\n        }\r\n\r\n        return {\r\n            init : init\r\n        };\r\n    });"],"file":"dropout.min.js"}
\ No newline at end of file
+{
+  "version": 3,
+  "sources": [
+    "../src/dropout.js"
+  ],
+  "names": [
+    "define",
+    "Vue",
+    "Vuetify",
+    "Axios",
+    "Moment",
+    "MomentTimezone",
+    "Pagination",
+    "ChartDynamic",
+    "PageHeader",
+    "EmailForm",
+    "ModulesForm",
+    "HelpDialog",
+    "init",
+    "content",
+    "use",
+    "component",
+    "vue",
+    "delimiters",
+    "el",
+    "vuetify",
+    "data",
+    "strings",
+    "groups",
+    "userid",
+    "courseid",
+    "timezone",
+    "render_has",
+    "profile_render",
+    "loading",
+    "errors",
+    "pages",
+    "dropout",
+    "modules_access_colors",
+    "week_modules_colors",
+    "sessions_evolution_colors",
+    "user_grades_colors",
+    "selected_cluster",
+    "cluster_users",
+    "selected_user",
+    "search",
+    "week_modules_chart_data",
+    "week_modules_chart_categories",
+    "selected_sections",
+    "sessions_evolution_data",
+    "user_grades_categories",
+    "user_grades_data",
+    "modules_dialog",
+    "email_users",
+    "email_dialog",
+    "modulename",
+    "moduleid",
+    "email_strings",
+    "help_dialog",
+    "help_contents",
+    "beforeMount",
+    "clusters",
+    "length",
+    "set_modules_in_sections",
+    "change_cluster",
+    "users",
+    "mounted",
+    "document",
+    "querySelector",
+    "style",
+    "display",
+    "computed",
+    "methods",
+    "get_help_content",
+    "contents",
+    "title",
+    "section_help_title",
+    "description",
+    "section_help_description",
+    "sectionsMap",
+    "Map",
+    "sectionid",
+    "cms",
+    "forEach",
+    "cm",
+    "section",
+    "has",
+    "set",
+    "get",
+    "push",
+    "sections",
+    "modules",
+    "selected_users",
+    "user",
+    "includes",
+    "id",
+    "change_user",
+    "calculate_week_modules_access",
+    "calculate_sessions_evolution",
+    "calculate_user_grades",
+    "weekcompletecms",
+    "weekviewedcms",
+    "completecms",
+    "viewedcms",
+    "categories",
+    "user_cm",
+    "weeks",
+    "week",
+    "sections_modules",
+    "module",
+    "complete",
+    "viewed",
+    "name",
+    "position",
+    "modules_access_chart_series_viewed",
+    "modules_access_chart_series_complete",
+    "sessions_data",
+    "time_data",
+    "sumtime",
+    "sumsessions",
+    "time",
+    "timestamp",
+    "sessions",
+    "session",
+    "start",
+    "duration",
+    "x",
+    "y",
+    "sessions_evolution_chart_legend1",
+    "yAxis",
+    "sessions_evolution_chart_legend2",
+    "course_grades",
+    "user_grades",
+    "user_grade",
+    "user_name",
+    "firstname",
+    "gradeitems",
+    "item",
+    "finalgrade",
+    "grademax",
+    "itemname",
+    "average_percentage",
+    "user_grades_chart_legend",
+    "build_modules_access_chart",
+    "chart",
+    "type",
+    "backgroundColor",
+    "fontFamily",
+    "text",
+    "colors",
+    "xAxis",
+    "allowDecimals",
+    "enabled",
+    "modules_amount",
+    "tooltip",
+    "shared",
+    "formatter",
+    "module_text",
+    "module_label",
+    "modules_label",
+    "points",
+    "key",
+    "modules_details",
+    "plotOptions",
+    "series",
+    "cursor",
+    "point",
+    "events",
+    "click",
+    "open_modules_modal",
+    "legend",
+    "colorByPoint",
+    "modules_access_chart_series_total",
+    "total",
+    "build_week_modules_chart",
+    "crosshair",
+    "useHTML",
+    "text1",
+    "text2",
+    "module_text_viewed",
+    "viewed_series_name",
+    "color",
+    "module_text_completed",
+    "completed_series_name",
+    "colorIndex",
+    "build_sessions_evolution_chart",
+    "zoomType",
+    "sessions_evolution_chart_xaxis1",
+    "sessions_evolution_chart_xaxis2",
+    "opposite",
+    "date_label",
+    "calculate_timezone_date_string",
+    "get_sessions_evolution_tooltip",
+    "build_user_grades_chart",
+    "max",
+    "labels",
+    "format",
+    "user_grades_chart_yaxis",
+    "header",
+    "footer",
+    "user_grades_chart_view_activity",
+    "body",
+    "gradecount",
+    "user_grades_chart_tooltip_no_graded",
+    "get_user_grades_tooltip",
+    "url",
+    "M",
+    "cfg",
+    "wwwroot",
+    "itemmodule",
+    "coursemoduleid",
+    "window",
+    "open",
+    "sessions_suffix",
+    "sessions_prefix",
+    "time_prefix",
+    "session_text",
+    "sessions_text",
+    "convert_time",
+    "serie_name",
+    "average",
+    "isInt",
+    "toFixed",
+    "dat",
+    "weekday",
+    "monthday",
+    "month",
+    "tz",
+    "zone",
+    "day",
+    "date",
+    "Intl",
+    "DateTimeFormat",
+    "resolvedOptions",
+    "timeZone",
+    "Date",
+    "getDay",
+    "getDate",
+    "getMonth",
+    "getHours",
+    "getMinutes",
+    "getSeconds",
+    "weekdays",
+    "shortMonths",
+    "h",
+    "hours_short",
+    "m",
+    "minutes_short",
+    "s",
+    "seconds_short",
+    "hours",
+    "Math",
+    "floor",
+    "minutes",
+    "seconds",
+    "weekposition",
+    "Number",
+    "isInteger",
+    "interactions",
+    "i",
+    "get_user_module",
+    "table_headers",
+    "headers",
+    "value",
+    "align",
+    "sortable",
+    "thead_name",
+    "thead_lastname",
+    "thead_progress",
+    "get_picture_url",
+    "get_user_fullname",
+    "lastname",
+    "get_username",
+    "username",
+    "see_profile",
+    "get_progress_message",
+    "finished_label",
+    "finisheds_label",
+    "of_conector",
+    "total_cms",
+    "get_progress_percentage",
+    "progress_percentage",
+    "get_student_grade",
+    "grade",
+    "coursegrade",
+    "maxgrade",
+    "student_grade",
+    "max_grade",
+    "get_sendmail_user_text",
+    "send_mail_to_user",
+    "sendmail",
+    "subject",
+    "subject_prefix",
+    "update_email_dialog",
+    "update_modules_dialog",
+    "n",
+    "generate_dropout_data",
+    "action",
+    "profile",
+    "method",
+    "params",
+    "then",
+    "response",
+    "status",
+    "ok",
+    "location",
+    "reload",
+    "error_messages",
+    "error_network",
+    "catch",
+    "api_error_network",
+    "finally",
+    "open_chart_help",
+    "group_students_help_title",
+    "group_students_help_description_p1",
+    "group_students_help_description_p2",
+    "modules_access_help_title",
+    "modules_access_help_description_p1",
+    "modules_access_help_description_p2",
+    "modules_access_help_description_p3",
+    "week_modules_help_title",
+    "week_modules_help_description_p1",
+    "week_modules_help_description_p2",
+    "week_modules_help_description_p3",
+    "sessions_evolution_help_title",
+    "sessions_evolution_help_description_p1",
+    "sessions_evolution_help_description_p2",
+    "sessions_evolution_help_description_p3",
+    "user_grades_help_title",
+    "user_grades_help_description_p1",
+    "user_grades_help_description_p2",
+    "user_grades_help_description_p3",
+    "update_help_dialog",
+    "get_timezone",
+    "information",
+    "ss_change_timezone"
+  ],
+  "mappings": "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",
+  "sourcesContent": [
+    "define([\"local_notemyprogress/vue\",\r\n        \"local_notemyprogress/vuetify\",\r\n        \"local_notemyprogress/axios\",\r\n        \"local_notemyprogress/moment\",\r\n        \"local_notemyprogress/momenttimezone\",\r\n        \"local_notemyprogress/pagination\",\r\n        \"local_notemyprogress/chartdynamic\",\r\n        \"local_notemyprogress/pageheader\",\r\n        \"local_notemyprogress/emailform\",\r\n        \"local_notemyprogress/modulesform\",\r\n        \"local_notemyprogress/helpdialog\",\r\n    ],\r\n    function(Vue, Vuetify, Axios, Moment, MomentTimezone, Pagination, ChartDynamic, PageHeader, EmailForm, ModulesForm, HelpDialog) {\r\n        \"use strict\";\r\n\r\n        function init(content) {\r\n            // console.log(content);\r\n            Vue.use(Vuetify);\r\n            Vue.component('pagination', Pagination);\r\n            Vue.component('chart', ChartDynamic);\r\n            Vue.component('pageheader', PageHeader);\r\n            Vue.component('emailform', EmailForm);\r\n            Vue.component('modulesform', ModulesForm);\r\n            Vue.component('helpdialog', HelpDialog);\r\n            let vue = new Vue({\r\n                delimiters: [\"[[\", \"]]\"],\r\n                el: \"#dropout\",\r\n                vuetify: new Vuetify(),\r\n                data() {\r\n                    return {\r\n                        strings : content.strings,\r\n                        groups : content.groups,\r\n                        userid : content.userid,\r\n                        courseid : content.courseid,\r\n                        timezone : content.timezone,\r\n                        render_has : content.profile_render,\r\n                        loading : false,\r\n                        errors : [],\r\n                        pages : content.pages,\r\n\r\n                        dropout: content.dropout,\r\n                        modules_access_colors: content.modules_access_colors,\r\n                        week_modules_colors: content.week_modules_colors,\r\n                        sessions_evolution_colors: content.sessions_evolution_colors,\r\n                        user_grades_colors: content.user_grades_colors,\r\n                        selected_cluster: [],\r\n                        cluster_users: [],\r\n                        selected_user: null,\r\n                        search: null,\r\n                        week_modules_chart_data: [],\r\n                        week_modules_chart_categories: [],\r\n                        selected_sections: [],\r\n                        sessions_evolution_data: [],\r\n                        user_grades_categories: [],\r\n                        user_grades_data: [],\r\n                        modules_dialog: false,\r\n\r\n                        email_users: [],\r\n                        email_dialog : false,\r\n                        modulename : \"\",\r\n                        moduleid : false,\r\n                        email_strings: content.strings.email_strings,\r\n\r\n                        help_dialog: false,\r\n                        help_contents: [],\r\n                    }\r\n                },\r\n                beforeMount(){\r\n                    if (this.dropout.clusters.length) {\r\n                        this.set_modules_in_sections();\r\n                        this.selected_cluster = this.dropout.clusters[0];\r\n                        this.change_cluster(this.selected_cluster.users);\r\n                    };\r\n                },\r\n                mounted(){\r\n                    document.querySelector(\"#sessions-loader\").style.display = \"none\";\r\n                    document.querySelector(\"#dropout\").style.display = \"block\";\r\n                },\r\n                computed :{\r\n\r\n                },\r\n                methods : {\r\n                    get_help_content(){\r\n                        let contents = [];\r\n                        contents.push({\r\n                            title: this.strings.section_help_title,\r\n                            description: this.strings.section_help_description,\r\n                        });\r\n                        return contents;\r\n                    },\r\n\r\n                    set_modules_in_sections() {\r\n                        let sectionsMap = new Map();\r\n                        let sectionid = 0, modules = [];\r\n                        this.dropout.cms.forEach(cm => {\r\n                            sectionid = Number(cm.section);\r\n                            if (!sectionsMap.has(sectionid)) {\r\n                                sectionsMap.set(sectionid, [cm]);\r\n                            } else {\r\n                                sectionsMap.get(sectionid).push(cm);\r\n                            }\r\n                        });\r\n                        this.dropout.sections.forEach(section => {\r\n                            sectionid = Number(section.sectionid);\r\n                            section.sectionid = sectionid;\r\n                            section.modules = (sectionsMap.has(sectionid)) ? sectionsMap.get(sectionid) : [];\r\n                        });\r\n                    },\r\n\r\n                    change_cluster(users) {\r\n                        let selected_users = [];\r\n                        this.dropout.users.forEach(user => {\r\n                            if (users.includes(user.id)) {\r\n                                selected_users.push(user);\r\n                            }\r\n                        });\r\n                        if (selected_users.length) {\r\n                            this.cluster_users = selected_users;\r\n                            let user = this.cluster_users[0];\r\n                            this.change_user(user);\r\n                        } else {\r\n                            this.cluster_users = [];\r\n                            this.selected_user = null;\r\n                        }\r\n                    },\r\n\r\n                    change_user(user) {\r\n                        this.selected_user = user;\r\n                        this.calculate_week_modules_access();\r\n                        this.calculate_sessions_evolution();\r\n                        this.calculate_user_grades();\r\n                    },\r\n\r\n                    calculate_week_modules_access() {\r\n                        let sectionid = 0, moduleid = 0, weekcompletecms = 0, weekviewedcms = 0;\r\n                        let modules = [], completecms = [], viewedcms = [], categories = [];\r\n                        let user_cm;\r\n                        this.dropout.weeks.forEach(week => {\r\n                            weekcompletecms = 0, weekviewedcms = 0;\r\n                            week.sections.forEach(section => {\r\n                                sectionid = Number(section.sectionid);\r\n                                section.sectionid = sectionid;\r\n\r\n                                modules = this.sections_modules(sectionid);\r\n                                modules.forEach(module => {\r\n                                    moduleid = Number(module.id);\r\n                                    module.id = moduleid;\r\n\r\n                                    user_cm = this.selected_user.cms.modules[`cm${module.id}`];\r\n                                    if (user_cm) {\r\n                                        (user_cm.complete) && weekcompletecms++;\r\n                                        (user_cm.viewed) && weekviewedcms++;\r\n                                    }\r\n                                });\r\n                            });\r\n                            completecms.push(weekcompletecms);\r\n                            viewedcms.push(weekviewedcms);\r\n                            categories.push(`${week.name} ${(week.position + 1)}`);\r\n                        });\r\n                        this.week_modules_chart_categories = categories;\r\n                        this.week_modules_chart_data = [\r\n                            { name: this.strings.modules_access_chart_series_viewed, data: viewedcms },\r\n                            { name: this.strings.modules_access_chart_series_complete, data: completecms }\r\n                        ];\r\n                    },\r\n\r\n                    calculate_sessions_evolution() {\r\n                        let sessions_data = [], time_data = [];\r\n                        let sumtime = 0, sumsessions = 0, time = 0, timestamp = 0;\r\n                        this.selected_user.sessions.forEach(session => {\r\n                            timestamp = Number(session.start) * 1000;\r\n                            time = (Number(session.duration)) / 60;\r\n                            sumtime += time;\r\n                            sumsessions++;\r\n                            sessions_data.push({ x: timestamp, y: sumsessions });\r\n                            time_data.push({ x: timestamp, y: sumtime });\r\n                        });\r\n                        this.sessions_evolution_data = [\r\n                            { name: this.strings.sessions_evolution_chart_legend1, yAxis: 0, data: sessions_data },\r\n                            { name: this.strings.sessions_evolution_chart_legend2, yAxis: 1, data: time_data },\r\n                        ];\r\n                    },\r\n\r\n                    calculate_user_grades() {\r\n                        let categories = [], course_grades = [], user_grades = [];\r\n                        let user_grade = 0, user_name = this.selected_user.firstname;\r\n                        if (this.selected_user.gradeitems) {\r\n                            this.selected_user.gradeitems.forEach(item => {\r\n                                user_grade = (Number(item.finalgrade) * 100) / Number(item.grademax);\r\n                                categories.push(item.itemname);\r\n                                course_grades.push(item.average_percentage);\r\n                                user_grades.push(user_grade);\r\n                            });\r\n                            this.user_grades_data = [\r\n                                { name: user_name, data: user_grades },\r\n                                { name: this.strings.user_grades_chart_legend, data: course_grades },\r\n                            ];\r\n                            this.user_grades_categories = categories;\r\n                        }\r\n                    },\r\n\r\n                    build_modules_access_chart() {\r\n                        let chart = new Object();\r\n                        chart.chart = {\r\n                            type: 'bar',\r\n                            backgroundColor: null,\r\n                            style: {fontFamily: 'poppins'},\r\n                        };\r\n                        chart.title = { text: null};\r\n                        chart.colors = this.modules_access_colors;\r\n                        chart.xAxis = {\r\n                            type: 'category',\r\n                        };\r\n                        chart.yAxis = {\r\n                            allowDecimals: false,\r\n                            title: {\r\n                                enabled: true,\r\n                                text: this.strings.modules_amount,\r\n                            }\r\n                        };\r\n                        chart.tooltip = {\r\n                            shared: true,\r\n                            formatter: function () {\r\n                                let module_text = (this.y == 1) ? vue.strings.module_label : vue.strings.modules_label;\r\n                                return '<b>' + this.points[0].key + '</b>: ' + this.y + ' ' + module_text + '<br/>'\r\n                                    + '<i>'+ vue.strings.modules_details + '<i/>';\r\n                            }\r\n                        };\r\n                        chart.plotOptions = {\r\n                            series: {\r\n                                cursor: 'pointer',\r\n                                    point: {\r\n                                    events: {\r\n                                        click: function () {\r\n                                            vue.open_modules_modal(this.x);\r\n                                        }\r\n                                    }\r\n                                }\r\n                            }\r\n                        },\r\n                        chart.legend = {\r\n                            enabled: false\r\n                        };\r\n                        chart.series = [{\r\n                            colorByPoint: true,\r\n                            data: [\r\n                                {name: this.strings.modules_access_chart_series_viewed, y: this.selected_user.cms.viewed},\r\n                                {name: this.strings.modules_access_chart_series_complete, y: this.selected_user.cms.complete},\r\n                                {name: this.strings.modules_access_chart_series_total, y: this.selected_user.cms.total}\r\n                            ]\r\n                        }];\r\n                        return chart;\r\n                    },\r\n\r\n                    build_week_modules_chart() {\r\n                        let chart = new Object();\r\n                        chart.chart = {\r\n                            type: 'column',\r\n                            backgroundColor: null,\r\n                            style: {fontFamily: 'poppins'},\r\n                        };\r\n                        chart.title = {text: null};\r\n                        chart.colors = this.week_modules_colors;\r\n                        chart.xAxis = {\r\n                            categories: this.week_modules_chart_categories,\r\n                            title: {\r\n                                text: null\r\n                            },\r\n                            crosshair: true\r\n                        };\r\n                        chart.yAxis = {\r\n                            allowDecimals: false,\r\n                            title: {\r\n                                text: this.strings.modules_amount,\r\n                            }\r\n                        };\r\n                        chart.tooltip = {\r\n                            shared: true,\r\n                            useHTML: true,\r\n                            formatter: function () {\r\n                                let text1 = '', text2 = '';\r\n                                if (this.points[0]) {\r\n                                    let module_text_viewed = (this.points[0].y == 1) ? vue.strings.module_label : vue.strings.modules_label;\r\n                                    let viewed_series_name = this.points[0].series.name;\r\n                                    text1 = `<b style=\"color: ${this.points[0].color}\">${viewed_series_name}: </b>\r\n                                            ${this.points[0].y} ${module_text_viewed}<br/>`;\r\n                                }\r\n                                if (this.points[1]) {\r\n                                    let module_text_completed = (this.points[1].y == 1) ? vue.strings.module_label : vue.strings.modules_label;\r\n                                    let completed_series_name = this.points[1].series.name;\r\n                                    text2 = `<b style=\"color: ${this.points[1].color}\">${completed_series_name}: </b>\r\n                                            ${this.points[1].y} ${module_text_completed}<br/>`;\r\n                                }\r\n                                return `${this.x} <br/> ${text1}${text2} <i>${vue.strings.modules_details}<i/>`;\r\n                            }\r\n                        };\r\n                        chart.plotOptions = {\r\n                            series: {\r\n                                cursor: 'pointer',\r\n                                point: {\r\n                                    events: {\r\n                                        click: function () {\r\n                                            vue.open_modules_modal(this.colorIndex, this.x);\r\n                                        }\r\n                                    }\r\n                                }\r\n                            }\r\n                        };\r\n                        chart.series = this.week_modules_chart_data;\r\n                        return chart;\r\n                    },\r\n\r\n                    build_sessions_evolution_chart() {\r\n                        let chart = new Object();\r\n                        chart.chart = {\r\n                            zoomType: 'x',\r\n                            backgroundColor: null,\r\n                            style: {fontFamily: 'poppins'},\r\n                        };\r\n                        chart.title = {text: null};\r\n                        chart.colors = this.sessions_evolution_colors;\r\n                        chart.xAxis = {\r\n                            type: 'datetime'\r\n                        };\r\n                        chart.yAxis = [{\r\n                            allowDecimals: false,\r\n                            title: { text: this.strings.sessions_evolution_chart_xaxis1 }\r\n                        }, {\r\n                            title: { text: this.strings.sessions_evolution_chart_xaxis2 },\r\n                            opposite: true\r\n                        }];\r\n                        chart.tooltip = {\r\n                            shared: true,\r\n                            useHTML: true,\r\n                            formatter: function () {\r\n                                let date_label = vue.calculate_timezone_date_string(this.x);\r\n                                let text1 = (this.points[0]) ? vue.get_sessions_evolution_tooltip(this.points[0]) : '';\r\n                                let text2 = (this.points[1]) ? vue.get_sessions_evolution_tooltip(this.points[1]) : '';\r\n                                return `<small>${date_label}</small><br/>${text1}${text2}`;\r\n                            }\r\n                        };\r\n                        chart.series = this.sessions_evolution_data;\r\n                        return chart;\r\n                    },\r\n\r\n                    build_user_grades_chart() {\r\n                        let chart = new Object();\r\n                        chart.chart = {\r\n                            type: 'column',\r\n                            backgroundColor: null,\r\n                            style: {fontFamily: 'poppins'},\r\n                        };\r\n                        chart.title = {text: null};\r\n                        chart.colors = this.user_grades_colors;\r\n                        chart.xAxis = {\r\n                            crosshair: true,\r\n                            categories: this.user_grades_categories,\r\n                        };\r\n                        chart.yAxis = {\r\n                            allowDecimals: false,\r\n                            max: 100,\r\n                            labels: {\r\n                                format: '{value} %',\r\n                            },\r\n                            title: { text: this.strings.user_grades_chart_yaxis }\r\n                        };\r\n                        chart.tooltip = {\r\n                            shared: true,\r\n                            useHTML: true,\r\n                            formatter: function () {\r\n                                let itemname = this.x;\r\n                                let position = this.points[0].point.x;\r\n                                let item = vue.selected_user.gradeitems[position];\r\n                                let header = `<small>${itemname}</small><br/>`;\r\n                                let footer = `<i>(${vue.strings.user_grades_chart_view_activity})</i><br/>`;\r\n                                let body = '';\r\n                                if (item.gradecount == 0) {\r\n                                    body = vue.strings.user_grades_chart_tooltip_no_graded;\r\n                                } else {\r\n                                    let text1 = (this.points[0]) ? vue.get_user_grades_tooltip(this.points[0], item) : '';\r\n                                    let text2 = (this.points[1]) ? vue.get_user_grades_tooltip(this.points[1], item) : '';\r\n                                    body = `${text1}${text2}${footer}`;\r\n                                }\r\n                                return `${header}${body}`;\r\n                            }\r\n                        };\r\n                        chart.plotOptions = {\r\n                            series: {\r\n                                cursor: 'pointer',\r\n                                point: {\r\n                                    events: {\r\n                                        click: function () {\r\n                                            let position = this.x;\r\n                                            let item = vue.selected_user.gradeitems[position];\r\n                                            let url = `${M.cfg.wwwroot}/mod/${item.itemmodule}/view.php?id=${item.coursemoduleid}`;\r\n                                            window.open(url, '_blank');\r\n                                        }\r\n                                    }\r\n                                }\r\n                            }\r\n                        };\r\n                        chart.series = this.user_grades_data;\r\n                        return chart;\r\n                    },\r\n\r\n                    get_sessions_evolution_tooltip (point) {\r\n                        let text = '', sessions, sessions_suffix, sessions_prefix, time_prefix, time;\r\n                        if (point.colorIndex == 0) {\r\n                            sessions = point.y;\r\n                            sessions_suffix = (sessions == 1) ? vue.strings.session_text : vue.strings.sessions_text;\r\n                            sessions_prefix = point.series.name;\r\n                            text = `<b style=\"color: ${point.color}\">${sessions_prefix}: </b>\r\n                                     ${sessions} ${sessions_suffix}<br/>`;\r\n                        } else {\r\n                            time_prefix = point.series.name;\r\n                            time = this.convert_time(point.y * 60);\r\n                            text = `<b style=\"color: ${point.color}\">${time_prefix}: </b>\r\n                                    ${time}<br/>`;\r\n                        }\r\n                        return text;\r\n                    },\r\n\r\n                    get_user_grades_tooltip (point, item) {\r\n                        let serie_name = point.series.name, user_grade = 0;\r\n                        let finalgrade = Number(item.finalgrade), average = Number(item.average), grademax = Number(item.grademax);\r\n                        grademax = this.isInt(grademax) ? grademax : grademax.toFixed(2);\r\n                        if (point.colorIndex == 0) {\r\n                            user_grade = this.isInt(finalgrade) ? finalgrade : finalgrade.toFixed(2);\r\n                        } else {\r\n                            user_grade = this.isInt(average) ? average : average.toFixed(2);\r\n                        }\r\n                        return `<b style=\"color: ${point.color}\">${serie_name}: </b>\r\n                                     ${user_grade}/${grademax}<br/>`;\r\n                    },\r\n\r\n                    calculate_timezone_date_string(timestamp) {\r\n                        let dat, weekday, monthday, month, time;\r\n                        if (Moment.tz.zone(this.timezone)) {\r\n                            dat = Moment(timestamp).tz(this.timezone);\r\n                            weekday = dat.day();\r\n                            monthday = dat.date();\r\n                            month = dat.month();\r\n                            time = dat.format('HH:mm:ss');\r\n                        } else {\r\n                            let tz = Intl.DateTimeFormat().resolvedOptions().timeZone;\r\n                            dat =  new Date(timestamp);\r\n                            weekday = dat.getDay();\r\n                            monthday = dat.getDate();\r\n                            month = dat.getMonth();\r\n                            time = `${dat.getHours()}:${dat.getMinutes()}:${dat.getSeconds()} (${tz})`;\r\n                        }\r\n                        weekday = this.strings.chart.weekdays[weekday];\r\n                        month = this.strings.chart.shortMonths[month];\r\n                        return `${weekday}, ${month} ${monthday}, ${time}`;\r\n                    },\r\n\r\n                    convert_time(time) {\r\n                        time *= 60; // pasar los minutos a segundos\r\n                        let h = this.strings.hours_short;\r\n                        let m = this.strings.minutes_short;\r\n                        let s = this.strings.seconds_short;\r\n                        let hours = Math.floor(time / 3600);\r\n                        let minutes = Math.floor((time % 3600) / 60);\r\n                        let seconds = Math.floor(time % 60);\r\n                        let text;\r\n                        if (hours >= 1) {\r\n                            if (minutes >= 1) {\r\n                                text = `${hours}${h} ${minutes}${m}`;\r\n                            } else {\r\n                                text = `${hours}${h}`;\r\n                            }\r\n                        } else if ((minutes >= 1)) {\r\n                            if (seconds >= 1) {\r\n                                text = `${minutes}${m} ${seconds}${s}`;\r\n                            } else {\r\n                                text = `${minutes}${m}`;\r\n                            }\r\n                        } else {\r\n                            text = `${seconds}${s}`;\r\n                        }\r\n                        return text;\r\n                    },\r\n\r\n                    open_modules_modal(type, weekposition){\r\n                        let sections = this.dropout.sections;\r\n                        if (Number.isInteger(weekposition)) {\r\n                            sections = [];\r\n                            let section;\r\n                            let week = this.dropout.weeks[weekposition];\r\n                            week.sections.forEach(item => {\r\n                                section = {\r\n                                    sectionid: item.sectionid,\r\n                                    name: item.name,\r\n                                    modules: this.sections_modules(item.sectionid)\r\n                                };\r\n                                sections.push(section);\r\n                            });\r\n                        }\r\n                        sections.forEach(section => {\r\n                            section.modules.forEach(module => {\r\n                                module.complete = false;\r\n                                module.viewed = false;\r\n                                module.interactions = 0;\r\n                                let user_cm = this.selected_user.cms.modules[`cm${module.id}`];\r\n                                if (user_cm) {\r\n                                    module.complete = user_cm.complete;\r\n                                    module.viewed = user_cm.viewed;\r\n                                    module.interactions = user_cm.interactions;\r\n                                }\r\n                            });\r\n                        });\r\n\r\n                        this.selected_sections = sections;\r\n                        this.modules_dialog = true;\r\n                    },\r\n\r\n                    sections_modules(sectionid) {\r\n                        let modules = [];\r\n                        let sections = this.dropout.sections;\r\n                        for (let i = 0; i < sections.length; i++) {\r\n                            if (sections[i].sectionid == sectionid) {\r\n                                if (sections[i].modules) {\r\n                                    modules = sections[i].modules;\r\n                                }\r\n                                break;\r\n                            }\r\n                        }\r\n                        return modules;\r\n                    },\r\n\r\n                    get_user_module(moduleid) {\r\n                        let module;\r\n                        let cms = this.selected_user.cms.modules;\r\n                        for (let i = 0; i < cms.length; i++) {\r\n                            cms[i].id = Number(cms[i].id);\r\n                            if (cms[i].id == moduleid) {\r\n                                module = cms[i];\r\n                                break;\r\n                            }\r\n                        }\r\n                        return module;\r\n                    },\r\n\r\n                    table_headers(){\r\n                        let headers = [\r\n                            { text: '', value : 'id', align : 'center', sortable : false},\r\n                            { text: this.strings.thead_name , value : 'firstname'},\r\n                            { text: this.strings.thead_lastname , value : 'lastname'},\r\n                            { text: this.strings.thead_progress , value : 'progress_percentage'},\r\n                        ];\r\n                        return headers;\r\n                    },\r\n\r\n                    get_picture_url(userid){\r\n                        return `${M.cfg.wwwroot}/user/pix.php?file=/${userid}/f1.jpg`;\r\n                    },\r\n\r\n                    get_user_fullname(){\r\n                        return `${this.selected_user.firstname} ${this.selected_user.lastname}`;\r\n                    },\r\n\r\n                    get_username(){\r\n                        return `@${this.selected_user.username}`;\r\n                    },\r\n\r\n                    see_profile () {\r\n                        let id = this.selected_user.id;\r\n                        let url = M.cfg.wwwroot + '/user/view.php?id='+id+'&course='+vue.courseid;\r\n                        window.open(url);\r\n                    },\r\n\r\n                    get_progress_message(){\r\n                        let module_label = this.strings.modules_label;\r\n                        let finished_label = this.strings.finisheds_label;\r\n                        if (this.selected_user.cms.complete == 1) {\r\n                            module_label = this.strings.module_label;\r\n                            finished_label = this.strings.finished_label;\r\n                        }\r\n                        return `${this.selected_user.cms.complete} ${module_label} ${finished_label} ${this.strings.of_conector} ${this.dropout.total_cms}`;\r\n                    },\r\n\r\n                    get_progress_percentage() {\r\n                        return `${this.selected_user.progress_percentage} %`;\r\n                    },\r\n\r\n                    get_student_grade() {\r\n                        let grade = this.selected_user.coursegrade;\r\n                        grade.finalgrade = Number(grade.finalgrade);\r\n                        grade.maxgrade = Number(grade.maxgrade);\r\n                        let student_grade = this.isInt(grade.finalgrade) ? grade.finalgrade : grade.finalgrade.toFixed(2);\r\n                        let max_grade = this.isInt(grade.maxgrade) ? grade.maxgrade : grade.maxgrade.toFixed(2);\r\n                        return `${student_grade}/${max_grade}`;\r\n                    },\r\n\r\n                    get_sendmail_user_text() {\r\n                        return `${this.strings.send_mail_to_user} ${this.selected_user.firstname}`;\r\n                    },\r\n\r\n                    sendmail(type) {\r\n                        this.strings.email_strings.subject = this.strings.email_strings.subject_prefix;\r\n                        this.modulename = \"course\";\r\n                        this.moduleid = this.courseid;\r\n                        if (type == 1) {\r\n                            this.email_users = [this.selected_user];\r\n                            this.email_dialog = true;\r\n                        } else if (type == 2) {\r\n                            this.email_users = this.cluster_users;\r\n                            this.email_dialog = true;\r\n                        }\r\n                    },\r\n\r\n                    update_email_dialog (value) {\r\n                        this.email_dialog = value;\r\n                    },\r\n\r\n                    update_modules_dialog (value) {\r\n                        this.modules_dialog = value;\r\n                    },\r\n\r\n                    isInt(n) {\r\n                        return n % 1 === 0;\r\n                    },\r\n\r\n                    generate_dropout_data(){\r\n                        this.loading = true;\r\n                        this.errors = [];\r\n                        let data = {\r\n                            action : \"dropoutdata\",\r\n                            userid : this.userid,\r\n                            courseid : this.courseid,\r\n                            profile : this.render_has,\r\n                        }\r\n                        Axios({\r\n                            method:'get',\r\n                            url: M.cfg.wwwroot + \"/local/notemyprogress/ajax.php\",\r\n                            params : data,\r\n                        }).then((response) => {\r\n                            if (response.status == 200 && response.data.ok) {\r\n                                location.reload();\r\n                            } else {\r\n                                this.error_messages.push(this.strings.error_network);\r\n                            }\r\n                        }).catch((e) => {\r\n                            this.errors.push(this.strings.api_error_network);\r\n                        }).finally(() => {\r\n                            this.loading = false;\r\n                        });\r\n                        return this.data;\r\n                    },\r\n\r\n                    open_chart_help(chart) {\r\n                        let contents = [];\r\n                        if (chart == \"group_students\") {\r\n                            contents.push({\r\n                                title: this.strings.group_students_help_title,\r\n                                description: this.strings.group_students_help_description_p1,\r\n                            });\r\n                            contents.push({\r\n                                description: this.strings.group_students_help_description_p2,\r\n                            });\r\n                        } else if (chart == \"modules_access\") {\r\n                            contents.push({\r\n                                title: this.strings.modules_access_help_title,\r\n                                description: this.strings.modules_access_help_description_p1,\r\n                            });\r\n                            contents.push({\r\n                                description: this.strings.modules_access_help_description_p2,\r\n                            });\r\n                            contents.push({\r\n                                description: this.strings.modules_access_help_description_p3,\r\n                            });\r\n                        } else if (chart == \"week_modules\") {\r\n                            contents.push({\r\n                                title: this.strings.week_modules_help_title,\r\n                                description: this.strings.week_modules_help_description_p1,\r\n                            });\r\n                            contents.push({\r\n                                description: this.strings.week_modules_help_description_p2,\r\n                            });\r\n                            contents.push({\r\n                                description: this.strings.week_modules_help_description_p3,\r\n                            });\r\n                        } else if (chart == \"sessions_evolution\") {\r\n                            contents.push({\r\n                                title: this.strings.sessions_evolution_help_title,\r\n                                description: this.strings.sessions_evolution_help_description_p1,\r\n                            });\r\n                            contents.push({\r\n                                description: this.strings.sessions_evolution_help_description_p2,\r\n                            });\r\n                            contents.push({\r\n                                description: this.strings.sessions_evolution_help_description_p3,\r\n                            });\r\n                        } else if (chart == \"user_grades\") {\r\n                            contents.push({\r\n                                title: this.strings.user_grades_help_title,\r\n                                description: this.strings.user_grades_help_description_p1,\r\n                            });\r\n                            contents.push({\r\n                                description: this.strings.user_grades_help_description_p2,\r\n                            });\r\n                            contents.push({\r\n                                description: this.strings.user_grades_help_description_p3,\r\n                            });\r\n                        }\r\n                        this.help_contents = contents;\r\n                        if (this.help_contents.length) {\r\n                            this.help_dialog = true;\r\n                        }\r\n                    },\r\n\r\n                    update_help_dialog (value) {\r\n                        this.help_dialog = value;\r\n                    },\r\n\r\n                    get_timezone(){\r\n                        let information = `${this.strings.ss_change_timezone} ${this.timezone}`\r\n                        return information;\r\n                    },\r\n                }\r\n            })\r\n        }\r\n\r\n        return {\r\n            init : init\r\n        };\r\n    });"
+  ],
+  "file": "dropout.min.js"
+}
diff --git a/notemyprogress/amd/build/emailform.min.js b/notemyprogress/amd/build/emailform.min.js
index 19e07cad1dbf7e2b1ff99fe640ca6b8d85863354..3c4e15318861a485cfe7870c9c30cfb200b3543e 100644
--- a/notemyprogress/amd/build/emailform.min.js
+++ b/notemyprogress/amd/build/emailform.min.js
@@ -1,2 +1,90 @@
-define(["local_notemyprogress/axios","local_notemyprogress/alertify"],function(e,n){return{template:'\n                <v-main mt-10>\n                    <v-row>\n                        <v-col sm="12">\n                            <v-dialog\n                                v-model="dialog"\n                                width="800"\n                                @click:outside="closeDialog()"\n                                @keydown.esc="closeDialog()"\n                            >\n                                <v-card>\n                                    <v-toolbar color="#118AB2" dark>\n                                        <span v-text="emailform_title"></span>\n                                        <v-spacer></v-spacer>\n                                        <v-btn icon @click="reset">\n                                            <v-icon v-text="close_icon"></v-icon>\n                                        </v-btn>\n                                    </v-toolbar>\n        \n                                    <v-container>\n                                        <v-row>\n                                            <v-col cols="12" sm="12">\n    \n                                                <v-chip class="ma-2" color="#118AB2" label dark>\n                                                    <span v-text="recipients"></span>\n                                                </v-chip>\n    \n                                                <template v-for="(user, index, key) in selected_users">\n                                                    <v-chip class="ma-2">\n                                                        <v-avatar left>\n                                                            <img :src="get_picture_url(user.id)">\n                                                        </v-avatar>\n                                                        <span>{{user.firstname}} {{user.lastname}}</span>\n                                                    </v-chip>\n                                                </template>\n    \n                                            </v-col>\n                                        </v-row>\n    \n                                        <v-row>\n                                            <v-col cols="12" sm="12">\n                                                <v-form ref="form" v-model="valid_form">\n                                                    <v-text-field\n                                                            v-model="strings.subject"\n                                                            :label="subject_label"\n                                                            :rules="subject_rules"\n                                                            required\n                                                            solo\n                                                    ></v-text-field>\n    \n                                                    <v-textarea\n                                                            v-model="message"\n                                                            :label="message_label"\n                                                            :rules="message_rules"\n                                                            required\n                                                            solo\n                                                    ></v-textarea>\n    \n                                                    <v-btn @click="submit" :disabled="!valid_form">\n                                                        <span v-text="submit_button"></span>\n                                                    </v-btn>\n    \n                                                    <v-btn @click="reset">\n                                                        <span v-text="cancel_button"></span>\n                                                    </v-btn>\n    \n                                                    <v-spacer></v-spacer>\n    \n                                                </v-form>\n                                            </v-col>\n                                        </v-row>\n                                    </v-container>\n        \n                                </v-card>\n                            </v-dialog>\n                        </v-col>\n                    </v-row>\n                    \n                    <v-row>\n                        <v-col sm="12">\n                            <div class="text-center">\n                                <v-dialog\n                                        v-model="loader_dialog"\n                                        persistent\n                                        width="300"\n                                >\n                                    <v-card color="#118AB2" dark>\n                                        <v-card-text>\n                                            <span v-text="sending_text"></span>\n                                            <v-progress-linear\n                                                    indeterminate\n                                                    color="white"\n                                                    class="mb-0"\n                                            ></v-progress-linear>\n                                        </v-card-text>\n                                    </v-card>\n                                </v-dialog>\n                            </div>\n                        </v-col>\n                    </v-row>\n               </v-main>\n                ',props:["dialog","selected_users","strings","moduleid","modulename","courseid","userid"],data(){return{close_icon:"mdi-minus",valid_form:!0,subject_label:this.strings.subject_label,subject_rules:[e=>!!e||this.strings.validation_subject_text],message:"",message_label:this.strings.message_label,message_rules:[e=>!!e||this.strings.validation_message_text],submit_button:this.strings.submit_button,cancel_button:this.strings.cancel_button,emailform_title:this.strings.emailform_title,sending_text:this.strings.sending_text,recipients:this.strings.recipients_label,loader_dialog:!1,mailsended_text:this.strings.mailsended_text}},methods:{get_picture_url:e=>`${M.cfg.wwwroot}/user/pix.php?file=/${e}/f1.jpg`,submit(){let t="";this.selected_users.forEach(e=>{t=t.concat(e.id,",")}),this.loader_dialog=!0,this.errors=[];let s={action:"sendmail",subject:this.strings.subject,recipients:t,text:this.message,userid:this.userid,courseid:this.courseid,moduleid:this.moduleid,modulename:this.modulename};e({method:"get",url:M.cfg.wwwroot+"/local/notemyprogress/ajax.php",params:s}).then(e=>{200==e.status&&e.data.ok?(this.$emit("update_dialog",!1),this.$refs.form.reset(),n.success(this.mailsended_text),"function"==typeof this.$parent.$root.addLogsIntoDB&&this.$parent.$root.addLogsIntoDB("sended",this.$parent.$root.email_object_name,"email","Sended an email")):(n.error(this.strings.api_error_network),this.loader_dialog=!1)}).catch(e=>{n.error(this.strings.api_error_network)}).finally(()=>{this.loader_dialog=!1})},reset(){this.$emit("update_dialog",!1),this.$refs.form.resetValidation()},closeDialog(){this.$emit("update_dialog",!1)}}}});
+define([
+  "local_notemyprogress/axios",
+  "local_notemyprogress/alertify",
+], function (e, n) {
+  return {
+    template:
+      '\n                <v-main mt-10>\n                    <v-row>\n                        <v-col sm="12">\n                            <v-dialog\n                                v-model="dialog"\n                                width="800"\n                                @click:outside="closeDialog()"\n                                @keydown.esc="closeDialog()"\n                            >\n                                <v-card>\n                                    <v-toolbar color="#118AB2" dark>\n                                        <span v-text="emailform_title"></span>\n                                        <v-spacer></v-spacer>\n                                        <v-btn icon @click="reset">\n                                            <v-icon v-text="close_icon"></v-icon>\n                                        </v-btn>\n                                    </v-toolbar>\n        \n                                    <v-container>\n                                        <v-row>\n                                            <v-col cols="12" sm="12">\n    \n                                                <v-chip class="ma-2" color="#118AB2" label dark>\n                                                    <span v-text="recipients"></span>\n                                                </v-chip>\n    \n                                                <template v-for="(user, index, key) in selected_users">\n                                                    <v-chip class="ma-2">\n                                                        <v-avatar left>\n                                                            <img :src="get_picture_url(user.id)">\n                                                        </v-avatar>\n                                                        <span>{{user.firstname}} {{user.lastname}}</span>\n                                                    </v-chip>\n                                                </template>\n    \n                                            </v-col>\n                                        </v-row>\n    \n                                        <v-row>\n                                            <v-col cols="12" sm="12">\n                                                <v-form ref="form" v-model="valid_form">\n                                                    <v-text-field\n                                                            v-model="strings.subject"\n                                                            :label="subject_label"\n                                                            :rules="subject_rules"\n                                                            required\n                                                            solo\n                                                    ></v-text-field>\n    \n                                                    <v-textarea\n                                                            v-model="message"\n                                                            :label="message_label"\n                                                            :rules="message_rules"\n                                                            required\n                                                            solo\n                                                    ></v-textarea>\n    \n                                                    <v-btn @click="submit" :disabled="!valid_form">\n                                                        <span v-text="submit_button"></span>\n                                                    </v-btn>\n    \n                                                    <v-btn @click="reset">\n                                                        <span v-text="cancel_button"></span>\n                                                    </v-btn>\n    \n                                                    <v-spacer></v-spacer>\n    \n                                                </v-form>\n                                            </v-col>\n                                        </v-row>\n                                    </v-container>\n        \n                                </v-card>\n                            </v-dialog>\n                        </v-col>\n                    </v-row>\n                    \n                    <v-row>\n                        <v-col sm="12">\n                            <div class="text-center">\n                                <v-dialog\n                                        v-model="loader_dialog"\n                                        persistent\n                                        width="300"\n                                >\n                                    <v-card color="#118AB2" dark>\n                                        <v-card-text>\n                                            <span v-text="sending_text"></span>\n                                            <v-progress-linear\n                                                    indeterminate\n                                                    color="white"\n                                                    class="mb-0"\n                                            ></v-progress-linear>\n                                        </v-card-text>\n                                    </v-card>\n                                </v-dialog>\n                            </div>\n                        </v-col>\n                    </v-row>\n               </v-main>\n                ',
+    props: [
+      "dialog",
+      "selected_users",
+      "strings",
+      "moduleid",
+      "modulename",
+      "courseid",
+      "userid",
+    ],
+    data() {
+      return {
+        close_icon: "mdi-minus",
+        valid_form: !0,
+        subject_label: this.strings.subject_label,
+        subject_rules: [(e) => !!e || this.strings.validation_subject_text],
+        message: "",
+        message_label: this.strings.message_label,
+        message_rules: [(e) => !!e || this.strings.validation_message_text],
+        submit_button: this.strings.submit_button,
+        cancel_button: this.strings.cancel_button,
+        emailform_title: this.strings.emailform_title,
+        sending_text: this.strings.sending_text,
+        recipients: this.strings.recipients_label,
+        loader_dialog: !1,
+        mailsended_text: this.strings.mailsended_text,
+      };
+    },
+    methods: {
+      get_picture_url: (e) => `${M.cfg.wwwroot}/user/pix.php?file=/${e}/f1.jpg`,
+      submit() {
+        let t = "";
+        this.selected_users.forEach((e) => {
+          t = t.concat(e.id, ",");
+        }),
+          (this.loader_dialog = !0),
+          (this.errors = []);
+        let s = {
+          action: "sendmail",
+          subject: this.strings.subject,
+          recipients: t,
+          text: this.message,
+          userid: this.userid,
+          courseid: this.courseid,
+          moduleid: this.moduleid,
+          modulename: this.modulename,
+        };
+        e({
+          method: "get",
+          url: M.cfg.wwwroot + "/local/notemyprogress/ajax.php",
+          params: s,
+        })
+          .then((e) => {
+            200 == e.status && e.data.ok
+              ? (this.$emit("update_dialog", !1),
+                this.$refs.form.reset(),
+                n.success(this.mailsended_text),
+                "function" == typeof this.$parent.$root.addLogsIntoDB &&
+                  this.$parent.$root.addLogsIntoDB(
+                    "sended",
+                    this.$parent.$root.email_object_name,
+                    "email",
+                    "Sended an email"
+                  ))
+              : (n.error(this.strings.api_error_network),
+                (this.loader_dialog = !1));
+          })
+          .catch((e) => {
+            n.error(this.strings.api_error_network);
+          })
+          .finally(() => {
+            this.loader_dialog = !1;
+          });
+      },
+      reset() {
+        this.$emit("update_dialog", !1), this.$refs.form.resetValidation();
+      },
+      closeDialog() {
+        this.$emit("update_dialog", !1);
+      },
+    },
+  };
+});
 //# sourceMappingURL=emailform.min.js.map
diff --git a/notemyprogress/amd/build/emailform.min.js.map b/notemyprogress/amd/build/emailform.min.js.map
index c3821b93f5795a0497696165335cb90909273f01..4a91fda5c2ff6bd2596bd2361d692e4749bf7c0c 100644
--- a/notemyprogress/amd/build/emailform.min.js.map
+++ b/notemyprogress/amd/build/emailform.min.js.map
@@ -1 +1,75 @@
-{"version":3,"sources":["../src/emailform.js"],"names":["define","Axios","Alertify","template","props","data","close_icon","valid_form","subject_label","strings","subject_rules","v","validation_subject_text","message","message_label","message_rules","validation_message_text","submit_button","cancel_button","emailform_title","sending_text","recipients","recipients_label","loader_dialog","mailsended_text","methods","get_picture_url","userid","url","M","cfg","wwwroot","submit","selected_users","forEach","item","concat","id","errors","action","subject","text","courseid","moduleid","modulename","method","params","then","response","status","ok","$emit","$refs","form","reset","success","error","api_error_network","catch","finally","resetValidation","closeDialog"],"mappings":"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","sourcesContent":["define([\r\n    \"local_notemyprogress/axios\",\r\n    \"local_notemyprogress/alertify\",\r\n    ],\r\n    function (Axios, Alertify){\r\n        const emailform = {\r\n        template:`\r\n                <v-main mt-10>\r\n                    <v-row>\r\n                        <v-col sm=\"12\">\r\n                            <v-dialog\r\n                                v-model=\"dialog\"\r\n                                width=\"800\"\r\n                                @click:outside=\"closeDialog()\"\r\n                                @keydown.esc=\"closeDialog()\"\r\n                            >\r\n                                <v-card>\r\n                                    <v-toolbar color=\"#118AB2\" dark>\r\n                                        <span v-text=\"emailform_title\"></span>\r\n                                        <v-spacer></v-spacer>\r\n                                        <v-btn icon @click=\"reset\">\r\n                                            <v-icon v-text=\"close_icon\"></v-icon>\r\n                                        </v-btn>\r\n                                    </v-toolbar>\r\n        \r\n                                    <v-container>\r\n                                        <v-row>\r\n                                            <v-col cols=\"12\" sm=\"12\">\r\n    \r\n                                                <v-chip class=\"ma-2\" color=\"#118AB2\" label dark>\r\n                                                    <span v-text=\"recipients\"></span>\r\n                                                </v-chip>\r\n    \r\n                                                <template v-for=\"(user, index, key) in selected_users\">\r\n                                                    <v-chip class=\"ma-2\">\r\n                                                        <v-avatar left>\r\n                                                            <img :src=\"get_picture_url(user.id)\">\r\n                                                        </v-avatar>\r\n                                                        <span>{{user.firstname}} {{user.lastname}}</span>\r\n                                                    </v-chip>\r\n                                                </template>\r\n    \r\n                                            </v-col>\r\n                                        </v-row>\r\n    \r\n                                        <v-row>\r\n                                            <v-col cols=\"12\" sm=\"12\">\r\n                                                <v-form ref=\"form\" v-model=\"valid_form\">\r\n                                                    <v-text-field\r\n                                                            v-model=\"strings.subject\"\r\n                                                            :label=\"subject_label\"\r\n                                                            :rules=\"subject_rules\"\r\n                                                            required\r\n                                                            solo\r\n                                                    ></v-text-field>\r\n    \r\n                                                    <v-textarea\r\n                                                            v-model=\"message\"\r\n                                                            :label=\"message_label\"\r\n                                                            :rules=\"message_rules\"\r\n                                                            required\r\n                                                            solo\r\n                                                    ></v-textarea>\r\n    \r\n                                                    <v-btn @click=\"submit\" :disabled=\"!valid_form\">\r\n                                                        <span v-text=\"submit_button\"></span>\r\n                                                    </v-btn>\r\n    \r\n                                                    <v-btn @click=\"reset\">\r\n                                                        <span v-text=\"cancel_button\"></span>\r\n                                                    </v-btn>\r\n    \r\n                                                    <v-spacer></v-spacer>\r\n    \r\n                                                </v-form>\r\n                                            </v-col>\r\n                                        </v-row>\r\n                                    </v-container>\r\n        \r\n                                </v-card>\r\n                            </v-dialog>\r\n                        </v-col>\r\n                    </v-row>\r\n                    \r\n                    <v-row>\r\n                        <v-col sm=\"12\">\r\n                            <div class=\"text-center\">\r\n                                <v-dialog\r\n                                        v-model=\"loader_dialog\"\r\n                                        persistent\r\n                                        width=\"300\"\r\n                                >\r\n                                    <v-card color=\"#118AB2\" dark>\r\n                                        <v-card-text>\r\n                                            <span v-text=\"sending_text\"></span>\r\n                                            <v-progress-linear\r\n                                                    indeterminate\r\n                                                    color=\"white\"\r\n                                                    class=\"mb-0\"\r\n                                            ></v-progress-linear>\r\n                                        </v-card-text>\r\n                                    </v-card>\r\n                                </v-dialog>\r\n                            </div>\r\n                        </v-col>\r\n                    </v-row>\r\n               </v-main>\r\n                `,\r\n        props:['dialog', 'selected_users', 'strings', 'moduleid', 'modulename', 'courseid', 'userid'],\r\n        data(){\r\n            return {\r\n                close_icon: 'mdi-minus',\r\n                valid_form: true,\r\n                subject_label: this.strings.subject_label,\r\n                subject_rules: [\r\n                    v => !!v || this.strings.validation_subject_text,\r\n                ],\r\n                message: '',\r\n                message_label: this.strings.message_label,\r\n                message_rules: [\r\n                    v => !!v || this.strings.validation_message_text,\r\n                ],\r\n                submit_button: this.strings.submit_button,\r\n                cancel_button: this.strings.cancel_button,\r\n                emailform_title: this.strings.emailform_title,\r\n                sending_text: this.strings.sending_text,\r\n                recipients: this.strings.recipients_label,\r\n\r\n                loader_dialog: false,\r\n                mailsended_text: this.strings.mailsended_text,\r\n            }\r\n        },\r\n        methods : {\r\n            get_picture_url(userid){\r\n                let url = `${M.cfg.wwwroot}/user/pix.php?file=/${userid}/f1.jpg`;\r\n                return url;\r\n            },\r\n\r\n            submit () {\r\n                let recipients = \"\";\r\n                this.selected_users.forEach(item => {\r\n                    recipients=recipients.concat(item.id,\",\");\r\n                });\r\n                this.loader_dialog = true;\r\n                this.errors = [];\r\n                let data = {\r\n                    action : \"sendmail\",\r\n                    subject : this.strings.subject,\r\n                    recipients : recipients,\r\n                    text : this.message,\r\n                    userid : this.userid,\r\n                    courseid : this.courseid,\r\n                    moduleid : this.moduleid,\r\n                    modulename : this.modulename,\r\n                };\r\n                Axios({\r\n                    method:'get',\r\n                    url: M.cfg.wwwroot + \"/local/notemyprogress/ajax.php\",\r\n                    params : data,\r\n                }).then((response) => {\r\n                    if (response.status == 200 && response.data.ok) {\r\n                        this.$emit('update_dialog', false);\r\n                        this.$refs.form.reset();\r\n                        Alertify.success(this.mailsended_text);\r\n                    } else {\r\n                        Alertify.error(this.strings.api_error_network);\r\n                        this.loader_dialog = false;\r\n                    }\r\n                }).catch((e) => {\r\n                    Alertify.error(this.strings.api_error_network);\r\n                }).finally(() => {\r\n                    this.loader_dialog = false;\r\n                });\r\n            },\r\n\r\n            reset () {\r\n                this.$emit('update_dialog', false);\r\n                this.$refs.form.resetValidation();\r\n            },\r\n\r\n            closeDialog() {\r\n                this.$emit('update_dialog', false);\r\n            }\r\n        },\r\n    }\r\n    return emailform;\r\n})"],"file":"emailform.min.js"}
\ No newline at end of file
+{
+  "version": 3,
+  "sources": [
+    "../src/emailform.js"
+  ],
+  "names": [
+    "define",
+    "Axios",
+    "Alertify",
+    "template",
+    "props",
+    "data",
+    "close_icon",
+    "valid_form",
+    "subject_label",
+    "strings",
+    "subject_rules",
+    "v",
+    "validation_subject_text",
+    "message",
+    "message_label",
+    "message_rules",
+    "validation_message_text",
+    "submit_button",
+    "cancel_button",
+    "emailform_title",
+    "sending_text",
+    "recipients",
+    "recipients_label",
+    "loader_dialog",
+    "mailsended_text",
+    "methods",
+    "get_picture_url",
+    "userid",
+    "url",
+    "M",
+    "cfg",
+    "wwwroot",
+    "submit",
+    "selected_users",
+    "forEach",
+    "item",
+    "concat",
+    "id",
+    "errors",
+    "action",
+    "subject",
+    "text",
+    "courseid",
+    "moduleid",
+    "modulename",
+    "method",
+    "params",
+    "then",
+    "response",
+    "status",
+    "ok",
+    "$emit",
+    "$refs",
+    "form",
+    "reset",
+    "success",
+    "error",
+    "api_error_network",
+    "catch",
+    "finally",
+    "resetValidation",
+    "closeDialog"
+  ],
+  "mappings": "AAAAA,OAAM,gCAAC,CACH,0BADG,CAEH,6BAFG,CAAD,CAIF,SAAUC,CAAV,CAAiBC,CAAjB,CAA0B,CAqL1B,MApLsB,CAClBC,QAAQ,8/KADU,CAuGlBC,KAAK,CAAC,CAAC,QAAD,CAAW,gBAAX,CAA6B,SAA7B,CAAwC,UAAxC,CAAoD,YAApD,CAAkE,UAAlE,CAA8E,QAA9E,CAvGY,CAwGlBC,IAxGkB,gBAwGZ,YACF,MAAO,CACHC,UAAU,CAAE,WADT,CAEHC,UAAU,GAFP,CAGHC,aAAa,CAAE,KAAKC,OAAL,CAAaD,aAHzB,CAIHE,aAAa,CAAE,CACX,SAAAC,CAAC,QAAI,CAAC,CAACA,CAAF,EAAO,CAAI,CAACF,OAAL,CAAaG,uBAAxB,CADU,CAJZ,CAOHC,OAAO,CAAE,EAPN,CAQHC,aAAa,CAAE,KAAKL,OAAL,CAAaK,aARzB,CASHC,aAAa,CAAE,CACX,SAAAJ,CAAC,QAAI,CAAC,CAACA,CAAF,EAAO,CAAI,CAACF,OAAL,CAAaO,uBAAxB,CADU,CATZ,CAYHC,aAAa,CAAE,KAAKR,OAAL,CAAaQ,aAZzB,CAaHC,aAAa,CAAE,KAAKT,OAAL,CAAaS,aAbzB,CAcHC,eAAe,CAAE,KAAKV,OAAL,CAAaU,eAd3B,CAeHC,YAAY,CAAE,KAAKX,OAAL,CAAaW,YAfxB,CAgBHC,UAAU,CAAE,KAAKZ,OAAL,CAAaa,gBAhBtB,CAkBHC,aAAa,GAlBV,CAmBHC,eAAe,CAAE,KAAKf,OAAL,CAAae,eAnB3B,CAqBV,CA9HiB,CA+HlBC,OAAO,CAAG,CACNC,eADM,0BACUC,CADV,CACiB,CACnB,GAAIC,CAAAA,CAAG,WAAMC,CAAC,CAACC,GAAF,CAAMC,OAAZ,gCAA0CJ,CAA1C,WAAP,CACA,MAAOC,CAAAA,CACV,CAJK,CAMNI,MANM,kBAMI,YACFX,CAAU,CAAG,EADX,CAEN,KAAKY,cAAL,CAAoBC,OAApB,CAA4B,SAAAC,CAAI,CAAI,CAChCd,CAAU,CAACA,CAAU,CAACe,MAAX,CAAkBD,CAAI,CAACE,EAAvB,CAA0B,GAA1B,CACd,CAFD,EAGA,KAAKd,aAAL,IACA,KAAKe,MAAL,CAAc,EAAd,CACA,GAAIjC,CAAAA,CAAI,CAAG,CACPkC,MAAM,CAAG,UADF,CAEPC,OAAO,CAAG,KAAK/B,OAAL,CAAa+B,OAFhB,CAGPnB,UAAU,CAAGA,CAHN,CAIPoB,IAAI,CAAG,KAAK5B,OAJL,CAKPc,MAAM,CAAG,KAAKA,MALP,CAMPe,QAAQ,CAAG,KAAKA,QANT,CAOPC,QAAQ,CAAG,KAAKA,QAPT,CAQPC,UAAU,CAAG,KAAKA,UARX,CAAX,CAUA3C,CAAK,CAAC,CACF4C,MAAM,CAAC,KADL,CAEFjB,GAAG,CAAEC,CAAC,CAACC,GAAF,CAAMC,OAAN,CAAgB,8BAFnB,CAGFe,MAAM,CAAGzC,CAHP,CAAD,CAAL,CAIG0C,IAJH,CAIQ,SAACC,CAAD,CAAc,CAClB,GAAuB,GAAnB,EAAAA,CAAQ,CAACC,MAAT,EAA0BD,CAAQ,CAAC3C,IAAT,CAAc6C,EAA5C,CAAgD,CAC5C,CAAI,CAACC,KAAL,CAAW,eAAX,KACA,CAAI,CAACC,KAAL,CAAWC,IAAX,CAAgBC,KAAhB,GACApD,CAAQ,CAACqD,OAAT,CAAiB,CAAI,CAAC/B,eAAtB,CACH,CAJD,IAIO,CACHtB,CAAQ,CAACsD,KAAT,CAAe,CAAI,CAAC/C,OAAL,CAAagD,iBAA5B,EACA,CAAI,CAAClC,aAAL,GACH,CACJ,CAbD,EAaGmC,KAbH,CAaS,UAAO,CACZxD,CAAQ,CAACsD,KAAT,CAAe,CAAI,CAAC/C,OAAL,CAAagD,iBAA5B,CACH,CAfD,EAeGE,OAfH,CAeW,UAAM,CACb,CAAI,CAACpC,aAAL,GACH,CAjBD,CAkBH,CAzCK,CA2CN+B,KA3CM,iBA2CG,CACL,KAAKH,KAAL,CAAW,eAAX,KACA,KAAKC,KAAL,CAAWC,IAAX,CAAgBO,eAAhB,EACH,CA9CK,CAgDNC,WAhDM,uBAgDQ,CACV,KAAKV,KAAL,CAAW,eAAX,IACH,CAlDK,CA/HQ,CAqLzB,CA1LK,CAAN",
+  "sourcesContent": [
+    "define([\r\n    \"local_notemyprogress/axios\",\r\n    \"local_notemyprogress/alertify\",\r\n    ],\r\n    function (Axios, Alertify){\r\n        const emailform = {\r\n        template:`\r\n                <v-main mt-10>\r\n                    <v-row>\r\n                        <v-col sm=\"12\">\r\n                            <v-dialog\r\n                                v-model=\"dialog\"\r\n                                width=\"800\"\r\n                                @click:outside=\"closeDialog()\"\r\n                                @keydown.esc=\"closeDialog()\"\r\n                            >\r\n                                <v-card>\r\n                                    <v-toolbar color=\"#118AB2\" dark>\r\n                                        <span v-text=\"emailform_title\"></span>\r\n                                        <v-spacer></v-spacer>\r\n                                        <v-btn icon @click=\"reset\">\r\n                                            <v-icon v-text=\"close_icon\"></v-icon>\r\n                                        </v-btn>\r\n                                    </v-toolbar>\r\n        \r\n                                    <v-container>\r\n                                        <v-row>\r\n                                            <v-col cols=\"12\" sm=\"12\">\r\n    \r\n                                                <v-chip class=\"ma-2\" color=\"#118AB2\" label dark>\r\n                                                    <span v-text=\"recipients\"></span>\r\n                                                </v-chip>\r\n    \r\n                                                <template v-for=\"(user, index, key) in selected_users\">\r\n                                                    <v-chip class=\"ma-2\">\r\n                                                        <v-avatar left>\r\n                                                            <img :src=\"get_picture_url(user.id)\">\r\n                                                        </v-avatar>\r\n                                                        <span>{{user.firstname}} {{user.lastname}}</span>\r\n                                                    </v-chip>\r\n                                                </template>\r\n    \r\n                                            </v-col>\r\n                                        </v-row>\r\n    \r\n                                        <v-row>\r\n                                            <v-col cols=\"12\" sm=\"12\">\r\n                                                <v-form ref=\"form\" v-model=\"valid_form\">\r\n                                                    <v-text-field\r\n                                                            v-model=\"strings.subject\"\r\n                                                            :label=\"subject_label\"\r\n                                                            :rules=\"subject_rules\"\r\n                                                            required\r\n                                                            solo\r\n                                                    ></v-text-field>\r\n    \r\n                                                    <v-textarea\r\n                                                            v-model=\"message\"\r\n                                                            :label=\"message_label\"\r\n                                                            :rules=\"message_rules\"\r\n                                                            required\r\n                                                            solo\r\n                                                    ></v-textarea>\r\n    \r\n                                                    <v-btn @click=\"submit\" :disabled=\"!valid_form\">\r\n                                                        <span v-text=\"submit_button\"></span>\r\n                                                    </v-btn>\r\n    \r\n                                                    <v-btn @click=\"reset\">\r\n                                                        <span v-text=\"cancel_button\"></span>\r\n                                                    </v-btn>\r\n    \r\n                                                    <v-spacer></v-spacer>\r\n    \r\n                                                </v-form>\r\n                                            </v-col>\r\n                                        </v-row>\r\n                                    </v-container>\r\n        \r\n                                </v-card>\r\n                            </v-dialog>\r\n                        </v-col>\r\n                    </v-row>\r\n                    \r\n                    <v-row>\r\n                        <v-col sm=\"12\">\r\n                            <div class=\"text-center\">\r\n                                <v-dialog\r\n                                        v-model=\"loader_dialog\"\r\n                                        persistent\r\n                                        width=\"300\"\r\n                                >\r\n                                    <v-card color=\"#118AB2\" dark>\r\n                                        <v-card-text>\r\n                                            <span v-text=\"sending_text\"></span>\r\n                                            <v-progress-linear\r\n                                                    indeterminate\r\n                                                    color=\"white\"\r\n                                                    class=\"mb-0\"\r\n                                            ></v-progress-linear>\r\n                                        </v-card-text>\r\n                                    </v-card>\r\n                                </v-dialog>\r\n                            </div>\r\n                        </v-col>\r\n                    </v-row>\r\n               </v-main>\r\n                `,\r\n        props:['dialog', 'selected_users', 'strings', 'moduleid', 'modulename', 'courseid', 'userid'],\r\n        data(){\r\n            return {\r\n                close_icon: 'mdi-minus',\r\n                valid_form: true,\r\n                subject_label: this.strings.subject_label,\r\n                subject_rules: [\r\n                    v => !!v || this.strings.validation_subject_text,\r\n                ],\r\n                message: '',\r\n                message_label: this.strings.message_label,\r\n                message_rules: [\r\n                    v => !!v || this.strings.validation_message_text,\r\n                ],\r\n                submit_button: this.strings.submit_button,\r\n                cancel_button: this.strings.cancel_button,\r\n                emailform_title: this.strings.emailform_title,\r\n                sending_text: this.strings.sending_text,\r\n                recipients: this.strings.recipients_label,\r\n\r\n                loader_dialog: false,\r\n                mailsended_text: this.strings.mailsended_text,\r\n            }\r\n        },\r\n        methods : {\r\n            get_picture_url(userid){\r\n                let url = `${M.cfg.wwwroot}/user/pix.php?file=/${userid}/f1.jpg`;\r\n                return url;\r\n            },\r\n\r\n            submit () {\r\n                let recipients = \"\";\r\n                this.selected_users.forEach(item => {\r\n                    recipients=recipients.concat(item.id,\",\");\r\n                });\r\n                this.loader_dialog = true;\r\n                this.errors = [];\r\n                let data = {\r\n                    action : \"sendmail\",\r\n                    subject : this.strings.subject,\r\n                    recipients : recipients,\r\n                    text : this.message,\r\n                    userid : this.userid,\r\n                    courseid : this.courseid,\r\n                    moduleid : this.moduleid,\r\n                    modulename : this.modulename,\r\n                };\r\n                Axios({\r\n                    method:'get',\r\n                    url: M.cfg.wwwroot + \"/local/notemyprogress/ajax.php\",\r\n                    params : data,\r\n                }).then((response) => {\r\n                    if (response.status == 200 && response.data.ok) {\r\n                        this.$emit('update_dialog', false);\r\n                        this.$refs.form.reset();\r\n                        Alertify.success(this.mailsended_text);\r\n                    } else {\r\n                        Alertify.error(this.strings.api_error_network);\r\n                        this.loader_dialog = false;\r\n                    }\r\n                }).catch((e) => {\r\n                    Alertify.error(this.strings.api_error_network);\r\n                }).finally(() => {\r\n                    this.loader_dialog = false;\r\n                });\r\n            },\r\n\r\n            reset () {\r\n                this.$emit('update_dialog', false);\r\n                this.$refs.form.resetValidation();\r\n            },\r\n\r\n            closeDialog() {\r\n                this.$emit('update_dialog', false);\r\n            }\r\n        },\r\n    }\r\n    return emailform;\r\n})"
+  ],
+  "file": "emailform.min.js"
+}
diff --git a/notemyprogress/amd/build/grades.min.js.map b/notemyprogress/amd/build/grades.min.js.map
index d108ae0b8d80589956010947dee7e2afcd896e1d..d0a6041019ab0425d7cb501a64c64c58f9a4a03c 100644
--- a/notemyprogress/amd/build/grades.min.js.map
+++ b/notemyprogress/amd/build/grades.min.js.map
@@ -1 +1,202 @@
-{"version":3,"sources":["../src/grades.js"],"names":["define","Vue","Vuetify","Axios","Moment","Pagination","ChartDynamic","PageHeader","EmailForm","HelpDialog","init","content","use","component","vue","delimiters","el","vuetify","data","strings","groups","userid","courseid","timezone","render_has","profile_render","loading","errors","pages","grades","grade_items_average_colors","item_grades_details_colors","item_grades_distribution_colors","default_category","average_categories","average_data","selected_items","item_details","grade_item_title","grade_item_details_categories","grade_item_details_data","grade_item_distribution_categories","grade_item_distribution_data","selected_item","grade_item_users","selected_users","dialog","modulename","moduleid","email_strings","help_dialog","help_contents","beforeMount","categories","length","calculate_chart_items_average","items","item","find_first_grade_item","update_detail_charts","mounted","document","querySelector","style","display","methods","get_help_content","contents","title","section_help_title","description","section_help_description","change_category","build_grade_items_average_chart","chart","type","backgroundColor","fontFamily","text","colors","xAxis","legend","enabled","plotOptions","series","cursor","point","events","click","position","x","tooltip","shared","formatter","points","value","y","count","gradecount","name","view_details","average","students_label","grades_tooltip_students","grades_tooltip_student","isInt","toFixed","grademax","grades_tooltip_average","grades_tooltip_grade","student_count","yAxis","allowDecimals","max","labels","format","grades_yaxis_title","build_item_grades_details_chart","category","key","itemname","maxgrade","grade","colorByPoint","build_item_grades_distribution_chart","grades_distribution_yaxis_title","prefix","grades_distribution_tooltip_prefix","suffix","grades_distribution_tooltip_suffix","send_mail","students_text","student_text","stacking","borderWidth","pointPadding","groupPadding","column","subject","subject_prefix","marker","lineWidth","values","forEach","push","average_percentage","itemmodule","coursemoduleid","calculate_chart_item_grade_detail","calculate_chart_item_grades_distribution","item_data","grades_best_grade","maxrating","grades_average_grade","grades_worst_grade","minrating","greater","grades_greater_than","smaller","grades_smaller_than","users","ranges","limit","weight","min","range","index","rawgrade","user","label","i","n","update_dialog","open_chart_help","grade_items_average_help_title","grade_items_average_help_description_p1","grade_items_average_help_description_p2","grade_items_average_help_description_p3","item_grades_details_help_title","item_grades_details_help_description_p1","item_grades_details_help_description_p2","item_grades_distribution_help_title","item_grades_distribution_help_description_p1","item_grades_distribution_help_description_p2","item_grades_distribution_help_description_p3","update_help_dialog","get_timezone","information","ss_change_timezone"],"mappings":"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","sourcesContent":["define([\"local_notemyprogress/vue\",\r\n        \"local_notemyprogress/vuetify\",\r\n        \"local_notemyprogress/axios\",\r\n        \"local_notemyprogress/moment\",\r\n        \"local_notemyprogress/pagination\",\r\n        \"local_notemyprogress/chartdynamic\",\r\n        \"local_notemyprogress/pageheader\",\r\n        \"local_notemyprogress/emailform\",\r\n        \"local_notemyprogress/helpdialog\",\r\n    ],\r\n    function(Vue, Vuetify, Axios, Moment, Pagination, ChartDynamic, PageHeader, EmailForm, HelpDialog) {\r\n        \"use strict\";\r\n\r\n        function init(content) {\r\n            // console.log(content);\r\n            Vue.use(Vuetify);\r\n            Vue.component('pagination', Pagination);\r\n            Vue.component('chart', ChartDynamic);\r\n            Vue.component('pageheader', PageHeader);\r\n            Vue.component('emailform', EmailForm);\r\n            Vue.component('helpdialog', HelpDialog);\r\n            let vue = new Vue({\r\n                delimiters: [\"[[\", \"]]\"],\r\n                el: \"#grades\",\r\n                vuetify: new Vuetify(),\r\n                data() {\r\n                    return {\r\n                        strings : content.strings,\r\n                        groups : content.groups,\r\n                        userid : content.userid,\r\n                        courseid : content.courseid,\r\n                        timezone : content.timezone,\r\n                        render_has : content.profile_render,\r\n                        loading : false,\r\n                        errors : [],\r\n                        pages : content.pages,\r\n\r\n                        grades: content.grades,\r\n                        grade_items_average_colors: content.grade_items_average_colors,\r\n                        item_grades_details_colors: content.item_grades_details_colors,\r\n                        item_grades_distribution_colors: content.item_grades_distribution_colors,\r\n                        default_category: null,\r\n                        average_categories: [],\r\n                        average_data: [],\r\n                        selected_items: [],\r\n                        item_details: [],\r\n\r\n                        grade_item_title: \"\",\r\n                        grade_item_details_categories: [],\r\n                        grade_item_details_data: [],\r\n\r\n                        grade_item_distribution_categories: [],\r\n                        grade_item_distribution_data: [],\r\n\r\n                        selected_item: null,\r\n\r\n                        grade_item_users: null,\r\n                        selected_users: [],\r\n                        dialog : false,\r\n                        modulename : \"\",\r\n                        moduleid : false,\r\n                        email_strings: content.strings.email_strings,\r\n\r\n                        help_dialog: false,\r\n                        help_contents: [],\r\n                    }\r\n                },\r\n                beforeMount(){\r\n                    if (this.grades.categories.length) {\r\n                        this.default_category = this.grades.categories[0];\r\n                        this.calculate_chart_items_average(this.default_category.items);\r\n                        let item = this.find_first_grade_item(this.default_category.items);\r\n                        this.update_detail_charts(item);\r\n                    };\r\n                },\r\n                mounted(){\r\n                    document.querySelector(\"#sessions-loader\").style.display = \"none\";\r\n                    document.querySelector(\"#grades\").style.display = \"block\";\r\n                },\r\n                methods : {\r\n                    get_help_content(){\r\n                        let contents = [];\r\n                        contents.push({\r\n                            title: this.strings.section_help_title,\r\n                            description: this.strings.section_help_description,\r\n                        });\r\n                        return contents;\r\n                    },\r\n\r\n                    change_category(items) {\r\n                        this.calculate_chart_items_average(items);\r\n                        let item = this.find_first_grade_item(items);\r\n                        this.update_detail_charts(item);\r\n                    },\r\n\r\n                    build_grade_items_average_chart() {\r\n                        let chart = new Object();\r\n                        chart.chart = {\r\n                            type: 'column',\r\n                            backgroundColor: null,\r\n                            style: {fontFamily: 'poppins'},\r\n                        };\r\n                        chart.title = {\r\n                            text: null\r\n                        };\r\n                        chart.colors = this.grade_items_average_colors;\r\n                        chart.xAxis = {\r\n                            categories: this.average_categories\r\n                        };\r\n                        chart.legend = {\r\n                            enabled: false\r\n                        };\r\n                        chart.plotOptions = {\r\n                            series: {\r\n                                cursor: 'pointer',\r\n                                point: {\r\n                                    events: {\r\n                                        click: function () {\r\n                                            let position = this.x;\r\n                                            let item = vue.selected_items[position];\r\n                                            vue.update_detail_charts(item);\r\n                                        }\r\n                                    }\r\n                                }\r\n                            }\r\n                        };\r\n                        chart.tooltip = {\r\n                            shared: true,\r\n                            formatter: function() {\r\n                                let position = this.points[0].point.x;\r\n                                let value = this.y;\r\n                                let item = vue.selected_items[position];\r\n                                let count = item.gradecount;\r\n                                let name = this.x;\r\n                                let view_details = vue.strings.view_details;\r\n                                let average = Number(item.average);\r\n                                let students_label = vue.strings.grades_tooltip_students;\r\n                                if (count == 1) {\r\n                                    students_label = vue.strings.grades_tooltip_student;\r\n                                }\r\n                                value = vue.isInt(value) ? value : value.toFixed(2);\r\n                                average = vue.isInt(average) ? average : average.toFixed(2);\r\n                                let grademax = item.grademax;\r\n                                let text = '<b>' + name + '<b> <br/>' +\r\n                                    vue.strings.grades_tooltip_average + ': ' + average + ' (' + value + ' %)<br/>' +\r\n                                    vue.strings.grades_tooltip_grade + ': ' + grademax + '<br/>' +\r\n                                    count + ' ' + students_label + ' ' + vue.grades.student_count + '<br/>' +\r\n                                    '<i>' + view_details + '</i>';\r\n                                return text;\r\n                            }\r\n                        };\r\n                        chart.yAxis = [{\r\n                            allowDecimals: false,\r\n                            max: 100,\r\n                            labels: {\r\n                                format: '{value} %',\r\n                            },\r\n                            title: {\r\n                                text: this.strings.grades_yaxis_title,\r\n                            }\r\n                        }];\r\n                        chart.series = [{\r\n                            data: this.average_data,\r\n                        }];\r\n                        return chart;\r\n                    },\r\n\r\n                    build_item_grades_details_chart() {\r\n                        let chart = new Object();\r\n                        chart.chart = {\r\n                            type: 'bar',\r\n                            backgroundColor: null,\r\n                            style: {fontFamily: 'poppins'},\r\n                        };\r\n                        chart.title = {\r\n                            text: null,\r\n                        };\r\n                        chart.colors = this.item_grades_details_colors;\r\n                        chart.xAxis = {\r\n                            type: 'category',\r\n                        };\r\n                        chart.legend = {\r\n                            enabled: false\r\n                        };\r\n                        chart.tooltip = {\r\n                            shared: true,\r\n                            formatter: function() {\r\n                                let category = this.points[0].key;\r\n                                let name = vue.selected_item.itemname;\r\n                                let maxgrade = vue.selected_item.grademax;\r\n                                let grade = this.y;\r\n                                grade = vue.isInt(grade) ? grade : grade.toFixed(2);\r\n                                let text = '<b>' + name + '<b> <br/>' +\r\n                                    category + ': ' + grade + '/' + maxgrade + '<br/>';\r\n                                return text;\r\n                            }\r\n                        };\r\n                        chart.yAxis = [{\r\n                            title: {\r\n                                enabled: false,\r\n                            }\r\n                        }];\r\n                        chart.series = [{\r\n                            colorByPoint: true,\r\n                            data: this.grade_item_details_data,\r\n                        }];\r\n                        return chart;\r\n                    },\r\n\r\n                    build_item_grades_distribution_chart() {\r\n                        let chart = new Object();\r\n                        chart.chart = {\r\n                            backgroundColor: null,\r\n                            style: {fontFamily: 'poppins'},\r\n                        };\r\n                        chart.title = {\r\n                            text: null,\r\n                        };\r\n                        chart.colors = this.item_grades_distribution_colors;\r\n                        chart.xAxis = {\r\n                            categories: this.grade_item_distribution_categories\r\n                        };\r\n                        chart.yAxis = [{\r\n                            title: {\r\n                                text: this.strings.grades_distribution_yaxis_title,\r\n                            },\r\n                            allowDecimals: false,\r\n                        }];\r\n                        chart.legend = {\r\n                            enabled: false\r\n                        };\r\n                        chart.tooltip = {\r\n                            formatter: function() {\r\n                                let prefix = vue.strings.grades_distribution_tooltip_prefix;\r\n                                let suffix = vue.strings.grades_distribution_tooltip_suffix;\r\n                                let send_mail = vue.strings.send_mail;\r\n                                let name = this.x;\r\n                                let value = this.y;\r\n                                let students_label = vue.strings.students_text;\r\n                                if (value == 1) {\r\n                                    students_label = vue.strings.student_text;\r\n                                }\r\n                                let text = '<b>' + prefix + ': </b> '+ name + ' <br/>'\r\n                                    + value + ' ' + students_label + ' ' + suffix + ' <br/>'\r\n                                    + '<i>' + send_mail + '</i>';\r\n                                return text;\r\n                            }\r\n                        };\r\n                        chart.plotOptions = {\r\n                            series: {\r\n                                stacking: 'normal',\r\n                                borderWidth: 1,\r\n                                pointPadding: 0,\r\n                                groupPadding: 0,\r\n                            },\r\n                            column:{\r\n                                point:{\r\n                                    events: {\r\n                                        click: function () {\r\n                                            let position = this.x;\r\n                                            vue.selected_users = vue.grade_item_users[position];\r\n                                            vue.email_strings.subject = vue.email_strings.subject_prefix\r\n                                                + \" - \" + vue.selected_item.itemname;\r\n                                            vue.dialog = true;\r\n                                        }\r\n                                    }\r\n                                }\r\n                            }\r\n                        };\r\n                        chart.series = [{\r\n                            type: 'column',\r\n                            data: this.grade_item_distribution_data\r\n                        }, {\r\n                            type: 'spline',\r\n                            data: this.grade_item_distribution_data,\r\n                            marker: {\r\n                                lineWidth: 1,\r\n                            }\r\n                        }];\r\n                        return chart;\r\n                    },\r\n\r\n                    calculate_chart_items_average(items) {\r\n                        let values = [];\r\n                        let categories = [];\r\n                        items.forEach(item => {\r\n                            values.push(item.average_percentage);\r\n                            categories.push(item.itemname);\r\n                        });\r\n                        this.average_categories = categories;\r\n                        this.average_data = values;\r\n                        this.selected_items = items;\r\n                    },\r\n\r\n                    update_detail_charts (item) {\r\n                        this.modulename = item.itemmodule;\r\n                        this.moduleid = item.coursemoduleid;\r\n                        this.grade_item_title = item.itemname;\r\n                        this.calculate_chart_item_grade_detail(item);\r\n                        this.calculate_chart_item_grades_distribution(item);\r\n                    },\r\n\r\n                    calculate_chart_item_grade_detail(item) {\r\n                        this.selected_item = item;\r\n                        let item_data = [{\r\n                            name: this.strings.grades_best_grade,\r\n                            y: Number(item.maxrating) || 0\r\n                        },{\r\n                            name: this.strings.grades_average_grade,\r\n                            y: Number(item.average) || 0\r\n                        }, {\r\n                            name: this.strings.grades_worst_grade,\r\n                            y: Number(item.minrating) || 0\r\n                        }];\r\n                        this.grade_item_details_data = item_data;\r\n                    },\r\n\r\n                    calculate_chart_item_grades_distribution(item) {\r\n                        let greater = this.strings.grades_greater_than;\r\n                        let smaller = this.strings.grades_smaller_than;\r\n                        let categories = [\r\n                            `${greater} 90%`,\r\n                            `${greater} 80%`,\r\n                            `${greater} 70%`,\r\n                            `${greater} 60%`,\r\n                            `${greater} 50%`,\r\n                            `${smaller} 50%`];\r\n                        let values = [0, 0, 0, 0, 0, 0];\r\n                        let users = [[], [], [], [], [], []];\r\n                        if (item) {\r\n                            let weights = [0.9, 0.8, 0.7, 0.6, 0.5, 0];\r\n                            let ranges = [];\r\n                            let grademax = item.grademax;\r\n                            let limit = grademax;\r\n                            weights.forEach(weight => {\r\n                                let grade = grademax * weight;\r\n                                ranges.push({ max: limit, min: grade, count: 0});\r\n                                limit = grade - 0.1;\r\n                            });\r\n\r\n                            item.grades.forEach(grade => {\r\n                                ranges.forEach((range, index) => {\r\n                                    if (grade.rawgrade >= range.min && grade.rawgrade <= range.max) {\r\n                                        range.count++;\r\n                                        users[index].push(grade.user);\r\n                                    }\r\n                                });\r\n                            });\r\n\r\n                            values = [];\r\n                            ranges.forEach((range, index) => {\r\n                                let max = this.isInt(range.max) ? range.max : range.max.toFixed(1);\r\n                                let min = this.isInt(range.min) ? range.min : range.min.toFixed(1);\r\n                                let label = `${max} - ${min}<br/>${categories[index]}`;\r\n                                categories[index] = label;\r\n                                values.push(range.count);\r\n                            });\r\n                        }\r\n                        this.grade_item_users = users;\r\n                        this.grade_item_distribution_categories = categories,\r\n                        this.grade_item_distribution_data = values;\r\n                    },\r\n\r\n                    find_first_grade_item(items) {\r\n                        let item;\r\n                        if (items.length) {\r\n                            let count = items.length;\r\n                            for (let i = 0; i < count; i++) {\r\n                                if (items[i].maxrating > 0) {\r\n                                    item = items[i];\r\n                                    break;\r\n                                }\r\n                            }\r\n                            if (!item) {\r\n                                item = items[0];\r\n                            }\r\n                        }\r\n                        return item;\r\n                    },\r\n\r\n                    isInt(n) {\r\n                        return n % 1 === 0;\r\n                    },\r\n\r\n                    update_dialog (value) {\r\n                        this.dialog = value;\r\n                    },\r\n\r\n                    open_chart_help(chart) {\r\n                        let contents = [];\r\n                        if (chart == \"grade_items_average\") {\r\n                            contents.push({\r\n                                title: this.strings.grade_items_average_help_title,\r\n                                description: this.strings.grade_items_average_help_description_p1,\r\n                            });\r\n                            contents.push({\r\n                                description: this.strings.grade_items_average_help_description_p2,\r\n                            });\r\n                            contents.push({\r\n                                description: this.strings.grade_items_average_help_description_p3,\r\n                            });\r\n                        } else if (chart == \"item_grades_details\") {\r\n                            contents.push({\r\n                                title: this.strings.item_grades_details_help_title,\r\n                                description: this.strings.item_grades_details_help_description_p1,\r\n                            });\r\n                            contents.push({\r\n                                description: this.strings.item_grades_details_help_description_p2,\r\n                            });\r\n                        } else if (chart == \"item_grades_distribution\") {\r\n                            contents.push({\r\n                                title: this.strings.item_grades_distribution_help_title,\r\n                                description: this.strings.item_grades_distribution_help_description_p1,\r\n                            });\r\n                            contents.push({\r\n                                description: this.strings.item_grades_distribution_help_description_p2,\r\n                            });\r\n                            contents.push({\r\n                                description: this.strings.item_grades_distribution_help_description_p3,\r\n                            });\r\n                        }\r\n                        this.help_contents = contents;\r\n                        if (this.help_contents.length) {\r\n                            this.help_dialog = true;\r\n                        }\r\n                    },\r\n\r\n                    update_help_dialog (value) {\r\n                        this.help_dialog = value;\r\n                    },\r\n\r\n                    get_timezone(){\r\n                        let information = `${this.strings.ss_change_timezone} ${this.timezone}`\r\n                        return information;\r\n                    },\r\n                }\r\n            })\r\n        }\r\n\r\n        return {\r\n            init : init\r\n        };\r\n    });"],"file":"grades.min.js"}
\ No newline at end of file
+{
+  "version": 3,
+  "sources": [
+    "../src/grades.js"
+  ],
+  "names": [
+    "define",
+    "Vue",
+    "Vuetify",
+    "Axios",
+    "Moment",
+    "Pagination",
+    "ChartDynamic",
+    "PageHeader",
+    "EmailForm",
+    "HelpDialog",
+    "init",
+    "content",
+    "use",
+    "component",
+    "vue",
+    "delimiters",
+    "el",
+    "vuetify",
+    "data",
+    "strings",
+    "groups",
+    "userid",
+    "courseid",
+    "timezone",
+    "render_has",
+    "profile_render",
+    "loading",
+    "errors",
+    "pages",
+    "grades",
+    "grade_items_average_colors",
+    "item_grades_details_colors",
+    "item_grades_distribution_colors",
+    "default_category",
+    "average_categories",
+    "average_data",
+    "selected_items",
+    "item_details",
+    "grade_item_title",
+    "grade_item_details_categories",
+    "grade_item_details_data",
+    "grade_item_distribution_categories",
+    "grade_item_distribution_data",
+    "selected_item",
+    "grade_item_users",
+    "selected_users",
+    "dialog",
+    "modulename",
+    "moduleid",
+    "email_strings",
+    "help_dialog",
+    "help_contents",
+    "beforeMount",
+    "categories",
+    "length",
+    "calculate_chart_items_average",
+    "items",
+    "item",
+    "find_first_grade_item",
+    "update_detail_charts",
+    "mounted",
+    "document",
+    "querySelector",
+    "style",
+    "display",
+    "methods",
+    "get_help_content",
+    "contents",
+    "title",
+    "section_help_title",
+    "description",
+    "section_help_description",
+    "change_category",
+    "build_grade_items_average_chart",
+    "chart",
+    "type",
+    "backgroundColor",
+    "fontFamily",
+    "text",
+    "colors",
+    "xAxis",
+    "legend",
+    "enabled",
+    "plotOptions",
+    "series",
+    "cursor",
+    "point",
+    "events",
+    "click",
+    "position",
+    "x",
+    "tooltip",
+    "shared",
+    "formatter",
+    "points",
+    "value",
+    "y",
+    "count",
+    "gradecount",
+    "name",
+    "view_details",
+    "average",
+    "students_label",
+    "grades_tooltip_students",
+    "grades_tooltip_student",
+    "isInt",
+    "toFixed",
+    "grademax",
+    "grades_tooltip_average",
+    "grades_tooltip_grade",
+    "student_count",
+    "yAxis",
+    "allowDecimals",
+    "max",
+    "labels",
+    "format",
+    "grades_yaxis_title",
+    "build_item_grades_details_chart",
+    "category",
+    "key",
+    "itemname",
+    "maxgrade",
+    "grade",
+    "colorByPoint",
+    "build_item_grades_distribution_chart",
+    "grades_distribution_yaxis_title",
+    "prefix",
+    "grades_distribution_tooltip_prefix",
+    "suffix",
+    "grades_distribution_tooltip_suffix",
+    "send_mail",
+    "students_text",
+    "student_text",
+    "stacking",
+    "borderWidth",
+    "pointPadding",
+    "groupPadding",
+    "column",
+    "subject",
+    "subject_prefix",
+    "marker",
+    "lineWidth",
+    "values",
+    "forEach",
+    "push",
+    "average_percentage",
+    "itemmodule",
+    "coursemoduleid",
+    "calculate_chart_item_grade_detail",
+    "calculate_chart_item_grades_distribution",
+    "item_data",
+    "grades_best_grade",
+    "maxrating",
+    "grades_average_grade",
+    "grades_worst_grade",
+    "minrating",
+    "greater",
+    "grades_greater_than",
+    "smaller",
+    "grades_smaller_than",
+    "users",
+    "ranges",
+    "limit",
+    "weight",
+    "min",
+    "range",
+    "index",
+    "rawgrade",
+    "user",
+    "label",
+    "i",
+    "n",
+    "update_dialog",
+    "open_chart_help",
+    "grade_items_average_help_title",
+    "grade_items_average_help_description_p1",
+    "grade_items_average_help_description_p2",
+    "grade_items_average_help_description_p3",
+    "item_grades_details_help_title",
+    "item_grades_details_help_description_p1",
+    "item_grades_details_help_description_p2",
+    "item_grades_distribution_help_title",
+    "item_grades_distribution_help_description_p1",
+    "item_grades_distribution_help_description_p2",
+    "item_grades_distribution_help_description_p3",
+    "update_help_dialog",
+    "get_timezone",
+    "information",
+    "ss_change_timezone"
+  ],
+  "mappings": "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",
+  "sourcesContent": [
+    "define([\"local_notemyprogress/vue\",\r\n        \"local_notemyprogress/vuetify\",\r\n        \"local_notemyprogress/axios\",\r\n        \"local_notemyprogress/moment\",\r\n        \"local_notemyprogress/pagination\",\r\n        \"local_notemyprogress/chartdynamic\",\r\n        \"local_notemyprogress/pageheader\",\r\n        \"local_notemyprogress/emailform\",\r\n        \"local_notemyprogress/helpdialog\",\r\n    ],\r\n    function(Vue, Vuetify, Axios, Moment, Pagination, ChartDynamic, PageHeader, EmailForm, HelpDialog) {\r\n        \"use strict\";\r\n\r\n        function init(content) {\r\n            // console.log(content);\r\n            Vue.use(Vuetify);\r\n            Vue.component('pagination', Pagination);\r\n            Vue.component('chart', ChartDynamic);\r\n            Vue.component('pageheader', PageHeader);\r\n            Vue.component('emailform', EmailForm);\r\n            Vue.component('helpdialog', HelpDialog);\r\n            let vue = new Vue({\r\n                delimiters: [\"[[\", \"]]\"],\r\n                el: \"#grades\",\r\n                vuetify: new Vuetify(),\r\n                data() {\r\n                    return {\r\n                        strings : content.strings,\r\n                        groups : content.groups,\r\n                        userid : content.userid,\r\n                        courseid : content.courseid,\r\n                        timezone : content.timezone,\r\n                        render_has : content.profile_render,\r\n                        loading : false,\r\n                        errors : [],\r\n                        pages : content.pages,\r\n\r\n                        grades: content.grades,\r\n                        grade_items_average_colors: content.grade_items_average_colors,\r\n                        item_grades_details_colors: content.item_grades_details_colors,\r\n                        item_grades_distribution_colors: content.item_grades_distribution_colors,\r\n                        default_category: null,\r\n                        average_categories: [],\r\n                        average_data: [],\r\n                        selected_items: [],\r\n                        item_details: [],\r\n\r\n                        grade_item_title: \"\",\r\n                        grade_item_details_categories: [],\r\n                        grade_item_details_data: [],\r\n\r\n                        grade_item_distribution_categories: [],\r\n                        grade_item_distribution_data: [],\r\n\r\n                        selected_item: null,\r\n\r\n                        grade_item_users: null,\r\n                        selected_users: [],\r\n                        dialog : false,\r\n                        modulename : \"\",\r\n                        moduleid : false,\r\n                        email_strings: content.strings.email_strings,\r\n\r\n                        help_dialog: false,\r\n                        help_contents: [],\r\n                    }\r\n                },\r\n                beforeMount(){\r\n                    if (this.grades.categories.length) {\r\n                        this.default_category = this.grades.categories[0];\r\n                        this.calculate_chart_items_average(this.default_category.items);\r\n                        let item = this.find_first_grade_item(this.default_category.items);\r\n                        this.update_detail_charts(item);\r\n                    };\r\n                },\r\n                mounted(){\r\n                    document.querySelector(\"#sessions-loader\").style.display = \"none\";\r\n                    document.querySelector(\"#grades\").style.display = \"block\";\r\n                },\r\n                methods : {\r\n                    get_help_content(){\r\n                        let contents = [];\r\n                        contents.push({\r\n                            title: this.strings.section_help_title,\r\n                            description: this.strings.section_help_description,\r\n                        });\r\n                        return contents;\r\n                    },\r\n\r\n                    change_category(items) {\r\n                        this.calculate_chart_items_average(items);\r\n                        let item = this.find_first_grade_item(items);\r\n                        this.update_detail_charts(item);\r\n                    },\r\n\r\n                    build_grade_items_average_chart() {\r\n                        let chart = new Object();\r\n                        chart.chart = {\r\n                            type: 'column',\r\n                            backgroundColor: null,\r\n                            style: {fontFamily: 'poppins'},\r\n                        };\r\n                        chart.title = {\r\n                            text: null\r\n                        };\r\n                        chart.colors = this.grade_items_average_colors;\r\n                        chart.xAxis = {\r\n                            categories: this.average_categories\r\n                        };\r\n                        chart.legend = {\r\n                            enabled: false\r\n                        };\r\n                        chart.plotOptions = {\r\n                            series: {\r\n                                cursor: 'pointer',\r\n                                point: {\r\n                                    events: {\r\n                                        click: function () {\r\n                                            let position = this.x;\r\n                                            let item = vue.selected_items[position];\r\n                                            vue.update_detail_charts(item);\r\n                                        }\r\n                                    }\r\n                                }\r\n                            }\r\n                        };\r\n                        chart.tooltip = {\r\n                            shared: true,\r\n                            formatter: function() {\r\n                                let position = this.points[0].point.x;\r\n                                let value = this.y;\r\n                                let item = vue.selected_items[position];\r\n                                let count = item.gradecount;\r\n                                let name = this.x;\r\n                                let view_details = vue.strings.view_details;\r\n                                let average = Number(item.average);\r\n                                let students_label = vue.strings.grades_tooltip_students;\r\n                                if (count == 1) {\r\n                                    students_label = vue.strings.grades_tooltip_student;\r\n                                }\r\n                                value = vue.isInt(value) ? value : value.toFixed(2);\r\n                                average = vue.isInt(average) ? average : average.toFixed(2);\r\n                                let grademax = item.grademax;\r\n                                let text = '<b>' + name + '<b> <br/>' +\r\n                                    vue.strings.grades_tooltip_average + ': ' + average + ' (' + value + ' %)<br/>' +\r\n                                    vue.strings.grades_tooltip_grade + ': ' + grademax + '<br/>' +\r\n                                    count + ' ' + students_label + ' ' + vue.grades.student_count + '<br/>' +\r\n                                    '<i>' + view_details + '</i>';\r\n                                return text;\r\n                            }\r\n                        };\r\n                        chart.yAxis = [{\r\n                            allowDecimals: false,\r\n                            max: 100,\r\n                            labels: {\r\n                                format: '{value} %',\r\n                            },\r\n                            title: {\r\n                                text: this.strings.grades_yaxis_title,\r\n                            }\r\n                        }];\r\n                        chart.series = [{\r\n                            data: this.average_data,\r\n                        }];\r\n                        return chart;\r\n                    },\r\n\r\n                    build_item_grades_details_chart() {\r\n                        let chart = new Object();\r\n                        chart.chart = {\r\n                            type: 'bar',\r\n                            backgroundColor: null,\r\n                            style: {fontFamily: 'poppins'},\r\n                        };\r\n                        chart.title = {\r\n                            text: null,\r\n                        };\r\n                        chart.colors = this.item_grades_details_colors;\r\n                        chart.xAxis = {\r\n                            type: 'category',\r\n                        };\r\n                        chart.legend = {\r\n                            enabled: false\r\n                        };\r\n                        chart.tooltip = {\r\n                            shared: true,\r\n                            formatter: function() {\r\n                                let category = this.points[0].key;\r\n                                let name = vue.selected_item.itemname;\r\n                                let maxgrade = vue.selected_item.grademax;\r\n                                let grade = this.y;\r\n                                grade = vue.isInt(grade) ? grade : grade.toFixed(2);\r\n                                let text = '<b>' + name + '<b> <br/>' +\r\n                                    category + ': ' + grade + '/' + maxgrade + '<br/>';\r\n                                return text;\r\n                            }\r\n                        };\r\n                        chart.yAxis = [{\r\n                            title: {\r\n                                enabled: false,\r\n                            }\r\n                        }];\r\n                        chart.series = [{\r\n                            colorByPoint: true,\r\n                            data: this.grade_item_details_data,\r\n                        }];\r\n                        return chart;\r\n                    },\r\n\r\n                    build_item_grades_distribution_chart() {\r\n                        let chart = new Object();\r\n                        chart.chart = {\r\n                            backgroundColor: null,\r\n                            style: {fontFamily: 'poppins'},\r\n                        };\r\n                        chart.title = {\r\n                            text: null,\r\n                        };\r\n                        chart.colors = this.item_grades_distribution_colors;\r\n                        chart.xAxis = {\r\n                            categories: this.grade_item_distribution_categories\r\n                        };\r\n                        chart.yAxis = [{\r\n                            title: {\r\n                                text: this.strings.grades_distribution_yaxis_title,\r\n                            },\r\n                            allowDecimals: false,\r\n                        }];\r\n                        chart.legend = {\r\n                            enabled: false\r\n                        };\r\n                        chart.tooltip = {\r\n                            formatter: function() {\r\n                                let prefix = vue.strings.grades_distribution_tooltip_prefix;\r\n                                let suffix = vue.strings.grades_distribution_tooltip_suffix;\r\n                                let send_mail = vue.strings.send_mail;\r\n                                let name = this.x;\r\n                                let value = this.y;\r\n                                let students_label = vue.strings.students_text;\r\n                                if (value == 1) {\r\n                                    students_label = vue.strings.student_text;\r\n                                }\r\n                                let text = '<b>' + prefix + ': </b> '+ name + ' <br/>'\r\n                                    + value + ' ' + students_label + ' ' + suffix + ' <br/>'\r\n                                    + '<i>' + send_mail + '</i>';\r\n                                return text;\r\n                            }\r\n                        };\r\n                        chart.plotOptions = {\r\n                            series: {\r\n                                stacking: 'normal',\r\n                                borderWidth: 1,\r\n                                pointPadding: 0,\r\n                                groupPadding: 0,\r\n                            },\r\n                            column:{\r\n                                point:{\r\n                                    events: {\r\n                                        click: function () {\r\n                                            let position = this.x;\r\n                                            vue.selected_users = vue.grade_item_users[position];\r\n                                            vue.email_strings.subject = vue.email_strings.subject_prefix\r\n                                                + \" - \" + vue.selected_item.itemname;\r\n                                            vue.dialog = true;\r\n                                        }\r\n                                    }\r\n                                }\r\n                            }\r\n                        };\r\n                        chart.series = [{\r\n                            type: 'column',\r\n                            data: this.grade_item_distribution_data\r\n                        }, {\r\n                            type: 'spline',\r\n                            data: this.grade_item_distribution_data,\r\n                            marker: {\r\n                                lineWidth: 1,\r\n                            }\r\n                        }];\r\n                        return chart;\r\n                    },\r\n\r\n                    calculate_chart_items_average(items) {\r\n                        let values = [];\r\n                        let categories = [];\r\n                        items.forEach(item => {\r\n                            values.push(item.average_percentage);\r\n                            categories.push(item.itemname);\r\n                        });\r\n                        this.average_categories = categories;\r\n                        this.average_data = values;\r\n                        this.selected_items = items;\r\n                    },\r\n\r\n                    update_detail_charts (item) {\r\n                        this.modulename = item.itemmodule;\r\n                        this.moduleid = item.coursemoduleid;\r\n                        this.grade_item_title = item.itemname;\r\n                        this.calculate_chart_item_grade_detail(item);\r\n                        this.calculate_chart_item_grades_distribution(item);\r\n                    },\r\n\r\n                    calculate_chart_item_grade_detail(item) {\r\n                        this.selected_item = item;\r\n                        let item_data = [{\r\n                            name: this.strings.grades_best_grade,\r\n                            y: Number(item.maxrating) || 0\r\n                        },{\r\n                            name: this.strings.grades_average_grade,\r\n                            y: Number(item.average) || 0\r\n                        }, {\r\n                            name: this.strings.grades_worst_grade,\r\n                            y: Number(item.minrating) || 0\r\n                        }];\r\n                        this.grade_item_details_data = item_data;\r\n                    },\r\n\r\n                    calculate_chart_item_grades_distribution(item) {\r\n                        let greater = this.strings.grades_greater_than;\r\n                        let smaller = this.strings.grades_smaller_than;\r\n                        let categories = [\r\n                            `${greater} 90%`,\r\n                            `${greater} 80%`,\r\n                            `${greater} 70%`,\r\n                            `${greater} 60%`,\r\n                            `${greater} 50%`,\r\n                            `${smaller} 50%`];\r\n                        let values = [0, 0, 0, 0, 0, 0];\r\n                        let users = [[], [], [], [], [], []];\r\n                        if (item) {\r\n                            let weights = [0.9, 0.8, 0.7, 0.6, 0.5, 0];\r\n                            let ranges = [];\r\n                            let grademax = item.grademax;\r\n                            let limit = grademax;\r\n                            weights.forEach(weight => {\r\n                                let grade = grademax * weight;\r\n                                ranges.push({ max: limit, min: grade, count: 0});\r\n                                limit = grade - 0.1;\r\n                            });\r\n\r\n                            item.grades.forEach(grade => {\r\n                                ranges.forEach((range, index) => {\r\n                                    if (grade.rawgrade >= range.min && grade.rawgrade <= range.max) {\r\n                                        range.count++;\r\n                                        users[index].push(grade.user);\r\n                                    }\r\n                                });\r\n                            });\r\n\r\n                            values = [];\r\n                            ranges.forEach((range, index) => {\r\n                                let max = this.isInt(range.max) ? range.max : range.max.toFixed(1);\r\n                                let min = this.isInt(range.min) ? range.min : range.min.toFixed(1);\r\n                                let label = `${max} - ${min}<br/>${categories[index]}`;\r\n                                categories[index] = label;\r\n                                values.push(range.count);\r\n                            });\r\n                        }\r\n                        this.grade_item_users = users;\r\n                        this.grade_item_distribution_categories = categories,\r\n                        this.grade_item_distribution_data = values;\r\n                    },\r\n\r\n                    find_first_grade_item(items) {\r\n                        let item;\r\n                        if (items.length) {\r\n                            let count = items.length;\r\n                            for (let i = 0; i < count; i++) {\r\n                                if (items[i].maxrating > 0) {\r\n                                    item = items[i];\r\n                                    break;\r\n                                }\r\n                            }\r\n                            if (!item) {\r\n                                item = items[0];\r\n                            }\r\n                        }\r\n                        return item;\r\n                    },\r\n\r\n                    isInt(n) {\r\n                        return n % 1 === 0;\r\n                    },\r\n\r\n                    update_dialog (value) {\r\n                        this.dialog = value;\r\n                    },\r\n\r\n                    open_chart_help(chart) {\r\n                        let contents = [];\r\n                        if (chart == \"grade_items_average\") {\r\n                            contents.push({\r\n                                title: this.strings.grade_items_average_help_title,\r\n                                description: this.strings.grade_items_average_help_description_p1,\r\n                            });\r\n                            contents.push({\r\n                                description: this.strings.grade_items_average_help_description_p2,\r\n                            });\r\n                            contents.push({\r\n                                description: this.strings.grade_items_average_help_description_p3,\r\n                            });\r\n                        } else if (chart == \"item_grades_details\") {\r\n                            contents.push({\r\n                                title: this.strings.item_grades_details_help_title,\r\n                                description: this.strings.item_grades_details_help_description_p1,\r\n                            });\r\n                            contents.push({\r\n                                description: this.strings.item_grades_details_help_description_p2,\r\n                            });\r\n                        } else if (chart == \"item_grades_distribution\") {\r\n                            contents.push({\r\n                                title: this.strings.item_grades_distribution_help_title,\r\n                                description: this.strings.item_grades_distribution_help_description_p1,\r\n                            });\r\n                            contents.push({\r\n                                description: this.strings.item_grades_distribution_help_description_p2,\r\n                            });\r\n                            contents.push({\r\n                                description: this.strings.item_grades_distribution_help_description_p3,\r\n                            });\r\n                        }\r\n                        this.help_contents = contents;\r\n                        if (this.help_contents.length) {\r\n                            this.help_dialog = true;\r\n                        }\r\n                    },\r\n\r\n                    update_help_dialog (value) {\r\n                        this.help_dialog = value;\r\n                    },\r\n\r\n                    get_timezone(){\r\n                        let information = `${this.strings.ss_change_timezone} ${this.timezone}`\r\n                        return information;\r\n                    },\r\n                }\r\n            })\r\n        }\r\n\r\n        return {\r\n            init : init\r\n        };\r\n    });"
+  ],
+  "file": "grades.min.js"
+}
diff --git a/notemyprogress/amd/build/metareflexion.js b/notemyprogress/amd/build/metareflexion.js
new file mode 100644
index 0000000000000000000000000000000000000000..7ca5c8a46f140151555b04b7871c840b8b8165a4
--- /dev/null
+++ b/notemyprogress/amd/build/metareflexion.js
@@ -0,0 +1,887 @@
+define([
+  "local_notemyprogress/vue",
+  "local_notemyprogress/vuetify",
+  "local_notemyprogress/axios",
+  "local_notemyprogress/alertify",
+  "local_notemyprogress/pagination",
+  //"local_student_reports/chartcomponent",
+  "local_notemyprogress/chartstatic",
+  "local_notemyprogress/pageheader",
+], function (Vue, Vuetify, Axios, Alertify, Pagination, Chart, Pageheader) {
+  "use strict";
+
+  function clone(obj) {
+    return JSON.parse(JSON.stringify(obj));
+  }
+
+  function init(content) {
+    Vue.use(Vuetify);
+    Vue.component("pagination", Pagination);
+    Vue.component("chart", Chart);
+    Vue.component("pageheader", Pageheader);
+
+    var vue = new Vue({
+      delimiters: ["[[", "]]"],
+      el: "#metareflexion",
+      vuetify: new Vuetify(),
+      data() {
+        return {
+          disabled_form: false,
+          groups: content.groups,
+          students_planification: content.students_planification,
+          selected_week: null,
+          paginator_week: null,
+          saved_planification: false,
+          strings: content.strings,
+          userid: content.userid,
+          courseid: content.courseid,
+          loading: false,
+          compare_with_course: false,
+          current_week: content.cmcurrentweeknew,
+          data_report_meta_days: content.data_report_days,
+          data_report_meta_hours: content.data_report_hours,
+          data_report_meta_classroom:
+            content.data_report_classroom.average_classroom,
+          data_report_meta_of_classroom:
+            content.data_report_classroom.average_of_classroom,
+          data_report_meta_last_week: content.report_last_week,
+          status_planning: content.status_planning,
+          course_report_hours: content.course_report_hours,
+          past_week: content.lastweek,
+          render_has: content.profile_render,
+          dialog: false,
+          days_committed: [
+            {
+              name: "monday",
+              modules: [],
+            },
+            {
+              name: "tuesday",
+              modules: [],
+            },
+            {
+              name: "wednesday",
+              modules: [],
+            },
+            {
+              name: "thursday",
+              modules: [],
+            },
+            {
+              name: "friday",
+              modules: [],
+            },
+            {
+              name: "saturday",
+              modules: [],
+            },
+            {
+              name: "sunday",
+              modules: [],
+            },
+          ],
+          days_week: [
+            content.strings.currentweek_day_lun,
+            content.strings.currentweek_day_mar,
+            content.strings.currentweek_day_mie,
+            content.strings.currentweek_day_jue,
+            content.strings.currentweek_day_vie,
+            content.strings.currentweek_day_sab,
+            content.strings.currentweek_day_dom,
+          ],
+          active_tab: 0,
+          icons: {
+            calendar: content.calendar_icon,
+          },
+          tabs_header: [
+            {
+              name: content.strings.tab_1,
+              id: 1,
+              teacher_can_view: false,
+              student_can_view: true,
+            },
+            {
+              name: content.strings.tab_2,
+              id: 2,
+              teacher_can_view: false,
+              student_can_view: true,
+            },
+          ],
+          hours_committed: 0,
+          id_committed: null,
+          pages: content.pages,
+          active_tab: null,
+          chart_metareflexion_options: {
+            maintainAspectRatio: false,
+            legend: {
+              display: false,
+            },
+            scales: {
+              xAxes: [
+                {
+                  ticks: {
+                    beginAtZero: true,
+                    callback: function (value) {
+                      if (Number.isInteger(value)) {
+                        return value;
+                      }
+                    },
+                    suggestedMin: 0,
+                    suggestedMax: 5,
+                  },
+                },
+              ],
+            },
+          },
+
+          chart_hours_options: {
+            maintainAspectRatio: false,
+            legend: { display: false },
+            tooltips: {
+              callbacks: {
+                title: (tooltipItem, data) => {
+                  var title_label = null;
+                  if (content.profile_render == "teacher") {
+                    title_label = content.strings.hover_title_teacher;
+                  } else {
+                    title_label = content.strings.hover_title_student;
+                  }
+                  return title_label;
+                },
+                label: (tooltipItem, data) => {
+                  var label = null;
+                  var labels_summaries = [];
+                  let inverted =
+                    vue.render_has == "teacher"
+                      ? vue.strings.inverted_time
+                      : `${vue.strings.myself} ${vue.strings.inverted_time}`;
+                  label = `${inverted} : ${vue.data_report_meta_hours.label_horas_trabajadas}`;
+                  labels_summaries.push(label);
+                  if (vue.render_has == "student" && vue.compare_with_course) {
+                    label = `${vue.strings.inverted_time_course} : ${vue.course_report_hours.label_horas_trabajadas}`;
+                    labels_summaries.push(label);
+                  }
+                  let planified =
+                    vue.render_has == "teacher"
+                      ? vue.strings.planified_time
+                      : `${vue.strings.myself} ${vue.strings.planified_time}`;
+                  label = `${planified} : ${vue.data_report_meta_hours.label_horas_planificadas}`;
+                  labels_summaries.push(label);
+                  if (vue.render_has == "student" && vue.compare_with_course) {
+                    label = `${vue.strings.planified_time_course} ${vue.course_report_hours.label_horas_planificadas}`;
+                    labels_summaries.push(label);
+                  }
+                  if (content.profile_render == "teacher") {
+                    label = `${vue.strings.interaction_user} : ${vue.data_report_meta_hours.interacted_users}`;
+                    labels_summaries.push(label);
+                  }
+                  return labels_summaries;
+                },
+              },
+              backgroundColor: "rgba(0, 0, 0, .8)",
+              titleFontSize: 12,
+              titleFontColor: "rgba(255, 255, 255, 1)",
+              bodyFontColor: "rgba(255, 255, 255, .8)",
+              bodyFontSize: 12,
+              displayColors: false,
+            },
+            scales: {
+              xAxes: [
+                {
+                  display: true,
+                  scaleLabel: {
+                    display: true,
+                    labelString: content.strings.hours_unit_time_label,
+                    fontSize: 15,
+                  },
+                  ticks: {
+                    autoSkip: true,
+                    stepSize: 1,
+                    suggestedMin: 0,
+                  },
+                },
+              ],
+            },
+          },
+
+          chart_options_2: {
+            legend: {
+              display: true,
+              position: "bottom",
+            },
+          },
+          img_no_data: content.image_no_data,
+        };
+      },
+
+      mounted() {
+        document.querySelector("#sr-loader").style.display = "none";
+        document.querySelector("#metareflexion").style.display = "block";
+        if (!this.past_week.classroom_hours) {
+          this.past_week.classroom_hours = 0;
+        }
+        if (!this.past_week.classroom_hours) {
+          this.past_week.hours_off_course = 0;
+        }
+        this.pages.forEach((page) => {
+          if (page.selected) {
+            this.selected_week = page;
+            this.paginator_week = page;
+          }
+        });
+        if (typeof this.past_week.id != "undefined") {
+          this.disabled_form = true;
+        }
+      },
+
+      computed: {
+        isDisabledBtnLastWeek() {
+          return (
+            this.past_week.classroom_hours >= 0 &&
+            this.past_week.hours_off_course >= 0 &&
+            this.past_week.questions[1].answer_selected != null &&
+            this.past_week.questions[2].answer_selected != null
+          );
+        },
+
+        hasLastWeek() {
+          var last_week = false;
+          this.pages.forEach((page) => {
+            if (page.is_current_week && page.number > 1) {
+              last_week = true;
+            }
+          });
+          return last_week;
+        },
+
+        isDisabledBtnCurrentWeek() {
+          return (
+            this.current_week[0].weekly_schedules_hours > 0 &&
+            (this.current_week[0].weekly_schedules_days.lun == true ||
+              this.current_week[0].weekly_schedules_days.mar == true ||
+              this.current_week[0].weekly_schedules_days.mie == true ||
+              this.current_week[0].weekly_schedules_days.jue == true ||
+              this.current_week[0].weekly_schedules_days.vie == true ||
+              this.current_week[0].weekly_schedules_days.sab == true ||
+              this.current_week[0].weekly_schedules_days.dom == true)
+          );
+        },
+
+        benefits_attending_has_data() {
+          var attending_has_data = false;
+
+          this.chartdata_benefits_attending_classes().datasets[0].data.forEach(
+            (element) => {
+              if (element > 0) {
+                attending_has_data = true;
+              }
+            }
+          );
+
+          return attending_has_data;
+        },
+
+        learning_objectives_has_data() {
+          var objectives_has_data = false;
+
+          this.chartdata_learning_objectives().datasets[0].data.forEach(
+            (element) => {
+              if (element > 0) {
+                objectives_has_data = true;
+              }
+            }
+          );
+
+          return objectives_has_data;
+        },
+      },
+
+      methods: {
+
+        display_debug() {
+          console.log(this.days_committed[0].modules[0]);
+          console.log(this.days_committed[1].modules[0]);
+          console.log(this.days_committed[2].modules[0]);
+          console.log(this.days_committed[3].modules[0]);
+          console.log(this.days_committed[4].modules[0]);
+          console.log(this.days_committed[5].modules[0]);
+          console.log(this.days_committed[6].modules[0]);
+        },
+
+        subtitle_reports_hours_label() {
+          let label = "";
+          if (this.render_has == "teacher") {
+            label = this.strings.subtitle_reports_hours_teacher;
+          } else {
+            label = this.strings.subtitle_reports_hours_student;
+          }
+          return label;
+        },
+
+        subtitle_reports_days_student_label() {
+          let label = "";
+          if (this.render_has == "teacher") {
+            label = this.strings.subtitle_reports_days_teacher;
+          } else {
+            label = this.strings.subtitle_reports_days_student;
+          }
+          return label;
+        },
+
+        translate_name(name, prefix) {
+          var index_name = prefix + name;
+          if (!(typeof this.strings[index_name] == "undefined")) {
+            name = this.strings[index_name];
+          }
+          return name;
+        },
+
+        get_interactions(week) {
+          this.loading = true;
+          var validresponse = false;
+          this.errors = [];
+          var data = {
+            action: "metareflexionrepotgetweek",
+            userid: this.userid,
+            courseid: this.courseid,
+            weekcode: week.weekcode,
+            profile: this.render_has,
+          };
+          Axios({
+            method: "get",
+            url: M.cfg.wwwroot + "/local/local_notemyprogress/ajax.php",
+            params: data,
+          })
+            .then((response) => {
+              if (response.status == 200 && response.data.valid) {
+                this.paginator_week = week;
+                validresponse = true;
+                this.data_report_meta_days =
+                  response.data.data.interactions_days;
+                this.data_report_meta_hours =
+                  response.data.data.interactions_hours;
+                this.course_report_hours =
+                  response.data.data.course_report_hours;
+                this.students_planification =
+                  response.data.data.students_planification;
+                this.status_planning = response.data.data.status_planning;
+              } else {
+                this.errors.push(this.strings.api_error_network);
+              }
+            })
+            .catch((e) => {
+              this.errors.push(this.strings.api_error_network);
+            })
+            .finally(() => {
+              this.loading = false;
+            });
+
+          if (!validresponse) {
+          }
+
+          return validresponse;
+        },
+
+        get_interacions_last_week(week) {
+          this.loading = true;
+          var validresponse = false;
+          this.errors = [];
+          var data = {
+            action: "metareflexionreportlastweek",
+            userid: this.userid,
+            courseid: this.courseid,
+            weekcode: week.weekcode,
+            profile: this.render_has,
+          };
+          Axios({
+            method: "get",
+            url: M.cfg.wwwroot + "/local/local_notemyprogress/ajax.php",
+            params: data,
+          })
+            .then((response) => {
+              if (response.status == 200 && response.data.valid) {
+                this.paginator_week = week;
+                validresponse = true;
+                this.data_report_meta_classroom =
+                  response.data.data.average_hours_clases.average_classroom;
+                this.data_report_meta_of_classroom =
+                  response.data.data.average_hours_clases.average_of_classroom;
+                this.data_report_meta_last_week =
+                  response.data.data.report_last_week;
+              } else {
+                this.errors.push(this.strings.api_error_network);
+              }
+            })
+            .catch((e) => {
+              this.errors.push(this.strings.api_error_network);
+            })
+            .finally(() => {
+              this.loading = false;
+            });
+          return validresponse;
+        },
+
+        get_week_dates(week) {
+          return `${week.weekstart} ${this.strings.tv_to} ${week.weekend}`;
+        },
+
+        chartdata_day_dedication() {
+          var data = new Object();
+          data.datasets = [];
+          data.labels = [
+            this.strings.currentweek_day_lun,
+            this.strings.currentweek_day_mar,
+            this.strings.currentweek_day_mie,
+            this.strings.currentweek_day_jue,
+            this.strings.currentweek_day_vie,
+            this.strings.currentweek_day_sab,
+            this.strings.currentweek_day_dom,
+          ];
+
+          let dataset = new Object();
+
+          dataset.label = "Dias Comprometidos";
+          dataset.data = this.data_report_meta_days.dias_planificados;
+          dataset.backgroundColor = [
+            "#a0c2fa",
+            "#a0c2fa",
+            "#a0c2fa",
+            "#a0c2fa",
+            "#a0c2fa",
+            "#a0c2fa",
+            "#a0c2fa",
+          ];
+          dataset.borderWidth = 0;
+          data.datasets.push(dataset);
+
+          dataset = new Object();
+          dataset.label = "Dias trabajados";
+          dataset.data = this.data_report_meta_days.dias_trabajados;
+          dataset.backgroundColor = [
+            "#bfd8fc",
+            "#bfd8fc",
+            "#bfd8fc",
+            "#bfd8fc",
+            "#bfd8fc",
+            "#bfd8fc",
+            "#bfd8fc",
+          ];
+          dataset.borderWidth = 0;
+          data.datasets.push(dataset);
+
+          return data;
+        },
+
+        chartdata_hours_week_dedication() {
+          var data = new Object();
+          data.datasets = [];
+
+          let inverted =
+            this.render_has == "teacher"
+              ? this.strings.inverted_time
+              : `${this.strings.myself} ${this.strings.inverted_time}`;
+          let planified =
+            this.render_has == "teacher"
+              ? this.strings.planified_time
+              : `${this.strings.myself} ${this.strings.planified_time}`;
+          data.labels = [inverted, planified];
+          var dataset = new Object();
+          dataset.label = "Horas";
+          dataset.data = [
+            parseFloat(this.data_report_meta_hours.horas_trabajadas),
+            parseInt(this.data_report_meta_hours.horas_planificadas),
+          ];
+          dataset.backgroundColor = ["#ffa700", "#a0c2fa"];
+          dataset.borderWidth = 0;
+          data.datasets.push(dataset);
+
+          if (this.render_has == "student" && this.compare_with_course) {
+            data.labels.splice(1, 0, this.strings.inverted_time_course);
+            data.labels.splice(3, 0, this.strings.planified_time_course);
+            dataset.data.splice(
+              1,
+              0,
+              parseFloat(this.course_report_hours.horas_trabajadas)
+            );
+            dataset.data.splice(
+              3,
+              0,
+              parseFloat(this.course_report_hours.horas_planificadas)
+            );
+            dataset.backgroundColor.splice(1, 0, "#ffa700");
+            dataset.backgroundColor.splice(3, 0, "#a0c2fa");
+          }
+          return data;
+        },
+
+        chartdata_learning_objectives() {
+          var data = new Object();
+          data.datasets = [];
+          var grafico1 = new Object();
+          grafico1.label = [];
+          grafico1.data = [];
+
+          this.data_report_meta_last_week[0].alternatives.forEach((element) => {
+            grafico1.label.push(element.enunciated);
+            grafico1.data.push(element.count_selections);
+          });
+
+          data.labels = grafico1.label;
+          var dataset = new Object();
+          dataset.data = grafico1.data;
+          dataset.backgroundColor = ["#2784cc", "#7580d8", "#b278d4"];
+          dataset.borderWidth = 0;
+          data.datasets.push(dataset);
+
+          return data;
+        },
+
+        chartdata_benefits_attending_classes() {
+          var data = new Object();
+          data.datasets = [];
+          var grafico2 = new Object();
+          grafico2.label = [];
+          grafico2.data = [];
+
+          this.data_report_meta_last_week[1].alternatives.forEach((element) => {
+            grafico2.label.push(element.enunciated);
+            grafico2.data.push(element.count_selections);
+          });
+
+          data.labels = grafico2.label;
+          var dataset = new Object();
+          dataset.data = grafico2.data;
+          dataset.backgroundColor = [
+            "#e56cbf",
+            "#ff659d",
+            "#ff6e73",
+            "#ff8745",
+            "#ffa600",
+            "#d0b800",
+          ];
+          dataset.borderWidth = 0;
+          data.datasets.push(dataset);
+
+          return data;
+        },
+
+        action_save_metareflexion(course_module) {
+          if (course_module.weekly_schedules_id) {
+            this.update_metareflexion(course_module);
+          } else {
+            this.save_metareflexion_new(course_module);
+          }
+          this.saved_planification = true;
+        },
+
+        updated_metareflexion() {
+          if (
+            this.selected_week.weekcode == this.paginator_week.weekcode &&
+            this.saved_planification
+          ) {
+            this.get_interactions(this.paginator_week);
+            this.saved_planification = false;
+          }
+        },
+
+        get_selected_days(week) {
+          var filtered_days = [];
+          Object.keys(week).forEach((day, index) => {
+            if (week[day]) {
+              filtered_days.push(day);
+            }
+          });
+          return filtered_days.join();
+        },
+
+        update_metareflexion(course_module) {
+          var days_committed = this.get_selected_days(
+            course_module.weekly_schedules_days
+          );
+          var data_params = {
+            action: "updatemetareflexion",
+            metareflexionid: course_module.weekly_schedules_id,
+            days: days_committed,
+            hours: course_module.weekly_schedules_hours,
+            courseid: this.courseid,
+          };
+          Axios({
+            method: "get",
+            url: M.cfg.wwwroot + "/local/local_notemyprogress/ajax.php",
+            params: data_params,
+          })
+            .then((response) => {
+              if (response.status == 200 && response.data.valid) {
+                Alertify.success(this.strings.update_planification_success);
+                course_module.modalopened = false;
+              }
+            })
+            .catch((e) => {
+              this.saving_loader = false;
+              Alertify.error("No se pudo guardar la nota...");
+            });
+        },
+
+        save_metareflexion_new(course_module) {
+          // var days_committed = "";
+          // Object.values(course_module.weekly_schedules_days).forEach(function (
+          //   elemento,
+          //   indice
+          // ) {
+          //   if (elemento) {
+          //     if (indice > 0) {
+          //       days_committed += ",";
+          //     }
+          //     days_committed += Object.keys(course_module.weekly_schedules_days)[indice];
+          //   }
+          // });
+          var days_committed = "";
+
+          var data_params = {
+            action: "savemetareflexion",
+            userid: this.userid,
+            courseid: this.courseid,
+            weekcode: course_module.weekcode,
+
+            hours: course_module.weekly_schedules_hours,
+            goals: goals_committed,
+            days: days_committed,
+          };
+
+          Axios({
+            method: "get",
+            url: M.cfg.wwwroot + "/local/local_notemyprogress/ajax.php",
+            params: data_params,
+          })
+            .then((response) => {
+              if (response.status == 200 && response.data.valid) {
+                course_module.weekly_schedules_id =
+                  response.data.data.responsemetareflexion.id;
+                Alertify.success(this.strings.save_planification_success);
+                course_module.modalopened = false;
+              }
+            })
+            .catch((e) => {
+              this.saving_loader = false;
+              Alertify.error(this.strings.api_error_network);
+            });
+        },
+
+        days_select(days) {
+          var days_committed = "";
+          Object.values(days).forEach(function (elemento, indice) {
+            if (elemento) {
+              if (indice > 0 && days_committed) {
+                days_committed += ", ";
+              }
+
+              switch (Object.keys(days)[indice]) {
+                case "lun":
+                  days_committed += content.strings.currentweek_day_lun;
+                  break;
+                case "mar":
+                  days_committed += content.strings.currentweek_day_mar;
+                  break;
+                case "mie":
+                  days_committed += content.strings.currentweek_day_mie;
+                  break;
+                case "jue":
+                  days_committed += content.strings.currentweek_day_jue;
+                  break;
+                case "vie":
+                  days_committed += content.strings.currentweek_day_vie;
+                  break;
+                case "sab":
+                  days_committed += content.strings.currentweek_day_sab;
+                  break;
+                case "dom":
+                  days_committed += content.strings.currentweek_day_dom;
+                  break;
+              }
+            }
+          });
+
+          return days_committed;
+        },
+
+        actions_last_week(past_week) {
+          if (past_week.id) {
+            this.update_last_week(past_week);
+          } else {
+            this.save_last_week(past_week);
+          }
+        },
+
+        save_last_week(past_week) {
+          var data_params = {
+            action: "savelastweek",
+            userid: this.userid,
+            courseid: this.courseid,
+            classroom_hours: past_week.classroom_hours,
+            hours_off: past_week.hours_off_course,
+            previous_class: past_week.questions[1].answer_selected,
+            benefit: past_week.questions[2].answer_selected,
+          };
+
+          Axios({
+            method: "get",
+            url: M.cfg.wwwroot + "/local/local_notemyprogress/ajax.php",
+            params: data_params,
+          })
+            .then((response) => {
+              if (response.status == 200 && response.data.valid) {
+                past_week.id = response.data.data.response_save_last_week.id;
+                Alertify.success(this.strings.last_week_created);
+                this.disabled_form = true;
+              }
+            })
+            .catch((e) => {
+              Alertify.error(this.strings.api_error_network);
+            });
+        },
+
+        update_last_week(past_week) {
+          var data_params = {
+            action: "updatelastweek",
+            userid: this.userid,
+            courseid: this.courseid,
+            lastweekid: past_week.id,
+            classroom_hours: past_week.classroom_hours,
+            hours_off: past_week.hours_off_course,
+            previous_class: past_week.questions[1].answer_selected,
+            benefit: past_week.questions[2].answer_selected,
+          };
+
+          Axios({
+            method: "get",
+            url: M.cfg.wwwroot + "/local/local_notemyprogress/ajax.php",
+            params: data_params,
+          })
+            .then((response) => {
+              if (response.status == 200 && response.data.valid) {
+                Alertify.success(this.strings.last_week_update);
+              }
+            })
+            .catch((e) => {
+              Alertify.error(this.strings.api_error_network);
+            });
+        },
+
+        get_icon(dias_planificados_trabajados, position) {
+          var icon_name = "remove";
+
+          if (dias_planificados_trabajados.dias_planificados[position]) {
+            if (dias_planificados_trabajados.dias_trabajados[position] > 0) {
+              icon_name = "mdi-thumb-up-outline";
+            } else {
+              icon_name = "sentiment_very_dissatisfied";
+            }
+          }
+
+          return icon_name;
+        },
+
+        full_day_name(day) {
+          return this.strings["currentweek_day_" + day];
+        },
+
+        get_help_content() {
+          var helpcontents = [];
+          if (this.active_tab == 0) {
+            if (this.render_has == "teacher") {
+              var help = new Object();
+              help.title = this.strings.subtitle_reports_hours;
+              help.description = this.strings.description_reports_hours_teacher;
+              helpcontents.push(help);
+              help = new Object();
+              help.title = this.strings.subtitle_reports_days;
+              help.description = this.strings.description_reports_days_teacher;
+              helpcontents.push(help);
+            } else {
+              var help = new Object();
+              help.title = this.strings.subtitle_reports_hours;
+              help.description = this.strings.description_reports_hours_student;
+              helpcontents.push(help);
+              help = new Object();
+              help.title = this.strings.subtitle_reports_days;
+              help.description = this.strings.description_reports_days_student;
+              helpcontents.push(help);
+            }
+          } else if (this.active_tab == 1) {
+            if (this.render_has == "student") {
+              var help = new Object();
+              help.title = this.strings.currentweek_card_title;
+              help.description = this.strings.currentweek_description_student;
+              helpcontents.push(help);
+            } else {
+              var help = new Object();
+              help.title = this.strings.pastweek_title;
+              help.description = this.strings.pastweek_description_teacher;
+              helpcontents.push(help);
+            }
+          } else if (this.active_tab == 2) {
+            if (this.render_has == "student") {
+              var help = new Object();
+              help.title = this.strings.pastweek_title;
+              help.description = this.strings.pastweek_description_student;
+              helpcontents.push(help);
+            }
+          }
+
+          return helpcontents;
+        },
+
+        is_teacher() {
+          let is_teacher = this.render_has == "teacher";
+          return is_teacher;
+        },
+
+        must_renderize(tab) {
+          var render = true;
+          if (this.render_has == "teacher") {
+            render = tab.teacher_can_view;
+          } else {
+            render = tab.student_can_view;
+          }
+          return render;
+        },
+
+        get_title_content() {
+          var title_content_tab;
+
+          if (this.active_tab == 0) {
+            title_content_tab =
+              "Metareflexión - " + this.strings.effectiveness_title;
+          } else if (this.active_tab == 1) {
+            title_content_tab =
+              "Metareflexión - " + this.strings.currentweek_card_title;
+          } else if (this.active_tab == 2) {
+            title_content_tab =
+              "Metareflexión - " + this.strings.pastweek_title;
+          }
+
+          return title_content_tab;
+        },
+
+        planned_week_summary() {
+          var summary = false;
+          if (this.selected_week) {
+            summary = `${this.strings.planning_week} <strong class="text-uppercase">${this.strings.pagination_name} ${this.selected_week.number}</strong>${this.strings.planning_week_start}
+                           ${this.selected_week.weekstart} ${this.strings.planning_week_end} ${this.selected_week.weekend}
+                          `;
+          }
+          return summary;
+        },
+
+        get_interaction_group(week) {
+          this.get_interactions(week);
+          this.get_interacions_last_week(week);
+        },
+      },
+    });
+  }
+
+  return {
+    init: init,
+  };
+});
diff --git a/notemyprogress/amd/build/sessions.min.js b/notemyprogress/amd/build/sessions.min.js
index 81da7aa73103d7e35eb3909a43c7f95673a7f00d..b29e8fc4f56eb714999b162afc75bf23cd7bbfb2 100644
--- a/notemyprogress/amd/build/sessions.min.js
+++ b/notemyprogress/amd/build/sessions.min.js
@@ -1,2 +1,344 @@
-define(["local_notemyprogress/vue","local_notemyprogress/vuetify","local_notemyprogress/axios","local_notemyprogress/moment","local_notemyprogress/pagination","local_notemyprogress/chartstatic","local_notemyprogress/pageheader","local_notemyprogress/helpdialog"],function(e,t,s,i,o,n,r,a){"use strict";return{init:function(i){e.use(t),e.component("pagination",o),e.component("chart",n),e.component("pageheader",r),e.component("helpdialog",a);let l=new e({delimiters:["[[","]]"],el:"#work_sessions",vuetify:new t,data:()=>({strings:i.strings,groups:i.groups,userid:i.userid,courseid:i.courseid,timezone:i.timezone,render_has:i.profile_render,loading:!1,errors:[],pages:i.pages,hours_sessions:i.indicators.sessions,session_count:i.indicators.count,inverted_time:i.indicators.time,inverted_time_colors:i.inverted_time_colors,sessions_count_colors:i.sessions_count_colors,search:null,help_dialog:!1,help_contents:[]}),mounted(){document.querySelector("#sessions-loader").style.display="none",document.querySelector("#work_sessions").style.display="block",setTimeout(function(){l.setGraphicsEventListeners()},500)},methods:{get_help_content(){let e=[];return e.push({title:this.strings.section_help_title,description:this.strings.section_help_description}),e},update_interactions(e){this.loading=!0,this.errors=[];let t={action:"worksessions",userid:this.userid,courseid:this.courseid,weekcode:e.weekcode,profile:this.render_has};return s({method:"get",url:M.cfg.wwwroot+"/local/notemyprogress/ajax.php",params:t}).then(e=>{200==e.status&&e.data.ok?(this.hours_sessions=e.data.data.indicators.sessions,this.session_count=e.data.data.indicators.count,this.inverted_time=e.data.data.indicators.time):this.error_messages.push(this.strings.error_network)}).catch(e=>{this.errors.push(this.strings.api_error_network)}).finally(()=>{this.loading=!1,l.addLogsIntoDB("viewed","week_"+e.weekcode,"week_section","Week section that allows you to obtain information on a specific week"),l.setGraphicsEventListeners()}),this.data},get_point_category_name(e,t){let s="y"===t;return e.series[s?"yAxis":"xAxis"].categories[e[s?"y":"x"]]},build_hours_sessions_chart(){let e=new Object;return e.title={text:null},e.chart={type:"heatmap",backgroundColor:null,style:{fontFamily:"poppins"}},e.xAxis={categories:this.strings.days},e.yAxis={categories:this.strings.hours,title:null,reversed:!0},e.colorAxis={min:0,minColor:"#E0E0E0",maxColor:"#118AB2"},e.legend={layout:"horizontal",verticalAlign:"bottom"},e.tooltip={formatter:function(){let e=l.get_point_category_name(this.point,"x"),t=l.get_point_category_name(this.point,"y"),s=l.strings.sessions_text;return 1==this.point.value&&(s=l.strings.session_text),"<b>"+e+" "+t+"</b>: "+this.point.value+" "+s}},e.series=[{borderWidth:2,borderColor:"#FAFAFA",data:this.hours_sessions}],e},build_inverted_time_chart(){let e=new Object;return e.chart={type:"bar",backgroundColor:null,style:{fontFamily:"poppins"}},e.title={text:null},e.colors=this.inverted_time_colors,e.xAxis={type:"category",crosshair:!0},e.yAxis={title:{text:this.strings.time_inverted_x_axis}},e.tooltip={shared:!0,useHTML:!0,formatter:function(){return`<b>${this.points[0].key}: </b>${l.convert_time(this.y)}`}},e.legend={enabled:!1},e.series=[{colorByPoint:!0,data:this.inverted_time.data}],e},build_sessions_count_chart(){let e=new Object;return e.chart={backgroundColor:null,style:{fontFamily:"poppins"}},e.title={text:null},e.colors=this.sessions_count_colors,e.yAxis={title:{text:this.strings.session_count_yaxis_title},allowDecimals:!1},e.xAxis={categories:this.session_count.categories},e.tooltip={valueSuffix:this.strings.session_count_tooltip_suffix},e.legend={layout:"horizontal",verticalAlign:"bottom"},e.series=this.session_count.data,e},convert_time(e){e*=3600;let t,s=this.strings.hours_short,i=this.strings.minutes_short,o=this.strings.seconds_short,n=Math.floor(e/3600),r=Math.floor(e%3600/60),a=Math.floor(e%60);return t=n>=1?r>=1?`${n}${s} ${r}${i}`:`${n}${s}`:r>=1?a>=1?`${r}${i} ${a}${o}`:`${r}${i}`:`${a}${o}`},open_chart_help(e){let t=[];var s="",i="",o="",n="";"inverted_time"==e?(t.push({title:this.strings.inverted_time_help_title,description:this.strings.inverted_time_help_description_p1}),t.push({description:this.strings.inverted_time_help_description_p2}),s="viewed",o="help",i="invested_time",n="Help section that provides information about the sessions per week chart",l.addLogsIntoDB(s,i,o,n)):"hours_sessions"==e?(t.push({title:this.strings.hours_sessions_help_title,description:this.strings.hours_sessions_help_description_p1}),t.push({description:this.strings.hours_sessions_help_description_p2}),s="viewed",o="help",i="hours_sessions",n="Help section that provides information about the sessions per hour chart",l.addLogsIntoDB(s,i,o,n)):"sessions_count"==e&&(t.push({title:this.strings.sessions_count_help_title,description:this.strings.sessions_count_help_description_p1}),t.push({description:this.strings.sessions_count_help_description_p2}),s="viewed",o="help",i="sessions_count",n="Help section that provides information about the invested time chart",l.addLogsIntoDB(s,i,o,n)),this.help_contents=t,this.help_contents.length&&(this.help_dialog=!0)},update_help_dialog(e){this.help_dialog=e},get_timezone(){return`${this.strings.ss_change_timezone} ${this.timezone}`},setGraphicsEventListeners(){let e=document.querySelectorAll(".highcharts-container");e.length<1?setTimeout(l.setGraphicsEventListeners,500):(e[0].id="investedTime",e[1].id="sessionsPerHour",e[2].id="sessionsPerWeek",e.forEach(e=>{e.addEventListener("mouseenter",l.addLogsViewGraphic)}))},addLogsViewGraphic(e){event.stopPropagation();var t="",s="",i="",o="";switch(e.target.id){case"investedTime":t="viewed",s="invested_time",i="chart",o="Bar chart that shows the average time invested by students as a function of the expected invested time";break;case"sessionsPerHour":t="viewed",s="hours_sessions",i="chart",o="Chart showing the number of sessions performed according to the time of day";break;case"sessionsPerWeek":t="viewed",s="sessions_count",i="chart",o="Chart showing the number of sessions performed per week";break;default:t="viewed",s="",i="chart",o="A chart"}l.addLogsIntoDB(t,s,i,o)},addLogsIntoDB(e,t,o,n){let r={courseid:i.courseid,userid:i.userid,action:"addLogs",sectionname:"TEACHER_STUDY_SESSIONS",actiontype:e,objectType:o,objectName:t,currentUrl:document.location.href,objectDescription:n};s({method:"get",url:M.cfg.wwwroot+"/local/notemyprogress/ajax.php",params:r}).then(e=>{200==e.status&&e.data.ok}).catch(e=>{})}}})}}});
+define([
+  "local_notemyprogress/vue",
+  "local_notemyprogress/vuetify",
+  "local_notemyprogress/axios",
+  "local_notemyprogress/moment",
+  "local_notemyprogress/pagination",
+  "local_notemyprogress/chartstatic",
+  "local_notemyprogress/pageheader",
+  "local_notemyprogress/helpdialog",
+], function (e, t, s, i, o, n, r, a) {
+  "use strict";
+  return {
+    init: function (i) {
+      e.use(t),
+        e.component("pagination", o),
+        e.component("chart", n),
+        e.component("pageheader", r),
+        e.component("helpdialog", a);
+      let l = new e({
+        delimiters: ["[[", "]]"],
+        el: "#work_sessions",
+        vuetify: new t(),
+        data: () => ({
+          strings: i.strings,
+          groups: i.groups,
+          userid: i.userid,
+          courseid: i.courseid,
+          timezone: i.timezone,
+          render_has: i.profile_render,
+          loading: !1,
+          errors: [],
+          pages: i.pages,
+          hours_sessions: i.indicators.sessions,
+          session_count: i.indicators.count,
+          inverted_time: i.indicators.time,
+          inverted_time_colors: i.inverted_time_colors,
+          sessions_count_colors: i.sessions_count_colors,
+          search: null,
+          help_dialog: !1,
+          help_contents: [],
+        }),
+        mounted() {
+          (document.querySelector("#sessions-loader").style.display = "none"),
+            (document.querySelector("#work_sessions").style.display = "block"),
+            setTimeout(function () {
+              l.setGraphicsEventListeners();
+            }, 500);
+        },
+        methods: {
+          get_help_content() {
+            let e = [];
+            return (
+              e.push({
+                title: this.strings.section_help_title,
+                description: this.strings.section_help_description,
+              }),
+              e
+            );
+          },
+          update_interactions(e) {
+            (this.loading = !0), (this.errors = []);
+            let t = {
+              action: "worksessions",
+              userid: this.userid,
+              courseid: this.courseid,
+              weekcode: e.weekcode,
+              profile: this.render_has,
+            };
+            return (
+              s({
+                method: "get",
+                url: M.cfg.wwwroot + "/local/notemyprogress/ajax.php",
+                params: t,
+              })
+                .then((e) => {
+                  200 == e.status && e.data.ok
+                    ? ((this.hours_sessions = e.data.data.indicators.sessions),
+                      (this.session_count = e.data.data.indicators.count),
+                      (this.inverted_time = e.data.data.indicators.time))
+                    : this.error_messages.push(this.strings.error_network);
+                })
+                .catch((e) => {
+                  this.errors.push(this.strings.api_error_network);
+                })
+                .finally(() => {
+                  (this.loading = !1),
+                    l.addLogsIntoDB(
+                      "viewed",
+                      "week_" + e.weekcode,
+                      "week_section",
+                      "Week section that allows you to obtain information on a specific week"
+                    ),
+                    l.setGraphicsEventListeners();
+                }),
+              this.data
+            );
+          },
+          get_point_category_name(e, t) {
+            let s = "y" === t;
+            return e.series[s ? "yAxis" : "xAxis"].categories[e[s ? "y" : "x"]];
+          },
+          build_hours_sessions_chart() {
+            let e = new Object();
+            return (
+              (e.title = { text: null }),
+              (e.chart = {
+                type: "heatmap",
+                backgroundColor: null,
+                style: { fontFamily: "poppins" },
+              }),
+              (e.xAxis = { categories: this.strings.days }),
+              (e.yAxis = {
+                categories: this.strings.hours,
+                title: null,
+                reversed: !0,
+              }),
+              (e.colorAxis = {
+                min: 0,
+                minColor: "#E0E0E0",
+                maxColor: "#118AB2",
+              }),
+              (e.legend = { layout: "horizontal", verticalAlign: "bottom" }),
+              (e.tooltip = {
+                formatter: function () {
+                  let e = l.get_point_category_name(this.point, "x"),
+                    t = l.get_point_category_name(this.point, "y"),
+                    s = l.strings.sessions_text;
+                  return (
+                    1 == this.point.value && (s = l.strings.session_text),
+                    "<b>" + e + " " + t + "</b>: " + this.point.value + " " + s
+                  );
+                },
+              }),
+              (e.series = [
+                {
+                  borderWidth: 2,
+                  borderColor: "#FAFAFA",
+                  data: this.hours_sessions,
+                },
+              ]),
+              e
+            );
+          },
+          build_inverted_time_chart() {
+            let e = new Object();
+            return (
+              (e.chart = {
+                type: "bar",
+                backgroundColor: null,
+                style: { fontFamily: "poppins" },
+              }),
+              (e.title = { text: null }),
+              (e.colors = this.inverted_time_colors),
+              (e.xAxis = { type: "category", crosshair: !0 }),
+              (e.yAxis = {
+                title: { text: this.strings.time_inverted_x_axis },
+              }),
+              (e.tooltip = {
+                shared: !0,
+                useHTML: !0,
+                formatter: function () {
+                  return `<b>${this.points[0].key}: </b>${l.convert_time(
+                    this.y
+                  )}`;
+                },
+              }),
+              (e.legend = { enabled: !1 }),
+              (e.series = [
+                { colorByPoint: !0, data: this.inverted_time.data },
+              ]),
+              e
+            );
+          },
+          build_sessions_count_chart() {
+            let e = new Object();
+            return (
+              (e.chart = {
+                backgroundColor: null,
+                style: { fontFamily: "poppins" },
+              }),
+              (e.title = { text: null }),
+              (e.colors = this.sessions_count_colors),
+              (e.yAxis = {
+                title: { text: this.strings.session_count_yaxis_title },
+                allowDecimals: !1,
+              }),
+              (e.xAxis = { categories: this.session_count.categories }),
+              (e.tooltip = {
+                valueSuffix: this.strings.session_count_tooltip_suffix,
+              }),
+              (e.legend = { layout: "horizontal", verticalAlign: "bottom" }),
+              (e.series = this.session_count.data),
+              e
+            );
+          },
+          convert_time(e) {
+            e *= 3600;
+            let t,
+              s = this.strings.hours_short,
+              i = this.strings.minutes_short,
+              o = this.strings.seconds_short,
+              n = Math.floor(e / 3600),
+              r = Math.floor((e % 3600) / 60),
+              a = Math.floor(e % 60);
+            return (t =
+              n >= 1
+                ? r >= 1
+                  ? `${n}${s} ${r}${i}`
+                  : `${n}${s}`
+                : r >= 1
+                ? a >= 1
+                  ? `${r}${i} ${a}${o}`
+                  : `${r}${i}`
+                : `${a}${o}`);
+          },
+          open_chart_help(e) {
+            let t = [];
+            var s = "",
+              i = "",
+              o = "",
+              n = "";
+            "inverted_time" == e
+              ? (t.push({
+                  title: this.strings.inverted_time_help_title,
+                  description: this.strings.inverted_time_help_description_p1,
+                }),
+                t.push({
+                  description: this.strings.inverted_time_help_description_p2,
+                }),
+                (s = "viewed"),
+                (o = "help"),
+                (i = "invested_time"),
+                (n =
+                  "Help section that provides information about the sessions per week chart"),
+                l.addLogsIntoDB(s, i, o, n))
+              : "hours_sessions" == e
+              ? (t.push({
+                  title: this.strings.hours_sessions_help_title,
+                  description: this.strings.hours_sessions_help_description_p1,
+                }),
+                t.push({
+                  description: this.strings.hours_sessions_help_description_p2,
+                }),
+                (s = "viewed"),
+                (o = "help"),
+                (i = "hours_sessions"),
+                (n =
+                  "Help section that provides information about the sessions per hour chart"),
+                l.addLogsIntoDB(s, i, o, n))
+              : "sessions_count" == e &&
+                (t.push({
+                  title: this.strings.sessions_count_help_title,
+                  description: this.strings.sessions_count_help_description_p1,
+                }),
+                t.push({
+                  description: this.strings.sessions_count_help_description_p2,
+                }),
+                (s = "viewed"),
+                (o = "help"),
+                (i = "sessions_count"),
+                (n =
+                  "Help section that provides information about the invested time chart"),
+                l.addLogsIntoDB(s, i, o, n)),
+              (this.help_contents = t),
+              this.help_contents.length && (this.help_dialog = !0);
+          },
+          update_help_dialog(e) {
+            this.help_dialog = e;
+          },
+          get_timezone() {
+            return `${this.strings.ss_change_timezone} ${this.timezone}`;
+          },
+          setGraphicsEventListeners() {
+            let e = document.querySelectorAll(".highcharts-container");
+            e.length < 1
+              ? setTimeout(l.setGraphicsEventListeners, 500)
+              : ((e[0].id = "investedTime"),
+                (e[1].id = "sessionsPerHour"),
+                (e[2].id = "sessionsPerWeek"),
+                e.forEach((e) => {
+                  e.addEventListener("mouseenter", l.addLogsViewGraphic);
+                }));
+          },
+          addLogsViewGraphic(e) {
+            event.stopPropagation();
+            var t = "",
+              s = "",
+              i = "",
+              o = "";
+            switch (e.target.id) {
+              case "investedTime":
+                (t = "viewed"),
+                  (s = "invested_time"),
+                  (i = "chart"),
+                  (o =
+                    "Bar chart that shows the average time invested by students as a function of the expected invested time");
+                break;
+              case "sessionsPerHour":
+                (t = "viewed"),
+                  (s = "hours_sessions"),
+                  (i = "chart"),
+                  (o =
+                    "Chart showing the number of sessions performed according to the time of day");
+                break;
+              case "sessionsPerWeek":
+                (t = "viewed"),
+                  (s = "sessions_count"),
+                  (i = "chart"),
+                  (o =
+                    "Chart showing the number of sessions performed per week");
+                break;
+              default:
+                (t = "viewed"), (s = ""), (i = "chart"), (o = "A chart");
+            }
+            l.addLogsIntoDB(t, s, i, o);
+          },
+          addLogsIntoDB(e, t, o, n) {
+            let r = {
+              courseid: i.courseid,
+              userid: i.userid,
+              action: "addLogs",
+              sectionname: "TEACHER_STUDY_SESSIONS",
+              actiontype: e,
+              objectType: o,
+              objectName: t,
+              currentUrl: document.location.href,
+              objectDescription: n,
+            };
+            s({
+              method: "get",
+              url: M.cfg.wwwroot + "/local/notemyprogress/ajax.php",
+              params: r,
+            })
+              .then((e) => {
+                200 == e.status && e.data.ok;
+              })
+              .catch((e) => {});
+          },
+        },
+      });
+    },
+  };
+});
 //# sourceMappingURL=sessions.min.js.map
diff --git a/notemyprogress/amd/build/setweeks.min.js b/notemyprogress/amd/build/setweeks.min.js
index 3aded189a22d436a6c6b35c5034ed09fff1bffc9..1778d291787f6ab4ed573792ba4f124a58fde741 100644
--- a/notemyprogress/amd/build/setweeks.min.js
+++ b/notemyprogress/amd/build/setweeks.min.js
@@ -1,2 +1,303 @@
-define(["local_notemyprogress/vue","local_notemyprogress/vuetify","local_notemyprogress/axios","local_notemyprogress/sortablejs","local_notemyprogress/draggable","local_notemyprogress/datepicker","local_notemyprogress/moment","local_notemyprogress/alertify","local_notemyprogress/pageheader"],function(e,s,t,r,i,n,o,a,l){"use strict";return{init:function(r){r=function(e){for(let s=0;s<e.weeks.length;s++){let t=e.weeks[s];void 0===t.collapsabled&&(t.collapsabled=!1)}return e}(r),e.use(s),e.component("draggable",i),e.component("datepicker",n),e.component("pageheader",l),new e({delimiters:["[[","]]"],el:"#setweeks",vuetify:new s,data:{display_settings:!1,settings:r.settings,new_group:!1,scroll_mode:!1,weeks_started_at:new Date(o(1e3*Number(r.weeks[0].weekstart))),strings:r.strings,sections:r.sections,courseid:r.courseid,userid:r.userid,raw_weeks:r.weeks,disabled_dates:{days:[0,2,3,4,5,6]},saving_loader:!1,error_messages:[],save_successful:!1},mounted(){document.querySelector("#setweeks-loader").style.display="none",document.querySelector("#setweeks").style.display="block"},computed:{weeks(){for(let e=0;e<this.raw_weeks.length;e++){let s=this.raw_weeks[e];if(0==e){let e=this.weeks_started_at;s.weekstart=e,s.weekend=this.get_end_week(this.weeks_started_at)}else s.weekstart=this.get_start_week(this.raw_weeks[e-1].weekend),s.weekend=this.get_end_week(s.weekstart)}return this.raw_weeks}},methods:{section_name(e){let s=null;return s=void 0!==e.section_name&&e.section_name.length>0?e.section_name:e.name},section_exist(e){let s=!0;return void 0!==e&&void 0!==e.exists&&0==e.exists&&(s=!1),s},format_name:(e,s)=>e+" "+(s+1),customFormatter:e=>o(e).format("YYYY-MM-DD"),add_week(){this.raw_weeks.push({name:this.strings.week,position:this.weeks.length+1,weekstart:null,weekend:null,collapsabled:!1,hours_dedications:0,removable:!0,sections:[]})},has_items:e=>e.length>0,remove_week(e,s){if(0==s)return null;this.close_delete_confirm();for(let s=0;s<e.sections.length;s++)this.sections.push(e.sections[s]);let t=this.raw_weeks.indexOf(e);this.raw_weeks.splice(t,1)},ask_delete_confirm(){this.delete_confirm=!0},close_delete_confirm(){this.delete_confirm=!1},get_start_week:e=>o(o(e).add(1,"days")).format("YYYY-MM-DD"),get_end_week:e=>o(o(e).add(6,"days")).format("YYYY-MM-DD"),get_date_next_day(e,s,t=null){e=e.toLowerCase();let r=o(s).format("dddd").toLowerCase();for(;r!=e;)s=o(s).add(1,"days"),r=o(s).format("dddd").toLowerCase();return t?s=s.format(t):"number"!=typeof s&&(s=parseInt(s.format("x"))),s},position:e=>`${++e} - `,save_changes(){return this.save_successful=!1,this.error_messages=[],this.empty_weeks()?(this.saving_loader=!1,a.error(this.strings.error_empty_week),this.error_messages.push(this.strings.error_empty_week),!1):this.weeks_deleted_from_course()?(this.saving_loader=!1,this.error_messages.push(this.strings.error_section_removed),!1):void a.confirm(this.strings.save_warning_content,()=>{this.saving_loader=!0;var e=this.weeks;e[0].weekstart=o(e[0].weekstart).format("YYYY-MM-DD");var s={action:"saveconfigweek",userid:this.userid,courseid:this.courseid,newinstance:this.new_group,weeks:this.minify_query(e)};t({method:"get",url:M.cfg.wwwroot+"/local/notemyprogress/ajax.php",params:s}).then(e=>{console.log("then1"),200==e.status&&e.data.ok?(console.log("then1.2"),this.settings=e.data.data.settings,console.log("then1.3"),a.success(this.strings.save_successful),console.log("then1.4"),this.save_successful=!0,console.log("then1.5")):(console.log("then1.6"),a.error(this.strings.error_network),console.log("then1.7"),this.error_messages.push(this.strings.error_network),console.log("then1.8"))}).catch(e=>{console.log("catch1"),a.error(this.strings.error_network),console.log("catch2"),this.error_messages.push(this.strings.error_network),console.log("catch3")}).finally(()=>{console.log("finally1"),this.saving_loader=!1,console.log("finally2")})},()=>{this.saving_loader=!1,a.warning(this.strings.cancel_action)}).set({title:this.strings.save_warning_title}).set({labels:{cancel:this.strings.confirm_cancel,ok:this.strings.confirm_ok}})},minify_query(e){var s=[];return e.forEach(e=>{var t=new Object;t.h=e.hours_dedications,t.s=e.weekstart,t.e=e.weekend,t.sections=[],e.sections.forEach(e=>{var s=new Object;s.sid=e.sectionid,t.sections.push(s)}),s.push(t)}),JSON.stringify(s)},empty_weeks(){if(this.weeks.length>=2&&this.weeks[0].sections.length<1)return!0;for(let e=0;e<this.weeks.length;e++)if(e>0&&this.weeks[e].sections.length<=0)return!0;return!1},weeks_deleted_from_course(){for(var e=0;e<this.weeks.length;e++)for(var s=0;s<this.weeks[e].sections.length;s++)if(!this.section_exist(this.weeks[e].sections[s]))return!0;return!1},exists_mistakes(){return this.error_messages.length>0},change_collapsabled(e){this.raw_weeks[e].collapsabled=!this.raw_weeks[e].collapsabled},course_finished(){let e=!1,s=this.weeks.length-1,t=o(this.weeks[s].weekend).format("X");return e=o().format("X")>t},get_settings_status(){let e=!0;return Object.keys(this.settings).map(s=>{this.settings[s]||(e=!1)}),e?this.strings.plugin_visible:this.strings.plugin_hidden},get_help_content(){var e=[],s=new Object;return s.title=this.strings.title,s.description=this.strings.description,e.push(s),e},addLogsIntoDB(e,s,i,n){let o={courseid:r.courseid,userid:r.userid,action:"addLogs",sectionname:"CONFIGURATION_COURSE_WEEK",actiontype:e,objectType:i,objectName:s,currentUrl:document.location.href,objectDescription:n};t({method:"get",url:M.cfg.wwwroot+"/local/notemyprogress/ajax.php",params:o}).then(e=>{200==e.status&&e.data.ok}).catch(e=>{})}}})}}});
+define([
+  "local_notemyprogress/vue",
+  "local_notemyprogress/vuetify",
+  "local_notemyprogress/axios",
+  "local_notemyprogress/sortablejs",
+  "local_notemyprogress/draggable",
+  "local_notemyprogress/datepicker",
+  "local_notemyprogress/moment",
+  "local_notemyprogress/alertify",
+  "local_notemyprogress/pageheader",
+], function (e, s, t, r, i, n, o, a, l) {
+  "use strict";
+  return {
+    init: function (r) {
+      (r = (function (e) {
+        for (let s = 0; s < e.weeks.length; s++) {
+          let t = e.weeks[s];
+          void 0 === t.collapsabled && (t.collapsabled = !1);
+        }
+        return e;
+      })(r)),
+        e.use(s),
+        e.component("draggable", i),
+        e.component("datepicker", n),
+        e.component("pageheader", l),
+        new e({
+          delimiters: ["[[", "]]"],
+          el: "#setweeks",
+          vuetify: new s(),
+          data: {
+            display_settings: !1,
+            settings: r.settings,
+            new_group: !1,
+            scroll_mode: !1,
+            weeks_started_at: new Date(o(1e3 * Number(r.weeks[0].weekstart))),
+            strings: r.strings,
+            sections: r.sections,
+            courseid: r.courseid,
+            userid: r.userid,
+            raw_weeks: r.weeks,
+            disabled_dates: { days: [0, 2, 3, 4, 5, 6] },
+            saving_loader: !1,
+            error_messages: [],
+            save_successful: !1,
+          },
+          mounted() {
+            (document.querySelector("#setweeks-loader").style.display = "none"),
+              (document.querySelector("#setweeks").style.display = "block");
+          },
+          computed: {
+            weeks() {
+              for (let e = 0; e < this.raw_weeks.length; e++) {
+                let s = this.raw_weeks[e];
+                if (0 == e) {
+                  let e = this.weeks_started_at;
+                  (s.weekstart = e),
+                    (s.weekend = this.get_end_week(this.weeks_started_at));
+                } else
+                  (s.weekstart = this.get_start_week(
+                    this.raw_weeks[e - 1].weekend
+                  )),
+                    (s.weekend = this.get_end_week(s.weekstart));
+              }
+              return this.raw_weeks;
+            },
+          },
+          methods: {
+            section_name(e) {
+              let s = null;
+              return (s =
+                void 0 !== e.section_name && e.section_name.length > 0
+                  ? e.section_name
+                  : e.name);
+            },
+            section_exist(e) {
+              let s = !0;
+              return (
+                void 0 !== e &&
+                  void 0 !== e.exists &&
+                  0 == e.exists &&
+                  (s = !1),
+                s
+              );
+            },
+            format_name: (e, s) => e + " " + (s + 1),
+            customFormatter: (e) => o(e).format("YYYY-MM-DD"),
+            add_week() {
+              this.raw_weeks.push({
+                name: this.strings.week,
+                position: this.weeks.length + 1,
+                weekstart: null,
+                weekend: null,
+                collapsabled: !1,
+                hours_dedications: 0,
+                removable: !0,
+                sections: [],
+              });
+            },
+            has_items: (e) => e.length > 0,
+            remove_week(e, s) {
+              if (0 == s) return null;
+              this.close_delete_confirm();
+              for (let s = 0; s < e.sections.length; s++)
+                this.sections.push(e.sections[s]);
+              let t = this.raw_weeks.indexOf(e);
+              this.raw_weeks.splice(t, 1);
+            },
+            ask_delete_confirm() {
+              this.delete_confirm = !0;
+            },
+            close_delete_confirm() {
+              this.delete_confirm = !1;
+            },
+            get_start_week: (e) => o(o(e).add(1, "days")).format("YYYY-MM-DD"),
+            get_end_week: (e) => o(o(e).add(6, "days")).format("YYYY-MM-DD"),
+            get_date_next_day(e, s, t = null) {
+              e = e.toLowerCase();
+              let r = o(s).format("dddd").toLowerCase();
+              for (; r != e; )
+                (s = o(s).add(1, "days")),
+                  (r = o(s).format("dddd").toLowerCase());
+              return (
+                t
+                  ? (s = s.format(t))
+                  : "number" != typeof s && (s = parseInt(s.format("x"))),
+                s
+              );
+            },
+            position: (e) => `${++e} - `,
+            save_changes() {
+              return (
+                (this.save_successful = !1),
+                (this.error_messages = []),
+                this.empty_weeks()
+                  ? ((this.saving_loader = !1),
+                    a.error(this.strings.error_empty_week),
+                    this.error_messages.push(this.strings.error_empty_week),
+                    !1)
+                  : this.weeks_deleted_from_course()
+                  ? ((this.saving_loader = !1),
+                    this.error_messages.push(
+                      this.strings.error_section_removed
+                    ),
+                    !1)
+                  : void a
+                      .confirm(
+                        this.strings.save_warning_content,
+                        () => {
+                          this.saving_loader = !0;
+                          var e = this.weeks;
+                          e[0].weekstart = o(e[0].weekstart).format(
+                            "YYYY-MM-DD"
+                          );
+                          var s = {
+                            action: "saveconfigweek",
+                            userid: this.userid,
+                            courseid: this.courseid,
+                            newinstance: this.new_group,
+                            weeks: this.minify_query(e),
+                          };
+                          t({
+                            method: "get",
+                            url:
+                              M.cfg.wwwroot + "/local/notemyprogress/ajax.php",
+                            params: s,
+                          })
+                            .then((e) => {
+                              console.log("then1"),
+                                200 == e.status && e.data.ok
+                                  ? (console.log("then1.2"),
+                                    (this.settings = e.data.data.settings),
+                                    console.log("then1.3"),
+                                    a.success(this.strings.save_successful),
+                                    console.log("then1.4"),
+                                    (this.save_successful = !0),
+                                    console.log("then1.5"))
+                                  : (console.log("then1.6"),
+                                    a.error(this.strings.error_network),
+                                    console.log("then1.7"),
+                                    this.error_messages.push(
+                                      this.strings.error_network
+                                    ),
+                                    console.log("then1.8"));
+                            })
+                            .catch((e) => {
+                              console.log("catch1"),
+                                a.error(this.strings.error_network),
+                                console.log("catch2"),
+                                this.error_messages.push(
+                                  this.strings.error_network
+                                ),
+                                console.log("catch3");
+                            })
+                            .finally(() => {
+                              console.log("finally1"),
+                                (this.saving_loader = !1),
+                                console.log("finally2");
+                            });
+                        },
+                        () => {
+                          (this.saving_loader = !1),
+                            a.warning(this.strings.cancel_action);
+                        }
+                      )
+                      .set({ title: this.strings.save_warning_title })
+                      .set({
+                        labels: {
+                          cancel: this.strings.confirm_cancel,
+                          ok: this.strings.confirm_ok,
+                        },
+                      })
+              );
+            },
+            minify_query(e) {
+              var s = [];
+              return (
+                e.forEach((e) => {
+                  var t = new Object();
+                  (t.h = e.hours_dedications),
+                    (t.s = e.weekstart),
+                    (t.e = e.weekend),
+                    (t.sections = []),
+                    e.sections.forEach((e) => {
+                      var s = new Object();
+                      (s.sid = e.sectionid), t.sections.push(s);
+                    }),
+                    s.push(t);
+                }),
+                JSON.stringify(s)
+              );
+            },
+            empty_weeks() {
+              if (this.weeks.length >= 2 && this.weeks[0].sections.length < 1)
+                return !0;
+              for (let e = 0; e < this.weeks.length; e++)
+                if (e > 0 && this.weeks[e].sections.length <= 0) return !0;
+              return !1;
+            },
+            weeks_deleted_from_course() {
+              for (var e = 0; e < this.weeks.length; e++)
+                for (var s = 0; s < this.weeks[e].sections.length; s++)
+                  if (!this.section_exist(this.weeks[e].sections[s])) return !0;
+              return !1;
+            },
+            exists_mistakes() {
+              return this.error_messages.length > 0;
+            },
+            change_collapsabled(e) {
+              this.raw_weeks[e].collapsabled = !this.raw_weeks[e].collapsabled;
+            },
+            course_finished() {
+              let e = !1,
+                s = this.weeks.length - 1,
+                t = o(this.weeks[s].weekend).format("X");
+              return (e = o().format("X") > t);
+            },
+            get_settings_status() {
+              let e = !0;
+              return (
+                Object.keys(this.settings).map((s) => {
+                  this.settings[s] || (e = !1);
+                }),
+                e ? this.strings.plugin_visible : this.strings.plugin_hidden
+              );
+            },
+            get_help_content() {
+              var e = [],
+                s = new Object();
+              return (
+                (s.title = this.strings.title),
+                (s.description = this.strings.description),
+                e.push(s),
+                e
+              );
+            },
+            addLogsIntoDB(e, s, i, n) {
+              let o = {
+                courseid: r.courseid,
+                userid: r.userid,
+                action: "addLogs",
+                sectionname: "CONFIGURATION_COURSE_WEEK",
+                actiontype: e,
+                objectType: i,
+                objectName: s,
+                currentUrl: document.location.href,
+                objectDescription: n,
+              };
+              t({
+                method: "get",
+                url: M.cfg.wwwroot + "/local/notemyprogress/ajax.php",
+                params: o,
+              })
+                .then((e) => {
+                  200 == e.status && e.data.ok;
+                })
+                .catch((e) => {});
+            },
+          },
+        });
+    },
+  };
+});
 //# sourceMappingURL=setweeks.min.js.map
diff --git a/notemyprogress/amd/build/student_planning.js b/notemyprogress/amd/build/student_planning.js
new file mode 100644
index 0000000000000000000000000000000000000000..0ca80abbec39a0be9d3630e0c3e185bc3670ac15
--- /dev/null
+++ b/notemyprogress/amd/build/student_planning.js
@@ -0,0 +1,602 @@
+define([
+  "local_notemyprogress/vue",
+  "local_notemyprogress/vuetify",
+  "local_notemyprogress/axios",
+  "local_notemyprogress/moment",
+  "local_notemyprogress/pagination",
+  "local_notemyprogress/chartstatic",
+  "local_notemyprogress/pageheader",
+  "local_notemyprogress/modulesform",
+  "local_notemyprogress/helpdialog",
+], function (
+  Vue,
+  Vuetify,
+  Axios,
+  Moment,
+  Pagination,
+  ChartStatic,
+  PageHeader,
+  ModulesForm,
+  HelpDialog
+) {
+  "use strict";
+
+  function init(content) {
+    // console.log(content);
+    Vue.use(Vuetify);
+    Vue.component("pagination", Pagination);
+    Vue.component("chart", ChartStatic);
+    Vue.component("pageheader", PageHeader);
+    Vue.component("modulesform", ModulesForm);
+    Vue.component("helpdialog", HelpDialog);
+    let vue = new Vue({
+      delimiters: ["[[", "]]"],
+      el: "#work_sessions",
+      vuetify: new Vuetify(),
+      data() {
+        return {
+          strings: content.strings,
+          groups: content.groups,
+          userid: content.userid,
+          courseid: content.courseid,
+          timezone: content.timezone,
+          render_has: content.profile_render,
+          loading: false,
+          errors: [],
+          pages: content.pages,
+
+          indicators: content.indicators,
+          resources_access_colors: content.resources_access_colors,
+          inverted_time_colors: content.inverted_time_colors,
+          inverted_time: content.indicators.inverted_time,
+          hours_sessions: content.indicators.hours_sessions,
+          sections: content.indicators.sections,
+          sections_map: null,
+          week_progress: 0,
+          resource_access_categories: [],
+          resource_access_data: [],
+          modules_dialog: false,
+
+          help_dialog: false,
+          help_contents: [],
+        };
+      },
+      beforeMount() {
+        this.create_section_map();
+        this.set_modules_in_sections();
+        this.calculate_resources_access();
+      },
+      mounted() {
+        document.querySelector("#sessions-loader").style.display = "none";
+        document.querySelector("#work_sessions").style.display = "block";
+        setTimeout(function () {
+          vue.setGraphicsEventListeners();
+        });
+      },
+      methods: {
+        get_help_content() {
+          let contents = [];
+          contents.push({
+            title: this.strings.section_help_title,
+            description: this.strings.section_help_description,
+          });
+          return contents;
+        },
+
+        build_feedback_form() {
+          let chart = new Object();
+          chart.chart = {
+            type: "bar",
+            backgroundColor: null,
+            style: { fontFamily: "poppins" },
+          };
+          chart.title = { text: null };
+          chart.colors = this.inverted_time_colors;
+          chart.xAxis = {
+            type: "category",
+            crosshair: true,
+          };
+          chart.yAxis = {
+            title: {
+              text: this.strings.inverted_time_chart_x_axis,
+            },
+          };
+          chart.tooltip = {
+            shared: true,
+            useHTML: true,
+            formatter: function () {
+              let category_name = this.points[0].key;
+              let time = vue.convert_time(this.y);
+              return `<b>${category_name}: </b>${time}`;
+            },
+          };
+          chart.legend = {
+            enabled: false,
+          };
+          chart.series = [
+            {
+              colorByPoint: true,
+              data: this.inverted_time.data,
+            },
+          ];
+          return chart;
+        },
+
+        build_inverted_time_chart() {
+          let chart = new Object();
+          chart.chart = {
+            type: "bar",
+            backgroundColor: null,
+            style: { fontFamily: "poppins" },
+          };
+          chart.title = { text: null };
+          chart.colors = this.inverted_time_colors;
+          chart.xAxis = {
+            type: "category",
+            crosshair: true,
+          };
+          chart.yAxis = {
+            title: {
+              text: this.strings.inverted_time_chart_x_axis,
+            },
+          };
+          chart.tooltip = {
+            shared: true,
+            useHTML: true,
+            formatter: function () {
+              let category_name = this.points[0].key;
+              let time = vue.convert_time(this.y);
+              return `<b>${category_name}: </b>${time}`;
+            },
+          };
+          chart.legend = {
+            enabled: false,
+          };
+          chart.series = [
+            {
+              colorByPoint: true,
+              data: this.inverted_time.data,
+            },
+          ];
+          return chart;
+        },
+
+        build_hours_session_chart() {
+          let chart = new Object();
+          chart.title = { text: null };
+          chart.chart = {
+            type: "heatmap",
+            backgroundColor: null,
+            style: { fontFamily: "poppins" },
+          };
+          chart.xAxis = {
+            categories: this.strings.days,
+          };
+          chart.yAxis = {
+            categories: this.strings.hours,
+            title: null,
+            reversed: true,
+          };
+          chart.colorAxis = {
+            min: 0,
+            minColor: "#E0E0E0",
+            maxColor: "#118AB2",
+          };
+          chart.legend = {
+            layout: "horizontal",
+            verticalAlign: "bottom",
+          };
+          chart.tooltip = {
+            formatter: function () {
+              let xCategoryName = vue.get_point_category_name(this.point, "x");
+              let yCategoryName = vue.get_point_category_name(this.point, "y");
+              let label = vue.strings.sessions_text;
+              if (this.point.value == 1) {
+                label = vue.strings.session_text;
+              }
+              return (
+                "<b>" +
+                xCategoryName +
+                " " +
+                yCategoryName +
+                "</b>: " +
+                this.point.value +
+                " " +
+                label
+              );
+            },
+          };
+          chart.series = [
+            {
+              borderWidth: 2,
+              borderColor: "#FAFAFA",
+              data: this.hours_sessions,
+            },
+          ];
+          return chart;
+        },
+
+        build_resources_access_chart() {
+          let chart = new Object();
+          chart.chart = {
+            type: "column",
+            backgroundColor: null,
+            style: { fontFamily: "poppins" },
+          };
+          chart.title = { text: null };
+          chart.colors = this.resources_access_colors;
+          chart.xAxis = {
+            categories: this.resource_access_categories,
+            crosshair: true,
+            title: {
+              text: this.strings.resource_access_x_axis,
+            },
+          };
+          chart.yAxis = {
+            min: 0,
+            title: {
+              text: this.strings.resource_access_y_axis,
+            },
+          };
+          chart.plotOptions = {
+            column: {
+              stacking: "normal",
+            },
+            series: {
+              cursor: "pointer",
+              point: {
+                events: {
+                  click: function () {
+                    vue.addLogsIntoDB(
+                      "viewed",
+                      "resources_access",
+                      "chart_details",
+                      "Provide details informations about the consulted resources"
+                    );
+                    vue.modules_dialog = true;
+                  },
+                },
+              },
+            },
+          };
+          chart.tooltip = {
+            shared: true,
+            useHTML: true,
+            footerFormat: `<i>${this.strings.modules_details}</i>`,
+          };
+          chart.series = this.resource_access_data;
+          return chart;
+        },
+
+        update_interactions(week) {
+          this.loading = true;
+          this.errors = [];
+          let data = {
+            action: "studentsessions",
+            userid: this.userid,
+            courseid: this.courseid,
+            weekcode: week.weekcode,
+            profile: this.render_has,
+          };
+          Axios({
+            method: "get",
+            url: M.cfg.wwwroot + "/local/notemyprogress/ajax.php",
+            params: data,
+          })
+            .then((response) => {
+              if (response.status == 200 && response.data.ok) {
+                this.inverted_time =
+                  response.data.data.indicators.inverted_time;
+                this.hours_sessions =
+                  response.data.data.indicators.hours_sessions;
+                this.sections = response.data.data.indicators.sections;
+                this.set_modules_in_sections();
+                this.calculate_resources_access();
+              } else {
+                this.error_messages.push(this.strings.error_network);
+              }
+            })
+            .catch((e) => {
+              this.errors.push(this.strings.api_error_network);
+            })
+            .finally(() => {
+              this.loading = false;
+              vue.addLogsIntoDB(
+                "viewed",
+                "week_" + week.weekcode,
+                "week_section",
+                "Week section that allows you to obtain information on a specific week"
+              );
+              vue.setGraphicsEventListeners();
+            });
+          return this.data;
+        },
+
+        create_section_map() {
+          let sectionsMap = new Map();
+          let sectionid = 0;
+          this.indicators.course_cms.forEach((cm) => {
+            sectionid = Number(cm.section);
+            if (!sectionsMap.has(sectionid)) {
+              sectionsMap.set(sectionid, [cm]);
+            } else {
+              sectionsMap.get(sectionid).push(cm);
+            }
+          });
+          this.sections_map = sectionsMap;
+        },
+
+        set_modules_in_sections() {
+          let sectionid;
+          this.sections.forEach((section) => {
+            sectionid = Number(section.sectionid);
+            section.sectionid = sectionid;
+            section.modules = this.sections_map.has(sectionid)
+              ? this.sections_map.get(sectionid)
+              : [];
+          });
+        },
+
+        calculate_resources_access() {
+          let modulesMap = new Map();
+          let moduleid,
+            user_cm,
+            mod,
+            total_modules = 0,
+            access_modules = 0;
+          let modules_names = this.strings.modules_names;
+          this.sections.forEach((section) => {
+            section.modules.forEach((module) => {
+              !modulesMap.has(module.modname) &&
+                modulesMap.set(module.modname, { complete: 0, pending: 0 });
+              mod = modulesMap.get(module.modname);
+              moduleid = Number(module.id);
+              module.id = moduleid;
+              module.complete = false;
+              module.viewed = false;
+              module.interactions = 0;
+
+              user_cm = this.indicators.user_cms[`cm${module.id}`];
+              if (user_cm) {
+                module.complete = user_cm.complete;
+                module.viewed = user_cm.viewed;
+                module.interactions = user_cm.interactions;
+                user_cm.complete ? mod.complete++ : mod.pending++;
+                user_cm.complete && access_modules++;
+              } else {
+                mod.pending++;
+              }
+              total_modules++;
+            });
+          });
+          let categories = [],
+            complete_data = [],
+            pending_data = [];
+          modulesMap.forEach(function (value, key) {
+            categories.push(modules_names[key] || key);
+            complete_data.push(value.complete);
+            pending_data.push(value.pending);
+          });
+          this.resource_access_categories = categories;
+          this.resource_access_data = [
+            { name: this.strings.resource_access_legend1, data: complete_data },
+            { name: this.strings.resource_access_legend2, data: pending_data },
+          ];
+          this.week_progress =
+            Math.floor((access_modules * 100) / total_modules) || 0;
+        },
+
+        get_progress_percentage() {
+          return `${this.week_progress} %`;
+        },
+
+        get_point_category_name(point, dimension) {
+          let series = point.series,
+            isY = dimension === "y",
+            axis = series[isY ? "yAxis" : "xAxis"];
+          return axis.categories[point[isY ? "y" : "x"]];
+        },
+
+        get_module_icon(modname) {
+          return `${M.cfg.wwwroot}/theme/image.php/boost/${modname}/1/icon`;
+        },
+
+        get_module_url(module) {
+          return `${M.cfg.wwwroot}/mod/${module.modname}/view.php?id=${module.id}`;
+        },
+
+        get_interactions_number(interactions) {
+          let interactions_text =
+            interactions == 1
+              ? this.strings.modules_interaction
+              : this.strings.modules_interactions;
+          return `(${interactions} ${interactions_text})`;
+        },
+
+        convert_time(time) {
+          time *= 3600; // pasar las horas a segundos
+          let h = this.strings.hours_short;
+          let m = this.strings.minutes_short;
+          let s = this.strings.seconds_short;
+          let hours = Math.floor(time / 3600);
+          let minutes = Math.floor((time % 3600) / 60);
+          let seconds = Math.floor(time % 60);
+          let text;
+          if (hours >= 1) {
+            if (minutes >= 1) {
+              text = `${hours}${h} ${minutes}${m}`;
+            } else {
+              text = `${hours}${h}`;
+            }
+          } else if (minutes >= 1) {
+            if (seconds >= 1) {
+              text = `${minutes}${m} ${seconds}${s}`;
+            } else {
+              text = `${minutes}${m}`;
+            }
+          } else {
+            text = `${seconds}${s}`;
+          }
+          return text;
+        },
+
+        update_modules_dialog(value) {
+          this.modules_dialog = value;
+        },
+
+        open_chart_help(chart) {
+          let contents = [];
+          let action = "";
+          let objectType = "";
+          let objectName = "";
+          let objectDescription = "";
+          if (chart == "inverted_time") {
+            contents.push({
+              title: this.strings.inverted_time_help_title,
+              description: this.strings.inverted_time_help_description_p1,
+            });
+            contents.push({
+              description: this.strings.inverted_time_help_description_p2,
+            });
+            action = "viewed";
+            objectType = "help";
+            objectName = "invested_time";
+            objectDescription =
+              "Help section that provides information about the invested time chart";
+            this.addLogsIntoDB(
+              action,
+              objectName,
+              objectType,
+              objectDescription
+            );
+          } else if (chart == "hours_session") {
+            contents.push({
+              title: this.strings.hours_session_help_title,
+              description: this.strings.hours_session_help_description_p1,
+            });
+            contents.push({
+              description: this.strings.hours_session_help_description_p2,
+            });
+            action = "viewed";
+            objectType = "help";
+            objectName = "hours_session";
+            objectDescription =
+              "Help section that provides information about the hours session chart";
+            this.addLogsIntoDB(
+              action,
+              objectName,
+              objectType,
+              objectDescription
+            );
+          } else if (chart == "resources_access") {
+            contents.push({
+              title: this.strings.resources_access_help_title,
+              description: this.strings.resources_access_help_description_p1,
+            });
+            contents.push({
+              description: this.strings.resources_access_help_description_p2,
+            });
+            contents.push({
+              description: this.strings.resources_access_help_description_p3,
+            });
+            action = "viewed";
+            objectType = "help";
+            objectName = "resources_access";
+            objectDescription =
+              "Help section that provides information about the resources access chart";
+            this.addLogsIntoDB(
+              action,
+              objectName,
+              objectType,
+              objectDescription
+            );
+          }
+          this.help_contents = contents;
+          if (this.help_contents.length) {
+            this.help_dialog = true;
+          }
+        },
+
+        update_help_dialog(value) {
+          this.help_dialog = value;
+        },
+
+        get_timezone() {
+          let information = `${this.strings.ss_change_timezone} ${this.timezone}`;
+          return information;
+        },
+
+        setGraphicsEventListeners() {
+          let graphics = document.querySelectorAll(".highcharts-container");
+          if (graphics.length < 1) {
+            setTimeout(vue.setGraphicsEventListeners, 500);
+          } else {
+            graphics[0].id = "inverted_time";
+            graphics[1].id = "hours_session";
+            graphics[2].id = "resources_access";
+            graphics.forEach((graph) => {
+              graph.addEventListener("mouseenter", vue.addLogsViewGraphic);
+            });
+          }
+        },
+
+        addLogsViewGraphic(e) {
+          event.stopPropagation();
+          var action = "";
+          var objectName = "";
+          var objectType = "";
+          var objectDescription = "";
+          switch (e.target.id) {
+            case "inverted_time":
+              action = "viewed";
+              objectName = "invested_time";
+              objectType = "chart";
+              objectDescription = "Bar chart that shows";
+              break;
+            case "hours_session":
+              action = "viewed";
+              objectName = "hours_session";
+              objectType = "chart";
+              objectDescription = "Chart showing";
+              break;
+            case "resources_access":
+              action = "viewed";
+              objectName = "resources_access";
+              objectType = "chart";
+              objectDescription = "Chart showing ";
+              break;
+          }
+          vue.addLogsIntoDB(action, objectName, objectType, objectDescription);
+        },
+
+        addLogsIntoDB(action, objectName, objectType, objectDescription) {
+          let data = {
+            courseid: content.courseid,
+            userid: content.userid,
+            action: "addLogs",
+            sectionname: "STUDENT_STUDY_SESSIONS",
+            actiontype: action,
+            objectType: objectType,
+            objectName: objectName,
+            currentUrl: document.location.href,
+            objectDescription: objectDescription,
+          };
+          Axios({
+            method: "get",
+            url: M.cfg.wwwroot + "/local/notemyprogress/ajax.php",
+            params: data,
+          })
+            .then((response) => {
+              if (response.status == 200 && response.data.ok) {
+              }
+            })
+            .catch((e) => {});
+        },
+      },
+    });
+  }
+
+  return {
+    init: init,
+  };
+});
diff --git a/notemyprogress/amd/src/alertify.js b/notemyprogress/amd/src/alertify.js
index bb9d010de7ea232c7655540fdf33805654c64755..435753c5bc478069a024ffd4111efaa62be37149 100644
--- a/notemyprogress/amd/src/alertify.js
+++ b/notemyprogress/amd/src/alertify.js
@@ -1,4 +1,6 @@
-define(['local_notemyprogress/config', 'alertify'], function(unused, alertify) {
-        return alertify;
-    }
-);
\ No newline at end of file
+define(["local_notemyprogress/config", "alertify"], function (
+  unused,
+  alertify
+) {
+  return alertify;
+});
diff --git a/notemyprogress/amd/src/assignments.js b/notemyprogress/amd/src/assignments.js
index 279fbf1706881dc61e873a6c600b656f2d4dcf5f..be9bcc798cca9a29b81e74c4018a2a9f804acadb 100644
--- a/notemyprogress/amd/src/assignments.js
+++ b/notemyprogress/amd/src/assignments.js
@@ -1,432 +1,489 @@
-define(["local_notemyprogress/vue",
-        "local_notemyprogress/vuetify",
-        "local_notemyprogress/axios",
-        "local_notemyprogress/moment",
-        "local_notemyprogress/pagination",
-        "local_notemyprogress/chartdynamic",
-        "local_notemyprogress/pageheader",
-        "local_notemyprogress/emailform",
-        "local_notemyprogress/helpdialog",
-    ],
-    function(Vue, Vuetify, Axios, Moment, Pagination, ChartDynamic, PageHeader, EmailForm, HelpDialog) {
-        "use strict";
+define([
+  "local_notemyprogress/vue",
+  "local_notemyprogress/vuetify",
+  "local_notemyprogress/axios",
+  "local_notemyprogress/moment",
+  "local_notemyprogress/pagination",
+  "local_notemyprogress/chartdynamic",
+  "local_notemyprogress/pageheader",
+  "local_notemyprogress/emailform",
+  "local_notemyprogress/helpdialog",
+], function (
+  Vue,
+  Vuetify,
+  Axios,
+  Moment,
+  Pagination,
+  ChartDynamic,
+  PageHeader,
+  EmailForm,
+  HelpDialog
+) {
+  "use strict";
 
-        function init(content) {
-            // console.log(content);
-            Vue.use(Vuetify)
-            Vue.component('pagination', Pagination);
-            Vue.component('chart', ChartDynamic);
-            Vue.component('pageheader', PageHeader);
-            Vue.component('emailform', EmailForm);
-            Vue.component('helpdialog', HelpDialog);
-            let vue = new Vue({
-                delimiters: ["[[", "]]"],
-                el: "#submissions",
-                vuetify: new Vuetify(),
-                data() {
-                    return {
-                        dialog : false,
-                        selected_users : [],
-                        modulename : "",
-                        moduleid : false,
-                        strings : content.strings,
-                        groups : content.groups,
-                        userid : content.userid,
-                        courseid : content.courseid,
-                        timezone : content.timezone,
-                        render_has : content.profile_render,
-                        scriptname: content.scriptname,
-                        loading : false,
-                        errors : [],
-                        pages : content.pages,
-                        submissions: content.submissions,
-                        email_strings: content.strings.email_strings,
+  function init(content) {
+    // console.log(content);
+    Vue.use(Vuetify);
+    Vue.component("pagination", Pagination);
+    Vue.component("chart", ChartDynamic);
+    Vue.component("pageheader", PageHeader);
+    Vue.component("emailform", EmailForm);
+    Vue.component("helpdialog", HelpDialog);
+    let vue = new Vue({
+      delimiters: ["[[", "]]"],
+      el: "#submissions",
+      vuetify: new Vuetify(),
+      data() {
+        return {
+          dialog: false,
+          selected_users: [],
+          modulename: "",
+          moduleid: false,
+          strings: content.strings,
+          groups: content.groups,
+          userid: content.userid,
+          courseid: content.courseid,
+          timezone: content.timezone,
+          render_has: content.profile_render,
+          scriptname: content.scriptname,
+          loading: false,
+          errors: [],
+          pages: content.pages,
+          submissions: content.submissions,
+          email_strings: content.strings.email_strings,
 
-                        access: content.access,
-                        assigns_submissions_colors: content.assigns_submissions_colors,
-                        access_content_colors: content.access_content_colors,
-                        access_chart_categories: [],
-                        access_chart_series: [],
-                        access_chart_users: [],
+          access: content.access,
+          assigns_submissions_colors: content.assigns_submissions_colors,
+          access_content_colors: content.access_content_colors,
+          access_chart_categories: [],
+          access_chart_series: [],
+          access_chart_users: [],
 
-                        help_dialog: false,
-                        help_contents: [],
-                        email_object_name: "",
-                    }
-                },
-                beforeMount(){
-                    this.generate_access_content_data();
-                },
-                mounted(){
-                    document.querySelector("#sessions-loader").style.display = "none";
-                    document.querySelector("#submissions").style.display = "block";
-                    setTimeout(function() {
-                        vue.setGraphicsEventListeners();
-                    }, 1000);
-                },
-                methods : {
-                    get_help_content(){
-                        let contents = [];
-                        contents.push({
-                            title: this.strings.section_help_title,
-                            description: this.strings.section_help_description,
-                        });
-                        return contents;
-                    },
-
-                    update_interactions(week){
-                        this.loading = true;
-                        this.errors = [];
-                        let data = {
-                            action : "assignments",
-                            userid : this.userid,
-                            courseid : this.courseid,
-                            weekcode : week.weekcode,
-                            profile : this.render_has,
-                        }
-                        Axios({
-                            method:'get',
-                            url: M.cfg.wwwroot + "/local/notemyprogress/ajax.php",
-                            params : data,
-                        }).then((response) => {
-                            if (response.status == 200 && response.data.ok) {
-                                this.submissions = response.data.data.submissions;
-                                this.access = response.data.data.access;
-                                this.generate_access_content_data();
-                            } else {
-                                this.error_messages.push(this.strings.error_network);
-                            }
-                        }).catch((e) => {
-                            this.errors.push(this.strings.api_error_network);
-                        }).finally(() => {
-                            this.loading = false;
-                            vue.addLogsIntoDB("viewed", "week_"+week.weekcode, "week_section", "Week section that allows you to obtain information on a specific week");
-                            vue.setGraphicsEventListeners();
-                        });
-                        return this.data;
-                    },
+          help_dialog: false,
+          help_contents: [],
+          email_object_name: "",
+        };
+      },
+      beforeMount() {
+        this.generate_access_content_data();
+      },
+      mounted() {
+        document.querySelector("#sessions-loader").style.display = "none";
+        document.querySelector("#submissions").style.display = "block";
+        setTimeout(function () {
+          vue.setGraphicsEventListeners();
+        }, 1000);
+      },
+      methods: {
+        get_help_content() {
+          let contents = [];
+          contents.push({
+            title: this.strings.section_help_title,
+            description: this.strings.section_help_description,
+          });
+          return contents;
+        },
 
-                    build_assigns_submissions_chart() {
-                        let chart = new Object();
-                        chart.chart = {
-                            type: 'column',
-                            backgroundColor: null,
-                            style: {fontFamily: 'poppins'},
-                        };
-                        chart.title = {
-                            text: null,
-                        };
-                        chart.colors = this.assigns_submissions_colors;
-                        chart.xAxis = {
-                            categories: this.submissions.categories,
-                            crosshair: true,
-                        };
-                        chart.yAxis = {
-                            min: 0,
-                            title: {
-                                text: this.strings.assignsubs_chart_yaxis
-                            },
-                            allowDecimals: false,
-                        };
-                        chart.tooltip = {
-                            formatter: function () {
-                                let label = this.x.split('</b>');
-                                label = label[0] || '';
-                                label = label.split('<b>');
-                                label = label[1] || '';
-                                let serie_name = this.series.name;
-                                let value = this.y;
-                                let students_label = vue.strings.students_text;
-                                let send_mail = vue.strings.send_mail;
-                                if (value == 1) {
-                                    students_label = vue.strings.student_text;
-                                }
-                                let text = '<b>' + label +'</b><br/>' + '<b>' + serie_name +': </b>' +
-                                            value + ' ' + students_label + '<br/>' + send_mail;
-                                return text;
-                            }
-                        };
-                        chart.plotOptions = {
-                            series: {
-                                cursor: 'pointer',
-                                    point: {
-                                    events: {
-                                        click: function () {
-                                            vue.email_object_name = "assigns_submissions";
-                                            let serie_name = this.category.split('</b>');
-                                            serie_name = serie_name[0] || '';
-                                            serie_name = serie_name.split('<b>');
-                                            serie_name = serie_name[1] || '';
-                                            vue.email_strings.subject = vue.email_strings.subject_prefix+" - "+serie_name;
+        update_interactions(week) {
+          this.loading = true;
+          this.errors = [];
+          let data = {
+            action: "assignments",
+            userid: this.userid,
+            courseid: this.courseid,
+            weekcode: week.weekcode,
+            profile: this.render_has,
+          };
+          Axios({
+            method: "get",
+            url: M.cfg.wwwroot + "/local/notemyprogress/ajax.php",
+            params: data,
+          })
+            .then((response) => {
+              if (response.status == 200 && response.data.ok) {
+                this.submissions = response.data.data.submissions;
+                this.access = response.data.data.access;
+                this.generate_access_content_data();
+              } else {
+                this.error_messages.push(this.strings.error_network);
+              }
+            })
+            .catch((e) => {
+              this.errors.push(this.strings.api_error_network);
+            })
+            .finally(() => {
+              this.loading = false;
+              vue.addLogsIntoDB(
+                "viewed",
+                "week_" + week.weekcode,
+                "week_section",
+                "Week section that allows you to obtain information on a specific week"
+              );
+              vue.setGraphicsEventListeners();
+            });
+          return this.data;
+        },
 
-                                            let x = this.x;
-                                            let column = this.series.colorIndex;
-                                            vue.dialog = true;
-                                            vue.selected_users = vue.submissions.users[x][column];
-                                            vue.moduleid = vue.submissions.modules[x];
-                                            vue.modulename = "assign";
-                                            vue.scriptname = "test";
-                                        }
-                                    }
-                                }
-                            }
-                        };
-                        chart.series = this.submissions.data;
-                        return chart;
-                    },
+        build_assigns_submissions_chart() {
+          let chart = new Object();
+          chart.chart = {
+            type: "column",
+            backgroundColor: null,
+            style: { fontFamily: "poppins" },
+          };
+          chart.title = {
+            text: null,
+          };
+          chart.colors = this.assigns_submissions_colors;
+          chart.xAxis = {
+            categories: this.submissions.categories,
+            crosshair: true,
+          };
+          chart.yAxis = {
+            min: 0,
+            title: {
+              text: this.strings.assignsubs_chart_yaxis,
+            },
+            allowDecimals: false,
+          };
+          chart.tooltip = {
+            formatter: function () {
+              let label = this.x.split("</b>");
+              label = label[0] || "";
+              label = label.split("<b>");
+              label = label[1] || "";
+              let serie_name = this.series.name;
+              let value = this.y;
+              let students_label = vue.strings.students_text;
+              let send_mail = vue.strings.send_mail;
+              if (value == 1) {
+                students_label = vue.strings.student_text;
+              }
+              let text =
+                "<b>" +
+                label +
+                "</b><br/>" +
+                "<b>" +
+                serie_name +
+                ": </b>" +
+                value +
+                " " +
+                students_label +
+                "<br/>" +
+                send_mail;
+              return text;
+            },
+          };
+          chart.plotOptions = {
+            series: {
+              cursor: "pointer",
+              point: {
+                events: {
+                  click: function () {
+                    vue.email_object_name = "assigns_submissions";
+                    let serie_name = this.category.split("</b>");
+                    serie_name = serie_name[0] || "";
+                    serie_name = serie_name.split("<b>");
+                    serie_name = serie_name[1] || "";
+                    vue.email_strings.subject =
+                      vue.email_strings.subject_prefix + " - " + serie_name;
 
-                    build_access_content_chart() {
-                        let chart = new Object();
-                        chart.chart = {
-                            type: 'bar',
-                            backgroundColor: null,
-                            style: {fontFamily: 'poppins'},
-                        };
-                        chart.title = {text: null};
-                        chart.colors = this.access_content_colors;
-                        chart.xAxis = {
-                            categories: this.access_chart_categories,
-                            title: { text: null },
-                            crosshair: true,
-                        };
-                        chart.yAxis = {
-                            min: 0,
-                            title: {
-                                text: this.strings.access_chart_yaxis_label,
-                            },
-                            labels: {
-                                overflow: 'justify'
-                            },
-                            allowDecimals: false,
-                        };
-                        chart.tooltip = {
-                            formatter: function () {
-                                let label = this.x;
-                                let serie_name = this.series.name;
-                                let value = this.y;
-                                let students_label = vue.strings.students_text;
-                                let send_mail = vue.strings.send_mail;
-                                if (value == 1) {
-                                    students_label = vue.strings.student_text;
-                                }
-                                let text = '<b>' + label +'</b><br/>' + '<b>' + serie_name +': </b>' +
-                                    value + ' ' + students_label + '<br/>' + send_mail;
-                                return text;
-                            }
-                        };
-                        chart.plotOptions = {
-                            bar: {
-                                dataLabels: {
-                                    enabled: false
-                                }
-                            },
-                            series: {
-                                cursor: 'pointer',
-                                    point: {
-                                    events: {
-                                        click: function () {
-                                            vue.email_object_name = "access_content";
-                                            let serie_name = this.category;
-                                            vue.email_strings.subject = vue.email_strings.subject_prefix+" - "+serie_name;
-                                            let x = this.x;
-                                            let column = this.series.colorIndex;
-                                            let users = vue.get_users(vue.access_chart_users[x][column]);
-                                            vue.selected_users = users;
-                                            let module = vue.get_moduletype(this.category);
-                                            vue.modulename = module.type;
-                                            vue.moduleid = module.id;
-                                            vue.dialog = true;
-                                            vue.scriptname = "test";
-                                        }
-                                    }
-                                }
-                            }
-                        };
-                        chart.series = this.access_chart_series;
-                        return chart;
-                    },
+                    let x = this.x;
+                    let column = this.series.colorIndex;
+                    vue.dialog = true;
+                    vue.selected_users = vue.submissions.users[x][column];
+                    vue.moduleid = vue.submissions.modules[x];
+                    vue.modulename = "assign";
+                    vue.scriptname = "test";
+                  },
+                },
+              },
+            },
+          };
+          chart.series = this.submissions.data;
+          return chart;
+        },
 
-                    update_dialog (value) {
-                        this.dialog = value;
-                    },
+        build_access_content_chart() {
+          let chart = new Object();
+          chart.chart = {
+            type: "bar",
+            backgroundColor: null,
+            style: { fontFamily: "poppins" },
+          };
+          chart.title = { text: null };
+          chart.colors = this.access_content_colors;
+          chart.xAxis = {
+            categories: this.access_chart_categories,
+            title: { text: null },
+            crosshair: true,
+          };
+          chart.yAxis = {
+            min: 0,
+            title: {
+              text: this.strings.access_chart_yaxis_label,
+            },
+            labels: {
+              overflow: "justify",
+            },
+            allowDecimals: false,
+          };
+          chart.tooltip = {
+            formatter: function () {
+              let label = this.x;
+              let serie_name = this.series.name;
+              let value = this.y;
+              let students_label = vue.strings.students_text;
+              let send_mail = vue.strings.send_mail;
+              if (value == 1) {
+                students_label = vue.strings.student_text;
+              }
+              let text =
+                "<b>" +
+                label +
+                "</b><br/>" +
+                "<b>" +
+                serie_name +
+                ": </b>" +
+                value +
+                " " +
+                students_label +
+                "<br/>" +
+                send_mail;
+              return text;
+            },
+          };
+          chart.plotOptions = {
+            bar: {
+              dataLabels: {
+                enabled: false,
+              },
+            },
+            series: {
+              cursor: "pointer",
+              point: {
+                events: {
+                  click: function () {
+                    vue.email_object_name = "access_content";
+                    let serie_name = this.category;
+                    vue.email_strings.subject =
+                      vue.email_strings.subject_prefix + " - " + serie_name;
+                    let x = this.x;
+                    let column = this.series.colorIndex;
+                    let users = vue.get_users(
+                      vue.access_chart_users[x][column]
+                    );
+                    vue.selected_users = users;
+                    let module = vue.get_moduletype(this.category);
+                    vue.modulename = module.type;
+                    vue.moduleid = module.id;
+                    vue.dialog = true;
+                    vue.scriptname = "test";
+                  },
+                },
+              },
+            },
+          };
+          chart.series = this.access_chart_series;
+          return chart;
+        },
 
-                    generate_access_content_data() {
-                        let usersIds = [];
-                        this.access.users.forEach(user => {
-                            usersIds.push(Number(user.id));
-                        });
-                        let selected_types_labels = [];
-                        this.access.types.forEach(item => {
-                            if (item.show) {
-                                selected_types_labels.push(item.type);
-                            }
-                        });
-                        let selected_modules = [];
-                        this.access.modules.forEach(module => {
-                            if (selected_types_labels.includes(module.type)) {
-                                selected_modules.push(module);
-                            }
-                        });
-                        let categories = [];
-                        let modules_users = [];
-                        let access_users_data = [];
-                        let no_access_users_data = [];
-                        selected_modules.forEach(module => {
-                            categories.push(module.name);
-                            let access_users = module.users;
-                            let no_access_users = usersIds.filter(x => !access_users.includes(x));
-                            access_users_data.push(access_users.length);
-                            no_access_users_data.push(no_access_users.length);
-                            modules_users.push([access_users, no_access_users]);
-                        });
-                        let series = [
-                            { name: this.strings.access, data: access_users_data },
-                            { name: this.strings.no_access, data: no_access_users_data },
-                        ];
-                        this.access_chart_categories = categories;
-                        this.access_chart_series = series;
-                        this.access_chart_users = modules_users;
-                    },
+        update_dialog(value) {
+          this.dialog = value;
+        },
 
-                    get_users(ids) {
-                        let users = [];
-                        this.access.users.forEach(user => {
-                            let userid = Number(user.id);
-                            if (ids.includes(userid)) {
-                                users.push(user);
-                            }
-                        });
-                        return users;
-                    },
+        generate_access_content_data() {
+          let usersIds = [];
+          this.access.users.forEach((user) => {
+            usersIds.push(Number(user.id));
+          });
+          let selected_types_labels = [];
+          this.access.types.forEach((item) => {
+            if (item.show) {
+              selected_types_labels.push(item.type);
+            }
+          });
+          let selected_modules = [];
+          this.access.modules.forEach((module) => {
+            if (selected_types_labels.includes(module.type)) {
+              selected_modules.push(module);
+            }
+          });
+          let categories = [];
+          let modules_users = [];
+          let access_users_data = [];
+          let no_access_users_data = [];
+          selected_modules.forEach((module) => {
+            categories.push(module.name);
+            let access_users = module.users;
+            let no_access_users = usersIds.filter(
+              (x) => !access_users.includes(x)
+            );
+            access_users_data.push(access_users.length);
+            no_access_users_data.push(no_access_users.length);
+            modules_users.push([access_users, no_access_users]);
+          });
+          let series = [
+            { name: this.strings.access, data: access_users_data },
+            { name: this.strings.no_access, data: no_access_users_data },
+          ];
+          this.access_chart_categories = categories;
+          this.access_chart_series = series;
+          this.access_chart_users = modules_users;
+        },
 
-                    get_moduletype(modulename) {
-                        let mod;
-                        this.access.modules.forEach(module => {
-                            if (module.name === modulename) {
-                                mod = module;
-                            }
-                        });
-                        return mod;
-                    },
+        get_users(ids) {
+          let users = [];
+          this.access.users.forEach((user) => {
+            let userid = Number(user.id);
+            if (ids.includes(userid)) {
+              users.push(user);
+            }
+          });
+          return users;
+        },
 
-                    open_chart_help(chart) {
-                        let contents = [];
-                        var action = "";
-                        var objectName = "";
-                        var objectType = "";
-                        var objectDescription = "";
-                        if (chart == "assigns_submissions") {
-                            contents.push({
-                                title: this.strings.assigns_submissions_help_title,
-                                description: this.strings.assigns_submissions_help_description_p1,
-                            });
-                            contents.push({
-                                description: this.strings.assigns_submissions_help_description_p2,
-                            });
-                            action = "viewed";
-                            objectType = "help";
-                            objectName = "assigns_submissions"
-                            objectDescription = "Help section that provides information about the invested time chart";
-                            vue.addLogsIntoDB(action, objectName, objectType, objectDescription);
-                        } else if (chart == "access_content") {
-                            contents.push({
-                                title: this.strings.access_content_help_title,
-                                description: this.strings.access_content_help_description_p1,
-                            });
-                            contents.push({
-                                description: this.strings.access_content_help_description_p2,
-                            });
-                            action = "viewed";
-                            objectType = "help";
-                            objectName = "access_content";
-                            objectDescription = "Help section that provides information about the sessions per hour chart";
-                            vue.addLogsIntoDB(action, objectName, objectType, objectDescription);
-                        }
-                        this.help_contents = contents;
-                        if (this.help_contents.length) {
-                            this.help_dialog = true;
-                        }
-                    },
+        get_moduletype(modulename) {
+          let mod;
+          this.access.modules.forEach((module) => {
+            if (module.name === modulename) {
+              mod = module;
+            }
+          });
+          return mod;
+        },
 
-                    update_help_dialog (value) {
-                        this.help_dialog = value;
-                    },
+        open_chart_help(chart) {
+          let contents = [];
+          var action = "";
+          var objectName = "";
+          var objectType = "";
+          var objectDescription = "";
+          if (chart == "assigns_submissions") {
+            contents.push({
+              title: this.strings.assigns_submissions_help_title,
+              description: this.strings.assigns_submissions_help_description_p1,
+            });
+            contents.push({
+              description: this.strings.assigns_submissions_help_description_p2,
+            });
+            action = "viewed";
+            objectType = "help";
+            objectName = "assigns_submissions";
+            objectDescription =
+              "Help section that provides information about the invested time chart";
+            vue.addLogsIntoDB(
+              action,
+              objectName,
+              objectType,
+              objectDescription
+            );
+          } else if (chart == "access_content") {
+            contents.push({
+              title: this.strings.access_content_help_title,
+              description: this.strings.access_content_help_description_p1,
+            });
+            contents.push({
+              description: this.strings.access_content_help_description_p2,
+            });
+            action = "viewed";
+            objectType = "help";
+            objectName = "access_content";
+            objectDescription =
+              "Help section that provides information about the sessions per hour chart";
+            vue.addLogsIntoDB(
+              action,
+              objectName,
+              objectType,
+              objectDescription
+            );
+          }
+          this.help_contents = contents;
+          if (this.help_contents.length) {
+            this.help_dialog = true;
+          }
+        },
 
-                    get_timezone(){
-                        let information = `${this.strings.ss_change_timezone} ${this.timezone}`
-                        return information;
-                    },
+        update_help_dialog(value) {
+          this.help_dialog = value;
+        },
 
-                    setGraphicsEventListeners() {
-                        let graphics = document.querySelectorAll('.highcharts-container');
-                        if(graphics.length<1) {
-                            setTimeout(vue.setGraphicsEventListeners, 500);
-                        } else {
-                            graphics[0].id="submissions";
-                            graphics[1].id="accessContent";
-                            graphics.forEach((graph) => {
-                                graph.addEventListener('mouseenter', vue.addLogsViewGraphic);
-                            })
-                        }
-                    },
+        get_timezone() {
+          let information = `${this.strings.ss_change_timezone} ${this.timezone}`;
+          return information;
+        },
 
-                    addLogsViewGraphic(e) {
-                        event.stopPropagation();
-                        var action = "";
-                        var objectName = "";
-                        var objectType = "";
-                        var objectDescription = "";
-                        switch(e.target.id) {
-                            case "submissions":
-                                action = "viewed";
-                                objectName = "assigns_submissions";
-                                objectType = "chart";
-                                objectDescription = "Chart showing the work submited by the students";
-                                break;
-                            case "accessContent":
-                                action = "viewed";
-                                objectName = "access_content";
-                                objectType = "chart";
-                                objectDescription = "Chart showing the course content accessed by the students";
-                                break;
-                            default:
-                                action = "viewed";
-                                objectName = "";
-                                objectType = "chart";
-                                objectDescription = "A chart";
-                                break;
-                        }
-                        vue.addLogsIntoDB(action, objectName, objectType, objectDescription);
-                    },
+        setGraphicsEventListeners() {
+          let graphics = document.querySelectorAll(".highcharts-container");
+          if (graphics.length < 1) {
+            setTimeout(vue.setGraphicsEventListeners, 500);
+          } else {
+            graphics[0].id = "submissions";
+            graphics[1].id = "accessContent";
+            graphics.forEach((graph) => {
+              graph.addEventListener("mouseenter", vue.addLogsViewGraphic);
+            });
+          }
+        },
 
-                    addLogsIntoDB(action, objectName, objectType, objectDescription) {
-                        let data = {
-                            courseid: content.courseid,
-                            userid: content.userid,
-                            action: "addLogs",
-                            sectionname: "TASKS_MONITORING",
-                            actiontype: action,
-                            objectType: objectType,
-                            objectName: objectName,
-                            currentUrl: document.location.href,
-                            objectDescription: objectDescription,
-                        };
-                        Axios({
-                            method:'get',
-                            url: M.cfg.wwwroot + "/local/notemyprogress/ajax.php",
-                            params : data,
-                        }).then((response) => {
-                            if (response.status == 200 && response.data.ok) {
-                            }
-                        }).catch((e) => {
-                        });
-                    },
+        addLogsViewGraphic(e) {
+          event.stopPropagation();
+          var action = "";
+          var objectName = "";
+          var objectType = "";
+          var objectDescription = "";
+          switch (e.target.id) {
+            case "submissions":
+              action = "viewed";
+              objectName = "assigns_submissions";
+              objectType = "chart";
+              objectDescription =
+                "Chart showing the work submited by the students";
+              break;
+            case "accessContent":
+              action = "viewed";
+              objectName = "access_content";
+              objectType = "chart";
+              objectDescription =
+                "Chart showing the course content accessed by the students";
+              break;
+            default:
+              action = "viewed";
+              objectName = "";
+              objectType = "chart";
+              objectDescription = "A chart";
+              break;
+          }
+          vue.addLogsIntoDB(action, objectName, objectType, objectDescription);
+        },
 
-                }
+        addLogsIntoDB(action, objectName, objectType, objectDescription) {
+          let data = {
+            courseid: content.courseid,
+            userid: content.userid,
+            action: "addLogs",
+            sectionname: "TASKS_MONITORING",
+            actiontype: action,
+            objectType: objectType,
+            objectName: objectName,
+            currentUrl: document.location.href,
+            objectDescription: objectDescription,
+          };
+          Axios({
+            method: "get",
+            url: M.cfg.wwwroot + "/local/notemyprogress/ajax.php",
+            params: data,
+          })
+            .then((response) => {
+              if (response.status == 200 && response.data.ok) {
+              }
             })
-
-        }
-        return {
-            init : init
-        };
-    });
\ No newline at end of file
+            .catch((e) => {});
+        },
+      },
+    });
+  }
+  return {
+    init: init,
+  };
+});
diff --git a/notemyprogress/amd/src/sessions.js b/notemyprogress/amd/src/sessions.js
index 14d0d7990d3de6af94f026f4cfbbcb9dda6c3931..8d9df751b9905c8312ec27ab41c406ebc347749a 100644
--- a/notemyprogress/amd/src/sessions.js
+++ b/notemyprogress/amd/src/sessions.js
@@ -1,388 +1,438 @@
-define(["local_notemyprogress/vue",
-        "local_notemyprogress/vuetify",
-        "local_notemyprogress/axios",
-        "local_notemyprogress/moment",
-        "local_notemyprogress/pagination",
-        "local_notemyprogress/chartstatic",
-        "local_notemyprogress/pageheader",
-        "local_notemyprogress/helpdialog",
-    ],
-    function(Vue, Vuetify, Axios, Moment, Pagination, ChartStatic, PageHeader, HelpDialog) {
-        "use strict";
+define([
+  "local_notemyprogress/vue",
+  "local_notemyprogress/vuetify",
+  "local_notemyprogress/axios",
+  "local_notemyprogress/moment",
+  "local_notemyprogress/pagination",
+  "local_notemyprogress/chartstatic",
+  "local_notemyprogress/pageheader",
+  "local_notemyprogress/helpdialog",
+], function (
+  Vue,
+  Vuetify,
+  Axios,
+  Moment,
+  Pagination,
+  ChartStatic,
+  PageHeader,
+  HelpDialog
+) {
+  "use strict";
 
-        function init(content) {
-            // console.log(content);
-            Vue.use(Vuetify);
-            Vue.component('pagination', Pagination);
-            Vue.component('chart', ChartStatic);
-            Vue.component('pageheader', PageHeader);
-            Vue.component('helpdialog', HelpDialog);
-            let vue = new Vue({
-                delimiters: ["[[", "]]"],
-                el: "#work_sessions",
-                vuetify: new Vuetify(),
-                data() {
-                    return {
-                        strings : content.strings,
-                        groups : content.groups,
-                        userid : content.userid,
-                        courseid : content.courseid,
-                        timezone : content.timezone,
-                        render_has : content.profile_render,
-                        loading : false,
-                        errors : [],
+  function init(content) {
+    // console.log(content);
+    Vue.use(Vuetify);
+    Vue.component("pagination", Pagination);
+    Vue.component("chart", ChartStatic);
+    Vue.component("pageheader", PageHeader);
+    Vue.component("helpdialog", HelpDialog);
+    let vue = new Vue({
+      delimiters: ["[[", "]]"],
+      el: "#work_sessions",
+      vuetify: new Vuetify(),
+      data() {
+        return {
+          strings: content.strings,
+          groups: content.groups,
+          userid: content.userid,
+          courseid: content.courseid,
+          timezone: content.timezone,
+          render_has: content.profile_render,
+          loading: false,
+          errors: [],
 
-                        pages : content.pages,
-                        hours_sessions: content.indicators.sessions,
-                        session_count: content.indicators.count,
-                        inverted_time: content.indicators.time,
-                        inverted_time_colors: content.inverted_time_colors,
-                        sessions_count_colors: content.sessions_count_colors,
+          pages: content.pages,
+          hours_sessions: content.indicators.sessions,
+          session_count: content.indicators.count,
+          inverted_time: content.indicators.time,
+          inverted_time_colors: content.inverted_time_colors,
+          sessions_count_colors: content.sessions_count_colors,
 
-                        search: null,
+          search: null,
 
-                        help_dialog: false,
-                        help_contents: [],
-                    }
-                },
-                mounted(){
-                    document.querySelector("#sessions-loader").style.display = "none";
-                    document.querySelector("#work_sessions").style.display = "block";
-                    setTimeout(function() {
-                        vue.setGraphicsEventListeners();
-                    }, 500);
-                },
-                methods : {
-                    get_help_content(){
-                        let contents = [];
-                        contents.push({
-                            title: this.strings.section_help_title,
-                            description: this.strings.section_help_description,
-                        });
-                        return contents;
-                    },
+          help_dialog: false,
+          help_contents: [],
+        };
+      },
+      mounted() {
+        document.querySelector("#sessions-loader").style.display = "none";
+        document.querySelector("#work_sessions").style.display = "block";
+        setTimeout(function () {
+          vue.setGraphicsEventListeners();
+        }, 500);
+      },
+      methods: {
+        get_help_content() {
+          let contents = [];
+          contents.push({
+            title: this.strings.section_help_title,
+            description: this.strings.section_help_description,
+          });
+          return contents;
+        },
 
-                    update_interactions(week){
-                        this.loading = true;
-                        this.errors = [];
-                        let data = {
-                            action : "worksessions",
-                            userid : this.userid,
-                            courseid : this.courseid,
-                            weekcode : week.weekcode,
-                            profile : this.render_has,
-                        }
-                        Axios({
-                            method:'get',
-                            url: M.cfg.wwwroot + "/local/notemyprogress/ajax.php",
-                            params : data,
-                        }).then((response) => {
-                            if (response.status == 200 && response.data.ok) {
-                                this.hours_sessions = response.data.data.indicators.sessions;
-                                this.session_count = response.data.data.indicators.count;
-                                this.inverted_time = response.data.data.indicators.time;
-                            } else {
-                                this.error_messages.push(this.strings.error_network);
-                            }
-                        }).catch((e) => {
-                            this.errors.push(this.strings.api_error_network);
-                        }).finally(() => {
-                            this.loading = false;
-                            //Ici, la page a fini de charger
-                            vue.addLogsIntoDB("viewed", "week_"+week.weekcode, "week_section", "Week section that allows you to obtain information on a specific week");
-                            vue.setGraphicsEventListeners();
-                        });
-                        return this.data;
-                    },
+        update_interactions(week) {
+          this.loading = true;
+          this.errors = [];
+          let data = {
+            action: "worksessions",
+            userid: this.userid,
+            courseid: this.courseid,
+            weekcode: week.weekcode,
+            profile: this.render_has,
+          };
+          Axios({
+            method: "get",
+            url: M.cfg.wwwroot + "/local/notemyprogress/ajax.php",
+            params: data,
+          })
+            .then((response) => {
+              if (response.status == 200 && response.data.ok) {
+                this.hours_sessions = response.data.data.indicators.sessions;
+                this.session_count = response.data.data.indicators.count;
+                this.inverted_time = response.data.data.indicators.time;
+              } else {
+                this.error_messages.push(this.strings.error_network);
+              }
+            })
+            .catch((e) => {
+              this.errors.push(this.strings.api_error_network);
+            })
+            .finally(() => {
+              this.loading = false;
+              //Ici, la page a fini de charger
+              vue.addLogsIntoDB(
+                "viewed",
+                "week_" + week.weekcode,
+                "week_section",
+                "Week section that allows you to obtain information on a specific week"
+              );
+              vue.setGraphicsEventListeners();
+            });
+          return this.data;
+        },
 
-                    get_point_category_name(point, dimension) {
-                        let series = point.series,
-                            isY = dimension === 'y',
-                            axis = series[isY ? 'yAxis' : 'xAxis'];
-                        return axis.categories[point[isY ? 'y' : 'x']];
-                    },
+        get_point_category_name(point, dimension) {
+          let series = point.series,
+            isY = dimension === "y",
+            axis = series[isY ? "yAxis" : "xAxis"];
+          return axis.categories[point[isY ? "y" : "x"]];
+        },
 
-                    build_hours_sessions_chart() {
-                        let chart = new Object();
-                        chart.title = {
-                            text: null,
-                        };
-                        chart.chart = {
-                            type: 'heatmap',
-                            backgroundColor: null,
-                            style: {fontFamily: 'poppins'},
-                        };
-                        chart.xAxis = {
-                            categories: this.strings.days,
-                        };
-                        chart.yAxis = {
-                            categories: this.strings.hours,
-                            title: null,
-                            reversed: true,
-                        };
-                        chart.colorAxis = {
-                            min: 0,
-                            minColor: '#E0E0E0',
-                            maxColor: '#118AB2'
-                        };
-                        chart.legend = {
-                            layout: 'horizontal',
-                            verticalAlign: 'bottom',
-                        };
-                        chart.tooltip = {
-                            formatter: function () {
-                                let xCategoryName = vue.get_point_category_name(this.point, 'x');
-                                let yCategoryName = vue.get_point_category_name(this.point, 'y');
-                                let label = vue.strings.sessions_text;
-                                if (this.point.value == 1) {
-                                    label = vue.strings.session_text;
-                                }
-                                return '<b>' + xCategoryName + ' ' + yCategoryName + '</b>: '
-                                    + this.point.value +' ' + label;
-                            }
-                        };
-                        chart.series = [{
-                            borderWidth: 2,
-                            borderColor: '#FAFAFA',
-                            data: this.hours_sessions,
-                        }];
-                        return chart;
-                    },
+        build_hours_sessions_chart() {
+          let chart = new Object();
+          chart.title = {
+            text: null,
+          };
+          chart.chart = {
+            type: "heatmap",
+            backgroundColor: null,
+            style: { fontFamily: "poppins" },
+          };
+          chart.xAxis = {
+            categories: this.strings.days,
+          };
+          chart.yAxis = {
+            categories: this.strings.hours,
+            title: null,
+            reversed: true,
+          };
+          chart.colorAxis = {
+            min: 0,
+            minColor: "#E0E0E0",
+            maxColor: "#118AB2",
+          };
+          chart.legend = {
+            layout: "horizontal",
+            verticalAlign: "bottom",
+          };
+          chart.tooltip = {
+            formatter: function () {
+              let xCategoryName = vue.get_point_category_name(this.point, "x");
+              let yCategoryName = vue.get_point_category_name(this.point, "y");
+              let label = vue.strings.sessions_text;
+              if (this.point.value == 1) {
+                label = vue.strings.session_text;
+              }
+              return (
+                "<b>" +
+                xCategoryName +
+                " " +
+                yCategoryName +
+                "</b>: " +
+                this.point.value +
+                " " +
+                label
+              );
+            },
+          };
+          chart.series = [
+            {
+              borderWidth: 2,
+              borderColor: "#FAFAFA",
+              data: this.hours_sessions,
+            },
+          ];
+          return chart;
+        },
 
-                    build_inverted_time_chart() {
-                        let chart = new Object();
-                        chart.chart = {
-                            type: 'bar',
-                            backgroundColor: null,
-                            style: {fontFamily: 'poppins'},
-                        };
-                        chart.title = {
-                            text: null,
-                        };
-                        chart.colors = this.inverted_time_colors;
-                        chart.xAxis = {
-                            type: 'category',
-                            crosshair: true,
-                        };
-                        chart.yAxis = {
-                            title: {
-                                text: this.strings.time_inverted_x_axis,
-                            }
-                        };
-                        chart.tooltip = {
-                            shared:true,
-                            useHTML:true,
-                            formatter: function () {
-                                let category_name = this.points[0].key;
-                                let time = vue.convert_time(this.y);
-                                return `<b>${category_name}: </b>${time}`;
-                            }
-                        };
-                        chart.legend = {
-                            enabled: false
-                        };
-                        chart.series = [{
-                            colorByPoint: true,
-                            data: this.inverted_time.data
-                        }];
-                        return chart;
-                    },
+        build_inverted_time_chart() {
+          let chart = new Object();
+          chart.chart = {
+            type: "bar",
+            backgroundColor: null,
+            style: { fontFamily: "poppins" },
+          };
+          chart.title = {
+            text: null,
+          };
+          chart.colors = this.inverted_time_colors;
+          chart.xAxis = {
+            type: "category",
+            crosshair: true,
+          };
+          chart.yAxis = {
+            title: {
+              text: this.strings.time_inverted_x_axis,
+            },
+          };
+          chart.tooltip = {
+            shared: true,
+            useHTML: true,
+            formatter: function () {
+              let category_name = this.points[0].key;
+              let time = vue.convert_time(this.y);
+              return `<b>${category_name}: </b>${time}`;
+            },
+          };
+          chart.legend = {
+            enabled: false,
+          };
+          chart.series = [
+            {
+              colorByPoint: true,
+              data: this.inverted_time.data,
+            },
+          ];
+          return chart;
+        },
 
-                    build_sessions_count_chart() {
-                        let chart = new Object();
-                        chart.chart = {
-                            backgroundColor: null,
-                            style: {fontFamily: 'poppins'},
-                        };
-                        chart.title = {
-                            text: null,
-                        };
-                        chart.colors = this.sessions_count_colors;
-                        chart.yAxis = {
-                            title: {
-                                text: this.strings.session_count_yaxis_title,
-                            },
-                            allowDecimals: false
-                        };
-                        chart.xAxis = {
-                            categories: this.session_count.categories,
-                        };
-                        chart.tooltip = {
-                            valueSuffix: this.strings.session_count_tooltip_suffix,
-                        };
-                        chart.legend = {
-                            layout: 'horizontal',
-                            verticalAlign: 'bottom',
-                        };
-                        chart.series = this.session_count.data
-                        return chart;
-                    },
+        build_sessions_count_chart() {
+          let chart = new Object();
+          chart.chart = {
+            backgroundColor: null,
+            style: { fontFamily: "poppins" },
+          };
+          chart.title = {
+            text: null,
+          };
+          chart.colors = this.sessions_count_colors;
+          chart.yAxis = {
+            title: {
+              text: this.strings.session_count_yaxis_title,
+            },
+            allowDecimals: false,
+          };
+          chart.xAxis = {
+            categories: this.session_count.categories,
+          };
+          chart.tooltip = {
+            valueSuffix: this.strings.session_count_tooltip_suffix,
+          };
+          chart.legend = {
+            layout: "horizontal",
+            verticalAlign: "bottom",
+          };
+          chart.series = this.session_count.data;
+          return chart;
+        },
 
-                    convert_time(time) {
-                        time *= 3600; // pasar las horas a segundos
-                        let h = this.strings.hours_short;
-                        let m = this.strings.minutes_short;
-                        let s = this.strings.seconds_short;
-                        let hours = Math.floor(time / 3600);
-                        let minutes = Math.floor((time % 3600) / 60);
-                        let seconds = Math.floor(time % 60);
-                        let text;
-                        if (hours >= 1) {
-                            if (minutes >= 1) {
-                                text = `${hours}${h} ${minutes}${m}`;
-                            } else {
-                                text = `${hours}${h}`;
-                            }
-                        } else if ((minutes >= 1)) {
-                            if (seconds >= 1) {
-                                text = `${minutes}${m} ${seconds}${s}`;
-                            } else {
-                                text = `${minutes}${m}`;
-                            }
-                        } else {
-                            text = `${seconds}${s}`;
-                        }
-                        return text;
-                    },
+        convert_time(time) {
+          time *= 3600; // pasar las horas a segundos
+          let h = this.strings.hours_short;
+          let m = this.strings.minutes_short;
+          let s = this.strings.seconds_short;
+          let hours = Math.floor(time / 3600);
+          let minutes = Math.floor((time % 3600) / 60);
+          let seconds = Math.floor(time % 60);
+          let text;
+          if (hours >= 1) {
+            if (minutes >= 1) {
+              text = `${hours}${h} ${minutes}${m}`;
+            } else {
+              text = `${hours}${h}`;
+            }
+          } else if (minutes >= 1) {
+            if (seconds >= 1) {
+              text = `${minutes}${m} ${seconds}${s}`;
+            } else {
+              text = `${minutes}${m}`;
+            }
+          } else {
+            text = `${seconds}${s}`;
+          }
+          return text;
+        },
 
-                    open_chart_help(chart) {
-                        let contents = [];
-                        var action = "";
-                        var objectName = "";
-                        var objectType = "";
-                        var objectDescription = "";
-                        if (chart == "inverted_time") {
-                            contents.push({
-                                title: this.strings.inverted_time_help_title,
-                                description: this.strings.inverted_time_help_description_p1,
-                            });
-                            contents.push({
-                                description: this.strings.inverted_time_help_description_p2,
-                            });
-                            action = "viewed";
-                            objectType = "help";
-                            objectName = "invested_time";
-                            objectDescription = "Help section that provides information about the sessions per week chart";
-                            vue.addLogsIntoDB(action, objectName, objectType, objectDescription);
-                        } else if (chart == "hours_sessions") {
-                            contents.push({
-                                title: this.strings.hours_sessions_help_title,
-                                description: this.strings.hours_sessions_help_description_p1,
-                            });
-                            contents.push({
-                                description: this.strings.hours_sessions_help_description_p2,
-                            });
-                            action = "viewed";
-                            objectType = "help";
-                            objectName = "hours_sessions";
-                            objectDescription = "Help section that provides information about the sessions per hour chart";
-                            vue.addLogsIntoDB(action, objectName, objectType, objectDescription);
-                        } else if (chart == "sessions_count") {
-                            contents.push({
-                                title: this.strings.sessions_count_help_title,
-                                description: this.strings.sessions_count_help_description_p1,
-                            });
-                            contents.push({
-                                description: this.strings.sessions_count_help_description_p2,
-                            });
-                            action = "viewed";
-                            objectType = "help";
-                            objectName = "sessions_count";
-                            objectDescription = "Help section that provides information about the invested time chart";
-                            vue.addLogsIntoDB(action, objectName, objectType, objectDescription);
-                        }
-                        this.help_contents = contents;
-                        if (this.help_contents.length) {
-                            this.help_dialog = true;
-                        }
-                    },
+        open_chart_help(chart) {
+          let contents = [];
+          var action = "";
+          var objectName = "";
+          var objectType = "";
+          var objectDescription = "";
+          if (chart == "inverted_time") {
+            contents.push({
+              title: this.strings.inverted_time_help_title,
+              description: this.strings.inverted_time_help_description_p1,
+            });
+            contents.push({
+              description: this.strings.inverted_time_help_description_p2,
+            });
+            action = "viewed";
+            objectType = "help";
+            objectName = "invested_time";
+            objectDescription =
+              "Help section that provides information about the sessions per week chart";
+            vue.addLogsIntoDB(
+              action,
+              objectName,
+              objectType,
+              objectDescription
+            );
+          } else if (chart == "hours_sessions") {
+            contents.push({
+              title: this.strings.hours_sessions_help_title,
+              description: this.strings.hours_sessions_help_description_p1,
+            });
+            contents.push({
+              description: this.strings.hours_sessions_help_description_p2,
+            });
+            action = "viewed";
+            objectType = "help";
+            objectName = "hours_sessions";
+            objectDescription =
+              "Help section that provides information about the sessions per hour chart";
+            vue.addLogsIntoDB(
+              action,
+              objectName,
+              objectType,
+              objectDescription
+            );
+          } else if (chart == "sessions_count") {
+            contents.push({
+              title: this.strings.sessions_count_help_title,
+              description: this.strings.sessions_count_help_description_p1,
+            });
+            contents.push({
+              description: this.strings.sessions_count_help_description_p2,
+            });
+            action = "viewed";
+            objectType = "help";
+            objectName = "sessions_count";
+            objectDescription =
+              "Help section that provides information about the invested time chart";
+            vue.addLogsIntoDB(
+              action,
+              objectName,
+              objectType,
+              objectDescription
+            );
+          }
+          this.help_contents = contents;
+          if (this.help_contents.length) {
+            this.help_dialog = true;
+          }
+        },
 
-                    update_help_dialog (value) {
-                        this.help_dialog = value;
-                    },
+        update_help_dialog(value) {
+          this.help_dialog = value;
+        },
 
-                    get_timezone(){
-                        let information = `${this.strings.ss_change_timezone} ${this.timezone}`
-                        return information;
-                    },
+        get_timezone() {
+          let information = `${this.strings.ss_change_timezone} ${this.timezone}`;
+          return information;
+        },
 
-                    setGraphicsEventListeners() {
-                        let graphics = document.querySelectorAll('.highcharts-container');
-                        if(graphics.length<1) {
-                            setTimeout(vue.setGraphicsEventListeners,500);
-                        } else {
-                            graphics[0].id="investedTime";
-                            graphics[1].id="sessionsPerHour";
-                            graphics[2].id="sessionsPerWeek";
-                            graphics.forEach((graph) => {
-                                graph.addEventListener('mouseenter', vue.addLogsViewGraphic);
-                            })
-                        }
-                    },
+        setGraphicsEventListeners() {
+          let graphics = document.querySelectorAll(".highcharts-container");
+          if (graphics.length < 1) {
+            setTimeout(vue.setGraphicsEventListeners, 500);
+          } else {
+            graphics[0].id = "investedTime";
+            graphics[1].id = "sessionsPerHour";
+            graphics[2].id = "sessionsPerWeek";
+            graphics.forEach((graph) => {
+              graph.addEventListener("mouseenter", vue.addLogsViewGraphic);
+            });
+          }
+        },
 
-                    addLogsViewGraphic(e) {
-                        event.stopPropagation();
-                        var action = "";
-                        var objectName = "";
-                        var objectType = "";
-                        var objectDescription = "";
-                        switch(e.target.id) {
-                            case "investedTime":
-                                action = "viewed";
-                                objectName = "invested_time";
-                                objectType = "chart";
-                                objectDescription = "Bar chart that shows the average time invested by students as a function of the expected invested time";
-                                break;
-                            case "sessionsPerHour":
-                                action = "viewed";
-                                objectName = "hours_sessions";
-                                objectType = "chart";
-                                objectDescription = "Chart showing the number of sessions performed according to the time of day";
-                                break;
-                            case "sessionsPerWeek":
-                                action = "viewed";
-                                objectName = "sessions_count";
-                                objectType = "chart";
-                                objectDescription = "Chart showing the number of sessions performed per week";
-                                break;
-                            default:
-                                action = "viewed";
-                                objectName = "";
-                                objectType = "chart";
-                                objectDescription = "A chart";
-                                break;
-                        }
-                        vue.addLogsIntoDB(action, objectName, objectType, objectDescription);
-                    },
+        addLogsViewGraphic(e) {
+          event.stopPropagation();
+          var action = "";
+          var objectName = "";
+          var objectType = "";
+          var objectDescription = "";
+          switch (e.target.id) {
+            case "investedTime":
+              action = "viewed";
+              objectName = "invested_time";
+              objectType = "chart";
+              objectDescription =
+                "Bar chart that shows the average time invested by students as a function of the expected invested time";
+              break;
+            case "sessionsPerHour":
+              action = "viewed";
+              objectName = "hours_sessions";
+              objectType = "chart";
+              objectDescription =
+                "Chart showing the number of sessions performed according to the time of day";
+              break;
+            case "sessionsPerWeek":
+              action = "viewed";
+              objectName = "sessions_count";
+              objectType = "chart";
+              objectDescription =
+                "Chart showing the number of sessions performed per week";
+              break;
+            default:
+              action = "viewed";
+              objectName = "";
+              objectType = "chart";
+              objectDescription = "A chart";
+              break;
+          }
+          vue.addLogsIntoDB(action, objectName, objectType, objectDescription);
+        },
 
-                    addLogsIntoDB(action, objectName, objectType, objectDescription) {
-                        let data = {
-                            courseid: content.courseid,
-                            userid: content.userid,
-                            action: "addLogs",
-                            sectionname: "TEACHER_STUDY_SESSIONS",
-                            actiontype: action,
-                            objectType: objectType,
-                            objectName: objectName,
-                            currentUrl: document.location.href,
-                            objectDescription: objectDescription,
-                        };
-                        Axios({
-                            method:'get',
-                            url: M.cfg.wwwroot + "/local/notemyprogress/ajax.php",
-                            params : data,
-                        }).then((response) => {
-                            if (response.status == 200 && response.data.ok) {
-                            }
-                        }).catch((e) => {
-                        });
-                    },
-                }
+        addLogsIntoDB(action, objectName, objectType, objectDescription) {
+          let data = {
+            courseid: content.courseid,
+            userid: content.userid,
+            action: "addLogs",
+            sectionname: "TEACHER_STUDY_SESSIONS",
+            actiontype: action,
+            objectType: objectType,
+            objectName: objectName,
+            currentUrl: document.location.href,
+            objectDescription: objectDescription,
+          };
+          Axios({
+            method: "get",
+            url: M.cfg.wwwroot + "/local/notemyprogress/ajax.php",
+            params: data,
+          })
+            .then((response) => {
+              if (response.status == 200 && response.data.ok) {
+              }
             })
+            .catch((e) => {});
+        },
+      },
+    });
+  }
 
-        }
-
-        return {
-            init : init
-        };
-    });
\ No newline at end of file
+  return {
+    init: init,
+  };
+});
diff --git a/notemyprogress/amd/src/setweeks.js b/notemyprogress/amd/src/setweeks.js
index 5401fd8bb28972c09080156960d973296b95f984..97747ff54aaaec5c2f70c023b3278d342eb12f20 100644
--- a/notemyprogress/amd/src/setweeks.js
+++ b/notemyprogress/amd/src/setweeks.js
@@ -1,350 +1,405 @@
-define(["local_notemyprogress/vue",
-        "local_notemyprogress/vuetify",
-        "local_notemyprogress/axios",
-        "local_notemyprogress/sortablejs",
-        "local_notemyprogress/draggable",
-        "local_notemyprogress/datepicker",
-        "local_notemyprogress/moment",
-        "local_notemyprogress/alertify",
-        "local_notemyprogress/pageheader",
-    ],
-    function(Vue, Vuetify, Axios, Sortable, Draggable, Datepicker, Moment, Alertify, Pageheader) {
-        "use strict";
+define([
+  "local_notemyprogress/vue",
+  "local_notemyprogress/vuetify",
+  "local_notemyprogress/axios",
+  "local_notemyprogress/sortablejs",
+  "local_notemyprogress/draggable",
+  "local_notemyprogress/datepicker",
+  "local_notemyprogress/moment",
+  "local_notemyprogress/alertify",
+  "local_notemyprogress/pageheader",
+], function (
+  Vue,
+  Vuetify,
+  Axios,
+  Sortable,
+  Draggable,
+  Datepicker,
+  Moment,
+  Alertify,
+  Pageheader
+) {
+  "use strict";
 
-        function init(content) {
-            content = add_collapsabled_property_to_weeks(content);
-            Vue.use(Vuetify);
-            Vue.component('draggable', Draggable);
-            Vue.component('datepicker', Datepicker);
-            Vue.component('pageheader', Pageheader);
-            const app = new Vue({
-                delimiters: ["[[", "]]"],
-                el: "#setweeks",
-                vuetify: new Vuetify(),
-                data: {
-                    display_settings: false,
-                    settings: content.settings,
-                    new_group: false,
-                    scroll_mode: false,
-                    weeks_started_at: new Date(Moment(Number(content.weeks[0].weekstart)*1000)),
-                    strings: content.strings,
-                    sections: content.sections,
-                    courseid: content.courseid,
-                    userid: content.userid,
-                    raw_weeks: content.weeks,
-                    disabled_dates: {
-                        days: [0, 2, 3, 4, 5, 6]
-                    },
-                    saving_loader: false,
-                    error_messages: [],
-                    save_successful: false
-                },
-                mounted() {
-                    document.querySelector("#setweeks-loader").style.display = "none";
-                    document.querySelector("#setweeks").style.display = "block";
-                },
-                computed: {
-                    weeks() {
-                        for (let i = 0; i < this.raw_weeks.length; i++) {
-                            let week = this.raw_weeks[i];
-                            if (i == 0) {
-                                let start_weeks = this.weeks_started_at;
-                                week.weekstart = start_weeks;
-                                week.weekend = this.get_end_week(this.weeks_started_at);
-                            } else {
-                                week.weekstart = this.get_start_week(this.raw_weeks[i - 1].weekend);
-                                week.weekend = this.get_end_week(week.weekstart);
-                            }
-                        }
-                        return this.raw_weeks;
-                    }
-                },
-                methods: {
-                    section_name(section) {
-                        let name = null;
-                        if (typeof (section.section_name) != 'undefined' && section.section_name.length > 0) {
-                            name = section.section_name;
-                        } else {
-                            name = section.name;
-                        }
-                        return name;
-                    },
+  function init(content) {
+    content = add_collapsabled_property_to_weeks(content);
+    Vue.use(Vuetify);
+    Vue.component("draggable", Draggable);
+    Vue.component("datepicker", Datepicker);
+    Vue.component("pageheader", Pageheader);
+    const app = new Vue({
+      delimiters: ["[[", "]]"],
+      el: "#setweeks",
+      vuetify: new Vuetify(),
+      data: {
+        display_settings: false,
+        settings: content.settings,
+        new_group: false,
+        scroll_mode: false,
+        weeks_started_at: new Date(
+          Moment(Number(content.weeks[0].weekstart) * 1000)
+        ),
+        strings: content.strings,
+        sections: content.sections,
+        courseid: content.courseid,
+        userid: content.userid,
+        raw_weeks: content.weeks,
+        disabled_dates: {
+          days: [0, 2, 3, 4, 5, 6],
+        },
+        saving_loader: false,
+        error_messages: [],
+        save_successful: false,
+      },
+      mounted() {
+        document.querySelector("#setweeks-loader").style.display = "none";
+        document.querySelector("#setweeks").style.display = "block";
+      },
+      computed: {
+        weeks() {
+          for (let i = 0; i < this.raw_weeks.length; i++) {
+            let week = this.raw_weeks[i];
+            if (i == 0) {
+              let start_weeks = this.weeks_started_at;
+              week.weekstart = start_weeks;
+              week.weekend = this.get_end_week(this.weeks_started_at);
+            } else {
+              week.weekstart = this.get_start_week(
+                this.raw_weeks[i - 1].weekend
+              );
+              week.weekend = this.get_end_week(week.weekstart);
+            }
+          }
+          return this.raw_weeks;
+        },
+      },
+      methods: {
+        section_name(section) {
+          let name = null;
+          if (
+            typeof section.section_name != "undefined" &&
+            section.section_name.length > 0
+          ) {
+            name = section.section_name;
+          } else {
+            name = section.name;
+          }
+          return name;
+        },
 
-                    section_exist(section) {
-                        let exist = true;
-                        if (typeof (section) != 'undefined' && typeof (section.exists) != 'undefined' && section.exists == false) {
-                            exist = false;
-                        }
-                        return exist;
-                    },
+        section_exist(section) {
+          let exist = true;
+          if (
+            typeof section != "undefined" &&
+            typeof section.exists != "undefined" &&
+            section.exists == false
+          ) {
+            exist = false;
+          }
+          return exist;
+        },
 
-                    format_name(name, position) {
-                        return name + " " + (position + 1);
-                    },
+        format_name(name, position) {
+          return name + " " + (position + 1);
+        },
 
-                    customFormatter(date) {
-                        let weeks_start_at = Moment(date).format('YYYY-MM-DD');
-                        return weeks_start_at;
-                    },
+        customFormatter(date) {
+          let weeks_start_at = Moment(date).format("YYYY-MM-DD");
+          return weeks_start_at;
+        },
 
-                    add_week() {
-                        this.raw_weeks.push({
-                            name: this.strings.week,
-                            position: (this.weeks.length + 1),
-                            weekstart: null,
-                            weekend: null,
-                            collapsabled: false,
-                            hours_dedications: 0,
-                            removable: true,
-                            sections: []
-                        });
-                    },
+        add_week() {
+          this.raw_weeks.push({
+            name: this.strings.week,
+            position: this.weeks.length + 1,
+            weekstart: null,
+            weekend: null,
+            collapsabled: false,
+            hours_dedications: 0,
+            removable: true,
+            sections: [],
+          });
+        },
 
-                    has_items(array) {
-                        return array.length > 0;
-                    },
+        has_items(array) {
+          return array.length > 0;
+        },
 
-                    remove_week(week, index) {
-                        if (index == 0) {
-                            return null;
-                        }
-                        this.close_delete_confirm();
-                        for (let i = 0; i < week.sections.length; i++) {
-                            this.sections.push(week.sections[i]);
-                        }
-                        let element_index = this.raw_weeks.indexOf(week);
-                        this.raw_weeks.splice(element_index, 1);
-                    },
+        remove_week(week, index) {
+          if (index == 0) {
+            return null;
+          }
+          this.close_delete_confirm();
+          for (let i = 0; i < week.sections.length; i++) {
+            this.sections.push(week.sections[i]);
+          }
+          let element_index = this.raw_weeks.indexOf(week);
+          this.raw_weeks.splice(element_index, 1);
+        },
 
-                    ask_delete_confirm() {
-                        this.delete_confirm = true;
-                    },
+        ask_delete_confirm() {
+          this.delete_confirm = true;
+        },
 
-                    close_delete_confirm() {
-                        this.delete_confirm = false;
-                    },
+        close_delete_confirm() {
+          this.delete_confirm = false;
+        },
 
-                    get_start_week(pass_week) {
-                        let start_date = Moment(Moment(pass_week).add(1, 'days')).format('YYYY-MM-DD');
-                        return start_date;
-                    },
+        get_start_week(pass_week) {
+          let start_date = Moment(Moment(pass_week).add(1, "days")).format(
+            "YYYY-MM-DD"
+          );
+          return start_date;
+        },
 
-                    get_end_week(start_week) {
-                        let end_date = Moment(Moment(start_week).add(6, 'days')).format('YYYY-MM-DD');
-                        return end_date;
-                    },
+        get_end_week(start_week) {
+          let end_date = Moment(Moment(start_week).add(6, "days")).format(
+            "YYYY-MM-DD"
+          );
+          return end_date;
+        },
 
-                    get_date_next_day(requested_day, date, output_format = null) {
-                        requested_day = requested_day.toLowerCase();
-                        let current_day = Moment(date).format('dddd').toLowerCase();
-                        while (current_day != requested_day) {
-                            date = Moment(date).add(1, 'days');
-                            current_day = Moment(date).format('dddd').toLowerCase();
-                        }
-                        if (output_format) {
-                            date = date.format(output_format);
-                        } else {
-                            if (typeof (date) != 'number') {
-                                date = parseInt(date.format("x"));
-                            }
-                        }
-                        return date;
-                    },
+        get_date_next_day(requested_day, date, output_format = null) {
+          requested_day = requested_day.toLowerCase();
+          let current_day = Moment(date).format("dddd").toLowerCase();
+          while (current_day != requested_day) {
+            date = Moment(date).add(1, "days");
+            current_day = Moment(date).format("dddd").toLowerCase();
+          }
+          if (output_format) {
+            date = date.format(output_format);
+          } else {
+            if (typeof date != "number") {
+              date = parseInt(date.format("x"));
+            }
+          }
+          return date;
+        },
 
-                    position(index) {
-                        index++;
-                        return `${index} - `;
-                    },
+        position(index) {
+          index++;
+          return `${index} - `;
+        },
 
-                    save_changes() {
-                        this.save_successful = false;
-                        this.error_messages = [];
-                        if (this.empty_weeks()) {
-                            this.saving_loader = false;
-                            Alertify.error(this.strings.error_empty_week);
-                            this.error_messages.push(this.strings.error_empty_week);
-                            return false;
-                        }
-                        if (this.weeks_deleted_from_course()) {
-                            this.saving_loader = false;
-                            this.error_messages.push(this.strings.error_section_removed);
-                            return false;
-                        }
+        save_changes() {
+          this.save_successful = false;
+          this.error_messages = [];
+          if (this.empty_weeks()) {
+            this.saving_loader = false;
+            Alertify.error(this.strings.error_empty_week);
+            this.error_messages.push(this.strings.error_empty_week);
+            return false;
+          }
+          if (this.weeks_deleted_from_course()) {
+            this.saving_loader = false;
+            this.error_messages.push(this.strings.error_section_removed);
+            return false;
+          }
 
-                        Alertify.confirm(this.strings.save_warning_content,
-                            ()=>{
-                                this.saving_loader = true;
-                                var weeks = this.weeks;
-                                weeks[0].weekstart = Moment(weeks[0].weekstart).format("YYYY-MM-DD");
-                                var data = {
-                                    action: "saveconfigweek",
-                                    userid: this.userid,
-                                    courseid: this.courseid,
-                                    newinstance: this.new_group,
-                                    weeks: this.minify_query(weeks), // Stringify is a hack to clone object :D
-                                };
+          Alertify.confirm(
+            this.strings.save_warning_content,
+            () => {
+              this.saving_loader = true;
+              var weeks = this.weeks;
+              weeks[0].weekstart = Moment(weeks[0].weekstart).format(
+                "YYYY-MM-DD"
+              );
+              var data = {
+                action: "saveconfigweek",
+                userid: this.userid,
+                courseid: this.courseid,
+                newinstance: this.new_group,
+                weeks: this.minify_query(weeks), // Stringify is a hack to clone object :D
+              };
 
-                                Axios({
-                                    method: 'get',
-                                    url: M.cfg.wwwroot + "/local/notemyprogress/ajax.php",
-                                    params: data,
-                                }).then((response) => {
-                                    console.log("then1");
-                                    if (response.status == 200 && response.data.ok) {
-                                        console.log("then1.2");
-                                        this.settings = response.data.data.settings;
-                                        console.log("then1.3");
-                                        Alertify.success(this.strings.save_successful);
-                                        console.log("then1.4");
-                                        this.save_successful = true;
-                                        console.log("then1.5");
-                                    } else {
-                                        console.log("then1.6");
-                                        Alertify.error(this.strings.error_network);
-                                        console.log("then1.7");
-                                        this.error_messages.push(this.strings.error_network);
-                                        console.log("then1.8");
-                                    }
-                                }).catch((e) => {
-                                    console.log("catch1");
-                                    Alertify.error(this.strings.error_network);
-                                    console.log("catch2");
-                                    this.error_messages.push(this.strings.error_network);
-                                    console.log("catch3");
-                                }).finally(() => {
-                                    console.log("finally1");
-                                    this.saving_loader = false;
-                                    console.log("finally2");
-                                    //this.addLogsIntoDB("saved", "configuration", "weeks", "Saved a new configuration for the weeks !");
-                                });
-                            },
-                            ()=>{ // ON CANCEL
-                                this.saving_loader = false;
-                                Alertify.warning(this.strings.cancel_action);
-                            }).set({title: this.strings.save_warning_title})
-                            .set({labels: {cancel: this.strings.confirm_cancel, ok: this.strings.confirm_ok}});
-                    },
+              Axios({
+                method: "get",
+                url: M.cfg.wwwroot + "/local/notemyprogress/ajax.php",
+                params: data,
+              })
+                .then((response) => {
+                  console.log("then1");
+                  if (response.status == 200 && response.data.ok) {
+                    console.log("then1.2");
+                    this.settings = response.data.data.settings;
+                    console.log("then1.3");
+                    Alertify.success(this.strings.save_successful);
+                    console.log("then1.4");
+                    this.save_successful = true;
+                    console.log("then1.5");
+                  } else {
+                    console.log("then1.6");
+                    Alertify.error(this.strings.error_network);
+                    console.log("then1.7");
+                    this.error_messages.push(this.strings.error_network);
+                    console.log("then1.8");
+                  }
+                })
+                .catch((e) => {
+                  console.log("catch1");
+                  Alertify.error(this.strings.error_network);
+                  console.log("catch2");
+                  this.error_messages.push(this.strings.error_network);
+                  console.log("catch3");
+                })
+                .finally(() => {
+                  console.log("finally1");
+                  this.saving_loader = false;
+                  console.log("finally2");
+                  //this.addLogsIntoDB("saved", "configuration", "weeks", "Saved a new configuration for the weeks !");
+                });
+            },
+            () => {
+              // ON CANCEL
+              this.saving_loader = false;
+              Alertify.warning(this.strings.cancel_action);
+            }
+          )
+            .set({ title: this.strings.save_warning_title })
+            .set({
+              labels: {
+                cancel: this.strings.confirm_cancel,
+                ok: this.strings.confirm_ok,
+              },
+            });
+        },
 
-                    minify_query(weeks) {
-                        var minify = [];
-                        weeks.forEach(week => {
-                            var wk = new Object();
-                            wk.h = week.hours_dedications;
-                            wk.s = week.weekstart;
-                            wk.e = week.weekend;
-                            wk.sections = [];
-                            week.sections.forEach(section => {
-                                var s = new Object();
-                                s.sid = section.sectionid;
-                                wk.sections.push(s);
-                            });
-                            minify.push(wk);
-                        });
-                        return JSON.stringify(minify);
-                    },
+        minify_query(weeks) {
+          var minify = [];
+          weeks.forEach((week) => {
+            var wk = new Object();
+            wk.h = week.hours_dedications;
+            wk.s = week.weekstart;
+            wk.e = week.weekend;
+            wk.sections = [];
+            week.sections.forEach((section) => {
+              var s = new Object();
+              s.sid = section.sectionid;
+              wk.sections.push(s);
+            });
+            minify.push(wk);
+          });
+          return JSON.stringify(minify);
+        },
 
-                    empty_weeks() {
-                        if (this.weeks.length >= 2 && this.weeks[0].sections.length < 1) {
-                            return true;
-                        }
-                        for (let i = 0; i < this.weeks.length; i++) {
-                            if (i > 0 && this.weeks[i].sections.length <= 0) {
-                                return true;
-                            }
-                        }
-                        return false;
-                    },
+        empty_weeks() {
+          if (this.weeks.length >= 2 && this.weeks[0].sections.length < 1) {
+            return true;
+          }
+          for (let i = 0; i < this.weeks.length; i++) {
+            if (i > 0 && this.weeks[i].sections.length <= 0) {
+              return true;
+            }
+          }
+          return false;
+        },
 
-                    weeks_deleted_from_course() {
-                        for (var week_position = 0; week_position < this.weeks.length; week_position++) {
-                            for (var section_position = 0; section_position < this.weeks[week_position].sections.length; section_position++) {
-                                if (!this.section_exist(this.weeks[week_position].sections[section_position])) {
-                                    return true;
-                                }
-                            }
-                        }
-                        return false;
-                    },
+        weeks_deleted_from_course() {
+          for (
+            var week_position = 0;
+            week_position < this.weeks.length;
+            week_position++
+          ) {
+            for (
+              var section_position = 0;
+              section_position < this.weeks[week_position].sections.length;
+              section_position++
+            ) {
+              if (
+                !this.section_exist(
+                  this.weeks[week_position].sections[section_position]
+                )
+              ) {
+                return true;
+              }
+            }
+          }
+          return false;
+        },
 
-                    exists_mistakes() {
-                        let exists_mistakes = this.error_messages.length > 0;
-                        return exists_mistakes;
-                    },
+        exists_mistakes() {
+          let exists_mistakes = this.error_messages.length > 0;
+          return exists_mistakes;
+        },
 
-                    change_collapsabled(index) {
-                        this.raw_weeks[index].collapsabled = !this.raw_weeks[index].collapsabled;
-                    },
+        change_collapsabled(index) {
+          this.raw_weeks[index].collapsabled =
+            !this.raw_weeks[index].collapsabled;
+        },
 
-                    course_finished() {
-                        let finished = false;
-                        let last = this.weeks.length - 1;
-                        let end = Moment(this.weeks[last].weekend).format("X");
-                        let now = Moment().format("X");
-                        if (now > end) {
-                            finished = true;
-                        } else {
-                            finished = false;
-                        }
-                        return finished;
-                    },
+        course_finished() {
+          let finished = false;
+          let last = this.weeks.length - 1;
+          let end = Moment(this.weeks[last].weekend).format("X");
+          let now = Moment().format("X");
+          if (now > end) {
+            finished = true;
+          } else {
+            finished = false;
+          }
+          return finished;
+        },
 
-                    get_settings_status() {
-                        let visible = true;
-                        Object.keys(this.settings).map(key => {
-                            if (!this.settings[key]) {
-                                visible = false;
-                            }
-                        });
-                        let status = visible ? this.strings.plugin_visible : this.strings.plugin_hidden;
-                        return status;
-                    },
+        get_settings_status() {
+          let visible = true;
+          Object.keys(this.settings).map((key) => {
+            if (!this.settings[key]) {
+              visible = false;
+            }
+          });
+          let status = visible
+            ? this.strings.plugin_visible
+            : this.strings.plugin_hidden;
+          return status;
+        },
 
-                    get_help_content() {
-                        var help_contents = [];
-                        var help = new Object();
-                        help.title = this.strings.title;
-                        help.description = this.strings.description;
-                        help_contents.push(help);
-                        return help_contents;
-                    },
+        get_help_content() {
+          var help_contents = [];
+          var help = new Object();
+          help.title = this.strings.title;
+          help.description = this.strings.description;
+          help_contents.push(help);
+          return help_contents;
+        },
 
-                    addLogsIntoDB(action, objectName, objectType, objectDescription) {
-                        let data = {
-                            courseid: content.courseid,
-                            userid: content.userid,
-                            action: "addLogs",
-                            sectionname: "CONFIGURATION_COURSE_WEEK",
-                            actiontype: action,
-                            objectType: objectType,
-                            objectName: objectName,
-                            currentUrl: document.location.href,
-                            objectDescription: objectDescription,
-                        };
-                        Axios({
-                            method:'get',
-                            url: M.cfg.wwwroot + "/local/notemyprogress/ajax.php",
-                            params : data,
-                        }).then((response) => {
-                            if (response.status == 200 && response.data.ok) {
-                            }
-                        }).catch((e) => {
-                        });
-                    },
-                }
-            });
-        }
+        addLogsIntoDB(action, objectName, objectType, objectDescription) {
+          let data = {
+            courseid: content.courseid,
+            userid: content.userid,
+            action: "addLogs",
+            sectionname: "CONFIGURATION_COURSE_WEEK",
+            actiontype: action,
+            objectType: objectType,
+            objectName: objectName,
+            currentUrl: document.location.href,
+            objectDescription: objectDescription,
+          };
+          Axios({
+            method: "get",
+            url: M.cfg.wwwroot + "/local/notemyprogress/ajax.php",
+            params: data,
+          })
+            .then((response) => {
+              if (response.status == 200 && response.data.ok) {
+              }
+            })
+            .catch((e) => {});
+        },
+      },
+    });
+  }
 
-        function add_collapsabled_property_to_weeks(content) {
-            for (let i = 0; i < content.weeks.length; i++) {
-                let week = content.weeks[i];
-                if (typeof (week.collapsabled) == "undefined") {
-                    week.collapsabled = false;
-                }
-            }
-            return content;
-        }
+  function add_collapsabled_property_to_weeks(content) {
+    for (let i = 0; i < content.weeks.length; i++) {
+      let week = content.weeks[i];
+      if (typeof week.collapsabled == "undefined") {
+        week.collapsabled = false;
+      }
+    }
+    return content;
+  }
 
-        return {
-            init: init
-        };
-    });
\ No newline at end of file
+  return {
+    init: init,
+  };
+});
diff --git a/notemyprogress/amd/src/student_planning.js b/notemyprogress/amd/src/student_planning.js
new file mode 100644
index 0000000000000000000000000000000000000000..af0d6f361b8487a2ee88565a62e78596cf3380f3
--- /dev/null
+++ b/notemyprogress/amd/src/student_planning.js
@@ -0,0 +1,563 @@
+define([
+  "local_notemyprogress/vue",
+  "local_notemyprogress/vuetify",
+  "local_notemyprogress/axios",
+  "local_notemyprogress/moment",
+  "local_notemyprogress/pagination",
+  "local_notemyprogress/chartstatic",
+  "local_notemyprogress/pageheader",
+  "local_notemyprogress/modulesform",
+  "local_notemyprogress/helpdialog",
+], function (
+  Vue,
+  Vuetify,
+  Axios,
+  Moment,
+  Pagination,
+  ChartStatic,
+  PageHeader,
+  ModulesForm,
+  HelpDialog
+) {
+  "use strict";
+
+  function init(content) {
+    // console.log(content);
+    Vue.use(Vuetify);
+    Vue.component("pagination", Pagination);
+    Vue.component("chart", ChartStatic);
+    Vue.component("pageheader", PageHeader);
+    Vue.component("modulesform", ModulesForm);
+    Vue.component("helpdialog", HelpDialog);
+    let vue = new Vue({
+      delimiters: ["[[", "]]"],
+      el: "#work_sessions",
+      vuetify: new Vuetify(),
+      data() {
+        return {
+          strings: content.strings,
+          groups: content.groups,
+          userid: content.userid,
+          courseid: content.courseid,
+          timezone: content.timezone,
+          render_has: content.profile_render,
+          loading: false,
+          errors: [],
+          pages: content.pages,
+
+          indicators: content.indicators,
+          resources_access_colors: content.resources_access_colors,
+          inverted_time_colors: content.inverted_time_colors,
+          inverted_time: content.indicators.inverted_time,
+          hours_sessions: content.indicators.hours_sessions,
+          sections: content.indicators.sections,
+          sections_map: null,
+          week_progress: 0,
+          resource_access_categories: [],
+          resource_access_data: [],
+          modules_dialog: false,
+
+          help_dialog: false,
+          help_contents: [],
+        };
+      },
+      beforeMount() {
+        this.create_section_map();
+        this.set_modules_in_sections();
+        this.calculate_resources_access();
+      },
+      mounted() {
+        document.querySelector("#sessions-loader").style.display = "none";
+        document.querySelector("#work_sessions").style.display = "block";
+        setTimeout(function () {
+          vue.setGraphicsEventListeners();
+        });
+      },
+      methods: {
+        get_help_content() {
+          let contents = [];
+          contents.push({
+            title: this.strings.section_help_title,
+            description: this.strings.section_help_description,
+          });
+          return contents;
+        },
+
+        build_inverted_time_chart() {
+          let chart = new Object();
+          chart.chart = {
+            type: "bar",
+            backgroundColor: null,
+            style: { fontFamily: "poppins" },
+          };
+          chart.title = { text: null };
+          chart.colors = this.inverted_time_colors;
+          chart.xAxis = {
+            type: "category",
+            crosshair: true,
+          };
+          chart.yAxis = {
+            title: {
+              text: this.strings.inverted_time_chart_x_axis,
+            },
+          };
+          chart.tooltip = {
+            shared: true,
+            useHTML: true,
+            formatter: function () {
+              let category_name = this.points[0].key;
+              let time = vue.convert_time(this.y);
+              return `<b>${category_name}: </b>${time}`;
+            },
+          };
+          chart.legend = {
+            enabled: false,
+          };
+          chart.series = [
+            {
+              colorByPoint: true,
+              data: this.inverted_time.data,
+            },
+          ];
+          return chart;
+        },
+
+        build_hours_session_chart() {
+          let chart = new Object();
+          chart.title = { text: null };
+          chart.chart = {
+            type: "heatmap",
+            backgroundColor: null,
+            style: { fontFamily: "poppins" },
+          };
+          chart.xAxis = {
+            categories: this.strings.days,
+          };
+          chart.yAxis = {
+            categories: this.strings.hours,
+            title: null,
+            reversed: true,
+          };
+          chart.colorAxis = {
+            min: 0,
+            minColor: "#E0E0E0",
+            maxColor: "#118AB2",
+          };
+          chart.legend = {
+            layout: "horizontal",
+            verticalAlign: "bottom",
+          };
+          chart.tooltip = {
+            formatter: function () {
+              let xCategoryName = vue.get_point_category_name(this.point, "x");
+              let yCategoryName = vue.get_point_category_name(this.point, "y");
+              let label = vue.strings.sessions_text;
+              if (this.point.value == 1) {
+                label = vue.strings.session_text;
+              }
+              return (
+                "<b>" +
+                xCategoryName +
+                " " +
+                yCategoryName +
+                "</b>: " +
+                this.point.value +
+                " " +
+                label
+              );
+            },
+          };
+          chart.series = [
+            {
+              borderWidth: 2,
+              borderColor: "#FAFAFA",
+              data: this.hours_sessions,
+            },
+          ];
+          return chart;
+        },
+
+        build_resources_access_chart() {
+          let chart = new Object();
+          chart.chart = {
+            type: "column",
+            backgroundColor: null,
+            style: { fontFamily: "poppins" },
+          };
+          chart.title = { text: null };
+          chart.colors = this.resources_access_colors;
+          chart.xAxis = {
+            categories: this.resource_access_categories,
+            crosshair: true,
+            title: {
+              text: this.strings.resource_access_x_axis,
+            },
+          };
+          chart.yAxis = {
+            min: 0,
+            title: {
+              text: this.strings.resource_access_y_axis,
+            },
+          };
+          chart.plotOptions = {
+            column: {
+              stacking: "normal",
+            },
+            series: {
+              cursor: "pointer",
+              point: {
+                events: {
+                  click: function () {
+                    vue.addLogsIntoDB(
+                      "viewed",
+                      "resources_access",
+                      "chart_details",
+                      "Provide details informations about the consulted resources"
+                    );
+                    vue.modules_dialog = true;
+                  },
+                },
+              },
+            },
+          };
+          chart.tooltip = {
+            shared: true,
+            useHTML: true,
+            footerFormat: `<i>${this.strings.modules_details}</i>`,
+          };
+          chart.series = this.resource_access_data;
+          return chart;
+        },
+
+        update_interactions(week) {
+          this.loading = true;
+          this.errors = [];
+          let data = {
+            action: "studentsessions",
+            userid: this.userid,
+            courseid: this.courseid,
+            weekcode: week.weekcode,
+            profile: this.render_has,
+          };
+          Axios({
+            method: "get",
+            url: M.cfg.wwwroot + "/local/notemyprogress/ajax.php",
+            params: data,
+          })
+            .then((response) => {
+              if (response.status == 200 && response.data.ok) {
+                this.inverted_time =
+                  response.data.data.indicators.inverted_time;
+                this.hours_sessions =
+                  response.data.data.indicators.hours_sessions;
+                this.sections = response.data.data.indicators.sections;
+                this.set_modules_in_sections();
+                this.calculate_resources_access();
+              } else {
+                this.error_messages.push(this.strings.error_network);
+              }
+            })
+            .catch((e) => {
+              this.errors.push(this.strings.api_error_network);
+            })
+            .finally(() => {
+              this.loading = false;
+              vue.addLogsIntoDB(
+                "viewed",
+                "week_" + week.weekcode,
+                "week_section",
+                "Week section that allows you to obtain information on a specific week"
+              );
+              vue.setGraphicsEventListeners();
+            });
+          return this.data;
+        },
+
+        create_section_map() {
+          let sectionsMap = new Map();
+          let sectionid = 0;
+          this.indicators.course_cms.forEach((cm) => {
+            sectionid = Number(cm.section);
+            if (!sectionsMap.has(sectionid)) {
+              sectionsMap.set(sectionid, [cm]);
+            } else {
+              sectionsMap.get(sectionid).push(cm);
+            }
+          });
+          this.sections_map = sectionsMap;
+        },
+
+        set_modules_in_sections() {
+          let sectionid;
+          this.sections.forEach((section) => {
+            sectionid = Number(section.sectionid);
+            section.sectionid = sectionid;
+            section.modules = this.sections_map.has(sectionid)
+              ? this.sections_map.get(sectionid)
+              : [];
+          });
+        },
+
+        calculate_resources_access() {
+          let modulesMap = new Map();
+          let moduleid,
+            user_cm,
+            mod,
+            total_modules = 0,
+            access_modules = 0;
+          let modules_names = this.strings.modules_names;
+          this.sections.forEach((section) => {
+            section.modules.forEach((module) => {
+              !modulesMap.has(module.modname) &&
+                modulesMap.set(module.modname, { complete: 0, pending: 0 });
+              mod = modulesMap.get(module.modname);
+              moduleid = Number(module.id);
+              module.id = moduleid;
+              module.complete = false;
+              module.viewed = false;
+              module.interactions = 0;
+
+              user_cm = this.indicators.user_cms[`cm${module.id}`];
+              if (user_cm) {
+                module.complete = user_cm.complete;
+                module.viewed = user_cm.viewed;
+                module.interactions = user_cm.interactions;
+                user_cm.complete ? mod.complete++ : mod.pending++;
+                user_cm.complete && access_modules++;
+              } else {
+                mod.pending++;
+              }
+              total_modules++;
+            });
+          });
+          let categories = [],
+            complete_data = [],
+            pending_data = [];
+          modulesMap.forEach(function (value, key) {
+            categories.push(modules_names[key] || key);
+            complete_data.push(value.complete);
+            pending_data.push(value.pending);
+          });
+          this.resource_access_categories = categories;
+          this.resource_access_data = [
+            { name: this.strings.resource_access_legend1, data: complete_data },
+            { name: this.strings.resource_access_legend2, data: pending_data },
+          ];
+          this.week_progress =
+            Math.floor((access_modules * 100) / total_modules) || 0;
+        },
+
+        get_progress_percentage() {
+          return `${this.week_progress} %`;
+        },
+
+        get_point_category_name(point, dimension) {
+          let series = point.series,
+            isY = dimension === "y",
+            axis = series[isY ? "yAxis" : "xAxis"];
+          return axis.categories[point[isY ? "y" : "x"]];
+        },
+
+        get_module_icon(modname) {
+          return `${M.cfg.wwwroot}/theme/image.php/boost/${modname}/1/icon`;
+        },
+
+        get_module_url(module) {
+          return `${M.cfg.wwwroot}/mod/${module.modname}/view.php?id=${module.id}`;
+        },
+
+        get_interactions_number(interactions) {
+          let interactions_text =
+            interactions == 1
+              ? this.strings.modules_interaction
+              : this.strings.modules_interactions;
+          return `(${interactions} ${interactions_text})`;
+        },
+
+        convert_time(time) {
+          time *= 3600; // pasar las horas a segundos
+          let h = this.strings.hours_short;
+          let m = this.strings.minutes_short;
+          let s = this.strings.seconds_short;
+          let hours = Math.floor(time / 3600);
+          let minutes = Math.floor((time % 3600) / 60);
+          let seconds = Math.floor(time % 60);
+          let text;
+          if (hours >= 1) {
+            if (minutes >= 1) {
+              text = `${hours}${h} ${minutes}${m}`;
+            } else {
+              text = `${hours}${h}`;
+            }
+          } else if (minutes >= 1) {
+            if (seconds >= 1) {
+              text = `${minutes}${m} ${seconds}${s}`;
+            } else {
+              text = `${minutes}${m}`;
+            }
+          } else {
+            text = `${seconds}${s}`;
+          }
+          return text;
+        },
+
+        update_modules_dialog(value) {
+          this.modules_dialog = value;
+        },
+
+        open_chart_help(chart) {
+          let contents = [];
+          let action = "";
+          let objectType = "";
+          let objectName = "";
+          let objectDescription = "";
+          if (chart == "inverted_time") {
+            contents.push({
+              title: this.strings.inverted_time_help_title,
+              description: this.strings.inverted_time_help_description_p1,
+            });
+            contents.push({
+              description: this.strings.inverted_time_help_description_p2,
+            });
+            action = "viewed";
+            objectType = "help";
+            objectName = "invested_time";
+            objectDescription =
+              "Help section that provides information about the invested time chart";
+            this.addLogsIntoDB(
+              action,
+              objectName,
+              objectType,
+              objectDescription
+            );
+          } else if (chart == "hours_session") {
+            contents.push({
+              title: this.strings.hours_session_help_title,
+              description: this.strings.hours_session_help_description_p1,
+            });
+            contents.push({
+              description: this.strings.hours_session_help_description_p2,
+            });
+            action = "viewed";
+            objectType = "help";
+            objectName = "hours_session";
+            objectDescription =
+              "Help section that provides information about the hours session chart";
+            this.addLogsIntoDB(
+              action,
+              objectName,
+              objectType,
+              objectDescription
+            );
+          } else if (chart == "resources_access") {
+            contents.push({
+              title: this.strings.resources_access_help_title,
+              description: this.strings.resources_access_help_description_p1,
+            });
+            contents.push({
+              description: this.strings.resources_access_help_description_p2,
+            });
+            contents.push({
+              description: this.strings.resources_access_help_description_p3,
+            });
+            action = "viewed";
+            objectType = "help";
+            objectName = "resources_access";
+            objectDescription =
+              "Help section that provides information about the resources access chart";
+            this.addLogsIntoDB(
+              action,
+              objectName,
+              objectType,
+              objectDescription
+            );
+          }
+          this.help_contents = contents;
+          if (this.help_contents.length) {
+            this.help_dialog = true;
+          }
+        },
+
+        update_help_dialog(value) {
+          this.help_dialog = value;
+        },
+
+        get_timezone() {
+          let information = `${this.strings.ss_change_timezone} ${this.timezone}`;
+          return information;
+        },
+
+        setGraphicsEventListeners() {
+          let graphics = document.querySelectorAll(".highcharts-container");
+          if (graphics.length < 1) {
+            setTimeout(vue.setGraphicsEventListeners, 500);
+          } else {
+            graphics[0].id = "inverted_time";
+            graphics[1].id = "hours_session";
+            graphics[2].id = "resources_access";
+            graphics.forEach((graph) => {
+              graph.addEventListener("mouseenter", vue.addLogsViewGraphic);
+            });
+          }
+        },
+
+        addLogsViewGraphic(e) {
+          event.stopPropagation();
+          var action = "";
+          var objectName = "";
+          var objectType = "";
+          var objectDescription = "";
+          switch (e.target.id) {
+            case "inverted_time":
+              action = "viewed";
+              objectName = "invested_time";
+              objectType = "chart";
+              objectDescription = "Bar chart that shows";
+              break;
+            case "hours_session":
+              action = "viewed";
+              objectName = "hours_session";
+              objectType = "chart";
+              objectDescription = "Chart showing";
+              break;
+            case "resources_access":
+              action = "viewed";
+              objectName = "resources_access";
+              objectType = "chart";
+              objectDescription = "Chart showing ";
+              break;
+          }
+          vue.addLogsIntoDB(action, objectName, objectType, objectDescription);
+        },
+
+        addLogsIntoDB(action, objectName, objectType, objectDescription) {
+          let data = {
+            courseid: content.courseid,
+            userid: content.userid,
+            action: "addLogs",
+            sectionname: "STUDENT_STUDY_SESSIONS",
+            actiontype: action,
+            objectType: objectType,
+            objectName: objectName,
+            currentUrl: document.location.href,
+            objectDescription: objectDescription,
+          };
+          Axios({
+            method: "get",
+            url: M.cfg.wwwroot + "/local/notemyprogress/ajax.php",
+            params: data,
+          })
+            .then((response) => {
+              if (response.status == 200 && response.data.ok) {
+              }
+            })
+            .catch((e) => {});
+        },
+      },
+    });
+  }
+
+  return {
+    init: init,
+  };
+});
diff --git a/notemyprogress/classes/configweeks.php b/notemyprogress/classes/configweeks.php
index bba9194255e18e10196b91edd9f2d08453d3f955..e8805ce1bce8bc76fc99fc5d1ac1990a76099c62 100644
--- a/notemyprogress/classes/configweeks.php
+++ b/notemyprogress/classes/configweeks.php
@@ -29,7 +29,8 @@ require_once("lib_trait.php");
 
 use stdClass;
 
-class configweeks {
+class configweeks
+{
     use \lib_trait;
 
     public $course;
@@ -39,7 +40,8 @@ class configweeks {
     public $current_sections;
     public $startin;
 
-    function __construct($course, $userid){
+    function __construct($course, $userid)
+    {
         global $DB;
         $this->course = self::get_course($course);
         $this->user = self::get_user($userid);
@@ -51,28 +53,30 @@ class configweeks {
     }
 
     /**
-     * Obtiene la última instancia configurada para las semanas de Note My Progress. Si aun no se han
-     * configurado semanas en un curso, la última instacia es la que crea por defecto el plugin.
+     * Gets the last instance configured for Fliplearning weeks. If no weeks have been 
+     * configured in a course yet, the last instance is the one created by default by the plugin.
      *
-     * @return mixed un objeto fieldset que contiene el primer registro que hace match con la consulta
+     * @return mixed a fieldset object that contains the first record that matches the query.
      */
-    public function last_instance(){
+    public function last_instance()
+    {
         global $DB;
         $sql = "select * from {notemyprogress_instances} where courseid = ? order by id desc LIMIT 1";
         $instance = $DB->get_record_sql($sql, array($this->course->id));
-        if(!isset($instance) || empty($instance)){
+        if (!isset($instance) || empty($instance)) {
             $instance = self::create_instance($this->course->id);
         }
         return $instance;
     }
 
     /**
-     * Crea una nueva instancia para la configuración de semanas de Note My Progress. Esta es la instancia
+     * Crea una nueva instancia para la configuración de semanas de Fliplearning. Esta es la instancia
      * que se crea por defecto.
      *
      * @return mixed un objeto fieldset que contiene el registro creado
      */
-    public function create_instance(){
+    public function create_instance()
+    {
         global $DB;
         $instance = new stdClass();
         $instance->courseid = $this->course->id;
@@ -84,12 +88,13 @@ class configweeks {
     }
 
     /**
-     * Obtiene las semanas configuradas en Note My Progress en base a los ids de los atributos de clase
-     * $course e $intance. Se puede especificar
+     * Gets the weeks configured in Fliplearning based on the ids of the class attributes
+     * $course e $intance. You can specify.
      *
      * @return array una lista con las semanas configuradas en un curso
      */
-    public function get_weeks(){
+    public function get_weeks()
+    {
         global $DB;
         $sql = "SELECT * FROM {notemyprogress_weeks} 
                 WHERE courseid = ? AND instanceid = ? AND timedeleted IS NULL ORDER BY POSITION ASC";
@@ -104,21 +109,22 @@ class configweeks {
      * @return array una lista con las semanas del curso y las secciones asignadas a cada una
      * @throws coding_exception | dml_exception
      */
-    public function get_weeks_with_sections(){
+    public function get_weeks_with_sections()
+    {
         $weeks = $this->weeks;
-        if(count($weeks) == 0){
+        if (count($weeks) == 0) {
             $weeks[] = self::create_first_week();
             $this->weeks = $weeks;
         }
         $course_sections = self::get_course_sections();
-        foreach($weeks as $position => $week){
+        foreach ($weeks as $position => $week) {
             $week->removable = true;
-            if($position == 0){
+            if ($position == 0) {
                 $week->removable = false;
             }
             $week->sections = array();
             $week->name = get_string('setweeks_week', 'local_notemyprogress');
-            if(!isset($week->date_format)) {
+            if (!isset($week->date_format)) {
                 $week->date_format = "Y-m-d";
                 $week->weekstartlabel = self::to_format("Y-m-d", $week->weekstart);
                 $week->weekendlabel = self::to_format("Y-m-d", $week->weekend);
@@ -128,7 +134,7 @@ class configweeks {
             $week->position = $position;
             $week->delete_confirm = false;
             $sections = self::get_week_sections($week->weekcode);
-            foreach($sections as $key => $section){
+            foreach ($sections as $key => $section) {
                 $section->name = $section->section_name;
                 $section->visible = self::get_current_visibility($section->sectionid);
                 $section = self::validate_section($section, $course_sections);
@@ -139,13 +145,14 @@ class configweeks {
     }
 
     /**
-     * Crea la primera semana (semana por defecto) de Note My Progress en un curso. Esta funcion se ejecuta
+     * Crea la primera semana (semana por defecto) de Fliplearning en un curso. Esta funcion se ejecuta
      * de manera automática para cada curso.
      *
      * @return stdClass un objeto con la semana creada
      * @throws dml_exception
      */
-    private function create_first_week(){
+    private function create_first_week()
+    {
         global $DB;
         $start = strtotime('next monday');
         $end = strtotime('next monday + 6 day') + 86399;
@@ -167,12 +174,13 @@ class configweeks {
     }
 
     /**
-     * Genera un código de identificación para una semana de Note My Progress. El código se forma
-     * en base al año actual, id de la instancia de Note My Progress en el curso y posición de la semana
+     * Genera un código de identificación para una semana de Fliplearning. El código se forma
+     * en base al año actual, id de la instancia de Fliplearning en el curso y posición de la semana
      *
      * @return int entero que representa el identificador de la semana
      */
-    private function generate_week_code($weekposition){
+    private function generate_week_code($weekposition)
+    {
         $code = $this->instance->year . $this->instance->id . $this->course->id . $weekposition;
         $code = (int) $code;
         return $code;
@@ -185,7 +193,8 @@ class configweeks {
      *
      * @return array lista con las secciones asignadas a la semana
      */
-    public function get_week_sections ($weekcode){
+    public function get_week_sections($weekcode)
+    {
         global $DB;
         $sql = "select * from {notemyprogress_sections} where weekcode = ? and timedeleted IS NULL order by position asc";
         $week_sections = $DB->get_records_sql($sql, array($weekcode));
@@ -200,9 +209,10 @@ class configweeks {
      * @return boolean valor booleano que representa si la sección es visible o no. Retorna null en caso de
      *                 no encontrar la sección
      */
-    private function get_current_visibility($sectionid){
-        foreach($this->current_sections as $section){
-            if($section['sectionid'] == $sectionid){
+    private function get_current_visibility($sectionid)
+    {
+        foreach ($this->current_sections as $section) {
+            if ($section['sectionid'] == $sectionid) {
                 return $section['visible'];
             }
         }
@@ -218,12 +228,13 @@ class configweeks {
      *
      * @return object objeto con la sección actualizada
      */
-    private function validate_section($section, $course_sections){
+    private function validate_section($section, $course_sections)
+    {
         $exist = false;
-        foreach($course_sections as $key => $course_section){
-            if($section->sectionid == $course_section['sectionid']){
+        foreach ($course_sections as $key => $course_section) {
+            if ($section->sectionid == $course_section['sectionid']) {
                 $exist = true;
-                if($section->name != $course_section['name']){
+                if ($section->name != $course_section['name']) {
                     self::update_section_name($section->sectionid, $course_section['name']);
                     $section->name = $course_section['name'];
                 }
@@ -235,29 +246,31 @@ class configweeks {
     }
 
     /**
-     * Actualiza el nombre de una sección de Note My Progress
+     * Actualiza el nombre de una sección de Fliplearning
      *
      * @param object $sectionid id de la seccion para actualizar
      * @param object $name nuevo nombre para la sección
      *
      * @return void
      */
-    private function update_section_name($sectionid, $name){
+    private function update_section_name($sectionid, $name)
+    {
         global $DB;
         $sql = "update {notemyprogress_sections} set section_name = ? where sectionid = ?";
         $DB->execute($sql, array($name, $sectionid));
     }
 
     /**
-     * Verifica si un curso tiene configurada las semanas de Note My Progress
+     * Verifica si un curso tiene configurada las semanas de Fliplearning
      *
      * @return boolean valor booleano que representa si las semanas han sido configuradas
      */
-    public function is_set(){
+    public function is_set()
+    {
         $is_set = true;
         $settings = self::get_settings();
-        foreach($settings as $configured){
-            if(!$configured){
+        foreach ($settings as $configured) {
+            if (!$configured) {
                 $is_set = false;
                 break;
             }
@@ -266,11 +279,12 @@ class configweeks {
     }
 
     /**
-     * Obtiene las configuraciones de Note My Progress en un curso
+     * Obtiene las configuraciones de Fliplearning en un curso
      *
      * @return array lista de valores booleanos con las configuraciones del curso
      */
-    public function get_settings(){
+    public function get_settings()
+    {
         $tz = self::get_timezone();
         date_default_timezone_set($tz);
         $course_start = $this->startin;
@@ -283,14 +297,14 @@ class configweeks {
         $first_week = new stdClass();
         $first_week->has_sections = isset($weeks[0]) && !empty($weeks[0]->sections);
         $first_week->started = time() >= $course_start;
-        if($first_week->has_sections){
+        if ($first_week->has_sections) {
             $settings['weeks'] = true;
         }
-        if($first_week->started){
+        if ($first_week->started) {
             $settings['course_start'] = true;
         }
         $students = self::get_student_ids();
-        if(!empty($students)){
+        if (!empty($students)) {
             $settings['has_students'] = true;
         }
         return $settings;
@@ -298,17 +312,18 @@ class configweeks {
 
     /**
      * Obtiene una lista de las secciones de un curso (sin la configuración de
-     * las semanas de Note My Progress)
+     * las semanas de Fliplearning)
      *
      * @return array lista de secciones del curso
      */
-    public function get_sections_without_week(){
+    public function get_sections_without_week()
+    {
         $course_sections = self::get_course_sections();
         $weeks = self::get_weeks_with_sections();
-        foreach($weeks as $key => $week){
-            foreach($week->sections as $section){
-                foreach($course_sections as $index => $course_section){
-                    if($course_section['sectionid'] == $section->sectionid){
+        foreach ($weeks as $key => $week) {
+            foreach ($week->sections as $section) {
+                foreach ($course_sections as $index => $course_section) {
+                    if ($course_section['sectionid'] == $section->sectionid) {
                         unset($course_sections[$index]);
                     }
                 }
@@ -319,54 +334,57 @@ class configweeks {
     }
 
     /**
-     * Guarda las semanas de Note My Progress configuradas en un curso
+     * Guarda las semanas de Fliplearning configuradas en un curso
      *
      * @param array $weeks semanas a guardar
      *
      * @return void
      * @throws Exception
      */
-    public function save_weeks($weeks){
+    public function save_weeks($weeks)
+    {
         global $DB;
         self::delete_weeks();
-        foreach($weeks as $key => $week){
+        foreach ($weeks as $key => $week) {
             $week = self::save_week($week, $key);
             self::save_week_sections($week->weekcode, $week->sections);
         }
     }
 
     /**
-     * Elimina las semanas de Note My Progress configuradas en un curso
+     * Elimina las semanas de Fliplearning configuradas en un curso
      *
      * @return void
      * @throws dml_exception
      */
-    public function delete_weeks(){
+    public function delete_weeks()
+    {
         global $DB;
         $weeks = $this->weeks;
-        foreach($weeks as $week){
+        foreach ($weeks as $week) {
             self::delete_week_sections($week->weekcode);
             $sql = "update {notemyprogress_weeks} set timedeleted = ? where id = ?";
-            $DB->execute($sql, array(self::now_timestamp() , $week->id));
+            $DB->execute($sql, array(self::now_timestamp(), $week->id));
         }
     }
 
     /**
-     * Elimina las secciones asignadas a una semana de Note My Progress
+     * Elimina las secciones asignadas a una semana de Fliplearning
      *
      * @param string $weekcode id de la semana a eliminar
      *
      * @return void
      * @throws dml_exception
      */
-    public function delete_week_sections($weekcode){
+    public function delete_week_sections($weekcode)
+    {
         global $DB;
         $sql = "update {notemyprogress_sections} set timedeleted = ? where weekcode = ?";
-        $DB->execute($sql, array(self::now_timestamp() , $weekcode));
+        $DB->execute($sql, array(self::now_timestamp(), $weekcode));
     }
 
     /**
-     * Guarda una semana de Note My Progress configurada en un curso
+     * Guarda una semana de Fliplearning configurada en un curso
      *
      * @param object $week semana a guardar
      * @param int $position posicion de la semana
@@ -374,7 +392,8 @@ class configweeks {
      * @return void
      * @throws Exception
      */
-    private function save_week($week, $position){
+    private function save_week($week, $position)
+    {
         global $DB;
         $week->weekcode = self::generate_week_code($position);
         $week->position = $position;
@@ -393,7 +412,7 @@ class configweeks {
     }
 
     /**
-     * Guarda las secciones asignadas a una semana de Note My Progress
+     * Guarda las secciones asignadas a una semana de Fliplearning
      *
      * @param string $weekcode id de la semana a la que pertenece las secciones
      * @param array $sections lista de secciones a guardar
@@ -401,15 +420,16 @@ class configweeks {
      * @return void
      * @throws dml_exception
      */
-    public function save_week_sections($weekcode, $sections){
+    public function save_week_sections($weekcode, $sections)
+    {
         self::delete_week_sections($weekcode);
-        foreach ($sections as $position => $section){
+        foreach ($sections as $position => $section) {
             self::save_week_section($section, $weekcode, $position);
         }
     }
 
     /**
-     * Guarda una seccion asignada a una semana de Note My Progress
+     * Guarda una seccion asignada a una semana de Fliplearning
      *
      * @param object $section sección a guardar
      * @param int $weekcode id de la semana a la que pertenece la sección
@@ -417,7 +437,8 @@ class configweeks {
      *
      * @return void
      */
-    private function save_week_section($section, $weekcode, $position){
+    private function save_week_section($section, $weekcode, $position)
+    {
         global $DB;
         $section->sectionid = $section->sid;
         $section->section_name = self::get_section_name_from_id($section->sectionid, $position);
@@ -438,7 +459,8 @@ class configweeks {
      *
      * @return void
      */
-    private function get_section_name_from_id($sectionid, $position){
+    private function get_section_name_from_id($sectionid, $position)
+    {
         global $DB;
         $result = $DB->get_record("course_sections", ["id" => $sectionid]);
         $name = self::get_section_name($result, $position);
@@ -446,26 +468,27 @@ class configweeks {
     }
 
     /**
-     * Devuelve la semana actual de las semanas configuradas de Note My Progress. En caso de que la consulta
-     * se realice despues de que el curso haya terminado, se retorna la última semana configurada
+     * Returns the current week of the configured Fliplearning weeks. In case the query
+     * is made after the course has ended, the last configured week is returned.
      *
      * @param int $last_if_course_finished parámetro entero opcional para devolver la última semana configurada
      *                                     en caso de que el curso haya terminado
      *
      * @return object objeto con la semana actual a la última semana
      */
-    public function get_current_week($last_if_course_finished = true){
+    public function get_current_week($last_if_course_finished = true)
+    {
         $current = null;
         $now = time();
         $lastweek = null;
-        foreach($this->weeks as $week){
+        foreach ($this->weeks as $week) {
             $lastweek = $week;
-            if($now >= $week->weekstart  && $now <= $week->weekend){
+            if ($now >= $week->weekstart  && $now <= $week->weekend) {
                 $current = $week;
                 break;
             }
         }
-        if($last_if_course_finished){
+        if ($last_if_course_finished) {
             $current = $lastweek;
         }
         return $current;
@@ -474,16 +497,17 @@ class configweeks {
     /**
      * Toma la fecha actual al momento de hacer la llamada a la funcion y le resta 7 días para obtener
      * el día de la peticion de la semana pasada. Si el día obtenido esta dentro de alguna de las semanas
-     * configuradas de Note My Progress entonces se retorna esa semana, de lo contratio se retorna null
+     * configuradas de Fliplearning entonces se retorna esa semana, de lo contratio se retorna null
      *
      * @return object objeto con la semana a la que corresponde la fecha actual menos 7 días. En caso de
      *                no encontrarlo se retorna null
      */
-    public function get_past_week(){
+    public function get_past_week()
+    {
         $past = null;
         $day_past_week = strtotime("-7 day", time());
-        foreach($this->weeks as $week){
-            if($day_past_week >= $week->weekstart && $day_past_week <= $week->weekend){
+        foreach ($this->weeks as $week) {
+            if ($day_past_week >= $week->weekstart && $day_past_week <= $week->weekend) {
                 $past = $week;
                 break;
             }
@@ -491,10 +515,11 @@ class configweeks {
         return $past;
     }
 
-    public function get_weeks_paginator(){
+    public function get_weeks_paginator()
+    {
         $pages = array();
         $current_week = self::get_current_week();
-        foreach($this->weeks as $key => $week){
+        foreach ($this->weeks as $key => $week) {
             $page = new stdClass();
             $page->number = $key + 1;
             $page->weekcode = $week->weekcode;
diff --git a/notemyprogress/classes/lib_trait.php b/notemyprogress/classes/lib_trait.php
index cbcd195bc94bba4d37cd8f11a174728e0b81f46b..005f57d1b7bbdaa8a20968e0d3c56bf6fbd8ce03 100644
--- a/notemyprogress/classes/lib_trait.php
+++ b/notemyprogress/classes/lib_trait.php
@@ -26,7 +26,8 @@
 
 require_once(dirname(__FILE__) . '/../../../config.php');
 
-trait lib_trait {
+trait lib_trait
+{
 
     /**
      * Obtiene el registro de un curso en base al parámetro $course.
@@ -38,11 +39,12 @@ trait lib_trait {
      *
      * @return mixed un objeto fieldset que contiene el primer registro que hace match a la consulta
      */
-    public function get_course($course){
-        if(gettype($course) == "string"){
+    public function get_course($course)
+    {
+        if (gettype($course) == "string") {
             $course = (int) $course;
         }
-        if(gettype($course) == "integer"){
+        if (gettype($course) == "integer") {
             $course = self::get_course_from_id($course);
         }
         return $course;
@@ -55,7 +57,8 @@ trait lib_trait {
      *
      * @return mixed un objeto fieldset que contiene el primer registro que hace match a la consulta
      */
-    public static function get_course_from_id($courseid){
+    public static function get_course_from_id($courseid)
+    {
         global $DB;
         $course = $DB->get_record('course', array('id' => $courseid), '*', MUST_EXIST);
         return $course;
@@ -71,11 +74,12 @@ trait lib_trait {
      *
      * @return mixed un objeto fieldset que contiene el primer registro que hace match a la consulta
      */
-    public function get_user($user){
-        if(gettype($user) == "string"){
+    public function get_user($user)
+    {
+        if (gettype($user) == "string") {
             $user = (int) $user;
         }
-        if(gettype($user) == "integer"){
+        if (gettype($user) == "integer") {
             $user = self::get_user_from_id($user);
         }
         return $user;
@@ -88,33 +92,36 @@ trait lib_trait {
      *
      * @return mixed un objeto fieldset que contiene el primer registro que hace match a la consulta
      */
-    public static function get_user_from_id($userid){
+    public static function get_user_from_id($userid)
+    {
         global $DB;
         $user = $DB->get_record('user', array('id' => $userid), '*', MUST_EXIST);
         return $user;
     }
 
-    protected function get_full_users(){
+    protected function get_full_users()
+    {
         global $DB;
         $users = [];
         list($in, $invalues) = $DB->get_in_or_equal($this->users);
         $fields = self::USER_FIELDS;
         $sql = "SELECT $fields FROM {user} WHERE id $in ORDER BY lastname ASC";
         $rows = $DB->get_recordset_sql($sql, $invalues);
-        foreach($rows as $key => $row){
+        foreach ($rows as $key => $row) {
             $users[$row->id] = $row;
         }
         $rows->close();
         return $users;
     }
 
-    protected function get_users_last_access(){
+    protected function get_users_last_access()
+    {
         global $DB;
         $user_access = [];
         list($in, $invalues) = $DB->get_in_or_equal($this->users);
         $sql = "SELECT *  FROM {user_lastaccess} WHERE courseid = {$this->course->id} AND userid $in";
         $rows = $DB->get_recordset_sql($sql, $invalues);
-        foreach($rows as $row){
+        foreach ($rows as $row) {
             $user_access[$row->userid] = $row;
         }
         $rows->close();
@@ -127,7 +134,8 @@ trait lib_trait {
      *
      * @return array con las secciones del curso
      */
-    public function get_course_sections(){
+    public function get_course_sections()
+    {
         $modinfo  = get_fast_modinfo($this->course->id);
         $sections = $modinfo->get_section_info_all();
         $sections = self::format_sections($sections);
@@ -142,9 +150,10 @@ trait lib_trait {
      *
      * @return array un vector que contiene las secciones de un curso con un grupo de campos reducido
      */
-    private function format_sections($sections){
+    private function format_sections($sections)
+    {
         $full_sections = array();
-        foreach ($sections as $index => $section){
+        foreach ($sections as $index => $section) {
             $full_section = [
                 'sectionid' => $section->id,
                 'section' => $section->section,
@@ -166,8 +175,9 @@ trait lib_trait {
      *
      * @return string cadena de texto que contiene el nombre de las sección
      */
-    private function get_section_name($section, $current_index){
-        if(isset($section->name) ){
+    private function get_section_name($section, $current_index)
+    {
+        if (isset($section->name)) {
             return $section->name;
         }
         $build_name = get_string("course_format_{$this->course->format}", 'local_notemyprogress');
@@ -175,11 +185,14 @@ trait lib_trait {
         return $name;
     }
 
-    public function get_course_modules($include_hidden_cms = false, $formatted = true){
+    public function get_course_modules($include_hidden_cms = false, $formatted = true)
+    {
         $modinfo = get_fast_modinfo($this->course->id);
         $modules = $modinfo->get_cms();
         if (!$include_hidden_cms) {
-            $modules = array_filter($modules, function($module){ return $module->visible == 1;});
+            $modules = array_filter($modules, function ($module) {
+                return $module->visible == 1;
+            });
         }
         if ($formatted) {
             $modules = self::format_course_module($modules);
@@ -187,14 +200,16 @@ trait lib_trait {
         return $modules;
     }
 
-    public function get_course_module($id){
+    public function get_course_module($id)
+    {
         $cm = get_course_and_cm_from_cmid($id)[1];
         return $cm;
     }
 
-    private function format_course_module($modules){
+    private function format_course_module($modules)
+    {
         $full_modules = array();
-        foreach ($modules as $module){
+        foreach ($modules as $module) {
             $full_module = [
                 'id' => $module->id,
                 'module' => $module->module,
@@ -212,10 +227,11 @@ trait lib_trait {
         return $full_modules;
     }
 
-    protected function get_course_modules_from_sections($sections, $include_hidden_cms = false, $formatted = false){
+    protected function get_course_modules_from_sections($sections, $include_hidden_cms = false, $formatted = false)
+    {
         $cms = array();
-        foreach($sections as $key => $section){
-            if($section->visible != 1){
+        foreach ($sections as $key => $section) {
+            if ($section->visible != 1) {
                 continue;
             }
             $modules = self::get_sequence_section($section->sectionid);
@@ -223,7 +239,9 @@ trait lib_trait {
         }
         if (count($cms)) {
             if (!$include_hidden_cms) {
-                $cms = array_filter($cms, function($module){ return ($module && $module->visible == 1);});
+                $cms = array_filter($cms, function ($module) {
+                    return ($module && $module->visible == 1);
+                });
             }
             if ($formatted) {
                 $cms = self::format_course_module($cms);
@@ -232,7 +250,8 @@ trait lib_trait {
         return $cms;
     }
 
-    public function get_sequence_section($sectionid) {
+    public function get_sequence_section($sectionid)
+    {
         global $DB;
         $sql =  "select sequence from {course_sections} where id = ?";
         $sequence = $DB->get_record_sql($sql, array($sectionid));
@@ -240,11 +259,12 @@ trait lib_trait {
         return $course_modules;
     }
 
-    public function get_course_module_section($sequence) {
+    public function get_course_module_section($sequence)
+    {
         $sequence = explode(',', $sequence);
         $course_modules = array();
         foreach ($sequence as $key => $course_module_id) {
-            $module = get_coursemodule_from_id( '', $course_module_id, $this->course->id, MUST_EXIST);
+            $module = get_coursemodule_from_id('', $course_module_id, $this->course->id, MUST_EXIST);
             array_push($course_modules, $module);
         }
         return $course_modules;
@@ -259,10 +279,11 @@ trait lib_trait {
      *
      * @return string cadena de texto con la fecha formateada
      */
-    public function to_format($format, $timestamp){
+    public function to_format($format, $timestamp)
+    {
         $tz = self::get_timezone();
         date_default_timezone_set($tz);
-        if(gettype($timestamp) == "string"){
+        if (gettype($timestamp) == "string") {
             $timestamp = (int) $timestamp;
         }
         $date = date($format, $timestamp);
@@ -276,7 +297,8 @@ trait lib_trait {
      *
      * @return int entero que representa la cantidad de segundos desde la Época Unix hasta la fecha actual
      */
-    public function now_timestamp(){
+    public function now_timestamp()
+    {
         $tz = self::get_timezone();
         date_default_timezone_set($tz);
         $now = new DateTime();
@@ -294,7 +316,8 @@ trait lib_trait {
      * @return int entero que representa la cantidad de segundos desde la Época Unix hasta la fecha enviada
      * @throws Exception
      */
-    public function to_timestamp($date){
+    public function to_timestamp($date)
+    {
         $tz = self::get_timezone();
         date_default_timezone_set($tz);
         $fecha = new DateTime($date);
@@ -308,16 +331,18 @@ trait lib_trait {
      *
      * @return string cadena de texto con una zona horaria
      */
-    public function get_timezone(){
+    public function get_timezone()
+    {
         $timezone = usertimezone($this->user->timezone);
         $timezone = self::accent_remover($timezone);
-        if(!self::is_valid_timezone($timezone)){
+        if (!self::is_valid_timezone($timezone)) {
             $timezone = self::get_server_timezone();
         }
         return $timezone;
     }
 
-    public function get_server_timezone(){
+    public function get_server_timezone()
+    {
         $date = new DateTime();
         $timeZone = $date->getTimezone();
         return $timeZone->getName();
@@ -330,7 +355,8 @@ trait lib_trait {
      *
      * @return string cadena de texto con una zona horaria sin acentos
      */
-    public function accent_remover($cadena){
+    public function accent_remover($cadena)
+    {
         $cadena = str_replace(
             array('á', 'à', 'ä', 'â', 'ª', 'Á', 'À', 'Â', 'Ä'),
             array('a', 'a', 'a', 'a', 'a', 'A', 'A', 'A', 'A'),
@@ -339,19 +365,23 @@ trait lib_trait {
         $cadena = str_replace(
             array('é', 'è', 'ë', 'ê', 'É', 'È', 'Ê', 'Ë'),
             array('e', 'e', 'e', 'e', 'E', 'E', 'E', 'E'),
-            $cadena );
+            $cadena
+        );
         $cadena = str_replace(
             array('í', 'ì', 'ï', 'î', 'Í', 'Ì', 'Ï', 'Î'),
             array('i', 'i', 'i', 'i', 'I', 'I', 'I', 'I'),
-            $cadena );
+            $cadena
+        );
         $cadena = str_replace(
             array('ó', 'ò', 'ö', 'ô', 'Ó', 'Ò', 'Ö', 'Ô'),
             array('o', 'o', 'o', 'o', 'O', 'O', 'O', 'O'),
-            $cadena );
+            $cadena
+        );
         $cadena = str_replace(
             array('ú', 'ù', 'ü', 'û', 'Ú', 'Ù', 'Û', 'Ü'),
             array('u', 'u', 'u', 'u', 'U', 'U', 'U', 'U'),
-            $cadena );
+            $cadena
+        );
         $cadena = str_replace(
             array('ñ', 'Ñ', 'ç', 'Ç'),
             array('n', 'N', 'c', 'C'),
@@ -368,7 +398,8 @@ trait lib_trait {
      *
      * @return boolean valor booleano que representa si la zona horaria es válida
      */
-    public function is_valid_timezone($timezone) {
+    public function is_valid_timezone($timezone)
+    {
         return in_array($timezone, timezone_identifiers_list());
     }
 
@@ -377,16 +408,17 @@ trait lib_trait {
      *
      * @return array lista con todos los ids de los estudiantes
      */
-    public function get_student_ids($filtered_with_groups = true){
+    public function get_student_ids($filtered_with_groups = true)
+    {
         $roles = array(5);
         $students = array();
         $users = array();
         $context = context_course::instance($this->course->id);
-        foreach($roles as $role){
+        foreach ($roles as $role) {
             $users = array_merge($users, get_role_users($role, $context));
         }
-        foreach($users as $user){
-            if(!in_array($user->id, $students)){
+        foreach ($users as $user) {
+            if (!in_array($user->id, $students)) {
                 $students[] = $user->id;
             }
         }
@@ -396,34 +428,37 @@ trait lib_trait {
         return $students;
     }
 
-    protected function filter_users_by_selected_group($users) {
+    protected function filter_users_by_selected_group($users)
+    {
         global $COURSE, $USER;
         $group_manager = new \local_notemyprogress\group_manager($COURSE, $USER);
         $participants = new \local_notemyprogress\course_participant($USER->id, $COURSE->id);
         $groups = $participants->all_groups_with_members($COURSE->groupmode);
         $selectedgroup = $group_manager->selected_group();
-        if(!isset($selectedgroup->groupid) || $selectedgroup->groupid == 0 ){
+        if (!isset($selectedgroup->groupid) || $selectedgroup->groupid == 0) {
             return $users;
         }
         foreach ($groups as $group) {
-            if($selectedgroup->groupid == $group->id){
+            if ($selectedgroup->groupid == $group->id) {
                 $users = self::extract_users_in_group($users, $group->members);
             }
         }
         return $users;
     }
 
-    private function extract_users_in_group($allusers, $ingroup){
+    private function extract_users_in_group($allusers, $ingroup)
+    {
         $extracted = array();
-        foreach($allusers as $userid){
-            if(isset($ingroup[$userid]) && !in_array($userid, $extracted)){
+        foreach ($allusers as $userid) {
+            if (isset($ingroup[$userid]) && !in_array($userid, $extracted)) {
                 array_push($extracted, $userid);
             }
         }
         return $extracted;
     }
 
-    protected function get_users_from_ids($ids){
+    protected function get_users_from_ids($ids)
+    {
         global $DB;
         list($in, $invalues) = $DB->get_in_or_equal($ids);
         $fields = self::USER_FIELDS;
@@ -433,16 +468,17 @@ trait lib_trait {
         return $users;
     }
 
-    public function extract_ids ($elements){
+    public function extract_ids($elements)
+    {
         $ids = array();
-        if(gettype($elements) == 'array' && count($elements)>0){
-            foreach($elements as $key => $element){
-                if(gettype($element) == "array"){
-                    if(isset($element['id'])){
+        if (gettype($elements) == 'array' && count($elements) > 0) {
+            foreach ($elements as $key => $element) {
+                if (gettype($element) == "array") {
+                    if (isset($element['id'])) {
                         $ids[] = $element['id'];
                     }
-                }elseif(gettype($element) == "object"){
-                    if(isset($element->id)){
+                } elseif (gettype($element) == "object") {
+                    if (isset($element->id)) {
                         $ids[] = $element->id;
                     }
                 }
@@ -451,16 +487,17 @@ trait lib_trait {
         return $ids;
     }
 
-    public function extract_elements_field($elements, $field){
+    public function extract_elements_field($elements, $field)
+    {
         $list = array();
-        if(gettype($elements) == 'array'){
-            foreach($elements as $key => $element){
-                if(gettype($element) == "array"){
-                    if(isset($element[$field])){
+        if (gettype($elements) == 'array') {
+            foreach ($elements as $key => $element) {
+                if (gettype($element) == "array") {
+                    if (isset($element[$field])) {
                         $list[] = $element[$field];
                     }
-                }elseif(gettype($element) == "object"){
-                    if(isset($element->$field)){
+                } elseif (gettype($element) == "object") {
+                    if (isset($element->$field)) {
                         $list[] = $element->$field;
                     }
                 }
@@ -469,7 +506,8 @@ trait lib_trait {
         return $list;
     }
 
-    public function convert_time($measure, $time, $type = "hour"){
+    public function convert_time($measure, $time, $type = "hour")
+    {
         $response = false;
         $valid_params = true;
         if ($measure == 'minutes') {
@@ -479,7 +517,7 @@ trait lib_trait {
         } else {
             $valid_params = false;
         }
-        if($valid_params){
+        if ($valid_params) {
             $horas = floor($time / 3600);
             $minutos = floor(($time % 3600) / 60);
             $segundos = $time % 60;
@@ -492,7 +530,8 @@ trait lib_trait {
         return $response;
     }
 
-    protected function convert_time_as_string($hours, $minutes, $seconds = null){
+    protected function convert_time_as_string($hours, $minutes, $seconds = null)
+    {
         $text = [
             'minute' => get_string("fml_minute", "local_notemyprogress"),
             'minutes' => get_string("fml_minutes", "local_notemyprogress"),
@@ -503,7 +542,7 @@ trait lib_trait {
         ];
         $hour = new stdClass();
         $hour->text = $hours == 1 ? $text['hour'] : $text['hours'];
-        $hour->stringify_value = $hours <= 9 ? "0$hours" : $hours ;
+        $hour->stringify_value = $hours <= 9 ? "0$hours" : $hours;
         $hour->output = $hours == 0 ? "" : "$hour->stringify_value $hour->text";
 
         $minute = new stdClass();
@@ -524,8 +563,9 @@ trait lib_trait {
         return $response;
     }
 
-    protected function convert_time_as_hour($hours, $minutes, $seconds = null){
-        $hour = $hours <= 9 ? "0$hours" : $hours ;
+    protected function convert_time_as_hour($hours, $minutes, $seconds = null)
+    {
+        $hour = $hours <= 9 ? "0$hours" : $hours;
         $minute = $minutes <= 9 ? "0$minutes" : $minutes;
         $second = $seconds <= 9 ? "0$seconds" : $seconds;
         $response = "$hour:$minute:$second";
@@ -533,28 +573,30 @@ trait lib_trait {
         return $response;
     }
 
-    public function minutes_to_hours($minutes, $decimals = 2){
+    public function minutes_to_hours($minutes, $decimals = 2)
+    {
         $hours = 0;
-        if($minutes <= 0){
+        if ($minutes <= 0) {
             return $hours;
-        }else{
-            if($decimals > 0){
+        } else {
+            if ($decimals > 0) {
                 $hours = number_format($minutes / 60, 2);
-            }else{
+            } else {
                 $hours = $minutes / 60;
             }
         }
         return $hours;
     }
 
-    protected function get_date_label($date) {
+    protected function get_date_label($date)
+    {
         $date = (int) $date;
         $tz = self::get_timezone();
         date_default_timezone_set($tz);
         $day_number = date('d', $date);
-        $day_code = strtolower(date('D',$date));
+        $day_code = strtolower(date('D', $date));
         $day_name = get_string("fml_{$day_code}_short", 'local_notemyprogress');
-        $month_code = strtolower(date('M',$date));
+        $month_code = strtolower(date('M', $date));
         $month_name = get_string("fml_{$month_code}_short", 'local_notemyprogress');
         $year = date('Y', $date);
         $hour = date('g', $date);
@@ -573,7 +615,8 @@ trait lib_trait {
      *
      * @return object objecto con las condiciones de busqueda para los logs de interacciones
      */
-    protected function conditions_for_work_sessions($start, $end){
+    protected function conditions_for_work_sessions($start, $end)
+    {
         $conditions = array();
         if (isset($start)) {
             $condition = new stdClass();
@@ -591,4 +634,42 @@ trait lib_trait {
         }
         return $conditions;
     }
-}
\ No newline at end of file
+
+    //Planning
+
+    public function get_resource_type($cm)
+    {
+        global $DB;
+        $query = "SELECT f.mimetype FROM {files} f JOIN {context} c  ON c.id = f.contextid
+                  WHERE c.instanceid = ? AND contextlevel = ? AND f.mimetype <> 'NULL' AND f.filesize > 0";
+        $file = $DB->get_record_sql($query, array($cm, CONTEXT_MODULE));
+        if (!isset($file->mimetype)) {
+            $type = local_student_reports_resourcetype::get_default_type();
+        } else {
+            $type = local_student_reports_resourcetype::get_type($file->mimetype);
+        }
+
+        return $type;
+    }
+
+    public function update_array_key_by($field, $values)
+    {
+        $transformed = array();
+        foreach ($values as $value) {
+            if (gettype($value) == 'array' && isset($value[$field])) {
+                $transformed[$value[$field]] = $value;
+            }
+            if (gettype($value) == 'object' && isset($value->$field)) {
+                $transformed[$value->$field] = $value;
+            }
+        }
+        return $transformed;
+    }
+
+    public function day_to_english($day)
+    {
+        $day = strtolower($day);
+        $days_EN = ["lun" => "mon", "mar" => "tue", "mier" => "wed", "jue" => "thu", "vie" => "fri", "sab" => "sat", "dom" => "sun"];
+        return isset($days_EN[$day]) ? $days_EN[$day] : null;
+    }
+}
diff --git a/notemyprogress/classes/metareflexion.php b/notemyprogress/classes/metareflexion.php
new file mode 100644
index 0000000000000000000000000000000000000000..10287e02811817b5a940e1459b6f129f32f6bec2
--- /dev/null
+++ b/notemyprogress/classes/metareflexion.php
@@ -0,0 +1,291 @@
+<?php
+
+namespace local_notemyprogress;
+
+require_once("lib_trait.php");
+
+use stdClass;
+
+class metareflexion
+{
+    use \lib_trait;
+
+    public $course;
+    public $user;
+    public $weekcode;
+    public $hours;
+    public $metareflexionid;
+
+    public $lastweekid;
+    public $classroom_hours;
+    public $hours_off_course;
+    public $previous_class_learning;
+    public $benefit_going_class;
+
+    public $days;
+    public $goals_commited;
+    public $goals_completed;
+    public $questions;
+
+    function __construct($course, $userid, $idmetareflexion = null)
+    {
+        global $DB;
+
+        $this->course = self::get_course($course);
+        $this->user = self::get_user($userid);
+
+        $configweeks = new \local_notemyprogress\configweeks($this->course->id, $this->user->id);
+        $this->weeks = $configweeks->get_weeks_with_sections();
+        $this->current_week = $configweeks->get_current_week();
+        $this->past_week = $configweeks->get_past_week();
+
+        $this->weekcode = null;
+        $this->days = null;
+        $this->hours = null;
+        $this->metareflexionid = $idmetareflexion;
+    }
+
+    public function get_goals_cat(){
+        global $DB;
+        $sql =  "select * from {notemyprogress_goals_ct}";
+        $goals_cat_res = $DB->get_record_sql($sql);
+        return $goals_cat_res ;
+    }
+
+    public function save_goals()
+    {
+        global $DB;
+        $goals_cats = get_goals_cat()
+        
+        $lastweek = new stdClass();
+        $lastweek->userid = $this->user->id;
+        $lastweek->weekcode = $this->past_week->weekcode;
+        $lastweek->classroom_hours = $this->classroom_hours;
+        $lastweek->hours_off_course = $this->hours_off_course;
+        $lastweek->previous_class_learning = $this->previous_class_learning;
+        $lastweek->benefit_going_class = $this->benefit_going_class;
+        $id = $DB->insert_record("st_rpt_work_last_weeks", $lastweek, true);
+        $lastweek->id = $id;
+        return $lastweek;
+    }
+
+
+
+    public function find_last_week()
+    {
+        $set_last_week = self::set_last_week();
+        if (empty($set_last_week)) {
+            $set_last_week = new stdClass();
+        }
+        $fq = self::find_questions($set_last_week);
+        $set_last_week->questions = $fq;
+        return $set_last_week;
+    }
+
+    public function set_last_week()
+    {
+        global $DB;
+        $last_week = new stdClass();
+        $last_week->userid = $this->user->id;
+        $last_week->weekcode = null;
+        $last_week->classroom_hours = 0;
+        $last_week->hours_off_course = 0;
+        $last_week->previous_class_learning = null;
+        $last_week->benefit_going_class = null;
+        if (empty($this->past_week)) {
+            return null;
+        } else {
+            $sql =  "select * from {st_rpt_work_last_weeks} where weekcode = ? and userid = ? order by id desc limit 1";
+            $last_week_query = $DB->get_record_sql($sql, array($this->past_week->weekcode, $this->user->id));
+            if (!empty($last_week_query)) {
+                $last_week = $last_week_query;
+                $last_week->weekcode = $this->past_week->weekcode;
+            }
+        }
+        return $last_week;
+    }
+
+    private function find_questions($last_week)
+    {
+        global $DB;
+        $sql =  "select * from {st_rpt_questions}";
+        $questions = $DB->get_records_sql($sql);
+        foreach ($questions as $key => $question) {
+            $answers = self::find_answers($question->id);
+            if ($question->id == 1) {
+                $previous_class_learning = isset($last_week->previous_class_learning) ? $last_week->previous_class_learning : null;
+                $question->answer_selected = $previous_class_learning;
+            } elseif ($question->id == 2) {
+                $benefit_going_class = isset($last_week->benefit_going_class) ? $last_week->benefit_going_class : null;
+                $question->answer_selected = $benefit_going_class;
+            }
+            $question->answers = $answers;
+        }
+        $questions = self::update_texts_from_strings($questions);
+        return $questions;
+    }
+
+    private function update_texts_from_strings($questions)
+    {
+        foreach ($questions as $question) {
+            $question->enunciated = get_string($question->enunciated, 'local_notemyprogress');
+            foreach ($question->answers as $answer) {
+                $answer->enunciated = get_string($answer->enunciated, 'local_notemyprogress');
+            }
+        }
+        return $questions;
+    }
+
+    public function find_answers($id_questions)
+    {
+        global $DB;
+        $sql =  "select * from {st_rpt_answers} where questionid = ?";
+        $answers = $DB->get_records_sql($sql, array($id_questions));
+        return $answers;
+    }
+
+
+    public function find_current_week()
+    {
+        $array_section_cm = array();
+        foreach ($this->current_week->sections as $key => $week) {
+            $course_modules = self::get_sequence_section($week->sectionid);
+            foreach ($course_modules as $key => $course_module) {
+                $course_module->weekcode = $this->current_week->weekcode;
+                $course_module->weekly_schedules_id = null;
+                //$course_module->weekly_schedules_days = array('lun' => false, 'mar' => false, 'mie' => false, 'jue' => false, 'vie' => false, 'sab' => false, 'dom' => false);
+                $course_module->weekly_schedules_hours = 0;
+                $cm_ws = self::get_schedules_cm($course_module->id);
+                if ($cm_ws) {
+                    $explode_days = explode(',', $cm_ws->days);
+                    foreach ($explode_days as $key => $day) {
+                        $course_module->weekly_schedules_days[$day] = true;
+                    }
+                    $course_module->weekly_schedules_id = $cm_ws->id;
+                    $course_module->weekly_schedules_hours = $cm_ws->hours;
+                }
+                array_push($array_section_cm, $course_module);
+            }
+        }
+        return $array_section_cm;
+    }
+
+    public function get_schedules_cm($cmid)
+    {
+        global $DB;
+        $sql =  "select * from {st_rpt_weekly_schedules} where userid = ? order by id desc limit 1";
+        $cm_week_schedules = $DB->get_record_sql($sql, array($this->user->id, $cmid));
+        return $cm_week_schedules;
+    }
+
+
+    public function find_days()
+    {
+        $days = new stdClass();
+    }
+
+    public function find_current_week_new()
+    {
+        $array_section_cm = array();
+        foreach ($this->current_week->sections as $key => $week) {
+            $course_modules = self::get_sequence_section($week->sectionid);
+            foreach ($course_modules as $key => $cm) {
+                if ($cm->modname == "resource") {
+                    $cm->modname = self::get_resource_type($cm->id);
+                }
+            }
+        }
+        $cm_ws = self::get_schedules_cm_new($this->current_week->weekcode);
+        $current_week = new stdClass();
+        $current_week->weekly_schedules_id = null;
+        $current_week->weekcode = $this->current_week->weekcode;
+        //$current_week->weekly_schedules_days = array('lun' => false, 'mar' => false, 'mie' => false, 'jue' => false, 'vie' => false, 'sab' => false, 'dom' => false);
+        $current_week->weekly_schedules_hours = 0;
+        $current_week->weekly_cm = $course_modules;
+        if ($cm_ws) {
+            $explode_days = explode(',', $cm_ws->days);
+            foreach ($explode_days as $key => $day) {
+                $current_week->weekly_schedules_days[$day] = true;
+            }
+            $current_week->weekly_schedules_id = $cm_ws->id;
+            $current_week->weekly_schedules_hours = $cm_ws->hours;
+        }
+        array_push($array_section_cm, $current_week);
+        return $array_section_cm;
+    }
+
+    public function get_schedules_cm_new($weekcode)
+    {
+        global $DB;
+        $sql =  "select * from {st_rpt_weekly_schedules} where userid = ? and weekcode = ?";
+        $cm_week_schedules = $DB->get_record_sql($sql, array($this->user->id, $weekcode));
+        return $cm_week_schedules;
+    }
+
+    public function save_metareflexion()
+    {
+        if (!isset($this->weekcode) || !isset($this->days) || !isset($this->hours)) {
+            return false;
+        }
+        global $DB;
+        $metareflexion = new stdClass();
+        $metareflexion->userid = $this->user->id;
+        $metareflexion->weekcode = $this->weekcode;
+        $metareflexion->days = $this->days;
+        $metareflexion->hours = $this->hours;
+        $metareflexion->timecreated = self::now_timestamp();
+        $metareflexion->timemodified = self::now_timestamp();
+        $meta = $DB->insert_record("st_rpt_weekly_schedules", $metareflexion, true);
+        $this->metareflexionid = $meta;
+        $metareflexion->id = $meta;
+        return $metareflexion;
+    }
+
+    public function update_metareflexion()
+    {
+        if (!isset($this->metareflexionid) || !isset($this->days) || !isset($this->hours)) {
+            return false;
+        }
+        global $DB;
+        $metareflexion = new stdClass();
+        $metareflexion->id = $this->metareflexionid;
+        $metareflexion->days = $this->days;
+        $metareflexion->hours = $this->hours;
+        $metareflexion->timemodified = self::now_timestamp();
+        $sql = "update {st_rpt_weekly_schedules} set days = ?, hours = ?, timemodified = ? where id = ?";
+        $result = $DB->execute($sql, array($metareflexion->days, $metareflexion->hours, self::now_timestamp(), $metareflexion->id));
+        return $metareflexion;
+    }
+
+    public function save_lastweek()
+    {
+        global $DB;
+        $lastweek = new stdClass();
+        $lastweek->userid = $this->user->id;
+        $lastweek->weekcode = $this->past_week->weekcode;
+        $lastweek->classroom_hours = $this->classroom_hours;
+        $lastweek->hours_off_course = $this->hours_off_course;
+        $lastweek->previous_class_learning = $this->previous_class_learning;
+        $lastweek->benefit_going_class = $this->benefit_going_class;
+        $id = $DB->insert_record("st_rpt_work_last_weeks", $lastweek, true);
+        $lastweek->id = $id;
+        return $lastweek;
+    }
+
+    public function update_lastweek()
+    {
+        if (!isset($this->lastweekid) || !isset($this->classroom_hours) || !isset($this->hours_off_course) || !isset($this->previous_class_learning) || !isset($this->benefit_going_class)) {
+            return false;
+        }
+        global $DB;
+        $lastweek = new stdClass();
+        $lastweek->id = $this->lastweekid;
+        $lastweek->classroom_hours = $this->classroom_hours;
+        $lastweek->hours_off_course = $this->hours_off_course;
+        $lastweek->previous_class_learning = $this->previous_class_learning;
+        $lastweek->benefit_going_class = $this->benefit_going_class;
+        $sql = "update {st_rpt_work_last_weeks} set classroom_hours = ?, hours_off_course = ?, previous_class_learning = ?, benefit_going_class = ?  where id = ?";
+        $result = $DB->execute($sql, array($lastweek->classroom_hours,  $lastweek->hours_off_course, $lastweek->previous_class_learning, $lastweek->benefit_going_class, $lastweek->id));
+        return $lastweek;
+    }
+}
diff --git a/notemyprogress/classes/report.php b/notemyprogress/classes/report.php
index 5c1433bf9a96eb3566f3461cf062bfbf3d950392..237ecfc9c3d3a89031acf562451b6eaa1ffb555d 100644
--- a/notemyprogress/classes/report.php
+++ b/notemyprogress/classes/report.php
@@ -39,798 +39,1384 @@ use stdClass;
  * @copyright   2020 Edisson Sigua <edissonf.sigua@gmail.com>, Bryan Aguilar <bryan.aguilar6174@gmail.com>
  * @license     http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  */
-abstract class report {
-    use \lib_trait;
-
-    const MINUTES_TO_NEW_SESSION = 30;
-    const USER_FIELDS = "id, username, firstname, lastname, email, lastaccess, picture, deleted";
-    protected $course;
-    protected $user;
-    protected $profile;
-    protected $users;
-    protected $current_week;
-    protected $past_week;
-    protected $weeks;
-    protected $current_sections;
-    public $timezone;
-
-    function __construct($courseid, $userid){
-        $this->user = self::get_user($userid);
-        $this->course = self::get_course($courseid);
-        $this->timezone = self::get_timezone($userid);
-        date_default_timezone_set($this->timezone);
-        $this->users = array();
-        $configweeks = new \local_notemyprogress\configweeks($this->course->id, $this->user->id);
-        $this->weeks = $configweeks->weeks;
-        $this->current_sections = $configweeks->current_sections;
-        $this->current_week = $configweeks->get_current_week();
-        $this->past_week = $configweeks->get_past_week();
-    }
-
-    abstract public function set_users();
-
-    abstract public function set_profile();
-
-    public function render_has(){
-        return $this->profile;
-    }
-
-    protected function course_is_valid(){
-        $in_transit = isset($this->current_week) || isset($this->past_week) ? true : false;
-        $has_users = count($this->users) > 0 ? true : false;
-        return $in_transit && $has_users;
-    }
-
-    /**
-     * Verifica si el curso aún no ha terminado o si el tiempo transcurrido desde que ha terminado las
-     * semanas configuradas de Note My Progress es menor a una semana
-     *
-     * @return boolean valor booleano que indica si el curso aun sigue activo
-     */
-    protected function course_in_transit(){
-        $in_transit = isset($this->current_week) || isset($this->past_week) ? true : false;
-        return $in_transit;
-    }
-
-    /**
-     * Verifica si el curso tiene estudiantes
-     *
-     * @return boolean valor booleano que indica si el curso tiene estudiantes
-     */
-    protected function course_has_users(){
-        $has_users = count($this->users) > 0 ? true : false;
-        return $has_users;
-    }
-
-    /**
-     * Busca la semana con codigo igual al parametro $weekcode y lo retorna. En caso de no encontrar
-     * la semana con el codigo de paramtero, se imprime un error
-     *
-     * @param string $weekcode identificador de la semana que se desea obtener
-     *
-     * @return object objecto con la semana que hace match con el parametro
-     */
-    protected function find_week($weekcode){
-        foreach($this->weeks as $week){
-            if($weekcode == $week->weekcode){
-                return $week;
-            }
-        }
-        print_error("Weekcode not found");
-    }
-
-    protected function get_progress_table($users, $cms, $enable_completion, $include_sessions = false) {
-        $table = array();
-        $total_cms = count($cms);
-        if ($total_cms > 0) {
-            foreach ($users as $user) {
-                $cms_interaction = self::cms_interactions($cms, $user, $enable_completion);
-                $progress_percentage = (int)(($cms_interaction->complete * 100)/$total_cms);
-                $inverted_time_label = self::convert_time($user->time_format, $user->summary->added, "hour");
-                $user_record = self::get_user($user->userid);
-
-                $record = new stdClass();
-                $record->id = $user_record->id;
-                $record->firstname = $user_record->firstname;
-                $record->lastname = $user_record->lastname;
-                $record->username = $user_record->username;
-                $record->email = $user_record->email;
-                $record->progress_percentage = $progress_percentage;
-                $record->cms = $cms_interaction;
-                $record->sessions_number = $user->summary->count;
-                $record->inverted_time = $user->summary->added;
-                $record->inverted_time_label = $inverted_time_label;
-
-                if ($include_sessions) {
-                    $record->sessions = $user->sessions;
-                }
-                array_push($table, $record);
-            }
-        }
-        return $table;
-    }
-
-    private function cms_interactions($cms, $user, $cms_completion_enabled){
-        $complete_cms = 0;
-        $cms_ids = array();
-        $viewed_cms = 0;
-        foreach ($cms as $module) {
-            $finished = null;
-            if ($cms_completion_enabled) {
-                $module_completion_configure = $module['completion'] != 0;
-                if ($module_completion_configure) {
-                    $finished = self::finished_cm_by_conditions($user->userid, $module['id']);
-                }
-            }
-            $interactions = self::count_cm_interactions($user, $module['id']);
-            $viewed = ($interactions > 0);
-            $finished = (!isset($finished)) ? $viewed : $finished;
-
-            $cm = new stdClass();
-            $cm->id = $module['id'];
-            $cm->interactions = $interactions;
-            $cm->complete = false;
-            $cm->viewed = false;
-            if ($viewed) {
-                $viewed_cms++;
-                $cm->viewed = true;
-            }
-            if ($finished) {
-                $complete_cms++;
-                $cm->complete = true;
-            }
-            if ($viewed || $finished) {
-                $cmid = "cm".$module['id'];
-                $cms_ids[$cmid] = $cm;
-            }
-        }
-        $interaction = new stdClass();
-        $interaction->complete = $complete_cms;
-        $interaction->viewed = $viewed_cms;
-        $interaction->modules = $cms_ids;
-        $interaction->total = count($cms);
-        return $interaction;
-    }
-
-    private function finished_cm_by_conditions($userid, $cm_id){
-        global $DB;
-        $complete = false;
-        $item = $DB->get_record('course_modules_completion',
-            array('coursemoduleid' => $cm_id, 'userid' => $userid), 'id, timemodified');
-        if ($item) {
-            $complete = true;
-        }
-        return $complete;
+abstract class report
+{
+  use \lib_trait;
+
+  const MINUTES_TO_NEW_SESSION = 30;
+  const USER_FIELDS = "id, username, firstname, lastname, email, lastaccess, picture, deleted";
+  protected $course;
+  protected $user;
+  protected $profile;
+  protected $users;
+  protected $current_week;
+  protected $past_week;
+  protected $weeks;
+  protected $current_sections;
+  public $timezone;
+
+  function __construct($courseid, $userid)
+  {
+    $this->user = self::get_user($userid);
+    $this->course = self::get_course($courseid);
+    $this->timezone = self::get_timezone($userid);
+    date_default_timezone_set($this->timezone);
+    $this->users = array();
+    $configweeks = new \local_notemyprogress\configweeks($this->course->id, $this->user->id);
+    $this->weeks = $configweeks->weeks;
+    $this->current_sections = $configweeks->current_sections;
+    $this->current_week = $configweeks->get_current_week();
+    $this->past_week = $configweeks->get_past_week();
+  }
+
+  abstract public function set_users();
+
+  abstract public function set_profile();
+
+  public function render_has()
+  {
+    return $this->profile;
+  }
+
+  protected function course_is_valid()
+  {
+    $in_transit = isset($this->current_week) || isset($this->past_week) ? true : false;
+    $has_users = count($this->users) > 0 ? true : false;
+    return $in_transit && $has_users;
+  }
+
+  /**
+   * Verifica si el curso aún no ha terminado o si el tiempo transcurrido desde que ha terminado las
+   * semanas configuradas de Fliplearning es menor a una semana
+   *
+   * @return boolean valor booleano que indica si el curso aun sigue activo
+   */
+  protected function course_in_transit()
+  {
+    $in_transit = isset($this->current_week) || isset($this->past_week) ? true : false;
+    return $in_transit;
+  }
+
+  /**
+   * Verifica si el curso tiene estudiantes
+   *
+   * @return boolean valor booleano que indica si el curso tiene estudiantes
+   */
+  protected function course_has_users()
+  {
+    $has_users = count($this->users) > 0 ? true : false;
+    return $has_users;
+  }
+
+  /**
+   * Busca la semana con codigo igual al parametro $weekcode y lo retorna. En caso de no encontrar
+   * la semana con el codigo de paramtero, se imprime un error
+   *
+   * @param string $weekcode identificador de la semana que se desea obtener
+   *
+   * @return object objecto con la semana que hace match con el parametro
+   */
+  protected function find_week($weekcode)
+  {
+    foreach ($this->weeks as $week) {
+      if ($weekcode == $week->weekcode) {
+        return $week;
+      }
     }
-
-    private function count_cm_interactions($user, $cm_id){
-        $cm_logs = 0;
-        foreach ($user->logs as $log) {
-            if ($log->contextlevel == 70 && $log->contextinstanceid == $cm_id) {
-                $cm_logs++;
-            }
+    print_error("Weekcode not found");
+  }
+
+  protected function get_progress_table($users, $cms, $enable_completion, $include_sessions = false)
+  {
+    $table = array();
+    $total_cms = count($cms);
+    if ($total_cms > 0) {
+      foreach ($users as $user) {
+        $cms_interaction = self::cms_interactions($cms, $user, $enable_completion);
+        $progress_percentage = (int)(($cms_interaction->complete * 100) / $total_cms);
+        $inverted_time_label = self::convert_time($user->time_format, $user->summary->added, "hour");
+        $user_record = self::get_user($user->userid);
+
+        $record = new stdClass();
+        $record->id = $user_record->id;
+        $record->firstname = $user_record->firstname;
+        $record->lastname = $user_record->lastname;
+        $record->username = $user_record->username;
+        $record->email = $user_record->email;
+        $record->progress_percentage = $progress_percentage;
+        $record->cms = $cms_interaction;
+        $record->sessions_number = $user->summary->count;
+        $record->inverted_time = $user->summary->added;
+        $record->inverted_time_label = $inverted_time_label;
+
+        if ($include_sessions) {
+          $record->sessions = $user->sessions;
         }
-        return $cm_logs;
-    }
-
-    protected function get_sessions_by_weeks($user_sessions) {
-        $months = array();
-        foreach($user_sessions as $sessions){
-            foreach($sessions as $session){
-                $resp = self::get_month_and_week_number((int) $session->start);
-                $month = $resp->month;
-                $week = $resp->week;
-
-                if(!isset($months[$month])){
-                    $months[$month] = array();
-                }
-                if(!isset($months[$month][$week])){
-                    $months[$month][$week] = 1;
-                } else {
-                    $months[$month][$week]++;
-                }
-            }
-        }
-        return $months;
-    }
-
-    protected function get_sessions_by_weeks_summary($months, $startdate) {
-        $startdate = strtotime('first day of this month', $startdate);
-        $month_number = ((int) date("n", $startdate)) - 1;
-
-        $summary = array();
-        $categories = array();
-        $week_dates = array();
-        if (!empty($months)) {
-            for ($y = 0; $y <= 11; $y++) {
-                $month_code = self::get_month_code($month_number);
-                if (isset($months[$month_code])) {
-                    $weeks = $months[$month_code];
-                }
-                for ($x = 0; $x <= 4; $x++) {
-                    $value = 0;
-                    if(isset($weeks)) {
-                        if (isset($weeks[$x])) {
-                            $value=$weeks[$x];
-                        }
-                    }
-                    $element = array("x" => $x, "y" => $y, "value" => $value);
-                    array_push($summary, $element);
-                }
-                $weeks = null;
-
-                $dates = self::get_weeks_of_month($startdate);
-                array_push($week_dates, $dates);
-
-                $month_number++;
-                if ($month_number > 11) {
-                    $month_number = 0;
-                }
-
-                $month_name = get_string("fml_".$month_code."_short", "local_notemyprogress");
-                $year = date("Y", $startdate);
-                $category_name = "$month_name $year";
-                array_push($categories, $category_name);
-
-                $startdate = strtotime('first day of +1 month',$startdate);
-            }
+        array_push($table, $record);
+      }
+    }
+    return $table;
+  }
+
+  private function cms_interactions($cms, $user, $cms_completion_enabled)
+  {
+    $complete_cms = 0;
+    $cms_ids = array();
+    $viewed_cms = 0;
+    foreach ($cms as $module) {
+      $finished = null;
+      if ($cms_completion_enabled) {
+        $module_completion_configure = $module['completion'] != 0;
+        if ($module_completion_configure) {
+          $finished = self::finished_cm_by_conditions($user->userid, $module['id']);
         }
-        $response = new stdClass();
-        $response->data = $summary;
-        $response->categories = $categories;
-        $response->weeks = $week_dates;
-        return $response;
+      }
+      $interactions = self::count_cm_interactions($user, $module['id']);
+      $viewed = ($interactions > 0);
+      $finished = (!isset($finished)) ? $viewed : $finished;
+
+      $cm = new stdClass();
+      $cm->id = $module['id'];
+      $cm->interactions = $interactions;
+      $cm->complete = false;
+      $cm->viewed = false;
+      if ($viewed) {
+        $viewed_cms++;
+        $cm->viewed = true;
+      }
+      if ($finished) {
+        $complete_cms++;
+        $cm->complete = true;
+      }
+      if ($viewed || $finished) {
+        $cmid = "cm" . $module['id'];
+        $cms_ids[$cmid] = $cm;
+      }
     }
-
-    private function get_month_code($key) {
-        $months = array("jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov", "dec");
-        return $months[$key];
+    $interaction = new stdClass();
+    $interaction->complete = $complete_cms;
+    $interaction->viewed = $viewed_cms;
+    $interaction->modules = $cms_ids;
+    $interaction->total = count($cms);
+    return $interaction;
+  }
+
+  private function finished_cm_by_conditions($userid, $cm_id)
+  {
+    global $DB;
+    $complete = false;
+    $item = $DB->get_record(
+      'course_modules_completion',
+      array('coursemoduleid' => $cm_id, 'userid' => $userid),
+      'id, timemodified'
+    );
+    if ($item) {
+      $complete = true;
     }
-
-    private function get_weeks_of_month($date) {
-        $weeks = array();
-        $month_code = strtolower(date("M", $date));
-        $date = strtotime("first monday of this month", $date);
-        while (strtolower(date("M", $date)) == $month_code) {
-
-            $day_code = strtolower(date("D", $date));
-            $start_day_name = get_string("fml_$day_code", "local_notemyprogress");
-            $start_day_number = strtolower(date("d", $date));
-
-            $end = strtotime("+ 7 days", $date) - 1;
-            $day_code = strtolower(date("D", $end));
-            $end_day_name = get_string("fml_$day_code", "local_notemyprogress");
-            $end_day_number = strtolower(date("d", $end));
-
-            $label = "$start_day_name $start_day_number - $end_day_name $end_day_number";
-            array_push($weeks, $label);
-            $month_code = strtolower(date("M", $date));
-            $date = strtotime("+ 7 days", $date);
-        }
-        return $weeks;
+    return $complete;
+  }
+
+  private function count_cm_interactions($user, $cm_id)
+  {
+    $cm_logs = 0;
+    foreach ($user->logs as $log) {
+      if ($log->contextlevel == 70 && $log->contextinstanceid == $cm_id) {
+        $cm_logs++;
+      }
     }
-
-    private function get_month_and_week_number($date) {
-        $monday_of_week = strtotime( 'monday this week', $date);
-        $first_monday_month = strtotime("first monday of this month", $monday_of_week);
-        $first_sunday_month = strtotime("+ 7 days", $first_monday_month) - 1;
-        $week_number = 0;
-        while ($first_sunday_month < $date) {
-            $first_sunday_month = strtotime("+ 7 days", $first_sunday_month);
-            $week_number++;
+    return $cm_logs;
+  }
+
+  protected function get_sessions_by_weeks($user_sessions)
+  {
+    $months = array();
+    foreach ($user_sessions as $sessions) {
+      foreach ($sessions as $session) {
+        $resp = self::get_month_and_week_number((int) $session->start);
+        $month = $resp->month;
+        $week = $resp->week;
+
+        if (!isset($months[$month])) {
+          $months[$month] = array();
         }
-        $resp = new stdClass();
-        $resp->month = strtolower(date("M", $first_monday_month));
-        $resp->week = $week_number;
-        return $resp;
-    }
-
-    protected function get_sessions_by_hours($user_sessions) {
-        $schedules = array();
-        foreach($user_sessions as $sessions){
-            foreach($sessions as $session){
-                $start = (int) $session->start;
-                $day = strtolower(date("D", $start));
-                $hour = date("G", $start);
-
-                if(!isset($schedules[$day])){
-                    $schedules[$day] = array();
-                }
-                if(!isset($schedules[$day][$hour])){
-                    $schedules[$day][$hour] = 1;
-                } else {
-                    $schedules[$day][$hour]++;
-                }
-            }
+        if (!isset($months[$month][$week])) {
+          $months[$month][$week] = 1;
+        } else {
+          $months[$month][$week]++;
+        }
+      }
+    }
+    return $months;
+  }
+
+  protected function get_sessions_by_weeks_summary($months, $startdate)
+  {
+    $startdate = strtotime('first day of this month', $startdate);
+    $month_number = ((int) date("n", $startdate)) - 1;
+
+    $summary = array();
+    $categories = array();
+    $week_dates = array();
+    if (!empty($months)) {
+      for ($y = 0; $y <= 11; $y++) {
+        $month_code = self::get_month_code($month_number);
+        if (isset($months[$month_code])) {
+          $weeks = $months[$month_code];
         }
-        return $schedules;
-    }
-
-    protected function get_sessions_by_hours_summary($schedules) {
-        $summary = array();
-        if (!empty($schedules)) {
-            for ($x = 0; $x <= 6; $x++) {
-                $day_code = self::get_day_code($x);
-                if (isset($schedules[$day_code])) {
-                    $hours = $schedules[$day_code];
-                }
-                for ($y = 0; $y <= 23; $y++) {
-                    $value = 0;
-                    if(isset($hours)) {
-                        if (isset($hours[$y])) {
-                            $value=$hours[$y];
-                        }
-                    }
-                    $element = array(
-                        "x" => $x,
-                        "y" => $y,
-                        "value" => $value,
-                    );
-                    array_push($summary, $element);
-                }
-                $hours = null;
+        for ($x = 0; $x <= 4; $x++) {
+          $value = 0;
+          if (isset($weeks)) {
+            if (isset($weeks[$x])) {
+              $value = $weeks[$x];
             }
+          }
+          $element = array("x" => $x, "y" => $y, "value" => $value);
+          array_push($summary, $element);
         }
-        return $summary;
-    }
+        $weeks = null;
 
-    public function get_inverted_time_summary($inverted_time, $expected_time, $average_time = true){
-        $response = new stdClass();
-        $response->expected_time = $expected_time;
-        $response->expected_time_converted = self::convert_time("hours", $expected_time, "string");
-        $response->inverted_time = self::minutes_to_hours($inverted_time->average, -1);
-        $response->inverted_time_converted = self::convert_time("hours", $response->inverted_time, "string");
+        $dates = self::get_weeks_of_month($startdate);
+        array_push($week_dates, $dates);
 
-        $inverted_time = new stdClass();
-        $inverted_time->name = get_string("fml_inverted_time","local_notemyprogress");
-        $inverted_time->y = $response->inverted_time;
+        $month_number++;
+        if ($month_number > 11) {
+          $month_number = 0;
+        }
 
-        $expected_time = new stdClass();
-        $expected_time->name = get_string("fml_expected_time","local_notemyprogress");
-        $expected_time->y = $response->expected_time;
+        $month_name = get_string("fml_" . $month_code . "_short", "local_notemyprogress");
+        $year = date("Y", $startdate);
+        $category_name = "$month_name $year";
+        array_push($categories, $category_name);
 
-        if (!$average_time) {
-            $inverted_time->name = get_string("fml_student_inverted_time","local_notemyprogress");
-            $expected_time->name = get_string("fml_student_expected_time","local_notemyprogress");
+        $startdate = strtotime('first day of +1 month', $startdate);
+      }
+    }
+    $response = new stdClass();
+    $response->data = $summary;
+    $response->categories = $categories;
+    $response->weeks = $week_dates;
+    return $response;
+  }
+
+  private function get_month_code($key)
+  {
+    $months = array("jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov", "dec");
+    return $months[$key];
+  }
+
+  private function get_weeks_of_month($date)
+  {
+    $weeks = array();
+    $month_code = strtolower(date("M", $date));
+    $date = strtotime("first monday of this month", $date);
+    while (strtolower(date("M", $date)) == $month_code) {
+
+      $day_code = strtolower(date("D", $date));
+      $start_day_name = get_string("fml_$day_code", "local_notemyprogress");
+      $start_day_number = strtolower(date("d", $date));
+
+      $end = strtotime("+ 7 days", $date) - 1;
+      $day_code = strtolower(date("D", $end));
+      $end_day_name = get_string("fml_$day_code", "local_notemyprogress");
+      $end_day_number = strtolower(date("d", $end));
+
+      $label = "$start_day_name $start_day_number - $end_day_name $end_day_number";
+      array_push($weeks, $label);
+      $month_code = strtolower(date("M", $date));
+      $date = strtotime("+ 7 days", $date);
+    }
+    return $weeks;
+  }
+
+  private function get_month_and_week_number($date)
+  {
+    $monday_of_week = strtotime('monday this week', $date);
+    $first_monday_month = strtotime("first monday of this month", $monday_of_week);
+    $first_sunday_month = strtotime("+ 7 days", $first_monday_month) - 1;
+    $week_number = 0;
+    while ($first_sunday_month < $date) {
+      $first_sunday_month = strtotime("+ 7 days", $first_sunday_month);
+      $week_number++;
+    }
+    $resp = new stdClass();
+    $resp->month = strtolower(date("M", $first_monday_month));
+    $resp->week = $week_number;
+    return $resp;
+  }
+
+  protected function get_sessions_by_hours($user_sessions)
+  {
+    $schedules = array();
+    foreach ($user_sessions as $sessions) {
+      foreach ($sessions as $session) {
+        $start = (int) $session->start;
+        $day = strtolower(date("D", $start));
+        $hour = date("G", $start);
+
+        if (!isset($schedules[$day])) {
+          $schedules[$day] = array();
         }
-        $data[] = $inverted_time;
-        $data[] = $expected_time;
-
-        $response->data = $data;
-        return $response;
-    }
-
-    protected function get_day_code($key) {
-        $days = array("mon", "tue", "wed", "thu", "fri", "sat", "sun");
-        return $days[$key];
-    }
-
-    protected function get_work_sessions($start, $end){
-        $conditions = self::conditions_for_work_sessions($start, $end);
-        $sessions_users = self::get_sessions_from_logs($conditions);
-        return $sessions_users;
-    }
-
-    protected function get_sessions_from_logs($conditions){
-        $users = array();
-        $user_logs = self::get_logs($conditions);
-        foreach($user_logs as $userid => $logs){
-            $sessions = self::get_sessions($logs);
-            $summary = self::calculate_average("duration", $sessions);
-            $active_days = self::get_active_days($logs);
-            $user = new stdClass();
-            $user->userid = $userid;
-            $user->count_logs = count($logs);
-            $user->active_days = $active_days;
-            $user->time_format = "minutes";
-            $user->summary = $summary;
-            $user->sessions = $sessions;
-            $user->logs = $logs;
-            $users[] = $user;
+        if (!isset($schedules[$day][$hour])) {
+          $schedules[$day][$hour] = 1;
+        } else {
+          $schedules[$day][$hour]++;
         }
-        return $users;
-    }
-
-    /**
-     * Obtiene una lista indexada por el id de usuario que contiene en cada posicion los logs
-     * del usuario.
-     *
-     * @param array $filters lista de condiciones para la busqueda de los logs, en caso de no especificarse,
-     *                       se toma como una lista vacía
-     *
-     * @return array lista de usuarios con sus logs
-     */
-    protected function get_logs($filters = array()){
-        global $DB;
-        $users = array();
-        $conditions = self::get_query_from_conditions($filters);
-        list($in, $invalues) = $DB->get_in_or_equal($this->users);
-        $sql = "SELECT * FROM {logstore_standard_log} 
-                WHERE courseid = {$this->course->id} {$conditions} AND userid $in ORDER BY timecreated ASC";
-        $logs = $DB->get_recordset_sql($sql, $invalues);
-        foreach($logs as $key => $log){
-            if(!isset($users[$log->userid])){
-                $users[$log->userid] = array();
-            }
-            $users[$log->userid][] = $log;
+      }
+    }
+    return $schedules;
+  }
+
+  protected function get_sessions_by_hours_summary($schedules)
+  {
+    $summary = array();
+    if (!empty($schedules)) {
+      for ($x = 0; $x <= 6; $x++) {
+        $day_code = self::get_day_code($x);
+        if (isset($schedules[$day_code])) {
+          $hours = $schedules[$day_code];
         }
-        $logs->close();
-        foreach($this->users as $userid){
-            if(!isset($users[$userid])){
-                $users[$userid] = array();
+        for ($y = 0; $y <= 23; $y++) {
+          $value = 0;
+          if (isset($hours)) {
+            if (isset($hours[$y])) {
+              $value = $hours[$y];
             }
+          }
+          $element = array(
+            "x" => $x,
+            "y" => $y,
+            "value" => $value,
+          );
+          array_push($summary, $element);
         }
-        return $users;
-    }
-
-    /**
-     * Obtiene una cadena de texto que representa una condicion 'where' de busqueda en lenguaje sql
-     * cuyos campos se concatenan en base al parámetro $filters con el prefijo $prefix
-     *
-     * @param array $filters lista de condiciones para la cadena de texto que representa la condicion
-     * @param string $prefix prefijo con el que se une cada condicion de la variable $filters. Si se
-     *                       omite, por defecto toma el valor de and
-     *
-     * @return string cadena de texto que representa una condicional 'where' el lenguaje sql
-     */
-    private function get_query_from_conditions($filters = array(), $prefix = "and"){
-        $conditions = "";
-        foreach($filters as $filter){
-            $operator = isset($filter->operator) ? $filter->operator : "=";
-            $conditions .= " {$prefix} {$filter->field} {$operator} '{$filter->value}' ";
-        }
-        return $conditions;
+        $hours = null;
+      }
     }
+    return $summary;
+  }
+
+  public function get_inverted_time_summary($inverted_time, $expected_time, $average_time = true)
+  {
+    $response = new stdClass();
+    $response->expected_time = $expected_time;
+    $response->expected_time_converted = self::convert_time("hours", $expected_time, "string");
+    $response->inverted_time = self::minutes_to_hours($inverted_time->average, -1);
+    $response->inverted_time_converted = self::convert_time("hours", $response->inverted_time, "string");
+
+    $inverted_time = new stdClass();
+    $inverted_time->name = get_string("fml_inverted_time", "local_notemyprogress");
+    $inverted_time->y = $response->inverted_time;
+
+    $expected_time = new stdClass();
+    $expected_time->name = get_string("fml_expected_time", "local_notemyprogress");
+    $expected_time->y = $response->expected_time;
+
+    if (!$average_time) {
+      $inverted_time->name = get_string("fml_student_inverted_time", "local_notemyprogress");
+      $expected_time->name = get_string("fml_student_expected_time", "local_notemyprogress");
+    }
+    $data[] = $inverted_time;
+    $data[] = $expected_time;
+
+    $response->data = $data;
+    return $response;
+  }
+
+  protected function get_day_code($key)
+  {
+    $days = array("mon", "tue", "wed", "thu", "fri", "sat", "sun");
+    return $days[$key];
+  }
+
+  protected function get_work_sessions($start, $end)
+  {
+    if (!self::course_in_transit()) {
+      return null;
+    }
+    if (!self::course_has_users()) {
+      return null;
+    }
+    $week = $this->current_week;
+    if (!empty($weekcode)) {
+      $week = self::find_week($weekcode);
+    }
+    $conditions = self::conditions_for_work_sessions($start, $end);
+    $sessions_users = self::get_sessions_from_logs($conditions);
+    return $sessions_users;
+  }
+
+  protected function get_sessions_from_logs($conditions)
+  {
+    $users = array();
+    $user_logs = self::get_logs($conditions);
+    foreach ($user_logs as $userid => $logs) {
+      $sessions = self::get_sessions($logs);
+      $summary = self::calculate_average("duration", $sessions);
+      $active_days = self::get_active_days($logs);
+      $user = new stdClass();
+      $user->userid = $userid;
+      $user->count_logs = count($logs);
+      $user->active_days = $active_days;
+      $user->time_format = "minutes";
+      $user->summary = $summary;
+      $user->sessions = $sessions;
+      $user->logs = $logs;
+      $users[] = $user;
+    }
+    return $users;
+  }
+
+  /**
+   * Obtiene una lista indexada por el id de usuario que contiene en cada posicion los logs
+   * del usuario.
+   *
+   * @param array $filters lista de condiciones para la busqueda de los logs, en caso de no especificarse,
+   *                       se toma como una lista vacía
+   *
+   * @return array lista de usuarios con sus logs
+   */
+  protected function get_logs($filters = array())
+  {
+    global $DB;
+    $users = array();
+    $conditions = self::get_query_from_conditions($filters);
+    list($in, $invalues) = $DB->get_in_or_equal($this->users);
+    $sql = "SELECT * FROM {logstore_standard_log} 
+                WHERE courseid = {$this->course->id} {$conditions} AND userid $in ORDER BY timecreated ASC";
+    $logs = $DB->get_recordset_sql($sql, $invalues);
+    foreach ($logs as $key => $log) {
+      if (!isset($users[$log->userid])) {
+        $users[$log->userid] = array();
+      }
+      $users[$log->userid][] = $log;
+    }
+    $logs->close();
+    foreach ($this->users as $userid) {
+      if (!isset($users[$userid])) {
+        $users[$userid] = array();
+      }
+    }
+    return $users;
+  }
+
+  /**
+   * Obtiene una cadena de texto que representa una condicion 'where' de busqueda en lenguaje sql
+   * cuyos campos se concatenan en base al parámetro $filters con el prefijo $prefix
+   *
+   * @param array $filters lista de condiciones para la cadena de texto que representa la condicion
+   * @param string $prefix prefijo con el que se une cada condicion de la variable $filters. Si se
+   *                       omite, por defecto toma el valor de and
+   *
+   * @return string cadena de texto que representa una condicional 'where' el lenguaje sql
+   */
+  private function get_query_from_conditions($filters = array(), $prefix = "and")
+  {
+    $conditions = "";
+    foreach ($filters as $filter) {
+      $operator = isset($filter->operator) ? $filter->operator : "=";
+      $conditions .= " {$prefix} {$filter->field} {$operator} '{$filter->value}' ";
+    }
+    return $conditions;
+  }
+
+  private function get_sessions($logs)
+  {
+    $sessions = array();
+    if (count($logs) == 0) {
+      return $sessions;
+    }
+    $session = new stdClass();
+    $session->duration = 0;
+    $session->start = $logs[0]->timecreated;
+    $session->end = null;;
+    $previous = $logs[0];
+    foreach ($logs as $key => $log) {
+      $time_difference = self::diff_in_minutes($log->timecreated, $previous->timecreated);
+      if ($time_difference >= self::MINUTES_TO_NEW_SESSION) {
+        $session->end = $previous->timecreated;
+        $session->duration = self::diff_in_minutes($session->end, $session->start);
+        $sessions[] = $session;
 
-    private function get_sessions($logs){
-        $sessions = array();
-        if(count($logs) == 0){
-            return $sessions;
-        }
         $session = new stdClass();
         $session->duration = 0;
-        $session->start = $logs[0]->timecreated;
-        $session->end = null;;
-        $previous = $logs[0];
-        foreach($logs as $key => $log){
-            $time_difference = self::diff_in_minutes($log->timecreated, $previous->timecreated);
-            if($time_difference >= self::MINUTES_TO_NEW_SESSION){
-                $session->end = $previous->timecreated;
-                $session->duration = self::diff_in_minutes($session->end, $session->start);
-                $sessions[] = $session;
-
-                $session = new stdClass();
-                $session->duration = 0;
-                $session->start = $log->timecreated;
-                $session->end = null;
-            }
-            $previous = $log;
+        $session->start = $log->timecreated;
+        $session->end = null;
+      }
+      $previous = $log;
+    }
+    if (!isset($session->end)) {
+      $session->end = $previous->timecreated;
+      $time_difference = self::diff_in_minutes($session->end, $session->start);
+      $session->duration = $time_difference;
+      $sessions[] = $session;
+    }
+    return $sessions;
+  }
+
+  private function diff_in_minutes($timestamp1, $timestamp2)
+  {
+    if (gettype($timestamp1) == "string") {
+      $timestamp1 = (int) $timestamp1;
+    }
+    if (gettype($timestamp2) == "string") {
+      $timestamp2 = (int) $timestamp2;
+    }
+    $interval = ($timestamp1 - $timestamp2) / 60;
+    return $interval;
+  }
+
+  protected function calculate_average($field, $values, $consider_zero_elements = true)
+  {
+    $counter = 0;
+    $total = 0;
+    foreach ($values as $value) {
+      if (gettype($value) == "object") {
+        if (isset($value->$field)) {
+          if (!$consider_zero_elements && $value->$field == 0) {
+            continue;
+          }
+          $counter++;
+          $total += $value->$field;
         }
-        if(!isset($session->end)){
-            $session->end = $previous->timecreated;
-            $time_difference = self::diff_in_minutes($session->end, $session->start);
-            $session->duration = $time_difference;
-            $sessions[] = $session;
+      } elseif (gettype($value) == "array") {
+        if (isset($value[$field])) {
+          if (!$consider_zero_elements && $value[$field] == 0) {
+            continue;
+          }
+          $counter++;
+          $total += $value[$field];
         }
-        return $sessions;
+      }
     }
 
-    private function diff_in_minutes($timestamp1, $timestamp2){
-        if(gettype($timestamp1) == "string"){
-            $timestamp1 = (int) $timestamp1;
-        }
-        if(gettype($timestamp2) == "string"){
-            $timestamp2 = (int) $timestamp2;
+    $average = $counter > 0 ? ($total / $counter) : 0;
+    $result = new stdClass();
+    $result->count = $counter;
+    $result->added = $total;
+    $result->average = $average;
+    return $result;
+  }
+
+  private function get_active_days($logs)
+  {
+    $days_count = 0;
+    if (count($logs) == 0) {
+      return $days_count;
+    }
+    $days = array();
+    foreach ($logs as $key => $log) {
+      $year = date("Y", $log->timecreated);
+      $month = date("m", $log->timecreated);
+      $day = date("d", $log->timecreated);
+      $label = $year . $month . $day;
+      if (!isset($days[$label])) {
+        $days[$label] = 1;
+      }
+    }
+    $days_count = count($days);
+    return $days_count;
+  }
+
+  protected function get_users_course_grade($users)
+  {
+    global $DB;
+    $item = $DB->get_record(
+      'grade_items',
+      array('courseid' => $this->course->id, 'itemtype' => 'course'),
+      'id, courseid, grademax'
+    );
+    if ($item) {
+      $sql = "SELECT id, userid, rawgrademax, finalgrade FROM {grade_grades} 
+                WHERE itemid = {$item->id} AND finalgrade IS NOT NULL";
+      $rows = $DB->get_records_sql($sql);
+      $grades = array();
+      foreach ($rows as $row) {
+        $grades[$row->userid] = $row;
+      }
+
+      foreach ($users as $user) {
+        $grade = new stdClass();
+        $grade->finalgrade = 0;
+        $grade->maxgrade = $item->grademax;
+        if (isset($grades[$user->id])) {
+          $grade->finalgrade = $grades[$user->id]->finalgrade;
         }
-        $interval = ($timestamp1 - $timestamp2) / 60;
-        return $interval;
-    }
-
-    protected function calculate_average($field , $values, $consider_zero_elements = true){
-        $counter = 0;
-        $total = 0;
-        foreach($values as $value){
-            if(gettype($value) == "object"){
-                if(isset($value->$field)){
-                    if(!$consider_zero_elements && $value->$field == 0){
-                        continue;
-                    }
-                    $counter++;
-                    $total += $value->$field;
-                }
-            }elseif(gettype($value) == "array"){
-                if(isset($value[$field])){
-                    if(!$consider_zero_elements && $value[$field] == 0){
-                        continue;
-                    }
-                    $counter++;
-                    $total += $value[$field];
-                }
-            }
+        $user->coursegrade = $grade;
+      }
+    } else {
+      foreach ($users as $user) {
+        $grade = new stdClass();
+        $grade->finalgrade = 0;
+        $grade->maxgrade = 0;
+        $user->coursegrade = $grade;
+      }
+    }
+    return $users;
+  }
+
+  protected function get_users_items_grades($users)
+  {
+    global $DB;
+    $items = $this->get_grade_items();
+    $items = $this->format_items($items);
+    $items = $this->set_average_max_min_grade($items, $users);
+
+    $itemsids = $this->extract_elements_field($items, 'id');
+    if (count($itemsids) > 0) {
+      list($in, $invalues) = $DB->get_in_or_equal($itemsids);
+      $sql = "SELECT id, itemid, userid, finalgrade FROM {grade_grades} 
+                WHERE itemid $in AND finalgrade IS NOT NULL ORDER BY itemid, userid";
+      $rows = $DB->get_recordset_sql($sql, $invalues);
+
+      $itemsgraded = array();
+      foreach ($rows as $row) {
+        $itemsgraded[$row->itemid][$row->userid] = $row;
+      }
+      $rows->close();
+
+      foreach ($users as $user) {
+        $useritems = array();
+        foreach ($items as $item) {
+          $useritem = new stdClass();
+          $useritem->average = $item->average;
+          $useritem->average_percentage = $item->average_percentage;
+          $useritem->categoryid = $item->categoryid;
+          $useritem->coursemoduleid = $item->coursemoduleid;
+          $useritem->finalgrade = 0;
+          $useritem->gradecount = $item->gradecount;
+          $useritem->grademax = $item->grademax;
+          $useritem->grademin = $item->grademin;
+          $useritem->id = $item->id;
+          $useritem->iteminstance = $item->iteminstance;
+          $useritem->itemmodule = $item->itemmodule;
+          $useritem->itemname = $item->itemname;
+          $useritem->maxrating = $item->maxrating;
+          $useritem->minrating = $item->minrating;
+          if (isset($itemsgraded[$item->id][$user->id])) {
+            $useritem->finalgrade = $itemsgraded[$item->id][$user->id]->finalgrade;
+          }
+          array_push($useritems, $useritem);
         }
+        $user->gradeitems = $useritems;
+      }
+    }
+    return $users;
+  }
+
+  protected function get_grade_categories()
+  {
+    global $DB;
+    $sql = "SELECT * FROM {grade_categories} WHERE courseid = {$this->course->id} ORDER BY path";
+    $result = $DB->get_records_sql($sql);
+    $result = array_values($result);
+    return $result;
+  }
+
+  protected function get_grade_items()
+  {
+    global $DB;
+    $items = $DB->get_records(
+      'grade_items',
+      array('courseid' => $this->course->id, 'itemtype' => 'mod')
+    );
+    if (!$items) {
+      $items = array();
+    }
 
-        $average = $counter > 0 ? ($total / $counter) : 0;
-        $result = new stdClass();
-        $result->count = $counter;
-        $result->added = $total;
-        $result->average = $average;
-        return $result;
+    //        $sql = "SELECT * FROM {grade_items} WHERE courseid = {$this->course->id} AND itemtype = 'mod' and gradetype = 1";
+    //        $result = $DB->get_records_sql($sql);
+    //        $result = array_values($result);
+    return $items;
+  }
+
+  protected function format_items($items)
+  {
+    $response = array();
+    foreach ($items as $item) {
+      $format_item = new stdClass();
+      $format_item->id = (int) $item->id;
+      $format_item->categoryid = (int) $item->categoryid;
+      $format_item->itemname = $item->itemname;
+      $format_item->itemmodule = $item->itemmodule;
+      $format_item->iteminstance = (int) $item->iteminstance;
+      $format_item->grademax = (int) $item->grademax;
+      $format_item->grademin = (int) $item->grademin;
+      $coursemoduleid = $this->get_course_module_id($item);
+      $format_item->coursemoduleid = $coursemoduleid;
+      array_push($response, $format_item);
+    }
+    return $response;
+  }
+
+  protected function get_course_module_id($item)
+  {
+    global $DB;
+    $coursemoduleid = false;
+    if (isset($item->itemmodule)) {
+      $result = $DB->get_record('modules', array('name' => $item->itemmodule), 'id', MUST_EXIST);
+      $moduleid =  $result->id;
+      $result = $DB->get_record(
+        'course_modules',
+        array('course' => $this->course->id, 'module' => $moduleid, 'instance' => $item->iteminstance),
+        'id',
+        MUST_EXIST
+      );
+      $coursemoduleid = (int) $result->id;
+    }
+    return $coursemoduleid;
+  }
+
+  protected function set_average_max_min_grade($items, $users)
+  {
+    foreach ($items as $item) {
+      $result = $this->get_average_max_min_grade($item->id);
+      $grades = $this->get_item_grades($item->id, $users);
+      $item->average_percentage = $this->convert_value_to_percentage($result->avg, $item->grademax);
+      $item->average = $result->avg;
+      $item->maxrating = $result->max;
+      $item->minrating = $result->min;
+      $item->gradecount = (int) $result->count;
+      $item->grades = $grades;
+    }
+    return $items;
+  }
+
+  private function get_item_grades($itemid, $users)
+  {
+    global $DB;
+    list($in, $invalues) = $DB->get_in_or_equal($this->users);
+    $sql = "SELECT id, rawgrade, rawgrademax, rawgrademin, userid FROM {grade_grades} 
+                WHERE itemid = {$itemid} AND rawgrade IS NOT NULL AND userid {$in}";
+    $grades = $DB->get_records_sql($sql, $invalues);
+    $grades = array_values($grades);
+    foreach ($grades as $grade) {
+      $grade->rawgrade = (int) $grade->rawgrade;
+      $grade->rawgrademax = (int) $grade->rawgrademax;
+      $grade->rawgrademin = (int) $grade->rawgrademin;
+      $grade->userid = (int) $grade->userid;
+      if (isset($users[$grade->userid])) {
+        $grade->user = $users[$grade->userid];
+      }
+    }
+    return $grades;
+  }
+
+  private function convert_value_to_percentage($value, $maxvalue)
+  {
+    $percentage = 0;
+    if ($maxvalue > 0) {
+      $percentage = ($value * 100) / $maxvalue;
+    }
+    return $percentage;
+  }
+
+  private function get_average_max_min_grade($itemid)
+  {
+    global $DB;
+    list($in, $invalues) = $DB->get_in_or_equal($this->users);
+    $sql = "SELECT COUNT(*) as count, MAX(rawgrade) as max, MIN(rawgrade) as min, AVG(rawgrade) as avg
+                FROM {grade_grades} WHERE itemid = {$itemid} AND rawgrade IS NOT NULL AND userid {$in}";
+    $result = $DB->get_records_sql($sql, $invalues);
+    $result = array_values($result);
+    return $result[0];
+  }
+
+  public function get_chart_langs()
+  {
+    $langs = array(
+      "loading" => get_string("chart_loading", "local_notemyprogress"),
+      "exportButtonTitle" => get_string("chart_exportButtonTitle", "local_notemyprogress"),
+      "printButtonTitle" => get_string("chart_printButtonTitle", "local_notemyprogress"),
+      "rangeSelectorFrom" => get_string("chart_rangeSelectorFrom", "local_notemyprogress"),
+      "rangeSelectorTo" => get_string("chart_rangeSelectorTo", "local_notemyprogress"),
+      "rangeSelectorZoom" => get_string("chart_rangeSelectorZoom", "local_notemyprogress"),
+      "downloadPNG" => get_string("chart_downloadPNG", "local_notemyprogress"),
+      "downloadJPEG" => get_string("chart_downloadJPEG", "local_notemyprogress"),
+      "downloadPDF" => get_string("chart_downloadPDF", "local_notemyprogress"),
+      "downloadSVG" => get_string("chart_downloadSVG", "local_notemyprogress"),
+      "downloadCSV" => get_string("chart_downloadCSV", "local_notemyprogress"),
+      "downloadXLS" => get_string("chart_downloadXLS", "local_notemyprogress"),
+      "exitFullscreen" => get_string("chart_exitFullscreen", "local_notemyprogress"),
+      "hideData" => get_string("chart_hideData", "local_notemyprogress"),
+      "noData" => get_string("chart_noData", "local_notemyprogress"),
+      "printChart" => get_string("chart_printChart", "local_notemyprogress"),
+      "viewData" => get_string("chart_viewData", "local_notemyprogress"),
+      "viewFullscreen" => get_string("chart_viewFullscreen", "local_notemyprogress"),
+      "resetZoom" => get_string("chart_resetZoom", "local_notemyprogress"),
+      "resetZoomTitle" => get_string("chart_resetZoomTitle", "local_notemyprogress"),
+      "months" => array(
+        get_string("fml_jan", "local_notemyprogress"),
+        get_string("fml_feb", "local_notemyprogress"),
+        get_string("fml_mar", "local_notemyprogress"),
+        get_string("fml_apr", "local_notemyprogress"),
+        get_string("fml_may", "local_notemyprogress"),
+        get_string("fml_jun", "local_notemyprogress"),
+        get_string("fml_jul", "local_notemyprogress"),
+        get_string("fml_aug", "local_notemyprogress"),
+        get_string("fml_sep", "local_notemyprogress"),
+        get_string("fml_oct", "local_notemyprogress"),
+        get_string("fml_nov", "local_notemyprogress"),
+        get_string("fml_dec", "local_notemyprogress"),
+      ),
+      "shortMonths" => array(
+        get_string("fml_jan_short", "local_notemyprogress"),
+        get_string("fml_feb_short", "local_notemyprogress"),
+        get_string("fml_mar_short", "local_notemyprogress"),
+        get_string("fml_apr_short", "local_notemyprogress"),
+        get_string("fml_may_short", "local_notemyprogress"),
+        get_string("fml_jun_short", "local_notemyprogress"),
+        get_string("fml_jul_short", "local_notemyprogress"),
+        get_string("fml_aug_short", "local_notemyprogress"),
+        get_string("fml_sep_short", "local_notemyprogress"),
+        get_string("fml_oct_short", "local_notemyprogress"),
+        get_string("fml_nov_short", "local_notemyprogress"),
+        get_string("fml_dec_short", "local_notemyprogress"),
+      ),
+      "weekdays" => array(
+        get_string("fml_sun", "local_notemyprogress"),
+        get_string("fml_mon", "local_notemyprogress"),
+        get_string("fml_tue", "local_notemyprogress"),
+        get_string("fml_wed", "local_notemyprogress"),
+        get_string("fml_thu", "local_notemyprogress"),
+        get_string("fml_fri", "local_notemyprogress"),
+        get_string("fml_sat", "local_notemyprogress"),
+      ),
+      "shortWeekdays" => array(
+        get_string("fml_sun_short", "local_notemyprogress"),
+        get_string("fml_mon_short", "local_notemyprogress"),
+        get_string("fml_tue_short", "local_notemyprogress"),
+        get_string("fml_wed_short", "local_notemyprogress"),
+        get_string("fml_thu_short", "local_notemyprogress"),
+        get_string("fml_fri_short", "local_notemyprogress"),
+        get_string("fml_sat_short", "local_notemyprogress"),
+      ),
+    );
+    return $langs;
+  }
+
+  //Planning
+
+
+  public function status_planning($weekcode = null)
+  {
+    if (!self::course_in_transit()) {
+      return null;
     }
+    if (!self::course_has_users()) {
+      return null;
+    }
+    $week = $this->current_week;
+    if (!empty($weekcode)) {
+      $week = self::find_week($weekcode);
+    }
+    $tz = self::get_timezone();
+    date_default_timezone_set($tz);
+    $planifications = self::days_report_metereflexion($weekcode);
+    $weekstart = $week->weekstart;
+    $current_time = time();
+    $status = array();
+    foreach ($planifications->dias_planificados as $key => $planification) {
+      $current_day = strtotime($weekstart . " + $key day");
+      if ($planification) {
+        if ($planifications->dias_trabajados[$key] > 0) {
+          array_push($status, 'completed');
+        } else {
+          if ($current_day < $current_time) {
+            array_push($status, 'failed');
+          } else {
+            array_push($status, 'pending');
+          }
+        }
+      } else {
+        array_push($status, 'unplanned');
+      }
+    }
+    return $status;
+  }
 
-    private function get_active_days($logs){
-        $days_count = 0;
-        if(count($logs) == 0){
-            return $days_count;
+  public function students_planification_summary($weekcode = null)
+  {
+    if (!self::course_in_transit()) {
+      return null;
+    }
+    if (!self::course_has_users()) {
+      return null;
+    }
+    $week = $this->current_week;
+    if (!empty($weekcode)) {
+      $week = self::find_week($weekcode);
+    }
+    $planifications = self::students_planification($week->weekcode);
+    $worked_sessions = self::get_work_sessions($week->weekstart, $week->weekend);
+    $summary = self::verify_students_planifications($worked_sessions, $planifications);
+    $summary = self::summary_process($summary);
+    return $summary;
+  }
+
+  private function summary_process($days)
+  {
+    foreach ($days as $day) {
+      $day->percentage = 0;
+      $day->count_students = count($day->students);
+      if ($day->count_planned > 0) {
+        $day->percentage = round(($day->count_accomplished * 100 / $day->count_planned), 1);
+      }
+    }
+    return $days;
+  }
+
+  private function verify_students_planifications($worked_sessions, $planifications)
+  {
+    $worked_sessions = self::update_array_key_by('userid', $worked_sessions);
+    $summary = self::create_planifications_week_summary();
+    foreach ($planifications as $planification) {
+      $days = explode(',', $planification->days);
+      foreach ($days as $day) {
+        if (!in_array($planification->userid, $summary[$day]->students)) {
+          $summary[$day]->count_planned++;
+          if (self::planned_accomplished($day, $planification->userid, $worked_sessions)) {
+            $summary[$day]->count_accomplished++;
+          }
+          array_push($summary[$day]->students, $planification->userid);
         }
-        $days = array();
-        foreach($logs as $key => $log){
-            $year = date("Y", $log->timecreated);
-            $month = date("m", $log->timecreated);
-            $day = date("d", $log->timecreated);
-            $label = $year.$month.$day;
-            if (!isset($days[$label])) {
-                $days[$label] = 1;
-            }
+      }
+    }
+    return $summary;
+  }
+
+  private function planned_accomplished($day, $userid, $course_sessions)
+  {
+    $tz = self::get_timezone();
+    date_default_timezone_set($tz);
+    $accomplished = false;
+    if (isset($course_sessions[$userid])) {
+      $user_sessions = $course_sessions[$userid];
+      foreach ($user_sessions->sessions as $session) {
+        if (self::day_to_english($day) == strtolower(date('D', $session->start))) {
+          $accomplished = true;
+          break;
         }
-        $days_count = count($days);
-        return $days_count;
+      }
+    }
+    return $accomplished;
+  }
+
+  private function create_planifications_week_summary()
+  {
+    $summary = new stdClass();
+    $summary->count_planned = 0;
+    $summary->count_accomplished = 0;
+    $summary->students = array();
+    $week = array(
+      'lun' => clone $summary,
+      'mar' => clone $summary,
+      'mie' => clone $summary,
+      'jue' => clone $summary,
+      'vie' => clone $summary,
+      'sab' => clone $summary,
+      'dom' => clone $summary,
+    );
+    return $week;
+  }
+
+  private function students_planification($weekcode)
+  {
+    global $DB;
+    $planifications = $DB->get_records('st_rpt_weekly_schedules', array('weekcode' => $weekcode));
+    return $planifications;
+  }
+
+  public function days_report_metereflexion($weekcode = null)
+  {
+    if (!self::course_in_transit()) {
+      return null;
+    }
+    if (!self::course_has_users()) {
+      return null;
+    }
+    $week = $this->current_week;
+    if (!empty($weekcode)) {
+      $week = self::find_week($weekcode);
     }
 
-    protected function get_users_course_grade($users) {
-        global $DB;
-        $item = $DB->get_record('grade_items',
-            array('courseid' => $this->course->id, 'itemtype' => 'course'), 'id, courseid, grademax');
-        if ($item) {
-            $sql = "SELECT id, userid, rawgrademax, finalgrade FROM {grade_grades} 
-                WHERE itemid = {$item->id} AND finalgrade IS NOT NULL";
-            $rows = $DB->get_records_sql($sql);
-            $grades = array();
-            foreach ($rows as $row) {
-                $grades[$row->userid] = $row;
-            }
+    $work_sessions = self::get_work_sessions($week->weekstart, $week->weekend);
+    $number_planned_days = self::planned_days($weekcode);
+
+    $number_planned_days_logs = self::number_schedules_day_log($work_sessions);
+
+    $data_report_meta = new stdClass();
+    $data_report_meta->dias_planificados = $number_planned_days;
+    $data_report_meta->dias_trabajados = $number_planned_days_logs;
+
+    return $data_report_meta;
+  }
 
-            foreach ($users as $user) {
-                $grade = new stdClass();
-                $grade->finalgrade = 0;
-                $grade->maxgrade = $item->grademax;
-                if (isset($grades[$user->id])) {
-                    $grade->finalgrade = $grades[$user->id]->finalgrade;
-                }
-                $user->coursegrade = $grade;
+  protected function planned_days($weekcode = null)
+  {
+    if (empty($this->users)) {
+      return null;
+    }
+
+    $week = $this->current_week;
+    if (!empty($weekcode)) {
+      $week = self::find_week($weekcode);
+    }
+
+    global $DB;
+
+    list($in, $invalues) = $DB->get_in_or_equal($this->users);
+    $params = array_merge(array($week->weekcode), $invalues);
+    $sql =  "select * from {st_rpt_weekly_schedules} where weekcode = ? and userid $in";
+    $week_schedules = $DB->get_records_sql($sql, $params);
+
+    $number_per_day = self::number_schedules_day($week_schedules);
+
+    return $number_per_day;
+  }
+
+  protected function number_schedules_day_log($work_sessions)
+  {
+    $count_days_log = new stdClass();
+    $count_days_log->lun = 0;
+    $count_days_log->mar = 0;
+    $count_days_log->mie = 0;
+    $count_days_log->jue = 0;
+    $count_days_log->vie = 0;
+    $count_days_log->sab = 0;
+    $count_days_log->dom = 0;
+    foreach ($work_sessions as $key => $work_session) {
+      $lun_status = false;
+      $mar_status = false;
+      $mie_status = false;
+      $jue_status = false;
+      $vie_status = false;
+      $sab_status = false;
+      $dom_status = false;
+      foreach ($work_session->sessions as $key => $session) {
+        $day = self::day_week($session->end);
+        switch ($day) {
+          case 'lun':
+            if (!$lun_status) {
+              $count_days_log->lun++;
+              $lun_status = true;
             }
-        } else {
-            foreach ($users as $user) {
-                $grade = new stdClass();
-                $grade->finalgrade = 0;
-                $grade->maxgrade = 0;
-                $user->coursegrade = $grade;
+            break;
+          case 'mar':
+            if (!$mar_status) {
+              $count_days_log->mar++;
+              $mar_status = true;
+            }
+            break;
+          case 'mie':
+            if (!$mie_status) {
+              $count_days_log->mie++;
+              $mie_status = true;
+            }
+            break;
+          case 'jue':
+            if (!$jue_status) {
+              $count_days_log->jue++;
+              $jue_status = true;
+            }
+            break;
+          case 'vie':
+            if (!$vie_status) {
+              $count_days_log->vie++;
+              $vie_status = true;
+            }
+            break;
+          case 'sab':
+            if (!$sab_status) {
+              $count_days_log->sab++;
+              $sab_status = true;
             }
+            break;
+          case 'dom':
+            if (!$dom_status) {
+              $count_days_log->dom++;
+              $dom_status = true;
+            }
+            break;
+        }
+      }
+    }
+    $data_days = array();
+    foreach (array_values((array)$count_days_log) as $key => $value) {
+      array_push($data_days, $value);
+    }
+    return $data_days;
+  }
+
+  protected function day_week($fecha)
+  {
+    switch (date('w', $fecha)) {
+      case 1:
+        return "lun";
+        break;
+      case 2:
+        return "mar";
+        break;
+      case 3:
+        return "mie";
+        break;
+      case 4:
+        return "jue";
+        break;
+      case 5:
+        return "vie";
+        break;
+      case 6:
+        return "sab";
+        break;
+      case 7:
+        return "dom";
+        break;
+    }
+  }
+
+  protected function number_schedules_day($week_schedules)
+  {
+    $count_planned_days = new stdClass();
+    $count_planned_days->lun = 0;
+    $count_planned_days->mar = 0;
+    $count_planned_days->mie = 0;
+    $count_planned_days->jue = 0;
+    $count_planned_days->vie = 0;
+    $count_planned_days->sab = 0;
+    $count_planned_days->dom = 0;
+
+    foreach ($week_schedules as $key => $week_schedule) {
+      $days = explode(',', $week_schedule->days);
+
+      foreach ($days as $key => $day) {
+        switch ($day) {
+          case 'lun':
+            $count_planned_days->lun++;
+            break;
+          case 'mar':
+            $count_planned_days->mar++;
+            break;
+          case 'mie':
+            $count_planned_days->mie++;
+            break;
+          case 'jue':
+            $count_planned_days->jue++;
+            break;
+          case 'vie':
+            $count_planned_days->vie++;
+            break;
+          case 'sab':
+            $count_planned_days->sab++;
+            break;
+          case 'dom':
+            $count_planned_days->dom++;
+            break;
         }
-        return $users;
+      }
     }
 
-    protected function get_users_items_grades($users) {
-        global $DB;
-        $items = $this->get_grade_items();
-        $items = $this->format_items($items);
-        $items = $this->set_average_max_min_grade($items, $users);
+    $data_days = array();
+    foreach (array_values((array)$count_planned_days) as $key => $value) {
+      array_push($data_days, $value);
+    }
 
-        $itemsids = $this->extract_elements_field($items, 'id');
-        if (count($itemsids) > 0) {
-            list($in, $invalues) = $DB->get_in_or_equal($itemsids);
-            $sql = "SELECT id, itemid, userid, finalgrade FROM {grade_grades} 
-                WHERE itemid $in AND finalgrade IS NOT NULL ORDER BY itemid, userid";
-            $rows = $DB->get_recordset_sql($sql, $invalues);
+    return $data_days;
+  }
 
-            $itemsgraded = array();
-            foreach($rows as $row){
-                $itemsgraded[$row->itemid][$row->userid] = $row;
-            }
-            $rows->close();
-
-            foreach ($users as $user) {
-                $useritems = array();
-                foreach ($items as $item) {
-                    $useritem = new stdClass();
-                    $useritem->average = $item->average;
-                    $useritem->average_percentage = $item->average_percentage;
-                    $useritem->categoryid = $item->categoryid;
-                    $useritem->coursemoduleid = $item->coursemoduleid;
-                    $useritem->finalgrade = 0;
-                    $useritem->gradecount = $item->gradecount;
-                    $useritem->grademax = $item->grademax;
-                    $useritem->grademin = $item->grademin;
-                    $useritem->id = $item->id;
-                    $useritem->iteminstance = $item->iteminstance;
-                    $useritem->itemmodule = $item->itemmodule;
-                    $useritem->itemname = $item->itemname;
-                    $useritem->maxrating = $item->maxrating;
-                    $useritem->minrating = $item->minrating;
-                    if (isset($itemsgraded[$item->id][$user->id])) {
-                        $useritem->finalgrade = $itemsgraded[$item->id][$user->id]->finalgrade;
-                    }
-                    array_push($useritems, $useritem);
-                }
-                $user->gradeitems = $useritems;
-            }
+  public function hours_report_metereflexion($weekcode = null)
+  {
+    if (!self::course_in_transit()) {
+      return null;
+    }
+    if (!self::course_has_users()) {
+      return null;
+    }
+    $week = $this->current_week;
+    if (!empty($weekcode)) {
+      $week = self::find_week($weekcode);
+    }
+
+    $work_sessions = self::get_work_sessions($week->weekstart, $week->weekend);
+    $user_with_planning = 0;
+    $sum_hours_work = 0;
+
+    if (self::render_has() == 'student') {
+      $label_horas = self::convert_time('minutes', round($work_sessions[0]->summary->added, 0));
+      $sum_hours_work = round($work_sessions[0]->summary->added, 2) / 60;
+    } else {
+      foreach ($work_sessions as $key => $work_session) {
+        if ($work_session->summary->added > 0) {
+          $user_with_planning++;
+          $sum_hours_work += $work_session->summary->added;
         }
-        return $users;
+      }
+      $label_horas = self::convert_time('minutes', $sum_hours_work / count($work_sessions));
+      $sum_hours_work = round($sum_hours_work / count($work_sessions), 2) / 60;
     }
 
-    protected function get_grade_categories () {
-        global $DB;
-        $sql = "SELECT * FROM {grade_categories} WHERE courseid = {$this->course->id} ORDER BY path";
-        $result = $DB->get_records_sql($sql);
-        $result = array_values($result);
-        return $result;
+    $sum_hours_per_week = self::planned_week($weekcode);
+
+    $data_report_meta_hours = new stdClass();
+    $data_report_meta_hours->title = 'Tiempo invertido';
+    $data_report_meta_hours->horas_trabajadas = $sum_hours_work;
+    $data_report_meta_hours->label_horas_trabajadas = $label_horas;
+    $data_report_meta_hours->horas_planificadas = $sum_hours_per_week;
+    $data_report_meta_hours->label_horas_planificadas = self::convert_time('hours', $sum_hours_per_week);
+    $data_report_meta_hours->total_users = count($work_sessions);
+    $data_report_meta_hours->interacted_users = $user_with_planning;
+    return $data_report_meta_hours;
+  }
+
+  protected function planned_week($weekcode = null)
+  {
+    $week = $this->current_week;
+    if (!empty($weekcode)) {
+      $week = self::find_week($weekcode);
+    }
+    global $DB;
+    if (empty($this->users)) {
+      return 0;
+    }
+    list($in, $invalues) = $DB->get_in_or_equal($this->users);
+    $sql =  "select * from {st_rpt_weekly_schedules} where weekcode = ? and userid $in";
+    $params = array_merge(array($week->weekcode), $invalues);
+    $week_schedules = $DB->get_records_sql($sql, $params);
+    $result = self::calculate_average("hours", $week_schedules);
+    $result = $result->average;
+    return $result;
+  }
+
+  public function classroom_report_metareflexion($weekcode = null)
+  {
+    if (!self::course_in_transit()) {
+      return null;
+    }
+    if (!self::course_has_users()) {
+      return null;
+    }
+    $week = $this->current_week;
+    if (!empty($weekcode)) {
+      $week = self::find_week($weekcode);
     }
 
-    protected function get_grade_items () {
-        global $DB;
-        $items = $DB->get_records('grade_items',
-            array('courseid' => $this->course->id, 'itemtype' => 'mod'));
-        if (!$items) {
-            $items = array();
-        }
+    $average_classroom = self::average_classroom($weekcode);
+    $average_of_classroom = self::average_of_classroom($weekcode);
 
-//        $sql = "SELECT * FROM {grade_items} WHERE courseid = {$this->course->id} AND itemtype = 'mod' and gradetype = 1";
-//        $result = $DB->get_records_sql($sql);
-//        $result = array_values($result);
-        return $items;
+    $data_last_week = new stdClass();
+    $data_last_week->average_classroom = $average_classroom;
+    $data_last_week->average_of_classroom = $average_of_classroom;
+
+    return $data_last_week;
+  }
+
+  protected function average_classroom($weekcode = null)
+  {
+    $week = $this->current_week;
+    if (!empty($weekcode)) {
+      $week = self::find_week($weekcode);
+    }
+    global $DB;
+    if (empty($this->users)) {
+      return 0;
     }
 
-    protected function format_items ($items) {
-        $response = array();
-        foreach ($items as $item) {
-            $format_item = new stdClass();
-            $format_item->id = (int) $item->id;
-            $format_item->categoryid = (int) $item->categoryid;
-            $format_item->itemname = $item->itemname;
-            $format_item->itemmodule = $item->itemmodule;
-            $format_item->iteminstance = (int) $item->iteminstance;
-            $format_item->grademax = (int) $item->grademax;
-            $format_item->grademin = (int) $item->grademin;
-            $coursemoduleid = $this->get_course_module_id($item);
-            $format_item->coursemoduleid = $coursemoduleid;
-            array_push($response, $format_item);
-        }
-        return $response;
-    }
-
-    protected function get_course_module_id($item) {
-        global $DB;
-        $coursemoduleid = false;
-        if (isset($item->itemmodule)) {
-            $result = $DB->get_record('modules', array('name' => $item->itemmodule), 'id', MUST_EXIST);
-            $moduleid =  $result->id;
-            $result = $DB->get_record('course_modules',
-                array('course' => $this->course->id, 'module' => $moduleid, 'instance' => $item->iteminstance),
-                'id', MUST_EXIST);
-            $coursemoduleid = (int) $result->id;
-        }
-        return $coursemoduleid;
+    list($in, $invalues) = $DB->get_in_or_equal($this->users);
+    $sql = "select * from {st_rpt_work_last_weeks} where weekcode = ? and userid $in";
+    $params = array_merge(array($week->weekcode), $invalues);
+    $presence_clases = $DB->get_records_sql($sql, $params);
+
+    $sum_classroom_hours = 0;
+    foreach ($presence_clases as $key => $presence_clase) {
+      $sum_classroom_hours += $presence_clase->classroom_hours;
     }
 
-    protected function set_average_max_min_grade ($items, $users) {
-        foreach ($items as $item) {
-            $result = $this->get_average_max_min_grade($item->id);
-            $grades = $this->get_item_grades($item->id, $users);
-            $item->average_percentage = $this->convert_value_to_percentage($result->avg, $item->grademax);
-            $item->average = $result->avg;
-            $item->maxrating = $result->max;
-            $item->minrating = $result->min;
-            $item->gradecount = (int) $result->count;
-            $item->grades = $grades;
-        }
-        return $items;
+    $average_horas_presence_clases = 0;
+
+    if (!empty($presence_clases)) {
+      $average_horas_presence_clases = round($sum_classroom_hours / count($presence_clases), 1);
     }
 
-    private function get_item_grades($itemid, $users) {
-        global $DB;
-        list($in, $invalues) = $DB->get_in_or_equal($this->users);
-        $sql = "SELECT id, rawgrade, rawgrademax, rawgrademin, userid FROM {grade_grades} 
-                WHERE itemid = {$itemid} AND rawgrade IS NOT NULL AND userid {$in}";
-        $grades = $DB->get_records_sql($sql, $invalues);
-        $grades = array_values($grades);
-        foreach ($grades as $grade) {
-            $grade->rawgrade = (int) $grade->rawgrade;
-            $grade->rawgrademax = (int) $grade->rawgrademax;
-            $grade->rawgrademin = (int) $grade->rawgrademin;
-            $grade->userid = (int) $grade->userid;
-            if (isset($users[$grade->userid])) {
-                $grade->user = $users[$grade->userid];
-            }
-        }
-        return $grades;
+    return $average_horas_presence_clases;
+  }
+
+  protected function average_of_classroom($weekcode = null)
+  {
+    $week = $this->current_week;
+    if (!empty($weekcode)) {
+      $week = self::find_week($weekcode);
+    }
+    global $DB;
+    if (empty($this->users)) {
+      return 0;
     }
 
-    private function convert_value_to_percentage($value, $maxvalue) {
-        $percentage = 0;
-        if ($maxvalue > 0) {
-            $percentage = ($value * 100)/$maxvalue;
-        }
-        return $percentage;
+    list($in, $invalues) = $DB->get_in_or_equal($this->users);
+    $sql = "select * from {st_rpt_work_last_weeks} where weekcode = ? and userid $in";
+    $params = array_merge(array($week->weekcode), $invalues);
+    $presence_clases = $DB->get_records_sql($sql, $params);
+
+    $sum_hours_off_course = 0;
+    foreach ($presence_clases as $key => $presence_clase) {
+      $sum_hours_off_course += $presence_clase->hours_off_course;
     }
 
-    private function get_average_max_min_grade($itemid) {
-        global $DB;
-        list($in, $invalues) = $DB->get_in_or_equal($this->users);
-        $sql = "SELECT COUNT(*) as count, MAX(rawgrade) as max, MIN(rawgrade) as min, AVG(rawgrade) as avg
-                FROM {grade_grades} WHERE itemid = {$itemid} AND rawgrade IS NOT NULL AND userid {$in}";
-        $result = $DB->get_records_sql($sql, $invalues);
-        $result = array_values($result);
-        return $result[0];
-    }
-
-    public function get_chart_langs() {
-        $langs = array(
-            "loading" => get_string("chart_loading", "local_notemyprogress"),
-            "exportButtonTitle" => get_string("chart_exportButtonTitle", "local_notemyprogress"),
-            "printButtonTitle" => get_string("chart_printButtonTitle", "local_notemyprogress"),
-            "rangeSelectorFrom" => get_string("chart_rangeSelectorFrom", "local_notemyprogress"),
-            "rangeSelectorTo" => get_string("chart_rangeSelectorTo", "local_notemyprogress"),
-            "rangeSelectorZoom" => get_string("chart_rangeSelectorZoom", "local_notemyprogress"),
-            "downloadPNG" => get_string("chart_downloadPNG", "local_notemyprogress"),
-            "downloadJPEG" => get_string("chart_downloadJPEG", "local_notemyprogress"),
-            "downloadPDF" => get_string("chart_downloadPDF", "local_notemyprogress"),
-            "downloadSVG" => get_string("chart_downloadSVG", "local_notemyprogress"),
-            "downloadCSV" => get_string("chart_downloadCSV", "local_notemyprogress"),
-            "downloadXLS" => get_string("chart_downloadXLS", "local_notemyprogress"),
-            "exitFullscreen" => get_string("chart_exitFullscreen", "local_notemyprogress"),
-            "hideData" => get_string("chart_hideData", "local_notemyprogress"),
-            "noData" => get_string("chart_noData", "local_notemyprogress"),
-            "printChart" => get_string("chart_printChart", "local_notemyprogress"),
-            "viewData" => get_string("chart_viewData", "local_notemyprogress"),
-            "viewFullscreen" => get_string("chart_viewFullscreen", "local_notemyprogress"),
-            "resetZoom" => get_string("chart_resetZoom", "local_notemyprogress"),
-            "resetZoomTitle" => get_string("chart_resetZoomTitle", "local_notemyprogress"),
-            "months" => array(
-                get_string("fml_jan", "local_notemyprogress"),
-                get_string("fml_feb", "local_notemyprogress"),
-                get_string("fml_mar", "local_notemyprogress"),
-                get_string("fml_apr", "local_notemyprogress"),
-                get_string("fml_may", "local_notemyprogress"),
-                get_string("fml_jun", "local_notemyprogress"),
-                get_string("fml_jul", "local_notemyprogress"),
-                get_string("fml_aug", "local_notemyprogress"),
-                get_string("fml_sep", "local_notemyprogress"),
-                get_string("fml_oct", "local_notemyprogress"),
-                get_string("fml_nov", "local_notemyprogress"),
-                get_string("fml_dec", "local_notemyprogress"),
-            ),
-            "shortMonths" => array(
-                get_string("fml_jan_short", "local_notemyprogress"),
-                get_string("fml_feb_short", "local_notemyprogress"),
-                get_string("fml_mar_short", "local_notemyprogress"),
-                get_string("fml_apr_short", "local_notemyprogress"),
-                get_string("fml_may_short", "local_notemyprogress"),
-                get_string("fml_jun_short", "local_notemyprogress"),
-                get_string("fml_jul_short", "local_notemyprogress"),
-                get_string("fml_aug_short", "local_notemyprogress"),
-                get_string("fml_sep_short", "local_notemyprogress"),
-                get_string("fml_oct_short", "local_notemyprogress"),
-                get_string("fml_nov_short", "local_notemyprogress"),
-                get_string("fml_dec_short", "local_notemyprogress"),
-            ),
-            "weekdays" => array(
-                get_string("fml_sun", "local_notemyprogress"),
-                get_string("fml_mon", "local_notemyprogress"),
-                get_string("fml_tue", "local_notemyprogress"),
-                get_string("fml_wed", "local_notemyprogress"),
-                get_string("fml_thu", "local_notemyprogress"),
-                get_string("fml_fri", "local_notemyprogress"),
-                get_string("fml_sat", "local_notemyprogress"),
-            ),
-            "shortWeekdays" => array(
-                get_string("fml_sun_short", "local_notemyprogress"),
-                get_string("fml_mon_short", "local_notemyprogress"),
-                get_string("fml_tue_short", "local_notemyprogress"),
-                get_string("fml_wed_short", "local_notemyprogress"),
-                get_string("fml_thu_short", "local_notemyprogress"),
-                get_string("fml_fri_short", "local_notemyprogress"),
-                get_string("fml_sat_short", "local_notemyprogress"),
-            ),
-        );
-        return $langs;
-    }
-}
\ No newline at end of file
+    $average_horas_presence_clases = 0;
+
+    if (!empty($presence_clases)) {
+      $average_horas_presence_clases = round($sum_hours_off_course / count($presence_clases), 1);
+    }
+
+    return $average_horas_presence_clases;
+  }
+
+  public function report_last_week($weekcode = null)
+  {
+    if (!self::course_in_transit()) {
+      return null;
+    }
+    if (!self::course_has_users()) {
+      return null;
+    }
+    $week = $this->current_week;
+    if (!empty($weekcode)) {
+      $week = self::find_week($weekcode);
+    }
+    $work = self::get_work_last_week($week);
+
+    return $work;
+  }
+
+  private function get_work_last_week($week)
+  {
+    global $DB;
+    $sql = "select * from {st_rpt_questions}";
+    $questions = $DB->get_records_sql($sql);
+    $questions = self::add_question_alternatives($questions, $week);
+    return $questions;
+  }
+
+  private function add_question_alternatives($questions, $week)
+  {
+    global $DB;
+    if (empty($this->users)) {
+      return null;
+    }
+    list($in, $invalues) = $DB->get_in_or_equal($this->users);
+    $questions = array_values($questions);
+    foreach ($questions as $question) {
+      $question->enunciated = get_string($question->enunciated, "local_notemyprogress");
+      $params = array();
+      array_push($params, $week->weekcode);
+      $params = array_merge($params, $invalues);
+      array_push($params, $question->id);
+      $sql = "select a.*, (select count(*) from {st_rpt_work_last_weeks} where weekcode = ? and userid $in and (previous_class_learning = a.id or benefit_going_class = a.id)) as count_selections 
+              from {st_rpt_answers} a where a.questionid = ?";
+      $answers = $DB->get_records_sql($sql, $params);
+      foreach ($answers as $key => $answer) {
+        $answer->enunciated = get_string($answer->enunciated, "local_notemyprogress");
+      }
+      $question->alternatives = array_values($answers);
+    }
+    return $questions;
+  }
+}
diff --git a/notemyprogress/classes/resourcetype.php b/notemyprogress/classes/resourcetype.php
new file mode 100644
index 0000000000000000000000000000000000000000..82807520a292a7f0310c510d01b8a9911e074f25
--- /dev/null
+++ b/notemyprogress/classes/resourcetype.php
@@ -0,0 +1,73 @@
+<?php 
+
+class local_student_reports_resourcetype{
+
+  const DEFAULT_TYPE = "other";
+
+  public static function get_default_type(){
+    return self::DEFAULT_TYPE;
+  }
+
+  public static function get_type($mimetype){
+    $groups = array("resource_document" => self::get_document_mimetypes(), 
+                    "resource_image" => self::get_image_mimetypes(), 
+                    "resource_audio" => self::get_audio_mimetypes(), 
+                    "resource_video" => self::get_video_mimetypes(), 
+                    "resource_file" => self::get_file_mimetypes(), 
+                    "resource_script" => self::get_script_mimetypes(), 
+                    "resource_text" => self::get_text_mimetypes(), 
+                    "resource_download" => self::get_download_mimetypes());
+    $type = self::DEFAULT_TYPE;
+    foreach($groups as $group_name => $group){
+      if(in_array($mimetype, $group)){
+        $type = $group_name;
+        break;
+      }
+    }
+    return $type;
+  }
+
+  public static function get_document_mimetypes(){
+    $documents = ["application/pdf","application/x-abiword","application/octet-stream","application/msword",
+                  "application/vnd.oasis.opendocument.presentation", "application/vnd.oasis.opendocument.spreadsheet",
+                  "application/vnd.oasis.opendocument.text","application/vnd.ms-powerpoint","application/vnd.visio",
+                  "application/vnd.ms-excel"];
+    return $documents;
+  }
+
+  public static function get_image_mimetypes(){
+    $images = ["image/jpeg","image/png","image/gif","image/x-icon","image/svg+xml","image/webp","audio/3gpp",
+               "audio/3gpp2"];
+    return $images;
+  }
+
+  public static function get_audio_mimetypes(){
+    $audio = ["audio/aac","audio/midi","audio/ogg","audio/x-wav","audio/webm"];
+    return $audio;
+  }
+  public static function get_video_mimetypes(){
+    $video = ["video/mp4","video/x-msvideo","video/mpeg","video/ogg","video/webm","video/3gpp","video/3gpp2"];
+    return $video;
+  }
+
+  public static function get_file_mimetypes(){
+    $files = ["application/x-rar-compressed", "application/zip","application/x-bzip","application/x-bzip2",
+              "application/x-7z-compressed"];
+    return $files;
+  }
+
+  public static function get_script_mimetypes(){
+    $scripts = ["application/octet-stream","application/x-csh","text/css","application/java-archive",
+                "application/javascript","application/json","application/x-sh","application/xml"];
+    return $scripts;
+  }
+
+  public static function get_text_mimetypes(){
+    $text = ["text/csv","text/plain","text/html","text/calendar","application/rtf","application/xhtml+xml"];
+    return $text;
+  }
+  public static function get_download_mimetypes(){
+    $downloads = ["file_download"];
+    return $downloads;
+  }
+}
\ No newline at end of file
diff --git a/notemyprogress/classes/srlog.php b/notemyprogress/classes/srlog.php
new file mode 100644
index 0000000000000000000000000000000000000000..d38e57387127b44336eccb92b1ee359c03ab8092
--- /dev/null
+++ b/notemyprogress/classes/srlog.php
@@ -0,0 +1,117 @@
+<?php
+require_once dirname(__FILE__) . '/../../../course/lib.php';
+class local_student_reports_srlog
+{
+
+  public static function create($component, $action, $userid, $courseid)
+  {
+    global $DB;
+    $user = self::get_user($userid);
+    $course = self::get_course($courseid);
+    $log = new stdClass();
+    $log->userid = $user->id;
+    $log->username = $user->username;
+    $log->name = $user->firstname;
+    $log->lastname = $user->lastname;
+    $log->email = $user->email;
+    $log->current_roles = self::get_user_roles($courseid, $userid);
+    $log->courseid = $course->id;
+    $log->coursename = $course->fullname;
+    $log->courseshortname = $course->shortname;
+    $log->component = $component;
+    $log->action = $action;
+    $log->timecreated = time();
+    $id = $DB->insert_record("notemyprogress_logs", $log, true);
+    $log->id = $id;
+    return $log;
+  }
+
+  public static function get_user_roles($courseid, $userid)
+  {
+    $user_roles = array();
+    $admins = array_values(get_admins());
+    foreach ($admins as $admin) {
+      if ($admin->id == $userid) {
+        $user_roles[] = 'admin';
+      }
+    }
+    $context = context_course::instance($courseid);
+    $roles = get_user_roles($context, $userid);
+    foreach ($roles as $role) {
+      $user_roles[] = $role->shortname;
+    }
+    $user_roles = implode(', ', $user_roles);
+    return $user_roles;
+  }
+
+  public static function get_user($userid)
+  {
+    global $DB;
+    $sql = "select * from {user} where id = ?";
+    $user = $DB->get_record_sql($sql, array($userid));
+    return $user;
+  }
+
+  public static function get_course($courseid)
+  {
+    global $DB;
+    $sql = "select * from {course} where id = ?";
+    $user = $DB->get_record_sql($sql, array($courseid));
+    return $user;
+  }
+
+  public static function create_file($courseid)
+  {
+    self::remove_old_logs_from_disk($courseid);
+    set_time_limit(0);
+    global $DB;
+
+    $headers = array(
+      get_string('logs_header_logid', 'local_notemyprogress'),
+      get_string('logs_header_userid', 'local_notemyprogress'),
+      get_string('logs_header_username', 'local_notemyprogress'),
+      get_string('logs_header_names', 'local_notemyprogress'),
+      get_string('logs_header_lastnames', 'local_notemyprogress'),
+      get_string('logs_header_email', 'local_notemyprogress'),
+      get_string('logs_header_roles', 'local_notemyprogress'),
+      get_string('logs_header_courseid', 'local_notemyprogress'),
+      get_string('logs_header_component', 'local_notemyprogress'),
+      get_string('logs_header_action', 'local_notemyprogress'),
+      get_string('logs_header_timecreated', 'local_notemyprogress')
+    );
+
+    $logs = $DB->get_recordset("notemyprogress_logs", array("courseid" => $courseid));
+    $path = dirname(__FILE__) . "/../downloads/";
+    $filename = "Registros" . "_curso__" . $courseid . "__.csv";
+
+    $file = fopen($path . $filename, 'w');
+    fprintf($file, chr(0xEF) . chr(0xBB) . chr(0xBF));
+    fputcsv($file, $headers, ";");
+    foreach ($logs as $log) {
+      $date = DateTime::createFromFormat('U', $log->timecreated);
+      $date->setTimeZone(new DateTimeZone('UTC'));
+      $log->timecreated = $date->format('Y-m-d H:i:s e');
+      fputcsv($file, (array) $log, ";");
+    }
+    fclose($file);
+    $logs->close();
+
+    return $filename;
+  }
+
+  public static function remove_old_logs_from_disk($courseid)
+  {
+    $path = dirname(__FILE__) . "/../downloads";
+    $files = glob($path . '/*');
+    foreach ($files as $file) {
+      if (is_file($file)) {
+        $route_parts = explode("__", $file);
+        foreach ($route_parts as $route_part) {
+          if ($route_part == $courseid) {
+            unlink($file);
+          }
+        }
+      }
+    }
+  }
+}
diff --git a/notemyprogress/classes/student_planning.php b/notemyprogress/classes/student_planning.php
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/notemyprogress/classes/teacher.php b/notemyprogress/classes/teacher.php
index 0de1044fdd394f4c8286985bfdf39addd62af7d2..99ed2080ae1eaf5324cbe97f86cf0433d01e921e 100644
--- a/notemyprogress/classes/teacher.php
+++ b/notemyprogress/classes/teacher.php
@@ -27,9 +27,11 @@ namespace local_notemyprogress;
 
 use stdClass;
 
-class teacher extends report {
+class teacher extends report
+{
 
-    function __construct($courseid, $userid){
+    function __construct($courseid, $userid)
+    {
         parent::__construct($courseid, $userid);
         self::set_profile();
         self::set_users();
@@ -38,43 +40,50 @@ class teacher extends report {
     /**
      * Almacena el perfil de visualización de la clase en la variable $profile de clase
      */
-    public function set_profile(){
+    public function set_profile()
+    {
         $this->profile = "teacher";
     }
 
     /**
      * Almacena los ids de los estudiantes en la variable $users de la clase
      */
-    public function set_users(){
+    public function set_users()
+    {
         $this->users = self::get_student_ids();
         return $this->users;
     }
 
-    public function get_general_indicators(){
-        if(!self::course_is_valid()){
+    public function get_general_indicators()
+    {
+        if (!self::course_is_valid()) {
             return null;
         }
         $start = null;
-        if(isset($this->course->startdate) && ((int)$this->course->startdate) > 0) {
+        if (isset($this->course->startdate) && ((int)$this->course->startdate) > 0) {
             $start = $this->course->startdate;
         }
         $end = null;
-        if(isset($this->course->enddate) && ((int)$this->course->enddate) > 0) {
+        if (isset($this->course->enddate) && ((int)$this->course->enddate) > 0) {
             $end = $this->course->enddate;
         }
         $enable_completion = false;
-        if(isset($this->course->enablecompletion) && ((int)$this->course->enablecompletion) == 1) {
+        if (isset($this->course->enablecompletion) && ((int)$this->course->enablecompletion) == 1) {
             $enable_completion = true;
         }
 
         $work_sessions = self::get_work_sessions($start, $end);
 
-        $sessions = array_map(function($user_sessions){ return $user_sessions->sessions;}, $work_sessions);
+        $sessions = array_map(function ($user_sessions) {
+            return $user_sessions->sessions;
+        }, $work_sessions);
         $sessions = self::get_sessions_by_weeks($sessions);
         $sessions = self::get_sessions_by_weeks_summary($sessions, (int) $this->course->startdate);
 
         $cms = self::get_course_modules();
-        $cms = array_filter($cms, function($cm){ return $cm['modname'] != 'label';});
+        $cms = array_filter($cms, function ($cm) {
+            return $cm['modname'] != 'label';
+        });
         $table = self::get_progress_table($work_sessions, $cms, $enable_completion);
 
         $weeks_cms = $this->count_week_cms($cms);
@@ -91,7 +100,8 @@ class teacher extends report {
         return $response;
     }
 
-    private function count_week_cms ($cms) {
+    private function count_week_cms($cms)
+    {
         $sections_cms = array();
         foreach ($cms as $cm) {
             $sectionid = $cm['section'];
@@ -118,7 +128,8 @@ class teacher extends report {
         return $weeks;
     }
 
-    private function get_course_details() {
+    private function get_course_details()
+    {
         $course = new stdClass();
         $course->fullname = $this->course->fullname;
         $course->shortname = $this->course->shortname;
@@ -149,7 +160,8 @@ class teacher extends report {
         return $course;
     }
 
-    private function format_date($date) {
+    private function format_date($date)
+    {
         $date = (int) $date;
         $year = date("Y", $date);
         $month = strtolower(date("M", $date));
@@ -163,10 +175,14 @@ class teacher extends report {
         return $date;
     }
 
-    protected function get_course_grade() {
+    protected function get_course_grade()
+    {
         global $DB;
-        $item = $DB->get_record('grade_items',
-            array('courseid' => $this->course->id, 'itemtype' => 'course'), 'id, grademax');
+        $item = $DB->get_record(
+            'grade_items',
+            array('courseid' => $this->course->id, 'itemtype' => 'course'),
+            'id, grademax'
+        );
         $grade = 0;
         if ($item) {
             $grade = $item->grademax;
@@ -183,17 +199,20 @@ class teacher extends report {
      *
      * @return object objeto con los datos para la visualizacion
      */
-    public function get_sessions($weekcode = null){
-        if(!self::course_is_valid()){
+    public function get_sessions($weekcode = null)
+    {
+        if (!self::course_is_valid()) {
             return null;
         }
         $week = $this->current_week;
-        if(!empty($weekcode)){
+        if (!empty($weekcode)) {
             $week = self::find_week($weekcode);
         }
 
         $work_sessions = self::get_work_sessions($week->weekstart, $week->weekend);
-        $sessions = array_map(function($user_sessions){ return $user_sessions->sessions;}, $work_sessions);
+        $sessions = array_map(function ($user_sessions) {
+            return $user_sessions->sessions;
+        }, $work_sessions);
 
         $sessions_count = self::count_sessions_by_duration($sessions);
         $sessions_count = self::count_sessions_by_duration_summary($sessions_count, $week->weekstart, $week->weekend);
@@ -201,7 +220,9 @@ class teacher extends report {
         $sessions = self::get_sessions_by_hours($sessions);
         $sessions = self::get_sessions_by_hours_summary($sessions);
 
-        $inverted_time = array_map(function($user_sessions){ return $user_sessions->summary;}, $work_sessions);
+        $inverted_time = array_map(function ($user_sessions) {
+            return $user_sessions->summary;
+        }, $work_sessions);
         $inverted_time = self::calculate_average("added", $inverted_time);
         $inverted_time = self::get_inverted_time_summary($inverted_time, (int) $week->hours_dedications);
 
@@ -213,90 +234,94 @@ class teacher extends report {
         return $response;
     }
 
-//    public function weeks_sessions(){
-//        if(!self::course_in_transit()){
-//            return null;
-//        }
-//        if(!self::course_has_users()){
-//            return null;
-//        }
-//        $start = null;
-//        if(isset($this->course->startdate) && ((int)$this->course->startdate) > 0) {
-//            $start = $this->course->startdate;
-//        }
-//        $end = null;
-//        if(isset($this->course->enddate) && ((int)$this->course->enddate) > 0) {
-//            $end = $this->course->enddate;
-//        }
-//        $work_sessions = self::get_work_sessions($start, $end);
-//        $work_sessions = array_map(function($user_sessions){ return $user_sessions->sessions;}, $work_sessions);
-//        $months = self::get_sessions_by_weeks($work_sessions);
-//        $response = self::get_sessions_by_weeks_summary($months, (int) $this->course->startdate);
-//        return $response;
-//    }
-//
-//    public function progress_table(){
-//        if(!self::course_in_transit()){
-//            return null;
-//        }
-//        if(!self::course_has_users()){
-//            return null;
-//        }
-//        $start = null;
-//        if(isset($this->course->startdate) && ((int)$this->course->startdate) > 0) {
-//            $start = $this->course->startdate;
-//        }
-//        $end = null;
-//        if(isset($this->course->enddate) && ((int)$this->course->enddate) > 0) {
-//            $end = $this->course->enddate;
-//        }
-//
-//        $enable_completion = false;
-//        if(isset($this->course->enablecompletion) && ((int)$this->course->enablecompletion) == 1) {
-//            $enable_completion = true;
-//        }
-//
-//        $users_sessions = self::get_work_sessions($start, $end);
-//        $cms = self::get_course_modules();
-//        $table = self::get_progress_table($users_sessions, $cms, $enable_completion);
-//        return $table;
-//    }
-
-    public function count_sessions($weekcode = null){
-        if(!self::course_in_transit()){
+    //    public function weeks_sessions(){
+    //        if(!self::course_in_transit()){
+    //            return null;
+    //        }
+    //        if(!self::course_has_users()){
+    //            return null;
+    //        }
+    //        $start = null;
+    //        if(isset($this->course->startdate) && ((int)$this->course->startdate) > 0) {
+    //            $start = $this->course->startdate;
+    //        }
+    //        $end = null;
+    //        if(isset($this->course->enddate) && ((int)$this->course->enddate) > 0) {
+    //            $end = $this->course->enddate;
+    //        }
+    //        $work_sessions = self::get_work_sessions($start, $end);
+    //        $work_sessions = array_map(function($user_sessions){ return $user_sessions->sessions;}, $work_sessions);
+    //        $months = self::get_sessions_by_weeks($work_sessions);
+    //        $response = self::get_sessions_by_weeks_summary($months, (int) $this->course->startdate);
+    //        return $response;
+    //    }
+    //
+    //    public function progress_table(){
+    //        if(!self::course_in_transit()){
+    //            return null;
+    //        }
+    //        if(!self::course_has_users()){
+    //            return null;
+    //        }
+    //        $start = null;
+    //        if(isset($this->course->startdate) && ((int)$this->course->startdate) > 0) {
+    //            $start = $this->course->startdate;
+    //        }
+    //        $end = null;
+    //        if(isset($this->course->enddate) && ((int)$this->course->enddate) > 0) {
+    //            $end = $this->course->enddate;
+    //        }
+    //
+    //        $enable_completion = false;
+    //        if(isset($this->course->enablecompletion) && ((int)$this->course->enablecompletion) == 1) {
+    //            $enable_completion = true;
+    //        }
+    //
+    //        $users_sessions = self::get_work_sessions($start, $end);
+    //        $cms = self::get_course_modules();
+    //        $table = self::get_progress_table($users_sessions, $cms, $enable_completion);
+    //        return $table;
+    //    }
+
+    public function count_sessions($weekcode = null)
+    {
+        if (!self::course_in_transit()) {
             return null;
         }
-        if(!self::course_has_users()){
+        if (!self::course_has_users()) {
             return null;
         }
         $week = $this->current_week;
-        if(!empty($weekcode)){
+        if (!empty($weekcode)) {
             $week = self::find_week($weekcode);
         }
 
         $work_sessions = self::get_work_sessions($week->weekstart, $week->weekend);
-        $work_sessions = array_map(function($user_sessions){ return $user_sessions->sessions;}, $work_sessions);
+        $work_sessions = array_map(function ($user_sessions) {
+            return $user_sessions->sessions;
+        }, $work_sessions);
         $sessions_count = self::count_sessions_by_duration($work_sessions);
         $response = self::count_sessions_by_duration_summary($sessions_count, $week->weekstart, $week->weekend);
         return $response;
     }
 
-    private function count_sessions_by_duration($user_sessions) {
+    private function count_sessions_by_duration($user_sessions)
+    {
         $summary = array();
-        foreach($user_sessions as $sessions){
-            foreach($sessions as $session){
+        foreach ($user_sessions as $sessions) {
+            foreach ($sessions as $session) {
                 $month = strtolower(date("M", (int) $session->start));
                 $day = strtolower(date("j", (int) $session->start));
                 $day = "$month $day";
 
                 $session_label = "greater60";
                 if ($session->duration < 30) {
-                    $session_label='smaller30';
+                    $session_label = 'smaller30';
                 } elseif ($session->duration < 60) {
-                    $session_label='greater60';
+                    $session_label = 'greater60';
                 }
 
-                if(!isset($summary[$day])){
+                if (!isset($summary[$day])) {
                     $summary[$day] = array();
                 }
                 if (!isset($summary[$day][$session_label])) {
@@ -309,7 +334,8 @@ class teacher extends report {
         return $summary;
     }
 
-    private function count_sessions_by_duration_summary($sessions_count, $start) {
+    private function count_sessions_by_duration_summary($sessions_count, $start)
+    {
         $categories = array();
 
         $data = new stdClass();
@@ -322,7 +348,7 @@ class teacher extends report {
         $names->greater30 = get_string("fml_greater30", "local_notemyprogress");
         $names->greater60 = get_string("fml_greater60", "local_notemyprogress");
 
-        for ($i = 0; $i < 7; $i++ ) {
+        for ($i = 0; $i < 7; $i++) {
             $month = strtolower(date("M", $start));
             $day = strtolower(date("j", $start));
             $label = "$month $day";
@@ -330,19 +356,19 @@ class teacher extends report {
             if (isset($sessions_count[$label])) {
                 $count = $sessions_count[$label];
                 $value = 0;
-                if(isset($count['smaller30'])){
+                if (isset($count['smaller30'])) {
                     $value = $count['smaller30'];
                 }
                 $data->smaller30[] = $value;
 
                 $value = 0;
-                if(isset($count['greater30'])){
+                if (isset($count['greater30'])) {
                     $value = $count['greater30'];
                 }
                 $data->greater30[] = $value;
 
                 $value = 0;
-                if(isset($count['greater60'])){
+                if (isset($count['greater60'])) {
                     $value = $count['greater60'];
                 }
                 $data->greater60[] = $value;
@@ -377,46 +403,53 @@ class teacher extends report {
         return $summary;
     }
 
-    private function get_month_name($month_code) {
-        $text = "fml_".$month_code."_short";
+    private function get_month_name($month_code)
+    {
+        $text = "fml_" . $month_code . "_short";
         $month_name = get_string($text, "local_notemyprogress");
         return $month_name;
     }
 
-    public function inverted_time($weekcode = null){
-        if(!self::course_in_transit()){
+    public function inverted_time($weekcode = null)
+    {
+        if (!self::course_in_transit()) {
             return null;
         }
-        if(!self::course_has_users()){
+        if (!self::course_has_users()) {
             return null;
         }
         $week = $this->current_week;
-        if(!empty($weekcode)){
+        if (!empty($weekcode)) {
             $week = self::find_week($weekcode);
         }
 
         $work_sessions = self::get_work_sessions($week->weekstart, $week->weekend);
-        $inverted_time = array_map(function($user_sessions){ return $user_sessions->summary;}, $work_sessions);
+        $inverted_time = array_map(function ($user_sessions) {
+            return $user_sessions->summary;
+        }, $work_sessions);
         $inverted_time = self::calculate_average("added", $inverted_time);
 
         $response = self::get_inverted_time_summary($inverted_time, (int) $week->hours_dedications);
         return $response;
     }
 
-    public function assignments_submissions($weekcode = null){
-        if(!self::course_in_transit()){
+    public function assignments_submissions($weekcode = null)
+    {
+        if (!self::course_in_transit()) {
             return null;
         }
-        if(!self::course_has_users()){
+        if (!self::course_has_users()) {
             return null;
         }
         $week = $this->current_week;
-        if(!empty($weekcode)){
+        if (!empty($weekcode)) {
             $week = self::find_week($weekcode);
         }
 
         $week_modules = self::get_course_modules_from_sections($week->sections);
-        $assign_modules = array_filter($week_modules, function($module){ return $module->modname == 'assign';});
+        $assign_modules = array_filter($week_modules, function ($module) {
+            return $module->modname == 'assign';
+        });
         $assign_ids = self::extract_elements_field($assign_modules, "instance");
         $valid_assigns = self::get_valid_assigns($assign_ids);
         $assign_ids = self::extract_ids($valid_assigns);
@@ -425,7 +458,8 @@ class teacher extends report {
         return $response;
     }
 
-    private function get_valid_assigns($assign_ids){
+    private function get_valid_assigns($assign_ids)
+    {
         global $DB;
         $assigns = array();
         if (count($assign_ids) > 0) {
@@ -437,7 +471,8 @@ class teacher extends report {
         return $assigns;
     }
 
-    private function get_assigns_submissions($assign_ids, $user_ids){
+    private function get_assigns_submissions($assign_ids, $user_ids)
+    {
         global $DB;
         $submissions = array();
         if (!empty($assign_ids)) {
@@ -463,13 +498,14 @@ class teacher extends report {
         return $submissions;
     }
 
-    private function get_submissions($assigns, $assign_submissions, $users){
+    private function get_submissions($assigns, $assign_submissions, $users)
+    {
         global $DB;
 
         $categories = array();
         $modules = array();
         $submissions_users = array();
-        $assignmoduleid=1;
+        $assignmoduleid = 1;
 
         $data = new stdClass();
         $data->intime_sub = array();
@@ -505,8 +541,11 @@ class teacher extends report {
             $category_name = "<b>$assign->name</b><br>$date_label";
             array_push($categories, $category_name);
 
-            $module = $DB->get_field('course_modules', 'id',
-                array('course' => $assign->course, 'module' => $assignmoduleid, 'instance' => $assign->id));
+            $module = $DB->get_field(
+                'course_modules',
+                'id',
+                array('course' => $assign->course, 'module' => $assignmoduleid, 'instance' => $assign->id)
+            );
             array_push($modules, $module);
         }
 
@@ -536,7 +575,8 @@ class teacher extends report {
         return $response;
     }
 
-    private function count_submissions($submissions, $users_ids) {
+    private function count_submissions($submissions, $users_ids)
+    {
         $submitted_users = array();
         $data = array();
         $data['intime_sub'] = array();
@@ -544,7 +584,7 @@ class teacher extends report {
         $data['no_sub'] = array();
 
         foreach ($submissions as $submission) {
-            if ( ($submission->duedate == "0") || ( ((int) $submission->timecreated) <= ((int) $submission->duedate) ) ) {
+            if (($submission->duedate == "0") || (((int) $submission->timecreated) <= ((int) $submission->duedate))) {
                 array_push($data['intime_sub'], $submission->userid);
             } else {
                 array_push($data['late_sub'], $submission->userid);
@@ -555,33 +595,37 @@ class teacher extends report {
         return $data;
     }
 
-    private function get_submissions_with_users($submissions) {
+    private function get_submissions_with_users($submissions)
+    {
         $data = array();
         foreach ($submissions as $index => $users) {
             $values = array();
             if (count($users) > 0) {
                 $values = self::get_users_from_ids($users);
             }
-            $data[$index]=$values;
+            $data[$index] = $values;
         }
         $data = array_values($data);
         return $data;
     }
 
-    public function resources_access($weekcode = null){
-        if(!self::course_in_transit()){
+    public function resources_access($weekcode = null)
+    {
+        if (!self::course_in_transit()) {
             return null;
         }
-        if(!self::course_has_users()){
+        if (!self::course_has_users()) {
             return null;
         }
         $week = $this->current_week;
-        if(!empty($weekcode)){
+        if (!empty($weekcode)) {
             $week = self::find_week($weekcode);
         }
 
         $week_modules = self::get_course_modules_from_sections($week->sections);
-        $week_modules = array_filter($week_modules, function($module){ return $module->modname != 'label';});
+        $week_modules = array_filter($week_modules, function ($module) {
+            return $module->modname != 'label';
+        });
         $week_modules = self::set_resources_access_users($week_modules, $this->users, $this->course->id);
         $response = self::get_access_modules_summary($week_modules);
         $users = self::get_users_from_ids($this->users);
@@ -589,7 +633,8 @@ class teacher extends report {
         return $response;
     }
 
-    private function set_resources_access_users($modules, $user_ids, $course_id){
+    private function set_resources_access_users($modules, $user_ids, $course_id)
+    {
         foreach ($modules as $module) {
             $access_users = self::get_access_modules($course_id, $module->id, $user_ids);
             $module->users = $access_users;
@@ -597,7 +642,8 @@ class teacher extends report {
         return $modules;
     }
 
-    private function get_access_modules($course_id, $module_id, $user_ids){
+    private function get_access_modules($course_id, $module_id, $user_ids)
+    {
         global $DB;
         $contextlevel = 70;
         list($in_users, $invalues_users) = $DB->get_in_or_equal($user_ids);
@@ -615,7 +661,8 @@ class teacher extends report {
         return $ids;
     }
 
-    private function get_access_modules_summary($modules){
+    private function get_access_modules_summary($modules)
+    {
         $summary = array();
         $types = array();
         foreach ($modules as $module) {
@@ -629,8 +676,8 @@ class teacher extends report {
             if (!isset($types[$module->modname])) {
                 $type_name = $module->modname;
                 $identifier = "fml_{$module->modname}";
-                if (get_string_manager()->string_exists($identifier,"local_notemyprogress")) {
-                    $type_name = get_string($identifier,"local_notemyprogress");
+                if (get_string_manager()->string_exists($identifier, "local_notemyprogress")) {
+                    $type_name = get_string($identifier, "local_notemyprogress");
                 }
                 $element = new stdClass();
                 $element->type = $module->modname;
@@ -646,7 +693,8 @@ class teacher extends report {
         return $response;
     }
 
-    public function grade_items() {
+    public function grade_items()
+    {
         $categories = $this->get_grade_categories();
         $items = $this->get_grade_items();
         $items = $this->format_items($items);
@@ -660,7 +708,8 @@ class teacher extends report {
         return $response;
     }
 
-    private function get_grade_categories_with_items ($categories, $items) {
+    private function get_grade_categories_with_items($categories, $items)
+    {
         $categories_items = array();
         foreach ($categories as $category) {
             $category_items = $this->get_grade_items_from_category($categories, $items, $category->id);
@@ -677,7 +726,8 @@ class teacher extends report {
         return $categories_items;
     }
 
-    private function get_grade_items_from_category($categories, $items, $categoryid) {
+    private function get_grade_items_from_category($categories, $items, $categoryid)
+    {
         $selected_items = $this->filter_items_by_category($items, $categoryid);
         $child_categories = $this->get_child_categories($categories, $categoryid);
         foreach ($child_categories as $categoryid) {
@@ -687,7 +737,8 @@ class teacher extends report {
         return $selected_items;
     }
 
-    private function filter_items_by_category ($items, $categoryid) {
+    private function filter_items_by_category($items, $categoryid)
+    {
         $selected_items = [];
         foreach ($items as $item) {
             if ($item->categoryid == $categoryid) {
@@ -697,7 +748,8 @@ class teacher extends report {
         return $selected_items;
     }
 
-    private function get_child_categories($categories, $categoryid) {
+    private function get_child_categories($categories, $categoryid)
+    {
         $child_categories = array();
         foreach ($categories as $category) {
             if ($category->parent == $categoryid) {
@@ -707,25 +759,29 @@ class teacher extends report {
         return $child_categories;
     }
 
-    public function quiz_attempts($weekcode = null){
-        if(!self::course_in_transit()){
+    public function quiz_attempts($weekcode = null)
+    {
+        if (!self::course_in_transit()) {
             return null;
         }
-        if(!self::course_has_users()){
+        if (!self::course_has_users()) {
             return null;
         }
         $week = $this->current_week;
-        if(!empty($weekcode)){
+        if (!empty($weekcode)) {
             $week = self::find_week($weekcode);
         }
 
         $week_modules = self::get_course_modules_from_sections($week->sections);
-        $quiz_modules = array_filter($week_modules, function($module){ return $module->modname == 'quiz';});
+        $quiz_modules = array_filter($week_modules, function ($module) {
+            return $module->modname == 'quiz';
+        });
         $response = $this->get_quiz_attempts_summary($quiz_modules);
         return $response;
     }
 
-    private function get_quiz_attempts_summary($quiz_modules) {
+    private function get_quiz_attempts_summary($quiz_modules)
+    {
         $quizzes = array();
         foreach ($quiz_modules as $module) {
             $quiz = new stdClass();
@@ -744,7 +800,8 @@ class teacher extends report {
         return $quizzes;
     }
 
-    private function get_quiz_attempts($quizid) {
+    private function get_quiz_attempts($quizid)
+    {
         global $DB;
         list($in, $invalues) = $DB->get_in_or_equal($this->users);
         $sql = "SELECT id, quiz, userid, attempt, uniqueid, currentpage, state, sumgrades FROM {quiz_attempts} 
@@ -783,7 +840,8 @@ class teacher extends report {
         return $attempt;
     }
 
-    private function get_questions_attempts($quizid) {
+    private function get_questions_attempts($quizid)
+    {
         global $DB;
         list($in, $invalues) = $DB->get_in_or_equal($this->users);
         $sql = "SELECT qattstep.id as id, quizatt.id as quizattid, quizatt.quiz, quizatt.userid, quizatt.attempt, 
@@ -836,11 +894,12 @@ class teacher extends report {
         return $questions;
     }
 
-    public function get_dropout_clusters() {
-        if(!self::course_in_transit()){
+    public function get_dropout_clusters()
+    {
+        if (!self::course_in_transit()) {
             return null;
         }
-        if(!self::course_has_users()){
+        if (!self::course_has_users()) {
             return null;
         }
 
@@ -850,20 +909,22 @@ class teacher extends report {
         if (count($clusters)) {
             $response->clusters = $clusters;
             $start = null;
-            if(isset($this->course->startdate) && ((int)$this->course->startdate) > 0) {
+            if (isset($this->course->startdate) && ((int)$this->course->startdate) > 0) {
                 $start = $this->course->startdate;
             }
             $end = null;
-            if(isset($this->course->enddate) && ((int)$this->course->enddate) > 0) {
+            if (isset($this->course->enddate) && ((int)$this->course->enddate) > 0) {
                 $end = $this->course->enddate;
             }
             $enable_completion = false;
-            if(isset($this->course->enablecompletion) && ((int)$this->course->enablecompletion) == 1) {
+            if (isset($this->course->enablecompletion) && ((int)$this->course->enablecompletion) == 1) {
                 $enable_completion = true;
             }
 
             $cms = self::get_course_modules();
-            $cms = array_filter($cms, function($cm){ return $cm['modname'] != 'label';});
+            $cms = array_filter($cms, function ($cm) {
+                return $cm['modname'] != 'label';
+            });
             $cms = array_values($cms);
 
             $users = self::get_work_sessions($start, $end);
@@ -883,7 +944,8 @@ class teacher extends report {
         return $response;
     }
 
-    public function get_clusters() {
+    public function get_clusters()
+    {
         global $DB;
         $sql = "SELECT * FROM {notemyprogress_clustering} WHERE courseid = {$this->course->id} AND active = 1";
         $rows = $DB->get_records_sql($sql);
@@ -894,7 +956,7 @@ class teacher extends report {
         foreach ($rows as $row) {
             if (!isset($clusters[$row->cluster])) {
                 $cluster = new stdClass();
-                $cluster->name = $cluster_text." ".($row->cluster+1);
+                $cluster->name = $cluster_text . " " . ($row->cluster + 1);
                 $cluster->number = $row->cluster;
                 $cluster->users = array();
                 array_push($cluster->users, $row->userid);
@@ -906,7 +968,8 @@ class teacher extends report {
         return $clusters;
     }
 
-    private function get_users_details($users, $cms, $users_access) {
+    private function get_users_details($users, $cms, $users_access)
+    {
         date_default_timezone_set(self::get_timezone());
         $total_cms = count($cms);
         if ($total_cms > 0) {
@@ -917,7 +980,8 @@ class teacher extends report {
         return $users;
     }
 
-    private function get_user_last_access($userid, $users_access) {
+    private function get_user_last_access($userid, $users_access)
+    {
         $access = new stdClass();
         $access->label = get_string("fml_dropout_user_never_access", "local_notemyprogress");
         $access->timestamp = 0;
@@ -940,7 +1004,8 @@ class teacher extends report {
         return $access;
     }
 
-    private function time_elapsed_string($timestamp) {
+    private function time_elapsed_string($timestamp)
+    {
         $now = (int) date("U");
         $diff = $now - $timestamp;
         $ago = get_string("fml_ago", "local_notemyprogress");
@@ -986,5 +1051,4 @@ class teacher extends report {
         $text = get_string("fml_now", "local_notemyprogress");
         return "$text";
     }
-
 }
diff --git a/notemyprogress/db/access.php b/notemyprogress/db/access.php
index 2786396a81a1228398b5725e282a702132c2c3a8..f3fdcaec36b9c5d8d00a77364b919efdc8d84434 100644
--- a/notemyprogress/db/access.php
+++ b/notemyprogress/db/access.php
@@ -72,6 +72,16 @@ $capabilities = array(
         )
     ),
 
+    'local/notemyprogress:teacher_planning' => array(
+        'captype'      => 'read',
+        'contextlevel' => CONTEXT_COURSE,
+        'archetypes'   => array(
+            'teacher'        => CAP_ALLOW,
+            'editingteacher' => CAP_ALLOW,
+            'manager'        => CAP_ALLOW,
+        )
+    ),
+
     'local/notemyprogress:assignments' => array(
         'captype'      => 'read',
         'contextlevel' => CONTEXT_COURSE,
@@ -147,4 +157,12 @@ $capabilities = array(
             'student'        => CAP_ALLOW,
         )
     ),
+
+    'local/notemyprogress:student_planning' => array(
+        'captype'      => 'read',
+        'contextlevel' => CONTEXT_COURSE,
+        'archetypes'   => array(
+            'student'        => CAP_ALLOW,
+        )
+    ),
 );
diff --git a/notemyprogress/db/install.php b/notemyprogress/db/install.php
index fd09075bed015d8f414c66dd8b2bd5f009283f0a..e0957aaa4705b597f8856ef402bbfdaa518af7f2 100644
--- a/notemyprogress/db/install.php
+++ b/notemyprogress/db/install.php
@@ -28,7 +28,71 @@ defined('MOODLE_INTERNAL') || die();
 /**
  * Custom code to be run on installing the plugin.
  */
-function xmldb_local_notemyprogress_install() {
+function xmldb_local_notemyprogress_install()
+{
+    global $DB;
+    //Create goals
+    $goal1 = new stdClass();
+    $goal2 = new stdClass();
+    $goal3 = new stdClass();
+    $goal1->description = "goal1";
+    $goal2->description = "goal2";
+    $goal3->description = "goal3";
+    $DB->insert_record("notemyprogress_goals_ct", $goal1,true);
+    $DB->insert_record("notemyprogress_goals_ct", $goal2,true);
+    $DB->insert_record("notemyprogress_goals_ct", $goal3,true);
 
-    return true;
+
+    $question = new stdClass();
+    $question->enunciated = 'question_number_one';
+    $questionid = $DB->insert_record("st_rpt_questions", $question, true);
+
+    $answer = new stdClass();
+    $answer->questionid = $questionid;
+    $answer->enunciated = 'answers_number_one_option_one';
+    $DB->insert_record("st_rpt_answers", $answer, true);
+
+    $answer = new stdClass();
+    $answer->questionid = $questionid;
+    $answer->enunciated = 'answers_number_one_option_two';
+    $DB->insert_record("st_rpt_answers", $answer, true);
+
+    $answer = new stdClass();
+    $answer->questionid = $questionid;
+    $answer->enunciated = 'answers_number_one_option_three';
+    $DB->insert_record("st_rpt_answers", $answer, true);
+
+    $question = new stdClass();
+    $question->enunciated = 'question_number_two';
+    $questionid = $DB->insert_record("st_rpt_questions", $question, true);
+
+    $answer = new stdClass();
+    $answer->questionid = $questionid;
+    $answer->enunciated = 'answers_number_two_option_one';
+    $DB->insert_record("st_rpt_answers", $answer, true);
+
+    $answer = new stdClass();
+    $answer->questionid = $questionid;
+    $answer->enunciated = 'answers_number_two_option_two';
+    $DB->insert_record("st_rpt_answers", $answer, true);
+
+    $answer = new stdClass();
+    $answer->questionid = $questionid;
+    $answer->enunciated = 'answers_number_two_option_three';
+    $DB->insert_record("st_rpt_answers", $answer, true);
+
+    $answer = new stdClass();
+    $answer->questionid = $questionid;
+    $answer->enunciated = 'answers_number_two_option_four';
+    $DB->insert_record("st_rpt_answers", $answer, true);
+
+    $answer = new stdClass();
+    $answer->questionid = $questionid;
+    $answer->enunciated = 'answers_number_two_option_five';
+    $DB->insert_record("st_rpt_answers", $answer, true);
+
+    $answer = new stdClass();
+    $answer->questionid = $questionid;
+    $answer->enunciated = 'answers_number_two_option_six';
+    $DB->insert_record("st_rpt_answers", $answer, true);
 }
diff --git a/notemyprogress/db/install.xml b/notemyprogress/db/install.xml
index 7eda5329e435b2d03fed4ae93b4fab84a3bf4716..53b47c01da6f3c4633c4442180e2895a4be2e1d5 100644
--- a/notemyprogress/db/install.xml
+++ b/notemyprogress/db/install.xml
@@ -1,92 +1,209 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <XMLDB PATH="local/notemyprogress/db" VERSION="2020111000" COMMENT="XMLDB file for Moodle local/notemyprogress"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:noNamespaceSchemaLocation="../../../lib/xmldb/xmldb.xsd"
->
-    <TABLES>
-        <TABLE NAME="notemyprogress_instances" COMMENT="table notemyprogress_instances">
-            <FIELDS>
-                <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="true"/>
-                <FIELD NAME="courseid" TYPE="int" LENGTH="20" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
-                <FIELD NAME="year" TYPE="int" LENGTH="20" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
-            </FIELDS>
-            <KEYS>
-                <KEY NAME="primary" TYPE="primary" FIELDS="id"/>
-            </KEYS>
-        </TABLE>
-        <TABLE NAME="notemyprogress_weeks" COMMENT="table notemyprogress_weeks">
-            <FIELDS>
-                <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="true"/>
-                <FIELD NAME="instanceid" TYPE="int" LENGTH="20" NOTNULL="true" SEQUENCE="false"/>
-                <FIELD NAME="courseid" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
-                <FIELD NAME="weekstart" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
-                <FIELD NAME="weekend" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
-                <FIELD NAME="position" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
-                <FIELD NAME="modified_by" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
-                <FIELD NAME="created_by" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
-                <FIELD NAME="timedeleted" TYPE="int" LENGTH="10" NOTNULL="false" SEQUENCE="false"/>
-                <FIELD NAME="timecreated" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
-                <FIELD NAME="timemodified" TYPE="int" LENGTH="10" NOTNULL="false" SEQUENCE="false"/>
-                <FIELD NAME="weekcode" TYPE="int" LENGTH="20" NOTNULL="true" SEQUENCE="false"/>
-                <FIELD NAME="hours_dedications" TYPE="int" LENGTH="5" NOTNULL="true" DEFAULT="0" SEQUENCE="false" COMMENT="hours_dedications"/>
-            </FIELDS>
-            <KEYS>
-                <KEY NAME="primary" TYPE="primary" FIELDS="id"/>
-            </KEYS>
-            <INDEXES>
-                <INDEX NAME="weekcode" UNIQUE="false" FIELDS="weekcode" HINTS="weekcode" COMMENT="weekcode index"/>
-                <INDEX NAME="instanceid" UNIQUE="false" FIELDS="instanceid" HINTS="instanceid" COMMENT="instanceid index"/>
-            </INDEXES>
-        </TABLE>
-        <TABLE NAME="notemyprogress_sections" COMMENT="table notemyprogress_sections">
-            <FIELDS>
-                <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="true"/>
-                <FIELD NAME="weekcode" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
-                <FIELD NAME="sectionid" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
-                <FIELD NAME="section_name" TYPE="char" LENGTH="1333" NOTNULL="true" SEQUENCE="false"/>
-                <FIELD NAME="position" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
-                <FIELD NAME="timedeleted" TYPE="int" LENGTH="10" NOTNULL="false" SEQUENCE="false"/>
-                <FIELD NAME="timecreated" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
-                <FIELD NAME="timemodified" TYPE="int" LENGTH="10" NOTNULL="false" SEQUENCE="false"/>
-            </FIELDS>
-            <KEYS>
-                <KEY NAME="primary" TYPE="primary" FIELDS="id"/>
-            </KEYS>
-        </TABLE>
-        <TABLE NAME="notemyprogress_logs" COMMENT="table notemyprogress_logs">
-            <FIELDS>
-                <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="true"/>
-                <FIELD NAME="userid" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
-                <FIELD NAME="username" TYPE="text" NOTNULL="false" SEQUENCE="false"/>
-                <FIELD NAME="name" TYPE="char" LENGTH="1333" NOTNULL="false" SEQUENCE="false"/>
-                <FIELD NAME="lastname" TYPE="char" LENGTH="1333" NOTNULL="false" SEQUENCE="false"/>
-                <FIELD NAME="email" TYPE="char" LENGTH="1333" NOTNULL="false" SEQUENCE="false"/>
-                <FIELD NAME="current_roles" TYPE="char" LENGTH="1333" NOTNULL="true" SEQUENCE="false"/>
-                <FIELD NAME="courseid" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
-                <FIELD NAME="component" TYPE="char" LENGTH="1333" NOTNULL="true" SEQUENCE="false"/>
-                <FIELD NAME="action" TYPE="char" LENGTH="1333" NOTNULL="true" SEQUENCE="false"/>
-                <FIELD NAME="timecreated" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
-            </FIELDS>
-            <KEYS>
-                <KEY NAME="primary" TYPE="primary" FIELDS="id"/>
-            </KEYS>
-        </TABLE>
-        <TABLE NAME="notemyprogress_clustering" COMMENT="table notemyprogress_clustering">
-            <FIELDS>
-                <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="true"/>
-                <FIELD NAME="courseid" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
-                <FIELD NAME="userid" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
-                <FIELD NAME="cluster" TYPE="int" LENGTH="2" NOTNULL="true" SEQUENCE="false"/>
-                <FIELD NAME="active" TYPE="int" LENGTH="2" NOTNULL="true" SEQUENCE="false"/>
-                <FIELD NAME="timecreated" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
-            </FIELDS>
-            <KEYS>
-                <KEY NAME="primary" TYPE="primary" FIELDS="id"/>
-            </KEYS>
-            <INDEXES>
-                <INDEX NAME="courseid" UNIQUE="false" FIELDS="courseid" HINTS="courseid" COMMENT="courseid index"/>
-                <INDEX NAME="userid" UNIQUE="false" FIELDS="userid" HINTS="userid" COMMENT="userid index"/>
-            </INDEXES>
-        </TABLE>
-    </TABLES>
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../lib/xmldb/xmldb.xsd">
+  <TABLES>
+    <TABLE NAME="notemyprogress_instances" COMMENT="table notemyprogress_instances">
+      <FIELDS>
+        <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="true"/>
+        <FIELD NAME="courseid" TYPE="int" LENGTH="20" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
+        <FIELD NAME="year" TYPE="int" LENGTH="20" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
+      </FIELDS>
+      <KEYS>
+        <KEY NAME="primary" TYPE="primary" FIELDS="id"/>
+      </KEYS>
+    </TABLE>
+    <TABLE NAME="notemyprogress_weeks" COMMENT="table notemyprogress_weeks">
+      <FIELDS>
+        <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="true"/>
+        <FIELD NAME="instanceid" TYPE="int" LENGTH="20" NOTNULL="true" SEQUENCE="false"/>
+        <FIELD NAME="courseid" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
+        <FIELD NAME="weekstart" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
+        <FIELD NAME="weekend" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
+        <FIELD NAME="position" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
+        <FIELD NAME="modified_by" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
+        <FIELD NAME="created_by" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
+        <FIELD NAME="timedeleted" TYPE="int" LENGTH="10" NOTNULL="false" SEQUENCE="false"/>
+        <FIELD NAME="timecreated" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
+        <FIELD NAME="timemodified" TYPE="int" LENGTH="10" NOTNULL="false" SEQUENCE="false"/>
+        <FIELD NAME="weekcode" TYPE="int" LENGTH="20" NOTNULL="true" SEQUENCE="false"/>
+        <FIELD NAME="hours_dedications" TYPE="int" LENGTH="5" NOTNULL="true" DEFAULT="0" SEQUENCE="false" COMMENT="hours_dedications"/>
+      </FIELDS>
+      <KEYS>
+        <KEY NAME="primary" TYPE="primary" FIELDS="id"/>
+      </KEYS>
+      <INDEXES>
+        <INDEX NAME="weekcode" UNIQUE="false" FIELDS="weekcode" HINTS="weekcode" COMMENT="weekcode index"/>
+        <INDEX NAME="instanceid" UNIQUE="false" FIELDS="instanceid" HINTS="instanceid" COMMENT="instanceid index"/>
+      </INDEXES>
+    </TABLE>
+    <TABLE NAME="st_rpt_weekly_schedules" COMMENT="table st_rpt_weekly_schedules">
+      <FIELDS>
+        <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="true"/>
+        <FIELD NAME="userid" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
+        <FIELD NAME="weekcode" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
+        <FIELD NAME="days" TYPE="char" LENGTH="1333" NOTNULL="true" SEQUENCE="false"/>
+        <FIELD NAME="hours" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
+        <FIELD NAME="timecreated" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
+        <FIELD NAME="timemodified" TYPE="int" LENGTH="10" NOTNULL="false" SEQUENCE="false"/>
+      </FIELDS>
+      <KEYS>
+        <KEY NAME="primary" TYPE="primary" FIELDS="id"/>
+      </KEYS>
+    </TABLE>
+    <TABLE NAME="st_rpt_work_last_weeks" COMMENT="table st_rpt_work_last_weeks">
+      <FIELDS>
+        <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="true"/>
+        <FIELD NAME="userid" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
+        <FIELD NAME="weekcode" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
+        <FIELD NAME="classroom_hours" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
+        <FIELD NAME="hours_off_course" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
+        <FIELD NAME="previous_class_learning" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
+        <FIELD NAME="benefit_going_class" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
+      </FIELDS>
+      <KEYS>
+        <KEY NAME="primary" TYPE="primary" FIELDS="id"/>
+      </KEYS>
+    </TABLE>
+    <TABLE NAME="notemyprogress_goals" COMMENT="table notemyprogress_goals">
+      <FIELDS>
+        <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="true"/>
+        <FIELD NAME="id_goals_categories" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
+        <FIELD NAME="userid" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
+        <FIELD NAME="weekcode" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
+        <FIELD NAME="completed" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
+        <FIELD NAME="timecreated" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
+        <FIELD NAME="timemodified" TYPE="int" LENGTH="10" NOTNULL="false" SEQUENCE="false"/>
+      </FIELDS>
+      <KEYS>
+        <KEY NAME="primary" TYPE="primary" FIELDS="id"/>
+      </KEYS>
+    </TABLE>
+    <TABLE NAME="notemyprogress_goals_ct" COMMENT="table notemyprogress_goals_ct">
+      <FIELDS>
+        <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="true"/>
+        <FIELD NAME="description" TYPE="char" LENGTH="1333" NOTNULL="true" SEQUENCE="false"/>
+      </FIELDS>
+      <KEYS>
+        <KEY NAME="primary" TYPE="primary" FIELDS="id"/>
+      </KEYS>
+    </TABLE>
+    <TABLE NAME="notemyprogress_questions" COMMENT="table notemyprogress_questions">
+      <FIELDS>
+        <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="true"/>
+        <FIELD NAME="id_questions_categories" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
+        <FIELD NAME="userid" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
+        <FIELD NAME="weekcode" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
+        <FIELD NAME="answer" TYPE="char" LENGTH="1333" NOTNULL="true" SEQUENCE="false"/>
+        <FIELD NAME="timecreated" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
+        <FIELD NAME="timemodified" TYPE="int" LENGTH="10" NOTNULL="false" SEQUENCE="false"/>
+      </FIELDS>
+      <KEYS>
+        <KEY NAME="primary" TYPE="primary" FIELDS="id"/>
+      </KEYS>
+    </TABLE>
+    <TABLE NAME="notemyprogress_questions_ct" COMMENT="table notemyprogress_questions_ct">
+      <FIELDS>
+        <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="true"/>
+        <FIELD NAME="description" TYPE="char" LENGTH="1333" NOTNULL="true" SEQUENCE="false"/>
+      </FIELDS>
+      <KEYS>
+        <KEY NAME="primary" TYPE="primary" FIELDS="id"/>
+      </KEYS>
+    </TABLE>
+    <TABLE NAME="notemyprogress_days" COMMENT="table notemyprogress_days">
+      <FIELDS>
+        <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="true"/>
+        <FIELD NAME="courseid" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
+        <FIELD NAME="weekcode" TYPE="int" LENGTH="20" NOTNULL="true" SEQUENCE="false"/>
+        <FIELD NAME="description" TYPE="char" LENGTH="1333" NOTNULL="true" SEQUENCE="false"/>
+        <FIELD NAME="is_set" TYPE="char" LENGTH="1333" NOTNULL="true" SEQUENCE="false"/>
+      </FIELDS>
+      <KEYS>
+        <KEY NAME="primary" TYPE="primary" FIELDS="id"/>
+      </KEYS>
+    </TABLE>
+
+    <TABLE NAME="notemyprogress_days_modules" COMMENT="table notemyprogress_days_modules">
+      <FIELDS>
+        <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="true"/>
+        <FIELD NAME="courseid" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
+        <FIELD NAME="id_course_modules" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
+        <FIELD NAME="id_days" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
+      </FIELDS>
+      <KEYS>
+        <KEY NAME="primary" TYPE="primary" FIELDS="id"/>
+      </KEYS>
+    </TABLE>
+
+
+    <TABLE NAME="st_rpt_questions" COMMENT="table st_rpt_questions">
+      <FIELDS>
+        <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="true"/>
+        <FIELD NAME="enunciated" TYPE="char" LENGTH="1333" NOTNULL="true" SEQUENCE="false"/>
+      </FIELDS>
+      <KEYS>
+        <KEY NAME="primary" TYPE="primary" FIELDS="id"/>
+      </KEYS>
+    </TABLE>
+    <TABLE NAME="st_rpt_answers" COMMENT="table st_rpt_answers">
+      <FIELDS>
+        <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="true"/>
+        <FIELD NAME="questionid" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
+        <FIELD NAME="enunciated" TYPE="char" LENGTH="1333" NOTNULL="true" SEQUENCE="false"/>
+      </FIELDS>
+      <KEYS>
+        <KEY NAME="primary" TYPE="primary" FIELDS="id"/>
+      </KEYS>
+    </TABLE>
+    <TABLE NAME="notemyprogress_sections" COMMENT="table notemyprogress_sections">
+      <FIELDS>
+        <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="true"/>
+        <FIELD NAME="weekcode" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
+        <FIELD NAME="sectionid" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
+        <FIELD NAME="section_name" TYPE="char" LENGTH="1333" NOTNULL="true" SEQUENCE="false"/>
+        <FIELD NAME="position" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
+        <FIELD NAME="timedeleted" TYPE="int" LENGTH="10" NOTNULL="false" SEQUENCE="false"/>
+        <FIELD NAME="timecreated" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
+        <FIELD NAME="timemodified" TYPE="int" LENGTH="10" NOTNULL="false" SEQUENCE="false"/>
+      </FIELDS>
+      <KEYS>
+        <KEY NAME="primary" TYPE="primary" FIELDS="id"/>
+      </KEYS>
+    </TABLE>
+    <TABLE NAME="notemyprogress_logs" COMMENT="table notemyprogress_logs">
+      <FIELDS>
+        <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="true"/>
+        <FIELD NAME="userid" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
+        <FIELD NAME="username" TYPE="text" NOTNULL="false" SEQUENCE="false"/>
+        <FIELD NAME="name" TYPE="char" LENGTH="1333" NOTNULL="false" SEQUENCE="false"/>
+        <FIELD NAME="lastname" TYPE="char" LENGTH="1333" NOTNULL="false" SEQUENCE="false"/>
+        <FIELD NAME="email" TYPE="char" LENGTH="1333" NOTNULL="false" SEQUENCE="false"/>
+        <FIELD NAME="current_roles" TYPE="char" LENGTH="1333" NOTNULL="true" SEQUENCE="false"/>
+        <FIELD NAME="courseid" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
+        <FIELD NAME="component" TYPE="char" LENGTH="1333" NOTNULL="true" SEQUENCE="false"/>
+        <FIELD NAME="action" TYPE="char" LENGTH="1333" NOTNULL="true" SEQUENCE="false"/>
+        <FIELD NAME="timecreated" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
+      </FIELDS>
+      <KEYS>
+        <KEY NAME="primary" TYPE="primary" FIELDS="id"/>
+      </KEYS>
+    </TABLE>
+    <TABLE NAME="notemyprogress_clustering" COMMENT="table notemyprogress_clustering">
+      <FIELDS>
+        <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="true"/>
+        <FIELD NAME="courseid" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
+        <FIELD NAME="userid" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
+        <FIELD NAME="cluster" TYPE="int" LENGTH="2" NOTNULL="true" SEQUENCE="false"/>
+        <FIELD NAME="active" TYPE="int" LENGTH="2" NOTNULL="true" SEQUENCE="false"/>
+        <FIELD NAME="timecreated" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
+      </FIELDS>
+      <KEYS>
+        <KEY NAME="primary" TYPE="primary" FIELDS="id"/>
+      </KEYS>
+      <INDEXES>
+        <INDEX NAME="courseid" UNIQUE="false" FIELDS="courseid" HINTS="courseid" COMMENT="courseid index"/>
+        <INDEX NAME="userid" UNIQUE="false" FIELDS="userid" HINTS="userid" COMMENT="userid index"/>
+      </INDEXES>
+    </TABLE>
+  </TABLES>
 </XMLDB>
\ No newline at end of file
diff --git a/notemyprogress/img/calendar.png b/notemyprogress/img/calendar.png
new file mode 100644
index 0000000000000000000000000000000000000000..1c9eb49391736cc12991a94a5ade1e2184eefc62
Binary files /dev/null and b/notemyprogress/img/calendar.png differ
diff --git a/notemyprogress/img/empty_char.png b/notemyprogress/img/empty_char.png
new file mode 100644
index 0000000000000000000000000000000000000000..7893440e8dc636aa191ee4061db6e1ba193a1dff
Binary files /dev/null and b/notemyprogress/img/empty_char.png differ
diff --git a/notemyprogress/js/datepicker.js b/notemyprogress/js/datepicker.js
index ce8d7c927981db72151a3c9e9349807732954d43..ead02a8f760906561d15b812af04cc17c95d2f86 100644
--- a/notemyprogress/js/datepicker.js
+++ b/notemyprogress/js/datepicker.js
@@ -1 +1,1818 @@
-!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).vuejsDatepicker=t()}(this,function(){"use strict";function e(t){return(e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(t)}function t(e,t){for(var a=0;a<t.length;a++){var i=t[a];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function a(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{},n=Object.keys(i);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(i).filter(function(e){return Object.getOwnPropertyDescriptor(i,e).enumerable}))),n.forEach(function(t){a(e,t,i[t])})}return e}var n=new(function(){function e(t,a,i,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.language=t,this.months=a,this.monthsAbbr=i,this.days=n,this.rtl=!1,this.ymd=!1,this.yearSuffix=""}var a,i,n;return a=e,(i=[{key:"language",get:function(){return this._language},set:function(e){if("string"!=typeof e)throw new TypeError("Language must be a string");this._language=e}},{key:"months",get:function(){return this._months},set:function(e){if(12!==e.length)throw new RangeError("There must be 12 months for ".concat(this.language," language"));this._months=e}},{key:"monthsAbbr",get:function(){return this._monthsAbbr},set:function(e){if(12!==e.length)throw new RangeError("There must be 12 abbreviated months for ".concat(this.language," language"));this._monthsAbbr=e}},{key:"days",get:function(){return this._days},set:function(e){if(7!==e.length)throw new RangeError("There must be 7 days for ".concat(this.language," language"));this._days=e}}])&&t(a.prototype,i),n&&t(a,n),e}())("English",["January","February","March","April","May","June","July","August","September","October","November","December"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]),s={useUtc:!1,getFullYear:function(e){return this.useUtc?e.getUTCFullYear():e.getFullYear()},getMonth:function(e){return this.useUtc?e.getUTCMonth():e.getMonth()},getDate:function(e){return this.useUtc?e.getUTCDate():e.getDate()},getDay:function(e){return this.useUtc?e.getUTCDay():e.getDay()},getHours:function(e){return this.useUtc?e.getUTCHours():e.getHours()},getMinutes:function(e){return this.useUtc?e.getUTCMinutes():e.getMinutes()},setFullYear:function(e,t,a){return this.useUtc?e.setUTCFullYear(t):e.setFullYear(t)},setMonth:function(e,t,a){return this.useUtc?e.setUTCMonth(t):e.setMonth(t)},setDate:function(e,t,a){return this.useUtc?e.setUTCDate(t):e.setDate(t)},compareDates:function(e,t){var a=new Date(e.getTime()),i=new Date(t.getTime());return this.useUtc?(a.setUTCHours(0,0,0,0),i.setUTCHours(0,0,0,0)):(a.setHours(0,0,0,0),i.setHours(0,0,0,0)),a.getTime()===i.getTime()},isValidDate:function(e){return"[object Date]"===Object.prototype.toString.call(e)&&!isNaN(e.getTime())},getDayNameAbbr:function(t,a){if("object"!==e(t))throw TypeError("Invalid Type");return a[this.getDay(t)]},getMonthName:function(t,a){if(!a)throw Error("missing 2nd parameter Months array");if("object"===e(t))return a[this.getMonth(t)];if("number"==typeof t)return a[t];throw TypeError("Invalid type")},getMonthNameAbbr:function(t,a){if(!a)throw Error("missing 2nd paramter Months array");if("object"===e(t))return a[this.getMonth(t)];if("number"==typeof t)return a[t];throw TypeError("Invalid type")},daysInMonth:function(e,t){return/8|3|5|10/.test(t)?30:1===t?(e%4||!(e%100))&&e%400?28:29:31},getNthSuffix:function(e){switch(e){case 1:case 21:case 31:return"st";case 2:case 22:return"nd";case 3:case 23:return"rd";default:return"th"}},formatDate:function(e,t,a){a=a||n;var i=this.getFullYear(e),s=this.getMonth(e)+1,r=this.getDate(e);return t.replace(/dd/,("0"+r).slice(-2)).replace(/d/,r).replace(/yyyy/,i).replace(/yy/,String(i).slice(2)).replace(/MMMM/,this.getMonthName(this.getMonth(e),a.months)).replace(/MMM/,this.getMonthNameAbbr(this.getMonth(e),a.monthsAbbr)).replace(/MM/,("0"+s).slice(-2)).replace(/M(?!a|ä|e)/,s).replace(/su/,this.getNthSuffix(this.getDate(e))).replace(/D(?!e|é|i)/,this.getDayNameAbbr(e,a.days))},createDateArray:function(e,t){for(var a=[];e<=t;)a.push(new Date(e)),e=this.setDate(new Date(e),this.getDate(new Date(e))+1);return a},validateDateInput:function(e){return null===e||e instanceof Date||"string"==typeof e||"number"==typeof e}},r=function(e){return i({},s,{useUtc:e})},l=i({},s);var o=function(e,t,a,i,n,s,r,l,o,d){"boolean"!=typeof r&&(o=l,l=r,r=!1);var h,c="function"==typeof a?a.options:a;if(e&&e.render&&(c.render=e.render,c.staticRenderFns=e.staticRenderFns,c._compiled=!0,n&&(c.functional=!0)),i&&(c._scopeId=i),s?(h=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),t&&t.call(this,o(e)),e&&e._registeredComponents&&e._registeredComponents.add(s)},c._ssrRegister=h):t&&(h=r?function(){t.call(this,d(this.$root.$options.shadowRoot))}:function(e){t.call(this,l(e))}),h)if(c.functional){var u=c.render;c.render=function(e,t){return h.call(t),u(e,t)}}else{var p=c.beforeCreate;c.beforeCreate=p?[].concat(p,h):[h]}return a};const d={props:{selectedDate:Date,resetTypedDate:[Date],format:[String,Function],translation:Object,inline:Boolean,id:String,name:String,refName:String,openDate:Date,placeholder:String,inputClass:[String,Object,Array],clearButton:Boolean,clearButtonIcon:String,calendarButton:Boolean,calendarButtonIcon:String,calendarButtonIconContent:String,disabled:Boolean,required:Boolean,typeable:Boolean,bootstrapStyling:Boolean,useUtc:Boolean},data:function(){return{input:null,typedDate:!1,utils:r(this.useUtc)}},computed:{formattedValue:function(){return this.selectedDate?this.typedDate?this.typedDate:"function"==typeof this.format?this.format(this.selectedDate):this.utils.formatDate(new Date(this.selectedDate),this.format,this.translation):null},computedInputClass:function(){return this.bootstrapStyling?"string"==typeof this.inputClass?[this.inputClass,"form-control"].join(" "):i({"form-control":!0},this.inputClass):this.inputClass}},watch:{resetTypedDate:function(){this.typedDate=!1}},methods:{showCalendar:function(){this.$emit("showCalendar")},parseTypedDate:function(e){if([27,13].includes(e.keyCode)&&this.input.blur(),this.typeable){var t=Date.parse(this.input.value);isNaN(t)||(this.typedDate=this.input.value,this.$emit("typedDate",new Date(this.typedDate)))}},inputBlurred:function(){this.typeable&&isNaN(Date.parse(this.input.value))&&(this.clearDate(),this.input.value=null,this.typedDate=null),this.$emit("closeCalendar")},clearDate:function(){this.$emit("clearDate")}},mounted:function(){this.input=this.$el.querySelector("input")}};var h=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{class:{"input-group":e.bootstrapStyling}},[e.calendarButton?a("span",{staticClass:"vdp-datepicker__calendar-button",class:{"input-group-prepend":e.bootstrapStyling},style:{"cursor:not-allowed;":e.disabled},on:{click:e.showCalendar}},[a("span",{class:{"input-group-text":e.bootstrapStyling}},[a("i",{class:e.calendarButtonIcon},[e._v("\n        "+e._s(e.calendarButtonIconContent)+"\n        "),e.calendarButtonIcon?e._e():a("span",[e._v("…")])])])]):e._e(),e._v(" "),a("input",{ref:e.refName,class:e.computedInputClass,attrs:{type:e.inline?"hidden":"text",name:e.name,id:e.id,"open-date":e.openDate,placeholder:e.placeholder,"clear-button":e.clearButton,disabled:e.disabled,required:e.required,readonly:!e.typeable,autocomplete:"off"},domProps:{value:e.formattedValue},on:{click:e.showCalendar,keyup:e.parseTypedDate,blur:e.inputBlurred}}),e._v(" "),e.clearButton&&e.selectedDate?a("span",{staticClass:"vdp-datepicker__clear-button",class:{"input-group-append":e.bootstrapStyling},on:{click:function(t){return e.clearDate()}}},[a("span",{class:{"input-group-text":e.bootstrapStyling}},[a("i",{class:e.clearButtonIcon},[e.clearButtonIcon?e._e():a("span",[e._v("×")])])])]):e._e(),e._v(" "),e._t("afterDateInput")],2)};h._withStripped=!0;var c=o({render:h,staticRenderFns:[]},void 0,d,void 0,!1,void 0,void 0,void 0);const u={props:{showDayView:Boolean,selectedDate:Date,pageDate:Date,pageTimestamp:Number,fullMonthName:Boolean,allowedToShowView:Function,dayCellContent:{type:Function,default:function(e){return e.date}},disabledDates:Object,highlighted:Object,calendarClass:[String,Object,Array],calendarStyle:Object,translation:Object,isRtl:Boolean,mondayFirst:Boolean,useUtc:Boolean},data:function(){return{utils:r(this.useUtc)}},computed:{daysOfWeek:function(){if(this.mondayFirst){var e=this.translation.days.slice();return e.push(e.shift()),e}return this.translation.days},blankDays:function(){var e=this.pageDate,t=this.useUtc?new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),1)):new Date(e.getFullYear(),e.getMonth(),1,e.getHours(),e.getMinutes());return this.mondayFirst?this.utils.getDay(t)>0?this.utils.getDay(t)-1:6:this.utils.getDay(t)},days:function(){for(var e=this.pageDate,t=[],a=this.useUtc?new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),1)):new Date(e.getFullYear(),e.getMonth(),1,e.getHours(),e.getMinutes()),i=this.utils.daysInMonth(this.utils.getFullYear(a),this.utils.getMonth(a)),n=0;n<i;n++)t.push({date:this.utils.getDate(a),timestamp:a.getTime(),isSelected:this.isSelectedDate(a),isDisabled:this.isDisabledDate(a),isHighlighted:this.isHighlightedDate(a),isHighlightStart:this.isHighlightStart(a),isHighlightEnd:this.isHighlightEnd(a),isToday:this.utils.compareDates(a,new Date),isWeekend:0===this.utils.getDay(a)||6===this.utils.getDay(a),isSaturday:6===this.utils.getDay(a),isSunday:0===this.utils.getDay(a)}),this.utils.setDate(a,this.utils.getDate(a)+1);return t},currMonthName:function(){var e=this.fullMonthName?this.translation.months:this.translation.monthsAbbr;return this.utils.getMonthNameAbbr(this.utils.getMonth(this.pageDate),e)},currYearName:function(){var e=this.translation.yearSuffix;return"".concat(this.utils.getFullYear(this.pageDate)).concat(e)},isYmd:function(){return this.translation.ymd&&!0===this.translation.ymd},isLeftNavDisabled:function(){return this.isRtl?this.isNextMonthDisabled(this.pageTimestamp):this.isPreviousMonthDisabled(this.pageTimestamp)},isRightNavDisabled:function(){return this.isRtl?this.isPreviousMonthDisabled(this.pageTimestamp):this.isNextMonthDisabled(this.pageTimestamp)}},methods:{selectDate:function(e){if(e.isDisabled)return this.$emit("selectedDisabled",e),!1;this.$emit("selectDate",e)},getPageMonth:function(){return this.utils.getMonth(this.pageDate)},showMonthCalendar:function(){this.$emit("showMonthCalendar")},changeMonth:function(e){var t=this.pageDate;this.utils.setMonth(t,this.utils.getMonth(t)+e),this.$emit("changedMonth",t)},previousMonth:function(){this.isPreviousMonthDisabled()||this.changeMonth(-1)},isPreviousMonthDisabled:function(){if(!this.disabledDates||!this.disabledDates.to)return!1;var e=this.pageDate;return this.utils.getMonth(this.disabledDates.to)>=this.utils.getMonth(e)&&this.utils.getFullYear(this.disabledDates.to)>=this.utils.getFullYear(e)},nextMonth:function(){this.isNextMonthDisabled()||this.changeMonth(1)},isNextMonthDisabled:function(){if(!this.disabledDates||!this.disabledDates.from)return!1;var e=this.pageDate;return this.utils.getMonth(this.disabledDates.from)<=this.utils.getMonth(e)&&this.utils.getFullYear(this.disabledDates.from)<=this.utils.getFullYear(e)},isSelectedDate:function(e){return this.selectedDate&&this.utils.compareDates(this.selectedDate,e)},isDisabledDate:function(e){var t=this,a=!1;return void 0!==this.disabledDates&&(void 0!==this.disabledDates.dates&&this.disabledDates.dates.forEach(function(i){if(t.utils.compareDates(e,i))return a=!0,!0}),void 0!==this.disabledDates.to&&this.disabledDates.to&&e<this.disabledDates.to&&(a=!0),void 0!==this.disabledDates.from&&this.disabledDates.from&&e>this.disabledDates.from&&(a=!0),void 0!==this.disabledDates.ranges&&this.disabledDates.ranges.forEach(function(t){if(void 0!==t.from&&t.from&&void 0!==t.to&&t.to&&e<t.to&&e>t.from)return a=!0,!0}),void 0!==this.disabledDates.days&&-1!==this.disabledDates.days.indexOf(this.utils.getDay(e))&&(a=!0),void 0!==this.disabledDates.daysOfMonth&&-1!==this.disabledDates.daysOfMonth.indexOf(this.utils.getDate(e))&&(a=!0),"function"==typeof this.disabledDates.customPredictor&&this.disabledDates.customPredictor(e)&&(a=!0),a)},isHighlightedDate:function(e){var t=this;if((!this.highlighted||!this.highlighted.includeDisabled)&&this.isDisabledDate(e))return!1;var a=!1;return void 0!==this.highlighted&&(void 0!==this.highlighted.dates&&this.highlighted.dates.forEach(function(i){if(t.utils.compareDates(e,i))return a=!0,!0}),this.isDefined(this.highlighted.from)&&this.isDefined(this.highlighted.to)&&(a=e>=this.highlighted.from&&e<=this.highlighted.to),void 0!==this.highlighted.days&&-1!==this.highlighted.days.indexOf(this.utils.getDay(e))&&(a=!0),void 0!==this.highlighted.daysOfMonth&&-1!==this.highlighted.daysOfMonth.indexOf(this.utils.getDate(e))&&(a=!0),"function"==typeof this.highlighted.customPredictor&&this.highlighted.customPredictor(e)&&(a=!0),a)},dayClasses:function(e){return{selected:e.isSelected,disabled:e.isDisabled,highlighted:e.isHighlighted,today:e.isToday,weekend:e.isWeekend,sat:e.isSaturday,sun:e.isSunday,"highlight-start":e.isHighlightStart,"highlight-end":e.isHighlightEnd}},isHighlightStart:function(e){return this.isHighlightedDate(e)&&this.highlighted.from instanceof Date&&this.utils.getFullYear(this.highlighted.from)===this.utils.getFullYear(e)&&this.utils.getMonth(this.highlighted.from)===this.utils.getMonth(e)&&this.utils.getDate(this.highlighted.from)===this.utils.getDate(e)},isHighlightEnd:function(e){return this.isHighlightedDate(e)&&this.highlighted.to instanceof Date&&this.utils.getFullYear(this.highlighted.to)===this.utils.getFullYear(e)&&this.utils.getMonth(this.highlighted.to)===this.utils.getMonth(e)&&this.utils.getDate(this.highlighted.to)===this.utils.getDate(e)},isDefined:function(e){return void 0!==e&&e}}};var p=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{directives:[{name:"show",rawName:"v-show",value:e.showDayView,expression:"showDayView"}],class:[e.calendarClass,"vdp-datepicker__calendar"],style:e.calendarStyle,on:{mousedown:function(e){e.preventDefault()}}},[e._t("beforeCalendarHeader"),e._v(" "),a("header",[a("span",{staticClass:"prev",class:{disabled:e.isLeftNavDisabled},on:{click:function(t){e.isRtl?e.nextMonth():e.previousMonth()}}},[e._v("<")]),e._v(" "),a("span",{staticClass:"day__month_btn",class:e.allowedToShowView("month")?"up":"",on:{click:e.showMonthCalendar}},[e._v(e._s(e.isYmd?e.currYearName:e.currMonthName)+" "+e._s(e.isYmd?e.currMonthName:e.currYearName))]),e._v(" "),a("span",{staticClass:"next",class:{disabled:e.isRightNavDisabled},on:{click:function(t){e.isRtl?e.previousMonth():e.nextMonth()}}},[e._v(">")])]),e._v(" "),a("div",{class:e.isRtl?"flex-rtl":""},[e._l(e.daysOfWeek,function(t){return a("span",{key:t.timestamp,staticClass:"cell day-header"},[e._v(e._s(t))])}),e._v(" "),e.blankDays>0?e._l(e.blankDays,function(e){return a("span",{key:e.timestamp,staticClass:"cell day blank"})}):e._e(),e._l(e.days,function(t){return a("span",{key:t.timestamp,staticClass:"cell day",class:e.dayClasses(t),domProps:{innerHTML:e._s(e.dayCellContent(t))},on:{click:function(a){return e.selectDate(t)}}})})],2)],2)};p._withStripped=!0;var g=o({render:p,staticRenderFns:[]},void 0,u,void 0,!1,void 0,void 0,void 0);const f={props:{showMonthView:Boolean,selectedDate:Date,pageDate:Date,pageTimestamp:Number,disabledDates:Object,calendarClass:[String,Object,Array],calendarStyle:Object,translation:Object,isRtl:Boolean,allowedToShowView:Function,useUtc:Boolean},data:function(){return{utils:r(this.useUtc)}},computed:{months:function(){for(var e=this.pageDate,t=[],a=this.useUtc?new Date(Date.UTC(e.getUTCFullYear(),0,e.getUTCDate())):new Date(e.getFullYear(),0,e.getDate(),e.getHours(),e.getMinutes()),i=0;i<12;i++)t.push({month:this.utils.getMonthName(i,this.translation.months),timestamp:a.getTime(),isSelected:this.isSelectedMonth(a),isDisabled:this.isDisabledMonth(a)}),this.utils.setMonth(a,this.utils.getMonth(a)+1);return t},pageYearName:function(){var e=this.translation.yearSuffix;return"".concat(this.utils.getFullYear(this.pageDate)).concat(e)},isLeftNavDisabled:function(){return this.isRtl?this.isNextYearDisabled(this.pageTimestamp):this.isPreviousYearDisabled(this.pageTimestamp)},isRightNavDisabled:function(){return this.isRtl?this.isPreviousYearDisabled(this.pageTimestamp):this.isNextYearDisabled(this.pageTimestamp)}},methods:{selectMonth:function(e){if(e.isDisabled)return!1;this.$emit("selectMonth",e)},changeYear:function(e){var t=this.pageDate;this.utils.setFullYear(t,this.utils.getFullYear(t)+e),this.$emit("changedYear",t)},previousYear:function(){this.isPreviousYearDisabled()||this.changeYear(-1)},isPreviousYearDisabled:function(){return!(!this.disabledDates||!this.disabledDates.to)&&this.utils.getFullYear(this.disabledDates.to)>=this.utils.getFullYear(this.pageDate)},nextYear:function(){this.isNextYearDisabled()||this.changeYear(1)},isNextYearDisabled:function(){return!(!this.disabledDates||!this.disabledDates.from)&&this.utils.getFullYear(this.disabledDates.from)<=this.utils.getFullYear(this.pageDate)},showYearCalendar:function(){this.$emit("showYearCalendar")},isSelectedMonth:function(e){return this.selectedDate&&this.utils.getFullYear(this.selectedDate)===this.utils.getFullYear(e)&&this.utils.getMonth(this.selectedDate)===this.utils.getMonth(e)},isDisabledMonth:function(e){var t=!1;return void 0!==this.disabledDates&&(void 0!==this.disabledDates.to&&this.disabledDates.to&&(this.utils.getMonth(e)<this.utils.getMonth(this.disabledDates.to)&&this.utils.getFullYear(e)<=this.utils.getFullYear(this.disabledDates.to)||this.utils.getFullYear(e)<this.utils.getFullYear(this.disabledDates.to))&&(t=!0),void 0!==this.disabledDates.from&&this.disabledDates.from&&(this.utils.getMonth(e)>this.utils.getMonth(this.disabledDates.from)&&this.utils.getFullYear(e)>=this.utils.getFullYear(this.disabledDates.from)||this.utils.getFullYear(e)>this.utils.getFullYear(this.disabledDates.from))&&(t=!0),"function"==typeof this.disabledDates.customPredictor&&this.disabledDates.customPredictor(e)&&(t=!0),t)}}};var D=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{directives:[{name:"show",rawName:"v-show",value:e.showMonthView,expression:"showMonthView"}],class:[e.calendarClass,"vdp-datepicker__calendar"],style:e.calendarStyle,on:{mousedown:function(e){e.preventDefault()}}},[e._t("beforeCalendarHeader"),e._v(" "),a("header",[a("span",{staticClass:"prev",class:{disabled:e.isLeftNavDisabled},on:{click:function(t){e.isRtl?e.nextYear():e.previousYear()}}},[e._v("<")]),e._v(" "),a("span",{staticClass:"month__year_btn",class:e.allowedToShowView("year")?"up":"",on:{click:e.showYearCalendar}},[e._v(e._s(e.pageYearName))]),e._v(" "),a("span",{staticClass:"next",class:{disabled:e.isRightNavDisabled},on:{click:function(t){e.isRtl?e.previousYear():e.nextYear()}}},[e._v(">")])]),e._v(" "),e._l(e.months,function(t){return a("span",{key:t.timestamp,staticClass:"cell month",class:{selected:t.isSelected,disabled:t.isDisabled},on:{click:function(a){return a.stopPropagation(),e.selectMonth(t)}}},[e._v(e._s(t.month))])})],2)};D._withStripped=!0;var b=o({render:D,staticRenderFns:[]},void 0,f,void 0,!1,void 0,void 0,void 0);const m={props:{showYearView:Boolean,selectedDate:Date,pageDate:Date,pageTimestamp:Number,disabledDates:Object,highlighted:Object,calendarClass:[String,Object,Array],calendarStyle:Object,translation:Object,isRtl:Boolean,allowedToShowView:Function,useUtc:Boolean},computed:{years:function(){for(var e=this.pageDate,t=[],a=this.useUtc?new Date(Date.UTC(10*Math.floor(e.getUTCFullYear()/10),e.getUTCMonth(),e.getUTCDate())):new Date(10*Math.floor(e.getFullYear()/10),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes()),i=0;i<10;i++)t.push({year:this.utils.getFullYear(a),timestamp:a.getTime(),isSelected:this.isSelectedYear(a),isDisabled:this.isDisabledYear(a)}),this.utils.setFullYear(a,this.utils.getFullYear(a)+1);return t},getPageDecade:function(){var e=10*Math.floor(this.utils.getFullYear(this.pageDate)/10),t=e+9,a=this.translation.yearSuffix;return"".concat(e," - ").concat(t).concat(a)},isLeftNavDisabled:function(){return this.isRtl?this.isNextDecadeDisabled(this.pageTimestamp):this.isPreviousDecadeDisabled(this.pageTimestamp)},isRightNavDisabled:function(){return this.isRtl?this.isPreviousDecadeDisabled(this.pageTimestamp):this.isNextDecadeDisabled(this.pageTimestamp)}},data:function(){return{utils:r(this.useUtc)}},methods:{selectYear:function(e){if(e.isDisabled)return!1;this.$emit("selectYear",e)},changeYear:function(e){var t=this.pageDate;this.utils.setFullYear(t,this.utils.getFullYear(t)+e),this.$emit("changedDecade",t)},previousDecade:function(){if(this.isPreviousDecadeDisabled())return!1;this.changeYear(-10)},isPreviousDecadeDisabled:function(){return!(!this.disabledDates||!this.disabledDates.to)&&this.utils.getFullYear(this.disabledDates.to)>10*Math.floor(this.utils.getFullYear(this.pageDate)/10)-1},nextDecade:function(){if(this.isNextDecadeDisabled())return!1;this.changeYear(10)},isNextDecadeDisabled:function(){return!(!this.disabledDates||!this.disabledDates.from)&&this.utils.getFullYear(this.disabledDates.from)<10*Math.ceil(this.utils.getFullYear(this.pageDate)/10)},isSelectedYear:function(e){return this.selectedDate&&this.utils.getFullYear(this.selectedDate)===this.utils.getFullYear(e)},isDisabledYear:function(e){var t=!1;return!(void 0===this.disabledDates||!this.disabledDates)&&(void 0!==this.disabledDates.to&&this.disabledDates.to&&this.utils.getFullYear(e)<this.utils.getFullYear(this.disabledDates.to)&&(t=!0),void 0!==this.disabledDates.from&&this.disabledDates.from&&this.utils.getFullYear(e)>this.utils.getFullYear(this.disabledDates.from)&&(t=!0),"function"==typeof this.disabledDates.customPredictor&&this.disabledDates.customPredictor(e)&&(t=!0),t)}}};var A=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{directives:[{name:"show",rawName:"v-show",value:e.showYearView,expression:"showYearView"}],class:[e.calendarClass,"vdp-datepicker__calendar"],style:e.calendarStyle,on:{mousedown:function(e){e.preventDefault()}}},[e._t("beforeCalendarHeader"),e._v(" "),a("header",[a("span",{staticClass:"prev",class:{disabled:e.isLeftNavDisabled},on:{click:function(t){e.isRtl?e.nextDecade():e.previousDecade()}}},[e._v("<")]),e._v(" "),a("span",[e._v(e._s(e.getPageDecade))]),e._v(" "),a("span",{staticClass:"next",class:{disabled:e.isRightNavDisabled},on:{click:function(t){e.isRtl?e.previousDecade():e.nextDecade()}}},[e._v(">")])]),e._v(" "),e._l(e.years,function(t){return a("span",{key:t.timestamp,staticClass:"cell year",class:{selected:t.isSelected,disabled:t.isDisabled},on:{click:function(a){return a.stopPropagation(),e.selectYear(t)}}},[e._v(e._s(t.year))])})],2)};A._withStripped=!0;var v={components:{DateInput:c,PickerDay:g,PickerMonth:b,PickerYear:o({render:A,staticRenderFns:[]},void 0,m,void 0,!1,void 0,void 0,void 0)},props:{value:{validator:function(e){return l.validateDateInput(e)}},name:String,refName:String,id:String,format:{type:[String,Function],default:"dd MMM yyyy"},language:{type:Object,default:function(){return n}},openDate:{validator:function(e){return l.validateDateInput(e)}},dayCellContent:Function,fullMonthName:Boolean,disabledDates:Object,highlighted:Object,placeholder:String,inline:Boolean,calendarClass:[String,Object,Array],inputClass:[String,Object,Array],wrapperClass:[String,Object,Array],mondayFirst:Boolean,clearButton:Boolean,clearButtonIcon:String,calendarButton:Boolean,calendarButtonIcon:String,calendarButtonIconContent:String,bootstrapStyling:Boolean,initialView:String,disabled:Boolean,required:Boolean,typeable:Boolean,useUtc:Boolean,minimumView:{type:String,default:"day"},maximumView:{type:String,default:"year"}},data:function(){var e=this.openDate?new Date(this.openDate):new Date,t=r(this.useUtc);return{pageTimestamp:t.setDate(e,1),selectedDate:null,showDayView:!1,showMonthView:!1,showYearView:!1,calendarHeight:0,resetTypedDate:new Date,utils:t}},watch:{value:function(e){this.setValue(e)},openDate:function(){this.setPageDate()},initialView:function(){this.setInitialView()}},computed:{computedInitialView:function(){return this.initialView?this.initialView:this.minimumView},pageDate:function(){return new Date(this.pageTimestamp)},translation:function(){return this.language},calendarStyle:function(){return{position:this.isInline?"static":void 0}},isOpen:function(){return this.showDayView||this.showMonthView||this.showYearView},isInline:function(){return!!this.inline},isRtl:function(){return!0===this.translation.rtl}},methods:{resetDefaultPageDate:function(){null!==this.selectedDate?this.setPageDate(this.selectedDate):this.setPageDate()},showCalendar:function(){return!this.disabled&&!this.isInline&&(this.isOpen?this.close(!0):void this.setInitialView())},setInitialView:function(){var e=this.computedInitialView;if(!this.allowedToShowView(e))throw new Error("initialView '".concat(this.initialView,"' cannot be rendered based on minimum '").concat(this.minimumView,"' and maximum '").concat(this.maximumView,"'"));switch(e){case"year":this.showYearCalendar();break;case"month":this.showMonthCalendar();break;default:this.showDayCalendar()}},allowedToShowView:function(e){var t=["day","month","year"],a=t.indexOf(this.minimumView),i=t.indexOf(this.maximumView),n=t.indexOf(e);return n>=a&&n<=i},showDayCalendar:function(){return!!this.allowedToShowView("day")&&(this.close(),this.showDayView=!0,!0)},showMonthCalendar:function(){return!!this.allowedToShowView("month")&&(this.close(),this.showMonthView=!0,!0)},showYearCalendar:function(){return!!this.allowedToShowView("year")&&(this.close(),this.showYearView=!0,!0)},setDate:function(e){var t=new Date(e);this.selectedDate=t,this.setPageDate(t),this.$emit("selected",t),this.$emit("input",t)},clearDate:function(){this.selectedDate=null,this.setPageDate(),this.$emit("selected",null),this.$emit("input",null),this.$emit("cleared")},selectDate:function(e){this.setDate(e.timestamp),this.isInline||this.close(!0),this.resetTypedDate=new Date},selectDisabledDate:function(e){this.$emit("selectedDisabled",e)},selectMonth:function(e){var t=new Date(e.timestamp);this.allowedToShowView("day")?(this.setPageDate(t),this.$emit("changedMonth",e),this.showDayCalendar()):this.selectDate(e)},selectYear:function(e){var t=new Date(e.timestamp);this.allowedToShowView("month")?(this.setPageDate(t),this.$emit("changedYear",e),this.showMonthCalendar()):this.selectDate(e)},setValue:function(e){if("string"==typeof e||"number"==typeof e){var t=new Date(e);e=isNaN(t.valueOf())?null:t}if(!e)return this.setPageDate(),void(this.selectedDate=null);this.selectedDate=e,this.setPageDate(e)},setPageDate:function(e){e||(e=this.openDate?new Date(this.openDate):new Date),this.pageTimestamp=this.utils.setDate(new Date(e),1)},handleChangedMonthFromDayPicker:function(e){this.setPageDate(e),this.$emit("changedMonth",e)},setTypedDate:function(e){this.setDate(e.getTime())},close:function(e){this.showDayView=this.showMonthView=this.showYearView=!1,this.isInline||(e&&this.$emit("closed"),document.removeEventListener("click",this.clickOutside,!1))},init:function(){this.value&&this.setValue(this.value),this.isInline&&this.setInitialView()}},mounted:function(){this.init()}},y="undefined"!=typeof navigator&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());var _=document.head||document.getElementsByTagName("head")[0],w={};var C=function(e){return function(e,t){return function(e,t){var a=y?t.media||"default":e,i=w[a]||(w[a]={ids:new Set,styles:[]});if(!i.ids.has(e)){i.ids.add(e);var n=t.source;if(t.map&&(n+="\n/*# sourceURL="+t.map.sources[0]+" */",n+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(t.map))))+" */"),i.element||(i.element=document.createElement("style"),i.element.type="text/css",t.media&&i.element.setAttribute("media",t.media),_.appendChild(i.element)),"styleSheet"in i.element)i.styles.push(n),i.element.styleSheet.cssText=i.styles.filter(Boolean).join("\n");else{var s=i.ids.size-1,r=document.createTextNode(n),l=i.element.childNodes;l[s]&&i.element.removeChild(l[s]),l.length?i.element.insertBefore(r,l[s]):i.element.appendChild(r)}}}(e,t)}};const k=v;var B=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"vdp-datepicker",class:[e.wrapperClass,e.isRtl?"rtl":""]},[a("date-input",{attrs:{selectedDate:e.selectedDate,resetTypedDate:e.resetTypedDate,format:e.format,translation:e.translation,inline:e.inline,id:e.id,name:e.name,refName:e.refName,openDate:e.openDate,placeholder:e.placeholder,inputClass:e.inputClass,typeable:e.typeable,clearButton:e.clearButton,clearButtonIcon:e.clearButtonIcon,calendarButton:e.calendarButton,calendarButtonIcon:e.calendarButtonIcon,calendarButtonIconContent:e.calendarButtonIconContent,disabled:e.disabled,required:e.required,bootstrapStyling:e.bootstrapStyling,"use-utc":e.useUtc},on:{showCalendar:e.showCalendar,closeCalendar:e.close,typedDate:e.setTypedDate,clearDate:e.clearDate}},[e._t("afterDateInput",null,{slot:"afterDateInput"})],2),e._v(" "),e.allowedToShowView("day")?a("picker-day",{attrs:{pageDate:e.pageDate,selectedDate:e.selectedDate,showDayView:e.showDayView,fullMonthName:e.fullMonthName,allowedToShowView:e.allowedToShowView,disabledDates:e.disabledDates,highlighted:e.highlighted,calendarClass:e.calendarClass,calendarStyle:e.calendarStyle,translation:e.translation,pageTimestamp:e.pageTimestamp,isRtl:e.isRtl,mondayFirst:e.mondayFirst,dayCellContent:e.dayCellContent,"use-utc":e.useUtc},on:{changedMonth:e.handleChangedMonthFromDayPicker,selectDate:e.selectDate,showMonthCalendar:e.showMonthCalendar,selectedDisabled:e.selectDisabledDate}},[e._t("beforeCalendarHeader",null,{slot:"beforeCalendarHeader"})],2):e._e(),e._v(" "),e.allowedToShowView("month")?a("picker-month",{attrs:{pageDate:e.pageDate,selectedDate:e.selectedDate,showMonthView:e.showMonthView,allowedToShowView:e.allowedToShowView,disabledDates:e.disabledDates,calendarClass:e.calendarClass,calendarStyle:e.calendarStyle,translation:e.translation,isRtl:e.isRtl,"use-utc":e.useUtc},on:{selectMonth:e.selectMonth,showYearCalendar:e.showYearCalendar,changedYear:e.setPageDate}},[e._t("beforeCalendarHeader",null,{slot:"beforeCalendarHeader"})],2):e._e(),e._v(" "),e.allowedToShowView("year")?a("picker-year",{attrs:{pageDate:e.pageDate,selectedDate:e.selectedDate,showYearView:e.showYearView,allowedToShowView:e.allowedToShowView,disabledDates:e.disabledDates,calendarClass:e.calendarClass,calendarStyle:e.calendarStyle,translation:e.translation,isRtl:e.isRtl,"use-utc":e.useUtc},on:{selectYear:e.selectYear,changedDecade:e.setPageDate}},[e._t("beforeCalendarHeader",null,{slot:"beforeCalendarHeader"})],2):e._e()],1)};B._withStripped=!0;return o({render:B,staticRenderFns:[]},function(e){e&&e("data-v-64ca2bb5_0",{source:".rtl {\n  direction: rtl;\n}\n.vdp-datepicker {\n  position: relative;\n  text-align: left;\n}\n.vdp-datepicker * {\n  box-sizing: border-box;\n}\n.vdp-datepicker__calendar {\n  position: absolute;\n  z-index: 100;\n  background: #fff;\n  width: 300px;\n  border: 1px solid #ccc;\n}\n.vdp-datepicker__calendar header {\n  display: block;\n  line-height: 40px;\n}\n.vdp-datepicker__calendar header span {\n  display: inline-block;\n  text-align: center;\n  width: 71.42857142857143%;\n  float: left;\n}\n.vdp-datepicker__calendar header .prev,\n.vdp-datepicker__calendar header .next {\n  width: 14.285714285714286%;\n  float: left;\n  text-indent: -10000px;\n  position: relative;\n}\n.vdp-datepicker__calendar header .prev:after,\n.vdp-datepicker__calendar header .next:after {\n  content: '';\n  position: absolute;\n  left: 50%;\n  top: 50%;\n  transform: translateX(-50%) translateY(-50%);\n  border: 6px solid transparent;\n}\n.vdp-datepicker__calendar header .prev:after {\n  border-right: 10px solid #000;\n  margin-left: -5px;\n}\n.vdp-datepicker__calendar header .prev.disabled:after {\n  border-right: 10px solid #ddd;\n}\n.vdp-datepicker__calendar header .next:after {\n  border-left: 10px solid #000;\n  margin-left: 5px;\n}\n.vdp-datepicker__calendar header .next.disabled:after {\n  border-left: 10px solid #ddd;\n}\n.vdp-datepicker__calendar header .prev:not(.disabled),\n.vdp-datepicker__calendar header .next:not(.disabled),\n.vdp-datepicker__calendar header .up:not(.disabled) {\n  cursor: pointer;\n}\n.vdp-datepicker__calendar header .prev:not(.disabled):hover,\n.vdp-datepicker__calendar header .next:not(.disabled):hover,\n.vdp-datepicker__calendar header .up:not(.disabled):hover {\n  background: #eee;\n}\n.vdp-datepicker__calendar .disabled {\n  color: #ddd;\n  cursor: default;\n}\n.vdp-datepicker__calendar .flex-rtl {\n  display: flex;\n  width: inherit;\n  flex-wrap: wrap;\n}\n.vdp-datepicker__calendar .cell {\n  display: inline-block;\n  padding: 0 5px;\n  width: 14.285714285714286%;\n  height: 40px;\n  line-height: 40px;\n  text-align: center;\n  vertical-align: middle;\n  border: 1px solid transparent;\n}\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).day,\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).month,\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).year {\n  cursor: pointer;\n}\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).day:hover,\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).month:hover,\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).year:hover {\n  border: 1px solid #4bd;\n}\n.vdp-datepicker__calendar .cell.selected {\n  background: #4bd;\n}\n.vdp-datepicker__calendar .cell.selected:hover {\n  background: #4bd;\n}\n.vdp-datepicker__calendar .cell.selected.highlighted {\n  background: #4bd;\n}\n.vdp-datepicker__calendar .cell.highlighted {\n  background: #cae5ed;\n}\n.vdp-datepicker__calendar .cell.highlighted.disabled {\n  color: #a3a3a3;\n}\n.vdp-datepicker__calendar .cell.grey {\n  color: #888;\n}\n.vdp-datepicker__calendar .cell.grey:hover {\n  background: inherit;\n}\n.vdp-datepicker__calendar .cell.day-header {\n  font-size: 75%;\n  white-space: nowrap;\n  cursor: inherit;\n}\n.vdp-datepicker__calendar .cell.day-header:hover {\n  background: inherit;\n}\n.vdp-datepicker__calendar .month,\n.vdp-datepicker__calendar .year {\n  width: 33.333%;\n}\n.vdp-datepicker__clear-button,\n.vdp-datepicker__calendar-button {\n  cursor: pointer;\n  font-style: normal;\n}\n.vdp-datepicker__clear-button.disabled,\n.vdp-datepicker__calendar-button.disabled {\n  color: #999;\n  cursor: default;\n}\n",map:{version:3,sources:["Datepicker.vue"],names:[],mappings:"AAAA;EACE,cAAc;AAChB;AACA;EACE,kBAAkB;EAClB,gBAAgB;AAClB;AACA;EACE,sBAAsB;AACxB;AACA;EACE,kBAAkB;EAClB,YAAY;EACZ,gBAAgB;EAChB,YAAY;EACZ,sBAAsB;AACxB;AACA;EACE,cAAc;EACd,iBAAiB;AACnB;AACA;EACE,qBAAqB;EACrB,kBAAkB;EAClB,yBAAyB;EACzB,WAAW;AACb;AACA;;EAEE,0BAA0B;EAC1B,WAAW;EACX,qBAAqB;EACrB,kBAAkB;AACpB;AACA;;EAEE,WAAW;EACX,kBAAkB;EAClB,SAAS;EACT,QAAQ;EACR,4CAA4C;EAC5C,6BAA6B;AAC/B;AACA;EACE,6BAA6B;EAC7B,iBAAiB;AACnB;AACA;EACE,6BAA6B;AAC/B;AACA;EACE,4BAA4B;EAC5B,gBAAgB;AAClB;AACA;EACE,4BAA4B;AAC9B;AACA;;;EAGE,eAAe;AACjB;AACA;;;EAGE,gBAAgB;AAClB;AACA;EACE,WAAW;EACX,eAAe;AACjB;AACA;EACE,aAAa;EACb,cAAc;EACd,eAAe;AACjB;AACA;EACE,qBAAqB;EACrB,cAAc;EACd,0BAA0B;EAC1B,YAAY;EACZ,iBAAiB;EACjB,kBAAkB;EAClB,sBAAsB;EACtB,6BAA6B;AAC/B;AACA;;;EAGE,eAAe;AACjB;AACA;;;EAGE,sBAAsB;AACxB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,cAAc;AAChB;AACA;EACE,WAAW;AACb;AACA;EACE,mBAAmB;AACrB;AACA;EACE,cAAc;EACd,mBAAmB;EACnB,eAAe;AACjB;AACA;EACE,mBAAmB;AACrB;AACA;;EAEE,cAAc;AAChB;AACA;;EAEE,eAAe;EACf,kBAAkB;AACpB;AACA;;EAEE,WAAW;EACX,eAAe;AACjB",file:"Datepicker.vue",sourcesContent:[".rtl {\n  direction: rtl;\n}\n.vdp-datepicker {\n  position: relative;\n  text-align: left;\n}\n.vdp-datepicker * {\n  box-sizing: border-box;\n}\n.vdp-datepicker__calendar {\n  position: absolute;\n  z-index: 100;\n  background: #fff;\n  width: 300px;\n  border: 1px solid #ccc;\n}\n.vdp-datepicker__calendar header {\n  display: block;\n  line-height: 40px;\n}\n.vdp-datepicker__calendar header span {\n  display: inline-block;\n  text-align: center;\n  width: 71.42857142857143%;\n  float: left;\n}\n.vdp-datepicker__calendar header .prev,\n.vdp-datepicker__calendar header .next {\n  width: 14.285714285714286%;\n  float: left;\n  text-indent: -10000px;\n  position: relative;\n}\n.vdp-datepicker__calendar header .prev:after,\n.vdp-datepicker__calendar header .next:after {\n  content: '';\n  position: absolute;\n  left: 50%;\n  top: 50%;\n  transform: translateX(-50%) translateY(-50%);\n  border: 6px solid transparent;\n}\n.vdp-datepicker__calendar header .prev:after {\n  border-right: 10px solid #000;\n  margin-left: -5px;\n}\n.vdp-datepicker__calendar header .prev.disabled:after {\n  border-right: 10px solid #ddd;\n}\n.vdp-datepicker__calendar header .next:after {\n  border-left: 10px solid #000;\n  margin-left: 5px;\n}\n.vdp-datepicker__calendar header .next.disabled:after {\n  border-left: 10px solid #ddd;\n}\n.vdp-datepicker__calendar header .prev:not(.disabled),\n.vdp-datepicker__calendar header .next:not(.disabled),\n.vdp-datepicker__calendar header .up:not(.disabled) {\n  cursor: pointer;\n}\n.vdp-datepicker__calendar header .prev:not(.disabled):hover,\n.vdp-datepicker__calendar header .next:not(.disabled):hover,\n.vdp-datepicker__calendar header .up:not(.disabled):hover {\n  background: #eee;\n}\n.vdp-datepicker__calendar .disabled {\n  color: #ddd;\n  cursor: default;\n}\n.vdp-datepicker__calendar .flex-rtl {\n  display: flex;\n  width: inherit;\n  flex-wrap: wrap;\n}\n.vdp-datepicker__calendar .cell {\n  display: inline-block;\n  padding: 0 5px;\n  width: 14.285714285714286%;\n  height: 40px;\n  line-height: 40px;\n  text-align: center;\n  vertical-align: middle;\n  border: 1px solid transparent;\n}\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).day,\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).month,\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).year {\n  cursor: pointer;\n}\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).day:hover,\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).month:hover,\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).year:hover {\n  border: 1px solid #4bd;\n}\n.vdp-datepicker__calendar .cell.selected {\n  background: #4bd;\n}\n.vdp-datepicker__calendar .cell.selected:hover {\n  background: #4bd;\n}\n.vdp-datepicker__calendar .cell.selected.highlighted {\n  background: #4bd;\n}\n.vdp-datepicker__calendar .cell.highlighted {\n  background: #cae5ed;\n}\n.vdp-datepicker__calendar .cell.highlighted.disabled {\n  color: #a3a3a3;\n}\n.vdp-datepicker__calendar .cell.grey {\n  color: #888;\n}\n.vdp-datepicker__calendar .cell.grey:hover {\n  background: inherit;\n}\n.vdp-datepicker__calendar .cell.day-header {\n  font-size: 75%;\n  white-space: nowrap;\n  cursor: inherit;\n}\n.vdp-datepicker__calendar .cell.day-header:hover {\n  background: inherit;\n}\n.vdp-datepicker__calendar .month,\n.vdp-datepicker__calendar .year {\n  width: 33.333%;\n}\n.vdp-datepicker__clear-button,\n.vdp-datepicker__calendar-button {\n  cursor: pointer;\n  font-style: normal;\n}\n.vdp-datepicker__clear-button.disabled,\n.vdp-datepicker__calendar-button.disabled {\n  color: #999;\n  cursor: default;\n}\n"]},media:void 0})},k,void 0,!1,void 0,C,void 0)});
+!(function (e, t) {
+  "object" == typeof exports && "undefined" != typeof module
+    ? (module.exports = t())
+    : "function" == typeof define && define.amd
+    ? define(t)
+    : ((e = e || self).vuejsDatepicker = t());
+})(this, function () {
+  "use strict";
+  function e(t) {
+    return (e =
+      "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+        ? function (e) {
+            return typeof e;
+          }
+        : function (e) {
+            return e &&
+              "function" == typeof Symbol &&
+              e.constructor === Symbol &&
+              e !== Symbol.prototype
+              ? "symbol"
+              : typeof e;
+          })(t);
+  }
+  function t(e, t) {
+    for (var a = 0; a < t.length; a++) {
+      var i = t[a];
+      (i.enumerable = i.enumerable || !1),
+        (i.configurable = !0),
+        "value" in i && (i.writable = !0),
+        Object.defineProperty(e, i.key, i);
+    }
+  }
+  function a(e, t, a) {
+    return (
+      t in e
+        ? Object.defineProperty(e, t, {
+            value: a,
+            enumerable: !0,
+            configurable: !0,
+            writable: !0,
+          })
+        : (e[t] = a),
+      e
+    );
+  }
+  function i(e) {
+    for (var t = 1; t < arguments.length; t++) {
+      var i = null != arguments[t] ? arguments[t] : {},
+        n = Object.keys(i);
+      "function" == typeof Object.getOwnPropertySymbols &&
+        (n = n.concat(
+          Object.getOwnPropertySymbols(i).filter(function (e) {
+            return Object.getOwnPropertyDescriptor(i, e).enumerable;
+          })
+        )),
+        n.forEach(function (t) {
+          a(e, t, i[t]);
+        });
+    }
+    return e;
+  }
+  var n = new ((function () {
+      function e(t, a, i, n) {
+        !(function (e, t) {
+          if (!(e instanceof t))
+            throw new TypeError("Cannot call a class as a function");
+        })(this, e),
+          (this.language = t),
+          (this.months = a),
+          (this.monthsAbbr = i),
+          (this.days = n),
+          (this.rtl = !1),
+          (this.ymd = !1),
+          (this.yearSuffix = "");
+      }
+      var a, i, n;
+      return (
+        (a = e),
+        (i = [
+          {
+            key: "language",
+            get: function () {
+              return this._language;
+            },
+            set: function (e) {
+              if ("string" != typeof e)
+                throw new TypeError("Language must be a string");
+              this._language = e;
+            },
+          },
+          {
+            key: "months",
+            get: function () {
+              return this._months;
+            },
+            set: function (e) {
+              if (12 !== e.length)
+                throw new RangeError(
+                  "There must be 12 months for ".concat(
+                    this.language,
+                    " language"
+                  )
+                );
+              this._months = e;
+            },
+          },
+          {
+            key: "monthsAbbr",
+            get: function () {
+              return this._monthsAbbr;
+            },
+            set: function (e) {
+              if (12 !== e.length)
+                throw new RangeError(
+                  "There must be 12 abbreviated months for ".concat(
+                    this.language,
+                    " language"
+                  )
+                );
+              this._monthsAbbr = e;
+            },
+          },
+          {
+            key: "days",
+            get: function () {
+              return this._days;
+            },
+            set: function (e) {
+              if (7 !== e.length)
+                throw new RangeError(
+                  "There must be 7 days for ".concat(this.language, " language")
+                );
+              this._days = e;
+            },
+          },
+        ]) && t(a.prototype, i),
+        n && t(a, n),
+        e
+      );
+    })())(
+      "English",
+      [
+        "January",
+        "February",
+        "March",
+        "April",
+        "May",
+        "June",
+        "July",
+        "August",
+        "September",
+        "October",
+        "November",
+        "December",
+      ],
+      [
+        "Jan",
+        "Feb",
+        "Mar",
+        "Apr",
+        "May",
+        "Jun",
+        "Jul",
+        "Aug",
+        "Sep",
+        "Oct",
+        "Nov",
+        "Dec",
+      ],
+      ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]
+    ),
+    s = {
+      useUtc: !1,
+      getFullYear: function (e) {
+        return this.useUtc ? e.getUTCFullYear() : e.getFullYear();
+      },
+      getMonth: function (e) {
+        return this.useUtc ? e.getUTCMonth() : e.getMonth();
+      },
+      getDate: function (e) {
+        return this.useUtc ? e.getUTCDate() : e.getDate();
+      },
+      getDay: function (e) {
+        return this.useUtc ? e.getUTCDay() : e.getDay();
+      },
+      getHours: function (e) {
+        return this.useUtc ? e.getUTCHours() : e.getHours();
+      },
+      getMinutes: function (e) {
+        return this.useUtc ? e.getUTCMinutes() : e.getMinutes();
+      },
+      setFullYear: function (e, t, a) {
+        return this.useUtc ? e.setUTCFullYear(t) : e.setFullYear(t);
+      },
+      setMonth: function (e, t, a) {
+        return this.useUtc ? e.setUTCMonth(t) : e.setMonth(t);
+      },
+      setDate: function (e, t, a) {
+        return this.useUtc ? e.setUTCDate(t) : e.setDate(t);
+      },
+      compareDates: function (e, t) {
+        var a = new Date(e.getTime()),
+          i = new Date(t.getTime());
+        return (
+          this.useUtc
+            ? (a.setUTCHours(0, 0, 0, 0), i.setUTCHours(0, 0, 0, 0))
+            : (a.setHours(0, 0, 0, 0), i.setHours(0, 0, 0, 0)),
+          a.getTime() === i.getTime()
+        );
+      },
+      isValidDate: function (e) {
+        return (
+          "[object Date]" === Object.prototype.toString.call(e) &&
+          !isNaN(e.getTime())
+        );
+      },
+      getDayNameAbbr: function (t, a) {
+        if ("object" !== e(t)) throw TypeError("Invalid Type");
+        return a[this.getDay(t)];
+      },
+      getMonthName: function (t, a) {
+        if (!a) throw Error("missing 2nd parameter Months array");
+        if ("object" === e(t)) return a[this.getMonth(t)];
+        if ("number" == typeof t) return a[t];
+        throw TypeError("Invalid type");
+      },
+      getMonthNameAbbr: function (t, a) {
+        if (!a) throw Error("missing 2nd paramter Months array");
+        if ("object" === e(t)) return a[this.getMonth(t)];
+        if ("number" == typeof t) return a[t];
+        throw TypeError("Invalid type");
+      },
+      daysInMonth: function (e, t) {
+        return /8|3|5|10/.test(t)
+          ? 30
+          : 1 === t
+          ? (e % 4 || !(e % 100)) && e % 400
+            ? 28
+            : 29
+          : 31;
+      },
+      getNthSuffix: function (e) {
+        switch (e) {
+          case 1:
+          case 21:
+          case 31:
+            return "st";
+          case 2:
+          case 22:
+            return "nd";
+          case 3:
+          case 23:
+            return "rd";
+          default:
+            return "th";
+        }
+      },
+      formatDate: function (e, t, a) {
+        a = a || n;
+        var i = this.getFullYear(e),
+          s = this.getMonth(e) + 1,
+          r = this.getDate(e);
+        return t
+          .replace(/dd/, ("0" + r).slice(-2))
+          .replace(/d/, r)
+          .replace(/yyyy/, i)
+          .replace(/yy/, String(i).slice(2))
+          .replace(/MMMM/, this.getMonthName(this.getMonth(e), a.months))
+          .replace(/MMM/, this.getMonthNameAbbr(this.getMonth(e), a.monthsAbbr))
+          .replace(/MM/, ("0" + s).slice(-2))
+          .replace(/M(?!a|ä|e)/, s)
+          .replace(/su/, this.getNthSuffix(this.getDate(e)))
+          .replace(/D(?!e|é|i)/, this.getDayNameAbbr(e, a.days));
+      },
+      createDateArray: function (e, t) {
+        for (var a = []; e <= t; )
+          a.push(new Date(e)),
+            (e = this.setDate(new Date(e), this.getDate(new Date(e)) + 1));
+        return a;
+      },
+      validateDateInput: function (e) {
+        return (
+          null === e ||
+          e instanceof Date ||
+          "string" == typeof e ||
+          "number" == typeof e
+        );
+      },
+    },
+    r = function (e) {
+      return i({}, s, { useUtc: e });
+    },
+    l = i({}, s);
+  var o = function (e, t, a, i, n, s, r, l, o, d) {
+    "boolean" != typeof r && ((o = l), (l = r), (r = !1));
+    var h,
+      c = "function" == typeof a ? a.options : a;
+    if (
+      (e &&
+        e.render &&
+        ((c.render = e.render),
+        (c.staticRenderFns = e.staticRenderFns),
+        (c._compiled = !0),
+        n && (c.functional = !0)),
+      i && (c._scopeId = i),
+      s
+        ? ((h = function (e) {
+            (e =
+              e ||
+              (this.$vnode && this.$vnode.ssrContext) ||
+              (this.parent &&
+                this.parent.$vnode &&
+                this.parent.$vnode.ssrContext)) ||
+              "undefined" == typeof __VUE_SSR_CONTEXT__ ||
+              (e = __VUE_SSR_CONTEXT__),
+              t && t.call(this, o(e)),
+              e && e._registeredComponents && e._registeredComponents.add(s);
+          }),
+          (c._ssrRegister = h))
+        : t &&
+          (h = r
+            ? function () {
+                t.call(this, d(this.$root.$options.shadowRoot));
+              }
+            : function (e) {
+                t.call(this, l(e));
+              }),
+      h)
+    )
+      if (c.functional) {
+        var u = c.render;
+        c.render = function (e, t) {
+          return h.call(t), u(e, t);
+        };
+      } else {
+        var p = c.beforeCreate;
+        c.beforeCreate = p ? [].concat(p, h) : [h];
+      }
+    return a;
+  };
+  const d = {
+    props: {
+      selectedDate: Date,
+      resetTypedDate: [Date],
+      format: [String, Function],
+      translation: Object,
+      inline: Boolean,
+      id: String,
+      name: String,
+      refName: String,
+      openDate: Date,
+      placeholder: String,
+      inputClass: [String, Object, Array],
+      clearButton: Boolean,
+      clearButtonIcon: String,
+      calendarButton: Boolean,
+      calendarButtonIcon: String,
+      calendarButtonIconContent: String,
+      disabled: Boolean,
+      required: Boolean,
+      typeable: Boolean,
+      bootstrapStyling: Boolean,
+      useUtc: Boolean,
+    },
+    data: function () {
+      return { input: null, typedDate: !1, utils: r(this.useUtc) };
+    },
+    computed: {
+      formattedValue: function () {
+        return this.selectedDate
+          ? this.typedDate
+            ? this.typedDate
+            : "function" == typeof this.format
+            ? this.format(this.selectedDate)
+            : this.utils.formatDate(
+                new Date(this.selectedDate),
+                this.format,
+                this.translation
+              )
+          : null;
+      },
+      computedInputClass: function () {
+        return this.bootstrapStyling
+          ? "string" == typeof this.inputClass
+            ? [this.inputClass, "form-control"].join(" ")
+            : i({ "form-control": !0 }, this.inputClass)
+          : this.inputClass;
+      },
+    },
+    watch: {
+      resetTypedDate: function () {
+        this.typedDate = !1;
+      },
+    },
+    methods: {
+      showCalendar: function () {
+        this.$emit("showCalendar");
+      },
+      parseTypedDate: function (e) {
+        if (
+          ([27, 13].includes(e.keyCode) && this.input.blur(), this.typeable)
+        ) {
+          var t = Date.parse(this.input.value);
+          isNaN(t) ||
+            ((this.typedDate = this.input.value),
+            this.$emit("typedDate", new Date(this.typedDate)));
+        }
+      },
+      inputBlurred: function () {
+        this.typeable &&
+          isNaN(Date.parse(this.input.value)) &&
+          (this.clearDate(),
+          (this.input.value = null),
+          (this.typedDate = null)),
+          this.$emit("closeCalendar");
+      },
+      clearDate: function () {
+        this.$emit("clearDate");
+      },
+    },
+    mounted: function () {
+      this.input = this.$el.querySelector("input");
+    },
+  };
+  var h = function () {
+    var e = this,
+      t = e.$createElement,
+      a = e._self._c || t;
+    return a(
+      "div",
+      { class: { "input-group": e.bootstrapStyling } },
+      [
+        e.calendarButton
+          ? a(
+              "span",
+              {
+                staticClass: "vdp-datepicker__calendar-button",
+                class: { "input-group-prepend": e.bootstrapStyling },
+                style: { "cursor:not-allowed;": e.disabled },
+                on: { click: e.showCalendar },
+              },
+              [
+                a(
+                  "span",
+                  { class: { "input-group-text": e.bootstrapStyling } },
+                  [
+                    a("i", { class: e.calendarButtonIcon }, [
+                      e._v(
+                        "\n        " +
+                          e._s(e.calendarButtonIconContent) +
+                          "\n        "
+                      ),
+                      e.calendarButtonIcon ? e._e() : a("span", [e._v("…")]),
+                    ]),
+                  ]
+                ),
+              ]
+            )
+          : e._e(),
+        e._v(" "),
+        a("input", {
+          ref: e.refName,
+          class: e.computedInputClass,
+          attrs: {
+            type: e.inline ? "hidden" : "text",
+            name: e.name,
+            id: e.id,
+            "open-date": e.openDate,
+            placeholder: e.placeholder,
+            "clear-button": e.clearButton,
+            disabled: e.disabled,
+            required: e.required,
+            readonly: !e.typeable,
+            autocomplete: "off",
+          },
+          domProps: { value: e.formattedValue },
+          on: {
+            click: e.showCalendar,
+            keyup: e.parseTypedDate,
+            blur: e.inputBlurred,
+          },
+        }),
+        e._v(" "),
+        e.clearButton && e.selectedDate
+          ? a(
+              "span",
+              {
+                staticClass: "vdp-datepicker__clear-button",
+                class: { "input-group-append": e.bootstrapStyling },
+                on: {
+                  click: function (t) {
+                    return e.clearDate();
+                  },
+                },
+              },
+              [
+                a(
+                  "span",
+                  { class: { "input-group-text": e.bootstrapStyling } },
+                  [
+                    a("i", { class: e.clearButtonIcon }, [
+                      e.clearButtonIcon ? e._e() : a("span", [e._v("×")]),
+                    ]),
+                  ]
+                ),
+              ]
+            )
+          : e._e(),
+        e._v(" "),
+        e._t("afterDateInput"),
+      ],
+      2
+    );
+  };
+  h._withStripped = !0;
+  var c = o(
+    { render: h, staticRenderFns: [] },
+    void 0,
+    d,
+    void 0,
+    !1,
+    void 0,
+    void 0,
+    void 0
+  );
+  const u = {
+    props: {
+      showDayView: Boolean,
+      selectedDate: Date,
+      pageDate: Date,
+      pageTimestamp: Number,
+      fullMonthName: Boolean,
+      allowedToShowView: Function,
+      dayCellContent: {
+        type: Function,
+        default: function (e) {
+          return e.date;
+        },
+      },
+      disabledDates: Object,
+      highlighted: Object,
+      calendarClass: [String, Object, Array],
+      calendarStyle: Object,
+      translation: Object,
+      isRtl: Boolean,
+      mondayFirst: Boolean,
+      useUtc: Boolean,
+    },
+    data: function () {
+      return { utils: r(this.useUtc) };
+    },
+    computed: {
+      daysOfWeek: function () {
+        if (this.mondayFirst) {
+          var e = this.translation.days.slice();
+          return e.push(e.shift()), e;
+        }
+        return this.translation.days;
+      },
+      blankDays: function () {
+        var e = this.pageDate,
+          t = this.useUtc
+            ? new Date(Date.UTC(e.getUTCFullYear(), e.getUTCMonth(), 1))
+            : new Date(
+                e.getFullYear(),
+                e.getMonth(),
+                1,
+                e.getHours(),
+                e.getMinutes()
+              );
+        return this.mondayFirst
+          ? this.utils.getDay(t) > 0
+            ? this.utils.getDay(t) - 1
+            : 6
+          : this.utils.getDay(t);
+      },
+      days: function () {
+        for (
+          var e = this.pageDate,
+            t = [],
+            a = this.useUtc
+              ? new Date(Date.UTC(e.getUTCFullYear(), e.getUTCMonth(), 1))
+              : new Date(
+                  e.getFullYear(),
+                  e.getMonth(),
+                  1,
+                  e.getHours(),
+                  e.getMinutes()
+                ),
+            i = this.utils.daysInMonth(
+              this.utils.getFullYear(a),
+              this.utils.getMonth(a)
+            ),
+            n = 0;
+          n < i;
+          n++
+        )
+          t.push({
+            date: this.utils.getDate(a),
+            timestamp: a.getTime(),
+            isSelected: this.isSelectedDate(a),
+            isDisabled: this.isDisabledDate(a),
+            isHighlighted: this.isHighlightedDate(a),
+            isHighlightStart: this.isHighlightStart(a),
+            isHighlightEnd: this.isHighlightEnd(a),
+            isToday: this.utils.compareDates(a, new Date()),
+            isWeekend: 0 === this.utils.getDay(a) || 6 === this.utils.getDay(a),
+            isSaturday: 6 === this.utils.getDay(a),
+            isSunday: 0 === this.utils.getDay(a),
+          }),
+            this.utils.setDate(a, this.utils.getDate(a) + 1);
+        return t;
+      },
+      currMonthName: function () {
+        var e = this.fullMonthName
+          ? this.translation.months
+          : this.translation.monthsAbbr;
+        return this.utils.getMonthNameAbbr(
+          this.utils.getMonth(this.pageDate),
+          e
+        );
+      },
+      currYearName: function () {
+        var e = this.translation.yearSuffix;
+        return "".concat(this.utils.getFullYear(this.pageDate)).concat(e);
+      },
+      isYmd: function () {
+        return this.translation.ymd && !0 === this.translation.ymd;
+      },
+      isLeftNavDisabled: function () {
+        return this.isRtl
+          ? this.isNextMonthDisabled(this.pageTimestamp)
+          : this.isPreviousMonthDisabled(this.pageTimestamp);
+      },
+      isRightNavDisabled: function () {
+        return this.isRtl
+          ? this.isPreviousMonthDisabled(this.pageTimestamp)
+          : this.isNextMonthDisabled(this.pageTimestamp);
+      },
+    },
+    methods: {
+      selectDate: function (e) {
+        if (e.isDisabled) return this.$emit("selectedDisabled", e), !1;
+        this.$emit("selectDate", e);
+      },
+      getPageMonth: function () {
+        return this.utils.getMonth(this.pageDate);
+      },
+      showMonthCalendar: function () {
+        this.$emit("showMonthCalendar");
+      },
+      changeMonth: function (e) {
+        var t = this.pageDate;
+        this.utils.setMonth(t, this.utils.getMonth(t) + e),
+          this.$emit("changedMonth", t);
+      },
+      previousMonth: function () {
+        this.isPreviousMonthDisabled() || this.changeMonth(-1);
+      },
+      isPreviousMonthDisabled: function () {
+        if (!this.disabledDates || !this.disabledDates.to) return !1;
+        var e = this.pageDate;
+        return (
+          this.utils.getMonth(this.disabledDates.to) >=
+            this.utils.getMonth(e) &&
+          this.utils.getFullYear(this.disabledDates.to) >=
+            this.utils.getFullYear(e)
+        );
+      },
+      nextMonth: function () {
+        this.isNextMonthDisabled() || this.changeMonth(1);
+      },
+      isNextMonthDisabled: function () {
+        if (!this.disabledDates || !this.disabledDates.from) return !1;
+        var e = this.pageDate;
+        return (
+          this.utils.getMonth(this.disabledDates.from) <=
+            this.utils.getMonth(e) &&
+          this.utils.getFullYear(this.disabledDates.from) <=
+            this.utils.getFullYear(e)
+        );
+      },
+      isSelectedDate: function (e) {
+        return (
+          this.selectedDate && this.utils.compareDates(this.selectedDate, e)
+        );
+      },
+      isDisabledDate: function (e) {
+        var t = this,
+          a = !1;
+        return (
+          void 0 !== this.disabledDates &&
+          (void 0 !== this.disabledDates.dates &&
+            this.disabledDates.dates.forEach(function (i) {
+              if (t.utils.compareDates(e, i)) return (a = !0), !0;
+            }),
+          void 0 !== this.disabledDates.to &&
+            this.disabledDates.to &&
+            e < this.disabledDates.to &&
+            (a = !0),
+          void 0 !== this.disabledDates.from &&
+            this.disabledDates.from &&
+            e > this.disabledDates.from &&
+            (a = !0),
+          void 0 !== this.disabledDates.ranges &&
+            this.disabledDates.ranges.forEach(function (t) {
+              if (
+                void 0 !== t.from &&
+                t.from &&
+                void 0 !== t.to &&
+                t.to &&
+                e < t.to &&
+                e > t.from
+              )
+                return (a = !0), !0;
+            }),
+          void 0 !== this.disabledDates.days &&
+            -1 !== this.disabledDates.days.indexOf(this.utils.getDay(e)) &&
+            (a = !0),
+          void 0 !== this.disabledDates.daysOfMonth &&
+            -1 !==
+              this.disabledDates.daysOfMonth.indexOf(this.utils.getDate(e)) &&
+            (a = !0),
+          "function" == typeof this.disabledDates.customPredictor &&
+            this.disabledDates.customPredictor(e) &&
+            (a = !0),
+          a)
+        );
+      },
+      isHighlightedDate: function (e) {
+        var t = this;
+        if (
+          (!this.highlighted || !this.highlighted.includeDisabled) &&
+          this.isDisabledDate(e)
+        )
+          return !1;
+        var a = !1;
+        return (
+          void 0 !== this.highlighted &&
+          (void 0 !== this.highlighted.dates &&
+            this.highlighted.dates.forEach(function (i) {
+              if (t.utils.compareDates(e, i)) return (a = !0), !0;
+            }),
+          this.isDefined(this.highlighted.from) &&
+            this.isDefined(this.highlighted.to) &&
+            (a = e >= this.highlighted.from && e <= this.highlighted.to),
+          void 0 !== this.highlighted.days &&
+            -1 !== this.highlighted.days.indexOf(this.utils.getDay(e)) &&
+            (a = !0),
+          void 0 !== this.highlighted.daysOfMonth &&
+            -1 !==
+              this.highlighted.daysOfMonth.indexOf(this.utils.getDate(e)) &&
+            (a = !0),
+          "function" == typeof this.highlighted.customPredictor &&
+            this.highlighted.customPredictor(e) &&
+            (a = !0),
+          a)
+        );
+      },
+      dayClasses: function (e) {
+        return {
+          selected: e.isSelected,
+          disabled: e.isDisabled,
+          highlighted: e.isHighlighted,
+          today: e.isToday,
+          weekend: e.isWeekend,
+          sat: e.isSaturday,
+          sun: e.isSunday,
+          "highlight-start": e.isHighlightStart,
+          "highlight-end": e.isHighlightEnd,
+        };
+      },
+      isHighlightStart: function (e) {
+        return (
+          this.isHighlightedDate(e) &&
+          this.highlighted.from instanceof Date &&
+          this.utils.getFullYear(this.highlighted.from) ===
+            this.utils.getFullYear(e) &&
+          this.utils.getMonth(this.highlighted.from) ===
+            this.utils.getMonth(e) &&
+          this.utils.getDate(this.highlighted.from) === this.utils.getDate(e)
+        );
+      },
+      isHighlightEnd: function (e) {
+        return (
+          this.isHighlightedDate(e) &&
+          this.highlighted.to instanceof Date &&
+          this.utils.getFullYear(this.highlighted.to) ===
+            this.utils.getFullYear(e) &&
+          this.utils.getMonth(this.highlighted.to) === this.utils.getMonth(e) &&
+          this.utils.getDate(this.highlighted.to) === this.utils.getDate(e)
+        );
+      },
+      isDefined: function (e) {
+        return void 0 !== e && e;
+      },
+    },
+  };
+  var p = function () {
+    var e = this,
+      t = e.$createElement,
+      a = e._self._c || t;
+    return a(
+      "div",
+      {
+        directives: [
+          {
+            name: "show",
+            rawName: "v-show",
+            value: e.showDayView,
+            expression: "showDayView",
+          },
+        ],
+        class: [e.calendarClass, "vdp-datepicker__calendar"],
+        style: e.calendarStyle,
+        on: {
+          mousedown: function (e) {
+            e.preventDefault();
+          },
+        },
+      },
+      [
+        e._t("beforeCalendarHeader"),
+        e._v(" "),
+        a("header", [
+          a(
+            "span",
+            {
+              staticClass: "prev",
+              class: { disabled: e.isLeftNavDisabled },
+              on: {
+                click: function (t) {
+                  e.isRtl ? e.nextMonth() : e.previousMonth();
+                },
+              },
+            },
+            [e._v("<")]
+          ),
+          e._v(" "),
+          a(
+            "span",
+            {
+              staticClass: "day__month_btn",
+              class: e.allowedToShowView("month") ? "up" : "",
+              on: { click: e.showMonthCalendar },
+            },
+            [
+              e._v(
+                e._s(e.isYmd ? e.currYearName : e.currMonthName) +
+                  " " +
+                  e._s(e.isYmd ? e.currMonthName : e.currYearName)
+              ),
+            ]
+          ),
+          e._v(" "),
+          a(
+            "span",
+            {
+              staticClass: "next",
+              class: { disabled: e.isRightNavDisabled },
+              on: {
+                click: function (t) {
+                  e.isRtl ? e.previousMonth() : e.nextMonth();
+                },
+              },
+            },
+            [e._v(">")]
+          ),
+        ]),
+        e._v(" "),
+        a(
+          "div",
+          { class: e.isRtl ? "flex-rtl" : "" },
+          [
+            e._l(e.daysOfWeek, function (t) {
+              return a(
+                "span",
+                { key: t.timestamp, staticClass: "cell day-header" },
+                [e._v(e._s(t))]
+              );
+            }),
+            e._v(" "),
+            e.blankDays > 0
+              ? e._l(e.blankDays, function (e) {
+                  return a("span", {
+                    key: e.timestamp,
+                    staticClass: "cell day blank",
+                  });
+                })
+              : e._e(),
+            e._l(e.days, function (t) {
+              return a("span", {
+                key: t.timestamp,
+                staticClass: "cell day",
+                class: e.dayClasses(t),
+                domProps: { innerHTML: e._s(e.dayCellContent(t)) },
+                on: {
+                  click: function (a) {
+                    return e.selectDate(t);
+                  },
+                },
+              });
+            }),
+          ],
+          2
+        ),
+      ],
+      2
+    );
+  };
+  p._withStripped = !0;
+  var g = o(
+    { render: p, staticRenderFns: [] },
+    void 0,
+    u,
+    void 0,
+    !1,
+    void 0,
+    void 0,
+    void 0
+  );
+  const f = {
+    props: {
+      showMonthView: Boolean,
+      selectedDate: Date,
+      pageDate: Date,
+      pageTimestamp: Number,
+      disabledDates: Object,
+      calendarClass: [String, Object, Array],
+      calendarStyle: Object,
+      translation: Object,
+      isRtl: Boolean,
+      allowedToShowView: Function,
+      useUtc: Boolean,
+    },
+    data: function () {
+      return { utils: r(this.useUtc) };
+    },
+    computed: {
+      months: function () {
+        for (
+          var e = this.pageDate,
+            t = [],
+            a = this.useUtc
+              ? new Date(Date.UTC(e.getUTCFullYear(), 0, e.getUTCDate()))
+              : new Date(
+                  e.getFullYear(),
+                  0,
+                  e.getDate(),
+                  e.getHours(),
+                  e.getMinutes()
+                ),
+            i = 0;
+          i < 12;
+          i++
+        )
+          t.push({
+            month: this.utils.getMonthName(i, this.translation.months),
+            timestamp: a.getTime(),
+            isSelected: this.isSelectedMonth(a),
+            isDisabled: this.isDisabledMonth(a),
+          }),
+            this.utils.setMonth(a, this.utils.getMonth(a) + 1);
+        return t;
+      },
+      pageYearName: function () {
+        var e = this.translation.yearSuffix;
+        return "".concat(this.utils.getFullYear(this.pageDate)).concat(e);
+      },
+      isLeftNavDisabled: function () {
+        return this.isRtl
+          ? this.isNextYearDisabled(this.pageTimestamp)
+          : this.isPreviousYearDisabled(this.pageTimestamp);
+      },
+      isRightNavDisabled: function () {
+        return this.isRtl
+          ? this.isPreviousYearDisabled(this.pageTimestamp)
+          : this.isNextYearDisabled(this.pageTimestamp);
+      },
+    },
+    methods: {
+      selectMonth: function (e) {
+        if (e.isDisabled) return !1;
+        this.$emit("selectMonth", e);
+      },
+      changeYear: function (e) {
+        var t = this.pageDate;
+        this.utils.setFullYear(t, this.utils.getFullYear(t) + e),
+          this.$emit("changedYear", t);
+      },
+      previousYear: function () {
+        this.isPreviousYearDisabled() || this.changeYear(-1);
+      },
+      isPreviousYearDisabled: function () {
+        return (
+          !(!this.disabledDates || !this.disabledDates.to) &&
+          this.utils.getFullYear(this.disabledDates.to) >=
+            this.utils.getFullYear(this.pageDate)
+        );
+      },
+      nextYear: function () {
+        this.isNextYearDisabled() || this.changeYear(1);
+      },
+      isNextYearDisabled: function () {
+        return (
+          !(!this.disabledDates || !this.disabledDates.from) &&
+          this.utils.getFullYear(this.disabledDates.from) <=
+            this.utils.getFullYear(this.pageDate)
+        );
+      },
+      showYearCalendar: function () {
+        this.$emit("showYearCalendar");
+      },
+      isSelectedMonth: function (e) {
+        return (
+          this.selectedDate &&
+          this.utils.getFullYear(this.selectedDate) ===
+            this.utils.getFullYear(e) &&
+          this.utils.getMonth(this.selectedDate) === this.utils.getMonth(e)
+        );
+      },
+      isDisabledMonth: function (e) {
+        var t = !1;
+        return (
+          void 0 !== this.disabledDates &&
+          (void 0 !== this.disabledDates.to &&
+            this.disabledDates.to &&
+            ((this.utils.getMonth(e) <
+              this.utils.getMonth(this.disabledDates.to) &&
+              this.utils.getFullYear(e) <=
+                this.utils.getFullYear(this.disabledDates.to)) ||
+              this.utils.getFullYear(e) <
+                this.utils.getFullYear(this.disabledDates.to)) &&
+            (t = !0),
+          void 0 !== this.disabledDates.from &&
+            this.disabledDates.from &&
+            ((this.utils.getMonth(e) >
+              this.utils.getMonth(this.disabledDates.from) &&
+              this.utils.getFullYear(e) >=
+                this.utils.getFullYear(this.disabledDates.from)) ||
+              this.utils.getFullYear(e) >
+                this.utils.getFullYear(this.disabledDates.from)) &&
+            (t = !0),
+          "function" == typeof this.disabledDates.customPredictor &&
+            this.disabledDates.customPredictor(e) &&
+            (t = !0),
+          t)
+        );
+      },
+    },
+  };
+  var D = function () {
+    var e = this,
+      t = e.$createElement,
+      a = e._self._c || t;
+    return a(
+      "div",
+      {
+        directives: [
+          {
+            name: "show",
+            rawName: "v-show",
+            value: e.showMonthView,
+            expression: "showMonthView",
+          },
+        ],
+        class: [e.calendarClass, "vdp-datepicker__calendar"],
+        style: e.calendarStyle,
+        on: {
+          mousedown: function (e) {
+            e.preventDefault();
+          },
+        },
+      },
+      [
+        e._t("beforeCalendarHeader"),
+        e._v(" "),
+        a("header", [
+          a(
+            "span",
+            {
+              staticClass: "prev",
+              class: { disabled: e.isLeftNavDisabled },
+              on: {
+                click: function (t) {
+                  e.isRtl ? e.nextYear() : e.previousYear();
+                },
+              },
+            },
+            [e._v("<")]
+          ),
+          e._v(" "),
+          a(
+            "span",
+            {
+              staticClass: "month__year_btn",
+              class: e.allowedToShowView("year") ? "up" : "",
+              on: { click: e.showYearCalendar },
+            },
+            [e._v(e._s(e.pageYearName))]
+          ),
+          e._v(" "),
+          a(
+            "span",
+            {
+              staticClass: "next",
+              class: { disabled: e.isRightNavDisabled },
+              on: {
+                click: function (t) {
+                  e.isRtl ? e.previousYear() : e.nextYear();
+                },
+              },
+            },
+            [e._v(">")]
+          ),
+        ]),
+        e._v(" "),
+        e._l(e.months, function (t) {
+          return a(
+            "span",
+            {
+              key: t.timestamp,
+              staticClass: "cell month",
+              class: { selected: t.isSelected, disabled: t.isDisabled },
+              on: {
+                click: function (a) {
+                  return a.stopPropagation(), e.selectMonth(t);
+                },
+              },
+            },
+            [e._v(e._s(t.month))]
+          );
+        }),
+      ],
+      2
+    );
+  };
+  D._withStripped = !0;
+  var b = o(
+    { render: D, staticRenderFns: [] },
+    void 0,
+    f,
+    void 0,
+    !1,
+    void 0,
+    void 0,
+    void 0
+  );
+  const m = {
+    props: {
+      showYearView: Boolean,
+      selectedDate: Date,
+      pageDate: Date,
+      pageTimestamp: Number,
+      disabledDates: Object,
+      highlighted: Object,
+      calendarClass: [String, Object, Array],
+      calendarStyle: Object,
+      translation: Object,
+      isRtl: Boolean,
+      allowedToShowView: Function,
+      useUtc: Boolean,
+    },
+    computed: {
+      years: function () {
+        for (
+          var e = this.pageDate,
+            t = [],
+            a = this.useUtc
+              ? new Date(
+                  Date.UTC(
+                    10 * Math.floor(e.getUTCFullYear() / 10),
+                    e.getUTCMonth(),
+                    e.getUTCDate()
+                  )
+                )
+              : new Date(
+                  10 * Math.floor(e.getFullYear() / 10),
+                  e.getMonth(),
+                  e.getDate(),
+                  e.getHours(),
+                  e.getMinutes()
+                ),
+            i = 0;
+          i < 10;
+          i++
+        )
+          t.push({
+            year: this.utils.getFullYear(a),
+            timestamp: a.getTime(),
+            isSelected: this.isSelectedYear(a),
+            isDisabled: this.isDisabledYear(a),
+          }),
+            this.utils.setFullYear(a, this.utils.getFullYear(a) + 1);
+        return t;
+      },
+      getPageDecade: function () {
+        var e = 10 * Math.floor(this.utils.getFullYear(this.pageDate) / 10),
+          t = e + 9,
+          a = this.translation.yearSuffix;
+        return "".concat(e, " - ").concat(t).concat(a);
+      },
+      isLeftNavDisabled: function () {
+        return this.isRtl
+          ? this.isNextDecadeDisabled(this.pageTimestamp)
+          : this.isPreviousDecadeDisabled(this.pageTimestamp);
+      },
+      isRightNavDisabled: function () {
+        return this.isRtl
+          ? this.isPreviousDecadeDisabled(this.pageTimestamp)
+          : this.isNextDecadeDisabled(this.pageTimestamp);
+      },
+    },
+    data: function () {
+      return { utils: r(this.useUtc) };
+    },
+    methods: {
+      selectYear: function (e) {
+        if (e.isDisabled) return !1;
+        this.$emit("selectYear", e);
+      },
+      changeYear: function (e) {
+        var t = this.pageDate;
+        this.utils.setFullYear(t, this.utils.getFullYear(t) + e),
+          this.$emit("changedDecade", t);
+      },
+      previousDecade: function () {
+        if (this.isPreviousDecadeDisabled()) return !1;
+        this.changeYear(-10);
+      },
+      isPreviousDecadeDisabled: function () {
+        return (
+          !(!this.disabledDates || !this.disabledDates.to) &&
+          this.utils.getFullYear(this.disabledDates.to) >
+            10 * Math.floor(this.utils.getFullYear(this.pageDate) / 10) - 1
+        );
+      },
+      nextDecade: function () {
+        if (this.isNextDecadeDisabled()) return !1;
+        this.changeYear(10);
+      },
+      isNextDecadeDisabled: function () {
+        return (
+          !(!this.disabledDates || !this.disabledDates.from) &&
+          this.utils.getFullYear(this.disabledDates.from) <
+            10 * Math.ceil(this.utils.getFullYear(this.pageDate) / 10)
+        );
+      },
+      isSelectedYear: function (e) {
+        return (
+          this.selectedDate &&
+          this.utils.getFullYear(this.selectedDate) ===
+            this.utils.getFullYear(e)
+        );
+      },
+      isDisabledYear: function (e) {
+        var t = !1;
+        return (
+          !(void 0 === this.disabledDates || !this.disabledDates) &&
+          (void 0 !== this.disabledDates.to &&
+            this.disabledDates.to &&
+            this.utils.getFullYear(e) <
+              this.utils.getFullYear(this.disabledDates.to) &&
+            (t = !0),
+          void 0 !== this.disabledDates.from &&
+            this.disabledDates.from &&
+            this.utils.getFullYear(e) >
+              this.utils.getFullYear(this.disabledDates.from) &&
+            (t = !0),
+          "function" == typeof this.disabledDates.customPredictor &&
+            this.disabledDates.customPredictor(e) &&
+            (t = !0),
+          t)
+        );
+      },
+    },
+  };
+  var A = function () {
+    var e = this,
+      t = e.$createElement,
+      a = e._self._c || t;
+    return a(
+      "div",
+      {
+        directives: [
+          {
+            name: "show",
+            rawName: "v-show",
+            value: e.showYearView,
+            expression: "showYearView",
+          },
+        ],
+        class: [e.calendarClass, "vdp-datepicker__calendar"],
+        style: e.calendarStyle,
+        on: {
+          mousedown: function (e) {
+            e.preventDefault();
+          },
+        },
+      },
+      [
+        e._t("beforeCalendarHeader"),
+        e._v(" "),
+        a("header", [
+          a(
+            "span",
+            {
+              staticClass: "prev",
+              class: { disabled: e.isLeftNavDisabled },
+              on: {
+                click: function (t) {
+                  e.isRtl ? e.nextDecade() : e.previousDecade();
+                },
+              },
+            },
+            [e._v("<")]
+          ),
+          e._v(" "),
+          a("span", [e._v(e._s(e.getPageDecade))]),
+          e._v(" "),
+          a(
+            "span",
+            {
+              staticClass: "next",
+              class: { disabled: e.isRightNavDisabled },
+              on: {
+                click: function (t) {
+                  e.isRtl ? e.previousDecade() : e.nextDecade();
+                },
+              },
+            },
+            [e._v(">")]
+          ),
+        ]),
+        e._v(" "),
+        e._l(e.years, function (t) {
+          return a(
+            "span",
+            {
+              key: t.timestamp,
+              staticClass: "cell year",
+              class: { selected: t.isSelected, disabled: t.isDisabled },
+              on: {
+                click: function (a) {
+                  return a.stopPropagation(), e.selectYear(t);
+                },
+              },
+            },
+            [e._v(e._s(t.year))]
+          );
+        }),
+      ],
+      2
+    );
+  };
+  A._withStripped = !0;
+  var v = {
+      components: {
+        DateInput: c,
+        PickerDay: g,
+        PickerMonth: b,
+        PickerYear: o(
+          { render: A, staticRenderFns: [] },
+          void 0,
+          m,
+          void 0,
+          !1,
+          void 0,
+          void 0,
+          void 0
+        ),
+      },
+      props: {
+        value: {
+          validator: function (e) {
+            return l.validateDateInput(e);
+          },
+        },
+        name: String,
+        refName: String,
+        id: String,
+        format: { type: [String, Function], default: "dd MMM yyyy" },
+        language: {
+          type: Object,
+          default: function () {
+            return n;
+          },
+        },
+        openDate: {
+          validator: function (e) {
+            return l.validateDateInput(e);
+          },
+        },
+        dayCellContent: Function,
+        fullMonthName: Boolean,
+        disabledDates: Object,
+        highlighted: Object,
+        placeholder: String,
+        inline: Boolean,
+        calendarClass: [String, Object, Array],
+        inputClass: [String, Object, Array],
+        wrapperClass: [String, Object, Array],
+        mondayFirst: Boolean,
+        clearButton: Boolean,
+        clearButtonIcon: String,
+        calendarButton: Boolean,
+        calendarButtonIcon: String,
+        calendarButtonIconContent: String,
+        bootstrapStyling: Boolean,
+        initialView: String,
+        disabled: Boolean,
+        required: Boolean,
+        typeable: Boolean,
+        useUtc: Boolean,
+        minimumView: { type: String, default: "day" },
+        maximumView: { type: String, default: "year" },
+      },
+      data: function () {
+        var e = this.openDate ? new Date(this.openDate) : new Date(),
+          t = r(this.useUtc);
+        return {
+          pageTimestamp: t.setDate(e, 1),
+          selectedDate: null,
+          showDayView: !1,
+          showMonthView: !1,
+          showYearView: !1,
+          calendarHeight: 0,
+          resetTypedDate: new Date(),
+          utils: t,
+        };
+      },
+      watch: {
+        value: function (e) {
+          this.setValue(e);
+        },
+        openDate: function () {
+          this.setPageDate();
+        },
+        initialView: function () {
+          this.setInitialView();
+        },
+      },
+      computed: {
+        computedInitialView: function () {
+          return this.initialView ? this.initialView : this.minimumView;
+        },
+        pageDate: function () {
+          return new Date(this.pageTimestamp);
+        },
+        translation: function () {
+          return this.language;
+        },
+        calendarStyle: function () {
+          return { position: this.isInline ? "static" : void 0 };
+        },
+        isOpen: function () {
+          return this.showDayView || this.showMonthView || this.showYearView;
+        },
+        isInline: function () {
+          return !!this.inline;
+        },
+        isRtl: function () {
+          return !0 === this.translation.rtl;
+        },
+      },
+      methods: {
+        resetDefaultPageDate: function () {
+          null !== this.selectedDate
+            ? this.setPageDate(this.selectedDate)
+            : this.setPageDate();
+        },
+        showCalendar: function () {
+          return (
+            !this.disabled &&
+            !this.isInline &&
+            (this.isOpen ? this.close(!0) : void this.setInitialView())
+          );
+        },
+        setInitialView: function () {
+          var e = this.computedInitialView;
+          if (!this.allowedToShowView(e))
+            throw new Error(
+              "initialView '"
+                .concat(
+                  this.initialView,
+                  "' cannot be rendered based on minimum '"
+                )
+                .concat(this.minimumView, "' and maximum '")
+                .concat(this.maximumView, "'")
+            );
+          switch (e) {
+            case "year":
+              this.showYearCalendar();
+              break;
+            case "month":
+              this.showMonthCalendar();
+              break;
+            default:
+              this.showDayCalendar();
+          }
+        },
+        allowedToShowView: function (e) {
+          var t = ["day", "month", "year"],
+            a = t.indexOf(this.minimumView),
+            i = t.indexOf(this.maximumView),
+            n = t.indexOf(e);
+          return n >= a && n <= i;
+        },
+        showDayCalendar: function () {
+          return (
+            !!this.allowedToShowView("day") &&
+            (this.close(), (this.showDayView = !0), !0)
+          );
+        },
+        showMonthCalendar: function () {
+          return (
+            !!this.allowedToShowView("month") &&
+            (this.close(), (this.showMonthView = !0), !0)
+          );
+        },
+        showYearCalendar: function () {
+          return (
+            !!this.allowedToShowView("year") &&
+            (this.close(), (this.showYearView = !0), !0)
+          );
+        },
+        setDate: function (e) {
+          var t = new Date(e);
+          (this.selectedDate = t),
+            this.setPageDate(t),
+            this.$emit("selected", t),
+            this.$emit("input", t);
+        },
+        clearDate: function () {
+          (this.selectedDate = null),
+            this.setPageDate(),
+            this.$emit("selected", null),
+            this.$emit("input", null),
+            this.$emit("cleared");
+        },
+        selectDate: function (e) {
+          this.setDate(e.timestamp),
+            this.isInline || this.close(!0),
+            (this.resetTypedDate = new Date());
+        },
+        selectDisabledDate: function (e) {
+          this.$emit("selectedDisabled", e);
+        },
+        selectMonth: function (e) {
+          var t = new Date(e.timestamp);
+          this.allowedToShowView("day")
+            ? (this.setPageDate(t),
+              this.$emit("changedMonth", e),
+              this.showDayCalendar())
+            : this.selectDate(e);
+        },
+        selectYear: function (e) {
+          var t = new Date(e.timestamp);
+          this.allowedToShowView("month")
+            ? (this.setPageDate(t),
+              this.$emit("changedYear", e),
+              this.showMonthCalendar())
+            : this.selectDate(e);
+        },
+        setValue: function (e) {
+          if ("string" == typeof e || "number" == typeof e) {
+            var t = new Date(e);
+            e = isNaN(t.valueOf()) ? null : t;
+          }
+          if (!e) return this.setPageDate(), void (this.selectedDate = null);
+          (this.selectedDate = e), this.setPageDate(e);
+        },
+        setPageDate: function (e) {
+          e || (e = this.openDate ? new Date(this.openDate) : new Date()),
+            (this.pageTimestamp = this.utils.setDate(new Date(e), 1));
+        },
+        handleChangedMonthFromDayPicker: function (e) {
+          this.setPageDate(e), this.$emit("changedMonth", e);
+        },
+        setTypedDate: function (e) {
+          this.setDate(e.getTime());
+        },
+        close: function (e) {
+          (this.showDayView = this.showMonthView = this.showYearView = !1),
+            this.isInline ||
+              (e && this.$emit("closed"),
+              document.removeEventListener("click", this.clickOutside, !1));
+        },
+        init: function () {
+          this.value && this.setValue(this.value),
+            this.isInline && this.setInitialView();
+        },
+      },
+      mounted: function () {
+        this.init();
+      },
+    },
+    y =
+      "undefined" != typeof navigator &&
+      /msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());
+  var _ = document.head || document.getElementsByTagName("head")[0],
+    w = {};
+  var C = function (e) {
+    return function (e, t) {
+      return (function (e, t) {
+        var a = y ? t.media || "default" : e,
+          i = w[a] || (w[a] = { ids: new Set(), styles: [] });
+        if (!i.ids.has(e)) {
+          i.ids.add(e);
+          var n = t.source;
+          if (
+            (t.map &&
+              ((n += "\n/*# sourceURL=" + t.map.sources[0] + " */"),
+              (n +=
+                "\n/*# sourceMappingURL=data:application/json;base64," +
+                btoa(unescape(encodeURIComponent(JSON.stringify(t.map)))) +
+                " */")),
+            i.element ||
+              ((i.element = document.createElement("style")),
+              (i.element.type = "text/css"),
+              t.media && i.element.setAttribute("media", t.media),
+              _.appendChild(i.element)),
+            "styleSheet" in i.element)
+          )
+            i.styles.push(n),
+              (i.element.styleSheet.cssText = i.styles
+                .filter(Boolean)
+                .join("\n"));
+          else {
+            var s = i.ids.size - 1,
+              r = document.createTextNode(n),
+              l = i.element.childNodes;
+            l[s] && i.element.removeChild(l[s]),
+              l.length
+                ? i.element.insertBefore(r, l[s])
+                : i.element.appendChild(r);
+          }
+        }
+      })(e, t);
+    };
+  };
+  const k = v;
+  var B = function () {
+    var e = this,
+      t = e.$createElement,
+      a = e._self._c || t;
+    return a(
+      "div",
+      {
+        staticClass: "vdp-datepicker",
+        class: [e.wrapperClass, e.isRtl ? "rtl" : ""],
+      },
+      [
+        a(
+          "date-input",
+          {
+            attrs: {
+              selectedDate: e.selectedDate,
+              resetTypedDate: e.resetTypedDate,
+              format: e.format,
+              translation: e.translation,
+              inline: e.inline,
+              id: e.id,
+              name: e.name,
+              refName: e.refName,
+              openDate: e.openDate,
+              placeholder: e.placeholder,
+              inputClass: e.inputClass,
+              typeable: e.typeable,
+              clearButton: e.clearButton,
+              clearButtonIcon: e.clearButtonIcon,
+              calendarButton: e.calendarButton,
+              calendarButtonIcon: e.calendarButtonIcon,
+              calendarButtonIconContent: e.calendarButtonIconContent,
+              disabled: e.disabled,
+              required: e.required,
+              bootstrapStyling: e.bootstrapStyling,
+              "use-utc": e.useUtc,
+            },
+            on: {
+              showCalendar: e.showCalendar,
+              closeCalendar: e.close,
+              typedDate: e.setTypedDate,
+              clearDate: e.clearDate,
+            },
+          },
+          [e._t("afterDateInput", null, { slot: "afterDateInput" })],
+          2
+        ),
+        e._v(" "),
+        e.allowedToShowView("day")
+          ? a(
+              "picker-day",
+              {
+                attrs: {
+                  pageDate: e.pageDate,
+                  selectedDate: e.selectedDate,
+                  showDayView: e.showDayView,
+                  fullMonthName: e.fullMonthName,
+                  allowedToShowView: e.allowedToShowView,
+                  disabledDates: e.disabledDates,
+                  highlighted: e.highlighted,
+                  calendarClass: e.calendarClass,
+                  calendarStyle: e.calendarStyle,
+                  translation: e.translation,
+                  pageTimestamp: e.pageTimestamp,
+                  isRtl: e.isRtl,
+                  mondayFirst: e.mondayFirst,
+                  dayCellContent: e.dayCellContent,
+                  "use-utc": e.useUtc,
+                },
+                on: {
+                  changedMonth: e.handleChangedMonthFromDayPicker,
+                  selectDate: e.selectDate,
+                  showMonthCalendar: e.showMonthCalendar,
+                  selectedDisabled: e.selectDisabledDate,
+                },
+              },
+              [
+                e._t("beforeCalendarHeader", null, {
+                  slot: "beforeCalendarHeader",
+                }),
+              ],
+              2
+            )
+          : e._e(),
+        e._v(" "),
+        e.allowedToShowView("month")
+          ? a(
+              "picker-month",
+              {
+                attrs: {
+                  pageDate: e.pageDate,
+                  selectedDate: e.selectedDate,
+                  showMonthView: e.showMonthView,
+                  allowedToShowView: e.allowedToShowView,
+                  disabledDates: e.disabledDates,
+                  calendarClass: e.calendarClass,
+                  calendarStyle: e.calendarStyle,
+                  translation: e.translation,
+                  isRtl: e.isRtl,
+                  "use-utc": e.useUtc,
+                },
+                on: {
+                  selectMonth: e.selectMonth,
+                  showYearCalendar: e.showYearCalendar,
+                  changedYear: e.setPageDate,
+                },
+              },
+              [
+                e._t("beforeCalendarHeader", null, {
+                  slot: "beforeCalendarHeader",
+                }),
+              ],
+              2
+            )
+          : e._e(),
+        e._v(" "),
+        e.allowedToShowView("year")
+          ? a(
+              "picker-year",
+              {
+                attrs: {
+                  pageDate: e.pageDate,
+                  selectedDate: e.selectedDate,
+                  showYearView: e.showYearView,
+                  allowedToShowView: e.allowedToShowView,
+                  disabledDates: e.disabledDates,
+                  calendarClass: e.calendarClass,
+                  calendarStyle: e.calendarStyle,
+                  translation: e.translation,
+                  isRtl: e.isRtl,
+                  "use-utc": e.useUtc,
+                },
+                on: { selectYear: e.selectYear, changedDecade: e.setPageDate },
+              },
+              [
+                e._t("beforeCalendarHeader", null, {
+                  slot: "beforeCalendarHeader",
+                }),
+              ],
+              2
+            )
+          : e._e(),
+      ],
+      1
+    );
+  };
+  B._withStripped = !0;
+  return o(
+    { render: B, staticRenderFns: [] },
+    function (e) {
+      e &&
+        e("data-v-64ca2bb5_0", {
+          source:
+            ".rtl {\n  direction: rtl;\n}\n.vdp-datepicker {\n  position: relative;\n  text-align: left;\n}\n.vdp-datepicker * {\n  box-sizing: border-box;\n}\n.vdp-datepicker__calendar {\n  position: absolute;\n  z-index: 100;\n  background: #fff;\n  width: 300px;\n  border: 1px solid #ccc;\n}\n.vdp-datepicker__calendar header {\n  display: block;\n  line-height: 40px;\n}\n.vdp-datepicker__calendar header span {\n  display: inline-block;\n  text-align: center;\n  width: 71.42857142857143%;\n  float: left;\n}\n.vdp-datepicker__calendar header .prev,\n.vdp-datepicker__calendar header .next {\n  width: 14.285714285714286%;\n  float: left;\n  text-indent: -10000px;\n  position: relative;\n}\n.vdp-datepicker__calendar header .prev:after,\n.vdp-datepicker__calendar header .next:after {\n  content: '';\n  position: absolute;\n  left: 50%;\n  top: 50%;\n  transform: translateX(-50%) translateY(-50%);\n  border: 6px solid transparent;\n}\n.vdp-datepicker__calendar header .prev:after {\n  border-right: 10px solid #000;\n  margin-left: -5px;\n}\n.vdp-datepicker__calendar header .prev.disabled:after {\n  border-right: 10px solid #ddd;\n}\n.vdp-datepicker__calendar header .next:after {\n  border-left: 10px solid #000;\n  margin-left: 5px;\n}\n.vdp-datepicker__calendar header .next.disabled:after {\n  border-left: 10px solid #ddd;\n}\n.vdp-datepicker__calendar header .prev:not(.disabled),\n.vdp-datepicker__calendar header .next:not(.disabled),\n.vdp-datepicker__calendar header .up:not(.disabled) {\n  cursor: pointer;\n}\n.vdp-datepicker__calendar header .prev:not(.disabled):hover,\n.vdp-datepicker__calendar header .next:not(.disabled):hover,\n.vdp-datepicker__calendar header .up:not(.disabled):hover {\n  background: #eee;\n}\n.vdp-datepicker__calendar .disabled {\n  color: #ddd;\n  cursor: default;\n}\n.vdp-datepicker__calendar .flex-rtl {\n  display: flex;\n  width: inherit;\n  flex-wrap: wrap;\n}\n.vdp-datepicker__calendar .cell {\n  display: inline-block;\n  padding: 0 5px;\n  width: 14.285714285714286%;\n  height: 40px;\n  line-height: 40px;\n  text-align: center;\n  vertical-align: middle;\n  border: 1px solid transparent;\n}\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).day,\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).month,\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).year {\n  cursor: pointer;\n}\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).day:hover,\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).month:hover,\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).year:hover {\n  border: 1px solid #4bd;\n}\n.vdp-datepicker__calendar .cell.selected {\n  background: #4bd;\n}\n.vdp-datepicker__calendar .cell.selected:hover {\n  background: #4bd;\n}\n.vdp-datepicker__calendar .cell.selected.highlighted {\n  background: #4bd;\n}\n.vdp-datepicker__calendar .cell.highlighted {\n  background: #cae5ed;\n}\n.vdp-datepicker__calendar .cell.highlighted.disabled {\n  color: #a3a3a3;\n}\n.vdp-datepicker__calendar .cell.grey {\n  color: #888;\n}\n.vdp-datepicker__calendar .cell.grey:hover {\n  background: inherit;\n}\n.vdp-datepicker__calendar .cell.day-header {\n  font-size: 75%;\n  white-space: nowrap;\n  cursor: inherit;\n}\n.vdp-datepicker__calendar .cell.day-header:hover {\n  background: inherit;\n}\n.vdp-datepicker__calendar .month,\n.vdp-datepicker__calendar .year {\n  width: 33.333%;\n}\n.vdp-datepicker__clear-button,\n.vdp-datepicker__calendar-button {\n  cursor: pointer;\n  font-style: normal;\n}\n.vdp-datepicker__clear-button.disabled,\n.vdp-datepicker__calendar-button.disabled {\n  color: #999;\n  cursor: default;\n}\n",
+          map: {
+            version: 3,
+            sources: ["Datepicker.vue"],
+            names: [],
+            mappings:
+              "AAAA;EACE,cAAc;AAChB;AACA;EACE,kBAAkB;EAClB,gBAAgB;AAClB;AACA;EACE,sBAAsB;AACxB;AACA;EACE,kBAAkB;EAClB,YAAY;EACZ,gBAAgB;EAChB,YAAY;EACZ,sBAAsB;AACxB;AACA;EACE,cAAc;EACd,iBAAiB;AACnB;AACA;EACE,qBAAqB;EACrB,kBAAkB;EAClB,yBAAyB;EACzB,WAAW;AACb;AACA;;EAEE,0BAA0B;EAC1B,WAAW;EACX,qBAAqB;EACrB,kBAAkB;AACpB;AACA;;EAEE,WAAW;EACX,kBAAkB;EAClB,SAAS;EACT,QAAQ;EACR,4CAA4C;EAC5C,6BAA6B;AAC/B;AACA;EACE,6BAA6B;EAC7B,iBAAiB;AACnB;AACA;EACE,6BAA6B;AAC/B;AACA;EACE,4BAA4B;EAC5B,gBAAgB;AAClB;AACA;EACE,4BAA4B;AAC9B;AACA;;;EAGE,eAAe;AACjB;AACA;;;EAGE,gBAAgB;AAClB;AACA;EACE,WAAW;EACX,eAAe;AACjB;AACA;EACE,aAAa;EACb,cAAc;EACd,eAAe;AACjB;AACA;EACE,qBAAqB;EACrB,cAAc;EACd,0BAA0B;EAC1B,YAAY;EACZ,iBAAiB;EACjB,kBAAkB;EAClB,sBAAsB;EACtB,6BAA6B;AAC/B;AACA;;;EAGE,eAAe;AACjB;AACA;;;EAGE,sBAAsB;AACxB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,cAAc;AAChB;AACA;EACE,WAAW;AACb;AACA;EACE,mBAAmB;AACrB;AACA;EACE,cAAc;EACd,mBAAmB;EACnB,eAAe;AACjB;AACA;EACE,mBAAmB;AACrB;AACA;;EAEE,cAAc;AAChB;AACA;;EAEE,eAAe;EACf,kBAAkB;AACpB;AACA;;EAEE,WAAW;EACX,eAAe;AACjB",
+            file: "Datepicker.vue",
+            sourcesContent: [
+              ".rtl {\n  direction: rtl;\n}\n.vdp-datepicker {\n  position: relative;\n  text-align: left;\n}\n.vdp-datepicker * {\n  box-sizing: border-box;\n}\n.vdp-datepicker__calendar {\n  position: absolute;\n  z-index: 100;\n  background: #fff;\n  width: 300px;\n  border: 1px solid #ccc;\n}\n.vdp-datepicker__calendar header {\n  display: block;\n  line-height: 40px;\n}\n.vdp-datepicker__calendar header span {\n  display: inline-block;\n  text-align: center;\n  width: 71.42857142857143%;\n  float: left;\n}\n.vdp-datepicker__calendar header .prev,\n.vdp-datepicker__calendar header .next {\n  width: 14.285714285714286%;\n  float: left;\n  text-indent: -10000px;\n  position: relative;\n}\n.vdp-datepicker__calendar header .prev:after,\n.vdp-datepicker__calendar header .next:after {\n  content: '';\n  position: absolute;\n  left: 50%;\n  top: 50%;\n  transform: translateX(-50%) translateY(-50%);\n  border: 6px solid transparent;\n}\n.vdp-datepicker__calendar header .prev:after {\n  border-right: 10px solid #000;\n  margin-left: -5px;\n}\n.vdp-datepicker__calendar header .prev.disabled:after {\n  border-right: 10px solid #ddd;\n}\n.vdp-datepicker__calendar header .next:after {\n  border-left: 10px solid #000;\n  margin-left: 5px;\n}\n.vdp-datepicker__calendar header .next.disabled:after {\n  border-left: 10px solid #ddd;\n}\n.vdp-datepicker__calendar header .prev:not(.disabled),\n.vdp-datepicker__calendar header .next:not(.disabled),\n.vdp-datepicker__calendar header .up:not(.disabled) {\n  cursor: pointer;\n}\n.vdp-datepicker__calendar header .prev:not(.disabled):hover,\n.vdp-datepicker__calendar header .next:not(.disabled):hover,\n.vdp-datepicker__calendar header .up:not(.disabled):hover {\n  background: #eee;\n}\n.vdp-datepicker__calendar .disabled {\n  color: #ddd;\n  cursor: default;\n}\n.vdp-datepicker__calendar .flex-rtl {\n  display: flex;\n  width: inherit;\n  flex-wrap: wrap;\n}\n.vdp-datepicker__calendar .cell {\n  display: inline-block;\n  padding: 0 5px;\n  width: 14.285714285714286%;\n  height: 40px;\n  line-height: 40px;\n  text-align: center;\n  vertical-align: middle;\n  border: 1px solid transparent;\n}\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).day,\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).month,\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).year {\n  cursor: pointer;\n}\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).day:hover,\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).month:hover,\n.vdp-datepicker__calendar .cell:not(.blank):not(.disabled).year:hover {\n  border: 1px solid #4bd;\n}\n.vdp-datepicker__calendar .cell.selected {\n  background: #4bd;\n}\n.vdp-datepicker__calendar .cell.selected:hover {\n  background: #4bd;\n}\n.vdp-datepicker__calendar .cell.selected.highlighted {\n  background: #4bd;\n}\n.vdp-datepicker__calendar .cell.highlighted {\n  background: #cae5ed;\n}\n.vdp-datepicker__calendar .cell.highlighted.disabled {\n  color: #a3a3a3;\n}\n.vdp-datepicker__calendar .cell.grey {\n  color: #888;\n}\n.vdp-datepicker__calendar .cell.grey:hover {\n  background: inherit;\n}\n.vdp-datepicker__calendar .cell.day-header {\n  font-size: 75%;\n  white-space: nowrap;\n  cursor: inherit;\n}\n.vdp-datepicker__calendar .cell.day-header:hover {\n  background: inherit;\n}\n.vdp-datepicker__calendar .month,\n.vdp-datepicker__calendar .year {\n  width: 33.333%;\n}\n.vdp-datepicker__clear-button,\n.vdp-datepicker__calendar-button {\n  cursor: pointer;\n  font-style: normal;\n}\n.vdp-datepicker__clear-button.disabled,\n.vdp-datepicker__calendar-button.disabled {\n  color: #999;\n  cursor: default;\n}\n",
+            ],
+          },
+          media: void 0,
+        });
+    },
+    k,
+    void 0,
+    !1,
+    void 0,
+    C,
+    void 0
+  );
+});
diff --git a/notemyprogress/js/draggable.js b/notemyprogress/js/draggable.js
index dee16afe98a1de5cdd2ee747a24e1936759bd4f5..509ba4069a503074758642e4cb85ed94d3265092 100644
--- a/notemyprogress/js/draggable.js
+++ b/notemyprogress/js/draggable.js
@@ -1,2 +1,2271 @@
-(function(t,n){"object"===typeof exports&&"object"===typeof module?module.exports=n(require("sortablejs")):"function"===typeof define&&define.amd?define(["sortablejs"],n):"object"===typeof exports?exports["vuedraggable"]=n(require("sortablejs")):t["vuedraggable"]=n(t["Sortable"])})("undefined"!==typeof self?self:this,function(t){return function(t){var n={};function e(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,e),o.l=!0,o.exports}return e.m=t,e.c=n,e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:r})},e.r=function(t){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&"object"===typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(e.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var o in t)e.d(r,o,function(n){return t[n]}.bind(null,o));return r},e.n=function(t){var n=t&&t.__esModule?function(){return t["default"]}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p="",e(e.s="fb15")}({"02f4":function(t,n,e){var r=e("4588"),o=e("be13");t.exports=function(t){return function(n,e){var i,u,c=String(o(n)),a=r(e),f=c.length;return a<0||a>=f?t?"":void 0:(i=c.charCodeAt(a),i<55296||i>56319||a+1===f||(u=c.charCodeAt(a+1))<56320||u>57343?t?c.charAt(a):i:t?c.slice(a,a+2):u-56320+(i-55296<<10)+65536)}}},"0390":function(t,n,e){"use strict";var r=e("02f4")(!0);t.exports=function(t,n,e){return n+(e?r(t,n).length:1)}},"07e3":function(t,n){var e={}.hasOwnProperty;t.exports=function(t,n){return e.call(t,n)}},"0bfb":function(t,n,e){"use strict";var r=e("cb7c");t.exports=function(){var t=r(this),n="";return t.global&&(n+="g"),t.ignoreCase&&(n+="i"),t.multiline&&(n+="m"),t.unicode&&(n+="u"),t.sticky&&(n+="y"),n}},"0fc9":function(t,n,e){var r=e("3a38"),o=Math.max,i=Math.min;t.exports=function(t,n){return t=r(t),t<0?o(t+n,0):i(t,n)}},1654:function(t,n,e){"use strict";var r=e("71c1")(!0);e("30f1")(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,n=this._t,e=this._i;return e>=n.length?{value:void 0,done:!0}:(t=r(n,e),this._i+=t.length,{value:t,done:!1})})},1691:function(t,n){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},"1af6":function(t,n,e){var r=e("63b6");r(r.S,"Array",{isArray:e("9003")})},"1bc3":function(t,n,e){var r=e("f772");t.exports=function(t,n){if(!r(t))return t;var e,o;if(n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;if("function"==typeof(e=t.valueOf)&&!r(o=e.call(t)))return o;if(!n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},"1ec9":function(t,n,e){var r=e("f772"),o=e("e53d").document,i=r(o)&&r(o.createElement);t.exports=function(t){return i?o.createElement(t):{}}},"20fd":function(t,n,e){"use strict";var r=e("d9f6"),o=e("aebd");t.exports=function(t,n,e){n in t?r.f(t,n,o(0,e)):t[n]=e}},"214f":function(t,n,e){"use strict";e("b0c5");var r=e("2aba"),o=e("32e9"),i=e("79e5"),u=e("be13"),c=e("2b4c"),a=e("520a"),f=c("species"),s=!i(function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")}),l=function(){var t=/(?:)/,n=t.exec;t.exec=function(){return n.apply(this,arguments)};var e="ab".split(t);return 2===e.length&&"a"===e[0]&&"b"===e[1]}();t.exports=function(t,n,e){var p=c(t),d=!i(function(){var n={};return n[p]=function(){return 7},7!=""[t](n)}),v=d?!i(function(){var n=!1,e=/a/;return e.exec=function(){return n=!0,null},"split"===t&&(e.constructor={},e.constructor[f]=function(){return e}),e[p](""),!n}):void 0;if(!d||!v||"replace"===t&&!s||"split"===t&&!l){var h=/./[p],b=e(u,p,""[t],function(t,n,e,r,o){return n.exec===a?d&&!o?{done:!0,value:h.call(n,e,r)}:{done:!0,value:t.call(e,n,r)}:{done:!1}}),g=b[0],y=b[1];r(String.prototype,t,g),o(RegExp.prototype,p,2==n?function(t,n){return y.call(t,this,n)}:function(t){return y.call(t,this)})}}},"230e":function(t,n,e){var r=e("d3f4"),o=e("7726").document,i=r(o)&&r(o.createElement);t.exports=function(t){return i?o.createElement(t):{}}},"23c6":function(t,n,e){var r=e("2d95"),o=e("2b4c")("toStringTag"),i="Arguments"==r(function(){return arguments}()),u=function(t,n){try{return t[n]}catch(e){}};t.exports=function(t){var n,e,c;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(e=u(n=Object(t),o))?e:i?r(n):"Object"==(c=r(n))&&"function"==typeof n.callee?"Arguments":c}},"241e":function(t,n,e){var r=e("25eb");t.exports=function(t){return Object(r(t))}},"25eb":function(t,n){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on  "+t);return t}},"294c":function(t,n){t.exports=function(t){try{return!!t()}catch(n){return!0}}},"2aba":function(t,n,e){var r=e("7726"),o=e("32e9"),i=e("69a8"),u=e("ca5a")("src"),c=e("fa5b"),a="toString",f=(""+c).split(a);e("8378").inspectSource=function(t){return c.call(t)},(t.exports=function(t,n,e,c){var a="function"==typeof e;a&&(i(e,"name")||o(e,"name",n)),t[n]!==e&&(a&&(i(e,u)||o(e,u,t[n]?""+t[n]:f.join(String(n)))),t===r?t[n]=e:c?t[n]?t[n]=e:o(t,n,e):(delete t[n],o(t,n,e)))})(Function.prototype,a,function(){return"function"==typeof this&&this[u]||c.call(this)})},"2b4c":function(t,n,e){var r=e("5537")("wks"),o=e("ca5a"),i=e("7726").Symbol,u="function"==typeof i,c=t.exports=function(t){return r[t]||(r[t]=u&&i[t]||(u?i:o)("Symbol."+t))};c.store=r},"2d00":function(t,n){t.exports=!1},"2d95":function(t,n){var e={}.toString;t.exports=function(t){return e.call(t).slice(8,-1)}},"2fdb":function(t,n,e){"use strict";var r=e("5ca1"),o=e("d2c8"),i="includes";r(r.P+r.F*e("5147")(i),"String",{includes:function(t){return!!~o(this,t,i).indexOf(t,arguments.length>1?arguments[1]:void 0)}})},"30f1":function(t,n,e){"use strict";var r=e("b8e3"),o=e("63b6"),i=e("9138"),u=e("35e8"),c=e("481b"),a=e("8f60"),f=e("45f2"),s=e("53e2"),l=e("5168")("iterator"),p=!([].keys&&"next"in[].keys()),d="@@iterator",v="keys",h="values",b=function(){return this};t.exports=function(t,n,e,g,y,x,m){a(e,n,g);var w,O,S,j=function(t){if(!p&&t in C)return C[t];switch(t){case v:return function(){return new e(this,t)};case h:return function(){return new e(this,t)}}return function(){return new e(this,t)}},_=n+" Iterator",M=y==h,T=!1,C=t.prototype,E=C[l]||C[d]||y&&C[y],A=E||j(y),P=y?M?j("entries"):A:void 0,I="Array"==n&&C.entries||E;if(I&&(S=s(I.call(new t)),S!==Object.prototype&&S.next&&(f(S,_,!0),r||"function"==typeof S[l]||u(S,l,b))),M&&E&&E.name!==h&&(T=!0,A=function(){return E.call(this)}),r&&!m||!p&&!T&&C[l]||u(C,l,A),c[n]=A,c[_]=b,y)if(w={values:M?A:j(h),keys:x?A:j(v),entries:P},m)for(O in w)O in C||i(C,O,w[O]);else o(o.P+o.F*(p||T),n,w);return w}},"32a6":function(t,n,e){var r=e("241e"),o=e("c3a1");e("ce7e")("keys",function(){return function(t){return o(r(t))}})},"32e9":function(t,n,e){var r=e("86cc"),o=e("4630");t.exports=e("9e1e")?function(t,n,e){return r.f(t,n,o(1,e))}:function(t,n,e){return t[n]=e,t}},"32fc":function(t,n,e){var r=e("e53d").document;t.exports=r&&r.documentElement},"335c":function(t,n,e){var r=e("6b4c");t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},"355d":function(t,n){n.f={}.propertyIsEnumerable},"35e8":function(t,n,e){var r=e("d9f6"),o=e("aebd");t.exports=e("8e60")?function(t,n,e){return r.f(t,n,o(1,e))}:function(t,n,e){return t[n]=e,t}},"36c3":function(t,n,e){var r=e("335c"),o=e("25eb");t.exports=function(t){return r(o(t))}},3702:function(t,n,e){var r=e("481b"),o=e("5168")("iterator"),i=Array.prototype;t.exports=function(t){return void 0!==t&&(r.Array===t||i[o]===t)}},"3a38":function(t,n){var e=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:e)(t)}},"40c3":function(t,n,e){var r=e("6b4c"),o=e("5168")("toStringTag"),i="Arguments"==r(function(){return arguments}()),u=function(t,n){try{return t[n]}catch(e){}};t.exports=function(t){var n,e,c;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(e=u(n=Object(t),o))?e:i?r(n):"Object"==(c=r(n))&&"function"==typeof n.callee?"Arguments":c}},4588:function(t,n){var e=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:e)(t)}},"45f2":function(t,n,e){var r=e("d9f6").f,o=e("07e3"),i=e("5168")("toStringTag");t.exports=function(t,n,e){t&&!o(t=e?t:t.prototype,i)&&r(t,i,{configurable:!0,value:n})}},4630:function(t,n){t.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},"469f":function(t,n,e){e("6c1c"),e("1654"),t.exports=e("7d7b")},"481b":function(t,n){t.exports={}},"4aa6":function(t,n,e){t.exports=e("dc62")},"4bf8":function(t,n,e){var r=e("be13");t.exports=function(t){return Object(r(t))}},"4ee1":function(t,n,e){var r=e("5168")("iterator"),o=!1;try{var i=[7][r]();i["return"]=function(){o=!0},Array.from(i,function(){throw 2})}catch(u){}t.exports=function(t,n){if(!n&&!o)return!1;var e=!1;try{var i=[7],c=i[r]();c.next=function(){return{done:e=!0}},i[r]=function(){return c},t(i)}catch(u){}return e}},"50ed":function(t,n){t.exports=function(t,n){return{value:n,done:!!t}}},5147:function(t,n,e){var r=e("2b4c")("match");t.exports=function(t){var n=/./;try{"/./"[t](n)}catch(e){try{return n[r]=!1,!"/./"[t](n)}catch(o){}}return!0}},5168:function(t,n,e){var r=e("dbdb")("wks"),o=e("62a0"),i=e("e53d").Symbol,u="function"==typeof i,c=t.exports=function(t){return r[t]||(r[t]=u&&i[t]||(u?i:o)("Symbol."+t))};c.store=r},5176:function(t,n,e){t.exports=e("51b6")},"51b6":function(t,n,e){e("a3c3"),t.exports=e("584a").Object.assign},"520a":function(t,n,e){"use strict";var r=e("0bfb"),o=RegExp.prototype.exec,i=String.prototype.replace,u=o,c="lastIndex",a=function(){var t=/a/,n=/b*/g;return o.call(t,"a"),o.call(n,"a"),0!==t[c]||0!==n[c]}(),f=void 0!==/()??/.exec("")[1],s=a||f;s&&(u=function(t){var n,e,u,s,l=this;return f&&(e=new RegExp("^"+l.source+"$(?!\\s)",r.call(l))),a&&(n=l[c]),u=o.call(l,t),a&&u&&(l[c]=l.global?u.index+u[0].length:n),f&&u&&u.length>1&&i.call(u[0],e,function(){for(s=1;s<arguments.length-2;s++)void 0===arguments[s]&&(u[s]=void 0)}),u}),t.exports=u},"53e2":function(t,n,e){var r=e("07e3"),o=e("241e"),i=e("5559")("IE_PROTO"),u=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=o(t),r(t,i)?t[i]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?u:null}},"549b":function(t,n,e){"use strict";var r=e("d864"),o=e("63b6"),i=e("241e"),u=e("b0dc"),c=e("3702"),a=e("b447"),f=e("20fd"),s=e("7cd6");o(o.S+o.F*!e("4ee1")(function(t){Array.from(t)}),"Array",{from:function(t){var n,e,o,l,p=i(t),d="function"==typeof this?this:Array,v=arguments.length,h=v>1?arguments[1]:void 0,b=void 0!==h,g=0,y=s(p);if(b&&(h=r(h,v>2?arguments[2]:void 0,2)),void 0==y||d==Array&&c(y))for(n=a(p.length),e=new d(n);n>g;g++)f(e,g,b?h(p[g],g):p[g]);else for(l=y.call(p),e=new d;!(o=l.next()).done;g++)f(e,g,b?u(l,h,[o.value,g],!0):o.value);return e.length=g,e}})},"54a1":function(t,n,e){e("6c1c"),e("1654"),t.exports=e("95d5")},5537:function(t,n,e){var r=e("8378"),o=e("7726"),i="__core-js_shared__",u=o[i]||(o[i]={});(t.exports=function(t,n){return u[t]||(u[t]=void 0!==n?n:{})})("versions",[]).push({version:r.version,mode:e("2d00")?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},5559:function(t,n,e){var r=e("dbdb")("keys"),o=e("62a0");t.exports=function(t){return r[t]||(r[t]=o(t))}},"584a":function(t,n){var e=t.exports={version:"2.6.5"};"number"==typeof __e&&(__e=e)},"5b4e":function(t,n,e){var r=e("36c3"),o=e("b447"),i=e("0fc9");t.exports=function(t){return function(n,e,u){var c,a=r(n),f=o(a.length),s=i(u,f);if(t&&e!=e){while(f>s)if(c=a[s++],c!=c)return!0}else for(;f>s;s++)if((t||s in a)&&a[s]===e)return t||s||0;return!t&&-1}}},"5ca1":function(t,n,e){var r=e("7726"),o=e("8378"),i=e("32e9"),u=e("2aba"),c=e("9b43"),a="prototype",f=function(t,n,e){var s,l,p,d,v=t&f.F,h=t&f.G,b=t&f.S,g=t&f.P,y=t&f.B,x=h?r:b?r[n]||(r[n]={}):(r[n]||{})[a],m=h?o:o[n]||(o[n]={}),w=m[a]||(m[a]={});for(s in h&&(e=n),e)l=!v&&x&&void 0!==x[s],p=(l?x:e)[s],d=y&&l?c(p,r):g&&"function"==typeof p?c(Function.call,p):p,x&&u(x,s,p,t&f.U),m[s]!=p&&i(m,s,d),g&&w[s]!=p&&(w[s]=p)};r.core=o,f.F=1,f.G=2,f.S=4,f.P=8,f.B=16,f.W=32,f.U=64,f.R=128,t.exports=f},"5d73":function(t,n,e){t.exports=e("469f")},"5f1b":function(t,n,e){"use strict";var r=e("23c6"),o=RegExp.prototype.exec;t.exports=function(t,n){var e=t.exec;if("function"===typeof e){var i=e.call(t,n);if("object"!==typeof i)throw new TypeError("RegExp exec method returned something other than an Object or null");return i}if("RegExp"!==r(t))throw new TypeError("RegExp#exec called on incompatible receiver");return o.call(t,n)}},"626a":function(t,n,e){var r=e("2d95");t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},"62a0":function(t,n){var e=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++e+r).toString(36))}},"63b6":function(t,n,e){var r=e("e53d"),o=e("584a"),i=e("d864"),u=e("35e8"),c=e("07e3"),a="prototype",f=function(t,n,e){var s,l,p,d=t&f.F,v=t&f.G,h=t&f.S,b=t&f.P,g=t&f.B,y=t&f.W,x=v?o:o[n]||(o[n]={}),m=x[a],w=v?r:h?r[n]:(r[n]||{})[a];for(s in v&&(e=n),e)l=!d&&w&&void 0!==w[s],l&&c(x,s)||(p=l?w[s]:e[s],x[s]=v&&"function"!=typeof w[s]?e[s]:g&&l?i(p,r):y&&w[s]==p?function(t){var n=function(n,e,r){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(n);case 2:return new t(n,e)}return new t(n,e,r)}return t.apply(this,arguments)};return n[a]=t[a],n}(p):b&&"function"==typeof p?i(Function.call,p):p,b&&((x.virtual||(x.virtual={}))[s]=p,t&f.R&&m&&!m[s]&&u(m,s,p)))};f.F=1,f.G=2,f.S=4,f.P=8,f.B=16,f.W=32,f.U=64,f.R=128,t.exports=f},6762:function(t,n,e){"use strict";var r=e("5ca1"),o=e("c366")(!0);r(r.P,"Array",{includes:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),e("9c6c")("includes")},6821:function(t,n,e){var r=e("626a"),o=e("be13");t.exports=function(t){return r(o(t))}},"69a8":function(t,n){var e={}.hasOwnProperty;t.exports=function(t,n){return e.call(t,n)}},"6a99":function(t,n,e){var r=e("d3f4");t.exports=function(t,n){if(!r(t))return t;var e,o;if(n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;if("function"==typeof(e=t.valueOf)&&!r(o=e.call(t)))return o;if(!n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},"6b4c":function(t,n){var e={}.toString;t.exports=function(t){return e.call(t).slice(8,-1)}},"6c1c":function(t,n,e){e("c367");for(var r=e("e53d"),o=e("35e8"),i=e("481b"),u=e("5168")("toStringTag"),c="CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(","),a=0;a<c.length;a++){var f=c[a],s=r[f],l=s&&s.prototype;l&&!l[u]&&o(l,u,f),i[f]=i.Array}},"71c1":function(t,n,e){var r=e("3a38"),o=e("25eb");t.exports=function(t){return function(n,e){var i,u,c=String(o(n)),a=r(e),f=c.length;return a<0||a>=f?t?"":void 0:(i=c.charCodeAt(a),i<55296||i>56319||a+1===f||(u=c.charCodeAt(a+1))<56320||u>57343?t?c.charAt(a):i:t?c.slice(a,a+2):u-56320+(i-55296<<10)+65536)}}},7726:function(t,n){var e=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=e)},"774e":function(t,n,e){t.exports=e("d2d5")},"77f1":function(t,n,e){var r=e("4588"),o=Math.max,i=Math.min;t.exports=function(t,n){return t=r(t),t<0?o(t+n,0):i(t,n)}},"794b":function(t,n,e){t.exports=!e("8e60")&&!e("294c")(function(){return 7!=Object.defineProperty(e("1ec9")("div"),"a",{get:function(){return 7}}).a})},"79aa":function(t,n){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},"79e5":function(t,n){t.exports=function(t){try{return!!t()}catch(n){return!0}}},"7cd6":function(t,n,e){var r=e("40c3"),o=e("5168")("iterator"),i=e("481b");t.exports=e("584a").getIteratorMethod=function(t){if(void 0!=t)return t[o]||t["@@iterator"]||i[r(t)]}},"7d7b":function(t,n,e){var r=e("e4ae"),o=e("7cd6");t.exports=e("584a").getIterator=function(t){var n=o(t);if("function"!=typeof n)throw TypeError(t+" is not iterable!");return r(n.call(t))}},"7e90":function(t,n,e){var r=e("d9f6"),o=e("e4ae"),i=e("c3a1");t.exports=e("8e60")?Object.defineProperties:function(t,n){o(t);var e,u=i(n),c=u.length,a=0;while(c>a)r.f(t,e=u[a++],n[e]);return t}},8378:function(t,n){var e=t.exports={version:"2.6.5"};"number"==typeof __e&&(__e=e)},8436:function(t,n){t.exports=function(){}},"86cc":function(t,n,e){var r=e("cb7c"),o=e("c69a"),i=e("6a99"),u=Object.defineProperty;n.f=e("9e1e")?Object.defineProperty:function(t,n,e){if(r(t),n=i(n,!0),r(e),o)try{return u(t,n,e)}catch(c){}if("get"in e||"set"in e)throw TypeError("Accessors not supported!");return"value"in e&&(t[n]=e.value),t}},"8aae":function(t,n,e){e("32a6"),t.exports=e("584a").Object.keys},"8e60":function(t,n,e){t.exports=!e("294c")(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},"8f60":function(t,n,e){"use strict";var r=e("a159"),o=e("aebd"),i=e("45f2"),u={};e("35e8")(u,e("5168")("iterator"),function(){return this}),t.exports=function(t,n,e){t.prototype=r(u,{next:o(1,e)}),i(t,n+" Iterator")}},9003:function(t,n,e){var r=e("6b4c");t.exports=Array.isArray||function(t){return"Array"==r(t)}},9138:function(t,n,e){t.exports=e("35e8")},9306:function(t,n,e){"use strict";var r=e("c3a1"),o=e("9aa9"),i=e("355d"),u=e("241e"),c=e("335c"),a=Object.assign;t.exports=!a||e("294c")(function(){var t={},n={},e=Symbol(),r="abcdefghijklmnopqrst";return t[e]=7,r.split("").forEach(function(t){n[t]=t}),7!=a({},t)[e]||Object.keys(a({},n)).join("")!=r})?function(t,n){var e=u(t),a=arguments.length,f=1,s=o.f,l=i.f;while(a>f){var p,d=c(arguments[f++]),v=s?r(d).concat(s(d)):r(d),h=v.length,b=0;while(h>b)l.call(d,p=v[b++])&&(e[p]=d[p])}return e}:a},9427:function(t,n,e){var r=e("63b6");r(r.S,"Object",{create:e("a159")})},"95d5":function(t,n,e){var r=e("40c3"),o=e("5168")("iterator"),i=e("481b");t.exports=e("584a").isIterable=function(t){var n=Object(t);return void 0!==n[o]||"@@iterator"in n||i.hasOwnProperty(r(n))}},"9aa9":function(t,n){n.f=Object.getOwnPropertySymbols},"9b43":function(t,n,e){var r=e("d8e8");t.exports=function(t,n,e){if(r(t),void 0===n)return t;switch(e){case 1:return function(e){return t.call(n,e)};case 2:return function(e,r){return t.call(n,e,r)};case 3:return function(e,r,o){return t.call(n,e,r,o)}}return function(){return t.apply(n,arguments)}}},"9c6c":function(t,n,e){var r=e("2b4c")("unscopables"),o=Array.prototype;void 0==o[r]&&e("32e9")(o,r,{}),t.exports=function(t){o[r][t]=!0}},"9def":function(t,n,e){var r=e("4588"),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},"9e1e":function(t,n,e){t.exports=!e("79e5")(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},a159:function(t,n,e){var r=e("e4ae"),o=e("7e90"),i=e("1691"),u=e("5559")("IE_PROTO"),c=function(){},a="prototype",f=function(){var t,n=e("1ec9")("iframe"),r=i.length,o="<",u=">";n.style.display="none",e("32fc").appendChild(n),n.src="javascript:",t=n.contentWindow.document,t.open(),t.write(o+"script"+u+"document.F=Object"+o+"/script"+u),t.close(),f=t.F;while(r--)delete f[a][i[r]];return f()};t.exports=Object.create||function(t,n){var e;return null!==t?(c[a]=r(t),e=new c,c[a]=null,e[u]=t):e=f(),void 0===n?e:o(e,n)}},a352:function(n,e){n.exports=t},a3c3:function(t,n,e){var r=e("63b6");r(r.S+r.F,"Object",{assign:e("9306")})},a481:function(t,n,e){"use strict";var r=e("cb7c"),o=e("4bf8"),i=e("9def"),u=e("4588"),c=e("0390"),a=e("5f1b"),f=Math.max,s=Math.min,l=Math.floor,p=/\$([$&`']|\d\d?|<[^>]*>)/g,d=/\$([$&`']|\d\d?)/g,v=function(t){return void 0===t?t:String(t)};e("214f")("replace",2,function(t,n,e,h){return[function(r,o){var i=t(this),u=void 0==r?void 0:r[n];return void 0!==u?u.call(r,i,o):e.call(String(i),r,o)},function(t,n){var o=h(e,t,this,n);if(o.done)return o.value;var l=r(t),p=String(this),d="function"===typeof n;d||(n=String(n));var g=l.global;if(g){var y=l.unicode;l.lastIndex=0}var x=[];while(1){var m=a(l,p);if(null===m)break;if(x.push(m),!g)break;var w=String(m[0]);""===w&&(l.lastIndex=c(p,i(l.lastIndex),y))}for(var O="",S=0,j=0;j<x.length;j++){m=x[j];for(var _=String(m[0]),M=f(s(u(m.index),p.length),0),T=[],C=1;C<m.length;C++)T.push(v(m[C]));var E=m.groups;if(d){var A=[_].concat(T,M,p);void 0!==E&&A.push(E);var P=String(n.apply(void 0,A))}else P=b(_,p,M,T,E,n);M>=S&&(O+=p.slice(S,M)+P,S=M+_.length)}return O+p.slice(S)}];function b(t,n,r,i,u,c){var a=r+t.length,f=i.length,s=d;return void 0!==u&&(u=o(u),s=p),e.call(c,s,function(e,o){var c;switch(o.charAt(0)){case"$":return"$";case"&":return t;case"`":return n.slice(0,r);case"'":return n.slice(a);case"<":c=u[o.slice(1,-1)];break;default:var s=+o;if(0===s)return e;if(s>f){var p=l(s/10);return 0===p?e:p<=f?void 0===i[p-1]?o.charAt(1):i[p-1]+o.charAt(1):e}c=i[s-1]}return void 0===c?"":c})}})},a4bb:function(t,n,e){t.exports=e("8aae")},a745:function(t,n,e){t.exports=e("f410")},aae3:function(t,n,e){var r=e("d3f4"),o=e("2d95"),i=e("2b4c")("match");t.exports=function(t){var n;return r(t)&&(void 0!==(n=t[i])?!!n:"RegExp"==o(t))}},aebd:function(t,n){t.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},b0c5:function(t,n,e){"use strict";var r=e("520a");e("5ca1")({target:"RegExp",proto:!0,forced:r!==/./.exec},{exec:r})},b0dc:function(t,n,e){var r=e("e4ae");t.exports=function(t,n,e,o){try{return o?n(r(e)[0],e[1]):n(e)}catch(u){var i=t["return"];throw void 0!==i&&r(i.call(t)),u}}},b447:function(t,n,e){var r=e("3a38"),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},b8e3:function(t,n){t.exports=!0},be13:function(t,n){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on  "+t);return t}},c366:function(t,n,e){var r=e("6821"),o=e("9def"),i=e("77f1");t.exports=function(t){return function(n,e,u){var c,a=r(n),f=o(a.length),s=i(u,f);if(t&&e!=e){while(f>s)if(c=a[s++],c!=c)return!0}else for(;f>s;s++)if((t||s in a)&&a[s]===e)return t||s||0;return!t&&-1}}},c367:function(t,n,e){"use strict";var r=e("8436"),o=e("50ed"),i=e("481b"),u=e("36c3");t.exports=e("30f1")(Array,"Array",function(t,n){this._t=u(t),this._i=0,this._k=n},function(){var t=this._t,n=this._k,e=this._i++;return!t||e>=t.length?(this._t=void 0,o(1)):o(0,"keys"==n?e:"values"==n?t[e]:[e,t[e]])},"values"),i.Arguments=i.Array,r("keys"),r("values"),r("entries")},c3a1:function(t,n,e){var r=e("e6f3"),o=e("1691");t.exports=Object.keys||function(t){return r(t,o)}},c649:function(t,n,e){"use strict";(function(t){e.d(n,"c",function(){return l}),e.d(n,"a",function(){return f}),e.d(n,"b",function(){return u}),e.d(n,"d",function(){return s});e("a481");var r=e("4aa6"),o=e.n(r);function i(){return"undefined"!==typeof window?window.console:t.console}var u=i();function c(t){var n=o()(null);return function(e){var r=n[e];return r||(n[e]=t(e))}}var a=/-(\w)/g,f=c(function(t){return t.replace(a,function(t,n){return n?n.toUpperCase():""})});function s(t){null!==t.parentElement&&t.parentElement.removeChild(t)}function l(t,n,e){var r=0===e?t.children[0]:t.children[e-1].nextSibling;t.insertBefore(n,r)}}).call(this,e("c8ba"))},c69a:function(t,n,e){t.exports=!e("9e1e")&&!e("79e5")(function(){return 7!=Object.defineProperty(e("230e")("div"),"a",{get:function(){return 7}}).a})},c8ba:function(t,n){var e;e=function(){return this}();try{e=e||new Function("return this")()}catch(r){"object"===typeof window&&(e=window)}t.exports=e},c8bb:function(t,n,e){t.exports=e("54a1")},ca5a:function(t,n){var e=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++e+r).toString(36))}},cb7c:function(t,n,e){var r=e("d3f4");t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},ce7e:function(t,n,e){var r=e("63b6"),o=e("584a"),i=e("294c");t.exports=function(t,n){var e=(o.Object||{})[t]||Object[t],u={};u[t]=n(e),r(r.S+r.F*i(function(){e(1)}),"Object",u)}},d2c8:function(t,n,e){var r=e("aae3"),o=e("be13");t.exports=function(t,n,e){if(r(n))throw TypeError("String#"+e+" doesn't accept regex!");return String(o(t))}},d2d5:function(t,n,e){e("1654"),e("549b"),t.exports=e("584a").Array.from},d3f4:function(t,n){t.exports=function(t){return"object"===typeof t?null!==t:"function"===typeof t}},d864:function(t,n,e){var r=e("79aa");t.exports=function(t,n,e){if(r(t),void 0===n)return t;switch(e){case 1:return function(e){return t.call(n,e)};case 2:return function(e,r){return t.call(n,e,r)};case 3:return function(e,r,o){return t.call(n,e,r,o)}}return function(){return t.apply(n,arguments)}}},d8e8:function(t,n){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},d9f6:function(t,n,e){var r=e("e4ae"),o=e("794b"),i=e("1bc3"),u=Object.defineProperty;n.f=e("8e60")?Object.defineProperty:function(t,n,e){if(r(t),n=i(n,!0),r(e),o)try{return u(t,n,e)}catch(c){}if("get"in e||"set"in e)throw TypeError("Accessors not supported!");return"value"in e&&(t[n]=e.value),t}},dbdb:function(t,n,e){var r=e("584a"),o=e("e53d"),i="__core-js_shared__",u=o[i]||(o[i]={});(t.exports=function(t,n){return u[t]||(u[t]=void 0!==n?n:{})})("versions",[]).push({version:r.version,mode:e("b8e3")?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},dc62:function(t,n,e){e("9427");var r=e("584a").Object;t.exports=function(t,n){return r.create(t,n)}},e4ae:function(t,n,e){var r=e("f772");t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},e53d:function(t,n){var e=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=e)},e6f3:function(t,n,e){var r=e("07e3"),o=e("36c3"),i=e("5b4e")(!1),u=e("5559")("IE_PROTO");t.exports=function(t,n){var e,c=o(t),a=0,f=[];for(e in c)e!=u&&r(c,e)&&f.push(e);while(n.length>a)r(c,e=n[a++])&&(~i(f,e)||f.push(e));return f}},f410:function(t,n,e){e("1af6"),t.exports=e("584a").Array.isArray},f559:function(t,n,e){"use strict";var r=e("5ca1"),o=e("9def"),i=e("d2c8"),u="startsWith",c=""[u];r(r.P+r.F*e("5147")(u),"String",{startsWith:function(t){var n=i(this,t,u),e=o(Math.min(arguments.length>1?arguments[1]:void 0,n.length)),r=String(t);return c?c.call(n,r,e):n.slice(e,e+r.length)===r}})},f772:function(t,n){t.exports=function(t){return"object"===typeof t?null!==t:"function"===typeof t}},fa5b:function(t,n,e){t.exports=e("5537")("native-function-to-string",Function.toString)},fb15:function(t,n,e){"use strict";var r;(e.r(n),"undefined"!==typeof window)&&((r=window.document.currentScript)&&(r=r.src.match(/(.+\/)[^\/]+\.js(\?.*)?$/))&&(e.p=r[1]));var o=e("5176"),i=e.n(o),u=(e("f559"),e("a4bb")),c=e.n(u),a=(e("6762"),e("2fdb"),e("a745")),f=e.n(a);function s(t){if(f()(t))return t}var l=e("5d73"),p=e.n(l);function d(t,n){var e=[],r=!0,o=!1,i=void 0;try{for(var u,c=p()(t);!(r=(u=c.next()).done);r=!0)if(e.push(u.value),n&&e.length===n)break}catch(a){o=!0,i=a}finally{try{r||null==c["return"]||c["return"]()}finally{if(o)throw i}}return e}function v(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}function h(t,n){return s(t)||d(t,n)||v()}function b(t){if(f()(t)){for(var n=0,e=new Array(t.length);n<t.length;n++)e[n]=t[n];return e}}var g=e("774e"),y=e.n(g),x=e("c8bb"),m=e.n(x);function w(t){if(m()(Object(t))||"[object Arguments]"===Object.prototype.toString.call(t))return y()(t)}function O(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function S(t){return b(t)||w(t)||O()}var j=e("a352"),_=e.n(j),M=e("c649");function T(t,n,e){return void 0===e?t:(t=t||{},t[n]=e,t)}function C(t,n){return t.map(function(t){return t.elm}).indexOf(n)}function E(t,n,e,r){if(!t)return[];var o=t.map(function(t){return t.elm}),i=n.length-r,u=S(n).map(function(t,n){return n>=i?o.length:o.indexOf(t)});return e?u.filter(function(t){return-1!==t}):u}function A(t,n){var e=this;this.$nextTick(function(){return e.$emit(t.toLowerCase(),n)})}function P(t){var n=this;return function(e){null!==n.realList&&n["onDrag"+t](e),A.call(n,t,e)}}function I(t){if(!t||1!==t.length)return!1;var n=h(t,1),e=n[0].componentOptions;return!!e&&["transition-group","TransitionGroup"].includes(e.tag)}function L(t,n){var e=n.header,r=n.footer,o=0,i=0;return e&&(o=e.length,t=t?[].concat(S(e),S(t)):S(e)),r&&(i=r.length,t=t?[].concat(S(t),S(r)):S(r)),{children:t,headerOffset:o,footerOffset:i}}function F(t,n){var e=null,r=function(t,n){e=T(e,t,n)},o=c()(t).filter(function(t){return"id"===t||t.startsWith("data-")}).reduce(function(n,e){return n[e]=t[e],n},{});if(r("attrs",o),!n)return e;var u=n.on,a=n.props,f=n.attrs;return r("on",u),r("props",a),i()(e.attrs,f),e}var $=["Start","Add","Remove","Update","End"],k=["Choose","Sort","Filter","Clone"],D=["Move"].concat($,k).map(function(t){return"on"+t}),R=null,V={options:Object,list:{type:Array,required:!1,default:null},value:{type:Array,required:!1,default:null},noTransitionOnDrag:{type:Boolean,default:!1},clone:{type:Function,default:function(t){return t}},element:{type:String,default:"div"},tag:{type:String,default:null},move:{type:Function,default:null},componentData:{type:Object,required:!1,default:null}},N={name:"draggable",inheritAttrs:!1,props:V,data:function(){return{transitionMode:!1,noneFunctionalComponentMode:!1,init:!1}},render:function(t){var n=this.$slots.default;this.transitionMode=I(n);var e=L(n,this.$slots),r=e.children,o=e.headerOffset,i=e.footerOffset;this.headerOffset=o,this.footerOffset=i;var u=F(this.$attrs,this.componentData);return t(this.getTag(),u,r)},created:function(){null!==this.list&&null!==this.value&&M["b"].error("Value and list props are mutually exclusive! Please set one or another."),"div"!==this.element&&M["b"].warn("Element props is deprecated please use tag props instead. See https://github.com/SortableJS/Vue.Draggable/blob/master/documentation/migrate.md#element-props"),void 0!==this.options&&M["b"].warn("Options props is deprecated, add sortable options directly as vue.draggable item, or use v-bind. See https://github.com/SortableJS/Vue.Draggable/blob/master/documentation/migrate.md#options-props")},mounted:function(){var t=this;if(this.noneFunctionalComponentMode=this.getTag().toLowerCase()!==this.$el.nodeName.toLowerCase(),this.noneFunctionalComponentMode&&this.transitionMode)throw new Error("Transition-group inside component is not supported. Please alter tag value or remove transition-group. Current tag value: ".concat(this.getTag()));var n={};$.forEach(function(e){n["on"+e]=P.call(t,e)}),k.forEach(function(e){n["on"+e]=A.bind(t,e)});var e=c()(this.$attrs).reduce(function(n,e){return n[Object(M["a"])(e)]=t.$attrs[e],n},{}),r=i()({},this.options,e,n,{onMove:function(n,e){return t.onDragMove(n,e)}});!("draggable"in r)&&(r.draggable=">*"),this._sortable=new _.a(this.rootContainer,r),this.computeIndexes()},beforeDestroy:function(){void 0!==this._sortable&&this._sortable.destroy()},computed:{rootContainer:function(){return this.transitionMode?this.$el.children[0]:this.$el},realList:function(){return this.list?this.list:this.value}},watch:{options:{handler:function(t){this.updateOptions(t)},deep:!0},$attrs:{handler:function(t){this.updateOptions(t)},deep:!0},realList:function(){this.computeIndexes()}},methods:{getTag:function(){return this.tag||this.element},updateOptions:function(t){for(var n in t){var e=Object(M["a"])(n);-1===D.indexOf(e)&&this._sortable.option(e,t[n])}},getChildrenNodes:function(){if(this.init||(this.noneFunctionalComponentMode=this.noneFunctionalComponentMode&&1===this.$children.length,this.init=!0),this.noneFunctionalComponentMode)return this.$children[0].$slots.default;var t=this.$slots.default;return this.transitionMode?t[0].child.$slots.default:t},computeIndexes:function(){var t=this;this.$nextTick(function(){t.visibleIndexes=E(t.getChildrenNodes(),t.rootContainer.children,t.transitionMode,t.footerOffset)})},getUnderlyingVm:function(t){var n=C(this.getChildrenNodes()||[],t);if(-1===n)return null;var e=this.realList[n];return{index:n,element:e}},getUnderlyingPotencialDraggableComponent:function(t){var n=t.__vue__;return n&&n.$options&&"transition-group"===n.$options._componentTag?n.$parent:n},emitChanges:function(t){var n=this;this.$nextTick(function(){n.$emit("change",t)})},alterList:function(t){if(this.list)t(this.list);else{var n=S(this.value);t(n),this.$emit("input",n)}},spliceList:function(){var t=arguments,n=function(n){return n.splice.apply(n,S(t))};this.alterList(n)},updatePosition:function(t,n){var e=function(e){return e.splice(n,0,e.splice(t,1)[0])};this.alterList(e)},getRelatedContextFromMoveEvent:function(t){var n=t.to,e=t.related,r=this.getUnderlyingPotencialDraggableComponent(n);if(!r)return{component:r};var o=r.realList,u={list:o,component:r};if(n!==e&&o&&r.getUnderlyingVm){var c=r.getUnderlyingVm(e);if(c)return i()(c,u)}return u},getVmIndex:function(t){var n=this.visibleIndexes,e=n.length;return t>e-1?e:n[t]},getComponent:function(){return this.$slots.default[0].componentInstance},resetTransitionData:function(t){if(this.noTransitionOnDrag&&this.transitionMode){var n=this.getChildrenNodes();n[t].data=null;var e=this.getComponent();e.children=[],e.kept=void 0}},onDragStart:function(t){this.context=this.getUnderlyingVm(t.item),t.item._underlying_vm_=this.clone(this.context.element),R=t.item},onDragAdd:function(t){var n=t.item._underlying_vm_;if(void 0!==n){Object(M["d"])(t.item);var e=this.getVmIndex(t.newIndex);this.spliceList(e,0,n),this.computeIndexes();var r={element:n,newIndex:e};this.emitChanges({added:r})}},onDragRemove:function(t){if(Object(M["c"])(this.rootContainer,t.item,t.oldIndex),"clone"!==t.pullMode){var n=this.context.index;this.spliceList(n,1);var e={element:this.context.element,oldIndex:n};this.resetTransitionData(n),this.emitChanges({removed:e})}else Object(M["d"])(t.clone)},onDragUpdate:function(t){Object(M["d"])(t.item),Object(M["c"])(t.from,t.item,t.oldIndex);var n=this.context.index,e=this.getVmIndex(t.newIndex);this.updatePosition(n,e);var r={element:this.context.element,oldIndex:n,newIndex:e};this.emitChanges({moved:r})},updateProperty:function(t,n){t.hasOwnProperty(n)&&(t[n]+=this.headerOffset)},computeFutureIndex:function(t,n){if(!t.element)return 0;var e=S(n.to.children).filter(function(t){return"none"!==t.style["display"]}),r=e.indexOf(n.related),o=t.component.getVmIndex(r),i=-1!==e.indexOf(R);return i||!n.willInsertAfter?o:o+1},onDragMove:function(t,n){var e=this.move;if(!e||!this.realList)return!0;var r=this.getRelatedContextFromMoveEvent(t),o=this.context,u=this.computeFutureIndex(r,t);i()(o,{futureIndex:u});var c=i()({},t,{relatedContext:r,draggedContext:o});return e(c,n)},onDragEnd:function(){this.computeIndexes(),R=null}}};"undefined"!==typeof window&&"Vue"in window&&window.Vue.component("draggable",N);var U=N;n["default"]=U}})["default"]});
-//# sourceMappingURL=vuedraggable.umd.min.js.map
\ No newline at end of file
+(function (t, n) {
+  "object" === typeof exports && "object" === typeof module
+    ? (module.exports = n(require("sortablejs")))
+    : "function" === typeof define && define.amd
+    ? define(["sortablejs"], n)
+    : "object" === typeof exports
+    ? (exports["vuedraggable"] = n(require("sortablejs")))
+    : (t["vuedraggable"] = n(t["Sortable"]));
+})("undefined" !== typeof self ? self : this, function (t) {
+  return (function (t) {
+    var n = {};
+    function e(r) {
+      if (n[r]) return n[r].exports;
+      var o = (n[r] = { i: r, l: !1, exports: {} });
+      return t[r].call(o.exports, o, o.exports, e), (o.l = !0), o.exports;
+    }
+    return (
+      (e.m = t),
+      (e.c = n),
+      (e.d = function (t, n, r) {
+        e.o(t, n) || Object.defineProperty(t, n, { enumerable: !0, get: r });
+      }),
+      (e.r = function (t) {
+        "undefined" !== typeof Symbol &&
+          Symbol.toStringTag &&
+          Object.defineProperty(t, Symbol.toStringTag, { value: "Module" }),
+          Object.defineProperty(t, "__esModule", { value: !0 });
+      }),
+      (e.t = function (t, n) {
+        if ((1 & n && (t = e(t)), 8 & n)) return t;
+        if (4 & n && "object" === typeof t && t && t.__esModule) return t;
+        var r = Object.create(null);
+        if (
+          (e.r(r),
+          Object.defineProperty(r, "default", { enumerable: !0, value: t }),
+          2 & n && "string" != typeof t)
+        )
+          for (var o in t)
+            e.d(
+              r,
+              o,
+              function (n) {
+                return t[n];
+              }.bind(null, o)
+            );
+        return r;
+      }),
+      (e.n = function (t) {
+        var n =
+          t && t.__esModule
+            ? function () {
+                return t["default"];
+              }
+            : function () {
+                return t;
+              };
+        return e.d(n, "a", n), n;
+      }),
+      (e.o = function (t, n) {
+        return Object.prototype.hasOwnProperty.call(t, n);
+      }),
+      (e.p = ""),
+      e((e.s = "fb15"))
+    );
+  })({
+    "02f4": function (t, n, e) {
+      var r = e("4588"),
+        o = e("be13");
+      t.exports = function (t) {
+        return function (n, e) {
+          var i,
+            u,
+            c = String(o(n)),
+            a = r(e),
+            f = c.length;
+          return a < 0 || a >= f
+            ? t
+              ? ""
+              : void 0
+            : ((i = c.charCodeAt(a)),
+              i < 55296 ||
+              i > 56319 ||
+              a + 1 === f ||
+              (u = c.charCodeAt(a + 1)) < 56320 ||
+              u > 57343
+                ? t
+                  ? c.charAt(a)
+                  : i
+                : t
+                ? c.slice(a, a + 2)
+                : u - 56320 + ((i - 55296) << 10) + 65536);
+        };
+      };
+    },
+    "0390": function (t, n, e) {
+      "use strict";
+      var r = e("02f4")(!0);
+      t.exports = function (t, n, e) {
+        return n + (e ? r(t, n).length : 1);
+      };
+    },
+    "07e3": function (t, n) {
+      var e = {}.hasOwnProperty;
+      t.exports = function (t, n) {
+        return e.call(t, n);
+      };
+    },
+    "0bfb": function (t, n, e) {
+      "use strict";
+      var r = e("cb7c");
+      t.exports = function () {
+        var t = r(this),
+          n = "";
+        return (
+          t.global && (n += "g"),
+          t.ignoreCase && (n += "i"),
+          t.multiline && (n += "m"),
+          t.unicode && (n += "u"),
+          t.sticky && (n += "y"),
+          n
+        );
+      };
+    },
+    "0fc9": function (t, n, e) {
+      var r = e("3a38"),
+        o = Math.max,
+        i = Math.min;
+      t.exports = function (t, n) {
+        return (t = r(t)), t < 0 ? o(t + n, 0) : i(t, n);
+      };
+    },
+    1654: function (t, n, e) {
+      "use strict";
+      var r = e("71c1")(!0);
+      e("30f1")(
+        String,
+        "String",
+        function (t) {
+          (this._t = String(t)), (this._i = 0);
+        },
+        function () {
+          var t,
+            n = this._t,
+            e = this._i;
+          return e >= n.length
+            ? { value: void 0, done: !0 }
+            : ((t = r(n, e)), (this._i += t.length), { value: t, done: !1 });
+        }
+      );
+    },
+    1691: function (t, n) {
+      t.exports =
+        "constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(
+          ","
+        );
+    },
+    "1af6": function (t, n, e) {
+      var r = e("63b6");
+      r(r.S, "Array", { isArray: e("9003") });
+    },
+    "1bc3": function (t, n, e) {
+      var r = e("f772");
+      t.exports = function (t, n) {
+        if (!r(t)) return t;
+        var e, o;
+        if (n && "function" == typeof (e = t.toString) && !r((o = e.call(t))))
+          return o;
+        if ("function" == typeof (e = t.valueOf) && !r((o = e.call(t))))
+          return o;
+        if (!n && "function" == typeof (e = t.toString) && !r((o = e.call(t))))
+          return o;
+        throw TypeError("Can't convert object to primitive value");
+      };
+    },
+    "1ec9": function (t, n, e) {
+      var r = e("f772"),
+        o = e("e53d").document,
+        i = r(o) && r(o.createElement);
+      t.exports = function (t) {
+        return i ? o.createElement(t) : {};
+      };
+    },
+    "20fd": function (t, n, e) {
+      "use strict";
+      var r = e("d9f6"),
+        o = e("aebd");
+      t.exports = function (t, n, e) {
+        n in t ? r.f(t, n, o(0, e)) : (t[n] = e);
+      };
+    },
+    "214f": function (t, n, e) {
+      "use strict";
+      e("b0c5");
+      var r = e("2aba"),
+        o = e("32e9"),
+        i = e("79e5"),
+        u = e("be13"),
+        c = e("2b4c"),
+        a = e("520a"),
+        f = c("species"),
+        s = !i(function () {
+          var t = /./;
+          return (
+            (t.exec = function () {
+              var t = [];
+              return (t.groups = { a: "7" }), t;
+            }),
+            "7" !== "".replace(t, "$<a>")
+          );
+        }),
+        l = (function () {
+          var t = /(?:)/,
+            n = t.exec;
+          t.exec = function () {
+            return n.apply(this, arguments);
+          };
+          var e = "ab".split(t);
+          return 2 === e.length && "a" === e[0] && "b" === e[1];
+        })();
+      t.exports = function (t, n, e) {
+        var p = c(t),
+          d = !i(function () {
+            var n = {};
+            return (
+              (n[p] = function () {
+                return 7;
+              }),
+              7 != ""[t](n)
+            );
+          }),
+          v = d
+            ? !i(function () {
+                var n = !1,
+                  e = /a/;
+                return (
+                  (e.exec = function () {
+                    return (n = !0), null;
+                  }),
+                  "split" === t &&
+                    ((e.constructor = {}),
+                    (e.constructor[f] = function () {
+                      return e;
+                    })),
+                  e[p](""),
+                  !n
+                );
+              })
+            : void 0;
+        if (!d || !v || ("replace" === t && !s) || ("split" === t && !l)) {
+          var h = /./[p],
+            b = e(u, p, ""[t], function (t, n, e, r, o) {
+              return n.exec === a
+                ? d && !o
+                  ? { done: !0, value: h.call(n, e, r) }
+                  : { done: !0, value: t.call(e, n, r) }
+                : { done: !1 };
+            }),
+            g = b[0],
+            y = b[1];
+          r(String.prototype, t, g),
+            o(
+              RegExp.prototype,
+              p,
+              2 == n
+                ? function (t, n) {
+                    return y.call(t, this, n);
+                  }
+                : function (t) {
+                    return y.call(t, this);
+                  }
+            );
+        }
+      };
+    },
+    "230e": function (t, n, e) {
+      var r = e("d3f4"),
+        o = e("7726").document,
+        i = r(o) && r(o.createElement);
+      t.exports = function (t) {
+        return i ? o.createElement(t) : {};
+      };
+    },
+    "23c6": function (t, n, e) {
+      var r = e("2d95"),
+        o = e("2b4c")("toStringTag"),
+        i =
+          "Arguments" ==
+          r(
+            (function () {
+              return arguments;
+            })()
+          ),
+        u = function (t, n) {
+          try {
+            return t[n];
+          } catch (e) {}
+        };
+      t.exports = function (t) {
+        var n, e, c;
+        return void 0 === t
+          ? "Undefined"
+          : null === t
+          ? "Null"
+          : "string" == typeof (e = u((n = Object(t)), o))
+          ? e
+          : i
+          ? r(n)
+          : "Object" == (c = r(n)) && "function" == typeof n.callee
+          ? "Arguments"
+          : c;
+      };
+    },
+    "241e": function (t, n, e) {
+      var r = e("25eb");
+      t.exports = function (t) {
+        return Object(r(t));
+      };
+    },
+    "25eb": function (t, n) {
+      t.exports = function (t) {
+        if (void 0 == t) throw TypeError("Can't call method on  " + t);
+        return t;
+      };
+    },
+    "294c": function (t, n) {
+      t.exports = function (t) {
+        try {
+          return !!t();
+        } catch (n) {
+          return !0;
+        }
+      };
+    },
+    "2aba": function (t, n, e) {
+      var r = e("7726"),
+        o = e("32e9"),
+        i = e("69a8"),
+        u = e("ca5a")("src"),
+        c = e("fa5b"),
+        a = "toString",
+        f = ("" + c).split(a);
+      (e("8378").inspectSource = function (t) {
+        return c.call(t);
+      }),
+        (t.exports = function (t, n, e, c) {
+          var a = "function" == typeof e;
+          a && (i(e, "name") || o(e, "name", n)),
+            t[n] !== e &&
+              (a && (i(e, u) || o(e, u, t[n] ? "" + t[n] : f.join(String(n)))),
+              t === r
+                ? (t[n] = e)
+                : c
+                ? t[n]
+                  ? (t[n] = e)
+                  : o(t, n, e)
+                : (delete t[n], o(t, n, e)));
+        })(Function.prototype, a, function () {
+          return ("function" == typeof this && this[u]) || c.call(this);
+        });
+    },
+    "2b4c": function (t, n, e) {
+      var r = e("5537")("wks"),
+        o = e("ca5a"),
+        i = e("7726").Symbol,
+        u = "function" == typeof i,
+        c = (t.exports = function (t) {
+          return r[t] || (r[t] = (u && i[t]) || (u ? i : o)("Symbol." + t));
+        });
+      c.store = r;
+    },
+    "2d00": function (t, n) {
+      t.exports = !1;
+    },
+    "2d95": function (t, n) {
+      var e = {}.toString;
+      t.exports = function (t) {
+        return e.call(t).slice(8, -1);
+      };
+    },
+    "2fdb": function (t, n, e) {
+      "use strict";
+      var r = e("5ca1"),
+        o = e("d2c8"),
+        i = "includes";
+      r(r.P + r.F * e("5147")(i), "String", {
+        includes: function (t) {
+          return !!~o(this, t, i).indexOf(
+            t,
+            arguments.length > 1 ? arguments[1] : void 0
+          );
+        },
+      });
+    },
+    "30f1": function (t, n, e) {
+      "use strict";
+      var r = e("b8e3"),
+        o = e("63b6"),
+        i = e("9138"),
+        u = e("35e8"),
+        c = e("481b"),
+        a = e("8f60"),
+        f = e("45f2"),
+        s = e("53e2"),
+        l = e("5168")("iterator"),
+        p = !([].keys && "next" in [].keys()),
+        d = "@@iterator",
+        v = "keys",
+        h = "values",
+        b = function () {
+          return this;
+        };
+      t.exports = function (t, n, e, g, y, x, m) {
+        a(e, n, g);
+        var w,
+          O,
+          S,
+          j = function (t) {
+            if (!p && t in C) return C[t];
+            switch (t) {
+              case v:
+                return function () {
+                  return new e(this, t);
+                };
+              case h:
+                return function () {
+                  return new e(this, t);
+                };
+            }
+            return function () {
+              return new e(this, t);
+            };
+          },
+          _ = n + " Iterator",
+          M = y == h,
+          T = !1,
+          C = t.prototype,
+          E = C[l] || C[d] || (y && C[y]),
+          A = E || j(y),
+          P = y ? (M ? j("entries") : A) : void 0,
+          I = ("Array" == n && C.entries) || E;
+        if (
+          (I &&
+            ((S = s(I.call(new t()))),
+            S !== Object.prototype &&
+              S.next &&
+              (f(S, _, !0), r || "function" == typeof S[l] || u(S, l, b))),
+          M &&
+            E &&
+            E.name !== h &&
+            ((T = !0),
+            (A = function () {
+              return E.call(this);
+            })),
+          (r && !m) || (!p && !T && C[l]) || u(C, l, A),
+          (c[n] = A),
+          (c[_] = b),
+          y)
+        )
+          if (
+            ((w = { values: M ? A : j(h), keys: x ? A : j(v), entries: P }), m)
+          )
+            for (O in w) O in C || i(C, O, w[O]);
+          else o(o.P + o.F * (p || T), n, w);
+        return w;
+      };
+    },
+    "32a6": function (t, n, e) {
+      var r = e("241e"),
+        o = e("c3a1");
+      e("ce7e")("keys", function () {
+        return function (t) {
+          return o(r(t));
+        };
+      });
+    },
+    "32e9": function (t, n, e) {
+      var r = e("86cc"),
+        o = e("4630");
+      t.exports = e("9e1e")
+        ? function (t, n, e) {
+            return r.f(t, n, o(1, e));
+          }
+        : function (t, n, e) {
+            return (t[n] = e), t;
+          };
+    },
+    "32fc": function (t, n, e) {
+      var r = e("e53d").document;
+      t.exports = r && r.documentElement;
+    },
+    "335c": function (t, n, e) {
+      var r = e("6b4c");
+      t.exports = Object("z").propertyIsEnumerable(0)
+        ? Object
+        : function (t) {
+            return "String" == r(t) ? t.split("") : Object(t);
+          };
+    },
+    "355d": function (t, n) {
+      n.f = {}.propertyIsEnumerable;
+    },
+    "35e8": function (t, n, e) {
+      var r = e("d9f6"),
+        o = e("aebd");
+      t.exports = e("8e60")
+        ? function (t, n, e) {
+            return r.f(t, n, o(1, e));
+          }
+        : function (t, n, e) {
+            return (t[n] = e), t;
+          };
+    },
+    "36c3": function (t, n, e) {
+      var r = e("335c"),
+        o = e("25eb");
+      t.exports = function (t) {
+        return r(o(t));
+      };
+    },
+    3702: function (t, n, e) {
+      var r = e("481b"),
+        o = e("5168")("iterator"),
+        i = Array.prototype;
+      t.exports = function (t) {
+        return void 0 !== t && (r.Array === t || i[o] === t);
+      };
+    },
+    "3a38": function (t, n) {
+      var e = Math.ceil,
+        r = Math.floor;
+      t.exports = function (t) {
+        return isNaN((t = +t)) ? 0 : (t > 0 ? r : e)(t);
+      };
+    },
+    "40c3": function (t, n, e) {
+      var r = e("6b4c"),
+        o = e("5168")("toStringTag"),
+        i =
+          "Arguments" ==
+          r(
+            (function () {
+              return arguments;
+            })()
+          ),
+        u = function (t, n) {
+          try {
+            return t[n];
+          } catch (e) {}
+        };
+      t.exports = function (t) {
+        var n, e, c;
+        return void 0 === t
+          ? "Undefined"
+          : null === t
+          ? "Null"
+          : "string" == typeof (e = u((n = Object(t)), o))
+          ? e
+          : i
+          ? r(n)
+          : "Object" == (c = r(n)) && "function" == typeof n.callee
+          ? "Arguments"
+          : c;
+      };
+    },
+    4588: function (t, n) {
+      var e = Math.ceil,
+        r = Math.floor;
+      t.exports = function (t) {
+        return isNaN((t = +t)) ? 0 : (t > 0 ? r : e)(t);
+      };
+    },
+    "45f2": function (t, n, e) {
+      var r = e("d9f6").f,
+        o = e("07e3"),
+        i = e("5168")("toStringTag");
+      t.exports = function (t, n, e) {
+        t &&
+          !o((t = e ? t : t.prototype), i) &&
+          r(t, i, { configurable: !0, value: n });
+      };
+    },
+    4630: function (t, n) {
+      t.exports = function (t, n) {
+        return {
+          enumerable: !(1 & t),
+          configurable: !(2 & t),
+          writable: !(4 & t),
+          value: n,
+        };
+      };
+    },
+    "469f": function (t, n, e) {
+      e("6c1c"), e("1654"), (t.exports = e("7d7b"));
+    },
+    "481b": function (t, n) {
+      t.exports = {};
+    },
+    "4aa6": function (t, n, e) {
+      t.exports = e("dc62");
+    },
+    "4bf8": function (t, n, e) {
+      var r = e("be13");
+      t.exports = function (t) {
+        return Object(r(t));
+      };
+    },
+    "4ee1": function (t, n, e) {
+      var r = e("5168")("iterator"),
+        o = !1;
+      try {
+        var i = [7][r]();
+        (i["return"] = function () {
+          o = !0;
+        }),
+          Array.from(i, function () {
+            throw 2;
+          });
+      } catch (u) {}
+      t.exports = function (t, n) {
+        if (!n && !o) return !1;
+        var e = !1;
+        try {
+          var i = [7],
+            c = i[r]();
+          (c.next = function () {
+            return { done: (e = !0) };
+          }),
+            (i[r] = function () {
+              return c;
+            }),
+            t(i);
+        } catch (u) {}
+        return e;
+      };
+    },
+    "50ed": function (t, n) {
+      t.exports = function (t, n) {
+        return { value: n, done: !!t };
+      };
+    },
+    5147: function (t, n, e) {
+      var r = e("2b4c")("match");
+      t.exports = function (t) {
+        var n = /./;
+        try {
+          "/./"[t](n);
+        } catch (e) {
+          try {
+            return (n[r] = !1), !"/./"[t](n);
+          } catch (o) {}
+        }
+        return !0;
+      };
+    },
+    5168: function (t, n, e) {
+      var r = e("dbdb")("wks"),
+        o = e("62a0"),
+        i = e("e53d").Symbol,
+        u = "function" == typeof i,
+        c = (t.exports = function (t) {
+          return r[t] || (r[t] = (u && i[t]) || (u ? i : o)("Symbol." + t));
+        });
+      c.store = r;
+    },
+    5176: function (t, n, e) {
+      t.exports = e("51b6");
+    },
+    "51b6": function (t, n, e) {
+      e("a3c3"), (t.exports = e("584a").Object.assign);
+    },
+    "520a": function (t, n, e) {
+      "use strict";
+      var r = e("0bfb"),
+        o = RegExp.prototype.exec,
+        i = String.prototype.replace,
+        u = o,
+        c = "lastIndex",
+        a = (function () {
+          var t = /a/,
+            n = /b*/g;
+          return o.call(t, "a"), o.call(n, "a"), 0 !== t[c] || 0 !== n[c];
+        })(),
+        f = void 0 !== /()??/.exec("")[1],
+        s = a || f;
+      s &&
+        (u = function (t) {
+          var n,
+            e,
+            u,
+            s,
+            l = this;
+          return (
+            f && (e = new RegExp("^" + l.source + "$(?!\\s)", r.call(l))),
+            a && (n = l[c]),
+            (u = o.call(l, t)),
+            a && u && (l[c] = l.global ? u.index + u[0].length : n),
+            f &&
+              u &&
+              u.length > 1 &&
+              i.call(u[0], e, function () {
+                for (s = 1; s < arguments.length - 2; s++)
+                  void 0 === arguments[s] && (u[s] = void 0);
+              }),
+            u
+          );
+        }),
+        (t.exports = u);
+    },
+    "53e2": function (t, n, e) {
+      var r = e("07e3"),
+        o = e("241e"),
+        i = e("5559")("IE_PROTO"),
+        u = Object.prototype;
+      t.exports =
+        Object.getPrototypeOf ||
+        function (t) {
+          return (
+            (t = o(t)),
+            r(t, i)
+              ? t[i]
+              : "function" == typeof t.constructor && t instanceof t.constructor
+              ? t.constructor.prototype
+              : t instanceof Object
+              ? u
+              : null
+          );
+        };
+    },
+    "549b": function (t, n, e) {
+      "use strict";
+      var r = e("d864"),
+        o = e("63b6"),
+        i = e("241e"),
+        u = e("b0dc"),
+        c = e("3702"),
+        a = e("b447"),
+        f = e("20fd"),
+        s = e("7cd6");
+      o(
+        o.S +
+          o.F *
+            !e("4ee1")(function (t) {
+              Array.from(t);
+            }),
+        "Array",
+        {
+          from: function (t) {
+            var n,
+              e,
+              o,
+              l,
+              p = i(t),
+              d = "function" == typeof this ? this : Array,
+              v = arguments.length,
+              h = v > 1 ? arguments[1] : void 0,
+              b = void 0 !== h,
+              g = 0,
+              y = s(p);
+            if (
+              (b && (h = r(h, v > 2 ? arguments[2] : void 0, 2)),
+              void 0 == y || (d == Array && c(y)))
+            )
+              for (n = a(p.length), e = new d(n); n > g; g++)
+                f(e, g, b ? h(p[g], g) : p[g]);
+            else
+              for (l = y.call(p), e = new d(); !(o = l.next()).done; g++)
+                f(e, g, b ? u(l, h, [o.value, g], !0) : o.value);
+            return (e.length = g), e;
+          },
+        }
+      );
+    },
+    "54a1": function (t, n, e) {
+      e("6c1c"), e("1654"), (t.exports = e("95d5"));
+    },
+    5537: function (t, n, e) {
+      var r = e("8378"),
+        o = e("7726"),
+        i = "__core-js_shared__",
+        u = o[i] || (o[i] = {});
+      (t.exports = function (t, n) {
+        return u[t] || (u[t] = void 0 !== n ? n : {});
+      })("versions", []).push({
+        version: r.version,
+        mode: e("2d00") ? "pure" : "global",
+        copyright: "© 2019 Denis Pushkarev (zloirock.ru)",
+      });
+    },
+    5559: function (t, n, e) {
+      var r = e("dbdb")("keys"),
+        o = e("62a0");
+      t.exports = function (t) {
+        return r[t] || (r[t] = o(t));
+      };
+    },
+    "584a": function (t, n) {
+      var e = (t.exports = { version: "2.6.5" });
+      "number" == typeof __e && (__e = e);
+    },
+    "5b4e": function (t, n, e) {
+      var r = e("36c3"),
+        o = e("b447"),
+        i = e("0fc9");
+      t.exports = function (t) {
+        return function (n, e, u) {
+          var c,
+            a = r(n),
+            f = o(a.length),
+            s = i(u, f);
+          if (t && e != e) {
+            while (f > s) if (((c = a[s++]), c != c)) return !0;
+          } else
+            for (; f > s; s++)
+              if ((t || s in a) && a[s] === e) return t || s || 0;
+          return !t && -1;
+        };
+      };
+    },
+    "5ca1": function (t, n, e) {
+      var r = e("7726"),
+        o = e("8378"),
+        i = e("32e9"),
+        u = e("2aba"),
+        c = e("9b43"),
+        a = "prototype",
+        f = function (t, n, e) {
+          var s,
+            l,
+            p,
+            d,
+            v = t & f.F,
+            h = t & f.G,
+            b = t & f.S,
+            g = t & f.P,
+            y = t & f.B,
+            x = h ? r : b ? r[n] || (r[n] = {}) : (r[n] || {})[a],
+            m = h ? o : o[n] || (o[n] = {}),
+            w = m[a] || (m[a] = {});
+          for (s in (h && (e = n), e))
+            (l = !v && x && void 0 !== x[s]),
+              (p = (l ? x : e)[s]),
+              (d =
+                y && l
+                  ? c(p, r)
+                  : g && "function" == typeof p
+                  ? c(Function.call, p)
+                  : p),
+              x && u(x, s, p, t & f.U),
+              m[s] != p && i(m, s, d),
+              g && w[s] != p && (w[s] = p);
+        };
+      (r.core = o),
+        (f.F = 1),
+        (f.G = 2),
+        (f.S = 4),
+        (f.P = 8),
+        (f.B = 16),
+        (f.W = 32),
+        (f.U = 64),
+        (f.R = 128),
+        (t.exports = f);
+    },
+    "5d73": function (t, n, e) {
+      t.exports = e("469f");
+    },
+    "5f1b": function (t, n, e) {
+      "use strict";
+      var r = e("23c6"),
+        o = RegExp.prototype.exec;
+      t.exports = function (t, n) {
+        var e = t.exec;
+        if ("function" === typeof e) {
+          var i = e.call(t, n);
+          if ("object" !== typeof i)
+            throw new TypeError(
+              "RegExp exec method returned something other than an Object or null"
+            );
+          return i;
+        }
+        if ("RegExp" !== r(t))
+          throw new TypeError("RegExp#exec called on incompatible receiver");
+        return o.call(t, n);
+      };
+    },
+    "626a": function (t, n, e) {
+      var r = e("2d95");
+      t.exports = Object("z").propertyIsEnumerable(0)
+        ? Object
+        : function (t) {
+            return "String" == r(t) ? t.split("") : Object(t);
+          };
+    },
+    "62a0": function (t, n) {
+      var e = 0,
+        r = Math.random();
+      t.exports = function (t) {
+        return "Symbol(".concat(
+          void 0 === t ? "" : t,
+          ")_",
+          (++e + r).toString(36)
+        );
+      };
+    },
+    "63b6": function (t, n, e) {
+      var r = e("e53d"),
+        o = e("584a"),
+        i = e("d864"),
+        u = e("35e8"),
+        c = e("07e3"),
+        a = "prototype",
+        f = function (t, n, e) {
+          var s,
+            l,
+            p,
+            d = t & f.F,
+            v = t & f.G,
+            h = t & f.S,
+            b = t & f.P,
+            g = t & f.B,
+            y = t & f.W,
+            x = v ? o : o[n] || (o[n] = {}),
+            m = x[a],
+            w = v ? r : h ? r[n] : (r[n] || {})[a];
+          for (s in (v && (e = n), e))
+            (l = !d && w && void 0 !== w[s]),
+              (l && c(x, s)) ||
+                ((p = l ? w[s] : e[s]),
+                (x[s] =
+                  v && "function" != typeof w[s]
+                    ? e[s]
+                    : g && l
+                    ? i(p, r)
+                    : y && w[s] == p
+                    ? (function (t) {
+                        var n = function (n, e, r) {
+                          if (this instanceof t) {
+                            switch (arguments.length) {
+                              case 0:
+                                return new t();
+                              case 1:
+                                return new t(n);
+                              case 2:
+                                return new t(n, e);
+                            }
+                            return new t(n, e, r);
+                          }
+                          return t.apply(this, arguments);
+                        };
+                        return (n[a] = t[a]), n;
+                      })(p)
+                    : b && "function" == typeof p
+                    ? i(Function.call, p)
+                    : p),
+                b &&
+                  (((x.virtual || (x.virtual = {}))[s] = p),
+                  t & f.R && m && !m[s] && u(m, s, p)));
+        };
+      (f.F = 1),
+        (f.G = 2),
+        (f.S = 4),
+        (f.P = 8),
+        (f.B = 16),
+        (f.W = 32),
+        (f.U = 64),
+        (f.R = 128),
+        (t.exports = f);
+    },
+    6762: function (t, n, e) {
+      "use strict";
+      var r = e("5ca1"),
+        o = e("c366")(!0);
+      r(r.P, "Array", {
+        includes: function (t) {
+          return o(this, t, arguments.length > 1 ? arguments[1] : void 0);
+        },
+      }),
+        e("9c6c")("includes");
+    },
+    6821: function (t, n, e) {
+      var r = e("626a"),
+        o = e("be13");
+      t.exports = function (t) {
+        return r(o(t));
+      };
+    },
+    "69a8": function (t, n) {
+      var e = {}.hasOwnProperty;
+      t.exports = function (t, n) {
+        return e.call(t, n);
+      };
+    },
+    "6a99": function (t, n, e) {
+      var r = e("d3f4");
+      t.exports = function (t, n) {
+        if (!r(t)) return t;
+        var e, o;
+        if (n && "function" == typeof (e = t.toString) && !r((o = e.call(t))))
+          return o;
+        if ("function" == typeof (e = t.valueOf) && !r((o = e.call(t))))
+          return o;
+        if (!n && "function" == typeof (e = t.toString) && !r((o = e.call(t))))
+          return o;
+        throw TypeError("Can't convert object to primitive value");
+      };
+    },
+    "6b4c": function (t, n) {
+      var e = {}.toString;
+      t.exports = function (t) {
+        return e.call(t).slice(8, -1);
+      };
+    },
+    "6c1c": function (t, n, e) {
+      e("c367");
+      for (
+        var r = e("e53d"),
+          o = e("35e8"),
+          i = e("481b"),
+          u = e("5168")("toStringTag"),
+          c =
+            "CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(
+              ","
+            ),
+          a = 0;
+        a < c.length;
+        a++
+      ) {
+        var f = c[a],
+          s = r[f],
+          l = s && s.prototype;
+        l && !l[u] && o(l, u, f), (i[f] = i.Array);
+      }
+    },
+    "71c1": function (t, n, e) {
+      var r = e("3a38"),
+        o = e("25eb");
+      t.exports = function (t) {
+        return function (n, e) {
+          var i,
+            u,
+            c = String(o(n)),
+            a = r(e),
+            f = c.length;
+          return a < 0 || a >= f
+            ? t
+              ? ""
+              : void 0
+            : ((i = c.charCodeAt(a)),
+              i < 55296 ||
+              i > 56319 ||
+              a + 1 === f ||
+              (u = c.charCodeAt(a + 1)) < 56320 ||
+              u > 57343
+                ? t
+                  ? c.charAt(a)
+                  : i
+                : t
+                ? c.slice(a, a + 2)
+                : u - 56320 + ((i - 55296) << 10) + 65536);
+        };
+      };
+    },
+    7726: function (t, n) {
+      var e = (t.exports =
+        "undefined" != typeof window && window.Math == Math
+          ? window
+          : "undefined" != typeof self && self.Math == Math
+          ? self
+          : Function("return this")());
+      "number" == typeof __g && (__g = e);
+    },
+    "774e": function (t, n, e) {
+      t.exports = e("d2d5");
+    },
+    "77f1": function (t, n, e) {
+      var r = e("4588"),
+        o = Math.max,
+        i = Math.min;
+      t.exports = function (t, n) {
+        return (t = r(t)), t < 0 ? o(t + n, 0) : i(t, n);
+      };
+    },
+    "794b": function (t, n, e) {
+      t.exports =
+        !e("8e60") &&
+        !e("294c")(function () {
+          return (
+            7 !=
+            Object.defineProperty(e("1ec9")("div"), "a", {
+              get: function () {
+                return 7;
+              },
+            }).a
+          );
+        });
+    },
+    "79aa": function (t, n) {
+      t.exports = function (t) {
+        if ("function" != typeof t) throw TypeError(t + " is not a function!");
+        return t;
+      };
+    },
+    "79e5": function (t, n) {
+      t.exports = function (t) {
+        try {
+          return !!t();
+        } catch (n) {
+          return !0;
+        }
+      };
+    },
+    "7cd6": function (t, n, e) {
+      var r = e("40c3"),
+        o = e("5168")("iterator"),
+        i = e("481b");
+      t.exports = e("584a").getIteratorMethod = function (t) {
+        if (void 0 != t) return t[o] || t["@@iterator"] || i[r(t)];
+      };
+    },
+    "7d7b": function (t, n, e) {
+      var r = e("e4ae"),
+        o = e("7cd6");
+      t.exports = e("584a").getIterator = function (t) {
+        var n = o(t);
+        if ("function" != typeof n) throw TypeError(t + " is not iterable!");
+        return r(n.call(t));
+      };
+    },
+    "7e90": function (t, n, e) {
+      var r = e("d9f6"),
+        o = e("e4ae"),
+        i = e("c3a1");
+      t.exports = e("8e60")
+        ? Object.defineProperties
+        : function (t, n) {
+            o(t);
+            var e,
+              u = i(n),
+              c = u.length,
+              a = 0;
+            while (c > a) r.f(t, (e = u[a++]), n[e]);
+            return t;
+          };
+    },
+    8378: function (t, n) {
+      var e = (t.exports = { version: "2.6.5" });
+      "number" == typeof __e && (__e = e);
+    },
+    8436: function (t, n) {
+      t.exports = function () {};
+    },
+    "86cc": function (t, n, e) {
+      var r = e("cb7c"),
+        o = e("c69a"),
+        i = e("6a99"),
+        u = Object.defineProperty;
+      n.f = e("9e1e")
+        ? Object.defineProperty
+        : function (t, n, e) {
+            if ((r(t), (n = i(n, !0)), r(e), o))
+              try {
+                return u(t, n, e);
+              } catch (c) {}
+            if ("get" in e || "set" in e)
+              throw TypeError("Accessors not supported!");
+            return "value" in e && (t[n] = e.value), t;
+          };
+    },
+    "8aae": function (t, n, e) {
+      e("32a6"), (t.exports = e("584a").Object.keys);
+    },
+    "8e60": function (t, n, e) {
+      t.exports = !e("294c")(function () {
+        return (
+          7 !=
+          Object.defineProperty({}, "a", {
+            get: function () {
+              return 7;
+            },
+          }).a
+        );
+      });
+    },
+    "8f60": function (t, n, e) {
+      "use strict";
+      var r = e("a159"),
+        o = e("aebd"),
+        i = e("45f2"),
+        u = {};
+      e("35e8")(u, e("5168")("iterator"), function () {
+        return this;
+      }),
+        (t.exports = function (t, n, e) {
+          (t.prototype = r(u, { next: o(1, e) })), i(t, n + " Iterator");
+        });
+    },
+    9003: function (t, n, e) {
+      var r = e("6b4c");
+      t.exports =
+        Array.isArray ||
+        function (t) {
+          return "Array" == r(t);
+        };
+    },
+    9138: function (t, n, e) {
+      t.exports = e("35e8");
+    },
+    9306: function (t, n, e) {
+      "use strict";
+      var r = e("c3a1"),
+        o = e("9aa9"),
+        i = e("355d"),
+        u = e("241e"),
+        c = e("335c"),
+        a = Object.assign;
+      t.exports =
+        !a ||
+        e("294c")(function () {
+          var t = {},
+            n = {},
+            e = Symbol(),
+            r = "abcdefghijklmnopqrst";
+          return (
+            (t[e] = 7),
+            r.split("").forEach(function (t) {
+              n[t] = t;
+            }),
+            7 != a({}, t)[e] || Object.keys(a({}, n)).join("") != r
+          );
+        })
+          ? function (t, n) {
+              var e = u(t),
+                a = arguments.length,
+                f = 1,
+                s = o.f,
+                l = i.f;
+              while (a > f) {
+                var p,
+                  d = c(arguments[f++]),
+                  v = s ? r(d).concat(s(d)) : r(d),
+                  h = v.length,
+                  b = 0;
+                while (h > b) l.call(d, (p = v[b++])) && (e[p] = d[p]);
+              }
+              return e;
+            }
+          : a;
+    },
+    9427: function (t, n, e) {
+      var r = e("63b6");
+      r(r.S, "Object", { create: e("a159") });
+    },
+    "95d5": function (t, n, e) {
+      var r = e("40c3"),
+        o = e("5168")("iterator"),
+        i = e("481b");
+      t.exports = e("584a").isIterable = function (t) {
+        var n = Object(t);
+        return void 0 !== n[o] || "@@iterator" in n || i.hasOwnProperty(r(n));
+      };
+    },
+    "9aa9": function (t, n) {
+      n.f = Object.getOwnPropertySymbols;
+    },
+    "9b43": function (t, n, e) {
+      var r = e("d8e8");
+      t.exports = function (t, n, e) {
+        if ((r(t), void 0 === n)) return t;
+        switch (e) {
+          case 1:
+            return function (e) {
+              return t.call(n, e);
+            };
+          case 2:
+            return function (e, r) {
+              return t.call(n, e, r);
+            };
+          case 3:
+            return function (e, r, o) {
+              return t.call(n, e, r, o);
+            };
+        }
+        return function () {
+          return t.apply(n, arguments);
+        };
+      };
+    },
+    "9c6c": function (t, n, e) {
+      var r = e("2b4c")("unscopables"),
+        o = Array.prototype;
+      void 0 == o[r] && e("32e9")(o, r, {}),
+        (t.exports = function (t) {
+          o[r][t] = !0;
+        });
+    },
+    "9def": function (t, n, e) {
+      var r = e("4588"),
+        o = Math.min;
+      t.exports = function (t) {
+        return t > 0 ? o(r(t), 9007199254740991) : 0;
+      };
+    },
+    "9e1e": function (t, n, e) {
+      t.exports = !e("79e5")(function () {
+        return (
+          7 !=
+          Object.defineProperty({}, "a", {
+            get: function () {
+              return 7;
+            },
+          }).a
+        );
+      });
+    },
+    a159: function (t, n, e) {
+      var r = e("e4ae"),
+        o = e("7e90"),
+        i = e("1691"),
+        u = e("5559")("IE_PROTO"),
+        c = function () {},
+        a = "prototype",
+        f = function () {
+          var t,
+            n = e("1ec9")("iframe"),
+            r = i.length,
+            o = "<",
+            u = ">";
+          (n.style.display = "none"),
+            e("32fc").appendChild(n),
+            (n.src = "javascript:"),
+            (t = n.contentWindow.document),
+            t.open(),
+            t.write(o + "script" + u + "document.F=Object" + o + "/script" + u),
+            t.close(),
+            (f = t.F);
+          while (r--) delete f[a][i[r]];
+          return f();
+        };
+      t.exports =
+        Object.create ||
+        function (t, n) {
+          var e;
+          return (
+            null !== t
+              ? ((c[a] = r(t)), (e = new c()), (c[a] = null), (e[u] = t))
+              : (e = f()),
+            void 0 === n ? e : o(e, n)
+          );
+        };
+    },
+    a352: function (n, e) {
+      n.exports = t;
+    },
+    a3c3: function (t, n, e) {
+      var r = e("63b6");
+      r(r.S + r.F, "Object", { assign: e("9306") });
+    },
+    a481: function (t, n, e) {
+      "use strict";
+      var r = e("cb7c"),
+        o = e("4bf8"),
+        i = e("9def"),
+        u = e("4588"),
+        c = e("0390"),
+        a = e("5f1b"),
+        f = Math.max,
+        s = Math.min,
+        l = Math.floor,
+        p = /\$([$&`']|\d\d?|<[^>]*>)/g,
+        d = /\$([$&`']|\d\d?)/g,
+        v = function (t) {
+          return void 0 === t ? t : String(t);
+        };
+      e("214f")("replace", 2, function (t, n, e, h) {
+        return [
+          function (r, o) {
+            var i = t(this),
+              u = void 0 == r ? void 0 : r[n];
+            return void 0 !== u ? u.call(r, i, o) : e.call(String(i), r, o);
+          },
+          function (t, n) {
+            var o = h(e, t, this, n);
+            if (o.done) return o.value;
+            var l = r(t),
+              p = String(this),
+              d = "function" === typeof n;
+            d || (n = String(n));
+            var g = l.global;
+            if (g) {
+              var y = l.unicode;
+              l.lastIndex = 0;
+            }
+            var x = [];
+            while (1) {
+              var m = a(l, p);
+              if (null === m) break;
+              if ((x.push(m), !g)) break;
+              var w = String(m[0]);
+              "" === w && (l.lastIndex = c(p, i(l.lastIndex), y));
+            }
+            for (var O = "", S = 0, j = 0; j < x.length; j++) {
+              m = x[j];
+              for (
+                var _ = String(m[0]),
+                  M = f(s(u(m.index), p.length), 0),
+                  T = [],
+                  C = 1;
+                C < m.length;
+                C++
+              )
+                T.push(v(m[C]));
+              var E = m.groups;
+              if (d) {
+                var A = [_].concat(T, M, p);
+                void 0 !== E && A.push(E);
+                var P = String(n.apply(void 0, A));
+              } else P = b(_, p, M, T, E, n);
+              M >= S && ((O += p.slice(S, M) + P), (S = M + _.length));
+            }
+            return O + p.slice(S);
+          },
+        ];
+        function b(t, n, r, i, u, c) {
+          var a = r + t.length,
+            f = i.length,
+            s = d;
+          return (
+            void 0 !== u && ((u = o(u)), (s = p)),
+            e.call(c, s, function (e, o) {
+              var c;
+              switch (o.charAt(0)) {
+                case "$":
+                  return "$";
+                case "&":
+                  return t;
+                case "`":
+                  return n.slice(0, r);
+                case "'":
+                  return n.slice(a);
+                case "<":
+                  c = u[o.slice(1, -1)];
+                  break;
+                default:
+                  var s = +o;
+                  if (0 === s) return e;
+                  if (s > f) {
+                    var p = l(s / 10);
+                    return 0 === p
+                      ? e
+                      : p <= f
+                      ? void 0 === i[p - 1]
+                        ? o.charAt(1)
+                        : i[p - 1] + o.charAt(1)
+                      : e;
+                  }
+                  c = i[s - 1];
+              }
+              return void 0 === c ? "" : c;
+            })
+          );
+        }
+      });
+    },
+    a4bb: function (t, n, e) {
+      t.exports = e("8aae");
+    },
+    a745: function (t, n, e) {
+      t.exports = e("f410");
+    },
+    aae3: function (t, n, e) {
+      var r = e("d3f4"),
+        o = e("2d95"),
+        i = e("2b4c")("match");
+      t.exports = function (t) {
+        var n;
+        return r(t) && (void 0 !== (n = t[i]) ? !!n : "RegExp" == o(t));
+      };
+    },
+    aebd: function (t, n) {
+      t.exports = function (t, n) {
+        return {
+          enumerable: !(1 & t),
+          configurable: !(2 & t),
+          writable: !(4 & t),
+          value: n,
+        };
+      };
+    },
+    b0c5: function (t, n, e) {
+      "use strict";
+      var r = e("520a");
+      e("5ca1")(
+        { target: "RegExp", proto: !0, forced: r !== /./.exec },
+        { exec: r }
+      );
+    },
+    b0dc: function (t, n, e) {
+      var r = e("e4ae");
+      t.exports = function (t, n, e, o) {
+        try {
+          return o ? n(r(e)[0], e[1]) : n(e);
+        } catch (u) {
+          var i = t["return"];
+          throw (void 0 !== i && r(i.call(t)), u);
+        }
+      };
+    },
+    b447: function (t, n, e) {
+      var r = e("3a38"),
+        o = Math.min;
+      t.exports = function (t) {
+        return t > 0 ? o(r(t), 9007199254740991) : 0;
+      };
+    },
+    b8e3: function (t, n) {
+      t.exports = !0;
+    },
+    be13: function (t, n) {
+      t.exports = function (t) {
+        if (void 0 == t) throw TypeError("Can't call method on  " + t);
+        return t;
+      };
+    },
+    c366: function (t, n, e) {
+      var r = e("6821"),
+        o = e("9def"),
+        i = e("77f1");
+      t.exports = function (t) {
+        return function (n, e, u) {
+          var c,
+            a = r(n),
+            f = o(a.length),
+            s = i(u, f);
+          if (t && e != e) {
+            while (f > s) if (((c = a[s++]), c != c)) return !0;
+          } else
+            for (; f > s; s++)
+              if ((t || s in a) && a[s] === e) return t || s || 0;
+          return !t && -1;
+        };
+      };
+    },
+    c367: function (t, n, e) {
+      "use strict";
+      var r = e("8436"),
+        o = e("50ed"),
+        i = e("481b"),
+        u = e("36c3");
+      (t.exports = e("30f1")(
+        Array,
+        "Array",
+        function (t, n) {
+          (this._t = u(t)), (this._i = 0), (this._k = n);
+        },
+        function () {
+          var t = this._t,
+            n = this._k,
+            e = this._i++;
+          return !t || e >= t.length
+            ? ((this._t = void 0), o(1))
+            : o(0, "keys" == n ? e : "values" == n ? t[e] : [e, t[e]]);
+        },
+        "values"
+      )),
+        (i.Arguments = i.Array),
+        r("keys"),
+        r("values"),
+        r("entries");
+    },
+    c3a1: function (t, n, e) {
+      var r = e("e6f3"),
+        o = e("1691");
+      t.exports =
+        Object.keys ||
+        function (t) {
+          return r(t, o);
+        };
+    },
+    c649: function (t, n, e) {
+      "use strict";
+      (function (t) {
+        e.d(n, "c", function () {
+          return l;
+        }),
+          e.d(n, "a", function () {
+            return f;
+          }),
+          e.d(n, "b", function () {
+            return u;
+          }),
+          e.d(n, "d", function () {
+            return s;
+          });
+        e("a481");
+        var r = e("4aa6"),
+          o = e.n(r);
+        function i() {
+          return "undefined" !== typeof window ? window.console : t.console;
+        }
+        var u = i();
+        function c(t) {
+          var n = o()(null);
+          return function (e) {
+            var r = n[e];
+            return r || (n[e] = t(e));
+          };
+        }
+        var a = /-(\w)/g,
+          f = c(function (t) {
+            return t.replace(a, function (t, n) {
+              return n ? n.toUpperCase() : "";
+            });
+          });
+        function s(t) {
+          null !== t.parentElement && t.parentElement.removeChild(t);
+        }
+        function l(t, n, e) {
+          var r = 0 === e ? t.children[0] : t.children[e - 1].nextSibling;
+          t.insertBefore(n, r);
+        }
+      }.call(this, e("c8ba")));
+    },
+    c69a: function (t, n, e) {
+      t.exports =
+        !e("9e1e") &&
+        !e("79e5")(function () {
+          return (
+            7 !=
+            Object.defineProperty(e("230e")("div"), "a", {
+              get: function () {
+                return 7;
+              },
+            }).a
+          );
+        });
+    },
+    c8ba: function (t, n) {
+      var e;
+      e = (function () {
+        return this;
+      })();
+      try {
+        e = e || new Function("return this")();
+      } catch (r) {
+        "object" === typeof window && (e = window);
+      }
+      t.exports = e;
+    },
+    c8bb: function (t, n, e) {
+      t.exports = e("54a1");
+    },
+    ca5a: function (t, n) {
+      var e = 0,
+        r = Math.random();
+      t.exports = function (t) {
+        return "Symbol(".concat(
+          void 0 === t ? "" : t,
+          ")_",
+          (++e + r).toString(36)
+        );
+      };
+    },
+    cb7c: function (t, n, e) {
+      var r = e("d3f4");
+      t.exports = function (t) {
+        if (!r(t)) throw TypeError(t + " is not an object!");
+        return t;
+      };
+    },
+    ce7e: function (t, n, e) {
+      var r = e("63b6"),
+        o = e("584a"),
+        i = e("294c");
+      t.exports = function (t, n) {
+        var e = (o.Object || {})[t] || Object[t],
+          u = {};
+        (u[t] = n(e)),
+          r(
+            r.S +
+              r.F *
+                i(function () {
+                  e(1);
+                }),
+            "Object",
+            u
+          );
+      };
+    },
+    d2c8: function (t, n, e) {
+      var r = e("aae3"),
+        o = e("be13");
+      t.exports = function (t, n, e) {
+        if (r(n)) throw TypeError("String#" + e + " doesn't accept regex!");
+        return String(o(t));
+      };
+    },
+    d2d5: function (t, n, e) {
+      e("1654"), e("549b"), (t.exports = e("584a").Array.from);
+    },
+    d3f4: function (t, n) {
+      t.exports = function (t) {
+        return "object" === typeof t ? null !== t : "function" === typeof t;
+      };
+    },
+    d864: function (t, n, e) {
+      var r = e("79aa");
+      t.exports = function (t, n, e) {
+        if ((r(t), void 0 === n)) return t;
+        switch (e) {
+          case 1:
+            return function (e) {
+              return t.call(n, e);
+            };
+          case 2:
+            return function (e, r) {
+              return t.call(n, e, r);
+            };
+          case 3:
+            return function (e, r, o) {
+              return t.call(n, e, r, o);
+            };
+        }
+        return function () {
+          return t.apply(n, arguments);
+        };
+      };
+    },
+    d8e8: function (t, n) {
+      t.exports = function (t) {
+        if ("function" != typeof t) throw TypeError(t + " is not a function!");
+        return t;
+      };
+    },
+    d9f6: function (t, n, e) {
+      var r = e("e4ae"),
+        o = e("794b"),
+        i = e("1bc3"),
+        u = Object.defineProperty;
+      n.f = e("8e60")
+        ? Object.defineProperty
+        : function (t, n, e) {
+            if ((r(t), (n = i(n, !0)), r(e), o))
+              try {
+                return u(t, n, e);
+              } catch (c) {}
+            if ("get" in e || "set" in e)
+              throw TypeError("Accessors not supported!");
+            return "value" in e && (t[n] = e.value), t;
+          };
+    },
+    dbdb: function (t, n, e) {
+      var r = e("584a"),
+        o = e("e53d"),
+        i = "__core-js_shared__",
+        u = o[i] || (o[i] = {});
+      (t.exports = function (t, n) {
+        return u[t] || (u[t] = void 0 !== n ? n : {});
+      })("versions", []).push({
+        version: r.version,
+        mode: e("b8e3") ? "pure" : "global",
+        copyright: "© 2019 Denis Pushkarev (zloirock.ru)",
+      });
+    },
+    dc62: function (t, n, e) {
+      e("9427");
+      var r = e("584a").Object;
+      t.exports = function (t, n) {
+        return r.create(t, n);
+      };
+    },
+    e4ae: function (t, n, e) {
+      var r = e("f772");
+      t.exports = function (t) {
+        if (!r(t)) throw TypeError(t + " is not an object!");
+        return t;
+      };
+    },
+    e53d: function (t, n) {
+      var e = (t.exports =
+        "undefined" != typeof window && window.Math == Math
+          ? window
+          : "undefined" != typeof self && self.Math == Math
+          ? self
+          : Function("return this")());
+      "number" == typeof __g && (__g = e);
+    },
+    e6f3: function (t, n, e) {
+      var r = e("07e3"),
+        o = e("36c3"),
+        i = e("5b4e")(!1),
+        u = e("5559")("IE_PROTO");
+      t.exports = function (t, n) {
+        var e,
+          c = o(t),
+          a = 0,
+          f = [];
+        for (e in c) e != u && r(c, e) && f.push(e);
+        while (n.length > a) r(c, (e = n[a++])) && (~i(f, e) || f.push(e));
+        return f;
+      };
+    },
+    f410: function (t, n, e) {
+      e("1af6"), (t.exports = e("584a").Array.isArray);
+    },
+    f559: function (t, n, e) {
+      "use strict";
+      var r = e("5ca1"),
+        o = e("9def"),
+        i = e("d2c8"),
+        u = "startsWith",
+        c = ""[u];
+      r(r.P + r.F * e("5147")(u), "String", {
+        startsWith: function (t) {
+          var n = i(this, t, u),
+            e = o(
+              Math.min(arguments.length > 1 ? arguments[1] : void 0, n.length)
+            ),
+            r = String(t);
+          return c ? c.call(n, r, e) : n.slice(e, e + r.length) === r;
+        },
+      });
+    },
+    f772: function (t, n) {
+      t.exports = function (t) {
+        return "object" === typeof t ? null !== t : "function" === typeof t;
+      };
+    },
+    fa5b: function (t, n, e) {
+      t.exports = e("5537")("native-function-to-string", Function.toString);
+    },
+    fb15: function (t, n, e) {
+      "use strict";
+      var r;
+      (e.r(n), "undefined" !== typeof window) &&
+        (r = window.document.currentScript) &&
+        (r = r.src.match(/(.+\/)[^\/]+\.js(\?.*)?$/)) &&
+        (e.p = r[1]);
+      var o = e("5176"),
+        i = e.n(o),
+        u = (e("f559"), e("a4bb")),
+        c = e.n(u),
+        a = (e("6762"), e("2fdb"), e("a745")),
+        f = e.n(a);
+      function s(t) {
+        if (f()(t)) return t;
+      }
+      var l = e("5d73"),
+        p = e.n(l);
+      function d(t, n) {
+        var e = [],
+          r = !0,
+          o = !1,
+          i = void 0;
+        try {
+          for (var u, c = p()(t); !(r = (u = c.next()).done); r = !0)
+            if ((e.push(u.value), n && e.length === n)) break;
+        } catch (a) {
+          (o = !0), (i = a);
+        } finally {
+          try {
+            r || null == c["return"] || c["return"]();
+          } finally {
+            if (o) throw i;
+          }
+        }
+        return e;
+      }
+      function v() {
+        throw new TypeError(
+          "Invalid attempt to destructure non-iterable instance"
+        );
+      }
+      function h(t, n) {
+        return s(t) || d(t, n) || v();
+      }
+      function b(t) {
+        if (f()(t)) {
+          for (var n = 0, e = new Array(t.length); n < t.length; n++)
+            e[n] = t[n];
+          return e;
+        }
+      }
+      var g = e("774e"),
+        y = e.n(g),
+        x = e("c8bb"),
+        m = e.n(x);
+      function w(t) {
+        if (
+          m()(Object(t)) ||
+          "[object Arguments]" === Object.prototype.toString.call(t)
+        )
+          return y()(t);
+      }
+      function O() {
+        throw new TypeError("Invalid attempt to spread non-iterable instance");
+      }
+      function S(t) {
+        return b(t) || w(t) || O();
+      }
+      var j = e("a352"),
+        _ = e.n(j),
+        M = e("c649");
+      function T(t, n, e) {
+        return void 0 === e ? t : ((t = t || {}), (t[n] = e), t);
+      }
+      function C(t, n) {
+        return t
+          .map(function (t) {
+            return t.elm;
+          })
+          .indexOf(n);
+      }
+      function E(t, n, e, r) {
+        if (!t) return [];
+        var o = t.map(function (t) {
+            return t.elm;
+          }),
+          i = n.length - r,
+          u = S(n).map(function (t, n) {
+            return n >= i ? o.length : o.indexOf(t);
+          });
+        return e
+          ? u.filter(function (t) {
+              return -1 !== t;
+            })
+          : u;
+      }
+      function A(t, n) {
+        var e = this;
+        this.$nextTick(function () {
+          return e.$emit(t.toLowerCase(), n);
+        });
+      }
+      function P(t) {
+        var n = this;
+        return function (e) {
+          null !== n.realList && n["onDrag" + t](e), A.call(n, t, e);
+        };
+      }
+      function I(t) {
+        if (!t || 1 !== t.length) return !1;
+        var n = h(t, 1),
+          e = n[0].componentOptions;
+        return !!e && ["transition-group", "TransitionGroup"].includes(e.tag);
+      }
+      function L(t, n) {
+        var e = n.header,
+          r = n.footer,
+          o = 0,
+          i = 0;
+        return (
+          e && ((o = e.length), (t = t ? [].concat(S(e), S(t)) : S(e))),
+          r && ((i = r.length), (t = t ? [].concat(S(t), S(r)) : S(r))),
+          { children: t, headerOffset: o, footerOffset: i }
+        );
+      }
+      function F(t, n) {
+        var e = null,
+          r = function (t, n) {
+            e = T(e, t, n);
+          },
+          o = c()(t)
+            .filter(function (t) {
+              return "id" === t || t.startsWith("data-");
+            })
+            .reduce(function (n, e) {
+              return (n[e] = t[e]), n;
+            }, {});
+        if ((r("attrs", o), !n)) return e;
+        var u = n.on,
+          a = n.props,
+          f = n.attrs;
+        return r("on", u), r("props", a), i()(e.attrs, f), e;
+      }
+      var $ = ["Start", "Add", "Remove", "Update", "End"],
+        k = ["Choose", "Sort", "Filter", "Clone"],
+        D = ["Move"].concat($, k).map(function (t) {
+          return "on" + t;
+        }),
+        R = null,
+        V = {
+          options: Object,
+          list: { type: Array, required: !1, default: null },
+          value: { type: Array, required: !1, default: null },
+          noTransitionOnDrag: { type: Boolean, default: !1 },
+          clone: {
+            type: Function,
+            default: function (t) {
+              return t;
+            },
+          },
+          element: { type: String, default: "div" },
+          tag: { type: String, default: null },
+          move: { type: Function, default: null },
+          componentData: { type: Object, required: !1, default: null },
+        },
+        N = {
+          name: "draggable",
+          inheritAttrs: !1,
+          props: V,
+          data: function () {
+            return {
+              transitionMode: !1,
+              noneFunctionalComponentMode: !1,
+              init: !1,
+            };
+          },
+          render: function (t) {
+            var n = this.$slots.default;
+            this.transitionMode = I(n);
+            var e = L(n, this.$slots),
+              r = e.children,
+              o = e.headerOffset,
+              i = e.footerOffset;
+            (this.headerOffset = o), (this.footerOffset = i);
+            var u = F(this.$attrs, this.componentData);
+            return t(this.getTag(), u, r);
+          },
+          created: function () {
+            null !== this.list &&
+              null !== this.value &&
+              M["b"].error(
+                "Value and list props are mutually exclusive! Please set one or another."
+              ),
+              "div" !== this.element &&
+                M["b"].warn(
+                  "Element props is deprecated please use tag props instead. See https://github.com/SortableJS/Vue.Draggable/blob/master/documentation/migrate.md#element-props"
+                ),
+              void 0 !== this.options &&
+                M["b"].warn(
+                  "Options props is deprecated, add sortable options directly as vue.draggable item, or use v-bind. See https://github.com/SortableJS/Vue.Draggable/blob/master/documentation/migrate.md#options-props"
+                );
+          },
+          mounted: function () {
+            var t = this;
+            if (
+              ((this.noneFunctionalComponentMode =
+                this.getTag().toLowerCase() !==
+                this.$el.nodeName.toLowerCase()),
+              this.noneFunctionalComponentMode && this.transitionMode)
+            )
+              throw new Error(
+                "Transition-group inside component is not supported. Please alter tag value or remove transition-group. Current tag value: ".concat(
+                  this.getTag()
+                )
+              );
+            var n = {};
+            $.forEach(function (e) {
+              n["on" + e] = P.call(t, e);
+            }),
+              k.forEach(function (e) {
+                n["on" + e] = A.bind(t, e);
+              });
+            var e = c()(this.$attrs).reduce(function (n, e) {
+                return (n[Object(M["a"])(e)] = t.$attrs[e]), n;
+              }, {}),
+              r = i()({}, this.options, e, n, {
+                onMove: function (n, e) {
+                  return t.onDragMove(n, e);
+                },
+              });
+            !("draggable" in r) && (r.draggable = ">*"),
+              (this._sortable = new _.a(this.rootContainer, r)),
+              this.computeIndexes();
+          },
+          beforeDestroy: function () {
+            void 0 !== this._sortable && this._sortable.destroy();
+          },
+          computed: {
+            rootContainer: function () {
+              return this.transitionMode ? this.$el.children[0] : this.$el;
+            },
+            realList: function () {
+              return this.list ? this.list : this.value;
+            },
+          },
+          watch: {
+            options: {
+              handler: function (t) {
+                this.updateOptions(t);
+              },
+              deep: !0,
+            },
+            $attrs: {
+              handler: function (t) {
+                this.updateOptions(t);
+              },
+              deep: !0,
+            },
+            realList: function () {
+              this.computeIndexes();
+            },
+          },
+          methods: {
+            getTag: function () {
+              return this.tag || this.element;
+            },
+            updateOptions: function (t) {
+              for (var n in t) {
+                var e = Object(M["a"])(n);
+                -1 === D.indexOf(e) && this._sortable.option(e, t[n]);
+              }
+            },
+            getChildrenNodes: function () {
+              if (
+                (this.init ||
+                  ((this.noneFunctionalComponentMode =
+                    this.noneFunctionalComponentMode &&
+                    1 === this.$children.length),
+                  (this.init = !0)),
+                this.noneFunctionalComponentMode)
+              )
+                return this.$children[0].$slots.default;
+              var t = this.$slots.default;
+              return this.transitionMode ? t[0].child.$slots.default : t;
+            },
+            computeIndexes: function () {
+              var t = this;
+              this.$nextTick(function () {
+                t.visibleIndexes = E(
+                  t.getChildrenNodes(),
+                  t.rootContainer.children,
+                  t.transitionMode,
+                  t.footerOffset
+                );
+              });
+            },
+            getUnderlyingVm: function (t) {
+              var n = C(this.getChildrenNodes() || [], t);
+              if (-1 === n) return null;
+              var e = this.realList[n];
+              return { index: n, element: e };
+            },
+            getUnderlyingPotencialDraggableComponent: function (t) {
+              var n = t.__vue__;
+              return n &&
+                n.$options &&
+                "transition-group" === n.$options._componentTag
+                ? n.$parent
+                : n;
+            },
+            emitChanges: function (t) {
+              var n = this;
+              this.$nextTick(function () {
+                n.$emit("change", t);
+              });
+            },
+            alterList: function (t) {
+              if (this.list) t(this.list);
+              else {
+                var n = S(this.value);
+                t(n), this.$emit("input", n);
+              }
+            },
+            spliceList: function () {
+              var t = arguments,
+                n = function (n) {
+                  return n.splice.apply(n, S(t));
+                };
+              this.alterList(n);
+            },
+            updatePosition: function (t, n) {
+              var e = function (e) {
+                return e.splice(n, 0, e.splice(t, 1)[0]);
+              };
+              this.alterList(e);
+            },
+            getRelatedContextFromMoveEvent: function (t) {
+              var n = t.to,
+                e = t.related,
+                r = this.getUnderlyingPotencialDraggableComponent(n);
+              if (!r) return { component: r };
+              var o = r.realList,
+                u = { list: o, component: r };
+              if (n !== e && o && r.getUnderlyingVm) {
+                var c = r.getUnderlyingVm(e);
+                if (c) return i()(c, u);
+              }
+              return u;
+            },
+            getVmIndex: function (t) {
+              var n = this.visibleIndexes,
+                e = n.length;
+              return t > e - 1 ? e : n[t];
+            },
+            getComponent: function () {
+              return this.$slots.default[0].componentInstance;
+            },
+            resetTransitionData: function (t) {
+              if (this.noTransitionOnDrag && this.transitionMode) {
+                var n = this.getChildrenNodes();
+                n[t].data = null;
+                var e = this.getComponent();
+                (e.children = []), (e.kept = void 0);
+              }
+            },
+            onDragStart: function (t) {
+              (this.context = this.getUnderlyingVm(t.item)),
+                (t.item._underlying_vm_ = this.clone(this.context.element)),
+                (R = t.item);
+            },
+            onDragAdd: function (t) {
+              var n = t.item._underlying_vm_;
+              if (void 0 !== n) {
+                Object(M["d"])(t.item);
+                var e = this.getVmIndex(t.newIndex);
+                this.spliceList(e, 0, n), this.computeIndexes();
+                var r = { element: n, newIndex: e };
+                this.emitChanges({ added: r });
+              }
+            },
+            onDragRemove: function (t) {
+              if (
+                (Object(M["c"])(this.rootContainer, t.item, t.oldIndex),
+                "clone" !== t.pullMode)
+              ) {
+                var n = this.context.index;
+                this.spliceList(n, 1);
+                var e = { element: this.context.element, oldIndex: n };
+                this.resetTransitionData(n), this.emitChanges({ removed: e });
+              } else Object(M["d"])(t.clone);
+            },
+            onDragUpdate: function (t) {
+              Object(M["d"])(t.item),
+                Object(M["c"])(t.from, t.item, t.oldIndex);
+              var n = this.context.index,
+                e = this.getVmIndex(t.newIndex);
+              this.updatePosition(n, e);
+              var r = {
+                element: this.context.element,
+                oldIndex: n,
+                newIndex: e,
+              };
+              this.emitChanges({ moved: r });
+            },
+            updateProperty: function (t, n) {
+              t.hasOwnProperty(n) && (t[n] += this.headerOffset);
+            },
+            computeFutureIndex: function (t, n) {
+              if (!t.element) return 0;
+              var e = S(n.to.children).filter(function (t) {
+                  return "none" !== t.style["display"];
+                }),
+                r = e.indexOf(n.related),
+                o = t.component.getVmIndex(r),
+                i = -1 !== e.indexOf(R);
+              return i || !n.willInsertAfter ? o : o + 1;
+            },
+            onDragMove: function (t, n) {
+              var e = this.move;
+              if (!e || !this.realList) return !0;
+              var r = this.getRelatedContextFromMoveEvent(t),
+                o = this.context,
+                u = this.computeFutureIndex(r, t);
+              i()(o, { futureIndex: u });
+              var c = i()({}, t, { relatedContext: r, draggedContext: o });
+              return e(c, n);
+            },
+            onDragEnd: function () {
+              this.computeIndexes(), (R = null);
+            },
+          },
+        };
+      "undefined" !== typeof window &&
+        "Vue" in window &&
+        window.Vue.component("draggable", N);
+      var U = N;
+      n["default"] = U;
+    },
+  })["default"];
+});
+//# sourceMappingURL=vuedraggable.umd.min.js.map
diff --git a/notemyprogress/js/highcharts/highcharts-3d.js.map b/notemyprogress/js/highcharts/highcharts-3d.js.map
index e54f1c0b744c66b756c098fb97dbfb24bb82fac8..c11ccec9541371c9285ff3a34f0670c550244168 100644
--- a/notemyprogress/js/highcharts/highcharts-3d.js.map
+++ b/notemyprogress/js/highcharts/highcharts-3d.js.map
@@ -1 +1,701 @@
-{"version":3,"file":"highcharts-3d.js.map","lineCount":92,"mappings":"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","sources":["highcharts-3d.src.js"],"names":["factory","module","exports","define","amd","Highcharts","undefined","_registerModule","obj","path","args","fn","hasOwnProperty","apply","_modules","H","U","pick","deg2rad","perspective3D","H.perspective3D","coordinate","origin","distance","projection","Number","POSITIVE_INFINITY","z","x","y","perspective","H.perspective","points","chart","insidePlotArea","useInvertedPersp","options3d","options","inverted","plotWidth","plotHeight","depth","vd","viewDistance","scale","scale3d","beta","alpha","Math","cos","sin","plotLeft","plotTop","map","point","cosB","sinB","sinA","cosA","rotated","pointCameraDistance","H.pointCameraDistance","coordinates","sqrt","pow","plotX","plotY","plotZ","shapeArea","H.shapeArea","vertexes","area","i","length","j","shapeArea3D","shapeArea3d","H.shapeArea3d","mathModule","A","Color","Math3D","SVGElement","SVGRenderer","curveTo","cx","cy","rx","ry","start","end","dx","dy","result","arcAngle","PI","concat","dFactor","animObject","color","parse","defined","extend","merge","objectEach","charts","prototype","toLinePath","SVGRenderer.prototype.toLinePath","closed","forEach","push","toLineSegments","SVGRenderer.prototype.toLineSegments","m","face3d","SVGRenderer.prototype.face3d","renderer","ret","createElement","enabled","attr","ret.attr","hash","vertexes2d","chartIndex","visibility","d","arguments","animate","ret.animate","params","polyhedron","SVGRenderer.prototype.polyhedron","g","destroy","styledMode","faces","result.destroy","call","result.attr","val","complete","continueAnimation","pop","add","fill","result.animate","duration","element3dMethods","initArgs","elem3d","paths","pathType","zIndexes","parts","part","zIndex","group","originalDestroy","destroyParts","forcedSides","singleSetterForParts","prop","values","verb","newAttr","optionsToApply","hasZIndexes","partVal","processParts","props","partsProps","cuboidMethods","key","shapeArgs","fillSetter","front","top","brighten","indexOf","get","side","elements3d","base","cuboid","element3d","SVGRenderer.prototype.element3d","type","SVGRenderer.prototype.cuboid","cuboidPath","SVGRenderer.prototype.cuboidPath","mapSidePath","h","pArr","mapPath","height","w","width","pickShape","verticesIndex1","verticesIndex2","face1","face2","dummyFace1","dummyFace2","shape","back","path1","isFront","bottom","path2","isTop","right","left","path3","isRight","incrementX","incrementY","incrementZ","round","arc3d","SVGRenderer.prototype.arc3d","attribs","suckOutCustom","hasCA","ca","customAttribs","wrapper","side1","side2","inn","out","onAdd","wrapper.onAdd","parent","parentGroup","className","face","setPaths","wrapper.setPaths","arc3dPath","zTop","zInn","zOut","zSide1","zSide2","center","setRadialReference","wrapper.fillSetter","value","darker","setter","el","wrapper.attr","paramArr","wrapper.animate","animation","from","randomProp","random","toString","substring","anim","globalAnimation","noop","to","step","anim.step","a","fx","interpolate","pos","elem","r","innerR","wrapper.destroy","hide","wrapper.hide","show","wrapper.show","inherit","SVGRenderer.prototype.arc3dPath","toZeroPIRange","angle","ir","cs","ss","ce","se","irx","iry","b","start2","end2","midEnd","angleCorr","atan2","angleEnd","abs","angleStart","angleMid","a1","incPrecision","a2","a3","max","addEvent","wrap","Tick3D","compose","Tick3D.compose","TickClass","onAfterGetLabelPosition","wrapGetMarkPath","Tick3D.onAfterGetLabelPosition","e","axis3D","axis","fix3dPosition","Tick3D.wrapGetMarkPath","proceed","slice","Tick","Axis3DAdditions","Axis3DAdditions.prototype.fix3dPosition","isTitle","coll","chart3d","is3d","positionMode","title","position3d","labels","skew","skew3d","frame","frame3d","plotRight","plotBottom","reverseFlap","offsetX","offsetY","vecY","swapZ","isZAxis","opposite","axes","vecX","xDir","frontFacing","horiz","cosa","sinb","sina","cosb","projected","pointsProjected","matrix","Axis3DAdditions.prototype.swapZ","p","Axis3D","Axis3D.compose","AxisClass","defaultOptions","keepProps","onInit","onAfterSetOptions","onDrawCrosshair","onDestroy","axisProto","wrapGetLinePath","wrapGetPlotBandPath","wrapGetPlotLinePath","wrapGetSlotWidth","wrapGetTitlePosition","Axis3D.onAfterSetOptions","tickWidth","gridLineWidth","Axis3D.onDestroy","Axis3D.onDrawCrosshair","crosshairPos","isXAxis","axisXpos","len","axisYpos","Axis3D.onInit","Axis3D.wrapGetLinePath","Axis3D.wrapGetPlotBandPath","fromPath","getPlotLinePath","toPath","fromStartSeg","fromEndSeg","toStartSeg","toEndSeg","Axis3D.wrapGetPlotLinePath","startSegment","endSegment","pathSegments","visible","Axis3D.wrapGetSlotWidth","tick","ticks","gridGroup","categories","frameShapes","label","firstGridLine","element","childNodes","getBBox","frame3DLeft","prevLabelPos","nextLabelPos","tickId","prevTick","nextTick","xy","labelPos","slotWidth","Axis3D.wrapGetTitlePosition","Axis","__extends","extendStatics","Object","setPrototypeOf","__proto__","Array","__","constructor","create","splat","ZChart","ZChart.compose","ChartClass","onAfterGetAxes","chartProto","addZAxis","wrapAddZAxis","collectionsWithInit","zAxis","collectionsWithUpdate","ZChart.onAfterGetAxes","zAxisOptions","axisOptions","index","isX","setScale","ZChart.wrapAddZAxis","ZAxis","_super","userOptions","_this","getSeriesExtremes","ZAxis.prototype.getSeriesExtremes","hasVisibleSeries","dataMin","dataMax","ignoreMinPadding","ignoreMaxPadding","stacking","buildStacks","series","ignoreHiddenSeries","zData","min","setAxisSize","ZAxis.prototype.setAxisSize","chartWidth","setOptions","ZAxis.prototype.setOptions","offset","lineWidth","ZChartComposition","Chart","Fx","O","genericDefaultOptions","isArray","Chart3D","onAddSeries","onAfterDrawChartBox","get3dFrame","xm","xp","ym","yp","zp","xmm","size","xpp","ymm","ypp","zmm","zm","zpp","hasRendered","onAfterGetContainer","definition","tagName","textContent","name","slope","cfg","id","children","onAfterInit","s","defaultSeriesType","onAfterSetChartSize","clipBox","margin","chartHeight","fitToPlot","getScale","onBeforeRedraw","isDirtyBox","onBeforeRender","Composition","wrapIsInsidePlot","wrapRenderSeries","translate","render","wrapSetClassName","container","Composition.prototype.get3dFrame","frameOptions","faceOrientation","bottomOrientation","topOrientation","leftOrientation","rightOrientation","frontOrientation","backOrientation","defaultShowBottom","defaultShowTop","defaultShowLeft","defaultShowRight","xAxis","yAxis","getFaceOptions","sources","defaultVisible","faceAttrs","isVisible","defaultShowBack","defaultShowFront","axisLabelPosition","isValidEdge","yEdges","xBottomEdges","xTopEdges","zBottomEdges","zTopEdges","pickEdge","edges","mult","best","projections","Composition.prototype.getScale","originX","originY","MAX_VALUE","corners","corner","minX","maxX","minY","maxY","FxClass","fxProto","chartProto.is3d","propsRequireDirtyBox","propsRequireUpdateSeries","matrixSetter","fxProto.matrixSetter","interpolated","Series","translate3dPoints","H.Series.prototype.translate3dPoints","rawPoints","data","rawPoint","zValue","logarithmic","val2lin","isInside","axisZpos","projectedPoints","projectedPoint","BaseSeries","StackItem","retrieveStacks","stacks","stackNumber","stack","position","totalStacks","pointAttribs","stroke","edgeColor","edgeWidth","setState","state","inactiveOtherPoints","hasNewShapeType","_i","graphic","nodeName","columnProto","seriesTypes","column","svg","translate3dShapes","outside3dPlot","columnProto.translate3dPoints","columnProto.translate3dShapes","seriesOptions","groupZPadding","borderCrisp","borderWidth","point2dPos","reversed","grouping","tooltipPos","borderlessBase","dimensions","shapeType","clientX","plot3d","init","shapey","stackY","negative","drawDataLabels","columnGroup","getPlotBox","survive","vis","pointVis","handle3dGrouping","reversedStacks","pointClass","columnRange","columnRangeProto","columnrange","plotGroup","setVisible","dataLabel","alignTo","is","inside","xOffset","pointWidth","dLPosition","stackItem","xWidth","stackBox","baseSeriesInd","split","columnSeries","pie","slicedTranslation","translateX","slicedOffset","translateY","labelPosition","connectorPosition","yOffset","natural","breakAt","touchingSliceAt","update","markerGroup","oldtranslateX","oldtranslateY","scaleX","scaleY","attrSetters","Point","seriesType","tooltip","pointFormat","scatter","axisTypes","pointArrayMap","parallelArrays","directTouch","applyOptions"]}
\ No newline at end of file
+{
+  "version": 3,
+  "file": "highcharts-3d.js.map",
+  "lineCount": 92,
+  "mappings": "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",
+  "sources": [
+    "highcharts-3d.src.js"
+  ],
+  "names": [
+    "factory",
+    "module",
+    "exports",
+    "define",
+    "amd",
+    "Highcharts",
+    "undefined",
+    "_registerModule",
+    "obj",
+    "path",
+    "args",
+    "fn",
+    "hasOwnProperty",
+    "apply",
+    "_modules",
+    "H",
+    "U",
+    "pick",
+    "deg2rad",
+    "perspective3D",
+    "H.perspective3D",
+    "coordinate",
+    "origin",
+    "distance",
+    "projection",
+    "Number",
+    "POSITIVE_INFINITY",
+    "z",
+    "x",
+    "y",
+    "perspective",
+    "H.perspective",
+    "points",
+    "chart",
+    "insidePlotArea",
+    "useInvertedPersp",
+    "options3d",
+    "options",
+    "inverted",
+    "plotWidth",
+    "plotHeight",
+    "depth",
+    "vd",
+    "viewDistance",
+    "scale",
+    "scale3d",
+    "beta",
+    "alpha",
+    "Math",
+    "cos",
+    "sin",
+    "plotLeft",
+    "plotTop",
+    "map",
+    "point",
+    "cosB",
+    "sinB",
+    "sinA",
+    "cosA",
+    "rotated",
+    "pointCameraDistance",
+    "H.pointCameraDistance",
+    "coordinates",
+    "sqrt",
+    "pow",
+    "plotX",
+    "plotY",
+    "plotZ",
+    "shapeArea",
+    "H.shapeArea",
+    "vertexes",
+    "area",
+    "i",
+    "length",
+    "j",
+    "shapeArea3D",
+    "shapeArea3d",
+    "H.shapeArea3d",
+    "mathModule",
+    "A",
+    "Color",
+    "Math3D",
+    "SVGElement",
+    "SVGRenderer",
+    "curveTo",
+    "cx",
+    "cy",
+    "rx",
+    "ry",
+    "start",
+    "end",
+    "dx",
+    "dy",
+    "result",
+    "arcAngle",
+    "PI",
+    "concat",
+    "dFactor",
+    "animObject",
+    "color",
+    "parse",
+    "defined",
+    "extend",
+    "merge",
+    "objectEach",
+    "charts",
+    "prototype",
+    "toLinePath",
+    "SVGRenderer.prototype.toLinePath",
+    "closed",
+    "forEach",
+    "push",
+    "toLineSegments",
+    "SVGRenderer.prototype.toLineSegments",
+    "m",
+    "face3d",
+    "SVGRenderer.prototype.face3d",
+    "renderer",
+    "ret",
+    "createElement",
+    "enabled",
+    "attr",
+    "ret.attr",
+    "hash",
+    "vertexes2d",
+    "chartIndex",
+    "visibility",
+    "d",
+    "arguments",
+    "animate",
+    "ret.animate",
+    "params",
+    "polyhedron",
+    "SVGRenderer.prototype.polyhedron",
+    "g",
+    "destroy",
+    "styledMode",
+    "faces",
+    "result.destroy",
+    "call",
+    "result.attr",
+    "val",
+    "complete",
+    "continueAnimation",
+    "pop",
+    "add",
+    "fill",
+    "result.animate",
+    "duration",
+    "element3dMethods",
+    "initArgs",
+    "elem3d",
+    "paths",
+    "pathType",
+    "zIndexes",
+    "parts",
+    "part",
+    "zIndex",
+    "group",
+    "originalDestroy",
+    "destroyParts",
+    "forcedSides",
+    "singleSetterForParts",
+    "prop",
+    "values",
+    "verb",
+    "newAttr",
+    "optionsToApply",
+    "hasZIndexes",
+    "partVal",
+    "processParts",
+    "props",
+    "partsProps",
+    "cuboidMethods",
+    "key",
+    "shapeArgs",
+    "fillSetter",
+    "front",
+    "top",
+    "brighten",
+    "indexOf",
+    "get",
+    "side",
+    "elements3d",
+    "base",
+    "cuboid",
+    "element3d",
+    "SVGRenderer.prototype.element3d",
+    "type",
+    "SVGRenderer.prototype.cuboid",
+    "cuboidPath",
+    "SVGRenderer.prototype.cuboidPath",
+    "mapSidePath",
+    "h",
+    "pArr",
+    "mapPath",
+    "height",
+    "w",
+    "width",
+    "pickShape",
+    "verticesIndex1",
+    "verticesIndex2",
+    "face1",
+    "face2",
+    "dummyFace1",
+    "dummyFace2",
+    "shape",
+    "back",
+    "path1",
+    "isFront",
+    "bottom",
+    "path2",
+    "isTop",
+    "right",
+    "left",
+    "path3",
+    "isRight",
+    "incrementX",
+    "incrementY",
+    "incrementZ",
+    "round",
+    "arc3d",
+    "SVGRenderer.prototype.arc3d",
+    "attribs",
+    "suckOutCustom",
+    "hasCA",
+    "ca",
+    "customAttribs",
+    "wrapper",
+    "side1",
+    "side2",
+    "inn",
+    "out",
+    "onAdd",
+    "wrapper.onAdd",
+    "parent",
+    "parentGroup",
+    "className",
+    "face",
+    "setPaths",
+    "wrapper.setPaths",
+    "arc3dPath",
+    "zTop",
+    "zInn",
+    "zOut",
+    "zSide1",
+    "zSide2",
+    "center",
+    "setRadialReference",
+    "wrapper.fillSetter",
+    "value",
+    "darker",
+    "setter",
+    "el",
+    "wrapper.attr",
+    "paramArr",
+    "wrapper.animate",
+    "animation",
+    "from",
+    "randomProp",
+    "random",
+    "toString",
+    "substring",
+    "anim",
+    "globalAnimation",
+    "noop",
+    "to",
+    "step",
+    "anim.step",
+    "a",
+    "fx",
+    "interpolate",
+    "pos",
+    "elem",
+    "r",
+    "innerR",
+    "wrapper.destroy",
+    "hide",
+    "wrapper.hide",
+    "show",
+    "wrapper.show",
+    "inherit",
+    "SVGRenderer.prototype.arc3dPath",
+    "toZeroPIRange",
+    "angle",
+    "ir",
+    "cs",
+    "ss",
+    "ce",
+    "se",
+    "irx",
+    "iry",
+    "b",
+    "start2",
+    "end2",
+    "midEnd",
+    "angleCorr",
+    "atan2",
+    "angleEnd",
+    "abs",
+    "angleStart",
+    "angleMid",
+    "a1",
+    "incPrecision",
+    "a2",
+    "a3",
+    "max",
+    "addEvent",
+    "wrap",
+    "Tick3D",
+    "compose",
+    "Tick3D.compose",
+    "TickClass",
+    "onAfterGetLabelPosition",
+    "wrapGetMarkPath",
+    "Tick3D.onAfterGetLabelPosition",
+    "e",
+    "axis3D",
+    "axis",
+    "fix3dPosition",
+    "Tick3D.wrapGetMarkPath",
+    "proceed",
+    "slice",
+    "Tick",
+    "Axis3DAdditions",
+    "Axis3DAdditions.prototype.fix3dPosition",
+    "isTitle",
+    "coll",
+    "chart3d",
+    "is3d",
+    "positionMode",
+    "title",
+    "position3d",
+    "labels",
+    "skew",
+    "skew3d",
+    "frame",
+    "frame3d",
+    "plotRight",
+    "plotBottom",
+    "reverseFlap",
+    "offsetX",
+    "offsetY",
+    "vecY",
+    "swapZ",
+    "isZAxis",
+    "opposite",
+    "axes",
+    "vecX",
+    "xDir",
+    "frontFacing",
+    "horiz",
+    "cosa",
+    "sinb",
+    "sina",
+    "cosb",
+    "projected",
+    "pointsProjected",
+    "matrix",
+    "Axis3DAdditions.prototype.swapZ",
+    "p",
+    "Axis3D",
+    "Axis3D.compose",
+    "AxisClass",
+    "defaultOptions",
+    "keepProps",
+    "onInit",
+    "onAfterSetOptions",
+    "onDrawCrosshair",
+    "onDestroy",
+    "axisProto",
+    "wrapGetLinePath",
+    "wrapGetPlotBandPath",
+    "wrapGetPlotLinePath",
+    "wrapGetSlotWidth",
+    "wrapGetTitlePosition",
+    "Axis3D.onAfterSetOptions",
+    "tickWidth",
+    "gridLineWidth",
+    "Axis3D.onDestroy",
+    "Axis3D.onDrawCrosshair",
+    "crosshairPos",
+    "isXAxis",
+    "axisXpos",
+    "len",
+    "axisYpos",
+    "Axis3D.onInit",
+    "Axis3D.wrapGetLinePath",
+    "Axis3D.wrapGetPlotBandPath",
+    "fromPath",
+    "getPlotLinePath",
+    "toPath",
+    "fromStartSeg",
+    "fromEndSeg",
+    "toStartSeg",
+    "toEndSeg",
+    "Axis3D.wrapGetPlotLinePath",
+    "startSegment",
+    "endSegment",
+    "pathSegments",
+    "visible",
+    "Axis3D.wrapGetSlotWidth",
+    "tick",
+    "ticks",
+    "gridGroup",
+    "categories",
+    "frameShapes",
+    "label",
+    "firstGridLine",
+    "element",
+    "childNodes",
+    "getBBox",
+    "frame3DLeft",
+    "prevLabelPos",
+    "nextLabelPos",
+    "tickId",
+    "prevTick",
+    "nextTick",
+    "xy",
+    "labelPos",
+    "slotWidth",
+    "Axis3D.wrapGetTitlePosition",
+    "Axis",
+    "__extends",
+    "extendStatics",
+    "Object",
+    "setPrototypeOf",
+    "__proto__",
+    "Array",
+    "__",
+    "constructor",
+    "create",
+    "splat",
+    "ZChart",
+    "ZChart.compose",
+    "ChartClass",
+    "onAfterGetAxes",
+    "chartProto",
+    "addZAxis",
+    "wrapAddZAxis",
+    "collectionsWithInit",
+    "zAxis",
+    "collectionsWithUpdate",
+    "ZChart.onAfterGetAxes",
+    "zAxisOptions",
+    "axisOptions",
+    "index",
+    "isX",
+    "setScale",
+    "ZChart.wrapAddZAxis",
+    "ZAxis",
+    "_super",
+    "userOptions",
+    "_this",
+    "getSeriesExtremes",
+    "ZAxis.prototype.getSeriesExtremes",
+    "hasVisibleSeries",
+    "dataMin",
+    "dataMax",
+    "ignoreMinPadding",
+    "ignoreMaxPadding",
+    "stacking",
+    "buildStacks",
+    "series",
+    "ignoreHiddenSeries",
+    "zData",
+    "min",
+    "setAxisSize",
+    "ZAxis.prototype.setAxisSize",
+    "chartWidth",
+    "setOptions",
+    "ZAxis.prototype.setOptions",
+    "offset",
+    "lineWidth",
+    "ZChartComposition",
+    "Chart",
+    "Fx",
+    "O",
+    "genericDefaultOptions",
+    "isArray",
+    "Chart3D",
+    "onAddSeries",
+    "onAfterDrawChartBox",
+    "get3dFrame",
+    "xm",
+    "xp",
+    "ym",
+    "yp",
+    "zp",
+    "xmm",
+    "size",
+    "xpp",
+    "ymm",
+    "ypp",
+    "zmm",
+    "zm",
+    "zpp",
+    "hasRendered",
+    "onAfterGetContainer",
+    "definition",
+    "tagName",
+    "textContent",
+    "name",
+    "slope",
+    "cfg",
+    "id",
+    "children",
+    "onAfterInit",
+    "s",
+    "defaultSeriesType",
+    "onAfterSetChartSize",
+    "clipBox",
+    "margin",
+    "chartHeight",
+    "fitToPlot",
+    "getScale",
+    "onBeforeRedraw",
+    "isDirtyBox",
+    "onBeforeRender",
+    "Composition",
+    "wrapIsInsidePlot",
+    "wrapRenderSeries",
+    "translate",
+    "render",
+    "wrapSetClassName",
+    "container",
+    "Composition.prototype.get3dFrame",
+    "frameOptions",
+    "faceOrientation",
+    "bottomOrientation",
+    "topOrientation",
+    "leftOrientation",
+    "rightOrientation",
+    "frontOrientation",
+    "backOrientation",
+    "defaultShowBottom",
+    "defaultShowTop",
+    "defaultShowLeft",
+    "defaultShowRight",
+    "xAxis",
+    "yAxis",
+    "getFaceOptions",
+    "sources",
+    "defaultVisible",
+    "faceAttrs",
+    "isVisible",
+    "defaultShowBack",
+    "defaultShowFront",
+    "axisLabelPosition",
+    "isValidEdge",
+    "yEdges",
+    "xBottomEdges",
+    "xTopEdges",
+    "zBottomEdges",
+    "zTopEdges",
+    "pickEdge",
+    "edges",
+    "mult",
+    "best",
+    "projections",
+    "Composition.prototype.getScale",
+    "originX",
+    "originY",
+    "MAX_VALUE",
+    "corners",
+    "corner",
+    "minX",
+    "maxX",
+    "minY",
+    "maxY",
+    "FxClass",
+    "fxProto",
+    "chartProto.is3d",
+    "propsRequireDirtyBox",
+    "propsRequireUpdateSeries",
+    "matrixSetter",
+    "fxProto.matrixSetter",
+    "interpolated",
+    "Series",
+    "translate3dPoints",
+    "H.Series.prototype.translate3dPoints",
+    "rawPoints",
+    "data",
+    "rawPoint",
+    "zValue",
+    "logarithmic",
+    "val2lin",
+    "isInside",
+    "axisZpos",
+    "projectedPoints",
+    "projectedPoint",
+    "BaseSeries",
+    "StackItem",
+    "retrieveStacks",
+    "stacks",
+    "stackNumber",
+    "stack",
+    "position",
+    "totalStacks",
+    "pointAttribs",
+    "stroke",
+    "edgeColor",
+    "edgeWidth",
+    "setState",
+    "state",
+    "inactiveOtherPoints",
+    "hasNewShapeType",
+    "_i",
+    "graphic",
+    "nodeName",
+    "columnProto",
+    "seriesTypes",
+    "column",
+    "svg",
+    "translate3dShapes",
+    "outside3dPlot",
+    "columnProto.translate3dPoints",
+    "columnProto.translate3dShapes",
+    "seriesOptions",
+    "groupZPadding",
+    "borderCrisp",
+    "borderWidth",
+    "point2dPos",
+    "reversed",
+    "grouping",
+    "tooltipPos",
+    "borderlessBase",
+    "dimensions",
+    "shapeType",
+    "clientX",
+    "plot3d",
+    "init",
+    "shapey",
+    "stackY",
+    "negative",
+    "drawDataLabels",
+    "columnGroup",
+    "getPlotBox",
+    "survive",
+    "vis",
+    "pointVis",
+    "handle3dGrouping",
+    "reversedStacks",
+    "pointClass",
+    "columnRange",
+    "columnRangeProto",
+    "columnrange",
+    "plotGroup",
+    "setVisible",
+    "dataLabel",
+    "alignTo",
+    "is",
+    "inside",
+    "xOffset",
+    "pointWidth",
+    "dLPosition",
+    "stackItem",
+    "xWidth",
+    "stackBox",
+    "baseSeriesInd",
+    "split",
+    "columnSeries",
+    "pie",
+    "slicedTranslation",
+    "translateX",
+    "slicedOffset",
+    "translateY",
+    "labelPosition",
+    "connectorPosition",
+    "yOffset",
+    "natural",
+    "breakAt",
+    "touchingSliceAt",
+    "update",
+    "markerGroup",
+    "oldtranslateX",
+    "oldtranslateY",
+    "scaleX",
+    "scaleY",
+    "attrSetters",
+    "Point",
+    "seriesType",
+    "tooltip",
+    "pointFormat",
+    "scatter",
+    "axisTypes",
+    "pointArrayMap",
+    "parallelArrays",
+    "directTouch",
+    "applyOptions"
+  ]
+}
diff --git a/notemyprogress/js/highcharts/highcharts-more.js.map b/notemyprogress/js/highcharts/highcharts-more.js.map
index 2b7dcb9bdefc3e636a22cfc8c11c522f97a23c76..a22bcf105cc758ddf83f9ae5d664bb86e9ea1b89 100644
--- a/notemyprogress/js/highcharts/highcharts-more.js.map
+++ b/notemyprogress/js/highcharts/highcharts-more.js.map
@@ -1 +1,1230 @@
-{"version":3,"file":"highcharts-more.js.map","lineCount":170,"mappings":"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","sources":["highcharts-more.src.js"],"names":["factory","module","exports","define","amd","Highcharts","undefined","_registerModule","obj","path","args","fn","hasOwnProperty","apply","_modules","Chart","H","Pointer","U","centeredSeriesMixin","isInsidePane","x","y","center","Math","sqrt","pow","addEvent","extend","merge","pick","splat","prototype","collectionsWithUpdate","push","Pane","options","chart","background","coll","defaultOptions","size","innerSize","startAngle","defaultBackgroundOptions","shape","borderWidth","borderColor","backgroundColor","linearGradient","x1","y1","x2","y2","stops","from","Number","MAX_VALUE","innerRadius","to","outerRadius","init","Pane.prototype.init","pane","setOptions","Pane.prototype.setOptions","angular","render","Pane.prototype.render","backgroundOption","renderer","group","g","attr","zIndex","add","updateCenter","len","max","length","i","axis","renderBackground","destroy","splice","Pane.prototype.renderBackground","backgroundOptions","method","attribs","className","styledMode","getPlotBandPath","Pane.prototype.updateCenter","getCenter","call","update","Pane.prototype.update","redraw","axes","forEach","getHoverPane","Chart.prototype.getHoverPane","eventArgs","hoverPane","plotX","chartX","plotLeft","plotY","chartY","plotTop","inverted","e","polar","isInsidePlot","some","filter","eventArgs.filter","s","visible","shared","directTouch","enableMouseTracking","xAxis","hoverPoint","HiddenAxis","HiddenAxis.init","getOffset","axis.getOffset","axis.redraw","isDirty","axis.render","createLabelCollector","axis.createLabelCollector","setScale","axis.setScale","setCategories","axis.setCategories","setTitle","axis.setTitle","isHidden","Axis","Tick","correctFloat","defined","fireEvent","relativeLength","wrap","RadialAxis","RadialAxis.init","axisProto","axis.setOptions","userOptions","constructor","defaultPolarOptions","plotBands","axisOffset","side","getLinePath","axis.getLinePath","_lineWidth","radius","r","offset","horiz","isCircular","symbols","arc","left","top","start","startAngleRad","end","endAngleRad","open","innerR","xBounds","yBounds","postTranslate","angleRad","setAxisTranslation","axis.setAxisTranslation","transA","min","minPixelPadding","isXAxis","minPointOffset","beforeSetTickPositions","axis.beforeSetTickPositions","autoConnect","userMax","PI","categories","pointRange","closestPointRange","setAxisSize","axis.setAxisSize","isRadial","sector","width","height","getPosition","axis.getPosition","value","translatedVal","translate","axis.postTranslate","angle","cos","sin","axis.getPlotBandPath","radiusToPixels","parseInt","percentRegex","test","fullRadius","thickness","gridLineInterpolation","getPlotLinePath","concat","reverse","transFrom","transTo","xOnPerimeter","plotWidth","getCrosshairPosition","axis.getCrosshairPosition","point","shapeArgs","rectPlotY","atan2","axis.getPlotLinePath","paneInnerR","otherAxis","isCrosshair","crossPos","distance","a","b","innerRatio","tickPositions","slice","xy","getTitlePosition","axis.getTitlePosition","titleOptions","title","high","middle","low","align","labels","allowOverlap","map","pos","ticks","label","compose","RadialAxis.compose","AxisClass","TickClass","isX","chartOptions","paneIndex","defaultRadialGaugeOptions","defaultCircularOptions","defaultYAxisOptions","defaultRadialOptions","stackLabels","zoomType","labelCollector","labelCollectors","paneOptions","endAngle","preventDefault","index","indexOf","tick","labelBBox","getBBox","labelOptions","optionsY","centerSlot","correctAngle","round","labelDir","reducedAngle1","reducedAngle2","translateY","translateX","labelYPosCorrection","ret","rotation","fontMetrics","styles","fontSize","tickInterval","proceed","tickLength","tickWidth","endPoint","gridLineWidth","style","textOverflow","maxPadding","minPadding","showLastLabel","minorGridLineWidth","minorTickInterval","minorTickLength","minorTickPosition","minorTickWidth","tickPosition","text","BaseSeries","Point","isArray","isNumber","areaProto","seriesTypes","area","columnProto","column","pointProto","seriesProto","Series","seriesType","lineWidth","threshold","tooltip","pointFormat","trackByArea","dataLabels","verticalAlign","xLow","xHigh","yLow","yHigh","pointArrayMap","pointValKey","deferTranslatePolar","toYData","highToXY","rectPlotX","yAxis","plotHigh","plotHighX","plotLowX","series","hasModifyValue","modifyValue","points","isNull","plotLow","yBottom","tooltipPos","getGraphPath","highPoints","highAreaPoints","connectEnds","connectNulls","step","highAreaPoint","doCurve","pointShim","polarPlotY","lowerPath","right","higherPath","higherAreaPath","linePath","graphPath","areaPath","isArea","xMap","drawDataLabels","data","originalDataLabels","dataLabelOptions","upperDataLabelOptions","enabled","lowerDataLabelOptions","_hasPointLabels","up","inside","_plotY","dataLabel","dataLabelUpper","below","arguments","alignDataLabel","drawPoints","pointLength","origProps","isInside","negative","zone","lowerGraphic","graphic","upperGraphic","zones","getZone","isTopInside","setStackedPoints","noop","setState","prevState","state","isPolar","toPixels","stateMarkerGraphic","lowerStateMarkerGraphic","upperStateMarkerGraphic","haloPath","destroyElements","graphics","graphicName","isValid","getPointSpline","spline","O","clamp","plotOptions","arearange","columnRangeOptions","marker","states","hover","halo","safeDistance","chartWidth","chartHeight","minPointLength","pixelPos","abs","heightDifference","barX","shapeType","polarArc","pointWidth","trackerGroups","drawGraph","getSymbol","crispCol","drawTracker","getColumnMetrics","pointAttribs","animate","translate3dPoints","translate3dShapes","pointClass","ColumnSeries","colProto","dense","translatedThreshold","getThreshold","metrics","seriesBarW","barW","pointXOffset","pointPadding","ceil","barY","barH","stackHeight","stackTotal","total","stacking","topPointY","topXwidth","plotHeight","bottomXwidth","x3","x4","invBarPos","d","pInt","TrackerMixin","borderRadius","crop","defer","dial","pivot","headerFormat","showInLegend","fixedBox","forceDL","noSharedTooltip","generatePoints","dialOptions","baseLength","rearLength","baseWidth","topWidth","overshoot","pivotOptions","addClass","stroke","fill","circle","animation","plotGroup","seriesGroup","clip","clipRect","setData","processData","hasData","drawTrackerPoint","whiskerLength","fillColor","medianWidth","whiskerWidth","q1","median","q3","key","highPlot","q1Plot","q3Plot","lowPlot","medianPlot","crispCorr","crispX","halfWidth","doQuartiles","pointWiskerLength","verb","boxAttr","stemAttr","whiskersAttr","medianAttr","color","floor","stem","whiskers","box","boxPath","medianShape","medianPath","stemColor","stemWidth","dashstyle","stemDashStyle","dashStyle","whiskerColor","whiskerDashStyle","lineColor","boxDashStyle","medianColor","medianDashStyle","strokeWidth","parseFloat","grouping","linkedTo","type","valKey","linkedParent","columnMetrics","StackItem","arrayMax","arrayMin","objectEach","WaterfallAxis","onAfterBuildStacks","stacks","waterfall","changed","alreadyChanged","onAfterRender","stackLabelOptions","renderStackTotals","onBeforeRedraw","onInit","Composition","Composition.prototype.renderStackTotals","waterfallStacks","stackTotalGroup","dummyStackItem","stackItem","ChartClass","lineWidthPlus","showLine","processedYData","isIntermediateSum","isSum","previousIntermediate","halfMinPointLength","actualStack","stackKey","previousY","yValue","range","pointY","actualStackX","stackState","stateIndex","Object","absolutePos","absoluteNeg","posTotal","negTotal","connectorThreshold","reversed","yPos","hPos","setOffset","stackedYNeg","stackedYPos","minPointLengthOffset","tooltipY","force","yData","dataLength","subSum","sum","dataMin","dataMax","pt","updateParallelArrays","upColor","getCrispPath","graphNormalizer","graph","borderNormalizer","reversedXAxis","reversedYAxis","pointArgs","prevPoint","prevArgs","prevStack","isPos","prevStackX","calculateStackState","firstS","nextS","sInx","sOff","statesLen","seriesThreshold","stackThreshold","interSum","xData","xLength","actualSum","prevSum","usePercentage","totalYVal","ignoreHiddenSeries","yVal","xPoint","getExtremes","stackX","getClassName","LegendSymbolMixin","stickyTracking","followPointer","drawLegendSymbol","drawRectangle","Color","Legend","parse","stableSort","legend","bubbleLegend","connectorClassName","connectorColor","connectorDistance","connectorWidth","format","formatter","maxSize","minSize","legendIndex","ranges","sizeBy","sizeByAbsoluteValue","zThreshold","BubbleLegend","movementX","maxLabel","legendSymbol","legendItemWidth","legendItemHeight","legendItem","legendGroup","BubbleLegend.prototype.init","addToLegend","BubbleLegend.prototype.addToLegend","items","BubbleLegend.prototype.drawLegendSymbol","itemDistance","toString","getMaxLabelSize","connectorSpace","h","autoRanges","BubbleLegend.prototype.setOptions","seriesIndex","baseline","bubbleStyle","connectorStyle","labelStyle","getLabelStyles","fillOpacity","setOpacity","get","getRangeRadius","BubbleLegend.prototype.getLabelStyles","additionalLabelsStyle","labelsOnLeft","rtl","BubbleLegend.prototype.getRangeRadius","bubbleSeries","getRadius","BubbleLegend.prototype.render","connectors","bubbleItems","renderRange","hideOverlappingLabels","BubbleLegend.prototype.renderRange","labelsOptions","elementCenter","absoluteRadius","labelsAlign","connectorLength","posX","mainRange","posY","labelMovement","labelY","labelX","crispLine","formatLabel","placed","alignAttr","BubbleLegend.prototype.getMaxLabelSize","labelSize","BubbleLegend.prototype.formatLabel","numberFormatter","BubbleLegend.prototype.hideOverlappingLabels","newOpacity","oldOpacity","show","hide","getRanges","BubbleLegend.prototype.getRanges","rangesOptions","zData","minZ","maxZ","isBubble","ignoreSeries","zMin","displayNegative","zMax","predictBubbleSizes","BubbleLegend.prototype.predictBubbleSizes","legendOptions","horizontal","layout","lastLineHeight","plotSizeX","plotSizeY","minPxSize","maxPxSize","plotSize","floating","calculatedSize","updateRanges","BubbleLegend.prototype.updateRanges","bubbleLegendOptions","correctSizes","BubbleLegend.prototype.correctSizes","bubbleSeriesIndex","getVisibleBubbleSeriesIndex","destroyItem","allItems","Chart.prototype.getVisibleBubbleSeriesIndex","getLinesHeights","Legend.prototype.getLinesHeights","lines","j","itemHeight","_legendItemPos","lastLine","retranslateItems","Legend.prototype.retranslateItems","orgTranslateX","orgTranslateY","actualLine","item","status","callback","bubbleSizes","getMargins","updateNames","isNew","isNewLabel","z","animationLimit","radiusPlus","symbol","softThreshold","turboThreshold","zoneAxis","parallelArrays","specialGroup","bubblePadding","getRadii","radii","sizeByArea","zRange","hasRendered","markerAttribs","processedXData","scatter","dlBox","buildKDTree","applyZones","ttBelow","beforePadding","Axis.prototype.beforePadding","axisLength","pxMin","pxMax","dataKey","extremes","smallestSize","activeSeries","seriesOptions","allowZoomOutside","prop","isPercent","logarithmic","keys","dragNodesMixin","onMouseDown","event","normalizedEvent","pointer","normalize","fixedPosition","inDragMode","onMouseMove","diffX","diffY","graphLayoutsLookup","newPlotX","newPlotY","hasDragged","redrawHalo","restartSimulation","onMouseUp","enableSimulation","fixedDraggable","mousedownUnbinder","mousemoveUnbinder","mouseupUnbinder","container","hasDraggableNodes","draggable","ownerDocument","networkgraphIntegrations","verlet","attractiveForceFunction","k","repulsiveForceFunction","barycenter","gravitationalConstant","xFactor","yFactor","nodes","node","mass","degree","repulsive","distanceXY","factor","diffTemperature","attractive","link","massFactor","getMass","translatedX","translatedY","fromNode","toNode","integrate","friction","maxSpeed","dispX","prevX","dispY","prevY","signX","signY","temperature","vectorLength","getK","euler","getDegree","phi","distanceR","QuadTreeNode","H.QuadTreeNode","boxSize","body","isInternal","isEmpty","insert","depth","getBoxPosition","divideBox","newQuadTreeNode","updateMassAndCenter","pointMass","halfHeight","QuadTree","H.QuadTree","maxDepth","root","isRoot","insertNodes","visitNodeRecursive","beforeCallback","afterCallback","goFurther","qtNode","calculateMassAndCenter","A","setAnimation","isFunction","layouts","reingold-fruchterman","links","setInitialRendering","integration","attractiveForce","repulsiveForce","approximation","updateSimulation","enable","currentStep","forces","initialRendering","initPositions","finishedAnimating","setK","resetSimulation","createQuadTree","quadTree","forceName","applyLimits","coolDown","startTemperature","prevSystemTemperature","systemTemperature","getSystemTemperature","maxIterations","isFinite","isStable","simulation","win","cancelAnimationFrame","requestAnimationFrame","stop","setArea","w","linkLength","addElementsToCollection","elements","collection","elem","removeElementFromCollection","element","clear","forcedStop","setMaxIterations","setTemperature","setDiffTemperature","initialPositions","setCircularPositions","setRandomPositions","addToNodes","linksFrom","visitedNodes","id","sortedNodes","rootNodes","linksTo","initialPositionRadius","rootNode","unrandom","n","rand","nodesLength","name","Array","barycenterForces","getBarycenter","systemMass","cx","cy","barnesHutApproximation","quadNode","getDistXY","theta","goDeeper","repulsiveForces","repNode","attractiveForces","applyLimitBox","temperatureStep","reduce","vector","getDistR","nodeA","nodeB","xDist","yDist","absX","absY","layoutStep","beforeStep","systemsStable","afterRender","extendClass","Reingold","getSelectedParentNodes","Chart.prototype.getSelectedParentNodes","selectedParentsNodes","parentNode","selected","packedbubble","centerX","centerY","splitSeries","isParentNode","calculateParentRadius","neighbours","seriesInteraction","parentNodeLimit","parentNodeRadius","crisp","useSimulation","allowPointSelect","parentNodeFormatter","parentNodeTextPath","padding","transition","layoutAlgorithm","dragBetweenSeries","parentNodeOptions","isCartesian","requireSorting","axisTypes","searchPoint","accumulateAllPoints","allDataPoints","is","setVisible","parentNodeLayout","textPath","formatPrefix","seriesBox","bBox","p","parentNodeMass","parentPadding","minParentRadius","nodeMarker","parentOptions","brighten","opacity","visibility","parentNodesGroup","parentAttribs","createParentNodes","nodeAdded","PackedBubblePoint","dataLabelOnNull","div","addSeriesLayout","layoutOptions","graphLayoutsStorage","addLayout","forExport","collisionNmb","deferLayout","getPointRadius","positions","placeBubbles","checkOverlap","bubble1","bubble2","positionBubble","lastBubble","newOrigin","nextBubble","asin","acos","alfa","beta","finalAngle","gamma","delta","sinA","cosA","bubblePos","stage","arr","sortedArr","sort","calculatedBubble","stages","rawPositions","resizeRadius","minY","maxY","minX","POSITIVE_INFINITY","maxX","NEGATIVE_INFINITY","smallerDimension","spaceRatio","calculateZExtremes","valMin","Infinity","valMax","minRadius","maxRadius","zExtremes","removed","addPoint","remove","firePointEvent","eventType","defaultFunction","temp","select","accumulate","getSelectedPoints","SVGRenderer","animObject","find","uniqueKey","pointerProto","searchPointByAngle","seriesProto.searchPointByAngle","searchKDTree","clientX","getConnectors","seriesProto.getConnectors","segment","calculateNeighbours","addedNumber","prevPointInd","nextPointInd","previousPoint","nextPoint","previousX","nextX","nextY","leftContX","smoothing","denom","leftContY","rightContX","rightContY","dLControlPoint","dRControlPoint","leftContAngle","jointAngle","rightContAngle","prevPointCont","toXY","seriesProto.toXY","isRadialBar","polarPlotX","kdByAngle","areasplinerange","findNearestPointBy","preventPostTranslate","hasParallelCoordinates","hasClipCircleSetter","eventsToUnbind","circ","clipCircle","setClip","order","firstValid","popLastPoint","pop","polarAnimate","markerGroup","pie","isSVG","scaleX","scaleY","arearangeProto","colProto.polarArc","visibleRange","yMin","yMax","thresholdAngleRad","pointX","stack","stackValues","getStackIndicator","findAlignments","colProto.findAlignments","alignTo","labelPos","SVGRenderer.prototype.clipCircle","clipPath","createElement","defs","wrapper","isRadialSeries"]}
\ No newline at end of file
+{
+  "version": 3,
+  "file": "highcharts-more.js.map",
+  "lineCount": 170,
+  "mappings": "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",
+  "sources": [
+    "highcharts-more.src.js"
+  ],
+  "names": [
+    "factory",
+    "module",
+    "exports",
+    "define",
+    "amd",
+    "Highcharts",
+    "undefined",
+    "_registerModule",
+    "obj",
+    "path",
+    "args",
+    "fn",
+    "hasOwnProperty",
+    "apply",
+    "_modules",
+    "Chart",
+    "H",
+    "Pointer",
+    "U",
+    "centeredSeriesMixin",
+    "isInsidePane",
+    "x",
+    "y",
+    "center",
+    "Math",
+    "sqrt",
+    "pow",
+    "addEvent",
+    "extend",
+    "merge",
+    "pick",
+    "splat",
+    "prototype",
+    "collectionsWithUpdate",
+    "push",
+    "Pane",
+    "options",
+    "chart",
+    "background",
+    "coll",
+    "defaultOptions",
+    "size",
+    "innerSize",
+    "startAngle",
+    "defaultBackgroundOptions",
+    "shape",
+    "borderWidth",
+    "borderColor",
+    "backgroundColor",
+    "linearGradient",
+    "x1",
+    "y1",
+    "x2",
+    "y2",
+    "stops",
+    "from",
+    "Number",
+    "MAX_VALUE",
+    "innerRadius",
+    "to",
+    "outerRadius",
+    "init",
+    "Pane.prototype.init",
+    "pane",
+    "setOptions",
+    "Pane.prototype.setOptions",
+    "angular",
+    "render",
+    "Pane.prototype.render",
+    "backgroundOption",
+    "renderer",
+    "group",
+    "g",
+    "attr",
+    "zIndex",
+    "add",
+    "updateCenter",
+    "len",
+    "max",
+    "length",
+    "i",
+    "axis",
+    "renderBackground",
+    "destroy",
+    "splice",
+    "Pane.prototype.renderBackground",
+    "backgroundOptions",
+    "method",
+    "attribs",
+    "className",
+    "styledMode",
+    "getPlotBandPath",
+    "Pane.prototype.updateCenter",
+    "getCenter",
+    "call",
+    "update",
+    "Pane.prototype.update",
+    "redraw",
+    "axes",
+    "forEach",
+    "getHoverPane",
+    "Chart.prototype.getHoverPane",
+    "eventArgs",
+    "hoverPane",
+    "plotX",
+    "chartX",
+    "plotLeft",
+    "plotY",
+    "chartY",
+    "plotTop",
+    "inverted",
+    "e",
+    "polar",
+    "isInsidePlot",
+    "some",
+    "filter",
+    "eventArgs.filter",
+    "s",
+    "visible",
+    "shared",
+    "directTouch",
+    "enableMouseTracking",
+    "xAxis",
+    "hoverPoint",
+    "HiddenAxis",
+    "HiddenAxis.init",
+    "getOffset",
+    "axis.getOffset",
+    "axis.redraw",
+    "isDirty",
+    "axis.render",
+    "createLabelCollector",
+    "axis.createLabelCollector",
+    "setScale",
+    "axis.setScale",
+    "setCategories",
+    "axis.setCategories",
+    "setTitle",
+    "axis.setTitle",
+    "isHidden",
+    "Axis",
+    "Tick",
+    "correctFloat",
+    "defined",
+    "fireEvent",
+    "relativeLength",
+    "wrap",
+    "RadialAxis",
+    "RadialAxis.init",
+    "axisProto",
+    "axis.setOptions",
+    "userOptions",
+    "constructor",
+    "defaultPolarOptions",
+    "plotBands",
+    "axisOffset",
+    "side",
+    "getLinePath",
+    "axis.getLinePath",
+    "_lineWidth",
+    "radius",
+    "r",
+    "offset",
+    "horiz",
+    "isCircular",
+    "symbols",
+    "arc",
+    "left",
+    "top",
+    "start",
+    "startAngleRad",
+    "end",
+    "endAngleRad",
+    "open",
+    "innerR",
+    "xBounds",
+    "yBounds",
+    "postTranslate",
+    "angleRad",
+    "setAxisTranslation",
+    "axis.setAxisTranslation",
+    "transA",
+    "min",
+    "minPixelPadding",
+    "isXAxis",
+    "minPointOffset",
+    "beforeSetTickPositions",
+    "axis.beforeSetTickPositions",
+    "autoConnect",
+    "userMax",
+    "PI",
+    "categories",
+    "pointRange",
+    "closestPointRange",
+    "setAxisSize",
+    "axis.setAxisSize",
+    "isRadial",
+    "sector",
+    "width",
+    "height",
+    "getPosition",
+    "axis.getPosition",
+    "value",
+    "translatedVal",
+    "translate",
+    "axis.postTranslate",
+    "angle",
+    "cos",
+    "sin",
+    "axis.getPlotBandPath",
+    "radiusToPixels",
+    "parseInt",
+    "percentRegex",
+    "test",
+    "fullRadius",
+    "thickness",
+    "gridLineInterpolation",
+    "getPlotLinePath",
+    "concat",
+    "reverse",
+    "transFrom",
+    "transTo",
+    "xOnPerimeter",
+    "plotWidth",
+    "getCrosshairPosition",
+    "axis.getCrosshairPosition",
+    "point",
+    "shapeArgs",
+    "rectPlotY",
+    "atan2",
+    "axis.getPlotLinePath",
+    "paneInnerR",
+    "otherAxis",
+    "isCrosshair",
+    "crossPos",
+    "distance",
+    "a",
+    "b",
+    "innerRatio",
+    "tickPositions",
+    "slice",
+    "xy",
+    "getTitlePosition",
+    "axis.getTitlePosition",
+    "titleOptions",
+    "title",
+    "high",
+    "middle",
+    "low",
+    "align",
+    "labels",
+    "allowOverlap",
+    "map",
+    "pos",
+    "ticks",
+    "label",
+    "compose",
+    "RadialAxis.compose",
+    "AxisClass",
+    "TickClass",
+    "isX",
+    "chartOptions",
+    "paneIndex",
+    "defaultRadialGaugeOptions",
+    "defaultCircularOptions",
+    "defaultYAxisOptions",
+    "defaultRadialOptions",
+    "stackLabels",
+    "zoomType",
+    "labelCollector",
+    "labelCollectors",
+    "paneOptions",
+    "endAngle",
+    "preventDefault",
+    "index",
+    "indexOf",
+    "tick",
+    "labelBBox",
+    "getBBox",
+    "labelOptions",
+    "optionsY",
+    "centerSlot",
+    "correctAngle",
+    "round",
+    "labelDir",
+    "reducedAngle1",
+    "reducedAngle2",
+    "translateY",
+    "translateX",
+    "labelYPosCorrection",
+    "ret",
+    "rotation",
+    "fontMetrics",
+    "styles",
+    "fontSize",
+    "tickInterval",
+    "proceed",
+    "tickLength",
+    "tickWidth",
+    "endPoint",
+    "gridLineWidth",
+    "style",
+    "textOverflow",
+    "maxPadding",
+    "minPadding",
+    "showLastLabel",
+    "minorGridLineWidth",
+    "minorTickInterval",
+    "minorTickLength",
+    "minorTickPosition",
+    "minorTickWidth",
+    "tickPosition",
+    "text",
+    "BaseSeries",
+    "Point",
+    "isArray",
+    "isNumber",
+    "areaProto",
+    "seriesTypes",
+    "area",
+    "columnProto",
+    "column",
+    "pointProto",
+    "seriesProto",
+    "Series",
+    "seriesType",
+    "lineWidth",
+    "threshold",
+    "tooltip",
+    "pointFormat",
+    "trackByArea",
+    "dataLabels",
+    "verticalAlign",
+    "xLow",
+    "xHigh",
+    "yLow",
+    "yHigh",
+    "pointArrayMap",
+    "pointValKey",
+    "deferTranslatePolar",
+    "toYData",
+    "highToXY",
+    "rectPlotX",
+    "yAxis",
+    "plotHigh",
+    "plotHighX",
+    "plotLowX",
+    "series",
+    "hasModifyValue",
+    "modifyValue",
+    "points",
+    "isNull",
+    "plotLow",
+    "yBottom",
+    "tooltipPos",
+    "getGraphPath",
+    "highPoints",
+    "highAreaPoints",
+    "connectEnds",
+    "connectNulls",
+    "step",
+    "highAreaPoint",
+    "doCurve",
+    "pointShim",
+    "polarPlotY",
+    "lowerPath",
+    "right",
+    "higherPath",
+    "higherAreaPath",
+    "linePath",
+    "graphPath",
+    "areaPath",
+    "isArea",
+    "xMap",
+    "drawDataLabels",
+    "data",
+    "originalDataLabels",
+    "dataLabelOptions",
+    "upperDataLabelOptions",
+    "enabled",
+    "lowerDataLabelOptions",
+    "_hasPointLabels",
+    "up",
+    "inside",
+    "_plotY",
+    "dataLabel",
+    "dataLabelUpper",
+    "below",
+    "arguments",
+    "alignDataLabel",
+    "drawPoints",
+    "pointLength",
+    "origProps",
+    "isInside",
+    "negative",
+    "zone",
+    "lowerGraphic",
+    "graphic",
+    "upperGraphic",
+    "zones",
+    "getZone",
+    "isTopInside",
+    "setStackedPoints",
+    "noop",
+    "setState",
+    "prevState",
+    "state",
+    "isPolar",
+    "toPixels",
+    "stateMarkerGraphic",
+    "lowerStateMarkerGraphic",
+    "upperStateMarkerGraphic",
+    "haloPath",
+    "destroyElements",
+    "graphics",
+    "graphicName",
+    "isValid",
+    "getPointSpline",
+    "spline",
+    "O",
+    "clamp",
+    "plotOptions",
+    "arearange",
+    "columnRangeOptions",
+    "marker",
+    "states",
+    "hover",
+    "halo",
+    "safeDistance",
+    "chartWidth",
+    "chartHeight",
+    "minPointLength",
+    "pixelPos",
+    "abs",
+    "heightDifference",
+    "barX",
+    "shapeType",
+    "polarArc",
+    "pointWidth",
+    "trackerGroups",
+    "drawGraph",
+    "getSymbol",
+    "crispCol",
+    "drawTracker",
+    "getColumnMetrics",
+    "pointAttribs",
+    "animate",
+    "translate3dPoints",
+    "translate3dShapes",
+    "pointClass",
+    "ColumnSeries",
+    "colProto",
+    "dense",
+    "translatedThreshold",
+    "getThreshold",
+    "metrics",
+    "seriesBarW",
+    "barW",
+    "pointXOffset",
+    "pointPadding",
+    "ceil",
+    "barY",
+    "barH",
+    "stackHeight",
+    "stackTotal",
+    "total",
+    "stacking",
+    "topPointY",
+    "topXwidth",
+    "plotHeight",
+    "bottomXwidth",
+    "x3",
+    "x4",
+    "invBarPos",
+    "d",
+    "pInt",
+    "TrackerMixin",
+    "borderRadius",
+    "crop",
+    "defer",
+    "dial",
+    "pivot",
+    "headerFormat",
+    "showInLegend",
+    "fixedBox",
+    "forceDL",
+    "noSharedTooltip",
+    "generatePoints",
+    "dialOptions",
+    "baseLength",
+    "rearLength",
+    "baseWidth",
+    "topWidth",
+    "overshoot",
+    "pivotOptions",
+    "addClass",
+    "stroke",
+    "fill",
+    "circle",
+    "animation",
+    "plotGroup",
+    "seriesGroup",
+    "clip",
+    "clipRect",
+    "setData",
+    "processData",
+    "hasData",
+    "drawTrackerPoint",
+    "whiskerLength",
+    "fillColor",
+    "medianWidth",
+    "whiskerWidth",
+    "q1",
+    "median",
+    "q3",
+    "key",
+    "highPlot",
+    "q1Plot",
+    "q3Plot",
+    "lowPlot",
+    "medianPlot",
+    "crispCorr",
+    "crispX",
+    "halfWidth",
+    "doQuartiles",
+    "pointWiskerLength",
+    "verb",
+    "boxAttr",
+    "stemAttr",
+    "whiskersAttr",
+    "medianAttr",
+    "color",
+    "floor",
+    "stem",
+    "whiskers",
+    "box",
+    "boxPath",
+    "medianShape",
+    "medianPath",
+    "stemColor",
+    "stemWidth",
+    "dashstyle",
+    "stemDashStyle",
+    "dashStyle",
+    "whiskerColor",
+    "whiskerDashStyle",
+    "lineColor",
+    "boxDashStyle",
+    "medianColor",
+    "medianDashStyle",
+    "strokeWidth",
+    "parseFloat",
+    "grouping",
+    "linkedTo",
+    "type",
+    "valKey",
+    "linkedParent",
+    "columnMetrics",
+    "StackItem",
+    "arrayMax",
+    "arrayMin",
+    "objectEach",
+    "WaterfallAxis",
+    "onAfterBuildStacks",
+    "stacks",
+    "waterfall",
+    "changed",
+    "alreadyChanged",
+    "onAfterRender",
+    "stackLabelOptions",
+    "renderStackTotals",
+    "onBeforeRedraw",
+    "onInit",
+    "Composition",
+    "Composition.prototype.renderStackTotals",
+    "waterfallStacks",
+    "stackTotalGroup",
+    "dummyStackItem",
+    "stackItem",
+    "ChartClass",
+    "lineWidthPlus",
+    "showLine",
+    "processedYData",
+    "isIntermediateSum",
+    "isSum",
+    "previousIntermediate",
+    "halfMinPointLength",
+    "actualStack",
+    "stackKey",
+    "previousY",
+    "yValue",
+    "range",
+    "pointY",
+    "actualStackX",
+    "stackState",
+    "stateIndex",
+    "Object",
+    "absolutePos",
+    "absoluteNeg",
+    "posTotal",
+    "negTotal",
+    "connectorThreshold",
+    "reversed",
+    "yPos",
+    "hPos",
+    "setOffset",
+    "stackedYNeg",
+    "stackedYPos",
+    "minPointLengthOffset",
+    "tooltipY",
+    "force",
+    "yData",
+    "dataLength",
+    "subSum",
+    "sum",
+    "dataMin",
+    "dataMax",
+    "pt",
+    "updateParallelArrays",
+    "upColor",
+    "getCrispPath",
+    "graphNormalizer",
+    "graph",
+    "borderNormalizer",
+    "reversedXAxis",
+    "reversedYAxis",
+    "pointArgs",
+    "prevPoint",
+    "prevArgs",
+    "prevStack",
+    "isPos",
+    "prevStackX",
+    "calculateStackState",
+    "firstS",
+    "nextS",
+    "sInx",
+    "sOff",
+    "statesLen",
+    "seriesThreshold",
+    "stackThreshold",
+    "interSum",
+    "xData",
+    "xLength",
+    "actualSum",
+    "prevSum",
+    "usePercentage",
+    "totalYVal",
+    "ignoreHiddenSeries",
+    "yVal",
+    "xPoint",
+    "getExtremes",
+    "stackX",
+    "getClassName",
+    "LegendSymbolMixin",
+    "stickyTracking",
+    "followPointer",
+    "drawLegendSymbol",
+    "drawRectangle",
+    "Color",
+    "Legend",
+    "parse",
+    "stableSort",
+    "legend",
+    "bubbleLegend",
+    "connectorClassName",
+    "connectorColor",
+    "connectorDistance",
+    "connectorWidth",
+    "format",
+    "formatter",
+    "maxSize",
+    "minSize",
+    "legendIndex",
+    "ranges",
+    "sizeBy",
+    "sizeByAbsoluteValue",
+    "zThreshold",
+    "BubbleLegend",
+    "movementX",
+    "maxLabel",
+    "legendSymbol",
+    "legendItemWidth",
+    "legendItemHeight",
+    "legendItem",
+    "legendGroup",
+    "BubbleLegend.prototype.init",
+    "addToLegend",
+    "BubbleLegend.prototype.addToLegend",
+    "items",
+    "BubbleLegend.prototype.drawLegendSymbol",
+    "itemDistance",
+    "toString",
+    "getMaxLabelSize",
+    "connectorSpace",
+    "h",
+    "autoRanges",
+    "BubbleLegend.prototype.setOptions",
+    "seriesIndex",
+    "baseline",
+    "bubbleStyle",
+    "connectorStyle",
+    "labelStyle",
+    "getLabelStyles",
+    "fillOpacity",
+    "setOpacity",
+    "get",
+    "getRangeRadius",
+    "BubbleLegend.prototype.getLabelStyles",
+    "additionalLabelsStyle",
+    "labelsOnLeft",
+    "rtl",
+    "BubbleLegend.prototype.getRangeRadius",
+    "bubbleSeries",
+    "getRadius",
+    "BubbleLegend.prototype.render",
+    "connectors",
+    "bubbleItems",
+    "renderRange",
+    "hideOverlappingLabels",
+    "BubbleLegend.prototype.renderRange",
+    "labelsOptions",
+    "elementCenter",
+    "absoluteRadius",
+    "labelsAlign",
+    "connectorLength",
+    "posX",
+    "mainRange",
+    "posY",
+    "labelMovement",
+    "labelY",
+    "labelX",
+    "crispLine",
+    "formatLabel",
+    "placed",
+    "alignAttr",
+    "BubbleLegend.prototype.getMaxLabelSize",
+    "labelSize",
+    "BubbleLegend.prototype.formatLabel",
+    "numberFormatter",
+    "BubbleLegend.prototype.hideOverlappingLabels",
+    "newOpacity",
+    "oldOpacity",
+    "show",
+    "hide",
+    "getRanges",
+    "BubbleLegend.prototype.getRanges",
+    "rangesOptions",
+    "zData",
+    "minZ",
+    "maxZ",
+    "isBubble",
+    "ignoreSeries",
+    "zMin",
+    "displayNegative",
+    "zMax",
+    "predictBubbleSizes",
+    "BubbleLegend.prototype.predictBubbleSizes",
+    "legendOptions",
+    "horizontal",
+    "layout",
+    "lastLineHeight",
+    "plotSizeX",
+    "plotSizeY",
+    "minPxSize",
+    "maxPxSize",
+    "plotSize",
+    "floating",
+    "calculatedSize",
+    "updateRanges",
+    "BubbleLegend.prototype.updateRanges",
+    "bubbleLegendOptions",
+    "correctSizes",
+    "BubbleLegend.prototype.correctSizes",
+    "bubbleSeriesIndex",
+    "getVisibleBubbleSeriesIndex",
+    "destroyItem",
+    "allItems",
+    "Chart.prototype.getVisibleBubbleSeriesIndex",
+    "getLinesHeights",
+    "Legend.prototype.getLinesHeights",
+    "lines",
+    "j",
+    "itemHeight",
+    "_legendItemPos",
+    "lastLine",
+    "retranslateItems",
+    "Legend.prototype.retranslateItems",
+    "orgTranslateX",
+    "orgTranslateY",
+    "actualLine",
+    "item",
+    "status",
+    "callback",
+    "bubbleSizes",
+    "getMargins",
+    "updateNames",
+    "isNew",
+    "isNewLabel",
+    "z",
+    "animationLimit",
+    "radiusPlus",
+    "symbol",
+    "softThreshold",
+    "turboThreshold",
+    "zoneAxis",
+    "parallelArrays",
+    "specialGroup",
+    "bubblePadding",
+    "getRadii",
+    "radii",
+    "sizeByArea",
+    "zRange",
+    "hasRendered",
+    "markerAttribs",
+    "processedXData",
+    "scatter",
+    "dlBox",
+    "buildKDTree",
+    "applyZones",
+    "ttBelow",
+    "beforePadding",
+    "Axis.prototype.beforePadding",
+    "axisLength",
+    "pxMin",
+    "pxMax",
+    "dataKey",
+    "extremes",
+    "smallestSize",
+    "activeSeries",
+    "seriesOptions",
+    "allowZoomOutside",
+    "prop",
+    "isPercent",
+    "logarithmic",
+    "keys",
+    "dragNodesMixin",
+    "onMouseDown",
+    "event",
+    "normalizedEvent",
+    "pointer",
+    "normalize",
+    "fixedPosition",
+    "inDragMode",
+    "onMouseMove",
+    "diffX",
+    "diffY",
+    "graphLayoutsLookup",
+    "newPlotX",
+    "newPlotY",
+    "hasDragged",
+    "redrawHalo",
+    "restartSimulation",
+    "onMouseUp",
+    "enableSimulation",
+    "fixedDraggable",
+    "mousedownUnbinder",
+    "mousemoveUnbinder",
+    "mouseupUnbinder",
+    "container",
+    "hasDraggableNodes",
+    "draggable",
+    "ownerDocument",
+    "networkgraphIntegrations",
+    "verlet",
+    "attractiveForceFunction",
+    "k",
+    "repulsiveForceFunction",
+    "barycenter",
+    "gravitationalConstant",
+    "xFactor",
+    "yFactor",
+    "nodes",
+    "node",
+    "mass",
+    "degree",
+    "repulsive",
+    "distanceXY",
+    "factor",
+    "diffTemperature",
+    "attractive",
+    "link",
+    "massFactor",
+    "getMass",
+    "translatedX",
+    "translatedY",
+    "fromNode",
+    "toNode",
+    "integrate",
+    "friction",
+    "maxSpeed",
+    "dispX",
+    "prevX",
+    "dispY",
+    "prevY",
+    "signX",
+    "signY",
+    "temperature",
+    "vectorLength",
+    "getK",
+    "euler",
+    "getDegree",
+    "phi",
+    "distanceR",
+    "QuadTreeNode",
+    "H.QuadTreeNode",
+    "boxSize",
+    "body",
+    "isInternal",
+    "isEmpty",
+    "insert",
+    "depth",
+    "getBoxPosition",
+    "divideBox",
+    "newQuadTreeNode",
+    "updateMassAndCenter",
+    "pointMass",
+    "halfHeight",
+    "QuadTree",
+    "H.QuadTree",
+    "maxDepth",
+    "root",
+    "isRoot",
+    "insertNodes",
+    "visitNodeRecursive",
+    "beforeCallback",
+    "afterCallback",
+    "goFurther",
+    "qtNode",
+    "calculateMassAndCenter",
+    "A",
+    "setAnimation",
+    "isFunction",
+    "layouts",
+    "reingold-fruchterman",
+    "links",
+    "setInitialRendering",
+    "integration",
+    "attractiveForce",
+    "repulsiveForce",
+    "approximation",
+    "updateSimulation",
+    "enable",
+    "currentStep",
+    "forces",
+    "initialRendering",
+    "initPositions",
+    "finishedAnimating",
+    "setK",
+    "resetSimulation",
+    "createQuadTree",
+    "quadTree",
+    "forceName",
+    "applyLimits",
+    "coolDown",
+    "startTemperature",
+    "prevSystemTemperature",
+    "systemTemperature",
+    "getSystemTemperature",
+    "maxIterations",
+    "isFinite",
+    "isStable",
+    "simulation",
+    "win",
+    "cancelAnimationFrame",
+    "requestAnimationFrame",
+    "stop",
+    "setArea",
+    "w",
+    "linkLength",
+    "addElementsToCollection",
+    "elements",
+    "collection",
+    "elem",
+    "removeElementFromCollection",
+    "element",
+    "clear",
+    "forcedStop",
+    "setMaxIterations",
+    "setTemperature",
+    "setDiffTemperature",
+    "initialPositions",
+    "setCircularPositions",
+    "setRandomPositions",
+    "addToNodes",
+    "linksFrom",
+    "visitedNodes",
+    "id",
+    "sortedNodes",
+    "rootNodes",
+    "linksTo",
+    "initialPositionRadius",
+    "rootNode",
+    "unrandom",
+    "n",
+    "rand",
+    "nodesLength",
+    "name",
+    "Array",
+    "barycenterForces",
+    "getBarycenter",
+    "systemMass",
+    "cx",
+    "cy",
+    "barnesHutApproximation",
+    "quadNode",
+    "getDistXY",
+    "theta",
+    "goDeeper",
+    "repulsiveForces",
+    "repNode",
+    "attractiveForces",
+    "applyLimitBox",
+    "temperatureStep",
+    "reduce",
+    "vector",
+    "getDistR",
+    "nodeA",
+    "nodeB",
+    "xDist",
+    "yDist",
+    "absX",
+    "absY",
+    "layoutStep",
+    "beforeStep",
+    "systemsStable",
+    "afterRender",
+    "extendClass",
+    "Reingold",
+    "getSelectedParentNodes",
+    "Chart.prototype.getSelectedParentNodes",
+    "selectedParentsNodes",
+    "parentNode",
+    "selected",
+    "packedbubble",
+    "centerX",
+    "centerY",
+    "splitSeries",
+    "isParentNode",
+    "calculateParentRadius",
+    "neighbours",
+    "seriesInteraction",
+    "parentNodeLimit",
+    "parentNodeRadius",
+    "crisp",
+    "useSimulation",
+    "allowPointSelect",
+    "parentNodeFormatter",
+    "parentNodeTextPath",
+    "padding",
+    "transition",
+    "layoutAlgorithm",
+    "dragBetweenSeries",
+    "parentNodeOptions",
+    "isCartesian",
+    "requireSorting",
+    "axisTypes",
+    "searchPoint",
+    "accumulateAllPoints",
+    "allDataPoints",
+    "is",
+    "setVisible",
+    "parentNodeLayout",
+    "textPath",
+    "formatPrefix",
+    "seriesBox",
+    "bBox",
+    "p",
+    "parentNodeMass",
+    "parentPadding",
+    "minParentRadius",
+    "nodeMarker",
+    "parentOptions",
+    "brighten",
+    "opacity",
+    "visibility",
+    "parentNodesGroup",
+    "parentAttribs",
+    "createParentNodes",
+    "nodeAdded",
+    "PackedBubblePoint",
+    "dataLabelOnNull",
+    "div",
+    "addSeriesLayout",
+    "layoutOptions",
+    "graphLayoutsStorage",
+    "addLayout",
+    "forExport",
+    "collisionNmb",
+    "deferLayout",
+    "getPointRadius",
+    "positions",
+    "placeBubbles",
+    "checkOverlap",
+    "bubble1",
+    "bubble2",
+    "positionBubble",
+    "lastBubble",
+    "newOrigin",
+    "nextBubble",
+    "asin",
+    "acos",
+    "alfa",
+    "beta",
+    "finalAngle",
+    "gamma",
+    "delta",
+    "sinA",
+    "cosA",
+    "bubblePos",
+    "stage",
+    "arr",
+    "sortedArr",
+    "sort",
+    "calculatedBubble",
+    "stages",
+    "rawPositions",
+    "resizeRadius",
+    "minY",
+    "maxY",
+    "minX",
+    "POSITIVE_INFINITY",
+    "maxX",
+    "NEGATIVE_INFINITY",
+    "smallerDimension",
+    "spaceRatio",
+    "calculateZExtremes",
+    "valMin",
+    "Infinity",
+    "valMax",
+    "minRadius",
+    "maxRadius",
+    "zExtremes",
+    "removed",
+    "addPoint",
+    "remove",
+    "firePointEvent",
+    "eventType",
+    "defaultFunction",
+    "temp",
+    "select",
+    "accumulate",
+    "getSelectedPoints",
+    "SVGRenderer",
+    "animObject",
+    "find",
+    "uniqueKey",
+    "pointerProto",
+    "searchPointByAngle",
+    "seriesProto.searchPointByAngle",
+    "searchKDTree",
+    "clientX",
+    "getConnectors",
+    "seriesProto.getConnectors",
+    "segment",
+    "calculateNeighbours",
+    "addedNumber",
+    "prevPointInd",
+    "nextPointInd",
+    "previousPoint",
+    "nextPoint",
+    "previousX",
+    "nextX",
+    "nextY",
+    "leftContX",
+    "smoothing",
+    "denom",
+    "leftContY",
+    "rightContX",
+    "rightContY",
+    "dLControlPoint",
+    "dRControlPoint",
+    "leftContAngle",
+    "jointAngle",
+    "rightContAngle",
+    "prevPointCont",
+    "toXY",
+    "seriesProto.toXY",
+    "isRadialBar",
+    "polarPlotX",
+    "kdByAngle",
+    "areasplinerange",
+    "findNearestPointBy",
+    "preventPostTranslate",
+    "hasParallelCoordinates",
+    "hasClipCircleSetter",
+    "eventsToUnbind",
+    "circ",
+    "clipCircle",
+    "setClip",
+    "order",
+    "firstValid",
+    "popLastPoint",
+    "pop",
+    "polarAnimate",
+    "markerGroup",
+    "pie",
+    "isSVG",
+    "scaleX",
+    "scaleY",
+    "arearangeProto",
+    "colProto.polarArc",
+    "visibleRange",
+    "yMin",
+    "yMax",
+    "thresholdAngleRad",
+    "pointX",
+    "stack",
+    "stackValues",
+    "getStackIndicator",
+    "findAlignments",
+    "colProto.findAlignments",
+    "alignTo",
+    "labelPos",
+    "SVGRenderer.prototype.clipCircle",
+    "clipPath",
+    "createElement",
+    "defs",
+    "wrapper",
+    "isRadialSeries"
+  ]
+}
diff --git a/notemyprogress/js/moment-timezone.js b/notemyprogress/js/moment-timezone.js
index 69041e75a21028fe94809e0dd889f91dc26bb1a2..594adbfa3148da8870d12c7b11b0d8ad012b6803 100644
--- a/notemyprogress/js/moment-timezone.js
+++ b/notemyprogress/js/moment-timezone.js
@@ -1 +1,1285 @@
-!function(c,M){"use strict";"object"==typeof module&&module.exports?module.exports=M(require("moment")):"function"==typeof define&&define.amd?define(["moment"],M):M(c.moment)}(this,function(b){"use strict";void 0===b.version&&b.default&&(b=b.default);var M,a={},p={},n={},i={},e={};b&&"string"==typeof b.version||S("Moment Timezone requires Moment.js. See https://momentjs.com/timezone/docs/#/use-it/browser/");var c=b.version.split("."),A=+c[0],o=+c[1];function L(c){return 96<c?c-87:64<c?c-29:c-48}function z(c){var M=0,A=c.split("."),o=A[0],z=A[1]||"",b=1,a=0,p=1;for(45===c.charCodeAt(0)&&(p=-(M=1));M<o.length;M++)a=60*a+L(o.charCodeAt(M));for(M=0;M<z.length;M++)b/=60,a+=L(z.charCodeAt(M))*b;return a*p}function O(c){for(var M=0;M<c.length;M++)c[M]=z(c[M])}function q(c,M){for(var A=[],o=0;o<M.length;o++)A[o]=c[M[o]];return A}function r(c){var M=c.split("|"),A=M[2].split(" "),o=M[3].split(""),z=M[4].split(" ");return O(A),O(o),O(z),function(c,M){for(var A=0;A<M;A++)c[A]=Math.round((c[A-1]||0)+6e4*c[A]);c[M-1]=1/0}(z,o.length),{name:M[0],abbrs:q(M[1].split(" "),o),offsets:q(A,o),untils:z,population:0|M[5]}}function N(c){c&&this._set(r(c))}function d(c,M){this.name=c,this.zones=M}function W(c){var M=c.toTimeString(),A=M.match(/\([a-z ]+\)/i);"GMT"===(A=A&&A[0]?(A=A[0].match(/[A-Z]/g))?A.join(""):void 0:(A=M.match(/[A-Z]{3,5}/g))?A[0]:void 0)&&(A=void 0),this.at=+c,this.abbr=A,this.offset=c.getTimezoneOffset()}function f(c){this.zone=c,this.offsetScore=0,this.abbrScore=0}function X(){for(var c,M,A=(new Date).getFullYear()-2,o=new W(new Date(A,0,1)),z=[o],b=1;b<48;b++)(M=new W(new Date(A,b,1))).offset!==o.offset&&(c=function(c,M){for(var A,o;o=6e4*((M.at-c.at)/12e4|0);)(A=new W(new Date(c.at+o))).offset===c.offset?c=A:M=A;return c}(o,M),z.push(c),z.push(new W(new Date(c.at+6e4)))),o=M;for(b=0;b<4;b++)z.push(new W(new Date(A+b,0,1))),z.push(new W(new Date(A+b,6,1)));return z}function u(c,M){return c.offsetScore!==M.offsetScore?c.offsetScore-M.offsetScore:c.abbrScore!==M.abbrScore?c.abbrScore-M.abbrScore:c.zone.population!==M.zone.population?M.zone.population-c.zone.population:M.zone.name.localeCompare(c.zone.name)}function B(){try{var c=Intl.DateTimeFormat().resolvedOptions().timeZone;if(c&&3<c.length){var M=i[l(c)];if(M)return M;S("Moment Timezone found "+c+" from the Intl api, but did not have that data loaded.")}}catch(c){}for(var A,o,z=X(),b=z.length,a=function(c){for(var M,A,o=c.length,z={},b=[],a=0;a<o;a++)for(M in A=e[c[a].offset]||{})A.hasOwnProperty(M)&&(z[M]=!0);for(a in z)z.hasOwnProperty(a)&&b.push(i[a]);return b}(z),p=[],n=0;n<a.length;n++){for(A=new f(t(a[n])),o=0;o<b;o++)A.scoreOffsetAt(z[o]);p.push(A)}return p.sort(u),0<p.length?p[0].zone.name:void 0}function l(c){return(c||"").toLowerCase().replace(/\//g,"_")}function T(c){var M,A,o,z;for("string"==typeof c&&(c=[c]),M=0;M<c.length;M++)z=l(A=(o=c[M].split("|"))[0]),a[z]=c[M],i[z]=A,function(c,M){var A,o;for(O(M),A=0;A<M.length;A++)o=M[A],e[o]=e[o]||{},e[o][c]=!0}(z,o[2].split(" "))}function t(c,M){c=l(c);var A,o=a[c];return o instanceof N?o:"string"==typeof o?(o=new N(o),a[c]=o):p[c]&&M!==t&&(A=t(p[c],t))?((o=a[c]=new N)._set(A),o.name=i[c],o):null}function s(c){var M,A,o,z;for("string"==typeof c&&(c=[c]),M=0;M<c.length;M++)o=l((A=c[M].split("|"))[0]),z=l(A[1]),p[o]=z,i[o]=A[0],p[z]=o,i[z]=A[1]}function E(c){T(c.zones),s(c.links),function(c){var M,A,o,z;if(c&&c.length)for(M=0;M<c.length;M++)A=(z=c[M].split("|"))[0].toUpperCase(),o=z[1].split(" "),n[A]=new d(A,o)}(c.countries),R.dataVersion=c.version}function m(c){return m.didShowError||(m.didShowError=!0,S("moment.tz.zoneExists('"+c+"') has been deprecated in favor of !moment.tz.zone('"+c+"')")),!!t(c)}function C(c){var M="X"===c._f||"x"===c._f;return!(!c._a||void 0!==c._tzm||M)}function S(c){"undefined"!=typeof console&&"function"==typeof console.error&&console.error(c)}function R(c){var M=Array.prototype.slice.call(arguments,0,-1),A=arguments[arguments.length-1],o=t(A),z=b.utc.apply(null,M);return o&&!b.isMoment(c)&&C(z)&&z.add(o.parse(z),"minutes"),z.tz(A),z}(A<2||2==A&&o<6)&&S("Moment Timezone requires Moment.js >= 2.6.0. You are using Moment.js "+b.version+". See momentjs.com"),N.prototype={_set:function(c){this.name=c.name,this.abbrs=c.abbrs,this.untils=c.untils,this.offsets=c.offsets,this.population=c.population},_index:function(c){for(var M=+c,A=this.untils,o=0;o<A.length;o++)if(M<A[o])return o},countries:function(){var M=this.name;return Object.keys(n).filter(function(c){return-1!==n[c].zones.indexOf(M)})},parse:function(c){for(var M,A,o,z=+c,b=this.offsets,a=this.untils,p=a.length-1,n=0;n<p;n++)if(M=b[n],A=b[n+1],o=b[n?n-1:n],M<A&&R.moveAmbiguousForward?M=A:o<M&&R.moveInvalidForward&&(M=o),z<a[n]-6e4*M)return b[n];return b[p]},abbr:function(c){return this.abbrs[this._index(c)]},offset:function(c){return S("zone.offset has been deprecated in favor of zone.utcOffset"),this.offsets[this._index(c)]},utcOffset:function(c){return this.offsets[this._index(c)]}},f.prototype.scoreOffsetAt=function(c){this.offsetScore+=Math.abs(this.zone.utcOffset(c.at)-c.offset),this.zone.abbr(c.at).replace(/[^A-Z]/g,"")!==c.abbr&&this.abbrScore++},R.version="0.5.33",R.dataVersion="",R._zones=a,R._links=p,R._names=i,R._countries=n,R.add=T,R.link=s,R.load=E,R.zone=t,R.zoneExists=m,R.guess=function(c){return M&&!c||(M=B()),M},R.names=function(){var c,M=[];for(c in i)i.hasOwnProperty(c)&&(a[c]||a[p[c]])&&i[c]&&M.push(i[c]);return M.sort()},R.Zone=N,R.unpack=r,R.unpackBase60=z,R.needsOffset=C,R.moveInvalidForward=!0,R.moveAmbiguousForward=!1,R.countries=function(){return Object.keys(n)},R.zonesForCountry=function(c,M){var A;if(A=(A=c).toUpperCase(),!(c=n[A]||null))return null;var o=c.zones.sort();return M?o.map(function(c){return{name:c,offset:t(c).utcOffset(new Date)}}):o};var g,P=b.fn;function D(c){return function(){return this._z?this._z.abbr(this):c.call(this)}}function h(c){return function(){return this._z=null,c.apply(this,arguments)}}b.tz=R,b.defaultZone=null,b.updateOffset=function(c,M){var A,o,z=b.defaultZone;void 0===c._z&&(z&&C(c)&&!c._isUTC&&(c._d=b.utc(c._a)._d,c.utc().add(z.parse(c),"minutes")),c._z=z),c._z&&(o=c._z.utcOffset(c),Math.abs(o)<16&&(o/=60),void 0!==c.utcOffset?(A=c._z,c.utcOffset(-o,M),c._z=A):c.zone(o,M))},P.tz=function(c,M){if(c){if("string"!=typeof c)throw new Error("Time zone name must be a string, got "+c+" ["+typeof c+"]");return this._z=t(c),this._z?b.updateOffset(this,M):S("Moment Timezone has no data for "+c+". See http://momentjs.com/timezone/docs/#/data-loading/."),this}if(this._z)return this._z.name},P.zoneName=D(P.zoneName),P.zoneAbbr=D(P.zoneAbbr),P.utc=h(P.utc),P.local=h(P.local),P.utcOffset=(g=P.utcOffset,function(){return 0<arguments.length&&(this._z=null),g.apply(this,arguments)}),b.tz.setDefault=function(c){return(A<2||2==A&&o<9)&&S("Moment Timezone setDefault() requires Moment.js >= 2.9.0. You are using Moment.js "+b.version+"."),b.defaultZone=c?t(c):null,b};var k=b.momentProperties;return"[object Array]"===Object.prototype.toString.call(k)?(k.push("_z"),k.push("_a")):k&&(k._z=null),E({version:"2021a",zones:["Africa/Abidjan|LMT GMT|g.8 0|01|-2ldXH.Q|48e5","Africa/Accra|LMT GMT +0020 +0030|.Q 0 -k -u|01212121212121212121212121212121212121212121212131313131313131|-2bRzX.8 9RbX.8 fdE 1BAk MLE 1Bck MLE 1Bck MLE 1Bck MLE 1BAk MLE 1Bck MLE 1Bck MLE 1Bck MLE 1BAk MLE 1Bck MLE 1Bck MLE 1Bck MLE 1BAk MLE 1Bck MLE 1Bck MLE 1Bck MLE 1BAk MLE 1Bck MLE 1Bck MLE 1Bck MLE Mok 1BXE M0k 1BXE fak 9vbu bjCu MLu 1Bcu MLu 1BAu MLu 1Bcu MLu 1Bcu MLu 1Bcu MLu|41e5","Africa/Nairobi|LMT +0230 EAT +0245|-2r.g -2u -30 -2J|012132|-2ua2r.g N6nV.g 3Fbu h1cu dzbJ|47e5","Africa/Algiers|PMT WET WEST CET CEST|-9.l 0 -10 -10 -20|0121212121212121343431312123431213|-2nco9.l cNb9.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 DA0 Imo0 rd0 De0 9Xz0 1fb0 1ap0 16K0 2yo0 mEp0 hwL0 jxA0 11A0 dDd0 17b0 11B0 1cN0 2Dy0 1cN0 1fB0 1cL0|26e5","Africa/Lagos|LMT GMT +0030 WAT|-d.z 0 -u -10|01023|-2B40d.z 7iod.z dnXK.p dLzH.z|17e6","Africa/Bissau|LMT -01 GMT|12.k 10 0|012|-2ldX0 2xoo0|39e4","Africa/Maputo|LMT CAT|-2a.k -20|01|-2GJea.k|26e5","Africa/Cairo|EET EEST|-20 -30|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1bIO0 vb0 1ip0 11z0 1iN0 1nz0 12p0 1pz0 10N0 1pz0 16p0 1jz0 s3d0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1WL0 rd0 1Rz0 wp0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1qL0 Xd0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1ny0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 WL0 1qN0 Rb0 1wp0 On0 1zd0 Lz0 1EN0 Fb0 c10 8n0 8Nd0 gL0 e10 mn0|15e6","Africa/Casablanca|LMT +00 +01|u.k 0 -10|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2gMnt.E 130Lt.E rb0 Dd0 dVb0 b6p0 TX0 EoB0 LL0 gnd0 rz0 43d0 AL0 1Nd0 XX0 1Cp0 pz0 dEp0 4mn0 SyN0 AL0 1Nd0 wn0 1FB0 Db0 1zd0 Lz0 1Nf0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0|32e5","Africa/Ceuta|WET WEST CET CEST|0 -10 -10 -20|010101010101010101010232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-25KN0 11z0 drd0 18p0 3HX0 17d0 1fz0 1a10 1io0 1a00 1y7o0 LL0 gnd0 rz0 43d0 AL0 1Nd0 XX0 1Cp0 pz0 dEp0 4VB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|85e3","Africa/El_Aaiun|LMT -01 +00 +01|Q.M 10 0 -10|012323232323232323232323232323232323232323232323232323232323232323232323232323232323|-1rDz7.c 1GVA7.c 6L0 AL0 1Nd0 XX0 1Cp0 pz0 1cBB0 AL0 1Nd0 wn0 1FB0 Db0 1zd0 Lz0 1Nf0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0|20e4","Africa/Johannesburg|SAST SAST SAST|-1u -20 -30|012121|-2GJdu 1Ajdu 1cL0 1cN0 1cL0|84e5","Africa/Juba|LMT CAT CAST EAT|-26.s -20 -30 -30|012121212121212121212121212121212131|-1yW26.s 1zK06.s 16L0 1iN0 17b0 1jd0 17b0 1ip0 17z0 1i10 17X0 1hB0 18n0 1hd0 19b0 1gp0 19z0 1iN0 17b0 1ip0 17z0 1i10 18n0 1hd0 18L0 1gN0 19b0 1gp0 19z0 1iN0 17z0 1i10 17X0 yGd0 PeX0|","Africa/Khartoum|LMT CAT CAST EAT|-2a.8 -20 -30 -30|012121212121212121212121212121212131|-1yW2a.8 1zK0a.8 16L0 1iN0 17b0 1jd0 17b0 1ip0 17z0 1i10 17X0 1hB0 18n0 1hd0 19b0 1gp0 19z0 1iN0 17b0 1ip0 17z0 1i10 18n0 1hd0 18L0 1gN0 19b0 1gp0 19z0 1iN0 17z0 1i10 17X0 yGd0 HjL0|51e5","Africa/Monrovia|MMT MMT GMT|H.8 I.u 0|012|-23Lzg.Q 28G01.m|11e5","Africa/Ndjamena|LMT WAT WAST|-10.c -10 -20|0121|-2le10.c 2J3c0.c Wn0|13e5","Africa/Sao_Tome|LMT GMT WAT|A.J 0 -10|0121|-2le00 4i6N0 2q00|","Africa/Tripoli|LMT CET CEST EET|-Q.I -10 -20 -20|012121213121212121212121213123123|-21JcQ.I 1hnBQ.I vx0 4iP0 xx0 4eN0 Bb0 7ip0 U0n0 A10 1db0 1cN0 1db0 1dd0 1db0 1eN0 1bb0 1e10 1cL0 1c10 1db0 1dd0 1db0 1cN0 1db0 1q10 fAn0 1ep0 1db0 AKq0 TA0 1o00|11e5","Africa/Tunis|PMT CET CEST|-9.l -10 -20|0121212121212121212121212121212121|-2nco9.l 18pa9.l 1qM0 DA0 3Tc0 11B0 1ze0 WM0 7z0 3d0 14L0 1cN0 1f90 1ar0 16J0 1gXB0 WM0 1rA0 11c0 nwo0 Ko0 1cM0 1cM0 1rA0 10M0 zuM0 10N0 1aN0 1qM0 WM0 1qM0 11A0 1o00|20e5","Africa/Windhoek|+0130 SAST SAST CAT WAT|-1u -20 -30 -20 -10|01213434343434343434343434343434343434343434343434343|-2GJdu 1Ajdu 1cL0 1SqL0 9Io0 16P0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0|32e4","America/Adak|NST NWT NPT BST BDT AHST HST HDT|b0 a0 a0 b0 a0 a0 a0 90|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17SX0 8wW0 iB0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cm0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|326","America/Anchorage|AST AWT APT AHST AHDT YST AKST AKDT|a0 90 90 a0 90 90 90 80|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17T00 8wX0 iA0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cm0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|30e4","America/Port_of_Spain|LMT AST|46.4 40|01|-2kNvR.U|43e3","America/Araguaina|LMT -03 -02|3c.M 30 20|0121212121212121212121212121212121212121212121212121|-2glwL.c HdKL.c 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 dMN0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 ny10 Lz0|14e4","America/Argentina/Buenos_Aires|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 A4p0 uL0 1qN0 WL0|","America/Argentina/Catamarca|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323132321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 rlB0 7B0 8zb0 uL0|","America/Argentina/Cordoba|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323132323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 A4p0 uL0 1qN0 WL0|","America/Argentina/Jujuy|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323121323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1ze0 TX0 1ld0 WK0 1wp0 TX0 A4p0 uL0|","America/Argentina/La_Rioja|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Qn0 qO0 16n0 Rb0 1wp0 TX0 rlB0 7B0 8zb0 uL0|","America/Argentina/Mendoza|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232312121321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1u20 SL0 1vd0 Tb0 1wp0 TW0 ri10 Op0 7TX0 uL0|","America/Argentina/Rio_Gallegos|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 rlB0 7B0 8zb0 uL0|","America/Argentina/Salta|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 A4p0 uL0|","America/Argentina/San_Juan|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Qn0 qO0 16n0 Rb0 1wp0 TX0 rld0 m10 8lb0 uL0|","America/Argentina/San_Luis|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323121212321212|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 XX0 1q20 SL0 AN0 vDb0 m10 8lb0 8L0 jd0 1qN0 WL0 1qN0|","America/Argentina/Tucuman|CMT -04 -03 -02|4g.M 40 30 20|0121212121212121212121212121212121212121212323232313232123232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 rlB0 4N0 8BX0 uL0 1qN0 WL0|","America/Argentina/Ushuaia|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 rkN0 8p0 8zb0 uL0|","America/Curacao|LMT -0430 AST|4z.L 4u 40|012|-2kV7o.d 28KLS.d|15e4","America/Asuncion|AMT -04 -03|3O.E 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-1x589.k 1DKM9.k 3CL0 3Dd0 10L0 1pB0 10n0 1pB0 10n0 1pB0 1cL0 1dd0 1db0 1dd0 1cL0 1dd0 1cL0 1dd0 1cL0 1dd0 1db0 1dd0 1cL0 1dd0 1cL0 1dd0 1cL0 1dd0 1db0 1dd0 1cL0 1lB0 14n0 1dd0 1cL0 1fd0 WL0 1rd0 1aL0 1dB0 Xz0 1qp0 Xb0 1qN0 10L0 1rB0 TX0 1tB0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 WN0 1qL0 11B0 1nX0 1ip0 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 TX0 1tB0 19X0 1a10 1fz0 1a10 1fz0 1cN0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0|28e5","America/Atikokan|CST CDT CWT CPT EST|60 50 50 50 50|0101234|-25TQ0 1in0 Rnb0 3je0 8x30 iw0|28e2","America/Bahia_Banderas|LMT MST CST PST MDT CDT|71 70 60 80 60 50|0121212131414141414141414141414141414152525252525252525252525252525252525252525252525252525252|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nW0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|84e3","America/Bahia|LMT -03 -02|2y.4 30 20|01212121212121212121212121212121212121212121212121212121212121|-2glxp.U HdLp.U 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 l5B0 Rb0|27e5","America/Barbados|LMT BMT AST ADT|3W.t 3W.t 40 30|01232323232|-1Q0I1.v jsM0 1ODC1.v IL0 1ip0 17b0 1ip0 17b0 1ld0 13b0|28e4","America/Belem|LMT -03 -02|3d.U 30 20|012121212121212121212121212121|-2glwK.4 HdKK.4 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0|20e5","America/Belize|LMT CST -0530 CWT CPT CDT|5Q.M 60 5u 50 50 50|012121212121212121212121212121212121212121212121213412121212121212121212121212121212121212121215151|-2kBu7.c fPA7.c Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu Rcu 7Bt0 Ni0 4nd0 Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu e9Au qn0 lxB0 mn0|57e3","America/Blanc-Sablon|AST ADT AWT APT|40 30 30 30|010230|-25TS0 1in0 UGp0 8x50 iu0|11e2","America/Boa_Vista|LMT -04 -03|42.E 40 30|0121212121212121212121212121212121|-2glvV.k HdKV.k 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 smp0 WL0 1tB0 2L0|62e2","America/Bogota|BMT -05 -04|4U.g 50 40|0121|-2eb73.I 38yo3.I 2en0|90e5","America/Boise|PST PDT MST MWT MPT MDT|80 70 70 60 60 60|0101023425252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-261q0 1nX0 11B0 1nX0 8C10 JCL0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 Dd0 1Kn0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e4","America/Cambridge_Bay|-00 MST MWT MPT MDDT MDT CST CDT EST|0 70 60 60 50 60 60 50 50|0123141515151515151515151515151515151515151515678651515151515151515151515151515151515151515151515151515151515151515151515151|-21Jc0 RO90 8x20 ix0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11A0 1nX0 2K0 WQ0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e2","America/Campo_Grande|LMT -04 -03|3C.s 40 30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2glwl.w HdLl.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 1C10 Lz0 1Ip0 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0|77e4","America/Cancun|LMT CST EST EDT CDT|5L.4 60 50 40 50|0123232341414141414141414141414141414141412|-1UQG0 2q2o0 yLB0 1lb0 14p0 1lb0 14p0 Lz0 xB0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 Dd0|63e4","America/Caracas|CMT -0430 -04|4r.E 4u 40|01212|-2kV7w.k 28KM2.k 1IwOu kqo0|29e5","America/Cayenne|LMT -04 -03|3t.k 40 30|012|-2mrwu.E 2gWou.E|58e3","America/Panama|CMT EST|5j.A 50|01|-2uduE.o|15e5","America/Chicago|CST CDT EST CWT CPT|60 50 50 50 50|01010101010101010101010101010101010102010101010103401010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 1wp0 TX0 WN0 1qL0 1cN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 11B0 1Hz0 14p0 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 RB0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|92e5","America/Chihuahua|LMT MST CST CDT MDT|74.k 70 60 50 60|0121212323241414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 2zQN0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|81e4","America/Costa_Rica|SJMT CST CDT|5A.d 60 50|0121212121|-1Xd6n.L 2lu0n.L Db0 1Kp0 Db0 pRB0 15b0 1kp0 mL0|12e5","America/Creston|MST PST|70 80|010|-29DR0 43B0|53e2","America/Cuiaba|LMT -04 -03|3I.k 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2glwf.E HdLf.E 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 4a10 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0|54e4","America/Danmarkshavn|LMT -03 -02 GMT|1e.E 30 20 0|01212121212121212121212121212121213|-2a5WJ.k 2z5fJ.k 19U0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 DC0|8","America/Dawson_Creek|PST PDT PWT PPT MST|80 70 70 70 70|0102301010101010101010101010101010101010101010101010101014|-25TO0 1in0 UGp0 8x10 iy0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 ML0|12e3","America/Dawson|YST YDT YWT YPT YDDT PST PDT MST|90 80 80 80 70 80 70 70|010102304056565656565656565656565656565656565656565656565656565656565656565656565656565656567|-25TN0 1in0 1o10 13V0 Ser0 8x00 iz0 LCL0 1fA0 jrA0 fNd0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1z90|13e2","America/Denver|MST MDT MWT MPT|70 60 60 60|01010101023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261r0 1nX0 11B0 1nX0 11B0 1qL0 WN0 mn0 Ord0 8x20 ix0 LCN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e5","America/Detroit|LMT CST EST EWT EPT EDT|5w.b 60 50 40 40 40|0123425252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-2Cgir.N peqr.N 156L0 8x40 iv0 6fd0 11z0 JxX1 SMX 1cN0 1cL0 aW10 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|37e5","America/Edmonton|LMT MST MDT MWT MPT|7x.Q 70 60 60 60|0121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2yd4q.8 shdq.8 1in0 17d0 hz0 2dB0 1fz0 1a10 11z0 1qN0 WL0 1qN0 11z0 IGN0 8x20 ix0 3NB0 11z0 XQp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|10e5","America/Eirunepe|LMT -05 -04|4D.s 50 40|0121212121212121212121212121212121|-2glvk.w HdLk.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 dPB0 On0 yTd0 d5X0|31e3","America/El_Salvador|LMT CST CDT|5U.M 60 50|012121|-1XiG3.c 2Fvc3.c WL0 1qN0 WL0|11e5","America/Tijuana|LMT MST PST PDT PWT PPT|7M.4 70 80 70 70 70|012123245232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UQE0 4PX0 8mM0 8lc0 SN0 1cL0 pHB0 83r0 zI0 5O10 1Rz0 cOO0 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 BUp0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|20e5","America/Fort_Nelson|PST PDT PWT PPT MST|80 70 70 70 70|01023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010104|-25TO0 1in0 UGp0 8x10 iy0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0|39e2","America/Fort_Wayne|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|010101023010101010101010101040454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 QI10 Db0 RB0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 5Tz0 1o10 qLb0 1cL0 1cN0 1cL0 1qhd0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|","America/Fortaleza|LMT -03 -02|2y 30 20|0121212121212121212121212121212121212121|-2glxq HdLq 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 5z0 2mN0 On0|34e5","America/Glace_Bay|LMT AST ADT AWT APT|3X.M 40 30 30 30|012134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsI0.c CwO0.c 1in0 UGp0 8x50 iu0 iq10 11z0 Jg10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|19e3","America/Godthab|LMT -03 -02|3q.U 30 20|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a5Ux.4 2z5dx.4 19U0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e3","America/Goose_Bay|NST NDT NST NDT NWT NPT AST ADT ADDT|3u.Q 2u.Q 3u 2u 2u 2u 40 30 20|010232323232323245232323232323232323232323232323232323232326767676767676767676767676767676767676767676768676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-25TSt.8 1in0 DXb0 2HbX.8 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 WL0 1qN0 WL0 1qN0 7UHu itu 1tB0 WL0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1tB0 WL0 1ld0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 S10 g0u 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14n1 1lb0 14p0 1nW0 11C0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zcX Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|76e2","America/Grand_Turk|KMT EST EDT AST|57.a 50 40 40|0121212121212121212121212121212121212121212121212121212121212121212121212132121212121212121212121212121212121212121|-2l1uQ.O 2HHBQ.O 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 7jA0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|37e2","America/Guatemala|LMT CST CDT|62.4 60 50|0121212121|-24KhV.U 2efXV.U An0 mtd0 Nz0 ifB0 17b0 zDB0 11z0|13e5","America/Guayaquil|QMT -05 -04|5e 50 40|0121|-1yVSK 2uILK rz0|27e5","America/Guyana|LMT -0345 -03 -04|3Q.E 3J 30 40|0123|-2dvU7.k 2r6LQ.k Bxbf|80e4","America/Halifax|LMT AST ADT AWT APT|4e.o 40 30 30 30|0121212121212121212121212121212121212121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsHJ.A xzzJ.A 1db0 3I30 1in0 3HX0 IL0 1E10 ML0 1yN0 Pb0 1Bd0 Mn0 1Bd0 Rz0 1w10 Xb0 1w10 LX0 1w10 Xb0 1w10 Lz0 1C10 Jz0 1E10 OL0 1yN0 Un0 1qp0 Xb0 1qp0 11X0 1w10 Lz0 1HB0 LX0 1C10 FX0 1w10 Xb0 1qp0 Xb0 1BB0 LX0 1td0 Xb0 1qp0 Xb0 Rf0 8x50 iu0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 3Qp0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 3Qp0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 6i10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|39e4","America/Havana|HMT CST CDT|5t.A 50 40|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1Meuu.o 72zu.o ML0 sld0 An0 1Nd0 Db0 1Nd0 An0 6Ep0 An0 1Nd0 An0 JDd0 Mn0 1Ap0 On0 1fd0 11X0 1qN0 WL0 1wp0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 14n0 1ld0 14L0 1kN0 15b0 1kp0 1cL0 1cN0 1fz0 1a10 1fz0 1fB0 11z0 14p0 1nX0 11B0 1nX0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 14n0 1ld0 14n0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 1a10 1in0 1a10 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 17c0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 11A0 6i00 Rc0 1wo0 U00 1tA0 Rc0 1wo0 U00 1wo0 U00 1zc0 U00 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0|21e5","America/Hermosillo|LMT MST CST PST MDT|7n.Q 70 60 80 60|0121212131414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0|64e4","America/Indiana/Knox|CST CDT CWT CPT EST|60 50 50 50 50|0101023010101010101010101010101010101040101010101010101010101010101010101010101010101010141010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 11z0 1o10 11z0 1o10 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 3Cn0 8wp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 z8o0 1o00 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|","America/Indiana/Marengo|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101023010101010101010104545454545414545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 dyN0 11z0 6fd0 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 jrz0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1VA0 LA0 1BX0 1e6p0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|","America/Indiana/Petersburg|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010104010101010101010101010141014545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 njX0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 3Fb0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 19co0 1o00 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|","America/Indiana/Tell_City|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010401054541010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 njX0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 8wn0 1cN0 1cL0 1cN0 1cK0 1cN0 1cL0 1qhd0 1o00 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|","America/Indiana/Vevay|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|010102304545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 kPB0 Awn0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1lnd0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|","America/Indiana/Vincennes|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010454541014545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 g0p0 11z0 1o10 11z0 1qL0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 caL0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|","America/Indiana/Winamac|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010101010454541054545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 jrz0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1za0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|","America/Inuvik|-00 PST PDDT MST MDT|0 80 60 70 60|0121343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-FnA0 tWU0 1fA0 wPe0 2pz0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|35e2","America/Iqaluit|-00 EWT EPT EST EDDT EDT CST CDT|0 40 40 50 30 40 60 50|01234353535353535353535353535353535353535353567353535353535353535353535353535353535353535353535353535353535353535353535353|-16K00 7nX0 iv0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11C0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|67e2","America/Jamaica|KMT EST EDT|57.a 50 40|0121212121212121212121|-2l1uQ.O 2uM1Q.O 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0|94e4","America/Juneau|PST PWT PPT PDT YDT YST AKST AKDT|80 70 70 70 80 90 90 80|01203030303030303030303030403030356767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cM0 1cM0 1cL0 1cN0 1fz0 1a10 1fz0 co0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|33e3","America/Kentucky/Louisville|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101010102301010101010101010101010101454545454545414545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 3Fd0 Nb0 LPd0 11z0 RB0 8x30 iw0 1nX1 e0X 9vd0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 xz0 gso0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1VA0 LA0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|","America/Kentucky/Monticello|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101023010101010101010101010101010101010101010101010101010101010101010101454545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 SWp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|","America/La_Paz|CMT BST -04|4w.A 3w.A 40|012|-1x37r.o 13b0|19e5","America/Lima|LMT -05 -04|58.A 50 40|0121212121212121|-2tyGP.o 1bDzP.o zX0 1aN0 1cL0 1cN0 1cL0 1PrB0 zX0 1O10 zX0 6Gp0 zX0 98p0 zX0|11e6","America/Los_Angeles|PST PDT PWT PPT|80 70 70 70|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261q0 1nX0 11B0 1nX0 SgN0 8x10 iy0 5Wp1 1VaX 3dA0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e6","America/Maceio|LMT -03 -02|2m.Q 30 20|012121212121212121212121212121212121212121|-2glxB.8 HdLB.8 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 dMN0 Lz0 8Q10 WL0 1tB0 5z0 2mN0 On0|93e4","America/Managua|MMT CST EST CDT|5J.c 60 50 50|0121313121213131|-1quie.M 1yAMe.M 4mn0 9Up0 Dz0 1K10 Dz0 s3F0 1KH0 DB0 9In0 k8p0 19X0 1o30 11y0|22e5","America/Manaus|LMT -04 -03|40.4 40 30|01212121212121212121212121212121|-2glvX.U HdKX.U 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 dPB0 On0|19e5","America/Martinique|FFMT AST ADT|44.k 40 30|0121|-2mPTT.E 2LPbT.E 19X0|39e4","America/Matamoros|LMT CST CDT|6E 60 50|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1UQG0 2FjC0 1nX0 i6p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|45e4","America/Mazatlan|LMT MST CST PST MDT|75.E 70 60 80 60|0121212131414141414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|44e4","America/Menominee|CST CDT CWT CPT EST|60 50 50 50 50|01010230101041010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 LCN0 1fz0 6410 9Jb0 1cM0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|85e2","America/Merida|LMT CST EST CDT|5W.s 60 50 50|0121313131313131313131313131313131313131313131313131313131313131313131313131313131313131|-1UQG0 2q2o0 2hz0 wu30 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|11e5","America/Metlakatla|PST PWT PPT PDT AKST AKDT|80 70 70 70 90 80|01203030303030303030303030303030304545450454545454545454545454545454545454545454|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1hU10 Rd0 1zb0 Op0 1zb0 Op0 1zb0 uM0 jB0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|14e2","America/Mexico_City|LMT MST CST CDT CWT|6A.A 70 60 50 50|012121232324232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 gEn0 TX0 3xd0 Jb0 6zB0 SL0 e5d0 17b0 1Pff0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|20e6","America/Miquelon|LMT AST -03 -02|3I.E 40 30 20|012323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2mKkf.k 2LTAf.k gQ10 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|61e2","America/Moncton|EST AST ADT AWT APT|50 40 30 30 30|012121212121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsH0 CwN0 1in0 zAo0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1K10 Lz0 1zB0 NX0 1u10 Wn0 S20 8x50 iu0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 3Cp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14n1 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 ReX 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|64e3","America/Monterrey|LMT CST CDT|6F.g 60 50|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1UQG0 2FjC0 1nX0 i6p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|41e5","America/Montevideo|LMT MMT -04 -03 -0330 -0230 -02 -0130|3I.P 3I.P 40 30 3u 2u 20 1u|012343434343434343434343435353636353636375363636363636363636363636363636363636363636363|-2tRUf.9 sVc0 8jcf.9 1db0 1dcu 1cLu 1dcu 1cLu ircu 11zu 1o0u 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 1qMu WLu 1fAu 1cLu 1o0u 11zu NAu 3jXu zXu Dq0u 19Xu pcu jz0 cm10 19X0 6tB0 1fbu 3o0u jX0 4vB0 xz0 3Cp0 mmu 1a10 IMu Db0 4c10 uL0 1Nd0 An0 1SN0 uL0 mp0 28L0 iPB0 un0 1SN0 xz0 1zd0 Lz0 1zd0 Rb0 1zd0 On0 1wp0 Rb0 s8p0 1fB0 1ip0 11z0 1ld0 14n0 1o10 11z0 1o10 11z0 1o10 14n0 1ld0 14n0 1ld0 14n0 1o10 11z0 1o10 11z0 1o10 11z0|17e5","America/Toronto|EST EDT EWT EPT|50 40 40 40|01010101010101010101010101010101010101010101012301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TR0 1in0 11Wu 1nzu 1fD0 WJ0 1wr0 Nb0 1Ap0 On0 1zd0 On0 1wp0 TX0 1tB0 TX0 1tB0 TX0 1tB0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 4kM0 8x40 iv0 1o10 11z0 1nX0 11z0 1o10 11z0 1o10 1qL0 11D0 1nX0 11B0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|65e5","America/Nassau|LMT EST EWT EPT EDT|59.u 50 40 40 40|01212314141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141|-2kNuO.u 1drbO.u 6tX0 cp0 1hS0 pF0 J630 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|24e4","America/New_York|EST EDT EWT EPT|50 40 40 40|01010101010101010101010101010101010101010101010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261t0 1nX0 11B0 1nX0 11B0 1qL0 1a10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 RB0 8x40 iv0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e6","America/Nipigon|EST EDT EWT EPT|50 40 40 40|010123010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TR0 1in0 Rnb0 3je0 8x40 iv0 19yN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|16e2","America/Nome|NST NWT NPT BST BDT YST AKST AKDT|b0 a0 a0 b0 a0 90 90 80|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17SX0 8wW0 iB0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cl0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|38e2","America/Noronha|LMT -02 -01|29.E 20 10|0121212121212121212121212121212121212121|-2glxO.k HdKO.k 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 2L0 2pB0 On0|30e2","America/North_Dakota/Beulah|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101014545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|","America/North_Dakota/Center|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101014545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14o0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|","America/North_Dakota/New_Salem|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101454545454545454545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14o0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|","America/Ojinaga|LMT MST CST CDT MDT|6V.E 70 60 50 60|0121212323241414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 2zQN0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e3","America/Pangnirtung|-00 AST AWT APT ADDT ADT EDT EST CST CDT|0 40 30 30 20 30 40 50 60 50|012314151515151515151515151515151515167676767689767676767676767676767676767676767676767676767676767676767676767676767676767|-1XiM0 PnG0 8x50 iu0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1o00 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11C0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|14e2","America/Paramaribo|LMT PMT PMT -0330 -03|3E.E 3E.Q 3E.A 3u 30|01234|-2nDUj.k Wqo0.c qanX.I 1yVXN.o|24e4","America/Phoenix|MST MDT MWT|70 60 60|01010202010|-261r0 1nX0 11B0 1nX0 SgN0 4Al1 Ap0 1db0 SWqX 1cL0|42e5","America/Port-au-Prince|PPMT EST EDT|4N 50 40|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-28RHb 2FnMb 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14q0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 i6n0 1nX0 11B0 1nX0 d430 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 3iN0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e5","America/Rio_Branco|LMT -05 -04|4v.c 50 40|01212121212121212121212121212121|-2glvs.M HdLs.M 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 NBd0 d5X0|31e4","America/Porto_Velho|LMT -04 -03|4f.A 40 30|012121212121212121212121212121|-2glvI.o HdKI.o 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0|37e4","America/Puerto_Rico|AST AWT APT|40 30 30|0120|-17lU0 7XT0 iu0|24e5","America/Punta_Arenas|SMT -05 -04 -03|4G.K 50 40 30|0102021212121212121232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-2q2jh.e fJAh.e 5knG.K 1Vzh.e jRAG.K 1pbh.e 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 nHX0 op0 blz0 ko0 Qeo0 WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0|","America/Rainy_River|CST CDT CWT CPT|60 50 50 50|010123010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TQ0 1in0 Rnb0 3je0 8x30 iw0 19yN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|842","America/Rankin_Inlet|-00 CST CDDT CDT EST|0 60 40 50 50|012131313131313131313131313131313131313131313431313131313131313131313131313131313131313131313131313131313131313131313131|-vDc0 keu0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e2","America/Recife|LMT -03 -02|2j.A 30 20|0121212121212121212121212121212121212121|-2glxE.o HdLE.o 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 2L0 2pB0 On0|33e5","America/Regina|LMT MST MDT MWT MPT CST|6W.A 70 60 60 60 60|012121212121212121212121341212121212121212121212121215|-2AD51.o uHe1.o 1in0 s2L0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 66N0 1cL0 1cN0 19X0 1fB0 1cL0 1fB0 1cL0 1cN0 1cL0 M30 8x20 ix0 1ip0 1cL0 1ip0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 3NB0 1cL0 1cN0|19e4","America/Resolute|-00 CST CDDT CDT EST|0 60 40 50 50|012131313131313131313131313131313131313131313431313131313431313131313131313131313131313131313131313131313131313131313131|-SnA0 GWS0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|229","America/Santarem|LMT -04 -03|3C.M 40 30|0121212121212121212121212121212|-2glwl.c HdLl.c 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 NBd0|21e4","America/Santiago|SMT -05 -04 -03|4G.K 50 40 30|010202121212121212321232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-2q2jh.e fJAh.e 5knG.K 1Vzh.e jRAG.K 1pbh.e 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 nHX0 op0 9Bz0 jb0 1oN0 ko0 Qeo0 WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1zb0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0|62e5","America/Santo_Domingo|SDMT EST EDT -0430 AST|4E 50 40 4u 40|01213131313131414|-1ttjk 1lJMk Mn0 6sp0 Lbu 1Cou yLu 1RAu wLu 1QMu xzu 1Q0u xXu 1PAu 13jB0 e00|29e5","America/Sao_Paulo|LMT -03 -02|36.s 30 20|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2glwR.w HdKR.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 pTd0 PX0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 1C10 Lz0 1Ip0 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0|20e6","America/Scoresbysund|LMT -02 -01 +00|1r.Q 20 10 0|0121323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2a5Ww.8 2z5ew.8 1a00 1cK0 1cL0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|452","America/Sitka|PST PWT PPT PDT YST AKST AKDT|80 70 70 70 90 90 80|01203030303030303030303030303030345656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 co0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|90e2","America/St_Johns|NST NDT NST NDT NWT NPT NDDT|3u.Q 2u.Q 3u 2u 2u 2u 1u|01010101010101010101010101010101010102323232323232324523232323232323232323232323232323232323232323232323232323232323232323232323232323232326232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-28oit.8 14L0 1nB0 1in0 1gm0 Dz0 1JB0 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 1cL0 1fB0 19X0 1fB0 19X0 10O0 eKX.8 19X0 1iq0 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 WL0 1qN0 WL0 1qN0 7UHu itu 1tB0 WL0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1tB0 WL0 1ld0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14n1 1lb0 14p0 1nW0 11C0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zcX Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|11e4","America/Swift_Current|LMT MST MDT MWT MPT CST|7b.k 70 60 60 60 60|012134121212121212121215|-2AD4M.E uHdM.E 1in0 UGp0 8x20 ix0 1o10 17b0 1ip0 11z0 1o10 11z0 1o10 11z0 isN0 1cL0 3Cp0 1cL0 1cN0 11z0 1qN0 WL0 pMp0|16e3","America/Tegucigalpa|LMT CST CDT|5M.Q 60 50|01212121|-1WGGb.8 2ETcb.8 WL0 1qN0 WL0 GRd0 AL0|11e5","America/Thule|LMT AST ADT|4z.8 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a5To.Q 31NBo.Q 1cL0 1cN0 1cL0 1fB0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|656","America/Thunder_Bay|CST EST EWT EPT EDT|60 50 40 40 40|0123141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141|-2q5S0 1iaN0 8x40 iv0 XNB0 1cL0 1cN0 1fz0 1cN0 1cL0 3Cp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|11e4","America/Vancouver|PST PDT PWT PPT|80 70 70 70|0102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TO0 1in0 UGp0 8x10 iy0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e5","America/Whitehorse|YST YDT YWT YPT YDDT PST PDT MST|90 80 80 80 70 80 70 70|010102304056565656565656565656565656565656565656565656565656565656565656565656565656565656567|-25TN0 1in0 1o10 13V0 Ser0 8x00 iz0 LCL0 1fA0 3NA0 vrd0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1z90|23e3","America/Winnipeg|CST CDT CWT CPT|60 50 50 50|010101023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aIi0 WL0 3ND0 1in0 Jap0 Rb0 aCN0 8x30 iw0 1tB0 11z0 1ip0 11z0 1o10 11z0 1o10 11z0 1rd0 10L0 1op0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 1cL0 1cN0 11z0 6i10 WL0 6i10 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|66e4","America/Yakutat|YST YWT YPT YDT AKST AKDT|90 80 80 80 90 80|01203030303030303030303030303030304545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-17T10 8x00 iz0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cn0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|642","America/Yellowknife|-00 MST MWT MPT MDDT MDT|0 70 60 60 50 60|012314151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151|-1pdA0 hix0 8x20 ix0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|19e3","Antarctica/Casey|-00 +08 +11|0 -80 -b0|0121212121212|-2q00 1DjS0 T90 40P0 KL0 blz0 3m10 1o30 14k0 1kr0 12l0 1o01|10","Antarctica/Davis|-00 +07 +05|0 -70 -50|01012121|-vyo0 iXt0 alj0 1D7v0 VB0 3Wn0 KN0|70","Antarctica/DumontDUrville|-00 +10|0 -a0|0101|-U0o0 cfq0 bFm0|80","Antarctica/Macquarie|AEST AEDT -00|-a0 -b0 0|010201010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-29E80 1a00 4SK0 1ayy0 Lvs0 1cM0 1o00 Rc0 1wo0 Rc0 1wo0 U00 1wo0 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 3Co0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|1","Antarctica/Mawson|-00 +06 +05|0 -60 -50|012|-CEo0 2fyk0|60","Pacific/Auckland|NZMT NZST NZST NZDT|-bu -cu -c0 -d0|01020202020202020202020202023232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-1GCVu Lz0 1tB0 11zu 1o0u 11zu 1o0u 11zu 1o0u 14nu 1lcu 14nu 1lcu 1lbu 11Au 1nXu 11Au 1nXu 11Au 1nXu 11Au 1nXu 11Au 1qLu WMu 1qLu 11Au 1n1bu IM0 1C00 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1qM0 14o0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1io0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|14e5","Antarctica/Palmer|-00 -03 -04 -02|0 30 40 20|0121212121213121212121212121212121212121212121212121212121212121212121212121212121|-cao0 nD0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 jsN0 14N0 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0|40","Antarctica/Rothera|-00 -03|0 30|01|gOo0|130","Antarctica/Syowa|-00 +03|0 -30|01|-vs00|20","Antarctica/Troll|-00 +00 +02|0 0 -20|01212121212121212121212121212121212121212121212121212121212121212121|1puo0 hd0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|40","Antarctica/Vostok|-00 +06|0 -60|01|-tjA0|25","Europe/Oslo|CET CEST|-10 -20|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2awM0 Qm0 W6o0 5pf0 WM0 1fA0 1cM0 1cM0 1cM0 1cM0 wJc0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1qM0 WM0 zpc0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|62e4","Asia/Riyadh|LMT +03|-36.Q -30|01|-TvD6.Q|57e5","Asia/Almaty|LMT +05 +06 +07|-57.M -50 -60 -70|012323232323232323232321232323232323232323232323232|-1Pc57.M eUo7.M 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0|15e5","Asia/Amman|LMT EET EEST|-2n.I -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1yW2n.I 1HiMn.I KL0 1oN0 11b0 1oN0 11b0 1pd0 1dz0 1cp0 11b0 1op0 11b0 fO10 1db0 1e10 1cL0 1cN0 1cL0 1cN0 1fz0 1pd0 10n0 1ld0 14n0 1hB0 15b0 1ip0 19X0 1cN0 1cL0 1cN0 17b0 1ld0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1So0 y00 1fc0 1dc0 1co0 1dc0 1cM0 1cM0 1cM0 1o00 11A0 1lc0 17c0 1cM0 1cM0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 4bX0 Dd0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|25e5","Asia/Anadyr|LMT +12 +13 +14 +11|-bN.U -c0 -d0 -e0 -b0|01232121212121212121214121212121212121212121212121212121212141|-1PcbN.U eUnN.U 23CL0 1db0 2q10 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|13e3","Asia/Aqtau|LMT +04 +05 +06|-3l.4 -40 -50 -60|012323232323232323232123232312121212121212121212|-1Pc3l.4 eUnl.4 24PX0 2pX0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|15e4","Asia/Aqtobe|LMT +04 +05 +06|-3M.E -40 -50 -60|0123232323232323232321232323232323232323232323232|-1Pc3M.E eUnM.E 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0|27e4","Asia/Ashgabat|LMT +04 +05 +06|-3R.w -40 -50 -60|0123232323232323232323212|-1Pc3R.w eUnR.w 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0|41e4","Asia/Atyrau|LMT +03 +05 +06 +04|-3r.I -30 -50 -60 -40|01232323232323232323242323232323232324242424242|-1Pc3r.I eUor.I 24PW0 2pX0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 2sp0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|","Asia/Baghdad|BMT +03 +04|-2V.A -30 -40|012121212121212121212121212121212121212121212121212121|-26BeV.A 2ACnV.A 11b0 1cp0 1dz0 1dd0 1db0 1cN0 1cp0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1de0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0|66e5","Asia/Qatar|LMT +04 +03|-3q.8 -40 -30|012|-21Jfq.8 27BXq.8|96e4","Asia/Baku|LMT +03 +04 +05|-3j.o -30 -40 -50|01232323232323232323232123232323232323232323232323232323232323232|-1Pc3j.o 1jUoj.o WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cM0 9Je0 1o00 11z0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|27e5","Asia/Bangkok|BMT +07|-6G.4 -70|01|-218SG.4|15e6","Asia/Barnaul|LMT +06 +07 +08|-5z -60 -70 -80|0123232323232323232323212323232321212121212121212121212121212121212|-21S5z pCnz 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 p90 LE0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|","Asia/Beirut|EET EEST|-20 -30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-21aq0 1on0 1410 1db0 19B0 1in0 1ip0 WL0 1lQp0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 q6N0 En0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1op0 11b0 dA10 17b0 1iN0 17b0 1iN0 17b0 1iN0 17b0 1vB0 SL0 1mp0 13z0 1iN0 17b0 1iN0 17b0 1jd0 12n0 1a10 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0|22e5","Asia/Bishkek|LMT +05 +06 +07|-4W.o -50 -60 -70|012323232323232323232321212121212121212121212121212|-1Pc4W.o eUnW.o 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2e00 1tX0 17b0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1cPu 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0|87e4","Asia/Brunei|LMT +0730 +08|-7D.E -7u -80|012|-1KITD.E gDc9.E|42e4","Asia/Kolkata|MMT IST +0630|-5l.a -5u -6u|012121|-2zOtl.a 1r2LP.a 1un0 HB0 7zX0|15e6","Asia/Chita|LMT +08 +09 +10|-7x.Q -80 -90 -a0|012323232323232323232321232323232323232323232323232323232323232312|-21Q7x.Q pAnx.Q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3re0|33e4","Asia/Choibalsan|LMT +07 +08 +10 +09|-7C -70 -80 -a0 -90|0123434343434343434343434343434343434343434343424242|-2APHC 2UkoC cKn0 1da0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 3Db0 h1f0 1cJ0 1cP0 1cJ0|38e3","Asia/Shanghai|CST CDT|-80 -90|01010101010101010101010101010|-23uw0 18n0 OjB0 Rz0 11d0 1wL0 A10 8HX0 1G10 Tz0 1ip0 1jX0 1cN0 11b0 1oN0 aL0 1tU30 Rb0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0|23e6","Asia/Colombo|MMT +0530 +06 +0630|-5j.w -5u -60 -6u|01231321|-2zOtj.w 1rFbN.w 1zzu 7Apu 23dz0 11zu n3cu|22e5","Asia/Dhaka|HMT +0630 +0530 +06 +07|-5R.k -6u -5u -60 -70|0121343|-18LFR.k 1unn.k HB0 m6n0 2kxbu 1i00|16e6","Asia/Damascus|LMT EET EEST|-2p.c -20 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-21Jep.c Hep.c 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1xRB0 11X0 1oN0 10L0 1pB0 11b0 1oN0 10L0 1mp0 13X0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 Nb0 1AN0 Nb0 bcp0 19X0 1gp0 19X0 3ld0 1xX0 Vd0 1Bz0 Sp0 1vX0 10p0 1dz0 1cN0 1cL0 1db0 1db0 1g10 1an0 1ap0 1db0 1fd0 1db0 1cN0 1db0 1dd0 1db0 1cp0 1dz0 1c10 1dX0 1cN0 1db0 1dd0 1db0 1cN0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1db0 1cN0 1db0 1cN0 19z0 1fB0 1qL0 11B0 1on0 Wp0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0|26e5","Asia/Dili|LMT +08 +09|-8m.k -80 -90|01212|-2le8m.k 1dnXm.k 1nfA0 Xld0|19e4","Asia/Dubai|LMT +04|-3F.c -40|01|-21JfF.c|39e5","Asia/Dushanbe|LMT +05 +06 +07|-4z.c -50 -60 -70|012323232323232323232321|-1Pc4z.c eUnz.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2hB0|76e4","Asia/Famagusta|LMT EET EEST +03|-2f.M -20 -30 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212312121212121212121212121212121212121212121|-1Vc2f.M 2a3cf.M 1cL0 1qp0 Xz0 19B0 19X0 1fB0 1db0 1cp0 1cL0 1fB0 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1o30 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 15U0 2Ks0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|","Asia/Gaza|EET EEST IST IDT|-20 -30 -20 -30|010101010101010101010101010101010123232323232323232323232323232320101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1c2o0 MM0 iM0 4JA0 10o0 1pA0 10M0 1pA0 16o0 1jA0 16o0 1jA0 pBa0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 dW0 hfB0 Db0 1fB0 Rb0 bXB0 gM0 8Q00 IM0 1wo0 TX0 1HB0 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 M10 C00 17c0 1io0 17c0 1io0 17c0 1o00 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 17c0 1io0 18N0 1bz0 19z0 1gp0 1610 1iL0 11z0 1o10 14o0 1lA1 SKX 1xd1 MKX 1AN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nA0 1210 1qL0 WN0 1qL0 WN0 1qL0 11c0 1on0 11B0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|18e5","Asia/Hebron|EET EEST IST IDT|-20 -30 -20 -30|01010101010101010101010101010101012323232323232323232323232323232010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1c2o0 MM0 iM0 4JA0 10o0 1pA0 10M0 1pA0 16o0 1jA0 16o0 1jA0 pBa0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 dW0 hfB0 Db0 1fB0 Rb0 bXB0 gM0 8Q00 IM0 1wo0 TX0 1HB0 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 M10 C00 17c0 1io0 17c0 1io0 17c0 1o00 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 17c0 1io0 18N0 1bz0 19z0 1gp0 1610 1iL0 12L0 1mN0 14o0 1lc0 Tb0 1xd1 MKX bB0 cn0 1cN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nA0 1210 1qL0 WN0 1qL0 WN0 1qL0 11c0 1on0 11B0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|25e4","Asia/Ho_Chi_Minh|LMT PLMT +07 +08 +09|-76.E -76.u -70 -80 -90|0123423232|-2yC76.E bK00.a 1h7b6.u 5lz0 18o0 3Oq0 k5b0 aW00 BAM0|90e5","Asia/Hong_Kong|LMT HKT HKST HKWT JST|-7A.G -80 -90 -8u -90|0123412121212121212121212121212121212121212121212121212121212121212121|-2CFH0 1taO0 Hc0 xUu 9tBu 11z0 1tDu Rc0 1wo0 11A0 1cM0 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1nX0 U10 1tz0 U10 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 Rd0 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 17d0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1cL0 6fd0 14n0|73e5","Asia/Hovd|LMT +06 +07 +08|-66.A -60 -70 -80|012323232323232323232323232323232323232323232323232|-2APG6.A 2Uko6.A cKn0 1db0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 kEp0 1cJ0 1cP0 1cJ0|81e3","Asia/Irkutsk|IMT +07 +08 +09|-6V.5 -70 -80 -90|01232323232323232323232123232323232323232323232323232323232323232|-21zGV.5 pjXV.5 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|60e4","Europe/Istanbul|IMT EET EEST +03 +04|-1U.U -20 -30 -30 -40|0121212121212121212121212121212121212121212121234312121212121212121212121212121212121212121212121212121212121212123|-2ogNU.U dzzU.U 11b0 8tB0 1on0 1410 1db0 19B0 1in0 3Rd0 Un0 1oN0 11b0 zSN0 CL0 mp0 1Vz0 1gN0 8yn0 1yp0 ML0 1kp0 17b0 1ip0 17b0 1fB0 19X0 1ip0 19X0 1ip0 17b0 qdB0 38L0 1jd0 Tz0 l6O0 11A0 WN0 1qL0 TB0 1tX0 U10 1tz0 11B0 1in0 17d0 z90 cne0 pb0 2Cp0 1800 14o0 1dc0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1a00 1fA0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WO0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 Xc0 1qo0 WM0 1qM0 11A0 1o00 1200 1nA0 11A0 1tA0 U00 15w0|13e6","Asia/Jakarta|BMT +0720 +0730 +09 +08 WIB|-77.c -7k -7u -90 -80 -70|01232425|-1Q0Tk luM0 mPzO 8vWu 6kpu 4PXu xhcu|31e6","Asia/Jayapura|LMT +09 +0930 WIT|-9m.M -90 -9u -90|0123|-1uu9m.M sMMm.M L4nu|26e4","Asia/Jerusalem|JMT IST IDT IDDT|-2k.E -20 -30 -40|01212121212121321212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-26Bek.E SyOk.E MM0 iM0 4JA0 10o0 1pA0 10M0 1pA0 16o0 1jA0 16o0 1jA0 3LA0 Eo0 oo0 1co0 1dA0 16o0 10M0 1jc0 1tA0 14o0 1cM0 1a00 11A0 1Nc0 Ao0 1Nc0 Ao0 1Ko0 LA0 1o00 WM0 EQK0 Db0 1fB0 Rb0 bXB0 gM0 8Q00 IM0 1wo0 TX0 1HB0 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 1hB0 1dX0 1ep0 1aL0 1eN0 17X0 1nf0 11z0 1tB0 19W0 1e10 17b0 1ep0 1gL0 18N0 1fz0 1eN0 17b0 1gq0 1gn0 19d0 1dz0 1c10 17X0 1hB0 1gn0 19d0 1dz0 1c10 17X0 1kp0 1dz0 1c10 1aL0 1eN0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0|81e4","Asia/Kabul|+04 +0430|-40 -4u|01|-10Qs0|46e5","Asia/Kamchatka|LMT +11 +12 +13|-ay.A -b0 -c0 -d0|012323232323232323232321232323232323232323232323232323232323212|-1SLKy.A ivXy.A 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|18e4","Asia/Karachi|LMT +0530 +0630 +05 PKT PKST|-4s.c -5u -6u -50 -50 -60|012134545454|-2xoss.c 1qOKW.c 7zX0 eup0 LqMu 1fy00 1cL0 dK10 11b0 1610 1jX0|24e6","Asia/Urumqi|LMT +06|-5O.k -60|01|-1GgtO.k|32e5","Asia/Kathmandu|LMT +0530 +0545|-5F.g -5u -5J|012|-21JhF.g 2EGMb.g|12e5","Asia/Khandyga|LMT +08 +09 +10 +11|-92.d -80 -90 -a0 -b0|0123232323232323232323212323232323232323232323232343434343434343432|-21Q92.d pAp2.d 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 qK0 yN0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 17V0 7zD0|66e2","Asia/Krasnoyarsk|LMT +06 +07 +08|-6b.q -60 -70 -80|01232323232323232323232123232323232323232323232323232323232323232|-21Hib.q prAb.q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|10e5","Asia/Kuala_Lumpur|SMT +07 +0720 +0730 +09 +08|-6T.p -70 -7k -7u -90 -80|0123435|-2Bg6T.p 17anT.p l5XE 17bO 8Fyu 1so1u|71e5","Asia/Kuching|LMT +0730 +08 +0820 +09|-7l.k -7u -80 -8k -90|0123232323232323242|-1KITl.k gDbP.k 6ynu AnE 1O0k AnE 1NAk AnE 1NAk AnE 1NAk AnE 1O0k AnE 1NAk AnE pAk 8Fz0|13e4","Asia/Macau|LMT CST +09 +10 CDT|-7y.a -80 -90 -a0 -90|012323214141414141414141414141414141414141414141414141414141414141414141|-2CFHy.a 1uqKy.a PX0 1kn0 15B0 11b0 4Qq0 1oM0 11c0 1ko0 1u00 11A0 1cM0 11c0 1o00 11A0 1o00 11A0 1oo0 1400 1o00 11A0 1o00 U00 1tA0 U00 1wo0 Rc0 1wru U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 Rd0 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 17d0 1cK0 1cO0 1cK0 1cO0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1cL0 6fd0 14n0|57e4","Asia/Magadan|LMT +10 +11 +12|-a3.c -a0 -b0 -c0|012323232323232323232321232323232323232323232323232323232323232312|-1Pca3.c eUo3.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3Cq0|95e3","Asia/Makassar|LMT MMT +08 +09 WITA|-7V.A -7V.A -80 -90 -80|01234|-21JjV.A vfc0 myLV.A 8ML0|15e5","Asia/Manila|PST PDT JST|-80 -90 -90|010201010|-1kJI0 AL0 cK10 65X0 mXB0 vX0 VK10 1db0|24e6","Asia/Nicosia|LMT EET EEST|-2d.s -20 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1Vc2d.s 2a3cd.s 1cL0 1qp0 Xz0 19B0 19X0 1fB0 1db0 1cp0 1cL0 1fB0 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1o30 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|32e4","Asia/Novokuznetsk|LMT +06 +07 +08|-5M.M -60 -70 -80|012323232323232323232321232323232323232323232323232323232323212|-1PctM.M eULM.M 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|55e4","Asia/Novosibirsk|LMT +06 +07 +08|-5v.E -60 -70 -80|0123232323232323232323212323212121212121212121212121212121212121212|-21Qnv.E pAFv.E 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 ml0 Os0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 4eN0|15e5","Asia/Omsk|LMT +05 +06 +07|-4R.u -50 -60 -70|01232323232323232323232123232323232323232323232323232323232323232|-224sR.u pMLR.u 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|12e5","Asia/Oral|LMT +03 +05 +06 +04|-3p.o -30 -50 -60 -40|01232323232323232424242424242424242424242424242|-1Pc3p.o eUop.o 23CK0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 1cM0 IM0 1EM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|27e4","Asia/Pontianak|LMT PMT +0730 +09 +08 WITA WIB|-7h.k -7h.k -7u -90 -80 -80 -70|012324256|-2ua7h.k XE00 munL.k 8Rau 6kpu 4PXu xhcu Wqnu|23e4","Asia/Pyongyang|LMT KST JST KST|-8n -8u -90 -90|012313|-2um8n 97XR 1lTzu 2Onc0 6BA0|29e5","Asia/Qostanay|LMT +04 +05 +06|-4e.s -40 -50 -60|012323232323232323232123232323232323232323232323|-1Pc4e.s eUoe.s 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|","Asia/Qyzylorda|LMT +04 +05 +06|-4l.Q -40 -50 -60|01232323232323232323232323232323232323232323232|-1Pc4l.Q eUol.Q 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 3ao0 1EM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 zQl0|73e4","Asia/Rangoon|RMT +0630 +09|-6o.L -6u -90|0121|-21Jio.L SmnS.L 7j9u|48e5","Asia/Sakhalin|LMT +09 +11 +12 +10|-9u.M -90 -b0 -c0 -a0|01232323232323232323232423232323232424242424242424242424242424242|-2AGVu.M 1BoMu.M 1qFa0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 2pB0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|58e4","Asia/Samarkand|LMT +04 +05 +06|-4r.R -40 -50 -60|01232323232323232323232|-1Pc4r.R eUor.R 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0|36e4","Asia/Seoul|LMT KST JST KST KDT KDT|-8r.Q -8u -90 -90 -a0 -9u|012343434343151515151515134343|-2um8r.Q 97XV.Q 1m1zu 6CM0 Fz0 1kN0 14n0 1kN0 14L0 1zd0 On0 69B0 2I0u OL0 1FB0 Rb0 1qN0 TX0 1tB0 TX0 1tB0 TX0 1tB0 TX0 2ap0 12FBu 11A0 1o00 11A0|23e6","Asia/Srednekolymsk|LMT +10 +11 +12|-ae.Q -a0 -b0 -c0|01232323232323232323232123232323232323232323232323232323232323232|-1Pcae.Q eUoe.Q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|35e2","Asia/Taipei|CST JST CDT|-80 -90 -90|01020202020202020202020202020202020202020|-1iw80 joM0 1yo0 Tz0 1ip0 1jX0 1cN0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 10N0 1BX0 10p0 1pz0 10p0 1pz0 10p0 1db0 1dd0 1db0 1cN0 1db0 1cN0 1db0 1cN0 1db0 1BB0 ML0 1Bd0 ML0 uq10 1db0 1cN0 1db0 97B0 AL0|74e5","Asia/Tashkent|LMT +05 +06 +07|-4B.b -50 -60 -70|012323232323232323232321|-1Pc4B.b eUnB.b 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0|23e5","Asia/Tbilisi|TBMT +03 +04 +05|-2X.b -30 -40 -50|0123232323232323232323212121232323232323232323212|-1Pc2X.b 1jUnX.b WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cK0 1cL0 1cN0 1cL0 1cN0 2pz0 1cL0 1fB0 3Nz0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 An0 Os0 WM0|11e5","Asia/Tehran|LMT TMT +0330 +04 +05 +0430|-3p.I -3p.I -3u -40 -50 -4u|01234325252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-2btDp.I 1d3c0 1huLT.I TXu 1pz0 sN0 vAu 1cL0 1dB0 1en0 pNB0 UL0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 64p0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0|14e6","Asia/Thimphu|LMT +0530 +06|-5W.A -5u -60|012|-Su5W.A 1BGMs.A|79e3","Asia/Tokyo|JST JDT|-90 -a0|010101010|-QJJ0 Rc0 1lc0 14o0 1zc0 Oo0 1zc0 Oo0|38e6","Asia/Tomsk|LMT +06 +07 +08|-5D.P -60 -70 -80|0123232323232323232323212323232323232323232323212121212121212121212|-21NhD.P pxzD.P 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 co0 1bB0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3Qp0|10e5","Asia/Ulaanbaatar|LMT +07 +08 +09|-77.w -70 -80 -90|012323232323232323232323232323232323232323232323232|-2APH7.w 2Uko7.w cKn0 1db0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 kEp0 1cJ0 1cP0 1cJ0|12e5","Asia/Ust-Nera|LMT +08 +09 +12 +11 +10|-9w.S -80 -90 -c0 -b0 -a0|012343434343434343434345434343434343434343434343434343434343434345|-21Q9w.S pApw.S 23CL0 1d90 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 17V0 7zD0|65e2","Asia/Vladivostok|LMT +09 +10 +11|-8L.v -90 -a0 -b0|01232323232323232323232123232323232323232323232323232323232323232|-1SJIL.v itXL.v 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|60e4","Asia/Yakutsk|LMT +08 +09 +10|-8C.W -80 -90 -a0|01232323232323232323232123232323232323232323232323232323232323232|-21Q8C.W pAoC.W 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|28e4","Asia/Yekaterinburg|LMT PMT +04 +05 +06|-42.x -3J.5 -40 -50 -60|012343434343434343434343234343434343434343434343434343434343434343|-2ag42.x 7mQh.s qBvJ.5 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|14e5","Asia/Yerevan|LMT +03 +04 +05|-2W -30 -40 -50|0123232323232323232323212121212323232323232323232323232323232|-1Pc2W 1jUnW WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 4RX0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|13e5","Atlantic/Azores|HMT -02 -01 +00 WET|1S.w 20 10 0 0|01212121212121212121212121212121212121212121232123212321232121212121212121212121212121212121212121232323232323232323232323232323234323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2ldW0 aPX0 Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 qIl0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cL0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|25e4","Atlantic/Bermuda|BMT BST AST ADT|4j.i 3j.i 40 30|010102323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-28p7E.G 1bb0 1i10 11X0 ru30 thbE.G 1PX0 11B0 1tz0 Rd0 1zb0 Op0 1zb0 3I10 Lz0 1EN0 FX0 1HB0 FX0 1Kp0 Db0 1Kp0 Db0 1Kp0 FX0 93d0 11z0 GAp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|65e3","Atlantic/Canary|LMT -01 WET WEST|11.A 10 0 -10|01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UtaW.o XPAW.o 1lAK0 1a10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|54e4","Atlantic/Cape_Verde|LMT -02 -01|1y.4 20 10|01212|-2ldW0 1eEo0 7zX0 1djf0|50e4","Atlantic/Faroe|LMT WET WEST|r.4 0 -10|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2uSnw.U 2Wgow.U 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|49e3","Atlantic/Madeira|FMT -01 +00 +01 WET WEST|17.A 10 0 -10 0 -10|01212121212121212121212121212121212121212121232123212321232121212121212121212121212121212121212121454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-2ldX0 aPX0 Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 qIl0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|27e4","Atlantic/Reykjavik|LMT -01 +00 GMT|1s 10 0 0|012121212121212121212121212121212121212121212121212121212121212121213|-2uWmw mfaw 1Bd0 ML0 1LB0 Cn0 1LB0 3fX0 C10 HrX0 1cO0 LB0 1EL0 LA0 1C00 Oo0 1wo0 Rc0 1wo0 Rc0 1wo0 Rc0 1zc0 Oo0 1zc0 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0|12e4","Atlantic/South_Georgia|-02|20|0||30","Atlantic/Stanley|SMT -04 -03 -02|3P.o 40 30 20|012121212121212323212121212121212121212121212121212121212121212121212|-2kJw8.A 12bA8.A 19X0 1fB0 19X0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 Cn0 1Cc10 WL0 1qL0 U10 1tz0 2mN0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1tz0 U10 1tz0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1tz0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qN0 U10 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 U10 1tz0 U10 1tz0 U10|21e2","Australia/Sydney|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293k0 xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00 17c00 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 14o0 1o00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 11A0 1o00 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|40e5","Australia/Adelaide|ACST ACDT|-9u -au|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293ju xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00 17c00 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 Oo0 1zc0 WM0 1qM0 Rc0 1zc0 U00 1tA0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|11e5","Australia/Brisbane|AEST AEDT|-a0 -b0|01010101010101010|-293k0 xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00 17c00 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0|20e5","Australia/Broken_Hill|ACST ACDT|-9u -au|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293ju xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00 17c00 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 14o0 1o00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|18e3","Australia/Hobart|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-29E80 1a00 1qM0 Oo0 1zc0 Oo0 TAo0 yM0 1cM0 1cM0 1fA0 1a00 VfA0 1cM0 1o00 Rc0 1wo0 Rc0 1wo0 U00 1wo0 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|21e4","Australia/Darwin|ACST ACDT|-9u -au|010101010|-293ju xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00|12e4","Australia/Eucla|+0845 +0945|-8J -9J|0101010101010101010|-293iJ xc0 10jc0 yM0 1cM0 1cM0 1gSo0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0|368","Australia/Lord_Howe|AEST +1030 +1130 +11|-a0 -au -bu -b0|0121212121313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313|raC0 1zdu Rb0 1zd0 On0 1zd0 On0 1zd0 On0 1zd0 TXu 1qMu WLu 1tAu WLu 1tAu TXu 1tAu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu 11zu 1o0u 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 11Au 1nXu 1qMu 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 1qMu 11zu 1o0u WLu 1qMu 14nu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu|347","Australia/Lindeman|AEST AEDT|-a0 -b0|010101010101010101010|-293k0 xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00 17c00 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0|10","Australia/Melbourne|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293k0 xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00 17c00 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1qM0 11A0 1tA0 U00 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 11A0 1o00 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|39e5","Australia/Perth|AWST AWDT|-80 -90|0101010101010101010|-293i0 xc0 10jc0 yM0 1cM0 1cM0 1gSo0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0|18e5","CET|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|","Pacific/Easter|EMT -07 -06 -05|7h.s 70 60 50|012121212121212121212121212123232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-1uSgG.w 1s4IG.w WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 2pA0 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1zb0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0|30e2","CST6CDT|CST CDT CWT CPT|60 50 50 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|","EET|EET EEST|-20 -30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDB0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|","Europe/Dublin|DMT IST GMT BST IST|p.l -y.D 0 -10 -10|01232323232324242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242|-2ax9y.D Rc0 1fzy.D 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 g600 14o0 1wo0 17c0 1io0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1a00 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1tA0 IM0 90o0 U00 1tA0 U00 1tA0 U00 1tA0 U00 1tA0 WM0 1qM0 WM0 1qM0 WM0 1tA0 U00 1tA0 U00 1tA0 11z0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5","EST|EST|50|0||","EST5EDT|EST EDT EWT EPT|50 40 40 40|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261t0 1nX0 11B0 1nX0 SgN0 8x40 iv0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|","Etc/GMT-0|GMT|0|0||","Etc/GMT-1|+01|-10|0||","Pacific/Port_Moresby|+10|-a0|0||25e4","Etc/GMT-11|+11|-b0|0||","Pacific/Tarawa|+12|-c0|0||29e3","Etc/GMT-13|+13|-d0|0||","Etc/GMT-14|+14|-e0|0||","Etc/GMT-2|+02|-20|0||","Etc/GMT-3|+03|-30|0||","Etc/GMT-4|+04|-40|0||","Etc/GMT-5|+05|-50|0||","Etc/GMT-6|+06|-60|0||","Indian/Christmas|+07|-70|0||21e2","Etc/GMT-8|+08|-80|0||","Pacific/Palau|+09|-90|0||21e3","Etc/GMT+1|-01|10|0||","Etc/GMT+10|-10|a0|0||","Etc/GMT+11|-11|b0|0||","Etc/GMT+12|-12|c0|0||","Etc/GMT+3|-03|30|0||","Etc/GMT+4|-04|40|0||","Etc/GMT+5|-05|50|0||","Etc/GMT+6|-06|60|0||","Etc/GMT+7|-07|70|0||","Etc/GMT+8|-08|80|0||","Etc/GMT+9|-09|90|0||","Etc/UTC|UTC|0|0||","Europe/Amsterdam|AMT NST +0120 +0020 CEST CET|-j.w -1j.w -1k -k -20 -10|010101010101010101010101010101010101010101012323234545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545|-2aFcj.w 11b0 1iP0 11A0 1io0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1co0 1io0 1yo0 Pc0 1a00 1fA0 1Bc0 Mo0 1tc0 Uo0 1tA0 U00 1uo0 W00 1s00 VA0 1so0 Vc0 1sM0 UM0 1wo0 Rc0 1u00 Wo0 1rA0 W00 1s00 VA0 1sM0 UM0 1w00 fV0 BCX.w 1tA0 U00 1u00 Wo0 1sm0 601k WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|16e5","Europe/Andorra|WET CET CEST|0 -10 -20|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-UBA0 1xIN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|79e3","Europe/Astrakhan|LMT +03 +04 +05|-3c.c -30 -40 -50|012323232323232323212121212121212121212121212121212121212121212|-1Pcrc.c eUMc.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|10e5","Europe/Athens|AMT EET EEST CEST CET|-1y.Q -20 -30 -20 -10|012123434121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a61x.Q CNbx.Q mn0 kU10 9b0 3Es0 Xa0 1fb0 1dd0 k3X0 Nz0 SCp0 1vc0 SO0 1cM0 1a00 1ao0 1fc0 1a10 1fG0 1cg0 1dX0 1bX0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|35e5","Europe/London|GMT BST BDST|0 -10 -20|0101010101010101010101010101010101010101010101010121212121210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2axa0 Rc0 1fA0 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 2Rz0 Dc0 1zc0 Oo0 1zc0 Rc0 1wo0 17c0 1iM0 FA0 xB0 1fA0 1a00 14o0 bb0 LA0 xB0 Rc0 1wo0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1a00 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1tA0 IM0 90o0 U00 1tA0 U00 1tA0 U00 1tA0 U00 1tA0 WM0 1qM0 WM0 1qM0 WM0 1tA0 U00 1tA0 U00 1tA0 11z0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|10e6","Europe/Belgrade|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-19RC0 3IP0 WM0 1fA0 1cM0 1cM0 1rc0 Qo0 1vmo0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5","Europe/Berlin|CET CEST CEMT|-10 -20 -30|01010101010101210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 kL0 Nc0 m10 WM0 1ao0 1cp0 dX0 jz0 Dd0 1io0 17c0 1fA0 1a00 1ehA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|41e5","Europe/Prague|CET CEST GMT|-10 -20 0|01010101010101010201010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 1cM0 1qM0 11c0 mp0 xA0 mn0 17c0 1io0 17c0 1fc0 1ao0 1bNc0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|13e5","Europe/Brussels|WET CET CEST WEST|0 -10 -20 -10|0121212103030303030303030303030303030303030303030303212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2ehc0 3zX0 11c0 1iO0 11A0 1o00 11A0 my0 Ic0 1qM0 Rc0 1EM0 UM0 1u00 10o0 1io0 1io0 17c0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a30 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 y00 5Wn0 WM0 1fA0 1cM0 16M0 1iM0 16M0 1C00 Uo0 1eeo0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|21e5","Europe/Bucharest|BMT EET EEST|-1I.o -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1xApI.o 20LI.o RA0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Axc0 On0 1fA0 1a10 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cK0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cL0 1cN0 1cL0 1fB0 1nX0 11E0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|19e5","Europe/Budapest|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 1oo0 11c0 1lc0 17c0 O1V0 3Nf0 WM0 1fA0 1cM0 1cM0 1oJ0 1dd0 1020 1fX0 1cp0 1cM0 1cM0 1cM0 1fA0 1a00 bhy0 Rb0 1wr0 Rc0 1C00 LA0 1C00 LA0 SNW0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cO0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e5","Europe/Zurich|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-19Lc0 11A0 1o00 11A0 1xG10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|38e4","Europe/Chisinau|CMT BMT EET EEST CEST CET MSK MSD|-1T -1I.o -20 -30 -20 -10 -30 -40|012323232323232323234545467676767676767676767323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-26jdT wGMa.A 20LI.o RA0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 27A0 2en0 39g0 WM0 1fA0 1cM0 V90 1t7z0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 gL0 WO0 1cM0 1cM0 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1nX0 11D0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|67e4","Europe/Copenhagen|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2azC0 Tz0 VuO0 60q0 WM0 1fA0 1cM0 1cM0 1cM0 S00 1HA0 Nc0 1C00 Dc0 1Nc0 Ao0 1h5A0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5","Europe/Gibraltar|GMT BST BDST CET CEST|0 -10 -20 -10 -20|010101010101010101010101010101010101010101010101012121212121010121010101010101010101034343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-2axa0 Rc0 1fA0 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 2Rz0 Dc0 1zc0 Oo0 1zc0 Rc0 1wo0 17c0 1iM0 FA0 xB0 1fA0 1a00 14o0 bb0 LA0 xB0 Rc0 1wo0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 10Jz0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|30e3","Europe/Helsinki|HMT EET EEST|-1D.N -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1WuND.N OULD.N 1dA0 1xGq0 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5","Europe/Kaliningrad|CET CEST EET EEST MSK MSD +03|-10 -20 -20 -30 -30 -40 -30|01010101010101232454545454545454543232323232323232323232323232323232323232323262|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 390 7A0 1en0 12N0 1pbb0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|44e4","Europe/Kiev|KMT EET MSK CEST CET MSD EEST|-22.4 -20 -30 -20 -10 -40 -30|0123434252525252525252525256161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161|-1Pc22.4 eUo2.4 rnz0 2Hg0 WM0 1fA0 da0 1v4m0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 Db0 3220 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|34e5","Europe/Kirov|LMT +03 +04 +05|-3i.M -30 -40 -50|01232323232323232321212121212121212121212121212121212121212121|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|48e4","Europe/Lisbon|LMT WET WEST WEMT CET CEST|A.J 0 -10 -20 -10 -20|012121212121212121212121212121212121212121212321232123212321212121212121212121212121212121212121214121212121212121212121212121212124545454212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2le00 aPX0 Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 pvy0 1cM0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|27e5","Europe/Luxembourg|LMT CET CEST WET WEST WEST WET|-o.A -10 -20 0 -10 -20 -10|0121212134343434343434343434343434343434343434343434565651212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2DG0o.A t6mo.A TB0 1nX0 Up0 1o20 11A0 rW0 CM0 1qP0 R90 1EO0 UK0 1u20 10m0 1ip0 1in0 17e0 19W0 1fB0 1db0 1cp0 1in0 17d0 1fz0 1a10 1in0 1a10 1in0 17f0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 vA0 60L0 WM0 1fA0 1cM0 17c0 1io0 16M0 1C00 Uo0 1eeo0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|54e4","Europe/Madrid|WET WEST WEMT CET CEST|0 -10 -20 -10 -20|010101010101010101210343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-25Td0 19B0 1cL0 1dd0 b1z0 18p0 3HX0 17d0 1fz0 1a10 1io0 1a00 1in0 17d0 iIn0 Hd0 1cL0 bb0 1200 2s20 14n0 5aL0 Mp0 1vz0 17d0 1in0 17d0 1in0 17d0 1in0 17d0 6hX0 11B0 XHX0 1a10 1fz0 1a10 19X0 1cN0 1fz0 1a10 1fC0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|62e5","Europe/Malta|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2arB0 Lz0 1cN0 1db0 1410 1on0 Wp0 1qL0 17d0 1cL0 M3B0 5M20 WM0 1fA0 1co0 17c0 1iM0 16m0 1de0 1lc0 14m0 1lc0 WO0 1qM0 GTW0 On0 1C10 LA0 1C00 LA0 1EM0 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1co0 1cM0 1lA0 Xc0 1qq0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1iN0 19z0 1fB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|42e4","Europe/Minsk|MMT EET MSK CEST CET MSD EEST +03|-1O -20 -30 -20 -10 -40 -30 -30|01234343252525252525252525261616161616161616161616161616161616161617|-1Pc1O eUnO qNX0 3gQ0 WM0 1fA0 1cM0 Al0 1tsn0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 3Fc0 1cN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0|19e5","Europe/Monaco|PMT WET WEST WEMT CET CEST|-9.l 0 -10 -20 -10 -20|01212121212121212121212121212121212121212121212121232323232345454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-2n5c9.l cFX9.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 1u00 10o0 1io0 1wo0 Rc0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Df0 2RV0 11z0 11B0 1ze0 WM0 1fA0 1cM0 1fa0 1aq0 16M0 1ekn0 1cL0 1fC0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|38e3","Europe/Moscow|MMT MMT MST MDST MSD MSK +05 EET EEST MSK|-2u.h -2v.j -3v.j -4v.j -40 -30 -50 -20 -30 -40|012132345464575454545454545454545458754545454545454545454545454545454545454595|-2ag2u.h 2pyW.W 1bA0 11X0 GN0 1Hb0 c4v.j ik0 3DA0 dz0 15A0 c10 2q10 iM10 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|16e6","Europe/Paris|PMT WET WEST CEST CET WEMT|-9.l 0 -10 -20 -10 -20|0121212121212121212121212121212121212121212121212123434352543434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434|-2nco9.l cNb9.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 1u00 10o0 1io0 1wo0 Rc0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Df0 Ik0 5M30 WM0 1fA0 1cM0 Vx0 hB0 1aq0 16M0 1ekn0 1cL0 1fC0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|11e6","Europe/Riga|RMT LST EET MSK CEST CET MSD EEST|-1A.y -2A.y -20 -30 -20 -10 -40 -30|010102345454536363636363636363727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272|-25TzA.y 11A0 1iM0 ko0 gWm0 yDXA.y 2bX0 3fE0 WM0 1fA0 1cM0 1cM0 4m0 1sLy0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 1o00 11A0 1o00 11A0 1qM0 3oo0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|64e4","Europe/Rome|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2arB0 Lz0 1cN0 1db0 1410 1on0 Wp0 1qL0 17d0 1cL0 M3B0 5M20 WM0 1fA0 1cM0 16M0 1iM0 16m0 1de0 1lc0 14m0 1lc0 WO0 1qM0 GTW0 On0 1C10 LA0 1C00 LA0 1EM0 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1C00 LA0 1zc0 Oo0 1C00 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1zc0 Oo0 1fC0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|39e5","Europe/Samara|LMT +03 +04 +05|-3k.k -30 -40 -50|0123232323232323232121232323232323232323232323232323232323212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 2y10 14m0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|12e5","Europe/Saratov|LMT +03 +04 +05|-34.i -30 -40 -50|012323232323232321212121212121212121212121212121212121212121212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1cM0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 5810|","Europe/Simferopol|SMT EET MSK CEST CET MSD EEST MSK|-2g -20 -30 -20 -10 -40 -30 -40|012343432525252525252525252161616525252616161616161616161616161616161616172|-1Pc2g eUog rEn0 2qs0 WM0 1fA0 1cM0 3V0 1u0L0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Q00 4eL0 1cL0 1cN0 1cL0 1cN0 dX0 WL0 1cN0 1cL0 1fB0 1o30 11B0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11z0 1nW0|33e4","Europe/Sofia|EET CET CEST EEST|-20 -10 -20 -30|01212103030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030|-168L0 WM0 1fA0 1cM0 1cM0 1cN0 1mKH0 1dd0 1fb0 1ap0 1fb0 1a20 1fy0 1a30 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1nX0 11E0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5","Europe/Stockholm|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2azC0 TB0 2yDe0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|15e5","Europe/Tallinn|TMT CET CEST EET MSK MSD EEST|-1D -10 -20 -20 -30 -40 -30|012103421212454545454545454546363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363|-26oND teD 11A0 1Ta0 4rXl KSLD 2FX0 2Jg0 WM0 1fA0 1cM0 18J0 1sTX0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o10 11A0 1qM0 5QM0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|41e4","Europe/Tirane|LMT CET CEST|-1j.k -10 -20|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2glBj.k 14pcj.k 5LC0 WM0 4M0 1fCK0 10n0 1op0 11z0 1pd0 11z0 1qN0 WL0 1qp0 Xb0 1qp0 Xb0 1qp0 11z0 1lB0 11z0 1qN0 11z0 1iN0 16n0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|42e4","Europe/Ulyanovsk|LMT +03 +04 +05 +02|-3d.A -30 -40 -50 -20|01232323232323232321214121212121212121212121212121212121212121212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|13e5","Europe/Uzhgorod|CET CEST MSK MSD EET EEST|-10 -20 -30 -40 -20 -30|010101023232323232323232320454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-1cqL0 6i00 WM0 1fA0 1cM0 1ml0 1Cp0 1r3W0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Q00 1Nf0 2pw0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|11e4","Europe/Vienna|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 3KM0 14o0 LA00 6i00 WM0 1fA0 1cM0 1cM0 1cM0 400 2qM0 1ao0 1co0 1cM0 1io0 17c0 1gHa0 19X0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|18e5","Europe/Vilnius|WMT KMT CET EET MSK CEST MSD EEST|-1o -1z.A -10 -20 -30 -20 -40 -30|012324525254646464646464646473737373737373737352537373737373737373737373737373737373737373737373737373737373737373737373|-293do 6ILM.o 1Ooz.A zz0 Mfd0 29W0 3is0 WM0 1fA0 1cM0 LV0 1tgL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11B0 1o00 11A0 1qM0 8io0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|54e4","Europe/Volgograd|LMT +03 +04 +05|-2V.E -30 -40 -50|0123232323232323212121212121212121212121212121212121212121212121|-21IqV.E psLV.E 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1cM0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 9Jd0 5gn0|10e5","Europe/Warsaw|WMT CET CEST EET EEST|-1o -10 -20 -20 -30|012121234312121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2ctdo 1LXo 11d0 1iO0 11A0 1o00 11A0 1on0 11A0 6zy0 HWP0 5IM0 WM0 1fA0 1cM0 1dz0 1mL0 1en0 15B0 1aq0 1nA0 11A0 1io0 17c0 1fA0 1a00 iDX0 LA0 1cM0 1cM0 1C00 Oo0 1cM0 1cM0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1C00 LA0 uso0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e5","Europe/Zaporozhye|+0220 EET MSK CEST CET MSD EEST|-2k -20 -30 -20 -10 -40 -30|01234342525252525252525252526161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161|-1Pc2k eUok rdb0 2RE0 WM0 1fA0 8m0 1v9a0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cK0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|77e4","HST|HST|a0|0||","Indian/Chagos|LMT +05 +06|-4N.E -50 -60|012|-2xosN.E 3AGLN.E|30e2","Indian/Cocos|+0630|-6u|0||596","Indian/Kerguelen|-00 +05|0 -50|01|-MG00|130","Indian/Mahe|LMT +04|-3F.M -40|01|-2xorF.M|79e3","Indian/Maldives|MMT +05|-4S -50|01|-olgS|35e4","Indian/Mauritius|LMT +04 +05|-3O -40 -50|012121|-2xorO 34unO 14L0 12kr0 11z0|15e4","Indian/Reunion|LMT +04|-3F.Q -40|01|-2mDDF.Q|84e4","Pacific/Kwajalein|+11 +10 +09 -12 +12|-b0 -a0 -90 c0 -c0|012034|-1kln0 akp0 6Up0 12ry0 Wan0|14e3","MET|MET MEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|","MST|MST|70|0||","MST7MDT|MST MDT MWT MPT|70 60 60 60|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|","Pacific/Chatham|+1215 +1245 +1345|-cf -cJ -dJ|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-WqAf 1adef IM0 1C00 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1qM0 14o0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1io0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|600","Pacific/Apia|LMT -1130 -11 -10 +14 +13|bq.U bu b0 a0 -e0 -d0|01232345454545454545454545454545454545454545454545454545454|-2nDMx.4 1yW03.4 2rRbu 1ff0 1a00 CI0 AQ0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|37e3","Pacific/Bougainville|+10 +09 +11|-a0 -90 -b0|0102|-16Wy0 7CN0 2MQp0|18e4","Pacific/Chuuk|+10 +09|-a0 -90|01010|-2ewy0 axB0 RVX0 axd0|49e3","Pacific/Efate|LMT +11 +12|-bd.g -b0 -c0|012121212121212121212121|-2l9nd.g 2uNXd.g Dc0 n610 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 Lz0 1Nd0 An0|66e3","Pacific/Enderbury|-12 -11 +13|c0 b0 -d0|012|nIc0 B7X0|1","Pacific/Fakaofo|-11 +13|b0 -d0|01|1Gfn0|483","Pacific/Fiji|LMT +12 +13|-bT.I -c0 -d0|0121212121212121212121212121212121212121212121212121212121212121|-2bUzT.I 3m8NT.I LA0 1EM0 IM0 nJc0 LA0 1o00 Rc0 1wo0 Ao0 1Nc0 Ao0 1Q00 xz0 1SN0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 s00 20o0 pc0 2hc0 bc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00|88e4","Pacific/Galapagos|LMT -05 -06|5W.o 50 60|01212|-1yVS1.A 2dTz1.A gNd0 rz0|25e3","Pacific/Gambier|LMT -09|8X.M 90|01|-2jof0.c|125","Pacific/Guadalcanal|LMT +11|-aD.M -b0|01|-2joyD.M|11e4","Pacific/Guam|GST +09 GDT ChST|-a0 -90 -b0 -a0|01020202020202020203|-18jK0 6pB0 AhB0 3QL0 g2p0 3p91 WOX rX0 1zd0 Rb0 1wp0 Rb0 5xd0 rX0 5sN0 zb1 1C0X On0 ULb0|17e4","Pacific/Honolulu|HST HDT HWT HPT HST|au 9u 9u 9u a0|0102304|-1thLu 8x0 lef0 8wWu iAu 46p0|37e4","Pacific/Kiritimati|-1040 -10 +14|aE a0 -e0|012|nIaE B7Xk|51e2","Pacific/Kosrae|+11 +09 +10 +12|-b0 -90 -a0 -c0|01021030|-2ewz0 axC0 HBy0 akp0 axd0 WOK0 1bdz0|66e2","Pacific/Majuro|+11 +09 +10 +12|-b0 -90 -a0 -c0|0102103|-2ewz0 axC0 HBy0 akp0 6RB0 12um0|28e3","Pacific/Marquesas|LMT -0930|9i 9u|01|-2joeG|86e2","Pacific/Pago_Pago|LMT SST|bm.M b0|01|-2nDMB.c|37e2","Pacific/Nauru|LMT +1130 +09 +12|-b7.E -bu -90 -c0|01213|-1Xdn7.E QCnB.E 7mqu 1lnbu|10e3","Pacific/Niue|-1120 -1130 -11|bk bu b0|012|-KfME 17y0a|12e2","Pacific/Norfolk|+1112 +1130 +1230 +11 +12|-bc -bu -cu -b0 -c0|012134343434343434343434343434343434343434|-Kgbc W01G Oo0 1COo0 9Jcu 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|25e4","Pacific/Noumea|LMT +11 +12|-b5.M -b0 -c0|01212121|-2l9n5.M 2EqM5.M xX0 1PB0 yn0 HeP0 Ao0|98e3","Pacific/Pitcairn|-0830 -08|8u 80|01|18Vku|56","Pacific/Pohnpei|+11 +09 +10|-b0 -90 -a0|010210|-2ewz0 axC0 HBy0 akp0 axd0|34e3","Pacific/Rarotonga|-1030 -0930 -10|au 9u a0|012121212121212121212121212|lyWu IL0 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu Onu|13e3","Pacific/Tahiti|LMT -10|9W.g a0|01|-2joe1.I|18e4","Pacific/Tongatapu|+1220 +13 +14|-ck -d0 -e0|0121212121|-1aB0k 2n5dk 15A0 1wo0 xz0 1Q10 xz0 zWN0 s00|75e3","PST8PDT|PST PDT PWT PPT|80 70 70 70|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261q0 1nX0 11B0 1nX0 SgN0 8x10 iy0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|","WET|WET WEST|0 -10|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDB0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|"],links:["Africa/Abidjan|Africa/Bamako","Africa/Abidjan|Africa/Banjul","Africa/Abidjan|Africa/Conakry","Africa/Abidjan|Africa/Dakar","Africa/Abidjan|Africa/Freetown","Africa/Abidjan|Africa/Lome","Africa/Abidjan|Africa/Nouakchott","Africa/Abidjan|Africa/Ouagadougou","Africa/Abidjan|Africa/Timbuktu","Africa/Abidjan|Atlantic/St_Helena","Africa/Cairo|Egypt","Africa/Johannesburg|Africa/Maseru","Africa/Johannesburg|Africa/Mbabane","Africa/Lagos|Africa/Bangui","Africa/Lagos|Africa/Brazzaville","Africa/Lagos|Africa/Douala","Africa/Lagos|Africa/Kinshasa","Africa/Lagos|Africa/Libreville","Africa/Lagos|Africa/Luanda","Africa/Lagos|Africa/Malabo","Africa/Lagos|Africa/Niamey","Africa/Lagos|Africa/Porto-Novo","Africa/Maputo|Africa/Blantyre","Africa/Maputo|Africa/Bujumbura","Africa/Maputo|Africa/Gaborone","Africa/Maputo|Africa/Harare","Africa/Maputo|Africa/Kigali","Africa/Maputo|Africa/Lubumbashi","Africa/Maputo|Africa/Lusaka","Africa/Nairobi|Africa/Addis_Ababa","Africa/Nairobi|Africa/Asmara","Africa/Nairobi|Africa/Asmera","Africa/Nairobi|Africa/Dar_es_Salaam","Africa/Nairobi|Africa/Djibouti","Africa/Nairobi|Africa/Kampala","Africa/Nairobi|Africa/Mogadishu","Africa/Nairobi|Indian/Antananarivo","Africa/Nairobi|Indian/Comoro","Africa/Nairobi|Indian/Mayotte","Africa/Tripoli|Libya","America/Adak|America/Atka","America/Adak|US/Aleutian","America/Anchorage|US/Alaska","America/Argentina/Buenos_Aires|America/Buenos_Aires","America/Argentina/Catamarca|America/Argentina/ComodRivadavia","America/Argentina/Catamarca|America/Catamarca","America/Argentina/Cordoba|America/Cordoba","America/Argentina/Cordoba|America/Rosario","America/Argentina/Jujuy|America/Jujuy","America/Argentina/Mendoza|America/Mendoza","America/Atikokan|America/Coral_Harbour","America/Chicago|US/Central","America/Curacao|America/Aruba","America/Curacao|America/Kralendijk","America/Curacao|America/Lower_Princes","America/Denver|America/Shiprock","America/Denver|Navajo","America/Denver|US/Mountain","America/Detroit|US/Michigan","America/Edmonton|Canada/Mountain","America/Fort_Wayne|America/Indiana/Indianapolis","America/Fort_Wayne|America/Indianapolis","America/Fort_Wayne|US/East-Indiana","America/Godthab|America/Nuuk","America/Halifax|Canada/Atlantic","America/Havana|Cuba","America/Indiana/Knox|America/Knox_IN","America/Indiana/Knox|US/Indiana-Starke","America/Jamaica|Jamaica","America/Kentucky/Louisville|America/Louisville","America/Los_Angeles|US/Pacific","America/Manaus|Brazil/West","America/Mazatlan|Mexico/BajaSur","America/Mexico_City|Mexico/General","America/New_York|US/Eastern","America/Noronha|Brazil/DeNoronha","America/Panama|America/Cayman","America/Phoenix|US/Arizona","America/Port_of_Spain|America/Anguilla","America/Port_of_Spain|America/Antigua","America/Port_of_Spain|America/Dominica","America/Port_of_Spain|America/Grenada","America/Port_of_Spain|America/Guadeloupe","America/Port_of_Spain|America/Marigot","America/Port_of_Spain|America/Montserrat","America/Port_of_Spain|America/St_Barthelemy","America/Port_of_Spain|America/St_Kitts","America/Port_of_Spain|America/St_Lucia","America/Port_of_Spain|America/St_Thomas","America/Port_of_Spain|America/St_Vincent","America/Port_of_Spain|America/Tortola","America/Port_of_Spain|America/Virgin","America/Regina|Canada/Saskatchewan","America/Rio_Branco|America/Porto_Acre","America/Rio_Branco|Brazil/Acre","America/Santiago|Chile/Continental","America/Sao_Paulo|Brazil/East","America/St_Johns|Canada/Newfoundland","America/Tijuana|America/Ensenada","America/Tijuana|America/Santa_Isabel","America/Tijuana|Mexico/BajaNorte","America/Toronto|America/Montreal","America/Toronto|Canada/Eastern","America/Vancouver|Canada/Pacific","America/Whitehorse|Canada/Yukon","America/Winnipeg|Canada/Central","Asia/Ashgabat|Asia/Ashkhabad","Asia/Bangkok|Asia/Phnom_Penh","Asia/Bangkok|Asia/Vientiane","Asia/Dhaka|Asia/Dacca","Asia/Dubai|Asia/Muscat","Asia/Ho_Chi_Minh|Asia/Saigon","Asia/Hong_Kong|Hongkong","Asia/Jerusalem|Asia/Tel_Aviv","Asia/Jerusalem|Israel","Asia/Kathmandu|Asia/Katmandu","Asia/Kolkata|Asia/Calcutta","Asia/Kuala_Lumpur|Asia/Singapore","Asia/Kuala_Lumpur|Singapore","Asia/Macau|Asia/Macao","Asia/Makassar|Asia/Ujung_Pandang","Asia/Nicosia|Europe/Nicosia","Asia/Qatar|Asia/Bahrain","Asia/Rangoon|Asia/Yangon","Asia/Riyadh|Asia/Aden","Asia/Riyadh|Asia/Kuwait","Asia/Seoul|ROK","Asia/Shanghai|Asia/Chongqing","Asia/Shanghai|Asia/Chungking","Asia/Shanghai|Asia/Harbin","Asia/Shanghai|PRC","Asia/Taipei|ROC","Asia/Tehran|Iran","Asia/Thimphu|Asia/Thimbu","Asia/Tokyo|Japan","Asia/Ulaanbaatar|Asia/Ulan_Bator","Asia/Urumqi|Asia/Kashgar","Atlantic/Faroe|Atlantic/Faeroe","Atlantic/Reykjavik|Iceland","Atlantic/South_Georgia|Etc/GMT+2","Australia/Adelaide|Australia/South","Australia/Brisbane|Australia/Queensland","Australia/Broken_Hill|Australia/Yancowinna","Australia/Darwin|Australia/North","Australia/Hobart|Australia/Currie","Australia/Hobart|Australia/Tasmania","Australia/Lord_Howe|Australia/LHI","Australia/Melbourne|Australia/Victoria","Australia/Perth|Australia/West","Australia/Sydney|Australia/ACT","Australia/Sydney|Australia/Canberra","Australia/Sydney|Australia/NSW","Etc/GMT-0|Etc/GMT","Etc/GMT-0|Etc/GMT+0","Etc/GMT-0|Etc/GMT0","Etc/GMT-0|Etc/Greenwich","Etc/GMT-0|GMT","Etc/GMT-0|GMT+0","Etc/GMT-0|GMT-0","Etc/GMT-0|GMT0","Etc/GMT-0|Greenwich","Etc/UTC|Etc/UCT","Etc/UTC|Etc/Universal","Etc/UTC|Etc/Zulu","Etc/UTC|UCT","Etc/UTC|UTC","Etc/UTC|Universal","Etc/UTC|Zulu","Europe/Belgrade|Europe/Ljubljana","Europe/Belgrade|Europe/Podgorica","Europe/Belgrade|Europe/Sarajevo","Europe/Belgrade|Europe/Skopje","Europe/Belgrade|Europe/Zagreb","Europe/Chisinau|Europe/Tiraspol","Europe/Dublin|Eire","Europe/Helsinki|Europe/Mariehamn","Europe/Istanbul|Asia/Istanbul","Europe/Istanbul|Turkey","Europe/Lisbon|Portugal","Europe/London|Europe/Belfast","Europe/London|Europe/Guernsey","Europe/London|Europe/Isle_of_Man","Europe/London|Europe/Jersey","Europe/London|GB","Europe/London|GB-Eire","Europe/Moscow|W-SU","Europe/Oslo|Arctic/Longyearbyen","Europe/Oslo|Atlantic/Jan_Mayen","Europe/Prague|Europe/Bratislava","Europe/Rome|Europe/San_Marino","Europe/Rome|Europe/Vatican","Europe/Warsaw|Poland","Europe/Zurich|Europe/Busingen","Europe/Zurich|Europe/Vaduz","Indian/Christmas|Etc/GMT-7","Pacific/Auckland|Antarctica/McMurdo","Pacific/Auckland|Antarctica/South_Pole","Pacific/Auckland|NZ","Pacific/Chatham|NZ-CHAT","Pacific/Chuuk|Pacific/Truk","Pacific/Chuuk|Pacific/Yap","Pacific/Easter|Chile/EasterIsland","Pacific/Guam|Pacific/Saipan","Pacific/Honolulu|Pacific/Johnston","Pacific/Honolulu|US/Hawaii","Pacific/Kwajalein|Kwajalein","Pacific/Pago_Pago|Pacific/Midway","Pacific/Pago_Pago|Pacific/Samoa","Pacific/Pago_Pago|US/Samoa","Pacific/Palau|Etc/GMT-9","Pacific/Pohnpei|Pacific/Ponape","Pacific/Port_Moresby|Etc/GMT-10","Pacific/Tarawa|Etc/GMT-12","Pacific/Tarawa|Pacific/Funafuti","Pacific/Tarawa|Pacific/Wake","Pacific/Tarawa|Pacific/Wallis"],countries:["AD|Europe/Andorra","AE|Asia/Dubai","AF|Asia/Kabul","AG|America/Port_of_Spain America/Antigua","AI|America/Port_of_Spain America/Anguilla","AL|Europe/Tirane","AM|Asia/Yerevan","AO|Africa/Lagos Africa/Luanda","AQ|Antarctica/Casey Antarctica/Davis Antarctica/DumontDUrville Antarctica/Mawson Antarctica/Palmer Antarctica/Rothera Antarctica/Syowa Antarctica/Troll Antarctica/Vostok Pacific/Auckland Antarctica/McMurdo","AR|America/Argentina/Buenos_Aires America/Argentina/Cordoba America/Argentina/Salta America/Argentina/Jujuy America/Argentina/Tucuman America/Argentina/Catamarca America/Argentina/La_Rioja America/Argentina/San_Juan America/Argentina/Mendoza America/Argentina/San_Luis America/Argentina/Rio_Gallegos America/Argentina/Ushuaia","AS|Pacific/Pago_Pago","AT|Europe/Vienna","AU|Australia/Lord_Howe Antarctica/Macquarie Australia/Hobart Australia/Currie Australia/Melbourne Australia/Sydney Australia/Broken_Hill Australia/Brisbane Australia/Lindeman Australia/Adelaide Australia/Darwin Australia/Perth Australia/Eucla","AW|America/Curacao America/Aruba","AX|Europe/Helsinki Europe/Mariehamn","AZ|Asia/Baku","BA|Europe/Belgrade Europe/Sarajevo","BB|America/Barbados","BD|Asia/Dhaka","BE|Europe/Brussels","BF|Africa/Abidjan Africa/Ouagadougou","BG|Europe/Sofia","BH|Asia/Qatar Asia/Bahrain","BI|Africa/Maputo Africa/Bujumbura","BJ|Africa/Lagos Africa/Porto-Novo","BL|America/Port_of_Spain America/St_Barthelemy","BM|Atlantic/Bermuda","BN|Asia/Brunei","BO|America/La_Paz","BQ|America/Curacao America/Kralendijk","BR|America/Noronha America/Belem America/Fortaleza America/Recife America/Araguaina America/Maceio America/Bahia America/Sao_Paulo America/Campo_Grande America/Cuiaba America/Santarem America/Porto_Velho America/Boa_Vista America/Manaus America/Eirunepe America/Rio_Branco","BS|America/Nassau","BT|Asia/Thimphu","BW|Africa/Maputo Africa/Gaborone","BY|Europe/Minsk","BZ|America/Belize","CA|America/St_Johns America/Halifax America/Glace_Bay America/Moncton America/Goose_Bay America/Blanc-Sablon America/Toronto America/Nipigon America/Thunder_Bay America/Iqaluit America/Pangnirtung America/Atikokan America/Winnipeg America/Rainy_River America/Resolute America/Rankin_Inlet America/Regina America/Swift_Current America/Edmonton America/Cambridge_Bay America/Yellowknife America/Inuvik America/Creston America/Dawson_Creek America/Fort_Nelson America/Vancouver America/Whitehorse America/Dawson","CC|Indian/Cocos","CD|Africa/Maputo Africa/Lagos Africa/Kinshasa Africa/Lubumbashi","CF|Africa/Lagos Africa/Bangui","CG|Africa/Lagos Africa/Brazzaville","CH|Europe/Zurich","CI|Africa/Abidjan","CK|Pacific/Rarotonga","CL|America/Santiago America/Punta_Arenas Pacific/Easter","CM|Africa/Lagos Africa/Douala","CN|Asia/Shanghai Asia/Urumqi","CO|America/Bogota","CR|America/Costa_Rica","CU|America/Havana","CV|Atlantic/Cape_Verde","CW|America/Curacao","CX|Indian/Christmas","CY|Asia/Nicosia Asia/Famagusta","CZ|Europe/Prague","DE|Europe/Zurich Europe/Berlin Europe/Busingen","DJ|Africa/Nairobi Africa/Djibouti","DK|Europe/Copenhagen","DM|America/Port_of_Spain America/Dominica","DO|America/Santo_Domingo","DZ|Africa/Algiers","EC|America/Guayaquil Pacific/Galapagos","EE|Europe/Tallinn","EG|Africa/Cairo","EH|Africa/El_Aaiun","ER|Africa/Nairobi Africa/Asmara","ES|Europe/Madrid Africa/Ceuta Atlantic/Canary","ET|Africa/Nairobi Africa/Addis_Ababa","FI|Europe/Helsinki","FJ|Pacific/Fiji","FK|Atlantic/Stanley","FM|Pacific/Chuuk Pacific/Pohnpei Pacific/Kosrae","FO|Atlantic/Faroe","FR|Europe/Paris","GA|Africa/Lagos Africa/Libreville","GB|Europe/London","GD|America/Port_of_Spain America/Grenada","GE|Asia/Tbilisi","GF|America/Cayenne","GG|Europe/London Europe/Guernsey","GH|Africa/Accra","GI|Europe/Gibraltar","GL|America/Nuuk America/Danmarkshavn America/Scoresbysund America/Thule","GM|Africa/Abidjan Africa/Banjul","GN|Africa/Abidjan Africa/Conakry","GP|America/Port_of_Spain America/Guadeloupe","GQ|Africa/Lagos Africa/Malabo","GR|Europe/Athens","GS|Atlantic/South_Georgia","GT|America/Guatemala","GU|Pacific/Guam","GW|Africa/Bissau","GY|America/Guyana","HK|Asia/Hong_Kong","HN|America/Tegucigalpa","HR|Europe/Belgrade Europe/Zagreb","HT|America/Port-au-Prince","HU|Europe/Budapest","ID|Asia/Jakarta Asia/Pontianak Asia/Makassar Asia/Jayapura","IE|Europe/Dublin","IL|Asia/Jerusalem","IM|Europe/London Europe/Isle_of_Man","IN|Asia/Kolkata","IO|Indian/Chagos","IQ|Asia/Baghdad","IR|Asia/Tehran","IS|Atlantic/Reykjavik","IT|Europe/Rome","JE|Europe/London Europe/Jersey","JM|America/Jamaica","JO|Asia/Amman","JP|Asia/Tokyo","KE|Africa/Nairobi","KG|Asia/Bishkek","KH|Asia/Bangkok Asia/Phnom_Penh","KI|Pacific/Tarawa Pacific/Enderbury Pacific/Kiritimati","KM|Africa/Nairobi Indian/Comoro","KN|America/Port_of_Spain America/St_Kitts","KP|Asia/Pyongyang","KR|Asia/Seoul","KW|Asia/Riyadh Asia/Kuwait","KY|America/Panama America/Cayman","KZ|Asia/Almaty Asia/Qyzylorda Asia/Qostanay Asia/Aqtobe Asia/Aqtau Asia/Atyrau Asia/Oral","LA|Asia/Bangkok Asia/Vientiane","LB|Asia/Beirut","LC|America/Port_of_Spain America/St_Lucia","LI|Europe/Zurich Europe/Vaduz","LK|Asia/Colombo","LR|Africa/Monrovia","LS|Africa/Johannesburg Africa/Maseru","LT|Europe/Vilnius","LU|Europe/Luxembourg","LV|Europe/Riga","LY|Africa/Tripoli","MA|Africa/Casablanca","MC|Europe/Monaco","MD|Europe/Chisinau","ME|Europe/Belgrade Europe/Podgorica","MF|America/Port_of_Spain America/Marigot","MG|Africa/Nairobi Indian/Antananarivo","MH|Pacific/Majuro Pacific/Kwajalein","MK|Europe/Belgrade Europe/Skopje","ML|Africa/Abidjan Africa/Bamako","MM|Asia/Yangon","MN|Asia/Ulaanbaatar Asia/Hovd Asia/Choibalsan","MO|Asia/Macau","MP|Pacific/Guam Pacific/Saipan","MQ|America/Martinique","MR|Africa/Abidjan Africa/Nouakchott","MS|America/Port_of_Spain America/Montserrat","MT|Europe/Malta","MU|Indian/Mauritius","MV|Indian/Maldives","MW|Africa/Maputo Africa/Blantyre","MX|America/Mexico_City America/Cancun America/Merida America/Monterrey America/Matamoros America/Mazatlan America/Chihuahua America/Ojinaga America/Hermosillo America/Tijuana America/Bahia_Banderas","MY|Asia/Kuala_Lumpur Asia/Kuching","MZ|Africa/Maputo","NA|Africa/Windhoek","NC|Pacific/Noumea","NE|Africa/Lagos Africa/Niamey","NF|Pacific/Norfolk","NG|Africa/Lagos","NI|America/Managua","NL|Europe/Amsterdam","NO|Europe/Oslo","NP|Asia/Kathmandu","NR|Pacific/Nauru","NU|Pacific/Niue","NZ|Pacific/Auckland Pacific/Chatham","OM|Asia/Dubai Asia/Muscat","PA|America/Panama","PE|America/Lima","PF|Pacific/Tahiti Pacific/Marquesas Pacific/Gambier","PG|Pacific/Port_Moresby Pacific/Bougainville","PH|Asia/Manila","PK|Asia/Karachi","PL|Europe/Warsaw","PM|America/Miquelon","PN|Pacific/Pitcairn","PR|America/Puerto_Rico","PS|Asia/Gaza Asia/Hebron","PT|Europe/Lisbon Atlantic/Madeira Atlantic/Azores","PW|Pacific/Palau","PY|America/Asuncion","QA|Asia/Qatar","RE|Indian/Reunion","RO|Europe/Bucharest","RS|Europe/Belgrade","RU|Europe/Kaliningrad Europe/Moscow Europe/Simferopol Europe/Kirov Europe/Astrakhan Europe/Volgograd Europe/Saratov Europe/Ulyanovsk Europe/Samara Asia/Yekaterinburg Asia/Omsk Asia/Novosibirsk Asia/Barnaul Asia/Tomsk Asia/Novokuznetsk Asia/Krasnoyarsk Asia/Irkutsk Asia/Chita Asia/Yakutsk Asia/Khandyga Asia/Vladivostok Asia/Ust-Nera Asia/Magadan Asia/Sakhalin Asia/Srednekolymsk Asia/Kamchatka Asia/Anadyr","RW|Africa/Maputo Africa/Kigali","SA|Asia/Riyadh","SB|Pacific/Guadalcanal","SC|Indian/Mahe","SD|Africa/Khartoum","SE|Europe/Stockholm","SG|Asia/Singapore","SH|Africa/Abidjan Atlantic/St_Helena","SI|Europe/Belgrade Europe/Ljubljana","SJ|Europe/Oslo Arctic/Longyearbyen","SK|Europe/Prague Europe/Bratislava","SL|Africa/Abidjan Africa/Freetown","SM|Europe/Rome Europe/San_Marino","SN|Africa/Abidjan Africa/Dakar","SO|Africa/Nairobi Africa/Mogadishu","SR|America/Paramaribo","SS|Africa/Juba","ST|Africa/Sao_Tome","SV|America/El_Salvador","SX|America/Curacao America/Lower_Princes","SY|Asia/Damascus","SZ|Africa/Johannesburg Africa/Mbabane","TC|America/Grand_Turk","TD|Africa/Ndjamena","TF|Indian/Reunion Indian/Kerguelen","TG|Africa/Abidjan Africa/Lome","TH|Asia/Bangkok","TJ|Asia/Dushanbe","TK|Pacific/Fakaofo","TL|Asia/Dili","TM|Asia/Ashgabat","TN|Africa/Tunis","TO|Pacific/Tongatapu","TR|Europe/Istanbul","TT|America/Port_of_Spain","TV|Pacific/Funafuti","TW|Asia/Taipei","TZ|Africa/Nairobi Africa/Dar_es_Salaam","UA|Europe/Simferopol Europe/Kiev Europe/Uzhgorod Europe/Zaporozhye","UG|Africa/Nairobi Africa/Kampala","UM|Pacific/Pago_Pago Pacific/Wake Pacific/Honolulu Pacific/Midway","US|America/New_York America/Detroit America/Kentucky/Louisville America/Kentucky/Monticello America/Indiana/Indianapolis America/Indiana/Vincennes America/Indiana/Winamac America/Indiana/Marengo America/Indiana/Petersburg America/Indiana/Vevay America/Chicago America/Indiana/Tell_City America/Indiana/Knox America/Menominee America/North_Dakota/Center America/North_Dakota/New_Salem America/North_Dakota/Beulah America/Denver America/Boise America/Phoenix America/Los_Angeles America/Anchorage America/Juneau America/Sitka America/Metlakatla America/Yakutat America/Nome America/Adak Pacific/Honolulu","UY|America/Montevideo","UZ|Asia/Samarkand Asia/Tashkent","VA|Europe/Rome Europe/Vatican","VC|America/Port_of_Spain America/St_Vincent","VE|America/Caracas","VG|America/Port_of_Spain America/Tortola","VI|America/Port_of_Spain America/St_Thomas","VN|Asia/Bangkok Asia/Ho_Chi_Minh","VU|Pacific/Efate","WF|Pacific/Wallis","WS|Pacific/Apia","YE|Asia/Riyadh Asia/Aden","YT|Africa/Nairobi Indian/Mayotte","ZA|Africa/Johannesburg","ZM|Africa/Maputo Africa/Lusaka","ZW|Africa/Maputo Africa/Harare"]}),b});
\ No newline at end of file
+!(function (c, M) {
+  "use strict";
+  "object" == typeof module && module.exports
+    ? (module.exports = M(require("moment")))
+    : "function" == typeof define && define.amd
+    ? define(["moment"], M)
+    : M(c.moment);
+})(this, function (b) {
+  "use strict";
+  void 0 === b.version && b.default && (b = b.default);
+  var M,
+    a = {},
+    p = {},
+    n = {},
+    i = {},
+    e = {};
+  (b && "string" == typeof b.version) ||
+    S(
+      "Moment Timezone requires Moment.js. See https://momentjs.com/timezone/docs/#/use-it/browser/"
+    );
+  var c = b.version.split("."),
+    A = +c[0],
+    o = +c[1];
+  function L(c) {
+    return 96 < c ? c - 87 : 64 < c ? c - 29 : c - 48;
+  }
+  function z(c) {
+    var M = 0,
+      A = c.split("."),
+      o = A[0],
+      z = A[1] || "",
+      b = 1,
+      a = 0,
+      p = 1;
+    for (45 === c.charCodeAt(0) && (p = -(M = 1)); M < o.length; M++)
+      a = 60 * a + L(o.charCodeAt(M));
+    for (M = 0; M < z.length; M++) (b /= 60), (a += L(z.charCodeAt(M)) * b);
+    return a * p;
+  }
+  function O(c) {
+    for (var M = 0; M < c.length; M++) c[M] = z(c[M]);
+  }
+  function q(c, M) {
+    for (var A = [], o = 0; o < M.length; o++) A[o] = c[M[o]];
+    return A;
+  }
+  function r(c) {
+    var M = c.split("|"),
+      A = M[2].split(" "),
+      o = M[3].split(""),
+      z = M[4].split(" ");
+    return (
+      O(A),
+      O(o),
+      O(z),
+      (function (c, M) {
+        for (var A = 0; A < M; A++)
+          c[A] = Math.round((c[A - 1] || 0) + 6e4 * c[A]);
+        c[M - 1] = 1 / 0;
+      })(z, o.length),
+      {
+        name: M[0],
+        abbrs: q(M[1].split(" "), o),
+        offsets: q(A, o),
+        untils: z,
+        population: 0 | M[5],
+      }
+    );
+  }
+  function N(c) {
+    c && this._set(r(c));
+  }
+  function d(c, M) {
+    (this.name = c), (this.zones = M);
+  }
+  function W(c) {
+    var M = c.toTimeString(),
+      A = M.match(/\([a-z ]+\)/i);
+    "GMT" ===
+      (A =
+        A && A[0]
+          ? (A = A[0].match(/[A-Z]/g))
+            ? A.join("")
+            : void 0
+          : (A = M.match(/[A-Z]{3,5}/g))
+          ? A[0]
+          : void 0) && (A = void 0),
+      (this.at = +c),
+      (this.abbr = A),
+      (this.offset = c.getTimezoneOffset());
+  }
+  function f(c) {
+    (this.zone = c), (this.offsetScore = 0), (this.abbrScore = 0);
+  }
+  function X() {
+    for (
+      var c,
+        M,
+        A = new Date().getFullYear() - 2,
+        o = new W(new Date(A, 0, 1)),
+        z = [o],
+        b = 1;
+      b < 48;
+      b++
+    )
+      (M = new W(new Date(A, b, 1))).offset !== o.offset &&
+        ((c = (function (c, M) {
+          for (var A, o; (o = 6e4 * (((M.at - c.at) / 12e4) | 0)); )
+            (A = new W(new Date(c.at + o))).offset === c.offset
+              ? (c = A)
+              : (M = A);
+          return c;
+        })(o, M)),
+        z.push(c),
+        z.push(new W(new Date(c.at + 6e4)))),
+        (o = M);
+    for (b = 0; b < 4; b++)
+      z.push(new W(new Date(A + b, 0, 1))),
+        z.push(new W(new Date(A + b, 6, 1)));
+    return z;
+  }
+  function u(c, M) {
+    return c.offsetScore !== M.offsetScore
+      ? c.offsetScore - M.offsetScore
+      : c.abbrScore !== M.abbrScore
+      ? c.abbrScore - M.abbrScore
+      : c.zone.population !== M.zone.population
+      ? M.zone.population - c.zone.population
+      : M.zone.name.localeCompare(c.zone.name);
+  }
+  function B() {
+    try {
+      var c = Intl.DateTimeFormat().resolvedOptions().timeZone;
+      if (c && 3 < c.length) {
+        var M = i[l(c)];
+        if (M) return M;
+        S(
+          "Moment Timezone found " +
+            c +
+            " from the Intl api, but did not have that data loaded."
+        );
+      }
+    } catch (c) {}
+    for (
+      var A,
+        o,
+        z = X(),
+        b = z.length,
+        a = (function (c) {
+          for (var M, A, o = c.length, z = {}, b = [], a = 0; a < o; a++)
+            for (M in (A = e[c[a].offset] || {}))
+              A.hasOwnProperty(M) && (z[M] = !0);
+          for (a in z) z.hasOwnProperty(a) && b.push(i[a]);
+          return b;
+        })(z),
+        p = [],
+        n = 0;
+      n < a.length;
+      n++
+    ) {
+      for (A = new f(t(a[n])), o = 0; o < b; o++) A.scoreOffsetAt(z[o]);
+      p.push(A);
+    }
+    return p.sort(u), 0 < p.length ? p[0].zone.name : void 0;
+  }
+  function l(c) {
+    return (c || "").toLowerCase().replace(/\//g, "_");
+  }
+  function T(c) {
+    var M, A, o, z;
+    for ("string" == typeof c && (c = [c]), M = 0; M < c.length; M++)
+      (z = l((A = (o = c[M].split("|"))[0]))),
+        (a[z] = c[M]),
+        (i[z] = A),
+        (function (c, M) {
+          var A, o;
+          for (O(M), A = 0; A < M.length; A++)
+            (o = M[A]), (e[o] = e[o] || {}), (e[o][c] = !0);
+        })(z, o[2].split(" "));
+  }
+  function t(c, M) {
+    c = l(c);
+    var A,
+      o = a[c];
+    return o instanceof N
+      ? o
+      : "string" == typeof o
+      ? ((o = new N(o)), (a[c] = o))
+      : p[c] && M !== t && (A = t(p[c], t))
+      ? ((o = a[c] = new N())._set(A), (o.name = i[c]), o)
+      : null;
+  }
+  function s(c) {
+    var M, A, o, z;
+    for ("string" == typeof c && (c = [c]), M = 0; M < c.length; M++)
+      (o = l((A = c[M].split("|"))[0])),
+        (z = l(A[1])),
+        (p[o] = z),
+        (i[o] = A[0]),
+        (p[z] = o),
+        (i[z] = A[1]);
+  }
+  function E(c) {
+    T(c.zones),
+      s(c.links),
+      (function (c) {
+        var M, A, o, z;
+        if (c && c.length)
+          for (M = 0; M < c.length; M++)
+            (A = (z = c[M].split("|"))[0].toUpperCase()),
+              (o = z[1].split(" ")),
+              (n[A] = new d(A, o));
+      })(c.countries),
+      (R.dataVersion = c.version);
+  }
+  function m(c) {
+    return (
+      m.didShowError ||
+        ((m.didShowError = !0),
+        S(
+          "moment.tz.zoneExists('" +
+            c +
+            "') has been deprecated in favor of !moment.tz.zone('" +
+            c +
+            "')"
+        )),
+      !!t(c)
+    );
+  }
+  function C(c) {
+    var M = "X" === c._f || "x" === c._f;
+    return !(!c._a || void 0 !== c._tzm || M);
+  }
+  function S(c) {
+    "undefined" != typeof console &&
+      "function" == typeof console.error &&
+      console.error(c);
+  }
+  function R(c) {
+    var M = Array.prototype.slice.call(arguments, 0, -1),
+      A = arguments[arguments.length - 1],
+      o = t(A),
+      z = b.utc.apply(null, M);
+    return (
+      o && !b.isMoment(c) && C(z) && z.add(o.parse(z), "minutes"), z.tz(A), z
+    );
+  }
+  (A < 2 || (2 == A && o < 6)) &&
+    S(
+      "Moment Timezone requires Moment.js >= 2.6.0. You are using Moment.js " +
+        b.version +
+        ". See momentjs.com"
+    ),
+    (N.prototype = {
+      _set: function (c) {
+        (this.name = c.name),
+          (this.abbrs = c.abbrs),
+          (this.untils = c.untils),
+          (this.offsets = c.offsets),
+          (this.population = c.population);
+      },
+      _index: function (c) {
+        for (var M = +c, A = this.untils, o = 0; o < A.length; o++)
+          if (M < A[o]) return o;
+      },
+      countries: function () {
+        var M = this.name;
+        return Object.keys(n).filter(function (c) {
+          return -1 !== n[c].zones.indexOf(M);
+        });
+      },
+      parse: function (c) {
+        for (
+          var M,
+            A,
+            o,
+            z = +c,
+            b = this.offsets,
+            a = this.untils,
+            p = a.length - 1,
+            n = 0;
+          n < p;
+          n++
+        )
+          if (
+            ((M = b[n]),
+            (A = b[n + 1]),
+            (o = b[n ? n - 1 : n]),
+            M < A && R.moveAmbiguousForward
+              ? (M = A)
+              : o < M && R.moveInvalidForward && (M = o),
+            z < a[n] - 6e4 * M)
+          )
+            return b[n];
+        return b[p];
+      },
+      abbr: function (c) {
+        return this.abbrs[this._index(c)];
+      },
+      offset: function (c) {
+        return (
+          S("zone.offset has been deprecated in favor of zone.utcOffset"),
+          this.offsets[this._index(c)]
+        );
+      },
+      utcOffset: function (c) {
+        return this.offsets[this._index(c)];
+      },
+    }),
+    (f.prototype.scoreOffsetAt = function (c) {
+      (this.offsetScore += Math.abs(this.zone.utcOffset(c.at) - c.offset)),
+        this.zone.abbr(c.at).replace(/[^A-Z]/g, "") !== c.abbr &&
+          this.abbrScore++;
+    }),
+    (R.version = "0.5.33"),
+    (R.dataVersion = ""),
+    (R._zones = a),
+    (R._links = p),
+    (R._names = i),
+    (R._countries = n),
+    (R.add = T),
+    (R.link = s),
+    (R.load = E),
+    (R.zone = t),
+    (R.zoneExists = m),
+    (R.guess = function (c) {
+      return (M && !c) || (M = B()), M;
+    }),
+    (R.names = function () {
+      var c,
+        M = [];
+      for (c in i)
+        i.hasOwnProperty(c) && (a[c] || a[p[c]]) && i[c] && M.push(i[c]);
+      return M.sort();
+    }),
+    (R.Zone = N),
+    (R.unpack = r),
+    (R.unpackBase60 = z),
+    (R.needsOffset = C),
+    (R.moveInvalidForward = !0),
+    (R.moveAmbiguousForward = !1),
+    (R.countries = function () {
+      return Object.keys(n);
+    }),
+    (R.zonesForCountry = function (c, M) {
+      var A;
+      if (((A = (A = c).toUpperCase()), !(c = n[A] || null))) return null;
+      var o = c.zones.sort();
+      return M
+        ? o.map(function (c) {
+            return { name: c, offset: t(c).utcOffset(new Date()) };
+          })
+        : o;
+    });
+  var g,
+    P = b.fn;
+  function D(c) {
+    return function () {
+      return this._z ? this._z.abbr(this) : c.call(this);
+    };
+  }
+  function h(c) {
+    return function () {
+      return (this._z = null), c.apply(this, arguments);
+    };
+  }
+  (b.tz = R),
+    (b.defaultZone = null),
+    (b.updateOffset = function (c, M) {
+      var A,
+        o,
+        z = b.defaultZone;
+      void 0 === c._z &&
+        (z &&
+          C(c) &&
+          !c._isUTC &&
+          ((c._d = b.utc(c._a)._d), c.utc().add(z.parse(c), "minutes")),
+        (c._z = z)),
+        c._z &&
+          ((o = c._z.utcOffset(c)),
+          Math.abs(o) < 16 && (o /= 60),
+          void 0 !== c.utcOffset
+            ? ((A = c._z), c.utcOffset(-o, M), (c._z = A))
+            : c.zone(o, M));
+    }),
+    (P.tz = function (c, M) {
+      if (c) {
+        if ("string" != typeof c)
+          throw new Error(
+            "Time zone name must be a string, got " + c + " [" + typeof c + "]"
+          );
+        return (
+          (this._z = t(c)),
+          this._z
+            ? b.updateOffset(this, M)
+            : S(
+                "Moment Timezone has no data for " +
+                  c +
+                  ". See http://momentjs.com/timezone/docs/#/data-loading/."
+              ),
+          this
+        );
+      }
+      if (this._z) return this._z.name;
+    }),
+    (P.zoneName = D(P.zoneName)),
+    (P.zoneAbbr = D(P.zoneAbbr)),
+    (P.utc = h(P.utc)),
+    (P.local = h(P.local)),
+    (P.utcOffset =
+      ((g = P.utcOffset),
+      function () {
+        return (
+          0 < arguments.length && (this._z = null), g.apply(this, arguments)
+        );
+      })),
+    (b.tz.setDefault = function (c) {
+      return (
+        (A < 2 || (2 == A && o < 9)) &&
+          S(
+            "Moment Timezone setDefault() requires Moment.js >= 2.9.0. You are using Moment.js " +
+              b.version +
+              "."
+          ),
+        (b.defaultZone = c ? t(c) : null),
+        b
+      );
+    });
+  var k = b.momentProperties;
+  return (
+    "[object Array]" === Object.prototype.toString.call(k)
+      ? (k.push("_z"), k.push("_a"))
+      : k && (k._z = null),
+    E({
+      version: "2021a",
+      zones: [
+        "Africa/Abidjan|LMT GMT|g.8 0|01|-2ldXH.Q|48e5",
+        "Africa/Accra|LMT GMT +0020 +0030|.Q 0 -k -u|01212121212121212121212121212121212121212121212131313131313131|-2bRzX.8 9RbX.8 fdE 1BAk MLE 1Bck MLE 1Bck MLE 1Bck MLE 1BAk MLE 1Bck MLE 1Bck MLE 1Bck MLE 1BAk MLE 1Bck MLE 1Bck MLE 1Bck MLE 1BAk MLE 1Bck MLE 1Bck MLE 1Bck MLE 1BAk MLE 1Bck MLE 1Bck MLE 1Bck MLE Mok 1BXE M0k 1BXE fak 9vbu bjCu MLu 1Bcu MLu 1BAu MLu 1Bcu MLu 1Bcu MLu 1Bcu MLu|41e5",
+        "Africa/Nairobi|LMT +0230 EAT +0245|-2r.g -2u -30 -2J|012132|-2ua2r.g N6nV.g 3Fbu h1cu dzbJ|47e5",
+        "Africa/Algiers|PMT WET WEST CET CEST|-9.l 0 -10 -10 -20|0121212121212121343431312123431213|-2nco9.l cNb9.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 DA0 Imo0 rd0 De0 9Xz0 1fb0 1ap0 16K0 2yo0 mEp0 hwL0 jxA0 11A0 dDd0 17b0 11B0 1cN0 2Dy0 1cN0 1fB0 1cL0|26e5",
+        "Africa/Lagos|LMT GMT +0030 WAT|-d.z 0 -u -10|01023|-2B40d.z 7iod.z dnXK.p dLzH.z|17e6",
+        "Africa/Bissau|LMT -01 GMT|12.k 10 0|012|-2ldX0 2xoo0|39e4",
+        "Africa/Maputo|LMT CAT|-2a.k -20|01|-2GJea.k|26e5",
+        "Africa/Cairo|EET EEST|-20 -30|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1bIO0 vb0 1ip0 11z0 1iN0 1nz0 12p0 1pz0 10N0 1pz0 16p0 1jz0 s3d0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1WL0 rd0 1Rz0 wp0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1qL0 Xd0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1ny0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 WL0 1qN0 Rb0 1wp0 On0 1zd0 Lz0 1EN0 Fb0 c10 8n0 8Nd0 gL0 e10 mn0|15e6",
+        "Africa/Casablanca|LMT +00 +01|u.k 0 -10|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2gMnt.E 130Lt.E rb0 Dd0 dVb0 b6p0 TX0 EoB0 LL0 gnd0 rz0 43d0 AL0 1Nd0 XX0 1Cp0 pz0 dEp0 4mn0 SyN0 AL0 1Nd0 wn0 1FB0 Db0 1zd0 Lz0 1Nf0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0|32e5",
+        "Africa/Ceuta|WET WEST CET CEST|0 -10 -10 -20|010101010101010101010232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-25KN0 11z0 drd0 18p0 3HX0 17d0 1fz0 1a10 1io0 1a00 1y7o0 LL0 gnd0 rz0 43d0 AL0 1Nd0 XX0 1Cp0 pz0 dEp0 4VB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|85e3",
+        "Africa/El_Aaiun|LMT -01 +00 +01|Q.M 10 0 -10|012323232323232323232323232323232323232323232323232323232323232323232323232323232323|-1rDz7.c 1GVA7.c 6L0 AL0 1Nd0 XX0 1Cp0 pz0 1cBB0 AL0 1Nd0 wn0 1FB0 Db0 1zd0 Lz0 1Nf0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0|20e4",
+        "Africa/Johannesburg|SAST SAST SAST|-1u -20 -30|012121|-2GJdu 1Ajdu 1cL0 1cN0 1cL0|84e5",
+        "Africa/Juba|LMT CAT CAST EAT|-26.s -20 -30 -30|012121212121212121212121212121212131|-1yW26.s 1zK06.s 16L0 1iN0 17b0 1jd0 17b0 1ip0 17z0 1i10 17X0 1hB0 18n0 1hd0 19b0 1gp0 19z0 1iN0 17b0 1ip0 17z0 1i10 18n0 1hd0 18L0 1gN0 19b0 1gp0 19z0 1iN0 17z0 1i10 17X0 yGd0 PeX0|",
+        "Africa/Khartoum|LMT CAT CAST EAT|-2a.8 -20 -30 -30|012121212121212121212121212121212131|-1yW2a.8 1zK0a.8 16L0 1iN0 17b0 1jd0 17b0 1ip0 17z0 1i10 17X0 1hB0 18n0 1hd0 19b0 1gp0 19z0 1iN0 17b0 1ip0 17z0 1i10 18n0 1hd0 18L0 1gN0 19b0 1gp0 19z0 1iN0 17z0 1i10 17X0 yGd0 HjL0|51e5",
+        "Africa/Monrovia|MMT MMT GMT|H.8 I.u 0|012|-23Lzg.Q 28G01.m|11e5",
+        "Africa/Ndjamena|LMT WAT WAST|-10.c -10 -20|0121|-2le10.c 2J3c0.c Wn0|13e5",
+        "Africa/Sao_Tome|LMT GMT WAT|A.J 0 -10|0121|-2le00 4i6N0 2q00|",
+        "Africa/Tripoli|LMT CET CEST EET|-Q.I -10 -20 -20|012121213121212121212121213123123|-21JcQ.I 1hnBQ.I vx0 4iP0 xx0 4eN0 Bb0 7ip0 U0n0 A10 1db0 1cN0 1db0 1dd0 1db0 1eN0 1bb0 1e10 1cL0 1c10 1db0 1dd0 1db0 1cN0 1db0 1q10 fAn0 1ep0 1db0 AKq0 TA0 1o00|11e5",
+        "Africa/Tunis|PMT CET CEST|-9.l -10 -20|0121212121212121212121212121212121|-2nco9.l 18pa9.l 1qM0 DA0 3Tc0 11B0 1ze0 WM0 7z0 3d0 14L0 1cN0 1f90 1ar0 16J0 1gXB0 WM0 1rA0 11c0 nwo0 Ko0 1cM0 1cM0 1rA0 10M0 zuM0 10N0 1aN0 1qM0 WM0 1qM0 11A0 1o00|20e5",
+        "Africa/Windhoek|+0130 SAST SAST CAT WAT|-1u -20 -30 -20 -10|01213434343434343434343434343434343434343434343434343|-2GJdu 1Ajdu 1cL0 1SqL0 9Io0 16P0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0|32e4",
+        "America/Adak|NST NWT NPT BST BDT AHST HST HDT|b0 a0 a0 b0 a0 a0 a0 90|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17SX0 8wW0 iB0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cm0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|326",
+        "America/Anchorage|AST AWT APT AHST AHDT YST AKST AKDT|a0 90 90 a0 90 90 90 80|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17T00 8wX0 iA0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cm0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|30e4",
+        "America/Port_of_Spain|LMT AST|46.4 40|01|-2kNvR.U|43e3",
+        "America/Araguaina|LMT -03 -02|3c.M 30 20|0121212121212121212121212121212121212121212121212121|-2glwL.c HdKL.c 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 dMN0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 ny10 Lz0|14e4",
+        "America/Argentina/Buenos_Aires|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 A4p0 uL0 1qN0 WL0|",
+        "America/Argentina/Catamarca|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323132321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 rlB0 7B0 8zb0 uL0|",
+        "America/Argentina/Cordoba|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323132323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 A4p0 uL0 1qN0 WL0|",
+        "America/Argentina/Jujuy|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323121323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1ze0 TX0 1ld0 WK0 1wp0 TX0 A4p0 uL0|",
+        "America/Argentina/La_Rioja|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Qn0 qO0 16n0 Rb0 1wp0 TX0 rlB0 7B0 8zb0 uL0|",
+        "America/Argentina/Mendoza|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232312121321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1u20 SL0 1vd0 Tb0 1wp0 TW0 ri10 Op0 7TX0 uL0|",
+        "America/Argentina/Rio_Gallegos|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 rlB0 7B0 8zb0 uL0|",
+        "America/Argentina/Salta|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 A4p0 uL0|",
+        "America/Argentina/San_Juan|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Qn0 qO0 16n0 Rb0 1wp0 TX0 rld0 m10 8lb0 uL0|",
+        "America/Argentina/San_Luis|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323121212321212|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 XX0 1q20 SL0 AN0 vDb0 m10 8lb0 8L0 jd0 1qN0 WL0 1qN0|",
+        "America/Argentina/Tucuman|CMT -04 -03 -02|4g.M 40 30 20|0121212121212121212121212121212121212121212323232313232123232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 rlB0 4N0 8BX0 uL0 1qN0 WL0|",
+        "America/Argentina/Ushuaia|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 rkN0 8p0 8zb0 uL0|",
+        "America/Curacao|LMT -0430 AST|4z.L 4u 40|012|-2kV7o.d 28KLS.d|15e4",
+        "America/Asuncion|AMT -04 -03|3O.E 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-1x589.k 1DKM9.k 3CL0 3Dd0 10L0 1pB0 10n0 1pB0 10n0 1pB0 1cL0 1dd0 1db0 1dd0 1cL0 1dd0 1cL0 1dd0 1cL0 1dd0 1db0 1dd0 1cL0 1dd0 1cL0 1dd0 1cL0 1dd0 1db0 1dd0 1cL0 1lB0 14n0 1dd0 1cL0 1fd0 WL0 1rd0 1aL0 1dB0 Xz0 1qp0 Xb0 1qN0 10L0 1rB0 TX0 1tB0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 WN0 1qL0 11B0 1nX0 1ip0 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 TX0 1tB0 19X0 1a10 1fz0 1a10 1fz0 1cN0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0|28e5",
+        "America/Atikokan|CST CDT CWT CPT EST|60 50 50 50 50|0101234|-25TQ0 1in0 Rnb0 3je0 8x30 iw0|28e2",
+        "America/Bahia_Banderas|LMT MST CST PST MDT CDT|71 70 60 80 60 50|0121212131414141414141414141414141414152525252525252525252525252525252525252525252525252525252|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nW0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|84e3",
+        "America/Bahia|LMT -03 -02|2y.4 30 20|01212121212121212121212121212121212121212121212121212121212121|-2glxp.U HdLp.U 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 l5B0 Rb0|27e5",
+        "America/Barbados|LMT BMT AST ADT|3W.t 3W.t 40 30|01232323232|-1Q0I1.v jsM0 1ODC1.v IL0 1ip0 17b0 1ip0 17b0 1ld0 13b0|28e4",
+        "America/Belem|LMT -03 -02|3d.U 30 20|012121212121212121212121212121|-2glwK.4 HdKK.4 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0|20e5",
+        "America/Belize|LMT CST -0530 CWT CPT CDT|5Q.M 60 5u 50 50 50|012121212121212121212121212121212121212121212121213412121212121212121212121212121212121212121215151|-2kBu7.c fPA7.c Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu Rcu 7Bt0 Ni0 4nd0 Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu e9Au qn0 lxB0 mn0|57e3",
+        "America/Blanc-Sablon|AST ADT AWT APT|40 30 30 30|010230|-25TS0 1in0 UGp0 8x50 iu0|11e2",
+        "America/Boa_Vista|LMT -04 -03|42.E 40 30|0121212121212121212121212121212121|-2glvV.k HdKV.k 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 smp0 WL0 1tB0 2L0|62e2",
+        "America/Bogota|BMT -05 -04|4U.g 50 40|0121|-2eb73.I 38yo3.I 2en0|90e5",
+        "America/Boise|PST PDT MST MWT MPT MDT|80 70 70 60 60 60|0101023425252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-261q0 1nX0 11B0 1nX0 8C10 JCL0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 Dd0 1Kn0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e4",
+        "America/Cambridge_Bay|-00 MST MWT MPT MDDT MDT CST CDT EST|0 70 60 60 50 60 60 50 50|0123141515151515151515151515151515151515151515678651515151515151515151515151515151515151515151515151515151515151515151515151|-21Jc0 RO90 8x20 ix0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11A0 1nX0 2K0 WQ0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e2",
+        "America/Campo_Grande|LMT -04 -03|3C.s 40 30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2glwl.w HdLl.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 1C10 Lz0 1Ip0 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0|77e4",
+        "America/Cancun|LMT CST EST EDT CDT|5L.4 60 50 40 50|0123232341414141414141414141414141414141412|-1UQG0 2q2o0 yLB0 1lb0 14p0 1lb0 14p0 Lz0 xB0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 Dd0|63e4",
+        "America/Caracas|CMT -0430 -04|4r.E 4u 40|01212|-2kV7w.k 28KM2.k 1IwOu kqo0|29e5",
+        "America/Cayenne|LMT -04 -03|3t.k 40 30|012|-2mrwu.E 2gWou.E|58e3",
+        "America/Panama|CMT EST|5j.A 50|01|-2uduE.o|15e5",
+        "America/Chicago|CST CDT EST CWT CPT|60 50 50 50 50|01010101010101010101010101010101010102010101010103401010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 1wp0 TX0 WN0 1qL0 1cN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 11B0 1Hz0 14p0 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 RB0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|92e5",
+        "America/Chihuahua|LMT MST CST CDT MDT|74.k 70 60 50 60|0121212323241414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 2zQN0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|81e4",
+        "America/Costa_Rica|SJMT CST CDT|5A.d 60 50|0121212121|-1Xd6n.L 2lu0n.L Db0 1Kp0 Db0 pRB0 15b0 1kp0 mL0|12e5",
+        "America/Creston|MST PST|70 80|010|-29DR0 43B0|53e2",
+        "America/Cuiaba|LMT -04 -03|3I.k 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2glwf.E HdLf.E 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 4a10 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0|54e4",
+        "America/Danmarkshavn|LMT -03 -02 GMT|1e.E 30 20 0|01212121212121212121212121212121213|-2a5WJ.k 2z5fJ.k 19U0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 DC0|8",
+        "America/Dawson_Creek|PST PDT PWT PPT MST|80 70 70 70 70|0102301010101010101010101010101010101010101010101010101014|-25TO0 1in0 UGp0 8x10 iy0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 ML0|12e3",
+        "America/Dawson|YST YDT YWT YPT YDDT PST PDT MST|90 80 80 80 70 80 70 70|010102304056565656565656565656565656565656565656565656565656565656565656565656565656565656567|-25TN0 1in0 1o10 13V0 Ser0 8x00 iz0 LCL0 1fA0 jrA0 fNd0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1z90|13e2",
+        "America/Denver|MST MDT MWT MPT|70 60 60 60|01010101023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261r0 1nX0 11B0 1nX0 11B0 1qL0 WN0 mn0 Ord0 8x20 ix0 LCN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e5",
+        "America/Detroit|LMT CST EST EWT EPT EDT|5w.b 60 50 40 40 40|0123425252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-2Cgir.N peqr.N 156L0 8x40 iv0 6fd0 11z0 JxX1 SMX 1cN0 1cL0 aW10 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|37e5",
+        "America/Edmonton|LMT MST MDT MWT MPT|7x.Q 70 60 60 60|0121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2yd4q.8 shdq.8 1in0 17d0 hz0 2dB0 1fz0 1a10 11z0 1qN0 WL0 1qN0 11z0 IGN0 8x20 ix0 3NB0 11z0 XQp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|10e5",
+        "America/Eirunepe|LMT -05 -04|4D.s 50 40|0121212121212121212121212121212121|-2glvk.w HdLk.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 dPB0 On0 yTd0 d5X0|31e3",
+        "America/El_Salvador|LMT CST CDT|5U.M 60 50|012121|-1XiG3.c 2Fvc3.c WL0 1qN0 WL0|11e5",
+        "America/Tijuana|LMT MST PST PDT PWT PPT|7M.4 70 80 70 70 70|012123245232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UQE0 4PX0 8mM0 8lc0 SN0 1cL0 pHB0 83r0 zI0 5O10 1Rz0 cOO0 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 BUp0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|20e5",
+        "America/Fort_Nelson|PST PDT PWT PPT MST|80 70 70 70 70|01023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010104|-25TO0 1in0 UGp0 8x10 iy0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0|39e2",
+        "America/Fort_Wayne|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|010101023010101010101010101040454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 QI10 Db0 RB0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 5Tz0 1o10 qLb0 1cL0 1cN0 1cL0 1qhd0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|",
+        "America/Fortaleza|LMT -03 -02|2y 30 20|0121212121212121212121212121212121212121|-2glxq HdLq 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 5z0 2mN0 On0|34e5",
+        "America/Glace_Bay|LMT AST ADT AWT APT|3X.M 40 30 30 30|012134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsI0.c CwO0.c 1in0 UGp0 8x50 iu0 iq10 11z0 Jg10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|19e3",
+        "America/Godthab|LMT -03 -02|3q.U 30 20|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a5Ux.4 2z5dx.4 19U0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e3",
+        "America/Goose_Bay|NST NDT NST NDT NWT NPT AST ADT ADDT|3u.Q 2u.Q 3u 2u 2u 2u 40 30 20|010232323232323245232323232323232323232323232323232323232326767676767676767676767676767676767676767676768676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-25TSt.8 1in0 DXb0 2HbX.8 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 WL0 1qN0 WL0 1qN0 7UHu itu 1tB0 WL0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1tB0 WL0 1ld0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 S10 g0u 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14n1 1lb0 14p0 1nW0 11C0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zcX Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|76e2",
+        "America/Grand_Turk|KMT EST EDT AST|57.a 50 40 40|0121212121212121212121212121212121212121212121212121212121212121212121212132121212121212121212121212121212121212121|-2l1uQ.O 2HHBQ.O 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 7jA0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|37e2",
+        "America/Guatemala|LMT CST CDT|62.4 60 50|0121212121|-24KhV.U 2efXV.U An0 mtd0 Nz0 ifB0 17b0 zDB0 11z0|13e5",
+        "America/Guayaquil|QMT -05 -04|5e 50 40|0121|-1yVSK 2uILK rz0|27e5",
+        "America/Guyana|LMT -0345 -03 -04|3Q.E 3J 30 40|0123|-2dvU7.k 2r6LQ.k Bxbf|80e4",
+        "America/Halifax|LMT AST ADT AWT APT|4e.o 40 30 30 30|0121212121212121212121212121212121212121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsHJ.A xzzJ.A 1db0 3I30 1in0 3HX0 IL0 1E10 ML0 1yN0 Pb0 1Bd0 Mn0 1Bd0 Rz0 1w10 Xb0 1w10 LX0 1w10 Xb0 1w10 Lz0 1C10 Jz0 1E10 OL0 1yN0 Un0 1qp0 Xb0 1qp0 11X0 1w10 Lz0 1HB0 LX0 1C10 FX0 1w10 Xb0 1qp0 Xb0 1BB0 LX0 1td0 Xb0 1qp0 Xb0 Rf0 8x50 iu0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 3Qp0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 3Qp0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 6i10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|39e4",
+        "America/Havana|HMT CST CDT|5t.A 50 40|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1Meuu.o 72zu.o ML0 sld0 An0 1Nd0 Db0 1Nd0 An0 6Ep0 An0 1Nd0 An0 JDd0 Mn0 1Ap0 On0 1fd0 11X0 1qN0 WL0 1wp0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 14n0 1ld0 14L0 1kN0 15b0 1kp0 1cL0 1cN0 1fz0 1a10 1fz0 1fB0 11z0 14p0 1nX0 11B0 1nX0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 14n0 1ld0 14n0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 1a10 1in0 1a10 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 17c0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 11A0 6i00 Rc0 1wo0 U00 1tA0 Rc0 1wo0 U00 1wo0 U00 1zc0 U00 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0|21e5",
+        "America/Hermosillo|LMT MST CST PST MDT|7n.Q 70 60 80 60|0121212131414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0|64e4",
+        "America/Indiana/Knox|CST CDT CWT CPT EST|60 50 50 50 50|0101023010101010101010101010101010101040101010101010101010101010101010101010101010101010141010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 11z0 1o10 11z0 1o10 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 3Cn0 8wp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 z8o0 1o00 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|",
+        "America/Indiana/Marengo|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101023010101010101010104545454545414545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 dyN0 11z0 6fd0 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 jrz0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1VA0 LA0 1BX0 1e6p0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|",
+        "America/Indiana/Petersburg|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010104010101010101010101010141014545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 njX0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 3Fb0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 19co0 1o00 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|",
+        "America/Indiana/Tell_City|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010401054541010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 njX0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 8wn0 1cN0 1cL0 1cN0 1cK0 1cN0 1cL0 1qhd0 1o00 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|",
+        "America/Indiana/Vevay|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|010102304545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 kPB0 Awn0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1lnd0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|",
+        "America/Indiana/Vincennes|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010454541014545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 g0p0 11z0 1o10 11z0 1qL0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 caL0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|",
+        "America/Indiana/Winamac|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010101010454541054545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 jrz0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1za0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|",
+        "America/Inuvik|-00 PST PDDT MST MDT|0 80 60 70 60|0121343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-FnA0 tWU0 1fA0 wPe0 2pz0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|35e2",
+        "America/Iqaluit|-00 EWT EPT EST EDDT EDT CST CDT|0 40 40 50 30 40 60 50|01234353535353535353535353535353535353535353567353535353535353535353535353535353535353535353535353535353535353535353535353|-16K00 7nX0 iv0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11C0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|67e2",
+        "America/Jamaica|KMT EST EDT|57.a 50 40|0121212121212121212121|-2l1uQ.O 2uM1Q.O 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0|94e4",
+        "America/Juneau|PST PWT PPT PDT YDT YST AKST AKDT|80 70 70 70 80 90 90 80|01203030303030303030303030403030356767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cM0 1cM0 1cL0 1cN0 1fz0 1a10 1fz0 co0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|33e3",
+        "America/Kentucky/Louisville|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101010102301010101010101010101010101454545454545414545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 3Fd0 Nb0 LPd0 11z0 RB0 8x30 iw0 1nX1 e0X 9vd0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 xz0 gso0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1VA0 LA0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|",
+        "America/Kentucky/Monticello|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101023010101010101010101010101010101010101010101010101010101010101010101454545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 SWp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|",
+        "America/La_Paz|CMT BST -04|4w.A 3w.A 40|012|-1x37r.o 13b0|19e5",
+        "America/Lima|LMT -05 -04|58.A 50 40|0121212121212121|-2tyGP.o 1bDzP.o zX0 1aN0 1cL0 1cN0 1cL0 1PrB0 zX0 1O10 zX0 6Gp0 zX0 98p0 zX0|11e6",
+        "America/Los_Angeles|PST PDT PWT PPT|80 70 70 70|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261q0 1nX0 11B0 1nX0 SgN0 8x10 iy0 5Wp1 1VaX 3dA0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e6",
+        "America/Maceio|LMT -03 -02|2m.Q 30 20|012121212121212121212121212121212121212121|-2glxB.8 HdLB.8 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 dMN0 Lz0 8Q10 WL0 1tB0 5z0 2mN0 On0|93e4",
+        "America/Managua|MMT CST EST CDT|5J.c 60 50 50|0121313121213131|-1quie.M 1yAMe.M 4mn0 9Up0 Dz0 1K10 Dz0 s3F0 1KH0 DB0 9In0 k8p0 19X0 1o30 11y0|22e5",
+        "America/Manaus|LMT -04 -03|40.4 40 30|01212121212121212121212121212121|-2glvX.U HdKX.U 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 dPB0 On0|19e5",
+        "America/Martinique|FFMT AST ADT|44.k 40 30|0121|-2mPTT.E 2LPbT.E 19X0|39e4",
+        "America/Matamoros|LMT CST CDT|6E 60 50|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1UQG0 2FjC0 1nX0 i6p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|45e4",
+        "America/Mazatlan|LMT MST CST PST MDT|75.E 70 60 80 60|0121212131414141414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|44e4",
+        "America/Menominee|CST CDT CWT CPT EST|60 50 50 50 50|01010230101041010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 LCN0 1fz0 6410 9Jb0 1cM0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|85e2",
+        "America/Merida|LMT CST EST CDT|5W.s 60 50 50|0121313131313131313131313131313131313131313131313131313131313131313131313131313131313131|-1UQG0 2q2o0 2hz0 wu30 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|11e5",
+        "America/Metlakatla|PST PWT PPT PDT AKST AKDT|80 70 70 70 90 80|01203030303030303030303030303030304545450454545454545454545454545454545454545454|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1hU10 Rd0 1zb0 Op0 1zb0 Op0 1zb0 uM0 jB0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|14e2",
+        "America/Mexico_City|LMT MST CST CDT CWT|6A.A 70 60 50 50|012121232324232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 gEn0 TX0 3xd0 Jb0 6zB0 SL0 e5d0 17b0 1Pff0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|20e6",
+        "America/Miquelon|LMT AST -03 -02|3I.E 40 30 20|012323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2mKkf.k 2LTAf.k gQ10 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|61e2",
+        "America/Moncton|EST AST ADT AWT APT|50 40 30 30 30|012121212121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsH0 CwN0 1in0 zAo0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1K10 Lz0 1zB0 NX0 1u10 Wn0 S20 8x50 iu0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 3Cp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14n1 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 ReX 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|64e3",
+        "America/Monterrey|LMT CST CDT|6F.g 60 50|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1UQG0 2FjC0 1nX0 i6p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|41e5",
+        "America/Montevideo|LMT MMT -04 -03 -0330 -0230 -02 -0130|3I.P 3I.P 40 30 3u 2u 20 1u|012343434343434343434343435353636353636375363636363636363636363636363636363636363636363|-2tRUf.9 sVc0 8jcf.9 1db0 1dcu 1cLu 1dcu 1cLu ircu 11zu 1o0u 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 1qMu WLu 1fAu 1cLu 1o0u 11zu NAu 3jXu zXu Dq0u 19Xu pcu jz0 cm10 19X0 6tB0 1fbu 3o0u jX0 4vB0 xz0 3Cp0 mmu 1a10 IMu Db0 4c10 uL0 1Nd0 An0 1SN0 uL0 mp0 28L0 iPB0 un0 1SN0 xz0 1zd0 Lz0 1zd0 Rb0 1zd0 On0 1wp0 Rb0 s8p0 1fB0 1ip0 11z0 1ld0 14n0 1o10 11z0 1o10 11z0 1o10 14n0 1ld0 14n0 1ld0 14n0 1o10 11z0 1o10 11z0 1o10 11z0|17e5",
+        "America/Toronto|EST EDT EWT EPT|50 40 40 40|01010101010101010101010101010101010101010101012301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TR0 1in0 11Wu 1nzu 1fD0 WJ0 1wr0 Nb0 1Ap0 On0 1zd0 On0 1wp0 TX0 1tB0 TX0 1tB0 TX0 1tB0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 4kM0 8x40 iv0 1o10 11z0 1nX0 11z0 1o10 11z0 1o10 1qL0 11D0 1nX0 11B0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|65e5",
+        "America/Nassau|LMT EST EWT EPT EDT|59.u 50 40 40 40|01212314141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141|-2kNuO.u 1drbO.u 6tX0 cp0 1hS0 pF0 J630 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|24e4",
+        "America/New_York|EST EDT EWT EPT|50 40 40 40|01010101010101010101010101010101010101010101010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261t0 1nX0 11B0 1nX0 11B0 1qL0 1a10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 RB0 8x40 iv0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e6",
+        "America/Nipigon|EST EDT EWT EPT|50 40 40 40|010123010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TR0 1in0 Rnb0 3je0 8x40 iv0 19yN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|16e2",
+        "America/Nome|NST NWT NPT BST BDT YST AKST AKDT|b0 a0 a0 b0 a0 90 90 80|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17SX0 8wW0 iB0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cl0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|38e2",
+        "America/Noronha|LMT -02 -01|29.E 20 10|0121212121212121212121212121212121212121|-2glxO.k HdKO.k 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 2L0 2pB0 On0|30e2",
+        "America/North_Dakota/Beulah|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101014545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|",
+        "America/North_Dakota/Center|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101014545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14o0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|",
+        "America/North_Dakota/New_Salem|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101454545454545454545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14o0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|",
+        "America/Ojinaga|LMT MST CST CDT MDT|6V.E 70 60 50 60|0121212323241414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 2zQN0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e3",
+        "America/Pangnirtung|-00 AST AWT APT ADDT ADT EDT EST CST CDT|0 40 30 30 20 30 40 50 60 50|012314151515151515151515151515151515167676767689767676767676767676767676767676767676767676767676767676767676767676767676767|-1XiM0 PnG0 8x50 iu0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1o00 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11C0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|14e2",
+        "America/Paramaribo|LMT PMT PMT -0330 -03|3E.E 3E.Q 3E.A 3u 30|01234|-2nDUj.k Wqo0.c qanX.I 1yVXN.o|24e4",
+        "America/Phoenix|MST MDT MWT|70 60 60|01010202010|-261r0 1nX0 11B0 1nX0 SgN0 4Al1 Ap0 1db0 SWqX 1cL0|42e5",
+        "America/Port-au-Prince|PPMT EST EDT|4N 50 40|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-28RHb 2FnMb 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14q0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 i6n0 1nX0 11B0 1nX0 d430 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 3iN0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e5",
+        "America/Rio_Branco|LMT -05 -04|4v.c 50 40|01212121212121212121212121212121|-2glvs.M HdLs.M 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 NBd0 d5X0|31e4",
+        "America/Porto_Velho|LMT -04 -03|4f.A 40 30|012121212121212121212121212121|-2glvI.o HdKI.o 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0|37e4",
+        "America/Puerto_Rico|AST AWT APT|40 30 30|0120|-17lU0 7XT0 iu0|24e5",
+        "America/Punta_Arenas|SMT -05 -04 -03|4G.K 50 40 30|0102021212121212121232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-2q2jh.e fJAh.e 5knG.K 1Vzh.e jRAG.K 1pbh.e 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 nHX0 op0 blz0 ko0 Qeo0 WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0|",
+        "America/Rainy_River|CST CDT CWT CPT|60 50 50 50|010123010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TQ0 1in0 Rnb0 3je0 8x30 iw0 19yN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|842",
+        "America/Rankin_Inlet|-00 CST CDDT CDT EST|0 60 40 50 50|012131313131313131313131313131313131313131313431313131313131313131313131313131313131313131313131313131313131313131313131|-vDc0 keu0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e2",
+        "America/Recife|LMT -03 -02|2j.A 30 20|0121212121212121212121212121212121212121|-2glxE.o HdLE.o 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 2L0 2pB0 On0|33e5",
+        "America/Regina|LMT MST MDT MWT MPT CST|6W.A 70 60 60 60 60|012121212121212121212121341212121212121212121212121215|-2AD51.o uHe1.o 1in0 s2L0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 66N0 1cL0 1cN0 19X0 1fB0 1cL0 1fB0 1cL0 1cN0 1cL0 M30 8x20 ix0 1ip0 1cL0 1ip0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 3NB0 1cL0 1cN0|19e4",
+        "America/Resolute|-00 CST CDDT CDT EST|0 60 40 50 50|012131313131313131313131313131313131313131313431313131313431313131313131313131313131313131313131313131313131313131313131|-SnA0 GWS0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|229",
+        "America/Santarem|LMT -04 -03|3C.M 40 30|0121212121212121212121212121212|-2glwl.c HdLl.c 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 NBd0|21e4",
+        "America/Santiago|SMT -05 -04 -03|4G.K 50 40 30|010202121212121212321232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-2q2jh.e fJAh.e 5knG.K 1Vzh.e jRAG.K 1pbh.e 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 nHX0 op0 9Bz0 jb0 1oN0 ko0 Qeo0 WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1zb0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0|62e5",
+        "America/Santo_Domingo|SDMT EST EDT -0430 AST|4E 50 40 4u 40|01213131313131414|-1ttjk 1lJMk Mn0 6sp0 Lbu 1Cou yLu 1RAu wLu 1QMu xzu 1Q0u xXu 1PAu 13jB0 e00|29e5",
+        "America/Sao_Paulo|LMT -03 -02|36.s 30 20|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2glwR.w HdKR.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 pTd0 PX0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 1C10 Lz0 1Ip0 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0|20e6",
+        "America/Scoresbysund|LMT -02 -01 +00|1r.Q 20 10 0|0121323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2a5Ww.8 2z5ew.8 1a00 1cK0 1cL0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|452",
+        "America/Sitka|PST PWT PPT PDT YST AKST AKDT|80 70 70 70 90 90 80|01203030303030303030303030303030345656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 co0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|90e2",
+        "America/St_Johns|NST NDT NST NDT NWT NPT NDDT|3u.Q 2u.Q 3u 2u 2u 2u 1u|01010101010101010101010101010101010102323232323232324523232323232323232323232323232323232323232323232323232323232323232323232323232323232326232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-28oit.8 14L0 1nB0 1in0 1gm0 Dz0 1JB0 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 1cL0 1fB0 19X0 1fB0 19X0 10O0 eKX.8 19X0 1iq0 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 WL0 1qN0 WL0 1qN0 7UHu itu 1tB0 WL0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1tB0 WL0 1ld0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14n1 1lb0 14p0 1nW0 11C0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zcX Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|11e4",
+        "America/Swift_Current|LMT MST MDT MWT MPT CST|7b.k 70 60 60 60 60|012134121212121212121215|-2AD4M.E uHdM.E 1in0 UGp0 8x20 ix0 1o10 17b0 1ip0 11z0 1o10 11z0 1o10 11z0 isN0 1cL0 3Cp0 1cL0 1cN0 11z0 1qN0 WL0 pMp0|16e3",
+        "America/Tegucigalpa|LMT CST CDT|5M.Q 60 50|01212121|-1WGGb.8 2ETcb.8 WL0 1qN0 WL0 GRd0 AL0|11e5",
+        "America/Thule|LMT AST ADT|4z.8 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a5To.Q 31NBo.Q 1cL0 1cN0 1cL0 1fB0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|656",
+        "America/Thunder_Bay|CST EST EWT EPT EDT|60 50 40 40 40|0123141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141|-2q5S0 1iaN0 8x40 iv0 XNB0 1cL0 1cN0 1fz0 1cN0 1cL0 3Cp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|11e4",
+        "America/Vancouver|PST PDT PWT PPT|80 70 70 70|0102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TO0 1in0 UGp0 8x10 iy0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e5",
+        "America/Whitehorse|YST YDT YWT YPT YDDT PST PDT MST|90 80 80 80 70 80 70 70|010102304056565656565656565656565656565656565656565656565656565656565656565656565656565656567|-25TN0 1in0 1o10 13V0 Ser0 8x00 iz0 LCL0 1fA0 3NA0 vrd0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1z90|23e3",
+        "America/Winnipeg|CST CDT CWT CPT|60 50 50 50|010101023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aIi0 WL0 3ND0 1in0 Jap0 Rb0 aCN0 8x30 iw0 1tB0 11z0 1ip0 11z0 1o10 11z0 1o10 11z0 1rd0 10L0 1op0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 1cL0 1cN0 11z0 6i10 WL0 6i10 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|66e4",
+        "America/Yakutat|YST YWT YPT YDT AKST AKDT|90 80 80 80 90 80|01203030303030303030303030303030304545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-17T10 8x00 iz0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cn0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|642",
+        "America/Yellowknife|-00 MST MWT MPT MDDT MDT|0 70 60 60 50 60|012314151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151|-1pdA0 hix0 8x20 ix0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|19e3",
+        "Antarctica/Casey|-00 +08 +11|0 -80 -b0|0121212121212|-2q00 1DjS0 T90 40P0 KL0 blz0 3m10 1o30 14k0 1kr0 12l0 1o01|10",
+        "Antarctica/Davis|-00 +07 +05|0 -70 -50|01012121|-vyo0 iXt0 alj0 1D7v0 VB0 3Wn0 KN0|70",
+        "Antarctica/DumontDUrville|-00 +10|0 -a0|0101|-U0o0 cfq0 bFm0|80",
+        "Antarctica/Macquarie|AEST AEDT -00|-a0 -b0 0|010201010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-29E80 1a00 4SK0 1ayy0 Lvs0 1cM0 1o00 Rc0 1wo0 Rc0 1wo0 U00 1wo0 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 3Co0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|1",
+        "Antarctica/Mawson|-00 +06 +05|0 -60 -50|012|-CEo0 2fyk0|60",
+        "Pacific/Auckland|NZMT NZST NZST NZDT|-bu -cu -c0 -d0|01020202020202020202020202023232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-1GCVu Lz0 1tB0 11zu 1o0u 11zu 1o0u 11zu 1o0u 14nu 1lcu 14nu 1lcu 1lbu 11Au 1nXu 11Au 1nXu 11Au 1nXu 11Au 1nXu 11Au 1qLu WMu 1qLu 11Au 1n1bu IM0 1C00 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1qM0 14o0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1io0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|14e5",
+        "Antarctica/Palmer|-00 -03 -04 -02|0 30 40 20|0121212121213121212121212121212121212121212121212121212121212121212121212121212121|-cao0 nD0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 jsN0 14N0 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0|40",
+        "Antarctica/Rothera|-00 -03|0 30|01|gOo0|130",
+        "Antarctica/Syowa|-00 +03|0 -30|01|-vs00|20",
+        "Antarctica/Troll|-00 +00 +02|0 0 -20|01212121212121212121212121212121212121212121212121212121212121212121|1puo0 hd0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|40",
+        "Antarctica/Vostok|-00 +06|0 -60|01|-tjA0|25",
+        "Europe/Oslo|CET CEST|-10 -20|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2awM0 Qm0 W6o0 5pf0 WM0 1fA0 1cM0 1cM0 1cM0 1cM0 wJc0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1qM0 WM0 zpc0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|62e4",
+        "Asia/Riyadh|LMT +03|-36.Q -30|01|-TvD6.Q|57e5",
+        "Asia/Almaty|LMT +05 +06 +07|-57.M -50 -60 -70|012323232323232323232321232323232323232323232323232|-1Pc57.M eUo7.M 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0|15e5",
+        "Asia/Amman|LMT EET EEST|-2n.I -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1yW2n.I 1HiMn.I KL0 1oN0 11b0 1oN0 11b0 1pd0 1dz0 1cp0 11b0 1op0 11b0 fO10 1db0 1e10 1cL0 1cN0 1cL0 1cN0 1fz0 1pd0 10n0 1ld0 14n0 1hB0 15b0 1ip0 19X0 1cN0 1cL0 1cN0 17b0 1ld0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1So0 y00 1fc0 1dc0 1co0 1dc0 1cM0 1cM0 1cM0 1o00 11A0 1lc0 17c0 1cM0 1cM0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 4bX0 Dd0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|25e5",
+        "Asia/Anadyr|LMT +12 +13 +14 +11|-bN.U -c0 -d0 -e0 -b0|01232121212121212121214121212121212121212121212121212121212141|-1PcbN.U eUnN.U 23CL0 1db0 2q10 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|13e3",
+        "Asia/Aqtau|LMT +04 +05 +06|-3l.4 -40 -50 -60|012323232323232323232123232312121212121212121212|-1Pc3l.4 eUnl.4 24PX0 2pX0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|15e4",
+        "Asia/Aqtobe|LMT +04 +05 +06|-3M.E -40 -50 -60|0123232323232323232321232323232323232323232323232|-1Pc3M.E eUnM.E 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0|27e4",
+        "Asia/Ashgabat|LMT +04 +05 +06|-3R.w -40 -50 -60|0123232323232323232323212|-1Pc3R.w eUnR.w 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0|41e4",
+        "Asia/Atyrau|LMT +03 +05 +06 +04|-3r.I -30 -50 -60 -40|01232323232323232323242323232323232324242424242|-1Pc3r.I eUor.I 24PW0 2pX0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 2sp0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|",
+        "Asia/Baghdad|BMT +03 +04|-2V.A -30 -40|012121212121212121212121212121212121212121212121212121|-26BeV.A 2ACnV.A 11b0 1cp0 1dz0 1dd0 1db0 1cN0 1cp0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1de0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0|66e5",
+        "Asia/Qatar|LMT +04 +03|-3q.8 -40 -30|012|-21Jfq.8 27BXq.8|96e4",
+        "Asia/Baku|LMT +03 +04 +05|-3j.o -30 -40 -50|01232323232323232323232123232323232323232323232323232323232323232|-1Pc3j.o 1jUoj.o WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cM0 9Je0 1o00 11z0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|27e5",
+        "Asia/Bangkok|BMT +07|-6G.4 -70|01|-218SG.4|15e6",
+        "Asia/Barnaul|LMT +06 +07 +08|-5z -60 -70 -80|0123232323232323232323212323232321212121212121212121212121212121212|-21S5z pCnz 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 p90 LE0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|",
+        "Asia/Beirut|EET EEST|-20 -30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-21aq0 1on0 1410 1db0 19B0 1in0 1ip0 WL0 1lQp0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 q6N0 En0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1op0 11b0 dA10 17b0 1iN0 17b0 1iN0 17b0 1iN0 17b0 1vB0 SL0 1mp0 13z0 1iN0 17b0 1iN0 17b0 1jd0 12n0 1a10 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0|22e5",
+        "Asia/Bishkek|LMT +05 +06 +07|-4W.o -50 -60 -70|012323232323232323232321212121212121212121212121212|-1Pc4W.o eUnW.o 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2e00 1tX0 17b0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1cPu 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0|87e4",
+        "Asia/Brunei|LMT +0730 +08|-7D.E -7u -80|012|-1KITD.E gDc9.E|42e4",
+        "Asia/Kolkata|MMT IST +0630|-5l.a -5u -6u|012121|-2zOtl.a 1r2LP.a 1un0 HB0 7zX0|15e6",
+        "Asia/Chita|LMT +08 +09 +10|-7x.Q -80 -90 -a0|012323232323232323232321232323232323232323232323232323232323232312|-21Q7x.Q pAnx.Q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3re0|33e4",
+        "Asia/Choibalsan|LMT +07 +08 +10 +09|-7C -70 -80 -a0 -90|0123434343434343434343434343434343434343434343424242|-2APHC 2UkoC cKn0 1da0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 3Db0 h1f0 1cJ0 1cP0 1cJ0|38e3",
+        "Asia/Shanghai|CST CDT|-80 -90|01010101010101010101010101010|-23uw0 18n0 OjB0 Rz0 11d0 1wL0 A10 8HX0 1G10 Tz0 1ip0 1jX0 1cN0 11b0 1oN0 aL0 1tU30 Rb0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0|23e6",
+        "Asia/Colombo|MMT +0530 +06 +0630|-5j.w -5u -60 -6u|01231321|-2zOtj.w 1rFbN.w 1zzu 7Apu 23dz0 11zu n3cu|22e5",
+        "Asia/Dhaka|HMT +0630 +0530 +06 +07|-5R.k -6u -5u -60 -70|0121343|-18LFR.k 1unn.k HB0 m6n0 2kxbu 1i00|16e6",
+        "Asia/Damascus|LMT EET EEST|-2p.c -20 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-21Jep.c Hep.c 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1xRB0 11X0 1oN0 10L0 1pB0 11b0 1oN0 10L0 1mp0 13X0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 Nb0 1AN0 Nb0 bcp0 19X0 1gp0 19X0 3ld0 1xX0 Vd0 1Bz0 Sp0 1vX0 10p0 1dz0 1cN0 1cL0 1db0 1db0 1g10 1an0 1ap0 1db0 1fd0 1db0 1cN0 1db0 1dd0 1db0 1cp0 1dz0 1c10 1dX0 1cN0 1db0 1dd0 1db0 1cN0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1db0 1cN0 1db0 1cN0 19z0 1fB0 1qL0 11B0 1on0 Wp0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0|26e5",
+        "Asia/Dili|LMT +08 +09|-8m.k -80 -90|01212|-2le8m.k 1dnXm.k 1nfA0 Xld0|19e4",
+        "Asia/Dubai|LMT +04|-3F.c -40|01|-21JfF.c|39e5",
+        "Asia/Dushanbe|LMT +05 +06 +07|-4z.c -50 -60 -70|012323232323232323232321|-1Pc4z.c eUnz.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2hB0|76e4",
+        "Asia/Famagusta|LMT EET EEST +03|-2f.M -20 -30 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212312121212121212121212121212121212121212121|-1Vc2f.M 2a3cf.M 1cL0 1qp0 Xz0 19B0 19X0 1fB0 1db0 1cp0 1cL0 1fB0 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1o30 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 15U0 2Ks0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|",
+        "Asia/Gaza|EET EEST IST IDT|-20 -30 -20 -30|010101010101010101010101010101010123232323232323232323232323232320101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1c2o0 MM0 iM0 4JA0 10o0 1pA0 10M0 1pA0 16o0 1jA0 16o0 1jA0 pBa0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 dW0 hfB0 Db0 1fB0 Rb0 bXB0 gM0 8Q00 IM0 1wo0 TX0 1HB0 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 M10 C00 17c0 1io0 17c0 1io0 17c0 1o00 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 17c0 1io0 18N0 1bz0 19z0 1gp0 1610 1iL0 11z0 1o10 14o0 1lA1 SKX 1xd1 MKX 1AN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nA0 1210 1qL0 WN0 1qL0 WN0 1qL0 11c0 1on0 11B0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|18e5",
+        "Asia/Hebron|EET EEST IST IDT|-20 -30 -20 -30|01010101010101010101010101010101012323232323232323232323232323232010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1c2o0 MM0 iM0 4JA0 10o0 1pA0 10M0 1pA0 16o0 1jA0 16o0 1jA0 pBa0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 dW0 hfB0 Db0 1fB0 Rb0 bXB0 gM0 8Q00 IM0 1wo0 TX0 1HB0 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 M10 C00 17c0 1io0 17c0 1io0 17c0 1o00 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 17c0 1io0 18N0 1bz0 19z0 1gp0 1610 1iL0 12L0 1mN0 14o0 1lc0 Tb0 1xd1 MKX bB0 cn0 1cN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nA0 1210 1qL0 WN0 1qL0 WN0 1qL0 11c0 1on0 11B0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|25e4",
+        "Asia/Ho_Chi_Minh|LMT PLMT +07 +08 +09|-76.E -76.u -70 -80 -90|0123423232|-2yC76.E bK00.a 1h7b6.u 5lz0 18o0 3Oq0 k5b0 aW00 BAM0|90e5",
+        "Asia/Hong_Kong|LMT HKT HKST HKWT JST|-7A.G -80 -90 -8u -90|0123412121212121212121212121212121212121212121212121212121212121212121|-2CFH0 1taO0 Hc0 xUu 9tBu 11z0 1tDu Rc0 1wo0 11A0 1cM0 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1nX0 U10 1tz0 U10 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 Rd0 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 17d0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1cL0 6fd0 14n0|73e5",
+        "Asia/Hovd|LMT +06 +07 +08|-66.A -60 -70 -80|012323232323232323232323232323232323232323232323232|-2APG6.A 2Uko6.A cKn0 1db0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 kEp0 1cJ0 1cP0 1cJ0|81e3",
+        "Asia/Irkutsk|IMT +07 +08 +09|-6V.5 -70 -80 -90|01232323232323232323232123232323232323232323232323232323232323232|-21zGV.5 pjXV.5 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|60e4",
+        "Europe/Istanbul|IMT EET EEST +03 +04|-1U.U -20 -30 -30 -40|0121212121212121212121212121212121212121212121234312121212121212121212121212121212121212121212121212121212121212123|-2ogNU.U dzzU.U 11b0 8tB0 1on0 1410 1db0 19B0 1in0 3Rd0 Un0 1oN0 11b0 zSN0 CL0 mp0 1Vz0 1gN0 8yn0 1yp0 ML0 1kp0 17b0 1ip0 17b0 1fB0 19X0 1ip0 19X0 1ip0 17b0 qdB0 38L0 1jd0 Tz0 l6O0 11A0 WN0 1qL0 TB0 1tX0 U10 1tz0 11B0 1in0 17d0 z90 cne0 pb0 2Cp0 1800 14o0 1dc0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1a00 1fA0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WO0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 Xc0 1qo0 WM0 1qM0 11A0 1o00 1200 1nA0 11A0 1tA0 U00 15w0|13e6",
+        "Asia/Jakarta|BMT +0720 +0730 +09 +08 WIB|-77.c -7k -7u -90 -80 -70|01232425|-1Q0Tk luM0 mPzO 8vWu 6kpu 4PXu xhcu|31e6",
+        "Asia/Jayapura|LMT +09 +0930 WIT|-9m.M -90 -9u -90|0123|-1uu9m.M sMMm.M L4nu|26e4",
+        "Asia/Jerusalem|JMT IST IDT IDDT|-2k.E -20 -30 -40|01212121212121321212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-26Bek.E SyOk.E MM0 iM0 4JA0 10o0 1pA0 10M0 1pA0 16o0 1jA0 16o0 1jA0 3LA0 Eo0 oo0 1co0 1dA0 16o0 10M0 1jc0 1tA0 14o0 1cM0 1a00 11A0 1Nc0 Ao0 1Nc0 Ao0 1Ko0 LA0 1o00 WM0 EQK0 Db0 1fB0 Rb0 bXB0 gM0 8Q00 IM0 1wo0 TX0 1HB0 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 1hB0 1dX0 1ep0 1aL0 1eN0 17X0 1nf0 11z0 1tB0 19W0 1e10 17b0 1ep0 1gL0 18N0 1fz0 1eN0 17b0 1gq0 1gn0 19d0 1dz0 1c10 17X0 1hB0 1gn0 19d0 1dz0 1c10 17X0 1kp0 1dz0 1c10 1aL0 1eN0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0|81e4",
+        "Asia/Kabul|+04 +0430|-40 -4u|01|-10Qs0|46e5",
+        "Asia/Kamchatka|LMT +11 +12 +13|-ay.A -b0 -c0 -d0|012323232323232323232321232323232323232323232323232323232323212|-1SLKy.A ivXy.A 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|18e4",
+        "Asia/Karachi|LMT +0530 +0630 +05 PKT PKST|-4s.c -5u -6u -50 -50 -60|012134545454|-2xoss.c 1qOKW.c 7zX0 eup0 LqMu 1fy00 1cL0 dK10 11b0 1610 1jX0|24e6",
+        "Asia/Urumqi|LMT +06|-5O.k -60|01|-1GgtO.k|32e5",
+        "Asia/Kathmandu|LMT +0530 +0545|-5F.g -5u -5J|012|-21JhF.g 2EGMb.g|12e5",
+        "Asia/Khandyga|LMT +08 +09 +10 +11|-92.d -80 -90 -a0 -b0|0123232323232323232323212323232323232323232323232343434343434343432|-21Q92.d pAp2.d 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 qK0 yN0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 17V0 7zD0|66e2",
+        "Asia/Krasnoyarsk|LMT +06 +07 +08|-6b.q -60 -70 -80|01232323232323232323232123232323232323232323232323232323232323232|-21Hib.q prAb.q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|10e5",
+        "Asia/Kuala_Lumpur|SMT +07 +0720 +0730 +09 +08|-6T.p -70 -7k -7u -90 -80|0123435|-2Bg6T.p 17anT.p l5XE 17bO 8Fyu 1so1u|71e5",
+        "Asia/Kuching|LMT +0730 +08 +0820 +09|-7l.k -7u -80 -8k -90|0123232323232323242|-1KITl.k gDbP.k 6ynu AnE 1O0k AnE 1NAk AnE 1NAk AnE 1NAk AnE 1O0k AnE 1NAk AnE pAk 8Fz0|13e4",
+        "Asia/Macau|LMT CST +09 +10 CDT|-7y.a -80 -90 -a0 -90|012323214141414141414141414141414141414141414141414141414141414141414141|-2CFHy.a 1uqKy.a PX0 1kn0 15B0 11b0 4Qq0 1oM0 11c0 1ko0 1u00 11A0 1cM0 11c0 1o00 11A0 1o00 11A0 1oo0 1400 1o00 11A0 1o00 U00 1tA0 U00 1wo0 Rc0 1wru U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 Rd0 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 17d0 1cK0 1cO0 1cK0 1cO0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1cL0 6fd0 14n0|57e4",
+        "Asia/Magadan|LMT +10 +11 +12|-a3.c -a0 -b0 -c0|012323232323232323232321232323232323232323232323232323232323232312|-1Pca3.c eUo3.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3Cq0|95e3",
+        "Asia/Makassar|LMT MMT +08 +09 WITA|-7V.A -7V.A -80 -90 -80|01234|-21JjV.A vfc0 myLV.A 8ML0|15e5",
+        "Asia/Manila|PST PDT JST|-80 -90 -90|010201010|-1kJI0 AL0 cK10 65X0 mXB0 vX0 VK10 1db0|24e6",
+        "Asia/Nicosia|LMT EET EEST|-2d.s -20 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1Vc2d.s 2a3cd.s 1cL0 1qp0 Xz0 19B0 19X0 1fB0 1db0 1cp0 1cL0 1fB0 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1o30 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|32e4",
+        "Asia/Novokuznetsk|LMT +06 +07 +08|-5M.M -60 -70 -80|012323232323232323232321232323232323232323232323232323232323212|-1PctM.M eULM.M 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|55e4",
+        "Asia/Novosibirsk|LMT +06 +07 +08|-5v.E -60 -70 -80|0123232323232323232323212323212121212121212121212121212121212121212|-21Qnv.E pAFv.E 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 ml0 Os0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 4eN0|15e5",
+        "Asia/Omsk|LMT +05 +06 +07|-4R.u -50 -60 -70|01232323232323232323232123232323232323232323232323232323232323232|-224sR.u pMLR.u 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|12e5",
+        "Asia/Oral|LMT +03 +05 +06 +04|-3p.o -30 -50 -60 -40|01232323232323232424242424242424242424242424242|-1Pc3p.o eUop.o 23CK0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 1cM0 IM0 1EM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|27e4",
+        "Asia/Pontianak|LMT PMT +0730 +09 +08 WITA WIB|-7h.k -7h.k -7u -90 -80 -80 -70|012324256|-2ua7h.k XE00 munL.k 8Rau 6kpu 4PXu xhcu Wqnu|23e4",
+        "Asia/Pyongyang|LMT KST JST KST|-8n -8u -90 -90|012313|-2um8n 97XR 1lTzu 2Onc0 6BA0|29e5",
+        "Asia/Qostanay|LMT +04 +05 +06|-4e.s -40 -50 -60|012323232323232323232123232323232323232323232323|-1Pc4e.s eUoe.s 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|",
+        "Asia/Qyzylorda|LMT +04 +05 +06|-4l.Q -40 -50 -60|01232323232323232323232323232323232323232323232|-1Pc4l.Q eUol.Q 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 3ao0 1EM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 zQl0|73e4",
+        "Asia/Rangoon|RMT +0630 +09|-6o.L -6u -90|0121|-21Jio.L SmnS.L 7j9u|48e5",
+        "Asia/Sakhalin|LMT +09 +11 +12 +10|-9u.M -90 -b0 -c0 -a0|01232323232323232323232423232323232424242424242424242424242424242|-2AGVu.M 1BoMu.M 1qFa0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 2pB0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|58e4",
+        "Asia/Samarkand|LMT +04 +05 +06|-4r.R -40 -50 -60|01232323232323232323232|-1Pc4r.R eUor.R 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0|36e4",
+        "Asia/Seoul|LMT KST JST KST KDT KDT|-8r.Q -8u -90 -90 -a0 -9u|012343434343151515151515134343|-2um8r.Q 97XV.Q 1m1zu 6CM0 Fz0 1kN0 14n0 1kN0 14L0 1zd0 On0 69B0 2I0u OL0 1FB0 Rb0 1qN0 TX0 1tB0 TX0 1tB0 TX0 1tB0 TX0 2ap0 12FBu 11A0 1o00 11A0|23e6",
+        "Asia/Srednekolymsk|LMT +10 +11 +12|-ae.Q -a0 -b0 -c0|01232323232323232323232123232323232323232323232323232323232323232|-1Pcae.Q eUoe.Q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|35e2",
+        "Asia/Taipei|CST JST CDT|-80 -90 -90|01020202020202020202020202020202020202020|-1iw80 joM0 1yo0 Tz0 1ip0 1jX0 1cN0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 10N0 1BX0 10p0 1pz0 10p0 1pz0 10p0 1db0 1dd0 1db0 1cN0 1db0 1cN0 1db0 1cN0 1db0 1BB0 ML0 1Bd0 ML0 uq10 1db0 1cN0 1db0 97B0 AL0|74e5",
+        "Asia/Tashkent|LMT +05 +06 +07|-4B.b -50 -60 -70|012323232323232323232321|-1Pc4B.b eUnB.b 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0|23e5",
+        "Asia/Tbilisi|TBMT +03 +04 +05|-2X.b -30 -40 -50|0123232323232323232323212121232323232323232323212|-1Pc2X.b 1jUnX.b WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cK0 1cL0 1cN0 1cL0 1cN0 2pz0 1cL0 1fB0 3Nz0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 An0 Os0 WM0|11e5",
+        "Asia/Tehran|LMT TMT +0330 +04 +05 +0430|-3p.I -3p.I -3u -40 -50 -4u|01234325252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-2btDp.I 1d3c0 1huLT.I TXu 1pz0 sN0 vAu 1cL0 1dB0 1en0 pNB0 UL0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 64p0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0|14e6",
+        "Asia/Thimphu|LMT +0530 +06|-5W.A -5u -60|012|-Su5W.A 1BGMs.A|79e3",
+        "Asia/Tokyo|JST JDT|-90 -a0|010101010|-QJJ0 Rc0 1lc0 14o0 1zc0 Oo0 1zc0 Oo0|38e6",
+        "Asia/Tomsk|LMT +06 +07 +08|-5D.P -60 -70 -80|0123232323232323232323212323232323232323232323212121212121212121212|-21NhD.P pxzD.P 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 co0 1bB0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3Qp0|10e5",
+        "Asia/Ulaanbaatar|LMT +07 +08 +09|-77.w -70 -80 -90|012323232323232323232323232323232323232323232323232|-2APH7.w 2Uko7.w cKn0 1db0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 kEp0 1cJ0 1cP0 1cJ0|12e5",
+        "Asia/Ust-Nera|LMT +08 +09 +12 +11 +10|-9w.S -80 -90 -c0 -b0 -a0|012343434343434343434345434343434343434343434343434343434343434345|-21Q9w.S pApw.S 23CL0 1d90 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 17V0 7zD0|65e2",
+        "Asia/Vladivostok|LMT +09 +10 +11|-8L.v -90 -a0 -b0|01232323232323232323232123232323232323232323232323232323232323232|-1SJIL.v itXL.v 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|60e4",
+        "Asia/Yakutsk|LMT +08 +09 +10|-8C.W -80 -90 -a0|01232323232323232323232123232323232323232323232323232323232323232|-21Q8C.W pAoC.W 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|28e4",
+        "Asia/Yekaterinburg|LMT PMT +04 +05 +06|-42.x -3J.5 -40 -50 -60|012343434343434343434343234343434343434343434343434343434343434343|-2ag42.x 7mQh.s qBvJ.5 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|14e5",
+        "Asia/Yerevan|LMT +03 +04 +05|-2W -30 -40 -50|0123232323232323232323212121212323232323232323232323232323232|-1Pc2W 1jUnW WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 4RX0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|13e5",
+        "Atlantic/Azores|HMT -02 -01 +00 WET|1S.w 20 10 0 0|01212121212121212121212121212121212121212121232123212321232121212121212121212121212121212121212121232323232323232323232323232323234323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2ldW0 aPX0 Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 qIl0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cL0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|25e4",
+        "Atlantic/Bermuda|BMT BST AST ADT|4j.i 3j.i 40 30|010102323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-28p7E.G 1bb0 1i10 11X0 ru30 thbE.G 1PX0 11B0 1tz0 Rd0 1zb0 Op0 1zb0 3I10 Lz0 1EN0 FX0 1HB0 FX0 1Kp0 Db0 1Kp0 Db0 1Kp0 FX0 93d0 11z0 GAp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|65e3",
+        "Atlantic/Canary|LMT -01 WET WEST|11.A 10 0 -10|01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UtaW.o XPAW.o 1lAK0 1a10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|54e4",
+        "Atlantic/Cape_Verde|LMT -02 -01|1y.4 20 10|01212|-2ldW0 1eEo0 7zX0 1djf0|50e4",
+        "Atlantic/Faroe|LMT WET WEST|r.4 0 -10|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2uSnw.U 2Wgow.U 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|49e3",
+        "Atlantic/Madeira|FMT -01 +00 +01 WET WEST|17.A 10 0 -10 0 -10|01212121212121212121212121212121212121212121232123212321232121212121212121212121212121212121212121454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-2ldX0 aPX0 Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 qIl0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|27e4",
+        "Atlantic/Reykjavik|LMT -01 +00 GMT|1s 10 0 0|012121212121212121212121212121212121212121212121212121212121212121213|-2uWmw mfaw 1Bd0 ML0 1LB0 Cn0 1LB0 3fX0 C10 HrX0 1cO0 LB0 1EL0 LA0 1C00 Oo0 1wo0 Rc0 1wo0 Rc0 1wo0 Rc0 1zc0 Oo0 1zc0 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0|12e4",
+        "Atlantic/South_Georgia|-02|20|0||30",
+        "Atlantic/Stanley|SMT -04 -03 -02|3P.o 40 30 20|012121212121212323212121212121212121212121212121212121212121212121212|-2kJw8.A 12bA8.A 19X0 1fB0 19X0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 Cn0 1Cc10 WL0 1qL0 U10 1tz0 2mN0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1tz0 U10 1tz0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1tz0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qN0 U10 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 U10 1tz0 U10 1tz0 U10|21e2",
+        "Australia/Sydney|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293k0 xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00 17c00 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 14o0 1o00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 11A0 1o00 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|40e5",
+        "Australia/Adelaide|ACST ACDT|-9u -au|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293ju xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00 17c00 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 Oo0 1zc0 WM0 1qM0 Rc0 1zc0 U00 1tA0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|11e5",
+        "Australia/Brisbane|AEST AEDT|-a0 -b0|01010101010101010|-293k0 xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00 17c00 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0|20e5",
+        "Australia/Broken_Hill|ACST ACDT|-9u -au|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293ju xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00 17c00 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 14o0 1o00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|18e3",
+        "Australia/Hobart|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-29E80 1a00 1qM0 Oo0 1zc0 Oo0 TAo0 yM0 1cM0 1cM0 1fA0 1a00 VfA0 1cM0 1o00 Rc0 1wo0 Rc0 1wo0 U00 1wo0 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|21e4",
+        "Australia/Darwin|ACST ACDT|-9u -au|010101010|-293ju xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00|12e4",
+        "Australia/Eucla|+0845 +0945|-8J -9J|0101010101010101010|-293iJ xc0 10jc0 yM0 1cM0 1cM0 1gSo0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0|368",
+        "Australia/Lord_Howe|AEST +1030 +1130 +11|-a0 -au -bu -b0|0121212121313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313|raC0 1zdu Rb0 1zd0 On0 1zd0 On0 1zd0 On0 1zd0 TXu 1qMu WLu 1tAu WLu 1tAu TXu 1tAu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu 11zu 1o0u 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 11Au 1nXu 1qMu 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 1qMu 11zu 1o0u WLu 1qMu 14nu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu|347",
+        "Australia/Lindeman|AEST AEDT|-a0 -b0|010101010101010101010|-293k0 xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00 17c00 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0|10",
+        "Australia/Melbourne|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293k0 xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00 17c00 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1qM0 11A0 1tA0 U00 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 11A0 1o00 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|39e5",
+        "Australia/Perth|AWST AWDT|-80 -90|0101010101010101010|-293i0 xc0 10jc0 yM0 1cM0 1cM0 1gSo0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0|18e5",
+        "CET|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|",
+        "Pacific/Easter|EMT -07 -06 -05|7h.s 70 60 50|012121212121212121212121212123232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-1uSgG.w 1s4IG.w WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 2pA0 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1zb0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0|30e2",
+        "CST6CDT|CST CDT CWT CPT|60 50 50 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|",
+        "EET|EET EEST|-20 -30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDB0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|",
+        "Europe/Dublin|DMT IST GMT BST IST|p.l -y.D 0 -10 -10|01232323232324242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242|-2ax9y.D Rc0 1fzy.D 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 g600 14o0 1wo0 17c0 1io0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1a00 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1tA0 IM0 90o0 U00 1tA0 U00 1tA0 U00 1tA0 U00 1tA0 WM0 1qM0 WM0 1qM0 WM0 1tA0 U00 1tA0 U00 1tA0 11z0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5",
+        "EST|EST|50|0||",
+        "EST5EDT|EST EDT EWT EPT|50 40 40 40|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261t0 1nX0 11B0 1nX0 SgN0 8x40 iv0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|",
+        "Etc/GMT-0|GMT|0|0||",
+        "Etc/GMT-1|+01|-10|0||",
+        "Pacific/Port_Moresby|+10|-a0|0||25e4",
+        "Etc/GMT-11|+11|-b0|0||",
+        "Pacific/Tarawa|+12|-c0|0||29e3",
+        "Etc/GMT-13|+13|-d0|0||",
+        "Etc/GMT-14|+14|-e0|0||",
+        "Etc/GMT-2|+02|-20|0||",
+        "Etc/GMT-3|+03|-30|0||",
+        "Etc/GMT-4|+04|-40|0||",
+        "Etc/GMT-5|+05|-50|0||",
+        "Etc/GMT-6|+06|-60|0||",
+        "Indian/Christmas|+07|-70|0||21e2",
+        "Etc/GMT-8|+08|-80|0||",
+        "Pacific/Palau|+09|-90|0||21e3",
+        "Etc/GMT+1|-01|10|0||",
+        "Etc/GMT+10|-10|a0|0||",
+        "Etc/GMT+11|-11|b0|0||",
+        "Etc/GMT+12|-12|c0|0||",
+        "Etc/GMT+3|-03|30|0||",
+        "Etc/GMT+4|-04|40|0||",
+        "Etc/GMT+5|-05|50|0||",
+        "Etc/GMT+6|-06|60|0||",
+        "Etc/GMT+7|-07|70|0||",
+        "Etc/GMT+8|-08|80|0||",
+        "Etc/GMT+9|-09|90|0||",
+        "Etc/UTC|UTC|0|0||",
+        "Europe/Amsterdam|AMT NST +0120 +0020 CEST CET|-j.w -1j.w -1k -k -20 -10|010101010101010101010101010101010101010101012323234545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545|-2aFcj.w 11b0 1iP0 11A0 1io0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1co0 1io0 1yo0 Pc0 1a00 1fA0 1Bc0 Mo0 1tc0 Uo0 1tA0 U00 1uo0 W00 1s00 VA0 1so0 Vc0 1sM0 UM0 1wo0 Rc0 1u00 Wo0 1rA0 W00 1s00 VA0 1sM0 UM0 1w00 fV0 BCX.w 1tA0 U00 1u00 Wo0 1sm0 601k WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|16e5",
+        "Europe/Andorra|WET CET CEST|0 -10 -20|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-UBA0 1xIN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|79e3",
+        "Europe/Astrakhan|LMT +03 +04 +05|-3c.c -30 -40 -50|012323232323232323212121212121212121212121212121212121212121212|-1Pcrc.c eUMc.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|10e5",
+        "Europe/Athens|AMT EET EEST CEST CET|-1y.Q -20 -30 -20 -10|012123434121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a61x.Q CNbx.Q mn0 kU10 9b0 3Es0 Xa0 1fb0 1dd0 k3X0 Nz0 SCp0 1vc0 SO0 1cM0 1a00 1ao0 1fc0 1a10 1fG0 1cg0 1dX0 1bX0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|35e5",
+        "Europe/London|GMT BST BDST|0 -10 -20|0101010101010101010101010101010101010101010101010121212121210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2axa0 Rc0 1fA0 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 2Rz0 Dc0 1zc0 Oo0 1zc0 Rc0 1wo0 17c0 1iM0 FA0 xB0 1fA0 1a00 14o0 bb0 LA0 xB0 Rc0 1wo0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1a00 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1tA0 IM0 90o0 U00 1tA0 U00 1tA0 U00 1tA0 U00 1tA0 WM0 1qM0 WM0 1qM0 WM0 1tA0 U00 1tA0 U00 1tA0 11z0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|10e6",
+        "Europe/Belgrade|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-19RC0 3IP0 WM0 1fA0 1cM0 1cM0 1rc0 Qo0 1vmo0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5",
+        "Europe/Berlin|CET CEST CEMT|-10 -20 -30|01010101010101210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 kL0 Nc0 m10 WM0 1ao0 1cp0 dX0 jz0 Dd0 1io0 17c0 1fA0 1a00 1ehA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|41e5",
+        "Europe/Prague|CET CEST GMT|-10 -20 0|01010101010101010201010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 1cM0 1qM0 11c0 mp0 xA0 mn0 17c0 1io0 17c0 1fc0 1ao0 1bNc0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|13e5",
+        "Europe/Brussels|WET CET CEST WEST|0 -10 -20 -10|0121212103030303030303030303030303030303030303030303212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2ehc0 3zX0 11c0 1iO0 11A0 1o00 11A0 my0 Ic0 1qM0 Rc0 1EM0 UM0 1u00 10o0 1io0 1io0 17c0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a30 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 y00 5Wn0 WM0 1fA0 1cM0 16M0 1iM0 16M0 1C00 Uo0 1eeo0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|21e5",
+        "Europe/Bucharest|BMT EET EEST|-1I.o -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1xApI.o 20LI.o RA0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Axc0 On0 1fA0 1a10 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cK0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cL0 1cN0 1cL0 1fB0 1nX0 11E0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|19e5",
+        "Europe/Budapest|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 1oo0 11c0 1lc0 17c0 O1V0 3Nf0 WM0 1fA0 1cM0 1cM0 1oJ0 1dd0 1020 1fX0 1cp0 1cM0 1cM0 1cM0 1fA0 1a00 bhy0 Rb0 1wr0 Rc0 1C00 LA0 1C00 LA0 SNW0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cO0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e5",
+        "Europe/Zurich|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-19Lc0 11A0 1o00 11A0 1xG10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|38e4",
+        "Europe/Chisinau|CMT BMT EET EEST CEST CET MSK MSD|-1T -1I.o -20 -30 -20 -10 -30 -40|012323232323232323234545467676767676767676767323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-26jdT wGMa.A 20LI.o RA0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 27A0 2en0 39g0 WM0 1fA0 1cM0 V90 1t7z0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 gL0 WO0 1cM0 1cM0 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1nX0 11D0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|67e4",
+        "Europe/Copenhagen|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2azC0 Tz0 VuO0 60q0 WM0 1fA0 1cM0 1cM0 1cM0 S00 1HA0 Nc0 1C00 Dc0 1Nc0 Ao0 1h5A0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5",
+        "Europe/Gibraltar|GMT BST BDST CET CEST|0 -10 -20 -10 -20|010101010101010101010101010101010101010101010101012121212121010121010101010101010101034343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-2axa0 Rc0 1fA0 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 2Rz0 Dc0 1zc0 Oo0 1zc0 Rc0 1wo0 17c0 1iM0 FA0 xB0 1fA0 1a00 14o0 bb0 LA0 xB0 Rc0 1wo0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 10Jz0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|30e3",
+        "Europe/Helsinki|HMT EET EEST|-1D.N -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1WuND.N OULD.N 1dA0 1xGq0 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5",
+        "Europe/Kaliningrad|CET CEST EET EEST MSK MSD +03|-10 -20 -20 -30 -30 -40 -30|01010101010101232454545454545454543232323232323232323232323232323232323232323262|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 390 7A0 1en0 12N0 1pbb0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|44e4",
+        "Europe/Kiev|KMT EET MSK CEST CET MSD EEST|-22.4 -20 -30 -20 -10 -40 -30|0123434252525252525252525256161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161|-1Pc22.4 eUo2.4 rnz0 2Hg0 WM0 1fA0 da0 1v4m0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 Db0 3220 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|34e5",
+        "Europe/Kirov|LMT +03 +04 +05|-3i.M -30 -40 -50|01232323232323232321212121212121212121212121212121212121212121|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|48e4",
+        "Europe/Lisbon|LMT WET WEST WEMT CET CEST|A.J 0 -10 -20 -10 -20|012121212121212121212121212121212121212121212321232123212321212121212121212121212121212121212121214121212121212121212121212121212124545454212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2le00 aPX0 Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 pvy0 1cM0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|27e5",
+        "Europe/Luxembourg|LMT CET CEST WET WEST WEST WET|-o.A -10 -20 0 -10 -20 -10|0121212134343434343434343434343434343434343434343434565651212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2DG0o.A t6mo.A TB0 1nX0 Up0 1o20 11A0 rW0 CM0 1qP0 R90 1EO0 UK0 1u20 10m0 1ip0 1in0 17e0 19W0 1fB0 1db0 1cp0 1in0 17d0 1fz0 1a10 1in0 1a10 1in0 17f0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 vA0 60L0 WM0 1fA0 1cM0 17c0 1io0 16M0 1C00 Uo0 1eeo0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|54e4",
+        "Europe/Madrid|WET WEST WEMT CET CEST|0 -10 -20 -10 -20|010101010101010101210343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-25Td0 19B0 1cL0 1dd0 b1z0 18p0 3HX0 17d0 1fz0 1a10 1io0 1a00 1in0 17d0 iIn0 Hd0 1cL0 bb0 1200 2s20 14n0 5aL0 Mp0 1vz0 17d0 1in0 17d0 1in0 17d0 1in0 17d0 6hX0 11B0 XHX0 1a10 1fz0 1a10 19X0 1cN0 1fz0 1a10 1fC0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|62e5",
+        "Europe/Malta|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2arB0 Lz0 1cN0 1db0 1410 1on0 Wp0 1qL0 17d0 1cL0 M3B0 5M20 WM0 1fA0 1co0 17c0 1iM0 16m0 1de0 1lc0 14m0 1lc0 WO0 1qM0 GTW0 On0 1C10 LA0 1C00 LA0 1EM0 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1co0 1cM0 1lA0 Xc0 1qq0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1iN0 19z0 1fB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|42e4",
+        "Europe/Minsk|MMT EET MSK CEST CET MSD EEST +03|-1O -20 -30 -20 -10 -40 -30 -30|01234343252525252525252525261616161616161616161616161616161616161617|-1Pc1O eUnO qNX0 3gQ0 WM0 1fA0 1cM0 Al0 1tsn0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 3Fc0 1cN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0|19e5",
+        "Europe/Monaco|PMT WET WEST WEMT CET CEST|-9.l 0 -10 -20 -10 -20|01212121212121212121212121212121212121212121212121232323232345454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-2n5c9.l cFX9.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 1u00 10o0 1io0 1wo0 Rc0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Df0 2RV0 11z0 11B0 1ze0 WM0 1fA0 1cM0 1fa0 1aq0 16M0 1ekn0 1cL0 1fC0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|38e3",
+        "Europe/Moscow|MMT MMT MST MDST MSD MSK +05 EET EEST MSK|-2u.h -2v.j -3v.j -4v.j -40 -30 -50 -20 -30 -40|012132345464575454545454545454545458754545454545454545454545454545454545454595|-2ag2u.h 2pyW.W 1bA0 11X0 GN0 1Hb0 c4v.j ik0 3DA0 dz0 15A0 c10 2q10 iM10 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|16e6",
+        "Europe/Paris|PMT WET WEST CEST CET WEMT|-9.l 0 -10 -20 -10 -20|0121212121212121212121212121212121212121212121212123434352543434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434|-2nco9.l cNb9.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 1u00 10o0 1io0 1wo0 Rc0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Df0 Ik0 5M30 WM0 1fA0 1cM0 Vx0 hB0 1aq0 16M0 1ekn0 1cL0 1fC0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|11e6",
+        "Europe/Riga|RMT LST EET MSK CEST CET MSD EEST|-1A.y -2A.y -20 -30 -20 -10 -40 -30|010102345454536363636363636363727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272|-25TzA.y 11A0 1iM0 ko0 gWm0 yDXA.y 2bX0 3fE0 WM0 1fA0 1cM0 1cM0 4m0 1sLy0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 1o00 11A0 1o00 11A0 1qM0 3oo0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|64e4",
+        "Europe/Rome|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2arB0 Lz0 1cN0 1db0 1410 1on0 Wp0 1qL0 17d0 1cL0 M3B0 5M20 WM0 1fA0 1cM0 16M0 1iM0 16m0 1de0 1lc0 14m0 1lc0 WO0 1qM0 GTW0 On0 1C10 LA0 1C00 LA0 1EM0 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1C00 LA0 1zc0 Oo0 1C00 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1zc0 Oo0 1fC0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|39e5",
+        "Europe/Samara|LMT +03 +04 +05|-3k.k -30 -40 -50|0123232323232323232121232323232323232323232323232323232323212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 2y10 14m0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|12e5",
+        "Europe/Saratov|LMT +03 +04 +05|-34.i -30 -40 -50|012323232323232321212121212121212121212121212121212121212121212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1cM0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 5810|",
+        "Europe/Simferopol|SMT EET MSK CEST CET MSD EEST MSK|-2g -20 -30 -20 -10 -40 -30 -40|012343432525252525252525252161616525252616161616161616161616161616161616172|-1Pc2g eUog rEn0 2qs0 WM0 1fA0 1cM0 3V0 1u0L0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Q00 4eL0 1cL0 1cN0 1cL0 1cN0 dX0 WL0 1cN0 1cL0 1fB0 1o30 11B0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11z0 1nW0|33e4",
+        "Europe/Sofia|EET CET CEST EEST|-20 -10 -20 -30|01212103030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030|-168L0 WM0 1fA0 1cM0 1cM0 1cN0 1mKH0 1dd0 1fb0 1ap0 1fb0 1a20 1fy0 1a30 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1nX0 11E0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5",
+        "Europe/Stockholm|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2azC0 TB0 2yDe0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|15e5",
+        "Europe/Tallinn|TMT CET CEST EET MSK MSD EEST|-1D -10 -20 -20 -30 -40 -30|012103421212454545454545454546363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363|-26oND teD 11A0 1Ta0 4rXl KSLD 2FX0 2Jg0 WM0 1fA0 1cM0 18J0 1sTX0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o10 11A0 1qM0 5QM0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|41e4",
+        "Europe/Tirane|LMT CET CEST|-1j.k -10 -20|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2glBj.k 14pcj.k 5LC0 WM0 4M0 1fCK0 10n0 1op0 11z0 1pd0 11z0 1qN0 WL0 1qp0 Xb0 1qp0 Xb0 1qp0 11z0 1lB0 11z0 1qN0 11z0 1iN0 16n0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|42e4",
+        "Europe/Ulyanovsk|LMT +03 +04 +05 +02|-3d.A -30 -40 -50 -20|01232323232323232321214121212121212121212121212121212121212121212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|13e5",
+        "Europe/Uzhgorod|CET CEST MSK MSD EET EEST|-10 -20 -30 -40 -20 -30|010101023232323232323232320454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-1cqL0 6i00 WM0 1fA0 1cM0 1ml0 1Cp0 1r3W0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Q00 1Nf0 2pw0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|11e4",
+        "Europe/Vienna|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 3KM0 14o0 LA00 6i00 WM0 1fA0 1cM0 1cM0 1cM0 400 2qM0 1ao0 1co0 1cM0 1io0 17c0 1gHa0 19X0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|18e5",
+        "Europe/Vilnius|WMT KMT CET EET MSK CEST MSD EEST|-1o -1z.A -10 -20 -30 -20 -40 -30|012324525254646464646464646473737373737373737352537373737373737373737373737373737373737373737373737373737373737373737373|-293do 6ILM.o 1Ooz.A zz0 Mfd0 29W0 3is0 WM0 1fA0 1cM0 LV0 1tgL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11B0 1o00 11A0 1qM0 8io0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|54e4",
+        "Europe/Volgograd|LMT +03 +04 +05|-2V.E -30 -40 -50|0123232323232323212121212121212121212121212121212121212121212121|-21IqV.E psLV.E 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1cM0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 9Jd0 5gn0|10e5",
+        "Europe/Warsaw|WMT CET CEST EET EEST|-1o -10 -20 -20 -30|012121234312121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2ctdo 1LXo 11d0 1iO0 11A0 1o00 11A0 1on0 11A0 6zy0 HWP0 5IM0 WM0 1fA0 1cM0 1dz0 1mL0 1en0 15B0 1aq0 1nA0 11A0 1io0 17c0 1fA0 1a00 iDX0 LA0 1cM0 1cM0 1C00 Oo0 1cM0 1cM0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1C00 LA0 uso0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e5",
+        "Europe/Zaporozhye|+0220 EET MSK CEST CET MSD EEST|-2k -20 -30 -20 -10 -40 -30|01234342525252525252525252526161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161|-1Pc2k eUok rdb0 2RE0 WM0 1fA0 8m0 1v9a0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cK0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|77e4",
+        "HST|HST|a0|0||",
+        "Indian/Chagos|LMT +05 +06|-4N.E -50 -60|012|-2xosN.E 3AGLN.E|30e2",
+        "Indian/Cocos|+0630|-6u|0||596",
+        "Indian/Kerguelen|-00 +05|0 -50|01|-MG00|130",
+        "Indian/Mahe|LMT +04|-3F.M -40|01|-2xorF.M|79e3",
+        "Indian/Maldives|MMT +05|-4S -50|01|-olgS|35e4",
+        "Indian/Mauritius|LMT +04 +05|-3O -40 -50|012121|-2xorO 34unO 14L0 12kr0 11z0|15e4",
+        "Indian/Reunion|LMT +04|-3F.Q -40|01|-2mDDF.Q|84e4",
+        "Pacific/Kwajalein|+11 +10 +09 -12 +12|-b0 -a0 -90 c0 -c0|012034|-1kln0 akp0 6Up0 12ry0 Wan0|14e3",
+        "MET|MET MEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|",
+        "MST|MST|70|0||",
+        "MST7MDT|MST MDT MWT MPT|70 60 60 60|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|",
+        "Pacific/Chatham|+1215 +1245 +1345|-cf -cJ -dJ|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-WqAf 1adef IM0 1C00 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1qM0 14o0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1io0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|600",
+        "Pacific/Apia|LMT -1130 -11 -10 +14 +13|bq.U bu b0 a0 -e0 -d0|01232345454545454545454545454545454545454545454545454545454|-2nDMx.4 1yW03.4 2rRbu 1ff0 1a00 CI0 AQ0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|37e3",
+        "Pacific/Bougainville|+10 +09 +11|-a0 -90 -b0|0102|-16Wy0 7CN0 2MQp0|18e4",
+        "Pacific/Chuuk|+10 +09|-a0 -90|01010|-2ewy0 axB0 RVX0 axd0|49e3",
+        "Pacific/Efate|LMT +11 +12|-bd.g -b0 -c0|012121212121212121212121|-2l9nd.g 2uNXd.g Dc0 n610 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 Lz0 1Nd0 An0|66e3",
+        "Pacific/Enderbury|-12 -11 +13|c0 b0 -d0|012|nIc0 B7X0|1",
+        "Pacific/Fakaofo|-11 +13|b0 -d0|01|1Gfn0|483",
+        "Pacific/Fiji|LMT +12 +13|-bT.I -c0 -d0|0121212121212121212121212121212121212121212121212121212121212121|-2bUzT.I 3m8NT.I LA0 1EM0 IM0 nJc0 LA0 1o00 Rc0 1wo0 Ao0 1Nc0 Ao0 1Q00 xz0 1SN0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 s00 20o0 pc0 2hc0 bc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00|88e4",
+        "Pacific/Galapagos|LMT -05 -06|5W.o 50 60|01212|-1yVS1.A 2dTz1.A gNd0 rz0|25e3",
+        "Pacific/Gambier|LMT -09|8X.M 90|01|-2jof0.c|125",
+        "Pacific/Guadalcanal|LMT +11|-aD.M -b0|01|-2joyD.M|11e4",
+        "Pacific/Guam|GST +09 GDT ChST|-a0 -90 -b0 -a0|01020202020202020203|-18jK0 6pB0 AhB0 3QL0 g2p0 3p91 WOX rX0 1zd0 Rb0 1wp0 Rb0 5xd0 rX0 5sN0 zb1 1C0X On0 ULb0|17e4",
+        "Pacific/Honolulu|HST HDT HWT HPT HST|au 9u 9u 9u a0|0102304|-1thLu 8x0 lef0 8wWu iAu 46p0|37e4",
+        "Pacific/Kiritimati|-1040 -10 +14|aE a0 -e0|012|nIaE B7Xk|51e2",
+        "Pacific/Kosrae|+11 +09 +10 +12|-b0 -90 -a0 -c0|01021030|-2ewz0 axC0 HBy0 akp0 axd0 WOK0 1bdz0|66e2",
+        "Pacific/Majuro|+11 +09 +10 +12|-b0 -90 -a0 -c0|0102103|-2ewz0 axC0 HBy0 akp0 6RB0 12um0|28e3",
+        "Pacific/Marquesas|LMT -0930|9i 9u|01|-2joeG|86e2",
+        "Pacific/Pago_Pago|LMT SST|bm.M b0|01|-2nDMB.c|37e2",
+        "Pacific/Nauru|LMT +1130 +09 +12|-b7.E -bu -90 -c0|01213|-1Xdn7.E QCnB.E 7mqu 1lnbu|10e3",
+        "Pacific/Niue|-1120 -1130 -11|bk bu b0|012|-KfME 17y0a|12e2",
+        "Pacific/Norfolk|+1112 +1130 +1230 +11 +12|-bc -bu -cu -b0 -c0|012134343434343434343434343434343434343434|-Kgbc W01G Oo0 1COo0 9Jcu 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|25e4",
+        "Pacific/Noumea|LMT +11 +12|-b5.M -b0 -c0|01212121|-2l9n5.M 2EqM5.M xX0 1PB0 yn0 HeP0 Ao0|98e3",
+        "Pacific/Pitcairn|-0830 -08|8u 80|01|18Vku|56",
+        "Pacific/Pohnpei|+11 +09 +10|-b0 -90 -a0|010210|-2ewz0 axC0 HBy0 akp0 axd0|34e3",
+        "Pacific/Rarotonga|-1030 -0930 -10|au 9u a0|012121212121212121212121212|lyWu IL0 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu Onu|13e3",
+        "Pacific/Tahiti|LMT -10|9W.g a0|01|-2joe1.I|18e4",
+        "Pacific/Tongatapu|+1220 +13 +14|-ck -d0 -e0|0121212121|-1aB0k 2n5dk 15A0 1wo0 xz0 1Q10 xz0 zWN0 s00|75e3",
+        "PST8PDT|PST PDT PWT PPT|80 70 70 70|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261q0 1nX0 11B0 1nX0 SgN0 8x10 iy0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|",
+        "WET|WET WEST|0 -10|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDB0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|",
+      ],
+      links: [
+        "Africa/Abidjan|Africa/Bamako",
+        "Africa/Abidjan|Africa/Banjul",
+        "Africa/Abidjan|Africa/Conakry",
+        "Africa/Abidjan|Africa/Dakar",
+        "Africa/Abidjan|Africa/Freetown",
+        "Africa/Abidjan|Africa/Lome",
+        "Africa/Abidjan|Africa/Nouakchott",
+        "Africa/Abidjan|Africa/Ouagadougou",
+        "Africa/Abidjan|Africa/Timbuktu",
+        "Africa/Abidjan|Atlantic/St_Helena",
+        "Africa/Cairo|Egypt",
+        "Africa/Johannesburg|Africa/Maseru",
+        "Africa/Johannesburg|Africa/Mbabane",
+        "Africa/Lagos|Africa/Bangui",
+        "Africa/Lagos|Africa/Brazzaville",
+        "Africa/Lagos|Africa/Douala",
+        "Africa/Lagos|Africa/Kinshasa",
+        "Africa/Lagos|Africa/Libreville",
+        "Africa/Lagos|Africa/Luanda",
+        "Africa/Lagos|Africa/Malabo",
+        "Africa/Lagos|Africa/Niamey",
+        "Africa/Lagos|Africa/Porto-Novo",
+        "Africa/Maputo|Africa/Blantyre",
+        "Africa/Maputo|Africa/Bujumbura",
+        "Africa/Maputo|Africa/Gaborone",
+        "Africa/Maputo|Africa/Harare",
+        "Africa/Maputo|Africa/Kigali",
+        "Africa/Maputo|Africa/Lubumbashi",
+        "Africa/Maputo|Africa/Lusaka",
+        "Africa/Nairobi|Africa/Addis_Ababa",
+        "Africa/Nairobi|Africa/Asmara",
+        "Africa/Nairobi|Africa/Asmera",
+        "Africa/Nairobi|Africa/Dar_es_Salaam",
+        "Africa/Nairobi|Africa/Djibouti",
+        "Africa/Nairobi|Africa/Kampala",
+        "Africa/Nairobi|Africa/Mogadishu",
+        "Africa/Nairobi|Indian/Antananarivo",
+        "Africa/Nairobi|Indian/Comoro",
+        "Africa/Nairobi|Indian/Mayotte",
+        "Africa/Tripoli|Libya",
+        "America/Adak|America/Atka",
+        "America/Adak|US/Aleutian",
+        "America/Anchorage|US/Alaska",
+        "America/Argentina/Buenos_Aires|America/Buenos_Aires",
+        "America/Argentina/Catamarca|America/Argentina/ComodRivadavia",
+        "America/Argentina/Catamarca|America/Catamarca",
+        "America/Argentina/Cordoba|America/Cordoba",
+        "America/Argentina/Cordoba|America/Rosario",
+        "America/Argentina/Jujuy|America/Jujuy",
+        "America/Argentina/Mendoza|America/Mendoza",
+        "America/Atikokan|America/Coral_Harbour",
+        "America/Chicago|US/Central",
+        "America/Curacao|America/Aruba",
+        "America/Curacao|America/Kralendijk",
+        "America/Curacao|America/Lower_Princes",
+        "America/Denver|America/Shiprock",
+        "America/Denver|Navajo",
+        "America/Denver|US/Mountain",
+        "America/Detroit|US/Michigan",
+        "America/Edmonton|Canada/Mountain",
+        "America/Fort_Wayne|America/Indiana/Indianapolis",
+        "America/Fort_Wayne|America/Indianapolis",
+        "America/Fort_Wayne|US/East-Indiana",
+        "America/Godthab|America/Nuuk",
+        "America/Halifax|Canada/Atlantic",
+        "America/Havana|Cuba",
+        "America/Indiana/Knox|America/Knox_IN",
+        "America/Indiana/Knox|US/Indiana-Starke",
+        "America/Jamaica|Jamaica",
+        "America/Kentucky/Louisville|America/Louisville",
+        "America/Los_Angeles|US/Pacific",
+        "America/Manaus|Brazil/West",
+        "America/Mazatlan|Mexico/BajaSur",
+        "America/Mexico_City|Mexico/General",
+        "America/New_York|US/Eastern",
+        "America/Noronha|Brazil/DeNoronha",
+        "America/Panama|America/Cayman",
+        "America/Phoenix|US/Arizona",
+        "America/Port_of_Spain|America/Anguilla",
+        "America/Port_of_Spain|America/Antigua",
+        "America/Port_of_Spain|America/Dominica",
+        "America/Port_of_Spain|America/Grenada",
+        "America/Port_of_Spain|America/Guadeloupe",
+        "America/Port_of_Spain|America/Marigot",
+        "America/Port_of_Spain|America/Montserrat",
+        "America/Port_of_Spain|America/St_Barthelemy",
+        "America/Port_of_Spain|America/St_Kitts",
+        "America/Port_of_Spain|America/St_Lucia",
+        "America/Port_of_Spain|America/St_Thomas",
+        "America/Port_of_Spain|America/St_Vincent",
+        "America/Port_of_Spain|America/Tortola",
+        "America/Port_of_Spain|America/Virgin",
+        "America/Regina|Canada/Saskatchewan",
+        "America/Rio_Branco|America/Porto_Acre",
+        "America/Rio_Branco|Brazil/Acre",
+        "America/Santiago|Chile/Continental",
+        "America/Sao_Paulo|Brazil/East",
+        "America/St_Johns|Canada/Newfoundland",
+        "America/Tijuana|America/Ensenada",
+        "America/Tijuana|America/Santa_Isabel",
+        "America/Tijuana|Mexico/BajaNorte",
+        "America/Toronto|America/Montreal",
+        "America/Toronto|Canada/Eastern",
+        "America/Vancouver|Canada/Pacific",
+        "America/Whitehorse|Canada/Yukon",
+        "America/Winnipeg|Canada/Central",
+        "Asia/Ashgabat|Asia/Ashkhabad",
+        "Asia/Bangkok|Asia/Phnom_Penh",
+        "Asia/Bangkok|Asia/Vientiane",
+        "Asia/Dhaka|Asia/Dacca",
+        "Asia/Dubai|Asia/Muscat",
+        "Asia/Ho_Chi_Minh|Asia/Saigon",
+        "Asia/Hong_Kong|Hongkong",
+        "Asia/Jerusalem|Asia/Tel_Aviv",
+        "Asia/Jerusalem|Israel",
+        "Asia/Kathmandu|Asia/Katmandu",
+        "Asia/Kolkata|Asia/Calcutta",
+        "Asia/Kuala_Lumpur|Asia/Singapore",
+        "Asia/Kuala_Lumpur|Singapore",
+        "Asia/Macau|Asia/Macao",
+        "Asia/Makassar|Asia/Ujung_Pandang",
+        "Asia/Nicosia|Europe/Nicosia",
+        "Asia/Qatar|Asia/Bahrain",
+        "Asia/Rangoon|Asia/Yangon",
+        "Asia/Riyadh|Asia/Aden",
+        "Asia/Riyadh|Asia/Kuwait",
+        "Asia/Seoul|ROK",
+        "Asia/Shanghai|Asia/Chongqing",
+        "Asia/Shanghai|Asia/Chungking",
+        "Asia/Shanghai|Asia/Harbin",
+        "Asia/Shanghai|PRC",
+        "Asia/Taipei|ROC",
+        "Asia/Tehran|Iran",
+        "Asia/Thimphu|Asia/Thimbu",
+        "Asia/Tokyo|Japan",
+        "Asia/Ulaanbaatar|Asia/Ulan_Bator",
+        "Asia/Urumqi|Asia/Kashgar",
+        "Atlantic/Faroe|Atlantic/Faeroe",
+        "Atlantic/Reykjavik|Iceland",
+        "Atlantic/South_Georgia|Etc/GMT+2",
+        "Australia/Adelaide|Australia/South",
+        "Australia/Brisbane|Australia/Queensland",
+        "Australia/Broken_Hill|Australia/Yancowinna",
+        "Australia/Darwin|Australia/North",
+        "Australia/Hobart|Australia/Currie",
+        "Australia/Hobart|Australia/Tasmania",
+        "Australia/Lord_Howe|Australia/LHI",
+        "Australia/Melbourne|Australia/Victoria",
+        "Australia/Perth|Australia/West",
+        "Australia/Sydney|Australia/ACT",
+        "Australia/Sydney|Australia/Canberra",
+        "Australia/Sydney|Australia/NSW",
+        "Etc/GMT-0|Etc/GMT",
+        "Etc/GMT-0|Etc/GMT+0",
+        "Etc/GMT-0|Etc/GMT0",
+        "Etc/GMT-0|Etc/Greenwich",
+        "Etc/GMT-0|GMT",
+        "Etc/GMT-0|GMT+0",
+        "Etc/GMT-0|GMT-0",
+        "Etc/GMT-0|GMT0",
+        "Etc/GMT-0|Greenwich",
+        "Etc/UTC|Etc/UCT",
+        "Etc/UTC|Etc/Universal",
+        "Etc/UTC|Etc/Zulu",
+        "Etc/UTC|UCT",
+        "Etc/UTC|UTC",
+        "Etc/UTC|Universal",
+        "Etc/UTC|Zulu",
+        "Europe/Belgrade|Europe/Ljubljana",
+        "Europe/Belgrade|Europe/Podgorica",
+        "Europe/Belgrade|Europe/Sarajevo",
+        "Europe/Belgrade|Europe/Skopje",
+        "Europe/Belgrade|Europe/Zagreb",
+        "Europe/Chisinau|Europe/Tiraspol",
+        "Europe/Dublin|Eire",
+        "Europe/Helsinki|Europe/Mariehamn",
+        "Europe/Istanbul|Asia/Istanbul",
+        "Europe/Istanbul|Turkey",
+        "Europe/Lisbon|Portugal",
+        "Europe/London|Europe/Belfast",
+        "Europe/London|Europe/Guernsey",
+        "Europe/London|Europe/Isle_of_Man",
+        "Europe/London|Europe/Jersey",
+        "Europe/London|GB",
+        "Europe/London|GB-Eire",
+        "Europe/Moscow|W-SU",
+        "Europe/Oslo|Arctic/Longyearbyen",
+        "Europe/Oslo|Atlantic/Jan_Mayen",
+        "Europe/Prague|Europe/Bratislava",
+        "Europe/Rome|Europe/San_Marino",
+        "Europe/Rome|Europe/Vatican",
+        "Europe/Warsaw|Poland",
+        "Europe/Zurich|Europe/Busingen",
+        "Europe/Zurich|Europe/Vaduz",
+        "Indian/Christmas|Etc/GMT-7",
+        "Pacific/Auckland|Antarctica/McMurdo",
+        "Pacific/Auckland|Antarctica/South_Pole",
+        "Pacific/Auckland|NZ",
+        "Pacific/Chatham|NZ-CHAT",
+        "Pacific/Chuuk|Pacific/Truk",
+        "Pacific/Chuuk|Pacific/Yap",
+        "Pacific/Easter|Chile/EasterIsland",
+        "Pacific/Guam|Pacific/Saipan",
+        "Pacific/Honolulu|Pacific/Johnston",
+        "Pacific/Honolulu|US/Hawaii",
+        "Pacific/Kwajalein|Kwajalein",
+        "Pacific/Pago_Pago|Pacific/Midway",
+        "Pacific/Pago_Pago|Pacific/Samoa",
+        "Pacific/Pago_Pago|US/Samoa",
+        "Pacific/Palau|Etc/GMT-9",
+        "Pacific/Pohnpei|Pacific/Ponape",
+        "Pacific/Port_Moresby|Etc/GMT-10",
+        "Pacific/Tarawa|Etc/GMT-12",
+        "Pacific/Tarawa|Pacific/Funafuti",
+        "Pacific/Tarawa|Pacific/Wake",
+        "Pacific/Tarawa|Pacific/Wallis",
+      ],
+      countries: [
+        "AD|Europe/Andorra",
+        "AE|Asia/Dubai",
+        "AF|Asia/Kabul",
+        "AG|America/Port_of_Spain America/Antigua",
+        "AI|America/Port_of_Spain America/Anguilla",
+        "AL|Europe/Tirane",
+        "AM|Asia/Yerevan",
+        "AO|Africa/Lagos Africa/Luanda",
+        "AQ|Antarctica/Casey Antarctica/Davis Antarctica/DumontDUrville Antarctica/Mawson Antarctica/Palmer Antarctica/Rothera Antarctica/Syowa Antarctica/Troll Antarctica/Vostok Pacific/Auckland Antarctica/McMurdo",
+        "AR|America/Argentina/Buenos_Aires America/Argentina/Cordoba America/Argentina/Salta America/Argentina/Jujuy America/Argentina/Tucuman America/Argentina/Catamarca America/Argentina/La_Rioja America/Argentina/San_Juan America/Argentina/Mendoza America/Argentina/San_Luis America/Argentina/Rio_Gallegos America/Argentina/Ushuaia",
+        "AS|Pacific/Pago_Pago",
+        "AT|Europe/Vienna",
+        "AU|Australia/Lord_Howe Antarctica/Macquarie Australia/Hobart Australia/Currie Australia/Melbourne Australia/Sydney Australia/Broken_Hill Australia/Brisbane Australia/Lindeman Australia/Adelaide Australia/Darwin Australia/Perth Australia/Eucla",
+        "AW|America/Curacao America/Aruba",
+        "AX|Europe/Helsinki Europe/Mariehamn",
+        "AZ|Asia/Baku",
+        "BA|Europe/Belgrade Europe/Sarajevo",
+        "BB|America/Barbados",
+        "BD|Asia/Dhaka",
+        "BE|Europe/Brussels",
+        "BF|Africa/Abidjan Africa/Ouagadougou",
+        "BG|Europe/Sofia",
+        "BH|Asia/Qatar Asia/Bahrain",
+        "BI|Africa/Maputo Africa/Bujumbura",
+        "BJ|Africa/Lagos Africa/Porto-Novo",
+        "BL|America/Port_of_Spain America/St_Barthelemy",
+        "BM|Atlantic/Bermuda",
+        "BN|Asia/Brunei",
+        "BO|America/La_Paz",
+        "BQ|America/Curacao America/Kralendijk",
+        "BR|America/Noronha America/Belem America/Fortaleza America/Recife America/Araguaina America/Maceio America/Bahia America/Sao_Paulo America/Campo_Grande America/Cuiaba America/Santarem America/Porto_Velho America/Boa_Vista America/Manaus America/Eirunepe America/Rio_Branco",
+        "BS|America/Nassau",
+        "BT|Asia/Thimphu",
+        "BW|Africa/Maputo Africa/Gaborone",
+        "BY|Europe/Minsk",
+        "BZ|America/Belize",
+        "CA|America/St_Johns America/Halifax America/Glace_Bay America/Moncton America/Goose_Bay America/Blanc-Sablon America/Toronto America/Nipigon America/Thunder_Bay America/Iqaluit America/Pangnirtung America/Atikokan America/Winnipeg America/Rainy_River America/Resolute America/Rankin_Inlet America/Regina America/Swift_Current America/Edmonton America/Cambridge_Bay America/Yellowknife America/Inuvik America/Creston America/Dawson_Creek America/Fort_Nelson America/Vancouver America/Whitehorse America/Dawson",
+        "CC|Indian/Cocos",
+        "CD|Africa/Maputo Africa/Lagos Africa/Kinshasa Africa/Lubumbashi",
+        "CF|Africa/Lagos Africa/Bangui",
+        "CG|Africa/Lagos Africa/Brazzaville",
+        "CH|Europe/Zurich",
+        "CI|Africa/Abidjan",
+        "CK|Pacific/Rarotonga",
+        "CL|America/Santiago America/Punta_Arenas Pacific/Easter",
+        "CM|Africa/Lagos Africa/Douala",
+        "CN|Asia/Shanghai Asia/Urumqi",
+        "CO|America/Bogota",
+        "CR|America/Costa_Rica",
+        "CU|America/Havana",
+        "CV|Atlantic/Cape_Verde",
+        "CW|America/Curacao",
+        "CX|Indian/Christmas",
+        "CY|Asia/Nicosia Asia/Famagusta",
+        "CZ|Europe/Prague",
+        "DE|Europe/Zurich Europe/Berlin Europe/Busingen",
+        "DJ|Africa/Nairobi Africa/Djibouti",
+        "DK|Europe/Copenhagen",
+        "DM|America/Port_of_Spain America/Dominica",
+        "DO|America/Santo_Domingo",
+        "DZ|Africa/Algiers",
+        "EC|America/Guayaquil Pacific/Galapagos",
+        "EE|Europe/Tallinn",
+        "EG|Africa/Cairo",
+        "EH|Africa/El_Aaiun",
+        "ER|Africa/Nairobi Africa/Asmara",
+        "ES|Europe/Madrid Africa/Ceuta Atlantic/Canary",
+        "ET|Africa/Nairobi Africa/Addis_Ababa",
+        "FI|Europe/Helsinki",
+        "FJ|Pacific/Fiji",
+        "FK|Atlantic/Stanley",
+        "FM|Pacific/Chuuk Pacific/Pohnpei Pacific/Kosrae",
+        "FO|Atlantic/Faroe",
+        "FR|Europe/Paris",
+        "GA|Africa/Lagos Africa/Libreville",
+        "GB|Europe/London",
+        "GD|America/Port_of_Spain America/Grenada",
+        "GE|Asia/Tbilisi",
+        "GF|America/Cayenne",
+        "GG|Europe/London Europe/Guernsey",
+        "GH|Africa/Accra",
+        "GI|Europe/Gibraltar",
+        "GL|America/Nuuk America/Danmarkshavn America/Scoresbysund America/Thule",
+        "GM|Africa/Abidjan Africa/Banjul",
+        "GN|Africa/Abidjan Africa/Conakry",
+        "GP|America/Port_of_Spain America/Guadeloupe",
+        "GQ|Africa/Lagos Africa/Malabo",
+        "GR|Europe/Athens",
+        "GS|Atlantic/South_Georgia",
+        "GT|America/Guatemala",
+        "GU|Pacific/Guam",
+        "GW|Africa/Bissau",
+        "GY|America/Guyana",
+        "HK|Asia/Hong_Kong",
+        "HN|America/Tegucigalpa",
+        "HR|Europe/Belgrade Europe/Zagreb",
+        "HT|America/Port-au-Prince",
+        "HU|Europe/Budapest",
+        "ID|Asia/Jakarta Asia/Pontianak Asia/Makassar Asia/Jayapura",
+        "IE|Europe/Dublin",
+        "IL|Asia/Jerusalem",
+        "IM|Europe/London Europe/Isle_of_Man",
+        "IN|Asia/Kolkata",
+        "IO|Indian/Chagos",
+        "IQ|Asia/Baghdad",
+        "IR|Asia/Tehran",
+        "IS|Atlantic/Reykjavik",
+        "IT|Europe/Rome",
+        "JE|Europe/London Europe/Jersey",
+        "JM|America/Jamaica",
+        "JO|Asia/Amman",
+        "JP|Asia/Tokyo",
+        "KE|Africa/Nairobi",
+        "KG|Asia/Bishkek",
+        "KH|Asia/Bangkok Asia/Phnom_Penh",
+        "KI|Pacific/Tarawa Pacific/Enderbury Pacific/Kiritimati",
+        "KM|Africa/Nairobi Indian/Comoro",
+        "KN|America/Port_of_Spain America/St_Kitts",
+        "KP|Asia/Pyongyang",
+        "KR|Asia/Seoul",
+        "KW|Asia/Riyadh Asia/Kuwait",
+        "KY|America/Panama America/Cayman",
+        "KZ|Asia/Almaty Asia/Qyzylorda Asia/Qostanay Asia/Aqtobe Asia/Aqtau Asia/Atyrau Asia/Oral",
+        "LA|Asia/Bangkok Asia/Vientiane",
+        "LB|Asia/Beirut",
+        "LC|America/Port_of_Spain America/St_Lucia",
+        "LI|Europe/Zurich Europe/Vaduz",
+        "LK|Asia/Colombo",
+        "LR|Africa/Monrovia",
+        "LS|Africa/Johannesburg Africa/Maseru",
+        "LT|Europe/Vilnius",
+        "LU|Europe/Luxembourg",
+        "LV|Europe/Riga",
+        "LY|Africa/Tripoli",
+        "MA|Africa/Casablanca",
+        "MC|Europe/Monaco",
+        "MD|Europe/Chisinau",
+        "ME|Europe/Belgrade Europe/Podgorica",
+        "MF|America/Port_of_Spain America/Marigot",
+        "MG|Africa/Nairobi Indian/Antananarivo",
+        "MH|Pacific/Majuro Pacific/Kwajalein",
+        "MK|Europe/Belgrade Europe/Skopje",
+        "ML|Africa/Abidjan Africa/Bamako",
+        "MM|Asia/Yangon",
+        "MN|Asia/Ulaanbaatar Asia/Hovd Asia/Choibalsan",
+        "MO|Asia/Macau",
+        "MP|Pacific/Guam Pacific/Saipan",
+        "MQ|America/Martinique",
+        "MR|Africa/Abidjan Africa/Nouakchott",
+        "MS|America/Port_of_Spain America/Montserrat",
+        "MT|Europe/Malta",
+        "MU|Indian/Mauritius",
+        "MV|Indian/Maldives",
+        "MW|Africa/Maputo Africa/Blantyre",
+        "MX|America/Mexico_City America/Cancun America/Merida America/Monterrey America/Matamoros America/Mazatlan America/Chihuahua America/Ojinaga America/Hermosillo America/Tijuana America/Bahia_Banderas",
+        "MY|Asia/Kuala_Lumpur Asia/Kuching",
+        "MZ|Africa/Maputo",
+        "NA|Africa/Windhoek",
+        "NC|Pacific/Noumea",
+        "NE|Africa/Lagos Africa/Niamey",
+        "NF|Pacific/Norfolk",
+        "NG|Africa/Lagos",
+        "NI|America/Managua",
+        "NL|Europe/Amsterdam",
+        "NO|Europe/Oslo",
+        "NP|Asia/Kathmandu",
+        "NR|Pacific/Nauru",
+        "NU|Pacific/Niue",
+        "NZ|Pacific/Auckland Pacific/Chatham",
+        "OM|Asia/Dubai Asia/Muscat",
+        "PA|America/Panama",
+        "PE|America/Lima",
+        "PF|Pacific/Tahiti Pacific/Marquesas Pacific/Gambier",
+        "PG|Pacific/Port_Moresby Pacific/Bougainville",
+        "PH|Asia/Manila",
+        "PK|Asia/Karachi",
+        "PL|Europe/Warsaw",
+        "PM|America/Miquelon",
+        "PN|Pacific/Pitcairn",
+        "PR|America/Puerto_Rico",
+        "PS|Asia/Gaza Asia/Hebron",
+        "PT|Europe/Lisbon Atlantic/Madeira Atlantic/Azores",
+        "PW|Pacific/Palau",
+        "PY|America/Asuncion",
+        "QA|Asia/Qatar",
+        "RE|Indian/Reunion",
+        "RO|Europe/Bucharest",
+        "RS|Europe/Belgrade",
+        "RU|Europe/Kaliningrad Europe/Moscow Europe/Simferopol Europe/Kirov Europe/Astrakhan Europe/Volgograd Europe/Saratov Europe/Ulyanovsk Europe/Samara Asia/Yekaterinburg Asia/Omsk Asia/Novosibirsk Asia/Barnaul Asia/Tomsk Asia/Novokuznetsk Asia/Krasnoyarsk Asia/Irkutsk Asia/Chita Asia/Yakutsk Asia/Khandyga Asia/Vladivostok Asia/Ust-Nera Asia/Magadan Asia/Sakhalin Asia/Srednekolymsk Asia/Kamchatka Asia/Anadyr",
+        "RW|Africa/Maputo Africa/Kigali",
+        "SA|Asia/Riyadh",
+        "SB|Pacific/Guadalcanal",
+        "SC|Indian/Mahe",
+        "SD|Africa/Khartoum",
+        "SE|Europe/Stockholm",
+        "SG|Asia/Singapore",
+        "SH|Africa/Abidjan Atlantic/St_Helena",
+        "SI|Europe/Belgrade Europe/Ljubljana",
+        "SJ|Europe/Oslo Arctic/Longyearbyen",
+        "SK|Europe/Prague Europe/Bratislava",
+        "SL|Africa/Abidjan Africa/Freetown",
+        "SM|Europe/Rome Europe/San_Marino",
+        "SN|Africa/Abidjan Africa/Dakar",
+        "SO|Africa/Nairobi Africa/Mogadishu",
+        "SR|America/Paramaribo",
+        "SS|Africa/Juba",
+        "ST|Africa/Sao_Tome",
+        "SV|America/El_Salvador",
+        "SX|America/Curacao America/Lower_Princes",
+        "SY|Asia/Damascus",
+        "SZ|Africa/Johannesburg Africa/Mbabane",
+        "TC|America/Grand_Turk",
+        "TD|Africa/Ndjamena",
+        "TF|Indian/Reunion Indian/Kerguelen",
+        "TG|Africa/Abidjan Africa/Lome",
+        "TH|Asia/Bangkok",
+        "TJ|Asia/Dushanbe",
+        "TK|Pacific/Fakaofo",
+        "TL|Asia/Dili",
+        "TM|Asia/Ashgabat",
+        "TN|Africa/Tunis",
+        "TO|Pacific/Tongatapu",
+        "TR|Europe/Istanbul",
+        "TT|America/Port_of_Spain",
+        "TV|Pacific/Funafuti",
+        "TW|Asia/Taipei",
+        "TZ|Africa/Nairobi Africa/Dar_es_Salaam",
+        "UA|Europe/Simferopol Europe/Kiev Europe/Uzhgorod Europe/Zaporozhye",
+        "UG|Africa/Nairobi Africa/Kampala",
+        "UM|Pacific/Pago_Pago Pacific/Wake Pacific/Honolulu Pacific/Midway",
+        "US|America/New_York America/Detroit America/Kentucky/Louisville America/Kentucky/Monticello America/Indiana/Indianapolis America/Indiana/Vincennes America/Indiana/Winamac America/Indiana/Marengo America/Indiana/Petersburg America/Indiana/Vevay America/Chicago America/Indiana/Tell_City America/Indiana/Knox America/Menominee America/North_Dakota/Center America/North_Dakota/New_Salem America/North_Dakota/Beulah America/Denver America/Boise America/Phoenix America/Los_Angeles America/Anchorage America/Juneau America/Sitka America/Metlakatla America/Yakutat America/Nome America/Adak Pacific/Honolulu",
+        "UY|America/Montevideo",
+        "UZ|Asia/Samarkand Asia/Tashkent",
+        "VA|Europe/Rome Europe/Vatican",
+        "VC|America/Port_of_Spain America/St_Vincent",
+        "VE|America/Caracas",
+        "VG|America/Port_of_Spain America/Tortola",
+        "VI|America/Port_of_Spain America/St_Thomas",
+        "VN|Asia/Bangkok Asia/Ho_Chi_Minh",
+        "VU|Pacific/Efate",
+        "WF|Pacific/Wallis",
+        "WS|Pacific/Apia",
+        "YE|Asia/Riyadh Asia/Aden",
+        "YT|Africa/Nairobi Indian/Mayotte",
+        "ZA|Africa/Johannesburg",
+        "ZM|Africa/Maputo Africa/Lusaka",
+        "ZW|Africa/Maputo Africa/Harare",
+      ],
+    }),
+    b
+  );
+});
diff --git a/notemyprogress/js/moment.js b/notemyprogress/js/moment.js
index 57cd2d4f3d3d8b64a34577593a9be3be50503e1b..98f07a53861b088165cd7ffc82cf2e507fc957bc 100644
--- a/notemyprogress/js/moment.js
+++ b/notemyprogress/js/moment.js
@@ -1,2 +1,3347 @@
-!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.moment=t()}(this,function(){"use strict";var e,i;function f(){return e.apply(null,arguments)}function o(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function u(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function m(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function l(e){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(e).length;for(var t in e)if(m(e,t))return;return 1}function r(e){return void 0===e}function h(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function a(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function d(e,t){for(var n=[],s=0;s<e.length;++s)n.push(t(e[s],s));return n}function c(e,t){for(var n in t)m(t,n)&&(e[n]=t[n]);return m(t,"toString")&&(e.toString=t.toString),m(t,"valueOf")&&(e.valueOf=t.valueOf),e}function _(e,t,n,s){return xt(e,t,n,s,!0).utc()}function y(e){return null==e._pf&&(e._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidEra:null,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],era:null,meridiem:null,rfc2822:!1,weekdayMismatch:!1}),e._pf}function g(e){if(null==e._isValid){var t=y(e),n=i.call(t.parsedDateParts,function(e){return null!=e}),s=!isNaN(e._d.getTime())&&t.overflow<0&&!t.empty&&!t.invalidEra&&!t.invalidMonth&&!t.invalidWeekday&&!t.weekdayMismatch&&!t.nullInput&&!t.invalidFormat&&!t.userInvalidated&&(!t.meridiem||t.meridiem&&n);if(e._strict&&(s=s&&0===t.charsLeftOver&&0===t.unusedTokens.length&&void 0===t.bigHour),null!=Object.isFrozen&&Object.isFrozen(e))return s;e._isValid=s}return e._isValid}function w(e){var t=_(NaN);return null!=e?c(y(t),e):y(t).userInvalidated=!0,t}i=Array.prototype.some?Array.prototype.some:function(e){for(var t=Object(this),n=t.length>>>0,s=0;s<n;s++)if(s in t&&e.call(this,t[s],s,t))return!0;return!1};var p=f.momentProperties=[],t=!1;function v(e,t){var n,s,i;if(r(t._isAMomentObject)||(e._isAMomentObject=t._isAMomentObject),r(t._i)||(e._i=t._i),r(t._f)||(e._f=t._f),r(t._l)||(e._l=t._l),r(t._strict)||(e._strict=t._strict),r(t._tzm)||(e._tzm=t._tzm),r(t._isUTC)||(e._isUTC=t._isUTC),r(t._offset)||(e._offset=t._offset),r(t._pf)||(e._pf=y(t)),r(t._locale)||(e._locale=t._locale),0<p.length)for(n=0;n<p.length;n++)r(i=t[s=p[n]])||(e[s]=i);return e}function k(e){v(this,e),this._d=new Date(null!=e._d?e._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===t&&(t=!0,f.updateOffset(this),t=!1)}function M(e){return e instanceof k||null!=e&&null!=e._isAMomentObject}function D(e){!1===f.suppressDeprecationWarnings&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+e)}function n(i,r){var a=!0;return c(function(){if(null!=f.deprecationHandler&&f.deprecationHandler(null,i),a){for(var e,t,n=[],s=0;s<arguments.length;s++){if(e="","object"==typeof arguments[s]){for(t in e+="\n["+s+"] ",arguments[0])m(arguments[0],t)&&(e+=t+": "+arguments[0][t]+", ");e=e.slice(0,-2)}else e=arguments[s];n.push(e)}D(i+"\nArguments: "+Array.prototype.slice.call(n).join("")+"\n"+(new Error).stack),a=!1}return r.apply(this,arguments)},r)}var s,S={};function Y(e,t){null!=f.deprecationHandler&&f.deprecationHandler(e,t),S[e]||(D(t),S[e]=!0)}function O(e){return"undefined"!=typeof Function&&e instanceof Function||"[object Function]"===Object.prototype.toString.call(e)}function b(e,t){var n,s=c({},e);for(n in t)m(t,n)&&(u(e[n])&&u(t[n])?(s[n]={},c(s[n],e[n]),c(s[n],t[n])):null!=t[n]?s[n]=t[n]:delete s[n]);for(n in e)m(e,n)&&!m(t,n)&&u(e[n])&&(s[n]=c({},s[n]));return s}function x(e){null!=e&&this.set(e)}f.suppressDeprecationWarnings=!1,f.deprecationHandler=null,s=Object.keys?Object.keys:function(e){var t,n=[];for(t in e)m(e,t)&&n.push(t);return n};function T(e,t,n){var s=""+Math.abs(e),i=t-s.length;return(0<=e?n?"+":"":"-")+Math.pow(10,Math.max(0,i)).toString().substr(1)+s}var N=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,P=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,R={},W={};function C(e,t,n,s){var i="string"==typeof s?function(){return this[s]()}:s;e&&(W[e]=i),t&&(W[t[0]]=function(){return T(i.apply(this,arguments),t[1],t[2])}),n&&(W[n]=function(){return this.localeData().ordinal(i.apply(this,arguments),e)})}function U(e,t){return e.isValid()?(t=H(t,e.localeData()),R[t]=R[t]||function(s){for(var e,i=s.match(N),t=0,r=i.length;t<r;t++)W[i[t]]?i[t]=W[i[t]]:i[t]=(e=i[t]).match(/\[[\s\S]/)?e.replace(/^\[|\]$/g,""):e.replace(/\\/g,"");return function(e){for(var t="",n=0;n<r;n++)t+=O(i[n])?i[n].call(e,s):i[n];return t}}(t),R[t](e)):e.localeData().invalidDate()}function H(e,t){var n=5;function s(e){return t.longDateFormat(e)||e}for(P.lastIndex=0;0<=n&&P.test(e);)e=e.replace(P,s),P.lastIndex=0,--n;return e}var F={};function L(e,t){var n=e.toLowerCase();F[n]=F[n+"s"]=F[t]=e}function V(e){return"string"==typeof e?F[e]||F[e.toLowerCase()]:void 0}function G(e){var t,n,s={};for(n in e)m(e,n)&&(t=V(n))&&(s[t]=e[n]);return s}var E={};function A(e,t){E[e]=t}function j(e){return e%4==0&&e%100!=0||e%400==0}function I(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function Z(e){var t=+e,n=0;return 0!=t&&isFinite(t)&&(n=I(t)),n}function z(t,n){return function(e){return null!=e?(q(this,t,e),f.updateOffset(this,n),this):$(this,t)}}function $(e,t){return e.isValid()?e._d["get"+(e._isUTC?"UTC":"")+t]():NaN}function q(e,t,n){e.isValid()&&!isNaN(n)&&("FullYear"===t&&j(e.year())&&1===e.month()&&29===e.date()?(n=Z(n),e._d["set"+(e._isUTC?"UTC":"")+t](n,e.month(),xe(n,e.month()))):e._d["set"+(e._isUTC?"UTC":"")+t](n))}var B,J=/\d/,Q=/\d\d/,X=/\d{3}/,K=/\d{4}/,ee=/[+-]?\d{6}/,te=/\d\d?/,ne=/\d\d\d\d?/,se=/\d\d\d\d\d\d?/,ie=/\d{1,3}/,re=/\d{1,4}/,ae=/[+-]?\d{1,6}/,oe=/\d+/,ue=/[+-]?\d+/,le=/Z|[+-]\d\d:?\d\d/gi,he=/Z|[+-]\d\d(?::?\d\d)?/gi,de=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i;function ce(e,n,s){B[e]=O(n)?n:function(e,t){return e&&s?s:n}}function fe(e,t){return m(B,e)?B[e](t._strict,t._locale):new RegExp(me(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(e,t,n,s,i){return t||n||s||i})))}function me(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}B={};var _e={};function ye(e,n){var t,s=n;for("string"==typeof e&&(e=[e]),h(n)&&(s=function(e,t){t[n]=Z(e)}),t=0;t<e.length;t++)_e[e[t]]=s}function ge(e,i){ye(e,function(e,t,n,s){n._w=n._w||{},i(e,n._w,n,s)})}var we,pe=0,ve=1,ke=2,Me=3,De=4,Se=5,Ye=6,Oe=7,be=8;function xe(e,t){if(isNaN(e)||isNaN(t))return NaN;var n,s=(t%(n=12)+n)%n;return e+=(t-s)/12,1==s?j(e)?29:28:31-s%7%2}we=Array.prototype.indexOf?Array.prototype.indexOf:function(e){for(var t=0;t<this.length;++t)if(this[t]===e)return t;return-1},C("M",["MM",2],"Mo",function(){return this.month()+1}),C("MMM",0,0,function(e){return this.localeData().monthsShort(this,e)}),C("MMMM",0,0,function(e){return this.localeData().months(this,e)}),L("month","M"),A("month",8),ce("M",te),ce("MM",te,Q),ce("MMM",function(e,t){return t.monthsShortRegex(e)}),ce("MMMM",function(e,t){return t.monthsRegex(e)}),ye(["M","MM"],function(e,t){t[ve]=Z(e)-1}),ye(["MMM","MMMM"],function(e,t,n,s){var i=n._locale.monthsParse(e,s,n._strict);null!=i?t[ve]=i:y(n).invalidMonth=e});var Te="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),Ne="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),Pe=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,Re=de,We=de;function Ce(e,t){var n;if(!e.isValid())return e;if("string"==typeof t)if(/^\d+$/.test(t))t=Z(t);else if(!h(t=e.localeData().monthsParse(t)))return e;return n=Math.min(e.date(),xe(e.year(),t)),e._d["set"+(e._isUTC?"UTC":"")+"Month"](t,n),e}function Ue(e){return null!=e?(Ce(this,e),f.updateOffset(this,!0),this):$(this,"Month")}function He(){function e(e,t){return t.length-e.length}for(var t,n=[],s=[],i=[],r=0;r<12;r++)t=_([2e3,r]),n.push(this.monthsShort(t,"")),s.push(this.months(t,"")),i.push(this.months(t,"")),i.push(this.monthsShort(t,""));for(n.sort(e),s.sort(e),i.sort(e),r=0;r<12;r++)n[r]=me(n[r]),s[r]=me(s[r]);for(r=0;r<24;r++)i[r]=me(i[r]);this._monthsRegex=new RegExp("^("+i.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+s.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+n.join("|")+")","i")}function Fe(e){return j(e)?366:365}C("Y",0,0,function(){var e=this.year();return e<=9999?T(e,4):"+"+e}),C(0,["YY",2],0,function(){return this.year()%100}),C(0,["YYYY",4],0,"year"),C(0,["YYYYY",5],0,"year"),C(0,["YYYYYY",6,!0],0,"year"),L("year","y"),A("year",1),ce("Y",ue),ce("YY",te,Q),ce("YYYY",re,K),ce("YYYYY",ae,ee),ce("YYYYYY",ae,ee),ye(["YYYYY","YYYYYY"],pe),ye("YYYY",function(e,t){t[pe]=2===e.length?f.parseTwoDigitYear(e):Z(e)}),ye("YY",function(e,t){t[pe]=f.parseTwoDigitYear(e)}),ye("Y",function(e,t){t[pe]=parseInt(e,10)}),f.parseTwoDigitYear=function(e){return Z(e)+(68<Z(e)?1900:2e3)};var Le=z("FullYear",!0);function Ve(e){var t,n;return e<100&&0<=e?((n=Array.prototype.slice.call(arguments))[0]=e+400,t=new Date(Date.UTC.apply(null,n)),isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e)):t=new Date(Date.UTC.apply(null,arguments)),t}function Ge(e,t,n){var s=7+t-n;return s-(7+Ve(e,0,s).getUTCDay()-t)%7-1}function Ee(e,t,n,s,i){var r,a=1+7*(t-1)+(7+n-s)%7+Ge(e,s,i),o=a<=0?Fe(r=e-1)+a:a>Fe(e)?(r=e+1,a-Fe(e)):(r=e,a);return{year:r,dayOfYear:o}}function Ae(e,t,n){var s,i,r=Ge(e.year(),t,n),a=Math.floor((e.dayOfYear()-r-1)/7)+1;return a<1?s=a+je(i=e.year()-1,t,n):a>je(e.year(),t,n)?(s=a-je(e.year(),t,n),i=e.year()+1):(i=e.year(),s=a),{week:s,year:i}}function je(e,t,n){var s=Ge(e,t,n),i=Ge(e+1,t,n);return(Fe(e)-s+i)/7}C("w",["ww",2],"wo","week"),C("W",["WW",2],"Wo","isoWeek"),L("week","w"),L("isoWeek","W"),A("week",5),A("isoWeek",5),ce("w",te),ce("ww",te,Q),ce("W",te),ce("WW",te,Q),ge(["w","ww","W","WW"],function(e,t,n,s){t[s.substr(0,1)]=Z(e)});function Ie(e,t){return e.slice(t,7).concat(e.slice(0,t))}C("d",0,"do","day"),C("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),C("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),C("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),C("e",0,0,"weekday"),C("E",0,0,"isoWeekday"),L("day","d"),L("weekday","e"),L("isoWeekday","E"),A("day",11),A("weekday",11),A("isoWeekday",11),ce("d",te),ce("e",te),ce("E",te),ce("dd",function(e,t){return t.weekdaysMinRegex(e)}),ce("ddd",function(e,t){return t.weekdaysShortRegex(e)}),ce("dddd",function(e,t){return t.weekdaysRegex(e)}),ge(["dd","ddd","dddd"],function(e,t,n,s){var i=n._locale.weekdaysParse(e,s,n._strict);null!=i?t.d=i:y(n).invalidWeekday=e}),ge(["d","e","E"],function(e,t,n,s){t[s]=Z(e)});var Ze="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),ze="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),$e="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),qe=de,Be=de,Je=de;function Qe(){function e(e,t){return t.length-e.length}for(var t,n,s,i,r=[],a=[],o=[],u=[],l=0;l<7;l++)t=_([2e3,1]).day(l),n=me(this.weekdaysMin(t,"")),s=me(this.weekdaysShort(t,"")),i=me(this.weekdays(t,"")),r.push(n),a.push(s),o.push(i),u.push(n),u.push(s),u.push(i);r.sort(e),a.sort(e),o.sort(e),u.sort(e),this._weekdaysRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+o.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+a.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+r.join("|")+")","i")}function Xe(){return this.hours()%12||12}function Ke(e,t){C(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}function et(e,t){return t._meridiemParse}C("H",["HH",2],0,"hour"),C("h",["hh",2],0,Xe),C("k",["kk",2],0,function(){return this.hours()||24}),C("hmm",0,0,function(){return""+Xe.apply(this)+T(this.minutes(),2)}),C("hmmss",0,0,function(){return""+Xe.apply(this)+T(this.minutes(),2)+T(this.seconds(),2)}),C("Hmm",0,0,function(){return""+this.hours()+T(this.minutes(),2)}),C("Hmmss",0,0,function(){return""+this.hours()+T(this.minutes(),2)+T(this.seconds(),2)}),Ke("a",!0),Ke("A",!1),L("hour","h"),A("hour",13),ce("a",et),ce("A",et),ce("H",te),ce("h",te),ce("k",te),ce("HH",te,Q),ce("hh",te,Q),ce("kk",te,Q),ce("hmm",ne),ce("hmmss",se),ce("Hmm",ne),ce("Hmmss",se),ye(["H","HH"],Me),ye(["k","kk"],function(e,t,n){var s=Z(e);t[Me]=24===s?0:s}),ye(["a","A"],function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e}),ye(["h","hh"],function(e,t,n){t[Me]=Z(e),y(n).bigHour=!0}),ye("hmm",function(e,t,n){var s=e.length-2;t[Me]=Z(e.substr(0,s)),t[De]=Z(e.substr(s)),y(n).bigHour=!0}),ye("hmmss",function(e,t,n){var s=e.length-4,i=e.length-2;t[Me]=Z(e.substr(0,s)),t[De]=Z(e.substr(s,2)),t[Se]=Z(e.substr(i)),y(n).bigHour=!0}),ye("Hmm",function(e,t,n){var s=e.length-2;t[Me]=Z(e.substr(0,s)),t[De]=Z(e.substr(s))}),ye("Hmmss",function(e,t,n){var s=e.length-4,i=e.length-2;t[Me]=Z(e.substr(0,s)),t[De]=Z(e.substr(s,2)),t[Se]=Z(e.substr(i))});var tt=z("Hours",!0);var nt,st={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:Te,monthsShort:Ne,week:{dow:0,doy:6},weekdays:Ze,weekdaysMin:$e,weekdaysShort:ze,meridiemParse:/[ap]\.?m?\.?/i},it={},rt={};function at(e){return e?e.toLowerCase().replace("_","-"):e}function ot(e){for(var t,n,s,i,r=0;r<e.length;){for(t=(i=at(e[r]).split("-")).length,n=(n=at(e[r+1]))?n.split("-"):null;0<t;){if(s=ut(i.slice(0,t).join("-")))return s;if(n&&n.length>=t&&function(e,t){for(var n=Math.min(e.length,t.length),s=0;s<n;s+=1)if(e[s]!==t[s])return s;return n}(i,n)>=t-1)break;t--}r++}return nt}function ut(t){var e;if(void 0===it[t]&&"undefined"!=typeof module&&module&&module.exports)try{e=nt._abbr,require("./locale/"+t),lt(e)}catch(e){it[t]=null}return it[t]}function lt(e,t){var n;return e&&((n=r(t)?dt(e):ht(e,t))?nt=n:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),nt._abbr}function ht(e,t){if(null===t)return delete it[e],null;var n,s=st;if(t.abbr=e,null!=it[e])Y("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),s=it[e]._config;else if(null!=t.parentLocale)if(null!=it[t.parentLocale])s=it[t.parentLocale]._config;else{if(null==(n=ut(t.parentLocale)))return rt[t.parentLocale]||(rt[t.parentLocale]=[]),rt[t.parentLocale].push({name:e,config:t}),null;s=n._config}return it[e]=new x(b(s,t)),rt[e]&&rt[e].forEach(function(e){ht(e.name,e.config)}),lt(e),it[e]}function dt(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return nt;if(!o(e)){if(t=ut(e))return t;e=[e]}return ot(e)}function ct(e){var t,n=e._a;return n&&-2===y(e).overflow&&(t=n[ve]<0||11<n[ve]?ve:n[ke]<1||n[ke]>xe(n[pe],n[ve])?ke:n[Me]<0||24<n[Me]||24===n[Me]&&(0!==n[De]||0!==n[Se]||0!==n[Ye])?Me:n[De]<0||59<n[De]?De:n[Se]<0||59<n[Se]?Se:n[Ye]<0||999<n[Ye]?Ye:-1,y(e)._overflowDayOfYear&&(t<pe||ke<t)&&(t=ke),y(e)._overflowWeeks&&-1===t&&(t=Oe),y(e)._overflowWeekday&&-1===t&&(t=be),y(e).overflow=t),e}var ft=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,mt=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,_t=/Z|[+-]\d\d(?::?\d\d)?/,yt=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,!1],["YYYY",/\d{4}/,!1]],gt=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],wt=/^\/?Date\((-?\d+)/i,pt=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,vt={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function kt(e){var t,n,s,i,r,a,o=e._i,u=ft.exec(o)||mt.exec(o);if(u){for(y(e).iso=!0,t=0,n=yt.length;t<n;t++)if(yt[t][1].exec(u[1])){i=yt[t][0],s=!1!==yt[t][2];break}if(null==i)return void(e._isValid=!1);if(u[3]){for(t=0,n=gt.length;t<n;t++)if(gt[t][1].exec(u[3])){r=(u[2]||" ")+gt[t][0];break}if(null==r)return void(e._isValid=!1)}if(!s&&null!=r)return void(e._isValid=!1);if(u[4]){if(!_t.exec(u[4]))return void(e._isValid=!1);a="Z"}e._f=i+(r||"")+(a||""),Ot(e)}else e._isValid=!1}function Mt(e,t,n,s,i,r){var a=[function(e){var t=parseInt(e,10);{if(t<=49)return 2e3+t;if(t<=999)return 1900+t}return t}(e),Ne.indexOf(t),parseInt(n,10),parseInt(s,10),parseInt(i,10)];return r&&a.push(parseInt(r,10)),a}function Dt(e){var t,n,s,i,r=pt.exec(e._i.replace(/\([^)]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s\s*/,"").replace(/\s\s*$/,""));if(r){if(t=Mt(r[4],r[3],r[2],r[5],r[6],r[7]),n=r[1],s=t,i=e,n&&ze.indexOf(n)!==new Date(s[0],s[1],s[2]).getDay()&&(y(i).weekdayMismatch=!0,!void(i._isValid=!1)))return;e._a=t,e._tzm=function(e,t,n){if(e)return vt[e];if(t)return 0;var s=parseInt(n,10),i=s%100;return 60*((s-i)/100)+i}(r[8],r[9],r[10]),e._d=Ve.apply(null,e._a),e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),y(e).rfc2822=!0}else e._isValid=!1}function St(e,t,n){return null!=e?e:null!=t?t:n}function Yt(e){var t,n,s,i,r,a,o,u=[];if(!e._d){for(a=e,o=new Date(f.now()),s=a._useUTC?[o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate()]:[o.getFullYear(),o.getMonth(),o.getDate()],e._w&&null==e._a[ke]&&null==e._a[ve]&&function(e){var t,n,s,i,r,a,o,u,l;null!=(t=e._w).GG||null!=t.W||null!=t.E?(r=1,a=4,n=St(t.GG,e._a[pe],Ae(Tt(),1,4).year),s=St(t.W,1),((i=St(t.E,1))<1||7<i)&&(u=!0)):(r=e._locale._week.dow,a=e._locale._week.doy,l=Ae(Tt(),r,a),n=St(t.gg,e._a[pe],l.year),s=St(t.w,l.week),null!=t.d?((i=t.d)<0||6<i)&&(u=!0):null!=t.e?(i=t.e+r,(t.e<0||6<t.e)&&(u=!0)):i=r);s<1||s>je(n,r,a)?y(e)._overflowWeeks=!0:null!=u?y(e)._overflowWeekday=!0:(o=Ee(n,s,i,r,a),e._a[pe]=o.year,e._dayOfYear=o.dayOfYear)}(e),null!=e._dayOfYear&&(r=St(e._a[pe],s[pe]),(e._dayOfYear>Fe(r)||0===e._dayOfYear)&&(y(e)._overflowDayOfYear=!0),n=Ve(r,0,e._dayOfYear),e._a[ve]=n.getUTCMonth(),e._a[ke]=n.getUTCDate()),t=0;t<3&&null==e._a[t];++t)e._a[t]=u[t]=s[t];for(;t<7;t++)e._a[t]=u[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[Me]&&0===e._a[De]&&0===e._a[Se]&&0===e._a[Ye]&&(e._nextDay=!0,e._a[Me]=0),e._d=(e._useUTC?Ve:function(e,t,n,s,i,r,a){var o;return e<100&&0<=e?(o=new Date(e+400,t,n,s,i,r,a),isFinite(o.getFullYear())&&o.setFullYear(e)):o=new Date(e,t,n,s,i,r,a),o}).apply(null,u),i=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[Me]=24),e._w&&void 0!==e._w.d&&e._w.d!==i&&(y(e).weekdayMismatch=!0)}}function Ot(e){if(e._f!==f.ISO_8601)if(e._f!==f.RFC_2822){e._a=[],y(e).empty=!0;for(var t,n,s,i,r,a,o,u=""+e._i,l=u.length,h=0,d=H(e._f,e._locale).match(N)||[],c=0;c<d.length;c++)n=d[c],(t=(u.match(fe(n,e))||[])[0])&&(0<(s=u.substr(0,u.indexOf(t))).length&&y(e).unusedInput.push(s),u=u.slice(u.indexOf(t)+t.length),h+=t.length),W[n]?(t?y(e).empty=!1:y(e).unusedTokens.push(n),r=n,o=e,null!=(a=t)&&m(_e,r)&&_e[r](a,o._a,o,r)):e._strict&&!t&&y(e).unusedTokens.push(n);y(e).charsLeftOver=l-h,0<u.length&&y(e).unusedInput.push(u),e._a[Me]<=12&&!0===y(e).bigHour&&0<e._a[Me]&&(y(e).bigHour=void 0),y(e).parsedDateParts=e._a.slice(0),y(e).meridiem=e._meridiem,e._a[Me]=function(e,t,n){var s;if(null==n)return t;return null!=e.meridiemHour?e.meridiemHour(t,n):(null!=e.isPM&&((s=e.isPM(n))&&t<12&&(t+=12),s||12!==t||(t=0)),t)}(e._locale,e._a[Me],e._meridiem),null!==(i=y(e).era)&&(e._a[pe]=e._locale.erasConvertYear(i,e._a[pe])),Yt(e),ct(e)}else Dt(e);else kt(e)}function bt(e){var t,n,s=e._i,i=e._f;return e._locale=e._locale||dt(e._l),null===s||void 0===i&&""===s?w({nullInput:!0}):("string"==typeof s&&(e._i=s=e._locale.preparse(s)),M(s)?new k(ct(s)):(a(s)?e._d=s:o(i)?function(e){var t,n,s,i,r,a,o=!1;if(0===e._f.length)return y(e).invalidFormat=!0,e._d=new Date(NaN);for(i=0;i<e._f.length;i++)r=0,a=!1,t=v({},e),null!=e._useUTC&&(t._useUTC=e._useUTC),t._f=e._f[i],Ot(t),g(t)&&(a=!0),r+=y(t).charsLeftOver,r+=10*y(t).unusedTokens.length,y(t).score=r,o?r<s&&(s=r,n=t):(null==s||r<s||a)&&(s=r,n=t,a&&(o=!0));c(e,n||t)}(e):i?Ot(e):r(n=(t=e)._i)?t._d=new Date(f.now()):a(n)?t._d=new Date(n.valueOf()):"string"==typeof n?function(e){var t=wt.exec(e._i);null===t?(kt(e),!1===e._isValid&&(delete e._isValid,Dt(e),!1===e._isValid&&(delete e._isValid,e._strict?e._isValid=!1:f.createFromInputFallback(e)))):e._d=new Date(+t[1])}(t):o(n)?(t._a=d(n.slice(0),function(e){return parseInt(e,10)}),Yt(t)):u(n)?function(e){var t,n;e._d||(n=void 0===(t=G(e._i)).day?t.date:t.day,e._a=d([t.year,t.month,n,t.hour,t.minute,t.second,t.millisecond],function(e){return e&&parseInt(e,10)}),Yt(e))}(t):h(n)?t._d=new Date(n):f.createFromInputFallback(t),g(e)||(e._d=null),e))}function xt(e,t,n,s,i){var r,a={};return!0!==t&&!1!==t||(s=t,t=void 0),!0!==n&&!1!==n||(s=n,n=void 0),(u(e)&&l(e)||o(e)&&0===e.length)&&(e=void 0),a._isAMomentObject=!0,a._useUTC=a._isUTC=i,a._l=n,a._i=e,a._f=t,a._strict=s,(r=new k(ct(bt(a))))._nextDay&&(r.add(1,"d"),r._nextDay=void 0),r}function Tt(e,t,n,s){return xt(e,t,n,s,!1)}f.createFromInputFallback=n("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(e){e._d=new Date(e._i+(e._useUTC?" UTC":""))}),f.ISO_8601=function(){},f.RFC_2822=function(){};var Nt=n("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=Tt.apply(null,arguments);return this.isValid()&&e.isValid()?e<this?this:e:w()}),Pt=n("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=Tt.apply(null,arguments);return this.isValid()&&e.isValid()?this<e?this:e:w()});function Rt(e,t){var n,s;if(1===t.length&&o(t[0])&&(t=t[0]),!t.length)return Tt();for(n=t[0],s=1;s<t.length;++s)t[s].isValid()&&!t[s][e](n)||(n=t[s]);return n}var Wt=["year","quarter","month","week","day","hour","minute","second","millisecond"];function Ct(e){var t=G(e),n=t.year||0,s=t.quarter||0,i=t.month||0,r=t.week||t.isoWeek||0,a=t.day||0,o=t.hour||0,u=t.minute||0,l=t.second||0,h=t.millisecond||0;this._isValid=function(e){var t,n,s=!1;for(t in e)if(m(e,t)&&(-1===we.call(Wt,t)||null!=e[t]&&isNaN(e[t])))return!1;for(n=0;n<Wt.length;++n)if(e[Wt[n]]){if(s)return!1;parseFloat(e[Wt[n]])!==Z(e[Wt[n]])&&(s=!0)}return!0}(t),this._milliseconds=+h+1e3*l+6e4*u+1e3*o*60*60,this._days=+a+7*r,this._months=+i+3*s+12*n,this._data={},this._locale=dt(),this._bubble()}function Ut(e){return e instanceof Ct}function Ht(e){return e<0?-1*Math.round(-1*e):Math.round(e)}function Ft(e,n){C(e,0,0,function(){var e=this.utcOffset(),t="+";return e<0&&(e=-e,t="-"),t+T(~~(e/60),2)+n+T(~~e%60,2)})}Ft("Z",":"),Ft("ZZ",""),ce("Z",he),ce("ZZ",he),ye(["Z","ZZ"],function(e,t,n){n._useUTC=!0,n._tzm=Vt(he,e)});var Lt=/([\+\-]|\d\d)/gi;function Vt(e,t){var n,s,i=(t||"").match(e);return null===i?null:0===(s=60*(n=((i[i.length-1]||[])+"").match(Lt)||["-",0,0])[1]+Z(n[2]))?0:"+"===n[0]?s:-s}function Gt(e,t){var n,s;return t._isUTC?(n=t.clone(),s=(M(e)||a(e)?e.valueOf():Tt(e).valueOf())-n.valueOf(),n._d.setTime(n._d.valueOf()+s),f.updateOffset(n,!1),n):Tt(e).local()}function Et(e){return-Math.round(e._d.getTimezoneOffset())}function At(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}f.updateOffset=function(){};var jt=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,It=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function Zt(e,t){var n,s,i,r=e,a=null;return Ut(e)?r={ms:e._milliseconds,d:e._days,M:e._months}:h(e)||!isNaN(+e)?(r={},t?r[t]=+e:r.milliseconds=+e):(a=jt.exec(e))?(n="-"===a[1]?-1:1,r={y:0,d:Z(a[ke])*n,h:Z(a[Me])*n,m:Z(a[De])*n,s:Z(a[Se])*n,ms:Z(Ht(1e3*a[Ye]))*n}):(a=It.exec(e))?(n="-"===a[1]?-1:1,r={y:zt(a[2],n),M:zt(a[3],n),w:zt(a[4],n),d:zt(a[5],n),h:zt(a[6],n),m:zt(a[7],n),s:zt(a[8],n)}):null==r?r={}:"object"==typeof r&&("from"in r||"to"in r)&&(i=function(e,t){var n;if(!e.isValid()||!t.isValid())return{milliseconds:0,months:0};t=Gt(t,e),e.isBefore(t)?n=$t(e,t):((n=$t(t,e)).milliseconds=-n.milliseconds,n.months=-n.months);return n}(Tt(r.from),Tt(r.to)),(r={}).ms=i.milliseconds,r.M=i.months),s=new Ct(r),Ut(e)&&m(e,"_locale")&&(s._locale=e._locale),Ut(e)&&m(e,"_isValid")&&(s._isValid=e._isValid),s}function zt(e,t){var n=e&&parseFloat(e.replace(",","."));return(isNaN(n)?0:n)*t}function $t(e,t){var n={};return n.months=t.month()-e.month()+12*(t.year()-e.year()),e.clone().add(n.months,"M").isAfter(t)&&--n.months,n.milliseconds=t-e.clone().add(n.months,"M"),n}function qt(s,i){return function(e,t){var n;return null===t||isNaN(+t)||(Y(i,"moment()."+i+"(period, number) is deprecated. Please use moment()."+i+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),n=e,e=t,t=n),Bt(this,Zt(e,t),s),this}}function Bt(e,t,n,s){var i=t._milliseconds,r=Ht(t._days),a=Ht(t._months);e.isValid()&&(s=null==s||s,a&&Ce(e,$(e,"Month")+a*n),r&&q(e,"Date",$(e,"Date")+r*n),i&&e._d.setTime(e._d.valueOf()+i*n),s&&f.updateOffset(e,r||a))}Zt.fn=Ct.prototype,Zt.invalid=function(){return Zt(NaN)};var Jt=qt(1,"add"),Qt=qt(-1,"subtract");function Xt(e){return"string"==typeof e||e instanceof String}function Kt(e){return M(e)||a(e)||Xt(e)||h(e)||function(t){var e=o(t),n=!1;e&&(n=0===t.filter(function(e){return!h(e)&&Xt(t)}).length);return e&&n}(e)||function(e){var t,n,s=u(e)&&!l(e),i=!1,r=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"];for(t=0;t<r.length;t+=1)n=r[t],i=i||m(e,n);return s&&i}(e)||null==e}function en(e,t){if(e.date()<t.date())return-en(t,e);var n=12*(t.year()-e.year())+(t.month()-e.month()),s=e.clone().add(n,"months"),i=t-s<0?(t-s)/(s-e.clone().add(n-1,"months")):(t-s)/(e.clone().add(1+n,"months")-s);return-(n+i)||0}function tn(e){var t;return void 0===e?this._locale._abbr:(null!=(t=dt(e))&&(this._locale=t),this)}f.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",f.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var nn=n("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(e){return void 0===e?this.localeData():this.locale(e)});function sn(){return this._locale}var rn=126227808e5;function an(e,t){return(e%t+t)%t}function on(e,t,n){return e<100&&0<=e?new Date(e+400,t,n)-rn:new Date(e,t,n).valueOf()}function un(e,t,n){return e<100&&0<=e?Date.UTC(e+400,t,n)-rn:Date.UTC(e,t,n)}function ln(e,t){return t.erasAbbrRegex(e)}function hn(){for(var e=[],t=[],n=[],s=[],i=this.eras(),r=0,a=i.length;r<a;++r)t.push(me(i[r].name)),e.push(me(i[r].abbr)),n.push(me(i[r].narrow)),s.push(me(i[r].name)),s.push(me(i[r].abbr)),s.push(me(i[r].narrow));this._erasRegex=new RegExp("^("+s.join("|")+")","i"),this._erasNameRegex=new RegExp("^("+t.join("|")+")","i"),this._erasAbbrRegex=new RegExp("^("+e.join("|")+")","i"),this._erasNarrowRegex=new RegExp("^("+n.join("|")+")","i")}function dn(e,t){C(0,[e,e.length],0,t)}function cn(e,t,n,s,i){var r;return null==e?Ae(this,s,i).year:((r=je(e,s,i))<t&&(t=r),function(e,t,n,s,i){var r=Ee(e,t,n,s,i),a=Ve(r.year,0,r.dayOfYear);return this.year(a.getUTCFullYear()),this.month(a.getUTCMonth()),this.date(a.getUTCDate()),this}.call(this,e,t,n,s,i))}C("N",0,0,"eraAbbr"),C("NN",0,0,"eraAbbr"),C("NNN",0,0,"eraAbbr"),C("NNNN",0,0,"eraName"),C("NNNNN",0,0,"eraNarrow"),C("y",["y",1],"yo","eraYear"),C("y",["yy",2],0,"eraYear"),C("y",["yyy",3],0,"eraYear"),C("y",["yyyy",4],0,"eraYear"),ce("N",ln),ce("NN",ln),ce("NNN",ln),ce("NNNN",function(e,t){return t.erasNameRegex(e)}),ce("NNNNN",function(e,t){return t.erasNarrowRegex(e)}),ye(["N","NN","NNN","NNNN","NNNNN"],function(e,t,n,s){var i=n._locale.erasParse(e,s,n._strict);i?y(n).era=i:y(n).invalidEra=e}),ce("y",oe),ce("yy",oe),ce("yyy",oe),ce("yyyy",oe),ce("yo",function(e,t){return t._eraYearOrdinalRegex||oe}),ye(["y","yy","yyy","yyyy"],pe),ye(["yo"],function(e,t,n,s){var i;n._locale._eraYearOrdinalRegex&&(i=e.match(n._locale._eraYearOrdinalRegex)),n._locale.eraYearOrdinalParse?t[pe]=n._locale.eraYearOrdinalParse(e,i):t[pe]=parseInt(e,10)}),C(0,["gg",2],0,function(){return this.weekYear()%100}),C(0,["GG",2],0,function(){return this.isoWeekYear()%100}),dn("gggg","weekYear"),dn("ggggg","weekYear"),dn("GGGG","isoWeekYear"),dn("GGGGG","isoWeekYear"),L("weekYear","gg"),L("isoWeekYear","GG"),A("weekYear",1),A("isoWeekYear",1),ce("G",ue),ce("g",ue),ce("GG",te,Q),ce("gg",te,Q),ce("GGGG",re,K),ce("gggg",re,K),ce("GGGGG",ae,ee),ce("ggggg",ae,ee),ge(["gggg","ggggg","GGGG","GGGGG"],function(e,t,n,s){t[s.substr(0,2)]=Z(e)}),ge(["gg","GG"],function(e,t,n,s){t[s]=f.parseTwoDigitYear(e)}),C("Q",0,"Qo","quarter"),L("quarter","Q"),A("quarter",7),ce("Q",J),ye("Q",function(e,t){t[ve]=3*(Z(e)-1)}),C("D",["DD",2],"Do","date"),L("date","D"),A("date",9),ce("D",te),ce("DD",te,Q),ce("Do",function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient}),ye(["D","DD"],ke),ye("Do",function(e,t){t[ke]=Z(e.match(te)[0])});var fn=z("Date",!0);C("DDD",["DDDD",3],"DDDo","dayOfYear"),L("dayOfYear","DDD"),A("dayOfYear",4),ce("DDD",ie),ce("DDDD",X),ye(["DDD","DDDD"],function(e,t,n){n._dayOfYear=Z(e)}),C("m",["mm",2],0,"minute"),L("minute","m"),A("minute",14),ce("m",te),ce("mm",te,Q),ye(["m","mm"],De);var mn=z("Minutes",!1);C("s",["ss",2],0,"second"),L("second","s"),A("second",15),ce("s",te),ce("ss",te,Q),ye(["s","ss"],Se);var _n,yn,gn=z("Seconds",!1);for(C("S",0,0,function(){return~~(this.millisecond()/100)}),C(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),C(0,["SSS",3],0,"millisecond"),C(0,["SSSS",4],0,function(){return 10*this.millisecond()}),C(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),C(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),C(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),C(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),C(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),L("millisecond","ms"),A("millisecond",16),ce("S",ie,J),ce("SS",ie,Q),ce("SSS",ie,X),_n="SSSS";_n.length<=9;_n+="S")ce(_n,oe);function wn(e,t){t[Ye]=Z(1e3*("0."+e))}for(_n="S";_n.length<=9;_n+="S")ye(_n,wn);yn=z("Milliseconds",!1),C("z",0,0,"zoneAbbr"),C("zz",0,0,"zoneName");var pn=k.prototype;function vn(e){return e}pn.add=Jt,pn.calendar=function(e,t){1===arguments.length&&(arguments[0]?Kt(arguments[0])?(e=arguments[0],t=void 0):function(e){for(var t=u(e)&&!l(e),n=!1,s=["sameDay","nextDay","lastDay","nextWeek","lastWeek","sameElse"],i=0;i<s.length;i+=1)n=n||m(e,s[i]);return t&&n}(arguments[0])&&(t=arguments[0],e=void 0):t=e=void 0);var n=e||Tt(),s=Gt(n,this).startOf("day"),i=f.calendarFormat(this,s)||"sameElse",r=t&&(O(t[i])?t[i].call(this,n):t[i]);return this.format(r||this.localeData().calendar(i,this,Tt(n)))},pn.clone=function(){return new k(this)},pn.diff=function(e,t,n){var s,i,r;if(!this.isValid())return NaN;if(!(s=Gt(e,this)).isValid())return NaN;switch(i=6e4*(s.utcOffset()-this.utcOffset()),t=V(t)){case"year":r=en(this,s)/12;break;case"month":r=en(this,s);break;case"quarter":r=en(this,s)/3;break;case"second":r=(this-s)/1e3;break;case"minute":r=(this-s)/6e4;break;case"hour":r=(this-s)/36e5;break;case"day":r=(this-s-i)/864e5;break;case"week":r=(this-s-i)/6048e5;break;default:r=this-s}return n?r:I(r)},pn.endOf=function(e){var t,n;if(void 0===(e=V(e))||"millisecond"===e||!this.isValid())return this;switch(n=this._isUTC?un:on,e){case"year":t=n(this.year()+1,0,1)-1;break;case"quarter":t=n(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":t=n(this.year(),this.month()+1,1)-1;break;case"week":t=n(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":t=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":t=n(this.year(),this.month(),this.date()+1)-1;break;case"hour":t=this._d.valueOf(),t+=36e5-an(t+(this._isUTC?0:6e4*this.utcOffset()),36e5)-1;break;case"minute":t=this._d.valueOf(),t+=6e4-an(t,6e4)-1;break;case"second":t=this._d.valueOf(),t+=1e3-an(t,1e3)-1;break}return this._d.setTime(t),f.updateOffset(this,!0),this},pn.format=function(e){e=e||(this.isUtc()?f.defaultFormatUtc:f.defaultFormat);var t=U(this,e);return this.localeData().postformat(t)},pn.from=function(e,t){return this.isValid()&&(M(e)&&e.isValid()||Tt(e).isValid())?Zt({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},pn.fromNow=function(e){return this.from(Tt(),e)},pn.to=function(e,t){return this.isValid()&&(M(e)&&e.isValid()||Tt(e).isValid())?Zt({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},pn.toNow=function(e){return this.to(Tt(),e)},pn.get=function(e){return O(this[e=V(e)])?this[e]():this},pn.invalidAt=function(){return y(this).overflow},pn.isAfter=function(e,t){var n=M(e)?e:Tt(e);return!(!this.isValid()||!n.isValid())&&("millisecond"===(t=V(t)||"millisecond")?this.valueOf()>n.valueOf():n.valueOf()<this.clone().startOf(t).valueOf())},pn.isBefore=function(e,t){var n=M(e)?e:Tt(e);return!(!this.isValid()||!n.isValid())&&("millisecond"===(t=V(t)||"millisecond")?this.valueOf()<n.valueOf():this.clone().endOf(t).valueOf()<n.valueOf())},pn.isBetween=function(e,t,n,s){var i=M(e)?e:Tt(e),r=M(t)?t:Tt(t);return!!(this.isValid()&&i.isValid()&&r.isValid())&&(("("===(s=s||"()")[0]?this.isAfter(i,n):!this.isBefore(i,n))&&(")"===s[1]?this.isBefore(r,n):!this.isAfter(r,n)))},pn.isSame=function(e,t){var n,s=M(e)?e:Tt(e);return!(!this.isValid()||!s.isValid())&&("millisecond"===(t=V(t)||"millisecond")?this.valueOf()===s.valueOf():(n=s.valueOf(),this.clone().startOf(t).valueOf()<=n&&n<=this.clone().endOf(t).valueOf()))},pn.isSameOrAfter=function(e,t){return this.isSame(e,t)||this.isAfter(e,t)},pn.isSameOrBefore=function(e,t){return this.isSame(e,t)||this.isBefore(e,t)},pn.isValid=function(){return g(this)},pn.lang=nn,pn.locale=tn,pn.localeData=sn,pn.max=Pt,pn.min=Nt,pn.parsingFlags=function(){return c({},y(this))},pn.set=function(e,t){if("object"==typeof e)for(var n=function(e){var t,n=[];for(t in e)m(e,t)&&n.push({unit:t,priority:E[t]});return n.sort(function(e,t){return e.priority-t.priority}),n}(e=G(e)),s=0;s<n.length;s++)this[n[s].unit](e[n[s].unit]);else if(O(this[e=V(e)]))return this[e](t);return this},pn.startOf=function(e){var t,n;if(void 0===(e=V(e))||"millisecond"===e||!this.isValid())return this;switch(n=this._isUTC?un:on,e){case"year":t=n(this.year(),0,1);break;case"quarter":t=n(this.year(),this.month()-this.month()%3,1);break;case"month":t=n(this.year(),this.month(),1);break;case"week":t=n(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":t=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":t=n(this.year(),this.month(),this.date());break;case"hour":t=this._d.valueOf(),t-=an(t+(this._isUTC?0:6e4*this.utcOffset()),36e5);break;case"minute":t=this._d.valueOf(),t-=an(t,6e4);break;case"second":t=this._d.valueOf(),t-=an(t,1e3);break}return this._d.setTime(t),f.updateOffset(this,!0),this},pn.subtract=Qt,pn.toArray=function(){var e=this;return[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()]},pn.toObject=function(){var e=this;return{years:e.year(),months:e.month(),date:e.date(),hours:e.hours(),minutes:e.minutes(),seconds:e.seconds(),milliseconds:e.milliseconds()}},pn.toDate=function(){return new Date(this.valueOf())},pn.toISOString=function(e){if(!this.isValid())return null;var t=!0!==e,n=t?this.clone().utc():this;return n.year()<0||9999<n.year()?U(n,t?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):O(Date.prototype.toISOString)?t?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",U(n,"Z")):U(n,t?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},pn.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e,t,n,s="moment",i="";return this.isLocal()||(s=0===this.utcOffset()?"moment.utc":"moment.parseZone",i="Z"),e="["+s+'("]',t=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",n=i+'[")]',this.format(e+t+"-MM-DD[T]HH:mm:ss.SSS"+n)},"undefined"!=typeof Symbol&&null!=Symbol.for&&(pn[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"}),pn.toJSON=function(){return this.isValid()?this.toISOString():null},pn.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},pn.unix=function(){return Math.floor(this.valueOf()/1e3)},pn.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},pn.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},pn.eraName=function(){for(var e,t=this.localeData().eras(),n=0,s=t.length;n<s;++n){if(e=this.clone().startOf("day").valueOf(),t[n].since<=e&&e<=t[n].until)return t[n].name;if(t[n].until<=e&&e<=t[n].since)return t[n].name}return""},pn.eraNarrow=function(){for(var e,t=this.localeData().eras(),n=0,s=t.length;n<s;++n){if(e=this.clone().startOf("day").valueOf(),t[n].since<=e&&e<=t[n].until)return t[n].narrow;if(t[n].until<=e&&e<=t[n].since)return t[n].narrow}return""},pn.eraAbbr=function(){for(var e,t=this.localeData().eras(),n=0,s=t.length;n<s;++n){if(e=this.clone().startOf("day").valueOf(),t[n].since<=e&&e<=t[n].until)return t[n].abbr;if(t[n].until<=e&&e<=t[n].since)return t[n].abbr}return""},pn.eraYear=function(){for(var e,t,n=this.localeData().eras(),s=0,i=n.length;s<i;++s)if(e=n[s].since<=n[s].until?1:-1,t=this.clone().startOf("day").valueOf(),n[s].since<=t&&t<=n[s].until||n[s].until<=t&&t<=n[s].since)return(this.year()-f(n[s].since).year())*e+n[s].offset;return this.year()},pn.year=Le,pn.isLeapYear=function(){return j(this.year())},pn.weekYear=function(e){return cn.call(this,e,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},pn.isoWeekYear=function(e){return cn.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)},pn.quarter=pn.quarters=function(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)},pn.month=Ue,pn.daysInMonth=function(){return xe(this.year(),this.month())},pn.week=pn.weeks=function(e){var t=this.localeData().week(this);return null==e?t:this.add(7*(e-t),"d")},pn.isoWeek=pn.isoWeeks=function(e){var t=Ae(this,1,4).week;return null==e?t:this.add(7*(e-t),"d")},pn.weeksInYear=function(){var e=this.localeData()._week;return je(this.year(),e.dow,e.doy)},pn.weeksInWeekYear=function(){var e=this.localeData()._week;return je(this.weekYear(),e.dow,e.doy)},pn.isoWeeksInYear=function(){return je(this.year(),1,4)},pn.isoWeeksInISOWeekYear=function(){return je(this.isoWeekYear(),1,4)},pn.date=fn,pn.day=pn.days=function(e){if(!this.isValid())return null!=e?this:NaN;var t,n,s=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=e?(t=e,n=this.localeData(),e="string"!=typeof t?t:isNaN(t)?"number"==typeof(t=n.weekdaysParse(t))?t:null:parseInt(t,10),this.add(e-s,"d")):s},pn.weekday=function(e){if(!this.isValid())return null!=e?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return null==e?t:this.add(e-t,"d")},pn.isoWeekday=function(e){if(!this.isValid())return null!=e?this:NaN;if(null==e)return this.day()||7;var t,n,s=(t=e,n=this.localeData(),"string"==typeof t?n.weekdaysParse(t)%7||7:isNaN(t)?null:t);return this.day(this.day()%7?s:s-7)},pn.dayOfYear=function(e){var t=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==e?t:this.add(e-t,"d")},pn.hour=pn.hours=tt,pn.minute=pn.minutes=mn,pn.second=pn.seconds=gn,pn.millisecond=pn.milliseconds=yn,pn.utcOffset=function(e,t,n){var s,i=this._offset||0;if(!this.isValid())return null!=e?this:NaN;if(null==e)return this._isUTC?i:Et(this);if("string"==typeof e){if(null===(e=Vt(he,e)))return this}else Math.abs(e)<16&&!n&&(e*=60);return!this._isUTC&&t&&(s=Et(this)),this._offset=e,this._isUTC=!0,null!=s&&this.add(s,"m"),i!==e&&(!t||this._changeInProgress?Bt(this,Zt(e-i,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,f.updateOffset(this,!0),this._changeInProgress=null)),this},pn.utc=function(e){return this.utcOffset(0,e)},pn.local=function(e){return this._isUTC&&(this.utcOffset(0,e),this._isUTC=!1,e&&this.subtract(Et(this),"m")),this},pn.parseZone=function(){var e;return null!=this._tzm?this.utcOffset(this._tzm,!1,!0):"string"==typeof this._i&&(null!=(e=Vt(le,this._i))?this.utcOffset(e):this.utcOffset(0,!0)),this},pn.hasAlignedHourOffset=function(e){return!!this.isValid()&&(e=e?Tt(e).utcOffset():0,(this.utcOffset()-e)%60==0)},pn.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},pn.isLocal=function(){return!!this.isValid()&&!this._isUTC},pn.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},pn.isUtc=At,pn.isUTC=At,pn.zoneAbbr=function(){return this._isUTC?"UTC":""},pn.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},pn.dates=n("dates accessor is deprecated. Use date instead.",fn),pn.months=n("months accessor is deprecated. Use month instead",Ue),pn.years=n("years accessor is deprecated. Use year instead",Le),pn.zone=n("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function(e,t){return null!=e?("string"!=typeof e&&(e=-e),this.utcOffset(e,t),this):-this.utcOffset()}),pn.isDSTShifted=n("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function(){if(!r(this._isDSTShifted))return this._isDSTShifted;var e,t={};return v(t,this),(t=bt(t))._a?(e=(t._isUTC?_:Tt)(t._a),this._isDSTShifted=this.isValid()&&0<function(e,t,n){for(var s=Math.min(e.length,t.length),i=Math.abs(e.length-t.length),r=0,a=0;a<s;a++)(n&&e[a]!==t[a]||!n&&Z(e[a])!==Z(t[a]))&&r++;return r+i}(t._a,e.toArray())):this._isDSTShifted=!1,this._isDSTShifted});var kn=x.prototype;function Mn(e,t,n,s){var i=dt(),r=_().set(s,t);return i[n](r,e)}function Dn(e,t,n){if(h(e)&&(t=e,e=void 0),e=e||"",null!=t)return Mn(e,t,n,"month");for(var s=[],i=0;i<12;i++)s[i]=Mn(e,i,n,"month");return s}function Sn(e,t,n,s){t=("boolean"==typeof e?h(t)&&(n=t,t=void 0):(t=e,e=!1,h(n=t)&&(n=t,t=void 0)),t||"");var i,r=dt(),a=e?r._week.dow:0,o=[];if(null!=n)return Mn(t,(n+a)%7,s,"day");for(i=0;i<7;i++)o[i]=Mn(t,(i+a)%7,s,"day");return o}kn.calendar=function(e,t,n){var s=this._calendar[e]||this._calendar.sameElse;return O(s)?s.call(t,n):s},kn.longDateFormat=function(e){var t=this._longDateFormat[e],n=this._longDateFormat[e.toUpperCase()];return t||!n?t:(this._longDateFormat[e]=n.match(N).map(function(e){return"MMMM"===e||"MM"===e||"DD"===e||"dddd"===e?e.slice(1):e}).join(""),this._longDateFormat[e])},kn.invalidDate=function(){return this._invalidDate},kn.ordinal=function(e){return this._ordinal.replace("%d",e)},kn.preparse=vn,kn.postformat=vn,kn.relativeTime=function(e,t,n,s){var i=this._relativeTime[n];return O(i)?i(e,t,n,s):i.replace(/%d/i,e)},kn.pastFuture=function(e,t){var n=this._relativeTime[0<e?"future":"past"];return O(n)?n(t):n.replace(/%s/i,t)},kn.set=function(e){var t,n;for(n in e)m(e,n)&&(O(t=e[n])?this[n]=t:this["_"+n]=t);this._config=e,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},kn.eras=function(e,t){for(var n,s=this._eras||dt("en")._eras,i=0,r=s.length;i<r;++i){switch(typeof s[i].since){case"string":n=f(s[i].since).startOf("day"),s[i].since=n.valueOf();break}switch(typeof s[i].until){case"undefined":s[i].until=1/0;break;case"string":n=f(s[i].until).startOf("day").valueOf(),s[i].until=n.valueOf();break}}return s},kn.erasParse=function(e,t,n){var s,i,r,a,o,u=this.eras();for(e=e.toUpperCase(),s=0,i=u.length;s<i;++s)if(r=u[s].name.toUpperCase(),a=u[s].abbr.toUpperCase(),o=u[s].narrow.toUpperCase(),n)switch(t){case"N":case"NN":case"NNN":if(a===e)return u[s];break;case"NNNN":if(r===e)return u[s];break;case"NNNNN":if(o===e)return u[s];break}else if(0<=[r,a,o].indexOf(e))return u[s]},kn.erasConvertYear=function(e,t){var n=e.since<=e.until?1:-1;return void 0===t?f(e.since).year():f(e.since).year()+(t-e.offset)*n},kn.erasAbbrRegex=function(e){return m(this,"_erasAbbrRegex")||hn.call(this),e?this._erasAbbrRegex:this._erasRegex},kn.erasNameRegex=function(e){return m(this,"_erasNameRegex")||hn.call(this),e?this._erasNameRegex:this._erasRegex},kn.erasNarrowRegex=function(e){return m(this,"_erasNarrowRegex")||hn.call(this),e?this._erasNarrowRegex:this._erasRegex},kn.months=function(e,t){return e?o(this._months)?this._months[e.month()]:this._months[(this._months.isFormat||Pe).test(t)?"format":"standalone"][e.month()]:o(this._months)?this._months:this._months.standalone},kn.monthsShort=function(e,t){return e?o(this._monthsShort)?this._monthsShort[e.month()]:this._monthsShort[Pe.test(t)?"format":"standalone"][e.month()]:o(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},kn.monthsParse=function(e,t,n){var s,i,r;if(this._monthsParseExact)return function(e,t,n){var s,i,r,a=e.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],s=0;s<12;++s)r=_([2e3,s]),this._shortMonthsParse[s]=this.monthsShort(r,"").toLocaleLowerCase(),this._longMonthsParse[s]=this.months(r,"").toLocaleLowerCase();return n?"MMM"===t?-1!==(i=we.call(this._shortMonthsParse,a))?i:null:-1!==(i=we.call(this._longMonthsParse,a))?i:null:"MMM"===t?-1!==(i=we.call(this._shortMonthsParse,a))||-1!==(i=we.call(this._longMonthsParse,a))?i:null:-1!==(i=we.call(this._longMonthsParse,a))||-1!==(i=we.call(this._shortMonthsParse,a))?i:null}.call(this,e,t,n);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),s=0;s<12;s++){if(i=_([2e3,s]),n&&!this._longMonthsParse[s]&&(this._longMonthsParse[s]=new RegExp("^"+this.months(i,"").replace(".","")+"$","i"),this._shortMonthsParse[s]=new RegExp("^"+this.monthsShort(i,"").replace(".","")+"$","i")),n||this._monthsParse[s]||(r="^"+this.months(i,"")+"|^"+this.monthsShort(i,""),this._monthsParse[s]=new RegExp(r.replace(".",""),"i")),n&&"MMMM"===t&&this._longMonthsParse[s].test(e))return s;if(n&&"MMM"===t&&this._shortMonthsParse[s].test(e))return s;if(!n&&this._monthsParse[s].test(e))return s}},kn.monthsRegex=function(e){return this._monthsParseExact?(m(this,"_monthsRegex")||He.call(this),e?this._monthsStrictRegex:this._monthsRegex):(m(this,"_monthsRegex")||(this._monthsRegex=We),this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)},kn.monthsShortRegex=function(e){return this._monthsParseExact?(m(this,"_monthsRegex")||He.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):(m(this,"_monthsShortRegex")||(this._monthsShortRegex=Re),this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex)},kn.week=function(e){return Ae(e,this._week.dow,this._week.doy).week},kn.firstDayOfYear=function(){return this._week.doy},kn.firstDayOfWeek=function(){return this._week.dow},kn.weekdays=function(e,t){var n=o(this._weekdays)?this._weekdays:this._weekdays[e&&!0!==e&&this._weekdays.isFormat.test(t)?"format":"standalone"];return!0===e?Ie(n,this._week.dow):e?n[e.day()]:n},kn.weekdaysMin=function(e){return!0===e?Ie(this._weekdaysMin,this._week.dow):e?this._weekdaysMin[e.day()]:this._weekdaysMin},kn.weekdaysShort=function(e){return!0===e?Ie(this._weekdaysShort,this._week.dow):e?this._weekdaysShort[e.day()]:this._weekdaysShort},kn.weekdaysParse=function(e,t,n){var s,i,r;if(this._weekdaysParseExact)return function(e,t,n){var s,i,r,a=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],s=0;s<7;++s)r=_([2e3,1]).day(s),this._minWeekdaysParse[s]=this.weekdaysMin(r,"").toLocaleLowerCase(),this._shortWeekdaysParse[s]=this.weekdaysShort(r,"").toLocaleLowerCase(),this._weekdaysParse[s]=this.weekdays(r,"").toLocaleLowerCase();return n?"dddd"===t?-1!==(i=we.call(this._weekdaysParse,a))?i:null:"ddd"===t?-1!==(i=we.call(this._shortWeekdaysParse,a))?i:null:-1!==(i=we.call(this._minWeekdaysParse,a))?i:null:"dddd"===t?-1!==(i=we.call(this._weekdaysParse,a))||-1!==(i=we.call(this._shortWeekdaysParse,a))||-1!==(i=we.call(this._minWeekdaysParse,a))?i:null:"ddd"===t?-1!==(i=we.call(this._shortWeekdaysParse,a))||-1!==(i=we.call(this._weekdaysParse,a))||-1!==(i=we.call(this._minWeekdaysParse,a))?i:null:-1!==(i=we.call(this._minWeekdaysParse,a))||-1!==(i=we.call(this._weekdaysParse,a))||-1!==(i=we.call(this._shortWeekdaysParse,a))?i:null}.call(this,e,t,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),s=0;s<7;s++){if(i=_([2e3,1]).day(s),n&&!this._fullWeekdaysParse[s]&&(this._fullWeekdaysParse[s]=new RegExp("^"+this.weekdays(i,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[s]=new RegExp("^"+this.weekdaysShort(i,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[s]=new RegExp("^"+this.weekdaysMin(i,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[s]||(r="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[s]=new RegExp(r.replace(".",""),"i")),n&&"dddd"===t&&this._fullWeekdaysParse[s].test(e))return s;if(n&&"ddd"===t&&this._shortWeekdaysParse[s].test(e))return s;if(n&&"dd"===t&&this._minWeekdaysParse[s].test(e))return s;if(!n&&this._weekdaysParse[s].test(e))return s}},kn.weekdaysRegex=function(e){return this._weekdaysParseExact?(m(this,"_weekdaysRegex")||Qe.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(m(this,"_weekdaysRegex")||(this._weekdaysRegex=qe),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)},kn.weekdaysShortRegex=function(e){return this._weekdaysParseExact?(m(this,"_weekdaysRegex")||Qe.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(m(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Be),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},kn.weekdaysMinRegex=function(e){return this._weekdaysParseExact?(m(this,"_weekdaysRegex")||Qe.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(m(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Je),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},kn.isPM=function(e){return"p"===(e+"").toLowerCase().charAt(0)},kn.meridiem=function(e,t,n){return 11<e?n?"pm":"PM":n?"am":"AM"},lt("en",{eras:[{since:"0001-01-01",until:1/0,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10;return e+(1===Z(e%100/10)?"th":1==t?"st":2==t?"nd":3==t?"rd":"th")}}),f.lang=n("moment.lang is deprecated. Use moment.locale instead.",lt),f.langData=n("moment.langData is deprecated. Use moment.localeData instead.",dt);var Yn=Math.abs;function On(e,t,n,s){var i=Zt(t,n);return e._milliseconds+=s*i._milliseconds,e._days+=s*i._days,e._months+=s*i._months,e._bubble()}function bn(e){return e<0?Math.floor(e):Math.ceil(e)}function xn(e){return 4800*e/146097}function Tn(e){return 146097*e/4800}function Nn(e){return function(){return this.as(e)}}var Pn=Nn("ms"),Rn=Nn("s"),Wn=Nn("m"),Cn=Nn("h"),Un=Nn("d"),Hn=Nn("w"),Fn=Nn("M"),Ln=Nn("Q"),Vn=Nn("y");function Gn(e){return function(){return this.isValid()?this._data[e]:NaN}}var En=Gn("milliseconds"),An=Gn("seconds"),jn=Gn("minutes"),In=Gn("hours"),Zn=Gn("days"),zn=Gn("months"),$n=Gn("years");var qn=Math.round,Bn={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function Jn(e,t,n,s){var i=Zt(e).abs(),r=qn(i.as("s")),a=qn(i.as("m")),o=qn(i.as("h")),u=qn(i.as("d")),l=qn(i.as("M")),h=qn(i.as("w")),d=qn(i.as("y")),c=(r<=n.ss?["s",r]:r<n.s&&["ss",r])||a<=1&&["m"]||a<n.m&&["mm",a]||o<=1&&["h"]||o<n.h&&["hh",o]||u<=1&&["d"]||u<n.d&&["dd",u];return null!=n.w&&(c=c||h<=1&&["w"]||h<n.w&&["ww",h]),(c=c||l<=1&&["M"]||l<n.M&&["MM",l]||d<=1&&["y"]||["yy",d])[2]=t,c[3]=0<+e,c[4]=s,function(e,t,n,s,i){return i.relativeTime(t||1,!!n,e,s)}.apply(null,c)}var Qn=Math.abs;function Xn(e){return(0<e)-(e<0)||+e}function Kn(){if(!this.isValid())return this.localeData().invalidDate();var e,t,n,s,i,r,a,o,u=Qn(this._milliseconds)/1e3,l=Qn(this._days),h=Qn(this._months),d=this.asSeconds();return d?(e=I(u/60),t=I(e/60),u%=60,e%=60,n=I(h/12),h%=12,s=u?u.toFixed(3).replace(/\.?0+$/,""):"",i=d<0?"-":"",r=Xn(this._months)!==Xn(d)?"-":"",a=Xn(this._days)!==Xn(d)?"-":"",o=Xn(this._milliseconds)!==Xn(d)?"-":"",i+"P"+(n?r+n+"Y":"")+(h?r+h+"M":"")+(l?a+l+"D":"")+(t||e||u?"T":"")+(t?o+t+"H":"")+(e?o+e+"M":"")+(u?o+s+"S":"")):"P0D"}var es=Ct.prototype;return es.isValid=function(){return this._isValid},es.abs=function(){var e=this._data;return this._milliseconds=Yn(this._milliseconds),this._days=Yn(this._days),this._months=Yn(this._months),e.milliseconds=Yn(e.milliseconds),e.seconds=Yn(e.seconds),e.minutes=Yn(e.minutes),e.hours=Yn(e.hours),e.months=Yn(e.months),e.years=Yn(e.years),this},es.add=function(e,t){return On(this,e,t,1)},es.subtract=function(e,t){return On(this,e,t,-1)},es.as=function(e){if(!this.isValid())return NaN;var t,n,s=this._milliseconds;if("month"===(e=V(e))||"quarter"===e||"year"===e)switch(t=this._days+s/864e5,n=this._months+xn(t),e){case"month":return n;case"quarter":return n/3;case"year":return n/12}else switch(t=this._days+Math.round(Tn(this._months)),e){case"week":return t/7+s/6048e5;case"day":return t+s/864e5;case"hour":return 24*t+s/36e5;case"minute":return 1440*t+s/6e4;case"second":return 86400*t+s/1e3;case"millisecond":return Math.floor(864e5*t)+s;default:throw new Error("Unknown unit "+e)}},es.asMilliseconds=Pn,es.asSeconds=Rn,es.asMinutes=Wn,es.asHours=Cn,es.asDays=Un,es.asWeeks=Hn,es.asMonths=Fn,es.asQuarters=Ln,es.asYears=Vn,es.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*Z(this._months/12):NaN},es._bubble=function(){var e,t,n,s,i,r=this._milliseconds,a=this._days,o=this._months,u=this._data;return 0<=r&&0<=a&&0<=o||r<=0&&a<=0&&o<=0||(r+=864e5*bn(Tn(o)+a),o=a=0),u.milliseconds=r%1e3,e=I(r/1e3),u.seconds=e%60,t=I(e/60),u.minutes=t%60,n=I(t/60),u.hours=n%24,a+=I(n/24),o+=i=I(xn(a)),a-=bn(Tn(i)),s=I(o/12),o%=12,u.days=a,u.months=o,u.years=s,this},es.clone=function(){return Zt(this)},es.get=function(e){return e=V(e),this.isValid()?this[e+"s"]():NaN},es.milliseconds=En,es.seconds=An,es.minutes=jn,es.hours=In,es.days=Zn,es.weeks=function(){return I(this.days()/7)},es.months=zn,es.years=$n,es.humanize=function(e,t){if(!this.isValid())return this.localeData().invalidDate();var n,s,i=!1,r=Bn;return"object"==typeof e&&(t=e,e=!1),"boolean"==typeof e&&(i=e),"object"==typeof t&&(r=Object.assign({},Bn,t),null!=t.s&&null==t.ss&&(r.ss=t.s-1)),n=this.localeData(),s=Jn(this,!i,r,n),i&&(s=n.pastFuture(+this,s)),n.postformat(s)},es.toISOString=Kn,es.toString=Kn,es.toJSON=Kn,es.locale=tn,es.localeData=sn,es.toIsoString=n("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Kn),es.lang=nn,C("X",0,0,"unix"),C("x",0,0,"valueOf"),ce("x",ue),ce("X",/[+-]?\d+(\.\d{1,3})?/),ye("X",function(e,t,n){n._d=new Date(1e3*parseFloat(e))}),ye("x",function(e,t,n){n._d=new Date(Z(e))}),f.version="2.29.1",e=Tt,f.fn=pn,f.min=function(){return Rt("isBefore",[].slice.call(arguments,0))},f.max=function(){return Rt("isAfter",[].slice.call(arguments,0))},f.now=function(){return Date.now?Date.now():+new Date},f.utc=_,f.unix=function(e){return Tt(1e3*e)},f.months=function(e,t){return Dn(e,t,"months")},f.isDate=a,f.locale=lt,f.invalid=w,f.duration=Zt,f.isMoment=M,f.weekdays=function(e,t,n){return Sn(e,t,n,"weekdays")},f.parseZone=function(){return Tt.apply(null,arguments).parseZone()},f.localeData=dt,f.isDuration=Ut,f.monthsShort=function(e,t){return Dn(e,t,"monthsShort")},f.weekdaysMin=function(e,t,n){return Sn(e,t,n,"weekdaysMin")},f.defineLocale=ht,f.updateLocale=function(e,t){var n,s,i;return null!=t?(i=st,null!=it[e]&&null!=it[e].parentLocale?it[e].set(b(it[e]._config,t)):(null!=(s=ut(e))&&(i=s._config),t=b(i,t),null==s&&(t.abbr=e),(n=new x(t)).parentLocale=it[e],it[e]=n),lt(e)):null!=it[e]&&(null!=it[e].parentLocale?(it[e]=it[e].parentLocale,e===lt()&&lt(e)):null!=it[e]&&delete it[e]),it[e]},f.locales=function(){return s(it)},f.weekdaysShort=function(e,t,n){return Sn(e,t,n,"weekdaysShort")},f.normalizeUnits=V,f.relativeTimeRounding=function(e){return void 0===e?qn:"function"==typeof e&&(qn=e,!0)},f.relativeTimeThreshold=function(e,t){return void 0!==Bn[e]&&(void 0===t?Bn[e]:(Bn[e]=t,"s"===e&&(Bn.ss=t-1),!0))},f.calendarFormat=function(e,t){var n=e.diff(t,"days",!0);return n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse"},f.prototype=pn,f.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},f});
-//# sourceMappingURL=moment.min.js.map
\ No newline at end of file
+!(function (e, t) {
+  "object" == typeof exports && "undefined" != typeof module
+    ? (module.exports = t())
+    : "function" == typeof define && define.amd
+    ? define(t)
+    : (e.moment = t());
+})(this, function () {
+  "use strict";
+  var e, i;
+  function f() {
+    return e.apply(null, arguments);
+  }
+  function o(e) {
+    return (
+      e instanceof Array ||
+      "[object Array]" === Object.prototype.toString.call(e)
+    );
+  }
+  function u(e) {
+    return null != e && "[object Object]" === Object.prototype.toString.call(e);
+  }
+  function m(e, t) {
+    return Object.prototype.hasOwnProperty.call(e, t);
+  }
+  function l(e) {
+    if (Object.getOwnPropertyNames)
+      return 0 === Object.getOwnPropertyNames(e).length;
+    for (var t in e) if (m(e, t)) return;
+    return 1;
+  }
+  function r(e) {
+    return void 0 === e;
+  }
+  function h(e) {
+    return (
+      "number" == typeof e ||
+      "[object Number]" === Object.prototype.toString.call(e)
+    );
+  }
+  function a(e) {
+    return (
+      e instanceof Date || "[object Date]" === Object.prototype.toString.call(e)
+    );
+  }
+  function d(e, t) {
+    for (var n = [], s = 0; s < e.length; ++s) n.push(t(e[s], s));
+    return n;
+  }
+  function c(e, t) {
+    for (var n in t) m(t, n) && (e[n] = t[n]);
+    return (
+      m(t, "toString") && (e.toString = t.toString),
+      m(t, "valueOf") && (e.valueOf = t.valueOf),
+      e
+    );
+  }
+  function _(e, t, n, s) {
+    return xt(e, t, n, s, !0).utc();
+  }
+  function y(e) {
+    return (
+      null == e._pf &&
+        (e._pf = {
+          empty: !1,
+          unusedTokens: [],
+          unusedInput: [],
+          overflow: -2,
+          charsLeftOver: 0,
+          nullInput: !1,
+          invalidEra: null,
+          invalidMonth: null,
+          invalidFormat: !1,
+          userInvalidated: !1,
+          iso: !1,
+          parsedDateParts: [],
+          era: null,
+          meridiem: null,
+          rfc2822: !1,
+          weekdayMismatch: !1,
+        }),
+      e._pf
+    );
+  }
+  function g(e) {
+    if (null == e._isValid) {
+      var t = y(e),
+        n = i.call(t.parsedDateParts, function (e) {
+          return null != e;
+        }),
+        s =
+          !isNaN(e._d.getTime()) &&
+          t.overflow < 0 &&
+          !t.empty &&
+          !t.invalidEra &&
+          !t.invalidMonth &&
+          !t.invalidWeekday &&
+          !t.weekdayMismatch &&
+          !t.nullInput &&
+          !t.invalidFormat &&
+          !t.userInvalidated &&
+          (!t.meridiem || (t.meridiem && n));
+      if (
+        (e._strict &&
+          (s =
+            s &&
+            0 === t.charsLeftOver &&
+            0 === t.unusedTokens.length &&
+            void 0 === t.bigHour),
+        null != Object.isFrozen && Object.isFrozen(e))
+      )
+        return s;
+      e._isValid = s;
+    }
+    return e._isValid;
+  }
+  function w(e) {
+    var t = _(NaN);
+    return null != e ? c(y(t), e) : (y(t).userInvalidated = !0), t;
+  }
+  i = Array.prototype.some
+    ? Array.prototype.some
+    : function (e) {
+        for (var t = Object(this), n = t.length >>> 0, s = 0; s < n; s++)
+          if (s in t && e.call(this, t[s], s, t)) return !0;
+        return !1;
+      };
+  var p = (f.momentProperties = []),
+    t = !1;
+  function v(e, t) {
+    var n, s, i;
+    if (
+      (r(t._isAMomentObject) || (e._isAMomentObject = t._isAMomentObject),
+      r(t._i) || (e._i = t._i),
+      r(t._f) || (e._f = t._f),
+      r(t._l) || (e._l = t._l),
+      r(t._strict) || (e._strict = t._strict),
+      r(t._tzm) || (e._tzm = t._tzm),
+      r(t._isUTC) || (e._isUTC = t._isUTC),
+      r(t._offset) || (e._offset = t._offset),
+      r(t._pf) || (e._pf = y(t)),
+      r(t._locale) || (e._locale = t._locale),
+      0 < p.length)
+    )
+      for (n = 0; n < p.length; n++) r((i = t[(s = p[n])])) || (e[s] = i);
+    return e;
+  }
+  function k(e) {
+    v(this, e),
+      (this._d = new Date(null != e._d ? e._d.getTime() : NaN)),
+      this.isValid() || (this._d = new Date(NaN)),
+      !1 === t && ((t = !0), f.updateOffset(this), (t = !1));
+  }
+  function M(e) {
+    return e instanceof k || (null != e && null != e._isAMomentObject);
+  }
+  function D(e) {
+    !1 === f.suppressDeprecationWarnings &&
+      "undefined" != typeof console &&
+      console.warn &&
+      console.warn("Deprecation warning: " + e);
+  }
+  function n(i, r) {
+    var a = !0;
+    return c(function () {
+      if ((null != f.deprecationHandler && f.deprecationHandler(null, i), a)) {
+        for (var e, t, n = [], s = 0; s < arguments.length; s++) {
+          if (((e = ""), "object" == typeof arguments[s])) {
+            for (t in ((e += "\n[" + s + "] "), arguments[0]))
+              m(arguments[0], t) && (e += t + ": " + arguments[0][t] + ", ");
+            e = e.slice(0, -2);
+          } else e = arguments[s];
+          n.push(e);
+        }
+        D(
+          i +
+            "\nArguments: " +
+            Array.prototype.slice.call(n).join("") +
+            "\n" +
+            new Error().stack
+        ),
+          (a = !1);
+      }
+      return r.apply(this, arguments);
+    }, r);
+  }
+  var s,
+    S = {};
+  function Y(e, t) {
+    null != f.deprecationHandler && f.deprecationHandler(e, t),
+      S[e] || (D(t), (S[e] = !0));
+  }
+  function O(e) {
+    return (
+      ("undefined" != typeof Function && e instanceof Function) ||
+      "[object Function]" === Object.prototype.toString.call(e)
+    );
+  }
+  function b(e, t) {
+    var n,
+      s = c({}, e);
+    for (n in t)
+      m(t, n) &&
+        (u(e[n]) && u(t[n])
+          ? ((s[n] = {}), c(s[n], e[n]), c(s[n], t[n]))
+          : null != t[n]
+          ? (s[n] = t[n])
+          : delete s[n]);
+    for (n in e) m(e, n) && !m(t, n) && u(e[n]) && (s[n] = c({}, s[n]));
+    return s;
+  }
+  function x(e) {
+    null != e && this.set(e);
+  }
+  (f.suppressDeprecationWarnings = !1),
+    (f.deprecationHandler = null),
+    (s = Object.keys
+      ? Object.keys
+      : function (e) {
+          var t,
+            n = [];
+          for (t in e) m(e, t) && n.push(t);
+          return n;
+        });
+  function T(e, t, n) {
+    var s = "" + Math.abs(e),
+      i = t - s.length;
+    return (
+      (0 <= e ? (n ? "+" : "") : "-") +
+      Math.pow(10, Math.max(0, i)).toString().substr(1) +
+      s
+    );
+  }
+  var N =
+      /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,
+    P = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,
+    R = {},
+    W = {};
+  function C(e, t, n, s) {
+    var i =
+      "string" == typeof s
+        ? function () {
+            return this[s]();
+          }
+        : s;
+    e && (W[e] = i),
+      t &&
+        (W[t[0]] = function () {
+          return T(i.apply(this, arguments), t[1], t[2]);
+        }),
+      n &&
+        (W[n] = function () {
+          return this.localeData().ordinal(i.apply(this, arguments), e);
+        });
+  }
+  function U(e, t) {
+    return e.isValid()
+      ? ((t = H(t, e.localeData())),
+        (R[t] =
+          R[t] ||
+          (function (s) {
+            for (var e, i = s.match(N), t = 0, r = i.length; t < r; t++)
+              W[i[t]]
+                ? (i[t] = W[i[t]])
+                : (i[t] = (e = i[t]).match(/\[[\s\S]/)
+                    ? e.replace(/^\[|\]$/g, "")
+                    : e.replace(/\\/g, ""));
+            return function (e) {
+              for (var t = "", n = 0; n < r; n++)
+                t += O(i[n]) ? i[n].call(e, s) : i[n];
+              return t;
+            };
+          })(t)),
+        R[t](e))
+      : e.localeData().invalidDate();
+  }
+  function H(e, t) {
+    var n = 5;
+    function s(e) {
+      return t.longDateFormat(e) || e;
+    }
+    for (P.lastIndex = 0; 0 <= n && P.test(e); )
+      (e = e.replace(P, s)), (P.lastIndex = 0), --n;
+    return e;
+  }
+  var F = {};
+  function L(e, t) {
+    var n = e.toLowerCase();
+    F[n] = F[n + "s"] = F[t] = e;
+  }
+  function V(e) {
+    return "string" == typeof e ? F[e] || F[e.toLowerCase()] : void 0;
+  }
+  function G(e) {
+    var t,
+      n,
+      s = {};
+    for (n in e) m(e, n) && (t = V(n)) && (s[t] = e[n]);
+    return s;
+  }
+  var E = {};
+  function A(e, t) {
+    E[e] = t;
+  }
+  function j(e) {
+    return (e % 4 == 0 && e % 100 != 0) || e % 400 == 0;
+  }
+  function I(e) {
+    return e < 0 ? Math.ceil(e) || 0 : Math.floor(e);
+  }
+  function Z(e) {
+    var t = +e,
+      n = 0;
+    return 0 != t && isFinite(t) && (n = I(t)), n;
+  }
+  function z(t, n) {
+    return function (e) {
+      return null != e
+        ? (q(this, t, e), f.updateOffset(this, n), this)
+        : $(this, t);
+    };
+  }
+  function $(e, t) {
+    return e.isValid() ? e._d["get" + (e._isUTC ? "UTC" : "") + t]() : NaN;
+  }
+  function q(e, t, n) {
+    e.isValid() &&
+      !isNaN(n) &&
+      ("FullYear" === t && j(e.year()) && 1 === e.month() && 29 === e.date()
+        ? ((n = Z(n)),
+          e._d["set" + (e._isUTC ? "UTC" : "") + t](
+            n,
+            e.month(),
+            xe(n, e.month())
+          ))
+        : e._d["set" + (e._isUTC ? "UTC" : "") + t](n));
+  }
+  var B,
+    J = /\d/,
+    Q = /\d\d/,
+    X = /\d{3}/,
+    K = /\d{4}/,
+    ee = /[+-]?\d{6}/,
+    te = /\d\d?/,
+    ne = /\d\d\d\d?/,
+    se = /\d\d\d\d\d\d?/,
+    ie = /\d{1,3}/,
+    re = /\d{1,4}/,
+    ae = /[+-]?\d{1,6}/,
+    oe = /\d+/,
+    ue = /[+-]?\d+/,
+    le = /Z|[+-]\d\d:?\d\d/gi,
+    he = /Z|[+-]\d\d(?::?\d\d)?/gi,
+    de =
+      /[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i;
+  function ce(e, n, s) {
+    B[e] = O(n)
+      ? n
+      : function (e, t) {
+          return e && s ? s : n;
+        };
+  }
+  function fe(e, t) {
+    return m(B, e)
+      ? B[e](t._strict, t._locale)
+      : new RegExp(
+          me(
+            e
+              .replace("\\", "")
+              .replace(
+                /\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,
+                function (e, t, n, s, i) {
+                  return t || n || s || i;
+                }
+              )
+          )
+        );
+  }
+  function me(e) {
+    return e.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&");
+  }
+  B = {};
+  var _e = {};
+  function ye(e, n) {
+    var t,
+      s = n;
+    for (
+      "string" == typeof e && (e = [e]),
+        h(n) &&
+          (s = function (e, t) {
+            t[n] = Z(e);
+          }),
+        t = 0;
+      t < e.length;
+      t++
+    )
+      _e[e[t]] = s;
+  }
+  function ge(e, i) {
+    ye(e, function (e, t, n, s) {
+      (n._w = n._w || {}), i(e, n._w, n, s);
+    });
+  }
+  var we,
+    pe = 0,
+    ve = 1,
+    ke = 2,
+    Me = 3,
+    De = 4,
+    Se = 5,
+    Ye = 6,
+    Oe = 7,
+    be = 8;
+  function xe(e, t) {
+    if (isNaN(e) || isNaN(t)) return NaN;
+    var n,
+      s = ((t % (n = 12)) + n) % n;
+    return (e += (t - s) / 12), 1 == s ? (j(e) ? 29 : 28) : 31 - ((s % 7) % 2);
+  }
+  (we = Array.prototype.indexOf
+    ? Array.prototype.indexOf
+    : function (e) {
+        for (var t = 0; t < this.length; ++t) if (this[t] === e) return t;
+        return -1;
+      }),
+    C("M", ["MM", 2], "Mo", function () {
+      return this.month() + 1;
+    }),
+    C("MMM", 0, 0, function (e) {
+      return this.localeData().monthsShort(this, e);
+    }),
+    C("MMMM", 0, 0, function (e) {
+      return this.localeData().months(this, e);
+    }),
+    L("month", "M"),
+    A("month", 8),
+    ce("M", te),
+    ce("MM", te, Q),
+    ce("MMM", function (e, t) {
+      return t.monthsShortRegex(e);
+    }),
+    ce("MMMM", function (e, t) {
+      return t.monthsRegex(e);
+    }),
+    ye(["M", "MM"], function (e, t) {
+      t[ve] = Z(e) - 1;
+    }),
+    ye(["MMM", "MMMM"], function (e, t, n, s) {
+      var i = n._locale.monthsParse(e, s, n._strict);
+      null != i ? (t[ve] = i) : (y(n).invalidMonth = e);
+    });
+  var Te =
+      "January_February_March_April_May_June_July_August_September_October_November_December".split(
+        "_"
+      ),
+    Ne = "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),
+    Pe = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,
+    Re = de,
+    We = de;
+  function Ce(e, t) {
+    var n;
+    if (!e.isValid()) return e;
+    if ("string" == typeof t)
+      if (/^\d+$/.test(t)) t = Z(t);
+      else if (!h((t = e.localeData().monthsParse(t)))) return e;
+    return (
+      (n = Math.min(e.date(), xe(e.year(), t))),
+      e._d["set" + (e._isUTC ? "UTC" : "") + "Month"](t, n),
+      e
+    );
+  }
+  function Ue(e) {
+    return null != e
+      ? (Ce(this, e), f.updateOffset(this, !0), this)
+      : $(this, "Month");
+  }
+  function He() {
+    function e(e, t) {
+      return t.length - e.length;
+    }
+    for (var t, n = [], s = [], i = [], r = 0; r < 12; r++)
+      (t = _([2e3, r])),
+        n.push(this.monthsShort(t, "")),
+        s.push(this.months(t, "")),
+        i.push(this.months(t, "")),
+        i.push(this.monthsShort(t, ""));
+    for (n.sort(e), s.sort(e), i.sort(e), r = 0; r < 12; r++)
+      (n[r] = me(n[r])), (s[r] = me(s[r]));
+    for (r = 0; r < 24; r++) i[r] = me(i[r]);
+    (this._monthsRegex = new RegExp("^(" + i.join("|") + ")", "i")),
+      (this._monthsShortRegex = this._monthsRegex),
+      (this._monthsStrictRegex = new RegExp("^(" + s.join("|") + ")", "i")),
+      (this._monthsShortStrictRegex = new RegExp(
+        "^(" + n.join("|") + ")",
+        "i"
+      ));
+  }
+  function Fe(e) {
+    return j(e) ? 366 : 365;
+  }
+  C("Y", 0, 0, function () {
+    var e = this.year();
+    return e <= 9999 ? T(e, 4) : "+" + e;
+  }),
+    C(0, ["YY", 2], 0, function () {
+      return this.year() % 100;
+    }),
+    C(0, ["YYYY", 4], 0, "year"),
+    C(0, ["YYYYY", 5], 0, "year"),
+    C(0, ["YYYYYY", 6, !0], 0, "year"),
+    L("year", "y"),
+    A("year", 1),
+    ce("Y", ue),
+    ce("YY", te, Q),
+    ce("YYYY", re, K),
+    ce("YYYYY", ae, ee),
+    ce("YYYYYY", ae, ee),
+    ye(["YYYYY", "YYYYYY"], pe),
+    ye("YYYY", function (e, t) {
+      t[pe] = 2 === e.length ? f.parseTwoDigitYear(e) : Z(e);
+    }),
+    ye("YY", function (e, t) {
+      t[pe] = f.parseTwoDigitYear(e);
+    }),
+    ye("Y", function (e, t) {
+      t[pe] = parseInt(e, 10);
+    }),
+    (f.parseTwoDigitYear = function (e) {
+      return Z(e) + (68 < Z(e) ? 1900 : 2e3);
+    });
+  var Le = z("FullYear", !0);
+  function Ve(e) {
+    var t, n;
+    return (
+      e < 100 && 0 <= e
+        ? (((n = Array.prototype.slice.call(arguments))[0] = e + 400),
+          (t = new Date(Date.UTC.apply(null, n))),
+          isFinite(t.getUTCFullYear()) && t.setUTCFullYear(e))
+        : (t = new Date(Date.UTC.apply(null, arguments))),
+      t
+    );
+  }
+  function Ge(e, t, n) {
+    var s = 7 + t - n;
+    return s - ((7 + Ve(e, 0, s).getUTCDay() - t) % 7) - 1;
+  }
+  function Ee(e, t, n, s, i) {
+    var r,
+      a = 1 + 7 * (t - 1) + ((7 + n - s) % 7) + Ge(e, s, i),
+      o =
+        a <= 0
+          ? Fe((r = e - 1)) + a
+          : a > Fe(e)
+          ? ((r = e + 1), a - Fe(e))
+          : ((r = e), a);
+    return { year: r, dayOfYear: o };
+  }
+  function Ae(e, t, n) {
+    var s,
+      i,
+      r = Ge(e.year(), t, n),
+      a = Math.floor((e.dayOfYear() - r - 1) / 7) + 1;
+    return (
+      a < 1
+        ? (s = a + je((i = e.year() - 1), t, n))
+        : a > je(e.year(), t, n)
+        ? ((s = a - je(e.year(), t, n)), (i = e.year() + 1))
+        : ((i = e.year()), (s = a)),
+      { week: s, year: i }
+    );
+  }
+  function je(e, t, n) {
+    var s = Ge(e, t, n),
+      i = Ge(e + 1, t, n);
+    return (Fe(e) - s + i) / 7;
+  }
+  C("w", ["ww", 2], "wo", "week"),
+    C("W", ["WW", 2], "Wo", "isoWeek"),
+    L("week", "w"),
+    L("isoWeek", "W"),
+    A("week", 5),
+    A("isoWeek", 5),
+    ce("w", te),
+    ce("ww", te, Q),
+    ce("W", te),
+    ce("WW", te, Q),
+    ge(["w", "ww", "W", "WW"], function (e, t, n, s) {
+      t[s.substr(0, 1)] = Z(e);
+    });
+  function Ie(e, t) {
+    return e.slice(t, 7).concat(e.slice(0, t));
+  }
+  C("d", 0, "do", "day"),
+    C("dd", 0, 0, function (e) {
+      return this.localeData().weekdaysMin(this, e);
+    }),
+    C("ddd", 0, 0, function (e) {
+      return this.localeData().weekdaysShort(this, e);
+    }),
+    C("dddd", 0, 0, function (e) {
+      return this.localeData().weekdays(this, e);
+    }),
+    C("e", 0, 0, "weekday"),
+    C("E", 0, 0, "isoWeekday"),
+    L("day", "d"),
+    L("weekday", "e"),
+    L("isoWeekday", "E"),
+    A("day", 11),
+    A("weekday", 11),
+    A("isoWeekday", 11),
+    ce("d", te),
+    ce("e", te),
+    ce("E", te),
+    ce("dd", function (e, t) {
+      return t.weekdaysMinRegex(e);
+    }),
+    ce("ddd", function (e, t) {
+      return t.weekdaysShortRegex(e);
+    }),
+    ce("dddd", function (e, t) {
+      return t.weekdaysRegex(e);
+    }),
+    ge(["dd", "ddd", "dddd"], function (e, t, n, s) {
+      var i = n._locale.weekdaysParse(e, s, n._strict);
+      null != i ? (t.d = i) : (y(n).invalidWeekday = e);
+    }),
+    ge(["d", "e", "E"], function (e, t, n, s) {
+      t[s] = Z(e);
+    });
+  var Ze = "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split(
+      "_"
+    ),
+    ze = "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),
+    $e = "Su_Mo_Tu_We_Th_Fr_Sa".split("_"),
+    qe = de,
+    Be = de,
+    Je = de;
+  function Qe() {
+    function e(e, t) {
+      return t.length - e.length;
+    }
+    for (var t, n, s, i, r = [], a = [], o = [], u = [], l = 0; l < 7; l++)
+      (t = _([2e3, 1]).day(l)),
+        (n = me(this.weekdaysMin(t, ""))),
+        (s = me(this.weekdaysShort(t, ""))),
+        (i = me(this.weekdays(t, ""))),
+        r.push(n),
+        a.push(s),
+        o.push(i),
+        u.push(n),
+        u.push(s),
+        u.push(i);
+    r.sort(e),
+      a.sort(e),
+      o.sort(e),
+      u.sort(e),
+      (this._weekdaysRegex = new RegExp("^(" + u.join("|") + ")", "i")),
+      (this._weekdaysShortRegex = this._weekdaysRegex),
+      (this._weekdaysMinRegex = this._weekdaysRegex),
+      (this._weekdaysStrictRegex = new RegExp("^(" + o.join("|") + ")", "i")),
+      (this._weekdaysShortStrictRegex = new RegExp(
+        "^(" + a.join("|") + ")",
+        "i"
+      )),
+      (this._weekdaysMinStrictRegex = new RegExp(
+        "^(" + r.join("|") + ")",
+        "i"
+      ));
+  }
+  function Xe() {
+    return this.hours() % 12 || 12;
+  }
+  function Ke(e, t) {
+    C(e, 0, 0, function () {
+      return this.localeData().meridiem(this.hours(), this.minutes(), t);
+    });
+  }
+  function et(e, t) {
+    return t._meridiemParse;
+  }
+  C("H", ["HH", 2], 0, "hour"),
+    C("h", ["hh", 2], 0, Xe),
+    C("k", ["kk", 2], 0, function () {
+      return this.hours() || 24;
+    }),
+    C("hmm", 0, 0, function () {
+      return "" + Xe.apply(this) + T(this.minutes(), 2);
+    }),
+    C("hmmss", 0, 0, function () {
+      return "" + Xe.apply(this) + T(this.minutes(), 2) + T(this.seconds(), 2);
+    }),
+    C("Hmm", 0, 0, function () {
+      return "" + this.hours() + T(this.minutes(), 2);
+    }),
+    C("Hmmss", 0, 0, function () {
+      return "" + this.hours() + T(this.minutes(), 2) + T(this.seconds(), 2);
+    }),
+    Ke("a", !0),
+    Ke("A", !1),
+    L("hour", "h"),
+    A("hour", 13),
+    ce("a", et),
+    ce("A", et),
+    ce("H", te),
+    ce("h", te),
+    ce("k", te),
+    ce("HH", te, Q),
+    ce("hh", te, Q),
+    ce("kk", te, Q),
+    ce("hmm", ne),
+    ce("hmmss", se),
+    ce("Hmm", ne),
+    ce("Hmmss", se),
+    ye(["H", "HH"], Me),
+    ye(["k", "kk"], function (e, t, n) {
+      var s = Z(e);
+      t[Me] = 24 === s ? 0 : s;
+    }),
+    ye(["a", "A"], function (e, t, n) {
+      (n._isPm = n._locale.isPM(e)), (n._meridiem = e);
+    }),
+    ye(["h", "hh"], function (e, t, n) {
+      (t[Me] = Z(e)), (y(n).bigHour = !0);
+    }),
+    ye("hmm", function (e, t, n) {
+      var s = e.length - 2;
+      (t[Me] = Z(e.substr(0, s))),
+        (t[De] = Z(e.substr(s))),
+        (y(n).bigHour = !0);
+    }),
+    ye("hmmss", function (e, t, n) {
+      var s = e.length - 4,
+        i = e.length - 2;
+      (t[Me] = Z(e.substr(0, s))),
+        (t[De] = Z(e.substr(s, 2))),
+        (t[Se] = Z(e.substr(i))),
+        (y(n).bigHour = !0);
+    }),
+    ye("Hmm", function (e, t, n) {
+      var s = e.length - 2;
+      (t[Me] = Z(e.substr(0, s))), (t[De] = Z(e.substr(s)));
+    }),
+    ye("Hmmss", function (e, t, n) {
+      var s = e.length - 4,
+        i = e.length - 2;
+      (t[Me] = Z(e.substr(0, s))),
+        (t[De] = Z(e.substr(s, 2))),
+        (t[Se] = Z(e.substr(i)));
+    });
+  var tt = z("Hours", !0);
+  var nt,
+    st = {
+      calendar: {
+        sameDay: "[Today at] LT",
+        nextDay: "[Tomorrow at] LT",
+        nextWeek: "dddd [at] LT",
+        lastDay: "[Yesterday at] LT",
+        lastWeek: "[Last] dddd [at] LT",
+        sameElse: "L",
+      },
+      longDateFormat: {
+        LTS: "h:mm:ss A",
+        LT: "h:mm A",
+        L: "MM/DD/YYYY",
+        LL: "MMMM D, YYYY",
+        LLL: "MMMM D, YYYY h:mm A",
+        LLLL: "dddd, MMMM D, YYYY h:mm A",
+      },
+      invalidDate: "Invalid date",
+      ordinal: "%d",
+      dayOfMonthOrdinalParse: /\d{1,2}/,
+      relativeTime: {
+        future: "in %s",
+        past: "%s ago",
+        s: "a few seconds",
+        ss: "%d seconds",
+        m: "a minute",
+        mm: "%d minutes",
+        h: "an hour",
+        hh: "%d hours",
+        d: "a day",
+        dd: "%d days",
+        w: "a week",
+        ww: "%d weeks",
+        M: "a month",
+        MM: "%d months",
+        y: "a year",
+        yy: "%d years",
+      },
+      months: Te,
+      monthsShort: Ne,
+      week: { dow: 0, doy: 6 },
+      weekdays: Ze,
+      weekdaysMin: $e,
+      weekdaysShort: ze,
+      meridiemParse: /[ap]\.?m?\.?/i,
+    },
+    it = {},
+    rt = {};
+  function at(e) {
+    return e ? e.toLowerCase().replace("_", "-") : e;
+  }
+  function ot(e) {
+    for (var t, n, s, i, r = 0; r < e.length; ) {
+      for (
+        t = (i = at(e[r]).split("-")).length,
+          n = (n = at(e[r + 1])) ? n.split("-") : null;
+        0 < t;
+
+      ) {
+        if ((s = ut(i.slice(0, t).join("-")))) return s;
+        if (
+          n &&
+          n.length >= t &&
+          (function (e, t) {
+            for (var n = Math.min(e.length, t.length), s = 0; s < n; s += 1)
+              if (e[s] !== t[s]) return s;
+            return n;
+          })(i, n) >=
+            t - 1
+        )
+          break;
+        t--;
+      }
+      r++;
+    }
+    return nt;
+  }
+  function ut(t) {
+    var e;
+    if (
+      void 0 === it[t] &&
+      "undefined" != typeof module &&
+      module &&
+      module.exports
+    )
+      try {
+        (e = nt._abbr), require("./locale/" + t), lt(e);
+      } catch (e) {
+        it[t] = null;
+      }
+    return it[t];
+  }
+  function lt(e, t) {
+    var n;
+    return (
+      e &&
+        ((n = r(t) ? dt(e) : ht(e, t))
+          ? (nt = n)
+          : "undefined" != typeof console &&
+            console.warn &&
+            console.warn(
+              "Locale " + e + " not found. Did you forget to load it?"
+            )),
+      nt._abbr
+    );
+  }
+  function ht(e, t) {
+    if (null === t) return delete it[e], null;
+    var n,
+      s = st;
+    if (((t.abbr = e), null != it[e]))
+      Y(
+        "defineLocaleOverride",
+        "use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."
+      ),
+        (s = it[e]._config);
+    else if (null != t.parentLocale)
+      if (null != it[t.parentLocale]) s = it[t.parentLocale]._config;
+      else {
+        if (null == (n = ut(t.parentLocale)))
+          return (
+            rt[t.parentLocale] || (rt[t.parentLocale] = []),
+            rt[t.parentLocale].push({ name: e, config: t }),
+            null
+          );
+        s = n._config;
+      }
+    return (
+      (it[e] = new x(b(s, t))),
+      rt[e] &&
+        rt[e].forEach(function (e) {
+          ht(e.name, e.config);
+        }),
+      lt(e),
+      it[e]
+    );
+  }
+  function dt(e) {
+    var t;
+    if ((e && e._locale && e._locale._abbr && (e = e._locale._abbr), !e))
+      return nt;
+    if (!o(e)) {
+      if ((t = ut(e))) return t;
+      e = [e];
+    }
+    return ot(e);
+  }
+  function ct(e) {
+    var t,
+      n = e._a;
+    return (
+      n &&
+        -2 === y(e).overflow &&
+        ((t =
+          n[ve] < 0 || 11 < n[ve]
+            ? ve
+            : n[ke] < 1 || n[ke] > xe(n[pe], n[ve])
+            ? ke
+            : n[Me] < 0 ||
+              24 < n[Me] ||
+              (24 === n[Me] && (0 !== n[De] || 0 !== n[Se] || 0 !== n[Ye]))
+            ? Me
+            : n[De] < 0 || 59 < n[De]
+            ? De
+            : n[Se] < 0 || 59 < n[Se]
+            ? Se
+            : n[Ye] < 0 || 999 < n[Ye]
+            ? Ye
+            : -1),
+        y(e)._overflowDayOfYear && (t < pe || ke < t) && (t = ke),
+        y(e)._overflowWeeks && -1 === t && (t = Oe),
+        y(e)._overflowWeekday && -1 === t && (t = be),
+        (y(e).overflow = t)),
+      e
+    );
+  }
+  var ft =
+      /^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,
+    mt =
+      /^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,
+    _t = /Z|[+-]\d\d(?::?\d\d)?/,
+    yt = [
+      ["YYYYYY-MM-DD", /[+-]\d{6}-\d\d-\d\d/],
+      ["YYYY-MM-DD", /\d{4}-\d\d-\d\d/],
+      ["GGGG-[W]WW-E", /\d{4}-W\d\d-\d/],
+      ["GGGG-[W]WW", /\d{4}-W\d\d/, !1],
+      ["YYYY-DDD", /\d{4}-\d{3}/],
+      ["YYYY-MM", /\d{4}-\d\d/, !1],
+      ["YYYYYYMMDD", /[+-]\d{10}/],
+      ["YYYYMMDD", /\d{8}/],
+      ["GGGG[W]WWE", /\d{4}W\d{3}/],
+      ["GGGG[W]WW", /\d{4}W\d{2}/, !1],
+      ["YYYYDDD", /\d{7}/],
+      ["YYYYMM", /\d{6}/, !1],
+      ["YYYY", /\d{4}/, !1],
+    ],
+    gt = [
+      ["HH:mm:ss.SSSS", /\d\d:\d\d:\d\d\.\d+/],
+      ["HH:mm:ss,SSSS", /\d\d:\d\d:\d\d,\d+/],
+      ["HH:mm:ss", /\d\d:\d\d:\d\d/],
+      ["HH:mm", /\d\d:\d\d/],
+      ["HHmmss.SSSS", /\d\d\d\d\d\d\.\d+/],
+      ["HHmmss,SSSS", /\d\d\d\d\d\d,\d+/],
+      ["HHmmss", /\d\d\d\d\d\d/],
+      ["HHmm", /\d\d\d\d/],
+      ["HH", /\d\d/],
+    ],
+    wt = /^\/?Date\((-?\d+)/i,
+    pt =
+      /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,
+    vt = {
+      UT: 0,
+      GMT: 0,
+      EDT: -240,
+      EST: -300,
+      CDT: -300,
+      CST: -360,
+      MDT: -360,
+      MST: -420,
+      PDT: -420,
+      PST: -480,
+    };
+  function kt(e) {
+    var t,
+      n,
+      s,
+      i,
+      r,
+      a,
+      o = e._i,
+      u = ft.exec(o) || mt.exec(o);
+    if (u) {
+      for (y(e).iso = !0, t = 0, n = yt.length; t < n; t++)
+        if (yt[t][1].exec(u[1])) {
+          (i = yt[t][0]), (s = !1 !== yt[t][2]);
+          break;
+        }
+      if (null == i) return void (e._isValid = !1);
+      if (u[3]) {
+        for (t = 0, n = gt.length; t < n; t++)
+          if (gt[t][1].exec(u[3])) {
+            r = (u[2] || " ") + gt[t][0];
+            break;
+          }
+        if (null == r) return void (e._isValid = !1);
+      }
+      if (!s && null != r) return void (e._isValid = !1);
+      if (u[4]) {
+        if (!_t.exec(u[4])) return void (e._isValid = !1);
+        a = "Z";
+      }
+      (e._f = i + (r || "") + (a || "")), Ot(e);
+    } else e._isValid = !1;
+  }
+  function Mt(e, t, n, s, i, r) {
+    var a = [
+      (function (e) {
+        var t = parseInt(e, 10);
+        {
+          if (t <= 49) return 2e3 + t;
+          if (t <= 999) return 1900 + t;
+        }
+        return t;
+      })(e),
+      Ne.indexOf(t),
+      parseInt(n, 10),
+      parseInt(s, 10),
+      parseInt(i, 10),
+    ];
+    return r && a.push(parseInt(r, 10)), a;
+  }
+  function Dt(e) {
+    var t,
+      n,
+      s,
+      i,
+      r = pt.exec(
+        e._i
+          .replace(/\([^)]*\)|[\n\t]/g, " ")
+          .replace(/(\s\s+)/g, " ")
+          .replace(/^\s\s*/, "")
+          .replace(/\s\s*$/, "")
+      );
+    if (r) {
+      if (
+        ((t = Mt(r[4], r[3], r[2], r[5], r[6], r[7])),
+        (n = r[1]),
+        (s = t),
+        (i = e),
+        n &&
+          ze.indexOf(n) !== new Date(s[0], s[1], s[2]).getDay() &&
+          ((y(i).weekdayMismatch = !0), !void (i._isValid = !1)))
+      )
+        return;
+      (e._a = t),
+        (e._tzm = (function (e, t, n) {
+          if (e) return vt[e];
+          if (t) return 0;
+          var s = parseInt(n, 10),
+            i = s % 100;
+          return 60 * ((s - i) / 100) + i;
+        })(r[8], r[9], r[10])),
+        (e._d = Ve.apply(null, e._a)),
+        e._d.setUTCMinutes(e._d.getUTCMinutes() - e._tzm),
+        (y(e).rfc2822 = !0);
+    } else e._isValid = !1;
+  }
+  function St(e, t, n) {
+    return null != e ? e : null != t ? t : n;
+  }
+  function Yt(e) {
+    var t,
+      n,
+      s,
+      i,
+      r,
+      a,
+      o,
+      u = [];
+    if (!e._d) {
+      for (
+        a = e,
+          o = new Date(f.now()),
+          s = a._useUTC
+            ? [o.getUTCFullYear(), o.getUTCMonth(), o.getUTCDate()]
+            : [o.getFullYear(), o.getMonth(), o.getDate()],
+          e._w &&
+            null == e._a[ke] &&
+            null == e._a[ve] &&
+            (function (e) {
+              var t, n, s, i, r, a, o, u, l;
+              null != (t = e._w).GG || null != t.W || null != t.E
+                ? ((r = 1),
+                  (a = 4),
+                  (n = St(t.GG, e._a[pe], Ae(Tt(), 1, 4).year)),
+                  (s = St(t.W, 1)),
+                  ((i = St(t.E, 1)) < 1 || 7 < i) && (u = !0))
+                : ((r = e._locale._week.dow),
+                  (a = e._locale._week.doy),
+                  (l = Ae(Tt(), r, a)),
+                  (n = St(t.gg, e._a[pe], l.year)),
+                  (s = St(t.w, l.week)),
+                  null != t.d
+                    ? ((i = t.d) < 0 || 6 < i) && (u = !0)
+                    : null != t.e
+                    ? ((i = t.e + r), (t.e < 0 || 6 < t.e) && (u = !0))
+                    : (i = r));
+              s < 1 || s > je(n, r, a)
+                ? (y(e)._overflowWeeks = !0)
+                : null != u
+                ? (y(e)._overflowWeekday = !0)
+                : ((o = Ee(n, s, i, r, a)),
+                  (e._a[pe] = o.year),
+                  (e._dayOfYear = o.dayOfYear));
+            })(e),
+          null != e._dayOfYear &&
+            ((r = St(e._a[pe], s[pe])),
+            (e._dayOfYear > Fe(r) || 0 === e._dayOfYear) &&
+              (y(e)._overflowDayOfYear = !0),
+            (n = Ve(r, 0, e._dayOfYear)),
+            (e._a[ve] = n.getUTCMonth()),
+            (e._a[ke] = n.getUTCDate())),
+          t = 0;
+        t < 3 && null == e._a[t];
+        ++t
+      )
+        e._a[t] = u[t] = s[t];
+      for (; t < 7; t++)
+        e._a[t] = u[t] = null == e._a[t] ? (2 === t ? 1 : 0) : e._a[t];
+      24 === e._a[Me] &&
+        0 === e._a[De] &&
+        0 === e._a[Se] &&
+        0 === e._a[Ye] &&
+        ((e._nextDay = !0), (e._a[Me] = 0)),
+        (e._d = (
+          e._useUTC
+            ? Ve
+            : function (e, t, n, s, i, r, a) {
+                var o;
+                return (
+                  e < 100 && 0 <= e
+                    ? ((o = new Date(e + 400, t, n, s, i, r, a)),
+                      isFinite(o.getFullYear()) && o.setFullYear(e))
+                    : (o = new Date(e, t, n, s, i, r, a)),
+                  o
+                );
+              }
+        ).apply(null, u)),
+        (i = e._useUTC ? e._d.getUTCDay() : e._d.getDay()),
+        null != e._tzm && e._d.setUTCMinutes(e._d.getUTCMinutes() - e._tzm),
+        e._nextDay && (e._a[Me] = 24),
+        e._w &&
+          void 0 !== e._w.d &&
+          e._w.d !== i &&
+          (y(e).weekdayMismatch = !0);
+    }
+  }
+  function Ot(e) {
+    if (e._f !== f.ISO_8601)
+      if (e._f !== f.RFC_2822) {
+        (e._a = []), (y(e).empty = !0);
+        for (
+          var t,
+            n,
+            s,
+            i,
+            r,
+            a,
+            o,
+            u = "" + e._i,
+            l = u.length,
+            h = 0,
+            d = H(e._f, e._locale).match(N) || [],
+            c = 0;
+          c < d.length;
+          c++
+        )
+          (n = d[c]),
+            (t = (u.match(fe(n, e)) || [])[0]) &&
+              (0 < (s = u.substr(0, u.indexOf(t))).length &&
+                y(e).unusedInput.push(s),
+              (u = u.slice(u.indexOf(t) + t.length)),
+              (h += t.length)),
+            W[n]
+              ? (t ? (y(e).empty = !1) : y(e).unusedTokens.push(n),
+                (r = n),
+                (o = e),
+                null != (a = t) && m(_e, r) && _e[r](a, o._a, o, r))
+              : e._strict && !t && y(e).unusedTokens.push(n);
+        (y(e).charsLeftOver = l - h),
+          0 < u.length && y(e).unusedInput.push(u),
+          e._a[Me] <= 12 &&
+            !0 === y(e).bigHour &&
+            0 < e._a[Me] &&
+            (y(e).bigHour = void 0),
+          (y(e).parsedDateParts = e._a.slice(0)),
+          (y(e).meridiem = e._meridiem),
+          (e._a[Me] = (function (e, t, n) {
+            var s;
+            if (null == n) return t;
+            return null != e.meridiemHour
+              ? e.meridiemHour(t, n)
+              : (null != e.isPM &&
+                  ((s = e.isPM(n)) && t < 12 && (t += 12),
+                  s || 12 !== t || (t = 0)),
+                t);
+          })(e._locale, e._a[Me], e._meridiem)),
+          null !== (i = y(e).era) &&
+            (e._a[pe] = e._locale.erasConvertYear(i, e._a[pe])),
+          Yt(e),
+          ct(e);
+      } else Dt(e);
+    else kt(e);
+  }
+  function bt(e) {
+    var t,
+      n,
+      s = e._i,
+      i = e._f;
+    return (
+      (e._locale = e._locale || dt(e._l)),
+      null === s || (void 0 === i && "" === s)
+        ? w({ nullInput: !0 })
+        : ("string" == typeof s && (e._i = s = e._locale.preparse(s)),
+          M(s)
+            ? new k(ct(s))
+            : (a(s)
+                ? (e._d = s)
+                : o(i)
+                ? (function (e) {
+                    var t,
+                      n,
+                      s,
+                      i,
+                      r,
+                      a,
+                      o = !1;
+                    if (0 === e._f.length)
+                      return (y(e).invalidFormat = !0), (e._d = new Date(NaN));
+                    for (i = 0; i < e._f.length; i++)
+                      (r = 0),
+                        (a = !1),
+                        (t = v({}, e)),
+                        null != e._useUTC && (t._useUTC = e._useUTC),
+                        (t._f = e._f[i]),
+                        Ot(t),
+                        g(t) && (a = !0),
+                        (r += y(t).charsLeftOver),
+                        (r += 10 * y(t).unusedTokens.length),
+                        (y(t).score = r),
+                        o
+                          ? r < s && ((s = r), (n = t))
+                          : (null == s || r < s || a) &&
+                            ((s = r), (n = t), a && (o = !0));
+                    c(e, n || t);
+                  })(e)
+                : i
+                ? Ot(e)
+                : r((n = (t = e)._i))
+                ? (t._d = new Date(f.now()))
+                : a(n)
+                ? (t._d = new Date(n.valueOf()))
+                : "string" == typeof n
+                ? (function (e) {
+                    var t = wt.exec(e._i);
+                    null === t
+                      ? (kt(e),
+                        !1 === e._isValid &&
+                          (delete e._isValid,
+                          Dt(e),
+                          !1 === e._isValid &&
+                            (delete e._isValid,
+                            e._strict
+                              ? (e._isValid = !1)
+                              : f.createFromInputFallback(e))))
+                      : (e._d = new Date(+t[1]));
+                  })(t)
+                : o(n)
+                ? ((t._a = d(n.slice(0), function (e) {
+                    return parseInt(e, 10);
+                  })),
+                  Yt(t))
+                : u(n)
+                ? (function (e) {
+                    var t, n;
+                    e._d ||
+                      ((n = void 0 === (t = G(e._i)).day ? t.date : t.day),
+                      (e._a = d(
+                        [
+                          t.year,
+                          t.month,
+                          n,
+                          t.hour,
+                          t.minute,
+                          t.second,
+                          t.millisecond,
+                        ],
+                        function (e) {
+                          return e && parseInt(e, 10);
+                        }
+                      )),
+                      Yt(e));
+                  })(t)
+                : h(n)
+                ? (t._d = new Date(n))
+                : f.createFromInputFallback(t),
+              g(e) || (e._d = null),
+              e))
+    );
+  }
+  function xt(e, t, n, s, i) {
+    var r,
+      a = {};
+    return (
+      (!0 !== t && !1 !== t) || ((s = t), (t = void 0)),
+      (!0 !== n && !1 !== n) || ((s = n), (n = void 0)),
+      ((u(e) && l(e)) || (o(e) && 0 === e.length)) && (e = void 0),
+      (a._isAMomentObject = !0),
+      (a._useUTC = a._isUTC = i),
+      (a._l = n),
+      (a._i = e),
+      (a._f = t),
+      (a._strict = s),
+      (r = new k(ct(bt(a))))._nextDay && (r.add(1, "d"), (r._nextDay = void 0)),
+      r
+    );
+  }
+  function Tt(e, t, n, s) {
+    return xt(e, t, n, s, !1);
+  }
+  (f.createFromInputFallback = n(
+    "value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",
+    function (e) {
+      e._d = new Date(e._i + (e._useUTC ? " UTC" : ""));
+    }
+  )),
+    (f.ISO_8601 = function () {}),
+    (f.RFC_2822 = function () {});
+  var Nt = n(
+      "moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",
+      function () {
+        var e = Tt.apply(null, arguments);
+        return this.isValid() && e.isValid() ? (e < this ? this : e) : w();
+      }
+    ),
+    Pt = n(
+      "moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",
+      function () {
+        var e = Tt.apply(null, arguments);
+        return this.isValid() && e.isValid() ? (this < e ? this : e) : w();
+      }
+    );
+  function Rt(e, t) {
+    var n, s;
+    if ((1 === t.length && o(t[0]) && (t = t[0]), !t.length)) return Tt();
+    for (n = t[0], s = 1; s < t.length; ++s)
+      (t[s].isValid() && !t[s][e](n)) || (n = t[s]);
+    return n;
+  }
+  var Wt = [
+    "year",
+    "quarter",
+    "month",
+    "week",
+    "day",
+    "hour",
+    "minute",
+    "second",
+    "millisecond",
+  ];
+  function Ct(e) {
+    var t = G(e),
+      n = t.year || 0,
+      s = t.quarter || 0,
+      i = t.month || 0,
+      r = t.week || t.isoWeek || 0,
+      a = t.day || 0,
+      o = t.hour || 0,
+      u = t.minute || 0,
+      l = t.second || 0,
+      h = t.millisecond || 0;
+    (this._isValid = (function (e) {
+      var t,
+        n,
+        s = !1;
+      for (t in e)
+        if (m(e, t) && (-1 === we.call(Wt, t) || (null != e[t] && isNaN(e[t]))))
+          return !1;
+      for (n = 0; n < Wt.length; ++n)
+        if (e[Wt[n]]) {
+          if (s) return !1;
+          parseFloat(e[Wt[n]]) !== Z(e[Wt[n]]) && (s = !0);
+        }
+      return !0;
+    })(t)),
+      (this._milliseconds = +h + 1e3 * l + 6e4 * u + 1e3 * o * 60 * 60),
+      (this._days = +a + 7 * r),
+      (this._months = +i + 3 * s + 12 * n),
+      (this._data = {}),
+      (this._locale = dt()),
+      this._bubble();
+  }
+  function Ut(e) {
+    return e instanceof Ct;
+  }
+  function Ht(e) {
+    return e < 0 ? -1 * Math.round(-1 * e) : Math.round(e);
+  }
+  function Ft(e, n) {
+    C(e, 0, 0, function () {
+      var e = this.utcOffset(),
+        t = "+";
+      return (
+        e < 0 && ((e = -e), (t = "-")),
+        t + T(~~(e / 60), 2) + n + T(~~e % 60, 2)
+      );
+    });
+  }
+  Ft("Z", ":"),
+    Ft("ZZ", ""),
+    ce("Z", he),
+    ce("ZZ", he),
+    ye(["Z", "ZZ"], function (e, t, n) {
+      (n._useUTC = !0), (n._tzm = Vt(he, e));
+    });
+  var Lt = /([\+\-]|\d\d)/gi;
+  function Vt(e, t) {
+    var n,
+      s,
+      i = (t || "").match(e);
+    return null === i
+      ? null
+      : 0 ===
+        (s =
+          60 *
+            (n = ((i[i.length - 1] || []) + "").match(Lt) || ["-", 0, 0])[1] +
+          Z(n[2]))
+      ? 0
+      : "+" === n[0]
+      ? s
+      : -s;
+  }
+  function Gt(e, t) {
+    var n, s;
+    return t._isUTC
+      ? ((n = t.clone()),
+        (s = (M(e) || a(e) ? e.valueOf() : Tt(e).valueOf()) - n.valueOf()),
+        n._d.setTime(n._d.valueOf() + s),
+        f.updateOffset(n, !1),
+        n)
+      : Tt(e).local();
+  }
+  function Et(e) {
+    return -Math.round(e._d.getTimezoneOffset());
+  }
+  function At() {
+    return !!this.isValid() && this._isUTC && 0 === this._offset;
+  }
+  f.updateOffset = function () {};
+  var jt = /^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,
+    It =
+      /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;
+  function Zt(e, t) {
+    var n,
+      s,
+      i,
+      r = e,
+      a = null;
+    return (
+      Ut(e)
+        ? (r = { ms: e._milliseconds, d: e._days, M: e._months })
+        : h(e) || !isNaN(+e)
+        ? ((r = {}), t ? (r[t] = +e) : (r.milliseconds = +e))
+        : (a = jt.exec(e))
+        ? ((n = "-" === a[1] ? -1 : 1),
+          (r = {
+            y: 0,
+            d: Z(a[ke]) * n,
+            h: Z(a[Me]) * n,
+            m: Z(a[De]) * n,
+            s: Z(a[Se]) * n,
+            ms: Z(Ht(1e3 * a[Ye])) * n,
+          }))
+        : (a = It.exec(e))
+        ? ((n = "-" === a[1] ? -1 : 1),
+          (r = {
+            y: zt(a[2], n),
+            M: zt(a[3], n),
+            w: zt(a[4], n),
+            d: zt(a[5], n),
+            h: zt(a[6], n),
+            m: zt(a[7], n),
+            s: zt(a[8], n),
+          }))
+        : null == r
+        ? (r = {})
+        : "object" == typeof r &&
+          ("from" in r || "to" in r) &&
+          ((i = (function (e, t) {
+            var n;
+            if (!e.isValid() || !t.isValid())
+              return { milliseconds: 0, months: 0 };
+            (t = Gt(t, e)),
+              e.isBefore(t)
+                ? (n = $t(e, t))
+                : (((n = $t(t, e)).milliseconds = -n.milliseconds),
+                  (n.months = -n.months));
+            return n;
+          })(Tt(r.from), Tt(r.to))),
+          ((r = {}).ms = i.milliseconds),
+          (r.M = i.months)),
+      (s = new Ct(r)),
+      Ut(e) && m(e, "_locale") && (s._locale = e._locale),
+      Ut(e) && m(e, "_isValid") && (s._isValid = e._isValid),
+      s
+    );
+  }
+  function zt(e, t) {
+    var n = e && parseFloat(e.replace(",", "."));
+    return (isNaN(n) ? 0 : n) * t;
+  }
+  function $t(e, t) {
+    var n = {};
+    return (
+      (n.months = t.month() - e.month() + 12 * (t.year() - e.year())),
+      e.clone().add(n.months, "M").isAfter(t) && --n.months,
+      (n.milliseconds = t - e.clone().add(n.months, "M")),
+      n
+    );
+  }
+  function qt(s, i) {
+    return function (e, t) {
+      var n;
+      return (
+        null === t ||
+          isNaN(+t) ||
+          (Y(
+            i,
+            "moment()." +
+              i +
+              "(period, number) is deprecated. Please use moment()." +
+              i +
+              "(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."
+          ),
+          (n = e),
+          (e = t),
+          (t = n)),
+        Bt(this, Zt(e, t), s),
+        this
+      );
+    };
+  }
+  function Bt(e, t, n, s) {
+    var i = t._milliseconds,
+      r = Ht(t._days),
+      a = Ht(t._months);
+    e.isValid() &&
+      ((s = null == s || s),
+      a && Ce(e, $(e, "Month") + a * n),
+      r && q(e, "Date", $(e, "Date") + r * n),
+      i && e._d.setTime(e._d.valueOf() + i * n),
+      s && f.updateOffset(e, r || a));
+  }
+  (Zt.fn = Ct.prototype),
+    (Zt.invalid = function () {
+      return Zt(NaN);
+    });
+  var Jt = qt(1, "add"),
+    Qt = qt(-1, "subtract");
+  function Xt(e) {
+    return "string" == typeof e || e instanceof String;
+  }
+  function Kt(e) {
+    return (
+      M(e) ||
+      a(e) ||
+      Xt(e) ||
+      h(e) ||
+      (function (t) {
+        var e = o(t),
+          n = !1;
+        e &&
+          (n =
+            0 ===
+            t.filter(function (e) {
+              return !h(e) && Xt(t);
+            }).length);
+        return e && n;
+      })(e) ||
+      (function (e) {
+        var t,
+          n,
+          s = u(e) && !l(e),
+          i = !1,
+          r = [
+            "years",
+            "year",
+            "y",
+            "months",
+            "month",
+            "M",
+            "days",
+            "day",
+            "d",
+            "dates",
+            "date",
+            "D",
+            "hours",
+            "hour",
+            "h",
+            "minutes",
+            "minute",
+            "m",
+            "seconds",
+            "second",
+            "s",
+            "milliseconds",
+            "millisecond",
+            "ms",
+          ];
+        for (t = 0; t < r.length; t += 1) (n = r[t]), (i = i || m(e, n));
+        return s && i;
+      })(e) ||
+      null == e
+    );
+  }
+  function en(e, t) {
+    if (e.date() < t.date()) return -en(t, e);
+    var n = 12 * (t.year() - e.year()) + (t.month() - e.month()),
+      s = e.clone().add(n, "months"),
+      i =
+        t - s < 0
+          ? (t - s) / (s - e.clone().add(n - 1, "months"))
+          : (t - s) / (e.clone().add(1 + n, "months") - s);
+    return -(n + i) || 0;
+  }
+  function tn(e) {
+    var t;
+    return void 0 === e
+      ? this._locale._abbr
+      : (null != (t = dt(e)) && (this._locale = t), this);
+  }
+  (f.defaultFormat = "YYYY-MM-DDTHH:mm:ssZ"),
+    (f.defaultFormatUtc = "YYYY-MM-DDTHH:mm:ss[Z]");
+  var nn = n(
+    "moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",
+    function (e) {
+      return void 0 === e ? this.localeData() : this.locale(e);
+    }
+  );
+  function sn() {
+    return this._locale;
+  }
+  var rn = 126227808e5;
+  function an(e, t) {
+    return ((e % t) + t) % t;
+  }
+  function on(e, t, n) {
+    return e < 100 && 0 <= e
+      ? new Date(e + 400, t, n) - rn
+      : new Date(e, t, n).valueOf();
+  }
+  function un(e, t, n) {
+    return e < 100 && 0 <= e ? Date.UTC(e + 400, t, n) - rn : Date.UTC(e, t, n);
+  }
+  function ln(e, t) {
+    return t.erasAbbrRegex(e);
+  }
+  function hn() {
+    for (
+      var e = [], t = [], n = [], s = [], i = this.eras(), r = 0, a = i.length;
+      r < a;
+      ++r
+    )
+      t.push(me(i[r].name)),
+        e.push(me(i[r].abbr)),
+        n.push(me(i[r].narrow)),
+        s.push(me(i[r].name)),
+        s.push(me(i[r].abbr)),
+        s.push(me(i[r].narrow));
+    (this._erasRegex = new RegExp("^(" + s.join("|") + ")", "i")),
+      (this._erasNameRegex = new RegExp("^(" + t.join("|") + ")", "i")),
+      (this._erasAbbrRegex = new RegExp("^(" + e.join("|") + ")", "i")),
+      (this._erasNarrowRegex = new RegExp("^(" + n.join("|") + ")", "i"));
+  }
+  function dn(e, t) {
+    C(0, [e, e.length], 0, t);
+  }
+  function cn(e, t, n, s, i) {
+    var r;
+    return null == e
+      ? Ae(this, s, i).year
+      : ((r = je(e, s, i)) < t && (t = r),
+        function (e, t, n, s, i) {
+          var r = Ee(e, t, n, s, i),
+            a = Ve(r.year, 0, r.dayOfYear);
+          return (
+            this.year(a.getUTCFullYear()),
+            this.month(a.getUTCMonth()),
+            this.date(a.getUTCDate()),
+            this
+          );
+        }.call(this, e, t, n, s, i));
+  }
+  C("N", 0, 0, "eraAbbr"),
+    C("NN", 0, 0, "eraAbbr"),
+    C("NNN", 0, 0, "eraAbbr"),
+    C("NNNN", 0, 0, "eraName"),
+    C("NNNNN", 0, 0, "eraNarrow"),
+    C("y", ["y", 1], "yo", "eraYear"),
+    C("y", ["yy", 2], 0, "eraYear"),
+    C("y", ["yyy", 3], 0, "eraYear"),
+    C("y", ["yyyy", 4], 0, "eraYear"),
+    ce("N", ln),
+    ce("NN", ln),
+    ce("NNN", ln),
+    ce("NNNN", function (e, t) {
+      return t.erasNameRegex(e);
+    }),
+    ce("NNNNN", function (e, t) {
+      return t.erasNarrowRegex(e);
+    }),
+    ye(["N", "NN", "NNN", "NNNN", "NNNNN"], function (e, t, n, s) {
+      var i = n._locale.erasParse(e, s, n._strict);
+      i ? (y(n).era = i) : (y(n).invalidEra = e);
+    }),
+    ce("y", oe),
+    ce("yy", oe),
+    ce("yyy", oe),
+    ce("yyyy", oe),
+    ce("yo", function (e, t) {
+      return t._eraYearOrdinalRegex || oe;
+    }),
+    ye(["y", "yy", "yyy", "yyyy"], pe),
+    ye(["yo"], function (e, t, n, s) {
+      var i;
+      n._locale._eraYearOrdinalRegex &&
+        (i = e.match(n._locale._eraYearOrdinalRegex)),
+        n._locale.eraYearOrdinalParse
+          ? (t[pe] = n._locale.eraYearOrdinalParse(e, i))
+          : (t[pe] = parseInt(e, 10));
+    }),
+    C(0, ["gg", 2], 0, function () {
+      return this.weekYear() % 100;
+    }),
+    C(0, ["GG", 2], 0, function () {
+      return this.isoWeekYear() % 100;
+    }),
+    dn("gggg", "weekYear"),
+    dn("ggggg", "weekYear"),
+    dn("GGGG", "isoWeekYear"),
+    dn("GGGGG", "isoWeekYear"),
+    L("weekYear", "gg"),
+    L("isoWeekYear", "GG"),
+    A("weekYear", 1),
+    A("isoWeekYear", 1),
+    ce("G", ue),
+    ce("g", ue),
+    ce("GG", te, Q),
+    ce("gg", te, Q),
+    ce("GGGG", re, K),
+    ce("gggg", re, K),
+    ce("GGGGG", ae, ee),
+    ce("ggggg", ae, ee),
+    ge(["gggg", "ggggg", "GGGG", "GGGGG"], function (e, t, n, s) {
+      t[s.substr(0, 2)] = Z(e);
+    }),
+    ge(["gg", "GG"], function (e, t, n, s) {
+      t[s] = f.parseTwoDigitYear(e);
+    }),
+    C("Q", 0, "Qo", "quarter"),
+    L("quarter", "Q"),
+    A("quarter", 7),
+    ce("Q", J),
+    ye("Q", function (e, t) {
+      t[ve] = 3 * (Z(e) - 1);
+    }),
+    C("D", ["DD", 2], "Do", "date"),
+    L("date", "D"),
+    A("date", 9),
+    ce("D", te),
+    ce("DD", te, Q),
+    ce("Do", function (e, t) {
+      return e
+        ? t._dayOfMonthOrdinalParse || t._ordinalParse
+        : t._dayOfMonthOrdinalParseLenient;
+    }),
+    ye(["D", "DD"], ke),
+    ye("Do", function (e, t) {
+      t[ke] = Z(e.match(te)[0]);
+    });
+  var fn = z("Date", !0);
+  C("DDD", ["DDDD", 3], "DDDo", "dayOfYear"),
+    L("dayOfYear", "DDD"),
+    A("dayOfYear", 4),
+    ce("DDD", ie),
+    ce("DDDD", X),
+    ye(["DDD", "DDDD"], function (e, t, n) {
+      n._dayOfYear = Z(e);
+    }),
+    C("m", ["mm", 2], 0, "minute"),
+    L("minute", "m"),
+    A("minute", 14),
+    ce("m", te),
+    ce("mm", te, Q),
+    ye(["m", "mm"], De);
+  var mn = z("Minutes", !1);
+  C("s", ["ss", 2], 0, "second"),
+    L("second", "s"),
+    A("second", 15),
+    ce("s", te),
+    ce("ss", te, Q),
+    ye(["s", "ss"], Se);
+  var _n,
+    yn,
+    gn = z("Seconds", !1);
+  for (
+    C("S", 0, 0, function () {
+      return ~~(this.millisecond() / 100);
+    }),
+      C(0, ["SS", 2], 0, function () {
+        return ~~(this.millisecond() / 10);
+      }),
+      C(0, ["SSS", 3], 0, "millisecond"),
+      C(0, ["SSSS", 4], 0, function () {
+        return 10 * this.millisecond();
+      }),
+      C(0, ["SSSSS", 5], 0, function () {
+        return 100 * this.millisecond();
+      }),
+      C(0, ["SSSSSS", 6], 0, function () {
+        return 1e3 * this.millisecond();
+      }),
+      C(0, ["SSSSSSS", 7], 0, function () {
+        return 1e4 * this.millisecond();
+      }),
+      C(0, ["SSSSSSSS", 8], 0, function () {
+        return 1e5 * this.millisecond();
+      }),
+      C(0, ["SSSSSSSSS", 9], 0, function () {
+        return 1e6 * this.millisecond();
+      }),
+      L("millisecond", "ms"),
+      A("millisecond", 16),
+      ce("S", ie, J),
+      ce("SS", ie, Q),
+      ce("SSS", ie, X),
+      _n = "SSSS";
+    _n.length <= 9;
+    _n += "S"
+  )
+    ce(_n, oe);
+  function wn(e, t) {
+    t[Ye] = Z(1e3 * ("0." + e));
+  }
+  for (_n = "S"; _n.length <= 9; _n += "S") ye(_n, wn);
+  (yn = z("Milliseconds", !1)),
+    C("z", 0, 0, "zoneAbbr"),
+    C("zz", 0, 0, "zoneName");
+  var pn = k.prototype;
+  function vn(e) {
+    return e;
+  }
+  (pn.add = Jt),
+    (pn.calendar = function (e, t) {
+      1 === arguments.length &&
+        (arguments[0]
+          ? Kt(arguments[0])
+            ? ((e = arguments[0]), (t = void 0))
+            : (function (e) {
+                for (
+                  var t = u(e) && !l(e),
+                    n = !1,
+                    s = [
+                      "sameDay",
+                      "nextDay",
+                      "lastDay",
+                      "nextWeek",
+                      "lastWeek",
+                      "sameElse",
+                    ],
+                    i = 0;
+                  i < s.length;
+                  i += 1
+                )
+                  n = n || m(e, s[i]);
+                return t && n;
+              })(arguments[0]) && ((t = arguments[0]), (e = void 0))
+          : (t = e = void 0));
+      var n = e || Tt(),
+        s = Gt(n, this).startOf("day"),
+        i = f.calendarFormat(this, s) || "sameElse",
+        r = t && (O(t[i]) ? t[i].call(this, n) : t[i]);
+      return this.format(r || this.localeData().calendar(i, this, Tt(n)));
+    }),
+    (pn.clone = function () {
+      return new k(this);
+    }),
+    (pn.diff = function (e, t, n) {
+      var s, i, r;
+      if (!this.isValid()) return NaN;
+      if (!(s = Gt(e, this)).isValid()) return NaN;
+      switch (((i = 6e4 * (s.utcOffset() - this.utcOffset())), (t = V(t)))) {
+        case "year":
+          r = en(this, s) / 12;
+          break;
+        case "month":
+          r = en(this, s);
+          break;
+        case "quarter":
+          r = en(this, s) / 3;
+          break;
+        case "second":
+          r = (this - s) / 1e3;
+          break;
+        case "minute":
+          r = (this - s) / 6e4;
+          break;
+        case "hour":
+          r = (this - s) / 36e5;
+          break;
+        case "day":
+          r = (this - s - i) / 864e5;
+          break;
+        case "week":
+          r = (this - s - i) / 6048e5;
+          break;
+        default:
+          r = this - s;
+      }
+      return n ? r : I(r);
+    }),
+    (pn.endOf = function (e) {
+      var t, n;
+      if (void 0 === (e = V(e)) || "millisecond" === e || !this.isValid())
+        return this;
+      switch (((n = this._isUTC ? un : on), e)) {
+        case "year":
+          t = n(this.year() + 1, 0, 1) - 1;
+          break;
+        case "quarter":
+          t = n(this.year(), this.month() - (this.month() % 3) + 3, 1) - 1;
+          break;
+        case "month":
+          t = n(this.year(), this.month() + 1, 1) - 1;
+          break;
+        case "week":
+          t =
+            n(this.year(), this.month(), this.date() - this.weekday() + 7) - 1;
+          break;
+        case "isoWeek":
+          t =
+            n(
+              this.year(),
+              this.month(),
+              this.date() - (this.isoWeekday() - 1) + 7
+            ) - 1;
+          break;
+        case "day":
+        case "date":
+          t = n(this.year(), this.month(), this.date() + 1) - 1;
+          break;
+        case "hour":
+          (t = this._d.valueOf()),
+            (t +=
+              36e5 -
+              an(t + (this._isUTC ? 0 : 6e4 * this.utcOffset()), 36e5) -
+              1);
+          break;
+        case "minute":
+          (t = this._d.valueOf()), (t += 6e4 - an(t, 6e4) - 1);
+          break;
+        case "second":
+          (t = this._d.valueOf()), (t += 1e3 - an(t, 1e3) - 1);
+          break;
+      }
+      return this._d.setTime(t), f.updateOffset(this, !0), this;
+    }),
+    (pn.format = function (e) {
+      e = e || (this.isUtc() ? f.defaultFormatUtc : f.defaultFormat);
+      var t = U(this, e);
+      return this.localeData().postformat(t);
+    }),
+    (pn.from = function (e, t) {
+      return this.isValid() && ((M(e) && e.isValid()) || Tt(e).isValid())
+        ? Zt({ to: this, from: e }).locale(this.locale()).humanize(!t)
+        : this.localeData().invalidDate();
+    }),
+    (pn.fromNow = function (e) {
+      return this.from(Tt(), e);
+    }),
+    (pn.to = function (e, t) {
+      return this.isValid() && ((M(e) && e.isValid()) || Tt(e).isValid())
+        ? Zt({ from: this, to: e }).locale(this.locale()).humanize(!t)
+        : this.localeData().invalidDate();
+    }),
+    (pn.toNow = function (e) {
+      return this.to(Tt(), e);
+    }),
+    (pn.get = function (e) {
+      return O(this[(e = V(e))]) ? this[e]() : this;
+    }),
+    (pn.invalidAt = function () {
+      return y(this).overflow;
+    }),
+    (pn.isAfter = function (e, t) {
+      var n = M(e) ? e : Tt(e);
+      return (
+        !(!this.isValid() || !n.isValid()) &&
+        ("millisecond" === (t = V(t) || "millisecond")
+          ? this.valueOf() > n.valueOf()
+          : n.valueOf() < this.clone().startOf(t).valueOf())
+      );
+    }),
+    (pn.isBefore = function (e, t) {
+      var n = M(e) ? e : Tt(e);
+      return (
+        !(!this.isValid() || !n.isValid()) &&
+        ("millisecond" === (t = V(t) || "millisecond")
+          ? this.valueOf() < n.valueOf()
+          : this.clone().endOf(t).valueOf() < n.valueOf())
+      );
+    }),
+    (pn.isBetween = function (e, t, n, s) {
+      var i = M(e) ? e : Tt(e),
+        r = M(t) ? t : Tt(t);
+      return (
+        !!(this.isValid() && i.isValid() && r.isValid()) &&
+        ("(" === (s = s || "()")[0]
+          ? this.isAfter(i, n)
+          : !this.isBefore(i, n)) &&
+        (")" === s[1] ? this.isBefore(r, n) : !this.isAfter(r, n))
+      );
+    }),
+    (pn.isSame = function (e, t) {
+      var n,
+        s = M(e) ? e : Tt(e);
+      return (
+        !(!this.isValid() || !s.isValid()) &&
+        ("millisecond" === (t = V(t) || "millisecond")
+          ? this.valueOf() === s.valueOf()
+          : ((n = s.valueOf()),
+            this.clone().startOf(t).valueOf() <= n &&
+              n <= this.clone().endOf(t).valueOf()))
+      );
+    }),
+    (pn.isSameOrAfter = function (e, t) {
+      return this.isSame(e, t) || this.isAfter(e, t);
+    }),
+    (pn.isSameOrBefore = function (e, t) {
+      return this.isSame(e, t) || this.isBefore(e, t);
+    }),
+    (pn.isValid = function () {
+      return g(this);
+    }),
+    (pn.lang = nn),
+    (pn.locale = tn),
+    (pn.localeData = sn),
+    (pn.max = Pt),
+    (pn.min = Nt),
+    (pn.parsingFlags = function () {
+      return c({}, y(this));
+    }),
+    (pn.set = function (e, t) {
+      if ("object" == typeof e)
+        for (
+          var n = (function (e) {
+              var t,
+                n = [];
+              for (t in e) m(e, t) && n.push({ unit: t, priority: E[t] });
+              return (
+                n.sort(function (e, t) {
+                  return e.priority - t.priority;
+                }),
+                n
+              );
+            })((e = G(e))),
+            s = 0;
+          s < n.length;
+          s++
+        )
+          this[n[s].unit](e[n[s].unit]);
+      else if (O(this[(e = V(e))])) return this[e](t);
+      return this;
+    }),
+    (pn.startOf = function (e) {
+      var t, n;
+      if (void 0 === (e = V(e)) || "millisecond" === e || !this.isValid())
+        return this;
+      switch (((n = this._isUTC ? un : on), e)) {
+        case "year":
+          t = n(this.year(), 0, 1);
+          break;
+        case "quarter":
+          t = n(this.year(), this.month() - (this.month() % 3), 1);
+          break;
+        case "month":
+          t = n(this.year(), this.month(), 1);
+          break;
+        case "week":
+          t = n(this.year(), this.month(), this.date() - this.weekday());
+          break;
+        case "isoWeek":
+          t = n(
+            this.year(),
+            this.month(),
+            this.date() - (this.isoWeekday() - 1)
+          );
+          break;
+        case "day":
+        case "date":
+          t = n(this.year(), this.month(), this.date());
+          break;
+        case "hour":
+          (t = this._d.valueOf()),
+            (t -= an(t + (this._isUTC ? 0 : 6e4 * this.utcOffset()), 36e5));
+          break;
+        case "minute":
+          (t = this._d.valueOf()), (t -= an(t, 6e4));
+          break;
+        case "second":
+          (t = this._d.valueOf()), (t -= an(t, 1e3));
+          break;
+      }
+      return this._d.setTime(t), f.updateOffset(this, !0), this;
+    }),
+    (pn.subtract = Qt),
+    (pn.toArray = function () {
+      var e = this;
+      return [
+        e.year(),
+        e.month(),
+        e.date(),
+        e.hour(),
+        e.minute(),
+        e.second(),
+        e.millisecond(),
+      ];
+    }),
+    (pn.toObject = function () {
+      var e = this;
+      return {
+        years: e.year(),
+        months: e.month(),
+        date: e.date(),
+        hours: e.hours(),
+        minutes: e.minutes(),
+        seconds: e.seconds(),
+        milliseconds: e.milliseconds(),
+      };
+    }),
+    (pn.toDate = function () {
+      return new Date(this.valueOf());
+    }),
+    (pn.toISOString = function (e) {
+      if (!this.isValid()) return null;
+      var t = !0 !== e,
+        n = t ? this.clone().utc() : this;
+      return n.year() < 0 || 9999 < n.year()
+        ? U(
+            n,
+            t
+              ? "YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]"
+              : "YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"
+          )
+        : O(Date.prototype.toISOString)
+        ? t
+          ? this.toDate().toISOString()
+          : new Date(this.valueOf() + 60 * this.utcOffset() * 1e3)
+              .toISOString()
+              .replace("Z", U(n, "Z"))
+        : U(
+            n,
+            t ? "YYYY-MM-DD[T]HH:mm:ss.SSS[Z]" : "YYYY-MM-DD[T]HH:mm:ss.SSSZ"
+          );
+    }),
+    (pn.inspect = function () {
+      if (!this.isValid()) return "moment.invalid(/* " + this._i + " */)";
+      var e,
+        t,
+        n,
+        s = "moment",
+        i = "";
+      return (
+        this.isLocal() ||
+          ((s = 0 === this.utcOffset() ? "moment.utc" : "moment.parseZone"),
+          (i = "Z")),
+        (e = "[" + s + '("]'),
+        (t = 0 <= this.year() && this.year() <= 9999 ? "YYYY" : "YYYYYY"),
+        (n = i + '[")]'),
+        this.format(e + t + "-MM-DD[T]HH:mm:ss.SSS" + n)
+      );
+    }),
+    "undefined" != typeof Symbol &&
+      null != Symbol.for &&
+      (pn[Symbol.for("nodejs.util.inspect.custom")] = function () {
+        return "Moment<" + this.format() + ">";
+      }),
+    (pn.toJSON = function () {
+      return this.isValid() ? this.toISOString() : null;
+    }),
+    (pn.toString = function () {
+      return this.clone()
+        .locale("en")
+        .format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ");
+    }),
+    (pn.unix = function () {
+      return Math.floor(this.valueOf() / 1e3);
+    }),
+    (pn.valueOf = function () {
+      return this._d.valueOf() - 6e4 * (this._offset || 0);
+    }),
+    (pn.creationData = function () {
+      return {
+        input: this._i,
+        format: this._f,
+        locale: this._locale,
+        isUTC: this._isUTC,
+        strict: this._strict,
+      };
+    }),
+    (pn.eraName = function () {
+      for (
+        var e, t = this.localeData().eras(), n = 0, s = t.length;
+        n < s;
+        ++n
+      ) {
+        if (
+          ((e = this.clone().startOf("day").valueOf()),
+          t[n].since <= e && e <= t[n].until)
+        )
+          return t[n].name;
+        if (t[n].until <= e && e <= t[n].since) return t[n].name;
+      }
+      return "";
+    }),
+    (pn.eraNarrow = function () {
+      for (
+        var e, t = this.localeData().eras(), n = 0, s = t.length;
+        n < s;
+        ++n
+      ) {
+        if (
+          ((e = this.clone().startOf("day").valueOf()),
+          t[n].since <= e && e <= t[n].until)
+        )
+          return t[n].narrow;
+        if (t[n].until <= e && e <= t[n].since) return t[n].narrow;
+      }
+      return "";
+    }),
+    (pn.eraAbbr = function () {
+      for (
+        var e, t = this.localeData().eras(), n = 0, s = t.length;
+        n < s;
+        ++n
+      ) {
+        if (
+          ((e = this.clone().startOf("day").valueOf()),
+          t[n].since <= e && e <= t[n].until)
+        )
+          return t[n].abbr;
+        if (t[n].until <= e && e <= t[n].since) return t[n].abbr;
+      }
+      return "";
+    }),
+    (pn.eraYear = function () {
+      for (
+        var e, t, n = this.localeData().eras(), s = 0, i = n.length;
+        s < i;
+        ++s
+      )
+        if (
+          ((e = n[s].since <= n[s].until ? 1 : -1),
+          (t = this.clone().startOf("day").valueOf()),
+          (n[s].since <= t && t <= n[s].until) ||
+            (n[s].until <= t && t <= n[s].since))
+        )
+          return (this.year() - f(n[s].since).year()) * e + n[s].offset;
+      return this.year();
+    }),
+    (pn.year = Le),
+    (pn.isLeapYear = function () {
+      return j(this.year());
+    }),
+    (pn.weekYear = function (e) {
+      return cn.call(
+        this,
+        e,
+        this.week(),
+        this.weekday(),
+        this.localeData()._week.dow,
+        this.localeData()._week.doy
+      );
+    }),
+    (pn.isoWeekYear = function (e) {
+      return cn.call(this, e, this.isoWeek(), this.isoWeekday(), 1, 4);
+    }),
+    (pn.quarter = pn.quarters =
+      function (e) {
+        return null == e
+          ? Math.ceil((this.month() + 1) / 3)
+          : this.month(3 * (e - 1) + (this.month() % 3));
+      }),
+    (pn.month = Ue),
+    (pn.daysInMonth = function () {
+      return xe(this.year(), this.month());
+    }),
+    (pn.week = pn.weeks =
+      function (e) {
+        var t = this.localeData().week(this);
+        return null == e ? t : this.add(7 * (e - t), "d");
+      }),
+    (pn.isoWeek = pn.isoWeeks =
+      function (e) {
+        var t = Ae(this, 1, 4).week;
+        return null == e ? t : this.add(7 * (e - t), "d");
+      }),
+    (pn.weeksInYear = function () {
+      var e = this.localeData()._week;
+      return je(this.year(), e.dow, e.doy);
+    }),
+    (pn.weeksInWeekYear = function () {
+      var e = this.localeData()._week;
+      return je(this.weekYear(), e.dow, e.doy);
+    }),
+    (pn.isoWeeksInYear = function () {
+      return je(this.year(), 1, 4);
+    }),
+    (pn.isoWeeksInISOWeekYear = function () {
+      return je(this.isoWeekYear(), 1, 4);
+    }),
+    (pn.date = fn),
+    (pn.day = pn.days =
+      function (e) {
+        if (!this.isValid()) return null != e ? this : NaN;
+        var t,
+          n,
+          s = this._isUTC ? this._d.getUTCDay() : this._d.getDay();
+        return null != e
+          ? ((t = e),
+            (n = this.localeData()),
+            (e =
+              "string" != typeof t
+                ? t
+                : isNaN(t)
+                ? "number" == typeof (t = n.weekdaysParse(t))
+                  ? t
+                  : null
+                : parseInt(t, 10)),
+            this.add(e - s, "d"))
+          : s;
+      }),
+    (pn.weekday = function (e) {
+      if (!this.isValid()) return null != e ? this : NaN;
+      var t = (this.day() + 7 - this.localeData()._week.dow) % 7;
+      return null == e ? t : this.add(e - t, "d");
+    }),
+    (pn.isoWeekday = function (e) {
+      if (!this.isValid()) return null != e ? this : NaN;
+      if (null == e) return this.day() || 7;
+      var t,
+        n,
+        s =
+          ((t = e),
+          (n = this.localeData()),
+          "string" == typeof t
+            ? n.weekdaysParse(t) % 7 || 7
+            : isNaN(t)
+            ? null
+            : t);
+      return this.day(this.day() % 7 ? s : s - 7);
+    }),
+    (pn.dayOfYear = function (e) {
+      var t =
+        Math.round(
+          (this.clone().startOf("day") - this.clone().startOf("year")) / 864e5
+        ) + 1;
+      return null == e ? t : this.add(e - t, "d");
+    }),
+    (pn.hour = pn.hours = tt),
+    (pn.minute = pn.minutes = mn),
+    (pn.second = pn.seconds = gn),
+    (pn.millisecond = pn.milliseconds = yn),
+    (pn.utcOffset = function (e, t, n) {
+      var s,
+        i = this._offset || 0;
+      if (!this.isValid()) return null != e ? this : NaN;
+      if (null == e) return this._isUTC ? i : Et(this);
+      if ("string" == typeof e) {
+        if (null === (e = Vt(he, e))) return this;
+      } else Math.abs(e) < 16 && !n && (e *= 60);
+      return (
+        !this._isUTC && t && (s = Et(this)),
+        (this._offset = e),
+        (this._isUTC = !0),
+        null != s && this.add(s, "m"),
+        i !== e &&
+          (!t || this._changeInProgress
+            ? Bt(this, Zt(e - i, "m"), 1, !1)
+            : this._changeInProgress ||
+              ((this._changeInProgress = !0),
+              f.updateOffset(this, !0),
+              (this._changeInProgress = null))),
+        this
+      );
+    }),
+    (pn.utc = function (e) {
+      return this.utcOffset(0, e);
+    }),
+    (pn.local = function (e) {
+      return (
+        this._isUTC &&
+          (this.utcOffset(0, e),
+          (this._isUTC = !1),
+          e && this.subtract(Et(this), "m")),
+        this
+      );
+    }),
+    (pn.parseZone = function () {
+      var e;
+      return (
+        null != this._tzm
+          ? this.utcOffset(this._tzm, !1, !0)
+          : "string" == typeof this._i &&
+            (null != (e = Vt(le, this._i))
+              ? this.utcOffset(e)
+              : this.utcOffset(0, !0)),
+        this
+      );
+    }),
+    (pn.hasAlignedHourOffset = function (e) {
+      return (
+        !!this.isValid() &&
+        ((e = e ? Tt(e).utcOffset() : 0), (this.utcOffset() - e) % 60 == 0)
+      );
+    }),
+    (pn.isDST = function () {
+      return (
+        this.utcOffset() > this.clone().month(0).utcOffset() ||
+        this.utcOffset() > this.clone().month(5).utcOffset()
+      );
+    }),
+    (pn.isLocal = function () {
+      return !!this.isValid() && !this._isUTC;
+    }),
+    (pn.isUtcOffset = function () {
+      return !!this.isValid() && this._isUTC;
+    }),
+    (pn.isUtc = At),
+    (pn.isUTC = At),
+    (pn.zoneAbbr = function () {
+      return this._isUTC ? "UTC" : "";
+    }),
+    (pn.zoneName = function () {
+      return this._isUTC ? "Coordinated Universal Time" : "";
+    }),
+    (pn.dates = n("dates accessor is deprecated. Use date instead.", fn)),
+    (pn.months = n("months accessor is deprecated. Use month instead", Ue)),
+    (pn.years = n("years accessor is deprecated. Use year instead", Le)),
+    (pn.zone = n(
+      "moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",
+      function (e, t) {
+        return null != e
+          ? ("string" != typeof e && (e = -e), this.utcOffset(e, t), this)
+          : -this.utcOffset();
+      }
+    )),
+    (pn.isDSTShifted = n(
+      "isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",
+      function () {
+        if (!r(this._isDSTShifted)) return this._isDSTShifted;
+        var e,
+          t = {};
+        return (
+          v(t, this),
+          (t = bt(t))._a
+            ? ((e = (t._isUTC ? _ : Tt)(t._a)),
+              (this._isDSTShifted =
+                this.isValid() &&
+                0 <
+                  (function (e, t, n) {
+                    for (
+                      var s = Math.min(e.length, t.length),
+                        i = Math.abs(e.length - t.length),
+                        r = 0,
+                        a = 0;
+                      a < s;
+                      a++
+                    )
+                      ((n && e[a] !== t[a]) || (!n && Z(e[a]) !== Z(t[a]))) &&
+                        r++;
+                    return r + i;
+                  })(t._a, e.toArray())))
+            : (this._isDSTShifted = !1),
+          this._isDSTShifted
+        );
+      }
+    ));
+  var kn = x.prototype;
+  function Mn(e, t, n, s) {
+    var i = dt(),
+      r = _().set(s, t);
+    return i[n](r, e);
+  }
+  function Dn(e, t, n) {
+    if ((h(e) && ((t = e), (e = void 0)), (e = e || ""), null != t))
+      return Mn(e, t, n, "month");
+    for (var s = [], i = 0; i < 12; i++) s[i] = Mn(e, i, n, "month");
+    return s;
+  }
+  function Sn(e, t, n, s) {
+    t =
+      ("boolean" == typeof e
+        ? h(t) && ((n = t), (t = void 0))
+        : ((t = e), (e = !1), h((n = t)) && ((n = t), (t = void 0))),
+      t || "");
+    var i,
+      r = dt(),
+      a = e ? r._week.dow : 0,
+      o = [];
+    if (null != n) return Mn(t, (n + a) % 7, s, "day");
+    for (i = 0; i < 7; i++) o[i] = Mn(t, (i + a) % 7, s, "day");
+    return o;
+  }
+  (kn.calendar = function (e, t, n) {
+    var s = this._calendar[e] || this._calendar.sameElse;
+    return O(s) ? s.call(t, n) : s;
+  }),
+    (kn.longDateFormat = function (e) {
+      var t = this._longDateFormat[e],
+        n = this._longDateFormat[e.toUpperCase()];
+      return t || !n
+        ? t
+        : ((this._longDateFormat[e] = n
+            .match(N)
+            .map(function (e) {
+              return "MMMM" === e || "MM" === e || "DD" === e || "dddd" === e
+                ? e.slice(1)
+                : e;
+            })
+            .join("")),
+          this._longDateFormat[e]);
+    }),
+    (kn.invalidDate = function () {
+      return this._invalidDate;
+    }),
+    (kn.ordinal = function (e) {
+      return this._ordinal.replace("%d", e);
+    }),
+    (kn.preparse = vn),
+    (kn.postformat = vn),
+    (kn.relativeTime = function (e, t, n, s) {
+      var i = this._relativeTime[n];
+      return O(i) ? i(e, t, n, s) : i.replace(/%d/i, e);
+    }),
+    (kn.pastFuture = function (e, t) {
+      var n = this._relativeTime[0 < e ? "future" : "past"];
+      return O(n) ? n(t) : n.replace(/%s/i, t);
+    }),
+    (kn.set = function (e) {
+      var t, n;
+      for (n in e)
+        m(e, n) && (O((t = e[n])) ? (this[n] = t) : (this["_" + n] = t));
+      (this._config = e),
+        (this._dayOfMonthOrdinalParseLenient = new RegExp(
+          (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +
+            "|" +
+            /\d{1,2}/.source
+        ));
+    }),
+    (kn.eras = function (e, t) {
+      for (
+        var n, s = this._eras || dt("en")._eras, i = 0, r = s.length;
+        i < r;
+        ++i
+      ) {
+        switch (typeof s[i].since) {
+          case "string":
+            (n = f(s[i].since).startOf("day")), (s[i].since = n.valueOf());
+            break;
+        }
+        switch (typeof s[i].until) {
+          case "undefined":
+            s[i].until = 1 / 0;
+            break;
+          case "string":
+            (n = f(s[i].until).startOf("day").valueOf()),
+              (s[i].until = n.valueOf());
+            break;
+        }
+      }
+      return s;
+    }),
+    (kn.erasParse = function (e, t, n) {
+      var s,
+        i,
+        r,
+        a,
+        o,
+        u = this.eras();
+      for (e = e.toUpperCase(), s = 0, i = u.length; s < i; ++s)
+        if (
+          ((r = u[s].name.toUpperCase()),
+          (a = u[s].abbr.toUpperCase()),
+          (o = u[s].narrow.toUpperCase()),
+          n)
+        )
+          switch (t) {
+            case "N":
+            case "NN":
+            case "NNN":
+              if (a === e) return u[s];
+              break;
+            case "NNNN":
+              if (r === e) return u[s];
+              break;
+            case "NNNNN":
+              if (o === e) return u[s];
+              break;
+          }
+        else if (0 <= [r, a, o].indexOf(e)) return u[s];
+    }),
+    (kn.erasConvertYear = function (e, t) {
+      var n = e.since <= e.until ? 1 : -1;
+      return void 0 === t
+        ? f(e.since).year()
+        : f(e.since).year() + (t - e.offset) * n;
+    }),
+    (kn.erasAbbrRegex = function (e) {
+      return (
+        m(this, "_erasAbbrRegex") || hn.call(this),
+        e ? this._erasAbbrRegex : this._erasRegex
+      );
+    }),
+    (kn.erasNameRegex = function (e) {
+      return (
+        m(this, "_erasNameRegex") || hn.call(this),
+        e ? this._erasNameRegex : this._erasRegex
+      );
+    }),
+    (kn.erasNarrowRegex = function (e) {
+      return (
+        m(this, "_erasNarrowRegex") || hn.call(this),
+        e ? this._erasNarrowRegex : this._erasRegex
+      );
+    }),
+    (kn.months = function (e, t) {
+      return e
+        ? o(this._months)
+          ? this._months[e.month()]
+          : this._months[
+              (this._months.isFormat || Pe).test(t) ? "format" : "standalone"
+            ][e.month()]
+        : o(this._months)
+        ? this._months
+        : this._months.standalone;
+    }),
+    (kn.monthsShort = function (e, t) {
+      return e
+        ? o(this._monthsShort)
+          ? this._monthsShort[e.month()]
+          : this._monthsShort[Pe.test(t) ? "format" : "standalone"][e.month()]
+        : o(this._monthsShort)
+        ? this._monthsShort
+        : this._monthsShort.standalone;
+    }),
+    (kn.monthsParse = function (e, t, n) {
+      var s, i, r;
+      if (this._monthsParseExact)
+        return function (e, t, n) {
+          var s,
+            i,
+            r,
+            a = e.toLocaleLowerCase();
+          if (!this._monthsParse)
+            for (
+              this._monthsParse = [],
+                this._longMonthsParse = [],
+                this._shortMonthsParse = [],
+                s = 0;
+              s < 12;
+              ++s
+            )
+              (r = _([2e3, s])),
+                (this._shortMonthsParse[s] = this.monthsShort(
+                  r,
+                  ""
+                ).toLocaleLowerCase()),
+                (this._longMonthsParse[s] = this.months(
+                  r,
+                  ""
+                ).toLocaleLowerCase());
+          return n
+            ? "MMM" === t
+              ? -1 !== (i = we.call(this._shortMonthsParse, a))
+                ? i
+                : null
+              : -1 !== (i = we.call(this._longMonthsParse, a))
+              ? i
+              : null
+            : "MMM" === t
+            ? -1 !== (i = we.call(this._shortMonthsParse, a)) ||
+              -1 !== (i = we.call(this._longMonthsParse, a))
+              ? i
+              : null
+            : -1 !== (i = we.call(this._longMonthsParse, a)) ||
+              -1 !== (i = we.call(this._shortMonthsParse, a))
+            ? i
+            : null;
+        }.call(this, e, t, n);
+      for (
+        this._monthsParse ||
+          ((this._monthsParse = []),
+          (this._longMonthsParse = []),
+          (this._shortMonthsParse = [])),
+          s = 0;
+        s < 12;
+        s++
+      ) {
+        if (
+          ((i = _([2e3, s])),
+          n &&
+            !this._longMonthsParse[s] &&
+            ((this._longMonthsParse[s] = new RegExp(
+              "^" + this.months(i, "").replace(".", "") + "$",
+              "i"
+            )),
+            (this._shortMonthsParse[s] = new RegExp(
+              "^" + this.monthsShort(i, "").replace(".", "") + "$",
+              "i"
+            ))),
+          n ||
+            this._monthsParse[s] ||
+            ((r = "^" + this.months(i, "") + "|^" + this.monthsShort(i, "")),
+            (this._monthsParse[s] = new RegExp(r.replace(".", ""), "i"))),
+          n && "MMMM" === t && this._longMonthsParse[s].test(e))
+        )
+          return s;
+        if (n && "MMM" === t && this._shortMonthsParse[s].test(e)) return s;
+        if (!n && this._monthsParse[s].test(e)) return s;
+      }
+    }),
+    (kn.monthsRegex = function (e) {
+      return this._monthsParseExact
+        ? (m(this, "_monthsRegex") || He.call(this),
+          e ? this._monthsStrictRegex : this._monthsRegex)
+        : (m(this, "_monthsRegex") || (this._monthsRegex = We),
+          this._monthsStrictRegex && e
+            ? this._monthsStrictRegex
+            : this._monthsRegex);
+    }),
+    (kn.monthsShortRegex = function (e) {
+      return this._monthsParseExact
+        ? (m(this, "_monthsRegex") || He.call(this),
+          e ? this._monthsShortStrictRegex : this._monthsShortRegex)
+        : (m(this, "_monthsShortRegex") || (this._monthsShortRegex = Re),
+          this._monthsShortStrictRegex && e
+            ? this._monthsShortStrictRegex
+            : this._monthsShortRegex);
+    }),
+    (kn.week = function (e) {
+      return Ae(e, this._week.dow, this._week.doy).week;
+    }),
+    (kn.firstDayOfYear = function () {
+      return this._week.doy;
+    }),
+    (kn.firstDayOfWeek = function () {
+      return this._week.dow;
+    }),
+    (kn.weekdays = function (e, t) {
+      var n = o(this._weekdays)
+        ? this._weekdays
+        : this._weekdays[
+            e && !0 !== e && this._weekdays.isFormat.test(t)
+              ? "format"
+              : "standalone"
+          ];
+      return !0 === e ? Ie(n, this._week.dow) : e ? n[e.day()] : n;
+    }),
+    (kn.weekdaysMin = function (e) {
+      return !0 === e
+        ? Ie(this._weekdaysMin, this._week.dow)
+        : e
+        ? this._weekdaysMin[e.day()]
+        : this._weekdaysMin;
+    }),
+    (kn.weekdaysShort = function (e) {
+      return !0 === e
+        ? Ie(this._weekdaysShort, this._week.dow)
+        : e
+        ? this._weekdaysShort[e.day()]
+        : this._weekdaysShort;
+    }),
+    (kn.weekdaysParse = function (e, t, n) {
+      var s, i, r;
+      if (this._weekdaysParseExact)
+        return function (e, t, n) {
+          var s,
+            i,
+            r,
+            a = e.toLocaleLowerCase();
+          if (!this._weekdaysParse)
+            for (
+              this._weekdaysParse = [],
+                this._shortWeekdaysParse = [],
+                this._minWeekdaysParse = [],
+                s = 0;
+              s < 7;
+              ++s
+            )
+              (r = _([2e3, 1]).day(s)),
+                (this._minWeekdaysParse[s] = this.weekdaysMin(
+                  r,
+                  ""
+                ).toLocaleLowerCase()),
+                (this._shortWeekdaysParse[s] = this.weekdaysShort(
+                  r,
+                  ""
+                ).toLocaleLowerCase()),
+                (this._weekdaysParse[s] = this.weekdays(
+                  r,
+                  ""
+                ).toLocaleLowerCase());
+          return n
+            ? "dddd" === t
+              ? -1 !== (i = we.call(this._weekdaysParse, a))
+                ? i
+                : null
+              : "ddd" === t
+              ? -1 !== (i = we.call(this._shortWeekdaysParse, a))
+                ? i
+                : null
+              : -1 !== (i = we.call(this._minWeekdaysParse, a))
+              ? i
+              : null
+            : "dddd" === t
+            ? -1 !== (i = we.call(this._weekdaysParse, a)) ||
+              -1 !== (i = we.call(this._shortWeekdaysParse, a)) ||
+              -1 !== (i = we.call(this._minWeekdaysParse, a))
+              ? i
+              : null
+            : "ddd" === t
+            ? -1 !== (i = we.call(this._shortWeekdaysParse, a)) ||
+              -1 !== (i = we.call(this._weekdaysParse, a)) ||
+              -1 !== (i = we.call(this._minWeekdaysParse, a))
+              ? i
+              : null
+            : -1 !== (i = we.call(this._minWeekdaysParse, a)) ||
+              -1 !== (i = we.call(this._weekdaysParse, a)) ||
+              -1 !== (i = we.call(this._shortWeekdaysParse, a))
+            ? i
+            : null;
+        }.call(this, e, t, n);
+      for (
+        this._weekdaysParse ||
+          ((this._weekdaysParse = []),
+          (this._minWeekdaysParse = []),
+          (this._shortWeekdaysParse = []),
+          (this._fullWeekdaysParse = [])),
+          s = 0;
+        s < 7;
+        s++
+      ) {
+        if (
+          ((i = _([2e3, 1]).day(s)),
+          n &&
+            !this._fullWeekdaysParse[s] &&
+            ((this._fullWeekdaysParse[s] = new RegExp(
+              "^" + this.weekdays(i, "").replace(".", "\\.?") + "$",
+              "i"
+            )),
+            (this._shortWeekdaysParse[s] = new RegExp(
+              "^" + this.weekdaysShort(i, "").replace(".", "\\.?") + "$",
+              "i"
+            )),
+            (this._minWeekdaysParse[s] = new RegExp(
+              "^" + this.weekdaysMin(i, "").replace(".", "\\.?") + "$",
+              "i"
+            ))),
+          this._weekdaysParse[s] ||
+            ((r =
+              "^" +
+              this.weekdays(i, "") +
+              "|^" +
+              this.weekdaysShort(i, "") +
+              "|^" +
+              this.weekdaysMin(i, "")),
+            (this._weekdaysParse[s] = new RegExp(r.replace(".", ""), "i"))),
+          n && "dddd" === t && this._fullWeekdaysParse[s].test(e))
+        )
+          return s;
+        if (n && "ddd" === t && this._shortWeekdaysParse[s].test(e)) return s;
+        if (n && "dd" === t && this._minWeekdaysParse[s].test(e)) return s;
+        if (!n && this._weekdaysParse[s].test(e)) return s;
+      }
+    }),
+    (kn.weekdaysRegex = function (e) {
+      return this._weekdaysParseExact
+        ? (m(this, "_weekdaysRegex") || Qe.call(this),
+          e ? this._weekdaysStrictRegex : this._weekdaysRegex)
+        : (m(this, "_weekdaysRegex") || (this._weekdaysRegex = qe),
+          this._weekdaysStrictRegex && e
+            ? this._weekdaysStrictRegex
+            : this._weekdaysRegex);
+    }),
+    (kn.weekdaysShortRegex = function (e) {
+      return this._weekdaysParseExact
+        ? (m(this, "_weekdaysRegex") || Qe.call(this),
+          e ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex)
+        : (m(this, "_weekdaysShortRegex") || (this._weekdaysShortRegex = Be),
+          this._weekdaysShortStrictRegex && e
+            ? this._weekdaysShortStrictRegex
+            : this._weekdaysShortRegex);
+    }),
+    (kn.weekdaysMinRegex = function (e) {
+      return this._weekdaysParseExact
+        ? (m(this, "_weekdaysRegex") || Qe.call(this),
+          e ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex)
+        : (m(this, "_weekdaysMinRegex") || (this._weekdaysMinRegex = Je),
+          this._weekdaysMinStrictRegex && e
+            ? this._weekdaysMinStrictRegex
+            : this._weekdaysMinRegex);
+    }),
+    (kn.isPM = function (e) {
+      return "p" === (e + "").toLowerCase().charAt(0);
+    }),
+    (kn.meridiem = function (e, t, n) {
+      return 11 < e ? (n ? "pm" : "PM") : n ? "am" : "AM";
+    }),
+    lt("en", {
+      eras: [
+        {
+          since: "0001-01-01",
+          until: 1 / 0,
+          offset: 1,
+          name: "Anno Domini",
+          narrow: "AD",
+          abbr: "AD",
+        },
+        {
+          since: "0000-12-31",
+          until: -1 / 0,
+          offset: 1,
+          name: "Before Christ",
+          narrow: "BC",
+          abbr: "BC",
+        },
+      ],
+      dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/,
+      ordinal: function (e) {
+        var t = e % 10;
+        return (
+          e +
+          (1 === Z((e % 100) / 10)
+            ? "th"
+            : 1 == t
+            ? "st"
+            : 2 == t
+            ? "nd"
+            : 3 == t
+            ? "rd"
+            : "th")
+        );
+      },
+    }),
+    (f.lang = n("moment.lang is deprecated. Use moment.locale instead.", lt)),
+    (f.langData = n(
+      "moment.langData is deprecated. Use moment.localeData instead.",
+      dt
+    ));
+  var Yn = Math.abs;
+  function On(e, t, n, s) {
+    var i = Zt(t, n);
+    return (
+      (e._milliseconds += s * i._milliseconds),
+      (e._days += s * i._days),
+      (e._months += s * i._months),
+      e._bubble()
+    );
+  }
+  function bn(e) {
+    return e < 0 ? Math.floor(e) : Math.ceil(e);
+  }
+  function xn(e) {
+    return (4800 * e) / 146097;
+  }
+  function Tn(e) {
+    return (146097 * e) / 4800;
+  }
+  function Nn(e) {
+    return function () {
+      return this.as(e);
+    };
+  }
+  var Pn = Nn("ms"),
+    Rn = Nn("s"),
+    Wn = Nn("m"),
+    Cn = Nn("h"),
+    Un = Nn("d"),
+    Hn = Nn("w"),
+    Fn = Nn("M"),
+    Ln = Nn("Q"),
+    Vn = Nn("y");
+  function Gn(e) {
+    return function () {
+      return this.isValid() ? this._data[e] : NaN;
+    };
+  }
+  var En = Gn("milliseconds"),
+    An = Gn("seconds"),
+    jn = Gn("minutes"),
+    In = Gn("hours"),
+    Zn = Gn("days"),
+    zn = Gn("months"),
+    $n = Gn("years");
+  var qn = Math.round,
+    Bn = { ss: 44, s: 45, m: 45, h: 22, d: 26, w: null, M: 11 };
+  function Jn(e, t, n, s) {
+    var i = Zt(e).abs(),
+      r = qn(i.as("s")),
+      a = qn(i.as("m")),
+      o = qn(i.as("h")),
+      u = qn(i.as("d")),
+      l = qn(i.as("M")),
+      h = qn(i.as("w")),
+      d = qn(i.as("y")),
+      c =
+        (r <= n.ss ? ["s", r] : r < n.s && ["ss", r]) ||
+        (a <= 1 && ["m"]) ||
+        (a < n.m && ["mm", a]) ||
+        (o <= 1 && ["h"]) ||
+        (o < n.h && ["hh", o]) ||
+        (u <= 1 && ["d"]) ||
+        (u < n.d && ["dd", u]);
+    return (
+      null != n.w && (c = c || (h <= 1 && ["w"]) || (h < n.w && ["ww", h])),
+      ((c = c ||
+        (l <= 1 && ["M"]) ||
+        (l < n.M && ["MM", l]) ||
+        (d <= 1 && ["y"]) || ["yy", d])[2] = t),
+      (c[3] = 0 < +e),
+      (c[4] = s),
+      function (e, t, n, s, i) {
+        return i.relativeTime(t || 1, !!n, e, s);
+      }.apply(null, c)
+    );
+  }
+  var Qn = Math.abs;
+  function Xn(e) {
+    return (0 < e) - (e < 0) || +e;
+  }
+  function Kn() {
+    if (!this.isValid()) return this.localeData().invalidDate();
+    var e,
+      t,
+      n,
+      s,
+      i,
+      r,
+      a,
+      o,
+      u = Qn(this._milliseconds) / 1e3,
+      l = Qn(this._days),
+      h = Qn(this._months),
+      d = this.asSeconds();
+    return d
+      ? ((e = I(u / 60)),
+        (t = I(e / 60)),
+        (u %= 60),
+        (e %= 60),
+        (n = I(h / 12)),
+        (h %= 12),
+        (s = u ? u.toFixed(3).replace(/\.?0+$/, "") : ""),
+        (i = d < 0 ? "-" : ""),
+        (r = Xn(this._months) !== Xn(d) ? "-" : ""),
+        (a = Xn(this._days) !== Xn(d) ? "-" : ""),
+        (o = Xn(this._milliseconds) !== Xn(d) ? "-" : ""),
+        i +
+          "P" +
+          (n ? r + n + "Y" : "") +
+          (h ? r + h + "M" : "") +
+          (l ? a + l + "D" : "") +
+          (t || e || u ? "T" : "") +
+          (t ? o + t + "H" : "") +
+          (e ? o + e + "M" : "") +
+          (u ? o + s + "S" : ""))
+      : "P0D";
+  }
+  var es = Ct.prototype;
+  return (
+    (es.isValid = function () {
+      return this._isValid;
+    }),
+    (es.abs = function () {
+      var e = this._data;
+      return (
+        (this._milliseconds = Yn(this._milliseconds)),
+        (this._days = Yn(this._days)),
+        (this._months = Yn(this._months)),
+        (e.milliseconds = Yn(e.milliseconds)),
+        (e.seconds = Yn(e.seconds)),
+        (e.minutes = Yn(e.minutes)),
+        (e.hours = Yn(e.hours)),
+        (e.months = Yn(e.months)),
+        (e.years = Yn(e.years)),
+        this
+      );
+    }),
+    (es.add = function (e, t) {
+      return On(this, e, t, 1);
+    }),
+    (es.subtract = function (e, t) {
+      return On(this, e, t, -1);
+    }),
+    (es.as = function (e) {
+      if (!this.isValid()) return NaN;
+      var t,
+        n,
+        s = this._milliseconds;
+      if ("month" === (e = V(e)) || "quarter" === e || "year" === e)
+        switch (((t = this._days + s / 864e5), (n = this._months + xn(t)), e)) {
+          case "month":
+            return n;
+          case "quarter":
+            return n / 3;
+          case "year":
+            return n / 12;
+        }
+      else
+        switch (((t = this._days + Math.round(Tn(this._months))), e)) {
+          case "week":
+            return t / 7 + s / 6048e5;
+          case "day":
+            return t + s / 864e5;
+          case "hour":
+            return 24 * t + s / 36e5;
+          case "minute":
+            return 1440 * t + s / 6e4;
+          case "second":
+            return 86400 * t + s / 1e3;
+          case "millisecond":
+            return Math.floor(864e5 * t) + s;
+          default:
+            throw new Error("Unknown unit " + e);
+        }
+    }),
+    (es.asMilliseconds = Pn),
+    (es.asSeconds = Rn),
+    (es.asMinutes = Wn),
+    (es.asHours = Cn),
+    (es.asDays = Un),
+    (es.asWeeks = Hn),
+    (es.asMonths = Fn),
+    (es.asQuarters = Ln),
+    (es.asYears = Vn),
+    (es.valueOf = function () {
+      return this.isValid()
+        ? this._milliseconds +
+            864e5 * this._days +
+            (this._months % 12) * 2592e6 +
+            31536e6 * Z(this._months / 12)
+        : NaN;
+    }),
+    (es._bubble = function () {
+      var e,
+        t,
+        n,
+        s,
+        i,
+        r = this._milliseconds,
+        a = this._days,
+        o = this._months,
+        u = this._data;
+      return (
+        (0 <= r && 0 <= a && 0 <= o) ||
+          (r <= 0 && a <= 0 && o <= 0) ||
+          ((r += 864e5 * bn(Tn(o) + a)), (o = a = 0)),
+        (u.milliseconds = r % 1e3),
+        (e = I(r / 1e3)),
+        (u.seconds = e % 60),
+        (t = I(e / 60)),
+        (u.minutes = t % 60),
+        (n = I(t / 60)),
+        (u.hours = n % 24),
+        (a += I(n / 24)),
+        (o += i = I(xn(a))),
+        (a -= bn(Tn(i))),
+        (s = I(o / 12)),
+        (o %= 12),
+        (u.days = a),
+        (u.months = o),
+        (u.years = s),
+        this
+      );
+    }),
+    (es.clone = function () {
+      return Zt(this);
+    }),
+    (es.get = function (e) {
+      return (e = V(e)), this.isValid() ? this[e + "s"]() : NaN;
+    }),
+    (es.milliseconds = En),
+    (es.seconds = An),
+    (es.minutes = jn),
+    (es.hours = In),
+    (es.days = Zn),
+    (es.weeks = function () {
+      return I(this.days() / 7);
+    }),
+    (es.months = zn),
+    (es.years = $n),
+    (es.humanize = function (e, t) {
+      if (!this.isValid()) return this.localeData().invalidDate();
+      var n,
+        s,
+        i = !1,
+        r = Bn;
+      return (
+        "object" == typeof e && ((t = e), (e = !1)),
+        "boolean" == typeof e && (i = e),
+        "object" == typeof t &&
+          ((r = Object.assign({}, Bn, t)),
+          null != t.s && null == t.ss && (r.ss = t.s - 1)),
+        (n = this.localeData()),
+        (s = Jn(this, !i, r, n)),
+        i && (s = n.pastFuture(+this, s)),
+        n.postformat(s)
+      );
+    }),
+    (es.toISOString = Kn),
+    (es.toString = Kn),
+    (es.toJSON = Kn),
+    (es.locale = tn),
+    (es.localeData = sn),
+    (es.toIsoString = n(
+      "toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",
+      Kn
+    )),
+    (es.lang = nn),
+    C("X", 0, 0, "unix"),
+    C("x", 0, 0, "valueOf"),
+    ce("x", ue),
+    ce("X", /[+-]?\d+(\.\d{1,3})?/),
+    ye("X", function (e, t, n) {
+      n._d = new Date(1e3 * parseFloat(e));
+    }),
+    ye("x", function (e, t, n) {
+      n._d = new Date(Z(e));
+    }),
+    (f.version = "2.29.1"),
+    (e = Tt),
+    (f.fn = pn),
+    (f.min = function () {
+      return Rt("isBefore", [].slice.call(arguments, 0));
+    }),
+    (f.max = function () {
+      return Rt("isAfter", [].slice.call(arguments, 0));
+    }),
+    (f.now = function () {
+      return Date.now ? Date.now() : +new Date();
+    }),
+    (f.utc = _),
+    (f.unix = function (e) {
+      return Tt(1e3 * e);
+    }),
+    (f.months = function (e, t) {
+      return Dn(e, t, "months");
+    }),
+    (f.isDate = a),
+    (f.locale = lt),
+    (f.invalid = w),
+    (f.duration = Zt),
+    (f.isMoment = M),
+    (f.weekdays = function (e, t, n) {
+      return Sn(e, t, n, "weekdays");
+    }),
+    (f.parseZone = function () {
+      return Tt.apply(null, arguments).parseZone();
+    }),
+    (f.localeData = dt),
+    (f.isDuration = Ut),
+    (f.monthsShort = function (e, t) {
+      return Dn(e, t, "monthsShort");
+    }),
+    (f.weekdaysMin = function (e, t, n) {
+      return Sn(e, t, n, "weekdaysMin");
+    }),
+    (f.defineLocale = ht),
+    (f.updateLocale = function (e, t) {
+      var n, s, i;
+      return (
+        null != t
+          ? ((i = st),
+            null != it[e] && null != it[e].parentLocale
+              ? it[e].set(b(it[e]._config, t))
+              : (null != (s = ut(e)) && (i = s._config),
+                (t = b(i, t)),
+                null == s && (t.abbr = e),
+                ((n = new x(t)).parentLocale = it[e]),
+                (it[e] = n)),
+            lt(e))
+          : null != it[e] &&
+            (null != it[e].parentLocale
+              ? ((it[e] = it[e].parentLocale), e === lt() && lt(e))
+              : null != it[e] && delete it[e]),
+        it[e]
+      );
+    }),
+    (f.locales = function () {
+      return s(it);
+    }),
+    (f.weekdaysShort = function (e, t, n) {
+      return Sn(e, t, n, "weekdaysShort");
+    }),
+    (f.normalizeUnits = V),
+    (f.relativeTimeRounding = function (e) {
+      return void 0 === e ? qn : "function" == typeof e && ((qn = e), !0);
+    }),
+    (f.relativeTimeThreshold = function (e, t) {
+      return (
+        void 0 !== Bn[e] &&
+        (void 0 === t ? Bn[e] : ((Bn[e] = t), "s" === e && (Bn.ss = t - 1), !0))
+      );
+    }),
+    (f.calendarFormat = function (e, t) {
+      var n = e.diff(t, "days", !0);
+      return n < -6
+        ? "sameElse"
+        : n < -1
+        ? "lastWeek"
+        : n < 0
+        ? "lastDay"
+        : n < 1
+        ? "sameDay"
+        : n < 2
+        ? "nextDay"
+        : n < 7
+        ? "nextWeek"
+        : "sameElse";
+    }),
+    (f.prototype = pn),
+    (f.HTML5_FMT = {
+      DATETIME_LOCAL: "YYYY-MM-DDTHH:mm",
+      DATETIME_LOCAL_SECONDS: "YYYY-MM-DDTHH:mm:ss",
+      DATETIME_LOCAL_MS: "YYYY-MM-DDTHH:mm:ss.SSS",
+      DATE: "YYYY-MM-DD",
+      TIME: "HH:mm",
+      TIME_SECONDS: "HH:mm:ss",
+      TIME_MS: "HH:mm:ss.SSS",
+      WEEK: "GGGG-[W]WW",
+      MONTH: "YYYY-MM",
+    }),
+    f
+  );
+});
+//# sourceMappingURL=moment.min.js.map
diff --git a/notemyprogress/js/sortablejs.js b/notemyprogress/js/sortablejs.js
index a2081a015c2ec17525234cc75547fa650e24129e..921f8b7e7b04355def6ff0bbdf49f9895f541510 100644
--- a/notemyprogress/js/sortablejs.js
+++ b/notemyprogress/js/sortablejs.js
@@ -1,2 +1,1473 @@
 /*! Sortable 1.8.4 - MIT | git://github.com/SortableJS/Sortable.git */
-!function(t){"use strict";"function"==typeof define&&define.amd?define(t):"undefined"!=typeof module&&void 0!==module.exports?module.exports=t():window.Sortable=t()}(function(){"use strict";if("undefined"==typeof window||!window.document)return function(){throw new Error("Sortable.js requires a window with a document")};var U,V,f,u,q,G,h,X,Y,A,K,n,Z,Q,l,s,c,p,k,J,$,tt,et,ot,g,nt,I=[],B=!1,v=!1,it=!1,d=[],rt=!1,at=!1,m=[],i=/\s+/g,lt="Sortable"+(new Date).getTime(),b=window,st=b.document,w=b.parseInt,ct=b.setTimeout,e=b.jQuery||b.Zepto,o=b.Polymer,r={capture:!1,passive:!1},dt=!!navigator.userAgent.match(/(?:Trident.*rv[ :]?11\.|msie|iemobile)/i),_=!!navigator.userAgent.match(/Edge/i),y=!!navigator.userAgent.match(/firefox/i),D=!(!navigator.userAgent.match(/safari/i)||navigator.userAgent.match(/chrome/i)||navigator.userAgent.match(/android/i)),S=!!navigator.userAgent.match(/iP(ad|od|hone)/i),T=_||dt?"cssFloat":"float",a="draggable"in st.createElement("div"),C=function(){if(dt)return!1;var t=st.createElement("x");return t.style.cssText="pointer-events:auto","auto"===t.style.pointerEvents}(),ht=!1,E=!1,ut=Math.abs,x=Math.min,N=Math.max,M=[],P=function(t,e){var o=Dt(t),n=w(o.width)-w(o.paddingLeft)-w(o.paddingRight)-w(o.borderLeftWidth)-w(o.borderRightWidth),i=Mt(t,0,e),r=Mt(t,1,e),a=i&&Dt(i),l=r&&Dt(r),s=a&&w(a.marginLeft)+w(a.marginRight)+Lt(i).width,c=l&&w(l.marginLeft)+w(l.marginRight)+Lt(r).width;if("flex"===o.display)return"column"===o.flexDirection||"column-reverse"===o.flexDirection?"vertical":"horizontal";if("grid"===o.display)return o.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(i&&"none"!==a.float){var d="left"===a.float?"left":"right";return!r||"both"!==l.clear&&l.clear!==d?"horizontal":"vertical"}return i&&("block"===a.display||"flex"===a.display||"table"===a.display||"grid"===a.display||n<=s&&"none"===o[T]||r&&"none"===o[T]&&n<s+c)?"vertical":"horizontal"},O=function(t,e){if(!t||!t.getBoundingClientRect)return H();var o=t,n=!1;do{if(o.clientWidth<o.scrollWidth||o.clientHeight<o.scrollHeight){var i=Dt(o);if(o.clientWidth<o.scrollWidth&&("auto"==i.overflowX||"scroll"==i.overflowX)||o.clientHeight<o.scrollHeight&&("auto"==i.overflowY||"scroll"==i.overflowY)){if(!o||!o.getBoundingClientRect||o===st.body)return H();if(n||e)return o;n=!0}}}while(o=o.parentNode);return H()},H=function(){return dt?st.documentElement:st.scrollingElement},ft=function(t,e,o){t.scrollLeft+=e,t.scrollTop+=o},R=It(function(o,t,e,n){if(t.scroll){var i=e?e[lt]:window,r=t.scrollSensitivity,a=t.scrollSpeed,l=o.clientX,s=o.clientY,c=H(),d=!1;Y!==e&&(L(),X=t.scroll,A=t.scrollFn,!0===X&&(X=O(e,!0),Y=X));var h=0,u=X;do{var f,p,g,v,m,b,w,_,y,D=u,S=Lt(D),T=S.top,C=S.bottom,E=S.left,x=S.right,N=S.width,M=S.height;if(f=D.scrollWidth,p=D.scrollHeight,g=Dt(D),_=D.scrollLeft,y=D.scrollTop,w=D===c?(b=N<f&&("auto"===g.overflowX||"scroll"===g.overflowX||"visible"===g.overflowX),M<p&&("auto"===g.overflowY||"scroll"===g.overflowY||"visible"===g.overflowY)):(b=N<f&&("auto"===g.overflowX||"scroll"===g.overflowX),M<p&&("auto"===g.overflowY||"scroll"===g.overflowY)),v=b&&(ut(x-l)<=r&&_+N<f)-(ut(E-l)<=r&&!!_),m=w&&(ut(C-s)<=r&&y+M<p)-(ut(T-s)<=r&&!!y),!I[h])for(var P=0;P<=h;P++)I[P]||(I[P]={});I[h].vx==v&&I[h].vy==m&&I[h].el===D||(I[h].el=D,I[h].vx=v,I[h].vy=m,clearInterval(I[h].pid),!D||0==v&&0==m||(d=!0,I[h].pid=setInterval(function(){n&&0===this.layer&&(mt.active._emulateDragOver(!0),mt.active._onTouchMove(k,!0));var t=I[this.layer].vy?I[this.layer].vy*a:0,e=I[this.layer].vx?I[this.layer].vx*a:0;"function"==typeof A&&"continue"!==A.call(i,e,t,o,k,I[this.layer].el)||ft(I[this.layer].el,e,t)}.bind({layer:h}),24))),h++}while(t.bubbleScroll&&u!==c&&(u=O(u,!1)));B=d}},30),L=function(){I.forEach(function(t){clearInterval(t.pid)}),I=[]},W=function(t){function s(a,l){return function(t,e,o,n){var i=t.options.group.name&&e.options.group.name&&t.options.group.name===e.options.group.name;if(null==a&&(l||i))return!0;if(null==a||!1===a)return!1;if(l&&"clone"===a)return a;if("function"==typeof a)return s(a(t,e,o,n),l)(t,e,o,n);var r=(l?t:e).options.group.name;return!0===a||"string"==typeof a&&a===r||a.join&&-1<a.indexOf(r)}}var e={},o=t.group;o&&"object"==typeof o||(o={name:o}),e.name=o.name,e.checkPull=s(o.pull,!0),e.checkPut=s(o.put),e.revertClone=o.revertClone,t.group=e},F=function(t){U&&U.parentNode&&U.parentNode[lt]&&U.parentNode[lt]._computeIsAligned(t)},pt=function(t,e){for(var o=e;!o[lt];)o=o.parentNode;return t===o},gt=function(t,e,o){for(var n=t.parentNode;n&&!n[lt];)n=n.parentNode;n&&n[lt][o](Bt(e,{artificialBubble:!0}))},z=function(){!C&&f&&Dt(f,"display","none")},j=function(){!C&&f&&Dt(f,"display","")};st.addEventListener("click",function(t){if(it)return t.preventDefault(),t.stopPropagation&&t.stopPropagation(),t.stopImmediatePropagation&&t.stopImmediatePropagation(),it=!1},!0);var vt,t=function(t){if(t=t.touches?t.touches[0]:t,U){var e=function(t,e){for(var o=0;o<d.length;o++)if(!Pt(d[o])){var n=Lt(d[o]),i=d[o][lt].options.emptyInsertThreshold,r=t>=n.left-i&&t<=n.right+i,a=e>=n.top-i&&e<=n.bottom+i;if(r&&a)return d[o]}}(t.clientX,t.clientY);e&&e[lt]._onDragOver({clientX:t.clientX,clientY:t.clientY,target:e,rootEl:e})}};function mt(t,e){if(!t||!t.nodeType||1!==t.nodeType)throw"Sortable: `el` must be HTMLElement, not "+{}.toString.call(t);this.el=t,this.options=e=Bt({},e),t[lt]=this;var o={group:null,sort:!0,disabled:!1,store:null,handle:null,scroll:!0,scrollSensitivity:30,scrollSpeed:10,bubbleScroll:!0,draggable:/[uo]l/i.test(t.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return P(t,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(t,e){t.setData("Text",e.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,touchStartThreshold:w(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:!1!==mt.supportPointer&&("PointerEvent"in window||window.navigator&&"msPointerEnabled"in window.navigator),emptyInsertThreshold:5};for(var n in o)!(n in e)&&(e[n]=o[n]);for(var i in W(e),this)"_"===i.charAt(0)&&"function"==typeof this[i]&&(this[i]=this[i].bind(this));this.nativeDraggable=!e.forceFallback&&a,this.nativeDraggable&&(this.options.touchStartThreshold=1),e.supportPointer?wt(t,"pointerdown",this._onTapStart):(wt(t,"mousedown",this._onTapStart),wt(t,"touchstart",this._onTapStart)),this.nativeDraggable&&(wt(t,"dragover",this),wt(t,"dragenter",this)),d.push(this.el),e.store&&e.store.get&&this.sort(e.store.get(this)||[])}function bt(t,e,o,n){if(t){o=o||st;do{if(null!=e&&(">"===e[0]&&t.parentNode===o&&kt(t,e.substring(1))||kt(t,e))||n&&t===o)return t;if(t===o)break}while(t=(i=t).host&&i!==st&&i.host.nodeType?i.host:i.parentNode)}var i;return null}function wt(t,e,o){t.addEventListener(e,o,r)}function _t(t,e,o){t.removeEventListener(e,o,r)}function yt(t,e,o){if(t&&e)if(t.classList)t.classList[o?"add":"remove"](e);else{var n=(" "+t.className+" ").replace(i," ").replace(" "+e+" "," ");t.className=(n+(o?" "+e:"")).replace(i," ")}}function Dt(t,e,o){var n=t&&t.style;if(n){if(void 0===o)return st.defaultView&&st.defaultView.getComputedStyle?o=st.defaultView.getComputedStyle(t,""):t.currentStyle&&(o=t.currentStyle),void 0===e?o:o[e];e in n||-1!==e.indexOf("webkit")||(e="-webkit-"+e),n[e]=o+("string"==typeof o?"":"px")}}function St(t){var e="";do{var o=Dt(t,"transform");o&&"none"!==o&&(e=o+" "+e)}while(t=t.parentNode);return window.DOMMatrix?new DOMMatrix(e):window.WebKitCSSMatrix?new WebKitCSSMatrix(e):window.CSSMatrix?new CSSMatrix(e):void 0}function Tt(t,e,o){if(t){var n=t.getElementsByTagName(e),i=0,r=n.length;if(o)for(;i<r;i++)o(n[i],i);return n}return[]}function Ct(t,e,o,n,i,r,a,l,s){var c,d=(t=t||e[lt]).options,h="on"+o.charAt(0).toUpperCase()+o.substr(1);!window.CustomEvent||dt||_?(c=st.createEvent("Event")).initEvent(o,!0,!0):c=new CustomEvent(o,{bubbles:!0,cancelable:!0}),c.to=i||e,c.from=r||e,c.item=n||e,c.clone=u,c.oldIndex=a,c.newIndex=l,c.originalEvent=s,c.pullMode=Q?Q.lastPutMode:void 0,e&&e.dispatchEvent(c),d[h]&&d[h].call(t,c)}function Et(t,e,o,n,i,r,a,l){var s,c,d=t[lt],h=d.options.onMove;return!window.CustomEvent||dt||_?(s=st.createEvent("Event")).initEvent("move",!0,!0):s=new CustomEvent("move",{bubbles:!0,cancelable:!0}),s.to=e,s.from=t,s.dragged=o,s.draggedRect=n,s.related=i||e,s.relatedRect=r||Lt(e),s.willInsertAfter=l,s.originalEvent=a,t.dispatchEvent(s),h&&(c=h.call(d,s,a)),c}function xt(t){t.draggable=!1}function Nt(){ht=!1}function Mt(t,e,o){for(var n=0,i=0,r=t.children;i<r.length;){if("none"!==r[i].style.display&&r[i]!==f&&r[i]!==U&&bt(r[i],o.draggable,t,!1)){if(n===e)return r[i];n++}i++}return null}function Pt(t){for(var e=t.lastElementChild;e&&(e===f||"none"===e.style.display);)e=e.previousElementSibling;return e||null}function Xt(t){return At(U)<At(t)?1:-1}function Yt(t){for(var e=t.tagName+t.className+t.src+t.href+t.textContent,o=e.length,n=0;o--;)n+=e.charCodeAt(o);return n.toString(36)}function At(t,e){var o=0;if(!t||!t.parentNode)return-1;for(;t&&(t=t.previousElementSibling);)"TEMPLATE"!==t.nodeName.toUpperCase()&&t!==u&&o++;return o}function kt(t,e){if(t)try{if(t.matches)return t.matches(e);if(t.msMatchesSelector)return t.msMatchesSelector(e);if(t.webkitMatchesSelector)return t.webkitMatchesSelector(e)}catch(t){return!1}return!1}function It(o,n){return function(){if(!vt){var t=arguments,e=this;vt=ct(function(){1===t.length?o.call(e,t[0]):o.apply(e,t),vt=void 0},n)}}}function Bt(t,e){if(t&&e)for(var o in e)e.hasOwnProperty(o)&&(t[o]=e[o]);return t}function Ot(t){return o&&o.dom?o.dom(t).cloneNode(!0):e?e(t).clone(!0)[0]:t.cloneNode(!0)}function Ht(t){return ct(t,0)}function Rt(t){return clearTimeout(t)}function Lt(t,e,o,n){if(t.getBoundingClientRect||t===b){var i,r,a,l,s,c,d;if(d=t!==b&&t!==H()?(r=(i=t.getBoundingClientRect()).top,a=i.left,l=i.bottom,s=i.right,c=i.height,i.width):(a=r=0,l=window.innerHeight,s=window.innerWidth,c=window.innerHeight,window.innerWidth),n&&t!==b&&(o=o||t.parentNode,!dt))do{if(o&&o.getBoundingClientRect&&"none"!==Dt(o,"transform")){var h=o.getBoundingClientRect();r-=h.top+w(Dt(o,"border-top-width")),a-=h.left+w(Dt(o,"border-left-width")),l=r+i.height,s=a+i.width;break}}while(o=o.parentNode);if(e&&t!==b){var u=St(o||t),f=u&&u.a,p=u&&u.d;u&&(l=(r/=p)+(c/=p),s=(a/=f)+(d/=f))}return{top:r,left:a,bottom:l,right:s,width:d,height:c}}}function Wt(t,e){for(var o=O(t,!0),n=Lt(t)[e];o;){var i=Lt(o)[e];if(!("top"===e||"left"===e?i<=n:n<=i))return o;if(o===H())break;o=O(o,!1)}return!1}function Ft(t){var e=0,o=0,n=H();if(t)do{var i=St(t),r=i.a,a=i.d;e+=t.scrollLeft*r,o+=t.scrollTop*a}while(t!==n&&(t=t.parentNode));return[e,o]}return wt(st,"dragover",t),wt(st,"mousemove",t),wt(st,"touchmove",t),mt.prototype={constructor:mt,_computeIsAligned:function(t){var e;if(f&&!C?(z(),e=st.elementFromPoint(t.clientX,t.clientY),j()):e=t.target,e=bt(e,this.options.draggable,this.el,!1),!E&&U&&U.parentNode===this.el){for(var o,n,i,r,a,l,s,c,d=this.el.children,h=0;h<d.length;h++)bt(d[h],this.options.draggable,this.el,!1)&&d[h]!==e&&(d[h].sortableMouseAligned=(o=t.clientX,n=t.clientY,i=d[h],r=this._getDirection(t,null),this.options,void 0,a=Lt(i),l="vertical"===r?a.left:a.top,s="vertical"===r?a.right:a.bottom,l<(c="vertical"===r?o:n)&&c<s));bt(e,this.options.draggable,this.el,!0)||($=null),E=!0,ct(function(){E=!1},30)}},_getDirection:function(t,e){return"function"==typeof this.options.direction?this.options.direction.call(this,t,e,U):this.options.direction},_onTapStart:function(t){if(t.cancelable){var e,o=this,n=this.el,i=this.options,r=i.preventOnFilter,a=t.type,l=t.touches&&t.touches[0],s=(l||t).target,c=t.target.shadowRoot&&(t.path&&t.path[0]||t.composedPath&&t.composedPath()[0])||s,d=i.filter;if(function(t){M.length=0;var e=t.getElementsByTagName("input"),o=e.length;for(;o--;){var n=e[o];n.checked&&M.push(n)}}(n),(!dt||t.artificialBubble||pt(n,s))&&!U&&!(/mousedown|pointerdown/.test(a)&&0!==t.button||i.disabled||c.isContentEditable))if(s=bt(s,i.draggable,n,!1)){if(h!==s){if(e=At(s,i.draggable),"function"==typeof d){if(d.call(this,t,s,this))return Ct(o,c,"filter",s,n,n,e),void(r&&t.cancelable&&t.preventDefault())}else if(d&&(d=d.split(",").some(function(t){if(t=bt(c,t.trim(),n,!1))return Ct(o,t,"filter",s,n,n,e),!0})))return void(r&&t.cancelable&&t.preventDefault());i.handle&&!bt(c,i.handle,n,!1)||this._prepareDragStart(t,l,s,e)}}else dt&&gt(n,t,"_onTapStart")}},_handleAutoScroll:function(e,o){if(U&&this.options.scroll){var n=e.clientX,i=e.clientY,t=st.elementFromPoint(n,i),r=this;if(o||_||dt||D){R(e,r.options,t,o);var a=O(t,!0);!B||l&&n===s&&i===c||(l&&clearInterval(l),l=setInterval(function(){if(U){var t=O(st.elementFromPoint(n,i),!0);t!==a&&(a=t,L(),R(e,r.options,a,o))}},10),s=n,c=i)}else{if(!r.options.bubbleScroll||O(t,!0)===H())return void L();R(e,r.options,O(t,!1),!1)}}},_prepareDragStart:function(t,e,o,n){var i,r=this,a=r.el,l=r.options,s=a.ownerDocument;o&&!U&&o.parentNode===a&&(q=a,V=(U=o).parentNode,G=U.nextSibling,h=o,Z=l.group,K=n,p={target:U,clientX:(e||t).clientX,clientY:(e||t).clientY},this._lastX=(e||t).clientX,this._lastY=(e||t).clientY,U.style["will-change"]="all",U.style.transition="",U.style.transform="",i=function(){r._disableDelayedDragEvents(),!y&&r.nativeDraggable&&(U.draggable=!0),r._triggerDragStart(t,e),Ct(r,q,"choose",U,q,q,K),yt(U,l.chosenClass,!0)},l.ignore.split(",").forEach(function(t){Tt(U,t.trim(),xt)}),l.supportPointer?wt(s,"pointerup",r._onDrop):(wt(s,"mouseup",r._onDrop),wt(s,"touchend",r._onDrop),wt(s,"touchcancel",r._onDrop)),y&&this.nativeDraggable&&(this.options.touchStartThreshold=4,U.draggable=!0),!l.delay||this.nativeDraggable&&(_||dt)?i():(wt(s,"mouseup",r._disableDelayedDrag),wt(s,"touchend",r._disableDelayedDrag),wt(s,"touchcancel",r._disableDelayedDrag),wt(s,"mousemove",r._delayedDragTouchMoveHandler),wt(s,"touchmove",r._delayedDragTouchMoveHandler),l.supportPointer&&wt(s,"pointermove",r._delayedDragTouchMoveHandler),r._dragStartTimer=ct(i,l.delay)))},_delayedDragTouchMoveHandler:function(t){var e=t.touches?t.touches[0]:t;N(ut(e.clientX-this._lastX),ut(e.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){U&&xt(U),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var t=this.el.ownerDocument;_t(t,"mouseup",this._disableDelayedDrag),_t(t,"touchend",this._disableDelayedDrag),_t(t,"touchcancel",this._disableDelayedDrag),_t(t,"mousemove",this._delayedDragTouchMoveHandler),_t(t,"touchmove",this._delayedDragTouchMoveHandler),_t(t,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(t,e){e=e||("touch"==t.pointerType?t:null),!this.nativeDraggable||e?this.options.supportPointer?wt(st,"pointermove",this._onTouchMove):wt(st,e?"touchmove":"mousemove",this._onTouchMove):(wt(U,"dragend",this),wt(q,"dragstart",this._onDragStart));try{st.selection?Ht(function(){st.selection.empty()}):window.getSelection().removeAllRanges()}catch(t){}},_dragStarted:function(t,e){if(v=!1,q&&U){this.nativeDraggable&&(wt(st,"dragover",this._handleAutoScroll),wt(st,"dragover",F));var o=this.options;!t&&yt(U,o.dragClass,!1),yt(U,o.ghostClass,!0),Dt(U,"transform",""),mt.active=this,t&&this._appendGhost(),Ct(this,q,"start",U,q,q,K,void 0,e)}else this._nulling()},_emulateDragOver:function(t){if(k){if(this._lastX===k.clientX&&this._lastY===k.clientY&&!t)return;this._lastX=k.clientX,this._lastY=k.clientY,z();for(var e=st.elementFromPoint(k.clientX,k.clientY),o=e;e&&e.shadowRoot;)o=e=e.shadowRoot.elementFromPoint(k.clientX,k.clientY);if(o)do{if(o[lt])if(o[lt]._onDragOver({clientX:k.clientX,clientY:k.clientY,target:e,rootEl:o})&&!this.options.dragoverBubble)break;e=o}while(o=o.parentNode);U.parentNode[lt]._computeIsAligned(k),j()}},_onTouchMove:function(t,e){if(p){var o=this.options,n=o.fallbackTolerance,i=o.fallbackOffset,r=t.touches?t.touches[0]:t,a=f&&St(f),l=f&&a&&a.a,s=f&&a&&a.d,c=S&&g&&Ft(g),d=(r.clientX-p.clientX+i.x)/(l||1)+(c?c[0]-m[0]:0)/(l||1),h=(r.clientY-p.clientY+i.y)/(s||1)+(c?c[1]-m[1]:0)/(s||1),u=t.touches?"translate3d("+d+"px,"+h+"px,0)":"translate("+d+"px,"+h+"px)";if(!mt.active&&!v){if(n&&x(ut(r.clientX-this._lastX),ut(r.clientY-this._lastY))<n)return;this._onDragStart(t,!0)}!e&&this._handleAutoScroll(r,!0),J=!0,k=r,Dt(f,"webkitTransform",u),Dt(f,"mozTransform",u),Dt(f,"msTransform",u),Dt(f,"transform",u),t.cancelable&&t.preventDefault()}},_appendGhost:function(){if(!f){var t=this.options.fallbackOnBody?st.body:q,e=Lt(U,!0,t,!S),o=(Dt(U),this.options);if(S){for(g=t;"static"===Dt(g,"position")&&"none"===Dt(g,"transform")&&g!==st;)g=g.parentNode;if(g!==st){var n=Lt(g,!0);e.top-=n.top,e.left-=n.left}g!==st.body&&g!==st.documentElement?(g===st&&(g=H()),e.top+=g.scrollTop,e.left+=g.scrollLeft):g=H(),m=Ft(g)}yt(f=U.cloneNode(!0),o.ghostClass,!1),yt(f,o.fallbackClass,!0),yt(f,o.dragClass,!0),Dt(f,"box-sizing","border-box"),Dt(f,"margin",0),Dt(f,"top",e.top),Dt(f,"left",e.left),Dt(f,"width",e.width),Dt(f,"height",e.height),Dt(f,"opacity","0.8"),Dt(f,"position",S?"absolute":"fixed"),Dt(f,"zIndex","100000"),Dt(f,"pointerEvents","none"),t.appendChild(f)}},_onDragStart:function(t,e){var o=this,n=t.dataTransfer,i=o.options;(u=Ot(U)).draggable=!1,u.style["will-change"]="",this._hideClone(),yt(u,o.options.chosenClass,!1),o._cloneId=Ht(function(){o.options.removeCloneOnHide||q.insertBefore(u,U),Ct(o,q,"clone",U)}),!e&&yt(U,i.dragClass,!0),e?(it=!0,o._loopId=setInterval(o._emulateDragOver,50)):(_t(st,"mouseup",o._onDrop),_t(st,"touchend",o._onDrop),_t(st,"touchcancel",o._onDrop),n&&(n.effectAllowed="move",i.setData&&i.setData.call(o,n,U)),wt(st,"drop",o),Dt(U,"transform","translateZ(0)")),v=!0,o._dragStartId=Ht(o._dragStarted.bind(o,e,t)),wt(st,"selectstart",o),D&&Dt(st.body,"user-select","none")},_onDragOver:function(e){var o,n,t,i=this.el,r=e.target,a=this.options,l=a.group,s=mt.active,c=Z===l,d=a.sort,h=this;if(!ht&&(!dt||e.rootEl||e.artificialBubble||pt(i,r))){if(void 0!==e.preventDefault&&e.cancelable&&e.preventDefault(),J=!0,r=bt(r,a.draggable,i,!0),bt(e.target,null,U,!0)||r.animated)return z(!1);if(r!==U&&(it=!1),s&&!a.disabled&&(c?d||(t=!q.contains(U)):Q===this||(this.lastPutMode=Z.checkPull(this,s,U,e))&&l.checkPut(this,s,U,e))){var u=this._getDirection(e,r);if(o=Lt(U),t)return this._hideClone(),V=q,G?q.insertBefore(U,G):q.appendChild(U),z(!0);var f=Pt(i);if(f&&(I=e,B=u,O=Lt(Pt(i)),H="vertical"===B?I.clientY:I.clientX,R="vertical"===B?I.clientX:I.clientY,L="vertical"===B?O.bottom:O.right,W="vertical"===B?O.left:O.top,F="vertical"===B?O.right:O.bottom,!("vertical"===B?F+10<R||R<=F&&L<H&&W<=R:L<H&&W<R||H<=L&&F+10<R)||f.animated)){if(r&&r!==U&&r.parentNode===i){var p,g=0,v=r.sortableMouseAligned,m=U.parentNode!==i,b="vertical"===u?"top":"left",w=Wt(r,"top")||Wt(U,"top"),_=w?w.scrollTop:void 0;if($!==r&&(et=null,p=Lt(r)[b],rt=!1),C=r,E=u,x=(T=U)===U&&nt||Lt(T),N=C===U&&nt||Lt(C),M="vertical"===E?x.left:x.top,P="vertical"===E?x.right:x.bottom,X="vertical"===E?x.width:x.height,Y="vertical"===E?N.left:N.top,A="vertical"===E?N.right:N.bottom,k="vertical"===E?N.width:N.height,et=(M===Y||P===A||M+X/2===Y+k/2)&&v||m||w||a.invertSwap||"insert"===et||"swap"===et?("swap"!==et&&(at=a.invertSwap||m),g=function(t,e,o,n,i,r,a){var l=Lt(e),s="vertical"===o?t.clientY:t.clientX,c="vertical"===o?l.height:l.width,d="vertical"===o?l.top:l.left,h="vertical"===o?l.bottom:l.right,u=Lt(U),f=!1;if(!r)if(a&&ot<c*n)if(!rt&&(1===tt?d+c*i/2<s:s<h-c*i/2)&&(rt=!0),rt)f=!0;else{"vertical"===o?u.top:u.left,"vertical"===o?u.bottom:u.right;if(1===tt?s<d+ot:h-ot<s)return-1*tt}else if(d+c*(1-n)/2<s&&s<h-c*(1-n)/2)return Xt(e);if((f=f||r)&&(s<d+c*i/2||h-c*i/2<s))return d+c/2<s?1:-1;return 0}(e,r,u,a.swapThreshold,null==a.invertedSwapThreshold?a.swapThreshold:a.invertedSwapThreshold,at,$===r),"swap"):(g=Xt(r),"insert"),0===g)return z(!1);nt=null,tt=g,n=Lt($=r);var y=r.nextElementSibling,D=!1,S=Et(q,i,U,o,r,n,e,D=1===g);if(!1!==S)return 1!==S&&-1!==S||(D=1===S),ht=!0,ct(Nt,30),c?s._hideClone():s._showClone(this),D&&!y?i.appendChild(U):r.parentNode.insertBefore(U,D?y:r),w&&ft(w,0,_-w.scrollTop),V=U.parentNode,void 0===p||at||(ot=ut(p-Lt(r)[b])),j(),z(!0)}}else if(f&&i===e.target&&(r=f),r&&(n=Lt(r)),c?s._hideClone():s._showClone(this),!1!==Et(q,i,U,o,r,n,e,!!r))return i.appendChild(U),V=i,nt=null,j(),z(!0);if(i.contains(U))return z(!1)}var T,C,E,x,N,M,P,X,Y,A,k,I,B,O,H,R,L,W,F;return dt&&!e.rootEl&&gt(i,e,"_onDragOver"),!1}function z(t){return t&&(c?s._hideClone():s._showClone(h),s&&(yt(U,Q?Q.options.ghostClass:s.options.ghostClass,!1),yt(U,a.ghostClass,!0)),Q!==h&&h!==mt.active?Q=h:h===mt.active&&(Q=null),o&&h._animate(o,U),r&&n&&h._animate(n,r)),(r===U&&!U.animated||r===i&&!r.animated)&&($=null),a.dragoverBubble||e.rootEl||r===st||(h._handleAutoScroll(e),U.parentNode[lt]._computeIsAligned(e)),!a.dragoverBubble&&e.stopPropagation&&e.stopPropagation(),!0}function j(){Ct(h,q,"change",r,i,q,K,At(U,a.draggable),e)}},_animate:function(t,e){var o=this.options.animation;if(o){var n=Lt(e);if(e===U&&(nt=n),1===t.nodeType&&(t=Lt(t)),t.left+t.width/2!==n.left+n.width/2||t.top+t.height/2!==n.top+n.height/2){var i=St(this.el),r=i&&i.a,a=i&&i.d;Dt(e,"transition","none"),Dt(e,"transform","translate3d("+(t.left-n.left)/(r||1)+"px,"+(t.top-n.top)/(a||1)+"px,0)"),e.offsetWidth,Dt(e,"transition","transform "+o+"ms"+(this.options.easing?" "+this.options.easing:"")),Dt(e,"transform","translate3d(0,0,0)")}"number"==typeof e.animated&&clearTimeout(e.animated),e.animated=ct(function(){Dt(e,"transition",""),Dt(e,"transform",""),e.animated=!1},o)}},_offUpEvents:function(){var t=this.el.ownerDocument;_t(st,"touchmove",this._onTouchMove),_t(st,"pointermove",this._onTouchMove),_t(t,"mouseup",this._onDrop),_t(t,"touchend",this._onDrop),_t(t,"pointerup",this._onDrop),_t(t,"touchcancel",this._onDrop),_t(st,"selectstart",this)},_onDrop:function(t){var e=this.el,o=this.options;rt=at=B=v=!1,clearInterval(this._loopId),clearInterval(l),L(),clearTimeout(vt),vt=void 0,clearTimeout(this._dragStartTimer),Rt(this._cloneId),Rt(this._dragStartId),_t(st,"mousemove",this._onTouchMove),this.nativeDraggable&&(_t(st,"drop",this),_t(e,"dragstart",this._onDragStart),_t(st,"dragover",this._handleAutoScroll),_t(st,"dragover",F)),D&&Dt(st.body,"user-select",""),this._offUpEvents(),t&&(J&&(t.cancelable&&t.preventDefault(),!o.dropBubble&&t.stopPropagation()),f&&f.parentNode&&f.parentNode.removeChild(f),(q===V||Q&&"clone"!==Q.lastPutMode)&&u&&u.parentNode&&u.parentNode.removeChild(u),U&&(this.nativeDraggable&&_t(U,"dragend",this),xt(U),U.style["will-change"]="",yt(U,Q?Q.options.ghostClass:this.options.ghostClass,!1),yt(U,this.options.chosenClass,!1),Ct(this,q,"unchoose",U,V,q,K,null,t),q!==V?(0<=(n=At(U,o.draggable))&&(Ct(null,V,"add",U,V,q,K,n,t),Ct(this,q,"remove",U,V,q,K,n,t),Ct(null,V,"sort",U,V,q,K,n,t),Ct(this,q,"sort",U,V,q,K,n,t)),Q&&Q.save()):U.nextSibling!==G&&0<=(n=At(U,o.draggable))&&(Ct(this,q,"update",U,V,q,K,n,t),Ct(this,q,"sort",U,V,q,K,n,t)),mt.active&&(null!=n&&-1!==n||(n=K),Ct(this,q,"end",U,V,q,K,n,t),this.save()))),this._nulling()},_nulling:function(){q=U=V=f=G=u=h=X=Y=I.length=l=s=c=p=k=J=n=K=$=tt=nt=Q=Z=mt.active=null,M.forEach(function(t){t.checked=!0}),M.length=0},handleEvent:function(t){switch(t.type){case"drop":case"dragend":this._onDrop(t);break;case"dragenter":case"dragover":U&&(this._onDragOver(t),function(t){t.dataTransfer&&(t.dataTransfer.dropEffect="move");t.cancelable&&t.preventDefault()}(t));break;case"selectstart":t.preventDefault()}},toArray:function(){for(var t,e=[],o=this.el.children,n=0,i=o.length,r=this.options;n<i;n++)bt(t=o[n],r.draggable,this.el,!1)&&e.push(t.getAttribute(r.dataIdAttr)||Yt(t));return e},sort:function(t){var n={},i=this.el;this.toArray().forEach(function(t,e){var o=i.children[e];bt(o,this.options.draggable,i,!1)&&(n[t]=o)},this),t.forEach(function(t){n[t]&&(i.removeChild(n[t]),i.appendChild(n[t]))})},save:function(){var t=this.options.store;t&&t.set&&t.set(this)},closest:function(t,e){return bt(t,e||this.options.draggable,this.el,!1)},option:function(t,e){var o=this.options;if(void 0===e)return o[t];o[t]=e,"group"===t&&W(o)},destroy:function(){var t=this.el;t[lt]=null,_t(t,"mousedown",this._onTapStart),_t(t,"touchstart",this._onTapStart),_t(t,"pointerdown",this._onTapStart),this.nativeDraggable&&(_t(t,"dragover",this),_t(t,"dragenter",this)),Array.prototype.forEach.call(t.querySelectorAll("[draggable]"),function(t){t.removeAttribute("draggable")}),this._onDrop(),d.splice(d.indexOf(this.el),1),this.el=t=null},_hideClone:function(){u.cloneHidden||(Dt(u,"display","none"),u.cloneHidden=!0,u.parentNode&&this.options.removeCloneOnHide&&u.parentNode.removeChild(u))},_showClone:function(t){"clone"===t.lastPutMode?u.cloneHidden&&(q.contains(U)&&!this.options.group.revertClone?q.insertBefore(u,U):G?q.insertBefore(u,G):q.appendChild(u),this.options.group.revertClone&&this._animate(U,u),Dt(u,"display",""),u.cloneHidden=!1):this._hideClone()}},wt(st,"touchmove",function(t){(mt.active||v)&&t.cancelable&&t.preventDefault()}),mt.utils={on:wt,off:_t,css:Dt,find:Tt,is:function(t,e){return!!bt(t,e,t,!1)},extend:Bt,throttle:It,closest:bt,toggleClass:yt,clone:Ot,index:At,nextTick:Ht,cancelNextTick:Rt,detectDirection:P,getChild:Mt},mt.create=function(t,e){return new mt(t,e)},mt.version="1.8.4",mt});
\ No newline at end of file
+!(function (t) {
+  "use strict";
+  "function" == typeof define && define.amd
+    ? define(t)
+    : "undefined" != typeof module && void 0 !== module.exports
+    ? (module.exports = t())
+    : (window.Sortable = t());
+})(function () {
+  "use strict";
+  if ("undefined" == typeof window || !window.document)
+    return function () {
+      throw new Error("Sortable.js requires a window with a document");
+    };
+  var U,
+    V,
+    f,
+    u,
+    q,
+    G,
+    h,
+    X,
+    Y,
+    A,
+    K,
+    n,
+    Z,
+    Q,
+    l,
+    s,
+    c,
+    p,
+    k,
+    J,
+    $,
+    tt,
+    et,
+    ot,
+    g,
+    nt,
+    I = [],
+    B = !1,
+    v = !1,
+    it = !1,
+    d = [],
+    rt = !1,
+    at = !1,
+    m = [],
+    i = /\s+/g,
+    lt = "Sortable" + new Date().getTime(),
+    b = window,
+    st = b.document,
+    w = b.parseInt,
+    ct = b.setTimeout,
+    e = b.jQuery || b.Zepto,
+    o = b.Polymer,
+    r = { capture: !1, passive: !1 },
+    dt = !!navigator.userAgent.match(/(?:Trident.*rv[ :]?11\.|msie|iemobile)/i),
+    _ = !!navigator.userAgent.match(/Edge/i),
+    y = !!navigator.userAgent.match(/firefox/i),
+    D = !(
+      !navigator.userAgent.match(/safari/i) ||
+      navigator.userAgent.match(/chrome/i) ||
+      navigator.userAgent.match(/android/i)
+    ),
+    S = !!navigator.userAgent.match(/iP(ad|od|hone)/i),
+    T = _ || dt ? "cssFloat" : "float",
+    a = "draggable" in st.createElement("div"),
+    C = (function () {
+      if (dt) return !1;
+      var t = st.createElement("x");
+      return (
+        (t.style.cssText = "pointer-events:auto"),
+        "auto" === t.style.pointerEvents
+      );
+    })(),
+    ht = !1,
+    E = !1,
+    ut = Math.abs,
+    x = Math.min,
+    N = Math.max,
+    M = [],
+    P = function (t, e) {
+      var o = Dt(t),
+        n =
+          w(o.width) -
+          w(o.paddingLeft) -
+          w(o.paddingRight) -
+          w(o.borderLeftWidth) -
+          w(o.borderRightWidth),
+        i = Mt(t, 0, e),
+        r = Mt(t, 1, e),
+        a = i && Dt(i),
+        l = r && Dt(r),
+        s = a && w(a.marginLeft) + w(a.marginRight) + Lt(i).width,
+        c = l && w(l.marginLeft) + w(l.marginRight) + Lt(r).width;
+      if ("flex" === o.display)
+        return "column" === o.flexDirection ||
+          "column-reverse" === o.flexDirection
+          ? "vertical"
+          : "horizontal";
+      if ("grid" === o.display)
+        return o.gridTemplateColumns.split(" ").length <= 1
+          ? "vertical"
+          : "horizontal";
+      if (i && "none" !== a.float) {
+        var d = "left" === a.float ? "left" : "right";
+        return !r || ("both" !== l.clear && l.clear !== d)
+          ? "horizontal"
+          : "vertical";
+      }
+      return i &&
+        ("block" === a.display ||
+          "flex" === a.display ||
+          "table" === a.display ||
+          "grid" === a.display ||
+          (n <= s && "none" === o[T]) ||
+          (r && "none" === o[T] && n < s + c))
+        ? "vertical"
+        : "horizontal";
+    },
+    O = function (t, e) {
+      if (!t || !t.getBoundingClientRect) return H();
+      var o = t,
+        n = !1;
+      do {
+        if (o.clientWidth < o.scrollWidth || o.clientHeight < o.scrollHeight) {
+          var i = Dt(o);
+          if (
+            (o.clientWidth < o.scrollWidth &&
+              ("auto" == i.overflowX || "scroll" == i.overflowX)) ||
+            (o.clientHeight < o.scrollHeight &&
+              ("auto" == i.overflowY || "scroll" == i.overflowY))
+          ) {
+            if (!o || !o.getBoundingClientRect || o === st.body) return H();
+            if (n || e) return o;
+            n = !0;
+          }
+        }
+      } while ((o = o.parentNode));
+      return H();
+    },
+    H = function () {
+      return dt ? st.documentElement : st.scrollingElement;
+    },
+    ft = function (t, e, o) {
+      (t.scrollLeft += e), (t.scrollTop += o);
+    },
+    R = It(function (o, t, e, n) {
+      if (t.scroll) {
+        var i = e ? e[lt] : window,
+          r = t.scrollSensitivity,
+          a = t.scrollSpeed,
+          l = o.clientX,
+          s = o.clientY,
+          c = H(),
+          d = !1;
+        Y !== e &&
+          (L(),
+          (X = t.scroll),
+          (A = t.scrollFn),
+          !0 === X && ((X = O(e, !0)), (Y = X)));
+        var h = 0,
+          u = X;
+        do {
+          var f,
+            p,
+            g,
+            v,
+            m,
+            b,
+            w,
+            _,
+            y,
+            D = u,
+            S = Lt(D),
+            T = S.top,
+            C = S.bottom,
+            E = S.left,
+            x = S.right,
+            N = S.width,
+            M = S.height;
+          if (
+            ((f = D.scrollWidth),
+            (p = D.scrollHeight),
+            (g = Dt(D)),
+            (_ = D.scrollLeft),
+            (y = D.scrollTop),
+            (w =
+              D === c
+                ? ((b =
+                    N < f &&
+                    ("auto" === g.overflowX ||
+                      "scroll" === g.overflowX ||
+                      "visible" === g.overflowX)),
+                  M < p &&
+                    ("auto" === g.overflowY ||
+                      "scroll" === g.overflowY ||
+                      "visible" === g.overflowY))
+                : ((b =
+                    N < f &&
+                    ("auto" === g.overflowX || "scroll" === g.overflowX)),
+                  M < p &&
+                    ("auto" === g.overflowY || "scroll" === g.overflowY))),
+            (v = b && (ut(x - l) <= r && _ + N < f) - (ut(E - l) <= r && !!_)),
+            (m = w && (ut(C - s) <= r && y + M < p) - (ut(T - s) <= r && !!y)),
+            !I[h])
+          )
+            for (var P = 0; P <= h; P++) I[P] || (I[P] = {});
+          (I[h].vx == v && I[h].vy == m && I[h].el === D) ||
+            ((I[h].el = D),
+            (I[h].vx = v),
+            (I[h].vy = m),
+            clearInterval(I[h].pid),
+            !D ||
+              (0 == v && 0 == m) ||
+              ((d = !0),
+              (I[h].pid = setInterval(
+                function () {
+                  n &&
+                    0 === this.layer &&
+                    (mt.active._emulateDragOver(!0),
+                    mt.active._onTouchMove(k, !0));
+                  var t = I[this.layer].vy ? I[this.layer].vy * a : 0,
+                    e = I[this.layer].vx ? I[this.layer].vx * a : 0;
+                  ("function" == typeof A &&
+                    "continue" !== A.call(i, e, t, o, k, I[this.layer].el)) ||
+                    ft(I[this.layer].el, e, t);
+                }.bind({ layer: h }),
+                24
+              )))),
+            h++;
+        } while (t.bubbleScroll && u !== c && (u = O(u, !1)));
+        B = d;
+      }
+    }, 30),
+    L = function () {
+      I.forEach(function (t) {
+        clearInterval(t.pid);
+      }),
+        (I = []);
+    },
+    W = function (t) {
+      function s(a, l) {
+        return function (t, e, o, n) {
+          var i =
+            t.options.group.name &&
+            e.options.group.name &&
+            t.options.group.name === e.options.group.name;
+          if (null == a && (l || i)) return !0;
+          if (null == a || !1 === a) return !1;
+          if (l && "clone" === a) return a;
+          if ("function" == typeof a) return s(a(t, e, o, n), l)(t, e, o, n);
+          var r = (l ? t : e).options.group.name;
+          return (
+            !0 === a ||
+            ("string" == typeof a && a === r) ||
+            (a.join && -1 < a.indexOf(r))
+          );
+        };
+      }
+      var e = {},
+        o = t.group;
+      (o && "object" == typeof o) || (o = { name: o }),
+        (e.name = o.name),
+        (e.checkPull = s(o.pull, !0)),
+        (e.checkPut = s(o.put)),
+        (e.revertClone = o.revertClone),
+        (t.group = e);
+    },
+    F = function (t) {
+      U &&
+        U.parentNode &&
+        U.parentNode[lt] &&
+        U.parentNode[lt]._computeIsAligned(t);
+    },
+    pt = function (t, e) {
+      for (var o = e; !o[lt]; ) o = o.parentNode;
+      return t === o;
+    },
+    gt = function (t, e, o) {
+      for (var n = t.parentNode; n && !n[lt]; ) n = n.parentNode;
+      n && n[lt][o](Bt(e, { artificialBubble: !0 }));
+    },
+    z = function () {
+      !C && f && Dt(f, "display", "none");
+    },
+    j = function () {
+      !C && f && Dt(f, "display", "");
+    };
+  st.addEventListener(
+    "click",
+    function (t) {
+      if (it)
+        return (
+          t.preventDefault(),
+          t.stopPropagation && t.stopPropagation(),
+          t.stopImmediatePropagation && t.stopImmediatePropagation(),
+          (it = !1)
+        );
+    },
+    !0
+  );
+  var vt,
+    t = function (t) {
+      if (((t = t.touches ? t.touches[0] : t), U)) {
+        var e = (function (t, e) {
+          for (var o = 0; o < d.length; o++)
+            if (!Pt(d[o])) {
+              var n = Lt(d[o]),
+                i = d[o][lt].options.emptyInsertThreshold,
+                r = t >= n.left - i && t <= n.right + i,
+                a = e >= n.top - i && e <= n.bottom + i;
+              if (r && a) return d[o];
+            }
+        })(t.clientX, t.clientY);
+        e &&
+          e[lt]._onDragOver({
+            clientX: t.clientX,
+            clientY: t.clientY,
+            target: e,
+            rootEl: e,
+          });
+      }
+    };
+  function mt(t, e) {
+    if (!t || !t.nodeType || 1 !== t.nodeType)
+      throw "Sortable: `el` must be HTMLElement, not " + {}.toString.call(t);
+    (this.el = t), (this.options = e = Bt({}, e)), (t[lt] = this);
+    var o = {
+      group: null,
+      sort: !0,
+      disabled: !1,
+      store: null,
+      handle: null,
+      scroll: !0,
+      scrollSensitivity: 30,
+      scrollSpeed: 10,
+      bubbleScroll: !0,
+      draggable: /[uo]l/i.test(t.nodeName) ? ">li" : ">*",
+      swapThreshold: 1,
+      invertSwap: !1,
+      invertedSwapThreshold: null,
+      removeCloneOnHide: !0,
+      direction: function () {
+        return P(t, this.options);
+      },
+      ghostClass: "sortable-ghost",
+      chosenClass: "sortable-chosen",
+      dragClass: "sortable-drag",
+      ignore: "a, img",
+      filter: null,
+      preventOnFilter: !0,
+      animation: 0,
+      easing: null,
+      setData: function (t, e) {
+        t.setData("Text", e.textContent);
+      },
+      dropBubble: !1,
+      dragoverBubble: !1,
+      dataIdAttr: "data-id",
+      delay: 0,
+      touchStartThreshold: w(window.devicePixelRatio, 10) || 1,
+      forceFallback: !1,
+      fallbackClass: "sortable-fallback",
+      fallbackOnBody: !1,
+      fallbackTolerance: 0,
+      fallbackOffset: { x: 0, y: 0 },
+      supportPointer:
+        !1 !== mt.supportPointer &&
+        ("PointerEvent" in window ||
+          (window.navigator && "msPointerEnabled" in window.navigator)),
+      emptyInsertThreshold: 5,
+    };
+    for (var n in o) !(n in e) && (e[n] = o[n]);
+    for (var i in (W(e), this))
+      "_" === i.charAt(0) &&
+        "function" == typeof this[i] &&
+        (this[i] = this[i].bind(this));
+    (this.nativeDraggable = !e.forceFallback && a),
+      this.nativeDraggable && (this.options.touchStartThreshold = 1),
+      e.supportPointer
+        ? wt(t, "pointerdown", this._onTapStart)
+        : (wt(t, "mousedown", this._onTapStart),
+          wt(t, "touchstart", this._onTapStart)),
+      this.nativeDraggable &&
+        (wt(t, "dragover", this), wt(t, "dragenter", this)),
+      d.push(this.el),
+      e.store && e.store.get && this.sort(e.store.get(this) || []);
+  }
+  function bt(t, e, o, n) {
+    if (t) {
+      o = o || st;
+      do {
+        if (
+          (null != e &&
+            ((">" === e[0] && t.parentNode === o && kt(t, e.substring(1))) ||
+              kt(t, e))) ||
+          (n && t === o)
+        )
+          return t;
+        if (t === o) break;
+      } while (
+        (t =
+          (i = t).host && i !== st && i.host.nodeType ? i.host : i.parentNode)
+      );
+    }
+    var i;
+    return null;
+  }
+  function wt(t, e, o) {
+    t.addEventListener(e, o, r);
+  }
+  function _t(t, e, o) {
+    t.removeEventListener(e, o, r);
+  }
+  function yt(t, e, o) {
+    if (t && e)
+      if (t.classList) t.classList[o ? "add" : "remove"](e);
+      else {
+        var n = (" " + t.className + " ")
+          .replace(i, " ")
+          .replace(" " + e + " ", " ");
+        t.className = (n + (o ? " " + e : "")).replace(i, " ");
+      }
+  }
+  function Dt(t, e, o) {
+    var n = t && t.style;
+    if (n) {
+      if (void 0 === o)
+        return (
+          st.defaultView && st.defaultView.getComputedStyle
+            ? (o = st.defaultView.getComputedStyle(t, ""))
+            : t.currentStyle && (o = t.currentStyle),
+          void 0 === e ? o : o[e]
+        );
+      e in n || -1 !== e.indexOf("webkit") || (e = "-webkit-" + e),
+        (n[e] = o + ("string" == typeof o ? "" : "px"));
+    }
+  }
+  function St(t) {
+    var e = "";
+    do {
+      var o = Dt(t, "transform");
+      o && "none" !== o && (e = o + " " + e);
+    } while ((t = t.parentNode));
+    return window.DOMMatrix
+      ? new DOMMatrix(e)
+      : window.WebKitCSSMatrix
+      ? new WebKitCSSMatrix(e)
+      : window.CSSMatrix
+      ? new CSSMatrix(e)
+      : void 0;
+  }
+  function Tt(t, e, o) {
+    if (t) {
+      var n = t.getElementsByTagName(e),
+        i = 0,
+        r = n.length;
+      if (o) for (; i < r; i++) o(n[i], i);
+      return n;
+    }
+    return [];
+  }
+  function Ct(t, e, o, n, i, r, a, l, s) {
+    var c,
+      d = (t = t || e[lt]).options,
+      h = "on" + o.charAt(0).toUpperCase() + o.substr(1);
+    !window.CustomEvent || dt || _
+      ? (c = st.createEvent("Event")).initEvent(o, !0, !0)
+      : (c = new CustomEvent(o, { bubbles: !0, cancelable: !0 })),
+      (c.to = i || e),
+      (c.from = r || e),
+      (c.item = n || e),
+      (c.clone = u),
+      (c.oldIndex = a),
+      (c.newIndex = l),
+      (c.originalEvent = s),
+      (c.pullMode = Q ? Q.lastPutMode : void 0),
+      e && e.dispatchEvent(c),
+      d[h] && d[h].call(t, c);
+  }
+  function Et(t, e, o, n, i, r, a, l) {
+    var s,
+      c,
+      d = t[lt],
+      h = d.options.onMove;
+    return (
+      !window.CustomEvent || dt || _
+        ? (s = st.createEvent("Event")).initEvent("move", !0, !0)
+        : (s = new CustomEvent("move", { bubbles: !0, cancelable: !0 })),
+      (s.to = e),
+      (s.from = t),
+      (s.dragged = o),
+      (s.draggedRect = n),
+      (s.related = i || e),
+      (s.relatedRect = r || Lt(e)),
+      (s.willInsertAfter = l),
+      (s.originalEvent = a),
+      t.dispatchEvent(s),
+      h && (c = h.call(d, s, a)),
+      c
+    );
+  }
+  function xt(t) {
+    t.draggable = !1;
+  }
+  function Nt() {
+    ht = !1;
+  }
+  function Mt(t, e, o) {
+    for (var n = 0, i = 0, r = t.children; i < r.length; ) {
+      if (
+        "none" !== r[i].style.display &&
+        r[i] !== f &&
+        r[i] !== U &&
+        bt(r[i], o.draggable, t, !1)
+      ) {
+        if (n === e) return r[i];
+        n++;
+      }
+      i++;
+    }
+    return null;
+  }
+  function Pt(t) {
+    for (
+      var e = t.lastElementChild;
+      e && (e === f || "none" === e.style.display);
+
+    )
+      e = e.previousElementSibling;
+    return e || null;
+  }
+  function Xt(t) {
+    return At(U) < At(t) ? 1 : -1;
+  }
+  function Yt(t) {
+    for (
+      var e = t.tagName + t.className + t.src + t.href + t.textContent,
+        o = e.length,
+        n = 0;
+      o--;
+
+    )
+      n += e.charCodeAt(o);
+    return n.toString(36);
+  }
+  function At(t, e) {
+    var o = 0;
+    if (!t || !t.parentNode) return -1;
+    for (; t && (t = t.previousElementSibling); )
+      "TEMPLATE" !== t.nodeName.toUpperCase() && t !== u && o++;
+    return o;
+  }
+  function kt(t, e) {
+    if (t)
+      try {
+        if (t.matches) return t.matches(e);
+        if (t.msMatchesSelector) return t.msMatchesSelector(e);
+        if (t.webkitMatchesSelector) return t.webkitMatchesSelector(e);
+      } catch (t) {
+        return !1;
+      }
+    return !1;
+  }
+  function It(o, n) {
+    return function () {
+      if (!vt) {
+        var t = arguments,
+          e = this;
+        vt = ct(function () {
+          1 === t.length ? o.call(e, t[0]) : o.apply(e, t), (vt = void 0);
+        }, n);
+      }
+    };
+  }
+  function Bt(t, e) {
+    if (t && e) for (var o in e) e.hasOwnProperty(o) && (t[o] = e[o]);
+    return t;
+  }
+  function Ot(t) {
+    return o && o.dom
+      ? o.dom(t).cloneNode(!0)
+      : e
+      ? e(t).clone(!0)[0]
+      : t.cloneNode(!0);
+  }
+  function Ht(t) {
+    return ct(t, 0);
+  }
+  function Rt(t) {
+    return clearTimeout(t);
+  }
+  function Lt(t, e, o, n) {
+    if (t.getBoundingClientRect || t === b) {
+      var i, r, a, l, s, c, d;
+      if (
+        ((d =
+          t !== b && t !== H()
+            ? ((r = (i = t.getBoundingClientRect()).top),
+              (a = i.left),
+              (l = i.bottom),
+              (s = i.right),
+              (c = i.height),
+              i.width)
+            : ((a = r = 0),
+              (l = window.innerHeight),
+              (s = window.innerWidth),
+              (c = window.innerHeight),
+              window.innerWidth)),
+        n && t !== b && ((o = o || t.parentNode), !dt))
+      )
+        do {
+          if (o && o.getBoundingClientRect && "none" !== Dt(o, "transform")) {
+            var h = o.getBoundingClientRect();
+            (r -= h.top + w(Dt(o, "border-top-width"))),
+              (a -= h.left + w(Dt(o, "border-left-width"))),
+              (l = r + i.height),
+              (s = a + i.width);
+            break;
+          }
+        } while ((o = o.parentNode));
+      if (e && t !== b) {
+        var u = St(o || t),
+          f = u && u.a,
+          p = u && u.d;
+        u && ((l = (r /= p) + (c /= p)), (s = (a /= f) + (d /= f)));
+      }
+      return { top: r, left: a, bottom: l, right: s, width: d, height: c };
+    }
+  }
+  function Wt(t, e) {
+    for (var o = O(t, !0), n = Lt(t)[e]; o; ) {
+      var i = Lt(o)[e];
+      if (!("top" === e || "left" === e ? i <= n : n <= i)) return o;
+      if (o === H()) break;
+      o = O(o, !1);
+    }
+    return !1;
+  }
+  function Ft(t) {
+    var e = 0,
+      o = 0,
+      n = H();
+    if (t)
+      do {
+        var i = St(t),
+          r = i.a,
+          a = i.d;
+        (e += t.scrollLeft * r), (o += t.scrollTop * a);
+      } while (t !== n && (t = t.parentNode));
+    return [e, o];
+  }
+  return (
+    wt(st, "dragover", t),
+    wt(st, "mousemove", t),
+    wt(st, "touchmove", t),
+    (mt.prototype = {
+      constructor: mt,
+      _computeIsAligned: function (t) {
+        var e;
+        if (
+          (f && !C
+            ? (z(), (e = st.elementFromPoint(t.clientX, t.clientY)), j())
+            : (e = t.target),
+          (e = bt(e, this.options.draggable, this.el, !1)),
+          !E && U && U.parentNode === this.el)
+        ) {
+          for (
+            var o, n, i, r, a, l, s, c, d = this.el.children, h = 0;
+            h < d.length;
+            h++
+          )
+            bt(d[h], this.options.draggable, this.el, !1) &&
+              d[h] !== e &&
+              (d[h].sortableMouseAligned =
+                ((o = t.clientX),
+                (n = t.clientY),
+                (i = d[h]),
+                (r = this._getDirection(t, null)),
+                this.options,
+                void 0,
+                (a = Lt(i)),
+                (l = "vertical" === r ? a.left : a.top),
+                (s = "vertical" === r ? a.right : a.bottom),
+                l < (c = "vertical" === r ? o : n) && c < s));
+          bt(e, this.options.draggable, this.el, !0) || ($ = null),
+            (E = !0),
+            ct(function () {
+              E = !1;
+            }, 30);
+        }
+      },
+      _getDirection: function (t, e) {
+        return "function" == typeof this.options.direction
+          ? this.options.direction.call(this, t, e, U)
+          : this.options.direction;
+      },
+      _onTapStart: function (t) {
+        if (t.cancelable) {
+          var e,
+            o = this,
+            n = this.el,
+            i = this.options,
+            r = i.preventOnFilter,
+            a = t.type,
+            l = t.touches && t.touches[0],
+            s = (l || t).target,
+            c =
+              (t.target.shadowRoot &&
+                ((t.path && t.path[0]) ||
+                  (t.composedPath && t.composedPath()[0]))) ||
+              s,
+            d = i.filter;
+          if (
+            ((function (t) {
+              M.length = 0;
+              var e = t.getElementsByTagName("input"),
+                o = e.length;
+              for (; o--; ) {
+                var n = e[o];
+                n.checked && M.push(n);
+              }
+            })(n),
+            (!dt || t.artificialBubble || pt(n, s)) &&
+              !U &&
+              !(
+                (/mousedown|pointerdown/.test(a) && 0 !== t.button) ||
+                i.disabled ||
+                c.isContentEditable
+              ))
+          )
+            if ((s = bt(s, i.draggable, n, !1))) {
+              if (h !== s) {
+                if (((e = At(s, i.draggable)), "function" == typeof d)) {
+                  if (d.call(this, t, s, this))
+                    return (
+                      Ct(o, c, "filter", s, n, n, e),
+                      void (r && t.cancelable && t.preventDefault())
+                    );
+                } else if (
+                  d &&
+                  (d = d.split(",").some(function (t) {
+                    if ((t = bt(c, t.trim(), n, !1)))
+                      return Ct(o, t, "filter", s, n, n, e), !0;
+                  }))
+                )
+                  return void (r && t.cancelable && t.preventDefault());
+                (i.handle && !bt(c, i.handle, n, !1)) ||
+                  this._prepareDragStart(t, l, s, e);
+              }
+            } else dt && gt(n, t, "_onTapStart");
+        }
+      },
+      _handleAutoScroll: function (e, o) {
+        if (U && this.options.scroll) {
+          var n = e.clientX,
+            i = e.clientY,
+            t = st.elementFromPoint(n, i),
+            r = this;
+          if (o || _ || dt || D) {
+            R(e, r.options, t, o);
+            var a = O(t, !0);
+            !B ||
+              (l && n === s && i === c) ||
+              (l && clearInterval(l),
+              (l = setInterval(function () {
+                if (U) {
+                  var t = O(st.elementFromPoint(n, i), !0);
+                  t !== a && ((a = t), L(), R(e, r.options, a, o));
+                }
+              }, 10)),
+              (s = n),
+              (c = i));
+          } else {
+            if (!r.options.bubbleScroll || O(t, !0) === H()) return void L();
+            R(e, r.options, O(t, !1), !1);
+          }
+        }
+      },
+      _prepareDragStart: function (t, e, o, n) {
+        var i,
+          r = this,
+          a = r.el,
+          l = r.options,
+          s = a.ownerDocument;
+        o &&
+          !U &&
+          o.parentNode === a &&
+          ((q = a),
+          (V = (U = o).parentNode),
+          (G = U.nextSibling),
+          (h = o),
+          (Z = l.group),
+          (K = n),
+          (p = {
+            target: U,
+            clientX: (e || t).clientX,
+            clientY: (e || t).clientY,
+          }),
+          (this._lastX = (e || t).clientX),
+          (this._lastY = (e || t).clientY),
+          (U.style["will-change"] = "all"),
+          (U.style.transition = ""),
+          (U.style.transform = ""),
+          (i = function () {
+            r._disableDelayedDragEvents(),
+              !y && r.nativeDraggable && (U.draggable = !0),
+              r._triggerDragStart(t, e),
+              Ct(r, q, "choose", U, q, q, K),
+              yt(U, l.chosenClass, !0);
+          }),
+          l.ignore.split(",").forEach(function (t) {
+            Tt(U, t.trim(), xt);
+          }),
+          l.supportPointer
+            ? wt(s, "pointerup", r._onDrop)
+            : (wt(s, "mouseup", r._onDrop),
+              wt(s, "touchend", r._onDrop),
+              wt(s, "touchcancel", r._onDrop)),
+          y &&
+            this.nativeDraggable &&
+            ((this.options.touchStartThreshold = 4), (U.draggable = !0)),
+          !l.delay || (this.nativeDraggable && (_ || dt))
+            ? i()
+            : (wt(s, "mouseup", r._disableDelayedDrag),
+              wt(s, "touchend", r._disableDelayedDrag),
+              wt(s, "touchcancel", r._disableDelayedDrag),
+              wt(s, "mousemove", r._delayedDragTouchMoveHandler),
+              wt(s, "touchmove", r._delayedDragTouchMoveHandler),
+              l.supportPointer &&
+                wt(s, "pointermove", r._delayedDragTouchMoveHandler),
+              (r._dragStartTimer = ct(i, l.delay))));
+      },
+      _delayedDragTouchMoveHandler: function (t) {
+        var e = t.touches ? t.touches[0] : t;
+        N(ut(e.clientX - this._lastX), ut(e.clientY - this._lastY)) >=
+          Math.floor(
+            this.options.touchStartThreshold /
+              ((this.nativeDraggable && window.devicePixelRatio) || 1)
+          ) && this._disableDelayedDrag();
+      },
+      _disableDelayedDrag: function () {
+        U && xt(U),
+          clearTimeout(this._dragStartTimer),
+          this._disableDelayedDragEvents();
+      },
+      _disableDelayedDragEvents: function () {
+        var t = this.el.ownerDocument;
+        _t(t, "mouseup", this._disableDelayedDrag),
+          _t(t, "touchend", this._disableDelayedDrag),
+          _t(t, "touchcancel", this._disableDelayedDrag),
+          _t(t, "mousemove", this._delayedDragTouchMoveHandler),
+          _t(t, "touchmove", this._delayedDragTouchMoveHandler),
+          _t(t, "pointermove", this._delayedDragTouchMoveHandler);
+      },
+      _triggerDragStart: function (t, e) {
+        (e = e || ("touch" == t.pointerType ? t : null)),
+          !this.nativeDraggable || e
+            ? this.options.supportPointer
+              ? wt(st, "pointermove", this._onTouchMove)
+              : wt(st, e ? "touchmove" : "mousemove", this._onTouchMove)
+            : (wt(U, "dragend", this), wt(q, "dragstart", this._onDragStart));
+        try {
+          st.selection
+            ? Ht(function () {
+                st.selection.empty();
+              })
+            : window.getSelection().removeAllRanges();
+        } catch (t) {}
+      },
+      _dragStarted: function (t, e) {
+        if (((v = !1), q && U)) {
+          this.nativeDraggable &&
+            (wt(st, "dragover", this._handleAutoScroll), wt(st, "dragover", F));
+          var o = this.options;
+          !t && yt(U, o.dragClass, !1),
+            yt(U, o.ghostClass, !0),
+            Dt(U, "transform", ""),
+            (mt.active = this),
+            t && this._appendGhost(),
+            Ct(this, q, "start", U, q, q, K, void 0, e);
+        } else this._nulling();
+      },
+      _emulateDragOver: function (t) {
+        if (k) {
+          if (this._lastX === k.clientX && this._lastY === k.clientY && !t)
+            return;
+          (this._lastX = k.clientX), (this._lastY = k.clientY), z();
+          for (
+            var e = st.elementFromPoint(k.clientX, k.clientY), o = e;
+            e && e.shadowRoot;
+
+          )
+            o = e = e.shadowRoot.elementFromPoint(k.clientX, k.clientY);
+          if (o)
+            do {
+              if (o[lt])
+                if (
+                  o[lt]._onDragOver({
+                    clientX: k.clientX,
+                    clientY: k.clientY,
+                    target: e,
+                    rootEl: o,
+                  }) &&
+                  !this.options.dragoverBubble
+                )
+                  break;
+              e = o;
+            } while ((o = o.parentNode));
+          U.parentNode[lt]._computeIsAligned(k), j();
+        }
+      },
+      _onTouchMove: function (t, e) {
+        if (p) {
+          var o = this.options,
+            n = o.fallbackTolerance,
+            i = o.fallbackOffset,
+            r = t.touches ? t.touches[0] : t,
+            a = f && St(f),
+            l = f && a && a.a,
+            s = f && a && a.d,
+            c = S && g && Ft(g),
+            d =
+              (r.clientX - p.clientX + i.x) / (l || 1) +
+              (c ? c[0] - m[0] : 0) / (l || 1),
+            h =
+              (r.clientY - p.clientY + i.y) / (s || 1) +
+              (c ? c[1] - m[1] : 0) / (s || 1),
+            u = t.touches
+              ? "translate3d(" + d + "px," + h + "px,0)"
+              : "translate(" + d + "px," + h + "px)";
+          if (!mt.active && !v) {
+            if (
+              n &&
+              x(ut(r.clientX - this._lastX), ut(r.clientY - this._lastY)) < n
+            )
+              return;
+            this._onDragStart(t, !0);
+          }
+          !e && this._handleAutoScroll(r, !0),
+            (J = !0),
+            (k = r),
+            Dt(f, "webkitTransform", u),
+            Dt(f, "mozTransform", u),
+            Dt(f, "msTransform", u),
+            Dt(f, "transform", u),
+            t.cancelable && t.preventDefault();
+        }
+      },
+      _appendGhost: function () {
+        if (!f) {
+          var t = this.options.fallbackOnBody ? st.body : q,
+            e = Lt(U, !0, t, !S),
+            o = (Dt(U), this.options);
+          if (S) {
+            for (
+              g = t;
+              "static" === Dt(g, "position") &&
+              "none" === Dt(g, "transform") &&
+              g !== st;
+
+            )
+              g = g.parentNode;
+            if (g !== st) {
+              var n = Lt(g, !0);
+              (e.top -= n.top), (e.left -= n.left);
+            }
+            g !== st.body && g !== st.documentElement
+              ? (g === st && (g = H()),
+                (e.top += g.scrollTop),
+                (e.left += g.scrollLeft))
+              : (g = H()),
+              (m = Ft(g));
+          }
+          yt((f = U.cloneNode(!0)), o.ghostClass, !1),
+            yt(f, o.fallbackClass, !0),
+            yt(f, o.dragClass, !0),
+            Dt(f, "box-sizing", "border-box"),
+            Dt(f, "margin", 0),
+            Dt(f, "top", e.top),
+            Dt(f, "left", e.left),
+            Dt(f, "width", e.width),
+            Dt(f, "height", e.height),
+            Dt(f, "opacity", "0.8"),
+            Dt(f, "position", S ? "absolute" : "fixed"),
+            Dt(f, "zIndex", "100000"),
+            Dt(f, "pointerEvents", "none"),
+            t.appendChild(f);
+        }
+      },
+      _onDragStart: function (t, e) {
+        var o = this,
+          n = t.dataTransfer,
+          i = o.options;
+        ((u = Ot(U)).draggable = !1),
+          (u.style["will-change"] = ""),
+          this._hideClone(),
+          yt(u, o.options.chosenClass, !1),
+          (o._cloneId = Ht(function () {
+            o.options.removeCloneOnHide || q.insertBefore(u, U),
+              Ct(o, q, "clone", U);
+          })),
+          !e && yt(U, i.dragClass, !0),
+          e
+            ? ((it = !0), (o._loopId = setInterval(o._emulateDragOver, 50)))
+            : (_t(st, "mouseup", o._onDrop),
+              _t(st, "touchend", o._onDrop),
+              _t(st, "touchcancel", o._onDrop),
+              n &&
+                ((n.effectAllowed = "move"),
+                i.setData && i.setData.call(o, n, U)),
+              wt(st, "drop", o),
+              Dt(U, "transform", "translateZ(0)")),
+          (v = !0),
+          (o._dragStartId = Ht(o._dragStarted.bind(o, e, t))),
+          wt(st, "selectstart", o),
+          D && Dt(st.body, "user-select", "none");
+      },
+      _onDragOver: function (e) {
+        var o,
+          n,
+          t,
+          i = this.el,
+          r = e.target,
+          a = this.options,
+          l = a.group,
+          s = mt.active,
+          c = Z === l,
+          d = a.sort,
+          h = this;
+        if (!ht && (!dt || e.rootEl || e.artificialBubble || pt(i, r))) {
+          if (
+            (void 0 !== e.preventDefault && e.cancelable && e.preventDefault(),
+            (J = !0),
+            (r = bt(r, a.draggable, i, !0)),
+            bt(e.target, null, U, !0) || r.animated)
+          )
+            return z(!1);
+          if (
+            (r !== U && (it = !1),
+            s &&
+              !a.disabled &&
+              (c
+                ? d || (t = !q.contains(U))
+                : Q === this ||
+                  ((this.lastPutMode = Z.checkPull(this, s, U, e)) &&
+                    l.checkPut(this, s, U, e))))
+          ) {
+            var u = this._getDirection(e, r);
+            if (((o = Lt(U)), t))
+              return (
+                this._hideClone(),
+                (V = q),
+                G ? q.insertBefore(U, G) : q.appendChild(U),
+                z(!0)
+              );
+            var f = Pt(i);
+            if (
+              f &&
+              ((I = e),
+              (B = u),
+              (O = Lt(Pt(i))),
+              (H = "vertical" === B ? I.clientY : I.clientX),
+              (R = "vertical" === B ? I.clientX : I.clientY),
+              (L = "vertical" === B ? O.bottom : O.right),
+              (W = "vertical" === B ? O.left : O.top),
+              (F = "vertical" === B ? O.right : O.bottom),
+              !("vertical" === B
+                ? F + 10 < R || (R <= F && L < H && W <= R)
+                : (L < H && W < R) || (H <= L && F + 10 < R)) || f.animated)
+            ) {
+              if (r && r !== U && r.parentNode === i) {
+                var p,
+                  g = 0,
+                  v = r.sortableMouseAligned,
+                  m = U.parentNode !== i,
+                  b = "vertical" === u ? "top" : "left",
+                  w = Wt(r, "top") || Wt(U, "top"),
+                  _ = w ? w.scrollTop : void 0;
+                if (
+                  ($ !== r && ((et = null), (p = Lt(r)[b]), (rt = !1)),
+                  (C = r),
+                  (E = u),
+                  (x = ((T = U) === U && nt) || Lt(T)),
+                  (N = (C === U && nt) || Lt(C)),
+                  (M = "vertical" === E ? x.left : x.top),
+                  (P = "vertical" === E ? x.right : x.bottom),
+                  (X = "vertical" === E ? x.width : x.height),
+                  (Y = "vertical" === E ? N.left : N.top),
+                  (A = "vertical" === E ? N.right : N.bottom),
+                  (k = "vertical" === E ? N.width : N.height),
+                  (et =
+                    ((M === Y || P === A || M + X / 2 === Y + k / 2) && v) ||
+                    m ||
+                    w ||
+                    a.invertSwap ||
+                    "insert" === et ||
+                    "swap" === et
+                      ? ("swap" !== et && (at = a.invertSwap || m),
+                        (g = (function (t, e, o, n, i, r, a) {
+                          var l = Lt(e),
+                            s = "vertical" === o ? t.clientY : t.clientX,
+                            c = "vertical" === o ? l.height : l.width,
+                            d = "vertical" === o ? l.top : l.left,
+                            h = "vertical" === o ? l.bottom : l.right,
+                            u = Lt(U),
+                            f = !1;
+                          if (!r)
+                            if (a && ot < c * n)
+                              if (
+                                (!rt &&
+                                  (1 === tt
+                                    ? d + (c * i) / 2 < s
+                                    : s < h - (c * i) / 2) &&
+                                  (rt = !0),
+                                rt)
+                              )
+                                f = !0;
+                              else {
+                                "vertical" === o ? u.top : u.left,
+                                  "vertical" === o ? u.bottom : u.right;
+                                if (1 === tt ? s < d + ot : h - ot < s)
+                                  return -1 * tt;
+                              }
+                            else if (
+                              d + (c * (1 - n)) / 2 < s &&
+                              s < h - (c * (1 - n)) / 2
+                            )
+                              return Xt(e);
+                          if (
+                            (f = f || r) &&
+                            (s < d + (c * i) / 2 || h - (c * i) / 2 < s)
+                          )
+                            return d + c / 2 < s ? 1 : -1;
+                          return 0;
+                        })(
+                          e,
+                          r,
+                          u,
+                          a.swapThreshold,
+                          null == a.invertedSwapThreshold
+                            ? a.swapThreshold
+                            : a.invertedSwapThreshold,
+                          at,
+                          $ === r
+                        )),
+                        "swap")
+                      : ((g = Xt(r)), "insert")),
+                  0 === g)
+                )
+                  return z(!1);
+                (nt = null), (tt = g), (n = Lt(($ = r)));
+                var y = r.nextElementSibling,
+                  D = !1,
+                  S = Et(q, i, U, o, r, n, e, (D = 1 === g));
+                if (!1 !== S)
+                  return (
+                    (1 !== S && -1 !== S) || (D = 1 === S),
+                    (ht = !0),
+                    ct(Nt, 30),
+                    c ? s._hideClone() : s._showClone(this),
+                    D && !y
+                      ? i.appendChild(U)
+                      : r.parentNode.insertBefore(U, D ? y : r),
+                    w && ft(w, 0, _ - w.scrollTop),
+                    (V = U.parentNode),
+                    void 0 === p || at || (ot = ut(p - Lt(r)[b])),
+                    j(),
+                    z(!0)
+                  );
+              }
+            } else if (
+              (f && i === e.target && (r = f),
+              r && (n = Lt(r)),
+              c ? s._hideClone() : s._showClone(this),
+              !1 !== Et(q, i, U, o, r, n, e, !!r))
+            )
+              return i.appendChild(U), (V = i), (nt = null), j(), z(!0);
+            if (i.contains(U)) return z(!1);
+          }
+          var T, C, E, x, N, M, P, X, Y, A, k, I, B, O, H, R, L, W, F;
+          return dt && !e.rootEl && gt(i, e, "_onDragOver"), !1;
+        }
+        function z(t) {
+          return (
+            t &&
+              (c ? s._hideClone() : s._showClone(h),
+              s &&
+                (yt(U, Q ? Q.options.ghostClass : s.options.ghostClass, !1),
+                yt(U, a.ghostClass, !0)),
+              Q !== h && h !== mt.active
+                ? (Q = h)
+                : h === mt.active && (Q = null),
+              o && h._animate(o, U),
+              r && n && h._animate(n, r)),
+            ((r === U && !U.animated) || (r === i && !r.animated)) &&
+              ($ = null),
+            a.dragoverBubble ||
+              e.rootEl ||
+              r === st ||
+              (h._handleAutoScroll(e), U.parentNode[lt]._computeIsAligned(e)),
+            !a.dragoverBubble && e.stopPropagation && e.stopPropagation(),
+            !0
+          );
+        }
+        function j() {
+          Ct(h, q, "change", r, i, q, K, At(U, a.draggable), e);
+        }
+      },
+      _animate: function (t, e) {
+        var o = this.options.animation;
+        if (o) {
+          var n = Lt(e);
+          if (
+            (e === U && (nt = n),
+            1 === t.nodeType && (t = Lt(t)),
+            t.left + t.width / 2 !== n.left + n.width / 2 ||
+              t.top + t.height / 2 !== n.top + n.height / 2)
+          ) {
+            var i = St(this.el),
+              r = i && i.a,
+              a = i && i.d;
+            Dt(e, "transition", "none"),
+              Dt(
+                e,
+                "transform",
+                "translate3d(" +
+                  (t.left - n.left) / (r || 1) +
+                  "px," +
+                  (t.top - n.top) / (a || 1) +
+                  "px,0)"
+              ),
+              e.offsetWidth,
+              Dt(
+                e,
+                "transition",
+                "transform " +
+                  o +
+                  "ms" +
+                  (this.options.easing ? " " + this.options.easing : "")
+              ),
+              Dt(e, "transform", "translate3d(0,0,0)");
+          }
+          "number" == typeof e.animated && clearTimeout(e.animated),
+            (e.animated = ct(function () {
+              Dt(e, "transition", ""),
+                Dt(e, "transform", ""),
+                (e.animated = !1);
+            }, o));
+        }
+      },
+      _offUpEvents: function () {
+        var t = this.el.ownerDocument;
+        _t(st, "touchmove", this._onTouchMove),
+          _t(st, "pointermove", this._onTouchMove),
+          _t(t, "mouseup", this._onDrop),
+          _t(t, "touchend", this._onDrop),
+          _t(t, "pointerup", this._onDrop),
+          _t(t, "touchcancel", this._onDrop),
+          _t(st, "selectstart", this);
+      },
+      _onDrop: function (t) {
+        var e = this.el,
+          o = this.options;
+        (rt = at = B = v = !1),
+          clearInterval(this._loopId),
+          clearInterval(l),
+          L(),
+          clearTimeout(vt),
+          (vt = void 0),
+          clearTimeout(this._dragStartTimer),
+          Rt(this._cloneId),
+          Rt(this._dragStartId),
+          _t(st, "mousemove", this._onTouchMove),
+          this.nativeDraggable &&
+            (_t(st, "drop", this),
+            _t(e, "dragstart", this._onDragStart),
+            _t(st, "dragover", this._handleAutoScroll),
+            _t(st, "dragover", F)),
+          D && Dt(st.body, "user-select", ""),
+          this._offUpEvents(),
+          t &&
+            (J &&
+              (t.cancelable && t.preventDefault(),
+              !o.dropBubble && t.stopPropagation()),
+            f && f.parentNode && f.parentNode.removeChild(f),
+            (q === V || (Q && "clone" !== Q.lastPutMode)) &&
+              u &&
+              u.parentNode &&
+              u.parentNode.removeChild(u),
+            U &&
+              (this.nativeDraggable && _t(U, "dragend", this),
+              xt(U),
+              (U.style["will-change"] = ""),
+              yt(U, Q ? Q.options.ghostClass : this.options.ghostClass, !1),
+              yt(U, this.options.chosenClass, !1),
+              Ct(this, q, "unchoose", U, V, q, K, null, t),
+              q !== V
+                ? (0 <= (n = At(U, o.draggable)) &&
+                    (Ct(null, V, "add", U, V, q, K, n, t),
+                    Ct(this, q, "remove", U, V, q, K, n, t),
+                    Ct(null, V, "sort", U, V, q, K, n, t),
+                    Ct(this, q, "sort", U, V, q, K, n, t)),
+                  Q && Q.save())
+                : U.nextSibling !== G &&
+                  0 <= (n = At(U, o.draggable)) &&
+                  (Ct(this, q, "update", U, V, q, K, n, t),
+                  Ct(this, q, "sort", U, V, q, K, n, t)),
+              mt.active &&
+                ((null != n && -1 !== n) || (n = K),
+                Ct(this, q, "end", U, V, q, K, n, t),
+                this.save()))),
+          this._nulling();
+      },
+      _nulling: function () {
+        (q =
+          U =
+          V =
+          f =
+          G =
+          u =
+          h =
+          X =
+          Y =
+          I.length =
+          l =
+          s =
+          c =
+          p =
+          k =
+          J =
+          n =
+          K =
+          $ =
+          tt =
+          nt =
+          Q =
+          Z =
+          mt.active =
+            null),
+          M.forEach(function (t) {
+            t.checked = !0;
+          }),
+          (M.length = 0);
+      },
+      handleEvent: function (t) {
+        switch (t.type) {
+          case "drop":
+          case "dragend":
+            this._onDrop(t);
+            break;
+          case "dragenter":
+          case "dragover":
+            U &&
+              (this._onDragOver(t),
+              (function (t) {
+                t.dataTransfer && (t.dataTransfer.dropEffect = "move");
+                t.cancelable && t.preventDefault();
+              })(t));
+            break;
+          case "selectstart":
+            t.preventDefault();
+        }
+      },
+      toArray: function () {
+        for (
+          var t,
+            e = [],
+            o = this.el.children,
+            n = 0,
+            i = o.length,
+            r = this.options;
+          n < i;
+          n++
+        )
+          bt((t = o[n]), r.draggable, this.el, !1) &&
+            e.push(t.getAttribute(r.dataIdAttr) || Yt(t));
+        return e;
+      },
+      sort: function (t) {
+        var n = {},
+          i = this.el;
+        this.toArray().forEach(function (t, e) {
+          var o = i.children[e];
+          bt(o, this.options.draggable, i, !1) && (n[t] = o);
+        }, this),
+          t.forEach(function (t) {
+            n[t] && (i.removeChild(n[t]), i.appendChild(n[t]));
+          });
+      },
+      save: function () {
+        var t = this.options.store;
+        t && t.set && t.set(this);
+      },
+      closest: function (t, e) {
+        return bt(t, e || this.options.draggable, this.el, !1);
+      },
+      option: function (t, e) {
+        var o = this.options;
+        if (void 0 === e) return o[t];
+        (o[t] = e), "group" === t && W(o);
+      },
+      destroy: function () {
+        var t = this.el;
+        (t[lt] = null),
+          _t(t, "mousedown", this._onTapStart),
+          _t(t, "touchstart", this._onTapStart),
+          _t(t, "pointerdown", this._onTapStart),
+          this.nativeDraggable &&
+            (_t(t, "dragover", this), _t(t, "dragenter", this)),
+          Array.prototype.forEach.call(
+            t.querySelectorAll("[draggable]"),
+            function (t) {
+              t.removeAttribute("draggable");
+            }
+          ),
+          this._onDrop(),
+          d.splice(d.indexOf(this.el), 1),
+          (this.el = t = null);
+      },
+      _hideClone: function () {
+        u.cloneHidden ||
+          (Dt(u, "display", "none"),
+          (u.cloneHidden = !0),
+          u.parentNode &&
+            this.options.removeCloneOnHide &&
+            u.parentNode.removeChild(u));
+      },
+      _showClone: function (t) {
+        "clone" === t.lastPutMode
+          ? u.cloneHidden &&
+            (q.contains(U) && !this.options.group.revertClone
+              ? q.insertBefore(u, U)
+              : G
+              ? q.insertBefore(u, G)
+              : q.appendChild(u),
+            this.options.group.revertClone && this._animate(U, u),
+            Dt(u, "display", ""),
+            (u.cloneHidden = !1))
+          : this._hideClone();
+      },
+    }),
+    wt(st, "touchmove", function (t) {
+      (mt.active || v) && t.cancelable && t.preventDefault();
+    }),
+    (mt.utils = {
+      on: wt,
+      off: _t,
+      css: Dt,
+      find: Tt,
+      is: function (t, e) {
+        return !!bt(t, e, t, !1);
+      },
+      extend: Bt,
+      throttle: It,
+      closest: bt,
+      toggleClass: yt,
+      clone: Ot,
+      index: At,
+      nextTick: Ht,
+      cancelNextTick: Rt,
+      detectDirection: P,
+      getChild: Mt,
+    }),
+    (mt.create = function (t, e) {
+      return new mt(t, e);
+    }),
+    (mt.version = "1.8.4"),
+    mt
+  );
+});
diff --git a/notemyprogress/lang/en/local_notemyprogress.php b/notemyprogress/lang/en/local_notemyprogress.php
index 6b53d00dde3fd1dd2de99f4a8e23a1a588c63e34..b710049c01552e3c4d5c95f265e8294198ba8fa4 100644
--- a/notemyprogress/lang/en/local_notemyprogress.php
+++ b/notemyprogress/lang/en/local_notemyprogress.php
@@ -15,16 +15,16 @@
 // avec Moodle. Sinon, consultez <http://www.gnu.org/licenses/>.
 
 /**
-* Plugin chains are defined here.
-*
-* @package local_notemyprogress
-* @category string
-* @author 2021 Éric Bart <bart.eric@hotmail.com>
-* @copyright 2020 Edisson Sigma <edissonf.sigua@gmail.com>, Bryan Aguilar <bryan.aguilar6174@gmail.com>
-* @license http://www.gnu.org/copyleft /gpl.html GNU GPL v3 ou version ultérieure
-*/
+ * Plugin chains are defined here.
+ *
+ * @package local_notemyprogress
+ * @category string
+ * @author 2021 Éric Bart <bart.eric@hotmail.com>
+ * @copyright 2020 Edisson Sigma <edissonf.sigua@gmail.com>, Bryan Aguilar <bryan.aguilar6174@gmail.com>
+ * @license http://www.gnu.org/copyleft /gpl.html GNU GPL v3 ou version ultérieure
+ */
 
-defined ('MOODLE_INTERNAL') || die();
+defined('MOODLE_INTERNAL') || die();
 
 $string['pluginname'] = 'notemyprogress';
 
@@ -54,6 +54,7 @@ $string['menu_grades'] = 'Tracking grades';
 $string['menu_quiz'] = 'Follow-up of evaluations';
 $string['menu_dropout'] = 'Dropout';
 $string['menu_logs'] = "Activity reports";
+$string['menu_planning'] = "Planning";
 $string['menu_general'] = "Global indicators";
 
 /* Nav Bar Menu */
@@ -573,6 +574,66 @@ $string['fml_week_progress_title'] = 'Progress of the week';
 
 
 
+
+
+/* time_visualizations */
+$string['tv_title'] = 'Tiempo invertido (horario)';
+$string['tv_lunes'] = 'Lunes';
+$string['tv_martes'] = 'Martes';
+$string['tv_miercoles'] = 'Miércoles';
+$string['tv_jueves'] = 'Jueves';
+$string['tv_viernes'] = 'Viernes';
+$string['tv_sabado'] = 'Sábado';
+$string['tv_domingo'] = 'Domingo';
+$string['tv_axis_x'] = 'Días de la semana';
+$string['tv_axis_y'] = 'Horas del día';
+$string['tv_url'] = 'URL';
+$string['tv_resource_document'] = 'Documento';
+$string['tv_resource_image'] = 'Imagen';
+$string['tv_resource_audio'] = 'Audio';
+$string['tv_resource_video'] = 'Video';
+$string['tv_resource_file'] = 'Archivo';
+$string['tv_resource_script'] = 'Script/Código';
+$string['tv_resource_text'] = 'Texto';
+$string['tv_resource_download'] = 'Descargas';
+$string['tv_assign'] = 'Tarea';
+$string['tv_assignment'] = 'Tarea';
+$string['tv_book'] = 'Libro';
+$string['tv_choice'] = 'Elección';
+$string['tv_feedback'] = 'Retroalimentación';
+$string['tv_folder'] = 'Carpeta';
+$string['tv_forum'] = 'Foro';
+$string['tv_glossary'] = 'Glosario';
+$string['tv_label'] = 'Etiqueta';
+$string['tv_lesson'] = 'Lección';
+$string['tv_page'] = 'Página';
+$string['tv_quiz'] = 'Examen';
+$string['tv_survey'] = 'Encuesta';
+$string['tv_lti'] = 'Herramienta externa';
+$string['tv_other'] = 'Otro';
+$string['tv_interaction'] = 'Interacción por';
+$string['tv_interactions'] = 'Interacciones por';
+$string['tv_course_module'] = 'Módulo';
+$string['tv_course_modules'] = 'Módulos';
+$string['tv_student'] = 'Estudiante.';
+$string['tv_students'] = 'Estudiantes.';
+$string['tv_average'] = 'Promedio interacciones';
+$string['tv_change_timezone'] = 'Zona horaria:';
+$string['tv_activity_inside_plataform_student'] = 'Mi actividad en la plataforma';
+$string['tv_activity_inside_plataform_teacher'] = 'Actividad de los estudiantes en la plataforma';
+$string['tv_time_inside_plataform_student'] = 'Mi tiempo en la plataforma';
+$string['tv_time_inside_plataform_teacher'] = 'Tiempo invertido en promedio de los estudiantes en la plataforma en esta semana';
+$string['tv_time_inside_plataform_description_teacher'] = 'Tiempo que el estudiante ha invertido en la semana seleccionada, en comparación al tiempo que el/la docente planificó que se debería invertir. El tiempo invertido que se visualiza corresponde al promedio de todos los estudiantes. El tiempo planificado por el/la docente es el asignado en por el/la docente en <i>Configurar Semanas</i>.';
+$string['tv_time_inside_plataform_description_student'] = 'Tiempo que ha invertido esta semana en relación al tiempo que el profesor planificó que se debería invertir.';
+$string['tv_activity_inside_plataform_description_teacher'] = 'En el eje Y se indican las las horas del día y en el eje X los días de la semana. Dentro del gráfico podrá encontrar múltiples puntos, los cuales, al pasar el cursor sobre estos, ofrecen información detallada sobre las interacciones de los estudiantes, agrupadas por tipo de recurso (número de interacciones, número de estudiantes que interactuaron con el recurso y promedio de interacciones). <br/><br/><b>Al hacer click en las etiquetas, podrá filtrar por tipo de recurso, dejando visible sólo aquellos que no se encuentren tachados.</b>';
+$string['tv_activity_inside_plataform_description_student'] = 'Presenta las interacciones por tipo de recurso y horario. Al pasar el cursor sobre un punto visible en el gráfico, verá el número de interacciones agrupadas por tipo de recurso. Al hacer click en las etiquetas, podrá filtrar por tipo de recurso.';
+$string['tv_to'] = 'al';
+$string['tv_time_spend'] = 'Tiempo invertido';
+$string['tv_time_spend_teacher'] = 'Tiempo promedio invertido';
+$string['tv_time_should_spend'] = 'Tiempo que deberías invertir';
+$string['tv_time_should_spend_teacher'] = 'Tiempo promedio que se debería invertir';
+
+
 /* Indicateurs de l\'enseignant */
 $string['fml_teacher_indicators_title'] = 'General indicators';
 $string['fml_teacher_indicators_students'] = 'Students';
@@ -714,5 +775,296 @@ $string['fml_settings_bddname_label'] = 'Name of the database';
 $string['fml_settings_bddname_description'] = 'This parameter designates the name of the MongoDB database in which the information will be stored.';
 $string['fml_settings_bddname_default'] = 'Empty';
 
-
-
+//Planning
+/* Global */
+$string['pagination'] = "Semaine:";
+$string['graph_generating'] = "Nous construisons le rapport, veuillez patienter un instant";
+$string['txt_hour'] = "Temps";
+$string['txt_hours'] = "Heures";
+$string['txt_minut'] = "Minutes";
+$string['txt_minuts'] = "Minutes";
+$string['pagination_week'] = "Semaine";
+$string['only_student'] = "This report is for students only";
+$string['sr_hour'] = "Heure";
+$string['sr_hours'] = "Heures";
+$string['sr_minute'] = "Minute";
+$string['sr_minutes'] = "Minutes";
+$string['sr_second'] = "Secondes";
+$string['sr_seconds'] = "Secondes";
+$string['weeks_not_config'] = "Le cours n'a pas été configuré par le professeur, vous ne pouvez donc pas utiliser l'outil de rapport";
+$string['pagination_title'] = "Sélection semaine’";
+$string['helplabel'] = "Aide";
+$string['exitbutton'] = "Compris!";
+$string['hours_unit_time_label'] = "Nombre d’heures";
+
+/* Menú */
+$string['sr_menu_main_title'] = "Rapports";
+$string['sr_menu_setweek'] = "Mettre en place des semaines";
+$string['sr_menu_logs'] = "Télécharger des enregistrements";
+$string['sr_menu_time_worked_session_report'] = "Sessions d'étude par semaine’";
+$string['sr_menu_time_visualization'] = "Temps passé (heures par semaine)";
+$string['sr_menu_activities_performed'] = "Activités réalisées";
+$string['sr_menu_notes'] = "Annotations";
+
+/* General Errors */
+$string['api_error_network'] = "Une erreur s'est produite dans la communication avec le serveur";
+$string['api_invalid_data'] = "Données incorrectes";
+$string['api_save_successful'] = "Les données ont été enregistrées avec succès sur le serveur";
+$string['api_cancel_action'] = "Vous avez annulé l’action";
+$string['pluginname'] = "Note My Progress";
+$string['previous_days_to_create_report'] = "Jours pris en compte pour la construction du rapport";
+$string['previous_days_to_create_report_description'] = "Jours avant la date actuelle qui sera prise en compte pour générer le rapport";
+$string['student_reports:usepluggin'] = "Utilisation du plug-in";
+$string['student_reports:downloadreport'] = "Télécharger l'activité de l'élève";
+$string['student_reports:setweeks'] = "Mettre en place des semaines";
+$string['student_reports:activities_performed'] = "Voir le rapport 'Activités réalisées";
+$string['student_reports:metareflexion'] = "Voir le rapport 'Méta-réflexion'";
+$string['student_reports:notes'] = "Utilisez les bloc-notes";
+
+/* Logs */
+$string['logs_title'] = "Télécharger le fichier du logs (les actions effectuées par les étudiants sur Moodle) de l'étudiant";
+$string['logs_description'] = "Pour télécharger le fichier du logs (les actions effectuées par les étudiants sur Moodle), vous devez cliquer sur le bouton 'Générer du logs'. Plus tard, un lien sera activé qui permettra le téléchargement du fichier.";
+$string['logs_btn_download'] = "Générer fichier du logs";
+$string['logs_label_creating'] = "Le fichier du logs étant généré, cela peut prendre plusieurs minutes. S'il vous plaît, attendez...";
+$string['logs_generation_finished'] = "Le fichier du logs a été généré avec success.";
+$string['logs_download_link'] = "Télécharger le fichier du logs";
+$string['logs_th_title_column'] = "Colonne";
+$string['logs_th_title_description'] = "Description";
+$string['logs_tb_title_logid'] = "Identifiant d'enregistrement";
+$string['logs_tb_title_userid'] = "Identifiant d'utilisateur";
+$string['logs_tb_title_username'] = "Nom d'utilisateur";
+$string['logs_tb_title_names'] = "Nom";
+$string['logs_tb_title_lastnames'] = "Nom de famille";
+$string['logs_tb_title_email'] = "E-mail";
+$string['logs_tb_title_roles'] = "Rôles";
+$string['logs_tb_title_courseid'] = "Identifiant du course";
+$string['logs_tb_title_component'] = "Composant";
+$string['logs_tb_title_action'] = "Acction";
+$string['logs_tb_title_timecreated'] = "Date (Timestamp)";
+$string['logs_tb_description_logid'] = "Numéro du fichier logs enregistré";
+$string['logs_tb_description_userid'] = "Id de la personne qui a généré le fichier du logs";
+$string['logs_tb_description_username'] = "Utilisateur enregistré dans la plate-forme de la personne qui a généré le fichier du logs";
+$string['logs_tb_description_names'] = "Noms des participants au cours";
+$string['logs_tb_description_lastnames'] = "Noms de famille des participants au cours";
+$string['logs_tb_description_email'] = "Email des participants au cours";
+$string['logs_tb_description_roles'] = "Rôle dans la plateforme de la personne qui a généré le fichier du logs";
+$string['logs_tb_description_courseid'] = "Parcours à partir duquel le fichier de logs a été généré";
+$string['logs_tb_description_component'] = "Composant de cours interactif";
+$string['logs_tb_description_action'] = "Action qui a déclenché la création du fichier du journal";
+$string['logs_tb_description_timecreated'] = "Date au format timestamp dans laquelle le fichier du logs a été généré";
+
+/*new string*/
+$string['studentreports'] = "Rapports des étudiants";
+
+/*Menu*/
+$string['binnacle'] = "Blog";
+$string['report1'] = "Rapport 1";
+$string['report2'] = "Rapport 2";
+$string['report3'] = "Rapport 3";
+$string['report4'] = "Rapport 4";
+$string['report5'] = "Rapport 5";
+$string['set_weeks_title'] = "Configuration des semaines de cours";
+$string['set_weeks'] = "Configuration des semaines de cours";
+
+/*Metareflexion*/
+$string['compare_with_course'] = "Comparer mes résultats avec ceux de mes collègues";
+$string['sr_menu_metareflexion'] = "Méta-réflexion";
+$string['metareflexion_last_week_created'] = "Les réflexions de la semaine dernière ont été sauvegardées";
+$string['metareflexion_last_week_update'] = "Mise à jour des réflexions de la semaine dernière";
+$string['metareflexion_update_planification_success'] = "Engagement actualisé";
+$string['metareflexion_save_planification_success'] = "Engagement enregistré";
+$string['metareflexion_tab_planification'] = "Planification de la semaine";
+$string['metareflexion_tab_reflexion'] = "Reflexion";
+$string['metareflexion_tab_reflexion_title'] = "Liste des ressources de cette semaine";
+$string['metareflexion_tab_lastweek'] = "Réflexions de la semaine dernière";
+$string['metareflexion_tab_graphic_lastweek'] = "Réflexions";
+$string['metareflexion_effectiveness_title'] = "Statistiques sur l'efficacité";
+$string['metareflexion_graphic_legend_planned'] = "Planifié";
+$string['metareflexion_graphic_legend_unplanned'] = "Non planifié";
+$string['effectiveness_graphic_legend_pending'] = "Planifié / À planifier";
+$string['effectiveness_graphic_legend_completed'] = "Planifié / Réalisé";
+$string['effectiveness_graphic_legend_failed'] = "Planifié / Non réalisé";
+$string['metareflexion_cw_card_title'] = "Planification de la semaine";
+$string['metareflexion_cw_description_student'] = "Dans cette section, vous pouvez planifier les horaires et les jours de travail du cours pour cette semaine. Ces informations seront utilisées pour calculer votre efficacité à travailler sur le cours, que vous pouvez consulter dans la section Efficacité.";
+$string['metareflexion_cw_card_daysdedicate'] = "Jours que je consacrerai au cours :";
+$string['metareflexion_cw_card_hoursdedicate'] = "Heures que je consacrerai au cours :";
+$string['metareflexion_cw_card_msg'] = "Vous n'avez pas encore planifié le temps de travail que vous souhaitez consacrer à cette ressource";
+$string['metareflexion_cw_card_btn_plan'] = "Planification de la semaine";
+$string['metareflexion_cw_table_title'] = "Ressources de la semaine";
+$string['metareflexion_cw_table_thead_activity'] = "Activité";
+$string['metareflexion_cw_table_thead_type'] = "Type de ressource";
+$string['metareflexion_cw_table_thead_days_committed'] = "Journées consacrées";
+$string['metareflexion_cw_table_thead_hours_committed'] = "Heures consacrées";
+$string['metareflexion_cw_table_thead_plan'] = "Plan";
+$string['metareflexion_cw_dialog_daysdedicate'] = "Combien d'heures de cours en face à face avez-vous consacrées à ce cours cette semaine ?";
+$string['metareflexion_cw_dialog_hoursdedicate'] = "Combien d'heures de travail prévoyez-vous cette semaine?";
+$string['metareflexion_cw_dialog_btn_cancel'] = "Annuler";
+$string['metareflexion_cw_dialog_btn_accept'] = "Sauvegarder le plan";
+$string['metareflexion_pw_title'] = "Réflexions de la semaine dernière";
+$string['metareflexion_pw_description_student'] = "Dans cette section, vous pourrez indiquer combien d'heures de cours en face à face vous avez consacrées au cours et combien vous en avez pris en dehors des heures de cours. En outre, vous pourrez indiquer si les objectifs d'apprentissage de la semaine dernière ont été atteints et donner votre avis sur les avantages d'avoir suivi des cours. Ces informations seront fournies à l'enseignant de manière anonyme afin d'améliorer le cours";
+$string['metareflexion_pw_classroom_hours'] = "Combien d'heures de cours en face à face avez-vous consacrées à ce cours cette semaine ?";
+$string['metareflexion_pw_hours_off_course'] = "Combien d'heures de travail avez-vous consacrées au cours en dehors des cours en face à face cette semaine ?";
+$string['metareflexion_pw_btn_save'] = "Sauvegarder";
+$string['metareflexion_report_title'] = "Graphique lié au formulaire d'engagement de Planification/Méta-réflexion";
+$string['metareflexion_report_description_days_teacher'] = "Dans ce graphique, vous trouverez la planification des jours que les étudiants se sont engagés à travailler (première barre) par rapport aux jours réellement travaillés (deuxième barre). Si la première barre n'est pas visible, cela signifie que vos étudiants n'ont pas planifié de jours de travail pour cette semaine ; ils ont planifié des jours de travail. Si la deuxième barre n'est pas visible, cela signifie que les étudiants n'ont pas fait le travail qu'ils s'étaient engagés à faire le jour prévu.";
+$string['metareflexion_report_description_days_student'] = "Dans ce tableau, vous trouverez le temps que vos élèves ont prévu de passer par rapport au temps qu'ils ont effectivement passé. Si le délai prévu est respecté, la semaine sera marquée d'une icône verte. Dans le cas où le travail prévu n'est pas réalisé, une icône rouge apparaîtra.<br> Notez qu'il est considéré comme une journée de travail si l'étudiant a fait une interaction avec les ressources de cette semaine. Le temps prévu est obtenu à partir de la méta-réflexion hebdomadaire de l'étudiant dans le Planification de la semaine<br> .";
+$string['metareflexion_report_subtitle_days_student'] = "Mes engagements prévus pour cette semaine";
+$string['metareflexion_report_subtitle_days_teacher'] = "Pourcentage d'élèves qui ont respecté leur plan ce jour-là";
+$string['metareflexion_report_subtitle_hours_student'] = "Mon efficacité dans la semaine";
+$string['metareflexion_report_subtitle_hours_teacher'] = "Efficacité moyenne de la semaine";
+$string['metareflexion_report_descrition_hours_teacher'] = "Ce graphique montre les heures que les étudiants ont prévu de travailler pendant cette semaine par rapport aux heures effectivement travaillées. <br> Notez qu'il est considéré comme un jour ouvré si l'étudiant a fait une interaction avec les ressources de cette semaine. Le temps prévu est obtenu à partir de la Méta-réflexion de l'étudiant dans son Planification de la semaine.<br>";
+$string['metareflexion_report_descrition_hours_student'] = "Ce graphique montre les heures que l'étudiant a prévu de travailler pendant cette semaine par rapport aux heures effectivement travaillées. Le temps prévu est obtenu à partir de la méta-réflexion hebdomadaire que vous avez faite dans la section 'Planification de la semaine'.";
+$string['metareflexion_cw_day_lun'] = "Lundi";
+$string['metareflexion_cw_day_mar'] = "Mardi";
+$string['metareflexion_cw_day_mie'] = "Mercredi";
+$string['metareflexion_cw_day_jue'] = "Jeudi";
+$string['metareflexion_cw_day_vie'] = "Vendredi";
+$string['metareflexion_cw_day_sab'] = "Samedi";
+$string['metareflexion_cw_day_dom'] = "Dimanche";
+$string['metareflexion_myself'] = "Mon";
+$string['metareflexion_inverted_time'] = "Temps investi";
+$string['metareflexion_inverted_time_course'] = "Temps moyen investi (cours)";
+$string['metareflexion_planified_time'] = "Temps planifié";
+$string['metareflexion_planified_time_course'] = "Temps moyen prévu (cours)";
+$string['metareflexion_belonging'] = "Appartenance à";
+$string['metareflexion_student'] = "Etudiants";
+$string['metareflexion_interaction_user'] = "Utilisateurs qui ont interagi avec cette ressource";
+$string['metareflexion_hover_title_teacher'] = "Efficacité des étudiants (moyenne)";
+$string['metareflexion_hover_title_student'] = "Efficacité par semaine";
+$string['metareflexion_planning_week'] = "Il/Elle eat en train de planificar";
+$string['metareflexion_planning_week_start'] = ", Date de début";
+$string['metareflexion_planning_week_end'] = "et Date de réalisation";
+$string['metareflexion_report_pw_avegare_hour_clases'] = "Nombre moyen d'heures passées en cours en face à face";
+$string['metareflexion_report_pw_avegare_hour_outside_clases'] = "Moyenne des heures passées en dehors des cours";
+$string['metareflexion_report_pw_summary_card'] = "Durée moyenne du cours";
+$string['metareflexion_report_pw_learning_objetives'] = "Concernant aux objectifs d'apprentissage";
+$string['metareflexion_report_pw_attending_classes'] = "Concernant l'avantage de suivre des cours ";
+$string['metareflexion_report_pw_text_graphic_no_data'] = "Pas de données pour cette semaine";
+$string['metareflexion_report_pw_description_teacher'] = "Dans ces graphiques, vous pouvez voir les informations obtenues des étudiants concernant leurs impressions sur les cours de la semaine précédente.";
+$string['metareflexion_weekly_planning_subtitle'] = "Voir les résultats de votre planification hebdomadaire sous l'onglet 'Efficacité par semaine'.";
+$string['metareflexion_saved_form'] = "Vous avez déjà rempli le formulaire sur Méta-réflexion cette semaine";
+$string['metareflexion_goals_title'] = "Mes objectifs";
+/* Reports */
+$string['student_reports:view_report_as_teacher'] = "Voir le rapport en tant qu'enseignant";
+$string['student_reports:view_report_as_student'] = "Voir le rapport en tant qu'étudiant";
+$string['student_reports:time_visualizations'] = "Travail sur la plate-forme";
+$string['student_reports:time_worked_session_report'] = "Rapport sur le 'Travail sur la plate-forme'";
+$string['student_reports:write'] = "Sauvegarder les modifications apportées aux rapports";
+
+/* time_worked_session_report */
+$string['twsr_title'] = "Sessions d'étude par semaine";
+$string['twsr_description_student'] = "Une session correspond au temps consacré à l'interaction au sein de la plate-forme et au temps moyen des sessions respectives. Vous trouverez ci-dessous la liste des semaines avec le nombre total de sessions. En déplaçant le curseur sur le graphique, vous pouvez trouver des informations détaillées sur le groupe d'étudiants dans le cours.";
+$string['twsr_description_teacher'] = "Une session correspond au temps pendant lequel les étudiants ont interagi avec le matériel de cours de Moodle. Dans ce rapport, vous trouverez la liste des semaines avec le nombre total de sessions effectuées par les étudiants du cours. En plaçant votre curseur sur l'une des barres, vous pouvez voir le nombre total de sessions, la durée moyenne des sessions et le nombre d'étudiants différents qui ont participé à chaque session.";
+$string['twsr_axis_x'] = "Nombre de sessions";
+$string['twsr_axis_y'] = "Semaines de cours";
+$string['twsr_student'] = "Étudiant";
+$string['twsr_students'] = "Étudiants";
+$string['twsr_sessions_by'] = "Les sessions appartenant à";
+$string['twsr_sessions_middle_time'] = "Duré moyenne des sessions";
+$string['twsr_total_sessions'] = "Total des sessions";
+
+/* time_visualizations */
+$string['tv_title'] = "Temps passé (par heure)";
+$string['tv_lunes'] = "Lundi";
+$string['tv_martes'] = "Mardi";
+$string['tv_miercoles'] = "Mercredi";
+$string['tv_jueves'] = "Jeudi";
+$string['tv_viernes'] = "Vendredi";
+$string['tv_sabado'] = "Samedi";
+$string['tv_domingo'] = "Dimange";
+$string['tv_axis_x'] = "Jours de la semaine";
+$string['tv_axis_y'] = "Heures de la journée";
+$string['tv_url'] = "URL";
+$string['tv_resource_document'] = "Document";
+$string['tv_resource_image'] = "Image";
+$string['tv_resource_audio'] = "Audio";
+$string['tv_resource_video'] = "Video";
+$string['tv_resource_file'] = "Fichier";
+$string['tv_resource_script'] = "Script/Code";
+$string['tv_resource_text'] = "Texte";
+$string['tv_resource_download'] = "Téléchargements";
+$string['tv_assign'] = "Tâche";
+$string['tv_assignment'] = "Tache";
+$string['tv_book'] = "Livre";
+$string['tv_choice'] = "Selection";
+$string['tv_feedback'] = "Retour";
+$string['tv_folder'] = "Dossier";
+$string['tv_forum'] = "Forum";
+$string['tv_glossary'] = "Glossaire";
+$string['tv_label'] = "Étiquette";
+$string['tv_lesson'] = "Leçon";
+$string['tv_page'] = "Page";
+$string['tv_quiz'] = "Quiz";
+$string['tv_survey'] = "Enquête";
+$string['tv_lti'] = "Outil externe";
+$string['tv_other'] = "Un autre";
+$string['tv_interaction'] = "Interaction par";
+$string['tv_interactions'] = "Interaction par";
+$string['tv_course_module'] = "Module";
+$string['tv_course_modules'] = "Module";
+$string['tv_student'] = "Étudiant";
+$string['tv_students'] = "Étudiants";
+$string['tv_average'] = "Interactions moyennes";
+$string['tv_change_timezone'] = "Fuseau horaire:";
+$string['tv_activity_inside_plataform_student'] = "Mon activité sur la plateforme";
+$string['tv_activity_inside_plataform_teacher'] = "Activité des élèves sur la plateforme";
+$string['tv_time_inside_plataform_student'] = "Mon temps sur la plateforme";
+$string['tv_time_inside_plataform_teacher'] = "Temps moyen passé par les étudiants sur la plateforme cette semaine";
+$string['tv_time_inside_plataform_description_teacher'] = "Le temps que l'étudiant a investi dans la semaine choisie, comparé au temps que l'enseignant a prévu d'investir. Le temps passé affiché correspond à la moyenne de tous les étudiants. Le temps prévu par l'enseignant est le temps attribué dans <i>Planification de la semaine</i> par l'enseignant.";
+$string['tv_time_inside_plataform_description_student'] = "Temps passé cette semaine par rapport au temps que l'enseignant avait prévu de passer.";
+$string['tv_activity_inside_plataform_description_teacher'] = "L'axe des Y indique les heures de la journée et l'axe des X les jours de la semaine. Dans le graphique, vous pouvez trouver plusieurs points qui, lorsque vous passez le curseur dessus, fournissent des informations détaillées sur les interactions des élèves, regroupées par type de ressource (nombre d'interactions, nombre d'élèves ayant interagi avec la ressource et nombre moyen d'interactions). <b>En cliquant sur les étiquettes, vous pouvez filtrer par type de ressources, en ne laissant visibles que celles qui ne sont pas barrées</b>";
+$string['tv_activity_inside_plataform_description_student'] = "Ce graphique montre les interactions par type de ressource et par temps. Lorsque vous déplacez votre curseur sur un point visible du graphique, vous verrez le nombre d'interactions regroupées par type de ressource. En cliquant sur les étiquettes, vous pouvez filtrer par type de ressource.";
+$string['tv_to'] = "dans le";
+$string['tv_time_spend'] = "Temps passé";
+$string['tv_time_spend_teacher'] = "Temps moyen passé";
+$string['tv_time_should_spend'] = "Le temps qu'il faut consacrer";
+$string['tv_time_should_spend_teacher'] = "Temps moyen que vous devriez passer'";
+
+/* activities_performed */
+$string['ap_title'] = "Activités réalisées";
+$string['ap_description_student'] = "Ce rapport présente les activités réalisées et en cours cette semaine. La barre de progression de la semaine correspond au pourcentage d'activités à réaliser cette semaine et prévues par l'enseignant. L'option Semaine vous permet de choisir et de visualiser le rapport correspondant à la semaine choisie. Les activités sont regroupées par type de ressources. Les activités marquées en vert sont celles qui ont été réalisées et celles marquées en rouge sont celles qui sont en cours. Pour qu'une activité soit considérée comme terminée, vous devez avoir interagi au moins une fois avec la ressource. <br/> <br/> En cliquant sur les étiquettes terminées ou en attente, vous pourrez filtrer les informations.";
+$string['ap_description_teacher'] = "Text en attente";
+$string['ap_axis_x'] = "Type de ressources";
+$string['ap_axis_y'] = "Montant des ressources";
+$string['ap_progress'] = "Progrès de la semaine";
+$string['ap_to'] = "dans la";
+$string['ap_week'] = "Semaine";
+$string['ap_activities'] = "Durée moyenne d'interaction pour resource";
+
+/* activities_performed teacher */
+$string['apt_title'] = "Activités de cours effectuées";
+$string['apt_description'] = "Ce rapport présente les activités disponibles du cours. L'option Semaine vous permet de choisir et de visualiser le rapport de cette semaine. En déplaçant le curseur sur l'une des barres, vous trouverez la moyenne des vues et des interactions. Si vous cliquez sur la barre, vous trouverez plus de détails (nom de l'élève, courriel, interactions, temps moyen de visualisation).";
+$string['apt_axis_x'] = "Interactions";
+$string['apt_axis_y'] = "Ressources";
+$string['apt_visualization_average'] = "Affichages moyens";
+$string['apt_interacctions_average'] = "Moyenne des interactions";
+$string['apt_thead_name'] = "Nom";
+$string['apt_thead_lastname'] = "Nom de famille";
+$string['apt_thead_email'] = "Email";
+$string['apt_thead_interactions'] = "Interactions";
+$string['apt_thead_visualization'] = "Durée moyenne d'interaction pour resource";
+
+/* Composante de la pagination */
+$string['pagination_component_to'] = "dans la";
+$string['pagination_component_name'] = "Semaine";
+
+/* Questions et réponses */
+$string['question_number_one'] = "En ce qui concerne les objectifs d'apprentissage des cours de la semaine dernière...";
+$string['answers_number_one_option_one'] = "J'ai une idée précise du ou des sujets et je sais comment l'appliquer";
+$string['answers_number_one_option_two'] = "J'ai une idée précise du ou des sujets et non de la façon de les appliquer.";
+$string['answers_number_one_option_three'] = "Je n'ai pas d'idée précise sur le(s) sujet(s).";
+$string['question_number_two'] = "En ce qui concerne l'avantage de participer aux cours en face à face de la semaine dernière...";
+$string['answers_number_two_option_one'] = "Rien d'utile";
+$string['answers_number_two_option_two'] = "Per utile";
+$string['answers_number_two_option_three'] = "Utile.";
+$string['answers_number_two_option_four'] = "Tres utile";
+$string['answers_number_two_option_five'] = "Vraiment utile";
+$string['answers_number_two_option_six'] = "Je ne suis pas allé en classe";
+
+/* Groupes */
+$string['group_allstudent'] = "Tous les étudiants";
+
+
+/* Admin Settings */
+$string['nmp_use_navbar_menu'] = 'Activer le nouveau menu';
+$string['nmp_use_navbar_menu_desc'] = 'Afficher le menu du plugin dans la barre de navigation supérieure, sinon il inclura le menu dans le bloc de navigation.';
diff --git a/notemyprogress/lang/es/local_notemyprogress.php b/notemyprogress/lang/es/local_notemyprogress.php
index c318cd2e741f5bfea87bc8525604f20a1d7e2073..f95e1d9fc908dee6e9c5d5016ad12896c24f6191 100644
--- a/notemyprogress/lang/es/local_notemyprogress.php
+++ b/notemyprogress/lang/es/local_notemyprogress.php
@@ -714,3 +714,356 @@ $string['fml_settings_bddport_default'] = '27017';
 $string['fml_settings_bddname_label'] = 'Nombre de la base de datos';
 $string['fml_settings_bddname_description'] = 'Este parámetro designa el nombre de la base de datos MongoDB en la que se guardará la información.';
 $string['fml_settings_bddname_default'] = 'Vacío';
+
+//Planning
+/* Global */
+$string['pagination'] = "Semaine:";
+$string['graph_generating'] = "Nous construisons le rapport, veuillez patienter un instant";
+$string['txt_hour'] = "Temps";
+$string['txt_hours'] = "Heures";
+$string['txt_minut'] = "Minutes";
+$string['txt_minuts'] = "Minutes";
+$string['pagination_week'] = "Semaine";
+$string['only_student'] = "This report is for students only";
+$string['sr_hour'] = "Heure";
+$string['sr_hours'] = "Heures";
+$string['sr_minute'] = "Minute";
+$string['sr_minutes'] = "Minutes";
+$string['sr_second'] = "Secondes";
+$string['sr_seconds'] = "Secondes";
+$string['weeks_not_config'] = "Le cours n'a pas été configuré par le professeur, vous ne pouvez donc pas utiliser l'outil de rapport";
+$string['pagination_title'] = "Sélection semaine’";
+$string['helplabel'] = "Aide";
+$string['exitbutton'] = "Compris!";
+$string['hours_unit_time_label'] = "Nombre d’heures";
+
+/* Menú */
+$string['sr_menu_main_title'] = "Rapports";
+$string['sr_menu_setweek'] = "Mettre en place des semaines";
+$string['sr_menu_logs'] = "Télécharger des enregistrements";
+$string['sr_menu_time_worked_session_report'] = "Sessions d'étude par semaine’";
+$string['sr_menu_time_visualization'] = "Temps passé (heures par semaine)";
+$string['sr_menu_activities_performed'] = "Activités réalisées";
+$string['sr_menu_notes'] = "Annotations";
+
+/* General Errors */
+$string['api_error_network'] = "Une erreur s'est produite dans la communication avec le serveur";
+$string['api_invalid_data'] = "Données incorrectes";
+$string['api_save_successful'] = "Les données ont été enregistrées avec succès sur le serveur";
+$string['api_cancel_action'] = "Vous avez annulé l’action";
+$string['pluginname'] = "Note My Progress";
+$string['previous_days_to_create_report'] = "Jours pris en compte pour la construction du rapport";
+$string['previous_days_to_create_report_description'] = "Jours avant la date actuelle qui sera prise en compte pour générer le rapport";
+$string['student_reports:usepluggin'] = "Utilisation du plug-in";
+$string['student_reports:downloadreport'] = "Télécharger l'activité de l'élève";
+$string['student_reports:setweeks'] = "Mettre en place des semaines";
+$string['student_reports:activities_performed'] = "Voir le rapport 'Activités réalisées";
+$string['student_reports:metareflexion'] = "Voir le rapport 'Méta-réflexion'";
+$string['student_reports:notes'] = "Utilisez les bloc-notes";
+
+/* Set weeks */
+$string['setweeks_title'] = "Mettre en place des semaines";
+$string['setweeks_description'] = "Pour commencer, vous devez organiser le cours par semaines et définir une date de début pour la première semaine (le reste des semaines se fera automatiquement à partir de cette date). Ensuite, vous devez associer les activités ou modules liés à chaque semaine en les faisant glisser de la colonne de droite à la semaine correspondante. Il n'est pas nécessaire d'attribuer toutes les activités ou modules aux semaines, mais seulement ceux que vous voulez prendre en compte pour le suivi des étudiants. Enfin, vous devez cliquer sur le bouton 'Enregistrer' pour conserver vos paramètres.";
+$string['setweeks_sections'] = "Sections disponibles dans le cours";
+$string['setweeks_weeks_of_course'] = "Planification des semaines";
+$string['setweeks_add_new_week'] = "Ajouter une semaine";
+$string['setweeks_start'] = "Date de début :";
+$string['setweeks_end'] = "Date de finalisation :";
+$string['setweeks_week'] = "Semaine";
+$string['setweeks_save'] = "Sauvegarder";
+$string['setweeks_time_dedication'] = "Combien d'heures de travail pensez-vous que les étudiants consacreront à leur cours cette semaine ?";
+$string['setweeks_enable_scroll'] = "Activer le mode de défilement pour les semaines et les thèmes";
+$string['setweeks_label_section_removed'] = "Effacer le cours";
+$string['setweeks_error_section_removed'] = " Une section assignée à une semaine a été supprimée du cours, vous devez la supprimer de votre emploi du temps pour pouvoir continuer";
+$string['setweeks_save_warning_title'] = "Êtes-vous sûr de vouloir sauvegarder les changements";
+$string['setweeks_save_warning_content'] = "Si vous modifiez la configuration des semaines alors que le cours a déjà commencé, il est possible que des données soient perdues...";
+$string['setweeks_confirm_ok'] = "Sauvegarder";
+$string['setweeks_confirm_cancel'] = "Annuler";
+$string['setweeks_error_empty_week'] = "Impossible de sauvegarder les changements avec une semaine vide. Veuillez l'effacer et réessayer.";
+$string['setweeks_new_group_title'] = "Nouvelle instance de configuration";
+$string['setweeks_new_group_text'] = "Nous avons détecté que votre cours est terminé, si vous souhaitez configurer les semaines pour travailler avec de nouveaux étudiants, vous devez activer le bouton ci-dessous. Cela vous permettra de séparer les données des étudiants actuels de celles des cours précédents, en évitant de les mélanger";
+$string['setweeks_new_group_button_label'] = "Enregistrer configuration comme nouvelle instance";
+$string['course_format_weeks'] = "Semaine";
+$string['course_format_topics'] = "Sujet";
+$string['course_format_social'] = "Social";
+$string['course_format_singleactivity'] = "Activité unique";
+$string['plugin_requirements_title'] = "Situation:";
+$string['plugin_requirements_descriptions'] = "Le plugin sera visible et affichera les rapports pour les étudiants et les enseignants lorsque les conditions suivantes sont remplies...";
+$string['plugin_requirements_has_users'] = "Le cours doit avoir au moins un étudiant inscrit";
+$string['plugin_requirements_course_start'] = "La date actuelle doit être supérieure à la date de début de la première semaine configurée";
+$string['plugin_requirements_a_sections'] = "Les semaines configurées ont au moins une section.";
+$string['plugin_visible'] = "Rapports visibles";
+$string['plugin_hidden'] = "Rapports cachés";
+$string['title_conditions'] = "Conditions d'utilisation";
+
+/* Logs */
+$string['logs_title'] = "Télécharger le fichier du logs (les actions effectuées par les étudiants sur Moodle) de l'étudiant";
+$string['logs_description'] = "Pour télécharger le fichier du logs (les actions effectuées par les étudiants sur Moodle), vous devez cliquer sur le bouton 'Générer du logs'. Plus tard, un lien sera activé qui permettra le téléchargement du fichier.";
+$string['logs_btn_download'] = "Générer fichier du logs";
+$string['logs_label_creating'] = "Le fichier du logs étant généré, cela peut prendre plusieurs minutes. S'il vous plaît, attendez...";
+$string['logs_generation_finished'] = "Le fichier du logs a été généré avec success.";
+$string['logs_download_link'] = "Télécharger le fichier du logs";
+$string['logs_th_title_column'] = "Colonne";
+$string['logs_th_title_description'] = "Description";
+$string['logs_tb_title_logid'] = "Identifiant d'enregistrement";
+$string['logs_tb_title_userid'] = "Identifiant d'utilisateur";
+$string['logs_tb_title_username'] = "Nom d'utilisateur";
+$string['logs_tb_title_names'] = "Nom";
+$string['logs_tb_title_lastnames'] = "Nom de famille";
+$string['logs_tb_title_email'] = "E-mail";
+$string['logs_tb_title_roles'] = "Rôles";
+$string['logs_tb_title_courseid'] = "Identifiant du course";
+$string['logs_tb_title_component'] = "Composant";
+$string['logs_tb_title_action'] = "Acction";
+$string['logs_tb_title_timecreated'] = "Date (Timestamp)";
+$string['logs_tb_description_logid'] = "Numéro du fichier logs enregistré";
+$string['logs_tb_description_userid'] = "Id de la personne qui a généré le fichier du logs";
+$string['logs_tb_description_username'] = "Utilisateur enregistré dans la plate-forme de la personne qui a généré le fichier du logs";
+$string['logs_tb_description_names'] = "Noms des participants au cours";
+$string['logs_tb_description_lastnames'] = "Noms de famille des participants au cours";
+$string['logs_tb_description_email'] = "Email des participants au cours";
+$string['logs_tb_description_roles'] = "Rôle dans la plateforme de la personne qui a généré le fichier du logs";
+$string['logs_tb_description_courseid'] = "Parcours à partir duquel le fichier de logs a été généré";
+$string['logs_tb_description_component'] = "Composant de cours interactif";
+$string['logs_tb_description_action'] = "Action qui a déclenché la création du fichier du journal";
+$string['logs_tb_description_timecreated'] = "Date au format timestamp dans laquelle le fichier du logs a été généré";
+
+/*new string*/
+$string['studentreports'] = "Rapports des étudiants";
+
+/*Menu*/
+$string['binnacle'] = "Blog";
+$string['report1'] = "Rapport 1";
+$string['report2'] = "Rapport 2";
+$string['report3'] = "Rapport 3";
+$string['report4'] = "Rapport 4";
+$string['report5'] = "Rapport 5";
+$string['set_weeks_title'] = "Configuration des semaines de cours";
+$string['set_weeks'] = "Configuration des semaines de cours";
+
+/*Notes*/
+$string['notes_btn_delete'] = "Supprimer";
+$string['notes_btn_new'] = "Écarter les changements";
+$string['notes_btn_notes'] = "Sauvegarder";
+$string['notes_btn_update'] = "Editor";
+$string['notes_notes'] = "Annotations";
+$string['notes_string_new'] = "Nouveau";
+$string['notes_string_update'] = "Mise à jour";
+$string['notes_title_notes'] = "Annotations";
+$string['notes_placeholder_title'] = "Title";
+$string['notes_placeholder_search'] = "Recherche.";
+$string['notes_placeholder_note'] = "Rédiger une note";
+$string['notes_save_success'] = "Sauvegarder la note";
+$string['notes_created'] = "Créé à la date..";
+$string['notes_not_found'] = "Aucune note trouvée";
+$string['notes_description'] = "Rédigez et conservez les notes que vous jugez pertinentes pour ce cours. Vous pourrez voir toutes les notes que vous avez écrites pour ce cours, comme rappels, points forts ou autres. Utilisez le moteur de recherche pour trouver une note particulière parmi celles générées à partir d'un mot-clé ou d'une phrase";
+$string['notes_message_created'] = "La note a été créée";
+$string['notes_message_non_créé'] = "Note n'a pas pu être créée";
+$string['notes_message_deleted'] = "La note a été supprimée";
+$string['notes_message_not_deleted'] = "Note n'a pas pu être supprimée";
+$string['notes_message_updated'] = "La note a été mise à jour";
+$string['notes_message_not_updated'] = "Note n'a pas pu être mise à jour'";
+
+/*Metareflexion*/
+$string['compare_with_course'] = "Comparer mes résultats avec ceux de mes collègues";
+$string['sr_menu_metareflexion'] = "Méta-réflexion";
+$string['metareflexion_last_week_created'] = "Les réflexions de la semaine dernière ont été sauvegardées";
+$string['metareflexion_last_week_update'] = "Mise à jour des réflexions de la semaine dernière";
+$string['metareflexion_update_planification_success'] = "Engagement actualisé";
+$string['metareflexion_save_planification_success'] = "Engagement enregistré";
+$string['metareflexion_tab_reflexion'] = "Statistiques sur l'efficacité";
+$string['metareflexion_tab_reflexion_title'] = "Liste des ressources de cette semaine";
+$string['metareflexion_tab_planification'] = "Planification de la semaine";
+$string['metareflexion_tab_lastweek'] = "Réflexions de la semaine dernière";
+$string['metareflexion_tab_graphic_lastweek'] = "Réflexions";
+$string['metareflexion_effectiveness_title'] = "Statistiques sur l'efficacité";
+$string['metareflexion_graphic_legend_planned'] = "Planifié";
+$string['metareflexion_graphic_legend_unplanned'] = "Non planifié";
+$string['effectiveness_graphic_legend_pending'] = "Planifié / À planifier";
+$string['effectiveness_graphic_legend_completed'] = "Planifié / Réalisé";
+$string['effectiveness_graphic_legend_failed'] = "Planifié / Non réalisé";
+$string['metareflexion_cw_card_title'] = "Planification de la semaine";
+$string['metareflexion_cw_description_student'] = "Dans cette section, vous pouvez planifier les horaires et les jours de travail du cours pour cette semaine. Ces informations seront utilisées pour calculer votre efficacité à travailler sur le cours, que vous pouvez consulter dans la section Efficacité.";
+$string['metareflexion_cw_card_daysdedicate'] = "Jours que je consacrerai au cours :";
+$string['metareflexion_cw_card_hoursdedicate'] = "Heures que je consacrerai au cours :";
+$string['metareflexion_cw_card_msg'] = "Vous n'avez pas encore planifié le temps de travail que vous souhaitez consacrer à cette ressource";
+$string['metareflexion_cw_card_btn_plan'] = "Planification de la semaine";
+$string['metareflexion_cw_table_title'] = "Ressources de la semaine";
+$string['metareflexion_cw_table_thead_activity'] = "Activité";
+$string['metareflexion_cw_table_thead_type'] = "Type de ressource";
+$string['metareflexion_cw_table_thead_days_committed'] = "Journées consacrées";
+$string['metareflexion_cw_table_thead_hours_committed'] = "Heures consacrées";
+$string['metareflexion_cw_table_thead_plan'] = "Plan";
+$string['metareflexion_cw_dialog_daysdedicate'] = "Combien d'heures de cours en face à face avez-vous consacrées à ce cours cette semaine ?";
+$string['metareflexion_cw_dialog_hoursdedicate'] = "Combien d'heures de travail avez-vous consacrées au cours en dehors des cours en face à face cette semaine ?";
+$string['metareflexion_cw_dialog_btn_cancel'] = "Annuler";
+$string['metareflexion_cw_dialog_btn_accept'] = "Sauvegarder le plan";
+$string['metareflexion_pw_title'] = "Réflexions de la semaine dernière";
+$string['metareflexion_pw_description_student'] = "Dans cette section, vous pourrez indiquer combien d'heures de cours en face à face vous avez consacrées au cours et combien vous en avez pris en dehors des heures de cours. En outre, vous pourrez indiquer si les objectifs d'apprentissage de la semaine dernière ont été atteints et donner votre avis sur les avantages d'avoir suivi des cours. Ces informations seront fournies à l'enseignant de manière anonyme afin d'améliorer le cours";
+$string['metareflexion_pw_classroom_hours'] = "Combien d'heures de cours en face à face avez-vous consacrées à ce cours cette semaine ?";
+$string['metareflexion_pw_hours_off_course'] = "Combien d'heures de travail avez-vous consacrées au cours en dehors des cours en face à face cette semaine ?";
+$string['metareflexion_pw_btn_save'] = "Sauvegarder";
+$string['metareflexion_report_title'] = "Graphique lié au formulaire d'engagement de Planification/Méta-réflexion";
+$string['metareflexion_report_description_days_teacher'] = "Dans ce graphique, vous trouverez la planification des jours que les étudiants se sont engagés à travailler (première barre) par rapport aux jours réellement travaillés (deuxième barre). Si la première barre n'est pas visible, cela signifie que vos étudiants n'ont pas planifié de jours de travail pour cette semaine ; ils ont planifié des jours de travail. Si la deuxième barre n'est pas visible, cela signifie que les étudiants n'ont pas fait le travail qu'ils s'étaient engagés à faire le jour prévu.";
+$string['metareflexion_report_description_days_student'] = "Dans ce tableau, vous trouverez le temps que vos élèves ont prévu de passer par rapport au temps qu'ils ont effectivement passé. Si le délai prévu est respecté, la semaine sera marquée d'une icône verte. Dans le cas où le travail prévu n'est pas réalisé, une icône rouge apparaîtra.<br> Notez qu'il est considéré comme une journée de travail si l'étudiant a fait une interaction avec les ressources de cette semaine. Le temps prévu est obtenu à partir de la méta-réflexion hebdomadaire de l'étudiant dans le Planification de la semaine<br> .";
+$string['metareflexion_report_subtitle_days_student'] = "Mes engagements prévus pour cette semaine";
+$string['metareflexion_report_subtitle_days_teacher'] = "Pourcentage d'élèves qui ont respecté leur plan ce jour-là";
+$string['metareflexion_report_subtitle_hours_student'] = "Mon efficacité dans la semaine";
+$string['metareflexion_report_subtitle_hours_teacher'] = "Efficacité moyenne de la semaine";
+$string['metareflexion_report_descrition_hours_teacher'] = "Ce graphique montre les heures que les étudiants ont prévu de travailler pendant cette semaine par rapport aux heures effectivement travaillées. <br> Notez qu'il est considéré comme un jour ouvré si l'étudiant a fait une interaction avec les ressources de cette semaine. Le temps prévu est obtenu à partir de la Méta-réflexion de l'étudiant dans son Planification de la semaine.<br>";
+$string['metareflexion_report_descrition_hours_student'] = "Ce graphique montre les heures que l'étudiant a prévu de travailler pendant cette semaine par rapport aux heures effectivement travaillées. Le temps prévu est obtenu à partir de la méta-réflexion hebdomadaire que vous avez faite dans la section 'Planification de la semaine'.";
+$string['metareflexion_cw_day_lun'] = "Lundi";
+$string['metareflexion_cw_day_mar'] = "Mardi";
+$string['metareflexion_cw_day_mie'] = "Mercredi";
+$string['metareflexion_cw_day_jue'] = "Jeudi";
+$string['metareflexion_cw_day_vie'] = "Vendredi";
+$string['metareflexion_cw_day_sab'] = "Samedi";
+$string['metareflexion_cw_day_dom'] = "Dimanche";
+$string['metareflexion_myself'] = "Mon";
+$string['metareflexion_inverted_time'] = "Temps investi";
+$string['metareflexion_inverted_time_course'] = "Temps moyen investi (cours)";
+$string['metareflexion_planified_time'] = "Temps planifié";
+$string['metareflexion_planified_time_course'] = "Temps moyen prévu (cours)";
+$string['metareflexion_belonging'] = "Appartenance à";
+$string['metareflexion_student'] = "Etudiants";
+$string['metareflexion_interaction_user'] = "Utilisateurs qui ont interagi avec cette ressource";
+$string['metareflexion_hover_title_teacher'] = "Efficacité des étudiants (moyenne)";
+$string['metareflexion_hover_title_student'] = "Efficacité par semaine";
+$string['metareflexion_planning_week'] = "Il/Elle eat en train de planificar";
+$string['metareflexion_planning_week_start'] = ", Date de début";
+$string['metareflexion_planning_week_end'] = "et Date de réalisation";
+$string['metareflexion_report_pw_avegare_hour_clases'] = "Nombre moyen d'heures passées en cours en face à face";
+$string['metareflexion_report_pw_avegare_hour_outside_clases'] = "Moyenne des heures passées en dehors des cours";
+$string['metareflexion_report_pw_summary_card'] = "Durée moyenne du cours";
+$string['metareflexion_report_pw_learning_objetives'] = "Concernant aux objectifs d'apprentissage";
+$string['metareflexion_report_pw_attending_classes'] = "Concernant l'avantage de suivre des cours ";
+$string['metareflexion_report_pw_text_graphic_no_data'] = "Pas de données pour cette semaine";
+$string['metareflexion_report_pw_description_teacher'] = "Dans ces graphiques, vous pouvez voir les informations obtenues des étudiants concernant leurs impressions sur les cours de la semaine précédente.";
+$string['metareflexion_weekly_planning_subtitle'] = "Voir les résultats de votre planification hebdomadaire sous l'onglet 'Efficacité par semaine'.";
+$string['metareflexion_saved_form'] = "Vous avez déjà rempli le formulaire sur Méta-réflexion cette semaine";
+$string['metareflexion_efficiency_title'] = "Votre efficacité";
+$string['metareflexion_goals_title'] = "Mes objectifs";
+/* Reports */
+$string['student_reports:view_report_as_teacher'] = "Voir le rapport en tant qu'enseignant";
+$string['student_reports:view_report_as_student'] = "Voir le rapport en tant qu'étudiant";
+$string['student_reports:time_visualizations'] = "Travail sur la plate-forme";
+$string['student_reports:time_worked_session_report'] = "Rapport sur le 'Travail sur la plate-forme'";
+$string['student_reports:write'] = "Sauvegarder les modifications apportées aux rapports";
+
+/* time_worked_session_report */
+$string['twsr_title'] = "Sessions d'étude par semaine";
+$string['twsr_description_student'] = "Une session correspond au temps consacré à l'interaction au sein de la plate-forme et au temps moyen des sessions respectives. Vous trouverez ci-dessous la liste des semaines avec le nombre total de sessions. En déplaçant le curseur sur le graphique, vous pouvez trouver des informations détaillées sur le groupe d'étudiants dans le cours.";
+$string['twsr_description_teacher'] = "Une session correspond au temps pendant lequel les étudiants ont interagi avec le matériel de cours de Moodle. Dans ce rapport, vous trouverez la liste des semaines avec le nombre total de sessions effectuées par les étudiants du cours. En plaçant votre curseur sur l'une des barres, vous pouvez voir le nombre total de sessions, la durée moyenne des sessions et le nombre d'étudiants différents qui ont participé à chaque session.";
+$string['twsr_axis_x'] = "Nombre de sessions";
+$string['twsr_axis_y'] = "Semaines de cours";
+$string['twsr_student'] = "Étudiant";
+$string['twsr_students'] = "Étudiants";
+$string['twsr_sessions_by'] = "Les sessions appartenant à";
+$string['twsr_sessions_middle_time'] = "Duré moyenne des sessions";
+$string['twsr_total_sessions'] = "Total des sessions";
+
+/* time_visualizations */
+$string['tv_title'] = "Temps passé (par heure)";
+$string['tv_lunes'] = "Lundi";
+$string['tv_martes'] = "Mardi";
+$string['tv_miercoles'] = "Mercredi";
+$string['tv_jueves'] = "Jeudi";
+$string['tv_viernes'] = "Vendredi";
+$string['tv_sabado'] = "Samedi";
+$string['tv_domingo'] = "Dimange";
+$string['tv_axis_x'] = "Jours de la semaine";
+$string['tv_axis_y'] = "Heures de la journée";
+$string['tv_url'] = "URL";
+$string['tv_resource_document'] = "Document";
+$string['tv_resource_image'] = "Image";
+$string['tv_resource_audio'] = "Audio";
+$string['tv_resource_video'] = "Video";
+$string['tv_resource_file'] = "Fichier";
+$string['tv_resource_script'] = "Script/Code";
+$string['tv_resource_text'] = "Texte";
+$string['tv_resource_download'] = "Téléchargements";
+$string['tv_assign'] = "Tâche";
+$string['tv_assignment'] = "Tache";
+$string['tv_book'] = "Livre";
+$string['tv_choice'] = "Selection";
+$string['tv_feedback'] = "Retour";
+$string['tv_folder'] = "Dossier";
+$string['tv_forum'] = "Forum";
+$string['tv_glossary'] = "Glossaire";
+$string['tv_label'] = "Étiquette";
+$string['tv_lesson'] = "Leçon";
+$string['tv_page'] = "Page";
+$string['tv_quiz'] = "Quiz";
+$string['tv_survey'] = "Enquête";
+$string['tv_lti'] = "Outil externe";
+$string['tv_other'] = "Un autre";
+$string['tv_interaction'] = "Interaction par";
+$string['tv_interactions'] = "Interaction par";
+$string['tv_course_module'] = "Module";
+$string['tv_course_modules'] = "Module";
+$string['tv_student'] = "Étudiant";
+$string['tv_students'] = "Étudiants";
+$string['tv_average'] = "Interactions moyennes";
+$string['tv_change_timezone'] = "Fuseau horaire:";
+$string['tv_activity_inside_plataform_student'] = "Mon activité sur la plateforme";
+$string['tv_activity_inside_plataform_teacher'] = "Activité des élèves sur la plateforme";
+$string['tv_time_inside_plataform_student'] = "Mon temps sur la plateforme";
+$string['tv_time_inside_plataform_teacher'] = "Temps moyen passé par les étudiants sur la plateforme cette semaine";
+$string['tv_time_inside_plataform_description_teacher'] = "Le temps que l'étudiant a investi dans la semaine choisie, comparé au temps que l'enseignant a prévu d'investir. Le temps passé affiché correspond à la moyenne de tous les étudiants. Le temps prévu par l'enseignant est le temps attribué dans <i>Planification de la semaine</i> par l'enseignant.";
+$string['tv_time_inside_plataform_description_student'] = "Temps passé cette semaine par rapport au temps que l'enseignant avait prévu de passer.";
+$string['tv_activity_inside_plataform_description_teacher'] = "L'axe des Y indique les heures de la journée et l'axe des X les jours de la semaine. Dans le graphique, vous pouvez trouver plusieurs points qui, lorsque vous passez le curseur dessus, fournissent des informations détaillées sur les interactions des élèves, regroupées par type de ressource (nombre d'interactions, nombre d'élèves ayant interagi avec la ressource et nombre moyen d'interactions). <b>En cliquant sur les étiquettes, vous pouvez filtrer par type de ressources, en ne laissant visibles que celles qui ne sont pas barrées</b>";
+$string['tv_activity_inside_plataform_description_student'] = "Ce graphique montre les interactions par type de ressource et par temps. Lorsque vous déplacez votre curseur sur un point visible du graphique, vous verrez le nombre d'interactions regroupées par type de ressource. En cliquant sur les étiquettes, vous pouvez filtrer par type de ressource.";
+$string['tv_to'] = "dans le";
+$string['tv_time_spend'] = "Temps passé";
+$string['tv_time_spend_teacher'] = "Temps moyen passé";
+$string['tv_time_should_spend'] = "Le temps qu'il faut consacrer";
+$string['tv_time_should_spend_teacher'] = "Temps moyen que vous devriez passer'";
+
+/* activities_performed */
+$string['ap_title'] = "Activités réalisées";
+$string['ap_description_student'] = "Ce rapport présente les activités réalisées et en cours cette semaine. La barre de progression de la semaine correspond au pourcentage d'activités à réaliser cette semaine et prévues par l'enseignant. L'option Semaine vous permet de choisir et de visualiser le rapport correspondant à la semaine choisie. Les activités sont regroupées par type de ressources. Les activités marquées en vert sont celles qui ont été réalisées et celles marquées en rouge sont celles qui sont en cours. Pour qu'une activité soit considérée comme terminée, vous devez avoir interagi au moins une fois avec la ressource. <br/> <br/> En cliquant sur les étiquettes terminées ou en attente, vous pourrez filtrer les informations.";
+$string['ap_description_teacher'] = "Text en attente";
+$string['ap_axis_x'] = "Type de ressources";
+$string['ap_axis_y'] = "Montant des ressources";
+$string['ap_progress'] = "Progrès de la semaine";
+$string['ap_to'] = "dans la";
+$string['ap_week'] = "Semaine";
+$string['ap_activities'] = "Durée moyenne d'interaction pour resource";
+
+/* activities_performed teacher */
+$string['apt_title'] = "Activités de cours effectuées";
+$string['apt_description'] = "Ce rapport présente les activités disponibles du cours. L'option Semaine vous permet de choisir et de visualiser le rapport de cette semaine. En déplaçant le curseur sur l'une des barres, vous trouverez la moyenne des vues et des interactions. Si vous cliquez sur la barre, vous trouverez plus de détails (nom de l'élève, courriel, interactions, temps moyen de visualisation).";
+$string['apt_axis_x'] = "Interactions";
+$string['apt_axis_y'] = "Ressources";
+$string['apt_visualization_average'] = "Affichages moyens";
+$string['apt_interacctions_average'] = "Moyenne des interactions";
+$string['apt_thead_name'] = "Nom";
+$string['apt_thead_lastname'] = "Nom de famille";
+$string['apt_thead_email'] = "Email";
+$string['apt_thead_interactions'] = "Interactions";
+$string['apt_thead_visualization'] = "Durée moyenne d'interaction pour resource";
+
+/* Composante de la pagination */
+$string['pagination_component_to'] = "dans la";
+$string['pagination_component_name'] = "Semaine";
+
+/* Questions et réponses */
+$string['question_number_one'] = "En ce qui concerne les objectifs d'apprentissage des cours de la semaine dernière...";
+$string['answers_number_one_option_one'] = "J'ai une idée précise du ou des sujets et je sais comment l'appliquer";
+$string['answers_number_one_option_two'] = "J'ai une idée précise du ou des sujets et non de la façon de les appliquer.";
+$string['answers_number_one_option_three'] = "Je n'ai pas d'idée précise sur le(s) sujet(s).";
+$string['question_number_two'] = "En ce qui concerne l'avantage de participer aux cours en face à face de la semaine dernière...";
+$string['answers_number_two_option_one'] = "Rien d'utile";
+$string['answers_number_two_option_two'] = "Per utile";
+$string['answers_number_two_option_three'] = "Utile.";
+$string['answers_number_two_option_four'] = "Tres utile";
+$string['answers_number_two_option_five'] = "Vraiment utile";
+$string['answers_number_two_option_six'] = "Je ne suis pas allé en classe";
+
+/* Groupes */
+$string['group_allstudent'] = "Tous les étudiants";
+
+
+/* Admin Settings */
+$string['nmp_use_navbar_menu'] = 'Activer le nouveau menu';
+$string['nmp_use_navbar_menu_desc'] = 'Afficher le menu du plugin dans la barre de navigation supérieure, sinon il inclura le menu dans le bloc de navigation.';
diff --git a/notemyprogress/lang/fr/local_notemyprogress.php b/notemyprogress/lang/fr/local_notemyprogress.php
index 5eb0b48c8ce8fdae03425b3cc4f5070c02a3275e..e85240c567476549a7ae1f2c78a4f48d60aae166 100644
--- a/notemyprogress/lang/fr/local_notemyprogress.php
+++ b/notemyprogress/lang/fr/local_notemyprogress.php
@@ -15,15 +15,15 @@
 // avec Moodle. Sinon, consultez <http://www.gnu.org/licenses/>.
 
 /**
-* Les chaînes de plugins sont définies ici.
-*
-* @package local_notemyprogress
-* @category string
-* @copyright 2020 Edisson Sigma <edissonf.sigua@gmail.com>, Bryan Aguilar <bryan.aguilar6174@gmail.com>
-* @license http://www.gnu.org/copyleft /gpl.html GNU GPL v3 ou version ultérieure
-*/
+ * Les chaînes de plugins sont définies ici.
+ *
+ * @package local_notemyprogress
+ * @category string
+ * @copyright 2020 Edisson Sigma <edissonf.sigua@gmail.com>, Bryan Aguilar <bryan.aguilar6174@gmail.com>
+ * @license http://www.gnu.org/copyleft /gpl.html GNU GPL v3 ou version ultérieure
+ */
 
-defined ('MOODLE_INTERNAL') || die();
+defined('MOODLE_INTERNAL') || die();
 
 $string['pluginname'] = 'notemyprogress';
 
@@ -720,5 +720,355 @@ $string['fml_settings_bddname_label'] = 'Nom de la base de données';
 $string['fml_settings_bddname_description'] = 'Ce paramètre désigne le nom de la base de données MongoDB dans laquelle vont être enregistrées les informations.';
 $string['fml_settings_bddname_default'] = 'Vide';
 
-
-
+//Planning
+/* Global */
+$string['pagination'] = "Semaine:";
+$string['graph_generating'] = "Nous construisons le rapport, veuillez patienter un instant";
+$string['txt_hour'] = "Temps";
+$string['txt_hours'] = "Heures";
+$string['txt_minut'] = "Minutes";
+$string['txt_minuts'] = "Minutes";
+$string['pagination_week'] = "Semaine";
+$string['only_student'] = "This report is for students only";
+$string['sr_hour'] = "Heure";
+$string['sr_hours'] = "Heures";
+$string['sr_minute'] = "Minute";
+$string['sr_minutes'] = "Minutes";
+$string['sr_second'] = "Secondes";
+$string['sr_seconds'] = "Secondes";
+$string['weeks_not_config'] = "Le cours n'a pas été configuré par le professeur, vous ne pouvez donc pas utiliser l'outil de rapport";
+$string['pagination_title'] = "Sélection semaine’";
+$string['helplabel'] = "Aide";
+$string['exitbutton'] = "Compris!";
+$string['hours_unit_time_label'] = "Nombre d’heures";
+
+/* Menú */
+$string['sr_menu_main_title'] = "Rapports";
+$string['sr_menu_setweek'] = "Mettre en place des semaines";
+$string['sr_menu_logs'] = "Télécharger des enregistrements";
+$string['sr_menu_time_worked_session_report'] = "Sessions d'étude par semaine’";
+$string['sr_menu_time_visualization'] = "Temps passé (heures par semaine)";
+$string['sr_menu_activities_performed'] = "Activités réalisées";
+$string['sr_menu_notes'] = "Annotations";
+
+/* General Errors */
+$string['api_error_network'] = "Une erreur s'est produite dans la communication avec le serveur";
+$string['api_invalid_data'] = "Données incorrectes";
+$string['api_save_successful'] = "Les données ont été enregistrées avec succès sur le serveur";
+$string['api_cancel_action'] = "Vous avez annulé l’action";
+$string['pluginname'] = "Note My Progress";
+$string['previous_days_to_create_report'] = "Jours pris en compte pour la construction du rapport";
+$string['previous_days_to_create_report_description'] = "Jours avant la date actuelle qui sera prise en compte pour générer le rapport";
+$string['student_reports:usepluggin'] = "Utilisation du plug-in";
+$string['student_reports:downloadreport'] = "Télécharger l'activité de l'élève";
+$string['student_reports:setweeks'] = "Mettre en place des semaines";
+$string['student_reports:activities_performed'] = "Voir le rapport 'Activités réalisées";
+$string['student_reports:metareflexion'] = "Voir le rapport 'Méta-réflexion'";
+$string['student_reports:notes'] = "Utilisez les bloc-notes";
+
+/* Set weeks */
+$string['setweeks_title'] = "Mettre en place des semaines";
+$string['setweeks_description'] = "Pour commencer, vous devez organiser le cours par semaines et définir une date de début pour la première semaine (le reste des semaines se fera automatiquement à partir de cette date). Ensuite, vous devez associer les activités ou modules liés à chaque semaine en les faisant glisser de la colonne de droite à la semaine correspondante. Il n'est pas nécessaire d'attribuer toutes les activités ou modules aux semaines, mais seulement ceux que vous voulez prendre en compte pour le suivi des étudiants. Enfin, vous devez cliquer sur le bouton 'Enregistrer' pour conserver vos paramètres.";
+$string['setweeks_sections'] = "Sections disponibles dans le cours";
+$string['setweeks_weeks_of_course'] = "Planification des semaines";
+$string['setweeks_add_new_week'] = "Ajouter une semaine";
+$string['setweeks_start'] = "Date de début :";
+$string['setweeks_end'] = "Date de finalisation :";
+$string['setweeks_week'] = "Semaine";
+$string['setweeks_save'] = "Sauvegarder";
+$string['setweeks_time_dedication'] = "Combien d'heures de travail pensez-vous que les étudiants consacreront à leur cours cette semaine ?";
+$string['setweeks_enable_scroll'] = "Activer le mode de défilement pour les semaines et les thèmes";
+$string['setweeks_label_section_removed'] = "Effacer le cours";
+$string['setweeks_error_section_removed'] = " Une section assignée à une semaine a été supprimée du cours, vous devez la supprimer de votre emploi du temps pour pouvoir continuer";
+$string['setweeks_save_warning_title'] = "Êtes-vous sûr de vouloir sauvegarder les changements";
+$string['setweeks_save_warning_content'] = "Si vous modifiez la configuration des semaines alors que le cours a déjà commencé, il est possible que des données soient perdues...";
+$string['setweeks_confirm_ok'] = "Sauvegarder";
+$string['setweeks_confirm_cancel'] = "Annuler";
+$string['setweeks_error_empty_week'] = "Impossible de sauvegarder les changements avec une semaine vide. Veuillez l'effacer et réessayer.";
+$string['setweeks_new_group_title'] = "Nouvelle instance de configuration";
+$string['setweeks_new_group_text'] = "Nous avons détecté que votre cours est terminé, si vous souhaitez configurer les semaines pour travailler avec de nouveaux étudiants, vous devez activer le bouton ci-dessous. Cela vous permettra de séparer les données des étudiants actuels de celles des cours précédents, en évitant de les mélanger";
+$string['setweeks_new_group_button_label'] = "Enregistrer configuration comme nouvelle instance";
+$string['course_format_weeks'] = "Semaine";
+$string['course_format_topics'] = "Sujet";
+$string['course_format_social'] = "Social";
+$string['course_format_singleactivity'] = "Activité unique";
+$string['plugin_requirements_title'] = "Situation:";
+$string['plugin_requirements_descriptions'] = "Le plugin sera visible et affichera les rapports pour les étudiants et les enseignants lorsque les conditions suivantes sont remplies...";
+$string['plugin_requirements_has_users'] = "Le cours doit avoir au moins un étudiant inscrit";
+$string['plugin_requirements_course_start'] = "La date actuelle doit être supérieure à la date de début de la première semaine configurée";
+$string['plugin_requirements_a_sections'] = "Les semaines configurées ont au moins une section.";
+$string['plugin_visible'] = "Rapports visibles";
+$string['plugin_hidden'] = "Rapports cachés";
+$string['title_conditions'] = "Conditions d'utilisation";
+
+/* Logs */
+$string['logs_title'] = "Télécharger le fichier du logs (les actions effectuées par les étudiants sur Moodle) de l'étudiant";
+$string['logs_description'] = "Pour télécharger le fichier du logs (les actions effectuées par les étudiants sur Moodle), vous devez cliquer sur le bouton 'Générer du logs'. Plus tard, un lien sera activé qui permettra le téléchargement du fichier.";
+$string['logs_btn_download'] = "Générer fichier du logs";
+$string['logs_label_creating'] = "Le fichier du logs étant généré, cela peut prendre plusieurs minutes. S'il vous plaît, attendez...";
+$string['logs_generation_finished'] = "Le fichier du logs a été généré avec success.";
+$string['logs_download_link'] = "Télécharger le fichier du logs";
+$string['logs_th_title_column'] = "Colonne";
+$string['logs_th_title_description'] = "Description";
+$string['logs_tb_title_logid'] = "Identifiant d'enregistrement";
+$string['logs_tb_title_userid'] = "Identifiant d'utilisateur";
+$string['logs_tb_title_username'] = "Nom d'utilisateur";
+$string['logs_tb_title_names'] = "Nom";
+$string['logs_tb_title_lastnames'] = "Nom de famille";
+$string['logs_tb_title_email'] = "E-mail";
+$string['logs_tb_title_roles'] = "Rôles";
+$string['logs_tb_title_courseid'] = "Identifiant du course";
+$string['logs_tb_title_component'] = "Composant";
+$string['logs_tb_title_action'] = "Acction";
+$string['logs_tb_title_timecreated'] = "Date (Timestamp)";
+$string['logs_tb_description_logid'] = "Numéro du fichier logs enregistré";
+$string['logs_tb_description_userid'] = "Id de la personne qui a généré le fichier du logs";
+$string['logs_tb_description_username'] = "Utilisateur enregistré dans la plate-forme de la personne qui a généré le fichier du logs";
+$string['logs_tb_description_names'] = "Noms des participants au cours";
+$string['logs_tb_description_lastnames'] = "Noms de famille des participants au cours";
+$string['logs_tb_description_email'] = "Email des participants au cours";
+$string['logs_tb_description_roles'] = "Rôle dans la plateforme de la personne qui a généré le fichier du logs";
+$string['logs_tb_description_courseid'] = "Parcours à partir duquel le fichier de logs a été généré";
+$string['logs_tb_description_component'] = "Composant de cours interactif";
+$string['logs_tb_description_action'] = "Action qui a déclenché la création du fichier du journal";
+$string['logs_tb_description_timecreated'] = "Date au format timestamp dans laquelle le fichier du logs a été généré";
+
+/*new string*/
+$string['studentreports'] = "Rapports des étudiants";
+
+/*Menu*/
+$string['binnacle'] = "Blog";
+$string['report1'] = "Rapport 1";
+$string['report2'] = "Rapport 2";
+$string['report3'] = "Rapport 3";
+$string['report4'] = "Rapport 4";
+$string['report5'] = "Rapport 5";
+$string['set_weeks_title'] = "Configuration des semaines de cours";
+$string['set_weeks'] = "Configuration des semaines de cours";
+
+/*Notes*/
+$string['notes_btn_delete'] = "Supprimer";
+$string['notes_btn_new'] = "Écarter les changements";
+$string['notes_btn_notes'] = "Sauvegarder";
+$string['notes_btn_update'] = "Editor";
+$string['notes_notes'] = "Annotations";
+$string['notes_string_new'] = "Nouveau";
+$string['notes_string_update'] = "Mise à jour";
+$string['notes_title_notes'] = "Annotations";
+$string['notes_placeholder_title'] = "Title";
+$string['notes_placeholder_search'] = "Recherche.";
+$string['notes_placeholder_note'] = "Rédiger une note";
+$string['notes_save_success'] = "Sauvegarder la note";
+$string['notes_created'] = "Créé à la date..";
+$string['notes_not_found'] = "Aucune note trouvée";
+$string['notes_description'] = "Rédigez et conservez les notes que vous jugez pertinentes pour ce cours. Vous pourrez voir toutes les notes que vous avez écrites pour ce cours, comme rappels, points forts ou autres. Utilisez le moteur de recherche pour trouver une note particulière parmi celles générées à partir d'un mot-clé ou d'une phrase";
+$string['notes_message_created'] = "La note a été créée";
+$string['notes_message_non_créé'] = "Note n'a pas pu être créée";
+$string['notes_message_deleted'] = "La note a été supprimée";
+$string['notes_message_not_deleted'] = "Note n'a pas pu être supprimée";
+$string['notes_message_updated'] = "La note a été mise à jour";
+$string['notes_message_not_updated'] = "Note n'a pas pu être mise à jour'";
+
+/*Metareflexion*/
+$string['compare_with_course'] = "Comparer mes résultats avec ceux de mes collègues";
+$string['sr_menu_metareflexion'] = "Méta-réflexion";
+$string['metareflexion_last_week_created'] = "Les réflexions de la semaine dernière ont été sauvegardées";
+$string['metareflexion_last_week_update'] = "Mise à jour des réflexions de la semaine dernière";
+$string['metareflexion_update_planification_success'] = "Engagement actualisé";
+$string['metareflexion_save_planification_success'] = "Engagement enregistré";
+$string['metareflexion_tab_reflexion'] = "Statistiques sur l'efficacité";
+$string['metareflexion_tab_reflexion_title'] = "Liste des ressources de cette semaine";
+$string['metareflexion_tab_planification'] = "Planification de la semaine";
+$string['metareflexion_tab_lastweek'] = "Réflexions de la semaine dernière";
+$string['metareflexion_tab_graphic_lastweek'] = "Réflexions";
+$string['metareflexion_effectiveness_title'] = "Statistiques sur l'efficacité";
+$string['metareflexion_graphic_legend_planned'] = "Planifié";
+$string['metareflexion_graphic_legend_unplanned'] = "Non planifié";
+$string['effectiveness_graphic_legend_pending'] = "Planifié / À planifier";
+$string['effectiveness_graphic_legend_completed'] = "Planifié / Réalisé";
+$string['effectiveness_graphic_legend_failed'] = "Planifié / Non réalisé";
+$string['metareflexion_cw_card_title'] = "Planification de la semaine";
+$string['metareflexion_cw_description_student'] = "Dans cette section, vous pouvez planifier les horaires et les jours de travail du cours pour cette semaine. Ces informations seront utilisées pour calculer votre efficacité à travailler sur le cours, que vous pouvez consulter dans la section Efficacité.";
+$string['metareflexion_cw_card_daysdedicate'] = "Jours que je consacrerai au cours :";
+$string['metareflexion_cw_card_hoursdedicate'] = "Heures que je consacrerai au cours :";
+$string['metareflexion_cw_card_msg'] = "Vous n'avez pas encore planifié le temps de travail que vous souhaitez consacrer à cette ressource";
+$string['metareflexion_cw_card_btn_plan'] = "Planification de la semaine";
+$string['metareflexion_cw_table_title'] = "Ressources de la semaine";
+$string['metareflexion_cw_table_thead_activity'] = "Activité";
+$string['metareflexion_cw_table_thead_type'] = "Type de ressource";
+$string['metareflexion_cw_table_thead_days_committed'] = "Journées consacrées";
+$string['metareflexion_cw_table_thead_hours_committed'] = "Heures consacrées";
+$string['metareflexion_cw_table_thead_plan'] = "Plan";
+$string['metareflexion_cw_dialog_daysdedicate'] = "Combien d'heures de cours en face à face avez-vous consacrées à ce cours cette semaine ?";
+$string['metareflexion_cw_dialog_hoursdedicate'] = "Combien d'heures de travail avez-vous consacrées au cours en dehors des cours en face à face cette semaine ?";
+$string['metareflexion_cw_dialog_btn_cancel'] = "Annuler";
+$string['metareflexion_cw_dialog_btn_accept'] = "Sauvegarder le plan";
+$string['metareflexion_pw_title'] = "Réflexions de la semaine dernière";
+$string['metareflexion_pw_description_student'] = "Dans cette section, vous pourrez indiquer combien d'heures de cours en face à face vous avez consacrées au cours et combien vous en avez pris en dehors des heures de cours. En outre, vous pourrez indiquer si les objectifs d'apprentissage de la semaine dernière ont été atteints et donner votre avis sur les avantages d'avoir suivi des cours. Ces informations seront fournies à l'enseignant de manière anonyme afin d'améliorer le cours";
+$string['metareflexion_pw_classroom_hours'] = "Combien d'heures de cours en face à face avez-vous consacrées à ce cours cette semaine ?";
+$string['metareflexion_pw_hours_off_course'] = "Combien d'heures de travail avez-vous consacrées au cours en dehors des cours en face à face cette semaine ?";
+$string['metareflexion_pw_btn_save'] = "Sauvegarder";
+$string['metareflexion_report_title'] = "Graphique lié au formulaire d'engagement de Planification/Méta-réflexion";
+$string['metareflexion_report_description_days_teacher'] = "Dans ce graphique, vous trouverez la planification des jours que les étudiants se sont engagés à travailler (première barre) par rapport aux jours réellement travaillés (deuxième barre). Si la première barre n'est pas visible, cela signifie que vos étudiants n'ont pas planifié de jours de travail pour cette semaine ; ils ont planifié des jours de travail. Si la deuxième barre n'est pas visible, cela signifie que les étudiants n'ont pas fait le travail qu'ils s'étaient engagés à faire le jour prévu.";
+$string['metareflexion_report_description_days_student'] = "Dans ce tableau, vous trouverez le temps que vos élèves ont prévu de passer par rapport au temps qu'ils ont effectivement passé. Si le délai prévu est respecté, la semaine sera marquée d'une icône verte. Dans le cas où le travail prévu n'est pas réalisé, une icône rouge apparaîtra.<br> Notez qu'il est considéré comme une journée de travail si l'étudiant a fait une interaction avec les ressources de cette semaine. Le temps prévu est obtenu à partir de la méta-réflexion hebdomadaire de l'étudiant dans le Planification de la semaine<br> .";
+$string['metareflexion_report_subtitle_days_student'] = "Mes engagements prévus pour cette semaine";
+$string['metareflexion_report_subtitle_days_teacher'] = "Pourcentage d'élèves qui ont respecté leur plan ce jour-là";
+$string['metareflexion_report_subtitle_hours_student'] = "Mon efficacité dans la semaine";
+$string['metareflexion_report_subtitle_hours_teacher'] = "Efficacité moyenne de la semaine";
+$string['metareflexion_report_descrition_hours_teacher'] = "Ce graphique montre les heures que les étudiants ont prévu de travailler pendant cette semaine par rapport aux heures effectivement travaillées. <br> Notez qu'il est considéré comme un jour ouvré si l'étudiant a fait une interaction avec les ressources de cette semaine. Le temps prévu est obtenu à partir de la Méta-réflexion de l'étudiant dans son Planification de la semaine.<br>";
+$string['metareflexion_report_descrition_hours_étudiant'] = "Ce graphique montre les heures que l'étudiant a prévu de travailler pendant cette semaine par rapport aux heures effectivement travaillées. Le temps prévu est obtenu à partir de la méta-réflexion hebdomadaire que vous avez faite dans la section 'Planification de la semaine'.";
+$string['metareflexion_cw_day_lun'] = "Lundi";
+$string['metareflexion_cw_day_mar'] = "Mardi";
+$string['metareflexion_cw_day_mie'] = "Mercredi";
+$string['metareflexion_cw_day_jue'] = "Jeudi";
+$string['metareflexion_cw_day_vie'] = "Vendredi";
+$string['metareflexion_cw_day_sab'] = "Samedi";
+$string['metareflexion_cw_day_dom'] = "Dimanche";
+$string['metareflexion_myself'] = "Mon";
+$string['metareflexion_inverted_time'] = "Temps investi";
+$string['metareflexion_inverted_time_course'] = "Temps moyen investi (cours)";
+$string['metareflexion_planified_time'] = "Temps planifié";
+$string['metareflexion_planified_time_course'] = "Temps moyen prévu (cours)";
+$string['metareflexion_belonging'] = "Appartenance à";
+$string['metareflexion_student'] = "Etudiants";
+$string['metareflexion_interaction_user'] = "Utilisateurs qui ont interagi avec cette ressource";
+$string['metareflexion_hover_title_teacher'] = "Efficacité des étudiants (moyenne)";
+$string['metareflexion_hover_title_student'] = "Efficacité par semaine";
+$string['metareflexion_planning_week'] = "Il/Elle eat en train de planificar";
+$string['metareflexion_planning_week_start'] = ", Date de début";
+$string['metareflexion_planning_week_end'] = "et Date de réalisation";
+$string['metareflexion_report_pw_avegare_hour_clases'] = "Nombre moyen d'heures passées en cours en face à face";
+$string['metareflexion_report_pw_avegare_hour_outside_clases'] = "Moyenne des heures passées en dehors des cours";
+$string['metareflexion_report_pw_summary_card'] = "Durée moyenne du cours";
+$string['metareflexion_report_pw_learning_objetives'] = "Concernant aux objectifs d'apprentissage";
+$string['metareflexion_report_pw_attending_classes'] = "Concernant l'avantage de suivre des cours ";
+$string['metareflexion_report_pw_text_graphic_no_data'] = "Pas de données pour cette semaine";
+$string['metareflexion_report_pw_description_teacher'] = "Dans ces graphiques, vous pouvez voir les informations obtenues des étudiants concernant leurs impressions sur les cours de la semaine précédente.";
+$string['metareflexion_weekly_planning_subtitle'] = "Voir les résultats de votre planification hebdomadaire sous l'onglet 'Efficacité par semaine'.";
+$string['metareflexion_saved_form'] = "Vous avez déjà rempli le formulaire sur Méta-réflexion cette semaine";
+$string['metareflexion_efficiency_title'] = "Votre efficacité";
+$string['metareflexion_goals_title'] = "Mes objectifs";
+/* Reports */
+$string['student_reports:view_report_as_teacher'] = "Voir le rapport en tant qu'enseignant";
+$string['student_reports:view_report_as_student'] = "Voir le rapport en tant qu'étudiant";
+$string['student_reports:time_visualizations'] = "Travail sur la plate-forme";
+$string['student_reports:time_worked_session_report'] = "Rapport sur le 'Travail sur la plate-forme'";
+$string['student_reports:write'] = "Sauvegarder les modifications apportées aux rapports";
+
+/* time_worked_session_report */
+$string['twsr_title'] = "Sessions d'étude par semaine";
+$string['twsr_description_student'] = "Une session correspond au temps consacré à l'interaction au sein de la plate-forme et au temps moyen des sessions respectives. Vous trouverez ci-dessous la liste des semaines avec le nombre total de sessions. En déplaçant le curseur sur le graphique, vous pouvez trouver des informations détaillées sur le groupe d'étudiants dans le cours.";
+$string['twsr_description_teacher'] = "Une session correspond au temps pendant lequel les étudiants ont interagi avec le matériel de cours de Moodle. Dans ce rapport, vous trouverez la liste des semaines avec le nombre total de sessions effectuées par les étudiants du cours. En plaçant votre curseur sur l'une des barres, vous pouvez voir le nombre total de sessions, la durée moyenne des sessions et le nombre d'étudiants différents qui ont participé à chaque session.";
+$string['twsr_axis_x'] = "Nombre de sessions";
+$string['twsr_axis_y'] = "Semaines de cours";
+$string['twsr_student'] = "Étudiant";
+$string['twsr_students'] = "Étudiants";
+$string['twsr_sessions_by'] = "Les sessions appartenant à";
+$string['twsr_sessions_middle_time'] = "Duré moyenne des sessions";
+$string['twsr_total_sessions'] = "Total des sessions";
+
+/* time_visualizations */
+$string['tv_title'] = "Temps passé (par heure)";
+$string['tv_lunes'] = "Lundi";
+$string['tv_martes'] = "Mardi";
+$string['tv_miercoles'] = "Mercredi";
+$string['tv_jueves'] = "Jeudi";
+$string['tv_viernes'] = "Vendredi";
+$string['tv_sabado'] = "Samedi";
+$string['tv_domingo'] = "Dimange";
+$string['tv_axis_x'] = "Jours de la semaine";
+$string['tv_axis_y'] = "Heures de la journée";
+$string['tv_url'] = "URL";
+$string['tv_resource_document'] = "Document";
+$string['tv_resource_image'] = "Image";
+$string['tv_resource_audio'] = "Audio";
+$string['tv_resource_video'] = "Video";
+$string['tv_resource_file'] = "Fichier";
+$string['tv_resource_script'] = "Script/Code";
+$string['tv_resource_text'] = "Texte";
+$string['tv_resource_download'] = "Téléchargements";
+$string['tv_assign'] = "Tâche";
+$string['tv_assignment'] = "Tache";
+$string['tv_book'] = "Livre";
+$string['tv_choice'] = "Selection";
+$string['tv_feedback'] = "Retour";
+$string['tv_folder'] = "Dossier";
+$string['tv_forum'] = "Forum";
+$string['tv_glossary'] = "Glossaire";
+$string['tv_label'] = "Étiquette";
+$string['tv_lesson'] = "Leçon";
+$string['tv_page'] = "Page";
+$string['tv_quiz'] = "Quiz";
+$string['tv_survey'] = "Enquête";
+$string['tv_lti'] = "Outil externe";
+$string['tv_other'] = "Un autre";
+$string['tv_interaction'] = "Interaction par";
+$string['tv_interactions'] = "Interaction par";
+$string['tv_course_module'] = "Module";
+$string['tv_course_modules'] = "Module";
+$string['tv_student'] = "Étudiant";
+$string['tv_students'] = "Étudiants";
+$string['tv_average'] = "Interactions moyennes";
+$string['tv_change_timezone'] = "Fuseau horaire:";
+$string['tv_activity_inside_plataform_student'] = "Mon activité sur la plateforme";
+$string['tv_activity_inside_plataform_teacher'] = "Activité des élèves sur la plateforme";
+$string['tv_time_inside_plataform_student'] = "Mon temps sur la plateforme";
+$string['tv_time_inside_plataform_teacher'] = "Temps moyen passé par les étudiants sur la plateforme cette semaine";
+$string['tv_time_inside_plataform_description_teacher'] = "Le temps que l'étudiant a investi dans la semaine choisie, comparé au temps que l'enseignant a prévu d'investir. Le temps passé affiché correspond à la moyenne de tous les étudiants. Le temps prévu par l'enseignant est le temps attribué dans <i>Planification de la semaine</i> par l'enseignant.";
+$string['tv_time_inside_plataform_description_student'] = "Temps passé cette semaine par rapport au temps que l'enseignant avait prévu de passer.";
+$string['tv_activity_inside_plataform_description_teacher'] = "L'axe des Y indique les heures de la journée et l'axe des X les jours de la semaine. Dans le graphique, vous pouvez trouver plusieurs points qui, lorsque vous passez le curseur dessus, fournissent des informations détaillées sur les interactions des élèves, regroupées par type de ressource (nombre d'interactions, nombre d'élèves ayant interagi avec la ressource et nombre moyen d'interactions). <b>En cliquant sur les étiquettes, vous pouvez filtrer par type de ressources, en ne laissant visibles que celles qui ne sont pas barrées</b>";
+$string['tv_activity_inside_plataform_description_student'] = "Ce graphique montre les interactions par type de ressource et par temps. Lorsque vous déplacez votre curseur sur un point visible du graphique, vous verrez le nombre d'interactions regroupées par type de ressource. En cliquant sur les étiquettes, vous pouvez filtrer par type de ressource.";
+$string['tv_to'] = "dans le";
+$string['tv_time_spend'] = "Temps passé";
+$string['tv_time_spend_teacher'] = "Temps moyen passé";
+$string['tv_time_should_spend'] = "Le temps qu'il faut consacrer";
+$string['tv_time_should_spend_teacher'] = "Temps moyen que vous devriez passer'";
+
+/* activities_performed */
+$string['ap_title'] = "Activités réalisées";
+$string['ap_description_student'] = "Ce rapport présente les activités réalisées et en cours cette semaine. La barre de progression de la semaine correspond au pourcentage d'activités à réaliser cette semaine et prévues par l'enseignant. L'option Semaine vous permet de choisir et de visualiser le rapport correspondant à la semaine choisie. Les activités sont regroupées par type de ressources. Les activités marquées en vert sont celles qui ont été réalisées et celles marquées en rouge sont celles qui sont en cours. Pour qu'une activité soit considérée comme terminée, vous devez avoir interagi au moins une fois avec la ressource. <br/> <br/> En cliquant sur les étiquettes terminées ou en attente, vous pourrez filtrer les informations.";
+$string['ap_description_teacher'] = "Text en attente";
+$string['ap_axis_x'] = "Type de ressources";
+$string['ap_axis_y'] = "Montant des ressources";
+$string['ap_progress'] = "Progrès de la semaine";
+$string['ap_to'] = "dans la";
+$string['ap_week'] = "Semaine";
+$string['ap_activities'] = "Durée moyenne d'interaction pour resource";
+
+/* activities_performed teacher */
+$string['apt_title'] = "Activités de cours effectuées";
+$string['apt_description'] = "Ce rapport présente les activités disponibles du cours. L'option Semaine vous permet de choisir et de visualiser le rapport de cette semaine. En déplaçant le curseur sur l'une des barres, vous trouverez la moyenne des vues et des interactions. Si vous cliquez sur la barre, vous trouverez plus de détails (nom de l'élève, courriel, interactions, temps moyen de visualisation).";
+$string['apt_axis_x'] = "Interactions";
+$string['apt_axis_y'] = "Ressources";
+$string['apt_visualization_average'] = "Affichages moyens";
+$string['apt_interacctions_average'] = "Moyenne des interactions";
+$string['apt_thead_name'] = "Nom";
+$string['apt_thead_lastname'] = "Nom de famille";
+$string['apt_thead_email'] = "Email";
+$string['apt_thead_interactions'] = "Interactions";
+$string['apt_thead_visualization'] = "Durée moyenne d'interaction pour resource";
+
+/* Composante de la pagination */
+$string['pagination_component_to'] = "dans la";
+$string['pagination_component_name'] = "Semaine";
+
+/* Questions et réponses */
+$string['question_number_one'] = "En ce qui concerne les objectifs d'apprentissage des cours de la semaine dernière...";
+$string['answers_number_one_option_one'] = "J'ai une idée précise du ou des sujets et je sais comment l'appliquer";
+$string['answers_number_one_option_two'] = "J'ai une idée précise du ou des sujets et non de la façon de les appliquer.";
+$string['answers_number_one_option_three'] = "Je n'ai pas d'idée précise sur le(s) sujet(s).";
+$string['question_number_two'] = "En ce qui concerne l'avantage de participer aux cours en face à face de la semaine dernière...";
+$string['answers_number_two_option_one'] = "Rien d'utile";
+$string['answers_number_two_option_two'] = "Per utile";
+$string['answers_number_two_option_three'] = "Utile.";
+$string['answers_number_two_option_four'] = "Tres utile";
+$string['answers_number_two_option_five'] = "Vraiment utile";
+$string['answers_number_two_option_six'] = "Je ne suis pas allé en classe";
+
+/* Groupes */
+$string['group_allstudent'] = "Tous les étudiants";
+
+
+/* Admin Settings */
+$string['nmp_use_navbar_menu'] = 'Activer le nouveau menu';
+$string['nmp_use_navbar_menu_desc'] = 'Afficher le menu du plugin dans la barre de navigation supérieure, sinon il inclura le menu dans le bloc de navigation.';
diff --git a/notemyprogress/lib.php b/notemyprogress/lib.php
index 2e6c78fceaaf33742d26115ec8b3f1bd80c9b468..48bf8a46cfac2ad66b51a9b60b4fc08b9eec5835 100644
--- a/notemyprogress/lib.php
+++ b/notemyprogress/lib.php
@@ -27,13 +27,14 @@ defined('MOODLE_INTERNAL') || die;
 
 require_once($CFG->dirroot . '/local/notemyprogress/locallib.php');
 
-function local_notemyprogress_render_navbar_output(\renderer_base $renderer) {
+function local_notemyprogress_render_navbar_output(\renderer_base $renderer)
+{
 
     global $CFG, $COURSE, $PAGE, $SESSION, $SITE, $USER;
 
     $items = [];
 
-    if (isset($COURSE) && $COURSE->id <= 1 ) {
+    if (isset($COURSE) && $COURSE->id <= 1) {
         return null;
     }
 
@@ -42,85 +43,113 @@ function local_notemyprogress_render_navbar_output(\renderer_base $renderer) {
     $configweeks = new \local_notemyprogress\configweeks($COURSE, $USER);
     $configuration_is_set = $configweeks->is_set();
 
-    if(!has_capability('local/notemyprogress:usepluggin', $context)){
+    if (!has_capability('local/notemyprogress:usepluggin', $context)) {
         return null;
     }
 
     $hidden_for_student = !$configuration_is_set && !is_siteadmin();
-    if(has_capability('local/notemyprogress:view_as_student', $context) && $hidden_for_student){
+    if (has_capability('local/notemyprogress:view_as_student', $context) && $hidden_for_student) {
         return null;
     }
 
-    if(has_capability('local/notemyprogress:setweeks', $context)){
+    if (has_capability('local/notemyprogress:setweeks', $context)) {
         $text = get_string('menu_setweek', 'local_notemyprogress');
-        $url = new moodle_url('/local/notemyprogress/setweeks.php?courseid='.$COURSE->id);
+        $url = new moodle_url('/local/notemyprogress/setweeks.php?courseid=' . $COURSE->id);
         array_push($items, local_notemyprogress_new_menu_item(s($text), $url));
     }
 
-    if(has_capability('local/notemyprogress:teacher_general', $context) && $configuration_is_set){
+    if (has_capability('local/notemyprogress:teacher_general', $context) && $configuration_is_set) {
         $text = get_string('menu_general', 'local_notemyprogress');
-        $url = new moodle_url('/local/notemyprogress/teacher.php?courseid='.$COURSE->id);
+        $url = new moodle_url('/local/notemyprogress/teacher.php?courseid=' . $COURSE->id);
         array_push($items, local_notemyprogress_new_menu_item(s($text), $url));
     }
 
-    if(has_capability('local/notemyprogress:teacher_sessions', $context) && $configuration_is_set){
+    if (has_capability('local/notemyprogress:teacher_sessions', $context) && $configuration_is_set) {
         $text = get_string('menu_sessions', 'local_notemyprogress');
-        $url = new moodle_url('/local/notemyprogress/sessions.php?courseid='.$COURSE->id);
+        $url = new moodle_url('/local/notemyprogress/sessions.php?courseid=' . $COURSE->id);
         array_push($items, local_notemyprogress_new_menu_item(s($text), $url));
     }
 
-    if(has_capability('local/notemyprogress:assignments', $context) && $configuration_is_set){
+    if (has_capability('local/notemyprogress:assignments', $context) && $configuration_is_set) {
         $text = get_string('menu_assignments', 'local_notemyprogress');
-        $url = new moodle_url('/local/notemyprogress/assignments.php?courseid='.$COURSE->id);
+        $url = new moodle_url('/local/notemyprogress/assignments.php?courseid=' . $COURSE->id);
         array_push($items, local_notemyprogress_new_menu_item(s($text), $url));
     }
 
-    if(has_capability('local/notemyprogress:grades', $context) && $configuration_is_set){
+    if (has_capability('local/notemyprogress:grades', $context) && $configuration_is_set) {
         $text = get_string('menu_grades', 'local_notemyprogress');
-        $url = new moodle_url('/local/notemyprogress/grades.php?courseid='.$COURSE->id);
+        $url = new moodle_url('/local/notemyprogress/grades.php?courseid=' . $COURSE->id);
         array_push($items, local_notemyprogress_new_menu_item(s($text), $url));
     }
 
-    if(has_capability('local/notemyprogress:quiz', $context) && $configuration_is_set){
+    if (has_capability('local/notemyprogress:quiz', $context) && $configuration_is_set) {
         $text = get_string('menu_quiz', 'local_notemyprogress');
-        $url = new moodle_url('/local/notemyprogress/quiz.php?courseid='.$COURSE->id);
+        $url = new moodle_url('/local/notemyprogress/quiz.php?courseid=' . $COURSE->id);
         array_push($items, local_notemyprogress_new_menu_item(s($text), $url));
     }
 
-    if(has_capability('local/notemyprogress:dropout', $context) && $configuration_is_set){
+    if (has_capability('local/notemyprogress:dropout', $context) && $configuration_is_set) {
         $text = get_string('menu_dropout', 'local_notemyprogress');
-        $url = new moodle_url('/local/notemyprogress/dropout.php?courseid='.$COURSE->id);
+        $url = new moodle_url('/local/notemyprogress/dropout.php?courseid=' . $COURSE->id);
         array_push($items, local_notemyprogress_new_menu_item(s($text), $url));
     }
 
 
-    if(has_capability('local/notemyprogress:student_general', $context) && !is_siteadmin() && $configuration_is_set){
+    if (has_capability('local/notemyprogress:student_general', $context) && !is_siteadmin() && $configuration_is_set) {
         $text = get_string('menu_general', 'local_notemyprogress');
-        $url = new moodle_url('/local/notemyprogress/student.php?courseid='.$COURSE->id);
+        $url = new moodle_url('/local/notemyprogress/student.php?courseid=' . $COURSE->id);
         array_push($items, local_notemyprogress_new_menu_item(s($text), $url));
     }
 
-    if(has_capability('local/notemyprogress:student_sessions', $context) && !is_siteadmin() && $configuration_is_set){
+    if (has_capability('local/notemyprogress:student_sessions', $context) && !is_siteadmin() && $configuration_is_set) {
         $text = get_string('menu_sessions', 'local_notemyprogress');
-        $url = new moodle_url('/local/notemyprogress/student_sessions.php?courseid='.$COURSE->id);
+        $url = new moodle_url('/local/notemyprogress/student_sessions.php?courseid=' . $COURSE->id);
         array_push($items, local_notemyprogress_new_menu_item(s($text), $url));
     }
 
     //ADD
-    if(has_capability('local/notemyprogress:logs', $context) && $configuration_is_set){
+    if (has_capability('local/notemyprogress:logs', $context) && $configuration_is_set) {
         $text = get_string('menu_logs', 'local_notemyprogress');
-        $url = new moodle_url('/local/notemyprogress/logs.php?courseid='.$COURSE->id);
+        $url = new moodle_url('/local/notemyprogress/logs.php?courseid=' . $COURSE->id);
         array_push($items, local_notemyprogress_new_menu_item(s($text), $url));
     }
 
+    if (has_capability('local/notemyprogress:teacher_planning', $context) && $configuration_is_set) {
+        $text = get_string('menu_planning', 'local_notemyprogress');
+        $url = new moodle_url('/local/notemyprogress/planning.php?courseid=' . $COURSE->id);
+        array_push($items, local_notemyprogress_new_menu_item(s($text), $url));
+    }
+
+    if (has_capability('local/notemyprogress:student_planning', $context) && !is_siteadmin() && $configuration_is_set) {
+        $text = get_string('menu_planning', 'local_notemyprogress');
+        $url = new moodle_url('/local/notemyprogress/student_planning.php?courseid=' . $COURSE->id);
+        array_push($items, local_notemyprogress_new_menu_item(s($text), $url));
+    }
+
+    if (has_capability('local/notemyprogress:teacher_planning', $context) && $configuration_is_set) {
+        $text = get_string('menu_planning', 'local_notemyprogress');
+        $url = new moodle_url('/local/notemyprogress/metareflexion.php?courseid=' . $COURSE->id);
+        array_push($items, local_notemyprogress_new_menu_item(s($text), $url));
+    }
+
+    if (has_capability('local/notemyprogress:student_planning', $context) && !is_siteadmin() && $configuration_is_set) {
+        $text = get_string('menu_planning', 'local_notemyprogress');
+        $url = new moodle_url('/local/notemyprogress/metareflexion.php?courseid=' . $COURSE->id);
+        array_push($items, local_notemyprogress_new_menu_item(s($text), $url));
+    }
+
+
+
     $params = [
         "title" => get_string('menu_main_title', 'local_notemyprogress'),
-        "items" => $items];
+        "items" => $items
+    ];
     return $renderer->render_from_template('local_notemyprogress/navbar_popover', $params);
 }
 
-function local_notemyprogress_get_fontawesome_icon_map() {
+function local_notemyprogress_get_fontawesome_icon_map()
+{
     return [
         'local_notemyprogress:icon' => 'fa-pie-chart',
     ];
-}
\ No newline at end of file
+}
diff --git a/notemyprogress/locallib.php b/notemyprogress/locallib.php
index 5455d6a67debe40a0a36b21321830e8ac6153d41..8c78722ebc231653fa3640e3dff1e7a4fdf1e06f 100644
--- a/notemyprogress/locallib.php
+++ b/notemyprogress/locallib.php
@@ -27,7 +27,7 @@
 require_once(dirname(__FILE__).'/../../config.php');
 
 /**
- * Retorna un nuevo ítem para el menú de navegación de Note My Progress
+ * Retorna un nuevo ítem para el menú de navegación de Fliplearning
  *
  * @param string $name nombre de la página para el ítem
  * @param string $url url de la página para el ítem
@@ -62,7 +62,7 @@ function local_notemyprogress_set_page($course, $url){
 }
 
 /**
- * Agrega las importaciones de los archivos css necesarios para Note My Progress
+ * Agrega las importaciones de los archivos css necesarios para Fliplearning
  */
 function local_notemyprogress_render_styles(){
     global $PAGE;
diff --git a/notemyprogress/metareflexion.php b/notemyprogress/metareflexion.php
new file mode 100644
index 0000000000000000000000000000000000000000..6dee25c4ff7ef90701171bb08aa72a3ec6fd9756
--- /dev/null
+++ b/notemyprogress/metareflexion.php
@@ -0,0 +1,167 @@
+<?php
+global $COURSE, $USER;
+require_once('locallib.php');
+
+$courseid = required_param('courseid', PARAM_INT);
+$course = $DB->get_record('course', array('id' => $courseid), '*', MUST_EXIST);
+
+$context = context_course::instance($course->id);
+require_capability('local/notemyprogress:usepluggin', $context);
+//require_capability('local/notemyprogress:view_as_student', $context);
+//require_capability('local/notemyprogress:student_sessions', $context);
+
+$url = '/local/student_reports/metareflexion.php';
+local_notemyprogress_set_page($course, $url);
+
+$logs = new \local_notemyprogress\logs($COURSE->id, $USER->id);
+
+$actualLink = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
+
+$logs->addLogsNMP("viewed", "section", "STUDENT_STUDY_SESSIONS", "student_study_sessions", $actualLink, "Section where you can consult various indicators on the study sessions carried out by the student");
+
+$reports = new \local_notemyprogress\student($COURSE->id, $USER->id);
+
+$metareflexion = new \local_notemyprogress\metareflexion($COURSE->id, $USER->id);
+
+$configweeks = new \local_notemyprogress\configweeks($COURSE, $USER);
+if (!$configweeks->is_set()) {
+    $message = get_string("weeks_not_config", "local_notemyprogress");
+    print_error($message);
+}
+
+$content = [
+    'strings' => array(
+        'hours_unit_time_label' => get_string('hours_unit_time_label', 'local_notemyprogress'),
+        'graph_generating' => get_string('graph_generating', 'local_notemyprogress'),
+        'last_week_update' => get_string('metareflexion_last_week_update', 'local_notemyprogress'),
+        'last_week_created' => get_string('metareflexion_last_week_created', 'local_notemyprogress'),
+        'update_planification_success' => get_string('metareflexion_update_planification_success', 'local_notemyprogress'),
+        'api_error_network' => get_string('api_error_network', 'local_notemyprogress'),
+        'save_planification_success' => get_string('metareflexion_save_planification_success', 'local_notemyprogress'),
+        'tab_1' => get_string('metareflexion_tab_planification',  'local_notemyprogress'),
+        'tab_2' => get_string('metareflexion_tab_reflexion', 'local_notemyprogress'),
+        'title_reports' => get_string('metareflexion_report_title', 'local_notemyprogress'),
+        'subtitle_reports_days_student' => get_string('metareflexion_report_subtitle_days_student', 'local_notemyprogress'),
+        'subtitle_reports_days_teacher' => get_string('metareflexion_report_subtitle_days_teacher', 'local_notemyprogress'),
+        'description_reports_days_student' => get_string('metareflexion_report_description_days_student', 'local_notemyprogress'),
+        'description_reports_days_teacher' => get_string('metareflexion_report_description_days_teacher', 'local_notemyprogress'),
+        'subtitle_reports_hours_student' => get_string('metareflexion_report_subtitle_hours_student', 'local_notemyprogress'),
+        'subtitle_reports_hours_teacher' => get_string('metareflexion_report_subtitle_hours_teacher', 'local_notemyprogress'),
+        'description_reports_hours_teacher' => get_string('metareflexion_report_descrition_hours_teacher', 'local_notemyprogress'),
+        'description_reports_hours_student' => get_string('metareflexion_report_descrition_hours_student', 'local_notemyprogress'),
+        'effectiveness_title' => get_string('metareflexion_effectiveness_title',  'local_notemyprogress'),
+        'effectiveness_graphic_legend_planned' => get_string('metareflexion_graphic_legend_planned',  'local_notemyprogress'),
+        'effectiveness_graphic_legend_unplanned' => get_string('metareflexion_graphic_legend_unplanned',  'local_notemyprogress'),
+        'effectiveness_graphic_legend_pending' => get_string('effectiveness_graphic_legend_pending',  'local_notemyprogress'),
+        'effectiveness_graphic_legend_completed' => get_string('effectiveness_graphic_legend_completed',  'local_notemyprogress'),
+        'effectiveness_graphic_legend_failed' => get_string('effectiveness_graphic_legend_failed',  'local_notemyprogress'),
+        'currentweek_title' => get_string('metareflexion_tab_reflexion_title',  'local_notemyprogress'),
+        'currentweek_description_student' => get_string('metareflexion_cw_description_student',  'local_notemyprogress'),
+        'currentweek_card_title' => get_string('metareflexion_cw_card_title',  'local_notemyprogress'),
+        'currentweek_card_daysdedicate' => get_string('metareflexion_cw_card_daysdedicate',  'local_notemyprogress'),
+        'currentweek_card_hoursdedicate' => get_string('metareflexion_cw_card_hoursdedicate',  'local_notemyprogress'),
+        'currentweek_card_msg' => get_string('metareflexion_cw_card_msg',  'local_notemyprogress'),
+        'currentweek_card_btn_plan' => get_string('metareflexion_cw_card_btn_plan',  'local_notemyprogress'),
+        'currentweek_table_title' => get_string('metareflexion_cw_table_title',  'local_notemyprogress'),
+        'currentweek_table_thead_activity' => get_string('metareflexion_cw_table_thead_activity',  'local_notemyprogress'),
+        'currentweek_table_thead_type' => get_string('metareflexion_cw_table_thead_type',  'local_notemyprogress'),
+        'currentweek_table_thead_days_committed' => get_string('metareflexion_cw_table_thead_days_committed',  'local_notemyprogress'),
+        'currentweek_table_thead_hours_committed' => get_string('metareflexion_cw_table_thead_hours_committed',  'local_notemyprogress'),
+        'currentweek_table_thead_plan' => get_string('metareflexion_cw_table_thead_plan',  'local_notemyprogress'),
+        'currentweek_dialog_daysdedicate' => get_string('metareflexion_cw_dialog_daysdedicate',  'local_notemyprogress'),
+        'currentweek_dialog_hoursdedicate' => get_string('metareflexion_cw_dialog_hoursdedicate',  'local_notemyprogress'),
+        'currentweek_dialog_btn_cancel' => get_string('metareflexion_cw_dialog_btn_cancel',  'local_notemyprogress'),
+        'currentweek_dialog_btn_accept' => get_string('metareflexion_cw_dialog_btn_accept',  'local_notemyprogress'),
+        'currentweek_day_lun' => get_string('metareflexion_cw_day_lun',  'local_notemyprogress'),
+        'currentweek_day_mar' => get_string('metareflexion_cw_day_mar',  'local_notemyprogress'),
+        'currentweek_day_mie' => get_string('metareflexion_cw_day_mie',  'local_notemyprogress'),
+        'currentweek_day_jue' => get_string('metareflexion_cw_day_jue',  'local_notemyprogress'),
+        'currentweek_day_vie' => get_string('metareflexion_cw_day_vie',  'local_notemyprogress'),
+        'currentweek_day_sab' => get_string('metareflexion_cw_day_sab',  'local_notemyprogress'),
+        'currentweek_day_dom' => get_string('metareflexion_cw_day_dom',  'local_notemyprogress'),
+        'pastweek_title' => get_string('metareflexion_pw_title',  'local_notemyprogress'),
+        'pastweek_description_student' => get_string('metareflexion_pw_description_student',  'local_notemyprogress'),
+        'pastweek_classroom_hours' => get_string('metareflexion_pw_classroom_hours',  'local_notemyprogress'),
+        'pastweek_hours_off_course' => get_string('metareflexion_pw_hours_off_course',  'local_notemyprogress'),
+        'pastweek_btn_save' => get_string('metareflexion_pw_btn_save',  'local_notemyprogress'),
+        "pagination" => get_string("pagination", "local_notemyprogress"),
+        "tv_to" => get_string("tv_to", "local_notemyprogress"),
+        "api_error_network" => get_string("api_error_network", "local_notemyprogress"),
+        "pagination_name" => get_string("pagination_component_name", "local_notemyprogress"),
+        "pagination_separator" => get_string("pagination_component_to", "local_notemyprogress"),
+        "tv_resource_document" => get_string("tv_resource_document", "local_notemyprogress"),
+        "tv_resource_image" => get_string("tv_resource_image", "local_notemyprogress"),
+        "tv_resource_audio" => get_string("tv_resource_audio", "local_notemyprogress"),
+        "tv_resource_video" => get_string("tv_resource_video", "local_notemyprogress"),
+        "tv_resource_file" => get_string("tv_resource_file", "local_notemyprogress"),
+        "tv_resource_script" => get_string("tv_resource_script", "local_notemyprogress"),
+        "tv_resource_text" => get_string("tv_resource_text", "local_notemyprogress"),
+        "tv_resource_download" => get_string("tv_resource_download", "local_notemyprogress"),
+        "tv_assign" => get_string("tv_assign", "local_notemyprogress"),
+        "tv_assignment" => get_string("tv_assignment", "local_notemyprogress"),
+        "tv_book" => get_string("tv_book", "local_notemyprogress"),
+        "tv_choice" => get_string("tv_choice", "local_notemyprogress"),
+        "tv_feedback" => get_string("tv_feedback", "local_notemyprogress"),
+        "tv_folder" => get_string("tv_folder", "local_notemyprogress"),
+        "tv_forum" => get_string("tv_forum", "local_notemyprogress"),
+        "tv_glossary" => get_string("tv_glossary", "local_notemyprogress"),
+        "tv_label" => get_string("tv_label", "local_notemyprogress"),
+        "tv_lesson" => get_string("tv_lesson", "local_notemyprogress"),
+        "tv_page" => get_string("tv_page", "local_notemyprogress"),
+        "tv_quiz" => get_string("tv_quiz", "local_notemyprogress"),
+        "tv_survey" => get_string("tv_survey", "local_notemyprogress"),
+        "tv_lti" => get_string("tv_lti", "local_notemyprogress"),
+        "helplabel" => get_string("helplabel", "local_notemyprogress"),
+        "exitbutton" => get_string("exitbutton", "local_notemyprogress"),
+        "pagination_title" => get_string("pagination_title", "local_notemyprogress"),
+        "compare_with_course" => get_string("compare_with_course", "local_notemyprogress"),
+        "myself" => get_string("metareflexion_myself", "local_notemyprogress"),
+        "inverted_time" => get_string("metareflexion_inverted_time", "local_notemyprogress"),
+        "inverted_time_course" => get_string("metareflexion_inverted_time_course", "local_notemyprogress"),
+        "planified_time" => get_string("metareflexion_planified_time", "local_notemyprogress"),
+        "planified_time_course" => get_string("metareflexion_planified_time_course", "local_notemyprogress"),
+        "belonging" => get_string("metareflexion_belonging", "local_notemyprogress"),
+        "student" => get_string("metareflexion_student", "local_notemyprogress"),
+        "interaction_user" => get_string("metareflexion_interaction_user", "local_notemyprogress"),
+        "hover_title_teacher" => get_string("metareflexion_hover_title_teacher", "local_notemyprogress"),
+        "hover_title_student" => get_string("metareflexion_hover_title_student", "local_notemyprogress"),
+        "planning_week" => get_string("metareflexion_planning_week", "local_notemyprogress"),
+        "planning_week_start" => get_string("metareflexion_planning_week_start", "local_notemyprogress"),
+        "planning_week_end" => get_string("metareflexion_planning_week_end", "local_notemyprogress"),
+        "pastweek_avegare_hour_clases" => get_string("metareflexion_report_pw_avegare_hour_clases", "local_notemyprogress"),
+        "pastweek_avegare_hour_outside_clases" => get_string("metareflexion_report_pw_avegare_hour_outside_clases", "local_notemyprogress"),
+        "pastweek_summary_card" => get_string("metareflexion_report_pw_summary_card", "local_notemyprogress"),
+        "pastweek_learning_objetives" => get_string("metareflexion_report_pw_learning_objetives", "local_notemyprogress"),
+        "pastweek_attending_classes" => get_string("metareflexion_report_pw_attending_classes", "local_notemyprogress"),
+        "pastweek_text_graphic_no_data" => get_string("metareflexion_report_pw_text_graphic_no_data", "local_notemyprogress"),
+        "pastweek_description_teacher" => get_string("metareflexion_report_pw_description_teacher", "local_notemyprogress"),
+        "weekly_planning_subtitle" => get_string("metareflexion_weekly_planning_subtitle", "local_notemyprogress"),
+        "saved_form" => get_string("metareflexion_saved_form", "local_notemyprogress"),
+        "goals_title" => get_string("metareflexion_goals_title", "local_notemyprogress"),
+    ),
+    'cmcurrentweeknew' => $metareflexion->find_current_week_new(),
+    'lastweek' => $metareflexion->find_last_week(),
+    'userid' => $USER->id,
+    'courseid' => $courseid,
+    'data_report_days' => $reports->days_report_metereflexion(),
+    'data_report_hours' => $reports->hours_report_metereflexion(),
+    'status_planning' => $reports->status_planning(),
+    'students_planification' => $reports->students_planification_summary(),
+    'profile_render' => $reports->render_has(),
+    'pages' => $configweeks->get_weeks_paginator(),
+    'groups' => local_notemyprogress_get_groups($course, $USER),
+    'data_report_classroom' => $reports->classroom_report_metareflexion(),
+    'data_report_of_classroom' => $reports->classroom_report_metareflexion(),
+    'report_last_week' => $reports->report_last_week(),
+    'image_no_data' => "{$CFG->wwwroot}/local/notemyprogress/img/empty_char.png",
+    'calendar_icon' => "{$CFG->wwwroot}/local/notemyprogress/img/calendar.png"
+];
+if (!has_capability('local/notemyprogress:view_as_teacher', $context)) {
+    $teacher = new \local_notemyprogress\teacher($COURSE->id, $USER->id);
+    $content['course_report_hours'] = $teacher->hours_report_metereflexion();
+}
+$PAGE->requires->js_call_amd('local_notemyprogress/metareflexion', 'init', ['content' => $content]);
+
+echo $OUTPUT->header();
+echo $OUTPUT->render_from_template('local_notemyprogress/metareflexion', ['content' => $content]);
+echo $OUTPUT->footer();
diff --git a/notemyprogress/notes.php b/notemyprogress/notes.php
new file mode 100644
index 0000000000000000000000000000000000000000..ab0dedff439690a06a1de61add3032072529aa5c
--- /dev/null
+++ b/notemyprogress/notes.php
@@ -0,0 +1,50 @@
+<?php
+global $COURSE, $USER;
+require_once('locallib.php');
+
+$courseid = required_param('courseid', PARAM_INT);
+$course = $DB->get_record('course', array('id' => $courseid), '*', MUST_EXIST);
+
+$context = context_course::instance($course->id);
+require_capability('local/student_reports:usepluggin', $context);
+
+$url = '/local/student_reports/notes.php';
+local_sr_set_page($course, $url);
+
+$notes = new local_student_reports_notes($COURSE, $USER->id);
+
+$content = [
+    'strings' => array(
+        'title_notes' => get_string('notes_title_notes', 'local_notemyprogress'),
+        'notes_description' => get_string('notes_description', 'local_notemyprogress'),
+        'btn_notes' => get_string('notes_btn_notes', 'local_notemyprogress'),
+        'btn_note_new' => get_string('notes_btn_new',  'local_notemyprogress'),
+        'btn_note_update' => get_string('notes_btn_update',  'local_notemyprogress'),
+        'btn_note_delete' => get_string('notes_btn_delete',  'local_notemyprogress'),
+        'string_note_new' => get_string('notes_string_new',  'local_notemyprogress'),
+        'string_note_update' => get_string('notes_string_update',  'local_notemyprogress'),
+        'title' => get_string('notes_placeholder_title',  'local_notemyprogress'),
+        'search' => get_string('notes_placeholder_search',  'local_notemyprogress'),
+        'writenote' => get_string('notes_placeholder_note',  'local_notemyprogress'),
+        'savenote' => get_string('notes_save_success',  'local_notemyprogress'),
+        'saveerror' => get_string('api_error_network',  'local_notemyprogress'),
+        'created' => get_string('notes_created',  'local_notemyprogress'),
+        'notes_not_found' => get_string('notes_not_found',  'local_notemyprogress'),
+        "helplabel" => get_string("helplabel", 'local_notemyprogress'),
+        "exitbutton" => get_string("exitbutton", 'local_notemyprogress'),
+        "note_created" => get_string("notes_message_created", 'local_notemyprogress'),
+        "note_not_created" => get_string("notes_message_not_created", 'local_notemyprogress'),
+        "note_deleted" => get_string("notes_message_deleted", 'local_notemyprogress'),
+        "note_not_deleted" => get_string("notes_message_not_deleted", 'local_notemyprogress'),
+        "note_updated" => get_string("notes_message_updated", 'local_notemyprogress'),
+        "note_not_updated" => get_string("notes_message_not_updated", 'local_notemyprogress'),
+    ),
+    'notes' => $notes->get_notes(),
+    'courseid' => $courseid,
+    'userid' => $USER->id,
+];
+$PAGE->requires->js_call_amd('local_student_reports/notes', 'init', ['content' => $content]);
+
+echo $OUTPUT->header();
+echo $OUTPUT->render_from_template('local_student_reports/notes', ['content' => $content]);
+echo $OUTPUT->footer();
diff --git a/notemyprogress/student_planning.php b/notemyprogress/student_planning.php
new file mode 100644
index 0000000000000000000000000000000000000000..3f9addeac3ed4e775eeec62f44cf192fb078bd65
--- /dev/null
+++ b/notemyprogress/student_planning.php
@@ -0,0 +1,198 @@
+<?php
+
+// This file is part of Moodle - http://moodle.org/
+//
+// Moodle is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Moodle is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
+
+/**
+ * local notemyprogress
+ *
+ * @package     local_notemyprogress
+ * @copyright   2020 Edisson Sigua <edissonf.sigua@gmail.com>, Bryan Aguilar <bryan.aguilar6174@gmail.com>
+ * @license     http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+require_once('locallib.php');
+global $COURSE, $USER;
+
+$courseid = required_param('courseid', PARAM_INT);
+$course = $DB->get_record('course', array('id' => $courseid), '*', MUST_EXIST);
+$context = context_course::instance($course->id);
+
+$url = '/local/notemyprogress/student_sessions.php';
+local_notemyprogress_set_page($course, $url);
+
+require_capability('local/notemyprogress:usepluggin', $context);
+require_capability('local/notemyprogress:view_as_student', $context);
+require_capability('local/notemyprogress:student_sessions', $context);
+
+if (is_siteadmin()) {
+    print_error(get_string("only_student", "local_notemyprogress"));
+}
+
+$actualLink = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
+
+$logs = new \local_notemyprogress\logs($COURSE->id, $USER->id);
+$logs->addLogsNMP("viewed", "section", "STUDENT_STUDY_SESSIONS", "student_study_sessions", $actualLink, "Section where you can consult various indicators on the study sessions carried out by the student");
+
+$reports = new \local_notemyprogress\student($COURSE->id, $USER->id);
+
+$configweeks = new \local_notemyprogress\configweeks($COURSE, $USER);
+if (!$configweeks->is_set()) {
+    $message = get_string("weeks_not_config", "local_notemyprogress");
+    print_error($message);
+}
+
+$content = [
+    'strings' => [
+        "section_help_title" => get_string("ss_section_help_title", "local_notemyprogress"),
+        "section_help_description" => get_string("ss_section_help_description", "local_notemyprogress"),
+        "inverted_time_help_title" => get_string("ss_inverted_time_help_title", "local_notemyprogress"),
+        "inverted_time_help_description_p1" => get_string("ss_inverted_time_help_description_p1", "local_notemyprogress"),
+        "inverted_time_help_description_p2" => get_string("ss_inverted_time_help_description_p2", "local_notemyprogress"),
+        "hours_session_help_title" => get_string("ss_hours_session_help_title", "local_notemyprogress"),
+        "hours_session_help_description_p1" => get_string("ss_hours_session_help_description_p1", "local_notemyprogress"),
+        "hours_session_help_description_p2" => get_string("ss_hours_session_help_description_p2", "local_notemyprogress"),
+        "resources_access_help_title" => get_string("ss_resources_access_help_title", "local_notemyprogress"),
+        "resources_access_help_description_p1" => get_string("ss_resources_access_help_description_p1", "local_notemyprogress"),
+        "resources_access_help_description_p2" => get_string("ss_resources_access_help_description_p2", "local_notemyprogress"),
+        "resources_access_help_description_p3" => get_string("ss_resources_access_help_description_p3", "local_notemyprogress"),
+
+        "title" => get_string("fml_title", "local_notemyprogress"),
+        "chart" => $reports->get_chart_langs(),
+        "days" => array(
+            get_string("fml_mon_short", "local_notemyprogress"),
+            get_string("fml_tue_short", "local_notemyprogress"),
+            get_string("fml_wed_short", "local_notemyprogress"),
+            get_string("fml_thu_short", "local_notemyprogress"),
+            get_string("fml_fri_short", "local_notemyprogress"),
+            get_string("fml_sat_short", "local_notemyprogress"),
+            get_string("fml_sun_short", "local_notemyprogress"),
+        ),
+        "hours" => array(
+            get_string("fml_00", "local_notemyprogress"),
+            get_string("fml_01", "local_notemyprogress"),
+            get_string("fml_02", "local_notemyprogress"),
+            get_string("fml_03", "local_notemyprogress"),
+            get_string("fml_04", "local_notemyprogress"),
+            get_string("fml_05", "local_notemyprogress"),
+            get_string("fml_06", "local_notemyprogress"),
+            get_string("fml_07", "local_notemyprogress"),
+            get_string("fml_08", "local_notemyprogress"),
+            get_string("fml_09", "local_notemyprogress"),
+            get_string("fml_10", "local_notemyprogress"),
+            get_string("fml_11", "local_notemyprogress"),
+            get_string("fml_12", "local_notemyprogress"),
+            get_string("fml_13", "local_notemyprogress"),
+            get_string("fml_14", "local_notemyprogress"),
+            get_string("fml_15", "local_notemyprogress"),
+            get_string("fml_16", "local_notemyprogress"),
+            get_string("fml_17", "local_notemyprogress"),
+            get_string("fml_18", "local_notemyprogress"),
+            get_string("fml_19", "local_notemyprogress"),
+            get_string("fml_20", "local_notemyprogress"),
+            get_string("fml_21", "local_notemyprogress"),
+            get_string("fml_22", "local_notemyprogress"),
+            get_string("fml_23", "local_notemyprogress"),
+        ),
+        "modules_names" => array(
+            "assign" => get_string("fml_assign", "local_notemyprogress"),
+            "assignment" => get_string("fml_assignment", "local_notemyprogress"),
+            "attendance" => get_string("fml_attendance", "local_notemyprogress"),
+            "book" => get_string("fml_book", "local_notemyprogress"),
+            "chat" => get_string("fml_chat", "local_notemyprogress"),
+            "choice" => get_string("fml_choice", "local_notemyprogress"),
+            "data" => get_string("fml_data", "local_notemyprogress"),
+            "feedback" => get_string("fml_feedback", "local_notemyprogress"),
+            "folder" => get_string("fml_folder", "local_notemyprogress"),
+            "forum" => get_string("fml_forum", "local_notemyprogress"),
+            "glossary" => get_string("fml_glossary", "local_notemyprogress"),
+            "h5pactivity" => get_string("fml_h5pactivity", "local_notemyprogress"),
+            "imscp" => get_string("fml_imscp", "local_notemyprogress"),
+            "label" => get_string("fml_label", "local_notemyprogress"),
+            "lesson" => get_string("fml_lesson", "local_notemyprogress"),
+            "lti" => get_string("fml_lti", "local_notemyprogress"),
+            "page" => get_string("fml_page", "local_notemyprogress"),
+            "quiz" => get_string("fml_quiz", "local_notemyprogress"),
+            "resource" => get_string("fml_resource", "local_notemyprogress"),
+            "scorm" => get_string("fml_scorm", "local_notemyprogress"),
+            "survey" => get_string("fml_survey", "local_notemyprogress"),
+            "url" => get_string("fml_url", "local_notemyprogress"),
+            "wiki" => get_string("fml_wiki", "local_notemyprogress"),
+            "workshop" => get_string("fml_workshop", "local_notemyprogress"),
+        ),
+        "modules_strings" => array(
+            "title" => get_string("fml_modules_access_chart_title", "local_notemyprogress"),
+            "modules_no_viewed" => get_string("fml_modules_no_viewed", "local_notemyprogress"),
+            "modules_viewed" => get_string("fml_modules_viewed", "local_notemyprogress"),
+            "modules_complete" => get_string("fml_modules_complete", "local_notemyprogress"),
+            "close_button" => get_string("fml_close_button", "local_notemyprogress"),
+            "modules_interaction" => get_string("fml_modules_interaction", "local_notemyprogress"),
+            "modules_interactions" => get_string("fml_modules_interactions", "local_notemyprogress"),
+        ),
+        "no_data" => get_string("no_data", "local_notemyprogress"),
+        "pagination" => get_string("pagination", "local_notemyprogress"),
+        "ss_change_timezone" => get_string("ss_change_timezone", "local_notemyprogress"),
+        "graph_generating" => get_string("graph_generating", "local_notemyprogress"),
+        "api_error_network" => get_string("api_error_network", "local_notemyprogress"),
+        "pagination_name" => get_string("pagination_component_name", "local_notemyprogress"),
+        "pagination_separator" => get_string("pagination_component_to", "local_notemyprogress"),
+        "pagination_title" => get_string("pagination_title", "local_notemyprogress"),
+        "helplabel" => get_string("helplabel", "local_notemyprogress"),
+        "exitbutton" => get_string("exitbutton", "local_notemyprogress"),
+        "about" => get_string("fml_about", "local_notemyprogress"),
+
+        "inverted_time_chart_title" => get_string("fml_student_time_inverted_title", "local_notemyprogress"),
+        "inverted_time_chart_x_axis" => get_string("fml_student_time_inverted_x_axis", "local_notemyprogress"),
+        "inverted_time" => get_string("fml_student_inverted_time", "local_notemyprogress"),
+        "expected_time" => get_string("fml_student_expected_time", "local_notemyprogress"),
+
+        "resource_access_title" => get_string("fml_resource_access_title", "local_notemyprogress"),
+        "resource_access_x_axis" => get_string("fml_resource_access_x_axis", "local_notemyprogress"),
+        "resource_access_y_axis" => get_string("fml_resource_access_y_axis", "local_notemyprogress"),
+        "resource_access_legend1" => get_string("fml_resource_access_legend1", "local_notemyprogress"),
+        "resource_access_legend2" => get_string("fml_resource_access_legend2", "local_notemyprogress"),
+
+        "hours_sessions_title" => get_string("fml_hours_sessions_title", "local_notemyprogress"),
+        "week_progress_title" => get_string("fml_week_progress_title", "local_notemyprogress"),
+
+        "session_text" => get_string("fml_session_text", "local_notemyprogress"),
+        "sessions_text" => get_string("fml_sessions_text", "local_notemyprogress"),
+        "modules_details" => get_string("fml_modules_details", "local_notemyprogress"),
+
+        "hours_short" => get_string("fml_hours_short", "local_notemyprogress"),
+        "minutes_short" => get_string("fml_minutes_short", "local_notemyprogress"),
+        "seconds_short" => get_string("fml_seconds_short", "local_notemyprogress"),
+
+        "modules_access_chart_title" => get_string("fml_modules_access_chart_title", "local_notemyprogress"),
+        "modules_viewed" => get_string("fml_modules_viewed", "local_notemyprogress"),
+        "modules_no_viewed" => get_string("fml_modules_no_viewed", "local_notemyprogress"),
+        "modules_complete" => get_string("fml_modules_complete", "local_notemyprogress"),
+        "modules_interaction" => get_string("fml_modules_interaction", "local_notemyprogress"),
+        "modules_interactions" => get_string("fml_modules_interactions", "local_notemyprogress"),
+        "close_button" => get_string("fml_close_button", "local_notemyprogress"),
+    ],
+    'resources_access_colors' => array('#06D6A0', '#FFD166', '#EF476F'),
+    'inverted_time_colors' => array('#118AB2', '#06D6A0'),
+    'courseid' => $COURSE->id,
+    'userid' => $USER->id,
+    'indicators' => $reports->get_sessions(),
+    'pages' => $configweeks->get_weeks_paginator(),
+    'profile_render' => $reports->render_has(),
+    'timezone' => $reports->timezone,
+];
+
+$PAGE->requires->js_call_amd('local_notemyprogress/student_planning', 'init', ['content' => $content]);
+echo $OUTPUT->header();
+echo $OUTPUT->render_from_template('local_notemyprogress/student_planning', ['content' => $content]);
+echo $OUTPUT->footer();
diff --git a/notemyprogress/templates/metareflexion.mustache b/notemyprogress/templates/metareflexion.mustache
new file mode 100644
index 0000000000000000000000000000000000000000..ad183313a0846aeb8b453fac700a9526d925d9aa
--- /dev/null
+++ b/notemyprogress/templates/metareflexion.mustache
@@ -0,0 +1,98 @@
+<div id="sr-loader">
+  <div class="progress-student-reports">
+    <div class="indeterminate"></div>
+  </div>
+</div>
+
+<v-app id="metareflexion" class="pa-2">
+  <v-content>
+    <pageheader :pagetitle="get_title_content()" :helptitle="strings.helplabel" :exitbutton="strings.exitbutton" :helpcontents="get_help_content()" :groups="groups" :courseid="courseid" :userid="userid"></pageheader>
+      <v-container pa-0>
+        <v-tabs background-color="rgba(0, 133, 195, 0.8)" centered dark v-model="active_tab">
+          <template v-for="(tab_header,indice, key) in tabs_header">
+            <v-tab @click="updated_metareflexion" v-text="tab_header.name" :key="tab_header.id" v-if="must_renderize(tab_header) && tab_header.id == 3" :disabled="!hasLastWeek"></v-tab>
+            <v-tab @click="updated_metareflexion" v-text="tab_header.name" :key="tab_header.id" v-if="must_renderize(tab_header) && tab_header.id != 3"></v-tab>
+          </template>
+          
+          <v-tab-item v-if="must_renderize(tabs_header[0])">
+            <v-layout wrap v-for="(form_curren_week,index,key) in current_week" :key="key">
+              <v-card-text>
+                <v-col sm="8" offset-sm="2" class="d-flex justify-start align-center hide-input-details pa-0 mb-2">    
+                  <v-text-field :disabled="disabled_form" class="max_width_input" type="number" min="0" max="24" v-model="form_curren_week.weekly_schedules_hours" outlined placeholder="0"></v-text-field>
+                  <span class="ml-2 d-flex" v-text="strings.currentweek_dialog_hoursdedicate"></span>
+                </v-col>
+              </v-card-text>
+              <v-card-text>
+                <span class="ml-2 d-flex" v-text="strings.goals_title"></span>
+                <v-row v-for="(past_week_question,index,key) in past_week.questions" :key="key">
+                  <v-col sm="8" offset-sm="2" class="pa-0">
+                      <v-layout column>
+                        <span class="justify-center seleccion_semana_pasada full-width" v-text="past_week_question.enunciated"></span>
+                        <v-flex>
+                          <v-alert outlined class="seleccion_semana_pasada">
+                            <v-radio-group :disabled="disabled_form" :mandatory="false" v-model="past_week_question.answer_selected">
+                              <v-radio :label="past_week_question_answer.enunciated" v-for="(past_week_question_answer,index,key) in past_week_question.answers" :key="key" :value="past_week_question_answer.id"></v-radio>
+                            </v-radio-group>
+                          </v-alert>
+                        </v-flex>
+                      </v-layout>
+                    </v-col>
+                </v-row>
+              </v-card-text>
+
+              <v-card-text>
+                <v-col cols="12" md="6">
+                  <v-layout class="justify-center mb-2">
+                    <span class="student-report-sub-title" v-text="strings.currentweek_table_title"></span>
+                  </v-layout>
+                  <v-layout>
+                    <template>
+                      <v-simple-table class="resource_list_week">
+                        <template v-slot:default>
+                          <thead>
+                            <tr>
+                              <th class="text-left" v-text="strings.currentweek_table_thead_activity"></th>
+                              <th class="text-left" v-text="strings.currentweek_day_lun"></th>
+                              <th class="text-left" v-text="strings.currentweek_day_mar"></th>
+                              <th class="text-left" v-text="strings.currentweek_day_mie"></th>
+                              <th class="text-left" v-text="strings.currentweek_day_jue"></th>
+                              <th class="text-left" v-text="strings.currentweek_day_vie"></th>
+                              <th class="text-left" v-text="strings.currentweek_day_sab"></th>
+                              <th class="text-left" v-text="strings.currentweek_day_dom"></th>
+                            </tr>
+                          </thead>
+                          <tbody>
+                            <template v-for="(cms,index,key) in current_week">
+                              <tr v-for="(cm,index,key) in cms.weekly_cm" :key="key">
+                              <td v-text="cm.name"></td>
+                              <td><v-checkbox v-model="days_committed[0].modules[index]" @change="display_debug()"></v-checkbox></td>
+                              <td><v-checkbox v-model="days_committed[1].modules[index]" @change="display_debug()"></v-checkbox></td>
+                              <td><v-checkbox v-model="days_committed[2].modules[index]" @change="display_debug()"></v-checkbox></td>
+                              <td><v-checkbox v-model="days_committed[3].modules[index]" @change="display_debug()"></v-checkbox></td>
+                              <td><v-checkbox v-model="days_committed[4].modules[index]" @change="display_debug()"></v-checkbox></td>
+                              <td><v-checkbox v-model="days_committed[5].modules[index]" @change="display_debug()"></v-checkbox></td>
+                              <td><v-checkbox v-model="days_committed[6].modules[index]" @change="display_debug()"></v-checkbox></td>
+                              </tr>
+                            </template>
+                          </tbody>
+                        </template>
+                      </v-simple-table>
+                    </template>
+                  </v-layout>
+                </v-col>
+              </v-card-text>
+
+              <v-layout column justify-center>
+                <v-flex d-flex justify-center>
+                  <v-btn class="sr-btn-primary" :disabled="!isDisabledBtnCurrentWeek" @click="action_save_days(form_curren_week,past_week)" v-text="strings.currentweek_dialog_btn_accept"></v-btn>
+                </v-flex>
+              </v-layout>
+            </v-layout>
+          </v-tab-item>
+
+          <v-tab-item v-if="must_renderize(tabs_header[1])">
+          </v-tab-item>
+        </v-tabs>
+      </v-container>
+  </v-content>
+</v-app>
\ No newline at end of file
diff --git a/notemyprogress/templates/student_planning.mustache b/notemyprogress/templates/student_planning.mustache
new file mode 100644
index 0000000000000000000000000000000000000000..03bf0e98e4404631696d0fe9fc29fca495ea7154
--- /dev/null
+++ b/notemyprogress/templates/student_planning.mustache
@@ -0,0 +1,38 @@
+<div id="sessions-loader">
+    <div class="progressbar-notemyprogress">
+        <div class="indeterminate"></div>
+    </div>
+</div>
+
+<v-app id="work_sessions" class="notemyprogress">
+    <v-main>
+        <pageheader :pagetitle="strings.title" :helptitle="strings.helplabel" :exitbutton="strings.exitbutton"
+                    :helpcontents="get_help_content()" :groups="groups" :courseid="courseid" :userid="userid"></pageheader>
+        <v-container pa-8>
+            <v-row v-if="loading">
+                <span class="mb-1 mt-5 body-1" v-text="strings.graph_generating"></span>
+                <v-progress-linear indeterminate color="cyan"></v-progress-linear>
+            </v-row>
+            <div v-else>
+                <v-alert v-if="errors.length > 0" dense outlined type="error" v-text="strings.api_error_network"></v-alert>
+
+                <pagination
+                        :pages="pages" :name="strings.pagination_name" :nameseparator="strings.pagination_separator"
+                        @changepage="update_interactions" :title="strings.pagination_title"></pagination>
+
+                <v-row>
+                    <v-col cols="12" md="6">
+                    <input type="radio" id="one" value="Un" v-model="picked">
+                    <label for="one">Un</label>
+                    <br>
+                    <input type="radio" id="two" value="Deux" v-model="picked">
+                    <label for="two">Deux</label>
+                        <br>
+
+                    </v-col>
+                </v-row>
+            </div>
+
+        </v-container>
+    </v-main>
+</v-app>
\ No newline at end of file