Fixed tests
diff --git a/apiary.apib b/apiary.apib
index 25915e9..0f9632d 100644
--- a/apiary.apib
+++ b/apiary.apib
@@ -421,6 +421,129 @@
 
  
  
+# Group Services
+
+List of the XOS Services
+
+## Services [/api/core/services/{id}/]
+
+### List all Services [GET]
+
++ Response 200 (application/json)
+
+        [
+            {
+                "humanReadableName": "MyService",
+                "id": 1,
+                "created": "2016-05-05T23:06:33.835277Z",
+                "updated": "2016-05-05T23:06:33.835302Z",
+                "enacted": null,
+                "policed": null,
+                "backend_register": "{}",
+                "backend_status": "0 - Provisioning in progress",
+                "deleted": false,
+                "write_protect": false,
+                "lazy_blocked": false,
+                "no_sync": false,
+                "no_policy": false,
+                "description": null,
+                "enabled": true,
+                "kind": "vROUTER",
+                "name": "MyService",
+                "versionNumber": null,
+                "published": true,
+                "view_url": "/admin/vrouter/vrouterservice/$id$/",
+                "icon_url": null,
+                "public_key": null,
+                "private_key_fn": null,
+                "service_specific_id": null,
+                "service_specific_attribute": null
+            }
+        ]
+
+### Create a Service [POST]
+
++ Request (application/json)
+
+        {
+            "name": "MyService",
+            "kind": "vROUTER"
+        }
+
++ Response 200 (application/json)
+
+        {
+            "humanReadableName": "MyService",
+            "id": 1,
+            "created": "2016-05-05T23:06:33.835277Z",
+            "updated": "2016-05-05T23:06:33.835302Z",
+            "enacted": null,
+            "policed": null,
+            "backend_register": "{}",
+            "backend_status": "0 - Provisioning in progress",
+            "deleted": false,
+            "write_protect": false,
+            "lazy_blocked": false,
+            "no_sync": false,
+            "no_policy": false,
+            "description": null,
+            "enabled": true,
+            "kind": "vROUTER",
+            "name": "MyService",
+            "versionNumber": null,
+            "published": true,
+            "view_url": "/admin/vrouter/vrouterservice/$id$/",
+            "icon_url": null,
+            "public_key": null,
+            "private_key_fn": null,
+            "service_specific_id": null,
+            "service_specific_attribute": null
+        }
+
+### View a Service Detail [GET]
+
++ Parameters
+    + id: 1 (number) - ID of the Service in the form of an integer
+
++ Response 200 (application/json)
+
+        {
+                "humanReadableName": "MyService",
+                "id": 1,
+                "created": "2016-05-05T23:06:33.835277Z",
+                "updated": "2016-05-05T23:06:33.835302Z",
+                "enacted": null,
+                "policed": null,
+                "backend_register": "{}",
+                "backend_status": "0 - Provisioning in progress",
+                "deleted": false,
+                "write_protect": false,
+                "lazy_blocked": false,
+                "no_sync": false,
+                "no_policy": false,
+                "description": null,
+                "enabled": true,
+                "kind": "vROUTER",
+                "name": "MyService",
+                "versionNumber": null,
+                "published": true,
+                "view_url": "/admin/vrouter/vrouterservice/$id$/",
+                "icon_url": null,
+                "public_key": null,
+                "private_key_fn": null,
+                "service_specific_id": null,
+                "service_specific_attribute": null
+            }
+
+### Delete a Service [DELETE]
+
++ Parameters
+    + id: 1 (number) - ID of the Service in the form of an integer
+
++ Response 204
+
+ 
+ 
 # Group Sites
 
 List of the XOS sites
diff --git a/views/ngXosLib/bower.json b/views/ngXosLib/bower.json
index 5677d00..08a02e3 100644
--- a/views/ngXosLib/bower.json
+++ b/views/ngXosLib/bower.json
@@ -20,7 +20,8 @@
     "angular-cookies": "1.4.7",
     "angular-animate": "1.4.7",
     "lodash": "~4.11.1",
-    "angular-chart.js": "~0.10.2"
+    "angular-chart.js": "~0.10.2",
+    "d3": "~3.5.17"
   },
   "devDependencies": {
     "angular-mocks": "1.4.7",
diff --git a/views/ngXosLib/generator-xos/app/templates/bower.json b/views/ngXosLib/generator-xos/app/templates/bower.json
index bbddc5b..9dafc2b 100644
--- a/views/ngXosLib/generator-xos/app/templates/bower.json
+++ b/views/ngXosLib/generator-xos/app/templates/bower.json
@@ -26,6 +26,7 @@
     "angular-resource": "1.4.7",
     "lodash": "~4.11.1",
     "bootstrap-css": "3.3.6",
-    "angular-chart.js": "~0.10.2"
+    "angular-chart.js": "~0.10.2",
+    "d3": "~3.5.17"
   }
 }
diff --git a/views/ngXosLib/generator-xos/test/generator.spec.js b/views/ngXosLib/generator-xos/test/generator.spec.js
index f75f444..4ae1602 100644
--- a/views/ngXosLib/generator-xos/test/generator.spec.js
+++ b/views/ngXosLib/generator-xos/test/generator.spec.js
@@ -14,7 +14,12 @@
   cwd: path.join(__dirname, '../../'), // pretending to be in the ngXosLib root
   exclude: ['Chart.js']
 });
-bowerDeps = bowerDeps.js.map(d => d.match(/bower_components\/([a-zA-Z\-`.]+)\//)[1]);
+bowerDeps = bowerDeps.js.map(d => {
+  let path = d.match(/bower_components\/([1-9a-zA-Z\-`.]+)\//);
+  if(path){
+    return path[1];
+  }
+});
 
 // test values
 const viewName = 'testDashboard';
diff --git a/views/ngXosLib/xosHelpers/spec/ui/table.test.js b/views/ngXosLib/xosHelpers/spec/ui/table.test.js
index d00d19e..9247cae 100644
--- a/views/ngXosLib/xosHelpers/spec/ui/table.test.js
+++ b/views/ngXosLib/xosHelpers/spec/ui/table.test.js
@@ -287,6 +287,52 @@
               expect($(td1).text().trim()).toEqual('Formatted Content');
             });
           });
+
+          describe('and is icon', () => {
+
+            beforeEach(() => {
+              scope.config = {
+                columns: [
+                  {
+                    label: 'Label 1',
+                    prop: 'label-1',
+                    type: 'icon',
+                    formatter: item => {
+                      switch (item['label-1']){
+                        case 1:
+                          return 'ok';
+                        case 2:
+                          return 'remove';
+                        case 3:
+                          return 'plus'
+                      }
+                    }
+                  }
+                ]
+              };
+              scope.data = [
+                {
+                  'label-1': 1
+                },
+                {
+                  'label-1': 2
+                },
+                {
+                  'label-1': 3
+                }
+              ];
+              compileElement();
+            });
+
+            it('should render a custom icon', () => {
+              let td1 = $(element).find('tbody tr:first-child td')[0];
+              let td2 = $(element).find('tbody tr:nth-child(2) td')[0];
+              let td3 = $(element).find('tbody tr:last-child td')[0];
+              expect($(td1).find('i')).toHaveClass('glyphicon-ok');
+              expect($(td2).find('i')).toHaveClass('glyphicon-remove');
+              expect($(td3).find('i')).toHaveClass('glyphicon-plus');
+            });
+          });
         });
 
         describe('when a link property is provided', () => {
@@ -421,6 +467,23 @@
             expect(arrows.length).toEqual(4);
           });
 
+          describe('and a default ordering is passed', () => {
+
+            beforeEach(() => {
+              scope.config.order = {
+                field: 'label-1',
+                reverse: true
+              };
+              compileElement();
+            });
+
+            it('should orderBy the default order', () => {
+              var tr = $(element).find('tr');
+              expect($(tr[1]).text()).toContain('Sample 2.2');
+              expect($(tr[2]).text()).toContain('Sample 1.1');
+            });
+          });
+
           describe('and an order is set', () => {
             beforeEach(() => {
               isolatedScope.orderBy = 'label-1';
@@ -429,6 +492,7 @@
             });
 
             it('should orderBy', function() {
+              // console.log($(element).find('table'));
               var tr = $(element).find('tr');
               expect($(tr[1]).text()).toContain('Sample 2.2');
               expect($(tr[2]).text()).toContain('Sample 1.1');
diff --git a/views/ngXosLib/xosHelpers/src/services/rest/Services.js b/views/ngXosLib/xosHelpers/src/services/rest/Services.js
new file mode 100644
index 0000000..eda57e4
--- /dev/null
+++ b/views/ngXosLib/xosHelpers/src/services/rest/Services.js
@@ -0,0 +1,15 @@
+(function() {
+  'use strict';
+
+  angular.module('xos.helpers')
+  /**
+  * @ngdoc service
+  * @name xos.helpers.Services
+  * @description Angular resource to fetch /api/core/services/:id/
+  **/
+  .service('Services', function($resource){
+    return $resource('/api/core/services/:id/', { id: '@id' }, {
+      update: { method: 'PUT' }
+    });
+  })
+})();
\ No newline at end of file
diff --git a/views/ngXosLib/xosHelpers/src/services/rest/Tenant.js b/views/ngXosLib/xosHelpers/src/services/rest/Tenant.js
new file mode 100644
index 0000000..8feb102
--- /dev/null
+++ b/views/ngXosLib/xosHelpers/src/services/rest/Tenant.js
@@ -0,0 +1,15 @@
+(function() {
+  'use strict';
+
+  angular.module('xos.helpers')
+  /**
+  * @ngdoc service
+  * @name xos.helpers.Tenant
+  * @description Angular resource to fetch /api/core/tenant/:id/
+  **/
+  .service('Tenants', function($resource){
+    return $resource('/api/core/tenants/:id/', { id: '@id' }, {
+      update: { method: 'PUT' }
+    });
+  })
+})();
\ No newline at end of file
diff --git a/views/ngXosLib/xosHelpers/src/services/service_graph.service.js b/views/ngXosLib/xosHelpers/src/services/service_graph.service.js
new file mode 100644
index 0000000..8a732a2
--- /dev/null
+++ b/views/ngXosLib/xosHelpers/src/services/service_graph.service.js
@@ -0,0 +1,44 @@
+(function() {
+  'use strict';
+
+  /**
+  * @ngdoc service
+  * @name xos.helpers.ServiceGraph
+  * @description This factory define a set of helper function to query the service tenancy graph
+  **/
+
+  angular
+  .module('xos.helpers')
+  .service('GraphService', function($q, Tenants, Services) {
+
+    this.loadCoarseData = () => {
+
+      let services;
+
+      let deferred = $q.defer();
+
+      Services.query().$promise
+      .then((res) => {
+        services = res;
+        return Tenants.query({kind: 'coarse'}).$promise;
+      })
+      .then((tenants) => {
+        deferred.resolve({
+          tenants: tenants,
+          services: services
+        });
+      })
+
+      return deferred.promise;
+    }
+
+    this.getCoarseGraph = () => {
+      this.loadCoarseData()
+      .then((res) => {
+        console.log(res);
+      })
+      return 'ciao';
+    };
+
+  })
+})();
diff --git a/views/ngXosLib/xosHelpers/src/ui_components/dumbComponents/table/table.component.js b/views/ngXosLib/xosHelpers/src/ui_components/dumbComponents/table/table.component.js
index 8b49932..dfbb700 100644
--- a/views/ngXosLib/xosHelpers/src/ui_components/dumbComponents/table/table.component.js
+++ b/views/ngXosLib/xosHelpers/src/ui_components/dumbComponents/table/table.component.js
@@ -22,7 +22,10 @@
     *   columns: [
     *     {
     *       label: 'Human readable name',
-    *       prop: 'Property to read in the model object'
+    *       prop: 'Property to read in the model object',
+    *       type: 'boolean'| 'array'| 'object'| 'custom'| 'date' | 'icon' // see examples for more details
+            formatter: fn(), // receive the whole item if tipe is custom and return a string
+            link: fn() // receive the whole item and return an url
     *     }
     *   ],
     *   classes: 'table table-striped table-bordered',
@@ -37,7 +40,7 @@
           }
         ],
         filter: 'field', // can be by `field` or `fulltext`
-        order: true // whether to show ordering arrows
+        order: true | {field: 'property name', reverse: true | false} // whether to show ordering arrows, or a configuration for a default ordering
     * }
     * ```
     * @param {Array} data The data that should be rendered
@@ -223,6 +226,16 @@
               label: 'Details',
               prop: 'details',
               type: 'object'
+            },
+            {
+              label: 'Created',
+              prop: 'created',
+              type: 'date'
+            },
+            {
+              label: 'Icon',
+              type: 'icon',
+              formatter: item => item.icon //note that this refer to [Bootstrap Glyphicon](http://getbootstrap.com/components/#glyphicons)
             }
           ]
         };
@@ -235,7 +248,9 @@
             details: {
               c_tag: '243',
               s_tag: '444'
-            }
+            },
+            created: new Date('December 17, 1995 03:24:00'),
+            icon: 'music'
           },
           {
             name: 'Gili',
@@ -244,7 +259,9 @@
             details: {
               c_tag: '675',
               s_tag: '893'
-            }
+            },
+            created: new Date(),
+            icon: 'camera'
           }
         ]
       });
@@ -385,7 +402,11 @@
                       </dl>
                     </span>
                     <span ng-if="col.type === 'custom'">
-                      {{col.formatter(item[col.prop])}}
+                      {{col.formatter(item)}}
+                    </span>
+                    <span ng-if="col.type === 'icon'">
+                      <i class="glyphicon glyphicon-{{col.formatter(item)}}">
+                      </i>
                     </span>
                   </td>
                   <td ng-if="vm.config.actions">
@@ -426,8 +447,14 @@
             throw new Error('[xosTable] Please provide a columns list in the configuration');
           }
 
-          // if columns with type 'custom' are provide
-          // check that a custom formatted is provided too
+          // handle default ordering
+          if(this.config.order && angular.isObject(this.config.order)){
+            this.reverse = this.config.order.reverse || false;
+            this.orderBy = this.config.order.field || 'id';
+          }
+
+          // if columns with type 'custom' are provided
+          // check that a custom formatte3 is provided too
           let customCols = _.filter(this.config.columns, {type: 'custom'});
           if(angular.isArray(customCols) && customCols.length > 0){
             _.forEach(customCols, (col) => {
@@ -437,6 +464,17 @@
             })
           }
 
+          // if columns with type 'icon' are provided
+          // check that a custom formatte3 is provided too
+          let iconCols = _.filter(this.config.columns, {type: 'icon'});
+          if(angular.isArray(iconCols) && iconCols.length > 0){
+            _.forEach(iconCols, (col) => {
+              if(!col.formatter || !angular.isFunction(col.formatter)){
+                throw new Error('[xosTable] You have provided an icon field type, a formatter function should provided too.');
+              }
+            })
+          }
+
           // if a link property is passed,
           // it should be a function
           let linkedColumns = _.filter(this.config.columns, col => angular.isDefined(col.link));
diff --git a/views/ngXosViews/serviceGrid/.bowerrc b/views/ngXosViews/serviceGrid/.bowerrc
new file mode 100644
index 0000000..e491038
--- /dev/null
+++ b/views/ngXosViews/serviceGrid/.bowerrc
@@ -0,0 +1,3 @@
+{
+  "directory": "src/vendor/"
+}
\ No newline at end of file
diff --git a/views/ngXosViews/serviceGrid/.eslintrc b/views/ngXosViews/serviceGrid/.eslintrc
new file mode 100644
index 0000000..c852748
--- /dev/null
+++ b/views/ngXosViews/serviceGrid/.eslintrc
@@ -0,0 +1,42 @@
+{
+    "ecmaFeatures": {
+        "blockBindings": true,
+        "forOf": true,
+        "destructuring": true,
+        "arrowFunctions": true,
+        "templateStrings": true
+    },
+    "env": { 
+        "browser": true,
+        "node": true,
+        "es6": true
+    },
+    "plugins": [
+        //"angular"
+    ],
+    "rules": {
+        "quotes": [2, "single"],
+        "camelcase": [1, {"properties": "always"}],
+        "no-underscore-dangle": 1,
+        "eqeqeq": [2, "smart"],
+        "no-alert": 1,
+        "key-spacing": [1, { "beforeColon": false, "afterColon": true }],
+        "indent": [2, 2],
+        "no-irregular-whitespace": 1,
+        "eol-last": 0,
+        "max-nested-callbacks": [2, 4],
+        "comma-spacing": [1, {"before": false, "after": true}],
+        "no-trailing-spaces": [1, { skipBlankLines: true }],
+        "no-unused-vars": [1, {"vars": "all", "args": "after-used"}],
+        "new-cap": 0,
+
+        //"angular/ng_module_name": [2, '/^xos\.*[a-z]*$/'],
+        //"angular/ng_controller_name": [2, '/^[a-z].*Ctrl$/'],
+        //"angular/ng_service_name": [2, '/^[A-Z].*Service$/'],
+        //"angular/ng_directive_name": [2, '/^[a-z]+[[A-Z].*]*$/'],
+        //"angular/ng_di": [0, "function or array"]
+    },
+    "globals" :{
+        "angular": true
+    } 
+}
\ No newline at end of file
diff --git a/views/ngXosViews/serviceGrid/.gitignore b/views/ngXosViews/serviceGrid/.gitignore
new file mode 100644
index 0000000..567aee4
--- /dev/null
+++ b/views/ngXosViews/serviceGrid/.gitignore
@@ -0,0 +1,6 @@
+dist/
+src/vendor
+.tmp
+node_modules
+npm-debug.log
+dist/
\ No newline at end of file
diff --git a/views/ngXosViews/serviceGrid/bower.json b/views/ngXosViews/serviceGrid/bower.json
new file mode 100644
index 0000000..0cac826
--- /dev/null
+++ b/views/ngXosViews/serviceGrid/bower.json
@@ -0,0 +1,32 @@
+{
+  "name": "xos-serviceGrid",
+  "version": "0.0.0",
+  "authors": [
+    "Matteo Scandolo <teo@onlab.us>"
+  ],
+  "description": "The serviceGrid view",
+  "license": "MIT",
+  "ignore": [
+    "**/.*",
+    "node_modules",
+    "bower_components",
+    "static/js/vendor/",
+    "test",
+    "tests"
+  ],
+  "dependencies": {
+  },
+  "devDependencies": {
+    "jquery": "2.1.4",
+    "angular-mocks": "1.4.7",
+    "angular": "1.4.7",
+    "angular-ui-router": "0.2.15",
+    "angular-cookies": "1.4.7",
+    "angular-animate": "1.4.7",
+    "angular-resource": "1.4.7",
+    "lodash": "~4.11.1",
+    "bootstrap-css": "3.3.6",
+    "angular-chart.js": "~0.10.2",
+    "d3": "~3.5.13"
+  }
+}
diff --git a/views/ngXosViews/serviceGrid/env/default.js b/views/ngXosViews/serviceGrid/env/default.js
new file mode 100644
index 0000000..07017a6
--- /dev/null
+++ b/views/ngXosViews/serviceGrid/env/default.js
@@ -0,0 +1,13 @@
+// This is a default configuration for your development environment.
+// You can duplicate this configuration for any of your Backend Environments.
+// Different configurations are loaded setting a NODE_ENV variable that contain the config file name.
+// `NODE_ENV=local npm start`
+//
+// If xoscsrftoken or xossessionid are not specified the browser value are used
+// (works only for local environment as both application are served on the same domain)
+
+module.exports = {
+  host: 'http://xos.dev:9999/',
+  xoscsrftoken: '528Q93KwEJn88ET6TZipc1gsc7qjhaTz',
+  xossessionid: '8ij3xax15jxwr3abkwohkczwrfivfbzk'
+};
diff --git a/views/ngXosViews/serviceGrid/gulp/build.js b/views/ngXosViews/serviceGrid/gulp/build.js
new file mode 100644
index 0000000..b582642
--- /dev/null
+++ b/views/ngXosViews/serviceGrid/gulp/build.js
@@ -0,0 +1,163 @@
+'use strict';
+
+// BUILD
+//
+// The only purpose of this gulpfile is to build a XOS view and copy the correct files into
+// .html => dashboards
+// .js (minified and concat) => static/js
+//
+// The template are parsed and added to js with angular $templateCache
+
+var gulp = require('gulp');
+var ngAnnotate = require('gulp-ng-annotate');
+var uglify = require('gulp-uglify');
+var templateCache = require('gulp-angular-templatecache');
+var runSequence = require('run-sequence');
+var concat = require('gulp-concat-util');
+var del = require('del');
+var wiredep = require('wiredep');
+var angularFilesort = require('gulp-angular-filesort');
+var _ = require('lodash');
+var eslint = require('gulp-eslint');
+var inject = require('gulp-inject');
+var rename = require('gulp-rename');
+var replace = require('gulp-replace');
+var postcss = require('gulp-postcss');
+var autoprefixer = require('autoprefixer');
+var mqpacker = require('css-mqpacker');
+var csswring = require('csswring');
+
+const TEMPLATE_FOOTER = `
+angular.module('xos.serviceGrid')
+.run(['$location', function(a){
+  a.path('/');
+}])
+`
+
+module.exports = function(options){
+  
+  // delete previous builded file
+  gulp.task('clean', function(){
+    return del(
+      [
+        options.dashboards + 'xosServiceGrid.html',
+        options.static + 'css/xosServiceGrid.css'
+      ],
+      {force: true}
+    );
+  });
+
+  // minify css
+  gulp.task('css', function () {
+    var processors = [
+      autoprefixer({browsers: ['last 1 version']}),
+      mqpacker,
+      csswring
+    ];
+
+    gulp.src([
+      `${options.css}**/*.css`,
+      `!${options.css}dev.css`
+    ])
+    .pipe(postcss(processors))
+    .pipe(gulp.dest(options.tmp + '/css/'));
+  });
+
+  // copy css in correct folder
+  gulp.task('copyCss', ['wait'], function(){
+    return gulp.src([`${options.tmp}/css/*.css`])
+    .pipe(concat('xosServiceGrid.css'))
+    .pipe(gulp.dest(options.static + 'css/'))
+  });
+
+  // compile and minify scripts
+  gulp.task('scripts', function() {
+    return gulp.src([
+      options.tmp + '**/*.js'
+    ])
+    .pipe(ngAnnotate())
+    .pipe(angularFilesort())
+    .pipe(concat('xosServiceGrid.js'))
+    .pipe(concat.header('//Autogenerated, do not edit!!!\n'))
+    .pipe(concat.footer(TEMPLATE_FOOTER))
+    .pipe(uglify())
+    .pipe(gulp.dest(options.static + 'js/'));
+  });
+
+  // set templates in cache
+  gulp.task('templates', function(){
+    return gulp.src('./src/templates/*.html')
+      .pipe(templateCache({
+        module: 'xos.serviceGrid',
+        root: 'templates/'
+      }))
+      .pipe(gulp.dest(options.tmp));
+  });
+
+  // copy html index to Django Folder
+  gulp.task('copyHtml', function(){
+    return gulp.src(options.src + 'index.html')
+      // remove dev dependencies from html
+      .pipe(replace(/<!-- bower:css -->(\n.*)*\n<!-- endbower --><!-- endcss -->/, ''))
+      .pipe(replace(/<!-- bower:js -->(\n.*)*\n<!-- endbower --><!-- endjs -->/, ''))
+      // injecting minified files
+      .pipe(
+        inject(
+          gulp.src([
+            options.static + 'js/vendor/xosServiceGridVendor.js',
+            options.static + 'js/xosServiceGrid.js',
+            options.static + 'css/xosServiceGrid.css'
+          ]),
+          {ignorePath: '/../../../xos/core/xoslib'}
+        )
+      )
+      .pipe(rename('xosServiceGrid.html'))
+      .pipe(gulp.dest(options.dashboards));
+  });
+
+  // minify vendor js files
+  gulp.task('wiredep', function(){
+    var bowerDeps = wiredep().js;
+    if(!bowerDeps){
+      return;
+    }
+
+    // remove angular (it's already loaded)
+    _.remove(bowerDeps, function(dep){
+      return dep.indexOf('angular/angular.js') !== -1;
+    });
+
+    return gulp.src(bowerDeps)
+      .pipe(concat('xosServiceGridVendor.js'))
+      .pipe(uglify())
+      .pipe(gulp.dest(options.static + 'js/vendor/'));
+  });
+
+  gulp.task('lint', function () {
+    return gulp.src(['src/js/**/*.js'])
+      .pipe(eslint())
+      .pipe(eslint.format())
+      .pipe(eslint.failAfterError());
+  });
+
+  gulp.task('wait', function (cb) {
+    // setTimeout could be any async task
+    setTimeout(function () {
+      cb();
+    }, 1000);
+  });
+
+  gulp.task('build', function() {
+    runSequence(
+      'clean',
+      'templates',
+      'babel',
+      'scripts',
+      'wiredep',
+      'css',
+      'copyCss',
+      'copyHtml',
+      'cleanTmp'
+    );
+  });
+};
\ No newline at end of file
diff --git a/views/ngXosViews/serviceGrid/gulp/server.js b/views/ngXosViews/serviceGrid/gulp/server.js
new file mode 100644
index 0000000..c0678d9
--- /dev/null
+++ b/views/ngXosViews/serviceGrid/gulp/server.js
@@ -0,0 +1,168 @@
+'use strict';
+
+var gulp = require('gulp');
+var browserSync = require('browser-sync').create();
+var inject = require('gulp-inject');
+var runSequence = require('run-sequence');
+var angularFilesort = require('gulp-angular-filesort');
+var babel = require('gulp-babel');
+var wiredep = require('wiredep').stream;
+var httpProxy = require('http-proxy');
+var del = require('del');
+var sass = require('gulp-sass');
+
+const environment = process.env.NODE_ENV;
+
+if (environment){
+  var conf = require(`../env/${environment}.js`);
+}
+else{
+  var conf = require('../env/default.js')
+}
+
+var proxy = httpProxy.createProxyServer({
+  target: conf.host || 'http://0.0.0.0:9999'
+});
+
+
+proxy.on('error', function(error, req, res) {
+  res.writeHead(500, {
+    'Content-Type': 'text/plain'
+  });
+
+  console.error('[Proxy]', error);
+});
+
+module.exports = function(options){
+
+  gulp.task('browser', function() {
+    browserSync.init({
+      startPath: '#/',
+      snippetOptions: {
+        rule: {
+          match: /<!-- browserSync -->/i
+        }
+      },
+      server: {
+        baseDir: options.src,
+        routes: {
+          '/xos/core/xoslib/static/js/vendor': options.helpers,
+          '/xos/core/static': options.static + '../../static/'
+        },
+        middleware: function(req, res, next){
+          if(
+            // to be removed, deprecated API
+            // req.url.indexOf('/xos/') !== -1 ||
+            // req.url.indexOf('/xoslib/') !== -1 ||
+            // req.url.indexOf('/hpcapi/') !== -1 ||
+            req.url.indexOf('/api/') !== -1
+          ){
+            if(conf.xoscsrftoken && conf.xossessionid){
+              req.headers.cookie = `xoscsrftoken=${conf.xoscsrftoken}; xossessionid=${conf.xossessionid}`;
+              req.headers['x-csrftoken'] = conf.xoscsrftoken;
+            }
+            proxy.web(req, res);
+          }
+          else{
+            next();
+          }
+        }
+      }
+    });
+
+    gulp.watch(options.src + 'js/**/*.js', ['js-watch']);
+    gulp.watch(options.src + 'vendor/**/*.js', ['bower'], function(){
+      browserSync.reload();
+    });
+    gulp.watch(options.src + '**/*.html', function(){
+      browserSync.reload();
+    });
+    gulp.watch(options.css + '**/*.css', function(){
+      browserSync.reload();
+    });
+    gulp.watch(`${options.sass}/**/*.scss`, ['sass'], function(){
+      browserSync.reload();
+    });
+
+    gulp.watch([
+      options.helpers + 'ngXosHelpers.js',
+      options.static + '../../static/xosNgLib.css'
+    ], function(){
+      browserSync.reload();
+    });
+  });
+
+  // compile sass
+  gulp.task('sass', function () {
+    return gulp.src(`${options.sass}/**/*.scss`)
+      .pipe(sass().on('error', sass.logError))
+      .pipe(gulp.dest(options.css));
+  });
+
+  // transpile js with sourceMaps
+  gulp.task('babel', function(){
+    return gulp.src(options.scripts + '**/*.js')
+      .pipe(babel({sourceMaps: true}))
+      .pipe(gulp.dest(options.tmp));
+  });
+
+  // inject scripts
+  gulp.task('injectScript', ['cleanTmp', 'babel'], function(){
+    return gulp.src(options.src + 'index.html')
+      .pipe(
+        inject(
+          gulp.src([
+            options.tmp + '**/*.js',
+            options.helpers + 'ngXosHelpers.js'
+          ])
+          .pipe(angularFilesort()),
+          {
+            ignorePath: [options.src, '/../../ngXosLib']
+          }
+        )
+      )
+      .pipe(gulp.dest(options.src));
+  });
+
+  // inject CSS
+  gulp.task('injectCss', function(){
+    return gulp.src(options.src + 'index.html')
+      .pipe(
+        inject(
+          gulp.src([
+            options.src + 'css/*.css',
+            options.static + '../../static/xosNgLib.css'
+          ]),
+          {
+            ignorePath: [options.src]
+          }
+          )
+        )
+      .pipe(gulp.dest(options.src));
+  });
+
+  // inject bower dependencies with wiredep
+  gulp.task('bower', function () {
+    return gulp.src(options.src + 'index.html')
+    .pipe(wiredep({devDependencies: true}))
+    .pipe(gulp.dest(options.src));
+  });
+
+  gulp.task('js-watch', ['injectScript'], function(){
+    browserSync.reload();
+  });
+
+  gulp.task('cleanTmp', function(){
+    return del([options.tmp + '**/*']);
+  });
+
+  gulp.task('serve', function() {
+    runSequence(
+      'sass',
+      'bower',
+      'injectScript',
+      'injectCss',
+      ['browser']
+    );
+  });
+};
diff --git a/views/ngXosViews/serviceGrid/gulpfile.js b/views/ngXosViews/serviceGrid/gulpfile.js
new file mode 100644
index 0000000..08df554
--- /dev/null
+++ b/views/ngXosViews/serviceGrid/gulpfile.js
@@ -0,0 +1,26 @@
+'use strict';
+
+var gulp = require('gulp');
+var wrench = require('wrench');
+
+var options = {
+  src: 'src/',
+  css: 'src/css/',
+  sass: 'src/sass/',
+  scripts: 'src/js/',
+  tmp: 'src/.tmp',
+  dist: 'dist/',
+  api: '../../ngXosLib/api/',
+  helpers: '../../../xos/core/xoslib/static/js/vendor/',
+  static: '../../../xos/core/xoslib/static/', // this is the django static folder
+  dashboards: '../../../xos/core/xoslib/dashboards/' // this is the django html folder
+};
+
+wrench.readdirSyncRecursive('./gulp')
+.map(function(file) {
+  require('./gulp/' + file)(options);
+});
+
+gulp.task('default', function () {
+  gulp.start('build');
+});
diff --git a/views/ngXosViews/serviceGrid/karma.conf.js b/views/ngXosViews/serviceGrid/karma.conf.js
new file mode 100644
index 0000000..4123be9
--- /dev/null
+++ b/views/ngXosViews/serviceGrid/karma.conf.js
@@ -0,0 +1,88 @@
+// Karma configuration
+// Generated on Tue Oct 06 2015 09:27:10 GMT+0000 (UTC)
+
+/* eslint indent: [2,2], quotes: [2, "single"]*/
+
+/*eslint-disable*/
+var wiredep = require('wiredep');
+var path = require('path');
+
+var bowerComponents = wiredep( {devDependencies: true} )[ 'js' ].map(function( file ){
+  return path.relative(process.cwd(), file);
+});
+
+module.exports = function(config) {
+/*eslint-enable*/
+  config.set({
+
+    // base path that will be used to resolve all patterns (eg. files, exclude)
+    basePath: '',
+
+
+    // frameworks to use
+    // available frameworks: https://npmjs.org/browse/keyword/karma-adapter
+    frameworks: ['jasmine'],
+
+
+    // list of files / patterns to load in the browser
+    files: bowerComponents.concat([
+      '../../../xos/core/xoslib/static/js/vendor/ngXosVendor.js',
+      '../../../xos/core/xoslib/static/js/vendor/ngXosHelpers.js',
+      'src/js/**/*.js',
+      'spec/**/*.mock.js',
+      'spec/**/*.test.js',
+      'src/**/*.html'
+    ]),
+
+
+    // list of files to exclude
+    exclude: [
+    ],
+
+
+    // preprocess matching files before serving them to the browser
+    // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
+    preprocessors: {
+      'src/js/**/*.js': ['babel'],
+      'spec/**/*.test.js': ['babel'],
+      'src/**/*.html': ['ng-html2js']
+    },
+
+    ngHtml2JsPreprocessor: {
+      stripPrefix: 'src/', //strip the src path from template url (http://stackoverflow.com/questions/22869668/karma-unexpected-request-when-testing-angular-directive-even-with-ng-html2js)
+      moduleName: 'templates' // define the template module name
+    },
+
+    // test results reporter to use
+    // possible values: 'dots', 'progress'
+    // available reporters: https://npmjs.org/browse/keyword/karma-reporter
+    reporters: ['mocha'],
+
+
+    // web server port
+    port: 9876,
+
+
+    // enable / disable colors in the output (reporters and logs)
+    colors: true,
+
+
+    // level of logging
+    // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
+    logLevel: config.LOG_INFO,
+
+
+    // enable / disable watching file and executing tests whenever any file changes
+    autoWatch: true,
+
+
+    // start these browsers
+    // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
+    browsers: ['PhantomJS'],
+
+
+    // Continuous Integration mode
+    // if true, Karma captures browsers, runs the tests and exits
+    singleRun: false
+  });
+};
diff --git a/views/ngXosViews/serviceGrid/package.json b/views/ngXosViews/serviceGrid/package.json
new file mode 100644
index 0000000..c33c615
--- /dev/null
+++ b/views/ngXosViews/serviceGrid/package.json
@@ -0,0 +1,63 @@
+{
+  "name": "xos-serviceGrid",
+  "version": "1.0.0",
+  "description": "Angular Application for XOS, created with generator-xos",
+  "scripts": {
+    "prestart": "npm install && bower install",
+    "start": "gulp serve",
+    "prebuild": "npm install && bower install",
+    "build": "gulp",
+    "test": "karma start",
+    "test:ci": "karma start --single-run",
+    "lint": "eslint src/js/"
+  },
+  "keywords": [
+    "XOS",
+    "Angular",
+    "XOSlib"
+  ],
+  "author": "Matteo Scandolo",
+  "license": "MIT",
+  "dependencies": {},
+  "devDependencies": {
+    "autoprefixer": "^6.3.3",
+    "browser-sync": "^2.9.11",
+    "css-mqpacker": "^4.0.0",
+    "csswring": "^4.2.1",
+    "del": "^2.0.2",
+    "easy-mocker": "^1.2.0",
+    "eslint": "^1.8.0",
+    "eslint-plugin-angular": "linkmesrl/eslint-plugin-angular",
+    "gulp": "^3.9.0",
+    "gulp-angular-filesort": "^1.1.1",
+    "gulp-angular-templatecache": "^1.8.0",
+    "gulp-babel": "^5.3.0",
+    "gulp-concat": "^2.6.0",
+    "gulp-concat-util": "^0.5.5",
+    "gulp-eslint": "^1.0.0",
+    "gulp-inject": "^3.0.0",
+    "gulp-minify-html": "^1.0.4",
+    "gulp-ng-annotate": "^1.1.0",
+    "gulp-postcss": "^6.0.1",
+    "gulp-rename": "^1.2.2",
+    "gulp-replace": "^0.5.4",
+    "gulp-sass": "^2.2.0",
+    "gulp-uglify": "^1.4.2",
+    "http-proxy": "^1.12.0",
+    "ink-docstrap": "^0.5.2",
+    "jasmine-core": "~2.3.4",
+    "karma": "^0.13.14",
+    "karma-babel-preprocessor": "~5.2.2",
+    "karma-coverage": "^0.5.3",
+    "karma-jasmine": "~0.3.6",
+    "karma-mocha-reporter": "~1.1.1",
+    "karma-ng-html2js-preprocessor": "^0.2.0",
+    "karma-phantomjs-launcher": "~0.2.1",
+    "lodash": "^3.10.1",
+    "phantomjs": "^1.9.19",
+    "proxy-middleware": "^0.15.0",
+    "run-sequence": "^1.1.4",
+    "wiredep": "^3.0.0-beta",
+    "wrench": "^1.5.8"
+  }
+}
diff --git a/views/ngXosViews/serviceGrid/spec/sample.test.js b/views/ngXosViews/serviceGrid/spec/sample.test.js
new file mode 100644
index 0000000..38958fd
--- /dev/null
+++ b/views/ngXosViews/serviceGrid/spec/sample.test.js
@@ -0,0 +1,37 @@
+'use strict';
+
+describe('The User List', () => {
+  
+  var scope, element, isolatedScope, httpBackend;
+
+  beforeEach(module('xos.serviceGrid'));
+  beforeEach(module('templates'));
+
+  beforeEach(inject(function($httpBackend, $compile, $rootScope){
+    
+    httpBackend = $httpBackend;
+    // Setting up mock request
+    $httpBackend.expectGET('/api/core/users/?no_hyperlinks=1').respond([
+      {
+        email: 'teo@onlab.us',
+        firstname: 'Matteo',
+        lastname: 'Scandolo' 
+      }
+    ]);
+  
+    scope = $rootScope.$new();
+    element = angular.element('<users-list></users-list>');
+    $compile(element)(scope);
+    scope.$digest();
+    isolatedScope = element.isolateScope().vm;
+  }));
+
+  it('should load 1 users', () => {
+    httpBackend.flush();
+    expect(isolatedScope.users.length).toBe(1);
+    expect(isolatedScope.users[0].email).toEqual('teo@onlab.us');
+    expect(isolatedScope.users[0].firstname).toEqual('Matteo');
+    expect(isolatedScope.users[0].lastname).toEqual('Scandolo');
+  });
+
+});
\ No newline at end of file
diff --git a/views/ngXosViews/serviceGrid/src/css/main.css b/views/ngXosViews/serviceGrid/src/css/main.css
new file mode 100644
index 0000000..ae13614
--- /dev/null
+++ b/views/ngXosViews/serviceGrid/src/css/main.css
@@ -0,0 +1,15 @@
+#xosServiceGrid service-graph {
+  display: block;
+  width: 100%;
+  height: 600px; }
+
+#xosServiceGrid .node {
+  stroke: #337ab7;
+  fill: white; }
+
+#xosServiceGrid .node.xos {
+  fill: #d9534f; }
+
+#xosServiceGrid .link {
+  stroke: black;
+  stroke-width: 2px; }
diff --git a/views/ngXosViews/serviceGrid/src/index.html b/views/ngXosViews/serviceGrid/src/index.html
new file mode 100644
index 0000000..d9e7fec
--- /dev/null
+++ b/views/ngXosViews/serviceGrid/src/index.html
@@ -0,0 +1,35 @@
+<!-- browserSync -->
+<!-- bower:css -->
+<link rel="stylesheet" href="vendor/bootstrap-css/css/bootstrap.min.css" />
+<link rel="stylesheet" href="vendor/angular-chart.js/dist/angular-chart.css" />
+<!-- endbower -->
+<!-- endcss -->
+<!-- inject:css -->
+<link rel="stylesheet" href="/css/main.css">
+<link rel="stylesheet" href="/../../../xos/core/static/xosNgLib.css">
+<!-- endinject -->
+
+<div ng-app="xos.serviceGrid" id="xosServiceGrid" class="container-fluid">
+  <div ui-view></div>
+</div>
+
+<!-- bower:js -->
+<script src="vendor/jquery/dist/jquery.js"></script>
+<script src="vendor/angular/angular.js"></script>
+<script src="vendor/angular-mocks/angular-mocks.js"></script>
+<script src="vendor/angular-ui-router/release/angular-ui-router.js"></script>
+<script src="vendor/angular-cookies/angular-cookies.js"></script>
+<script src="vendor/angular-animate/angular-animate.js"></script>
+<script src="vendor/angular-resource/angular-resource.js"></script>
+<script src="vendor/lodash/lodash.js"></script>
+<script src="vendor/bootstrap-css/js/bootstrap.min.js"></script>
+<script src="vendor/Chart.js/Chart.js"></script>
+<script src="vendor/angular-chart.js/dist/angular-chart.js"></script>
+<script src="vendor/d3/d3.js"></script>
+<!-- endbower -->
+<!-- endjs -->
+<!-- inject:js -->
+<script src="/../../../xos/core/xoslib/static/js/vendor/ngXosHelpers.js"></script>
+<script src="/.tmp/main.js"></script>
+<script src="/.tmp/service-graph.js"></script>
+<!-- endinject -->
\ No newline at end of file
diff --git a/views/ngXosViews/serviceGrid/src/js/main.js b/views/ngXosViews/serviceGrid/src/js/main.js
new file mode 100644
index 0000000..88a0f95
--- /dev/null
+++ b/views/ngXosViews/serviceGrid/src/js/main.js
@@ -0,0 +1,89 @@
+'use strict';
+
+angular.module('xos.serviceGrid', [
+  'ngResource',
+  'ngCookies',
+  'ui.router',
+  'xos.helpers'
+])
+.config(($stateProvider) => {
+  $stateProvider
+  .state('serviceGrid', {
+    url: '/',
+    template: '<service-grid></service-grid>'
+  })
+  .state('serviceGraph', {
+    url: '/graph',
+    template: '<service-graph></service-graph>'
+  });
+})
+.config(function($httpProvider){
+  $httpProvider.interceptors.push('NoHyperlinks');
+})
+.directive('serviceGrid', function(){
+  return {
+    restrict: 'E',
+    scope: {},
+    bindToController: true,
+    controllerAs: 'vm',
+    templateUrl: 'templates/service-grid.tpl.html',
+    controller: function(Services, _){
+
+      this.tableConfig = {
+        columns: [
+          {
+            label: 'Status',
+            prop: 'status',
+            type: 'icon',
+            formatter: item => {
+              let status = parseInt(item.backend_status.match(/^[0-9]/)[0]);
+              switch(status){
+              case 0:
+                return 'time';
+              case 1:
+                return 'ok';
+              case 2:
+                return 'remove';
+              }
+            }
+          },
+          {
+            label: 'Name',
+            prop: 'name',
+            link: item => `${item.view_url.replace(/\$[a-z]+\$/, item.id)}`
+          },
+          {
+            label: 'Kind',
+            prop: 'kind'
+          },
+          {
+            label: 'Enabled',
+            prop: 'enabled',
+            type: 'boolean'
+          }
+        ],
+        filter: 'field',
+        order: {
+          field: 'name'
+        }
+      };
+      
+      // retrieving user list
+      Services.query().$promise
+      .then((services) => {
+        this.services = _.map(services, s => {
+          // parse backend_status string in a boolean for display
+          // NOTE they are not boolean:
+          // - start with 0 = provisioning
+          // - start with 1 = good
+          // - start with 2 = error
+          s.status = parseInt(s.backend_status.match(/^[0-9]/)[0]) === 0 ? false : true;
+          return s;
+        })
+      })
+      .catch((e) => {
+        throw new Error(e);
+      });
+    }
+  };
+});
\ No newline at end of file
diff --git a/views/ngXosViews/serviceGrid/src/js/service-graph.js b/views/ngXosViews/serviceGrid/src/js/service-graph.js
new file mode 100644
index 0000000..51a711a
--- /dev/null
+++ b/views/ngXosViews/serviceGrid/src/js/service-graph.js
@@ -0,0 +1,180 @@
+(function () {
+  'use strict';
+
+  angular.module('xos.serviceGrid')
+  .directive('serviceGraph', function(){
+    return {
+      restrict: 'E',
+      scope: {},
+      bindToController: true,
+      controllerAs: 'vm',
+      templateUrl: 'templates/service-graph.tpl.html',
+      controller: function($element, GraphService){
+
+        let svg;
+        let el = $element[0];
+        let node;
+        let link;
+
+        const tick = (e) => {
+          // Push different nodes in different directions for clustering.
+          
+          node
+            // .attr('cx', d => d.x)
+            //   .attr('cy', d => d.y)
+              .attr({
+                transform: d => `translate(${d.x}, ${d.y})`
+              });
+          
+          link.attr('x1', d => d.source.x)
+              .attr('y1', d => d.source.y)
+              .attr('x2', d => d.target.x)
+              .attr('y2', d => d.target.y);
+        }
+
+        GraphService.loadCoarseData()
+        .then((res) => {
+
+          // build links
+          res.tenants = res.tenants.map(t => {
+            return {
+              source: t.provider_service,
+              target: t.subscriber_service
+            }
+          });
+
+          // add xos as a node
+          res.services.push({
+            name: 'XOS',
+            class: 'xos',
+            x: el.clientWidth / 2,
+            y: el.clientHeight / 2,
+            fixed: true
+          })
+
+          handleSvg(el);
+
+          var force = d3.layout.force()
+            .nodes(res.services)
+            .links(res.tenants)
+            .charge(-1060)
+            .gravity(0.1)
+            .linkDistance(200)
+            .size([el.clientWidth, el.clientHeight])
+            .on('tick', tick)
+            .start();
+
+          link = svg.selectAll('.link')
+          .data(res.tenants).enter().insert('line')
+                .attr('class', 'link');
+
+          node = svg.selectAll('.node')
+            .data(res.services)
+            .enter().append('g')
+            .call(force.drag)
+            .on("mousedown", function() { d3.event.stopPropagation(); });
+
+          node.append('circle')
+            .attr({
+              class: d => `node ${d.class || ''}`,
+              r: 10
+            });
+
+          node.append('text')
+            .attr({
+              'text-anchor': 'middle'
+            })
+            .text(d => d.name)
+
+          node.select('circle')
+            .attr({
+              r: function(d){
+                let parent = d3.select(this).node().parentNode;
+                let sib = d3.select(parent).select('text').node().getBBox()
+                return (sib.width / 2) + 10
+                
+              }
+            })
+
+        })
+
+        const handleSvg = (el) => {
+          d3.select(el).select('svg').remove();
+
+          svg = d3.select(el)
+          .append('svg')
+          .style('width', `${el.clientWidth}px`)
+          .style('height', `${el.clientHeight}px`);
+        }
+      }
+    };
+  })
+})();
+
+// Draw services around xos and calculate coarse tenant as links
+
+// var width = 960, height = 500;
+
+// var fill = d3.scale.category10();
+
+// var nodes = [
+//   {id: 1},
+//   {id: 2},
+//   {id: 3},
+//   {id: 4},
+//   {id: 5}
+// ];
+
+// var links = [
+//   {source: 1, target: 2},
+//   {source: 2, target: 3}
+// ];
+
+// var svg = d3.select("body").append("svg")
+//     .attr("width", width)
+//     .attr("height", height);
+
+// var force = d3.layout.force()
+//     .nodes(nodes)
+//     .links(links)
+//     .charge(-8*12)
+//     .gravity(0.1)
+//     .size([width, height])
+//     .on("tick", tick)
+//     .start();
+
+// svg.append('circle')
+// .attr({
+//   "class": "xos",
+//   r: 20,
+//   cx: () => width / 2,
+//   cy: () => height / 2,
+// })
+
+// var node = svg.selectAll(".node")
+//     .data(nodes)
+//   .enter().append("circle")
+//     .attr("class", "node")
+//     .attr("cx", ({ x }) => x)
+//     .attr("cy", ({ y }) => y)
+//     .attr("r", 8)
+//     .style("fill", ({}, index) => fill(index & 3))
+//     .style("stroke", ({}, index) => d3.rgb(fill(index & 3)).darker(2))
+//     .call(force.drag)
+//     .on("mousedown", ({}) => d3.event.stopPropagation());
+
+// var link = svg.selectAll(".link")
+// .data(links).enter().insert("line")
+//       .attr("class", "link");
+
+// function tick(e) {
+//   // Push different nodes in different directions for clustering.
+  
+//   node.attr("cx", function(d) { return d.x; })
+//       .attr("cy", function(d) { return d.y; });
+  
+//   link.attr("x1", function(d) { return d.source.x; })
+//       .attr("y1", function(d) { return d.source.y; })
+//       .attr("x2", function(d) { return d.target.x; })
+//       .attr("y2", function(d) { return d.target.y; });
+// }
diff --git a/views/ngXosViews/serviceGrid/src/sass/main.scss b/views/ngXosViews/serviceGrid/src/sass/main.scss
new file mode 100644
index 0000000..bc8d14a
--- /dev/null
+++ b/views/ngXosViews/serviceGrid/src/sass/main.scss
@@ -0,0 +1,23 @@
+@import '../../../../style/sass/lib/_variables.scss';
+
+#xosServiceGrid {
+  service-graph {
+    display: block;
+    width: 100%;
+    height: 600px;
+  }
+
+  .node {
+    stroke: $brand-primary;
+    fill: white;
+  }
+
+  .node.xos {
+    fill: $brand-danger;
+  }
+
+  .link {
+    stroke: black;
+    stroke-width: 2px;
+  }
+}
\ No newline at end of file
diff --git a/views/ngXosViews/serviceGrid/src/templates/service-graph.tpl.html b/views/ngXosViews/serviceGrid/src/templates/service-graph.tpl.html
new file mode 100644
index 0000000..c61da91
--- /dev/null
+++ b/views/ngXosViews/serviceGrid/src/templates/service-graph.tpl.html
@@ -0,0 +1,17 @@
+<div class="row">
+  <div class="col-sm-10">
+    <h1>Graph</h1>
+    <ul>
+      <li>Use D3 to create a service chart based on coarse services?</li>
+    </ul>
+  </div>
+  <div class="col-sm-2">
+    <a href="/admin/core/service/add" class="btn btn-success btn-block">
+      <i class="glyphicon glyphicon-plus"></i>
+      Add Service
+    </a>
+    <a href="#/" class="btn btn-default btn-block">
+      Service List
+    </a>
+  </div>
+</div>
\ No newline at end of file
diff --git a/views/ngXosViews/serviceGrid/src/templates/service-grid.tpl.html b/views/ngXosViews/serviceGrid/src/templates/service-grid.tpl.html
new file mode 100644
index 0000000..26f7281
--- /dev/null
+++ b/views/ngXosViews/serviceGrid/src/templates/service-grid.tpl.html
@@ -0,0 +1,14 @@
+<div class="row">
+  <div class="col-sm-10">
+    <xos-table config="vm.tableConfig" data="vm.services"></xos-table>
+  </div>
+  <div class="col-sm-2">
+    <a href="/admin/core/service/add" class="btn btn-success btn-block">
+      <i class="glyphicon glyphicon-plus"></i>
+      Add Service
+    </a>
+    <!-- <a href="#/graph" class="btn btn-default btn-block">
+      Tenancy Graph
+    </a> -->
+  </div>
+</div>
\ No newline at end of file
diff --git a/views/style/bs-config.js b/views/style/bs-config.js
index 2bc1416..b2eedc4 100644
--- a/views/style/bs-config.js
+++ b/views/style/bs-config.js
@@ -5,8 +5,10 @@
     '../../xos/core/xoslib/static/**/*.js',
     '../../xos/core/xoslib/static/**/*.css',
     '../../xos/core/dashboard/views/*.py',
+    '../../xos/core/views/*.py',
     '../../xos/templates/**/*.html',
-    '../../xos/core/static/xos.css'
+    '../../xos/core/static/xos.css',
+    '../../xos/xos/**/*.py'
   ],
   proxy: "xos.dev:9999",
   open: true
diff --git a/xos/configurations/common/fixtures.yaml b/xos/configurations/common/fixtures.yaml
index 6d9c0e8..a447e20 100644
--- a/xos/configurations/common/fixtures.yaml
+++ b/xos/configurations/common/fixtures.yaml
@@ -95,6 +95,11 @@
       properties:
           url: template:xosDeveloper_datatables
 
+    Services Grid:
+      type: tosca.nodes.DashboardView
+      properties:
+          url: template:xosServiceGrid
+
 # -----------------------------------------------------------------------------
 # Network Templates
 # -----------------------------------------------------------------------------
diff --git a/xos/configurations/frontend/Makefile b/xos/configurations/frontend/Makefile
index 7223cf7..87f4bd8 100644
--- a/xos/configurations/frontend/Makefile
+++ b/xos/configurations/frontend/Makefile
@@ -29,11 +29,6 @@
 django-restart:
 	sudo docker exec frontend_xos_1 touch /opt/xos/xos/settings.py
 
-mock-cord:
-	sudo docker-compose run xos python /opt/xos/tosca/run.py padmin@vicci.org /opt/xos/configurations/frontend/mocks/cord.yaml
-	sudo docker exec frontend_xos_1 cp /opt/xos/configurations/cord-pod/xos_cord_config /opt/xos/xos_configuration/
-	sudo docker exec frontend_xos_1 touch /opt/xos/xos/settings.py
-
 mock-cord-pod:
 	echo "make sure to add '../vtn/files/xos_vtn_config:/opt/xos/xos_configuration/xos_vtn_config:ro' to volumes section of docker-compose.yml"
 	sudo docker-compose run xos python /opt/xos/tosca/run.py padmin@vicci.org /opt/xos/configurations/common/fixtures.yaml
diff --git a/xos/configurations/frontend/docker-compose.yml b/xos/configurations/frontend/docker-compose.yml
index fae13ab..6895d42 100644
--- a/xos/configurations/frontend/docker-compose.yml
+++ b/xos/configurations/frontend/docker-compose.yml
@@ -20,10 +20,12 @@
         - xos_db
     volumes:
       - ../common/xos_common_config:/opt/xos/xos_configuration/xos_common_config
+      - ../vtn/files/xos_vtn_config:/opt/xos/xos_configuration/xos_vtn_config:ro
       - ../../core/xoslib:/opt/xos/core/xoslib
       - ../../core/static:/opt/xos/core/static
       - ../../core/dashboard:/opt/xos/core/dashboard
       - ../../core/templatetags:/opt/xos/core/templatetags
+      - ../../core/views:/opt/xos/core/views
       - ../../templates/admin:/opt/xos/templates/admin
       - ../../configurations:/opt/xos/configurations
       - ../../xos:/opt/xos/xos
diff --git a/xos/configurations/test-standalone/Makefile b/xos/configurations/test-standalone/Makefile
index 64335d3..1542d07 100644
--- a/xos/configurations/test-standalone/Makefile
+++ b/xos/configurations/test-standalone/Makefile
@@ -30,6 +30,7 @@
 	sudo docker exec teststandalone_xos_db_1 psql -U postgres -d xos -c "SELECT setval('core_tenant_id_seq', 1)" >/dev/null 2>&1
 	sudo docker exec teststandalone_xos_db_1 psql -U postgres -d xos -c "SELECT setval('core_deployment_id_seq', 1)" >/dev/null 2>&1
 	sudo docker exec teststandalone_xos_db_1 psql -U postgres -d xos -c "SELECT setval('core_flavor_id_seq', 1)" >/dev/null 2>&1
+	sudo docker exec teststandalone_xos_db_1 psql -U postgres -d xos -c "SELECT setval('core_service_id_seq', 1)" >/dev/null 2>&1
 	sudo docker-compose run xos python /opt/xos/manage.py --noobserver --nomodelpolicy loaddata /opt/xos/core/fixtures/core_initial_data.json
 	sudo docker-compose run xos python /opt/xos/tosca/run.py none /opt/xos/configurations/common/fixtures.yaml
 	sudo docker-compose run xos python /opt/xos/tosca/run.py none /opt/xos/configurations/common/mydeployment.yaml
diff --git a/xos/core/views/serviceGraph.py b/xos/core/views/serviceGraph.py
index 5ce0581..783a5e9 100644
--- a/xos/core/views/serviceGraph.py
+++ b/xos/core/views/serviceGraph.py
@@ -2,12 +2,55 @@
 from django.views.generic import TemplateView, View
 from django import template
 from core.models import *
+from core.dashboard.views import DashboardDynamicView
+from xos.config import XOS_DIR
 import json
 import os
 import time
 import tempfile
 
+
 class ServiceGridView(TemplateView):
+
+    head_template = r"""{% extends "admin/dashboard/dashboard_base.html" %}
+       {% load admin_static %}
+       {% block content %}
+    """
+
+    tail_template = r"{% endblock %}"
+
+    def readTemplate(self, fn):
+        TEMPLATE_DIRS = [XOS_DIR + "/templates/admin/dashboard/",
+                         XOS_DIR + "/core/xoslib/dashboards/"]
+
+        for template_dir in TEMPLATE_DIRS:
+            pathname = os.path.join(template_dir, fn) + ".html"
+            if os.path.exists(pathname):
+                break
+        else:
+            return "failed to find %s in %s" % (fn, TEMPLATE_DIRS)
+
+        template = open(pathname, "r").read()
+        return template
+
+    def get(self, request, name="root", *args, **kwargs):
+
+        dash = DashboardView.objects.get(name="Services Grid")
+
+        gridTemplate = self.readTemplate(dash.url[9:])
+
+        t = template.Template(self.head_template + gridTemplate + self.tail_template)
+
+        response_kwargs = {}
+        response_kwargs.setdefault('content_type', self.content_type)
+
+        return self.response_class(
+            request=request,
+            template=t,
+            **response_kwargs)
+
+
+class ServiceGridViewPy(TemplateView):
     head_template = r"""{% extends "admin/dashboard/dashboard_base.html" %}
        {% load admin_static %}
        {% block content %}
diff --git a/xos/core/xoslib/dashboards/xosSampleView.html b/xos/core/xoslib/dashboards/xosSampleView.html
deleted file mode 100644
index 6ebd9f3..0000000
--- a/xos/core/xoslib/dashboards/xosSampleView.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<!-- browserSync -->
-
-<!-- inject:css -->
-<link rel="stylesheet" href="/static/css/xosSampleView.css">
-<!-- endinject -->
-
-<div ng-app="xos.sampleView" id="xosSampleView" class="container-fluid">
-    <div ui-view></div>
-</div>
-
-
-<!-- inject:js -->
-<script src="/static/js/xosSampleView.js"></script>
-<!-- endinject -->
diff --git a/xos/core/xoslib/dashboards/xosServiceGrid.html b/xos/core/xoslib/dashboards/xosServiceGrid.html
new file mode 100644
index 0000000..50a050a
--- /dev/null
+++ b/xos/core/xoslib/dashboards/xosServiceGrid.html
@@ -0,0 +1,18 @@
+<!-- browserSync -->
+<!-- bower:css -->
+<!-- endbower -->
+<!-- endcss -->
+<!-- inject:css -->
+<link rel="stylesheet" href="/static/css/xosServiceGrid.css">
+<!-- endinject -->
+
+<div ng-app="xos.serviceGrid" id="xosServiceGrid" class="container-fluid">
+  <div ui-view></div>
+</div>
+
+<!-- bower:js -->
+<!-- endbower -->
+<!-- endjs -->
+<!-- inject:js -->
+<script src="/static/js/xosServiceGrid.js"></script>
+<!-- endinject -->
\ No newline at end of file
diff --git a/xos/core/xoslib/static/css/xosServiceGrid.css b/xos/core/xoslib/static/css/xosServiceGrid.css
new file mode 100644
index 0000000..c722065
--- /dev/null
+++ b/xos/core/xoslib/static/css/xosServiceGrid.css
@@ -0,0 +1 @@
+#xosServiceGrid service-graph{display:block;width:100%;height:600px}#xosServiceGrid .node{stroke:#337ab7;fill:white}#xosServiceGrid .node.xos{fill:#d9534f}#xosServiceGrid .link{stroke:black;stroke-width:2px}
\ No newline at end of file
diff --git a/xos/core/xoslib/static/js/vendor/ngXosHelpers.js b/xos/core/xoslib/static/js/vendor/ngXosHelpers.js
index 349b705..a9179c3 100644
--- a/xos/core/xoslib/static/js/vendor/ngXosHelpers.js
+++ b/xos/core/xoslib/static/js/vendor/ngXosHelpers.js
@@ -1,2221 +1 @@
-'use strict';
-
-/**
- * © OpenCORD
- *
- * Visit http://guide.xosproject.org/devguide/addview/ for more information
- *
- * Created by teone on 3/24/16.
- */
-
-(function () {
-  'use strict';
-
-  /**
-  * @ngdoc overview
-  * @name xos.uiComponents
-  * @description
-  * A collection of UI components useful for Dashboard development.
-  * Currently available components are:
-  * - [xosAlert](/#/module/xos.uiComponents.directive:xosAlert)
-  * - [xosForm](/#/module/xos.uiComponents.directive:xosForm)
-  * - [xosPagination](/#/module/xos.uiComponents.directive:xosPagination)
-  * - [xosSmartTable](/#/module/xos.uiComponents.directive:xosSmartTable)
-  * - [xosTable](/#/module/xos.uiComponents.directive:xosTable)
-  * - [xosValidation](/#/module/xos.uiComponents.directive:xosValidation)
-  **/
-
-  angular.module('xos.uiComponents', ['chart.js']);
-})();
-//# sourceMappingURL=../maps/ui_components/ui-components.module.js.map
-
-'use strict';
-
-/**
- * © OpenCORD
- *
- * Visit http://guide.xosproject.org/devguide/addview/ for more information
- *
- * Created by teone on 3/24/16.
- */
-
-(function () {
-  'use strict';
-
-  angular.module('xos.uiComponents')
-
-  /**
-  * @ngdoc directive
-  * @name xos.uiComponents.directive:xosSmartTable
-  * @link xos.uiComponents.directive:xosTable xosTable
-  * @link xos.uiComponents.directive:xosForm xosForm
-  * @restrict E
-  * @description The xos-table directive
-  * @param {Object} config The configuration for the component,
-  * it is composed by the name of an angular [$resource](https://docs.angularjs.org/api/ngResource/service/$resource)
-  * and an array of fields that shouldn't be printed.
-  * ```
-  * {
-      resource: 'Users',
-      hiddenFields: []
-    }
-  * ```
-  * @scope
-  * @example
-   <example module="sampleSmartTable">
-    <file name="index.html">
-      <div ng-controller="SampleCtrl as vm">
-        <xos-smart-table config="vm.config"></xos-smart-table>
-      </div>
-    </file>
-    <file name="script.js">
-      angular.module('sampleSmartTable', ['xos.uiComponents', 'ngResource', 'ngMockE2E'])
-      // This is only for documentation purpose
-      .run(function($httpBackend, _){
-        let datas = [{id: 1, name: 'Jhon', surname: 'Doe'}];
-        let count = 1;
-         let paramsUrl = new RegExp(/\/test\/(.+)/);
-         $httpBackend.whenDELETE(paramsUrl, undefined, ['id']).respond((method, url, data, headers, params) => {
-          data = angular.fromJson(data);
-          let id = url.match(paramsUrl)[1];
-          _.remove(datas, (d) => {
-            return d.id === parseInt(id);
-          })
-          return [204];
-        });
-         $httpBackend.whenGET('/test').respond(200, datas)
-        $httpBackend.whenPOST('/test').respond((method, url, data) => {
-          data = angular.fromJson(data);
-          data.id = ++count;
-          datas.push(data);
-          return [201, data, {}];
-        });
-      })
-      .factory('_', function($window){
-        return $window._;
-      })
-      .service('SampleResource', function($resource){
-        return $resource('/test/:id', {id: '@id'});
-      })
-      // End of documentation purpose, example start
-      .controller('SampleCtrl', function(){
-        this.config = {
-          resource: 'SampleResource'
-        };
-      });
-    </file>
-  </example>
-  */
-
-  .directive('xosSmartTable', function () {
-    return {
-      restrict: 'E',
-      scope: {
-        config: '='
-      },
-      template: '\n        <div class="row" ng-show="vm.data.length > 0">\n          <div class="col-xs-12 text-right">\n            <a href="" class="btn btn-success" ng-click="vm.createItem()">\n              Add\n            </a>\n          </div>\n        </div>\n        <div class="row">\n          <div class="col-xs-12 table-responsive">\n            <xos-table config="vm.tableConfig" data="vm.data"></xos-table>\n          </div>\n        </div>\n        <div class="panel panel-default" ng-show="vm.detailedItem">\n          <div class="panel-heading">\n            <div class="row">\n              <div class="col-xs-11">\n                <h3 class="panel-title" ng-show="vm.detailedItem.id">Update {{vm.config.resource}} {{vm.detailedItem.id}}</h3>\n                <h3 class="panel-title" ng-show="!vm.detailedItem.id">Create {{vm.config.resource}} item</h3>\n              </div>\n              <div class="col-xs-1">\n                <a href="" ng-click="vm.cleanForm()">\n                  <i class="glyphicon glyphicon-remove pull-right"></i>\n                </a>\n              </div>\n            </div>\n          </div>\n          <div class="panel-body">\n            <xos-form config="vm.formConfig" ng-model="vm.detailedItem"></xos-form>\n          </div>\n        </div>\n        <xos-alert config="{type: \'success\', closeBtn: true}" show="vm.responseMsg">{{vm.responseMsg}}</xos-alert>\n        <xos-alert config="{type: \'danger\', closeBtn: true}" show="vm.responseErr">{{vm.responseErr}}</xos-alert>\n      ',
-      bindToController: true,
-      controllerAs: 'vm',
-      controller: ["$injector", "LabelFormatter", "_", "XosFormHelpers", function controller($injector, LabelFormatter, _, XosFormHelpers) {
-        var _this = this;
-
-        // TODO
-        // - Validate the config (what if resource does not exist?)
-
-        // NOTE
-        // Corner case
-        // - if response is empty, how can we generate a form ?
-
-        this.responseMsg = false;
-        this.responseErr = false;
-
-        this.tableConfig = {
-          columns: [],
-          actions: [{
-            label: 'delete',
-            icon: 'remove',
-            cb: function cb(item) {
-              _this.Resource.delete({ id: item.id }).$promise.then(function () {
-                _.remove(_this.data, function (d) {
-                  return d.id === item.id;
-                });
-                _this.responseMsg = _this.config.resource + ' with id ' + item.id + ' successfully deleted';
-              }).catch(function (err) {
-                _this.responseErr = err.data.detail || 'Error while deleting ' + _this.config.resource + ' with id ' + item.id;
-              });
-            },
-            color: 'red'
-          }, {
-            label: 'details',
-            icon: 'search',
-            cb: function cb(item) {
-              _this.detailedItem = item;
-            }
-          }],
-          classes: 'table table-striped table-bordered table-responsive',
-          filter: 'field',
-          order: true,
-          pagination: {
-            pageSize: 10
-          }
-        };
-
-        this.formConfig = {
-          exclude: this.config.hiddenFields,
-          fields: {},
-          formName: this.config.resource + 'Form',
-          actions: [{
-            label: 'Save',
-            icon: 'ok',
-            cb: function cb(item) {
-              var p = void 0;
-              var isNew = true;
-
-              if (item.id) {
-                p = item.$update();
-                isNew = false;
-              } else {
-                p = item.$save();
-              }
-
-              p.then(function (res) {
-                if (isNew) {
-                  _this.data.push(angular.copy(res));
-                }
-                delete _this.detailedItem;
-                _this.responseMsg = _this.config.resource + ' with id ' + item.id + ' successfully saved';
-              }).catch(function (err) {
-                _this.responseErr = err.data.detail || 'Error while saving ' + _this.config.resource + ' with id ' + item.id;
-              });
-            },
-            class: 'success'
-          }]
-        };
-
-        this.cleanForm = function () {
-          delete _this.detailedItem;
-        };
-
-        this.createItem = function () {
-          _this.detailedItem = new _this.Resource();
-        };
-
-        this.Resource = $injector.get(this.config.resource);
-
-        var getData = function getData() {
-          _this.Resource.query().$promise.then(function (res) {
-
-            if (!res[0]) {
-              return;
-            }
-
-            var item = res[0];
-            var props = Object.keys(item);
-
-            _.remove(props, function (p) {
-              return p == 'id' || p == 'validators';
-            });
-
-            // TODO move out cb
-            if (angular.isArray(_this.config.hiddenFields)) {
-              props = _.difference(props, _this.config.hiddenFields);
-            }
-
-            var labels = props.map(function (p) {
-              return LabelFormatter.format(p);
-            });
-
-            props.forEach(function (p, i) {
-              _this.tableConfig.columns.push({
-                label: labels[i],
-                prop: p
-              });
-            });
-
-            // build form structure
-            props.forEach(function (p, i) {
-              _this.formConfig.fields[p] = {
-                label: LabelFormatter.format(labels[i]).replace(':', ''),
-                type: XosFormHelpers._getFieldFormat(item[p])
-              };
-            });
-
-            _this.data = res;
-          });
-        };
-
-        getData();
-      }]
-    };
-  });
-})();
-//# sourceMappingURL=../../../maps/ui_components/smartComponents/smartTable/smartTable.component.js.map
-
-'use strict';
-
-/**
- * © OpenCORD
- *
- * Visit http://guide.xosproject.org/devguide/addview/ for more information
- *
- * Created by teone on 3/24/16.
- */
-
-(function () {
-  'use strict';
-
-  angular.module('xos.uiComponents')
-  /**
-    * @ngdoc directive
-    * @name xos.uiComponents.directive:xosSmartPie
-    * @restrict E
-    * @description The xos-table directive
-    * @param {Object} config The configuration for the component,
-    * it is composed by the name of an angular [$resource](https://docs.angularjs.org/api/ngResource/service/$resource)
-    * and a field name that is used to group the data.
-    * ```
-    * {
-        resource: 'Users',
-        groupBy: 'fieldName',
-        classes: 'my-custom-class',
-        labelFormatter: (labels) => {
-          // here you can format your label,
-          // you should return an array with the same order
-          return labels;
-        }
-      }
-    * ```
-    * @scope
-    * @example
-    
-    Displaying Local data
-     <example module="sampleSmartPieLocal">
-      <file name="index.html">
-        <div ng-controller="SampleCtrlLocal as vm">
-          <xos-smart-pie config="vm.configLocal"></xos-smart-pie>
-        </div>
-      </file>
-      <file name="script.js">
-        angular.module('sampleSmartPieLocal', ['xos.uiComponents'])
-        .factory('_', function($window){
-          return $window._;
-        })
-        .controller('SampleCtrlLocal', function($timeout){
-          
-          this.datas = [
-            {id: 1, first_name: 'Jon', last_name: 'aaa', category: 2},
-            {id: 2, first_name: 'Danaerys', last_name: 'Targaryen', category: 1},
-            {id: 3, first_name: 'Aria', last_name: 'Stark', category: 2}
-          ];
-           this.configLocal = {
-            data: [],
-            groupBy: 'category',
-            classes: 'local',
-            labelFormatter: (labels) => {
-              return labels.map(l => l === '1' ? 'North' : 'Dragon');
-            }
-          };
-          
-          $timeout(() => {
-            // this need to be triggered in this way just because of ngDoc,
-            // otherwise you can assign data directly in the config
-            this.configLocal.data = this.datas;
-          }, 1)
-        });
-      </file>
-    </example>
-     Fetching data from API
-     <example module="sampleSmartPieResource">
-      <file name="index.html">
-        <div ng-controller="SampleCtrl as vm">
-          <xos-smart-pie config="vm.config"></xos-smart-pie>
-        </div>
-      </file>
-      <file name="script.js">
-        angular.module('sampleSmartPieResource', ['xos.uiComponents', 'ngResource', 'ngMockE2E'])
-        .controller('SampleCtrl', function(){
-          this.config = {
-            resource: 'SampleResource',
-            groupBy: 'category',
-            classes: 'resource',
-            labelFormatter: (labels) => {
-              return labels.map(l => l === '1' ? 'North' : 'Dragon');
-            }
-          };
-        });
-      </file>
-      <file name="backendPoll.js">
-        angular.module('sampleSmartPieResource')
-        .run(function($httpBackend, _){
-          let datas = [
-            {id: 1, first_name: 'Jon', last_name: 'Snow', category: 1},
-            {id: 2, first_name: 'Danaerys', last_name: 'Targaryen', category: 2},
-            {id: 3, first_name: 'Aria', last_name: 'Stark', category: 1}
-          ];
-           $httpBackend.whenGET('/test').respond(200, datas)
-        })
-        .factory('_', function($window){
-          return $window._;
-        })
-        .service('SampleResource', function($resource){
-          return $resource('/test/:id', {id: '@id'});
-        })
-      </file>
-    </example>
-     Polling data from API
-     <example module="sampleSmartPiePoll">
-      <file name="index.html">
-        <div ng-controller="SampleCtrl as vm">
-          <xos-smart-pie config="vm.config"></xos-smart-pie>
-        </div>
-      </file>
-      <file name="script.js">
-        angular.module('sampleSmartPiePoll', ['xos.uiComponents', 'ngResource', 'ngMockE2E'])
-        .controller('SampleCtrl', function(){
-          this.config = {
-            resource: 'SampleResource',
-            groupBy: 'category',
-            poll: 2,
-            labelFormatter: (labels) => {
-              return labels.map(l => l === '1' ? 'Active' : 'Banned');
-            }
-          };
-        });
-      </file>
-      <file name="backend.js">
-        angular.module('sampleSmartPiePoll')
-        .run(function($httpBackend, _){
-          let mock = [
-            [
-              {id: 1, first_name: 'Jon', last_name: 'Snow', category: 1},
-              {id: 2, first_name: 'Danaerys', last_name: 'Targaryen', category: 2},
-              {id: 3, first_name: 'Aria', last_name: 'Stark', category: 1},
-              {id: 3, first_name: 'Tyrion', last_name: 'Lannister', category: 1}
-            ],
-             [
-              {id: 1, first_name: 'Jon', last_name: 'Snow', category: 1},
-              {id: 2, first_name: 'Danaerys', last_name: 'Targaryen', category: 2},
-              {id: 3, first_name: 'Aria', last_name: 'Stark', category: 2},
-              {id: 3, first_name: 'Tyrion', last_name: 'Lannister', category: 2}
-            ],
-             [
-              {id: 1, first_name: 'Jon', last_name: 'Snow', category: 1},
-              {id: 2, first_name: 'Danaerys', last_name: 'Targaryen', category: 2},
-              {id: 3, first_name: 'Aria', last_name: 'Stark', category: 1},
-              {id: 3, first_name: 'Tyrion', last_name: 'Lannister', category: 2}
-            ]
-          ];
-          $httpBackend.whenGET('/test').respond(function(method, url, data, headers, params) {
-            return [200, mock[Math.round(Math.random() * 3)]];
-          });
-        })
-        .factory('_', function($window){
-          return $window._;
-        })
-        .service('SampleResource', function($resource){
-          return $resource('/test/:id', {id: '@id'});
-        })
-      </file>
-    </example>
-    */
-  .directive('xosSmartPie', function () {
-    return {
-      restrict: 'E',
-      scope: {
-        config: '='
-      },
-      template: '\n        <canvas\n          class="chart chart-pie {{vm.config.classes}}"\n          chart-data="vm.data" chart-labels="vm.labels"\n          chart-legend="{{vm.config.legend}}">\n        </canvas>\n      ',
-      bindToController: true,
-      controllerAs: 'vm',
-      controller: ["$injector", "$timeout", "$interval", "$scope", "_", function controller($injector, $timeout, $interval, $scope, _) {
-        var _this = this;
-
-        if (!this.config.resource && !this.config.data) {
-          throw new Error('[xosSmartPie] Please provide a resource or an array of data in the configuration');
-        }
-
-        var groupData = function groupData(data) {
-          return _.groupBy(data, _this.config.groupBy);
-        };
-        var formatData = function formatData(data) {
-          return _.reduce(Object.keys(data), function (list, group) {
-            return list.concat(data[group].length);
-          }, []);
-        };
-        var formatLabels = function formatLabels(data) {
-          return angular.isFunction(_this.config.labelFormatter) ? _this.config.labelFormatter(Object.keys(data)) : Object.keys(data);
-        };
-
-        var prepareData = function prepareData(data) {
-          // group data
-          var grouped = groupData(data);
-          _this.data = formatData(grouped);
-          // create labels
-          _this.labels = formatLabels(grouped);
-        };
-
-        if (this.config.resource) {
-          (function () {
-
-            _this.Resource = $injector.get(_this.config.resource);
-            var getData = function getData() {
-              _this.Resource.query().$promise.then(function (res) {
-
-                if (!res[0]) {
-                  return;
-                }
-
-                prepareData(res);
-              });
-            };
-
-            getData();
-
-            if (_this.config.poll) {
-              $interval(function () {
-                getData();
-              }, _this.config.poll * 1000);
-            }
-          })();
-        } else {
-          $scope.$watch(function () {
-            return _this.config.data;
-          }, function (data) {
-            if (data) {
-              prepareData(_this.config.data);
-            }
-          }, true);
-        }
-      }]
-    };
-  });
-})();
-//# sourceMappingURL=../../../maps/ui_components/smartComponents/smartPie/smartPie.component.js.map
-
-'use strict';
-
-/**
- * © OpenCORD
- *
- * Visit http://guide.xosproject.org/devguide/addview/ for more information
- *
- * Created by teone on 4/15/16.
- */
-
-(function () {
-  'use strict';
-
-  angular.module('xos.uiComponents')
-
-  /**
-    * @ngdoc directive
-    * @name xos.uiComponents.directive:xosValidation
-    * @restrict E
-    * @description The xos-validation directive
-    * @param {Object} errors The error object
-    * @element ANY
-    * @scope
-  * @example
-  <example module="sampleValidation">
-    <file name="index.html">
-      <div ng-controller="SampleCtrl as vm">
-        <div class="row">
-          <div class="col-xs-12">
-            <label>Set an error type:</label>
-          </div>
-          <div class="col-xs-2">
-            <a class="btn"
-              ng-click="vm.errors.required = !vm.errors.required"
-              ng-class="{'btn-default': !vm.errors.required, 'btn-success': vm.errors.required}">
-              Required
-            </a>
-          </div>
-          <div class="col-xs-2">
-            <a class="btn"
-              ng-click="vm.errors.email = !vm.errors.email"
-              ng-class="{'btn-default': !vm.errors.email, 'btn-success': vm.errors.email}">
-              Email
-            </a>
-          </div>
-          <div class="col-xs-2">
-            <a class="btn"
-              ng-click="vm.errors.minlength = !vm.errors.minlength"
-              ng-class="{'btn-default': !vm.errors.minlength, 'btn-success': vm.errors.minlength}">
-              Min Length
-            </a>
-          </div>
-          <div class="col-xs-2">
-            <a class="btn"
-              ng-click="vm.errors.maxlength = !vm.errors.maxlength"
-              ng-class="{'btn-default': !vm.errors.maxlength, 'btn-success': vm.errors.maxlength}">
-              Max Length
-            </a>
-          </div>
-        </div>
-        <xos-validation errors="vm.errors"></xos-validation>
-      </div>
-    </file>
-    <file name="script.js">
-      angular.module('sampleValidation', ['xos.uiComponents'])
-      .controller('SampleCtrl', function(){
-        this.errors = {
-          email: false
-        }
-      });
-    </file>
-  </example>
-    */
-
-  .directive('xosValidation', function () {
-    return {
-      restrict: 'E',
-      scope: {
-        errors: '='
-      },
-      template: '\n        <div ng-cloak>\n          <!-- <pre>{{vm.errors.email | json}}</pre> -->\n          <xos-alert config="vm.config" show="vm.errors.required !== undefined && vm.errors.required !== false">\n            Field required\n          </xos-alert>\n          <xos-alert config="vm.config" show="vm.errors.email !== undefined && vm.errors.email !== false">\n            This is not a valid email\n          </xos-alert>\n          <xos-alert config="vm.config" show="vm.errors.minlength !== undefined && vm.errors.minlength !== false">\n            Too short\n          </xos-alert>\n          <xos-alert config="vm.config" show="vm.errors.maxlength !== undefined && vm.errors.maxlength !== false">\n            Too long\n          </xos-alert>\n          <xos-alert config="vm.config" show="vm.errors.custom !== undefined && vm.errors.custom !== false">\n            Field invalid\n          </xos-alert>\n        </div>\n      ',
-      transclude: true,
-      bindToController: true,
-      controllerAs: 'vm',
-      controller: function controller() {
-        this.config = {
-          type: 'danger'
-        };
-      }
-    };
-  });
-})();
-//# sourceMappingURL=../../../maps/ui_components/dumbComponents/validation/validation.component.js.map
-
-'use strict';
-
-/**
- * © OpenCORD
- *
- * Visit http://guide.xosproject.org/devguide/addview/ for more information
- *
- * Created by teone on 3/24/16.
- */
-
-(function () {
-  'use strict';
-
-  angular.module('xos.uiComponents')
-
-  /**
-  * @ngdoc directive
-  * @name xos.uiComponents.directive:xosTable
-  * @restrict E
-  * @description The xos-table directive
-  * @param {Object} config The configuration for the component.
-  * ```
-  * {
-  *   columns: [
-  *     {
-  *       label: 'Human readable name',
-  *       prop: 'Property to read in the model object'
-  *     }
-  *   ],
-  *   classes: 'table table-striped table-bordered',
-  *   actions: [ // if defined add an action column
-        {
-          label: 'delete',
-          icon: 'remove', // refers to bootstraps glyphicon
-          cb: (user) => { // receive the model
-            console.log(user);
-          },
-          color: 'red'
-        }
-      ],
-      filter: 'field', // can be by `field` or `fulltext`
-      order: true // whether to show ordering arrows
-  * }
-  * ```
-  * @param {Array} data The data that should be rendered
-  * @element ANY
-  * @scope
-  * @example
-   # Basic usage
-  <example module="sampleTable1">
-  <file name="index.html">
-    <div ng-controller="SampleCtrl1 as vm">
-      <xos-table data="vm.data" config="vm.config"></xos-table>
-    </div>
-  </file>
-  <file name="script.js">
-    angular.module('sampleTable1', ['xos.uiComponents'])
-    .factory('_', function($window){
-      return $window._;
-    })
-    .controller('SampleCtrl1', function(){
-      this.config = {
-        columns: [
-          {
-            label: 'First Name', // column title
-            prop: 'name' // property to read in the data array
-          },
-          {
-            label: 'Last Name',
-            prop: 'lastname'
-          }
-        ]
-      };
-       this.data = [
-        {
-          name: 'John',
-          lastname: 'Doe'
-        },
-        {
-          name: 'Gili',
-          lastname: 'Fereydoun'
-        }
-      ]
-    });
-  </file>
-  </example>
-   # Filtering
-  <example module="sampleTable2" animations="true">
-  <file name="index.html">
-    <div ng-controller="SampleCtrl2 as vm">
-      <xos-table data="vm.data" config="vm.config"></xos-table>
-    </div>
-  </file>
-  <file name="script.js">
-    angular.module('sampleTable2', ['xos.uiComponents', 'ngAnimate'])
-    .factory('_', function($window){
-      return $window._;
-    })
-    .controller('SampleCtrl2', function(){
-      this.config = {
-        columns: [
-          {
-            label: 'First Name', // column title
-            prop: 'name' // property to read in the data array
-          },
-          {
-            label: 'Last Name',
-            prop: 'lastname'
-          }
-        ],
-        classes: 'table table-striped table-condensed', // table classes, default to `table table-striped table-bordered`
-        actions: [ // if defined add an action column
-          {
-            label: 'delete', // label
-            icon: 'remove', // icons, refers to bootstraps glyphicon
-            cb: (user) => { // callback, get feeded with the full object
-              console.log(user);
-            },
-            color: 'red' // icon color
-          }
-        ],
-        filter: 'field', // can be by `field` or `fulltext`
-        order: true
-      };
-       this.data = [
-        {
-          name: 'John',
-          lastname: 'Doe'
-        },
-        {
-          name: 'Gili',
-          lastname: 'Fereydoun'
-        }
-      ]
-    });
-  </file>
-  </example>
-   # Pagination
-  <example module="sampleTable3">
-  <file name="index.html">
-    <div ng-controller="SampleCtrl3 as vm">
-      <xos-table data="vm.data" config="vm.config"></xos-table>
-    </div>
-  </file>
-  <file name="script.js">
-    angular.module('sampleTable3', ['xos.uiComponents'])
-    .factory('_', function($window){
-      return $window._;
-    })
-    .controller('SampleCtrl3', function(){
-      this.config = {
-        columns: [
-          {
-            label: 'First Name', // column title
-            prop: 'name' // property to read in the data array
-          },
-          {
-            label: 'Last Name',
-            prop: 'lastname'
-          }
-        ],
-        pagination: {
-          pageSize: 2
-        }
-      };
-       this.data = [
-        {
-          name: 'John',
-          lastname: 'Doe'
-        },
-        {
-          name: 'Gili',
-          lastname: 'Fereydoun'
-        },
-        {
-          name: 'Lucky',
-          lastname: 'Clarkson'
-        },
-        {
-          name: 'Tate',
-          lastname: 'Spalding'
-        }
-      ]
-    });
-  </file>
-  </example>
-   # Field formatter
-  <example module="sampleTable4">
-  <file name="index.html">
-    <div ng-controller="SampleCtrl as vm">
-      <xos-table data="vm.data" config="vm.config"></xos-table>
-    </div>
-  </file>
-  <file name="script.js">
-    angular.module('sampleTable4', ['xos.uiComponents'])
-    .factory('_', function($window){
-      return $window._;
-    })
-    .controller('SampleCtrl', function(){
-      this.config = {
-        columns: [
-          {
-            label: 'First Name',
-            prop: 'name',
-            link: item => `https://www.google.it/#q=${item.name}`
-          },
-          {
-            label: 'Enabled',
-            prop: 'enabled',
-            type: 'boolean'
-          },
-          {
-            label: 'Services',
-            prop: 'services',
-            type: 'array'
-          },
-          {
-            label: 'Details',
-            prop: 'details',
-            type: 'object'
-          }
-        ]
-      };
-       this.data = [
-        {
-          name: 'John',
-          enabled: true,
-          services: ['Cdn', 'IpTv'],
-          details: {
-            c_tag: '243',
-            s_tag: '444'
-          }
-        },
-        {
-          name: 'Gili',
-          enabled: false,
-          services: ['Cdn', 'IpTv', 'Cache'],
-          details: {
-            c_tag: '675',
-            s_tag: '893'
-          }
-        }
-      ]
-    });
-  </file>
-  </example>
-  # Custom formatter
-  <example module="sampleTable5">
-  <file name="index.html">
-    <div ng-controller="SampleCtrl as vm">
-      <xos-table data="vm.data" config="vm.config"></xos-table>
-    </div>
-  </file>
-  <file name="script.js">
-    angular.module('sampleTable5', ['xos.uiComponents'])
-    .factory('_', function($window){
-      return $window._;
-    })
-    .controller('SampleCtrl', function(){
-      this.config = {
-        columns: [
-          {
-            label: 'Username',
-            prop: 'username'
-          },
-          {
-            label: 'Features',
-            prop: 'features',
-            type: 'custom',
-            formatter: (val) => {
-              
-              let cdnEnabled = val.cdn ? 'enabled' : 'disabled';
-              return `
-                Cdn is ${cdnEnabled},
-                uplink speed is ${val.uplink_speed}
-                and downlink speed is ${val.downlink_speed}
-              `;
-            }
-          }
-        ]
-      };
-       this.data = [
-        {
-          username: 'John',
-          features: {
-            "cdn": false,
-            "uplink_speed": 1000000000,
-            "downlink_speed": 1000000000,
-            "uverse": true,
-            "status": "enabled"
-          }
-        },
-        {
-          username: 'Gili',
-          features: {
-            "cdn": true,
-            "uplink_speed": 3000000000,
-            "downlink_speed": 2000000000,
-            "uverse": true,
-            "status": "enabled"
-          }
-        }
-      ]
-    });
-  </file>
-  </example>
-  **/
-
-  .directive('xosTable', function () {
-    return {
-      restrict: 'E',
-      scope: {
-        data: '=',
-        config: '='
-      },
-      template: '\n          <div ng-show="vm.data.length > 0">\n            <div class="row" ng-if="vm.config.filter == \'fulltext\'">\n              <div class="col-xs-12">\n                <input\n                  class="form-control"\n                  placeholder="Type to search.."\n                  type="text"\n                  ng-model="vm.query"/>\n              </div>\n            </div>\n            <table ng-class="vm.classes" ng-hide="vm.data.length == 0">\n              <thead>\n                <tr>\n                  <th ng-repeat="col in vm.columns">\n                    {{col.label}}\n                    <span ng-if="vm.config.order">\n                      <a href="" ng-click="vm.orderBy = col.prop; vm.reverse = false">\n                        <i class="glyphicon glyphicon-chevron-up"></i>\n                      </a>\n                      <a href="" ng-click="vm.orderBy = col.prop; vm.reverse = true">\n                        <i class="glyphicon glyphicon-chevron-down"></i>\n                      </a>\n                    </span>\n                  </th>\n                  <th ng-if="vm.config.actions">Actions:</th>\n                </tr>\n              </thead>\n              <tbody ng-if="vm.config.filter == \'field\'">\n                <tr>\n                  <td ng-repeat="col in vm.columns">\n                    <input\n                      class="form-control"\n                      placeholder="Type to search by {{col.label}}"\n                      type="text"\n                      ng-model="vm.query[col.prop]"/>\n                  </td>\n                  <td ng-if="vm.config.actions"></td>\n                </tr>\n              </tbody>\n              <tbody>\n                <tr ng-repeat="item in vm.data | filter:vm.query | orderBy:vm.orderBy:vm.reverse | pagination:vm.currentPage * vm.config.pagination.pageSize | limitTo: (vm.config.pagination.pageSize || vm.data.length) track by $index">\n                  <td ng-repeat="col in vm.columns" link-wrapper>\n                    <span ng-if="!col.type">{{item[col.prop]}}</span>\n                    <span ng-if="col.type === \'boolean\'">\n                      <i class="glyphicon"\n                        ng-class="{\'glyphicon-ok\': item[col.prop], \'glyphicon-remove\': !item[col.prop]}">\n                      </i>\n                    </span>\n                    <span ng-if="col.type === \'date\'">\n                      {{item[col.prop] | date:\'H:mm MMM d, yyyy\'}}\n                    </span>\n                    <span ng-if="col.type === \'array\'">\n                      {{item[col.prop] | arrayToList}}\n                    </span>\n                    <span ng-if="col.type === \'object\'">\n                      <dl class="dl-horizontal">\n                        <span ng-repeat="(k,v) in item[col.prop]">\n                          <dt>{{k}}</dt>\n                          <dd>{{v}}</dd>\n                        </span>\n                      </dl>\n                    </span>\n                    <span ng-if="col.type === \'custom\'">\n                      {{col.formatter(item[col.prop])}}\n                    </span>\n                  </td>\n                  <td ng-if="vm.config.actions">\n                    <a href=""\n                      ng-repeat="action in vm.config.actions"\n                      ng-click="action.cb(item)"\n                      title="{{action.label}}">\n                      <i\n                        class="glyphicon glyphicon-{{action.icon}}"\n                        style="color: {{action.color}};"></i>\n                    </a>\n                  </td>\n                </tr>\n              </tbody>\n            </table>\n            <xos-pagination\n              ng-if="vm.config.pagination"\n              page-size="vm.config.pagination.pageSize"\n              total-elements="vm.data.length"\n              change="vm.goToPage">\n              </xos-pagination>\n          </div>\n          <div ng-show="vm.data.length == 0 || !vm.data">\n             <xos-alert config="{type: \'info\'}">\n              No data to show.\n            </xos-alert>\n          </div>\n        ',
-      bindToController: true,
-      controllerAs: 'vm',
-      controller: ["_", function controller(_) {
-        var _this = this;
-
-        if (!this.config) {
-          throw new Error('[xosTable] Please provide a configuration via the "config" attribute');
-        }
-
-        if (!this.config.columns) {
-          throw new Error('[xosTable] Please provide a columns list in the configuration');
-        }
-
-        // if columns with type 'custom' are provide
-        // check that a custom formatted is provided too
-        var customCols = _.filter(this.config.columns, { type: 'custom' });
-        if (angular.isArray(customCols) && customCols.length > 0) {
-          _.forEach(customCols, function (col) {
-            if (!col.formatter || !angular.isFunction(col.formatter)) {
-              throw new Error('[xosTable] You have provided a custom field type, a formatter function should provided too.');
-            }
-          });
-        }
-
-        // if a link property is passed,
-        // it should be a function
-        var linkedColumns = _.filter(this.config.columns, function (col) {
-          return angular.isDefined(col.link);
-        });
-        if (angular.isArray(linkedColumns) && linkedColumns.length > 0) {
-          _.forEach(linkedColumns, function (col) {
-            if (!angular.isFunction(col.link)) {
-              throw new Error('[xosTable] The link property should be a function.');
-            }
-          });
-        }
-
-        this.columns = this.config.columns;
-        this.classes = this.config.classes || 'table table-striped table-bordered';
-
-        if (this.config.actions) {
-          // TODO validate action format
-        }
-        if (this.config.pagination) {
-          this.currentPage = 0;
-          this.goToPage = function (n) {
-            _this.currentPage = n;
-          };
-        }
-      }]
-    };
-  })
-  // TODO move in separate files
-  // TODO test
-  .filter('arrayToList', function () {
-    return function (input) {
-      if (!angular.isArray(input)) {
-        return input;
-      }
-      return input.join(', ');
-    };
-  })
-  // TODO test
-  .directive('linkWrapper', function () {
-    return {
-      restrict: 'A',
-      transclude: true,
-      template: '\n          <a ng-if="col.link" href="{{col.link(item)}}">\n            <div ng-transclude></div>\n          </a>\n          <div ng-transclude ng-if="!col.link"></div>\n        '
-    };
-  });
-})();
-//# sourceMappingURL=../../../maps/ui_components/dumbComponents/table/table.component.js.map
-
-'use strict';
-
-var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; };
-
-/**
- * © OpenCORD
- *
- * Visit http://guide.xosproject.org/devguide/addview/ for more information
- *
- * Created by teone on 4/18/16.
- */
-
-(function () {
-  'use strict';
-
-  angular.module('xos.uiComponents')
-
-  /**
-    * @ngdoc directive
-    * @name xos.uiComponents.directive:xosForm
-    * @restrict E
-    * @description The xos-form directive.
-    * This components have two usage, given a model it is able to autogenerate a form or it can be configured to create a custom form.
-    * @param {Object} config The configuration object
-    * ```
-    * {
-    *   exclude: ['id', 'validators', 'created', 'updated', 'deleted'], //field to be skipped in the form, the provide values are concatenated
-    *   actions: [ // define the form buttons with related callback
-    *     {
-            label: 'save',
-            icon: 'ok', // refers to bootstraps glyphicon
-            cb: (user) => { // receive the model
-              console.log(user);
-            },
-            class: 'success'
-          }
-    *   ],
-    *   fields: {
-    *     field_name: {
-    *       label: 'Field Label',
-    *       type: 'string' // options are: [date, boolean, number, email, string],
-    *       validators: {
-    *         minlength: number,
-              maxlength: number,
-              required: boolean,
-              min: number,
-              max: number
-    *       }
-    *     }
-    *   }
-    * }
-    * ```
-    * @element ANY
-    * @scope
-    * @example
-    
-    Autogenerated form
-   <example module="sampleForm">
-    <file name="script.js">
-      angular.module('sampleForm', ['xos.uiComponents'])
-      .factory('_', function($window){
-        return $window._;
-      })
-      .controller('SampleCtrl', function(){
-        this.model = {
-          first_name: 'Jhon',
-          last_name: 'Doe',
-          email: 'jhon.doe@sample.com',
-          active: true,
-          birthDate: '2015-02-17T22:06:38.059000Z'
-        }
-        this.config = {
-          exclude: ['password', 'last_login'],
-          formName: 'sampleForm',
-          actions: [
-            {
-              label: 'Save',
-              icon: 'ok', // refers to bootstraps glyphicon
-              cb: (user) => { // receive the model
-                console.log(user);
-              },
-              class: 'success'
-            }
-          ]
-        };
-      });
-    </file>
-    <file name="index.html">
-      <div ng-controller="SampleCtrl as vm">
-        <xos-form ng-model="vm.model" config="vm.config"></xos-form>
-      </div>
-    </file>
-  </example>
-   Configuration defined form
-   <example module="sampleForm1">
-    <file name="script.js">
-      angular.module('sampleForm1', ['xos.uiComponents'])
-      .factory('_', function($window){
-        return $window._;
-      })
-      .controller('SampleCtrl1', function(){
-        this.model = {
-        };
-         this.config = {
-          exclude: ['password', 'last_login'],
-          formName: 'sampleForm1',
-          actions: [
-            {
-              label: 'Save',
-              icon: 'ok', // refers to bootstraps glyphicon
-              cb: (user) => { // receive the model
-                console.log(user);
-              },
-              class: 'success'
-            }
-          ],
-          fields: {
-            first_name: {
-              type: 'string',
-              validators: {
-                required: true
-              }
-            },
-            last_name: {
-              label: 'Surname',
-              type: 'string',
-              validators: {
-                required: true,
-                minlength: 10
-              }
-            },
-            age: {
-              type: 'number',
-              validators: {
-                required: true,
-                min: 21
-              }
-            },
-          }
-        };
-      });
-    </file>
-    <file name="index.html">
-      <div ng-controller="SampleCtrl1 as vm">
-        <xos-form ng-model="vm.model" config="vm.config"></xos-form>
-      </div>
-    </file>
-  </example>
-   **/
-
-  .directive('xosForm', function () {
-    return {
-      restrict: 'E',
-      scope: {
-        config: '=',
-        ngModel: '='
-      },
-      template: '\n        <ng-form name="vm.{{vm.config.formName || \'form\'}}">\n          <div class="form-group" ng-repeat="(name, field) in vm.formField">\n            <label>{{field.label}}</label>\n            <input\n              ng-if="field.type !== \'boolean\'"\n              type="{{field.type}}"\n              name="{{name}}"\n              class="form-control"\n              ng-model="vm.ngModel[name]"\n              ng-minlength="field.validators.minlength || 0"\n              ng-maxlength="field.validators.maxlength || 2000"\n              ng-required="field.validators.required || false" />\n            <span class="boolean-field" ng-if="field.type === \'boolean\'">\n              <button\n                class="btn btn-success"\n                ng-show="vm.ngModel[name]"\n                ng-click="vm.ngModel[name] = false">\n                <i class="glyphicon glyphicon-ok"></i>\n              </button>\n              <button\n                class="btn btn-danger"\n                ng-show="!vm.ngModel[name]"\n                ng-click="vm.ngModel[name] = true">\n                <i class="glyphicon glyphicon-remove"></i>\n              </button>\n            </span>\n            <!-- <pre>{{vm[vm.config.formName][name].$error | json}}</pre> -->\n            <xos-validation errors="vm[vm.config.formName || \'form\'][name].$error"></xos-validation>\n          </div>\n          <div class="form-group" ng-if="vm.config.actions">\n            <button role="button" href=""\n              ng-repeat="action in vm.config.actions"\n              ng-click="action.cb(vm.ngModel)"\n              class="btn btn-{{action.class}}"\n              title="{{action.label}}">\n              <i class="glyphicon glyphicon-{{action.icon}}"></i>\n              {{action.label}}\n            </button>\n          </div>\n        </ng-form>\n      ',
-      bindToController: true,
-      controllerAs: 'vm',
-      controller: ["$scope", "$log", "_", "XosFormHelpers", function controller($scope, $log, _, XosFormHelpers) {
-        var _this = this;
-
-        if (!this.config) {
-          throw new Error('[xosForm] Please provide a configuration via the "config" attribute');
-        }
-
-        if (!this.config.actions) {
-          throw new Error('[xosForm] Please provide an action list in the configuration');
-        }
-
-        this.excludedField = ['id', 'validators', 'created', 'updated', 'deleted', 'backend_status'];
-        if (this.config && this.config.exclude) {
-          this.excludedField = this.excludedField.concat(this.config.exclude);
-        }
-
-        this.formField = [];
-        $scope.$watch(function () {
-          return _this.ngModel;
-        }, function (model) {
-
-          // empty from old stuff
-          _this.formField = {};
-
-          if (!model) {
-            return;
-          }
-
-          var diff = _.difference(Object.keys(model), _this.excludedField);
-          var modelField = XosFormHelpers.parseModelField(diff);
-          _this.formField = XosFormHelpers.buildFormStructure(modelField, _this.config.fields, model);
-        });
-      }]
-    };
-  }).service('XosFormHelpers', ["_", "LabelFormatter", function (_, LabelFormatter) {
-    var _this2 = this;
-
-    this._isEmail = function (text) {
-      var re = /(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))/;
-      return re.test(text);
-    };
-
-    this._getFieldFormat = function (value) {
-
-      // check if is date
-      if (_.isDate(value) || !Number.isNaN(Date.parse(value)) && new Date(value).getTime() > 631180800000) {
-        return 'date';
-      }
-
-      // check if is boolean
-      // isNaN(false) = false, false is a number (0), true is a number (1)
-      if (typeof value === 'boolean') {
-        return 'boolean';
-      }
-
-      // check if a string is a number
-      if (!isNaN(value) && value !== null) {
-        return 'number';
-      }
-
-      // check if a string is an email
-      if (_this2._isEmail(value)) {
-        return 'email';
-      }
-
-      // if null return string
-      if (value === null) {
-        return 'string';
-      }
-
-      return typeof value === 'undefined' ? 'undefined' : _typeof(value);
-    };
-
-    this.buildFormStructure = function (modelField, customField, model) {
-
-      modelField = Object.keys(modelField).length > 0 ? modelField : customField; //if no model field are provided, check custom
-      customField = customField || {};
-
-      return _.reduce(Object.keys(modelField), function (form, f) {
-
-        form[f] = {
-          label: customField[f] && customField[f].label ? customField[f].label + ':' : LabelFormatter.format(f),
-          type: customField[f] && customField[f].type ? customField[f].type : _this2._getFieldFormat(model[f]),
-          validators: customField[f] && customField[f].validators ? customField[f].validators : {}
-        };
-
-        if (form[f].type === 'date') {
-          model[f] = new Date(model[f]);
-        }
-
-        if (form[f].type === 'number') {
-          model[f] = parseInt(model[f], 10);
-        }
-
-        return form;
-      }, {});
-    };
-
-    this.parseModelField = function (fields) {
-      return _.reduce(fields, function (form, f) {
-        form[f] = {};
-        return form;
-      }, {});
-    };
-  }]);
-})();
-//# sourceMappingURL=../../../maps/ui_components/dumbComponents/form/form.component.js.map
-
-'use strict';
-
-/**
- * © OpenCORD
- *
- * Visit http://guide.xosproject.org/devguide/addview/ for more information
- *
- * Created by teone on 4/15/16.
- */
-
-(function () {
-  'use strict';
-
-  angular.module('xos.uiComponents')
-
-  /**
-    * @ngdoc directive
-    * @name xos.uiComponents.directive:xosPagination
-    * @restrict E
-    * @description The xos-table directive
-    * @param {Number} pageSize Number of elements per page
-    * @param {Number} totalElements Number of total elements in the collection
-    * @param {Function} change The callback to be triggered on page change.
-    * * @element ANY
-    * @scope
-    * @example
-  <example module="samplePagination">
-    <file name="index.html">
-      <div ng-controller="SampleCtrl1 as vm">
-        <xos-pagination
-          page-size="vm.pageSize"
-          total-elements="vm.totalElements"
-          change="vm.change">
-        </xos-pagination>
-      </div>
-    </file>
-    <file name="script.js">
-      angular.module('samplePagination', ['xos.uiComponents'])
-      .controller('SampleCtrl1', function(){
-        this.pageSize = 10;
-        this.totalElements = 35;
-        this.change = (pageNumber) => {
-          console.log(pageNumber);
-        }
-      });
-    </file>
-  </example>
-  **/
-
-  .directive('xosPagination', function () {
-    return {
-      restrict: 'E',
-      scope: {
-        pageSize: '=',
-        totalElements: '=',
-        change: '='
-      },
-      template: '\n        <div class="row" ng-if="vm.pageList.length > 1">\n          <div class="col-xs-12 text-center">\n            <ul class="pagination">\n              <li\n                ng-click="vm.goToPage(vm.currentPage - 1)"\n                ng-class="{disabled: vm.currentPage == 0}">\n                <a href="" aria-label="Previous">\n                    <span aria-hidden="true">&laquo;</span>\n                </a>\n              </li>\n              <li ng-repeat="i in vm.pageList" ng-class="{active: i === vm.currentPage}">\n                <a href="" ng-click="vm.goToPage(i)">{{i + 1}}</a>\n              </li>\n              <li\n                ng-click="vm.goToPage(vm.currentPage + 1)"\n                ng-class="{disabled: vm.currentPage == vm.pages - 1}">\n                <a href="" aria-label="Next">\n                    <span aria-hidden="true">&raquo;</span>\n                </a>\n              </li>\n            </ul>\n          </div>\n        </div>\n      ',
-      bindToController: true,
-      controllerAs: 'vm',
-      controller: ["$scope", function controller($scope) {
-        var _this = this;
-
-        this.currentPage = 0;
-
-        this.goToPage = function (n) {
-          if (n < 0 || n === _this.pages) {
-            return;
-          }
-          _this.currentPage = n;
-          _this.change(n);
-        };
-
-        this.createPages = function (pages) {
-          var arr = [];
-          for (var i = 0; i < pages; i++) {
-            arr.push(i);
-          }
-          return arr;
-        };
-
-        // watch for data changes
-        $scope.$watch(function () {
-          return _this.totalElements;
-        }, function () {
-          if (_this.totalElements) {
-            _this.pages = Math.ceil(_this.totalElements / _this.pageSize);
-            _this.pageList = _this.createPages(_this.pages);
-          }
-        });
-      }]
-    };
-  }).filter('pagination', function () {
-    return function (input, start) {
-      if (!input || !angular.isArray(input)) {
-        return input;
-      }
-      start = parseInt(start, 10);
-      return input.slice(start);
-    };
-  });
-})();
-//# sourceMappingURL=../../../maps/ui_components/dumbComponents/pagination/pagination.component.js.map
-
-'use strict';
-
-/**
- * © OpenCORD
- *
- * Visit http://guide.xosproject.org/devguide/addview/ for more information
- *
- * Created by teone on 4/15/16.
- */
-
-(function () {
-  'use strict';
-
-  angular.module('xos.uiComponents')
-
-  /**
-    * @ngdoc directive
-    * @name xos.uiComponents.directive:xosAlert
-    * @restrict E
-    * @description The xos-alert directive
-    * @param {Object} config The configuration object
-    * ```
-    * {
-    *   type: 'danger', //info, success, warning
-    *   closeBtn: true, //default false
-    *   autoHide: 3000 //delay to automatically hide the alert
-    * }
-    * ```
-    * @param {Boolean=} show Binding to show and hide the alert, default to true
-    * @element ANY
-    * @scope
-    * @example
-  <example module="sampleAlert1">
-    <file name="index.html">
-      <div ng-controller="SampleCtrl1 as vm">
-        <xos-alert config="vm.config1">
-          A sample alert message
-        </xos-alert>
-        <xos-alert config="vm.config2">
-          A sample alert message (with close button)
-        </xos-alert>
-        <xos-alert config="vm.config3">
-          A sample info message
-        </xos-alert>
-        <xos-alert config="vm.config4">
-          A sample success message
-        </xos-alert>
-        <xos-alert config="vm.config5">
-          A sample warning message
-        </xos-alert>
-      </div>
-    </file>
-    <file name="script.js">
-      angular.module('sampleAlert1', ['xos.uiComponents'])
-      .controller('SampleCtrl1', function(){
-        this.config1 = {
-          type: 'danger'
-        };
-         this.config2 = {
-          type: 'danger',
-          closeBtn: true
-        };
-         this.config3 = {
-          type: 'info'
-        };
-         this.config4 = {
-          type: 'success'
-        };
-         this.config5 = {
-          type: 'warning'
-        };
-      });
-    </file>
-  </example>
-   <example module="sampleAlert2" animations="true">
-    <file name="index.html">
-      <div ng-controller="SampleCtrl as vm" class="row">
-        <div class="col-sm-4">
-          <a class="btn btn-default btn-block" ng-show="!vm.show" ng-click="vm.show = true">Show Alert</a>
-          <a class="btn btn-default btn-block" ng-show="vm.show" ng-click="vm.show = false">Hide Alert</a>
-        </div>
-        <div class="col-sm-8">
-          <xos-alert config="vm.config1" show="vm.show">
-            A sample alert message, not displayed by default.
-          </xos-alert>
-        </div>
-      </div>
-    </file>
-    <file name="script.js">
-      angular.module('sampleAlert2', ['xos.uiComponents', 'ngAnimate'])
-      .controller('SampleCtrl', function(){
-        this.config1 = {
-          type: 'success'
-        };
-         this.show = false;
-      });
-    </file>
-  </example>
-  **/
-
-  .directive('xosAlert', function () {
-    return {
-      restrict: 'E',
-      scope: {
-        config: '=',
-        show: '=?'
-      },
-      template: '\n        <div ng-cloak class="alert alert-{{vm.config.type}}" ng-hide="!vm.show">\n          <button type="button" class="close" ng-if="vm.config.closeBtn" ng-click="vm.dismiss()">\n            <span aria-hidden="true">&times;</span>\n          </button>\n          <p ng-transclude></p>\n        </div>\n      ',
-      transclude: true,
-      bindToController: true,
-      controllerAs: 'vm',
-      controller: ["$timeout", function controller($timeout) {
-        var _this = this;
-
-        if (!this.config) {
-          throw new Error('[xosAlert] Please provide a configuration via the "config" attribute');
-        }
-
-        // default the value to true
-        this.show = this.show !== false;
-
-        this.dismiss = function () {
-          _this.show = false;
-        };
-
-        if (this.config.autoHide) {
-          (function () {
-            var to = $timeout(function () {
-              _this.dismiss();
-              $timeout.cancel(to);
-            }, _this.config.autoHide);
-          })();
-        }
-      }]
-    };
-  });
-})();
-//# sourceMappingURL=../../../maps/ui_components/dumbComponents/alert/alert.component.js.map
-
-'use strict';
-
-(function () {
-  'use strict';
-
-  config.$inject = ["$httpProvider", "$interpolateProvider", "$resourceProvider"];
-  angular.module('bugSnag', []).factory('$exceptionHandler', function () {
-    return function (exception, cause) {
-      if (window.Bugsnag) {
-        Bugsnag.notifyException(exception, { diagnostics: { cause: cause } });
-      } else {
-        console.error(exception, cause, exception.stack);
-      }
-    };
-  });
-
-  /**
-  * @ngdoc overview
-  * @name xos.helpers
-  * @description this is the module that group all the helpers service and components for XOS
-  **/
-
-  angular.module('xos.helpers', ['ngCookies', 'ngResource', 'ngAnimate', 'bugSnag', 'xos.uiComponents']).config(config).factory('_', ["$window", function ($window) {
-    return $window._;
-  }]);
-
-  function config($httpProvider, $interpolateProvider, $resourceProvider) {
-    $httpProvider.interceptors.push('SetCSRFToken');
-
-    $interpolateProvider.startSymbol('{$');
-    $interpolateProvider.endSymbol('$}');
-
-    // NOTE http://www.masnun.com/2013/09/18/django-rest-framework-angularjs-resource-trailing-slash-problem.html
-    $resourceProvider.defaults.stripTrailingSlashes = false;
-  }
-})();
-//# sourceMappingURL=maps/xosHelpers.module.js.map
-
-'use strict';
-
-(function () {
-  'use strict';
-
-  angular.module('xos.helpers')
-  /**
-  * @ngdoc service
-  * @name xos.helpers.vSG-Collection
-  * @description Angular resource to fetch /api/service/vsg/
-  **/
-  .service('vSG-Collection', ["$resource", function ($resource) {
-    return $resource('/api/service/vsg/');
-  }]);
-})();
-//# sourceMappingURL=../../maps/services/rest/vSG.js.map
-
-'use strict';
-
-(function () {
-  'use strict';
-
-  angular.module('xos.helpers')
-  /**
-  * @ngdoc service
-  * @name xos.helpers.vOLT-Collection
-  * @description Angular resource to fetch /api/tenant/cord/volt/:volt_id/
-  **/
-  .service('vOLT-Collection', ["$resource", function ($resource) {
-    return $resource('/api/tenant/cord/volt/:volt_id/', { volt_id: '@id' }, {
-      update: { method: 'PUT' }
-    });
-  }]);
-})();
-//# sourceMappingURL=../../maps/services/rest/vOLT.js.map
-
-'use strict';
-
-(function () {
-  'use strict';
-
-  angular.module('xos.helpers')
-  /**
-  * @ngdoc service
-  * @name xos.helpers.Login
-  * @description Angular resource to fetch /api/utility/login/
-  **/
-  .service('Login', ["$resource", function ($resource) {
-    return $resource('/api/utility/login/');
-  }])
-  /**
-  * @ngdoc service
-  * @name xos.helpers.Logout
-  * @description Angular resource to fetch /api/utility/logout/
-  **/
-  .service('Logout', ["$resource", function ($resource) {
-    return $resource('/api/utility/logout/');
-  }]);
-})();
-//# sourceMappingURL=../../maps/services/rest/Utility.js.map
-
-'use strict';
-
-(function () {
-  'use strict';
-
-  angular.module('xos.helpers')
-  /**
-  * @ngdoc service
-  * @name xos.helpers.Users
-  * @description Angular resource to fetch /api/core/users/:id/
-  **/
-  .service('Users', ["$resource", function ($resource) {
-    return $resource('/api/core/users/:id/', { id: '@id' }, {
-      update: { method: 'PUT' }
-    });
-  }]);
-})();
-//# sourceMappingURL=../../maps/services/rest/Users.js.map
-
-'use strict';
-
-(function () {
-  'use strict';
-
-  angular.module('xos.helpers')
-  /**
-  * @ngdoc service
-  * @name xos.helpers.Truckroll
-  * @description Angular resource to fetch /api/tenant/truckroll/:id/
-  **/
-  .service('Truckroll', ["$resource", function ($resource) {
-    return $resource('/api/tenant/truckroll/:id/', { id: '@id' }, {
-      update: { method: 'PUT' }
-    });
-  }]);
-})();
-//# sourceMappingURL=../../maps/services/rest/Truckroll.js.map
-
-'use strict';
-
-(function () {
-  'use strict';
-
-  angular.module('xos.helpers')
-  /**
-  * @ngdoc service
-  * @name xos.helpers.Tenant
-  * @description Angular resource to fetch /api/core/tenant/:id/
-  **/
-  .service('Tenants', ["$resource", function ($resource) {
-    return $resource('/api/core/tenants/:id/', { id: '@id' }, {
-      update: { method: 'PUT' }
-    });
-  }]);
-})();
-'use strict';
-
-(function () {
-  'use strict';
-
-  angular.module('xos.helpers')
-  /**
-  * @ngdoc service
-  * @name xos.helpers.Subscribers
-  * @description Angular resource to fetch Subscribers
-  **/
-  .service('Subscribers', ["$resource", function ($resource) {
-    return $resource('/api/tenant/cord/subscriber/:id/', { id: '@id' }, {
-      update: { method: 'PUT' },
-      /**
-      * @ngdoc method
-      * @name xos.helpers.Subscribers#View-a-Subscriber-Features-Detail
-      * @methodOf xos.helpers.Subscribers
-      * @description
-      * View-a-Subscriber-Features-Detail
-      **/
-      'View-a-Subscriber-Features-Detail': {
-        method: 'GET',
-        isArray: false,
-        url: '/api/tenant/cord/subscriber/:id/features/'
-      },
-      /**
-      * @ngdoc method
-      * @name xos.helpers.Subscribers#Read-Subscriber-uplink_speed
-      * @methodOf xos.helpers.Subscribers
-      * @description
-      * Read-Subscriber-uplink_speed
-      **/
-      'Read-Subscriber-uplink_speed': {
-        method: 'GET',
-        isArray: false,
-        url: '/api/tenant/cord/subscriber/:id/features/uplink_speed/'
-      },
-      /**
-      * @ngdoc method
-      * @name xos.helpers.Subscribers#Update-Subscriber-uplink_speed
-      * @methodOf xos.helpers.Subscribers
-      * @description
-      * Update-Subscriber-uplink_speed
-      **/
-      'Update-Subscriber-uplink_speed': {
-        method: 'PUT',
-        isArray: false,
-        url: '/api/tenant/cord/subscriber/:id/features/uplink_speed/'
-      },
-      /**
-      * @ngdoc method
-      * @name xos.helpers.Subscribers#Read-Subscriber-downlink_speed
-      * @methodOf xos.helpers.Subscribers
-      * @description
-      * Read-Subscriber-downlink_speed
-      **/
-      'Read-Subscriber-downlink_speed': {
-        method: 'GET',
-        isArray: false,
-        url: '/api/tenant/cord/subscriber/:id/features/downlink_speed/'
-      },
-      /**
-      * @ngdoc method
-      * @name xos.helpers.Subscribers#Update-Subscriber-downlink_speed
-      * @methodOf xos.helpers.Subscribers
-      * @description
-      * Update-Subscriber-downlink_speed
-      **/
-      'Update-Subscriber-downlink_speed': {
-        method: 'PUT',
-        isArray: false,
-        url: '/api/tenant/cord/subscriber/:id/features/downlink_speed/'
-      },
-      /**
-      * @ngdoc method
-      * @name xos.helpers.Subscribers#Read-Subscriber-cdn
-      * @methodOf xos.helpers.Subscribers
-      * @description
-      * Read-Subscriber-cdn
-      **/
-      'Read-Subscriber-cdn': {
-        method: 'GET',
-        isArray: false,
-        url: '/api/tenant/cord/subscriber/:id/features/cdn/'
-      },
-      /**
-      * @ngdoc method
-      * @name xos.helpers.Subscribers#Update-Subscriber-cdn
-      * @methodOf xos.helpers.Subscribers
-      * @description
-      * Update-Subscriber-cdn
-      **/
-      'Update-Subscriber-cdn': {
-        method: 'PUT',
-        isArray: false,
-        url: '/api/tenant/cord/subscriber/:id/features/cdn/'
-      },
-      /**
-      * @ngdoc method
-      * @name xos.helpers.Subscribers#Read-Subscriber-uverse
-      * @methodOf xos.helpers.Subscribers
-      * @description
-      * Read-Subscriber-uverse
-      **/
-      'Read-Subscriber-uverse': {
-        method: 'GET',
-        isArray: false,
-        url: '/api/tenant/cord/subscriber/:id/features/uverse/'
-      },
-      /**
-      * @ngdoc method
-      * @name xos.helpers.Subscribers#Update-Subscriber-uverse
-      * @methodOf xos.helpers.Subscribers
-      * @description
-      * Update-Subscriber-uverse
-      **/
-      'Update-Subscriber-uverse': {
-        method: 'PUT',
-        isArray: false,
-        url: '/api/tenant/cord/subscriber/:id/features/uverse/'
-      },
-      /**
-      * @ngdoc method
-      * @name xos.helpers.Subscribers#Read-Subscriber-status
-      * @methodOf xos.helpers.Subscribers
-      * @description
-      * Read-Subscriber-status
-      **/
-      'Read-Subscriber-status': {
-        method: 'GET',
-        isArray: false,
-        url: '/api/tenant/cord/subscriber/:id/features/status/'
-      },
-      /**
-      * @ngdoc method
-      * @name xos.helpers.Subscribers#Update-Subscriber-status
-      * @methodOf xos.helpers.Subscribers
-      * @description
-      * Update-Subscriber-status
-      **/
-      'Update-Subscriber-status': {
-        method: 'PUT',
-        isArray: false,
-        url: '/api/tenant/cord/subscriber/:id/features/status/'
-      }
-    });
-  }]);
-})();
-//# sourceMappingURL=../../maps/services/rest/Subscribers.js.map
-
-'use strict';
-
-(function () {
-  'use strict';
-
-  angular.module('xos.helpers')
-  /**
-  * @ngdoc service
-  * @name xos.helpers.SlicesPlus
-  * @description Angular resource to fetch /api/utility/slicesplus/
-  * This is a read-only API and only the `query` method is currently supported.
-  **/
-  .service('SlicesPlus', ["$http", "$q", function ($http, $q) {
-    this.query = function (params) {
-      var deferred = $q.defer();
-
-      $http.get('/api/utility/slicesplus/', { params: params }).then(function (res) {
-        deferred.resolve(res.data);
-      }).catch(function (res) {
-        deferred.reject(res.data);
-      });
-
-      return { $promise: deferred.promise };
-    };
-  }]);
-})();
-//# sourceMappingURL=../../maps/services/rest/Slices_plus.js.map
-
-'use strict';
-
-(function () {
-  'use strict';
-
-  angular.module('xos.helpers')
-  /**
-  * @ngdoc service
-  * @name xos.helpers.Slices
-  * @description Angular resource to fetch /api/core/slices/:id/
-  **/
-  .service('Slices', ["$resource", function ($resource) {
-    return $resource('/api/core/slices/:id/', { id: '@id' }, {
-      update: { method: 'PUT' }
-    });
-  }]);
-})();
-//# sourceMappingURL=../../maps/services/rest/Slices.js.map
-
-'use strict';
-
-(function () {
-  'use strict';
-
-  angular.module('xos.helpers')
-  /**
-  * @ngdoc service
-  * @name xos.helpers.Sites
-  * @description Angular resource to fetch /api/core/sites/:id/
-  **/
-  .service('Sites', ["$resource", function ($resource) {
-    return $resource('/api/core/sites/:id/', { id: '@id' }, {
-      update: { method: 'PUT' }
-    });
-  }]);
-})();
-//# sourceMappingURL=../../maps/services/rest/Sites.js.map
-
-'use strict';
-
-(function () {
-  'use strict';
-
-  angular.module('xos.helpers')
-  /**
-  * @ngdoc service
-  * @name xos.helpers.Services
-  * @description Angular resource to fetch /api/core/services/:id/
-  **/
-  .service('Services', ["$resource", function ($resource) {
-    return $resource('/api/core/services/:id/', { id: '@id' }, {
-      update: { method: 'PUT' }
-    });
-  }]);
-})();
-'use strict';
-
-(function () {
-  'use strict';
-
-  angular.module('xos.helpers')
-  /**
-  * @ngdoc service
-  * @name xos.helpers.ONOS-Services-Collection
-  * @description Angular resource to fetch /api/service/onos/
-  **/
-  .service('ONOS-Services-Collection', ["$resource", function ($resource) {
-    return $resource('/api/service/onos/');
-  }]);
-})();
-//# sourceMappingURL=../../maps/services/rest/ONOS-Services.js.map
-
-'use strict';
-
-(function () {
-  'use strict';
-
-  angular.module('xos.helpers')
-  /**
-  * @ngdoc service
-  * @name xos.helpers.ONOS-App-Collection
-  * @description Angular resource to fetch /api/tenant/onos/app/
-  **/
-  .service('ONOS-App-Collection', ["$resource", function ($resource) {
-    return $resource('/api/tenant/onos/app/');
-  }]);
-})();
-//# sourceMappingURL=../../maps/services/rest/ONOS-Apps.js.map
-
-'use strict';
-
-(function () {
-  'use strict';
-
-  angular.module('xos.helpers')
-  /**
-  * @ngdoc service
-  * @name xos.helpers.Nodes
-  * @description Angular resource to fetch /api/core/nodes/:id/
-  **/
-  .service('Nodes', ["$resource", function ($resource) {
-    return $resource('/api/core/nodes/:id/', { id: '@id' }, {
-      update: { method: 'PUT' }
-    });
-  }]);
-})();
-//# sourceMappingURL=../../maps/services/rest/Nodes.js.map
-
-'use strict';
-
-(function () {
-  'use strict';
-
-  angular.module('xos.helpers')
-  /**
-  * @ngdoc service
-  * @name xos.helpers.Networks
-  * @description Angular resource to fetch /api/core/networks/:id/
-  **/
-  .service('Networks', ["$resource", function ($resource) {
-    return $resource('/api/core/networks/:id/', { id: '@id' }, {
-      update: { method: 'PUT' }
-    });
-  }]);
-})();
-//# sourceMappingURL=../../maps/services/rest/Networks.js.map
-
-'use strict';
-
-(function () {
-  'use strict';
-
-  angular.module('xos.helpers')
-  /**
-  * @ngdoc service
-  * @name xos.helpers.Instances
-  * @description Angular resource to fetch /api/core/instances/:id/
-  **/
-  .service('Instances', ["$resource", function ($resource) {
-    return $resource('/api/core/instances/:id/', { id: '@id' }, {
-      update: { method: 'PUT' }
-    });
-  }]);
-})();
-//# sourceMappingURL=../../maps/services/rest/Instances.js.map
-
-'use strict';
-
-(function () {
-  'use strict';
-
-  angular.module('xos.helpers')
-  /**
-  * @ngdoc service
-  * @name xos.helpers.Flavors
-  * @description Angular resource to fetch /api/core/flavors/:id/
-  **/
-  .service('Flavors', ["$resource", function ($resource) {
-    return $resource('/api/core/flavors/:id/', { id: '@id' }, {
-      update: { method: 'PUT' }
-    });
-  }]);
-})();
-//# sourceMappingURL=../../maps/services/rest/Flavors.js.map
-
-'use strict';
-
-(function () {
-  'use strict';
-
-  angular.module('xos.helpers')
-  /**
-  * @ngdoc service
-  * @name xos.helpers.Example-Services-Collection
-  * @description Angular resource to fetch /api/service/exampleservice/
-  **/
-  .service('Example-Services-Collection', ["$resource", function ($resource) {
-    return $resource('/api/service/exampleservice/');
-  }]);
-})();
-//# sourceMappingURL=../../maps/services/rest/Example.js.map
-
-'use strict';
-
-(function () {
-  'use strict';
-
-  angular.module('xos.helpers')
-  /**
-  * @ngdoc service
-  * @name xos.helpers.Deployments
-  * @description Angular resource to fetch /api/core/deployments/:id/
-  **/
-  .service('Deployments', ["$resource", function ($resource) {
-    return $resource('/api/core/deployments/:id/', { id: '@id' }, {
-      update: { method: 'PUT' }
-    });
-  }]);
-})();
-//# sourceMappingURL=../../maps/services/rest/Deployments.js.map
-
-'use strict';
-
-(function () {
-  'use strict';
-
-  /**
-  * @ngdoc service
-  * @name xos.helpers.ServiceGraph
-  * @description This factory define a set of helper function to query the service tenancy graph
-  **/
-
-  angular.module('xos.helpers').service('GraphService', ["$q", "Tenants", "Services", function ($q, Tenants, Services) {
-    var _this = this;
-
-    this.loadCoarseData = function () {
-
-      var services = void 0;
-
-      var deferred = $q.defer();
-
-      Services.query().$promise.then(function (res) {
-        services = res;
-        return Tenants.query({ kind: 'coarse' }).$promise;
-      }).then(function (tenants) {
-        deferred.resolve({
-          tenants: tenants,
-          services: services
-        });
-      });
-
-      return deferred.promise;
-    };
-
-    this.getCoarseGraph = function () {
-      _this.loadCoarseData().then(function (res) {
-        console.log(res);
-      });
-      return 'ciao';
-    };
-  }]);
-})();
-'use strict';
-
-(function () {
-  'use strict';
-
-  /**
-  * @ngdoc service
-  * @name xos.helpers.NoHyperlinks
-  * @description This factory is automatically loaded trough xos.helpers and will add an $http interceptor that will add ?no_hyperlinks=1 to your api request, that is required by django
-  **/
-
-  angular.module('xos.helpers').factory('NoHyperlinks', noHyperlinks);
-
-  function noHyperlinks() {
-    return {
-      request: function request(_request) {
-        if (_request.url.indexOf('.html') === -1) {
-          _request.url += '?no_hyperlinks=1';
-        }
-        return _request;
-      }
-    };
-  }
-})();
-//# sourceMappingURL=../maps/services/noHyperlinks.interceptor.js.map
-
-'use strict';
-
-// TODO write tests for log
-
-angular.module('xos.helpers').config(['$provide', function ($provide) {
-  // Use the `decorator` solution to substitute or attach behaviors to
-  // original service instance; @see angular-mocks for more examples....
-
-  $provide.decorator('$log', ['$delegate', function ($delegate) {
-
-    var isLogEnabled = function isLogEnabled() {
-      return window.location.href.indexOf('debug=true') >= 0;
-    };
-    // Save the original $log.debug()
-    var logFn = $delegate.log;
-    var infoFn = $delegate.info;
-    var warnFn = $delegate.warn;
-    var errorFn = $delegate.error;
-    var debugFn = $delegate.debug;
-
-    // create the replacement function
-    var replacement = function replacement(fn) {
-      return function () {
-        // console.log(`Is Log Enabled: ${isLogEnabled()}`)
-        if (!isLogEnabled()) {
-          // console.log('logging is disabled');
-          return;
-        }
-        var args = [].slice.call(arguments);
-        var now = new Date();
-
-        // Prepend timestamp
-        args[0] = '[' + now.getHours() + ':' + now.getMinutes() + ':' + now.getSeconds() + '] ' + args[0];
-
-        // HACK awfull fix for angular mock implementation whithin jasmine test failing issue
-        if (typeof $delegate.reset === 'function' && !($delegate.debug.logs instanceof Array)) {
-          // if we are within the mock and did not reset yet, we call it to avoid issue
-          // console.log('mock log impl fix to avoid logs array not existing...');
-          $delegate.reset();
-        }
-
-        // Call the original with the output prepended with formatted timestamp
-        fn.apply(null, args);
-      };
-    };
-
-    $delegate.info = replacement(infoFn);
-    $delegate.log = replacement(logFn);
-    $delegate.warn = replacement(warnFn);
-    $delegate.error = replacement(errorFn);
-    $delegate.debug = replacement(debugFn);
-
-    return $delegate;
-  }]);
-}]);
-//# sourceMappingURL=../maps/services/log.decorator.js.map
-
-'use strict';
-
-(function () {
-  'use strict';
-
-  /**
-  * @ngdoc service
-  * @name xos.helpers.LabelFormatter
-  * @description This factory define a set of helper function to format label started from an object property
-  **/
-
-  angular.module('xos.uiComponents').factory('LabelFormatter', labelFormatter);
-
-  function labelFormatter() {
-
-    var _formatByUnderscore = function _formatByUnderscore(string) {
-      return string.split('_').join(' ').trim();
-    };
-
-    var _formatByUppercase = function _formatByUppercase(string) {
-      return string.split(/(?=[A-Z])/).map(function (w) {
-        return w.toLowerCase();
-      }).join(' ');
-    };
-
-    var _capitalize = function _capitalize(string) {
-      return string.slice(0, 1).toUpperCase() + string.slice(1);
-    };
-
-    var format = function format(string) {
-      string = _formatByUnderscore(string);
-      string = _formatByUppercase(string);
-
-      string = _capitalize(string).replace(/\s\s+/g, ' ') + ':';
-      return string.replace('::', ':');
-    };
-
-    return {
-      // test export
-      _formatByUnderscore: _formatByUnderscore,
-      _formatByUppercase: _formatByUppercase,
-      _capitalize: _capitalize,
-      // export to use
-      format: format
-    };
-  }
-})();
-//# sourceMappingURL=../maps/services/label_formatter.service.js.map
-
-'use strict';
-
-(function () {
-  'use strict';
-
-  /**
-  * @ngdoc service
-  * @name xos.helpers.SetCSRFToken
-  * @description This factory is automatically loaded trough xos.helpers and will add an $http interceptor that will the CSRF-Token to your request headers
-  **/
-
-  setCSRFToken.$inject = ["$cookies"];
-  angular.module('xos.helpers').factory('SetCSRFToken', setCSRFToken);
-
-  function setCSRFToken($cookies) {
-    return {
-      request: function request(_request) {
-        if (_request.method !== 'GET') {
-          _request.headers['X-CSRFToken'] = $cookies.get('xoscsrftoken');
-        }
-        return _request;
-      }
-    };
-  }
-})();
-//# sourceMappingURL=../maps/services/csrfToken.interceptor.js.map
+"use strict";!function(){angular.module("xos.uiComponents",["chart.js"])}(),function(){angular.module("xos.uiComponents").directive("xosSmartTable",function(){return{restrict:"E",scope:{config:"="},template:'\n        <div class="row" ng-show="vm.data.length > 0">\n          <div class="col-xs-12 text-right">\n            <a href="" class="btn btn-success" ng-click="vm.createItem()">\n              Add\n            </a>\n          </div>\n        </div>\n        <div class="row">\n          <div class="col-xs-12 table-responsive">\n            <xos-table config="vm.tableConfig" data="vm.data"></xos-table>\n          </div>\n        </div>\n        <div class="panel panel-default" ng-show="vm.detailedItem">\n          <div class="panel-heading">\n            <div class="row">\n              <div class="col-xs-11">\n                <h3 class="panel-title" ng-show="vm.detailedItem.id">Update {{vm.config.resource}} {{vm.detailedItem.id}}</h3>\n                <h3 class="panel-title" ng-show="!vm.detailedItem.id">Create {{vm.config.resource}} item</h3>\n              </div>\n              <div class="col-xs-1">\n                <a href="" ng-click="vm.cleanForm()">\n                  <i class="glyphicon glyphicon-remove pull-right"></i>\n                </a>\n              </div>\n            </div>\n          </div>\n          <div class="panel-body">\n            <xos-form config="vm.formConfig" ng-model="vm.detailedItem"></xos-form>\n          </div>\n        </div>\n        <xos-alert config="{type: \'success\', closeBtn: true}" show="vm.responseMsg">{{vm.responseMsg}}</xos-alert>\n        <xos-alert config="{type: \'danger\', closeBtn: true}" show="vm.responseErr">{{vm.responseErr}}</xos-alert>\n      ',bindToController:!0,controllerAs:"vm",controller:["$injector","LabelFormatter","_","XosFormHelpers",function(e,n,o,r){var t=this;this.responseMsg=!1,this.responseErr=!1,this.tableConfig={columns:[],actions:[{label:"delete",icon:"remove",cb:function(e){t.Resource["delete"]({id:e.id}).$promise.then(function(){o.remove(t.data,function(n){return n.id===e.id}),t.responseMsg=t.config.resource+" with id "+e.id+" successfully deleted"})["catch"](function(n){t.responseErr=n.data.detail||"Error while deleting "+t.config.resource+" with id "+e.id})},color:"red"},{label:"details",icon:"search",cb:function(e){t.detailedItem=e}}],classes:"table table-striped table-bordered table-responsive",filter:"field",order:!0,pagination:{pageSize:10}},this.formConfig={exclude:this.config.hiddenFields,fields:{},formName:this.config.resource+"Form",actions:[{label:"Save",icon:"ok",cb:function(e){var n=void 0,o=!0;e.id?(n=e.$update(),o=!1):n=e.$save(),n.then(function(n){o&&t.data.push(angular.copy(n)),delete t.detailedItem,t.responseMsg=t.config.resource+" with id "+e.id+" successfully saved"})["catch"](function(n){t.responseErr=n.data.detail||"Error while saving "+t.config.resource+" with id "+e.id})},"class":"success"}]},this.cleanForm=function(){delete t.detailedItem},this.createItem=function(){t.detailedItem=new t.Resource},this.Resource=e.get(this.config.resource);var i=function(){t.Resource.query().$promise.then(function(e){if(e[0]){var i=e[0],a=Object.keys(i);o.remove(a,function(e){return"id"==e||"validators"==e}),angular.isArray(t.config.hiddenFields)&&(a=o.difference(a,t.config.hiddenFields));var s=a.map(function(e){return n.format(e)});a.forEach(function(e,n){t.tableConfig.columns.push({label:s[n],prop:e})}),a.forEach(function(e,o){t.formConfig.fields[e]={label:n.format(s[o]).replace(":",""),type:r._getFieldFormat(i[e])}}),t.data=e}})};i()}]}})}(),function(){angular.module("xos.uiComponents").directive("xosSmartPie",function(){return{restrict:"E",scope:{config:"="},template:'\n        <canvas\n          class="chart chart-pie {{vm.config.classes}}"\n          chart-data="vm.data" chart-labels="vm.labels"\n          chart-legend="{{vm.config.legend}}">\n        </canvas>\n      ',bindToController:!0,controllerAs:"vm",controller:["$injector","$timeout","$interval","$scope","_",function(e,n,o,r,t){var i=this;if(!this.config.resource&&!this.config.data)throw new Error("[xosSmartPie] Please provide a resource or an array of data in the configuration");var a=function(e){return t.groupBy(e,i.config.groupBy)},s=function(e){return t.reduce(Object.keys(e),function(n,o){return n.concat(e[o].length)},[])},c=function(e){return angular.isFunction(i.config.labelFormatter)?i.config.labelFormatter(Object.keys(e)):Object.keys(e)},l=function(e){var n=a(e);i.data=s(n),i.labels=c(n)};this.config.resource?!function(){i.Resource=e.get(i.config.resource);var n=function(){i.Resource.query().$promise.then(function(e){e[0]&&l(e)})};n(),i.config.poll&&o(function(){n()},1e3*i.config.poll)}():r.$watch(function(){return i.config.data},function(e){e&&l(i.config.data)},!0)}]}})}(),function(){angular.module("xos.uiComponents").directive("xosValidation",function(){return{restrict:"E",scope:{errors:"="},template:'\n        <div ng-cloak>\n          <!-- <pre>{{vm.errors.email | json}}</pre> -->\n          <xos-alert config="vm.config" show="vm.errors.required !== undefined && vm.errors.required !== false">\n            Field required\n          </xos-alert>\n          <xos-alert config="vm.config" show="vm.errors.email !== undefined && vm.errors.email !== false">\n            This is not a valid email\n          </xos-alert>\n          <xos-alert config="vm.config" show="vm.errors.minlength !== undefined && vm.errors.minlength !== false">\n            Too short\n          </xos-alert>\n          <xos-alert config="vm.config" show="vm.errors.maxlength !== undefined && vm.errors.maxlength !== false">\n            Too long\n          </xos-alert>\n          <xos-alert config="vm.config" show="vm.errors.custom !== undefined && vm.errors.custom !== false">\n            Field invalid\n          </xos-alert>\n        </div>\n      ',transclude:!0,bindToController:!0,controllerAs:"vm",controller:function(){this.config={type:"danger"}}}})}(),function(){angular.module("xos.uiComponents").directive("xosTable",function(){return{restrict:"E",scope:{data:"=",config:"="},template:'\n          <div ng-show="vm.data.length > 0">\n            <div class="row" ng-if="vm.config.filter == \'fulltext\'">\n              <div class="col-xs-12">\n                <input\n                  class="form-control"\n                  placeholder="Type to search.."\n                  type="text"\n                  ng-model="vm.query"/>\n              </div>\n            </div>\n            <table ng-class="vm.classes" ng-hide="vm.data.length == 0">\n              <thead>\n                <tr>\n                  <th ng-repeat="col in vm.columns">\n                    {{col.label}}\n                    <span ng-if="vm.config.order">\n                      <a href="" ng-click="vm.orderBy = col.prop; vm.reverse = false">\n                        <i class="glyphicon glyphicon-chevron-up"></i>\n                      </a>\n                      <a href="" ng-click="vm.orderBy = col.prop; vm.reverse = true">\n                        <i class="glyphicon glyphicon-chevron-down"></i>\n                      </a>\n                    </span>\n                  </th>\n                  <th ng-if="vm.config.actions">Actions:</th>\n                </tr>\n              </thead>\n              <tbody ng-if="vm.config.filter == \'field\'">\n                <tr>\n                  <td ng-repeat="col in vm.columns">\n                    <input\n                      class="form-control"\n                      placeholder="Type to search by {{col.label}}"\n                      type="text"\n                      ng-model="vm.query[col.prop]"/>\n                  </td>\n                  <td ng-if="vm.config.actions"></td>\n                </tr>\n              </tbody>\n              <tbody>\n                <tr ng-repeat="item in vm.data | filter:vm.query | orderBy:vm.orderBy:vm.reverse | pagination:vm.currentPage * vm.config.pagination.pageSize | limitTo: (vm.config.pagination.pageSize || vm.data.length) track by $index">\n                  <td ng-repeat="col in vm.columns" link-wrapper>\n                    <span ng-if="!col.type">{{item[col.prop]}}</span>\n                    <span ng-if="col.type === \'boolean\'">\n                      <i class="glyphicon"\n                        ng-class="{\'glyphicon-ok\': item[col.prop], \'glyphicon-remove\': !item[col.prop]}">\n                      </i>\n                    </span>\n                    <span ng-if="col.type === \'date\'">\n                      {{item[col.prop] | date:\'H:mm MMM d, yyyy\'}}\n                    </span>\n                    <span ng-if="col.type === \'array\'">\n                      {{item[col.prop] | arrayToList}}\n                    </span>\n                    <span ng-if="col.type === \'object\'">\n                      <dl class="dl-horizontal">\n                        <span ng-repeat="(k,v) in item[col.prop]">\n                          <dt>{{k}}</dt>\n                          <dd>{{v}}</dd>\n                        </span>\n                      </dl>\n                    </span>\n                    <span ng-if="col.type === \'custom\'">\n                      {{col.formatter(item)}}\n                    </span>\n                    <span ng-if="col.type === \'icon\'">\n                      <i class="glyphicon glyphicon-{{col.formatter(item)}}">\n                      </i>\n                    </span>\n                  </td>\n                  <td ng-if="vm.config.actions">\n                    <a href=""\n                      ng-repeat="action in vm.config.actions"\n                      ng-click="action.cb(item)"\n                      title="{{action.label}}">\n                      <i\n                        class="glyphicon glyphicon-{{action.icon}}"\n                        style="color: {{action.color}};"></i>\n                    </a>\n                  </td>\n                </tr>\n              </tbody>\n            </table>\n            <xos-pagination\n              ng-if="vm.config.pagination"\n              page-size="vm.config.pagination.pageSize"\n              total-elements="vm.data.length"\n              change="vm.goToPage">\n              </xos-pagination>\n          </div>\n          <div ng-show="vm.data.length == 0 || !vm.data">\n             <xos-alert config="{type: \'info\'}">\n              No data to show.\n            </xos-alert>\n          </div>\n        ',bindToController:!0,controllerAs:"vm",controller:["_",function(e){var n=this;if(!this.config)throw new Error('[xosTable] Please provide a configuration via the "config" attribute');if(!this.config.columns)throw new Error("[xosTable] Please provide a columns list in the configuration");this.config.order&&angular.isObject(this.config.order)&&(this.reverse=this.config.order.reverse||!1,this.orderBy=this.config.order.field||"id");var o=e.filter(this.config.columns,{type:"custom"});angular.isArray(o)&&o.length>0&&e.forEach(o,function(e){if(!e.formatter||!angular.isFunction(e.formatter))throw new Error("[xosTable] You have provided a custom field type, a formatter function should provided too.")});var r=e.filter(this.config.columns,{type:"icon"});angular.isArray(r)&&r.length>0&&e.forEach(r,function(e){if(!e.formatter||!angular.isFunction(e.formatter))throw new Error("[xosTable] You have provided an icon field type, a formatter function should provided too.")});var t=e.filter(this.config.columns,function(e){return angular.isDefined(e.link)});angular.isArray(t)&&t.length>0&&e.forEach(t,function(e){if(!angular.isFunction(e.link))throw new Error("[xosTable] The link property should be a function.")}),this.columns=this.config.columns,this.classes=this.config.classes||"table table-striped table-bordered",this.config.actions,this.config.pagination&&(this.currentPage=0,this.goToPage=function(e){n.currentPage=e})}]}}).filter("arrayToList",function(){return function(e){return angular.isArray(e)?e.join(", "):e}}).directive("linkWrapper",function(){return{restrict:"A",transclude:!0,template:'\n          <a ng-if="col.link" href="{{col.link(item)}}">\n            <div ng-transclude></div>\n          </a>\n          <div ng-transclude ng-if="!col.link"></div>\n        '}})}(),function(){angular.module("xos.uiComponents").directive("xosPagination",function(){return{restrict:"E",scope:{pageSize:"=",totalElements:"=",change:"="},template:'\n        <div class="row" ng-if="vm.pageList.length > 1">\n          <div class="col-xs-12 text-center">\n            <ul class="pagination">\n              <li\n                ng-click="vm.goToPage(vm.currentPage - 1)"\n                ng-class="{disabled: vm.currentPage == 0}">\n                <a href="" aria-label="Previous">\n                    <span aria-hidden="true">&laquo;</span>\n                </a>\n              </li>\n              <li ng-repeat="i in vm.pageList" ng-class="{active: i === vm.currentPage}">\n                <a href="" ng-click="vm.goToPage(i)">{{i + 1}}</a>\n              </li>\n              <li\n                ng-click="vm.goToPage(vm.currentPage + 1)"\n                ng-class="{disabled: vm.currentPage == vm.pages - 1}">\n                <a href="" aria-label="Next">\n                    <span aria-hidden="true">&raquo;</span>\n                </a>\n              </li>\n            </ul>\n          </div>\n        </div>\n      ',bindToController:!0,controllerAs:"vm",controller:["$scope",function(e){var n=this;this.currentPage=0,this.goToPage=function(e){0>e||e===n.pages||(n.currentPage=e,n.change(e))},this.createPages=function(e){for(var n=[],o=0;e>o;o++)n.push(o);return n},e.$watch(function(){return n.totalElements},function(){n.totalElements&&(n.pages=Math.ceil(n.totalElements/n.pageSize),n.pageList=n.createPages(n.pages))})}]}}).filter("pagination",function(){return function(e,n){return e&&angular.isArray(e)?(n=parseInt(n,10),e.slice(n)):e}})}();var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e};!function(){angular.module("xos.uiComponents").directive("xosForm",function(){return{restrict:"E",scope:{config:"=",ngModel:"="},template:'\n        <ng-form name="vm.{{vm.config.formName || \'form\'}}">\n          <div class="form-group" ng-repeat="(name, field) in vm.formField">\n            <label>{{field.label}}</label>\n            <input\n              ng-if="field.type !== \'boolean\'"\n              type="{{field.type}}"\n              name="{{name}}"\n              class="form-control"\n              ng-model="vm.ngModel[name]"\n              ng-minlength="field.validators.minlength || 0"\n              ng-maxlength="field.validators.maxlength || 2000"\n              ng-required="field.validators.required || false" />\n            <span class="boolean-field" ng-if="field.type === \'boolean\'">\n              <button\n                class="btn btn-success"\n                ng-show="vm.ngModel[name]"\n                ng-click="vm.ngModel[name] = false">\n                <i class="glyphicon glyphicon-ok"></i>\n              </button>\n              <button\n                class="btn btn-danger"\n                ng-show="!vm.ngModel[name]"\n                ng-click="vm.ngModel[name] = true">\n                <i class="glyphicon glyphicon-remove"></i>\n              </button>\n            </span>\n            <!-- <pre>{{vm[vm.config.formName][name].$error | json}}</pre> -->\n            <xos-validation errors="vm[vm.config.formName || \'form\'][name].$error"></xos-validation>\n          </div>\n          <div class="form-group" ng-if="vm.config.actions">\n            <button role="button" href=""\n              ng-repeat="action in vm.config.actions"\n              ng-click="action.cb(vm.ngModel)"\n              class="btn btn-{{action.class}}"\n              title="{{action.label}}">\n              <i class="glyphicon glyphicon-{{action.icon}}"></i>\n              {{action.label}}\n            </button>\n          </div>\n        </ng-form>\n      ',bindToController:!0,controllerAs:"vm",controller:["$scope","$log","_","XosFormHelpers",function(e,n,o,r){var t=this;if(!this.config)throw new Error('[xosForm] Please provide a configuration via the "config" attribute');if(!this.config.actions)throw new Error("[xosForm] Please provide an action list in the configuration");this.excludedField=["id","validators","created","updated","deleted","backend_status"],this.config&&this.config.exclude&&(this.excludedField=this.excludedField.concat(this.config.exclude)),this.formField=[],e.$watch(function(){return t.ngModel},function(e){if(t.formField={},e){var n=o.difference(Object.keys(e),t.excludedField),i=r.parseModelField(n);t.formField=r.buildFormStructure(i,t.config.fields,e)}})}]}}).service("XosFormHelpers",["_","LabelFormatter",function(e,n){var o=this;this._isEmail=function(e){var n=/(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))/;return n.test(e)},this._getFieldFormat=function(n){return e.isDate(n)||!Number.isNaN(Date.parse(n))&&new Date(n).getTime()>6311808e5?"date":"boolean"==typeof n?"boolean":isNaN(n)||null===n?o._isEmail(n)?"email":null===n?"string":"undefined"==typeof n?"undefined":_typeof(n):"number"},this.buildFormStructure=function(r,t,i){return r=Object.keys(r).length>0?r:t,t=t||{},e.reduce(Object.keys(r),function(e,r){return e[r]={label:t[r]&&t[r].label?t[r].label+":":n.format(r),type:t[r]&&t[r].type?t[r].type:o._getFieldFormat(i[r]),validators:t[r]&&t[r].validators?t[r].validators:{}},"date"===e[r].type&&(i[r]=new Date(i[r])),"number"===e[r].type&&(i[r]=parseInt(i[r],10)),e},{})},this.parseModelField=function(n){return e.reduce(n,function(e,n){return e[n]={},e},{})}}])}(),function(){angular.module("xos.uiComponents").directive("xosAlert",function(){return{restrict:"E",scope:{config:"=",show:"=?"},template:'\n        <div ng-cloak class="alert alert-{{vm.config.type}}" ng-hide="!vm.show">\n          <button type="button" class="close" ng-if="vm.config.closeBtn" ng-click="vm.dismiss()">\n            <span aria-hidden="true">&times;</span>\n          </button>\n          <p ng-transclude></p>\n        </div>\n      ',transclude:!0,bindToController:!0,controllerAs:"vm",controller:["$timeout",function(e){var n=this;if(!this.config)throw new Error('[xosAlert] Please provide a configuration via the "config" attribute');this.show=this.show!==!1,this.dismiss=function(){n.show=!1},this.config.autoHide&&!function(){var o=e(function(){n.dismiss(),e.cancel(o)},n.config.autoHide)}()}]}})}(),function(){function e(e,n,o){e.interceptors.push("SetCSRFToken"),n.startSymbol("{$"),n.endSymbol("$}"),o.defaults.stripTrailingSlashes=!1}e.$inject=["$httpProvider","$interpolateProvider","$resourceProvider"],angular.module("bugSnag",[]).factory("$exceptionHandler",function(){return function(e,n){window.Bugsnag?Bugsnag.notifyException(e,{diagnostics:{cause:n}}):console.error(e,n,e.stack)}}),angular.module("xos.helpers",["ngCookies","ngResource","ngAnimate","bugSnag","xos.uiComponents"]).config(e).factory("_",["$window",function(e){return e._}])}(),function(){angular.module("xos.helpers").service("vSG-Collection",["$resource",function(e){return e("/api/service/vsg/")}])}(),function(){angular.module("xos.helpers").service("vOLT-Collection",["$resource",function(e){return e("/api/tenant/cord/volt/:volt_id/",{volt_id:"@id"},{update:{method:"PUT"}})}])}(),function(){angular.module("xos.helpers").service("Login",["$resource",function(e){return e("/api/utility/login/")}]).service("Logout",["$resource",function(e){return e("/api/utility/logout/")}])}(),function(){angular.module("xos.helpers").service("Users",["$resource",function(e){return e("/api/core/users/:id/",{id:"@id"},{update:{method:"PUT"}})}])}(),function(){angular.module("xos.helpers").service("Truckroll",["$resource",function(e){return e("/api/tenant/truckroll/:id/",{id:"@id"},{update:{method:"PUT"}})}])}(),function(){angular.module("xos.helpers").service("Tenants",["$resource",function(e){return e("/api/core/tenants/:id/",{id:"@id"},{update:{method:"PUT"}})}])}(),function(){angular.module("xos.helpers").service("Subscribers",["$resource",function(e){return e("/api/tenant/cord/subscriber/:id/",{id:"@id"},{update:{method:"PUT"},"View-a-Subscriber-Features-Detail":{method:"GET",isArray:!1,url:"/api/tenant/cord/subscriber/:id/features/"},"Read-Subscriber-uplink_speed":{method:"GET",isArray:!1,url:"/api/tenant/cord/subscriber/:id/features/uplink_speed/"},"Update-Subscriber-uplink_speed":{method:"PUT",isArray:!1,url:"/api/tenant/cord/subscriber/:id/features/uplink_speed/"},"Read-Subscriber-downlink_speed":{method:"GET",isArray:!1,url:"/api/tenant/cord/subscriber/:id/features/downlink_speed/"},"Update-Subscriber-downlink_speed":{method:"PUT",isArray:!1,url:"/api/tenant/cord/subscriber/:id/features/downlink_speed/"},"Read-Subscriber-cdn":{method:"GET",isArray:!1,url:"/api/tenant/cord/subscriber/:id/features/cdn/"},"Update-Subscriber-cdn":{method:"PUT",isArray:!1,url:"/api/tenant/cord/subscriber/:id/features/cdn/"},"Read-Subscriber-uverse":{method:"GET",isArray:!1,url:"/api/tenant/cord/subscriber/:id/features/uverse/"},"Update-Subscriber-uverse":{method:"PUT",isArray:!1,url:"/api/tenant/cord/subscriber/:id/features/uverse/"},"Read-Subscriber-status":{method:"GET",isArray:!1,url:"/api/tenant/cord/subscriber/:id/features/status/"},"Update-Subscriber-status":{method:"PUT",isArray:!1,url:"/api/tenant/cord/subscriber/:id/features/status/"}})}])}(),function(){angular.module("xos.helpers").service("SlicesPlus",["$http","$q",function(e,n){this.query=function(o){var r=n.defer();return e.get("/api/utility/slicesplus/",{params:o}).then(function(e){r.resolve(e.data)})["catch"](function(e){r.reject(e.data)}),{$promise:r.promise}}}])}(),function(){angular.module("xos.helpers").service("Slices",["$resource",function(e){return e("/api/core/slices/:id/",{id:"@id"},{update:{method:"PUT"}})}])}(),function(){angular.module("xos.helpers").service("Sites",["$resource",function(e){return e("/api/core/sites/:id/",{id:"@id"},{update:{method:"PUT"}})}])}(),function(){angular.module("xos.helpers").service("Services",["$resource",function(e){return e("/api/core/services/:id/",{id:"@id"},{update:{method:"PUT"}})}])}(),function(){angular.module("xos.helpers").service("ONOS-Services-Collection",["$resource",function(e){return e("/api/service/onos/")}])}(),function(){angular.module("xos.helpers").service("ONOS-App-Collection",["$resource",function(e){return e("/api/tenant/onos/app/")}])}(),function(){angular.module("xos.helpers").service("Nodes",["$resource",function(e){return e("/api/core/nodes/:id/",{id:"@id"},{update:{method:"PUT"}})}])}(),function(){angular.module("xos.helpers").service("Networks",["$resource",function(e){return e("/api/core/networks/:id/",{id:"@id"},{update:{method:"PUT"}})}])}(),function(){angular.module("xos.helpers").service("Instances",["$resource",function(e){return e("/api/core/instances/:id/",{id:"@id"},{update:{method:"PUT"}})}])}(),function(){angular.module("xos.helpers").service("Flavors",["$resource",function(e){return e("/api/core/flavors/:id/",{id:"@id"},{update:{method:"PUT"}})}])}(),function(){angular.module("xos.helpers").service("Example-Services-Collection",["$resource",function(e){return e("/api/service/exampleservice/")}])}(),function(){angular.module("xos.helpers").service("Deployments",["$resource",function(e){return e("/api/core/deployments/:id/",{id:"@id"},{update:{method:"PUT"}})}])}(),function(){angular.module("xos.helpers").service("GraphService",["$q","Tenants","Services",function(e,n,o){var r=this;this.loadCoarseData=function(){var r=void 0,t=e.defer();return o.query().$promise.then(function(e){return r=e,n.query({kind:"coarse"}).$promise}).then(function(e){t.resolve({tenants:e,services:r})}),t.promise},this.getCoarseGraph=function(){return r.loadCoarseData().then(function(e){console.log(e)}),"ciao"}}])}(),function(){function e(){return{request:function(e){return-1===e.url.indexOf(".html")&&(e.url+="?no_hyperlinks=1"),e}}}angular.module("xos.helpers").factory("NoHyperlinks",e)}(),angular.module("xos.helpers").config(["$provide",function(e){e.decorator("$log",["$delegate",function(e){var n=function(){return window.location.href.indexOf("debug=true")>=0},o=e.log,r=e.info,t=e.warn,i=e.error,a=e.debug,s=function(o){return function(){if(n()){var r=[].slice.call(arguments),t=new Date;r[0]="["+t.getHours()+":"+t.getMinutes()+":"+t.getSeconds()+"] "+r[0],"function"!=typeof e.reset||e.debug.logs instanceof Array||e.reset(),o.apply(null,r)}}};return e.info=s(r),e.log=s(o),e.warn=s(t),e.error=s(i),e.debug=s(a),e}])}]),function(){function e(){var e=function(e){return e.split("_").join(" ").trim()},n=function(e){return e.split(/(?=[A-Z])/).map(function(e){return e.toLowerCase()}).join(" ")},o=function(e){return e.slice(0,1).toUpperCase()+e.slice(1)},r=function(r){return r=e(r),r=n(r),r=o(r).replace(/\s\s+/g," ")+":",r.replace("::",":")};return{_formatByUnderscore:e,_formatByUppercase:n,_capitalize:o,format:r}}angular.module("xos.uiComponents").factory("LabelFormatter",e)}(),function(){function e(e){return{request:function(n){return"GET"!==n.method&&(n.headers["X-CSRFToken"]=e.get("xoscsrftoken")),n}}}e.$inject=["$cookies"],angular.module("xos.helpers").factory("SetCSRFToken",e)}();
\ No newline at end of file
diff --git a/xos/core/xoslib/static/js/vendor/ngXosVendor.js b/xos/core/xoslib/static/js/vendor/ngXosVendor.js
index 2f0ace3..ab8f370 100644
--- a/xos/core/xoslib/static/js/vendor/ngXosVendor.js
+++ b/xos/core/xoslib/static/js/vendor/ngXosVendor.js
@@ -1,11 +1,16 @@
-!function(t,e,n){"use strict";function r(t,e){return e=e||Error,function(){var n,r,i=2,o=arguments,a=o[0],s="["+(t?t+":":"")+a+"] ",u=o[1];for(s+=u.replace(/\{\d+\}/g,function(t){var e=+t.slice(1,-1),n=e+i;return n<o.length?yt(o[n]):t}),s+="\nhttp://errors.angularjs.org/1.4.7/"+(t?t+"/":"")+a,r=i,n="?";r<o.length;r++,n="&")s+=n+"p"+(r-i)+"="+encodeURIComponent(yt(o[r]));return new e(s)}}function i(t){if(null==t||E(t))return!1;var e="length"in Object(t)&&t.length;return t.nodeType===Gr&&e?!0:C(t)||Ir(t)||0===e||"number"==typeof e&&e>0&&e-1 in t}function o(t,e,n){var r,a;if(t)if(_(t))for(r in t)"prototype"==r||"length"==r||"name"==r||t.hasOwnProperty&&!t.hasOwnProperty(r)||e.call(n,t[r],r,t);else if(Ir(t)||i(t)){var s="object"!=typeof t;for(r=0,a=t.length;a>r;r++)(s||r in t)&&e.call(n,t[r],r,t)}else if(t.forEach&&t.forEach!==o)t.forEach(e,n,t);else if(x(t))for(r in t)e.call(n,t[r],r,t);else if("function"==typeof t.hasOwnProperty)for(r in t)t.hasOwnProperty(r)&&e.call(n,t[r],r,t);else for(r in t)wr.call(t,r)&&e.call(n,t[r],r,t);return t}function a(t,e,n){for(var r=Object.keys(t).sort(),i=0;i<r.length;i++)e.call(n,t[r[i]],r[i]);return r}function s(t){return function(e,n){t(n,e)}}function u(){return++Rr}function l(t,e){e?t.$$hashKey=e:delete t.$$hashKey}function c(t,e,n){for(var r=t.$$hashKey,i=0,o=e.length;o>i;++i){var a=e[i];if(w(a)||_(a))for(var s=Object.keys(a),u=0,f=s.length;f>u;u++){var h=s[u],p=a[h];n&&w(p)?A(p)?t[h]=new Date(p.valueOf()):k(p)?t[h]=new RegExp(p):(w(t[h])||(t[h]=Ir(p)?[]:{}),c(t[h],[p],!0)):t[h]=p}}return l(t,r),t}function f(t){return c(t,Pr.call(arguments,1),!1)}function h(t){return c(t,Pr.call(arguments,1),!0)}function p(t){return parseInt(t,10)}function d(t,e){return f(Object.create(t),e)}function v(){}function g(t){return t}function m(t){return function(){return t}}function $(t){return _(t.toString)&&t.toString!==Object.prototype.toString}function y(t){return"undefined"==typeof t}function b(t){return"undefined"!=typeof t}function w(t){return null!==t&&"object"==typeof t}function x(t){return null!==t&&"object"==typeof t&&!jr(t)}function C(t){return"string"==typeof t}function S(t){return"number"==typeof t}function A(t){return"[object Date]"===Mr.call(t)}function _(t){return"function"==typeof t}function k(t){return"[object RegExp]"===Mr.call(t)}function E(t){return t&&t.window===t}function P(t){return t&&t.$evalAsync&&t.$watch}function O(t){return"[object File]"===Mr.call(t)}function T(t){return"[object FormData]"===Mr.call(t)}function M(t){return"[object Blob]"===Mr.call(t)}function j(t){return"boolean"==typeof t}function F(t){return t&&_(t.then)}function L(t){return Vr.test(Mr.call(t))}function R(t){return!(!t||!(t.nodeName||t.prop&&t.attr&&t.find))}function D(t){var e,n={},r=t.split(",");for(e=0;e<r.length;e++)n[r[e]]=!0;return n}function I(t){return br(t.nodeName||t[0]&&t[0].nodeName)}function V(t,e){var n=t.indexOf(e);return n>=0&&t.splice(n,1),n}function N(t,e,n,r){if(E(t)||P(t))throw Fr("cpws","Can't copy! Making copies of Window or Scope instances is not supported.");if(L(e))throw Fr("cpta","Can't copy! TypedArray destination cannot be mutated.");if(e){if(t===e)throw Fr("cpi","Can't copy! Source and destination are identical.");n=n||[],r=r||[],w(t)&&(n.push(t),r.push(e));var i;if(Ir(t)){e.length=0;for(var a=0;a<t.length;a++)e.push(N(t[a],null,n,r))}else{var s=e.$$hashKey;if(Ir(e)?e.length=0:o(e,function(t,n){delete e[n]}),x(t))for(i in t)e[i]=N(t[i],null,n,r);else if(t&&"function"==typeof t.hasOwnProperty)for(i in t)t.hasOwnProperty(i)&&(e[i]=N(t[i],null,n,r));else for(i in t)wr.call(t,i)&&(e[i]=N(t[i],null,n,r));l(e,s)}}else if(e=t,w(t)){var u;if(n&&-1!==(u=n.indexOf(t)))return r[u];if(Ir(t))return N(t,[],n,r);if(L(t))e=new t.constructor(t);else if(A(t))e=new Date(t.getTime());else if(k(t))e=new RegExp(t.source,t.toString().match(/[^\/]*$/)[0]),e.lastIndex=t.lastIndex;else{if(!_(t.cloneNode)){var c=Object.create(jr(t));return N(t,c,n,r)}e=t.cloneNode(!0)}r&&(n.push(t),r.push(e))}return e}function B(t,e){if(Ir(t)){e=e||[];for(var n=0,r=t.length;r>n;n++)e[n]=t[n]}else if(w(t)){e=e||{};for(var i in t)"$"===i.charAt(0)&&"$"===i.charAt(1)||(e[i]=t[i])}return e||t}function W(t,e){if(t===e)return!0;if(null===t||null===e)return!1;if(t!==t&&e!==e)return!0;var n,r,i,o=typeof t,a=typeof e;if(o==a&&"object"==o){if(!Ir(t)){if(A(t))return A(e)?W(t.getTime(),e.getTime()):!1;if(k(t))return k(e)?t.toString()==e.toString():!1;if(P(t)||P(e)||E(t)||E(e)||Ir(e)||A(e)||k(e))return!1;i=gt();for(r in t)if("$"!==r.charAt(0)&&!_(t[r])){if(!W(t[r],e[r]))return!1;i[r]=!0}for(r in e)if(!(r in i)&&"$"!==r.charAt(0)&&b(e[r])&&!_(e[r]))return!1;return!0}if(!Ir(e))return!1;if((n=t.length)==e.length){for(r=0;n>r;r++)if(!W(t[r],e[r]))return!1;return!0}}return!1}function q(t,e,n){return t.concat(Pr.call(e,n))}function z(t,e){return Pr.call(t,e||0)}function H(t,e){var n=arguments.length>2?z(arguments,2):[];return!_(e)||e instanceof RegExp?e:n.length?function(){return arguments.length?e.apply(t,q(n,arguments,0)):e.apply(t,n)}:function(){return arguments.length?e.apply(t,arguments):e.call(t)}}function U(t,r){var i=r;return"string"==typeof t&&"$"===t.charAt(0)&&"$"===t.charAt(1)?i=n:E(r)?i="$WINDOW":r&&e===r?i="$DOCUMENT":P(r)&&(i="$SCOPE"),i}function G(t,e){return"undefined"==typeof t?n:(S(e)||(e=e?2:null),JSON.stringify(t,U,e))}function Y(t){return C(t)?JSON.parse(t):t}function X(t,e){var n=Date.parse("Jan 01, 1970 00:00:00 "+t)/6e4;return isNaN(n)?e:n}function J(t,e){return t=new Date(t.getTime()),t.setMinutes(t.getMinutes()+e),t}function Z(t,e,n){n=n?-1:1;var r=X(e,t.getTimezoneOffset());return J(t,n*(r-t.getTimezoneOffset()))}function K(t){t=_r(t).clone();try{t.empty()}catch(e){}var n=_r("<div>").append(t).html();try{return t[0].nodeType===Xr?br(n):n.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/,function(t,e){return"<"+br(e)})}catch(e){return br(n)}}function Q(t){try{return decodeURIComponent(t)}catch(e){}}function tt(t){var e={};return o((t||"").split("&"),function(t){var n,r,i;t&&(r=t=t.replace(/\+/g,"%20"),n=t.indexOf("="),-1!==n&&(r=t.substring(0,n),i=t.substring(n+1)),r=Q(r),b(r)&&(i=b(i)?Q(i):!0,wr.call(e,r)?Ir(e[r])?e[r].push(i):e[r]=[e[r],i]:e[r]=i))}),e}function et(t){var e=[];return o(t,function(t,n){Ir(t)?o(t,function(t){e.push(rt(n,!0)+(t===!0?"":"="+rt(t,!0)))}):e.push(rt(n,!0)+(t===!0?"":"="+rt(t,!0)))}),e.length?e.join("&"):""}function nt(t){return rt(t,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function rt(t,e){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%20/g,e?"%20":"+")}function it(t,e){var n,r,i=zr.length;for(r=0;i>r;++r)if(n=zr[r]+e,C(n=t.getAttribute(n)))return n;return null}function ot(t,e){var n,r,i={};o(zr,function(e){var i=e+"app";!n&&t.hasAttribute&&t.hasAttribute(i)&&(n=t,r=t.getAttribute(i))}),o(zr,function(e){var i,o=e+"app";!n&&(i=t.querySelector("["+o.replace(":","\\:")+"]"))&&(n=i,r=i.getAttribute(o))}),n&&(i.strictDi=null!==it(n,"strict-di"),e(n,r?[r]:[],i))}function at(n,r,i){w(i)||(i={});var a={strictDi:!1};i=f(a,i);var s=function(){if(n=_r(n),n.injector()){var t=n[0]===e?"document":K(n);throw Fr("btstrpd","App Already Bootstrapped with this Element '{0}'",t.replace(/</,"&lt;").replace(/>/,"&gt;"))}r=r||[],r.unshift(["$provide",function(t){t.value("$rootElement",n)}]),i.debugInfoEnabled&&r.push(["$compileProvider",function(t){t.debugInfoEnabled(!0)}]),r.unshift("ng");var o=Kt(r,i.strictDi);return o.invoke(["$rootScope","$rootElement","$compile","$injector",function(t,e,n,r){t.$apply(function(){e.data("$injector",r),n(e)(t)})}]),o},u=/^NG_ENABLE_DEBUG_INFO!/,l=/^NG_DEFER_BOOTSTRAP!/;return t&&u.test(t.name)&&(i.debugInfoEnabled=!0,t.name=t.name.replace(u,"")),t&&!l.test(t.name)?s():(t.name=t.name.replace(l,""),Lr.resumeBootstrap=function(t){return o(t,function(t){r.push(t)}),s()},void(_(Lr.resumeDeferredBootstrap)&&Lr.resumeDeferredBootstrap()))}function st(){t.name="NG_ENABLE_DEBUG_INFO!"+t.name,t.location.reload()}function ut(t){var e=Lr.element(t).injector();if(!e)throw Fr("test","no injector found for element argument to getTestability");return e.get("$$testability")}function lt(t,e){return e=e||"_",t.replace(Hr,function(t,n){return(n?e:"")+t.toLowerCase()})}function ct(){var e;if(!Ur){var r=qr();kr=y(r)?t.jQuery:r?t[r]:n,kr&&kr.fn.on?(_r=kr,f(kr.fn,{scope:pi.scope,isolateScope:pi.isolateScope,controller:pi.controller,injector:pi.injector,inheritedData:pi.inheritedData}),e=kr.cleanData,kr.cleanData=function(t){var n;if(Dr)Dr=!1;else for(var r,i=0;null!=(r=t[i]);i++)n=kr._data(r,"events"),n&&n.$destroy&&kr(r).triggerHandler("$destroy");e(t)}):_r=Et,Lr.element=_r,Ur=!0}}function ft(t,e,n){if(!t)throw Fr("areq","Argument '{0}' is {1}",e||"?",n||"required");return t}function ht(t,e,n){return n&&Ir(t)&&(t=t[t.length-1]),ft(_(t),e,"not a function, got "+(t&&"object"==typeof t?t.constructor.name||"Object":typeof t)),t}function pt(t,e){if("hasOwnProperty"===t)throw Fr("badname","hasOwnProperty is not a valid {0} name",e)}function dt(t,e,n){if(!e)return t;for(var r,i=e.split("."),o=t,a=i.length,s=0;a>s;s++)r=i[s],t&&(t=(o=t)[r]);return!n&&_(t)?H(o,t):t}function vt(t){for(var e,n=t[0],r=t[t.length-1],i=1;n!==r&&(n=n.nextSibling);i++)(e||t[i]!==n)&&(e||(e=_r(Pr.call(t,0,i))),e.push(n));return e||t}function gt(){return Object.create(null)}function mt(t){function e(t,e,n){return t[e]||(t[e]=n())}var n=r("$injector"),i=r("ng"),o=e(t,"angular",Object);return o.$$minErr=o.$$minErr||r,e(o,"module",function(){var t={};return function(r,o,a){var s=function(t,e){if("hasOwnProperty"===t)throw i("badname","hasOwnProperty is not a valid {0} name",e)};return s(r,"module"),o&&t.hasOwnProperty(r)&&(t[r]=null),e(t,r,function(){function t(t,e,n,r){return r||(r=i),function(){return r[n||"push"]([t,e,arguments]),c}}function e(t,e){return function(n,o){return o&&_(o)&&(o.$$moduleName=r),i.push([t,e,arguments]),c}}if(!o)throw n("nomod","Module '{0}' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.",r);var i=[],s=[],u=[],l=t("$injector","invoke","push",s),c={_invokeQueue:i,_configBlocks:s,_runBlocks:u,requires:o,name:r,provider:e("$provide","provider"),factory:e("$provide","factory"),service:e("$provide","service"),value:t("$provide","value"),constant:t("$provide","constant","unshift"),decorator:e("$provide","decorator"),animation:e("$animateProvider","register"),filter:e("$filterProvider","register"),controller:e("$controllerProvider","register"),directive:e("$compileProvider","directive"),config:l,run:function(t){return u.push(t),this}};return a&&l(a),c})}})}function $t(t){var e=[];return JSON.stringify(t,function(t,n){if(n=U(t,n),w(n)){if(e.indexOf(n)>=0)return"...";e.push(n)}return n})}function yt(t){return"function"==typeof t?t.toString().replace(/ \{[\s\S]*$/,""):y(t)?"undefined":"string"!=typeof t?$t(t):t}function bt(e){f(e,{bootstrap:at,copy:N,extend:f,merge:h,equals:W,element:_r,forEach:o,injector:Kt,noop:v,bind:H,toJson:G,fromJson:Y,identity:g,isUndefined:y,isDefined:b,isString:C,isFunction:_,isObject:w,isNumber:S,isElement:R,isArray:Ir,version:Qr,isDate:A,lowercase:br,uppercase:xr,callbacks:{counter:0},getTestability:ut,$$minErr:r,$$csp:Wr,reloadWithDebugInfo:st}),(Er=mt(t))("ng",["ngLocale"],["$provide",function(t){t.provider({$$sanitizeUri:mn}),t.provider("$compile",ue).directive({a:po,input:To,textarea:To,form:yo,script:Ca,select:_a,style:Ea,option:ka,ngBind:Fo,ngBindHtml:Ro,ngBindTemplate:Lo,ngClass:Io,ngClassEven:No,ngClassOdd:Vo,ngCloak:Bo,ngController:Wo,ngForm:bo,ngHide:ma,ngIf:Ho,ngInclude:Uo,ngInit:Yo,ngNonBindable:ua,ngPluralize:ha,ngRepeat:pa,ngShow:ga,ngStyle:$a,ngSwitch:ya,ngSwitchWhen:ba,ngSwitchDefault:wa,ngOptions:fa,ngTransclude:xa,ngModel:oa,ngList:Xo,ngChange:Do,pattern:Oa,ngPattern:Oa,required:Pa,ngRequired:Pa,minlength:Ma,ngMinlength:Ma,maxlength:Ta,ngMaxlength:Ta,ngValue:jo,ngModelOptions:sa}).directive({ngInclude:Go}).directive(vo).directive(qo),t.provider({$anchorScroll:Qt,$animate:Ei,$animateCss:Pi,$$animateQueue:ki,$$AnimateRunner:_i,$browser:oe,$cacheFactory:ae,$controller:pe,$document:de,$exceptionHandler:ve,$filter:Tn,$$forceReflow:Fi,$interpolate:Pe,$interval:Oe,$http:Ae,$httpParamSerializer:me,$httpParamSerializerJQLike:$e,$httpBackend:ke,$xhrFactory:_e,$location:ze,$log:He,$parse:fn,$rootScope:gn,$q:hn,$$q:pn,$sce:wn,$sceDelegate:bn,$sniffer:xn,$templateCache:se,$templateRequest:Cn,$$testability:Sn,$timeout:An,$window:En,$$rAF:vn,$$jqLite:Gt,$$HashMap:mi,$$cookieReader:On})}])}function wt(){return++ei}function xt(t){return t.replace(ii,function(t,e,n,r){return r?n.toUpperCase():n}).replace(oi,"Moz$1")}function Ct(t){return!li.test(t)}function St(t){var e=t.nodeType;return e===Gr||!e||e===Zr}function At(t){for(var e in ti[t.ng339])return!0;return!1}function _t(t,e){var n,r,i,a,s=e.createDocumentFragment(),u=[];if(Ct(t))u.push(e.createTextNode(t));else{for(n=n||s.appendChild(e.createElement("div")),r=(ci.exec(t)||["",""])[1].toLowerCase(),i=hi[r]||hi._default,n.innerHTML=i[1]+t.replace(fi,"<$1></$2>")+i[2],a=i[0];a--;)n=n.lastChild;u=q(u,n.childNodes),n=s.firstChild,n.textContent=""}return s.textContent="",s.innerHTML="",o(u,function(t){s.appendChild(t)}),s}function kt(t,n){n=n||e;var r;return(r=ui.exec(t))?[n.createElement(r[1])]:(r=_t(t,n))?r.childNodes:[]}function Et(t){if(t instanceof Et)return t;var e;if(C(t)&&(t=Nr(t),e=!0),!(this instanceof Et)){if(e&&"<"!=t.charAt(0))throw si("nosel","Looking up elements via selectors is not supported by jqLite! See: http://docs.angularjs.org/api/angular.element");return new Et(t)}e?It(this,kt(t)):It(this,t)}function Pt(t){return t.cloneNode(!0)}function Ot(t,e){if(e||Mt(t),t.querySelectorAll)for(var n=t.querySelectorAll("*"),r=0,i=n.length;i>r;r++)Mt(n[r])}function Tt(t,e,n,r){if(b(r))throw si("offargs","jqLite#off() does not support the `selector` argument");var i=jt(t),a=i&&i.events,s=i&&i.handle;if(s)if(e)o(e.split(" "),function(e){if(b(n)){var r=a[e];if(V(r||[],n),r&&r.length>0)return}ri(t,e,s),delete a[e]});else for(e in a)"$destroy"!==e&&ri(t,e,s),delete a[e]}function Mt(t,e){var r=t.ng339,i=r&&ti[r];if(i){if(e)return void delete i.data[e];i.handle&&(i.events.$destroy&&i.handle({},"$destroy"),Tt(t)),delete ti[r],t.ng339=n}}function jt(t,e){var r=t.ng339,i=r&&ti[r];return e&&!i&&(t.ng339=r=wt(),i=ti[r]={events:{},data:{},handle:n}),i}function Ft(t,e,n){if(St(t)){var r=b(n),i=!r&&e&&!w(e),o=!e,a=jt(t,!i),s=a&&a.data;if(r)s[e]=n;else{if(o)return s;if(i)return s&&s[e];f(s,e)}}}function Lt(t,e){return t.getAttribute?(" "+(t.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").indexOf(" "+e+" ")>-1:!1}function Rt(t,e){e&&t.setAttribute&&o(e.split(" "),function(e){t.setAttribute("class",Nr((" "+(t.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").replace(" "+Nr(e)+" "," ")))})}function Dt(t,e){if(e&&t.setAttribute){var n=(" "+(t.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ");o(e.split(" "),function(t){t=Nr(t),-1===n.indexOf(" "+t+" ")&&(n+=t+" ")}),t.setAttribute("class",Nr(n))}}function It(t,e){if(e)if(e.nodeType)t[t.length++]=e;else{var n=e.length;if("number"==typeof n&&e.window!==e){if(n)for(var r=0;n>r;r++)t[t.length++]=e[r]}else t[t.length++]=e}}function Vt(t,e){return Nt(t,"$"+(e||"ngController")+"Controller")}function Nt(t,e,n){t.nodeType==Zr&&(t=t.documentElement);for(var r=Ir(e)?e:[e];t;){for(var i=0,o=r.length;o>i;i++)if(b(n=_r.data(t,r[i])))return n;t=t.parentNode||t.nodeType===Kr&&t.host}}function Bt(t){for(Ot(t,!0);t.firstChild;)t.removeChild(t.firstChild)}function Wt(t,e){e||Ot(t);var n=t.parentNode;n&&n.removeChild(t)}function qt(e,n){n=n||t,"complete"===n.document.readyState?n.setTimeout(e):_r(n).on("load",e)}function zt(t,e){var n=di[e.toLowerCase()];return n&&vi[I(t)]&&n}function Ht(t){return gi[t]}function Ut(t,e){var n=function(n,r){n.isDefaultPrevented=function(){return n.defaultPrevented};var i=e[r||n.type],o=i?i.length:0;if(o){if(y(n.immediatePropagationStopped)){var a=n.stopImmediatePropagation;n.stopImmediatePropagation=function(){n.immediatePropagationStopped=!0,n.stopPropagation&&n.stopPropagation(),a&&a.call(n)}}n.isImmediatePropagationStopped=function(){return n.immediatePropagationStopped===!0},o>1&&(i=B(i));for(var s=0;o>s;s++)n.isImmediatePropagationStopped()||i[s].call(t,n)}};return n.elem=t,n}function Gt(){this.$get=function(){return f(Et,{hasClass:function(t,e){return t.attr&&(t=t[0]),Lt(t,e)},addClass:function(t,e){return t.attr&&(t=t[0]),Dt(t,e)},removeClass:function(t,e){return t.attr&&(t=t[0]),Rt(t,e)}})}}function Yt(t,e){var n=t&&t.$$hashKey;if(n)return"function"==typeof n&&(n=t.$$hashKey()),n;var r=typeof t;return n="function"==r||"object"==r&&null!==t?t.$$hashKey=r+":"+(e||u)():r+":"+t}function Xt(t,e){if(e){var n=0;this.nextUid=function(){return++n}}o(t,this.put,this)}function Jt(t){var e=t.toString().replace(wi,""),n=e.match($i);return n?"function("+(n[1]||"").replace(/[\s\r\n]+/," ")+")":"fn"}function Zt(t,e,n){var r,i,a,s;if("function"==typeof t){if(!(r=t.$inject)){if(r=[],t.length){if(e)throw C(n)&&n||(n=t.name||Jt(t)),xi("strictdi","{0} is not using explicit annotation and cannot be invoked in strict mode",n);i=t.toString().replace(wi,""),a=i.match($i),o(a[1].split(yi),function(t){t.replace(bi,function(t,e,n){r.push(n)})})}t.$inject=r}}else Ir(t)?(s=t.length-1,ht(t[s],"fn"),r=t.slice(0,s)):ht(t,"fn",!0);return r}function Kt(t,e){function r(t){return function(e,n){return w(e)?void o(e,s(t)):t(e,n)}}function i(t,e){if(pt(t,"service"),(_(e)||Ir(e))&&(e=S.instantiate(e)),!e.$get)throw xi("pget","Provider '{0}' must define $get factory method.",t);return x[t+g]=e}function a(t,e){return function(){var n=k.invoke(e,this);if(y(n))throw xi("undef","Provider '{0}' must return a value from $get factory method.",t);return n}}function u(t,e,n){return i(t,{$get:n!==!1?a(t,e):e})}function l(t,e){return u(t,["$injector",function(t){return t.instantiate(e)}])}function c(t,e){return u(t,m(e),!1)}function f(t,e){pt(t,"constant"),x[t]=e,A[t]=e}function h(t,e){var n=S.get(t+g),r=n.$get;n.$get=function(){var t=k.invoke(r,n);return k.invoke(e,null,{$delegate:t})}}function p(t){ft(y(t)||Ir(t),"modulesToLoad","not an array");var e,n=[];return o(t,function(t){function r(t){var e,n;for(e=0,n=t.length;n>e;e++){var r=t[e],i=S.get(r[0]);i[r[1]].apply(i,r[2])}}if(!b.get(t)){b.put(t,!0);try{C(t)?(e=Er(t),n=n.concat(p(e.requires)).concat(e._runBlocks),r(e._invokeQueue),r(e._configBlocks)):_(t)?n.push(S.invoke(t)):Ir(t)?n.push(S.invoke(t)):ht(t,"module")}catch(i){throw Ir(t)&&(t=t[t.length-1]),i.message&&i.stack&&-1==i.stack.indexOf(i.message)&&(i=i.message+"\n"+i.stack),xi("modulerr","Failed to instantiate module {0} due to:\n{1}",t,i.stack||i.message||i)}}}),n}function d(t,n){function r(e,r){if(t.hasOwnProperty(e)){if(t[e]===v)throw xi("cdep","Circular dependency found: {0}",e+" <- "+$.join(" <- "));return t[e]}try{return $.unshift(e),t[e]=v,t[e]=n(e,r)}catch(i){throw t[e]===v&&delete t[e],i}finally{$.shift()}}function i(t,n,i,o){"string"==typeof i&&(o=i,i=null);var a,s,u,l=[],c=Kt.$$annotate(t,e,o);for(s=0,a=c.length;a>s;s++){if(u=c[s],"string"!=typeof u)throw xi("itkn","Incorrect injection token! Expected service name as string, got {0}",u);l.push(i&&i.hasOwnProperty(u)?i[u]:r(u,o))}return Ir(t)&&(t=t[a]),t.apply(n,l)}function o(t,e,n){var r=Object.create((Ir(t)?t[t.length-1]:t).prototype||null),o=i(t,r,e,n);return w(o)||_(o)?o:r}return{invoke:i,instantiate:o,get:r,annotate:Kt.$$annotate,has:function(e){return x.hasOwnProperty(e+g)||t.hasOwnProperty(e)}}}e=e===!0;var v={},g="Provider",$=[],b=new Xt([],!0),x={$provide:{provider:r(i),factory:r(u),service:r(l),value:r(c),constant:r(f),decorator:h}},S=x.$injector=d(x,function(t,e){throw Lr.isString(e)&&$.push(e),xi("unpr","Unknown provider: {0}",$.join(" <- "))}),A={},k=A.$injector=d(A,function(t,e){var r=S.get(t+g,e);return k.invoke(r.$get,r,n,t)});return o(p(t),function(t){t&&k.invoke(t)}),k}function Qt(){var t=!0;this.disableAutoScrolling=function(){t=!1},this.$get=["$window","$location","$rootScope",function(e,n,r){function i(t){var e=null;return Array.prototype.some.call(t,function(t){return"a"===I(t)?(e=t,!0):void 0}),e}function o(){var t=s.yOffset;if(_(t))t=t();else if(R(t)){var n=t[0],r=e.getComputedStyle(n);t="fixed"!==r.position?0:n.getBoundingClientRect().bottom}else S(t)||(t=0);return t}function a(t){if(t){t.scrollIntoView();var n=o();if(n){var r=t.getBoundingClientRect().top;e.scrollBy(0,r-n)}}else e.scrollTo(0,0)}function s(t){t=C(t)?t:n.hash();var e;t?(e=u.getElementById(t))?a(e):(e=i(u.getElementsByName(t)))?a(e):"top"===t&&a(null):a(null)}var u=e.document;return t&&r.$watch(function(){return n.hash()},function(t,e){t===e&&""===t||qt(function(){r.$evalAsync(s)})}),s}]}function te(t,e){return t||e?t?e?(Ir(t)&&(t=t.join(" ")),Ir(e)&&(e=e.join(" ")),t+" "+e):t:e:""}function ee(t){for(var e=0;e<t.length;e++){var n=t[e];if(n.nodeType===Si)return n}}function ne(t){C(t)&&(t=t.split(" "));var e=gt();return o(t,function(t){t.length&&(e[t]=!0)}),e}function re(t){return w(t)?t:{}}function ie(t,e,n,r){function i(t){try{t.apply(null,z(arguments,1))}finally{if($--,0===$)for(;b.length;)try{b.pop()()}catch(e){n.error(e)}}}function a(t){var e=t.indexOf("#");return-1===e?"":t.substr(e)}function s(){A=null,l(),c()}function u(){try{return p.state}catch(t){}}function l(){w=u(),w=y(w)?null:w,W(w,E)&&(w=E),E=w}function c(){C===f.url()&&x===w||(C=f.url(),x=w,o(_,function(t){t(f.url(),w)}))}var f=this,h=(e[0],t.location),p=t.history,d=t.setTimeout,g=t.clearTimeout,m={};f.isMock=!1;var $=0,b=[];f.$$completeOutstandingRequest=i,f.$$incOutstandingRequestCount=function(){$++},f.notifyWhenNoOutstandingRequests=function(t){0===$?t():b.push(t)};var w,x,C=h.href,S=e.find("base"),A=null;l(),x=w,f.url=function(e,n,i){if(y(i)&&(i=null),h!==t.location&&(h=t.location),p!==t.history&&(p=t.history),e){var o=x===i;if(C===e&&(!r.history||o))return f;var s=C&&Le(C)===Le(e);return C=e,x=i,!r.history||s&&o?(s&&!A||(A=e),n?h.replace(e):s?h.hash=a(e):h.href=e,h.href!==e&&(A=e)):(p[n?"replaceState":"pushState"](i,"",e),l(),x=w),f}return A||h.href.replace(/%27/g,"'")},f.state=function(){return w};var _=[],k=!1,E=null;f.onUrlChange=function(e){return k||(r.history&&_r(t).on("popstate",s),_r(t).on("hashchange",s),k=!0),_.push(e),e},f.$$applicationDestroyed=function(){_r(t).off("hashchange popstate",s)},f.$$checkUrlChange=c,f.baseHref=function(){var t=S.attr("href");return t?t.replace(/^(https?\:)?\/\/[^\/]*/,""):""},f.defer=function(t,e){var n;return $++,n=d(function(){delete m[n],i(t)},e||0),m[n]=!0,n},f.defer.cancel=function(t){return m[t]?(delete m[t],g(t),i(v),!0):!1}}function oe(){this.$get=["$window","$log","$sniffer","$document",function(t,e,n,r){return new ie(t,r,e,n)}]}function ae(){this.$get=function(){function t(t,n){function i(t){t!=h&&(p?p==t&&(p=t.n):p=t,o(t.n,t.p),o(t,h),h=t,h.n=null)}function o(t,e){t!=e&&(t&&(t.p=e),e&&(e.n=t))}if(t in e)throw r("$cacheFactory")("iid","CacheId '{0}' is already taken!",t);var a=0,s=f({},n,{id:t}),u={},l=n&&n.capacity||Number.MAX_VALUE,c={},h=null,p=null;return e[t]={put:function(t,e){if(!y(e)){if(l<Number.MAX_VALUE){var n=c[t]||(c[t]={key:t});i(n)}return t in u||a++,u[t]=e,a>l&&this.remove(p.key),e}},get:function(t){if(l<Number.MAX_VALUE){var e=c[t];if(!e)return;i(e)}return u[t]},remove:function(t){if(l<Number.MAX_VALUE){var e=c[t];if(!e)return;e==h&&(h=e.p),e==p&&(p=e.n),o(e.n,e.p),delete c[t]}delete u[t],a--},removeAll:function(){u={},a=0,c={},h=p=null},destroy:function(){u=null,s=null,c=null,delete e[t]},info:function(){return f({},s,{size:a})}}}var e={};return t.info=function(){var t={};return o(e,function(e,n){t[n]=e.info()}),t},t.get=function(t){return e[t]},t}}function se(){this.$get=["$cacheFactory",function(t){return t("templates")}]}function ue(t,r){function i(t,e,n){var r=/^\s*([@&]|=(\*?))(\??)\s*(\w*)\s*$/,i={};return o(t,function(t,o){var a=t.match(r);if(!a)throw Oi("iscp","Invalid {3} for directive '{0}'. Definition: {... {1}: '{2}' ...}",e,o,t,n?"controller bindings definition":"isolate scope definition");i[o]={mode:a[1][0],collection:"*"===a[2],optional:"?"===a[3],attrName:a[4]||o}}),i}function a(t,e){var n={isolateScope:null,bindToController:null};if(w(t.scope)&&(t.bindToController===!0?(n.bindToController=i(t.scope,e,!0),n.isolateScope={}):n.isolateScope=i(t.scope,e,!1)),w(t.bindToController)&&(n.bindToController=i(t.bindToController,e,!0)),w(n.bindToController)){var r=t.controller,o=t.controllerAs;if(!r)throw Oi("noctrl","Cannot bind to controller without directive '{0}'s controller.",e);if(!he(r,o))throw Oi("noident","Cannot bind to controller without identifier for directive '{0}'.",e)}return n}function u(t){var e=t.charAt(0);if(!e||e!==br(e))throw Oi("baddir","Directive name '{0}' is invalid. The first character must be a lowercase letter",t);if(t!==t.trim())throw Oi("baddir","Directive name '{0}' is invalid. The name should not contain leading or trailing whitespaces",t)}var l={},c="Directive",h=/^\s*directive\:\s*([\w\-]+)\s+(.*)$/,p=/(([\w\-]+)(?:\:([^;]+))?;?)/,$=D("ngSrc,ngSrcset,src,srcset"),x=/^(?:(\^\^?)?(\?)?(\^\^?)?)?/,S=/^(on[a-z]+|formaction)$/;this.directive=function k(e,n){return pt(e,"directive"),C(e)?(u(e),ft(n,"directiveFactory"),l.hasOwnProperty(e)||(l[e]=[],t.factory(e+c,["$injector","$exceptionHandler",function(t,n){var r=[];return o(l[e],function(i,o){try{var s=t.invoke(i);_(s)?s={compile:m(s)}:!s.compile&&s.link&&(s.compile=m(s.link)),s.priority=s.priority||0,s.index=o,s.name=s.name||e,s.require=s.require||s.controller&&s.name,s.restrict=s.restrict||"EA";var u=s.$$bindings=a(s,s.name);w(u.isolateScope)&&(s.$$isolateBindings=u.isolateScope),s.$$moduleName=i.$$moduleName,r.push(s)}catch(l){n(l)}}),r}])),l[e].push(n)):o(e,s(k)),this},this.aHrefSanitizationWhitelist=function(t){return b(t)?(r.aHrefSanitizationWhitelist(t),this):r.aHrefSanitizationWhitelist()},this.imgSrcSanitizationWhitelist=function(t){return b(t)?(r.imgSrcSanitizationWhitelist(t),this):r.imgSrcSanitizationWhitelist()};var A=!0;this.debugInfoEnabled=function(t){return b(t)?(A=t,this):A},this.$get=["$injector","$interpolate","$exceptionHandler","$templateRequest","$parse","$controller","$rootScope","$document","$sce","$animate","$$sanitizeUri",function(t,r,i,a,s,u,m,b,k,E,O){function T(t,e){try{t.addClass(e)}catch(n){}}function M(t,e,n,r,i){t instanceof _r||(t=_r(t)),o(t,function(e,n){e.nodeType==Xr&&e.nodeValue.match(/\S+/)&&(t[n]=_r(e).wrap("<span></span>").parent()[0])});var a=F(t,e,t,n,r,i);M.$$addScopeClass(t);var s=null;return function(e,n,r){ft(e,"scope"),r=r||{};var i=r.parentBoundTranscludeFn,o=r.transcludeControllers,u=r.futureParentElement;i&&i.$$boundTransclude&&(i=i.$$boundTransclude),s||(s=j(u));var l;if(l="html"!==s?_r(Q(s,_r("<div>").append(t).html())):n?pi.clone.call(t):t,o)for(var c in o)l.data("$"+c+"Controller",o[c].instance);return M.$$addScopeInfo(l,e),n&&n(l,e),a&&a(e,l,l,i),l}}function j(t){var e=t&&t[0];return e&&"foreignobject"!==I(e)&&e.toString().match(/SVG/)?"svg":"html"}function F(t,e,r,i,o,a){function s(t,r,i,o){var a,s,u,l,c,f,h,p,g;if(d){var m=r.length;for(g=new Array(m),c=0;c<v.length;c+=3)h=v[c],g[h]=r[h]}else g=r;for(c=0,f=v.length;f>c;)if(u=g[v[c++]],a=v[c++],s=v[c++],a){if(a.scope){l=t.$new(),M.$$addScopeInfo(_r(u),l);var $=a.$$destroyBindings;$&&(a.$$destroyBindings=null,l.$on("$destroyed",$))}else l=t;p=a.transcludeOnThisElement?L(t,a.transclude,o):!a.templateOnThisElement&&o?o:!o&&e?L(t,e):null,a(s,l,u,i,p,a)}else s&&s(t,u.childNodes,n,o)}for(var u,l,c,f,h,p,d,v=[],g=0;g<t.length;g++)u=new at,l=R(t[g],[],u,0===g?i:n,o),c=l.length?B(l,t[g],u,e,r,null,[],[],a):null,c&&c.scope&&M.$$addScopeClass(u.$$element),h=c&&c.terminal||!(f=t[g].childNodes)||!f.length?null:F(f,c?(c.transcludeOnThisElement||!c.templateOnThisElement)&&c.transclude:e),(c||h)&&(v.push(g,c,h),p=!0,d=d||c),a=null;return p?s:null}function L(t,e,n){var r=function(r,i,o,a,s){return r||(r=t.$new(!1,s),r.$$transcluded=!0),e(r,i,{parentBoundTranscludeFn:n,transcludeControllers:o,futureParentElement:a})};return r}function R(t,e,n,r,i){var o,a,s=t.nodeType,u=n.$attr;switch(s){case Gr:H(e,le(I(t)),"E",r,i);for(var l,c,f,d,v,g,m=t.attributes,$=0,y=m&&m.length;y>$;$++){var b=!1,x=!1;l=m[$],c=l.name,v=Nr(l.value),d=le(c),(g=ht.test(d))&&(c=c.replace(Ti,"").substr(8).replace(/_(.)/g,function(t,e){return e.toUpperCase()}));var S=d.replace(/(Start|End)$/,"");U(S)&&d===S+"Start"&&(b=c,x=c.substr(0,c.length-5)+"end",c=c.substr(0,c.length-6)),f=le(c.toLowerCase()),u[f]=c,!g&&n.hasOwnProperty(f)||(n[f]=v,zt(t,f)&&(n[f]=!0)),et(t,e,v,f,g),H(e,f,"A",r,i,b,x)}if(a=t.className,w(a)&&(a=a.animVal),C(a)&&""!==a)for(;o=p.exec(a);)f=le(o[2]),H(e,f,"C",r,i)&&(n[f]=Nr(o[3])),a=a.substr(o.index+o[0].length);break;case Xr:if(11===Ar)for(;t.parentNode&&t.nextSibling&&t.nextSibling.nodeType===Xr;)t.nodeValue=t.nodeValue+t.nextSibling.nodeValue,t.parentNode.removeChild(t.nextSibling);Z(e,t.nodeValue);break;case Jr:try{o=h.exec(t.nodeValue),o&&(f=le(o[1]),H(e,f,"M",r,i)&&(n[f]=Nr(o[2])))}catch(A){}}return e.sort(X),e}function D(t,e,n){var r=[],i=0;if(e&&t.hasAttribute&&t.hasAttribute(e)){do{if(!t)throw Oi("uterdir","Unterminated attribute, found '{0}' but no matching '{1}' found.",e,n);t.nodeType==Gr&&(t.hasAttribute(e)&&i++,t.hasAttribute(n)&&i--),r.push(t),t=t.nextSibling}while(i>0)}else r.push(t);return _r(r)}function N(t,e,n){return function(r,i,o,a,s){return i=D(i[0],e,n),t(r,i,o,a,s)}}function B(t,r,o,a,s,l,c,f,h){function p(t,e,n,r){t&&(n&&(t=N(t,n,r)),t.require=m.require,t.directiveName=$,(O===m||m.$$isolateScope)&&(t=rt(t,{isolateScope:!0})),c.push(t)),e&&(n&&(e=N(e,n,r)),e.require=m.require,e.directiveName=$,(O===m||m.$$isolateScope)&&(e=rt(e,{isolateScope:!0})),f.push(e))}function d(t,e,n,r){var i;if(C(e)){var o=e.match(x),a=e.substring(o[0].length),s=o[1]||o[3],u="?"===o[2];if("^^"===s?n=n.parent():(i=r&&r[a],i=i&&i.instance),!i){var l="$"+a+"Controller";i=s?n.inheritedData(l):n.data(l)}if(!i&&!u)throw Oi("ctreq","Controller '{0}', required by directive '{1}', can't be found!",a,t)}else if(Ir(e)){i=[];for(var c=0,f=e.length;f>c;c++)i[c]=d(t,e[c],n,r)}return i||null}function v(t,e,n,r,i,o){var a=gt();for(var s in r){var l=r[s],c={$scope:l===O||l.$$isolateScope?i:o,$element:t,$attrs:e,$transclude:n},f=l.controller;"@"==f&&(f=e[l.name]);var h=u(f,c,!0,l.controllerAs);a[l.name]=h,I||t.data("$"+l.name+"Controller",h.instance)}return a}function g(t,e,i,a,s,u){function l(t,e,r){var i;return P(t)||(r=e,e=t,t=n),I&&(i=y),r||(r=I?w.parent():w),s(t,e,i,r,j)}var h,p,g,m,$,y,b,w,x;if(r===i?(x=o,w=o.$$element):(w=_r(i),x=new at(w,o)),O&&($=e.$new(!0)),s&&(b=l,b.$$boundTransclude=s),E&&(y=v(w,x,b,E,$,e)),O&&(M.$$addScopeInfo(w,$,!0,!(T&&(T===O||T===O.$$originalDirective))),M.$$addScopeClass(w,!0),$.$$isolateBindings=O.$$isolateBindings,ot(e,x,$,$.$$isolateBindings,O,$)),y){var C,S,A=O||k;A&&y[A.name]&&(C=A.$$bindings.bindToController,m=y[A.name],m&&m.identifier&&C&&(S=m,u.$$destroyBindings=ot(e,x,m.instance,C,A)));for(h in y){m=y[h];var _=m();_!==m.instance&&(m.instance=_,w.data("$"+h+"Controller",_),m===S&&(u.$$destroyBindings(),u.$$destroyBindings=ot(e,x,_,C,A)))}}for(h=0,p=c.length;p>h;h++)g=c[h],it(g,g.isolateScope?$:e,w,x,g.require&&d(g.directiveName,g.require,w,y),b);var j=e;for(O&&(O.template||null===O.templateUrl)&&(j=$),t&&t(j,i.childNodes,n,s),h=f.length-1;h>=0;h--)g=f[h],it(g,g.isolateScope?$:e,w,x,g.require&&d(g.directiveName,g.require,w,y),b)}h=h||{};for(var m,$,y,b,S,A=-Number.MAX_VALUE,k=h.newScopeDirective,E=h.controllerDirectives,O=h.newIsolateScopeDirective,T=h.templateDirective,j=h.nonTlbTranscludeDirective,F=!1,L=!1,I=h.hasElementTranscludeDirective,V=o.$$element=_r(r),B=l,W=a,H=0,U=t.length;U>H;H++){m=t[H];var X=m.$$start,Z=m.$$end;if(X&&(V=D(r,X,Z)),y=n,A>m.priority)break;if((S=m.scope)&&(m.templateUrl||(w(S)?(J("new/isolated scope",O||k,m,V),O=m):J("new/isolated scope",O,m,V)),k=k||m),$=m.name,!m.templateUrl&&m.controller&&(S=m.controller,E=E||gt(),J("'"+$+"' controller",E[$],m,V),
-E[$]=m),(S=m.transclude)&&(F=!0,m.$$tlb||(J("transclusion",j,m,V),j=m),"element"==S?(I=!0,A=m.priority,y=V,V=o.$$element=_r(e.createComment(" "+$+": "+o[$]+" ")),r=V[0],nt(s,z(y),r),W=M(y,a,A,B&&B.name,{nonTlbTranscludeDirective:j})):(y=_r(Pt(r)).contents(),V.empty(),W=M(y,a))),m.template)if(L=!0,J("template",T,m,V),T=m,S=_(m.template)?m.template(V,o):m.template,S=ct(S),m.replace){if(B=m,y=Ct(S)?[]:fe(Q(m.templateNamespace,Nr(S))),r=y[0],1!=y.length||r.nodeType!==Gr)throw Oi("tplrt","Template for directive '{0}' must have exactly one root element. {1}",$,"");nt(s,V,r);var tt={$attr:{}},et=R(r,[],tt),st=t.splice(H+1,t.length-(H+1));O&&q(et),t=t.concat(et).concat(st),G(o,tt),U=t.length}else V.html(S);if(m.templateUrl)L=!0,J("template",T,m,V),T=m,m.replace&&(B=m),g=Y(t.splice(H,t.length-H),V,o,s,F&&W,c,f,{controllerDirectives:E,newScopeDirective:k!==m&&k,newIsolateScopeDirective:O,templateDirective:T,nonTlbTranscludeDirective:j}),U=t.length;else if(m.compile)try{b=m.compile(V,o,W),_(b)?p(null,b,X,Z):b&&p(b.pre,b.post,X,Z)}catch(ut){i(ut,K(V))}m.terminal&&(g.terminal=!0,A=Math.max(A,m.priority))}return g.scope=k&&k.scope===!0,g.transcludeOnThisElement=F,g.templateOnThisElement=L,g.transclude=W,h.hasElementTranscludeDirective=I,g}function q(t){for(var e=0,n=t.length;n>e;e++)t[e]=d(t[e],{$$isolateScope:!0})}function H(e,n,r,o,a,s,u){if(n===a)return null;var f=null;if(l.hasOwnProperty(n))for(var h,p=t.get(n+c),v=0,g=p.length;g>v;v++)try{h=p[v],(y(o)||o>h.priority)&&-1!=h.restrict.indexOf(r)&&(s&&(h=d(h,{$$start:s,$$end:u})),e.push(h),f=h)}catch(m){i(m)}return f}function U(e){if(l.hasOwnProperty(e))for(var n,r=t.get(e+c),i=0,o=r.length;o>i;i++)if(n=r[i],n.multiElement)return!0;return!1}function G(t,e){var n=e.$attr,r=t.$attr,i=t.$$element;o(t,function(r,i){"$"!=i.charAt(0)&&(e[i]&&e[i]!==r&&(r+=("style"===i?";":" ")+e[i]),t.$set(i,r,!0,n[i]))}),o(e,function(e,o){"class"==o?(T(i,e),t["class"]=(t["class"]?t["class"]+" ":"")+e):"style"==o?(i.attr("style",i.attr("style")+";"+e),t.style=(t.style?t.style+";":"")+e):"$"==o.charAt(0)||t.hasOwnProperty(o)||(t[o]=e,r[o]=n[o])})}function Y(t,e,n,r,i,s,u,l){var c,f,h=[],p=e[0],v=t.shift(),g=d(v,{templateUrl:null,transclude:null,replace:null,$$originalDirective:v}),m=_(v.templateUrl)?v.templateUrl(e,n):v.templateUrl,$=v.templateNamespace;return e.empty(),a(m).then(function(a){var d,y,b,x;if(a=ct(a),v.replace){if(b=Ct(a)?[]:fe(Q($,Nr(a))),d=b[0],1!=b.length||d.nodeType!==Gr)throw Oi("tplrt","Template for directive '{0}' must have exactly one root element. {1}",v.name,m);y={$attr:{}},nt(r,e,d);var C=R(d,[],y);w(v.scope)&&q(C),t=C.concat(t),G(n,y)}else d=p,e.html(a);for(t.unshift(g),c=B(t,d,n,i,e,v,s,u,l),o(r,function(t,n){t==d&&(r[n]=e[0])}),f=F(e[0].childNodes,i);h.length;){var S=h.shift(),A=h.shift(),_=h.shift(),k=h.shift(),E=e[0];if(!S.$$destroyed){if(A!==p){var P=A.className;l.hasElementTranscludeDirective&&v.replace||(E=Pt(d)),nt(_,_r(A),E),T(_r(E),P)}x=c.transcludeOnThisElement?L(S,c.transclude,k):k,c(f,S,E,r,x,c)}}h=null}),function(t,e,n,r,i){var o=i;e.$$destroyed||(h?h.push(e,n,r,o):(c.transcludeOnThisElement&&(o=L(e,c.transclude,i)),c(f,e,n,r,o,c)))}}function X(t,e){var n=e.priority-t.priority;return 0!==n?n:t.name!==e.name?t.name<e.name?-1:1:t.index-e.index}function J(t,e,n,r){function i(t){return t?" (module: "+t+")":""}if(e)throw Oi("multidir","Multiple directives [{0}{1}, {2}{3}] asking for {4} on: {5}",e.name,i(e.$$moduleName),n.name,i(n.$$moduleName),t,K(r))}function Z(t,e){var n=r(e,!0);n&&t.push({priority:0,compile:function(t){var e=t.parent(),r=!!e.length;return r&&M.$$addBindingClass(e),function(t,e){var i=e.parent();r||M.$$addBindingClass(i),M.$$addBindingInfo(i,n.expressions),t.$watch(n,function(t){e[0].nodeValue=t})}}})}function Q(t,n){switch(t=br(t||"html")){case"svg":case"math":var r=e.createElement("div");return r.innerHTML="<"+t+">"+n+"</"+t+">",r.childNodes[0].childNodes;default:return n}}function tt(t,e){if("srcdoc"==e)return k.HTML;var n=I(t);return"xlinkHref"==e||"form"==n&&"action"==e||"img"!=n&&("src"==e||"ngSrc"==e)?k.RESOURCE_URL:void 0}function et(t,e,n,i,o){var a=tt(t,i);o=$[i]||o;var s=r(n,!0,a,o);if(s){if("multiple"===i&&"select"===I(t))throw Oi("selmulti","Binding to the 'multiple' attribute is not supported. Element: {0}",K(t));e.push({priority:100,compile:function(){return{pre:function(t,e,u){var l=u.$$observers||(u.$$observers=gt());if(S.test(i))throw Oi("nodomevents","Interpolations for HTML DOM event attributes are disallowed.  Please use the ng- versions (such as ng-click instead of onclick) instead.");var c=u[i];c!==n&&(s=c&&r(c,!0,a,o),n=c),s&&(u[i]=s(t),(l[i]||(l[i]=[])).$$inter=!0,(u.$$observers&&u.$$observers[i].$$scope||t).$watch(s,function(t,e){"class"===i&&t!=e?u.$updateClass(t,e):u.$set(i,t)}))}}}})}}function nt(t,n,r){var i,o,a=n[0],s=n.length,u=a.parentNode;if(t)for(i=0,o=t.length;o>i;i++)if(t[i]==a){t[i++]=r;for(var l=i,c=l+s-1,f=t.length;f>l;l++,c++)f>c?t[l]=t[c]:delete t[l];t.length-=s-1,t.context===a&&(t.context=r);break}u&&u.replaceChild(r,a);var h=e.createDocumentFragment();h.appendChild(a),_r.hasData(a)&&(_r(r).data(_r(a).data()),kr?(Dr=!0,kr.cleanData([a])):delete _r.cache[a[_r.expando]]);for(var p=1,d=n.length;d>p;p++){var v=n[p];_r(v).remove(),h.appendChild(v),delete n[p]}n[0]=r,n.length=1}function rt(t,e){return f(function(){return t.apply(null,arguments)},t,e)}function it(t,e,n,r,o,a){try{t(e,n,r,o,a)}catch(s){i(s,K(n))}}function ot(t,e,n,i,a,u){var l;o(i,function(i,o){var u,c,f,h,p=i.attrName,d=i.optional,g=i.mode;switch(g){case"@":d||wr.call(e,p)||(n[o]=e[p]=void 0),e.$observe(p,function(t){C(t)&&(n[o]=t)}),e.$$observers[p].$$scope=t,C(e[p])&&(n[o]=r(e[p])(t));break;case"=":if(!wr.call(e,p)){if(d)break;e[p]=void 0}if(d&&!e[p])break;c=s(e[p]),h=c.literal?W:function(t,e){return t===e||t!==t&&e!==e},f=c.assign||function(){throw u=n[o]=c(t),Oi("nonassign","Expression '{0}' used with directive '{1}' is non-assignable!",e[p],a.name)},u=n[o]=c(t);var m=function(e){return h(e,n[o])||(h(e,u)?f(t,e=n[o]):n[o]=e),u=e};m.$stateful=!0;var $;$=i.collection?t.$watchCollection(e[p],m):t.$watch(s(e[p],m),null,c.literal),l=l||[],l.push($);break;case"&":if(c=e.hasOwnProperty(p)?s(e[p]):v,c===v&&d)break;n[o]=function(e){return c(t,e)}}});var c=l?function(){for(var t=0,e=l.length;e>t;++t)l[t]()}:v;return u&&c!==v?(u.$on("$destroy",c),v):c}var at=function(t,e){if(e){var n,r,i,o=Object.keys(e);for(n=0,r=o.length;r>n;n++)i=o[n],this[i]=e[i]}else this.$attr={};this.$$element=t};at.prototype={$normalize:le,$addClass:function(t){t&&t.length>0&&E.addClass(this.$$element,t)},$removeClass:function(t){t&&t.length>0&&E.removeClass(this.$$element,t)},$updateClass:function(t,e){var n=ce(t,e);n&&n.length&&E.addClass(this.$$element,n);var r=ce(e,t);r&&r.length&&E.removeClass(this.$$element,r)},$set:function(t,e,n,r){var a,s=this.$$element[0],u=zt(s,t),l=Ht(t),c=t;if(u?(this.$$element.prop(t,e),r=u):l&&(this[l]=e,c=l),this[t]=e,r?this.$attr[t]=r:(r=this.$attr[t],r||(this.$attr[t]=r=lt(t,"-"))),a=I(this.$$element),"a"===a&&"href"===t||"img"===a&&"src"===t)this[t]=e=O(e,"src"===t);else if("img"===a&&"srcset"===t){for(var f="",h=Nr(e),p=/(\s+\d+x\s*,|\s+\d+w\s*,|\s+,|,\s+)/,d=/\s/.test(h)?p:/(,)/,v=h.split(d),g=Math.floor(v.length/2),m=0;g>m;m++){var $=2*m;f+=O(Nr(v[$]),!0),f+=" "+Nr(v[$+1])}var b=Nr(v[2*m]).split(/\s/);f+=O(Nr(b[0]),!0),2===b.length&&(f+=" "+Nr(b[1])),this[t]=e=f}n!==!1&&(null===e||y(e)?this.$$element.removeAttr(r):this.$$element.attr(r,e));var w=this.$$observers;w&&o(w[c],function(t){try{t(e)}catch(n){i(n)}})},$observe:function(t,e){var n=this,r=n.$$observers||(n.$$observers=gt()),i=r[t]||(r[t]=[]);return i.push(e),m.$evalAsync(function(){i.$$inter||!n.hasOwnProperty(t)||y(n[t])||e(n[t])}),function(){V(i,e)}}};var st=r.startSymbol(),ut=r.endSymbol(),ct="{{"==st||"}}"==ut?g:function(t){return t.replace(/\{\{/g,st).replace(/}}/g,ut)},ht=/^ngAttr[A-Z]/;return M.$$addBindingInfo=A?function(t,e){var n=t.data("$binding")||[];Ir(e)?n=n.concat(e):n.push(e),t.data("$binding",n)}:v,M.$$addBindingClass=A?function(t){T(t,"ng-binding")}:v,M.$$addScopeInfo=A?function(t,e,n,r){var i=n?r?"$isolateScopeNoTemplate":"$isolateScope":"$scope";t.data(i,e)}:v,M.$$addScopeClass=A?function(t,e){T(t,e?"ng-isolate-scope":"ng-scope")}:v,M}]}function le(t){return xt(t.replace(Ti,""))}function ce(t,e){var n="",r=t.split(/\s+/),i=e.split(/\s+/);t:for(var o=0;o<r.length;o++){for(var a=r[o],s=0;s<i.length;s++)if(a==i[s])continue t;n+=(n.length>0?" ":"")+a}return n}function fe(t){t=_r(t);var e=t.length;if(1>=e)return t;for(;e--;){var n=t[e];n.nodeType===Jr&&Or.call(t,e,1)}return t}function he(t,e){if(e&&C(e))return e;if(C(t)){var n=ji.exec(t);if(n)return n[3]}}function pe(){var t={},e=!1;this.register=function(e,n){pt(e,"controller"),w(e)?f(t,e):t[e]=n},this.allowGlobals=function(){e=!0},this.$get=["$injector","$window",function(i,o){function a(t,e,n,i){if(!t||!w(t.$scope))throw r("$controller")("noscp","Cannot export controller '{0}' as '{1}'! No $scope object provided via `locals`.",i,e);t.$scope[e]=n}return function(r,s,u,l){var c,h,p,d;if(u=u===!0,l&&C(l)&&(d=l),C(r)){if(h=r.match(ji),!h)throw Mi("ctrlfmt","Badly formed controller string '{0}'. Must match `__name__ as __id__` or `__name__`.",r);p=h[1],d=d||h[3],r=t.hasOwnProperty(p)?t[p]:dt(s.$scope,p,!0)||(e?dt(o,p,!0):n),ht(r,p,!0)}if(u){var v=(Ir(r)?r[r.length-1]:r).prototype;c=Object.create(v||null),d&&a(s,d,c,p||r.name);var g;return g=f(function(){var t=i.invoke(r,c,s,p);return t!==c&&(w(t)||_(t))&&(c=t,d&&a(s,d,c,p||r.name)),c},{instance:c,identifier:d})}return c=i.instantiate(r,s,p),d&&a(s,d,c,p||r.name),c}}]}function de(){this.$get=["$window",function(t){return _r(t.document)}]}function ve(){this.$get=["$log",function(t){return function(e,n){t.error.apply(t,arguments)}}]}function ge(t){return w(t)?A(t)?t.toISOString():G(t):t}function me(){this.$get=function(){return function(t){if(!t)return"";var e=[];return a(t,function(t,n){null===t||y(t)||(Ir(t)?o(t,function(t,r){e.push(rt(n)+"="+rt(ge(t)))}):e.push(rt(n)+"="+rt(ge(t))))}),e.join("&")}}}function $e(){this.$get=function(){return function(t){function e(t,r,i){null===t||y(t)||(Ir(t)?o(t,function(t,n){e(t,r+"["+(w(t)?n:"")+"]")}):w(t)&&!A(t)?a(t,function(t,n){e(t,r+(i?"":"[")+n+(i?"":"]"))}):n.push(rt(r)+"="+rt(ge(t))))}if(!t)return"";var n=[];return e(t,"",!0),n.join("&")}}}function ye(t,e){if(C(t)){var n=t.replace(Vi,"").trim();if(n){var r=e("Content-Type");(r&&0===r.indexOf(Li)||be(n))&&(t=Y(n))}}return t}function be(t){var e=t.match(Di);return e&&Ii[e[0]].test(t)}function we(t){function e(t,e){t&&(r[t]=r[t]?r[t]+", "+e:e)}var n,r=gt();return C(t)?o(t.split("\n"),function(t){n=t.indexOf(":"),e(br(Nr(t.substr(0,n))),Nr(t.substr(n+1)))}):w(t)&&o(t,function(t,n){e(br(n),Nr(t))}),r}function xe(t){var e;return function(n){if(e||(e=we(t)),n){var r=e[br(n)];return void 0===r&&(r=null),r}return e}}function Ce(t,e,n,r){return _(r)?r(t,e,n):(o(r,function(r){t=r(t,e,n)}),t)}function Se(t){return t>=200&&300>t}function Ae(){var t=this.defaults={transformResponse:[ye],transformRequest:[function(t){return!w(t)||O(t)||M(t)||T(t)?t:G(t)}],headers:{common:{Accept:"application/json, text/plain, */*"},post:B(Ri),put:B(Ri),patch:B(Ri)},xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",paramSerializer:"$httpParamSerializer"},e=!1;this.useApplyAsync=function(t){return b(t)?(e=!!t,this):e};var i=!0;this.useLegacyPromiseExtensions=function(t){return b(t)?(i=!!t,this):i};var a=this.interceptors=[];this.$get=["$httpBackend","$$cookieReader","$cacheFactory","$rootScope","$q","$injector",function(s,u,l,c,h,p){function d(e){function a(t){var e=f({},t);return t.data?e.data=Ce(t.data,t.headers,t.status,l.transformResponse):e.data=t.data,Se(t.status)?e:h.reject(e)}function s(t,e){var n,r={};return o(t,function(t,i){_(t)?(n=t(e),null!=n&&(r[i]=n)):r[i]=t}),r}function u(e){var n,r,i,o=t.headers,a=f({},e.headers);o=f({},o.common,o[br(e.method)]);t:for(n in o){r=br(n);for(i in a)if(br(i)===r)continue t;a[n]=o[n]}return s(a,B(e))}if(!Lr.isObject(e))throw r("$http")("badreq","Http request configuration must be an object.  Received: {0}",e);var l=f({method:"get",transformRequest:t.transformRequest,transformResponse:t.transformResponse,paramSerializer:t.paramSerializer},e);l.headers=u(e),l.method=xr(l.method),l.paramSerializer=C(l.paramSerializer)?p.get(l.paramSerializer):l.paramSerializer;var c=function(e){var r=e.headers,i=Ce(e.data,xe(r),n,e.transformRequest);return y(i)&&o(r,function(t,e){"content-type"===br(e)&&delete r[e]}),y(e.withCredentials)&&!y(t.withCredentials)&&(e.withCredentials=t.withCredentials),m(e,i).then(a,a)},d=[c,n],v=h.when(l);for(o(S,function(t){(t.request||t.requestError)&&d.unshift(t.request,t.requestError),(t.response||t.responseError)&&d.push(t.response,t.responseError)});d.length;){var g=d.shift(),$=d.shift();v=v.then(g,$)}return i?(v.success=function(t){return ht(t,"fn"),v.then(function(e){t(e.data,e.status,e.headers,l)}),v},v.error=function(t){return ht(t,"fn"),v.then(null,function(e){t(e.data,e.status,e.headers,l)}),v}):(v.success=Bi("success"),v.error=Bi("error")),v}function v(t){o(arguments,function(t){d[t]=function(e,n){return d(f({},n||{},{method:t,url:e}))}})}function g(t){o(arguments,function(t){d[t]=function(e,n,r){return d(f({},r||{},{method:t,url:e,data:n}))}})}function m(r,i){function o(t,n,r,i){function o(){a(n,t,r,i)}p&&(Se(t)?p.put(S,[t,n,we(r),i]):p.remove(S)),e?c.$applyAsync(o):(o(),c.$$phase||c.$apply())}function a(t,e,n,i){e=e>=-1?e:0,(Se(e)?g.resolve:g.reject)({data:t,status:e,headers:xe(n),config:r,statusText:i})}function l(t){a(t.data,t.status,B(t.headers()),t.statusText)}function f(){var t=d.pendingRequests.indexOf(r);-1!==t&&d.pendingRequests.splice(t,1)}var p,v,g=h.defer(),m=g.promise,C=r.headers,S=$(r.url,r.paramSerializer(r.params));if(d.pendingRequests.push(r),m.then(f,f),!r.cache&&!t.cache||r.cache===!1||"GET"!==r.method&&"JSONP"!==r.method||(p=w(r.cache)?r.cache:w(t.cache)?t.cache:x),p&&(v=p.get(S),b(v)?F(v)?v.then(l,l):Ir(v)?a(v[1],v[0],B(v[2]),v[3]):a(v,200,{},"OK"):p.put(S,m)),y(v)){var A=kn(r.url)?u()[r.xsrfCookieName||t.xsrfCookieName]:n;A&&(C[r.xsrfHeaderName||t.xsrfHeaderName]=A),s(r.method,S,i,o,C,r.timeout,r.withCredentials,r.responseType)}return m}function $(t,e){return e.length>0&&(t+=(-1==t.indexOf("?")?"?":"&")+e),t}var x=l("$http");t.paramSerializer=C(t.paramSerializer)?p.get(t.paramSerializer):t.paramSerializer;var S=[];return o(a,function(t){S.unshift(C(t)?p.get(t):p.invoke(t))}),d.pendingRequests=[],v("get","delete","head","jsonp"),g("post","put","patch"),d.defaults=t,d}]}function _e(){this.$get=function(){return function(){return new t.XMLHttpRequest}}}function ke(){this.$get=["$browser","$window","$document","$xhrFactory",function(t,e,n,r){return Ee(t,r,t.defer,e.angular.callbacks,n[0])}]}function Ee(t,e,n,r,i){function a(t,e,n){var o=i.createElement("script"),a=null;return o.type="text/javascript",o.src=t,o.async=!0,a=function(t){ri(o,"load",a),ri(o,"error",a),i.body.removeChild(o),o=null;var s=-1,u="unknown";t&&("load"!==t.type||r[e].called||(t={type:"error"}),u=t.type,s="error"===t.type?404:200),n&&n(s,u)},ni(o,"load",a),ni(o,"error",a),i.body.appendChild(o),a}return function(i,s,u,l,c,f,h,p){function d(){$&&$(),w&&w.abort()}function g(e,r,i,o,a){b(S)&&n.cancel(S),$=w=null,e(r,i,o,a),t.$$completeOutstandingRequest(v)}if(t.$$incOutstandingRequestCount(),s=s||t.url(),"jsonp"==br(i)){var m="_"+(r.counter++).toString(36);r[m]=function(t){r[m].data=t,r[m].called=!0};var $=a(s.replace("JSON_CALLBACK","angular.callbacks."+m),m,function(t,e){g(l,t,r[m].data,"",e),r[m]=v})}else{var w=e(i,s);w.open(i,s,!0),o(c,function(t,e){b(t)&&w.setRequestHeader(e,t)}),w.onload=function(){var t=w.statusText||"",e="response"in w?w.response:w.responseText,n=1223===w.status?204:w.status;0===n&&(n=e?200:"file"==_n(s).protocol?404:0),g(l,n,e,w.getAllResponseHeaders(),t)};var x=function(){g(l,-1,null,null,"")};if(w.onerror=x,w.onabort=x,h&&(w.withCredentials=!0),p)try{w.responseType=p}catch(C){if("json"!==p)throw C}w.send(y(u)?null:u)}if(f>0)var S=n(d,f);else F(f)&&f.then(d)}}function Pe(){var t="{{",e="}}";this.startSymbol=function(e){return e?(t=e,this):t},this.endSymbol=function(t){return t?(e=t,this):e},this.$get=["$parse","$exceptionHandler","$sce",function(n,r,i){function o(t){return"\\\\\\"+t}function a(n){return n.replace(h,t).replace(p,e)}function s(t){if(null==t)return"";switch(typeof t){case"string":break;case"number":t=""+t;break;default:t=G(t)}return t}function u(o,u,h,p){function d(t){try{return t=E(t),p&&!b(t)?t:s(t)}catch(e){r(Wi.interr(o,e))}}p=!!p;for(var v,g,m,$=0,w=[],x=[],C=o.length,S=[],A=[];C>$;){if(-1==(v=o.indexOf(t,$))||-1==(g=o.indexOf(e,v+l))){$!==C&&S.push(a(o.substring($)));break}$!==v&&S.push(a(o.substring($,v))),m=o.substring(v+l,g),w.push(m),x.push(n(m,d)),$=g+c,A.push(S.length),S.push("")}if(h&&S.length>1&&Wi.throwNoconcat(o),!u||w.length){var k=function(t){for(var e=0,n=w.length;n>e;e++){if(p&&y(t[e]))return;S[A[e]]=t[e]}return S.join("")},E=function(t){return h?i.getTrusted(h,t):i.valueOf(t)};return f(function(t){var e=0,n=w.length,i=new Array(n);try{for(;n>e;e++)i[e]=x[e](t);return k(i)}catch(a){r(Wi.interr(o,a))}},{exp:o,expressions:w,$$watchDelegate:function(t,e){var n;return t.$watchGroup(x,function(r,i){var o=k(r);_(e)&&e.call(this,o,r!==i?n:o,t),n=o})}})}}var l=t.length,c=e.length,h=new RegExp(t.replace(/./g,o),"g"),p=new RegExp(e.replace(/./g,o),"g");return u.startSymbol=function(){return t},u.endSymbol=function(){return e},u}]}function Oe(){this.$get=["$rootScope","$window","$q","$$q",function(t,e,n,r){function i(i,a,s,u){var l=arguments.length>4,c=l?z(arguments,4):[],f=e.setInterval,h=e.clearInterval,p=0,d=b(u)&&!u,v=(d?r:n).defer(),g=v.promise;return s=b(s)?s:0,g.then(null,null,l?function(){i.apply(null,c)}:i),g.$$intervalId=f(function(){v.notify(p++),s>0&&p>=s&&(v.resolve(p),h(g.$$intervalId),delete o[g.$$intervalId]),d||t.$apply()},a),o[g.$$intervalId]=v,g}var o={};return i.cancel=function(t){return t&&t.$$intervalId in o?(o[t.$$intervalId].reject("canceled"),e.clearInterval(t.$$intervalId),delete o[t.$$intervalId],!0):!1},i}]}function Te(t){for(var e=t.split("/"),n=e.length;n--;)e[n]=nt(e[n]);return e.join("/")}function Me(t,e){var n=_n(t);e.$$protocol=n.protocol,e.$$host=n.hostname,e.$$port=p(n.port)||zi[n.protocol]||null}function je(t,e){var n="/"!==t.charAt(0);n&&(t="/"+t);var r=_n(t);e.$$path=decodeURIComponent(n&&"/"===r.pathname.charAt(0)?r.pathname.substring(1):r.pathname),e.$$search=tt(r.search),e.$$hash=decodeURIComponent(r.hash),e.$$path&&"/"!=e.$$path.charAt(0)&&(e.$$path="/"+e.$$path)}function Fe(t,e){return 0===e.indexOf(t)?e.substr(t.length):void 0}function Le(t){var e=t.indexOf("#");return-1==e?t:t.substr(0,e)}function Re(t){return t.replace(/(#.+)|#$/,"$1")}function De(t){return t.substr(0,Le(t).lastIndexOf("/")+1)}function Ie(t){return t.substring(0,t.indexOf("/",t.indexOf("//")+2))}function Ve(t,e,n){this.$$html5=!0,n=n||"",Me(t,this),this.$$parse=function(t){var n=Fe(e,t);if(!C(n))throw Hi("ipthprfx",'Invalid url "{0}", missing path prefix "{1}".',t,e);je(n,this),this.$$path||(this.$$path="/"),this.$$compose()},this.$$compose=function(){var t=et(this.$$search),n=this.$$hash?"#"+nt(this.$$hash):"";this.$$url=Te(this.$$path)+(t?"?"+t:"")+n,this.$$absUrl=e+this.$$url.substr(1)},this.$$parseLinkUrl=function(r,i){if(i&&"#"===i[0])return this.hash(i.slice(1)),!0;var o,a,s;return b(o=Fe(t,r))?(a=o,s=b(o=Fe(n,o))?e+(Fe("/",o)||o):t+a):b(o=Fe(e,r))?s=e+o:e==r+"/"&&(s=e),s&&this.$$parse(s),!!s}}function Ne(t,e,n){Me(t,this),this.$$parse=function(r){function i(t,e,n){var r,i=/^\/[A-Z]:(\/.*)/;return 0===e.indexOf(n)&&(e=e.replace(n,"")),i.exec(e)?t:(r=i.exec(t),r?r[1]:t)}var o,a=Fe(t,r)||Fe(e,r);y(a)||"#"!==a.charAt(0)?this.$$html5?o=a:(o="",y(a)&&(t=r,this.replace())):(o=Fe(n,a),y(o)&&(o=a)),je(o,this),this.$$path=i(this.$$path,o,t),this.$$compose()},this.$$compose=function(){var e=et(this.$$search),r=this.$$hash?"#"+nt(this.$$hash):"";this.$$url=Te(this.$$path)+(e?"?"+e:"")+r,this.$$absUrl=t+(this.$$url?n+this.$$url:"")},this.$$parseLinkUrl=function(e,n){return Le(t)==Le(e)?(this.$$parse(e),!0):!1}}function Be(t,e,n){this.$$html5=!0,Ne.apply(this,arguments),this.$$parseLinkUrl=function(r,i){if(i&&"#"===i[0])return this.hash(i.slice(1)),!0;var o,a;return t==Le(r)?o=r:(a=Fe(e,r))?o=t+n+a:e===r+"/"&&(o=e),o&&this.$$parse(o),!!o},this.$$compose=function(){var e=et(this.$$search),r=this.$$hash?"#"+nt(this.$$hash):"";this.$$url=Te(this.$$path)+(e?"?"+e:"")+r,this.$$absUrl=t+n+this.$$url}}function We(t){return function(){return this[t]}}function qe(t,e){return function(n){return y(n)?this[t]:(this[t]=e(n),this.$$compose(),this)}}function ze(){var t="",e={enabled:!1,requireBase:!0,rewriteLinks:!0};this.hashPrefix=function(e){return b(e)?(t=e,this):t},this.html5Mode=function(t){return j(t)?(e.enabled=t,this):w(t)?(j(t.enabled)&&(e.enabled=t.enabled),j(t.requireBase)&&(e.requireBase=t.requireBase),j(t.rewriteLinks)&&(e.rewriteLinks=t.rewriteLinks),this):e},this.$get=["$rootScope","$browser","$sniffer","$rootElement","$window",function(n,r,i,o,a){function s(t,e,n){var i=l.url(),o=l.$$state;try{r.url(t,e,n),l.$$state=r.state()}catch(a){throw l.url(i),l.$$state=o,a}}function u(t,e){n.$broadcast("$locationChangeSuccess",l.absUrl(),t,l.$$state,e)}var l,c,f,h=r.baseHref(),p=r.url();if(e.enabled){if(!h&&e.requireBase)throw Hi("nobase","$location in HTML5 mode requires a <base> tag to be present!");f=Ie(p)+(h||"/"),c=i.history?Ve:Be}else f=Le(p),c=Ne;var d=De(f);l=new c(f,d,"#"+t),l.$$parseLinkUrl(p,p),l.$$state=r.state();var v=/^\s*(javascript|mailto):/i;o.on("click",function(t){if(e.rewriteLinks&&!t.ctrlKey&&!t.metaKey&&!t.shiftKey&&2!=t.which&&2!=t.button){for(var i=_r(t.target);"a"!==I(i[0]);)if(i[0]===o[0]||!(i=i.parent())[0])return;var s=i.prop("href"),u=i.attr("href")||i.attr("xlink:href");w(s)&&"[object SVGAnimatedString]"===s.toString()&&(s=_n(s.animVal).href),v.test(s)||!s||i.attr("target")||t.isDefaultPrevented()||l.$$parseLinkUrl(s,u)&&(t.preventDefault(),l.absUrl()!=r.url()&&(n.$apply(),a.angular["ff-684208-preventDefault"]=!0))}}),Re(l.absUrl())!=Re(p)&&r.url(l.absUrl(),!0);var g=!0;return r.onUrlChange(function(t,e){return y(Fe(d,t))?void(a.location.href=t):(n.$evalAsync(function(){var r,i=l.absUrl(),o=l.$$state;l.$$parse(t),l.$$state=e,r=n.$broadcast("$locationChangeStart",t,i,e,o).defaultPrevented,l.absUrl()===t&&(r?(l.$$parse(i),l.$$state=o,s(i,!1,o)):(g=!1,u(i,o)))}),void(n.$$phase||n.$digest()))}),n.$watch(function(){var t=Re(r.url()),e=Re(l.absUrl()),o=r.state(),a=l.$$replace,c=t!==e||l.$$html5&&i.history&&o!==l.$$state;(g||c)&&(g=!1,n.$evalAsync(function(){var e=l.absUrl(),r=n.$broadcast("$locationChangeStart",e,t,l.$$state,o).defaultPrevented;l.absUrl()===e&&(r?(l.$$parse(t),l.$$state=o):(c&&s(e,a,o===l.$$state?null:l.$$state),u(t,o)))})),l.$$replace=!1}),l}]}function He(){var t=!0,e=this;this.debugEnabled=function(e){return b(e)?(t=e,this):t},this.$get=["$window",function(n){function r(t){return t instanceof Error&&(t.stack?t=t.message&&-1===t.stack.indexOf(t.message)?"Error: "+t.message+"\n"+t.stack:t.stack:t.sourceURL&&(t=t.message+"\n"+t.sourceURL+":"+t.line)),t}function i(t){var e=n.console||{},i=e[t]||e.log||v,a=!1;try{a=!!i.apply}catch(s){}return a?function(){var t=[];return o(arguments,function(e){t.push(r(e))}),i.apply(e,t)}:function(t,e){i(t,null==e?"":e)}}return{log:i("log"),info:i("info"),warn:i("warn"),error:i("error"),debug:function(){var n=i("debug");return function(){t&&n.apply(e,arguments)}}()}}]}function Ue(t,e){if("__defineGetter__"===t||"__defineSetter__"===t||"__lookupGetter__"===t||"__lookupSetter__"===t||"__proto__"===t)throw Gi("isecfld","Attempting to access a disallowed field in Angular expressions! Expression: {0}",e);return t}function Ge(t,e){if(t+="",!C(t))throw Gi("iseccst","Cannot convert object to primitive value! Expression: {0}",e);return t}function Ye(t,e){if(t){if(t.constructor===t)throw Gi("isecfn","Referencing Function in Angular expressions is disallowed! Expression: {0}",e);if(t.window===t)throw Gi("isecwindow","Referencing the Window in Angular expressions is disallowed! Expression: {0}",e);if(t.children&&(t.nodeName||t.prop&&t.attr&&t.find))throw Gi("isecdom","Referencing DOM nodes in Angular expressions is disallowed! Expression: {0}",e);if(t===Object)throw Gi("isecobj","Referencing Object in Angular expressions is disallowed! Expression: {0}",e)}return t}function Xe(t,e){if(t){if(t.constructor===t)throw Gi("isecfn","Referencing Function in Angular expressions is disallowed! Expression: {0}",e);if(t===Yi||t===Xi||t===Ji)throw Gi("isecff","Referencing call, apply or bind in Angular expressions is disallowed! Expression: {0}",e)}}function Je(t,e){if(t&&(t===0..constructor||t===(!1).constructor||t==="".constructor||t==={}.constructor||t===[].constructor||t===Function.constructor))throw Gi("isecaf","Assigning to a constructor is disallowed! Expression: {0}",e)}function Ze(t,e){return"undefined"!=typeof t?t:e}function Ke(t,e){return"undefined"==typeof t?e:"undefined"==typeof e?t:t+e}function Qe(t,e){var n=t(e);return!n.$stateful}function tn(t,e){var n,r;switch(t.type){case to.Program:n=!0,o(t.body,function(t){tn(t.expression,e),n=n&&t.expression.constant}),t.constant=n;break;case to.Literal:t.constant=!0,t.toWatch=[];break;case to.UnaryExpression:tn(t.argument,e),t.constant=t.argument.constant,t.toWatch=t.argument.toWatch;break;case to.BinaryExpression:tn(t.left,e),tn(t.right,e),t.constant=t.left.constant&&t.right.constant,t.toWatch=t.left.toWatch.concat(t.right.toWatch);break;case to.LogicalExpression:tn(t.left,e),tn(t.right,e),t.constant=t.left.constant&&t.right.constant,t.toWatch=t.constant?[]:[t];break;case to.ConditionalExpression:tn(t.test,e),tn(t.alternate,e),tn(t.consequent,e),t.constant=t.test.constant&&t.alternate.constant&&t.consequent.constant,t.toWatch=t.constant?[]:[t];break;case to.Identifier:t.constant=!1,t.toWatch=[t];break;case to.MemberExpression:tn(t.object,e),t.computed&&tn(t.property,e),t.constant=t.object.constant&&(!t.computed||t.property.constant),t.toWatch=[t];break;case to.CallExpression:n=t.filter?Qe(e,t.callee.name):!1,r=[],o(t.arguments,function(t){tn(t,e),n=n&&t.constant,t.constant||r.push.apply(r,t.toWatch)}),t.constant=n,t.toWatch=t.filter&&Qe(e,t.callee.name)?r:[t];break;case to.AssignmentExpression:tn(t.left,e),tn(t.right,e),t.constant=t.left.constant&&t.right.constant,t.toWatch=[t];break;case to.ArrayExpression:n=!0,r=[],o(t.elements,function(t){tn(t,e),n=n&&t.constant,t.constant||r.push.apply(r,t.toWatch)}),t.constant=n,t.toWatch=r;break;case to.ObjectExpression:n=!0,r=[],o(t.properties,function(t){tn(t.value,e),n=n&&t.value.constant,t.value.constant||r.push.apply(r,t.value.toWatch)}),t.constant=n,t.toWatch=r;break;case to.ThisExpression:t.constant=!1,t.toWatch=[]}}function en(t){if(1==t.length){var e=t[0].expression,r=e.toWatch;return 1!==r.length?r:r[0]!==e?r:n}}function nn(t){return t.type===to.Identifier||t.type===to.MemberExpression}function rn(t){return 1===t.body.length&&nn(t.body[0].expression)?{type:to.AssignmentExpression,left:t.body[0].expression,right:{type:to.NGValueParameter},operator:"="}:void 0}function on(t){return 0===t.body.length||1===t.body.length&&(t.body[0].expression.type===to.Literal||t.body[0].expression.type===to.ArrayExpression||t.body[0].expression.type===to.ObjectExpression)}function an(t){return t.constant}function sn(t,e){this.astBuilder=t,this.$filter=e}function un(t,e){this.astBuilder=t,this.$filter=e}function ln(t){return"constructor"==t}function cn(t){return _(t.valueOf)?t.valueOf():no.call(t)}function fn(){var t=gt(),e=gt();this.$get=["$filter",function(r){function i(t,e){return null==t||null==e?t===e:"object"==typeof t&&(t=cn(t),"object"==typeof t)?!1:t===e||t!==t&&e!==e}function a(t,e,r,o,a){var s,u=o.inputs;if(1===u.length){var l=i;return u=u[0],t.$watch(function(t){var e=u(t);return i(e,l)||(s=o(t,n,n,[e]),l=e&&cn(e)),s},e,r,a)}for(var c=[],f=[],h=0,p=u.length;p>h;h++)c[h]=i,f[h]=null;return t.$watch(function(t){for(var e=!1,r=0,a=u.length;a>r;r++){var l=u[r](t);(e||(e=!i(l,c[r])))&&(f[r]=l,c[r]=l&&cn(l))}return e&&(s=o(t,n,n,f)),s},e,r,a)}function s(t,e,n,r){var i,o;return i=t.$watch(function(t){return r(t)},function(t,n,r){o=t,_(e)&&e.apply(this,arguments),b(t)&&r.$$postDigest(function(){b(o)&&i()})},n)}function u(t,e,n,r){function i(t){var e=!0;return o(t,function(t){b(t)||(e=!1)}),e}var a,s;return a=t.$watch(function(t){return r(t)},function(t,n,r){s=t,_(e)&&e.call(this,t,n,r),i(t)&&r.$$postDigest(function(){i(s)&&a()})},n)}function l(t,e,n,r){var i;return i=t.$watch(function(t){return r(t)},function(t,n,r){_(e)&&e.apply(this,arguments),i()},n)}function c(t,e){if(!e)return t;var n=t.$$watchDelegate,r=n!==u&&n!==s,i=r?function(n,r,i,o){var a=t(n,r,i,o);return e(a,n,r)}:function(n,r,i,o){var a=t(n,r,i,o),s=e(a,n,r);return b(a)?s:a};return t.$$watchDelegate&&t.$$watchDelegate!==a?i.$$watchDelegate=t.$$watchDelegate:e.$stateful||(i.$$watchDelegate=a,i.inputs=t.inputs?t.inputs:[t]),i}var f=Wr().noUnsafeEval,h={csp:f,expensiveChecks:!1},p={csp:f,expensiveChecks:!0};return function(n,i,o){var f,d,g;switch(typeof n){case"string":n=n.trim(),g=n;var m=o?e:t;if(f=m[g],!f){":"===n.charAt(0)&&":"===n.charAt(1)&&(d=!0,n=n.substring(2));var $=o?p:h,y=new Qi($),b=new eo(y,r,$);f=b.parse(n),f.constant?f.$$watchDelegate=l:d?f.$$watchDelegate=f.literal?u:s:f.inputs&&(f.$$watchDelegate=a),m[g]=f}return c(f,i);case"function":return c(n,i);default:return v}}}]}function hn(){this.$get=["$rootScope","$exceptionHandler",function(t,e){return dn(function(e){t.$evalAsync(e)},e)}]}function pn(){this.$get=["$browser","$exceptionHandler",function(t,e){return dn(function(e){t.defer(e)},e)}]}function dn(t,e){function i(t,e,n){function r(e){return function(n){i||(i=!0,e.call(t,n))}}var i=!1;return[r(e),r(n)]}function a(){this.$$state={status:0}}function s(t,e){return function(n){e.call(t,n)}}function u(t){var r,i,o;o=t.pending,t.processScheduled=!1,t.pending=n;for(var a=0,s=o.length;s>a;++a){i=o[a][0],r=o[a][t.status];try{_(r)?i.resolve(r(t.value)):1===t.status?i.resolve(t.value):i.reject(t.value)}catch(u){i.reject(u),e(u)}}}function l(e){!e.processScheduled&&e.pending&&(e.processScheduled=!0,t(function(){u(e)}))}function c(){this.promise=new a,this.resolve=s(this,this.resolve),this.reject=s(this,this.reject),this.notify=s(this,this.notify)}function h(t){var e=new c,n=0,r=Ir(t)?[]:{};return o(t,function(t,i){n++,$(t).then(function(t){r.hasOwnProperty(i)||(r[i]=t,--n||e.resolve(r))},function(t){r.hasOwnProperty(i)||e.reject(t)})}),0===n&&e.resolve(r),e.promise}var p=r("$q",TypeError),d=function(){return new c};f(a.prototype,{then:function(t,e,n){if(y(t)&&y(e)&&y(n))return this;var r=new c;return this.$$state.pending=this.$$state.pending||[],this.$$state.pending.push([r,t,e,n]),this.$$state.status>0&&l(this.$$state),r.promise},"catch":function(t){return this.then(null,t)},"finally":function(t,e){return this.then(function(e){return m(e,!0,t)},function(e){return m(e,!1,t)},e)}}),f(c.prototype,{resolve:function(t){this.promise.$$state.status||(t===this.promise?this.$$reject(p("qcycle","Expected promise to be resolved with value other than itself '{0}'",t)):this.$$resolve(t))},$$resolve:function(t){var n,r;r=i(this,this.$$resolve,this.$$reject);try{(w(t)||_(t))&&(n=t&&t.then),_(n)?(this.promise.$$state.status=-1,n.call(t,r[0],r[1],this.notify)):(this.promise.$$state.value=t,this.promise.$$state.status=1,l(this.promise.$$state))}catch(o){r[1](o),e(o)}},reject:function(t){this.promise.$$state.status||this.$$reject(t)},$$reject:function(t){this.promise.$$state.value=t,this.promise.$$state.status=2,l(this.promise.$$state)},notify:function(n){var r=this.promise.$$state.pending;this.promise.$$state.status<=0&&r&&r.length&&t(function(){for(var t,i,o=0,a=r.length;a>o;o++){i=r[o][0],t=r[o][3];try{i.notify(_(t)?t(n):n)}catch(s){e(s)}}})}});var v=function(t){var e=new c;return e.reject(t),e.promise},g=function(t,e){var n=new c;return e?n.resolve(t):n.reject(t),n.promise},m=function(t,e,n){
-var r=null;try{_(n)&&(r=n())}catch(i){return g(i,!1)}return F(r)?r.then(function(){return g(t,e)},function(t){return g(t,!1)}):g(t,e)},$=function(t,e,n,r){var i=new c;return i.resolve(t),i.promise.then(e,n,r)},b=$,x=function C(t){function e(t){r.resolve(t)}function n(t){r.reject(t)}if(!_(t))throw p("norslvr","Expected resolverFn, got '{0}'",t);if(!(this instanceof C))return new C(t);var r=new c;return t(e,n),r.promise};return x.defer=d,x.reject=v,x.when=$,x.resolve=b,x.all=h,x}function vn(){this.$get=["$window","$timeout",function(t,e){var n=t.requestAnimationFrame||t.webkitRequestAnimationFrame,r=t.cancelAnimationFrame||t.webkitCancelAnimationFrame||t.webkitCancelRequestAnimationFrame,i=!!n,o=i?function(t){var e=n(t);return function(){r(e)}}:function(t){var n=e(t,16.66,!1);return function(){e.cancel(n)}};return o.supported=i,o}]}function gn(){function t(t){function e(){this.$$watchers=this.$$nextSibling=this.$$childHead=this.$$childTail=null,this.$$listeners={},this.$$listenerCount={},this.$$watchersCount=0,this.$id=u(),this.$$ChildScope=null}return e.prototype=t,e}var e=10,n=r("$rootScope"),a=null,s=null;this.digestTtl=function(t){return arguments.length&&(e=t),e},this.$get=["$injector","$exceptionHandler","$parse","$browser",function(r,l,c,f){function h(t){t.currentScope.$$destroyed=!0}function p(){this.$id=u(),this.$$phase=this.$parent=this.$$watchers=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null,this.$root=this,this.$$destroyed=!1,this.$$listeners={},this.$$listenerCount={},this.$$watchersCount=0,this.$$isolateBindings=null}function d(t){if(S.$$phase)throw n("inprog","{0} already in progress",S.$$phase);S.$$phase=t}function g(){S.$$phase=null}function m(t,e){do t.$$watchersCount+=e;while(t=t.$parent)}function $(t,e,n){do t.$$listenerCount[n]-=e,0===t.$$listenerCount[n]&&delete t.$$listenerCount[n];while(t=t.$parent)}function b(){}function x(){for(;E.length;)try{E.shift()()}catch(t){l(t)}s=null}function C(){null===s&&(s=f.defer(function(){S.$apply(x)}))}p.prototype={constructor:p,$new:function(e,n){var r;return n=n||this,e?(r=new p,r.$root=this.$root):(this.$$ChildScope||(this.$$ChildScope=t(this)),r=new this.$$ChildScope),r.$parent=n,r.$$prevSibling=n.$$childTail,n.$$childHead?(n.$$childTail.$$nextSibling=r,n.$$childTail=r):n.$$childHead=n.$$childTail=r,(e||n!=this)&&r.$on("$destroy",h),r},$watch:function(t,e,n,r){var i=c(t);if(i.$$watchDelegate)return i.$$watchDelegate(this,e,n,i,t);var o=this,s=o.$$watchers,u={fn:e,last:b,get:i,exp:r||t,eq:!!n};return a=null,_(e)||(u.fn=v),s||(s=o.$$watchers=[]),s.unshift(u),m(this,1),function(){V(s,u)>=0&&m(o,-1),a=null}},$watchGroup:function(t,e){function n(){u=!1,l?(l=!1,e(i,i,s)):e(i,r,s)}var r=new Array(t.length),i=new Array(t.length),a=[],s=this,u=!1,l=!0;if(!t.length){var c=!0;return s.$evalAsync(function(){c&&e(i,i,s)}),function(){c=!1}}return 1===t.length?this.$watch(t[0],function(t,n,o){i[0]=t,r[0]=n,e(i,t===n?i:r,o)}):(o(t,function(t,e){var o=s.$watch(t,function(t,o){i[e]=t,r[e]=o,u||(u=!0,s.$evalAsync(n))});a.push(o)}),function(){for(;a.length;)a.shift()()})},$watchCollection:function(t,e){function n(t){o=t;var e,n,r,s,u;if(!y(o)){if(w(o))if(i(o)){a!==p&&(a=p,g=a.length=0,f++),e=o.length,g!==e&&(f++,a.length=g=e);for(var l=0;e>l;l++)u=a[l],s=o[l],r=u!==u&&s!==s,r||u===s||(f++,a[l]=s)}else{a!==d&&(a=d={},g=0,f++),e=0;for(n in o)wr.call(o,n)&&(e++,s=o[n],u=a[n],n in a?(r=u!==u&&s!==s,r||u===s||(f++,a[n]=s)):(g++,a[n]=s,f++));if(g>e){f++;for(n in a)wr.call(o,n)||(g--,delete a[n])}}else a!==o&&(a=o,f++);return f}}function r(){if(v?(v=!1,e(o,o,u)):e(o,s,u),l)if(w(o))if(i(o)){s=new Array(o.length);for(var t=0;t<o.length;t++)s[t]=o[t]}else{s={};for(var n in o)wr.call(o,n)&&(s[n]=o[n])}else s=o}n.$stateful=!0;var o,a,s,u=this,l=e.length>1,f=0,h=c(t,n),p=[],d={},v=!0,g=0;return this.$watch(h,r)},$digest:function(){var t,r,i,o,u,c,h,p,v,m,$=e,y=this,w=[];d("$digest"),f.$$checkUrlChange(),this===S&&null!==s&&(f.defer.cancel(s),x()),a=null;do{for(c=!1,p=y;A.length;){try{m=A.shift(),m.scope.$eval(m.expression,m.locals)}catch(C){l(C)}a=null}t:do{if(o=p.$$watchers)for(u=o.length;u--;)try{if(t=o[u])if((r=t.get(p))===(i=t.last)||(t.eq?W(r,i):"number"==typeof r&&"number"==typeof i&&isNaN(r)&&isNaN(i))){if(t===a){c=!1;break t}}else c=!0,a=t,t.last=t.eq?N(r,null):r,t.fn(r,i===b?r:i,p),5>$&&(v=4-$,w[v]||(w[v]=[]),w[v].push({msg:_(t.exp)?"fn: "+(t.exp.name||t.exp.toString()):t.exp,newVal:r,oldVal:i}))}catch(C){l(C)}if(!(h=p.$$watchersCount&&p.$$childHead||p!==y&&p.$$nextSibling))for(;p!==y&&!(h=p.$$nextSibling);)p=p.$parent}while(p=h);if((c||A.length)&&!$--)throw g(),n("infdig","{0} $digest() iterations reached. Aborting!\nWatchers fired in the last 5 iterations: {1}",e,w)}while(c||A.length);for(g();k.length;)try{k.shift()()}catch(C){l(C)}},$destroy:function(){if(!this.$$destroyed){var t=this.$parent;this.$broadcast("$destroy"),this.$$destroyed=!0,this===S&&f.$$applicationDestroyed(),m(this,-this.$$watchersCount);for(var e in this.$$listenerCount)$(this,this.$$listenerCount[e],e);t&&t.$$childHead==this&&(t.$$childHead=this.$$nextSibling),t&&t.$$childTail==this&&(t.$$childTail=this.$$prevSibling),this.$$prevSibling&&(this.$$prevSibling.$$nextSibling=this.$$nextSibling),this.$$nextSibling&&(this.$$nextSibling.$$prevSibling=this.$$prevSibling),this.$destroy=this.$digest=this.$apply=this.$evalAsync=this.$applyAsync=v,this.$on=this.$watch=this.$watchGroup=function(){return v},this.$$listeners={},this.$parent=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=this.$root=this.$$watchers=null}},$eval:function(t,e){return c(t)(this,e)},$evalAsync:function(t,e){S.$$phase||A.length||f.defer(function(){A.length&&S.$digest()}),A.push({scope:this,expression:t,locals:e})},$$postDigest:function(t){k.push(t)},$apply:function(t){try{d("$apply");try{return this.$eval(t)}finally{g()}}catch(e){l(e)}finally{try{S.$digest()}catch(e){throw l(e),e}}},$applyAsync:function(t){function e(){n.$eval(t)}var n=this;t&&E.push(e),C()},$on:function(t,e){var n=this.$$listeners[t];n||(this.$$listeners[t]=n=[]),n.push(e);var r=this;do r.$$listenerCount[t]||(r.$$listenerCount[t]=0),r.$$listenerCount[t]++;while(r=r.$parent);var i=this;return function(){var r=n.indexOf(e);-1!==r&&(n[r]=null,$(i,1,t))}},$emit:function(t,e){var n,r,i,o=[],a=this,s=!1,u={name:t,targetScope:a,stopPropagation:function(){s=!0},preventDefault:function(){u.defaultPrevented=!0},defaultPrevented:!1},c=q([u],arguments,1);do{for(n=a.$$listeners[t]||o,u.currentScope=a,r=0,i=n.length;i>r;r++)if(n[r])try{n[r].apply(null,c)}catch(f){l(f)}else n.splice(r,1),r--,i--;if(s)return u.currentScope=null,u;a=a.$parent}while(a);return u.currentScope=null,u},$broadcast:function(t,e){var n=this,r=n,i=n,o={name:t,targetScope:n,preventDefault:function(){o.defaultPrevented=!0},defaultPrevented:!1};if(!n.$$listenerCount[t])return o;for(var a,s,u,c=q([o],arguments,1);r=i;){for(o.currentScope=r,a=r.$$listeners[t]||[],s=0,u=a.length;u>s;s++)if(a[s])try{a[s].apply(null,c)}catch(f){l(f)}else a.splice(s,1),s--,u--;if(!(i=r.$$listenerCount[t]&&r.$$childHead||r!==n&&r.$$nextSibling))for(;r!==n&&!(i=r.$$nextSibling);)r=r.$parent}return o.currentScope=null,o}};var S=new p,A=S.$$asyncQueue=[],k=S.$$postDigestQueue=[],E=S.$$applyAsyncQueue=[];return S}]}function mn(){var t=/^\s*(https?|ftp|mailto|tel|file):/,e=/^\s*((https?|ftp|file|blob):|data:image\/)/;this.aHrefSanitizationWhitelist=function(e){return b(e)?(t=e,this):t},this.imgSrcSanitizationWhitelist=function(t){return b(t)?(e=t,this):e},this.$get=function(){return function(n,r){var i,o=r?e:t;return i=_n(n).href,""===i||i.match(o)?n:"unsafe:"+i}}}function $n(t){if("self"===t)return t;if(C(t)){if(t.indexOf("***")>-1)throw ro("iwcard","Illegal sequence *** in string matcher.  String: {0}",t);return t=Br(t).replace("\\*\\*",".*").replace("\\*","[^:/.?&;]*"),new RegExp("^"+t+"$")}if(k(t))return new RegExp("^"+t.source+"$");throw ro("imatcher",'Matchers may only be "self", string patterns or RegExp objects')}function yn(t){var e=[];return b(t)&&o(t,function(t){e.push($n(t))}),e}function bn(){this.SCE_CONTEXTS=io;var t=["self"],e=[];this.resourceUrlWhitelist=function(e){return arguments.length&&(t=yn(e)),t},this.resourceUrlBlacklist=function(t){return arguments.length&&(e=yn(t)),e},this.$get=["$injector",function(n){function r(t,e){return"self"===t?kn(e):!!t.exec(e.href)}function i(n){var i,o,a=_n(n.toString()),s=!1;for(i=0,o=t.length;o>i;i++)if(r(t[i],a)){s=!0;break}if(s)for(i=0,o=e.length;o>i;i++)if(r(e[i],a)){s=!1;break}return s}function o(t){var e=function(t){this.$$unwrapTrustedValue=function(){return t}};return t&&(e.prototype=new t),e.prototype.valueOf=function(){return this.$$unwrapTrustedValue()},e.prototype.toString=function(){return this.$$unwrapTrustedValue().toString()},e}function a(t,e){var n=f.hasOwnProperty(t)?f[t]:null;if(!n)throw ro("icontext","Attempted to trust a value in invalid context. Context: {0}; Value: {1}",t,e);if(null===e||y(e)||""===e)return e;if("string"!=typeof e)throw ro("itype","Attempted to trust a non-string value in a content requiring a string: Context: {0}",t);return new n(e)}function s(t){return t instanceof c?t.$$unwrapTrustedValue():t}function u(t,e){if(null===e||y(e)||""===e)return e;var n=f.hasOwnProperty(t)?f[t]:null;if(n&&e instanceof n)return e.$$unwrapTrustedValue();if(t===io.RESOURCE_URL){if(i(e))return e;throw ro("insecurl","Blocked loading resource from url not allowed by $sceDelegate policy.  URL: {0}",e.toString())}if(t===io.HTML)return l(e);throw ro("unsafe","Attempting to use an unsafe value in a safe context.")}var l=function(t){throw ro("unsafe","Attempting to use an unsafe value in a safe context.")};n.has("$sanitize")&&(l=n.get("$sanitize"));var c=o(),f={};return f[io.HTML]=o(c),f[io.CSS]=o(c),f[io.URL]=o(c),f[io.JS]=o(c),f[io.RESOURCE_URL]=o(f[io.URL]),{trustAs:a,getTrusted:u,valueOf:s}}]}function wn(){var t=!0;this.enabled=function(e){return arguments.length&&(t=!!e),t},this.$get=["$parse","$sceDelegate",function(e,n){if(t&&8>Ar)throw ro("iequirks","Strict Contextual Escaping does not support Internet Explorer version < 11 in quirks mode.  You can fix this by adding the text <!doctype html> to the top of your HTML document.  See http://docs.angularjs.org/api/ng.$sce for more information.");var r=B(io);r.isEnabled=function(){return t},r.trustAs=n.trustAs,r.getTrusted=n.getTrusted,r.valueOf=n.valueOf,t||(r.trustAs=r.getTrusted=function(t,e){return e},r.valueOf=g),r.parseAs=function(t,n){var i=e(n);return i.literal&&i.constant?i:e(n,function(e){return r.getTrusted(t,e)})};var i=r.parseAs,a=r.getTrusted,s=r.trustAs;return o(io,function(t,e){var n=br(e);r[xt("parse_as_"+n)]=function(e){return i(t,e)},r[xt("get_trusted_"+n)]=function(e){return a(t,e)},r[xt("trust_as_"+n)]=function(e){return s(t,e)}}),r}]}function xn(){this.$get=["$window","$document",function(t,e){var n,r,i={},o=p((/android (\d+)/.exec(br((t.navigator||{}).userAgent))||[])[1]),a=/Boxee/i.test((t.navigator||{}).userAgent),s=e[0]||{},u=/^(Moz|webkit|ms)(?=[A-Z])/,l=s.body&&s.body.style,c=!1,f=!1;if(l){for(var h in l)if(r=u.exec(h)){n=r[0],n=n.substr(0,1).toUpperCase()+n.substr(1);break}n||(n="WebkitOpacity"in l&&"webkit"),c=!!("transition"in l||n+"Transition"in l),f=!!("animation"in l||n+"Animation"in l),!o||c&&f||(c=C(l.webkitTransition),f=C(l.webkitAnimation))}return{history:!(!t.history||!t.history.pushState||4>o||a),hasEvent:function(t){if("input"===t&&11>=Ar)return!1;if(y(i[t])){var e=s.createElement("div");i[t]="on"+t in e}return i[t]},csp:Wr(),vendorPrefix:n,transitions:c,animations:f,android:o}}]}function Cn(){this.$get=["$templateCache","$http","$q","$sce",function(t,e,n,r){function i(o,a){function s(t){if(!a)throw Oi("tpload","Failed to load template: {0} (HTTP status: {1} {2})",o,t.status,t.statusText);return n.reject(t)}i.totalPendingRequests++,C(o)&&t.get(o)||(o=r.getTrustedResourceUrl(o));var u=e.defaults&&e.defaults.transformResponse;Ir(u)?u=u.filter(function(t){return t!==ye}):u===ye&&(u=null);var l={cache:t,transformResponse:u};return e.get(o,l)["finally"](function(){i.totalPendingRequests--}).then(function(e){return t.put(o,e.data),e.data},s)}return i.totalPendingRequests=0,i}]}function Sn(){this.$get=["$rootScope","$browser","$location",function(t,e,n){var r={};return r.findBindings=function(t,e,n){var r=t.getElementsByClassName("ng-binding"),i=[];return o(r,function(t){var r=Lr.element(t).data("$binding");r&&o(r,function(r){if(n){var o=new RegExp("(^|\\s)"+Br(e)+"(\\s|\\||$)");o.test(r)&&i.push(t)}else-1!=r.indexOf(e)&&i.push(t)})}),i},r.findModels=function(t,e,n){for(var r=["ng-","data-ng-","ng\\:"],i=0;i<r.length;++i){var o=n?"=":"*=",a="["+r[i]+"model"+o+'"'+e+'"]',s=t.querySelectorAll(a);if(s.length)return s}},r.getLocation=function(){return n.url()},r.setLocation=function(e){e!==n.url()&&(n.url(e),t.$digest())},r.whenStable=function(t){e.notifyWhenNoOutstandingRequests(t)},r}]}function An(){this.$get=["$rootScope","$browser","$q","$$q","$exceptionHandler",function(t,e,n,r,i){function o(o,s,u){_(o)||(u=s,s=o,o=v);var l,c=z(arguments,3),f=b(u)&&!u,h=(f?r:n).defer(),p=h.promise;return l=e.defer(function(){try{h.resolve(o.apply(null,c))}catch(e){h.reject(e),i(e)}finally{delete a[p.$$timeoutId]}f||t.$apply()},s),p.$$timeoutId=l,a[l]=h,p}var a={};return o.cancel=function(t){return t&&t.$$timeoutId in a?(a[t.$$timeoutId].reject("canceled"),delete a[t.$$timeoutId],e.defer.cancel(t.$$timeoutId)):!1},o}]}function _n(t){var e=t;return Ar&&(oo.setAttribute("href",e),e=oo.href),oo.setAttribute("href",e),{href:oo.href,protocol:oo.protocol?oo.protocol.replace(/:$/,""):"",host:oo.host,search:oo.search?oo.search.replace(/^\?/,""):"",hash:oo.hash?oo.hash.replace(/^#/,""):"",hostname:oo.hostname,port:oo.port,pathname:"/"===oo.pathname.charAt(0)?oo.pathname:"/"+oo.pathname}}function kn(t){var e=C(t)?_n(t):t;return e.protocol===ao.protocol&&e.host===ao.host}function En(){this.$get=m(t)}function Pn(t){function e(t){try{return decodeURIComponent(t)}catch(e){return t}}var n=t[0]||{},r={},i="";return function(){var t,o,a,s,u,l=n.cookie||"";if(l!==i)for(i=l,t=i.split("; "),r={},a=0;a<t.length;a++)o=t[a],s=o.indexOf("="),s>0&&(u=e(o.substring(0,s)),y(r[u])&&(r[u]=e(o.substring(s+1))));return r}}function On(){this.$get=Pn}function Tn(t){function e(r,i){if(w(r)){var a={};return o(r,function(t,n){a[n]=e(n,t)}),a}return t.factory(r+n,i)}var n="Filter";this.register=e,this.$get=["$injector",function(t){return function(e){return t.get(e+n)}}],e("currency",Rn),e("date",Xn),e("filter",Mn),e("json",Jn),e("limitTo",Zn),e("lowercase",fo),e("number",Dn),e("orderBy",Kn),e("uppercase",ho)}function Mn(){return function(t,e,n){if(!i(t)){if(null==t)return t;throw r("filter")("notarray","Expected array but received: {0}",t)}var o,a,s=Ln(e);switch(s){case"function":o=e;break;case"boolean":case"null":case"number":case"string":a=!0;case"object":o=jn(e,n,a);break;default:return t}return Array.prototype.filter.call(t,o)}}function jn(t,e,n){var r,i=w(t)&&"$"in t;return e===!0?e=W:_(e)||(e=function(t,e){return y(t)?!1:null===t||null===e?t===e:w(e)||w(t)&&!$(t)?!1:(t=br(""+t),e=br(""+e),-1!==t.indexOf(e))}),r=function(r){return i&&!w(r)?Fn(r,t.$,e,!1):Fn(r,t,e,n)}}function Fn(t,e,n,r,i){var o=Ln(t),a=Ln(e);if("string"===a&&"!"===e.charAt(0))return!Fn(t,e.substring(1),n,r);if(Ir(t))return t.some(function(t){return Fn(t,e,n,r)});switch(o){case"object":var s;if(r){for(s in t)if("$"!==s.charAt(0)&&Fn(t[s],e,n,!0))return!0;return i?!1:Fn(t,e,n,!1)}if("object"===a){for(s in e){var u=e[s];if(!_(u)&&!y(u)){var l="$"===s,c=l?t:t[s];if(!Fn(c,u,n,l,l))return!1}}return!0}return n(t,e);case"function":return!1;default:return n(t,e)}}function Ln(t){return null===t?"null":typeof t}function Rn(t){var e=t.NUMBER_FORMATS;return function(t,n,r){return y(n)&&(n=e.CURRENCY_SYM),y(r)&&(r=e.PATTERNS[1].maxFrac),null==t?t:In(t,e.PATTERNS[1],e.GROUP_SEP,e.DECIMAL_SEP,r).replace(/\u00A4/g,n)}}function Dn(t){var e=t.NUMBER_FORMATS;return function(t,n){return null==t?t:In(t,e.PATTERNS[0],e.GROUP_SEP,e.DECIMAL_SEP,n)}}function In(t,e,n,r,i){if(w(t))return"";var o=0>t;t=Math.abs(t);var a=t===1/0;if(!a&&!isFinite(t))return"";var s=t+"",u="",l=!1,c=[];if(a&&(u="∞"),!a&&-1!==s.indexOf("e")){var f=s.match(/([\d\.]+)e(-?)(\d+)/);f&&"-"==f[2]&&f[3]>i+1?t=0:(u=s,l=!0)}if(a||l)i>0&&1>t&&(u=t.toFixed(i),t=parseFloat(u),u=u.replace(so,r));else{var h=(s.split(so)[1]||"").length;y(i)&&(i=Math.min(Math.max(e.minFrac,h),e.maxFrac)),t=+(Math.round(+(t.toString()+"e"+i)).toString()+"e"+-i);var p=(""+t).split(so),d=p[0];p=p[1]||"";var v,g=0,m=e.lgSize,$=e.gSize;if(d.length>=m+$)for(g=d.length-m,v=0;g>v;v++)(g-v)%$===0&&0!==v&&(u+=n),u+=d.charAt(v);for(v=g;v<d.length;v++)(d.length-v)%m===0&&0!==v&&(u+=n),u+=d.charAt(v);for(;p.length<i;)p+="0";i&&"0"!==i&&(u+=r+p.substr(0,i))}return 0===t&&(o=!1),c.push(o?e.negPre:e.posPre,u,o?e.negSuf:e.posSuf),c.join("")}function Vn(t,e,n){var r="";for(0>t&&(r="-",t=-t),t=""+t;t.length<e;)t="0"+t;return n&&(t=t.substr(t.length-e)),r+t}function Nn(t,e,n,r){return n=n||0,function(i){var o=i["get"+t]();return(n>0||o>-n)&&(o+=n),0===o&&-12==n&&(o=12),Vn(o,e,r)}}function Bn(t,e){return function(n,r){var i=n["get"+t](),o=xr(e?"SHORT"+t:t);return r[o][i]}}function Wn(t,e,n){var r=-1*n,i=r>=0?"+":"";return i+=Vn(Math[r>0?"floor":"ceil"](r/60),2)+Vn(Math.abs(r%60),2)}function qn(t){var e=new Date(t,0,1).getDay();return new Date(t,0,(4>=e?5:12)-e)}function zn(t){return new Date(t.getFullYear(),t.getMonth(),t.getDate()+(4-t.getDay()))}function Hn(t){return function(e){var n=qn(e.getFullYear()),r=zn(e),i=+r-+n,o=1+Math.round(i/6048e5);return Vn(o,t)}}function Un(t,e){return t.getHours()<12?e.AMPMS[0]:e.AMPMS[1]}function Gn(t,e){return t.getFullYear()<=0?e.ERAS[0]:e.ERAS[1]}function Yn(t,e){return t.getFullYear()<=0?e.ERANAMES[0]:e.ERANAMES[1]}function Xn(t){function e(t){var e;if(e=t.match(n)){var r=new Date(0),i=0,o=0,a=e[8]?r.setUTCFullYear:r.setFullYear,s=e[8]?r.setUTCHours:r.setHours;e[9]&&(i=p(e[9]+e[10]),o=p(e[9]+e[11])),a.call(r,p(e[1]),p(e[2])-1,p(e[3]));var u=p(e[4]||0)-i,l=p(e[5]||0)-o,c=p(e[6]||0),f=Math.round(1e3*parseFloat("0."+(e[7]||0)));return s.call(r,u,l,c,f),r}return t}var n=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(n,r,i){var a,s,u="",l=[];if(r=r||"mediumDate",r=t.DATETIME_FORMATS[r]||r,C(n)&&(n=co.test(n)?p(n):e(n)),S(n)&&(n=new Date(n)),!A(n)||!isFinite(n.getTime()))return n;for(;r;)s=lo.exec(r),s?(l=q(l,s,1),r=l.pop()):(l.push(r),r=null);var c=n.getTimezoneOffset();return i&&(c=X(i,n.getTimezoneOffset()),n=Z(n,i,!0)),o(l,function(e){a=uo[e],u+=a?a(n,t.DATETIME_FORMATS,c):e.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),u}}function Jn(){return function(t,e){return y(e)&&(e=2),G(t,e)}}function Zn(){return function(t,e,n){return e=Math.abs(Number(e))===1/0?Number(e):p(e),isNaN(e)?t:(S(t)&&(t=t.toString()),Ir(t)||C(t)?(n=!n||isNaN(n)?0:p(n),n=0>n&&n>=-t.length?t.length+n:n,e>=0?t.slice(n,n+e):0===n?t.slice(e,t.length):t.slice(Math.max(0,n+e),n)):t)}}function Kn(t){function e(e,n){return n=n?-1:1,e.map(function(e){var r=1,i=g;if(_(e))i=e;else if(C(e)&&("+"!=e.charAt(0)&&"-"!=e.charAt(0)||(r="-"==e.charAt(0)?-1:1,e=e.substring(1)),""!==e&&(i=t(e),i.constant))){var o=i();i=function(t){return t[o]}}return{get:i,descending:r*n}})}function n(t){switch(typeof t){case"number":case"boolean":case"string":return!0;default:return!1}}function r(t,e){return"function"==typeof t.valueOf&&(t=t.valueOf(),n(t))?t:$(t)&&(t=t.toString(),n(t))?t:e}function o(t,e){var n=typeof t;return null===t?(n="string",t="null"):"string"===n?t=t.toLowerCase():"object"===n&&(t=r(t,e)),{value:t,type:n}}function a(t,e){var n=0;return t.type===e.type?t.value!==e.value&&(n=t.value<e.value?-1:1):n=t.type<e.type?-1:1,n}return function(t,n,r){function s(t,e){return{value:t,predicateValues:l.map(function(n){return o(n.get(t),e)})}}function u(t,e){for(var n=0,r=0,i=l.length;i>r&&!(n=a(t.predicateValues[r],e.predicateValues[r])*l[r].descending);++r);return n}if(!i(t))return t;Ir(n)||(n=[n]),0===n.length&&(n=["+"]);var l=e(n,r);l.push({get:function(){return{}},descending:r?-1:1});var c=Array.prototype.map.call(t,s);return c.sort(u),t=c.map(function(t){return t.value})}}function Qn(t){return _(t)&&(t={link:t}),t.restrict=t.restrict||"AC",m(t)}function tr(t,e){t.$name=e}function er(t,e,r,i,a){var s=this,u=[];s.$error={},s.$$success={},s.$pending=n,s.$name=a(e.name||e.ngForm||"")(r),s.$dirty=!1,s.$pristine=!0,s.$valid=!0,s.$invalid=!1,s.$submitted=!1,s.$$parentForm=go,s.$rollbackViewValue=function(){o(u,function(t){t.$rollbackViewValue()})},s.$commitViewValue=function(){o(u,function(t){t.$commitViewValue()})},s.$addControl=function(t){pt(t.$name,"input"),u.push(t),t.$name&&(s[t.$name]=t),t.$$parentForm=s},s.$$renameControl=function(t,e){var n=t.$name;s[n]===t&&delete s[n],s[e]=t,t.$name=e},s.$removeControl=function(t){t.$name&&s[t.$name]===t&&delete s[t.$name],o(s.$pending,function(e,n){s.$setValidity(n,null,t)}),o(s.$error,function(e,n){s.$setValidity(n,null,t)}),o(s.$$success,function(e,n){s.$setValidity(n,null,t)}),V(u,t),t.$$parentForm=go},gr({ctrl:this,$element:t,set:function(t,e,n){var r=t[e];if(r){var i=r.indexOf(n);-1===i&&r.push(n)}else t[e]=[n]},unset:function(t,e,n){var r=t[e];r&&(V(r,n),0===r.length&&delete t[e])},$animate:i}),s.$setDirty=function(){i.removeClass(t,Ko),i.addClass(t,Qo),s.$dirty=!0,s.$pristine=!1,s.$$parentForm.$setDirty()},s.$setPristine=function(){i.setClass(t,Ko,Qo+" "+mo),s.$dirty=!1,s.$pristine=!0,s.$submitted=!1,o(u,function(t){t.$setPristine()})},s.$setUntouched=function(){o(u,function(t){t.$setUntouched()})},s.$setSubmitted=function(){i.addClass(t,mo),s.$submitted=!0,s.$$parentForm.$setSubmitted()}}function nr(t){t.$formatters.push(function(e){return t.$isEmpty(e)?e:e.toString()})}function rr(t,e,n,r,i,o){ir(t,e,n,r,i,o),nr(r)}function ir(t,e,n,r,i,o){var a=br(e[0].type);if(!i.android){var s=!1;e.on("compositionstart",function(t){s=!0}),e.on("compositionend",function(){s=!1,u()})}var u=function(t){if(l&&(o.defer.cancel(l),l=null),!s){var i=e.val(),u=t&&t.type;"password"===a||n.ngTrim&&"false"===n.ngTrim||(i=Nr(i)),(r.$viewValue!==i||""===i&&r.$$hasNativeValidators)&&r.$setViewValue(i,u)}};if(i.hasEvent("input"))e.on("input",u);else{var l,c=function(t,e,n){l||(l=o.defer(function(){l=null,e&&e.value===n||u(t)}))};e.on("keydown",function(t){var e=t.keyCode;91===e||e>15&&19>e||e>=37&&40>=e||c(t,this,this.value)}),i.hasEvent("paste")&&e.on("paste cut",c)}e.on("change",u),r.$render=function(){var t=r.$isEmpty(r.$viewValue)?"":r.$viewValue;e.val()!==t&&e.val(t)}}function or(t,e){if(A(t))return t;if(C(t)){ko.lastIndex=0;var n=ko.exec(t);if(n){var r=+n[1],i=+n[2],o=0,a=0,s=0,u=0,l=qn(r),c=7*(i-1);return e&&(o=e.getHours(),a=e.getMinutes(),s=e.getSeconds(),u=e.getMilliseconds()),new Date(r,0,l.getDate()+c,o,a,s,u)}}return NaN}function ar(t,e){return function(n,r){var i,a;if(A(n))return n;if(C(n)){if('"'==n.charAt(0)&&'"'==n.charAt(n.length-1)&&(n=n.substring(1,n.length-1)),wo.test(n))return new Date(n);if(t.lastIndex=0,i=t.exec(n))return i.shift(),a=r?{yyyy:r.getFullYear(),MM:r.getMonth()+1,dd:r.getDate(),HH:r.getHours(),mm:r.getMinutes(),ss:r.getSeconds(),sss:r.getMilliseconds()/1e3}:{yyyy:1970,MM:1,dd:1,HH:0,mm:0,ss:0,sss:0},o(i,function(t,n){n<e.length&&(a[e[n]]=+t)}),new Date(a.yyyy,a.MM-1,a.dd,a.HH,a.mm,a.ss||0,1e3*a.sss||0)}return NaN}}function sr(t,e,r,i){return function(o,a,s,u,l,c,f){function h(t){return t&&!(t.getTime&&t.getTime()!==t.getTime())}function p(t){return b(t)&&!A(t)?r(t)||n:t}ur(o,a,s,u),ir(o,a,s,u,l,c);var d,v=u&&u.$options&&u.$options.timezone;if(u.$$parserName=t,u.$parsers.push(function(t){if(u.$isEmpty(t))return null;if(e.test(t)){var i=r(t,d);return v&&(i=Z(i,v)),i}return n}),u.$formatters.push(function(t){if(t&&!A(t))throw ra("datefmt","Expected `{0}` to be a date",t);return h(t)?(d=t,d&&v&&(d=Z(d,v,!0)),f("date")(t,i,v)):(d=null,"")}),b(s.min)||s.ngMin){var g;u.$validators.min=function(t){return!h(t)||y(g)||r(t)>=g},s.$observe("min",function(t){g=p(t),u.$validate()})}if(b(s.max)||s.ngMax){var m;u.$validators.max=function(t){return!h(t)||y(m)||r(t)<=m},s.$observe("max",function(t){m=p(t),u.$validate()})}}}function ur(t,e,r,i){var o=e[0],a=i.$$hasNativeValidators=w(o.validity);a&&i.$parsers.push(function(t){var r=e.prop(yr)||{};return r.badInput&&!r.typeMismatch?n:t})}function lr(t,e,r,i,o,a){if(ur(t,e,r,i),ir(t,e,r,i,o,a),i.$$parserName="number",i.$parsers.push(function(t){return i.$isEmpty(t)?null:So.test(t)?parseFloat(t):n}),i.$formatters.push(function(t){if(!i.$isEmpty(t)){if(!S(t))throw ra("numfmt","Expected `{0}` to be a number",t);t=t.toString()}return t}),b(r.min)||r.ngMin){var s;i.$validators.min=function(t){return i.$isEmpty(t)||y(s)||t>=s},r.$observe("min",function(t){b(t)&&!S(t)&&(t=parseFloat(t,10)),s=S(t)&&!isNaN(t)?t:n,i.$validate()})}if(b(r.max)||r.ngMax){var u;i.$validators.max=function(t){return i.$isEmpty(t)||y(u)||u>=t},r.$observe("max",function(t){b(t)&&!S(t)&&(t=parseFloat(t,10)),u=S(t)&&!isNaN(t)?t:n,i.$validate()})}}function cr(t,e,n,r,i,o){ir(t,e,n,r,i,o),nr(r),r.$$parserName="url",r.$validators.url=function(t,e){var n=t||e;return r.$isEmpty(n)||xo.test(n)}}function fr(t,e,n,r,i,o){ir(t,e,n,r,i,o),nr(r),r.$$parserName="email",r.$validators.email=function(t,e){var n=t||e;return r.$isEmpty(n)||Co.test(n)}}function hr(t,e,n,r){y(n.name)&&e.attr("name",u());var i=function(t){e[0].checked&&r.$setViewValue(n.value,t&&t.type)};e.on("click",i),r.$render=function(){var t=n.value;e[0].checked=t==r.$viewValue},n.$observe("value",r.$render)}function pr(t,e,n,r,i){var o;if(b(r)){if(o=t(r),!o.constant)throw ra("constexpr","Expected constant expression for `{0}`, but saw `{1}`.",n,r);return o(e)}return i}function dr(t,e,n,r,i,o,a,s){var u=pr(s,t,"ngTrueValue",n.ngTrueValue,!0),l=pr(s,t,"ngFalseValue",n.ngFalseValue,!1),c=function(t){r.$setViewValue(e[0].checked,t&&t.type)};e.on("click",c),r.$render=function(){e[0].checked=r.$viewValue},r.$isEmpty=function(t){return t===!1},r.$formatters.push(function(t){return W(t,u)}),r.$parsers.push(function(t){return t?u:l})}function vr(t,e){return t="ngClass"+t,["$animate",function(n){function r(t,e){var n=[];t:for(var r=0;r<t.length;r++){for(var i=t[r],o=0;o<e.length;o++)if(i==e[o])continue t;n.push(i)}return n}function i(t){var e=[];return Ir(t)?(o(t,function(t){e=e.concat(i(t))}),e):C(t)?t.split(" "):w(t)?(o(t,function(t,n){t&&(e=e.concat(n.split(" ")))}),e):t}return{restrict:"AC",link:function(a,s,u){function l(t){var e=f(t,1);u.$addClass(e)}function c(t){var e=f(t,-1);u.$removeClass(e)}function f(t,e){var n=s.data("$classCounts")||gt(),r=[];return o(t,function(t){(e>0||n[t])&&(n[t]=(n[t]||0)+e,n[t]===+(e>0)&&r.push(t))}),s.data("$classCounts",n),r.join(" ")}function h(t,e){var i=r(e,t),o=r(t,e);i=f(i,1),o=f(o,-1),i&&i.length&&n.addClass(s,i),o&&o.length&&n.removeClass(s,o)}function p(t){if(e===!0||a.$index%2===e){var n=i(t||[]);if(d){if(!W(t,d)){var r=i(d);h(r,n)}}else l(n)}d=B(t)}var d;a.$watch(u[t],p,!0),u.$observe("class",function(e){p(a.$eval(u[t]))}),"ngClass"!==t&&a.$watch("$index",function(n,r){var o=1&n;if(o!==(1&r)){var s=i(a.$eval(u[t]));o===e?l(s):c(s)}})}}}]}function gr(t){function e(t,e,u){y(e)?r("$pending",t,u):i("$pending",t,u),j(e)?e?(f(s.$error,t,u),c(s.$$success,t,u)):(c(s.$error,t,u),f(s.$$success,t,u)):(f(s.$error,t,u),f(s.$$success,t,u)),s.$pending?(o(na,!0),s.$valid=s.$invalid=n,a("",null)):(o(na,!1),s.$valid=mr(s.$error),s.$invalid=!s.$valid,a("",s.$valid));var l;l=s.$pending&&s.$pending[t]?n:s.$error[t]?!1:s.$$success[t]?!0:null,a(t,l),s.$$parentForm.$setValidity(t,l,s)}function r(t,e,n){s[t]||(s[t]={}),c(s[t],e,n)}function i(t,e,r){s[t]&&f(s[t],e,r),mr(s[t])&&(s[t]=n)}function o(t,e){e&&!l[t]?(h.addClass(u,t),l[t]=!0):!e&&l[t]&&(h.removeClass(u,t),l[t]=!1)}function a(t,e){t=t?"-"+lt(t,"-"):"",o(Jo+t,e===!0),o(Zo+t,e===!1)}var s=t.ctrl,u=t.$element,l={},c=t.set,f=t.unset,h=t.$animate;l[Zo]=!(l[Jo]=u.hasClass(Jo)),s.$setValidity=e}function mr(t){if(t)for(var e in t)if(t.hasOwnProperty(e))return!1;return!0}var $r=/^\/(.+)\/([a-z]*)$/,yr="validity",br=function(t){return C(t)?t.toLowerCase():t},wr=Object.prototype.hasOwnProperty,xr=function(t){return C(t)?t.toUpperCase():t},Cr=function(t){return C(t)?t.replace(/[A-Z]/g,function(t){return String.fromCharCode(32|t.charCodeAt(0))}):t},Sr=function(t){return C(t)?t.replace(/[a-z]/g,function(t){return String.fromCharCode(-33&t.charCodeAt(0))}):t};"i"!=="I".toLowerCase()&&(br=Cr,xr=Sr);var Ar,_r,kr,Er,Pr=[].slice,Or=[].splice,Tr=[].push,Mr=Object.prototype.toString,jr=Object.getPrototypeOf,Fr=r("ng"),Lr=t.angular||(t.angular={}),Rr=0;Ar=e.documentMode,v.$inject=[],g.$inject=[];var Dr,Ir=Array.isArray,Vr=/^\[object (Uint8(Clamped)?)|(Uint16)|(Uint32)|(Int8)|(Int16)|(Int32)|(Float(32)|(64))Array\]$/,Nr=function(t){return C(t)?t.trim():t},Br=function(t){return t.replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08")},Wr=function(){function t(){try{return new Function(""),!1}catch(t){return!0}}if(!b(Wr.rules)){var n=e.querySelector("[ng-csp]")||e.querySelector("[data-ng-csp]");if(n){var r=n.getAttribute("ng-csp")||n.getAttribute("data-ng-csp");Wr.rules={noUnsafeEval:!r||-1!==r.indexOf("no-unsafe-eval"),noInlineStyle:!r||-1!==r.indexOf("no-inline-style")}}else Wr.rules={noUnsafeEval:t(),noInlineStyle:!1}}return Wr.rules},qr=function(){if(b(qr.name_))return qr.name_;var t,n,r,i,o=zr.length;for(n=0;o>n;++n)if(r=zr[n],t=e.querySelector("["+r.replace(":","\\:")+"jq]")){i=t.getAttribute(r+"jq");break}return qr.name_=i},zr=["ng-","data-ng-","ng:","x-ng-"],Hr=/[A-Z]/g,Ur=!1,Gr=1,Yr=2,Xr=3,Jr=8,Zr=9,Kr=11,Qr={full:"1.4.7",major:1,minor:4,dot:7,codeName:"dark-luminescence"};Et.expando="ng339";var ti=Et.cache={},ei=1,ni=function(t,e,n){t.addEventListener(e,n,!1)},ri=function(t,e,n){t.removeEventListener(e,n,!1)};Et._data=function(t){return this.cache[t[this.expando]]||{}};var ii=/([\:\-\_]+(.))/g,oi=/^moz([A-Z])/,ai={mouseleave:"mouseout",mouseenter:"mouseover"},si=r("jqLite"),ui=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,li=/<|&#?\w+;/,ci=/<([\w:-]+)/,fi=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,hi={option:[1,'<select multiple="multiple">',"</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};hi.optgroup=hi.option,hi.tbody=hi.tfoot=hi.colgroup=hi.caption=hi.thead,hi.th=hi.td;var pi=Et.prototype={ready:function(n){function r(){i||(i=!0,n())}var i=!1;"complete"===e.readyState?setTimeout(r):(this.on("DOMContentLoaded",r),Et(t).on("load",r))},toString:function(){var t=[];return o(this,function(e){t.push(""+e)}),"["+t.join(", ")+"]"},eq:function(t){return _r(t>=0?this[t]:this[this.length+t])},length:0,push:Tr,sort:[].sort,splice:[].splice},di={};o("multiple,selected,checked,disabled,readOnly,required,open".split(","),function(t){di[br(t)]=t});var vi={};o("input,select,option,textarea,button,form,details".split(","),function(t){vi[t]=!0});var gi={ngMinlength:"minlength",ngMaxlength:"maxlength",ngMin:"min",ngMax:"max",ngPattern:"pattern"};o({data:Ft,removeData:Mt,hasData:At},function(t,e){Et[e]=t}),o({data:Ft,inheritedData:Nt,scope:function(t){return _r.data(t,"$scope")||Nt(t.parentNode||t,["$isolateScope","$scope"])},isolateScope:function(t){return _r.data(t,"$isolateScope")||_r.data(t,"$isolateScopeNoTemplate")},controller:Vt,injector:function(t){return Nt(t,"$injector")},removeAttr:function(t,e){t.removeAttribute(e)},hasClass:Lt,css:function(t,e,n){return e=xt(e),b(n)?void(t.style[e]=n):t.style[e]},attr:function(t,e,r){var i=t.nodeType;if(i!==Xr&&i!==Yr&&i!==Jr){var o=br(e);if(di[o]){if(!b(r))return t[e]||(t.attributes.getNamedItem(e)||v).specified?o:n;r?(t[e]=!0,t.setAttribute(e,o)):(t[e]=!1,t.removeAttribute(o))}else if(b(r))t.setAttribute(e,r);else if(t.getAttribute){var a=t.getAttribute(e,2);return null===a?n:a}}},prop:function(t,e,n){return b(n)?void(t[e]=n):t[e]},text:function(){function t(t,e){
-if(y(e)){var n=t.nodeType;return n===Gr||n===Xr?t.textContent:""}t.textContent=e}return t.$dv="",t}(),val:function(t,e){if(y(e)){if(t.multiple&&"select"===I(t)){var n=[];return o(t.options,function(t){t.selected&&n.push(t.value||t.text)}),0===n.length?null:n}return t.value}t.value=e},html:function(t,e){return y(e)?t.innerHTML:(Ot(t,!0),void(t.innerHTML=e))},empty:Bt},function(t,e){Et.prototype[e]=function(e,n){var r,i,o=this.length;if(t!==Bt&&y(2==t.length&&t!==Lt&&t!==Vt?e:n)){if(w(e)){for(r=0;o>r;r++)if(t===Ft)t(this[r],e);else for(i in e)t(this[r],i,e[i]);return this}for(var a=t.$dv,s=y(a)?Math.min(o,1):o,u=0;s>u;u++){var l=t(this[u],e,n);a=a?a+l:l}return a}for(r=0;o>r;r++)t(this[r],e,n);return this}}),o({removeData:Mt,on:function ja(t,e,n,r){if(b(r))throw si("onargs","jqLite#on() does not support the `selector` or `eventData` parameters");if(St(t)){var i=jt(t,!0),o=i.events,a=i.handle;a||(a=i.handle=Ut(t,o));for(var s=e.indexOf(" ")>=0?e.split(" "):[e],u=s.length;u--;){e=s[u];var l=o[e];l||(o[e]=[],"mouseenter"===e||"mouseleave"===e?ja(t,ai[e],function(t){var n=this,r=t.relatedTarget;r&&(r===n||n.contains(r))||a(t,e)}):"$destroy"!==e&&ni(t,e,a),l=o[e]),l.push(n)}}},off:Tt,one:function(t,e,n){t=_r(t),t.on(e,function r(){t.off(e,n),t.off(e,r)}),t.on(e,n)},replaceWith:function(t,e){var n,r=t.parentNode;Ot(t),o(new Et(e),function(e){n?r.insertBefore(e,n.nextSibling):r.replaceChild(e,t),n=e})},children:function(t){var e=[];return o(t.childNodes,function(t){t.nodeType===Gr&&e.push(t)}),e},contents:function(t){return t.contentDocument||t.childNodes||[]},append:function(t,e){var n=t.nodeType;if(n===Gr||n===Kr){e=new Et(e);for(var r=0,i=e.length;i>r;r++){var o=e[r];t.appendChild(o)}}},prepend:function(t,e){if(t.nodeType===Gr){var n=t.firstChild;o(new Et(e),function(e){t.insertBefore(e,n)})}},wrap:function(t,e){e=_r(e).eq(0).clone()[0];var n=t.parentNode;n&&n.replaceChild(e,t),e.appendChild(t)},remove:Wt,detach:function(t){Wt(t,!0)},after:function(t,e){var n=t,r=t.parentNode;e=new Et(e);for(var i=0,o=e.length;o>i;i++){var a=e[i];r.insertBefore(a,n.nextSibling),n=a}},addClass:Dt,removeClass:Rt,toggleClass:function(t,e,n){e&&o(e.split(" "),function(e){var r=n;y(r)&&(r=!Lt(t,e)),(r?Dt:Rt)(t,e)})},parent:function(t){var e=t.parentNode;return e&&e.nodeType!==Kr?e:null},next:function(t){return t.nextElementSibling},find:function(t,e){return t.getElementsByTagName?t.getElementsByTagName(e):[]},clone:Pt,triggerHandler:function(t,e,n){var r,i,a,s=e.type||e,u=jt(t),l=u&&u.events,c=l&&l[s];c&&(r={preventDefault:function(){this.defaultPrevented=!0},isDefaultPrevented:function(){return this.defaultPrevented===!0},stopImmediatePropagation:function(){this.immediatePropagationStopped=!0},isImmediatePropagationStopped:function(){return this.immediatePropagationStopped===!0},stopPropagation:v,type:s,target:t},e.type&&(r=f(r,e)),i=B(c),a=n?[r].concat(n):[r],o(i,function(e){r.isImmediatePropagationStopped()||e.apply(t,a)}))}},function(t,e){Et.prototype[e]=function(e,n,r){for(var i,o=0,a=this.length;a>o;o++)y(i)?(i=t(this[o],e,n,r),b(i)&&(i=_r(i))):It(i,t(this[o],e,n,r));return b(i)?i:this},Et.prototype.bind=Et.prototype.on,Et.prototype.unbind=Et.prototype.off}),Xt.prototype={put:function(t,e){this[Yt(t,this.nextUid)]=e},get:function(t){return this[Yt(t,this.nextUid)]},remove:function(t){var e=this[t=Yt(t,this.nextUid)];return delete this[t],e}};var mi=[function(){this.$get=[function(){return Xt}]}],$i=/^[^\(]*\(\s*([^\)]*)\)/m,yi=/,/,bi=/^\s*(_?)(\S+?)\1\s*$/,wi=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm,xi=r("$injector");Kt.$$annotate=Zt;var Ci=r("$animate"),Si=1,Ai="ng-animate",_i=function(){this.$get=["$q","$$rAF",function(t,e){function n(){}return n.all=v,n.chain=v,n.prototype={end:v,cancel:v,resume:v,pause:v,complete:v,then:function(n,r){return t(function(t){e(function(){t()})}).then(n,r)}},n}]},ki=function(){var t=new Xt,e=[];this.$get=["$$AnimateRunner","$rootScope",function(n,r){function i(t,e,n){var r=!1;return e&&(e=C(e)?e.split(" "):Ir(e)?e:[],o(e,function(e){e&&(r=!0,t[e]=n)})),r}function a(){o(e,function(e){var n=t.get(e);if(n){var r=ne(e.attr("class")),i="",a="";o(n,function(t,e){var n=!!r[e];t!==n&&(t?i+=(i.length?" ":"")+e:a+=(a.length?" ":"")+e)}),o(e,function(t){i&&Dt(t,i),a&&Rt(t,a)}),t.remove(e)}}),e.length=0}function s(n,o,s){var u=t.get(n)||{},l=i(u,o,!0),c=i(u,s,!1);(l||c)&&(t.put(n,u),e.push(n),1===e.length&&r.$$postDigest(a))}return{enabled:v,on:v,off:v,pin:v,push:function(t,e,r,i){return i&&i(),r=r||{},r.from&&t.css(r.from),r.to&&t.css(r.to),(r.addClass||r.removeClass)&&s(t,r.addClass,r.removeClass),new n}}}]},Ei=["$provide",function(t){var e=this;this.$$registeredAnimations=Object.create(null),this.register=function(n,r){if(n&&"."!==n.charAt(0))throw Ci("notcsel","Expecting class selector starting with '.' got '{0}'.",n);var i=n+"-animation";e.$$registeredAnimations[n.substr(1)]=i,t.factory(i,r)},this.classNameFilter=function(t){if(1===arguments.length&&(this.$$classNameFilter=t instanceof RegExp?t:null,this.$$classNameFilter)){var e=new RegExp("(\\s+|\\/)"+Ai+"(\\s+|\\/)");if(e.test(this.$$classNameFilter.toString()))throw Ci("nongcls",'$animateProvider.classNameFilter(regex) prohibits accepting a regex value which matches/contains the "{0}" CSS class.',Ai)}return this.$$classNameFilter},this.$get=["$$animateQueue",function(t){function e(t,e,n){if(n){var r=ee(n);!r||r.parentNode||r.previousElementSibling||(n=null)}n?n.after(t):e.prepend(t)}return{on:t.on,off:t.off,pin:t.pin,enabled:t.enabled,cancel:function(t){t.end&&t.end()},enter:function(n,r,i,o){return r=r&&_r(r),i=i&&_r(i),r=r||i.parent(),e(n,r,i),t.push(n,"enter",re(o))},move:function(n,r,i,o){return r=r&&_r(r),i=i&&_r(i),r=r||i.parent(),e(n,r,i),t.push(n,"move",re(o))},leave:function(e,n){return t.push(e,"leave",re(n),function(){e.remove()})},addClass:function(e,n,r){return r=re(r),r.addClass=te(r.addclass,n),t.push(e,"addClass",r)},removeClass:function(e,n,r){return r=re(r),r.removeClass=te(r.removeClass,n),t.push(e,"removeClass",r)},setClass:function(e,n,r,i){return i=re(i),i.addClass=te(i.addClass,n),i.removeClass=te(i.removeClass,r),t.push(e,"setClass",i)},animate:function(e,n,r,i,o){return o=re(o),o.from=o.from?f(o.from,n):n,o.to=o.to?f(o.to,r):r,i=i||"ng-inline-animate",o.tempClasses=te(o.tempClasses,i),t.push(e,"animate",o)}}}]}],Pi=function(){this.$get=["$$rAF","$q",function(t,e){var n=function(){};return n.prototype={done:function(t){this.defer&&this.defer[t===!0?"reject":"resolve"]()},end:function(){this.done()},cancel:function(){this.done(!0)},getPromise:function(){return this.defer||(this.defer=e.defer()),this.defer.promise},then:function(t,e){return this.getPromise().then(t,e)},"catch":function(t){return this.getPromise()["catch"](t)},"finally":function(t){return this.getPromise()["finally"](t)}},function(e,r){function i(){return t(function(){o(),a||s.done(),a=!0}),s}function o(){r.addClass&&(e.addClass(r.addClass),r.addClass=null),r.removeClass&&(e.removeClass(r.removeClass),r.removeClass=null),r.to&&(e.css(r.to),r.to=null)}r.cleanupStyles&&(r.from=r.to=null),r.from&&(e.css(r.from),r.from=null);var a,s=new n;return{start:i,end:i}}}]},Oi=r("$compile");ue.$inject=["$provide","$$sanitizeUriProvider"];var Ti=/^((?:x|data)[\:\-_])/i,Mi=r("$controller"),ji=/^(\S+)(\s+as\s+(\w+))?$/,Fi=function(){this.$get=["$document",function(t){return function(e){return e?!e.nodeType&&e instanceof _r&&(e=e[0]):e=t[0].body,e.offsetWidth+1}}]},Li="application/json",Ri={"Content-Type":Li+";charset=utf-8"},Di=/^\[|^\{(?!\{)/,Ii={"[":/]$/,"{":/}$/},Vi=/^\)\]\}',?\n/,Ni=r("$http"),Bi=function(t){return function(){throw Ni("legacy","The method `{0}` on the promise returned from `$http` has been disabled.",t)}},Wi=Lr.$interpolateMinErr=r("$interpolate");Wi.throwNoconcat=function(t){throw Wi("noconcat","Error while interpolating: {0}\nStrict Contextual Escaping disallows interpolations that concatenate multiple expressions when a trusted value is required.  See http://docs.angularjs.org/api/ng.$sce",t)},Wi.interr=function(t,e){return Wi("interr","Can't interpolate: {0}\n{1}",t,e.toString())};var qi=/^([^\?#]*)(\?([^#]*))?(#(.*))?$/,zi={http:80,https:443,ftp:21},Hi=r("$location"),Ui={$$html5:!1,$$replace:!1,absUrl:We("$$absUrl"),url:function(t){if(y(t))return this.$$url;var e=qi.exec(t);return(e[1]||""===t)&&this.path(decodeURIComponent(e[1])),(e[2]||e[1]||""===t)&&this.search(e[3]||""),this.hash(e[5]||""),this},protocol:We("$$protocol"),host:We("$$host"),port:We("$$port"),path:qe("$$path",function(t){return t=null!==t?t.toString():"","/"==t.charAt(0)?t:"/"+t}),search:function(t,e){switch(arguments.length){case 0:return this.$$search;case 1:if(C(t)||S(t))t=t.toString(),this.$$search=tt(t);else{if(!w(t))throw Hi("isrcharg","The first argument of the `$location#search()` call must be a string or an object.");t=N(t,{}),o(t,function(e,n){null==e&&delete t[n]}),this.$$search=t}break;default:y(e)||null===e?delete this.$$search[t]:this.$$search[t]=e}return this.$$compose(),this},hash:qe("$$hash",function(t){return null!==t?t.toString():""}),replace:function(){return this.$$replace=!0,this}};o([Be,Ne,Ve],function(t){t.prototype=Object.create(Ui),t.prototype.state=function(e){if(!arguments.length)return this.$$state;if(t!==Ve||!this.$$html5)throw Hi("nostate","History API state support is available only in HTML5 mode and only in browsers supporting HTML5 History API");return this.$$state=y(e)?null:e,this}});var Gi=r("$parse"),Yi=Function.prototype.call,Xi=Function.prototype.apply,Ji=Function.prototype.bind,Zi=gt();o("+ - * / % === !== == != < > <= >= && || ! = |".split(" "),function(t){Zi[t]=!0});var Ki={n:"\n",f:"\f",r:"\r",t:"	",v:"\x0B","'":"'",'"':'"'},Qi=function(t){this.options=t};Qi.prototype={constructor:Qi,lex:function(t){for(this.text=t,this.index=0,this.tokens=[];this.index<this.text.length;){var e=this.text.charAt(this.index);if('"'===e||"'"===e)this.readString(e);else if(this.isNumber(e)||"."===e&&this.isNumber(this.peek()))this.readNumber();else if(this.isIdent(e))this.readIdent();else if(this.is(e,"(){}[].,;:?"))this.tokens.push({index:this.index,text:e}),this.index++;else if(this.isWhitespace(e))this.index++;else{var n=e+this.peek(),r=n+this.peek(2),i=Zi[e],o=Zi[n],a=Zi[r];if(i||o||a){var s=a?r:o?n:e;this.tokens.push({index:this.index,text:s,operator:!0}),this.index+=s.length}else this.throwError("Unexpected next character ",this.index,this.index+1)}}return this.tokens},is:function(t,e){return-1!==e.indexOf(t)},peek:function(t){var e=t||1;return this.index+e<this.text.length?this.text.charAt(this.index+e):!1},isNumber:function(t){return t>="0"&&"9">=t&&"string"==typeof t},isWhitespace:function(t){return" "===t||"\r"===t||"	"===t||"\n"===t||"\x0B"===t||" "===t},isIdent:function(t){return t>="a"&&"z">=t||t>="A"&&"Z">=t||"_"===t||"$"===t},isExpOperator:function(t){return"-"===t||"+"===t||this.isNumber(t)},throwError:function(t,e,n){n=n||this.index;var r=b(e)?"s "+e+"-"+this.index+" ["+this.text.substring(e,n)+"]":" "+n;throw Gi("lexerr","Lexer Error: {0} at column{1} in expression [{2}].",t,r,this.text)},readNumber:function(){for(var t="",e=this.index;this.index<this.text.length;){var n=br(this.text.charAt(this.index));if("."==n||this.isNumber(n))t+=n;else{var r=this.peek();if("e"==n&&this.isExpOperator(r))t+=n;else if(this.isExpOperator(n)&&r&&this.isNumber(r)&&"e"==t.charAt(t.length-1))t+=n;else{if(!this.isExpOperator(n)||r&&this.isNumber(r)||"e"!=t.charAt(t.length-1))break;this.throwError("Invalid exponent")}}this.index++}this.tokens.push({index:e,text:t,constant:!0,value:Number(t)})},readIdent:function(){for(var t=this.index;this.index<this.text.length;){var e=this.text.charAt(this.index);if(!this.isIdent(e)&&!this.isNumber(e))break;this.index++}this.tokens.push({index:t,text:this.text.slice(t,this.index),identifier:!0})},readString:function(t){var e=this.index;this.index++;for(var n="",r=t,i=!1;this.index<this.text.length;){var o=this.text.charAt(this.index);if(r+=o,i){if("u"===o){var a=this.text.substring(this.index+1,this.index+5);a.match(/[\da-f]{4}/i)||this.throwError("Invalid unicode escape [\\u"+a+"]"),this.index+=4,n+=String.fromCharCode(parseInt(a,16))}else{var s=Ki[o];n+=s||o}i=!1}else if("\\"===o)i=!0;else{if(o===t)return this.index++,void this.tokens.push({index:e,text:r,constant:!0,value:n});n+=o}this.index++}this.throwError("Unterminated quote",e)}};var to=function(t,e){this.lexer=t,this.options=e};to.Program="Program",to.ExpressionStatement="ExpressionStatement",to.AssignmentExpression="AssignmentExpression",to.ConditionalExpression="ConditionalExpression",to.LogicalExpression="LogicalExpression",to.BinaryExpression="BinaryExpression",to.UnaryExpression="UnaryExpression",to.CallExpression="CallExpression",to.MemberExpression="MemberExpression",to.Identifier="Identifier",to.Literal="Literal",to.ArrayExpression="ArrayExpression",to.Property="Property",to.ObjectExpression="ObjectExpression",to.ThisExpression="ThisExpression",to.NGValueParameter="NGValueParameter",to.prototype={ast:function(t){this.text=t,this.tokens=this.lexer.lex(t);var e=this.program();return 0!==this.tokens.length&&this.throwError("is an unexpected token",this.tokens[0]),e},program:function(){for(var t=[];;)if(this.tokens.length>0&&!this.peek("}",")",";","]")&&t.push(this.expressionStatement()),!this.expect(";"))return{type:to.Program,body:t}},expressionStatement:function(){return{type:to.ExpressionStatement,expression:this.filterChain()}},filterChain:function(){for(var t,e=this.expression();t=this.expect("|");)e=this.filter(e);return e},expression:function(){return this.assignment()},assignment:function(){var t=this.ternary();return this.expect("=")&&(t={type:to.AssignmentExpression,left:t,right:this.assignment(),operator:"="}),t},ternary:function(){var t,e,n=this.logicalOR();return this.expect("?")&&(t=this.expression(),this.consume(":"))?(e=this.expression(),{type:to.ConditionalExpression,test:n,alternate:t,consequent:e}):n},logicalOR:function(){for(var t=this.logicalAND();this.expect("||");)t={type:to.LogicalExpression,operator:"||",left:t,right:this.logicalAND()};return t},logicalAND:function(){for(var t=this.equality();this.expect("&&");)t={type:to.LogicalExpression,operator:"&&",left:t,right:this.equality()};return t},equality:function(){for(var t,e=this.relational();t=this.expect("==","!=","===","!==");)e={type:to.BinaryExpression,operator:t.text,left:e,right:this.relational()};return e},relational:function(){for(var t,e=this.additive();t=this.expect("<",">","<=",">=");)e={type:to.BinaryExpression,operator:t.text,left:e,right:this.additive()};return e},additive:function(){for(var t,e=this.multiplicative();t=this.expect("+","-");)e={type:to.BinaryExpression,operator:t.text,left:e,right:this.multiplicative()};return e},multiplicative:function(){for(var t,e=this.unary();t=this.expect("*","/","%");)e={type:to.BinaryExpression,operator:t.text,left:e,right:this.unary()};return e},unary:function(){var t;return(t=this.expect("+","-","!"))?{type:to.UnaryExpression,operator:t.text,prefix:!0,argument:this.unary()}:this.primary()},primary:function(){var t;this.expect("(")?(t=this.filterChain(),this.consume(")")):this.expect("[")?t=this.arrayDeclaration():this.expect("{")?t=this.object():this.constants.hasOwnProperty(this.peek().text)?t=N(this.constants[this.consume().text]):this.peek().identifier?t=this.identifier():this.peek().constant?t=this.constant():this.throwError("not a primary expression",this.peek());for(var e;e=this.expect("(","[",".");)"("===e.text?(t={type:to.CallExpression,callee:t,arguments:this.parseArguments()},this.consume(")")):"["===e.text?(t={type:to.MemberExpression,object:t,property:this.expression(),computed:!0},this.consume("]")):"."===e.text?t={type:to.MemberExpression,object:t,property:this.identifier(),computed:!1}:this.throwError("IMPOSSIBLE");return t},filter:function(t){for(var e=[t],n={type:to.CallExpression,callee:this.identifier(),arguments:e,filter:!0};this.expect(":");)e.push(this.expression());return n},parseArguments:function(){var t=[];if(")"!==this.peekToken().text)do t.push(this.expression());while(this.expect(","));return t},identifier:function(){var t=this.consume();return t.identifier||this.throwError("is not a valid identifier",t),{type:to.Identifier,name:t.text}},constant:function(){return{type:to.Literal,value:this.consume().value}},arrayDeclaration:function(){var t=[];if("]"!==this.peekToken().text)do{if(this.peek("]"))break;t.push(this.expression())}while(this.expect(","));return this.consume("]"),{type:to.ArrayExpression,elements:t}},object:function(){var t,e=[];if("}"!==this.peekToken().text)do{if(this.peek("}"))break;t={type:to.Property,kind:"init"},this.peek().constant?t.key=this.constant():this.peek().identifier?t.key=this.identifier():this.throwError("invalid key",this.peek()),this.consume(":"),t.value=this.expression(),e.push(t)}while(this.expect(","));return this.consume("}"),{type:to.ObjectExpression,properties:e}},throwError:function(t,e){throw Gi("syntax","Syntax Error: Token '{0}' {1} at column {2} of the expression [{3}] starting at [{4}].",e.text,t,e.index+1,this.text,this.text.substring(e.index))},consume:function(t){if(0===this.tokens.length)throw Gi("ueoe","Unexpected end of expression: {0}",this.text);var e=this.expect(t);return e||this.throwError("is unexpected, expecting ["+t+"]",this.peek()),e},peekToken:function(){if(0===this.tokens.length)throw Gi("ueoe","Unexpected end of expression: {0}",this.text);return this.tokens[0]},peek:function(t,e,n,r){return this.peekAhead(0,t,e,n,r)},peekAhead:function(t,e,n,r,i){if(this.tokens.length>t){var o=this.tokens[t],a=o.text;if(a===e||a===n||a===r||a===i||!e&&!n&&!r&&!i)return o}return!1},expect:function(t,e,n,r){var i=this.peek(t,e,n,r);return i?(this.tokens.shift(),i):!1},constants:{"true":{type:to.Literal,value:!0},"false":{type:to.Literal,value:!1},"null":{type:to.Literal,value:null},undefined:{type:to.Literal,value:n},"this":{type:to.ThisExpression}}},sn.prototype={compile:function(t,e){var r=this,i=this.astBuilder.ast(t);this.state={nextId:0,filters:{},expensiveChecks:e,fn:{vars:[],body:[],own:{}},assign:{vars:[],body:[],own:{}},inputs:[]},tn(i,r.$filter);var a,s="";if(this.stage="assign",a=rn(i)){this.state.computing="assign";var u=this.nextId();this.recurse(a,u),this.return_(u),s="fn.assign="+this.generateFunction("assign","s,v,l")}var l=en(i.body);r.stage="inputs",o(l,function(t,e){var n="fn"+e;r.state[n]={vars:[],body:[],own:{}},r.state.computing=n;var i=r.nextId();r.recurse(t,i),r.return_(i),r.state.inputs.push(n),t.watchId=e}),this.state.computing="fn",this.stage="main",this.recurse(i);var c='"'+this.USE+" "+this.STRICT+'";\n'+this.filterPrefix()+"var fn="+this.generateFunction("fn","s,l,a,i")+s+this.watchFns()+"return fn;",f=new Function("$filter","ensureSafeMemberName","ensureSafeObject","ensureSafeFunction","getStringValue","ensureSafeAssignContext","ifDefined","plus","text",c)(this.$filter,Ue,Ye,Xe,Ge,Je,Ze,Ke,t);return this.state=this.stage=n,f.literal=on(i),f.constant=an(i),f},USE:"use",STRICT:"strict",watchFns:function(){var t=[],e=this.state.inputs,n=this;return o(e,function(e){t.push("var "+e+"="+n.generateFunction(e,"s"))}),e.length&&t.push("fn.inputs=["+e.join(",")+"];"),t.join("")},generateFunction:function(t,e){return"function("+e+"){"+this.varsPrefix(t)+this.body(t)+"};"},filterPrefix:function(){var t=[],e=this;return o(this.state.filters,function(n,r){t.push(n+"=$filter("+e.escape(r)+")")}),t.length?"var "+t.join(",")+";":""},varsPrefix:function(t){return this.state[t].vars.length?"var "+this.state[t].vars.join(",")+";":""},body:function(t){return this.state[t].body.join("")},recurse:function(t,e,r,i,a,s){var u,l,c,f,h=this;if(i=i||v,!s&&b(t.watchId))return e=e||this.nextId(),void this.if_("i",this.lazyAssign(e,this.computedMember("i",t.watchId)),this.lazyRecurse(t,e,r,i,a,!0));switch(t.type){case to.Program:o(t.body,function(e,r){h.recurse(e.expression,n,n,function(t){l=t}),r!==t.body.length-1?h.current().body.push(l,";"):h.return_(l)});break;case to.Literal:f=this.escape(t.value),this.assign(e,f),i(f);break;case to.UnaryExpression:this.recurse(t.argument,n,n,function(t){l=t}),f=t.operator+"("+this.ifDefined(l,0)+")",this.assign(e,f),i(f);break;case to.BinaryExpression:this.recurse(t.left,n,n,function(t){u=t}),this.recurse(t.right,n,n,function(t){l=t}),f="+"===t.operator?this.plus(u,l):"-"===t.operator?this.ifDefined(u,0)+t.operator+this.ifDefined(l,0):"("+u+")"+t.operator+"("+l+")",this.assign(e,f),i(f);break;case to.LogicalExpression:e=e||this.nextId(),h.recurse(t.left,e),h.if_("&&"===t.operator?e:h.not(e),h.lazyRecurse(t.right,e)),i(e);break;case to.ConditionalExpression:e=e||this.nextId(),h.recurse(t.test,e),h.if_(e,h.lazyRecurse(t.alternate,e),h.lazyRecurse(t.consequent,e)),i(e);break;case to.Identifier:e=e||this.nextId(),r&&(r.context="inputs"===h.stage?"s":this.assign(this.nextId(),this.getHasOwnProperty("l",t.name)+"?l:s"),r.computed=!1,r.name=t.name),Ue(t.name),h.if_("inputs"===h.stage||h.not(h.getHasOwnProperty("l",t.name)),function(){h.if_("inputs"===h.stage||"s",function(){a&&1!==a&&h.if_(h.not(h.nonComputedMember("s",t.name)),h.lazyAssign(h.nonComputedMember("s",t.name),"{}")),h.assign(e,h.nonComputedMember("s",t.name))})},e&&h.lazyAssign(e,h.nonComputedMember("l",t.name))),(h.state.expensiveChecks||ln(t.name))&&h.addEnsureSafeObject(e),i(e);break;case to.MemberExpression:u=r&&(r.context=this.nextId())||this.nextId(),e=e||this.nextId(),h.recurse(t.object,u,n,function(){h.if_(h.notNull(u),function(){t.computed?(l=h.nextId(),h.recurse(t.property,l),h.getStringValue(l),h.addEnsureSafeMemberName(l),a&&1!==a&&h.if_(h.not(h.computedMember(u,l)),h.lazyAssign(h.computedMember(u,l),"{}")),f=h.ensureSafeObject(h.computedMember(u,l)),h.assign(e,f),r&&(r.computed=!0,r.name=l)):(Ue(t.property.name),a&&1!==a&&h.if_(h.not(h.nonComputedMember(u,t.property.name)),h.lazyAssign(h.nonComputedMember(u,t.property.name),"{}")),f=h.nonComputedMember(u,t.property.name),(h.state.expensiveChecks||ln(t.property.name))&&(f=h.ensureSafeObject(f)),h.assign(e,f),r&&(r.computed=!1,r.name=t.property.name))},function(){h.assign(e,"undefined")}),i(e)},!!a);break;case to.CallExpression:e=e||this.nextId(),t.filter?(l=h.filter(t.callee.name),c=[],o(t.arguments,function(t){var e=h.nextId();h.recurse(t,e),c.push(e)}),f=l+"("+c.join(",")+")",h.assign(e,f),i(e)):(l=h.nextId(),u={},c=[],h.recurse(t.callee,l,u,function(){h.if_(h.notNull(l),function(){h.addEnsureSafeFunction(l),o(t.arguments,function(t){h.recurse(t,h.nextId(),n,function(t){c.push(h.ensureSafeObject(t))})}),u.name?(h.state.expensiveChecks||h.addEnsureSafeObject(u.context),f=h.member(u.context,u.name,u.computed)+"("+c.join(",")+")"):f=l+"("+c.join(",")+")",f=h.ensureSafeObject(f),h.assign(e,f)},function(){h.assign(e,"undefined")}),i(e)}));break;case to.AssignmentExpression:if(l=this.nextId(),u={},!nn(t.left))throw Gi("lval","Trying to assing a value to a non l-value");this.recurse(t.left,n,u,function(){h.if_(h.notNull(u.context),function(){h.recurse(t.right,l),h.addEnsureSafeObject(h.member(u.context,u.name,u.computed)),h.addEnsureSafeAssignContext(u.context),f=h.member(u.context,u.name,u.computed)+t.operator+l,h.assign(e,f),i(e||f)})},1);break;case to.ArrayExpression:c=[],o(t.elements,function(t){h.recurse(t,h.nextId(),n,function(t){c.push(t)})}),f="["+c.join(",")+"]",this.assign(e,f),i(f);break;case to.ObjectExpression:c=[],o(t.properties,function(t){h.recurse(t.value,h.nextId(),n,function(e){c.push(h.escape(t.key.type===to.Identifier?t.key.name:""+t.key.value)+":"+e)})}),f="{"+c.join(",")+"}",this.assign(e,f),i(f);break;case to.ThisExpression:this.assign(e,"s"),i("s");break;case to.NGValueParameter:this.assign(e,"v"),i("v")}},getHasOwnProperty:function(t,e){var n=t+"."+e,r=this.current().own;return r.hasOwnProperty(n)||(r[n]=this.nextId(!1,t+"&&("+this.escape(e)+" in "+t+")")),r[n]},assign:function(t,e){return t?(this.current().body.push(t,"=",e,";"),t):void 0},filter:function(t){return this.state.filters.hasOwnProperty(t)||(this.state.filters[t]=this.nextId(!0)),this.state.filters[t]},ifDefined:function(t,e){return"ifDefined("+t+","+this.escape(e)+")"},plus:function(t,e){return"plus("+t+","+e+")"},return_:function(t){this.current().body.push("return ",t,";")},if_:function(t,e,n){if(t===!0)e();else{var r=this.current().body;r.push("if(",t,"){"),e(),r.push("}"),n&&(r.push("else{"),n(),r.push("}"))}},not:function(t){return"!("+t+")"},notNull:function(t){return t+"!=null"},nonComputedMember:function(t,e){return t+"."+e},computedMember:function(t,e){return t+"["+e+"]"},member:function(t,e,n){return n?this.computedMember(t,e):this.nonComputedMember(t,e)},addEnsureSafeObject:function(t){this.current().body.push(this.ensureSafeObject(t),";")},addEnsureSafeMemberName:function(t){this.current().body.push(this.ensureSafeMemberName(t),";")},addEnsureSafeFunction:function(t){this.current().body.push(this.ensureSafeFunction(t),";")},addEnsureSafeAssignContext:function(t){this.current().body.push(this.ensureSafeAssignContext(t),";")},ensureSafeObject:function(t){return"ensureSafeObject("+t+",text)"},ensureSafeMemberName:function(t){return"ensureSafeMemberName("+t+",text)"},ensureSafeFunction:function(t){return"ensureSafeFunction("+t+",text)"},getStringValue:function(t){this.assign(t,"getStringValue("+t+",text)")},ensureSafeAssignContext:function(t){return"ensureSafeAssignContext("+t+",text)"},lazyRecurse:function(t,e,n,r,i,o){var a=this;return function(){a.recurse(t,e,n,r,i,o)}},lazyAssign:function(t,e){var n=this;return function(){n.assign(t,e)}},stringEscapeRegex:/[^ a-zA-Z0-9]/g,stringEscapeFn:function(t){return"\\u"+("0000"+t.charCodeAt(0).toString(16)).slice(-4)},escape:function(t){if(C(t))return"'"+t.replace(this.stringEscapeRegex,this.stringEscapeFn)+"'";if(S(t))return t.toString();if(t===!0)return"true";if(t===!1)return"false";if(null===t)return"null";if("undefined"==typeof t)return"undefined";throw Gi("esc","IMPOSSIBLE")},nextId:function(t,e){var n="v"+this.state.nextId++;return t||this.current().vars.push(n+(e?"="+e:"")),n},current:function(){return this.state[this.state.computing]}},un.prototype={compile:function(t,e){var n=this,r=this.astBuilder.ast(t);this.expression=t,this.expensiveChecks=e,tn(r,n.$filter);var i,a;(i=rn(r))&&(a=this.recurse(i));var s,u=en(r.body);u&&(s=[],o(u,function(t,e){var r=n.recurse(t);t.input=r,s.push(r),t.watchId=e}));var l=[];o(r.body,function(t){l.push(n.recurse(t.expression))});var c=0===r.body.length?function(){}:1===r.body.length?l[0]:function(t,e){var n;return o(l,function(r){n=r(t,e)}),n};return a&&(c.assign=function(t,e,n){return a(t,n,e)}),s&&(c.inputs=s),c.literal=on(r),c.constant=an(r),c},recurse:function(t,e,r){var i,a,s,u=this;if(t.input)return this.inputs(t.input,t.watchId);switch(t.type){case to.Literal:return this.value(t.value,e);case to.UnaryExpression:return a=this.recurse(t.argument),this["unary"+t.operator](a,e);case to.BinaryExpression:return i=this.recurse(t.left),a=this.recurse(t.right),this["binary"+t.operator](i,a,e);case to.LogicalExpression:return i=this.recurse(t.left),a=this.recurse(t.right),this["binary"+t.operator](i,a,e);case to.ConditionalExpression:return this["ternary?:"](this.recurse(t.test),this.recurse(t.alternate),this.recurse(t.consequent),e);case to.Identifier:return Ue(t.name,u.expression),u.identifier(t.name,u.expensiveChecks||ln(t.name),e,r,u.expression);case to.MemberExpression:return i=this.recurse(t.object,!1,!!r),t.computed||(Ue(t.property.name,u.expression),a=t.property.name),t.computed&&(a=this.recurse(t.property)),t.computed?this.computedMember(i,a,e,r,u.expression):this.nonComputedMember(i,a,u.expensiveChecks,e,r,u.expression);case to.CallExpression:return s=[],o(t.arguments,function(t){s.push(u.recurse(t))}),t.filter&&(a=this.$filter(t.callee.name)),t.filter||(a=this.recurse(t.callee,!0)),t.filter?function(t,r,i,o){for(var u=[],l=0;l<s.length;++l)u.push(s[l](t,r,i,o));var c=a.apply(n,u,o);return e?{context:n,name:n,value:c}:c}:function(t,n,r,i){var o,l=a(t,n,r,i);if(null!=l.value){Ye(l.context,u.expression),Xe(l.value,u.expression);for(var c=[],f=0;f<s.length;++f)c.push(Ye(s[f](t,n,r,i),u.expression));o=Ye(l.value.apply(l.context,c),u.expression)}return e?{value:o}:o};case to.AssignmentExpression:return i=this.recurse(t.left,!0,1),a=this.recurse(t.right),function(t,n,r,o){var s=i(t,n,r,o),l=a(t,n,r,o);return Ye(s.value,u.expression),Je(s.context),s.context[s.name]=l,e?{value:l}:l};case to.ArrayExpression:return s=[],o(t.elements,function(t){s.push(u.recurse(t))}),function(t,n,r,i){for(var o=[],a=0;a<s.length;++a)o.push(s[a](t,n,r,i));return e?{value:o}:o};case to.ObjectExpression:return s=[],o(t.properties,function(t){s.push({key:t.key.type===to.Identifier?t.key.name:""+t.key.value,value:u.recurse(t.value)})}),function(t,n,r,i){for(var o={},a=0;a<s.length;++a)o[s[a].key]=s[a].value(t,n,r,i);return e?{value:o}:o};case to.ThisExpression:return function(t){return e?{value:t}:t};case to.NGValueParameter:return function(t,n,r,i){return e?{value:r}:r}}},"unary+":function(t,e){return function(n,r,i,o){var a=t(n,r,i,o);return a=b(a)?+a:0,e?{value:a}:a}},"unary-":function(t,e){return function(n,r,i,o){var a=t(n,r,i,o);return a=b(a)?-a:0,e?{value:a}:a}},"unary!":function(t,e){return function(n,r,i,o){var a=!t(n,r,i,o);return e?{value:a}:a}},"binary+":function(t,e,n){return function(r,i,o,a){var s=t(r,i,o,a),u=e(r,i,o,a),l=Ke(s,u);return n?{value:l}:l}},"binary-":function(t,e,n){return function(r,i,o,a){var s=t(r,i,o,a),u=e(r,i,o,a),l=(b(s)?s:0)-(b(u)?u:0);return n?{value:l}:l}},"binary*":function(t,e,n){return function(r,i,o,a){var s=t(r,i,o,a)*e(r,i,o,a);return n?{value:s}:s}},"binary/":function(t,e,n){return function(r,i,o,a){var s=t(r,i,o,a)/e(r,i,o,a);return n?{value:s}:s}},"binary%":function(t,e,n){return function(r,i,o,a){var s=t(r,i,o,a)%e(r,i,o,a);return n?{value:s}:s}},"binary===":function(t,e,n){return function(r,i,o,a){var s=t(r,i,o,a)===e(r,i,o,a);return n?{value:s}:s}},"binary!==":function(t,e,n){return function(r,i,o,a){var s=t(r,i,o,a)!==e(r,i,o,a);return n?{value:s}:s}},"binary==":function(t,e,n){return function(r,i,o,a){var s=t(r,i,o,a)==e(r,i,o,a);return n?{value:s}:s}},"binary!=":function(t,e,n){return function(r,i,o,a){var s=t(r,i,o,a)!=e(r,i,o,a);return n?{value:s}:s}},"binary<":function(t,e,n){return function(r,i,o,a){var s=t(r,i,o,a)<e(r,i,o,a);return n?{value:s}:s}},"binary>":function(t,e,n){return function(r,i,o,a){var s=t(r,i,o,a)>e(r,i,o,a);return n?{value:s}:s}},"binary<=":function(t,e,n){return function(r,i,o,a){var s=t(r,i,o,a)<=e(r,i,o,a);return n?{value:s}:s}},"binary>=":function(t,e,n){return function(r,i,o,a){var s=t(r,i,o,a)>=e(r,i,o,a);return n?{value:s}:s}},"binary&&":function(t,e,n){return function(r,i,o,a){var s=t(r,i,o,a)&&e(r,i,o,a);return n?{value:s}:s}},"binary||":function(t,e,n){return function(r,i,o,a){var s=t(r,i,o,a)||e(r,i,o,a);return n?{value:s}:s}},"ternary?:":function(t,e,n,r){return function(i,o,a,s){var u=t(i,o,a,s)?e(i,o,a,s):n(i,o,a,s);return r?{value:u}:u}},value:function(t,e){return function(){return e?{context:n,name:n,value:t}:t}},identifier:function(t,e,r,i,o){return function(a,s,u,l){var c=s&&t in s?s:a;i&&1!==i&&c&&!c[t]&&(c[t]={});var f=c?c[t]:n;return e&&Ye(f,o),r?{context:c,name:t,value:f}:f}},computedMember:function(t,e,n,r,i){return function(o,a,s,u){var l,c,f=t(o,a,s,u);return null!=f&&(l=e(o,a,s,u),l=Ge(l),Ue(l,i),r&&1!==r&&f&&!f[l]&&(f[l]={}),c=f[l],Ye(c,i)),n?{context:f,name:l,value:c}:c}},nonComputedMember:function(t,e,r,i,o,a){return function(s,u,l,c){var f=t(s,u,l,c);o&&1!==o&&f&&!f[e]&&(f[e]={});var h=null!=f?f[e]:n;return(r||ln(e))&&Ye(h,a),i?{context:f,name:e,value:h}:h}},inputs:function(t,e){return function(n,r,i,o){return o?o[e]:t(n,r,i)}}};var eo=function(t,e,n){this.lexer=t,this.$filter=e,this.options=n,this.ast=new to(this.lexer),this.astCompiler=n.csp?new un(this.ast,e):new sn(this.ast,e)};eo.prototype={constructor:eo,parse:function(t){return this.astCompiler.compile(t,this.options.expensiveChecks)}};var no=(gt(),gt(),Object.prototype.valueOf),ro=r("$sce"),io={
-HTML:"html",CSS:"css",URL:"url",RESOURCE_URL:"resourceUrl",JS:"js"},Oi=r("$compile"),oo=e.createElement("a"),ao=_n(t.location.href);Pn.$inject=["$document"],Tn.$inject=["$provide"],Rn.$inject=["$locale"],Dn.$inject=["$locale"];var so=".",uo={yyyy:Nn("FullYear",4),yy:Nn("FullYear",2,0,!0),y:Nn("FullYear",1),MMMM:Bn("Month"),MMM:Bn("Month",!0),MM:Nn("Month",2,1),M:Nn("Month",1,1),dd:Nn("Date",2),d:Nn("Date",1),HH:Nn("Hours",2),H:Nn("Hours",1),hh:Nn("Hours",2,-12),h:Nn("Hours",1,-12),mm:Nn("Minutes",2),m:Nn("Minutes",1),ss:Nn("Seconds",2),s:Nn("Seconds",1),sss:Nn("Milliseconds",3),EEEE:Bn("Day"),EEE:Bn("Day",!0),a:Un,Z:Wn,ww:Hn(2),w:Hn(1),G:Gn,GG:Gn,GGG:Gn,GGGG:Yn},lo=/((?:[^yMdHhmsaZEwG']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z|G+|w+))(.*)/,co=/^\-?\d+$/;Xn.$inject=["$locale"];var fo=m(br),ho=m(xr);Kn.$inject=["$parse"];var po=m({restrict:"E",compile:function(t,e){return e.href||e.xlinkHref?void 0:function(t,e){if("a"===e[0].nodeName.toLowerCase()){var n="[object SVGAnimatedString]"===Mr.call(e.prop("href"))?"xlink:href":"href";e.on("click",function(t){e.attr(n)||t.preventDefault()})}}}}),vo={};o(di,function(t,e){function n(t,n,i){t.$watch(i[r],function(t){i.$set(e,!!t)})}if("multiple"!=t){var r=le("ng-"+e),i=n;"checked"===t&&(i=function(t,e,i){i.ngModel!==i[r]&&n(t,e,i)}),vo[r]=function(){return{restrict:"A",priority:100,link:i}}}}),o(gi,function(t,e){vo[e]=function(){return{priority:100,link:function(t,n,r){if("ngPattern"===e&&"/"==r.ngPattern.charAt(0)){var i=r.ngPattern.match($r);if(i)return void r.$set("ngPattern",new RegExp(i[1],i[2]))}t.$watch(r[e],function(t){r.$set(e,t)})}}}}),o(["src","srcset","href"],function(t){var e=le("ng-"+t);vo[e]=function(){return{priority:99,link:function(n,r,i){var o=t,a=t;"href"===t&&"[object SVGAnimatedString]"===Mr.call(r.prop("href"))&&(a="xlinkHref",i.$attr[a]="xlink:href",o=null),i.$observe(e,function(e){return e?(i.$set(a,e),void(Ar&&o&&r.prop(o,i[a]))):void("href"===t&&i.$set(a,null))})}}}});var go={$addControl:v,$$renameControl:tr,$removeControl:v,$setValidity:v,$setDirty:v,$setPristine:v,$setSubmitted:v},mo="ng-submitted";er.$inject=["$element","$attrs","$scope","$animate","$interpolate"];var $o=function(t){return["$timeout","$parse",function(e,r){function i(t){return""===t?r('this[""]').assign:r(t).assign||v}var o={name:"form",restrict:t?"EAC":"E",require:["form","^^?form"],controller:er,compile:function(r,o){r.addClass(Ko).addClass(Jo);var a=o.name?"name":t&&o.ngForm?"ngForm":!1;return{pre:function(t,r,o,s){var u=s[0];if(!("action"in o)){var l=function(e){t.$apply(function(){u.$commitViewValue(),u.$setSubmitted()}),e.preventDefault()};ni(r[0],"submit",l),r.on("$destroy",function(){e(function(){ri(r[0],"submit",l)},0,!1)})}var c=s[1]||u.$$parentForm;c.$addControl(u);var h=a?i(u.$name):v;a&&(h(t,u),o.$observe(a,function(e){u.$name!==e&&(h(t,n),u.$$parentForm.$$renameControl(u,e),(h=i(u.$name))(t,u))})),r.on("$destroy",function(){u.$$parentForm.$removeControl(u),h(t,n),f(u,go)})}}}};return o}]},yo=$o(),bo=$o(!0),wo=/\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z)/,xo=/^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/,Co=/^[a-z0-9!#$%&'*+\/=?^_`{|}~.-]+@[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$/i,So=/^\s*(\-|\+)?(\d+|(\d*(\.\d*)))([eE][+-]?\d+)?\s*$/,Ao=/^(\d{4})-(\d{2})-(\d{2})$/,_o=/^(\d{4})-(\d\d)-(\d\d)T(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,ko=/^(\d{4})-W(\d\d)$/,Eo=/^(\d{4})-(\d\d)$/,Po=/^(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,Oo={text:rr,date:sr("date",Ao,ar(Ao,["yyyy","MM","dd"]),"yyyy-MM-dd"),"datetime-local":sr("datetimelocal",_o,ar(_o,["yyyy","MM","dd","HH","mm","ss","sss"]),"yyyy-MM-ddTHH:mm:ss.sss"),time:sr("time",Po,ar(Po,["HH","mm","ss","sss"]),"HH:mm:ss.sss"),week:sr("week",ko,or,"yyyy-Www"),month:sr("month",Eo,ar(Eo,["yyyy","MM"]),"yyyy-MM"),number:lr,url:cr,email:fr,radio:hr,checkbox:dr,hidden:v,button:v,submit:v,reset:v,file:v},To=["$browser","$sniffer","$filter","$parse",function(t,e,n,r){return{restrict:"E",require:["?ngModel"],link:{pre:function(i,o,a,s){s[0]&&(Oo[br(a.type)]||Oo.text)(i,o,a,s[0],e,t,n,r)}}}}],Mo=/^(true|false|\d+)$/,jo=function(){return{restrict:"A",priority:100,compile:function(t,e){return Mo.test(e.ngValue)?function(t,e,n){n.$set("value",t.$eval(n.ngValue))}:function(t,e,n){t.$watch(n.ngValue,function(t){n.$set("value",t)})}}}},Fo=["$compile",function(t){return{restrict:"AC",compile:function(e){return t.$$addBindingClass(e),function(e,n,r){t.$$addBindingInfo(n,r.ngBind),n=n[0],e.$watch(r.ngBind,function(t){n.textContent=y(t)?"":t})}}}}],Lo=["$interpolate","$compile",function(t,e){return{compile:function(n){return e.$$addBindingClass(n),function(n,r,i){var o=t(r.attr(i.$attr.ngBindTemplate));e.$$addBindingInfo(r,o.expressions),r=r[0],i.$observe("ngBindTemplate",function(t){r.textContent=y(t)?"":t})}}}}],Ro=["$sce","$parse","$compile",function(t,e,n){return{restrict:"A",compile:function(r,i){var o=e(i.ngBindHtml),a=e(i.ngBindHtml,function(t){return(t||"").toString()});return n.$$addBindingClass(r),function(e,r,i){n.$$addBindingInfo(r,i.ngBindHtml),e.$watch(a,function(){r.html(t.getTrustedHtml(o(e))||"")})}}}}],Do=m({restrict:"A",require:"ngModel",link:function(t,e,n,r){r.$viewChangeListeners.push(function(){t.$eval(n.ngChange)})}}),Io=vr("",!0),Vo=vr("Odd",0),No=vr("Even",1),Bo=Qn({compile:function(t,e){e.$set("ngCloak",n),t.removeClass("ng-cloak")}}),Wo=[function(){return{restrict:"A",scope:!0,controller:"@",priority:500}}],qo={},zo={blur:!0,focus:!0};o("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "),function(t){var e=le("ng-"+t);qo[e]=["$parse","$rootScope",function(n,r){return{restrict:"A",compile:function(i,o){var a=n(o[e],null,!0);return function(e,n){n.on(t,function(n){var i=function(){a(e,{$event:n})};zo[t]&&r.$$phase?e.$evalAsync(i):e.$apply(i)})}}}}]});var Ho=["$animate",function(t){return{multiElement:!0,transclude:"element",priority:600,terminal:!0,restrict:"A",$$tlb:!0,link:function(n,r,i,o,a){var s,u,l;n.$watch(i.ngIf,function(n){n?u||a(function(n,o){u=o,n[n.length++]=e.createComment(" end ngIf: "+i.ngIf+" "),s={clone:n},t.enter(n,r.parent(),r)}):(l&&(l.remove(),l=null),u&&(u.$destroy(),u=null),s&&(l=vt(s.clone),t.leave(l).then(function(){l=null}),s=null))})}}}],Uo=["$templateRequest","$anchorScroll","$animate",function(t,e,n){return{restrict:"ECA",priority:400,terminal:!0,transclude:"element",controller:Lr.noop,compile:function(r,i){var o=i.ngInclude||i.src,a=i.onload||"",s=i.autoscroll;return function(r,i,u,l,c){var f,h,p,d=0,v=function(){h&&(h.remove(),h=null),f&&(f.$destroy(),f=null),p&&(n.leave(p).then(function(){h=null}),h=p,p=null)};r.$watch(o,function(o){var u=function(){!b(s)||s&&!r.$eval(s)||e()},h=++d;o?(t(o,!0).then(function(t){if(h===d){var e=r.$new();l.template=t;var s=c(e,function(t){v(),n.enter(t,null,i).then(u)});f=e,p=s,f.$emit("$includeContentLoaded",o),r.$eval(a)}},function(){h===d&&(v(),r.$emit("$includeContentError",o))}),r.$emit("$includeContentRequested",o)):(v(),l.template=null)})}}}}],Go=["$compile",function(t){return{restrict:"ECA",priority:-400,require:"ngInclude",link:function(n,r,i,o){return/SVG/.test(r[0].toString())?(r.empty(),void t(_t(o.template,e).childNodes)(n,function(t){r.append(t)},{futureParentElement:r})):(r.html(o.template),void t(r.contents())(n))}}}],Yo=Qn({priority:450,compile:function(){return{pre:function(t,e,n){t.$eval(n.ngInit)}}}}),Xo=function(){return{restrict:"A",priority:100,require:"ngModel",link:function(t,e,r,i){var a=e.attr(r.$attr.ngList)||", ",s="false"!==r.ngTrim,u=s?Nr(a):a,l=function(t){if(!y(t)){var e=[];return t&&o(t.split(u),function(t){t&&e.push(s?Nr(t):t)}),e}};i.$parsers.push(l),i.$formatters.push(function(t){return Ir(t)?t.join(a):n}),i.$isEmpty=function(t){return!t||!t.length}}}},Jo="ng-valid",Zo="ng-invalid",Ko="ng-pristine",Qo="ng-dirty",ta="ng-untouched",ea="ng-touched",na="ng-pending",ra=r("ngModel"),ia=["$scope","$exceptionHandler","$attrs","$element","$parse","$animate","$timeout","$rootScope","$q","$interpolate",function(t,e,r,i,a,s,u,l,c,f){this.$viewValue=Number.NaN,this.$modelValue=Number.NaN,this.$$rawModelValue=n,this.$validators={},this.$asyncValidators={},this.$parsers=[],this.$formatters=[],this.$viewChangeListeners=[],this.$untouched=!0,this.$touched=!1,this.$pristine=!0,this.$dirty=!1,this.$valid=!0,this.$invalid=!1,this.$error={},this.$$success={},this.$pending=n,this.$name=f(r.name||"",!1)(t),this.$$parentForm=go;var h,p=a(r.ngModel),d=p.assign,g=p,m=d,$=null,w=this;this.$$setOptions=function(t){if(w.$options=t,t&&t.getterSetter){var e=a(r.ngModel+"()"),n=a(r.ngModel+"($$$p)");g=function(t){var n=p(t);return _(n)&&(n=e(t)),n},m=function(t,e){_(p(t))?n(t,{$$$p:w.$modelValue}):d(t,w.$modelValue)}}else if(!p.assign)throw ra("nonassign","Expression '{0}' is non-assignable. Element: {1}",r.ngModel,K(i))},this.$render=v,this.$isEmpty=function(t){return y(t)||""===t||null===t||t!==t};var x=0;gr({ctrl:this,$element:i,set:function(t,e){t[e]=!0},unset:function(t,e){delete t[e]},$animate:s}),this.$setPristine=function(){w.$dirty=!1,w.$pristine=!0,s.removeClass(i,Qo),s.addClass(i,Ko)},this.$setDirty=function(){w.$dirty=!0,w.$pristine=!1,s.removeClass(i,Ko),s.addClass(i,Qo),w.$$parentForm.$setDirty()},this.$setUntouched=function(){w.$touched=!1,w.$untouched=!0,s.setClass(i,ta,ea)},this.$setTouched=function(){w.$touched=!0,w.$untouched=!1,s.setClass(i,ea,ta)},this.$rollbackViewValue=function(){u.cancel($),w.$viewValue=w.$$lastCommittedViewValue,w.$render()},this.$validate=function(){if(!S(w.$modelValue)||!isNaN(w.$modelValue)){var t=w.$$lastCommittedViewValue,e=w.$$rawModelValue,r=w.$valid,i=w.$modelValue,o=w.$options&&w.$options.allowInvalid;w.$$runValidators(e,t,function(t){o||r===t||(w.$modelValue=t?e:n,w.$modelValue!==i&&w.$$writeModelToScope())})}},this.$$runValidators=function(t,e,r){function i(){var t=w.$$parserName||"parse";return y(h)?(u(t,null),!0):(h||(o(w.$validators,function(t,e){u(e,null)}),o(w.$asyncValidators,function(t,e){u(e,null)})),u(t,h),h)}function a(){var n=!0;return o(w.$validators,function(r,i){var o=r(t,e);n=n&&o,u(i,o)}),n?!0:(o(w.$asyncValidators,function(t,e){u(e,null)}),!1)}function s(){var r=[],i=!0;o(w.$asyncValidators,function(o,a){var s=o(t,e);if(!F(s))throw ra("$asyncValidators","Expected asynchronous validator to return a promise but got '{0}' instead.",s);u(a,n),r.push(s.then(function(){u(a,!0)},function(t){i=!1,u(a,!1)}))}),r.length?c.all(r).then(function(){l(i)},v):l(!0)}function u(t,e){f===x&&w.$setValidity(t,e)}function l(t){f===x&&r(t)}x++;var f=x;return i()&&a()?void s():void l(!1)},this.$commitViewValue=function(){var t=w.$viewValue;u.cancel($),(w.$$lastCommittedViewValue!==t||""===t&&w.$$hasNativeValidators)&&(w.$$lastCommittedViewValue=t,w.$pristine&&this.$setDirty(),this.$$parseAndValidate())},this.$$parseAndValidate=function(){function e(){w.$modelValue!==a&&w.$$writeModelToScope()}var r=w.$$lastCommittedViewValue,i=r;if(h=y(i)?n:!0)for(var o=0;o<w.$parsers.length;o++)if(i=w.$parsers[o](i),y(i)){h=!1;break}S(w.$modelValue)&&isNaN(w.$modelValue)&&(w.$modelValue=g(t));var a=w.$modelValue,s=w.$options&&w.$options.allowInvalid;w.$$rawModelValue=i,s&&(w.$modelValue=i,e()),w.$$runValidators(i,w.$$lastCommittedViewValue,function(t){s||(w.$modelValue=t?i:n,e())})},this.$$writeModelToScope=function(){m(t,w.$modelValue),o(w.$viewChangeListeners,function(t){try{t()}catch(n){e(n)}})},this.$setViewValue=function(t,e){w.$viewValue=t,w.$options&&!w.$options.updateOnDefault||w.$$debounceViewValueCommit(e)},this.$$debounceViewValueCommit=function(e){var n,r=0,i=w.$options;i&&b(i.debounce)&&(n=i.debounce,S(n)?r=n:S(n[e])?r=n[e]:S(n["default"])&&(r=n["default"])),u.cancel($),r?$=u(function(){w.$commitViewValue()},r):l.$$phase?w.$commitViewValue():t.$apply(function(){w.$commitViewValue()})},t.$watch(function(){var e=g(t);if(e!==w.$modelValue&&(w.$modelValue===w.$modelValue||e===e)){w.$modelValue=w.$$rawModelValue=e,h=n;for(var r=w.$formatters,i=r.length,o=e;i--;)o=r[i](o);w.$viewValue!==o&&(w.$viewValue=w.$$lastCommittedViewValue=o,w.$render(),w.$$runValidators(e,o,v))}return e})}],oa=["$rootScope",function(t){return{restrict:"A",require:["ngModel","^?form","^?ngModelOptions"],controller:ia,priority:1,compile:function(e){return e.addClass(Ko).addClass(ta).addClass(Jo),{pre:function(t,e,n,r){var i=r[0],o=r[1]||i.$$parentForm;i.$$setOptions(r[2]&&r[2].$options),o.$addControl(i),n.$observe("name",function(t){i.$name!==t&&i.$$parentForm.$$renameControl(i,t)}),t.$on("$destroy",function(){i.$$parentForm.$removeControl(i)})},post:function(e,n,r,i){var o=i[0];o.$options&&o.$options.updateOn&&n.on(o.$options.updateOn,function(t){o.$$debounceViewValueCommit(t&&t.type)}),n.on("blur",function(n){o.$touched||(t.$$phase?e.$evalAsync(o.$setTouched):e.$apply(o.$setTouched))})}}}}}],aa=/(\s+|^)default(\s+|$)/,sa=function(){return{restrict:"A",controller:["$scope","$attrs",function(t,e){var n=this;this.$options=N(t.$eval(e.ngModelOptions)),b(this.$options.updateOn)?(this.$options.updateOnDefault=!1,this.$options.updateOn=Nr(this.$options.updateOn.replace(aa,function(){return n.$options.updateOnDefault=!0," "}))):this.$options.updateOnDefault=!0}]}},ua=Qn({terminal:!0,priority:1e3}),la=r("ngOptions"),ca=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+group\s+by\s+([\s\S]+?))?(?:\s+disable\s+when\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?$/,fa=["$compile","$parse",function(t,n){function r(t,e,r){function o(t,e,n,r,i){this.selectValue=t,this.viewValue=e,this.label=n,this.group=r,this.disabled=i}function a(t){var e;if(!l&&i(t))e=t;else{e=[];for(var n in t)t.hasOwnProperty(n)&&"$"!==n.charAt(0)&&e.push(n)}return e}var s=t.match(ca);if(!s)throw la("iexp","Expected expression in form of '_select_ (as _label_)? for (_key_,)?_value_ in _collection_' but got '{0}'. Element: {1}",t,K(e));var u=s[5]||s[7],l=s[6],c=/ as /.test(s[0])&&s[1],f=s[9],h=n(s[2]?s[1]:u),p=c&&n(c),d=p||h,v=f&&n(f),g=f?function(t,e){return v(r,e)}:function(t){return Yt(t)},m=function(t,e){return g(t,C(t,e))},$=n(s[2]||s[1]),y=n(s[3]||""),b=n(s[4]||""),w=n(s[8]),x={},C=l?function(t,e){return x[l]=e,x[u]=t,x}:function(t){return x[u]=t,x};return{trackBy:f,getTrackByValue:m,getWatchables:n(w,function(t){var e=[];t=t||[];for(var n=a(t),i=n.length,o=0;i>o;o++){var u=t===n?o:n[o],l=(t[u],C(t[u],u)),c=g(t[u],l);if(e.push(c),s[2]||s[1]){var f=$(r,l);e.push(f)}if(s[4]){var h=b(r,l);e.push(h)}}return e}),getOptions:function(){for(var t=[],e={},n=w(r)||[],i=a(n),s=i.length,u=0;s>u;u++){var l=n===i?u:i[u],c=n[l],h=C(c,l),p=d(r,h),v=g(p,h),x=$(r,h),S=y(r,h),A=b(r,h),_=new o(v,p,x,S,A);t.push(_),e[v]=_}return{items:t,selectValueMap:e,getOptionFromViewValue:function(t){return e[m(t)]},getViewValueFromOption:function(t){return f?Lr.copy(t.viewValue):t.viewValue}}}}}var a=e.createElement("option"),s=e.createElement("optgroup");return{restrict:"A",terminal:!0,require:["select","?ngModel"],link:function(e,n,i,u){function l(t,e){t.element=e,e.disabled=t.disabled,t.label!==e.label&&(e.label=t.label,e.textContent=t.label),t.value!==e.value&&(e.value=t.selectValue)}function c(t,e,n,r){var i;return e&&br(e.nodeName)===n?i=e:(i=r.cloneNode(!1),e?t.insertBefore(i,e):t.appendChild(i)),i}function f(t){for(var e;t;)e=t.nextSibling,Wt(t),t=e}function h(t){var e=v&&v[0],n=x&&x[0];if(e||n)for(;t&&(t===e||t===n||e&&e.nodeType===Jr);)t=t.nextSibling;return t}function p(){var t=C&&g.readValue();C=S.getOptions();var e={},r=n[0].firstChild;if(w&&n.prepend(v),r=h(r),C.items.forEach(function(t){var i,o,u;t.group?(i=e[t.group],i||(o=c(n[0],r,"optgroup",s),r=o.nextSibling,o.label=t.group,i=e[t.group]={groupElement:o,currentOptionElement:o.firstChild}),u=c(i.groupElement,i.currentOptionElement,"option",a),l(t,u),i.currentOptionElement=u.nextSibling):(u=c(n[0],r,"option",a),l(t,u),r=u.nextSibling)}),Object.keys(e).forEach(function(t){f(e[t].currentOptionElement)}),f(r),d.$render(),!d.$isEmpty(t)){var i=g.readValue();(S.trackBy?W(t,i):t===i)||(d.$setViewValue(i),d.$render())}}var d=u[1];if(d){for(var v,g=u[0],m=i.multiple,$=0,y=n.children(),b=y.length;b>$;$++)if(""===y[$].value){v=y.eq($);break}var w=!!v,x=_r(a.cloneNode(!1));x.val("?");var C,S=r(i.ngOptions,n,e),A=function(){w||n.prepend(v),n.val(""),v.prop("selected",!0),v.attr("selected",!0)},_=function(){w||v.remove()},k=function(){n.prepend(x),n.val("?"),x.prop("selected",!0),x.attr("selected",!0)},E=function(){x.remove()};m?(d.$isEmpty=function(t){return!t||0===t.length},g.writeValue=function(t){C.items.forEach(function(t){t.element.selected=!1}),t&&t.forEach(function(t){var e=C.getOptionFromViewValue(t);e&&!e.disabled&&(e.element.selected=!0)})},g.readValue=function(){var t=n.val()||[],e=[];return o(t,function(t){var n=C.selectValueMap[t];n&&!n.disabled&&e.push(C.getViewValueFromOption(n))}),e},S.trackBy&&e.$watchCollection(function(){return Ir(d.$viewValue)?d.$viewValue.map(function(t){return S.getTrackByValue(t)}):void 0},function(){d.$render()})):(g.writeValue=function(t){var e=C.getOptionFromViewValue(t);e&&!e.disabled?n[0].value!==e.selectValue&&(E(),_(),n[0].value=e.selectValue,e.element.selected=!0,e.element.setAttribute("selected","selected")):null===t||w?(E(),A()):(_(),k())},g.readValue=function(){var t=C.selectValueMap[n.val()];return t&&!t.disabled?(_(),E(),C.getViewValueFromOption(t)):null},S.trackBy&&e.$watch(function(){return S.getTrackByValue(d.$viewValue)},function(){d.$render()})),w?(v.remove(),t(v)(e),v.removeClass("ng-scope")):v=_r(a.cloneNode(!1)),p(),e.$watchCollection(S.getWatchables,p)}}}}],ha=["$locale","$interpolate","$log",function(t,e,n){var r=/{}/g,i=/^when(Minus)?(.+)$/;return{link:function(a,s,u){function l(t){s.text(t||"")}var c,f=u.count,h=u.$attr.when&&s.attr(u.$attr.when),p=u.offset||0,d=a.$eval(h)||{},g={},m=e.startSymbol(),$=e.endSymbol(),b=m+f+"-"+p+$,w=Lr.noop;o(u,function(t,e){var n=i.exec(e);if(n){var r=(n[1]?"-":"")+br(n[2]);d[r]=s.attr(u.$attr[e])}}),o(d,function(t,n){g[n]=e(t.replace(r,b))}),a.$watch(f,function(e){var r=parseFloat(e),i=isNaN(r);if(i||r in d||(r=t.pluralCat(r-p)),r!==c&&!(i&&S(c)&&isNaN(c))){w();var o=g[r];y(o)?(null!=e&&n.debug("ngPluralize: no rule defined for '"+r+"' in "+h),w=v,l()):w=a.$watch(o,l),c=r}})}}}],pa=["$parse","$animate",function(t,a){var s="$$NG_REMOVED",u=r("ngRepeat"),l=function(t,e,n,r,i,o,a){t[n]=r,i&&(t[i]=o),t.$index=e,t.$first=0===e,t.$last=e===a-1,t.$middle=!(t.$first||t.$last),t.$odd=!(t.$even=0===(1&e))},c=function(t){return t.clone[0]},f=function(t){return t.clone[t.clone.length-1]};return{restrict:"A",multiElement:!0,transclude:"element",priority:1e3,terminal:!0,$$tlb:!0,compile:function(r,h){var p=h.ngRepeat,d=e.createComment(" end ngRepeat: "+p+" "),v=p.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/);if(!v)throw u("iexp","Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.",p);var g=v[1],m=v[2],$=v[3],y=v[4];if(v=g.match(/^(?:(\s*[\$\w]+)|\(\s*([\$\w]+)\s*,\s*([\$\w]+)\s*\))$/),!v)throw u("iidexp","'_item_' in '_item_ in _collection_' should be an identifier or '(_key_, _value_)' expression, but got '{0}'.",g);var b=v[3]||v[1],w=v[2];if($&&(!/^[$a-zA-Z_][$a-zA-Z0-9_]*$/.test($)||/^(null|undefined|this|\$index|\$first|\$middle|\$last|\$even|\$odd|\$parent|\$root|\$id)$/.test($)))throw u("badident","alias '{0}' is invalid --- must be a valid JS identifier which is not a reserved name.",$);var x,C,S,A,_={$id:Yt};return y?x=t(y):(S=function(t,e){return Yt(e)},A=function(t){return t}),function(t,e,r,h,v){x&&(C=function(e,n,r){return w&&(_[w]=e),_[b]=n,_.$index=r,x(t,_)});var g=gt();t.$watchCollection(m,function(r){var h,m,y,x,_,k,E,P,O,T,M,j,F=e[0],L=gt();if($&&(t[$]=r),i(r))O=r,P=C||S;else{P=C||A,O=[];for(var R in r)wr.call(r,R)&&"$"!==R.charAt(0)&&O.push(R)}for(x=O.length,M=new Array(x),h=0;x>h;h++)if(_=r===O?h:O[h],k=r[_],E=P(_,k,h),g[E])T=g[E],delete g[E],L[E]=T,M[h]=T;else{if(L[E])throw o(M,function(t){t&&t.scope&&(g[t.id]=t)}),u("dupes","Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: {0}, Duplicate key: {1}, Duplicate value: {2}",p,E,k);M[h]={id:E,scope:n,clone:n},L[E]=!0}for(var D in g){if(T=g[D],j=vt(T.clone),a.leave(j),j[0].parentNode)for(h=0,m=j.length;m>h;h++)j[h][s]=!0;T.scope.$destroy()}for(h=0;x>h;h++)if(_=r===O?h:O[h],k=r[_],T=M[h],T.scope){y=F;do y=y.nextSibling;while(y&&y[s]);c(T)!=y&&a.move(vt(T.clone),null,_r(F)),F=f(T),l(T.scope,h,b,k,w,_,x)}else v(function(t,e){T.scope=e;var n=d.cloneNode(!1);t[t.length++]=n,a.enter(t,null,_r(F)),F=n,T.clone=t,L[T.id]=T,l(T.scope,h,b,k,w,_,x)});g=L})}}}}],da="ng-hide",va="ng-hide-animate",ga=["$animate",function(t){return{restrict:"A",multiElement:!0,link:function(e,n,r){e.$watch(r.ngShow,function(e){t[e?"removeClass":"addClass"](n,da,{tempClasses:va})})}}}],ma=["$animate",function(t){return{restrict:"A",multiElement:!0,link:function(e,n,r){e.$watch(r.ngHide,function(e){t[e?"addClass":"removeClass"](n,da,{tempClasses:va})})}}}],$a=Qn(function(t,e,n){t.$watch(n.ngStyle,function(t,n){n&&t!==n&&o(n,function(t,n){e.css(n,"")}),t&&e.css(t)},!0)}),ya=["$animate",function(t){return{require:"ngSwitch",controller:["$scope",function(){this.cases={}}],link:function(n,r,i,a){var s=i.ngSwitch||i.on,u=[],l=[],c=[],f=[],h=function(t,e){return function(){t.splice(e,1)}};n.$watch(s,function(n){var r,i;for(r=0,i=c.length;i>r;++r)t.cancel(c[r]);for(c.length=0,r=0,i=f.length;i>r;++r){var s=vt(l[r].clone);f[r].$destroy();var p=c[r]=t.leave(s);p.then(h(c,r))}l.length=0,f.length=0,(u=a.cases["!"+n]||a.cases["?"])&&o(u,function(n){n.transclude(function(r,i){f.push(i);var o=n.element;r[r.length++]=e.createComment(" end ngSwitchWhen: ");var a={clone:r};l.push(a),t.enter(r,o.parent(),o)})})})}}}],ba=Qn({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(t,e,n,r,i){r.cases["!"+n.ngSwitchWhen]=r.cases["!"+n.ngSwitchWhen]||[],r.cases["!"+n.ngSwitchWhen].push({transclude:i,element:e})}}),wa=Qn({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(t,e,n,r,i){r.cases["?"]=r.cases["?"]||[],r.cases["?"].push({transclude:i,element:e})}}),xa=Qn({restrict:"EAC",link:function(t,e,n,i,o){if(!o)throw r("ngTransclude")("orphan","Illegal use of ngTransclude directive in the template! No parent directive that requires a transclusion found. Element: {0}",K(e));o(function(t){e.empty(),e.append(t)})}}),Ca=["$templateCache",function(t){return{restrict:"E",terminal:!0,compile:function(e,n){if("text/ng-template"==n.type){var r=n.id,i=e[0].text;t.put(r,i)}}}}],Sa={$setViewValue:v,$render:v},Aa=["$element","$scope","$attrs",function(t,r,i){var o=this,a=new Xt;o.ngModelCtrl=Sa,o.unknownOption=_r(e.createElement("option")),o.renderUnknownOption=function(e){var n="? "+Yt(e)+" ?";o.unknownOption.val(n),t.prepend(o.unknownOption),t.val(n)},r.$on("$destroy",function(){o.renderUnknownOption=v}),o.removeUnknownOption=function(){o.unknownOption.parent()&&o.unknownOption.remove()},o.readValue=function(){return o.removeUnknownOption(),t.val()},o.writeValue=function(e){o.hasOption(e)?(o.removeUnknownOption(),t.val(e),""===e&&o.emptyOption.prop("selected",!0)):null==e&&o.emptyOption?(o.removeUnknownOption(),t.val("")):o.renderUnknownOption(e)},o.addOption=function(t,e){pt(t,'"option value"'),""===t&&(o.emptyOption=e);var n=a.get(t)||0;a.put(t,n+1)},o.removeOption=function(t){var e=a.get(t);e&&(1===e?(a.remove(t),""===t&&(o.emptyOption=n)):a.put(t,e-1))},o.hasOption=function(t){return!!a.get(t)}}],_a=function(){return{restrict:"E",require:["select","?ngModel"],controller:Aa,link:function(t,e,n,r){var i=r[1];if(i){var a=r[0];if(a.ngModelCtrl=i,i.$render=function(){a.writeValue(i.$viewValue)},e.on("change",function(){t.$apply(function(){i.$setViewValue(a.readValue())})}),n.multiple){a.readValue=function(){var t=[];return o(e.find("option"),function(e){e.selected&&t.push(e.value)}),t},a.writeValue=function(t){var n=new Xt(t);o(e.find("option"),function(t){t.selected=b(n.get(t.value))})};var s,u=NaN;t.$watch(function(){u!==i.$viewValue||W(s,i.$viewValue)||(s=B(i.$viewValue),i.$render()),u=i.$viewValue}),i.$isEmpty=function(t){return!t||0===t.length}}}}}},ka=["$interpolate",function(t){function e(t){t[0].hasAttribute("selected")&&(t[0].selected=!0)}return{restrict:"E",priority:100,compile:function(n,r){if(b(r.value))var i=t(r.value,!0);else{var o=t(n.text(),!0);o||r.$set("value",n.text())}return function(t,n,r){function a(t){l.addOption(t,n),l.ngModelCtrl.$render(),e(n)}var s="$selectController",u=n.parent(),l=u.data(s)||u.parent().data(s);if(l&&l.ngModelCtrl){if(i){var c;r.$observe("value",function(t){b(c)&&l.removeOption(c),c=t,a(t)})}else o?t.$watch(o,function(t,e){r.$set("value",t),e!==t&&l.removeOption(e),a(t)}):a(r.value);n.on("$destroy",function(){l.removeOption(r.value),l.ngModelCtrl.$render()})}}}}}],Ea=m({restrict:"E",terminal:!1}),Pa=function(){return{restrict:"A",require:"?ngModel",link:function(t,e,n,r){r&&(n.required=!0,r.$validators.required=function(t,e){return!n.required||!r.$isEmpty(e)},n.$observe("required",function(){r.$validate()}))}}},Oa=function(){return{restrict:"A",require:"?ngModel",link:function(t,e,i,o){if(o){var a,s=i.ngPattern||i.pattern;i.$observe("pattern",function(t){if(C(t)&&t.length>0&&(t=new RegExp("^"+t+"$")),t&&!t.test)throw r("ngPattern")("noregexp","Expected {0} to be a RegExp but was {1}. Element: {2}",s,t,K(e));a=t||n,o.$validate()}),o.$validators.pattern=function(t,e){return o.$isEmpty(e)||y(a)||a.test(e)}}}}},Ta=function(){return{restrict:"A",require:"?ngModel",link:function(t,e,n,r){if(r){var i=-1;n.$observe("maxlength",function(t){var e=p(t);i=isNaN(e)?-1:e,r.$validate()}),r.$validators.maxlength=function(t,e){return 0>i||r.$isEmpty(e)||e.length<=i}}}}},Ma=function(){return{restrict:"A",require:"?ngModel",link:function(t,e,n,r){if(r){var i=0;n.$observe("minlength",function(t){i=p(t)||0,r.$validate()}),r.$validators.minlength=function(t,e){return r.$isEmpty(e)||e.length>=i}}}}};return t.angular.bootstrap?void console.log("WARNING: Tried to load angular more than once."):(ct(),bt(Lr),Lr.module("ngLocale",[],["$provide",function(t){function e(t){t+="";var e=t.indexOf(".");return-1==e?0:t.length-e-1}function r(t,r){var i=r;n===i&&(i=Math.min(e(t),3));var o=Math.pow(10,i),a=(t*o|0)%o;return{v:i,f:a}}var i={ZERO:"zero",ONE:"one",TWO:"two",FEW:"few",MANY:"many",OTHER:"other"};t.value("$locale",{DATETIME_FORMATS:{AMPMS:["AM","PM"],DAY:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],ERANAMES:["Before Christ","Anno Domini"],ERAS:["BC","AD"],FIRSTDAYOFWEEK:6,MONTH:["January","February","March","April","May","June","July","August","September","October","November","December"],SHORTDAY:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],SHORTMONTH:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],WEEKENDRANGE:[5,6],fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",medium:"MMM d, y h:mm:ss a",mediumDate:"MMM d, y",mediumTime:"h:mm:ss a","short":"M/d/yy h:mm a",shortDate:"M/d/yy",shortTime:"h:mm a"},NUMBER_FORMATS:{CURRENCY_SYM:"$",DECIMAL_SEP:".",GROUP_SEP:",",PATTERNS:[{gSize:3,lgSize:3,maxFrac:3,minFrac:0,minInt:1,negPre:"-",negSuf:"",posPre:"",posSuf:""},{gSize:3,lgSize:3,maxFrac:2,minFrac:2,minInt:1,negPre:"-¤",negSuf:"",posPre:"¤",posSuf:""}]},id:"en-us",pluralCat:function(t,e){var n=0|t,o=r(t,e);return 1==n&&0==o.v?i.ONE:i.OTHER}})}]),void _r(e).ready(function(){ot(e,at)}))}(window,document),!window.angular.$$csp().noInlineStyle&&window.angular.element(document.head).prepend('<style type="text/css">@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide:not(.ng-hide-animate){display:none !important;}ng\\:form{display:block;}.ng-animate-shim{visibility:hidden;}.ng-anchor{position:absolute;}</style>'),"undefined"!=typeof module&&"undefined"!=typeof exports&&module.exports===exports&&(module.exports="ui.router"),function(t,e,n){"use strict";function r(t,e){return V(new(V(function(){},{prototype:t})),e)}function i(t){return I(arguments,function(e){e!==t&&I(e,function(e,n){t.hasOwnProperty(n)||(t[n]=e)})}),t}function o(t,e){var n=[];for(var r in t.path){if(t.path[r]!==e.path[r])break;n.push(t.path[r])}return n}function a(t){if(Object.keys)return Object.keys(t);var e=[];return I(t,function(t,n){e.push(n)}),e}function s(t,e){if(Array.prototype.indexOf)return t.indexOf(e,Number(arguments[2])||0);var n=t.length>>>0,r=Number(arguments[2])||0;for(r=0>r?Math.ceil(r):Math.floor(r),0>r&&(r+=n);n>r;r++)if(r in t&&t[r]===e)return r;return-1}function u(t,e,n,r){var i,u=o(n,r),l={},c=[];for(var f in u)if(u[f].params&&(i=a(u[f].params),i.length))for(var h in i)s(c,i[h])>=0||(c.push(i[h]),l[i[h]]=t[i[h]]);return V({},l,e)}function l(t,e,n){if(!n){n=[];for(var r in t)n.push(r)}for(var i=0;i<n.length;i++){var o=n[i];if(t[o]!=e[o])return!1}return!0}function c(t,e){var n={};return I(t,function(t){n[t]=e[t]}),n}function f(t){var e={},n=Array.prototype.concat.apply(Array.prototype,Array.prototype.slice.call(arguments,1));return I(n,function(n){n in t&&(e[n]=t[n])}),e}function h(t){var e={},n=Array.prototype.concat.apply(Array.prototype,Array.prototype.slice.call(arguments,1));for(var r in t)-1==s(n,r)&&(e[r]=t[r]);return e}function p(t,e){var n=D(t),r=n?[]:{};return I(t,function(t,i){e(t,i)&&(r[n?r.length:i]=t)}),r}function d(t,e){var n=D(t)?[]:{};return I(t,function(t,r){n[r]=e(t,r)}),n}function v(t,e){var r=1,o=2,u={},l=[],c=u,f=V(t.when(u),{$$promises:u,$$values:u});this.study=function(u){function p(t,n){if($[n]!==o){if(m.push(n),$[n]===r)throw m.splice(0,s(m,n)),new Error("Cyclic dependency: "+m.join(" -> "));if($[n]=r,L(t))g.push(n,[function(){return e.get(t)}],l);else{var i=e.annotate(t);I(i,function(t){t!==n&&u.hasOwnProperty(t)&&p(u[t],t)}),g.push(n,t,i)}m.pop(),$[n]=o}}function d(t){return R(t)&&t.then&&t.$$promises}if(!R(u))throw new Error("'invocables' must be an object");var v=a(u||{}),g=[],m=[],$={};return I(u,p),u=m=$=null,function(r,o,a){function s(){--b||(w||i(y,o.$$values),m.$$values=y,m.$$promises=m.$$promises||!0,delete m.$$inheritedValues,p.resolve(y))}function u(t){m.$$failure=t,p.reject(t)}function l(n,i,o){function l(t){f.reject(t),u(t)}function c(){if(!j(m.$$failure))try{f.resolve(e.invoke(i,a,y)),f.promise.then(function(t){y[n]=t,s()},l)}catch(t){l(t)}}var f=t.defer(),h=0;I(o,function(t){$.hasOwnProperty(t)&&!r.hasOwnProperty(t)&&(h++,$[t].then(function(e){y[t]=e,--h||c()},l))}),h||c(),$[n]=f.promise}if(d(r)&&a===n&&(a=o,o=r,r=null),r){if(!R(r))throw new Error("'locals' must be an object")}else r=c;if(o){if(!d(o))throw new Error("'parent' must be a promise returned by $resolve.resolve()")}else o=f;var p=t.defer(),m=p.promise,$=m.$$promises={},y=V({},r),b=1+g.length/3,w=!1;if(j(o.$$failure))return u(o.$$failure),m;o.$$inheritedValues&&i(y,h(o.$$inheritedValues,v)),V($,o.$$promises),o.$$values?(w=i(y,h(o.$$values,v)),m.$$inheritedValues=h(o.$$values,v),s()):(o.$$inheritedValues&&(m.$$inheritedValues=h(o.$$inheritedValues,v)),o.then(s,u));for(var x=0,C=g.length;C>x;x+=3)r.hasOwnProperty(g[x])?s():l(g[x],g[x+1],g[x+2]);return m}},this.resolve=function(t,e,n,r){return this.study(t)(e,n,r)}}function g(t,e,n){this.fromConfig=function(t,e,n){return j(t.template)?this.fromString(t.template,e):j(t.templateUrl)?this.fromUrl(t.templateUrl,e):j(t.templateProvider)?this.fromProvider(t.templateProvider,e,n):null},this.fromString=function(t,e){return F(t)?t(e):t},this.fromUrl=function(n,r){return F(n)&&(n=n(r)),null==n?null:t.get(n,{cache:e,headers:{Accept:"text/html"}}).then(function(t){return t.data})},this.fromProvider=function(t,e,r){return n.invoke(t,null,r||{params:e})}}function m(t,e,i){function o(e,n,r,i){if(g.push(e),d[e])return d[e];if(!/^\w+(-+\w+)*(?:\[\])?$/.test(e))throw new Error("Invalid parameter name '"+e+"' in pattern '"+t+"'");if(v[e])throw new Error("Duplicate parameter name '"+e+"' in pattern '"+t+"'");
-return v[e]=new B.Param(e,n,r,i),v[e]}function a(t,e,n,r){var i=["",""],o=t.replace(/[\\\[\]\^$*+?.()|{}]/g,"\\$&");if(!e)return o;switch(n){case!1:i=["(",")"+(r?"?":"")];break;case!0:i=["?(",")?"];break;default:i=["("+n+"|",")?"]}return o+i[0]+e+i[1]}function s(i,o){var a,s,u,l,c;return a=i[2]||i[3],c=e.params[a],u=t.substring(h,i.index),s=o?i[4]:i[4]||("*"==i[1]?".*":null),l=B.type(s||"string")||r(B.type("string"),{pattern:new RegExp(s,e.caseInsensitive?"i":n)}),{id:a,regexp:s,segment:u,type:l,cfg:c}}e=V({params:{}},R(e)?e:{});var u,l=/([:*])([\w\[\]]+)|\{([\w\[\]]+)(?:\:((?:[^{}\\]+|\\.|\{(?:[^{}\\]+|\\.)*\})+))?\}/g,c=/([:]?)([\w\[\]-]+)|\{([\w\[\]-]+)(?:\:((?:[^{}\\]+|\\.|\{(?:[^{}\\]+|\\.)*\})+))?\}/g,f="^",h=0,p=this.segments=[],d=i?i.params:{},v=this.params=i?i.params.$$new():new B.ParamSet,g=[];this.source=t;for(var m,$,y;(u=l.exec(t))&&(m=s(u,!1),!(m.segment.indexOf("?")>=0));)$=o(m.id,m.type,m.cfg,"path"),f+=a(m.segment,$.type.pattern.source,$.squash,$.isOptional),p.push(m.segment),h=l.lastIndex;y=t.substring(h);var b=y.indexOf("?");if(b>=0){var w=this.sourceSearch=y.substring(b);if(y=y.substring(0,b),this.sourcePath=t.substring(0,h+b),w.length>0)for(h=0;u=c.exec(w);)m=s(u,!0),$=o(m.id,m.type,m.cfg,"search"),h=l.lastIndex}else this.sourcePath=t,this.sourceSearch="";f+=a(y)+(e.strict===!1?"/?":"")+"$",p.push(y),this.regexp=new RegExp(f,e.caseInsensitive?"i":n),this.prefix=p[0],this.$$paramNames=g}function $(t){V(this,t)}function y(){function t(t){return null!=t?t.toString().replace(/\//g,"%2F"):t}function i(t){return null!=t?t.toString().replace(/%2F/g,"/"):t}function o(){return{strict:v,caseInsensitive:h}}function u(t){return F(t)||D(t)&&F(t[t.length-1])}function l(){for(;x.length;){var t=x.shift();if(t.pattern)throw new Error("You cannot override a type's .pattern at runtime.");e.extend(b[t.name],f.invoke(t.def))}}function c(t){V(this,t||{})}B=this;var f,h=!1,v=!0,g=!1,b={},w=!0,x=[],C={string:{encode:t,decode:i,is:function(t){return null==t||!j(t)||"string"==typeof t},pattern:/[^\/]*/},"int":{encode:t,decode:function(t){return parseInt(t,10)},is:function(t){return j(t)&&this.decode(t.toString())===t},pattern:/\d+/},bool:{encode:function(t){return t?1:0},decode:function(t){return 0!==parseInt(t,10)},is:function(t){return t===!0||t===!1},pattern:/0|1/},date:{encode:function(t){return this.is(t)?[t.getFullYear(),("0"+(t.getMonth()+1)).slice(-2),("0"+t.getDate()).slice(-2)].join("-"):n},decode:function(t){if(this.is(t))return t;var e=this.capture.exec(t);return e?new Date(e[1],e[2]-1,e[3]):n},is:function(t){return t instanceof Date&&!isNaN(t.valueOf())},equals:function(t,e){return this.is(t)&&this.is(e)&&t.toISOString()===e.toISOString()},pattern:/[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])/,capture:/([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])/},json:{encode:e.toJson,decode:e.fromJson,is:e.isObject,equals:e.equals,pattern:/[^\/]*/},any:{encode:e.identity,decode:e.identity,equals:e.equals,pattern:/.*/}};y.$$getDefaultValue=function(t){if(!u(t.value))return t.value;if(!f)throw new Error("Injectable functions cannot be called at configuration time");return f.invoke(t.value)},this.caseInsensitive=function(t){return j(t)&&(h=t),h},this.strictMode=function(t){return j(t)&&(v=t),v},this.defaultSquashPolicy=function(t){if(!j(t))return g;if(t!==!0&&t!==!1&&!L(t))throw new Error("Invalid squash policy: "+t+". Valid policies: false, true, arbitrary-string");return g=t,t},this.compile=function(t,e){return new m(t,V(o(),e))},this.isMatcher=function(t){if(!R(t))return!1;var e=!0;return I(m.prototype,function(n,r){F(n)&&(e=e&&j(t[r])&&F(t[r]))}),e},this.type=function(t,e,n){if(!j(e))return b[t];if(b.hasOwnProperty(t))throw new Error("A type named '"+t+"' has already been defined.");return b[t]=new $(V({name:t},e)),n&&(x.push({name:t,def:n}),w||l()),this},I(C,function(t,e){b[e]=new $(V({name:e},t))}),b=r(b,{}),this.$get=["$injector",function(t){return f=t,w=!1,l(),I(C,function(t,e){b[e]||(b[e]=new $(t))}),this}],this.Param=function(t,e,r,i){function o(t){var e=R(t)?a(t):[],n=-1===s(e,"value")&&-1===s(e,"type")&&-1===s(e,"squash")&&-1===s(e,"array");return n&&(t={value:t}),t.$$fn=u(t.value)?t.value:function(){return t.value},t}function l(e,n,r){if(e.type&&n)throw new Error("Param '"+t+"' has two type configurations.");return n?n:e.type?e.type instanceof $?e.type:new $(e.type):"config"===r?b.any:b.string}function c(){var e={array:"search"===i?"auto":!1},n=t.match(/\[\]$/)?{array:!0}:{};return V(e,n,r).array}function h(t,e){var n=t.squash;if(!e||n===!1)return!1;if(!j(n)||null==n)return g;if(n===!0||L(n))return n;throw new Error("Invalid squash policy: '"+n+"'. Valid policies: false, true, or arbitrary string")}function v(t,e,r,i){var o,a,u=[{from:"",to:r||e?n:""},{from:null,to:r||e?n:""}];return o=D(t.replace)?t.replace:[],L(i)&&o.push({from:i,to:n}),a=d(o,function(t){return t.from}),p(u,function(t){return-1===s(a,t.from)}).concat(o)}function m(){if(!f)throw new Error("Injectable functions cannot be called at configuration time");var t=f.invoke(r.$$fn);if(null!==t&&t!==n&&!x.type.is(t))throw new Error("Default value ("+t+") for parameter '"+x.id+"' is not an instance of Type ("+x.type.name+")");return t}function y(t){function e(t){return function(e){return e.from===t}}function n(t){var n=d(p(x.replace,e(t)),function(t){return t.to});return n.length?n[0]:t}return t=n(t),j(t)?x.type.$normalize(t):m()}function w(){return"{Param:"+t+" "+e+" squash: '"+A+"' optional: "+S+"}"}var x=this;r=o(r),e=l(r,e,i);var C=c();e=C?e.$asArray(C,"search"===i):e,"string"!==e.name||C||"path"!==i||r.value!==n||(r.value="");var S=r.value!==n,A=h(r,S),_=v(r,C,S,A);V(this,{id:t,type:e,location:i,array:C,squash:A,replace:_,isOptional:S,value:y,dynamic:n,config:r,toString:w})},c.prototype={$$new:function(){return r(this,V(new c,{$$parent:this}))},$$keys:function(){for(var t=[],e=[],n=this,r=a(c.prototype);n;)e.push(n),n=n.$$parent;return e.reverse(),I(e,function(e){I(a(e),function(e){-1===s(t,e)&&-1===s(r,e)&&t.push(e)})}),t},$$values:function(t){var e={},n=this;return I(n.$$keys(),function(r){e[r]=n[r].value(t&&t[r])}),e},$$equals:function(t,e){var n=!0,r=this;return I(r.$$keys(),function(i){var o=t&&t[i],a=e&&e[i];r[i].type.equals(o,a)||(n=!1)}),n},$$validates:function(t){var r,i,o,a,s,u=this.$$keys();for(r=0;r<u.length&&(i=this[u[r]],o=t[u[r]],o!==n&&null!==o||!i.isOptional);r++){if(a=i.type.$normalize(o),!i.type.is(a))return!1;if(s=i.type.encode(a),e.isString(s)&&!i.type.pattern.exec(s))return!1}return!0},$$parent:n},this.ParamSet=c}function b(t,r){function i(t){var e=/^\^((?:\\[^a-zA-Z0-9]|[^\\\[\]\^$*+?.()|{}]+)*)/.exec(t.source);return null!=e?e[1].replace(/\\(.)/g,"$1"):""}function o(t,e){return t.replace(/\$(\$|\d{1,2})/,function(t,n){return e["$"===n?0:Number(n)]})}function a(t,e,n){if(!n)return!1;var r=t.invoke(e,e,{$match:n});return j(r)?r:!0}function s(r,i,o,a){function s(t,e,n){return"/"===v?t:e?v.slice(0,-1)+t:n?v.slice(1)+t:t}function h(t){function e(t){var e=t(o,r);return e?(L(e)&&r.replace().url(e),!0):!1}if(!t||!t.defaultPrevented){d&&r.url()===d;d=n;var i,a=l.length;for(i=0;a>i;i++)if(e(l[i]))return;c&&e(c)}}function p(){return u=u||i.$on("$locationChangeSuccess",h)}var d,v=a.baseHref(),g=r.url();return f||p(),{sync:function(){h()},listen:function(){return p()},update:function(t){return t?void(g=r.url()):void(r.url()!==g&&(r.url(g),r.replace()))},push:function(t,e,i){var o=t.format(e||{});null!==o&&e&&e["#"]&&(o+="#"+e["#"]),r.url(o),d=i&&i.$$avoidResync?r.url():n,i&&i.replace&&r.replace()},href:function(n,i,o){if(!n.validates(i))return null;var a=t.html5Mode();e.isObject(a)&&(a=a.enabled);var u=n.format(i);if(o=o||{},a||null===u||(u="#"+t.hashPrefix()+u),null!==u&&i&&i["#"]&&(u+="#"+i["#"]),u=s(u,a,o.absolute),!o.absolute||!u)return u;var l=!a&&u?"/":"",c=r.port();return c=80===c||443===c?"":":"+c,[r.protocol(),"://",r.host(),c,l,u].join("")}}}var u,l=[],c=null,f=!1;this.rule=function(t){if(!F(t))throw new Error("'rule' must be a function");return l.push(t),this},this.otherwise=function(t){if(L(t)){var e=t;t=function(){return e}}else if(!F(t))throw new Error("'rule' must be a function");return c=t,this},this.when=function(t,e){var n,s=L(e);if(L(t)&&(t=r.compile(t)),!s&&!F(e)&&!D(e))throw new Error("invalid 'handler' in when()");var u={matcher:function(t,e){return s&&(n=r.compile(e),e=["$match",function(t){return n.format(t)}]),V(function(n,r){return a(n,e,t.exec(r.path(),r.search()))},{prefix:L(t.prefix)?t.prefix:""})},regex:function(t,e){if(t.global||t.sticky)throw new Error("when() RegExp must not be global or sticky");return s&&(n=e,e=["$match",function(t){return o(n,t)}]),V(function(n,r){return a(n,e,t.exec(r.path()))},{prefix:i(t)})}},l={matcher:r.isMatcher(t),regex:t instanceof RegExp};for(var c in l)if(l[c])return this.rule(u[c](t,e));throw new Error("invalid 'what' in when()")},this.deferIntercept=function(t){t===n&&(t=!0),f=t},this.$get=s,s.$inject=["$location","$rootScope","$injector","$browser"]}function w(t,i){function o(t){return 0===t.indexOf(".")||0===t.indexOf("^")}function h(t,e){if(!t)return n;var r=L(t),i=r?t:t.name,a=o(i);if(a){if(!e)throw new Error("No reference point given for path '"+i+"'");e=h(e);for(var s=i.split("."),u=0,l=s.length,c=e;l>u;u++)if(""!==s[u]||0!==u){if("^"!==s[u])break;if(!c.parent)throw new Error("Path '"+i+"' not valid for state '"+e.name+"'");c=c.parent}else c=e;s=s.slice(u).join("."),i=c.name+(c.name&&s?".":"")+s}var f=A[i];return!f||!r&&(r||f!==t&&f.self!==t)?n:f}function p(t,e){_[t]||(_[t]=[]),_[t].push(e)}function v(t){for(var e=_[t]||[];e.length;)g(e.shift())}function g(e){e=r(e,{self:e,resolve:e.resolve||{},toString:function(){return this.name}});var n=e.name;if(!L(n)||n.indexOf("@")>=0)throw new Error("State must have a valid name");if(A.hasOwnProperty(n))throw new Error("State '"+n+"'' is already defined");var i=-1!==n.indexOf(".")?n.substring(0,n.lastIndexOf(".")):L(e.parent)?e.parent:R(e.parent)&&L(e.parent.name)?e.parent.name:"";if(i&&!A[i])return p(i,e.self);for(var o in E)F(E[o])&&(e[o]=E[o](e,E.$delegates[o]));return A[n]=e,!e[k]&&e.url&&t.when(e.url,["$match","$stateParams",function(t,n){S.$current.navigable==e&&l(t,n)||S.transitionTo(e,t,{inherit:!0,location:!1})}]),v(n),e}function m(t){return t.indexOf("*")>-1}function $(t){for(var e=t.split("."),n=S.$current.name.split("."),r=0,i=e.length;i>r;r++)"*"===e[r]&&(n[r]="*");return"**"===e[0]&&(n=n.slice(s(n,e[1])),n.unshift("**")),"**"===e[e.length-1]&&(n.splice(s(n,e[e.length-2])+1,Number.MAX_VALUE),n.push("**")),e.length!=n.length?!1:n.join("")===e.join("")}function y(t,e){return L(t)&&!j(e)?E[t]:F(e)&&L(t)?(E[t]&&!E.$delegates[t]&&(E.$delegates[t]=E[t]),E[t]=e,this):this}function b(t,e){return R(t)?e=t:e.name=t,g(e),this}function w(t,i,o,s,f,p,v,g,y){function b(e,n,r,o){var a=t.$broadcast("$stateNotFound",e,n,r);if(a.defaultPrevented)return v.update(),P;if(!a.retry)return null;if(o.$retry)return v.update(),O;var s=S.transition=i.when(a.retry);return s.then(function(){return s!==S.transition?_:(e.options.$retry=!0,S.transitionTo(e.to,e.toParams,e.options))},function(){return P}),v.update(),s}function w(t,n,r,a,u,l){function h(){var n=[];return I(t.views,function(r,i){var a=r.resolve&&r.resolve!==t.resolve?r.resolve:{};a.$template=[function(){return o.load(i,{view:r,locals:u.globals,params:p,notify:l.notify})||""}],n.push(f.resolve(a,u.globals,u.resolve,t).then(function(n){if(F(r.controllerProvider)||D(r.controllerProvider)){var o=e.extend({},a,u.globals);n.$$controller=s.invoke(r.controllerProvider,null,o)}else n.$$controller=r.controller;n.$$state=t,n.$$controllerAs=r.controllerAs,u[i]=n}))}),i.all(n).then(function(){return u.globals})}var p=r?n:c(t.params.$$keys(),n),d={$stateParams:p};u.resolve=f.resolve(t.resolve,d,u.resolve,t);var v=[u.resolve.then(function(t){u.globals=t})];return a&&v.push(a),i.all(v).then(h).then(function(t){return u})}var _=i.reject(new Error("transition superseded")),E=i.reject(new Error("transition prevented")),P=i.reject(new Error("transition aborted")),O=i.reject(new Error("transition failed"));return C.locals={resolve:null,globals:{$stateParams:{}}},S={params:{},current:C.self,$current:C,transition:null},S.reload=function(t){return S.transitionTo(S.current,p,{reload:t||!0,inherit:!1,notify:!0})},S.go=function(t,e,n){return S.transitionTo(t,e,V({inherit:!0,relative:S.$current},n))},S.transitionTo=function(e,n,o){n=n||{},o=V({location:!0,inherit:!1,relative:null,notify:!0,reload:!1,$retry:!1},o||{});var a,l=S.$current,f=S.params,d=l.path,g=h(e,o.relative),m=n["#"];if(!j(g)){var $={to:e,toParams:n,options:o},y=b($,l.self,f,o);if(y)return y;if(e=$.to,n=$.toParams,o=$.options,g=h(e,o.relative),!j(g)){if(!o.relative)throw new Error("No such state '"+e+"'");throw new Error("Could not resolve '"+e+"' from state '"+o.relative+"'")}}if(g[k])throw new Error("Cannot transition to abstract state '"+e+"'");if(o.inherit&&(n=u(p,n||{},S.$current,g)),!g.params.$$validates(n))return O;n=g.params.$$values(n),e=g;var A=e.path,P=0,T=A[P],M=C.locals,F=[];if(o.reload){if(L(o.reload)||R(o.reload)){if(R(o.reload)&&!o.reload.name)throw new Error("Invalid reload state object");var D=o.reload===!0?d[0]:h(o.reload);if(o.reload&&!D)throw new Error("No such reload state '"+(L(o.reload)?o.reload:o.reload.name)+"'");for(;T&&T===d[P]&&T!==D;)M=F[P]=T.locals,P++,T=A[P]}}else for(;T&&T===d[P]&&T.ownParams.$$equals(n,f);)M=F[P]=T.locals,P++,T=A[P];if(x(e,n,l,f,M,o))return m&&(n["#"]=m),S.params=n,N(S.params,p),o.location&&e.navigable&&e.navigable.url&&(v.push(e.navigable.url,n,{$$avoidResync:!0,replace:"replace"===o.location}),v.update(!0)),S.transition=null,i.when(S.current);if(n=c(e.params.$$keys(),n||{}),o.notify&&t.$broadcast("$stateChangeStart",e.self,n,l.self,f).defaultPrevented)return t.$broadcast("$stateChangeCancel",e.self,n,l.self,f),v.update(),E;for(var I=i.when(M),B=P;B<A.length;B++,T=A[B])M=F[B]=r(M),I=w(T,n,T===e,I,M,o);var W=S.transition=I.then(function(){var r,i,a;if(S.transition!==W)return _;for(r=d.length-1;r>=P;r--)a=d[r],a.self.onExit&&s.invoke(a.self.onExit,a.self,a.locals.globals),a.locals=null;for(r=P;r<A.length;r++)i=A[r],i.locals=F[r],i.self.onEnter&&s.invoke(i.self.onEnter,i.self,i.locals.globals);return m&&(n["#"]=m),S.transition!==W?_:(S.$current=e,S.current=e.self,S.params=n,N(S.params,p),S.transition=null,o.location&&e.navigable&&v.push(e.navigable.url,e.navigable.locals.globals.$stateParams,{$$avoidResync:!0,replace:"replace"===o.location}),o.notify&&t.$broadcast("$stateChangeSuccess",e.self,n,l.self,f),v.update(!0),S.current)},function(r){return S.transition!==W?_:(S.transition=null,a=t.$broadcast("$stateChangeError",e.self,n,l.self,f,r),a.defaultPrevented||v.update(),i.reject(r))});return W},S.is=function(t,e,r){r=V({relative:S.$current},r||{});var i=h(t,r.relative);return j(i)?S.$current!==i?!1:e?l(i.params.$$values(e),p):!0:n},S.includes=function(t,e,r){if(r=V({relative:S.$current},r||{}),L(t)&&m(t)){if(!$(t))return!1;t=S.$current.name}var i=h(t,r.relative);return j(i)?j(S.$current.includes[i.name])?e?l(i.params.$$values(e),p,a(e)):!0:!1:n},S.href=function(t,e,r){r=V({lossy:!0,inherit:!0,absolute:!1,relative:S.$current},r||{});var i=h(t,r.relative);if(!j(i))return null;r.inherit&&(e=u(p,e||{},S.$current,i));var o=i&&r.lossy?i.navigable:i;return o&&o.url!==n&&null!==o.url?v.href(o.url,c(i.params.$$keys().concat("#"),e||{}),{absolute:r.absolute}):null},S.get=function(t,e){if(0===arguments.length)return d(a(A),function(t){return A[t].self});var n=h(t,e||S.$current);return n&&n.self?n.self:null},S}function x(t,e,n,r,i,o){function a(t,e,n){function r(e){return"search"!=t.params[e].location}var i=t.params.$$keys().filter(r),o=f.apply({},[t.params].concat(i)),a=new B.ParamSet(o);return a.$$equals(e,n)}return!o.reload&&t===n&&(i===n.locals||t.self.reloadOnSearch===!1&&a(n,r,e))?!0:void 0}var C,S,A={},_={},k="abstract",E={parent:function(t){if(j(t.parent)&&t.parent)return h(t.parent);var e=/^(.+)\.[^.]+$/.exec(t.name);return e?h(e[1]):C},data:function(t){return t.parent&&t.parent.data&&(t.data=t.self.data=V({},t.parent.data,t.data)),t.data},url:function(t){var e=t.url,n={params:t.params||{}};if(L(e))return"^"==e.charAt(0)?i.compile(e.substring(1),n):(t.parent.navigable||C).url.concat(e,n);if(!e||i.isMatcher(e))return e;throw new Error("Invalid url '"+e+"' in state '"+t+"'")},navigable:function(t){return t.url?t:t.parent?t.parent.navigable:null},ownParams:function(t){var e=t.url&&t.url.params||new B.ParamSet;return I(t.params||{},function(t,n){e[n]||(e[n]=new B.Param(n,null,t,"config"))}),e},params:function(t){return t.parent&&t.parent.params?V(t.parent.params.$$new(),t.ownParams):new B.ParamSet},views:function(t){var e={};return I(j(t.views)?t.views:{"":t},function(n,r){r.indexOf("@")<0&&(r+="@"+t.parent.name),e[r]=n}),e},path:function(t){return t.parent?t.parent.path.concat(t):[]},includes:function(t){var e=t.parent?V({},t.parent.includes):{};return e[t.name]=!0,e},$delegates:{}};C=g({name:"",url:"^",views:null,"abstract":!0}),C.navigable=null,this.decorator=y,this.state=b,this.$get=w,w.$inject=["$rootScope","$q","$view","$injector","$resolve","$stateParams","$urlRouter","$location","$urlMatcherFactory"]}function x(){function t(t,e){return{load:function(n,r){var i,o={template:null,controller:null,view:null,locals:null,notify:!0,async:!0,params:{}};return r=V(o,r),r.view&&(i=e.fromConfig(r.view,r.params,r.locals)),i&&r.notify&&t.$broadcast("$viewContentLoading",r),i}}}this.$get=t,t.$inject=["$rootScope","$templateFactory"]}function C(){var t=!1;this.useAnchorScroll=function(){t=!0},this.$get=["$anchorScroll","$timeout",function(e,n){return t?e:function(t){return n(function(){t[0].scrollIntoView()},0,!1)}}]}function S(t,n,r,i){function o(){return n.has?function(t){return n.has(t)?n.get(t):null}:function(t){try{return n.get(t)}catch(e){return null}}}function a(t,e){var n=function(){return{enter:function(t,e,n){e.after(t),n()},leave:function(t,e){t.remove(),e()}}};if(l)return{enter:function(t,e,n){var r=l.enter(t,null,e,n);r&&r.then&&r.then(n)},leave:function(t,e){var n=l.leave(t,e);n&&n.then&&n.then(e)}};if(u){var r=u&&u(e,t);return{enter:function(t,e,n){r.enter(t,null,e),n()},leave:function(t,e){r.leave(t),e()}}}return n()}var s=o(),u=s("$animator"),l=s("$animate"),c={restrict:"ECA",terminal:!0,priority:400,transclude:"element",compile:function(n,o,s){return function(n,o,u){function l(){f&&(f.remove(),f=null),p&&(p.$destroy(),p=null),h&&(m.leave(h,function(){f=null}),f=h,h=null)}function c(a){var c,f=_(n,u,o,i),$=f&&t.$current&&t.$current.locals[f];if(a||$!==d){c=n.$new(),d=t.$current.locals[f];var y=s(c,function(t){m.enter(t,o,function(){p&&p.$emit("$viewContentAnimationEnded"),(e.isDefined(g)&&!g||n.$eval(g))&&r(t)}),l()});h=y,p=c,p.$emit("$viewContentLoaded"),p.$eval(v)}}var f,h,p,d,v=u.onload||"",g=u.autoscroll,m=a(u,n);n.$on("$stateChangeSuccess",function(){c(!1)}),n.$on("$viewContentLoading",function(){c(!1)}),c(!0)}}};return c}function A(t,e,n,r){return{restrict:"ECA",priority:-400,compile:function(i){var o=i.html();return function(i,a,s){var u=n.$current,l=_(i,s,a,r),c=u&&u.locals[l];if(c){a.data("$uiView",{name:l,state:c.$$state}),a.html(c.$template?c.$template:o);var f=t(a.contents());if(c.$$controller){c.$scope=i,c.$element=a;var h=e(c.$$controller,c);c.$$controllerAs&&(i[c.$$controllerAs]=h),a.data("$ngControllerController",h),a.children().data("$ngControllerController",h)}f(i)}}}}}function _(t,e,n,r){var i=r(e.uiView||e.name||"")(t),o=n.inheritedData("$uiView");return i.indexOf("@")>=0?i:i+"@"+(o?o.state.name:"")}function k(t,e){var n,r=t.match(/^\s*({[^}]*})\s*$/);if(r&&(t=e+"("+r[1]+")"),n=t.replace(/\n/g," ").match(/^([^(]+?)\s*(\((.*)\))?$/),!n||4!==n.length)throw new Error("Invalid state ref '"+t+"'");return{state:n[1],paramExpr:n[3]||null}}function E(t){var e=t.parent().inheritedData("$uiView");return e&&e.state&&e.state.name?e.state:void 0}function P(t,n){var r=["location","inherit","reload","absolute"];return{restrict:"A",require:["?^uiSrefActive","?^uiSrefActiveEq"],link:function(i,o,a,s){var u=k(a.uiSref,t.current.name),l=null,c=E(o)||t.$current,f="[object SVGAnimatedString]"===Object.prototype.toString.call(o.prop("href"))?"xlink:href":"href",h=null,p="A"===o.prop("tagName").toUpperCase(),d="FORM"===o[0].nodeName,v=d?"action":f,g=!0,m={relative:c,inherit:!0},$=i.$eval(a.uiSrefOpts)||{};e.forEach(r,function(t){t in $&&(m[t]=$[t])});var y=function(n){if(n&&(l=e.copy(n)),g){h=t.href(u.state,l,m);var r=s[1]||s[0];return r&&r.$$addStateInfo(u.state,l),null===h?(g=!1,!1):void a.$set(v,h)}};u.paramExpr&&(i.$watch(u.paramExpr,function(t,e){t!==l&&y(t)},!0),l=e.copy(i.$eval(u.paramExpr))),y(),d||o.bind("click",function(e){var r=e.which||e.button;if(!(r>1||e.ctrlKey||e.metaKey||e.shiftKey||o.attr("target"))){var i=n(function(){t.go(u.state,l,m)});e.preventDefault();var a=p&&!h?1:0;e.preventDefault=function(){a--<=0&&n.cancel(i)}}})}}}function O(t,e,n){return{restrict:"A",controller:["$scope","$element","$attrs",function(e,r,i){function o(){a()?r.addClass(u):r.removeClass(u)}function a(){for(var t=0;t<l.length;t++)if(s(l[t].state,l[t].params))return!0;return!1}function s(e,n){return"undefined"!=typeof i.uiSrefActiveEq?t.is(e.name,n):t.includes(e.name,n)}var u,l=[];u=n(i.uiSrefActiveEq||i.uiSrefActive||"",!1)(e),this.$$addStateInfo=function(e,n){var i=t.get(e,E(r));l.push({state:i||{name:e},params:n}),o()},e.$on("$stateChangeSuccess",o)}]}}function T(t){var e=function(e){return t.is(e)};return e.$stateful=!0,e}function M(t){var e=function(e){return t.includes(e)};return e.$stateful=!0,e}var j=e.isDefined,F=e.isFunction,L=e.isString,R=e.isObject,D=e.isArray,I=e.forEach,V=e.extend,N=e.copy;e.module("ui.router.util",["ng"]),e.module("ui.router.router",["ui.router.util"]),e.module("ui.router.state",["ui.router.router","ui.router.util"]),e.module("ui.router",["ui.router.state"]),e.module("ui.router.compat",["ui.router"]),v.$inject=["$q","$injector"],e.module("ui.router.util").service("$resolve",v),g.$inject=["$http","$templateCache","$injector"],e.module("ui.router.util").service("$templateFactory",g);var B;m.prototype.concat=function(t,e){var n={caseInsensitive:B.caseInsensitive(),strict:B.strictMode(),squash:B.defaultSquashPolicy()};return new m(this.sourcePath+t+this.sourceSearch,V(n,e),this)},m.prototype.toString=function(){return this.source},m.prototype.exec=function(t,e){function n(t){function e(t){return t.split("").reverse().join("")}function n(t){return t.replace(/\\-/g,"-")}var r=e(t).split(/-(?!\\)/),i=d(r,e);return d(i,n).reverse()}var r=this.regexp.exec(t);if(!r)return null;e=e||{};var i,o,a,s=this.parameters(),u=s.length,l=this.segments.length-1,c={};if(l!==r.length-1)throw new Error("Unbalanced capture group in route '"+this.source+"'");for(i=0;l>i;i++){a=s[i];var f=this.params[a],h=r[i+1];for(o=0;o<f.replace;o++)f.replace[o].from===h&&(h=f.replace[o].to);h&&f.array===!0&&(h=n(h)),c[a]=f.value(h)}for(;u>i;i++)a=s[i],c[a]=this.params[a].value(e[a]);return c},m.prototype.parameters=function(t){return j(t)?this.params[t]||null:this.$$paramNames},m.prototype.validates=function(t){return this.params.$$validates(t)},m.prototype.format=function(t){function e(t){return encodeURIComponent(t).replace(/-/g,function(t){return"%5C%"+t.charCodeAt(0).toString(16).toUpperCase()})}t=t||{};var n=this.segments,r=this.parameters(),i=this.params;if(!this.validates(t))return null;var o,a=!1,s=n.length-1,u=r.length,l=n[0];for(o=0;u>o;o++){var c=s>o,f=r[o],h=i[f],p=h.value(t[f]),v=h.isOptional&&h.type.equals(h.value(),p),g=v?h.squash:!1,m=h.type.encode(p);if(c){var $=n[o+1];if(g===!1)null!=m&&(l+=D(m)?d(m,e).join("-"):encodeURIComponent(m)),l+=$;else if(g===!0){var y=l.match(/\/$/)?/\/?(.*)/:/(.*)/;l+=$.match(y)[1]}else L(g)&&(l+=g+$)}else{if(null==m||v&&g!==!1)continue;D(m)||(m=[m]),m=d(m,encodeURIComponent).join("&"+f+"="),l+=(a?"&":"?")+(f+"="+m),a=!0}}return l},$.prototype.is=function(t,e){return!0},$.prototype.encode=function(t,e){return t},$.prototype.decode=function(t,e){return t},$.prototype.equals=function(t,e){return t==e},$.prototype.$subPattern=function(){var t=this.pattern.toString();return t.substr(1,t.length-2)},$.prototype.pattern=/.*/,$.prototype.toString=function(){return"{Type:"+this.name+"}"},$.prototype.$normalize=function(t){return this.is(t)?t:this.decode(t)},$.prototype.$asArray=function(t,e){function r(t,e){function r(t,e){return function(){return t[e].apply(t,arguments)}}function i(t){return D(t)?t:j(t)?[t]:[]}function o(t){switch(t.length){case 0:return n;case 1:return"auto"===e?t[0]:t;default:return t}}function a(t){return!t}function s(t,e){return function(n){n=i(n);var r=d(n,t);return e===!0?0===p(r,a).length:o(r)}}function u(t){return function(e,n){var r=i(e),o=i(n);if(r.length!==o.length)return!1;for(var a=0;a<r.length;a++)if(!t(r[a],o[a]))return!1;return!0}}this.encode=s(r(t,"encode")),this.decode=s(r(t,"decode")),this.is=s(r(t,"is"),!0),this.equals=u(r(t,"equals")),this.pattern=t.pattern,this.$normalize=s(r(t,"$normalize")),this.name=t.name,this.$arrayMode=e}if(!t)return this;if("auto"===t&&!e)throw new Error("'auto' array mode is for query parameters only");return new r(this,t)},e.module("ui.router.util").provider("$urlMatcherFactory",y),e.module("ui.router.util").run(["$urlMatcherFactory",function(t){}]),b.$inject=["$locationProvider","$urlMatcherFactoryProvider"],e.module("ui.router.router").provider("$urlRouter",b),w.$inject=["$urlRouterProvider","$urlMatcherFactoryProvider"],e.module("ui.router.state").value("$stateParams",{}).provider("$state",w),x.$inject=[],e.module("ui.router.state").provider("$view",x),e.module("ui.router.state").provider("$uiViewScroll",C),S.$inject=["$state","$injector","$uiViewScroll","$interpolate"],A.$inject=["$compile","$controller","$state","$interpolate"],e.module("ui.router.state").directive("uiView",S),e.module("ui.router.state").directive("uiView",A),P.$inject=["$state","$timeout"],O.$inject=["$state","$stateParams","$interpolate"],e.module("ui.router.state").directive("uiSref",P).directive("uiSrefActive",O).directive("uiSrefActiveEq",O),T.$inject=["$state"],M.$inject=["$state"],e.module("ui.router.state").filter("isState",T).filter("includedByState",M)}(window,window.angular),function(t,e,n){"use strict";function r(t){return null!=t&&""!==t&&"hasOwnProperty"!==t&&s.test("."+t)}function i(t,i){if(!r(i))throw a("badmember",'Dotted member path "@{0}" is invalid.',i);for(var o=i.split("."),s=0,u=o.length;u>s&&e.isDefined(t);s++){var l=o[s];t=null!==t?t[l]:n}return t}function o(t,n){n=n||{},e.forEach(n,function(t,e){delete n[e]});for(var r in t)!t.hasOwnProperty(r)||"$"===r.charAt(0)&&"$"===r.charAt(1)||(n[r]=t[r]);return n}var a=e.$$minErr("$resource"),s=/^(\.[a-zA-Z_$@][0-9a-zA-Z_$@]*)+$/;e.module("ngResource",["ng"]).provider("$resource",function(){var t=/^https?:\/\/[^\/]*/,r=this;this.defaults={stripTrailingSlashes:!0,actions:{get:{method:"GET"},save:{method:"POST"},query:{method:"GET",isArray:!0},remove:{method:"DELETE"},"delete":{method:"DELETE"}}},this.$get=["$http","$q",function(s,u){function l(t){return c(t,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function c(t,e){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,e?"%20":"+")}function f(t,e){this.template=t,this.defaults=v({},r.defaults,e),this.urlParams={}}function h(t,l,c,$){function y(t,e){var n={};return e=v({},l,e),d(e,function(e,r){m(e)&&(e=e()),n[r]=e&&e.charAt&&"@"==e.charAt(0)?i(t,e.substr(1)):e}),n}function b(t){return t.resource}function w(t){o(t||{},this)}var x=new f(t,$);return c=v({},r.defaults.actions,c),w.prototype.toJSON=function(){var t=v({},this);return delete t.$promise,delete t.$resolved,t},d(c,function(t,r){var i=/^(POST|PUT|PATCH)$/i.test(t.method);w[r]=function(l,c,f,h){var $,C,S,A={};switch(arguments.length){case 4:S=h,C=f;case 3:case 2:if(!m(c)){A=l,$=c,C=f;break}if(m(l)){C=l,S=c;break}C=c,S=f;case 1:m(l)?C=l:i?$=l:A=l;break;case 0:break;default:throw a("badargs","Expected up to 4 arguments [params, data, success, error], got {0} arguments",arguments.length)}var _=this instanceof w,k=_?$:t.isArray?[]:new w($),E={},P=t.interceptor&&t.interceptor.response||b,O=t.interceptor&&t.interceptor.responseError||n;d(t,function(t,e){"params"!=e&&"isArray"!=e&&"interceptor"!=e&&(E[e]=g(t))}),i&&(E.data=$),x.setUrlParams(E,v({},y($,t.params||{}),A),t.url);var T=s(E).then(function(n){var i=n.data,s=k.$promise;if(i){if(e.isArray(i)!==!!t.isArray)throw a("badcfg","Error in resource configuration for action `{0}`. Expected response to contain an {1} but got an {2} (Request: {3} {4})",r,t.isArray?"array":"object",e.isArray(i)?"array":"object",E.method,E.url);t.isArray?(k.length=0,d(i,function(t){"object"==typeof t?k.push(new w(t)):k.push(t)})):(o(i,k),k.$promise=s)}return k.$resolved=!0,n.resource=k,n},function(t){return k.$resolved=!0,(S||p)(t),u.reject(t)});return T=T.then(function(t){var e=P(t);return(C||p)(e,t.headers),e},O),_?T:(k.$promise=T,k.$resolved=!1,k)},w.prototype["$"+r]=function(t,e,n){m(t)&&(n=e,e=t,t={});var i=w[r].call(this,t,this,e,n);return i.$promise||i}}),w.bind=function(e){return h(t,v({},l,e),c)},w}var p=e.noop,d=e.forEach,v=e.extend,g=e.copy,m=e.isFunction;return f.prototype={setUrlParams:function(n,r,i){var o,s,u=this,c=i||u.template,f="",h=u.urlParams={};d(c.split(/\W/),function(t){if("hasOwnProperty"===t)throw a("badname","hasOwnProperty is not a valid parameter name.");!new RegExp("^\\d+$").test(t)&&t&&new RegExp("(^|[^\\\\]):"+t+"(\\W|$)").test(c)&&(h[t]=!0)}),c=c.replace(/\\:/g,":"),c=c.replace(t,function(t){return f=t,""}),r=r||{},d(u.urlParams,function(t,n){o=r.hasOwnProperty(n)?r[n]:u.defaults[n],e.isDefined(o)&&null!==o?(s=l(o),c=c.replace(new RegExp(":"+n+"(\\W|$)","g"),function(t,e){return s+e})):c=c.replace(new RegExp("(/?):"+n+"(\\W|$)","g"),function(t,e,n){return"/"==n.charAt(0)?n:e+n})}),u.defaults.stripTrailingSlashes&&(c=c.replace(/\/+$/,"")||"/"),c=c.replace(/\/\.(?=\w+($|\?))/,"."),n.url=f+c.replace(/\/\\\./,"/."),d(r,function(t,e){u.urlParams[e]||(n.params=n.params||{},n.params[e]=t)})}},h}]})}(window,window.angular),function(t,e,n){"use strict";function r(t,n,r){function i(t,r,i){var a,s;i=i||{},s=i.expires,a=e.isDefined(i.path)?i.path:o,e.isUndefined(r)&&(s="Thu, 01 Jan 1970 00:00:00 GMT",r=""),e.isString(s)&&(s=new Date(s));var u=encodeURIComponent(t)+"="+encodeURIComponent(r);u+=a?";path="+a:"",u+=i.domain?";domain="+i.domain:"",u+=s?";expires="+s.toUTCString():"",u+=i.secure?";secure":"";var l=u.length+1;return l>4096&&n.warn("Cookie '"+t+"' possibly not set or overflowed because it was too large ("+l+" > 4096 bytes)!"),u}var o=r.baseHref(),a=t[0];return function(t,e,n){a.cookie=i(t,e,n)}}e.module("ngCookies",["ng"]).provider("$cookies",[function(){function t(t){return t?e.extend({},r,t):r}var r=this.defaults={};this.$get=["$$cookieReader","$$cookieWriter",function(r,i){return{get:function(t){return r()[t]},getObject:function(t){var n=this.get(t);return n?e.fromJson(n):n},getAll:function(){return r()},put:function(e,n,r){i(e,n,t(r))},putObject:function(t,n,r){this.put(t,e.toJson(n),r)},remove:function(e,r){i(e,n,t(r))}}}]}]),e.module("ngCookies").factory("$cookieStore",["$cookies",function(t){return{get:function(e){return t.getObject(e)},put:function(e,n){t.putObject(e,n)},remove:function(e){t.remove(e)}}}]),r.$inject=["$document","$log","$browser"],e.module("ngCookies").provider("$$cookieWriter",function(){this.$get=r})}(window,window.angular),function(t,e,n){"use strict";function r(t,e,n){if(!t)throw ngMinErr("areq","Argument '{0}' is {1}",e||"?",n||"required");return t}function i(t,e){return t||e?t?e?(W(t)&&(t=t.join(" ")),W(e)&&(e=e.join(" ")),t+" "+e):t:e:""}function o(t){var e={};return t&&(t.to||t.from)&&(e.to=t.to,e.from=t.from),e}function a(t,e,n){var r="";return t=W(t)?t:t&&q(t)&&t.length?t.split(/\s+/):[],B(t,function(t,i){t&&t.length>0&&(r+=i>0?" ":"",r+=n?e+t:t+e)}),r}function s(t,e){var n=t.indexOf(e);e>=0&&t.splice(n,1)}function u(t){if(t instanceof N)switch(t.length){
-case 0:return[];case 1:if(t[0].nodeType===X)return t;break;default:return N(l(t))}return t.nodeType===X?N(t):void 0}function l(t){if(!t[0])return t;for(var e=0;e<t.length;e++){var n=t[e];if(n.nodeType==X)return n}}function c(t,e,n){B(e,function(e){t.addClass(e,n)})}function f(t,e,n){B(e,function(e){t.removeClass(e,n)})}function h(t){return function(e,n){n.addClass&&(c(t,e,n.addClass),n.addClass=null),n.removeClass&&(f(t,e,n.removeClass),n.removeClass=null)}}function p(t){if(t=t||{},!t.$$prepared){var e=t.domOperation||I;t.domOperation=function(){t.$$domOperationFired=!0,e(),e=I},t.$$prepared=!0}return t}function d(t,e){v(t,e),g(t,e)}function v(t,e){e.from&&(t.css(e.from),e.from=null)}function g(t,e){e.to&&(t.css(e.to),e.to=null)}function m(t,e,n){var r=(e.addClass||"")+" "+(n.addClass||""),i=(e.removeClass||"")+" "+(n.removeClass||""),o=$(t.attr("class"),r,i);n.preparationClasses&&(e.preparationClasses=A(n.preparationClasses,e.preparationClasses),delete n.preparationClasses);var a=e.domOperation!==I?e.domOperation:null;return V(e,n),a&&(e.domOperation=a),o.addClass?e.addClass=o.addClass:e.addClass=null,o.removeClass?e.removeClass=o.removeClass:e.removeClass=null,e}function $(t,e,n){function r(t){q(t)&&(t=t.split(" "));var e={};return B(t,function(t){t.length&&(e[t]=!0)}),e}var i=1,o=-1,a={};t=r(t),e=r(e),B(e,function(t,e){a[e]=i}),n=r(n),B(n,function(t,e){a[e]=a[e]===i?null:o});var s={addClass:"",removeClass:""};return B(a,function(e,n){var r,a;e===i?(r="addClass",a=!t[n]):e===o&&(r="removeClass",a=t[n]),a&&(s[r].length&&(s[r]+=" "),s[r]+=n)}),s}function y(t){return t instanceof e.element?t[0]:t}function b(t,e,n){var r="";e&&(r=a(e,K,!0)),n.addClass&&(r=A(r,a(n.addClass,J))),n.removeClass&&(r=A(r,a(n.removeClass,Z))),r.length&&(n.preparationClasses=r,t.addClass(r))}function w(t,e){e.preparationClasses&&(t.removeClass(e.preparationClasses),e.preparationClasses=null),e.activeClasses&&(t.removeClass(e.activeClasses),e.activeClasses=null)}function x(t,e){var n=e?"-"+e+"s":"";return S(t,[ht,n]),[ht,n]}function C(t,e){var n=e?"paused":"",r=R+ut;return S(t,[r,n]),[r,n]}function S(t,e){var n=e[0],r=e[1];t.style[n]=r}function A(t,e){return t?e?t+" "+e:t:e}function _(t){return[ft,t+"s"]}function k(t,e){var n=e?ct:ht;return[n,t+"s"]}function E(t,e,n){var r=Object.create(null),i=t.getComputedStyle(e)||{};return B(n,function(t,e){var n=i[t];if(n){var o=n.charAt(0);("-"===o||"+"===o||o>=0)&&(n=P(n)),0===n&&(n=null),r[e]=n}}),r}function P(t){var e=0,n=t.split(/\s*,\s*/);return B(n,function(t){"s"==t.charAt(t.length-1)&&(t=t.substring(0,t.length-1)),t=parseFloat(t)||0,e=e?Math.max(t,e):t}),e}function O(t){return 0===t||null!=t}function T(t,e){var n=F,r=t+"s";return e?n+=rt:r+=" linear all",[n,r]}function M(){var t=Object.create(null);return{flush:function(){t=Object.create(null)},count:function(e){var n=t[e];return n?n.total:0},get:function(e){var n=t[e];return n&&n.value},put:function(e,n){t[e]?t[e].total++:t[e]={total:1,value:n}}}}function j(t,e,n){B(n,function(n){t[n]=U(t[n])?t[n]:e.style.getPropertyValue(n)})}var F,L,R,D,I=e.noop,V=e.extend,N=e.element,B=e.forEach,W=e.isArray,q=e.isString,z=e.isObject,H=e.isUndefined,U=e.isDefined,G=e.isFunction,Y=e.isElement,X=1,J="-add",Z="-remove",K="ng-",Q="-active",tt="ng-animate",et="$$ngAnimateChildren",nt="";H(t.ontransitionend)&&U(t.onwebkittransitionend)?(nt="-webkit-",F="WebkitTransition",L="webkitTransitionEnd transitionend"):(F="transition",L="transitionend"),H(t.onanimationend)&&U(t.onwebkitanimationend)?(nt="-webkit-",R="WebkitAnimation",D="webkitAnimationEnd animationend"):(R="animation",D="animationend");var rt="Duration",it="Property",ot="Delay",at="TimingFunction",st="IterationCount",ut="PlayState",lt=9999,ct=R+ot,ft=R+rt,ht=F+ot,pt=F+rt,dt=["$$rAF",function(t){function e(t){r=r.concat(t),n()}function n(){if(r.length){for(var e=r.shift(),o=0;o<e.length;o++)e[o]();i||t(function(){i||n()})}}var r,i;return r=e.queue=[],e.waitUntilQuiet=function(e){i&&i(),i=t(function(){i=null,e(),n()})},e}],vt=[function(){return function(t,n,r){var i=r.ngAnimateChildren;e.isString(i)&&0===i.length?n.data(et,!0):r.$observe("ngAnimateChildren",function(t){t="on"===t||"true"===t,n.data(et,t)})}}],gt="$$animateCss",mt=1e3,$t=3,yt=1.5,bt={transitionDuration:pt,transitionDelay:ht,transitionProperty:F+it,animationDuration:ft,animationDelay:ct,animationIterationCount:R+st},wt={transitionDuration:pt,transitionDelay:ht,animationDuration:ft,animationDelay:ct},xt=["$animateProvider",function(t){var e=M(),n=M();this.$get=["$window","$$jqLite","$$AnimateRunner","$timeout","$$forceReflow","$sniffer","$$rAFScheduler","$animate",function(t,r,i,u,l,c,f,m){function $(t,e){var n="$$ngAnimateParentKey",r=t.parentNode,i=r[n]||(r[n]=++V);return i+"-"+t.getAttribute("class")+"-"+e}function b(n,r,i,o){var a=e.get(i);return a||(a=E(t,n,o),"infinite"===a.animationIterationCount&&(a.animationIterationCount=1)),e.put(i,a),a}function w(i,o,s,u){var l;if(e.count(s)>0&&(l=n.get(s),!l)){var c=a(o,"-stagger");r.addClass(i,c),l=E(t,i,u),l.animationDuration=Math.max(l.animationDuration,0),l.transitionDuration=Math.max(l.transitionDuration,0),r.removeClass(i,c),n.put(s,l)}return l||{}}function A(t){N.push(t),f.waitUntilQuiet(function(){e.flush(),n.flush();for(var t=l(),r=0;r<N.length;r++)N[r](t);N.length=0})}function P(t,e,n){var r=b(t,e,n,bt),i=r.animationDelay,o=r.transitionDelay;return r.maxDelay=i&&o?Math.max(i,o):i||o,r.maxDuration=Math.max(r.animationDuration*r.animationIterationCount,r.transitionDuration),r}var M=h(r),V=0,N=[];return function(t,n){function l(){h()}function f(){h(!0)}function h(e){z||U&&H||(z=!0,H=!1,n.$$skipPreparationClasses||r.removeClass(t,pt),r.removeClass(t,vt),C(q,!1),x(q,!1),B(rt,function(t){q.style[t[0]]=""}),M(t,n),d(t,n),Object.keys(N).length&&B(N,function(t,e){t?q.style.setProperty(e,t):q.style.removeProperty(e)}),n.onDone&&n.onDone(),G&&G.complete(!e))}function b(t){Ft.blockTransition&&x(q,t),Ft.blockKeyframeAnimation&&C(q,!!t)}function E(){return G=new i({end:l,cancel:f}),A(I),h(),{$$willAnimate:!1,start:function(){return G},end:l}}function V(){function e(){if(!z){if(b(!1),B(rt,function(t){var e=t[0],n=t[1];q.style[e]=n}),M(t,n),r.addClass(t,vt),Ft.recalculateTimingStyles){if(dt=q.className+" "+pt,Ct=$(q,dt),Mt=P(q,dt,Ct),jt=Mt.maxDelay,X=Math.max(jt,0),et=Mt.maxDuration,0===et)return void h();Ft.hasTransitions=Mt.transitionDuration>0,Ft.hasAnimations=Mt.animationDuration>0}if(Ft.applyAnimationDelay&&(jt="boolean"!=typeof n.delay&&O(n.delay)?parseFloat(n.delay):jt,X=Math.max(jt,0),Mt.animationDelay=jt,Lt=k(jt,!0),rt.push(Lt),q.style[Lt[0]]=Lt[1]),tt=X*mt,nt=et*mt,n.easing){var e,s=n.easing;Ft.hasTransitions&&(e=F+at,rt.push([e,s]),q.style[e]=s),Ft.hasAnimations&&(e=R+at,rt.push([e,s]),q.style[e]=s)}Mt.transitionDuration&&l.push(L),Mt.animationDuration&&l.push(D),a=Date.now();var c=tt+yt*nt,f=a+c,p=t.data(gt)||[],d=!0;if(p.length){var v=p[0];d=f>v.expectedEndTime,d?u.cancel(v.timer):p.push(h)}if(d){var m=u(i,c,!1);p[0]={timer:m,expectedEndTime:f},p.push(h),t.data(gt,p)}t.on(l.join(" "),o),n.to&&(n.cleanupStyles&&j(N,q,Object.keys(n.to)),g(t,n))}}function i(){var e=t.data(gt);if(e){for(var n=1;n<e.length;n++)e[n]();t.removeData(gt)}}function o(t){t.stopPropagation();var e=t.originalEvent||t,n=e.$manualTimeStamp||e.timeStamp||Date.now(),r=parseFloat(e.elapsedTime.toFixed($t));Math.max(n-a,0)>=tt&&r>=et&&(U=!0,h())}if(!z){if(!q.parentNode)return void h();var a,l=[],c=function(t){if(U)H&&t&&(H=!1,h());else if(H=!t,Mt.animationDuration){var e=C(q,H);H?rt.push(e):s(rt,e)}},f=Ot>0&&(Mt.transitionDuration&&0===St.transitionDuration||Mt.animationDuration&&0===St.animationDuration)&&Math.max(St.animationDelay,St.transitionDelay);f?u(e,Math.floor(f*Ot*mt),!1):e(),Y.resume=function(){c(!0)},Y.pause=function(){c(!1)}}}var N={},q=y(t);if(!q||!q.parentNode||!m.enabled())return E();n=p(n);var z,H,U,G,Y,X,tt,et,nt,rt=[],ot=t.attr("class"),st=o(n);if(0===n.duration||!c.animations&&!c.transitions)return E();var ut=n.event&&W(n.event)?n.event.join(" "):n.event,ct=ut&&n.structural,ft="",ht="";ct?ft=a(ut,K,!0):ut&&(ft=ut),n.addClass&&(ht+=a(n.addClass,J)),n.removeClass&&(ht.length&&(ht+=" "),ht+=a(n.removeClass,Z)),n.applyClassesEarly&&ht.length&&M(t,n);var pt=[ft,ht].join(" ").trim(),dt=ot+" "+pt,vt=a(pt,Q),bt=st.to&&Object.keys(st.to).length>0,xt=(n.keyframeStyle||"").length>0;if(!xt&&!bt&&!pt)return E();var Ct,St;if(n.stagger>0){var At=parseFloat(n.stagger);St={transitionDelay:At,animationDelay:At,transitionDuration:0,animationDuration:0}}else Ct=$(q,dt),St=w(q,pt,Ct,wt);n.$$skipPreparationClasses||r.addClass(t,pt);var _t;if(n.transitionStyle){var kt=[F,n.transitionStyle];S(q,kt),rt.push(kt)}if(n.duration>=0){_t=q.style[F].length>0;var Et=T(n.duration,_t);S(q,Et),rt.push(Et)}if(n.keyframeStyle){var Pt=[R,n.keyframeStyle];S(q,Pt),rt.push(Pt)}var Ot=St?n.staggerIndex>=0?n.staggerIndex:e.count(Ct):0,Tt=0===Ot;Tt&&!n.skipBlocking&&x(q,lt);var Mt=P(q,dt,Ct),jt=Mt.maxDelay;X=Math.max(jt,0),et=Mt.maxDuration;var Ft={};if(Ft.hasTransitions=Mt.transitionDuration>0,Ft.hasAnimations=Mt.animationDuration>0,Ft.hasTransitionAll=Ft.hasTransitions&&"all"==Mt.transitionProperty,Ft.applyTransitionDuration=bt&&(Ft.hasTransitions&&!Ft.hasTransitionAll||Ft.hasAnimations&&!Ft.hasTransitions),Ft.applyAnimationDuration=n.duration&&Ft.hasAnimations,Ft.applyTransitionDelay=O(n.delay)&&(Ft.applyTransitionDuration||Ft.hasTransitions),Ft.applyAnimationDelay=O(n.delay)&&Ft.hasAnimations,Ft.recalculateTimingStyles=ht.length>0,(Ft.applyTransitionDuration||Ft.applyAnimationDuration)&&(et=n.duration?parseFloat(n.duration):et,Ft.applyTransitionDuration&&(Ft.hasTransitions=!0,Mt.transitionDuration=et,_t=q.style[F+it].length>0,rt.push(T(et,_t))),Ft.applyAnimationDuration&&(Ft.hasAnimations=!0,Mt.animationDuration=et,rt.push(_(et)))),0===et&&!Ft.recalculateTimingStyles)return E();if(null!=n.delay){var Lt=parseFloat(n.delay);Ft.applyTransitionDelay&&rt.push(k(Lt)),Ft.applyAnimationDelay&&rt.push(k(Lt,!0))}return null==n.duration&&Mt.transitionDuration>0&&(Ft.recalculateTimingStyles=Ft.recalculateTimingStyles||Tt),tt=X*mt,nt=et*mt,n.skipBlocking||(Ft.blockTransition=Mt.transitionDuration>0,Ft.blockKeyframeAnimation=Mt.animationDuration>0&&St.animationDelay>0&&0===St.animationDuration),n.from&&(n.cleanupStyles&&j(N,q,Object.keys(n.from)),v(t,n)),Ft.blockTransition||Ft.blockKeyframeAnimation?b(et):n.skipBlocking||x(q,!1),{$$willAnimate:!0,end:l,start:function(){return z?void 0:(Y={end:l,cancel:f,resume:null,pause:null},G=new i(Y),A(V),G)}}}}]}],Ct=["$$animationProvider",function(t){function e(t){return t.parentNode&&11===t.parentNode.nodeType}t.drivers.push("$$animateCssDriver");var n="ng-animate-shim",r="ng-anchor",i="ng-anchor-out",o="ng-anchor-in";this.$get=["$animateCss","$rootScope","$$AnimateRunner","$rootElement","$sniffer","$$jqLite","$document",function(t,a,s,u,l,c,f){function p(t){return t.replace(/\bng-\S+\b/g,"")}function d(t,e){return q(t)&&(t=t.split(" ")),q(e)&&(e=e.split(" ")),t.filter(function(t){return-1===e.indexOf(t)}).join(" ")}function v(e,a,u){function l(t){var e={},n=y(t).getBoundingClientRect();return B(["width","height","top","left"],function(t){var r=n[t];switch(t){case"top":r+=$.scrollTop;break;case"left":r+=$.scrollLeft}e[t]=Math.floor(r)+"px"}),e}function c(){var e=t(g,{addClass:i,delay:!0,from:l(a)});return e.$$willAnimate?e:null}function f(t){return t.attr("class")||""}function h(){var e=p(f(u)),n=d(e,m),r=d(m,e),a=t(g,{to:l(u),addClass:o+" "+n,removeClass:i+" "+r,delay:!0});return a.$$willAnimate?a:null}function v(){g.remove(),a.removeClass(n),u.removeClass(n)}var g=N(y(a).cloneNode(!0)),m=p(f(g));a.addClass(n),u.addClass(n),g.addClass(r),w.append(g);var b,x=c();if(!x&&(b=h(),!b))return v();var C=x||b;return{start:function(){function t(){n&&n.end()}var e,n=C.start();return n.done(function(){return n=null,!b&&(b=h())?(n=b.start(),n.done(function(){n=null,v(),e.complete()}),n):(v(),void e.complete())}),e=new s({end:t,cancel:t})}}}function g(t,e,n,r){var i=m(t,I),o=m(e,I),a=[];return B(r,function(t){var e=t.out,r=t["in"],i=v(n,e,r);i&&a.push(i)}),i||o||0!==a.length?{start:function(){function t(){B(e,function(t){t.end()})}var e=[];i&&e.push(i.start()),o&&e.push(o.start()),B(a,function(t){e.push(t.start())});var n=new s({end:t,cancel:t});return s.all(e,function(t){n.complete(t)}),n}}:void 0}function m(e){var n=e.element,r=e.options||{};e.structural&&(r.event=e.event,r.structural=!0,r.applyClassesEarly=!0,"leave"===e.event&&(r.onDone=r.domOperation)),r.preparationClasses&&(r.event=A(r.event,r.preparationClasses));var i=t(n,r);return i.$$willAnimate?i:null}if(!l.animations&&!l.transitions)return I;var $=f[0].body,b=y(u),w=N(e(b)||$.contains(b)?b:$);h(c);return function(t){return t.from&&t.to?g(t.from,t.to,t.classes,t.anchors):m(t)}}]}],St=["$animateProvider",function(t){this.$get=["$injector","$$AnimateRunner","$$jqLite",function(e,n,r){function i(n){n=W(n)?n:n.split(" ");for(var r=[],i={},o=0;o<n.length;o++){var a=n[o],s=t.$$registeredAnimations[a];s&&!i[a]&&(r.push(e.get(s)),i[a]=!0)}return r}var o=h(r);return function(t,e,r,a){function s(){a.domOperation(),o(t,a)}function u(t,e,r,i,o){var a;switch(r){case"animate":a=[e,i.from,i.to,o];break;case"setClass":a=[e,v,g,o];break;case"addClass":a=[e,v,o];break;case"removeClass":a=[e,g,o];break;default:a=[e,o]}a.push(i);var s=t.apply(t,a);if(s)if(G(s.start)&&(s=s.start()),s instanceof n)s.done(o);else if(G(s))return s;return I}function l(t,e,r,i,o){var a=[];return B(i,function(i){var s=i[o];s&&a.push(function(){var i,o,a=!1,l=function(t){a||(a=!0,(o||I)(t),i.complete(!t))};return i=new n({end:function(){l()},cancel:function(){l(!0)}}),o=u(s,t,e,r,function(t){var e=t===!1;l(e)}),i})}),a}function c(t,e,r,i,o){var a=l(t,e,r,i,o);if(0===a.length){var s,u;"beforeSetClass"===o?(s=l(t,"removeClass",r,i,"beforeRemoveClass"),u=l(t,"addClass",r,i,"beforeAddClass")):"setClass"===o&&(s=l(t,"removeClass",r,i,"removeClass"),u=l(t,"addClass",r,i,"addClass")),s&&(a=a.concat(s)),u&&(a=a.concat(u))}if(0!==a.length)return function(t){var e=[];return a.length&&B(a,function(t){e.push(t())}),e.length?n.all(e,t):t(),function(t){B(e,function(e){t?e.cancel():e.end()})}}}3===arguments.length&&z(r)&&(a=r,r=null),a=p(a),r||(r=t.attr("class")||"",a.addClass&&(r+=" "+a.addClass),a.removeClass&&(r+=" "+a.removeClass));var f,h,v=a.addClass,g=a.removeClass,m=i(r);if(m.length){var $,y;"leave"==e?(y="leave",$="afterLeave"):(y="before"+e.charAt(0).toUpperCase()+e.substr(1),$=e),"enter"!==e&&"move"!==e&&(f=c(t,e,a,m,y)),h=c(t,e,a,m,$)}return f||h?{start:function(){function e(e){u=!0,s(),d(t,a),l.complete(e)}function r(t){u||((i||I)(t),e(t))}var i,o=[];f&&o.push(function(t){i=f(t)}),o.length?o.push(function(t){s(),t(!0)}):s(),h&&o.push(function(t){i=h(t)});var u=!1,l=new n({end:function(){r()},cancel:function(){r(!0)}});return n.chain(o,e),l}}:void 0}}]}],At=["$$animationProvider",function(t){t.drivers.push("$$animateJsDriver"),this.$get=["$$animateJs","$$AnimateRunner",function(t,e){function n(e){var n=e.element,r=e.event,i=e.options,o=e.classes;return t(n,r,o,i)}return function(t){if(t.from&&t.to){var r=n(t.from),i=n(t.to);if(!r&&!i)return;return{start:function(){function t(){return function(){B(o,function(t){t.end()})}}function n(t){a.complete(t)}var o=[];r&&o.push(r.start()),i&&o.push(i.start()),e.all(o,n);var a=new e({end:t(),cancel:t()});return a}}}return n(t)}}]}],_t="data-ng-animate",kt="$ngAnimatePin",Et=["$animateProvider",function(t){function e(t,e,n,r){return a[t].some(function(t){return t(e,n,r)})}function n(t,e){t=t||{};var n=(t.addClass||"").length>0,r=(t.removeClass||"").length>0;return e?n&&r:n||r}var i=1,o=2,a=this.rules={skip:[],cancel:[],join:[]};a.join.push(function(t,e,r){return!e.structural&&n(e.options)}),a.skip.push(function(t,e,r){return!e.structural&&!n(e.options)}),a.skip.push(function(t,e,n){return"leave"==n.event&&e.structural}),a.skip.push(function(t,e,n){return n.structural&&n.state===o&&!e.structural}),a.cancel.push(function(t,e,n){return n.structural&&e.structural}),a.cancel.push(function(t,e,n){return n.state===o&&e.structural}),a.cancel.push(function(t,e,n){var r=e.options,i=n.options;return r.addClass&&r.addClass===i.removeClass||r.removeClass&&r.removeClass===i.addClass}),this.$get=["$$rAF","$rootScope","$rootElement","$document","$$HashMap","$$animation","$$AnimateRunner","$templateRequest","$$jqLite","$$forceReflow",function(a,s,c,f,v,g,$,x,C,S){function A(){var t=!1;return function(e){t?e():s.$$postDigest(function(){t=!0,e()})}}function _(t,e){return m(t,e,{})}function k(t,e){var n=y(t),r=[],i=I[e];return i&&B(i,function(t){t.node.contains(n)&&r.push(t.callback)}),r}function E(t,r,l){function c(e,n,r,i){C(function(){var e=k(t,n);e.length&&a(function(){B(e,function(e){e(t,r,i)})})}),e.progress(n,r,i)}function f(e){w(t,l),Z(t,l),d(t,l),l.domOperation(),x.complete(!e)}var h,v;t=u(t),t&&(h=y(t),v=t.parent()),l=p(l);var x=new $,C=A();if(W(l.addClass)&&(l.addClass=l.addClass.join(" ")),l.addClass&&!q(l.addClass)&&(l.addClass=null),W(l.removeClass)&&(l.removeClass=l.removeClass.join(" ")),l.removeClass&&!q(l.removeClass)&&(l.removeClass=null),l.from&&!z(l.from)&&(l.from=null),l.to&&!z(l.to)&&(l.to=null),!h)return f(),x;var S=[h.className,l.addClass,l.removeClass].join(" ");if(!J(S))return f(),x;var E=["enter","move","leave"].indexOf(r)>=0,T=!R||L.get(h),D=!T&&F.get(h)||{},I=!!D.state;if(T||I&&D.state==i||(T=!M(t,v,r)),T)return f(),x;E&&P(t);var V={structural:E,element:t,event:r,close:f,options:l,runner:x};if(I){var N=e("skip",t,V,D);if(N)return D.state===o?(f(),x):(m(t,D.options,l),D.runner);var H=e("cancel",t,V,D);if(H)if(D.state===o)D.runner.end();else{if(!D.structural)return m(t,D.options,V.options),D.runner;D.close()}else{var U=e("join",t,V,D);if(U){if(D.state!==o)return b(t,E?r:null,l),r=V.event=D.event,l=m(t,D.options,V.options),D.runner;_(t,l)}}}else _(t,l);var G=V.structural;if(G||(G="animate"===V.event&&Object.keys(V.options.to||{}).length>0||n(V.options)),!G)return f(),O(t),x;var Y=(D.counter||0)+1;return V.counter=Y,j(t,i,V),s.$$postDigest(function(){var e=F.get(h),i=!e;e=e||{};var a=t.parent()||[],s=a.length>0&&("animate"===e.event||e.structural||n(e.options));if(i||e.counter!==Y||!s)return i&&(Z(t,l),d(t,l)),(i||E&&e.event!==r)&&(l.domOperation(),x.end()),void(s||O(t));r=!e.structural&&n(e.options,!0)?"setClass":e.event,j(t,o);var u=g(t,r,e.options);u.done(function(e){f(!e);var n=F.get(h);n&&n.counter===Y&&O(y(t)),c(x,r,"close",{})}),x.setHost(u),c(x,r,"start",{})}),x}function P(t){var e=y(t),n=e.querySelectorAll("["+_t+"]");B(n,function(t){var e=parseInt(t.getAttribute(_t)),n=F.get(t);switch(e){case o:n.runner.end();case i:n&&F.remove(t)}})}function O(t){var e=y(t);e.removeAttribute(_t),F.remove(e)}function T(t,e){return y(t)===y(e)}function M(t,e,n){var r,i=N(f[0].body),o=T(t,i)||"HTML"===t[0].nodeName,a=T(t,c),s=!1,u=t.data(kt);for(u&&(e=u);e&&e.length;){a||(a=T(e,c));var l=e[0];if(l.nodeType!==X)break;var h=F.get(l)||{};if(s||(s=h.structural||L.get(l)),H(r)||r===!0){var p=e.data(et);U(p)&&(r=p)}if(s&&r===!1)break;a||(a=T(e,c),a||(u=e.data(kt),u&&(e=u))),o||(o=T(e,i)),e=e.parent()}var d=!s||r;return d&&a&&o}function j(t,e,n){n=n||{},n.state=e;var r=y(t);r.setAttribute(_t,e);var i=F.get(r),o=i?V(i,n):n;F.put(r,o)}var F=new v,L=new v,R=null,D=s.$watch(function(){return 0===x.totalPendingRequests},function(t){t&&(D(),s.$$postDigest(function(){s.$$postDigest(function(){null===R&&(R=!0)})}))}),I={},G=t.classNameFilter(),J=G?function(t){return G.test(t)}:function(){return!0},Z=h(C);return{on:function(t,e,n){var r=l(e);I[t]=I[t]||[],I[t].push({node:r,callback:n})},off:function(t,e,n){function r(t,e,n){var r=l(e);return t.filter(function(t){var e=t.node===r&&(!n||t.callback===n);return!e})}var i=I[t];i&&(I[t]=1===arguments.length?null:r(i,e,n))},pin:function(t,e){r(Y(t),"element","not an element"),r(Y(e),"parentElement","not an element"),t.data(kt,e)},push:function(t,e,n,r){return n=n||{},n.domOperation=r,E(t,e,n)},enabled:function(t,e){var n=arguments.length;if(0===n)e=!!R;else{var r=Y(t);if(r){var i=y(t),o=L.get(i);1===n?e=!o:(e=!!e,e?o&&L.remove(i):L.put(i,!0))}else e=R=!!t}return e}}}]}],Pt=["$$rAF",function(t){function e(e){n.push(e),n.length>1||t(function(){for(var t=0;t<n.length;t++)n[t]();n=[]})}var n=[];return function(){var t=!1;return e(function(){t=!0}),function(n){t?n():e(n)}}}],Ot=["$q","$sniffer","$$animateAsyncRun",function(t,e,n){function r(t){this.setHost(t),this._doneCallbacks=[],this._runInAnimationFrame=n(),this._state=0}var i=0,o=1,a=2;return r.chain=function(t,e){function n(){return r===t.length?void e(!0):void t[r](function(t){return t===!1?void e(!1):(r++,void n())})}var r=0;n()},r.all=function(t,e){function n(n){i=i&&n,++r===t.length&&e(i)}var r=0,i=!0;B(t,function(t){t.done(n)})},r.prototype={setHost:function(t){this.host=t||{}},done:function(t){this._state===a?t():this._doneCallbacks.push(t)},progress:I,getPromise:function(){if(!this.promise){var e=this;this.promise=t(function(t,n){e.done(function(e){e===!1?n():t()})})}return this.promise},then:function(t,e){return this.getPromise().then(t,e)},"catch":function(t){return this.getPromise()["catch"](t)},"finally":function(t){return this.getPromise()["finally"](t)},pause:function(){this.host.pause&&this.host.pause()},resume:function(){this.host.resume&&this.host.resume()},end:function(){this.host.end&&this.host.end(),this._resolve(!0)},cancel:function(){this.host.cancel&&this.host.cancel(),this._resolve(!1)},complete:function(t){var e=this;e._state===i&&(e._state=o,e._runInAnimationFrame(function(){e._resolve(t)}))},_resolve:function(t){this._state!==a&&(B(this._doneCallbacks,function(e){e(t)}),this._doneCallbacks.length=0,this._state=a)}},r}],Tt=["$animateProvider",function(t){function e(t,e){t.data(s,e)}function n(t){t.removeData(s)}function r(t){return t.data(s)}var o="ng-animate-ref",a=this.drivers=[],s="$$animationRunner";this.$get=["$$jqLite","$rootScope","$injector","$$AnimateRunner","$$HashMap","$$rAFScheduler",function(t,s,u,l,c,f){function v(t){function e(t){if(t.processed)return t;t.processed=!0;var n=t.domNode,r=n.parentNode;o.put(n,t);for(var a;r;){if(a=o.get(r)){a.processed||(a=e(a));break}r=r.parentNode}return(a||i).children.push(t),t}function n(t){var e,n=[],r=[];for(e=0;e<t.children.length;e++)r.push(t.children[e]);var i=r.length,o=0,a=[];for(e=0;e<r.length;e++){var s=r[e];0>=i&&(i=o,o=0,n.push(a),a=[]),a.push(s.fn),s.children.forEach(function(t){o++,r.push(t)}),i--}return a.length&&n.push(a),n}var r,i={children:[]},o=new c;for(r=0;r<t.length;r++){var a=t[r];o.put(a.domNode,t[r]={domNode:a.domNode,fn:a.fn,children:[]})}for(r=0;r<t.length;r++)e(t[r]);return n(i)}var g=[],m=h(t);return function(c,h,$){function b(t){var e="["+o+"]",n=t.hasAttribute(o)?[t]:t.querySelectorAll(e),r=[];return B(n,function(t){var e=t.getAttribute(o);e&&e.length&&r.push(t)}),r}function w(t){var e=[],n={};B(t,function(t,r){var i=t.element,a=y(i),s=t.event,u=["enter","move"].indexOf(s)>=0,l=t.structural?b(a):[];if(l.length){var c=u?"to":"from";B(l,function(t){var e=t.getAttribute(o);n[e]=n[e]||{},n[e][c]={animationID:r,element:N(t)}})}else e.push(t)});var r={},i={};return B(n,function(n,o){var a=n.from,s=n.to;if(!a||!s){var u=a?a.animationID:s.animationID,l=u.toString();return void(r[l]||(r[l]=!0,e.push(t[u])))}var c=t[a.animationID],f=t[s.animationID],h=a.animationID.toString();if(!i[h]){var p=i[h]={structural:!0,beforeStart:function(){c.beforeStart(),f.beforeStart()},close:function(){c.close(),f.close()},classes:x(c.classes,f.classes),from:c,to:f,anchors:[]};p.classes.length?e.push(p):(e.push(c),e.push(f))}i[h].anchors.push({out:a.element,"in":s.element})}),e}function x(t,e){t=t.split(" "),e=e.split(" ");for(var n=[],r=0;r<t.length;r++){var i=t[r];if("ng-"!==i.substring(0,3))for(var o=0;o<e.length;o++)if(i===e[o]){n.push(i);break}}return n.join(" ")}function C(t){for(var e=a.length-1;e>=0;e--){var n=a[e];if(u.has(n)){var r=u.get(n),i=r(t);if(i)return i}}}function S(){c.addClass(tt),T&&t.addClass(c,T)}function A(t,e){function n(t){r(t).setHost(e)}t.from&&t.to?(n(t.from.element),n(t.to.element)):n(t.element)}function _(){var t=r(c);!t||"leave"===h&&$.$$domOperationFired||t.end()}function k(e){c.off("$destroy",_),n(c),m(c,$),d(c,$),$.domOperation(),T&&t.removeClass(c,T),c.removeClass(tt),P.complete(!e)}$=p($);var E=["enter","move","leave"].indexOf(h)>=0,P=new l({end:function(){k()},cancel:function(){k(!0)}});if(!a.length)return k(),P;e(c,P);var O=i(c.attr("class"),i($.addClass,$.removeClass)),T=$.tempClasses;return T&&(O+=" "+T,$.tempClasses=null),g.push({element:c,classes:O,event:h,structural:E,options:$,beforeStart:S,close:k}),c.on("$destroy",_),g.length>1?P:(s.$$postDigest(function(){var t=[];B(g,function(e){r(e.element)?t.push(e):e.close()}),g.length=0;var e=w(t),n=[];B(e,function(t){n.push({domNode:y(t.from?t.from.element:t.element),fn:function(){t.beforeStart();var e,n=t.close,i=t.anchors?t.from.element||t.to.element:t.element;if(r(i)){var o=C(t);o&&(e=o.start)}if(e){var a=e();a.done(function(t){n(!t)}),A(t,a)}else n()}})}),f(v(n))}),P)}}]}];e.module("ngAnimate",[]).directive("ngAnimateChildren",vt).factory("$$rAFScheduler",dt).factory("$$AnimateRunner",Ot).factory("$$animateAsyncRun",Pt).provider("$$animateQueue",Et).provider("$$animation",Tt).provider("$animateCss",xt).provider("$$animateCssDriver",Ct).provider("$$animateJs",St).provider("$$animateJsDriver",At)}(window,window.angular),function(){function t(t,e){return t.set(e[0],e[1]),t}function e(t,e){return t.add(e),t}function n(t,e,n){var r=n.length;switch(r){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}function r(t,e,n,r){for(var i=-1,o=t.length;++i<o;){var a=t[i];e(r,a,n(a),t)}return r}function i(t,e){for(var n=-1,r=t.length,i=-1,o=e.length,a=Array(r+o);++n<r;)a[n]=t[n];for(;++i<o;)a[n++]=e[i];return a}function o(t,e){for(var n=-1,r=t.length;++n<r&&e(t[n],n,t)!==!1;);return t}function a(t,e){for(var n=t.length;n--&&e(t[n],n,t)!==!1;);return t}function s(t,e){for(var n=-1,r=t.length;++n<r;)if(!e(t[n],n,t))return!1;return!0}function u(t,e){for(var n=-1,r=t.length,i=0,o=[];++n<r;){var a=t[n];e(a,n,t)&&(o[i++]=a)}return o}function l(t,e){return!!t.length&&$(t,e,0)>-1}function c(t,e,n){for(var r=-1,i=t.length;++r<i;)if(n(e,t[r]))return!0;return!1}function f(t,e){for(var n=-1,r=t.length,i=Array(r);++n<r;)i[n]=e(t[n],n,t);return i}function h(t,e){for(var n=-1,r=e.length,i=t.length;++n<r;)t[i+n]=e[n];return t}function p(t,e,n,r){var i=-1,o=t.length;for(r&&o&&(n=t[++i]);++i<o;)n=e(n,t[i],i,t);return n}function d(t,e,n,r){var i=t.length;for(r&&i&&(n=t[--i]);i--;)n=e(n,t[i],i,t);return n}function v(t,e){for(var n=-1,r=t.length;++n<r;)if(e(t[n],n,t))return!0;return!1}function g(t,e,n,r){var i;return n(t,function(t,n,o){return e(t,n,o)?(i=r?n:t,!1):void 0}),i}function m(t,e,n){for(var r=t.length,i=n?r:-1;n?i--:++i<r;)if(e(t[i],i,t))return i;return-1}function $(t,e,n){if(e!==e)return L(t,n);for(var r=n-1,i=t.length;++r<i;)if(t[r]===e)return r;return-1}function y(t,e,n,r){for(var i=n-1,o=t.length;++i<o;)if(r(t[i],e))return i;return-1}function b(t,e){var n=t?t.length:0;return n?C(t,e)/n:yt}function w(t,e,n,r,i){return i(t,function(t,i,o){n=r?(r=!1,t):e(n,t,i,o)}),n}function x(t,e){var n=t.length;for(t.sort(e);n--;)t[n]=t[n].value;return t}function C(t,e){for(var n,r=-1,i=t.length;++r<i;){var o=e(t[r]);o!==H&&(n=n===H?o:n+o)}return n}function S(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}function A(t,e){return f(e,function(e){return[e,t[e]]})}function _(t){return function(e){return t(e)}}function k(t,e){return f(e,function(e){return t[e]})}function E(t,e){for(var n=-1,r=t.length;++n<r&&$(e,t[n],0)>-1;);return n}function P(t,e){for(var n=t.length;n--&&$(e,t[n],0)>-1;);return n}function O(t){return t&&t.Object===Object?t:null}function T(t,e){for(var n=t.length,r=0;n--;)t[n]===e&&r++;return r}function M(t){return xn[t]}function j(t){return Cn[t]}function F(t){return"\\"+_n[t]}function L(t,e,n){for(var r=t.length,i=e+(n?0:-1);n?i--:++i<r;){var o=t[i];if(o!==o)return i}return-1}function R(t){var e=!1;if(null!=t&&"function"!=typeof t.toString)try{e=!!(t+"")}catch(n){}return e}function D(t){for(var e,n=[];!(e=t.next()).done;)n.push(e.value);return n}function I(t){var e=-1,n=Array(t.size);return t.forEach(function(t,r){n[++e]=[r,t]}),n}function V(t,e){for(var n=-1,r=t.length,i=0,o=[];++n<r;){var a=t[n];a!==e&&a!==J||(t[n]=J,o[i++]=n)}return o}function N(t){var e=-1,n=Array(t.size);return t.forEach(function(t){n[++e]=t}),n}function B(t){if(!t||!gn.test(t))return t.length;for(var e=dn.lastIndex=0;dn.test(t);)e++;return e}function W(t){return t.match(dn)}function q(t){return Sn[t]}function z(O){function Ee(t){if(ls(t)&&!tf(t)&&!(t instanceof Te)){if(t instanceof Oe)return t;if(dl.call(t,"__wrapped__"))return eo(t)}return new Oe(t)}function Pe(){}function Oe(t,e){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!e,this.__index__=0,this.__values__=H}function Te(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=bt,this.__views__=[]}function Me(){var t=new Te(this.__wrapped__);return t.__actions__=Jr(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=Jr(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=Jr(this.__views__),t}function je(){if(this.__filtered__){var t=new Te(this);t.__dir__=-1,t.__filtered__=!0}else t=this.clone(),t.__dir__*=-1;return t}function Fe(){var t=this.__wrapped__.value(),e=this.__dir__,n=tf(t),r=0>e,i=n?t.length:0,o=ji(0,i,this.__views__),a=o.start,s=o.end,u=s-a,l=r?s:a-1,c=this.__iteratees__,f=c.length,h=0,p=Vl(u,this.__takeCount__);if(!n||G>i||i==u&&p==u)return Tr(t,this.__actions__);var d=[];t:for(;u--&&p>h;){l+=e;for(var v=-1,g=t[l];++v<f;){var m=c[v],$=m.iteratee,y=m.type,b=$(g);if(y==dt)g=b;else if(!b){if(y==pt)continue t;break t}}d[h++]=g}return d}function Le(){}function Re(t,e){return Ie(t,e)&&delete t[e]}function De(t,e){if(Jl){var n=t[e];return n===X?H:n}return dl.call(t,e)?t[e]:H}function Ie(t,e){return Jl?t[e]!==H:dl.call(t,e)}function Ve(t,e,n){t[e]=Jl&&n===H?X:n}function Ne(t){var e=-1,n=t?t.length:0;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function Be(){this.__data__={hash:new Le,map:Ul?new Ul:[],string:new Le}}function We(t){var e=this.__data__;return zi(t)?Re("string"==typeof t?e.string:e.hash,t):Ul?e.map["delete"](t):en(e.map,t)}function qe(t){var e=this.__data__;return zi(t)?De("string"==typeof t?e.string:e.hash,t):Ul?e.map.get(t):nn(e.map,t)}function ze(t){var e=this.__data__;return zi(t)?Ie("string"==typeof t?e.string:e.hash,t):Ul?e.map.has(t):rn(e.map,t)}function He(t,e){var n=this.__data__;return zi(t)?Ve("string"==typeof t?n.string:n.hash,t,e):Ul?n.map.set(t,e):an(n.map,t,e),this}function Ue(t){var e=-1,n=t?t.length:0;for(this.__data__=new Ne;++e<n;)this.push(t[e])}function Ge(t,e){var n=t.__data__;if(zi(e)){var r=n.__data__,i="string"==typeof e?r.string:r.hash;return i[e]===X}return n.has(e)}function Ye(t){var e=this.__data__;if(zi(t)){var n=e.__data__,r="string"==typeof t?n.string:n.hash;r[t]=X}else e.set(t,X)}function Xe(t){var e=-1,n=t?t.length:0;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function Je(){this.__data__={array:[],map:null}}function Ze(t){var e=this.__data__,n=e.array;return n?en(n,t):e.map["delete"](t)}function Ke(t){var e=this.__data__,n=e.array;return n?nn(n,t):e.map.get(t)}function Qe(t){var e=this.__data__,n=e.array;return n?rn(n,t):e.map.has(t)}function tn(t,e){var n=this.__data__,r=n.array;r&&(r.length<G-1?an(r,t,e):(n.array=null,n.map=new Ne(r)));var i=n.map;return i&&i.set(t,e),this}function en(t,e){var n=on(t,e);if(0>n)return!1;var r=t.length-1;return n==r?t.pop():Tl.call(t,n,1),!0}function nn(t,e){var n=on(t,e);return 0>n?H:t[n][1]}function rn(t,e){return on(t,e)>-1}function on(t,e){for(var n=t.length;n--;)if(Ua(t[n][0],e))return n;return-1}function an(t,e,n){var r=on(t,e);0>r?t.push([e,n]):t[r][1]=n}function sn(t,e,n,r){
-return t===H||Ua(t,fl[n])&&!dl.call(r,n)?e:t}function un(t,e,n){(n===H||Ua(t[e],n))&&("number"!=typeof e||n!==H||e in t)||(t[e]=n)}function ln(t,e,n){var r=t[e];dl.call(t,e)&&Ua(r,n)&&(n!==H||e in t)||(t[e]=n)}function cn(t,e,n,r){return uc(t,function(t,i,o){e(r,t,n(t),o)}),r}function fn(t,e){return t&&Zr(e,Gs(e),t)}function dn(t,e){for(var n=-1,r=null==t,i=e.length,o=Array(i);++n<i;)o[n]=r?H:zs(t,e[n]);return o}function xn(t,e,n){return t===t&&(n!==H&&(t=n>=t?t:n),e!==H&&(t=t>=e?t:e)),t}function Cn(t,e,n,r,i,a,s){var u;if(r&&(u=a?r(t,i,a,s):r(t)),u!==H)return u;if(!us(t))return t;var l=tf(t);if(l){if(u=Li(t),!e)return Jr(t,u)}else{var c=Mi(t),f=c==Et||c==Pt;if(ef(t))return Ir(t,e);if(c==Mt||c==Ct||f&&!a){if(R(t))return a?t:{};if(u=Ri(f?{}:t),!e)return Kr(t,fn(u,t))}else{if(!wn[c])return a?t:{};u=Di(t,c,Cn,e)}}s||(s=new Xe);var h=s.get(t);if(h)return h;if(s.set(t,u),!l)var p=n?Ci(t):Gs(t);return o(p||t,function(i,o){p&&(o=i,i=t[o]),ln(u,o,Cn(i,e,n,r,o,t,s))}),u}function Sn(t){var e=Gs(t),n=e.length;return function(r){if(null==r)return!n;for(var i=n;i--;){var o=e[i],a=t[o],s=r[o];if(s===H&&!(o in Object(r))||!a(s))return!1}return!0}}function An(t){return us(t)?El(t):{}}function _n(t,e,n){if("function"!=typeof t)throw new ll(Y);return Ol(function(){t.apply(H,n)},e)}function Pn(t,e,n,r){var i=-1,o=l,a=!0,s=t.length,u=[],h=e.length;if(!s)return u;n&&(e=f(e,_(n))),r?(o=c,a=!1):e.length>=G&&(o=Ge,a=!1,e=new Ue(e));t:for(;++i<s;){var p=t[i],d=n?n(p):p;if(p=r||0!==p?p:0,a&&d===d){for(var v=h;v--;)if(e[v]===d)continue t;u.push(p)}else o(e,d,r)||u.push(p)}return u}function On(t,e){var n=!0;return uc(t,function(t,r,i){return n=!!e(t,r,i)}),n}function Mn(t,e,n){for(var r=-1,i=t.length;++r<i;){var o=t[r],a=e(o);if(null!=a&&(s===H?a===a&&!Cs(a):n(a,s)))var s=a,u=o}return u}function jn(t,e,n,r){var i=t.length;for(n=Ps(n),0>n&&(n=-n>i?0:i+n),r=r===H||r>i?i:Ps(r),0>r&&(r+=i),r=n>r?0:Os(r);r>n;)t[n++]=e;return t}function Fn(t,e){var n=[];return uc(t,function(t,r,i){e(t,r,i)&&n.push(t)}),n}function Ln(t,e,n,r,i){var o=-1,a=t.length;for(n||(n=Vi),i||(i=[]);++o<a;){var s=t[o];e>0&&n(s)?e>1?Ln(s,e-1,n,r,i):h(i,s):r||(i[i.length]=s)}return i}function In(t,e){return t&&cc(t,e,Gs)}function Vn(t,e){return t&&fc(t,e,Gs)}function Nn(t,e){return u(e,function(e){return os(t[e])})}function Bn(t,e){e=qi(e,t)?[e]:Rr(e);for(var n=0,r=e.length;null!=t&&r>n;)t=t[Qi(e[n++])];return n&&n==r?t:H}function Wn(t,e,n){var r=e(t);return tf(t)?r:h(r,n(t))}function qn(t,e){return t>e}function zn(t,e){return dl.call(t,e)||"object"==typeof t&&e in t&&null===Oi(t)}function Hn(t,e){return e in Object(t)}function Un(t,e,n){return t>=Vl(e,n)&&t<Il(e,n)}function Gn(t,e,n){for(var r=n?c:l,i=t[0].length,o=t.length,a=o,s=Array(o),u=1/0,h=[];a--;){var p=t[a];a&&e&&(p=f(p,_(e))),u=Vl(p.length,u),s[a]=!n&&(e||i>=120&&p.length>=120)?new Ue(a&&p):H}p=t[0];var d=-1,v=s[0];t:for(;++d<i&&h.length<u;){var g=p[d],m=e?e(g):g;if(g=n||0!==g?g:0,!(v?Ge(v,m):r(h,m,n))){for(a=o;--a;){var $=s[a];if(!($?Ge($,m):r(t[a],m,n)))continue t}v&&v.push(m),h.push(g)}}return h}function Yn(t,e,n,r){return In(t,function(t,i,o){e(r,n(t),i,o)}),r}function Xn(t,e,r){qi(e,t)||(e=Rr(e),t=Zi(t,e),e=wo(e));var i=null==t?t:t[Qi(e)];return null==i?H:n(i,t,r)}function Jn(t,e,n,r,i){return t===e?!0:null==t||null==e||!us(t)&&!ls(e)?t!==t&&e!==e:Zn(t,e,Jn,n,r,i)}function Zn(t,e,n,r,i,o){var a=tf(t),s=tf(e),u=St,l=St;a||(u=Mi(t),u=u==Ct?Mt:u),s||(l=Mi(e),l=l==Ct?Mt:l);var c=u==Mt&&!R(t),f=l==Mt&&!R(e),h=u==l;if(h&&!c)return o||(o=new Xe),a||Ss(t)?bi(t,e,n,r,i,o):wi(t,e,u,n,r,i,o);if(!(i&ut)){var p=c&&dl.call(t,"__wrapped__"),d=f&&dl.call(e,"__wrapped__");if(p||d){var v=p?t.value():t,g=d?e.value():e;return o||(o=new Xe),n(v,g,r,i,o)}}return h?(o||(o=new Xe),xi(t,e,n,r,i,o)):!1}function Kn(t,e,n,r){var i=n.length,o=i,a=!r;if(null==t)return!o;for(t=Object(t);i--;){var s=n[i];if(a&&s[2]?s[1]!==t[s[0]]:!(s[0]in t))return!1}for(;++i<o;){s=n[i];var u=s[0],l=t[u],c=s[1];if(a&&s[2]){if(l===H&&!(u in t))return!1}else{var f=new Xe;if(r)var h=r(l,c,u,t,e,f);if(!(h===H?Jn(c,l,r,st|ut,f):h))return!1}}return!0}function Qn(t){return"function"==typeof t?t:null==t?Iu:"object"==typeof t?tf(t)?or(t[0],t[1]):ir(t):Uu(t)}function tr(t){return Dl(Object(t))}function er(t){t=null==t?t:Object(t);var e=[];for(var n in t)e.push(n);return e}function nr(t,e){return e>t}function rr(t,e){var n=-1,r=Xa(t)?Array(t.length):[];return uc(t,function(t,i,o){r[++n]=e(t,i,o)}),r}function ir(t){var e=ki(t);return 1==e.length&&e[0][2]?Yi(e[0][0],e[0][1]):function(n){return n===t||Kn(n,t,e)}}function or(t,e){return qi(t)&&Gi(e)?Yi(Qi(t),e):function(n){var r=zs(n,t);return r===H&&r===e?Us(n,t):Jn(e,r,H,st|ut)}}function ar(t,e,n,r,i){if(t!==e){if(!tf(e)&&!Ss(e))var a=Ys(e);o(a||e,function(o,s){if(a&&(s=o,o=e[s]),us(o))i||(i=new Xe),sr(t,e,s,n,ar,r,i);else{var u=r?r(t[s],o,s+"",t,e,i):H;u===H&&(u=o),un(t,s,u)}})}}function sr(t,e,n,r,i,o,a){var s=t[n],u=e[n],l=a.get(u);if(l)return void un(t,n,l);var c=o?o(s,u,n+"",t,e,a):H,f=c===H;f&&(c=u,tf(u)||Ss(u)?tf(s)?c=s:Ja(s)?c=Jr(s):(f=!1,c=Cn(u,!0)):$s(u)||Ga(u)?Ga(s)?c=Ms(s):!us(s)||r&&os(s)?(f=!1,c=Cn(u,!0)):c=s:f=!1),a.set(u,c),f&&i(c,u,r,o,a),a["delete"](u),un(t,n,c)}function ur(t,e){var n=t.length;if(n)return e+=0>e?n:0,Bi(e,n)?t[e]:H}function lr(t,e,n){var r=-1;e=f(e.length?e:[Iu],_(_i()));var i=rr(t,function(t,n,i){var o=f(e,function(e){return e(t)});return{criteria:o,index:++r,value:t}});return x(i,function(t,e){return Gr(t,e,n)})}function cr(t,e){return t=Object(t),p(e,function(e,n){return n in t&&(e[n]=t[n]),e},{})}function fr(t,e){for(var n=-1,r=Si(t),i=r.length,o={};++n<i;){var a=r[n],s=t[a];e(s,a)&&(o[a]=s)}return o}function hr(t){return function(e){return null==e?H:e[t]}}function pr(t){return function(e){return Bn(e,t)}}function dr(t,e,n,r){var i=r?y:$,o=-1,a=e.length,s=t;for(n&&(s=f(t,_(n)));++o<a;)for(var u=0,l=e[o],c=n?n(l):l;(u=i(s,c,u,r))>-1;)s!==t&&Tl.call(s,u,1),Tl.call(t,u,1);return t}function vr(t,e){for(var n=t?e.length:0,r=n-1;n--;){var i=e[n];if(n==r||i!==o){var o=i;if(Bi(i))Tl.call(t,i,1);else if(qi(i,t))delete t[Qi(i)];else{var a=Rr(i),s=Zi(t,a);null!=s&&delete s[Qi(wo(a))]}}}return t}function gr(t,e){return t+jl(Bl()*(e-t+1))}function mr(t,e,n,r){for(var i=-1,o=Il(Ml((e-t)/(n||1)),0),a=Array(o);o--;)a[r?o:++i]=t,t+=n;return a}function $r(t,e){var n="";if(!t||1>e||e>mt)return n;do e%2&&(n+=t),e=jl(e/2),e&&(t+=t);while(e);return n}function yr(t,e,n,r){e=qi(e,t)?[e]:Rr(e);for(var i=-1,o=e.length,a=o-1,s=t;null!=s&&++i<o;){var u=Qi(e[i]);if(us(s)){var l=n;if(i!=a){var c=s[u];l=r?r(c,u,s):H,l===H&&(l=null==c?Bi(e[i+1])?[]:{}:c)}ln(s,u,l)}s=s[u]}return t}function br(t,e,n){var r=-1,i=t.length;0>e&&(e=-e>i?0:i+e),n=n>i?i:n,0>n&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var o=Array(i);++r<i;)o[r]=t[r+e];return o}function wr(t,e){var n;return uc(t,function(t,r,i){return n=e(t,r,i),!n}),!!n}function xr(t,e,n){var r=0,i=t?t.length:r;if("number"==typeof e&&e===e&&xt>=i){for(;i>r;){var o=r+i>>>1,a=t[o];null!==a&&!Cs(a)&&(n?e>=a:e>a)?r=o+1:i=o}return i}return Cr(t,e,Iu,n)}function Cr(t,e,n,r){e=n(e);for(var i=0,o=t?t.length:0,a=e!==e,s=null===e,u=Cs(e),l=e===H;o>i;){var c=jl((i+o)/2),f=n(t[c]),h=f!==H,p=null===f,d=f===f,v=Cs(f);if(a)var g=r||d;else g=l?d&&(r||h):s?d&&h&&(r||!p):u?d&&h&&!p&&(r||!v):p||v?!1:r?e>=f:e>f;g?i=c+1:o=c}return Vl(o,wt)}function Sr(t,e){for(var n=-1,r=t.length,i=0,o=[];++n<r;){var a=t[n],s=e?e(a):a;if(!n||!Ua(s,u)){var u=s;o[i++]=0===a?0:a}}return o}function Ar(t){return"number"==typeof t?t:Cs(t)?yt:+t}function _r(t){if("string"==typeof t)return t;if(Cs(t))return sc?sc.call(t):"";var e=t+"";return"0"==e&&1/t==-gt?"-0":e}function kr(t,e,n){var r=-1,i=l,o=t.length,a=!0,s=[],u=s;if(n)a=!1,i=c;else if(o>=G){var f=e?null:pc(t);if(f)return N(f);a=!1,i=Ge,u=new Ue}else u=e?[]:s;t:for(;++r<o;){var h=t[r],p=e?e(h):h;if(h=n||0!==h?h:0,a&&p===p){for(var d=u.length;d--;)if(u[d]===p)continue t;e&&u.push(p),s.push(h)}else i(u,p,n)||(u!==s&&u.push(p),s.push(h))}return s}function Er(t,e){e=qi(e,t)?[e]:Rr(e),t=Zi(t,e);var n=Qi(wo(e));return!(null!=t&&zn(t,n))||delete t[n]}function Pr(t,e,n,r){return yr(t,e,n(Bn(t,e)),r)}function Or(t,e,n,r){for(var i=t.length,o=r?i:-1;(r?o--:++o<i)&&e(t[o],o,t););return n?br(t,r?0:o,r?o+1:i):br(t,r?o+1:0,r?i:o)}function Tr(t,e){var n=t;return n instanceof Te&&(n=n.value()),p(e,function(t,e){return e.func.apply(e.thisArg,h([t],e.args))},n)}function Mr(t,e,n){for(var r=-1,i=t.length;++r<i;)var o=o?h(Pn(o,t[r],e,n),Pn(t[r],o,e,n)):t[r];return o&&o.length?kr(o,e,n):[]}function jr(t,e,n){for(var r=-1,i=t.length,o=e.length,a={};++r<i;){var s=o>r?e[r]:H;n(a,t[r],s)}return a}function Fr(t){return Ja(t)?t:[]}function Lr(t){return"function"==typeof t?t:Iu}function Rr(t){return tf(t)?t:$c(t)}function Dr(t,e,n){var r=t.length;return n=n===H?r:n,!e&&n>=r?t:br(t,e,n)}function Ir(t,e){if(e)return t.slice();var n=new t.constructor(t.length);return t.copy(n),n}function Vr(t){var e=new t.constructor(t.byteLength);return new Cl(e).set(new Cl(t)),e}function Nr(t,e){var n=e?Vr(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}function Br(e,n,r){var i=n?r(I(e),!0):I(e);return p(i,t,new e.constructor)}function Wr(t){var e=new t.constructor(t.source,$e.exec(t));return e.lastIndex=t.lastIndex,e}function qr(t,n,r){var i=n?r(N(t),!0):N(t);return p(i,e,new t.constructor)}function zr(t){return ac?Object(ac.call(t)):{}}function Hr(t,e){var n=e?Vr(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}function Ur(t,e){if(t!==e){var n=t!==H,r=null===t,i=t===t,o=Cs(t),a=e!==H,s=null===e,u=e===e,l=Cs(e);if(!s&&!l&&!o&&t>e||o&&a&&u&&!s&&!l||r&&a&&u||!n&&u||!i)return 1;if(!r&&!o&&!l&&e>t||l&&n&&i&&!r&&!o||s&&n&&i||!a&&i||!u)return-1}return 0}function Gr(t,e,n){for(var r=-1,i=t.criteria,o=e.criteria,a=i.length,s=n.length;++r<a;){var u=Ur(i[r],o[r]);if(u){if(r>=s)return u;var l=n[r];return u*("desc"==l?-1:1)}}return t.index-e.index}function Yr(t,e,n,r){for(var i=-1,o=t.length,a=n.length,s=-1,u=e.length,l=Il(o-a,0),c=Array(u+l),f=!r;++s<u;)c[s]=e[s];for(;++i<a;)(f||o>i)&&(c[n[i]]=t[i]);for(;l--;)c[s++]=t[i++];return c}function Xr(t,e,n,r){for(var i=-1,o=t.length,a=-1,s=n.length,u=-1,l=e.length,c=Il(o-s,0),f=Array(c+l),h=!r;++i<c;)f[i]=t[i];for(var p=i;++u<l;)f[p+u]=e[u];for(;++a<s;)(h||o>i)&&(f[p+n[a]]=t[i++]);return f}function Jr(t,e){var n=-1,r=t.length;for(e||(e=Array(r));++n<r;)e[n]=t[n];return e}function Zr(t,e,n,r){n||(n={});for(var i=-1,o=e.length;++i<o;){var a=e[i],s=r?r(n[a],t[a],a,n,t):t[a];ln(n,a,s)}return n}function Kr(t,e){return Zr(t,Ti(t),e)}function Qr(t,e){return function(n,i){var o=tf(n)?r:cn,a=e?e():{};return o(n,t,_i(i),a)}}function ti(t){return Ra(function(e,n){var r=-1,i=n.length,o=i>1?n[i-1]:H,a=i>2?n[2]:H;for(o="function"==typeof o?(i--,o):H,a&&Wi(n[0],n[1],a)&&(o=3>i?H:o,i=1),e=Object(e);++r<i;){var s=n[r];s&&t(e,s,r,o)}return e})}function ei(t,e){return function(n,r){if(null==n)return n;if(!Xa(n))return t(n,r);for(var i=n.length,o=e?i:-1,a=Object(n);(e?o--:++o<i)&&r(a[o],o,a)!==!1;);return n}}function ni(t){return function(e,n,r){for(var i=-1,o=Object(e),a=r(e),s=a.length;s--;){var u=a[t?s:++i];if(n(o[u],u,o)===!1)break}return e}}function ri(t,e,n){function r(){var e=this&&this!==Rn&&this instanceof r?o:t;return e.apply(i?n:this,arguments)}var i=e&Z,o=ai(t);return r}function ii(t){return function(e){e=Fs(e);var n=gn.test(e)?W(e):H,r=n?n[0]:e.charAt(0),i=n?Dr(n,1).join(""):e.slice(1);return r[t]()+i}}function oi(t){return function(e){return p(Fu(du(e).replace(hn,"")),t,"")}}function ai(t){return function(){var e=arguments;switch(e.length){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3]);case 5:return new t(e[0],e[1],e[2],e[3],e[4]);case 6:return new t(e[0],e[1],e[2],e[3],e[4],e[5]);case 7:return new t(e[0],e[1],e[2],e[3],e[4],e[5],e[6])}var n=An(t.prototype),r=t.apply(n,e);return us(r)?r:n}}function si(t,e,r){function i(){for(var a=arguments.length,s=Array(a),u=a,l=Pi(i);u--;)s[u]=arguments[u];var c=3>a&&s[0]!==l&&s[a-1]!==l?[]:V(s,l);if(a-=c.length,r>a)return mi(t,e,li,i.placeholder,H,s,c,H,H,r-a);var f=this&&this!==Rn&&this instanceof i?o:t;return n(f,this,s)}var o=ai(t);return i}function ui(t){return Ra(function(e){e=Ln(e,1);var n=e.length,r=n,i=Oe.prototype.thru;for(t&&e.reverse();r--;){var o=e[r];if("function"!=typeof o)throw new ll(Y);if(i&&!a&&"wrapper"==Ai(o))var a=new Oe([],!0)}for(r=a?r:n;++r<n;){o=e[r];var s=Ai(o),u="wrapper"==s?dc(o):H;a=u&&Hi(u[0])&&u[1]==(it|tt|nt|ot)&&!u[4].length&&1==u[9]?a[Ai(u[0])].apply(a,u[3]):1==o.length&&Hi(o)?a[s]():a.thru(o)}return function(){var t=arguments,r=t[0];if(a&&1==t.length&&tf(r)&&r.length>=G)return a.plant(r).value();for(var i=0,o=n?e[i].apply(this,t):r;++i<n;)o=e[i].call(this,o);return o}})}function li(t,e,n,r,i,o,a,s,u,l){function c(){for(var m=arguments.length,$=m,y=Array(m);$--;)y[$]=arguments[$];if(d)var b=Pi(c),w=T(y,b);if(r&&(y=Yr(y,r,i,d)),o&&(y=Xr(y,o,a,d)),m-=w,d&&l>m){var x=V(y,b);return mi(t,e,li,c.placeholder,n,y,x,s,u,l-m)}var C=h?n:this,S=p?C[t]:t;return m=y.length,s?y=Ki(y,s):v&&m>1&&y.reverse(),f&&m>u&&(y.length=u),this&&this!==Rn&&this instanceof c&&(S=g||ai(S)),S.apply(C,y)}var f=e&it,h=e&Z,p=e&K,d=e&(tt|et),v=e&at,g=p?H:ai(t);return c}function ci(t,e){return function(n,r){return Yn(n,t,e(r),{})}}function fi(t){return function(e,n){var r;if(e===H&&n===H)return 0;if(e!==H&&(r=e),n!==H){if(r===H)return n;"string"==typeof e||"string"==typeof n?(e=_r(e),n=_r(n)):(e=Ar(e),n=Ar(n)),r=t(e,n)}return r}}function hi(t){return Ra(function(e){return e=1==e.length&&tf(e[0])?f(e[0],_(_i())):f(Ln(e,1,Ni),_(_i())),Ra(function(r){var i=this;return t(e,function(t){return n(t,i,r)})})})}function pi(t,e){e=e===H?" ":_r(e);var n=e.length;if(2>n)return n?$r(e,t):e;var r=$r(e,Ml(t/B(e)));return gn.test(e)?Dr(W(r),0,t).join(""):r.slice(0,t)}function di(t,e,r,i){function o(){for(var e=-1,u=arguments.length,l=-1,c=i.length,f=Array(c+u),h=this&&this!==Rn&&this instanceof o?s:t;++l<c;)f[l]=i[l];for(;u--;)f[l++]=arguments[++e];return n(h,a?r:this,f)}var a=e&Z,s=ai(t);return o}function vi(t){return function(e,n,r){return r&&"number"!=typeof r&&Wi(e,n,r)&&(n=r=H),e=Ts(e),e=e===e?e:0,n===H?(n=e,e=0):n=Ts(n)||0,r=r===H?n>e?1:-1:Ts(r)||0,mr(e,n,r,t)}}function gi(t){return function(e,n){return"string"==typeof e&&"string"==typeof n||(e=Ts(e),n=Ts(n)),t(e,n)}}function mi(t,e,n,r,i,o,a,s,u,l){var c=e&tt,f=c?a:H,h=c?H:a,p=c?o:H,d=c?H:o;e|=c?nt:rt,e&=~(c?rt:nt),e&Q||(e&=~(Z|K));var v=[t,e,i,p,f,d,h,s,u,l],g=n.apply(H,v);return Hi(t)&&mc(g,v),g.placeholder=r,g}function $i(t){var e=sl[t];return function(t,n){if(t=Ts(t),n=Ps(n)){var r=(Fs(t)+"e").split("e"),i=e(r[0]+"e"+(+r[1]+n));return r=(Fs(i)+"e").split("e"),+(r[0]+"e"+(+r[1]-n))}return e(t)}}function yi(t,e,n,r,i,o,a,s){var u=e&K;if(!u&&"function"!=typeof t)throw new ll(Y);var l=r?r.length:0;if(l||(e&=~(nt|rt),r=i=H),a=a===H?a:Il(Ps(a),0),s=s===H?s:Ps(s),l-=i?i.length:0,e&rt){var c=r,f=i;r=i=H}var h=u?H:dc(t),p=[t,e,n,r,i,c,f,o,a,s];if(h&&Xi(p,h),t=p[0],e=p[1],n=p[2],r=p[3],i=p[4],s=p[9]=null==p[9]?u?0:t.length:Il(p[9]-l,0),!s&&e&(tt|et)&&(e&=~(tt|et)),e&&e!=Z)d=e==tt||e==et?si(t,e,s):e!=nt&&e!=(Z|nt)||i.length?li.apply(H,p):di(t,e,n,r);else var d=ri(t,e,n);var v=h?hc:mc;return v(d,p)}function bi(t,e,n,r,i,o){var a=-1,s=i&ut,u=i&st,l=t.length,c=e.length;if(l!=c&&!(s&&c>l))return!1;var f=o.get(t);if(f)return f==e;var h=!0;for(o.set(t,e);++a<l;){var p=t[a],d=e[a];if(r)var g=s?r(d,p,a,e,t,o):r(p,d,a,t,e,o);if(g!==H){if(g)continue;h=!1;break}if(u){if(!v(e,function(t){return p===t||n(p,t,r,i,o)})){h=!1;break}}else if(p!==d&&!n(p,d,r,i,o)){h=!1;break}}return o["delete"](t),h}function wi(t,e,n,r,i,o,a){switch(n){case Bt:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case Nt:return!(t.byteLength!=e.byteLength||!r(new Cl(t),new Cl(e)));case At:case _t:return+t==+e;case kt:return t.name==e.name&&t.message==e.message;case Tt:return t!=+t?e!=+e:t==+e;case Ft:case Rt:return t==e+"";case Ot:var s=I;case Lt:var u=o&ut;if(s||(s=N),t.size!=e.size&&!u)return!1;var l=a.get(t);return l?l==e:(o|=st,a.set(t,e),bi(s(t),s(e),r,i,o,a));case Dt:if(ac)return ac.call(t)==ac.call(e)}return!1}function xi(t,e,n,r,i,o){var a=i&ut,s=Gs(t),u=s.length,l=Gs(e),c=l.length;if(u!=c&&!a)return!1;for(var f=u;f--;){var h=s[f];if(!(a?h in e:zn(e,h)))return!1}var p=o.get(t);if(p)return p==e;var d=!0;o.set(t,e);for(var v=a;++f<u;){h=s[f];var g=t[h],m=e[h];if(r)var $=a?r(m,g,h,e,t,o):r(g,m,h,t,e,o);if(!($===H?g===m||n(g,m,r,i,o):$)){d=!1;break}v||(v="constructor"==h)}if(d&&!v){var y=t.constructor,b=e.constructor;y!=b&&"constructor"in t&&"constructor"in e&&!("function"==typeof y&&y instanceof y&&"function"==typeof b&&b instanceof b)&&(d=!1)}return o["delete"](t),d}function Ci(t){return Wn(t,Gs,Ti)}function Si(t){return Wn(t,Ys,gc)}function Ai(t){for(var e=t.name+"",n=Ql[e],r=dl.call(Ql,e)?n.length:0;r--;){var i=n[r],o=i.func;if(null==o||o==t)return i.name}return e}function _i(){var t=Ee.iteratee||Vu;return t=t===Vu?Qn:t,arguments.length?t(arguments[0],arguments[1]):t}function ki(t){for(var e=nu(t),n=e.length;n--;)e[n][2]=Gi(e[n][1]);return e}function Ei(t,e){var n=t[e];return ds(n)?n:H}function Pi(t){var e=dl.call(Ee,"placeholder")?Ee:t;return e.placeholder}function Oi(t){return Fl(Object(t))}function Ti(t){return _l(Object(t))}function Mi(t){return ml.call(t)}function ji(t,e,n){for(var r=-1,i=n.length;++r<i;){var o=n[r],a=o.size;switch(o.type){case"drop":t+=a;break;case"dropRight":e-=a;break;case"take":e=Vl(e,t+a);break;case"takeRight":t=Il(t,e-a)}}return{start:t,end:e}}function Fi(t,e,n){e=qi(e,t)?[e]:Rr(e);for(var r,i=-1,o=e.length;++i<o;){var a=Qi(e[i]);if(!(r=null!=t&&n(t,a)))break;t=t[a]}if(r)return r;var o=t?t.length:0;return!!o&&ss(o)&&Bi(a,o)&&(tf(t)||xs(t)||Ga(t))}function Li(t){var e=t.length,n=t.constructor(e);return e&&"string"==typeof t[0]&&dl.call(t,"index")&&(n.index=t.index,n.input=t.input),n}function Ri(t){return"function"!=typeof t.constructor||Ui(t)?{}:An(Oi(t))}function Di(t,e,n,r){var i=t.constructor;switch(e){case Nt:return Vr(t);case At:case _t:return new i(+t);case Bt:return Nr(t,r);case Wt:case qt:case zt:case Ht:case Ut:case Gt:case Yt:case Xt:case Jt:return Hr(t,r);case Ot:return Br(t,r,n);case Tt:case Rt:return new i(t);case Ft:return Wr(t);case Lt:return qr(t,r,n);case Dt:return zr(t)}}function Ii(t){var e=t?t.length:H;return ss(e)&&(tf(t)||xs(t)||Ga(t))?S(e,String):null}function Vi(t){return Ja(t)&&(tf(t)||Ga(t))}function Ni(t){return tf(t)&&!(2==t.length&&!os(t[0]))}function Bi(t,e){return e=null==e?mt:e,!!e&&("number"==typeof t||Se.test(t))&&t>-1&&t%1==0&&e>t}function Wi(t,e,n){if(!us(n))return!1;var r=typeof e;return("number"==r?Xa(n)&&Bi(e,n.length):"string"==r&&e in n)?Ua(n[e],t):!1}function qi(t,e){if(tf(t))return!1;var n=typeof t;return"number"==n||"symbol"==n||"boolean"==n||null==t||Cs(t)?!0:ue.test(t)||!se.test(t)||null!=e&&t in Object(e)}function zi(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t}function Hi(t){var e=Ai(t),n=Ee[e];if("function"!=typeof n||!(e in Te.prototype))return!1;if(t===n)return!0;var r=dc(n);return!!r&&t===r[0]}function Ui(t){var e=t&&t.constructor,n="function"==typeof e&&e.prototype||fl;return t===n}function Gi(t){return t===t&&!us(t)}function Yi(t,e){return function(n){return null==n?!1:n[t]===e&&(e!==H||t in Object(n))}}function Xi(t,e){var n=t[1],r=e[1],i=n|r,o=(Z|K|it)>i,a=r==it&&n==tt||r==it&&n==ot&&t[7].length<=e[8]||r==(it|ot)&&e[7].length<=e[8]&&n==tt;if(!o&&!a)return t;r&Z&&(t[2]=e[2],i|=n&Z?0:Q);var s=e[3];if(s){var u=t[3];t[3]=u?Yr(u,s,e[4]):s,t[4]=u?V(t[3],J):e[4]}return s=e[5],s&&(u=t[5],t[5]=u?Xr(u,s,e[6]):s,t[6]=u?V(t[5],J):e[6]),s=e[7],s&&(t[7]=s),r&it&&(t[8]=null==t[8]?e[8]:Vl(t[8],e[8])),null==t[9]&&(t[9]=e[9]),t[0]=e[0],t[1]=i,t}function Ji(t,e,n,r,i,o){return us(t)&&us(e)&&ar(t,e,H,Ji,o.set(e,t)),t}function Zi(t,e){return 1==e.length?t:Bn(t,br(e,0,-1))}function Ki(t,e){for(var n=t.length,r=Vl(e.length,n),i=Jr(t);r--;){var o=e[r];t[r]=Bi(o,n)?i[o]:H}return t}function Qi(t){if("string"==typeof t||Cs(t))return t;var e=t+"";return"0"==e&&1/t==-gt?"-0":e}function to(t){if(null!=t){try{return pl.call(t)}catch(e){}try{return t+""}catch(e){}}return""}function eo(t){if(t instanceof Te)return t.clone();var e=new Oe(t.__wrapped__,t.__chain__);return e.__actions__=Jr(t.__actions__),e.__index__=t.__index__,e.__values__=t.__values__,e}function no(t,e,n){e=(n?Wi(t,e,n):e===H)?1:Il(Ps(e),0);var r=t?t.length:0;if(!r||1>e)return[];for(var i=0,o=0,a=Array(Ml(r/e));r>i;)a[o++]=br(t,i,i+=e);return a}function ro(t){for(var e=-1,n=t?t.length:0,r=0,i=[];++e<n;){var o=t[e];o&&(i[r++]=o)}return i}function io(){var t=arguments.length,e=Ba(arguments[0]);if(2>t)return t?Jr(e):[];for(var n=Array(t-1);t--;)n[t-1]=arguments[t];return i(e,Ln(n,1))}function oo(t,e,n){var r=t?t.length:0;return r?(e=n||e===H?1:Ps(e),br(t,0>e?0:e,r)):[]}function ao(t,e,n){var r=t?t.length:0;return r?(e=n||e===H?1:Ps(e),e=r-e,br(t,0,0>e?0:e)):[]}function so(t,e){return t&&t.length?Or(t,_i(e,3),!0,!0):[]}function uo(t,e){return t&&t.length?Or(t,_i(e,3),!0):[]}function lo(t,e,n,r){var i=t?t.length:0;return i?(n&&"number"!=typeof n&&Wi(t,e,n)&&(n=0,r=i),jn(t,e,n,r)):[]}function co(t,e){return t&&t.length?m(t,_i(e,3)):-1}function fo(t,e){return t&&t.length?m(t,_i(e,3),!0):-1}function ho(t){var e=t?t.length:0;return e?Ln(t,1):[]}function po(t){var e=t?t.length:0;return e?Ln(t,gt):[]}function vo(t,e){var n=t?t.length:0;return n?(e=e===H?1:Ps(e),Ln(t,e)):[]}function go(t){for(var e=-1,n=t?t.length:0,r={};++e<n;){var i=t[e];r[i[0]]=i[1]}return r}function mo(t){return t&&t.length?t[0]:H}function $o(t,e,n){var r=t?t.length:0;return r?(n=Ps(n),0>n&&(n=Il(r+n,0)),$(t,e,n)):-1}function yo(t){return ao(t,1)}function bo(t,e){return t?Rl.call(t,e):""}function wo(t){var e=t?t.length:0;return e?t[e-1]:H}function xo(t,e,n){var r=t?t.length:0;if(!r)return-1;var i=r;if(n!==H&&(i=Ps(n),i=(0>i?Il(r+i,0):Vl(i,r-1))+1),e!==e)return L(t,i,!0);for(;i--;)if(t[i]===e)return i;return-1}function Co(t,e){return t&&t.length?ur(t,Ps(e)):H}function So(t,e){return t&&t.length&&e&&e.length?dr(t,e):t}function Ao(t,e,n){return t&&t.length&&e&&e.length?dr(t,e,_i(n)):t}function _o(t,e,n){return t&&t.length&&e&&e.length?dr(t,e,H,n):t}function ko(t,e){var n=[];if(!t||!t.length)return n;var r=-1,i=[],o=t.length;for(e=_i(e,3);++r<o;){var a=t[r];e(a,r,t)&&(n.push(a),i.push(r))}return vr(t,i),n}function Eo(t){return t?ql.call(t):t}function Po(t,e,n){var r=t?t.length:0;return r?(n&&"number"!=typeof n&&Wi(t,e,n)?(e=0,n=r):(e=null==e?0:Ps(e),n=n===H?r:Ps(n)),br(t,e,n)):[]}function Oo(t,e){return xr(t,e)}function To(t,e,n){return Cr(t,e,_i(n))}function Mo(t,e){var n=t?t.length:0;if(n){var r=xr(t,e);if(n>r&&Ua(t[r],e))return r}return-1}function jo(t,e){return xr(t,e,!0)}function Fo(t,e,n){return Cr(t,e,_i(n),!0)}function Lo(t,e){var n=t?t.length:0;if(n){var r=xr(t,e,!0)-1;if(Ua(t[r],e))return r}return-1}function Ro(t){return t&&t.length?Sr(t):[]}function Do(t,e){return t&&t.length?Sr(t,_i(e)):[]}function Io(t){return oo(t,1)}function Vo(t,e,n){return t&&t.length?(e=n||e===H?1:Ps(e),br(t,0,0>e?0:e)):[]}function No(t,e,n){var r=t?t.length:0;return r?(e=n||e===H?1:Ps(e),e=r-e,br(t,0>e?0:e,r)):[]}function Bo(t,e){return t&&t.length?Or(t,_i(e,3),!1,!0):[]}function Wo(t,e){return t&&t.length?Or(t,_i(e,3)):[]}function qo(t){return t&&t.length?kr(t):[]}function zo(t,e){return t&&t.length?kr(t,_i(e)):[]}function Ho(t,e){return t&&t.length?kr(t,H,e):[]}function Uo(t){if(!t||!t.length)return[];var e=0;return t=u(t,function(t){return Ja(t)?(e=Il(t.length,e),!0):void 0}),S(e,function(e){return f(t,hr(e))})}function Go(t,e){if(!t||!t.length)return[];var r=Uo(t);return null==e?r:f(r,function(t){return n(e,H,t)})}function Yo(t,e){return jr(t||[],e||[],ln)}function Xo(t,e){return jr(t||[],e||[],yr)}function Jo(t){var e=Ee(t);return e.__chain__=!0,e}function Zo(t,e){return e(t),t}function Ko(t,e){return e(t)}function Qo(){return Jo(this)}function ta(){return new Oe(this.value(),this.__chain__)}function ea(){this.__values__===H&&(this.__values__=Es(this.value()));var t=this.__index__>=this.__values__.length,e=t?H:this.__values__[this.__index__++];return{done:t,value:e}}function na(){return this}function ra(t){for(var e,n=this;n instanceof Pe;){var r=eo(n);r.__index__=0,r.__values__=H,e?i.__wrapped__=r:e=r;var i=r;n=n.__wrapped__}return i.__wrapped__=t,e}function ia(){var t=this.__wrapped__;if(t instanceof Te){var e=t;return this.__actions__.length&&(e=new Te(this)),e=e.reverse(),e.__actions__.push({func:Ko,args:[Eo],thisArg:H}),new Oe(e,this.__chain__)}return this.thru(Eo)}function oa(){return Tr(this.__wrapped__,this.__actions__)}function aa(t,e,n){var r=tf(t)?s:On;return n&&Wi(t,e,n)&&(e=H),r(t,_i(e,3))}function sa(t,e){var n=tf(t)?u:Fn;return n(t,_i(e,3))}function ua(t,e){if(e=_i(e,3),tf(t)){var n=m(t,e);return n>-1?t[n]:H}return g(t,e,uc)}function la(t,e){if(e=_i(e,3),tf(t)){var n=m(t,e,!0);return n>-1?t[n]:H}return g(t,e,lc)}function ca(t,e){return Ln(ga(t,e),1)}function fa(t,e){return Ln(ga(t,e),gt)}function ha(t,e,n){return n=n===H?1:Ps(n),Ln(ga(t,e),n)}function pa(t,e){return"function"==typeof e&&tf(t)?o(t,e):uc(t,_i(e))}function da(t,e){return"function"==typeof e&&tf(t)?a(t,e):lc(t,_i(e))}function va(t,e,n,r){t=Xa(t)?t:uu(t),n=n&&!r?Ps(n):0;var i=t.length;return 0>n&&(n=Il(i+n,0)),xs(t)?i>=n&&t.indexOf(e,n)>-1:!!i&&$(t,e,n)>-1}function ga(t,e){var n=tf(t)?f:rr;return n(t,_i(e,3))}function ma(t,e,n,r){return null==t?[]:(tf(e)||(e=null==e?[]:[e]),n=r?H:n,tf(n)||(n=null==n?[]:[n]),lr(t,e,n))}function $a(t,e,n){var r=tf(t)?p:w,i=arguments.length<3;return r(t,_i(e,4),n,i,uc)}function ya(t,e,n){var r=tf(t)?d:w,i=arguments.length<3;return r(t,_i(e,4),n,i,lc)}function ba(t,e){var n=tf(t)?u:Fn;return e=_i(e,3),n(t,function(t,n,r){return!e(t,n,r)})}function wa(t){var e=Xa(t)?t:uu(t),n=e.length;return n>0?e[gr(0,n-1)]:H}function xa(t,e,n){var r=-1,i=Es(t),o=i.length,a=o-1;for(e=(n?Wi(t,e,n):e===H)?1:xn(Ps(e),0,o);++r<e;){var s=gr(r,a),u=i[s];i[s]=i[r],i[r]=u}return i.length=e,i}function Ca(t){return xa(t,bt)}function Sa(t){if(null==t)return 0;if(Xa(t)){var e=t.length;return e&&xs(t)?B(t):e}if(ls(t)){var n=Mi(t);if(n==Ot||n==Lt)return t.size}return Gs(t).length}function Aa(t,e,n){var r=tf(t)?v:wr;return n&&Wi(t,e,n)&&(e=H),r(t,_i(e,3))}function _a(t,e){if("function"!=typeof e)throw new ll(Y);return t=Ps(t),function(){return--t<1?e.apply(this,arguments):void 0}}function ka(t,e,n){return e=n?H:e,e=t&&null==e?t.length:e,yi(t,it,H,H,H,H,e)}function Ea(t,e){var n;if("function"!=typeof e)throw new ll(Y);return t=Ps(t),function(){return--t>0&&(n=e.apply(this,arguments)),1>=t&&(e=H),n}}function Pa(t,e,n){e=n?H:e;var r=yi(t,tt,H,H,H,H,H,e);return r.placeholder=Pa.placeholder,r}function Oa(t,e,n){e=n?H:e;var r=yi(t,et,H,H,H,H,H,e);return r.placeholder=Oa.placeholder,r}function Ta(t,e,n){function r(e){var n=h,r=p;return h=p=H,$=e,v=t.apply(r,n)}function i(t){return $=t,g=Ol(s,e),y?r(t):v}function o(t){var n=t-m,r=t-$,i=e-n;return b?Vl(i,d-r):i}function a(t){var n=t-m,r=t-$;return!m||n>=e||0>n||b&&r>=d}function s(){var t=qc();return a(t)?u(t):void(g=Ol(s,o(t)))}function u(t){return Sl(g),g=H,w&&h?r(t):(h=p=H,v)}function l(){g!==H&&Sl(g),m=$=0,h=p=g=H}function c(){return g===H?v:u(qc())}function f(){var t=qc(),n=a(t);if(h=arguments,p=this,m=t,n){if(g===H)return i(m);if(b)return Sl(g),g=Ol(s,e),r(m)}return g===H&&(g=Ol(s,e)),v}var h,p,d,v,g,m=0,$=0,y=!1,b=!1,w=!0;if("function"!=typeof t)throw new ll(Y);return e=Ts(e)||0,us(n)&&(y=!!n.leading,b="maxWait"in n,d=b?Il(Ts(n.maxWait)||0,e):d,w="trailing"in n?!!n.trailing:w),f.cancel=l,f.flush=c,f}function Ma(t){return yi(t,at)}function ja(t,e){if("function"!=typeof t||e&&"function"!=typeof e)throw new ll(Y);var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=t.apply(this,r);return n.cache=o.set(i,a),a};return n.cache=new(ja.Cache||Ne),n}function Fa(t){if("function"!=typeof t)throw new ll(Y);return function(){return!t.apply(this,arguments)}}function La(t){return Ea(2,t)}function Ra(t,e){if("function"!=typeof t)throw new ll(Y);return e=Il(e===H?t.length-1:Ps(e),0),function(){for(var r=arguments,i=-1,o=Il(r.length-e,0),a=Array(o);++i<o;)a[i]=r[e+i];switch(e){case 0:return t.call(this,a);case 1:return t.call(this,r[0],a);case 2:return t.call(this,r[0],r[1],a)}var s=Array(e+1);for(i=-1;++i<e;)s[i]=r[i];return s[e]=a,n(t,this,s)}}function Da(t,e){if("function"!=typeof t)throw new ll(Y);return e=e===H?0:Il(Ps(e),0),Ra(function(r){var i=r[e],o=Dr(r,0,e);return i&&h(o,i),n(t,this,o)})}function Ia(t,e,n){var r=!0,i=!0;if("function"!=typeof t)throw new ll(Y);return us(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),Ta(t,e,{leading:r,maxWait:e,trailing:i})}function Va(t){return ka(t,1)}function Na(t,e){return e=null==e?Iu:e,Xc(e,t)}function Ba(){if(!arguments.length)return[];var t=arguments[0];return tf(t)?t:[t]}function Wa(t){return Cn(t,!1,!0)}function qa(t,e){return Cn(t,!1,!0,e)}function za(t){return Cn(t,!0,!0)}function Ha(t,e){return Cn(t,!0,!0,e)}function Ua(t,e){return t===e||t!==t&&e!==e}function Ga(t){return Ja(t)&&dl.call(t,"callee")&&(!Pl.call(t,"callee")||ml.call(t)==Ct)}function Ya(t){return ls(t)&&ml.call(t)==Nt}function Xa(t){return null!=t&&ss(vc(t))&&!os(t)}function Ja(t){return ls(t)&&Xa(t)}function Za(t){return t===!0||t===!1||ls(t)&&ml.call(t)==At}function Ka(t){return ls(t)&&ml.call(t)==_t}function Qa(t){return!!t&&1===t.nodeType&&ls(t)&&!$s(t)}function ts(t){if(Xa(t)&&(tf(t)||xs(t)||os(t.splice)||Ga(t)||ef(t)))return!t.length;if(ls(t)){var e=Mi(t);if(e==Ot||e==Lt)return!t.size}for(var n in t)if(dl.call(t,n))return!1;return!(Kl&&Gs(t).length)}function es(t,e){return Jn(t,e)}function ns(t,e,n){n="function"==typeof n?n:H;var r=n?n(t,e):H;return r===H?Jn(t,e,n):!!r}function rs(t){return ls(t)?ml.call(t)==kt||"string"==typeof t.message&&"string"==typeof t.name:!1}function is(t){return"number"==typeof t&&Ll(t)}function os(t){var e=us(t)?ml.call(t):"";return e==Et||e==Pt}function as(t){return"number"==typeof t&&t==Ps(t)}function ss(t){return"number"==typeof t&&t>-1&&t%1==0&&mt>=t}function us(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function ls(t){return!!t&&"object"==typeof t}function cs(t){return ls(t)&&Mi(t)==Ot}function fs(t,e){return t===e||Kn(t,e,ki(e))}function hs(t,e,n){return n="function"==typeof n?n:H,Kn(t,e,ki(e),n)}function ps(t){return ms(t)&&t!=+t}function ds(t){if(!us(t))return!1;var e=os(t)||R(t)?yl:xe;return e.test(to(t))}function vs(t){return null===t}function gs(t){return null==t}function ms(t){return"number"==typeof t||ls(t)&&ml.call(t)==Tt}function $s(t){if(!ls(t)||ml.call(t)!=Mt||R(t))return!1;var e=Oi(t);if(null===e)return!0;var n=dl.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&pl.call(n)==gl}function ys(t){return us(t)&&ml.call(t)==Ft}function bs(t){return as(t)&&t>=-mt&&mt>=t}function ws(t){return ls(t)&&Mi(t)==Lt}function xs(t){return"string"==typeof t||!tf(t)&&ls(t)&&ml.call(t)==Rt}function Cs(t){return"symbol"==typeof t||ls(t)&&ml.call(t)==Dt}function Ss(t){return ls(t)&&ss(t.length)&&!!bn[ml.call(t)]}function As(t){return t===H}function _s(t){return ls(t)&&Mi(t)==It}function ks(t){return ls(t)&&ml.call(t)==Vt}function Es(t){if(!t)return[];if(Xa(t))return xs(t)?W(t):Jr(t);if(kl&&t[kl])return D(t[kl]());var e=Mi(t),n=e==Ot?I:e==Lt?N:uu;return n(t)}function Ps(t){if(!t)return 0===t?t:0;if(t=Ts(t),t===gt||t===-gt){var e=0>t?-1:1;return e*$t}var n=t%1;return t===t?n?t-n:t:0}function Os(t){return t?xn(Ps(t),0,bt):0}function Ts(t){if("number"==typeof t)return t;if(Cs(t))return yt;if(us(t)){var e=os(t.valueOf)?t.valueOf():t;t=us(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(he,"");var n=we.test(t);return n||Ce.test(t)?En(t.slice(2),n?2:8):be.test(t)?yt:+t}function Ms(t){return Zr(t,Ys(t))}function js(t){return xn(Ps(t),-mt,mt)}function Fs(t){return null==t?"":_r(t)}function Ls(t,e){var n=An(t);return e?fn(n,e):n}function Rs(t,e){return g(t,_i(e,3),In,!0);
-}function Ds(t,e){return g(t,_i(e,3),Vn,!0)}function Is(t,e){return null==t?t:cc(t,_i(e),Ys)}function Vs(t,e){return null==t?t:fc(t,_i(e),Ys)}function Ns(t,e){return t&&In(t,_i(e))}function Bs(t,e){return t&&Vn(t,_i(e))}function Ws(t){return null==t?[]:Nn(t,Gs(t))}function qs(t){return null==t?[]:Nn(t,Ys(t))}function zs(t,e,n){var r=null==t?H:Bn(t,e);return r===H?n:r}function Hs(t,e){return null!=t&&Fi(t,e,zn)}function Us(t,e){return null!=t&&Fi(t,e,Hn)}function Gs(t){var e=Ui(t);if(!e&&!Xa(t))return tr(t);var n=Ii(t),r=!!n,i=n||[],o=i.length;for(var a in t)!zn(t,a)||r&&("length"==a||Bi(a,o))||e&&"constructor"==a||i.push(a);return i}function Ys(t){for(var e=-1,n=Ui(t),r=er(t),i=r.length,o=Ii(t),a=!!o,s=o||[],u=s.length;++e<i;){var l=r[e];a&&("length"==l||Bi(l,u))||"constructor"==l&&(n||!dl.call(t,l))||s.push(l)}return s}function Xs(t,e){var n={};return e=_i(e,3),In(t,function(t,r,i){n[e(t,r,i)]=t}),n}function Js(t,e){var n={};return e=_i(e,3),In(t,function(t,r,i){n[r]=e(t,r,i)}),n}function Zs(t,e){return e=_i(e),fr(t,function(t,n){return!e(t,n)})}function Ks(t,e){return null==t?{}:fr(t,_i(e))}function Qs(t,e,n){e=qi(e,t)?[e]:Rr(e);var r=-1,i=e.length;for(i||(t=H,i=1);++r<i;){var o=null==t?H:t[Qi(e[r])];o===H&&(r=i,o=n),t=os(o)?o.call(t):o}return t}function tu(t,e,n){return null==t?t:yr(t,e,n)}function eu(t,e,n,r){return r="function"==typeof r?r:H,null==t?t:yr(t,e,n,r)}function nu(t){return A(t,Gs(t))}function ru(t){return A(t,Ys(t))}function iu(t,e,n){var r=tf(t)||Ss(t);if(e=_i(e,4),null==n)if(r||us(t)){var i=t.constructor;n=r?tf(t)?new i:[]:os(i)?An(Oi(t)):{}}else n={};return(r?o:In)(t,function(t,r,i){return e(n,t,r,i)}),n}function ou(t,e){return null==t?!0:Er(t,e)}function au(t,e,n){return null==t?t:Pr(t,e,Lr(n))}function su(t,e,n,r){return r="function"==typeof r?r:H,null==t?t:Pr(t,e,Lr(n),r)}function uu(t){return t?k(t,Gs(t)):[]}function lu(t){return null==t?[]:k(t,Ys(t))}function cu(t,e,n){return n===H&&(n=e,e=H),n!==H&&(n=Ts(n),n=n===n?n:0),e!==H&&(e=Ts(e),e=e===e?e:0),xn(Ts(t),e,n)}function fu(t,e,n){return e=Ts(e)||0,n===H?(n=e,e=0):n=Ts(n)||0,t=Ts(t),Un(t,e,n)}function hu(t,e,n){if(n&&"boolean"!=typeof n&&Wi(t,e,n)&&(e=n=H),n===H&&("boolean"==typeof e?(n=e,e=H):"boolean"==typeof t&&(n=t,t=H)),t===H&&e===H?(t=0,e=1):(t=Ts(t)||0,e===H?(e=t,t=0):e=Ts(e)||0),t>e){var r=t;t=e,e=r}if(n||t%1||e%1){var i=Bl();return Vl(t+i*(e-t+kn("1e-"+((i+"").length-1))),e)}return gr(t,e)}function pu(t){return _f(Fs(t).toLowerCase())}function du(t){return t=Fs(t),t&&t.replace(Ae,M).replace(pn,"")}function vu(t,e,n){t=Fs(t),e=_r(e);var r=t.length;return n=n===H?r:xn(Ps(n),0,r),n-=e.length,n>=0&&t.indexOf(e,n)==n}function gu(t){return t=Fs(t),t&&re.test(t)?t.replace(ee,j):t}function mu(t){return t=Fs(t),t&&fe.test(t)?t.replace(ce,"\\$&"):t}function $u(t,e,n){t=Fs(t),e=Ps(e);var r=e?B(t):0;if(!e||r>=e)return t;var i=(e-r)/2;return pi(jl(i),n)+t+pi(Ml(i),n)}function yu(t,e,n){t=Fs(t),e=Ps(e);var r=e?B(t):0;return e&&e>r?t+pi(e-r,n):t}function bu(t,e,n){t=Fs(t),e=Ps(e);var r=e?B(t):0;return e&&e>r?pi(e-r,n)+t:t}function wu(t,e,n){return n||null==e?e=0:e&&(e=+e),t=Fs(t).replace(he,""),Nl(t,e||(ye.test(t)?16:10))}function xu(t,e,n){return e=(n?Wi(t,e,n):e===H)?1:Ps(e),$r(Fs(t),e)}function Cu(){var t=arguments,e=Fs(t[0]);return t.length<3?e:Wl.call(e,t[1],t[2])}function Su(t,e,n){return n&&"number"!=typeof n&&Wi(t,e,n)&&(e=n=H),(n=n===H?bt:n>>>0)?(t=Fs(t),t&&("string"==typeof e||null!=e&&!ys(e))&&(e=_r(e),""==e&&gn.test(t))?Dr(W(t),0,n):zl.call(t,e,n)):[]}function Au(t,e,n){return t=Fs(t),n=xn(Ps(n),0,t.length),t.lastIndexOf(_r(e),n)==n}function _u(t,e,n){var r=Ee.templateSettings;n&&Wi(t,e,n)&&(e=H),t=Fs(t),e=sf({},e,r,sn);var i,o,a=sf({},e.imports,r.imports,sn),s=Gs(a),u=k(a,s),l=0,c=e.interpolate||_e,f="__p += '",h=ul((e.escape||_e).source+"|"+c.source+"|"+(c===ae?me:_e).source+"|"+(e.evaluate||_e).source+"|$","g"),p="//# sourceURL="+("sourceURL"in e?e.sourceURL:"lodash.templateSources["+ ++yn+"]")+"\n";t.replace(h,function(e,n,r,a,s,u){return r||(r=a),f+=t.slice(l,u).replace(ke,F),n&&(i=!0,f+="' +\n__e("+n+") +\n'"),s&&(o=!0,f+="';\n"+s+";\n__p += '"),r&&(f+="' +\n((__t = ("+r+")) == null ? '' : __t) +\n'"),l=u+e.length,e}),f+="';\n";var d=e.variable;d||(f="with (obj) {\n"+f+"\n}\n"),f=(o?f.replace(Zt,""):f).replace(Kt,"$1").replace(Qt,"$1;"),f="function("+(d||"obj")+") {\n"+(d?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(i?", __e = _.escape":"")+(o?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+f+"return __p\n}";var v=kf(function(){return Function(s,p+"return "+f).apply(H,u)});if(v.source=f,rs(v))throw v;return v}function ku(t){return Fs(t).toLowerCase()}function Eu(t){return Fs(t).toUpperCase()}function Pu(t,e,n){if(t=Fs(t),t&&(n||e===H))return t.replace(he,"");if(!t||!(e=_r(e)))return t;var r=W(t),i=W(e),o=E(r,i),a=P(r,i)+1;return Dr(r,o,a).join("")}function Ou(t,e,n){if(t=Fs(t),t&&(n||e===H))return t.replace(de,"");if(!t||!(e=_r(e)))return t;var r=W(t),i=P(r,W(e))+1;return Dr(r,0,i).join("")}function Tu(t,e,n){if(t=Fs(t),t&&(n||e===H))return t.replace(pe,"");if(!t||!(e=_r(e)))return t;var r=W(t),i=E(r,W(e));return Dr(r,i).join("")}function Mu(t,e){var n=lt,r=ct;if(us(e)){var i="separator"in e?e.separator:i;n="length"in e?Ps(e.length):n,r="omission"in e?_r(e.omission):r}t=Fs(t);var o=t.length;if(gn.test(t)){var a=W(t);o=a.length}if(n>=o)return t;var s=n-B(r);if(1>s)return r;var u=a?Dr(a,0,s).join(""):t.slice(0,s);if(i===H)return u+r;if(a&&(s+=u.length-s),ys(i)){if(t.slice(s).search(i)){var l,c=u;for(i.global||(i=ul(i.source,Fs($e.exec(i))+"g")),i.lastIndex=0;l=i.exec(c);)var f=l.index;u=u.slice(0,f===H?s:f)}}else if(t.indexOf(_r(i),s)!=s){var h=u.lastIndexOf(i);h>-1&&(u=u.slice(0,h))}return u+r}function ju(t){return t=Fs(t),t&&ne.test(t)?t.replace(te,q):t}function Fu(t,e,n){return t=Fs(t),e=n?H:e,e===H&&(e=mn.test(t)?vn:ve),t.match(e)||[]}function Lu(t){var e=t?t.length:0,r=_i();return t=e?f(t,function(t){if("function"!=typeof t[1])throw new ll(Y);return[r(t[0]),t[1]]}):[],Ra(function(r){for(var i=-1;++i<e;){var o=t[i];if(n(o[0],this,r))return n(o[1],this,r)}})}function Ru(t){return Sn(Cn(t,!0))}function Du(t){return function(){return t}}function Iu(t){return t}function Vu(t){return Qn("function"==typeof t?t:Cn(t,!0))}function Nu(t){return ir(Cn(t,!0))}function Bu(t,e){return or(t,Cn(e,!0))}function Wu(t,e,n){var r=Gs(e),i=Nn(e,r);null!=n||us(e)&&(i.length||!r.length)||(n=e,e=t,t=this,i=Nn(e,Gs(e)));var a=!(us(n)&&"chain"in n&&!n.chain),s=os(t);return o(i,function(n){var r=e[n];t[n]=r,s&&(t.prototype[n]=function(){var e=this.__chain__;if(a||e){var n=t(this.__wrapped__),i=n.__actions__=Jr(this.__actions__);return i.push({func:r,args:arguments,thisArg:t}),n.__chain__=e,n}return r.apply(t,h([this.value()],arguments))})}),t}function qu(){return Rn._===this&&(Rn._=$l),this}function zu(){}function Hu(t){return t=Ps(t),Ra(function(e){return ur(e,t)})}function Uu(t){return qi(t)?hr(Qi(t)):pr(t)}function Gu(t){return function(e){return null==t?H:Bn(t,e)}}function Yu(t,e){if(t=Ps(t),1>t||t>mt)return[];var n=bt,r=Vl(t,bt);e=_i(e),t-=bt;for(var i=S(r,e);++n<t;)e(n);return i}function Xu(t){return tf(t)?f(t,Qi):Cs(t)?[t]:Jr($c(t))}function Ju(t){var e=++vl;return Fs(t)+e}function Zu(t){return t&&t.length?Mn(t,Iu,qn):H}function Ku(t,e){return t&&t.length?Mn(t,_i(e),qn):H}function Qu(t){return b(t,Iu)}function tl(t,e){return b(t,_i(e))}function el(t){return t&&t.length?Mn(t,Iu,nr):H}function nl(t,e){return t&&t.length?Mn(t,_i(e),nr):H}function rl(t){return t&&t.length?C(t,Iu):0}function il(t,e){return t&&t.length?C(t,_i(e)):0}O=O?Dn.defaults({},O,Dn.pick(Rn,$n)):Rn;var ol=O.Date,al=O.Error,sl=O.Math,ul=O.RegExp,ll=O.TypeError,cl=O.Array.prototype,fl=O.Object.prototype,hl=O.String.prototype,pl=O.Function.prototype.toString,dl=fl.hasOwnProperty,vl=0,gl=pl.call(Object),ml=fl.toString,$l=Rn._,yl=ul("^"+pl.call(dl).replace(ce,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),bl=Tn?O.Buffer:H,wl=O.Reflect,xl=O.Symbol,Cl=O.Uint8Array,Sl=O.clearTimeout,Al=wl?wl.enumerate:H,_l=Object.getOwnPropertySymbols,kl="symbol"==typeof(kl=xl&&xl.iterator)?kl:H,El=Object.create,Pl=fl.propertyIsEnumerable,Ol=O.setTimeout,Tl=cl.splice,Ml=sl.ceil,jl=sl.floor,Fl=Object.getPrototypeOf,Ll=O.isFinite,Rl=cl.join,Dl=Object.keys,Il=sl.max,Vl=sl.min,Nl=O.parseInt,Bl=sl.random,Wl=hl.replace,ql=cl.reverse,zl=hl.split,Hl=Ei(O,"DataView"),Ul=Ei(O,"Map"),Gl=Ei(O,"Promise"),Yl=Ei(O,"Set"),Xl=Ei(O,"WeakMap"),Jl=Ei(Object,"create"),Zl=Xl&&new Xl,Kl=!Pl.call({valueOf:1},"valueOf"),Ql={},tc=to(Hl),ec=to(Ul),nc=to(Gl),rc=to(Yl),ic=to(Xl),oc=xl?xl.prototype:H,ac=oc?oc.valueOf:H,sc=oc?oc.toString:H;Ee.templateSettings={escape:ie,evaluate:oe,interpolate:ae,variable:"",imports:{_:Ee}},Ee.prototype=Pe.prototype,Ee.prototype.constructor=Ee,Oe.prototype=An(Pe.prototype),Oe.prototype.constructor=Oe,Te.prototype=An(Pe.prototype),Te.prototype.constructor=Te,Le.prototype=Jl?Jl(null):fl,Ne.prototype.clear=Be,Ne.prototype["delete"]=We,Ne.prototype.get=qe,Ne.prototype.has=ze,Ne.prototype.set=He,Ue.prototype.push=Ye,Xe.prototype.clear=Je,Xe.prototype["delete"]=Ze,Xe.prototype.get=Ke,Xe.prototype.has=Qe,Xe.prototype.set=tn;var uc=ei(In),lc=ei(Vn,!0),cc=ni(),fc=ni(!0);Al&&!Pl.call({valueOf:1},"valueOf")&&(er=function(t){return D(Al(t))});var hc=Zl?function(t,e){return Zl.set(t,e),t}:Iu,pc=Yl&&1/N(new Yl([,-0]))[1]==gt?function(t){return new Yl(t)}:zu,dc=Zl?function(t){return Zl.get(t)}:zu,vc=hr("length");_l||(Ti=function(){return[]});var gc=_l?function(t){for(var e=[];t;)h(e,Ti(t)),t=Oi(t);return e}:Ti;(Hl&&Mi(new Hl(new ArrayBuffer(1)))!=Bt||Ul&&Mi(new Ul)!=Ot||Gl&&Mi(Gl.resolve())!=jt||Yl&&Mi(new Yl)!=Lt||Xl&&Mi(new Xl)!=It)&&(Mi=function(t){var e=ml.call(t),n=e==Mt?t.constructor:H,r=n?to(n):H;if(r)switch(r){case tc:return Bt;case ec:return Ot;case nc:return jt;case rc:return Lt;case ic:return It}return e});var mc=function(){var t=0,e=0;return function(n,r){var i=qc(),o=ht-(i-e);if(e=i,o>0){if(++t>=ft)return n}else t=0;return hc(n,r)}}(),$c=ja(function(t){var e=[];return Fs(t).replace(le,function(t,n,r,i){e.push(r?i.replace(ge,"$1"):n||t)}),e}),yc=Ra(function(t,e){return Ja(t)?Pn(t,Ln(e,1,Ja,!0)):[]}),bc=Ra(function(t,e){var n=wo(e);return Ja(n)&&(n=H),Ja(t)?Pn(t,Ln(e,1,Ja,!0),_i(n)):[]}),wc=Ra(function(t,e){var n=wo(e);return Ja(n)&&(n=H),Ja(t)?Pn(t,Ln(e,1,Ja,!0),H,n):[]}),xc=Ra(function(t){var e=f(t,Fr);return e.length&&e[0]===t[0]?Gn(e):[]}),Cc=Ra(function(t){var e=wo(t),n=f(t,Fr);return e===wo(n)?e=H:n.pop(),n.length&&n[0]===t[0]?Gn(n,_i(e)):[]}),Sc=Ra(function(t){var e=wo(t),n=f(t,Fr);return e===wo(n)?e=H:n.pop(),n.length&&n[0]===t[0]?Gn(n,H,e):[]}),Ac=Ra(So),_c=Ra(function(t,e){e=Ln(e,1);var n=t?t.length:0,r=dn(t,e);return vr(t,f(e,function(t){return Bi(t,n)?+t:t}).sort(Ur)),r}),kc=Ra(function(t){return kr(Ln(t,1,Ja,!0))}),Ec=Ra(function(t){var e=wo(t);return Ja(e)&&(e=H),kr(Ln(t,1,Ja,!0),_i(e))}),Pc=Ra(function(t){var e=wo(t);return Ja(e)&&(e=H),kr(Ln(t,1,Ja,!0),H,e)}),Oc=Ra(function(t,e){return Ja(t)?Pn(t,e):[]}),Tc=Ra(function(t){return Mr(u(t,Ja))}),Mc=Ra(function(t){var e=wo(t);return Ja(e)&&(e=H),Mr(u(t,Ja),_i(e))}),jc=Ra(function(t){var e=wo(t);return Ja(e)&&(e=H),Mr(u(t,Ja),H,e)}),Fc=Ra(Uo),Lc=Ra(function(t){var e=t.length,n=e>1?t[e-1]:H;return n="function"==typeof n?(t.pop(),n):H,Go(t,n)}),Rc=Ra(function(t){t=Ln(t,1);var e=t.length,n=e?t[0]:0,r=this.__wrapped__,i=function(e){return dn(e,t)};return!(e>1||this.__actions__.length)&&r instanceof Te&&Bi(n)?(r=r.slice(n,+n+(e?1:0)),r.__actions__.push({func:Ko,args:[i],thisArg:H}),new Oe(r,this.__chain__).thru(function(t){return e&&!t.length&&t.push(H),t})):this.thru(i)}),Dc=Qr(function(t,e,n){dl.call(t,n)?++t[n]:t[n]=1}),Ic=Qr(function(t,e,n){dl.call(t,n)?t[n].push(e):t[n]=[e]}),Vc=Ra(function(t,e,r){var i=-1,o="function"==typeof e,a=qi(e),s=Xa(t)?Array(t.length):[];return uc(t,function(t){var u=o?e:a&&null!=t?t[e]:H;s[++i]=u?n(u,t,r):Xn(t,e,r)}),s}),Nc=Qr(function(t,e,n){t[n]=e}),Bc=Qr(function(t,e,n){t[n?0:1].push(e)},function(){return[[],[]]}),Wc=Ra(function(t,e){if(null==t)return[];var n=e.length;return n>1&&Wi(t,e[0],e[1])?e=[]:n>2&&Wi(e[0],e[1],e[2])&&(e=[e[0]]),e=1==e.length&&tf(e[0])?e[0]:Ln(e,1,Ni),lr(t,e,[])}),qc=ol.now,zc=Ra(function(t,e,n){var r=Z;if(n.length){var i=V(n,Pi(zc));r|=nt}return yi(t,r,e,n,i)}),Hc=Ra(function(t,e,n){var r=Z|K;if(n.length){var i=V(n,Pi(Hc));r|=nt}return yi(e,r,t,n,i)}),Uc=Ra(function(t,e){return _n(t,1,e)}),Gc=Ra(function(t,e,n){return _n(t,Ts(e)||0,n)});ja.Cache=Ne;var Yc=Ra(function(t,e){e=1==e.length&&tf(e[0])?f(e[0],_(_i())):f(Ln(e,1,Ni),_(_i()));var r=e.length;return Ra(function(i){for(var o=-1,a=Vl(i.length,r);++o<a;)i[o]=e[o].call(this,i[o]);return n(t,this,i)})}),Xc=Ra(function(t,e){var n=V(e,Pi(Xc));return yi(t,nt,H,e,n)}),Jc=Ra(function(t,e){var n=V(e,Pi(Jc));return yi(t,rt,H,e,n)}),Zc=Ra(function(t,e){return yi(t,ot,H,H,H,Ln(e,1))}),Kc=gi(qn),Qc=gi(function(t,e){return t>=e}),tf=Array.isArray,ef=bl?function(t){return t instanceof bl}:Du(!1),nf=gi(nr),rf=gi(function(t,e){return e>=t}),of=ti(function(t,e){if(Kl||Ui(e)||Xa(e))return void Zr(e,Gs(e),t);for(var n in e)dl.call(e,n)&&ln(t,n,e[n])}),af=ti(function(t,e){if(Kl||Ui(e)||Xa(e))return void Zr(e,Ys(e),t);for(var n in e)ln(t,n,e[n])}),sf=ti(function(t,e,n,r){Zr(e,Ys(e),t,r)}),uf=ti(function(t,e,n,r){Zr(e,Gs(e),t,r)}),lf=Ra(function(t,e){return dn(t,Ln(e,1))}),cf=Ra(function(t){return t.push(H,sn),n(sf,H,t)}),ff=Ra(function(t){return t.push(H,Ji),n(gf,H,t)}),hf=ci(function(t,e,n){t[e]=n},Du(Iu)),pf=ci(function(t,e,n){dl.call(t,e)?t[e].push(n):t[e]=[n]},_i),df=Ra(Xn),vf=ti(function(t,e,n){ar(t,e,n)}),gf=ti(function(t,e,n,r){ar(t,e,n,r)}),mf=Ra(function(t,e){return null==t?{}:(e=f(Ln(e,1),Qi),cr(t,Pn(Si(t),e)))}),$f=Ra(function(t,e){return null==t?{}:cr(t,f(Ln(e,1),Qi))}),yf=oi(function(t,e,n){return e=e.toLowerCase(),t+(n?pu(e):e)}),bf=oi(function(t,e,n){return t+(n?"-":"")+e.toLowerCase()}),wf=oi(function(t,e,n){return t+(n?" ":"")+e.toLowerCase()}),xf=ii("toLowerCase"),Cf=oi(function(t,e,n){return t+(n?"_":"")+e.toLowerCase()}),Sf=oi(function(t,e,n){return t+(n?" ":"")+_f(e)}),Af=oi(function(t,e,n){return t+(n?" ":"")+e.toUpperCase()}),_f=ii("toUpperCase"),kf=Ra(function(t,e){try{return n(t,H,e)}catch(r){return rs(r)?r:new al(r)}}),Ef=Ra(function(t,e){return o(Ln(e,1),function(e){e=Qi(e),t[e]=zc(t[e],t)}),t}),Pf=ui(),Of=ui(!0),Tf=Ra(function(t,e){return function(n){return Xn(n,t,e)}}),Mf=Ra(function(t,e){return function(n){return Xn(t,n,e)}}),jf=hi(f),Ff=hi(s),Lf=hi(v),Rf=vi(),Df=vi(!0),If=fi(function(t,e){return t+e}),Vf=$i("ceil"),Nf=fi(function(t,e){return t/e}),Bf=$i("floor"),Wf=fi(function(t,e){return t*e}),qf=$i("round"),zf=fi(function(t,e){return t-e});return Ee.after=_a,Ee.ary=ka,Ee.assign=of,Ee.assignIn=af,Ee.assignInWith=sf,Ee.assignWith=uf,Ee.at=lf,Ee.before=Ea,Ee.bind=zc,Ee.bindAll=Ef,Ee.bindKey=Hc,Ee.castArray=Ba,Ee.chain=Jo,Ee.chunk=no,Ee.compact=ro,Ee.concat=io,Ee.cond=Lu,Ee.conforms=Ru,Ee.constant=Du,Ee.countBy=Dc,Ee.create=Ls,Ee.curry=Pa,Ee.curryRight=Oa,Ee.debounce=Ta,Ee.defaults=cf,Ee.defaultsDeep=ff,Ee.defer=Uc,Ee.delay=Gc,Ee.difference=yc,Ee.differenceBy=bc,Ee.differenceWith=wc,Ee.drop=oo,Ee.dropRight=ao,Ee.dropRightWhile=so,Ee.dropWhile=uo,Ee.fill=lo,Ee.filter=sa,Ee.flatMap=ca,Ee.flatMapDeep=fa,Ee.flatMapDepth=ha,Ee.flatten=ho,Ee.flattenDeep=po,Ee.flattenDepth=vo,Ee.flip=Ma,Ee.flow=Pf,Ee.flowRight=Of,Ee.fromPairs=go,Ee.functions=Ws,Ee.functionsIn=qs,Ee.groupBy=Ic,Ee.initial=yo,Ee.intersection=xc,Ee.intersectionBy=Cc,Ee.intersectionWith=Sc,Ee.invert=hf,Ee.invertBy=pf,Ee.invokeMap=Vc,Ee.iteratee=Vu,Ee.keyBy=Nc,Ee.keys=Gs,Ee.keysIn=Ys,Ee.map=ga,Ee.mapKeys=Xs,Ee.mapValues=Js,Ee.matches=Nu,Ee.matchesProperty=Bu,Ee.memoize=ja,Ee.merge=vf,Ee.mergeWith=gf,Ee.method=Tf,Ee.methodOf=Mf,Ee.mixin=Wu,Ee.negate=Fa,Ee.nthArg=Hu,Ee.omit=mf,Ee.omitBy=Zs,Ee.once=La,Ee.orderBy=ma,Ee.over=jf,Ee.overArgs=Yc,Ee.overEvery=Ff,Ee.overSome=Lf,Ee.partial=Xc,Ee.partialRight=Jc,Ee.partition=Bc,Ee.pick=$f,Ee.pickBy=Ks,Ee.property=Uu,Ee.propertyOf=Gu,Ee.pull=Ac,Ee.pullAll=So,Ee.pullAllBy=Ao,Ee.pullAllWith=_o,Ee.pullAt=_c,Ee.range=Rf,Ee.rangeRight=Df,Ee.rearg=Zc,Ee.reject=ba,Ee.remove=ko,Ee.rest=Ra,Ee.reverse=Eo,Ee.sampleSize=xa,Ee.set=tu,Ee.setWith=eu,Ee.shuffle=Ca,Ee.slice=Po,Ee.sortBy=Wc,Ee.sortedUniq=Ro,Ee.sortedUniqBy=Do,Ee.split=Su,Ee.spread=Da,Ee.tail=Io,Ee.take=Vo,Ee.takeRight=No,Ee.takeRightWhile=Bo,Ee.takeWhile=Wo,Ee.tap=Zo,Ee.throttle=Ia,Ee.thru=Ko,Ee.toArray=Es,Ee.toPairs=nu,Ee.toPairsIn=ru,Ee.toPath=Xu,Ee.toPlainObject=Ms,Ee.transform=iu,Ee.unary=Va,Ee.union=kc,Ee.unionBy=Ec,Ee.unionWith=Pc,Ee.uniq=qo,Ee.uniqBy=zo,Ee.uniqWith=Ho,Ee.unset=ou,Ee.unzip=Uo,Ee.unzipWith=Go,Ee.update=au,Ee.updateWith=su,Ee.values=uu,Ee.valuesIn=lu,Ee.without=Oc,Ee.words=Fu,Ee.wrap=Na,Ee.xor=Tc,Ee.xorBy=Mc,Ee.xorWith=jc,Ee.zip=Fc,Ee.zipObject=Yo,Ee.zipObjectDeep=Xo,Ee.zipWith=Lc,Ee.entries=nu,Ee.entriesIn=ru,Ee.extend=af,Ee.extendWith=sf,Wu(Ee,Ee),Ee.add=If,Ee.attempt=kf,Ee.camelCase=yf,Ee.capitalize=pu,Ee.ceil=Vf,Ee.clamp=cu,Ee.clone=Wa,Ee.cloneDeep=za,Ee.cloneDeepWith=Ha,Ee.cloneWith=qa,Ee.deburr=du,Ee.divide=Nf,Ee.endsWith=vu,Ee.eq=Ua,Ee.escape=gu,Ee.escapeRegExp=mu,Ee.every=aa,Ee.find=ua,Ee.findIndex=co,Ee.findKey=Rs,Ee.findLast=la,Ee.findLastIndex=fo,Ee.findLastKey=Ds,Ee.floor=Bf,Ee.forEach=pa,Ee.forEachRight=da,Ee.forIn=Is,Ee.forInRight=Vs,Ee.forOwn=Ns,Ee.forOwnRight=Bs,Ee.get=zs,Ee.gt=Kc,Ee.gte=Qc,Ee.has=Hs,Ee.hasIn=Us,Ee.head=mo,Ee.identity=Iu,Ee.includes=va,Ee.indexOf=$o,Ee.inRange=fu,Ee.invoke=df,Ee.isArguments=Ga,Ee.isArray=tf,Ee.isArrayBuffer=Ya,Ee.isArrayLike=Xa,Ee.isArrayLikeObject=Ja,Ee.isBoolean=Za,Ee.isBuffer=ef,Ee.isDate=Ka,Ee.isElement=Qa,Ee.isEmpty=ts,Ee.isEqual=es,Ee.isEqualWith=ns,Ee.isError=rs,Ee.isFinite=is,Ee.isFunction=os,Ee.isInteger=as,Ee.isLength=ss,Ee.isMap=cs,Ee.isMatch=fs,Ee.isMatchWith=hs,Ee.isNaN=ps,Ee.isNative=ds,Ee.isNil=gs,Ee.isNull=vs,Ee.isNumber=ms,Ee.isObject=us,Ee.isObjectLike=ls,Ee.isPlainObject=$s,Ee.isRegExp=ys,Ee.isSafeInteger=bs,Ee.isSet=ws,Ee.isString=xs,Ee.isSymbol=Cs,Ee.isTypedArray=Ss,Ee.isUndefined=As,Ee.isWeakMap=_s,Ee.isWeakSet=ks,Ee.join=bo,Ee.kebabCase=bf,Ee.last=wo,Ee.lastIndexOf=xo,Ee.lowerCase=wf,Ee.lowerFirst=xf,Ee.lt=nf,Ee.lte=rf,Ee.max=Zu,Ee.maxBy=Ku,Ee.mean=Qu,Ee.meanBy=tl,Ee.min=el,Ee.minBy=nl,Ee.multiply=Wf,Ee.nth=Co,Ee.noConflict=qu,Ee.noop=zu,Ee.now=qc,Ee.pad=$u,Ee.padEnd=yu,Ee.padStart=bu,Ee.parseInt=wu,Ee.random=hu,Ee.reduce=$a,Ee.reduceRight=ya,Ee.repeat=xu,Ee.replace=Cu,Ee.result=Qs,Ee.round=qf,Ee.runInContext=z,Ee.sample=wa,Ee.size=Sa,Ee.snakeCase=Cf,Ee.some=Aa,Ee.sortedIndex=Oo,Ee.sortedIndexBy=To,Ee.sortedIndexOf=Mo,Ee.sortedLastIndex=jo,Ee.sortedLastIndexBy=Fo,Ee.sortedLastIndexOf=Lo,Ee.startCase=Sf,Ee.startsWith=Au,Ee.subtract=zf,Ee.sum=rl,Ee.sumBy=il,Ee.template=_u,Ee.times=Yu,Ee.toInteger=Ps,Ee.toLength=Os,Ee.toLower=ku,Ee.toNumber=Ts,Ee.toSafeInteger=js,Ee.toString=Fs,Ee.toUpper=Eu,Ee.trim=Pu,Ee.trimEnd=Ou,Ee.trimStart=Tu,Ee.truncate=Mu,Ee.unescape=ju,Ee.uniqueId=Ju,Ee.upperCase=Af,Ee.upperFirst=_f,Ee.each=pa,Ee.eachRight=da,Ee.first=mo,Wu(Ee,function(){var t={};return In(Ee,function(e,n){dl.call(Ee.prototype,n)||(t[n]=e)}),t}(),{chain:!1}),Ee.VERSION=U,o(["bind","bindKey","curry","curryRight","partial","partialRight"],function(t){Ee[t].placeholder=Ee}),o(["drop","take"],function(t,e){Te.prototype[t]=function(n){var r=this.__filtered__;if(r&&!e)return new Te(this);n=n===H?1:Il(Ps(n),0);var i=this.clone();return r?i.__takeCount__=Vl(n,i.__takeCount__):i.__views__.push({size:Vl(n,bt),type:t+(i.__dir__<0?"Right":"")}),i},Te.prototype[t+"Right"]=function(e){return this.reverse()[t](e).reverse()}}),o(["filter","map","takeWhile"],function(t,e){var n=e+1,r=n==pt||n==vt;Te.prototype[t]=function(t){var e=this.clone();return e.__iteratees__.push({iteratee:_i(t,3),type:n}),e.__filtered__=e.__filtered__||r,e}}),o(["head","last"],function(t,e){var n="take"+(e?"Right":"");Te.prototype[t]=function(){return this[n](1).value()[0]}}),o(["initial","tail"],function(t,e){var n="drop"+(e?"":"Right");Te.prototype[t]=function(){return this.__filtered__?new Te(this):this[n](1)}}),Te.prototype.compact=function(){return this.filter(Iu)},Te.prototype.find=function(t){return this.filter(t).head()},Te.prototype.findLast=function(t){return this.reverse().find(t)},Te.prototype.invokeMap=Ra(function(t,e){return"function"==typeof t?new Te(this):this.map(function(n){return Xn(n,t,e)})}),Te.prototype.reject=function(t){return t=_i(t,3),this.filter(function(e){return!t(e)})},Te.prototype.slice=function(t,e){t=Ps(t);var n=this;return n.__filtered__&&(t>0||0>e)?new Te(n):(0>t?n=n.takeRight(-t):t&&(n=n.drop(t)),e!==H&&(e=Ps(e),n=0>e?n.dropRight(-e):n.take(e-t)),n)},Te.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},Te.prototype.toArray=function(){return this.take(bt)},In(Te.prototype,function(t,e){var n=/^(?:filter|find|map|reject)|While$/.test(e),r=/^(?:head|last)$/.test(e),i=Ee[r?"take"+("last"==e?"Right":""):e],o=r||/^find/.test(e);i&&(Ee.prototype[e]=function(){var e=this.__wrapped__,a=r?[1]:arguments,s=e instanceof Te,u=a[0],l=s||tf(e),c=function(t){var e=i.apply(Ee,h([t],a));return r&&f?e[0]:e};l&&n&&"function"==typeof u&&1!=u.length&&(s=l=!1);var f=this.__chain__,p=!!this.__actions__.length,d=o&&!f,v=s&&!p;if(!o&&l){e=v?e:new Te(this);var g=t.apply(e,a);return g.__actions__.push({func:Ko,args:[c],thisArg:H}),new Oe(g,f)}return d&&v?t.apply(this,a):(g=this.thru(c),d?r?g.value()[0]:g.value():g)})}),o(["pop","push","shift","sort","splice","unshift"],function(t){var e=cl[t],n=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",r=/^(?:pop|shift)$/.test(t);Ee.prototype[t]=function(){var t=arguments;if(r&&!this.__chain__){var i=this.value();return e.apply(tf(i)?i:[],t)}return this[n](function(n){return e.apply(tf(n)?n:[],t)})}}),In(Te.prototype,function(t,e){var n=Ee[e];if(n){var r=n.name+"",i=Ql[r]||(Ql[r]=[]);i.push({name:e,func:n})}}),Ql[li(H,K).name]=[{name:"wrapper",func:H}],Te.prototype.clone=Me,Te.prototype.reverse=je,Te.prototype.value=Fe,Ee.prototype.at=Rc,Ee.prototype.chain=Qo,Ee.prototype.commit=ta,Ee.prototype.next=ea,Ee.prototype.plant=ra,Ee.prototype.reverse=ia,Ee.prototype.toJSON=Ee.prototype.valueOf=Ee.prototype.value=oa,kl&&(Ee.prototype[kl]=na),Ee}var H,U="4.11.2",G=200,Y="Expected a function",X="__lodash_hash_undefined__",J="__lodash_placeholder__",Z=1,K=2,Q=4,tt=8,et=16,nt=32,rt=64,it=128,ot=256,at=512,st=1,ut=2,lt=30,ct="...",ft=150,ht=16,pt=1,dt=2,vt=3,gt=1/0,mt=9007199254740991,$t=1.7976931348623157e308,yt=NaN,bt=4294967295,wt=bt-1,xt=bt>>>1,Ct="[object Arguments]",St="[object Array]",At="[object Boolean]",_t="[object Date]",kt="[object Error]",Et="[object Function]",Pt="[object GeneratorFunction]",Ot="[object Map]",Tt="[object Number]",Mt="[object Object]",jt="[object Promise]",Ft="[object RegExp]",Lt="[object Set]",Rt="[object String]",Dt="[object Symbol]",It="[object WeakMap]",Vt="[object WeakSet]",Nt="[object ArrayBuffer]",Bt="[object DataView]",Wt="[object Float32Array]",qt="[object Float64Array]",zt="[object Int8Array]",Ht="[object Int16Array]",Ut="[object Int32Array]",Gt="[object Uint8Array]",Yt="[object Uint8ClampedArray]",Xt="[object Uint16Array]",Jt="[object Uint32Array]",Zt=/\b__p \+= '';/g,Kt=/\b(__p \+=) '' \+/g,Qt=/(__e\(.*?\)|\b__t\)) \+\n'';/g,te=/&(?:amp|lt|gt|quot|#39|#96);/g,ee=/[&<>"'`]/g,ne=RegExp(te.source),re=RegExp(ee.source),ie=/<%-([\s\S]+?)%>/g,oe=/<%([\s\S]+?)%>/g,ae=/<%=([\s\S]+?)%>/g,se=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ue=/^\w*$/,le=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]/g,ce=/[\\^$.*+?()[\]{}|]/g,fe=RegExp(ce.source),he=/^\s+|\s+$/g,pe=/^\s+/,de=/\s+$/,ve=/[a-zA-Z0-9]+/g,ge=/\\(\\)?/g,me=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,$e=/\w*$/,ye=/^0x/i,be=/^[-+]0x[0-9a-f]+$/i,we=/^0b[01]+$/i,xe=/^\[object .+?Constructor\]$/,Ce=/^0o[0-7]+$/i,Se=/^(?:0|[1-9]\d*)$/,Ae=/[\xc0-\xd6\xd8-\xde\xdf-\xf6\xf8-\xff]/g,_e=/($^)/,ke=/['\n\r\u2028\u2029\\]/g,Ee="\\ud800-\\udfff",Pe="\\u0300-\\u036f\\ufe20-\\ufe23",Oe="\\u20d0-\\u20f0",Te="\\u2700-\\u27bf",Me="a-z\\xdf-\\xf6\\xf8-\\xff",je="\\xac\\xb1\\xd7\\xf7",Fe="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Le="\\u2000-\\u206f",Re=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",De="A-Z\\xc0-\\xd6\\xd8-\\xde",Ie="\\ufe0e\\ufe0f",Ve=je+Fe+Le+Re,Ne="['’]",Be="["+Ee+"]",We="["+Ve+"]",qe="["+Pe+Oe+"]",ze="\\d+",He="["+Te+"]",Ue="["+Me+"]",Ge="[^"+Ee+Ve+ze+Te+Me+De+"]",Ye="\\ud83c[\\udffb-\\udfff]",Xe="(?:"+qe+"|"+Ye+")",Je="[^"+Ee+"]",Ze="(?:\\ud83c[\\udde6-\\uddff]){2}",Ke="[\\ud800-\\udbff][\\udc00-\\udfff]",Qe="["+De+"]",tn="\\u200d",en="(?:"+Ue+"|"+Ge+")",nn="(?:"+Qe+"|"+Ge+")",rn="(?:"+Ne+"(?:d|ll|m|re|s|t|ve))?",on="(?:"+Ne+"(?:D|LL|M|RE|S|T|VE))?",an=Xe+"?",sn="["+Ie+"]?",un="(?:"+tn+"(?:"+[Je,Ze,Ke].join("|")+")"+sn+an+")*",ln=sn+an+un,cn="(?:"+[He,Ze,Ke].join("|")+")"+ln,fn="(?:"+[Je+qe+"?",qe,Ze,Ke,Be].join("|")+")",hn=RegExp(Ne,"g"),pn=RegExp(qe,"g"),dn=RegExp(Ye+"(?="+Ye+")|"+fn+ln,"g"),vn=RegExp([Qe+"?"+Ue+"+"+rn+"(?="+[We,Qe,"$"].join("|")+")",nn+"+"+on+"(?="+[We,Qe+en,"$"].join("|")+")",Qe+"?"+en+"+"+rn,Qe+"+"+on,ze,cn].join("|"),"g"),gn=RegExp("["+tn+Ee+Pe+Oe+Ie+"]"),mn=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,$n=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","Reflect","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],yn=-1,bn={};bn[Wt]=bn[qt]=bn[zt]=bn[Ht]=bn[Ut]=bn[Gt]=bn[Yt]=bn[Xt]=bn[Jt]=!0,bn[Ct]=bn[St]=bn[Nt]=bn[At]=bn[Bt]=bn[_t]=bn[kt]=bn[Et]=bn[Ot]=bn[Tt]=bn[Mt]=bn[Ft]=bn[Lt]=bn[Rt]=bn[It]=!1;var wn={};wn[Ct]=wn[St]=wn[Nt]=wn[Bt]=wn[At]=wn[_t]=wn[Wt]=wn[qt]=wn[zt]=wn[Ht]=wn[Ut]=wn[Ot]=wn[Tt]=wn[Mt]=wn[Ft]=wn[Lt]=wn[Rt]=wn[Dt]=wn[Gt]=wn[Yt]=wn[Xt]=wn[Jt]=!0,wn[kt]=wn[Et]=wn[It]=!1;var xn={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss"},Cn={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","`":"&#96;"},Sn={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'","&#96;":"`"},An={"function":!0,object:!0},_n={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},kn=parseFloat,En=parseInt,Pn=An[typeof exports]&&exports&&!exports.nodeType?exports:H,On=An[typeof module]&&module&&!module.nodeType?module:H,Tn=On&&On.exports===Pn?Pn:H,Mn=O(Pn&&On&&"object"==typeof global&&global),jn=O(An[typeof self]&&self),Fn=O(An[typeof window]&&window),Ln=O(An[typeof this]&&this),Rn=Mn||Fn!==(Ln&&Ln.window)&&Fn||jn||Ln||Function("return this")(),Dn=z();(Fn||jn||{})._=Dn,"function"==typeof define&&"object"==typeof define.amd&&define.amd?define(function(){return Dn}):Pn&&On?(Tn&&((On.exports=Dn)._=Dn),Pn._=Dn):Rn._=Dn}.call(this),function(){"use strict";var t=this,e=t.Chart,n=function(t){this.canvas=t.canvas,this.ctx=t;var e=function(t,e){return t["offset"+e]?t["offset"+e]:document.defaultView.getComputedStyle(t).getPropertyValue(e)};this.width=e(t.canvas,"Width")||t.canvas.width,this.height=e(t.canvas,"Height")||t.canvas.height;return this.aspectRatio=this.width/this.height,r.retinaScale(this),this};n.defaults={global:{animation:!0,animationSteps:60,animationEasing:"easeOutQuart",showScale:!0,scaleOverride:!1,scaleSteps:null,scaleStepWidth:null,scaleStartValue:null,scaleLineColor:"rgba(0,0,0,.1)",scaleLineWidth:1,scaleShowLabels:!0,scaleLabel:"<%=value%>",scaleIntegersOnly:!0,scaleBeginAtZero:!1,scaleFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",scaleFontSize:12,scaleFontStyle:"normal",scaleFontColor:"#666",responsive:!1,maintainAspectRatio:!0,showTooltips:!0,customTooltips:!1,tooltipEvents:["mousemove","touchstart","touchmove","mouseout"],tooltipFillColor:"rgba(0,0,0,0.8)",tooltipFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",tooltipFontSize:14,tooltipFontStyle:"normal",tooltipFontColor:"#fff",tooltipTitleFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",tooltipTitleFontSize:14,tooltipTitleFontStyle:"bold",tooltipTitleFontColor:"#fff",tooltipTitleTemplate:"<%= label%>",tooltipYPadding:6,tooltipXPadding:6,tooltipCaretSize:8,tooltipCornerRadius:6,tooltipXOffset:10,tooltipTemplate:"<%if (label){%><%=label%>: <%}%><%= value %>",multiTooltipTemplate:"<%= datasetLabel %>: <%= value %>",multiTooltipKeyBackground:"#fff",segmentColorDefault:["#A6CEE3","#1F78B4","#B2DF8A","#33A02C","#FB9A99","#E31A1C","#FDBF6F","#FF7F00","#CAB2D6","#6A3D9A","#B4B482","#B15928"],segmentHighlightColorDefaults:["#CEF6FF","#47A0DC","#DAFFB2","#5BC854","#FFC2C1","#FF4244","#FFE797","#FFA728","#F2DAFE","#9265C2","#DCDCAA","#D98150"],onAnimationProgress:function(){},onAnimationComplete:function(){}}},n.types={};var r=n.helpers={},i=r.each=function(t,e,n){var r=Array.prototype.slice.call(arguments,3);if(t)if(t.length===+t.length){var i;for(i=0;i<t.length;i++)e.apply(n,[t[i],i].concat(r))}else for(var o in t)e.apply(n,[t[o],o].concat(r))},o=r.clone=function(t){var e={};return i(t,function(n,r){t.hasOwnProperty(r)&&(e[r]=n)}),e},a=r.extend=function(t){return i(Array.prototype.slice.call(arguments,1),function(e){i(e,function(n,r){e.hasOwnProperty(r)&&(t[r]=n)})}),t},s=r.merge=function(t,e){var n=Array.prototype.slice.call(arguments,0);return n.unshift({}),a.apply(null,n)},u=r.indexOf=function(t,e){if(Array.prototype.indexOf)return t.indexOf(e);for(var n=0;n<t.length;n++)if(t[n]===e)return n;return-1},l=(r.where=function(t,e){var n=[];return r.each(t,function(t){e(t)&&n.push(t)}),n},r.findNextWhere=function(t,e,n){n||(n=-1);for(var r=n+1;r<t.length;r++){var i=t[r];if(e(i))return i}},r.findPreviousWhere=function(t,e,n){n||(n=t.length);for(var r=n-1;r>=0;r--){var i=t[r];if(e(i))return i}},r.inherits=function(t){var e=this,n=t&&t.hasOwnProperty("constructor")?t.constructor:function(){return e.apply(this,arguments)},r=function(){this.constructor=n};return r.prototype=e.prototype,n.prototype=new r,n.extend=l,t&&a(n.prototype,t),n.__super__=e.prototype,n}),c=r.noop=function(){},f=r.uid=function(){var t=0;return function(){return"chart-"+t++}}(),h=r.warn=function(t){window.console&&"function"==typeof window.console.warn&&console.warn(t)},p=r.amd="function"==typeof define&&define.amd,d=r.isNumber=function(t){return!isNaN(parseFloat(t))&&isFinite(t)},v=r.max=function(t){return Math.max.apply(Math,t)},g=r.min=function(t){return Math.min.apply(Math,t)},m=(r.cap=function(t,e,n){if(d(e)){if(t>e)return e}else if(d(n)&&n>t)return n;return t},r.getDecimalPlaces=function(t){if(t%1!==0&&d(t)){var e=t.toString();if(e.indexOf("e-")<0)return e.split(".")[1].length;if(e.indexOf(".")<0)return parseInt(e.split("e-")[1]);var n=e.split(".")[1].split("e-");return n[0].length+parseInt(n[1])}return 0}),$=r.radians=function(t){return t*(Math.PI/180)},y=(r.getAngleFromPoint=function(t,e){var n=e.x-t.x,r=e.y-t.y,i=Math.sqrt(n*n+r*r),o=2*Math.PI+Math.atan2(r,n);return 0>n&&0>r&&(o+=2*Math.PI),{angle:o,distance:i}},r.aliasPixel=function(t){return t%2===0?0:.5}),b=(r.splineCurve=function(t,e,n,r){var i=Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2)),o=Math.sqrt(Math.pow(n.x-e.x,2)+Math.pow(n.y-e.y,2)),a=r*i/(i+o),s=r*o/(i+o);return{inner:{x:e.x-a*(n.x-t.x),y:e.y-a*(n.y-t.y)},outer:{x:e.x+s*(n.x-t.x),y:e.y+s*(n.y-t.y)}}},r.calculateOrderOfMagnitude=function(t){return Math.floor(Math.log(t)/Math.LN10)}),w=(r.calculateScaleRange=function(t,e,n,r,o){var a=2,s=Math.floor(e/(1.5*n)),u=a>=s,l=[];i(t,function(t){null==t||l.push(t)});var c=g(l),f=v(l);f===c&&(f+=.5,
-c>=.5&&!r?c-=.5:f+=.5);for(var h=Math.abs(f-c),p=b(h),d=Math.ceil(f/(1*Math.pow(10,p)))*Math.pow(10,p),m=r?0:Math.floor(c/(1*Math.pow(10,p)))*Math.pow(10,p),$=d-m,y=Math.pow(10,p),w=Math.round($/y);(w>s||s>2*w)&&!u;)if(w>s)y*=2,w=Math.round($/y),w%1!==0&&(u=!0);else if(o&&p>=0){if(y/2%1!==0)break;y/=2,w=Math.round($/y)}else y/=2,w=Math.round($/y);return u&&(w=a,y=$/w),{steps:w,stepValue:y,min:m,max:m+w*y}},r.template=function(t,e){function n(t,e){var n=/\W/.test(t)?new Function("obj","var p=[],print=function(){p.push.apply(p,arguments);};with(obj){p.push('"+t.replace(/[\r\t\n]/g," ").split("<%").join("	").replace(/((^|%>)[^\t]*)'/g,"$1\r").replace(/\t=(.*?)%>/g,"',$1,'").split("	").join("');").split("%>").join("p.push('").split("\r").join("\\'")+"');}return p.join('');"):r[t]=r[t];return e?n(e):n}if(t instanceof Function)return t(e);var r={};return n(t,e)}),x=(r.generateLabels=function(t,e,n,r){var o=new Array(e);return t&&i(o,function(e,i){o[i]=w(t,{value:n+r*(i+1)})}),o},r.easingEffects={linear:function(t){return t},easeInQuad:function(t){return t*t},easeOutQuad:function(t){return-1*t*(t-2)},easeInOutQuad:function(t){return(t/=.5)<1?.5*t*t:-0.5*(--t*(t-2)-1)},easeInCubic:function(t){return t*t*t},easeOutCubic:function(t){return 1*((t=t/1-1)*t*t+1)},easeInOutCubic:function(t){return(t/=.5)<1?.5*t*t*t:.5*((t-=2)*t*t+2)},easeInQuart:function(t){return t*t*t*t},easeOutQuart:function(t){return-1*((t=t/1-1)*t*t*t-1)},easeInOutQuart:function(t){return(t/=.5)<1?.5*t*t*t*t:-0.5*((t-=2)*t*t*t-2)},easeInQuint:function(t){return 1*(t/=1)*t*t*t*t},easeOutQuint:function(t){return 1*((t=t/1-1)*t*t*t*t+1)},easeInOutQuint:function(t){return(t/=.5)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)},easeInSine:function(t){return-1*Math.cos(t/1*(Math.PI/2))+1},easeOutSine:function(t){return 1*Math.sin(t/1*(Math.PI/2))},easeInOutSine:function(t){return-0.5*(Math.cos(Math.PI*t/1)-1)},easeInExpo:function(t){return 0===t?1:1*Math.pow(2,10*(t/1-1))},easeOutExpo:function(t){return 1===t?1:1*(-Math.pow(2,-10*t/1)+1)},easeInOutExpo:function(t){return 0===t?0:1===t?1:(t/=.5)<1?.5*Math.pow(2,10*(t-1)):.5*(-Math.pow(2,-10*--t)+2)},easeInCirc:function(t){return t>=1?t:-1*(Math.sqrt(1-(t/=1)*t)-1)},easeOutCirc:function(t){return 1*Math.sqrt(1-(t=t/1-1)*t)},easeInOutCirc:function(t){return(t/=.5)<1?-0.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)},easeInElastic:function(t){var e=1.70158,n=0,r=1;return 0===t?0:1==(t/=1)?1:(n||(n=.3),r<Math.abs(1)?(r=1,e=n/4):e=n/(2*Math.PI)*Math.asin(1/r),-(r*Math.pow(2,10*(t-=1))*Math.sin((1*t-e)*(2*Math.PI)/n)))},easeOutElastic:function(t){var e=1.70158,n=0,r=1;return 0===t?0:1==(t/=1)?1:(n||(n=.3),r<Math.abs(1)?(r=1,e=n/4):e=n/(2*Math.PI)*Math.asin(1/r),r*Math.pow(2,-10*t)*Math.sin((1*t-e)*(2*Math.PI)/n)+1)},easeInOutElastic:function(t){var e=1.70158,n=0,r=1;return 0===t?0:2==(t/=.5)?1:(n||(n=1*(.3*1.5)),r<Math.abs(1)?(r=1,e=n/4):e=n/(2*Math.PI)*Math.asin(1/r),1>t?-.5*(r*Math.pow(2,10*(t-=1))*Math.sin((1*t-e)*(2*Math.PI)/n)):r*Math.pow(2,-10*(t-=1))*Math.sin((1*t-e)*(2*Math.PI)/n)*.5+1)},easeInBack:function(t){var e=1.70158;return 1*(t/=1)*t*((e+1)*t-e)},easeOutBack:function(t){var e=1.70158;return 1*((t=t/1-1)*t*((e+1)*t+e)+1)},easeInOutBack:function(t){var e=1.70158;return(t/=.5)<1?.5*(t*t*(((e*=1.525)+1)*t-e)):.5*((t-=2)*t*(((e*=1.525)+1)*t+e)+2)},easeInBounce:function(t){return 1-x.easeOutBounce(1-t)},easeOutBounce:function(t){return(t/=1)<1/2.75?1*(7.5625*t*t):2/2.75>t?1*(7.5625*(t-=1.5/2.75)*t+.75):2.5/2.75>t?1*(7.5625*(t-=2.25/2.75)*t+.9375):1*(7.5625*(t-=2.625/2.75)*t+.984375)},easeInOutBounce:function(t){return.5>t?.5*x.easeInBounce(2*t):.5*x.easeOutBounce(2*t-1)+.5}}),C=r.requestAnimFrame=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(t){return window.setTimeout(t,1e3/60)}}(),S=(r.cancelAnimFrame=function(){return window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||window.oCancelAnimationFrame||window.msCancelAnimationFrame||function(t){return window.clearTimeout(t,1e3/60)}}(),r.animationLoop=function(t,e,n,r,i,o){var a=0,s=x[n]||x.linear,u=function(){a++;var n=a/e,l=s(n);t.call(o,l,n,a),r.call(o,l,n),e>a?o.animationFrame=C(u):i.apply(o)};C(u)},r.getRelativePosition=function(t){var e,n,r=t.originalEvent||t,i=t.currentTarget||t.srcElement,o=i.getBoundingClientRect();return r.touches?(e=r.touches[0].clientX-o.left,n=r.touches[0].clientY-o.top):(e=r.clientX-o.left,n=r.clientY-o.top),{x:e,y:n}},r.addEvent=function(t,e,n){t.addEventListener?t.addEventListener(e,n):t.attachEvent?t.attachEvent("on"+e,n):t["on"+e]=n}),A=r.removeEvent=function(t,e,n){t.removeEventListener?t.removeEventListener(e,n,!1):t.detachEvent?t.detachEvent("on"+e,n):t["on"+e]=c},_=(r.bindEvents=function(t,e,n){t.events||(t.events={}),i(e,function(e){t.events[e]=function(){n.apply(t,arguments)},S(t.chart.canvas,e,t.events[e])})},r.unbindEvents=function(t,e){i(e,function(e,n){A(t.chart.canvas,n,e)})}),k=r.getMaximumWidth=function(t){var e=t.parentNode,n=parseInt(P(e,"padding-left"))+parseInt(P(e,"padding-right"));return e?e.clientWidth-n:0},E=r.getMaximumHeight=function(t){var e=t.parentNode,n=parseInt(P(e,"padding-bottom"))+parseInt(P(e,"padding-top"));return e?e.clientHeight-n:0},P=r.getStyle=function(t,e){return t.currentStyle?t.currentStyle[e]:document.defaultView.getComputedStyle(t,null).getPropertyValue(e)},O=(r.getMaximumSize=r.getMaximumWidth,r.retinaScale=function(t){var e=t.ctx,n=t.canvas.width,r=t.canvas.height;window.devicePixelRatio&&(e.canvas.style.width=n+"px",e.canvas.style.height=r+"px",e.canvas.height=r*window.devicePixelRatio,e.canvas.width=n*window.devicePixelRatio,e.scale(window.devicePixelRatio,window.devicePixelRatio))}),T=r.clear=function(t){t.ctx.clearRect(0,0,t.width,t.height)},M=r.fontString=function(t,e,n){return e+" "+t+"px "+n},j=r.longestText=function(t,e,n){t.font=e;var r=0;return i(n,function(e){var n=t.measureText(e).width;r=n>r?n:r}),r},F=r.drawRoundedRectangle=function(t,e,n,r,i,o){t.beginPath(),t.moveTo(e+o,n),t.lineTo(e+r-o,n),t.quadraticCurveTo(e+r,n,e+r,n+o),t.lineTo(e+r,n+i-o),t.quadraticCurveTo(e+r,n+i,e+r-o,n+i),t.lineTo(e+o,n+i),t.quadraticCurveTo(e,n+i,e,n+i-o),t.lineTo(e,n+o),t.quadraticCurveTo(e,n,e+o,n),t.closePath()};n.instances={},n.Type=function(t,e,r){this.options=e,this.chart=r,this.id=f(),n.instances[this.id]=this,e.responsive&&this.resize(),this.initialize.call(this,t)},a(n.Type.prototype,{initialize:function(){return this},clear:function(){return T(this.chart),this},stop:function(){return n.animationService.cancelAnimation(this),this},resize:function(t){this.stop();var e=this.chart.canvas,n=k(this.chart.canvas),r=this.options.maintainAspectRatio?n/this.chart.aspectRatio:E(this.chart.canvas);return e.width=this.chart.width=n,e.height=this.chart.height=r,O(this.chart),"function"==typeof t&&t.apply(this,Array.prototype.slice.call(arguments,1)),this},reflow:c,render:function(t){if(t&&this.reflow(),this.options.animation&&!t){var e=new n.Animation;e.numSteps=this.options.animationSteps,e.easing=this.options.animationEasing,e.render=function(t,e){var n=r.easingEffects[e.easing],i=e.currentStep/e.numSteps,o=n(i);t.draw(o,i,e.currentStep)},e.onAnimationProgress=this.options.onAnimationProgress,e.onAnimationComplete=this.options.onAnimationComplete,n.animationService.addAnimation(this,e)}else this.draw(),this.options.onAnimationComplete.call(this);return this},generateLegend:function(){return r.template(this.options.legendTemplate,this)},destroy:function(){this.stop(),this.clear(),_(this,this.events);var t=this.chart.canvas;t.width=this.chart.width,t.height=this.chart.height,t.style.removeProperty?(t.style.removeProperty("width"),t.style.removeProperty("height")):(t.style.removeAttribute("width"),t.style.removeAttribute("height")),delete n.instances[this.id]},showTooltip:function(t,e){"undefined"==typeof this.activeElements&&(this.activeElements=[]);var o=function(t){var e=!1;return t.length!==this.activeElements.length?e=!0:(i(t,function(t,n){t!==this.activeElements[n]&&(e=!0)},this),e)}.call(this,t);if(o||e){if(this.activeElements=t,this.draw(),this.options.customTooltips&&this.options.customTooltips(!1),t.length>0)if(this.datasets&&this.datasets.length>1){for(var a,s,l=this.datasets.length-1;l>=0&&(a=this.datasets[l].points||this.datasets[l].bars||this.datasets[l].segments,s=u(a,t[0]),-1===s);l--);var c=[],f=[],h=function(t){var e,n,i,o,a,u=[],l=[],h=[];return r.each(this.datasets,function(t){e=t.points||t.bars||t.segments,e[s]&&e[s].hasValue()&&u.push(e[s])}),r.each(u,function(t){l.push(t.x),h.push(t.y),c.push(r.template(this.options.multiTooltipTemplate,t)),f.push({fill:t._saved.fillColor||t.fillColor,stroke:t._saved.strokeColor||t.strokeColor})},this),a=g(h),i=v(h),o=g(l),n=v(l),{x:o>this.chart.width/2?o:n,y:(a+i)/2}}.call(this,s);new n.MultiTooltip({x:h.x,y:h.y,xPadding:this.options.tooltipXPadding,yPadding:this.options.tooltipYPadding,xOffset:this.options.tooltipXOffset,fillColor:this.options.tooltipFillColor,textColor:this.options.tooltipFontColor,fontFamily:this.options.tooltipFontFamily,fontStyle:this.options.tooltipFontStyle,fontSize:this.options.tooltipFontSize,titleTextColor:this.options.tooltipTitleFontColor,titleFontFamily:this.options.tooltipTitleFontFamily,titleFontStyle:this.options.tooltipTitleFontStyle,titleFontSize:this.options.tooltipTitleFontSize,cornerRadius:this.options.tooltipCornerRadius,labels:c,legendColors:f,legendColorBackground:this.options.multiTooltipKeyBackground,title:w(this.options.tooltipTitleTemplate,t[0]),chart:this.chart,ctx:this.chart.ctx,custom:this.options.customTooltips}).draw()}else i(t,function(t){var e=t.tooltipPosition();new n.Tooltip({x:Math.round(e.x),y:Math.round(e.y),xPadding:this.options.tooltipXPadding,yPadding:this.options.tooltipYPadding,fillColor:this.options.tooltipFillColor,textColor:this.options.tooltipFontColor,fontFamily:this.options.tooltipFontFamily,fontStyle:this.options.tooltipFontStyle,fontSize:this.options.tooltipFontSize,caretHeight:this.options.tooltipCaretSize,cornerRadius:this.options.tooltipCornerRadius,text:w(this.options.tooltipTemplate,t),chart:this.chart,custom:this.options.customTooltips}).draw()},this);return this}},toBase64Image:function(){return this.chart.canvas.toDataURL.apply(this.chart.canvas,arguments)}}),n.Type.extend=function(t){var e=this,r=function(){return e.apply(this,arguments)};if(r.prototype=o(e.prototype),a(r.prototype,t),r.extend=n.Type.extend,t.name||e.prototype.name){var i=t.name||e.prototype.name,u=n.defaults[e.prototype.name]?o(n.defaults[e.prototype.name]):{};n.defaults[i]=a(u,t.defaults),n.types[i]=r,n.prototype[i]=function(t,e){var o=s(n.defaults.global,n.defaults[i],e||{});return new r(t,o,this)}}else h("Name not provided for this chart, so it hasn't been registered");return e},n.Element=function(t){a(this,t),this.initialize.apply(this,arguments),this.save()},a(n.Element.prototype,{initialize:function(){},restore:function(t){return t?i(t,function(t){this[t]=this._saved[t]},this):a(this,this._saved),this},save:function(){return this._saved=o(this),delete this._saved._saved,this},update:function(t){return i(t,function(t,e){this._saved[e]=this[e],this[e]=t},this),this},transition:function(t,e){return i(t,function(t,n){this[n]=(t-this._saved[n])*e+this._saved[n]},this),this},tooltipPosition:function(){return{x:this.x,y:this.y}},hasValue:function(){return d(this.value)}}),n.Element.extend=l,n.Point=n.Element.extend({display:!0,inRange:function(t,e){var n=this.hitDetectionRadius+this.radius;return Math.pow(t-this.x,2)+Math.pow(e-this.y,2)<Math.pow(n,2)},draw:function(){if(this.display){var t=this.ctx;t.beginPath(),t.arc(this.x,this.y,this.radius,0,2*Math.PI),t.closePath(),t.strokeStyle=this.strokeColor,t.lineWidth=this.strokeWidth,t.fillStyle=this.fillColor,t.fill(),t.stroke()}}}),n.Arc=n.Element.extend({inRange:function(t,e){var n=r.getAngleFromPoint(this,{x:t,y:e}),i=n.angle%(2*Math.PI),o=(2*Math.PI+this.startAngle)%(2*Math.PI),a=(2*Math.PI+this.endAngle)%(2*Math.PI)||360,s=o>a?a>=i||i>=o:i>=o&&a>=i,u=n.distance>=this.innerRadius&&n.distance<=this.outerRadius;return s&&u},tooltipPosition:function(){var t=this.startAngle+(this.endAngle-this.startAngle)/2,e=(this.outerRadius-this.innerRadius)/2+this.innerRadius;return{x:this.x+Math.cos(t)*e,y:this.y+Math.sin(t)*e}},draw:function(t){var e=this.ctx;e.beginPath(),e.arc(this.x,this.y,this.outerRadius<0?0:this.outerRadius,this.startAngle,this.endAngle),e.arc(this.x,this.y,this.innerRadius<0?0:this.innerRadius,this.endAngle,this.startAngle,!0),e.closePath(),e.strokeStyle=this.strokeColor,e.lineWidth=this.strokeWidth,e.fillStyle=this.fillColor,e.fill(),e.lineJoin="bevel",this.showStroke&&e.stroke()}}),n.Rectangle=n.Element.extend({draw:function(){var t=this.ctx,e=this.width/2,n=this.x-e,r=this.x+e,i=this.base-(this.base-this.y),o=this.strokeWidth/2;this.showStroke&&(n+=o,r-=o,i+=o),t.beginPath(),t.fillStyle=this.fillColor,t.strokeStyle=this.strokeColor,t.lineWidth=this.strokeWidth,t.moveTo(n,this.base),t.lineTo(n,i),t.lineTo(r,i),t.lineTo(r,this.base),t.fill(),this.showStroke&&t.stroke()},height:function(){return this.base-this.y},inRange:function(t,e){return t>=this.x-this.width/2&&t<=this.x+this.width/2&&e>=this.y&&e<=this.base}}),n.Animation=n.Element.extend({currentStep:null,numSteps:60,easing:"",render:null,onAnimationProgress:null,onAnimationComplete:null}),n.Tooltip=n.Element.extend({draw:function(){var t=this.chart.ctx;t.font=M(this.fontSize,this.fontStyle,this.fontFamily),this.xAlign="center",this.yAlign="above";var e=this.caretPadding=2,n=t.measureText(this.text).width+2*this.xPadding,r=this.fontSize+2*this.yPadding,i=r+this.caretHeight+e;this.x+n/2>this.chart.width?this.xAlign="left":this.x-n/2<0&&(this.xAlign="right"),this.y-i<0&&(this.yAlign="below");var o=this.x-n/2,a=this.y-i;if(t.fillStyle=this.fillColor,this.custom)this.custom(this);else{switch(this.yAlign){case"above":t.beginPath(),t.moveTo(this.x,this.y-e),t.lineTo(this.x+this.caretHeight,this.y-(e+this.caretHeight)),t.lineTo(this.x-this.caretHeight,this.y-(e+this.caretHeight)),t.closePath(),t.fill();break;case"below":a=this.y+e+this.caretHeight,t.beginPath(),t.moveTo(this.x,this.y+e),t.lineTo(this.x+this.caretHeight,this.y+e+this.caretHeight),t.lineTo(this.x-this.caretHeight,this.y+e+this.caretHeight),t.closePath(),t.fill()}switch(this.xAlign){case"left":o=this.x-n+(this.cornerRadius+this.caretHeight);break;case"right":o=this.x-(this.cornerRadius+this.caretHeight)}F(t,o,a,n,r,this.cornerRadius),t.fill(),t.fillStyle=this.textColor,t.textAlign="center",t.textBaseline="middle",t.fillText(this.text,o+n/2,a+r/2)}}}),n.MultiTooltip=n.Element.extend({initialize:function(){this.font=M(this.fontSize,this.fontStyle,this.fontFamily),this.titleFont=M(this.titleFontSize,this.titleFontStyle,this.titleFontFamily),this.titleHeight=this.title?1.5*this.titleFontSize:0,this.height=this.labels.length*this.fontSize+(this.labels.length-1)*(this.fontSize/2)+2*this.yPadding+this.titleHeight,this.ctx.font=this.titleFont;var t=this.ctx.measureText(this.title).width,e=j(this.ctx,this.font,this.labels)+this.fontSize+3,n=v([e,t]);this.width=n+2*this.xPadding;var r=this.height/2;this.y-r<0?this.y=r:this.y+r>this.chart.height&&(this.y=this.chart.height-r),this.x>this.chart.width/2?this.x-=this.xOffset+this.width:this.x+=this.xOffset},getLineHeight:function(t){var e=this.y-this.height/2+this.yPadding,n=t-1;return 0===t?e+this.titleHeight/3:e+(1.5*this.fontSize*n+this.fontSize/2)+this.titleHeight},draw:function(){if(this.custom)this.custom(this);else{F(this.ctx,this.x,this.y-this.height/2,this.width,this.height,this.cornerRadius);var t=this.ctx;t.fillStyle=this.fillColor,t.fill(),t.closePath(),t.textAlign="left",t.textBaseline="middle",t.fillStyle=this.titleTextColor,t.font=this.titleFont,t.fillText(this.title,this.x+this.xPadding,this.getLineHeight(0)),t.font=this.font,r.each(this.labels,function(e,n){t.fillStyle=this.textColor,t.fillText(e,this.x+this.xPadding+this.fontSize+3,this.getLineHeight(n+1)),t.fillStyle=this.legendColorBackground,t.fillRect(this.x+this.xPadding,this.getLineHeight(n+1)-this.fontSize/2,this.fontSize,this.fontSize),t.fillStyle=this.legendColors[n].fill,t.fillRect(this.x+this.xPadding,this.getLineHeight(n+1)-this.fontSize/2,this.fontSize,this.fontSize)},this)}}}),n.Scale=n.Element.extend({initialize:function(){this.fit()},buildYLabels:function(){this.yLabels=[];for(var t=m(this.stepValue),e=0;e<=this.steps;e++)this.yLabels.push(w(this.templateString,{value:(this.min+e*this.stepValue).toFixed(t)}));this.yLabelWidth=this.display&&this.showLabels?j(this.ctx,this.font,this.yLabels)+10:0},addXLabel:function(t){this.xLabels.push(t),this.valuesCount++,this.fit()},removeXLabel:function(){this.xLabels.shift(),this.valuesCount--,this.fit()},fit:function(){this.startPoint=this.display?this.fontSize:0,this.endPoint=this.display?this.height-1.5*this.fontSize-5:this.height,this.startPoint+=this.padding,this.endPoint-=this.padding;var t,e=this.endPoint,n=this.endPoint-this.startPoint;for(this.calculateYRange(n),this.buildYLabels(),this.calculateXLabelRotation();n>this.endPoint-this.startPoint;)n=this.endPoint-this.startPoint,t=this.yLabelWidth,this.calculateYRange(n),this.buildYLabels(),t<this.yLabelWidth&&(this.endPoint=e,this.calculateXLabelRotation())},calculateXLabelRotation:function(){this.ctx.font=this.font;var t,e,n=this.ctx.measureText(this.xLabels[0]).width,r=this.ctx.measureText(this.xLabels[this.xLabels.length-1]).width;if(this.xScalePaddingRight=r/2+3,this.xScalePaddingLeft=n/2>this.yLabelWidth?n/2:this.yLabelWidth,this.xLabelRotation=0,this.display){var i,o=j(this.ctx,this.font,this.xLabels);this.xLabelWidth=o;for(var a=Math.floor(this.calculateX(1)-this.calculateX(0))-6;this.xLabelWidth>a&&0===this.xLabelRotation||this.xLabelWidth>a&&this.xLabelRotation<=90&&this.xLabelRotation>0;)i=Math.cos($(this.xLabelRotation)),t=i*n,e=i*r,t+this.fontSize/2>this.yLabelWidth&&(this.xScalePaddingLeft=t+this.fontSize/2),this.xScalePaddingRight=this.fontSize/2,this.xLabelRotation++,this.xLabelWidth=i*o;this.xLabelRotation>0&&(this.endPoint-=Math.sin($(this.xLabelRotation))*o+3)}else this.xLabelWidth=0,this.xScalePaddingRight=this.padding,this.xScalePaddingLeft=this.padding},calculateYRange:c,drawingArea:function(){return this.startPoint-this.endPoint},calculateY:function(t){var e=this.drawingArea()/(this.min-this.max);return this.endPoint-e*(t-this.min)},calculateX:function(t){var e=(this.xLabelRotation>0,this.width-(this.xScalePaddingLeft+this.xScalePaddingRight)),n=e/Math.max(this.valuesCount-(this.offsetGridLines?0:1),1),r=n*t+this.xScalePaddingLeft;return this.offsetGridLines&&(r+=n/2),Math.round(r)},update:function(t){r.extend(this,t),this.fit()},draw:function(){var t=this.ctx,e=(this.endPoint-this.startPoint)/this.steps,n=Math.round(this.xScalePaddingLeft);this.display&&(t.fillStyle=this.textColor,t.font=this.font,i(this.yLabels,function(i,o){var a=this.endPoint-e*o,s=Math.round(a),u=this.showHorizontalLines;t.textAlign="right",t.textBaseline="middle",this.showLabels&&t.fillText(i,n-10,a),0!==o||u||(u=!0),u&&t.beginPath(),o>0?(t.lineWidth=this.gridLineWidth,t.strokeStyle=this.gridLineColor):(t.lineWidth=this.lineWidth,t.strokeStyle=this.lineColor),s+=r.aliasPixel(t.lineWidth),u&&(t.moveTo(n,s),t.lineTo(this.width,s),t.stroke(),t.closePath()),t.lineWidth=this.lineWidth,t.strokeStyle=this.lineColor,t.beginPath(),t.moveTo(n-5,s),t.lineTo(n,s),t.stroke(),t.closePath()},this),i(this.xLabels,function(e,n){var r=this.calculateX(n)+y(this.lineWidth),i=this.calculateX(n-(this.offsetGridLines?.5:0))+y(this.lineWidth),o=this.xLabelRotation>0,a=this.showVerticalLines;0!==n||a||(a=!0),a&&t.beginPath(),n>0?(t.lineWidth=this.gridLineWidth,t.strokeStyle=this.gridLineColor):(t.lineWidth=this.lineWidth,t.strokeStyle=this.lineColor),a&&(t.moveTo(i,this.endPoint),t.lineTo(i,this.startPoint-3),t.stroke(),t.closePath()),t.lineWidth=this.lineWidth,t.strokeStyle=this.lineColor,t.beginPath(),t.moveTo(i,this.endPoint),t.lineTo(i,this.endPoint+5),t.stroke(),t.closePath(),t.save(),t.translate(r,o?this.endPoint+12:this.endPoint+8),t.rotate(-1*$(this.xLabelRotation)),t.font=this.font,t.textAlign=o?"right":"center",t.textBaseline=o?"middle":"top",t.fillText(e,0,0),t.restore()},this))}}),n.RadialScale=n.Element.extend({initialize:function(){this.size=g([this.height,this.width]),this.drawingArea=this.display?this.size/2-(this.fontSize/2+this.backdropPaddingY):this.size/2},calculateCenterOffset:function(t){var e=this.drawingArea/(this.max-this.min);return(t-this.min)*e},update:function(){this.lineArc?this.drawingArea=this.display?this.size/2-(this.fontSize/2+this.backdropPaddingY):this.size/2:this.setScaleSize(),this.buildYLabels()},buildYLabels:function(){this.yLabels=[];for(var t=m(this.stepValue),e=0;e<=this.steps;e++)this.yLabels.push(w(this.templateString,{value:(this.min+e*this.stepValue).toFixed(t)}))},getCircumference:function(){return 2*Math.PI/this.valuesCount},setScaleSize:function(){var t,e,n,r,i,o,a,s,u,l,c,f,h=g([this.height/2-this.pointLabelFontSize-5,this.width/2]),p=this.width,v=0;for(this.ctx.font=M(this.pointLabelFontSize,this.pointLabelFontStyle,this.pointLabelFontFamily),e=0;e<this.valuesCount;e++)t=this.getPointPosition(e,h),n=this.ctx.measureText(w(this.templateString,{value:this.labels[e]})).width+5,0===e||e===this.valuesCount/2?(r=n/2,t.x+r>p&&(p=t.x+r,i=e),t.x-r<v&&(v=t.x-r,a=e)):e<this.valuesCount/2?t.x+n>p&&(p=t.x+n,i=e):e>this.valuesCount/2&&t.x-n<v&&(v=t.x-n,a=e);u=v,l=Math.ceil(p-this.width),o=this.getIndexAngle(i),s=this.getIndexAngle(a),c=l/Math.sin(o+Math.PI/2),f=u/Math.sin(s+Math.PI/2),c=d(c)?c:0,f=d(f)?f:0,this.drawingArea=h-(f+c)/2,this.setCenterPoint(f,c)},setCenterPoint:function(t,e){var n=this.width-e-this.drawingArea,r=t+this.drawingArea;this.xCenter=(r+n)/2,this.yCenter=this.height/2},getIndexAngle:function(t){var e=2*Math.PI/this.valuesCount;return t*e-Math.PI/2},getPointPosition:function(t,e){var n=this.getIndexAngle(t);return{x:Math.cos(n)*e+this.xCenter,y:Math.sin(n)*e+this.yCenter}},draw:function(){if(this.display){var t=this.ctx;if(i(this.yLabels,function(e,n){if(n>0){var r,i=n*(this.drawingArea/this.steps),o=this.yCenter-i;if(this.lineWidth>0)if(t.strokeStyle=this.lineColor,t.lineWidth=this.lineWidth,this.lineArc)t.beginPath(),t.arc(this.xCenter,this.yCenter,i,0,2*Math.PI),t.closePath(),t.stroke();else{t.beginPath();for(var a=0;a<this.valuesCount;a++)r=this.getPointPosition(a,this.calculateCenterOffset(this.min+n*this.stepValue)),0===a?t.moveTo(r.x,r.y):t.lineTo(r.x,r.y);t.closePath(),t.stroke()}if(this.showLabels){if(t.font=M(this.fontSize,this.fontStyle,this.fontFamily),this.showLabelBackdrop){var s=t.measureText(e).width;t.fillStyle=this.backdropColor,t.fillRect(this.xCenter-s/2-this.backdropPaddingX,o-this.fontSize/2-this.backdropPaddingY,s+2*this.backdropPaddingX,this.fontSize+2*this.backdropPaddingY)}t.textAlign="center",t.textBaseline="middle",t.fillStyle=this.fontColor,t.fillText(e,this.xCenter,o)}}},this),!this.lineArc){t.lineWidth=this.angleLineWidth,t.strokeStyle=this.angleLineColor;for(var e=this.valuesCount-1;e>=0;e--){var n=null,r=null;if(this.angleLineWidth>0&&e%this.angleLineInterval===0&&(n=this.calculateCenterOffset(this.max),r=this.getPointPosition(e,n),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(r.x,r.y),t.stroke(),t.closePath()),this.backgroundColors&&this.backgroundColors.length==this.valuesCount){null==n&&(n=this.calculateCenterOffset(this.max)),null==r&&(r=this.getPointPosition(e,n));var o=this.getPointPosition(0===e?this.valuesCount-1:e-1,n),a=this.getPointPosition(e===this.valuesCount-1?0:e+1,n),s={x:(o.x+r.x)/2,y:(o.y+r.y)/2},u={x:(r.x+a.x)/2,y:(r.y+a.y)/2};t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(s.x,s.y),t.lineTo(r.x,r.y),t.lineTo(u.x,u.y),t.fillStyle=this.backgroundColors[e],t.fill(),t.closePath()}var l=this.getPointPosition(e,this.calculateCenterOffset(this.max)+5);t.font=M(this.pointLabelFontSize,this.pointLabelFontStyle,this.pointLabelFontFamily),t.fillStyle=this.pointLabelFontColor;var c=this.labels.length,f=this.labels.length/2,h=f/2,p=h>e||e>c-h,d=e===h||e===c-h;0===e?t.textAlign="center":e===f?t.textAlign="center":f>e?t.textAlign="left":t.textAlign="right",d?t.textBaseline="middle":p?t.textBaseline="bottom":t.textBaseline="top",t.fillText(this.labels[e],l.x,l.y)}}}}}),n.animationService={frameDuration:17,animations:[],dropFrames:0,addAnimation:function(t,e){for(var n=0;n<this.animations.length;++n)if(this.animations[n].chartInstance===t)return void(this.animations[n].animationObject=e);this.animations.push({chartInstance:t,animationObject:e}),1==this.animations.length&&r.requestAnimFrame.call(window,this.digestWrapper)},cancelAnimation:function(t){var e=r.findNextWhere(this.animations,function(e){return e.chartInstance===t});e&&this.animations.splice(e,1)},digestWrapper:function(){n.animationService.startDigest.call(n.animationService)},startDigest:function(){var t=Date.now(),e=0;this.dropFrames>1&&(e=Math.floor(this.dropFrames),this.dropFrames-=e);for(var n=0;n<this.animations.length;n++)null===this.animations[n].animationObject.currentStep&&(this.animations[n].animationObject.currentStep=0),this.animations[n].animationObject.currentStep+=1+e,this.animations[n].animationObject.currentStep>this.animations[n].animationObject.numSteps&&(this.animations[n].animationObject.currentStep=this.animations[n].animationObject.numSteps),this.animations[n].animationObject.render(this.animations[n].chartInstance,this.animations[n].animationObject),this.animations[n].animationObject.currentStep==this.animations[n].animationObject.numSteps&&(this.animations[n].animationObject.onAnimationComplete.call(this.animations[n].chartInstance),this.animations.splice(n,1),n--);var i=Date.now(),o=i-t-this.frameDuration,a=o/this.frameDuration;a>1&&(this.dropFrames+=a),this.animations.length>0&&r.requestAnimFrame.call(window,this.digestWrapper)}},r.addEvent(window,"resize",function(){var t;return function(){clearTimeout(t),t=setTimeout(function(){i(n.instances,function(t){t.options.responsive&&t.resize(t.render,!0)})},50)}}()),p?define("Chart",[],function(){return n}):"object"==typeof module&&module.exports&&(module.exports=n),t.Chart=n,n.noConflict=function(){return t.Chart=e,n}}.call(this),function(){"use strict";var t=this,e=t.Chart,n=e.helpers,r={scaleBeginAtZero:!0,scaleShowGridLines:!0,scaleGridLineColor:"rgba(0,0,0,.05)",scaleGridLineWidth:1,scaleShowHorizontalLines:!0,scaleShowVerticalLines:!0,barShowStroke:!0,barStrokeWidth:2,barValueSpacing:5,barDatasetSpacing:1,legendTemplate:'<ul class="<%=name.toLowerCase()%>-legend"><% for (var i=0; i<datasets.length; i++){%><li><span class="<%=name.toLowerCase()%>-legend-icon" style="background-color:<%=datasets[i].fillColor%>"></span><span class="<%=name.toLowerCase()%>-legend-text"><%if(datasets[i].label){%><%=datasets[i].label%><%}%></span></li><%}%></ul>'};e.Type.extend({name:"Bar",defaults:r,initialize:function(t){var r=this.options;this.ScaleClass=e.Scale.extend({offsetGridLines:!0,calculateBarX:function(t,e,n){var i=this.calculateBaseWidth(),o=this.calculateX(n)-i/2,a=this.calculateBarWidth(t);return o+a*e+e*r.barDatasetSpacing+a/2},calculateBaseWidth:function(){return this.calculateX(1)-this.calculateX(0)-2*r.barValueSpacing},calculateBarWidth:function(t){var e=this.calculateBaseWidth()-(t-1)*r.barDatasetSpacing;return e/t}}),this.datasets=[],this.options.showTooltips&&n.bindEvents(this,this.options.tooltipEvents,function(t){var e="mouseout"!==t.type?this.getBarsAtEvent(t):[];this.eachBars(function(t){t.restore(["fillColor","strokeColor"])}),n.each(e,function(t){t&&(t.fillColor=t.highlightFill,t.strokeColor=t.highlightStroke)}),this.showTooltip(e)}),this.BarClass=e.Rectangle.extend({strokeWidth:this.options.barStrokeWidth,showStroke:this.options.barShowStroke,ctx:this.chart.ctx}),n.each(t.datasets,function(e,r){var i={label:e.label||null,fillColor:e.fillColor,strokeColor:e.strokeColor,bars:[]};this.datasets.push(i),n.each(e.data,function(n,r){i.bars.push(new this.BarClass({value:n,label:t.labels[r],datasetLabel:e.label,strokeColor:"object"==typeof e.strokeColor?e.strokeColor[r]:e.strokeColor,fillColor:"object"==typeof e.fillColor?e.fillColor[r]:e.fillColor,highlightFill:e.highlightFill?"object"==typeof e.highlightFill?e.highlightFill[r]:e.highlightFill:"object"==typeof e.fillColor?e.fillColor[r]:e.fillColor,highlightStroke:e.highlightStroke?"object"==typeof e.highlightStroke?e.highlightStroke[r]:e.highlightStroke:"object"==typeof e.strokeColor?e.strokeColor[r]:e.strokeColor}))},this)},this),this.buildScale(t.labels),this.BarClass.prototype.base=this.scale.endPoint,this.eachBars(function(t,e,r){n.extend(t,{width:this.scale.calculateBarWidth(this.datasets.length),x:this.scale.calculateBarX(this.datasets.length,r,e),y:this.scale.endPoint}),t.save()},this),this.render()},update:function(){this.scale.update(),n.each(this.activeElements,function(t){t.restore(["fillColor","strokeColor"])}),this.eachBars(function(t){t.save()}),this.render()},eachBars:function(t){n.each(this.datasets,function(e,r){n.each(e.bars,t,this,r)},this)},getBarsAtEvent:function(t){for(var e,r=[],i=n.getRelativePosition(t),o=function(t){r.push(t.bars[e])},a=0;a<this.datasets.length;a++)for(e=0;e<this.datasets[a].bars.length;e++)if(this.datasets[a].bars[e].inRange(i.x,i.y))return n.each(this.datasets,o),r;return r},buildScale:function(t){var e=this,r=function(){var t=[];return e.eachBars(function(e){t.push(e.value)}),t},i={templateString:this.options.scaleLabel,height:this.chart.height,width:this.chart.width,ctx:this.chart.ctx,textColor:this.options.scaleFontColor,fontSize:this.options.scaleFontSize,fontStyle:this.options.scaleFontStyle,fontFamily:this.options.scaleFontFamily,valuesCount:t.length,beginAtZero:this.options.scaleBeginAtZero,integersOnly:this.options.scaleIntegersOnly,calculateYRange:function(t){var e=n.calculateScaleRange(r(),t,this.fontSize,this.beginAtZero,this.integersOnly);n.extend(this,e)},xLabels:t,font:n.fontString(this.options.scaleFontSize,this.options.scaleFontStyle,this.options.scaleFontFamily),lineWidth:this.options.scaleLineWidth,lineColor:this.options.scaleLineColor,showHorizontalLines:this.options.scaleShowHorizontalLines,showVerticalLines:this.options.scaleShowVerticalLines,gridLineWidth:this.options.scaleShowGridLines?this.options.scaleGridLineWidth:0,gridLineColor:this.options.scaleShowGridLines?this.options.scaleGridLineColor:"rgba(0,0,0,0)",padding:this.options.showScale?0:this.options.barShowStroke?this.options.barStrokeWidth:0,showLabels:this.options.scaleShowLabels,display:this.options.showScale};this.options.scaleOverride&&n.extend(i,{calculateYRange:n.noop,steps:this.options.scaleSteps,stepValue:this.options.scaleStepWidth,min:this.options.scaleStartValue,max:this.options.scaleStartValue+this.options.scaleSteps*this.options.scaleStepWidth}),this.scale=new this.ScaleClass(i)},addData:function(t,e){n.each(t,function(t,n){this.datasets[n].bars.push(new this.BarClass({value:t,label:e,datasetLabel:this.datasets[n].label,x:this.scale.calculateBarX(this.datasets.length,n,this.scale.valuesCount+1),y:this.scale.endPoint,width:this.scale.calculateBarWidth(this.datasets.length),base:this.scale.endPoint,strokeColor:this.datasets[n].strokeColor,fillColor:this.datasets[n].fillColor}))},this),this.scale.addXLabel(e),this.update()},removeData:function(){this.scale.removeXLabel(),n.each(this.datasets,function(t){t.bars.shift()},this),this.update()},reflow:function(){n.extend(this.BarClass.prototype,{y:this.scale.endPoint,base:this.scale.endPoint});var t=n.extend({height:this.chart.height,width:this.chart.width});this.scale.update(t)},draw:function(t){var e=t||1;this.clear();this.chart.ctx;this.scale.draw(e),n.each(this.datasets,function(t,r){n.each(t.bars,function(t,n){t.hasValue()&&(t.base=this.scale.endPoint,t.transition({x:this.scale.calculateBarX(this.datasets.length,r,n),y:this.scale.calculateY(t.value),
-width:this.scale.calculateBarWidth(this.datasets.length)},e).draw())},this)},this)}})}.call(this),function(){"use strict";var t=this,e=t.Chart,n=e.helpers,r={segmentShowStroke:!0,segmentStrokeColor:"#fff",segmentStrokeWidth:2,percentageInnerCutout:50,animationSteps:100,animationEasing:"easeOutBounce",animateRotate:!0,animateScale:!1,legendTemplate:'<ul class="<%=name.toLowerCase()%>-legend"><% for (var i=0; i<segments.length; i++){%><li><span class="<%=name.toLowerCase()%>-legend-icon" style="background-color:<%=segments[i].fillColor%>"></span><span class="<%=name.toLowerCase()%>-legend-text"><%if(segments[i].label){%><%=segments[i].label%><%}%></span></li><%}%></ul>'};e.Type.extend({name:"Doughnut",defaults:r,initialize:function(t){this.segments=[],this.outerRadius=(n.min([this.chart.width,this.chart.height])-this.options.segmentStrokeWidth/2)/2,this.SegmentArc=e.Arc.extend({ctx:this.chart.ctx,x:this.chart.width/2,y:this.chart.height/2}),this.options.showTooltips&&n.bindEvents(this,this.options.tooltipEvents,function(t){var e="mouseout"!==t.type?this.getSegmentsAtEvent(t):[];n.each(this.segments,function(t){t.restore(["fillColor"])}),n.each(e,function(t){t.fillColor=t.highlightColor}),this.showTooltip(e)}),this.calculateTotal(t),n.each(t,function(e,n){e.color||(e.color="hsl("+360*n/t.length+", 100%, 50%)"),this.addData(e,n,!0)},this),this.render()},getSegmentsAtEvent:function(t){var e=[],r=n.getRelativePosition(t);return n.each(this.segments,function(t){t.inRange(r.x,r.y)&&e.push(t)},this),e},addData:function(t,n,r){var i=void 0!==n?n:this.segments.length;"undefined"==typeof t.color&&(t.color=e.defaults.global.segmentColorDefault[i%e.defaults.global.segmentColorDefault.length],t.highlight=e.defaults.global.segmentHighlightColorDefaults[i%e.defaults.global.segmentHighlightColorDefaults.length]),this.segments.splice(i,0,new this.SegmentArc({value:t.value,outerRadius:this.options.animateScale?0:this.outerRadius,innerRadius:this.options.animateScale?0:this.outerRadius/100*this.options.percentageInnerCutout,fillColor:t.color,highlightColor:t.highlight||t.color,showStroke:this.options.segmentShowStroke,strokeWidth:this.options.segmentStrokeWidth,strokeColor:this.options.segmentStrokeColor,startAngle:1.5*Math.PI,circumference:this.options.animateRotate?0:this.calculateCircumference(t.value),label:t.label})),r||(this.reflow(),this.update())},calculateCircumference:function(t){return this.total>0?2*Math.PI*(t/this.total):0},calculateTotal:function(t){this.total=0,n.each(t,function(t){this.total+=Math.abs(t.value)},this)},update:function(){this.calculateTotal(this.segments),n.each(this.activeElements,function(t){t.restore(["fillColor"])}),n.each(this.segments,function(t){t.save()}),this.render()},removeData:function(t){var e=n.isNumber(t)?t:this.segments.length-1;this.segments.splice(e,1),this.reflow(),this.update()},reflow:function(){n.extend(this.SegmentArc.prototype,{x:this.chart.width/2,y:this.chart.height/2}),this.outerRadius=(n.min([this.chart.width,this.chart.height])-this.options.segmentStrokeWidth/2)/2,n.each(this.segments,function(t){t.update({outerRadius:this.outerRadius,innerRadius:this.outerRadius/100*this.options.percentageInnerCutout})},this)},draw:function(t){var e=t?t:1;this.clear(),n.each(this.segments,function(t,n){t.transition({circumference:this.calculateCircumference(t.value),outerRadius:this.outerRadius,innerRadius:this.outerRadius/100*this.options.percentageInnerCutout},e),t.endAngle=t.startAngle+t.circumference,t.draw(),0===n&&(t.startAngle=1.5*Math.PI),n<this.segments.length-1&&(this.segments[n+1].startAngle=t.endAngle)},this)}}),e.types.Doughnut.extend({name:"Pie",defaults:n.merge(r,{percentageInnerCutout:0})})}.call(this),function(){"use strict";var t=this,e=t.Chart,n=e.helpers,r={scaleShowGridLines:!0,scaleGridLineColor:"rgba(0,0,0,.05)",scaleGridLineWidth:1,scaleShowHorizontalLines:!0,scaleShowVerticalLines:!0,bezierCurve:!0,bezierCurveTension:.4,pointDot:!0,pointDotRadius:4,pointDotStrokeWidth:1,pointHitDetectionRadius:20,datasetStroke:!0,datasetStrokeWidth:2,datasetFill:!0,legendTemplate:'<ul class="<%=name.toLowerCase()%>-legend"><% for (var i=0; i<datasets.length; i++){%><li><span class="<%=name.toLowerCase()%>-legend-icon" style="background-color:<%=datasets[i].strokeColor%>"></span><span class="<%=name.toLowerCase()%>-legend-text"><%if(datasets[i].label){%><%=datasets[i].label%><%}%></span></li><%}%></ul>',offsetGridLines:!1};e.Type.extend({name:"Line",defaults:r,initialize:function(t){this.PointClass=e.Point.extend({offsetGridLines:this.options.offsetGridLines,strokeWidth:this.options.pointDotStrokeWidth,radius:this.options.pointDotRadius,display:this.options.pointDot,hitDetectionRadius:this.options.pointHitDetectionRadius,ctx:this.chart.ctx,inRange:function(t){return Math.pow(t-this.x,2)<Math.pow(this.radius+this.hitDetectionRadius,2)}}),this.datasets=[],this.options.showTooltips&&n.bindEvents(this,this.options.tooltipEvents,function(t){var e="mouseout"!==t.type?this.getPointsAtEvent(t):[];this.eachPoints(function(t){t.restore(["fillColor","strokeColor"])}),n.each(e,function(t){t.fillColor=t.highlightFill,t.strokeColor=t.highlightStroke}),this.showTooltip(e)}),n.each(t.datasets,function(e){var r={label:e.label||null,fillColor:e.fillColor,strokeColor:e.strokeColor,pointColor:e.pointColor,pointStrokeColor:e.pointStrokeColor,points:[]};this.datasets.push(r),n.each(e.data,function(n,i){r.points.push(new this.PointClass({value:n,label:t.labels[i],datasetLabel:e.label,strokeColor:e.pointStrokeColor,fillColor:e.pointColor,highlightFill:e.pointHighlightFill||e.pointColor,highlightStroke:e.pointHighlightStroke||e.pointStrokeColor}))},this),this.buildScale(t.labels),this.eachPoints(function(t,e){n.extend(t,{x:this.scale.calculateX(e),y:this.scale.endPoint}),t.save()},this)},this),this.render()},update:function(){this.scale.update(),n.each(this.activeElements,function(t){t.restore(["fillColor","strokeColor"])}),this.eachPoints(function(t){t.save()}),this.render()},eachPoints:function(t){n.each(this.datasets,function(e){n.each(e.points,t,this)},this)},getPointsAtEvent:function(t){var e=[],r=n.getRelativePosition(t);return n.each(this.datasets,function(t){n.each(t.points,function(t){t.inRange(r.x,r.y)&&e.push(t)})},this),e},buildScale:function(t){var r=this,i=function(){var t=[];return r.eachPoints(function(e){t.push(e.value)}),t},o={templateString:this.options.scaleLabel,height:this.chart.height,width:this.chart.width,ctx:this.chart.ctx,textColor:this.options.scaleFontColor,offsetGridLines:this.options.offsetGridLines,fontSize:this.options.scaleFontSize,fontStyle:this.options.scaleFontStyle,fontFamily:this.options.scaleFontFamily,valuesCount:t.length,beginAtZero:this.options.scaleBeginAtZero,integersOnly:this.options.scaleIntegersOnly,calculateYRange:function(t){var e=n.calculateScaleRange(i(),t,this.fontSize,this.beginAtZero,this.integersOnly);n.extend(this,e)},xLabels:t,font:n.fontString(this.options.scaleFontSize,this.options.scaleFontStyle,this.options.scaleFontFamily),lineWidth:this.options.scaleLineWidth,lineColor:this.options.scaleLineColor,showHorizontalLines:this.options.scaleShowHorizontalLines,showVerticalLines:this.options.scaleShowVerticalLines,gridLineWidth:this.options.scaleShowGridLines?this.options.scaleGridLineWidth:0,gridLineColor:this.options.scaleShowGridLines?this.options.scaleGridLineColor:"rgba(0,0,0,0)",padding:this.options.showScale?0:this.options.pointDotRadius+this.options.pointDotStrokeWidth,showLabels:this.options.scaleShowLabels,display:this.options.showScale};this.options.scaleOverride&&n.extend(o,{calculateYRange:n.noop,steps:this.options.scaleSteps,stepValue:this.options.scaleStepWidth,min:this.options.scaleStartValue,max:this.options.scaleStartValue+this.options.scaleSteps*this.options.scaleStepWidth}),this.scale=new e.Scale(o)},addData:function(t,e){n.each(t,function(t,n){this.datasets[n].points.push(new this.PointClass({value:t,label:e,datasetLabel:this.datasets[n].label,x:this.scale.calculateX(this.scale.valuesCount+1),y:this.scale.endPoint,strokeColor:this.datasets[n].pointStrokeColor,fillColor:this.datasets[n].pointColor}))},this),this.scale.addXLabel(e),this.update()},removeData:function(){this.scale.removeXLabel(),n.each(this.datasets,function(t){t.points.shift()},this),this.update()},reflow:function(){var t=n.extend({height:this.chart.height,width:this.chart.width});this.scale.update(t)},draw:function(t){var e=t||1;this.clear();var r=this.chart.ctx,i=function(t){return null!==t.value},o=function(t,e,r){return n.findNextWhere(e,i,r)||t},a=function(t,e,r){return n.findPreviousWhere(e,i,r)||t};this.scale&&(this.scale.draw(e),n.each(this.datasets,function(t){var s=n.where(t.points,i);n.each(t.points,function(t,n){t.hasValue()&&t.transition({y:this.scale.calculateY(t.value),x:this.scale.calculateX(n)},e)},this),this.options.bezierCurve&&n.each(s,function(t,e){var r=e>0&&e<s.length-1?this.options.bezierCurveTension:0;t.controlPoints=n.splineCurve(a(t,s,e),t,o(t,s,e),r),t.controlPoints.outer.y>this.scale.endPoint?t.controlPoints.outer.y=this.scale.endPoint:t.controlPoints.outer.y<this.scale.startPoint&&(t.controlPoints.outer.y=this.scale.startPoint),t.controlPoints.inner.y>this.scale.endPoint?t.controlPoints.inner.y=this.scale.endPoint:t.controlPoints.inner.y<this.scale.startPoint&&(t.controlPoints.inner.y=this.scale.startPoint)},this),r.lineWidth=this.options.datasetStrokeWidth,r.strokeStyle=t.strokeColor,r.beginPath(),n.each(s,function(t,e){if(0===e)r.moveTo(t.x,t.y);else if(this.options.bezierCurve){var n=a(t,s,e);r.bezierCurveTo(n.controlPoints.outer.x,n.controlPoints.outer.y,t.controlPoints.inner.x,t.controlPoints.inner.y,t.x,t.y)}else r.lineTo(t.x,t.y)},this),this.options.datasetStroke&&r.stroke(),this.options.datasetFill&&s.length>0&&(r.lineTo(s[s.length-1].x,this.scale.endPoint),r.lineTo(s[0].x,this.scale.endPoint),r.fillStyle=t.fillColor,r.closePath(),r.fill()),n.each(s,function(t){t.draw()})},this))}})}.call(this),function(){"use strict";var t=this,e=t.Chart,n=e.helpers,r={scaleShowLabelBackdrop:!0,scaleBackdropColor:"rgba(255,255,255,0.75)",scaleBeginAtZero:!0,scaleBackdropPaddingY:2,scaleBackdropPaddingX:2,scaleShowLine:!0,segmentShowStroke:!0,segmentStrokeColor:"#fff",segmentStrokeWidth:2,animationSteps:100,animationEasing:"easeOutBounce",animateRotate:!0,animateScale:!1,legendTemplate:'<ul class="<%=name.toLowerCase()%>-legend"><% for (var i=0; i<segments.length; i++){%><li><span class="<%=name.toLowerCase()%>-legend-icon" style="background-color:<%=segments[i].fillColor%>"></span><span class="<%=name.toLowerCase()%>-legend-text"><%if(segments[i].label){%><%=segments[i].label%><%}%></span></li><%}%></ul>'};e.Type.extend({name:"PolarArea",defaults:r,initialize:function(t){this.segments=[],this.SegmentArc=e.Arc.extend({showStroke:this.options.segmentShowStroke,strokeWidth:this.options.segmentStrokeWidth,strokeColor:this.options.segmentStrokeColor,ctx:this.chart.ctx,innerRadius:0,x:this.chart.width/2,y:this.chart.height/2}),this.scale=new e.RadialScale({display:this.options.showScale,fontStyle:this.options.scaleFontStyle,fontSize:this.options.scaleFontSize,fontFamily:this.options.scaleFontFamily,fontColor:this.options.scaleFontColor,showLabels:this.options.scaleShowLabels,showLabelBackdrop:this.options.scaleShowLabelBackdrop,backdropColor:this.options.scaleBackdropColor,backdropPaddingY:this.options.scaleBackdropPaddingY,backdropPaddingX:this.options.scaleBackdropPaddingX,lineWidth:this.options.scaleShowLine?this.options.scaleLineWidth:0,lineColor:this.options.scaleLineColor,lineArc:!0,width:this.chart.width,height:this.chart.height,xCenter:this.chart.width/2,yCenter:this.chart.height/2,ctx:this.chart.ctx,templateString:this.options.scaleLabel,valuesCount:t.length}),this.updateScaleRange(t),this.scale.update(),n.each(t,function(t,e){this.addData(t,e,!0)},this),this.options.showTooltips&&n.bindEvents(this,this.options.tooltipEvents,function(t){var e="mouseout"!==t.type?this.getSegmentsAtEvent(t):[];n.each(this.segments,function(t){t.restore(["fillColor"])}),n.each(e,function(t){t.fillColor=t.highlightColor}),this.showTooltip(e)}),this.render()},getSegmentsAtEvent:function(t){var e=[],r=n.getRelativePosition(t);return n.each(this.segments,function(t){t.inRange(r.x,r.y)&&e.push(t)},this),e},addData:function(t,e,n){var r=e||this.segments.length;this.segments.splice(r,0,new this.SegmentArc({fillColor:t.color,highlightColor:t.highlight||t.color,label:t.label,value:t.value,outerRadius:this.options.animateScale?0:this.scale.calculateCenterOffset(t.value),circumference:this.options.animateRotate?0:this.scale.getCircumference(),startAngle:1.5*Math.PI})),n||(this.reflow(),this.update())},removeData:function(t){var e=n.isNumber(t)?t:this.segments.length-1;this.segments.splice(e,1),this.reflow(),this.update()},calculateTotal:function(t){this.total=0,n.each(t,function(t){this.total+=t.value},this),this.scale.valuesCount=this.segments.length},updateScaleRange:function(t){var e=[];n.each(t,function(t){e.push(t.value)});var r=this.options.scaleOverride?{steps:this.options.scaleSteps,stepValue:this.options.scaleStepWidth,min:this.options.scaleStartValue,max:this.options.scaleStartValue+this.options.scaleSteps*this.options.scaleStepWidth}:n.calculateScaleRange(e,n.min([this.chart.width,this.chart.height])/2,this.options.scaleFontSize,this.options.scaleBeginAtZero,this.options.scaleIntegersOnly);n.extend(this.scale,r,{size:n.min([this.chart.width,this.chart.height]),xCenter:this.chart.width/2,yCenter:this.chart.height/2})},update:function(){this.calculateTotal(this.segments),n.each(this.segments,function(t){t.save()}),this.reflow(),this.render()},reflow:function(){n.extend(this.SegmentArc.prototype,{x:this.chart.width/2,y:this.chart.height/2}),this.updateScaleRange(this.segments),this.scale.update(),n.extend(this.scale,{xCenter:this.chart.width/2,yCenter:this.chart.height/2}),n.each(this.segments,function(t){t.update({outerRadius:this.scale.calculateCenterOffset(t.value)})},this)},draw:function(t){var e=t||1;this.clear(),n.each(this.segments,function(t,n){t.transition({circumference:this.scale.getCircumference(),outerRadius:this.scale.calculateCenterOffset(t.value)},e),t.endAngle=t.startAngle+t.circumference,0===n&&(t.startAngle=1.5*Math.PI),n<this.segments.length-1&&(this.segments[n+1].startAngle=t.endAngle),t.draw()},this),this.scale.draw()}})}.call(this),function(){"use strict";var t=this,e=t.Chart,n=e.helpers;e.Type.extend({name:"Radar",defaults:{scaleShowLine:!0,angleShowLineOut:!0,scaleShowLabels:!1,scaleBeginAtZero:!0,angleLineColor:"rgba(0,0,0,.1)",angleLineWidth:1,angleLineInterval:1,pointLabelFontFamily:"'Arial'",pointLabelFontStyle:"normal",pointLabelFontSize:10,pointLabelFontColor:"#666",pointDot:!0,pointDotRadius:3,pointDotStrokeWidth:1,pointHitDetectionRadius:20,datasetStroke:!0,datasetStrokeWidth:2,datasetFill:!0,legendTemplate:'<ul class="<%=name.toLowerCase()%>-legend"><% for (var i=0; i<datasets.length; i++){%><li><span class="<%=name.toLowerCase()%>-legend-icon" style="background-color:<%=datasets[i].strokeColor%>"></span><span class="<%=name.toLowerCase()%>-legend-text"><%if(datasets[i].label){%><%=datasets[i].label%><%}%></span></li><%}%></ul>'},initialize:function(t){this.PointClass=e.Point.extend({strokeWidth:this.options.pointDotStrokeWidth,radius:this.options.pointDotRadius,display:this.options.pointDot,hitDetectionRadius:this.options.pointHitDetectionRadius,ctx:this.chart.ctx}),this.datasets=[],this.buildScale(t),this.options.showTooltips&&n.bindEvents(this,this.options.tooltipEvents,function(t){var e="mouseout"!==t.type?this.getPointsAtEvent(t):[];this.eachPoints(function(t){t.restore(["fillColor","strokeColor"])}),n.each(e,function(t){t.fillColor=t.highlightFill,t.strokeColor=t.highlightStroke}),this.showTooltip(e)}),n.each(t.datasets,function(e){var r={label:e.label||null,fillColor:e.fillColor,strokeColor:e.strokeColor,pointColor:e.pointColor,pointStrokeColor:e.pointStrokeColor,points:[]};this.datasets.push(r),n.each(e.data,function(n,i){var o;this.scale.animation||(o=this.scale.getPointPosition(i,this.scale.calculateCenterOffset(n))),r.points.push(new this.PointClass({value:n,label:t.labels[i],datasetLabel:e.label,x:this.options.animation?this.scale.xCenter:o.x,y:this.options.animation?this.scale.yCenter:o.y,strokeColor:e.pointStrokeColor,fillColor:e.pointColor,highlightFill:e.pointHighlightFill||e.pointColor,highlightStroke:e.pointHighlightStroke||e.pointStrokeColor}))},this)},this),this.render()},eachPoints:function(t){n.each(this.datasets,function(e){n.each(e.points,t,this)},this)},getPointsAtEvent:function(t){var e=n.getRelativePosition(t),r=n.getAngleFromPoint({x:this.scale.xCenter,y:this.scale.yCenter},e),i=2*Math.PI/this.scale.valuesCount,o=Math.round((r.angle-1.5*Math.PI)/i),a=[];return(o>=this.scale.valuesCount||0>o)&&(o=0),r.distance<=this.scale.drawingArea&&n.each(this.datasets,function(t){a.push(t.points[o])}),a},buildScale:function(t){this.scale=new e.RadialScale({display:this.options.showScale,fontStyle:this.options.scaleFontStyle,fontSize:this.options.scaleFontSize,fontFamily:this.options.scaleFontFamily,fontColor:this.options.scaleFontColor,showLabels:this.options.scaleShowLabels,showLabelBackdrop:this.options.scaleShowLabelBackdrop,backdropColor:this.options.scaleBackdropColor,backgroundColors:this.options.scaleBackgroundColors,backdropPaddingY:this.options.scaleBackdropPaddingY,backdropPaddingX:this.options.scaleBackdropPaddingX,lineWidth:this.options.scaleShowLine?this.options.scaleLineWidth:0,lineColor:this.options.scaleLineColor,angleLineColor:this.options.angleLineColor,angleLineWidth:this.options.angleShowLineOut?this.options.angleLineWidth:0,angleLineInterval:this.options.angleLineInterval?this.options.angleLineInterval:1,pointLabelFontColor:this.options.pointLabelFontColor,pointLabelFontSize:this.options.pointLabelFontSize,pointLabelFontFamily:this.options.pointLabelFontFamily,pointLabelFontStyle:this.options.pointLabelFontStyle,height:this.chart.height,width:this.chart.width,xCenter:this.chart.width/2,yCenter:this.chart.height/2,ctx:this.chart.ctx,templateString:this.options.scaleLabel,labels:t.labels,valuesCount:t.datasets[0].data.length}),this.scale.setScaleSize(),this.updateScaleRange(t.datasets),this.scale.buildYLabels()},updateScaleRange:function(t){var e=function(){var e=[];return n.each(t,function(t){t.data?e=e.concat(t.data):n.each(t.points,function(t){e.push(t.value)})}),e}(),r=this.options.scaleOverride?{steps:this.options.scaleSteps,stepValue:this.options.scaleStepWidth,min:this.options.scaleStartValue,max:this.options.scaleStartValue+this.options.scaleSteps*this.options.scaleStepWidth}:n.calculateScaleRange(e,n.min([this.chart.width,this.chart.height])/2,this.options.scaleFontSize,this.options.scaleBeginAtZero,this.options.scaleIntegersOnly);n.extend(this.scale,r)},addData:function(t,e){this.scale.valuesCount++,n.each(t,function(t,n){var r=this.scale.getPointPosition(this.scale.valuesCount,this.scale.calculateCenterOffset(t));this.datasets[n].points.push(new this.PointClass({value:t,label:e,datasetLabel:this.datasets[n].label,x:r.x,y:r.y,strokeColor:this.datasets[n].pointStrokeColor,fillColor:this.datasets[n].pointColor}))},this),this.scale.labels.push(e),this.reflow(),this.update()},removeData:function(){this.scale.valuesCount--,this.scale.labels.shift(),n.each(this.datasets,function(t){t.points.shift()},this),this.reflow(),this.update()},update:function(){this.eachPoints(function(t){t.save()}),this.reflow(),this.render()},reflow:function(){n.extend(this.scale,{width:this.chart.width,height:this.chart.height,size:n.min([this.chart.width,this.chart.height]),xCenter:this.chart.width/2,yCenter:this.chart.height/2}),this.updateScaleRange(this.datasets),this.scale.setScaleSize(),this.scale.buildYLabels()},draw:function(t){var e=t||1,r=this.chart.ctx;this.clear(),this.scale.draw(),n.each(this.datasets,function(t){n.each(t.points,function(t,n){t.hasValue()&&t.transition(this.scale.getPointPosition(n,this.scale.calculateCenterOffset(t.value)),e)},this),r.lineWidth=this.options.datasetStrokeWidth,r.strokeStyle=t.strokeColor,r.beginPath(),n.each(t.points,function(t,e){0===e?r.moveTo(t.x,t.y):r.lineTo(t.x,t.y)},this),r.closePath(),r.stroke(),r.fillStyle=t.fillColor,this.options.datasetFill&&r.fill(),n.each(t.points,function(t){t.hasValue()&&t.draw()})},this)}})}.call(this),function(t){"use strict";"object"==typeof exports?module.exports=t("undefined"!=typeof angular?angular:require("angular"),"undefined"!=typeof Chart?Chart:require("chart.js")):"function"==typeof define&&define.amd?define(["angular","chart"],t):t(angular,Chart)}(function(t,e){"use strict";function n(){var n={},r={Chart:e,getOptions:function(e){var r=e&&n[e]||{};return t.extend({},n,r)}};this.setOptions=function(e,r){return r?void(n[e]=t.extend(n[e]||{},r)):(r=e,void(n=t.extend(n,r)))},this.$get=function(){return r}}function r(n,r){function o(t,e){return t&&e&&t.length&&e.length?Array.isArray(t[0])?t.length===e.length&&t.every(function(t,n){return t.length===e[n].length}):e.reduce(a,0)>0?t.length===e.length:!1:!1}function a(t,e){return t+e}function s(e,n,r,i){var o=null;return function(a){var s=n.getPointsAtEvent||n.getBarsAtEvent||n.getSegmentsAtEvent;if(s){var u=s.call(n,a);i!==!1&&t.equals(o,u)!==!1||(o=u,e[r](u,a),e.$apply())}}}function u(r,i){for(var o=!1,a=t.copy(i.colours||n.getOptions(r).colours||e.defaults.global.colours);a.length<i.data.length;)a.push(i.getColour()),o=!0;return o&&(i.colours=a),a.map(l)}function l(t){return"object"==typeof t&&null!==t?t:"string"==typeof t&&"#"===t[0]?f(d(t.substr(1))):c()}function c(){var t=[h(0,255),h(0,255),h(0,255)];return f(t)}function f(t){return{fillColor:p(t,.2),strokeColor:p(t,1),pointColor:p(t,1),pointStrokeColor:"#fff",pointHighlightFill:"#fff",pointHighlightStroke:p(t,.8)}}function h(t,e){return Math.floor(Math.random()*(e-t+1))+t}function p(t,e){return i?"rgb("+t.join(",")+")":"rgba("+t.concat(e).join(",")+")"}function d(t){var e=parseInt(t,16),n=e>>16&255,r=e>>8&255,i=255&e;return[n,r,i]}function v(e,n,r,i){return{labels:e,datasets:n.map(function(e,n){return t.extend({},i[n],{label:r[n],data:e})})}}function g(e,n,r){return e.map(function(e,i){return t.extend({},r[i],{label:e,value:n[i],color:r[i].strokeColor,highlight:r[i].pointHighlightStroke})})}function m(t,e){var n=t.parent(),r=n.find("chart-legend"),i="<chart-legend>"+e.generateLegend()+"</chart-legend>";r.length?r.replaceWith(i):n.append(i)}function $(t,e,n,r){Array.isArray(n.data[0])?t.datasets.forEach(function(t,n){(t.points||t.bars).forEach(function(t,r){t.value=e[n][r]})}):t.segments.forEach(function(t,n){t.value=e[n]}),t.update(),n.$emit("update",t),n.legend&&"false"!==n.legend&&m(r,t)}function y(t){return!t||Array.isArray(t)&&!t.length||"object"==typeof t&&!Object.keys(t).length}function b(r,i){var o=t.extend({},e.defaults.global,n.getOptions(r),i.options);return o.responsive}function w(t,e){t&&(t.destroy(),e.$emit("destroy",t))}return function(e){return{restrict:"CA",scope:{data:"=?",labels:"=?",options:"=?",series:"=?",colours:"=?",getColour:"=?",chartType:"=",legend:"@",click:"=?",hover:"=?",chartData:"=?",chartLabels:"=?",chartOptions:"=?",chartSeries:"=?",chartColours:"=?",chartLegend:"@",chartClick:"=?",chartHover:"=?"},link:function(a,l){function f(t,e){a.$watch(t,function(t){"undefined"!=typeof t&&(a[e]=t)})}function h(n,r){if(!y(n)&&!t.equals(n,r)){var i=e||a.chartType;i&&p(i)}}function p(e){if(b(e,a)&&0===l[0].clientHeight&&0===C.clientHeight)return r(function(){p(e)},50,!1);if(a.data&&a.data.length){a.getColour="function"==typeof a.getColour?a.getColour:c;var i=u(e,a),o=l[0],f=o.getContext("2d"),h=Array.isArray(a.data[0])?v(a.labels,a.data,a.series||[],i):g(a.labels,a.data,i),d=t.extend({},n.getOptions(e),a.options);w(x,a),x=new n.Chart(f)[e](h,d),a.$emit("create",x),o.onclick=a.click?s(a,x,"click",!1):t.noop,o.onmousemove=a.hover?s(a,x,"hover",!0):t.noop,a.legend&&"false"!==a.legend&&m(l,x)}}function d(t){if("undefined"!=typeof console&&"test"!==n.getOptions().env){var e="function"==typeof console.warn?console.warn:console.log;a[t]&&e.call(console,'"%s" is deprecated and will be removed in a future version. Please use "chart-%s" instead.',t,t)}}var x,C=document.createElement("div");C.className="chart-container",l.replaceWith(C),C.appendChild(l[0]),i&&window.G_vmlCanvasManager.initElement(l[0]),["data","labels","options","series","colours","legend","click","hover"].forEach(d),f("chartData","data"),f("chartLabels","labels"),f("chartOptions","options"),f("chartSeries","series"),f("chartColours","colours"),f("chartLegend","legend"),f("chartClick","click"),f("chartHover","hover"),a.$watch("data",function(t,n){if(!t||!t.length||Array.isArray(t[0])&&!t[0].length)return void w(x,a);var r=e||a.chartType;if(r)return x&&o(t,n)?$(x,t,a,l):void p(r)},!0),a.$watch("series",h,!0),a.$watch("labels",h,!0),a.$watch("options",h,!0),a.$watch("colours",h,!0),a.$watch("chartType",function(e,n){y(e)||t.equals(e,n)||p(e)}),a.$on("$destroy",function(){w(x,a)})}}}}e.defaults.global.responsive=!0,e.defaults.global.multiTooltipTemplate="<%if (datasetLabel){%><%=datasetLabel%>: <%}%><%= value %>",e.defaults.global.colours=["#97BBCD","#DCDCDC","#F7464A","#46BFBD","#FDB45C","#949FB1","#4D5360"];var i="object"==typeof window.G_vmlCanvasManager&&null!==window.G_vmlCanvasManager&&"function"==typeof window.G_vmlCanvasManager.initElement;return i&&(e.defaults.global.animation=!1),t.module("chart.js",[]).provider("ChartJs",n).factory("ChartJsFactory",["ChartJs","$timeout",r]).directive("chartBase",["ChartJsFactory",function(t){return new t}]).directive("chartLine",["ChartJsFactory",function(t){return new t("Line")}]).directive("chartBar",["ChartJsFactory",function(t){return new t("Bar")}]).directive("chartRadar",["ChartJsFactory",function(t){return new t("Radar")}]).directive("chartDoughnut",["ChartJsFactory",function(t){return new t("Doughnut")}]).directive("chartPie",["ChartJsFactory",function(t){return new t("Pie")}]).directive("chartPolarArea",["ChartJsFactory",function(t){return new t("PolarArea")}])});
\ No newline at end of file
+!function(t,n,e){"use strict";function r(t,n){return n=n||Error,function(){var e,r,i=2,o=arguments,a=o[0],u="["+(t?t+":":"")+a+"] ",s=o[1];for(u+=s.replace(/\{\d+\}/g,function(t){var n=+t.slice(1,-1),e=n+i;return e<o.length?$t(o[e]):t}),u+="\nhttp://errors.angularjs.org/1.4.7/"+(t?t+"/":"")+a,r=i,e="?";r<o.length;r++,e="&")u+=e+"p"+(r-i)+"="+encodeURIComponent($t(o[r]));return new n(u)}}function i(t){if(null==t||A(t))return!1;var n="length"in Object(t)&&t.length;return t.nodeType===Yr&&n?!0:C(t)||Fr(t)||0===n||"number"==typeof n&&n>0&&n-1 in t}function o(t,n,e){var r,a;if(t)if(M(t))for(r in t)"prototype"==r||"length"==r||"name"==r||t.hasOwnProperty&&!t.hasOwnProperty(r)||n.call(e,t[r],r,t);else if(Fr(t)||i(t)){var u="object"!=typeof t;for(r=0,a=t.length;a>r;r++)(u||r in t)&&n.call(e,t[r],r,t)}else if(t.forEach&&t.forEach!==o)t.forEach(n,e,t);else if(w(t))for(r in t)n.call(e,t[r],r,t);else if("function"==typeof t.hasOwnProperty)for(r in t)t.hasOwnProperty(r)&&n.call(e,t[r],r,t);else for(r in t)br.call(t,r)&&n.call(e,t[r],r,t);return t}function a(t,n,e){for(var r=Object.keys(t).sort(),i=0;i<r.length;i++)n.call(e,t[r[i]],r[i]);return r}function u(t){return function(n,e){t(e,n)}}function s(){return++Rr}function l(t,n){n?t.$$hashKey=n:delete t.$$hashKey}function c(t,n,e){for(var r=t.$$hashKey,i=0,o=n.length;o>i;++i){var a=n[i];if(b(a)||M(a))for(var u=Object.keys(a),s=0,f=u.length;f>s;s++){var h=u[s],p=a[h];e&&b(p)?_(p)?t[h]=new Date(p.valueOf()):k(p)?t[h]=new RegExp(p):(b(t[h])||(t[h]=Fr(p)?[]:{}),c(t[h],[p],!0)):t[h]=p}}return l(t,r),t}function f(t){return c(t,Er.call(arguments,1),!1)}function h(t){return c(t,Er.call(arguments,1),!0)}function p(t){return parseInt(t,10)}function d(t,n){return f(Object.create(t),n)}function v(){}function g(t){return t}function m(t){return function(){return t}}function y(t){return M(t.toString)&&t.toString!==Object.prototype.toString}function $(t){return"undefined"==typeof t}function x(t){return"undefined"!=typeof t}function b(t){return null!==t&&"object"==typeof t}function w(t){return null!==t&&"object"==typeof t&&!Lr(t)}function C(t){return"string"==typeof t}function S(t){return"number"==typeof t}function _(t){return"[object Date]"===Tr.call(t)}function M(t){return"function"==typeof t}function k(t){return"[object RegExp]"===Tr.call(t)}function A(t){return t&&t.window===t}function E(t){return t&&t.$evalAsync&&t.$watch}function P(t){return"[object File]"===Tr.call(t)}function O(t){return"[object FormData]"===Tr.call(t)}function T(t){return"[object Blob]"===Tr.call(t)}function L(t){return"boolean"==typeof t}function j(t){return t&&M(t.then)}function N(t){return Ir.test(Tr.call(t))}function R(t){return!(!t||!(t.nodeName||t.prop&&t.attr&&t.find))}function D(t){var n,e={},r=t.split(",");for(n=0;n<r.length;n++)e[r[n]]=!0;return e}function F(t){return xr(t.nodeName||t[0]&&t[0].nodeName)}function I(t,n){var e=t.indexOf(n);return e>=0&&t.splice(e,1),e}function z(t,n,e,r){if(A(t)||E(t))throw jr("cpws","Can't copy! Making copies of Window or Scope instances is not supported.");if(N(n))throw jr("cpta","Can't copy! TypedArray destination cannot be mutated.");if(n){if(t===n)throw jr("cpi","Can't copy! Source and destination are identical.");e=e||[],r=r||[],b(t)&&(e.push(t),r.push(n));var i;if(Fr(t)){n.length=0;for(var a=0;a<t.length;a++)n.push(z(t[a],null,e,r))}else{var u=n.$$hashKey;if(Fr(n)?n.length=0:o(n,function(t,e){delete n[e]}),w(t))for(i in t)n[i]=z(t[i],null,e,r);else if(t&&"function"==typeof t.hasOwnProperty)for(i in t)t.hasOwnProperty(i)&&(n[i]=z(t[i],null,e,r));else for(i in t)br.call(t,i)&&(n[i]=z(t[i],null,e,r));l(n,u)}}else if(n=t,b(t)){var s;if(e&&-1!==(s=e.indexOf(t)))return r[s];if(Fr(t))return z(t,[],e,r);if(N(t))n=new t.constructor(t);else if(_(t))n=new Date(t.getTime());else if(k(t))n=new RegExp(t.source,t.toString().match(/[^\/]*$/)[0]),n.lastIndex=t.lastIndex;else{if(!M(t.cloneNode)){var c=Object.create(Lr(t));return z(t,c,e,r)}n=t.cloneNode(!0)}r&&(e.push(t),r.push(n))}return n}function q(t,n){if(Fr(t)){n=n||[];for(var e=0,r=t.length;r>e;e++)n[e]=t[e]}else if(b(t)){n=n||{};for(var i in t)"$"===i.charAt(0)&&"$"===i.charAt(1)||(n[i]=t[i])}return n||t}function V(t,n){if(t===n)return!0;if(null===t||null===n)return!1;if(t!==t&&n!==n)return!0;var e,r,i,o=typeof t,a=typeof n;if(o==a&&"object"==o){if(!Fr(t)){if(_(t))return _(n)?V(t.getTime(),n.getTime()):!1;if(k(t))return k(n)?t.toString()==n.toString():!1;if(E(t)||E(n)||A(t)||A(n)||Fr(n)||_(n)||k(n))return!1;i=gt();for(r in t)if("$"!==r.charAt(0)&&!M(t[r])){if(!V(t[r],n[r]))return!1;i[r]=!0}for(r in n)if(!(r in i)&&"$"!==r.charAt(0)&&x(n[r])&&!M(n[r]))return!1;return!0}if(!Fr(n))return!1;if((e=t.length)==n.length){for(r=0;e>r;r++)if(!V(t[r],n[r]))return!1;return!0}}return!1}function B(t,n,e){return t.concat(Er.call(n,e))}function W(t,n){return Er.call(t,n||0)}function U(t,n){var e=arguments.length>2?W(arguments,2):[];return!M(n)||n instanceof RegExp?n:e.length?function(){return arguments.length?n.apply(t,B(e,arguments,0)):n.apply(t,e)}:function(){return arguments.length?n.apply(t,arguments):n.call(t)}}function H(t,r){var i=r;return"string"==typeof t&&"$"===t.charAt(0)&&"$"===t.charAt(1)?i=e:A(r)?i="$WINDOW":r&&n===r?i="$DOCUMENT":E(r)&&(i="$SCOPE"),i}function Y(t,n){return"undefined"==typeof t?e:(S(n)||(n=n?2:null),JSON.stringify(t,H,n))}function G(t){return C(t)?JSON.parse(t):t}function X(t,n){var e=Date.parse("Jan 01, 1970 00:00:00 "+t)/6e4;return isNaN(e)?n:e}function Z(t,n){return t=new Date(t.getTime()),t.setMinutes(t.getMinutes()+n),t}function J(t,n,e){e=e?-1:1;var r=X(n,t.getTimezoneOffset());return Z(t,e*(r-t.getTimezoneOffset()))}function K(t){t=Mr(t).clone();try{t.empty()}catch(n){}var e=Mr("<div>").append(t).html();try{return t[0].nodeType===Xr?xr(e):e.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/,function(t,n){return"<"+xr(n)})}catch(n){return xr(e)}}function Q(t){try{return decodeURIComponent(t)}catch(n){}}function tt(t){var n={};return o((t||"").split("&"),function(t){var e,r,i;t&&(r=t=t.replace(/\+/g,"%20"),e=t.indexOf("="),-1!==e&&(r=t.substring(0,e),i=t.substring(e+1)),r=Q(r),x(r)&&(i=x(i)?Q(i):!0,br.call(n,r)?Fr(n[r])?n[r].push(i):n[r]=[n[r],i]:n[r]=i))}),n}function nt(t){var n=[];return o(t,function(t,e){Fr(t)?o(t,function(t){n.push(rt(e,!0)+(t===!0?"":"="+rt(t,!0)))}):n.push(rt(e,!0)+(t===!0?"":"="+rt(t,!0)))}),n.length?n.join("&"):""}function et(t){return rt(t,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function rt(t,n){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%20/g,n?"%20":"+")}function it(t,n){var e,r,i=Wr.length;for(r=0;i>r;++r)if(e=Wr[r]+n,C(e=t.getAttribute(e)))return e;return null}function ot(t,n){var e,r,i={};o(Wr,function(n){var i=n+"app";!e&&t.hasAttribute&&t.hasAttribute(i)&&(e=t,r=t.getAttribute(i))}),o(Wr,function(n){var i,o=n+"app";!e&&(i=t.querySelector("["+o.replace(":","\\:")+"]"))&&(e=i,r=i.getAttribute(o))}),e&&(i.strictDi=null!==it(e,"strict-di"),n(e,r?[r]:[],i))}function at(e,r,i){b(i)||(i={});var a={strictDi:!1};i=f(a,i);var u=function(){if(e=Mr(e),e.injector()){var t=e[0]===n?"document":K(e);throw jr("btstrpd","App Already Bootstrapped with this Element '{0}'",t.replace(/</,"&lt;").replace(/>/,"&gt;"))}r=r||[],r.unshift(["$provide",function(t){t.value("$rootElement",e)}]),i.debugInfoEnabled&&r.push(["$compileProvider",function(t){t.debugInfoEnabled(!0)}]),r.unshift("ng");var o=Kt(r,i.strictDi);return o.invoke(["$rootScope","$rootElement","$compile","$injector",function(t,n,e,r){t.$apply(function(){n.data("$injector",r),e(n)(t)})}]),o},s=/^NG_ENABLE_DEBUG_INFO!/,l=/^NG_DEFER_BOOTSTRAP!/;return t&&s.test(t.name)&&(i.debugInfoEnabled=!0,t.name=t.name.replace(s,"")),t&&!l.test(t.name)?u():(t.name=t.name.replace(l,""),Nr.resumeBootstrap=function(t){return o(t,function(t){r.push(t)}),u()},void(M(Nr.resumeDeferredBootstrap)&&Nr.resumeDeferredBootstrap()))}function ut(){t.name="NG_ENABLE_DEBUG_INFO!"+t.name,t.location.reload()}function st(t){var n=Nr.element(t).injector();if(!n)throw jr("test","no injector found for element argument to getTestability");return n.get("$$testability")}function lt(t,n){return n=n||"_",t.replace(Ur,function(t,e){return(e?n:"")+t.toLowerCase()})}function ct(){var n;if(!Hr){var r=Br();kr=$(r)?t.jQuery:r?t[r]:e,kr&&kr.fn.on?(Mr=kr,f(kr.fn,{scope:pi.scope,isolateScope:pi.isolateScope,controller:pi.controller,injector:pi.injector,inheritedData:pi.inheritedData}),n=kr.cleanData,kr.cleanData=function(t){var e;if(Dr)Dr=!1;else for(var r,i=0;null!=(r=t[i]);i++)e=kr._data(r,"events"),e&&e.$destroy&&kr(r).triggerHandler("$destroy");n(t)}):Mr=At,Nr.element=Mr,Hr=!0}}function ft(t,n,e){if(!t)throw jr("areq","Argument '{0}' is {1}",n||"?",e||"required");return t}function ht(t,n,e){return e&&Fr(t)&&(t=t[t.length-1]),ft(M(t),n,"not a function, got "+(t&&"object"==typeof t?t.constructor.name||"Object":typeof t)),t}function pt(t,n){if("hasOwnProperty"===t)throw jr("badname","hasOwnProperty is not a valid {0} name",n)}function dt(t,n,e){if(!n)return t;for(var r,i=n.split("."),o=t,a=i.length,u=0;a>u;u++)r=i[u],t&&(t=(o=t)[r]);return!e&&M(t)?U(o,t):t}function vt(t){for(var n,e=t[0],r=t[t.length-1],i=1;e!==r&&(e=e.nextSibling);i++)(n||t[i]!==e)&&(n||(n=Mr(Er.call(t,0,i))),n.push(e));return n||t}function gt(){return Object.create(null)}function mt(t){function n(t,n,e){return t[n]||(t[n]=e())}var e=r("$injector"),i=r("ng"),o=n(t,"angular",Object);return o.$$minErr=o.$$minErr||r,n(o,"module",function(){var t={};return function(r,o,a){var u=function(t,n){if("hasOwnProperty"===t)throw i("badname","hasOwnProperty is not a valid {0} name",n)};return u(r,"module"),o&&t.hasOwnProperty(r)&&(t[r]=null),n(t,r,function(){function t(t,n,e,r){return r||(r=i),function(){return r[e||"push"]([t,n,arguments]),c}}function n(t,n){return function(e,o){return o&&M(o)&&(o.$$moduleName=r),i.push([t,n,arguments]),c}}if(!o)throw e("nomod","Module '{0}' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.",r);var i=[],u=[],s=[],l=t("$injector","invoke","push",u),c={_invokeQueue:i,_configBlocks:u,_runBlocks:s,requires:o,name:r,provider:n("$provide","provider"),factory:n("$provide","factory"),service:n("$provide","service"),value:t("$provide","value"),constant:t("$provide","constant","unshift"),decorator:n("$provide","decorator"),animation:n("$animateProvider","register"),filter:n("$filterProvider","register"),controller:n("$controllerProvider","register"),directive:n("$compileProvider","directive"),config:l,run:function(t){return s.push(t),this}};return a&&l(a),c})}})}function yt(t){var n=[];return JSON.stringify(t,function(t,e){if(e=H(t,e),b(e)){if(n.indexOf(e)>=0)return"...";n.push(e)}return e})}function $t(t){return"function"==typeof t?t.toString().replace(/ \{[\s\S]*$/,""):$(t)?"undefined":"string"!=typeof t?yt(t):t}function xt(n){f(n,{bootstrap:at,copy:z,extend:f,merge:h,equals:V,element:Mr,forEach:o,injector:Kt,noop:v,bind:U,toJson:Y,fromJson:G,identity:g,isUndefined:$,isDefined:x,isString:C,isFunction:M,isObject:b,isNumber:S,isElement:R,isArray:Fr,version:Qr,isDate:_,lowercase:xr,uppercase:wr,callbacks:{counter:0},getTestability:st,$$minErr:r,$$csp:Vr,reloadWithDebugInfo:ut}),(Ar=mt(t))("ng",["ngLocale"],["$provide",function(t){t.provider({$$sanitizeUri:me}),t.provider("$compile",ln).directive({a:po,input:Oo,textarea:Oo,form:$o,script:Ca,select:Ma,style:Aa,option:ka,ngBind:jo,ngBindHtml:Ro,ngBindTemplate:No,ngClass:Fo,ngClassEven:zo,ngClassOdd:Io,ngCloak:qo,ngController:Vo,ngForm:xo,ngHide:ma,ngIf:Uo,ngInclude:Ho,ngInit:Go,ngNonBindable:sa,ngPluralize:ha,ngRepeat:pa,ngShow:ga,ngStyle:ya,ngSwitch:$a,ngSwitchWhen:xa,ngSwitchDefault:ba,ngOptions:fa,ngTransclude:wa,ngModel:oa,ngList:Xo,ngChange:Do,pattern:Pa,ngPattern:Pa,required:Ea,ngRequired:Ea,minlength:Ta,ngMinlength:Ta,maxlength:Oa,ngMaxlength:Oa,ngValue:Lo,ngModelOptions:ua}).directive({ngInclude:Yo}).directive(vo).directive(Bo),t.provider({$anchorScroll:Qt,$animate:Ai,$animateCss:Ei,$$animateQueue:ki,$$AnimateRunner:Mi,$browser:an,$cacheFactory:un,$controller:dn,$document:vn,$exceptionHandler:gn,$filter:Oe,$$forceReflow:ji,$interpolate:Pn,$interval:On,$http:Mn,$httpParamSerializer:yn,$httpParamSerializerJQLike:$n,$httpBackend:An,$xhrFactory:kn,$location:Un,$log:Hn,$parse:fe,$rootScope:ge,$q:he,$$q:pe,$sce:be,$sceDelegate:xe,$sniffer:we,$templateCache:sn,$templateRequest:Ce,$$testability:Se,$timeout:_e,$window:Ae,$$rAF:ve,$$jqLite:Yt,$$HashMap:mi,$$cookieReader:Pe})}])}function bt(){return++ni}function wt(t){return t.replace(ii,function(t,n,e,r){return r?e.toUpperCase():e}).replace(oi,"Moz$1")}function Ct(t){return!li.test(t)}function St(t){var n=t.nodeType;return n===Yr||!n||n===Jr}function _t(t){for(var n in ti[t.ng339])return!0;return!1}function Mt(t,n){var e,r,i,a,u=n.createDocumentFragment(),s=[];if(Ct(t))s.push(n.createTextNode(t));else{for(e=e||u.appendChild(n.createElement("div")),r=(ci.exec(t)||["",""])[1].toLowerCase(),i=hi[r]||hi._default,e.innerHTML=i[1]+t.replace(fi,"<$1></$2>")+i[2],a=i[0];a--;)e=e.lastChild;s=B(s,e.childNodes),e=u.firstChild,e.textContent=""}return u.textContent="",u.innerHTML="",o(s,function(t){u.appendChild(t)}),u}function kt(t,e){e=e||n;var r;return(r=si.exec(t))?[e.createElement(r[1])]:(r=Mt(t,e))?r.childNodes:[]}function At(t){if(t instanceof At)return t;var n;if(C(t)&&(t=zr(t),n=!0),!(this instanceof At)){if(n&&"<"!=t.charAt(0))throw ui("nosel","Looking up elements via selectors is not supported by jqLite! See: http://docs.angularjs.org/api/angular.element");return new At(t)}n?Ft(this,kt(t)):Ft(this,t)}function Et(t){return t.cloneNode(!0)}function Pt(t,n){if(n||Tt(t),t.querySelectorAll)for(var e=t.querySelectorAll("*"),r=0,i=e.length;i>r;r++)Tt(e[r])}function Ot(t,n,e,r){if(x(r))throw ui("offargs","jqLite#off() does not support the `selector` argument");var i=Lt(t),a=i&&i.events,u=i&&i.handle;if(u)if(n)o(n.split(" "),function(n){if(x(e)){var r=a[n];if(I(r||[],e),r&&r.length>0)return}ri(t,n,u),delete a[n]});else for(n in a)"$destroy"!==n&&ri(t,n,u),delete a[n]}function Tt(t,n){var r=t.ng339,i=r&&ti[r];if(i){if(n)return void delete i.data[n];i.handle&&(i.events.$destroy&&i.handle({},"$destroy"),Ot(t)),delete ti[r],t.ng339=e}}function Lt(t,n){var r=t.ng339,i=r&&ti[r];return n&&!i&&(t.ng339=r=bt(),i=ti[r]={events:{},data:{},handle:e}),i}function jt(t,n,e){if(St(t)){var r=x(e),i=!r&&n&&!b(n),o=!n,a=Lt(t,!i),u=a&&a.data;if(r)u[n]=e;else{if(o)return u;if(i)return u&&u[n];f(u,n)}}}function Nt(t,n){return t.getAttribute?(" "+(t.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").indexOf(" "+n+" ")>-1:!1}function Rt(t,n){n&&t.setAttribute&&o(n.split(" "),function(n){t.setAttribute("class",zr((" "+(t.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").replace(" "+zr(n)+" "," ")))})}function Dt(t,n){if(n&&t.setAttribute){var e=(" "+(t.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ");o(n.split(" "),function(t){t=zr(t),-1===e.indexOf(" "+t+" ")&&(e+=t+" ")}),t.setAttribute("class",zr(e))}}function Ft(t,n){if(n)if(n.nodeType)t[t.length++]=n;else{var e=n.length;if("number"==typeof e&&n.window!==n){if(e)for(var r=0;e>r;r++)t[t.length++]=n[r]}else t[t.length++]=n}}function It(t,n){return zt(t,"$"+(n||"ngController")+"Controller")}function zt(t,n,e){t.nodeType==Jr&&(t=t.documentElement);for(var r=Fr(n)?n:[n];t;){for(var i=0,o=r.length;o>i;i++)if(x(e=Mr.data(t,r[i])))return e;t=t.parentNode||t.nodeType===Kr&&t.host}}function qt(t){for(Pt(t,!0);t.firstChild;)t.removeChild(t.firstChild)}function Vt(t,n){n||Pt(t);var e=t.parentNode;e&&e.removeChild(t)}function Bt(n,e){e=e||t,"complete"===e.document.readyState?e.setTimeout(n):Mr(e).on("load",n)}function Wt(t,n){var e=di[n.toLowerCase()];return e&&vi[F(t)]&&e}function Ut(t){return gi[t]}function Ht(t,n){var e=function(e,r){e.isDefaultPrevented=function(){return e.defaultPrevented};var i=n[r||e.type],o=i?i.length:0;if(o){if($(e.immediatePropagationStopped)){var a=e.stopImmediatePropagation;e.stopImmediatePropagation=function(){e.immediatePropagationStopped=!0,e.stopPropagation&&e.stopPropagation(),a&&a.call(e)}}e.isImmediatePropagationStopped=function(){return e.immediatePropagationStopped===!0},o>1&&(i=q(i));for(var u=0;o>u;u++)e.isImmediatePropagationStopped()||i[u].call(t,e)}};return e.elem=t,e}function Yt(){this.$get=function(){return f(At,{hasClass:function(t,n){return t.attr&&(t=t[0]),Nt(t,n)},addClass:function(t,n){return t.attr&&(t=t[0]),Dt(t,n)},removeClass:function(t,n){return t.attr&&(t=t[0]),Rt(t,n)}})}}function Gt(t,n){var e=t&&t.$$hashKey;if(e)return"function"==typeof e&&(e=t.$$hashKey()),e;var r=typeof t;return e="function"==r||"object"==r&&null!==t?t.$$hashKey=r+":"+(n||s)():r+":"+t}function Xt(t,n){if(n){var e=0;this.nextUid=function(){return++e}}o(t,this.put,this)}function Zt(t){var n=t.toString().replace(bi,""),e=n.match(yi);return e?"function("+(e[1]||"").replace(/[\s\r\n]+/," ")+")":"fn"}function Jt(t,n,e){var r,i,a,u;if("function"==typeof t){if(!(r=t.$inject)){if(r=[],t.length){if(n)throw C(e)&&e||(e=t.name||Zt(t)),wi("strictdi","{0} is not using explicit annotation and cannot be invoked in strict mode",e);i=t.toString().replace(bi,""),a=i.match(yi),o(a[1].split($i),function(t){t.replace(xi,function(t,n,e){r.push(e)})})}t.$inject=r}}else Fr(t)?(u=t.length-1,ht(t[u],"fn"),r=t.slice(0,u)):ht(t,"fn",!0);return r}function Kt(t,n){function r(t){return function(n,e){return b(n)?void o(n,u(t)):t(n,e)}}function i(t,n){if(pt(t,"service"),(M(n)||Fr(n))&&(n=S.instantiate(n)),!n.$get)throw wi("pget","Provider '{0}' must define $get factory method.",t);return w[t+g]=n}function a(t,n){return function(){var e=k.invoke(n,this);if($(e))throw wi("undef","Provider '{0}' must return a value from $get factory method.",t);return e}}function s(t,n,e){return i(t,{$get:e!==!1?a(t,n):n})}function l(t,n){return s(t,["$injector",function(t){return t.instantiate(n)}])}function c(t,n){return s(t,m(n),!1)}function f(t,n){pt(t,"constant"),w[t]=n,_[t]=n}function h(t,n){var e=S.get(t+g),r=e.$get;e.$get=function(){var t=k.invoke(r,e);return k.invoke(n,null,{$delegate:t})}}function p(t){ft($(t)||Fr(t),"modulesToLoad","not an array");var n,e=[];return o(t,function(t){function r(t){var n,e;for(n=0,e=t.length;e>n;n++){var r=t[n],i=S.get(r[0]);i[r[1]].apply(i,r[2])}}if(!x.get(t)){x.put(t,!0);try{C(t)?(n=Ar(t),e=e.concat(p(n.requires)).concat(n._runBlocks),r(n._invokeQueue),r(n._configBlocks)):M(t)?e.push(S.invoke(t)):Fr(t)?e.push(S.invoke(t)):ht(t,"module")}catch(i){throw Fr(t)&&(t=t[t.length-1]),i.message&&i.stack&&-1==i.stack.indexOf(i.message)&&(i=i.message+"\n"+i.stack),wi("modulerr","Failed to instantiate module {0} due to:\n{1}",t,i.stack||i.message||i)}}}),e}function d(t,e){function r(n,r){if(t.hasOwnProperty(n)){if(t[n]===v)throw wi("cdep","Circular dependency found: {0}",n+" <- "+y.join(" <- "));return t[n]}try{return y.unshift(n),t[n]=v,t[n]=e(n,r)}catch(i){throw t[n]===v&&delete t[n],i}finally{y.shift()}}function i(t,e,i,o){"string"==typeof i&&(o=i,i=null);var a,u,s,l=[],c=Kt.$$annotate(t,n,o);for(u=0,a=c.length;a>u;u++){if(s=c[u],"string"!=typeof s)throw wi("itkn","Incorrect injection token! Expected service name as string, got {0}",s);l.push(i&&i.hasOwnProperty(s)?i[s]:r(s,o))}return Fr(t)&&(t=t[a]),t.apply(e,l)}function o(t,n,e){var r=Object.create((Fr(t)?t[t.length-1]:t).prototype||null),o=i(t,r,n,e);return b(o)||M(o)?o:r}return{invoke:i,instantiate:o,get:r,annotate:Kt.$$annotate,has:function(n){return w.hasOwnProperty(n+g)||t.hasOwnProperty(n)}}}n=n===!0;var v={},g="Provider",y=[],x=new Xt([],!0),w={$provide:{provider:r(i),factory:r(s),service:r(l),value:r(c),constant:r(f),decorator:h}},S=w.$injector=d(w,function(t,n){throw Nr.isString(n)&&y.push(n),wi("unpr","Unknown provider: {0}",y.join(" <- "))}),_={},k=_.$injector=d(_,function(t,n){var r=S.get(t+g,n);return k.invoke(r.$get,r,e,t)});return o(p(t),function(t){t&&k.invoke(t)}),k}function Qt(){var t=!0;this.disableAutoScrolling=function(){t=!1},this.$get=["$window","$location","$rootScope",function(n,e,r){function i(t){var n=null;return Array.prototype.some.call(t,function(t){return"a"===F(t)?(n=t,!0):void 0}),n}function o(){var t=u.yOffset;if(M(t))t=t();else if(R(t)){var e=t[0],r=n.getComputedStyle(e);t="fixed"!==r.position?0:e.getBoundingClientRect().bottom}else S(t)||(t=0);return t}function a(t){if(t){t.scrollIntoView();var e=o();if(e){var r=t.getBoundingClientRect().top;n.scrollBy(0,r-e)}}else n.scrollTo(0,0)}function u(t){t=C(t)?t:e.hash();var n;t?(n=s.getElementById(t))?a(n):(n=i(s.getElementsByName(t)))?a(n):"top"===t&&a(null):a(null)}var s=n.document;return t&&r.$watch(function(){return e.hash()},function(t,n){t===n&&""===t||Bt(function(){r.$evalAsync(u)})}),u}]}function tn(t,n){return t||n?t?n?(Fr(t)&&(t=t.join(" ")),Fr(n)&&(n=n.join(" ")),t+" "+n):t:n:""}function nn(t){for(var n=0;n<t.length;n++){var e=t[n];if(e.nodeType===Si)return e}}function en(t){C(t)&&(t=t.split(" "));var n=gt();return o(t,function(t){t.length&&(n[t]=!0)}),n}function rn(t){return b(t)?t:{}}function on(t,n,e,r){function i(t){try{t.apply(null,W(arguments,1))}finally{if(y--,0===y)for(;x.length;)try{x.pop()()}catch(n){e.error(n)}}}function a(t){var n=t.indexOf("#");return-1===n?"":t.substr(n)}function u(){_=null,l(),c()}function s(){try{return p.state}catch(t){}}function l(){b=s(),b=$(b)?null:b,V(b,A)&&(b=A),A=b}function c(){C===f.url()&&w===b||(C=f.url(),w=b,o(M,function(t){t(f.url(),b)}))}var f=this,h=(n[0],t.location),p=t.history,d=t.setTimeout,g=t.clearTimeout,m={};f.isMock=!1;var y=0,x=[];f.$$completeOutstandingRequest=i,f.$$incOutstandingRequestCount=function(){y++},f.notifyWhenNoOutstandingRequests=function(t){0===y?t():x.push(t)};var b,w,C=h.href,S=n.find("base"),_=null;l(),w=b,f.url=function(n,e,i){if($(i)&&(i=null),h!==t.location&&(h=t.location),p!==t.history&&(p=t.history),n){var o=w===i;if(C===n&&(!r.history||o))return f;var u=C&&Rn(C)===Rn(n);return C=n,w=i,!r.history||u&&o?(u&&!_||(_=n),e?h.replace(n):u?h.hash=a(n):h.href=n,h.href!==n&&(_=n)):(p[e?"replaceState":"pushState"](i,"",n),l(),w=b),f}return _||h.href.replace(/%27/g,"'")},f.state=function(){return b};var M=[],k=!1,A=null;f.onUrlChange=function(n){return k||(r.history&&Mr(t).on("popstate",u),Mr(t).on("hashchange",u),k=!0),M.push(n),n},f.$$applicationDestroyed=function(){Mr(t).off("hashchange popstate",u)},f.$$checkUrlChange=c,f.baseHref=function(){var t=S.attr("href");return t?t.replace(/^(https?\:)?\/\/[^\/]*/,""):""},f.defer=function(t,n){var e;return y++,e=d(function(){delete m[e],i(t)},n||0),m[e]=!0,e},f.defer.cancel=function(t){return m[t]?(delete m[t],g(t),i(v),!0):!1}}function an(){this.$get=["$window","$log","$sniffer","$document",function(t,n,e,r){return new on(t,r,n,e)}]}function un(){this.$get=function(){function t(t,e){function i(t){t!=h&&(p?p==t&&(p=t.n):p=t,o(t.n,t.p),o(t,h),h=t,h.n=null)}function o(t,n){t!=n&&(t&&(t.p=n),n&&(n.n=t))}if(t in n)throw r("$cacheFactory")("iid","CacheId '{0}' is already taken!",t);var a=0,u=f({},e,{id:t}),s={},l=e&&e.capacity||Number.MAX_VALUE,c={},h=null,p=null;return n[t]={put:function(t,n){if(!$(n)){if(l<Number.MAX_VALUE){var e=c[t]||(c[t]={key:t});i(e)}return t in s||a++,s[t]=n,a>l&&this.remove(p.key),n}},get:function(t){if(l<Number.MAX_VALUE){var n=c[t];if(!n)return;i(n)}return s[t]},remove:function(t){if(l<Number.MAX_VALUE){var n=c[t];if(!n)return;n==h&&(h=n.p),n==p&&(p=n.n),o(n.n,n.p),delete c[t]}delete s[t],a--},removeAll:function(){s={},a=0,c={},h=p=null},destroy:function(){s=null,u=null,c=null,delete n[t]},info:function(){return f({},u,{size:a})}}}var n={};return t.info=function(){var t={};return o(n,function(n,e){t[e]=n.info()}),t},t.get=function(t){return n[t]},t}}function sn(){this.$get=["$cacheFactory",function(t){return t("templates")}]}function ln(t,r){function i(t,n,e){var r=/^\s*([@&]|=(\*?))(\??)\s*(\w*)\s*$/,i={};return o(t,function(t,o){var a=t.match(r);if(!a)throw Pi("iscp","Invalid {3} for directive '{0}'. Definition: {... {1}: '{2}' ...}",n,o,t,e?"controller bindings definition":"isolate scope definition");i[o]={mode:a[1][0],collection:"*"===a[2],optional:"?"===a[3],attrName:a[4]||o}}),i}function a(t,n){var e={isolateScope:null,bindToController:null};if(b(t.scope)&&(t.bindToController===!0?(e.bindToController=i(t.scope,n,!0),e.isolateScope={}):e.isolateScope=i(t.scope,n,!1)),b(t.bindToController)&&(e.bindToController=i(t.bindToController,n,!0)),b(e.bindToController)){var r=t.controller,o=t.controllerAs;if(!r)throw Pi("noctrl","Cannot bind to controller without directive '{0}'s controller.",n);if(!pn(r,o))throw Pi("noident","Cannot bind to controller without identifier for directive '{0}'.",n)}return e}function s(t){var n=t.charAt(0);if(!n||n!==xr(n))throw Pi("baddir","Directive name '{0}' is invalid. The first character must be a lowercase letter",t);if(t!==t.trim())throw Pi("baddir","Directive name '{0}' is invalid. The name should not contain leading or trailing whitespaces",t)}var l={},c="Directive",h=/^\s*directive\:\s*([\w\-]+)\s+(.*)$/,p=/(([\w\-]+)(?:\:([^;]+))?;?)/,y=D("ngSrc,ngSrcset,src,srcset"),w=/^(?:(\^\^?)?(\?)?(\^\^?)?)?/,S=/^(on[a-z]+|formaction)$/;this.directive=function k(n,e){return pt(n,"directive"),C(n)?(s(n),ft(e,"directiveFactory"),l.hasOwnProperty(n)||(l[n]=[],t.factory(n+c,["$injector","$exceptionHandler",function(t,e){var r=[];return o(l[n],function(i,o){try{var u=t.invoke(i);M(u)?u={compile:m(u)}:!u.compile&&u.link&&(u.compile=m(u.link)),u.priority=u.priority||0,u.index=o,u.name=u.name||n,u.require=u.require||u.controller&&u.name,u.restrict=u.restrict||"EA";var s=u.$$bindings=a(u,u.name);b(s.isolateScope)&&(u.$$isolateBindings=s.isolateScope),u.$$moduleName=i.$$moduleName,r.push(u)}catch(l){e(l)}}),r}])),l[n].push(e)):o(n,u(k)),this},this.aHrefSanitizationWhitelist=function(t){return x(t)?(r.aHrefSanitizationWhitelist(t),this):r.aHrefSanitizationWhitelist()},this.imgSrcSanitizationWhitelist=function(t){return x(t)?(r.imgSrcSanitizationWhitelist(t),this):r.imgSrcSanitizationWhitelist()};var _=!0;this.debugInfoEnabled=function(t){return x(t)?(_=t,this):_},this.$get=["$injector","$interpolate","$exceptionHandler","$templateRequest","$parse","$controller","$rootScope","$document","$sce","$animate","$$sanitizeUri",function(t,r,i,a,u,s,m,x,k,A,P){function O(t,n){try{t.addClass(n)}catch(e){}}function T(t,n,e,r,i){t instanceof Mr||(t=Mr(t)),o(t,function(n,e){n.nodeType==Xr&&n.nodeValue.match(/\S+/)&&(t[e]=Mr(n).wrap("<span></span>").parent()[0])});var a=j(t,n,t,e,r,i);T.$$addScopeClass(t);var u=null;return function(n,e,r){ft(n,"scope"),r=r||{};var i=r.parentBoundTranscludeFn,o=r.transcludeControllers,s=r.futureParentElement;i&&i.$$boundTransclude&&(i=i.$$boundTransclude),u||(u=L(s));var l;if(l="html"!==u?Mr(Q(u,Mr("<div>").append(t).html())):e?pi.clone.call(t):t,o)for(var c in o)l.data("$"+c+"Controller",o[c].instance);return T.$$addScopeInfo(l,n),e&&e(l,n),a&&a(n,l,l,i),l}}function L(t){var n=t&&t[0];return n&&"foreignobject"!==F(n)&&n.toString().match(/SVG/)?"svg":"html"}function j(t,n,r,i,o,a){function u(t,r,i,o){var a,u,s,l,c,f,h,p,g;if(d){var m=r.length;for(g=new Array(m),c=0;c<v.length;c+=3)h=v[c],g[h]=r[h]}else g=r;for(c=0,f=v.length;f>c;)if(s=g[v[c++]],a=v[c++],u=v[c++],a){if(a.scope){l=t.$new(),T.$$addScopeInfo(Mr(s),l);var y=a.$$destroyBindings;y&&(a.$$destroyBindings=null,l.$on("$destroyed",y))}else l=t;p=a.transcludeOnThisElement?N(t,a.transclude,o):!a.templateOnThisElement&&o?o:!o&&n?N(t,n):null,a(u,l,s,i,p,a)}else u&&u(t,s.childNodes,e,o)}for(var s,l,c,f,h,p,d,v=[],g=0;g<t.length;g++)s=new at,l=R(t[g],[],s,0===g?i:e,o),c=l.length?q(l,t[g],s,n,r,null,[],[],a):null,c&&c.scope&&T.$$addScopeClass(s.$$element),h=c&&c.terminal||!(f=t[g].childNodes)||!f.length?null:j(f,c?(c.transcludeOnThisElement||!c.templateOnThisElement)&&c.transclude:n),(c||h)&&(v.push(g,c,h),p=!0,d=d||c),a=null;return p?u:null}function N(t,n,e){var r=function(r,i,o,a,u){return r||(r=t.$new(!1,u),r.$$transcluded=!0),n(r,i,{parentBoundTranscludeFn:e,transcludeControllers:o,futureParentElement:a})};return r}function R(t,n,e,r,i){var o,a,u=t.nodeType,s=e.$attr;switch(u){case Yr:U(n,cn(F(t)),"E",r,i);for(var l,c,f,d,v,g,m=t.attributes,y=0,$=m&&m.length;$>y;y++){var x=!1,w=!1;l=m[y],c=l.name,v=zr(l.value),d=cn(c),(g=ht.test(d))&&(c=c.replace(Oi,"").substr(8).replace(/_(.)/g,function(t,n){return n.toUpperCase()}));var S=d.replace(/(Start|End)$/,"");H(S)&&d===S+"Start"&&(x=c,w=c.substr(0,c.length-5)+"end",c=c.substr(0,c.length-6)),f=cn(c.toLowerCase()),s[f]=c,!g&&e.hasOwnProperty(f)||(e[f]=v,Wt(t,f)&&(e[f]=!0)),nt(t,n,v,f,g),U(n,f,"A",r,i,x,w)}if(a=t.className,b(a)&&(a=a.animVal),C(a)&&""!==a)for(;o=p.exec(a);)f=cn(o[2]),U(n,f,"C",r,i)&&(e[f]=zr(o[3])),a=a.substr(o.index+o[0].length);break;case Xr:if(11===_r)for(;t.parentNode&&t.nextSibling&&t.nextSibling.nodeType===Xr;)t.nodeValue=t.nodeValue+t.nextSibling.nodeValue,t.parentNode.removeChild(t.nextSibling);J(n,t.nodeValue);break;case Zr:try{o=h.exec(t.nodeValue),o&&(f=cn(o[1]),U(n,f,"M",r,i)&&(e[f]=zr(o[2])))}catch(_){}}return n.sort(X),n}function D(t,n,e){var r=[],i=0;if(n&&t.hasAttribute&&t.hasAttribute(n)){do{if(!t)throw Pi("uterdir","Unterminated attribute, found '{0}' but no matching '{1}' found.",n,e);t.nodeType==Yr&&(t.hasAttribute(n)&&i++,t.hasAttribute(e)&&i--),r.push(t),t=t.nextSibling}while(i>0)}else r.push(t);return Mr(r)}function z(t,n,e){return function(r,i,o,a,u){return i=D(i[0],n,e),t(r,i,o,a,u)}}function q(t,r,o,a,u,l,c,f,h){function p(t,n,e,r){t&&(e&&(t=z(t,e,r)),t.require=m.require,t.directiveName=y,(P===m||m.$$isolateScope)&&(t=rt(t,{isolateScope:!0})),c.push(t)),n&&(e&&(n=z(n,e,r)),n.require=m.require,n.directiveName=y,(P===m||m.$$isolateScope)&&(n=rt(n,{isolateScope:!0})),f.push(n))}function d(t,n,e,r){var i;if(C(n)){var o=n.match(w),a=n.substring(o[0].length),u=o[1]||o[3],s="?"===o[2];if("^^"===u?e=e.parent():(i=r&&r[a],i=i&&i.instance),!i){var l="$"+a+"Controller";i=u?e.inheritedData(l):e.data(l)}if(!i&&!s)throw Pi("ctreq","Controller '{0}', required by directive '{1}', can't be found!",a,t)}else if(Fr(n)){i=[];for(var c=0,f=n.length;f>c;c++)i[c]=d(t,n[c],e,r)}return i||null}function v(t,n,e,r,i,o){var a=gt();for(var u in r){var l=r[u],c={$scope:l===P||l.$$isolateScope?i:o,$element:t,$attrs:n,$transclude:e},f=l.controller;"@"==f&&(f=n[l.name]);var h=s(f,c,!0,l.controllerAs);a[l.name]=h,F||t.data("$"+l.name+"Controller",h.instance)}return a}function g(t,n,i,a,u,s){function l(t,n,r){var i;return E(t)||(r=n,n=t,t=e),F&&(i=$),r||(r=F?b.parent():b),u(t,n,i,r,L)}var h,p,g,m,y,$,x,b,w;if(r===i?(w=o,b=o.$$element):(b=Mr(i),w=new at(b,o)),P&&(y=n.$new(!0)),u&&(x=l,x.$$boundTransclude=u),A&&($=v(b,w,x,A,y,n)),P&&(T.$$addScopeInfo(b,y,!0,!(O&&(O===P||O===P.$$originalDirective))),T.$$addScopeClass(b,!0),y.$$isolateBindings=P.$$isolateBindings,ot(n,w,y,y.$$isolateBindings,P,y)),$){var C,S,_=P||k;_&&$[_.name]&&(C=_.$$bindings.bindToController,m=$[_.name],m&&m.identifier&&C&&(S=m,s.$$destroyBindings=ot(n,w,m.instance,C,_)));for(h in $){m=$[h];var M=m();M!==m.instance&&(m.instance=M,b.data("$"+h+"Controller",M),m===S&&(s.$$destroyBindings(),s.$$destroyBindings=ot(n,w,M,C,_)))}}for(h=0,p=c.length;p>h;h++)g=c[h],it(g,g.isolateScope?y:n,b,w,g.require&&d(g.directiveName,g.require,b,$),x);var L=n;for(P&&(P.template||null===P.templateUrl)&&(L=y),t&&t(L,i.childNodes,e,u),h=f.length-1;h>=0;h--)g=f[h],it(g,g.isolateScope?y:n,b,w,g.require&&d(g.directiveName,g.require,b,$),x)}h=h||{};for(var m,y,$,x,S,_=-Number.MAX_VALUE,k=h.newScopeDirective,A=h.controllerDirectives,P=h.newIsolateScopeDirective,O=h.templateDirective,L=h.nonTlbTranscludeDirective,j=!1,N=!1,F=h.hasElementTranscludeDirective,I=o.$$element=Mr(r),q=l,V=a,U=0,H=t.length;H>U;U++){m=t[U];var X=m.$$start,J=m.$$end;if(X&&(I=D(r,X,J)),$=e,_>m.priority)break;if((S=m.scope)&&(m.templateUrl||(b(S)?(Z("new/isolated scope",P||k,m,I),P=m):Z("new/isolated scope",P,m,I)),k=k||m),y=m.name,!m.templateUrl&&m.controller&&(S=m.controller,A=A||gt(),Z("'"+y+"' controller",A[y],m,I),
+A[y]=m),(S=m.transclude)&&(j=!0,m.$$tlb||(Z("transclusion",L,m,I),L=m),"element"==S?(F=!0,_=m.priority,$=I,I=o.$$element=Mr(n.createComment(" "+y+": "+o[y]+" ")),r=I[0],et(u,W($),r),V=T($,a,_,q&&q.name,{nonTlbTranscludeDirective:L})):($=Mr(Et(r)).contents(),I.empty(),V=T($,a))),m.template)if(N=!0,Z("template",O,m,I),O=m,S=M(m.template)?m.template(I,o):m.template,S=ct(S),m.replace){if(q=m,$=Ct(S)?[]:hn(Q(m.templateNamespace,zr(S))),r=$[0],1!=$.length||r.nodeType!==Yr)throw Pi("tplrt","Template for directive '{0}' must have exactly one root element. {1}",y,"");et(u,I,r);var tt={$attr:{}},nt=R(r,[],tt),ut=t.splice(U+1,t.length-(U+1));P&&B(nt),t=t.concat(nt).concat(ut),Y(o,tt),H=t.length}else I.html(S);if(m.templateUrl)N=!0,Z("template",O,m,I),O=m,m.replace&&(q=m),g=G(t.splice(U,t.length-U),I,o,u,j&&V,c,f,{controllerDirectives:A,newScopeDirective:k!==m&&k,newIsolateScopeDirective:P,templateDirective:O,nonTlbTranscludeDirective:L}),H=t.length;else if(m.compile)try{x=m.compile(I,o,V),M(x)?p(null,x,X,J):x&&p(x.pre,x.post,X,J)}catch(st){i(st,K(I))}m.terminal&&(g.terminal=!0,_=Math.max(_,m.priority))}return g.scope=k&&k.scope===!0,g.transcludeOnThisElement=j,g.templateOnThisElement=N,g.transclude=V,h.hasElementTranscludeDirective=F,g}function B(t){for(var n=0,e=t.length;e>n;n++)t[n]=d(t[n],{$$isolateScope:!0})}function U(n,e,r,o,a,u,s){if(e===a)return null;var f=null;if(l.hasOwnProperty(e))for(var h,p=t.get(e+c),v=0,g=p.length;g>v;v++)try{h=p[v],($(o)||o>h.priority)&&-1!=h.restrict.indexOf(r)&&(u&&(h=d(h,{$$start:u,$$end:s})),n.push(h),f=h)}catch(m){i(m)}return f}function H(n){if(l.hasOwnProperty(n))for(var e,r=t.get(n+c),i=0,o=r.length;o>i;i++)if(e=r[i],e.multiElement)return!0;return!1}function Y(t,n){var e=n.$attr,r=t.$attr,i=t.$$element;o(t,function(r,i){"$"!=i.charAt(0)&&(n[i]&&n[i]!==r&&(r+=("style"===i?";":" ")+n[i]),t.$set(i,r,!0,e[i]))}),o(n,function(n,o){"class"==o?(O(i,n),t["class"]=(t["class"]?t["class"]+" ":"")+n):"style"==o?(i.attr("style",i.attr("style")+";"+n),t.style=(t.style?t.style+";":"")+n):"$"==o.charAt(0)||t.hasOwnProperty(o)||(t[o]=n,r[o]=e[o])})}function G(t,n,e,r,i,u,s,l){var c,f,h=[],p=n[0],v=t.shift(),g=d(v,{templateUrl:null,transclude:null,replace:null,$$originalDirective:v}),m=M(v.templateUrl)?v.templateUrl(n,e):v.templateUrl,y=v.templateNamespace;return n.empty(),a(m).then(function(a){var d,$,x,w;if(a=ct(a),v.replace){if(x=Ct(a)?[]:hn(Q(y,zr(a))),d=x[0],1!=x.length||d.nodeType!==Yr)throw Pi("tplrt","Template for directive '{0}' must have exactly one root element. {1}",v.name,m);$={$attr:{}},et(r,n,d);var C=R(d,[],$);b(v.scope)&&B(C),t=C.concat(t),Y(e,$)}else d=p,n.html(a);for(t.unshift(g),c=q(t,d,e,i,n,v,u,s,l),o(r,function(t,e){t==d&&(r[e]=n[0])}),f=j(n[0].childNodes,i);h.length;){var S=h.shift(),_=h.shift(),M=h.shift(),k=h.shift(),A=n[0];if(!S.$$destroyed){if(_!==p){var E=_.className;l.hasElementTranscludeDirective&&v.replace||(A=Et(d)),et(M,Mr(_),A),O(Mr(A),E)}w=c.transcludeOnThisElement?N(S,c.transclude,k):k,c(f,S,A,r,w,c)}}h=null}),function(t,n,e,r,i){var o=i;n.$$destroyed||(h?h.push(n,e,r,o):(c.transcludeOnThisElement&&(o=N(n,c.transclude,i)),c(f,n,e,r,o,c)))}}function X(t,n){var e=n.priority-t.priority;return 0!==e?e:t.name!==n.name?t.name<n.name?-1:1:t.index-n.index}function Z(t,n,e,r){function i(t){return t?" (module: "+t+")":""}if(n)throw Pi("multidir","Multiple directives [{0}{1}, {2}{3}] asking for {4} on: {5}",n.name,i(n.$$moduleName),e.name,i(e.$$moduleName),t,K(r))}function J(t,n){var e=r(n,!0);e&&t.push({priority:0,compile:function(t){var n=t.parent(),r=!!n.length;return r&&T.$$addBindingClass(n),function(t,n){var i=n.parent();r||T.$$addBindingClass(i),T.$$addBindingInfo(i,e.expressions),t.$watch(e,function(t){n[0].nodeValue=t})}}})}function Q(t,e){switch(t=xr(t||"html")){case"svg":case"math":var r=n.createElement("div");return r.innerHTML="<"+t+">"+e+"</"+t+">",r.childNodes[0].childNodes;default:return e}}function tt(t,n){if("srcdoc"==n)return k.HTML;var e=F(t);return"xlinkHref"==n||"form"==e&&"action"==n||"img"!=e&&("src"==n||"ngSrc"==n)?k.RESOURCE_URL:void 0}function nt(t,n,e,i,o){var a=tt(t,i);o=y[i]||o;var u=r(e,!0,a,o);if(u){if("multiple"===i&&"select"===F(t))throw Pi("selmulti","Binding to the 'multiple' attribute is not supported. Element: {0}",K(t));n.push({priority:100,compile:function(){return{pre:function(t,n,s){var l=s.$$observers||(s.$$observers=gt());if(S.test(i))throw Pi("nodomevents","Interpolations for HTML DOM event attributes are disallowed.  Please use the ng- versions (such as ng-click instead of onclick) instead.");var c=s[i];c!==e&&(u=c&&r(c,!0,a,o),e=c),u&&(s[i]=u(t),(l[i]||(l[i]=[])).$$inter=!0,(s.$$observers&&s.$$observers[i].$$scope||t).$watch(u,function(t,n){"class"===i&&t!=n?s.$updateClass(t,n):s.$set(i,t)}))}}}})}}function et(t,e,r){var i,o,a=e[0],u=e.length,s=a.parentNode;if(t)for(i=0,o=t.length;o>i;i++)if(t[i]==a){t[i++]=r;for(var l=i,c=l+u-1,f=t.length;f>l;l++,c++)f>c?t[l]=t[c]:delete t[l];t.length-=u-1,t.context===a&&(t.context=r);break}s&&s.replaceChild(r,a);var h=n.createDocumentFragment();h.appendChild(a),Mr.hasData(a)&&(Mr(r).data(Mr(a).data()),kr?(Dr=!0,kr.cleanData([a])):delete Mr.cache[a[Mr.expando]]);for(var p=1,d=e.length;d>p;p++){var v=e[p];Mr(v).remove(),h.appendChild(v),delete e[p]}e[0]=r,e.length=1}function rt(t,n){return f(function(){return t.apply(null,arguments)},t,n)}function it(t,n,e,r,o,a){try{t(n,e,r,o,a)}catch(u){i(u,K(e))}}function ot(t,n,e,i,a,s){var l;o(i,function(i,o){var s,c,f,h,p=i.attrName,d=i.optional,g=i.mode;switch(g){case"@":d||br.call(n,p)||(e[o]=n[p]=void 0),n.$observe(p,function(t){C(t)&&(e[o]=t)}),n.$$observers[p].$$scope=t,C(n[p])&&(e[o]=r(n[p])(t));break;case"=":if(!br.call(n,p)){if(d)break;n[p]=void 0}if(d&&!n[p])break;c=u(n[p]),h=c.literal?V:function(t,n){return t===n||t!==t&&n!==n},f=c.assign||function(){throw s=e[o]=c(t),Pi("nonassign","Expression '{0}' used with directive '{1}' is non-assignable!",n[p],a.name)},s=e[o]=c(t);var m=function(n){return h(n,e[o])||(h(n,s)?f(t,n=e[o]):e[o]=n),s=n};m.$stateful=!0;var y;y=i.collection?t.$watchCollection(n[p],m):t.$watch(u(n[p],m),null,c.literal),l=l||[],l.push(y);break;case"&":if(c=n.hasOwnProperty(p)?u(n[p]):v,c===v&&d)break;e[o]=function(n){return c(t,n)}}});var c=l?function(){for(var t=0,n=l.length;n>t;++t)l[t]()}:v;return s&&c!==v?(s.$on("$destroy",c),v):c}var at=function(t,n){if(n){var e,r,i,o=Object.keys(n);for(e=0,r=o.length;r>e;e++)i=o[e],this[i]=n[i]}else this.$attr={};this.$$element=t};at.prototype={$normalize:cn,$addClass:function(t){t&&t.length>0&&A.addClass(this.$$element,t)},$removeClass:function(t){t&&t.length>0&&A.removeClass(this.$$element,t)},$updateClass:function(t,n){var e=fn(t,n);e&&e.length&&A.addClass(this.$$element,e);var r=fn(n,t);r&&r.length&&A.removeClass(this.$$element,r)},$set:function(t,n,e,r){var a,u=this.$$element[0],s=Wt(u,t),l=Ut(t),c=t;if(s?(this.$$element.prop(t,n),r=s):l&&(this[l]=n,c=l),this[t]=n,r?this.$attr[t]=r:(r=this.$attr[t],r||(this.$attr[t]=r=lt(t,"-"))),a=F(this.$$element),"a"===a&&"href"===t||"img"===a&&"src"===t)this[t]=n=P(n,"src"===t);else if("img"===a&&"srcset"===t){for(var f="",h=zr(n),p=/(\s+\d+x\s*,|\s+\d+w\s*,|\s+,|,\s+)/,d=/\s/.test(h)?p:/(,)/,v=h.split(d),g=Math.floor(v.length/2),m=0;g>m;m++){var y=2*m;f+=P(zr(v[y]),!0),f+=" "+zr(v[y+1])}var x=zr(v[2*m]).split(/\s/);f+=P(zr(x[0]),!0),2===x.length&&(f+=" "+zr(x[1])),this[t]=n=f}e!==!1&&(null===n||$(n)?this.$$element.removeAttr(r):this.$$element.attr(r,n));var b=this.$$observers;b&&o(b[c],function(t){try{t(n)}catch(e){i(e)}})},$observe:function(t,n){var e=this,r=e.$$observers||(e.$$observers=gt()),i=r[t]||(r[t]=[]);return i.push(n),m.$evalAsync(function(){i.$$inter||!e.hasOwnProperty(t)||$(e[t])||n(e[t])}),function(){I(i,n)}}};var ut=r.startSymbol(),st=r.endSymbol(),ct="{{"==ut||"}}"==st?g:function(t){return t.replace(/\{\{/g,ut).replace(/}}/g,st)},ht=/^ngAttr[A-Z]/;return T.$$addBindingInfo=_?function(t,n){var e=t.data("$binding")||[];Fr(n)?e=e.concat(n):e.push(n),t.data("$binding",e)}:v,T.$$addBindingClass=_?function(t){O(t,"ng-binding")}:v,T.$$addScopeInfo=_?function(t,n,e,r){var i=e?r?"$isolateScopeNoTemplate":"$isolateScope":"$scope";t.data(i,n)}:v,T.$$addScopeClass=_?function(t,n){O(t,n?"ng-isolate-scope":"ng-scope")}:v,T}]}function cn(t){return wt(t.replace(Oi,""))}function fn(t,n){var e="",r=t.split(/\s+/),i=n.split(/\s+/);t:for(var o=0;o<r.length;o++){for(var a=r[o],u=0;u<i.length;u++)if(a==i[u])continue t;e+=(e.length>0?" ":"")+a}return e}function hn(t){t=Mr(t);var n=t.length;if(1>=n)return t;for(;n--;){var e=t[n];e.nodeType===Zr&&Pr.call(t,n,1)}return t}function pn(t,n){if(n&&C(n))return n;if(C(t)){var e=Li.exec(t);if(e)return e[3]}}function dn(){var t={},n=!1;this.register=function(n,e){pt(n,"controller"),b(n)?f(t,n):t[n]=e},this.allowGlobals=function(){n=!0},this.$get=["$injector","$window",function(i,o){function a(t,n,e,i){if(!t||!b(t.$scope))throw r("$controller")("noscp","Cannot export controller '{0}' as '{1}'! No $scope object provided via `locals`.",i,n);t.$scope[n]=e}return function(r,u,s,l){var c,h,p,d;if(s=s===!0,l&&C(l)&&(d=l),C(r)){if(h=r.match(Li),!h)throw Ti("ctrlfmt","Badly formed controller string '{0}'. Must match `__name__ as __id__` or `__name__`.",r);p=h[1],d=d||h[3],r=t.hasOwnProperty(p)?t[p]:dt(u.$scope,p,!0)||(n?dt(o,p,!0):e),ht(r,p,!0)}if(s){var v=(Fr(r)?r[r.length-1]:r).prototype;c=Object.create(v||null),d&&a(u,d,c,p||r.name);var g;return g=f(function(){var t=i.invoke(r,c,u,p);return t!==c&&(b(t)||M(t))&&(c=t,d&&a(u,d,c,p||r.name)),c},{instance:c,identifier:d})}return c=i.instantiate(r,u,p),d&&a(u,d,c,p||r.name),c}}]}function vn(){this.$get=["$window",function(t){return Mr(t.document)}]}function gn(){this.$get=["$log",function(t){return function(n,e){t.error.apply(t,arguments)}}]}function mn(t){return b(t)?_(t)?t.toISOString():Y(t):t}function yn(){this.$get=function(){return function(t){if(!t)return"";var n=[];return a(t,function(t,e){null===t||$(t)||(Fr(t)?o(t,function(t,r){n.push(rt(e)+"="+rt(mn(t)))}):n.push(rt(e)+"="+rt(mn(t))))}),n.join("&")}}}function $n(){this.$get=function(){return function(t){function n(t,r,i){null===t||$(t)||(Fr(t)?o(t,function(t,e){n(t,r+"["+(b(t)?e:"")+"]")}):b(t)&&!_(t)?a(t,function(t,e){n(t,r+(i?"":"[")+e+(i?"":"]"))}):e.push(rt(r)+"="+rt(mn(t))))}if(!t)return"";var e=[];return n(t,"",!0),e.join("&")}}}function xn(t,n){if(C(t)){var e=t.replace(Ii,"").trim();if(e){var r=n("Content-Type");(r&&0===r.indexOf(Ni)||bn(e))&&(t=G(e))}}return t}function bn(t){var n=t.match(Di);return n&&Fi[n[0]].test(t)}function wn(t){function n(t,n){t&&(r[t]=r[t]?r[t]+", "+n:n)}var e,r=gt();return C(t)?o(t.split("\n"),function(t){e=t.indexOf(":"),n(xr(zr(t.substr(0,e))),zr(t.substr(e+1)))}):b(t)&&o(t,function(t,e){n(xr(e),zr(t))}),r}function Cn(t){var n;return function(e){if(n||(n=wn(t)),e){var r=n[xr(e)];return void 0===r&&(r=null),r}return n}}function Sn(t,n,e,r){return M(r)?r(t,n,e):(o(r,function(r){t=r(t,n,e)}),t)}function _n(t){return t>=200&&300>t}function Mn(){var t=this.defaults={transformResponse:[xn],transformRequest:[function(t){return!b(t)||P(t)||T(t)||O(t)?t:Y(t)}],headers:{common:{Accept:"application/json, text/plain, */*"},post:q(Ri),put:q(Ri),patch:q(Ri)},xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",paramSerializer:"$httpParamSerializer"},n=!1;this.useApplyAsync=function(t){return x(t)?(n=!!t,this):n};var i=!0;this.useLegacyPromiseExtensions=function(t){return x(t)?(i=!!t,this):i};var a=this.interceptors=[];this.$get=["$httpBackend","$$cookieReader","$cacheFactory","$rootScope","$q","$injector",function(u,s,l,c,h,p){function d(n){function a(t){var n=f({},t);return t.data?n.data=Sn(t.data,t.headers,t.status,l.transformResponse):n.data=t.data,_n(t.status)?n:h.reject(n)}function u(t,n){var e,r={};return o(t,function(t,i){M(t)?(e=t(n),null!=e&&(r[i]=e)):r[i]=t}),r}function s(n){var e,r,i,o=t.headers,a=f({},n.headers);o=f({},o.common,o[xr(n.method)]);t:for(e in o){r=xr(e);for(i in a)if(xr(i)===r)continue t;a[e]=o[e]}return u(a,q(n))}if(!Nr.isObject(n))throw r("$http")("badreq","Http request configuration must be an object.  Received: {0}",n);var l=f({method:"get",transformRequest:t.transformRequest,transformResponse:t.transformResponse,paramSerializer:t.paramSerializer},n);l.headers=s(n),l.method=wr(l.method),l.paramSerializer=C(l.paramSerializer)?p.get(l.paramSerializer):l.paramSerializer;var c=function(n){var r=n.headers,i=Sn(n.data,Cn(r),e,n.transformRequest);return $(i)&&o(r,function(t,n){"content-type"===xr(n)&&delete r[n]}),$(n.withCredentials)&&!$(t.withCredentials)&&(n.withCredentials=t.withCredentials),m(n,i).then(a,a)},d=[c,e],v=h.when(l);for(o(S,function(t){(t.request||t.requestError)&&d.unshift(t.request,t.requestError),(t.response||t.responseError)&&d.push(t.response,t.responseError)});d.length;){var g=d.shift(),y=d.shift();v=v.then(g,y)}return i?(v.success=function(t){return ht(t,"fn"),v.then(function(n){t(n.data,n.status,n.headers,l)}),v},v.error=function(t){return ht(t,"fn"),v.then(null,function(n){t(n.data,n.status,n.headers,l)}),v}):(v.success=qi("success"),v.error=qi("error")),v}function v(t){o(arguments,function(t){d[t]=function(n,e){return d(f({},e||{},{method:t,url:n}))}})}function g(t){o(arguments,function(t){d[t]=function(n,e,r){return d(f({},r||{},{method:t,url:n,data:e}))}})}function m(r,i){function o(t,e,r,i){function o(){a(e,t,r,i)}p&&(_n(t)?p.put(S,[t,e,wn(r),i]):p.remove(S)),n?c.$applyAsync(o):(o(),c.$$phase||c.$apply())}function a(t,n,e,i){n=n>=-1?n:0,(_n(n)?g.resolve:g.reject)({data:t,status:n,headers:Cn(e),config:r,statusText:i})}function l(t){a(t.data,t.status,q(t.headers()),t.statusText)}function f(){var t=d.pendingRequests.indexOf(r);-1!==t&&d.pendingRequests.splice(t,1)}var p,v,g=h.defer(),m=g.promise,C=r.headers,S=y(r.url,r.paramSerializer(r.params));if(d.pendingRequests.push(r),m.then(f,f),!r.cache&&!t.cache||r.cache===!1||"GET"!==r.method&&"JSONP"!==r.method||(p=b(r.cache)?r.cache:b(t.cache)?t.cache:w),p&&(v=p.get(S),x(v)?j(v)?v.then(l,l):Fr(v)?a(v[1],v[0],q(v[2]),v[3]):a(v,200,{},"OK"):p.put(S,m)),$(v)){var _=ke(r.url)?s()[r.xsrfCookieName||t.xsrfCookieName]:e;_&&(C[r.xsrfHeaderName||t.xsrfHeaderName]=_),u(r.method,S,i,o,C,r.timeout,r.withCredentials,r.responseType)}return m}function y(t,n){return n.length>0&&(t+=(-1==t.indexOf("?")?"?":"&")+n),t}var w=l("$http");t.paramSerializer=C(t.paramSerializer)?p.get(t.paramSerializer):t.paramSerializer;var S=[];return o(a,function(t){S.unshift(C(t)?p.get(t):p.invoke(t))}),d.pendingRequests=[],v("get","delete","head","jsonp"),g("post","put","patch"),d.defaults=t,d}]}function kn(){this.$get=function(){return function(){return new t.XMLHttpRequest}}}function An(){this.$get=["$browser","$window","$document","$xhrFactory",function(t,n,e,r){return En(t,r,t.defer,n.angular.callbacks,e[0])}]}function En(t,n,e,r,i){function a(t,n,e){var o=i.createElement("script"),a=null;return o.type="text/javascript",o.src=t,o.async=!0,a=function(t){ri(o,"load",a),ri(o,"error",a),i.body.removeChild(o),o=null;var u=-1,s="unknown";t&&("load"!==t.type||r[n].called||(t={type:"error"}),s=t.type,u="error"===t.type?404:200),e&&e(u,s)},ei(o,"load",a),ei(o,"error",a),i.body.appendChild(o),a}return function(i,u,s,l,c,f,h,p){function d(){y&&y(),b&&b.abort()}function g(n,r,i,o,a){x(S)&&e.cancel(S),y=b=null,n(r,i,o,a),t.$$completeOutstandingRequest(v)}if(t.$$incOutstandingRequestCount(),u=u||t.url(),"jsonp"==xr(i)){var m="_"+(r.counter++).toString(36);r[m]=function(t){r[m].data=t,r[m].called=!0};var y=a(u.replace("JSON_CALLBACK","angular.callbacks."+m),m,function(t,n){g(l,t,r[m].data,"",n),r[m]=v})}else{var b=n(i,u);b.open(i,u,!0),o(c,function(t,n){x(t)&&b.setRequestHeader(n,t)}),b.onload=function(){var t=b.statusText||"",n="response"in b?b.response:b.responseText,e=1223===b.status?204:b.status;0===e&&(e=n?200:"file"==Me(u).protocol?404:0),g(l,e,n,b.getAllResponseHeaders(),t)};var w=function(){g(l,-1,null,null,"")};if(b.onerror=w,b.onabort=w,h&&(b.withCredentials=!0),p)try{b.responseType=p}catch(C){if("json"!==p)throw C}b.send($(s)?null:s)}if(f>0)var S=e(d,f);else j(f)&&f.then(d)}}function Pn(){var t="{{",n="}}";this.startSymbol=function(n){return n?(t=n,this):t},this.endSymbol=function(t){return t?(n=t,this):n},this.$get=["$parse","$exceptionHandler","$sce",function(e,r,i){function o(t){return"\\\\\\"+t}function a(e){return e.replace(h,t).replace(p,n)}function u(t){if(null==t)return"";switch(typeof t){case"string":break;case"number":t=""+t;break;default:t=Y(t)}return t}function s(o,s,h,p){function d(t){try{return t=A(t),p&&!x(t)?t:u(t)}catch(n){r(Vi.interr(o,n))}}p=!!p;for(var v,g,m,y=0,b=[],w=[],C=o.length,S=[],_=[];C>y;){if(-1==(v=o.indexOf(t,y))||-1==(g=o.indexOf(n,v+l))){y!==C&&S.push(a(o.substring(y)));break}y!==v&&S.push(a(o.substring(y,v))),m=o.substring(v+l,g),b.push(m),w.push(e(m,d)),y=g+c,_.push(S.length),S.push("")}if(h&&S.length>1&&Vi.throwNoconcat(o),!s||b.length){var k=function(t){for(var n=0,e=b.length;e>n;n++){if(p&&$(t[n]))return;S[_[n]]=t[n]}return S.join("")},A=function(t){return h?i.getTrusted(h,t):i.valueOf(t)};return f(function(t){var n=0,e=b.length,i=new Array(e);try{for(;e>n;n++)i[n]=w[n](t);return k(i)}catch(a){r(Vi.interr(o,a))}},{exp:o,expressions:b,$$watchDelegate:function(t,n){var e;return t.$watchGroup(w,function(r,i){var o=k(r);M(n)&&n.call(this,o,r!==i?e:o,t),e=o})}})}}var l=t.length,c=n.length,h=new RegExp(t.replace(/./g,o),"g"),p=new RegExp(n.replace(/./g,o),"g");return s.startSymbol=function(){return t},s.endSymbol=function(){return n},s}]}function On(){this.$get=["$rootScope","$window","$q","$$q",function(t,n,e,r){function i(i,a,u,s){var l=arguments.length>4,c=l?W(arguments,4):[],f=n.setInterval,h=n.clearInterval,p=0,d=x(s)&&!s,v=(d?r:e).defer(),g=v.promise;return u=x(u)?u:0,g.then(null,null,l?function(){i.apply(null,c)}:i),g.$$intervalId=f(function(){v.notify(p++),u>0&&p>=u&&(v.resolve(p),h(g.$$intervalId),delete o[g.$$intervalId]),d||t.$apply()},a),o[g.$$intervalId]=v,g}var o={};return i.cancel=function(t){return t&&t.$$intervalId in o?(o[t.$$intervalId].reject("canceled"),n.clearInterval(t.$$intervalId),delete o[t.$$intervalId],!0):!1},i}]}function Tn(t){for(var n=t.split("/"),e=n.length;e--;)n[e]=et(n[e]);return n.join("/")}function Ln(t,n){var e=Me(t);n.$$protocol=e.protocol,n.$$host=e.hostname,n.$$port=p(e.port)||Wi[e.protocol]||null}function jn(t,n){var e="/"!==t.charAt(0);e&&(t="/"+t);var r=Me(t);n.$$path=decodeURIComponent(e&&"/"===r.pathname.charAt(0)?r.pathname.substring(1):r.pathname),n.$$search=tt(r.search),n.$$hash=decodeURIComponent(r.hash),n.$$path&&"/"!=n.$$path.charAt(0)&&(n.$$path="/"+n.$$path)}function Nn(t,n){return 0===n.indexOf(t)?n.substr(t.length):void 0}function Rn(t){var n=t.indexOf("#");return-1==n?t:t.substr(0,n)}function Dn(t){return t.replace(/(#.+)|#$/,"$1")}function Fn(t){return t.substr(0,Rn(t).lastIndexOf("/")+1)}function In(t){return t.substring(0,t.indexOf("/",t.indexOf("//")+2))}function zn(t,n,e){this.$$html5=!0,e=e||"",Ln(t,this),this.$$parse=function(t){var e=Nn(n,t);if(!C(e))throw Ui("ipthprfx",'Invalid url "{0}", missing path prefix "{1}".',t,n);jn(e,this),this.$$path||(this.$$path="/"),this.$$compose()},this.$$compose=function(){var t=nt(this.$$search),e=this.$$hash?"#"+et(this.$$hash):"";this.$$url=Tn(this.$$path)+(t?"?"+t:"")+e,this.$$absUrl=n+this.$$url.substr(1)},this.$$parseLinkUrl=function(r,i){if(i&&"#"===i[0])return this.hash(i.slice(1)),!0;var o,a,u;return x(o=Nn(t,r))?(a=o,u=x(o=Nn(e,o))?n+(Nn("/",o)||o):t+a):x(o=Nn(n,r))?u=n+o:n==r+"/"&&(u=n),u&&this.$$parse(u),!!u}}function qn(t,n,e){Ln(t,this),this.$$parse=function(r){function i(t,n,e){var r,i=/^\/[A-Z]:(\/.*)/;return 0===n.indexOf(e)&&(n=n.replace(e,"")),i.exec(n)?t:(r=i.exec(t),r?r[1]:t)}var o,a=Nn(t,r)||Nn(n,r);$(a)||"#"!==a.charAt(0)?this.$$html5?o=a:(o="",$(a)&&(t=r,this.replace())):(o=Nn(e,a),$(o)&&(o=a)),jn(o,this),this.$$path=i(this.$$path,o,t),this.$$compose()},this.$$compose=function(){var n=nt(this.$$search),r=this.$$hash?"#"+et(this.$$hash):"";this.$$url=Tn(this.$$path)+(n?"?"+n:"")+r,this.$$absUrl=t+(this.$$url?e+this.$$url:"")},this.$$parseLinkUrl=function(n,e){return Rn(t)==Rn(n)?(this.$$parse(n),!0):!1}}function Vn(t,n,e){this.$$html5=!0,qn.apply(this,arguments),this.$$parseLinkUrl=function(r,i){if(i&&"#"===i[0])return this.hash(i.slice(1)),!0;var o,a;return t==Rn(r)?o=r:(a=Nn(n,r))?o=t+e+a:n===r+"/"&&(o=n),o&&this.$$parse(o),!!o},this.$$compose=function(){var n=nt(this.$$search),r=this.$$hash?"#"+et(this.$$hash):"";this.$$url=Tn(this.$$path)+(n?"?"+n:"")+r,this.$$absUrl=t+e+this.$$url}}function Bn(t){return function(){return this[t]}}function Wn(t,n){return function(e){return $(e)?this[t]:(this[t]=n(e),this.$$compose(),this)}}function Un(){var t="",n={enabled:!1,requireBase:!0,rewriteLinks:!0};this.hashPrefix=function(n){return x(n)?(t=n,this):t},this.html5Mode=function(t){return L(t)?(n.enabled=t,this):b(t)?(L(t.enabled)&&(n.enabled=t.enabled),L(t.requireBase)&&(n.requireBase=t.requireBase),L(t.rewriteLinks)&&(n.rewriteLinks=t.rewriteLinks),this):n},this.$get=["$rootScope","$browser","$sniffer","$rootElement","$window",function(e,r,i,o,a){function u(t,n,e){var i=l.url(),o=l.$$state;try{r.url(t,n,e),l.$$state=r.state()}catch(a){throw l.url(i),l.$$state=o,a}}function s(t,n){e.$broadcast("$locationChangeSuccess",l.absUrl(),t,l.$$state,n)}var l,c,f,h=r.baseHref(),p=r.url();if(n.enabled){if(!h&&n.requireBase)throw Ui("nobase","$location in HTML5 mode requires a <base> tag to be present!");f=In(p)+(h||"/"),c=i.history?zn:Vn}else f=Rn(p),c=qn;var d=Fn(f);l=new c(f,d,"#"+t),l.$$parseLinkUrl(p,p),l.$$state=r.state();var v=/^\s*(javascript|mailto):/i;o.on("click",function(t){if(n.rewriteLinks&&!t.ctrlKey&&!t.metaKey&&!t.shiftKey&&2!=t.which&&2!=t.button){for(var i=Mr(t.target);"a"!==F(i[0]);)if(i[0]===o[0]||!(i=i.parent())[0])return;var u=i.prop("href"),s=i.attr("href")||i.attr("xlink:href");b(u)&&"[object SVGAnimatedString]"===u.toString()&&(u=Me(u.animVal).href),v.test(u)||!u||i.attr("target")||t.isDefaultPrevented()||l.$$parseLinkUrl(u,s)&&(t.preventDefault(),l.absUrl()!=r.url()&&(e.$apply(),a.angular["ff-684208-preventDefault"]=!0))}}),Dn(l.absUrl())!=Dn(p)&&r.url(l.absUrl(),!0);var g=!0;return r.onUrlChange(function(t,n){return $(Nn(d,t))?void(a.location.href=t):(e.$evalAsync(function(){var r,i=l.absUrl(),o=l.$$state;l.$$parse(t),l.$$state=n,r=e.$broadcast("$locationChangeStart",t,i,n,o).defaultPrevented,l.absUrl()===t&&(r?(l.$$parse(i),l.$$state=o,u(i,!1,o)):(g=!1,s(i,o)))}),void(e.$$phase||e.$digest()))}),e.$watch(function(){var t=Dn(r.url()),n=Dn(l.absUrl()),o=r.state(),a=l.$$replace,c=t!==n||l.$$html5&&i.history&&o!==l.$$state;(g||c)&&(g=!1,e.$evalAsync(function(){var n=l.absUrl(),r=e.$broadcast("$locationChangeStart",n,t,l.$$state,o).defaultPrevented;l.absUrl()===n&&(r?(l.$$parse(t),l.$$state=o):(c&&u(n,a,o===l.$$state?null:l.$$state),s(t,o)))})),l.$$replace=!1}),l}]}function Hn(){var t=!0,n=this;this.debugEnabled=function(n){return x(n)?(t=n,this):t},this.$get=["$window",function(e){function r(t){return t instanceof Error&&(t.stack?t=t.message&&-1===t.stack.indexOf(t.message)?"Error: "+t.message+"\n"+t.stack:t.stack:t.sourceURL&&(t=t.message+"\n"+t.sourceURL+":"+t.line)),t}function i(t){var n=e.console||{},i=n[t]||n.log||v,a=!1;try{a=!!i.apply}catch(u){}return a?function(){var t=[];return o(arguments,function(n){t.push(r(n))}),i.apply(n,t)}:function(t,n){i(t,null==n?"":n)}}return{log:i("log"),info:i("info"),warn:i("warn"),error:i("error"),debug:function(){var e=i("debug");return function(){t&&e.apply(n,arguments)}}()}}]}function Yn(t,n){if("__defineGetter__"===t||"__defineSetter__"===t||"__lookupGetter__"===t||"__lookupSetter__"===t||"__proto__"===t)throw Yi("isecfld","Attempting to access a disallowed field in Angular expressions! Expression: {0}",n);return t}function Gn(t,n){if(t+="",!C(t))throw Yi("iseccst","Cannot convert object to primitive value! Expression: {0}",n);return t}function Xn(t,n){if(t){if(t.constructor===t)throw Yi("isecfn","Referencing Function in Angular expressions is disallowed! Expression: {0}",n);if(t.window===t)throw Yi("isecwindow","Referencing the Window in Angular expressions is disallowed! Expression: {0}",n);if(t.children&&(t.nodeName||t.prop&&t.attr&&t.find))throw Yi("isecdom","Referencing DOM nodes in Angular expressions is disallowed! Expression: {0}",n);if(t===Object)throw Yi("isecobj","Referencing Object in Angular expressions is disallowed! Expression: {0}",n)}return t}function Zn(t,n){if(t){if(t.constructor===t)throw Yi("isecfn","Referencing Function in Angular expressions is disallowed! Expression: {0}",n);if(t===Gi||t===Xi||t===Zi)throw Yi("isecff","Referencing call, apply or bind in Angular expressions is disallowed! Expression: {0}",n)}}function Jn(t,n){if(t&&(t===0..constructor||t===(!1).constructor||t==="".constructor||t==={}.constructor||t===[].constructor||t===Function.constructor))throw Yi("isecaf","Assigning to a constructor is disallowed! Expression: {0}",n)}function Kn(t,n){return"undefined"!=typeof t?t:n}function Qn(t,n){return"undefined"==typeof t?n:"undefined"==typeof n?t:t+n}function te(t,n){var e=t(n);return!e.$stateful}function ne(t,n){var e,r;switch(t.type){case to.Program:e=!0,o(t.body,function(t){ne(t.expression,n),e=e&&t.expression.constant}),t.constant=e;break;case to.Literal:t.constant=!0,t.toWatch=[];break;case to.UnaryExpression:ne(t.argument,n),t.constant=t.argument.constant,t.toWatch=t.argument.toWatch;break;case to.BinaryExpression:ne(t.left,n),ne(t.right,n),t.constant=t.left.constant&&t.right.constant,t.toWatch=t.left.toWatch.concat(t.right.toWatch);break;case to.LogicalExpression:ne(t.left,n),ne(t.right,n),t.constant=t.left.constant&&t.right.constant,t.toWatch=t.constant?[]:[t];break;case to.ConditionalExpression:ne(t.test,n),ne(t.alternate,n),ne(t.consequent,n),t.constant=t.test.constant&&t.alternate.constant&&t.consequent.constant,t.toWatch=t.constant?[]:[t];break;case to.Identifier:t.constant=!1,t.toWatch=[t];break;case to.MemberExpression:ne(t.object,n),t.computed&&ne(t.property,n),t.constant=t.object.constant&&(!t.computed||t.property.constant),t.toWatch=[t];break;case to.CallExpression:e=t.filter?te(n,t.callee.name):!1,r=[],o(t.arguments,function(t){ne(t,n),e=e&&t.constant,t.constant||r.push.apply(r,t.toWatch)}),t.constant=e,t.toWatch=t.filter&&te(n,t.callee.name)?r:[t];break;case to.AssignmentExpression:ne(t.left,n),ne(t.right,n),t.constant=t.left.constant&&t.right.constant,t.toWatch=[t];break;case to.ArrayExpression:e=!0,r=[],o(t.elements,function(t){ne(t,n),e=e&&t.constant,t.constant||r.push.apply(r,t.toWatch)}),t.constant=e,t.toWatch=r;break;case to.ObjectExpression:e=!0,r=[],o(t.properties,function(t){ne(t.value,n),e=e&&t.value.constant,t.value.constant||r.push.apply(r,t.value.toWatch)}),t.constant=e,t.toWatch=r;break;case to.ThisExpression:t.constant=!1,t.toWatch=[]}}function ee(t){if(1==t.length){var n=t[0].expression,r=n.toWatch;return 1!==r.length?r:r[0]!==n?r:e}}function re(t){return t.type===to.Identifier||t.type===to.MemberExpression}function ie(t){return 1===t.body.length&&re(t.body[0].expression)?{type:to.AssignmentExpression,left:t.body[0].expression,right:{type:to.NGValueParameter},operator:"="}:void 0}function oe(t){return 0===t.body.length||1===t.body.length&&(t.body[0].expression.type===to.Literal||t.body[0].expression.type===to.ArrayExpression||t.body[0].expression.type===to.ObjectExpression)}function ae(t){return t.constant}function ue(t,n){this.astBuilder=t,this.$filter=n}function se(t,n){this.astBuilder=t,this.$filter=n}function le(t){return"constructor"==t}function ce(t){return M(t.valueOf)?t.valueOf():eo.call(t)}function fe(){var t=gt(),n=gt();this.$get=["$filter",function(r){function i(t,n){return null==t||null==n?t===n:"object"==typeof t&&(t=ce(t),"object"==typeof t)?!1:t===n||t!==t&&n!==n}function a(t,n,r,o,a){var u,s=o.inputs;if(1===s.length){var l=i;return s=s[0],t.$watch(function(t){var n=s(t);return i(n,l)||(u=o(t,e,e,[n]),l=n&&ce(n)),u},n,r,a)}for(var c=[],f=[],h=0,p=s.length;p>h;h++)c[h]=i,f[h]=null;return t.$watch(function(t){for(var n=!1,r=0,a=s.length;a>r;r++){var l=s[r](t);(n||(n=!i(l,c[r])))&&(f[r]=l,c[r]=l&&ce(l))}return n&&(u=o(t,e,e,f)),u},n,r,a)}function u(t,n,e,r){var i,o;return i=t.$watch(function(t){return r(t)},function(t,e,r){o=t,M(n)&&n.apply(this,arguments),x(t)&&r.$$postDigest(function(){x(o)&&i()})},e)}function s(t,n,e,r){function i(t){var n=!0;return o(t,function(t){x(t)||(n=!1)}),n}var a,u;return a=t.$watch(function(t){return r(t)},function(t,e,r){u=t,M(n)&&n.call(this,t,e,r),i(t)&&r.$$postDigest(function(){i(u)&&a()})},e)}function l(t,n,e,r){var i;return i=t.$watch(function(t){return r(t)},function(t,e,r){M(n)&&n.apply(this,arguments),i()},e)}function c(t,n){if(!n)return t;var e=t.$$watchDelegate,r=e!==s&&e!==u,i=r?function(e,r,i,o){var a=t(e,r,i,o);return n(a,e,r)}:function(e,r,i,o){var a=t(e,r,i,o),u=n(a,e,r);return x(a)?u:a};return t.$$watchDelegate&&t.$$watchDelegate!==a?i.$$watchDelegate=t.$$watchDelegate:n.$stateful||(i.$$watchDelegate=a,i.inputs=t.inputs?t.inputs:[t]),i}var f=Vr().noUnsafeEval,h={csp:f,expensiveChecks:!1},p={csp:f,expensiveChecks:!0};return function(e,i,o){var f,d,g;switch(typeof e){case"string":e=e.trim(),g=e;var m=o?n:t;if(f=m[g],!f){":"===e.charAt(0)&&":"===e.charAt(1)&&(d=!0,e=e.substring(2));var y=o?p:h,$=new Qi(y),x=new no($,r,y);f=x.parse(e),f.constant?f.$$watchDelegate=l:d?f.$$watchDelegate=f.literal?s:u:f.inputs&&(f.$$watchDelegate=a),m[g]=f}return c(f,i);case"function":return c(e,i);default:return v}}}]}function he(){this.$get=["$rootScope","$exceptionHandler",function(t,n){return de(function(n){t.$evalAsync(n)},n)}]}function pe(){this.$get=["$browser","$exceptionHandler",function(t,n){return de(function(n){t.defer(n)},n)}]}function de(t,n){function i(t,n,e){function r(n){return function(e){i||(i=!0,n.call(t,e))}}var i=!1;return[r(n),r(e)]}function a(){this.$$state={status:0}}function u(t,n){return function(e){n.call(t,e)}}function s(t){var r,i,o;o=t.pending,t.processScheduled=!1,t.pending=e;for(var a=0,u=o.length;u>a;++a){i=o[a][0],r=o[a][t.status];try{M(r)?i.resolve(r(t.value)):1===t.status?i.resolve(t.value):i.reject(t.value)}catch(s){i.reject(s),n(s)}}}function l(n){!n.processScheduled&&n.pending&&(n.processScheduled=!0,t(function(){s(n)}))}function c(){this.promise=new a,this.resolve=u(this,this.resolve),this.reject=u(this,this.reject),this.notify=u(this,this.notify)}function h(t){var n=new c,e=0,r=Fr(t)?[]:{};return o(t,function(t,i){e++,y(t).then(function(t){r.hasOwnProperty(i)||(r[i]=t,--e||n.resolve(r))},function(t){r.hasOwnProperty(i)||n.reject(t)})}),0===e&&n.resolve(r),n.promise}var p=r("$q",TypeError),d=function(){return new c};f(a.prototype,{then:function(t,n,e){if($(t)&&$(n)&&$(e))return this;var r=new c;return this.$$state.pending=this.$$state.pending||[],this.$$state.pending.push([r,t,n,e]),this.$$state.status>0&&l(this.$$state),r.promise},"catch":function(t){return this.then(null,t)},"finally":function(t,n){return this.then(function(n){return m(n,!0,t)},function(n){return m(n,!1,t)},n)}}),f(c.prototype,{resolve:function(t){this.promise.$$state.status||(t===this.promise?this.$$reject(p("qcycle","Expected promise to be resolved with value other than itself '{0}'",t)):this.$$resolve(t))},$$resolve:function(t){var e,r;r=i(this,this.$$resolve,this.$$reject);try{(b(t)||M(t))&&(e=t&&t.then),M(e)?(this.promise.$$state.status=-1,e.call(t,r[0],r[1],this.notify)):(this.promise.$$state.value=t,this.promise.$$state.status=1,l(this.promise.$$state))}catch(o){r[1](o),n(o)}},reject:function(t){this.promise.$$state.status||this.$$reject(t)},$$reject:function(t){this.promise.$$state.value=t,this.promise.$$state.status=2,l(this.promise.$$state)},notify:function(e){var r=this.promise.$$state.pending;this.promise.$$state.status<=0&&r&&r.length&&t(function(){for(var t,i,o=0,a=r.length;a>o;o++){i=r[o][0],t=r[o][3];try{i.notify(M(t)?t(e):e)}catch(u){n(u)}}})}});var v=function(t){var n=new c;return n.reject(t),n.promise},g=function(t,n){var e=new c;return n?e.resolve(t):e.reject(t),e.promise},m=function(t,n,e){
+var r=null;try{M(e)&&(r=e())}catch(i){return g(i,!1)}return j(r)?r.then(function(){return g(t,n)},function(t){return g(t,!1)}):g(t,n)},y=function(t,n,e,r){var i=new c;return i.resolve(t),i.promise.then(n,e,r)},x=y,w=function C(t){function n(t){r.resolve(t)}function e(t){r.reject(t)}if(!M(t))throw p("norslvr","Expected resolverFn, got '{0}'",t);if(!(this instanceof C))return new C(t);var r=new c;return t(n,e),r.promise};return w.defer=d,w.reject=v,w.when=y,w.resolve=x,w.all=h,w}function ve(){this.$get=["$window","$timeout",function(t,n){var e=t.requestAnimationFrame||t.webkitRequestAnimationFrame,r=t.cancelAnimationFrame||t.webkitCancelAnimationFrame||t.webkitCancelRequestAnimationFrame,i=!!e,o=i?function(t){var n=e(t);return function(){r(n)}}:function(t){var e=n(t,16.66,!1);return function(){n.cancel(e)}};return o.supported=i,o}]}function ge(){function t(t){function n(){this.$$watchers=this.$$nextSibling=this.$$childHead=this.$$childTail=null,this.$$listeners={},this.$$listenerCount={},this.$$watchersCount=0,this.$id=s(),this.$$ChildScope=null}return n.prototype=t,n}var n=10,e=r("$rootScope"),a=null,u=null;this.digestTtl=function(t){return arguments.length&&(n=t),n},this.$get=["$injector","$exceptionHandler","$parse","$browser",function(r,l,c,f){function h(t){t.currentScope.$$destroyed=!0}function p(){this.$id=s(),this.$$phase=this.$parent=this.$$watchers=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null,this.$root=this,this.$$destroyed=!1,this.$$listeners={},this.$$listenerCount={},this.$$watchersCount=0,this.$$isolateBindings=null}function d(t){if(S.$$phase)throw e("inprog","{0} already in progress",S.$$phase);S.$$phase=t}function g(){S.$$phase=null}function m(t,n){do t.$$watchersCount+=n;while(t=t.$parent)}function y(t,n,e){do t.$$listenerCount[e]-=n,0===t.$$listenerCount[e]&&delete t.$$listenerCount[e];while(t=t.$parent)}function x(){}function w(){for(;A.length;)try{A.shift()()}catch(t){l(t)}u=null}function C(){null===u&&(u=f.defer(function(){S.$apply(w)}))}p.prototype={constructor:p,$new:function(n,e){var r;return e=e||this,n?(r=new p,r.$root=this.$root):(this.$$ChildScope||(this.$$ChildScope=t(this)),r=new this.$$ChildScope),r.$parent=e,r.$$prevSibling=e.$$childTail,e.$$childHead?(e.$$childTail.$$nextSibling=r,e.$$childTail=r):e.$$childHead=e.$$childTail=r,(n||e!=this)&&r.$on("$destroy",h),r},$watch:function(t,n,e,r){var i=c(t);if(i.$$watchDelegate)return i.$$watchDelegate(this,n,e,i,t);var o=this,u=o.$$watchers,s={fn:n,last:x,get:i,exp:r||t,eq:!!e};return a=null,M(n)||(s.fn=v),u||(u=o.$$watchers=[]),u.unshift(s),m(this,1),function(){I(u,s)>=0&&m(o,-1),a=null}},$watchGroup:function(t,n){function e(){s=!1,l?(l=!1,n(i,i,u)):n(i,r,u)}var r=new Array(t.length),i=new Array(t.length),a=[],u=this,s=!1,l=!0;if(!t.length){var c=!0;return u.$evalAsync(function(){c&&n(i,i,u)}),function(){c=!1}}return 1===t.length?this.$watch(t[0],function(t,e,o){i[0]=t,r[0]=e,n(i,t===e?i:r,o)}):(o(t,function(t,n){var o=u.$watch(t,function(t,o){i[n]=t,r[n]=o,s||(s=!0,u.$evalAsync(e))});a.push(o)}),function(){for(;a.length;)a.shift()()})},$watchCollection:function(t,n){function e(t){o=t;var n,e,r,u,s;if(!$(o)){if(b(o))if(i(o)){a!==p&&(a=p,g=a.length=0,f++),n=o.length,g!==n&&(f++,a.length=g=n);for(var l=0;n>l;l++)s=a[l],u=o[l],r=s!==s&&u!==u,r||s===u||(f++,a[l]=u)}else{a!==d&&(a=d={},g=0,f++),n=0;for(e in o)br.call(o,e)&&(n++,u=o[e],s=a[e],e in a?(r=s!==s&&u!==u,r||s===u||(f++,a[e]=u)):(g++,a[e]=u,f++));if(g>n){f++;for(e in a)br.call(o,e)||(g--,delete a[e])}}else a!==o&&(a=o,f++);return f}}function r(){if(v?(v=!1,n(o,o,s)):n(o,u,s),l)if(b(o))if(i(o)){u=new Array(o.length);for(var t=0;t<o.length;t++)u[t]=o[t]}else{u={};for(var e in o)br.call(o,e)&&(u[e]=o[e])}else u=o}e.$stateful=!0;var o,a,u,s=this,l=n.length>1,f=0,h=c(t,e),p=[],d={},v=!0,g=0;return this.$watch(h,r)},$digest:function(){var t,r,i,o,s,c,h,p,v,m,y=n,$=this,b=[];d("$digest"),f.$$checkUrlChange(),this===S&&null!==u&&(f.defer.cancel(u),w()),a=null;do{for(c=!1,p=$;_.length;){try{m=_.shift(),m.scope.$eval(m.expression,m.locals)}catch(C){l(C)}a=null}t:do{if(o=p.$$watchers)for(s=o.length;s--;)try{if(t=o[s])if((r=t.get(p))===(i=t.last)||(t.eq?V(r,i):"number"==typeof r&&"number"==typeof i&&isNaN(r)&&isNaN(i))){if(t===a){c=!1;break t}}else c=!0,a=t,t.last=t.eq?z(r,null):r,t.fn(r,i===x?r:i,p),5>y&&(v=4-y,b[v]||(b[v]=[]),b[v].push({msg:M(t.exp)?"fn: "+(t.exp.name||t.exp.toString()):t.exp,newVal:r,oldVal:i}))}catch(C){l(C)}if(!(h=p.$$watchersCount&&p.$$childHead||p!==$&&p.$$nextSibling))for(;p!==$&&!(h=p.$$nextSibling);)p=p.$parent}while(p=h);if((c||_.length)&&!y--)throw g(),e("infdig","{0} $digest() iterations reached. Aborting!\nWatchers fired in the last 5 iterations: {1}",n,b)}while(c||_.length);for(g();k.length;)try{k.shift()()}catch(C){l(C)}},$destroy:function(){if(!this.$$destroyed){var t=this.$parent;this.$broadcast("$destroy"),this.$$destroyed=!0,this===S&&f.$$applicationDestroyed(),m(this,-this.$$watchersCount);for(var n in this.$$listenerCount)y(this,this.$$listenerCount[n],n);t&&t.$$childHead==this&&(t.$$childHead=this.$$nextSibling),t&&t.$$childTail==this&&(t.$$childTail=this.$$prevSibling),this.$$prevSibling&&(this.$$prevSibling.$$nextSibling=this.$$nextSibling),this.$$nextSibling&&(this.$$nextSibling.$$prevSibling=this.$$prevSibling),this.$destroy=this.$digest=this.$apply=this.$evalAsync=this.$applyAsync=v,this.$on=this.$watch=this.$watchGroup=function(){return v},this.$$listeners={},this.$parent=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=this.$root=this.$$watchers=null}},$eval:function(t,n){return c(t)(this,n)},$evalAsync:function(t,n){S.$$phase||_.length||f.defer(function(){_.length&&S.$digest()}),_.push({scope:this,expression:t,locals:n})},$$postDigest:function(t){k.push(t)},$apply:function(t){try{d("$apply");try{return this.$eval(t)}finally{g()}}catch(n){l(n)}finally{try{S.$digest()}catch(n){throw l(n),n}}},$applyAsync:function(t){function n(){e.$eval(t)}var e=this;t&&A.push(n),C()},$on:function(t,n){var e=this.$$listeners[t];e||(this.$$listeners[t]=e=[]),e.push(n);var r=this;do r.$$listenerCount[t]||(r.$$listenerCount[t]=0),r.$$listenerCount[t]++;while(r=r.$parent);var i=this;return function(){var r=e.indexOf(n);-1!==r&&(e[r]=null,y(i,1,t))}},$emit:function(t,n){var e,r,i,o=[],a=this,u=!1,s={name:t,targetScope:a,stopPropagation:function(){u=!0},preventDefault:function(){s.defaultPrevented=!0},defaultPrevented:!1},c=B([s],arguments,1);do{for(e=a.$$listeners[t]||o,s.currentScope=a,r=0,i=e.length;i>r;r++)if(e[r])try{e[r].apply(null,c)}catch(f){l(f)}else e.splice(r,1),r--,i--;if(u)return s.currentScope=null,s;a=a.$parent}while(a);return s.currentScope=null,s},$broadcast:function(t,n){var e=this,r=e,i=e,o={name:t,targetScope:e,preventDefault:function(){o.defaultPrevented=!0},defaultPrevented:!1};if(!e.$$listenerCount[t])return o;for(var a,u,s,c=B([o],arguments,1);r=i;){for(o.currentScope=r,a=r.$$listeners[t]||[],u=0,s=a.length;s>u;u++)if(a[u])try{a[u].apply(null,c)}catch(f){l(f)}else a.splice(u,1),u--,s--;if(!(i=r.$$listenerCount[t]&&r.$$childHead||r!==e&&r.$$nextSibling))for(;r!==e&&!(i=r.$$nextSibling);)r=r.$parent}return o.currentScope=null,o}};var S=new p,_=S.$$asyncQueue=[],k=S.$$postDigestQueue=[],A=S.$$applyAsyncQueue=[];return S}]}function me(){var t=/^\s*(https?|ftp|mailto|tel|file):/,n=/^\s*((https?|ftp|file|blob):|data:image\/)/;this.aHrefSanitizationWhitelist=function(n){return x(n)?(t=n,this):t},this.imgSrcSanitizationWhitelist=function(t){return x(t)?(n=t,this):n},this.$get=function(){return function(e,r){var i,o=r?n:t;return i=Me(e).href,""===i||i.match(o)?e:"unsafe:"+i}}}function ye(t){if("self"===t)return t;if(C(t)){if(t.indexOf("***")>-1)throw ro("iwcard","Illegal sequence *** in string matcher.  String: {0}",t);return t=qr(t).replace("\\*\\*",".*").replace("\\*","[^:/.?&;]*"),new RegExp("^"+t+"$")}if(k(t))return new RegExp("^"+t.source+"$");throw ro("imatcher",'Matchers may only be "self", string patterns or RegExp objects')}function $e(t){var n=[];return x(t)&&o(t,function(t){n.push(ye(t))}),n}function xe(){this.SCE_CONTEXTS=io;var t=["self"],n=[];this.resourceUrlWhitelist=function(n){return arguments.length&&(t=$e(n)),t},this.resourceUrlBlacklist=function(t){return arguments.length&&(n=$e(t)),n},this.$get=["$injector",function(e){function r(t,n){return"self"===t?ke(n):!!t.exec(n.href)}function i(e){var i,o,a=Me(e.toString()),u=!1;for(i=0,o=t.length;o>i;i++)if(r(t[i],a)){u=!0;break}if(u)for(i=0,o=n.length;o>i;i++)if(r(n[i],a)){u=!1;break}return u}function o(t){var n=function(t){this.$$unwrapTrustedValue=function(){return t}};return t&&(n.prototype=new t),n.prototype.valueOf=function(){return this.$$unwrapTrustedValue()},n.prototype.toString=function(){return this.$$unwrapTrustedValue().toString()},n}function a(t,n){var e=f.hasOwnProperty(t)?f[t]:null;if(!e)throw ro("icontext","Attempted to trust a value in invalid context. Context: {0}; Value: {1}",t,n);if(null===n||$(n)||""===n)return n;if("string"!=typeof n)throw ro("itype","Attempted to trust a non-string value in a content requiring a string: Context: {0}",t);return new e(n)}function u(t){return t instanceof c?t.$$unwrapTrustedValue():t}function s(t,n){if(null===n||$(n)||""===n)return n;var e=f.hasOwnProperty(t)?f[t]:null;if(e&&n instanceof e)return n.$$unwrapTrustedValue();if(t===io.RESOURCE_URL){if(i(n))return n;throw ro("insecurl","Blocked loading resource from url not allowed by $sceDelegate policy.  URL: {0}",n.toString())}if(t===io.HTML)return l(n);throw ro("unsafe","Attempting to use an unsafe value in a safe context.")}var l=function(t){throw ro("unsafe","Attempting to use an unsafe value in a safe context.")};e.has("$sanitize")&&(l=e.get("$sanitize"));var c=o(),f={};return f[io.HTML]=o(c),f[io.CSS]=o(c),f[io.URL]=o(c),f[io.JS]=o(c),f[io.RESOURCE_URL]=o(f[io.URL]),{trustAs:a,getTrusted:s,valueOf:u}}]}function be(){var t=!0;this.enabled=function(n){return arguments.length&&(t=!!n),t},this.$get=["$parse","$sceDelegate",function(n,e){if(t&&8>_r)throw ro("iequirks","Strict Contextual Escaping does not support Internet Explorer version < 11 in quirks mode.  You can fix this by adding the text <!doctype html> to the top of your HTML document.  See http://docs.angularjs.org/api/ng.$sce for more information.");var r=q(io);r.isEnabled=function(){return t},r.trustAs=e.trustAs,r.getTrusted=e.getTrusted,r.valueOf=e.valueOf,t||(r.trustAs=r.getTrusted=function(t,n){return n},r.valueOf=g),r.parseAs=function(t,e){var i=n(e);return i.literal&&i.constant?i:n(e,function(n){return r.getTrusted(t,n)})};var i=r.parseAs,a=r.getTrusted,u=r.trustAs;return o(io,function(t,n){var e=xr(n);r[wt("parse_as_"+e)]=function(n){return i(t,n)},r[wt("get_trusted_"+e)]=function(n){return a(t,n)},r[wt("trust_as_"+e)]=function(n){return u(t,n)}}),r}]}function we(){this.$get=["$window","$document",function(t,n){var e,r,i={},o=p((/android (\d+)/.exec(xr((t.navigator||{}).userAgent))||[])[1]),a=/Boxee/i.test((t.navigator||{}).userAgent),u=n[0]||{},s=/^(Moz|webkit|ms)(?=[A-Z])/,l=u.body&&u.body.style,c=!1,f=!1;if(l){for(var h in l)if(r=s.exec(h)){e=r[0],e=e.substr(0,1).toUpperCase()+e.substr(1);break}e||(e="WebkitOpacity"in l&&"webkit"),c=!!("transition"in l||e+"Transition"in l),f=!!("animation"in l||e+"Animation"in l),!o||c&&f||(c=C(l.webkitTransition),f=C(l.webkitAnimation))}return{history:!(!t.history||!t.history.pushState||4>o||a),hasEvent:function(t){if("input"===t&&11>=_r)return!1;if($(i[t])){var n=u.createElement("div");i[t]="on"+t in n}return i[t]},csp:Vr(),vendorPrefix:e,transitions:c,animations:f,android:o}}]}function Ce(){this.$get=["$templateCache","$http","$q","$sce",function(t,n,e,r){function i(o,a){function u(t){if(!a)throw Pi("tpload","Failed to load template: {0} (HTTP status: {1} {2})",o,t.status,t.statusText);return e.reject(t)}i.totalPendingRequests++,C(o)&&t.get(o)||(o=r.getTrustedResourceUrl(o));var s=n.defaults&&n.defaults.transformResponse;Fr(s)?s=s.filter(function(t){return t!==xn}):s===xn&&(s=null);var l={cache:t,transformResponse:s};return n.get(o,l)["finally"](function(){i.totalPendingRequests--}).then(function(n){return t.put(o,n.data),n.data},u)}return i.totalPendingRequests=0,i}]}function Se(){this.$get=["$rootScope","$browser","$location",function(t,n,e){var r={};return r.findBindings=function(t,n,e){var r=t.getElementsByClassName("ng-binding"),i=[];return o(r,function(t){var r=Nr.element(t).data("$binding");r&&o(r,function(r){if(e){var o=new RegExp("(^|\\s)"+qr(n)+"(\\s|\\||$)");o.test(r)&&i.push(t)}else-1!=r.indexOf(n)&&i.push(t)})}),i},r.findModels=function(t,n,e){for(var r=["ng-","data-ng-","ng\\:"],i=0;i<r.length;++i){var o=e?"=":"*=",a="["+r[i]+"model"+o+'"'+n+'"]',u=t.querySelectorAll(a);if(u.length)return u}},r.getLocation=function(){return e.url()},r.setLocation=function(n){n!==e.url()&&(e.url(n),t.$digest())},r.whenStable=function(t){n.notifyWhenNoOutstandingRequests(t)},r}]}function _e(){this.$get=["$rootScope","$browser","$q","$$q","$exceptionHandler",function(t,n,e,r,i){function o(o,u,s){M(o)||(s=u,u=o,o=v);var l,c=W(arguments,3),f=x(s)&&!s,h=(f?r:e).defer(),p=h.promise;return l=n.defer(function(){try{h.resolve(o.apply(null,c))}catch(n){h.reject(n),i(n)}finally{delete a[p.$$timeoutId]}f||t.$apply()},u),p.$$timeoutId=l,a[l]=h,p}var a={};return o.cancel=function(t){return t&&t.$$timeoutId in a?(a[t.$$timeoutId].reject("canceled"),delete a[t.$$timeoutId],n.defer.cancel(t.$$timeoutId)):!1},o}]}function Me(t){var n=t;return _r&&(oo.setAttribute("href",n),n=oo.href),oo.setAttribute("href",n),{href:oo.href,protocol:oo.protocol?oo.protocol.replace(/:$/,""):"",host:oo.host,search:oo.search?oo.search.replace(/^\?/,""):"",hash:oo.hash?oo.hash.replace(/^#/,""):"",hostname:oo.hostname,port:oo.port,pathname:"/"===oo.pathname.charAt(0)?oo.pathname:"/"+oo.pathname}}function ke(t){var n=C(t)?Me(t):t;return n.protocol===ao.protocol&&n.host===ao.host}function Ae(){this.$get=m(t)}function Ee(t){function n(t){try{return decodeURIComponent(t)}catch(n){return t}}var e=t[0]||{},r={},i="";return function(){var t,o,a,u,s,l=e.cookie||"";if(l!==i)for(i=l,t=i.split("; "),r={},a=0;a<t.length;a++)o=t[a],u=o.indexOf("="),u>0&&(s=n(o.substring(0,u)),$(r[s])&&(r[s]=n(o.substring(u+1))));return r}}function Pe(){this.$get=Ee}function Oe(t){function n(r,i){if(b(r)){var a={};return o(r,function(t,e){a[e]=n(e,t)}),a}return t.factory(r+e,i)}var e="Filter";this.register=n,this.$get=["$injector",function(t){return function(n){return t.get(n+e)}}],n("currency",Re),n("date",Xe),n("filter",Te),n("json",Ze),n("limitTo",Je),n("lowercase",fo),n("number",De),n("orderBy",Ke),n("uppercase",ho)}function Te(){return function(t,n,e){if(!i(t)){if(null==t)return t;throw r("filter")("notarray","Expected array but received: {0}",t)}var o,a,u=Ne(n);switch(u){case"function":o=n;break;case"boolean":case"null":case"number":case"string":a=!0;case"object":o=Le(n,e,a);break;default:return t}return Array.prototype.filter.call(t,o)}}function Le(t,n,e){var r,i=b(t)&&"$"in t;return n===!0?n=V:M(n)||(n=function(t,n){return $(t)?!1:null===t||null===n?t===n:b(n)||b(t)&&!y(t)?!1:(t=xr(""+t),n=xr(""+n),-1!==t.indexOf(n))}),r=function(r){return i&&!b(r)?je(r,t.$,n,!1):je(r,t,n,e)}}function je(t,n,e,r,i){var o=Ne(t),a=Ne(n);if("string"===a&&"!"===n.charAt(0))return!je(t,n.substring(1),e,r);if(Fr(t))return t.some(function(t){return je(t,n,e,r)});switch(o){case"object":var u;if(r){for(u in t)if("$"!==u.charAt(0)&&je(t[u],n,e,!0))return!0;return i?!1:je(t,n,e,!1)}if("object"===a){for(u in n){var s=n[u];if(!M(s)&&!$(s)){var l="$"===u,c=l?t:t[u];if(!je(c,s,e,l,l))return!1}}return!0}return e(t,n);case"function":return!1;default:return e(t,n)}}function Ne(t){return null===t?"null":typeof t}function Re(t){var n=t.NUMBER_FORMATS;return function(t,e,r){return $(e)&&(e=n.CURRENCY_SYM),$(r)&&(r=n.PATTERNS[1].maxFrac),null==t?t:Fe(t,n.PATTERNS[1],n.GROUP_SEP,n.DECIMAL_SEP,r).replace(/\u00A4/g,e)}}function De(t){var n=t.NUMBER_FORMATS;return function(t,e){return null==t?t:Fe(t,n.PATTERNS[0],n.GROUP_SEP,n.DECIMAL_SEP,e)}}function Fe(t,n,e,r,i){if(b(t))return"";var o=0>t;t=Math.abs(t);var a=t===1/0;if(!a&&!isFinite(t))return"";var u=t+"",s="",l=!1,c=[];if(a&&(s="∞"),!a&&-1!==u.indexOf("e")){var f=u.match(/([\d\.]+)e(-?)(\d+)/);f&&"-"==f[2]&&f[3]>i+1?t=0:(s=u,l=!0)}if(a||l)i>0&&1>t&&(s=t.toFixed(i),t=parseFloat(s),s=s.replace(uo,r));else{var h=(u.split(uo)[1]||"").length;$(i)&&(i=Math.min(Math.max(n.minFrac,h),n.maxFrac)),t=+(Math.round(+(t.toString()+"e"+i)).toString()+"e"+-i);var p=(""+t).split(uo),d=p[0];p=p[1]||"";var v,g=0,m=n.lgSize,y=n.gSize;if(d.length>=m+y)for(g=d.length-m,v=0;g>v;v++)(g-v)%y===0&&0!==v&&(s+=e),s+=d.charAt(v);for(v=g;v<d.length;v++)(d.length-v)%m===0&&0!==v&&(s+=e),s+=d.charAt(v);for(;p.length<i;)p+="0";i&&"0"!==i&&(s+=r+p.substr(0,i))}return 0===t&&(o=!1),c.push(o?n.negPre:n.posPre,s,o?n.negSuf:n.posSuf),c.join("")}function Ie(t,n,e){var r="";for(0>t&&(r="-",t=-t),t=""+t;t.length<n;)t="0"+t;return e&&(t=t.substr(t.length-n)),r+t}function ze(t,n,e,r){return e=e||0,function(i){var o=i["get"+t]();return(e>0||o>-e)&&(o+=e),0===o&&-12==e&&(o=12),Ie(o,n,r)}}function qe(t,n){return function(e,r){var i=e["get"+t](),o=wr(n?"SHORT"+t:t);return r[o][i]}}function Ve(t,n,e){var r=-1*e,i=r>=0?"+":"";return i+=Ie(Math[r>0?"floor":"ceil"](r/60),2)+Ie(Math.abs(r%60),2)}function Be(t){var n=new Date(t,0,1).getDay();return new Date(t,0,(4>=n?5:12)-n)}function We(t){return new Date(t.getFullYear(),t.getMonth(),t.getDate()+(4-t.getDay()))}function Ue(t){return function(n){var e=Be(n.getFullYear()),r=We(n),i=+r-+e,o=1+Math.round(i/6048e5);return Ie(o,t)}}function He(t,n){return t.getHours()<12?n.AMPMS[0]:n.AMPMS[1]}function Ye(t,n){return t.getFullYear()<=0?n.ERAS[0]:n.ERAS[1]}function Ge(t,n){return t.getFullYear()<=0?n.ERANAMES[0]:n.ERANAMES[1]}function Xe(t){function n(t){var n;if(n=t.match(e)){var r=new Date(0),i=0,o=0,a=n[8]?r.setUTCFullYear:r.setFullYear,u=n[8]?r.setUTCHours:r.setHours;n[9]&&(i=p(n[9]+n[10]),o=p(n[9]+n[11])),a.call(r,p(n[1]),p(n[2])-1,p(n[3]));var s=p(n[4]||0)-i,l=p(n[5]||0)-o,c=p(n[6]||0),f=Math.round(1e3*parseFloat("0."+(n[7]||0)));return u.call(r,s,l,c,f),r}return t}var e=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(e,r,i){var a,u,s="",l=[];if(r=r||"mediumDate",r=t.DATETIME_FORMATS[r]||r,C(e)&&(e=co.test(e)?p(e):n(e)),S(e)&&(e=new Date(e)),!_(e)||!isFinite(e.getTime()))return e;for(;r;)u=lo.exec(r),u?(l=B(l,u,1),r=l.pop()):(l.push(r),r=null);var c=e.getTimezoneOffset();return i&&(c=X(i,e.getTimezoneOffset()),e=J(e,i,!0)),o(l,function(n){a=so[n],s+=a?a(e,t.DATETIME_FORMATS,c):n.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),s}}function Ze(){return function(t,n){return $(n)&&(n=2),Y(t,n)}}function Je(){return function(t,n,e){return n=Math.abs(Number(n))===1/0?Number(n):p(n),isNaN(n)?t:(S(t)&&(t=t.toString()),Fr(t)||C(t)?(e=!e||isNaN(e)?0:p(e),e=0>e&&e>=-t.length?t.length+e:e,n>=0?t.slice(e,e+n):0===e?t.slice(n,t.length):t.slice(Math.max(0,e+n),e)):t)}}function Ke(t){function n(n,e){return e=e?-1:1,n.map(function(n){var r=1,i=g;if(M(n))i=n;else if(C(n)&&("+"!=n.charAt(0)&&"-"!=n.charAt(0)||(r="-"==n.charAt(0)?-1:1,n=n.substring(1)),""!==n&&(i=t(n),i.constant))){var o=i();i=function(t){return t[o]}}return{get:i,descending:r*e}})}function e(t){switch(typeof t){case"number":case"boolean":case"string":return!0;default:return!1}}function r(t,n){return"function"==typeof t.valueOf&&(t=t.valueOf(),e(t))?t:y(t)&&(t=t.toString(),e(t))?t:n}function o(t,n){var e=typeof t;return null===t?(e="string",t="null"):"string"===e?t=t.toLowerCase():"object"===e&&(t=r(t,n)),{value:t,type:e}}function a(t,n){var e=0;return t.type===n.type?t.value!==n.value&&(e=t.value<n.value?-1:1):e=t.type<n.type?-1:1,e}return function(t,e,r){function u(t,n){return{value:t,predicateValues:l.map(function(e){return o(e.get(t),n)})}}function s(t,n){for(var e=0,r=0,i=l.length;i>r&&!(e=a(t.predicateValues[r],n.predicateValues[r])*l[r].descending);++r);return e}if(!i(t))return t;Fr(e)||(e=[e]),0===e.length&&(e=["+"]);var l=n(e,r);l.push({get:function(){return{}},descending:r?-1:1});var c=Array.prototype.map.call(t,u);return c.sort(s),t=c.map(function(t){return t.value})}}function Qe(t){return M(t)&&(t={link:t}),t.restrict=t.restrict||"AC",m(t)}function tr(t,n){t.$name=n}function nr(t,n,r,i,a){var u=this,s=[];u.$error={},u.$$success={},u.$pending=e,u.$name=a(n.name||n.ngForm||"")(r),u.$dirty=!1,u.$pristine=!0,u.$valid=!0,u.$invalid=!1,u.$submitted=!1,u.$$parentForm=go,u.$rollbackViewValue=function(){o(s,function(t){t.$rollbackViewValue()})},u.$commitViewValue=function(){o(s,function(t){t.$commitViewValue()})},u.$addControl=function(t){pt(t.$name,"input"),s.push(t),t.$name&&(u[t.$name]=t),t.$$parentForm=u},u.$$renameControl=function(t,n){var e=t.$name;u[e]===t&&delete u[e],u[n]=t,t.$name=n},u.$removeControl=function(t){t.$name&&u[t.$name]===t&&delete u[t.$name],o(u.$pending,function(n,e){u.$setValidity(e,null,t)}),o(u.$error,function(n,e){u.$setValidity(e,null,t)}),o(u.$$success,function(n,e){u.$setValidity(e,null,t)}),I(s,t),t.$$parentForm=go},gr({ctrl:this,$element:t,set:function(t,n,e){var r=t[n];if(r){var i=r.indexOf(e);-1===i&&r.push(e)}else t[n]=[e]},unset:function(t,n,e){var r=t[n];r&&(I(r,e),0===r.length&&delete t[n])},$animate:i}),u.$setDirty=function(){i.removeClass(t,Ko),i.addClass(t,Qo),u.$dirty=!0,u.$pristine=!1,u.$$parentForm.$setDirty()},u.$setPristine=function(){i.setClass(t,Ko,Qo+" "+mo),u.$dirty=!1,u.$pristine=!0,u.$submitted=!1,o(s,function(t){t.$setPristine()})},u.$setUntouched=function(){o(s,function(t){t.$setUntouched()})},u.$setSubmitted=function(){i.addClass(t,mo),u.$submitted=!0,u.$$parentForm.$setSubmitted()}}function er(t){t.$formatters.push(function(n){return t.$isEmpty(n)?n:n.toString()})}function rr(t,n,e,r,i,o){ir(t,n,e,r,i,o),er(r)}function ir(t,n,e,r,i,o){var a=xr(n[0].type);if(!i.android){var u=!1;n.on("compositionstart",function(t){u=!0}),n.on("compositionend",function(){u=!1,s()})}var s=function(t){if(l&&(o.defer.cancel(l),l=null),!u){var i=n.val(),s=t&&t.type;"password"===a||e.ngTrim&&"false"===e.ngTrim||(i=zr(i)),(r.$viewValue!==i||""===i&&r.$$hasNativeValidators)&&r.$setViewValue(i,s)}};if(i.hasEvent("input"))n.on("input",s);else{var l,c=function(t,n,e){l||(l=o.defer(function(){l=null,n&&n.value===e||s(t)}))};n.on("keydown",function(t){var n=t.keyCode;91===n||n>15&&19>n||n>=37&&40>=n||c(t,this,this.value)}),i.hasEvent("paste")&&n.on("paste cut",c)}n.on("change",s),r.$render=function(){var t=r.$isEmpty(r.$viewValue)?"":r.$viewValue;n.val()!==t&&n.val(t)}}function or(t,n){if(_(t))return t;if(C(t)){ko.lastIndex=0;var e=ko.exec(t);if(e){var r=+e[1],i=+e[2],o=0,a=0,u=0,s=0,l=Be(r),c=7*(i-1);return n&&(o=n.getHours(),a=n.getMinutes(),u=n.getSeconds(),s=n.getMilliseconds()),new Date(r,0,l.getDate()+c,o,a,u,s)}}return NaN}function ar(t,n){return function(e,r){var i,a;if(_(e))return e;if(C(e)){if('"'==e.charAt(0)&&'"'==e.charAt(e.length-1)&&(e=e.substring(1,e.length-1)),bo.test(e))return new Date(e);if(t.lastIndex=0,i=t.exec(e))return i.shift(),a=r?{yyyy:r.getFullYear(),MM:r.getMonth()+1,dd:r.getDate(),HH:r.getHours(),mm:r.getMinutes(),ss:r.getSeconds(),sss:r.getMilliseconds()/1e3}:{yyyy:1970,MM:1,dd:1,HH:0,mm:0,ss:0,sss:0},o(i,function(t,e){e<n.length&&(a[n[e]]=+t)}),new Date(a.yyyy,a.MM-1,a.dd,a.HH,a.mm,a.ss||0,1e3*a.sss||0)}return NaN}}function ur(t,n,r,i){return function(o,a,u,s,l,c,f){function h(t){return t&&!(t.getTime&&t.getTime()!==t.getTime())}function p(t){return x(t)&&!_(t)?r(t)||e:t}sr(o,a,u,s),ir(o,a,u,s,l,c);var d,v=s&&s.$options&&s.$options.timezone;if(s.$$parserName=t,s.$parsers.push(function(t){if(s.$isEmpty(t))return null;if(n.test(t)){var i=r(t,d);return v&&(i=J(i,v)),i}return e}),s.$formatters.push(function(t){if(t&&!_(t))throw ra("datefmt","Expected `{0}` to be a date",t);return h(t)?(d=t,d&&v&&(d=J(d,v,!0)),f("date")(t,i,v)):(d=null,"")}),x(u.min)||u.ngMin){var g;s.$validators.min=function(t){return!h(t)||$(g)||r(t)>=g},u.$observe("min",function(t){g=p(t),s.$validate()})}if(x(u.max)||u.ngMax){var m;s.$validators.max=function(t){return!h(t)||$(m)||r(t)<=m},u.$observe("max",function(t){m=p(t),s.$validate()})}}}function sr(t,n,r,i){var o=n[0],a=i.$$hasNativeValidators=b(o.validity);a&&i.$parsers.push(function(t){var r=n.prop($r)||{};return r.badInput&&!r.typeMismatch?e:t})}function lr(t,n,r,i,o,a){if(sr(t,n,r,i),ir(t,n,r,i,o,a),i.$$parserName="number",i.$parsers.push(function(t){return i.$isEmpty(t)?null:So.test(t)?parseFloat(t):e}),i.$formatters.push(function(t){if(!i.$isEmpty(t)){if(!S(t))throw ra("numfmt","Expected `{0}` to be a number",t);t=t.toString()}return t}),x(r.min)||r.ngMin){var u;i.$validators.min=function(t){return i.$isEmpty(t)||$(u)||t>=u},r.$observe("min",function(t){x(t)&&!S(t)&&(t=parseFloat(t,10)),u=S(t)&&!isNaN(t)?t:e,i.$validate()})}if(x(r.max)||r.ngMax){var s;i.$validators.max=function(t){return i.$isEmpty(t)||$(s)||s>=t},r.$observe("max",function(t){x(t)&&!S(t)&&(t=parseFloat(t,10)),s=S(t)&&!isNaN(t)?t:e,i.$validate()})}}function cr(t,n,e,r,i,o){ir(t,n,e,r,i,o),er(r),r.$$parserName="url",r.$validators.url=function(t,n){var e=t||n;return r.$isEmpty(e)||wo.test(e)}}function fr(t,n,e,r,i,o){ir(t,n,e,r,i,o),er(r),r.$$parserName="email",r.$validators.email=function(t,n){var e=t||n;return r.$isEmpty(e)||Co.test(e)}}function hr(t,n,e,r){$(e.name)&&n.attr("name",s());var i=function(t){n[0].checked&&r.$setViewValue(e.value,t&&t.type)};n.on("click",i),r.$render=function(){var t=e.value;n[0].checked=t==r.$viewValue},e.$observe("value",r.$render)}function pr(t,n,e,r,i){var o;if(x(r)){if(o=t(r),!o.constant)throw ra("constexpr","Expected constant expression for `{0}`, but saw `{1}`.",e,r);return o(n)}return i}function dr(t,n,e,r,i,o,a,u){var s=pr(u,t,"ngTrueValue",e.ngTrueValue,!0),l=pr(u,t,"ngFalseValue",e.ngFalseValue,!1),c=function(t){r.$setViewValue(n[0].checked,t&&t.type)};n.on("click",c),r.$render=function(){n[0].checked=r.$viewValue},r.$isEmpty=function(t){return t===!1},r.$formatters.push(function(t){return V(t,s)}),r.$parsers.push(function(t){return t?s:l})}function vr(t,n){return t="ngClass"+t,["$animate",function(e){function r(t,n){var e=[];t:for(var r=0;r<t.length;r++){for(var i=t[r],o=0;o<n.length;o++)if(i==n[o])continue t;e.push(i)}return e}function i(t){var n=[];return Fr(t)?(o(t,function(t){n=n.concat(i(t))}),n):C(t)?t.split(" "):b(t)?(o(t,function(t,e){t&&(n=n.concat(e.split(" ")))}),n):t}return{restrict:"AC",link:function(a,u,s){function l(t){var n=f(t,1);s.$addClass(n)}function c(t){var n=f(t,-1);s.$removeClass(n)}function f(t,n){var e=u.data("$classCounts")||gt(),r=[];return o(t,function(t){(n>0||e[t])&&(e[t]=(e[t]||0)+n,e[t]===+(n>0)&&r.push(t))}),u.data("$classCounts",e),r.join(" ")}function h(t,n){var i=r(n,t),o=r(t,n);i=f(i,1),o=f(o,-1),i&&i.length&&e.addClass(u,i),o&&o.length&&e.removeClass(u,o)}function p(t){if(n===!0||a.$index%2===n){var e=i(t||[]);if(d){if(!V(t,d)){var r=i(d);h(r,e)}}else l(e)}d=q(t)}var d;a.$watch(s[t],p,!0),s.$observe("class",function(n){p(a.$eval(s[t]))}),"ngClass"!==t&&a.$watch("$index",function(e,r){var o=1&e;if(o!==(1&r)){var u=i(a.$eval(s[t]));o===n?l(u):c(u)}})}}}]}function gr(t){function n(t,n,s){$(n)?r("$pending",t,s):i("$pending",t,s),L(n)?n?(f(u.$error,t,s),c(u.$$success,t,s)):(c(u.$error,t,s),f(u.$$success,t,s)):(f(u.$error,t,s),f(u.$$success,t,s)),u.$pending?(o(ea,!0),u.$valid=u.$invalid=e,a("",null)):(o(ea,!1),u.$valid=mr(u.$error),u.$invalid=!u.$valid,a("",u.$valid));var l;l=u.$pending&&u.$pending[t]?e:u.$error[t]?!1:u.$$success[t]?!0:null,a(t,l),u.$$parentForm.$setValidity(t,l,u)}function r(t,n,e){u[t]||(u[t]={}),c(u[t],n,e)}function i(t,n,r){u[t]&&f(u[t],n,r),mr(u[t])&&(u[t]=e)}function o(t,n){n&&!l[t]?(h.addClass(s,t),l[t]=!0):!n&&l[t]&&(h.removeClass(s,t),l[t]=!1)}function a(t,n){t=t?"-"+lt(t,"-"):"",o(Zo+t,n===!0),o(Jo+t,n===!1)}var u=t.ctrl,s=t.$element,l={},c=t.set,f=t.unset,h=t.$animate;l[Jo]=!(l[Zo]=s.hasClass(Zo)),u.$setValidity=n}function mr(t){if(t)for(var n in t)if(t.hasOwnProperty(n))return!1;return!0}var yr=/^\/(.+)\/([a-z]*)$/,$r="validity",xr=function(t){return C(t)?t.toLowerCase():t},br=Object.prototype.hasOwnProperty,wr=function(t){return C(t)?t.toUpperCase():t},Cr=function(t){return C(t)?t.replace(/[A-Z]/g,function(t){return String.fromCharCode(32|t.charCodeAt(0))}):t},Sr=function(t){return C(t)?t.replace(/[a-z]/g,function(t){return String.fromCharCode(-33&t.charCodeAt(0))}):t};"i"!=="I".toLowerCase()&&(xr=Cr,wr=Sr);var _r,Mr,kr,Ar,Er=[].slice,Pr=[].splice,Or=[].push,Tr=Object.prototype.toString,Lr=Object.getPrototypeOf,jr=r("ng"),Nr=t.angular||(t.angular={}),Rr=0;_r=n.documentMode,v.$inject=[],g.$inject=[];var Dr,Fr=Array.isArray,Ir=/^\[object (Uint8(Clamped)?)|(Uint16)|(Uint32)|(Int8)|(Int16)|(Int32)|(Float(32)|(64))Array\]$/,zr=function(t){return C(t)?t.trim():t},qr=function(t){return t.replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08")},Vr=function(){function t(){try{return new Function(""),!1}catch(t){return!0}}if(!x(Vr.rules)){var e=n.querySelector("[ng-csp]")||n.querySelector("[data-ng-csp]");if(e){var r=e.getAttribute("ng-csp")||e.getAttribute("data-ng-csp");Vr.rules={noUnsafeEval:!r||-1!==r.indexOf("no-unsafe-eval"),noInlineStyle:!r||-1!==r.indexOf("no-inline-style")}}else Vr.rules={noUnsafeEval:t(),noInlineStyle:!1}}return Vr.rules},Br=function(){if(x(Br.name_))return Br.name_;var t,e,r,i,o=Wr.length;for(e=0;o>e;++e)if(r=Wr[e],t=n.querySelector("["+r.replace(":","\\:")+"jq]")){i=t.getAttribute(r+"jq");break}return Br.name_=i},Wr=["ng-","data-ng-","ng:","x-ng-"],Ur=/[A-Z]/g,Hr=!1,Yr=1,Gr=2,Xr=3,Zr=8,Jr=9,Kr=11,Qr={full:"1.4.7",major:1,minor:4,dot:7,codeName:"dark-luminescence"};At.expando="ng339";var ti=At.cache={},ni=1,ei=function(t,n,e){t.addEventListener(n,e,!1)},ri=function(t,n,e){t.removeEventListener(n,e,!1)};At._data=function(t){return this.cache[t[this.expando]]||{}};var ii=/([\:\-\_]+(.))/g,oi=/^moz([A-Z])/,ai={mouseleave:"mouseout",mouseenter:"mouseover"},ui=r("jqLite"),si=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,li=/<|&#?\w+;/,ci=/<([\w:-]+)/,fi=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,hi={option:[1,'<select multiple="multiple">',"</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};hi.optgroup=hi.option,hi.tbody=hi.tfoot=hi.colgroup=hi.caption=hi.thead,hi.th=hi.td;var pi=At.prototype={ready:function(e){function r(){i||(i=!0,e())}var i=!1;"complete"===n.readyState?setTimeout(r):(this.on("DOMContentLoaded",r),At(t).on("load",r))},toString:function(){var t=[];return o(this,function(n){t.push(""+n)}),"["+t.join(", ")+"]"},eq:function(t){return Mr(t>=0?this[t]:this[this.length+t])},length:0,push:Or,sort:[].sort,splice:[].splice},di={};o("multiple,selected,checked,disabled,readOnly,required,open".split(","),function(t){di[xr(t)]=t});var vi={};o("input,select,option,textarea,button,form,details".split(","),function(t){vi[t]=!0});var gi={ngMinlength:"minlength",ngMaxlength:"maxlength",ngMin:"min",ngMax:"max",ngPattern:"pattern"};o({data:jt,removeData:Tt,hasData:_t},function(t,n){At[n]=t}),o({data:jt,inheritedData:zt,scope:function(t){return Mr.data(t,"$scope")||zt(t.parentNode||t,["$isolateScope","$scope"])},isolateScope:function(t){return Mr.data(t,"$isolateScope")||Mr.data(t,"$isolateScopeNoTemplate")},controller:It,injector:function(t){return zt(t,"$injector")},removeAttr:function(t,n){t.removeAttribute(n)},hasClass:Nt,css:function(t,n,e){return n=wt(n),x(e)?void(t.style[n]=e):t.style[n]},attr:function(t,n,r){var i=t.nodeType;if(i!==Xr&&i!==Gr&&i!==Zr){var o=xr(n);if(di[o]){if(!x(r))return t[n]||(t.attributes.getNamedItem(n)||v).specified?o:e;r?(t[n]=!0,t.setAttribute(n,o)):(t[n]=!1,t.removeAttribute(o))}else if(x(r))t.setAttribute(n,r);else if(t.getAttribute){var a=t.getAttribute(n,2);return null===a?e:a}}},prop:function(t,n,e){return x(e)?void(t[n]=e):t[n]},text:function(){function t(t,n){
+if($(n)){var e=t.nodeType;return e===Yr||e===Xr?t.textContent:""}t.textContent=n}return t.$dv="",t}(),val:function(t,n){if($(n)){if(t.multiple&&"select"===F(t)){var e=[];return o(t.options,function(t){t.selected&&e.push(t.value||t.text)}),0===e.length?null:e}return t.value}t.value=n},html:function(t,n){return $(n)?t.innerHTML:(Pt(t,!0),void(t.innerHTML=n))},empty:qt},function(t,n){At.prototype[n]=function(n,e){var r,i,o=this.length;if(t!==qt&&$(2==t.length&&t!==Nt&&t!==It?n:e)){if(b(n)){for(r=0;o>r;r++)if(t===jt)t(this[r],n);else for(i in n)t(this[r],i,n[i]);return this}for(var a=t.$dv,u=$(a)?Math.min(o,1):o,s=0;u>s;s++){var l=t(this[s],n,e);a=a?a+l:l}return a}for(r=0;o>r;r++)t(this[r],n,e);return this}}),o({removeData:Tt,on:function La(t,n,e,r){if(x(r))throw ui("onargs","jqLite#on() does not support the `selector` or `eventData` parameters");if(St(t)){var i=Lt(t,!0),o=i.events,a=i.handle;a||(a=i.handle=Ht(t,o));for(var u=n.indexOf(" ")>=0?n.split(" "):[n],s=u.length;s--;){n=u[s];var l=o[n];l||(o[n]=[],"mouseenter"===n||"mouseleave"===n?La(t,ai[n],function(t){var e=this,r=t.relatedTarget;r&&(r===e||e.contains(r))||a(t,n)}):"$destroy"!==n&&ei(t,n,a),l=o[n]),l.push(e)}}},off:Ot,one:function(t,n,e){t=Mr(t),t.on(n,function r(){t.off(n,e),t.off(n,r)}),t.on(n,e)},replaceWith:function(t,n){var e,r=t.parentNode;Pt(t),o(new At(n),function(n){e?r.insertBefore(n,e.nextSibling):r.replaceChild(n,t),e=n})},children:function(t){var n=[];return o(t.childNodes,function(t){t.nodeType===Yr&&n.push(t)}),n},contents:function(t){return t.contentDocument||t.childNodes||[]},append:function(t,n){var e=t.nodeType;if(e===Yr||e===Kr){n=new At(n);for(var r=0,i=n.length;i>r;r++){var o=n[r];t.appendChild(o)}}},prepend:function(t,n){if(t.nodeType===Yr){var e=t.firstChild;o(new At(n),function(n){t.insertBefore(n,e)})}},wrap:function(t,n){n=Mr(n).eq(0).clone()[0];var e=t.parentNode;e&&e.replaceChild(n,t),n.appendChild(t)},remove:Vt,detach:function(t){Vt(t,!0)},after:function(t,n){var e=t,r=t.parentNode;n=new At(n);for(var i=0,o=n.length;o>i;i++){var a=n[i];r.insertBefore(a,e.nextSibling),e=a}},addClass:Dt,removeClass:Rt,toggleClass:function(t,n,e){n&&o(n.split(" "),function(n){var r=e;$(r)&&(r=!Nt(t,n)),(r?Dt:Rt)(t,n)})},parent:function(t){var n=t.parentNode;return n&&n.nodeType!==Kr?n:null},next:function(t){return t.nextElementSibling},find:function(t,n){return t.getElementsByTagName?t.getElementsByTagName(n):[]},clone:Et,triggerHandler:function(t,n,e){var r,i,a,u=n.type||n,s=Lt(t),l=s&&s.events,c=l&&l[u];c&&(r={preventDefault:function(){this.defaultPrevented=!0},isDefaultPrevented:function(){return this.defaultPrevented===!0},stopImmediatePropagation:function(){this.immediatePropagationStopped=!0},isImmediatePropagationStopped:function(){return this.immediatePropagationStopped===!0},stopPropagation:v,type:u,target:t},n.type&&(r=f(r,n)),i=q(c),a=e?[r].concat(e):[r],o(i,function(n){r.isImmediatePropagationStopped()||n.apply(t,a)}))}},function(t,n){At.prototype[n]=function(n,e,r){for(var i,o=0,a=this.length;a>o;o++)$(i)?(i=t(this[o],n,e,r),x(i)&&(i=Mr(i))):Ft(i,t(this[o],n,e,r));return x(i)?i:this},At.prototype.bind=At.prototype.on,At.prototype.unbind=At.prototype.off}),Xt.prototype={put:function(t,n){this[Gt(t,this.nextUid)]=n},get:function(t){return this[Gt(t,this.nextUid)]},remove:function(t){var n=this[t=Gt(t,this.nextUid)];return delete this[t],n}};var mi=[function(){this.$get=[function(){return Xt}]}],yi=/^[^\(]*\(\s*([^\)]*)\)/m,$i=/,/,xi=/^\s*(_?)(\S+?)\1\s*$/,bi=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm,wi=r("$injector");Kt.$$annotate=Jt;var Ci=r("$animate"),Si=1,_i="ng-animate",Mi=function(){this.$get=["$q","$$rAF",function(t,n){function e(){}return e.all=v,e.chain=v,e.prototype={end:v,cancel:v,resume:v,pause:v,complete:v,then:function(e,r){return t(function(t){n(function(){t()})}).then(e,r)}},e}]},ki=function(){var t=new Xt,n=[];this.$get=["$$AnimateRunner","$rootScope",function(e,r){function i(t,n,e){var r=!1;return n&&(n=C(n)?n.split(" "):Fr(n)?n:[],o(n,function(n){n&&(r=!0,t[n]=e)})),r}function a(){o(n,function(n){var e=t.get(n);if(e){var r=en(n.attr("class")),i="",a="";o(e,function(t,n){var e=!!r[n];t!==e&&(t?i+=(i.length?" ":"")+n:a+=(a.length?" ":"")+n)}),o(n,function(t){i&&Dt(t,i),a&&Rt(t,a)}),t.remove(n)}}),n.length=0}function u(e,o,u){var s=t.get(e)||{},l=i(s,o,!0),c=i(s,u,!1);(l||c)&&(t.put(e,s),n.push(e),1===n.length&&r.$$postDigest(a))}return{enabled:v,on:v,off:v,pin:v,push:function(t,n,r,i){return i&&i(),r=r||{},r.from&&t.css(r.from),r.to&&t.css(r.to),(r.addClass||r.removeClass)&&u(t,r.addClass,r.removeClass),new e}}}]},Ai=["$provide",function(t){var n=this;this.$$registeredAnimations=Object.create(null),this.register=function(e,r){if(e&&"."!==e.charAt(0))throw Ci("notcsel","Expecting class selector starting with '.' got '{0}'.",e);var i=e+"-animation";n.$$registeredAnimations[e.substr(1)]=i,t.factory(i,r)},this.classNameFilter=function(t){if(1===arguments.length&&(this.$$classNameFilter=t instanceof RegExp?t:null,this.$$classNameFilter)){var n=new RegExp("(\\s+|\\/)"+_i+"(\\s+|\\/)");if(n.test(this.$$classNameFilter.toString()))throw Ci("nongcls",'$animateProvider.classNameFilter(regex) prohibits accepting a regex value which matches/contains the "{0}" CSS class.',_i)}return this.$$classNameFilter},this.$get=["$$animateQueue",function(t){function n(t,n,e){if(e){var r=nn(e);!r||r.parentNode||r.previousElementSibling||(e=null)}e?e.after(t):n.prepend(t)}return{on:t.on,off:t.off,pin:t.pin,enabled:t.enabled,cancel:function(t){t.end&&t.end()},enter:function(e,r,i,o){return r=r&&Mr(r),i=i&&Mr(i),r=r||i.parent(),n(e,r,i),t.push(e,"enter",rn(o))},move:function(e,r,i,o){return r=r&&Mr(r),i=i&&Mr(i),r=r||i.parent(),n(e,r,i),t.push(e,"move",rn(o))},leave:function(n,e){return t.push(n,"leave",rn(e),function(){n.remove()})},addClass:function(n,e,r){return r=rn(r),r.addClass=tn(r.addclass,e),t.push(n,"addClass",r)},removeClass:function(n,e,r){return r=rn(r),r.removeClass=tn(r.removeClass,e),t.push(n,"removeClass",r)},setClass:function(n,e,r,i){return i=rn(i),i.addClass=tn(i.addClass,e),i.removeClass=tn(i.removeClass,r),t.push(n,"setClass",i)},animate:function(n,e,r,i,o){return o=rn(o),o.from=o.from?f(o.from,e):e,o.to=o.to?f(o.to,r):r,i=i||"ng-inline-animate",o.tempClasses=tn(o.tempClasses,i),t.push(n,"animate",o)}}}]}],Ei=function(){this.$get=["$$rAF","$q",function(t,n){var e=function(){};return e.prototype={done:function(t){this.defer&&this.defer[t===!0?"reject":"resolve"]()},end:function(){this.done()},cancel:function(){this.done(!0)},getPromise:function(){return this.defer||(this.defer=n.defer()),this.defer.promise},then:function(t,n){return this.getPromise().then(t,n)},"catch":function(t){return this.getPromise()["catch"](t)},"finally":function(t){return this.getPromise()["finally"](t)}},function(n,r){function i(){return t(function(){o(),a||u.done(),a=!0}),u}function o(){r.addClass&&(n.addClass(r.addClass),r.addClass=null),r.removeClass&&(n.removeClass(r.removeClass),r.removeClass=null),r.to&&(n.css(r.to),r.to=null)}r.cleanupStyles&&(r.from=r.to=null),r.from&&(n.css(r.from),r.from=null);var a,u=new e;return{start:i,end:i}}}]},Pi=r("$compile");ln.$inject=["$provide","$$sanitizeUriProvider"];var Oi=/^((?:x|data)[\:\-_])/i,Ti=r("$controller"),Li=/^(\S+)(\s+as\s+(\w+))?$/,ji=function(){this.$get=["$document",function(t){return function(n){return n?!n.nodeType&&n instanceof Mr&&(n=n[0]):n=t[0].body,n.offsetWidth+1}}]},Ni="application/json",Ri={"Content-Type":Ni+";charset=utf-8"},Di=/^\[|^\{(?!\{)/,Fi={"[":/]$/,"{":/}$/},Ii=/^\)\]\}',?\n/,zi=r("$http"),qi=function(t){return function(){throw zi("legacy","The method `{0}` on the promise returned from `$http` has been disabled.",t)}},Vi=Nr.$interpolateMinErr=r("$interpolate");Vi.throwNoconcat=function(t){throw Vi("noconcat","Error while interpolating: {0}\nStrict Contextual Escaping disallows interpolations that concatenate multiple expressions when a trusted value is required.  See http://docs.angularjs.org/api/ng.$sce",t)},Vi.interr=function(t,n){return Vi("interr","Can't interpolate: {0}\n{1}",t,n.toString())};var Bi=/^([^\?#]*)(\?([^#]*))?(#(.*))?$/,Wi={http:80,https:443,ftp:21},Ui=r("$location"),Hi={$$html5:!1,$$replace:!1,absUrl:Bn("$$absUrl"),url:function(t){if($(t))return this.$$url;var n=Bi.exec(t);return(n[1]||""===t)&&this.path(decodeURIComponent(n[1])),(n[2]||n[1]||""===t)&&this.search(n[3]||""),this.hash(n[5]||""),this},protocol:Bn("$$protocol"),host:Bn("$$host"),port:Bn("$$port"),path:Wn("$$path",function(t){return t=null!==t?t.toString():"","/"==t.charAt(0)?t:"/"+t}),search:function(t,n){switch(arguments.length){case 0:return this.$$search;case 1:if(C(t)||S(t))t=t.toString(),this.$$search=tt(t);else{if(!b(t))throw Ui("isrcharg","The first argument of the `$location#search()` call must be a string or an object.");t=z(t,{}),o(t,function(n,e){null==n&&delete t[e]}),this.$$search=t}break;default:$(n)||null===n?delete this.$$search[t]:this.$$search[t]=n}return this.$$compose(),this},hash:Wn("$$hash",function(t){return null!==t?t.toString():""}),replace:function(){return this.$$replace=!0,this}};o([Vn,qn,zn],function(t){t.prototype=Object.create(Hi),t.prototype.state=function(n){if(!arguments.length)return this.$$state;if(t!==zn||!this.$$html5)throw Ui("nostate","History API state support is available only in HTML5 mode and only in browsers supporting HTML5 History API");return this.$$state=$(n)?null:n,this}});var Yi=r("$parse"),Gi=Function.prototype.call,Xi=Function.prototype.apply,Zi=Function.prototype.bind,Ji=gt();o("+ - * / % === !== == != < > <= >= && || ! = |".split(" "),function(t){Ji[t]=!0});var Ki={n:"\n",f:"\f",r:"\r",t:"	",v:"\x0B","'":"'",'"':'"'},Qi=function(t){this.options=t};Qi.prototype={constructor:Qi,lex:function(t){for(this.text=t,this.index=0,this.tokens=[];this.index<this.text.length;){var n=this.text.charAt(this.index);if('"'===n||"'"===n)this.readString(n);else if(this.isNumber(n)||"."===n&&this.isNumber(this.peek()))this.readNumber();else if(this.isIdent(n))this.readIdent();else if(this.is(n,"(){}[].,;:?"))this.tokens.push({index:this.index,text:n}),this.index++;else if(this.isWhitespace(n))this.index++;else{var e=n+this.peek(),r=e+this.peek(2),i=Ji[n],o=Ji[e],a=Ji[r];if(i||o||a){var u=a?r:o?e:n;this.tokens.push({index:this.index,text:u,operator:!0}),this.index+=u.length}else this.throwError("Unexpected next character ",this.index,this.index+1)}}return this.tokens},is:function(t,n){return-1!==n.indexOf(t)},peek:function(t){var n=t||1;return this.index+n<this.text.length?this.text.charAt(this.index+n):!1},isNumber:function(t){return t>="0"&&"9">=t&&"string"==typeof t},isWhitespace:function(t){return" "===t||"\r"===t||"	"===t||"\n"===t||"\x0B"===t||" "===t},isIdent:function(t){return t>="a"&&"z">=t||t>="A"&&"Z">=t||"_"===t||"$"===t},isExpOperator:function(t){return"-"===t||"+"===t||this.isNumber(t)},throwError:function(t,n,e){e=e||this.index;var r=x(n)?"s "+n+"-"+this.index+" ["+this.text.substring(n,e)+"]":" "+e;throw Yi("lexerr","Lexer Error: {0} at column{1} in expression [{2}].",t,r,this.text)},readNumber:function(){for(var t="",n=this.index;this.index<this.text.length;){var e=xr(this.text.charAt(this.index));if("."==e||this.isNumber(e))t+=e;else{var r=this.peek();if("e"==e&&this.isExpOperator(r))t+=e;else if(this.isExpOperator(e)&&r&&this.isNumber(r)&&"e"==t.charAt(t.length-1))t+=e;else{if(!this.isExpOperator(e)||r&&this.isNumber(r)||"e"!=t.charAt(t.length-1))break;this.throwError("Invalid exponent")}}this.index++}this.tokens.push({index:n,text:t,constant:!0,value:Number(t)})},readIdent:function(){for(var t=this.index;this.index<this.text.length;){var n=this.text.charAt(this.index);if(!this.isIdent(n)&&!this.isNumber(n))break;this.index++}this.tokens.push({index:t,text:this.text.slice(t,this.index),identifier:!0})},readString:function(t){var n=this.index;this.index++;for(var e="",r=t,i=!1;this.index<this.text.length;){var o=this.text.charAt(this.index);if(r+=o,i){if("u"===o){var a=this.text.substring(this.index+1,this.index+5);a.match(/[\da-f]{4}/i)||this.throwError("Invalid unicode escape [\\u"+a+"]"),this.index+=4,e+=String.fromCharCode(parseInt(a,16))}else{var u=Ki[o];e+=u||o}i=!1}else if("\\"===o)i=!0;else{if(o===t)return this.index++,void this.tokens.push({index:n,text:r,constant:!0,value:e});e+=o}this.index++}this.throwError("Unterminated quote",n)}};var to=function(t,n){this.lexer=t,this.options=n};to.Program="Program",to.ExpressionStatement="ExpressionStatement",to.AssignmentExpression="AssignmentExpression",to.ConditionalExpression="ConditionalExpression",to.LogicalExpression="LogicalExpression",to.BinaryExpression="BinaryExpression",to.UnaryExpression="UnaryExpression",to.CallExpression="CallExpression",to.MemberExpression="MemberExpression",to.Identifier="Identifier",to.Literal="Literal",to.ArrayExpression="ArrayExpression",to.Property="Property",to.ObjectExpression="ObjectExpression",to.ThisExpression="ThisExpression",to.NGValueParameter="NGValueParameter",to.prototype={ast:function(t){this.text=t,this.tokens=this.lexer.lex(t);var n=this.program();return 0!==this.tokens.length&&this.throwError("is an unexpected token",this.tokens[0]),n},program:function(){for(var t=[];;)if(this.tokens.length>0&&!this.peek("}",")",";","]")&&t.push(this.expressionStatement()),!this.expect(";"))return{type:to.Program,body:t}},expressionStatement:function(){return{type:to.ExpressionStatement,expression:this.filterChain()}},filterChain:function(){for(var t,n=this.expression();t=this.expect("|");)n=this.filter(n);return n},expression:function(){return this.assignment()},assignment:function(){var t=this.ternary();return this.expect("=")&&(t={type:to.AssignmentExpression,left:t,right:this.assignment(),operator:"="}),t},ternary:function(){var t,n,e=this.logicalOR();return this.expect("?")&&(t=this.expression(),this.consume(":"))?(n=this.expression(),{type:to.ConditionalExpression,test:e,alternate:t,consequent:n}):e},logicalOR:function(){for(var t=this.logicalAND();this.expect("||");)t={type:to.LogicalExpression,operator:"||",left:t,right:this.logicalAND()};return t},logicalAND:function(){for(var t=this.equality();this.expect("&&");)t={type:to.LogicalExpression,operator:"&&",left:t,right:this.equality()};return t},equality:function(){for(var t,n=this.relational();t=this.expect("==","!=","===","!==");)n={type:to.BinaryExpression,operator:t.text,left:n,right:this.relational()};return n},relational:function(){for(var t,n=this.additive();t=this.expect("<",">","<=",">=");)n={type:to.BinaryExpression,operator:t.text,left:n,right:this.additive()};return n},additive:function(){for(var t,n=this.multiplicative();t=this.expect("+","-");)n={type:to.BinaryExpression,operator:t.text,left:n,right:this.multiplicative()};return n},multiplicative:function(){for(var t,n=this.unary();t=this.expect("*","/","%");)n={type:to.BinaryExpression,operator:t.text,left:n,right:this.unary()};return n},unary:function(){var t;return(t=this.expect("+","-","!"))?{type:to.UnaryExpression,operator:t.text,prefix:!0,argument:this.unary()}:this.primary()},primary:function(){var t;this.expect("(")?(t=this.filterChain(),this.consume(")")):this.expect("[")?t=this.arrayDeclaration():this.expect("{")?t=this.object():this.constants.hasOwnProperty(this.peek().text)?t=z(this.constants[this.consume().text]):this.peek().identifier?t=this.identifier():this.peek().constant?t=this.constant():this.throwError("not a primary expression",this.peek());for(var n;n=this.expect("(","[",".");)"("===n.text?(t={type:to.CallExpression,callee:t,arguments:this.parseArguments()},this.consume(")")):"["===n.text?(t={type:to.MemberExpression,object:t,property:this.expression(),computed:!0},this.consume("]")):"."===n.text?t={type:to.MemberExpression,object:t,property:this.identifier(),computed:!1}:this.throwError("IMPOSSIBLE");return t},filter:function(t){for(var n=[t],e={type:to.CallExpression,callee:this.identifier(),arguments:n,filter:!0};this.expect(":");)n.push(this.expression());return e},parseArguments:function(){var t=[];if(")"!==this.peekToken().text)do t.push(this.expression());while(this.expect(","));return t},identifier:function(){var t=this.consume();return t.identifier||this.throwError("is not a valid identifier",t),{type:to.Identifier,name:t.text}},constant:function(){return{type:to.Literal,value:this.consume().value}},arrayDeclaration:function(){var t=[];if("]"!==this.peekToken().text)do{if(this.peek("]"))break;t.push(this.expression())}while(this.expect(","));return this.consume("]"),{type:to.ArrayExpression,elements:t}},object:function(){var t,n=[];if("}"!==this.peekToken().text)do{if(this.peek("}"))break;t={type:to.Property,kind:"init"},this.peek().constant?t.key=this.constant():this.peek().identifier?t.key=this.identifier():this.throwError("invalid key",this.peek()),this.consume(":"),t.value=this.expression(),n.push(t)}while(this.expect(","));return this.consume("}"),{type:to.ObjectExpression,properties:n}},throwError:function(t,n){throw Yi("syntax","Syntax Error: Token '{0}' {1} at column {2} of the expression [{3}] starting at [{4}].",n.text,t,n.index+1,this.text,this.text.substring(n.index))},consume:function(t){if(0===this.tokens.length)throw Yi("ueoe","Unexpected end of expression: {0}",this.text);var n=this.expect(t);return n||this.throwError("is unexpected, expecting ["+t+"]",this.peek()),n},peekToken:function(){if(0===this.tokens.length)throw Yi("ueoe","Unexpected end of expression: {0}",this.text);return this.tokens[0]},peek:function(t,n,e,r){return this.peekAhead(0,t,n,e,r)},peekAhead:function(t,n,e,r,i){if(this.tokens.length>t){var o=this.tokens[t],a=o.text;if(a===n||a===e||a===r||a===i||!n&&!e&&!r&&!i)return o}return!1},expect:function(t,n,e,r){var i=this.peek(t,n,e,r);return i?(this.tokens.shift(),i):!1},constants:{"true":{type:to.Literal,value:!0},"false":{type:to.Literal,value:!1},"null":{type:to.Literal,value:null},undefined:{type:to.Literal,value:e},"this":{type:to.ThisExpression}}},ue.prototype={compile:function(t,n){var r=this,i=this.astBuilder.ast(t);this.state={nextId:0,filters:{},expensiveChecks:n,fn:{vars:[],body:[],own:{}},assign:{vars:[],body:[],own:{}},inputs:[]},ne(i,r.$filter);var a,u="";if(this.stage="assign",a=ie(i)){this.state.computing="assign";var s=this.nextId();this.recurse(a,s),this.return_(s),u="fn.assign="+this.generateFunction("assign","s,v,l")}var l=ee(i.body);r.stage="inputs",o(l,function(t,n){var e="fn"+n;r.state[e]={vars:[],body:[],own:{}},r.state.computing=e;var i=r.nextId();r.recurse(t,i),r.return_(i),r.state.inputs.push(e),t.watchId=n}),this.state.computing="fn",this.stage="main",this.recurse(i);var c='"'+this.USE+" "+this.STRICT+'";\n'+this.filterPrefix()+"var fn="+this.generateFunction("fn","s,l,a,i")+u+this.watchFns()+"return fn;",f=new Function("$filter","ensureSafeMemberName","ensureSafeObject","ensureSafeFunction","getStringValue","ensureSafeAssignContext","ifDefined","plus","text",c)(this.$filter,Yn,Xn,Zn,Gn,Jn,Kn,Qn,t);return this.state=this.stage=e,f.literal=oe(i),f.constant=ae(i),f},USE:"use",STRICT:"strict",watchFns:function(){var t=[],n=this.state.inputs,e=this;return o(n,function(n){t.push("var "+n+"="+e.generateFunction(n,"s"))}),n.length&&t.push("fn.inputs=["+n.join(",")+"];"),t.join("")},generateFunction:function(t,n){return"function("+n+"){"+this.varsPrefix(t)+this.body(t)+"};"},filterPrefix:function(){var t=[],n=this;return o(this.state.filters,function(e,r){t.push(e+"=$filter("+n.escape(r)+")")}),t.length?"var "+t.join(",")+";":""},varsPrefix:function(t){return this.state[t].vars.length?"var "+this.state[t].vars.join(",")+";":""},body:function(t){return this.state[t].body.join("")},recurse:function(t,n,r,i,a,u){var s,l,c,f,h=this;if(i=i||v,!u&&x(t.watchId))return n=n||this.nextId(),void this.if_("i",this.lazyAssign(n,this.computedMember("i",t.watchId)),this.lazyRecurse(t,n,r,i,a,!0));switch(t.type){case to.Program:o(t.body,function(n,r){h.recurse(n.expression,e,e,function(t){l=t}),r!==t.body.length-1?h.current().body.push(l,";"):h.return_(l)});break;case to.Literal:f=this.escape(t.value),this.assign(n,f),i(f);break;case to.UnaryExpression:this.recurse(t.argument,e,e,function(t){l=t}),f=t.operator+"("+this.ifDefined(l,0)+")",this.assign(n,f),i(f);break;case to.BinaryExpression:this.recurse(t.left,e,e,function(t){s=t}),this.recurse(t.right,e,e,function(t){l=t}),f="+"===t.operator?this.plus(s,l):"-"===t.operator?this.ifDefined(s,0)+t.operator+this.ifDefined(l,0):"("+s+")"+t.operator+"("+l+")",this.assign(n,f),i(f);break;case to.LogicalExpression:n=n||this.nextId(),h.recurse(t.left,n),h.if_("&&"===t.operator?n:h.not(n),h.lazyRecurse(t.right,n)),i(n);break;case to.ConditionalExpression:n=n||this.nextId(),h.recurse(t.test,n),h.if_(n,h.lazyRecurse(t.alternate,n),h.lazyRecurse(t.consequent,n)),i(n);break;case to.Identifier:n=n||this.nextId(),r&&(r.context="inputs"===h.stage?"s":this.assign(this.nextId(),this.getHasOwnProperty("l",t.name)+"?l:s"),r.computed=!1,r.name=t.name),Yn(t.name),h.if_("inputs"===h.stage||h.not(h.getHasOwnProperty("l",t.name)),function(){h.if_("inputs"===h.stage||"s",function(){a&&1!==a&&h.if_(h.not(h.nonComputedMember("s",t.name)),h.lazyAssign(h.nonComputedMember("s",t.name),"{}")),h.assign(n,h.nonComputedMember("s",t.name))})},n&&h.lazyAssign(n,h.nonComputedMember("l",t.name))),(h.state.expensiveChecks||le(t.name))&&h.addEnsureSafeObject(n),i(n);break;case to.MemberExpression:s=r&&(r.context=this.nextId())||this.nextId(),n=n||this.nextId(),h.recurse(t.object,s,e,function(){h.if_(h.notNull(s),function(){t.computed?(l=h.nextId(),h.recurse(t.property,l),h.getStringValue(l),h.addEnsureSafeMemberName(l),a&&1!==a&&h.if_(h.not(h.computedMember(s,l)),h.lazyAssign(h.computedMember(s,l),"{}")),f=h.ensureSafeObject(h.computedMember(s,l)),h.assign(n,f),r&&(r.computed=!0,r.name=l)):(Yn(t.property.name),a&&1!==a&&h.if_(h.not(h.nonComputedMember(s,t.property.name)),h.lazyAssign(h.nonComputedMember(s,t.property.name),"{}")),f=h.nonComputedMember(s,t.property.name),(h.state.expensiveChecks||le(t.property.name))&&(f=h.ensureSafeObject(f)),h.assign(n,f),r&&(r.computed=!1,r.name=t.property.name))},function(){h.assign(n,"undefined")}),i(n)},!!a);break;case to.CallExpression:n=n||this.nextId(),t.filter?(l=h.filter(t.callee.name),c=[],o(t.arguments,function(t){var n=h.nextId();h.recurse(t,n),c.push(n)}),f=l+"("+c.join(",")+")",h.assign(n,f),i(n)):(l=h.nextId(),s={},c=[],h.recurse(t.callee,l,s,function(){h.if_(h.notNull(l),function(){h.addEnsureSafeFunction(l),o(t.arguments,function(t){h.recurse(t,h.nextId(),e,function(t){c.push(h.ensureSafeObject(t))})}),s.name?(h.state.expensiveChecks||h.addEnsureSafeObject(s.context),f=h.member(s.context,s.name,s.computed)+"("+c.join(",")+")"):f=l+"("+c.join(",")+")",f=h.ensureSafeObject(f),h.assign(n,f)},function(){h.assign(n,"undefined")}),i(n)}));break;case to.AssignmentExpression:if(l=this.nextId(),s={},!re(t.left))throw Yi("lval","Trying to assing a value to a non l-value");this.recurse(t.left,e,s,function(){h.if_(h.notNull(s.context),function(){h.recurse(t.right,l),h.addEnsureSafeObject(h.member(s.context,s.name,s.computed)),h.addEnsureSafeAssignContext(s.context),f=h.member(s.context,s.name,s.computed)+t.operator+l,h.assign(n,f),i(n||f)})},1);break;case to.ArrayExpression:c=[],o(t.elements,function(t){h.recurse(t,h.nextId(),e,function(t){c.push(t)})}),f="["+c.join(",")+"]",this.assign(n,f),i(f);break;case to.ObjectExpression:c=[],o(t.properties,function(t){h.recurse(t.value,h.nextId(),e,function(n){c.push(h.escape(t.key.type===to.Identifier?t.key.name:""+t.key.value)+":"+n)})}),f="{"+c.join(",")+"}",this.assign(n,f),i(f);break;case to.ThisExpression:this.assign(n,"s"),i("s");break;case to.NGValueParameter:this.assign(n,"v"),i("v")}},getHasOwnProperty:function(t,n){var e=t+"."+n,r=this.current().own;return r.hasOwnProperty(e)||(r[e]=this.nextId(!1,t+"&&("+this.escape(n)+" in "+t+")")),r[e]},assign:function(t,n){return t?(this.current().body.push(t,"=",n,";"),t):void 0},filter:function(t){return this.state.filters.hasOwnProperty(t)||(this.state.filters[t]=this.nextId(!0)),this.state.filters[t]},ifDefined:function(t,n){return"ifDefined("+t+","+this.escape(n)+")"},plus:function(t,n){return"plus("+t+","+n+")"},return_:function(t){this.current().body.push("return ",t,";")},if_:function(t,n,e){if(t===!0)n();else{var r=this.current().body;r.push("if(",t,"){"),n(),r.push("}"),e&&(r.push("else{"),e(),r.push("}"))}},not:function(t){return"!("+t+")"},notNull:function(t){return t+"!=null"},nonComputedMember:function(t,n){return t+"."+n},computedMember:function(t,n){return t+"["+n+"]"},member:function(t,n,e){return e?this.computedMember(t,n):this.nonComputedMember(t,n)},addEnsureSafeObject:function(t){this.current().body.push(this.ensureSafeObject(t),";")},addEnsureSafeMemberName:function(t){this.current().body.push(this.ensureSafeMemberName(t),";")},addEnsureSafeFunction:function(t){this.current().body.push(this.ensureSafeFunction(t),";")},addEnsureSafeAssignContext:function(t){this.current().body.push(this.ensureSafeAssignContext(t),";")},ensureSafeObject:function(t){return"ensureSafeObject("+t+",text)"},ensureSafeMemberName:function(t){return"ensureSafeMemberName("+t+",text)"},ensureSafeFunction:function(t){return"ensureSafeFunction("+t+",text)"},getStringValue:function(t){this.assign(t,"getStringValue("+t+",text)")},ensureSafeAssignContext:function(t){return"ensureSafeAssignContext("+t+",text)"},lazyRecurse:function(t,n,e,r,i,o){var a=this;return function(){a.recurse(t,n,e,r,i,o)}},lazyAssign:function(t,n){var e=this;return function(){e.assign(t,n)}},stringEscapeRegex:/[^ a-zA-Z0-9]/g,stringEscapeFn:function(t){return"\\u"+("0000"+t.charCodeAt(0).toString(16)).slice(-4)},escape:function(t){if(C(t))return"'"+t.replace(this.stringEscapeRegex,this.stringEscapeFn)+"'";if(S(t))return t.toString();if(t===!0)return"true";if(t===!1)return"false";if(null===t)return"null";if("undefined"==typeof t)return"undefined";throw Yi("esc","IMPOSSIBLE")},nextId:function(t,n){var e="v"+this.state.nextId++;return t||this.current().vars.push(e+(n?"="+n:"")),e},current:function(){return this.state[this.state.computing]}},se.prototype={compile:function(t,n){var e=this,r=this.astBuilder.ast(t);this.expression=t,this.expensiveChecks=n,ne(r,e.$filter);var i,a;(i=ie(r))&&(a=this.recurse(i));var u,s=ee(r.body);s&&(u=[],o(s,function(t,n){var r=e.recurse(t);t.input=r,u.push(r),t.watchId=n}));var l=[];o(r.body,function(t){l.push(e.recurse(t.expression))});var c=0===r.body.length?function(){}:1===r.body.length?l[0]:function(t,n){var e;return o(l,function(r){e=r(t,n)}),e};return a&&(c.assign=function(t,n,e){return a(t,e,n)}),u&&(c.inputs=u),c.literal=oe(r),c.constant=ae(r),c},recurse:function(t,n,r){var i,a,u,s=this;if(t.input)return this.inputs(t.input,t.watchId);switch(t.type){case to.Literal:return this.value(t.value,n);case to.UnaryExpression:return a=this.recurse(t.argument),this["unary"+t.operator](a,n);case to.BinaryExpression:return i=this.recurse(t.left),a=this.recurse(t.right),this["binary"+t.operator](i,a,n);case to.LogicalExpression:return i=this.recurse(t.left),a=this.recurse(t.right),this["binary"+t.operator](i,a,n);case to.ConditionalExpression:return this["ternary?:"](this.recurse(t.test),this.recurse(t.alternate),this.recurse(t.consequent),n);case to.Identifier:return Yn(t.name,s.expression),s.identifier(t.name,s.expensiveChecks||le(t.name),n,r,s.expression);case to.MemberExpression:return i=this.recurse(t.object,!1,!!r),t.computed||(Yn(t.property.name,s.expression),a=t.property.name),t.computed&&(a=this.recurse(t.property)),t.computed?this.computedMember(i,a,n,r,s.expression):this.nonComputedMember(i,a,s.expensiveChecks,n,r,s.expression);case to.CallExpression:return u=[],o(t.arguments,function(t){u.push(s.recurse(t))}),t.filter&&(a=this.$filter(t.callee.name)),t.filter||(a=this.recurse(t.callee,!0)),t.filter?function(t,r,i,o){for(var s=[],l=0;l<u.length;++l)s.push(u[l](t,r,i,o));var c=a.apply(e,s,o);return n?{context:e,name:e,value:c}:c}:function(t,e,r,i){var o,l=a(t,e,r,i);if(null!=l.value){Xn(l.context,s.expression),Zn(l.value,s.expression);for(var c=[],f=0;f<u.length;++f)c.push(Xn(u[f](t,e,r,i),s.expression));o=Xn(l.value.apply(l.context,c),s.expression)}return n?{value:o}:o};case to.AssignmentExpression:return i=this.recurse(t.left,!0,1),a=this.recurse(t.right),function(t,e,r,o){var u=i(t,e,r,o),l=a(t,e,r,o);return Xn(u.value,s.expression),Jn(u.context),u.context[u.name]=l,n?{value:l}:l};case to.ArrayExpression:return u=[],o(t.elements,function(t){u.push(s.recurse(t))}),function(t,e,r,i){for(var o=[],a=0;a<u.length;++a)o.push(u[a](t,e,r,i));return n?{value:o}:o};case to.ObjectExpression:return u=[],o(t.properties,function(t){u.push({key:t.key.type===to.Identifier?t.key.name:""+t.key.value,value:s.recurse(t.value)})}),function(t,e,r,i){for(var o={},a=0;a<u.length;++a)o[u[a].key]=u[a].value(t,e,r,i);return n?{value:o}:o};case to.ThisExpression:return function(t){return n?{value:t}:t};case to.NGValueParameter:return function(t,e,r,i){return n?{value:r}:r}}},"unary+":function(t,n){return function(e,r,i,o){var a=t(e,r,i,o);return a=x(a)?+a:0,n?{value:a}:a}},"unary-":function(t,n){return function(e,r,i,o){var a=t(e,r,i,o);return a=x(a)?-a:0,n?{value:a}:a}},"unary!":function(t,n){return function(e,r,i,o){var a=!t(e,r,i,o);return n?{value:a}:a}},"binary+":function(t,n,e){return function(r,i,o,a){var u=t(r,i,o,a),s=n(r,i,o,a),l=Qn(u,s);return e?{value:l}:l}},"binary-":function(t,n,e){return function(r,i,o,a){var u=t(r,i,o,a),s=n(r,i,o,a),l=(x(u)?u:0)-(x(s)?s:0);return e?{value:l}:l}},"binary*":function(t,n,e){return function(r,i,o,a){var u=t(r,i,o,a)*n(r,i,o,a);return e?{value:u}:u}},"binary/":function(t,n,e){return function(r,i,o,a){var u=t(r,i,o,a)/n(r,i,o,a);return e?{value:u}:u}},"binary%":function(t,n,e){return function(r,i,o,a){var u=t(r,i,o,a)%n(r,i,o,a);return e?{value:u}:u}},"binary===":function(t,n,e){return function(r,i,o,a){var u=t(r,i,o,a)===n(r,i,o,a);return e?{value:u}:u}},"binary!==":function(t,n,e){return function(r,i,o,a){var u=t(r,i,o,a)!==n(r,i,o,a);return e?{value:u}:u}},"binary==":function(t,n,e){return function(r,i,o,a){var u=t(r,i,o,a)==n(r,i,o,a);return e?{value:u}:u}},"binary!=":function(t,n,e){return function(r,i,o,a){var u=t(r,i,o,a)!=n(r,i,o,a);return e?{value:u}:u}},"binary<":function(t,n,e){return function(r,i,o,a){var u=t(r,i,o,a)<n(r,i,o,a);return e?{value:u}:u}},"binary>":function(t,n,e){return function(r,i,o,a){var u=t(r,i,o,a)>n(r,i,o,a);return e?{value:u}:u}},"binary<=":function(t,n,e){return function(r,i,o,a){var u=t(r,i,o,a)<=n(r,i,o,a);return e?{value:u}:u}},"binary>=":function(t,n,e){return function(r,i,o,a){var u=t(r,i,o,a)>=n(r,i,o,a);return e?{value:u}:u}},"binary&&":function(t,n,e){return function(r,i,o,a){var u=t(r,i,o,a)&&n(r,i,o,a);return e?{value:u}:u}},"binary||":function(t,n,e){return function(r,i,o,a){var u=t(r,i,o,a)||n(r,i,o,a);return e?{value:u}:u}},"ternary?:":function(t,n,e,r){return function(i,o,a,u){var s=t(i,o,a,u)?n(i,o,a,u):e(i,o,a,u);return r?{value:s}:s}},value:function(t,n){return function(){return n?{context:e,name:e,value:t}:t}},identifier:function(t,n,r,i,o){return function(a,u,s,l){var c=u&&t in u?u:a;i&&1!==i&&c&&!c[t]&&(c[t]={});var f=c?c[t]:e;return n&&Xn(f,o),r?{context:c,name:t,value:f}:f}},computedMember:function(t,n,e,r,i){return function(o,a,u,s){var l,c,f=t(o,a,u,s);return null!=f&&(l=n(o,a,u,s),l=Gn(l),Yn(l,i),r&&1!==r&&f&&!f[l]&&(f[l]={}),c=f[l],Xn(c,i)),e?{context:f,name:l,value:c}:c}},nonComputedMember:function(t,n,r,i,o,a){return function(u,s,l,c){var f=t(u,s,l,c);o&&1!==o&&f&&!f[n]&&(f[n]={});var h=null!=f?f[n]:e;return(r||le(n))&&Xn(h,a),i?{context:f,name:n,value:h}:h}},inputs:function(t,n){return function(e,r,i,o){return o?o[n]:t(e,r,i)}}};var no=function(t,n,e){this.lexer=t,this.$filter=n,this.options=e,this.ast=new to(this.lexer),this.astCompiler=e.csp?new se(this.ast,n):new ue(this.ast,n)};no.prototype={constructor:no,parse:function(t){return this.astCompiler.compile(t,this.options.expensiveChecks)}};var eo=(gt(),gt(),Object.prototype.valueOf),ro=r("$sce"),io={
+HTML:"html",CSS:"css",URL:"url",RESOURCE_URL:"resourceUrl",JS:"js"},Pi=r("$compile"),oo=n.createElement("a"),ao=Me(t.location.href);Ee.$inject=["$document"],Oe.$inject=["$provide"],Re.$inject=["$locale"],De.$inject=["$locale"];var uo=".",so={yyyy:ze("FullYear",4),yy:ze("FullYear",2,0,!0),y:ze("FullYear",1),MMMM:qe("Month"),MMM:qe("Month",!0),MM:ze("Month",2,1),M:ze("Month",1,1),dd:ze("Date",2),d:ze("Date",1),HH:ze("Hours",2),H:ze("Hours",1),hh:ze("Hours",2,-12),h:ze("Hours",1,-12),mm:ze("Minutes",2),m:ze("Minutes",1),ss:ze("Seconds",2),s:ze("Seconds",1),sss:ze("Milliseconds",3),EEEE:qe("Day"),EEE:qe("Day",!0),a:He,Z:Ve,ww:Ue(2),w:Ue(1),G:Ye,GG:Ye,GGG:Ye,GGGG:Ge},lo=/((?:[^yMdHhmsaZEwG']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z|G+|w+))(.*)/,co=/^\-?\d+$/;Xe.$inject=["$locale"];var fo=m(xr),ho=m(wr);Ke.$inject=["$parse"];var po=m({restrict:"E",compile:function(t,n){return n.href||n.xlinkHref?void 0:function(t,n){if("a"===n[0].nodeName.toLowerCase()){var e="[object SVGAnimatedString]"===Tr.call(n.prop("href"))?"xlink:href":"href";n.on("click",function(t){n.attr(e)||t.preventDefault()})}}}}),vo={};o(di,function(t,n){function e(t,e,i){t.$watch(i[r],function(t){i.$set(n,!!t)})}if("multiple"!=t){var r=cn("ng-"+n),i=e;"checked"===t&&(i=function(t,n,i){i.ngModel!==i[r]&&e(t,n,i)}),vo[r]=function(){return{restrict:"A",priority:100,link:i}}}}),o(gi,function(t,n){vo[n]=function(){return{priority:100,link:function(t,e,r){if("ngPattern"===n&&"/"==r.ngPattern.charAt(0)){var i=r.ngPattern.match(yr);if(i)return void r.$set("ngPattern",new RegExp(i[1],i[2]))}t.$watch(r[n],function(t){r.$set(n,t)})}}}}),o(["src","srcset","href"],function(t){var n=cn("ng-"+t);vo[n]=function(){return{priority:99,link:function(e,r,i){var o=t,a=t;"href"===t&&"[object SVGAnimatedString]"===Tr.call(r.prop("href"))&&(a="xlinkHref",i.$attr[a]="xlink:href",o=null),i.$observe(n,function(n){return n?(i.$set(a,n),void(_r&&o&&r.prop(o,i[a]))):void("href"===t&&i.$set(a,null))})}}}});var go={$addControl:v,$$renameControl:tr,$removeControl:v,$setValidity:v,$setDirty:v,$setPristine:v,$setSubmitted:v},mo="ng-submitted";nr.$inject=["$element","$attrs","$scope","$animate","$interpolate"];var yo=function(t){return["$timeout","$parse",function(n,r){function i(t){return""===t?r('this[""]').assign:r(t).assign||v}var o={name:"form",restrict:t?"EAC":"E",require:["form","^^?form"],controller:nr,compile:function(r,o){r.addClass(Ko).addClass(Zo);var a=o.name?"name":t&&o.ngForm?"ngForm":!1;return{pre:function(t,r,o,u){var s=u[0];if(!("action"in o)){var l=function(n){t.$apply(function(){s.$commitViewValue(),s.$setSubmitted()}),n.preventDefault()};ei(r[0],"submit",l),r.on("$destroy",function(){n(function(){ri(r[0],"submit",l)},0,!1)})}var c=u[1]||s.$$parentForm;c.$addControl(s);var h=a?i(s.$name):v;a&&(h(t,s),o.$observe(a,function(n){s.$name!==n&&(h(t,e),s.$$parentForm.$$renameControl(s,n),(h=i(s.$name))(t,s))})),r.on("$destroy",function(){s.$$parentForm.$removeControl(s),h(t,e),f(s,go)})}}}};return o}]},$o=yo(),xo=yo(!0),bo=/\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z)/,wo=/^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/,Co=/^[a-z0-9!#$%&'*+\/=?^_`{|}~.-]+@[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$/i,So=/^\s*(\-|\+)?(\d+|(\d*(\.\d*)))([eE][+-]?\d+)?\s*$/,_o=/^(\d{4})-(\d{2})-(\d{2})$/,Mo=/^(\d{4})-(\d\d)-(\d\d)T(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,ko=/^(\d{4})-W(\d\d)$/,Ao=/^(\d{4})-(\d\d)$/,Eo=/^(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,Po={text:rr,date:ur("date",_o,ar(_o,["yyyy","MM","dd"]),"yyyy-MM-dd"),"datetime-local":ur("datetimelocal",Mo,ar(Mo,["yyyy","MM","dd","HH","mm","ss","sss"]),"yyyy-MM-ddTHH:mm:ss.sss"),time:ur("time",Eo,ar(Eo,["HH","mm","ss","sss"]),"HH:mm:ss.sss"),week:ur("week",ko,or,"yyyy-Www"),month:ur("month",Ao,ar(Ao,["yyyy","MM"]),"yyyy-MM"),number:lr,url:cr,email:fr,radio:hr,checkbox:dr,hidden:v,button:v,submit:v,reset:v,file:v},Oo=["$browser","$sniffer","$filter","$parse",function(t,n,e,r){return{restrict:"E",require:["?ngModel"],link:{pre:function(i,o,a,u){u[0]&&(Po[xr(a.type)]||Po.text)(i,o,a,u[0],n,t,e,r)}}}}],To=/^(true|false|\d+)$/,Lo=function(){return{restrict:"A",priority:100,compile:function(t,n){return To.test(n.ngValue)?function(t,n,e){e.$set("value",t.$eval(e.ngValue))}:function(t,n,e){t.$watch(e.ngValue,function(t){e.$set("value",t)})}}}},jo=["$compile",function(t){return{restrict:"AC",compile:function(n){return t.$$addBindingClass(n),function(n,e,r){t.$$addBindingInfo(e,r.ngBind),e=e[0],n.$watch(r.ngBind,function(t){e.textContent=$(t)?"":t})}}}}],No=["$interpolate","$compile",function(t,n){return{compile:function(e){return n.$$addBindingClass(e),function(e,r,i){var o=t(r.attr(i.$attr.ngBindTemplate));n.$$addBindingInfo(r,o.expressions),r=r[0],i.$observe("ngBindTemplate",function(t){r.textContent=$(t)?"":t})}}}}],Ro=["$sce","$parse","$compile",function(t,n,e){return{restrict:"A",compile:function(r,i){var o=n(i.ngBindHtml),a=n(i.ngBindHtml,function(t){return(t||"").toString()});return e.$$addBindingClass(r),function(n,r,i){e.$$addBindingInfo(r,i.ngBindHtml),n.$watch(a,function(){r.html(t.getTrustedHtml(o(n))||"")})}}}}],Do=m({restrict:"A",require:"ngModel",link:function(t,n,e,r){r.$viewChangeListeners.push(function(){t.$eval(e.ngChange)})}}),Fo=vr("",!0),Io=vr("Odd",0),zo=vr("Even",1),qo=Qe({compile:function(t,n){n.$set("ngCloak",e),t.removeClass("ng-cloak")}}),Vo=[function(){return{restrict:"A",scope:!0,controller:"@",priority:500}}],Bo={},Wo={blur:!0,focus:!0};o("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "),function(t){var n=cn("ng-"+t);Bo[n]=["$parse","$rootScope",function(e,r){return{restrict:"A",compile:function(i,o){var a=e(o[n],null,!0);return function(n,e){e.on(t,function(e){var i=function(){a(n,{$event:e})};Wo[t]&&r.$$phase?n.$evalAsync(i):n.$apply(i)})}}}}]});var Uo=["$animate",function(t){return{multiElement:!0,transclude:"element",priority:600,terminal:!0,restrict:"A",$$tlb:!0,link:function(e,r,i,o,a){var u,s,l;e.$watch(i.ngIf,function(e){e?s||a(function(e,o){s=o,e[e.length++]=n.createComment(" end ngIf: "+i.ngIf+" "),u={clone:e},t.enter(e,r.parent(),r)}):(l&&(l.remove(),l=null),s&&(s.$destroy(),s=null),u&&(l=vt(u.clone),t.leave(l).then(function(){l=null}),u=null))})}}}],Ho=["$templateRequest","$anchorScroll","$animate",function(t,n,e){return{restrict:"ECA",priority:400,terminal:!0,transclude:"element",controller:Nr.noop,compile:function(r,i){var o=i.ngInclude||i.src,a=i.onload||"",u=i.autoscroll;return function(r,i,s,l,c){var f,h,p,d=0,v=function(){h&&(h.remove(),h=null),f&&(f.$destroy(),f=null),p&&(e.leave(p).then(function(){h=null}),h=p,p=null)};r.$watch(o,function(o){var s=function(){!x(u)||u&&!r.$eval(u)||n()},h=++d;o?(t(o,!0).then(function(t){if(h===d){var n=r.$new();l.template=t;var u=c(n,function(t){v(),e.enter(t,null,i).then(s)});f=n,p=u,f.$emit("$includeContentLoaded",o),r.$eval(a)}},function(){h===d&&(v(),r.$emit("$includeContentError",o))}),r.$emit("$includeContentRequested",o)):(v(),l.template=null)})}}}}],Yo=["$compile",function(t){return{restrict:"ECA",priority:-400,require:"ngInclude",link:function(e,r,i,o){return/SVG/.test(r[0].toString())?(r.empty(),void t(Mt(o.template,n).childNodes)(e,function(t){r.append(t)},{futureParentElement:r})):(r.html(o.template),void t(r.contents())(e))}}}],Go=Qe({priority:450,compile:function(){return{pre:function(t,n,e){t.$eval(e.ngInit)}}}}),Xo=function(){return{restrict:"A",priority:100,require:"ngModel",link:function(t,n,r,i){var a=n.attr(r.$attr.ngList)||", ",u="false"!==r.ngTrim,s=u?zr(a):a,l=function(t){if(!$(t)){var n=[];return t&&o(t.split(s),function(t){t&&n.push(u?zr(t):t)}),n}};i.$parsers.push(l),i.$formatters.push(function(t){return Fr(t)?t.join(a):e}),i.$isEmpty=function(t){return!t||!t.length}}}},Zo="ng-valid",Jo="ng-invalid",Ko="ng-pristine",Qo="ng-dirty",ta="ng-untouched",na="ng-touched",ea="ng-pending",ra=r("ngModel"),ia=["$scope","$exceptionHandler","$attrs","$element","$parse","$animate","$timeout","$rootScope","$q","$interpolate",function(t,n,r,i,a,u,s,l,c,f){this.$viewValue=Number.NaN,this.$modelValue=Number.NaN,this.$$rawModelValue=e,this.$validators={},this.$asyncValidators={},this.$parsers=[],this.$formatters=[],this.$viewChangeListeners=[],this.$untouched=!0,this.$touched=!1,this.$pristine=!0,this.$dirty=!1,this.$valid=!0,this.$invalid=!1,this.$error={},this.$$success={},this.$pending=e,this.$name=f(r.name||"",!1)(t),this.$$parentForm=go;var h,p=a(r.ngModel),d=p.assign,g=p,m=d,y=null,b=this;this.$$setOptions=function(t){if(b.$options=t,t&&t.getterSetter){var n=a(r.ngModel+"()"),e=a(r.ngModel+"($$$p)");g=function(t){var e=p(t);return M(e)&&(e=n(t)),e},m=function(t,n){M(p(t))?e(t,{$$$p:b.$modelValue}):d(t,b.$modelValue)}}else if(!p.assign)throw ra("nonassign","Expression '{0}' is non-assignable. Element: {1}",r.ngModel,K(i))},this.$render=v,this.$isEmpty=function(t){return $(t)||""===t||null===t||t!==t};var w=0;gr({ctrl:this,$element:i,set:function(t,n){t[n]=!0},unset:function(t,n){delete t[n]},$animate:u}),this.$setPristine=function(){b.$dirty=!1,b.$pristine=!0,u.removeClass(i,Qo),u.addClass(i,Ko)},this.$setDirty=function(){b.$dirty=!0,b.$pristine=!1,u.removeClass(i,Ko),u.addClass(i,Qo),b.$$parentForm.$setDirty()},this.$setUntouched=function(){b.$touched=!1,b.$untouched=!0,u.setClass(i,ta,na)},this.$setTouched=function(){b.$touched=!0,b.$untouched=!1,u.setClass(i,na,ta)},this.$rollbackViewValue=function(){s.cancel(y),b.$viewValue=b.$$lastCommittedViewValue,b.$render()},this.$validate=function(){if(!S(b.$modelValue)||!isNaN(b.$modelValue)){var t=b.$$lastCommittedViewValue,n=b.$$rawModelValue,r=b.$valid,i=b.$modelValue,o=b.$options&&b.$options.allowInvalid;b.$$runValidators(n,t,function(t){o||r===t||(b.$modelValue=t?n:e,b.$modelValue!==i&&b.$$writeModelToScope())})}},this.$$runValidators=function(t,n,r){function i(){var t=b.$$parserName||"parse";return $(h)?(s(t,null),!0):(h||(o(b.$validators,function(t,n){s(n,null)}),o(b.$asyncValidators,function(t,n){s(n,null)})),s(t,h),h)}function a(){var e=!0;return o(b.$validators,function(r,i){var o=r(t,n);e=e&&o,s(i,o)}),e?!0:(o(b.$asyncValidators,function(t,n){s(n,null)}),!1)}function u(){var r=[],i=!0;o(b.$asyncValidators,function(o,a){var u=o(t,n);if(!j(u))throw ra("$asyncValidators","Expected asynchronous validator to return a promise but got '{0}' instead.",u);s(a,e),r.push(u.then(function(){s(a,!0)},function(t){i=!1,s(a,!1)}))}),r.length?c.all(r).then(function(){l(i)},v):l(!0)}function s(t,n){f===w&&b.$setValidity(t,n)}function l(t){f===w&&r(t)}w++;var f=w;return i()&&a()?void u():void l(!1)},this.$commitViewValue=function(){var t=b.$viewValue;s.cancel(y),(b.$$lastCommittedViewValue!==t||""===t&&b.$$hasNativeValidators)&&(b.$$lastCommittedViewValue=t,b.$pristine&&this.$setDirty(),this.$$parseAndValidate())},this.$$parseAndValidate=function(){function n(){b.$modelValue!==a&&b.$$writeModelToScope()}var r=b.$$lastCommittedViewValue,i=r;if(h=$(i)?e:!0)for(var o=0;o<b.$parsers.length;o++)if(i=b.$parsers[o](i),$(i)){h=!1;break}S(b.$modelValue)&&isNaN(b.$modelValue)&&(b.$modelValue=g(t));var a=b.$modelValue,u=b.$options&&b.$options.allowInvalid;b.$$rawModelValue=i,u&&(b.$modelValue=i,n()),b.$$runValidators(i,b.$$lastCommittedViewValue,function(t){u||(b.$modelValue=t?i:e,n())})},this.$$writeModelToScope=function(){m(t,b.$modelValue),o(b.$viewChangeListeners,function(t){try{t()}catch(e){n(e)}})},this.$setViewValue=function(t,n){b.$viewValue=t,b.$options&&!b.$options.updateOnDefault||b.$$debounceViewValueCommit(n)},this.$$debounceViewValueCommit=function(n){var e,r=0,i=b.$options;i&&x(i.debounce)&&(e=i.debounce,S(e)?r=e:S(e[n])?r=e[n]:S(e["default"])&&(r=e["default"])),s.cancel(y),r?y=s(function(){b.$commitViewValue()},r):l.$$phase?b.$commitViewValue():t.$apply(function(){b.$commitViewValue()})},t.$watch(function(){var n=g(t);if(n!==b.$modelValue&&(b.$modelValue===b.$modelValue||n===n)){b.$modelValue=b.$$rawModelValue=n,h=e;for(var r=b.$formatters,i=r.length,o=n;i--;)o=r[i](o);b.$viewValue!==o&&(b.$viewValue=b.$$lastCommittedViewValue=o,b.$render(),b.$$runValidators(n,o,v))}return n})}],oa=["$rootScope",function(t){return{restrict:"A",require:["ngModel","^?form","^?ngModelOptions"],controller:ia,priority:1,compile:function(n){return n.addClass(Ko).addClass(ta).addClass(Zo),{pre:function(t,n,e,r){var i=r[0],o=r[1]||i.$$parentForm;i.$$setOptions(r[2]&&r[2].$options),o.$addControl(i),e.$observe("name",function(t){i.$name!==t&&i.$$parentForm.$$renameControl(i,t)}),t.$on("$destroy",function(){i.$$parentForm.$removeControl(i)})},post:function(n,e,r,i){var o=i[0];o.$options&&o.$options.updateOn&&e.on(o.$options.updateOn,function(t){o.$$debounceViewValueCommit(t&&t.type)}),e.on("blur",function(e){o.$touched||(t.$$phase?n.$evalAsync(o.$setTouched):n.$apply(o.$setTouched))})}}}}}],aa=/(\s+|^)default(\s+|$)/,ua=function(){return{restrict:"A",controller:["$scope","$attrs",function(t,n){var e=this;this.$options=z(t.$eval(n.ngModelOptions)),x(this.$options.updateOn)?(this.$options.updateOnDefault=!1,this.$options.updateOn=zr(this.$options.updateOn.replace(aa,function(){return e.$options.updateOnDefault=!0," "}))):this.$options.updateOnDefault=!0}]}},sa=Qe({terminal:!0,priority:1e3}),la=r("ngOptions"),ca=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+group\s+by\s+([\s\S]+?))?(?:\s+disable\s+when\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?$/,fa=["$compile","$parse",function(t,e){function r(t,n,r){function o(t,n,e,r,i){this.selectValue=t,this.viewValue=n,this.label=e,this.group=r,this.disabled=i}function a(t){var n;if(!l&&i(t))n=t;else{n=[];for(var e in t)t.hasOwnProperty(e)&&"$"!==e.charAt(0)&&n.push(e)}return n}var u=t.match(ca);if(!u)throw la("iexp","Expected expression in form of '_select_ (as _label_)? for (_key_,)?_value_ in _collection_' but got '{0}'. Element: {1}",t,K(n));var s=u[5]||u[7],l=u[6],c=/ as /.test(u[0])&&u[1],f=u[9],h=e(u[2]?u[1]:s),p=c&&e(c),d=p||h,v=f&&e(f),g=f?function(t,n){return v(r,n)}:function(t){return Gt(t)},m=function(t,n){return g(t,C(t,n))},y=e(u[2]||u[1]),$=e(u[3]||""),x=e(u[4]||""),b=e(u[8]),w={},C=l?function(t,n){return w[l]=n,w[s]=t,w}:function(t){return w[s]=t,w};return{trackBy:f,getTrackByValue:m,getWatchables:e(b,function(t){var n=[];t=t||[];for(var e=a(t),i=e.length,o=0;i>o;o++){var s=t===e?o:e[o],l=(t[s],C(t[s],s)),c=g(t[s],l);if(n.push(c),u[2]||u[1]){var f=y(r,l);n.push(f)}if(u[4]){var h=x(r,l);n.push(h)}}return n}),getOptions:function(){for(var t=[],n={},e=b(r)||[],i=a(e),u=i.length,s=0;u>s;s++){var l=e===i?s:i[s],c=e[l],h=C(c,l),p=d(r,h),v=g(p,h),w=y(r,h),S=$(r,h),_=x(r,h),M=new o(v,p,w,S,_);t.push(M),n[v]=M}return{items:t,selectValueMap:n,getOptionFromViewValue:function(t){return n[m(t)]},getViewValueFromOption:function(t){return f?Nr.copy(t.viewValue):t.viewValue}}}}}var a=n.createElement("option"),u=n.createElement("optgroup");return{restrict:"A",terminal:!0,require:["select","?ngModel"],link:function(n,e,i,s){function l(t,n){t.element=n,n.disabled=t.disabled,t.label!==n.label&&(n.label=t.label,n.textContent=t.label),t.value!==n.value&&(n.value=t.selectValue)}function c(t,n,e,r){var i;return n&&xr(n.nodeName)===e?i=n:(i=r.cloneNode(!1),n?t.insertBefore(i,n):t.appendChild(i)),i}function f(t){for(var n;t;)n=t.nextSibling,Vt(t),t=n}function h(t){var n=v&&v[0],e=w&&w[0];if(n||e)for(;t&&(t===n||t===e||n&&n.nodeType===Zr);)t=t.nextSibling;return t}function p(){var t=C&&g.readValue();C=S.getOptions();var n={},r=e[0].firstChild;if(b&&e.prepend(v),r=h(r),C.items.forEach(function(t){var i,o,s;t.group?(i=n[t.group],i||(o=c(e[0],r,"optgroup",u),r=o.nextSibling,o.label=t.group,i=n[t.group]={groupElement:o,currentOptionElement:o.firstChild}),s=c(i.groupElement,i.currentOptionElement,"option",a),l(t,s),i.currentOptionElement=s.nextSibling):(s=c(e[0],r,"option",a),l(t,s),r=s.nextSibling)}),Object.keys(n).forEach(function(t){f(n[t].currentOptionElement)}),f(r),d.$render(),!d.$isEmpty(t)){var i=g.readValue();(S.trackBy?V(t,i):t===i)||(d.$setViewValue(i),d.$render())}}var d=s[1];if(d){for(var v,g=s[0],m=i.multiple,y=0,$=e.children(),x=$.length;x>y;y++)if(""===$[y].value){v=$.eq(y);break}var b=!!v,w=Mr(a.cloneNode(!1));w.val("?");var C,S=r(i.ngOptions,e,n),_=function(){b||e.prepend(v),e.val(""),v.prop("selected",!0),v.attr("selected",!0)},M=function(){b||v.remove()},k=function(){e.prepend(w),e.val("?"),w.prop("selected",!0),w.attr("selected",!0)},A=function(){w.remove()};m?(d.$isEmpty=function(t){return!t||0===t.length},g.writeValue=function(t){C.items.forEach(function(t){t.element.selected=!1}),t&&t.forEach(function(t){var n=C.getOptionFromViewValue(t);n&&!n.disabled&&(n.element.selected=!0)})},g.readValue=function(){var t=e.val()||[],n=[];return o(t,function(t){var e=C.selectValueMap[t];e&&!e.disabled&&n.push(C.getViewValueFromOption(e))}),n},S.trackBy&&n.$watchCollection(function(){return Fr(d.$viewValue)?d.$viewValue.map(function(t){return S.getTrackByValue(t)}):void 0},function(){d.$render()})):(g.writeValue=function(t){var n=C.getOptionFromViewValue(t);n&&!n.disabled?e[0].value!==n.selectValue&&(A(),M(),e[0].value=n.selectValue,n.element.selected=!0,n.element.setAttribute("selected","selected")):null===t||b?(A(),_()):(M(),k())},g.readValue=function(){var t=C.selectValueMap[e.val()];return t&&!t.disabled?(M(),A(),C.getViewValueFromOption(t)):null},S.trackBy&&n.$watch(function(){return S.getTrackByValue(d.$viewValue)},function(){d.$render()})),b?(v.remove(),t(v)(n),v.removeClass("ng-scope")):v=Mr(a.cloneNode(!1)),p(),n.$watchCollection(S.getWatchables,p)}}}}],ha=["$locale","$interpolate","$log",function(t,n,e){var r=/{}/g,i=/^when(Minus)?(.+)$/;return{link:function(a,u,s){function l(t){u.text(t||"")}var c,f=s.count,h=s.$attr.when&&u.attr(s.$attr.when),p=s.offset||0,d=a.$eval(h)||{},g={},m=n.startSymbol(),y=n.endSymbol(),x=m+f+"-"+p+y,b=Nr.noop;o(s,function(t,n){var e=i.exec(n);if(e){var r=(e[1]?"-":"")+xr(e[2]);d[r]=u.attr(s.$attr[n])}}),o(d,function(t,e){g[e]=n(t.replace(r,x))}),a.$watch(f,function(n){var r=parseFloat(n),i=isNaN(r);if(i||r in d||(r=t.pluralCat(r-p)),r!==c&&!(i&&S(c)&&isNaN(c))){b();var o=g[r];$(o)?(null!=n&&e.debug("ngPluralize: no rule defined for '"+r+"' in "+h),b=v,l()):b=a.$watch(o,l),c=r}})}}}],pa=["$parse","$animate",function(t,a){var u="$$NG_REMOVED",s=r("ngRepeat"),l=function(t,n,e,r,i,o,a){t[e]=r,i&&(t[i]=o),t.$index=n,t.$first=0===n,t.$last=n===a-1,t.$middle=!(t.$first||t.$last),t.$odd=!(t.$even=0===(1&n))},c=function(t){return t.clone[0]},f=function(t){return t.clone[t.clone.length-1]};return{restrict:"A",multiElement:!0,transclude:"element",priority:1e3,terminal:!0,$$tlb:!0,compile:function(r,h){var p=h.ngRepeat,d=n.createComment(" end ngRepeat: "+p+" "),v=p.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/);if(!v)throw s("iexp","Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.",p);var g=v[1],m=v[2],y=v[3],$=v[4];if(v=g.match(/^(?:(\s*[\$\w]+)|\(\s*([\$\w]+)\s*,\s*([\$\w]+)\s*\))$/),!v)throw s("iidexp","'_item_' in '_item_ in _collection_' should be an identifier or '(_key_, _value_)' expression, but got '{0}'.",g);var x=v[3]||v[1],b=v[2];if(y&&(!/^[$a-zA-Z_][$a-zA-Z0-9_]*$/.test(y)||/^(null|undefined|this|\$index|\$first|\$middle|\$last|\$even|\$odd|\$parent|\$root|\$id)$/.test(y)))throw s("badident","alias '{0}' is invalid --- must be a valid JS identifier which is not a reserved name.",y);var w,C,S,_,M={$id:Gt};return $?w=t($):(S=function(t,n){return Gt(n)},_=function(t){return t}),function(t,n,r,h,v){w&&(C=function(n,e,r){return b&&(M[b]=n),M[x]=e,M.$index=r,w(t,M)});var g=gt();t.$watchCollection(m,function(r){var h,m,$,w,M,k,A,E,P,O,T,L,j=n[0],N=gt();if(y&&(t[y]=r),i(r))P=r,E=C||S;else{E=C||_,P=[];for(var R in r)br.call(r,R)&&"$"!==R.charAt(0)&&P.push(R)}for(w=P.length,T=new Array(w),h=0;w>h;h++)if(M=r===P?h:P[h],k=r[M],A=E(M,k,h),g[A])O=g[A],delete g[A],N[A]=O,T[h]=O;else{if(N[A])throw o(T,function(t){t&&t.scope&&(g[t.id]=t)}),s("dupes","Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: {0}, Duplicate key: {1}, Duplicate value: {2}",p,A,k);T[h]={id:A,scope:e,clone:e},N[A]=!0}for(var D in g){if(O=g[D],L=vt(O.clone),a.leave(L),L[0].parentNode)for(h=0,m=L.length;m>h;h++)L[h][u]=!0;O.scope.$destroy()}for(h=0;w>h;h++)if(M=r===P?h:P[h],k=r[M],O=T[h],O.scope){$=j;do $=$.nextSibling;while($&&$[u]);c(O)!=$&&a.move(vt(O.clone),null,Mr(j)),j=f(O),l(O.scope,h,x,k,b,M,w)}else v(function(t,n){O.scope=n;var e=d.cloneNode(!1);t[t.length++]=e,a.enter(t,null,Mr(j)),j=e,O.clone=t,N[O.id]=O,l(O.scope,h,x,k,b,M,w)});g=N})}}}}],da="ng-hide",va="ng-hide-animate",ga=["$animate",function(t){return{restrict:"A",multiElement:!0,link:function(n,e,r){n.$watch(r.ngShow,function(n){t[n?"removeClass":"addClass"](e,da,{tempClasses:va})})}}}],ma=["$animate",function(t){return{restrict:"A",multiElement:!0,link:function(n,e,r){n.$watch(r.ngHide,function(n){t[n?"addClass":"removeClass"](e,da,{tempClasses:va})})}}}],ya=Qe(function(t,n,e){t.$watch(e.ngStyle,function(t,e){e&&t!==e&&o(e,function(t,e){n.css(e,"")}),t&&n.css(t)},!0)}),$a=["$animate",function(t){return{require:"ngSwitch",controller:["$scope",function(){this.cases={}}],link:function(e,r,i,a){var u=i.ngSwitch||i.on,s=[],l=[],c=[],f=[],h=function(t,n){return function(){t.splice(n,1)}};e.$watch(u,function(e){var r,i;for(r=0,i=c.length;i>r;++r)t.cancel(c[r]);for(c.length=0,r=0,i=f.length;i>r;++r){var u=vt(l[r].clone);f[r].$destroy();var p=c[r]=t.leave(u);p.then(h(c,r))}l.length=0,f.length=0,(s=a.cases["!"+e]||a.cases["?"])&&o(s,function(e){e.transclude(function(r,i){f.push(i);var o=e.element;r[r.length++]=n.createComment(" end ngSwitchWhen: ");var a={clone:r};l.push(a),t.enter(r,o.parent(),o)})})})}}}],xa=Qe({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(t,n,e,r,i){r.cases["!"+e.ngSwitchWhen]=r.cases["!"+e.ngSwitchWhen]||[],r.cases["!"+e.ngSwitchWhen].push({transclude:i,element:n})}}),ba=Qe({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(t,n,e,r,i){r.cases["?"]=r.cases["?"]||[],r.cases["?"].push({transclude:i,element:n})}}),wa=Qe({restrict:"EAC",link:function(t,n,e,i,o){if(!o)throw r("ngTransclude")("orphan","Illegal use of ngTransclude directive in the template! No parent directive that requires a transclusion found. Element: {0}",K(n));o(function(t){n.empty(),n.append(t)})}}),Ca=["$templateCache",function(t){return{restrict:"E",terminal:!0,compile:function(n,e){if("text/ng-template"==e.type){var r=e.id,i=n[0].text;t.put(r,i)}}}}],Sa={$setViewValue:v,$render:v},_a=["$element","$scope","$attrs",function(t,r,i){var o=this,a=new Xt;o.ngModelCtrl=Sa,o.unknownOption=Mr(n.createElement("option")),o.renderUnknownOption=function(n){var e="? "+Gt(n)+" ?";o.unknownOption.val(e),t.prepend(o.unknownOption),t.val(e)},r.$on("$destroy",function(){o.renderUnknownOption=v}),o.removeUnknownOption=function(){o.unknownOption.parent()&&o.unknownOption.remove()},o.readValue=function(){return o.removeUnknownOption(),t.val()},o.writeValue=function(n){o.hasOption(n)?(o.removeUnknownOption(),t.val(n),""===n&&o.emptyOption.prop("selected",!0)):null==n&&o.emptyOption?(o.removeUnknownOption(),t.val("")):o.renderUnknownOption(n)},o.addOption=function(t,n){pt(t,'"option value"'),""===t&&(o.emptyOption=n);var e=a.get(t)||0;a.put(t,e+1)},o.removeOption=function(t){var n=a.get(t);n&&(1===n?(a.remove(t),""===t&&(o.emptyOption=e)):a.put(t,n-1))},o.hasOption=function(t){return!!a.get(t)}}],Ma=function(){return{restrict:"E",require:["select","?ngModel"],controller:_a,link:function(t,n,e,r){var i=r[1];if(i){var a=r[0];if(a.ngModelCtrl=i,i.$render=function(){a.writeValue(i.$viewValue)},n.on("change",function(){t.$apply(function(){i.$setViewValue(a.readValue())})}),e.multiple){a.readValue=function(){var t=[];return o(n.find("option"),function(n){n.selected&&t.push(n.value)}),t},a.writeValue=function(t){var e=new Xt(t);o(n.find("option"),function(t){t.selected=x(e.get(t.value))})};var u,s=NaN;t.$watch(function(){s!==i.$viewValue||V(u,i.$viewValue)||(u=q(i.$viewValue),i.$render()),s=i.$viewValue}),i.$isEmpty=function(t){return!t||0===t.length}}}}}},ka=["$interpolate",function(t){function n(t){t[0].hasAttribute("selected")&&(t[0].selected=!0)}return{restrict:"E",priority:100,compile:function(e,r){if(x(r.value))var i=t(r.value,!0);else{var o=t(e.text(),!0);o||r.$set("value",e.text())}return function(t,e,r){function a(t){l.addOption(t,e),l.ngModelCtrl.$render(),n(e)}var u="$selectController",s=e.parent(),l=s.data(u)||s.parent().data(u);if(l&&l.ngModelCtrl){if(i){var c;r.$observe("value",function(t){x(c)&&l.removeOption(c),c=t,a(t)})}else o?t.$watch(o,function(t,n){r.$set("value",t),n!==t&&l.removeOption(n),a(t)}):a(r.value);e.on("$destroy",function(){l.removeOption(r.value),l.ngModelCtrl.$render()})}}}}}],Aa=m({restrict:"E",terminal:!1}),Ea=function(){return{restrict:"A",require:"?ngModel",link:function(t,n,e,r){r&&(e.required=!0,r.$validators.required=function(t,n){return!e.required||!r.$isEmpty(n)},e.$observe("required",function(){r.$validate()}))}}},Pa=function(){return{restrict:"A",require:"?ngModel",link:function(t,n,i,o){if(o){var a,u=i.ngPattern||i.pattern;i.$observe("pattern",function(t){if(C(t)&&t.length>0&&(t=new RegExp("^"+t+"$")),t&&!t.test)throw r("ngPattern")("noregexp","Expected {0} to be a RegExp but was {1}. Element: {2}",u,t,K(n));a=t||e,o.$validate()}),o.$validators.pattern=function(t,n){return o.$isEmpty(n)||$(a)||a.test(n)}}}}},Oa=function(){return{restrict:"A",require:"?ngModel",link:function(t,n,e,r){if(r){var i=-1;e.$observe("maxlength",function(t){var n=p(t);i=isNaN(n)?-1:n,r.$validate()}),r.$validators.maxlength=function(t,n){return 0>i||r.$isEmpty(n)||n.length<=i}}}}},Ta=function(){return{restrict:"A",require:"?ngModel",link:function(t,n,e,r){if(r){var i=0;e.$observe("minlength",function(t){i=p(t)||0,r.$validate()}),r.$validators.minlength=function(t,n){return r.$isEmpty(n)||n.length>=i}}}}};return t.angular.bootstrap?void console.log("WARNING: Tried to load angular more than once."):(ct(),xt(Nr),Nr.module("ngLocale",[],["$provide",function(t){function n(t){t+="";var n=t.indexOf(".");return-1==n?0:t.length-n-1}function r(t,r){var i=r;e===i&&(i=Math.min(n(t),3));var o=Math.pow(10,i),a=(t*o|0)%o;return{v:i,f:a}}var i={ZERO:"zero",ONE:"one",TWO:"two",FEW:"few",MANY:"many",OTHER:"other"};t.value("$locale",{DATETIME_FORMATS:{AMPMS:["AM","PM"],DAY:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],ERANAMES:["Before Christ","Anno Domini"],ERAS:["BC","AD"],FIRSTDAYOFWEEK:6,MONTH:["January","February","March","April","May","June","July","August","September","October","November","December"],SHORTDAY:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],SHORTMONTH:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],WEEKENDRANGE:[5,6],fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",medium:"MMM d, y h:mm:ss a",mediumDate:"MMM d, y",mediumTime:"h:mm:ss a","short":"M/d/yy h:mm a",shortDate:"M/d/yy",shortTime:"h:mm a"},NUMBER_FORMATS:{CURRENCY_SYM:"$",DECIMAL_SEP:".",GROUP_SEP:",",PATTERNS:[{gSize:3,lgSize:3,maxFrac:3,minFrac:0,minInt:1,negPre:"-",negSuf:"",posPre:"",posSuf:""},{gSize:3,lgSize:3,maxFrac:2,minFrac:2,minInt:1,negPre:"-¤",negSuf:"",posPre:"¤",posSuf:""}]},id:"en-us",pluralCat:function(t,n){var e=0|t,o=r(t,n);return 1==e&&0==o.v?i.ONE:i.OTHER}})}]),void Mr(n).ready(function(){ot(n,at)}))}(window,document),!window.angular.$$csp().noInlineStyle&&window.angular.element(document.head).prepend('<style type="text/css">@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide:not(.ng-hide-animate){display:none !important;}ng\\:form{display:block;}.ng-animate-shim{visibility:hidden;}.ng-anchor{position:absolute;}</style>'),"undefined"!=typeof module&&"undefined"!=typeof exports&&module.exports===exports&&(module.exports="ui.router"),function(t,n,e){"use strict";function r(t,n){return I(new(I(function(){},{prototype:t})),n)}function i(t){return F(arguments,function(n){n!==t&&F(n,function(n,e){t.hasOwnProperty(e)||(t[e]=n)})}),t}function o(t,n){var e=[];for(var r in t.path){if(t.path[r]!==n.path[r])break;e.push(t.path[r])}return e}function a(t){if(Object.keys)return Object.keys(t);var n=[];return F(t,function(t,e){n.push(e)}),n}function u(t,n){if(Array.prototype.indexOf)return t.indexOf(n,Number(arguments[2])||0);var e=t.length>>>0,r=Number(arguments[2])||0;for(r=0>r?Math.ceil(r):Math.floor(r),0>r&&(r+=e);e>r;r++)if(r in t&&t[r]===n)return r;return-1}function s(t,n,e,r){var i,s=o(e,r),l={},c=[];for(var f in s)if(s[f].params&&(i=a(s[f].params),i.length))for(var h in i)u(c,i[h])>=0||(c.push(i[h]),l[i[h]]=t[i[h]]);return I({},l,n)}function l(t,n,e){if(!e){e=[];for(var r in t)e.push(r)}for(var i=0;i<e.length;i++){var o=e[i];if(t[o]!=n[o])return!1}return!0}function c(t,n){var e={};return F(t,function(t){e[t]=n[t]}),e}function f(t){var n={},e=Array.prototype.concat.apply(Array.prototype,Array.prototype.slice.call(arguments,1));return F(e,function(e){e in t&&(n[e]=t[e])}),n}function h(t){var n={},e=Array.prototype.concat.apply(Array.prototype,Array.prototype.slice.call(arguments,1));for(var r in t)-1==u(e,r)&&(n[r]=t[r]);return n}function p(t,n){var e=D(t),r=e?[]:{};return F(t,function(t,i){n(t,i)&&(r[e?r.length:i]=t)}),r}function d(t,n){var e=D(t)?[]:{};return F(t,function(t,r){e[r]=n(t,r)}),e}function v(t,n){var r=1,o=2,s={},l=[],c=s,f=I(t.when(s),{$$promises:s,$$values:s});this.study=function(s){function p(t,e){if(y[e]!==o){if(m.push(e),y[e]===r)throw m.splice(0,u(m,e)),new Error("Cyclic dependency: "+m.join(" -> "));if(y[e]=r,N(t))g.push(e,[function(){return n.get(t)}],l);else{var i=n.annotate(t);F(i,function(t){t!==e&&s.hasOwnProperty(t)&&p(s[t],t)}),g.push(e,t,i)}m.pop(),y[e]=o}}function d(t){return R(t)&&t.then&&t.$$promises}if(!R(s))throw new Error("'invocables' must be an object");var v=a(s||{}),g=[],m=[],y={};return F(s,p),s=m=y=null,function(r,o,a){function u(){--x||(b||i($,o.$$values),m.$$values=$,m.$$promises=m.$$promises||!0,delete m.$$inheritedValues,p.resolve($))}function s(t){m.$$failure=t,p.reject(t)}function l(e,i,o){function l(t){f.reject(t),s(t)}function c(){if(!L(m.$$failure))try{f.resolve(n.invoke(i,a,$)),f.promise.then(function(t){$[e]=t,u()},l)}catch(t){l(t)}}var f=t.defer(),h=0;F(o,function(t){y.hasOwnProperty(t)&&!r.hasOwnProperty(t)&&(h++,y[t].then(function(n){$[t]=n,--h||c()},l))}),h||c(),y[e]=f.promise}if(d(r)&&a===e&&(a=o,o=r,r=null),r){if(!R(r))throw new Error("'locals' must be an object")}else r=c;if(o){if(!d(o))throw new Error("'parent' must be a promise returned by $resolve.resolve()")}else o=f;var p=t.defer(),m=p.promise,y=m.$$promises={},$=I({},r),x=1+g.length/3,b=!1;if(L(o.$$failure))return s(o.$$failure),m;o.$$inheritedValues&&i($,h(o.$$inheritedValues,v)),I(y,o.$$promises),o.$$values?(b=i($,h(o.$$values,v)),m.$$inheritedValues=h(o.$$values,v),u()):(o.$$inheritedValues&&(m.$$inheritedValues=h(o.$$inheritedValues,v)),o.then(u,s));for(var w=0,C=g.length;C>w;w+=3)r.hasOwnProperty(g[w])?u():l(g[w],g[w+1],g[w+2]);return m}},this.resolve=function(t,n,e,r){return this.study(t)(n,e,r)}}function g(t,n,e){this.fromConfig=function(t,n,e){return L(t.template)?this.fromString(t.template,n):L(t.templateUrl)?this.fromUrl(t.templateUrl,n):L(t.templateProvider)?this.fromProvider(t.templateProvider,n,e):null},this.fromString=function(t,n){return j(t)?t(n):t},this.fromUrl=function(e,r){return j(e)&&(e=e(r)),null==e?null:t.get(e,{cache:n,headers:{Accept:"text/html"}}).then(function(t){return t.data})},this.fromProvider=function(t,n,r){return e.invoke(t,null,r||{params:n})}}function m(t,n,i){function o(n,e,r,i){if(g.push(n),d[n])return d[n];if(!/^\w+(-+\w+)*(?:\[\])?$/.test(n))throw new Error("Invalid parameter name '"+n+"' in pattern '"+t+"'");if(v[n])throw new Error("Duplicate parameter name '"+n+"' in pattern '"+t+"'");
+return v[n]=new q.Param(n,e,r,i),v[n]}function a(t,n,e,r){var i=["",""],o=t.replace(/[\\\[\]\^$*+?.()|{}]/g,"\\$&");if(!n)return o;switch(e){case!1:i=["(",")"+(r?"?":"")];break;case!0:i=["?(",")?"];break;default:i=["("+e+"|",")?"]}return o+i[0]+n+i[1]}function u(i,o){var a,u,s,l,c;return a=i[2]||i[3],c=n.params[a],s=t.substring(h,i.index),u=o?i[4]:i[4]||("*"==i[1]?".*":null),l=q.type(u||"string")||r(q.type("string"),{pattern:new RegExp(u,n.caseInsensitive?"i":e)}),{id:a,regexp:u,segment:s,type:l,cfg:c}}n=I({params:{}},R(n)?n:{});var s,l=/([:*])([\w\[\]]+)|\{([\w\[\]]+)(?:\:((?:[^{}\\]+|\\.|\{(?:[^{}\\]+|\\.)*\})+))?\}/g,c=/([:]?)([\w\[\]-]+)|\{([\w\[\]-]+)(?:\:((?:[^{}\\]+|\\.|\{(?:[^{}\\]+|\\.)*\})+))?\}/g,f="^",h=0,p=this.segments=[],d=i?i.params:{},v=this.params=i?i.params.$$new():new q.ParamSet,g=[];this.source=t;for(var m,y,$;(s=l.exec(t))&&(m=u(s,!1),!(m.segment.indexOf("?")>=0));)y=o(m.id,m.type,m.cfg,"path"),f+=a(m.segment,y.type.pattern.source,y.squash,y.isOptional),p.push(m.segment),h=l.lastIndex;$=t.substring(h);var x=$.indexOf("?");if(x>=0){var b=this.sourceSearch=$.substring(x);if($=$.substring(0,x),this.sourcePath=t.substring(0,h+x),b.length>0)for(h=0;s=c.exec(b);)m=u(s,!0),y=o(m.id,m.type,m.cfg,"search"),h=l.lastIndex}else this.sourcePath=t,this.sourceSearch="";f+=a($)+(n.strict===!1?"/?":"")+"$",p.push($),this.regexp=new RegExp(f,n.caseInsensitive?"i":e),this.prefix=p[0],this.$$paramNames=g}function y(t){I(this,t)}function $(){function t(t){return null!=t?t.toString().replace(/\//g,"%2F"):t}function i(t){return null!=t?t.toString().replace(/%2F/g,"/"):t}function o(){return{strict:v,caseInsensitive:h}}function s(t){return j(t)||D(t)&&j(t[t.length-1])}function l(){for(;w.length;){var t=w.shift();if(t.pattern)throw new Error("You cannot override a type's .pattern at runtime.");n.extend(x[t.name],f.invoke(t.def))}}function c(t){I(this,t||{})}q=this;var f,h=!1,v=!0,g=!1,x={},b=!0,w=[],C={string:{encode:t,decode:i,is:function(t){return null==t||!L(t)||"string"==typeof t},pattern:/[^\/]*/},"int":{encode:t,decode:function(t){return parseInt(t,10)},is:function(t){return L(t)&&this.decode(t.toString())===t},pattern:/\d+/},bool:{encode:function(t){return t?1:0},decode:function(t){return 0!==parseInt(t,10)},is:function(t){return t===!0||t===!1},pattern:/0|1/},date:{encode:function(t){return this.is(t)?[t.getFullYear(),("0"+(t.getMonth()+1)).slice(-2),("0"+t.getDate()).slice(-2)].join("-"):e},decode:function(t){if(this.is(t))return t;var n=this.capture.exec(t);return n?new Date(n[1],n[2]-1,n[3]):e},is:function(t){return t instanceof Date&&!isNaN(t.valueOf())},equals:function(t,n){return this.is(t)&&this.is(n)&&t.toISOString()===n.toISOString()},pattern:/[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])/,capture:/([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])/},json:{encode:n.toJson,decode:n.fromJson,is:n.isObject,equals:n.equals,pattern:/[^\/]*/},any:{encode:n.identity,decode:n.identity,equals:n.equals,pattern:/.*/}};$.$$getDefaultValue=function(t){if(!s(t.value))return t.value;if(!f)throw new Error("Injectable functions cannot be called at configuration time");return f.invoke(t.value)},this.caseInsensitive=function(t){return L(t)&&(h=t),h},this.strictMode=function(t){return L(t)&&(v=t),v},this.defaultSquashPolicy=function(t){if(!L(t))return g;if(t!==!0&&t!==!1&&!N(t))throw new Error("Invalid squash policy: "+t+". Valid policies: false, true, arbitrary-string");return g=t,t},this.compile=function(t,n){return new m(t,I(o(),n))},this.isMatcher=function(t){if(!R(t))return!1;var n=!0;return F(m.prototype,function(e,r){j(e)&&(n=n&&L(t[r])&&j(t[r]))}),n},this.type=function(t,n,e){if(!L(n))return x[t];if(x.hasOwnProperty(t))throw new Error("A type named '"+t+"' has already been defined.");return x[t]=new y(I({name:t},n)),e&&(w.push({name:t,def:e}),b||l()),this},F(C,function(t,n){x[n]=new y(I({name:n},t))}),x=r(x,{}),this.$get=["$injector",function(t){return f=t,b=!1,l(),F(C,function(t,n){x[n]||(x[n]=new y(t))}),this}],this.Param=function(t,n,r,i){function o(t){var n=R(t)?a(t):[],e=-1===u(n,"value")&&-1===u(n,"type")&&-1===u(n,"squash")&&-1===u(n,"array");return e&&(t={value:t}),t.$$fn=s(t.value)?t.value:function(){return t.value},t}function l(n,e,r){if(n.type&&e)throw new Error("Param '"+t+"' has two type configurations.");return e?e:n.type?n.type instanceof y?n.type:new y(n.type):"config"===r?x.any:x.string}function c(){var n={array:"search"===i?"auto":!1},e=t.match(/\[\]$/)?{array:!0}:{};return I(n,e,r).array}function h(t,n){var e=t.squash;if(!n||e===!1)return!1;if(!L(e)||null==e)return g;if(e===!0||N(e))return e;throw new Error("Invalid squash policy: '"+e+"'. Valid policies: false, true, or arbitrary string")}function v(t,n,r,i){var o,a,s=[{from:"",to:r||n?e:""},{from:null,to:r||n?e:""}];return o=D(t.replace)?t.replace:[],N(i)&&o.push({from:i,to:e}),a=d(o,function(t){return t.from}),p(s,function(t){return-1===u(a,t.from)}).concat(o)}function m(){if(!f)throw new Error("Injectable functions cannot be called at configuration time");var t=f.invoke(r.$$fn);if(null!==t&&t!==e&&!w.type.is(t))throw new Error("Default value ("+t+") for parameter '"+w.id+"' is not an instance of Type ("+w.type.name+")");return t}function $(t){function n(t){return function(n){return n.from===t}}function e(t){var e=d(p(w.replace,n(t)),function(t){return t.to});return e.length?e[0]:t}return t=e(t),L(t)?w.type.$normalize(t):m()}function b(){return"{Param:"+t+" "+n+" squash: '"+_+"' optional: "+S+"}"}var w=this;r=o(r),n=l(r,n,i);var C=c();n=C?n.$asArray(C,"search"===i):n,"string"!==n.name||C||"path"!==i||r.value!==e||(r.value="");var S=r.value!==e,_=h(r,S),M=v(r,C,S,_);I(this,{id:t,type:n,location:i,array:C,squash:_,replace:M,isOptional:S,value:$,dynamic:e,config:r,toString:b})},c.prototype={$$new:function(){return r(this,I(new c,{$$parent:this}))},$$keys:function(){for(var t=[],n=[],e=this,r=a(c.prototype);e;)n.push(e),e=e.$$parent;return n.reverse(),F(n,function(n){F(a(n),function(n){-1===u(t,n)&&-1===u(r,n)&&t.push(n)})}),t},$$values:function(t){var n={},e=this;return F(e.$$keys(),function(r){n[r]=e[r].value(t&&t[r])}),n},$$equals:function(t,n){var e=!0,r=this;return F(r.$$keys(),function(i){var o=t&&t[i],a=n&&n[i];r[i].type.equals(o,a)||(e=!1)}),e},$$validates:function(t){var r,i,o,a,u,s=this.$$keys();for(r=0;r<s.length&&(i=this[s[r]],o=t[s[r]],o!==e&&null!==o||!i.isOptional);r++){if(a=i.type.$normalize(o),!i.type.is(a))return!1;if(u=i.type.encode(a),n.isString(u)&&!i.type.pattern.exec(u))return!1}return!0},$$parent:e},this.ParamSet=c}function x(t,r){function i(t){var n=/^\^((?:\\[^a-zA-Z0-9]|[^\\\[\]\^$*+?.()|{}]+)*)/.exec(t.source);return null!=n?n[1].replace(/\\(.)/g,"$1"):""}function o(t,n){return t.replace(/\$(\$|\d{1,2})/,function(t,e){return n["$"===e?0:Number(e)]})}function a(t,n,e){if(!e)return!1;var r=t.invoke(n,n,{$match:e});return L(r)?r:!0}function u(r,i,o,a){function u(t,n,e){return"/"===v?t:n?v.slice(0,-1)+t:e?v.slice(1)+t:t}function h(t){function n(t){var n=t(o,r);return n?(N(n)&&r.replace().url(n),!0):!1}if(!t||!t.defaultPrevented){d&&r.url()===d;d=e;var i,a=l.length;for(i=0;a>i;i++)if(n(l[i]))return;c&&n(c)}}function p(){return s=s||i.$on("$locationChangeSuccess",h)}var d,v=a.baseHref(),g=r.url();return f||p(),{sync:function(){h()},listen:function(){return p()},update:function(t){return t?void(g=r.url()):void(r.url()!==g&&(r.url(g),r.replace()))},push:function(t,n,i){var o=t.format(n||{});null!==o&&n&&n["#"]&&(o+="#"+n["#"]),r.url(o),d=i&&i.$$avoidResync?r.url():e,i&&i.replace&&r.replace()},href:function(e,i,o){if(!e.validates(i))return null;var a=t.html5Mode();n.isObject(a)&&(a=a.enabled);var s=e.format(i);if(o=o||{},a||null===s||(s="#"+t.hashPrefix()+s),null!==s&&i&&i["#"]&&(s+="#"+i["#"]),s=u(s,a,o.absolute),!o.absolute||!s)return s;var l=!a&&s?"/":"",c=r.port();return c=80===c||443===c?"":":"+c,[r.protocol(),"://",r.host(),c,l,s].join("")}}}var s,l=[],c=null,f=!1;this.rule=function(t){if(!j(t))throw new Error("'rule' must be a function");return l.push(t),this},this.otherwise=function(t){if(N(t)){var n=t;t=function(){return n}}else if(!j(t))throw new Error("'rule' must be a function");return c=t,this},this.when=function(t,n){var e,u=N(n);if(N(t)&&(t=r.compile(t)),!u&&!j(n)&&!D(n))throw new Error("invalid 'handler' in when()");var s={matcher:function(t,n){return u&&(e=r.compile(n),n=["$match",function(t){return e.format(t)}]),I(function(e,r){return a(e,n,t.exec(r.path(),r.search()))},{prefix:N(t.prefix)?t.prefix:""})},regex:function(t,n){if(t.global||t.sticky)throw new Error("when() RegExp must not be global or sticky");return u&&(e=n,n=["$match",function(t){return o(e,t)}]),I(function(e,r){return a(e,n,t.exec(r.path()))},{prefix:i(t)})}},l={matcher:r.isMatcher(t),regex:t instanceof RegExp};for(var c in l)if(l[c])return this.rule(s[c](t,n));throw new Error("invalid 'what' in when()")},this.deferIntercept=function(t){t===e&&(t=!0),f=t},this.$get=u,u.$inject=["$location","$rootScope","$injector","$browser"]}function b(t,i){function o(t){return 0===t.indexOf(".")||0===t.indexOf("^")}function h(t,n){if(!t)return e;var r=N(t),i=r?t:t.name,a=o(i);if(a){if(!n)throw new Error("No reference point given for path '"+i+"'");n=h(n);for(var u=i.split("."),s=0,l=u.length,c=n;l>s;s++)if(""!==u[s]||0!==s){if("^"!==u[s])break;if(!c.parent)throw new Error("Path '"+i+"' not valid for state '"+n.name+"'");c=c.parent}else c=n;u=u.slice(s).join("."),i=c.name+(c.name&&u?".":"")+u}var f=_[i];return!f||!r&&(r||f!==t&&f.self!==t)?e:f}function p(t,n){M[t]||(M[t]=[]),M[t].push(n)}function v(t){for(var n=M[t]||[];n.length;)g(n.shift())}function g(n){n=r(n,{self:n,resolve:n.resolve||{},toString:function(){return this.name}});var e=n.name;if(!N(e)||e.indexOf("@")>=0)throw new Error("State must have a valid name");if(_.hasOwnProperty(e))throw new Error("State '"+e+"'' is already defined");var i=-1!==e.indexOf(".")?e.substring(0,e.lastIndexOf(".")):N(n.parent)?n.parent:R(n.parent)&&N(n.parent.name)?n.parent.name:"";if(i&&!_[i])return p(i,n.self);for(var o in A)j(A[o])&&(n[o]=A[o](n,A.$delegates[o]));return _[e]=n,!n[k]&&n.url&&t.when(n.url,["$match","$stateParams",function(t,e){S.$current.navigable==n&&l(t,e)||S.transitionTo(n,t,{inherit:!0,location:!1})}]),v(e),n}function m(t){return t.indexOf("*")>-1}function y(t){for(var n=t.split("."),e=S.$current.name.split("."),r=0,i=n.length;i>r;r++)"*"===n[r]&&(e[r]="*");return"**"===n[0]&&(e=e.slice(u(e,n[1])),e.unshift("**")),"**"===n[n.length-1]&&(e.splice(u(e,n[n.length-2])+1,Number.MAX_VALUE),e.push("**")),n.length!=e.length?!1:e.join("")===n.join("")}function $(t,n){return N(t)&&!L(n)?A[t]:j(n)&&N(t)?(A[t]&&!A.$delegates[t]&&(A.$delegates[t]=A[t]),A[t]=n,this):this}function x(t,n){return R(t)?n=t:n.name=t,g(n),this}function b(t,i,o,u,f,p,v,g,$){function x(n,e,r,o){var a=t.$broadcast("$stateNotFound",n,e,r);if(a.defaultPrevented)return v.update(),E;if(!a.retry)return null;if(o.$retry)return v.update(),P;var u=S.transition=i.when(a.retry);return u.then(function(){return u!==S.transition?M:(n.options.$retry=!0,S.transitionTo(n.to,n.toParams,n.options))},function(){return E}),v.update(),u}function b(t,e,r,a,s,l){function h(){var e=[];return F(t.views,function(r,i){var a=r.resolve&&r.resolve!==t.resolve?r.resolve:{};a.$template=[function(){return o.load(i,{view:r,locals:s.globals,params:p,notify:l.notify})||""}],e.push(f.resolve(a,s.globals,s.resolve,t).then(function(e){if(j(r.controllerProvider)||D(r.controllerProvider)){var o=n.extend({},a,s.globals);e.$$controller=u.invoke(r.controllerProvider,null,o)}else e.$$controller=r.controller;e.$$state=t,e.$$controllerAs=r.controllerAs,s[i]=e}))}),i.all(e).then(function(){return s.globals})}var p=r?e:c(t.params.$$keys(),e),d={$stateParams:p};s.resolve=f.resolve(t.resolve,d,s.resolve,t);var v=[s.resolve.then(function(t){s.globals=t})];return a&&v.push(a),i.all(v).then(h).then(function(t){return s})}var M=i.reject(new Error("transition superseded")),A=i.reject(new Error("transition prevented")),E=i.reject(new Error("transition aborted")),P=i.reject(new Error("transition failed"));return C.locals={resolve:null,globals:{$stateParams:{}}},S={params:{},current:C.self,$current:C,transition:null},S.reload=function(t){return S.transitionTo(S.current,p,{reload:t||!0,inherit:!1,notify:!0})},S.go=function(t,n,e){return S.transitionTo(t,n,I({inherit:!0,relative:S.$current},e))},S.transitionTo=function(n,e,o){e=e||{},o=I({location:!0,inherit:!1,relative:null,notify:!0,reload:!1,$retry:!1},o||{});var a,l=S.$current,f=S.params,d=l.path,g=h(n,o.relative),m=e["#"];if(!L(g)){var y={to:n,toParams:e,options:o},$=x(y,l.self,f,o);if($)return $;if(n=y.to,e=y.toParams,o=y.options,g=h(n,o.relative),!L(g)){if(!o.relative)throw new Error("No such state '"+n+"'");throw new Error("Could not resolve '"+n+"' from state '"+o.relative+"'")}}if(g[k])throw new Error("Cannot transition to abstract state '"+n+"'");if(o.inherit&&(e=s(p,e||{},S.$current,g)),!g.params.$$validates(e))return P;e=g.params.$$values(e),n=g;var _=n.path,E=0,O=_[E],T=C.locals,j=[];if(o.reload){if(N(o.reload)||R(o.reload)){if(R(o.reload)&&!o.reload.name)throw new Error("Invalid reload state object");var D=o.reload===!0?d[0]:h(o.reload);if(o.reload&&!D)throw new Error("No such reload state '"+(N(o.reload)?o.reload:o.reload.name)+"'");for(;O&&O===d[E]&&O!==D;)T=j[E]=O.locals,E++,O=_[E]}}else for(;O&&O===d[E]&&O.ownParams.$$equals(e,f);)T=j[E]=O.locals,E++,O=_[E];if(w(n,e,l,f,T,o))return m&&(e["#"]=m),S.params=e,z(S.params,p),o.location&&n.navigable&&n.navigable.url&&(v.push(n.navigable.url,e,{$$avoidResync:!0,replace:"replace"===o.location}),v.update(!0)),S.transition=null,i.when(S.current);if(e=c(n.params.$$keys(),e||{}),o.notify&&t.$broadcast("$stateChangeStart",n.self,e,l.self,f).defaultPrevented)return t.$broadcast("$stateChangeCancel",n.self,e,l.self,f),v.update(),A;for(var F=i.when(T),q=E;q<_.length;q++,O=_[q])T=j[q]=r(T),F=b(O,e,O===n,F,T,o);var V=S.transition=F.then(function(){var r,i,a;if(S.transition!==V)return M;for(r=d.length-1;r>=E;r--)a=d[r],a.self.onExit&&u.invoke(a.self.onExit,a.self,a.locals.globals),a.locals=null;for(r=E;r<_.length;r++)i=_[r],i.locals=j[r],i.self.onEnter&&u.invoke(i.self.onEnter,i.self,i.locals.globals);return m&&(e["#"]=m),S.transition!==V?M:(S.$current=n,S.current=n.self,S.params=e,z(S.params,p),S.transition=null,o.location&&n.navigable&&v.push(n.navigable.url,n.navigable.locals.globals.$stateParams,{$$avoidResync:!0,replace:"replace"===o.location}),o.notify&&t.$broadcast("$stateChangeSuccess",n.self,e,l.self,f),v.update(!0),S.current)},function(r){return S.transition!==V?M:(S.transition=null,a=t.$broadcast("$stateChangeError",n.self,e,l.self,f,r),a.defaultPrevented||v.update(),i.reject(r))});return V},S.is=function(t,n,r){r=I({relative:S.$current},r||{});var i=h(t,r.relative);return L(i)?S.$current!==i?!1:n?l(i.params.$$values(n),p):!0:e},S.includes=function(t,n,r){if(r=I({relative:S.$current},r||{}),N(t)&&m(t)){if(!y(t))return!1;t=S.$current.name}var i=h(t,r.relative);return L(i)?L(S.$current.includes[i.name])?n?l(i.params.$$values(n),p,a(n)):!0:!1:e},S.href=function(t,n,r){r=I({lossy:!0,inherit:!0,absolute:!1,relative:S.$current},r||{});var i=h(t,r.relative);if(!L(i))return null;r.inherit&&(n=s(p,n||{},S.$current,i));var o=i&&r.lossy?i.navigable:i;return o&&o.url!==e&&null!==o.url?v.href(o.url,c(i.params.$$keys().concat("#"),n||{}),{absolute:r.absolute}):null},S.get=function(t,n){if(0===arguments.length)return d(a(_),function(t){return _[t].self});var e=h(t,n||S.$current);return e&&e.self?e.self:null},S}function w(t,n,e,r,i,o){function a(t,n,e){function r(n){return"search"!=t.params[n].location}var i=t.params.$$keys().filter(r),o=f.apply({},[t.params].concat(i)),a=new q.ParamSet(o);return a.$$equals(n,e)}return!o.reload&&t===e&&(i===e.locals||t.self.reloadOnSearch===!1&&a(e,r,n))?!0:void 0}var C,S,_={},M={},k="abstract",A={parent:function(t){if(L(t.parent)&&t.parent)return h(t.parent);var n=/^(.+)\.[^.]+$/.exec(t.name);return n?h(n[1]):C},data:function(t){return t.parent&&t.parent.data&&(t.data=t.self.data=I({},t.parent.data,t.data)),t.data},url:function(t){var n=t.url,e={params:t.params||{}};if(N(n))return"^"==n.charAt(0)?i.compile(n.substring(1),e):(t.parent.navigable||C).url.concat(n,e);if(!n||i.isMatcher(n))return n;throw new Error("Invalid url '"+n+"' in state '"+t+"'")},navigable:function(t){return t.url?t:t.parent?t.parent.navigable:null},ownParams:function(t){var n=t.url&&t.url.params||new q.ParamSet;return F(t.params||{},function(t,e){n[e]||(n[e]=new q.Param(e,null,t,"config"))}),n},params:function(t){return t.parent&&t.parent.params?I(t.parent.params.$$new(),t.ownParams):new q.ParamSet},views:function(t){var n={};return F(L(t.views)?t.views:{"":t},function(e,r){r.indexOf("@")<0&&(r+="@"+t.parent.name),n[r]=e}),n},path:function(t){return t.parent?t.parent.path.concat(t):[]},includes:function(t){var n=t.parent?I({},t.parent.includes):{};return n[t.name]=!0,n},$delegates:{}};C=g({name:"",url:"^",views:null,"abstract":!0}),C.navigable=null,this.decorator=$,this.state=x,this.$get=b,b.$inject=["$rootScope","$q","$view","$injector","$resolve","$stateParams","$urlRouter","$location","$urlMatcherFactory"]}function w(){function t(t,n){return{load:function(e,r){var i,o={template:null,controller:null,view:null,locals:null,notify:!0,async:!0,params:{}};return r=I(o,r),r.view&&(i=n.fromConfig(r.view,r.params,r.locals)),i&&r.notify&&t.$broadcast("$viewContentLoading",r),i}}}this.$get=t,t.$inject=["$rootScope","$templateFactory"]}function C(){var t=!1;this.useAnchorScroll=function(){t=!0},this.$get=["$anchorScroll","$timeout",function(n,e){return t?n:function(t){return e(function(){t[0].scrollIntoView()},0,!1)}}]}function S(t,e,r,i){function o(){return e.has?function(t){return e.has(t)?e.get(t):null}:function(t){try{return e.get(t)}catch(n){return null}}}function a(t,n){var e=function(){return{enter:function(t,n,e){n.after(t),e()},leave:function(t,n){t.remove(),n()}}};if(l)return{enter:function(t,n,e){var r=l.enter(t,null,n,e);r&&r.then&&r.then(e)},leave:function(t,n){var e=l.leave(t,n);e&&e.then&&e.then(n)}};if(s){var r=s&&s(n,t);return{enter:function(t,n,e){r.enter(t,null,n),e()},leave:function(t,n){r.leave(t),n()}}}return e()}var u=o(),s=u("$animator"),l=u("$animate"),c={restrict:"ECA",terminal:!0,priority:400,transclude:"element",compile:function(e,o,u){return function(e,o,s){function l(){f&&(f.remove(),f=null),p&&(p.$destroy(),p=null),h&&(m.leave(h,function(){f=null}),f=h,h=null)}function c(a){var c,f=M(e,s,o,i),y=f&&t.$current&&t.$current.locals[f];if(a||y!==d){c=e.$new(),d=t.$current.locals[f];var $=u(c,function(t){m.enter(t,o,function(){p&&p.$emit("$viewContentAnimationEnded"),(n.isDefined(g)&&!g||e.$eval(g))&&r(t)}),l()});h=$,p=c,p.$emit("$viewContentLoaded"),p.$eval(v)}}var f,h,p,d,v=s.onload||"",g=s.autoscroll,m=a(s,e);e.$on("$stateChangeSuccess",function(){c(!1)}),e.$on("$viewContentLoading",function(){c(!1)}),c(!0)}}};return c}function _(t,n,e,r){return{restrict:"ECA",priority:-400,compile:function(i){var o=i.html();return function(i,a,u){var s=e.$current,l=M(i,u,a,r),c=s&&s.locals[l];if(c){a.data("$uiView",{name:l,state:c.$$state}),a.html(c.$template?c.$template:o);var f=t(a.contents());if(c.$$controller){c.$scope=i,c.$element=a;var h=n(c.$$controller,c);c.$$controllerAs&&(i[c.$$controllerAs]=h),a.data("$ngControllerController",h),a.children().data("$ngControllerController",h)}f(i)}}}}}function M(t,n,e,r){var i=r(n.uiView||n.name||"")(t),o=e.inheritedData("$uiView");return i.indexOf("@")>=0?i:i+"@"+(o?o.state.name:"")}function k(t,n){var e,r=t.match(/^\s*({[^}]*})\s*$/);if(r&&(t=n+"("+r[1]+")"),e=t.replace(/\n/g," ").match(/^([^(]+?)\s*(\((.*)\))?$/),!e||4!==e.length)throw new Error("Invalid state ref '"+t+"'");return{state:e[1],paramExpr:e[3]||null}}function A(t){var n=t.parent().inheritedData("$uiView");return n&&n.state&&n.state.name?n.state:void 0}function E(t,e){var r=["location","inherit","reload","absolute"];return{restrict:"A",require:["?^uiSrefActive","?^uiSrefActiveEq"],link:function(i,o,a,u){var s=k(a.uiSref,t.current.name),l=null,c=A(o)||t.$current,f="[object SVGAnimatedString]"===Object.prototype.toString.call(o.prop("href"))?"xlink:href":"href",h=null,p="A"===o.prop("tagName").toUpperCase(),d="FORM"===o[0].nodeName,v=d?"action":f,g=!0,m={relative:c,inherit:!0},y=i.$eval(a.uiSrefOpts)||{};n.forEach(r,function(t){t in y&&(m[t]=y[t])});var $=function(e){if(e&&(l=n.copy(e)),g){h=t.href(s.state,l,m);var r=u[1]||u[0];return r&&r.$$addStateInfo(s.state,l),null===h?(g=!1,!1):void a.$set(v,h)}};s.paramExpr&&(i.$watch(s.paramExpr,function(t,n){t!==l&&$(t)},!0),l=n.copy(i.$eval(s.paramExpr))),$(),d||o.bind("click",function(n){var r=n.which||n.button;if(!(r>1||n.ctrlKey||n.metaKey||n.shiftKey||o.attr("target"))){var i=e(function(){t.go(s.state,l,m)});n.preventDefault();var a=p&&!h?1:0;n.preventDefault=function(){a--<=0&&e.cancel(i)}}})}}}function P(t,n,e){return{restrict:"A",controller:["$scope","$element","$attrs",function(n,r,i){function o(){a()?r.addClass(s):r.removeClass(s)}function a(){for(var t=0;t<l.length;t++)if(u(l[t].state,l[t].params))return!0;return!1}function u(n,e){return"undefined"!=typeof i.uiSrefActiveEq?t.is(n.name,e):t.includes(n.name,e)}var s,l=[];s=e(i.uiSrefActiveEq||i.uiSrefActive||"",!1)(n),this.$$addStateInfo=function(n,e){var i=t.get(n,A(r));l.push({state:i||{name:n},params:e}),o()},n.$on("$stateChangeSuccess",o)}]}}function O(t){var n=function(n){return t.is(n)};return n.$stateful=!0,n}function T(t){var n=function(n){return t.includes(n)};return n.$stateful=!0,n}var L=n.isDefined,j=n.isFunction,N=n.isString,R=n.isObject,D=n.isArray,F=n.forEach,I=n.extend,z=n.copy;n.module("ui.router.util",["ng"]),n.module("ui.router.router",["ui.router.util"]),n.module("ui.router.state",["ui.router.router","ui.router.util"]),n.module("ui.router",["ui.router.state"]),n.module("ui.router.compat",["ui.router"]),v.$inject=["$q","$injector"],n.module("ui.router.util").service("$resolve",v),g.$inject=["$http","$templateCache","$injector"],n.module("ui.router.util").service("$templateFactory",g);var q;m.prototype.concat=function(t,n){var e={caseInsensitive:q.caseInsensitive(),strict:q.strictMode(),squash:q.defaultSquashPolicy()};return new m(this.sourcePath+t+this.sourceSearch,I(e,n),this)},m.prototype.toString=function(){return this.source},m.prototype.exec=function(t,n){function e(t){function n(t){return t.split("").reverse().join("")}function e(t){return t.replace(/\\-/g,"-")}var r=n(t).split(/-(?!\\)/),i=d(r,n);return d(i,e).reverse()}var r=this.regexp.exec(t);if(!r)return null;n=n||{};var i,o,a,u=this.parameters(),s=u.length,l=this.segments.length-1,c={};if(l!==r.length-1)throw new Error("Unbalanced capture group in route '"+this.source+"'");for(i=0;l>i;i++){a=u[i];var f=this.params[a],h=r[i+1];for(o=0;o<f.replace;o++)f.replace[o].from===h&&(h=f.replace[o].to);h&&f.array===!0&&(h=e(h)),c[a]=f.value(h)}for(;s>i;i++)a=u[i],c[a]=this.params[a].value(n[a]);return c},m.prototype.parameters=function(t){return L(t)?this.params[t]||null:this.$$paramNames},m.prototype.validates=function(t){return this.params.$$validates(t)},m.prototype.format=function(t){function n(t){return encodeURIComponent(t).replace(/-/g,function(t){return"%5C%"+t.charCodeAt(0).toString(16).toUpperCase()})}t=t||{};var e=this.segments,r=this.parameters(),i=this.params;if(!this.validates(t))return null;var o,a=!1,u=e.length-1,s=r.length,l=e[0];for(o=0;s>o;o++){var c=u>o,f=r[o],h=i[f],p=h.value(t[f]),v=h.isOptional&&h.type.equals(h.value(),p),g=v?h.squash:!1,m=h.type.encode(p);if(c){var y=e[o+1];if(g===!1)null!=m&&(l+=D(m)?d(m,n).join("-"):encodeURIComponent(m)),l+=y;else if(g===!0){var $=l.match(/\/$/)?/\/?(.*)/:/(.*)/;l+=y.match($)[1]}else N(g)&&(l+=g+y)}else{if(null==m||v&&g!==!1)continue;D(m)||(m=[m]),m=d(m,encodeURIComponent).join("&"+f+"="),l+=(a?"&":"?")+(f+"="+m),a=!0}}return l},y.prototype.is=function(t,n){return!0},y.prototype.encode=function(t,n){return t},y.prototype.decode=function(t,n){return t},y.prototype.equals=function(t,n){return t==n},y.prototype.$subPattern=function(){var t=this.pattern.toString();return t.substr(1,t.length-2)},y.prototype.pattern=/.*/,y.prototype.toString=function(){return"{Type:"+this.name+"}"},y.prototype.$normalize=function(t){return this.is(t)?t:this.decode(t)},y.prototype.$asArray=function(t,n){function r(t,n){function r(t,n){return function(){return t[n].apply(t,arguments)}}function i(t){return D(t)?t:L(t)?[t]:[]}function o(t){switch(t.length){case 0:return e;case 1:return"auto"===n?t[0]:t;default:return t}}function a(t){return!t}function u(t,n){return function(e){e=i(e);var r=d(e,t);return n===!0?0===p(r,a).length:o(r)}}function s(t){return function(n,e){var r=i(n),o=i(e);if(r.length!==o.length)return!1;for(var a=0;a<r.length;a++)if(!t(r[a],o[a]))return!1;return!0}}this.encode=u(r(t,"encode")),this.decode=u(r(t,"decode")),this.is=u(r(t,"is"),!0),this.equals=s(r(t,"equals")),this.pattern=t.pattern,this.$normalize=u(r(t,"$normalize")),this.name=t.name,this.$arrayMode=n}if(!t)return this;if("auto"===t&&!n)throw new Error("'auto' array mode is for query parameters only");return new r(this,t)},n.module("ui.router.util").provider("$urlMatcherFactory",$),n.module("ui.router.util").run(["$urlMatcherFactory",function(t){}]),x.$inject=["$locationProvider","$urlMatcherFactoryProvider"],n.module("ui.router.router").provider("$urlRouter",x),b.$inject=["$urlRouterProvider","$urlMatcherFactoryProvider"],n.module("ui.router.state").value("$stateParams",{}).provider("$state",b),w.$inject=[],n.module("ui.router.state").provider("$view",w),n.module("ui.router.state").provider("$uiViewScroll",C),S.$inject=["$state","$injector","$uiViewScroll","$interpolate"],_.$inject=["$compile","$controller","$state","$interpolate"],n.module("ui.router.state").directive("uiView",S),n.module("ui.router.state").directive("uiView",_),E.$inject=["$state","$timeout"],P.$inject=["$state","$stateParams","$interpolate"],n.module("ui.router.state").directive("uiSref",E).directive("uiSrefActive",P).directive("uiSrefActiveEq",P),O.$inject=["$state"],T.$inject=["$state"],n.module("ui.router.state").filter("isState",O).filter("includedByState",T)}(window,window.angular),function(t,n,e){"use strict";function r(t){return null!=t&&""!==t&&"hasOwnProperty"!==t&&u.test("."+t)}function i(t,i){if(!r(i))throw a("badmember",'Dotted member path "@{0}" is invalid.',i);for(var o=i.split("."),u=0,s=o.length;s>u&&n.isDefined(t);u++){var l=o[u];t=null!==t?t[l]:e}return t}function o(t,e){e=e||{},n.forEach(e,function(t,n){delete e[n]});for(var r in t)!t.hasOwnProperty(r)||"$"===r.charAt(0)&&"$"===r.charAt(1)||(e[r]=t[r]);return e}var a=n.$$minErr("$resource"),u=/^(\.[a-zA-Z_$@][0-9a-zA-Z_$@]*)+$/;n.module("ngResource",["ng"]).provider("$resource",function(){var t=/^https?:\/\/[^\/]*/,r=this;this.defaults={stripTrailingSlashes:!0,actions:{get:{method:"GET"},save:{method:"POST"},query:{method:"GET",isArray:!0},remove:{method:"DELETE"},"delete":{method:"DELETE"}}},this.$get=["$http","$q",function(u,s){function l(t){return c(t,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function c(t,n){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,n?"%20":"+")}function f(t,n){this.template=t,this.defaults=v({},r.defaults,n),this.urlParams={}}function h(t,l,c,y){function $(t,n){var e={};return n=v({},l,n),d(n,function(n,r){m(n)&&(n=n()),e[r]=n&&n.charAt&&"@"==n.charAt(0)?i(t,n.substr(1)):n}),e}function x(t){return t.resource}function b(t){o(t||{},this)}var w=new f(t,y);return c=v({},r.defaults.actions,c),b.prototype.toJSON=function(){var t=v({},this);return delete t.$promise,delete t.$resolved,t},d(c,function(t,r){var i=/^(POST|PUT|PATCH)$/i.test(t.method);b[r]=function(l,c,f,h){var y,C,S,_={};switch(arguments.length){case 4:S=h,C=f;case 3:case 2:if(!m(c)){_=l,y=c,C=f;break}if(m(l)){C=l,S=c;break}C=c,S=f;case 1:m(l)?C=l:i?y=l:_=l;break;case 0:break;default:throw a("badargs","Expected up to 4 arguments [params, data, success, error], got {0} arguments",arguments.length)}var M=this instanceof b,k=M?y:t.isArray?[]:new b(y),A={},E=t.interceptor&&t.interceptor.response||x,P=t.interceptor&&t.interceptor.responseError||e;d(t,function(t,n){"params"!=n&&"isArray"!=n&&"interceptor"!=n&&(A[n]=g(t))}),i&&(A.data=y),w.setUrlParams(A,v({},$(y,t.params||{}),_),t.url);var O=u(A).then(function(e){var i=e.data,u=k.$promise;if(i){if(n.isArray(i)!==!!t.isArray)throw a("badcfg","Error in resource configuration for action `{0}`. Expected response to contain an {1} but got an {2} (Request: {3} {4})",r,t.isArray?"array":"object",n.isArray(i)?"array":"object",A.method,A.url);t.isArray?(k.length=0,d(i,function(t){"object"==typeof t?k.push(new b(t)):k.push(t)})):(o(i,k),k.$promise=u)}return k.$resolved=!0,e.resource=k,e},function(t){return k.$resolved=!0,(S||p)(t),s.reject(t)});return O=O.then(function(t){var n=E(t);return(C||p)(n,t.headers),n},P),M?O:(k.$promise=O,k.$resolved=!1,k)},b.prototype["$"+r]=function(t,n,e){m(t)&&(e=n,n=t,t={});var i=b[r].call(this,t,this,n,e);return i.$promise||i}}),b.bind=function(n){return h(t,v({},l,n),c)},b}var p=n.noop,d=n.forEach,v=n.extend,g=n.copy,m=n.isFunction;return f.prototype={setUrlParams:function(e,r,i){var o,u,s=this,c=i||s.template,f="",h=s.urlParams={};d(c.split(/\W/),function(t){if("hasOwnProperty"===t)throw a("badname","hasOwnProperty is not a valid parameter name.");!new RegExp("^\\d+$").test(t)&&t&&new RegExp("(^|[^\\\\]):"+t+"(\\W|$)").test(c)&&(h[t]=!0)}),c=c.replace(/\\:/g,":"),c=c.replace(t,function(t){return f=t,""}),r=r||{},d(s.urlParams,function(t,e){o=r.hasOwnProperty(e)?r[e]:s.defaults[e],n.isDefined(o)&&null!==o?(u=l(o),c=c.replace(new RegExp(":"+e+"(\\W|$)","g"),function(t,n){return u+n})):c=c.replace(new RegExp("(/?):"+e+"(\\W|$)","g"),function(t,n,e){return"/"==e.charAt(0)?e:n+e})}),s.defaults.stripTrailingSlashes&&(c=c.replace(/\/+$/,"")||"/"),c=c.replace(/\/\.(?=\w+($|\?))/,"."),e.url=f+c.replace(/\/\\\./,"/."),d(r,function(t,n){s.urlParams[n]||(e.params=e.params||{},e.params[n]=t)})}},h}]})}(window,window.angular),function(t,n,e){"use strict";function r(t,e,r){function i(t,r,i){var a,u;i=i||{},u=i.expires,a=n.isDefined(i.path)?i.path:o,n.isUndefined(r)&&(u="Thu, 01 Jan 1970 00:00:00 GMT",r=""),n.isString(u)&&(u=new Date(u));var s=encodeURIComponent(t)+"="+encodeURIComponent(r);s+=a?";path="+a:"",s+=i.domain?";domain="+i.domain:"",s+=u?";expires="+u.toUTCString():"",s+=i.secure?";secure":"";var l=s.length+1;return l>4096&&e.warn("Cookie '"+t+"' possibly not set or overflowed because it was too large ("+l+" > 4096 bytes)!"),s}var o=r.baseHref(),a=t[0];return function(t,n,e){a.cookie=i(t,n,e)}}n.module("ngCookies",["ng"]).provider("$cookies",[function(){function t(t){return t?n.extend({},r,t):r}var r=this.defaults={};this.$get=["$$cookieReader","$$cookieWriter",function(r,i){return{get:function(t){return r()[t]},getObject:function(t){var e=this.get(t);return e?n.fromJson(e):e},getAll:function(){return r()},put:function(n,e,r){i(n,e,t(r))},putObject:function(t,e,r){this.put(t,n.toJson(e),r)},remove:function(n,r){i(n,e,t(r))}}}]}]),n.module("ngCookies").factory("$cookieStore",["$cookies",function(t){return{get:function(n){return t.getObject(n)},put:function(n,e){t.putObject(n,e)},remove:function(n){t.remove(n)}}}]),r.$inject=["$document","$log","$browser"],n.module("ngCookies").provider("$$cookieWriter",function(){this.$get=r})}(window,window.angular),function(t,n,e){"use strict";function r(t,n,e){if(!t)throw ngMinErr("areq","Argument '{0}' is {1}",n||"?",e||"required");return t}function i(t,n){return t||n?t?n?(V(t)&&(t=t.join(" ")),V(n)&&(n=n.join(" ")),t+" "+n):t:n:""}function o(t){var n={};return t&&(t.to||t.from)&&(n.to=t.to,n.from=t.from),n}function a(t,n,e){var r="";return t=V(t)?t:t&&B(t)&&t.length?t.split(/\s+/):[],q(t,function(t,i){t&&t.length>0&&(r+=i>0?" ":"",r+=e?n+t:t+n)}),r}function u(t,n){var e=t.indexOf(n);n>=0&&t.splice(e,1)}function s(t){if(t instanceof z)switch(t.length){
+case 0:return[];case 1:if(t[0].nodeType===X)return t;break;default:return z(l(t))}return t.nodeType===X?z(t):void 0}function l(t){if(!t[0])return t;for(var n=0;n<t.length;n++){var e=t[n];if(e.nodeType==X)return e}}function c(t,n,e){q(n,function(n){t.addClass(n,e)})}function f(t,n,e){q(n,function(n){t.removeClass(n,e)})}function h(t){return function(n,e){e.addClass&&(c(t,n,e.addClass),e.addClass=null),e.removeClass&&(f(t,n,e.removeClass),e.removeClass=null)}}function p(t){if(t=t||{},!t.$$prepared){var n=t.domOperation||F;t.domOperation=function(){t.$$domOperationFired=!0,n(),n=F},t.$$prepared=!0}return t}function d(t,n){v(t,n),g(t,n)}function v(t,n){n.from&&(t.css(n.from),n.from=null)}function g(t,n){n.to&&(t.css(n.to),n.to=null)}function m(t,n,e){var r=(n.addClass||"")+" "+(e.addClass||""),i=(n.removeClass||"")+" "+(e.removeClass||""),o=y(t.attr("class"),r,i);e.preparationClasses&&(n.preparationClasses=_(e.preparationClasses,n.preparationClasses),delete e.preparationClasses);var a=n.domOperation!==F?n.domOperation:null;return I(n,e),a&&(n.domOperation=a),o.addClass?n.addClass=o.addClass:n.addClass=null,o.removeClass?n.removeClass=o.removeClass:n.removeClass=null,n}function y(t,n,e){function r(t){B(t)&&(t=t.split(" "));var n={};return q(t,function(t){t.length&&(n[t]=!0)}),n}var i=1,o=-1,a={};t=r(t),n=r(n),q(n,function(t,n){a[n]=i}),e=r(e),q(e,function(t,n){a[n]=a[n]===i?null:o});var u={addClass:"",removeClass:""};return q(a,function(n,e){var r,a;n===i?(r="addClass",a=!t[e]):n===o&&(r="removeClass",a=t[e]),a&&(u[r].length&&(u[r]+=" "),u[r]+=e)}),u}function $(t){return t instanceof n.element?t[0]:t}function x(t,n,e){var r="";n&&(r=a(n,K,!0)),e.addClass&&(r=_(r,a(e.addClass,Z))),e.removeClass&&(r=_(r,a(e.removeClass,J))),r.length&&(e.preparationClasses=r,t.addClass(r))}function b(t,n){n.preparationClasses&&(t.removeClass(n.preparationClasses),n.preparationClasses=null),n.activeClasses&&(t.removeClass(n.activeClasses),n.activeClasses=null)}function w(t,n){var e=n?"-"+n+"s":"";return S(t,[ht,e]),[ht,e]}function C(t,n){var e=n?"paused":"",r=R+st;return S(t,[r,e]),[r,e]}function S(t,n){var e=n[0],r=n[1];t.style[e]=r}function _(t,n){return t?n?t+" "+n:t:n}function M(t){return[ft,t+"s"]}function k(t,n){var e=n?ct:ht;return[e,t+"s"]}function A(t,n,e){var r=Object.create(null),i=t.getComputedStyle(n)||{};return q(e,function(t,n){var e=i[t];if(e){var o=e.charAt(0);("-"===o||"+"===o||o>=0)&&(e=E(e)),0===e&&(e=null),r[n]=e}}),r}function E(t){var n=0,e=t.split(/\s*,\s*/);return q(e,function(t){"s"==t.charAt(t.length-1)&&(t=t.substring(0,t.length-1)),t=parseFloat(t)||0,n=n?Math.max(t,n):t}),n}function P(t){return 0===t||null!=t}function O(t,n){var e=j,r=t+"s";return n?e+=rt:r+=" linear all",[e,r]}function T(){var t=Object.create(null);return{flush:function(){t=Object.create(null)},count:function(n){var e=t[n];return e?e.total:0},get:function(n){var e=t[n];return e&&e.value},put:function(n,e){t[n]?t[n].total++:t[n]={total:1,value:e}}}}function L(t,n,e){q(e,function(e){t[e]=H(t[e])?t[e]:n.style.getPropertyValue(e)})}var j,N,R,D,F=n.noop,I=n.extend,z=n.element,q=n.forEach,V=n.isArray,B=n.isString,W=n.isObject,U=n.isUndefined,H=n.isDefined,Y=n.isFunction,G=n.isElement,X=1,Z="-add",J="-remove",K="ng-",Q="-active",tt="ng-animate",nt="$$ngAnimateChildren",et="";U(t.ontransitionend)&&H(t.onwebkittransitionend)?(et="-webkit-",j="WebkitTransition",N="webkitTransitionEnd transitionend"):(j="transition",N="transitionend"),U(t.onanimationend)&&H(t.onwebkitanimationend)?(et="-webkit-",R="WebkitAnimation",D="webkitAnimationEnd animationend"):(R="animation",D="animationend");var rt="Duration",it="Property",ot="Delay",at="TimingFunction",ut="IterationCount",st="PlayState",lt=9999,ct=R+ot,ft=R+rt,ht=j+ot,pt=j+rt,dt=["$$rAF",function(t){function n(t){r=r.concat(t),e()}function e(){if(r.length){for(var n=r.shift(),o=0;o<n.length;o++)n[o]();i||t(function(){i||e()})}}var r,i;return r=n.queue=[],n.waitUntilQuiet=function(n){i&&i(),i=t(function(){i=null,n(),e()})},n}],vt=[function(){return function(t,e,r){var i=r.ngAnimateChildren;n.isString(i)&&0===i.length?e.data(nt,!0):r.$observe("ngAnimateChildren",function(t){t="on"===t||"true"===t,e.data(nt,t)})}}],gt="$$animateCss",mt=1e3,yt=3,$t=1.5,xt={transitionDuration:pt,transitionDelay:ht,transitionProperty:j+it,animationDuration:ft,animationDelay:ct,animationIterationCount:R+ut},bt={transitionDuration:pt,transitionDelay:ht,animationDuration:ft,animationDelay:ct},wt=["$animateProvider",function(t){var n=T(),e=T();this.$get=["$window","$$jqLite","$$AnimateRunner","$timeout","$$forceReflow","$sniffer","$$rAFScheduler","$animate",function(t,r,i,s,l,c,f,m){function y(t,n){var e="$$ngAnimateParentKey",r=t.parentNode,i=r[e]||(r[e]=++I);return i+"-"+t.getAttribute("class")+"-"+n}function x(e,r,i,o){var a=n.get(i);return a||(a=A(t,e,o),"infinite"===a.animationIterationCount&&(a.animationIterationCount=1)),n.put(i,a),a}function b(i,o,u,s){var l;if(n.count(u)>0&&(l=e.get(u),!l)){var c=a(o,"-stagger");r.addClass(i,c),l=A(t,i,s),l.animationDuration=Math.max(l.animationDuration,0),l.transitionDuration=Math.max(l.transitionDuration,0),r.removeClass(i,c),e.put(u,l)}return l||{}}function _(t){z.push(t),f.waitUntilQuiet(function(){n.flush(),e.flush();for(var t=l(),r=0;r<z.length;r++)z[r](t);z.length=0})}function E(t,n,e){var r=x(t,n,e,xt),i=r.animationDelay,o=r.transitionDelay;return r.maxDelay=i&&o?Math.max(i,o):i||o,r.maxDuration=Math.max(r.animationDuration*r.animationIterationCount,r.transitionDuration),r}var T=h(r),I=0,z=[];return function(t,e){function l(){h()}function f(){h(!0)}function h(n){W||H&&U||(W=!0,U=!1,e.$$skipPreparationClasses||r.removeClass(t,pt),r.removeClass(t,vt),C(B,!1),w(B,!1),q(rt,function(t){B.style[t[0]]=""}),T(t,e),d(t,e),Object.keys(z).length&&q(z,function(t,n){t?B.style.setProperty(n,t):B.style.removeProperty(n)}),e.onDone&&e.onDone(),Y&&Y.complete(!n))}function x(t){jt.blockTransition&&w(B,t),jt.blockKeyframeAnimation&&C(B,!!t)}function A(){return Y=new i({end:l,cancel:f}),_(F),h(),{$$willAnimate:!1,start:function(){return Y},end:l}}function I(){function n(){if(!W){if(x(!1),q(rt,function(t){var n=t[0],e=t[1];B.style[n]=e}),T(t,e),r.addClass(t,vt),jt.recalculateTimingStyles){if(dt=B.className+" "+pt,Ct=y(B,dt),Tt=E(B,dt,Ct),Lt=Tt.maxDelay,X=Math.max(Lt,0),nt=Tt.maxDuration,0===nt)return void h();jt.hasTransitions=Tt.transitionDuration>0,jt.hasAnimations=Tt.animationDuration>0}if(jt.applyAnimationDelay&&(Lt="boolean"!=typeof e.delay&&P(e.delay)?parseFloat(e.delay):Lt,X=Math.max(Lt,0),Tt.animationDelay=Lt,Nt=k(Lt,!0),rt.push(Nt),B.style[Nt[0]]=Nt[1]),tt=X*mt,et=nt*mt,e.easing){var n,u=e.easing;jt.hasTransitions&&(n=j+at,rt.push([n,u]),B.style[n]=u),jt.hasAnimations&&(n=R+at,rt.push([n,u]),B.style[n]=u)}Tt.transitionDuration&&l.push(N),Tt.animationDuration&&l.push(D),a=Date.now();var c=tt+$t*et,f=a+c,p=t.data(gt)||[],d=!0;if(p.length){var v=p[0];d=f>v.expectedEndTime,d?s.cancel(v.timer):p.push(h)}if(d){var m=s(i,c,!1);p[0]={timer:m,expectedEndTime:f},p.push(h),t.data(gt,p)}t.on(l.join(" "),o),e.to&&(e.cleanupStyles&&L(z,B,Object.keys(e.to)),g(t,e))}}function i(){var n=t.data(gt);if(n){for(var e=1;e<n.length;e++)n[e]();t.removeData(gt)}}function o(t){t.stopPropagation();var n=t.originalEvent||t,e=n.$manualTimeStamp||n.timeStamp||Date.now(),r=parseFloat(n.elapsedTime.toFixed(yt));Math.max(e-a,0)>=tt&&r>=nt&&(H=!0,h())}if(!W){if(!B.parentNode)return void h();var a,l=[],c=function(t){if(H)U&&t&&(U=!1,h());else if(U=!t,Tt.animationDuration){var n=C(B,U);U?rt.push(n):u(rt,n)}},f=Pt>0&&(Tt.transitionDuration&&0===St.transitionDuration||Tt.animationDuration&&0===St.animationDuration)&&Math.max(St.animationDelay,St.transitionDelay);f?s(n,Math.floor(f*Pt*mt),!1):n(),G.resume=function(){c(!0)},G.pause=function(){c(!1)}}}var z={},B=$(t);if(!B||!B.parentNode||!m.enabled())return A();e=p(e);var W,U,H,Y,G,X,tt,nt,et,rt=[],ot=t.attr("class"),ut=o(e);if(0===e.duration||!c.animations&&!c.transitions)return A();var st=e.event&&V(e.event)?e.event.join(" "):e.event,ct=st&&e.structural,ft="",ht="";ct?ft=a(st,K,!0):st&&(ft=st),e.addClass&&(ht+=a(e.addClass,Z)),e.removeClass&&(ht.length&&(ht+=" "),ht+=a(e.removeClass,J)),e.applyClassesEarly&&ht.length&&T(t,e);var pt=[ft,ht].join(" ").trim(),dt=ot+" "+pt,vt=a(pt,Q),xt=ut.to&&Object.keys(ut.to).length>0,wt=(e.keyframeStyle||"").length>0;if(!wt&&!xt&&!pt)return A();var Ct,St;if(e.stagger>0){var _t=parseFloat(e.stagger);St={transitionDelay:_t,animationDelay:_t,transitionDuration:0,animationDuration:0}}else Ct=y(B,dt),St=b(B,pt,Ct,bt);e.$$skipPreparationClasses||r.addClass(t,pt);var Mt;if(e.transitionStyle){var kt=[j,e.transitionStyle];S(B,kt),rt.push(kt)}if(e.duration>=0){Mt=B.style[j].length>0;var At=O(e.duration,Mt);S(B,At),rt.push(At)}if(e.keyframeStyle){var Et=[R,e.keyframeStyle];S(B,Et),rt.push(Et)}var Pt=St?e.staggerIndex>=0?e.staggerIndex:n.count(Ct):0,Ot=0===Pt;Ot&&!e.skipBlocking&&w(B,lt);var Tt=E(B,dt,Ct),Lt=Tt.maxDelay;X=Math.max(Lt,0),nt=Tt.maxDuration;var jt={};if(jt.hasTransitions=Tt.transitionDuration>0,jt.hasAnimations=Tt.animationDuration>0,jt.hasTransitionAll=jt.hasTransitions&&"all"==Tt.transitionProperty,jt.applyTransitionDuration=xt&&(jt.hasTransitions&&!jt.hasTransitionAll||jt.hasAnimations&&!jt.hasTransitions),jt.applyAnimationDuration=e.duration&&jt.hasAnimations,jt.applyTransitionDelay=P(e.delay)&&(jt.applyTransitionDuration||jt.hasTransitions),jt.applyAnimationDelay=P(e.delay)&&jt.hasAnimations,jt.recalculateTimingStyles=ht.length>0,(jt.applyTransitionDuration||jt.applyAnimationDuration)&&(nt=e.duration?parseFloat(e.duration):nt,jt.applyTransitionDuration&&(jt.hasTransitions=!0,Tt.transitionDuration=nt,Mt=B.style[j+it].length>0,rt.push(O(nt,Mt))),jt.applyAnimationDuration&&(jt.hasAnimations=!0,Tt.animationDuration=nt,rt.push(M(nt)))),0===nt&&!jt.recalculateTimingStyles)return A();if(null!=e.delay){var Nt=parseFloat(e.delay);jt.applyTransitionDelay&&rt.push(k(Nt)),jt.applyAnimationDelay&&rt.push(k(Nt,!0))}return null==e.duration&&Tt.transitionDuration>0&&(jt.recalculateTimingStyles=jt.recalculateTimingStyles||Ot),tt=X*mt,et=nt*mt,e.skipBlocking||(jt.blockTransition=Tt.transitionDuration>0,jt.blockKeyframeAnimation=Tt.animationDuration>0&&St.animationDelay>0&&0===St.animationDuration),e.from&&(e.cleanupStyles&&L(z,B,Object.keys(e.from)),v(t,e)),jt.blockTransition||jt.blockKeyframeAnimation?x(nt):e.skipBlocking||w(B,!1),{$$willAnimate:!0,end:l,start:function(){return W?void 0:(G={end:l,cancel:f,resume:null,pause:null},Y=new i(G),_(I),Y)}}}}]}],Ct=["$$animationProvider",function(t){function n(t){return t.parentNode&&11===t.parentNode.nodeType}t.drivers.push("$$animateCssDriver");var e="ng-animate-shim",r="ng-anchor",i="ng-anchor-out",o="ng-anchor-in";this.$get=["$animateCss","$rootScope","$$AnimateRunner","$rootElement","$sniffer","$$jqLite","$document",function(t,a,u,s,l,c,f){function p(t){return t.replace(/\bng-\S+\b/g,"")}function d(t,n){return B(t)&&(t=t.split(" ")),B(n)&&(n=n.split(" ")),t.filter(function(t){return-1===n.indexOf(t)}).join(" ")}function v(n,a,s){function l(t){var n={},e=$(t).getBoundingClientRect();return q(["width","height","top","left"],function(t){var r=e[t];switch(t){case"top":r+=y.scrollTop;break;case"left":r+=y.scrollLeft}n[t]=Math.floor(r)+"px"}),n}function c(){var n=t(g,{addClass:i,delay:!0,from:l(a)});return n.$$willAnimate?n:null}function f(t){return t.attr("class")||""}function h(){var n=p(f(s)),e=d(n,m),r=d(m,n),a=t(g,{to:l(s),addClass:o+" "+e,removeClass:i+" "+r,delay:!0});return a.$$willAnimate?a:null}function v(){g.remove(),a.removeClass(e),s.removeClass(e)}var g=z($(a).cloneNode(!0)),m=p(f(g));a.addClass(e),s.addClass(e),g.addClass(r),b.append(g);var x,w=c();if(!w&&(x=h(),!x))return v();var C=w||x;return{start:function(){function t(){e&&e.end()}var n,e=C.start();return e.done(function(){return e=null,!x&&(x=h())?(e=x.start(),e.done(function(){e=null,v(),n.complete()}),e):(v(),void n.complete())}),n=new u({end:t,cancel:t})}}}function g(t,n,e,r){var i=m(t,F),o=m(n,F),a=[];return q(r,function(t){var n=t.out,r=t["in"],i=v(e,n,r);i&&a.push(i)}),i||o||0!==a.length?{start:function(){function t(){q(n,function(t){t.end()})}var n=[];i&&n.push(i.start()),o&&n.push(o.start()),q(a,function(t){n.push(t.start())});var e=new u({end:t,cancel:t});return u.all(n,function(t){e.complete(t)}),e}}:void 0}function m(n){var e=n.element,r=n.options||{};n.structural&&(r.event=n.event,r.structural=!0,r.applyClassesEarly=!0,"leave"===n.event&&(r.onDone=r.domOperation)),r.preparationClasses&&(r.event=_(r.event,r.preparationClasses));var i=t(e,r);return i.$$willAnimate?i:null}if(!l.animations&&!l.transitions)return F;var y=f[0].body,x=$(s),b=z(n(x)||y.contains(x)?x:y);h(c);return function(t){return t.from&&t.to?g(t.from,t.to,t.classes,t.anchors):m(t)}}]}],St=["$animateProvider",function(t){this.$get=["$injector","$$AnimateRunner","$$jqLite",function(n,e,r){function i(e){e=V(e)?e:e.split(" ");for(var r=[],i={},o=0;o<e.length;o++){var a=e[o],u=t.$$registeredAnimations[a];u&&!i[a]&&(r.push(n.get(u)),i[a]=!0)}return r}var o=h(r);return function(t,n,r,a){function u(){a.domOperation(),o(t,a)}function s(t,n,r,i,o){var a;switch(r){case"animate":a=[n,i.from,i.to,o];break;case"setClass":a=[n,v,g,o];break;case"addClass":a=[n,v,o];break;case"removeClass":a=[n,g,o];break;default:a=[n,o]}a.push(i);var u=t.apply(t,a);if(u)if(Y(u.start)&&(u=u.start()),u instanceof e)u.done(o);else if(Y(u))return u;return F}function l(t,n,r,i,o){var a=[];return q(i,function(i){var u=i[o];u&&a.push(function(){var i,o,a=!1,l=function(t){a||(a=!0,(o||F)(t),i.complete(!t))};return i=new e({end:function(){l()},cancel:function(){l(!0)}}),o=s(u,t,n,r,function(t){var n=t===!1;l(n)}),i})}),a}function c(t,n,r,i,o){var a=l(t,n,r,i,o);if(0===a.length){var u,s;"beforeSetClass"===o?(u=l(t,"removeClass",r,i,"beforeRemoveClass"),s=l(t,"addClass",r,i,"beforeAddClass")):"setClass"===o&&(u=l(t,"removeClass",r,i,"removeClass"),s=l(t,"addClass",r,i,"addClass")),u&&(a=a.concat(u)),s&&(a=a.concat(s))}if(0!==a.length)return function(t){var n=[];return a.length&&q(a,function(t){n.push(t())}),n.length?e.all(n,t):t(),function(t){q(n,function(n){t?n.cancel():n.end()})}}}3===arguments.length&&W(r)&&(a=r,r=null),a=p(a),r||(r=t.attr("class")||"",a.addClass&&(r+=" "+a.addClass),a.removeClass&&(r+=" "+a.removeClass));var f,h,v=a.addClass,g=a.removeClass,m=i(r);if(m.length){var y,$;"leave"==n?($="leave",y="afterLeave"):($="before"+n.charAt(0).toUpperCase()+n.substr(1),y=n),"enter"!==n&&"move"!==n&&(f=c(t,n,a,m,$)),h=c(t,n,a,m,y)}return f||h?{start:function(){function n(n){s=!0,u(),d(t,a),l.complete(n)}function r(t){s||((i||F)(t),n(t))}var i,o=[];f&&o.push(function(t){i=f(t)}),o.length?o.push(function(t){u(),t(!0)}):u(),h&&o.push(function(t){i=h(t)});var s=!1,l=new e({end:function(){r()},cancel:function(){r(!0)}});return e.chain(o,n),l}}:void 0}}]}],_t=["$$animationProvider",function(t){t.drivers.push("$$animateJsDriver"),this.$get=["$$animateJs","$$AnimateRunner",function(t,n){function e(n){var e=n.element,r=n.event,i=n.options,o=n.classes;return t(e,r,o,i)}return function(t){if(t.from&&t.to){var r=e(t.from),i=e(t.to);if(!r&&!i)return;return{start:function(){function t(){return function(){q(o,function(t){t.end()})}}function e(t){a.complete(t)}var o=[];r&&o.push(r.start()),i&&o.push(i.start()),n.all(o,e);var a=new n({end:t(),cancel:t()});return a}}}return e(t)}}]}],Mt="data-ng-animate",kt="$ngAnimatePin",At=["$animateProvider",function(t){function n(t,n,e,r){return a[t].some(function(t){return t(n,e,r)})}function e(t,n){t=t||{};var e=(t.addClass||"").length>0,r=(t.removeClass||"").length>0;return n?e&&r:e||r}var i=1,o=2,a=this.rules={skip:[],cancel:[],join:[]};a.join.push(function(t,n,r){return!n.structural&&e(n.options)}),a.skip.push(function(t,n,r){return!n.structural&&!e(n.options)}),a.skip.push(function(t,n,e){return"leave"==e.event&&n.structural}),a.skip.push(function(t,n,e){return e.structural&&e.state===o&&!n.structural}),a.cancel.push(function(t,n,e){return e.structural&&n.structural}),a.cancel.push(function(t,n,e){return e.state===o&&n.structural}),a.cancel.push(function(t,n,e){var r=n.options,i=e.options;return r.addClass&&r.addClass===i.removeClass||r.removeClass&&r.removeClass===i.addClass}),this.$get=["$$rAF","$rootScope","$rootElement","$document","$$HashMap","$$animation","$$AnimateRunner","$templateRequest","$$jqLite","$$forceReflow",function(a,u,c,f,v,g,y,w,C,S){function _(){var t=!1;return function(n){t?n():u.$$postDigest(function(){t=!0,n()})}}function M(t,n){return m(t,n,{})}function k(t,n){var e=$(t),r=[],i=F[n];return i&&q(i,function(t){t.node.contains(e)&&r.push(t.callback)}),r}function A(t,r,l){function c(n,e,r,i){C(function(){var n=k(t,e);n.length&&a(function(){q(n,function(n){n(t,r,i)})})}),n.progress(e,r,i)}function f(n){b(t,l),J(t,l),d(t,l),l.domOperation(),w.complete(!n)}var h,v;t=s(t),t&&(h=$(t),v=t.parent()),l=p(l);var w=new y,C=_();if(V(l.addClass)&&(l.addClass=l.addClass.join(" ")),l.addClass&&!B(l.addClass)&&(l.addClass=null),V(l.removeClass)&&(l.removeClass=l.removeClass.join(" ")),l.removeClass&&!B(l.removeClass)&&(l.removeClass=null),l.from&&!W(l.from)&&(l.from=null),l.to&&!W(l.to)&&(l.to=null),!h)return f(),w;var S=[h.className,l.addClass,l.removeClass].join(" ");if(!Z(S))return f(),w;var A=["enter","move","leave"].indexOf(r)>=0,O=!R||N.get(h),D=!O&&j.get(h)||{},F=!!D.state;if(O||F&&D.state==i||(O=!T(t,v,r)),O)return f(),w;A&&E(t);var I={structural:A,element:t,event:r,close:f,options:l,runner:w};if(F){var z=n("skip",t,I,D);if(z)return D.state===o?(f(),w):(m(t,D.options,l),D.runner);var U=n("cancel",t,I,D);if(U)if(D.state===o)D.runner.end();else{if(!D.structural)return m(t,D.options,I.options),D.runner;D.close()}else{var H=n("join",t,I,D);if(H){if(D.state!==o)return x(t,A?r:null,l),r=I.event=D.event,l=m(t,D.options,I.options),D.runner;M(t,l)}}}else M(t,l);var Y=I.structural;if(Y||(Y="animate"===I.event&&Object.keys(I.options.to||{}).length>0||e(I.options)),!Y)return f(),P(t),w;var G=(D.counter||0)+1;return I.counter=G,L(t,i,I),u.$$postDigest(function(){var n=j.get(h),i=!n;n=n||{};var a=t.parent()||[],u=a.length>0&&("animate"===n.event||n.structural||e(n.options));if(i||n.counter!==G||!u)return i&&(J(t,l),d(t,l)),(i||A&&n.event!==r)&&(l.domOperation(),w.end()),void(u||P(t));r=!n.structural&&e(n.options,!0)?"setClass":n.event,L(t,o);var s=g(t,r,n.options);s.done(function(n){f(!n);var e=j.get(h);e&&e.counter===G&&P($(t)),c(w,r,"close",{})}),w.setHost(s),c(w,r,"start",{})}),w}function E(t){var n=$(t),e=n.querySelectorAll("["+Mt+"]");q(e,function(t){var n=parseInt(t.getAttribute(Mt)),e=j.get(t);switch(n){case o:e.runner.end();case i:e&&j.remove(t)}})}function P(t){var n=$(t);n.removeAttribute(Mt),j.remove(n)}function O(t,n){return $(t)===$(n)}function T(t,n,e){var r,i=z(f[0].body),o=O(t,i)||"HTML"===t[0].nodeName,a=O(t,c),u=!1,s=t.data(kt);for(s&&(n=s);n&&n.length;){a||(a=O(n,c));var l=n[0];if(l.nodeType!==X)break;var h=j.get(l)||{};if(u||(u=h.structural||N.get(l)),U(r)||r===!0){var p=n.data(nt);H(p)&&(r=p)}if(u&&r===!1)break;a||(a=O(n,c),a||(s=n.data(kt),s&&(n=s))),o||(o=O(n,i)),n=n.parent()}var d=!u||r;return d&&a&&o}function L(t,n,e){e=e||{},e.state=n;var r=$(t);r.setAttribute(Mt,n);var i=j.get(r),o=i?I(i,e):e;j.put(r,o)}var j=new v,N=new v,R=null,D=u.$watch(function(){return 0===w.totalPendingRequests},function(t){t&&(D(),u.$$postDigest(function(){u.$$postDigest(function(){null===R&&(R=!0)})}))}),F={},Y=t.classNameFilter(),Z=Y?function(t){return Y.test(t)}:function(){return!0},J=h(C);return{on:function(t,n,e){var r=l(n);F[t]=F[t]||[],F[t].push({node:r,callback:e})},off:function(t,n,e){function r(t,n,e){var r=l(n);return t.filter(function(t){var n=t.node===r&&(!e||t.callback===e);return!n})}var i=F[t];i&&(F[t]=1===arguments.length?null:r(i,n,e))},pin:function(t,n){r(G(t),"element","not an element"),r(G(n),"parentElement","not an element"),t.data(kt,n)},push:function(t,n,e,r){return e=e||{},e.domOperation=r,A(t,n,e)},enabled:function(t,n){var e=arguments.length;if(0===e)n=!!R;else{var r=G(t);if(r){var i=$(t),o=N.get(i);1===e?n=!o:(n=!!n,n?o&&N.remove(i):N.put(i,!0))}else n=R=!!t}return n}}}]}],Et=["$$rAF",function(t){function n(n){e.push(n),e.length>1||t(function(){for(var t=0;t<e.length;t++)e[t]();e=[]})}var e=[];return function(){var t=!1;return n(function(){t=!0}),function(e){t?e():n(e)}}}],Pt=["$q","$sniffer","$$animateAsyncRun",function(t,n,e){function r(t){this.setHost(t),this._doneCallbacks=[],this._runInAnimationFrame=e(),this._state=0}var i=0,o=1,a=2;return r.chain=function(t,n){function e(){return r===t.length?void n(!0):void t[r](function(t){return t===!1?void n(!1):(r++,void e())})}var r=0;e()},r.all=function(t,n){function e(e){i=i&&e,++r===t.length&&n(i)}var r=0,i=!0;q(t,function(t){t.done(e)})},r.prototype={setHost:function(t){this.host=t||{}},done:function(t){this._state===a?t():this._doneCallbacks.push(t)},progress:F,getPromise:function(){if(!this.promise){var n=this;this.promise=t(function(t,e){n.done(function(n){n===!1?e():t()})})}return this.promise},then:function(t,n){return this.getPromise().then(t,n)},"catch":function(t){return this.getPromise()["catch"](t)},"finally":function(t){return this.getPromise()["finally"](t)},pause:function(){this.host.pause&&this.host.pause()},resume:function(){this.host.resume&&this.host.resume()},end:function(){this.host.end&&this.host.end(),this._resolve(!0)},cancel:function(){this.host.cancel&&this.host.cancel(),this._resolve(!1)},complete:function(t){var n=this;n._state===i&&(n._state=o,n._runInAnimationFrame(function(){n._resolve(t)}))},_resolve:function(t){this._state!==a&&(q(this._doneCallbacks,function(n){n(t)}),this._doneCallbacks.length=0,this._state=a)}},r}],Ot=["$animateProvider",function(t){function n(t,n){t.data(u,n)}function e(t){t.removeData(u)}function r(t){return t.data(u)}var o="ng-animate-ref",a=this.drivers=[],u="$$animationRunner";this.$get=["$$jqLite","$rootScope","$injector","$$AnimateRunner","$$HashMap","$$rAFScheduler",function(t,u,s,l,c,f){function v(t){function n(t){if(t.processed)return t;t.processed=!0;var e=t.domNode,r=e.parentNode;o.put(e,t);for(var a;r;){if(a=o.get(r)){a.processed||(a=n(a));break}r=r.parentNode}return(a||i).children.push(t),t}function e(t){var n,e=[],r=[];for(n=0;n<t.children.length;n++)r.push(t.children[n]);var i=r.length,o=0,a=[];for(n=0;n<r.length;n++){var u=r[n];0>=i&&(i=o,o=0,e.push(a),a=[]),a.push(u.fn),u.children.forEach(function(t){o++,r.push(t)}),i--}return a.length&&e.push(a),e}var r,i={children:[]},o=new c;for(r=0;r<t.length;r++){var a=t[r];o.put(a.domNode,t[r]={domNode:a.domNode,fn:a.fn,children:[]})}for(r=0;r<t.length;r++)n(t[r]);return e(i)}var g=[],m=h(t);return function(c,h,y){function x(t){var n="["+o+"]",e=t.hasAttribute(o)?[t]:t.querySelectorAll(n),r=[];return q(e,function(t){var n=t.getAttribute(o);n&&n.length&&r.push(t)}),r}function b(t){var n=[],e={};q(t,function(t,r){var i=t.element,a=$(i),u=t.event,s=["enter","move"].indexOf(u)>=0,l=t.structural?x(a):[];if(l.length){var c=s?"to":"from";q(l,function(t){var n=t.getAttribute(o);e[n]=e[n]||{},e[n][c]={animationID:r,element:z(t)}})}else n.push(t)});var r={},i={};return q(e,function(e,o){var a=e.from,u=e.to;if(!a||!u){var s=a?a.animationID:u.animationID,l=s.toString();return void(r[l]||(r[l]=!0,n.push(t[s])))}var c=t[a.animationID],f=t[u.animationID],h=a.animationID.toString();if(!i[h]){var p=i[h]={structural:!0,beforeStart:function(){c.beforeStart(),f.beforeStart()},close:function(){c.close(),f.close()},classes:w(c.classes,f.classes),from:c,to:f,anchors:[]};p.classes.length?n.push(p):(n.push(c),n.push(f))}i[h].anchors.push({out:a.element,"in":u.element})}),n}function w(t,n){t=t.split(" "),n=n.split(" ");for(var e=[],r=0;r<t.length;r++){var i=t[r];if("ng-"!==i.substring(0,3))for(var o=0;o<n.length;o++)if(i===n[o]){e.push(i);break}}return e.join(" ")}function C(t){for(var n=a.length-1;n>=0;n--){var e=a[n];if(s.has(e)){var r=s.get(e),i=r(t);if(i)return i}}}function S(){c.addClass(tt),O&&t.addClass(c,O)}function _(t,n){function e(t){r(t).setHost(n)}t.from&&t.to?(e(t.from.element),e(t.to.element)):e(t.element)}function M(){var t=r(c);!t||"leave"===h&&y.$$domOperationFired||t.end()}function k(n){c.off("$destroy",M),e(c),m(c,y),d(c,y),y.domOperation(),O&&t.removeClass(c,O),c.removeClass(tt),E.complete(!n)}y=p(y);var A=["enter","move","leave"].indexOf(h)>=0,E=new l({end:function(){k()},cancel:function(){k(!0)}});if(!a.length)return k(),E;n(c,E);var P=i(c.attr("class"),i(y.addClass,y.removeClass)),O=y.tempClasses;return O&&(P+=" "+O,y.tempClasses=null),g.push({element:c,classes:P,event:h,structural:A,options:y,beforeStart:S,close:k}),c.on("$destroy",M),g.length>1?E:(u.$$postDigest(function(){var t=[];q(g,function(n){r(n.element)?t.push(n):n.close()}),g.length=0;var n=b(t),e=[];q(n,function(t){e.push({domNode:$(t.from?t.from.element:t.element),fn:function(){t.beforeStart();var n,e=t.close,i=t.anchors?t.from.element||t.to.element:t.element;if(r(i)){var o=C(t);o&&(n=o.start)}if(n){var a=n();a.done(function(t){e(!t)}),_(t,a)}else e()}})}),f(v(e))}),E)}}]}];n.module("ngAnimate",[]).directive("ngAnimateChildren",vt).factory("$$rAFScheduler",dt).factory("$$AnimateRunner",Pt).factory("$$animateAsyncRun",Et).provider("$$animateQueue",At).provider("$$animation",Ot).provider("$animateCss",wt).provider("$$animateCssDriver",Ct).provider("$$animateJs",St).provider("$$animateJsDriver",_t)}(window,window.angular),function(){function t(t,n){return t.set(n[0],n[1]),t}function n(t,n){return t.add(n),t}function e(t,n,e){var r=e.length;switch(r){case 0:return t.call(n);case 1:return t.call(n,e[0]);case 2:return t.call(n,e[0],e[1]);case 3:return t.call(n,e[0],e[1],e[2])}return t.apply(n,e)}function r(t,n,e,r){for(var i=-1,o=t.length;++i<o;){var a=t[i];n(r,a,e(a),t)}return r}function i(t,n){for(var e=-1,r=t.length,i=-1,o=n.length,a=Array(r+o);++e<r;)a[e]=t[e];for(;++i<o;)a[e++]=n[i];return a}function o(t,n){for(var e=-1,r=t.length;++e<r&&n(t[e],e,t)!==!1;);return t}function a(t,n){for(var e=t.length;e--&&n(t[e],e,t)!==!1;);return t}function u(t,n){for(var e=-1,r=t.length;++e<r;)if(!n(t[e],e,t))return!1;return!0}function s(t,n){for(var e=-1,r=t.length,i=0,o=[];++e<r;){var a=t[e];n(a,e,t)&&(o[i++]=a)}return o}function l(t,n){return!!t.length&&y(t,n,0)>-1}function c(t,n,e){for(var r=-1,i=t.length;++r<i;)if(e(n,t[r]))return!0;return!1}function f(t,n){for(var e=-1,r=t.length,i=Array(r);++e<r;)i[e]=n(t[e],e,t);return i}function h(t,n){for(var e=-1,r=n.length,i=t.length;++e<r;)t[i+e]=n[e];return t}function p(t,n,e,r){var i=-1,o=t.length;for(r&&o&&(e=t[++i]);++i<o;)e=n(e,t[i],i,t);return e}function d(t,n,e,r){var i=t.length;for(r&&i&&(e=t[--i]);i--;)e=n(e,t[i],i,t);return e}function v(t,n){for(var e=-1,r=t.length;++e<r;)if(n(t[e],e,t))return!0;return!1}function g(t,n,e,r){var i;return e(t,function(t,e,o){return n(t,e,o)?(i=r?e:t,!1):void 0}),i}function m(t,n,e){for(var r=t.length,i=e?r:-1;e?i--:++i<r;)if(n(t[i],i,t))return i;return-1}function y(t,n,e){if(n!==n)return N(t,e);for(var r=e-1,i=t.length;++r<i;)if(t[r]===n)return r;return-1}function $(t,n,e,r){for(var i=e-1,o=t.length;++i<o;)if(r(t[i],n))return i;return-1}function x(t,n){var e=t?t.length:0;return e?C(t,n)/e:$t}function b(t,n,e,r,i){return i(t,function(t,i,o){e=r?(r=!1,t):n(e,t,i,o)}),e}function w(t,n){var e=t.length;for(t.sort(n);e--;)t[e]=t[e].value;return t}function C(t,n){for(var e,r=-1,i=t.length;++r<i;){var o=n(t[r]);o!==U&&(e=e===U?o:e+o)}return e}function S(t,n){for(var e=-1,r=Array(t);++e<t;)r[e]=n(e);return r}function _(t,n){return f(n,function(n){return[n,t[n]]})}function M(t){return function(n){return t(n)}}function k(t,n){return f(n,function(n){return t[n]})}function A(t,n){for(var e=-1,r=t.length;++e<r&&y(n,t[e],0)>-1;);return e}function E(t,n){for(var e=t.length;e--&&y(n,t[e],0)>-1;);return e}function P(t){return t&&t.Object===Object?t:null}function O(t,n){for(var e=t.length,r=0;e--;)t[e]===n&&r++;return r}function T(t){return we[t]}function L(t){return Ce[t]}function j(t){return"\\"+Me[t]}function N(t,n,e){for(var r=t.length,i=n+(e?0:-1);e?i--:++i<r;){var o=t[i];if(o!==o)return i}return-1}function R(t){var n=!1;if(null!=t&&"function"!=typeof t.toString)try{n=!!(t+"")}catch(e){}return n}function D(t){for(var n,e=[];!(n=t.next()).done;)e.push(n.value);return e}function F(t){var n=-1,e=Array(t.size);return t.forEach(function(t,r){e[++n]=[r,t]}),e}function I(t,n){for(var e=-1,r=t.length,i=0,o=[];++e<r;){var a=t[e];a!==n&&a!==Z||(t[e]=Z,o[i++]=e)}return o}function z(t){var n=-1,e=Array(t.size);return t.forEach(function(t){e[++n]=t}),e}function q(t){if(!t||!ge.test(t))return t.length;for(var n=de.lastIndex=0;de.test(t);)n++;return n}function V(t){return t.match(de)}function B(t){return Se[t]}function W(P){function En(t){if(lu(t)&&!tf(t)&&!(t instanceof Tn)){if(t instanceof On)return t;if(dl.call(t,"__wrapped__"))return no(t)}return new On(t)}function Pn(){}function On(t,n){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!n,this.__index__=0,this.__values__=U}function Tn(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=xt,this.__views__=[]}function Ln(){var t=new Tn(this.__wrapped__);return t.__actions__=Zr(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=Zr(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=Zr(this.__views__),t}function jn(){if(this.__filtered__){var t=new Tn(this);t.__dir__=-1,t.__filtered__=!0}else t=this.clone(),t.__dir__*=-1;return t}function Nn(){var t=this.__wrapped__.value(),n=this.__dir__,e=tf(t),r=0>n,i=e?t.length:0,o=Li(0,i,this.__views__),a=o.start,u=o.end,s=u-a,l=r?u:a-1,c=this.__iteratees__,f=c.length,h=0,p=Il(s,this.__takeCount__);if(!e||Y>i||i==s&&p==s)return Or(t,this.__actions__);var d=[];t:for(;s--&&p>h;){l+=n;for(var v=-1,g=t[l];++v<f;){var m=c[v],y=m.iteratee,$=m.type,x=y(g);if($==dt)g=x;else if(!x){if($==pt)continue t;break t}}d[h++]=g}return d}function Rn(){}function Dn(t,n){return In(t,n)&&delete t[n]}function Fn(t,n){if(Zl){var e=t[n];return e===X?U:e}return dl.call(t,n)?t[n]:U}function In(t,n){return Zl?t[n]!==U:dl.call(t,n)}function zn(t,n,e){t[n]=Zl&&e===U?X:e}function qn(t){var n=-1,e=t?t.length:0;for(this.clear();++n<e;){var r=t[n];this.set(r[0],r[1])}}function Vn(){this.__data__={hash:new Rn,map:Hl?new Hl:[],string:new Rn}}function Bn(t){var n=this.__data__;return Wi(t)?Dn("string"==typeof t?n.string:n.hash,t):Hl?n.map["delete"](t):ee(n.map,t)}function Wn(t){var n=this.__data__;return Wi(t)?Fn("string"==typeof t?n.string:n.hash,t):Hl?n.map.get(t):re(n.map,t)}function Un(t){var n=this.__data__;return Wi(t)?In("string"==typeof t?n.string:n.hash,t):Hl?n.map.has(t):ie(n.map,t)}function Hn(t,n){var e=this.__data__;return Wi(t)?zn("string"==typeof t?e.string:e.hash,t,n):Hl?e.map.set(t,n):ae(e.map,t,n),this}function Yn(t){var n=-1,e=t?t.length:0;for(this.__data__=new qn;++n<e;)this.push(t[n])}function Gn(t,n){var e=t.__data__;if(Wi(n)){var r=e.__data__,i="string"==typeof n?r.string:r.hash;return i[n]===X}return e.has(n)}function Xn(t){var n=this.__data__;if(Wi(t)){var e=n.__data__,r="string"==typeof t?e.string:e.hash;r[t]=X}else n.set(t,X)}function Zn(t){var n=-1,e=t?t.length:0;for(this.clear();++n<e;){var r=t[n];this.set(r[0],r[1])}}function Jn(){this.__data__={array:[],map:null}}function Kn(t){var n=this.__data__,e=n.array;return e?ee(e,t):n.map["delete"](t)}function Qn(t){var n=this.__data__,e=n.array;return e?re(e,t):n.map.get(t)}function te(t){var n=this.__data__,e=n.array;return e?ie(e,t):n.map.has(t)}function ne(t,n){var e=this.__data__,r=e.array;r&&(r.length<Y-1?ae(r,t,n):(e.array=null,e.map=new qn(r)));var i=e.map;return i&&i.set(t,n),this}function ee(t,n){var e=oe(t,n);if(0>e)return!1;var r=t.length-1;return e==r?t.pop():Ol.call(t,e,1),!0}function re(t,n){var e=oe(t,n);return 0>e?U:t[e][1]}function ie(t,n){return oe(t,n)>-1}function oe(t,n){for(var e=t.length;e--;)if(Ha(t[e][0],n))return e;return-1}function ae(t,n,e){var r=oe(t,n);0>r?t.push([n,e]):t[r][1]=e}function ue(t,n,e,r){
+return t===U||Ha(t,fl[e])&&!dl.call(r,e)?n:t}function se(t,n,e){(e===U||Ha(t[n],e))&&("number"!=typeof n||e!==U||n in t)||(t[n]=e)}function le(t,n,e){var r=t[n];dl.call(t,n)&&Ha(r,e)&&(e!==U||n in t)||(t[n]=e)}function ce(t,n,e,r){return sc(t,function(t,i,o){n(r,t,e(t),o)}),r}function fe(t,n){return t&&Jr(n,Yu(n),t)}function de(t,n){for(var e=-1,r=null==t,i=n.length,o=Array(i);++e<i;)o[e]=r?U:Wu(t,n[e]);return o}function we(t,n,e){return t===t&&(e!==U&&(t=e>=t?t:e),n!==U&&(t=t>=n?t:n)),t}function Ce(t,n,e,r,i,a,u){var s;if(r&&(s=a?r(t,i,a,u):r(t)),s!==U)return s;if(!su(t))return t;var l=tf(t);if(l){if(s=Ni(t),!n)return Zr(t,s)}else{var c=Ti(t),f=c==At||c==Et;if(nf(t))return Fr(t,n);if(c==Tt||c==Ct||f&&!a){if(R(t))return a?t:{};if(s=Ri(f?{}:t),!n)return Kr(t,fe(s,t))}else{if(!be[c])return a?t:{};s=Di(t,c,Ce,n)}}u||(u=new Zn);var h=u.get(t);if(h)return h;if(u.set(t,s),!l)var p=e?Ci(t):Yu(t);return o(p||t,function(i,o){p&&(o=i,i=t[o]),le(s,o,Ce(i,n,e,r,o,t,u))}),s}function Se(t){var n=Yu(t),e=n.length;return function(r){if(null==r)return!e;for(var i=e;i--;){var o=n[i],a=t[o],u=r[o];if(u===U&&!(o in Object(r))||!a(u))return!1}return!0}}function _e(t){return su(t)?Al(t):{}}function Me(t,n,e){if("function"!=typeof t)throw new ll(G);return Pl(function(){t.apply(U,e)},n)}function Ee(t,n,e,r){var i=-1,o=l,a=!0,u=t.length,s=[],h=n.length;if(!u)return s;e&&(n=f(n,M(e))),r?(o=c,a=!1):n.length>=Y&&(o=Gn,a=!1,n=new Yn(n));t:for(;++i<u;){var p=t[i],d=e?e(p):p;if(p=r||0!==p?p:0,a&&d===d){for(var v=h;v--;)if(n[v]===d)continue t;s.push(p)}else o(n,d,r)||s.push(p)}return s}function Pe(t,n){var e=!0;return sc(t,function(t,r,i){return e=!!n(t,r,i)}),e}function Te(t,n,e){for(var r=-1,i=t.length;++r<i;){var o=t[r],a=n(o);if(null!=a&&(u===U?a===a&&!Cu(a):e(a,u)))var u=a,s=o}return s}function Le(t,n,e,r){var i=t.length;for(e=Eu(e),0>e&&(e=-e>i?0:i+e),r=r===U||r>i?i:Eu(r),0>r&&(r+=i),r=e>r?0:Pu(r);r>e;)t[e++]=n;return t}function je(t,n){var e=[];return sc(t,function(t,r,i){n(t,r,i)&&e.push(t)}),e}function Ne(t,n,e,r,i){var o=-1,a=t.length;for(e||(e=Ii),i||(i=[]);++o<a;){var u=t[o];n>0&&e(u)?n>1?Ne(u,n-1,e,r,i):h(i,u):r||(i[i.length]=u)}return i}function Fe(t,n){return t&&cc(t,n,Yu)}function Ie(t,n){return t&&fc(t,n,Yu)}function ze(t,n){return s(n,function(n){return ou(t[n])})}function qe(t,n){n=Bi(n,t)?[n]:Rr(n);for(var e=0,r=n.length;null!=t&&r>e;)t=t[Qi(n[e++])];return e&&e==r?t:U}function Ve(t,n,e){var r=n(t);return tf(t)?r:h(r,e(t))}function Be(t,n){return t>n}function We(t,n){return dl.call(t,n)||"object"==typeof t&&n in t&&null===Pi(t)}function Ue(t,n){return n in Object(t)}function He(t,n,e){return t>=Il(n,e)&&t<Fl(n,e)}function Ye(t,n,e){for(var r=e?c:l,i=t[0].length,o=t.length,a=o,u=Array(o),s=1/0,h=[];a--;){var p=t[a];a&&n&&(p=f(p,M(n))),s=Il(p.length,s),u[a]=!e&&(n||i>=120&&p.length>=120)?new Yn(a&&p):U}p=t[0];var d=-1,v=u[0];t:for(;++d<i&&h.length<s;){var g=p[d],m=n?n(g):g;if(g=e||0!==g?g:0,!(v?Gn(v,m):r(h,m,e))){for(a=o;--a;){var y=u[a];if(!(y?Gn(y,m):r(t[a],m,e)))continue t}v&&v.push(m),h.push(g)}}return h}function Ge(t,n,e,r){return Fe(t,function(t,i,o){n(r,e(t),i,o)}),r}function Xe(t,n,r){Bi(n,t)||(n=Rr(n),t=Ji(t,n),n=bo(n));var i=null==t?t:t[Qi(n)];return null==i?U:e(i,t,r)}function Ze(t,n,e,r,i){return t===n?!0:null==t||null==n||!su(t)&&!lu(n)?t!==t&&n!==n:Je(t,n,Ze,e,r,i)}function Je(t,n,e,r,i,o){var a=tf(t),u=tf(n),s=St,l=St;a||(s=Ti(t),s=s==Ct?Tt:s),u||(l=Ti(n),l=l==Ct?Tt:l);var c=s==Tt&&!R(t),f=l==Tt&&!R(n),h=s==l;if(h&&!c)return o||(o=new Zn),a||Su(t)?xi(t,n,e,r,i,o):bi(t,n,s,e,r,i,o);if(!(i&st)){var p=c&&dl.call(t,"__wrapped__"),d=f&&dl.call(n,"__wrapped__");if(p||d){var v=p?t.value():t,g=d?n.value():n;return o||(o=new Zn),e(v,g,r,i,o)}}return h?(o||(o=new Zn),wi(t,n,e,r,i,o)):!1}function Ke(t,n,e,r){var i=e.length,o=i,a=!r;if(null==t)return!o;for(t=Object(t);i--;){var u=e[i];if(a&&u[2]?u[1]!==t[u[0]]:!(u[0]in t))return!1}for(;++i<o;){u=e[i];var s=u[0],l=t[s],c=u[1];if(a&&u[2]){if(l===U&&!(s in t))return!1}else{var f=new Zn;if(r)var h=r(l,c,s,t,n,f);if(!(h===U?Ze(c,l,r,ut|st,f):h))return!1}}return!0}function Qe(t){return"function"==typeof t?t:null==t?Fs:"object"==typeof t?tf(t)?or(t[0],t[1]):ir(t):Hs(t)}function tr(t){return Dl(Object(t))}function nr(t){t=null==t?t:Object(t);var n=[];for(var e in t)n.push(e);return n}function er(t,n){return n>t}function rr(t,n){var e=-1,r=Xa(t)?Array(t.length):[];return sc(t,function(t,i,o){r[++e]=n(t,i,o)}),r}function ir(t){var n=ki(t);return 1==n.length&&n[0][2]?Gi(n[0][0],n[0][1]):function(e){return e===t||Ke(e,t,n)}}function or(t,n){return Bi(t)&&Yi(n)?Gi(Qi(t),n):function(e){var r=Wu(e,t);return r===U&&r===n?Hu(e,t):Ze(n,r,U,ut|st)}}function ar(t,n,e,r,i){if(t!==n){if(!tf(n)&&!Su(n))var a=Gu(n);o(a||n,function(o,u){if(a&&(u=o,o=n[u]),su(o))i||(i=new Zn),ur(t,n,u,e,ar,r,i);else{var s=r?r(t[u],o,u+"",t,n,i):U;s===U&&(s=o),se(t,u,s)}})}}function ur(t,n,e,r,i,o,a){var u=t[e],s=n[e],l=a.get(s);if(l)return void se(t,e,l);var c=o?o(u,s,e+"",t,n,a):U,f=c===U;f&&(c=s,tf(s)||Su(s)?tf(u)?c=u:Za(u)?c=Zr(u):(f=!1,c=Ce(s,!0)):yu(s)||Ya(s)?Ya(u)?c=Tu(u):!su(u)||r&&ou(u)?(f=!1,c=Ce(s,!0)):c=u:f=!1),a.set(s,c),f&&i(c,s,r,o,a),a["delete"](s),se(t,e,c)}function sr(t,n){var e=t.length;if(e)return n+=0>n?e:0,qi(n,e)?t[n]:U}function lr(t,n,e){var r=-1;n=f(n.length?n:[Fs],M(Mi()));var i=rr(t,function(t,e,i){var o=f(n,function(n){return n(t)});return{criteria:o,index:++r,value:t}});return w(i,function(t,n){return Yr(t,n,e)})}function cr(t,n){return t=Object(t),p(n,function(n,e){return e in t&&(n[e]=t[e]),n},{})}function fr(t,n){for(var e=-1,r=Si(t),i=r.length,o={};++e<i;){var a=r[e],u=t[a];n(u,a)&&(o[a]=u)}return o}function hr(t){return function(n){return null==n?U:n[t]}}function pr(t){return function(n){return qe(n,t)}}function dr(t,n,e,r){var i=r?$:y,o=-1,a=n.length,u=t;for(e&&(u=f(t,M(e)));++o<a;)for(var s=0,l=n[o],c=e?e(l):l;(s=i(u,c,s,r))>-1;)u!==t&&Ol.call(u,s,1),Ol.call(t,s,1);return t}function vr(t,n){for(var e=t?n.length:0,r=e-1;e--;){var i=n[e];if(e==r||i!==o){var o=i;if(qi(i))Ol.call(t,i,1);else if(Bi(i,t))delete t[Qi(i)];else{var a=Rr(i),u=Ji(t,a);null!=u&&delete u[Qi(bo(a))]}}}return t}function gr(t,n){return t+Ll(ql()*(n-t+1))}function mr(t,n,e,r){for(var i=-1,o=Fl(Tl((n-t)/(e||1)),0),a=Array(o);o--;)a[r?o:++i]=t,t+=e;return a}function yr(t,n){var e="";if(!t||1>n||n>mt)return e;do n%2&&(e+=t),n=Ll(n/2),n&&(t+=t);while(n);return e}function $r(t,n,e,r){n=Bi(n,t)?[n]:Rr(n);for(var i=-1,o=n.length,a=o-1,u=t;null!=u&&++i<o;){var s=Qi(n[i]);if(su(u)){var l=e;if(i!=a){var c=u[s];l=r?r(c,s,u):U,l===U&&(l=null==c?qi(n[i+1])?[]:{}:c)}le(u,s,l)}u=u[s]}return t}function xr(t,n,e){var r=-1,i=t.length;0>n&&(n=-n>i?0:i+n),e=e>i?i:e,0>e&&(e+=i),i=n>e?0:e-n>>>0,n>>>=0;for(var o=Array(i);++r<i;)o[r]=t[r+n];return o}function br(t,n){var e;return sc(t,function(t,r,i){return e=n(t,r,i),!e}),!!e}function wr(t,n,e){var r=0,i=t?t.length:r;if("number"==typeof n&&n===n&&wt>=i){for(;i>r;){var o=r+i>>>1,a=t[o];null!==a&&!Cu(a)&&(e?n>=a:n>a)?r=o+1:i=o}return i}return Cr(t,n,Fs,e)}function Cr(t,n,e,r){n=e(n);for(var i=0,o=t?t.length:0,a=n!==n,u=null===n,s=Cu(n),l=n===U;o>i;){var c=Ll((i+o)/2),f=e(t[c]),h=f!==U,p=null===f,d=f===f,v=Cu(f);if(a)var g=r||d;else g=l?d&&(r||h):u?d&&h&&(r||!p):s?d&&h&&!p&&(r||!v):p||v?!1:r?n>=f:n>f;g?i=c+1:o=c}return Il(o,bt)}function Sr(t,n){for(var e=-1,r=t.length,i=0,o=[];++e<r;){var a=t[e],u=n?n(a):a;if(!e||!Ha(u,s)){var s=u;o[i++]=0===a?0:a}}return o}function _r(t){return"number"==typeof t?t:Cu(t)?$t:+t}function Mr(t){if("string"==typeof t)return t;if(Cu(t))return uc?uc.call(t):"";var n=t+"";return"0"==n&&1/t==-gt?"-0":n}function kr(t,n,e){var r=-1,i=l,o=t.length,a=!0,u=[],s=u;if(e)a=!1,i=c;else if(o>=Y){var f=n?null:pc(t);if(f)return z(f);a=!1,i=Gn,s=new Yn}else s=n?[]:u;t:for(;++r<o;){var h=t[r],p=n?n(h):h;if(h=e||0!==h?h:0,a&&p===p){for(var d=s.length;d--;)if(s[d]===p)continue t;n&&s.push(p),u.push(h)}else i(s,p,e)||(s!==u&&s.push(p),u.push(h))}return u}function Ar(t,n){n=Bi(n,t)?[n]:Rr(n),t=Ji(t,n);var e=Qi(bo(n));return!(null!=t&&We(t,e))||delete t[e]}function Er(t,n,e,r){return $r(t,n,e(qe(t,n)),r)}function Pr(t,n,e,r){for(var i=t.length,o=r?i:-1;(r?o--:++o<i)&&n(t[o],o,t););return e?xr(t,r?0:o,r?o+1:i):xr(t,r?o+1:0,r?i:o)}function Or(t,n){var e=t;return e instanceof Tn&&(e=e.value()),p(n,function(t,n){return n.func.apply(n.thisArg,h([t],n.args))},e)}function Tr(t,n,e){for(var r=-1,i=t.length;++r<i;)var o=o?h(Ee(o,t[r],n,e),Ee(t[r],o,n,e)):t[r];return o&&o.length?kr(o,n,e):[]}function Lr(t,n,e){for(var r=-1,i=t.length,o=n.length,a={};++r<i;){var u=o>r?n[r]:U;e(a,t[r],u)}return a}function jr(t){return Za(t)?t:[]}function Nr(t){return"function"==typeof t?t:Fs}function Rr(t){return tf(t)?t:yc(t)}function Dr(t,n,e){var r=t.length;return e=e===U?r:e,!n&&e>=r?t:xr(t,n,e)}function Fr(t,n){if(n)return t.slice();var e=new t.constructor(t.length);return t.copy(e),e}function Ir(t){var n=new t.constructor(t.byteLength);return new Cl(n).set(new Cl(t)),n}function zr(t,n){var e=n?Ir(t.buffer):t.buffer;return new t.constructor(e,t.byteOffset,t.byteLength)}function qr(n,e,r){var i=e?r(F(n),!0):F(n);return p(i,t,new n.constructor)}function Vr(t){var n=new t.constructor(t.source,$n.exec(t));return n.lastIndex=t.lastIndex,n}function Br(t,e,r){var i=e?r(z(t),!0):z(t);return p(i,n,new t.constructor)}function Wr(t){return ac?Object(ac.call(t)):{}}function Ur(t,n){var e=n?Ir(t.buffer):t.buffer;return new t.constructor(e,t.byteOffset,t.length)}function Hr(t,n){if(t!==n){var e=t!==U,r=null===t,i=t===t,o=Cu(t),a=n!==U,u=null===n,s=n===n,l=Cu(n);if(!u&&!l&&!o&&t>n||o&&a&&s&&!u&&!l||r&&a&&s||!e&&s||!i)return 1;if(!r&&!o&&!l&&n>t||l&&e&&i&&!r&&!o||u&&e&&i||!a&&i||!s)return-1}return 0}function Yr(t,n,e){for(var r=-1,i=t.criteria,o=n.criteria,a=i.length,u=e.length;++r<a;){var s=Hr(i[r],o[r]);if(s){if(r>=u)return s;var l=e[r];return s*("desc"==l?-1:1)}}return t.index-n.index}function Gr(t,n,e,r){for(var i=-1,o=t.length,a=e.length,u=-1,s=n.length,l=Fl(o-a,0),c=Array(s+l),f=!r;++u<s;)c[u]=n[u];for(;++i<a;)(f||o>i)&&(c[e[i]]=t[i]);for(;l--;)c[u++]=t[i++];return c}function Xr(t,n,e,r){for(var i=-1,o=t.length,a=-1,u=e.length,s=-1,l=n.length,c=Fl(o-u,0),f=Array(c+l),h=!r;++i<c;)f[i]=t[i];for(var p=i;++s<l;)f[p+s]=n[s];for(;++a<u;)(h||o>i)&&(f[p+e[a]]=t[i++]);return f}function Zr(t,n){var e=-1,r=t.length;for(n||(n=Array(r));++e<r;)n[e]=t[e];return n}function Jr(t,n,e,r){e||(e={});for(var i=-1,o=n.length;++i<o;){var a=n[i],u=r?r(e[a],t[a],a,e,t):t[a];le(e,a,u)}return e}function Kr(t,n){return Jr(t,Oi(t),n)}function Qr(t,n){return function(e,i){var o=tf(e)?r:ce,a=n?n():{};return o(e,t,Mi(i),a)}}function ti(t){return Ra(function(n,e){var r=-1,i=e.length,o=i>1?e[i-1]:U,a=i>2?e[2]:U;for(o="function"==typeof o?(i--,o):U,a&&Vi(e[0],e[1],a)&&(o=3>i?U:o,i=1),n=Object(n);++r<i;){var u=e[r];u&&t(n,u,r,o)}return n})}function ni(t,n){return function(e,r){if(null==e)return e;if(!Xa(e))return t(e,r);for(var i=e.length,o=n?i:-1,a=Object(e);(n?o--:++o<i)&&r(a[o],o,a)!==!1;);return e}}function ei(t){return function(n,e,r){for(var i=-1,o=Object(n),a=r(n),u=a.length;u--;){var s=a[t?u:++i];if(e(o[s],s,o)===!1)break}return n}}function ri(t,n,e){function r(){var n=this&&this!==Re&&this instanceof r?o:t;return n.apply(i?e:this,arguments)}var i=n&J,o=ai(t);return r}function ii(t){return function(n){n=ju(n);var e=ge.test(n)?V(n):U,r=e?e[0]:n.charAt(0),i=e?Dr(e,1).join(""):n.slice(1);return r[t]()+i}}function oi(t){return function(n){return p(js(ds(n).replace(he,"")),t,"")}}function ai(t){return function(){var n=arguments;switch(n.length){case 0:return new t;case 1:return new t(n[0]);case 2:return new t(n[0],n[1]);case 3:return new t(n[0],n[1],n[2]);case 4:return new t(n[0],n[1],n[2],n[3]);case 5:return new t(n[0],n[1],n[2],n[3],n[4]);case 6:return new t(n[0],n[1],n[2],n[3],n[4],n[5]);case 7:return new t(n[0],n[1],n[2],n[3],n[4],n[5],n[6])}var e=_e(t.prototype),r=t.apply(e,n);return su(r)?r:e}}function ui(t,n,r){function i(){for(var a=arguments.length,u=Array(a),s=a,l=Ei(i);s--;)u[s]=arguments[s];var c=3>a&&u[0]!==l&&u[a-1]!==l?[]:I(u,l);if(a-=c.length,r>a)return mi(t,n,li,i.placeholder,U,u,c,U,U,r-a);var f=this&&this!==Re&&this instanceof i?o:t;return e(f,this,u)}var o=ai(t);return i}function si(t){return Ra(function(n){n=Ne(n,1);var e=n.length,r=e,i=On.prototype.thru;for(t&&n.reverse();r--;){var o=n[r];if("function"!=typeof o)throw new ll(G);if(i&&!a&&"wrapper"==_i(o))var a=new On([],!0)}for(r=a?r:e;++r<e;){o=n[r];var u=_i(o),s="wrapper"==u?dc(o):U;a=s&&Ui(s[0])&&s[1]==(it|tt|et|ot)&&!s[4].length&&1==s[9]?a[_i(s[0])].apply(a,s[3]):1==o.length&&Ui(o)?a[u]():a.thru(o)}return function(){var t=arguments,r=t[0];if(a&&1==t.length&&tf(r)&&r.length>=Y)return a.plant(r).value();for(var i=0,o=e?n[i].apply(this,t):r;++i<e;)o=n[i].call(this,o);return o}})}function li(t,n,e,r,i,o,a,u,s,l){function c(){for(var m=arguments.length,y=m,$=Array(m);y--;)$[y]=arguments[y];if(d)var x=Ei(c),b=O($,x);if(r&&($=Gr($,r,i,d)),o&&($=Xr($,o,a,d)),m-=b,d&&l>m){var w=I($,x);return mi(t,n,li,c.placeholder,e,$,w,u,s,l-m)}var C=h?e:this,S=p?C[t]:t;return m=$.length,u?$=Ki($,u):v&&m>1&&$.reverse(),f&&m>s&&($.length=s),this&&this!==Re&&this instanceof c&&(S=g||ai(S)),S.apply(C,$)}var f=n&it,h=n&J,p=n&K,d=n&(tt|nt),v=n&at,g=p?U:ai(t);return c}function ci(t,n){return function(e,r){return Ge(e,t,n(r),{})}}function fi(t){return function(n,e){var r;if(n===U&&e===U)return 0;if(n!==U&&(r=n),e!==U){if(r===U)return e;"string"==typeof n||"string"==typeof e?(n=Mr(n),e=Mr(e)):(n=_r(n),e=_r(e)),r=t(n,e)}return r}}function hi(t){return Ra(function(n){return n=1==n.length&&tf(n[0])?f(n[0],M(Mi())):f(Ne(n,1,zi),M(Mi())),Ra(function(r){var i=this;return t(n,function(t){return e(t,i,r)})})})}function pi(t,n){n=n===U?" ":Mr(n);var e=n.length;if(2>e)return e?yr(n,t):n;var r=yr(n,Tl(t/q(n)));return ge.test(n)?Dr(V(r),0,t).join(""):r.slice(0,t)}function di(t,n,r,i){function o(){for(var n=-1,s=arguments.length,l=-1,c=i.length,f=Array(c+s),h=this&&this!==Re&&this instanceof o?u:t;++l<c;)f[l]=i[l];for(;s--;)f[l++]=arguments[++n];return e(h,a?r:this,f)}var a=n&J,u=ai(t);return o}function vi(t){return function(n,e,r){return r&&"number"!=typeof r&&Vi(n,e,r)&&(e=r=U),n=Ou(n),n=n===n?n:0,e===U?(e=n,n=0):e=Ou(e)||0,r=r===U?e>n?1:-1:Ou(r)||0,mr(n,e,r,t)}}function gi(t){return function(n,e){return"string"==typeof n&&"string"==typeof e||(n=Ou(n),e=Ou(e)),t(n,e)}}function mi(t,n,e,r,i,o,a,u,s,l){var c=n&tt,f=c?a:U,h=c?U:a,p=c?o:U,d=c?U:o;n|=c?et:rt,n&=~(c?rt:et),n&Q||(n&=~(J|K));var v=[t,n,i,p,f,d,h,u,s,l],g=e.apply(U,v);return Ui(t)&&mc(g,v),g.placeholder=r,g}function yi(t){var n=ul[t];return function(t,e){if(t=Ou(t),e=Eu(e)){var r=(ju(t)+"e").split("e"),i=n(r[0]+"e"+(+r[1]+e));return r=(ju(i)+"e").split("e"),+(r[0]+"e"+(+r[1]-e))}return n(t)}}function $i(t,n,e,r,i,o,a,u){var s=n&K;if(!s&&"function"!=typeof t)throw new ll(G);var l=r?r.length:0;if(l||(n&=~(et|rt),r=i=U),a=a===U?a:Fl(Eu(a),0),u=u===U?u:Eu(u),l-=i?i.length:0,n&rt){var c=r,f=i;r=i=U}var h=s?U:dc(t),p=[t,n,e,r,i,c,f,o,a,u];if(h&&Xi(p,h),t=p[0],n=p[1],e=p[2],r=p[3],i=p[4],u=p[9]=null==p[9]?s?0:t.length:Fl(p[9]-l,0),!u&&n&(tt|nt)&&(n&=~(tt|nt)),n&&n!=J)d=n==tt||n==nt?ui(t,n,u):n!=et&&n!=(J|et)||i.length?li.apply(U,p):di(t,n,e,r);else var d=ri(t,n,e);var v=h?hc:mc;return v(d,p)}function xi(t,n,e,r,i,o){var a=-1,u=i&st,s=i&ut,l=t.length,c=n.length;if(l!=c&&!(u&&c>l))return!1;var f=o.get(t);if(f)return f==n;var h=!0;for(o.set(t,n);++a<l;){var p=t[a],d=n[a];if(r)var g=u?r(d,p,a,n,t,o):r(p,d,a,t,n,o);if(g!==U){if(g)continue;h=!1;break}if(s){if(!v(n,function(t){return p===t||e(p,t,r,i,o)})){h=!1;break}}else if(p!==d&&!e(p,d,r,i,o)){h=!1;break}}return o["delete"](t),h}function bi(t,n,e,r,i,o,a){switch(e){case qt:if(t.byteLength!=n.byteLength||t.byteOffset!=n.byteOffset)return!1;t=t.buffer,n=n.buffer;case zt:return!(t.byteLength!=n.byteLength||!r(new Cl(t),new Cl(n)));case _t:case Mt:return+t==+n;case kt:return t.name==n.name&&t.message==n.message;case Ot:return t!=+t?n!=+n:t==+n;case jt:case Rt:return t==n+"";case Pt:var u=F;case Nt:var s=o&st;if(u||(u=z),t.size!=n.size&&!s)return!1;var l=a.get(t);return l?l==n:(o|=ut,a.set(t,n),xi(u(t),u(n),r,i,o,a));case Dt:if(ac)return ac.call(t)==ac.call(n)}return!1}function wi(t,n,e,r,i,o){var a=i&st,u=Yu(t),s=u.length,l=Yu(n),c=l.length;if(s!=c&&!a)return!1;for(var f=s;f--;){var h=u[f];if(!(a?h in n:We(n,h)))return!1}var p=o.get(t);if(p)return p==n;var d=!0;o.set(t,n);for(var v=a;++f<s;){h=u[f];var g=t[h],m=n[h];if(r)var y=a?r(m,g,h,n,t,o):r(g,m,h,t,n,o);if(!(y===U?g===m||e(g,m,r,i,o):y)){d=!1;break}v||(v="constructor"==h)}if(d&&!v){var $=t.constructor,x=n.constructor;$!=x&&"constructor"in t&&"constructor"in n&&!("function"==typeof $&&$ instanceof $&&"function"==typeof x&&x instanceof x)&&(d=!1)}return o["delete"](t),d}function Ci(t){return Ve(t,Yu,Oi)}function Si(t){return Ve(t,Gu,gc)}function _i(t){for(var n=t.name+"",e=Ql[n],r=dl.call(Ql,n)?e.length:0;r--;){var i=e[r],o=i.func;if(null==o||o==t)return i.name}return n}function Mi(){var t=En.iteratee||Is;return t=t===Is?Qe:t,arguments.length?t(arguments[0],arguments[1]):t}function ki(t){for(var n=es(t),e=n.length;e--;)n[e][2]=Yi(n[e][1]);return n}function Ai(t,n){var e=t[n];return du(e)?e:U}function Ei(t){var n=dl.call(En,"placeholder")?En:t;return n.placeholder}function Pi(t){return jl(Object(t))}function Oi(t){return Ml(Object(t))}function Ti(t){return ml.call(t)}function Li(t,n,e){for(var r=-1,i=e.length;++r<i;){var o=e[r],a=o.size;switch(o.type){case"drop":t+=a;break;case"dropRight":n-=a;break;case"take":n=Il(n,t+a);break;case"takeRight":t=Fl(t,n-a)}}return{start:t,end:n}}function ji(t,n,e){n=Bi(n,t)?[n]:Rr(n);for(var r,i=-1,o=n.length;++i<o;){var a=Qi(n[i]);if(!(r=null!=t&&e(t,a)))break;t=t[a]}if(r)return r;var o=t?t.length:0;return!!o&&uu(o)&&qi(a,o)&&(tf(t)||wu(t)||Ya(t))}function Ni(t){var n=t.length,e=t.constructor(n);return n&&"string"==typeof t[0]&&dl.call(t,"index")&&(e.index=t.index,e.input=t.input),e}function Ri(t){return"function"!=typeof t.constructor||Hi(t)?{}:_e(Pi(t))}function Di(t,n,e,r){var i=t.constructor;switch(n){case zt:return Ir(t);case _t:case Mt:return new i(+t);case qt:return zr(t,r);case Vt:case Bt:case Wt:case Ut:case Ht:case Yt:case Gt:case Xt:case Zt:return Ur(t,r);case Pt:return qr(t,r,e);case Ot:case Rt:return new i(t);case jt:return Vr(t);case Nt:return Br(t,r,e);case Dt:return Wr(t)}}function Fi(t){var n=t?t.length:U;return uu(n)&&(tf(t)||wu(t)||Ya(t))?S(n,String):null}function Ii(t){return Za(t)&&(tf(t)||Ya(t))}function zi(t){return tf(t)&&!(2==t.length&&!ou(t[0]))}function qi(t,n){return n=null==n?mt:n,!!n&&("number"==typeof t||_n.test(t))&&t>-1&&t%1==0&&n>t}function Vi(t,n,e){if(!su(e))return!1;var r=typeof n;return("number"==r?Xa(e)&&qi(n,e.length):"string"==r&&n in e)?Ha(e[n],t):!1}function Bi(t,n){if(tf(t))return!1;var e=typeof t;return"number"==e||"symbol"==e||"boolean"==e||null==t||Cu(t)?!0:ln.test(t)||!sn.test(t)||null!=n&&t in Object(n)}function Wi(t){var n=typeof t;return"string"==n||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==t:null===t}function Ui(t){var n=_i(t),e=En[n];if("function"!=typeof e||!(n in Tn.prototype))return!1;if(t===e)return!0;var r=dc(e);return!!r&&t===r[0]}function Hi(t){var n=t&&t.constructor,e="function"==typeof n&&n.prototype||fl;return t===e}function Yi(t){return t===t&&!su(t)}function Gi(t,n){return function(e){return null==e?!1:e[t]===n&&(n!==U||t in Object(e))}}function Xi(t,n){var e=t[1],r=n[1],i=e|r,o=(J|K|it)>i,a=r==it&&e==tt||r==it&&e==ot&&t[7].length<=n[8]||r==(it|ot)&&n[7].length<=n[8]&&e==tt;if(!o&&!a)return t;r&J&&(t[2]=n[2],i|=e&J?0:Q);var u=n[3];if(u){var s=t[3];t[3]=s?Gr(s,u,n[4]):u,t[4]=s?I(t[3],Z):n[4]}return u=n[5],u&&(s=t[5],t[5]=s?Xr(s,u,n[6]):u,t[6]=s?I(t[5],Z):n[6]),u=n[7],u&&(t[7]=u),r&it&&(t[8]=null==t[8]?n[8]:Il(t[8],n[8])),null==t[9]&&(t[9]=n[9]),t[0]=n[0],t[1]=i,t}function Zi(t,n,e,r,i,o){return su(t)&&su(n)&&ar(t,n,U,Zi,o.set(n,t)),t}function Ji(t,n){return 1==n.length?t:qe(t,xr(n,0,-1))}function Ki(t,n){for(var e=t.length,r=Il(n.length,e),i=Zr(t);r--;){var o=n[r];t[r]=qi(o,e)?i[o]:U}return t}function Qi(t){if("string"==typeof t||Cu(t))return t;var n=t+"";return"0"==n&&1/t==-gt?"-0":n}function to(t){if(null!=t){try{return pl.call(t)}catch(n){}try{return t+""}catch(n){}}return""}function no(t){if(t instanceof Tn)return t.clone();var n=new On(t.__wrapped__,t.__chain__);return n.__actions__=Zr(t.__actions__),n.__index__=t.__index__,n.__values__=t.__values__,n}function eo(t,n,e){n=(e?Vi(t,n,e):n===U)?1:Fl(Eu(n),0);var r=t?t.length:0;if(!r||1>n)return[];for(var i=0,o=0,a=Array(Tl(r/n));r>i;)a[o++]=xr(t,i,i+=n);return a}function ro(t){for(var n=-1,e=t?t.length:0,r=0,i=[];++n<e;){var o=t[n];o&&(i[r++]=o)}return i}function io(){var t=arguments.length,n=qa(arguments[0]);if(2>t)return t?Zr(n):[];for(var e=Array(t-1);t--;)e[t-1]=arguments[t];return i(n,Ne(e,1))}function oo(t,n,e){var r=t?t.length:0;return r?(n=e||n===U?1:Eu(n),xr(t,0>n?0:n,r)):[]}function ao(t,n,e){var r=t?t.length:0;return r?(n=e||n===U?1:Eu(n),n=r-n,xr(t,0,0>n?0:n)):[]}function uo(t,n){return t&&t.length?Pr(t,Mi(n,3),!0,!0):[]}function so(t,n){return t&&t.length?Pr(t,Mi(n,3),!0):[]}function lo(t,n,e,r){var i=t?t.length:0;return i?(e&&"number"!=typeof e&&Vi(t,n,e)&&(e=0,r=i),Le(t,n,e,r)):[]}function co(t,n){return t&&t.length?m(t,Mi(n,3)):-1}function fo(t,n){return t&&t.length?m(t,Mi(n,3),!0):-1}function ho(t){var n=t?t.length:0;return n?Ne(t,1):[]}function po(t){var n=t?t.length:0;return n?Ne(t,gt):[]}function vo(t,n){var e=t?t.length:0;return e?(n=n===U?1:Eu(n),Ne(t,n)):[]}function go(t){for(var n=-1,e=t?t.length:0,r={};++n<e;){var i=t[n];r[i[0]]=i[1]}return r}function mo(t){return t&&t.length?t[0]:U}function yo(t,n,e){var r=t?t.length:0;return r?(e=Eu(e),0>e&&(e=Fl(r+e,0)),y(t,n,e)):-1}function $o(t){return ao(t,1)}function xo(t,n){return t?Rl.call(t,n):""}function bo(t){var n=t?t.length:0;return n?t[n-1]:U}function wo(t,n,e){var r=t?t.length:0;if(!r)return-1;var i=r;if(e!==U&&(i=Eu(e),i=(0>i?Fl(r+i,0):Il(i,r-1))+1),n!==n)return N(t,i,!0);for(;i--;)if(t[i]===n)return i;return-1}function Co(t,n){return t&&t.length?sr(t,Eu(n)):U}function So(t,n){return t&&t.length&&n&&n.length?dr(t,n):t}function _o(t,n,e){return t&&t.length&&n&&n.length?dr(t,n,Mi(e)):t}function Mo(t,n,e){return t&&t.length&&n&&n.length?dr(t,n,U,e):t}function ko(t,n){var e=[];if(!t||!t.length)return e;var r=-1,i=[],o=t.length;for(n=Mi(n,3);++r<o;){var a=t[r];n(a,r,t)&&(e.push(a),i.push(r))}return vr(t,i),e}function Ao(t){return t?Bl.call(t):t}function Eo(t,n,e){var r=t?t.length:0;return r?(e&&"number"!=typeof e&&Vi(t,n,e)?(n=0,e=r):(n=null==n?0:Eu(n),e=e===U?r:Eu(e)),xr(t,n,e)):[]}function Po(t,n){return wr(t,n)}function Oo(t,n,e){return Cr(t,n,Mi(e))}function To(t,n){var e=t?t.length:0;if(e){var r=wr(t,n);if(e>r&&Ha(t[r],n))return r}return-1}function Lo(t,n){return wr(t,n,!0)}function jo(t,n,e){return Cr(t,n,Mi(e),!0)}function No(t,n){var e=t?t.length:0;if(e){var r=wr(t,n,!0)-1;if(Ha(t[r],n))return r}return-1}function Ro(t){return t&&t.length?Sr(t):[]}function Do(t,n){return t&&t.length?Sr(t,Mi(n)):[]}function Fo(t){return oo(t,1)}function Io(t,n,e){return t&&t.length?(n=e||n===U?1:Eu(n),xr(t,0,0>n?0:n)):[]}function zo(t,n,e){var r=t?t.length:0;return r?(n=e||n===U?1:Eu(n),n=r-n,xr(t,0>n?0:n,r)):[]}function qo(t,n){return t&&t.length?Pr(t,Mi(n,3),!1,!0):[]}function Vo(t,n){return t&&t.length?Pr(t,Mi(n,3)):[]}function Bo(t){return t&&t.length?kr(t):[]}function Wo(t,n){return t&&t.length?kr(t,Mi(n)):[]}function Uo(t,n){return t&&t.length?kr(t,U,n):[]}function Ho(t){if(!t||!t.length)return[];var n=0;return t=s(t,function(t){return Za(t)?(n=Fl(t.length,n),!0):void 0}),S(n,function(n){return f(t,hr(n))})}function Yo(t,n){if(!t||!t.length)return[];var r=Ho(t);return null==n?r:f(r,function(t){return e(n,U,t)})}function Go(t,n){return Lr(t||[],n||[],le)}function Xo(t,n){return Lr(t||[],n||[],$r)}function Zo(t){var n=En(t);return n.__chain__=!0,n}function Jo(t,n){return n(t),t}function Ko(t,n){return n(t)}function Qo(){return Zo(this)}function ta(){return new On(this.value(),this.__chain__)}function na(){this.__values__===U&&(this.__values__=Au(this.value()));var t=this.__index__>=this.__values__.length,n=t?U:this.__values__[this.__index__++];return{done:t,value:n}}function ea(){return this}function ra(t){for(var n,e=this;e instanceof Pn;){var r=no(e);r.__index__=0,r.__values__=U,n?i.__wrapped__=r:n=r;var i=r;e=e.__wrapped__}return i.__wrapped__=t,n}function ia(){var t=this.__wrapped__;if(t instanceof Tn){var n=t;return this.__actions__.length&&(n=new Tn(this)),n=n.reverse(),n.__actions__.push({func:Ko,args:[Ao],thisArg:U}),new On(n,this.__chain__)}return this.thru(Ao)}function oa(){return Or(this.__wrapped__,this.__actions__)}function aa(t,n,e){var r=tf(t)?u:Pe;return e&&Vi(t,n,e)&&(n=U),r(t,Mi(n,3))}function ua(t,n){var e=tf(t)?s:je;return e(t,Mi(n,3))}function sa(t,n){if(n=Mi(n,3),tf(t)){var e=m(t,n);return e>-1?t[e]:U}return g(t,n,sc)}function la(t,n){if(n=Mi(n,3),tf(t)){var e=m(t,n,!0);return e>-1?t[e]:U}return g(t,n,lc)}function ca(t,n){return Ne(ga(t,n),1)}function fa(t,n){return Ne(ga(t,n),gt)}function ha(t,n,e){return e=e===U?1:Eu(e),Ne(ga(t,n),e)}function pa(t,n){return"function"==typeof n&&tf(t)?o(t,n):sc(t,Mi(n))}function da(t,n){return"function"==typeof n&&tf(t)?a(t,n):lc(t,Mi(n))}function va(t,n,e,r){t=Xa(t)?t:ss(t),e=e&&!r?Eu(e):0;var i=t.length;return 0>e&&(e=Fl(i+e,0)),wu(t)?i>=e&&t.indexOf(n,e)>-1:!!i&&y(t,n,e)>-1}function ga(t,n){var e=tf(t)?f:rr;return e(t,Mi(n,3))}function ma(t,n,e,r){return null==t?[]:(tf(n)||(n=null==n?[]:[n]),e=r?U:e,tf(e)||(e=null==e?[]:[e]),lr(t,n,e))}function ya(t,n,e){var r=tf(t)?p:b,i=arguments.length<3;return r(t,Mi(n,4),e,i,sc)}function $a(t,n,e){var r=tf(t)?d:b,i=arguments.length<3;return r(t,Mi(n,4),e,i,lc)}function xa(t,n){var e=tf(t)?s:je;return n=Mi(n,3),e(t,function(t,e,r){return!n(t,e,r)})}function ba(t){var n=Xa(t)?t:ss(t),e=n.length;return e>0?n[gr(0,e-1)]:U}function wa(t,n,e){var r=-1,i=Au(t),o=i.length,a=o-1;for(n=(e?Vi(t,n,e):n===U)?1:we(Eu(n),0,o);++r<n;){var u=gr(r,a),s=i[u];i[u]=i[r],i[r]=s}return i.length=n,i}function Ca(t){return wa(t,xt)}function Sa(t){if(null==t)return 0;if(Xa(t)){var n=t.length;return n&&wu(t)?q(t):n}if(lu(t)){var e=Ti(t);if(e==Pt||e==Nt)return t.size}return Yu(t).length}function _a(t,n,e){var r=tf(t)?v:br;return e&&Vi(t,n,e)&&(n=U),r(t,Mi(n,3))}function Ma(t,n){if("function"!=typeof n)throw new ll(G);return t=Eu(t),function(){return--t<1?n.apply(this,arguments):void 0}}function ka(t,n,e){return n=e?U:n,n=t&&null==n?t.length:n,$i(t,it,U,U,U,U,n)}function Aa(t,n){var e;if("function"!=typeof n)throw new ll(G);return t=Eu(t),function(){return--t>0&&(e=n.apply(this,arguments)),1>=t&&(n=U),e}}function Ea(t,n,e){n=e?U:n;var r=$i(t,tt,U,U,U,U,U,n);return r.placeholder=Ea.placeholder,r}function Pa(t,n,e){n=e?U:n;var r=$i(t,nt,U,U,U,U,U,n);return r.placeholder=Pa.placeholder,r}function Oa(t,n,e){function r(n){var e=h,r=p;return h=p=U,y=n,v=t.apply(r,e)}function i(t){return y=t,g=Pl(u,n),$?r(t):v}function o(t){var e=t-m,r=t-y,i=n-e;return x?Il(i,d-r):i}function a(t){var e=t-m,r=t-y;return!m||e>=n||0>e||x&&r>=d}function u(){var t=Bc();return a(t)?s(t):void(g=Pl(u,o(t)))}function s(t){return Sl(g),g=U,b&&h?r(t):(h=p=U,v)}function l(){g!==U&&Sl(g),m=y=0,h=p=g=U}function c(){return g===U?v:s(Bc())}function f(){var t=Bc(),e=a(t);if(h=arguments,p=this,m=t,e){if(g===U)return i(m);if(x)return Sl(g),g=Pl(u,n),r(m)}return g===U&&(g=Pl(u,n)),v}var h,p,d,v,g,m=0,y=0,$=!1,x=!1,b=!0;if("function"!=typeof t)throw new ll(G);return n=Ou(n)||0,su(e)&&($=!!e.leading,x="maxWait"in e,d=x?Fl(Ou(e.maxWait)||0,n):d,b="trailing"in e?!!e.trailing:b),f.cancel=l,f.flush=c,f}function Ta(t){return $i(t,at)}function La(t,n){if("function"!=typeof t||n&&"function"!=typeof n)throw new ll(G);var e=function(){var r=arguments,i=n?n.apply(this,r):r[0],o=e.cache;if(o.has(i))return o.get(i);var a=t.apply(this,r);return e.cache=o.set(i,a),a};return e.cache=new(La.Cache||qn),e}function ja(t){if("function"!=typeof t)throw new ll(G);return function(){return!t.apply(this,arguments)}}function Na(t){return Aa(2,t)}function Ra(t,n){if("function"!=typeof t)throw new ll(G);return n=Fl(n===U?t.length-1:Eu(n),0),function(){for(var r=arguments,i=-1,o=Fl(r.length-n,0),a=Array(o);++i<o;)a[i]=r[n+i];switch(n){case 0:return t.call(this,a);case 1:return t.call(this,r[0],a);case 2:return t.call(this,r[0],r[1],a)}var u=Array(n+1);for(i=-1;++i<n;)u[i]=r[i];return u[n]=a,e(t,this,u)}}function Da(t,n){if("function"!=typeof t)throw new ll(G);return n=n===U?0:Fl(Eu(n),0),Ra(function(r){var i=r[n],o=Dr(r,0,n);return i&&h(o,i),e(t,this,o)})}function Fa(t,n,e){var r=!0,i=!0;if("function"!=typeof t)throw new ll(G);return su(e)&&(r="leading"in e?!!e.leading:r,i="trailing"in e?!!e.trailing:i),Oa(t,n,{leading:r,maxWait:n,trailing:i})}function Ia(t){return ka(t,1)}function za(t,n){return n=null==n?Fs:n,Xc(n,t)}function qa(){if(!arguments.length)return[];var t=arguments[0];return tf(t)?t:[t]}function Va(t){return Ce(t,!1,!0)}function Ba(t,n){return Ce(t,!1,!0,n)}function Wa(t){return Ce(t,!0,!0)}function Ua(t,n){return Ce(t,!0,!0,n)}function Ha(t,n){return t===n||t!==t&&n!==n}function Ya(t){return Za(t)&&dl.call(t,"callee")&&(!El.call(t,"callee")||ml.call(t)==Ct)}function Ga(t){return lu(t)&&ml.call(t)==zt}function Xa(t){return null!=t&&uu(vc(t))&&!ou(t)}function Za(t){return lu(t)&&Xa(t)}function Ja(t){return t===!0||t===!1||lu(t)&&ml.call(t)==_t}function Ka(t){return lu(t)&&ml.call(t)==Mt}function Qa(t){return!!t&&1===t.nodeType&&lu(t)&&!yu(t)}function tu(t){if(Xa(t)&&(tf(t)||wu(t)||ou(t.splice)||Ya(t)||nf(t)))return!t.length;if(lu(t)){var n=Ti(t);if(n==Pt||n==Nt)return!t.size}for(var e in t)if(dl.call(t,e))return!1;return!(Kl&&Yu(t).length)}function nu(t,n){return Ze(t,n)}function eu(t,n,e){e="function"==typeof e?e:U;var r=e?e(t,n):U;return r===U?Ze(t,n,e):!!r}function ru(t){return lu(t)?ml.call(t)==kt||"string"==typeof t.message&&"string"==typeof t.name:!1}function iu(t){return"number"==typeof t&&Nl(t)}function ou(t){var n=su(t)?ml.call(t):"";return n==At||n==Et}function au(t){return"number"==typeof t&&t==Eu(t)}function uu(t){return"number"==typeof t&&t>-1&&t%1==0&&mt>=t}function su(t){var n=typeof t;return!!t&&("object"==n||"function"==n)}function lu(t){return!!t&&"object"==typeof t}function cu(t){return lu(t)&&Ti(t)==Pt}function fu(t,n){return t===n||Ke(t,n,ki(n))}function hu(t,n,e){return e="function"==typeof e?e:U,Ke(t,n,ki(n),e)}function pu(t){return mu(t)&&t!=+t}function du(t){if(!su(t))return!1;var n=ou(t)||R(t)?$l:Cn;return n.test(to(t))}function vu(t){return null===t}function gu(t){return null==t}function mu(t){return"number"==typeof t||lu(t)&&ml.call(t)==Ot}function yu(t){if(!lu(t)||ml.call(t)!=Tt||R(t))return!1;var n=Pi(t);if(null===n)return!0;var e=dl.call(n,"constructor")&&n.constructor;return"function"==typeof e&&e instanceof e&&pl.call(e)==gl}function $u(t){return su(t)&&ml.call(t)==jt}function xu(t){return au(t)&&t>=-mt&&mt>=t}function bu(t){return lu(t)&&Ti(t)==Nt}function wu(t){return"string"==typeof t||!tf(t)&&lu(t)&&ml.call(t)==Rt}function Cu(t){return"symbol"==typeof t||lu(t)&&ml.call(t)==Dt}function Su(t){return lu(t)&&uu(t.length)&&!!xe[ml.call(t)]}function _u(t){return t===U}function Mu(t){return lu(t)&&Ti(t)==Ft}function ku(t){return lu(t)&&ml.call(t)==It}function Au(t){if(!t)return[];if(Xa(t))return wu(t)?V(t):Zr(t);if(kl&&t[kl])return D(t[kl]());var n=Ti(t),e=n==Pt?F:n==Nt?z:ss;return e(t)}function Eu(t){if(!t)return 0===t?t:0;if(t=Ou(t),t===gt||t===-gt){var n=0>t?-1:1;return n*yt}var e=t%1;return t===t?e?t-e:t:0}function Pu(t){return t?we(Eu(t),0,xt):0}function Ou(t){if("number"==typeof t)return t;if(Cu(t))return $t;if(su(t)){var n=ou(t.valueOf)?t.valueOf():t;t=su(n)?n+"":n}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(pn,"");var e=wn.test(t);return e||Sn.test(t)?Ae(t.slice(2),e?2:8):bn.test(t)?$t:+t}function Tu(t){return Jr(t,Gu(t))}function Lu(t){return we(Eu(t),-mt,mt)}function ju(t){return null==t?"":Mr(t)}function Nu(t,n){var e=_e(t);return n?fe(e,n):e}function Ru(t,n){return g(t,Mi(n,3),Fe,!0);
+}function Du(t,n){return g(t,Mi(n,3),Ie,!0)}function Fu(t,n){return null==t?t:cc(t,Mi(n),Gu)}function Iu(t,n){return null==t?t:fc(t,Mi(n),Gu)}function zu(t,n){return t&&Fe(t,Mi(n))}function qu(t,n){return t&&Ie(t,Mi(n))}function Vu(t){return null==t?[]:ze(t,Yu(t))}function Bu(t){return null==t?[]:ze(t,Gu(t))}function Wu(t,n,e){var r=null==t?U:qe(t,n);return r===U?e:r}function Uu(t,n){return null!=t&&ji(t,n,We)}function Hu(t,n){return null!=t&&ji(t,n,Ue)}function Yu(t){var n=Hi(t);if(!n&&!Xa(t))return tr(t);var e=Fi(t),r=!!e,i=e||[],o=i.length;for(var a in t)!We(t,a)||r&&("length"==a||qi(a,o))||n&&"constructor"==a||i.push(a);return i}function Gu(t){for(var n=-1,e=Hi(t),r=nr(t),i=r.length,o=Fi(t),a=!!o,u=o||[],s=u.length;++n<i;){var l=r[n];a&&("length"==l||qi(l,s))||"constructor"==l&&(e||!dl.call(t,l))||u.push(l)}return u}function Xu(t,n){var e={};return n=Mi(n,3),Fe(t,function(t,r,i){e[n(t,r,i)]=t}),e}function Zu(t,n){var e={};return n=Mi(n,3),Fe(t,function(t,r,i){e[r]=n(t,r,i)}),e}function Ju(t,n){return n=Mi(n),fr(t,function(t,e){return!n(t,e)})}function Ku(t,n){return null==t?{}:fr(t,Mi(n))}function Qu(t,n,e){n=Bi(n,t)?[n]:Rr(n);var r=-1,i=n.length;for(i||(t=U,i=1);++r<i;){var o=null==t?U:t[Qi(n[r])];o===U&&(r=i,o=e),t=ou(o)?o.call(t):o}return t}function ts(t,n,e){return null==t?t:$r(t,n,e)}function ns(t,n,e,r){return r="function"==typeof r?r:U,null==t?t:$r(t,n,e,r)}function es(t){return _(t,Yu(t))}function rs(t){return _(t,Gu(t))}function is(t,n,e){var r=tf(t)||Su(t);if(n=Mi(n,4),null==e)if(r||su(t)){var i=t.constructor;e=r?tf(t)?new i:[]:ou(i)?_e(Pi(t)):{}}else e={};return(r?o:Fe)(t,function(t,r,i){return n(e,t,r,i)}),e}function os(t,n){return null==t?!0:Ar(t,n)}function as(t,n,e){return null==t?t:Er(t,n,Nr(e))}function us(t,n,e,r){return r="function"==typeof r?r:U,null==t?t:Er(t,n,Nr(e),r)}function ss(t){return t?k(t,Yu(t)):[]}function ls(t){return null==t?[]:k(t,Gu(t))}function cs(t,n,e){return e===U&&(e=n,n=U),e!==U&&(e=Ou(e),e=e===e?e:0),n!==U&&(n=Ou(n),n=n===n?n:0),we(Ou(t),n,e)}function fs(t,n,e){return n=Ou(n)||0,e===U?(e=n,n=0):e=Ou(e)||0,t=Ou(t),He(t,n,e)}function hs(t,n,e){if(e&&"boolean"!=typeof e&&Vi(t,n,e)&&(n=e=U),e===U&&("boolean"==typeof n?(e=n,n=U):"boolean"==typeof t&&(e=t,t=U)),t===U&&n===U?(t=0,n=1):(t=Ou(t)||0,n===U?(n=t,t=0):n=Ou(n)||0),t>n){var r=t;t=n,n=r}if(e||t%1||n%1){var i=ql();return Il(t+i*(n-t+ke("1e-"+((i+"").length-1))),n)}return gr(t,n)}function ps(t){return Mf(ju(t).toLowerCase())}function ds(t){return t=ju(t),t&&t.replace(Mn,T).replace(pe,"")}function vs(t,n,e){t=ju(t),n=Mr(n);var r=t.length;return e=e===U?r:we(Eu(e),0,r),e-=n.length,e>=0&&t.indexOf(n,e)==e}function gs(t){return t=ju(t),t&&rn.test(t)?t.replace(nn,L):t}function ms(t){return t=ju(t),t&&hn.test(t)?t.replace(fn,"\\$&"):t}function ys(t,n,e){t=ju(t),n=Eu(n);var r=n?q(t):0;if(!n||r>=n)return t;var i=(n-r)/2;return pi(Ll(i),e)+t+pi(Tl(i),e)}function $s(t,n,e){t=ju(t),n=Eu(n);var r=n?q(t):0;return n&&n>r?t+pi(n-r,e):t}function xs(t,n,e){t=ju(t),n=Eu(n);var r=n?q(t):0;return n&&n>r?pi(n-r,e)+t:t}function bs(t,n,e){return e||null==n?n=0:n&&(n=+n),t=ju(t).replace(pn,""),zl(t,n||(xn.test(t)?16:10))}function ws(t,n,e){return n=(e?Vi(t,n,e):n===U)?1:Eu(n),yr(ju(t),n)}function Cs(){var t=arguments,n=ju(t[0]);return t.length<3?n:Vl.call(n,t[1],t[2])}function Ss(t,n,e){return e&&"number"!=typeof e&&Vi(t,n,e)&&(n=e=U),(e=e===U?xt:e>>>0)?(t=ju(t),t&&("string"==typeof n||null!=n&&!$u(n))&&(n=Mr(n),""==n&&ge.test(t))?Dr(V(t),0,e):Wl.call(t,n,e)):[]}function _s(t,n,e){return t=ju(t),e=we(Eu(e),0,t.length),t.lastIndexOf(Mr(n),e)==e}function Ms(t,n,e){var r=En.templateSettings;e&&Vi(t,n,e)&&(n=U),t=ju(t),n=uf({},n,r,ue);var i,o,a=uf({},n.imports,r.imports,ue),u=Yu(a),s=k(a,u),l=0,c=n.interpolate||kn,f="__p += '",h=sl((n.escape||kn).source+"|"+c.source+"|"+(c===un?yn:kn).source+"|"+(n.evaluate||kn).source+"|$","g"),p="//# sourceURL="+("sourceURL"in n?n.sourceURL:"lodash.templateSources["+ ++$e+"]")+"\n";t.replace(h,function(n,e,r,a,u,s){return r||(r=a),f+=t.slice(l,s).replace(An,j),e&&(i=!0,f+="' +\n__e("+e+") +\n'"),u&&(o=!0,f+="';\n"+u+";\n__p += '"),r&&(f+="' +\n((__t = ("+r+")) == null ? '' : __t) +\n'"),l=s+n.length,n}),f+="';\n";var d=n.variable;d||(f="with (obj) {\n"+f+"\n}\n"),f=(o?f.replace(Jt,""):f).replace(Kt,"$1").replace(Qt,"$1;"),f="function("+(d||"obj")+") {\n"+(d?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(i?", __e = _.escape":"")+(o?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+f+"return __p\n}";var v=kf(function(){return Function(u,p+"return "+f).apply(U,s)});if(v.source=f,ru(v))throw v;return v}function ks(t){return ju(t).toLowerCase()}function As(t){return ju(t).toUpperCase()}function Es(t,n,e){if(t=ju(t),t&&(e||n===U))return t.replace(pn,"");if(!t||!(n=Mr(n)))return t;var r=V(t),i=V(n),o=A(r,i),a=E(r,i)+1;return Dr(r,o,a).join("")}function Ps(t,n,e){if(t=ju(t),t&&(e||n===U))return t.replace(vn,"");if(!t||!(n=Mr(n)))return t;var r=V(t),i=E(r,V(n))+1;return Dr(r,0,i).join("")}function Os(t,n,e){if(t=ju(t),t&&(e||n===U))return t.replace(dn,"");if(!t||!(n=Mr(n)))return t;var r=V(t),i=A(r,V(n));return Dr(r,i).join("")}function Ts(t,n){var e=lt,r=ct;if(su(n)){var i="separator"in n?n.separator:i;e="length"in n?Eu(n.length):e,r="omission"in n?Mr(n.omission):r}t=ju(t);var o=t.length;if(ge.test(t)){var a=V(t);o=a.length}if(e>=o)return t;var u=e-q(r);if(1>u)return r;var s=a?Dr(a,0,u).join(""):t.slice(0,u);if(i===U)return s+r;if(a&&(u+=s.length-u),$u(i)){if(t.slice(u).search(i)){var l,c=s;for(i.global||(i=sl(i.source,ju($n.exec(i))+"g")),i.lastIndex=0;l=i.exec(c);)var f=l.index;s=s.slice(0,f===U?u:f)}}else if(t.indexOf(Mr(i),u)!=u){var h=s.lastIndexOf(i);h>-1&&(s=s.slice(0,h))}return s+r}function Ls(t){return t=ju(t),t&&en.test(t)?t.replace(tn,B):t}function js(t,n,e){return t=ju(t),n=e?U:n,n===U&&(n=me.test(t)?ve:gn),t.match(n)||[]}function Ns(t){var n=t?t.length:0,r=Mi();return t=n?f(t,function(t){if("function"!=typeof t[1])throw new ll(G);return[r(t[0]),t[1]]}):[],Ra(function(r){for(var i=-1;++i<n;){var o=t[i];if(e(o[0],this,r))return e(o[1],this,r)}})}function Rs(t){return Se(Ce(t,!0))}function Ds(t){return function(){return t}}function Fs(t){return t}function Is(t){return Qe("function"==typeof t?t:Ce(t,!0))}function zs(t){return ir(Ce(t,!0))}function qs(t,n){return or(t,Ce(n,!0))}function Vs(t,n,e){var r=Yu(n),i=ze(n,r);null!=e||su(n)&&(i.length||!r.length)||(e=n,n=t,t=this,i=ze(n,Yu(n)));var a=!(su(e)&&"chain"in e&&!e.chain),u=ou(t);return o(i,function(e){var r=n[e];t[e]=r,u&&(t.prototype[e]=function(){var n=this.__chain__;if(a||n){var e=t(this.__wrapped__),i=e.__actions__=Zr(this.__actions__);return i.push({func:r,args:arguments,thisArg:t}),e.__chain__=n,e}return r.apply(t,h([this.value()],arguments))})}),t}function Bs(){return Re._===this&&(Re._=yl),this}function Ws(){}function Us(t){return t=Eu(t),Ra(function(n){return sr(n,t)})}function Hs(t){return Bi(t)?hr(Qi(t)):pr(t)}function Ys(t){return function(n){return null==t?U:qe(t,n)}}function Gs(t,n){if(t=Eu(t),1>t||t>mt)return[];var e=xt,r=Il(t,xt);n=Mi(n),t-=xt;for(var i=S(r,n);++e<t;)n(e);return i}function Xs(t){return tf(t)?f(t,Qi):Cu(t)?[t]:Zr(yc(t))}function Zs(t){var n=++vl;return ju(t)+n}function Js(t){return t&&t.length?Te(t,Fs,Be):U}function Ks(t,n){return t&&t.length?Te(t,Mi(n),Be):U}function Qs(t){return x(t,Fs)}function tl(t,n){return x(t,Mi(n))}function nl(t){return t&&t.length?Te(t,Fs,er):U}function el(t,n){return t&&t.length?Te(t,Mi(n),er):U}function rl(t){return t&&t.length?C(t,Fs):0}function il(t,n){return t&&t.length?C(t,Mi(n)):0}P=P?De.defaults({},P,De.pick(Re,ye)):Re;var ol=P.Date,al=P.Error,ul=P.Math,sl=P.RegExp,ll=P.TypeError,cl=P.Array.prototype,fl=P.Object.prototype,hl=P.String.prototype,pl=P.Function.prototype.toString,dl=fl.hasOwnProperty,vl=0,gl=pl.call(Object),ml=fl.toString,yl=Re._,$l=sl("^"+pl.call(dl).replace(fn,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),xl=Oe?P.Buffer:U,bl=P.Reflect,wl=P.Symbol,Cl=P.Uint8Array,Sl=P.clearTimeout,_l=bl?bl.enumerate:U,Ml=Object.getOwnPropertySymbols,kl="symbol"==typeof(kl=wl&&wl.iterator)?kl:U,Al=Object.create,El=fl.propertyIsEnumerable,Pl=P.setTimeout,Ol=cl.splice,Tl=ul.ceil,Ll=ul.floor,jl=Object.getPrototypeOf,Nl=P.isFinite,Rl=cl.join,Dl=Object.keys,Fl=ul.max,Il=ul.min,zl=P.parseInt,ql=ul.random,Vl=hl.replace,Bl=cl.reverse,Wl=hl.split,Ul=Ai(P,"DataView"),Hl=Ai(P,"Map"),Yl=Ai(P,"Promise"),Gl=Ai(P,"Set"),Xl=Ai(P,"WeakMap"),Zl=Ai(Object,"create"),Jl=Xl&&new Xl,Kl=!El.call({valueOf:1},"valueOf"),Ql={},tc=to(Ul),nc=to(Hl),ec=to(Yl),rc=to(Gl),ic=to(Xl),oc=wl?wl.prototype:U,ac=oc?oc.valueOf:U,uc=oc?oc.toString:U;En.templateSettings={escape:on,evaluate:an,interpolate:un,variable:"",imports:{_:En}},En.prototype=Pn.prototype,En.prototype.constructor=En,On.prototype=_e(Pn.prototype),On.prototype.constructor=On,Tn.prototype=_e(Pn.prototype),Tn.prototype.constructor=Tn,Rn.prototype=Zl?Zl(null):fl,qn.prototype.clear=Vn,qn.prototype["delete"]=Bn,qn.prototype.get=Wn,qn.prototype.has=Un,qn.prototype.set=Hn,Yn.prototype.push=Xn,Zn.prototype.clear=Jn,Zn.prototype["delete"]=Kn,Zn.prototype.get=Qn,Zn.prototype.has=te,Zn.prototype.set=ne;var sc=ni(Fe),lc=ni(Ie,!0),cc=ei(),fc=ei(!0);_l&&!El.call({valueOf:1},"valueOf")&&(nr=function(t){return D(_l(t))});var hc=Jl?function(t,n){return Jl.set(t,n),t}:Fs,pc=Gl&&1/z(new Gl([,-0]))[1]==gt?function(t){return new Gl(t)}:Ws,dc=Jl?function(t){return Jl.get(t)}:Ws,vc=hr("length");Ml||(Oi=function(){return[]});var gc=Ml?function(t){for(var n=[];t;)h(n,Oi(t)),t=Pi(t);return n}:Oi;(Ul&&Ti(new Ul(new ArrayBuffer(1)))!=qt||Hl&&Ti(new Hl)!=Pt||Yl&&Ti(Yl.resolve())!=Lt||Gl&&Ti(new Gl)!=Nt||Xl&&Ti(new Xl)!=Ft)&&(Ti=function(t){var n=ml.call(t),e=n==Tt?t.constructor:U,r=e?to(e):U;if(r)switch(r){case tc:return qt;case nc:return Pt;case ec:return Lt;case rc:return Nt;case ic:return Ft}return n});var mc=function(){var t=0,n=0;return function(e,r){var i=Bc(),o=ht-(i-n);if(n=i,o>0){if(++t>=ft)return e}else t=0;return hc(e,r)}}(),yc=La(function(t){var n=[];return ju(t).replace(cn,function(t,e,r,i){n.push(r?i.replace(mn,"$1"):e||t)}),n}),$c=Ra(function(t,n){return Za(t)?Ee(t,Ne(n,1,Za,!0)):[]}),xc=Ra(function(t,n){var e=bo(n);return Za(e)&&(e=U),Za(t)?Ee(t,Ne(n,1,Za,!0),Mi(e)):[]}),bc=Ra(function(t,n){var e=bo(n);return Za(e)&&(e=U),Za(t)?Ee(t,Ne(n,1,Za,!0),U,e):[]}),wc=Ra(function(t){var n=f(t,jr);return n.length&&n[0]===t[0]?Ye(n):[]}),Cc=Ra(function(t){var n=bo(t),e=f(t,jr);return n===bo(e)?n=U:e.pop(),e.length&&e[0]===t[0]?Ye(e,Mi(n)):[]}),Sc=Ra(function(t){var n=bo(t),e=f(t,jr);return n===bo(e)?n=U:e.pop(),e.length&&e[0]===t[0]?Ye(e,U,n):[]}),_c=Ra(So),Mc=Ra(function(t,n){n=Ne(n,1);var e=t?t.length:0,r=de(t,n);return vr(t,f(n,function(t){return qi(t,e)?+t:t}).sort(Hr)),r}),kc=Ra(function(t){return kr(Ne(t,1,Za,!0))}),Ac=Ra(function(t){var n=bo(t);return Za(n)&&(n=U),kr(Ne(t,1,Za,!0),Mi(n))}),Ec=Ra(function(t){var n=bo(t);return Za(n)&&(n=U),kr(Ne(t,1,Za,!0),U,n)}),Pc=Ra(function(t,n){return Za(t)?Ee(t,n):[]}),Oc=Ra(function(t){return Tr(s(t,Za))}),Tc=Ra(function(t){var n=bo(t);return Za(n)&&(n=U),Tr(s(t,Za),Mi(n))}),Lc=Ra(function(t){var n=bo(t);return Za(n)&&(n=U),Tr(s(t,Za),U,n)}),jc=Ra(Ho),Nc=Ra(function(t){var n=t.length,e=n>1?t[n-1]:U;return e="function"==typeof e?(t.pop(),e):U,Yo(t,e)}),Rc=Ra(function(t){t=Ne(t,1);var n=t.length,e=n?t[0]:0,r=this.__wrapped__,i=function(n){return de(n,t)};return!(n>1||this.__actions__.length)&&r instanceof Tn&&qi(e)?(r=r.slice(e,+e+(n?1:0)),r.__actions__.push({func:Ko,args:[i],thisArg:U}),new On(r,this.__chain__).thru(function(t){return n&&!t.length&&t.push(U),t})):this.thru(i)}),Dc=Qr(function(t,n,e){dl.call(t,e)?++t[e]:t[e]=1}),Fc=Qr(function(t,n,e){dl.call(t,e)?t[e].push(n):t[e]=[n]}),Ic=Ra(function(t,n,r){var i=-1,o="function"==typeof n,a=Bi(n),u=Xa(t)?Array(t.length):[];return sc(t,function(t){var s=o?n:a&&null!=t?t[n]:U;u[++i]=s?e(s,t,r):Xe(t,n,r)}),u}),zc=Qr(function(t,n,e){t[e]=n}),qc=Qr(function(t,n,e){t[e?0:1].push(n)},function(){return[[],[]]}),Vc=Ra(function(t,n){if(null==t)return[];var e=n.length;return e>1&&Vi(t,n[0],n[1])?n=[]:e>2&&Vi(n[0],n[1],n[2])&&(n=[n[0]]),n=1==n.length&&tf(n[0])?n[0]:Ne(n,1,zi),lr(t,n,[])}),Bc=ol.now,Wc=Ra(function(t,n,e){var r=J;if(e.length){var i=I(e,Ei(Wc));r|=et}return $i(t,r,n,e,i)}),Uc=Ra(function(t,n,e){var r=J|K;if(e.length){var i=I(e,Ei(Uc));r|=et}return $i(n,r,t,e,i)}),Hc=Ra(function(t,n){return Me(t,1,n)}),Yc=Ra(function(t,n,e){return Me(t,Ou(n)||0,e)});La.Cache=qn;var Gc=Ra(function(t,n){n=1==n.length&&tf(n[0])?f(n[0],M(Mi())):f(Ne(n,1,zi),M(Mi()));var r=n.length;return Ra(function(i){for(var o=-1,a=Il(i.length,r);++o<a;)i[o]=n[o].call(this,i[o]);return e(t,this,i)})}),Xc=Ra(function(t,n){var e=I(n,Ei(Xc));return $i(t,et,U,n,e)}),Zc=Ra(function(t,n){var e=I(n,Ei(Zc));return $i(t,rt,U,n,e)}),Jc=Ra(function(t,n){return $i(t,ot,U,U,U,Ne(n,1))}),Kc=gi(Be),Qc=gi(function(t,n){return t>=n}),tf=Array.isArray,nf=xl?function(t){return t instanceof xl}:Ds(!1),ef=gi(er),rf=gi(function(t,n){return n>=t}),of=ti(function(t,n){if(Kl||Hi(n)||Xa(n))return void Jr(n,Yu(n),t);for(var e in n)dl.call(n,e)&&le(t,e,n[e])}),af=ti(function(t,n){if(Kl||Hi(n)||Xa(n))return void Jr(n,Gu(n),t);for(var e in n)le(t,e,n[e])}),uf=ti(function(t,n,e,r){Jr(n,Gu(n),t,r)}),sf=ti(function(t,n,e,r){Jr(n,Yu(n),t,r)}),lf=Ra(function(t,n){return de(t,Ne(n,1))}),cf=Ra(function(t){return t.push(U,ue),e(uf,U,t)}),ff=Ra(function(t){return t.push(U,Zi),e(gf,U,t)}),hf=ci(function(t,n,e){t[n]=e},Ds(Fs)),pf=ci(function(t,n,e){dl.call(t,n)?t[n].push(e):t[n]=[e]},Mi),df=Ra(Xe),vf=ti(function(t,n,e){ar(t,n,e)}),gf=ti(function(t,n,e,r){ar(t,n,e,r)}),mf=Ra(function(t,n){return null==t?{}:(n=f(Ne(n,1),Qi),cr(t,Ee(Si(t),n)))}),yf=Ra(function(t,n){return null==t?{}:cr(t,f(Ne(n,1),Qi))}),$f=oi(function(t,n,e){return n=n.toLowerCase(),t+(e?ps(n):n)}),xf=oi(function(t,n,e){return t+(e?"-":"")+n.toLowerCase()}),bf=oi(function(t,n,e){return t+(e?" ":"")+n.toLowerCase()}),wf=ii("toLowerCase"),Cf=oi(function(t,n,e){return t+(e?"_":"")+n.toLowerCase()}),Sf=oi(function(t,n,e){return t+(e?" ":"")+Mf(n)}),_f=oi(function(t,n,e){return t+(e?" ":"")+n.toUpperCase()}),Mf=ii("toUpperCase"),kf=Ra(function(t,n){try{return e(t,U,n)}catch(r){return ru(r)?r:new al(r)}}),Af=Ra(function(t,n){return o(Ne(n,1),function(n){n=Qi(n),t[n]=Wc(t[n],t)}),t}),Ef=si(),Pf=si(!0),Of=Ra(function(t,n){return function(e){return Xe(e,t,n)}}),Tf=Ra(function(t,n){return function(e){return Xe(t,e,n)}}),Lf=hi(f),jf=hi(u),Nf=hi(v),Rf=vi(),Df=vi(!0),Ff=fi(function(t,n){return t+n}),If=yi("ceil"),zf=fi(function(t,n){return t/n}),qf=yi("floor"),Vf=fi(function(t,n){return t*n}),Bf=yi("round"),Wf=fi(function(t,n){return t-n});return En.after=Ma,En.ary=ka,En.assign=of,En.assignIn=af,En.assignInWith=uf,En.assignWith=sf,En.at=lf,En.before=Aa,En.bind=Wc,En.bindAll=Af,En.bindKey=Uc,En.castArray=qa,En.chain=Zo,En.chunk=eo,En.compact=ro,En.concat=io,En.cond=Ns,En.conforms=Rs,En.constant=Ds,En.countBy=Dc,En.create=Nu,En.curry=Ea,En.curryRight=Pa,En.debounce=Oa,En.defaults=cf,En.defaultsDeep=ff,En.defer=Hc,En.delay=Yc,En.difference=$c,En.differenceBy=xc,En.differenceWith=bc,En.drop=oo,En.dropRight=ao,En.dropRightWhile=uo,En.dropWhile=so,En.fill=lo,En.filter=ua,En.flatMap=ca,En.flatMapDeep=fa,En.flatMapDepth=ha,En.flatten=ho,En.flattenDeep=po,En.flattenDepth=vo,En.flip=Ta,En.flow=Ef,En.flowRight=Pf,En.fromPairs=go,En.functions=Vu,En.functionsIn=Bu,En.groupBy=Fc,En.initial=$o,En.intersection=wc,En.intersectionBy=Cc,En.intersectionWith=Sc,En.invert=hf,En.invertBy=pf,En.invokeMap=Ic,En.iteratee=Is,En.keyBy=zc,En.keys=Yu,En.keysIn=Gu,En.map=ga,En.mapKeys=Xu,En.mapValues=Zu,En.matches=zs,En.matchesProperty=qs,En.memoize=La,En.merge=vf,En.mergeWith=gf,En.method=Of,En.methodOf=Tf,En.mixin=Vs,En.negate=ja,En.nthArg=Us,En.omit=mf,En.omitBy=Ju,En.once=Na,En.orderBy=ma,En.over=Lf,En.overArgs=Gc,En.overEvery=jf,En.overSome=Nf,En.partial=Xc,En.partialRight=Zc,En.partition=qc,En.pick=yf,En.pickBy=Ku,En.property=Hs,En.propertyOf=Ys,En.pull=_c,En.pullAll=So,En.pullAllBy=_o,En.pullAllWith=Mo,En.pullAt=Mc,En.range=Rf,En.rangeRight=Df,En.rearg=Jc,En.reject=xa,En.remove=ko,En.rest=Ra,En.reverse=Ao,En.sampleSize=wa,En.set=ts,En.setWith=ns,En.shuffle=Ca,En.slice=Eo,En.sortBy=Vc,En.sortedUniq=Ro,En.sortedUniqBy=Do,En.split=Ss,En.spread=Da,En.tail=Fo,En.take=Io,En.takeRight=zo,En.takeRightWhile=qo,En.takeWhile=Vo,En.tap=Jo,En.throttle=Fa,En.thru=Ko,En.toArray=Au,En.toPairs=es,En.toPairsIn=rs,En.toPath=Xs,En.toPlainObject=Tu,En.transform=is,En.unary=Ia,En.union=kc,En.unionBy=Ac,En.unionWith=Ec,En.uniq=Bo,En.uniqBy=Wo,En.uniqWith=Uo,En.unset=os,En.unzip=Ho,En.unzipWith=Yo,En.update=as,En.updateWith=us,En.values=ss,En.valuesIn=ls,En.without=Pc,En.words=js,En.wrap=za,En.xor=Oc,En.xorBy=Tc,En.xorWith=Lc,En.zip=jc,En.zipObject=Go,En.zipObjectDeep=Xo,En.zipWith=Nc,En.entries=es,En.entriesIn=rs,En.extend=af,En.extendWith=uf,Vs(En,En),En.add=Ff,En.attempt=kf,En.camelCase=$f,En.capitalize=ps,En.ceil=If,En.clamp=cs,En.clone=Va,En.cloneDeep=Wa,En.cloneDeepWith=Ua,En.cloneWith=Ba,En.deburr=ds,En.divide=zf,En.endsWith=vs,En.eq=Ha,En.escape=gs,En.escapeRegExp=ms,En.every=aa,En.find=sa,En.findIndex=co,En.findKey=Ru,En.findLast=la,En.findLastIndex=fo,En.findLastKey=Du,En.floor=qf,En.forEach=pa,En.forEachRight=da,En.forIn=Fu,En.forInRight=Iu,En.forOwn=zu,En.forOwnRight=qu,En.get=Wu,En.gt=Kc,En.gte=Qc,En.has=Uu,En.hasIn=Hu,En.head=mo,En.identity=Fs,En.includes=va,En.indexOf=yo,En.inRange=fs,En.invoke=df,En.isArguments=Ya,En.isArray=tf,En.isArrayBuffer=Ga,En.isArrayLike=Xa,En.isArrayLikeObject=Za,En.isBoolean=Ja,En.isBuffer=nf,En.isDate=Ka,En.isElement=Qa,En.isEmpty=tu,En.isEqual=nu,En.isEqualWith=eu,En.isError=ru,En.isFinite=iu,En.isFunction=ou,En.isInteger=au,En.isLength=uu,En.isMap=cu,En.isMatch=fu,En.isMatchWith=hu,En.isNaN=pu,En.isNative=du,En.isNil=gu,En.isNull=vu,En.isNumber=mu,En.isObject=su,En.isObjectLike=lu,En.isPlainObject=yu,En.isRegExp=$u,En.isSafeInteger=xu,En.isSet=bu,En.isString=wu,En.isSymbol=Cu,En.isTypedArray=Su,En.isUndefined=_u,En.isWeakMap=Mu,En.isWeakSet=ku,En.join=xo,En.kebabCase=xf,En.last=bo,En.lastIndexOf=wo,En.lowerCase=bf,En.lowerFirst=wf,En.lt=ef,En.lte=rf,En.max=Js,En.maxBy=Ks,En.mean=Qs,En.meanBy=tl,En.min=nl,En.minBy=el,En.multiply=Vf,En.nth=Co,En.noConflict=Bs,En.noop=Ws,En.now=Bc,En.pad=ys,En.padEnd=$s,En.padStart=xs,En.parseInt=bs,En.random=hs,En.reduce=ya,En.reduceRight=$a,En.repeat=ws,En.replace=Cs,En.result=Qu,En.round=Bf,En.runInContext=W,En.sample=ba,En.size=Sa,En.snakeCase=Cf,En.some=_a,En.sortedIndex=Po,En.sortedIndexBy=Oo,En.sortedIndexOf=To,En.sortedLastIndex=Lo,En.sortedLastIndexBy=jo,En.sortedLastIndexOf=No,En.startCase=Sf,En.startsWith=_s,En.subtract=Wf,En.sum=rl,En.sumBy=il,En.template=Ms,En.times=Gs,En.toInteger=Eu,En.toLength=Pu,En.toLower=ks,En.toNumber=Ou,En.toSafeInteger=Lu,En.toString=ju,En.toUpper=As,En.trim=Es,En.trimEnd=Ps,En.trimStart=Os,En.truncate=Ts,En.unescape=Ls,En.uniqueId=Zs,En.upperCase=_f,En.upperFirst=Mf,En.each=pa,En.eachRight=da,En.first=mo,Vs(En,function(){var t={};return Fe(En,function(n,e){dl.call(En.prototype,e)||(t[e]=n)}),t}(),{chain:!1}),En.VERSION=H,o(["bind","bindKey","curry","curryRight","partial","partialRight"],function(t){En[t].placeholder=En}),o(["drop","take"],function(t,n){Tn.prototype[t]=function(e){var r=this.__filtered__;if(r&&!n)return new Tn(this);e=e===U?1:Fl(Eu(e),0);var i=this.clone();return r?i.__takeCount__=Il(e,i.__takeCount__):i.__views__.push({size:Il(e,xt),type:t+(i.__dir__<0?"Right":"")}),i},Tn.prototype[t+"Right"]=function(n){return this.reverse()[t](n).reverse()}}),o(["filter","map","takeWhile"],function(t,n){var e=n+1,r=e==pt||e==vt;Tn.prototype[t]=function(t){var n=this.clone();return n.__iteratees__.push({iteratee:Mi(t,3),type:e}),n.__filtered__=n.__filtered__||r,n}}),o(["head","last"],function(t,n){var e="take"+(n?"Right":"");Tn.prototype[t]=function(){return this[e](1).value()[0]}}),o(["initial","tail"],function(t,n){var e="drop"+(n?"":"Right");Tn.prototype[t]=function(){return this.__filtered__?new Tn(this):this[e](1)}}),Tn.prototype.compact=function(){return this.filter(Fs)},Tn.prototype.find=function(t){return this.filter(t).head()},Tn.prototype.findLast=function(t){return this.reverse().find(t)},Tn.prototype.invokeMap=Ra(function(t,n){return"function"==typeof t?new Tn(this):this.map(function(e){return Xe(e,t,n)})}),Tn.prototype.reject=function(t){return t=Mi(t,3),this.filter(function(n){return!t(n)})},Tn.prototype.slice=function(t,n){t=Eu(t);var e=this;return e.__filtered__&&(t>0||0>n)?new Tn(e):(0>t?e=e.takeRight(-t):t&&(e=e.drop(t)),n!==U&&(n=Eu(n),e=0>n?e.dropRight(-n):e.take(n-t)),e)},Tn.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},Tn.prototype.toArray=function(){return this.take(xt)},Fe(Tn.prototype,function(t,n){var e=/^(?:filter|find|map|reject)|While$/.test(n),r=/^(?:head|last)$/.test(n),i=En[r?"take"+("last"==n?"Right":""):n],o=r||/^find/.test(n);i&&(En.prototype[n]=function(){var n=this.__wrapped__,a=r?[1]:arguments,u=n instanceof Tn,s=a[0],l=u||tf(n),c=function(t){var n=i.apply(En,h([t],a));return r&&f?n[0]:n};l&&e&&"function"==typeof s&&1!=s.length&&(u=l=!1);var f=this.__chain__,p=!!this.__actions__.length,d=o&&!f,v=u&&!p;if(!o&&l){n=v?n:new Tn(this);var g=t.apply(n,a);return g.__actions__.push({func:Ko,args:[c],thisArg:U}),new On(g,f)}return d&&v?t.apply(this,a):(g=this.thru(c),d?r?g.value()[0]:g.value():g)})}),o(["pop","push","shift","sort","splice","unshift"],function(t){var n=cl[t],e=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",r=/^(?:pop|shift)$/.test(t);En.prototype[t]=function(){var t=arguments;if(r&&!this.__chain__){var i=this.value();return n.apply(tf(i)?i:[],t)}return this[e](function(e){return n.apply(tf(e)?e:[],t)})}}),Fe(Tn.prototype,function(t,n){var e=En[n];if(e){var r=e.name+"",i=Ql[r]||(Ql[r]=[]);i.push({name:n,func:e})}}),Ql[li(U,K).name]=[{name:"wrapper",func:U}],Tn.prototype.clone=Ln,Tn.prototype.reverse=jn,Tn.prototype.value=Nn,En.prototype.at=Rc,En.prototype.chain=Qo,En.prototype.commit=ta,En.prototype.next=na,En.prototype.plant=ra,En.prototype.reverse=ia,En.prototype.toJSON=En.prototype.valueOf=En.prototype.value=oa,kl&&(En.prototype[kl]=ea),En}var U,H="4.11.2",Y=200,G="Expected a function",X="__lodash_hash_undefined__",Z="__lodash_placeholder__",J=1,K=2,Q=4,tt=8,nt=16,et=32,rt=64,it=128,ot=256,at=512,ut=1,st=2,lt=30,ct="...",ft=150,ht=16,pt=1,dt=2,vt=3,gt=1/0,mt=9007199254740991,yt=1.7976931348623157e308,$t=NaN,xt=4294967295,bt=xt-1,wt=xt>>>1,Ct="[object Arguments]",St="[object Array]",_t="[object Boolean]",Mt="[object Date]",kt="[object Error]",At="[object Function]",Et="[object GeneratorFunction]",Pt="[object Map]",Ot="[object Number]",Tt="[object Object]",Lt="[object Promise]",jt="[object RegExp]",Nt="[object Set]",Rt="[object String]",Dt="[object Symbol]",Ft="[object WeakMap]",It="[object WeakSet]",zt="[object ArrayBuffer]",qt="[object DataView]",Vt="[object Float32Array]",Bt="[object Float64Array]",Wt="[object Int8Array]",Ut="[object Int16Array]",Ht="[object Int32Array]",Yt="[object Uint8Array]",Gt="[object Uint8ClampedArray]",Xt="[object Uint16Array]",Zt="[object Uint32Array]",Jt=/\b__p \+= '';/g,Kt=/\b(__p \+=) '' \+/g,Qt=/(__e\(.*?\)|\b__t\)) \+\n'';/g,tn=/&(?:amp|lt|gt|quot|#39|#96);/g,nn=/[&<>"'`]/g,en=RegExp(tn.source),rn=RegExp(nn.source),on=/<%-([\s\S]+?)%>/g,an=/<%([\s\S]+?)%>/g,un=/<%=([\s\S]+?)%>/g,sn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ln=/^\w*$/,cn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]/g,fn=/[\\^$.*+?()[\]{}|]/g,hn=RegExp(fn.source),pn=/^\s+|\s+$/g,dn=/^\s+/,vn=/\s+$/,gn=/[a-zA-Z0-9]+/g,mn=/\\(\\)?/g,yn=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,$n=/\w*$/,xn=/^0x/i,bn=/^[-+]0x[0-9a-f]+$/i,wn=/^0b[01]+$/i,Cn=/^\[object .+?Constructor\]$/,Sn=/^0o[0-7]+$/i,_n=/^(?:0|[1-9]\d*)$/,Mn=/[\xc0-\xd6\xd8-\xde\xdf-\xf6\xf8-\xff]/g,kn=/($^)/,An=/['\n\r\u2028\u2029\\]/g,En="\\ud800-\\udfff",Pn="\\u0300-\\u036f\\ufe20-\\ufe23",On="\\u20d0-\\u20f0",Tn="\\u2700-\\u27bf",Ln="a-z\\xdf-\\xf6\\xf8-\\xff",jn="\\xac\\xb1\\xd7\\xf7",Nn="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Rn="\\u2000-\\u206f",Dn=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Fn="A-Z\\xc0-\\xd6\\xd8-\\xde",In="\\ufe0e\\ufe0f",zn=jn+Nn+Rn+Dn,qn="['’]",Vn="["+En+"]",Bn="["+zn+"]",Wn="["+Pn+On+"]",Un="\\d+",Hn="["+Tn+"]",Yn="["+Ln+"]",Gn="[^"+En+zn+Un+Tn+Ln+Fn+"]",Xn="\\ud83c[\\udffb-\\udfff]",Zn="(?:"+Wn+"|"+Xn+")",Jn="[^"+En+"]",Kn="(?:\\ud83c[\\udde6-\\uddff]){2}",Qn="[\\ud800-\\udbff][\\udc00-\\udfff]",te="["+Fn+"]",ne="\\u200d",ee="(?:"+Yn+"|"+Gn+")",re="(?:"+te+"|"+Gn+")",ie="(?:"+qn+"(?:d|ll|m|re|s|t|ve))?",oe="(?:"+qn+"(?:D|LL|M|RE|S|T|VE))?",ae=Zn+"?",ue="["+In+"]?",se="(?:"+ne+"(?:"+[Jn,Kn,Qn].join("|")+")"+ue+ae+")*",le=ue+ae+se,ce="(?:"+[Hn,Kn,Qn].join("|")+")"+le,fe="(?:"+[Jn+Wn+"?",Wn,Kn,Qn,Vn].join("|")+")",he=RegExp(qn,"g"),pe=RegExp(Wn,"g"),de=RegExp(Xn+"(?="+Xn+")|"+fe+le,"g"),ve=RegExp([te+"?"+Yn+"+"+ie+"(?="+[Bn,te,"$"].join("|")+")",re+"+"+oe+"(?="+[Bn,te+ee,"$"].join("|")+")",te+"?"+ee+"+"+ie,te+"+"+oe,Un,ce].join("|"),"g"),ge=RegExp("["+ne+En+Pn+On+In+"]"),me=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,ye=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","Reflect","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],$e=-1,xe={};xe[Vt]=xe[Bt]=xe[Wt]=xe[Ut]=xe[Ht]=xe[Yt]=xe[Gt]=xe[Xt]=xe[Zt]=!0,xe[Ct]=xe[St]=xe[zt]=xe[_t]=xe[qt]=xe[Mt]=xe[kt]=xe[At]=xe[Pt]=xe[Ot]=xe[Tt]=xe[jt]=xe[Nt]=xe[Rt]=xe[Ft]=!1;var be={};be[Ct]=be[St]=be[zt]=be[qt]=be[_t]=be[Mt]=be[Vt]=be[Bt]=be[Wt]=be[Ut]=be[Ht]=be[Pt]=be[Ot]=be[Tt]=be[jt]=be[Nt]=be[Rt]=be[Dt]=be[Yt]=be[Gt]=be[Xt]=be[Zt]=!0,be[kt]=be[At]=be[Ft]=!1;var we={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss"},Ce={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","`":"&#96;"},Se={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'","&#96;":"`"},_e={"function":!0,object:!0},Me={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},ke=parseFloat,Ae=parseInt,Ee=_e[typeof exports]&&exports&&!exports.nodeType?exports:U,Pe=_e[typeof module]&&module&&!module.nodeType?module:U,Oe=Pe&&Pe.exports===Ee?Ee:U,Te=P(Ee&&Pe&&"object"==typeof global&&global),Le=P(_e[typeof self]&&self),je=P(_e[typeof window]&&window),Ne=P(_e[typeof this]&&this),Re=Te||je!==(Ne&&Ne.window)&&je||Le||Ne||Function("return this")(),De=W();(je||Le||{})._=De,"function"==typeof define&&"object"==typeof define.amd&&define.amd?define(function(){return De}):Ee&&Pe?(Oe&&((Pe.exports=De)._=De),Ee._=De):Re._=De}.call(this),function(){"use strict";var t=this,n=t.Chart,e=function(t){this.canvas=t.canvas,this.ctx=t;var n=function(t,n){return t["offset"+n]?t["offset"+n]:document.defaultView.getComputedStyle(t).getPropertyValue(n)};this.width=n(t.canvas,"Width")||t.canvas.width,this.height=n(t.canvas,"Height")||t.canvas.height;return this.aspectRatio=this.width/this.height,r.retinaScale(this),this};e.defaults={global:{animation:!0,animationSteps:60,animationEasing:"easeOutQuart",showScale:!0,scaleOverride:!1,scaleSteps:null,scaleStepWidth:null,scaleStartValue:null,scaleLineColor:"rgba(0,0,0,.1)",scaleLineWidth:1,scaleShowLabels:!0,scaleLabel:"<%=value%>",scaleIntegersOnly:!0,scaleBeginAtZero:!1,scaleFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",scaleFontSize:12,scaleFontStyle:"normal",scaleFontColor:"#666",responsive:!1,maintainAspectRatio:!0,showTooltips:!0,customTooltips:!1,tooltipEvents:["mousemove","touchstart","touchmove","mouseout"],tooltipFillColor:"rgba(0,0,0,0.8)",tooltipFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",tooltipFontSize:14,tooltipFontStyle:"normal",tooltipFontColor:"#fff",tooltipTitleFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",tooltipTitleFontSize:14,tooltipTitleFontStyle:"bold",tooltipTitleFontColor:"#fff",tooltipTitleTemplate:"<%= label%>",tooltipYPadding:6,tooltipXPadding:6,tooltipCaretSize:8,tooltipCornerRadius:6,tooltipXOffset:10,tooltipTemplate:"<%if (label){%><%=label%>: <%}%><%= value %>",multiTooltipTemplate:"<%= datasetLabel %>: <%= value %>",multiTooltipKeyBackground:"#fff",segmentColorDefault:["#A6CEE3","#1F78B4","#B2DF8A","#33A02C","#FB9A99","#E31A1C","#FDBF6F","#FF7F00","#CAB2D6","#6A3D9A","#B4B482","#B15928"],segmentHighlightColorDefaults:["#CEF6FF","#47A0DC","#DAFFB2","#5BC854","#FFC2C1","#FF4244","#FFE797","#FFA728","#F2DAFE","#9265C2","#DCDCAA","#D98150"],onAnimationProgress:function(){},onAnimationComplete:function(){}}},e.types={};var r=e.helpers={},i=r.each=function(t,n,e){var r=Array.prototype.slice.call(arguments,3);if(t)if(t.length===+t.length){var i;for(i=0;i<t.length;i++)n.apply(e,[t[i],i].concat(r))}else for(var o in t)n.apply(e,[t[o],o].concat(r))},o=r.clone=function(t){var n={};return i(t,function(e,r){t.hasOwnProperty(r)&&(n[r]=e)}),n},a=r.extend=function(t){return i(Array.prototype.slice.call(arguments,1),function(n){i(n,function(e,r){n.hasOwnProperty(r)&&(t[r]=e)})}),t},u=r.merge=function(t,n){var e=Array.prototype.slice.call(arguments,0);return e.unshift({}),a.apply(null,e)},s=r.indexOf=function(t,n){if(Array.prototype.indexOf)return t.indexOf(n);for(var e=0;e<t.length;e++)if(t[e]===n)return e;return-1},l=(r.where=function(t,n){var e=[];return r.each(t,function(t){n(t)&&e.push(t)}),e},r.findNextWhere=function(t,n,e){e||(e=-1);for(var r=e+1;r<t.length;r++){var i=t[r];if(n(i))return i}},r.findPreviousWhere=function(t,n,e){e||(e=t.length);for(var r=e-1;r>=0;r--){var i=t[r];if(n(i))return i}},r.inherits=function(t){var n=this,e=t&&t.hasOwnProperty("constructor")?t.constructor:function(){return n.apply(this,arguments)},r=function(){this.constructor=e};return r.prototype=n.prototype,e.prototype=new r,e.extend=l,t&&a(e.prototype,t),e.__super__=n.prototype,e}),c=r.noop=function(){},f=r.uid=function(){var t=0;return function(){return"chart-"+t++}}(),h=r.warn=function(t){window.console&&"function"==typeof window.console.warn&&console.warn(t)},p=r.amd="function"==typeof define&&define.amd,d=r.isNumber=function(t){return!isNaN(parseFloat(t))&&isFinite(t)},v=r.max=function(t){return Math.max.apply(Math,t)},g=r.min=function(t){return Math.min.apply(Math,t)},m=(r.cap=function(t,n,e){if(d(n)){if(t>n)return n}else if(d(e)&&e>t)return e;return t},r.getDecimalPlaces=function(t){if(t%1!==0&&d(t)){var n=t.toString();if(n.indexOf("e-")<0)return n.split(".")[1].length;if(n.indexOf(".")<0)return parseInt(n.split("e-")[1]);var e=n.split(".")[1].split("e-");return e[0].length+parseInt(e[1])}return 0}),y=r.radians=function(t){return t*(Math.PI/180)},$=(r.getAngleFromPoint=function(t,n){var e=n.x-t.x,r=n.y-t.y,i=Math.sqrt(e*e+r*r),o=2*Math.PI+Math.atan2(r,e);return 0>e&&0>r&&(o+=2*Math.PI),{angle:o,distance:i}},r.aliasPixel=function(t){return t%2===0?0:.5}),x=(r.splineCurve=function(t,n,e,r){var i=Math.sqrt(Math.pow(n.x-t.x,2)+Math.pow(n.y-t.y,2)),o=Math.sqrt(Math.pow(e.x-n.x,2)+Math.pow(e.y-n.y,2)),a=r*i/(i+o),u=r*o/(i+o);return{inner:{x:n.x-a*(e.x-t.x),y:n.y-a*(e.y-t.y)},outer:{x:n.x+u*(e.x-t.x),y:n.y+u*(e.y-t.y)}}},r.calculateOrderOfMagnitude=function(t){return Math.floor(Math.log(t)/Math.LN10)}),b=(r.calculateScaleRange=function(t,n,e,r,o){var a=2,u=Math.floor(n/(1.5*e)),s=a>=u,l=[];i(t,function(t){null==t||l.push(t)});var c=g(l),f=v(l);f===c&&(f+=.5,
+c>=.5&&!r?c-=.5:f+=.5);for(var h=Math.abs(f-c),p=x(h),d=Math.ceil(f/(1*Math.pow(10,p)))*Math.pow(10,p),m=r?0:Math.floor(c/(1*Math.pow(10,p)))*Math.pow(10,p),y=d-m,$=Math.pow(10,p),b=Math.round(y/$);(b>u||u>2*b)&&!s;)if(b>u)$*=2,b=Math.round(y/$),b%1!==0&&(s=!0);else if(o&&p>=0){if($/2%1!==0)break;$/=2,b=Math.round(y/$)}else $/=2,b=Math.round(y/$);return s&&(b=a,$=y/b),{steps:b,stepValue:$,min:m,max:m+b*$}},r.template=function(t,n){function e(t,n){var e=/\W/.test(t)?new Function("obj","var p=[],print=function(){p.push.apply(p,arguments);};with(obj){p.push('"+t.replace(/[\r\t\n]/g," ").split("<%").join("	").replace(/((^|%>)[^\t]*)'/g,"$1\r").replace(/\t=(.*?)%>/g,"',$1,'").split("	").join("');").split("%>").join("p.push('").split("\r").join("\\'")+"');}return p.join('');"):r[t]=r[t];return n?e(n):e}if(t instanceof Function)return t(n);var r={};return e(t,n)}),w=(r.generateLabels=function(t,n,e,r){var o=new Array(n);return t&&i(o,function(n,i){o[i]=b(t,{value:e+r*(i+1)})}),o},r.easingEffects={linear:function(t){return t},easeInQuad:function(t){return t*t},easeOutQuad:function(t){return-1*t*(t-2)},easeInOutQuad:function(t){return(t/=.5)<1?.5*t*t:-0.5*(--t*(t-2)-1)},easeInCubic:function(t){return t*t*t},easeOutCubic:function(t){return 1*((t=t/1-1)*t*t+1)},easeInOutCubic:function(t){return(t/=.5)<1?.5*t*t*t:.5*((t-=2)*t*t+2)},easeInQuart:function(t){return t*t*t*t},easeOutQuart:function(t){return-1*((t=t/1-1)*t*t*t-1)},easeInOutQuart:function(t){return(t/=.5)<1?.5*t*t*t*t:-0.5*((t-=2)*t*t*t-2)},easeInQuint:function(t){return 1*(t/=1)*t*t*t*t},easeOutQuint:function(t){return 1*((t=t/1-1)*t*t*t*t+1)},easeInOutQuint:function(t){return(t/=.5)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)},easeInSine:function(t){return-1*Math.cos(t/1*(Math.PI/2))+1},easeOutSine:function(t){return 1*Math.sin(t/1*(Math.PI/2))},easeInOutSine:function(t){return-0.5*(Math.cos(Math.PI*t/1)-1)},easeInExpo:function(t){return 0===t?1:1*Math.pow(2,10*(t/1-1))},easeOutExpo:function(t){return 1===t?1:1*(-Math.pow(2,-10*t/1)+1)},easeInOutExpo:function(t){return 0===t?0:1===t?1:(t/=.5)<1?.5*Math.pow(2,10*(t-1)):.5*(-Math.pow(2,-10*--t)+2)},easeInCirc:function(t){return t>=1?t:-1*(Math.sqrt(1-(t/=1)*t)-1)},easeOutCirc:function(t){return 1*Math.sqrt(1-(t=t/1-1)*t)},easeInOutCirc:function(t){return(t/=.5)<1?-0.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)},easeInElastic:function(t){var n=1.70158,e=0,r=1;return 0===t?0:1==(t/=1)?1:(e||(e=.3),r<Math.abs(1)?(r=1,n=e/4):n=e/(2*Math.PI)*Math.asin(1/r),-(r*Math.pow(2,10*(t-=1))*Math.sin((1*t-n)*(2*Math.PI)/e)))},easeOutElastic:function(t){var n=1.70158,e=0,r=1;return 0===t?0:1==(t/=1)?1:(e||(e=.3),r<Math.abs(1)?(r=1,n=e/4):n=e/(2*Math.PI)*Math.asin(1/r),r*Math.pow(2,-10*t)*Math.sin((1*t-n)*(2*Math.PI)/e)+1)},easeInOutElastic:function(t){var n=1.70158,e=0,r=1;return 0===t?0:2==(t/=.5)?1:(e||(e=1*(.3*1.5)),r<Math.abs(1)?(r=1,n=e/4):n=e/(2*Math.PI)*Math.asin(1/r),1>t?-.5*(r*Math.pow(2,10*(t-=1))*Math.sin((1*t-n)*(2*Math.PI)/e)):r*Math.pow(2,-10*(t-=1))*Math.sin((1*t-n)*(2*Math.PI)/e)*.5+1)},easeInBack:function(t){var n=1.70158;return 1*(t/=1)*t*((n+1)*t-n)},easeOutBack:function(t){var n=1.70158;return 1*((t=t/1-1)*t*((n+1)*t+n)+1)},easeInOutBack:function(t){var n=1.70158;return(t/=.5)<1?.5*(t*t*(((n*=1.525)+1)*t-n)):.5*((t-=2)*t*(((n*=1.525)+1)*t+n)+2)},easeInBounce:function(t){return 1-w.easeOutBounce(1-t)},easeOutBounce:function(t){return(t/=1)<1/2.75?1*(7.5625*t*t):2/2.75>t?1*(7.5625*(t-=1.5/2.75)*t+.75):2.5/2.75>t?1*(7.5625*(t-=2.25/2.75)*t+.9375):1*(7.5625*(t-=2.625/2.75)*t+.984375)},easeInOutBounce:function(t){return.5>t?.5*w.easeInBounce(2*t):.5*w.easeOutBounce(2*t-1)+.5}}),C=r.requestAnimFrame=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(t){return window.setTimeout(t,1e3/60)}}(),S=(r.cancelAnimFrame=function(){return window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||window.oCancelAnimationFrame||window.msCancelAnimationFrame||function(t){return window.clearTimeout(t,1e3/60)}}(),r.animationLoop=function(t,n,e,r,i,o){var a=0,u=w[e]||w.linear,s=function(){a++;var e=a/n,l=u(e);t.call(o,l,e,a),r.call(o,l,e),n>a?o.animationFrame=C(s):i.apply(o)};C(s)},r.getRelativePosition=function(t){var n,e,r=t.originalEvent||t,i=t.currentTarget||t.srcElement,o=i.getBoundingClientRect();return r.touches?(n=r.touches[0].clientX-o.left,e=r.touches[0].clientY-o.top):(n=r.clientX-o.left,e=r.clientY-o.top),{x:n,y:e}},r.addEvent=function(t,n,e){t.addEventListener?t.addEventListener(n,e):t.attachEvent?t.attachEvent("on"+n,e):t["on"+n]=e}),_=r.removeEvent=function(t,n,e){t.removeEventListener?t.removeEventListener(n,e,!1):t.detachEvent?t.detachEvent("on"+n,e):t["on"+n]=c},M=(r.bindEvents=function(t,n,e){t.events||(t.events={}),i(n,function(n){t.events[n]=function(){e.apply(t,arguments)},S(t.chart.canvas,n,t.events[n])})},r.unbindEvents=function(t,n){i(n,function(n,e){_(t.chart.canvas,e,n)})}),k=r.getMaximumWidth=function(t){var n=t.parentNode,e=parseInt(E(n,"padding-left"))+parseInt(E(n,"padding-right"));return n?n.clientWidth-e:0},A=r.getMaximumHeight=function(t){var n=t.parentNode,e=parseInt(E(n,"padding-bottom"))+parseInt(E(n,"padding-top"));return n?n.clientHeight-e:0},E=r.getStyle=function(t,n){return t.currentStyle?t.currentStyle[n]:document.defaultView.getComputedStyle(t,null).getPropertyValue(n)},P=(r.getMaximumSize=r.getMaximumWidth,r.retinaScale=function(t){var n=t.ctx,e=t.canvas.width,r=t.canvas.height;window.devicePixelRatio&&(n.canvas.style.width=e+"px",n.canvas.style.height=r+"px",n.canvas.height=r*window.devicePixelRatio,n.canvas.width=e*window.devicePixelRatio,n.scale(window.devicePixelRatio,window.devicePixelRatio))}),O=r.clear=function(t){t.ctx.clearRect(0,0,t.width,t.height)},T=r.fontString=function(t,n,e){return n+" "+t+"px "+e},L=r.longestText=function(t,n,e){t.font=n;var r=0;return i(e,function(n){var e=t.measureText(n).width;r=e>r?e:r}),r},j=r.drawRoundedRectangle=function(t,n,e,r,i,o){t.beginPath(),t.moveTo(n+o,e),t.lineTo(n+r-o,e),t.quadraticCurveTo(n+r,e,n+r,e+o),t.lineTo(n+r,e+i-o),t.quadraticCurveTo(n+r,e+i,n+r-o,e+i),t.lineTo(n+o,e+i),t.quadraticCurveTo(n,e+i,n,e+i-o),t.lineTo(n,e+o),t.quadraticCurveTo(n,e,n+o,e),t.closePath()};e.instances={},e.Type=function(t,n,r){this.options=n,this.chart=r,this.id=f(),e.instances[this.id]=this,n.responsive&&this.resize(),this.initialize.call(this,t)},a(e.Type.prototype,{initialize:function(){return this},clear:function(){return O(this.chart),this},stop:function(){return e.animationService.cancelAnimation(this),this},resize:function(t){this.stop();var n=this.chart.canvas,e=k(this.chart.canvas),r=this.options.maintainAspectRatio?e/this.chart.aspectRatio:A(this.chart.canvas);return n.width=this.chart.width=e,n.height=this.chart.height=r,P(this.chart),"function"==typeof t&&t.apply(this,Array.prototype.slice.call(arguments,1)),this},reflow:c,render:function(t){if(t&&this.reflow(),this.options.animation&&!t){var n=new e.Animation;n.numSteps=this.options.animationSteps,n.easing=this.options.animationEasing,n.render=function(t,n){var e=r.easingEffects[n.easing],i=n.currentStep/n.numSteps,o=e(i);t.draw(o,i,n.currentStep)},n.onAnimationProgress=this.options.onAnimationProgress,n.onAnimationComplete=this.options.onAnimationComplete,e.animationService.addAnimation(this,n)}else this.draw(),this.options.onAnimationComplete.call(this);return this},generateLegend:function(){return r.template(this.options.legendTemplate,this)},destroy:function(){this.stop(),this.clear(),M(this,this.events);var t=this.chart.canvas;t.width=this.chart.width,t.height=this.chart.height,t.style.removeProperty?(t.style.removeProperty("width"),t.style.removeProperty("height")):(t.style.removeAttribute("width"),t.style.removeAttribute("height")),delete e.instances[this.id]},showTooltip:function(t,n){"undefined"==typeof this.activeElements&&(this.activeElements=[]);var o=function(t){var n=!1;return t.length!==this.activeElements.length?n=!0:(i(t,function(t,e){t!==this.activeElements[e]&&(n=!0)},this),n)}.call(this,t);if(o||n){if(this.activeElements=t,this.draw(),this.options.customTooltips&&this.options.customTooltips(!1),t.length>0)if(this.datasets&&this.datasets.length>1){for(var a,u,l=this.datasets.length-1;l>=0&&(a=this.datasets[l].points||this.datasets[l].bars||this.datasets[l].segments,u=s(a,t[0]),-1===u);l--);var c=[],f=[],h=function(t){var n,e,i,o,a,s=[],l=[],h=[];return r.each(this.datasets,function(t){n=t.points||t.bars||t.segments,n[u]&&n[u].hasValue()&&s.push(n[u])}),r.each(s,function(t){l.push(t.x),h.push(t.y),c.push(r.template(this.options.multiTooltipTemplate,t)),f.push({fill:t._saved.fillColor||t.fillColor,stroke:t._saved.strokeColor||t.strokeColor})},this),a=g(h),i=v(h),o=g(l),e=v(l),{x:o>this.chart.width/2?o:e,y:(a+i)/2}}.call(this,u);new e.MultiTooltip({x:h.x,y:h.y,xPadding:this.options.tooltipXPadding,yPadding:this.options.tooltipYPadding,xOffset:this.options.tooltipXOffset,fillColor:this.options.tooltipFillColor,textColor:this.options.tooltipFontColor,fontFamily:this.options.tooltipFontFamily,fontStyle:this.options.tooltipFontStyle,fontSize:this.options.tooltipFontSize,titleTextColor:this.options.tooltipTitleFontColor,titleFontFamily:this.options.tooltipTitleFontFamily,titleFontStyle:this.options.tooltipTitleFontStyle,titleFontSize:this.options.tooltipTitleFontSize,cornerRadius:this.options.tooltipCornerRadius,labels:c,legendColors:f,legendColorBackground:this.options.multiTooltipKeyBackground,title:b(this.options.tooltipTitleTemplate,t[0]),chart:this.chart,ctx:this.chart.ctx,custom:this.options.customTooltips}).draw()}else i(t,function(t){var n=t.tooltipPosition();new e.Tooltip({x:Math.round(n.x),y:Math.round(n.y),xPadding:this.options.tooltipXPadding,yPadding:this.options.tooltipYPadding,fillColor:this.options.tooltipFillColor,textColor:this.options.tooltipFontColor,fontFamily:this.options.tooltipFontFamily,fontStyle:this.options.tooltipFontStyle,fontSize:this.options.tooltipFontSize,caretHeight:this.options.tooltipCaretSize,cornerRadius:this.options.tooltipCornerRadius,text:b(this.options.tooltipTemplate,t),chart:this.chart,custom:this.options.customTooltips}).draw()},this);return this}},toBase64Image:function(){return this.chart.canvas.toDataURL.apply(this.chart.canvas,arguments)}}),e.Type.extend=function(t){var n=this,r=function(){return n.apply(this,arguments)};if(r.prototype=o(n.prototype),a(r.prototype,t),r.extend=e.Type.extend,t.name||n.prototype.name){var i=t.name||n.prototype.name,s=e.defaults[n.prototype.name]?o(e.defaults[n.prototype.name]):{};e.defaults[i]=a(s,t.defaults),e.types[i]=r,e.prototype[i]=function(t,n){var o=u(e.defaults.global,e.defaults[i],n||{});return new r(t,o,this)}}else h("Name not provided for this chart, so it hasn't been registered");return n},e.Element=function(t){a(this,t),this.initialize.apply(this,arguments),this.save()},a(e.Element.prototype,{initialize:function(){},restore:function(t){return t?i(t,function(t){this[t]=this._saved[t]},this):a(this,this._saved),this},save:function(){return this._saved=o(this),delete this._saved._saved,this},update:function(t){return i(t,function(t,n){this._saved[n]=this[n],this[n]=t},this),this},transition:function(t,n){return i(t,function(t,e){this[e]=(t-this._saved[e])*n+this._saved[e]},this),this},tooltipPosition:function(){return{x:this.x,y:this.y}},hasValue:function(){return d(this.value)}}),e.Element.extend=l,e.Point=e.Element.extend({display:!0,inRange:function(t,n){var e=this.hitDetectionRadius+this.radius;return Math.pow(t-this.x,2)+Math.pow(n-this.y,2)<Math.pow(e,2)},draw:function(){if(this.display){var t=this.ctx;t.beginPath(),t.arc(this.x,this.y,this.radius,0,2*Math.PI),t.closePath(),t.strokeStyle=this.strokeColor,t.lineWidth=this.strokeWidth,t.fillStyle=this.fillColor,t.fill(),t.stroke()}}}),e.Arc=e.Element.extend({inRange:function(t,n){var e=r.getAngleFromPoint(this,{x:t,y:n}),i=e.angle%(2*Math.PI),o=(2*Math.PI+this.startAngle)%(2*Math.PI),a=(2*Math.PI+this.endAngle)%(2*Math.PI)||360,u=o>a?a>=i||i>=o:i>=o&&a>=i,s=e.distance>=this.innerRadius&&e.distance<=this.outerRadius;return u&&s},tooltipPosition:function(){var t=this.startAngle+(this.endAngle-this.startAngle)/2,n=(this.outerRadius-this.innerRadius)/2+this.innerRadius;return{x:this.x+Math.cos(t)*n,y:this.y+Math.sin(t)*n}},draw:function(t){var n=this.ctx;n.beginPath(),n.arc(this.x,this.y,this.outerRadius<0?0:this.outerRadius,this.startAngle,this.endAngle),n.arc(this.x,this.y,this.innerRadius<0?0:this.innerRadius,this.endAngle,this.startAngle,!0),n.closePath(),n.strokeStyle=this.strokeColor,n.lineWidth=this.strokeWidth,n.fillStyle=this.fillColor,n.fill(),n.lineJoin="bevel",this.showStroke&&n.stroke()}}),e.Rectangle=e.Element.extend({draw:function(){var t=this.ctx,n=this.width/2,e=this.x-n,r=this.x+n,i=this.base-(this.base-this.y),o=this.strokeWidth/2;this.showStroke&&(e+=o,r-=o,i+=o),t.beginPath(),t.fillStyle=this.fillColor,t.strokeStyle=this.strokeColor,t.lineWidth=this.strokeWidth,t.moveTo(e,this.base),t.lineTo(e,i),t.lineTo(r,i),t.lineTo(r,this.base),t.fill(),this.showStroke&&t.stroke()},height:function(){return this.base-this.y},inRange:function(t,n){return t>=this.x-this.width/2&&t<=this.x+this.width/2&&n>=this.y&&n<=this.base}}),e.Animation=e.Element.extend({currentStep:null,numSteps:60,easing:"",render:null,onAnimationProgress:null,onAnimationComplete:null}),e.Tooltip=e.Element.extend({draw:function(){var t=this.chart.ctx;t.font=T(this.fontSize,this.fontStyle,this.fontFamily),this.xAlign="center",this.yAlign="above";var n=this.caretPadding=2,e=t.measureText(this.text).width+2*this.xPadding,r=this.fontSize+2*this.yPadding,i=r+this.caretHeight+n;this.x+e/2>this.chart.width?this.xAlign="left":this.x-e/2<0&&(this.xAlign="right"),this.y-i<0&&(this.yAlign="below");var o=this.x-e/2,a=this.y-i;if(t.fillStyle=this.fillColor,this.custom)this.custom(this);else{switch(this.yAlign){case"above":t.beginPath(),t.moveTo(this.x,this.y-n),t.lineTo(this.x+this.caretHeight,this.y-(n+this.caretHeight)),t.lineTo(this.x-this.caretHeight,this.y-(n+this.caretHeight)),t.closePath(),t.fill();break;case"below":a=this.y+n+this.caretHeight,t.beginPath(),t.moveTo(this.x,this.y+n),t.lineTo(this.x+this.caretHeight,this.y+n+this.caretHeight),t.lineTo(this.x-this.caretHeight,this.y+n+this.caretHeight),t.closePath(),t.fill()}switch(this.xAlign){case"left":o=this.x-e+(this.cornerRadius+this.caretHeight);break;case"right":o=this.x-(this.cornerRadius+this.caretHeight)}j(t,o,a,e,r,this.cornerRadius),t.fill(),t.fillStyle=this.textColor,t.textAlign="center",t.textBaseline="middle",t.fillText(this.text,o+e/2,a+r/2)}}}),e.MultiTooltip=e.Element.extend({initialize:function(){this.font=T(this.fontSize,this.fontStyle,this.fontFamily),this.titleFont=T(this.titleFontSize,this.titleFontStyle,this.titleFontFamily),this.titleHeight=this.title?1.5*this.titleFontSize:0,this.height=this.labels.length*this.fontSize+(this.labels.length-1)*(this.fontSize/2)+2*this.yPadding+this.titleHeight,this.ctx.font=this.titleFont;var t=this.ctx.measureText(this.title).width,n=L(this.ctx,this.font,this.labels)+this.fontSize+3,e=v([n,t]);this.width=e+2*this.xPadding;var r=this.height/2;this.y-r<0?this.y=r:this.y+r>this.chart.height&&(this.y=this.chart.height-r),this.x>this.chart.width/2?this.x-=this.xOffset+this.width:this.x+=this.xOffset},getLineHeight:function(t){var n=this.y-this.height/2+this.yPadding,e=t-1;return 0===t?n+this.titleHeight/3:n+(1.5*this.fontSize*e+this.fontSize/2)+this.titleHeight},draw:function(){if(this.custom)this.custom(this);else{j(this.ctx,this.x,this.y-this.height/2,this.width,this.height,this.cornerRadius);var t=this.ctx;t.fillStyle=this.fillColor,t.fill(),t.closePath(),t.textAlign="left",t.textBaseline="middle",t.fillStyle=this.titleTextColor,t.font=this.titleFont,t.fillText(this.title,this.x+this.xPadding,this.getLineHeight(0)),t.font=this.font,r.each(this.labels,function(n,e){t.fillStyle=this.textColor,t.fillText(n,this.x+this.xPadding+this.fontSize+3,this.getLineHeight(e+1)),t.fillStyle=this.legendColorBackground,t.fillRect(this.x+this.xPadding,this.getLineHeight(e+1)-this.fontSize/2,this.fontSize,this.fontSize),t.fillStyle=this.legendColors[e].fill,t.fillRect(this.x+this.xPadding,this.getLineHeight(e+1)-this.fontSize/2,this.fontSize,this.fontSize)},this)}}}),e.Scale=e.Element.extend({initialize:function(){this.fit()},buildYLabels:function(){this.yLabels=[];for(var t=m(this.stepValue),n=0;n<=this.steps;n++)this.yLabels.push(b(this.templateString,{value:(this.min+n*this.stepValue).toFixed(t)}));this.yLabelWidth=this.display&&this.showLabels?L(this.ctx,this.font,this.yLabels)+10:0},addXLabel:function(t){this.xLabels.push(t),this.valuesCount++,this.fit()},removeXLabel:function(){this.xLabels.shift(),this.valuesCount--,this.fit()},fit:function(){this.startPoint=this.display?this.fontSize:0,this.endPoint=this.display?this.height-1.5*this.fontSize-5:this.height,this.startPoint+=this.padding,this.endPoint-=this.padding;var t,n=this.endPoint,e=this.endPoint-this.startPoint;for(this.calculateYRange(e),this.buildYLabels(),this.calculateXLabelRotation();e>this.endPoint-this.startPoint;)e=this.endPoint-this.startPoint,t=this.yLabelWidth,this.calculateYRange(e),this.buildYLabels(),t<this.yLabelWidth&&(this.endPoint=n,this.calculateXLabelRotation())},calculateXLabelRotation:function(){this.ctx.font=this.font;var t,n,e=this.ctx.measureText(this.xLabels[0]).width,r=this.ctx.measureText(this.xLabels[this.xLabels.length-1]).width;if(this.xScalePaddingRight=r/2+3,this.xScalePaddingLeft=e/2>this.yLabelWidth?e/2:this.yLabelWidth,this.xLabelRotation=0,this.display){var i,o=L(this.ctx,this.font,this.xLabels);this.xLabelWidth=o;for(var a=Math.floor(this.calculateX(1)-this.calculateX(0))-6;this.xLabelWidth>a&&0===this.xLabelRotation||this.xLabelWidth>a&&this.xLabelRotation<=90&&this.xLabelRotation>0;)i=Math.cos(y(this.xLabelRotation)),t=i*e,n=i*r,t+this.fontSize/2>this.yLabelWidth&&(this.xScalePaddingLeft=t+this.fontSize/2),this.xScalePaddingRight=this.fontSize/2,this.xLabelRotation++,this.xLabelWidth=i*o;this.xLabelRotation>0&&(this.endPoint-=Math.sin(y(this.xLabelRotation))*o+3)}else this.xLabelWidth=0,this.xScalePaddingRight=this.padding,this.xScalePaddingLeft=this.padding},calculateYRange:c,drawingArea:function(){return this.startPoint-this.endPoint},calculateY:function(t){var n=this.drawingArea()/(this.min-this.max);return this.endPoint-n*(t-this.min)},calculateX:function(t){var n=(this.xLabelRotation>0,this.width-(this.xScalePaddingLeft+this.xScalePaddingRight)),e=n/Math.max(this.valuesCount-(this.offsetGridLines?0:1),1),r=e*t+this.xScalePaddingLeft;return this.offsetGridLines&&(r+=e/2),Math.round(r)},update:function(t){r.extend(this,t),this.fit()},draw:function(){var t=this.ctx,n=(this.endPoint-this.startPoint)/this.steps,e=Math.round(this.xScalePaddingLeft);this.display&&(t.fillStyle=this.textColor,t.font=this.font,i(this.yLabels,function(i,o){var a=this.endPoint-n*o,u=Math.round(a),s=this.showHorizontalLines;t.textAlign="right",t.textBaseline="middle",this.showLabels&&t.fillText(i,e-10,a),0!==o||s||(s=!0),s&&t.beginPath(),o>0?(t.lineWidth=this.gridLineWidth,t.strokeStyle=this.gridLineColor):(t.lineWidth=this.lineWidth,t.strokeStyle=this.lineColor),u+=r.aliasPixel(t.lineWidth),s&&(t.moveTo(e,u),t.lineTo(this.width,u),t.stroke(),t.closePath()),t.lineWidth=this.lineWidth,t.strokeStyle=this.lineColor,t.beginPath(),t.moveTo(e-5,u),t.lineTo(e,u),t.stroke(),t.closePath()},this),i(this.xLabels,function(n,e){var r=this.calculateX(e)+$(this.lineWidth),i=this.calculateX(e-(this.offsetGridLines?.5:0))+$(this.lineWidth),o=this.xLabelRotation>0,a=this.showVerticalLines;0!==e||a||(a=!0),a&&t.beginPath(),e>0?(t.lineWidth=this.gridLineWidth,t.strokeStyle=this.gridLineColor):(t.lineWidth=this.lineWidth,t.strokeStyle=this.lineColor),a&&(t.moveTo(i,this.endPoint),t.lineTo(i,this.startPoint-3),t.stroke(),t.closePath()),t.lineWidth=this.lineWidth,t.strokeStyle=this.lineColor,t.beginPath(),t.moveTo(i,this.endPoint),t.lineTo(i,this.endPoint+5),t.stroke(),t.closePath(),t.save(),t.translate(r,o?this.endPoint+12:this.endPoint+8),t.rotate(-1*y(this.xLabelRotation)),t.font=this.font,t.textAlign=o?"right":"center",t.textBaseline=o?"middle":"top",t.fillText(n,0,0),t.restore()},this))}}),e.RadialScale=e.Element.extend({initialize:function(){this.size=g([this.height,this.width]),this.drawingArea=this.display?this.size/2-(this.fontSize/2+this.backdropPaddingY):this.size/2},calculateCenterOffset:function(t){var n=this.drawingArea/(this.max-this.min);return(t-this.min)*n},update:function(){this.lineArc?this.drawingArea=this.display?this.size/2-(this.fontSize/2+this.backdropPaddingY):this.size/2:this.setScaleSize(),this.buildYLabels()},buildYLabels:function(){this.yLabels=[];for(var t=m(this.stepValue),n=0;n<=this.steps;n++)this.yLabels.push(b(this.templateString,{value:(this.min+n*this.stepValue).toFixed(t)}))},getCircumference:function(){return 2*Math.PI/this.valuesCount},setScaleSize:function(){var t,n,e,r,i,o,a,u,s,l,c,f,h=g([this.height/2-this.pointLabelFontSize-5,this.width/2]),p=this.width,v=0;for(this.ctx.font=T(this.pointLabelFontSize,this.pointLabelFontStyle,this.pointLabelFontFamily),n=0;n<this.valuesCount;n++)t=this.getPointPosition(n,h),e=this.ctx.measureText(b(this.templateString,{value:this.labels[n]})).width+5,0===n||n===this.valuesCount/2?(r=e/2,t.x+r>p&&(p=t.x+r,i=n),t.x-r<v&&(v=t.x-r,a=n)):n<this.valuesCount/2?t.x+e>p&&(p=t.x+e,i=n):n>this.valuesCount/2&&t.x-e<v&&(v=t.x-e,a=n);s=v,l=Math.ceil(p-this.width),o=this.getIndexAngle(i),u=this.getIndexAngle(a),c=l/Math.sin(o+Math.PI/2),f=s/Math.sin(u+Math.PI/2),c=d(c)?c:0,f=d(f)?f:0,this.drawingArea=h-(f+c)/2,this.setCenterPoint(f,c)},setCenterPoint:function(t,n){var e=this.width-n-this.drawingArea,r=t+this.drawingArea;this.xCenter=(r+e)/2,this.yCenter=this.height/2},getIndexAngle:function(t){var n=2*Math.PI/this.valuesCount;return t*n-Math.PI/2},getPointPosition:function(t,n){var e=this.getIndexAngle(t);return{x:Math.cos(e)*n+this.xCenter,y:Math.sin(e)*n+this.yCenter}},draw:function(){if(this.display){var t=this.ctx;if(i(this.yLabels,function(n,e){if(e>0){var r,i=e*(this.drawingArea/this.steps),o=this.yCenter-i;if(this.lineWidth>0)if(t.strokeStyle=this.lineColor,t.lineWidth=this.lineWidth,this.lineArc)t.beginPath(),t.arc(this.xCenter,this.yCenter,i,0,2*Math.PI),t.closePath(),t.stroke();else{t.beginPath();for(var a=0;a<this.valuesCount;a++)r=this.getPointPosition(a,this.calculateCenterOffset(this.min+e*this.stepValue)),0===a?t.moveTo(r.x,r.y):t.lineTo(r.x,r.y);t.closePath(),t.stroke()}if(this.showLabels){if(t.font=T(this.fontSize,this.fontStyle,this.fontFamily),this.showLabelBackdrop){var u=t.measureText(n).width;t.fillStyle=this.backdropColor,t.fillRect(this.xCenter-u/2-this.backdropPaddingX,o-this.fontSize/2-this.backdropPaddingY,u+2*this.backdropPaddingX,this.fontSize+2*this.backdropPaddingY)}t.textAlign="center",t.textBaseline="middle",t.fillStyle=this.fontColor,t.fillText(n,this.xCenter,o)}}},this),!this.lineArc){t.lineWidth=this.angleLineWidth,t.strokeStyle=this.angleLineColor;for(var n=this.valuesCount-1;n>=0;n--){var e=null,r=null;if(this.angleLineWidth>0&&n%this.angleLineInterval===0&&(e=this.calculateCenterOffset(this.max),r=this.getPointPosition(n,e),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(r.x,r.y),t.stroke(),t.closePath()),this.backgroundColors&&this.backgroundColors.length==this.valuesCount){null==e&&(e=this.calculateCenterOffset(this.max)),null==r&&(r=this.getPointPosition(n,e));var o=this.getPointPosition(0===n?this.valuesCount-1:n-1,e),a=this.getPointPosition(n===this.valuesCount-1?0:n+1,e),u={x:(o.x+r.x)/2,y:(o.y+r.y)/2},s={x:(r.x+a.x)/2,y:(r.y+a.y)/2};t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(u.x,u.y),t.lineTo(r.x,r.y),t.lineTo(s.x,s.y),t.fillStyle=this.backgroundColors[n],t.fill(),t.closePath()}var l=this.getPointPosition(n,this.calculateCenterOffset(this.max)+5);t.font=T(this.pointLabelFontSize,this.pointLabelFontStyle,this.pointLabelFontFamily),t.fillStyle=this.pointLabelFontColor;var c=this.labels.length,f=this.labels.length/2,h=f/2,p=h>n||n>c-h,d=n===h||n===c-h;0===n?t.textAlign="center":n===f?t.textAlign="center":f>n?t.textAlign="left":t.textAlign="right",d?t.textBaseline="middle":p?t.textBaseline="bottom":t.textBaseline="top",t.fillText(this.labels[n],l.x,l.y)}}}}}),e.animationService={frameDuration:17,animations:[],dropFrames:0,addAnimation:function(t,n){for(var e=0;e<this.animations.length;++e)if(this.animations[e].chartInstance===t)return void(this.animations[e].animationObject=n);this.animations.push({chartInstance:t,animationObject:n}),1==this.animations.length&&r.requestAnimFrame.call(window,this.digestWrapper)},cancelAnimation:function(t){var n=r.findNextWhere(this.animations,function(n){return n.chartInstance===t});n&&this.animations.splice(n,1)},digestWrapper:function(){e.animationService.startDigest.call(e.animationService)},startDigest:function(){var t=Date.now(),n=0;this.dropFrames>1&&(n=Math.floor(this.dropFrames),this.dropFrames-=n);for(var e=0;e<this.animations.length;e++)null===this.animations[e].animationObject.currentStep&&(this.animations[e].animationObject.currentStep=0),this.animations[e].animationObject.currentStep+=1+n,this.animations[e].animationObject.currentStep>this.animations[e].animationObject.numSteps&&(this.animations[e].animationObject.currentStep=this.animations[e].animationObject.numSteps),this.animations[e].animationObject.render(this.animations[e].chartInstance,this.animations[e].animationObject),this.animations[e].animationObject.currentStep==this.animations[e].animationObject.numSteps&&(this.animations[e].animationObject.onAnimationComplete.call(this.animations[e].chartInstance),this.animations.splice(e,1),e--);var i=Date.now(),o=i-t-this.frameDuration,a=o/this.frameDuration;a>1&&(this.dropFrames+=a),this.animations.length>0&&r.requestAnimFrame.call(window,this.digestWrapper)}},r.addEvent(window,"resize",function(){var t;return function(){clearTimeout(t),t=setTimeout(function(){i(e.instances,function(t){t.options.responsive&&t.resize(t.render,!0)})},50)}}()),p?define("Chart",[],function(){return e}):"object"==typeof module&&module.exports&&(module.exports=e),t.Chart=e,e.noConflict=function(){return t.Chart=n,e}}.call(this),function(){"use strict";var t=this,n=t.Chart,e=n.helpers,r={scaleBeginAtZero:!0,scaleShowGridLines:!0,scaleGridLineColor:"rgba(0,0,0,.05)",scaleGridLineWidth:1,scaleShowHorizontalLines:!0,scaleShowVerticalLines:!0,barShowStroke:!0,barStrokeWidth:2,barValueSpacing:5,barDatasetSpacing:1,legendTemplate:'<ul class="<%=name.toLowerCase()%>-legend"><% for (var i=0; i<datasets.length; i++){%><li><span class="<%=name.toLowerCase()%>-legend-icon" style="background-color:<%=datasets[i].fillColor%>"></span><span class="<%=name.toLowerCase()%>-legend-text"><%if(datasets[i].label){%><%=datasets[i].label%><%}%></span></li><%}%></ul>'};n.Type.extend({name:"Bar",defaults:r,initialize:function(t){var r=this.options;this.ScaleClass=n.Scale.extend({offsetGridLines:!0,calculateBarX:function(t,n,e){var i=this.calculateBaseWidth(),o=this.calculateX(e)-i/2,a=this.calculateBarWidth(t);return o+a*n+n*r.barDatasetSpacing+a/2},calculateBaseWidth:function(){return this.calculateX(1)-this.calculateX(0)-2*r.barValueSpacing},calculateBarWidth:function(t){var n=this.calculateBaseWidth()-(t-1)*r.barDatasetSpacing;return n/t}}),this.datasets=[],this.options.showTooltips&&e.bindEvents(this,this.options.tooltipEvents,function(t){var n="mouseout"!==t.type?this.getBarsAtEvent(t):[];this.eachBars(function(t){t.restore(["fillColor","strokeColor"])}),e.each(n,function(t){t&&(t.fillColor=t.highlightFill,t.strokeColor=t.highlightStroke)}),this.showTooltip(n)}),this.BarClass=n.Rectangle.extend({strokeWidth:this.options.barStrokeWidth,showStroke:this.options.barShowStroke,ctx:this.chart.ctx}),e.each(t.datasets,function(n,r){var i={label:n.label||null,fillColor:n.fillColor,strokeColor:n.strokeColor,bars:[]};this.datasets.push(i),e.each(n.data,function(e,r){i.bars.push(new this.BarClass({value:e,label:t.labels[r],datasetLabel:n.label,strokeColor:"object"==typeof n.strokeColor?n.strokeColor[r]:n.strokeColor,fillColor:"object"==typeof n.fillColor?n.fillColor[r]:n.fillColor,highlightFill:n.highlightFill?"object"==typeof n.highlightFill?n.highlightFill[r]:n.highlightFill:"object"==typeof n.fillColor?n.fillColor[r]:n.fillColor,highlightStroke:n.highlightStroke?"object"==typeof n.highlightStroke?n.highlightStroke[r]:n.highlightStroke:"object"==typeof n.strokeColor?n.strokeColor[r]:n.strokeColor}))},this)},this),this.buildScale(t.labels),this.BarClass.prototype.base=this.scale.endPoint,this.eachBars(function(t,n,r){e.extend(t,{width:this.scale.calculateBarWidth(this.datasets.length),x:this.scale.calculateBarX(this.datasets.length,r,n),y:this.scale.endPoint}),t.save()},this),this.render()},update:function(){this.scale.update(),e.each(this.activeElements,function(t){t.restore(["fillColor","strokeColor"])}),this.eachBars(function(t){t.save()}),this.render()},eachBars:function(t){e.each(this.datasets,function(n,r){e.each(n.bars,t,this,r)},this)},getBarsAtEvent:function(t){for(var n,r=[],i=e.getRelativePosition(t),o=function(t){r.push(t.bars[n])},a=0;a<this.datasets.length;a++)for(n=0;n<this.datasets[a].bars.length;n++)if(this.datasets[a].bars[n].inRange(i.x,i.y))return e.each(this.datasets,o),r;return r},buildScale:function(t){var n=this,r=function(){var t=[];return n.eachBars(function(n){t.push(n.value)}),t},i={templateString:this.options.scaleLabel,height:this.chart.height,width:this.chart.width,ctx:this.chart.ctx,textColor:this.options.scaleFontColor,fontSize:this.options.scaleFontSize,fontStyle:this.options.scaleFontStyle,fontFamily:this.options.scaleFontFamily,valuesCount:t.length,beginAtZero:this.options.scaleBeginAtZero,integersOnly:this.options.scaleIntegersOnly,calculateYRange:function(t){var n=e.calculateScaleRange(r(),t,this.fontSize,this.beginAtZero,this.integersOnly);e.extend(this,n)},xLabels:t,font:e.fontString(this.options.scaleFontSize,this.options.scaleFontStyle,this.options.scaleFontFamily),lineWidth:this.options.scaleLineWidth,lineColor:this.options.scaleLineColor,showHorizontalLines:this.options.scaleShowHorizontalLines,showVerticalLines:this.options.scaleShowVerticalLines,gridLineWidth:this.options.scaleShowGridLines?this.options.scaleGridLineWidth:0,gridLineColor:this.options.scaleShowGridLines?this.options.scaleGridLineColor:"rgba(0,0,0,0)",padding:this.options.showScale?0:this.options.barShowStroke?this.options.barStrokeWidth:0,showLabels:this.options.scaleShowLabels,display:this.options.showScale};this.options.scaleOverride&&e.extend(i,{calculateYRange:e.noop,steps:this.options.scaleSteps,stepValue:this.options.scaleStepWidth,min:this.options.scaleStartValue,max:this.options.scaleStartValue+this.options.scaleSteps*this.options.scaleStepWidth}),this.scale=new this.ScaleClass(i)},addData:function(t,n){e.each(t,function(t,e){this.datasets[e].bars.push(new this.BarClass({value:t,label:n,datasetLabel:this.datasets[e].label,x:this.scale.calculateBarX(this.datasets.length,e,this.scale.valuesCount+1),y:this.scale.endPoint,width:this.scale.calculateBarWidth(this.datasets.length),base:this.scale.endPoint,strokeColor:this.datasets[e].strokeColor,fillColor:this.datasets[e].fillColor}))},this),this.scale.addXLabel(n),this.update()},removeData:function(){this.scale.removeXLabel(),e.each(this.datasets,function(t){t.bars.shift()},this),this.update()},reflow:function(){e.extend(this.BarClass.prototype,{y:this.scale.endPoint,base:this.scale.endPoint});var t=e.extend({height:this.chart.height,width:this.chart.width});this.scale.update(t)},draw:function(t){var n=t||1;this.clear();this.chart.ctx;this.scale.draw(n),e.each(this.datasets,function(t,r){e.each(t.bars,function(t,e){t.hasValue()&&(t.base=this.scale.endPoint,t.transition({x:this.scale.calculateBarX(this.datasets.length,r,e),y:this.scale.calculateY(t.value),
+width:this.scale.calculateBarWidth(this.datasets.length)},n).draw())},this)},this)}})}.call(this),function(){"use strict";var t=this,n=t.Chart,e=n.helpers,r={segmentShowStroke:!0,segmentStrokeColor:"#fff",segmentStrokeWidth:2,percentageInnerCutout:50,animationSteps:100,animationEasing:"easeOutBounce",animateRotate:!0,animateScale:!1,legendTemplate:'<ul class="<%=name.toLowerCase()%>-legend"><% for (var i=0; i<segments.length; i++){%><li><span class="<%=name.toLowerCase()%>-legend-icon" style="background-color:<%=segments[i].fillColor%>"></span><span class="<%=name.toLowerCase()%>-legend-text"><%if(segments[i].label){%><%=segments[i].label%><%}%></span></li><%}%></ul>'};n.Type.extend({name:"Doughnut",defaults:r,initialize:function(t){this.segments=[],this.outerRadius=(e.min([this.chart.width,this.chart.height])-this.options.segmentStrokeWidth/2)/2,this.SegmentArc=n.Arc.extend({ctx:this.chart.ctx,x:this.chart.width/2,y:this.chart.height/2}),this.options.showTooltips&&e.bindEvents(this,this.options.tooltipEvents,function(t){var n="mouseout"!==t.type?this.getSegmentsAtEvent(t):[];e.each(this.segments,function(t){t.restore(["fillColor"])}),e.each(n,function(t){t.fillColor=t.highlightColor}),this.showTooltip(n)}),this.calculateTotal(t),e.each(t,function(n,e){n.color||(n.color="hsl("+360*e/t.length+", 100%, 50%)"),this.addData(n,e,!0)},this),this.render()},getSegmentsAtEvent:function(t){var n=[],r=e.getRelativePosition(t);return e.each(this.segments,function(t){t.inRange(r.x,r.y)&&n.push(t)},this),n},addData:function(t,e,r){var i=void 0!==e?e:this.segments.length;"undefined"==typeof t.color&&(t.color=n.defaults.global.segmentColorDefault[i%n.defaults.global.segmentColorDefault.length],t.highlight=n.defaults.global.segmentHighlightColorDefaults[i%n.defaults.global.segmentHighlightColorDefaults.length]),this.segments.splice(i,0,new this.SegmentArc({value:t.value,outerRadius:this.options.animateScale?0:this.outerRadius,innerRadius:this.options.animateScale?0:this.outerRadius/100*this.options.percentageInnerCutout,fillColor:t.color,highlightColor:t.highlight||t.color,showStroke:this.options.segmentShowStroke,strokeWidth:this.options.segmentStrokeWidth,strokeColor:this.options.segmentStrokeColor,startAngle:1.5*Math.PI,circumference:this.options.animateRotate?0:this.calculateCircumference(t.value),label:t.label})),r||(this.reflow(),this.update())},calculateCircumference:function(t){return this.total>0?2*Math.PI*(t/this.total):0},calculateTotal:function(t){this.total=0,e.each(t,function(t){this.total+=Math.abs(t.value)},this)},update:function(){this.calculateTotal(this.segments),e.each(this.activeElements,function(t){t.restore(["fillColor"])}),e.each(this.segments,function(t){t.save()}),this.render()},removeData:function(t){var n=e.isNumber(t)?t:this.segments.length-1;this.segments.splice(n,1),this.reflow(),this.update()},reflow:function(){e.extend(this.SegmentArc.prototype,{x:this.chart.width/2,y:this.chart.height/2}),this.outerRadius=(e.min([this.chart.width,this.chart.height])-this.options.segmentStrokeWidth/2)/2,e.each(this.segments,function(t){t.update({outerRadius:this.outerRadius,innerRadius:this.outerRadius/100*this.options.percentageInnerCutout})},this)},draw:function(t){var n=t?t:1;this.clear(),e.each(this.segments,function(t,e){t.transition({circumference:this.calculateCircumference(t.value),outerRadius:this.outerRadius,innerRadius:this.outerRadius/100*this.options.percentageInnerCutout},n),t.endAngle=t.startAngle+t.circumference,t.draw(),0===e&&(t.startAngle=1.5*Math.PI),e<this.segments.length-1&&(this.segments[e+1].startAngle=t.endAngle)},this)}}),n.types.Doughnut.extend({name:"Pie",defaults:e.merge(r,{percentageInnerCutout:0})})}.call(this),function(){"use strict";var t=this,n=t.Chart,e=n.helpers,r={scaleShowGridLines:!0,scaleGridLineColor:"rgba(0,0,0,.05)",scaleGridLineWidth:1,scaleShowHorizontalLines:!0,scaleShowVerticalLines:!0,bezierCurve:!0,bezierCurveTension:.4,pointDot:!0,pointDotRadius:4,pointDotStrokeWidth:1,pointHitDetectionRadius:20,datasetStroke:!0,datasetStrokeWidth:2,datasetFill:!0,legendTemplate:'<ul class="<%=name.toLowerCase()%>-legend"><% for (var i=0; i<datasets.length; i++){%><li><span class="<%=name.toLowerCase()%>-legend-icon" style="background-color:<%=datasets[i].strokeColor%>"></span><span class="<%=name.toLowerCase()%>-legend-text"><%if(datasets[i].label){%><%=datasets[i].label%><%}%></span></li><%}%></ul>',offsetGridLines:!1};n.Type.extend({name:"Line",defaults:r,initialize:function(t){this.PointClass=n.Point.extend({offsetGridLines:this.options.offsetGridLines,strokeWidth:this.options.pointDotStrokeWidth,radius:this.options.pointDotRadius,display:this.options.pointDot,hitDetectionRadius:this.options.pointHitDetectionRadius,ctx:this.chart.ctx,inRange:function(t){return Math.pow(t-this.x,2)<Math.pow(this.radius+this.hitDetectionRadius,2)}}),this.datasets=[],this.options.showTooltips&&e.bindEvents(this,this.options.tooltipEvents,function(t){var n="mouseout"!==t.type?this.getPointsAtEvent(t):[];this.eachPoints(function(t){t.restore(["fillColor","strokeColor"])}),e.each(n,function(t){t.fillColor=t.highlightFill,t.strokeColor=t.highlightStroke}),this.showTooltip(n)}),e.each(t.datasets,function(n){var r={label:n.label||null,fillColor:n.fillColor,strokeColor:n.strokeColor,pointColor:n.pointColor,pointStrokeColor:n.pointStrokeColor,points:[]};this.datasets.push(r),e.each(n.data,function(e,i){r.points.push(new this.PointClass({value:e,label:t.labels[i],datasetLabel:n.label,strokeColor:n.pointStrokeColor,fillColor:n.pointColor,highlightFill:n.pointHighlightFill||n.pointColor,highlightStroke:n.pointHighlightStroke||n.pointStrokeColor}))},this),this.buildScale(t.labels),this.eachPoints(function(t,n){e.extend(t,{x:this.scale.calculateX(n),y:this.scale.endPoint}),t.save()},this)},this),this.render()},update:function(){this.scale.update(),e.each(this.activeElements,function(t){t.restore(["fillColor","strokeColor"])}),this.eachPoints(function(t){t.save()}),this.render()},eachPoints:function(t){e.each(this.datasets,function(n){e.each(n.points,t,this)},this)},getPointsAtEvent:function(t){var n=[],r=e.getRelativePosition(t);return e.each(this.datasets,function(t){e.each(t.points,function(t){t.inRange(r.x,r.y)&&n.push(t)})},this),n},buildScale:function(t){var r=this,i=function(){var t=[];return r.eachPoints(function(n){t.push(n.value)}),t},o={templateString:this.options.scaleLabel,height:this.chart.height,width:this.chart.width,ctx:this.chart.ctx,textColor:this.options.scaleFontColor,offsetGridLines:this.options.offsetGridLines,fontSize:this.options.scaleFontSize,fontStyle:this.options.scaleFontStyle,fontFamily:this.options.scaleFontFamily,valuesCount:t.length,beginAtZero:this.options.scaleBeginAtZero,integersOnly:this.options.scaleIntegersOnly,calculateYRange:function(t){var n=e.calculateScaleRange(i(),t,this.fontSize,this.beginAtZero,this.integersOnly);e.extend(this,n)},xLabels:t,font:e.fontString(this.options.scaleFontSize,this.options.scaleFontStyle,this.options.scaleFontFamily),lineWidth:this.options.scaleLineWidth,lineColor:this.options.scaleLineColor,showHorizontalLines:this.options.scaleShowHorizontalLines,showVerticalLines:this.options.scaleShowVerticalLines,gridLineWidth:this.options.scaleShowGridLines?this.options.scaleGridLineWidth:0,gridLineColor:this.options.scaleShowGridLines?this.options.scaleGridLineColor:"rgba(0,0,0,0)",padding:this.options.showScale?0:this.options.pointDotRadius+this.options.pointDotStrokeWidth,showLabels:this.options.scaleShowLabels,display:this.options.showScale};this.options.scaleOverride&&e.extend(o,{calculateYRange:e.noop,steps:this.options.scaleSteps,stepValue:this.options.scaleStepWidth,min:this.options.scaleStartValue,max:this.options.scaleStartValue+this.options.scaleSteps*this.options.scaleStepWidth}),this.scale=new n.Scale(o)},addData:function(t,n){e.each(t,function(t,e){this.datasets[e].points.push(new this.PointClass({value:t,label:n,datasetLabel:this.datasets[e].label,x:this.scale.calculateX(this.scale.valuesCount+1),y:this.scale.endPoint,strokeColor:this.datasets[e].pointStrokeColor,fillColor:this.datasets[e].pointColor}))},this),this.scale.addXLabel(n),this.update()},removeData:function(){this.scale.removeXLabel(),e.each(this.datasets,function(t){t.points.shift()},this),this.update()},reflow:function(){var t=e.extend({height:this.chart.height,width:this.chart.width});this.scale.update(t)},draw:function(t){var n=t||1;this.clear();var r=this.chart.ctx,i=function(t){return null!==t.value},o=function(t,n,r){return e.findNextWhere(n,i,r)||t},a=function(t,n,r){return e.findPreviousWhere(n,i,r)||t};this.scale&&(this.scale.draw(n),e.each(this.datasets,function(t){var u=e.where(t.points,i);e.each(t.points,function(t,e){t.hasValue()&&t.transition({y:this.scale.calculateY(t.value),x:this.scale.calculateX(e)},n)},this),this.options.bezierCurve&&e.each(u,function(t,n){var r=n>0&&n<u.length-1?this.options.bezierCurveTension:0;t.controlPoints=e.splineCurve(a(t,u,n),t,o(t,u,n),r),t.controlPoints.outer.y>this.scale.endPoint?t.controlPoints.outer.y=this.scale.endPoint:t.controlPoints.outer.y<this.scale.startPoint&&(t.controlPoints.outer.y=this.scale.startPoint),t.controlPoints.inner.y>this.scale.endPoint?t.controlPoints.inner.y=this.scale.endPoint:t.controlPoints.inner.y<this.scale.startPoint&&(t.controlPoints.inner.y=this.scale.startPoint)},this),r.lineWidth=this.options.datasetStrokeWidth,r.strokeStyle=t.strokeColor,r.beginPath(),e.each(u,function(t,n){if(0===n)r.moveTo(t.x,t.y);else if(this.options.bezierCurve){var e=a(t,u,n);r.bezierCurveTo(e.controlPoints.outer.x,e.controlPoints.outer.y,t.controlPoints.inner.x,t.controlPoints.inner.y,t.x,t.y)}else r.lineTo(t.x,t.y)},this),this.options.datasetStroke&&r.stroke(),this.options.datasetFill&&u.length>0&&(r.lineTo(u[u.length-1].x,this.scale.endPoint),r.lineTo(u[0].x,this.scale.endPoint),r.fillStyle=t.fillColor,r.closePath(),r.fill()),e.each(u,function(t){t.draw()})},this))}})}.call(this),function(){"use strict";var t=this,n=t.Chart,e=n.helpers,r={scaleShowLabelBackdrop:!0,scaleBackdropColor:"rgba(255,255,255,0.75)",scaleBeginAtZero:!0,scaleBackdropPaddingY:2,scaleBackdropPaddingX:2,scaleShowLine:!0,segmentShowStroke:!0,segmentStrokeColor:"#fff",segmentStrokeWidth:2,animationSteps:100,animationEasing:"easeOutBounce",animateRotate:!0,animateScale:!1,legendTemplate:'<ul class="<%=name.toLowerCase()%>-legend"><% for (var i=0; i<segments.length; i++){%><li><span class="<%=name.toLowerCase()%>-legend-icon" style="background-color:<%=segments[i].fillColor%>"></span><span class="<%=name.toLowerCase()%>-legend-text"><%if(segments[i].label){%><%=segments[i].label%><%}%></span></li><%}%></ul>'};n.Type.extend({name:"PolarArea",defaults:r,initialize:function(t){this.segments=[],this.SegmentArc=n.Arc.extend({showStroke:this.options.segmentShowStroke,strokeWidth:this.options.segmentStrokeWidth,strokeColor:this.options.segmentStrokeColor,ctx:this.chart.ctx,innerRadius:0,x:this.chart.width/2,y:this.chart.height/2}),this.scale=new n.RadialScale({display:this.options.showScale,fontStyle:this.options.scaleFontStyle,fontSize:this.options.scaleFontSize,fontFamily:this.options.scaleFontFamily,fontColor:this.options.scaleFontColor,showLabels:this.options.scaleShowLabels,showLabelBackdrop:this.options.scaleShowLabelBackdrop,backdropColor:this.options.scaleBackdropColor,backdropPaddingY:this.options.scaleBackdropPaddingY,backdropPaddingX:this.options.scaleBackdropPaddingX,lineWidth:this.options.scaleShowLine?this.options.scaleLineWidth:0,lineColor:this.options.scaleLineColor,lineArc:!0,width:this.chart.width,height:this.chart.height,xCenter:this.chart.width/2,yCenter:this.chart.height/2,ctx:this.chart.ctx,templateString:this.options.scaleLabel,valuesCount:t.length}),this.updateScaleRange(t),this.scale.update(),e.each(t,function(t,n){this.addData(t,n,!0)},this),this.options.showTooltips&&e.bindEvents(this,this.options.tooltipEvents,function(t){var n="mouseout"!==t.type?this.getSegmentsAtEvent(t):[];e.each(this.segments,function(t){t.restore(["fillColor"])}),e.each(n,function(t){t.fillColor=t.highlightColor}),this.showTooltip(n)}),this.render()},getSegmentsAtEvent:function(t){var n=[],r=e.getRelativePosition(t);return e.each(this.segments,function(t){t.inRange(r.x,r.y)&&n.push(t)},this),n},addData:function(t,n,e){var r=n||this.segments.length;this.segments.splice(r,0,new this.SegmentArc({fillColor:t.color,highlightColor:t.highlight||t.color,label:t.label,value:t.value,outerRadius:this.options.animateScale?0:this.scale.calculateCenterOffset(t.value),circumference:this.options.animateRotate?0:this.scale.getCircumference(),startAngle:1.5*Math.PI})),e||(this.reflow(),this.update())},removeData:function(t){var n=e.isNumber(t)?t:this.segments.length-1;this.segments.splice(n,1),this.reflow(),this.update()},calculateTotal:function(t){this.total=0,e.each(t,function(t){this.total+=t.value},this),this.scale.valuesCount=this.segments.length},updateScaleRange:function(t){var n=[];e.each(t,function(t){n.push(t.value)});var r=this.options.scaleOverride?{steps:this.options.scaleSteps,stepValue:this.options.scaleStepWidth,min:this.options.scaleStartValue,max:this.options.scaleStartValue+this.options.scaleSteps*this.options.scaleStepWidth}:e.calculateScaleRange(n,e.min([this.chart.width,this.chart.height])/2,this.options.scaleFontSize,this.options.scaleBeginAtZero,this.options.scaleIntegersOnly);e.extend(this.scale,r,{size:e.min([this.chart.width,this.chart.height]),xCenter:this.chart.width/2,yCenter:this.chart.height/2})},update:function(){this.calculateTotal(this.segments),e.each(this.segments,function(t){t.save()}),this.reflow(),this.render()},reflow:function(){e.extend(this.SegmentArc.prototype,{x:this.chart.width/2,y:this.chart.height/2}),this.updateScaleRange(this.segments),this.scale.update(),e.extend(this.scale,{xCenter:this.chart.width/2,yCenter:this.chart.height/2}),e.each(this.segments,function(t){t.update({outerRadius:this.scale.calculateCenterOffset(t.value)})},this)},draw:function(t){var n=t||1;this.clear(),e.each(this.segments,function(t,e){t.transition({circumference:this.scale.getCircumference(),outerRadius:this.scale.calculateCenterOffset(t.value)},n),t.endAngle=t.startAngle+t.circumference,0===e&&(t.startAngle=1.5*Math.PI),e<this.segments.length-1&&(this.segments[e+1].startAngle=t.endAngle),t.draw()},this),this.scale.draw()}})}.call(this),function(){"use strict";var t=this,n=t.Chart,e=n.helpers;n.Type.extend({name:"Radar",defaults:{scaleShowLine:!0,angleShowLineOut:!0,scaleShowLabels:!1,scaleBeginAtZero:!0,angleLineColor:"rgba(0,0,0,.1)",angleLineWidth:1,angleLineInterval:1,pointLabelFontFamily:"'Arial'",pointLabelFontStyle:"normal",pointLabelFontSize:10,pointLabelFontColor:"#666",pointDot:!0,pointDotRadius:3,pointDotStrokeWidth:1,pointHitDetectionRadius:20,datasetStroke:!0,datasetStrokeWidth:2,datasetFill:!0,legendTemplate:'<ul class="<%=name.toLowerCase()%>-legend"><% for (var i=0; i<datasets.length; i++){%><li><span class="<%=name.toLowerCase()%>-legend-icon" style="background-color:<%=datasets[i].strokeColor%>"></span><span class="<%=name.toLowerCase()%>-legend-text"><%if(datasets[i].label){%><%=datasets[i].label%><%}%></span></li><%}%></ul>'},initialize:function(t){this.PointClass=n.Point.extend({strokeWidth:this.options.pointDotStrokeWidth,radius:this.options.pointDotRadius,display:this.options.pointDot,hitDetectionRadius:this.options.pointHitDetectionRadius,ctx:this.chart.ctx}),this.datasets=[],this.buildScale(t),this.options.showTooltips&&e.bindEvents(this,this.options.tooltipEvents,function(t){var n="mouseout"!==t.type?this.getPointsAtEvent(t):[];this.eachPoints(function(t){t.restore(["fillColor","strokeColor"])}),e.each(n,function(t){t.fillColor=t.highlightFill,t.strokeColor=t.highlightStroke}),this.showTooltip(n)}),e.each(t.datasets,function(n){var r={label:n.label||null,fillColor:n.fillColor,strokeColor:n.strokeColor,pointColor:n.pointColor,pointStrokeColor:n.pointStrokeColor,points:[]};this.datasets.push(r),e.each(n.data,function(e,i){var o;this.scale.animation||(o=this.scale.getPointPosition(i,this.scale.calculateCenterOffset(e))),r.points.push(new this.PointClass({value:e,label:t.labels[i],datasetLabel:n.label,x:this.options.animation?this.scale.xCenter:o.x,y:this.options.animation?this.scale.yCenter:o.y,strokeColor:n.pointStrokeColor,fillColor:n.pointColor,highlightFill:n.pointHighlightFill||n.pointColor,highlightStroke:n.pointHighlightStroke||n.pointStrokeColor}))},this)},this),this.render()},eachPoints:function(t){e.each(this.datasets,function(n){e.each(n.points,t,this)},this)},getPointsAtEvent:function(t){var n=e.getRelativePosition(t),r=e.getAngleFromPoint({x:this.scale.xCenter,y:this.scale.yCenter},n),i=2*Math.PI/this.scale.valuesCount,o=Math.round((r.angle-1.5*Math.PI)/i),a=[];return(o>=this.scale.valuesCount||0>o)&&(o=0),r.distance<=this.scale.drawingArea&&e.each(this.datasets,function(t){a.push(t.points[o])}),a},buildScale:function(t){this.scale=new n.RadialScale({display:this.options.showScale,fontStyle:this.options.scaleFontStyle,fontSize:this.options.scaleFontSize,fontFamily:this.options.scaleFontFamily,fontColor:this.options.scaleFontColor,showLabels:this.options.scaleShowLabels,showLabelBackdrop:this.options.scaleShowLabelBackdrop,backdropColor:this.options.scaleBackdropColor,backgroundColors:this.options.scaleBackgroundColors,backdropPaddingY:this.options.scaleBackdropPaddingY,backdropPaddingX:this.options.scaleBackdropPaddingX,lineWidth:this.options.scaleShowLine?this.options.scaleLineWidth:0,lineColor:this.options.scaleLineColor,angleLineColor:this.options.angleLineColor,angleLineWidth:this.options.angleShowLineOut?this.options.angleLineWidth:0,angleLineInterval:this.options.angleLineInterval?this.options.angleLineInterval:1,pointLabelFontColor:this.options.pointLabelFontColor,pointLabelFontSize:this.options.pointLabelFontSize,pointLabelFontFamily:this.options.pointLabelFontFamily,pointLabelFontStyle:this.options.pointLabelFontStyle,height:this.chart.height,width:this.chart.width,xCenter:this.chart.width/2,yCenter:this.chart.height/2,ctx:this.chart.ctx,templateString:this.options.scaleLabel,labels:t.labels,valuesCount:t.datasets[0].data.length}),this.scale.setScaleSize(),this.updateScaleRange(t.datasets),this.scale.buildYLabels()},updateScaleRange:function(t){var n=function(){var n=[];return e.each(t,function(t){t.data?n=n.concat(t.data):e.each(t.points,function(t){n.push(t.value)})}),n}(),r=this.options.scaleOverride?{steps:this.options.scaleSteps,stepValue:this.options.scaleStepWidth,min:this.options.scaleStartValue,max:this.options.scaleStartValue+this.options.scaleSteps*this.options.scaleStepWidth}:e.calculateScaleRange(n,e.min([this.chart.width,this.chart.height])/2,this.options.scaleFontSize,this.options.scaleBeginAtZero,this.options.scaleIntegersOnly);e.extend(this.scale,r)},addData:function(t,n){this.scale.valuesCount++,e.each(t,function(t,e){var r=this.scale.getPointPosition(this.scale.valuesCount,this.scale.calculateCenterOffset(t));this.datasets[e].points.push(new this.PointClass({value:t,label:n,datasetLabel:this.datasets[e].label,x:r.x,y:r.y,strokeColor:this.datasets[e].pointStrokeColor,fillColor:this.datasets[e].pointColor}))},this),this.scale.labels.push(n),this.reflow(),this.update()},removeData:function(){this.scale.valuesCount--,this.scale.labels.shift(),e.each(this.datasets,function(t){t.points.shift()},this),this.reflow(),this.update()},update:function(){this.eachPoints(function(t){t.save()}),this.reflow(),this.render()},reflow:function(){e.extend(this.scale,{width:this.chart.width,height:this.chart.height,size:e.min([this.chart.width,this.chart.height]),xCenter:this.chart.width/2,yCenter:this.chart.height/2}),this.updateScaleRange(this.datasets),this.scale.setScaleSize(),this.scale.buildYLabels()},draw:function(t){var n=t||1,r=this.chart.ctx;this.clear(),this.scale.draw(),e.each(this.datasets,function(t){e.each(t.points,function(t,e){t.hasValue()&&t.transition(this.scale.getPointPosition(e,this.scale.calculateCenterOffset(t.value)),n)},this),r.lineWidth=this.options.datasetStrokeWidth,r.strokeStyle=t.strokeColor,r.beginPath(),e.each(t.points,function(t,n){0===n?r.moveTo(t.x,t.y):r.lineTo(t.x,t.y)},this),r.closePath(),r.stroke(),r.fillStyle=t.fillColor,this.options.datasetFill&&r.fill(),e.each(t.points,function(t){t.hasValue()&&t.draw()})},this)}})}.call(this),function(t){"use strict";"object"==typeof exports?module.exports=t("undefined"!=typeof angular?angular:require("angular"),"undefined"!=typeof Chart?Chart:require("chart.js")):"function"==typeof define&&define.amd?define(["angular","chart"],t):t(angular,Chart)}(function(t,n){"use strict";function e(){var e={},r={Chart:n,getOptions:function(n){var r=n&&e[n]||{};return t.extend({},e,r)}};this.setOptions=function(n,r){return r?void(e[n]=t.extend(e[n]||{},r)):(r=n,void(e=t.extend(e,r)))},this.$get=function(){return r}}function r(e,r){function o(t,n){return t&&n&&t.length&&n.length?Array.isArray(t[0])?t.length===n.length&&t.every(function(t,e){return t.length===n[e].length}):n.reduce(a,0)>0?t.length===n.length:!1:!1}function a(t,n){return t+n}function u(n,e,r,i){var o=null;return function(a){var u=e.getPointsAtEvent||e.getBarsAtEvent||e.getSegmentsAtEvent;if(u){var s=u.call(e,a);i!==!1&&t.equals(o,s)!==!1||(o=s,n[r](s,a),n.$apply())}}}function s(r,i){for(var o=!1,a=t.copy(i.colours||e.getOptions(r).colours||n.defaults.global.colours);a.length<i.data.length;)a.push(i.getColour()),o=!0;return o&&(i.colours=a),a.map(l)}function l(t){return"object"==typeof t&&null!==t?t:"string"==typeof t&&"#"===t[0]?f(d(t.substr(1))):c()}function c(){var t=[h(0,255),h(0,255),h(0,255)];return f(t)}function f(t){return{fillColor:p(t,.2),strokeColor:p(t,1),pointColor:p(t,1),pointStrokeColor:"#fff",pointHighlightFill:"#fff",pointHighlightStroke:p(t,.8)}}function h(t,n){return Math.floor(Math.random()*(n-t+1))+t}function p(t,n){return i?"rgb("+t.join(",")+")":"rgba("+t.concat(n).join(",")+")"}function d(t){var n=parseInt(t,16),e=n>>16&255,r=n>>8&255,i=255&n;return[e,r,i]}function v(n,e,r,i){return{labels:n,datasets:e.map(function(n,e){return t.extend({},i[e],{label:r[e],data:n})})}}function g(n,e,r){return n.map(function(n,i){return t.extend({},r[i],{label:n,value:e[i],color:r[i].strokeColor,highlight:r[i].pointHighlightStroke})})}function m(t,n){var e=t.parent(),r=e.find("chart-legend"),i="<chart-legend>"+n.generateLegend()+"</chart-legend>";r.length?r.replaceWith(i):e.append(i)}function y(t,n,e,r){Array.isArray(e.data[0])?t.datasets.forEach(function(t,e){(t.points||t.bars).forEach(function(t,r){t.value=n[e][r]})}):t.segments.forEach(function(t,e){t.value=n[e]}),t.update(),e.$emit("update",t),e.legend&&"false"!==e.legend&&m(r,t)}function $(t){return!t||Array.isArray(t)&&!t.length||"object"==typeof t&&!Object.keys(t).length}function x(r,i){var o=t.extend({},n.defaults.global,e.getOptions(r),i.options);return o.responsive}function b(t,n){t&&(t.destroy(),n.$emit("destroy",t))}return function(n){return{restrict:"CA",scope:{data:"=?",labels:"=?",options:"=?",series:"=?",colours:"=?",getColour:"=?",chartType:"=",legend:"@",click:"=?",hover:"=?",chartData:"=?",chartLabels:"=?",chartOptions:"=?",chartSeries:"=?",chartColours:"=?",chartLegend:"@",chartClick:"=?",chartHover:"=?"},link:function(a,l){function f(t,n){a.$watch(t,function(t){"undefined"!=typeof t&&(a[n]=t)})}function h(e,r){if(!$(e)&&!t.equals(e,r)){var i=n||a.chartType;i&&p(i)}}function p(n){if(x(n,a)&&0===l[0].clientHeight&&0===C.clientHeight)return r(function(){p(n)},50,!1);if(a.data&&a.data.length){a.getColour="function"==typeof a.getColour?a.getColour:c;var i=s(n,a),o=l[0],f=o.getContext("2d"),h=Array.isArray(a.data[0])?v(a.labels,a.data,a.series||[],i):g(a.labels,a.data,i),d=t.extend({},e.getOptions(n),a.options);b(w,a),w=new e.Chart(f)[n](h,d),a.$emit("create",w),o.onclick=a.click?u(a,w,"click",!1):t.noop,o.onmousemove=a.hover?u(a,w,"hover",!0):t.noop,a.legend&&"false"!==a.legend&&m(l,w)}}function d(t){if("undefined"!=typeof console&&"test"!==e.getOptions().env){var n="function"==typeof console.warn?console.warn:console.log;a[t]&&n.call(console,'"%s" is deprecated and will be removed in a future version. Please use "chart-%s" instead.',t,t)}}var w,C=document.createElement("div");C.className="chart-container",l.replaceWith(C),C.appendChild(l[0]),i&&window.G_vmlCanvasManager.initElement(l[0]),["data","labels","options","series","colours","legend","click","hover"].forEach(d),f("chartData","data"),f("chartLabels","labels"),f("chartOptions","options"),f("chartSeries","series"),f("chartColours","colours"),f("chartLegend","legend"),f("chartClick","click"),f("chartHover","hover"),a.$watch("data",function(t,e){if(!t||!t.length||Array.isArray(t[0])&&!t[0].length)return void b(w,a);var r=n||a.chartType;if(r)return w&&o(t,e)?y(w,t,a,l):void p(r)},!0),a.$watch("series",h,!0),a.$watch("labels",h,!0),a.$watch("options",h,!0),a.$watch("colours",h,!0),a.$watch("chartType",function(n,e){$(n)||t.equals(n,e)||p(n)}),a.$on("$destroy",function(){b(w,a)})}}}}n.defaults.global.responsive=!0,n.defaults.global.multiTooltipTemplate="<%if (datasetLabel){%><%=datasetLabel%>: <%}%><%= value %>",n.defaults.global.colours=["#97BBCD","#DCDCDC","#F7464A","#46BFBD","#FDB45C","#949FB1","#4D5360"];var i="object"==typeof window.G_vmlCanvasManager&&null!==window.G_vmlCanvasManager&&"function"==typeof window.G_vmlCanvasManager.initElement;return i&&(n.defaults.global.animation=!1),t.module("chart.js",[]).provider("ChartJs",e).factory("ChartJsFactory",["ChartJs","$timeout",r]).directive("chartBase",["ChartJsFactory",function(t){return new t}]).directive("chartLine",["ChartJsFactory",function(t){return new t("Line")}]).directive("chartBar",["ChartJsFactory",function(t){return new t("Bar")}]).directive("chartRadar",["ChartJsFactory",function(t){return new t("Radar")}]).directive("chartDoughnut",["ChartJsFactory",function(t){return new t("Doughnut")}]).directive("chartPie",["ChartJsFactory",function(t){return new t("Pie")}]).directive("chartPolarArea",["ChartJsFactory",function(t){return new t("PolarArea")}])}),!function(){function t(t){return t&&(t.ownerDocument||t.document||t).documentElement}function n(t){return t&&(t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView)}function e(t,n){return n>t?-1:t>n?1:t>=n?0:NaN}function r(t){return null===t?NaN:+t}function i(t){return!isNaN(t)}function o(t){return{left:function(n,e,r,i){for(arguments.length<3&&(r=0),arguments.length<4&&(i=n.length);i>r;){var o=r+i>>>1;t(n[o],e)<0?r=o+1:i=o}return r},right:function(n,e,r,i){for(arguments.length<3&&(r=0),arguments.length<4&&(i=n.length);i>r;){var o=r+i>>>1;t(n[o],e)>0?i=o:r=o+1}return r}}}function a(t){return t.length}function u(t){for(var n=1;t*n%1;)n*=10;return n}function s(t,n){for(var e in n)Object.defineProperty(t.prototype,e,{value:n[e],enumerable:!1})}function l(){this._=Object.create(null)}function c(t){return(t+="")===ba||t[0]===wa?wa+t:t}function f(t){return(t+="")[0]===wa?t.slice(1):t}function h(t){return c(t)in this._}function p(t){return(t=c(t))in this._&&delete this._[t]}function d(){var t=[];for(var n in this._)t.push(f(n));return t}function v(){var t=0;for(var n in this._)++t;return t}function g(){for(var t in this._)return!1;return!0}function m(){this._=Object.create(null)}function y(t){return t}function $(t,n,e){return function(){var r=e.apply(n,arguments);return r===n?t:r}}function x(t,n){if(n in t)return n;n=n.charAt(0).toUpperCase()+n.slice(1);for(var e=0,r=Ca.length;r>e;++e){var i=Ca[e]+n;if(i in t)return i}}function b(){}function w(){}function C(t){function n(){for(var n,r=e,i=-1,o=r.length;++i<o;)(n=r[i].on)&&n.apply(this,arguments);return t}var e=[],r=new l;return n.on=function(n,i){var o,a=r.get(n);return arguments.length<2?a&&a.on:(a&&(a.on=null,e=e.slice(0,o=e.indexOf(a)).concat(e.slice(o+1)),r.remove(n)),i&&e.push(r.set(n,{on:i})),t)},n}function S(){sa.event.preventDefault()}function _(){for(var t,n=sa.event;t=n.sourceEvent;)n=t;return n}function M(t){for(var n=new w,e=0,r=arguments.length;++e<r;)n[arguments[e]]=C(n);return n.of=function(e,r){return function(i){try{var o=i.sourceEvent=sa.event;i.target=t,sa.event=i,n[i.type].apply(e,r)}finally{sa.event=o}}},n}function k(t){return _a(t,Ea),t}function A(t){return"function"==typeof t?t:function(){return Ma(t,this)}}function E(t){return"function"==typeof t?t:function(){return ka(t,this)}}function P(t,n){function e(){this.removeAttribute(t)}function r(){this.removeAttributeNS(t.space,t.local)}function i(){this.setAttribute(t,n)}function o(){this.setAttributeNS(t.space,t.local,n)}function a(){var e=n.apply(this,arguments);null==e?this.removeAttribute(t):this.setAttribute(t,e)}function u(){var e=n.apply(this,arguments);null==e?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,e)}return t=sa.ns.qualify(t),null==n?t.local?r:e:"function"==typeof n?t.local?u:a:t.local?o:i}function O(t){return t.trim().replace(/\s+/g," ")}function T(t){return new RegExp("(?:^|\\s+)"+sa.requote(t)+"(?:\\s+|$)","g")}function L(t){return(t+"").trim().split(/^|\s+/)}function j(t,n){function e(){for(var e=-1;++e<i;)t[e](this,n)}function r(){for(var e=-1,r=n.apply(this,arguments);++e<i;)t[e](this,r)}t=L(t).map(N);var i=t.length;return"function"==typeof n?r:e}function N(t){var n=T(t);return function(e,r){if(i=e.classList)return r?i.add(t):i.remove(t);var i=e.getAttribute("class")||"";r?(n.lastIndex=0,n.test(i)||e.setAttribute("class",O(i+" "+t))):e.setAttribute("class",O(i.replace(n," ")))}}function R(t,n,e){function r(){this.style.removeProperty(t)}function i(){this.style.setProperty(t,n,e)}function o(){var r=n.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,e)}return null==n?r:"function"==typeof n?o:i}function D(t,n){function e(){delete this[t]}function r(){this[t]=n}function i(){var e=n.apply(this,arguments);null==e?delete this[t]:this[t]=e}return null==n?e:"function"==typeof n?i:r}function F(t){function n(){var n=this.ownerDocument,e=this.namespaceURI;return e===Pa&&n.documentElement.namespaceURI===Pa?n.createElement(t):n.createElementNS(e,t)}function e(){return this.ownerDocument.createElementNS(t.space,t.local)}return"function"==typeof t?t:(t=sa.ns.qualify(t)).local?e:n}function I(){var t=this.parentNode;t&&t.removeChild(this)}function z(t){return{__data__:t}}function q(t){return function(){return Aa(this,t)}}function V(t){return arguments.length||(t=e),function(n,e){return n&&e?t(n.__data__,e.__data__):!n-!e}}function B(t,n){for(var e=0,r=t.length;r>e;e++)for(var i,o=t[e],a=0,u=o.length;u>a;a++)(i=o[a])&&n(i,a,e);return t}function W(t){return _a(t,Ta),t}function U(t){var n,e;return function(r,i,o){var a,u=t[o].update,s=u.length;for(o!=e&&(e=o,n=0),i>=n&&(n=i+1);!(a=u[n])&&++n<s;);return a}}function H(t,n,e){function r(){var n=this[a];n&&(this.removeEventListener(t,n,n.$),delete this[a])}function i(){var i=s(n,ca(arguments));r.call(this),this.addEventListener(t,this[a]=i,i.$=e),i._=n}function o(){var n,e=new RegExp("^__on([^.]+)"+sa.requote(t)+"$");for(var r in this)if(n=r.match(e)){var i=this[r];this.removeEventListener(n[1],i,i.$),delete this[r]}}var a="__on"+t,u=t.indexOf("."),s=Y;u>0&&(t=t.slice(0,u));var l=La.get(t);return l&&(t=l,s=G),u?n?i:r:n?b:o}function Y(t,n){return function(e){var r=sa.event;sa.event=e,n[0]=this.__data__;try{t.apply(this,n)}finally{sa.event=r}}}function G(t,n){var e=Y(t,n);return function(t){var n=this,r=t.relatedTarget;r&&(r===n||8&r.compareDocumentPosition(n))||e.call(n,t)}}function X(e){var r=".dragsuppress-"+ ++Na,i="click"+r,o=sa.select(n(e)).on("touchmove"+r,S).on("dragstart"+r,S).on("selectstart"+r,S);if(null==ja&&(ja="onselectstart"in e?!1:x(e.style,"userSelect")),ja){var a=t(e).style,u=a[ja];a[ja]="none"}return function(t){if(o.on(r,null),ja&&(a[ja]=u),t){var n=function(){o.on(i,null)};o.on(i,function(){S(),n()},!0),setTimeout(n,0)}}}function Z(t,e){e.changedTouches&&(e=e.changedTouches[0]);var r=t.ownerSVGElement||t;if(r.createSVGPoint){var i=r.createSVGPoint();if(0>Ra){
+var o=n(t);if(o.scrollX||o.scrollY){r=sa.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var a=r[0][0].getScreenCTM();Ra=!(a.f||a.e),r.remove()}}return Ra?(i.x=e.pageX,i.y=e.pageY):(i.x=e.clientX,i.y=e.clientY),i=i.matrixTransform(t.getScreenCTM().inverse()),[i.x,i.y]}var u=t.getBoundingClientRect();return[e.clientX-u.left-t.clientLeft,e.clientY-u.top-t.clientTop]}function J(){return sa.event.changedTouches[0].identifier}function K(t){return t>0?1:0>t?-1:0}function Q(t,n,e){return(n[0]-t[0])*(e[1]-t[1])-(n[1]-t[1])*(e[0]-t[0])}function tt(t){return t>1?0:-1>t?Ia:Math.acos(t)}function nt(t){return t>1?Va:-1>t?-Va:Math.asin(t)}function et(t){return((t=Math.exp(t))-1/t)/2}function rt(t){return((t=Math.exp(t))+1/t)/2}function it(t){return((t=Math.exp(2*t))-1)/(t+1)}function ot(t){return(t=Math.sin(t/2))*t}function at(){}function ut(t,n,e){return this instanceof ut?(this.h=+t,this.s=+n,void(this.l=+e)):arguments.length<2?t instanceof ut?new ut(t.h,t.s,t.l):bt(""+t,wt,ut):new ut(t,n,e)}function st(t,n,e){function r(t){return t>360?t-=360:0>t&&(t+=360),60>t?o+(a-o)*t/60:180>t?a:240>t?o+(a-o)*(240-t)/60:o}function i(t){return Math.round(255*r(t))}var o,a;return t=isNaN(t)?0:(t%=360)<0?t+360:t,n=isNaN(n)?0:0>n?0:n>1?1:n,e=0>e?0:e>1?1:e,a=.5>=e?e*(1+n):e+n-e*n,o=2*e-a,new mt(i(t+120),i(t),i(t-120))}function lt(t,n,e){return this instanceof lt?(this.h=+t,this.c=+n,void(this.l=+e)):arguments.length<2?t instanceof lt?new lt(t.h,t.c,t.l):t instanceof ft?pt(t.l,t.a,t.b):pt((t=Ct((t=sa.rgb(t)).r,t.g,t.b)).l,t.a,t.b):new lt(t,n,e)}function ct(t,n,e){return isNaN(t)&&(t=0),isNaN(n)&&(n=0),new ft(e,Math.cos(t*=Ba)*n,Math.sin(t)*n)}function ft(t,n,e){return this instanceof ft?(this.l=+t,this.a=+n,void(this.b=+e)):arguments.length<2?t instanceof ft?new ft(t.l,t.a,t.b):t instanceof lt?ct(t.h,t.c,t.l):Ct((t=mt(t)).r,t.g,t.b):new ft(t,n,e)}function ht(t,n,e){var r=(t+16)/116,i=r+n/500,o=r-e/200;return i=dt(i)*tu,r=dt(r)*nu,o=dt(o)*eu,new mt(gt(3.2404542*i-1.5371385*r-.4985314*o),gt(-.969266*i+1.8760108*r+.041556*o),gt(.0556434*i-.2040259*r+1.0572252*o))}function pt(t,n,e){return t>0?new lt(Math.atan2(e,n)*Wa,Math.sqrt(n*n+e*e),t):new lt(NaN,NaN,t)}function dt(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function vt(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function gt(t){return Math.round(255*(.00304>=t?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function mt(t,n,e){return this instanceof mt?(this.r=~~t,this.g=~~n,void(this.b=~~e)):arguments.length<2?t instanceof mt?new mt(t.r,t.g,t.b):bt(""+t,mt,st):new mt(t,n,e)}function yt(t){return new mt(t>>16,t>>8&255,255&t)}function $t(t){return yt(t)+""}function xt(t){return 16>t?"0"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function bt(t,n,e){var r,i,o,a=0,u=0,s=0;if(r=/([a-z]+)\((.*)\)/.exec(t=t.toLowerCase()))switch(i=r[2].split(","),r[1]){case"hsl":return e(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case"rgb":return n(_t(i[0]),_t(i[1]),_t(i[2]))}return(o=ou.get(t))?n(o.r,o.g,o.b):(null==t||"#"!==t.charAt(0)||isNaN(o=parseInt(t.slice(1),16))||(4===t.length?(a=(3840&o)>>4,a=a>>4|a,u=240&o,u=u>>4|u,s=15&o,s=s<<4|s):7===t.length&&(a=(16711680&o)>>16,u=(65280&o)>>8,s=255&o)),n(a,u,s))}function wt(t,n,e){var r,i,o=Math.min(t/=255,n/=255,e/=255),a=Math.max(t,n,e),u=a-o,s=(a+o)/2;return u?(i=.5>s?u/(a+o):u/(2-a-o),r=t==a?(n-e)/u+(e>n?6:0):n==a?(e-t)/u+2:(t-n)/u+4,r*=60):(r=NaN,i=s>0&&1>s?0:r),new ut(r,i,s)}function Ct(t,n,e){t=St(t),n=St(n),e=St(e);var r=vt((.4124564*t+.3575761*n+.1804375*e)/tu),i=vt((.2126729*t+.7151522*n+.072175*e)/nu),o=vt((.0193339*t+.119192*n+.9503041*e)/eu);return ft(116*i-16,500*(r-i),200*(i-o))}function St(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function _t(t){var n=parseFloat(t);return"%"===t.charAt(t.length-1)?Math.round(2.55*n):n}function Mt(t){return"function"==typeof t?t:function(){return t}}function kt(t){return function(n,e,r){return 2===arguments.length&&"function"==typeof e&&(r=e,e=null),At(n,e,t,r)}}function At(t,n,e,r){function i(){var t,n=s.status;if(!n&&Pt(s)||n>=200&&300>n||304===n){try{t=e.call(o,s)}catch(r){return void a.error.call(o,r)}a.load.call(o,t)}else a.error.call(o,s)}var o={},a=sa.dispatch("beforesend","progress","load","error"),u={},s=new XMLHttpRequest,l=null;return!this.XDomainRequest||"withCredentials"in s||!/^(http(s)?:)?\/\//.test(t)||(s=new XDomainRequest),"onload"in s?s.onload=s.onerror=i:s.onreadystatechange=function(){s.readyState>3&&i()},s.onprogress=function(t){var n=sa.event;sa.event=t;try{a.progress.call(o,s)}finally{sa.event=n}},o.header=function(t,n){return t=(t+"").toLowerCase(),arguments.length<2?u[t]:(null==n?delete u[t]:u[t]=n+"",o)},o.mimeType=function(t){return arguments.length?(n=null==t?null:t+"",o):n},o.responseType=function(t){return arguments.length?(l=t,o):l},o.response=function(t){return e=t,o},["get","post"].forEach(function(t){o[t]=function(){return o.send.apply(o,[t].concat(ca(arguments)))}}),o.send=function(e,r,i){if(2===arguments.length&&"function"==typeof r&&(i=r,r=null),s.open(e,t,!0),null==n||"accept"in u||(u.accept=n+",*/*"),s.setRequestHeader)for(var c in u)s.setRequestHeader(c,u[c]);return null!=n&&s.overrideMimeType&&s.overrideMimeType(n),null!=l&&(s.responseType=l),null!=i&&o.on("error",i).on("load",function(t){i(null,t)}),a.beforesend.call(o,s),s.send(null==r?null:r),o},o.abort=function(){return s.abort(),o},sa.rebind(o,a,"on"),null==r?o:o.get(Et(r))}function Et(t){return 1===t.length?function(n,e){t(null==n?e:null)}:t}function Pt(t){var n=t.responseType;return n&&"text"!==n?t.response:t.responseText}function Ot(t,n,e){var r=arguments.length;2>r&&(n=0),3>r&&(e=Date.now());var i=e+n,o={c:t,t:i,n:null};return uu?uu.n=o:au=o,uu=o,su||(lu=clearTimeout(lu),su=1,cu(Tt)),o}function Tt(){var t=Lt(),n=jt()-t;n>24?(isFinite(n)&&(clearTimeout(lu),lu=setTimeout(Tt,n)),su=0):(su=1,cu(Tt))}function Lt(){for(var t=Date.now(),n=au;n;)t>=n.t&&n.c(t-n.t)&&(n.c=null),n=n.n;return t}function jt(){for(var t,n=au,e=1/0;n;)n.c?(n.t<e&&(e=n.t),n=(t=n).n):n=t?t.n=n.n:au=n.n;return uu=t,e}function Nt(t,n){return n-(t?Math.ceil(Math.log(t)/Math.LN10):1)}function Rt(t,n){var e=Math.pow(10,3*xa(8-n));return{scale:n>8?function(t){return t/e}:function(t){return t*e},symbol:t}}function Dt(t){var n=t.decimal,e=t.thousands,r=t.grouping,i=t.currency,o=r&&e?function(t,n){for(var i=t.length,o=[],a=0,u=r[0],s=0;i>0&&u>0&&(s+u+1>n&&(u=Math.max(1,n-s)),o.push(t.substring(i-=u,i+u)),!((s+=u+1)>n));)u=r[a=(a+1)%r.length];return o.reverse().join(e)}:y;return function(t){var e=hu.exec(t),r=e[1]||" ",a=e[2]||">",u=e[3]||"-",s=e[4]||"",l=e[5],c=+e[6],f=e[7],h=e[8],p=e[9],d=1,v="",g="",m=!1,y=!0;switch(h&&(h=+h.substring(1)),(l||"0"===r&&"="===a)&&(l=r="0",a="="),p){case"n":f=!0,p="g";break;case"%":d=100,g="%",p="f";break;case"p":d=100,g="%",p="r";break;case"b":case"o":case"x":case"X":"#"===s&&(v="0"+p.toLowerCase());case"c":y=!1;case"d":m=!0,h=0;break;case"s":d=-1,p="r"}"$"===s&&(v=i[0],g=i[1]),"r"!=p||h||(p="g"),null!=h&&("g"==p?h=Math.max(1,Math.min(21,h)):"e"!=p&&"f"!=p||(h=Math.max(0,Math.min(20,h)))),p=pu.get(p)||Ft;var $=l&&f;return function(t){var e=g;if(m&&t%1)return"";var i=0>t||0===t&&0>1/t?(t=-t,"-"):"-"===u?"":u;if(0>d){var s=sa.formatPrefix(t,h);t=s.scale(t),e=s.symbol+g}else t*=d;t=p(t,h);var x,b,w=t.lastIndexOf(".");if(0>w){var C=y?t.lastIndexOf("e"):-1;0>C?(x=t,b=""):(x=t.substring(0,C),b=t.substring(C))}else x=t.substring(0,w),b=n+t.substring(w+1);!l&&f&&(x=o(x,1/0));var S=v.length+x.length+b.length+($?0:i.length),_=c>S?new Array(S=c-S+1).join(r):"";return $&&(x=o(_+x,_.length?c-b.length:1/0)),i+=v,t=x+b,("<"===a?i+t+_:">"===a?_+i+t:"^"===a?_.substring(0,S>>=1)+i+t+_.substring(S):i+($?t:_+t))+e}}}function Ft(t){return t+""}function It(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function zt(t,n,e){function r(n){var e=t(n),r=o(e,1);return r-n>n-e?e:r}function i(e){return n(e=t(new vu(e-1)),1),e}function o(t,e){return n(t=new vu(+t),e),t}function a(t,r,o){var a=i(t),u=[];if(o>1)for(;r>a;)e(a)%o||u.push(new Date(+a)),n(a,1);else for(;r>a;)u.push(new Date(+a)),n(a,1);return u}function u(t,n,e){try{vu=It;var r=new It;return r._=t,a(r,n,e)}finally{vu=Date}}t.floor=t,t.round=r,t.ceil=i,t.offset=o,t.range=a;var s=t.utc=qt(t);return s.floor=s,s.round=qt(r),s.ceil=qt(i),s.offset=qt(o),s.range=u,t}function qt(t){return function(n,e){try{vu=It;var r=new It;return r._=n,t(r,e)._}finally{vu=Date}}}function Vt(t){function n(t){function n(n){for(var e,i,o,a=[],u=-1,s=0;++u<r;)37===t.charCodeAt(u)&&(a.push(t.slice(s,u)),null!=(i=mu[e=t.charAt(++u)])&&(e=t.charAt(++u)),(o=A[e])&&(e=o(n,null==i?"e"===e?" ":"0":i)),a.push(e),s=u+1);return a.push(t.slice(s,u)),a.join("")}var r=t.length;return n.parse=function(n){var r={y:1900,m:0,d:1,H:0,M:0,S:0,L:0,Z:null},i=e(r,t,n,0);if(i!=n.length)return null;"p"in r&&(r.H=r.H%12+12*r.p);var o=null!=r.Z&&vu!==It,a=new(o?It:vu);return"j"in r?a.setFullYear(r.y,0,r.j):"W"in r||"U"in r?("w"in r||(r.w="W"in r?1:0),a.setFullYear(r.y,0,1),a.setFullYear(r.y,0,"W"in r?(r.w+6)%7+7*r.W-(a.getDay()+5)%7:r.w+7*r.U-(a.getDay()+6)%7)):a.setFullYear(r.y,r.m,r.d),a.setHours(r.H+(r.Z/100|0),r.M+r.Z%100,r.S,r.L),o?a._:a},n.toString=function(){return t},n}function e(t,n,e,r){for(var i,o,a,u=0,s=n.length,l=e.length;s>u;){if(r>=l)return-1;if(i=n.charCodeAt(u++),37===i){if(a=n.charAt(u++),o=E[a in mu?n.charAt(u++):a],!o||(r=o(t,e,r))<0)return-1}else if(i!=e.charCodeAt(r++))return-1}return r}function r(t,n,e){w.lastIndex=0;var r=w.exec(n.slice(e));return r?(t.w=C.get(r[0].toLowerCase()),e+r[0].length):-1}function i(t,n,e){x.lastIndex=0;var r=x.exec(n.slice(e));return r?(t.w=b.get(r[0].toLowerCase()),e+r[0].length):-1}function o(t,n,e){M.lastIndex=0;var r=M.exec(n.slice(e));return r?(t.m=k.get(r[0].toLowerCase()),e+r[0].length):-1}function a(t,n,e){S.lastIndex=0;var r=S.exec(n.slice(e));return r?(t.m=_.get(r[0].toLowerCase()),e+r[0].length):-1}function u(t,n,r){return e(t,A.c.toString(),n,r)}function s(t,n,r){return e(t,A.x.toString(),n,r)}function l(t,n,r){return e(t,A.X.toString(),n,r)}function c(t,n,e){var r=$.get(n.slice(e,e+=2).toLowerCase());return null==r?-1:(t.p=r,e)}var f=t.dateTime,h=t.date,p=t.time,d=t.periods,v=t.days,g=t.shortDays,m=t.months,y=t.shortMonths;n.utc=function(t){function e(t){try{vu=It;var n=new vu;return n._=t,r(n)}finally{vu=Date}}var r=n(t);return e.parse=function(t){try{vu=It;var n=r.parse(t);return n&&n._}finally{vu=Date}},e.toString=r.toString,e},n.multi=n.utc.multi=ln;var $=sa.map(),x=Wt(v),b=Ut(v),w=Wt(g),C=Ut(g),S=Wt(m),_=Ut(m),M=Wt(y),k=Ut(y);d.forEach(function(t,n){$.set(t.toLowerCase(),n)});var A={a:function(t){return g[t.getDay()]},A:function(t){return v[t.getDay()]},b:function(t){return y[t.getMonth()]},B:function(t){return m[t.getMonth()]},c:n(f),d:function(t,n){return Bt(t.getDate(),n,2)},e:function(t,n){return Bt(t.getDate(),n,2)},H:function(t,n){return Bt(t.getHours(),n,2)},I:function(t,n){return Bt(t.getHours()%12||12,n,2)},j:function(t,n){return Bt(1+du.dayOfYear(t),n,3)},L:function(t,n){return Bt(t.getMilliseconds(),n,3)},m:function(t,n){return Bt(t.getMonth()+1,n,2)},M:function(t,n){return Bt(t.getMinutes(),n,2)},p:function(t){return d[+(t.getHours()>=12)]},S:function(t,n){return Bt(t.getSeconds(),n,2)},U:function(t,n){return Bt(du.sundayOfYear(t),n,2)},w:function(t){return t.getDay()},W:function(t,n){return Bt(du.mondayOfYear(t),n,2)},x:n(h),X:n(p),y:function(t,n){return Bt(t.getFullYear()%100,n,2)},Y:function(t,n){return Bt(t.getFullYear()%1e4,n,4)},Z:un,"%":function(){return"%"}},E={a:r,A:i,b:o,B:a,c:u,d:tn,e:tn,H:en,I:en,j:nn,L:an,m:Qt,M:rn,p:c,S:on,U:Yt,w:Ht,W:Gt,x:s,X:l,y:Zt,Y:Xt,Z:Jt,"%":sn};return n}function Bt(t,n,e){var r=0>t?"-":"",i=(r?-t:t)+"",o=i.length;return r+(e>o?new Array(e-o+1).join(n)+i:i)}function Wt(t){return new RegExp("^(?:"+t.map(sa.requote).join("|")+")","i")}function Ut(t){for(var n=new l,e=-1,r=t.length;++e<r;)n.set(t[e].toLowerCase(),e);return n}function Ht(t,n,e){yu.lastIndex=0;var r=yu.exec(n.slice(e,e+1));return r?(t.w=+r[0],e+r[0].length):-1}function Yt(t,n,e){yu.lastIndex=0;var r=yu.exec(n.slice(e));return r?(t.U=+r[0],e+r[0].length):-1}function Gt(t,n,e){yu.lastIndex=0;var r=yu.exec(n.slice(e));return r?(t.W=+r[0],e+r[0].length):-1}function Xt(t,n,e){yu.lastIndex=0;var r=yu.exec(n.slice(e,e+4));return r?(t.y=+r[0],e+r[0].length):-1}function Zt(t,n,e){yu.lastIndex=0;var r=yu.exec(n.slice(e,e+2));return r?(t.y=Kt(+r[0]),e+r[0].length):-1}function Jt(t,n,e){return/^[+-]\d{4}$/.test(n=n.slice(e,e+5))?(t.Z=-n,e+5):-1}function Kt(t){return t+(t>68?1900:2e3)}function Qt(t,n,e){yu.lastIndex=0;var r=yu.exec(n.slice(e,e+2));return r?(t.m=r[0]-1,e+r[0].length):-1}function tn(t,n,e){yu.lastIndex=0;var r=yu.exec(n.slice(e,e+2));return r?(t.d=+r[0],e+r[0].length):-1}function nn(t,n,e){yu.lastIndex=0;var r=yu.exec(n.slice(e,e+3));return r?(t.j=+r[0],e+r[0].length):-1}function en(t,n,e){yu.lastIndex=0;var r=yu.exec(n.slice(e,e+2));return r?(t.H=+r[0],e+r[0].length):-1}function rn(t,n,e){yu.lastIndex=0;var r=yu.exec(n.slice(e,e+2));return r?(t.M=+r[0],e+r[0].length):-1}function on(t,n,e){yu.lastIndex=0;var r=yu.exec(n.slice(e,e+2));return r?(t.S=+r[0],e+r[0].length):-1}function an(t,n,e){yu.lastIndex=0;var r=yu.exec(n.slice(e,e+3));return r?(t.L=+r[0],e+r[0].length):-1}function un(t){var n=t.getTimezoneOffset(),e=n>0?"-":"+",r=xa(n)/60|0,i=xa(n)%60;return e+Bt(r,"0",2)+Bt(i,"0",2)}function sn(t,n,e){$u.lastIndex=0;var r=$u.exec(n.slice(e,e+1));return r?e+r[0].length:-1}function ln(t){for(var n=t.length,e=-1;++e<n;)t[e][0]=this(t[e][0]);return function(n){for(var e=0,r=t[e];!r[1](n);)r=t[++e];return r[0](n)}}function cn(){}function fn(t,n,e){var r=e.s=t+n,i=r-t,o=r-i;e.t=t-o+(n-i)}function hn(t,n){t&&Cu.hasOwnProperty(t.type)&&Cu[t.type](t,n)}function pn(t,n,e){var r,i=-1,o=t.length-e;for(n.lineStart();++i<o;)r=t[i],n.point(r[0],r[1],r[2]);n.lineEnd()}function dn(t,n){var e=-1,r=t.length;for(n.polygonStart();++e<r;)pn(t[e],n,1);n.polygonEnd()}function vn(){function t(t,n){t*=Ba,n=n*Ba/2+Ia/4;var e=t-r,a=e>=0?1:-1,u=a*e,s=Math.cos(n),l=Math.sin(n),c=o*l,f=i*s+c*Math.cos(u),h=c*a*Math.sin(u);_u.add(Math.atan2(h,f)),r=t,i=s,o=l}var n,e,r,i,o;Mu.point=function(a,u){Mu.point=t,r=(n=a)*Ba,i=Math.cos(u=(e=u)*Ba/2+Ia/4),o=Math.sin(u)},Mu.lineEnd=function(){t(n,e)}}function gn(t){var n=t[0],e=t[1],r=Math.cos(e);return[r*Math.cos(n),r*Math.sin(n),Math.sin(e)]}function mn(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]}function yn(t,n){return[t[1]*n[2]-t[2]*n[1],t[2]*n[0]-t[0]*n[2],t[0]*n[1]-t[1]*n[0]]}function $n(t,n){t[0]+=n[0],t[1]+=n[1],t[2]+=n[2]}function xn(t,n){return[t[0]*n,t[1]*n,t[2]*n]}function bn(t){var n=Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=n,t[1]/=n,t[2]/=n}function wn(t){return[Math.atan2(t[1],t[0]),nt(t[2])]}function Cn(t,n){return xa(t[0]-n[0])<Da&&xa(t[1]-n[1])<Da}function Sn(t,n){t*=Ba;var e=Math.cos(n*=Ba);_n(e*Math.cos(t),e*Math.sin(t),Math.sin(n))}function _n(t,n,e){++ku,Eu+=(t-Eu)/ku,Pu+=(n-Pu)/ku,Ou+=(e-Ou)/ku}function Mn(){function t(t,i){t*=Ba;var o=Math.cos(i*=Ba),a=o*Math.cos(t),u=o*Math.sin(t),s=Math.sin(i),l=Math.atan2(Math.sqrt((l=e*s-r*u)*l+(l=r*a-n*s)*l+(l=n*u-e*a)*l),n*a+e*u+r*s);Au+=l,Tu+=l*(n+(n=a)),Lu+=l*(e+(e=u)),ju+=l*(r+(r=s)),_n(n,e,r)}var n,e,r;Fu.point=function(i,o){i*=Ba;var a=Math.cos(o*=Ba);n=a*Math.cos(i),e=a*Math.sin(i),r=Math.sin(o),Fu.point=t,_n(n,e,r)}}function kn(){Fu.point=Sn}function An(){function t(t,n){t*=Ba;var e=Math.cos(n*=Ba),a=e*Math.cos(t),u=e*Math.sin(t),s=Math.sin(n),l=i*s-o*u,c=o*a-r*s,f=r*u-i*a,h=Math.sqrt(l*l+c*c+f*f),p=r*a+i*u+o*s,d=h&&-tt(p)/h,v=Math.atan2(h,p);Nu+=d*l,Ru+=d*c,Du+=d*f,Au+=v,Tu+=v*(r+(r=a)),Lu+=v*(i+(i=u)),ju+=v*(o+(o=s)),_n(r,i,o)}var n,e,r,i,o;Fu.point=function(a,u){n=a,e=u,Fu.point=t,a*=Ba;var s=Math.cos(u*=Ba);r=s*Math.cos(a),i=s*Math.sin(a),o=Math.sin(u),_n(r,i,o)},Fu.lineEnd=function(){t(n,e),Fu.lineEnd=kn,Fu.point=Sn}}function En(t,n){function e(e,r){return e=t(e,r),n(e[0],e[1])}return t.invert&&n.invert&&(e.invert=function(e,r){return e=n.invert(e,r),e&&t.invert(e[0],e[1])}),e}function Pn(){return!0}function On(t,n,e,r,i){var o=[],a=[];if(t.forEach(function(t){if(!((n=t.length-1)<=0)){var n,e=t[0],r=t[n];if(Cn(e,r)){i.lineStart();for(var u=0;n>u;++u)i.point((e=t[u])[0],e[1]);return void i.lineEnd()}var s=new Ln(e,t,null,!0),l=new Ln(e,null,s,!1);s.o=l,o.push(s),a.push(l),s=new Ln(r,t,null,!1),l=new Ln(r,null,s,!0),s.o=l,o.push(s),a.push(l)}}),a.sort(n),Tn(o),Tn(a),o.length){for(var u=0,s=e,l=a.length;l>u;++u)a[u].e=s=!s;for(var c,f,h=o[0];;){for(var p=h,d=!0;p.v;)if((p=p.n)===h)return;c=p.z,i.lineStart();do{if(p.v=p.o.v=!0,p.e){if(d)for(var u=0,l=c.length;l>u;++u)i.point((f=c[u])[0],f[1]);else r(p.x,p.n.x,1,i);p=p.n}else{if(d){c=p.p.z;for(var u=c.length-1;u>=0;--u)i.point((f=c[u])[0],f[1])}else r(p.x,p.p.x,-1,i);p=p.p}p=p.o,c=p.z,d=!d}while(!p.v);i.lineEnd()}}}function Tn(t){if(n=t.length){for(var n,e,r=0,i=t[0];++r<n;)i.n=e=t[r],e.p=i,i=e;i.n=e=t[0],e.p=i}}function Ln(t,n,e,r){this.x=t,this.z=n,this.o=e,this.e=r,this.v=!1,this.n=this.p=null}function jn(t,n,e,r){return function(i,o){function a(n,e){var r=i(n,e);t(n=r[0],e=r[1])&&o.point(n,e)}function u(t,n){var e=i(t,n);g.point(e[0],e[1])}function s(){y.point=u,g.lineStart()}function l(){y.point=a,g.lineEnd()}function c(t,n){v.push([t,n]);var e=i(t,n);x.point(e[0],e[1])}function f(){x.lineStart(),v=[]}function h(){c(v[0][0],v[0][1]),x.lineEnd();var t,n=x.clean(),e=$.buffer(),r=e.length;if(v.pop(),d.push(v),v=null,r)if(1&n){t=e[0];var i,r=t.length-1,a=-1;if(r>0){for(b||(o.polygonStart(),b=!0),o.lineStart();++a<r;)o.point((i=t[a])[0],i[1]);o.lineEnd()}}else r>1&&2&n&&e.push(e.pop().concat(e.shift())),p.push(e.filter(Nn))}var p,d,v,g=n(o),m=i.invert(r[0],r[1]),y={point:a,lineStart:s,lineEnd:l,polygonStart:function(){y.point=c,y.lineStart=f,y.lineEnd=h,p=[],d=[]},polygonEnd:function(){y.point=a,y.lineStart=s,y.lineEnd=l,p=sa.merge(p);var t=qn(m,d);p.length?(b||(o.polygonStart(),b=!0),On(p,Dn,t,e,o)):t&&(b||(o.polygonStart(),b=!0),o.lineStart(),e(null,null,1,o),o.lineEnd()),b&&(o.polygonEnd(),b=!1),p=d=null},sphere:function(){o.polygonStart(),o.lineStart(),e(null,null,1,o),o.lineEnd(),o.polygonEnd()}},$=Rn(),x=n($),b=!1;return y}}function Nn(t){return t.length>1}function Rn(){var t,n=[];return{lineStart:function(){n.push(t=[])},point:function(n,e){t.push([n,e])},lineEnd:b,buffer:function(){var e=n;return n=[],t=null,e},rejoin:function(){n.length>1&&n.push(n.pop().concat(n.shift()))}}}function Dn(t,n){return((t=t.x)[0]<0?t[1]-Va-Da:Va-t[1])-((n=n.x)[0]<0?n[1]-Va-Da:Va-n[1])}function Fn(t){var n,e=NaN,r=NaN,i=NaN;return{lineStart:function(){t.lineStart(),n=1},point:function(o,a){var u=o>0?Ia:-Ia,s=xa(o-e);xa(s-Ia)<Da?(t.point(e,r=(r+a)/2>0?Va:-Va),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(u,r),t.point(o,r),n=0):i!==u&&s>=Ia&&(xa(e-i)<Da&&(e-=i*Da),xa(o-u)<Da&&(o-=u*Da),r=In(e,r,o,a),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(u,r),n=0),t.point(e=o,r=a),i=u},lineEnd:function(){t.lineEnd(),e=r=NaN},clean:function(){return 2-n}}}function In(t,n,e,r){var i,o,a=Math.sin(t-e);return xa(a)>Da?Math.atan((Math.sin(n)*(o=Math.cos(r))*Math.sin(e)-Math.sin(r)*(i=Math.cos(n))*Math.sin(t))/(i*o*a)):(n+r)/2}function zn(t,n,e,r){var i;if(null==t)i=e*Va,r.point(-Ia,i),r.point(0,i),r.point(Ia,i),r.point(Ia,0),r.point(Ia,-i),r.point(0,-i),r.point(-Ia,-i),r.point(-Ia,0),r.point(-Ia,i);else if(xa(t[0]-n[0])>Da){var o=t[0]<n[0]?Ia:-Ia;i=e*o/2,r.point(-o,i),r.point(0,i),r.point(o,i)}else r.point(n[0],n[1])}function qn(t,n){var e=t[0],r=t[1],i=[Math.sin(e),-Math.cos(e),0],o=0,a=0;_u.reset();for(var u=0,s=n.length;s>u;++u){var l=n[u],c=l.length;if(c)for(var f=l[0],h=f[0],p=f[1]/2+Ia/4,d=Math.sin(p),v=Math.cos(p),g=1;;){g===c&&(g=0),t=l[g];var m=t[0],y=t[1]/2+Ia/4,$=Math.sin(y),x=Math.cos(y),b=m-h,w=b>=0?1:-1,C=w*b,S=C>Ia,_=d*$;if(_u.add(Math.atan2(_*w*Math.sin(C),v*x+_*Math.cos(C))),o+=S?b+w*za:b,S^h>=e^m>=e){var M=yn(gn(f),gn(t));bn(M);var k=yn(i,M);bn(k);var A=(S^b>=0?-1:1)*nt(k[2]);(r>A||r===A&&(M[0]||M[1]))&&(a+=S^b>=0?1:-1)}if(!g++)break;h=m,d=$,v=x,f=t}}return(-Da>o||Da>o&&-Da>_u)^1&a}function Vn(t){function n(t,n){return Math.cos(t)*Math.cos(n)>o}function e(t){var e,o,s,l,c;return{lineStart:function(){l=s=!1,c=1},point:function(f,h){var p,d=[f,h],v=n(f,h),g=a?v?0:i(f,h):v?i(f+(0>f?Ia:-Ia),h):0;if(!e&&(l=s=v)&&t.lineStart(),v!==s&&(p=r(e,d),(Cn(e,p)||Cn(d,p))&&(d[0]+=Da,d[1]+=Da,v=n(d[0],d[1]))),v!==s)c=0,v?(t.lineStart(),p=r(d,e),t.point(p[0],p[1])):(p=r(e,d),t.point(p[0],p[1]),t.lineEnd()),e=p;else if(u&&e&&a^v){var m;g&o||!(m=r(d,e,!0))||(c=0,a?(t.lineStart(),t.point(m[0][0],m[0][1]),t.point(m[1][0],m[1][1]),t.lineEnd()):(t.point(m[1][0],m[1][1]),t.lineEnd(),t.lineStart(),t.point(m[0][0],m[0][1])))}!v||e&&Cn(e,d)||t.point(d[0],d[1]),e=d,s=v,o=g},lineEnd:function(){s&&t.lineEnd(),e=null},clean:function(){return c|(l&&s)<<1}}}function r(t,n,e){var r=gn(t),i=gn(n),a=[1,0,0],u=yn(r,i),s=mn(u,u),l=u[0],c=s-l*l;if(!c)return!e&&t;var f=o*s/c,h=-o*l/c,p=yn(a,u),d=xn(a,f),v=xn(u,h);$n(d,v);var g=p,m=mn(d,g),y=mn(g,g),$=m*m-y*(mn(d,d)-1);if(!(0>$)){var x=Math.sqrt($),b=xn(g,(-m-x)/y);if($n(b,d),b=wn(b),!e)return b;var w,C=t[0],S=n[0],_=t[1],M=n[1];C>S&&(w=C,C=S,S=w);var k=S-C,A=xa(k-Ia)<Da,E=A||Da>k;if(!A&&_>M&&(w=_,_=M,M=w),E?A?_+M>0^b[1]<(xa(b[0]-C)<Da?_:M):_<=b[1]&&b[1]<=M:k>Ia^(C<=b[0]&&b[0]<=S)){var P=xn(g,(-m+x)/y);return $n(P,d),[b,wn(P)]}}}function i(n,e){var r=a?t:Ia-t,i=0;return-r>n?i|=1:n>r&&(i|=2),-r>e?i|=4:e>r&&(i|=8),i}var o=Math.cos(t),a=o>0,u=xa(o)>Da,s=ve(t,6*Ba);return jn(n,e,s,a?[0,-t]:[-Ia,t-Ia])}function Bn(t,n,e,r){return function(i){var o,a=i.a,u=i.b,s=a.x,l=a.y,c=u.x,f=u.y,h=0,p=1,d=c-s,v=f-l;if(o=t-s,d||!(o>0)){if(o/=d,0>d){if(h>o)return;p>o&&(p=o)}else if(d>0){if(o>p)return;o>h&&(h=o)}if(o=e-s,d||!(0>o)){if(o/=d,0>d){if(o>p)return;o>h&&(h=o)}else if(d>0){if(h>o)return;p>o&&(p=o)}if(o=n-l,v||!(o>0)){if(o/=v,0>v){if(h>o)return;p>o&&(p=o)}else if(v>0){if(o>p)return;o>h&&(h=o)}if(o=r-l,v||!(0>o)){if(o/=v,0>v){if(o>p)return;o>h&&(h=o)}else if(v>0){if(h>o)return;p>o&&(p=o)}return h>0&&(i.a={x:s+h*d,y:l+h*v}),1>p&&(i.b={x:s+p*d,y:l+p*v}),i}}}}}}function Wn(t,n,e,r){function i(r,i){return xa(r[0]-t)<Da?i>0?0:3:xa(r[0]-e)<Da?i>0?2:1:xa(r[1]-n)<Da?i>0?1:0:i>0?3:2}function o(t,n){return a(t.x,n.x)}function a(t,n){var e=i(t,1),r=i(n,1);return e!==r?e-r:0===e?n[1]-t[1]:1===e?t[0]-n[0]:2===e?t[1]-n[1]:n[0]-t[0]}return function(u){function s(t){for(var n=0,e=g.length,r=t[1],i=0;e>i;++i)for(var o,a=1,u=g[i],s=u.length,l=u[0];s>a;++a)o=u[a],l[1]<=r?o[1]>r&&Q(l,o,t)>0&&++n:o[1]<=r&&Q(l,o,t)<0&&--n,l=o;return 0!==n}function l(o,u,s,l){var c=0,f=0;if(null==o||(c=i(o,s))!==(f=i(u,s))||a(o,u)<0^s>0){do l.point(0===c||3===c?t:e,c>1?r:n);while((c=(c+s+4)%4)!==f)}else l.point(u[0],u[1])}function c(i,o){return i>=t&&e>=i&&o>=n&&r>=o}function f(t,n){c(t,n)&&u.point(t,n)}function h(){E.point=d,g&&g.push(m=[]),S=!0,C=!1,b=w=NaN}function p(){v&&(d(y,$),x&&C&&k.rejoin(),v.push(k.buffer())),E.point=f,C&&u.lineEnd()}function d(t,n){t=Math.max(-zu,Math.min(zu,t)),n=Math.max(-zu,Math.min(zu,n));var e=c(t,n);if(g&&m.push([t,n]),S)y=t,$=n,x=e,S=!1,e&&(u.lineStart(),u.point(t,n));else if(e&&C)u.point(t,n);else{var r={a:{x:b,y:w},b:{x:t,y:n}};A(r)?(C||(u.lineStart(),u.point(r.a.x,r.a.y)),u.point(r.b.x,r.b.y),e||u.lineEnd(),_=!1):e&&(u.lineStart(),u.point(t,n),_=!1)}b=t,w=n,C=e}var v,g,m,y,$,x,b,w,C,S,_,M=u,k=Rn(),A=Bn(t,n,e,r),E={point:f,lineStart:h,lineEnd:p,polygonStart:function(){u=k,v=[],g=[],_=!0},polygonEnd:function(){u=M,v=sa.merge(v);var n=s([t,r]),e=_&&n,i=v.length;(e||i)&&(u.polygonStart(),e&&(u.lineStart(),l(null,null,1,u),u.lineEnd()),i&&On(v,o,n,l,u),u.polygonEnd()),v=g=m=null}};return E}}function Un(t){var n=0,e=Ia/3,r=ue(t),i=r(n,e);return i.parallels=function(t){return arguments.length?r(n=t[0]*Ia/180,e=t[1]*Ia/180):[n/Ia*180,e/Ia*180]},i}function Hn(t,n){function e(t,n){var e=Math.sqrt(o-2*i*Math.sin(n))/i;return[e*Math.sin(t*=i),a-e*Math.cos(t)]}var r=Math.sin(t),i=(r+Math.sin(n))/2,o=1+r*(2*i-r),a=Math.sqrt(o)/i;return e.invert=function(t,n){var e=a-n;return[Math.atan2(t,e)/i,nt((o-(t*t+e*e)*i*i)/(2*i))]},e}function Yn(){function t(t,n){Vu+=i*t-r*n,r=t,i=n}var n,e,r,i;Yu.point=function(o,a){Yu.point=t,n=r=o,e=i=a},Yu.lineEnd=function(){t(n,e)}}function Gn(t,n){Bu>t&&(Bu=t),t>Uu&&(Uu=t),Wu>n&&(Wu=n),n>Hu&&(Hu=n)}function Xn(){function t(t,n){a.push("M",t,",",n,o)}function n(t,n){a.push("M",t,",",n),u.point=e}function e(t,n){a.push("L",t,",",n)}function r(){u.point=t}function i(){a.push("Z")}var o=Zn(4.5),a=[],u={point:t,lineStart:function(){u.point=n},lineEnd:r,polygonStart:function(){u.lineEnd=i},polygonEnd:function(){u.lineEnd=r,u.point=t},pointRadius:function(t){return o=Zn(t),u},result:function(){if(a.length){var t=a.join("");return a=[],t}}};return u}function Zn(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}function Jn(t,n){Eu+=t,Pu+=n,++Ou}function Kn(){function t(t,r){var i=t-n,o=r-e,a=Math.sqrt(i*i+o*o);Tu+=a*(n+t)/2,Lu+=a*(e+r)/2,ju+=a,Jn(n=t,e=r)}var n,e;Xu.point=function(r,i){Xu.point=t,Jn(n=r,e=i)}}function Qn(){Xu.point=Jn}function te(){function t(t,n){var e=t-r,o=n-i,a=Math.sqrt(e*e+o*o);Tu+=a*(r+t)/2,Lu+=a*(i+n)/2,ju+=a,a=i*t-r*n,Nu+=a*(r+t),Ru+=a*(i+n),Du+=3*a,Jn(r=t,i=n)}var n,e,r,i;Xu.point=function(o,a){Xu.point=t,Jn(n=r=o,e=i=a)},Xu.lineEnd=function(){t(n,e)}}function ne(t){function n(n,e){t.moveTo(n+a,e),t.arc(n,e,a,0,za)}function e(n,e){t.moveTo(n,e),u.point=r}function r(n,e){t.lineTo(n,e)}function i(){u.point=n}function o(){t.closePath()}var a=4.5,u={point:n,lineStart:function(){u.point=e},lineEnd:i,polygonStart:function(){u.lineEnd=o},polygonEnd:function(){u.lineEnd=i,u.point=n},pointRadius:function(t){return a=t,u},result:b};return u}function ee(t){function n(t){return(u?r:e)(t)}function e(n){return oe(n,function(e,r){e=t(e,r),n.point(e[0],e[1])})}function r(n){function e(e,r){e=t(e,r),n.point(e[0],e[1])}function r(){$=NaN,S.point=o,n.lineStart()}function o(e,r){var o=gn([e,r]),a=t(e,r);i($,x,y,b,w,C,$=a[0],x=a[1],y=e,b=o[0],w=o[1],C=o[2],u,n),n.point($,x)}function a(){S.point=e,n.lineEnd()}function s(){r(),S.point=l,S.lineEnd=c}function l(t,n){o(f=t,h=n),p=$,d=x,v=b,g=w,m=C,S.point=o}function c(){i($,x,y,b,w,C,p,d,f,v,g,m,u,n),S.lineEnd=a,a()}var f,h,p,d,v,g,m,y,$,x,b,w,C,S={point:e,lineStart:r,lineEnd:a,polygonStart:function(){n.polygonStart(),S.lineStart=s},polygonEnd:function(){n.polygonEnd(),S.lineStart=r}};return S}function i(n,e,r,u,s,l,c,f,h,p,d,v,g,m){var y=c-n,$=f-e,x=y*y+$*$;if(x>4*o&&g--){var b=u+p,w=s+d,C=l+v,S=Math.sqrt(b*b+w*w+C*C),_=Math.asin(C/=S),M=xa(xa(C)-1)<Da||xa(r-h)<Da?(r+h)/2:Math.atan2(w,b),k=t(M,_),A=k[0],E=k[1],P=A-n,O=E-e,T=$*P-y*O;(T*T/x>o||xa((y*P+$*O)/x-.5)>.3||a>u*p+s*d+l*v)&&(i(n,e,r,u,s,l,A,E,M,b/=S,w/=S,C,g,m),m.point(A,E),i(A,E,M,b,w,C,c,f,h,p,d,v,g,m))}}var o=.5,a=Math.cos(30*Ba),u=16;return n.precision=function(t){return arguments.length?(u=(o=t*t)>0&&16,n):Math.sqrt(o)},n}function re(t){var n=ee(function(n,e){return t([n*Wa,e*Wa])});return function(t){return se(n(t))}}function ie(t){this.stream=t}function oe(t,n){return{point:n,sphere:function(){t.sphere()},lineStart:function(){t.lineStart()},lineEnd:function(){t.lineEnd()},polygonStart:function(){t.polygonStart()},polygonEnd:function(){t.polygonEnd()}}}function ae(t){return ue(function(){return t})()}function ue(t){function n(t){return t=u(t[0]*Ba,t[1]*Ba),[t[0]*h+s,l-t[1]*h]}function e(t){return t=u.invert((t[0]-s)/h,(l-t[1])/h),t&&[t[0]*Wa,t[1]*Wa]}function r(){u=En(a=fe(m,$,x),o);var t=o(v,g);return s=p-t[0]*h,l=d+t[1]*h,i()}function i(){return c&&(c.valid=!1,c=null),n}var o,a,u,s,l,c,f=ee(function(t,n){return t=o(t,n),[t[0]*h+s,l-t[1]*h]}),h=150,p=480,d=250,v=0,g=0,m=0,$=0,x=0,b=Iu,w=y,C=null,S=null;return n.stream=function(t){return c&&(c.valid=!1),c=se(b(a,f(w(t)))),c.valid=!0,c},n.clipAngle=function(t){return arguments.length?(b=null==t?(C=t,Iu):Vn((C=+t)*Ba),i()):C},n.clipExtent=function(t){return arguments.length?(S=t,w=t?Wn(t[0][0],t[0][1],t[1][0],t[1][1]):y,i()):S},n.scale=function(t){return arguments.length?(h=+t,r()):h},n.translate=function(t){return arguments.length?(p=+t[0],d=+t[1],r()):[p,d]},n.center=function(t){return arguments.length?(v=t[0]%360*Ba,g=t[1]%360*Ba,r()):[v*Wa,g*Wa]},n.rotate=function(t){return arguments.length?(m=t[0]%360*Ba,$=t[1]%360*Ba,x=t.length>2?t[2]%360*Ba:0,r()):[m*Wa,$*Wa,x*Wa]},sa.rebind(n,f,"precision"),function(){return o=t.apply(this,arguments),n.invert=o.invert&&e,r()}}function se(t){return oe(t,function(n,e){t.point(n*Ba,e*Ba)})}function le(t,n){return[t,n]}function ce(t,n){return[t>Ia?t-za:-Ia>t?t+za:t,n]}function fe(t,n,e){return t?n||e?En(pe(t),de(n,e)):pe(t):n||e?de(n,e):ce}function he(t){return function(n,e){return n+=t,[n>Ia?n-za:-Ia>n?n+za:n,e]}}function pe(t){var n=he(t);return n.invert=he(-t),n}function de(t,n){function e(t,n){var e=Math.cos(n),u=Math.cos(t)*e,s=Math.sin(t)*e,l=Math.sin(n),c=l*r+u*i;return[Math.atan2(s*o-c*a,u*r-l*i),nt(c*o+s*a)]}var r=Math.cos(t),i=Math.sin(t),o=Math.cos(n),a=Math.sin(n);return e.invert=function(t,n){var e=Math.cos(n),u=Math.cos(t)*e,s=Math.sin(t)*e,l=Math.sin(n),c=l*o-s*a;return[Math.atan2(s*o+l*a,u*r+c*i),nt(c*r-u*i)]},e}function ve(t,n){var e=Math.cos(t),r=Math.sin(t);return function(i,o,a,u){var s=a*n;null!=i?(i=ge(e,i),o=ge(e,o),(a>0?o>i:i>o)&&(i+=a*za)):(i=t+a*za,o=t-.5*s);for(var l,c=i;a>0?c>o:o>c;c-=s)u.point((l=wn([e,-r*Math.cos(c),-r*Math.sin(c)]))[0],l[1])}}function ge(t,n){var e=gn(n);e[0]-=t,bn(e);var r=tt(-e[1]);return((-e[2]<0?-r:r)+2*Math.PI-Da)%(2*Math.PI)}function me(t,n,e){var r=sa.range(t,n-Da,e).concat(n);return function(t){return r.map(function(n){return[t,n]})}}function ye(t,n,e){var r=sa.range(t,n-Da,e).concat(n);return function(t){return r.map(function(n){return[n,t]})}}function $e(t){return t.source}function xe(t){return t.target}function be(t,n,e,r){var i=Math.cos(n),o=Math.sin(n),a=Math.cos(r),u=Math.sin(r),s=i*Math.cos(t),l=i*Math.sin(t),c=a*Math.cos(e),f=a*Math.sin(e),h=2*Math.asin(Math.sqrt(ot(r-n)+i*a*ot(e-t))),p=1/Math.sin(h),d=h?function(t){var n=Math.sin(t*=h)*p,e=Math.sin(h-t)*p,r=e*s+n*c,i=e*l+n*f,a=e*o+n*u;return[Math.atan2(i,r)*Wa,Math.atan2(a,Math.sqrt(r*r+i*i))*Wa]}:function(){return[t*Wa,n*Wa]};return d.distance=h,d}function we(){function t(t,i){var o=Math.sin(i*=Ba),a=Math.cos(i),u=xa((t*=Ba)-n),s=Math.cos(u);Zu+=Math.atan2(Math.sqrt((u=a*Math.sin(u))*u+(u=r*o-e*a*s)*u),e*o+r*a*s),n=t,e=o,r=a}var n,e,r;Ju.point=function(i,o){n=i*Ba,e=Math.sin(o*=Ba),r=Math.cos(o),Ju.point=t},Ju.lineEnd=function(){Ju.point=Ju.lineEnd=b}}function Ce(t,n){function e(n,e){var r=Math.cos(n),i=Math.cos(e),o=t(r*i);return[o*i*Math.sin(n),o*Math.sin(e)]}return e.invert=function(t,e){var r=Math.sqrt(t*t+e*e),i=n(r),o=Math.sin(i),a=Math.cos(i);return[Math.atan2(t*o,r*a),Math.asin(r&&e*o/r)]},e}function Se(t,n){function e(t,n){a>0?-Va+Da>n&&(n=-Va+Da):n>Va-Da&&(n=Va-Da);var e=a/Math.pow(i(n),o);return[e*Math.sin(o*t),a-e*Math.cos(o*t)]}var r=Math.cos(t),i=function(t){return Math.tan(Ia/4+t/2)},o=t===n?Math.sin(t):Math.log(r/Math.cos(n))/Math.log(i(n)/i(t)),a=r*Math.pow(i(t),o)/o;return o?(e.invert=function(t,n){var e=a-n,r=K(o)*Math.sqrt(t*t+e*e);return[Math.atan2(t,e)/o,2*Math.atan(Math.pow(a/r,1/o))-Va]},e):Me}function _e(t,n){function e(t,n){var e=o-n;return[e*Math.sin(i*t),o-e*Math.cos(i*t)]}var r=Math.cos(t),i=t===n?Math.sin(t):(r-Math.cos(n))/(n-t),o=r/i+t;return xa(i)<Da?le:(e.invert=function(t,n){var e=o-n;return[Math.atan2(t,e)/i,o-K(i)*Math.sqrt(t*t+e*e)]},e)}function Me(t,n){return[t,Math.log(Math.tan(Ia/4+n/2))]}function ke(t){var n,e=ae(t),r=e.scale,i=e.translate,o=e.clipExtent;return e.scale=function(){var t=r.apply(e,arguments);return t===e?n?e.clipExtent(null):e:t},e.translate=function(){var t=i.apply(e,arguments);return t===e?n?e.clipExtent(null):e:t},e.clipExtent=function(t){var a=o.apply(e,arguments);if(a===e){if(n=null==t){var u=Ia*r(),s=i();o([[s[0]-u,s[1]-u],[s[0]+u,s[1]+u]])}}else n&&(a=null);return a},e.clipExtent(null)}function Ae(t,n){return[Math.log(Math.tan(Ia/4+n/2)),-t]}function Ee(t){return t[0];
+}function Pe(t){return t[1]}function Oe(t){for(var n=t.length,e=[0,1],r=2,i=2;n>i;i++){for(;r>1&&Q(t[e[r-2]],t[e[r-1]],t[i])<=0;)--r;e[r++]=i}return e.slice(0,r)}function Te(t,n){return t[0]-n[0]||t[1]-n[1]}function Le(t,n,e){return(e[0]-n[0])*(t[1]-n[1])<(e[1]-n[1])*(t[0]-n[0])}function je(t,n,e,r){var i=t[0],o=e[0],a=n[0]-i,u=r[0]-o,s=t[1],l=e[1],c=n[1]-s,f=r[1]-l,h=(u*(s-l)-f*(i-o))/(f*a-u*c);return[i+h*a,s+h*c]}function Ne(t){var n=t[0],e=t[t.length-1];return!(n[0]-e[0]||n[1]-e[1])}function Re(){rr(this),this.edge=this.site=this.circle=null}function De(t){var n=ls.pop()||new Re;return n.site=t,n}function Fe(t){Ge(t),as.remove(t),ls.push(t),rr(t)}function Ie(t){var n=t.circle,e=n.x,r=n.cy,i={x:e,y:r},o=t.P,a=t.N,u=[t];Fe(t);for(var s=o;s.circle&&xa(e-s.circle.x)<Da&&xa(r-s.circle.cy)<Da;)o=s.P,u.unshift(s),Fe(s),s=o;u.unshift(s),Ge(s);for(var l=a;l.circle&&xa(e-l.circle.x)<Da&&xa(r-l.circle.cy)<Da;)a=l.N,u.push(l),Fe(l),l=a;u.push(l),Ge(l);var c,f=u.length;for(c=1;f>c;++c)l=u[c],s=u[c-1],tr(l.edge,s.site,l.site,i);s=u[0],l=u[f-1],l.edge=Ke(s.site,l.site,null,i),Ye(s),Ye(l)}function ze(t){for(var n,e,r,i,o=t.x,a=t.y,u=as._;u;)if(r=qe(u,a)-o,r>Da)u=u.L;else{if(i=o-Ve(u,a),!(i>Da)){r>-Da?(n=u.P,e=u):i>-Da?(n=u,e=u.N):n=e=u;break}if(!u.R){n=u;break}u=u.R}var s=De(t);if(as.insert(n,s),n||e){if(n===e)return Ge(n),e=De(n.site),as.insert(s,e),s.edge=e.edge=Ke(n.site,s.site),Ye(n),void Ye(e);if(!e)return void(s.edge=Ke(n.site,s.site));Ge(n),Ge(e);var l=n.site,c=l.x,f=l.y,h=t.x-c,p=t.y-f,d=e.site,v=d.x-c,g=d.y-f,m=2*(h*g-p*v),y=h*h+p*p,$=v*v+g*g,x={x:(g*y-p*$)/m+c,y:(h*$-v*y)/m+f};tr(e.edge,l,d,x),s.edge=Ke(l,t,null,x),e.edge=Ke(t,d,null,x),Ye(n),Ye(e)}}function qe(t,n){var e=t.site,r=e.x,i=e.y,o=i-n;if(!o)return r;var a=t.P;if(!a)return-(1/0);e=a.site;var u=e.x,s=e.y,l=s-n;if(!l)return u;var c=u-r,f=1/o-1/l,h=c/l;return f?(-h+Math.sqrt(h*h-2*f*(c*c/(-2*l)-s+l/2+i-o/2)))/f+r:(r+u)/2}function Ve(t,n){var e=t.N;if(e)return qe(e,n);var r=t.site;return r.y===n?r.x:1/0}function Be(t){this.site=t,this.edges=[]}function We(t){for(var n,e,r,i,o,a,u,s,l,c,f=t[0][0],h=t[1][0],p=t[0][1],d=t[1][1],v=os,g=v.length;g--;)if(o=v[g],o&&o.prepare())for(u=o.edges,s=u.length,a=0;s>a;)c=u[a].end(),r=c.x,i=c.y,l=u[++a%s].start(),n=l.x,e=l.y,(xa(r-n)>Da||xa(i-e)>Da)&&(u.splice(a,0,new nr(Qe(o.site,c,xa(r-f)<Da&&d-i>Da?{x:f,y:xa(n-f)<Da?e:d}:xa(i-d)<Da&&h-r>Da?{x:xa(e-d)<Da?n:h,y:d}:xa(r-h)<Da&&i-p>Da?{x:h,y:xa(n-h)<Da?e:p}:xa(i-p)<Da&&r-f>Da?{x:xa(e-p)<Da?n:f,y:p}:null),o.site,null)),++s)}function Ue(t,n){return n.angle-t.angle}function He(){rr(this),this.x=this.y=this.arc=this.site=this.cy=null}function Ye(t){var n=t.P,e=t.N;if(n&&e){var r=n.site,i=t.site,o=e.site;if(r!==o){var a=i.x,u=i.y,s=r.x-a,l=r.y-u,c=o.x-a,f=o.y-u,h=2*(s*f-l*c);if(!(h>=-Fa)){var p=s*s+l*l,d=c*c+f*f,v=(f*p-l*d)/h,g=(s*d-c*p)/h,f=g+u,m=cs.pop()||new He;m.arc=t,m.site=i,m.x=v+a,m.y=f+Math.sqrt(v*v+g*g),m.cy=f,t.circle=m;for(var y=null,$=ss._;$;)if(m.y<$.y||m.y===$.y&&m.x<=$.x){if(!$.L){y=$.P;break}$=$.L}else{if(!$.R){y=$;break}$=$.R}ss.insert(y,m),y||(us=m)}}}}function Ge(t){var n=t.circle;n&&(n.P||(us=n.N),ss.remove(n),cs.push(n),rr(n),t.circle=null)}function Xe(t){for(var n,e=is,r=Bn(t[0][0],t[0][1],t[1][0],t[1][1]),i=e.length;i--;)n=e[i],(!Ze(n,t)||!r(n)||xa(n.a.x-n.b.x)<Da&&xa(n.a.y-n.b.y)<Da)&&(n.a=n.b=null,e.splice(i,1))}function Ze(t,n){var e=t.b;if(e)return!0;var r,i,o=t.a,a=n[0][0],u=n[1][0],s=n[0][1],l=n[1][1],c=t.l,f=t.r,h=c.x,p=c.y,d=f.x,v=f.y,g=(h+d)/2,m=(p+v)/2;if(v===p){if(a>g||g>=u)return;if(h>d){if(o){if(o.y>=l)return}else o={x:g,y:s};e={x:g,y:l}}else{if(o){if(o.y<s)return}else o={x:g,y:l};e={x:g,y:s}}}else if(r=(h-d)/(v-p),i=m-r*g,-1>r||r>1)if(h>d){if(o){if(o.y>=l)return}else o={x:(s-i)/r,y:s};e={x:(l-i)/r,y:l}}else{if(o){if(o.y<s)return}else o={x:(l-i)/r,y:l};e={x:(s-i)/r,y:s}}else if(v>p){if(o){if(o.x>=u)return}else o={x:a,y:r*a+i};e={x:u,y:r*u+i}}else{if(o){if(o.x<a)return}else o={x:u,y:r*u+i};e={x:a,y:r*a+i}}return t.a=o,t.b=e,!0}function Je(t,n){this.l=t,this.r=n,this.a=this.b=null}function Ke(t,n,e,r){var i=new Je(t,n);return is.push(i),e&&tr(i,t,n,e),r&&tr(i,n,t,r),os[t.i].edges.push(new nr(i,t,n)),os[n.i].edges.push(new nr(i,n,t)),i}function Qe(t,n,e){var r=new Je(t,null);return r.a=n,r.b=e,is.push(r),r}function tr(t,n,e,r){t.a||t.b?t.l===e?t.b=r:t.a=r:(t.a=r,t.l=n,t.r=e)}function nr(t,n,e){var r=t.a,i=t.b;this.edge=t,this.site=n,this.angle=e?Math.atan2(e.y-n.y,e.x-n.x):t.l===n?Math.atan2(i.x-r.x,r.y-i.y):Math.atan2(r.x-i.x,i.y-r.y)}function er(){this._=null}function rr(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function ir(t,n){var e=n,r=n.R,i=e.U;i?i.L===e?i.L=r:i.R=r:t._=r,r.U=i,e.U=r,e.R=r.L,e.R&&(e.R.U=e),r.L=e}function or(t,n){var e=n,r=n.L,i=e.U;i?i.L===e?i.L=r:i.R=r:t._=r,r.U=i,e.U=r,e.L=r.R,e.L&&(e.L.U=e),r.R=e}function ar(t){for(;t.L;)t=t.L;return t}function ur(t,n){var e,r,i,o=t.sort(sr).pop();for(is=[],os=new Array(t.length),as=new er,ss=new er;;)if(i=us,o&&(!i||o.y<i.y||o.y===i.y&&o.x<i.x))o.x===e&&o.y===r||(os[o.i]=new Be(o),ze(o),e=o.x,r=o.y),o=t.pop();else{if(!i)break;Ie(i.arc)}n&&(Xe(n),We(n));var a={cells:os,edges:is};return as=ss=is=os=null,a}function sr(t,n){return n.y-t.y||n.x-t.x}function lr(t,n,e){return(t.x-e.x)*(n.y-t.y)-(t.x-n.x)*(e.y-t.y)}function cr(t){return t.x}function fr(t){return t.y}function hr(){return{leaf:!0,nodes:[],point:null,x:null,y:null}}function pr(t,n,e,r,i,o){if(!t(n,e,r,i,o)){var a=.5*(e+i),u=.5*(r+o),s=n.nodes;s[0]&&pr(t,s[0],e,r,a,u),s[1]&&pr(t,s[1],a,r,i,u),s[2]&&pr(t,s[2],e,u,a,o),s[3]&&pr(t,s[3],a,u,i,o)}}function dr(t,n,e,r,i,o,a){var u,s=1/0;return function l(t,c,f,h,p){if(!(c>o||f>a||r>h||i>p)){if(d=t.point){var d,v=n-t.x,g=e-t.y,m=v*v+g*g;if(s>m){var y=Math.sqrt(s=m);r=n-y,i=e-y,o=n+y,a=e+y,u=d}}for(var $=t.nodes,x=.5*(c+h),b=.5*(f+p),w=n>=x,C=e>=b,S=C<<1|w,_=S+4;_>S;++S)if(t=$[3&S])switch(3&S){case 0:l(t,c,f,x,b);break;case 1:l(t,x,f,h,b);break;case 2:l(t,c,b,x,p);break;case 3:l(t,x,b,h,p)}}}(t,r,i,o,a),u}function vr(t,n){t=sa.rgb(t),n=sa.rgb(n);var e=t.r,r=t.g,i=t.b,o=n.r-e,a=n.g-r,u=n.b-i;return function(t){return"#"+xt(Math.round(e+o*t))+xt(Math.round(r+a*t))+xt(Math.round(i+u*t))}}function gr(t,n){var e,r={},i={};for(e in t)e in n?r[e]=$r(t[e],n[e]):i[e]=t[e];for(e in n)e in t||(i[e]=n[e]);return function(t){for(e in r)i[e]=r[e](t);return i}}function mr(t,n){return t=+t,n=+n,function(e){return t*(1-e)+n*e}}function yr(t,n){var e,r,i,o=hs.lastIndex=ps.lastIndex=0,a=-1,u=[],s=[];for(t+="",n+="";(e=hs.exec(t))&&(r=ps.exec(n));)(i=r.index)>o&&(i=n.slice(o,i),u[a]?u[a]+=i:u[++a]=i),(e=e[0])===(r=r[0])?u[a]?u[a]+=r:u[++a]=r:(u[++a]=null,s.push({i:a,x:mr(e,r)})),o=ps.lastIndex;return o<n.length&&(i=n.slice(o),u[a]?u[a]+=i:u[++a]=i),u.length<2?s[0]?(n=s[0].x,function(t){return n(t)+""}):function(){return n}:(n=s.length,function(t){for(var e,r=0;n>r;++r)u[(e=s[r]).i]=e.x(t);return u.join("")})}function $r(t,n){for(var e,r=sa.interpolators.length;--r>=0&&!(e=sa.interpolators[r](t,n)););return e}function xr(t,n){var e,r=[],i=[],o=t.length,a=n.length,u=Math.min(t.length,n.length);for(e=0;u>e;++e)r.push($r(t[e],n[e]));for(;o>e;++e)i[e]=t[e];for(;a>e;++e)i[e]=n[e];return function(t){for(e=0;u>e;++e)i[e]=r[e](t);return i}}function br(t){return function(n){return 0>=n?0:n>=1?1:t(n)}}function wr(t){return function(n){return 1-t(1-n)}}function Cr(t){return function(n){return.5*(.5>n?t(2*n):2-t(2-2*n))}}function Sr(t){return t*t}function _r(t){return t*t*t}function Mr(t){if(0>=t)return 0;if(t>=1)return 1;var n=t*t,e=n*t;return 4*(.5>t?e:3*(t-n)+e-.75)}function kr(t){return function(n){return Math.pow(n,t)}}function Ar(t){return 1-Math.cos(t*Va)}function Er(t){return Math.pow(2,10*(t-1))}function Pr(t){return 1-Math.sqrt(1-t*t)}function Or(t,n){var e;return arguments.length<2&&(n=.45),arguments.length?e=n/za*Math.asin(1/t):(t=1,e=n/4),function(r){return 1+t*Math.pow(2,-10*r)*Math.sin((r-e)*za/n)}}function Tr(t){return t||(t=1.70158),function(n){return n*n*((t+1)*n-t)}}function Lr(t){return 1/2.75>t?7.5625*t*t:2/2.75>t?7.5625*(t-=1.5/2.75)*t+.75:2.5/2.75>t?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}function jr(t,n){t=sa.hcl(t),n=sa.hcl(n);var e=t.h,r=t.c,i=t.l,o=n.h-e,a=n.c-r,u=n.l-i;return isNaN(a)&&(a=0,r=isNaN(r)?n.c:r),isNaN(o)?(o=0,e=isNaN(e)?n.h:e):o>180?o-=360:-180>o&&(o+=360),function(t){return ct(e+o*t,r+a*t,i+u*t)+""}}function Nr(t,n){t=sa.hsl(t),n=sa.hsl(n);var e=t.h,r=t.s,i=t.l,o=n.h-e,a=n.s-r,u=n.l-i;return isNaN(a)&&(a=0,r=isNaN(r)?n.s:r),isNaN(o)?(o=0,e=isNaN(e)?n.h:e):o>180?o-=360:-180>o&&(o+=360),function(t){return st(e+o*t,r+a*t,i+u*t)+""}}function Rr(t,n){t=sa.lab(t),n=sa.lab(n);var e=t.l,r=t.a,i=t.b,o=n.l-e,a=n.a-r,u=n.b-i;return function(t){return ht(e+o*t,r+a*t,i+u*t)+""}}function Dr(t,n){return n-=t,function(e){return Math.round(t+n*e)}}function Fr(t){var n=[t.a,t.b],e=[t.c,t.d],r=zr(n),i=Ir(n,e),o=zr(qr(e,n,-i))||0;n[0]*e[1]<e[0]*n[1]&&(n[0]*=-1,n[1]*=-1,r*=-1,i*=-1),this.rotate=(r?Math.atan2(n[1],n[0]):Math.atan2(-e[0],e[1]))*Wa,this.translate=[t.e,t.f],this.scale=[r,o],this.skew=o?Math.atan2(i,o)*Wa:0}function Ir(t,n){return t[0]*n[0]+t[1]*n[1]}function zr(t){var n=Math.sqrt(Ir(t,t));return n&&(t[0]/=n,t[1]/=n),n}function qr(t,n,e){return t[0]+=e*n[0],t[1]+=e*n[1],t}function Vr(t){return t.length?t.pop()+",":""}function Br(t,n,e,r){if(t[0]!==n[0]||t[1]!==n[1]){var i=e.push("translate(",null,",",null,")");r.push({i:i-4,x:mr(t[0],n[0])},{i:i-2,x:mr(t[1],n[1])})}else(n[0]||n[1])&&e.push("translate("+n+")")}function Wr(t,n,e,r){t!==n?(t-n>180?n+=360:n-t>180&&(t+=360),r.push({i:e.push(Vr(e)+"rotate(",null,")")-2,x:mr(t,n)})):n&&e.push(Vr(e)+"rotate("+n+")")}function Ur(t,n,e,r){t!==n?r.push({i:e.push(Vr(e)+"skewX(",null,")")-2,x:mr(t,n)}):n&&e.push(Vr(e)+"skewX("+n+")")}function Hr(t,n,e,r){if(t[0]!==n[0]||t[1]!==n[1]){var i=e.push(Vr(e)+"scale(",null,",",null,")");r.push({i:i-4,x:mr(t[0],n[0])},{i:i-2,x:mr(t[1],n[1])})}else 1===n[0]&&1===n[1]||e.push(Vr(e)+"scale("+n+")")}function Yr(t,n){var e=[],r=[];return t=sa.transform(t),n=sa.transform(n),Br(t.translate,n.translate,e,r),Wr(t.rotate,n.rotate,e,r),Ur(t.skew,n.skew,e,r),Hr(t.scale,n.scale,e,r),t=n=null,function(t){for(var n,i=-1,o=r.length;++i<o;)e[(n=r[i]).i]=n.x(t);return e.join("")}}function Gr(t,n){return n=(n-=t=+t)||1/n,function(e){return(e-t)/n}}function Xr(t,n){return n=(n-=t=+t)||1/n,function(e){return Math.max(0,Math.min(1,(e-t)/n))}}function Zr(t){for(var n=t.source,e=t.target,r=Kr(n,e),i=[n];n!==r;)n=n.parent,i.push(n);for(var o=i.length;e!==r;)i.splice(o,0,e),e=e.parent;return i}function Jr(t){for(var n=[],e=t.parent;null!=e;)n.push(t),t=e,e=e.parent;return n.push(t),n}function Kr(t,n){if(t===n)return t;for(var e=Jr(t),r=Jr(n),i=e.pop(),o=r.pop(),a=null;i===o;)a=i,i=e.pop(),o=r.pop();return a}function Qr(t){t.fixed|=2}function ti(t){t.fixed&=-7}function ni(t){t.fixed|=4,t.px=t.x,t.py=t.y}function ei(t){t.fixed&=-5}function ri(t,n,e){var r=0,i=0;if(t.charge=0,!t.leaf)for(var o,a=t.nodes,u=a.length,s=-1;++s<u;)o=a[s],null!=o&&(ri(o,n,e),t.charge+=o.charge,r+=o.charge*o.cx,i+=o.charge*o.cy);if(t.point){t.leaf||(t.point.x+=Math.random()-.5,t.point.y+=Math.random()-.5);var l=n*e[t.point.index];t.charge+=t.pointCharge=l,r+=l*t.point.x,i+=l*t.point.y}t.cx=r/t.charge,t.cy=i/t.charge}function ii(t,n){return sa.rebind(t,n,"sort","children","value"),t.nodes=t,t.links=ci,t}function oi(t,n){for(var e=[t];null!=(t=e.pop());)if(n(t),(i=t.children)&&(r=i.length))for(var r,i;--r>=0;)e.push(i[r])}function ai(t,n){for(var e=[t],r=[];null!=(t=e.pop());)if(r.push(t),(o=t.children)&&(i=o.length))for(var i,o,a=-1;++a<i;)e.push(o[a]);for(;null!=(t=r.pop());)n(t)}function ui(t){return t.children}function si(t){return t.value}function li(t,n){return n.value-t.value}function ci(t){return sa.merge(t.map(function(t){return(t.children||[]).map(function(n){return{source:t,target:n}})}))}function fi(t){return t.x}function hi(t){return t.y}function pi(t,n,e){t.y0=n,t.y=e}function di(t){return sa.range(t.length)}function vi(t){for(var n=-1,e=t[0].length,r=[];++n<e;)r[n]=0;return r}function gi(t){for(var n,e=1,r=0,i=t[0][1],o=t.length;o>e;++e)(n=t[e][1])>i&&(r=e,i=n);return r}function mi(t){return t.reduce(yi,0)}function yi(t,n){return t+n[1]}function $i(t,n){return xi(t,Math.ceil(Math.log(n.length)/Math.LN2+1))}function xi(t,n){for(var e=-1,r=+t[0],i=(t[1]-r)/n,o=[];++e<=n;)o[e]=i*e+r;return o}function bi(t){return[sa.min(t),sa.max(t)]}function wi(t,n){return t.value-n.value}function Ci(t,n){var e=t._pack_next;t._pack_next=n,n._pack_prev=t,n._pack_next=e,e._pack_prev=n}function Si(t,n){t._pack_next=n,n._pack_prev=t}function _i(t,n){var e=n.x-t.x,r=n.y-t.y,i=t.r+n.r;return.999*i*i>e*e+r*r}function Mi(t){function n(t){c=Math.min(t.x-t.r,c),f=Math.max(t.x+t.r,f),h=Math.min(t.y-t.r,h),p=Math.max(t.y+t.r,p)}if((e=t.children)&&(l=e.length)){var e,r,i,o,a,u,s,l,c=1/0,f=-(1/0),h=1/0,p=-(1/0);if(e.forEach(ki),r=e[0],r.x=-r.r,r.y=0,n(r),l>1&&(i=e[1],i.x=i.r,i.y=0,n(i),l>2))for(o=e[2],Pi(r,i,o),n(o),Ci(r,o),r._pack_prev=o,Ci(o,i),i=r._pack_next,a=3;l>a;a++){Pi(r,i,o=e[a]);var d=0,v=1,g=1;for(u=i._pack_next;u!==i;u=u._pack_next,v++)if(_i(u,o)){d=1;break}if(1==d)for(s=r._pack_prev;s!==u._pack_prev&&!_i(s,o);s=s._pack_prev,g++);d?(g>v||v==g&&i.r<r.r?Si(r,i=u):Si(r=s,i),a--):(Ci(r,o),i=o,n(o))}var m=(c+f)/2,y=(h+p)/2,$=0;for(a=0;l>a;a++)o=e[a],o.x-=m,o.y-=y,$=Math.max($,o.r+Math.sqrt(o.x*o.x+o.y*o.y));t.r=$,e.forEach(Ai)}}function ki(t){t._pack_next=t._pack_prev=t}function Ai(t){delete t._pack_next,delete t._pack_prev}function Ei(t,n,e,r){var i=t.children;if(t.x=n+=r*t.x,t.y=e+=r*t.y,t.r*=r,i)for(var o=-1,a=i.length;++o<a;)Ei(i[o],n,e,r)}function Pi(t,n,e){var r=t.r+e.r,i=n.x-t.x,o=n.y-t.y;if(r&&(i||o)){var a=n.r+e.r,u=i*i+o*o;a*=a,r*=r;var s=.5+(r-a)/(2*u),l=Math.sqrt(Math.max(0,2*a*(r+u)-(r-=u)*r-a*a))/(2*u);e.x=t.x+s*i+l*o,e.y=t.y+s*o-l*i}else e.x=t.x+r,e.y=t.y}function Oi(t,n){return t.parent==n.parent?1:2}function Ti(t){var n=t.children;return n.length?n[0]:t.t}function Li(t){var n,e=t.children;return(n=e.length)?e[n-1]:t.t}function ji(t,n,e){var r=e/(n.i-t.i);n.c-=r,n.s+=e,t.c+=r,n.z+=e,n.m+=e}function Ni(t){for(var n,e=0,r=0,i=t.children,o=i.length;--o>=0;)n=i[o],n.z+=e,n.m+=e,e+=n.s+(r+=n.c)}function Ri(t,n,e){return t.a.parent===n.parent?t.a:e}function Di(t){return 1+sa.max(t,function(t){return t.y})}function Fi(t){return t.reduce(function(t,n){return t+n.x},0)/t.length}function Ii(t){var n=t.children;return n&&n.length?Ii(n[0]):t}function zi(t){var n,e=t.children;return e&&(n=e.length)?zi(e[n-1]):t}function qi(t){return{x:t.x,y:t.y,dx:t.dx,dy:t.dy}}function Vi(t,n){var e=t.x+n[3],r=t.y+n[0],i=t.dx-n[1]-n[3],o=t.dy-n[0]-n[2];return 0>i&&(e+=i/2,i=0),0>o&&(r+=o/2,o=0),{x:e,y:r,dx:i,dy:o}}function Bi(t){var n=t[0],e=t[t.length-1];return e>n?[n,e]:[e,n]}function Wi(t){return t.rangeExtent?t.rangeExtent():Bi(t.range())}function Ui(t,n,e,r){var i=e(t[0],t[1]),o=r(n[0],n[1]);return function(t){return o(i(t))}}function Hi(t,n){var e,r=0,i=t.length-1,o=t[r],a=t[i];return o>a&&(e=r,r=i,i=e,e=o,o=a,a=e),t[r]=n.floor(o),t[i]=n.ceil(a),t}function Yi(t){return t?{floor:function(n){return Math.floor(n/t)*t},ceil:function(n){return Math.ceil(n/t)*t}}:Ss}function Gi(t,n,e,r){var i=[],o=[],a=0,u=Math.min(t.length,n.length)-1;for(t[u]<t[0]&&(t=t.slice().reverse(),n=n.slice().reverse());++a<=u;)i.push(e(t[a-1],t[a])),o.push(r(n[a-1],n[a]));return function(n){var e=sa.bisect(t,n,1,u)-1;return o[e](i[e](n))}}function Xi(t,n,e,r){function i(){var i=Math.min(t.length,n.length)>2?Gi:Ui,s=r?Xr:Gr;return a=i(t,n,s,e),u=i(n,t,s,$r),o}function o(t){return a(t)}var a,u;return o.invert=function(t){return u(t)},o.domain=function(n){return arguments.length?(t=n.map(Number),i()):t},o.range=function(t){return arguments.length?(n=t,i()):n},o.rangeRound=function(t){return o.range(t).interpolate(Dr)},o.clamp=function(t){return arguments.length?(r=t,i()):r},o.interpolate=function(t){return arguments.length?(e=t,i()):e},o.ticks=function(n){return Qi(t,n)},o.tickFormat=function(n,e){return to(t,n,e)},o.nice=function(n){return Ji(t,n),i()},o.copy=function(){return Xi(t,n,e,r)},i()}function Zi(t,n){return sa.rebind(t,n,"range","rangeRound","interpolate","clamp")}function Ji(t,n){return Hi(t,Yi(Ki(t,n)[2])),Hi(t,Yi(Ki(t,n)[2])),t}function Ki(t,n){null==n&&(n=10);var e=Bi(t),r=e[1]-e[0],i=Math.pow(10,Math.floor(Math.log(r/n)/Math.LN10)),o=n/r*i;return.15>=o?i*=10:.35>=o?i*=5:.75>=o&&(i*=2),e[0]=Math.ceil(e[0]/i)*i,e[1]=Math.floor(e[1]/i)*i+.5*i,e[2]=i,e}function Qi(t,n){return sa.range.apply(sa,Ki(t,n))}function to(t,n,e){var r=Ki(t,n);if(e){var i=hu.exec(e);if(i.shift(),"s"===i[8]){var o=sa.formatPrefix(Math.max(xa(r[0]),xa(r[1])));return i[7]||(i[7]="."+no(o.scale(r[2]))),i[8]="f",e=sa.format(i.join("")),function(t){return e(o.scale(t))+o.symbol}}i[7]||(i[7]="."+eo(i[8],r)),e=i.join("")}else e=",."+no(r[2])+"f";return sa.format(e)}function no(t){return-Math.floor(Math.log(t)/Math.LN10+.01)}function eo(t,n){var e=no(n[2]);return t in _s?Math.abs(e-no(Math.max(xa(n[0]),xa(n[1]))))+ +("e"!==t):e-2*("%"===t)}function ro(t,n,e,r){function i(t){return(e?Math.log(0>t?0:t):-Math.log(t>0?0:-t))/Math.log(n)}function o(t){return e?Math.pow(n,t):-Math.pow(n,-t)}function a(n){return t(i(n))}return a.invert=function(n){return o(t.invert(n))},a.domain=function(n){return arguments.length?(e=n[0]>=0,t.domain((r=n.map(Number)).map(i)),a):r},a.base=function(e){return arguments.length?(n=+e,t.domain(r.map(i)),a):n},a.nice=function(){var n=Hi(r.map(i),e?Math:ks);return t.domain(n),r=n.map(o),a},a.ticks=function(){var t=Bi(r),a=[],u=t[0],s=t[1],l=Math.floor(i(u)),c=Math.ceil(i(s)),f=n%1?2:n;if(isFinite(c-l)){if(e){for(;c>l;l++)for(var h=1;f>h;h++)a.push(o(l)*h);a.push(o(l))}else for(a.push(o(l));l++<c;)for(var h=f-1;h>0;h--)a.push(o(l)*h);for(l=0;a[l]<u;l++);for(c=a.length;a[c-1]>s;c--);a=a.slice(l,c)}return a},a.tickFormat=function(t,e){if(!arguments.length)return Ms;arguments.length<2?e=Ms:"function"!=typeof e&&(e=sa.format(e));var r=Math.max(1,n*t/a.ticks().length);return function(t){var a=t/o(Math.round(i(t)));return n-.5>a*n&&(a*=n),r>=a?e(t):""}},a.copy=function(){return ro(t.copy(),n,e,r)},Zi(a,t)}function io(t,n,e){function r(n){return t(i(n))}var i=oo(n),o=oo(1/n);return r.invert=function(n){return o(t.invert(n))},r.domain=function(n){return arguments.length?(t.domain((e=n.map(Number)).map(i)),r):e},r.ticks=function(t){return Qi(e,t)},r.tickFormat=function(t,n){return to(e,t,n)},r.nice=function(t){return r.domain(Ji(e,t))},r.exponent=function(a){return arguments.length?(i=oo(n=a),o=oo(1/n),t.domain(e.map(i)),r):n},r.copy=function(){return io(t.copy(),n,e)},Zi(r,t)}function oo(t){return function(n){return 0>n?-Math.pow(-n,t):Math.pow(n,t)}}function ao(t,n){function e(e){return o[((i.get(e)||("range"===n.t?i.set(e,t.push(e)):NaN))-1)%o.length]}function r(n,e){return sa.range(t.length).map(function(t){return n+e*t})}var i,o,a;return e.domain=function(r){if(!arguments.length)return t;t=[],i=new l;for(var o,a=-1,u=r.length;++a<u;)i.has(o=r[a])||i.set(o,t.push(o));return e[n.t].apply(e,n.a)},e.range=function(t){return arguments.length?(o=t,a=0,n={t:"range",a:arguments},e):o},e.rangePoints=function(i,u){arguments.length<2&&(u=0);var s=i[0],l=i[1],c=t.length<2?(s=(s+l)/2,0):(l-s)/(t.length-1+u);return o=r(s+c*u/2,c),a=0,n={t:"rangePoints",a:arguments},e},e.rangeRoundPoints=function(i,u){arguments.length<2&&(u=0);var s=i[0],l=i[1],c=t.length<2?(s=l=Math.round((s+l)/2),0):(l-s)/(t.length-1+u)|0;return o=r(s+Math.round(c*u/2+(l-s-(t.length-1+u)*c)/2),c),a=0,n={t:"rangeRoundPoints",a:arguments},e},e.rangeBands=function(i,u,s){arguments.length<2&&(u=0),arguments.length<3&&(s=u);var l=i[1]<i[0],c=i[l-0],f=i[1-l],h=(f-c)/(t.length-u+2*s);return o=r(c+h*s,h),l&&o.reverse(),a=h*(1-u),n={t:"rangeBands",a:arguments},e},e.rangeRoundBands=function(i,u,s){arguments.length<2&&(u=0),arguments.length<3&&(s=u);var l=i[1]<i[0],c=i[l-0],f=i[1-l],h=Math.floor((f-c)/(t.length-u+2*s));return o=r(c+Math.round((f-c-(t.length-u)*h)/2),h),l&&o.reverse(),a=Math.round(h*(1-u)),n={t:"rangeRoundBands",a:arguments},e},e.rangeBand=function(){return a},e.rangeExtent=function(){return Bi(n.a[0])},e.copy=function(){return ao(t,n)},e.domain(t)}function uo(t,n){function o(){var e=0,r=n.length;for(u=[];++e<r;)u[e-1]=sa.quantile(t,e/r);return a}function a(t){return isNaN(t=+t)?void 0:n[sa.bisect(u,t)]}var u;return a.domain=function(n){return arguments.length?(t=n.map(r).filter(i).sort(e),o()):t},a.range=function(t){return arguments.length?(n=t,o()):n},a.quantiles=function(){return u},a.invertExtent=function(e){return e=n.indexOf(e),0>e?[NaN,NaN]:[e>0?u[e-1]:t[0],e<u.length?u[e]:t[t.length-1]]},a.copy=function(){return uo(t,n)},o()}function so(t,n,e){function r(n){return e[Math.max(0,Math.min(a,Math.floor(o*(n-t))))]}function i(){return o=e.length/(n-t),a=e.length-1,r}var o,a;return r.domain=function(e){return arguments.length?(t=+e[0],n=+e[e.length-1],i()):[t,n]},r.range=function(t){return arguments.length?(e=t,i()):e},r.invertExtent=function(n){return n=e.indexOf(n),n=0>n?NaN:n/o+t,[n,n+1/o]},r.copy=function(){return so(t,n,e)},i()}function lo(t,n){function e(e){return e>=e?n[sa.bisect(t,e)]:void 0}return e.domain=function(n){return arguments.length?(t=n,e):t},e.range=function(t){return arguments.length?(n=t,e):n},e.invertExtent=function(e){return e=n.indexOf(e),[t[e-1],t[e]]},e.copy=function(){return lo(t,n)},e}function co(t){function n(t){return+t}return n.invert=n,n.domain=n.range=function(e){return arguments.length?(t=e.map(n),n):t},n.ticks=function(n){return Qi(t,n)},n.tickFormat=function(n,e){return to(t,n,e)},n.copy=function(){return co(t)},n}function fo(){return 0}function ho(t){return t.innerRadius}function po(t){return t.outerRadius}function vo(t){return t.startAngle}function go(t){return t.endAngle}function mo(t){return t&&t.padAngle}function yo(t,n,e,r){return(t-e)*n-(n-r)*t>0?0:1}function $o(t,n,e,r,i){var o=t[0]-n[0],a=t[1]-n[1],u=(i?r:-r)/Math.sqrt(o*o+a*a),s=u*a,l=-u*o,c=t[0]+s,f=t[1]+l,h=n[0]+s,p=n[1]+l,d=(c+h)/2,v=(f+p)/2,g=h-c,m=p-f,y=g*g+m*m,$=e-r,x=c*p-h*f,b=(0>m?-1:1)*Math.sqrt(Math.max(0,$*$*y-x*x)),w=(x*m-g*b)/y,C=(-x*g-m*b)/y,S=(x*m+g*b)/y,_=(-x*g+m*b)/y,M=w-d,k=C-v,A=S-d,E=_-v;return M*M+k*k>A*A+E*E&&(w=S,C=_),[[w-s,C-l],[w*e/$,C*e/$]]}function xo(t){function n(n){function a(){l.push("M",o(t(c),u))}for(var s,l=[],c=[],f=-1,h=n.length,p=Mt(e),d=Mt(r);++f<h;)i.call(this,s=n[f],f)?c.push([+p.call(this,s,f),+d.call(this,s,f)]):c.length&&(a(),c=[]);return c.length&&a(),l.length?l.join(""):null}var e=Ee,r=Pe,i=Pn,o=bo,a=o.key,u=.7;return n.x=function(t){return arguments.length?(e=t,n):e},n.y=function(t){return arguments.length?(r=t,n):r},n.defined=function(t){return arguments.length?(i=t,n):i},n.interpolate=function(t){return arguments.length?(a="function"==typeof t?o=t:(o=Ls.get(t)||bo).key,n):a},n.tension=function(t){return arguments.length?(u=t,n):u},n}function bo(t){return t.length>1?t.join("L"):t+"Z"}function wo(t){return t.join("L")+"Z"}function Co(t){for(var n=0,e=t.length,r=t[0],i=[r[0],",",r[1]];++n<e;)i.push("H",(r[0]+(r=t[n])[0])/2,"V",r[1]);return e>1&&i.push("H",r[0]),i.join("")}function So(t){for(var n=0,e=t.length,r=t[0],i=[r[0],",",r[1]];++n<e;)i.push("V",(r=t[n])[1],"H",r[0]);return i.join("")}function _o(t){for(var n=0,e=t.length,r=t[0],i=[r[0],",",r[1]];++n<e;)i.push("H",(r=t[n])[0],"V",r[1]);return i.join("")}function Mo(t,n){return t.length<4?bo(t):t[1]+Eo(t.slice(1,-1),Po(t,n))}function ko(t,n){return t.length<3?wo(t):t[0]+Eo((t.push(t[0]),t),Po([t[t.length-2]].concat(t,[t[1]]),n))}function Ao(t,n){return t.length<3?bo(t):t[0]+Eo(t,Po(t,n))}function Eo(t,n){if(n.length<1||t.length!=n.length&&t.length!=n.length+2)return bo(t);var e=t.length!=n.length,r="",i=t[0],o=t[1],a=n[0],u=a,s=1;if(e&&(r+="Q"+(o[0]-2*a[0]/3)+","+(o[1]-2*a[1]/3)+","+o[0]+","+o[1],i=t[1],s=2),n.length>1){u=n[1],o=t[s],s++,r+="C"+(i[0]+a[0])+","+(i[1]+a[1])+","+(o[0]-u[0])+","+(o[1]-u[1])+","+o[0]+","+o[1];for(var l=2;l<n.length;l++,s++)o=t[s],u=n[l],r+="S"+(o[0]-u[0])+","+(o[1]-u[1])+","+o[0]+","+o[1]}if(e){var c=t[s];r+="Q"+(o[0]+2*u[0]/3)+","+(o[1]+2*u[1]/3)+","+c[0]+","+c[1]}return r}function Po(t,n){for(var e,r=[],i=(1-n)/2,o=t[0],a=t[1],u=1,s=t.length;++u<s;)e=o,o=a,a=t[u],r.push([i*(a[0]-e[0]),i*(a[1]-e[1])]);return r}function Oo(t){if(t.length<3)return bo(t);var n=1,e=t.length,r=t[0],i=r[0],o=r[1],a=[i,i,i,(r=t[1])[0]],u=[o,o,o,r[1]],s=[i,",",o,"L",No(Rs,a),",",No(Rs,u)];for(t.push(t[e-1]);++n<=e;)r=t[n],a.shift(),a.push(r[0]),u.shift(),u.push(r[1]),Ro(s,a,u);return t.pop(),s.push("L",r),s.join("")}function To(t){if(t.length<4)return bo(t);for(var n,e=[],r=-1,i=t.length,o=[0],a=[0];++r<3;)n=t[r],o.push(n[0]),a.push(n[1]);for(e.push(No(Rs,o)+","+No(Rs,a)),--r;++r<i;)n=t[r],o.shift(),o.push(n[0]),a.shift(),a.push(n[1]),Ro(e,o,a);return e.join("")}function Lo(t){for(var n,e,r=-1,i=t.length,o=i+4,a=[],u=[];++r<4;)e=t[r%i],a.push(e[0]),u.push(e[1]);for(n=[No(Rs,a),",",No(Rs,u)],--r;++r<o;)e=t[r%i],a.shift(),a.push(e[0]),u.shift(),u.push(e[1]),Ro(n,a,u);return n.join("")}function jo(t,n){var e=t.length-1;if(e)for(var r,i,o=t[0][0],a=t[0][1],u=t[e][0]-o,s=t[e][1]-a,l=-1;++l<=e;)r=t[l],i=l/e,r[0]=n*r[0]+(1-n)*(o+i*u),r[1]=n*r[1]+(1-n)*(a+i*s);return Oo(t)}function No(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]+t[3]*n[3]}function Ro(t,n,e){t.push("C",No(js,n),",",No(js,e),",",No(Ns,n),",",No(Ns,e),",",No(Rs,n),",",No(Rs,e))}function Do(t,n){return(n[1]-t[1])/(n[0]-t[0])}function Fo(t){for(var n=0,e=t.length-1,r=[],i=t[0],o=t[1],a=r[0]=Do(i,o);++n<e;)r[n]=(a+(a=Do(i=o,o=t[n+1])))/2;return r[n]=a,r}function Io(t){for(var n,e,r,i,o=[],a=Fo(t),u=-1,s=t.length-1;++u<s;)n=Do(t[u],t[u+1]),xa(n)<Da?a[u]=a[u+1]=0:(e=a[u]/n,r=a[u+1]/n,i=e*e+r*r,i>9&&(i=3*n/Math.sqrt(i),a[u]=i*e,a[u+1]=i*r));for(u=-1;++u<=s;)i=(t[Math.min(s,u+1)][0]-t[Math.max(0,u-1)][0])/(6*(1+a[u]*a[u])),o.push([i||0,a[u]*i||0]);return o}function zo(t){return t.length<3?bo(t):t[0]+Eo(t,Io(t))}function qo(t){for(var n,e,r,i=-1,o=t.length;++i<o;)n=t[i],e=n[0],r=n[1]-Va,n[0]=e*Math.cos(r),n[1]=e*Math.sin(r);return t}function Vo(t){function n(n){function s(){v.push("M",u(t(m),f),c,l(t(g.reverse()),f),"Z")}for(var h,p,d,v=[],g=[],m=[],y=-1,$=n.length,x=Mt(e),b=Mt(i),w=e===r?function(){return p}:Mt(r),C=i===o?function(){return d}:Mt(o);++y<$;)a.call(this,h=n[y],y)?(g.push([p=+x.call(this,h,y),d=+b.call(this,h,y)]),m.push([+w.call(this,h,y),+C.call(this,h,y)])):g.length&&(s(),g=[],m=[]);return g.length&&s(),v.length?v.join(""):null}var e=Ee,r=Ee,i=0,o=Pe,a=Pn,u=bo,s=u.key,l=u,c="L",f=.7;return n.x=function(t){return arguments.length?(e=r=t,n):r},n.x0=function(t){return arguments.length?(e=t,n):e},n.x1=function(t){return arguments.length?(r=t,n):r},n.y=function(t){return arguments.length?(i=o=t,n):o},n.y0=function(t){return arguments.length?(i=t,n):i},n.y1=function(t){return arguments.length?(o=t,n):o},n.defined=function(t){return arguments.length?(a=t,n):a},n.interpolate=function(t){return arguments.length?(s="function"==typeof t?u=t:(u=Ls.get(t)||bo).key,l=u.reverse||u,c=u.closed?"M":"L",n):s},n.tension=function(t){return arguments.length?(f=t,n):f},n}function Bo(t){return t.radius}function Wo(t){return[t.x,t.y]}function Uo(t){return function(){var n=t.apply(this,arguments),e=n[0],r=n[1]-Va;return[e*Math.cos(r),e*Math.sin(r)]}}function Ho(){return 64}function Yo(){return"circle"}function Go(t){var n=Math.sqrt(t/Ia);return"M0,"+n+"A"+n+","+n+" 0 1,1 0,"+-n+"A"+n+","+n+" 0 1,1 0,"+n+"Z"}function Xo(t){return function(){var n,e,r;(n=this[t])&&(r=n[e=n.active])&&(r.timer.c=null,r.timer.t=NaN,--n.count?delete n[e]:delete this[t],n.active+=.5,r.event&&r.event.interrupt.call(this,this.__data__,r.index))}}function Zo(t,n,e){return _a(t,Bs),t.namespace=n,t.id=e,t}function Jo(t,n,e,r){var i=t.id,o=t.namespace;return B(t,"function"==typeof e?function(t,a,u){t[o][i].tween.set(n,r(e.call(t,t.__data__,a,u)))}:(e=r(e),function(t){t[o][i].tween.set(n,e)}))}function Ko(t){return null==t&&(t=""),function(){this.textContent=t}}function Qo(t){return null==t?"__transition__":"__transition_"+t+"__"}function ta(t,n,e,r,i){function o(t){var n=v.delay;return c.t=n+s,t>=n?a(t-n):void(c.c=a)}function a(e){var i=d.active,o=d[i];o&&(o.timer.c=null,o.timer.t=NaN,--d.count,delete d[i],o.event&&o.event.interrupt.call(t,t.__data__,o.index));for(var a in d)if(r>+a){var l=d[a];l.timer.c=null,l.timer.t=NaN,--d.count,delete d[a]}c.c=u,Ot(function(){return c.c&&u(e||1)&&(c.c=null,c.t=NaN),1},0,s),d.active=r,v.event&&v.event.start.call(t,t.__data__,n),p=[],v.tween.forEach(function(e,r){(r=r.call(t,t.__data__,n))&&p.push(r)}),h=v.ease,f=v.duration}function u(i){for(var o=i/f,a=h(o),u=p.length;u>0;)p[--u].call(t,a);return o>=1?(v.event&&v.event.end.call(t,t.__data__,n),--d.count?delete d[r]:delete t[e],1):void 0}var s,c,f,h,p,d=t[e]||(t[e]={active:0,count:0}),v=d[r];v||(s=i.time,c=Ot(o,0,s),v=d[r]={tween:new l,time:s,timer:c,delay:i.delay,duration:i.duration,ease:i.ease,index:n},i=null,++d.count)}function na(t,n,e){t.attr("transform",function(t){var r=n(t);return"translate("+(isFinite(r)?r:e(t))+",0)"})}function ea(t,n,e){t.attr("transform",function(t){var r=n(t);return"translate(0,"+(isFinite(r)?r:e(t))+")"})}function ra(t){return t.toISOString()}function ia(t,n,e){function r(n){return t(n)}function i(t,e){var r=t[1]-t[0],i=r/e,o=sa.bisect(Ks,i);return o==Ks.length?[n.year,Ki(t.map(function(t){return t/31536e6}),e)[2]]:o?n[i/Ks[o-1]<Ks[o]/i?o-1:o]:[nl,Ki(t,e)[2]]}return r.invert=function(n){return oa(t.invert(n))},r.domain=function(n){return arguments.length?(t.domain(n),r):t.domain().map(oa)},r.nice=function(t,n){function e(e){return!isNaN(e)&&!t.range(e,oa(+e+1),n).length}var o=r.domain(),a=Bi(o),u=null==t?i(a,10):"number"==typeof t&&i(a,t);return u&&(t=u[0],n=u[1]),r.domain(Hi(o,n>1?{floor:function(n){for(;e(n=t.floor(n));)n=oa(n-1);return n},ceil:function(n){for(;e(n=t.ceil(n));)n=oa(+n+1);return n}}:t))},r.ticks=function(t,n){var e=Bi(r.domain()),o=null==t?i(e,10):"number"==typeof t?i(e,t):!t.range&&[{range:t},n];return o&&(t=o[0],n=o[1]),t.range(e[0],oa(+e[1]+1),1>n?1:n)},r.tickFormat=function(){return e},r.copy=function(){return ia(t.copy(),n,e)},Zi(r,t)}function oa(t){return new Date(t)}function aa(t){return JSON.parse(t.responseText)}function ua(t){var n=fa.createRange();return n.selectNode(fa.body),n.createContextualFragment(t.responseText)}var sa={version:"3.5.17"},la=[].slice,ca=function(t){return la.call(t)},fa=this.document;if(fa)try{ca(fa.documentElement.childNodes)[0].nodeType}catch(ha){ca=function(t){for(var n=t.length,e=new Array(n);n--;)e[n]=t[n];return e}}if(Date.now||(Date.now=function(){return+new Date}),fa)try{fa.createElement("DIV").style.setProperty("opacity",0,"")}catch(pa){var da=this.Element.prototype,va=da.setAttribute,ga=da.setAttributeNS,ma=this.CSSStyleDeclaration.prototype,ya=ma.setProperty;da.setAttribute=function(t,n){va.call(this,t,n+"")},da.setAttributeNS=function(t,n,e){ga.call(this,t,n,e+"")},ma.setProperty=function(t,n,e){ya.call(this,t,n+"",e)}}sa.ascending=e,sa.descending=function(t,n){return t>n?-1:n>t?1:n>=t?0:NaN},sa.min=function(t,n){var e,r,i=-1,o=t.length;if(1===arguments.length){for(;++i<o;)if(null!=(r=t[i])&&r>=r){e=r;break}for(;++i<o;)null!=(r=t[i])&&e>r&&(e=r)}else{for(;++i<o;)if(null!=(r=n.call(t,t[i],i))&&r>=r){e=r;break}for(;++i<o;)null!=(r=n.call(t,t[i],i))&&e>r&&(e=r)}return e},sa.max=function(t,n){var e,r,i=-1,o=t.length;if(1===arguments.length){for(;++i<o;)if(null!=(r=t[i])&&r>=r){e=r;break}for(;++i<o;)null!=(r=t[i])&&r>e&&(e=r)}else{for(;++i<o;)if(null!=(r=n.call(t,t[i],i))&&r>=r){e=r;break}for(;++i<o;)null!=(r=n.call(t,t[i],i))&&r>e&&(e=r)}return e},sa.extent=function(t,n){var e,r,i,o=-1,a=t.length;if(1===arguments.length){for(;++o<a;)if(null!=(r=t[o])&&r>=r){e=i=r;break}for(;++o<a;)null!=(r=t[o])&&(e>r&&(e=r),r>i&&(i=r))}else{for(;++o<a;)if(null!=(r=n.call(t,t[o],o))&&r>=r){e=i=r;break}for(;++o<a;)null!=(r=n.call(t,t[o],o))&&(e>r&&(e=r),r>i&&(i=r))}return[e,i]},sa.sum=function(t,n){var e,r=0,o=t.length,a=-1;if(1===arguments.length)for(;++a<o;)i(e=+t[a])&&(r+=e);else for(;++a<o;)i(e=+n.call(t,t[a],a))&&(r+=e);return r},sa.mean=function(t,n){
+var e,o=0,a=t.length,u=-1,s=a;if(1===arguments.length)for(;++u<a;)i(e=r(t[u]))?o+=e:--s;else for(;++u<a;)i(e=r(n.call(t,t[u],u)))?o+=e:--s;return s?o/s:void 0},sa.quantile=function(t,n){var e=(t.length-1)*n+1,r=Math.floor(e),i=+t[r-1],o=e-r;return o?i+o*(t[r]-i):i},sa.median=function(t,n){var o,a=[],u=t.length,s=-1;if(1===arguments.length)for(;++s<u;)i(o=r(t[s]))&&a.push(o);else for(;++s<u;)i(o=r(n.call(t,t[s],s)))&&a.push(o);return a.length?sa.quantile(a.sort(e),.5):void 0},sa.variance=function(t,n){var e,o,a=t.length,u=0,s=0,l=-1,c=0;if(1===arguments.length)for(;++l<a;)i(e=r(t[l]))&&(o=e-u,u+=o/++c,s+=o*(e-u));else for(;++l<a;)i(e=r(n.call(t,t[l],l)))&&(o=e-u,u+=o/++c,s+=o*(e-u));return c>1?s/(c-1):void 0},sa.deviation=function(){var t=sa.variance.apply(this,arguments);return t?Math.sqrt(t):t};var $a=o(e);sa.bisectLeft=$a.left,sa.bisect=sa.bisectRight=$a.right,sa.bisector=function(t){return o(1===t.length?function(n,r){return e(t(n),r)}:t)},sa.shuffle=function(t,n,e){(o=arguments.length)<3&&(e=t.length,2>o&&(n=0));for(var r,i,o=e-n;o;)i=Math.random()*o--|0,r=t[o+n],t[o+n]=t[i+n],t[i+n]=r;return t},sa.permute=function(t,n){for(var e=n.length,r=new Array(e);e--;)r[e]=t[n[e]];return r},sa.pairs=function(t){for(var n,e=0,r=t.length-1,i=t[0],o=new Array(0>r?0:r);r>e;)o[e]=[n=i,i=t[++e]];return o},sa.transpose=function(t){if(!(i=t.length))return[];for(var n=-1,e=sa.min(t,a),r=new Array(e);++n<e;)for(var i,o=-1,u=r[n]=new Array(i);++o<i;)u[o]=t[o][n];return r},sa.zip=function(){return sa.transpose(arguments)},sa.keys=function(t){var n=[];for(var e in t)n.push(e);return n},sa.values=function(t){var n=[];for(var e in t)n.push(t[e]);return n},sa.entries=function(t){var n=[];for(var e in t)n.push({key:e,value:t[e]});return n},sa.merge=function(t){for(var n,e,r,i=t.length,o=-1,a=0;++o<i;)a+=t[o].length;for(e=new Array(a);--i>=0;)for(r=t[i],n=r.length;--n>=0;)e[--a]=r[n];return e};var xa=Math.abs;sa.range=function(t,n,e){if(arguments.length<3&&(e=1,arguments.length<2&&(n=t,t=0)),(n-t)/e===1/0)throw new Error("infinite range");var r,i=[],o=u(xa(e)),a=-1;if(t*=o,n*=o,e*=o,0>e)for(;(r=t+e*++a)>n;)i.push(r/o);else for(;(r=t+e*++a)<n;)i.push(r/o);return i},sa.map=function(t,n){var e=new l;if(t instanceof l)t.forEach(function(t,n){e.set(t,n)});else if(Array.isArray(t)){var r,i=-1,o=t.length;if(1===arguments.length)for(;++i<o;)e.set(i,t[i]);else for(;++i<o;)e.set(n.call(t,r=t[i],i),r)}else for(var a in t)e.set(a,t[a]);return e};var ba="__proto__",wa="\x00";s(l,{has:h,get:function(t){return this._[c(t)]},set:function(t,n){return this._[c(t)]=n},remove:p,keys:d,values:function(){var t=[];for(var n in this._)t.push(this._[n]);return t},entries:function(){var t=[];for(var n in this._)t.push({key:f(n),value:this._[n]});return t},size:v,empty:g,forEach:function(t){for(var n in this._)t.call(this,f(n),this._[n])}}),sa.nest=function(){function t(n,a,u){if(u>=o.length)return r?r.call(i,a):e?a.sort(e):a;for(var s,c,f,h,p=-1,d=a.length,v=o[u++],g=new l;++p<d;)(h=g.get(s=v(c=a[p])))?h.push(c):g.set(s,[c]);return n?(c=n(),f=function(e,r){c.set(e,t(n,r,u))}):(c={},f=function(e,r){c[e]=t(n,r,u)}),g.forEach(f),c}function n(t,e){if(e>=o.length)return t;var r=[],i=a[e++];return t.forEach(function(t,i){r.push({key:t,values:n(i,e)})}),i?r.sort(function(t,n){return i(t.key,n.key)}):r}var e,r,i={},o=[],a=[];return i.map=function(n,e){return t(e,n,0)},i.entries=function(e){return n(t(sa.map,e,0),0)},i.key=function(t){return o.push(t),i},i.sortKeys=function(t){return a[o.length-1]=t,i},i.sortValues=function(t){return e=t,i},i.rollup=function(t){return r=t,i},i},sa.set=function(t){var n=new m;if(t)for(var e=0,r=t.length;r>e;++e)n.add(t[e]);return n},s(m,{has:h,add:function(t){return this._[c(t+="")]=!0,t},remove:p,values:d,size:v,empty:g,forEach:function(t){for(var n in this._)t.call(this,f(n))}}),sa.behavior={},sa.rebind=function(t,n){for(var e,r=1,i=arguments.length;++r<i;)t[e=arguments[r]]=$(t,n,n[e]);return t};var Ca=["webkit","ms","moz","Moz","o","O"];sa.dispatch=function(){for(var t=new w,n=-1,e=arguments.length;++n<e;)t[arguments[n]]=C(t);return t},w.prototype.on=function(t,n){var e=t.indexOf("."),r="";if(e>=0&&(r=t.slice(e+1),t=t.slice(0,e)),t)return arguments.length<2?this[t].on(r):this[t].on(r,n);if(2===arguments.length){if(null==n)for(t in this)this.hasOwnProperty(t)&&this[t].on(r,null);return this}},sa.event=null,sa.requote=function(t){return t.replace(Sa,"\\$&")};var Sa=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,_a={}.__proto__?function(t,n){t.__proto__=n}:function(t,n){for(var e in n)t[e]=n[e]},Ma=function(t,n){return n.querySelector(t)},ka=function(t,n){return n.querySelectorAll(t)},Aa=function(t,n){var e=t.matches||t[x(t,"matchesSelector")];return(Aa=function(t,n){return e.call(t,n)})(t,n)};"function"==typeof Sizzle&&(Ma=function(t,n){return Sizzle(t,n)[0]||null},ka=Sizzle,Aa=Sizzle.matchesSelector),sa.selection=function(){return sa.select(fa.documentElement)};var Ea=sa.selection.prototype=[];Ea.select=function(t){var n,e,r,i,o=[];t=A(t);for(var a=-1,u=this.length;++a<u;){o.push(n=[]),n.parentNode=(r=this[a]).parentNode;for(var s=-1,l=r.length;++s<l;)(i=r[s])?(n.push(e=t.call(i,i.__data__,s,a)),e&&"__data__"in i&&(e.__data__=i.__data__)):n.push(null)}return k(o)},Ea.selectAll=function(t){var n,e,r=[];t=E(t);for(var i=-1,o=this.length;++i<o;)for(var a=this[i],u=-1,s=a.length;++u<s;)(e=a[u])&&(r.push(n=ca(t.call(e,e.__data__,u,i))),n.parentNode=e);return k(r)};var Pa="http://www.w3.org/1999/xhtml",Oa={svg:"http://www.w3.org/2000/svg",xhtml:Pa,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};sa.ns={prefix:Oa,qualify:function(t){var n=t.indexOf(":"),e=t;return n>=0&&"xmlns"!==(e=t.slice(0,n))&&(t=t.slice(n+1)),Oa.hasOwnProperty(e)?{space:Oa[e],local:t}:t}},Ea.attr=function(t,n){if(arguments.length<2){if("string"==typeof t){var e=this.node();return t=sa.ns.qualify(t),t.local?e.getAttributeNS(t.space,t.local):e.getAttribute(t)}for(n in t)this.each(P(n,t[n]));return this}return this.each(P(t,n))},Ea.classed=function(t,n){if(arguments.length<2){if("string"==typeof t){var e=this.node(),r=(t=L(t)).length,i=-1;if(n=e.classList){for(;++i<r;)if(!n.contains(t[i]))return!1}else for(n=e.getAttribute("class");++i<r;)if(!T(t[i]).test(n))return!1;return!0}for(n in t)this.each(j(n,t[n]));return this}return this.each(j(t,n))},Ea.style=function(t,e,r){var i=arguments.length;if(3>i){if("string"!=typeof t){2>i&&(e="");for(r in t)this.each(R(r,t[r],e));return this}if(2>i){var o=this.node();return n(o).getComputedStyle(o,null).getPropertyValue(t)}r=""}return this.each(R(t,e,r))},Ea.property=function(t,n){if(arguments.length<2){if("string"==typeof t)return this.node()[t];for(n in t)this.each(D(n,t[n]));return this}return this.each(D(t,n))},Ea.text=function(t){return arguments.length?this.each("function"==typeof t?function(){var n=t.apply(this,arguments);this.textContent=null==n?"":n}:null==t?function(){this.textContent=""}:function(){this.textContent=t}):this.node().textContent},Ea.html=function(t){return arguments.length?this.each("function"==typeof t?function(){var n=t.apply(this,arguments);this.innerHTML=null==n?"":n}:null==t?function(){this.innerHTML=""}:function(){this.innerHTML=t}):this.node().innerHTML},Ea.append=function(t){return t=F(t),this.select(function(){return this.appendChild(t.apply(this,arguments))})},Ea.insert=function(t,n){return t=F(t),n=A(n),this.select(function(){return this.insertBefore(t.apply(this,arguments),n.apply(this,arguments)||null)})},Ea.remove=function(){return this.each(I)},Ea.data=function(t,n){function e(t,e){var r,i,o,a=t.length,f=e.length,h=Math.min(a,f),p=new Array(f),d=new Array(f),v=new Array(a);if(n){var g,m=new l,y=new Array(a);for(r=-1;++r<a;)(i=t[r])&&(m.has(g=n.call(i,i.__data__,r))?v[r]=i:m.set(g,i),y[r]=g);for(r=-1;++r<f;)(i=m.get(g=n.call(e,o=e[r],r)))?i!==!0&&(p[r]=i,i.__data__=o):d[r]=z(o),m.set(g,!0);for(r=-1;++r<a;)r in y&&m.get(y[r])!==!0&&(v[r]=t[r])}else{for(r=-1;++r<h;)i=t[r],o=e[r],i?(i.__data__=o,p[r]=i):d[r]=z(o);for(;f>r;++r)d[r]=z(e[r]);for(;a>r;++r)v[r]=t[r]}d.update=p,d.parentNode=p.parentNode=v.parentNode=t.parentNode,u.push(d),s.push(p),c.push(v)}var r,i,o=-1,a=this.length;if(!arguments.length){for(t=new Array(a=(r=this[0]).length);++o<a;)(i=r[o])&&(t[o]=i.__data__);return t}var u=W([]),s=k([]),c=k([]);if("function"==typeof t)for(;++o<a;)e(r=this[o],t.call(r,r.parentNode.__data__,o));else for(;++o<a;)e(r=this[o],t);return s.enter=function(){return u},s.exit=function(){return c},s},Ea.datum=function(t){return arguments.length?this.property("__data__",t):this.property("__data__")},Ea.filter=function(t){var n,e,r,i=[];"function"!=typeof t&&(t=q(t));for(var o=0,a=this.length;a>o;o++){i.push(n=[]),n.parentNode=(e=this[o]).parentNode;for(var u=0,s=e.length;s>u;u++)(r=e[u])&&t.call(r,r.__data__,u,o)&&n.push(r)}return k(i)},Ea.order=function(){for(var t=-1,n=this.length;++t<n;)for(var e,r=this[t],i=r.length-1,o=r[i];--i>=0;)(e=r[i])&&(o&&o!==e.nextSibling&&o.parentNode.insertBefore(e,o),o=e);return this},Ea.sort=function(t){t=V.apply(this,arguments);for(var n=-1,e=this.length;++n<e;)this[n].sort(t);return this.order()},Ea.each=function(t){return B(this,function(n,e,r){t.call(n,n.__data__,e,r)})},Ea.call=function(t){var n=ca(arguments);return t.apply(n[0]=this,n),this},Ea.empty=function(){return!this.node()},Ea.node=function(){for(var t=0,n=this.length;n>t;t++)for(var e=this[t],r=0,i=e.length;i>r;r++){var o=e[r];if(o)return o}return null},Ea.size=function(){var t=0;return B(this,function(){++t}),t};var Ta=[];sa.selection.enter=W,sa.selection.enter.prototype=Ta,Ta.append=Ea.append,Ta.empty=Ea.empty,Ta.node=Ea.node,Ta.call=Ea.call,Ta.size=Ea.size,Ta.select=function(t){for(var n,e,r,i,o,a=[],u=-1,s=this.length;++u<s;){r=(i=this[u]).update,a.push(n=[]),n.parentNode=i.parentNode;for(var l=-1,c=i.length;++l<c;)(o=i[l])?(n.push(r[l]=e=t.call(i.parentNode,o.__data__,l,u)),e.__data__=o.__data__):n.push(null)}return k(a)},Ta.insert=function(t,n){return arguments.length<2&&(n=U(this)),Ea.insert.call(this,t,n)},sa.select=function(n){var e;return"string"==typeof n?(e=[Ma(n,fa)],e.parentNode=fa.documentElement):(e=[n],e.parentNode=t(n)),k([e])},sa.selectAll=function(t){var n;return"string"==typeof t?(n=ca(ka(t,fa)),n.parentNode=fa.documentElement):(n=ca(t),n.parentNode=null),k([n])},Ea.on=function(t,n,e){var r=arguments.length;if(3>r){if("string"!=typeof t){2>r&&(n=!1);for(e in t)this.each(H(e,t[e],n));return this}if(2>r)return(r=this.node()["__on"+t])&&r._;e=!1}return this.each(H(t,n,e))};var La=sa.map({mouseenter:"mouseover",mouseleave:"mouseout"});fa&&La.forEach(function(t){"on"+t in fa&&La.remove(t)});var ja,Na=0;sa.mouse=function(t){return Z(t,_())};var Ra=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;sa.touch=function(t,n,e){if(arguments.length<3&&(e=n,n=_().changedTouches),n)for(var r,i=0,o=n.length;o>i;++i)if((r=n[i]).identifier===e)return Z(t,r)},sa.behavior.drag=function(){function t(){this.on("mousedown.drag",o).on("touchstart.drag",a)}function e(t,n,e,o,a){return function(){function u(){var t,e,r=n(h,v);r&&(t=r[0]-$[0],e=r[1]-$[1],d|=t|e,$=r,p({type:"drag",x:r[0]+l[0],y:r[1]+l[1],dx:t,dy:e}))}function s(){n(h,v)&&(m.on(o+g,null).on(a+g,null),y(d),p({type:"dragend"}))}var l,c=this,f=sa.event.target.correspondingElement||sa.event.target,h=c.parentNode,p=r.of(c,arguments),d=0,v=t(),g=".drag"+(null==v?"":"-"+v),m=sa.select(e(f)).on(o+g,u).on(a+g,s),y=X(f),$=n(h,v);i?(l=i.apply(c,arguments),l=[l.x-$[0],l.y-$[1]]):l=[0,0],p({type:"dragstart"})}}var r=M(t,"drag","dragstart","dragend"),i=null,o=e(b,sa.mouse,n,"mousemove","mouseup"),a=e(J,sa.touch,y,"touchmove","touchend");return t.origin=function(n){return arguments.length?(i=n,t):i},sa.rebind(t,r,"on")},sa.touches=function(t,n){return arguments.length<2&&(n=_().touches),n?ca(n).map(function(n){var e=Z(t,n);return e.identifier=n.identifier,e}):[]};var Da=1e-6,Fa=Da*Da,Ia=Math.PI,za=2*Ia,qa=za-Da,Va=Ia/2,Ba=Ia/180,Wa=180/Ia,Ua=Math.SQRT2,Ha=2,Ya=4;sa.interpolateZoom=function(t,n){var e,r,i=t[0],o=t[1],a=t[2],u=n[0],s=n[1],l=n[2],c=u-i,f=s-o,h=c*c+f*f;if(Fa>h)r=Math.log(l/a)/Ua,e=function(t){return[i+t*c,o+t*f,a*Math.exp(Ua*t*r)]};else{var p=Math.sqrt(h),d=(l*l-a*a+Ya*h)/(2*a*Ha*p),v=(l*l-a*a-Ya*h)/(2*l*Ha*p),g=Math.log(Math.sqrt(d*d+1)-d),m=Math.log(Math.sqrt(v*v+1)-v);r=(m-g)/Ua,e=function(t){var n=t*r,e=rt(g),u=a/(Ha*p)*(e*it(Ua*n+g)-et(g));return[i+u*c,o+u*f,a*e/rt(Ua*n+g)]}}return e.duration=1e3*r,e},sa.behavior.zoom=function(){function t(t){t.on(O,f).on(Xa+".zoom",p).on("dblclick.zoom",d).on(j,h)}function e(t){return[(t[0]-_.x)/_.k,(t[1]-_.y)/_.k]}function r(t){return[t[0]*_.k+_.x,t[1]*_.k+_.y]}function i(t){_.k=Math.max(A[0],Math.min(A[1],t))}function o(t,n){n=r(n),_.x+=t[0]-n[0],_.y+=t[1]-n[1]}function a(n,e,r,a){n.__chart__={x:_.x,y:_.y,k:_.k},i(Math.pow(2,a)),o(g=e,r),n=sa.select(n),E>0&&(n=n.transition().duration(E)),n.call(t.event)}function u(){b&&b.domain(x.range().map(function(t){return(t-_.x)/_.k}).map(x.invert)),C&&C.domain(w.range().map(function(t){return(t-_.y)/_.k}).map(w.invert))}function s(t){P++||t({type:"zoomstart"})}function l(t){u(),t({type:"zoom",scale:_.k,translate:[_.x,_.y]})}function c(t){--P||(t({type:"zoomend"}),g=null)}function f(){function t(){u=1,o(sa.mouse(i),h),l(a)}function r(){f.on(T,null).on(L,null),p(u),c(a)}var i=this,a=N.of(i,arguments),u=0,f=sa.select(n(i)).on(T,t).on(L,r),h=e(sa.mouse(i)),p=X(i);Vs.call(i),s(a)}function h(){function t(){var t=sa.touches(d);return p=_.k,t.forEach(function(t){t.identifier in g&&(g[t.identifier]=e(t))}),t}function n(){var n=sa.event.target;sa.select(n).on(x,r).on(b,u),w.push(n);for(var e=sa.event.changedTouches,i=0,o=e.length;o>i;++i)g[e[i].identifier]=null;var s=t(),l=Date.now();if(1===s.length){if(500>l-$){var c=s[0];a(d,c,g[c.identifier],Math.floor(Math.log(_.k)/Math.LN2)+1),S()}$=l}else if(s.length>1){var c=s[0],f=s[1],h=c[0]-f[0],p=c[1]-f[1];m=h*h+p*p}}function r(){var t,n,e,r,a=sa.touches(d);Vs.call(d);for(var u=0,s=a.length;s>u;++u,r=null)if(e=a[u],r=g[e.identifier]){if(n)break;t=e,n=r}if(r){var c=(c=e[0]-t[0])*c+(c=e[1]-t[1])*c,f=m&&Math.sqrt(c/m);t=[(t[0]+e[0])/2,(t[1]+e[1])/2],n=[(n[0]+r[0])/2,(n[1]+r[1])/2],i(f*p)}$=null,o(t,n),l(v)}function u(){if(sa.event.touches.length){for(var n=sa.event.changedTouches,e=0,r=n.length;r>e;++e)delete g[n[e].identifier];for(var i in g)return void t()}sa.selectAll(w).on(y,null),C.on(O,f).on(j,h),M(),c(v)}var p,d=this,v=N.of(d,arguments),g={},m=0,y=".zoom-"+sa.event.changedTouches[0].identifier,x="touchmove"+y,b="touchend"+y,w=[],C=sa.select(d),M=X(d);n(),s(v),C.on(O,null).on(j,n)}function p(){var t=N.of(this,arguments);y?clearTimeout(y):(Vs.call(this),v=e(g=m||sa.mouse(this)),s(t)),y=setTimeout(function(){y=null,c(t)},50),S(),i(Math.pow(2,.002*Ga())*_.k),o(g,v),l(t)}function d(){var t=sa.mouse(this),n=Math.log(_.k)/Math.LN2;a(this,t,e(t),sa.event.shiftKey?Math.ceil(n)-1:Math.floor(n)+1)}var v,g,m,y,$,x,b,w,C,_={x:0,y:0,k:1},k=[960,500],A=Za,E=250,P=0,O="mousedown.zoom",T="mousemove.zoom",L="mouseup.zoom",j="touchstart.zoom",N=M(t,"zoomstart","zoom","zoomend");return Xa||(Xa="onwheel"in fa?(Ga=function(){return-sa.event.deltaY*(sa.event.deltaMode?120:1)},"wheel"):"onmousewheel"in fa?(Ga=function(){return sa.event.wheelDelta},"mousewheel"):(Ga=function(){return-sa.event.detail},"MozMousePixelScroll")),t.event=function(t){t.each(function(){var t=N.of(this,arguments),n=_;zs?sa.select(this).transition().each("start.zoom",function(){_=this.__chart__||{x:0,y:0,k:1},s(t)}).tween("zoom:zoom",function(){var e=k[0],r=k[1],i=g?g[0]:e/2,o=g?g[1]:r/2,a=sa.interpolateZoom([(i-_.x)/_.k,(o-_.y)/_.k,e/_.k],[(i-n.x)/n.k,(o-n.y)/n.k,e/n.k]);return function(n){var r=a(n),u=e/r[2];this.__chart__=_={x:i-r[0]*u,y:o-r[1]*u,k:u},l(t)}}).each("interrupt.zoom",function(){c(t)}).each("end.zoom",function(){c(t)}):(this.__chart__=_,s(t),l(t),c(t))})},t.translate=function(n){return arguments.length?(_={x:+n[0],y:+n[1],k:_.k},u(),t):[_.x,_.y]},t.scale=function(n){return arguments.length?(_={x:_.x,y:_.y,k:null},i(+n),u(),t):_.k},t.scaleExtent=function(n){return arguments.length?(A=null==n?Za:[+n[0],+n[1]],t):A},t.center=function(n){return arguments.length?(m=n&&[+n[0],+n[1]],t):m},t.size=function(n){return arguments.length?(k=n&&[+n[0],+n[1]],t):k},t.duration=function(n){return arguments.length?(E=+n,t):E},t.x=function(n){return arguments.length?(b=n,x=n.copy(),_={x:0,y:0,k:1},t):b},t.y=function(n){return arguments.length?(C=n,w=n.copy(),_={x:0,y:0,k:1},t):C},sa.rebind(t,N,"on")};var Ga,Xa,Za=[0,1/0];sa.color=at,at.prototype.toString=function(){return this.rgb()+""},sa.hsl=ut;var Ja=ut.prototype=new at;Ja.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new ut(this.h,this.s,this.l/t)},Ja.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new ut(this.h,this.s,t*this.l)},Ja.rgb=function(){return st(this.h,this.s,this.l)},sa.hcl=lt;var Ka=lt.prototype=new at;Ka.brighter=function(t){return new lt(this.h,this.c,Math.min(100,this.l+Qa*(arguments.length?t:1)))},Ka.darker=function(t){return new lt(this.h,this.c,Math.max(0,this.l-Qa*(arguments.length?t:1)))},Ka.rgb=function(){return ct(this.h,this.c,this.l).rgb()},sa.lab=ft;var Qa=18,tu=.95047,nu=1,eu=1.08883,ru=ft.prototype=new at;ru.brighter=function(t){return new ft(Math.min(100,this.l+Qa*(arguments.length?t:1)),this.a,this.b)},ru.darker=function(t){return new ft(Math.max(0,this.l-Qa*(arguments.length?t:1)),this.a,this.b)},ru.rgb=function(){return ht(this.l,this.a,this.b)},sa.rgb=mt;var iu=mt.prototype=new at;iu.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var n=this.r,e=this.g,r=this.b,i=30;return n||e||r?(n&&i>n&&(n=i),e&&i>e&&(e=i),r&&i>r&&(r=i),new mt(Math.min(255,n/t),Math.min(255,e/t),Math.min(255,r/t))):new mt(i,i,i)},iu.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new mt(t*this.r,t*this.g,t*this.b)},iu.hsl=function(){return wt(this.r,this.g,this.b)},iu.toString=function(){return"#"+xt(this.r)+xt(this.g)+xt(this.b)};var ou=sa.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});ou.forEach(function(t,n){ou.set(t,yt(n))}),sa.functor=Mt,sa.xhr=kt(y),sa.dsv=function(t,n){function e(t,e,o){arguments.length<3&&(o=e,e=null);var a=At(t,n,null==e?r:i(e),o);return a.row=function(t){return arguments.length?a.response(null==(e=t)?r:i(t)):e},a}function r(t){return e.parse(t.responseText)}function i(t){return function(n){return e.parse(n.responseText,t)}}function o(n){return n.map(a).join(t)}function a(t){return u.test(t)?'"'+t.replace(/\"/g,'""')+'"':t}var u=new RegExp('["'+t+"\n]"),s=t.charCodeAt(0);return e.parse=function(t,n){var r;return e.parseRows(t,function(t,e){if(r)return r(t,e-1);var i=new Function("d","return {"+t.map(function(t,n){return JSON.stringify(t)+": d["+n+"]"}).join(",")+"}");r=n?function(t,e){return n(i(t),e)}:i})},e.parseRows=function(t,n){function e(){if(c>=l)return a;if(i)return i=!1,o;var n=c;if(34===t.charCodeAt(n)){for(var e=n;e++<l;)if(34===t.charCodeAt(e)){if(34!==t.charCodeAt(e+1))break;++e}c=e+2;var r=t.charCodeAt(e+1);return 13===r?(i=!0,10===t.charCodeAt(e+2)&&++c):10===r&&(i=!0),t.slice(n+1,e).replace(/""/g,'"')}for(;l>c;){var r=t.charCodeAt(c++),u=1;if(10===r)i=!0;else if(13===r)i=!0,10===t.charCodeAt(c)&&(++c,++u);else if(r!==s)continue;return t.slice(n,c-u)}return t.slice(n)}for(var r,i,o={},a={},u=[],l=t.length,c=0,f=0;(r=e())!==a;){for(var h=[];r!==o&&r!==a;)h.push(r),r=e();n&&null==(h=n(h,f++))||u.push(h)}return u},e.format=function(n){if(Array.isArray(n[0]))return e.formatRows(n);var r=new m,i=[];return n.forEach(function(t){for(var n in t)r.has(n)||i.push(r.add(n))}),[i.map(a).join(t)].concat(n.map(function(n){return i.map(function(t){return a(n[t])}).join(t)})).join("\n")},e.formatRows=function(t){return t.map(o).join("\n")},e},sa.csv=sa.dsv(",","text/csv"),sa.tsv=sa.dsv("	","text/tab-separated-values");var au,uu,su,lu,cu=this[x(this,"requestAnimationFrame")]||function(t){setTimeout(t,17)};sa.timer=function(){Ot.apply(this,arguments)},sa.timer.flush=function(){Lt(),jt()},sa.round=function(t,n){return n?Math.round(t*(n=Math.pow(10,n)))/n:Math.round(t)};var fu=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"].map(Rt);sa.formatPrefix=function(t,n){var e=0;return(t=+t)&&(0>t&&(t*=-1),n&&(t=sa.round(t,Nt(t,n))),e=1+Math.floor(1e-12+Math.log(t)/Math.LN10),e=Math.max(-24,Math.min(24,3*Math.floor((e-1)/3)))),fu[8+e/3]};var hu=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,pu=sa.map({b:function(t){return t.toString(2)},c:function(t){return String.fromCharCode(t)},o:function(t){return t.toString(8)},x:function(t){return t.toString(16)},X:function(t){return t.toString(16).toUpperCase()},g:function(t,n){return t.toPrecision(n)},e:function(t,n){return t.toExponential(n)},f:function(t,n){return t.toFixed(n)},r:function(t,n){return(t=sa.round(t,Nt(t,n))).toFixed(Math.max(0,Math.min(20,Nt(t*(1+1e-15),n))))}}),du=sa.time={},vu=Date;It.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){gu.setUTCDate.apply(this._,arguments)},setDay:function(){gu.setUTCDay.apply(this._,arguments)},setFullYear:function(){gu.setUTCFullYear.apply(this._,arguments)},setHours:function(){gu.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){gu.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){gu.setUTCMinutes.apply(this._,arguments)},setMonth:function(){gu.setUTCMonth.apply(this._,arguments)},setSeconds:function(){gu.setUTCSeconds.apply(this._,arguments)},setTime:function(){gu.setTime.apply(this._,arguments)}};var gu=Date.prototype;du.year=zt(function(t){return t=du.day(t),t.setMonth(0,1),t},function(t,n){t.setFullYear(t.getFullYear()+n)},function(t){return t.getFullYear()}),du.years=du.year.range,du.years.utc=du.year.utc.range,du.day=zt(function(t){var n=new vu(2e3,0);return n.setFullYear(t.getFullYear(),t.getMonth(),t.getDate()),n},function(t,n){t.setDate(t.getDate()+n)},function(t){return t.getDate()-1}),du.days=du.day.range,du.days.utc=du.day.utc.range,du.dayOfYear=function(t){var n=du.year(t);return Math.floor((t-n-6e4*(t.getTimezoneOffset()-n.getTimezoneOffset()))/864e5)},["sunday","monday","tuesday","wednesday","thursday","friday","saturday"].forEach(function(t,n){n=7-n;var e=du[t]=zt(function(t){return(t=du.day(t)).setDate(t.getDate()-(t.getDay()+n)%7),t},function(t,n){t.setDate(t.getDate()+7*Math.floor(n))},function(t){var e=du.year(t).getDay();return Math.floor((du.dayOfYear(t)+(e+n)%7)/7)-(e!==n)});du[t+"s"]=e.range,du[t+"s"].utc=e.utc.range,du[t+"OfYear"]=function(t){var e=du.year(t).getDay();return Math.floor((du.dayOfYear(t)+(e+n)%7)/7)}}),du.week=du.sunday,du.weeks=du.sunday.range,du.weeks.utc=du.sunday.utc.range,du.weekOfYear=du.sundayOfYear;var mu={"-":"",_:" ",0:"0"},yu=/^\s*\d+/,$u=/^%/;sa.locale=function(t){return{numberFormat:Dt(t),timeFormat:Vt(t)}};var xu=sa.locale({decimal:".",thousands:",",grouping:[3],currency:["$",""],dateTime:"%a %b %e %X %Y",date:"%m/%d/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});sa.format=xu.numberFormat,sa.geo={},cn.prototype={s:0,t:0,add:function(t){fn(t,this.t,bu),fn(bu.s,this.s,this),this.s?this.t+=bu.t:this.s=bu.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var bu=new cn;sa.geo.stream=function(t,n){t&&wu.hasOwnProperty(t.type)?wu[t.type](t,n):hn(t,n)};var wu={Feature:function(t,n){hn(t.geometry,n)},FeatureCollection:function(t,n){for(var e=t.features,r=-1,i=e.length;++r<i;)hn(e[r].geometry,n)}},Cu={Sphere:function(t,n){n.sphere()},Point:function(t,n){t=t.coordinates,n.point(t[0],t[1],t[2])},MultiPoint:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)t=e[r],n.point(t[0],t[1],t[2])},LineString:function(t,n){pn(t.coordinates,n,0)},MultiLineString:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)pn(e[r],n,0)},Polygon:function(t,n){dn(t.coordinates,n)},MultiPolygon:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)dn(e[r],n)},GeometryCollection:function(t,n){for(var e=t.geometries,r=-1,i=e.length;++r<i;)hn(e[r],n)}};sa.geo.area=function(t){return Su=0,sa.geo.stream(t,Mu),Su};var Su,_u=new cn,Mu={sphere:function(){Su+=4*Ia},point:b,lineStart:b,lineEnd:b,polygonStart:function(){_u.reset(),Mu.lineStart=vn},polygonEnd:function(){var t=2*_u;Su+=0>t?4*Ia+t:t,Mu.lineStart=Mu.lineEnd=Mu.point=b}};sa.geo.bounds=function(){function t(t,n){$.push(x=[c=t,h=t]),f>n&&(f=n),n>p&&(p=n)}function n(n,e){var r=gn([n*Ba,e*Ba]);if(m){var i=yn(m,r),o=[i[1],-i[0],0],a=yn(o,i);bn(a),a=wn(a);var s=n-d,l=s>0?1:-1,v=a[0]*Wa*l,g=xa(s)>180;if(g^(v>l*d&&l*n>v)){var y=a[1]*Wa;y>p&&(p=y)}else if(v=(v+360)%360-180,g^(v>l*d&&l*n>v)){var y=-a[1]*Wa;f>y&&(f=y)}else f>e&&(f=e),e>p&&(p=e);g?d>n?u(c,n)>u(c,h)&&(h=n):u(n,h)>u(c,h)&&(c=n):h>=c?(c>n&&(c=n),n>h&&(h=n)):n>d?u(c,n)>u(c,h)&&(h=n):u(n,h)>u(c,h)&&(c=n)}else t(n,e);m=r,d=n}function e(){b.point=n}function r(){x[0]=c,x[1]=h,b.point=t,m=null}function i(t,e){if(m){var r=t-d;y+=xa(r)>180?r+(r>0?360:-360):r}else v=t,g=e;Mu.point(t,e),n(t,e)}function o(){Mu.lineStart()}function a(){i(v,g),Mu.lineEnd(),xa(y)>Da&&(c=-(h=180)),x[0]=c,x[1]=h,m=null}function u(t,n){return(n-=t)<0?n+360:n}function s(t,n){return t[0]-n[0]}function l(t,n){return n[0]<=n[1]?n[0]<=t&&t<=n[1]:t<n[0]||n[1]<t}var c,f,h,p,d,v,g,m,y,$,x,b={point:t,lineStart:e,lineEnd:r,polygonStart:function(){b.point=i,b.lineStart=o,b.lineEnd=a,y=0,Mu.polygonStart()},polygonEnd:function(){Mu.polygonEnd(),b.point=t,b.lineStart=e,b.lineEnd=r,0>_u?(c=-(h=180),f=-(p=90)):y>Da?p=90:-Da>y&&(f=-90),x[0]=c,x[1]=h}};return function(t){p=h=-(c=f=1/0),$=[],sa.geo.stream(t,b);var n=$.length;if(n){$.sort(s);for(var e,r=1,i=$[0],o=[i];n>r;++r)e=$[r],l(e[0],i)||l(e[1],i)?(u(i[0],e[1])>u(i[0],i[1])&&(i[1]=e[1]),u(e[0],i[1])>u(i[0],i[1])&&(i[0]=e[0])):o.push(i=e);for(var a,e,d=-(1/0),n=o.length-1,r=0,i=o[n];n>=r;i=e,++r)e=o[r],(a=u(i[1],e[0]))>d&&(d=a,c=e[0],h=i[1])}return $=x=null,c===1/0||f===1/0?[[NaN,NaN],[NaN,NaN]]:[[c,f],[h,p]]}}(),sa.geo.centroid=function(t){ku=Au=Eu=Pu=Ou=Tu=Lu=ju=Nu=Ru=Du=0,sa.geo.stream(t,Fu);var n=Nu,e=Ru,r=Du,i=n*n+e*e+r*r;return Fa>i&&(n=Tu,e=Lu,r=ju,Da>Au&&(n=Eu,e=Pu,r=Ou),i=n*n+e*e+r*r,Fa>i)?[NaN,NaN]:[Math.atan2(e,n)*Wa,nt(r/Math.sqrt(i))*Wa]};var ku,Au,Eu,Pu,Ou,Tu,Lu,ju,Nu,Ru,Du,Fu={sphere:b,point:Sn,lineStart:Mn,lineEnd:kn,polygonStart:function(){Fu.lineStart=An},polygonEnd:function(){Fu.lineStart=Mn}},Iu=jn(Pn,Fn,zn,[-Ia,-Ia/2]),zu=1e9;sa.geo.clipExtent=function(){var t,n,e,r,i,o,a={stream:function(t){return i&&(i.valid=!1),i=o(t),i.valid=!0,i},extent:function(u){return arguments.length?(o=Wn(t=+u[0][0],n=+u[0][1],e=+u[1][0],r=+u[1][1]),i&&(i.valid=!1,i=null),a):[[t,n],[e,r]]}};return a.extent([[0,0],[960,500]])},(sa.geo.conicEqualArea=function(){return Un(Hn)}).raw=Hn,sa.geo.albers=function(){return sa.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},sa.geo.albersUsa=function(){function t(t){var o=t[0],a=t[1];return n=null,e(o,a),n||(r(o,a),n)||i(o,a),n}var n,e,r,i,o=sa.geo.albers(),a=sa.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),u=sa.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),s={point:function(t,e){n=[t,e]}};return t.invert=function(t){var n=o.scale(),e=o.translate(),r=(t[0]-e[0])/n,i=(t[1]-e[1])/n;return(i>=.12&&.234>i&&r>=-.425&&-.214>r?a:i>=.166&&.234>i&&r>=-.214&&-.115>r?u:o).invert(t)},t.stream=function(t){var n=o.stream(t),e=a.stream(t),r=u.stream(t);return{point:function(t,i){n.point(t,i),e.point(t,i),r.point(t,i)},sphere:function(){n.sphere(),e.sphere(),r.sphere()},lineStart:function(){n.lineStart(),e.lineStart(),r.lineStart()},lineEnd:function(){n.lineEnd(),e.lineEnd(),r.lineEnd()},polygonStart:function(){n.polygonStart(),e.polygonStart(),r.polygonStart()},polygonEnd:function(){n.polygonEnd(),e.polygonEnd(),r.polygonEnd()}}},t.precision=function(n){return arguments.length?(o.precision(n),a.precision(n),u.precision(n),t):o.precision()},t.scale=function(n){return arguments.length?(o.scale(n),a.scale(.35*n),u.scale(n),t.translate(o.translate())):o.scale()},t.translate=function(n){if(!arguments.length)return o.translate();var l=o.scale(),c=+n[0],f=+n[1];return e=o.translate(n).clipExtent([[c-.455*l,f-.238*l],[c+.455*l,f+.238*l]]).stream(s).point,r=a.translate([c-.307*l,f+.201*l]).clipExtent([[c-.425*l+Da,f+.12*l+Da],[c-.214*l-Da,f+.234*l-Da]]).stream(s).point,i=u.translate([c-.205*l,f+.212*l]).clipExtent([[c-.214*l+Da,f+.166*l+Da],[c-.115*l-Da,f+.234*l-Da]]).stream(s).point,t},t.scale(1070)};var qu,Vu,Bu,Wu,Uu,Hu,Yu={point:b,lineStart:b,lineEnd:b,polygonStart:function(){Vu=0,Yu.lineStart=Yn;
+},polygonEnd:function(){Yu.lineStart=Yu.lineEnd=Yu.point=b,qu+=xa(Vu/2)}},Gu={point:Gn,lineStart:b,lineEnd:b,polygonStart:b,polygonEnd:b},Xu={point:Jn,lineStart:Kn,lineEnd:Qn,polygonStart:function(){Xu.lineStart=te},polygonEnd:function(){Xu.point=Jn,Xu.lineStart=Kn,Xu.lineEnd=Qn}};sa.geo.path=function(){function t(t){return t&&("function"==typeof u&&o.pointRadius(+u.apply(this,arguments)),a&&a.valid||(a=i(o)),sa.geo.stream(t,a)),o.result()}function n(){return a=null,t}var e,r,i,o,a,u=4.5;return t.area=function(t){return qu=0,sa.geo.stream(t,i(Yu)),qu},t.centroid=function(t){return Eu=Pu=Ou=Tu=Lu=ju=Nu=Ru=Du=0,sa.geo.stream(t,i(Xu)),Du?[Nu/Du,Ru/Du]:ju?[Tu/ju,Lu/ju]:Ou?[Eu/Ou,Pu/Ou]:[NaN,NaN]},t.bounds=function(t){return Uu=Hu=-(Bu=Wu=1/0),sa.geo.stream(t,i(Gu)),[[Bu,Wu],[Uu,Hu]]},t.projection=function(t){return arguments.length?(i=(e=t)?t.stream||re(t):y,n()):e},t.context=function(t){return arguments.length?(o=null==(r=t)?new Xn:new ne(t),"function"!=typeof u&&o.pointRadius(u),n()):r},t.pointRadius=function(n){return arguments.length?(u="function"==typeof n?n:(o.pointRadius(+n),+n),t):u},t.projection(sa.geo.albersUsa()).context(null)},sa.geo.transform=function(t){return{stream:function(n){var e=new ie(n);for(var r in t)e[r]=t[r];return e}}},ie.prototype={point:function(t,n){this.stream.point(t,n)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}},sa.geo.projection=ae,sa.geo.projectionMutator=ue,(sa.geo.equirectangular=function(){return ae(le)}).raw=le.invert=le,sa.geo.rotation=function(t){function n(n){return n=t(n[0]*Ba,n[1]*Ba),n[0]*=Wa,n[1]*=Wa,n}return t=fe(t[0]%360*Ba,t[1]*Ba,t.length>2?t[2]*Ba:0),n.invert=function(n){return n=t.invert(n[0]*Ba,n[1]*Ba),n[0]*=Wa,n[1]*=Wa,n},n},ce.invert=le,sa.geo.circle=function(){function t(){var t="function"==typeof r?r.apply(this,arguments):r,n=fe(-t[0]*Ba,-t[1]*Ba,0).invert,i=[];return e(null,null,1,{point:function(t,e){i.push(t=n(t,e)),t[0]*=Wa,t[1]*=Wa}}),{type:"Polygon",coordinates:[i]}}var n,e,r=[0,0],i=6;return t.origin=function(n){return arguments.length?(r=n,t):r},t.angle=function(r){return arguments.length?(e=ve((n=+r)*Ba,i*Ba),t):n},t.precision=function(r){return arguments.length?(e=ve(n*Ba,(i=+r)*Ba),t):i},t.angle(90)},sa.geo.distance=function(t,n){var e,r=(n[0]-t[0])*Ba,i=t[1]*Ba,o=n[1]*Ba,a=Math.sin(r),u=Math.cos(r),s=Math.sin(i),l=Math.cos(i),c=Math.sin(o),f=Math.cos(o);return Math.atan2(Math.sqrt((e=f*a)*e+(e=l*c-s*f*u)*e),s*c+l*f*u)},sa.geo.graticule=function(){function t(){return{type:"MultiLineString",coordinates:n()}}function n(){return sa.range(Math.ceil(o/g)*g,i,g).map(h).concat(sa.range(Math.ceil(l/m)*m,s,m).map(p)).concat(sa.range(Math.ceil(r/d)*d,e,d).filter(function(t){return xa(t%g)>Da}).map(c)).concat(sa.range(Math.ceil(u/v)*v,a,v).filter(function(t){return xa(t%m)>Da}).map(f))}var e,r,i,o,a,u,s,l,c,f,h,p,d=10,v=d,g=90,m=360,y=2.5;return t.lines=function(){return n().map(function(t){return{type:"LineString",coordinates:t}})},t.outline=function(){return{type:"Polygon",coordinates:[h(o).concat(p(s).slice(1),h(i).reverse().slice(1),p(l).reverse().slice(1))]}},t.extent=function(n){return arguments.length?t.majorExtent(n).minorExtent(n):t.minorExtent()},t.majorExtent=function(n){return arguments.length?(o=+n[0][0],i=+n[1][0],l=+n[0][1],s=+n[1][1],o>i&&(n=o,o=i,i=n),l>s&&(n=l,l=s,s=n),t.precision(y)):[[o,l],[i,s]]},t.minorExtent=function(n){return arguments.length?(r=+n[0][0],e=+n[1][0],u=+n[0][1],a=+n[1][1],r>e&&(n=r,r=e,e=n),u>a&&(n=u,u=a,a=n),t.precision(y)):[[r,u],[e,a]]},t.step=function(n){return arguments.length?t.majorStep(n).minorStep(n):t.minorStep()},t.majorStep=function(n){return arguments.length?(g=+n[0],m=+n[1],t):[g,m]},t.minorStep=function(n){return arguments.length?(d=+n[0],v=+n[1],t):[d,v]},t.precision=function(n){return arguments.length?(y=+n,c=me(u,a,90),f=ye(r,e,y),h=me(l,s,90),p=ye(o,i,y),t):y},t.majorExtent([[-180,-90+Da],[180,90-Da]]).minorExtent([[-180,-80-Da],[180,80+Da]])},sa.geo.greatArc=function(){function t(){return{type:"LineString",coordinates:[n||r.apply(this,arguments),e||i.apply(this,arguments)]}}var n,e,r=$e,i=xe;return t.distance=function(){return sa.geo.distance(n||r.apply(this,arguments),e||i.apply(this,arguments))},t.source=function(e){return arguments.length?(r=e,n="function"==typeof e?null:e,t):r},t.target=function(n){return arguments.length?(i=n,e="function"==typeof n?null:n,t):i},t.precision=function(){return arguments.length?t:0},t},sa.geo.interpolate=function(t,n){return be(t[0]*Ba,t[1]*Ba,n[0]*Ba,n[1]*Ba)},sa.geo.length=function(t){return Zu=0,sa.geo.stream(t,Ju),Zu};var Zu,Ju={sphere:b,point:b,lineStart:we,lineEnd:b,polygonStart:b,polygonEnd:b},Ku=Ce(function(t){return Math.sqrt(2/(1+t))},function(t){return 2*Math.asin(t/2)});(sa.geo.azimuthalEqualArea=function(){return ae(Ku)}).raw=Ku;var Qu=Ce(function(t){var n=Math.acos(t);return n&&n/Math.sin(n)},y);(sa.geo.azimuthalEquidistant=function(){return ae(Qu)}).raw=Qu,(sa.geo.conicConformal=function(){return Un(Se)}).raw=Se,(sa.geo.conicEquidistant=function(){return Un(_e)}).raw=_e;var ts=Ce(function(t){return 1/t},Math.atan);(sa.geo.gnomonic=function(){return ae(ts)}).raw=ts,Me.invert=function(t,n){return[t,2*Math.atan(Math.exp(n))-Va]},(sa.geo.mercator=function(){return ke(Me)}).raw=Me;var ns=Ce(function(){return 1},Math.asin);(sa.geo.orthographic=function(){return ae(ns)}).raw=ns;var es=Ce(function(t){return 1/(1+t)},function(t){return 2*Math.atan(t)});(sa.geo.stereographic=function(){return ae(es)}).raw=es,Ae.invert=function(t,n){return[-n,2*Math.atan(Math.exp(t))-Va]},(sa.geo.transverseMercator=function(){var t=ke(Ae),n=t.center,e=t.rotate;return t.center=function(t){return t?n([-t[1],t[0]]):(t=n(),[t[1],-t[0]])},t.rotate=function(t){return t?e([t[0],t[1],t.length>2?t[2]+90:90]):(t=e(),[t[0],t[1],t[2]-90])},e([0,0,90])}).raw=Ae,sa.geom={},sa.geom.hull=function(t){function n(t){if(t.length<3)return[];var n,i=Mt(e),o=Mt(r),a=t.length,u=[],s=[];for(n=0;a>n;n++)u.push([+i.call(this,t[n],n),+o.call(this,t[n],n),n]);for(u.sort(Te),n=0;a>n;n++)s.push([u[n][0],-u[n][1]]);var l=Oe(u),c=Oe(s),f=c[0]===l[0],h=c[c.length-1]===l[l.length-1],p=[];for(n=l.length-1;n>=0;--n)p.push(t[u[l[n]][2]]);for(n=+f;n<c.length-h;++n)p.push(t[u[c[n]][2]]);return p}var e=Ee,r=Pe;return arguments.length?n(t):(n.x=function(t){return arguments.length?(e=t,n):e},n.y=function(t){return arguments.length?(r=t,n):r},n)},sa.geom.polygon=function(t){return _a(t,rs),t};var rs=sa.geom.polygon.prototype=[];rs.area=function(){for(var t,n=-1,e=this.length,r=this[e-1],i=0;++n<e;)t=r,r=this[n],i+=t[1]*r[0]-t[0]*r[1];return.5*i},rs.centroid=function(t){var n,e,r=-1,i=this.length,o=0,a=0,u=this[i-1];for(arguments.length||(t=-1/(6*this.area()));++r<i;)n=u,u=this[r],e=n[0]*u[1]-u[0]*n[1],o+=(n[0]+u[0])*e,a+=(n[1]+u[1])*e;return[o*t,a*t]},rs.clip=function(t){for(var n,e,r,i,o,a,u=Ne(t),s=-1,l=this.length-Ne(this),c=this[l-1];++s<l;){for(n=t.slice(),t.length=0,i=this[s],o=n[(r=n.length-u)-1],e=-1;++e<r;)a=n[e],Le(a,c,i)?(Le(o,c,i)||t.push(je(o,a,c,i)),t.push(a)):Le(o,c,i)&&t.push(je(o,a,c,i)),o=a;u&&t.push(t[0]),c=i}return t};var is,os,as,us,ss,ls=[],cs=[];Be.prototype.prepare=function(){for(var t,n=this.edges,e=n.length;e--;)t=n[e].edge,t.b&&t.a||n.splice(e,1);return n.sort(Ue),n.length},nr.prototype={start:function(){return this.edge.l===this.site?this.edge.a:this.edge.b},end:function(){return this.edge.l===this.site?this.edge.b:this.edge.a}},er.prototype={insert:function(t,n){var e,r,i;if(t){if(n.P=t,n.N=t.N,t.N&&(t.N.P=n),t.N=n,t.R){for(t=t.R;t.L;)t=t.L;t.L=n}else t.R=n;e=t}else this._?(t=ar(this._),n.P=null,n.N=t,t.P=t.L=n,e=t):(n.P=n.N=null,this._=n,e=null);for(n.L=n.R=null,n.U=e,n.C=!0,t=n;e&&e.C;)r=e.U,e===r.L?(i=r.R,i&&i.C?(e.C=i.C=!1,r.C=!0,t=r):(t===e.R&&(ir(this,e),t=e,e=t.U),e.C=!1,r.C=!0,or(this,r))):(i=r.L,i&&i.C?(e.C=i.C=!1,r.C=!0,t=r):(t===e.L&&(or(this,e),t=e,e=t.U),e.C=!1,r.C=!0,ir(this,r))),e=t.U;this._.C=!1},remove:function(t){t.N&&(t.N.P=t.P),t.P&&(t.P.N=t.N),t.N=t.P=null;var n,e,r,i=t.U,o=t.L,a=t.R;if(e=o?a?ar(a):o:a,i?i.L===t?i.L=e:i.R=e:this._=e,o&&a?(r=e.C,e.C=t.C,e.L=o,o.U=e,e!==a?(i=e.U,e.U=t.U,t=e.R,i.L=t,e.R=a,a.U=e):(e.U=i,i=e,t=e.R)):(r=t.C,t=e),t&&(t.U=i),!r){if(t&&t.C)return void(t.C=!1);do{if(t===this._)break;if(t===i.L){if(n=i.R,n.C&&(n.C=!1,i.C=!0,ir(this,i),n=i.R),n.L&&n.L.C||n.R&&n.R.C){n.R&&n.R.C||(n.L.C=!1,n.C=!0,or(this,n),n=i.R),n.C=i.C,i.C=n.R.C=!1,ir(this,i),t=this._;break}}else if(n=i.L,n.C&&(n.C=!1,i.C=!0,or(this,i),n=i.L),n.L&&n.L.C||n.R&&n.R.C){n.L&&n.L.C||(n.R.C=!1,n.C=!0,ir(this,n),n=i.L),n.C=i.C,i.C=n.L.C=!1,or(this,i),t=this._;break}n.C=!0,t=i,i=i.U}while(!t.C);t&&(t.C=!1)}}},sa.geom.voronoi=function(t){function n(t){var n=new Array(t.length),r=u[0][0],i=u[0][1],o=u[1][0],a=u[1][1];return ur(e(t),u).cells.forEach(function(e,u){var s=e.edges,l=e.site,c=n[u]=s.length?s.map(function(t){var n=t.start();return[n.x,n.y]}):l.x>=r&&l.x<=o&&l.y>=i&&l.y<=a?[[r,a],[o,a],[o,i],[r,i]]:[];c.point=t[u]}),n}function e(t){return t.map(function(t,n){return{x:Math.round(o(t,n)/Da)*Da,y:Math.round(a(t,n)/Da)*Da,i:n}})}var r=Ee,i=Pe,o=r,a=i,u=fs;return t?n(t):(n.links=function(t){return ur(e(t)).edges.filter(function(t){return t.l&&t.r}).map(function(n){return{source:t[n.l.i],target:t[n.r.i]}})},n.triangles=function(t){var n=[];return ur(e(t)).cells.forEach(function(e,r){for(var i,o,a=e.site,u=e.edges.sort(Ue),s=-1,l=u.length,c=u[l-1].edge,f=c.l===a?c.r:c.l;++s<l;)i=c,o=f,c=u[s].edge,f=c.l===a?c.r:c.l,r<o.i&&r<f.i&&lr(a,o,f)<0&&n.push([t[r],t[o.i],t[f.i]])}),n},n.x=function(t){return arguments.length?(o=Mt(r=t),n):r},n.y=function(t){return arguments.length?(a=Mt(i=t),n):i},n.clipExtent=function(t){return arguments.length?(u=null==t?fs:t,n):u===fs?null:u},n.size=function(t){return arguments.length?n.clipExtent(t&&[[0,0],t]):u===fs?null:u&&u[1]},n)};var fs=[[-1e6,-1e6],[1e6,1e6]];sa.geom.delaunay=function(t){return sa.geom.voronoi().triangles(t)},sa.geom.quadtree=function(t,n,e,r,i){function o(t){function o(t,n,e,r,i,o,a,u){if(!isNaN(e)&&!isNaN(r))if(t.leaf){var s=t.x,c=t.y;if(null!=s)if(xa(s-e)+xa(c-r)<.01)l(t,n,e,r,i,o,a,u);else{var f=t.point;t.x=t.y=t.point=null,l(t,f,s,c,i,o,a,u),l(t,n,e,r,i,o,a,u)}else t.x=e,t.y=r,t.point=n}else l(t,n,e,r,i,o,a,u)}function l(t,n,e,r,i,a,u,s){var l=.5*(i+u),c=.5*(a+s),f=e>=l,h=r>=c,p=h<<1|f;t.leaf=!1,t=t.nodes[p]||(t.nodes[p]=hr()),f?i=l:u=l,h?a=c:s=c,o(t,n,e,r,i,a,u,s)}var c,f,h,p,d,v,g,m,y,$=Mt(u),x=Mt(s);if(null!=n)v=n,g=e,m=r,y=i;else if(m=y=-(v=g=1/0),f=[],h=[],d=t.length,a)for(p=0;d>p;++p)c=t[p],c.x<v&&(v=c.x),c.y<g&&(g=c.y),c.x>m&&(m=c.x),c.y>y&&(y=c.y),f.push(c.x),h.push(c.y);else for(p=0;d>p;++p){var b=+$(c=t[p],p),w=+x(c,p);v>b&&(v=b),g>w&&(g=w),b>m&&(m=b),w>y&&(y=w),f.push(b),h.push(w)}var C=m-v,S=y-g;C>S?y=g+C:m=v+S;var _=hr();if(_.add=function(t){o(_,t,+$(t,++p),+x(t,p),v,g,m,y)},_.visit=function(t){pr(t,_,v,g,m,y)},_.find=function(t){return dr(_,t[0],t[1],v,g,m,y)},p=-1,null==n){for(;++p<d;)o(_,t[p],f[p],h[p],v,g,m,y);--p}else t.forEach(_.add);return f=h=t=c=null,_}var a,u=Ee,s=Pe;return(a=arguments.length)?(u=cr,s=fr,3===a&&(i=e,r=n,e=n=0),o(t)):(o.x=function(t){return arguments.length?(u=t,o):u},o.y=function(t){return arguments.length?(s=t,o):s},o.extent=function(t){return arguments.length?(null==t?n=e=r=i=null:(n=+t[0][0],e=+t[0][1],r=+t[1][0],i=+t[1][1]),o):null==n?null:[[n,e],[r,i]]},o.size=function(t){return arguments.length?(null==t?n=e=r=i=null:(n=e=0,r=+t[0],i=+t[1]),o):null==n?null:[r-n,i-e]},o)},sa.interpolateRgb=vr,sa.interpolateObject=gr,sa.interpolateNumber=mr,sa.interpolateString=yr;var hs=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,ps=new RegExp(hs.source,"g");sa.interpolate=$r,sa.interpolators=[function(t,n){var e=typeof n;return("string"===e?ou.has(n.toLowerCase())||/^(#|rgb\(|hsl\()/i.test(n)?vr:yr:n instanceof at?vr:Array.isArray(n)?xr:"object"===e&&isNaN(n)?gr:mr)(t,n)}],sa.interpolateArray=xr;var ds=function(){return y},vs=sa.map({linear:ds,poly:kr,quad:function(){return Sr},cubic:function(){return _r},sin:function(){return Ar},exp:function(){return Er},circle:function(){return Pr},elastic:Or,back:Tr,bounce:function(){return Lr}}),gs=sa.map({"in":y,out:wr,"in-out":Cr,"out-in":function(t){return Cr(wr(t))}});sa.ease=function(t){var n=t.indexOf("-"),e=n>=0?t.slice(0,n):t,r=n>=0?t.slice(n+1):"in";return e=vs.get(e)||ds,r=gs.get(r)||y,br(r(e.apply(null,la.call(arguments,1))))},sa.interpolateHcl=jr,sa.interpolateHsl=Nr,sa.interpolateLab=Rr,sa.interpolateRound=Dr,sa.transform=function(t){var n=fa.createElementNS(sa.ns.prefix.svg,"g");return(sa.transform=function(t){if(null!=t){n.setAttribute("transform",t);var e=n.transform.baseVal.consolidate()}return new Fr(e?e.matrix:ms)})(t)},Fr.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var ms={a:1,b:0,c:0,d:1,e:0,f:0};sa.interpolateTransform=Yr,sa.layout={},sa.layout.bundle=function(){return function(t){for(var n=[],e=-1,r=t.length;++e<r;)n.push(Zr(t[e]));return n}},sa.layout.chord=function(){function t(){var t,l,f,h,p,d={},v=[],g=sa.range(o),m=[];for(e=[],r=[],t=0,h=-1;++h<o;){for(l=0,p=-1;++p<o;)l+=i[h][p];v.push(l),m.push(sa.range(o)),t+=l}for(a&&g.sort(function(t,n){return a(v[t],v[n])}),u&&m.forEach(function(t,n){t.sort(function(t,e){return u(i[n][t],i[n][e])})}),t=(za-c*o)/t,l=0,h=-1;++h<o;){for(f=l,p=-1;++p<o;){var y=g[h],$=m[y][p],x=i[y][$],b=l,w=l+=x*t;d[y+"-"+$]={index:y,subindex:$,startAngle:b,endAngle:w,value:x}}r[y]={index:y,startAngle:f,endAngle:l,value:v[y]},l+=c}for(h=-1;++h<o;)for(p=h-1;++p<o;){var C=d[h+"-"+p],S=d[p+"-"+h];(C.value||S.value)&&e.push(C.value<S.value?{source:S,target:C}:{source:C,target:S})}s&&n()}function n(){e.sort(function(t,n){return s((t.source.value+t.target.value)/2,(n.source.value+n.target.value)/2)})}var e,r,i,o,a,u,s,l={},c=0;return l.matrix=function(t){return arguments.length?(o=(i=t)&&i.length,e=r=null,l):i},l.padding=function(t){return arguments.length?(c=t,e=r=null,l):c},l.sortGroups=function(t){return arguments.length?(a=t,e=r=null,l):a},l.sortSubgroups=function(t){return arguments.length?(u=t,e=null,l):u},l.sortChords=function(t){return arguments.length?(s=t,e&&n(),l):s},l.chords=function(){return e||t(),e},l.groups=function(){return r||t(),r},l},sa.layout.force=function(){function t(t){return function(n,e,r,i){if(n.point!==t){var o=n.cx-t.x,a=n.cy-t.y,u=i-e,s=o*o+a*a;if(s>u*u/m){if(v>s){var l=n.charge/s;t.px-=o*l,t.py-=a*l}return!0}if(n.point&&s&&v>s){var l=n.pointCharge/s;t.px-=o*l,t.py-=a*l}}return!n.charge}}function n(t){t.px=sa.event.x,t.py=sa.event.y,s.resume()}var e,r,i,o,a,u,s={},l=sa.dispatch("start","tick","end"),c=[1,1],f=.9,h=ys,p=$s,d=-30,v=xs,g=.1,m=.64,$=[],x=[];return s.tick=function(){if((i*=.99)<.005)return e=null,l.end({type:"end",alpha:i=0}),!0;var n,r,s,h,p,v,m,y,b,w=$.length,C=x.length;for(r=0;C>r;++r)s=x[r],h=s.source,p=s.target,y=p.x-h.x,b=p.y-h.y,(v=y*y+b*b)&&(v=i*a[r]*((v=Math.sqrt(v))-o[r])/v,y*=v,b*=v,p.x-=y*(m=h.weight+p.weight?h.weight/(h.weight+p.weight):.5),p.y-=b*m,h.x+=y*(m=1-m),h.y+=b*m);if((m=i*g)&&(y=c[0]/2,b=c[1]/2,r=-1,m))for(;++r<w;)s=$[r],s.x+=(y-s.x)*m,s.y+=(b-s.y)*m;if(d)for(ri(n=sa.geom.quadtree($),i,u),r=-1;++r<w;)(s=$[r]).fixed||n.visit(t(s));for(r=-1;++r<w;)s=$[r],s.fixed?(s.x=s.px,s.y=s.py):(s.x-=(s.px-(s.px=s.x))*f,s.y-=(s.py-(s.py=s.y))*f);l.tick({type:"tick",alpha:i})},s.nodes=function(t){return arguments.length?($=t,s):$},s.links=function(t){return arguments.length?(x=t,s):x},s.size=function(t){return arguments.length?(c=t,s):c},s.linkDistance=function(t){return arguments.length?(h="function"==typeof t?t:+t,s):h},s.distance=s.linkDistance,s.linkStrength=function(t){return arguments.length?(p="function"==typeof t?t:+t,s):p},s.friction=function(t){return arguments.length?(f=+t,s):f},s.charge=function(t){return arguments.length?(d="function"==typeof t?t:+t,s):d},s.chargeDistance=function(t){return arguments.length?(v=t*t,s):Math.sqrt(v)},s.gravity=function(t){return arguments.length?(g=+t,s):g},s.theta=function(t){return arguments.length?(m=t*t,s):Math.sqrt(m)},s.alpha=function(t){return arguments.length?(t=+t,i?t>0?i=t:(e.c=null,e.t=NaN,e=null,l.end({type:"end",alpha:i=0})):t>0&&(l.start({type:"start",alpha:i=t}),e=Ot(s.tick)),s):i},s.start=function(){function t(t,r){if(!e){for(e=new Array(i),s=0;i>s;++s)e[s]=[];for(s=0;l>s;++s){var o=x[s];e[o.source.index].push(o.target),e[o.target.index].push(o.source)}}for(var a,u=e[n],s=-1,c=u.length;++s<c;)if(!isNaN(a=u[s][t]))return a;return Math.random()*r}var n,e,r,i=$.length,l=x.length,f=c[0],v=c[1];for(n=0;i>n;++n)(r=$[n]).index=n,r.weight=0;for(n=0;l>n;++n)r=x[n],"number"==typeof r.source&&(r.source=$[r.source]),"number"==typeof r.target&&(r.target=$[r.target]),++r.source.weight,++r.target.weight;for(n=0;i>n;++n)r=$[n],isNaN(r.x)&&(r.x=t("x",f)),isNaN(r.y)&&(r.y=t("y",v)),isNaN(r.px)&&(r.px=r.x),isNaN(r.py)&&(r.py=r.y);if(o=[],"function"==typeof h)for(n=0;l>n;++n)o[n]=+h.call(this,x[n],n);else for(n=0;l>n;++n)o[n]=h;if(a=[],"function"==typeof p)for(n=0;l>n;++n)a[n]=+p.call(this,x[n],n);else for(n=0;l>n;++n)a[n]=p;if(u=[],"function"==typeof d)for(n=0;i>n;++n)u[n]=+d.call(this,$[n],n);else for(n=0;i>n;++n)u[n]=d;return s.resume()},s.resume=function(){return s.alpha(.1)},s.stop=function(){return s.alpha(0)},s.drag=function(){return r||(r=sa.behavior.drag().origin(y).on("dragstart.force",Qr).on("drag.force",n).on("dragend.force",ti)),arguments.length?void this.on("mouseover.force",ni).on("mouseout.force",ei).call(r):r},sa.rebind(s,l,"on")};var ys=20,$s=1,xs=1/0;sa.layout.hierarchy=function(){function t(i){var o,a=[i],u=[];for(i.depth=0;null!=(o=a.pop());)if(u.push(o),(l=e.call(t,o,o.depth))&&(s=l.length)){for(var s,l,c;--s>=0;)a.push(c=l[s]),c.parent=o,c.depth=o.depth+1;r&&(o.value=0),o.children=l}else r&&(o.value=+r.call(t,o,o.depth)||0),delete o.children;return ai(i,function(t){var e,i;n&&(e=t.children)&&e.sort(n),r&&(i=t.parent)&&(i.value+=t.value)}),u}var n=li,e=ui,r=si;return t.sort=function(e){return arguments.length?(n=e,t):n},t.children=function(n){return arguments.length?(e=n,t):e},t.value=function(n){return arguments.length?(r=n,t):r},t.revalue=function(n){return r&&(oi(n,function(t){t.children&&(t.value=0)}),ai(n,function(n){var e;n.children||(n.value=+r.call(t,n,n.depth)||0),(e=n.parent)&&(e.value+=n.value)})),n},t},sa.layout.partition=function(){function t(n,e,r,i){var o=n.children;if(n.x=e,n.y=n.depth*i,n.dx=r,n.dy=i,o&&(a=o.length)){var a,u,s,l=-1;for(r=n.value?r/n.value:0;++l<a;)t(u=o[l],e,s=u.value*r,i),e+=s}}function n(t){var e=t.children,r=0;if(e&&(i=e.length))for(var i,o=-1;++o<i;)r=Math.max(r,n(e[o]));return 1+r}function e(e,o){var a=r.call(this,e,o);return t(a[0],0,i[0],i[1]/n(a[0])),a}var r=sa.layout.hierarchy(),i=[1,1];return e.size=function(t){return arguments.length?(i=t,e):i},ii(e,r)},sa.layout.pie=function(){function t(a){var u,s=a.length,l=a.map(function(e,r){return+n.call(t,e,r)}),c=+("function"==typeof r?r.apply(this,arguments):r),f=("function"==typeof i?i.apply(this,arguments):i)-c,h=Math.min(Math.abs(f)/s,+("function"==typeof o?o.apply(this,arguments):o)),p=h*(0>f?-1:1),d=sa.sum(l),v=d?(f-s*p)/d:0,g=sa.range(s),m=[];return null!=e&&g.sort(e===bs?function(t,n){return l[n]-l[t]}:function(t,n){return e(a[t],a[n])}),g.forEach(function(t){m[t]={data:a[t],value:u=l[t],startAngle:c,endAngle:c+=u*v+p,padAngle:h}}),m}var n=Number,e=bs,r=0,i=za,o=0;return t.value=function(e){return arguments.length?(n=e,t):n},t.sort=function(n){return arguments.length?(e=n,t):e},t.startAngle=function(n){return arguments.length?(r=n,t):r},t.endAngle=function(n){return arguments.length?(i=n,t):i},t.padAngle=function(n){return arguments.length?(o=n,t):o},t};var bs={};sa.layout.stack=function(){function t(u,s){if(!(h=u.length))return u;var l=u.map(function(e,r){return n.call(t,e,r)}),c=l.map(function(n){return n.map(function(n,e){return[o.call(t,n,e),a.call(t,n,e)]})}),f=e.call(t,c,s);l=sa.permute(l,f),c=sa.permute(c,f);var h,p,d,v,g=r.call(t,c,s),m=l[0].length;for(d=0;m>d;++d)for(i.call(t,l[0][d],v=g[d],c[0][d][1]),p=1;h>p;++p)i.call(t,l[p][d],v+=c[p-1][d][1],c[p][d][1]);return u}var n=y,e=di,r=vi,i=pi,o=fi,a=hi;return t.values=function(e){return arguments.length?(n=e,t):n},t.order=function(n){return arguments.length?(e="function"==typeof n?n:ws.get(n)||di,t):e},t.offset=function(n){return arguments.length?(r="function"==typeof n?n:Cs.get(n)||vi,t):r},t.x=function(n){return arguments.length?(o=n,t):o},t.y=function(n){return arguments.length?(a=n,t):a},t.out=function(n){return arguments.length?(i=n,t):i},t};var ws=sa.map({"inside-out":function(t){var n,e,r=t.length,i=t.map(gi),o=t.map(mi),a=sa.range(r).sort(function(t,n){return i[t]-i[n]}),u=0,s=0,l=[],c=[];for(n=0;r>n;++n)e=a[n],s>u?(u+=o[e],l.push(e)):(s+=o[e],c.push(e));return c.reverse().concat(l)},reverse:function(t){return sa.range(t.length).reverse()},"default":di}),Cs=sa.map({silhouette:function(t){var n,e,r,i=t.length,o=t[0].length,a=[],u=0,s=[];for(e=0;o>e;++e){for(n=0,r=0;i>n;n++)r+=t[n][e][1];r>u&&(u=r),a.push(r)}for(e=0;o>e;++e)s[e]=(u-a[e])/2;return s},wiggle:function(t){var n,e,r,i,o,a,u,s,l,c=t.length,f=t[0],h=f.length,p=[];for(p[0]=s=l=0,e=1;h>e;++e){for(n=0,i=0;c>n;++n)i+=t[n][e][1];for(n=0,o=0,u=f[e][0]-f[e-1][0];c>n;++n){for(r=0,a=(t[n][e][1]-t[n][e-1][1])/(2*u);n>r;++r)a+=(t[r][e][1]-t[r][e-1][1])/u;o+=a*t[n][e][1]}p[e]=s-=i?o/i*u:0,l>s&&(l=s)}for(e=0;h>e;++e)p[e]-=l;return p},expand:function(t){var n,e,r,i=t.length,o=t[0].length,a=1/i,u=[];for(e=0;o>e;++e){for(n=0,r=0;i>n;n++)r+=t[n][e][1];if(r)for(n=0;i>n;n++)t[n][e][1]/=r;else for(n=0;i>n;n++)t[n][e][1]=a}for(e=0;o>e;++e)u[e]=0;return u},zero:vi});sa.layout.histogram=function(){function t(t,o){for(var a,u,s=[],l=t.map(e,this),c=r.call(this,l,o),f=i.call(this,c,l,o),o=-1,h=l.length,p=f.length-1,d=n?1:1/h;++o<p;)a=s[o]=[],a.dx=f[o+1]-(a.x=f[o]),a.y=0;if(p>0)for(o=-1;++o<h;)u=l[o],u>=c[0]&&u<=c[1]&&(a=s[sa.bisect(f,u,1,p)-1],a.y+=d,a.push(t[o]));return s}var n=!0,e=Number,r=bi,i=$i;return t.value=function(n){return arguments.length?(e=n,t):e},t.range=function(n){return arguments.length?(r=Mt(n),t):r},t.bins=function(n){return arguments.length?(i="number"==typeof n?function(t){return xi(t,n)}:Mt(n),t):i},t.frequency=function(e){return arguments.length?(n=!!e,t):n},t},sa.layout.pack=function(){function t(t,o){var a=e.call(this,t,o),u=a[0],s=i[0],l=i[1],c=null==n?Math.sqrt:"function"==typeof n?n:function(){return n};if(u.x=u.y=0,ai(u,function(t){t.r=+c(t.value)}),ai(u,Mi),r){var f=r*(n?1:Math.max(2*u.r/s,2*u.r/l))/2;ai(u,function(t){t.r+=f}),ai(u,Mi),ai(u,function(t){t.r-=f})}return Ei(u,s/2,l/2,n?1:1/Math.max(2*u.r/s,2*u.r/l)),a}var n,e=sa.layout.hierarchy().sort(wi),r=0,i=[1,1];return t.size=function(n){return arguments.length?(i=n,t):i},t.radius=function(e){return arguments.length?(n=null==e||"function"==typeof e?e:+e,t):n},t.padding=function(n){return arguments.length?(r=+n,t):r},ii(t,e)},sa.layout.tree=function(){function t(t,i){var c=a.call(this,t,i),f=c[0],h=n(f);if(ai(h,e),h.parent.m=-h.z,oi(h,r),l)oi(f,o);else{var p=f,d=f,v=f;oi(f,function(t){t.x<p.x&&(p=t),t.x>d.x&&(d=t),t.depth>v.depth&&(v=t)});var g=u(p,d)/2-p.x,m=s[0]/(d.x+u(d,p)/2+g),y=s[1]/(v.depth||1);oi(f,function(t){t.x=(t.x+g)*m,t.y=t.depth*y})}return c}function n(t){for(var n,e={A:null,children:[t]},r=[e];null!=(n=r.pop());)for(var i,o=n.children,a=0,u=o.length;u>a;++a)r.push((o[a]=i={_:o[a],parent:n,children:(i=o[a].children)&&i.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:a}).a=i);return e.children[0]}function e(t){var n=t.children,e=t.parent.children,r=t.i?e[t.i-1]:null;if(n.length){Ni(t);var o=(n[0].z+n[n.length-1].z)/2;r?(t.z=r.z+u(t._,r._),t.m=t.z-o):t.z=o}else r&&(t.z=r.z+u(t._,r._));t.parent.A=i(t,r,t.parent.A||e[0])}function r(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function i(t,n,e){if(n){for(var r,i=t,o=t,a=n,s=i.parent.children[0],l=i.m,c=o.m,f=a.m,h=s.m;a=Li(a),i=Ti(i),a&&i;)s=Ti(s),o=Li(o),o.a=t,r=a.z+f-i.z-l+u(a._,i._),r>0&&(ji(Ri(a,t,e),t,r),l+=r,c+=r),f+=a.m,l+=i.m,h+=s.m,c+=o.m;a&&!Li(o)&&(o.t=a,o.m+=f-c),i&&!Ti(s)&&(s.t=i,s.m+=l-h,e=t)}return e}function o(t){t.x*=s[0],t.y=t.depth*s[1]}var a=sa.layout.hierarchy().sort(null).value(null),u=Oi,s=[1,1],l=null;return t.separation=function(n){return arguments.length?(u=n,t):u},t.size=function(n){return arguments.length?(l=null==(s=n)?o:null,t):l?null:s},t.nodeSize=function(n){return arguments.length?(l=null==(s=n)?null:o,t):l?s:null},ii(t,a)},sa.layout.cluster=function(){function t(t,o){var a,u=n.call(this,t,o),s=u[0],l=0;ai(s,function(t){var n=t.children;n&&n.length?(t.x=Fi(n),t.y=Di(n)):(t.x=a?l+=e(t,a):0,t.y=0,a=t)});var c=Ii(s),f=zi(s),h=c.x-e(c,f)/2,p=f.x+e(f,c)/2;return ai(s,i?function(t){t.x=(t.x-s.x)*r[0],t.y=(s.y-t.y)*r[1]}:function(t){t.x=(t.x-h)/(p-h)*r[0],t.y=(1-(s.y?t.y/s.y:1))*r[1]}),u}var n=sa.layout.hierarchy().sort(null).value(null),e=Oi,r=[1,1],i=!1;return t.separation=function(n){return arguments.length?(e=n,t):e},t.size=function(n){return arguments.length?(i=null==(r=n),t):i?null:r},t.nodeSize=function(n){return arguments.length?(i=null!=(r=n),t):i?r:null},ii(t,n)},sa.layout.treemap=function(){function t(t,n){for(var e,r,i=-1,o=t.length;++i<o;)r=(e=t[i]).value*(0>n?0:n),e.area=isNaN(r)||0>=r?0:r}function n(e){var o=e.children;if(o&&o.length){var a,u,s,l=f(e),c=[],h=o.slice(),d=1/0,v="slice"===p?l.dx:"dice"===p?l.dy:"slice-dice"===p?1&e.depth?l.dy:l.dx:Math.min(l.dx,l.dy);for(t(h,l.dx*l.dy/e.value),c.area=0;(s=h.length)>0;)c.push(a=h[s-1]),c.area+=a.area,"squarify"!==p||(u=r(c,v))<=d?(h.pop(),d=u):(c.area-=c.pop().area,i(c,v,l,!1),v=Math.min(l.dx,l.dy),c.length=c.area=0,d=1/0);c.length&&(i(c,v,l,!0),c.length=c.area=0),o.forEach(n)}}function e(n){var r=n.children;if(r&&r.length){var o,a=f(n),u=r.slice(),s=[];for(t(u,a.dx*a.dy/n.value),s.area=0;o=u.pop();)s.push(o),s.area+=o.area,null!=o.z&&(i(s,o.z?a.dx:a.dy,a,!u.length),s.length=s.area=0);r.forEach(e)}}function r(t,n){for(var e,r=t.area,i=0,o=1/0,a=-1,u=t.length;++a<u;)(e=t[a].area)&&(o>e&&(o=e),e>i&&(i=e));return r*=r,n*=n,r?Math.max(n*i*d/r,r/(n*o*d)):1/0}function i(t,n,e,r){var i,o=-1,a=t.length,u=e.x,l=e.y,c=n?s(t.area/n):0;if(n==e.dx){for((r||c>e.dy)&&(c=e.dy);++o<a;)i=t[o],i.x=u,i.y=l,i.dy=c,u+=i.dx=Math.min(e.x+e.dx-u,c?s(i.area/c):0);i.z=!0,i.dx+=e.x+e.dx-u,e.y+=c,e.dy-=c}else{for((r||c>e.dx)&&(c=e.dx);++o<a;)i=t[o],i.x=u,i.y=l,i.dx=c,l+=i.dy=Math.min(e.y+e.dy-l,c?s(i.area/c):0);i.z=!1,i.dy+=e.y+e.dy-l,e.x+=c,e.dx-=c}}function o(r){var i=a||u(r),o=i[0];return o.x=o.y=0,o.value?(o.dx=l[0],o.dy=l[1]):o.dx=o.dy=0,a&&u.revalue(o),t([o],o.dx*o.dy/o.value),(a?e:n)(o),h&&(a=i),i}var a,u=sa.layout.hierarchy(),s=Math.round,l=[1,1],c=null,f=qi,h=!1,p="squarify",d=.5*(1+Math.sqrt(5));return o.size=function(t){return arguments.length?(l=t,o):l},o.padding=function(t){function n(n){var e=t.call(o,n,n.depth);return null==e?qi(n):Vi(n,"number"==typeof e?[e,e,e,e]:e)}function e(n){return Vi(n,t)}if(!arguments.length)return c;var r;return f=null==(c=t)?qi:"function"==(r=typeof t)?n:"number"===r?(t=[t,t,t,t],e):e,o},o.round=function(t){return arguments.length?(s=t?Math.round:Number,o):s!=Number},o.sticky=function(t){return arguments.length?(h=t,a=null,o):h},o.ratio=function(t){return arguments.length?(d=t,o):d},o.mode=function(t){return arguments.length?(p=t+"",o):p},ii(o,u)},sa.random={normal:function(t,n){var e=arguments.length;return 2>e&&(n=1),1>e&&(t=0),function(){var e,r,i;do e=2*Math.random()-1,r=2*Math.random()-1,i=e*e+r*r;while(!i||i>1);return t+n*e*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var t=sa.random.normal.apply(sa,arguments);return function(){return Math.exp(t())}},bates:function(t){var n=sa.random.irwinHall(t);return function(){return n()/t}},irwinHall:function(t){return function(){for(var n=0,e=0;t>e;e++)n+=Math.random();return n}}},sa.scale={};var Ss={floor:y,ceil:y};sa.scale.linear=function(){return Xi([0,1],[0,1],$r,!1)};var _s={s:1,g:1,p:1,r:1,e:1};sa.scale.log=function(){return ro(sa.scale.linear().domain([0,1]),10,!0,[1,10])};var Ms=sa.format(".0e"),ks={floor:function(t){return-Math.ceil(-t)},ceil:function(t){return-Math.floor(-t)}};sa.scale.pow=function(){return io(sa.scale.linear(),1,[0,1])},sa.scale.sqrt=function(){return sa.scale.pow().exponent(.5)},sa.scale.ordinal=function(){return ao([],{t:"range",a:[[]]})},sa.scale.category10=function(){return sa.scale.ordinal().range(As)},sa.scale.category20=function(){return sa.scale.ordinal().range(Es)},sa.scale.category20b=function(){return sa.scale.ordinal().range(Ps)},sa.scale.category20c=function(){return sa.scale.ordinal().range(Os)};var As=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map($t),Es=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map($t),Ps=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map($t),Os=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map($t);sa.scale.quantile=function(){return uo([],[])},sa.scale.quantize=function(){return so(0,1,[0,1])},sa.scale.threshold=function(){return lo([.5],[0,1])},sa.scale.identity=function(){return co([0,1])},sa.svg={},sa.svg.arc=function(){function t(){var t=Math.max(0,+e.apply(this,arguments)),l=Math.max(0,+r.apply(this,arguments)),c=a.apply(this,arguments)-Va,f=u.apply(this,arguments)-Va,h=Math.abs(f-c),p=c>f?0:1;if(t>l&&(d=l,l=t,t=d),h>=qa)return n(l,p)+(t?n(t,1-p):"")+"Z";var d,v,g,m,y,$,x,b,w,C,S,_,M=0,k=0,A=[];if((m=(+s.apply(this,arguments)||0)/2)&&(g=o===Ts?Math.sqrt(t*t+l*l):+o.apply(this,arguments),p||(k*=-1),l&&(k=nt(g/l*Math.sin(m))),t&&(M=nt(g/t*Math.sin(m)))),l){y=l*Math.cos(c+k),$=l*Math.sin(c+k),x=l*Math.cos(f-k),b=l*Math.sin(f-k);var E=Math.abs(f-c-2*k)<=Ia?0:1;if(k&&yo(y,$,x,b)===p^E){var P=(c+f)/2;y=l*Math.cos(P),$=l*Math.sin(P),x=b=null}}else y=$=0;if(t){w=t*Math.cos(f-M),C=t*Math.sin(f-M),S=t*Math.cos(c+M),_=t*Math.sin(c+M);var O=Math.abs(c-f+2*M)<=Ia?0:1;if(M&&yo(w,C,S,_)===1-p^O){var T=(c+f)/2;w=t*Math.cos(T),C=t*Math.sin(T),S=_=null}}else w=C=0;if(h>Da&&(d=Math.min(Math.abs(l-t)/2,+i.apply(this,arguments)))>.001){v=l>t^p?0:1;var L=d,j=d;if(Ia>h){var N=null==S?[w,C]:null==x?[y,$]:je([y,$],[S,_],[x,b],[w,C]),R=y-N[0],D=$-N[1],F=x-N[0],I=b-N[1],z=1/Math.sin(Math.acos((R*F+D*I)/(Math.sqrt(R*R+D*D)*Math.sqrt(F*F+I*I)))/2),q=Math.sqrt(N[0]*N[0]+N[1]*N[1]);j=Math.min(d,(t-q)/(z-1)),L=Math.min(d,(l-q)/(z+1))}if(null!=x){var V=$o(null==S?[w,C]:[S,_],[y,$],l,L,p),B=$o([x,b],[w,C],l,L,p);d===L?A.push("M",V[0],"A",L,",",L," 0 0,",v," ",V[1],"A",l,",",l," 0 ",1-p^yo(V[1][0],V[1][1],B[1][0],B[1][1]),",",p," ",B[1],"A",L,",",L," 0 0,",v," ",B[0]):A.push("M",V[0],"A",L,",",L," 0 1,",v," ",B[0])}else A.push("M",y,",",$);if(null!=S){var W=$o([y,$],[S,_],t,-j,p),U=$o([w,C],null==x?[y,$]:[x,b],t,-j,p);d===j?A.push("L",U[0],"A",j,",",j," 0 0,",v," ",U[1],"A",t,",",t," 0 ",p^yo(U[1][0],U[1][1],W[1][0],W[1][1]),",",1-p," ",W[1],"A",j,",",j," 0 0,",v," ",W[0]):A.push("L",U[0],"A",j,",",j," 0 0,",v," ",W[0])}else A.push("L",w,",",C)}else A.push("M",y,",",$),null!=x&&A.push("A",l,",",l," 0 ",E,",",p," ",x,",",b),A.push("L",w,",",C),null!=S&&A.push("A",t,",",t," 0 ",O,",",1-p," ",S,",",_);return A.push("Z"),A.join("")}function n(t,n){return"M0,"+t+"A"+t+","+t+" 0 1,"+n+" 0,"+-t+"A"+t+","+t+" 0 1,"+n+" 0,"+t}var e=ho,r=po,i=fo,o=Ts,a=vo,u=go,s=mo;return t.innerRadius=function(n){return arguments.length?(e=Mt(n),t):e},t.outerRadius=function(n){return arguments.length?(r=Mt(n),t):r},t.cornerRadius=function(n){return arguments.length?(i=Mt(n),t):i},t.padRadius=function(n){return arguments.length?(o=n==Ts?Ts:Mt(n),t):o},t.startAngle=function(n){return arguments.length?(a=Mt(n),t):a;
+},t.endAngle=function(n){return arguments.length?(u=Mt(n),t):u},t.padAngle=function(n){return arguments.length?(s=Mt(n),t):s},t.centroid=function(){var t=(+e.apply(this,arguments)+ +r.apply(this,arguments))/2,n=(+a.apply(this,arguments)+ +u.apply(this,arguments))/2-Va;return[Math.cos(n)*t,Math.sin(n)*t]},t};var Ts="auto";sa.svg.line=function(){return xo(y)};var Ls=sa.map({linear:bo,"linear-closed":wo,step:Co,"step-before":So,"step-after":_o,basis:Oo,"basis-open":To,"basis-closed":Lo,bundle:jo,cardinal:Ao,"cardinal-open":Mo,"cardinal-closed":ko,monotone:zo});Ls.forEach(function(t,n){n.key=t,n.closed=/-closed$/.test(t)});var js=[0,2/3,1/3,0],Ns=[0,1/3,2/3,0],Rs=[0,1/6,2/3,1/6];sa.svg.line.radial=function(){var t=xo(qo);return t.radius=t.x,delete t.x,t.angle=t.y,delete t.y,t},So.reverse=_o,_o.reverse=So,sa.svg.area=function(){return Vo(y)},sa.svg.area.radial=function(){var t=Vo(qo);return t.radius=t.x,delete t.x,t.innerRadius=t.x0,delete t.x0,t.outerRadius=t.x1,delete t.x1,t.angle=t.y,delete t.y,t.startAngle=t.y0,delete t.y0,t.endAngle=t.y1,delete t.y1,t},sa.svg.chord=function(){function t(t,u){var s=n(this,o,t,u),l=n(this,a,t,u);return"M"+s.p0+r(s.r,s.p1,s.a1-s.a0)+(e(s,l)?i(s.r,s.p1,s.r,s.p0):i(s.r,s.p1,l.r,l.p0)+r(l.r,l.p1,l.a1-l.a0)+i(l.r,l.p1,s.r,s.p0))+"Z"}function n(t,n,e,r){var i=n.call(t,e,r),o=u.call(t,i,r),a=s.call(t,i,r)-Va,c=l.call(t,i,r)-Va;return{r:o,a0:a,a1:c,p0:[o*Math.cos(a),o*Math.sin(a)],p1:[o*Math.cos(c),o*Math.sin(c)]}}function e(t,n){return t.a0==n.a0&&t.a1==n.a1}function r(t,n,e){return"A"+t+","+t+" 0 "+ +(e>Ia)+",1 "+n}function i(t,n,e,r){return"Q 0,0 "+r}var o=$e,a=xe,u=Bo,s=vo,l=go;return t.radius=function(n){return arguments.length?(u=Mt(n),t):u},t.source=function(n){return arguments.length?(o=Mt(n),t):o},t.target=function(n){return arguments.length?(a=Mt(n),t):a},t.startAngle=function(n){return arguments.length?(s=Mt(n),t):s},t.endAngle=function(n){return arguments.length?(l=Mt(n),t):l},t},sa.svg.diagonal=function(){function t(t,i){var o=n.call(this,t,i),a=e.call(this,t,i),u=(o.y+a.y)/2,s=[o,{x:o.x,y:u},{x:a.x,y:u},a];return s=s.map(r),"M"+s[0]+"C"+s[1]+" "+s[2]+" "+s[3]}var n=$e,e=xe,r=Wo;return t.source=function(e){return arguments.length?(n=Mt(e),t):n},t.target=function(n){return arguments.length?(e=Mt(n),t):e},t.projection=function(n){return arguments.length?(r=n,t):r},t},sa.svg.diagonal.radial=function(){var t=sa.svg.diagonal(),n=Wo,e=t.projection;return t.projection=function(t){return arguments.length?e(Uo(n=t)):n},t},sa.svg.symbol=function(){function t(t,r){return(Ds.get(n.call(this,t,r))||Go)(e.call(this,t,r))}var n=Yo,e=Ho;return t.type=function(e){return arguments.length?(n=Mt(e),t):n},t.size=function(n){return arguments.length?(e=Mt(n),t):e},t};var Ds=sa.map({circle:Go,cross:function(t){var n=Math.sqrt(t/5)/2;return"M"+-3*n+","+-n+"H"+-n+"V"+-3*n+"H"+n+"V"+-n+"H"+3*n+"V"+n+"H"+n+"V"+3*n+"H"+-n+"V"+n+"H"+-3*n+"Z"},diamond:function(t){var n=Math.sqrt(t/(2*Is)),e=n*Is;return"M0,"+-n+"L"+e+",0 0,"+n+" "+-e+",0Z"},square:function(t){var n=Math.sqrt(t)/2;return"M"+-n+","+-n+"L"+n+","+-n+" "+n+","+n+" "+-n+","+n+"Z"},"triangle-down":function(t){var n=Math.sqrt(t/Fs),e=n*Fs/2;return"M0,"+e+"L"+n+","+-e+" "+-n+","+-e+"Z"},"triangle-up":function(t){var n=Math.sqrt(t/Fs),e=n*Fs/2;return"M0,"+-e+"L"+n+","+e+" "+-n+","+e+"Z"}});sa.svg.symbolTypes=Ds.keys();var Fs=Math.sqrt(3),Is=Math.tan(30*Ba);Ea.transition=function(t){for(var n,e,r=zs||++Ws,i=Qo(t),o=[],a=qs||{time:Date.now(),ease:Mr,delay:0,duration:250},u=-1,s=this.length;++u<s;){o.push(n=[]);for(var l=this[u],c=-1,f=l.length;++c<f;)(e=l[c])&&ta(e,c,i,r,a),n.push(e)}return Zo(o,i,r)},Ea.interrupt=function(t){return this.each(null==t?Vs:Xo(Qo(t)))};var zs,qs,Vs=Xo(Qo()),Bs=[],Ws=0;Bs.call=Ea.call,Bs.empty=Ea.empty,Bs.node=Ea.node,Bs.size=Ea.size,sa.transition=function(t,n){return t&&t.transition?zs?t.transition(n):t:sa.selection().transition(t)},sa.transition.prototype=Bs,Bs.select=function(t){var n,e,r,i=this.id,o=this.namespace,a=[];t=A(t);for(var u=-1,s=this.length;++u<s;){a.push(n=[]);for(var l=this[u],c=-1,f=l.length;++c<f;)(r=l[c])&&(e=t.call(r,r.__data__,c,u))?("__data__"in r&&(e.__data__=r.__data__),ta(e,c,o,i,r[o][i]),n.push(e)):n.push(null)}return Zo(a,o,i)},Bs.selectAll=function(t){var n,e,r,i,o,a=this.id,u=this.namespace,s=[];t=E(t);for(var l=-1,c=this.length;++l<c;)for(var f=this[l],h=-1,p=f.length;++h<p;)if(r=f[h]){o=r[u][a],e=t.call(r,r.__data__,h,l),s.push(n=[]);for(var d=-1,v=e.length;++d<v;)(i=e[d])&&ta(i,d,u,a,o),n.push(i)}return Zo(s,u,a)},Bs.filter=function(t){var n,e,r,i=[];"function"!=typeof t&&(t=q(t));for(var o=0,a=this.length;a>o;o++){i.push(n=[]);for(var e=this[o],u=0,s=e.length;s>u;u++)(r=e[u])&&t.call(r,r.__data__,u,o)&&n.push(r)}return Zo(i,this.namespace,this.id)},Bs.tween=function(t,n){var e=this.id,r=this.namespace;return arguments.length<2?this.node()[r][e].tween.get(t):B(this,null==n?function(n){n[r][e].tween.remove(t)}:function(i){i[r][e].tween.set(t,n)})},Bs.attr=function(t,n){function e(){this.removeAttribute(u)}function r(){this.removeAttributeNS(u.space,u.local)}function i(t){return null==t?e:(t+="",function(){var n,e=this.getAttribute(u);return e!==t&&(n=a(e,t),function(t){this.setAttribute(u,n(t))})})}function o(t){return null==t?r:(t+="",function(){var n,e=this.getAttributeNS(u.space,u.local);return e!==t&&(n=a(e,t),function(t){this.setAttributeNS(u.space,u.local,n(t))})})}if(arguments.length<2){for(n in t)this.attr(n,t[n]);return this}var a="transform"==t?Yr:$r,u=sa.ns.qualify(t);return Jo(this,"attr."+t,n,u.local?o:i)},Bs.attrTween=function(t,n){function e(t,e){var r=n.call(this,t,e,this.getAttribute(i));return r&&function(t){this.setAttribute(i,r(t))}}function r(t,e){var r=n.call(this,t,e,this.getAttributeNS(i.space,i.local));return r&&function(t){this.setAttributeNS(i.space,i.local,r(t))}}var i=sa.ns.qualify(t);return this.tween("attr."+t,i.local?r:e)},Bs.style=function(t,e,r){function i(){this.style.removeProperty(t)}function o(e){return null==e?i:(e+="",function(){var i,o=n(this).getComputedStyle(this,null).getPropertyValue(t);return o!==e&&(i=$r(o,e),function(n){this.style.setProperty(t,i(n),r)})})}var a=arguments.length;if(3>a){if("string"!=typeof t){2>a&&(e="");for(r in t)this.style(r,t[r],e);return this}r=""}return Jo(this,"style."+t,e,o)},Bs.styleTween=function(t,e,r){function i(i,o){var a=e.call(this,i,o,n(this).getComputedStyle(this,null).getPropertyValue(t));return a&&function(n){this.style.setProperty(t,a(n),r)}}return arguments.length<3&&(r=""),this.tween("style."+t,i)},Bs.text=function(t){return Jo(this,"text",t,Ko)},Bs.remove=function(){var t=this.namespace;return this.each("end.transition",function(){var n;this[t].count<2&&(n=this.parentNode)&&n.removeChild(this)})},Bs.ease=function(t){var n=this.id,e=this.namespace;return arguments.length<1?this.node()[e][n].ease:("function"!=typeof t&&(t=sa.ease.apply(sa,arguments)),B(this,function(r){r[e][n].ease=t}))},Bs.delay=function(t){var n=this.id,e=this.namespace;return arguments.length<1?this.node()[e][n].delay:B(this,"function"==typeof t?function(r,i,o){r[e][n].delay=+t.call(r,r.__data__,i,o)}:(t=+t,function(r){r[e][n].delay=t}))},Bs.duration=function(t){var n=this.id,e=this.namespace;return arguments.length<1?this.node()[e][n].duration:B(this,"function"==typeof t?function(r,i,o){r[e][n].duration=Math.max(1,t.call(r,r.__data__,i,o))}:(t=Math.max(1,t),function(r){r[e][n].duration=t}))},Bs.each=function(t,n){var e=this.id,r=this.namespace;if(arguments.length<2){var i=qs,o=zs;try{zs=e,B(this,function(n,i,o){qs=n[r][e],t.call(n,n.__data__,i,o)})}finally{qs=i,zs=o}}else B(this,function(i){var o=i[r][e];(o.event||(o.event=sa.dispatch("start","end","interrupt"))).on(t,n)});return this},Bs.transition=function(){for(var t,n,e,r,i=this.id,o=++Ws,a=this.namespace,u=[],s=0,l=this.length;l>s;s++){u.push(t=[]);for(var n=this[s],c=0,f=n.length;f>c;c++)(e=n[c])&&(r=e[a][i],ta(e,c,a,o,{time:r.time,ease:r.ease,delay:r.delay+r.duration,duration:r.duration})),t.push(e)}return Zo(u,a,o)},sa.svg.axis=function(){function t(t){t.each(function(){var t,l=sa.select(this),c=this.__chart__||e,f=this.__chart__=e.copy(),h=null==s?f.ticks?f.ticks.apply(f,u):f.domain():s,p=null==n?f.tickFormat?f.tickFormat.apply(f,u):y:n,d=l.selectAll(".tick").data(h,f),v=d.enter().insert("g",".domain").attr("class","tick").style("opacity",Da),g=sa.transition(d.exit()).style("opacity",Da).remove(),m=sa.transition(d.order()).style("opacity",1),$=Math.max(i,0)+a,x=Wi(f),b=l.selectAll(".domain").data([0]),w=(b.enter().append("path").attr("class","domain"),sa.transition(b));v.append("line"),v.append("text");var C,S,_,M,k=v.select("line"),A=m.select("line"),E=d.select("text").text(p),P=v.select("text"),O=m.select("text"),T="top"===r||"left"===r?-1:1;if("bottom"===r||"top"===r?(t=na,C="x",_="y",S="x2",M="y2",E.attr("dy",0>T?"0em":".71em").style("text-anchor","middle"),w.attr("d","M"+x[0]+","+T*o+"V0H"+x[1]+"V"+T*o)):(t=ea,C="y",_="x",S="y2",M="x2",E.attr("dy",".32em").style("text-anchor",0>T?"end":"start"),w.attr("d","M"+T*o+","+x[0]+"H0V"+x[1]+"H"+T*o)),k.attr(M,T*i),P.attr(_,T*$),A.attr(S,0).attr(M,T*i),O.attr(C,0).attr(_,T*$),f.rangeBand){var L=f,j=L.rangeBand()/2;c=f=function(t){return L(t)+j}}else c.rangeBand?c=f:g.call(t,f,c);v.call(t,c,f),m.call(t,f,f)})}var n,e=sa.scale.linear(),r=Us,i=6,o=6,a=3,u=[10],s=null;return t.scale=function(n){return arguments.length?(e=n,t):e},t.orient=function(n){return arguments.length?(r=n in Hs?n+"":Us,t):r},t.ticks=function(){return arguments.length?(u=ca(arguments),t):u},t.tickValues=function(n){return arguments.length?(s=n,t):s},t.tickFormat=function(e){return arguments.length?(n=e,t):n},t.tickSize=function(n){var e=arguments.length;return e?(i=+n,o=+arguments[e-1],t):i},t.innerTickSize=function(n){return arguments.length?(i=+n,t):i},t.outerTickSize=function(n){return arguments.length?(o=+n,t):o},t.tickPadding=function(n){return arguments.length?(a=+n,t):a},t.tickSubdivide=function(){return arguments.length&&t},t};var Us="bottom",Hs={top:1,right:1,bottom:1,left:1};sa.svg.brush=function(){function t(n){n.each(function(){var n=sa.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",o).on("touchstart.brush",o),a=n.selectAll(".background").data([0]);a.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),n.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var u=n.selectAll(".resize").data(v,y);u.exit().remove(),u.enter().append("g").attr("class",function(t){return"resize "+t}).style("cursor",function(t){return Ys[t]}).append("rect").attr("x",function(t){return/[ew]$/.test(t)?-3:null}).attr("y",function(t){return/^[ns]/.test(t)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),u.style("display",t.empty()?"none":null);var s,f=sa.transition(n),h=sa.transition(a);l&&(s=Wi(l),h.attr("x",s[0]).attr("width",s[1]-s[0]),r(f)),c&&(s=Wi(c),h.attr("y",s[0]).attr("height",s[1]-s[0]),i(f)),e(f)})}function e(t){t.selectAll(".resize").attr("transform",function(t){return"translate("+f[+/e$/.test(t)]+","+h[+/^s/.test(t)]+")"})}function r(t){t.select(".extent").attr("x",f[0]),t.selectAll(".extent,.n>rect,.s>rect").attr("width",f[1]-f[0])}function i(t){t.select(".extent").attr("y",h[0]),t.selectAll(".extent,.e>rect,.w>rect").attr("height",h[1]-h[0])}function o(){function o(){32==sa.event.keyCode&&(E||($=null,O[0]-=f[1],O[1]-=h[1],E=2),S())}function v(){32==sa.event.keyCode&&2==E&&(O[0]+=f[1],O[1]+=h[1],E=0,S())}function g(){var t=sa.mouse(b),n=!1;x&&(t[0]+=x[0],t[1]+=x[1]),E||(sa.event.altKey?($||($=[(f[0]+f[1])/2,(h[0]+h[1])/2]),O[0]=f[+(t[0]<$[0])],O[1]=h[+(t[1]<$[1])]):$=null),k&&m(t,l,0)&&(r(_),n=!0),A&&m(t,c,1)&&(i(_),n=!0),n&&(e(_),C({type:"brush",mode:E?"move":"resize"}))}function m(t,n,e){var r,i,o=Wi(n),s=o[0],l=o[1],c=O[e],v=e?h:f,g=v[1]-v[0];return E&&(s-=c,l-=g+c),r=(e?d:p)?Math.max(s,Math.min(l,t[e])):t[e],E?i=(r+=c)+g:($&&(c=Math.max(s,Math.min(l,2*$[e]-r))),r>c?(i=r,r=c):i=c),v[0]!=r||v[1]!=i?(e?u=null:a=null,v[0]=r,v[1]=i,!0):void 0}function y(){g(),_.style("pointer-events","all").selectAll(".resize").style("display",t.empty()?"none":null),sa.select("body").style("cursor",null),T.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),P(),C({type:"brushend"})}var $,x,b=this,w=sa.select(sa.event.target),C=s.of(b,arguments),_=sa.select(b),M=w.datum(),k=!/^(n|s)$/.test(M)&&l,A=!/^(e|w)$/.test(M)&&c,E=w.classed("extent"),P=X(b),O=sa.mouse(b),T=sa.select(n(b)).on("keydown.brush",o).on("keyup.brush",v);if(sa.event.changedTouches?T.on("touchmove.brush",g).on("touchend.brush",y):T.on("mousemove.brush",g).on("mouseup.brush",y),_.interrupt().selectAll("*").interrupt(),E)O[0]=f[0]-O[0],O[1]=h[0]-O[1];else if(M){var L=+/w$/.test(M),j=+/^n/.test(M);x=[f[1-L]-O[0],h[1-j]-O[1]],O[0]=f[L],O[1]=h[j]}else sa.event.altKey&&($=O.slice());_.style("pointer-events","none").selectAll(".resize").style("display",null),sa.select("body").style("cursor",w.style("cursor")),C({type:"brushstart"}),g()}var a,u,s=M(t,"brushstart","brush","brushend"),l=null,c=null,f=[0,0],h=[0,0],p=!0,d=!0,v=Gs[0];return t.event=function(t){t.each(function(){var t=s.of(this,arguments),n={x:f,y:h,i:a,j:u},e=this.__chart__||n;this.__chart__=n,zs?sa.select(this).transition().each("start.brush",function(){a=e.i,u=e.j,f=e.x,h=e.y,t({type:"brushstart"})}).tween("brush:brush",function(){var e=xr(f,n.x),r=xr(h,n.y);return a=u=null,function(i){f=n.x=e(i),h=n.y=r(i),t({type:"brush",mode:"resize"})}}).each("end.brush",function(){a=n.i,u=n.j,t({type:"brush",mode:"resize"}),t({type:"brushend"})}):(t({type:"brushstart"}),t({type:"brush",mode:"resize"}),t({type:"brushend"}))})},t.x=function(n){return arguments.length?(l=n,v=Gs[!l<<1|!c],t):l},t.y=function(n){return arguments.length?(c=n,v=Gs[!l<<1|!c],t):c},t.clamp=function(n){return arguments.length?(l&&c?(p=!!n[0],d=!!n[1]):l?p=!!n:c&&(d=!!n),t):l&&c?[p,d]:l?p:c?d:null},t.extent=function(n){var e,r,i,o,s;return arguments.length?(l&&(e=n[0],r=n[1],c&&(e=e[0],r=r[0]),a=[e,r],l.invert&&(e=l(e),r=l(r)),e>r&&(s=e,e=r,r=s),e==f[0]&&r==f[1]||(f=[e,r])),c&&(i=n[0],o=n[1],l&&(i=i[1],o=o[1]),u=[i,o],c.invert&&(i=c(i),o=c(o)),i>o&&(s=i,i=o,o=s),i==h[0]&&o==h[1]||(h=[i,o])),t):(l&&(a?(e=a[0],r=a[1]):(e=f[0],r=f[1],l.invert&&(e=l.invert(e),r=l.invert(r)),e>r&&(s=e,e=r,r=s))),c&&(u?(i=u[0],o=u[1]):(i=h[0],o=h[1],c.invert&&(i=c.invert(i),o=c.invert(o)),i>o&&(s=i,i=o,o=s))),l&&c?[[e,i],[r,o]]:l?[e,r]:c&&[i,o])},t.clear=function(){return t.empty()||(f=[0,0],h=[0,0],a=u=null),t},t.empty=function(){return!!l&&f[0]==f[1]||!!c&&h[0]==h[1]},sa.rebind(t,s,"on")};var Ys={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},Gs=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]],Xs=du.format=xu.timeFormat,Zs=Xs.utc,Js=Zs("%Y-%m-%dT%H:%M:%S.%LZ");Xs.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?ra:Js,ra.parse=function(t){var n=new Date(t);return isNaN(n)?null:n},ra.toString=Js.toString,du.second=zt(function(t){return new vu(1e3*Math.floor(t/1e3))},function(t,n){t.setTime(t.getTime()+1e3*Math.floor(n))},function(t){return t.getSeconds()}),du.seconds=du.second.range,du.seconds.utc=du.second.utc.range,du.minute=zt(function(t){return new vu(6e4*Math.floor(t/6e4))},function(t,n){t.setTime(t.getTime()+6e4*Math.floor(n))},function(t){return t.getMinutes()}),du.minutes=du.minute.range,du.minutes.utc=du.minute.utc.range,du.hour=zt(function(t){var n=t.getTimezoneOffset()/60;return new vu(36e5*(Math.floor(t/36e5-n)+n))},function(t,n){t.setTime(t.getTime()+36e5*Math.floor(n))},function(t){return t.getHours()}),du.hours=du.hour.range,du.hours.utc=du.hour.utc.range,du.month=zt(function(t){return t=du.day(t),t.setDate(1),t},function(t,n){t.setMonth(t.getMonth()+n)},function(t){return t.getMonth()}),du.months=du.month.range,du.months.utc=du.month.utc.range;var Ks=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Qs=[[du.second,1],[du.second,5],[du.second,15],[du.second,30],[du.minute,1],[du.minute,5],[du.minute,15],[du.minute,30],[du.hour,1],[du.hour,3],[du.hour,6],[du.hour,12],[du.day,1],[du.day,2],[du.week,1],[du.month,1],[du.month,3],[du.year,1]],tl=Xs.multi([[".%L",function(t){return t.getMilliseconds()}],[":%S",function(t){return t.getSeconds()}],["%I:%M",function(t){return t.getMinutes()}],["%I %p",function(t){return t.getHours()}],["%a %d",function(t){return t.getDay()&&1!=t.getDate()}],["%b %d",function(t){return 1!=t.getDate()}],["%B",function(t){return t.getMonth()}],["%Y",Pn]]),nl={range:function(t,n,e){return sa.range(Math.ceil(t/e)*e,+n,e).map(oa)},floor:y,ceil:y};Qs.year=du.year,du.scale=function(){return ia(sa.scale.linear(),Qs,tl)};var el=Qs.map(function(t){return[t[0].utc,t[1]]}),rl=Zs.multi([[".%L",function(t){return t.getUTCMilliseconds()}],[":%S",function(t){return t.getUTCSeconds()}],["%I:%M",function(t){return t.getUTCMinutes()}],["%I %p",function(t){return t.getUTCHours()}],["%a %d",function(t){return t.getUTCDay()&&1!=t.getUTCDate()}],["%b %d",function(t){return 1!=t.getUTCDate()}],["%B",function(t){return t.getUTCMonth()}],["%Y",Pn]]);el.year=du.year.utc,du.scale.utc=function(){return ia(sa.scale.linear(),el,rl)},sa.text=kt(function(t){return t.responseText}),sa.json=function(t,n){return At(t,"application/json",aa,n)},sa.html=function(t,n){return At(t,"text/html",ua,n)},sa.xml=kt(function(t){return t.responseXML}),"function"==typeof define&&define.amd?(this.d3=sa,define(sa)):"object"==typeof module&&module.exports?module.exports=sa:this.d3=sa}();
\ No newline at end of file
diff --git a/xos/core/xoslib/static/js/xosSampleView.js b/xos/core/xoslib/static/js/xosSampleView.js
deleted file mode 100644
index 9c05349..0000000
--- a/xos/core/xoslib/static/js/xosSampleView.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";angular.module("xos.sampleView",["ngResource","ngCookies","ngLodash","ui.router","xos.helpers"]).config(["$stateProvider",function(s){s.state("user-list",{url:"/",template:"<users-list></users-list>"})}]).config(["$httpProvider",function(s){s.interceptors.push("NoHyperlinks")}]).directive("usersList",function(){return{restrict:"E",scope:{},bindToController:!0,controllerAs:"vm",templateUrl:"templates/users-list.tpl.html",controller:["Users",function(s){var e=this;s.query().$promise.then(function(s){e.users=s})["catch"](function(s){throw new Error(s)})}]}}),angular.module("xos.sampleView").run(["$templateCache",function(s){s.put("templates/users-list.tpl.html",'<div class="row">\n  <h1>Users List</h1>\n  <p>This is only an example view.</p>\n</div>\n<div class="row">\n  <div class="col-xs-4">Email</div>\n  <div class="col-xs-4">First Name</div>\n  <div class="col-xs-4">Last Name</div>\n</div>  \n<div class="row" ng-repeat="user in vm.users">\n  <div class="col-xs-4">{{user.email}}</div>\n  <div class="col-xs-4">{{user.firstname}}</div>\n  <div class="col-xs-4">{{user.lastname}}</div>\n</div>  ')}]),angular.module("xos.sampleView").run(["$location",function(s){s.path("/")}]);
\ No newline at end of file
diff --git a/xos/core/xoslib/static/js/xosServiceGrid.js b/xos/core/xoslib/static/js/xosServiceGrid.js
new file mode 100644
index 0000000..dcc4b18
--- /dev/null
+++ b/xos/core/xoslib/static/js/xosServiceGrid.js
@@ -0,0 +1 @@
+"use strict";angular.module("xos.serviceGrid",["ngResource","ngCookies","ui.router","xos.helpers"]).config(["$stateProvider",function(e){e.state("serviceGrid",{url:"/",template:"<service-grid></service-grid>"}).state("serviceGraph",{url:"/graph",template:"<service-graph></service-graph>"})}]).config(["$httpProvider",function(e){e.interceptors.push("NoHyperlinks")}]).directive("serviceGrid",function(){return{restrict:"E",scope:{},bindToController:!0,controllerAs:"vm",templateUrl:"templates/service-grid.tpl.html",controller:["Services","_",function(e,t){var n=this;this.tableConfig={columns:[{label:"Status",prop:"status",type:"icon",formatter:function(e){var t=parseInt(e.backend_status.match(/^[0-9]/)[0]);switch(t){case 0:return"time";case 1:return"ok";case 2:return"remove"}}},{label:"Name",prop:"name",link:function(e){return""+e.view_url.replace(/\$[a-z]+\$/,e.id)}},{label:"Kind",prop:"kind"},{label:"Enabled",prop:"enabled",type:"boolean"}],filter:"field",order:{field:"name"}},e.query().$promise.then(function(e){n.services=t.map(e,function(e){return e.status=0!==parseInt(e.backend_status.match(/^[0-9]/)[0]),e})})["catch"](function(e){throw new Error(e)})}]}}),angular.module("xos.serviceGrid").run(["$templateCache",function(e){e.put("templates/service-graph.tpl.html",'<div class="row">\n  <div class="col-sm-10">\n    <h1>Graph</h1>\n    <ul>\n      <li>Use D3 to create a service chart based on coarse services?</li>\n    </ul>\n  </div>\n  <div class="col-sm-2">\n    <a href="/admin/core/service/add" class="btn btn-success btn-block">\n      <i class="glyphicon glyphicon-plus"></i>\n      Add Service\n    </a>\n    <a href="#/" class="btn btn-default btn-block">\n      Service List\n    </a>\n  </div>\n</div>'),e.put("templates/service-grid.tpl.html",'<div class="row">\n  <div class="col-sm-10">\n    <xos-table config="vm.tableConfig" data="vm.services"></xos-table>\n  </div>\n  <div class="col-sm-2">\n    <a href="/admin/core/service/add" class="btn btn-success btn-block">\n      <i class="glyphicon glyphicon-plus"></i>\n      Add Service\n    </a>\n    <!-- <a href="#/graph" class="btn btn-default btn-block">\n      Tenancy Graph\n    </a> -->\n  </div>\n</div>')}]),function(){angular.module("xos.serviceGrid").directive("serviceGraph",function(){return{restrict:"E",scope:{},bindToController:!0,controllerAs:"vm",templateUrl:"templates/service-graph.tpl.html",controller:["$element","GraphService",function(e,t){var n=void 0,r=e[0],i=void 0,s=void 0,c=function(e){i.attr({transform:function(e){return"translate("+e.x+", "+e.y+")"}}),s.attr("x1",function(e){return e.source.x}).attr("y1",function(e){return e.source.y}).attr("x2",function(e){return e.target.x}).attr("y2",function(e){return e.target.y})};t.loadCoarseData().then(function(e){e.tenants=e.tenants.map(function(e){return{source:e.provider_service,target:e.subscriber_service}}),e.services.push({name:"XOS","class":"xos",x:r.clientWidth/2,y:r.clientHeight/2,fixed:!0}),a(r);var t=d3.layout.force().nodes(e.services).links(e.tenants).charge(-1060).gravity(.1).linkDistance(200).size([r.clientWidth,r.clientHeight]).on("tick",c).start();s=n.selectAll(".link").data(e.tenants).enter().insert("line").attr("class","link"),i=n.selectAll(".node").data(e.services).enter().append("g").call(t.drag).on("mousedown",function(){d3.event.stopPropagation()}),i.append("circle").attr({"class":function(e){return"node "+(e["class"]||"")},r:10}),i.append("text").attr({"text-anchor":"middle"}).text(function(e){return e.name}),i.select("circle").attr({r:function(e){var t=d3.select(this).node().parentNode,n=d3.select(t).select("text").node().getBBox();return n.width/2+10}})});var a=function(e){d3.select(e).select("svg").remove(),n=d3.select(e).append("svg").style("width",e.clientWidth+"px").style("height",e.clientHeight+"px")}}]}})}(),angular.module("xos.serviceGrid").run(["$location",function(e){e.path("/")}]);
\ No newline at end of file
diff --git a/xos/services/fabric/templates/fabricadmin.html b/xos/services/fabric/templates/fabricadmin.html
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/xos/services/fabric/templates/fabricadmin.html
diff --git a/xos/services/vrouter/templates/vrouteradmin.html b/xos/services/vrouter/templates/vrouteradmin.html
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/xos/services/vrouter/templates/vrouteradmin.html
diff --git a/xos/tests/api/helpers/before_test.py b/xos/tests/api/helpers/before_test.py
index 06e27bf..d45f4e5 100644
--- a/xos/tests/api/helpers/before_test.py
+++ b/xos/tests/api/helpers/before_test.py
@@ -277,13 +277,19 @@
     instance.save()
 
 
+def createService():
+    service = Service(id=1)
+    service.name = 'test-service'
+    service.save()
+
 # setupInstance()
 # depl = createDeployment()
-createTestSubscriber()
+# createTestSubscriber()
 # createInstance()
 # createSlice()
 # createNode(depl)
 # createImage('test-image')
 # createFlavors()
 # createTruckroll()
-setUpTruckroll()
+# setUpTruckroll()
+createService()
diff --git a/xos/tests/api/hooks.py b/xos/tests/api/hooks.py
index 2a38d7a..9ad8e3a 100644
--- a/xos/tests/api/hooks.py
+++ b/xos/tests/api/hooks.py
@@ -277,6 +277,11 @@
     instance.save()
 
 
+def createService():
+    service = Service(id=1)
+    service.name = 'test-service'
+    service.save()
+
 @hooks.before_all
 def my_before_all_hook(transactions):
     # print "-------------------------------- Before All Hook --------------------------------"
@@ -300,6 +305,16 @@
 #     print "-------------------------------- Test end --------------------------------"
 
 
+@hooks.before("Services > Services > View a Service Detail")
+def get_service(transaction):
+    createService()
+
+
+@hooks.before("Services > Services > Delete a Service")
+def delete_service(transaction):
+    createService()
+
+
 @hooks.before("Truckroll > Truckroll Collection > Create a Truckroll")
 def test1(transaction):
     setUpTruckroll()
diff --git a/xos/tests/api/source/core/services.md b/xos/tests/api/source/core/services.md
new file mode 100644
index 0000000..3454bdb
--- /dev/null
+++ b/xos/tests/api/source/core/services.md
@@ -0,0 +1,120 @@
+# Group Services
+
+List of the XOS Services
+
+## Services [/api/core/services/{id}/]
+
+### List all Services [GET]
+
++ Response 200 (application/json)
+
+        [
+            {
+                "humanReadableName": "MyService",
+                "id": 1,
+                "created": "2016-05-05T23:06:33.835277Z",
+                "updated": "2016-05-05T23:06:33.835302Z",
+                "enacted": null,
+                "policed": null,
+                "backend_register": "{}",
+                "backend_status": "0 - Provisioning in progress",
+                "deleted": false,
+                "write_protect": false,
+                "lazy_blocked": false,
+                "no_sync": false,
+                "no_policy": false,
+                "description": null,
+                "enabled": true,
+                "kind": "vROUTER",
+                "name": "MyService",
+                "versionNumber": null,
+                "published": true,
+                "view_url": "/admin/vrouter/vrouterservice/$id$/",
+                "icon_url": null,
+                "public_key": null,
+                "private_key_fn": null,
+                "service_specific_id": null,
+                "service_specific_attribute": null
+            }
+        ]
+
+### Create a Service [POST]
+
++ Request (application/json)
+
+        {
+            "name": "MyService",
+            "kind": "vROUTER"
+        }
+
++ Response 200 (application/json)
+
+        {
+            "humanReadableName": "MyService",
+            "id": 1,
+            "created": "2016-05-05T23:06:33.835277Z",
+            "updated": "2016-05-05T23:06:33.835302Z",
+            "enacted": null,
+            "policed": null,
+            "backend_register": "{}",
+            "backend_status": "0 - Provisioning in progress",
+            "deleted": false,
+            "write_protect": false,
+            "lazy_blocked": false,
+            "no_sync": false,
+            "no_policy": false,
+            "description": null,
+            "enabled": true,
+            "kind": "vROUTER",
+            "name": "MyService",
+            "versionNumber": null,
+            "published": true,
+            "view_url": "/admin/vrouter/vrouterservice/$id$/",
+            "icon_url": null,
+            "public_key": null,
+            "private_key_fn": null,
+            "service_specific_id": null,
+            "service_specific_attribute": null
+        }
+
+### View a Service Detail [GET]
+
++ Parameters
+    + id: 1 (number) - ID of the Service in the form of an integer
+
++ Response 200 (application/json)
+
+        {
+                "humanReadableName": "MyService",
+                "id": 1,
+                "created": "2016-05-05T23:06:33.835277Z",
+                "updated": "2016-05-05T23:06:33.835302Z",
+                "enacted": null,
+                "policed": null,
+                "backend_register": "{}",
+                "backend_status": "0 - Provisioning in progress",
+                "deleted": false,
+                "write_protect": false,
+                "lazy_blocked": false,
+                "no_sync": false,
+                "no_policy": false,
+                "description": null,
+                "enabled": true,
+                "kind": "vROUTER",
+                "name": "MyService",
+                "versionNumber": null,
+                "published": true,
+                "view_url": "/admin/vrouter/vrouterservice/$id$/",
+                "icon_url": null,
+                "public_key": null,
+                "private_key_fn": null,
+                "service_specific_id": null,
+                "service_specific_attribute": null
+            }
+
+### Delete a Service [DELETE]
+
++ Parameters
+    + id: 1 (number) - ID of the Service in the form of an integer
+
++ Response 204
diff --git a/xos/xos/apps.py b/xos/xos/apps.py
index d81a511..b30f462 100644
--- a/xos/xos/apps.py
+++ b/xos/xos/apps.py
@@ -1,13 +1,14 @@
 from suit.apps import DjangoSuitConfig
 
+
 class MyDjangoSuitConfig(DjangoSuitConfig):
     admin_name = 'XOS'
     menu_position = 'vertical'
     menu_open_first_child = False
     menu = (
-      {'label': 'Deployments', 'icon':'icon-deployment', 'url': '/admin/core/deployment/'},
-      {'label': 'Sites', 'icon':'icon-site', 'url': '/admin/core/site/'},
-      {'label': 'Slices', 'icon':'icon-slice', 'url': '/admin/core/slice/'},
-      {'label': 'Users', 'icon':'icon-user', 'url': '/admin/core/user/'},
-      {'label': 'Services', 'icon':'icon-cog', 'url': '/serviceGrid'},
-    )
\ No newline at end of file
+      {'label': 'Deployments', 'icon': 'icon-deployment', 'url': '/admin/core/deployment/'},
+      {'label': 'Sites', 'icon': 'icon-site', 'url': '/admin/core/site/'},
+      {'label': 'Slices', 'icon': 'icon-slice', 'url': '/admin/core/slice/'},
+      {'label': 'Users', 'icon': 'icon-user', 'url': '/admin/core/user/'},
+      {'label': 'Services', 'icon': 'icon-cog', 'url': '/serviceGrid/'},
+    )