Version Description
= 3.0.3 = Please check changelog!
Download this release
Release Info
Developer | watchful |
Plugin | XCloner – Backup and Restore |
Version | 4.2.0 |
Comparing to | |
See all releases |
Code changes from version 4.1.5 to 4.2.0
- CHANGELOG.md +145 -0
- README.txt +26 -163
- admin/class-xcloner-admin.php +2 -2
- admin/css/materialize.clockpicker.css +0 -25
- admin/css/materialize.min.css +22 -7
- admin/css/xcloner-admin.css +37 -1
- admin/js/materialize.clockpicker.js +0 -2
- admin/js/materialize.min.js +3 -7
- admin/js/xcloner-admin.js +3 -0
- admin/js/xcloner-backup-class.js +16 -1
- admin/js/xcloner-manage-backups-class.js +15 -9
- admin/js/xcloner-restore-class.js +4 -2
- admin/js/xcloner-scheduler-class.js +11 -4
- admin/partials/xcloner_generate_backups_page.php +65 -44
- admin/partials/xcloner_init_page.php +1 -1
- admin/partials/xcloner_manage_backups_page.php +40 -171
- admin/partials/xcloner_remote_storage_page.php +163 -144
- admin/partials/xcloner_restore_page.php +46 -26
- admin/partials/xcloner_scheduled_backups_page.php +17 -11
- examples/standalone-backup-trigger.php +19 -1
- includes/class-xcloner-activator.php +1 -4
- includes/class-xcloner-api.php +36 -9
- includes/class-xcloner-archive.php +105 -0
- includes/class-xcloner-file-system.php +45 -14
- includes/class-xcloner-logger.php +15 -0
- includes/class-xcloner-remote-storage.php +44 -38
- includes/class-xcloner-scheduler.php +49 -17
- includes/class-xcloner-settings.php +39 -6
- includes/class-xcloner-standalone.php +8 -3
- includes/class-xcloner.php +11 -10
- lib/mock_wp_functions.php +7 -0
- restore/.htaccess +0 -2
- restore/xcloner_restore.php +181 -7
- xcloner.php +82 -27
CHANGELOG.md
ADDED
@@ -0,0 +1,145 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Changelog
|
2 |
+
|
3 |
+
## [Unreleased](https://github.com/watchfulli/XCloner-Wordpress/tree/HEAD)
|
4 |
+
|
5 |
+
[Full Changelog](https://github.com/watchfulli/XCloner-Wordpress/compare/4.1.5...HEAD)
|
6 |
+
|
7 |
+
**Implemented enhancements:**
|
8 |
+
|
9 |
+
- Improve error when connecting to remote site using restore script from another site [\#89](https://github.com/watchfulli/XCloner-Wordpress/issues/89)
|
10 |
+
- Improve error message when accessing restore script directly [\#86](https://github.com/watchfulli/XCloner-Wordpress/issues/86)
|
11 |
+
- Encrypt database password during restore [\#84](https://github.com/watchfulli/XCloner-Wordpress/issues/84)
|
12 |
+
- Update default regex exclusions [\#78](https://github.com/watchfulli/XCloner-Wordpress/issues/78)
|
13 |
+
- Replace youtube links [\#76](https://github.com/watchfulli/XCloner-Wordpress/issues/76)
|
14 |
+
- Add additional cleanup & quota options for backup storage [\#61](https://github.com/watchfulli/XCloner-Wordpress/issues/61)
|
15 |
+
- Add standalone CLI for making backups [\#60](https://github.com/watchfulli/XCloner-Wordpress/issues/60)
|
16 |
+
- Move `send to remote destination` option to the `Backup Options` tab [\#56](https://github.com/watchfulli/XCloner-Wordpress/issues/56)
|
17 |
+
|
18 |
+
**Fixed bugs:**
|
19 |
+
|
20 |
+
- Select All Backups delete does not work [\#92](https://github.com/watchfulli/XCloner-Wordpress/issues/92)
|
21 |
+
- JS Error during restoration [\#91](https://github.com/watchfulli/XCloner-Wordpress/issues/91)
|
22 |
+
- Ajax error when viewing empty storage area [\#79](https://github.com/watchfulli/XCloner-Wordpress/issues/79)
|
23 |
+
- Javascript error when running a backup, and clicking "Send Backup to remote storage" [\#74](https://github.com/watchfulli/XCloner-Wordpress/issues/74)
|
24 |
+
- SFTP bug [\#72](https://github.com/watchfulli/XCloner-Wordpress/issues/72)
|
25 |
+
- Live DB restore replaces WP Options table [\#69](https://github.com/watchfulli/XCloner-Wordpress/issues/69)
|
26 |
+
|
27 |
+
**Closed issues:**
|
28 |
+
|
29 |
+
- Rename `Cleanup by Date\(days\)` [\#85](https://github.com/watchfulli/XCloner-Wordpress/issues/85)
|
30 |
+
- Add `Local Storage` to the `Remote Storage` area? [\#81](https://github.com/watchfulli/XCloner-Wordpress/issues/81)
|
31 |
+
- Bug selecting the time in the `schedule backup` tab [\#80](https://github.com/watchfulli/XCloner-Wordpress/issues/80)
|
32 |
+
- Update Remote Storage names [\#77](https://github.com/watchfulli/XCloner-Wordpress/issues/77)
|
33 |
+
- Small JS bug in Manage Backups interface [\#68](https://github.com/watchfulli/XCloner-Wordpress/issues/68)
|
34 |
+
- New settings option: delete remote file when deleting backup [\#66](https://github.com/watchfulli/XCloner-Wordpress/issues/66)
|
35 |
+
|
36 |
+
## [4.1.5](https://github.com/watchfulli/XCloner-Wordpress/tree/4.1.5) (2020-05-14)
|
37 |
+
|
38 |
+
[Full Changelog](https://github.com/watchfulli/XCloner-Wordpress/compare/4.1.4...4.1.5)
|
39 |
+
|
40 |
+
**Implemented enhancements:**
|
41 |
+
|
42 |
+
- Add incremental extended inserts [\#39](https://github.com/watchfulli/XCloner-Wordpress/issues/39)
|
43 |
+
|
44 |
+
**Fixed bugs:**
|
45 |
+
|
46 |
+
- Running a backup and sending to remote store ex, sFTP does not upload the backup file [\#73](https://github.com/watchfulli/XCloner-Wordpress/issues/73)
|
47 |
+
|
48 |
+
**Closed issues:**
|
49 |
+
|
50 |
+
- Replace dev links in files [\#59](https://github.com/watchfulli/XCloner-Wordpress/issues/59)
|
51 |
+
- Update developer link in the plugins area of site backend [\#58](https://github.com/watchfulli/XCloner-Wordpress/issues/58)
|
52 |
+
- Update footer in progress indicator [\#57](https://github.com/watchfulli/XCloner-Wordpress/issues/57)
|
53 |
+
- Improve language string for `backup before update` tooltip [\#55](https://github.com/watchfulli/XCloner-Wordpress/issues/55)
|
54 |
+
- Update readme.txt again [\#53](https://github.com/watchfulli/XCloner-Wordpress/issues/53)
|
55 |
+
- Replace README.txt and xcloner.php files [\#47](https://github.com/watchfulli/XCloner-Wordpress/issues/47)
|
56 |
+
- Local files not deleted after transfer to remote location [\#46](https://github.com/watchfulli/XCloner-Wordpress/issues/46)
|
57 |
+
- pull and push might be great way? [\#44](https://github.com/watchfulli/XCloner-Wordpress/issues/44)
|
58 |
+
- Confusing user experience when restoring a public site to a local site [\#43](https://github.com/watchfulli/XCloner-Wordpress/issues/43)
|
59 |
+
|
60 |
+
**Merged pull requests:**
|
61 |
+
|
62 |
+
- Milestone4.1.5 [\#75](https://github.com/watchfulli/XCloner-Wordpress/pull/75) ([ovidiul](https://github.com/ovidiul))
|
63 |
+
|
64 |
+
## [4.1.4](https://github.com/watchfulli/XCloner-Wordpress/tree/4.1.4) (2020-05-06)
|
65 |
+
|
66 |
+
[Full Changelog](https://github.com/watchfulli/XCloner-Wordpress/compare/untagged-0681671b0a71d1a1d73e...4.1.4)
|
67 |
+
|
68 |
+
**Implemented enhancements:**
|
69 |
+
|
70 |
+
- Remote Storage Security [\#15](https://github.com/watchfulli/XCloner-Wordpress/issues/15)
|
71 |
+
- Differential from last backup date [\#6](https://github.com/watchfulli/XCloner-Wordpress/issues/6)
|
72 |
+
|
73 |
+
**Closed issues:**
|
74 |
+
|
75 |
+
- \[Xcloner\_Standalone\] Remove schedule params from configuration [\#50](https://github.com/watchfulli/XCloner-Wordpress/issues/50)
|
76 |
+
- SFTP connection error [\#45](https://github.com/watchfulli/XCloner-Wordpress/issues/45)
|
77 |
+
- Feature: please add wp-cli support [\#42](https://github.com/watchfulli/XCloner-Wordpress/issues/42)
|
78 |
+
- Unable to connect WebDAV with a " in the password [\#41](https://github.com/watchfulli/XCloner-Wordpress/issues/41)
|
79 |
+
- Issues uploading backups to Dropbox [\#40](https://github.com/watchfulli/XCloner-Wordpress/issues/40)
|
80 |
+
- Differential backups, manual vs scheduled [\#35](https://github.com/watchfulli/XCloner-Wordpress/issues/35)
|
81 |
+
- Error Message: Unreadable file encountered: temporary file [\#34](https://github.com/watchfulli/XCloner-Wordpress/issues/34)
|
82 |
+
- BackblazeB2\Client' not found [\#27](https://github.com/watchfulli/XCloner-Wordpress/issues/27)
|
83 |
+
- Unable to use single Application Keys [\#26](https://github.com/watchfulli/XCloner-Wordpress/issues/26)
|
84 |
+
- How about file based backups? [\#25](https://github.com/watchfulli/XCloner-Wordpress/issues/25)
|
85 |
+
- Backup date from backups on backblaze is not valid [\#24](https://github.com/watchfulli/XCloner-Wordpress/issues/24)
|
86 |
+
- Does not upload to WebDav on owncloud [\#23](https://github.com/watchfulli/XCloner-Wordpress/issues/23)
|
87 |
+
- Header does not match it's checksum for [\#22](https://github.com/watchfulli/XCloner-Wordpress/issues/22)
|
88 |
+
- Error on upload Backblaze -\> field bucketId cannot be null [\#21](https://github.com/watchfulli/XCloner-Wordpress/issues/21)
|
89 |
+
- phpMyAdmin Import Errors - Duplicate entry for key PRIMARY [\#17](https://github.com/watchfulli/XCloner-Wordpress/issues/17)
|
90 |
+
- generated backup file not valid [\#16](https://github.com/watchfulli/XCloner-Wordpress/issues/16)
|
91 |
+
- failing to upload large file to Backblaze B2 [\#14](https://github.com/watchfulli/XCloner-Wordpress/issues/14)
|
92 |
+
- numeric off\_t value expected [\#13](https://github.com/watchfulli/XCloner-Wordpress/issues/13)
|
93 |
+
|
94 |
+
**Merged pull requests:**
|
95 |
+
|
96 |
+
- Milestone4.1.4 [\#62](https://github.com/watchfulli/XCloner-Wordpress/pull/62) ([ovidiul](https://github.com/ovidiul))
|
97 |
+
- Bugfix: generate inserts with null values instead of empty values [\#37](https://github.com/watchfulli/XCloner-Wordpress/pull/37) ([jkroemer](https://github.com/jkroemer))
|
98 |
+
- Scrutinizer Auto-Fixes [\#33](https://github.com/watchfulli/XCloner-Wordpress/pull/33) ([scrutinizer-auto-fixer](https://github.com/scrutinizer-auto-fixer))
|
99 |
+
- Scrutinizer Auto-Fixes [\#32](https://github.com/watchfulli/XCloner-Wordpress/pull/32) ([scrutinizer-auto-fixer](https://github.com/scrutinizer-auto-fixer))
|
100 |
+
- Scrutinizer Auto-Fixes [\#31](https://github.com/watchfulli/XCloner-Wordpress/pull/31) ([scrutinizer-auto-fixer](https://github.com/scrutinizer-auto-fixer))
|
101 |
+
- Scrutinizer Auto-Fixes [\#30](https://github.com/watchfulli/XCloner-Wordpress/pull/30) ([scrutinizer-auto-fixer](https://github.com/scrutinizer-auto-fixer))
|
102 |
+
|
103 |
+
## [untagged-0681671b0a71d1a1d73e](https://github.com/watchfulli/XCloner-Wordpress/tree/untagged-0681671b0a71d1a1d73e) (2018-06-21)
|
104 |
+
|
105 |
+
[Full Changelog](https://github.com/watchfulli/XCloner-Wordpress/compare/4.0.6...untagged-0681671b0a71d1a1d73e)
|
106 |
+
|
107 |
+
**Closed issues:**
|
108 |
+
|
109 |
+
- backup files on WEBDAV remote storage are not recognized as locally existing [\#20](https://github.com/watchfulli/XCloner-Wordpress/issues/20)
|
110 |
+
- backup files on WEBDAV remote storage doesn't appear in list [\#19](https://github.com/watchfulli/XCloner-Wordpress/issues/19)
|
111 |
+
- How to do a remote target systems restore [\#18](https://github.com/watchfulli/XCloner-Wordpress/issues/18)
|
112 |
+
- Gdrive Backup Not Working [\#10](https://github.com/watchfulli/XCloner-Wordpress/issues/10)
|
113 |
+
- Document whether this supports multisite [\#8](https://github.com/watchfulli/XCloner-Wordpress/issues/8)
|
114 |
+
|
115 |
+
## [4.0.6](https://github.com/watchfulli/XCloner-Wordpress/tree/4.0.6) (2017-12-18)
|
116 |
+
|
117 |
+
[Full Changelog](https://github.com/watchfulli/XCloner-Wordpress/compare/4.0.1...4.0.6)
|
118 |
+
|
119 |
+
**Closed issues:**
|
120 |
+
|
121 |
+
- Please correct Backblaze - no camel case [\#12](https://github.com/watchfulli/XCloner-Wordpress/issues/12)
|
122 |
+
- Azure Blog Storage? [\#11](https://github.com/watchfulli/XCloner-Wordpress/issues/11)
|
123 |
+
- Xcloner-Wordpress allows upgrade when PHP version is not appropriate [\#9](https://github.com/watchfulli/XCloner-Wordpress/issues/9)
|
124 |
+
|
125 |
+
**Merged pull requests:**
|
126 |
+
|
127 |
+
- German Translation [\#5](https://github.com/watchfulli/XCloner-Wordpress/pull/5) ([QuadStingray](https://github.com/QuadStingray))
|
128 |
+
|
129 |
+
## [4.0.1](https://github.com/watchfulli/XCloner-Wordpress/tree/4.0.1) (2017-03-20)
|
130 |
+
|
131 |
+
[Full Changelog](https://github.com/watchfulli/XCloner-Wordpress/compare/4.0.2...4.0.1)
|
132 |
+
|
133 |
+
## [4.0.2](https://github.com/watchfulli/XCloner-Wordpress/tree/4.0.2) (2017-03-20)
|
134 |
+
|
135 |
+
[Full Changelog](https://github.com/watchfulli/XCloner-Wordpress/compare/89d1407d361293c1f1a0bf9ac020990a082ac8f0...4.0.2)
|
136 |
+
|
137 |
+
**Closed issues:**
|
138 |
+
|
139 |
+
- restore script is broken [\#3](https://github.com/watchfulli/XCloner-Wordpress/issues/3)
|
140 |
+
- Header does not match it's checksum for [\#2](https://github.com/watchfulli/XCloner-Wordpress/issues/2)
|
141 |
+
- File scanning estimated size seems to be wrong and much lower than the actual backup size [\#1](https://github.com/watchfulli/XCloner-Wordpress/issues/1)
|
142 |
+
|
143 |
+
|
144 |
+
|
145 |
+
\* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*
|
README.txt
CHANGED
@@ -4,7 +4,7 @@ Donate link: http://www.xcloner.com
|
|
4 |
Tags: backup, database backup, cloud backup, WordPress backup, WordPress migration
|
5 |
Requires at least: 3.0.1
|
6 |
Tested up to: 5.4
|
7 |
-
Stable tag: 4.
|
8 |
|
9 |
XCloner is a backup plugin that allows you to safely back up and restore your WordPress sites. You can send site backups to SFTP, Dropbox, Amazon, Google Drive, Backblaze and other locations.
|
10 |
|
@@ -115,6 +115,31 @@ Of course, schedules can be adjusted accordingly to how often you update your si
|
|
115 |
|
116 |
== Changelog ==
|
117 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
118 |
= 4.1.4 =
|
119 |
* thinkovi references replace
|
120 |
* plugin pre auto update text changelog
|
@@ -350,165 +375,3 @@ Of course, schedules can be adjusted accordingly to how often you update your si
|
|
350 |
10. Generate Backup Process
|
351 |
11. Generate Backup Screen
|
352 |
|
353 |
-
== Changelog ==
|
354 |
-
|
355 |
-
= 4.1.3 =
|
356 |
-
* database include tables fix
|
357 |
-
|
358 |
-
= 4.1.2 =
|
359 |
-
* improved default backup storage path security
|
360 |
-
* improved remote storage security
|
361 |
-
|
362 |
-
= 4.1.2 =
|
363 |
-
* vendor lib updates
|
364 |
-
* flysystem azure storage Upgrade
|
365 |
-
|
366 |
-
= 4.1.1 =
|
367 |
-
* log tmp directories fix, tracking only ERROR reports from php
|
368 |
-
* security improvement backup log name
|
369 |
-
* database restore resume fix
|
370 |
-
* memory limit fix
|
371 |
-
|
372 |
-
= 4.1.0 =
|
373 |
-
* added AES-128-CBC backup encryption and decryption option
|
374 |
-
* manage backup fixes
|
375 |
-
* scheduled backup screen fixes and addon backup encryption option
|
376 |
-
* automated backups encryption option addon
|
377 |
-
* generate backups encrypt option addon
|
378 |
-
|
379 |
-
= 4.0.9 =
|
380 |
-
* remote storage password encryption addon for database
|
381 |
-
* vendor cleanup packages
|
382 |
-
* database silent fail fix
|
383 |
-
* copyright changes
|
384 |
-
* jstree fix database display
|
385 |
-
* microtime float div fix
|
386 |
-
* manage backups data order fix
|
387 |
-
|
388 |
-
= 4.0.8 =
|
389 |
-
* updated vendor library dependencies, AWS, phpseclib
|
390 |
-
* TAR compression fix
|
391 |
-
* 7.2 compatibility checks and fixes
|
392 |
-
|
393 |
-
= 4.0.7 =
|
394 |
-
* added log fixes for Wordpress cron
|
395 |
-
* remove storage fixes
|
396 |
-
|
397 |
-
= 4.0.6 =
|
398 |
-
* S3 prefix addon for defining folders
|
399 |
-
* S3 custom endpoint addon to support minio.io
|
400 |
-
* code fixes
|
401 |
-
|
402 |
-
= 4.0.5 =
|
403 |
-
* Dropbox API update to V2
|
404 |
-
* Code fixes and text changes
|
405 |
-
|
406 |
-
= 4.0.4 =
|
407 |
-
* remote storage view fix
|
408 |
-
* added automatic backups option before WP automatic update
|
409 |
-
* deactivate exception handling fix
|
410 |
-
* restore pages improvements
|
411 |
-
* old XCloner backup format compatibility fixes
|
412 |
-
|
413 |
-
= 4.0.3 =
|
414 |
-
* added differential backups with the option to only backup files modified after a certain date
|
415 |
-
* added localhost restore option with direct access to the restore restore
|
416 |
-
* added schedule name fixes
|
417 |
-
* added restore filter All Files, Only Plugins Files, Only Theme Files, Only Uploads Files, Only Database Backup
|
418 |
-
* added remote backup list archive option on restore page
|
419 |
-
* tmp directory cleanup on deactivate
|
420 |
-
* sftp text fixes
|
421 |
-
|
422 |
-
= 4.0.2 =
|
423 |
-
* added WebDAV remote storage support
|
424 |
-
* added Google Drive Suppor through XCloner-Google-Drive plugin
|
425 |
-
* added depedency injection code refactoring
|
426 |
-
* added TAR PAX support on restore
|
427 |
-
* improving code quality scrutinizer
|
428 |
-
* fixing phpversion requirement
|
429 |
-
* adding Backblaze remote storage support
|
430 |
-
* added Remote Storage Manage Backups dropdown selection
|
431 |
-
* fixed windows opendir error
|
432 |
-
* added total archived files to notifications email
|
433 |
-
* timezone scheduler fix
|
434 |
-
* added default error sending to admin when no notification email is set
|
435 |
-
|
436 |
-
|
437 |
-
= 4.0.1 =
|
438 |
-
* Code rewritten from ground up to make use of latest code standards
|
439 |
-
* Added support for Dropbox, Amazon S3, Azure Blob and SFTP storage
|
440 |
-
* Added a new restore script
|
441 |
-
* Added an improved backup and system logger
|
442 |
-
* New Setting Panel
|
443 |
-
* New Manage Backups Panel with the options to Delete, Transfer to Remote Storage, Download and List Backup archive contents
|
444 |
-
* Added mail notifications for scheduled backups
|
445 |
-
* Added a new Cron Scheduler to make use of Wordpress System Cron option
|
446 |
-
* Improved user input sanitization
|
447 |
-
* Improved recursive file scanning and archiving
|
448 |
-
* Improved Mysql Backup dump
|
449 |
-
* Added Multiple Cleanup options both for local storage and remote
|
450 |
-
* Added Improved Backup Compressing option
|
451 |
-
|
452 |
-
= 3.1.5 =
|
453 |
-
* Config variables save sanitization addon
|
454 |
-
|
455 |
-
= 3.1.4 =
|
456 |
-
* DropPHP DropBox library update, upload fixes for files larger than 150MB
|
457 |
-
|
458 |
-
= 3.1.3 =
|
459 |
-
* XSS fix
|
460 |
-
|
461 |
-
= 3.1.2 =
|
462 |
-
* vulnerability fix
|
463 |
-
|
464 |
-
= 3.1.1 =
|
465 |
-
* added CSRF protection
|
466 |
-
|
467 |
-
= 3.1.0 =
|
468 |
-
* added Wordpress login-less integration
|
469 |
-
* plugin settings are now saved to database
|
470 |
-
* security audit and hardening
|
471 |
-
|
472 |
-
= 3.0.8 =
|
473 |
-
* added russian language support
|
474 |
-
|
475 |
-
= 3.0.7 =
|
476 |
-
* added sftp support for backup transfer, thanks Todd Bluhm - dynamicts.com
|
477 |
-
|
478 |
-
= 3.0.6 =
|
479 |
-
* added php 5.4 compatibility
|
480 |
-
|
481 |
-
= 3.0.4 =
|
482 |
-
* LFI vulnerability fix
|
483 |
-
|
484 |
-
= 3.0.3 =
|
485 |
-
* added amazon ssl option box
|
486 |
-
* moved the compress option to the System tab, don't use it unless you know what you are doing!
|
487 |
-
|
488 |
-
= 3.0.1 =
|
489 |
-
* several important security and bug fixes
|
490 |
-
|
491 |
-
= 3.0 =
|
492 |
-
* incremental database backup
|
493 |
-
* incremental file system scan
|
494 |
-
* backup size limit and option to split it into additional archives, default 2GB
|
495 |
-
* exclude files larger than a certain size option
|
496 |
-
* incremental files restore
|
497 |
-
* JQuery Start interface
|
498 |
-
|
499 |
-
= 2.2.1 =
|
500 |
-
* Added JSON AJAX interface to the Generate Backup process
|
501 |
-
* Added incremental filesystem scan
|
502 |
-
* several bug fixes
|
503 |
-
* php >=5.2.0 version check
|
504 |
-
|
505 |
-
= 2.1.2 =
|
506 |
-
* Added Amazon S3 cron storage support
|
507 |
-
|
508 |
-
= 2.1 =
|
509 |
-
* Initial release
|
510 |
-
|
511 |
-
== Upgrade Notice ==
|
512 |
-
|
513 |
-
= 3.0.3 =
|
514 |
-
Please check changelog!
|
4 |
Tags: backup, database backup, cloud backup, WordPress backup, WordPress migration
|
5 |
Requires at least: 3.0.1
|
6 |
Tested up to: 5.4
|
7 |
+
Stable tag: 4.2.0
|
8 |
|
9 |
XCloner is a backup plugin that allows you to safely back up and restore your WordPress sites. You can send site backups to SFTP, Dropbox, Amazon, Google Drive, Backblaze and other locations.
|
10 |
|
115 |
|
116 |
== Changelog ==
|
117 |
|
118 |
+
* 4.2.0 *
|
119 |
+
|
120 |
+
** Implemented enhancements: **
|
121 |
+
|
122 |
+
* Improve error when connecting to remote site using restore script from another site [\#89](https://github.com/watchfulli/XCloner-Wordpress/issues/89)
|
123 |
+
* Improve error message when accessing restore script directly [\#86](https://github.com/watchfulli/XCloner-Wordpress/issues/86)
|
124 |
+
* Encrypt database password during restore [\#84](https://github.com/watchfulli/XCloner-Wordpress/issues/84)
|
125 |
+
* Update default regex exclusions [\#78](https://github.com/watchfulli/XCloner-Wordpress/issues/78)
|
126 |
+
* Replace youtube links [\#76](https://github.com/watchfulli/XCloner-Wordpress/issues/76)
|
127 |
+
* Add additional cleanup & quota options for backup storage [\#61](https://github.com/watchfulli/XCloner-Wordpress/issues/61)
|
128 |
+
* Add standalone CLI for making backups [\#60](https://github.com/watchfulli/XCloner-Wordpress/issues/60)
|
129 |
+
* Move `send to remote destination` option to the `Backup Options` tab [\#56](https://github.com/watchfulli/XCloner-Wordpress/issues/56)
|
130 |
+
|
131 |
+
** Fixed bugs: **
|
132 |
+
|
133 |
+
* Select All Backups delete does not work [\#92](https://github.com/watchfulli/XCloner-Wordpress/issues/92)
|
134 |
+
* JS Error during restoration [\#91](https://github.com/watchfulli/XCloner-Wordpress/issues/91)
|
135 |
+
* Ajax error when viewing empty storage area [\#79](https://github.com/watchfulli/XCloner-Wordpress/issues/79)
|
136 |
+
* Javascript error when running a backup, and clicking "Send Backup to remote storage" [\#74](https://github.com/watchfulli/XCloner-Wordpress/issues/74)
|
137 |
+
* SFTP bug [\#72](https://github.com/watchfulli/XCloner-Wordpress/issues/72)
|
138 |
+
* Live DB restore replaces WP Options table [\#69](https://github.com/watchfulli/XCloner-Wordpress/issues/69)
|
139 |
+
|
140 |
+
= 4.1.5 =
|
141 |
+
* SFTP upoad fix
|
142 |
+
|
143 |
= 4.1.4 =
|
144 |
* thinkovi references replace
|
145 |
* plugin pre auto update text changelog
|
375 |
10. Generate Backup Process
|
376 |
11. Generate Backup Screen
|
377 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/class-xcloner-admin.php
CHANGED
@@ -89,7 +89,7 @@ class Xcloner_Admin {
|
|
89 |
*/
|
90 |
|
91 |
wp_enqueue_style($this->plugin_name."_materialize", plugin_dir_url(__FILE__).'css/materialize.min.css', array(), $this->version, 'all');
|
92 |
-
wp_enqueue_style($this->plugin_name."_materialize.clockpicker", plugin_dir_url(__FILE__).'css/materialize.clockpicker.css', array(), $this->version, 'all');
|
93 |
wp_enqueue_style($this->plugin_name."_materialize.icons", '//fonts.googleapis.com/icon?family=Material+Icons', array(), $this->version, 'all');
|
94 |
wp_enqueue_style($this->plugin_name."_jquery.datatables", plugin_dir_url(__FILE__).'css/jquery.dataTables.min.css', array(), $this->version, 'all');
|
95 |
wp_enqueue_style($this->plugin_name."_jquery.datatables.responsive", plugin_dir_url(__FILE__).'css/responsive.dataTables.css', array(), $this->version, 'all');
|
@@ -125,7 +125,7 @@ class Xcloner_Admin {
|
|
125 |
wp_enqueue_script('plugin-install');
|
126 |
wp_enqueue_script('updates');
|
127 |
wp_enqueue_script($this->plugin_name."_materialize", plugin_dir_url(__FILE__).'js/materialize.min.js', array('jquery'), $this->version, false);
|
128 |
-
wp_enqueue_script($this->plugin_name."_materialize.clockpicker", plugin_dir_url(__FILE__).'js/materialize.clockpicker.js', array('jquery'), $this->version, false);
|
129 |
wp_enqueue_script($this->plugin_name."_jquery.datatables", plugin_dir_url(__FILE__).'js/jquery.dataTables.min.js', array('jquery'), $this->version, false);
|
130 |
wp_enqueue_script($this->plugin_name."_jquery.datatables.respnsive", plugin_dir_url(__FILE__).'js/dataTables.responsive.js', array('jquery'), $this->version, false);
|
131 |
wp_enqueue_script($this->plugin_name."_vakata", dirname(plugin_dir_url(__FILE__)).'/vendor/vakata/jstree/dist/jstree.min.js', array('jquery'), '3.3', false);
|
89 |
*/
|
90 |
|
91 |
wp_enqueue_style($this->plugin_name."_materialize", plugin_dir_url(__FILE__).'css/materialize.min.css', array(), $this->version, 'all');
|
92 |
+
//wp_enqueue_style($this->plugin_name."_materialize.clockpicker", plugin_dir_url(__FILE__).'css/materialize.clockpicker.css', array(), $this->version, 'all');
|
93 |
wp_enqueue_style($this->plugin_name."_materialize.icons", '//fonts.googleapis.com/icon?family=Material+Icons', array(), $this->version, 'all');
|
94 |
wp_enqueue_style($this->plugin_name."_jquery.datatables", plugin_dir_url(__FILE__).'css/jquery.dataTables.min.css', array(), $this->version, 'all');
|
95 |
wp_enqueue_style($this->plugin_name."_jquery.datatables.responsive", plugin_dir_url(__FILE__).'css/responsive.dataTables.css', array(), $this->version, 'all');
|
125 |
wp_enqueue_script('plugin-install');
|
126 |
wp_enqueue_script('updates');
|
127 |
wp_enqueue_script($this->plugin_name."_materialize", plugin_dir_url(__FILE__).'js/materialize.min.js', array('jquery'), $this->version, false);
|
128 |
+
//wp_enqueue_script($this->plugin_name."_materialize.clockpicker", plugin_dir_url(__FILE__).'js/materialize.clockpicker.js', array('jquery'), $this->version, false);
|
129 |
wp_enqueue_script($this->plugin_name."_jquery.datatables", plugin_dir_url(__FILE__).'js/jquery.dataTables.min.js', array('jquery'), $this->version, false);
|
130 |
wp_enqueue_script($this->plugin_name."_jquery.datatables.respnsive", plugin_dir_url(__FILE__).'js/dataTables.responsive.js', array('jquery'), $this->version, false);
|
131 |
wp_enqueue_script($this->plugin_name."_vakata", dirname(plugin_dir_url(__FILE__)).'/vendor/vakata/jstree/dist/jstree.min.js', array('jquery'), '3.3', false);
|
admin/css/materialize.clockpicker.css
DELETED
@@ -1,25 +0,0 @@
|
|
1 |
-
.materialize-red{background-color:#e51c23 !important}.materialize-red-text{color:#e51c23 !important}.materialize-red.lighten-5{background-color:#fdeaeb !important}.materialize-red-text.text-lighten-5{color:#fdeaeb !important}.materialize-red.lighten-4{background-color:#f8c1c3 !important}.materialize-red-text.text-lighten-4{color:#f8c1c3 !important}.materialize-red.lighten-3{background-color:#f3989b !important}.materialize-red-text.text-lighten-3{color:#f3989b !important}.materialize-red.lighten-2{background-color:#ee6e73 !important}.materialize-red-text.text-lighten-2{color:#ee6e73 !important}.materialize-red.lighten-1{background-color:#ea454b !important}.materialize-red-text.text-lighten-1{color:#ea454b !important}.materialize-red.darken-1{background-color:#d0181e !important}.materialize-red-text.text-darken-1{color:#d0181e !important}.materialize-red.darken-2{background-color:#b9151b !important}.materialize-red-text.text-darken-2{color:#b9151b !important}.materialize-red.darken-3{background-color:#a21318 !important}.materialize-red-text.text-darken-3{color:#a21318 !important}.materialize-red.darken-4{background-color:#8b1014 !important}.materialize-red-text.text-darken-4{color:#8b1014 !important}.red{background-color:#F44336 !important}.red-text{color:#F44336 !important}.red.lighten-5{background-color:#FFEBEE !important}.red-text.text-lighten-5{color:#FFEBEE !important}.red.lighten-4{background-color:#FFCDD2 !important}.red-text.text-lighten-4{color:#FFCDD2 !important}.red.lighten-3{background-color:#EF9A9A !important}.red-text.text-lighten-3{color:#EF9A9A !important}.red.lighten-2{background-color:#E57373 !important}.red-text.text-lighten-2{color:#E57373 !important}.red.lighten-1{background-color:#EF5350 !important}.red-text.text-lighten-1{color:#EF5350 !important}.red.darken-1{background-color:#E53935 !important}.red-text.text-darken-1{color:#E53935 !important}.red.darken-2{background-color:#D32F2F !important}.red-text.text-darken-2{color:#D32F2F !important}.red.darken-3{background-color:#C62828 !important}.red-text.text-darken-3{color:#C62828 !important}.red.darken-4{background-color:#B71C1C !important}.red-text.text-darken-4{color:#B71C1C !important}.red.accent-1{background-color:#FF8A80 !important}.red-text.text-accent-1{color:#FF8A80 !important}.red.accent-2{background-color:#FF5252 !important}.red-text.text-accent-2{color:#FF5252 !important}.red.accent-3{background-color:#FF1744 !important}.red-text.text-accent-3{color:#FF1744 !important}.red.accent-4{background-color:#D50000 !important}.red-text.text-accent-4{color:#D50000 !important}.pink{background-color:#e91e63 !important}.pink-text{color:#e91e63 !important}.pink.lighten-5{background-color:#fce4ec !important}.pink-text.text-lighten-5{color:#fce4ec !important}.pink.lighten-4{background-color:#f8bbd0 !important}.pink-text.text-lighten-4{color:#f8bbd0 !important}.pink.lighten-3{background-color:#f48fb1 !important}.pink-text.text-lighten-3{color:#f48fb1 !important}.pink.lighten-2{background-color:#f06292 !important}.pink-text.text-lighten-2{color:#f06292 !important}.pink.lighten-1{background-color:#ec407a !important}.pink-text.text-lighten-1{color:#ec407a !important}.pink.darken-1{background-color:#d81b60 !important}.pink-text.text-darken-1{color:#d81b60 !important}.pink.darken-2{background-color:#c2185b !important}.pink-text.text-darken-2{color:#c2185b !important}.pink.darken-3{background-color:#ad1457 !important}.pink-text.text-darken-3{color:#ad1457 !important}.pink.darken-4{background-color:#880e4f !important}.pink-text.text-darken-4{color:#880e4f !important}.pink.accent-1{background-color:#ff80ab !important}.pink-text.text-accent-1{color:#ff80ab !important}.pink.accent-2{background-color:#ff4081 !important}.pink-text.text-accent-2{color:#ff4081 !important}.pink.accent-3{background-color:#f50057 !important}.pink-text.text-accent-3{color:#f50057 !important}.pink.accent-4{background-color:#c51162 !important}.pink-text.text-accent-4{color:#c51162 !important}.purple{background-color:#9c27b0 !important}.purple-text{color:#9c27b0 !important}.purple.lighten-5{background-color:#f3e5f5 !important}.purple-text.text-lighten-5{color:#f3e5f5 !important}.purple.lighten-4{background-color:#e1bee7 !important}.purple-text.text-lighten-4{color:#e1bee7 !important}.purple.lighten-3{background-color:#ce93d8 !important}.purple-text.text-lighten-3{color:#ce93d8 !important}.purple.lighten-2{background-color:#ba68c8 !important}.purple-text.text-lighten-2{color:#ba68c8 !important}.purple.lighten-1{background-color:#ab47bc !important}.purple-text.text-lighten-1{color:#ab47bc !important}.purple.darken-1{background-color:#8e24aa !important}.purple-text.text-darken-1{color:#8e24aa !important}.purple.darken-2{background-color:#7b1fa2 !important}.purple-text.text-darken-2{color:#7b1fa2 !important}.purple.darken-3{background-color:#6a1b9a !important}.purple-text.text-darken-3{color:#6a1b9a !important}.purple.darken-4{background-color:#4a148c !important}.purple-text.text-darken-4{color:#4a148c !important}.purple.accent-1{background-color:#ea80fc !important}.purple-text.text-accent-1{color:#ea80fc !important}.purple.accent-2{background-color:#e040fb !important}.purple-text.text-accent-2{color:#e040fb !important}.purple.accent-3{background-color:#d500f9 !important}.purple-text.text-accent-3{color:#d500f9 !important}.purple.accent-4{background-color:#a0f !important}.purple-text.text-accent-4{color:#a0f !important}.deep-purple{background-color:#673ab7 !important}.deep-purple-text{color:#673ab7 !important}.deep-purple.lighten-5{background-color:#ede7f6 !important}.deep-purple-text.text-lighten-5{color:#ede7f6 !important}.deep-purple.lighten-4{background-color:#d1c4e9 !important}.deep-purple-text.text-lighten-4{color:#d1c4e9 !important}.deep-purple.lighten-3{background-color:#b39ddb !important}.deep-purple-text.text-lighten-3{color:#b39ddb !important}.deep-purple.lighten-2{background-color:#9575cd !important}.deep-purple-text.text-lighten-2{color:#9575cd !important}.deep-purple.lighten-1{background-color:#7e57c2 !important}.deep-purple-text.text-lighten-1{color:#7e57c2 !important}.deep-purple.darken-1{background-color:#5e35b1 !important}.deep-purple-text.text-darken-1{color:#5e35b1 !important}.deep-purple.darken-2{background-color:#512da8 !important}.deep-purple-text.text-darken-2{color:#512da8 !important}.deep-purple.darken-3{background-color:#4527a0 !important}.deep-purple-text.text-darken-3{color:#4527a0 !important}.deep-purple.darken-4{background-color:#311b92 !important}.deep-purple-text.text-darken-4{color:#311b92 !important}.deep-purple.accent-1{background-color:#b388ff !important}.deep-purple-text.text-accent-1{color:#b388ff !important}.deep-purple.accent-2{background-color:#7c4dff !important}.deep-purple-text.text-accent-2{color:#7c4dff !important}.deep-purple.accent-3{background-color:#651fff !important}.deep-purple-text.text-accent-3{color:#651fff !important}.deep-purple.accent-4{background-color:#6200ea !important}.deep-purple-text.text-accent-4{color:#6200ea !important}.indigo{background-color:#3f51b5 !important}.indigo-text{color:#3f51b5 !important}.indigo.lighten-5{background-color:#e8eaf6 !important}.indigo-text.text-lighten-5{color:#e8eaf6 !important}.indigo.lighten-4{background-color:#c5cae9 !important}.indigo-text.text-lighten-4{color:#c5cae9 !important}.indigo.lighten-3{background-color:#9fa8da !important}.indigo-text.text-lighten-3{color:#9fa8da !important}.indigo.lighten-2{background-color:#7986cb !important}.indigo-text.text-lighten-2{color:#7986cb !important}.indigo.lighten-1{background-color:#5c6bc0 !important}.indigo-text.text-lighten-1{color:#5c6bc0 !important}.indigo.darken-1{background-color:#3949ab !important}.indigo-text.text-darken-1{color:#3949ab !important}.indigo.darken-2{background-color:#303f9f !important}.indigo-text.text-darken-2{color:#303f9f !important}.indigo.darken-3{background-color:#283593 !important}.indigo-text.text-darken-3{color:#283593 !important}.indigo.darken-4{background-color:#1a237e !important}.indigo-text.text-darken-4{color:#1a237e !important}.indigo.accent-1{background-color:#8c9eff !important}.indigo-text.text-accent-1{color:#8c9eff !important}.indigo.accent-2{background-color:#536dfe !important}.indigo-text.text-accent-2{color:#536dfe !important}.indigo.accent-3{background-color:#3d5afe !important}.indigo-text.text-accent-3{color:#3d5afe !important}.indigo.accent-4{background-color:#304ffe !important}.indigo-text.text-accent-4{color:#304ffe !important}.blue{background-color:#2196F3 !important}.blue-text{color:#2196F3 !important}.blue.lighten-5{background-color:#E3F2FD !important}.blue-text.text-lighten-5{color:#E3F2FD !important}.blue.lighten-4{background-color:#BBDEFB !important}.blue-text.text-lighten-4{color:#BBDEFB !important}.blue.lighten-3{background-color:#90CAF9 !important}.blue-text.text-lighten-3{color:#90CAF9 !important}.blue.lighten-2{background-color:#64B5F6 !important}.blue-text.text-lighten-2{color:#64B5F6 !important}.blue.lighten-1{background-color:#42A5F5 !important}.blue-text.text-lighten-1{color:#42A5F5 !important}.blue.darken-1{background-color:#1E88E5 !important}.blue-text.text-darken-1{color:#1E88E5 !important}.blue.darken-2{background-color:#1976D2 !important}.blue-text.text-darken-2{color:#1976D2 !important}.blue.darken-3{background-color:#1565C0 !important}.blue-text.text-darken-3{color:#1565C0 !important}.blue.darken-4{background-color:#0D47A1 !important}.blue-text.text-darken-4{color:#0D47A1 !important}.blue.accent-1{background-color:#82B1FF !important}.blue-text.text-accent-1{color:#82B1FF !important}.blue.accent-2{background-color:#448AFF !important}.blue-text.text-accent-2{color:#448AFF !important}.blue.accent-3{background-color:#2979FF !important}.blue-text.text-accent-3{color:#2979FF !important}.blue.accent-4{background-color:#2962FF !important}.blue-text.text-accent-4{color:#2962FF !important}.light-blue{background-color:#03a9f4 !important}.light-blue-text{color:#03a9f4 !important}.light-blue.lighten-5{background-color:#e1f5fe !important}.light-blue-text.text-lighten-5{color:#e1f5fe !important}.light-blue.lighten-4{background-color:#b3e5fc !important}.light-blue-text.text-lighten-4{color:#b3e5fc !important}.light-blue.lighten-3{background-color:#81d4fa !important}.light-blue-text.text-lighten-3{color:#81d4fa !important}.light-blue.lighten-2{background-color:#4fc3f7 !important}.light-blue-text.text-lighten-2{color:#4fc3f7 !important}.light-blue.lighten-1{background-color:#29b6f6 !important}.light-blue-text.text-lighten-1{color:#29b6f6 !important}.light-blue.darken-1{background-color:#039be5 !important}.light-blue-text.text-darken-1{color:#039be5 !important}.light-blue.darken-2{background-color:#0288d1 !important}.light-blue-text.text-darken-2{color:#0288d1 !important}.light-blue.darken-3{background-color:#0277bd !important}.light-blue-text.text-darken-3{color:#0277bd !important}.light-blue.darken-4{background-color:#01579b !important}.light-blue-text.text-darken-4{color:#01579b !important}.light-blue.accent-1{background-color:#80d8ff !important}.light-blue-text.text-accent-1{color:#80d8ff !important}.light-blue.accent-2{background-color:#40c4ff !important}.light-blue-text.text-accent-2{color:#40c4ff !important}.light-blue.accent-3{background-color:#00b0ff !important}.light-blue-text.text-accent-3{color:#00b0ff !important}.light-blue.accent-4{background-color:#0091ea !important}.light-blue-text.text-accent-4{color:#0091ea !important}.cyan{background-color:#00bcd4 !important}.cyan-text{color:#00bcd4 !important}.cyan.lighten-5{background-color:#e0f7fa !important}.cyan-text.text-lighten-5{color:#e0f7fa !important}.cyan.lighten-4{background-color:#b2ebf2 !important}.cyan-text.text-lighten-4{color:#b2ebf2 !important}.cyan.lighten-3{background-color:#80deea !important}.cyan-text.text-lighten-3{color:#80deea !important}.cyan.lighten-2{background-color:#4dd0e1 !important}.cyan-text.text-lighten-2{color:#4dd0e1 !important}.cyan.lighten-1{background-color:#26c6da !important}.cyan-text.text-lighten-1{color:#26c6da !important}.cyan.darken-1{background-color:#00acc1 !important}.cyan-text.text-darken-1{color:#00acc1 !important}.cyan.darken-2{background-color:#0097a7 !important}.cyan-text.text-darken-2{color:#0097a7 !important}.cyan.darken-3{background-color:#00838f !important}.cyan-text.text-darken-3{color:#00838f !important}.cyan.darken-4{background-color:#006064 !important}.cyan-text.text-darken-4{color:#006064 !important}.cyan.accent-1{background-color:#84ffff !important}.cyan-text.text-accent-1{color:#84ffff !important}.cyan.accent-2{background-color:#18ffff !important}.cyan-text.text-accent-2{color:#18ffff !important}.cyan.accent-3{background-color:#00e5ff !important}.cyan-text.text-accent-3{color:#00e5ff !important}.cyan.accent-4{background-color:#00b8d4 !important}.cyan-text.text-accent-4{color:#00b8d4 !important}.teal{background-color:#009688 !important}.teal-text{color:#009688 !important}.teal.lighten-5{background-color:#e0f2f1 !important}.teal-text.text-lighten-5{color:#e0f2f1 !important}.teal.lighten-4{background-color:#b2dfdb !important}.teal-text.text-lighten-4{color:#b2dfdb !important}.teal.lighten-3{background-color:#80cbc4 !important}.teal-text.text-lighten-3{color:#80cbc4 !important}.teal.lighten-2{background-color:#4db6ac !important}.teal-text.text-lighten-2{color:#4db6ac !important}.teal.lighten-1{background-color:#26a69a !important}.teal-text.text-lighten-1{color:#26a69a !important}.teal.darken-1{background-color:#00897b !important}.teal-text.text-darken-1{color:#00897b !important}.teal.darken-2{background-color:#00796b !important}.teal-text.text-darken-2{color:#00796b !important}.teal.darken-3{background-color:#00695c !important}.teal-text.text-darken-3{color:#00695c !important}.teal.darken-4{background-color:#004d40 !important}.teal-text.text-darken-4{color:#004d40 !important}.teal.accent-1{background-color:#a7ffeb !important}.teal-text.text-accent-1{color:#a7ffeb !important}.teal.accent-2{background-color:#64ffda !important}.teal-text.text-accent-2{color:#64ffda !important}.teal.accent-3{background-color:#1de9b6 !important}.teal-text.text-accent-3{color:#1de9b6 !important}.teal.accent-4{background-color:#00bfa5 !important}.teal-text.text-accent-4{color:#00bfa5 !important}.green{background-color:#4CAF50 !important}.green-text{color:#4CAF50 !important}.green.lighten-5{background-color:#E8F5E9 !important}.green-text.text-lighten-5{color:#E8F5E9 !important}.green.lighten-4{background-color:#C8E6C9 !important}.green-text.text-lighten-4{color:#C8E6C9 !important}.green.lighten-3{background-color:#A5D6A7 !important}.green-text.text-lighten-3{color:#A5D6A7 !important}.green.lighten-2{background-color:#81C784 !important}.green-text.text-lighten-2{color:#81C784 !important}.green.lighten-1{background-color:#66BB6A !important}.green-text.text-lighten-1{color:#66BB6A !important}.green.darken-1{background-color:#43A047 !important}.green-text.text-darken-1{color:#43A047 !important}.green.darken-2{background-color:#388E3C !important}.green-text.text-darken-2{color:#388E3C !important}.green.darken-3{background-color:#2E7D32 !important}.green-text.text-darken-3{color:#2E7D32 !important}.green.darken-4{background-color:#1B5E20 !important}.green-text.text-darken-4{color:#1B5E20 !important}.green.accent-1{background-color:#B9F6CA !important}.green-text.text-accent-1{color:#B9F6CA !important}.green.accent-2{background-color:#69F0AE !important}.green-text.text-accent-2{color:#69F0AE !important}.green.accent-3{background-color:#00E676 !important}.green-text.text-accent-3{color:#00E676 !important}.green.accent-4{background-color:#00C853 !important}.green-text.text-accent-4{color:#00C853 !important}.light-green{background-color:#8bc34a !important}.light-green-text{color:#8bc34a !important}.light-green.lighten-5{background-color:#f1f8e9 !important}.light-green-text.text-lighten-5{color:#f1f8e9 !important}.light-green.lighten-4{background-color:#dcedc8 !important}.light-green-text.text-lighten-4{color:#dcedc8 !important}.light-green.lighten-3{background-color:#c5e1a5 !important}.light-green-text.text-lighten-3{color:#c5e1a5 !important}.light-green.lighten-2{background-color:#aed581 !important}.light-green-text.text-lighten-2{color:#aed581 !important}.light-green.lighten-1{background-color:#9ccc65 !important}.light-green-text.text-lighten-1{color:#9ccc65 !important}.light-green.darken-1{background-color:#7cb342 !important}.light-green-text.text-darken-1{color:#7cb342 !important}.light-green.darken-2{background-color:#689f38 !important}.light-green-text.text-darken-2{color:#689f38 !important}.light-green.darken-3{background-color:#558b2f !important}.light-green-text.text-darken-3{color:#558b2f !important}.light-green.darken-4{background-color:#33691e !important}.light-green-text.text-darken-4{color:#33691e !important}.light-green.accent-1{background-color:#ccff90 !important}.light-green-text.text-accent-1{color:#ccff90 !important}.light-green.accent-2{background-color:#b2ff59 !important}.light-green-text.text-accent-2{color:#b2ff59 !important}.light-green.accent-3{background-color:#76ff03 !important}.light-green-text.text-accent-3{color:#76ff03 !important}.light-green.accent-4{background-color:#64dd17 !important}.light-green-text.text-accent-4{color:#64dd17 !important}.lime{background-color:#cddc39 !important}.lime-text{color:#cddc39 !important}.lime.lighten-5{background-color:#f9fbe7 !important}.lime-text.text-lighten-5{color:#f9fbe7 !important}.lime.lighten-4{background-color:#f0f4c3 !important}.lime-text.text-lighten-4{color:#f0f4c3 !important}.lime.lighten-3{background-color:#e6ee9c !important}.lime-text.text-lighten-3{color:#e6ee9c !important}.lime.lighten-2{background-color:#dce775 !important}.lime-text.text-lighten-2{color:#dce775 !important}.lime.lighten-1{background-color:#d4e157 !important}.lime-text.text-lighten-1{color:#d4e157 !important}.lime.darken-1{background-color:#c0ca33 !important}.lime-text.text-darken-1{color:#c0ca33 !important}.lime.darken-2{background-color:#afb42b !important}.lime-text.text-darken-2{color:#afb42b !important}.lime.darken-3{background-color:#9e9d24 !important}.lime-text.text-darken-3{color:#9e9d24 !important}.lime.darken-4{background-color:#827717 !important}.lime-text.text-darken-4{color:#827717 !important}.lime.accent-1{background-color:#f4ff81 !important}.lime-text.text-accent-1{color:#f4ff81 !important}.lime.accent-2{background-color:#eeff41 !important}.lime-text.text-accent-2{color:#eeff41 !important}.lime.accent-3{background-color:#c6ff00 !important}.lime-text.text-accent-3{color:#c6ff00 !important}.lime.accent-4{background-color:#aeea00 !important}.lime-text.text-accent-4{color:#aeea00 !important}.yellow{background-color:#ffeb3b !important}.yellow-text{color:#ffeb3b !important}.yellow.lighten-5{background-color:#fffde7 !important}.yellow-text.text-lighten-5{color:#fffde7 !important}.yellow.lighten-4{background-color:#fff9c4 !important}.yellow-text.text-lighten-4{color:#fff9c4 !important}.yellow.lighten-3{background-color:#fff59d !important}.yellow-text.text-lighten-3{color:#fff59d !important}.yellow.lighten-2{background-color:#fff176 !important}.yellow-text.text-lighten-2{color:#fff176 !important}.yellow.lighten-1{background-color:#ffee58 !important}.yellow-text.text-lighten-1{color:#ffee58 !important}.yellow.darken-1{background-color:#fdd835 !important}.yellow-text.text-darken-1{color:#fdd835 !important}.yellow.darken-2{background-color:#fbc02d !important}.yellow-text.text-darken-2{color:#fbc02d !important}.yellow.darken-3{background-color:#f9a825 !important}.yellow-text.text-darken-3{color:#f9a825 !important}.yellow.darken-4{background-color:#f57f17 !important}.yellow-text.text-darken-4{color:#f57f17 !important}.yellow.accent-1{background-color:#ffff8d !important}.yellow-text.text-accent-1{color:#ffff8d !important}.yellow.accent-2{background-color:#ff0 !important}.yellow-text.text-accent-2{color:#ff0 !important}.yellow.accent-3{background-color:#ffea00 !important}.yellow-text.text-accent-3{color:#ffea00 !important}.yellow.accent-4{background-color:#ffd600 !important}.yellow-text.text-accent-4{color:#ffd600 !important}.amber{background-color:#ffc107 !important}.amber-text{color:#ffc107 !important}.amber.lighten-5{background-color:#fff8e1 !important}.amber-text.text-lighten-5{color:#fff8e1 !important}.amber.lighten-4{background-color:#ffecb3 !important}.amber-text.text-lighten-4{color:#ffecb3 !important}.amber.lighten-3{background-color:#ffe082 !important}.amber-text.text-lighten-3{color:#ffe082 !important}.amber.lighten-2{background-color:#ffd54f !important}.amber-text.text-lighten-2{color:#ffd54f !important}.amber.lighten-1{background-color:#ffca28 !important}.amber-text.text-lighten-1{color:#ffca28 !important}.amber.darken-1{background-color:#ffb300 !important}.amber-text.text-darken-1{color:#ffb300 !important}.amber.darken-2{background-color:#ffa000 !important}.amber-text.text-darken-2{color:#ffa000 !important}.amber.darken-3{background-color:#ff8f00 !important}.amber-text.text-darken-3{color:#ff8f00 !important}.amber.darken-4{background-color:#ff6f00 !important}.amber-text.text-darken-4{color:#ff6f00 !important}.amber.accent-1{background-color:#ffe57f !important}.amber-text.text-accent-1{color:#ffe57f !important}.amber.accent-2{background-color:#ffd740 !important}.amber-text.text-accent-2{color:#ffd740 !important}.amber.accent-3{background-color:#ffc400 !important}.amber-text.text-accent-3{color:#ffc400 !important}.amber.accent-4{background-color:#ffab00 !important}.amber-text.text-accent-4{color:#ffab00 !important}.orange{background-color:#ff9800 !important}.orange-text{color:#ff9800 !important}.orange.lighten-5{background-color:#fff3e0 !important}.orange-text.text-lighten-5{color:#fff3e0 !important}.orange.lighten-4{background-color:#ffe0b2 !important}.orange-text.text-lighten-4{color:#ffe0b2 !important}.orange.lighten-3{background-color:#ffcc80 !important}.orange-text.text-lighten-3{color:#ffcc80 !important}.orange.lighten-2{background-color:#ffb74d !important}.orange-text.text-lighten-2{color:#ffb74d !important}.orange.lighten-1{background-color:#ffa726 !important}.orange-text.text-lighten-1{color:#ffa726 !important}.orange.darken-1{background-color:#fb8c00 !important}.orange-text.text-darken-1{color:#fb8c00 !important}.orange.darken-2{background-color:#f57c00 !important}.orange-text.text-darken-2{color:#f57c00 !important}.orange.darken-3{background-color:#ef6c00 !important}.orange-text.text-darken-3{color:#ef6c00 !important}.orange.darken-4{background-color:#e65100 !important}.orange-text.text-darken-4{color:#e65100 !important}.orange.accent-1{background-color:#ffd180 !important}.orange-text.text-accent-1{color:#ffd180 !important}.orange.accent-2{background-color:#ffab40 !important}.orange-text.text-accent-2{color:#ffab40 !important}.orange.accent-3{background-color:#ff9100 !important}.orange-text.text-accent-3{color:#ff9100 !important}.orange.accent-4{background-color:#ff6d00 !important}.orange-text.text-accent-4{color:#ff6d00 !important}.deep-orange{background-color:#ff5722 !important}.deep-orange-text{color:#ff5722 !important}.deep-orange.lighten-5{background-color:#fbe9e7 !important}.deep-orange-text.text-lighten-5{color:#fbe9e7 !important}.deep-orange.lighten-4{background-color:#ffccbc !important}.deep-orange-text.text-lighten-4{color:#ffccbc !important}.deep-orange.lighten-3{background-color:#ffab91 !important}.deep-orange-text.text-lighten-3{color:#ffab91 !important}.deep-orange.lighten-2{background-color:#ff8a65 !important}.deep-orange-text.text-lighten-2{color:#ff8a65 !important}.deep-orange.lighten-1{background-color:#ff7043 !important}.deep-orange-text.text-lighten-1{color:#ff7043 !important}.deep-orange.darken-1{background-color:#f4511e !important}.deep-orange-text.text-darken-1{color:#f4511e !important}.deep-orange.darken-2{background-color:#e64a19 !important}.deep-orange-text.text-darken-2{color:#e64a19 !important}.deep-orange.darken-3{background-color:#d84315 !important}.deep-orange-text.text-darken-3{color:#d84315 !important}.deep-orange.darken-4{background-color:#bf360c !important}.deep-orange-text.text-darken-4{color:#bf360c !important}.deep-orange.accent-1{background-color:#ff9e80 !important}.deep-orange-text.text-accent-1{color:#ff9e80 !important}.deep-orange.accent-2{background-color:#ff6e40 !important}.deep-orange-text.text-accent-2{color:#ff6e40 !important}.deep-orange.accent-3{background-color:#ff3d00 !important}.deep-orange-text.text-accent-3{color:#ff3d00 !important}.deep-orange.accent-4{background-color:#dd2c00 !important}.deep-orange-text.text-accent-4{color:#dd2c00 !important}.brown{background-color:#795548 !important}.brown-text{color:#795548 !important}.brown.lighten-5{background-color:#efebe9 !important}.brown-text.text-lighten-5{color:#efebe9 !important}.brown.lighten-4{background-color:#d7ccc8 !important}.brown-text.text-lighten-4{color:#d7ccc8 !important}.brown.lighten-3{background-color:#bcaaa4 !important}.brown-text.text-lighten-3{color:#bcaaa4 !important}.brown.lighten-2{background-color:#a1887f !important}.brown-text.text-lighten-2{color:#a1887f !important}.brown.lighten-1{background-color:#8d6e63 !important}.brown-text.text-lighten-1{color:#8d6e63 !important}.brown.darken-1{background-color:#6d4c41 !important}.brown-text.text-darken-1{color:#6d4c41 !important}.brown.darken-2{background-color:#5d4037 !important}.brown-text.text-darken-2{color:#5d4037 !important}.brown.darken-3{background-color:#4e342e !important}.brown-text.text-darken-3{color:#4e342e !important}.brown.darken-4{background-color:#3e2723 !important}.brown-text.text-darken-4{color:#3e2723 !important}.blue-grey{background-color:#607d8b !important}.blue-grey-text{color:#607d8b !important}.blue-grey.lighten-5{background-color:#eceff1 !important}.blue-grey-text.text-lighten-5{color:#eceff1 !important}.blue-grey.lighten-4{background-color:#cfd8dc !important}.blue-grey-text.text-lighten-4{color:#cfd8dc !important}.blue-grey.lighten-3{background-color:#b0bec5 !important}.blue-grey-text.text-lighten-3{color:#b0bec5 !important}.blue-grey.lighten-2{background-color:#90a4ae !important}.blue-grey-text.text-lighten-2{color:#90a4ae !important}.blue-grey.lighten-1{background-color:#78909c !important}.blue-grey-text.text-lighten-1{color:#78909c !important}.blue-grey.darken-1{background-color:#546e7a !important}.blue-grey-text.text-darken-1{color:#546e7a !important}.blue-grey.darken-2{background-color:#455a64 !important}.blue-grey-text.text-darken-2{color:#455a64 !important}.blue-grey.darken-3{background-color:#37474f !important}.blue-grey-text.text-darken-3{color:#37474f !important}.blue-grey.darken-4{background-color:#263238 !important}.blue-grey-text.text-darken-4{color:#263238 !important}.grey{background-color:#9e9e9e !important}.grey-text{color:#9e9e9e !important}.grey.lighten-5{background-color:#fafafa !important}.grey-text.text-lighten-5{color:#fafafa !important}.grey.lighten-4{background-color:#f5f5f5 !important}.grey-text.text-lighten-4{color:#f5f5f5 !important}.grey.lighten-3{background-color:#eee !important}.grey-text.text-lighten-3{color:#eee !important}.grey.lighten-2{background-color:#e0e0e0 !important}.grey-text.text-lighten-2{color:#e0e0e0 !important}.grey.lighten-1{background-color:#bdbdbd !important}.grey-text.text-lighten-1{color:#bdbdbd !important}.grey.darken-1{background-color:#757575 !important}.grey-text.text-darken-1{color:#757575 !important}.grey.darken-2{background-color:#616161 !important}.grey-text.text-darken-2{color:#616161 !important}.grey.darken-3{background-color:#424242 !important}.grey-text.text-darken-3{color:#424242 !important}.grey.darken-4{background-color:#212121 !important}.grey-text.text-darken-4{color:#212121 !important}.shades.black{background-color:#000 !important}.shades-text.text-black{color:#000 !important}.shades.white{background-color:#fff !important}.shades-text.text-white{color:#fff !important}.shades.transparent{background-color:transparent !important}.shades-text.text-transparent{color:transparent !important}.black{background-color:#000 !important}.black-text{color:#000 !important}.white{background-color:#fff !important}.white-text{color:#fff !important}.transparent{background-color:transparent !important}.transparent-text{color:transparent !important}/*!
|
2 |
-
* ClockPicker v0.0.7 for jQuery (http://weareoutman.github.io/clockpicker/)
|
3 |
-
* Copyright 2014 Wang Shenwei.
|
4 |
-
* Licensed under MIT (https://github.com/weareoutman/clockpicker/blob/gh-pages/LICENSE)
|
5 |
-
*
|
6 |
-
* Further modified
|
7 |
-
* Copyright 2015 Ching Yaw Hao.
|
8 |
-
*
|
9 |
-
* Bootstrap v3.1.1 (http://getbootstrap.com)
|
10 |
-
* Copyright 2011-2014 Twitter, Inc.
|
11 |
-
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
12 |
-
*/.picker__box{background:#fff}.picker__date-display{background-color:#26a69a}.clockpicker-display{vertical-align:middle;display:inline-block;margin:auto;height:85px;font-size:70px;padding:10px;padding-bottom:0px;color:#b2dfdb}.clockpicker-display-column{float:left}.clockpicker-display-am-pm{padding-left:5px;vertical-align:bottom;height:85px}.clockpicker-span-am-pm{display:inline-block;font-size:23px;line-height:25px;color:#b2dfdb}.clockpicker-span-hours,.clockpicker-span-minutes{-webkit-animation-duration:500ms;animation-duration:500ms;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-transition:color 500ms;-moz-transition:color 500ms;-ms-transition:color 500ms;-o-transition:color 500ms;transition:color 500ms;cursor:pointer}@-webkit-keyframes pulse{from{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}50%{-webkit-transform:scale3d(1.1, 1.1, 1.1);transform:scale3d(1.1, 1.1, 1.1)}to{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}}@-moz-keyframes pulse{from{-moz-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}50%{-moz-transform:scale3d(1.1, 1.1, 1.1);transform:scale3d(1.1, 1.1, 1.1)}to{-moz-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}}@-ms-keyframes pulse{from{-ms-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}50%{-ms-transform:scale3d(1.1, 1.1, 1.1);transform:scale3d(1.1, 1.1, 1.1)}to{-ms-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}}@-o-keyframes pulse{from{-o-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}50%{-o-transform:scale3d(1.1, 1.1, 1.1);transform:scale3d(1.1, 1.1, 1.1)}to{-o-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}}@keyframes pulse{from{transform:scale3d(1, 1, 1)}50%{transform:scale3d(1.1, 1.1, 1.1)}to{transform:scale3d(1, 1, 1)}}#click-am,#click-pm{cursor:pointer}.clockpicker-span-hours.text-primary,.clockpicker-span-minutes.text-primary,#click-am.text-primary,#click-pm.text-primary{-webkit-animation-name:pulse;animation-name:pulse;color:white}.clockpicker-moving{cursor:move}.clockpicker-plate{background-color:#eeeeee;border-radius:50%;width:270px;height:270px;overflow:visible;position:relative;margin:auto;margin-top:20px;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.clockpicker-canvas,.clockpicker-dial{width:270px;height:270px;position:absolute;left:-1px;top:-1px}.clockpicker-minutes{visibility:hidden}.clockpicker-tick{border-radius:50%;color:#666;line-height:40px;text-align:center;width:40px;height:40px;position:absolute;cursor:pointer;-webkit-transition:background-color 300ms;-moz-transition:background-color 300ms;-ms-transition:background-color 300ms;-o-transition:background-color 300ms;transition:background-color 300ms;background-color:rgba(0,150,136,0)}.clockpicker-tick.active,.clockpicker-tick:hover{background-color:rgba(0,150,136,0.25)}.clockpicker-dial{-webkit-transition:-webkit-transform 350ms, opacity 350ms;-moz-transition:-moz-transform 350ms, opacity 350ms;-ms-transition:-ms-transform 350ms, opacity 350ms;-o-transition:-o-transform 350ms, opacity 350ms;transition:transform 350ms, opacity 350ms}.clockpicker-dial-out{opacity:0}.clockpicker-hours.clockpicker-dial-out{-webkit-transform:scale(1.2, 1.2);-moz-transform:scale(1.2, 1.2);-ms-transform:scale(1.2, 1.2);-o-transform:scale(1.2, 1.2);transform:scale(1.2, 1.2)}.clockpicker-minutes.clockpicker-dial-out{-webkit-transform:scale(0.8, 0.8);-moz-transform:scale(0.8, 0.8);-ms-transform:scale(0.8, 0.8);-o-transform:scale(0.8, 0.8);transform:scale(0.8, 0.8)}.clockpicker-canvas{-webkit-transition:opacity 300ms;-moz-transition:opacity 300ms;-ms-transition:opacity 300ms;-o-transition:opacity 300ms;transition:opacity 300ms}.clockpicker-canvas-out{opacity:0.25}.clockpicker-canvas-bearing{stroke:none;fill:rgba(0,77,64,0.75)}.clockpicker-canvas-fg{stroke:none;fill:rgba(0,77,64,0)}.clockpicker-canvas-fg.active{fill:rgba(0,77,64,0.5)}.clockpicker-canvas-bg{stroke:none;fill:rgba(0,150,136,0.25)}.clockpicker-canvas-bg-trans{fill:rgba(0,150,136,0.25)}.clockpicker-canvas line{stroke:rgba(0,150,136,0.25);stroke-width:1;stroke-linecap:round}.clockpicker-am-pm-block{margin-top:-10px;width:100%;height:50px}.clockpicker-button.am-button{height:45px;width:45px;float:left}.clockpicker-button.pm-button{height:45px;width:45px;float:right}button{color:#343434}.btn-floating.btn-flat:focus,.btn-floating.btn-flat:visited{background-color:transparent}.btn-floating.btn-flat:hover{box-shadow:none;background-color:transparent}.btn-floating.btn-flat.active{background-color:rgba(0,150,136,0.25)}.btn-floating.btn-flat:active{background-color:rgba(0,150,136,0.5)}.picker__footer .clockpicker-button{margin:auto;margin-top:15px}.picker__footer .clockpicker-button:focus{background-color:transparent}.picker__footer .clockpicker-button:active{background-color:rgba(0,150,136,0.25)}/*!
|
13 |
-
* ClockPicker v0.0.7 for jQuery (http://weareoutman.github.io/clockpicker/)
|
14 |
-
* Copyright 2014 Wang Shenwei.
|
15 |
-
* Licensed under MIT (https://github.com/weareoutman/clockpicker/blob/gh-pages/LICENSE)
|
16 |
-
*
|
17 |
-
* Further modified
|
18 |
-
* Copyright 2015 Ching Yaw Hao.
|
19 |
-
*
|
20 |
-
* Bootstrap v3.1.1 (http://getbootstrap.com)
|
21 |
-
* Copyright 2011-2014 Twitter, Inc.
|
22 |
-
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
23 |
-
*/.darktheme .picker__box{background-color:#212121}.darktheme .picker__date-display{background-color:transparent}.darktheme .clockpicker-display{color:white}.darktheme .clockpicker-span-am-pm{color:white}.darktheme .clockpicker-span-hours.text-primary,.darktheme .clockpicker-span-minutes.text-primary,.darktheme #click-am.text-primary,.darktheme #click-pm.text-primary{color:#ff4081}.darktheme .clockpicker-plate{background-color:transparent}.darktheme .clockpicker-tick{color:white;background-color:rgba(255,64,129,0)}.darktheme .clockpicker-tick.active,.darktheme .clockpicker-tick:hover{background-color:rgba(255,64,129,0.25)}.darktheme .clockpicker-canvas-bearing{fill:white}.darktheme .clockpicker-canvas-fg{fill:rgba(255,64,129,0)}.darktheme .clockpicker-canvas-fg.active{fill:rgba(255,64,129,0.5)}.darktheme .clockpicker-canvas-bg{fill:rgba(255,64,129,0.25)}.darktheme .clockpicker-canvas-bg-trans{fill:rgba(255,64,129,0.25)}.darktheme .clockpicker-canvas line{stroke:rgba(255,64,129,0.25)}.darktheme button{color:white}.darktheme .btn-floating.btn-flat.active{background-color:rgba(255,64,129,0.25)}.darktheme .btn-floating.btn-flat:active{background-color:rgba(255,64,129,0.5)}.darktheme .picker__footer .clockpicker-button:active{background-color:rgba(255,64,129,0.25)}
|
24 |
-
|
25 |
-
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvTWF0ZXJpYWxpemUvc2Fzcy9jb21wb25lbnRzL19jb2xvci5zY3NzIiwiY29tcG9uZW50cy9fcHJpbWFyeS5zY3NzIiwiY29tcG9uZW50cy9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL01hdGVyaWFsaXplL3Nhc3MvY29tcG9uZW50cy9fdmFyaWFibGVzLnNjc3MiLCJjb21wb25lbnRzL19kYXJrLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBaVhNLGdCQUFBLEFBQWdCLENBQ2QsZ0JBQWdCLENBeFdSLE9BQU8sQ0F3V2dCLFVBQVUsQ0FDMUMsQUFDRCxxQkFBQSxBQUFxQixDQUNuQixLQUFLLENBM1dHLE9BQU8sQ0EyV0ssVUFBVSxDQUMvQixBQUdELGdCQUFnQixVQUFoQixBQUEwQixDQUN4QixnQkFBZ0IsQ0EvV1IsT0FBTyxDQStXZ0IsVUFBVSxDQUMxQyxBQUNELHFCQUFxQixlQUFyQixBQUFvQyxDQUNsQyxLQUFLLENBbFhHLE9BQU8sQ0FrWEssVUFBVSxDQUpoQyxBQUtDLGdCQUxlLFVBQWhCLEFBQTBCLENBQ3hCLGdCQUFnQixDQTlXUixPQUFPLENBOFdnQixVQUFVLENBQzFDLEFBQ0QscUJBQXFCLGVBQXJCLEFBQW9DLENBQ2xDLEtBQUssQ0FqWEcsT0FBTyxDQWlYSyxVQUFVLENBSmhDLEFBS0MsZ0JBTGUsVUFBaEIsQUFBMEIsQ0FDeEIsZ0JBQWdCLENBN1dSLE9BQU8sQ0E2V2dCLFVBQVUsQ0FDMUMsQUFDRCxxQkFBcUIsZUFBckIsQUFBb0MsQ0FDbEMsS0FBSyxDQWhYRyxPQUFPLENBZ1hLLFVBQVUsQ0FKaEMsQUFLQyxnQkFMZSxVQUFoQixBQUEwQixDQUN4QixnQkFBZ0IsQ0E1V1IsT0FBTyxDQTRXZ0IsVUFBVSxDQUMxQyxBQUNELHFCQUFxQixlQUFyQixBQUFvQyxDQUNsQyxLQUFLLENBL1dHLE9BQU8sQ0ErV0ssVUFBVSxDQUpoQyxBQUtDLGdCQUxl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QUMsSUFBSSxBQUFDLENBQ3JCLE1BQU0sQ0FBRSxxQkFBSSxDQTdEcEIsQUE4REssVUE5REssQ0FnRU4sTUFBTSxBQUFDLENBQ0gsS0FBSyxDQUFFLEtBQU0sQ0FqRXJCLEFBa0VLLFVBbEVLLENBb0VOLGFBQWEsU0FBUyxPQUFPLEFBQUMsQ0FDMUIsZ0JBQWdCLENBQUUscUJBQUksQ0FyRTlCLEFBc0VLLFVBdEVLLENBd0VOLGFBQWEsU0FBUyxPQUFPLEFBQUMsQ0FDMUIsZ0JBQWdCLENBQUUsb0JBQUksQ0F6RTlCLEFBMEVLLFVBMUVLLENBNEVOLGVBQWUsQ0FBQyxtQkFBbUIsT0FBTyxBQUFDLENBQ3ZDLGdCQUFnQixDQUFFLHFCQUFJLENBQ3pCIiwiZmlsZSI6Im1hdGVyaWFsaXplLmNsb2NrcGlja2VyLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIFV0aWxpdHkgQ29sb3IgQ2xhc3Nlc1xuXG4vLy5zdWNjZXNzIHtcbi8vXG4vL31cblxuLy8gR29vZ2xlIENvbG9yIFBhbGV0dGUgZGVmaW5lZDogaHR0cDovL3d3dy5nb29nbGUuY29tL2Rlc2lnbi9zcGVjL3N0eWxlL2NvbG9yLmh0bWxcblxuXG4kbWF0ZXJpYWxpemUtcmVkOiAoXG4gIFwiYmFzZVwiOiAgICAgICAjZTUxYzIzLFxuICBcImxpZ2h0ZW4tNVwiOiAgI2ZkZWFlYixcbiAgXCJsaWdodGVuLTRcIjogICNmOGMxYzMsXG4gIFwibGlnaHRlbi0zXCI6ICAjZjM5ODliLFxuICBcImxpZ2h0ZW4tMlwiOiAgI2VlNmU3MyxcbiAgXCJsaWdodGVuLTFcIjogICNlYTQ1NGIsXG4gIFwiZGFya2VuLTFcIjogICAjZDAxODFlLFxuICBcImRhcmtlbi0yXCI6ICAgI2I5MTUxYixcbiAgXCJkYXJrZW4tM1wiOiAgICNhMjEzMTgsXG4gIFwiZGFya2VuLTRcIjogICAjOGIxMDE0LFxuKTtcblxuJHJlZDogKFxuICBcImJhc2VcIjogICAgICAgI0Y0NDMzNixcbiAgXCJsaWdodGVuLTVcIjogICNGRkVCRUUsXG4gIFwibGlnaHRlbi00XCI6ICAjRkZDREQyLFxuICBcImxpZ2h0ZW4tM1wiOiAgI0VGOUE5QSxcbiAgXCJsaWdodGVuLTJcIjogICNFNTczNzMsXG4gIFwibGlnaHRlbi0xXCI6ICAjRUY1MzUwLFxuICBcImRhcmtlbi0xXCI6ICAgI0U1MzkzNSxcbiAgXCJkYXJrZW4tMlwiOiAgICNEMzJGMkYsXG4gIFwiZGFya2VuLTNcIjogICAjQzYyODI4LFxuICBcImRhcmtlbi00XCI6ICAgI0I3MUMxQyxcbiAgXCJhY2NlbnQtMVwiOiAgICAjRkY4QTgwLFxuICBcImFjY2VudC0yXCI6ICAgICNGRjUyNTIsXG4gIFwiYWNjZW50LTNcIjogICAgI0ZGMTc0NCxcbiAgXCJhY2NlbnQtNFwiOiAgICAjRDUwMDAwXG4pO1xuXG4kcGluazogKFxuICBcImJhc2VcIjogICAgICAgI2U5MWU2MyxcbiAgXCJsaWdodGVuLTVcIjogICNmY2U0ZWMsXG4gIFwibGlnaHRlbi00XCI6ICAjZjhiYmQwLFxuICBcImxpZ2h0ZW4tM1wiOiAgI2Y0OGZiMSxcbiAgXCJsaWdodGVuLTJcIjogICNmMDYyOTIsXG4gIFwibGlnaHRlbi0xXCI6ICAjZWM0MDdhLFxuICBcImRhcmtlbi0xXCI6ICAgI2Q4MWI2MCxcbiAgXCJkYXJrZW4tMlwiOiAgICNjMjE4NWIsXG4gIFwiZGFya2VuLTNcIjogICAjYWQxNDU3LFxuICBcImRhcmtlbi00XCI6ICAgIzg4MGU0ZixcbiAgXCJhY2NlbnQtMVwiOiAgICAjZmY4MGFiLFxuICBcImFjY2VudC0yXCI6ICAgICNmZjQwODEsXG4gIFwiYWNjZW50LTNcIjogICAgI2Y1MDA1NyxcbiAgXCJhY2NlbnQtNFwiOiAgICAjYzUxMTYyXG4pO1xuXG4kcHVycGxlOiAoXG4gIFwiYmFzZVwiOiAgICAgICAjOWMyN2IwLFxuICBcImxpZ2h0ZW4tNVwiOiAgI2YzZTVmNSxcbiAgXCJsaWdodGVuLTRcIjogICNlMWJlZTcsXG4gIFwibGlnaHRlbi0zXCI6ICAjY2U5M2Q4LFxuICBcImxpZ2h0ZW4tMlwiOiAgI2JhNjhjOCxcbiAgXCJsaWdodGVuLTFcIjogICNhYjQ3YmMsXG4gIFwiZGFya2VuLTFcIjogICAjOGUyNGFhLFxuICBcImRhcmtlbi0yXCI6ICAgIzdiMWZhMixcbiAgXCJkYXJrZW4tM1wiOiAgICM2YTFiOWEsXG4gIFwiZGFya2VuLTRcIjogICAjNGExNDhjLFxuICBcImFjY2VudC0xXCI6ICAgICNlYTgwZmMsXG4gIFwiYWNjZW50LTJcIjogICAgI2UwNDBmYixcbiAgXCJhY2NlbnQtM1wiOiAgICAjZDUwMGY5LFxuICBcImFjY2VudC00XCI6ICAgICNhYTAwZmZcbik7XG5cbiRkZWVwLXB1cnBsZTogKFxuICBcImJhc2VcIjogICAgICAgIzY3M2FiNyxcbiAgXCJsaWdodGVuLTVcIjogICNlZGU3ZjYsXG4gIFwibGlnaHRlbi00XCI6ICAjZDFjNGU5LFxuICBcImxpZ2h0ZW4tM1wiOiAgI2IzOWRkYixcbiAgXCJsaWdodGVuLTJcIjogICM5NTc1Y2QsXG4gIFwibGlnaHRlbi0xXCI6ICAjN2U1N2MyLFxuICBcImRhcmtlbi0xXCI6ICAgIzVlMzViMSxcbiAgXCJkYXJrZW4tMlwiOiAgICM1MTJkYTgsXG4gIFwiZGFya2VuLTNcIjogICAjNDUyN2EwLFxuICBcImRhcmtlbi00XCI6ICAgIzMxMWI5MixcbiAgXCJhY2NlbnQtMVwiOiAgICAjYjM4OGZmLFxuICBcImFjY2VudC0yXCI6ICAgICM3YzRkZmYsXG4gIFwiYWNjZW50LTNcIjogICAgIzY1MWZmZixcbiAgXCJhY2NlbnQtNFwiOiAgICAjNjIwMGVhXG4pO1xuXG4kaW5kaWdvOiAoXG4gIFwiYmFzZVwiOiAgICAgICAjM2Y1MWI1LFxuICBcImxpZ2h0ZW4tNVwiOiAgI2U4ZWFmNixcbiAgXCJsaWdodGVuLTRcIjogICNjNWNhZTksXG4gIFwibGlnaHRlbi0zXCI6ICAjOWZhOGRhLFxuICBcImxpZ2h0ZW4tMlwiOiAgIzc5ODZjYixcbiAgXCJsaWdodGVuLTFcIjogICM1YzZiYzAsXG4gIFwiZGFya2VuLTFcIjogICAjMzk0OWFiLFxuICBcImRhcmtlbi0yXCI6ICAgIzMwM2Y5ZixcbiAgXCJkYXJrZW4tM1wiOiAgICMyODM1OTMsXG4gIFwiZGFya2VuLTRcIjogICAjMWEyMzdlLFxuICBcImFjY2VudC0xXCI6ICAgICM4YzllZmYsXG4gIFwiYWNjZW50LTJcIjogICAgIzUzNmRmZSxcbiAgXCJhY2NlbnQtM1wiOiAgICAjM2Q1YWZlLFxuICBcImFjY2VudC00XCI6ICAgICMzMDRmZmVcbik7XG5cbiRibHVlOiAoXG4gIFwiYmFzZVwiOiAgICAgICAjMjE5NkYzLFxuICBcImxpZ2h0ZW4tNVwiOiAgI0UzRjJGRCxcbiAgXCJsaWdodGVuLTRcIjogICNCQkRFRkIsXG4gIFwibGlnaHRlbi0zXCI6ICAjOTBDQUY5LFxuICBcImxpZ2h0ZW4tMlwiOiAgIzY0QjVGNixcbiAgXCJsaWdodGVuLTFcIjogICM0MkE1RjUsXG4gIFwiZGFya2VuLTFcIjogICAjMUU4OEU1LFxuICBcImRhcmtlbi0yXCI6ICAgIzE5NzZEMixcbiAgXCJkYXJrZW4tM1wiOiAgICMxNTY1QzAsXG4gIFwiZGFya2VuLTRcIjogICAjMEQ0N0ExLFxuICBcImFjY2VudC0xXCI6ICAgICM4MkIxRkYsXG4gIFwiYWNjZW50LTJcIjogICAgIzQ0OEFGRixcbiAgXCJhY2NlbnQtM1wiOiAgICAjMjk3OUZGLFxuICBcImFjY2VudC00XCI6ICAgICMyOTYyRkZcbik7XG5cbiRsaWdodC1ibHVlOiAoXG4gIFwiYmFzZVwiOiAgICAgICAjMDNhOWY0LFxuICBcImxpZ2h0ZW4tNVwiOiAgI2UxZjVmZSxcbiAgXCJsaWdodGVuLTRcIjogICNiM2U1ZmMsXG4gIFwibGlnaHRlbi0zXCI6ICAjODFkNGZhLFxuICBcImxpZ2h0ZW4tMlwiOiAgIzRmYzNmNyxcbiAgXCJsaWdodGVuLTFcIjogICMyOWI2ZjYsXG4gIFwiZGFya2VuLTFcIjogICAjMDM5YmU1LFxuICBcImRhcmtlbi0yXCI6ICAgIzAyODhkMSxcbiAgXCJkYXJrZW4tM1wiOiAgICMwMjc3YmQsXG4gIFwiZGFya2VuLTRcIjogICAjMDE1NzliLFxuICBcImFjY2VudC0xXCI6ICAgICM4MGQ4ZmYsXG4gIFwiYWNjZW50LTJcIjogICAgIzQwYzRmZixcbiAgXCJhY2NlbnQtM1wiOiAgICAjMDBiMGZmLFxuICBcImFjY2VudC00XCI6ICAgICMwMDkxZWFcbik7XG5cbiRjeWFuOiAoXG4gIFwiYmFzZVwiOiAgICAgICAjMDBiY2Q0LFxuICBcImxpZ2h0ZW4tNVwiOiAgI2UwZjdmYSxcbiAgXCJsaWdodGVuLTRcIjogICNiMmViZjIsXG4gIFwibGlnaHRlbi0zXCI6ICAjODBkZWVhLFxuICBcImxpZ2h0ZW4tMlwiOiAgIzRkZDBlMSxcbiAgXCJsaWdodGVuLTFcIjogICMyNmM2ZGEsXG4gIFwiZGFya2VuLTFcIjogICAjMDBhY2MxLFxuICBcImRhcmtlbi0yXCI6ICAgIzAwOTdhNyxcbiAgXCJkYXJrZW4tM1wiOiAgICMwMDgzOGYsXG4gIFwiZGFya2VuLTRcIjogICAjMDA2MDY0LFxuICBcImFjY2VudC0xXCI6ICAgICM4NGZmZmYsXG4gIFwiYWNjZW50LTJcIjogICAgIzE4ZmZmZixcbiAgXCJhY2NlbnQtM1wiOiAgICAjMDBlNWZmLFxuICBcImFjY2VudC00XCI6ICAgICMwMGI4ZDRcbik7XG5cbiR0ZWFsOiAoXG4gIFwiYmFzZVwiOiAgICAgICAjMDA5Njg4LFxuICBcImxpZ2h0ZW4tNVwiOiAgI2UwZjJmMSxcbiAgXCJsaWdodGVuLTRcIjogICNiMmRmZGIsXG4gIFwibGlnaHRlbi0zXCI6ICAjODBjYmM0LFxuICBcImxpZ2h0ZW4tMlwiOiAgIzRkYjZhYyxcbiAgXCJsaWdodGVuLTFcIjogICMyNmE2OWEsXG4gIFwiZGFya2VuLTFcIjogICAjMDA4OTdiLFxuICBcImRhcmtlbi0yXCI6ICAgIzAwNzk2YixcbiAgXCJkYXJrZW4tM1wiOiAgICMwMDY5NWMsXG4gIFwiZGFya2VuLTRcIjogICAjMDA0ZDQwLFxuICBcImFjY2VudC0xXCI6ICAgICNhN2ZmZWIsXG4gIFwiYWNjZW50LTJcIjogICAgIzY0ZmZkYSxcbiAgXCJhY2NlbnQtM1wiOiAgICAjMWRlOWI2LFxuICBcImFjY2VudC00XCI6ICAgICMwMGJmYTVcbik7XG5cbiRncmVlbjogKFxuICBcImJhc2VcIjogICAgICAgIzRDQUY1MCxcbiAgXCJsaWdodGVuLTVcIjogICNFOEY1RTksXG4gIFwibGlnaHRlbi00XCI6ICAjQzhFNkM5LFxuICBcImxpZ2h0ZW4tM1wiOiAgI0E1RDZBNyxcbiAgXCJsaWdodGVuLTJcIjogICM4MUM3ODQsXG4gIFwibGlnaHRlbi0xXCI6ICAjNjZCQjZBLFxuICBcImRhcmtlbi0xXCI6ICAgIzQzQTA0NyxcbiAgXCJkYXJrZW4tMlwiOiAgICMzODhFM0MsXG4gIFwiZGFya2VuLTNcIjogICAjMkU3RDMyLFxuICBcImRhcmtlbi00XCI6ICAgIzFCNUUyMCxcbiAgXCJhY2NlbnQtMVwiOiAgICAjQjlGNkNBLFxuICBcImFjY2VudC0yXCI6ICAgICM2OUYwQUUsXG4gIFwiYWNjZW50LTNcIjogICAgIzAwRTY3NixcbiAgXCJhY2NlbnQtNFwiOiAgICAjMDBDODUzXG4pO1xuXG4kbGlnaHQtZ3JlZW46IChcbiAgXCJiYXNlXCI6ICAgICAgICM4YmMzNGEsXG4gIFwibGlnaHRlbi01XCI6ICAjZjFmOGU5LFxuICBcImxpZ2h0ZW4tNFwiOiAgI2RjZWRjOCxcbiAgXCJsaWdodGVuLTNcIjogICNjNWUxYTUsXG4gIFwibGlnaHRlbi0yXCI6ICAjYWVkNTgxLFxuICBcImxpZ2h0ZW4tMVwiOiAgIzljY2M2NSxcbiAgXCJkYXJrZW4tMVwiOiAgICM3Y2IzNDIsXG4gIFwiZGFya2VuLTJcIjogICAjNjg5ZjM4LFxuICBcImRhcmtlbi0zXCI6ICAgIzU1OGIyZixcbiAgXCJkYXJrZW4tNFwiOiAgICMzMzY5MWUsXG4gIFwiYWNjZW50LTFcIjogICAgI2NjZmY5MCxcbiAgXCJhY2NlbnQtMlwiOiAgICAjYjJmZjU5LFxuICBcImFjY2VudC0zXCI6ICAgICM3NmZmMDMsXG4gIFwiYWNjZW50LTRcIjogICAgIzY0ZGQxN1xuKTtcblxuJGxpbWU6IChcbiAgXCJiYXNlXCI6ICAgICAgICNjZGRjMzksXG4gIFwibGlnaHRlbi01XCI6ICAjZjlmYmU3LFxuICBcImxpZ2h0ZW4tNFwiOiAgI2YwZjRjMyxcbiAgXCJsaWdodGVuLTNcIjogICNlNmVlOWMsXG4gIFwibGlnaHRlbi0yXCI6ICAjZGNlNzc1LFxuICBcImxpZ2h0ZW4tMVwiOiAgI2Q0ZTE1NyxcbiAgXCJkYXJrZW4tMVwiOiAgICNjMGNhMzMsXG4gIFwiZGFya2VuLTJcIjogICAjYWZiNDJiLFxuICBcImRhcmtlbi0zXCI6ICAgIzllOWQyNCxcbiAgXCJkYXJrZW4tNFwiOiAgICM4Mjc3MTcsXG4gIFwiYWNjZW50LTFcIjogICAgI2Y0ZmY4MSxcbiAgXCJhY2NlbnQtMlwiOiAgICAjZWVmZjQxLFxuICBcImFjY2VudC0zXCI6ICAgICNjNmZmMDAsXG4gIFwiYWNjZW50LTRcIjogICAgI2FlZWEwMFxuKTtcblxuJHllbGxvdzogKFxuICBcImJhc2VcIjogICAgICAgI2ZmZWIzYixcbiAgXCJsaWdodGVuLTVcIjogICNmZmZkZTcsXG4gIFwibGlnaHRlbi00XCI6ICAjZmZmOWM0LFxuICBcImxpZ2h0ZW4tM1wiOiAgI2ZmZjU5ZCxcbiAgXCJsaWdodGVuLTJcIjogICNmZmYxNzYsXG4gIFwibGlnaHRlbi0xXCI6ICAjZmZlZTU4LFxuICBcImRhcmtlbi0xXCI6ICAgI2ZkZDgzNSxcbiAgXCJkYXJrZW4tMlwiOiAgICNmYmMwMmQsXG4gIFwiZGFya2VuLTNcIjogICAjZjlhODI1LFxuICBcImRhcmtlbi00XCI6ICAgI2Y1N2YxNyxcbiAgXCJhY2NlbnQtMVwiOiAgICAjZmZmZjhkLFxuICBcImFjY2VudC0yXCI6ICAgICNmZmZmMDAsXG4gIFwiYWNjZW50LTNcIjogICAgI2ZmZWEwMCxcbiAgXCJhY2NlbnQtNFwiOiAgICAjZmZkNjAwXG4pO1xuXG4kYW1iZXI6IChcbiAgXCJiYXNlXCI6ICAgICAgICNmZmMxMDcsXG4gIFwibGlnaHRlbi01XCI6ICAjZmZmOGUxLFxuICBcImxpZ2h0ZW4tNFwiOiAgI2ZmZWNiMyxcbiAgXCJsaWdodGVuLTNcIjogICNmZmUwODIsXG4gIFwibGlnaHRlbi0yXCI6ICAjZmZkNTRmLFxuICBcImxpZ2h0ZW4tMVwiOiAgI2ZmY2EyOCxcbiAgXCJkYXJrZW4tMVwiOiAgICNmZmIzMDAsXG4gIFwiZGFya2VuLTJcIjogICAjZmZhMDAwLFxuICBcImRhcmtlbi0zXCI6ICAgI2ZmOGYwMCxcbiAgXCJkYXJrZW4tNFwiOiAgICNmZjZmMDAsXG4gIFwiYWNjZW50LTFcIjogICAgI2ZmZTU3ZixcbiAgXCJhY2NlbnQtMlwiOiAgICAjZmZkNzQwLFxuICBcImFjY2VudC0zXCI6ICAgICNmZmM0MDAsXG4gIFwiYWNjZW50LTRcIjogICAgI2ZmYWIwMFxuKTtcblxuJG9yYW5nZTogKFxuICBcImJhc2VcIjogICAgICAgI2ZmOTgwMCxcbiAgXCJsaWdodGVuLTVcIjogICNmZmYzZTAsXG4gIFwibGlnaHRlbi00XCI6ICAjZmZlMGIyLFxuICBcImxpZ2h0ZW4tM1wiOiAgI2ZmY2M4MCxcbiAgXCJsaWdodGVuLTJcIjogICNmZmI3NGQsXG4gIFwibGlnaHRlbi0xXCI6ICAjZmZhNzI2LFxuICBcImRhcmtlbi0xXCI6ICAgI2ZiOGMwMCxcbiAgXCJkYXJrZW4tMlwiOiAgICNmNTdjMDAsXG4gIFwiZGFya2VuLTNcIjogICAjZWY2YzAwLFxuICBcImRhcmtlbi00XCI6ICAgI2U2NTEwMCxcbiAgXCJhY2NlbnQtMVwiOiAgICAjZmZkMTgwLFxuICBcImFjY2VudC0yXCI6ICAgICNmZmFiNDAsXG4gIFwiYWNjZW50LTNcIjogICAgI2ZmOTEwMCxcbiAgXCJhY2NlbnQtNFwiOiAgICAjZmY2ZDAwXG4pO1xuXG4kZGVlcC1vcmFuZ2U6IChcbiAgXCJiYXNlXCI6ICAgICAgICNmZjU3MjIsXG4gIFwibGlnaHRlbi01XCI6ICAjZmJlOWU3LFxuICBcImxpZ2h0ZW4tNFwiOiAgI2ZmY2NiYyxcbiAgXCJsaWdodGVuLTNcIjogICNmZmFiOTEsXG4gIFwibGlnaHRlbi0yXCI6ICAjZmY4YTY1LFxuICBcImxpZ2h0ZW4tMVwiOiAgI2ZmNzA0MyxcbiAgXCJkYXJrZW4tMVwiOiAgICNmNDUxMWUsXG4gIFwiZGFya2VuLTJcIjogICAjZTY0YTE5LFxuICBcImRhcmtlbi0zXCI6ICAgI2Q4NDMxNSxcbiAgXCJkYXJrZW4tNFwiOiAgICNiZjM2MGMsXG4gIFwiYWNjZW50LTFcIjogICAgI2ZmOWU4MCxcbiAgXCJhY2NlbnQtMlwiOiAgICAjZmY2ZTQwLFxuICBcImFjY2VudC0zXCI6ICAgICNmZjNkMDAsXG4gIFwiYWNjZW50LTRcIjogICAgI2RkMmMwMFxuKTtcblxuJGJyb3duOiAoXG4gIFwiYmFzZVwiOiAgICAgICAjNzk1NTQ4LFxuICBcImxpZ2h0ZW4tNVwiOiAgI2VmZWJlOSxcbiAgXCJsaWdodGVuLTRcIjogICNkN2NjYzgsXG4gIFwibGlnaHRlbi0zXCI6ICAjYmNhYWE0LFxuICBcImxpZ2h0ZW4tMlwiOiAgI2ExODg3ZixcbiAgXCJsaWdodGVuLTFcIjogICM4ZDZlNjMsXG4gIFwiZGFya2VuLTFcIjogICAjNmQ0YzQxLFxuICBcImRhcmtlbi0yXCI6ICAgIzVkNDAzNyxcbiAgXCJkYXJrZW4tM1wiOiAgICM0ZTM0MmUsXG4gIFwiZGFya2VuLTRcIjogICAjM2UyNzIzXG4pO1xuXG4kYmx1ZS1ncmV5OiAoXG4gIFwiYmFzZVwiOiAgICAgICAjNjA3ZDhiLFxuICBcImxpZ2h0ZW4tNVwiOiAgI2VjZWZmMSxcbiAgXCJsaWdodGVuLTRcIjogICNjZmQ4ZGMsXG4gIFwibGlnaHRlbi0zXCI6ICAjYjBiZWM1LFxuICBcImxpZ2h0ZW4tMlwiOiAgIzkwYTRhZSxcbiAgXCJsaWdodGVuLTFcIjogICM3ODkwOWMsXG4gIFwiZGFya2VuLTFcIjogICAjNTQ2ZTdhLFxuICBcImRhcmtlbi0yXCI6ICAgIzQ1NWE2NCxcbiAgXCJkYXJrZW4tM1wiOiAgICMzNzQ3NGYsXG4gIFwiZGFya2VuLTRcIjogICAjMjYzMjM4XG4pO1xuXG4kZ3JleTogKFxuICBcImJhc2VcIjogICAgICAgIzllOWU5ZSxcbiAgXCJsaWdodGVuLTVcIjogICNmYWZhZmEsXG4gIFwibGlnaHRlbi00XCI6ICAjZjVmNWY1LFxuICBcImxpZ2h0ZW4tM1wiOiAgI2VlZWVlZSxcbiAgXCJsaWdodGVuLTJcIjogICNlMGUwZTAsXG4gIFwibGlnaHRlbi0xXCI6ICAjYmRiZGJkLFxuICBcImRhcmtlbi0xXCI6ICAgIzc1NzU3NSxcbiAgXCJkYXJrZW4tMlwiOiAgICM2MTYxNjEsXG4gIFwiZGFya2VuLTNcIjogICAjNDI0MjQyLFxuICBcImRhcmtlbi00XCI6ICAgIzIxMjEyMVxuKTtcblxuJHNoYWRlczogKFxuICBcImJsYWNrXCI6ICAgICAgICAjMDAwMDAwLFxuICBcIndoaXRlXCI6ICAgICAgICAjRkZGRkZGLFxuICBcInRyYW5zcGFyZW50XCI6ICB0cmFuc3BhcmVudFxuKTtcblxuJGNvbG9yczogKFxuICBcIm1hdGVyaWFsaXplLXJlZFwiOiAkbWF0ZXJpYWxpemUtcmVkLFxuICBcInJlZFwiOiAkcmVkLFxuICBcInBpbmtcIjogJHBpbmssXG4gIFwicHVycGxlXCI6ICRwdXJwbGUsXG4gIFwiZGVlcC1wdXJwbGVcIjogJGRlZXAtcHVycGxlLFxuICBcImluZGlnb1wiOiAkaW5kaWdvLFxuICBcImJsdWVcIjogJGJsdWUsXG4gIFwibGlnaHQtYmx1ZVwiOiAkbGlnaHQtYmx1ZSxcbiAgXCJjeWFuXCI6ICRjeWFuLFxuICBcInRlYWxcIjogJHRlYWwsXG4gIFwiZ3JlZW5cIjogJGdyZWVuLFxuICBcImxpZ2h0LWdyZWVuXCI6ICRsaWdodC1ncmVlbixcbiAgXCJsaW1lXCI6ICRsaW1lLFxuICBcInllbGxvd1wiOiAkeWVsbG93LFxuICBcImFtYmVyXCI6ICRhbWJlcixcbiAgXCJvcmFuZ2VcIjogJG9yYW5nZSxcbiAgXCJkZWVwLW9yYW5nZVwiOiAkZGVlcC1vcmFuZ2UsXG4gIFwiYnJvd25cIjogJGJyb3duLFxuICBcImJsdWUtZ3JleVwiOiAkYmx1ZS1ncmV5LFxuICBcImdyZXlcIjogJGdyZXksXG4gIFwic2hhZGVzXCI6ICRzaGFkZXNcbik7XG5cblxuLy8gQ29sb3IgQ2xhc3Nlc1xuXG5AZWFjaCAkY29sb3JfbmFtZSwgJGNvbG9yIGluICRjb2xvcnMge1xuICBAZWFjaCAkY29sb3JfdHlwZSwgJGNvbG9yX3ZhbHVlIGluICRjb2xvciB7XG4gICAgQGlmICRjb2xvcl90eXBlID09IFwiYmFzZVwiIHtcbiAgICAgIC4jeyRjb2xvcl9uYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl92YWx1ZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgLiN7JGNvbG9yX25hbWV9LXRleHQge1xuICAgICAgICBjb2xvcjogJGNvbG9yX3ZhbHVlICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC4jeyRjb2xvcl9uYW1lfS4jeyRjb2xvcl90eXBlfSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl92YWx1ZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgLiN7JGNvbG9yX25hbWV9LXRleHQudGV4dC0jeyRjb2xvcl90eXBlfSB7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfdmFsdWUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gU2hhZGUgY2xhc3Nlc1xuQGVhY2ggJGNvbG9yLCAkY29sb3JfdmFsdWUgaW4gJHNoYWRlcyB7XG4gIC4jeyRjb2xvcn0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl92YWx1ZSAhaW1wb3J0YW50O1xuICB9XG4gIC4jeyRjb2xvcn0tdGV4dCB7XG4gICAgY29sb3I6ICRjb2xvcl92YWx1ZSAhaW1wb3J0YW50O1xuICB9XG59XG5cblxuLy8gdXNhZ2U6IGNvbG9yKFwibmFtZV9vZl9jb2xvclwiLCBcInR5cGVfb2ZfY29sb3JcIilcbi8vIHRvIGF2b2lkIHRvIHJlcGVhdGluZyBtYXAtZ2V0KCRjb2xvcnMsIC4uLilcblxuQGZ1bmN0aW9uIGNvbG9yKCRjb2xvciwgJHR5cGUpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRjb2xvcnMsICRjb2xvcikge1xuICAgICRjdXJyX2NvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsICRjb2xvcik7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRjdXJyX2NvbG9yLCAkdHlwZSkge1xuICAgICAgQHJldHVybiBtYXAtZ2V0KCRjdXJyX2NvbG9yLCAkdHlwZSk7XG4gICAgfVxuICB9XG4gIEB3YXJuIFwiVW5rbm93biBgI3tuYW1lfWAgaW4gJGNvbG9ycy5cIjtcbiAgQHJldHVybiBudWxsO1xufVxuXG4iLCIvKiFcbiAqIENsb2NrUGlja2VyIHYwLjAuNyBmb3IgalF1ZXJ5IChodHRwOi8vd2VhcmVvdXRtYW4uZ2l0aHViLmlvL2Nsb2NrcGlja2VyLylcbiAqIENvcHlyaWdodCAyMDE0IFdhbmcgU2hlbndlaS5cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3dlYXJlb3V0bWFuL2Nsb2NrcGlja2VyL2Jsb2IvZ2gtcGFnZXMvTElDRU5TRSlcbiAqXG4gKiBGdXJ0aGVyIG1vZGlmaWVkXG4gKiBDb3B5cmlnaHQgMjAxNSBDaGluZyBZYXcgSGFvLlxuICpcbiAqIEJvb3RzdHJhcCB2My4xLjEgKGh0dHA6Ly9nZXRib290c3RyYXAuY29tKVxuICogQ29weXJpZ2h0IDIwMTEtMjAxNCBUd2l0dGVyLCBJbmMuXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21hc3Rlci9MSUNFTlNFKVxuICovXG5cbi5waWNrZXJfX2JveCB7XG4gICAgYmFja2dyb3VuZDogJGNsb2NrcGlja2VyLXBpY2tlci1ib3gtYmFja2dyb3VuZDtcbn1cblxuLnBpY2tlcl9fZGF0ZS1kaXNwbGF5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2xvY2twaWNrZXItcGlja2VyLWJveC1kYXRlLWRpc3BsYXktYmFja2dyb3VuZC1jb2xvcjtcbn1cblxuLmNsb2NrcGlja2VyLWRpc3BsYXkge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBoZWlnaHQ6IDg1cHg7XG4gICAgZm9udC1zaXplOiA3MHB4O1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDBweDtcbiAgICBjb2xvcjogJGNsb2NrcGlja2VyLXByaW1hcnktY29sb3I7XG59XG5cbi5jbG9ja3BpY2tlci1kaXNwbGF5LWNvbHVtbiB7XG4gICAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5jbG9ja3BpY2tlci1kaXNwbGF5LWFtLXBtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIGhlaWdodDogODVweDtcbn1cblxuLmNsb2NrcGlja2VyLXNwYW4tYW0tcG0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDIzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgY29sb3I6ICRjbG9ja3BpY2tlci1wcmltYXJ5LWNvbG9yO1xufVxuXG4uY2xvY2twaWNrZXItc3Bhbi1ob3Vycyxcbi5jbG9ja3BpY2tlci1zcGFuLW1pbnV0ZXMge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDUwMG1zO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogY29sb3IgNTAwbXM7XG4gICAgLW1vei10cmFuc2l0aW9uOiBjb2xvciA1MDBtcztcbiAgICAtbXMtdHJhbnNpdGlvbjogY29sb3IgNTAwbXM7XG4gICAgLW8tdHJhbnNpdGlvbjogY29sb3IgNTAwbXM7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgNTAwbXM7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcHVsc2Uge1xuICAgIGZyb20ge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgfVxufVxuXG5ALW1vei1rZXlmcmFtZXMgcHVsc2Uge1xuICAgIGZyb20ge1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgfVxufVxuXG5ALW1zLWtleWZyYW1lcyBwdWxzZSB7XG4gICAgZnJvbSB7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB9XG59XG5cbkAtby1rZXlmcmFtZXMgcHVsc2Uge1xuICAgIGZyb20ge1xuICAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHB1bHNlIHtcbiAgICBmcm9tIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIH1cbn1cblxuI2NsaWNrLWFtLFxuI2NsaWNrLXBtIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5jbG9ja3BpY2tlci1zcGFuLWhvdXJzLFxuLmNsb2NrcGlja2VyLXNwYW4tbWludXRlcyxcbiNjbGljay1hbSxcbiNjbGljay1wbSB7XG4gICAgJi50ZXh0LXByaW1hcnkge1xuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBwdWxzZTtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHB1bHNlO1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgfVxufVxuXG4uY2xvY2twaWNrZXItbW92aW5nIHtcbiAgICBjdXJzb3I6IG1vdmU7XG59XG5cbi5jbG9ja3BpY2tlci1wbGF0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgd2lkdGg6IDI3MHB4O1xuICAgIGhlaWdodDogMjcwcHg7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIC8qIERpc2FibGUgdGV4dCBzZWxlY3Rpb24gaGlnaGxpZ2h0aW5nLiBUaGFua3MgdG8gSGVybWFueWEgKi9cbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5jbG9ja3BpY2tlci1jYW52YXMsXG4uY2xvY2twaWNrZXItZGlhbCB7XG4gICAgd2lkdGg6IDI3MHB4O1xuICAgIGhlaWdodDogMjcwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IC0xcHg7XG4gICAgdG9wOiAtMXB4O1xufVxuXG4uY2xvY2twaWNrZXItbWludXRlcyB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uY2xvY2twaWNrZXItdGljayB7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGNvbG9yOiAkY2xvY2twaWNrZXItdGljay1jb2xvcjtcbiAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDMwMG1zO1xuICAgIC1tb3otdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAzMDBtcztcbiAgICAtbXMtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAzMDBtcztcbiAgICAtby10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDMwMG1zO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMzAwbXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNsb2NrcGlja2VyLXRpY2stYmFja2dyb3VuZC1jb2xvcjtcbiAgICAmLmFjdGl2ZSxcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNsb2NrcGlja2VyLXRpY2stYmFja2dyb3VuZC1jb2xvci1hY3RpdmU7XG4gICAgfVxufVxuXG4uY2xvY2twaWNrZXItZGlhbCB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAzNTBtcywgb3BhY2l0eSAzNTBtcztcbiAgICAtbW96LXRyYW5zaXRpb246IC1tb3otdHJhbnNmb3JtIDM1MG1zLCBvcGFjaXR5IDM1MG1zO1xuICAgIC1tcy10cmFuc2l0aW9uOiAtbXMtdHJhbnNmb3JtIDM1MG1zLCBvcGFjaXR5IDM1MG1zO1xuICAgIC1vLXRyYW5zaXRpb246IC1vLXRyYW5zZm9ybSAzNTBtcywgb3BhY2l0eSAzNTBtcztcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMzUwbXMsIG9wYWNpdHkgMzUwbXM7XG59XG5cbi5jbG9ja3BpY2tlci1kaWFsLW91dCB7XG4gICAgb3BhY2l0eTogMDtcbn1cblxuLmNsb2NrcGlja2VyLWhvdXJzLmNsb2NrcGlja2VyLWRpYWwtb3V0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4yLCAxLjIpO1xuICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxLjIsIDEuMik7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMS4yLCAxLjIpO1xuICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoMS4yLCAxLjIpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yLCAxLjIpO1xufVxuXG4uY2xvY2twaWNrZXItbWludXRlcy5jbG9ja3BpY2tlci1kaWFsLW91dCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC44LCAuOCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKC44LCAuOCk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoLjgsIC44KTtcbiAgICAtby10cmFuc2Zvcm06IHNjYWxlKC44LCAuOCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSguOCwgLjgpO1xufVxuXG4uY2xvY2twaWNrZXItY2FudmFzIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXM7XG4gICAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDMwMG1zO1xuICAgIC1tcy10cmFuc2l0aW9uOiBvcGFjaXR5IDMwMG1zO1xuICAgIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXM7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcztcbn1cblxuLmNsb2NrcGlja2VyLWNhbnZhcy1vdXQge1xuICAgIG9wYWNpdHk6IDAuMjU7XG59XG5cbi5jbG9ja3BpY2tlci1jYW52YXMtYmVhcmluZyB7XG4gICAgc3Ryb2tlOiBub25lO1xuICAgIGZpbGw6ICRjbG9ja3BpY2tlci1jYW52YXMtYmVhcmluZy1maWxsO1xufVxuXG4uY2xvY2twaWNrZXItY2FudmFzLWZnIHtcbiAgICBzdHJva2U6IG5vbmU7XG4gICAgZmlsbDogcmdiYSgkY2xvY2twaWNrZXItY2FudmFzLWZnLWZpbGwsIDApO1xuICAgICYuYWN0aXZlIHtcbiAgICAgICAgZmlsbDogcmdiYSgkY2xvY2twaWNrZXItY2FudmFzLWZnLWZpbGwsIDAuNSk7XG4gICAgfVxufVxuXG4uY2xvY2twaWNrZXItY2FudmFzLWJnIHtcbiAgICBzdHJva2U6IG5vbmU7XG4gICAgZmlsbDogJGNsb2NrcGlja2VyLWNhbnZhcy1iZy1maWxsO1xufVxuXG4uY2xvY2twaWNrZXItY2FudmFzLWJnLXRyYW5zIHtcbiAgICBmaWxsOiAkY2xvY2twaWNrZXItY2FudmFzLWJnLWZpbGw7XG59XG5cbi5jbG9ja3BpY2tlci1jYW52YXMgbGluZSB7XG4gICAgc3Ryb2tlOiAkY2xvY2twaWNrZXItY2FudmFzLWJnLXN0cm9rZTtcbiAgICBzdHJva2Utd2lkdGg6IDE7XG4gICAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kO1xuICAgIC8qc2hhcGUtcmVuZGVyaW5nOiBjcmlzcEVkZ2VzOyovXG59XG5cbi5jbG9ja3BpY2tlci1hbS1wbS1ibG9jayB7XG4gICAgbWFyZ2luLXRvcDogLTEwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA1MHB4O1xufVxuXG4vL0FNIFBNIGJ1dHRvbnNcbi5jbG9ja3BpY2tlci1idXR0b24ge1xuICAgICYuYW0tYnV0dG9uIHtcbiAgICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgICB3aWR0aDogNDVweDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuICAgICYucG0tYnV0dG9uIHtcbiAgICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgICB3aWR0aDogNDVweDtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbn1cblxuYnV0dG9uIHtcbiAgICBjb2xvcjogJGNsb2NrcGlja2VyLWJ1dHRvbi1jb2xvcjtcbn1cblxuLy9idXR0b25zXG4uYnRuLWZsb2F0aW5nIHtcbiAgICAmLmJ0bi1mbGF0IHtcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJjp2aXNpdGVkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNsb2NrcGlja2VyLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yLCAwLjI1KTtcbiAgICAgICAgfVxuICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjbG9ja3BpY2tlci1idXR0b24tYmFja2dyb3VuZC1jb2xvciwgMC41KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy9mb290ZXJcbi5waWNrZXJfX2Zvb3RlciB7XG4gICAgLmNsb2NrcGlja2VyLWJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjbG9ja3BpY2tlci1idXR0b24tYmFja2dyb3VuZC1jb2xvciwgMC4yNSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvL2JveFxuJGNsb2NrcGlja2VyLXBpY2tlci1ib3gtYmFja2dyb3VuZDogI2ZmZiAhZGVmYXVsdDtcbiRjbG9ja3BpY2tlci1waWNrZXItYm94LWRhdGUtZGlzcGxheS1iYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcInRlYWxcIiwgXCJsaWdodGVuLTFcIikgIWRlZmF1bHQ7XG4kY2xvY2twaWNrZXItcHJpbWFyeS1jb2xvcjogY29sb3IoXCJ0ZWFsXCIsIFwibGlnaHRlbi00XCIpICFkZWZhdWx0O1xuLy90aWNrXG4kY2xvY2twaWNrZXItdGljay1iYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKGNvbG9yKFwidGVhbFwiLCBcImJhc2VcIiksIDApICFkZWZhdWx0O1xuJGNsb2NrcGlja2VyLXRpY2stYmFja2dyb3VuZC1jb2xvci1hY3RpdmU6IHJnYmEoY29sb3IoXCJ0ZWFsXCIsIFwiYmFzZVwiKSwgMC4yNSkgIWRlZmF1bHQ7XG4kY2xvY2twaWNrZXItdGljay1jb2xvcjogIzY2NiAhZGVmYXVsdDtcbi8vY2FudmFzXG4kY2xvY2twaWNrZXItY2FudmFzLWJlYXJpbmctZmlsbDogcmdiYShjb2xvcihcInRlYWxcIiwgXCJkYXJrZW4tNFwiKSwgMC43NSkgIWRlZmF1bHQ7XG4kY2xvY2twaWNrZXItY2FudmFzLWZnLWZpbGw6IGNvbG9yKFwidGVhbFwiLCBcImRhcmtlbi00XCIpICFkZWZhdWx0O1xuJGNsb2NrcGlja2VyLWNhbnZhcy1iZy1maWxsOiByZ2JhKGNvbG9yKFwidGVhbFwiLCBcImJhc2VcIiksIDAuMjUpICFkZWZhdWx0O1xuJGNsb2NrcGlja2VyLWNhbnZhcy1iZy1zdHJva2U6ICRjbG9ja3BpY2tlci1jYW52YXMtYmctZmlsbCAhZGVmYXVsdDtcbi8vYnV0dG9uc1xuJGNsb2NrcGlja2VyLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcInRlYWxcIiwgXCJiYXNlXCIpICFkZWZhdWx0O1xuJGNsb2NrcGlja2VyLWJ1dHRvbi1jb2xvcjogJGJ1dHRvbi1mbGF0LWNvbG9yICFkZWZhdWx0OyIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBNYXRlcmlhbGl6ZSB2YXJpYWJsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFRhYmxlIG9mIENvbnRlbnRzOlxuICpcbiAqICAxLiBDb2xvcnNcbiAqICAyLiBCYWRnZXNcbiAqICAzLiBCdXR0b25zXG4gKiAgNC4gQ2FyZHNcbiAqICA1LiBDb2xsYXBzaWJsZVxuICogIDYuIENoaXBzXG4gKiAgNy4gRGF0ZSBQaWNrZXJcbiAqICA4LiBEcm9wZG93blxuICogIDEwLiBGb3Jtc1xuICogIDExLiBHbG9iYWxcbiAqICAxMi4gR3JpZFxuICogIDEzLiBOYXZpZ2F0aW9uIEJhclxuICogIDE0LiBTaWRlIE5hdmlnYXRpb25cbiAqICAxNS4gUGhvdG8gU2xpZGVyXG4gKiAgMTYuIFNwaW5uZXJzIHwgTG9hZGVyc1xuICogIDE3LiBUYWJzXG4gKiAgMTguIFRhYmxlc1xuICogIDE5LiBUb2FzdHNcbiAqICAyMC4gVHlwb2dyYXBoeVxuICogIDIxLiBGb290ZXJcbiAqICAyMi4gRmxvdyBUZXh0XG4gKiAgMjMuIENvbGxlY3Rpb25zXG4gKiAgMjQuIFByb2dyZXNzIEJhclxuICovXG5cblxuLyogMS4gQ29sb3JzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4kcHJpbWFyeS1jb2xvcjogY29sb3IoXCJtYXRlcmlhbGl6ZS1yZWRcIiwgXCJsaWdodGVuLTJcIikgIWRlZmF1bHQ7XG4kcHJpbWFyeS1jb2xvci1saWdodDogbGlnaHRlbigkcHJpbWFyeS1jb2xvciwgMTUlKSAhZGVmYXVsdDtcbiRwcmltYXJ5LWNvbG9yLWRhcms6IGRhcmtlbigkcHJpbWFyeS1jb2xvciwgMTUlKSAhZGVmYXVsdDtcblxuJHNlY29uZGFyeS1jb2xvcjogY29sb3IoXCJ0ZWFsXCIsIFwibGlnaHRlbi0xXCIpICFkZWZhdWx0O1xuJHN1Y2Nlc3MtY29sb3I6IGNvbG9yKFwiZ3JlZW5cIiwgXCJiYXNlXCIpICFkZWZhdWx0O1xuJGVycm9yLWNvbG9yOiBjb2xvcihcInJlZFwiLCBcImJhc2VcIikgIWRlZmF1bHQ7XG4kbGluay1jb2xvcjogY29sb3IoXCJsaWdodC1ibHVlXCIsIFwiZGFya2VuLTFcIikgIWRlZmF1bHQ7XG5cblxuLyogMi4gQmFkZ2VzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4kYmFkZ2UtYmctY29sb3I6ICRzZWNvbmRhcnktY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogMy4gQnV0dG9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gU2hhcmVkIHN0eWxlc1xuJGJ1dHRvbi1ib3JkZXI6IG5vbmUgIWRlZmF1bHQ7XG4kYnV0dG9uLWJhY2tncm91bmQtZm9jdXM6IGxpZ2h0ZW4oJHNlY29uZGFyeS1jb2xvciwgNCUpICFkZWZhdWx0O1xuJGJ1dHRvbi1mb250LXNpemU6IDEuM3JlbSAhZGVmYXVsdDtcbiRidXR0b24taGVpZ2h0OiAzNnB4ICFkZWZhdWx0O1xuJGJ1dHRvbi1wYWRkaW5nOiAwIDJyZW0gIWRlZmF1bHQ7XG4kYnV0dG9uLXJhZGl1czogMnB4ICFkZWZhdWx0O1xuXG4vLyBEaXNhYmxlZCBzdHlsZXNcbiRidXR0b24tZGlzYWJsZWQtYmFja2dyb3VuZDogI0RGREZERiAhZGVmYXVsdDtcbiRidXR0b24tZGlzYWJsZWQtY29sb3I6ICM5RjlGOUYgIWRlZmF1bHQ7XG5cbi8vIFJhaXNlZCBidXR0b25zXG4kYnV0dG9uLXJhaXNlZC1iYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1yYWlzZWQtYmFja2dyb3VuZC1ob3ZlcjogbGlnaHRlbigkYnV0dG9uLXJhaXNlZC1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kYnV0dG9uLXJhaXNlZC1jb2xvcjogI2ZmZiAhZGVmYXVsdDtcblxuLy8gTGFyZ2UgYnV0dG9uc1xuJGJ1dHRvbi1sYXJnZS1pY29uLWZvbnQtc2l6ZTogMS42cmVtICFkZWZhdWx0O1xuJGJ1dHRvbi1sYXJnZS1oZWlnaHQ6ICRidXR0b24taGVpZ2h0ICogMS41ICFkZWZhdWx0O1xuXG4vLyBGbGF0IGJ1dHRvbnNcbiRidXR0b24tZmxhdC1jb2xvcjogIzM0MzQzNCAhZGVmYXVsdDtcbiRidXR0b24tZmxhdC1kaXNhYmxlZC1jb2xvcjogbGlnaHRlbigjOTk5LCAxMCUpICFkZWZhdWx0O1xuXG4vLyBGbG9hdGluZyBidXR0b25zXG4kYnV0dG9uLWZsb2F0aW5nLWJhY2tncm91bmQ6ICRzZWNvbmRhcnktY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWZsb2F0aW5nLWJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tZmxvYXRpbmctYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRidXR0b24tZmxvYXRpbmctY29sb3I6ICNmZmYgIWRlZmF1bHQ7XG4kYnV0dG9uLWZsb2F0aW5nLXNpemU6IDM3cHggIWRlZmF1bHQ7XG4kYnV0dG9uLWZsb2F0aW5nLWxhcmdlLXNpemU6ICRidXR0b24tZmxvYXRpbmctc2l6ZSAqIDEuNSAhZGVmYXVsdDtcbiRidXR0b24tZmxvYXRpbmctcmFkaXVzOiA1MCUgIWRlZmF1bHQ7XG5cblxuLyogNC4gQ2FyZHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiRjYXJkLXBhZGRpbmc6IDIwcHggIWRlZmF1bHQ7XG4kY2FyZC1iZy1jb2xvcjogI2ZmZiAhZGVmYXVsdDtcbiRjYXJkLWxpbmstY29sb3I6IGNvbG9yKFwib3JhbmdlXCIsIFwiYWNjZW50LTJcIikgIWRlZmF1bHQ7XG4kY2FyZC1saW5rLWNvbG9yLWxpZ2h0OiBsaWdodGVuKCRjYXJkLWxpbmstY29sb3IsIDIwJSkgIWRlZmF1bHQ7XG5cblxuLyogNS4gQ29sbGFwc2libGVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiRjb2xsYXBzaWJsZS1oZWlnaHQ6IDNyZW0gIWRlZmF1bHQ7XG4kY29sbGFwc2libGUtaGVhZGVyLWNvbG9yOiAjZmZmICFkZWZhdWx0O1xuJGNvbGxhcHNpYmxlLWJvcmRlci1jb2xvcjogI2RkZCAhZGVmYXVsdDtcblxuXG4vKiA2LiBDaGlwc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuJGNoaXAtYmctY29sb3I6ICNlNGU0ZTQgIWRlZmF1bHQ7XG5cblxuLyogNy4gRGF0ZSBQaWNrZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiRkYXRlcGlja2VyLXdlZWtkYXktYmc6IGRhcmtlbigkc2Vjb25kYXJ5X2NvbG9yLCA3JSkgIWRlZmF1bHQ7XG4kZGF0ZXBpY2tlci1kYXRlLWJnOiAkc2Vjb25kYXJ5X2NvbG9yICFkZWZhdWx0O1xuJGRhdGVwaWNrZXIteWVhcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuNCkgIWRlZmF1bHQ7XG4kZGF0ZXBpY2tlci1mb2N1czogcmdiYSgwLDAsMCwgLjA1KSAhZGVmYXVsdDtcbiRkYXRlcGlja2VyLXNlbGVjdGVkOiAkc2Vjb25kYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGRhdGVwaWNrZXItc2VsZWN0ZWQtb3V0Zm9jdXM6IGRlc2F0dXJhdGUobGlnaHRlbigkc2Vjb25kYXJ5LWNvbG9yLCAzNSUpLCAxNSUpICFkZWZhdWx0O1xuXG5cbi8qIDguIERyb3Bkb3duXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4kZHJvcGRvd24tYmctY29sb3I6ICNmZmYgIWRlZmF1bHQ7XG4kZHJvcGRvd24taG92ZXItYmctY29sb3I6ICNlZWUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tY29sb3I6ICRzZWNvbmRhcnktY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24taXRlbS1oZWlnaHQ6IDUwcHggIWRlZmF1bHQ7XG5cblxuLyogOS4gRm9udHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiRyb2JvdG8tZm9udC1wYXRoOiBcIi4uL2ZvbnRzL3JvYm90by9cIiAhZGVmYXVsdDtcblxuXG4vKiAxMC4gRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIFRleHQgSW5wdXRzICsgVGV4dGFyZWFcbiRpbnB1dC1oZWlnaHQ6IDNyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLWNvbG9yOiBjb2xvcihcImdyZXlcIiwgXCJiYXNlXCIpICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtYmFja2dyb3VuZDogI2ZmZiAhZGVmYXVsdDtcbiRpbnB1dC1lcnJvci1jb2xvcjogJGVycm9yLWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LXN1Y2Nlc3MtY29sb3I6ICRzdWNjZXNzLWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1tYXJnaW46IDAgMCAxNXB4IDAgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZzogMCAhZGVmYXVsdDtcbiRpbnB1dC10cmFuc2l0aW9uOiBhbGwgLjNzICFkZWZhdWx0O1xuJGxhYmVsLWZvbnQtc2l6ZTogLjhyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtY29sb3I6IHJnYmEoMCwwLDAsIC4yNikgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtc29saWQtY29sb3I6ICNCREJEQkQgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYm9yZGVyOiAxcHggZG90dGVkICRpbnB1dC1kaXNhYmxlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1pbnZhbGlkLWJvcmRlcjogMXB4IHNvbGlkICRpbnB1dC1lcnJvci1jb2xvciAhZGVmYXVsdDtcbiRwbGFjZWhvbGRlci10ZXh0LWNvbG9yOiBsaWdodGVuKCRpbnB1dC1ib3JkZXItY29sb3IsIDIwJSkgIWRlZmF1bHQ7XG5cbi8vIFJhZGlvIEJ1dHRvbnNcbiRyYWRpby1maWxsLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yICFkZWZhdWx0O1xuJHJhZGlvLWVtcHR5LWNvbG9yOiAjNWE1YTVhICFkZWZhdWx0O1xuJHJhZGlvLWJvcmRlcjogMnB4IHNvbGlkICRyYWRpby1maWxsLWNvbG9yICFkZWZhdWx0O1xuXG4vLyBSYW5nZVxuJHJhbmdlLWhlaWdodDogMTRweCAhZGVmYXVsdDtcbiRyYW5nZS13aWR0aDogMTRweCAhZGVmYXVsdDtcbiR0cmFjay1oZWlnaHQ6IDNweCAhZGVmYXVsdDtcblxuLy8gU2VsZWN0XG4kc2VsZWN0LWJvcmRlcjogMXB4IHNvbGlkICNmMmYyZjIgIWRlZmF1bHQ7XG4kc2VsZWN0LWJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45MCkgIWRlZmF1bHQ7XG4kc2VsZWN0LWZvY3VzOiAxcHggc29saWQgbGlnaHRlbigkc2Vjb25kYXJ5LWNvbG9yLCA0NyUpICFkZWZhdWx0O1xuJHNlbGVjdC1wYWRkaW5nOiA1cHggIWRlZmF1bHQ7XG4kc2VsZWN0LXJhZGl1czogMnB4ICFkZWZhdWx0O1xuJHNlbGVjdC1kaXNhYmxlZC1jb2xvcjogcmdiYSgwLDAsMCwuMykgIWRlZmF1bHQ7XG5cbi8vIFN3aXRjaGVzXG4kc3dpdGNoLWJnLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yICFkZWZhdWx0O1xuJHN3aXRjaC1jaGVja2VkLWxldmVyLWJnOiBkZXNhdHVyYXRlKGxpZ2h0ZW4oJHNlY29uZGFyeS1jb2xvciwgMjUlKSwgMjUlKSAhZGVmYXVsdDtcbiRzd2l0Y2gtdW5jaGVja2VkLWJnOiAjRjFGMUYxICFkZWZhdWx0O1xuJHN3aXRjaC11bmNoZWNrZWQtbGV2ZXItYmc6ICM4MTgxODEgIWRlZmF1bHQ7XG4kc3dpdGNoLXJhZGl1czogMTVweCAhZGVmYXVsdDtcblxuXG4vKiAxMS4gR2xvYmFsXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyBNZWRpYSBRdWVyeSBSYW5nZXNcbiRzbWFsbC1zY3JlZW4tdXA6IDYwMXB4ICFkZWZhdWx0O1xuJG1lZGl1bS1zY3JlZW4tdXA6IDk5M3B4ICFkZWZhdWx0O1xuJGxhcmdlLXNjcmVlbi11cDogMTIwMXB4ICFkZWZhdWx0O1xuJHNtYWxsLXNjcmVlbjogNjAwcHggIWRlZmF1bHQ7XG4kbWVkaXVtLXNjcmVlbjogOTkycHggIWRlZmF1bHQ7XG4kbGFyZ2Utc2NyZWVuOiAxMjAwcHggIWRlZmF1bHQ7XG5cbiRtZWRpdW0tYW5kLXVwOiBcIm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoIDogI3skc21hbGwtc2NyZWVuLXVwfSlcIiAhZGVmYXVsdDtcbiRsYXJnZS1hbmQtdXA6IFwib25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiAjeyRtZWRpdW0tc2NyZWVuLXVwfSlcIiAhZGVmYXVsdDtcbiRzbWFsbC1hbmQtZG93bjogXCJvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6ICN7JHNtYWxsLXNjcmVlbn0pXCIgIWRlZmF1bHQ7XG4kbWVkaXVtLWFuZC1kb3duOiBcIm9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDogI3skbWVkaXVtLXNjcmVlbn0pXCIgIWRlZmF1bHQ7XG4kbWVkaXVtLW9ubHk6IFwib25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiAjeyRzbWFsbC1zY3JlZW4tdXB9KSBhbmQgKG1heC13aWR0aCA6ICN7JG1lZGl1bS1zY3JlZW59KVwiICFkZWZhdWx0O1xuXG5cbi8qIDEyLiBHcmlkXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4kbnVtLWNvbHM6IDEyICFkZWZhdWx0O1xuJGd1dHRlci13aWR0aDogMS41cmVtICFkZWZhdWx0O1xuJGVsZW1lbnQtdG9wLW1hcmdpbjogJGd1dHRlci13aWR0aC8zICFkZWZhdWx0O1xuJGVsZW1lbnQtYm90dG9tLW1hcmdpbjogKCRndXR0ZXItd2lkdGgqMikvMyAhZGVmYXVsdDtcblxuXG4vKiAxMy4gTmF2aWdhdGlvbiBCYXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiRuYXZiYXItaGVpZ2h0OiA2NHB4ICFkZWZhdWx0O1xuJG5hdmJhci1oZWlnaHQtbW9iaWxlOiA1NnB4ICFkZWZhdWx0O1xuJG5hdmJhci1mb250LWNvbG9yOiAjZmZmICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1mb250LXNpemU6IDIuMXJlbSAhZGVmYXVsdDtcblxuXG4vKiAxNC4gU2lkZSBOYXZpZ2F0aW9uXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4kc2lkZW5hdi1mb250LWNvbG9yOiAjNDQ0ICFkZWZhdWx0O1xuJHNpZGVuYXYtYmctY29sb3I6ICNmZmYgIWRlZmF1bHQ7XG4kc2lkZW5hdi1wYWRkaW5nLXJpZ2h0OiAzMHB4ICFkZWZhdWx0O1xuJHNpZGVuYXYtaXRlbS1oZWlnaHQ6IDY0cHggIWRlZmF1bHQ7XG5cblxuLyogMTUuIFBob3RvIFNsaWRlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuJHNsaWRlci1iZy1jb2xvcjogY29sb3IoJ2dyZXknLCAnYmFzZScpICFkZWZhdWx0O1xuJHNsaWRlci1iZy1jb2xvci1saWdodDogY29sb3IoJ2dyZXknLCAnbGlnaHRlbi0yJykgIWRlZmF1bHQ7XG4kc2xpZGVyLWluZGljYXRvci1jb2xvcjogY29sb3IoJ2dyZWVuJywgJ2Jhc2UnKSAhZGVmYXVsdDtcblxuXG4vKiAxNi4gU3Bpbm5lcnMgfCBMb2FkZXJzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4kc3Bpbm5lci1kZWZhdWx0LWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qIDE3LiBUYWJzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4kdGFicy11bmRlcmxpbmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yLWxpZ2h0ICFkZWZhdWx0O1xuJHRhYnMtdGV4dC1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kdGFicy1iZy1jb2xvcjogI2ZmZiAhZGVmYXVsdDtcblxuXG4vKiAxOC4gVGFibGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4kdGFibGUtYm9yZGVyLWNvbG9yOiAjZDBkMGQwICFkZWZhdWx0O1xuJHRhYmxlLXN0cmlwZWQtY29sb3I6ICNmMmYyZjIgIWRlZmF1bHQ7XG5cblxuLyogMTkuIFRvYXN0c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuJHRvYXN0LWhlaWdodDogNDhweCAhZGVmYXVsdDtcbiR0b2FzdC1jb2xvcjogIzMyMzIzMiAhZGVmYXVsdDtcbiR0b2FzdC10ZXh0LWNvbG9yOiAjZmZmICFkZWZhdWx0O1xuXG5cbi8qIDIwLiBUeXBvZ3JhcGh5XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4kb2ZmLWJsYWNrOiByZ2JhKDAsIDAsIDAsIDAuODcpICFkZWZhdWx0O1xuLy8gSGVhZGVyIFN0eWxlc1xuJGgxLWZvbnRzaXplOiA0LjJyZW0gIWRlZmF1bHQ7XG4kaDItZm9udHNpemU6IDMuNTZyZW0gIWRlZmF1bHQ7XG4kaDMtZm9udHNpemU6IDIuOTJyZW0gIWRlZmF1bHQ7XG4kaDQtZm9udHNpemU6IDIuMjhyZW0gIWRlZmF1bHQ7XG4kaDUtZm9udHNpemU6IDEuNjRyZW0gIWRlZmF1bHQ7XG4kaDYtZm9udHNpemU6IDFyZW0gIWRlZmF1bHQ7XG5cblxuLyogMjEuIEZvb3RlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuJGZvb3Rlci1iZy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogMjIuIEZsb3cgVGV4dFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuJHJhbmdlIDogJGxhcmdlLXNjcmVlbiAtICRzbWFsbC1zY3JlZW4gIWRlZmF1bHQ7XG4kaW50ZXJ2YWxzOiAyMCAhZGVmYXVsdDtcbiRpbnRlcnZhbC1zaXplOiAkcmFuZ2UgLyAkaW50ZXJ2YWxzICFkZWZhdWx0O1xuXG5cbi8qIDIzLiBDb2xsZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuJGNvbGxlY3Rpb24tYm9yZGVyLWNvbG9yOiAjZTBlMGUwICFkZWZhdWx0O1xuJGNvbGxlY3Rpb24tYmctY29sb3I6ICNmZmYgIWRlZmF1bHQ7XG4kY29sbGVjdGlvbi1hY3RpdmUtYmctY29sb3I6ICRzZWNvbmRhcnktY29sb3IgIWRlZmF1bHQ7XG4kY29sbGVjdGlvbi1hY3RpdmUtY29sb3I6IGxpZ2h0ZW4oJHNlY29uZGFyeS1jb2xvciwgNTUlKSAhZGVmYXVsdDtcbiRjb2xsZWN0aW9uLWhvdmVyLWJnLWNvbG9yOiAjZGRkICFkZWZhdWx0O1xuJGNvbGxlY3Rpb24tbGluay1jb2xvcjogJHNlY29uZGFyeS1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiAyNC4gUHJvZ3Jlc3MgQmFyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yICFkZWZhdWx0O1xuIiwiLyohXG4gKiBDbG9ja1BpY2tlciB2MC4wLjcgZm9yIGpRdWVyeSAoaHR0cDovL3dlYXJlb3V0bWFuLmdpdGh1Yi5pby9jbG9ja3BpY2tlci8pXG4gKiBDb3B5cmlnaHQgMjAxNCBXYW5nIFNoZW53ZWkuXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS93ZWFyZW91dG1hbi9jbG9ja3BpY2tlci9ibG9iL2doLXBhZ2VzL0xJQ0VOU0UpXG4gKlxuICogRnVydGhlciBtb2RpZmllZFxuICogQ29weXJpZ2h0IDIwMTUgQ2hpbmcgWWF3IEhhby5cbiAqXG4gKiBCb290c3RyYXAgdjMuMS4xIChodHRwOi8vZ2V0Ym9vdHN0cmFwLmNvbSlcbiAqIENvcHlyaWdodCAyMDExLTIwMTQgVHdpdHRlciwgSW5jLlxuICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYXN0ZXIvTElDRU5TRSlcbiAqL1xuLmRhcmt0aGVtZSB7XG4gICAgLnBpY2tlcl9fYm94IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIxMjEyMTtcbiAgICB9XG5cbiAgICAucGlja2VyX19kYXRlLWRpc3BsYXkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAuY2xvY2twaWNrZXItZGlzcGxheSB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG5cbiAgICAuY2xvY2twaWNrZXItc3Bhbi1hbS1wbSB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG5cbiAgICAuY2xvY2twaWNrZXItc3Bhbi1ob3VycyxcbiAgICAuY2xvY2twaWNrZXItc3Bhbi1taW51dGVzLFxuICAgICNjbGljay1hbSxcbiAgICAjY2xpY2stcG0ge1xuICAgICAgICAmLnRleHQtcHJpbWFyeSB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmNDA4MTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jbG9ja3BpY2tlci1wbGF0ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC5jbG9ja3BpY2tlci10aWNrIHtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgNjQsIDEyOSwgMCk7XG4gICAgfVxuXG4gICAgLmNsb2NrcGlja2VyLXRpY2suYWN0aXZlLFxuICAgIC5jbG9ja3BpY2tlci10aWNrOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDY0LCAxMjksIDAuMjUpO1xuICAgIH1cblxuICAgIC5jbG9ja3BpY2tlci1jYW52YXMtYmVhcmluZyB7XG4gICAgICAgIGZpbGw6IHdoaXRlO1xuICAgIH1cblxuICAgIC5jbG9ja3BpY2tlci1jYW52YXMtZmcge1xuICAgICAgICBmaWxsOiByZ2JhKDI1NSwgNjQsIDEyOSwgMCk7XG4gICAgfVxuXG4gICAgLmNsb2NrcGlja2VyLWNhbnZhcy1mZy5hY3RpdmUge1xuICAgICAgICBmaWxsOiByZ2JhKDI1NSwgNjQsIDEyOSwgMC41KTtcbiAgICB9XG5cbiAgICAuY2xvY2twaWNrZXItY2FudmFzLWJnIHtcbiAgICAgICAgZmlsbDogcmdiYSgyNTUsIDY0LCAxMjksIDAuMjUpO1xuICAgIH1cblxuICAgIC5jbG9ja3BpY2tlci1jYW52YXMtYmctdHJhbnMge1xuICAgICAgICBmaWxsOiByZ2JhKDI1NSwgNjQsIDEyOSwgMC4yNSk7XG4gICAgfVxuXG4gICAgLmNsb2NrcGlja2VyLWNhbnZhcyBsaW5lIHtcbiAgICAgICAgc3Ryb2tlOiByZ2JhKDI1NSwgNjQsIDEyOSwgMC4yNSk7XG4gICAgfVxuXG4gICAgYnV0dG9uIHtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cblxuICAgIC5idG4tZmxvYXRpbmcuYnRuLWZsYXQuYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDY0LCAxMjksIDAuMjUpO1xuICAgIH1cblxuICAgIC5idG4tZmxvYXRpbmcuYnRuLWZsYXQ6YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDY0LCAxMjksIDAuNSk7XG4gICAgfVxuXG4gICAgLnBpY2tlcl9fZm9vdGVyIC5jbG9ja3BpY2tlci1idXR0b246YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDY0LCAxMjksIDAuMjUpO1xuICAgIH1cbn0iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/css/materialize.min.css
CHANGED
@@ -1,16 +1,31 @@
|
|
1 |
/*!
|
2 |
-
* Materialize
|
3 |
-
* Copyright 2014-
|
4 |
* MIT License (https://raw.githubusercontent.com/Dogfalo/materialize/master/LICENSE)
|
5 |
*/
|
6 |
-
.materialize-red{background-color:#e51c23 !important}.materialize-red-text{color:#e51c23 !important}.materialize-red.lighten-5{background-color:#fdeaeb !important}.materialize-red-text.text-lighten-5{color:#fdeaeb !important}.materialize-red.lighten-4{background-color:#f8c1c3 !important}.materialize-red-text.text-lighten-4{color:#f8c1c3 !important}.materialize-red.lighten-3{background-color:#f3989b !important}.materialize-red-text.text-lighten-3{color:#f3989b !important}.materialize-red.lighten-2{background-color:#ee6e73 !important}.materialize-red-text.text-lighten-2{color:#ee6e73 !important}.materialize-red.lighten-1{background-color:#ea454b !important}.materialize-red-text.text-lighten-1{color:#ea454b !important}.materialize-red.darken-1{background-color:#d0181e !important}.materialize-red-text.text-darken-1{color:#d0181e !important}.materialize-red.darken-2{background-color:#b9151b !important}.materialize-red-text.text-darken-2{color:#b9151b !important}.materialize-red.darken-3{background-color:#a21318 !important}.materialize-red-text.text-darken-3{color:#a21318 !important}.materialize-red.darken-4{background-color:#8b1014 !important}.materialize-red-text.text-darken-4{color:#8b1014 !important}.red{background-color:#F44336 !important}.red-text{color:#F44336 !important}.red.lighten-5{background-color:#FFEBEE !important}.red-text.text-lighten-5{color:#FFEBEE !important}.red.lighten-4{background-color:#FFCDD2 !important}.red-text.text-lighten-4{color:#FFCDD2 !important}.red.lighten-3{background-color:#EF9A9A !important}.red-text.text-lighten-3{color:#EF9A9A !important}.red.lighten-2{background-color:#E57373 !important}.red-text.text-lighten-2{color:#E57373 !important}.red.lighten-1{background-color:#EF5350 !important}.red-text.text-lighten-1{color:#EF5350 !important}.red.darken-1{background-color:#E53935 !important}.red-text.text-darken-1{color:#E53935 !important}.red.darken-2{background-color:#D32F2F !important}.red-text.text-darken-2{color:#D32F2F !important}.red.darken-3{background-color:#C62828 !important}.red-text.text-darken-3{color:#C62828 !important}.red.darken-4{background-color:#B71C1C !important}.red-text.text-darken-4{color:#B71C1C !important}.red.accent-1{background-color:#FF8A80 !important}.red-text.text-accent-1{color:#FF8A80 !important}.red.accent-2{background-color:#FF5252 !important}.red-text.text-accent-2{color:#FF5252 !important}.red.accent-3{background-color:#FF1744 !important}.red-text.text-accent-3{color:#FF1744 !important}.red.accent-4{background-color:#D50000 !important}.red-text.text-accent-4{color:#D50000 !important}.pink{background-color:#e91e63 !important}.pink-text{color:#e91e63 !important}.pink.lighten-5{background-color:#fce4ec !important}.pink-text.text-lighten-5{color:#fce4ec !important}.pink.lighten-4{background-color:#f8bbd0 !important}.pink-text.text-lighten-4{color:#f8bbd0 !important}.pink.lighten-3{background-color:#f48fb1 !important}.pink-text.text-lighten-3{color:#f48fb1 !important}.pink.lighten-2{background-color:#f06292 !important}.pink-text.text-lighten-2{color:#f06292 !important}.pink.lighten-1{background-color:#ec407a !important}.pink-text.text-lighten-1{color:#ec407a !important}.pink.darken-1{background-color:#d81b60 !important}.pink-text.text-darken-1{color:#d81b60 !important}.pink.darken-2{background-color:#c2185b !important}.pink-text.text-darken-2{color:#c2185b !important}.pink.darken-3{background-color:#ad1457 !important}.pink-text.text-darken-3{color:#ad1457 !important}.pink.darken-4{background-color:#880e4f !important}.pink-text.text-darken-4{color:#880e4f !important}.pink.accent-1{background-color:#ff80ab !important}.pink-text.text-accent-1{color:#ff80ab !important}.pink.accent-2{background-color:#ff4081 !important}.pink-text.text-accent-2{color:#ff4081 !important}.pink.accent-3{background-color:#f50057 !important}.pink-text.text-accent-3{color:#f50057 !important}.pink.accent-4{background-color:#c51162 !important}.pink-text.text-accent-4{color:#c51162 !important}.purple{background-color:#9c27b0 !important}.purple-text{color:#9c27b0 !important}.purple.lighten-5{background-color:#f3e5f5 !important}.purple-text.text-lighten-5{color:#f3e5f5 !important}.purple.lighten-4{background-color:#e1bee7 !important}.purple-text.text-lighten-4{color:#e1bee7 !important}.purple.lighten-3{background-color:#ce93d8 !important}.purple-text.text-lighten-3{color:#ce93d8 !important}.purple.lighten-2{background-color:#ba68c8 !important}.purple-text.text-lighten-2{color:#ba68c8 !important}.purple.lighten-1{background-color:#ab47bc !important}.purple-text.text-lighten-1{color:#ab47bc !important}.purple.darken-1{background-color:#8e24aa !important}.purple-text.text-darken-1{color:#8e24aa !important}.purple.darken-2{background-color:#7b1fa2 !important}.purple-text.text-darken-2{color:#7b1fa2 !important}.purple.darken-3{background-color:#6a1b9a !important}.purple-text.text-darken-3{color:#6a1b9a !important}.purple.darken-4{background-color:#4a148c !important}.purple-text.text-darken-4{color:#4a148c !important}.purple.accent-1{background-color:#ea80fc !important}.purple-text.text-accent-1{color:#ea80fc !important}.purple.accent-2{background-color:#e040fb !important}.purple-text.text-accent-2{color:#e040fb !important}.purple.accent-3{background-color:#d500f9 !important}.purple-text.text-accent-3{color:#d500f9 !important}.purple.accent-4{background-color:#a0f !important}.purple-text.text-accent-4{color:#a0f !important}.deep-purple{background-color:#673ab7 !important}.deep-purple-text{color:#673ab7 !important}.deep-purple.lighten-5{background-color:#ede7f6 !important}.deep-purple-text.text-lighten-5{color:#ede7f6 !important}.deep-purple.lighten-4{background-color:#d1c4e9 !important}.deep-purple-text.text-lighten-4{color:#d1c4e9 !important}.deep-purple.lighten-3{background-color:#b39ddb !important}.deep-purple-text.text-lighten-3{color:#b39ddb !important}.deep-purple.lighten-2{background-color:#9575cd !important}.deep-purple-text.text-lighten-2{color:#9575cd !important}.deep-purple.lighten-1{background-color:#7e57c2 !important}.deep-purple-text.text-lighten-1{color:#7e57c2 !important}.deep-purple.darken-1{background-color:#5e35b1 !important}.deep-purple-text.text-darken-1{color:#5e35b1 !important}.deep-purple.darken-2{background-color:#512da8 !important}.deep-purple-text.text-darken-2{color:#512da8 !important}.deep-purple.darken-3{background-color:#4527a0 !important}.deep-purple-text.text-darken-3{color:#4527a0 !important}.deep-purple.darken-4{background-color:#311b92 !important}.deep-purple-text.text-darken-4{color:#311b92 !important}.deep-purple.accent-1{background-color:#b388ff !important}.deep-purple-text.text-accent-1{color:#b388ff !important}.deep-purple.accent-2{background-color:#7c4dff !important}.deep-purple-text.text-accent-2{color:#7c4dff !important}.deep-purple.accent-3{background-color:#651fff !important}.deep-purple-text.text-accent-3{color:#651fff !important}.deep-purple.accent-4{background-color:#6200ea !important}.deep-purple-text.text-accent-4{color:#6200ea !important}.indigo{background-color:#3f51b5 !important}.indigo-text{color:#3f51b5 !important}.indigo.lighten-5{background-color:#e8eaf6 !important}.indigo-text.text-lighten-5{color:#e8eaf6 !important}.indigo.lighten-4{background-color:#c5cae9 !important}.indigo-text.text-lighten-4{color:#c5cae9 !important}.indigo.lighten-3{background-color:#9fa8da !important}.indigo-text.text-lighten-3{color:#9fa8da !important}.indigo.lighten-2{background-color:#7986cb !important}.indigo-text.text-lighten-2{color:#7986cb !important}.indigo.lighten-1{background-color:#5c6bc0 !important}.indigo-text.text-lighten-1{color:#5c6bc0 !important}.indigo.darken-1{background-color:#3949ab !important}.indigo-text.text-darken-1{color:#3949ab !important}.indigo.darken-2{background-color:#303f9f !important}.indigo-text.text-darken-2{color:#303f9f !important}.indigo.darken-3{background-color:#283593 !important}.indigo-text.text-darken-3{color:#283593 !important}.indigo.darken-4{background-color:#1a237e !important}.indigo-text.text-darken-4{color:#1a237e !important}.indigo.accent-1{background-color:#8c9eff !important}.indigo-text.text-accent-1{color:#8c9eff !important}.indigo.accent-2{background-color:#536dfe !important}.indigo-text.text-accent-2{color:#536dfe !important}.indigo.accent-3{background-color:#3d5afe !important}.indigo-text.text-accent-3{color:#3d5afe !important}.indigo.accent-4{background-color:#304ffe !important}.indigo-text.text-accent-4{color:#304ffe !important}.blue{background-color:#2196F3 !important}.blue-text{color:#2196F3 !important}.blue.lighten-5{background-color:#E3F2FD !important}.blue-text.text-lighten-5{color:#E3F2FD !important}.blue.lighten-4{background-color:#BBDEFB !important}.blue-text.text-lighten-4{color:#BBDEFB !important}.blue.lighten-3{background-color:#90CAF9 !important}.blue-text.text-lighten-3{color:#90CAF9 !important}.blue.lighten-2{background-color:#64B5F6 !important}.blue-text.text-lighten-2{color:#64B5F6 !important}.blue.lighten-1{background-color:#42A5F5 !important}.blue-text.text-lighten-1{color:#42A5F5 !important}.blue.darken-1{background-color:#1E88E5 !important}.blue-text.text-darken-1{color:#1E88E5 !important}.blue.darken-2{background-color:#1976D2 !important}.blue-text.text-darken-2{color:#1976D2 !important}.blue.darken-3{background-color:#1565C0 !important}.blue-text.text-darken-3{color:#1565C0 !important}.blue.darken-4{background-color:#0D47A1 !important}.blue-text.text-darken-4{color:#0D47A1 !important}.blue.accent-1{background-color:#82B1FF !important}.blue-text.text-accent-1{color:#82B1FF !important}.blue.accent-2{background-color:#448AFF !important}.blue-text.text-accent-2{color:#448AFF !important}.blue.accent-3{background-color:#2979FF !important}.blue-text.text-accent-3{color:#2979FF !important}.blue.accent-4{background-color:#2962FF !important}.blue-text.text-accent-4{color:#2962FF !important}.light-blue{background-color:#03a9f4 !important}.light-blue-text{color:#03a9f4 !important}.light-blue.lighten-5{background-color:#e1f5fe !important}.light-blue-text.text-lighten-5{color:#e1f5fe !important}.light-blue.lighten-4{background-color:#b3e5fc !important}.light-blue-text.text-lighten-4{color:#b3e5fc !important}.light-blue.lighten-3{background-color:#81d4fa !important}.light-blue-text.text-lighten-3{color:#81d4fa !important}.light-blue.lighten-2{background-color:#4fc3f7 !important}.light-blue-text.text-lighten-2{color:#4fc3f7 !important}.light-blue.lighten-1{background-color:#29b6f6 !important}.light-blue-text.text-lighten-1{color:#29b6f6 !important}.light-blue.darken-1{background-color:#039be5 !important}.light-blue-text.text-darken-1{color:#039be5 !important}.light-blue.darken-2{background-color:#0288d1 !important}.light-blue-text.text-darken-2{color:#0288d1 !important}.light-blue.darken-3{background-color:#0277bd !important}.light-blue-text.text-darken-3{color:#0277bd !important}.light-blue.darken-4{background-color:#01579b !important}.light-blue-text.text-darken-4{color:#01579b !important}.light-blue.accent-1{background-color:#80d8ff !important}.light-blue-text.text-accent-1{color:#80d8ff !important}.light-blue.accent-2{background-color:#40c4ff !important}.light-blue-text.text-accent-2{color:#40c4ff !important}.light-blue.accent-3{background-color:#00b0ff !important}.light-blue-text.text-accent-3{color:#00b0ff !important}.light-blue.accent-4{background-color:#0091ea !important}.light-blue-text.text-accent-4{color:#0091ea !important}.cyan{background-color:#00bcd4 !important}.cyan-text{color:#00bcd4 !important}.cyan.lighten-5{background-color:#e0f7fa !important}.cyan-text.text-lighten-5{color:#e0f7fa !important}.cyan.lighten-4{background-color:#b2ebf2 !important}.cyan-text.text-lighten-4{color:#b2ebf2 !important}.cyan.lighten-3{background-color:#80deea !important}.cyan-text.text-lighten-3{color:#80deea !important}.cyan.lighten-2{background-color:#4dd0e1 !important}.cyan-text.text-lighten-2{color:#4dd0e1 !important}.cyan.lighten-1{background-color:#26c6da !important}.cyan-text.text-lighten-1{color:#26c6da !important}.cyan.darken-1{background-color:#00acc1 !important}.cyan-text.text-darken-1{color:#00acc1 !important}.cyan.darken-2{background-color:#0097a7 !important}.cyan-text.text-darken-2{color:#0097a7 !important}.cyan.darken-3{background-color:#00838f !important}.cyan-text.text-darken-3{color:#00838f !important}.cyan.darken-4{background-color:#006064 !important}.cyan-text.text-darken-4{color:#006064 !important}.cyan.accent-1{background-color:#84ffff !important}.cyan-text.text-accent-1{color:#84ffff !important}.cyan.accent-2{background-color:#18ffff !important}.cyan-text.text-accent-2{color:#18ffff !important}.cyan.accent-3{background-color:#00e5ff !important}.cyan-text.text-accent-3{color:#00e5ff !important}.cyan.accent-4{background-color:#00b8d4 !important}.cyan-text.text-accent-4{color:#00b8d4 !important}.teal{background-color:#009688 !important}.teal-text{color:#009688 !important}.teal.lighten-5{background-color:#e0f2f1 !important}.teal-text.text-lighten-5{color:#e0f2f1 !important}.teal.lighten-4{background-color:#b2dfdb !important}.teal-text.text-lighten-4{color:#b2dfdb !important}.teal.lighten-3{background-color:#80cbc4 !important}.teal-text.text-lighten-3{color:#80cbc4 !important}.teal.lighten-2{background-color:#4db6ac !important}.teal-text.text-lighten-2{color:#4db6ac !important}.teal.lighten-1{background-color:#26a69a !important}.teal-text.text-lighten-1{color:#26a69a !important}.teal.darken-1{background-color:#00897b !important}.teal-text.text-darken-1{color:#00897b !important}.teal.darken-2{background-color:#00796b !important}.teal-text.text-darken-2{color:#00796b !important}.teal.darken-3{background-color:#00695c !important}.teal-text.text-darken-3{color:#00695c !important}.teal.darken-4{background-color:#004d40 !important}.teal-text.text-darken-4{color:#004d40 !important}.teal.accent-1{background-color:#a7ffeb !important}.teal-text.text-accent-1{color:#a7ffeb !important}.teal.accent-2{background-color:#64ffda !important}.teal-text.text-accent-2{color:#64ffda !important}.teal.accent-3{background-color:#1de9b6 !important}.teal-text.text-accent-3{color:#1de9b6 !important}.teal.accent-4{background-color:#00bfa5 !important}.teal-text.text-accent-4{color:#00bfa5 !important}.green{background-color:#4CAF50 !important}.green-text{color:#4CAF50 !important}.green.lighten-5{background-color:#E8F5E9 !important}.green-text.text-lighten-5{color:#E8F5E9 !important}.green.lighten-4{background-color:#C8E6C9 !important}.green-text.text-lighten-4{color:#C8E6C9 !important}.green.lighten-3{background-color:#A5D6A7 !important}.green-text.text-lighten-3{color:#A5D6A7 !important}.green.lighten-2{background-color:#81C784 !important}.green-text.text-lighten-2{color:#81C784 !important}.green.lighten-1{background-color:#66BB6A !important}.green-text.text-lighten-1{color:#66BB6A !important}.green.darken-1{background-color:#43A047 !important}.green-text.text-darken-1{color:#43A047 !important}.green.darken-2{background-color:#388E3C !important}.green-text.text-darken-2{color:#388E3C !important}.green.darken-3{background-color:#2E7D32 !important}.green-text.text-darken-3{color:#2E7D32 !important}.green.darken-4{background-color:#1B5E20 !important}.green-text.text-darken-4{color:#1B5E20 !important}.green.accent-1{background-color:#B9F6CA !important}.green-text.text-accent-1{color:#B9F6CA !important}.green.accent-2{background-color:#69F0AE !important}.green-text.text-accent-2{color:#69F0AE !important}.green.accent-3{background-color:#00E676 !important}.green-text.text-accent-3{color:#00E676 !important}.green.accent-4{background-color:#00C853 !important}.green-text.text-accent-4{color:#00C853 !important}.light-green{background-color:#8bc34a !important}.light-green-text{color:#8bc34a !important}.light-green.lighten-5{background-color:#f1f8e9 !important}.light-green-text.text-lighten-5{color:#f1f8e9 !important}.light-green.lighten-4{background-color:#dcedc8 !important}.light-green-text.text-lighten-4{color:#dcedc8 !important}.light-green.lighten-3{background-color:#c5e1a5 !important}.light-green-text.text-lighten-3{color:#c5e1a5 !important}.light-green.lighten-2{background-color:#aed581 !important}.light-green-text.text-lighten-2{color:#aed581 !important}.light-green.lighten-1{background-color:#9ccc65 !important}.light-green-text.text-lighten-1{color:#9ccc65 !important}.light-green.darken-1{background-color:#7cb342 !important}.light-green-text.text-darken-1{color:#7cb342 !important}.light-green.darken-2{background-color:#689f38 !important}.light-green-text.text-darken-2{color:#689f38 !important}.light-green.darken-3{background-color:#558b2f !important}.light-green-text.text-darken-3{color:#558b2f !important}.light-green.darken-4{background-color:#33691e !important}.light-green-text.text-darken-4{color:#33691e !important}.light-green.accent-1{background-color:#ccff90 !important}.light-green-text.text-accent-1{color:#ccff90 !important}.light-green.accent-2{background-color:#b2ff59 !important}.light-green-text.text-accent-2{color:#b2ff59 !important}.light-green.accent-3{background-color:#76ff03 !important}.light-green-text.text-accent-3{color:#76ff03 !important}.light-green.accent-4{background-color:#64dd17 !important}.light-green-text.text-accent-4{color:#64dd17 !important}.lime{background-color:#cddc39 !important}.lime-text{color:#cddc39 !important}.lime.lighten-5{background-color:#f9fbe7 !important}.lime-text.text-lighten-5{color:#f9fbe7 !important}.lime.lighten-4{background-color:#f0f4c3 !important}.lime-text.text-lighten-4{color:#f0f4c3 !important}.lime.lighten-3{background-color:#e6ee9c !important}.lime-text.text-lighten-3{color:#e6ee9c !important}.lime.lighten-2{background-color:#dce775 !important}.lime-text.text-lighten-2{color:#dce775 !important}.lime.lighten-1{background-color:#d4e157 !important}.lime-text.text-lighten-1{color:#d4e157 !important}.lime.darken-1{background-color:#c0ca33 !important}.lime-text.text-darken-1{color:#c0ca33 !important}.lime.darken-2{background-color:#afb42b !important}.lime-text.text-darken-2{color:#afb42b !important}.lime.darken-3{background-color:#9e9d24 !important}.lime-text.text-darken-3{color:#9e9d24 !important}.lime.darken-4{background-color:#827717 !important}.lime-text.text-darken-4{color:#827717 !important}.lime.accent-1{background-color:#f4ff81 !important}.lime-text.text-accent-1{color:#f4ff81 !important}.lime.accent-2{background-color:#eeff41 !important}.lime-text.text-accent-2{color:#eeff41 !important}.lime.accent-3{background-color:#c6ff00 !important}.lime-text.text-accent-3{color:#c6ff00 !important}.lime.accent-4{background-color:#aeea00 !important}.lime-text.text-accent-4{color:#aeea00 !important}.yellow{background-color:#ffeb3b !important}.yellow-text{color:#ffeb3b !important}.yellow.lighten-5{background-color:#fffde7 !important}.yellow-text.text-lighten-5{color:#fffde7 !important}.yellow.lighten-4{background-color:#fff9c4 !important}.yellow-text.text-lighten-4{color:#fff9c4 !important}.yellow.lighten-3{background-color:#fff59d !important}.yellow-text.text-lighten-3{color:#fff59d !important}.yellow.lighten-2{background-color:#fff176 !important}.yellow-text.text-lighten-2{color:#fff176 !important}.yellow.lighten-1{background-color:#ffee58 !important}.yellow-text.text-lighten-1{color:#ffee58 !important}.yellow.darken-1{background-color:#fdd835 !important}.yellow-text.text-darken-1{color:#fdd835 !important}.yellow.darken-2{background-color:#fbc02d !important}.yellow-text.text-darken-2{color:#fbc02d !important}.yellow.darken-3{background-color:#f9a825 !important}.yellow-text.text-darken-3{color:#f9a825 !important}.yellow.darken-4{background-color:#f57f17 !important}.yellow-text.text-darken-4{color:#f57f17 !important}.yellow.accent-1{background-color:#ffff8d !important}.yellow-text.text-accent-1{color:#ffff8d !important}.yellow.accent-2{background-color:#ff0 !important}.yellow-text.text-accent-2{color:#ff0 !important}.yellow.accent-3{background-color:#ffea00 !important}.yellow-text.text-accent-3{color:#ffea00 !important}.yellow.accent-4{background-color:#ffd600 !important}.yellow-text.text-accent-4{color:#ffd600 !important}.amber{background-color:#ffc107 !important}.amber-text{color:#ffc107 !important}.amber.lighten-5{background-color:#fff8e1 !important}.amber-text.text-lighten-5{color:#fff8e1 !important}.amber.lighten-4{background-color:#ffecb3 !important}.amber-text.text-lighten-4{color:#ffecb3 !important}.amber.lighten-3{background-color:#ffe082 !important}.amber-text.text-lighten-3{color:#ffe082 !important}.amber.lighten-2{background-color:#ffd54f !important}.amber-text.text-lighten-2{color:#ffd54f !important}.amber.lighten-1{background-color:#ffca28 !important}.amber-text.text-lighten-1{color:#ffca28 !important}.amber.darken-1{background-color:#ffb300 !important}.amber-text.text-darken-1{color:#ffb300 !important}.amber.darken-2{background-color:#ffa000 !important}.amber-text.text-darken-2{color:#ffa000 !important}.amber.darken-3{background-color:#ff8f00 !important}.amber-text.text-darken-3{color:#ff8f00 !important}.amber.darken-4{background-color:#ff6f00 !important}.amber-text.text-darken-4{color:#ff6f00 !important}.amber.accent-1{background-color:#ffe57f !important}.amber-text.text-accent-1{color:#ffe57f !important}.amber.accent-2{background-color:#ffd740 !important}.amber-text.text-accent-2{color:#ffd740 !important}.amber.accent-3{background-color:#ffc400 !important}.amber-text.text-accent-3{color:#ffc400 !important}.amber.accent-4{background-color:#ffab00 !important}.amber-text.text-accent-4{color:#ffab00 !important}.orange{background-color:#ff9800 !important}.orange-text{color:#ff9800 !important}.orange.lighten-5{background-color:#fff3e0 !important}.orange-text.text-lighten-5{color:#fff3e0 !important}.orange.lighten-4{background-color:#ffe0b2 !important}.orange-text.text-lighten-4{color:#ffe0b2 !important}.orange.lighten-3{background-color:#ffcc80 !important}.orange-text.text-lighten-3{color:#ffcc80 !important}.orange.lighten-2{background-color:#ffb74d !important}.orange-text.text-lighten-2{color:#ffb74d !important}.orange.lighten-1{background-color:#ffa726 !important}.orange-text.text-lighten-1{color:#ffa726 !important}.orange.darken-1{background-color:#fb8c00 !important}.orange-text.text-darken-1{color:#fb8c00 !important}.orange.darken-2{background-color:#f57c00 !important}.orange-text.text-darken-2{color:#f57c00 !important}.orange.darken-3{background-color:#ef6c00 !important}.orange-text.text-darken-3{color:#ef6c00 !important}.orange.darken-4{background-color:#e65100 !important}.orange-text.text-darken-4{color:#e65100 !important}.orange.accent-1{background-color:#ffd180 !important}.orange-text.text-accent-1{color:#ffd180 !important}.orange.accent-2{background-color:#ffab40 !important}.orange-text.text-accent-2{color:#ffab40 !important}.orange.accent-3{background-color:#ff9100 !important}.orange-text.text-accent-3{color:#ff9100 !important}.orange.accent-4{background-color:#ff6d00 !important}.orange-text.text-accent-4{color:#ff6d00 !important}.deep-orange{background-color:#ff5722 !important}.deep-orange-text{color:#ff5722 !important}.deep-orange.lighten-5{background-color:#fbe9e7 !important}.deep-orange-text.text-lighten-5{color:#fbe9e7 !important}.deep-orange.lighten-4{background-color:#ffccbc !important}.deep-orange-text.text-lighten-4{color:#ffccbc !important}.deep-orange.lighten-3{background-color:#ffab91 !important}.deep-orange-text.text-lighten-3{color:#ffab91 !important}.deep-orange.lighten-2{background-color:#ff8a65 !important}.deep-orange-text.text-lighten-2{color:#ff8a65 !important}.deep-orange.lighten-1{background-color:#ff7043 !important}.deep-orange-text.text-lighten-1{color:#ff7043 !important}.deep-orange.darken-1{background-color:#f4511e !important}.deep-orange-text.text-darken-1{color:#f4511e !important}.deep-orange.darken-2{background-color:#e64a19 !important}.deep-orange-text.text-darken-2{color:#e64a19 !important}.deep-orange.darken-3{background-color:#d84315 !important}.deep-orange-text.text-darken-3{color:#d84315 !important}.deep-orange.darken-4{background-color:#bf360c !important}.deep-orange-text.text-darken-4{color:#bf360c !important}.deep-orange.accent-1{background-color:#ff9e80 !important}.deep-orange-text.text-accent-1{color:#ff9e80 !important}.deep-orange.accent-2{background-color:#ff6e40 !important}.deep-orange-text.text-accent-2{color:#ff6e40 !important}.deep-orange.accent-3{background-color:#ff3d00 !important}.deep-orange-text.text-accent-3{color:#ff3d00 !important}.deep-orange.accent-4{background-color:#dd2c00 !important}.deep-orange-text.text-accent-4{color:#dd2c00 !important}.brown{background-color:#795548 !important}.brown-text{color:#795548 !important}.brown.lighten-5{background-color:#efebe9 !important}.brown-text.text-lighten-5{color:#efebe9 !important}.brown.lighten-4{background-color:#d7ccc8 !important}.brown-text.text-lighten-4{color:#d7ccc8 !important}.brown.lighten-3{background-color:#bcaaa4 !important}.brown-text.text-lighten-3{color:#bcaaa4 !important}.brown.lighten-2{background-color:#a1887f !important}.brown-text.text-lighten-2{color:#a1887f !important}.brown.lighten-1{background-color:#8d6e63 !important}.brown-text.text-lighten-1{color:#8d6e63 !important}.brown.darken-1{background-color:#6d4c41 !important}.brown-text.text-darken-1{color:#6d4c41 !important}.brown.darken-2{background-color:#5d4037 !important}.brown-text.text-darken-2{color:#5d4037 !important}.brown.darken-3{background-color:#4e342e !important}.brown-text.text-darken-3{color:#4e342e !important}.brown.darken-4{background-color:#3e2723 !important}.brown-text.text-darken-4{color:#3e2723 !important}.blue-grey{background-color:#607d8b !important}.blue-grey-text{color:#607d8b !important}.blue-grey.lighten-5{background-color:#eceff1 !important}.blue-grey-text.text-lighten-5{color:#eceff1 !important}.blue-grey.lighten-4{background-color:#cfd8dc !important}.blue-grey-text.text-lighten-4{color:#cfd8dc !important}.blue-grey.lighten-3{background-color:#b0bec5 !important}.blue-grey-text.text-lighten-3{color:#b0bec5 !important}.blue-grey.lighten-2{background-color:#90a4ae !important}.blue-grey-text.text-lighten-2{color:#90a4ae !important}.blue-grey.lighten-1{background-color:#78909c !important}.blue-grey-text.text-lighten-1{color:#78909c !important}.blue-grey.darken-1{background-color:#546e7a !important}.blue-grey-text.text-darken-1{color:#546e7a !important}.blue-grey.darken-2{background-color:#455a64 !important}.blue-grey-text.text-darken-2{color:#455a64 !important}.blue-grey.darken-3{background-color:#37474f !important}.blue-grey-text.text-darken-3{color:#37474f !important}.blue-grey.darken-4{background-color:#263238 !important}.blue-grey-text.text-darken-4{color:#263238 !important}.grey{background-color:#9e9e9e !important}.grey-text{color:#9e9e9e !important}.grey.lighten-5{background-color:#fafafa !important}.grey-text.text-lighten-5{color:#fafafa !important}.grey.lighten-4{background-color:#f5f5f5 !important}.grey-text.text-lighten-4{color:#f5f5f5 !important}.grey.lighten-3{background-color:#eee !important}.grey-text.text-lighten-3{color:#eee !important}.grey.lighten-2{background-color:#e0e0e0 !important}.grey-text.text-lighten-2{color:#e0e0e0 !important}.grey.lighten-1{background-color:#bdbdbd !important}.grey-text.text-lighten-1{color:#bdbdbd !important}.grey.darken-1{background-color:#757575 !important}.grey-text.text-darken-1{color:#757575 !important}.grey.darken-2{background-color:#616161 !important}.grey-text.text-darken-2{color:#616161 !important}.grey.darken-3{background-color:#424242 !important}.grey-text.text-darken-3{color:#424242 !important}.grey.darken-4{background-color:#212121 !important}.grey-text.text-darken-4{color:#212121 !important}.black{background-color:#000 !important}.black-text{color:#000 !important}.white{background-color:#fff !important}.white-text{color:#fff !important}.transparent{background-color:transparent !important}.transparent-text{color:transparent !important}/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}ul:not(.browser-default){padding-left:0;list-style-type:none}ul:not(.browser-default) li{list-style-type:none}a{color:#039be5;text-decoration:none;-webkit-tap-highlight-color:transparent}.valign-wrapper{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.valign-wrapper .valign{display:block}.clearfix{clear:both}.z-depth-0{box-shadow:none !important}.z-depth-1,nav,.card-panel,.card,.toast,.btn,.btn-large,.btn-floating,.dropdown-content,.collapsible,.side-nav{box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 1px 5px 0 rgba(0,0,0,0.12),0 3px 1px -2px rgba(0,0,0,0.2)}.z-depth-1-half,.btn:hover,.btn-large:hover,.btn-floating:hover{box-shadow:0 3px 3px 0 rgba(0,0,0,0.14),0 1px 7px 0 rgba(0,0,0,0.12),0 3px 1px -1px rgba(0,0,0,0.2)}.z-depth-2{box-shadow:0 4px 5px 0 rgba(0,0,0,0.14),0 1px 10px 0 rgba(0,0,0,0.12),0 2px 4px -1px rgba(0,0,0,0.3)}.z-depth-3{box-shadow:0 6px 10px 0 rgba(0,0,0,0.14),0 1px 18px 0 rgba(0,0,0,0.12),0 3px 5px -1px rgba(0,0,0,0.3)}.z-depth-4,.modal{box-shadow:0 8px 10px 1px rgba(0,0,0,0.14),0 3px 14px 2px rgba(0,0,0,0.12),0 5px 5px -3px rgba(0,0,0,0.3)}.z-depth-5{box-shadow:0 16px 24px 2px rgba(0,0,0,0.14),0 6px 30px 5px rgba(0,0,0,0.12),0 8px 10px -5px rgba(0,0,0,0.3)}.hoverable{transition:box-shadow .25s;box-shadow:0}.hoverable:hover{transition:box-shadow .25s;box-shadow:0 8px 17px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19)}.divider{height:1px;overflow:hidden;background-color:#e0e0e0}blockquote{margin:20px 0;padding-left:1.5rem;border-left:5px solid #ee6e73}i{line-height:inherit}i.left{float:left;margin-right:15px}i.right{float:right;margin-left:15px}i.tiny{font-size:1rem}i.small{font-size:2rem}i.medium{font-size:4rem}i.large{font-size:6rem}img.responsive-img,video.responsive-video{max-width:100%;height:auto}.pagination li{display:inline-block;border-radius:2px;text-align:center;vertical-align:top;height:30px}.pagination li a{color:#444;display:inline-block;font-size:1.2rem;padding:0 10px;line-height:30px}.pagination li.active a{color:#fff}.pagination li.active{background-color:#ee6e73}.pagination li.disabled a{cursor:default;color:#999}.pagination li i{font-size:2rem}.pagination li.pages ul li{display:inline-block;float:none}@media only screen and (max-width: 992px){.pagination{width:100%}.pagination li.prev,.pagination li.next{width:10%}.pagination li.pages{width:80%;overflow:hidden;white-space:nowrap}}.breadcrumb{font-size:18px;color:rgba(255,255,255,0.7)}.breadcrumb i,.breadcrumb [class^="mdi-"],.breadcrumb [class*="mdi-"],.breadcrumb i.material-icons{display:inline-block;float:left;font-size:24px}.breadcrumb:before{content:'\E5CC';color:rgba(255,255,255,0.7);vertical-align:top;display:inline-block;font-family:'Material Icons';font-weight:normal;font-style:normal;font-size:25px;margin:0 10px 0 8px;-webkit-font-smoothing:antialiased}.breadcrumb:first-child:before{display:none}.breadcrumb:last-child{color:#fff}.parallax-container{position:relative;overflow:hidden;height:500px}.parallax{position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1}.parallax img{display:none;position:absolute;left:50%;bottom:0;min-width:100%;min-height:100%;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);-webkit-transform:translateX(-50%);transform:translateX(-50%)}.pin-top,.pin-bottom{position:relative}.pinned{position:fixed !important}ul.staggered-list li{opacity:0}.fade-in{opacity:0;-webkit-transform-origin:0 50%;transform-origin:0 50%}@media only screen and (max-width: 600px){.hide-on-small-only,.hide-on-small-and-down{display:none !important}}@media only screen and (max-width: 992px){.hide-on-med-and-down{display:none !important}}@media only screen and (min-width: 601px){.hide-on-med-and-up{display:none !important}}@media only screen and (min-width: 600px) and (max-width: 992px){.hide-on-med-only{display:none !important}}@media only screen and (min-width: 993px){.hide-on-large-only{display:none !important}}@media only screen and (min-width: 993px){.show-on-large{display:block !important}}@media only screen and (min-width: 600px) and (max-width: 992px){.show-on-medium{display:block !important}}@media only screen and (max-width: 600px){.show-on-small{display:block !important}}@media only screen and (min-width: 601px){.show-on-medium-and-up{display:block !important}}@media only screen and (max-width: 992px){.show-on-medium-and-down{display:block !important}}@media only screen and (max-width: 600px){.center-on-small-only{text-align:center}}footer.page-footer{margin-top:20px;padding-top:20px;background-color:#ee6e73}footer.page-footer .footer-copyright{overflow:hidden;height:50px;line-height:50px;color:rgba(255,255,255,0.8);background-color:rgba(51,51,51,0.08)}table,th,td{border:none}table{width:100%;display:table}table.bordered>thead>tr,table.bordered>tbody>tr{border-bottom:1px solid #d0d0d0}table.striped>tbody>tr:nth-child(odd){background-color:#f2f2f2}table.striped>tbody>tr>td{border-radius:0}table.highlight>tbody>tr{transition:background-color .25s ease}table.highlight>tbody>tr:hover{background-color:#f2f2f2}table.centered thead tr th,table.centered tbody tr td{text-align:center}thead{border-bottom:1px solid #d0d0d0}td,th{padding:15px 5px;display:table-cell;text-align:left;vertical-align:middle;border-radius:2px}@media only screen and (max-width: 992px){table.responsive-table{width:100%;border-collapse:collapse;border-spacing:0;display:block;position:relative}table.responsive-table td:empty:before{content:'\00a0'}table.responsive-table th,table.responsive-table td{margin:0;vertical-align:top}table.responsive-table th{text-align:left}table.responsive-table thead{display:block;float:left}table.responsive-table thead tr{display:block;padding:0 10px 0 0}table.responsive-table thead tr th::before{content:"\00a0"}table.responsive-table tbody{display:block;width:auto;position:relative;overflow-x:auto;white-space:nowrap}table.responsive-table tbody tr{display:inline-block;vertical-align:top}table.responsive-table th{display:block;text-align:right}table.responsive-table td{display:block;min-height:1.25em;text-align:left}table.responsive-table tr{padding:0 10px}table.responsive-table thead{border:0;border-right:1px solid #d0d0d0}table.responsive-table.bordered th{border-bottom:0;border-left:0}table.responsive-table.bordered td{border-left:0;border-right:0;border-bottom:0}table.responsive-table.bordered tr{border:0}table.responsive-table.bordered tbody tr{border-right:1px solid #d0d0d0}}.collection{margin:0.5rem 0 1rem 0;border:1px solid #e0e0e0;border-radius:2px;overflow:hidden;position:relative}.collection .collection-item{background-color:#fff;line-height:1.5rem;padding:10px 20px;margin:0;border-bottom:1px solid #e0e0e0}.collection .collection-item.avatar{min-height:84px;padding-left:72px;position:relative}.collection .collection-item.avatar .circle{position:absolute;width:42px;height:42px;overflow:hidden;left:15px;display:inline-block;vertical-align:middle}.collection .collection-item.avatar i.circle{font-size:18px;line-height:42px;color:#fff;background-color:#999;text-align:center}.collection .collection-item.avatar .title{font-size:16px}.collection .collection-item.avatar p{margin:0}.collection .collection-item.avatar .secondary-content{position:absolute;top:16px;right:16px}.collection .collection-item:last-child{border-bottom:none}.collection .collection-item.active{background-color:#26a69a;color:#eafaf9}.collection .collection-item.active .secondary-content{color:#fff}.collection a.collection-item{display:block;transition:.25s;color:#26a69a}.collection a.collection-item:not(.active):hover{background-color:#ddd}.collection.with-header .collection-header{background-color:#fff;border-bottom:1px solid #e0e0e0;padding:10px 20px}.collection.with-header .collection-item{padding-left:30px}.collection.with-header .collection-item.avatar{padding-left:72px}.secondary-content{float:right;color:#26a69a}.collapsible .collection{margin:0;border:none}span.badge{min-width:3rem;padding:0 6px;margin-left:14px;text-align:center;font-size:1rem;line-height:inherit;color:#757575;float:right;box-sizing:border-box}span.badge.new{font-weight:300;font-size:0.8rem;color:#fff;background-color:#26a69a;border-radius:2px}span.badge.new:after{content:" new"}span.badge[data-badge-caption]::after{content:" " attr(data-badge-caption)}nav ul a span.badge{display:inline-block;float:none;margin-left:4px;line-height:22px;height:22px}.side-nav span.badge.new,.collapsible span.badge.new{position:relative;background-color:transparent}.side-nav span.badge.new::before,.collapsible span.badge.new::before{content:'';position:absolute;top:10px;right:0;bottom:10px;left:0;background-color:#26a69a;border-radius:2px;z-index:-1}.collapsible span.badge.new{z-index:1}.video-container{position:relative;padding-bottom:56.25%;height:0;overflow:hidden}.video-container iframe,.video-container object,.video-container embed{position:absolute;top:0;left:0;width:100%;height:100%}.progress{position:relative;height:4px;display:block;width:100%;background-color:#acece6;border-radius:2px;margin:0.5rem 0 1rem 0;overflow:hidden}.progress .determinate{position:absolute;top:0;left:0;bottom:0;background-color:#26a69a;transition:width .3s linear}.progress .indeterminate{background-color:#26a69a}.progress .indeterminate:before{content:'';position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left, right;-webkit-animation:indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;animation:indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite}.progress .indeterminate:after{content:'';position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left, right;-webkit-animation:indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;animation:indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;-webkit-animation-delay:1.15s;animation-delay:1.15s}@-webkit-keyframes indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}100%{left:100%;right:-90%}}@keyframes indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}100%{left:100%;right:-90%}}@-webkit-keyframes indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}100%{left:107%;right:-8%}}@keyframes indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}100%{left:107%;right:-8%}}.hide{display:none !important}.left-align{text-align:left}.right-align{text-align:right}.center,.center-align{text-align:center}.left{float:left !important}.right{float:right !important}.no-select,input[type=range],input[type=range]+.thumb{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.circle{border-radius:50%}.center-block{display:block;margin-left:auto;margin-right:auto}.truncate{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.no-padding{padding:0 !important}.material-icons{text-rendering:optimizeLegibility;-webkit-font-feature-settings:'liga';-moz-font-feature-settings:'liga';font-feature-settings:'liga'}.container{margin:0 auto;max-width:1280px;width:90%}@media only screen and (min-width: 601px){.container{width:85%}}@media only screen and (min-width: 993px){.container{width:70%}}.container .row{margin-left:-0.75rem;margin-right:-0.75rem}.section{padding-top:1rem;padding-bottom:1rem}.section.no-pad{padding:0}.section.no-pad-bot{padding-bottom:0}.section.no-pad-top{padding-top:0}.row{margin-left:auto;margin-right:auto;margin-bottom:20px}.row:after{content:"";display:table;clear:both}.row .col{float:left;box-sizing:border-box;padding:0 0.75rem;min-height:1px}.row .col[class*="push-"],.row .col[class*="pull-"]{position:relative}.row .col.s1{width:8.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.s2{width:16.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.s3{width:25%;margin-left:auto;left:auto;right:auto}.row .col.s4{width:33.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.s5{width:41.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.s6{width:50%;margin-left:auto;left:auto;right:auto}.row .col.s7{width:58.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.s8{width:66.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.s9{width:75%;margin-left:auto;left:auto;right:auto}.row .col.s10{width:83.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.s11{width:91.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.s12{width:100%;margin-left:auto;left:auto;right:auto}.row .col.offset-s1{margin-left:8.3333333333%}.row .col.pull-s1{right:8.3333333333%}.row .col.push-s1{left:8.3333333333%}.row .col.offset-s2{margin-left:16.6666666667%}.row .col.pull-s2{right:16.6666666667%}.row .col.push-s2{left:16.6666666667%}.row .col.offset-s3{margin-left:25%}.row .col.pull-s3{right:25%}.row .col.push-s3{left:25%}.row .col.offset-s4{margin-left:33.3333333333%}.row .col.pull-s4{right:33.3333333333%}.row .col.push-s4{left:33.3333333333%}.row .col.offset-s5{margin-left:41.6666666667%}.row .col.pull-s5{right:41.6666666667%}.row .col.push-s5{left:41.6666666667%}.row .col.offset-s6{margin-left:50%}.row .col.pull-s6{right:50%}.row .col.push-s6{left:50%}.row .col.offset-s7{margin-left:58.3333333333%}.row .col.pull-s7{right:58.3333333333%}.row .col.push-s7{left:58.3333333333%}.row .col.offset-s8{margin-left:66.6666666667%}.row .col.pull-s8{right:66.6666666667%}.row .col.push-s8{left:66.6666666667%}.row .col.offset-s9{margin-left:75%}.row .col.pull-s9{right:75%}.row .col.push-s9{left:75%}.row .col.offset-s10{margin-left:83.3333333333%}.row .col.pull-s10{right:83.3333333333%}.row .col.push-s10{left:83.3333333333%}.row .col.offset-s11{margin-left:91.6666666667%}.row .col.pull-s11{right:91.6666666667%}.row .col.push-s11{left:91.6666666667%}.row .col.offset-s12{margin-left:100%}.row .col.pull-s12{right:100%}.row .col.push-s12{left:100%}@media only screen and (min-width: 601px){.row .col.m1{width:8.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.m2{width:16.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.m3{width:25%;margin-left:auto;left:auto;right:auto}.row .col.m4{width:33.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.m5{width:41.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.m6{width:50%;margin-left:auto;left:auto;right:auto}.row .col.m7{width:58.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.m8{width:66.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.m9{width:75%;margin-left:auto;left:auto;right:auto}.row .col.m10{width:83.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.m11{width:91.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.m12{width:100%;margin-left:auto;left:auto;right:auto}.row .col.offset-m1{margin-left:8.3333333333%}.row .col.pull-m1{right:8.3333333333%}.row .col.push-m1{left:8.3333333333%}.row .col.offset-m2{margin-left:16.6666666667%}.row .col.pull-m2{right:16.6666666667%}.row .col.push-m2{left:16.6666666667%}.row .col.offset-m3{margin-left:25%}.row .col.pull-m3{right:25%}.row .col.push-m3{left:25%}.row .col.offset-m4{margin-left:33.3333333333%}.row .col.pull-m4{right:33.3333333333%}.row .col.push-m4{left:33.3333333333%}.row .col.offset-m5{margin-left:41.6666666667%}.row .col.pull-m5{right:41.6666666667%}.row .col.push-m5{left:41.6666666667%}.row .col.offset-m6{margin-left:50%}.row .col.pull-m6{right:50%}.row .col.push-m6{left:50%}.row .col.offset-m7{margin-left:58.3333333333%}.row .col.pull-m7{right:58.3333333333%}.row .col.push-m7{left:58.3333333333%}.row .col.offset-m8{margin-left:66.6666666667%}.row .col.pull-m8{right:66.6666666667%}.row .col.push-m8{left:66.6666666667%}.row .col.offset-m9{margin-left:75%}.row .col.pull-m9{right:75%}.row .col.push-m9{left:75%}.row .col.offset-m10{margin-left:83.3333333333%}.row .col.pull-m10{right:83.3333333333%}.row .col.push-m10{left:83.3333333333%}.row .col.offset-m11{margin-left:91.6666666667%}.row .col.pull-m11{right:91.6666666667%}.row .col.push-m11{left:91.6666666667%}.row .col.offset-m12{margin-left:100%}.row .col.pull-m12{right:100%}.row .col.push-m12{left:100%}}@media only screen and (min-width: 993px){.row .col.l1{width:8.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.l2{width:16.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.l3{width:25%;margin-left:auto;left:auto;right:auto}.row .col.l4{width:33.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.l5{width:41.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.l6{width:50%;margin-left:auto;left:auto;right:auto}.row .col.l7{width:58.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.l8{width:66.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.l9{width:75%;margin-left:auto;left:auto;right:auto}.row .col.l10{width:83.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.l11{width:91.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.l12{width:100%;margin-left:auto;left:auto;right:auto}.row .col.offset-l1{margin-left:8.3333333333%}.row .col.pull-l1{right:8.3333333333%}.row .col.push-l1{left:8.3333333333%}.row .col.offset-l2{margin-left:16.6666666667%}.row .col.pull-l2{right:16.6666666667%}.row .col.push-l2{left:16.6666666667%}.row .col.offset-l3{margin-left:25%}.row .col.pull-l3{right:25%}.row .col.push-l3{left:25%}.row .col.offset-l4{margin-left:33.3333333333%}.row .col.pull-l4{right:33.3333333333%}.row .col.push-l4{left:33.3333333333%}.row .col.offset-l5{margin-left:41.6666666667%}.row .col.pull-l5{right:41.6666666667%}.row .col.push-l5{left:41.6666666667%}.row .col.offset-l6{margin-left:50%}.row .col.pull-l6{right:50%}.row .col.push-l6{left:50%}.row .col.offset-l7{margin-left:58.3333333333%}.row .col.pull-l7{right:58.3333333333%}.row .col.push-l7{left:58.3333333333%}.row .col.offset-l8{margin-left:66.6666666667%}.row .col.pull-l8{right:66.6666666667%}.row .col.push-l8{left:66.6666666667%}.row .col.offset-l9{margin-left:75%}.row .col.pull-l9{right:75%}.row .col.push-l9{left:75%}.row .col.offset-l10{margin-left:83.3333333333%}.row .col.pull-l10{right:83.3333333333%}.row .col.push-l10{left:83.3333333333%}.row .col.offset-l11{margin-left:91.6666666667%}.row .col.pull-l11{right:91.6666666667%}.row .col.push-l11{left:91.6666666667%}.row .col.offset-l12{margin-left:100%}.row .col.pull-l12{right:100%}.row .col.push-l12{left:100%}}nav{color:#fff;background-color:#ee6e73;width:100%;height:56px;line-height:56px}nav.nav-extended{height:auto}nav.nav-extended .nav-wrapper{height:auto}nav a{color:#fff}nav i,nav [class^="mdi-"],nav [class*="mdi-"],nav i.material-icons{display:block;font-size:24px;height:56px;line-height:56px}nav .nav-wrapper{position:relative;height:100%}@media only screen and (min-width: 993px){nav a.button-collapse{display:none}}nav .button-collapse{float:left;position:relative;z-index:1;height:56px;margin:0 18px}nav .button-collapse i{height:56px;line-height:56px}nav .brand-logo{position:absolute;color:#fff;display:inline-block;font-size:2.1rem;padding:0;white-space:nowrap}nav .brand-logo.center{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}@media only screen and (max-width: 992px){nav .brand-logo{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}nav .brand-logo.left,nav .brand-logo.right{padding:0;-webkit-transform:none;transform:none}nav .brand-logo.left{left:0.5rem}nav .brand-logo.right{right:0.5rem;left:auto}}nav .brand-logo.right{right:0.5rem;padding:0}nav .brand-logo i,nav .brand-logo [class^="mdi-"],nav .brand-logo [class*="mdi-"],nav .brand-logo i.material-icons{float:left;margin-right:15px}nav ul{margin:0}nav ul li{transition:background-color .3s;float:left;padding:0}nav ul li.active{background-color:rgba(0,0,0,0.1)}nav ul a{transition:background-color .3s;font-size:1rem;color:#fff;display:block;padding:0 15px;cursor:pointer}nav ul a.btn,nav ul a.btn-large,nav ul a.btn-large,nav ul a.btn-flat,nav ul a.btn-floating{margin-top:-2px;margin-left:15px;margin-right:15px}nav ul a:hover{background-color:rgba(0,0,0,0.1)}nav ul.left{float:left}nav form{height:100%}nav .input-field{margin:0;height:100%}nav .input-field input{height:100%;font-size:1.2rem;border:none;padding-left:2rem}nav .input-field input:focus,nav .input-field input[type=text]:valid,nav .input-field input[type=password]:valid,nav .input-field input[type=email]:valid,nav .input-field input[type=url]:valid,nav .input-field input[type=date]:valid{border:none;box-shadow:none}nav .input-field label{top:0;left:0}nav .input-field label i{color:rgba(255,255,255,0.7);transition:color .3s}nav .input-field label.active i{color:#fff}nav .input-field label.active{-webkit-transform:translateY(0);transform:translateY(0)}.navbar-fixed{position:relative;height:56px;z-index:997}.navbar-fixed nav{position:fixed}@media only screen and (min-width: 601px){nav,nav .nav-wrapper i,nav a.button-collapse,nav a.button-collapse i{height:64px;line-height:64px}.navbar-fixed{height:64px}}@font-face{font-family:"Roboto";src:local(Roboto Thin),url("../fonts/roboto/Roboto-Thin.eot");src:url("../fonts/roboto/Roboto-Thin.eot?#iefix") format("embedded-opentype"),url("../fonts/roboto/Roboto-Thin.woff2") format("woff2"),url("../fonts/roboto/Roboto-Thin.woff") format("woff"),url("../fonts/roboto/Roboto-Thin.ttf") format("truetype");font-weight:200}@font-face{font-family:"Roboto";src:local(Roboto Light),url("../fonts/roboto/Roboto-Light.eot");src:url("../fonts/roboto/Roboto-Light.eot?#iefix") format("embedded-opentype"),url("../fonts/roboto/Roboto-Light.woff2") format("woff2"),url("../fonts/roboto/Roboto-Light.woff") format("woff"),url("../fonts/roboto/Roboto-Light.ttf") format("truetype");font-weight:300}@font-face{font-family:"Roboto";src:local(Roboto Regular),url("../fonts/roboto/Roboto-Regular.eot");src:url("../fonts/roboto/Roboto-Regular.eot?#iefix") format("embedded-opentype"),url("../fonts/roboto/Roboto-Regular.woff2") format("woff2"),url("../fonts/roboto/Roboto-Regular.woff") format("woff"),url("../fonts/roboto/Roboto-Regular.ttf") format("truetype");font-weight:400}@font-face{font-family:"Roboto";src:url("../fonts/roboto/Roboto-Medium.eot");src:url("../fonts/roboto/Roboto-Medium.eot?#iefix") format("embedded-opentype"),url("../fonts/roboto/Roboto-Medium.woff2") format("woff2"),url("../fonts/roboto/Roboto-Medium.woff") format("woff"),url("../fonts/roboto/Roboto-Medium.ttf") format("truetype");font-weight:500}@font-face{font-family:"Roboto";src:url("../fonts/roboto/Roboto-Bold.eot");src:url("../fonts/roboto/Roboto-Bold.eot?#iefix") format("embedded-opentype"),url("../fonts/roboto/Roboto-Bold.woff2") format("woff2"),url("../fonts/roboto/Roboto-Bold.woff") format("woff"),url("../fonts/roboto/Roboto-Bold.ttf") format("truetype");font-weight:700}a{text-decoration:none}html{line-height:1.5;font-family:"Roboto", sans-serif;font-weight:normal;color:rgba(0,0,0,0.87)}@media only screen and (min-width: 0){html{font-size:14px}}@media only screen and (min-width: 992px){html{font-size:14.5px}}@media only screen and (min-width: 1200px){html{font-size:15px}}h1,h2,h3,h4,h5,h6{font-weight:400;line-height:1.1}h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{font-weight:inherit}h1{font-size:4.2rem;line-height:110%;margin:2.1rem 0 1.68rem 0}h2{font-size:3.56rem;line-height:110%;margin:1.78rem 0 1.424rem 0}h3{font-size:2.92rem;line-height:110%;margin:1.46rem 0 1.168rem 0}h4{font-size:2.28rem;line-height:110%;margin:1.14rem 0 0.912rem 0}h5{font-size:1.64rem;line-height:110%;margin:0.82rem 0 0.656rem 0}h6{font-size:1rem;line-height:110%;margin:0.5rem 0 0.4rem 0}em{font-style:italic}strong{font-weight:500}small{font-size:75%}.light,footer.page-footer .footer-copyright{font-weight:300}.thin{font-weight:200}.flow-text{font-weight:300}@media only screen and (min-width: 360px){.flow-text{font-size:1.2rem}}@media only screen and (min-width: 390px){.flow-text{font-size:1.224rem}}@media only screen and (min-width: 420px){.flow-text{font-size:1.248rem}}@media only screen and (min-width: 450px){.flow-text{font-size:1.272rem}}@media only screen and (min-width: 480px){.flow-text{font-size:1.296rem}}@media only screen and (min-width: 510px){.flow-text{font-size:1.32rem}}@media only screen and (min-width: 540px){.flow-text{font-size:1.344rem}}@media only screen and (min-width: 570px){.flow-text{font-size:1.368rem}}@media only screen and (min-width: 600px){.flow-text{font-size:1.392rem}}@media only screen and (min-width: 630px){.flow-text{font-size:1.416rem}}@media only screen and (min-width: 660px){.flow-text{font-size:1.44rem}}@media only screen and (min-width: 690px){.flow-text{font-size:1.464rem}}@media only screen and (min-width: 720px){.flow-text{font-size:1.488rem}}@media only screen and (min-width: 750px){.flow-text{font-size:1.512rem}}@media only screen and (min-width: 780px){.flow-text{font-size:1.536rem}}@media only screen and (min-width: 810px){.flow-text{font-size:1.56rem}}@media only screen and (min-width: 840px){.flow-text{font-size:1.584rem}}@media only screen and (min-width: 870px){.flow-text{font-size:1.608rem}}@media only screen and (min-width: 900px){.flow-text{font-size:1.632rem}}@media only screen and (min-width: 930px){.flow-text{font-size:1.656rem}}@media only screen and (min-width: 960px){.flow-text{font-size:1.68rem}}@media only screen and (max-width: 360px){.flow-text{font-size:1.2rem}}.card-panel{transition:box-shadow .25s;padding:20px;margin:0.5rem 0 1rem 0;border-radius:2px;background-color:#fff}.card{position:relative;margin:0.5rem 0 1rem 0;background-color:#fff;transition:box-shadow .25s;border-radius:2px}.card .card-title{font-size:24px;font-weight:300}.card .card-title.activator{cursor:pointer}.card.small,.card.medium,.card.large{position:relative}.card.small .card-image,.card.medium .card-image,.card.large .card-image{max-height:60%;overflow:hidden}.card.small .card-image+.card-content,.card.medium .card-image+.card-content,.card.large .card-image+.card-content{max-height:40%}.card.small .card-content,.card.medium .card-content,.card.large .card-content{max-height:100%;overflow:hidden}.card.small .card-action,.card.medium .card-action,.card.large .card-action{position:absolute;bottom:0;left:0;right:0}.card.small{height:300px}.card.medium{height:400px}.card.large{height:500px}.card.horizontal{display:-webkit-flex;display:-ms-flexbox;display:flex}.card.horizontal.small .card-image,.card.horizontal.medium .card-image,.card.horizontal.large .card-image{height:100%;max-height:none;overflow:visible}.card.horizontal.small .card-image img,.card.horizontal.medium .card-image img,.card.horizontal.large .card-image img{height:100%}.card.horizontal .card-image{max-width:50%}.card.horizontal .card-image img{border-radius:2px 0 0 2px;max-width:100%;width:auto}.card.horizontal .card-stacked{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-flex:1;-ms-flex:1;flex:1;position:relative}.card.horizontal .card-stacked .card-content{-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.card.sticky-action .card-action{z-index:2}.card.sticky-action .card-reveal{z-index:1;padding-bottom:64px}.card .card-image{position:relative}.card .card-image img{display:block;border-radius:2px 2px 0 0;position:relative;left:0;right:0;top:0;bottom:0;width:100%}.card .card-image .card-title{color:#fff;position:absolute;bottom:0;left:0;padding:20px}.card .card-content{padding:20px;border-radius:0 0 2px 2px}.card .card-content p{margin:0;color:inherit}.card .card-content .card-title{line-height:48px}.card .card-action{position:relative;background-color:inherit;border-top:1px solid rgba(160,160,160,0.2);padding:20px}.card .card-action a:not(.btn):not(.btn-large):not(.btn-floating){color:#ffab40;margin-right:20px;transition:color .3s ease;text-transform:uppercase}.card .card-action a:not(.btn):not(.btn-large):not(.btn-floating):hover{color:#ffd8a6}.card .card-reveal{padding:20px;position:absolute;background-color:#fff;width:100%;overflow-y:auto;left:0;top:100%;height:100%;z-index:3;display:none}.card .card-reveal .card-title{cursor:pointer;display:block}#toast-container{display:block;position:fixed;z-index:10000}@media only screen and (max-width: 600px){#toast-container{min-width:100%;bottom:0%}}@media only screen and (min-width: 601px) and (max-width: 992px){#toast-container{left:5%;bottom:7%;max-width:90%}}@media only screen and (min-width: 993px){#toast-container{top:10%;right:7%;max-width:86%}}.toast{border-radius:2px;top:0;width:auto;clear:both;margin-top:10px;position:relative;max-width:100%;height:auto;min-height:48px;line-height:1.5em;word-break:break-all;background-color:#323232;padding:10px 25px;font-size:1.1rem;font-weight:300;color:#fff;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.toast .btn,.toast .btn-large,.toast .btn-flat{margin:0;margin-left:3rem}.toast.rounded{border-radius:24px}@media only screen and (max-width: 600px){.toast{width:100%;border-radius:0}}@media only screen and (min-width: 601px) and (max-width: 992px){.toast{float:left}}@media only screen and (min-width: 993px){.toast{float:right}}.tabs{position:relative;overflow-x:auto;overflow-y:hidden;height:48px;width:100%;background-color:#fff;margin:0 auto;white-space:nowrap}.tabs.tabs-transparent{background-color:transparent}.tabs.tabs-transparent .tab a,.tabs.tabs-transparent .tab.disabled a,.tabs.tabs-transparent .tab.disabled a:hover{color:rgba(255,255,255,0.7)}.tabs.tabs-transparent .tab a:hover,.tabs.tabs-transparent .tab a.active{color:#fff}.tabs.tabs-transparent .indicator{background-color:#fff}.tabs.tabs-fixed-width{display:-webkit-flex;display:-ms-flexbox;display:flex}.tabs.tabs-fixed-width .tab{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.tabs .tab{display:inline-block;text-align:center;line-height:48px;height:48px;padding:0;margin:0;text-transform:uppercase}.tabs .tab a{color:rgba(238,110,115,0.7);display:block;width:100%;height:100%;padding:0 24px;font-size:14px;text-overflow:ellipsis;overflow:hidden;transition:color .28s ease}.tabs .tab a:hover,.tabs .tab a.active{background-color:transparent;color:#ee6e73}.tabs .tab.disabled a,.tabs .tab.disabled a:hover{color:rgba(238,110,115,0.7);cursor:default}.tabs .indicator{position:absolute;bottom:0;height:2px;background-color:#f6b2b5;will-change:left, right}@media only screen and (max-width: 992px){.tabs{display:-webkit-flex;display:-ms-flexbox;display:flex}.tabs .tab{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.tabs .tab a{padding:0 12px}}.material-tooltip{padding:10px 8px;font-size:1rem;z-index:2000;background-color:transparent;border-radius:2px;color:#fff;min-height:36px;line-height:120%;opacity:0;display:none;position:absolute;text-align:center;max-width:calc(100% - 4px);overflow:hidden;left:0;top:0;pointer-events:none}.backdrop{position:absolute;opacity:0;display:none;height:7px;width:14px;border-radius:0 0 50% 50%;background-color:#323232;z-index:-1;-webkit-transform-origin:50% 0%;transform-origin:50% 0%;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}.btn,.btn-large,.btn-flat{border:none;border-radius:2px;display:inline-block;height:36px;line-height:36px;padding:0 2rem;text-transform:uppercase;vertical-align:middle;-webkit-tap-highlight-color:transparent}.btn.disabled,.disabled.btn-large,.btn-floating.disabled,.btn-large.disabled,.btn-flat.disabled,.btn:disabled,.btn-large:disabled,.btn-floating:disabled,.btn-large:disabled,.btn-flat:disabled,.btn[disabled],[disabled].btn-large,.btn-floating[disabled],.btn-large[disabled],.btn-flat[disabled]{pointer-events:none;background-color:#DFDFDF !important;box-shadow:none;color:#9F9F9F !important;cursor:default}.btn.disabled:hover,.disabled.btn-large:hover,.btn-floating.disabled:hover,.btn-large.disabled:hover,.btn-flat.disabled:hover,.btn:disabled:hover,.btn-large:disabled:hover,.btn-floating:disabled:hover,.btn-large:disabled:hover,.btn-flat:disabled:hover,.btn[disabled]:hover,[disabled].btn-large:hover,.btn-floating[disabled]:hover,.btn-large[disabled]:hover,.btn-flat[disabled]:hover{background-color:#DFDFDF !important;color:#9F9F9F !important}.btn,.btn-large,.btn-floating,.btn-large,.btn-flat{outline:0}.btn i,.btn-large i,.btn-floating i,.btn-large i,.btn-flat i{font-size:1.3rem;line-height:inherit}.btn:focus,.btn-large:focus,.btn-floating:focus{background-color:#1d7d74}.btn,.btn-large{text-decoration:none;color:#fff;background-color:#26a69a;text-align:center;letter-spacing:.5px;transition:.2s ease-out;cursor:pointer}.btn:hover,.btn-large:hover{background-color:#2bbbad}.btn-floating{display:inline-block;color:#fff;position:relative;overflow:hidden;z-index:1;width:40px;height:40px;line-height:40px;padding:0;background-color:#26a69a;border-radius:50%;transition:.3s;cursor:pointer;vertical-align:middle}.btn-floating i{width:inherit;display:inline-block;text-align:center;color:#fff;font-size:1.6rem;line-height:40px}.btn-floating:hover{background-color:#26a69a}.btn-floating:before{border-radius:0}.btn-floating.btn-large{width:56px;height:56px}.btn-floating.btn-large i{line-height:56px}button.btn-floating{border:none}.fixed-action-btn{position:fixed;right:23px;bottom:23px;padding-top:15px;margin-bottom:0;z-index:998}.fixed-action-btn.active ul{visibility:visible}.fixed-action-btn.horizontal{padding:0 0 0 15px}.fixed-action-btn.horizontal ul{text-align:right;right:64px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);height:100%;left:auto;width:500px}.fixed-action-btn.horizontal ul li{display:inline-block;margin:15px 15px 0 0}.fixed-action-btn.toolbar{padding:0;height:56px}.fixed-action-btn.toolbar.active>a i{opacity:0}.fixed-action-btn.toolbar ul{display:-webkit-flex;display:-ms-flexbox;display:flex;top:0;bottom:0}.fixed-action-btn.toolbar ul li{-webkit-flex:1;-ms-flex:1;flex:1;display:inline-block;margin:0;height:100%;transition:none}.fixed-action-btn.toolbar ul li a{display:block;overflow:hidden;position:relative;width:100%;height:100%;background-color:transparent;box-shadow:none;color:#fff;line-height:56px;z-index:1}.fixed-action-btn.toolbar ul li a i{line-height:inherit}.fixed-action-btn ul{left:0;right:0;text-align:center;position:absolute;bottom:64px;margin:0;visibility:hidden}.fixed-action-btn ul li{margin-bottom:15px}.fixed-action-btn ul a.btn-floating{opacity:0}.fixed-action-btn .fab-backdrop{position:absolute;top:0;left:0;z-index:-1;width:40px;height:40px;background-color:#26a69a;border-radius:50%;-webkit-transform:scale(0);transform:scale(0)}.btn-flat{box-shadow:none;background-color:transparent;color:#343434;cursor:pointer;transition:background-color .2s}.btn-flat:focus,.btn-flat:active{background-color:transparent}.btn-flat:focus,.btn-flat:hover{background-color:rgba(0,0,0,0.1);box-shadow:none}.btn-flat:active{background-color:rgba(0,0,0,0.2)}.btn-flat.disabled{background-color:transparent !important;color:#b3b3b3 !important;cursor:default}.btn-large{height:54px;line-height:54px}.btn-large i{font-size:1.6rem}.btn-block{display:block}.dropdown-content{background-color:#fff;margin:0;display:none;min-width:100px;max-height:650px;overflow-y:auto;opacity:0;position:absolute;z-index:999;will-change:width, height}.dropdown-content li{clear:both;color:rgba(0,0,0,0.87);cursor:pointer;min-height:50px;line-height:1.5rem;width:100%;text-align:left;text-transform:none}.dropdown-content li:hover,.dropdown-content li.active,.dropdown-content li.selected{background-color:#eee}.dropdown-content li.active.selected{background-color:#e1e1e1}.dropdown-content li.divider{min-height:0;height:1px}.dropdown-content li>a,.dropdown-content li>span{font-size:16px;color:#26a69a;display:block;line-height:22px;padding:14px 16px}.dropdown-content li>span>label{top:1px;left:0;height:18px}.dropdown-content li>a>i{height:inherit;line-height:inherit}.input-field.col .dropdown-content [type="checkbox"]+label{top:1px;left:0;height:18px}/*!
|
7 |
* Waves v0.6.0
|
8 |
* http://fian.my.id/Waves
|
9 |
*
|
10 |
* Copyright 2014 Alfiana E. Sibuea and other contributors
|
11 |
* Released under the MIT license
|
12 |
* https://github.com/fians/Waves/blob/master/LICENSE
|
13 |
-
*/.waves-effect{position:relative;cursor:pointer;display:inline-block;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;vertical-align:middle;z-index:1;will-change:opacity, transform;transition:.3s ease-out}.waves-effect .waves-ripple{position:absolute;border-radius:50%;width:20px;height:20px;margin-top:-10px;margin-left:-10px;opacity:0;background:rgba(0,0,0,0.2);transition:all 0.7s ease-out;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;-webkit-transform:scale(0);transform:scale(0);pointer-events:none}.waves-effect.waves-light .waves-ripple{background-color:rgba(255,255,255,0.45)}.waves-effect.waves-red .waves-ripple{background-color:rgba(244,67,54,0.7)}.waves-effect.waves-yellow .waves-ripple{background-color:rgba(255,235,59,0.7)}.waves-effect.waves-orange .waves-ripple{background-color:rgba(255,152,0,0.7)}.waves-effect.waves-purple .waves-ripple{background-color:rgba(156,39,176,0.7)}.waves-effect.waves-green .waves-ripple{background-color:rgba(76,175,80,0.7)}.waves-effect.waves-teal .waves-ripple{background-color:rgba(0,150,136,0.7)}.waves-effect input[type="button"],.waves-effect input[type="reset"],.waves-effect input[type="submit"]{border:0;font-style:normal;font-size:inherit;text-transform:inherit;background:none}.waves-effect img{position:relative;z-index:-1}.waves-notransition{transition:none !important}.waves-circle{-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-mask-image:-webkit-radial-gradient(circle, #fff 100%, #000 100%)}.waves-input-wrapper{border-radius:0.2em;vertical-align:bottom}.waves-input-wrapper .waves-button-input{position:relative;top:0;left:0;z-index:1}.waves-circle{text-align:center;width:2.5em;height:2.5em;line-height:2.5em;border-radius:50%;-webkit-mask-image:none}.waves-block{display:block}.waves-effect .waves-ripple{z-index:-1}.modal{display:none;position:fixed;left:0;right:0;background-color:#fafafa;padding:0;max-height:70%;width:55%;margin:auto;overflow-y:auto;border-radius:2px;will-change:top, opacity}@media only screen and (max-width: 992px){.modal{width:80%}}.modal h1,.modal h2,.modal h3,.modal h4{margin-top:0}.modal .modal-content{padding:24px}.modal .modal-close{cursor:pointer}.modal .modal-footer{border-radius:0 0 2px 2px;background-color:#fafafa;padding:4px 6px;height:56px;width:100%}.modal .modal-footer .btn,.modal .modal-footer .btn-large,.modal .modal-footer .btn-flat{float:right;margin:6px 0}.modal-overlay{position:fixed;z-index:999;top:-100px;left:0;bottom:0;right:0;height:125%;width:100%;background:#000;display:none;will-change:opacity}.modal.modal-fixed-footer{padding:0;height:70%}.modal.modal-fixed-footer .modal-content{position:absolute;height:calc(100% - 56px);max-height:100%;width:100%;overflow-y:auto}.modal.modal-fixed-footer .modal-footer{border-top:1px solid rgba(0,0,0,0.1);position:absolute;bottom:0}.modal.bottom-sheet{top:auto;bottom:-100%;margin:0;width:100%;max-height:45%;border-radius:0;will-change:bottom, opacity}.collapsible{border-top:1px solid #ddd;border-right:1px solid #ddd;border-left:1px solid #ddd;margin:0.5rem 0 1rem 0}.collapsible-header{display:block;cursor:pointer;min-height:3rem;line-height:3rem;padding:0 1rem;background-color:#fff;border-bottom:1px solid #ddd}.collapsible-header i{width:2rem;font-size:1.6rem;line-height:3rem;display:block;float:left;text-align:center;margin-right:1rem}.collapsible-body{display:none;border-bottom:1px solid #ddd;box-sizing:border-box}.collapsible-body p{margin:0;padding:2rem}.side-nav .collapsible,.side-nav.fixed .collapsible{border:none;box-shadow:none}.side-nav .collapsible li,.side-nav.fixed .collapsible li{padding:0}.side-nav .collapsible-header,.side-nav.fixed .collapsible-header{background-color:transparent;border:none;line-height:inherit;height:inherit;padding:0 16px}.side-nav .collapsible-header:hover,.side-nav.fixed .collapsible-header:hover{background-color:rgba(0,0,0,0.05)}.side-nav .collapsible-header i,.side-nav.fixed .collapsible-header i{line-height:inherit}.side-nav .collapsible-body,.side-nav.fixed .collapsible-body{border:0;background-color:#fff}.side-nav .collapsible-body li a,.side-nav.fixed .collapsible-body li a{padding:0 23.5px 0 31px}.collapsible.popout{border:none;box-shadow:none}.collapsible.popout>li{box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);margin:0 24px;transition:margin 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94)}.collapsible.popout>li.active{box-shadow:0 5px 11px 0 rgba(0,0,0,0.18),0 4px 15px 0 rgba(0,0,0,0.15);margin:16px 0}.chip{display:inline-block;height:32px;font-size:13px;font-weight:500;color:rgba(0,0,0,0.6);line-height:32px;padding:0 12px;border-radius:16px;background-color:#e4e4e4;margin-bottom:5px;margin-right:5px}.chip img{float:left;margin:0 8px 0 -12px;height:32px;width:32px;border-radius:50%}.chip .close{cursor:pointer;float:right;font-size:16px;line-height:32px;padding-left:8px}.chips{border:none;border-bottom:1px solid #9e9e9e;box-shadow:none;margin:0 0 20px 0;min-height:45px;outline:none;transition:all .3s}.chips.focus{border-bottom:1px solid #26a69a;box-shadow:0 1px 0 0 #26a69a}.chips:hover{cursor:text}.chips .chip.selected{background-color:#26a69a;color:#fff}.chips .input{background:none;border:0;color:rgba(0,0,0,0.6);display:inline-block;font-size:1rem;height:3rem;line-height:32px;outline:0;margin:0;padding:0 !important;width:120px !important}.chips .input:focus{border:0 !important;box-shadow:none !important}.prefix ~ .chips{margin-left:3rem;width:92%;width:calc(100% - 3rem)}.chips:empty ~ label{font-size:0.8rem;-webkit-transform:translateY(-140%);transform:translateY(-140%)}.materialboxed{display:block;cursor:-webkit-zoom-in;cursor:zoom-in;position:relative;transition:opacity .4s}.materialboxed:hover{will-change:left, top, width, height}.materialboxed:hover:not(.active){opacity:.8}.materialboxed.active{cursor:-webkit-zoom-out;cursor:zoom-out}#materialbox-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#292929;z-index:1000;will-change:opacity}.materialbox-caption{position:fixed;display:none;color:#fff;line-height:50px;bottom:0;width:100%;text-align:center;padding:0% 15%;height:50px;z-index:1000;-webkit-font-smoothing:antialiased}select:focus{outline:1px solid #c9f3ef}button:focus{outline:none;background-color:#2ab7a9}label{font-size:0.8rem;color:#9e9e9e}::-webkit-input-placeholder{color:#d1d1d1}:-moz-placeholder{color:#d1d1d1}::-moz-placeholder{color:#d1d1d1}:-ms-input-placeholder{color:#d1d1d1}input:not([type]),input[type=text],input[type=password],input[type=email],input[type=url],input[type=time],input[type=date],input[type=datetime],input[type=datetime-local],input[type=tel],input[type=number],input[type=search],textarea.materialize-textarea{background-color:transparent;border:none;border-bottom:1px solid #9e9e9e;border-radius:0;outline:none;height:3rem;width:100%;font-size:1rem;margin:0 0 20px 0;padding:0;box-shadow:none;box-sizing:content-box;transition:all 0.3s}input:not([type]):disabled,input:not([type])[readonly="readonly"],input[type=text]:disabled,input[type=text][readonly="readonly"],input[type=password]:disabled,input[type=password][readonly="readonly"],input[type=email]:disabled,input[type=email][readonly="readonly"],input[type=url]:disabled,input[type=url][readonly="readonly"],input[type=time]:disabled,input[type=time][readonly="readonly"],input[type=date]:disabled,input[type=date][readonly="readonly"],input[type=datetime]:disabled,input[type=datetime][readonly="readonly"],input[type=datetime-local]:disabled,input[type=datetime-local][readonly="readonly"],input[type=tel]:disabled,input[type=tel][readonly="readonly"],input[type=number]:disabled,input[type=number][readonly="readonly"],input[type=search]:disabled,input[type=search][readonly="readonly"],textarea.materialize-textarea:disabled,textarea.materialize-textarea[readonly="readonly"]{color:rgba(0,0,0,0.26);border-bottom:1px dotted rgba(0,0,0,0.26)}input:not([type]):disabled+label,input:not([type])[readonly="readonly"]+label,input[type=text]:disabled+label,input[type=text][readonly="readonly"]+label,input[type=password]:disabled+label,input[type=password][readonly="readonly"]+label,input[type=email]:disabled+label,input[type=email][readonly="readonly"]+label,input[type=url]:disabled+label,input[type=url][readonly="readonly"]+label,input[type=time]:disabled+label,input[type=time][readonly="readonly"]+label,input[type=date]:disabled+label,input[type=date][readonly="readonly"]+label,input[type=datetime]:disabled+label,input[type=datetime][readonly="readonly"]+label,input[type=datetime-local]:disabled+label,input[type=datetime-local][readonly="readonly"]+label,input[type=tel]:disabled+label,input[type=tel][readonly="readonly"]+label,input[type=number]:disabled+label,input[type=number][readonly="readonly"]+label,input[type=search]:disabled+label,input[type=search][readonly="readonly"]+label,textarea.materialize-textarea:disabled+label,textarea.materialize-textarea[readonly="readonly"]+label{color:rgba(0,0,0,0.26)}input:not([type]):focus:not([readonly]),input[type=text]:focus:not([readonly]),input[type=password]:focus:not([readonly]),input[type=email]:focus:not([readonly]),input[type=url]:focus:not([readonly]),input[type=time]:focus:not([readonly]),input[type=date]:focus:not([readonly]),input[type=datetime]:focus:not([readonly]),input[type=datetime-local]:focus:not([readonly]),input[type=tel]:focus:not([readonly]),input[type=number]:focus:not([readonly]),input[type=search]:focus:not([readonly]),textarea.materialize-textarea:focus:not([readonly]){border-bottom:1px solid #26a69a;box-shadow:0 1px 0 0 #26a69a}input:not([type]):focus:not([readonly])+label,input[type=text]:focus:not([readonly])+label,input[type=password]:focus:not([readonly])+label,input[type=email]:focus:not([readonly])+label,input[type=url]:focus:not([readonly])+label,input[type=time]:focus:not([readonly])+label,input[type=date]:focus:not([readonly])+label,input[type=datetime]:focus:not([readonly])+label,input[type=datetime-local]:focus:not([readonly])+label,input[type=tel]:focus:not([readonly])+label,input[type=number]:focus:not([readonly])+label,input[type=search]:focus:not([readonly])+label,textarea.materialize-textarea:focus:not([readonly])+label{color:#26a69a}input:not([type]).valid,input:not([type]):focus.valid,input[type=text].valid,input[type=text]:focus.valid,input[type=password].valid,input[type=password]:focus.valid,input[type=email].valid,input[type=email]:focus.valid,input[type=url].valid,input[type=url]:focus.valid,input[type=time].valid,input[type=time]:focus.valid,input[type=date].valid,input[type=date]:focus.valid,input[type=datetime].valid,input[type=datetime]:focus.valid,input[type=datetime-local].valid,input[type=datetime-local]:focus.valid,input[type=tel].valid,input[type=tel]:focus.valid,input[type=number].valid,input[type=number]:focus.valid,input[type=search].valid,input[type=search]:focus.valid,textarea.materialize-textarea.valid,textarea.materialize-textarea:focus.valid{border-bottom:1px solid #4CAF50;box-shadow:0 1px 0 0 #4CAF50}input:not([type]).valid+label:after,input:not([type]):focus.valid+label:after,input[type=text].valid+label:after,input[type=text]:focus.valid+label:after,input[type=password].valid+label:after,input[type=password]:focus.valid+label:after,input[type=email].valid+label:after,input[type=email]:focus.valid+label:after,input[type=url].valid+label:after,input[type=url]:focus.valid+label:after,input[type=time].valid+label:after,input[type=time]:focus.valid+label:after,input[type=date].valid+label:after,input[type=date]:focus.valid+label:after,input[type=datetime].valid+label:after,input[type=datetime]:focus.valid+label:after,input[type=datetime-local].valid+label:after,input[type=datetime-local]:focus.valid+label:after,input[type=tel].valid+label:after,input[type=tel]:focus.valid+label:after,input[type=number].valid+label:after,input[type=number]:focus.valid+label:after,input[type=search].valid+label:after,input[type=search]:focus.valid+label:after,textarea.materialize-textarea.valid+label:after,textarea.materialize-textarea:focus.valid+label:after{content:attr(data-success);color:#4CAF50;opacity:1}input:not([type]).invalid,input:not([type]):focus.invalid,input[type=text].invalid,input[type=text]:focus.invalid,input[type=password].invalid,input[type=password]:focus.invalid,input[type=email].invalid,input[type=email]:focus.invalid,input[type=url].invalid,input[type=url]:focus.invalid,input[type=time].invalid,input[type=time]:focus.invalid,input[type=date].invalid,input[type=date]:focus.invalid,input[type=datetime].invalid,input[type=datetime]:focus.invalid,input[type=datetime-local].invalid,input[type=datetime-local]:focus.invalid,input[type=tel].invalid,input[type=tel]:focus.invalid,input[type=number].invalid,input[type=number]:focus.invalid,input[type=search].invalid,input[type=search]:focus.invalid,textarea.materialize-textarea.invalid,textarea.materialize-textarea:focus.invalid{border-bottom:1px solid #F44336;box-shadow:0 1px 0 0 #F44336}input:not([type]).invalid+label:after,input:not([type]):focus.invalid+label:after,input[type=text].invalid+label:after,input[type=text]:focus.invalid+label:after,input[type=password].invalid+label:after,input[type=password]:focus.invalid+label:after,input[type=email].invalid+label:after,input[type=email]:focus.invalid+label:after,input[type=url].invalid+label:after,input[type=url]:focus.invalid+label:after,input[type=time].invalid+label:after,input[type=time]:focus.invalid+label:after,input[type=date].invalid+label:after,input[type=date]:focus.invalid+label:after,input[type=datetime].invalid+label:after,input[type=datetime]:focus.invalid+label:after,input[type=datetime-local].invalid+label:after,input[type=datetime-local]:focus.invalid+label:after,input[type=tel].invalid+label:after,input[type=tel]:focus.invalid+label:after,input[type=number].invalid+label:after,input[type=number]:focus.invalid+label:after,input[type=search].invalid+label:after,input[type=search]:focus.invalid+label:after,textarea.materialize-textarea.invalid+label:after,textarea.materialize-textarea:focus.invalid+label:after{content:attr(data-error);color:#F44336;opacity:1}input:not([type]).validate+label,input[type=text].validate+label,input[type=password].validate+label,input[type=email].validate+label,input[type=url].validate+label,input[type=time].validate+label,input[type=date].validate+label,input[type=datetime].validate+label,input[type=datetime-local].validate+label,input[type=tel].validate+label,input[type=number].validate+label,input[type=search].validate+label,textarea.materialize-textarea.validate+label{width:100%;pointer-events:none}input:not([type])+label:after,input[type=text]+label:after,input[type=password]+label:after,input[type=email]+label:after,input[type=url]+label:after,input[type=time]+label:after,input[type=date]+label:after,input[type=datetime]+label:after,input[type=datetime-local]+label:after,input[type=tel]+label:after,input[type=number]+label:after,input[type=search]+label:after,textarea.materialize-textarea+label:after{display:block;content:"";position:absolute;top:60px;opacity:0;transition:.2s opacity ease-out, .2s color ease-out}.input-field{position:relative;margin-top:1rem}.input-field.inline{display:inline-block;vertical-align:middle;margin-left:5px}.input-field.inline input,.input-field.inline .select-dropdown{margin-bottom:1rem}.input-field.col label{left:0.75rem}.input-field.col .prefix ~ label,.input-field.col .prefix ~ .validate ~ label{width:calc(100% - 3rem - 1.5rem)}.input-field label{color:#9e9e9e;position:absolute;top:0.8rem;left:0;font-size:1rem;cursor:text;transition:.2s ease-out}.input-field label.active{font-size:0.8rem;-webkit-transform:translateY(-140%);transform:translateY(-140%)}.input-field .prefix{position:absolute;width:3rem;font-size:2rem;transition:color .2s}.input-field .prefix.active{color:#26a69a}.input-field .prefix ~ input,.input-field .prefix ~ textarea,.input-field .prefix ~ label,.input-field .prefix ~ .validate ~ label,.input-field .prefix ~ .autocomplete-content{margin-left:3rem;width:92%;width:calc(100% - 3rem)}.input-field .prefix ~ label{margin-left:3rem}@media only screen and (max-width: 992px){.input-field .prefix ~ input{width:86%;width:calc(100% - 3rem)}}@media only screen and (max-width: 600px){.input-field .prefix ~ input{width:80%;width:calc(100% - 3rem)}}.input-field input[type=search]{display:block;line-height:inherit;padding-left:4rem;width:calc(100% - 4rem)}.input-field input[type=search]:focus{background-color:#fff;border:0;box-shadow:none;color:#444}.input-field input[type=search]:focus+label i,.input-field input[type=search]:focus ~ .mdi-navigation-close,.input-field input[type=search]:focus ~ .material-icons{color:#444}.input-field input[type=search]+label{left:1rem}.input-field input[type=search] ~ .mdi-navigation-close,.input-field input[type=search] ~ .material-icons{position:absolute;top:0;right:1rem;color:transparent;cursor:pointer;font-size:2rem;transition:.3s color}textarea{width:100%;height:3rem;background-color:transparent}textarea.materialize-textarea{overflow-y:hidden;padding:.8rem 0 1.6rem 0;resize:none;min-height:3rem}.hiddendiv{display:none;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;padding-top:1.2rem}.autocomplete-content{margin-top:-15px;display:block;opacity:1;position:static}.autocomplete-content li .highlight{color:#444}.autocomplete-content li img{height:40px;width:40px;margin:5px 15px}[type="radio"]:not(:checked),[type="radio"]:checked{position:absolute;left:-9999px;opacity:0}[type="radio"]:not(:checked)+label,[type="radio"]:checked+label{position:relative;padding-left:35px;cursor:pointer;display:inline-block;height:25px;line-height:25px;font-size:1rem;transition:.28s ease;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}[type="radio"]+label:before,[type="radio"]+label:after{content:'';position:absolute;left:0;top:0;margin:4px;width:16px;height:16px;z-index:0;transition:.28s ease}[type="radio"]:not(:checked)+label:before,[type="radio"]:not(:checked)+label:after,[type="radio"]:checked+label:before,[type="radio"]:checked+label:after,[type="radio"].with-gap:checked+label:before,[type="radio"].with-gap:checked+label:after{border-radius:50%}[type="radio"]:not(:checked)+label:before,[type="radio"]:not(:checked)+label:after{border:2px solid #5a5a5a}[type="radio"]:not(:checked)+label:after{-webkit-transform:scale(0);transform:scale(0)}[type="radio"]:checked+label:before{border:2px solid transparent}[type="radio"]:checked+label:after,[type="radio"].with-gap:checked+label:before,[type="radio"].with-gap:checked+label:after{border:2px solid #26a69a}[type="radio"]:checked+label:after,[type="radio"].with-gap:checked+label:after{background-color:#26a69a}[type="radio"]:checked+label:after{-webkit-transform:scale(1.02);transform:scale(1.02)}[type="radio"].with-gap:checked+label:after{-webkit-transform:scale(0.5);transform:scale(0.5)}[type="radio"].tabbed:focus+label:before{box-shadow:0 0 0 10px rgba(0,0,0,0.1)}[type="radio"].with-gap:disabled:checked+label:before{border:2px solid rgba(0,0,0,0.26)}[type="radio"].with-gap:disabled:checked+label:after{border:none;background-color:rgba(0,0,0,0.26)}[type="radio"]:disabled:not(:checked)+label:before,[type="radio"]:disabled:checked+label:before{background-color:transparent;border-color:rgba(0,0,0,0.26)}[type="radio"]:disabled+label{color:rgba(0,0,0,0.26)}[type="radio"]:disabled:not(:checked)+label:before{border-color:rgba(0,0,0,0.26)}[type="radio"]:disabled:checked+label:after{background-color:rgba(0,0,0,0.26);border-color:#BDBDBD}form p{margin-bottom:10px;text-align:left}form p:last-child{margin-bottom:0}[type="checkbox"]:not(:checked),[type="checkbox"]:checked{position:absolute;left:-9999px;opacity:0}[type="checkbox"]+label{position:relative;padding-left:35px;cursor:pointer;display:inline-block;height:25px;line-height:25px;font-size:1rem;-webkit-user-select:none;-moz-user-select:none;-khtml-user-select:none;-ms-user-select:none}[type="checkbox"]+label:before,[type="checkbox"]:not(.filled-in)+label:after{content:'';position:absolute;top:0;left:0;width:18px;height:18px;z-index:0;border:2px solid #5a5a5a;border-radius:1px;margin-top:2px;transition:.2s}[type="checkbox"]:not(.filled-in)+label:after{border:0;-webkit-transform:scale(0);transform:scale(0)}[type="checkbox"]:not(:checked):disabled+label:before{border:none;background-color:rgba(0,0,0,0.26)}[type="checkbox"].tabbed:focus+label:after{-webkit-transform:scale(1);transform:scale(1);border:0;border-radius:50%;box-shadow:0 0 0 10px rgba(0,0,0,0.1);background-color:rgba(0,0,0,0.1)}[type="checkbox"]:checked+label:before{top:-4px;left:-5px;width:12px;height:22px;border-top:2px solid transparent;border-left:2px solid transparent;border-right:2px solid #26a69a;border-bottom:2px solid #26a69a;-webkit-transform:rotate(40deg);transform:rotate(40deg);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-origin:100% 100%;transform-origin:100% 100%}[type="checkbox"]:checked:disabled+label:before{border-right:2px solid rgba(0,0,0,0.26);border-bottom:2px solid rgba(0,0,0,0.26)}[type="checkbox"]:indeterminate+label:before{top:-11px;left:-12px;width:10px;height:22px;border-top:none;border-left:none;border-right:2px solid #26a69a;border-bottom:none;-webkit-transform:rotate(90deg);transform:rotate(90deg);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-origin:100% 100%;transform-origin:100% 100%}[type="checkbox"]:indeterminate:disabled+label:before{border-right:2px solid rgba(0,0,0,0.26);background-color:transparent}[type="checkbox"].filled-in+label:after{border-radius:2px}[type="checkbox"].filled-in+label:before,[type="checkbox"].filled-in+label:after{content:'';left:0;position:absolute;transition:border .25s, background-color .25s, width .20s .1s, height .20s .1s, top .20s .1s, left .20s .1s;z-index:1}[type="checkbox"].filled-in:not(:checked)+label:before{width:0;height:0;border:3px solid transparent;left:6px;top:10px;-webkit-transform:rotateZ(37deg);transform:rotateZ(37deg);-webkit-transform-origin:20% 40%;transform-origin:100% 100%}[type="checkbox"].filled-in:not(:checked)+label:after{height:20px;width:20px;background-color:transparent;border:2px solid #5a5a5a;top:0px;z-index:0}[type="checkbox"].filled-in:checked+label:before{top:0;left:1px;width:8px;height:13px;border-top:2px solid transparent;border-left:2px solid transparent;border-right:2px solid #fff;border-bottom:2px solid #fff;-webkit-transform:rotateZ(37deg);transform:rotateZ(37deg);-webkit-transform-origin:100% 100%;transform-origin:100% 100%}[type="checkbox"].filled-in:checked+label:after{top:0;width:20px;height:20px;border:2px solid #26a69a;background-color:#26a69a;z-index:0}[type="checkbox"].filled-in.tabbed:focus+label:after{border-radius:2px;border-color:#5a5a5a;background-color:rgba(0,0,0,0.1)}[type="checkbox"].filled-in.tabbed:checked:focus+label:after{border-radius:2px;background-color:#26a69a;border-color:#26a69a}[type="checkbox"].filled-in:disabled:not(:checked)+label:before{background-color:transparent;border:2px solid transparent}[type="checkbox"].filled-in:disabled:not(:checked)+label:after{border-color:transparent;background-color:#BDBDBD}[type="checkbox"].filled-in:disabled:checked+label:before{background-color:transparent}[type="checkbox"].filled-in:disabled:checked+label:after{background-color:#BDBDBD;border-color:#BDBDBD}.switch,.switch *{-webkit-user-select:none;-moz-user-select:none;-khtml-user-select:none;-ms-user-select:none}.switch label{cursor:pointer}.switch label input[type=checkbox]{opacity:0;width:0;height:0}.switch label input[type=checkbox]:checked+.lever{background-color:#84c7c1}.switch label input[type=checkbox]:checked+.lever:after{background-color:#26a69a;left:24px}.switch label .lever{content:"";display:inline-block;position:relative;width:40px;height:15px;background-color:#818181;border-radius:15px;margin-right:10px;transition:background 0.3s ease;vertical-align:middle;margin:0 16px}.switch label .lever:after{content:"";position:absolute;display:inline-block;width:21px;height:21px;background-color:#F1F1F1;border-radius:21px;box-shadow:0 1px 3px 1px rgba(0,0,0,0.4);left:-5px;top:-3px;transition:left 0.3s ease, background .3s ease, box-shadow 0.1s ease}input[type=checkbox]:checked:not(:disabled) ~ .lever:active::after,input[type=checkbox]:checked:not(:disabled).tabbed:focus ~ .lever::after{box-shadow:0 1px 3px 1px rgba(0,0,0,0.4),0 0 0 15px rgba(38,166,154,0.1)}input[type=checkbox]:not(:disabled) ~ .lever:active:after,input[type=checkbox]:not(:disabled).tabbed:focus ~ .lever::after{box-shadow:0 1px 3px 1px rgba(0,0,0,0.4),0 0 0 15px rgba(0,0,0,0.08)}.switch input[type=checkbox][disabled]+.lever{cursor:default}.switch label input[type=checkbox][disabled]+.lever:after,.switch label input[type=checkbox][disabled]:checked+.lever:after{background-color:#BDBDBD}select{display:none}select.browser-default{display:block}select{background-color:rgba(255,255,255,0.9);width:100%;padding:5px;border:1px solid #f2f2f2;border-radius:2px;height:3rem}.select-label{position:absolute}.select-wrapper{position:relative}.select-wrapper input.select-dropdown{position:relative;cursor:pointer;background-color:transparent;border:none;border-bottom:1px solid #9e9e9e;outline:none;height:3rem;line-height:3rem;width:100%;font-size:1rem;margin:0 0 20px 0;padding:0;display:block}.select-wrapper span.caret{color:initial;position:absolute;right:0;top:0;bottom:0;height:10px;margin:auto 0;font-size:10px;line-height:10px}.select-wrapper span.caret.disabled{color:rgba(0,0,0,0.26)}.select-wrapper+label{position:absolute;top:-14px;font-size:0.8rem}select:disabled{color:rgba(0,0,0,0.3)}.select-wrapper input.select-dropdown:disabled{color:rgba(0,0,0,0.3);cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;border-bottom:1px solid rgba(0,0,0,0.3)}.select-wrapper i{color:rgba(0,0,0,0.3)}.select-dropdown li.disabled,.select-dropdown li.disabled>span,.select-dropdown li.optgroup{color:rgba(0,0,0,0.3);background-color:transparent}.prefix ~ .select-wrapper{margin-left:3rem;width:92%;width:calc(100% - 3rem)}.prefix ~ label{margin-left:3rem}.select-dropdown li img{height:40px;width:40px;margin:5px 15px;float:right}.select-dropdown li.optgroup{border-top:1px solid #eee}.select-dropdown li.optgroup.selected>span{color:rgba(0,0,0,0.7)}.select-dropdown li.optgroup>span{color:rgba(0,0,0,0.4)}.select-dropdown li.optgroup ~ li.optgroup-option{padding-left:1rem}.file-field{position:relative}.file-field .file-path-wrapper{overflow:hidden;padding-left:10px}.file-field input.file-path{width:100%}.file-field .btn,.file-field .btn-large{float:left;height:3rem;line-height:3rem}.file-field span{cursor:pointer}.file-field input[type=file]{position:absolute;top:0;right:0;left:0;bottom:0;width:100%;margin:0;padding:0;font-size:20px;cursor:pointer;opacity:0;filter:alpha(opacity=0)}.range-field{position:relative}input[type=range],input[type=range]+.thumb{cursor:pointer}input[type=range]{position:relative;background-color:transparent;border:none;outline:none;width:100%;margin:15px 0;padding:0}input[type=range]:focus{outline:none}input[type=range]+.thumb{position:absolute;border:none;height:0;width:0;border-radius:50%;background-color:#26a69a;top:10px;margin-left:-6px;-webkit-transform-origin:50% 50%;transform-origin:50% 50%;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}input[type=range]+.thumb .value{display:block;width:30px;text-align:center;color:#26a69a;font-size:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}input[type=range]+.thumb.active{border-radius:50% 50% 50% 0}input[type=range]+.thumb.active .value{color:#fff;margin-left:-1px;margin-top:8px;font-size:10px}input[type=range]{-webkit-appearance:none}input[type=range]::-webkit-slider-runnable-track{height:3px;background:#c2c0c2;border:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;border:none;height:14px;width:14px;border-radius:50%;background-color:#26a69a;-webkit-transform-origin:50% 50%;transform-origin:50% 50%;margin:-5px 0 0 0;transition:.3s}input[type=range]:focus::-webkit-slider-runnable-track{background:#ccc}input[type=range]{border:1px solid white}input[type=range]::-moz-range-track{height:3px;background:#ddd;border:none}input[type=range]::-moz-range-thumb{border:none;height:14px;width:14px;border-radius:50%;background:#26a69a;margin-top:-5px}input[type=range]:-moz-focusring{outline:1px solid #fff;outline-offset:-1px}input[type=range]:focus::-moz-range-track{background:#ccc}input[type=range]::-ms-track{height:3px;background:transparent;border-color:transparent;border-width:6px 0;color:transparent}input[type=range]::-ms-fill-lower{background:#777}input[type=range]::-ms-fill-upper{background:#ddd}input[type=range]::-ms-thumb{border:none;height:14px;width:14px;border-radius:50%;background:#26a69a}input[type=range]:focus::-ms-fill-lower{background:#888}input[type=range]:focus::-ms-fill-upper{background:#ccc}.table-of-contents.fixed{position:fixed}.table-of-contents li{padding:2px 0}.table-of-contents a{display:inline-block;font-weight:300;color:#757575;padding-left:20px;height:1.5rem;line-height:1.5rem;letter-spacing:.4;display:inline-block}.table-of-contents a:hover{color:#a8a8a8;padding-left:19px;border-left:1px solid #ea4a4f}.table-of-contents a.active{font-weight:500;padding-left:18px;border-left:2px solid #ea4a4f}.side-nav{position:fixed;width:300px;left:0;top:0;margin:0;-webkit-transform:translateX(-100%);transform:translateX(-100%);height:100%;height:calc(100% + 60px);height:-moz-calc(100%);padding-bottom:60px;background-color:#fff;z-index:999;overflow-y:auto;will-change:transform;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translateX(-105%);transform:translateX(-105%)}.side-nav.right-aligned{right:0;-webkit-transform:translateX(105%);transform:translateX(105%);left:auto;-webkit-transform:translateX(100%);transform:translateX(100%)}.side-nav .collapsible{margin:0}.side-nav li{float:none;line-height:48px}.side-nav li.active{background-color:rgba(0,0,0,0.05)}.side-nav a{color:rgba(0,0,0,0.87);display:block;font-size:14px;font-weight:500;height:48px;line-height:48px;padding:0 32px}.side-nav a:hover{background-color:rgba(0,0,0,0.05)}.side-nav a.btn,.side-nav a.btn-large,.side-nav a.btn-large,.side-nav a.btn-flat,.side-nav a.btn-floating{margin:10px 15px}.side-nav a.btn,.side-nav a.btn-large,.side-nav a.btn-large,.side-nav a.btn-floating{color:#fff}.side-nav a.btn-flat{color:#343434}.side-nav a.btn:hover,.side-nav a.btn-large:hover,.side-nav a.btn-large:hover{background-color:#2bbbad}.side-nav a.btn-floating:hover{background-color:#26a69a}.side-nav li>a>i,.side-nav li>a>[class^="mdi-"],.side-nav li>a>[class*="mdi-"],.side-nav li>a>i.material-icons{float:left;height:48px;line-height:48px;margin:0 32px 0 0;width:24px;color:rgba(0,0,0,0.54)}.side-nav .divider{margin:8px 0 0 0}.side-nav .subheader{cursor:initial;pointer-events:none;color:rgba(0,0,0,0.54);font-size:14px;font-weight:500;line-height:48px}.side-nav .subheader:hover{background-color:transparent}.side-nav .userView{position:relative;padding:32px 32px 0;margin-bottom:8px}.side-nav .userView>a{height:auto;padding:0}.side-nav .userView>a:hover{background-color:transparent}.side-nav .userView .background{overflow:hidden;position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1}.side-nav .userView .circle,.side-nav .userView .name,.side-nav .userView .email{display:block}.side-nav .userView .circle{height:64px;width:64px}.side-nav .userView .name,.side-nav .userView .email{font-size:14px;line-height:24px}.side-nav .userView .name{margin-top:16px;font-weight:500}.side-nav .userView .email{padding-bottom:16px;font-weight:400}.drag-target{height:100%;width:10px;position:fixed;top:0;z-index:998}.side-nav.fixed{left:0;-webkit-transform:translateX(0);transform:translateX(0);position:fixed}.side-nav.fixed.right-aligned{right:0;left:auto}@media only screen and (max-width: 992px){.side-nav.fixed{-webkit-transform:translateX(-105%);transform:translateX(-105%)}.side-nav.fixed.right-aligned{-webkit-transform:translateX(105%);transform:translateX(105%)}.side-nav a{padding:0 16px}.side-nav .userView{padding:16px 16px 0}}.side-nav .collapsible-body>ul:not(.collapsible)>li.active,.side-nav.fixed .collapsible-body>ul:not(.collapsible)>li.active{background-color:#ee6e73}.side-nav .collapsible-body>ul:not(.collapsible)>li.active a,.side-nav.fixed .collapsible-body>ul:not(.collapsible)>li.active a{color:#fff}#sidenav-overlay{position:fixed;top:0;left:0;right:0;height:120vh;background-color:rgba(0,0,0,0.5);z-index:997;will-change:opacity}.preloader-wrapper{display:inline-block;position:relative;width:48px;height:48px}.preloader-wrapper.small{width:36px;height:36px}.preloader-wrapper.big{width:64px;height:64px}.preloader-wrapper.active{-webkit-animation:container-rotate 1568ms linear infinite;animation:container-rotate 1568ms linear infinite}@-webkit-keyframes container-rotate{to{-webkit-transform:rotate(360deg)}}@keyframes container-rotate{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.spinner-layer{position:absolute;width:100%;height:100%;opacity:0;border-color:#26a69a}.spinner-blue,.spinner-blue-only{border-color:#4285f4}.spinner-red,.spinner-red-only{border-color:#db4437}.spinner-yellow,.spinner-yellow-only{border-color:#f4b400}.spinner-green,.spinner-green-only{border-color:#0f9d58}.active .spinner-layer.spinner-blue{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,blue-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,blue-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.active .spinner-layer.spinner-red{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,red-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,red-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.active .spinner-layer.spinner-yellow{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,yellow-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,yellow-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.active .spinner-layer.spinner-green{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,green-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,green-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.active .spinner-layer,.active .spinner-layer.spinner-blue-only,.active .spinner-layer.spinner-red-only,.active .spinner-layer.spinner-yellow-only,.active .spinner-layer.spinner-green-only{opacity:1;-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}@-webkit-keyframes fill-unfill-rotate{12.5%{-webkit-transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg)}to{-webkit-transform:rotate(1080deg)}}@keyframes fill-unfill-rotate{12.5%{-webkit-transform:rotate(135deg);transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg);transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg);transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg);transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg);transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg);transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg);transform:rotate(945deg)}to{-webkit-transform:rotate(1080deg);transform:rotate(1080deg)}}@-webkit-keyframes blue-fade-in-out{from{opacity:1}25%{opacity:1}26%{opacity:0}89%{opacity:0}90%{opacity:1}100%{opacity:1}}@keyframes blue-fade-in-out{from{opacity:1}25%{opacity:1}26%{opacity:0}89%{opacity:0}90%{opacity:1}100%{opacity:1}}@-webkit-keyframes red-fade-in-out{from{opacity:0}15%{opacity:0}25%{opacity:1}50%{opacity:1}51%{opacity:0}}@keyframes red-fade-in-out{from{opacity:0}15%{opacity:0}25%{opacity:1}50%{opacity:1}51%{opacity:0}}@-webkit-keyframes yellow-fade-in-out{from{opacity:0}40%{opacity:0}50%{opacity:1}75%{opacity:1}76%{opacity:0}}@keyframes yellow-fade-in-out{from{opacity:0}40%{opacity:0}50%{opacity:1}75%{opacity:1}76%{opacity:0}}@-webkit-keyframes green-fade-in-out{from{opacity:0}65%{opacity:0}75%{opacity:1}90%{opacity:1}100%{opacity:0}}@keyframes green-fade-in-out{from{opacity:0}65%{opacity:0}75%{opacity:1}90%{opacity:1}100%{opacity:0}}.gap-patch{position:absolute;top:0;left:45%;width:10%;height:100%;overflow:hidden;border-color:inherit}.gap-patch .circle{width:1000%;left:-450%}.circle-clipper{display:inline-block;position:relative;width:50%;height:100%;overflow:hidden;border-color:inherit}.circle-clipper .circle{width:200%;height:100%;border-width:3px;border-style:solid;border-color:inherit;border-bottom-color:transparent !important;border-radius:50%;-webkit-animation:none;animation:none;position:absolute;top:0;right:0;bottom:0}.circle-clipper.left .circle{left:0;border-right-color:transparent !important;-webkit-transform:rotate(129deg);transform:rotate(129deg)}.circle-clipper.right .circle{left:-100%;border-left-color:transparent !important;-webkit-transform:rotate(-129deg);transform:rotate(-129deg)}.active .circle-clipper.left .circle{-webkit-animation:left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.active .circle-clipper.right .circle{-webkit-animation:right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}@-webkit-keyframes left-spin{from{-webkit-transform:rotate(130deg)}50%{-webkit-transform:rotate(-5deg)}to{-webkit-transform:rotate(130deg)}}@keyframes left-spin{from{-webkit-transform:rotate(130deg);transform:rotate(130deg)}50%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(130deg);transform:rotate(130deg)}}@-webkit-keyframes right-spin{from{-webkit-transform:rotate(-130deg)}50%{-webkit-transform:rotate(5deg)}to{-webkit-transform:rotate(-130deg)}}@keyframes right-spin{from{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}50%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}to{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}}#spinnerContainer.cooldown{-webkit-animation:container-rotate 1568ms linear infinite,fade-out 400ms cubic-bezier(0.4, 0, 0.2, 1);animation:container-rotate 1568ms linear infinite,fade-out 400ms cubic-bezier(0.4, 0, 0.2, 1)}@-webkit-keyframes fade-out{from{opacity:1}to{opacity:0}}@keyframes fade-out{from{opacity:1}to{opacity:0}}.slider{position:relative;height:400px;width:100%}.slider.fullscreen{height:100%;width:100%;position:absolute;top:0;left:0;right:0;bottom:0}.slider.fullscreen ul.slides{height:100%}.slider.fullscreen ul.indicators{z-index:2;bottom:30px}.slider .slides{background-color:#9e9e9e;margin:0;height:400px}.slider .slides li{opacity:0;position:absolute;top:0;left:0;z-index:1;width:100%;height:inherit;overflow:hidden}.slider .slides li img{height:100%;width:100%;background-size:cover;background-position:center}.slider .slides li .caption{color:#fff;position:absolute;top:15%;left:15%;width:70%;opacity:0}.slider .slides li .caption p{color:#e0e0e0}.slider .slides li.active{z-index:2}.slider .indicators{position:absolute;text-align:center;left:0;right:0;bottom:0;margin:0}.slider .indicators .indicator-item{display:inline-block;position:relative;cursor:pointer;height:16px;width:16px;margin:0 12px;background-color:#e0e0e0;transition:background-color .3s;border-radius:50%}.slider .indicators .indicator-item.active{background-color:#4CAF50}.carousel{overflow:hidden;position:relative;width:100%;height:400px;-webkit-perspective:500px;perspective:500px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-transform-origin:0% 50%;transform-origin:0% 50%}.carousel.carousel-slider{top:0;left:0;height:0}.carousel.carousel-slider .carousel-fixed-item{position:absolute;left:0;right:0;bottom:20px;z-index:1}.carousel.carousel-slider .carousel-fixed-item.with-indicators{bottom:68px}.carousel.carousel-slider .carousel-item{width:100%;height:100%;min-height:400px;position:absolute;top:0;left:0}.carousel.carousel-slider .carousel-item h2{font-size:24px;font-weight:500;line-height:32px}.carousel.carousel-slider .carousel-item p{font-size:15px}.carousel .carousel-item{display:none;width:200px;height:400px;position:absolute;top:0;left:0}.carousel .carousel-item img{width:100%}.carousel .indicators{position:absolute;text-align:center;left:0;right:0;bottom:0;margin:0}.carousel .indicators .indicator-item{display:inline-block;position:relative;cursor:pointer;height:8px;width:8px;margin:24px 4px;background-color:rgba(255,255,255,0.5);transition:background-color .3s;border-radius:50%}.carousel .indicators .indicator-item.active{background-color:#fff}.picker{font-size:16px;text-align:left;line-height:1.2;color:#000000;position:absolute;z-index:10000;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.picker__input{cursor:default}.picker__input.picker__input--active{border-color:#0089ec}.picker__holder{width:100%;overflow-y:auto;-webkit-overflow-scrolling:touch}/*!
|
14 |
-
|
15 |
-
|
16 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
/*!
|
2 |
+
* Materialize v1.0.0 (http://materializecss.com)
|
3 |
+
* Copyright 2014-2017 Materialize
|
4 |
* MIT License (https://raw.githubusercontent.com/Dogfalo/materialize/master/LICENSE)
|
5 |
*/
|
6 |
+
.materialize-red{background-color:#e51c23 !important}.materialize-red-text{color:#e51c23 !important}.materialize-red.lighten-5{background-color:#fdeaeb !important}.materialize-red-text.text-lighten-5{color:#fdeaeb !important}.materialize-red.lighten-4{background-color:#f8c1c3 !important}.materialize-red-text.text-lighten-4{color:#f8c1c3 !important}.materialize-red.lighten-3{background-color:#f3989b !important}.materialize-red-text.text-lighten-3{color:#f3989b !important}.materialize-red.lighten-2{background-color:#ee6e73 !important}.materialize-red-text.text-lighten-2{color:#ee6e73 !important}.materialize-red.lighten-1{background-color:#ea454b !important}.materialize-red-text.text-lighten-1{color:#ea454b !important}.materialize-red.darken-1{background-color:#d0181e !important}.materialize-red-text.text-darken-1{color:#d0181e !important}.materialize-red.darken-2{background-color:#b9151b !important}.materialize-red-text.text-darken-2{color:#b9151b !important}.materialize-red.darken-3{background-color:#a21318 !important}.materialize-red-text.text-darken-3{color:#a21318 !important}.materialize-red.darken-4{background-color:#8b1014 !important}.materialize-red-text.text-darken-4{color:#8b1014 !important}.red{background-color:#F44336 !important}.red-text{color:#F44336 !important}.red.lighten-5{background-color:#FFEBEE !important}.red-text.text-lighten-5{color:#FFEBEE !important}.red.lighten-4{background-color:#FFCDD2 !important}.red-text.text-lighten-4{color:#FFCDD2 !important}.red.lighten-3{background-color:#EF9A9A !important}.red-text.text-lighten-3{color:#EF9A9A !important}.red.lighten-2{background-color:#E57373 !important}.red-text.text-lighten-2{color:#E57373 !important}.red.lighten-1{background-color:#EF5350 !important}.red-text.text-lighten-1{color:#EF5350 !important}.red.darken-1{background-color:#E53935 !important}.red-text.text-darken-1{color:#E53935 !important}.red.darken-2{background-color:#D32F2F !important}.red-text.text-darken-2{color:#D32F2F !important}.red.darken-3{background-color:#C62828 !important}.red-text.text-darken-3{color:#C62828 !important}.red.darken-4{background-color:#B71C1C !important}.red-text.text-darken-4{color:#B71C1C !important}.red.accent-1{background-color:#FF8A80 !important}.red-text.text-accent-1{color:#FF8A80 !important}.red.accent-2{background-color:#FF5252 !important}.red-text.text-accent-2{color:#FF5252 !important}.red.accent-3{background-color:#FF1744 !important}.red-text.text-accent-3{color:#FF1744 !important}.red.accent-4{background-color:#D50000 !important}.red-text.text-accent-4{color:#D50000 !important}.pink{background-color:#e91e63 !important}.pink-text{color:#e91e63 !important}.pink.lighten-5{background-color:#fce4ec !important}.pink-text.text-lighten-5{color:#fce4ec !important}.pink.lighten-4{background-color:#f8bbd0 !important}.pink-text.text-lighten-4{color:#f8bbd0 !important}.pink.lighten-3{background-color:#f48fb1 !important}.pink-text.text-lighten-3{color:#f48fb1 !important}.pink.lighten-2{background-color:#f06292 !important}.pink-text.text-lighten-2{color:#f06292 !important}.pink.lighten-1{background-color:#ec407a !important}.pink-text.text-lighten-1{color:#ec407a !important}.pink.darken-1{background-color:#d81b60 !important}.pink-text.text-darken-1{color:#d81b60 !important}.pink.darken-2{background-color:#c2185b !important}.pink-text.text-darken-2{color:#c2185b !important}.pink.darken-3{background-color:#ad1457 !important}.pink-text.text-darken-3{color:#ad1457 !important}.pink.darken-4{background-color:#880e4f !important}.pink-text.text-darken-4{color:#880e4f !important}.pink.accent-1{background-color:#ff80ab !important}.pink-text.text-accent-1{color:#ff80ab !important}.pink.accent-2{background-color:#ff4081 !important}.pink-text.text-accent-2{color:#ff4081 !important}.pink.accent-3{background-color:#f50057 !important}.pink-text.text-accent-3{color:#f50057 !important}.pink.accent-4{background-color:#c51162 !important}.pink-text.text-accent-4{color:#c51162 !important}.purple{background-color:#9c27b0 !important}.purple-text{color:#9c27b0 !important}.purple.lighten-5{background-color:#f3e5f5 !important}.purple-text.text-lighten-5{color:#f3e5f5 !important}.purple.lighten-4{background-color:#e1bee7 !important}.purple-text.text-lighten-4{color:#e1bee7 !important}.purple.lighten-3{background-color:#ce93d8 !important}.purple-text.text-lighten-3{color:#ce93d8 !important}.purple.lighten-2{background-color:#ba68c8 !important}.purple-text.text-lighten-2{color:#ba68c8 !important}.purple.lighten-1{background-color:#ab47bc !important}.purple-text.text-lighten-1{color:#ab47bc !important}.purple.darken-1{background-color:#8e24aa !important}.purple-text.text-darken-1{color:#8e24aa !important}.purple.darken-2{background-color:#7b1fa2 !important}.purple-text.text-darken-2{color:#7b1fa2 !important}.purple.darken-3{background-color:#6a1b9a !important}.purple-text.text-darken-3{color:#6a1b9a !important}.purple.darken-4{background-color:#4a148c !important}.purple-text.text-darken-4{color:#4a148c !important}.purple.accent-1{background-color:#ea80fc !important}.purple-text.text-accent-1{color:#ea80fc !important}.purple.accent-2{background-color:#e040fb !important}.purple-text.text-accent-2{color:#e040fb !important}.purple.accent-3{background-color:#d500f9 !important}.purple-text.text-accent-3{color:#d500f9 !important}.purple.accent-4{background-color:#a0f !important}.purple-text.text-accent-4{color:#a0f !important}.deep-purple{background-color:#673ab7 !important}.deep-purple-text{color:#673ab7 !important}.deep-purple.lighten-5{background-color:#ede7f6 !important}.deep-purple-text.text-lighten-5{color:#ede7f6 !important}.deep-purple.lighten-4{background-color:#d1c4e9 !important}.deep-purple-text.text-lighten-4{color:#d1c4e9 !important}.deep-purple.lighten-3{background-color:#b39ddb !important}.deep-purple-text.text-lighten-3{color:#b39ddb !important}.deep-purple.lighten-2{background-color:#9575cd !important}.deep-purple-text.text-lighten-2{color:#9575cd !important}.deep-purple.lighten-1{background-color:#7e57c2 !important}.deep-purple-text.text-lighten-1{color:#7e57c2 !important}.deep-purple.darken-1{background-color:#5e35b1 !important}.deep-purple-text.text-darken-1{color:#5e35b1 !important}.deep-purple.darken-2{background-color:#512da8 !important}.deep-purple-text.text-darken-2{color:#512da8 !important}.deep-purple.darken-3{background-color:#4527a0 !important}.deep-purple-text.text-darken-3{color:#4527a0 !important}.deep-purple.darken-4{background-color:#311b92 !important}.deep-purple-text.text-darken-4{color:#311b92 !important}.deep-purple.accent-1{background-color:#b388ff !important}.deep-purple-text.text-accent-1{color:#b388ff !important}.deep-purple.accent-2{background-color:#7c4dff !important}.deep-purple-text.text-accent-2{color:#7c4dff !important}.deep-purple.accent-3{background-color:#651fff !important}.deep-purple-text.text-accent-3{color:#651fff !important}.deep-purple.accent-4{background-color:#6200ea !important}.deep-purple-text.text-accent-4{color:#6200ea !important}.indigo{background-color:#3f51b5 !important}.indigo-text{color:#3f51b5 !important}.indigo.lighten-5{background-color:#e8eaf6 !important}.indigo-text.text-lighten-5{color:#e8eaf6 !important}.indigo.lighten-4{background-color:#c5cae9 !important}.indigo-text.text-lighten-4{color:#c5cae9 !important}.indigo.lighten-3{background-color:#9fa8da !important}.indigo-text.text-lighten-3{color:#9fa8da !important}.indigo.lighten-2{background-color:#7986cb !important}.indigo-text.text-lighten-2{color:#7986cb !important}.indigo.lighten-1{background-color:#5c6bc0 !important}.indigo-text.text-lighten-1{color:#5c6bc0 !important}.indigo.darken-1{background-color:#3949ab !important}.indigo-text.text-darken-1{color:#3949ab !important}.indigo.darken-2{background-color:#303f9f !important}.indigo-text.text-darken-2{color:#303f9f !important}.indigo.darken-3{background-color:#283593 !important}.indigo-text.text-darken-3{color:#283593 !important}.indigo.darken-4{background-color:#1a237e !important}.indigo-text.text-darken-4{color:#1a237e !important}.indigo.accent-1{background-color:#8c9eff !important}.indigo-text.text-accent-1{color:#8c9eff !important}.indigo.accent-2{background-color:#536dfe !important}.indigo-text.text-accent-2{color:#536dfe !important}.indigo.accent-3{background-color:#3d5afe !important}.indigo-text.text-accent-3{color:#3d5afe !important}.indigo.accent-4{background-color:#304ffe !important}.indigo-text.text-accent-4{color:#304ffe !important}.blue{background-color:#2196F3 !important}.blue-text{color:#2196F3 !important}.blue.lighten-5{background-color:#E3F2FD !important}.blue-text.text-lighten-5{color:#E3F2FD !important}.blue.lighten-4{background-color:#BBDEFB !important}.blue-text.text-lighten-4{color:#BBDEFB !important}.blue.lighten-3{background-color:#90CAF9 !important}.blue-text.text-lighten-3{color:#90CAF9 !important}.blue.lighten-2{background-color:#64B5F6 !important}.blue-text.text-lighten-2{color:#64B5F6 !important}.blue.lighten-1{background-color:#42A5F5 !important}.blue-text.text-lighten-1{color:#42A5F5 !important}.blue.darken-1{background-color:#1E88E5 !important}.blue-text.text-darken-1{color:#1E88E5 !important}.blue.darken-2{background-color:#1976D2 !important}.blue-text.text-darken-2{color:#1976D2 !important}.blue.darken-3{background-color:#1565C0 !important}.blue-text.text-darken-3{color:#1565C0 !important}.blue.darken-4{background-color:#0D47A1 !important}.blue-text.text-darken-4{color:#0D47A1 !important}.blue.accent-1{background-color:#82B1FF !important}.blue-text.text-accent-1{color:#82B1FF !important}.blue.accent-2{background-color:#448AFF !important}.blue-text.text-accent-2{color:#448AFF !important}.blue.accent-3{background-color:#2979FF !important}.blue-text.text-accent-3{color:#2979FF !important}.blue.accent-4{background-color:#2962FF !important}.blue-text.text-accent-4{color:#2962FF !important}.light-blue{background-color:#03a9f4 !important}.light-blue-text{color:#03a9f4 !important}.light-blue.lighten-5{background-color:#e1f5fe !important}.light-blue-text.text-lighten-5{color:#e1f5fe !important}.light-blue.lighten-4{background-color:#b3e5fc !important}.light-blue-text.text-lighten-4{color:#b3e5fc !important}.light-blue.lighten-3{background-color:#81d4fa !important}.light-blue-text.text-lighten-3{color:#81d4fa !important}.light-blue.lighten-2{background-color:#4fc3f7 !important}.light-blue-text.text-lighten-2{color:#4fc3f7 !important}.light-blue.lighten-1{background-color:#29b6f6 !important}.light-blue-text.text-lighten-1{color:#29b6f6 !important}.light-blue.darken-1{background-color:#039be5 !important}.light-blue-text.text-darken-1{color:#039be5 !important}.light-blue.darken-2{background-color:#0288d1 !important}.light-blue-text.text-darken-2{color:#0288d1 !important}.light-blue.darken-3{background-color:#0277bd !important}.light-blue-text.text-darken-3{color:#0277bd !important}.light-blue.darken-4{background-color:#01579b !important}.light-blue-text.text-darken-4{color:#01579b !important}.light-blue.accent-1{background-color:#80d8ff !important}.light-blue-text.text-accent-1{color:#80d8ff !important}.light-blue.accent-2{background-color:#40c4ff !important}.light-blue-text.text-accent-2{color:#40c4ff !important}.light-blue.accent-3{background-color:#00b0ff !important}.light-blue-text.text-accent-3{color:#00b0ff !important}.light-blue.accent-4{background-color:#0091ea !important}.light-blue-text.text-accent-4{color:#0091ea !important}.cyan{background-color:#00bcd4 !important}.cyan-text{color:#00bcd4 !important}.cyan.lighten-5{background-color:#e0f7fa !important}.cyan-text.text-lighten-5{color:#e0f7fa !important}.cyan.lighten-4{background-color:#b2ebf2 !important}.cyan-text.text-lighten-4{color:#b2ebf2 !important}.cyan.lighten-3{background-color:#80deea !important}.cyan-text.text-lighten-3{color:#80deea !important}.cyan.lighten-2{background-color:#4dd0e1 !important}.cyan-text.text-lighten-2{color:#4dd0e1 !important}.cyan.lighten-1{background-color:#26c6da !important}.cyan-text.text-lighten-1{color:#26c6da !important}.cyan.darken-1{background-color:#00acc1 !important}.cyan-text.text-darken-1{color:#00acc1 !important}.cyan.darken-2{background-color:#0097a7 !important}.cyan-text.text-darken-2{color:#0097a7 !important}.cyan.darken-3{background-color:#00838f !important}.cyan-text.text-darken-3{color:#00838f !important}.cyan.darken-4{background-color:#006064 !important}.cyan-text.text-darken-4{color:#006064 !important}.cyan.accent-1{background-color:#84ffff !important}.cyan-text.text-accent-1{color:#84ffff !important}.cyan.accent-2{background-color:#18ffff !important}.cyan-text.text-accent-2{color:#18ffff !important}.cyan.accent-3{background-color:#00e5ff !important}.cyan-text.text-accent-3{color:#00e5ff !important}.cyan.accent-4{background-color:#00b8d4 !important}.cyan-text.text-accent-4{color:#00b8d4 !important}.teal{background-color:#009688 !important}.teal-text{color:#009688 !important}.teal.lighten-5{background-color:#e0f2f1 !important}.teal-text.text-lighten-5{color:#e0f2f1 !important}.teal.lighten-4{background-color:#b2dfdb !important}.teal-text.text-lighten-4{color:#b2dfdb !important}.teal.lighten-3{background-color:#80cbc4 !important}.teal-text.text-lighten-3{color:#80cbc4 !important}.teal.lighten-2{background-color:#4db6ac !important}.teal-text.text-lighten-2{color:#4db6ac !important}.teal.lighten-1{background-color:#26a69a !important}.teal-text.text-lighten-1{color:#26a69a !important}.teal.darken-1{background-color:#00897b !important}.teal-text.text-darken-1{color:#00897b !important}.teal.darken-2{background-color:#00796b !important}.teal-text.text-darken-2{color:#00796b !important}.teal.darken-3{background-color:#00695c !important}.teal-text.text-darken-3{color:#00695c !important}.teal.darken-4{background-color:#004d40 !important}.teal-text.text-darken-4{color:#004d40 !important}.teal.accent-1{background-color:#a7ffeb !important}.teal-text.text-accent-1{color:#a7ffeb !important}.teal.accent-2{background-color:#64ffda !important}.teal-text.text-accent-2{color:#64ffda !important}.teal.accent-3{background-color:#1de9b6 !important}.teal-text.text-accent-3{color:#1de9b6 !important}.teal.accent-4{background-color:#00bfa5 !important}.teal-text.text-accent-4{color:#00bfa5 !important}.green{background-color:#4CAF50 !important}.green-text{color:#4CAF50 !important}.green.lighten-5{background-color:#E8F5E9 !important}.green-text.text-lighten-5{color:#E8F5E9 !important}.green.lighten-4{background-color:#C8E6C9 !important}.green-text.text-lighten-4{color:#C8E6C9 !important}.green.lighten-3{background-color:#A5D6A7 !important}.green-text.text-lighten-3{color:#A5D6A7 !important}.green.lighten-2{background-color:#81C784 !important}.green-text.text-lighten-2{color:#81C784 !important}.green.lighten-1{background-color:#66BB6A !important}.green-text.text-lighten-1{color:#66BB6A !important}.green.darken-1{background-color:#43A047 !important}.green-text.text-darken-1{color:#43A047 !important}.green.darken-2{background-color:#388E3C !important}.green-text.text-darken-2{color:#388E3C !important}.green.darken-3{background-color:#2E7D32 !important}.green-text.text-darken-3{color:#2E7D32 !important}.green.darken-4{background-color:#1B5E20 !important}.green-text.text-darken-4{color:#1B5E20 !important}.green.accent-1{background-color:#B9F6CA !important}.green-text.text-accent-1{color:#B9F6CA !important}.green.accent-2{background-color:#69F0AE !important}.green-text.text-accent-2{color:#69F0AE !important}.green.accent-3{background-color:#00E676 !important}.green-text.text-accent-3{color:#00E676 !important}.green.accent-4{background-color:#00C853 !important}.green-text.text-accent-4{color:#00C853 !important}.light-green{background-color:#8bc34a !important}.light-green-text{color:#8bc34a !important}.light-green.lighten-5{background-color:#f1f8e9 !important}.light-green-text.text-lighten-5{color:#f1f8e9 !important}.light-green.lighten-4{background-color:#dcedc8 !important}.light-green-text.text-lighten-4{color:#dcedc8 !important}.light-green.lighten-3{background-color:#c5e1a5 !important}.light-green-text.text-lighten-3{color:#c5e1a5 !important}.light-green.lighten-2{background-color:#aed581 !important}.light-green-text.text-lighten-2{color:#aed581 !important}.light-green.lighten-1{background-color:#9ccc65 !important}.light-green-text.text-lighten-1{color:#9ccc65 !important}.light-green.darken-1{background-color:#7cb342 !important}.light-green-text.text-darken-1{color:#7cb342 !important}.light-green.darken-2{background-color:#689f38 !important}.light-green-text.text-darken-2{color:#689f38 !important}.light-green.darken-3{background-color:#558b2f !important}.light-green-text.text-darken-3{color:#558b2f !important}.light-green.darken-4{background-color:#33691e !important}.light-green-text.text-darken-4{color:#33691e !important}.light-green.accent-1{background-color:#ccff90 !important}.light-green-text.text-accent-1{color:#ccff90 !important}.light-green.accent-2{background-color:#b2ff59 !important}.light-green-text.text-accent-2{color:#b2ff59 !important}.light-green.accent-3{background-color:#76ff03 !important}.light-green-text.text-accent-3{color:#76ff03 !important}.light-green.accent-4{background-color:#64dd17 !important}.light-green-text.text-accent-4{color:#64dd17 !important}.lime{background-color:#cddc39 !important}.lime-text{color:#cddc39 !important}.lime.lighten-5{background-color:#f9fbe7 !important}.lime-text.text-lighten-5{color:#f9fbe7 !important}.lime.lighten-4{background-color:#f0f4c3 !important}.lime-text.text-lighten-4{color:#f0f4c3 !important}.lime.lighten-3{background-color:#e6ee9c !important}.lime-text.text-lighten-3{color:#e6ee9c !important}.lime.lighten-2{background-color:#dce775 !important}.lime-text.text-lighten-2{color:#dce775 !important}.lime.lighten-1{background-color:#d4e157 !important}.lime-text.text-lighten-1{color:#d4e157 !important}.lime.darken-1{background-color:#c0ca33 !important}.lime-text.text-darken-1{color:#c0ca33 !important}.lime.darken-2{background-color:#afb42b !important}.lime-text.text-darken-2{color:#afb42b !important}.lime.darken-3{background-color:#9e9d24 !important}.lime-text.text-darken-3{color:#9e9d24 !important}.lime.darken-4{background-color:#827717 !important}.lime-text.text-darken-4{color:#827717 !important}.lime.accent-1{background-color:#f4ff81 !important}.lime-text.text-accent-1{color:#f4ff81 !important}.lime.accent-2{background-color:#eeff41 !important}.lime-text.text-accent-2{color:#eeff41 !important}.lime.accent-3{background-color:#c6ff00 !important}.lime-text.text-accent-3{color:#c6ff00 !important}.lime.accent-4{background-color:#aeea00 !important}.lime-text.text-accent-4{color:#aeea00 !important}.yellow{background-color:#ffeb3b !important}.yellow-text{color:#ffeb3b !important}.yellow.lighten-5{background-color:#fffde7 !important}.yellow-text.text-lighten-5{color:#fffde7 !important}.yellow.lighten-4{background-color:#fff9c4 !important}.yellow-text.text-lighten-4{color:#fff9c4 !important}.yellow.lighten-3{background-color:#fff59d !important}.yellow-text.text-lighten-3{color:#fff59d !important}.yellow.lighten-2{background-color:#fff176 !important}.yellow-text.text-lighten-2{color:#fff176 !important}.yellow.lighten-1{background-color:#ffee58 !important}.yellow-text.text-lighten-1{color:#ffee58 !important}.yellow.darken-1{background-color:#fdd835 !important}.yellow-text.text-darken-1{color:#fdd835 !important}.yellow.darken-2{background-color:#fbc02d !important}.yellow-text.text-darken-2{color:#fbc02d !important}.yellow.darken-3{background-color:#f9a825 !important}.yellow-text.text-darken-3{color:#f9a825 !important}.yellow.darken-4{background-color:#f57f17 !important}.yellow-text.text-darken-4{color:#f57f17 !important}.yellow.accent-1{background-color:#ffff8d !important}.yellow-text.text-accent-1{color:#ffff8d !important}.yellow.accent-2{background-color:#ff0 !important}.yellow-text.text-accent-2{color:#ff0 !important}.yellow.accent-3{background-color:#ffea00 !important}.yellow-text.text-accent-3{color:#ffea00 !important}.yellow.accent-4{background-color:#ffd600 !important}.yellow-text.text-accent-4{color:#ffd600 !important}.amber{background-color:#ffc107 !important}.amber-text{color:#ffc107 !important}.amber.lighten-5{background-color:#fff8e1 !important}.amber-text.text-lighten-5{color:#fff8e1 !important}.amber.lighten-4{background-color:#ffecb3 !important}.amber-text.text-lighten-4{color:#ffecb3 !important}.amber.lighten-3{background-color:#ffe082 !important}.amber-text.text-lighten-3{color:#ffe082 !important}.amber.lighten-2{background-color:#ffd54f !important}.amber-text.text-lighten-2{color:#ffd54f !important}.amber.lighten-1{background-color:#ffca28 !important}.amber-text.text-lighten-1{color:#ffca28 !important}.amber.darken-1{background-color:#ffb300 !important}.amber-text.text-darken-1{color:#ffb300 !important}.amber.darken-2{background-color:#ffa000 !important}.amber-text.text-darken-2{color:#ffa000 !important}.amber.darken-3{background-color:#ff8f00 !important}.amber-text.text-darken-3{color:#ff8f00 !important}.amber.darken-4{background-color:#ff6f00 !important}.amber-text.text-darken-4{color:#ff6f00 !important}.amber.accent-1{background-color:#ffe57f !important}.amber-text.text-accent-1{color:#ffe57f !important}.amber.accent-2{background-color:#ffd740 !important}.amber-text.text-accent-2{color:#ffd740 !important}.amber.accent-3{background-color:#ffc400 !important}.amber-text.text-accent-3{color:#ffc400 !important}.amber.accent-4{background-color:#ffab00 !important}.amber-text.text-accent-4{color:#ffab00 !important}.orange{background-color:#ff9800 !important}.orange-text{color:#ff9800 !important}.orange.lighten-5{background-color:#fff3e0 !important}.orange-text.text-lighten-5{color:#fff3e0 !important}.orange.lighten-4{background-color:#ffe0b2 !important}.orange-text.text-lighten-4{color:#ffe0b2 !important}.orange.lighten-3{background-color:#ffcc80 !important}.orange-text.text-lighten-3{color:#ffcc80 !important}.orange.lighten-2{background-color:#ffb74d !important}.orange-text.text-lighten-2{color:#ffb74d !important}.orange.lighten-1{background-color:#ffa726 !important}.orange-text.text-lighten-1{color:#ffa726 !important}.orange.darken-1{background-color:#fb8c00 !important}.orange-text.text-darken-1{color:#fb8c00 !important}.orange.darken-2{background-color:#f57c00 !important}.orange-text.text-darken-2{color:#f57c00 !important}.orange.darken-3{background-color:#ef6c00 !important}.orange-text.text-darken-3{color:#ef6c00 !important}.orange.darken-4{background-color:#e65100 !important}.orange-text.text-darken-4{color:#e65100 !important}.orange.accent-1{background-color:#ffd180 !important}.orange-text.text-accent-1{color:#ffd180 !important}.orange.accent-2{background-color:#ffab40 !important}.orange-text.text-accent-2{color:#ffab40 !important}.orange.accent-3{background-color:#ff9100 !important}.orange-text.text-accent-3{color:#ff9100 !important}.orange.accent-4{background-color:#ff6d00 !important}.orange-text.text-accent-4{color:#ff6d00 !important}.deep-orange{background-color:#ff5722 !important}.deep-orange-text{color:#ff5722 !important}.deep-orange.lighten-5{background-color:#fbe9e7 !important}.deep-orange-text.text-lighten-5{color:#fbe9e7 !important}.deep-orange.lighten-4{background-color:#ffccbc !important}.deep-orange-text.text-lighten-4{color:#ffccbc !important}.deep-orange.lighten-3{background-color:#ffab91 !important}.deep-orange-text.text-lighten-3{color:#ffab91 !important}.deep-orange.lighten-2{background-color:#ff8a65 !important}.deep-orange-text.text-lighten-2{color:#ff8a65 !important}.deep-orange.lighten-1{background-color:#ff7043 !important}.deep-orange-text.text-lighten-1{color:#ff7043 !important}.deep-orange.darken-1{background-color:#f4511e !important}.deep-orange-text.text-darken-1{color:#f4511e !important}.deep-orange.darken-2{background-color:#e64a19 !important}.deep-orange-text.text-darken-2{color:#e64a19 !important}.deep-orange.darken-3{background-color:#d84315 !important}.deep-orange-text.text-darken-3{color:#d84315 !important}.deep-orange.darken-4{background-color:#bf360c !important}.deep-orange-text.text-darken-4{color:#bf360c !important}.deep-orange.accent-1{background-color:#ff9e80 !important}.deep-orange-text.text-accent-1{color:#ff9e80 !important}.deep-orange.accent-2{background-color:#ff6e40 !important}.deep-orange-text.text-accent-2{color:#ff6e40 !important}.deep-orange.accent-3{background-color:#ff3d00 !important}.deep-orange-text.text-accent-3{color:#ff3d00 !important}.deep-orange.accent-4{background-color:#dd2c00 !important}.deep-orange-text.text-accent-4{color:#dd2c00 !important}.brown{background-color:#795548 !important}.brown-text{color:#795548 !important}.brown.lighten-5{background-color:#efebe9 !important}.brown-text.text-lighten-5{color:#efebe9 !important}.brown.lighten-4{background-color:#d7ccc8 !important}.brown-text.text-lighten-4{color:#d7ccc8 !important}.brown.lighten-3{background-color:#bcaaa4 !important}.brown-text.text-lighten-3{color:#bcaaa4 !important}.brown.lighten-2{background-color:#a1887f !important}.brown-text.text-lighten-2{color:#a1887f !important}.brown.lighten-1{background-color:#8d6e63 !important}.brown-text.text-lighten-1{color:#8d6e63 !important}.brown.darken-1{background-color:#6d4c41 !important}.brown-text.text-darken-1{color:#6d4c41 !important}.brown.darken-2{background-color:#5d4037 !important}.brown-text.text-darken-2{color:#5d4037 !important}.brown.darken-3{background-color:#4e342e !important}.brown-text.text-darken-3{color:#4e342e !important}.brown.darken-4{background-color:#3e2723 !important}.brown-text.text-darken-4{color:#3e2723 !important}.blue-grey{background-color:#607d8b !important}.blue-grey-text{color:#607d8b !important}.blue-grey.lighten-5{background-color:#eceff1 !important}.blue-grey-text.text-lighten-5{color:#eceff1 !important}.blue-grey.lighten-4{background-color:#cfd8dc !important}.blue-grey-text.text-lighten-4{color:#cfd8dc !important}.blue-grey.lighten-3{background-color:#b0bec5 !important}.blue-grey-text.text-lighten-3{color:#b0bec5 !important}.blue-grey.lighten-2{background-color:#90a4ae !important}.blue-grey-text.text-lighten-2{color:#90a4ae !important}.blue-grey.lighten-1{background-color:#78909c !important}.blue-grey-text.text-lighten-1{color:#78909c !important}.blue-grey.darken-1{background-color:#546e7a !important}.blue-grey-text.text-darken-1{color:#546e7a !important}.blue-grey.darken-2{background-color:#455a64 !important}.blue-grey-text.text-darken-2{color:#455a64 !important}.blue-grey.darken-3{background-color:#37474f !important}.blue-grey-text.text-darken-3{color:#37474f !important}.blue-grey.darken-4{background-color:#263238 !important}.blue-grey-text.text-darken-4{color:#263238 !important}.grey{background-color:#9e9e9e !important}.grey-text{color:#9e9e9e !important}.grey.lighten-5{background-color:#fafafa !important}.grey-text.text-lighten-5{color:#fafafa !important}.grey.lighten-4{background-color:#f5f5f5 !important}.grey-text.text-lighten-4{color:#f5f5f5 !important}.grey.lighten-3{background-color:#eee !important}.grey-text.text-lighten-3{color:#eee !important}.grey.lighten-2{background-color:#e0e0e0 !important}.grey-text.text-lighten-2{color:#e0e0e0 !important}.grey.lighten-1{background-color:#bdbdbd !important}.grey-text.text-lighten-1{color:#bdbdbd !important}.grey.darken-1{background-color:#757575 !important}.grey-text.text-darken-1{color:#757575 !important}.grey.darken-2{background-color:#616161 !important}.grey-text.text-darken-2{color:#616161 !important}.grey.darken-3{background-color:#424242 !important}.grey-text.text-darken-3{color:#424242 !important}.grey.darken-4{background-color:#212121 !important}.grey-text.text-darken-4{color:#212121 !important}.black{background-color:#000 !important}.black-text{color:#000 !important}.white{background-color:#fff !important}.white-text{color:#fff !important}.transparent{background-color:rgba(0,0,0,0) !important}.transparent-text{color:rgba(0,0,0,0) !important}/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:0.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace, monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;-moz-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-cancel-button,[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}html{-webkit-box-sizing:border-box;box-sizing:border-box}*,*:before,*:after{-webkit-box-sizing:inherit;box-sizing:inherit}button,input,optgroup,select,textarea{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif}ul:not(.browser-default){padding-left:0;list-style-type:none}ul:not(.browser-default)>li{list-style-type:none}a{color:#039be5;text-decoration:none;-webkit-tap-highlight-color:transparent}.valign-wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.clearfix{clear:both}.z-depth-0{-webkit-box-shadow:none !important;box-shadow:none !important}.z-depth-1,nav,.card-panel,.card,.toast,.btn,.btn-large,.btn-small,.btn-floating,.dropdown-content,.collapsible,.sidenav{-webkit-box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 3px 1px -2px rgba(0,0,0,0.12),0 1px 5px 0 rgba(0,0,0,0.2);box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 3px 1px -2px rgba(0,0,0,0.12),0 1px 5px 0 rgba(0,0,0,0.2)}.z-depth-1-half,.btn:hover,.btn-large:hover,.btn-small:hover,.btn-floating:hover{-webkit-box-shadow:0 3px 3px 0 rgba(0,0,0,0.14),0 1px 7px 0 rgba(0,0,0,0.12),0 3px 1px -1px rgba(0,0,0,0.2);box-shadow:0 3px 3px 0 rgba(0,0,0,0.14),0 1px 7px 0 rgba(0,0,0,0.12),0 3px 1px -1px rgba(0,0,0,0.2)}.z-depth-2{-webkit-box-shadow:0 4px 5px 0 rgba(0,0,0,0.14),0 1px 10px 0 rgba(0,0,0,0.12),0 2px 4px -1px rgba(0,0,0,0.3);box-shadow:0 4px 5px 0 rgba(0,0,0,0.14),0 1px 10px 0 rgba(0,0,0,0.12),0 2px 4px -1px rgba(0,0,0,0.3)}.z-depth-3{-webkit-box-shadow:0 8px 17px 2px rgba(0,0,0,0.14),0 3px 14px 2px rgba(0,0,0,0.12),0 5px 5px -3px rgba(0,0,0,0.2);box-shadow:0 8px 17px 2px rgba(0,0,0,0.14),0 3px 14px 2px rgba(0,0,0,0.12),0 5px 5px -3px rgba(0,0,0,0.2)}.z-depth-4{-webkit-box-shadow:0 16px 24px 2px rgba(0,0,0,0.14),0 6px 30px 5px rgba(0,0,0,0.12),0 8px 10px -7px rgba(0,0,0,0.2);box-shadow:0 16px 24px 2px rgba(0,0,0,0.14),0 6px 30px 5px rgba(0,0,0,0.12),0 8px 10px -7px rgba(0,0,0,0.2)}.z-depth-5,.modal{-webkit-box-shadow:0 24px 38px 3px rgba(0,0,0,0.14),0 9px 46px 8px rgba(0,0,0,0.12),0 11px 15px -7px rgba(0,0,0,0.2);box-shadow:0 24px 38px 3px rgba(0,0,0,0.14),0 9px 46px 8px rgba(0,0,0,0.12),0 11px 15px -7px rgba(0,0,0,0.2)}.hoverable{-webkit-transition:-webkit-box-shadow .25s;transition:-webkit-box-shadow .25s;transition:box-shadow .25s;transition:box-shadow .25s, -webkit-box-shadow .25s}.hoverable:hover{-webkit-box-shadow:0 8px 17px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19);box-shadow:0 8px 17px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19)}.divider{height:1px;overflow:hidden;background-color:#e0e0e0}blockquote{margin:20px 0;padding-left:1.5rem;border-left:5px solid #ee6e73}i{line-height:inherit}i.left{float:left;margin-right:15px}i.right{float:right;margin-left:15px}i.tiny{font-size:1rem}i.small{font-size:2rem}i.medium{font-size:4rem}i.large{font-size:6rem}img.responsive-img,video.responsive-video{max-width:100%;height:auto}.pagination li{display:inline-block;border-radius:2px;text-align:center;vertical-align:top;height:30px}.pagination li a{color:#444;display:inline-block;font-size:1.2rem;padding:0 10px;line-height:30px}.pagination li.active a{color:#fff}.pagination li.active{background-color:#ee6e73}.pagination li.disabled a{cursor:default;color:#999}.pagination li i{font-size:2rem}.pagination li.pages ul li{display:inline-block;float:none}@media only screen and (max-width: 992px){.pagination{width:100%}.pagination li.prev,.pagination li.next{width:10%}.pagination li.pages{width:80%;overflow:hidden;white-space:nowrap}}.breadcrumb{font-size:18px;color:rgba(255,255,255,0.7)}.breadcrumb i,.breadcrumb [class^="mdi-"],.breadcrumb [class*="mdi-"],.breadcrumb i.material-icons{display:inline-block;float:left;font-size:24px}.breadcrumb:before{content:'\E5CC';color:rgba(255,255,255,0.7);vertical-align:top;display:inline-block;font-family:'Material Icons';font-weight:normal;font-style:normal;font-size:25px;margin:0 10px 0 8px;-webkit-font-smoothing:antialiased}.breadcrumb:first-child:before{display:none}.breadcrumb:last-child{color:#fff}.parallax-container{position:relative;overflow:hidden;height:500px}.parallax-container .parallax{position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1}.parallax-container .parallax img{opacity:0;position:absolute;left:50%;bottom:0;min-width:100%;min-height:100%;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);-webkit-transform:translateX(-50%);transform:translateX(-50%)}.pin-top,.pin-bottom{position:relative}.pinned{position:fixed !important}ul.staggered-list li{opacity:0}.fade-in{opacity:0;-webkit-transform-origin:0 50%;transform-origin:0 50%}@media only screen and (max-width: 600px){.hide-on-small-only,.hide-on-small-and-down{display:none !important}}@media only screen and (max-width: 992px){.hide-on-med-and-down{display:none !important}}@media only screen and (min-width: 601px){.hide-on-med-and-up{display:none !important}}@media only screen and (min-width: 600px) and (max-width: 992px){.hide-on-med-only{display:none !important}}@media only screen and (min-width: 993px){.hide-on-large-only{display:none !important}}@media only screen and (min-width: 1201px){.hide-on-extra-large-only{display:none !important}}@media only screen and (min-width: 1201px){.show-on-extra-large{display:block !important}}@media only screen and (min-width: 993px){.show-on-large{display:block !important}}@media only screen and (min-width: 600px) and (max-width: 992px){.show-on-medium{display:block !important}}@media only screen and (max-width: 600px){.show-on-small{display:block !important}}@media only screen and (min-width: 601px){.show-on-medium-and-up{display:block !important}}@media only screen and (max-width: 992px){.show-on-medium-and-down{display:block !important}}@media only screen and (max-width: 600px){.center-on-small-only{text-align:center}}.page-footer{padding-top:20px;color:#fff;background-color:#ee6e73}.page-footer .footer-copyright{overflow:hidden;min-height:50px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;padding:10px 0px;color:rgba(255,255,255,0.8);background-color:rgba(51,51,51,0.08)}table,th,td{border:none}table{width:100%;display:table;border-collapse:collapse;border-spacing:0}table.striped tr{border-bottom:none}table.striped>tbody>tr:nth-child(odd){background-color:rgba(242,242,242,0.5)}table.striped>tbody>tr>td{border-radius:0}table.highlight>tbody>tr{-webkit-transition:background-color .25s ease;transition:background-color .25s ease}table.highlight>tbody>tr:hover{background-color:rgba(242,242,242,0.5)}table.centered thead tr th,table.centered tbody tr td{text-align:center}tr{border-bottom:1px solid rgba(0,0,0,0.12)}td,th{padding:15px 5px;display:table-cell;text-align:left;vertical-align:middle;border-radius:2px}@media only screen and (max-width: 992px){table.responsive-table{width:100%;border-collapse:collapse;border-spacing:0;display:block;position:relative}table.responsive-table td:empty:before{content:'\00a0'}table.responsive-table th,table.responsive-table td{margin:0;vertical-align:top}table.responsive-table th{text-align:left}table.responsive-table thead{display:block;float:left}table.responsive-table thead tr{display:block;padding:0 10px 0 0}table.responsive-table thead tr th::before{content:"\00a0"}table.responsive-table tbody{display:block;width:auto;position:relative;overflow-x:auto;white-space:nowrap}table.responsive-table tbody tr{display:inline-block;vertical-align:top}table.responsive-table th{display:block;text-align:right}table.responsive-table td{display:block;min-height:1.25em;text-align:left}table.responsive-table tr{border-bottom:none;padding:0 10px}table.responsive-table thead{border:0;border-right:1px solid rgba(0,0,0,0.12)}}.collection{margin:.5rem 0 1rem 0;border:1px solid #e0e0e0;border-radius:2px;overflow:hidden;position:relative}.collection .collection-item{background-color:#fff;line-height:1.5rem;padding:10px 20px;margin:0;border-bottom:1px solid #e0e0e0}.collection .collection-item.avatar{min-height:84px;padding-left:72px;position:relative}.collection .collection-item.avatar:not(.circle-clipper)>.circle,.collection .collection-item.avatar :not(.circle-clipper)>.circle{position:absolute;width:42px;height:42px;overflow:hidden;left:15px;display:inline-block;vertical-align:middle}.collection .collection-item.avatar i.circle{font-size:18px;line-height:42px;color:#fff;background-color:#999;text-align:center}.collection .collection-item.avatar .title{font-size:16px}.collection .collection-item.avatar p{margin:0}.collection .collection-item.avatar .secondary-content{position:absolute;top:16px;right:16px}.collection .collection-item:last-child{border-bottom:none}.collection .collection-item.active{background-color:#26a69a;color:#eafaf9}.collection .collection-item.active .secondary-content{color:#fff}.collection a.collection-item{display:block;-webkit-transition:.25s;transition:.25s;color:#26a69a}.collection a.collection-item:not(.active):hover{background-color:#ddd}.collection.with-header .collection-header{background-color:#fff;border-bottom:1px solid #e0e0e0;padding:10px 20px}.collection.with-header .collection-item{padding-left:30px}.collection.with-header .collection-item.avatar{padding-left:72px}.secondary-content{float:right;color:#26a69a}.collapsible .collection{margin:0;border:none}.video-container{position:relative;padding-bottom:56.25%;height:0;overflow:hidden}.video-container iframe,.video-container object,.video-container embed{position:absolute;top:0;left:0;width:100%;height:100%}.progress{position:relative;height:4px;display:block;width:100%;background-color:#acece6;border-radius:2px;margin:.5rem 0 1rem 0;overflow:hidden}.progress .determinate{position:absolute;top:0;left:0;bottom:0;background-color:#26a69a;-webkit-transition:width .3s linear;transition:width .3s linear}.progress .indeterminate{background-color:#26a69a}.progress .indeterminate:before{content:'';position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left, right;-webkit-animation:indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;animation:indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite}.progress .indeterminate:after{content:'';position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left, right;-webkit-animation:indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;animation:indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;-webkit-animation-delay:1.15s;animation-delay:1.15s}@-webkit-keyframes indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}100%{left:100%;right:-90%}}@keyframes indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}100%{left:100%;right:-90%}}@-webkit-keyframes indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}100%{left:107%;right:-8%}}@keyframes indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}100%{left:107%;right:-8%}}.hide{display:none !important}.left-align{text-align:left}.right-align{text-align:right}.center,.center-align{text-align:center}.left{float:left !important}.right{float:right !important}.no-select,input[type=range],input[type=range]+.thumb{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.circle{border-radius:50%}.center-block{display:block;margin-left:auto;margin-right:auto}.truncate{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.no-padding{padding:0 !important}span.badge{min-width:3rem;padding:0 6px;margin-left:14px;text-align:center;font-size:1rem;line-height:22px;height:22px;color:#757575;float:right;-webkit-box-sizing:border-box;box-sizing:border-box}span.badge.new{font-weight:300;font-size:0.8rem;color:#fff;background-color:#26a69a;border-radius:2px}span.badge.new:after{content:" new"}span.badge[data-badge-caption]::after{content:" " attr(data-badge-caption)}nav ul a span.badge{display:inline-block;float:none;margin-left:4px;line-height:22px;height:22px;-webkit-font-smoothing:auto}.collection-item span.badge{margin-top:calc(.75rem - 11px)}.collapsible span.badge{margin-left:auto}.sidenav span.badge{margin-top:calc(24px - 11px)}table span.badge{display:inline-block;float:none;margin-left:auto}.material-icons{text-rendering:optimizeLegibility;-webkit-font-feature-settings:'liga';-moz-font-feature-settings:'liga';font-feature-settings:'liga'}.container{margin:0 auto;max-width:1280px;width:90%}@media only screen and (min-width: 601px){.container{width:85%}}@media only screen and (min-width: 993px){.container{width:70%}}.col .row{margin-left:-.75rem;margin-right:-.75rem}.section{padding-top:1rem;padding-bottom:1rem}.section.no-pad{padding:0}.section.no-pad-bot{padding-bottom:0}.section.no-pad-top{padding-top:0}.row{margin-left:auto;margin-right:auto;margin-bottom:20px}.row:after{content:"";display:table;clear:both}.row .col{float:left;-webkit-box-sizing:border-box;box-sizing:border-box;padding:0 .75rem;min-height:1px}.row .col[class*="push-"],.row .col[class*="pull-"]{position:relative}.row .col.s1{width:8.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.s2{width:16.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.s3{width:25%;margin-left:auto;left:auto;right:auto}.row .col.s4{width:33.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.s5{width:41.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.s6{width:50%;margin-left:auto;left:auto;right:auto}.row .col.s7{width:58.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.s8{width:66.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.s9{width:75%;margin-left:auto;left:auto;right:auto}.row .col.s10{width:83.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.s11{width:91.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.s12{width:100%;margin-left:auto;left:auto;right:auto}.row .col.offset-s1{margin-left:8.3333333333%}.row .col.pull-s1{right:8.3333333333%}.row .col.push-s1{left:8.3333333333%}.row .col.offset-s2{margin-left:16.6666666667%}.row .col.pull-s2{right:16.6666666667%}.row .col.push-s2{left:16.6666666667%}.row .col.offset-s3{margin-left:25%}.row .col.pull-s3{right:25%}.row .col.push-s3{left:25%}.row .col.offset-s4{margin-left:33.3333333333%}.row .col.pull-s4{right:33.3333333333%}.row .col.push-s4{left:33.3333333333%}.row .col.offset-s5{margin-left:41.6666666667%}.row .col.pull-s5{right:41.6666666667%}.row .col.push-s5{left:41.6666666667%}.row .col.offset-s6{margin-left:50%}.row .col.pull-s6{right:50%}.row .col.push-s6{left:50%}.row .col.offset-s7{margin-left:58.3333333333%}.row .col.pull-s7{right:58.3333333333%}.row .col.push-s7{left:58.3333333333%}.row .col.offset-s8{margin-left:66.6666666667%}.row .col.pull-s8{right:66.6666666667%}.row .col.push-s8{left:66.6666666667%}.row .col.offset-s9{margin-left:75%}.row .col.pull-s9{right:75%}.row .col.push-s9{left:75%}.row .col.offset-s10{margin-left:83.3333333333%}.row .col.pull-s10{right:83.3333333333%}.row .col.push-s10{left:83.3333333333%}.row .col.offset-s11{margin-left:91.6666666667%}.row .col.pull-s11{right:91.6666666667%}.row .col.push-s11{left:91.6666666667%}.row .col.offset-s12{margin-left:100%}.row .col.pull-s12{right:100%}.row .col.push-s12{left:100%}@media only screen and (min-width: 601px){.row .col.m1{width:8.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.m2{width:16.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.m3{width:25%;margin-left:auto;left:auto;right:auto}.row .col.m4{width:33.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.m5{width:41.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.m6{width:50%;margin-left:auto;left:auto;right:auto}.row .col.m7{width:58.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.m8{width:66.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.m9{width:75%;margin-left:auto;left:auto;right:auto}.row .col.m10{width:83.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.m11{width:91.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.m12{width:100%;margin-left:auto;left:auto;right:auto}.row .col.offset-m1{margin-left:8.3333333333%}.row .col.pull-m1{right:8.3333333333%}.row .col.push-m1{left:8.3333333333%}.row .col.offset-m2{margin-left:16.6666666667%}.row .col.pull-m2{right:16.6666666667%}.row .col.push-m2{left:16.6666666667%}.row .col.offset-m3{margin-left:25%}.row .col.pull-m3{right:25%}.row .col.push-m3{left:25%}.row .col.offset-m4{margin-left:33.3333333333%}.row .col.pull-m4{right:33.3333333333%}.row .col.push-m4{left:33.3333333333%}.row .col.offset-m5{margin-left:41.6666666667%}.row .col.pull-m5{right:41.6666666667%}.row .col.push-m5{left:41.6666666667%}.row .col.offset-m6{margin-left:50%}.row .col.pull-m6{right:50%}.row .col.push-m6{left:50%}.row .col.offset-m7{margin-left:58.3333333333%}.row .col.pull-m7{right:58.3333333333%}.row .col.push-m7{left:58.3333333333%}.row .col.offset-m8{margin-left:66.6666666667%}.row .col.pull-m8{right:66.6666666667%}.row .col.push-m8{left:66.6666666667%}.row .col.offset-m9{margin-left:75%}.row .col.pull-m9{right:75%}.row .col.push-m9{left:75%}.row .col.offset-m10{margin-left:83.3333333333%}.row .col.pull-m10{right:83.3333333333%}.row .col.push-m10{left:83.3333333333%}.row .col.offset-m11{margin-left:91.6666666667%}.row .col.pull-m11{right:91.6666666667%}.row .col.push-m11{left:91.6666666667%}.row .col.offset-m12{margin-left:100%}.row .col.pull-m12{right:100%}.row .col.push-m12{left:100%}}@media only screen and (min-width: 993px){.row .col.l1{width:8.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.l2{width:16.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.l3{width:25%;margin-left:auto;left:auto;right:auto}.row .col.l4{width:33.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.l5{width:41.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.l6{width:50%;margin-left:auto;left:auto;right:auto}.row .col.l7{width:58.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.l8{width:66.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.l9{width:75%;margin-left:auto;left:auto;right:auto}.row .col.l10{width:83.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.l11{width:91.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.l12{width:100%;margin-left:auto;left:auto;right:auto}.row .col.offset-l1{margin-left:8.3333333333%}.row .col.pull-l1{right:8.3333333333%}.row .col.push-l1{left:8.3333333333%}.row .col.offset-l2{margin-left:16.6666666667%}.row .col.pull-l2{right:16.6666666667%}.row .col.push-l2{left:16.6666666667%}.row .col.offset-l3{margin-left:25%}.row .col.pull-l3{right:25%}.row .col.push-l3{left:25%}.row .col.offset-l4{margin-left:33.3333333333%}.row .col.pull-l4{right:33.3333333333%}.row .col.push-l4{left:33.3333333333%}.row .col.offset-l5{margin-left:41.6666666667%}.row .col.pull-l5{right:41.6666666667%}.row .col.push-l5{left:41.6666666667%}.row .col.offset-l6{margin-left:50%}.row .col.pull-l6{right:50%}.row .col.push-l6{left:50%}.row .col.offset-l7{margin-left:58.3333333333%}.row .col.pull-l7{right:58.3333333333%}.row .col.push-l7{left:58.3333333333%}.row .col.offset-l8{margin-left:66.6666666667%}.row .col.pull-l8{right:66.6666666667%}.row .col.push-l8{left:66.6666666667%}.row .col.offset-l9{margin-left:75%}.row .col.pull-l9{right:75%}.row .col.push-l9{left:75%}.row .col.offset-l10{margin-left:83.3333333333%}.row .col.pull-l10{right:83.3333333333%}.row .col.push-l10{left:83.3333333333%}.row .col.offset-l11{margin-left:91.6666666667%}.row .col.pull-l11{right:91.6666666667%}.row .col.push-l11{left:91.6666666667%}.row .col.offset-l12{margin-left:100%}.row .col.pull-l12{right:100%}.row .col.push-l12{left:100%}}@media only screen and (min-width: 1201px){.row .col.xl1{width:8.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.xl2{width:16.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.xl3{width:25%;margin-left:auto;left:auto;right:auto}.row .col.xl4{width:33.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.xl5{width:41.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.xl6{width:50%;margin-left:auto;left:auto;right:auto}.row .col.xl7{width:58.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.xl8{width:66.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.xl9{width:75%;margin-left:auto;left:auto;right:auto}.row .col.xl10{width:83.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.xl11{width:91.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.xl12{width:100%;margin-left:auto;left:auto;right:auto}.row .col.offset-xl1{margin-left:8.3333333333%}.row .col.pull-xl1{right:8.3333333333%}.row .col.push-xl1{left:8.3333333333%}.row .col.offset-xl2{margin-left:16.6666666667%}.row .col.pull-xl2{right:16.6666666667%}.row .col.push-xl2{left:16.6666666667%}.row .col.offset-xl3{margin-left:25%}.row .col.pull-xl3{right:25%}.row .col.push-xl3{left:25%}.row .col.offset-xl4{margin-left:33.3333333333%}.row .col.pull-xl4{right:33.3333333333%}.row .col.push-xl4{left:33.3333333333%}.row .col.offset-xl5{margin-left:41.6666666667%}.row .col.pull-xl5{right:41.6666666667%}.row .col.push-xl5{left:41.6666666667%}.row .col.offset-xl6{margin-left:50%}.row .col.pull-xl6{right:50%}.row .col.push-xl6{left:50%}.row .col.offset-xl7{margin-left:58.3333333333%}.row .col.pull-xl7{right:58.3333333333%}.row .col.push-xl7{left:58.3333333333%}.row .col.offset-xl8{margin-left:66.6666666667%}.row .col.pull-xl8{right:66.6666666667%}.row .col.push-xl8{left:66.6666666667%}.row .col.offset-xl9{margin-left:75%}.row .col.pull-xl9{right:75%}.row .col.push-xl9{left:75%}.row .col.offset-xl10{margin-left:83.3333333333%}.row .col.pull-xl10{right:83.3333333333%}.row .col.push-xl10{left:83.3333333333%}.row .col.offset-xl11{margin-left:91.6666666667%}.row .col.pull-xl11{right:91.6666666667%}.row .col.push-xl11{left:91.6666666667%}.row .col.offset-xl12{margin-left:100%}.row .col.pull-xl12{right:100%}.row .col.push-xl12{left:100%}}nav{color:#fff;background-color:#ee6e73;width:100%;height:56px;line-height:56px}nav.nav-extended{height:auto}nav.nav-extended .nav-wrapper{min-height:56px;height:auto}nav.nav-extended .nav-content{position:relative;line-height:normal}nav a{color:#fff}nav i,nav [class^="mdi-"],nav [class*="mdi-"],nav i.material-icons{display:block;font-size:24px;height:56px;line-height:56px}nav .nav-wrapper{position:relative;height:100%}@media only screen and (min-width: 993px){nav a.sidenav-trigger{display:none}}nav .sidenav-trigger{float:left;position:relative;z-index:1;height:56px;margin:0 18px}nav .sidenav-trigger i{height:56px;line-height:56px}nav .brand-logo{position:absolute;color:#fff;display:inline-block;font-size:2.1rem;padding:0}nav .brand-logo.center{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}@media only screen and (max-width: 992px){nav .brand-logo{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}nav .brand-logo.left,nav .brand-logo.right{padding:0;-webkit-transform:none;transform:none}nav .brand-logo.left{left:0.5rem}nav .brand-logo.right{right:0.5rem;left:auto}}nav .brand-logo.right{right:0.5rem;padding:0}nav .brand-logo i,nav .brand-logo [class^="mdi-"],nav .brand-logo [class*="mdi-"],nav .brand-logo i.material-icons{float:left;margin-right:15px}nav .nav-title{display:inline-block;font-size:32px;padding:28px 0}nav ul{margin:0}nav ul li{-webkit-transition:background-color .3s;transition:background-color .3s;float:left;padding:0}nav ul li.active{background-color:rgba(0,0,0,0.1)}nav ul a{-webkit-transition:background-color .3s;transition:background-color .3s;font-size:1rem;color:#fff;display:block;padding:0 15px;cursor:pointer}nav ul a.btn,nav ul a.btn-large,nav ul a.btn-small,nav ul a.btn-large,nav ul a.btn-flat,nav ul a.btn-floating{margin-top:-2px;margin-left:15px;margin-right:15px}nav ul a.btn>.material-icons,nav ul a.btn-large>.material-icons,nav ul a.btn-small>.material-icons,nav ul a.btn-large>.material-icons,nav ul a.btn-flat>.material-icons,nav ul a.btn-floating>.material-icons{height:inherit;line-height:inherit}nav ul a:hover{background-color:rgba(0,0,0,0.1)}nav ul.left{float:left}nav form{height:100%}nav .input-field{margin:0;height:100%}nav .input-field input{height:100%;font-size:1.2rem;border:none;padding-left:2rem}nav .input-field input:focus,nav .input-field input[type=text]:valid,nav .input-field input[type=password]:valid,nav .input-field input[type=email]:valid,nav .input-field input[type=url]:valid,nav .input-field input[type=date]:valid{border:none;-webkit-box-shadow:none;box-shadow:none}nav .input-field label{top:0;left:0}nav .input-field label i{color:rgba(255,255,255,0.7);-webkit-transition:color .3s;transition:color .3s}nav .input-field label.active i{color:#fff}.navbar-fixed{position:relative;height:56px;z-index:997}.navbar-fixed nav{position:fixed}@media only screen and (min-width: 601px){nav.nav-extended .nav-wrapper{min-height:64px}nav,nav .nav-wrapper i,nav a.sidenav-trigger,nav a.sidenav-trigger i{height:64px;line-height:64px}.navbar-fixed{height:64px}}a{text-decoration:none}html{line-height:1.5;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-weight:normal;color:rgba(0,0,0,0.87)}@media only screen and (min-width: 0){html{font-size:14px}}@media only screen and (min-width: 992px){html{font-size:14.5px}}@media only screen and (min-width: 1200px){html{font-size:15px}}h1,h2,h3,h4,h5,h6{font-weight:400;line-height:1.3}h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{font-weight:inherit}h1{font-size:4.2rem;line-height:110%;margin:2.8rem 0 1.68rem 0}h2{font-size:3.56rem;line-height:110%;margin:2.3733333333rem 0 1.424rem 0}h3{font-size:2.92rem;line-height:110%;margin:1.9466666667rem 0 1.168rem 0}h4{font-size:2.28rem;line-height:110%;margin:1.52rem 0 .912rem 0}h5{font-size:1.64rem;line-height:110%;margin:1.0933333333rem 0 .656rem 0}h6{font-size:1.15rem;line-height:110%;margin:.7666666667rem 0 .46rem 0}em{font-style:italic}strong{font-weight:500}small{font-size:75%}.light{font-weight:300}.thin{font-weight:200}@media only screen and (min-width: 360px){.flow-text{font-size:1.2rem}}@media only screen and (min-width: 390px){.flow-text{font-size:1.224rem}}@media only screen and (min-width: 420px){.flow-text{font-size:1.248rem}}@media only screen and (min-width: 450px){.flow-text{font-size:1.272rem}}@media only screen and (min-width: 480px){.flow-text{font-size:1.296rem}}@media only screen and (min-width: 510px){.flow-text{font-size:1.32rem}}@media only screen and (min-width: 540px){.flow-text{font-size:1.344rem}}@media only screen and (min-width: 570px){.flow-text{font-size:1.368rem}}@media only screen and (min-width: 600px){.flow-text{font-size:1.392rem}}@media only screen and (min-width: 630px){.flow-text{font-size:1.416rem}}@media only screen and (min-width: 660px){.flow-text{font-size:1.44rem}}@media only screen and (min-width: 690px){.flow-text{font-size:1.464rem}}@media only screen and (min-width: 720px){.flow-text{font-size:1.488rem}}@media only screen and (min-width: 750px){.flow-text{font-size:1.512rem}}@media only screen and (min-width: 780px){.flow-text{font-size:1.536rem}}@media only screen and (min-width: 810px){.flow-text{font-size:1.56rem}}@media only screen and (min-width: 840px){.flow-text{font-size:1.584rem}}@media only screen and (min-width: 870px){.flow-text{font-size:1.608rem}}@media only screen and (min-width: 900px){.flow-text{font-size:1.632rem}}@media only screen and (min-width: 930px){.flow-text{font-size:1.656rem}}@media only screen and (min-width: 960px){.flow-text{font-size:1.68rem}}@media only screen and (max-width: 360px){.flow-text{font-size:1.2rem}}.scale-transition{-webkit-transition:-webkit-transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63) !important;transition:-webkit-transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63) !important;transition:transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63) !important;transition:transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63), -webkit-transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63) !important}.scale-transition.scale-out{-webkit-transform:scale(0);transform:scale(0);-webkit-transition:-webkit-transform .2s !important;transition:-webkit-transform .2s !important;transition:transform .2s !important;transition:transform .2s, -webkit-transform .2s !important}.scale-transition.scale-in{-webkit-transform:scale(1);transform:scale(1)}.card-panel{-webkit-transition:-webkit-box-shadow .25s;transition:-webkit-box-shadow .25s;transition:box-shadow .25s;transition:box-shadow .25s, -webkit-box-shadow .25s;padding:24px;margin:.5rem 0 1rem 0;border-radius:2px;background-color:#fff}.card{position:relative;margin:.5rem 0 1rem 0;background-color:#fff;-webkit-transition:-webkit-box-shadow .25s;transition:-webkit-box-shadow .25s;transition:box-shadow .25s;transition:box-shadow .25s, -webkit-box-shadow .25s;border-radius:2px}.card .card-title{font-size:24px;font-weight:300}.card .card-title.activator{cursor:pointer}.card.small,.card.medium,.card.large{position:relative}.card.small .card-image,.card.medium .card-image,.card.large .card-image{max-height:60%;overflow:hidden}.card.small .card-image+.card-content,.card.medium .card-image+.card-content,.card.large .card-image+.card-content{max-height:40%}.card.small .card-content,.card.medium .card-content,.card.large .card-content{max-height:100%;overflow:hidden}.card.small .card-action,.card.medium .card-action,.card.large .card-action{position:absolute;bottom:0;left:0;right:0}.card.small{height:300px}.card.medium{height:400px}.card.large{height:500px}.card.horizontal{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.card.horizontal.small .card-image,.card.horizontal.medium .card-image,.card.horizontal.large .card-image{height:100%;max-height:none;overflow:visible}.card.horizontal.small .card-image img,.card.horizontal.medium .card-image img,.card.horizontal.large .card-image img{height:100%}.card.horizontal .card-image{max-width:50%}.card.horizontal .card-image img{border-radius:2px 0 0 2px;max-width:100%;width:auto}.card.horizontal .card-stacked{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;position:relative}.card.horizontal .card-stacked .card-content{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.card.sticky-action .card-action{z-index:2}.card.sticky-action .card-reveal{z-index:1;padding-bottom:64px}.card .card-image{position:relative}.card .card-image img{display:block;border-radius:2px 2px 0 0;position:relative;left:0;right:0;top:0;bottom:0;width:100%}.card .card-image .card-title{color:#fff;position:absolute;bottom:0;left:0;max-width:100%;padding:24px}.card .card-content{padding:24px;border-radius:0 0 2px 2px}.card .card-content p{margin:0}.card .card-content .card-title{display:block;line-height:32px;margin-bottom:8px}.card .card-content .card-title i{line-height:32px}.card .card-action{background-color:inherit;border-top:1px solid rgba(160,160,160,0.2);position:relative;padding:16px 24px}.card .card-action:last-child{border-radius:0 0 2px 2px}.card .card-action a:not(.btn):not(.btn-large):not(.btn-small):not(.btn-large):not(.btn-floating){color:#ffab40;margin-right:24px;-webkit-transition:color .3s ease;transition:color .3s ease;text-transform:uppercase}.card .card-action a:not(.btn):not(.btn-large):not(.btn-small):not(.btn-large):not(.btn-floating):hover{color:#ffd8a6}.card .card-reveal{padding:24px;position:absolute;background-color:#fff;width:100%;overflow-y:auto;left:0;top:100%;height:100%;z-index:3;display:none}.card .card-reveal .card-title{cursor:pointer;display:block}#toast-container{display:block;position:fixed;z-index:10000}@media only screen and (max-width: 600px){#toast-container{min-width:100%;bottom:0%}}@media only screen and (min-width: 601px) and (max-width: 992px){#toast-container{left:5%;bottom:7%;max-width:90%}}@media only screen and (min-width: 993px){#toast-container{top:10%;right:7%;max-width:86%}}.toast{border-radius:2px;top:35px;width:auto;margin-top:10px;position:relative;max-width:100%;height:auto;min-height:48px;line-height:1.5em;background-color:#323232;padding:10px 25px;font-size:1.1rem;font-weight:300;color:#fff;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;cursor:default}.toast .toast-action{color:#eeff41;font-weight:500;margin-right:-25px;margin-left:3rem}.toast.rounded{border-radius:24px}@media only screen and (max-width: 600px){.toast{width:100%;border-radius:0}}.tabs{position:relative;overflow-x:auto;overflow-y:hidden;height:48px;width:100%;background-color:#fff;margin:0 auto;white-space:nowrap}.tabs.tabs-transparent{background-color:transparent}.tabs.tabs-transparent .tab a,.tabs.tabs-transparent .tab.disabled a,.tabs.tabs-transparent .tab.disabled a:hover{color:rgba(255,255,255,0.7)}.tabs.tabs-transparent .tab a:hover,.tabs.tabs-transparent .tab a.active{color:#fff}.tabs.tabs-transparent .indicator{background-color:#fff}.tabs.tabs-fixed-width{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.tabs.tabs-fixed-width .tab{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.tabs .tab{display:inline-block;text-align:center;line-height:48px;height:48px;padding:0;margin:0;text-transform:uppercase}.tabs .tab a{color:rgba(238,110,115,0.7);display:block;width:100%;height:100%;padding:0 24px;font-size:14px;text-overflow:ellipsis;overflow:hidden;-webkit-transition:color .28s ease, background-color .28s ease;transition:color .28s ease, background-color .28s ease}.tabs .tab a:focus,.tabs .tab a:focus.active{background-color:rgba(246,178,181,0.2);outline:none}.tabs .tab a:hover,.tabs .tab a.active{background-color:transparent;color:#ee6e73}.tabs .tab.disabled a,.tabs .tab.disabled a:hover{color:rgba(238,110,115,0.4);cursor:default}.tabs .indicator{position:absolute;bottom:0;height:2px;background-color:#f6b2b5;will-change:left, right}@media only screen and (max-width: 992px){.tabs{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.tabs .tab{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.tabs .tab a{padding:0 12px}}.material-tooltip{padding:10px 8px;font-size:1rem;z-index:2000;background-color:transparent;border-radius:2px;color:#fff;min-height:36px;line-height:120%;opacity:0;position:absolute;text-align:center;max-width:calc(100% - 4px);overflow:hidden;left:0;top:0;pointer-events:none;visibility:hidden;background-color:#323232}.backdrop{position:absolute;opacity:0;height:7px;width:14px;border-radius:0 0 50% 50%;background-color:#323232;z-index:-1;-webkit-transform-origin:50% 0%;transform-origin:50% 0%;visibility:hidden}.btn,.btn-large,.btn-small,.btn-flat{border:none;border-radius:2px;display:inline-block;height:36px;line-height:36px;padding:0 16px;text-transform:uppercase;vertical-align:middle;-webkit-tap-highlight-color:transparent}.btn.disabled,.disabled.btn-large,.disabled.btn-small,.btn-floating.disabled,.btn-large.disabled,.btn-small.disabled,.btn-flat.disabled,.btn:disabled,.btn-large:disabled,.btn-small:disabled,.btn-floating:disabled,.btn-large:disabled,.btn-small:disabled,.btn-flat:disabled,.btn[disabled],.btn-large[disabled],.btn-small[disabled],.btn-floating[disabled],.btn-large[disabled],.btn-small[disabled],.btn-flat[disabled]{pointer-events:none;background-color:#DFDFDF !important;-webkit-box-shadow:none;box-shadow:none;color:#9F9F9F !important;cursor:default}.btn.disabled:hover,.disabled.btn-large:hover,.disabled.btn-small:hover,.btn-floating.disabled:hover,.btn-large.disabled:hover,.btn-small.disabled:hover,.btn-flat.disabled:hover,.btn:disabled:hover,.btn-large:disabled:hover,.btn-small:disabled:hover,.btn-floating:disabled:hover,.btn-large:disabled:hover,.btn-small:disabled:hover,.btn-flat:disabled:hover,.btn[disabled]:hover,.btn-large[disabled]:hover,.btn-small[disabled]:hover,.btn-floating[disabled]:hover,.btn-large[disabled]:hover,.btn-small[disabled]:hover,.btn-flat[disabled]:hover{background-color:#DFDFDF !important;color:#9F9F9F !important}.btn,.btn-large,.btn-small,.btn-floating,.btn-large,.btn-small,.btn-flat{font-size:14px;outline:0}.btn i,.btn-large i,.btn-small i,.btn-floating i,.btn-large i,.btn-small i,.btn-flat i{font-size:1.3rem;line-height:inherit}.btn:focus,.btn-large:focus,.btn-small:focus,.btn-floating:focus{background-color:#1d7d74}.btn,.btn-large,.btn-small{text-decoration:none;color:#fff;background-color:#26a69a;text-align:center;letter-spacing:.5px;-webkit-transition:background-color .2s ease-out;transition:background-color .2s ease-out;cursor:pointer}.btn:hover,.btn-large:hover,.btn-small:hover{background-color:#2bbbad}.btn-floating{display:inline-block;color:#fff;position:relative;overflow:hidden;z-index:1;width:40px;height:40px;line-height:40px;padding:0;background-color:#26a69a;border-radius:50%;-webkit-transition:background-color .3s;transition:background-color .3s;cursor:pointer;vertical-align:middle}.btn-floating:hover{background-color:#26a69a}.btn-floating:before{border-radius:0}.btn-floating.btn-large{width:56px;height:56px;padding:0}.btn-floating.btn-large.halfway-fab{bottom:-28px}.btn-floating.btn-large i{line-height:56px}.btn-floating.btn-small{width:32.4px;height:32.4px}.btn-floating.btn-small.halfway-fab{bottom:-16.2px}.btn-floating.btn-small i{line-height:32.4px}.btn-floating.halfway-fab{position:absolute;right:24px;bottom:-20px}.btn-floating.halfway-fab.left{right:auto;left:24px}.btn-floating i{width:inherit;display:inline-block;text-align:center;color:#fff;font-size:1.6rem;line-height:40px}button.btn-floating{border:none}.fixed-action-btn{position:fixed;right:23px;bottom:23px;padding-top:15px;margin-bottom:0;z-index:997}.fixed-action-btn.active ul{visibility:visible}.fixed-action-btn.direction-left,.fixed-action-btn.direction-right{padding:0 0 0 15px}.fixed-action-btn.direction-left ul,.fixed-action-btn.direction-right ul{text-align:right;right:64px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);height:100%;left:auto;width:500px}.fixed-action-btn.direction-left ul li,.fixed-action-btn.direction-right ul li{display:inline-block;margin:7.5px 15px 0 0}.fixed-action-btn.direction-right{padding:0 15px 0 0}.fixed-action-btn.direction-right ul{text-align:left;direction:rtl;left:64px;right:auto}.fixed-action-btn.direction-right ul li{margin:7.5px 0 0 15px}.fixed-action-btn.direction-bottom{padding:0 0 15px 0}.fixed-action-btn.direction-bottom ul{top:64px;bottom:auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:reverse;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.fixed-action-btn.direction-bottom ul li{margin:15px 0 0 0}.fixed-action-btn.toolbar{padding:0;height:56px}.fixed-action-btn.toolbar.active>a i{opacity:0}.fixed-action-btn.toolbar ul{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;top:0;bottom:0;z-index:1}.fixed-action-btn.toolbar ul li{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;display:inline-block;margin:0;height:100%;-webkit-transition:none;transition:none}.fixed-action-btn.toolbar ul li a{display:block;overflow:hidden;position:relative;width:100%;height:100%;background-color:transparent;-webkit-box-shadow:none;box-shadow:none;color:#fff;line-height:56px;z-index:1}.fixed-action-btn.toolbar ul li a i{line-height:inherit}.fixed-action-btn ul{left:0;right:0;text-align:center;position:absolute;bottom:64px;margin:0;visibility:hidden}.fixed-action-btn ul li{margin-bottom:15px}.fixed-action-btn ul a.btn-floating{opacity:0}.fixed-action-btn .fab-backdrop{position:absolute;top:0;left:0;z-index:-1;width:40px;height:40px;background-color:#26a69a;border-radius:50%;-webkit-transform:scale(0);transform:scale(0)}.btn-flat{-webkit-box-shadow:none;box-shadow:none;background-color:transparent;color:#343434;cursor:pointer;-webkit-transition:background-color .2s;transition:background-color .2s}.btn-flat:focus,.btn-flat:hover{-webkit-box-shadow:none;box-shadow:none}.btn-flat:focus{background-color:rgba(0,0,0,0.1)}.btn-flat.disabled,.btn-flat.btn-flat[disabled]{background-color:transparent !important;color:#b3b2b2 !important;cursor:default}.btn-large{height:54px;line-height:54px;font-size:15px;padding:0 28px}.btn-large i{font-size:1.6rem}.btn-small{height:32.4px;line-height:32.4px;font-size:13px}.btn-small i{font-size:1.2rem}.btn-block{display:block}.dropdown-content{background-color:#fff;margin:0;display:none;min-width:100px;overflow-y:auto;opacity:0;position:absolute;left:0;top:0;z-index:9999;-webkit-transform-origin:0 0;transform-origin:0 0}.dropdown-content:focus{outline:0}.dropdown-content li{clear:both;color:rgba(0,0,0,0.87);cursor:pointer;min-height:50px;line-height:1.5rem;width:100%;text-align:left}.dropdown-content li:hover,.dropdown-content li.active{background-color:#eee}.dropdown-content li:focus{outline:none}.dropdown-content li.divider{min-height:0;height:1px}.dropdown-content li>a,.dropdown-content li>span{font-size:16px;color:#26a69a;display:block;line-height:22px;padding:14px 16px}.dropdown-content li>span>label{top:1px;left:0;height:18px}.dropdown-content li>a>i{height:inherit;line-height:inherit;float:left;margin:0 24px 0 0;width:24px}body.keyboard-focused .dropdown-content li:focus{background-color:#dadada}.input-field.col .dropdown-content [type="checkbox"]+label{top:1px;left:0;height:18px;-webkit-transform:none;transform:none}.dropdown-trigger{cursor:pointer}/*!
|
7 |
* Waves v0.6.0
|
8 |
* http://fian.my.id/Waves
|
9 |
*
|
10 |
* Copyright 2014 Alfiana E. Sibuea and other contributors
|
11 |
* Released under the MIT license
|
12 |
* https://github.com/fians/Waves/blob/master/LICENSE
|
13 |
+
*/.waves-effect{position:relative;cursor:pointer;display:inline-block;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;vertical-align:middle;z-index:1;-webkit-transition:.3s ease-out;transition:.3s ease-out}.waves-effect .waves-ripple{position:absolute;border-radius:50%;width:20px;height:20px;margin-top:-10px;margin-left:-10px;opacity:0;background:rgba(0,0,0,0.2);-webkit-transition:all 0.7s ease-out;transition:all 0.7s ease-out;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;-webkit-transform:scale(0);transform:scale(0);pointer-events:none}.waves-effect.waves-light .waves-ripple{background-color:rgba(255,255,255,0.45)}.waves-effect.waves-red .waves-ripple{background-color:rgba(244,67,54,0.7)}.waves-effect.waves-yellow .waves-ripple{background-color:rgba(255,235,59,0.7)}.waves-effect.waves-orange .waves-ripple{background-color:rgba(255,152,0,0.7)}.waves-effect.waves-purple .waves-ripple{background-color:rgba(156,39,176,0.7)}.waves-effect.waves-green .waves-ripple{background-color:rgba(76,175,80,0.7)}.waves-effect.waves-teal .waves-ripple{background-color:rgba(0,150,136,0.7)}.waves-effect input[type="button"],.waves-effect input[type="reset"],.waves-effect input[type="submit"]{border:0;font-style:normal;font-size:inherit;text-transform:inherit;background:none}.waves-effect img{position:relative;z-index:-1}.waves-notransition{-webkit-transition:none !important;transition:none !important}.waves-circle{-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-mask-image:-webkit-radial-gradient(circle, white 100%, black 100%)}.waves-input-wrapper{border-radius:0.2em;vertical-align:bottom}.waves-input-wrapper .waves-button-input{position:relative;top:0;left:0;z-index:1}.waves-circle{text-align:center;width:2.5em;height:2.5em;line-height:2.5em;border-radius:50%;-webkit-mask-image:none}.waves-block{display:block}.waves-effect .waves-ripple{z-index:-1}.modal{display:none;position:fixed;left:0;right:0;background-color:#fafafa;padding:0;max-height:70%;width:55%;margin:auto;overflow-y:auto;border-radius:2px;will-change:top, opacity}.modal:focus{outline:none}@media only screen and (max-width: 992px){.modal{width:80%}}.modal h1,.modal h2,.modal h3,.modal h4{margin-top:0}.modal .modal-content{padding:24px}.modal .modal-close{cursor:pointer}.modal .modal-footer{border-radius:0 0 2px 2px;background-color:#fafafa;padding:4px 6px;height:56px;width:100%;text-align:right}.modal .modal-footer .btn,.modal .modal-footer .btn-large,.modal .modal-footer .btn-small,.modal .modal-footer .btn-flat{margin:6px 0}.modal-overlay{position:fixed;z-index:999;top:-25%;left:0;bottom:0;right:0;height:125%;width:100%;background:#000;display:none;will-change:opacity}.modal.modal-fixed-footer{padding:0;height:70%}.modal.modal-fixed-footer .modal-content{position:absolute;height:calc(100% - 56px);max-height:100%;width:100%;overflow-y:auto}.modal.modal-fixed-footer .modal-footer{border-top:1px solid rgba(0,0,0,0.1);position:absolute;bottom:0}.modal.bottom-sheet{top:auto;bottom:-100%;margin:0;width:100%;max-height:45%;border-radius:0;will-change:bottom, opacity}.collapsible{border-top:1px solid #ddd;border-right:1px solid #ddd;border-left:1px solid #ddd;margin:.5rem 0 1rem 0}.collapsible-header{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;cursor:pointer;-webkit-tap-highlight-color:transparent;line-height:1.5;padding:1rem;background-color:#fff;border-bottom:1px solid #ddd}.collapsible-header:focus{outline:0}.collapsible-header i{width:2rem;font-size:1.6rem;display:inline-block;text-align:center;margin-right:1rem}.keyboard-focused .collapsible-header:focus{background-color:#eee}.collapsible-body{display:none;border-bottom:1px solid #ddd;-webkit-box-sizing:border-box;box-sizing:border-box;padding:2rem}.sidenav .collapsible,.sidenav.fixed .collapsible{border:none;-webkit-box-shadow:none;box-shadow:none}.sidenav .collapsible li,.sidenav.fixed .collapsible li{padding:0}.sidenav .collapsible-header,.sidenav.fixed .collapsible-header{background-color:transparent;border:none;line-height:inherit;height:inherit;padding:0 16px}.sidenav .collapsible-header:hover,.sidenav.fixed .collapsible-header:hover{background-color:rgba(0,0,0,0.05)}.sidenav .collapsible-header i,.sidenav.fixed .collapsible-header i{line-height:inherit}.sidenav .collapsible-body,.sidenav.fixed .collapsible-body{border:0;background-color:#fff}.sidenav .collapsible-body li a,.sidenav.fixed .collapsible-body li a{padding:0 23.5px 0 31px}.collapsible.popout{border:none;-webkit-box-shadow:none;box-shadow:none}.collapsible.popout>li{-webkit-box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);margin:0 24px;-webkit-transition:margin 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);transition:margin 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94)}.collapsible.popout>li.active{-webkit-box-shadow:0 5px 11px 0 rgba(0,0,0,0.18),0 4px 15px 0 rgba(0,0,0,0.15);box-shadow:0 5px 11px 0 rgba(0,0,0,0.18),0 4px 15px 0 rgba(0,0,0,0.15);margin:16px 0}.chip{display:inline-block;height:32px;font-size:13px;font-weight:500;color:rgba(0,0,0,0.6);line-height:32px;padding:0 12px;border-radius:16px;background-color:#e4e4e4;margin-bottom:5px;margin-right:5px}.chip:focus{outline:none;background-color:#26a69a;color:#fff}.chip>img{float:left;margin:0 8px 0 -12px;height:32px;width:32px;border-radius:50%}.chip .close{cursor:pointer;float:right;font-size:16px;line-height:32px;padding-left:8px}.chips{border:none;border-bottom:1px solid #9e9e9e;-webkit-box-shadow:none;box-shadow:none;margin:0 0 8px 0;min-height:45px;outline:none;-webkit-transition:all .3s;transition:all .3s}.chips.focus{border-bottom:1px solid #26a69a;-webkit-box-shadow:0 1px 0 0 #26a69a;box-shadow:0 1px 0 0 #26a69a}.chips:hover{cursor:text}.chips .input{background:none;border:0;color:rgba(0,0,0,0.6);display:inline-block;font-size:16px;height:3rem;line-height:32px;outline:0;margin:0;padding:0 !important;width:120px !important}.chips .input:focus{border:0 !important;-webkit-box-shadow:none !important;box-shadow:none !important}.chips .autocomplete-content{margin-top:0;margin-bottom:0}.prefix ~ .chips{margin-left:3rem;width:92%;width:calc(100% - 3rem)}.chips:empty ~ label{font-size:0.8rem;-webkit-transform:translateY(-140%);transform:translateY(-140%)}.materialboxed{display:block;cursor:-webkit-zoom-in;cursor:zoom-in;position:relative;-webkit-transition:opacity .4s;transition:opacity .4s;-webkit-backface-visibility:hidden}.materialboxed:hover:not(.active){opacity:.8}.materialboxed.active{cursor:-webkit-zoom-out;cursor:zoom-out}#materialbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#292929;z-index:1000;will-change:opacity}.materialbox-caption{position:fixed;display:none;color:#fff;line-height:50px;bottom:0;left:0;width:100%;text-align:center;padding:0% 15%;height:50px;z-index:1000;-webkit-font-smoothing:antialiased}select:focus{outline:1px solid #c9f3ef}button:focus{outline:none;background-color:#2ab7a9}label{font-size:.8rem;color:#9e9e9e}::-webkit-input-placeholder{color:#d1d1d1}::-moz-placeholder{color:#d1d1d1}:-ms-input-placeholder{color:#d1d1d1}::-ms-input-placeholder{color:#d1d1d1}::placeholder{color:#d1d1d1}input:not([type]),input[type=text]:not(.browser-default),input[type=password]:not(.browser-default),input[type=email]:not(.browser-default),input[type=url]:not(.browser-default),input[type=time]:not(.browser-default),input[type=date]:not(.browser-default),input[type=datetime]:not(.browser-default),input[type=datetime-local]:not(.browser-default),input[type=tel]:not(.browser-default),input[type=number]:not(.browser-default),input[type=search]:not(.browser-default),textarea.materialize-textarea{background-color:transparent;border:none;border-bottom:1px solid #9e9e9e;border-radius:0;outline:none;height:3rem;width:100%;font-size:16px;margin:0 0 8px 0;padding:0;-webkit-box-shadow:none;box-shadow:none;-webkit-box-sizing:content-box;box-sizing:content-box;-webkit-transition:border .3s, -webkit-box-shadow .3s;transition:border .3s, -webkit-box-shadow .3s;transition:box-shadow .3s, border .3s;transition:box-shadow .3s, border .3s, -webkit-box-shadow .3s}input:not([type]):disabled,input:not([type])[readonly="readonly"],input[type=text]:not(.browser-default):disabled,input[type=text]:not(.browser-default)[readonly="readonly"],input[type=password]:not(.browser-default):disabled,input[type=password]:not(.browser-default)[readonly="readonly"],input[type=email]:not(.browser-default):disabled,input[type=email]:not(.browser-default)[readonly="readonly"],input[type=url]:not(.browser-default):disabled,input[type=url]:not(.browser-default)[readonly="readonly"],input[type=time]:not(.browser-default):disabled,input[type=time]:not(.browser-default)[readonly="readonly"],input[type=date]:not(.browser-default):disabled,input[type=date]:not(.browser-default)[readonly="readonly"],input[type=datetime]:not(.browser-default):disabled,input[type=datetime]:not(.browser-default)[readonly="readonly"],input[type=datetime-local]:not(.browser-default):disabled,input[type=datetime-local]:not(.browser-default)[readonly="readonly"],input[type=tel]:not(.browser-default):disabled,input[type=tel]:not(.browser-default)[readonly="readonly"],input[type=number]:not(.browser-default):disabled,input[type=number]:not(.browser-default)[readonly="readonly"],input[type=search]:not(.browser-default):disabled,input[type=search]:not(.browser-default)[readonly="readonly"],textarea.materialize-textarea:disabled,textarea.materialize-textarea[readonly="readonly"]{color:rgba(0,0,0,0.42);border-bottom:1px dotted rgba(0,0,0,0.42)}input:not([type]):disabled+label,input:not([type])[readonly="readonly"]+label,input[type=text]:not(.browser-default):disabled+label,input[type=text]:not(.browser-default)[readonly="readonly"]+label,input[type=password]:not(.browser-default):disabled+label,input[type=password]:not(.browser-default)[readonly="readonly"]+label,input[type=email]:not(.browser-default):disabled+label,input[type=email]:not(.browser-default)[readonly="readonly"]+label,input[type=url]:not(.browser-default):disabled+label,input[type=url]:not(.browser-default)[readonly="readonly"]+label,input[type=time]:not(.browser-default):disabled+label,input[type=time]:not(.browser-default)[readonly="readonly"]+label,input[type=date]:not(.browser-default):disabled+label,input[type=date]:not(.browser-default)[readonly="readonly"]+label,input[type=datetime]:not(.browser-default):disabled+label,input[type=datetime]:not(.browser-default)[readonly="readonly"]+label,input[type=datetime-local]:not(.browser-default):disabled+label,input[type=datetime-local]:not(.browser-default)[readonly="readonly"]+label,input[type=tel]:not(.browser-default):disabled+label,input[type=tel]:not(.browser-default)[readonly="readonly"]+label,input[type=number]:not(.browser-default):disabled+label,input[type=number]:not(.browser-default)[readonly="readonly"]+label,input[type=search]:not(.browser-default):disabled+label,input[type=search]:not(.browser-default)[readonly="readonly"]+label,textarea.materialize-textarea:disabled+label,textarea.materialize-textarea[readonly="readonly"]+label{color:rgba(0,0,0,0.42)}input:not([type]):focus:not([readonly]),input[type=text]:not(.browser-default):focus:not([readonly]),input[type=password]:not(.browser-default):focus:not([readonly]),input[type=email]:not(.browser-default):focus:not([readonly]),input[type=url]:not(.browser-default):focus:not([readonly]),input[type=time]:not(.browser-default):focus:not([readonly]),input[type=date]:not(.browser-default):focus:not([readonly]),input[type=datetime]:not(.browser-default):focus:not([readonly]),input[type=datetime-local]:not(.browser-default):focus:not([readonly]),input[type=tel]:not(.browser-default):focus:not([readonly]),input[type=number]:not(.browser-default):focus:not([readonly]),input[type=search]:not(.browser-default):focus:not([readonly]),textarea.materialize-textarea:focus:not([readonly]){border-bottom:1px solid #26a69a;-webkit-box-shadow:0 1px 0 0 #26a69a;box-shadow:0 1px 0 0 #26a69a}input:not([type]):focus:not([readonly])+label,input[type=text]:not(.browser-default):focus:not([readonly])+label,input[type=password]:not(.browser-default):focus:not([readonly])+label,input[type=email]:not(.browser-default):focus:not([readonly])+label,input[type=url]:not(.browser-default):focus:not([readonly])+label,input[type=time]:not(.browser-default):focus:not([readonly])+label,input[type=date]:not(.browser-default):focus:not([readonly])+label,input[type=datetime]:not(.browser-default):focus:not([readonly])+label,input[type=datetime-local]:not(.browser-default):focus:not([readonly])+label,input[type=tel]:not(.browser-default):focus:not([readonly])+label,input[type=number]:not(.browser-default):focus:not([readonly])+label,input[type=search]:not(.browser-default):focus:not([readonly])+label,textarea.materialize-textarea:focus:not([readonly])+label{color:#26a69a}input:not([type]):focus.valid ~ label,input[type=text]:not(.browser-default):focus.valid ~ label,input[type=password]:not(.browser-default):focus.valid ~ label,input[type=email]:not(.browser-default):focus.valid ~ label,input[type=url]:not(.browser-default):focus.valid ~ label,input[type=time]:not(.browser-default):focus.valid ~ label,input[type=date]:not(.browser-default):focus.valid ~ label,input[type=datetime]:not(.browser-default):focus.valid ~ label,input[type=datetime-local]:not(.browser-default):focus.valid ~ label,input[type=tel]:not(.browser-default):focus.valid ~ label,input[type=number]:not(.browser-default):focus.valid ~ label,input[type=search]:not(.browser-default):focus.valid ~ label,textarea.materialize-textarea:focus.valid ~ label{color:#4CAF50}input:not([type]):focus.invalid ~ label,input[type=text]:not(.browser-default):focus.invalid ~ label,input[type=password]:not(.browser-default):focus.invalid ~ label,input[type=email]:not(.browser-default):focus.invalid ~ label,input[type=url]:not(.browser-default):focus.invalid ~ label,input[type=time]:not(.browser-default):focus.invalid ~ label,input[type=date]:not(.browser-default):focus.invalid ~ label,input[type=datetime]:not(.browser-default):focus.invalid ~ label,input[type=datetime-local]:not(.browser-default):focus.invalid ~ label,input[type=tel]:not(.browser-default):focus.invalid ~ label,input[type=number]:not(.browser-default):focus.invalid ~ label,input[type=search]:not(.browser-default):focus.invalid ~ label,textarea.materialize-textarea:focus.invalid ~ label{color:#F44336}input:not([type]).validate+label,input[type=text]:not(.browser-default).validate+label,input[type=password]:not(.browser-default).validate+label,input[type=email]:not(.browser-default).validate+label,input[type=url]:not(.browser-default).validate+label,input[type=time]:not(.browser-default).validate+label,input[type=date]:not(.browser-default).validate+label,input[type=datetime]:not(.browser-default).validate+label,input[type=datetime-local]:not(.browser-default).validate+label,input[type=tel]:not(.browser-default).validate+label,input[type=number]:not(.browser-default).validate+label,input[type=search]:not(.browser-default).validate+label,textarea.materialize-textarea.validate+label{width:100%}input.valid:not([type]),input.valid:not([type]):focus,input.valid[type=text]:not(.browser-default),input.valid[type=text]:not(.browser-default):focus,input.valid[type=password]:not(.browser-default),input.valid[type=password]:not(.browser-default):focus,input.valid[type=email]:not(.browser-default),input.valid[type=email]:not(.browser-default):focus,input.valid[type=url]:not(.browser-default),input.valid[type=url]:not(.browser-default):focus,input.valid[type=time]:not(.browser-default),input.valid[type=time]:not(.browser-default):focus,input.valid[type=date]:not(.browser-default),input.valid[type=date]:not(.browser-default):focus,input.valid[type=datetime]:not(.browser-default),input.valid[type=datetime]:not(.browser-default):focus,input.valid[type=datetime-local]:not(.browser-default),input.valid[type=datetime-local]:not(.browser-default):focus,input.valid[type=tel]:not(.browser-default),input.valid[type=tel]:not(.browser-default):focus,input.valid[type=number]:not(.browser-default),input.valid[type=number]:not(.browser-default):focus,input.valid[type=search]:not(.browser-default),input.valid[type=search]:not(.browser-default):focus,textarea.materialize-textarea.valid,textarea.materialize-textarea.valid:focus,.select-wrapper.valid>input.select-dropdown{border-bottom:1px solid #4CAF50;-webkit-box-shadow:0 1px 0 0 #4CAF50;box-shadow:0 1px 0 0 #4CAF50}input.invalid:not([type]),input.invalid:not([type]):focus,input.invalid[type=text]:not(.browser-default),input.invalid[type=text]:not(.browser-default):focus,input.invalid[type=password]:not(.browser-default),input.invalid[type=password]:not(.browser-default):focus,input.invalid[type=email]:not(.browser-default),input.invalid[type=email]:not(.browser-default):focus,input.invalid[type=url]:not(.browser-default),input.invalid[type=url]:not(.browser-default):focus,input.invalid[type=time]:not(.browser-default),input.invalid[type=time]:not(.browser-default):focus,input.invalid[type=date]:not(.browser-default),input.invalid[type=date]:not(.browser-default):focus,input.invalid[type=datetime]:not(.browser-default),input.invalid[type=datetime]:not(.browser-default):focus,input.invalid[type=datetime-local]:not(.browser-default),input.invalid[type=datetime-local]:not(.browser-default):focus,input.invalid[type=tel]:not(.browser-default),input.invalid[type=tel]:not(.browser-default):focus,input.invalid[type=number]:not(.browser-default),input.invalid[type=number]:not(.browser-default):focus,input.invalid[type=search]:not(.browser-default),input.invalid[type=search]:not(.browser-default):focus,textarea.materialize-textarea.invalid,textarea.materialize-textarea.invalid:focus,.select-wrapper.invalid>input.select-dropdown,.select-wrapper.invalid>input.select-dropdown:focus{border-bottom:1px solid #F44336;-webkit-box-shadow:0 1px 0 0 #F44336;box-shadow:0 1px 0 0 #F44336}input:not([type]).valid ~ .helper-text[data-success],input:not([type]):focus.valid ~ .helper-text[data-success],input:not([type]).invalid ~ .helper-text[data-error],input:not([type]):focus.invalid ~ .helper-text[data-error],input[type=text]:not(.browser-default).valid ~ .helper-text[data-success],input[type=text]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=text]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=text]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=password]:not(.browser-default).valid ~ .helper-text[data-success],input[type=password]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=password]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=password]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=email]:not(.browser-default).valid ~ .helper-text[data-success],input[type=email]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=email]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=email]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=url]:not(.browser-default).valid ~ .helper-text[data-success],input[type=url]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=url]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=url]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=time]:not(.browser-default).valid ~ .helper-text[data-success],input[type=time]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=time]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=time]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=date]:not(.browser-default).valid ~ .helper-text[data-success],input[type=date]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=date]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=date]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=datetime]:not(.browser-default).valid ~ .helper-text[data-success],input[type=datetime]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=datetime]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=datetime]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=datetime-local]:not(.browser-default).valid ~ .helper-text[data-success],input[type=datetime-local]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=datetime-local]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=datetime-local]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=tel]:not(.browser-default).valid ~ .helper-text[data-success],input[type=tel]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=tel]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=tel]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=number]:not(.browser-default).valid ~ .helper-text[data-success],input[type=number]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=number]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=number]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=search]:not(.browser-default).valid ~ .helper-text[data-success],input[type=search]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=search]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=search]:not(.browser-default):focus.invalid ~ .helper-text[data-error],textarea.materialize-textarea.valid ~ .helper-text[data-success],textarea.materialize-textarea:focus.valid ~ .helper-text[data-success],textarea.materialize-textarea.invalid ~ .helper-text[data-error],textarea.materialize-textarea:focus.invalid ~ .helper-text[data-error],.select-wrapper.valid .helper-text[data-success],.select-wrapper.invalid ~ .helper-text[data-error]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input:not([type]).valid ~ .helper-text:after,input:not([type]):focus.valid ~ .helper-text:after,input[type=text]:not(.browser-default).valid ~ .helper-text:after,input[type=text]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=password]:not(.browser-default).valid ~ .helper-text:after,input[type=password]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=email]:not(.browser-default).valid ~ .helper-text:after,input[type=email]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=url]:not(.browser-default).valid ~ .helper-text:after,input[type=url]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=time]:not(.browser-default).valid ~ .helper-text:after,input[type=time]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=date]:not(.browser-default).valid ~ .helper-text:after,input[type=date]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=datetime]:not(.browser-default).valid ~ .helper-text:after,input[type=datetime]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=datetime-local]:not(.browser-default).valid ~ .helper-text:after,input[type=datetime-local]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=tel]:not(.browser-default).valid ~ .helper-text:after,input[type=tel]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=number]:not(.browser-default).valid ~ .helper-text:after,input[type=number]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=search]:not(.browser-default).valid ~ .helper-text:after,input[type=search]:not(.browser-default):focus.valid ~ .helper-text:after,textarea.materialize-textarea.valid ~ .helper-text:after,textarea.materialize-textarea:focus.valid ~ .helper-text:after,.select-wrapper.valid ~ .helper-text:after{content:attr(data-success);color:#4CAF50}input:not([type]).invalid ~ .helper-text:after,input:not([type]):focus.invalid ~ .helper-text:after,input[type=text]:not(.browser-default).invalid ~ .helper-text:after,input[type=text]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=password]:not(.browser-default).invalid ~ .helper-text:after,input[type=password]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=email]:not(.browser-default).invalid ~ .helper-text:after,input[type=email]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=url]:not(.browser-default).invalid ~ .helper-text:after,input[type=url]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=time]:not(.browser-default).invalid ~ .helper-text:after,input[type=time]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=date]:not(.browser-default).invalid ~ .helper-text:after,input[type=date]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=datetime]:not(.browser-default).invalid ~ .helper-text:after,input[type=datetime]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=datetime-local]:not(.browser-default).invalid ~ .helper-text:after,input[type=datetime-local]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=tel]:not(.browser-default).invalid ~ .helper-text:after,input[type=tel]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=number]:not(.browser-default).invalid ~ .helper-text:after,input[type=number]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=search]:not(.browser-default).invalid ~ .helper-text:after,input[type=search]:not(.browser-default):focus.invalid ~ .helper-text:after,textarea.materialize-textarea.invalid ~ .helper-text:after,textarea.materialize-textarea:focus.invalid ~ .helper-text:after,.select-wrapper.invalid ~ .helper-text:after{content:attr(data-error);color:#F44336}input:not([type])+label:after,input[type=text]:not(.browser-default)+label:after,input[type=password]:not(.browser-default)+label:after,input[type=email]:not(.browser-default)+label:after,input[type=url]:not(.browser-default)+label:after,input[type=time]:not(.browser-default)+label:after,input[type=date]:not(.browser-default)+label:after,input[type=datetime]:not(.browser-default)+label:after,input[type=datetime-local]:not(.browser-default)+label:after,input[type=tel]:not(.browser-default)+label:after,input[type=number]:not(.browser-default)+label:after,input[type=search]:not(.browser-default)+label:after,textarea.materialize-textarea+label:after,.select-wrapper+label:after{display:block;content:"";position:absolute;top:100%;left:0;opacity:0;-webkit-transition:.2s opacity ease-out, .2s color ease-out;transition:.2s opacity ease-out, .2s color ease-out}.input-field{position:relative;margin-top:1rem;margin-bottom:1rem}.input-field.inline{display:inline-block;vertical-align:middle;margin-left:5px}.input-field.inline input,.input-field.inline .select-dropdown{margin-bottom:1rem}.input-field.col label{left:.75rem}.input-field.col .prefix ~ label,.input-field.col .prefix ~ .validate ~ label{width:calc(100% - 3rem - 1.5rem)}.input-field>label{color:#9e9e9e;position:absolute;top:0;left:0;font-size:1rem;cursor:text;-webkit-transition:color .2s ease-out, -webkit-transform .2s ease-out;transition:color .2s ease-out, -webkit-transform .2s ease-out;transition:transform .2s ease-out, color .2s ease-out;transition:transform .2s ease-out, color .2s ease-out, -webkit-transform .2s ease-out;-webkit-transform-origin:0% 100%;transform-origin:0% 100%;text-align:initial;-webkit-transform:translateY(12px);transform:translateY(12px)}.input-field>label:not(.label-icon).active{-webkit-transform:translateY(-14px) scale(0.8);transform:translateY(-14px) scale(0.8);-webkit-transform-origin:0 0;transform-origin:0 0}.input-field>input[type]:-webkit-autofill:not(.browser-default):not([type="search"])+label,.input-field>input[type=date]:not(.browser-default)+label,.input-field>input[type=time]:not(.browser-default)+label{-webkit-transform:translateY(-14px) scale(0.8);transform:translateY(-14px) scale(0.8);-webkit-transform-origin:0 0;transform-origin:0 0}.input-field .helper-text{position:relative;min-height:18px;display:block;font-size:12px;color:rgba(0,0,0,0.54)}.input-field .helper-text::after{opacity:1;position:absolute;top:0;left:0}.input-field .prefix{position:absolute;width:3rem;font-size:2rem;-webkit-transition:color .2s;transition:color .2s;top:.5rem}.input-field .prefix.active{color:#26a69a}.input-field .prefix ~ input,.input-field .prefix ~ textarea,.input-field .prefix ~ label,.input-field .prefix ~ .validate ~ label,.input-field .prefix ~ .helper-text,.input-field .prefix ~ .autocomplete-content{margin-left:3rem;width:92%;width:calc(100% - 3rem)}.input-field .prefix ~ label{margin-left:3rem}@media only screen and (max-width: 992px){.input-field .prefix ~ input{width:86%;width:calc(100% - 3rem)}}@media only screen and (max-width: 600px){.input-field .prefix ~ input{width:80%;width:calc(100% - 3rem)}}.input-field input[type=search]{display:block;line-height:inherit;-webkit-transition:.3s background-color;transition:.3s background-color}.nav-wrapper .input-field input[type=search]{height:inherit;padding-left:4rem;width:calc(100% - 4rem);border:0;-webkit-box-shadow:none;box-shadow:none}.input-field input[type=search]:focus:not(.browser-default){background-color:#fff;border:0;-webkit-box-shadow:none;box-shadow:none;color:#444}.input-field input[type=search]:focus:not(.browser-default)+label i,.input-field input[type=search]:focus:not(.browser-default) ~ .mdi-navigation-close,.input-field input[type=search]:focus:not(.browser-default) ~ .material-icons{color:#444}.input-field input[type=search]+.label-icon{-webkit-transform:none;transform:none;left:1rem}.input-field input[type=search] ~ .mdi-navigation-close,.input-field input[type=search] ~ .material-icons{position:absolute;top:0;right:1rem;color:transparent;cursor:pointer;font-size:2rem;-webkit-transition:.3s color;transition:.3s color}textarea{width:100%;height:3rem;background-color:transparent}textarea.materialize-textarea{line-height:normal;overflow-y:hidden;padding:.8rem 0 .8rem 0;resize:none;min-height:3rem;-webkit-box-sizing:border-box;box-sizing:border-box}.hiddendiv{visibility:hidden;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;padding-top:1.2rem;position:absolute;top:0;z-index:-1}.autocomplete-content li .highlight{color:#444}.autocomplete-content li img{height:40px;width:40px;margin:5px 15px}.character-counter{min-height:18px}[type="radio"]:not(:checked),[type="radio"]:checked{position:absolute;opacity:0;pointer-events:none}[type="radio"]:not(:checked)+span,[type="radio"]:checked+span{position:relative;padding-left:35px;cursor:pointer;display:inline-block;height:25px;line-height:25px;font-size:1rem;-webkit-transition:.28s ease;transition:.28s ease;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}[type="radio"]+span:before,[type="radio"]+span:after{content:'';position:absolute;left:0;top:0;margin:4px;width:16px;height:16px;z-index:0;-webkit-transition:.28s ease;transition:.28s ease}[type="radio"]:not(:checked)+span:before,[type="radio"]:not(:checked)+span:after,[type="radio"]:checked+span:before,[type="radio"]:checked+span:after,[type="radio"].with-gap:checked+span:before,[type="radio"].with-gap:checked+span:after{border-radius:50%}[type="radio"]:not(:checked)+span:before,[type="radio"]:not(:checked)+span:after{border:2px solid #5a5a5a}[type="radio"]:not(:checked)+span:after{-webkit-transform:scale(0);transform:scale(0)}[type="radio"]:checked+span:before{border:2px solid transparent}[type="radio"]:checked+span:after,[type="radio"].with-gap:checked+span:before,[type="radio"].with-gap:checked+span:after{border:2px solid #26a69a}[type="radio"]:checked+span:after,[type="radio"].with-gap:checked+span:after{background-color:#26a69a}[type="radio"]:checked+span:after{-webkit-transform:scale(1.02);transform:scale(1.02)}[type="radio"].with-gap:checked+span:after{-webkit-transform:scale(0.5);transform:scale(0.5)}[type="radio"].tabbed:focus+span:before{-webkit-box-shadow:0 0 0 10px rgba(0,0,0,0.1);box-shadow:0 0 0 10px rgba(0,0,0,0.1)}[type="radio"].with-gap:disabled:checked+span:before{border:2px solid rgba(0,0,0,0.42)}[type="radio"].with-gap:disabled:checked+span:after{border:none;background-color:rgba(0,0,0,0.42)}[type="radio"]:disabled:not(:checked)+span:before,[type="radio"]:disabled:checked+span:before{background-color:transparent;border-color:rgba(0,0,0,0.42)}[type="radio"]:disabled+span{color:rgba(0,0,0,0.42)}[type="radio"]:disabled:not(:checked)+span:before{border-color:rgba(0,0,0,0.42)}[type="radio"]:disabled:checked+span:after{background-color:rgba(0,0,0,0.42);border-color:#949494}[type="checkbox"]:not(:checked),[type="checkbox"]:checked{position:absolute;opacity:0;pointer-events:none}[type="checkbox"]+span:not(.lever){position:relative;padding-left:35px;cursor:pointer;display:inline-block;height:25px;line-height:25px;font-size:1rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}[type="checkbox"]+span:not(.lever):before,[type="checkbox"]:not(.filled-in)+span:not(.lever):after{content:'';position:absolute;top:0;left:0;width:18px;height:18px;z-index:0;border:2px solid #5a5a5a;border-radius:1px;margin-top:3px;-webkit-transition:.2s;transition:.2s}[type="checkbox"]:not(.filled-in)+span:not(.lever):after{border:0;-webkit-transform:scale(0);transform:scale(0)}[type="checkbox"]:not(:checked):disabled+span:not(.lever):before{border:none;background-color:rgba(0,0,0,0.42)}[type="checkbox"].tabbed:focus+span:not(.lever):after{-webkit-transform:scale(1);transform:scale(1);border:0;border-radius:50%;-webkit-box-shadow:0 0 0 10px rgba(0,0,0,0.1);box-shadow:0 0 0 10px rgba(0,0,0,0.1);background-color:rgba(0,0,0,0.1)}[type="checkbox"]:checked+span:not(.lever):before{top:-4px;left:-5px;width:12px;height:22px;border-top:2px solid transparent;border-left:2px solid transparent;border-right:2px solid #26a69a;border-bottom:2px solid #26a69a;-webkit-transform:rotate(40deg);transform:rotate(40deg);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-origin:100% 100%;transform-origin:100% 100%}[type="checkbox"]:checked:disabled+span:before{border-right:2px solid rgba(0,0,0,0.42);border-bottom:2px solid rgba(0,0,0,0.42)}[type="checkbox"]:indeterminate+span:not(.lever):before{top:-11px;left:-12px;width:10px;height:22px;border-top:none;border-left:none;border-right:2px solid #26a69a;border-bottom:none;-webkit-transform:rotate(90deg);transform:rotate(90deg);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-origin:100% 100%;transform-origin:100% 100%}[type="checkbox"]:indeterminate:disabled+span:not(.lever):before{border-right:2px solid rgba(0,0,0,0.42);background-color:transparent}[type="checkbox"].filled-in+span:not(.lever):after{border-radius:2px}[type="checkbox"].filled-in+span:not(.lever):before,[type="checkbox"].filled-in+span:not(.lever):after{content:'';left:0;position:absolute;-webkit-transition:border .25s, background-color .25s, width .20s .1s, height .20s .1s, top .20s .1s, left .20s .1s;transition:border .25s, background-color .25s, width .20s .1s, height .20s .1s, top .20s .1s, left .20s .1s;z-index:1}[type="checkbox"].filled-in:not(:checked)+span:not(.lever):before{width:0;height:0;border:3px solid transparent;left:6px;top:10px;-webkit-transform:rotateZ(37deg);transform:rotateZ(37deg);-webkit-transform-origin:100% 100%;transform-origin:100% 100%}[type="checkbox"].filled-in:not(:checked)+span:not(.lever):after{height:20px;width:20px;background-color:transparent;border:2px solid #5a5a5a;top:0px;z-index:0}[type="checkbox"].filled-in:checked+span:not(.lever):before{top:0;left:1px;width:8px;height:13px;border-top:2px solid transparent;border-left:2px solid transparent;border-right:2px solid #fff;border-bottom:2px solid #fff;-webkit-transform:rotateZ(37deg);transform:rotateZ(37deg);-webkit-transform-origin:100% 100%;transform-origin:100% 100%}[type="checkbox"].filled-in:checked+span:not(.lever):after{top:0;width:20px;height:20px;border:2px solid #26a69a;background-color:#26a69a;z-index:0}[type="checkbox"].filled-in.tabbed:focus+span:not(.lever):after{border-radius:2px;border-color:#5a5a5a;background-color:rgba(0,0,0,0.1)}[type="checkbox"].filled-in.tabbed:checked:focus+span:not(.lever):after{border-radius:2px;background-color:#26a69a;border-color:#26a69a}[type="checkbox"].filled-in:disabled:not(:checked)+span:not(.lever):before{background-color:transparent;border:2px solid transparent}[type="checkbox"].filled-in:disabled:not(:checked)+span:not(.lever):after{border-color:transparent;background-color:#949494}[type="checkbox"].filled-in:disabled:checked+span:not(.lever):before{background-color:transparent}[type="checkbox"].filled-in:disabled:checked+span:not(.lever):after{background-color:#949494;border-color:#949494}.switch,.switch *{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.switch label{cursor:pointer}.switch label input[type=checkbox]{opacity:0;width:0;height:0}.switch label input[type=checkbox]:checked+.lever{background-color:#84c7c1}.switch label input[type=checkbox]:checked+.lever:before,.switch label input[type=checkbox]:checked+.lever:after{left:18px}.switch label input[type=checkbox]:checked+.lever:after{background-color:#26a69a}.switch label .lever{content:"";display:inline-block;position:relative;width:36px;height:14px;background-color:rgba(0,0,0,0.38);border-radius:15px;margin-right:10px;-webkit-transition:background 0.3s ease;transition:background 0.3s ease;vertical-align:middle;margin:0 16px}.switch label .lever:before,.switch label .lever:after{content:"";position:absolute;display:inline-block;width:20px;height:20px;border-radius:50%;left:0;top:-3px;-webkit-transition:left 0.3s ease, background .3s ease, -webkit-box-shadow 0.1s ease, -webkit-transform .1s ease;transition:left 0.3s ease, background .3s ease, -webkit-box-shadow 0.1s ease, -webkit-transform .1s ease;transition:left 0.3s ease, background .3s ease, box-shadow 0.1s ease, transform .1s ease;transition:left 0.3s ease, background .3s ease, box-shadow 0.1s ease, transform .1s ease, -webkit-box-shadow 0.1s ease, -webkit-transform .1s ease}.switch label .lever:before{background-color:rgba(38,166,154,0.15)}.switch label .lever:after{background-color:#F1F1F1;-webkit-box-shadow:0px 3px 1px -2px rgba(0,0,0,0.2),0px 2px 2px 0px rgba(0,0,0,0.14),0px 1px 5px 0px rgba(0,0,0,0.12);box-shadow:0px 3px 1px -2px rgba(0,0,0,0.2),0px 2px 2px 0px rgba(0,0,0,0.14),0px 1px 5px 0px rgba(0,0,0,0.12)}input[type=checkbox]:checked:not(:disabled) ~ .lever:active::before,input[type=checkbox]:checked:not(:disabled).tabbed:focus ~ .lever::before{-webkit-transform:scale(2.4);transform:scale(2.4);background-color:rgba(38,166,154,0.15)}input[type=checkbox]:not(:disabled) ~ .lever:active:before,input[type=checkbox]:not(:disabled).tabbed:focus ~ .lever::before{-webkit-transform:scale(2.4);transform:scale(2.4);background-color:rgba(0,0,0,0.08)}.switch input[type=checkbox][disabled]+.lever{cursor:default;background-color:rgba(0,0,0,0.12)}.switch label input[type=checkbox][disabled]+.lever:after,.switch label input[type=checkbox][disabled]:checked+.lever:after{background-color:#949494}select{display:none}select.browser-default{display:block}select{background-color:rgba(255,255,255,0.9);width:100%;padding:5px;border:1px solid #f2f2f2;border-radius:2px;height:3rem}.select-label{position:absolute}.select-wrapper{position:relative}.select-wrapper.valid+label,.select-wrapper.invalid+label{width:100%;pointer-events:none}.select-wrapper input.select-dropdown{position:relative;cursor:pointer;background-color:transparent;border:none;border-bottom:1px solid #9e9e9e;outline:none;height:3rem;line-height:3rem;width:100%;font-size:16px;margin:0 0 8px 0;padding:0;display:block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1}.select-wrapper input.select-dropdown:focus{border-bottom:1px solid #26a69a}.select-wrapper .caret{position:absolute;right:0;top:0;bottom:0;margin:auto 0;z-index:0;fill:rgba(0,0,0,0.87)}.select-wrapper+label{position:absolute;top:-26px;font-size:.8rem}select:disabled{color:rgba(0,0,0,0.42)}.select-wrapper.disabled+label{color:rgba(0,0,0,0.42)}.select-wrapper.disabled .caret{fill:rgba(0,0,0,0.42)}.select-wrapper input.select-dropdown:disabled{color:rgba(0,0,0,0.42);cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select-wrapper i{color:rgba(0,0,0,0.3)}.select-dropdown li.disabled,.select-dropdown li.disabled>span,.select-dropdown li.optgroup{color:rgba(0,0,0,0.3);background-color:transparent}body.keyboard-focused .select-dropdown.dropdown-content li:focus{background-color:rgba(0,0,0,0.08)}.select-dropdown.dropdown-content li:hover{background-color:rgba(0,0,0,0.08)}.select-dropdown.dropdown-content li.selected{background-color:rgba(0,0,0,0.03)}.prefix ~ .select-wrapper{margin-left:3rem;width:92%;width:calc(100% - 3rem)}.prefix ~ label{margin-left:3rem}.select-dropdown li img{height:40px;width:40px;margin:5px 15px;float:right}.select-dropdown li.optgroup{border-top:1px solid #eee}.select-dropdown li.optgroup.selected>span{color:rgba(0,0,0,0.7)}.select-dropdown li.optgroup>span{color:rgba(0,0,0,0.4)}.select-dropdown li.optgroup ~ li.optgroup-option{padding-left:1rem}.file-field{position:relative}.file-field .file-path-wrapper{overflow:hidden;padding-left:10px}.file-field input.file-path{width:100%}.file-field .btn,.file-field .btn-large,.file-field .btn-small{float:left;height:3rem;line-height:3rem}.file-field span{cursor:pointer}.file-field input[type=file]{position:absolute;top:0;right:0;left:0;bottom:0;width:100%;margin:0;padding:0;font-size:20px;cursor:pointer;opacity:0;filter:alpha(opacity=0)}.file-field input[type=file]::-webkit-file-upload-button{display:none}.range-field{position:relative}input[type=range],input[type=range]+.thumb{cursor:pointer}input[type=range]{position:relative;background-color:transparent;border:none;outline:none;width:100%;margin:15px 0;padding:0}input[type=range]:focus{outline:none}input[type=range]+.thumb{position:absolute;top:10px;left:0;border:none;height:0;width:0;border-radius:50%;background-color:#26a69a;margin-left:7px;-webkit-transform-origin:50% 50%;transform-origin:50% 50%;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}input[type=range]+.thumb .value{display:block;width:30px;text-align:center;color:#26a69a;font-size:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}input[type=range]+.thumb.active{border-radius:50% 50% 50% 0}input[type=range]+.thumb.active .value{color:#fff;margin-left:-1px;margin-top:8px;font-size:10px}input[type=range]{-webkit-appearance:none}input[type=range]::-webkit-slider-runnable-track{height:3px;background:#c2c0c2;border:none}input[type=range]::-webkit-slider-thumb{border:none;height:14px;width:14px;border-radius:50%;background:#26a69a;-webkit-transition:-webkit-box-shadow .3s;transition:-webkit-box-shadow .3s;transition:box-shadow .3s;transition:box-shadow .3s, -webkit-box-shadow .3s;-webkit-appearance:none;background-color:#26a69a;-webkit-transform-origin:50% 50%;transform-origin:50% 50%;margin:-5px 0 0 0}.keyboard-focused input[type=range]:focus:not(.active)::-webkit-slider-thumb{-webkit-box-shadow:0 0 0 10px rgba(38,166,154,0.26);box-shadow:0 0 0 10px rgba(38,166,154,0.26)}input[type=range]{border:1px solid white}input[type=range]::-moz-range-track{height:3px;background:#c2c0c2;border:none}input[type=range]::-moz-focus-inner{border:0}input[type=range]::-moz-range-thumb{border:none;height:14px;width:14px;border-radius:50%;background:#26a69a;-webkit-transition:-webkit-box-shadow .3s;transition:-webkit-box-shadow .3s;transition:box-shadow .3s;transition:box-shadow .3s, -webkit-box-shadow .3s;margin-top:-5px}input[type=range]:-moz-focusring{outline:1px solid #fff;outline-offset:-1px}.keyboard-focused input[type=range]:focus:not(.active)::-moz-range-thumb{box-shadow:0 0 0 10px rgba(38,166,154,0.26)}input[type=range]::-ms-track{height:3px;background:transparent;border-color:transparent;border-width:6px 0;color:transparent}input[type=range]::-ms-fill-lower{background:#777}input[type=range]::-ms-fill-upper{background:#ddd}input[type=range]::-ms-thumb{border:none;height:14px;width:14px;border-radius:50%;background:#26a69a;-webkit-transition:-webkit-box-shadow .3s;transition:-webkit-box-shadow .3s;transition:box-shadow .3s;transition:box-shadow .3s, -webkit-box-shadow .3s}.keyboard-focused input[type=range]:focus:not(.active)::-ms-thumb{box-shadow:0 0 0 10px rgba(38,166,154,0.26)}.table-of-contents.fixed{position:fixed}.table-of-contents li{padding:2px 0}.table-of-contents a{display:inline-block;font-weight:300;color:#757575;padding-left:16px;height:1.5rem;line-height:1.5rem;letter-spacing:.4;display:inline-block}.table-of-contents a:hover{color:#a8a8a8;padding-left:15px;border-left:1px solid #ee6e73}.table-of-contents a.active{font-weight:500;padding-left:14px;border-left:2px solid #ee6e73}.sidenav{position:fixed;width:300px;left:0;top:0;margin:0;-webkit-transform:translateX(-100%);transform:translateX(-100%);height:100%;height:calc(100% + 60px);height:-moz-calc(100%);padding-bottom:60px;background-color:#fff;z-index:999;overflow-y:auto;will-change:transform;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translateX(-105%);transform:translateX(-105%)}.sidenav.right-aligned{right:0;-webkit-transform:translateX(105%);transform:translateX(105%);left:auto;-webkit-transform:translateX(100%);transform:translateX(100%)}.sidenav .collapsible{margin:0}.sidenav li{float:none;line-height:48px}.sidenav li.active{background-color:rgba(0,0,0,0.05)}.sidenav li>a{color:rgba(0,0,0,0.87);display:block;font-size:14px;font-weight:500;height:48px;line-height:48px;padding:0 32px}.sidenav li>a:hover{background-color:rgba(0,0,0,0.05)}.sidenav li>a.btn,.sidenav li>a.btn-large,.sidenav li>a.btn-small,.sidenav li>a.btn-large,.sidenav li>a.btn-flat,.sidenav li>a.btn-floating{margin:10px 15px}.sidenav li>a.btn,.sidenav li>a.btn-large,.sidenav li>a.btn-small,.sidenav li>a.btn-large,.sidenav li>a.btn-floating{color:#fff}.sidenav li>a.btn-flat{color:#343434}.sidenav li>a.btn:hover,.sidenav li>a.btn-large:hover,.sidenav li>a.btn-small:hover,.sidenav li>a.btn-large:hover{background-color:#2bbbad}.sidenav li>a.btn-floating:hover{background-color:#26a69a}.sidenav li>a>i,.sidenav li>a>[class^="mdi-"],.sidenav li>a li>a>[class*="mdi-"],.sidenav li>a>i.material-icons{float:left;height:48px;line-height:48px;margin:0 32px 0 0;width:24px;color:rgba(0,0,0,0.54)}.sidenav .divider{margin:8px 0 0 0}.sidenav .subheader{cursor:initial;pointer-events:none;color:rgba(0,0,0,0.54);font-size:14px;font-weight:500;line-height:48px}.sidenav .subheader:hover{background-color:transparent}.sidenav .user-view{position:relative;padding:32px 32px 0;margin-bottom:8px}.sidenav .user-view>a{height:auto;padding:0}.sidenav .user-view>a:hover{background-color:transparent}.sidenav .user-view .background{overflow:hidden;position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1}.sidenav .user-view .circle,.sidenav .user-view .name,.sidenav .user-view .email{display:block}.sidenav .user-view .circle{height:64px;width:64px}.sidenav .user-view .name,.sidenav .user-view .email{font-size:14px;line-height:24px}.sidenav .user-view .name{margin-top:16px;font-weight:500}.sidenav .user-view .email{padding-bottom:16px;font-weight:400}.drag-target{height:100%;width:10px;position:fixed;top:0;z-index:998}.drag-target.right-aligned{right:0}.sidenav.sidenav-fixed{left:0;-webkit-transform:translateX(0);transform:translateX(0);position:fixed}.sidenav.sidenav-fixed.right-aligned{right:0;left:auto}@media only screen and (max-width: 992px){.sidenav.sidenav-fixed{-webkit-transform:translateX(-105%);transform:translateX(-105%)}.sidenav.sidenav-fixed.right-aligned{-webkit-transform:translateX(105%);transform:translateX(105%)}.sidenav>a{padding:0 16px}.sidenav .user-view{padding:16px 16px 0}}.sidenav .collapsible-body>ul:not(.collapsible)>li.active,.sidenav.sidenav-fixed .collapsible-body>ul:not(.collapsible)>li.active{background-color:#ee6e73}.sidenav .collapsible-body>ul:not(.collapsible)>li.active a,.sidenav.sidenav-fixed .collapsible-body>ul:not(.collapsible)>li.active a{color:#fff}.sidenav .collapsible-body{padding:0}.sidenav-overlay{position:fixed;top:0;left:0;right:0;opacity:0;height:120vh;background-color:rgba(0,0,0,0.5);z-index:997;display:none}.preloader-wrapper{display:inline-block;position:relative;width:50px;height:50px}.preloader-wrapper.small{width:36px;height:36px}.preloader-wrapper.big{width:64px;height:64px}.preloader-wrapper.active{-webkit-animation:container-rotate 1568ms linear infinite;animation:container-rotate 1568ms linear infinite}@-webkit-keyframes container-rotate{to{-webkit-transform:rotate(360deg)}}@keyframes container-rotate{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.spinner-layer{position:absolute;width:100%;height:100%;opacity:0;border-color:#26a69a}.spinner-blue,.spinner-blue-only{border-color:#4285f4}.spinner-red,.spinner-red-only{border-color:#db4437}.spinner-yellow,.spinner-yellow-only{border-color:#f4b400}.spinner-green,.spinner-green-only{border-color:#0f9d58}.active .spinner-layer.spinner-blue{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,blue-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,blue-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.active .spinner-layer.spinner-red{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,red-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,red-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.active .spinner-layer.spinner-yellow{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,yellow-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,yellow-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.active .spinner-layer.spinner-green{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,green-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,green-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.active .spinner-layer,.active .spinner-layer.spinner-blue-only,.active .spinner-layer.spinner-red-only,.active .spinner-layer.spinner-yellow-only,.active .spinner-layer.spinner-green-only{opacity:1;-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}@-webkit-keyframes fill-unfill-rotate{12.5%{-webkit-transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg)}to{-webkit-transform:rotate(1080deg)}}@keyframes fill-unfill-rotate{12.5%{-webkit-transform:rotate(135deg);transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg);transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg);transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg);transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg);transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg);transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg);transform:rotate(945deg)}to{-webkit-transform:rotate(1080deg);transform:rotate(1080deg)}}@-webkit-keyframes blue-fade-in-out{from{opacity:1}25%{opacity:1}26%{opacity:0}89%{opacity:0}90%{opacity:1}100%{opacity:1}}@keyframes blue-fade-in-out{from{opacity:1}25%{opacity:1}26%{opacity:0}89%{opacity:0}90%{opacity:1}100%{opacity:1}}@-webkit-keyframes red-fade-in-out{from{opacity:0}15%{opacity:0}25%{opacity:1}50%{opacity:1}51%{opacity:0}}@keyframes red-fade-in-out{from{opacity:0}15%{opacity:0}25%{opacity:1}50%{opacity:1}51%{opacity:0}}@-webkit-keyframes yellow-fade-in-out{from{opacity:0}40%{opacity:0}50%{opacity:1}75%{opacity:1}76%{opacity:0}}@keyframes yellow-fade-in-out{from{opacity:0}40%{opacity:0}50%{opacity:1}75%{opacity:1}76%{opacity:0}}@-webkit-keyframes green-fade-in-out{from{opacity:0}65%{opacity:0}75%{opacity:1}90%{opacity:1}100%{opacity:0}}@keyframes green-fade-in-out{from{opacity:0}65%{opacity:0}75%{opacity:1}90%{opacity:1}100%{opacity:0}}.gap-patch{position:absolute;top:0;left:45%;width:10%;height:100%;overflow:hidden;border-color:inherit}.gap-patch .circle{width:1000%;left:-450%}.circle-clipper{display:inline-block;position:relative;width:50%;height:100%;overflow:hidden;border-color:inherit}.circle-clipper .circle{width:200%;height:100%;border-width:3px;border-style:solid;border-color:inherit;border-bottom-color:transparent !important;border-radius:50%;-webkit-animation:none;animation:none;position:absolute;top:0;right:0;bottom:0}.circle-clipper.left .circle{left:0;border-right-color:transparent !important;-webkit-transform:rotate(129deg);transform:rotate(129deg)}.circle-clipper.right .circle{left:-100%;border-left-color:transparent !important;-webkit-transform:rotate(-129deg);transform:rotate(-129deg)}.active .circle-clipper.left .circle{-webkit-animation:left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.active .circle-clipper.right .circle{-webkit-animation:right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}@-webkit-keyframes left-spin{from{-webkit-transform:rotate(130deg)}50%{-webkit-transform:rotate(-5deg)}to{-webkit-transform:rotate(130deg)}}@keyframes left-spin{from{-webkit-transform:rotate(130deg);transform:rotate(130deg)}50%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(130deg);transform:rotate(130deg)}}@-webkit-keyframes right-spin{from{-webkit-transform:rotate(-130deg)}50%{-webkit-transform:rotate(5deg)}to{-webkit-transform:rotate(-130deg)}}@keyframes right-spin{from{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}50%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}to{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}}#spinnerContainer.cooldown{-webkit-animation:container-rotate 1568ms linear infinite,fade-out 400ms cubic-bezier(0.4, 0, 0.2, 1);animation:container-rotate 1568ms linear infinite,fade-out 400ms cubic-bezier(0.4, 0, 0.2, 1)}@-webkit-keyframes fade-out{from{opacity:1}to{opacity:0}}@keyframes fade-out{from{opacity:1}to{opacity:0}}.slider{position:relative;height:400px;width:100%}.slider.fullscreen{height:100%;width:100%;position:absolute;top:0;left:0;right:0;bottom:0}.slider.fullscreen ul.slides{height:100%}.slider.fullscreen ul.indicators{z-index:2;bottom:30px}.slider .slides{background-color:#9e9e9e;margin:0;height:400px}.slider .slides li{opacity:0;position:absolute;top:0;left:0;z-index:1;width:100%;height:inherit;overflow:hidden}.slider .slides li img{height:100%;width:100%;background-size:cover;background-position:center}.slider .slides li .caption{color:#fff;position:absolute;top:15%;left:15%;width:70%;opacity:0}.slider .slides li .caption p{color:#e0e0e0}.slider .slides li.active{z-index:2}.slider .indicators{position:absolute;text-align:center;left:0;right:0;bottom:0;margin:0}.slider .indicators .indicator-item{display:inline-block;position:relative;cursor:pointer;height:16px;width:16px;margin:0 12px;background-color:#e0e0e0;-webkit-transition:background-color .3s;transition:background-color .3s;border-radius:50%}.slider .indicators .indicator-item.active{background-color:#4CAF50}.carousel{overflow:hidden;position:relative;width:100%;height:400px;-webkit-perspective:500px;perspective:500px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-transform-origin:0% 50%;transform-origin:0% 50%}.carousel.carousel-slider{top:0;left:0}.carousel.carousel-slider .carousel-fixed-item{position:absolute;left:0;right:0;bottom:20px;z-index:1}.carousel.carousel-slider .carousel-fixed-item.with-indicators{bottom:68px}.carousel.carousel-slider .carousel-item{width:100%;height:100%;min-height:400px;position:absolute;top:0;left:0}.carousel.carousel-slider .carousel-item h2{font-size:24px;font-weight:500;line-height:32px}.carousel.carousel-slider .carousel-item p{font-size:15px}.carousel .carousel-item{visibility:hidden;width:200px;height:200px;position:absolute;top:0;left:0}.carousel .carousel-item>img{width:100%}.carousel .indicators{position:absolute;text-align:center;left:0;right:0;bottom:0;margin:0}.carousel .indicators .indicator-item{display:inline-block;position:relative;cursor:pointer;height:8px;width:8px;margin:24px 4px;background-color:rgba(255,255,255,0.5);-webkit-transition:background-color .3s;transition:background-color .3s;border-radius:50%}.carousel .indicators .indicator-item.active{background-color:#fff}.carousel.scrolling .carousel-item .materialboxed,.carousel .carousel-item:not(.active) .materialboxed{pointer-events:none}.tap-target-wrapper{width:800px;height:800px;position:fixed;z-index:1000;visibility:hidden;-webkit-transition:visibility 0s .3s;transition:visibility 0s .3s}.tap-target-wrapper.open{visibility:visible;-webkit-transition:visibility 0s;transition:visibility 0s}.tap-target-wrapper.open .tap-target{-webkit-transform:scale(1);transform:scale(1);opacity:.95;-webkit-transition:opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1),-webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);transition:opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1),-webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);transition:transform 0.3s cubic-bezier(0.42, 0, 0.58, 1),opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1);transition:transform 0.3s cubic-bezier(0.42, 0, 0.58, 1),opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1),-webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1)}.tap-target-wrapper.open .tap-target-wave::before{-webkit-transform:scale(1);transform:scale(1)}.tap-target-wrapper.open .tap-target-wave::after{visibility:visible;-webkit-animation:pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite;animation:pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite;-webkit-transition:opacity .3s,
|
14 |
+
visibility 0s 1s,
|
15 |
+
-webkit-transform .3s;transition:opacity .3s,
|
16 |
+
visibility 0s 1s,
|
17 |
+
-webkit-transform .3s;transition:opacity .3s,
|
18 |
+
transform .3s,
|
19 |
+
visibility 0s 1s;transition:opacity .3s,
|
20 |
+
transform .3s,
|
21 |
+
visibility 0s 1s,
|
22 |
+
-webkit-transform .3s}.tap-target{position:absolute;font-size:1rem;border-radius:50%;background-color:#ee6e73;-webkit-box-shadow:0 20px 20px 0 rgba(0,0,0,0.14),0 10px 50px 0 rgba(0,0,0,0.12),0 30px 10px -20px rgba(0,0,0,0.2);box-shadow:0 20px 20px 0 rgba(0,0,0,0.14),0 10px 50px 0 rgba(0,0,0,0.12),0 30px 10px -20px rgba(0,0,0,0.2);width:100%;height:100%;opacity:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transition:opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1),-webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);transition:opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1),-webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);transition:transform 0.3s cubic-bezier(0.42, 0, 0.58, 1),opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1);transition:transform 0.3s cubic-bezier(0.42, 0, 0.58, 1),opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1),-webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1)}.tap-target-content{position:relative;display:table-cell}.tap-target-wave{position:absolute;border-radius:50%;z-index:10001}.tap-target-wave::before,.tap-target-wave::after{content:'';display:block;position:absolute;width:100%;height:100%;border-radius:50%;background-color:#ffffff}.tap-target-wave::before{-webkit-transform:scale(0);transform:scale(0);-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s, -webkit-transform .3s}.tap-target-wave::after{visibility:hidden;-webkit-transition:opacity .3s,
|
23 |
+
visibility 0s,
|
24 |
+
-webkit-transform .3s;transition:opacity .3s,
|
25 |
+
visibility 0s,
|
26 |
+
-webkit-transform .3s;transition:opacity .3s,
|
27 |
+
transform .3s,
|
28 |
+
visibility 0s;transition:opacity .3s,
|
29 |
+
transform .3s,
|
30 |
+
visibility 0s,
|
31 |
+
-webkit-transform .3s;z-index:-1}.tap-target-origin{top:50%;left:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);z-index:10002;position:absolute !important}.tap-target-origin:not(.btn):not(.btn-large):not(.btn-small),.tap-target-origin:not(.btn):not(.btn-large):not(.btn-small):hover{background:none}@media only screen and (max-width: 600px){.tap-target,.tap-target-wrapper{width:600px;height:600px}}.pulse{overflow:visible;position:relative}.pulse::before{content:'';display:block;position:absolute;width:100%;height:100%;top:0;left:0;background-color:inherit;border-radius:inherit;-webkit-transition:opacity .3s, -webkit-transform .3s;transition:opacity .3s, -webkit-transform .3s;transition:opacity .3s, transform .3s;transition:opacity .3s, transform .3s, -webkit-transform .3s;-webkit-animation:pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite;animation:pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite;z-index:-1}@-webkit-keyframes pulse-animation{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}50%{opacity:0;-webkit-transform:scale(1.5);transform:scale(1.5)}100%{opacity:0;-webkit-transform:scale(1.5);transform:scale(1.5)}}@keyframes pulse-animation{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}50%{opacity:0;-webkit-transform:scale(1.5);transform:scale(1.5)}100%{opacity:0;-webkit-transform:scale(1.5);transform:scale(1.5)}}.datepicker-modal{max-width:325px;min-width:300px;max-height:none}.datepicker-container.modal-content{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding:0}.datepicker-controls{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;width:280px;margin:0 auto}.datepicker-controls .selects-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.datepicker-controls .select-wrapper input{border-bottom:none;text-align:center;margin:0}.datepicker-controls .select-wrapper input:focus{border-bottom:none}.datepicker-controls .select-wrapper .caret{display:none}.datepicker-controls .select-year input{width:50px}.datepicker-controls .select-month input{width:70px}.month-prev,.month-next{margin-top:4px;cursor:pointer;background-color:transparent;border:none}.datepicker-date-display{-webkit-box-flex:1;-webkit-flex:1 auto;-ms-flex:1 auto;flex:1 auto;background-color:#26a69a;color:#fff;padding:20px 22px;font-weight:500}.datepicker-date-display .year-text{display:block;font-size:1.5rem;line-height:25px;color:rgba(255,255,255,0.7)}.datepicker-date-display .date-text{display:block;font-size:2.8rem;line-height:47px;font-weight:500}.datepicker-calendar-container{-webkit-box-flex:2.5;-webkit-flex:2.5 auto;-ms-flex:2.5 auto;flex:2.5 auto}.datepicker-table{width:280px;font-size:1rem;margin:0 auto}.datepicker-table thead{border-bottom:none}.datepicker-table th{padding:10px 5px;text-align:center}.datepicker-table tr{border:none}.datepicker-table abbr{text-decoration:none;color:#999}.datepicker-table td{border-radius:50%;padding:0}.datepicker-table td.is-today{color:#26a69a}.datepicker-table td.is-selected{background-color:#26a69a;color:#fff}.datepicker-table td.is-outside-current-month,.datepicker-table td.is-disabled{color:rgba(0,0,0,0.3);pointer-events:none}.datepicker-day-button{background-color:transparent;border:none;line-height:38px;display:block;width:100%;border-radius:50%;padding:0 5px;cursor:pointer;color:inherit}.datepicker-day-button:focus{background-color:rgba(43,161,150,0.25)}.datepicker-footer{width:280px;margin:0 auto;padding-bottom:5px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.datepicker-cancel,.datepicker-clear,.datepicker-today,.datepicker-done{color:#26a69a;padding:0 1rem}.datepicker-clear{color:#F44336}@media only screen and (min-width: 601px){.datepicker-modal{max-width:625px}.datepicker-container.modal-content{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.datepicker-date-display{-webkit-box-flex:0;-webkit-flex:0 1 270px;-ms-flex:0 1 270px;flex:0 1 270px}.datepicker-controls,.datepicker-table,.datepicker-footer{width:320px}.datepicker-day-button{line-height:44px}}.timepicker-modal{max-width:325px;max-height:none}.timepicker-container.modal-content{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding:0}.text-primary{color:#fff}.timepicker-digital-display{-webkit-box-flex:1;-webkit-flex:1 auto;-ms-flex:1 auto;flex:1 auto;background-color:#26a69a;padding:10px;font-weight:300}.timepicker-text-container{font-size:4rem;font-weight:bold;text-align:center;color:rgba(255,255,255,0.6);font-weight:400;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.timepicker-span-hours,.timepicker-span-minutes,.timepicker-span-am-pm div{cursor:pointer}.timepicker-span-hours{margin-right:3px}.timepicker-span-minutes{margin-left:3px}.timepicker-display-am-pm{font-size:1.3rem;position:absolute;right:1rem;bottom:1rem;font-weight:400}.timepicker-analog-display{-webkit-box-flex:2.5;-webkit-flex:2.5 auto;-ms-flex:2.5 auto;flex:2.5 auto}.timepicker-plate{background-color:#eee;border-radius:50%;width:270px;height:270px;overflow:visible;position:relative;margin:auto;margin-top:25px;margin-bottom:5px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.timepicker-canvas,.timepicker-dial{position:absolute;left:0;right:0;top:0;bottom:0}.timepicker-minutes{visibility:hidden}.timepicker-tick{border-radius:50%;color:rgba(0,0,0,0.87);line-height:40px;text-align:center;width:40px;height:40px;position:absolute;cursor:pointer;font-size:15px}.timepicker-tick.active,.timepicker-tick:hover{background-color:rgba(38,166,154,0.25)}.timepicker-dial{-webkit-transition:opacity 350ms, -webkit-transform 350ms;transition:opacity 350ms, -webkit-transform 350ms;transition:transform 350ms, opacity 350ms;transition:transform 350ms, opacity 350ms, -webkit-transform 350ms}.timepicker-dial-out{opacity:0}.timepicker-dial-out.timepicker-hours{-webkit-transform:scale(1.1, 1.1);transform:scale(1.1, 1.1)}.timepicker-dial-out.timepicker-minutes{-webkit-transform:scale(0.8, 0.8);transform:scale(0.8, 0.8)}.timepicker-canvas{-webkit-transition:opacity 175ms;transition:opacity 175ms}.timepicker-canvas line{stroke:#26a69a;stroke-width:4;stroke-linecap:round}.timepicker-canvas-out{opacity:0.25}.timepicker-canvas-bearing{stroke:none;fill:#26a69a}.timepicker-canvas-bg{stroke:none;fill:#26a69a}.timepicker-footer{margin:0 auto;padding:5px 1rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.timepicker-clear{color:#F44336}.timepicker-close{color:#26a69a}.timepicker-clear,.timepicker-close{padding:0 20px}@media only screen and (min-width: 601px){.timepicker-modal{max-width:600px}.timepicker-container.modal-content{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.timepicker-text-container{top:32%}.timepicker-display-am-pm{position:relative;right:auto;bottom:auto;text-align:center;margin-top:1.2rem}}
|
admin/css/xcloner-admin.css
CHANGED
@@ -127,6 +127,11 @@ ul.backup-name {
|
|
127 |
font-size: 1rem;
|
128 |
}
|
129 |
|
|
|
|
|
|
|
|
|
|
|
130 |
#schedule_backup .server-time h2 {
|
131 |
color: #fff;
|
132 |
}
|
@@ -210,7 +215,18 @@ a.expand-multipart.remove {
|
|
210 |
}
|
211 |
|
212 |
.remote-storage .collapsible-header {
|
213 |
-
padding:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
214 |
}
|
215 |
|
216 |
#manage_backups td.checkbox {
|
@@ -406,6 +422,26 @@ i.backup_warning {
|
|
406 |
color: #000;
|
407 |
}
|
408 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
409 |
@media only screen and (min-width: 993px) {
|
410 |
.dashboard .backup-ready {
|
411 |
float: right;
|
127 |
font-size: 1rem;
|
128 |
}
|
129 |
|
130 |
+
.input-field>label:not(.label-icon).active {
|
131 |
+
-webkit-transform: translateY(-14px) scale(1);
|
132 |
+
transform: translateY(-14px) scale(1);
|
133 |
+
}
|
134 |
+
|
135 |
#schedule_backup .server-time h2 {
|
136 |
color: #fff;
|
137 |
}
|
215 |
}
|
216 |
|
217 |
.remote-storage .collapsible-header {
|
218 |
+
padding: 10px;
|
219 |
+
display: block;
|
220 |
+
line-height: 25px;
|
221 |
+
}
|
222 |
+
|
223 |
+
#generate_backup p {
|
224 |
+
margin: 0px;
|
225 |
+
}
|
226 |
+
|
227 |
+
#generate_backup .collapsible-header,
|
228 |
+
.xcloner-debugger .collapsible-header{
|
229 |
+
display: block;
|
230 |
}
|
231 |
|
232 |
#manage_backups td.checkbox {
|
422 |
color: #000;
|
423 |
}
|
424 |
|
425 |
+
.wp-core-ui .select-wrapper select {
|
426 |
+
border: 0px;
|
427 |
+
}
|
428 |
+
|
429 |
+
#save_schedule .switch {
|
430 |
+
margin-top: 20px;
|
431 |
+
}
|
432 |
+
|
433 |
+
.collapsible-header i {
|
434 |
+
vertical-align: middle;
|
435 |
+
}
|
436 |
+
|
437 |
+
#backup-status .title{
|
438 |
+
display: inline;
|
439 |
+
}
|
440 |
+
|
441 |
+
.wp-core-ui select {
|
442 |
+
max-width: initial;
|
443 |
+
}
|
444 |
+
|
445 |
@media only screen and (min-width: 993px) {
|
446 |
.dashboard .backup-ready {
|
447 |
float: right;
|
admin/js/materialize.clockpicker.js
DELETED
@@ -1,2 +0,0 @@
|
|
1 |
-
/** global: navigator */
|
2 |
-
!function(){function t(t){return document.createElementNS(r,t)}function i(t){return(t<10?"0":"")+t}function e(t){var i=++v+"";return t?t+i:i}function s(s,n){function r(t,i){var e=h.offset(),s=/^touch/.test(t.type),o=e.left+f,c=e.top+f,r=(s?t.originalEvent.touches[0]:t).pageX-o,l=(s?t.originalEvent.touches[0]:t).pageY-c,u=Math.sqrt(r*r+l*l),m=!1;if(!i||!(u<b-w||u>b+w)){t.preventDefault();var v=setTimeout(function(){V.popover.addClass("clockpicker-moving")},200);p&&h.append(V.canvas),V.setHand(r,l,!i,!0),a.off(d).on(d,function(t){t.preventDefault();var i=/^touch/.test(t.type),e=(i?t.originalEvent.touches[0]:t).pageX-o,s=(i?t.originalEvent.touches[0]:t).pageY-c;(m||e!==r||s!==l)&&(m=!0,V.setHand(e,s,!1,!0))}),a.off(k).on(k,function(t){a.off(k),t.preventDefault();var e=/^touch/.test(t.type),s=(e?t.originalEvent.changedTouches[0]:t).pageX-o,p=(e?t.originalEvent.changedTouches[0]:t).pageY-c;(i||m)&&s===r&&p===l&&V.setHand(s,p),"hours"===V.currentView?V.toggleView("minutes",A/2):n.autoclose&&(V.minutesView.addClass("clockpicker-dial-out"),setTimeout(function(){V.done()},A/2)),h.prepend(z),clearTimeout(v),V.popover.removeClass("clockpicker-moving"),a.off(d)})}}var l=c(M),h=l.find(".clockpicker-plate"),m=l.find(".picker__holder"),v=l.find(".clockpicker-hours"),P=l.find(".clockpicker-minutes"),C=l.find(".clockpicker-am-pm-block"),x="INPUT"===s.prop("tagName"),T=x?s:s.find("input"),_=c("label[for="+T.attr("id")+"]"),V=this;if(this.id=e("cp"),this.element=s,this.holder=m,this.options=n,this.isAppended=!1,this.isShown=!1,this.currentView="hours",this.isInput=x,this.input=T,this.label=_,this.popover=l,this.plate=h,this.hoursView=v,this.minutesView=P,this.amPmBlock=C,this.spanHours=l.find(".clockpicker-span-hours"),this.spanMinutes=l.find(".clockpicker-span-minutes"),this.spanAmPm=l.find(".clockpicker-span-am-pm"),this.footer=l.find(".picker__footer"),this.amOrPm="PM",n.twelvehour){var H=['<div class="clockpicker-am-pm-block">','<button type="button" class="btn-floating btn-flat clockpicker-button clockpicker-am-button">',"AM","</button>",'<button type="button" class="btn-floating btn-flat clockpicker-button clockpicker-pm-button">',"PM","</button>","</div>"].join("");c(H);n.ampmclickable?(this.spanAmPm.empty(),c('<div id="click-am">AM</div>').on("click",function(){V.spanAmPm.children("#click-am").addClass("text-primary"),V.spanAmPm.children("#click-pm").removeClass("text-primary"),V.amOrPm="AM"}).appendTo(this.spanAmPm),c('<div id="click-pm">PM</div>').on("click",function(){V.spanAmPm.children("#click-pm").addClass("text-primary"),V.spanAmPm.children("#click-am").removeClass("text-primary"),V.amOrPm="PM"}).appendTo(this.spanAmPm)):(c('<button type="button" class="btn-floating btn-flat clockpicker-button am-button" tabindex="1">AM</button>').on("click",function(){V.amOrPm="AM",V.amPmBlock.children(".pm-button").removeClass("active"),V.amPmBlock.children(".am-button").addClass("active"),V.spanAmPm.empty().append("AM")}).appendTo(this.amPmBlock),c('<button type="button" class="btn-floating btn-flat clockpicker-button pm-button" tabindex="2">PM</button>').on("click",function(){V.amOrPm="PM",V.amPmBlock.children(".am-button").removeClass("active"),V.amPmBlock.children(".pm-button").addClass("active"),V.spanAmPm.empty().append("PM")}).appendTo(this.amPmBlock))}T.attr("type","text"),n.darktheme&&l.addClass("darktheme"),c('<button type="button" class="btn-flat clockpicker-button" tabindex="'+(n.twelvehour?"3":"1")+'">'+n.donetext+"</button>").click(c.proxy(this.done,this)).appendTo(this.footer),this.spanHours.click(c.proxy(this.toggleView,this,"hours")),this.spanMinutes.click(c.proxy(this.toggleView,this,"minutes")),T.on("focus.clockpicker click.clockpicker",c.proxy(this.show,this));var S,B,D,E,I=c('<div class="clockpicker-tick"></div>');if(n.twelvehour)for(S=1;S<13;S+=1)B=I.clone(),D=S/6*Math.PI,E=b,B.css("font-size","140%"),B.css({left:f+Math.sin(D)*E-w,top:f-Math.cos(D)*E-w}),B.html(0===S?"00":S),v.append(B),B.on(u,r);else for(S=0;S<24;S+=1){B=I.clone(),D=S/6*Math.PI;var O=S>0&&S<13;E=O?g:b,B.css({left:f+Math.sin(D)*E-w,top:f-Math.cos(D)*E-w}),O&&B.css("font-size","120%"),B.html(0===S?"00":S),v.append(B),B.on(u,r)}for(S=0;S<60;S+=5)B=I.clone(),D=S/30*Math.PI,B.css({left:f+Math.sin(D)*b-w,top:f-Math.cos(D)*b-w}),B.css("font-size","140%"),B.html(i(S)),P.append(B),B.on(u,r);if(h.on(u,function(t){0===c(t.target).closest(".clockpicker-tick").length&&r(t,!0)}),p){var z=l.find(".clockpicker-canvas"),U=t("svg");U.setAttribute("class","clockpicker-svg"),U.setAttribute("width",y),U.setAttribute("height",y);var j=t("g");j.setAttribute("transform","translate("+f+","+f+")");var L=t("circle");L.setAttribute("class","clockpicker-canvas-bearing"),L.setAttribute("cx",0),L.setAttribute("cy",0),L.setAttribute("r",2);var N=t("line");N.setAttribute("x1",0),N.setAttribute("y1",0);var X=t("circle");X.setAttribute("class","clockpicker-canvas-bg"),X.setAttribute("r",w);var Y=t("circle");Y.setAttribute("class","clockpicker-canvas-fg"),Y.setAttribute("r",5),j.appendChild(N),j.appendChild(X),j.appendChild(Y),j.appendChild(L),U.appendChild(j),z.append(U),this.hand=N,this.bg=X,this.fg=Y,this.bearing=L,this.g=j,this.canvas=z}o(this.options.init)}function o(t){t&&"function"==typeof t&&t()}var c=window.jQuery,n=c(window),a=c(document),r="http://www.w3.org/2000/svg",p="SVGAngle"in window&&function(){var t,i=document.createElement("div");return i.innerHTML="<svg/>",t=(i.firstChild&&i.firstChild.namespaceURI)==r,i.innerHTML="",t}(),l=function(){var t=document.createElement("div").style;return"transition"in t||"WebkitTransition"in t||"MozTransition"in t||"msTransition"in t||"OTransition"in t}(),h="ontouchstart"in window,u="mousedown"+(h?" touchstart":""),d="mousemove.clockpicker"+(h?" touchmove.clockpicker":""),k="mouseup.clockpicker"+(h?" touchend.clockpicker":""),m=navigator.vibrate?"vibrate":navigator.webkitVibrate?"webkitVibrate":null,v=0,f=135,b=110,g=80,w=20,y=2*f,A=l?350:1,M=['<div class="clockpicker picker">','<div class="picker__holder">','<div class="picker__frame">','<div class="picker__wrap">','<div class="picker__box">','<div class="picker__date-display">','<div class="clockpicker-display">','<div class="clockpicker-display-column">','<span class="clockpicker-span-hours text-primary"></span>',":",'<span class="clockpicker-span-minutes"></span>',"</div>",'<div class="clockpicker-display-column clockpicker-display-am-pm">','<div class="clockpicker-span-am-pm"></div>',"</div>","</div>","</div>",'<div class="picker__calendar-container">','<div class="clockpicker-plate">','<div class="clockpicker-canvas"></div>','<div class="clockpicker-dial clockpicker-hours"></div>','<div class="clockpicker-dial clockpicker-minutes clockpicker-dial-out"></div>',"</div>",'<div class="clockpicker-am-pm-block">',"</div>","</div>",'<div class="picker__footer">',"</div>","</div>","</div>","</div>","</div>","</div>"].join("");s.DEFAULTS={"default":"",fromnow:0,donetext:"Done",autoclose:!1,ampmclickable:!1,darktheme:!1,twelvehour:!0,vibrate:!0},s.prototype.toggle=function(){this[this.isShown?"hide":"show"]()},s.prototype.locate=function(){var t=this.element,i=this.popover;t.offset(),t.outerWidth(),t.outerHeight(),this.options.align;i.show()},s.prototype.show=function(t){if(this.setAMorPM=function(t){var i=t,e="pm"==t?"am":"pm";this.options.twelvehour&&(this.amOrPm=i.toUpperCase(),this.options.ampmclickable?(this.spanAmPm.children("#click-"+i).addClass("text-primary"),this.spanAmPm.children("#click-"+e).removeClass("text-primary")):(this.amPmBlock.children("."+e+"-button").removeClass("active"),this.amPmBlock.children("."+i+"-button").addClass("active"),this.spanAmPm.empty().append(this.amOrPm)))},!this.isShown){o(this.options.beforeShow),c(":input").each(function(){c(this).attr("tabindex",-1)});var e=this;this.input.blur(),this.popover.addClass("picker--opened"),this.input.addClass("picker__input picker__input--active"),c(document.body).css("overflow","hidden"),this.isAppended||(this.options.hasOwnProperty("container")?this.popover.appendTo(this.options.container):this.popover.insertAfter(this.input),this.setAMorPM("pm"),n.on("resize.clockpicker"+this.id,function(){e.isShown&&e.locate()}),this.isAppended=!0);var s=((this.input.prop("value")||this.options["default"]||"")+"").split(":");if(this.options.twelvehour&&"undefined"!=typeof s[1]&&(s[1].includes("AM")?this.setAMorPM("am"):this.setAMorPM("pm"),s[1]=s[1].replace("AM","").replace("PM","")),"now"===s[0]){var r=new Date(+new Date+this.options.fromnow);r.getHours()>=12?this.setAMorPM("pm"):this.setAMorPM("am"),s=[r.getHours(),r.getMinutes()]}this.hours=+s[0]||0,this.minutes=+s[1]||0,this.spanHours.html(i(this.hours)),this.spanMinutes.html(i(this.minutes)),this.toggleView("hours"),this.locate(),this.isShown=!0,a.on("click.clockpicker."+this.id+" focusin.clockpicker."+this.id,function(t){var i=c(t.target);0===i.closest(e.popover.find(".picker__wrap")).length&&0===i.closest(e.input).length&&e.hide()}),a.on("keyup.clockpicker."+this.id,function(t){27===t.keyCode&&e.hide()}),o(this.options.afterShow)}},s.prototype.hide=function(){o(this.options.beforeHide),this.input.removeClass("picker__input picker__input--active"),this.popover.removeClass("picker--opened"),c(document.body).css("overflow","visible"),this.isShown=!1,c(":input").each(function(t){c(this).attr("tabindex",t+1)}),a.off("click.clockpicker."+this.id+" focusin.clockpicker."+this.id),a.off("keyup.clockpicker."+this.id),this.popover.hide(),o(this.options.afterHide)},s.prototype.toggleView=function(t,i){var e=!1;"minutes"===t&&"visible"===c(this.hoursView).css("visibility")&&(o(this.options.beforeHourSelect),e=!0);var s="hours"===t,n=s?this.hoursView:this.minutesView,a=s?this.minutesView:this.hoursView;this.currentView=t,this.spanHours.toggleClass("text-primary",s),this.spanMinutes.toggleClass("text-primary",!s),a.addClass("clockpicker-dial-out"),n.css("visibility","visible").removeClass("clockpicker-dial-out"),this.resetClock(i),clearTimeout(this.toggleViewTimer),this.toggleViewTimer=setTimeout(function(){a.css("visibility","hidden")},A),e&&o(this.options.afterHourSelect)},s.prototype.resetClock=function(t){var i=this.currentView,e=this[i],s="hours"===i,o=Math.PI/(s?6:30),c=e*o,n=s&&e>0&&e<13?g:b,a=Math.sin(c)*n,r=-Math.cos(c)*n,l=this;p&&t?(l.canvas.addClass("clockpicker-canvas-out"),setTimeout(function(){l.canvas.removeClass("clockpicker-canvas-out"),l.setHand(a,r)},t)):this.setHand(a,r)},s.prototype.setHand=function(t,e,s,o){var n,a=Math.atan2(t,-e),r="hours"===this.currentView,l=Math.PI/(r||s?6:30),h=Math.sqrt(t*t+e*e),u=this.options,d=r&&h<(b+g)/2,k=d?g:b;if(u.twelvehour&&(k=b),a<0&&(a=2*Math.PI+a),n=Math.round(a/l),a=n*l,u.twelvehour?r?0===n&&(n=12):(s&&(n*=5),60===n&&(n=0)):r?(12===n&&(n=0),n=d?0===n?12:n:0===n?0:n+12):(s&&(n*=5),60===n&&(n=0)),r?this.fg.setAttribute("class","clockpicker-canvas-fg"):n%5==0?this.fg.setAttribute("class","clockpicker-canvas-fg"):this.fg.setAttribute("class","clockpicker-canvas-fg active"),this[this.currentView]!==n&&m&&this.options.vibrate&&(this.vibrateTimer||(navigator[m](10),this.vibrateTimer=setTimeout(c.proxy(function(){this.vibrateTimer=null},this),100))),this[this.currentView]=n,this[r?"spanHours":"spanMinutes"].html(i(n)),!p)return void this[r?"hoursView":"minutesView"].find(".clockpicker-tick").each(function(){var t=c(this);t.toggleClass("active",n===+t.html())});o||!r&&n%5?(this.g.insertBefore(this.hand,this.bearing),this.g.insertBefore(this.bg,this.fg),this.bg.setAttribute("class","clockpicker-canvas-bg clockpicker-canvas-bg-trans")):(this.g.insertBefore(this.hand,this.bg),this.g.insertBefore(this.fg,this.bg),this.bg.setAttribute("class","clockpicker-canvas-bg"));var v=Math.sin(a)*(k-w),f=-Math.cos(a)*(k-w),y=Math.sin(a)*k,A=-Math.cos(a)*k;this.hand.setAttribute("x2",v),this.hand.setAttribute("y2",f),this.bg.setAttribute("cx",y),this.bg.setAttribute("cy",A),this.fg.setAttribute("cx",y),this.fg.setAttribute("cy",A)},s.prototype.done=function(){o(this.options.beforeDone),this.hide(),this.label.addClass("active");var t=this.input.prop("value"),e=i(this.hours)+":"+i(this.minutes);this.options.twelvehour&&(e+=this.amOrPm),this.input.prop("value",e),e!==t&&(this.input.triggerHandler("change"),this.isInput||this.element.trigger("change")),this.options.autoclose&&this.input.trigger("blur"),o(this.options.afterDone)},s.prototype.remove=function(){this.element.removeData("clockpicker"),this.input.off("focus.clockpicker click.clockpicker"),this.isShown&&this.hide(),this.isAppended&&(n.off("resize.clockpicker"+this.id),this.popover.remove())},c.fn.pickatime=function(t){var i=Array.prototype.slice.call(arguments,1);return this.each(function(){var e=c(this),o=e.data("clockpicker");if(o)"function"==typeof o[t]&&o[t].apply(o,i);else{var n=c.extend({},s.DEFAULTS,e.data(),"object"==typeof t&&t);e.data("clockpicker",new s(e,n))}})}}();
|
|
|
|
admin/js/materialize.min.js
CHANGED
@@ -1,10 +1,6 @@
|
|
1 |
/*!
|
2 |
-
* Materialize
|
3 |
-
* Copyright 2014-
|
4 |
* MIT License (https://raw.githubusercontent.com/Dogfalo/materialize/master/LICENSE)
|
5 |
*/
|
6 |
-
if("undefined"==typeof jQuery){var jQuery;jQuery="function"==typeof require?$=require("jquery"):$}jQuery.easing.jswing=jQuery.easing.swing,jQuery.extend(jQuery.easing,{def:"easeOutQuad",swing:function(a,b,c,d,e){return jQuery.easing[jQuery.easing.def](a,b,c,d,e)},easeInQuad:function(a,b,c,d,e){return d*(b/=e)*b+c},easeOutQuad:function(a,b,c,d,e){return-d*(b/=e)*(b-2)+c},easeInOutQuad:function(a,b,c,d,e){return(b/=e/2)<1?d/2*b*b+c:-d/2*(--b*(b-2)-1)+c},easeInCubic:function(a,b,c,d,e){return d*(b/=e)*b*b+c},easeOutCubic:function(a,b,c,d,e){return d*((b=b/e-1)*b*b+1)+c},easeInOutCubic:function(a,b,c,d,e){return(b/=e/2)<1?d/2*b*b*b+c:d/2*((b-=2)*b*b+2)+c},easeInQuart:function(a,b,c,d,e){return d*(b/=e)*b*b*b+c},easeOutQuart:function(a,b,c,d,e){return-d*((b=b/e-1)*b*b*b-1)+c},easeInOutQuart:function(a,b,c,d,e){return(b/=e/2)<1?d/2*b*b*b*b+c:-d/2*((b-=2)*b*b*b-2)+c},easeInQuint:function(a,b,c,d,e){return d*(b/=e)*b*b*b*b+c},easeOutQuint:function(a,b,c,d,e){return d*((b=b/e-1)*b*b*b*b+1)+c},easeInOutQuint:function(a,b,c,d,e){return(b/=e/2)<1?d/2*b*b*b*b*b+c:d/2*((b-=2)*b*b*b*b+2)+c},easeInSine:function(a,b,c,d,e){return-d*Math.cos(b/e*(Math.PI/2))+d+c},easeOutSine:function(a,b,c,d,e){return d*Math.sin(b/e*(Math.PI/2))+c},easeInOutSine:function(a,b,c,d,e){return-d/2*(Math.cos(Math.PI*b/e)-1)+c},easeInExpo:function(a,b,c,d,e){return 0==b?c:d*Math.pow(2,10*(b/e-1))+c},easeOutExpo:function(a,b,c,d,e){return b==e?c+d:d*(-Math.pow(2,-10*b/e)+1)+c},easeInOutExpo:function(a,b,c,d,e){return 0==b?c:b==e?c+d:(b/=e/2)<1?d/2*Math.pow(2,10*(b-1))+c:d/2*(-Math.pow(2,-10*--b)+2)+c},easeInCirc:function(a,b,c,d,e){return-d*(Math.sqrt(1-(b/=e)*b)-1)+c},easeOutCirc:function(a,b,c,d,e){return d*Math.sqrt(1-(b=b/e-1)*b)+c},easeInOutCirc:function(a,b,c,d,e){return(b/=e/2)<1?-d/2*(Math.sqrt(1-b*b)-1)+c:d/2*(Math.sqrt(1-(b-=2)*b)+1)+c},easeInElastic:function(a,b,c,d,e){var f=1.70158,g=0,h=d;if(0==b)return c;if(1==(b/=e))return c+d;if(g||(g=.3*e),h<Math.abs(d)){h=d;var f=g/4}else var f=g/(2*Math.PI)*Math.asin(d/h);return-(h*Math.pow(2,10*(b-=1))*Math.sin((b*e-f)*(2*Math.PI)/g))+c},easeOutElastic:function(a,b,c,d,e){var f=1.70158,g=0,h=d;if(0==b)return c;if(1==(b/=e))return c+d;if(g||(g=.3*e),h<Math.abs(d)){h=d;var f=g/4}else var f=g/(2*Math.PI)*Math.asin(d/h);return h*Math.pow(2,-10*b)*Math.sin((b*e-f)*(2*Math.PI)/g)+d+c},easeInOutElastic:function(a,b,c,d,e){var f=1.70158,g=0,h=d;if(0==b)return c;if(2==(b/=e/2))return c+d;if(g||(g=e*(.3*1.5)),h<Math.abs(d)){h=d;var f=g/4}else var f=g/(2*Math.PI)*Math.asin(d/h);return 1>b?-.5*(h*Math.pow(2,10*(b-=1))*Math.sin((b*e-f)*(2*Math.PI)/g))+c:h*Math.pow(2,-10*(b-=1))*Math.sin((b*e-f)*(2*Math.PI)/g)*.5+d+c},easeInBack:function(a,b,c,d,e,f){return void 0==f&&(f=1.70158),d*(b/=e)*b*((f+1)*b-f)+c},easeOutBack:function(a,b,c,d,e,f){return void 0==f&&(f=1.70158),d*((b=b/e-1)*b*((f+1)*b+f)+1)+c},easeInOutBack:function(a,b,c,d,e,f){return void 0==f&&(f=1.70158),(b/=e/2)<1?d/2*(b*b*(((f*=1.525)+1)*b-f))+c:d/2*((b-=2)*b*(((f*=1.525)+1)*b+f)+2)+c},easeInBounce:function(a,b,c,d,e){return d-jQuery.easing.easeOutBounce(a,e-b,0,d,e)+c},easeOutBounce:function(a,b,c,d,e){return(b/=e)<1/2.75?d*(7.5625*b*b)+c:2/2.75>b?d*(7.5625*(b-=1.5/2.75)*b+.75)+c:2.5/2.75>b?d*(7.5625*(b-=2.25/2.75)*b+.9375)+c:d*(7.5625*(b-=2.625/2.75)*b+.984375)+c},easeInOutBounce:function(a,b,c,d,e){return e/2>b?.5*jQuery.easing.easeInBounce(a,2*b,0,d,e)+c:.5*jQuery.easing.easeOutBounce(a,2*b-e,0,d,e)+.5*d+c}}),jQuery.extend(jQuery.easing,{easeInOutMaterial:function(a,b,c,d,e){return(b/=e/2)<1?d/2*b*b+c:d/4*((b-=2)*b*b+2)+c}}),jQuery.Velocity?console.log("Velocity is already loaded. You may be needlessly importing Velocity again; note that Materialize includes Velocity."):(!function(a){function b(a){var b=a.length,d=c.type(a);return"function"===d||c.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===d||0===b||"number"==typeof b&&b>0&&b-1 in a}if(!a.jQuery){var c=function(a,b){return new c.fn.init(a,b)};c.isWindow=function(a){return null!=a&&a==a.window},c.type=function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?e[g.call(a)]||"object":typeof a},c.isArray=Array.isArray||function(a){return"array"===c.type(a)},c.isPlainObject=function(a){var b;if(!a||"object"!==c.type(a)||a.nodeType||c.isWindow(a))return!1;try{if(a.constructor&&!f.call(a,"constructor")&&!f.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(d){return!1}for(b in a);return void 0===b||f.call(a,b)},c.each=function(a,c,d){var e,f=0,g=a.length,h=b(a);if(d){if(h)for(;g>f&&(e=c.apply(a[f],d),e!==!1);f++);else for(f in a)if(e=c.apply(a[f],d),e===!1)break}else if(h)for(;g>f&&(e=c.call(a[f],f,a[f]),e!==!1);f++);else for(f in a)if(e=c.call(a[f],f,a[f]),e===!1)break;return a},c.data=function(a,b,e){if(void 0===e){var f=a[c.expando],g=f&&d[f];if(void 0===b)return g;if(g&&b in g)return g[b]}else if(void 0!==b){var f=a[c.expando]||(a[c.expando]=++c.uuid);return d[f]=d[f]||{},d[f][b]=e,e}},c.removeData=function(a,b){var e=a[c.expando],f=e&&d[e];f&&c.each(b,function(a,b){delete f[b]})},c.extend=function(){var a,b,d,e,f,g,h=arguments[0]||{},i=1,j=arguments.length,k=!1;for("boolean"==typeof h&&(k=h,h=arguments[i]||{},i++),"object"!=typeof h&&"function"!==c.type(h)&&(h={}),i===j&&(h=this,i--);j>i;i++)if(null!=(f=arguments[i]))for(e in f)a=h[e],d=f[e],h!==d&&(k&&d&&(c.isPlainObject(d)||(b=c.isArray(d)))?(b?(b=!1,g=a&&c.isArray(a)?a:[]):g=a&&c.isPlainObject(a)?a:{},h[e]=c.extend(k,g,d)):void 0!==d&&(h[e]=d));return h},c.queue=function(a,d,e){function f(a,c){var d=c||[];return null!=a&&(b(Object(a))?!function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;)a[e++]=b[d++];if(c!==c)for(;void 0!==b[d];)a[e++]=b[d++];return a.length=e,a}(d,"string"==typeof a?[a]:a):[].push.call(d,a)),d}if(a){d=(d||"fx")+"queue";var g=c.data(a,d);return e?(!g||c.isArray(e)?g=c.data(a,d,f(e)):g.push(e),g):g||[]}},c.dequeue=function(a,b){c.each(a.nodeType?[a]:a,function(a,d){b=b||"fx";var e=c.queue(d,b),f=e.shift();"inprogress"===f&&(f=e.shift()),f&&("fx"===b&&e.unshift("inprogress"),f.call(d,function(){c.dequeue(d,b)}))})},c.fn=c.prototype={init:function(a){if(a.nodeType)return this[0]=a,this;throw new Error("Not a DOM node.")},offset:function(){var b=this[0].getBoundingClientRect?this[0].getBoundingClientRect():{top:0,left:0};return{top:b.top+(a.pageYOffset||document.scrollTop||0)-(document.clientTop||0),left:b.left+(a.pageXOffset||document.scrollLeft||0)-(document.clientLeft||0)}},position:function(){function a(){for(var a=this.offsetParent||document;a&&"html"===!a.nodeType.toLowerCase&&"static"===a.style.position;)a=a.offsetParent;return a||document}var b=this[0],a=a.apply(b),d=this.offset(),e=/^(?:body|html)$/i.test(a.nodeName)?{top:0,left:0}:c(a).offset();return d.top-=parseFloat(b.style.marginTop)||0,d.left-=parseFloat(b.style.marginLeft)||0,a.style&&(e.top+=parseFloat(a.style.borderTopWidth)||0,e.left+=parseFloat(a.style.borderLeftWidth)||0),{top:d.top-e.top,left:d.left-e.left}}};var d={};c.expando="velocity"+(new Date).getTime(),c.uuid=0;for(var e={},f=e.hasOwnProperty,g=e.toString,h="Boolean Number String Function Array Date RegExp Object Error".split(" "),i=0;i<h.length;i++)e["[object "+h[i]+"]"]=h[i].toLowerCase();c.fn.init.prototype=c.fn,a.Velocity={Utilities:c}}}(window),function(a){"object"==typeof module&&"object"==typeof module.exports?module.exports=a():"function"==typeof define&&define.amd?define(a):a()}(function(){return function(a,b,c,d){function e(a){for(var b=-1,c=a?a.length:0,d=[];++b<c;){var e=a[b];e&&d.push(e)}return d}function f(a){return p.isWrapped(a)?a=[].slice.call(a):p.isNode(a)&&(a=[a]),a}function g(a){var b=m.data(a,"velocity");return null===b?d:b}function h(a){return function(b){return Math.round(b*a)*(1/a)}}function i(a,c,d,e){function f(a,b){return 1-3*b+3*a}function g(a,b){return 3*b-6*a}function h(a){return 3*a}function i(a,b,c){return((f(b,c)*a+g(b,c))*a+h(b))*a}function j(a,b,c){return 3*f(b,c)*a*a+2*g(b,c)*a+h(b)}function k(b,c){for(var e=0;p>e;++e){var f=j(c,a,d);if(0===f)return c;var g=i(c,a,d)-b;c-=g/f}return c}function l(){for(var b=0;t>b;++b)x[b]=i(b*u,a,d)}function m(b,c,e){var f,g,h=0;do g=c+(e-c)/2,f=i(g,a,d)-b,f>0?e=g:c=g;while(Math.abs(f)>r&&++h<s);return g}function n(b){for(var c=0,e=1,f=t-1;e!=f&&x[e]<=b;++e)c+=u;--e;var g=(b-x[e])/(x[e+1]-x[e]),h=c+g*u,i=j(h,a,d);return i>=q?k(b,h):0==i?h:m(b,c,c+u)}function o(){y=!0,(a!=c||d!=e)&&l()}var p=4,q=.001,r=1e-7,s=10,t=11,u=1/(t-1),v="Float32Array"in b;if(4!==arguments.length)return!1;for(var w=0;4>w;++w)if("number"!=typeof arguments[w]||isNaN(arguments[w])||!isFinite(arguments[w]))return!1;a=Math.min(a,1),d=Math.min(d,1),a=Math.max(a,0),d=Math.max(d,0);var x=v?new Float32Array(t):new Array(t),y=!1,z=function(b){return y||o(),a===c&&d===e?b:0===b?0:1===b?1:i(n(b),c,e)};z.getControlPoints=function(){return[{x:a,y:c},{x:d,y:e}]};var A="generateBezier("+[a,c,d,e]+")";return z.toString=function(){return A},z}function j(a,b){var c=a;return p.isString(a)?t.Easings[a]||(c=!1):c=p.isArray(a)&&1===a.length?h.apply(null,a):p.isArray(a)&&2===a.length?u.apply(null,a.concat([b])):p.isArray(a)&&4===a.length?i.apply(null,a):!1,c===!1&&(c=t.Easings[t.defaults.easing]?t.defaults.easing:s),c}function k(a){if(a){var b=(new Date).getTime(),c=t.State.calls.length;c>1e4&&(t.State.calls=e(t.State.calls));for(var f=0;c>f;f++)if(t.State.calls[f]){var h=t.State.calls[f],i=h[0],j=h[2],n=h[3],o=!!n,q=null;n||(n=t.State.calls[f][3]=b-16);for(var r=Math.min((b-n)/j.duration,1),s=0,u=i.length;u>s;s++){var w=i[s],y=w.element;if(g(y)){var z=!1;if(j.display!==d&&null!==j.display&&"none"!==j.display){if("flex"===j.display){var A=["-webkit-box","-moz-box","-ms-flexbox","-webkit-flex"];m.each(A,function(a,b){v.setPropertyValue(y,"display",b)})}v.setPropertyValue(y,"display",j.display)}j.visibility!==d&&"hidden"!==j.visibility&&v.setPropertyValue(y,"visibility",j.visibility);for(var B in w)if("element"!==B){var C,D=w[B],E=p.isString(D.easing)?t.Easings[D.easing]:D.easing;if(1===r)C=D.endValue;else{var F=D.endValue-D.startValue;if(C=D.startValue+F*E(r,j,F),!o&&C===D.currentValue)continue}if(D.currentValue=C,"tween"===B)q=C;else{if(v.Hooks.registered[B]){var G=v.Hooks.getRoot(B),H=g(y).rootPropertyValueCache[G];H&&(D.rootPropertyValue=H)}var I=v.setPropertyValue(y,B,D.currentValue+(0===parseFloat(C)?"":D.unitType),D.rootPropertyValue,D.scrollData);v.Hooks.registered[B]&&(g(y).rootPropertyValueCache[G]=v.Normalizations.registered[G]?v.Normalizations.registered[G]("extract",null,I[1]):I[1]),"transform"===I[0]&&(z=!0)}}j.mobileHA&&g(y).transformCache.translate3d===d&&(g(y).transformCache.translate3d="(0px, 0px, 0px)",z=!0),z&&v.flushTransformCache(y)}}j.display!==d&&"none"!==j.display&&(t.State.calls[f][2].display=!1),j.visibility!==d&&"hidden"!==j.visibility&&(t.State.calls[f][2].visibility=!1),j.progress&&j.progress.call(h[1],h[1],r,Math.max(0,n+j.duration-b),n,q),1===r&&l(f)}}t.State.isTicking&&x(k)}function l(a,b){if(!t.State.calls[a])return!1;for(var c=t.State.calls[a][0],e=t.State.calls[a][1],f=t.State.calls[a][2],h=t.State.calls[a][4],i=!1,j=0,k=c.length;k>j;j++){var l=c[j].element;if(b||f.loop||("none"===f.display&&v.setPropertyValue(l,"display",f.display),"hidden"===f.visibility&&v.setPropertyValue(l,"visibility",f.visibility)),f.loop!==!0&&(m.queue(l)[1]===d||!/\.velocityQueueEntryFlag/i.test(m.queue(l)[1]))&&g(l)){g(l).isAnimating=!1,g(l).rootPropertyValueCache={};var n=!1;m.each(v.Lists.transforms3D,function(a,b){var c=/^scale/.test(b)?1:0,e=g(l).transformCache[b];g(l).transformCache[b]!==d&&new RegExp("^\\("+c+"[^.]").test(e)&&(n=!0,delete g(l).transformCache[b])}),f.mobileHA&&(n=!0,delete g(l).transformCache.translate3d),n&&v.flushTransformCache(l),v.Values.removeClass(l,"velocity-animating")}if(!b&&f.complete&&!f.loop&&j===k-1)try{f.complete.call(e,e)}catch(o){setTimeout(function(){throw o},1)}h&&f.loop!==!0&&h(e),g(l)&&f.loop===!0&&!b&&(m.each(g(l).tweensContainer,function(a,b){/^rotate/.test(a)&&360===parseFloat(b.endValue)&&(b.endValue=0,b.startValue=360),/^backgroundPosition/.test(a)&&100===parseFloat(b.endValue)&&"%"===b.unitType&&(b.endValue=0,b.startValue=100)}),t(l,"reverse",{loop:!0,delay:f.delay})),f.queue!==!1&&m.dequeue(l,f.queue)}t.State.calls[a]=!1;for(var p=0,q=t.State.calls.length;q>p;p++)if(t.State.calls[p]!==!1){i=!0;break}i===!1&&(t.State.isTicking=!1,delete t.State.calls,t.State.calls=[])}var m,n=function(){if(c.documentMode)return c.documentMode;for(var a=7;a>4;a--){var b=c.createElement("div");if(b.innerHTML="<!--[if IE "+a+"]><span></span><![endif]-->",b.getElementsByTagName("span").length)return b=null,a}return d}(),o=function(){var a=0;return b.webkitRequestAnimationFrame||b.mozRequestAnimationFrame||function(b){var c,d=(new Date).getTime();return c=Math.max(0,16-(d-a)),a=d+c,setTimeout(function(){b(d+c)},c)}}(),p={isString:function(a){return"string"==typeof a},isArray:Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)},isFunction:function(a){return"[object Function]"===Object.prototype.toString.call(a)},isNode:function(a){return a&&a.nodeType},isNodeList:function(a){return"object"==typeof a&&/^\[object (HTMLCollection|NodeList|Object)\]$/.test(Object.prototype.toString.call(a))&&a.length!==d&&(0===a.length||"object"==typeof a[0]&&a[0].nodeType>0)},isWrapped:function(a){return a&&(a.jquery||b.Zepto&&b.Zepto.zepto.isZ(a))},isSVG:function(a){return b.SVGElement&&a instanceof b.SVGElement},isEmptyObject:function(a){for(var b in a)return!1;return!0}},q=!1;if(a.fn&&a.fn.jquery?(m=a,q=!0):m=b.Velocity.Utilities,8>=n&&!q)throw new Error("Velocity: IE8 and below require jQuery to be loaded before Velocity.");if(7>=n)return void(jQuery.fn.velocity=jQuery.fn.animate);var r=400,s="swing",t={State:{isMobile:/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),isAndroid:/Android/i.test(navigator.userAgent),isGingerbread:/Android 2\.3\.[3-7]/i.test(navigator.userAgent),isChrome:b.chrome,isFirefox:/Firefox/i.test(navigator.userAgent),prefixElement:c.createElement("div"),prefixMatches:{},scrollAnchor:null,scrollPropertyLeft:null,scrollPropertyTop:null,isTicking:!1,calls:[]},CSS:{},Utilities:m,Redirects:{},Easings:{},Promise:b.Promise,defaults:{queue:"",duration:r,easing:s,begin:d,complete:d,progress:d,display:d,visibility:d,loop:!1,delay:!1,mobileHA:!0,_cacheValues:!0},init:function(a){m.data(a,"velocity",{isSVG:p.isSVG(a),isAnimating:!1,computedStyle:null,tweensContainer:null,rootPropertyValueCache:{},transformCache:{}})},hook:null,mock:!1,version:{major:1,minor:2,patch:2},debug:!1};b.pageYOffset!==d?(t.State.scrollAnchor=b,t.State.scrollPropertyLeft="pageXOffset",t.State.scrollPropertyTop="pageYOffset"):(t.State.scrollAnchor=c.documentElement||c.body.parentNode||c.body,t.State.scrollPropertyLeft="scrollLeft",t.State.scrollPropertyTop="scrollTop");var u=function(){function a(a){return-a.tension*a.x-a.friction*a.v}function b(b,c,d){var e={x:b.x+d.dx*c,v:b.v+d.dv*c,tension:b.tension,friction:b.friction};return{dx:e.v,dv:a(e)}}function c(c,d){var e={dx:c.v,dv:a(c)},f=b(c,.5*d,e),g=b(c,.5*d,f),h=b(c,d,g),i=1/6*(e.dx+2*(f.dx+g.dx)+h.dx),j=1/6*(e.dv+2*(f.dv+g.dv)+h.dv);return c.x=c.x+i*d,c.v=c.v+j*d,c}return function d(a,b,e){var f,g,h,i={x:-1,v:0,tension:null,friction:null},j=[0],k=0,l=1e-4,m=.016;for(a=parseFloat(a)||500,b=parseFloat(b)||20,e=e||null,i.tension=a,i.friction=b,f=null!==e,f?(k=d(a,b),g=k/e*m):g=m;h=c(h||i,g),j.push(1+h.x),k+=16,Math.abs(h.x)>l&&Math.abs(h.v)>l;);return f?function(a){return j[a*(j.length-1)|0]}:k}}();t.Easings={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},spring:function(a){return 1-Math.cos(4.5*a*Math.PI)*Math.exp(6*-a)}},m.each([["ease",[.25,.1,.25,1]],["ease-in",[.42,0,1,1]],["ease-out",[0,0,.58,1]],["ease-in-out",[.42,0,.58,1]],["easeInSine",[.47,0,.745,.715]],["easeOutSine",[.39,.575,.565,1]],["easeInOutSine",[.445,.05,.55,.95]],["easeInQuad",[.55,.085,.68,.53]],["easeOutQuad",[.25,.46,.45,.94]],["easeInOutQuad",[.455,.03,.515,.955]],["easeInCubic",[.55,.055,.675,.19]],["easeOutCubic",[.215,.61,.355,1]],["easeInOutCubic",[.645,.045,.355,1]],["easeInQuart",[.895,.03,.685,.22]],["easeOutQuart",[.165,.84,.44,1]],["easeInOutQuart",[.77,0,.175,1]],["easeInQuint",[.755,.05,.855,.06]],["easeOutQuint",[.23,1,.32,1]],["easeInOutQuint",[.86,0,.07,1]],["easeInExpo",[.95,.05,.795,.035]],["easeOutExpo",[.19,1,.22,1]],["easeInOutExpo",[1,0,0,1]],["easeInCirc",[.6,.04,.98,.335]],["easeOutCirc",[.075,.82,.165,1]],["easeInOutCirc",[.785,.135,.15,.86]]],function(a,b){t.Easings[b[0]]=i.apply(null,b[1])});var v=t.CSS={RegEx:{isHex:/^#([A-f\d]{3}){1,2}$/i,valueUnwrap:/^[A-z]+\((.*)\)$/i,wrappedValueAlreadyExtracted:/[0-9.]+ [0-9.]+ [0-9.]+( [0-9.]+)?/,valueSplit:/([A-z]+\(.+\))|(([A-z0-9#-.]+?)(?=\s|$))/gi},Lists:{colors:["fill","stroke","stopColor","color","backgroundColor","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","outlineColor"],transformsBase:["translateX","translateY","scale","scaleX","scaleY","skewX","skewY","rotateZ"],transforms3D:["transformPerspective","translateZ","scaleZ","rotateX","rotateY"]},Hooks:{templates:{textShadow:["Color X Y Blur","black 0px 0px 0px"],boxShadow:["Color X Y Blur Spread","black 0px 0px 0px 0px"],clip:["Top Right Bottom Left","0px 0px 0px 0px"],backgroundPosition:["X Y","0% 0%"],transformOrigin:["X Y Z","50% 50% 0px"],perspectiveOrigin:["X Y","50% 50%"]},registered:{},register:function(){for(var a=0;a<v.Lists.colors.length;a++){var b="color"===v.Lists.colors[a]?"0 0 0 1":"255 255 255 1";v.Hooks.templates[v.Lists.colors[a]]=["Red Green Blue Alpha",b]}var c,d,e;if(n)for(c in v.Hooks.templates){d=v.Hooks.templates[c],e=d[0].split(" ");var f=d[1].match(v.RegEx.valueSplit);"Color"===e[0]&&(e.push(e.shift()),f.push(f.shift()),v.Hooks.templates[c]=[e.join(" "),f.join(" ")])}for(c in v.Hooks.templates){d=v.Hooks.templates[c],e=d[0].split(" ");for(var a in e){var g=c+e[a],h=a;v.Hooks.registered[g]=[c,h]}}},getRoot:function(a){var b=v.Hooks.registered[a];return b?b[0]:a},cleanRootPropertyValue:function(a,b){return v.RegEx.valueUnwrap.test(b)&&(b=b.match(v.RegEx.valueUnwrap)[1]),v.Values.isCSSNullValue(b)&&(b=v.Hooks.templates[a][1]),b},extractValue:function(a,b){var c=v.Hooks.registered[a];if(c){var d=c[0],e=c[1];return b=v.Hooks.cleanRootPropertyValue(d,b),b.toString().match(v.RegEx.valueSplit)[e]}return b},injectValue:function(a,b,c){var d=v.Hooks.registered[a];if(d){var e,f,g=d[0],h=d[1];return c=v.Hooks.cleanRootPropertyValue(g,c),e=c.toString().match(v.RegEx.valueSplit),e[h]=b,f=e.join(" ")}return c}},Normalizations:{registered:{clip:function(a,b,c){switch(a){case"name":return"clip";case"extract":var d;return v.RegEx.wrappedValueAlreadyExtracted.test(c)?d=c:(d=c.toString().match(v.RegEx.valueUnwrap),d=d?d[1].replace(/,(\s+)?/g," "):c),d;case"inject":return"rect("+c+")"}},blur:function(a,b,c){switch(a){case"name":return t.State.isFirefox?"filter":"-webkit-filter";case"extract":var d=parseFloat(c);if(!d&&0!==d){var e=c.toString().match(/blur\(([0-9]+[A-z]+)\)/i);d=e?e[1]:0}return d;case"inject":return parseFloat(c)?"blur("+c+")":"none"}},opacity:function(a,b,c){if(8>=n)switch(a){case"name":return"filter";case"extract":var d=c.toString().match(/alpha\(opacity=(.*)\)/i);return c=d?d[1]/100:1;case"inject":return b.style.zoom=1,parseFloat(c)>=1?"":"alpha(opacity="+parseInt(100*parseFloat(c),10)+")"}else switch(a){case"name":return"opacity";case"extract":return c;case"inject":return c}}},register:function(){9>=n||t.State.isGingerbread||(v.Lists.transformsBase=v.Lists.transformsBase.concat(v.Lists.transforms3D));for(var a=0;a<v.Lists.transformsBase.length;a++)!function(){var b=v.Lists.transformsBase[a];v.Normalizations.registered[b]=function(a,c,e){switch(a){case"name":return"transform";case"extract":return g(c)===d||g(c).transformCache[b]===d?/^scale/i.test(b)?1:0:g(c).transformCache[b].replace(/[()]/g,"");case"inject":var f=!1;switch(b.substr(0,b.length-1)){case"translate":f=!/(%|px|em|rem|vw|vh|\d)$/i.test(e);break;case"scal":case"scale":t.State.isAndroid&&g(c).transformCache[b]===d&&1>e&&(e=1),f=!/(\d)$/i.test(e);break;case"skew":f=!/(deg|\d)$/i.test(e);break;case"rotate":f=!/(deg|\d)$/i.test(e)}return f||(g(c).transformCache[b]="("+e+")"),g(c).transformCache[b]}}}();for(var a=0;a<v.Lists.colors.length;a++)!function(){var b=v.Lists.colors[a];v.Normalizations.registered[b]=function(a,c,e){switch(a){case"name":return b;case"extract":var f;if(v.RegEx.wrappedValueAlreadyExtracted.test(e))f=e;else{var g,h={black:"rgb(0, 0, 0)",blue:"rgb(0, 0, 255)",gray:"rgb(128, 128, 128)",green:"rgb(0, 128, 0)",red:"rgb(255, 0, 0)",white:"rgb(255, 255, 255)"};/^[A-z]+$/i.test(e)?g=h[e]!==d?h[e]:h.black:v.RegEx.isHex.test(e)?g="rgb("+v.Values.hexToRgb(e).join(" ")+")":/^rgba?\(/i.test(e)||(g=h.black),f=(g||e).toString().match(v.RegEx.valueUnwrap)[1].replace(/,(\s+)?/g," ")}return 8>=n||3!==f.split(" ").length||(f+=" 1"),f;case"inject":return 8>=n?4===e.split(" ").length&&(e=e.split(/\s+/).slice(0,3).join(" ")):3===e.split(" ").length&&(e+=" 1"),(8>=n?"rgb":"rgba")+"("+e.replace(/\s+/g,",").replace(/\.(\d)+(?=,)/g,"")+")"}}}()}},Names:{camelCase:function(a){return a.replace(/-(\w)/g,function(a,b){return b.toUpperCase()})},SVGAttribute:function(a){var b="width|height|x|y|cx|cy|r|rx|ry|x1|x2|y1|y2";return(n||t.State.isAndroid&&!t.State.isChrome)&&(b+="|transform"),new RegExp("^("+b+")$","i").test(a)},prefixCheck:function(a){if(t.State.prefixMatches[a])return[t.State.prefixMatches[a],!0];for(var b=["","Webkit","Moz","ms","O"],c=0,d=b.length;d>c;c++){var e;if(e=0===c?a:b[c]+a.replace(/^\w/,function(a){return a.toUpperCase()}),p.isString(t.State.prefixElement.style[e]))return t.State.prefixMatches[a]=e,[e,!0]}return[a,!1]}},Values:{hexToRgb:function(a){var b,c=/^#?([a-f\d])([a-f\d])([a-f\d])$/i,d=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i;return a=a.replace(c,function(a,b,c,d){return b+b+c+c+d+d}),b=d.exec(a),b?[parseInt(b[1],16),parseInt(b[2],16),parseInt(b[3],16)]:[0,0,0]},isCSSNullValue:function(a){return 0==a||/^(none|auto|transparent|(rgba\(0, ?0, ?0, ?0\)))$/i.test(a)},getUnitType:function(a){return/^(rotate|skew)/i.test(a)?"deg":/(^(scale|scaleX|scaleY|scaleZ|alpha|flexGrow|flexHeight|zIndex|fontWeight)$)|((opacity|red|green|blue|alpha)$)/i.test(a)?"":"px"},getDisplayType:function(a){var b=a&&a.tagName.toString().toLowerCase();return/^(b|big|i|small|tt|abbr|acronym|cite|code|dfn|em|kbd|strong|samp|var|a|bdo|br|img|map|object|q|script|span|sub|sup|button|input|label|select|textarea)$/i.test(b)?"inline":/^(li)$/i.test(b)?"list-item":/^(tr)$/i.test(b)?"table-row":/^(table)$/i.test(b)?"table":/^(tbody)$/i.test(b)?"table-row-group":"block"},addClass:function(a,b){a.classList?a.classList.add(b):a.className+=(a.className.length?" ":"")+b},removeClass:function(a,b){a.classList?a.classList.remove(b):a.className=a.className.toString().replace(new RegExp("(^|\\s)"+b.split(" ").join("|")+"(\\s|$)","gi")," ")}},getPropertyValue:function(a,c,e,f){function h(a,c){function e(){j&&v.setPropertyValue(a,"display","none")}var i=0;if(8>=n)i=m.css(a,c);else{var j=!1;if(/^(width|height)$/.test(c)&&0===v.getPropertyValue(a,"display")&&(j=!0,v.setPropertyValue(a,"display",v.Values.getDisplayType(a))),!f){if("height"===c&&"border-box"!==v.getPropertyValue(a,"boxSizing").toString().toLowerCase()){var k=a.offsetHeight-(parseFloat(v.getPropertyValue(a,"borderTopWidth"))||0)-(parseFloat(v.getPropertyValue(a,"borderBottomWidth"))||0)-(parseFloat(v.getPropertyValue(a,"paddingTop"))||0)-(parseFloat(v.getPropertyValue(a,"paddingBottom"))||0);return e(),k}if("width"===c&&"border-box"!==v.getPropertyValue(a,"boxSizing").toString().toLowerCase()){var l=a.offsetWidth-(parseFloat(v.getPropertyValue(a,"borderLeftWidth"))||0)-(parseFloat(v.getPropertyValue(a,"borderRightWidth"))||0)-(parseFloat(v.getPropertyValue(a,"paddingLeft"))||0)-(parseFloat(v.getPropertyValue(a,"paddingRight"))||0);return e(),l}}var o;o=g(a)===d?b.getComputedStyle(a,null):g(a).computedStyle?g(a).computedStyle:g(a).computedStyle=b.getComputedStyle(a,null),"borderColor"===c&&(c="borderTopColor"),i=9===n&&"filter"===c?o.getPropertyValue(c):o[c],(""===i||null===i)&&(i=a.style[c]),e()}if("auto"===i&&/^(top|right|bottom|left)$/i.test(c)){var p=h(a,"position");("fixed"===p||"absolute"===p&&/top|left/i.test(c))&&(i=m(a).position()[c]+"px")}return i}var i;if(v.Hooks.registered[c]){var j=c,k=v.Hooks.getRoot(j);e===d&&(e=v.getPropertyValue(a,v.Names.prefixCheck(k)[0])),v.Normalizations.registered[k]&&(e=v.Normalizations.registered[k]("extract",a,e)),i=v.Hooks.extractValue(j,e)}else if(v.Normalizations.registered[c]){var l,o;l=v.Normalizations.registered[c]("name",a),"transform"!==l&&(o=h(a,v.Names.prefixCheck(l)[0]),v.Values.isCSSNullValue(o)&&v.Hooks.templates[c]&&(o=v.Hooks.templates[c][1])),i=v.Normalizations.registered[c]("extract",a,o)}if(!/^[\d-]/.test(i))if(g(a)&&g(a).isSVG&&v.Names.SVGAttribute(c))if(/^(height|width)$/i.test(c))try{i=a.getBBox()[c]}catch(p){i=0}else i=a.getAttribute(c);else i=h(a,v.Names.prefixCheck(c)[0]);return v.Values.isCSSNullValue(i)&&(i=0),t.debug>=2&&console.log("Get "+c+": "+i),i},setPropertyValue:function(a,c,d,e,f){var h=c;if("scroll"===c)f.container?f.container["scroll"+f.direction]=d:"Left"===f.direction?b.scrollTo(d,f.alternateValue):b.scrollTo(f.alternateValue,d);else if(v.Normalizations.registered[c]&&"transform"===v.Normalizations.registered[c]("name",a))v.Normalizations.registered[c]("inject",a,d),h="transform",d=g(a).transformCache[c];else{if(v.Hooks.registered[c]){var i=c,j=v.Hooks.getRoot(c);e=e||v.getPropertyValue(a,j),d=v.Hooks.injectValue(i,d,e),c=j}if(v.Normalizations.registered[c]&&(d=v.Normalizations.registered[c]("inject",a,d),c=v.Normalizations.registered[c]("name",a)),h=v.Names.prefixCheck(c)[0],8>=n)try{a.style[h]=d}catch(k){t.debug&&console.log("Browser does not support ["+d+"] for ["+h+"]")}else g(a)&&g(a).isSVG&&v.Names.SVGAttribute(c)?a.setAttribute(c,d):a.style[h]=d;t.debug>=2&&console.log("Set "+c+" ("+h+"): "+d)}return[h,d]},flushTransformCache:function(a){function b(b){return parseFloat(v.getPropertyValue(a,b))}var c="";if((n||t.State.isAndroid&&!t.State.isChrome)&&g(a).isSVG){var d={translate:[b("translateX"),b("translateY")],skewX:[b("skewX")],skewY:[b("skewY")],scale:1!==b("scale")?[b("scale"),b("scale")]:[b("scaleX"),b("scaleY")],rotate:[b("rotateZ"),0,0]};m.each(g(a).transformCache,function(a){/^translate/i.test(a)?a="translate":/^scale/i.test(a)?a="scale":/^rotate/i.test(a)&&(a="rotate"),d[a]&&(c+=a+"("+d[a].join(" ")+") ",delete d[a])})}else{var e,f;m.each(g(a).transformCache,function(b){return e=g(a).transformCache[b],"transformPerspective"===b?(f=e,!0):(9===n&&"rotateZ"===b&&(b="rotate"),void(c+=b+e+" "))}),f&&(c="perspective"+f+" "+c)}v.setPropertyValue(a,"transform",c)}};v.Hooks.register(),v.Normalizations.register(),t.hook=function(a,b,c){var e=d;return a=f(a),m.each(a,function(a,f){if(g(f)===d&&t.init(f),c===d)e===d&&(e=t.CSS.getPropertyValue(f,b));else{var h=t.CSS.setPropertyValue(f,b,c);"transform"===h[0]&&t.CSS.flushTransformCache(f),e=h}}),e};var w=function(){function a(){return h?B.promise||null:i}function e(){function a(a){function l(a,b){var c=d,e=d,g=d;return p.isArray(a)?(c=a[0],!p.isArray(a[1])&&/^[\d-]/.test(a[1])||p.isFunction(a[1])||v.RegEx.isHex.test(a[1])?g=a[1]:(p.isString(a[1])&&!v.RegEx.isHex.test(a[1])||p.isArray(a[1]))&&(e=b?a[1]:j(a[1],h.duration),a[2]!==d&&(g=a[2]))):c=a,b||(e=e||h.easing),p.isFunction(c)&&(c=c.call(f,y,x)),p.isFunction(g)&&(g=g.call(f,y,x)),[c||0,e,g]}function n(a,b){var c,d;return d=(b||"0").toString().toLowerCase().replace(/[%A-z]+$/,function(a){return c=a,""}),c||(c=v.Values.getUnitType(a)),[d,c]}function r(){var a={myParent:f.parentNode||c.body,position:v.getPropertyValue(f,"position"),fontSize:v.getPropertyValue(f,"fontSize")},d=a.position===I.lastPosition&&a.myParent===I.lastParent,e=a.fontSize===I.lastFontSize;I.lastParent=a.myParent,I.lastPosition=a.position,I.lastFontSize=a.fontSize;var h=100,i={};if(e&&d)i.emToPx=I.lastEmToPx,i.percentToPxWidth=I.lastPercentToPxWidth,i.percentToPxHeight=I.lastPercentToPxHeight;else{var j=g(f).isSVG?c.createElementNS("http://www.w3.org/2000/svg","rect"):c.createElement("div");t.init(j),a.myParent.appendChild(j),m.each(["overflow","overflowX","overflowY"],function(a,b){t.CSS.setPropertyValue(j,b,"hidden")}),t.CSS.setPropertyValue(j,"position",a.position),t.CSS.setPropertyValue(j,"fontSize",a.fontSize),t.CSS.setPropertyValue(j,"boxSizing","content-box"),m.each(["minWidth","maxWidth","width","minHeight","maxHeight","height"],function(a,b){t.CSS.setPropertyValue(j,b,h+"%")}),t.CSS.setPropertyValue(j,"paddingLeft",h+"em"),i.percentToPxWidth=I.lastPercentToPxWidth=(parseFloat(v.getPropertyValue(j,"width",null,!0))||1)/h,i.percentToPxHeight=I.lastPercentToPxHeight=(parseFloat(v.getPropertyValue(j,"height",null,!0))||1)/h,i.emToPx=I.lastEmToPx=(parseFloat(v.getPropertyValue(j,"paddingLeft"))||1)/h,a.myParent.removeChild(j)}return null===I.remToPx&&(I.remToPx=parseFloat(v.getPropertyValue(c.body,"fontSize"))||16),null===I.vwToPx&&(I.vwToPx=parseFloat(b.innerWidth)/100,I.vhToPx=parseFloat(b.innerHeight)/100),i.remToPx=I.remToPx,i.vwToPx=I.vwToPx,i.vhToPx=I.vhToPx,t.debug>=1&&console.log("Unit ratios: "+JSON.stringify(i),f),i}if(h.begin&&0===y)try{h.begin.call(o,o)}catch(u){setTimeout(function(){throw u},1)}if("scroll"===C){var w,z,A,D=/^x$/i.test(h.axis)?"Left":"Top",E=parseFloat(h.offset)||0;h.container?p.isWrapped(h.container)||p.isNode(h.container)?(h.container=h.container[0]||h.container,w=h.container["scroll"+D],A=w+m(f).position()[D.toLowerCase()]+E):h.container=null:(w=t.State.scrollAnchor[t.State["scrollProperty"+D]],z=t.State.scrollAnchor[t.State["scrollProperty"+("Left"===D?"Top":"Left")]],A=m(f).offset()[D.toLowerCase()]+E),i={scroll:{rootPropertyValue:!1,startValue:w,currentValue:w,endValue:A,unitType:"",easing:h.easing,scrollData:{container:h.container,direction:D,alternateValue:z}},element:f},t.debug&&console.log("tweensContainer (scroll): ",i.scroll,f)}else if("reverse"===C){if(!g(f).tweensContainer)return void m.dequeue(f,h.queue);"none"===g(f).opts.display&&(g(f).opts.display="auto"),"hidden"===g(f).opts.visibility&&(g(f).opts.visibility="visible"),g(f).opts.loop=!1,g(f).opts.begin=null,g(f).opts.complete=null,s.easing||delete h.easing,s.duration||delete h.duration,h=m.extend({},g(f).opts,h);var F=m.extend(!0,{},g(f).tweensContainer);for(var G in F)if("element"!==G){var H=F[G].startValue;F[G].startValue=F[G].currentValue=F[G].endValue,F[G].endValue=H,p.isEmptyObject(s)||(F[G].easing=h.easing),t.debug&&console.log("reverse tweensContainer ("+G+"): "+JSON.stringify(F[G]),f)}i=F}else if("start"===C){var F;g(f).tweensContainer&&g(f).isAnimating===!0&&(F=g(f).tweensContainer),m.each(q,function(a,b){if(RegExp("^"+v.Lists.colors.join("$|^")+"$").test(a)){var c=l(b,!0),e=c[0],f=c[1],g=c[2];if(v.RegEx.isHex.test(e)){for(var h=["Red","Green","Blue"],i=v.Values.hexToRgb(e),j=g?v.Values.hexToRgb(g):d,k=0;k<h.length;k++){var m=[i[k]];f&&m.push(f),j!==d&&m.push(j[k]),q[a+h[k]]=m}delete q[a]}}});for(var K in q){var L=l(q[K]),M=L[0],N=L[1],O=L[2];K=v.Names.camelCase(K);var P=v.Hooks.getRoot(K),Q=!1;if(g(f).isSVG||"tween"===P||v.Names.prefixCheck(P)[1]!==!1||v.Normalizations.registered[P]!==d){(h.display!==d&&null!==h.display&&"none"!==h.display||h.visibility!==d&&"hidden"!==h.visibility)&&/opacity|filter/.test(K)&&!O&&0!==M&&(O=0),h._cacheValues&&F&&F[K]?(O===d&&(O=F[K].endValue+F[K].unitType),Q=g(f).rootPropertyValueCache[P]):v.Hooks.registered[K]?O===d?(Q=v.getPropertyValue(f,P),O=v.getPropertyValue(f,K,Q)):Q=v.Hooks.templates[P][1]:O===d&&(O=v.getPropertyValue(f,K));var R,S,T,U=!1;if(R=n(K,O),O=R[0],T=R[1],R=n(K,M),M=R[0].replace(/^([+-\/*])=/,function(a,b){return U=b,""}),S=R[1],O=parseFloat(O)||0,M=parseFloat(M)||0,"%"===S&&(/^(fontSize|lineHeight)$/.test(K)?(M/=100,S="em"):/^scale/.test(K)?(M/=100,S=""):/(Red|Green|Blue)$/i.test(K)&&(M=M/100*255,S="")),/[\/*]/.test(U))S=T;else if(T!==S&&0!==O)if(0===M)S=T;else{e=e||r();var V=/margin|padding|left|right|width|text|word|letter/i.test(K)||/X$/.test(K)||"x"===K?"x":"y";
|
7 |
-
switch(T){case"%":O*="x"===V?e.percentToPxWidth:e.percentToPxHeight;break;case"px":break;default:O*=e[T+"ToPx"]}switch(S){case"%":O*=1/("x"===V?e.percentToPxWidth:e.percentToPxHeight);break;case"px":break;default:O*=1/e[S+"ToPx"]}}switch(U){case"+":M=O+M;break;case"-":M=O-M;break;case"*":M=O*M;break;case"/":M=O/M}i[K]={rootPropertyValue:Q,startValue:O,currentValue:O,endValue:M,unitType:S,easing:N},t.debug&&console.log("tweensContainer ("+K+"): "+JSON.stringify(i[K]),f)}else t.debug&&console.log("Skipping ["+P+"] due to a lack of browser support.")}i.element=f}i.element&&(v.Values.addClass(f,"velocity-animating"),J.push(i),""===h.queue&&(g(f).tweensContainer=i,g(f).opts=h),g(f).isAnimating=!0,y===x-1?(t.State.calls.push([J,o,h,null,B.resolver]),t.State.isTicking===!1&&(t.State.isTicking=!0,k())):y++)}var e,f=this,h=m.extend({},t.defaults,s),i={};switch(g(f)===d&&t.init(f),parseFloat(h.delay)&&h.queue!==!1&&m.queue(f,h.queue,function(a){t.velocityQueueEntryFlag=!0,g(f).delayTimer={setTimeout:setTimeout(a,parseFloat(h.delay)),next:a}}),h.duration.toString().toLowerCase()){case"fast":h.duration=200;break;case"normal":h.duration=r;break;case"slow":h.duration=600;break;default:h.duration=parseFloat(h.duration)||1}t.mock!==!1&&(t.mock===!0?h.duration=h.delay=1:(h.duration*=parseFloat(t.mock)||1,h.delay*=parseFloat(t.mock)||1)),h.easing=j(h.easing,h.duration),h.begin&&!p.isFunction(h.begin)&&(h.begin=null),h.progress&&!p.isFunction(h.progress)&&(h.progress=null),h.complete&&!p.isFunction(h.complete)&&(h.complete=null),h.display!==d&&null!==h.display&&(h.display=h.display.toString().toLowerCase(),"auto"===h.display&&(h.display=t.CSS.Values.getDisplayType(f))),h.visibility!==d&&null!==h.visibility&&(h.visibility=h.visibility.toString().toLowerCase()),h.mobileHA=h.mobileHA&&t.State.isMobile&&!t.State.isGingerbread,h.queue===!1?h.delay?setTimeout(a,h.delay):a():m.queue(f,h.queue,function(b,c){return c===!0?(B.promise&&B.resolver(o),!0):(t.velocityQueueEntryFlag=!0,void a(b))}),""!==h.queue&&"fx"!==h.queue||"inprogress"===m.queue(f)[0]||m.dequeue(f)}var h,i,n,o,q,s,u=arguments[0]&&(arguments[0].p||m.isPlainObject(arguments[0].properties)&&!arguments[0].properties.names||p.isString(arguments[0].properties));if(p.isWrapped(this)?(h=!1,n=0,o=this,i=this):(h=!0,n=1,o=u?arguments[0].elements||arguments[0].e:arguments[0]),o=f(o)){u?(q=arguments[0].properties||arguments[0].p,s=arguments[0].options||arguments[0].o):(q=arguments[n],s=arguments[n+1]);var x=o.length,y=0;if(!/^(stop|finish)$/i.test(q)&&!m.isPlainObject(s)){var z=n+1;s={};for(var A=z;A<arguments.length;A++)p.isArray(arguments[A])||!/^(fast|normal|slow)$/i.test(arguments[A])&&!/^\d/.test(arguments[A])?p.isString(arguments[A])||p.isArray(arguments[A])?s.easing=arguments[A]:p.isFunction(arguments[A])&&(s.complete=arguments[A]):s.duration=arguments[A]}var B={promise:null,resolver:null,rejecter:null};h&&t.Promise&&(B.promise=new t.Promise(function(a,b){B.resolver=a,B.rejecter=b}));var C;switch(q){case"scroll":C="scroll";break;case"reverse":C="reverse";break;case"finish":case"stop":m.each(o,function(a,b){g(b)&&g(b).delayTimer&&(clearTimeout(g(b).delayTimer.setTimeout),g(b).delayTimer.next&&g(b).delayTimer.next(),delete g(b).delayTimer)});var D=[];return m.each(t.State.calls,function(a,b){b&&m.each(b[1],function(c,e){var f=s===d?"":s;return f===!0||b[2].queue===f||s===d&&b[2].queue===!1?void m.each(o,function(c,d){d===e&&((s===!0||p.isString(s))&&(m.each(m.queue(d,p.isString(s)?s:""),function(a,b){p.isFunction(b)&&b(null,!0)}),m.queue(d,p.isString(s)?s:"",[])),"stop"===q?(g(d)&&g(d).tweensContainer&&f!==!1&&m.each(g(d).tweensContainer,function(a,b){b.endValue=b.currentValue}),D.push(a)):"finish"===q&&(b[2].duration=1))}):!0})}),"stop"===q&&(m.each(D,function(a,b){l(b,!0)}),B.promise&&B.resolver(o)),a();default:if(!m.isPlainObject(q)||p.isEmptyObject(q)){if(p.isString(q)&&t.Redirects[q]){var E=m.extend({},s),F=E.duration,G=E.delay||0;return E.backwards===!0&&(o=m.extend(!0,[],o).reverse()),m.each(o,function(a,b){parseFloat(E.stagger)?E.delay=G+parseFloat(E.stagger)*a:p.isFunction(E.stagger)&&(E.delay=G+E.stagger.call(b,a,x)),E.drag&&(E.duration=parseFloat(F)||(/^(callout|transition)/.test(q)?1e3:r),E.duration=Math.max(E.duration*(E.backwards?1-a/x:(a+1)/x),.75*E.duration,200)),t.Redirects[q].call(b,b,E||{},a,x,o,B.promise?B:d)}),a()}var H="Velocity: First argument ("+q+") was not a property map, a known action, or a registered redirect. Aborting.";return B.promise?B.rejecter(new Error(H)):console.log(H),a()}C="start"}var I={lastParent:null,lastPosition:null,lastFontSize:null,lastPercentToPxWidth:null,lastPercentToPxHeight:null,lastEmToPx:null,remToPx:null,vwToPx:null,vhToPx:null},J=[];m.each(o,function(a,b){p.isNode(b)&&e.call(b)});var K,E=m.extend({},t.defaults,s);if(E.loop=parseInt(E.loop),K=2*E.loop-1,E.loop)for(var L=0;K>L;L++){var M={delay:E.delay,progress:E.progress};L===K-1&&(M.display=E.display,M.visibility=E.visibility,M.complete=E.complete),w(o,"reverse",M)}return a()}};t=m.extend(w,t),t.animate=w;var x=b.requestAnimationFrame||o;return t.State.isMobile||c.hidden===d||c.addEventListener("visibilitychange",function(){c.hidden?(x=function(a){return setTimeout(function(){a(!0)},16)},k()):x=b.requestAnimationFrame||o}),a.Velocity=t,a!==b&&(a.fn.velocity=w,a.fn.velocity.defaults=t.defaults),m.each(["Down","Up"],function(a,b){t.Redirects["slide"+b]=function(a,c,e,f,g,h){var i=m.extend({},c),j=i.begin,k=i.complete,l={height:"",marginTop:"",marginBottom:"",paddingTop:"",paddingBottom:""},n={};i.display===d&&(i.display="Down"===b?"inline"===t.CSS.Values.getDisplayType(a)?"inline-block":"block":"none"),i.begin=function(){j&&j.call(g,g);for(var c in l){n[c]=a.style[c];var d=t.CSS.getPropertyValue(a,c);l[c]="Down"===b?[d,0]:[0,d]}n.overflow=a.style.overflow,a.style.overflow="hidden"},i.complete=function(){for(var b in n)a.style[b]=n[b];k&&k.call(g,g),h&&h.resolver(g)},t(a,l,i)}}),m.each(["In","Out"],function(a,b){t.Redirects["fade"+b]=function(a,c,e,f,g,h){var i=m.extend({},c),j={opacity:"In"===b?1:0},k=i.complete;i.complete=e!==f-1?i.begin=null:function(){k&&k.call(g,g),h&&h.resolver(g)},i.display===d&&(i.display="In"===b?"auto":"none"),t(this,j,i)}}),t}(window.jQuery||window.Zepto||window,window,document)})),!function(a,b,c,d){"use strict";function e(a,b,c){return setTimeout(k(a,c),b)}function f(a,b,c){return Array.isArray(a)?(g(a,c[b],c),!0):!1}function g(a,b,c){var e;if(a)if(a.forEach)a.forEach(b,c);else if(a.length!==d)for(e=0;e<a.length;)b.call(c,a[e],e,a),e++;else for(e in a)a.hasOwnProperty(e)&&b.call(c,a[e],e,a)}function h(a,b,c){for(var e=Object.keys(b),f=0;f<e.length;)(!c||c&&a[e[f]]===d)&&(a[e[f]]=b[e[f]]),f++;return a}function i(a,b){return h(a,b,!0)}function j(a,b,c){var d,e=b.prototype;d=a.prototype=Object.create(e),d.constructor=a,d._super=e,c&&h(d,c)}function k(a,b){return function(){return a.apply(b,arguments)}}function l(a,b){return typeof a==ka?a.apply(b?b[0]||d:d,b):a}function m(a,b){return a===d?b:a}function n(a,b,c){g(r(b),function(b){a.addEventListener(b,c,!1)})}function o(a,b,c){g(r(b),function(b){a.removeEventListener(b,c,!1)})}function p(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1}function q(a,b){return a.indexOf(b)>-1}function r(a){return a.trim().split(/\s+/g)}function s(a,b,c){if(a.indexOf&&!c)return a.indexOf(b);for(var d=0;d<a.length;){if(c&&a[d][c]==b||!c&&a[d]===b)return d;d++}return-1}function t(a){return Array.prototype.slice.call(a,0)}function u(a,b,c){for(var d=[],e=[],f=0;f<a.length;){var g=b?a[f][b]:a[f];s(e,g)<0&&d.push(a[f]),e[f]=g,f++}return c&&(d=b?d.sort(function(a,c){return a[b]>c[b]}):d.sort()),d}function v(a,b){for(var c,e,f=b[0].toUpperCase()+b.slice(1),g=0;g<ia.length;){if(c=ia[g],e=c?c+f:b,e in a)return e;g++}return d}function w(){return oa++}function x(a){var b=a.ownerDocument;return b.defaultView||b.parentWindow}function y(a,b){var c=this;this.manager=a,this.callback=b,this.element=a.element,this.target=a.options.inputTarget,this.domHandler=function(b){l(a.options.enable,[a])&&c.handler(b)},this.init()}function z(a){var b,c=a.options.inputClass;return new(b=c?c:ra?N:sa?Q:qa?S:M)(a,A)}function A(a,b,c){var d=c.pointers.length,e=c.changedPointers.length,f=b&ya&&0===d-e,g=b&(Aa|Ba)&&0===d-e;c.isFirst=!!f,c.isFinal=!!g,f&&(a.session={}),c.eventType=b,B(a,c),a.emit("hammer.input",c),a.recognize(c),a.session.prevInput=c}function B(a,b){var c=a.session,d=b.pointers,e=d.length;c.firstInput||(c.firstInput=E(b)),e>1&&!c.firstMultiple?c.firstMultiple=E(b):1===e&&(c.firstMultiple=!1);var f=c.firstInput,g=c.firstMultiple,h=g?g.center:f.center,i=b.center=F(d);b.timeStamp=na(),b.deltaTime=b.timeStamp-f.timeStamp,b.angle=J(h,i),b.distance=I(h,i),C(c,b),b.offsetDirection=H(b.deltaX,b.deltaY),b.scale=g?L(g.pointers,d):1,b.rotation=g?K(g.pointers,d):0,D(c,b);var j=a.element;p(b.srcEvent.target,j)&&(j=b.srcEvent.target),b.target=j}function C(a,b){var c=b.center,d=a.offsetDelta||{},e=a.prevDelta||{},f=a.prevInput||{};(b.eventType===ya||f.eventType===Aa)&&(e=a.prevDelta={x:f.deltaX||0,y:f.deltaY||0},d=a.offsetDelta={x:c.x,y:c.y}),b.deltaX=e.x+(c.x-d.x),b.deltaY=e.y+(c.y-d.y)}function D(a,b){var c,e,f,g,h=a.lastInterval||b,i=b.timeStamp-h.timeStamp;if(b.eventType!=Ba&&(i>xa||h.velocity===d)){var j=h.deltaX-b.deltaX,k=h.deltaY-b.deltaY,l=G(i,j,k);e=l.x,f=l.y,c=ma(l.x)>ma(l.y)?l.x:l.y,g=H(j,k),a.lastInterval=b}else c=h.velocity,e=h.velocityX,f=h.velocityY,g=h.direction;b.velocity=c,b.velocityX=e,b.velocityY=f,b.direction=g}function E(a){for(var b=[],c=0;c<a.pointers.length;)b[c]={clientX:la(a.pointers[c].clientX),clientY:la(a.pointers[c].clientY)},c++;return{timeStamp:na(),pointers:b,center:F(b),deltaX:a.deltaX,deltaY:a.deltaY}}function F(a){var b=a.length;if(1===b)return{x:la(a[0].clientX),y:la(a[0].clientY)};for(var c=0,d=0,e=0;b>e;)c+=a[e].clientX,d+=a[e].clientY,e++;return{x:la(c/b),y:la(d/b)}}function G(a,b,c){return{x:b/a||0,y:c/a||0}}function H(a,b){return a===b?Ca:ma(a)>=ma(b)?a>0?Da:Ea:b>0?Fa:Ga}function I(a,b,c){c||(c=Ka);var d=b[c[0]]-a[c[0]],e=b[c[1]]-a[c[1]];return Math.sqrt(d*d+e*e)}function J(a,b,c){c||(c=Ka);var d=b[c[0]]-a[c[0]],e=b[c[1]]-a[c[1]];return 180*Math.atan2(e,d)/Math.PI}function K(a,b){return J(b[1],b[0],La)-J(a[1],a[0],La)}function L(a,b){return I(b[0],b[1],La)/I(a[0],a[1],La)}function M(){this.evEl=Na,this.evWin=Oa,this.allow=!0,this.pressed=!1,y.apply(this,arguments)}function N(){this.evEl=Ra,this.evWin=Sa,y.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function O(){this.evTarget=Ua,this.evWin=Va,this.started=!1,y.apply(this,arguments)}function P(a,b){var c=t(a.touches),d=t(a.changedTouches);return b&(Aa|Ba)&&(c=u(c.concat(d),"identifier",!0)),[c,d]}function Q(){this.evTarget=Xa,this.targetIds={},y.apply(this,arguments)}function R(a,b){var c=t(a.touches),d=this.targetIds;if(b&(ya|za)&&1===c.length)return d[c[0].identifier]=!0,[c,c];var e,f,g=t(a.changedTouches),h=[],i=this.target;if(f=c.filter(function(a){return p(a.target,i)}),b===ya)for(e=0;e<f.length;)d[f[e].identifier]=!0,e++;for(e=0;e<g.length;)d[g[e].identifier]&&h.push(g[e]),b&(Aa|Ba)&&delete d[g[e].identifier],e++;return h.length?[u(f.concat(h),"identifier",!0),h]:void 0}function S(){y.apply(this,arguments);var a=k(this.handler,this);this.touch=new Q(this.manager,a),this.mouse=new M(this.manager,a)}function T(a,b){this.manager=a,this.set(b)}function U(a){if(q(a,bb))return bb;var b=q(a,cb),c=q(a,db);return b&&c?cb+" "+db:b||c?b?cb:db:q(a,ab)?ab:_a}function V(a){this.id=w(),this.manager=null,this.options=i(a||{},this.defaults),this.options.enable=m(this.options.enable,!0),this.state=eb,this.simultaneous={},this.requireFail=[]}function W(a){return a&jb?"cancel":a&hb?"end":a&gb?"move":a&fb?"start":""}function X(a){return a==Ga?"down":a==Fa?"up":a==Da?"left":a==Ea?"right":""}function Y(a,b){var c=b.manager;return c?c.get(a):a}function Z(){V.apply(this,arguments)}function $(){Z.apply(this,arguments),this.pX=null,this.pY=null}function _(){Z.apply(this,arguments)}function aa(){V.apply(this,arguments),this._timer=null,this._input=null}function ba(){Z.apply(this,arguments)}function ca(){Z.apply(this,arguments)}function da(){V.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}function ea(a,b){return b=b||{},b.recognizers=m(b.recognizers,ea.defaults.preset),new fa(a,b)}function fa(a,b){b=b||{},this.options=i(b,ea.defaults),this.options.inputTarget=this.options.inputTarget||a,this.handlers={},this.session={},this.recognizers=[],this.element=a,this.input=z(this),this.touchAction=new T(this,this.options.touchAction),ga(this,!0),g(b.recognizers,function(a){var b=this.add(new a[0](a[1]));a[2]&&b.recognizeWith(a[2]),a[3]&&b.requireFailure(a[3])},this)}function ga(a,b){var c=a.element;g(a.options.cssProps,function(a,d){c.style[v(c.style,d)]=b?a:""})}function ha(a,c){var d=b.createEvent("Event");d.initEvent(a,!0,!0),d.gesture=c,c.target.dispatchEvent(d)}var ia=["","webkit","moz","MS","ms","o"],ja=b.createElement("div"),ka="function",la=Math.round,ma=Math.abs,na=Date.now,oa=1,pa=/mobile|tablet|ip(ad|hone|od)|android/i,qa="ontouchstart"in a,ra=v(a,"PointerEvent")!==d,sa=qa&&pa.test(navigator.userAgent),ta="touch",ua="pen",va="mouse",wa="kinect",xa=25,ya=1,za=2,Aa=4,Ba=8,Ca=1,Da=2,Ea=4,Fa=8,Ga=16,Ha=Da|Ea,Ia=Fa|Ga,Ja=Ha|Ia,Ka=["x","y"],La=["clientX","clientY"];y.prototype={handler:function(){},init:function(){this.evEl&&n(this.element,this.evEl,this.domHandler),this.evTarget&&n(this.target,this.evTarget,this.domHandler),this.evWin&&n(x(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&o(this.element,this.evEl,this.domHandler),this.evTarget&&o(this.target,this.evTarget,this.domHandler),this.evWin&&o(x(this.element),this.evWin,this.domHandler)}};var Ma={mousedown:ya,mousemove:za,mouseup:Aa},Na="mousedown",Oa="mousemove mouseup";j(M,y,{handler:function(a){var b=Ma[a.type];b&ya&&0===a.button&&(this.pressed=!0),b&za&&1!==a.which&&(b=Aa),this.pressed&&this.allow&&(b&Aa&&(this.pressed=!1),this.callback(this.manager,b,{pointers:[a],changedPointers:[a],pointerType:va,srcEvent:a}))}});var Pa={pointerdown:ya,pointermove:za,pointerup:Aa,pointercancel:Ba,pointerout:Ba},Qa={2:ta,3:ua,4:va,5:wa},Ra="pointerdown",Sa="pointermove pointerup pointercancel";a.MSPointerEvent&&(Ra="MSPointerDown",Sa="MSPointerMove MSPointerUp MSPointerCancel"),j(N,y,{handler:function(a){var b=this.store,c=!1,d=a.type.toLowerCase().replace("ms",""),e=Pa[d],f=Qa[a.pointerType]||a.pointerType,g=f==ta,h=s(b,a.pointerId,"pointerId");e&ya&&(0===a.button||g)?0>h&&(b.push(a),h=b.length-1):e&(Aa|Ba)&&(c=!0),0>h||(b[h]=a,this.callback(this.manager,e,{pointers:b,changedPointers:[a],pointerType:f,srcEvent:a}),c&&b.splice(h,1))}});var Ta={touchstart:ya,touchmove:za,touchend:Aa,touchcancel:Ba},Ua="touchstart",Va="touchstart touchmove touchend touchcancel";j(O,y,{handler:function(a){var b=Ta[a.type];if(b===ya&&(this.started=!0),this.started){var c=P.call(this,a,b);b&(Aa|Ba)&&0===c[0].length-c[1].length&&(this.started=!1),this.callback(this.manager,b,{pointers:c[0],changedPointers:c[1],pointerType:ta,srcEvent:a})}}});var Wa={touchstart:ya,touchmove:za,touchend:Aa,touchcancel:Ba},Xa="touchstart touchmove touchend touchcancel";j(Q,y,{handler:function(a){var b=Wa[a.type],c=R.call(this,a,b);c&&this.callback(this.manager,b,{pointers:c[0],changedPointers:c[1],pointerType:ta,srcEvent:a})}}),j(S,y,{handler:function(a,b,c){var d=c.pointerType==ta,e=c.pointerType==va;if(d)this.mouse.allow=!1;else if(e&&!this.mouse.allow)return;b&(Aa|Ba)&&(this.mouse.allow=!0),this.callback(a,b,c)},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var Ya=v(ja.style,"touchAction"),Za=Ya!==d,$a="compute",_a="auto",ab="manipulation",bb="none",cb="pan-x",db="pan-y";T.prototype={set:function(a){a==$a&&(a=this.compute()),Za&&(this.manager.element.style[Ya]=a),this.actions=a.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var a=[];return g(this.manager.recognizers,function(b){l(b.options.enable,[b])&&(a=a.concat(b.getTouchAction()))}),U(a.join(" "))},preventDefaults:function(a){if(!Za){var b=a.srcEvent,c=a.offsetDirection;if(this.manager.session.prevented)return void b.preventDefault();var d=this.actions,e=q(d,bb),f=q(d,db),g=q(d,cb);return e||f&&c&Ha||g&&c&Ia?this.preventSrc(b):void 0}},preventSrc:function(a){this.manager.session.prevented=!0,a.preventDefault()}};var eb=1,fb=2,gb=4,hb=8,ib=hb,jb=16,kb=32;V.prototype={defaults:{},set:function(a){return h(this.options,a),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(a){if(f(a,"recognizeWith",this))return this;var b=this.simultaneous;return a=Y(a,this),b[a.id]||(b[a.id]=a,a.recognizeWith(this)),this},dropRecognizeWith:function(a){return f(a,"dropRecognizeWith",this)?this:(a=Y(a,this),delete this.simultaneous[a.id],this)},requireFailure:function(a){if(f(a,"requireFailure",this))return this;var b=this.requireFail;return a=Y(a,this),-1===s(b,a)&&(b.push(a),a.requireFailure(this)),this},dropRequireFailure:function(a){if(f(a,"dropRequireFailure",this))return this;a=Y(a,this);var b=s(this.requireFail,a);return b>-1&&this.requireFail.splice(b,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(a){return!!this.simultaneous[a.id]},emit:function(a){function b(b){c.manager.emit(c.options.event+(b?W(d):""),a)}var c=this,d=this.state;hb>d&&b(!0),b(),d>=hb&&b(!0)},tryEmit:function(a){return this.canEmit()?this.emit(a):void(this.state=kb)},canEmit:function(){for(var a=0;a<this.requireFail.length;){if(!(this.requireFail[a].state&(kb|eb)))return!1;a++}return!0},recognize:function(a){var b=h({},a);return l(this.options.enable,[this,b])?(this.state&(ib|jb|kb)&&(this.state=eb),this.state=this.process(b),void(this.state&(fb|gb|hb|jb)&&this.tryEmit(b))):(this.reset(),void(this.state=kb))},process:function(){},getTouchAction:function(){},reset:function(){}},j(Z,V,{defaults:{pointers:1},attrTest:function(a){var b=this.options.pointers;return 0===b||a.pointers.length===b},process:function(a){var b=this.state,c=a.eventType,d=b&(fb|gb),e=this.attrTest(a);return d&&(c&Ba||!e)?b|jb:d||e?c&Aa?b|hb:b&fb?b|gb:fb:kb}}),j($,Z,{defaults:{event:"pan",threshold:10,pointers:1,direction:Ja},getTouchAction:function(){var a=this.options.direction,b=[];return a&Ha&&b.push(db),a&Ia&&b.push(cb),b},directionTest:function(a){var b=this.options,c=!0,d=a.distance,e=a.direction,f=a.deltaX,g=a.deltaY;return e&b.direction||(b.direction&Ha?(e=0===f?Ca:0>f?Da:Ea,c=f!=this.pX,d=Math.abs(a.deltaX)):(e=0===g?Ca:0>g?Fa:Ga,c=g!=this.pY,d=Math.abs(a.deltaY))),a.direction=e,c&&d>b.threshold&&e&b.direction},attrTest:function(a){return Z.prototype.attrTest.call(this,a)&&(this.state&fb||!(this.state&fb)&&this.directionTest(a))},emit:function(a){this.pX=a.deltaX,this.pY=a.deltaY;var b=X(a.direction);b&&this.manager.emit(this.options.event+b,a),this._super.emit.call(this,a)}}),j(_,Z,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[bb]},attrTest:function(a){return this._super.attrTest.call(this,a)&&(Math.abs(a.scale-1)>this.options.threshold||this.state&fb)},emit:function(a){if(this._super.emit.call(this,a),1!==a.scale){var b=a.scale<1?"in":"out";this.manager.emit(this.options.event+b,a)}}}),j(aa,V,{defaults:{event:"press",pointers:1,time:500,threshold:5},getTouchAction:function(){return[_a]},process:function(a){var b=this.options,c=a.pointers.length===b.pointers,d=a.distance<b.threshold,f=a.deltaTime>b.time;if(this._input=a,!d||!c||a.eventType&(Aa|Ba)&&!f)this.reset();else if(a.eventType&ya)this.reset(),this._timer=e(function(){this.state=ib,this.tryEmit()},b.time,this);else if(a.eventType&Aa)return ib;return kb},reset:function(){clearTimeout(this._timer)},emit:function(a){this.state===ib&&(a&&a.eventType&Aa?this.manager.emit(this.options.event+"up",a):(this._input.timeStamp=na(),this.manager.emit(this.options.event,this._input)))}}),j(ba,Z,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[bb]},attrTest:function(a){return this._super.attrTest.call(this,a)&&(Math.abs(a.rotation)>this.options.threshold||this.state&fb)}}),j(ca,Z,{defaults:{event:"swipe",threshold:10,velocity:.65,direction:Ha|Ia,pointers:1},getTouchAction:function(){return $.prototype.getTouchAction.call(this)},attrTest:function(a){var b,c=this.options.direction;return c&(Ha|Ia)?b=a.velocity:c&Ha?b=a.velocityX:c&Ia&&(b=a.velocityY),this._super.attrTest.call(this,a)&&c&a.direction&&a.distance>this.options.threshold&&ma(b)>this.options.velocity&&a.eventType&Aa},emit:function(a){var b=X(a.direction);b&&this.manager.emit(this.options.event+b,a),this.manager.emit(this.options.event,a)}}),j(da,V,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:2,posThreshold:10},getTouchAction:function(){return[ab]},process:function(a){var b=this.options,c=a.pointers.length===b.pointers,d=a.distance<b.threshold,f=a.deltaTime<b.time;if(this.reset(),a.eventType&ya&&0===this.count)return this.failTimeout();if(d&&f&&c){if(a.eventType!=Aa)return this.failTimeout();var g=this.pTime?a.timeStamp-this.pTime<b.interval:!0,h=!this.pCenter||I(this.pCenter,a.center)<b.posThreshold;this.pTime=a.timeStamp,this.pCenter=a.center,h&&g?this.count+=1:this.count=1,this._input=a;var i=this.count%b.taps;if(0===i)return this.hasRequireFailures()?(this._timer=e(function(){this.state=ib,this.tryEmit()},b.interval,this),fb):ib}return kb},failTimeout:function(){return this._timer=e(function(){this.state=kb},this.options.interval,this),kb},reset:function(){clearTimeout(this._timer)},emit:function(){this.state==ib&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))}}),ea.VERSION="2.0.4",ea.defaults={domEvents:!1,touchAction:$a,enable:!0,inputTarget:null,inputClass:null,preset:[[ba,{enable:!1}],[_,{enable:!1},["rotate"]],[ca,{direction:Ha}],[$,{direction:Ha},["swipe"]],[da],[da,{event:"doubletap",taps:2},["tap"]],[aa]],cssProps:{userSelect:"default",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}};var lb=1,mb=2;fa.prototype={set:function(a){return h(this.options,a),a.touchAction&&this.touchAction.update(),a.inputTarget&&(this.input.destroy(),this.input.target=a.inputTarget,this.input.init()),this},stop:function(a){this.session.stopped=a?mb:lb},recognize:function(a){var b=this.session;if(!b.stopped){this.touchAction.preventDefaults(a);var c,d=this.recognizers,e=b.curRecognizer;(!e||e&&e.state&ib)&&(e=b.curRecognizer=null);for(var f=0;f<d.length;)c=d[f],b.stopped===mb||e&&c!=e&&!c.canRecognizeWith(e)?c.reset():c.recognize(a),!e&&c.state&(fb|gb|hb)&&(e=b.curRecognizer=c),f++}},get:function(a){if(a instanceof V)return a;for(var b=this.recognizers,c=0;c<b.length;c++)if(b[c].options.event==a)return b[c];return null},add:function(a){if(f(a,"add",this))return this;var b=this.get(a.options.event);return b&&this.remove(b),this.recognizers.push(a),a.manager=this,this.touchAction.update(),a},remove:function(a){if(f(a,"remove",this))return this;var b=this.recognizers;return a=this.get(a),b.splice(s(b,a),1),this.touchAction.update(),this},on:function(a,b){var c=this.handlers;return g(r(a),function(a){c[a]=c[a]||[],c[a].push(b)}),this},off:function(a,b){var c=this.handlers;return g(r(a),function(a){b?c[a].splice(s(c[a],b),1):delete c[a]}),this},emit:function(a,b){this.options.domEvents&&ha(a,b);var c=this.handlers[a]&&this.handlers[a].slice();if(c&&c.length){b.type=a,b.preventDefault=function(){b.srcEvent.preventDefault()};for(var d=0;d<c.length;)c[d](b),d++}},destroy:function(){this.element&&ga(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null}},h(ea,{INPUT_START:ya,INPUT_MOVE:za,INPUT_END:Aa,INPUT_CANCEL:Ba,STATE_POSSIBLE:eb,STATE_BEGAN:fb,STATE_CHANGED:gb,STATE_ENDED:hb,STATE_RECOGNIZED:ib,STATE_CANCELLED:jb,STATE_FAILED:kb,DIRECTION_NONE:Ca,DIRECTION_LEFT:Da,DIRECTION_RIGHT:Ea,DIRECTION_UP:Fa,DIRECTION_DOWN:Ga,DIRECTION_HORIZONTAL:Ha,DIRECTION_VERTICAL:Ia,DIRECTION_ALL:Ja,Manager:fa,Input:y,TouchAction:T,TouchInput:Q,MouseInput:M,PointerEventInput:N,TouchMouseInput:S,SingleTouchInput:O,Recognizer:V,AttrRecognizer:Z,Tap:da,Pan:$,Swipe:ca,Pinch:_,Rotate:ba,Press:aa,on:n,off:o,each:g,merge:i,extend:h,inherit:j,bindFn:k,prefixed:v}),typeof define==ka&&define.amd?define(function(){return ea}):"undefined"!=typeof module&&module.exports?module.exports=ea:a[c]=ea}(window,document,"Hammer"),function(a){"function"==typeof define&&define.amd?define(["jquery","hammerjs"],a):"object"==typeof exports?a(require("jquery"),require("hammerjs")):a(jQuery,Hammer)}(function(a,b){function c(c,d){var e=a(c);e.data("hammer")||e.data("hammer",new b(e[0],d))}a.fn.hammer=function(a){return this.each(function(){c(this,a)})},b.Manager.prototype.emit=function(b){return function(c,d){b.call(this,c,d),a(this.element).trigger({type:c,gesture:d})}}(b.Manager.prototype.emit)}),function(a){a.Package?Materialize={}:a.Materialize={}}(window),function(a){for(var b=0,c=["webkit","moz"],d=a.requestAnimationFrame,e=a.cancelAnimationFrame,f=c.length;--f>=0&&!d;)d=a[c[f]+"RequestAnimationFrame"],e=a[c[f]+"CancelRequestAnimationFrame"];d&&e||(d=function(a){var c=+Date.now(),d=Math.max(b+16,c);return setTimeout(function(){a(b=d)},d-c)},e=clearTimeout),a.requestAnimationFrame=d,a.cancelAnimationFrame=e}(window),Materialize.guid=function(){function a(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return function(){return a()+a()+"-"+a()+"-"+a()+"-"+a()+"-"+a()+a()+a()}}(),Materialize.escapeHash=function(a){return a.replace(/(:|\.|\[|\]|,|=)/g,"\\$1")},Materialize.elementOrParentIsFixed=function(a){var b=$(a),c=b.add(b.parents()),d=!1;return c.each(function(){return"fixed"===$(this).css("position")?(d=!0,!1):void 0}),d};var Vel;Vel=jQuery?jQuery.Velocity:$?$.Velocity:Velocity,function(a){a.fn.collapsible=function(b){var c={accordion:void 0,onOpen:void 0,onClose:void 0};return b=a.extend(c,b),this.each(function(){function c(b){j=i.find("> li > .collapsible-header"),b.hasClass("active")?b.parent().addClass("active"):b.parent().removeClass("active"),b.parent().hasClass("active")?b.siblings(".collapsible-body").stop(!0,!1).slideDown({duration:350,easing:"easeOutQuart",queue:!1,complete:function(){a(this).css("height","")}}):b.siblings(".collapsible-body").stop(!0,!1).slideUp({duration:350,easing:"easeOutQuart",queue:!1,complete:function(){a(this).css("height","")}}),j.not(b).removeClass("active").parent().removeClass("active"),j.not(b).parent().children(".collapsible-body").stop(!0,!1).each(function(){a(this).is(":visible")&&a(this).slideUp({duration:350,easing:"easeOutQuart",queue:!1,complete:function(){a(this).css("height",""),f(a(this).siblings(".collapsible-header"))}})})}function d(b){b.hasClass("active")?b.parent().addClass("active"):b.parent().removeClass("active"),b.parent().hasClass("active")?b.siblings(".collapsible-body").stop(!0,!1).slideDown({duration:350,easing:"easeOutQuart",queue:!1,complete:function(){a(this).css("height","")}}):b.siblings(".collapsible-body").stop(!0,!1).slideUp({duration:350,easing:"easeOutQuart",queue:!1,complete:function(){a(this).css("height","")}})}function e(a){b.accordion||"accordion"===k||void 0===k?c(a):d(a),f(a)}function f(a){a.hasClass("active")?"function"==typeof b.onOpen&&b.onOpen.call(this,a.parent()):"function"==typeof b.onClose&&b.onClose.call(this,a.parent())}function g(a){var b=h(a);return b.length>0}function h(a){return a.closest("li > .collapsible-header")}var i=a(this),j=a(this).find("> li > .collapsible-header"),k=i.data("collapsible");i.off("click.collapse","> li > .collapsible-header"),j.off("click.collapse"),i.on("click.collapse","> li > .collapsible-header",function(b){var c=a(b.target);g(c)&&(c=h(c)),c.toggleClass("active"),e(c)}),b.accordion||"accordion"===k||void 0===k?e(j.filter(".active").first()):j.filter(".active").each(function(){e(a(this))})})},a(document).ready(function(){a(".collapsible").collapsible()})}(jQuery),function(a){a.fn.scrollTo=function(b){return a(this).scrollTop(a(this).scrollTop()-a(this).offset().top+a(b).offset().top),this},a.fn.dropdown=function(b){var c={inDuration:300,outDuration:225,constrain_width:!0,hover:!1,gutter:0,belowOrigin:!1,alignment:"left",stopPropagation:!1};return"open"===b?(this.each(function(){a(this).trigger("open")}),!1):"close"===b?(this.each(function(){a(this).trigger("close")}),!1):void this.each(function(){function d(){void 0!==g.data("induration")&&(h.inDuration=g.data("induration")),void 0!==g.data("outduration")&&(h.outDuration=g.data("outduration")),void 0!==g.data("constrainwidth")&&(h.constrain_width=g.data("constrainwidth")),void 0!==g.data("hover")&&(h.hover=g.data("hover")),void 0!==g.data("gutter")&&(h.gutter=g.data("gutter")),void 0!==g.data("beloworigin")&&(h.belowOrigin=g.data("beloworigin")),void 0!==g.data("alignment")&&(h.alignment=g.data("alignment")),void 0!==g.data("stoppropagation")&&(h.stopPropagation=g.data("stoppropagation"))}function e(b){"focus"===b&&(i=!0),d(),j.addClass("active"),g.addClass("active"),h.constrain_width===!0?j.css("width",g.outerWidth()):j.css("white-space","nowrap");var c=window.innerHeight,e=g.innerHeight(),f=g.offset().left,k=g.offset().top-a(window).scrollTop(),l=h.alignment,m=0,n=0,o=0;h.belowOrigin===!0&&(o=e);var p=0,q=0,r=g.parent();if(r.is("body")||(r[0].scrollHeight>r[0].clientHeight&&(p=r[0].scrollTop),r[0].scrollWidth>r[0].clientWidth&&(q=r[0].scrollLeft)),f+j.innerWidth()>a(window).width()?l="right":f-j.innerWidth()+g.innerWidth()<0&&(l="left"),k+j.innerHeight()>c)if(k+e-j.innerHeight()<0){var s=c-k-o;j.css("max-height",s)}else o||(o+=e),o-=j.innerHeight();if("left"===l)m=h.gutter,n=g.position().left+m;else if("right"===l){var t=g.position().left+g.outerWidth()-j.outerWidth();m=-h.gutter,n=t+m}j.css({position:"absolute",top:g.position().top+o+p,left:n+q}),j.stop(!0,!0).css("opacity",0).slideDown({queue:!1,duration:h.inDuration,easing:"easeOutCubic",complete:function(){a(this).css("height","")}}).animate({opacity:1},{queue:!1,duration:h.inDuration,easing:"easeOutSine"})}function f(){i=!1,j.fadeOut(h.outDuration),j.removeClass("active"),g.removeClass("active"),setTimeout(function(){j.css("max-height","")},h.outDuration)}var g=a(this),h=a.extend({},c,b),i=!1,j=a("#"+g.attr("data-activates"));if(d(),g.after(j),h.hover){var k=!1;g.unbind("click."+g.attr("id")),g.on("mouseenter",function(a){k===!1&&(e(),k=!0)}),g.on("mouseleave",function(b){var c=b.toElement||b.relatedTarget;a(c).closest(".dropdown-content").is(j)||(j.stop(!0,!0),f(),k=!1)}),j.on("mouseleave",function(b){var c=b.toElement||b.relatedTarget;a(c).closest(".dropdown-button").is(g)||(j.stop(!0,!0),f(),k=!1)})}else g.unbind("click."+g.attr("id")),g.bind("click."+g.attr("id"),function(b){i||(g[0]!=b.currentTarget||g.hasClass("active")||0!==a(b.target).closest(".dropdown-content").length?g.hasClass("active")&&(f(),a(document).unbind("click."+j.attr("id")+" touchstart."+j.attr("id"))):(b.preventDefault(),h.stopPropagation&&b.stopPropagation(),e("click")),j.hasClass("active")&&a(document).bind("click."+j.attr("id")+" touchstart."+j.attr("id"),function(b){j.is(b.target)||g.is(b.target)||g.find(b.target).length||(f(),a(document).unbind("click."+j.attr("id")+" touchstart."+j.attr("id")))}))});g.on("open",function(a,b){e(b)}),g.on("close",f)})},a(document).ready(function(){a(".dropdown-button").dropdown()})}(jQuery),function(a){var b=0,c=0,d=function(){return c++,"materialize-modal-overlay-"+c},e={init:function(c){var e={opacity:.5,in_duration:350,out_duration:250,ready:void 0,complete:void 0,dismissible:!0,starting_top:"4%",ending_top:"10%"};return c=a.extend(e,c),this.each(function(){var e=a(this),f=a(this).attr("id")||"#"+a(this).data("target"),g=function(){var d=e.data("overlay-id"),f=a("#"+d);e.removeClass("open"),a("body").css({overflow:"",width:""}),e.find(".modal-close").off("click.close"),a(document).off("keyup.modal"+d),f.velocity({opacity:0},{duration:c.out_duration,queue:!1,ease:"easeOutQuart"});var g={
|
8 |
-
duration:c.out_duration,queue:!1,ease:"easeOutCubic",complete:function(){a(this).css({display:"none"}),"function"==typeof c.complete&&c.complete.call(this,e),f.remove(),b--}};e.hasClass("bottom-sheet")?e.velocity({bottom:"-100%",opacity:0},g):e.velocity({top:c.starting_top,opacity:0,scaleX:.7},g)},h=function(f){var h=a("body"),i=h.innerWidth();if(h.css("overflow","hidden"),h.width(i),!e.hasClass("open")){var j=d(),k=a('<div class="modal-overlay"></div>');lStack=++b,k.attr("id",j).css("z-index",1e3+2*lStack),e.data("overlay-id",j).css("z-index",1e3+2*lStack+1),e.addClass("open"),a("body").append(k),c.dismissible&&(k.click(function(){g()}),a(document).on("keyup.modal"+j,function(a){27===a.keyCode&&g()})),e.find(".modal-close").on("click.close",function(a){g()}),k.css({display:"block",opacity:0}),e.css({display:"block",opacity:0}),k.velocity({opacity:c.opacity},{duration:c.in_duration,queue:!1,ease:"easeOutCubic"}),e.data("associated-overlay",k[0]);var l={duration:c.in_duration,queue:!1,ease:"easeOutCubic",complete:function(){"function"==typeof c.ready&&c.ready.call(this,e,f)}};e.hasClass("bottom-sheet")?e.velocity({bottom:"0",opacity:1},l):(a.Velocity.hook(e,"scaleX",.7),e.css({top:c.starting_top}),e.velocity({top:c.ending_top,opacity:1,scaleX:"1"},l))}};a(document).off("click.modalTrigger",'a[href="#'+f+'"], [data-target="'+f+'"]'),a(this).off("openModal"),a(this).off("closeModal"),a(document).on("click.modalTrigger",'a[href="#'+f+'"], [data-target="'+f+'"]',function(b){c.starting_top=(a(this).offset().top-a(window).scrollTop())/1.15,h(a(this)),b.preventDefault()}),a(this).on("openModal",function(){a(this).attr("href")||"#"+a(this).data("target");h()}),a(this).on("closeModal",function(){g()})})},open:function(){a(this).trigger("openModal")},close:function(){a(this).trigger("closeModal")}};a.fn.modal=function(b){return e[b]?e[b].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof b&&b?void a.error("Method "+b+" does not exist on jQuery.modal"):e.init.apply(this,arguments)}}(jQuery),function(a){a.fn.materialbox=function(){return this.each(function(){function b(){f=!1;var b=i.parent(".material-placeholder"),d=(window.innerWidth,window.innerHeight,i.data("width")),g=i.data("height");i.velocity("stop",!0),a("#materialbox-overlay").velocity("stop",!0),a(".materialbox-caption").velocity("stop",!0),a("#materialbox-overlay").velocity({opacity:0},{duration:h,queue:!1,easing:"easeOutQuad",complete:function(){e=!1,a(this).remove()}}),i.velocity({width:d,height:g,left:0,top:0},{duration:h,queue:!1,easing:"easeOutQuad"}),a(".materialbox-caption").velocity({opacity:0},{duration:h,queue:!1,easing:"easeOutQuad",complete:function(){b.css({height:"",width:"",position:"",top:"",left:""}),i.css({height:"",top:"",left:"",width:"","max-width":"",position:"","z-index":""}),i.removeClass("active"),f=!0,a(this).remove(),c&&c.css("overflow","")}})}if(!a(this).hasClass("initialized")){a(this).addClass("initialized");var c,d,e=!1,f=!0,g=275,h=200,i=a(this),j=a("<div></div>").addClass("material-placeholder");i.wrap(j),i.on("click",function(){var h=i.parent(".material-placeholder"),j=window.innerWidth,k=window.innerHeight,l=i.width(),m=i.height();if(f===!1)return b(),!1;if(e&&f===!0)return b(),!1;f=!1,i.addClass("active"),e=!0,h.css({width:h[0].getBoundingClientRect().width,height:h[0].getBoundingClientRect().height,position:"relative",top:0,left:0}),c=void 0,d=h[0].parentNode;for(;null!==d&&!a(d).is(document);){var n=a(d);"visible"!==n.css("overflow")&&(n.css("overflow","visible"),c=void 0===c?n:c.add(n)),d=d.parentNode}i.css({position:"absolute","z-index":1e3}).data("width",l).data("height",m);var o=a('<div id="materialbox-overlay"></div>').css({opacity:0}).click(function(){f===!0&&b()});if(i.before(o),o.velocity({opacity:1},{duration:g,queue:!1,easing:"easeOutQuad"}),""!==i.data("caption")){var p=a('<div class="materialbox-caption"></div>');p.text(i.data("caption")),a("body").append(p),p.css({display:"inline"}),p.velocity({opacity:1},{duration:g,queue:!1,easing:"easeOutQuad"})}var q=0,r=l/j,s=m/k,t=0,u=0;r>s?(q=m/l,t=.9*j,u=.9*j*q):(q=l/m,t=.9*k*q,u=.9*k),i.hasClass("responsive-img")?i.velocity({"max-width":t,width:l},{duration:0,queue:!1,complete:function(){i.css({left:0,top:0}).velocity({height:u,width:t,left:a(document).scrollLeft()+j/2-i.parent(".material-placeholder").offset().left-t/2,top:a(document).scrollTop()+k/2-i.parent(".material-placeholder").offset().top-u/2},{duration:g,queue:!1,easing:"easeOutQuad",complete:function(){f=!0}})}}):i.css("left",0).css("top",0).velocity({height:u,width:t,left:a(document).scrollLeft()+j/2-i.parent(".material-placeholder").offset().left-t/2,top:a(document).scrollTop()+k/2-i.parent(".material-placeholder").offset().top-u/2},{duration:g,queue:!1,easing:"easeOutQuad",complete:function(){f=!0}})}),a(window).scroll(function(){e&&b()}),a(document).keyup(function(a){27===a.keyCode&&f===!0&&e&&b()})}})},a(document).ready(function(){a(".materialboxed").materialbox()})}(jQuery),function(a){a.fn.parallax=function(){var b=a(window).width();return this.each(function(c){function d(c){var d;d=601>b?e.height()>0?e.height():e.children("img").height():e.height()>0?e.height():500;var f=e.children("img").first(),g=f.height(),h=g-d,i=e.offset().top+d,j=e.offset().top,k=a(window).scrollTop(),l=window.innerHeight,m=k+l,n=(m-j)/(d+l),o=Math.round(h*n);c&&f.css("display","block"),i>k&&k+l>j&&f.css("transform","translate3D(-50%,"+o+"px, 0)")}var e=a(this);e.addClass("parallax"),e.children("img").one("load",function(){d(!0)}).each(function(){this.complete&&a(this).trigger("load")}),a(window).scroll(function(){b=a(window).width(),d(!1)}),a(window).resize(function(){b=a(window).width(),d(!1)})})}}(jQuery),function(a){var b={init:function(b){var c={onShow:null};return b=a.extend(c,b),this.each(function(){var c,d,e=a(this),f=(a(window).width(),e.find("li.tab a")),g=e.width(),h=Math.max(g,e[0].scrollWidth)/f.length,i=0,j=function(a){return g-a.position().left-a.outerWidth()-e.scrollLeft()},k=function(a){return a.position().left+e.scrollLeft()};c=a(f.filter('[href="'+location.hash+'"]')),0===c.length&&(c=a(this).find("li.tab a.active").first()),0===c.length&&(c=a(this).find("li.tab a").first()),c.addClass("active"),i=f.index(c),0>i&&(i=0),void 0!==c[0]&&(d=a(c[0].hash)),e.append('<div class="indicator"></div>');var l=e.find(".indicator");e.is(":visible")&&setTimeout(function(){l.css({right:j(c)}),l.css({left:k(c)})},0),a(window).resize(function(){g=e.width(),h=Math.max(g,e[0].scrollWidth)/f.length,0>i&&(i=0),0!==h&&0!==g&&(l.css({right:j(c)}),l.css({left:k(c)}))}),f.not(c).each(function(){a(Materialize.escapeHash(this.hash)).hide()}),e.on("click","a",function(m){if(a(this).parent().hasClass("disabled"))return void m.preventDefault();if(!a(this).attr("target")){g=e.width(),h=Math.max(g,e[0].scrollWidth)/f.length,c.removeClass("active"),void 0!==d&&d.hide(),c=a(this),d=a(Materialize.escapeHash(this.hash)),f=e.find("li.tab a");c.position();c.addClass("active");var n=i;i=f.index(a(this)),0>i&&(i=0),void 0!==d&&(d.show(),"function"==typeof b.onShow&&b.onShow.call(this,d)),i-n>=0?(l.velocity({right:j(c)},{duration:300,queue:!1,easing:"easeOutQuad"}),l.velocity({left:k(c)},{duration:300,queue:!1,easing:"easeOutQuad",delay:90})):(l.velocity({left:k(c)},{duration:300,queue:!1,easing:"easeOutQuad"}),l.velocity({right:j(c)},{duration:300,queue:!1,easing:"easeOutQuad",delay:90})),m.preventDefault()}})})},select_tab:function(a){this.find('a[href="#'+a+'"]').trigger("click")}};a.fn.tabs=function(c){return b[c]?b[c].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof c&&c?void a.error("Method "+c+" does not exist on jQuery.tabs"):b.init.apply(this,arguments)},a(document).ready(function(){a("ul.tabs").tabs()})}(jQuery),function(a){a.fn.tooltip=function(c){var d=5,e={delay:350,tooltip:"",position:"bottom",html:!1};return"remove"===c?(this.each(function(){a("#"+a(this).attr("data-tooltip-id")).remove(),a(this).off("mouseenter.tooltip mouseleave.tooltip")}),!1):(c=a.extend(e,c),this.each(function(){var e=Materialize.guid(),f=a(this);f.attr("data-tooltip-id")&&a("#"+f.attr("data-tooltip-id")).remove(),f.attr("data-tooltip-id",e);var g,h,i,j,k,l,m=function(){g=f.attr("data-html")?"true"===f.attr("data-html"):c.html,h=f.attr("data-delay"),h=void 0===h||""===h?c.delay:h,i=f.attr("data-position"),i=void 0===i||""===i?c.position:i,j=f.attr("data-tooltip"),j=void 0===j||""===j?c.tooltip:j};m();var n=function(){var b=a('<div class="material-tooltip"></div>');return j=g?a("<span></span>").html(j):a("<span></span>").text(j),b.append(j).appendTo(a("body")).attr("id",e),l=a('<div class="backdrop"></div>'),l.appendTo(b),b};k=n(),f.off("mouseenter.tooltip mouseleave.tooltip");var o,p=!1;f.on({"mouseenter.tooltip":function(a){var c=function(){m(),p=!0,k.velocity("stop"),l.velocity("stop"),k.css({display:"block",left:"0px",top:"0px"});var a,c,e,g=f.outerWidth(),h=f.outerHeight(),j=k.outerHeight(),n=k.outerWidth(),o="0px",q="0px",r=8,s=8;"top"===i?(a=f.offset().top-j-d,c=f.offset().left+g/2-n/2,e=b(c,a,n,j),o="-10px",l.css({bottom:0,left:0,borderRadius:"14px 14px 0 0",transformOrigin:"50% 100%",marginTop:j,marginLeft:n/2-l.width()/2})):"left"===i?(a=f.offset().top+h/2-j/2,c=f.offset().left-n-d,e=b(c,a,n,j),q="-10px",l.css({top:"-7px",right:0,width:"14px",height:"14px",borderRadius:"14px 0 0 14px",transformOrigin:"95% 50%",marginTop:j/2,marginLeft:n})):"right"===i?(a=f.offset().top+h/2-j/2,c=f.offset().left+g+d,e=b(c,a,n,j),q="+10px",l.css({top:"-7px",left:0,width:"14px",height:"14px",borderRadius:"0 14px 14px 0",transformOrigin:"5% 50%",marginTop:j/2,marginLeft:"0px"})):(a=f.offset().top+f.outerHeight()+d,c=f.offset().left+g/2-n/2,e=b(c,a,n,j),o="+10px",l.css({top:0,left:0,marginLeft:n/2-l.width()/2})),k.css({top:e.y,left:e.x}),r=Math.SQRT2*n/parseInt(l.css("width")),s=Math.SQRT2*j/parseInt(l.css("height")),k.velocity({marginTop:o,marginLeft:q},{duration:350,queue:!1}).velocity({opacity:1},{duration:300,delay:50,queue:!1}),l.css({display:"block"}).velocity({opacity:1},{duration:55,delay:0,queue:!1}).velocity({scaleX:r,scaleY:s},{duration:300,delay:0,queue:!1,easing:"easeInOutQuad"})};o=setTimeout(c,h)},"mouseleave.tooltip":function(){p=!1,clearTimeout(o),setTimeout(function(){p!==!0&&(k.velocity({opacity:0,marginTop:0,marginLeft:0},{duration:225,queue:!1}),l.velocity({opacity:0,scaleX:1,scaleY:1},{duration:225,queue:!1,complete:function(){l.css("display","none"),k.css("display","none"),p=!1}}))},225)}})}))};var b=function(b,c,d,e){var f=b,g=c;return 0>f?f=4:f+d>window.innerWidth&&(f-=f+d-window.innerWidth),0>g?g=4:g+e>window.innerHeight+a(window).scrollTop&&(g-=g+e-window.innerHeight),{x:f,y:g}};a(document).ready(function(){a(".tooltipped").tooltip()})}(jQuery),function(a){"use strict";function b(a){return null!==a&&a===a.window}function c(a){return b(a)?a:9===a.nodeType&&a.defaultView}function d(a){var b,d,e={top:0,left:0},f=a&&a.ownerDocument;return b=f.documentElement,"undefined"!=typeof a.getBoundingClientRect&&(e=a.getBoundingClientRect()),d=c(f),{top:e.top+d.pageYOffset-b.clientTop,left:e.left+d.pageXOffset-b.clientLeft}}function e(a){var b="";for(var c in a)a.hasOwnProperty(c)&&(b+=c+":"+a[c]+";");return b}function f(a){if(k.allowEvent(a)===!1)return null;for(var b=null,c=a.target||a.srcElement;null!==c.parentElement;){if(!(c instanceof SVGElement||-1===c.className.indexOf("waves-effect"))){b=c;break}if(c.classList.contains("waves-effect")){b=c;break}c=c.parentElement}return b}function g(b){var c=f(b);null!==c&&(j.show(b,c),"ontouchstart"in a&&(c.addEventListener("touchend",j.hide,!1),c.addEventListener("touchcancel",j.hide,!1)),c.addEventListener("mouseup",j.hide,!1),c.addEventListener("mouseleave",j.hide,!1))}var h=h||{},i=document.querySelectorAll.bind(document),j={duration:750,show:function(a,b){if(2===a.button)return!1;var c=b||this,f=document.createElement("div");f.className="waves-ripple",c.appendChild(f);var g=d(c),h=a.pageY-g.top,i=a.pageX-g.left,k="scale("+c.clientWidth/100*10+")";"touches"in a&&(h=a.touches[0].pageY-g.top,i=a.touches[0].pageX-g.left),f.setAttribute("data-hold",Date.now()),f.setAttribute("data-scale",k),f.setAttribute("data-x",i),f.setAttribute("data-y",h);var l={top:h+"px",left:i+"px"};f.className=f.className+" waves-notransition",f.setAttribute("style",e(l)),f.className=f.className.replace("waves-notransition",""),l["-webkit-transform"]=k,l["-moz-transform"]=k,l["-ms-transform"]=k,l["-o-transform"]=k,l.transform=k,l.opacity="1",l["-webkit-transition-duration"]=j.duration+"ms",l["-moz-transition-duration"]=j.duration+"ms",l["-o-transition-duration"]=j.duration+"ms",l["transition-duration"]=j.duration+"ms",l["-webkit-transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",l["-moz-transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",l["-o-transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",l["transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",f.setAttribute("style",e(l))},hide:function(a){k.touchup(a);var b=this,c=(1.4*b.clientWidth,null),d=b.getElementsByClassName("waves-ripple");if(!(d.length>0))return!1;c=d[d.length-1];var f=c.getAttribute("data-x"),g=c.getAttribute("data-y"),h=c.getAttribute("data-scale"),i=Date.now()-Number(c.getAttribute("data-hold")),l=350-i;0>l&&(l=0),setTimeout(function(){var a={top:g+"px",left:f+"px",opacity:"0","-webkit-transition-duration":j.duration+"ms","-moz-transition-duration":j.duration+"ms","-o-transition-duration":j.duration+"ms","transition-duration":j.duration+"ms","-webkit-transform":h,"-moz-transform":h,"-ms-transform":h,"-o-transform":h,transform:h};c.setAttribute("style",e(a)),setTimeout(function(){try{b.removeChild(c)}catch(a){return!1}},j.duration)},l)},wrapInput:function(a){for(var b=0;b<a.length;b++){var c=a[b];if("input"===c.tagName.toLowerCase()){var d=c.parentNode;if("i"===d.tagName.toLowerCase()&&-1!==d.className.indexOf("waves-effect"))continue;var e=document.createElement("i");e.className=c.className+" waves-input-wrapper";var f=c.getAttribute("style");f||(f=""),e.setAttribute("style",f),c.className="waves-button-input",c.removeAttribute("style"),d.replaceChild(e,c),e.appendChild(c)}}}},k={touches:0,allowEvent:function(a){var b=!0;return"touchstart"===a.type?k.touches+=1:"touchend"===a.type||"touchcancel"===a.type?setTimeout(function(){k.touches>0&&(k.touches-=1)},500):"mousedown"===a.type&&k.touches>0&&(b=!1),b},touchup:function(a){k.allowEvent(a)}};h.displayEffect=function(b){b=b||{},"duration"in b&&(j.duration=b.duration),j.wrapInput(i(".waves-effect")),"ontouchstart"in a&&document.body.addEventListener("touchstart",g,!1),document.body.addEventListener("mousedown",g,!1)},h.attach=function(b){"input"===b.tagName.toLowerCase()&&(j.wrapInput([b]),b=b.parentElement),"ontouchstart"in a&&b.addEventListener("touchstart",g,!1),b.addEventListener("mousedown",g,!1)},a.Waves=h,document.addEventListener("DOMContentLoaded",function(){h.displayEffect()},!1)}(window),Materialize.toast=function(a,b,c,d){function e(a){var b=document.createElement("div");if(b.classList.add("toast"),c)for(var e=c.split(" "),f=0,g=e.length;g>f;f++)b.classList.add(e[f]);("object"==typeof HTMLElement?a instanceof HTMLElement:a&&"object"==typeof a&&null!==a&&1===a.nodeType&&"string"==typeof a.nodeName)?b.appendChild(a):a instanceof jQuery?b.appendChild(a[0]):b.innerHTML=a;var h=new Hammer(b,{prevent_default:!1});return h.on("pan",function(a){var c=a.deltaX,d=80;b.classList.contains("panning")||b.classList.add("panning");var e=1-Math.abs(c/d);0>e&&(e=0),Vel(b,{left:c,opacity:e},{duration:50,queue:!1,easing:"easeOutQuad"})}),h.on("panend",function(a){var c=a.deltaX,e=80;Math.abs(c)>e?Vel(b,{marginTop:"-40px"},{duration:375,easing:"easeOutExpo",queue:!1,complete:function(){"function"==typeof d&&d(),b.parentNode.removeChild(b)}}):(b.classList.remove("panning"),Vel(b,{left:0,opacity:1},{duration:300,easing:"easeOutExpo",queue:!1}))}),b}c=c||"";var f=document.getElementById("toast-container");null===f&&(f=document.createElement("div"),f.id="toast-container",document.body.appendChild(f));var g=e(a);a&&f.appendChild(g),g.style.top="35px",g.style.opacity=0,Vel(g,{top:"0px",opacity:1},{duration:300,easing:"easeOutCubic",queue:!1});var h,i=b;null!=i&&(h=setInterval(function(){null===g.parentNode&&window.clearInterval(h),g.classList.contains("panning")||(i-=20),0>=i&&(Vel(g,{opacity:0,marginTop:"-40px"},{duration:375,easing:"easeOutExpo",queue:!1,complete:function(){"function"==typeof d&&d(),this[0].parentNode.removeChild(this[0])}}),window.clearInterval(h))},20))},function(a){var b={init:function(b){var c={menuWidth:300,edge:"left",closeOnClick:!1,draggable:!0};b=a.extend(c,b),a(this).each(function(){var c=a(this),d=a("#"+c.attr("data-activates"));300!=b.menuWidth&&d.css("width",b.menuWidth);var e;b.draggable?(e=a('<div class="drag-target"></div>').attr("data-sidenav",c.attr("data-activates")),a("body").append(e)):e=a(),"left"==b.edge?(d.css("transform","translateX(-100%)"),e.css({left:0})):(d.addClass("right-aligned").css("transform","translateX(100%)"),e.css({right:0})),d.hasClass("fixed")&&window.innerWidth>992&&d.css("transform","translateX(0)"),d.hasClass("fixed")&&a(window).resize(function(){window.innerWidth>992?0!==a("#sidenav-overlay").length&&h?f(!0):d.css("transform","translateX(0%)"):h===!1&&("left"===b.edge?d.css("transform","translateX(-100%)"):d.css("transform","translateX(100%)"))}),b.closeOnClick===!0&&d.on("click.itemclick","a:not(.collapsible-header)",function(){f()});var f=function(c){g=!1,h=!1,a("body").css({overflow:"",width:""}),a("#sidenav-overlay").velocity({opacity:0},{duration:200,queue:!1,easing:"easeOutQuad",complete:function(){a(this).remove()}}),"left"===b.edge?(e.css({width:"",right:"",left:"0"}),d.velocity({translateX:"-100%"},{duration:200,queue:!1,easing:"easeOutCubic",complete:function(){c===!0&&(d.removeAttr("style"),d.css("width",b.menuWidth))}})):(e.css({width:"",right:"0",left:""}),d.velocity({translateX:"100%"},{duration:200,queue:!1,easing:"easeOutCubic",complete:function(){c===!0&&(d.removeAttr("style"),d.css("width",b.menuWidth))}}))},g=!1,h=!1;b.draggable&&(e.on("click",function(){h&&f()}),e.hammer({prevent_default:!1}).bind("pan",function(c){if("touch"==c.gesture.pointerType){var e=(c.gesture.direction,c.gesture.center.x),g=(c.gesture.center.y,c.gesture.velocityX,a("body")),i=a("#sidenav-overlay"),j=g.innerWidth();if(g.css("overflow","hidden"),g.width(j),0===i.length&&(i=a('<div id="sidenav-overlay"></div>'),i.css("opacity",0).click(function(){f()}),a("body").append(i)),"left"===b.edge&&(e>b.menuWidth?e=b.menuWidth:0>e&&(e=0)),"left"===b.edge)e<b.menuWidth/2?h=!1:e>=b.menuWidth/2&&(h=!0),d.css("transform","translateX("+(e-b.menuWidth)+"px)");else{e<window.innerWidth-b.menuWidth/2?h=!0:e>=window.innerWidth-b.menuWidth/2&&(h=!1);var k=e-b.menuWidth/2;0>k&&(k=0),d.css("transform","translateX("+k+"px)")}var l;"left"===b.edge?(l=e/b.menuWidth,i.velocity({opacity:l},{duration:10,queue:!1,easing:"easeOutQuad"})):(l=Math.abs((e-window.innerWidth)/b.menuWidth),i.velocity({opacity:l},{duration:10,queue:!1,easing:"easeOutQuad"}))}}).bind("panend",function(c){if("touch"==c.gesture.pointerType){var f=a('<div id="sidenav-overlay"></div>'),i=c.gesture.velocityX,j=c.gesture.center.x,k=j-b.menuWidth,l=j-b.menuWidth/2;k>0&&(k=0),0>l&&(l=0),g=!1,"left"===b.edge?h&&.3>=i||-.5>i?(0!==k&&d.velocity({translateX:[0,k]},{duration:300,queue:!1,easing:"easeOutQuad"}),f.velocity({opacity:1},{duration:50,queue:!1,easing:"easeOutQuad"}),e.css({width:"50%",right:0,left:""}),h=!0):(!h||i>.3)&&(a("body").css({overflow:"",width:""}),d.velocity({translateX:[-1*b.menuWidth-10,k]},{duration:200,queue:!1,easing:"easeOutQuad"}),f.velocity({opacity:0},{duration:200,queue:!1,easing:"easeOutQuad",complete:function(){a(this).remove()}}),e.css({width:"10px",right:"",left:0})):h&&i>=-.3||i>.5?(0!==l&&d.velocity({translateX:[0,l]},{duration:300,queue:!1,easing:"easeOutQuad"}),f.velocity({opacity:1},{duration:50,queue:!1,easing:"easeOutQuad"}),e.css({width:"50%",right:"",left:0}),h=!0):(!h||-.3>i)&&(a("body").css({overflow:"",width:""}),d.velocity({translateX:[b.menuWidth+10,l]},{duration:200,queue:!1,easing:"easeOutQuad"}),f.velocity({opacity:0},{duration:200,queue:!1,easing:"easeOutQuad",complete:function(){a(this).remove()}}),e.css({width:"10px",right:0,left:""}))}})),c.click(function(){if(h===!0)h=!1,g=!1,f();else{var c=a("body"),i=a('<div id="sidenav-overlay"></div>'),j=c.innerWidth();c.css("overflow","hidden"),c.width(j),a("body").append(e),"left"===b.edge?(e.css({width:"50%",right:0,left:""}),d.velocity({translateX:[0,-1*b.menuWidth]},{duration:300,queue:!1,easing:"easeOutQuad"})):(e.css({width:"50%",right:"",left:0}),d.velocity({translateX:[0,b.menuWidth]},{duration:300,queue:!1,easing:"easeOutQuad"})),i.css("opacity",0).click(function(){h=!1,g=!1,f(),i.velocity({opacity:0},{duration:300,queue:!1,easing:"easeOutQuad",complete:function(){a(this).remove()}})}),a("body").append(i),i.velocity({opacity:1},{duration:300,queue:!1,easing:"easeOutQuad",complete:function(){h=!0,g=!1}})}return!1})})},destroy:function(){var b=a("#sidenav-overlay"),c=a('.drag-target[data-sidenav="'+a(this).attr("data-activates")+'"]');b.trigger("click"),c.remove(),a(this).off("click"),b.remove()},show:function(){this.trigger("click")},hide:function(){a("#sidenav-overlay").trigger("click")}};a.fn.sideNav=function(c){return b[c]?b[c].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof c&&c?void a.error("Method "+c+" does not exist on jQuery.sideNav"):b.init.apply(this,arguments)}}(jQuery),function(a){function b(b,c,d,e){var f=a();return a.each(g,function(a,g){if(g.height()>0){var h=g.offset().top,i=g.offset().left,j=i+g.width(),k=h+g.height(),l=!(i>c||e>j||h>d||b>k);l&&f.push(g)}}),f}function c(c){++j;var d=f.scrollTop(),e=f.scrollLeft(),g=e+f.width(),i=d+f.height(),l=b(d+k.top+c||200,g+k.right,i+k.bottom,e+k.left);a.each(l,function(a,b){var c=b.data("scrollSpy:ticks");"number"!=typeof c&&b.triggerHandler("scrollSpy:enter"),b.data("scrollSpy:ticks",j)}),a.each(h,function(a,b){var c=b.data("scrollSpy:ticks");"number"==typeof c&&c!==j&&(b.triggerHandler("scrollSpy:exit"),b.data("scrollSpy:ticks",null))}),h=l}function d(){f.trigger("scrollSpy:winSize")}function e(a,b,c){var d,e,f,g=null,h=0;c||(c={});var i=function(){h=c.leading===!1?0:l(),g=null,f=a.apply(d,e),d=e=null};return function(){var j=l();h||c.leading!==!1||(h=j);var k=b-(j-h);return d=this,e=arguments,0>=k?(clearTimeout(g),g=null,h=j,f=a.apply(d,e),d=e=null):g||c.trailing===!1||(g=setTimeout(i,k)),f}}var f=a(window),g=[],h=[],i=!1,j=0,k={top:0,right:0,bottom:0,left:0},l=Date.now||function(){return(new Date).getTime()};a.scrollSpy=function(b,d){var h={throttle:100,scrollOffset:200};d=a.extend(h,d);var j=[];b=a(b),b.each(function(b,c){g.push(a(c)),a(c).data("scrollSpy:id",b),a('a[href="#'+a(c).attr("id")+'"]').click(function(b){b.preventDefault();var c=a(Materialize.escapeHash(this.hash)).offset().top+1;a("html, body").animate({scrollTop:c-d.scrollOffset},{duration:400,queue:!1,easing:"easeOutCubic"})})}),k.top=d.offsetTop||0,k.right=d.offsetRight||0,k.bottom=d.offsetBottom||0,k.left=d.offsetLeft||0;var l=e(function(){c(d.scrollOffset)},d.throttle||100),m=function(){a(document).ready(l)};return i||(f.on("scroll",m),f.on("resize",m),i=!0),setTimeout(m,0),b.on("scrollSpy:enter",function(){j=a.grep(j,function(a){return 0!=a.height()});var b=a(this);j[0]?(a('a[href="#'+j[0].attr("id")+'"]').removeClass("active"),b.data("scrollSpy:id")<j[0].data("scrollSpy:id")?j.unshift(a(this)):j.push(a(this))):j.push(a(this)),a('a[href="#'+j[0].attr("id")+'"]').addClass("active")}),b.on("scrollSpy:exit",function(){if(j=a.grep(j,function(a){return 0!=a.height()}),j[0]){a('a[href="#'+j[0].attr("id")+'"]').removeClass("active");var b=a(this);j=a.grep(j,function(a){return a.attr("id")!=b.attr("id")}),j[0]&&a('a[href="#'+j[0].attr("id")+'"]').addClass("active")}}),b},a.winSizeSpy=function(b){return a.winSizeSpy=function(){return f},b=b||{throttle:100},f.on("resize",e(d,b.throttle||100))},a.fn.scrollSpy=function(b){return a.scrollSpy(a(this),b)}}(jQuery),function(a){a(document).ready(function(){function b(b){var c=b.css("font-family"),d=b.css("font-size"),f=b.css("line-height");d&&e.css("font-size",d),c&&e.css("font-family",c),f&&e.css("line-height",f),"off"===b.attr("wrap")&&e.css("overflow-wrap","normal").css("white-space","pre"),e.text(b.val()+"\n");var g=e.html().replace(/\n/g,"<br>");e.html(g),b.is(":visible")?e.css("width",b.width()):e.css("width",a(window).width()/2),b.css("height",e.height())}Materialize.updateTextFields=function(){var b="input[type=text], input[type=password], input[type=email], input[type=url], input[type=tel], input[type=number], input[type=search], textarea";a(b).each(function(b,c){a(c).val().length>0||c.autofocus||void 0!==a(this).attr("placeholder")||a(c)[0].validity.badInput===!0?a(this).siblings("label").addClass("active"):a(this).siblings("label").removeClass("active")})};var c="input[type=text], input[type=password], input[type=email], input[type=url], input[type=tel], input[type=number], input[type=search], textarea";a(document).on("change",c,function(){(0!==a(this).val().length||void 0!==a(this).attr("placeholder"))&&a(this).siblings("label").addClass("active"),validate_field(a(this))}),a(document).ready(function(){Materialize.updateTextFields()}),a(document).on("reset",function(b){var d=a(b.target);d.is("form")&&(d.find(c).removeClass("valid").removeClass("invalid"),d.find(c).each(function(){""===a(this).attr("value")&&a(this).siblings("label").removeClass("active")}),d.find("select.initialized").each(function(){var a=d.find("option[selected]").text();d.siblings("input.select-dropdown").val(a)}))}),a(document).on("focus",c,function(){a(this).siblings("label, .prefix").addClass("active")}),a(document).on("blur",c,function(){var b=a(this),c=".prefix";0===b.val().length&&b[0].validity.badInput!==!0&&void 0===b.attr("placeholder")&&(c+=", label"),b.siblings(c).removeClass("active"),validate_field(b)}),window.validate_field=function(a){var b=void 0!==a.attr("length"),c=parseInt(a.attr("length")),d=a.val().length;0===a.val().length&&a[0].validity.badInput===!1?a.hasClass("validate")&&(a.removeClass("valid"),a.removeClass("invalid")):a.hasClass("validate")&&(a.is(":valid")&&b&&c>=d||a.is(":valid")&&!b?(a.removeClass("invalid"),a.addClass("valid")):(a.removeClass("valid"),a.addClass("invalid")))};var d="input[type=radio], input[type=checkbox]";a(document).on("keyup.radio",d,function(b){if(9===b.which){a(this).addClass("tabbed");var c=a(this);return void c.one("blur",function(b){a(this).removeClass("tabbed")})}});var e=a(".hiddendiv").first();e.length||(e=a('<div class="hiddendiv common"></div>'),a("body").append(e));var f=".materialize-textarea";a(f).each(function(){var c=a(this);c.val().length&&b(c)}),a("body").on("keyup keydown autoresize",f,function(){b(a(this))}),a(document).on("change",'.file-field input[type="file"]',function(){for(var b=a(this).closest(".file-field"),c=b.find("input.file-path"),d=a(this)[0].files,e=[],f=0;f<d.length;f++)e.push(d[f].name);c.val(e.join(", ")),c.trigger("change")});var g,h="input[type=range]",i=!1;a(h).each(function(){var b=a('<span class="thumb"><span class="value"></span></span>');a(this).after(b)});var j=".range-field";a(document).on("change",h,function(b){var c=a(this).siblings(".thumb");c.find(".value").html(a(this).val())}),a(document).on("input mousedown touchstart",h,function(b){var c=a(this).siblings(".thumb"),d=a(this).outerWidth();c.length<=0&&(c=a('<span class="thumb"><span class="value"></span></span>'),a(this).after(c)),c.find(".value").html(a(this).val()),i=!0,a(this).addClass("active"),c.hasClass("active")||c.velocity({height:"30px",width:"30px",top:"-20px",marginLeft:"-15px"},{duration:300,easing:"easeOutExpo"}),"input"!==b.type&&(g=void 0===b.pageX||null===b.pageX?b.originalEvent.touches[0].pageX-a(this).offset().left:b.pageX-a(this).offset().left,0>g?g=0:g>d&&(g=d),c.addClass("active").css("left",g)),c.find(".value").html(a(this).val())}),a(document).on("mouseup touchend",j,function(){i=!1,a(this).removeClass("active")}),a(document).on("mousemove touchmove",j,function(b){var c,d=a(this).children(".thumb");if(i){d.hasClass("active")||d.velocity({height:"30px",width:"30px",top:"-20px",marginLeft:"-15px"},{duration:300,easing:"easeOutExpo"}),c=void 0===b.pageX||null===b.pageX?b.originalEvent.touches[0].pageX-a(this).offset().left:b.pageX-a(this).offset().left;var e=a(this).outerWidth();0>c?c=0:c>e&&(c=e),d.addClass("active").css("left",c),d.find(".value").html(d.siblings(h).val())}}),a(document).on("mouseout touchleave",j,function(){if(!i){var b=a(this).children(".thumb");b.hasClass("active")&&b.velocity({height:"0",width:"0",top:"10px",marginLeft:"-6px"},{duration:100}),b.removeClass("active")}}),a.fn.autocomplete=function(b){var c={data:{}};return b=a.extend(c,b),this.each(function(){var c=a(this),d=b.data,e=c.closest(".input-field");if(!a.isEmptyObject(d)){var f=a('<ul class="autocomplete-content dropdown-content"></ul>');e.length?e.append(f):c.after(f);var g=function(a,b){var c=b.find("img"),d=b.text().toLowerCase().indexOf(""+a.toLowerCase()),e=d+a.length-1,f=b.text().slice(0,d),g=b.text().slice(d,e+1),h=b.text().slice(e+1);b.html("<span>"+f+"<span class='highlight'>"+g+"</span>"+h+"</span>"),c.length&&b.prepend(c)};c.on("keyup",function(b){if(13===b.which)return void f.find("li").first().click();var e=c.val().toLowerCase();if(f.empty(),""!==e)for(var h in d)if(d.hasOwnProperty(h)&&-1!==h.toLowerCase().indexOf(e)&&h.toLowerCase()!==e){var i=a("<li></li>");d[h]?i.append('<img src="'+d[h]+'" class="right circle"><span>'+h+"</span>"):i.append("<span>"+h+"</span>"),f.append(i),g(e,i)}}),f.on("click","li",function(){c.val(a(this).text().trim()),c.trigger("change"),f.empty()})}})}}),a.fn.material_select=function(b){function c(a,b,c){var e=a.indexOf(b),f=-1===e;return f?a.push(b):a.splice(e,1),c.siblings("ul.dropdown-content").find("li").eq(b).toggleClass("active"),c.find("option").eq(b).prop("selected",f),d(a,c),f}function d(a,b){for(var c="",d=0,e=a.length;e>d;d++){var f=b.find("option").eq(a[d]).text();c+=0===d?f:", "+f}""===c&&(c=b.find("option:disabled").eq(0).text()),b.siblings("input.select-dropdown").val(c)}a(this).each(function(){var d=a(this);if(!d.hasClass("browser-default")){var e=d.attr("multiple")?!0:!1,f=d.data("select-id");if(f&&(d.parent().find("span.caret").remove(),d.parent().find("input").remove(),d.unwrap(),a("ul#select-options-"+f).remove()),"destroy"===b)return void d.data("select-id",null).removeClass("initialized");var g=Materialize.guid();d.data("select-id",g);var h=a('<div class="select-wrapper"></div>');h.addClass(d.attr("class"));var i=a('<ul id="select-options-'+g+'" class="dropdown-content select-dropdown '+(e?"multiple-select-dropdown":"")+'"></ul>'),j=d.children("option, optgroup"),k=[],l=!1,m=d.find("option:selected").html()||d.find("option:first").html()||"",n=function(b,c,d){var e=c.is(":disabled")?"disabled ":"",f="optgroup-option"===d?"optgroup-option ":"",g=c.data("icon"),h=c.attr("class");if(g){var j="";return h&&(j=' class="'+h+'"'),"multiple"===d?i.append(a('<li class="'+e+'"><img alt="" src="'+g+'"'+j+'><span><input type="checkbox"'+e+"/><label></label>"+c.html()+"</span></li>")):i.append(a('<li class="'+e+f+'"><img alt="" src="'+g+'"'+j+"><span>"+c.html()+"</span></li>")),!0}"multiple"===d?i.append(a('<li class="'+e+'"><span><input type="checkbox"'+e+"/><label></label>"+c.html()+"</span></li>")):i.append(a('<li class="'+e+f+'"><span>'+c.html()+"</span></li>"))};j.length&&j.each(function(){if(a(this).is("option"))e?n(d,a(this),"multiple"):n(d,a(this));else if(a(this).is("optgroup")){var b=a(this).children("option");i.append(a('<li class="optgroup"><span>'+a(this).attr("label")+"</span></li>")),b.each(function(){n(d,a(this),"optgroup-option")})}}),i.find("li:not(.optgroup)").each(function(f){a(this).click(function(g){if(!a(this).hasClass("disabled")&&!a(this).hasClass("optgroup")){
|
9 |
-
var h=!0;e?(a('input[type="checkbox"]',this).prop("checked",function(a,b){return!b}),h=c(k,a(this).index(),d),q.trigger("focus")):(i.find("li").removeClass("active"),a(this).toggleClass("active"),q.val(a(this).text())),r(i,a(this)),d.find("option").eq(f).prop("selected",h),d.trigger("change"),"undefined"!=typeof b&&b()}g.stopPropagation()})}),d.wrap(h);var o=a('<span class="caret">▼</span>');d.is(":disabled")&&o.addClass("disabled");var p=m.replace(/"/g,"""),q=a('<input type="text" class="select-dropdown" readonly="true" '+(d.is(":disabled")?"disabled":"")+' data-activates="select-options-'+g+'" value="'+p+'"/>');d.before(q),q.before(o),q.after(i),d.is(":disabled")||q.dropdown({hover:!1,closeOnClick:!1}),d.attr("tabindex")&&a(q[0]).attr("tabindex",d.attr("tabindex")),d.addClass("initialized"),q.on({focus:function(){if(a("ul.select-dropdown").not(i[0]).is(":visible")&&a("input.select-dropdown").trigger("close"),!i.is(":visible")){a(this).trigger("open",["focus"]);var b=a(this).val(),c=i.find("li").filter(function(){return a(this).text().toLowerCase()===b.toLowerCase()})[0];r(i,c)}},click:function(a){a.stopPropagation()}}),q.on("blur",function(){e||a(this).trigger("close"),i.find("li.selected").removeClass("selected")}),i.hover(function(){l=!0},function(){l=!1}),a(window).on({click:function(){e&&(l||q.trigger("close"))}}),e&&d.find("option:selected:not(:disabled)").each(function(){var b=a(this).index();c(k,b,d),i.find("li").eq(b).find(":checkbox").prop("checked",!0)});var r=function(b,c){if(c){b.find("li.selected").removeClass("selected");var d=a(c);d.addClass("selected"),i.scrollTo(d)}},s=[],t=function(b){if(9==b.which)return void q.trigger("close");if(40==b.which&&!i.is(":visible"))return void q.trigger("open");if(13!=b.which||i.is(":visible")){b.preventDefault();var c=String.fromCharCode(b.which).toLowerCase(),d=[9,13,27,38,40];if(c&&-1===d.indexOf(b.which)){s.push(c);var f=s.join(""),g=i.find("li").filter(function(){return 0===a(this).text().toLowerCase().indexOf(f)})[0];g&&r(i,g)}if(13==b.which){var h=i.find("li.selected:not(.disabled)")[0];h&&(a(h).trigger("click"),e||q.trigger("close"))}40==b.which&&(g=i.find("li.selected").length?i.find("li.selected").next("li:not(.disabled)")[0]:i.find("li:not(.disabled)")[0],r(i,g)),27==b.which&&q.trigger("close"),38==b.which&&(g=i.find("li.selected").prev("li:not(.disabled)")[0],g&&r(i,g)),setTimeout(function(){s=[]},1e3)}};q.on("keydown",t)}})}}(jQuery),function(a){var b={init:function(b){var c={indicators:!0,height:400,transition:500,interval:6e3};return b=a.extend(c,b),this.each(function(){function c(a,b){a.hasClass("center-align")?a.velocity({opacity:0,translateY:-100},{duration:b,queue:!1}):a.hasClass("right-align")?a.velocity({opacity:0,translateX:100},{duration:b,queue:!1}):a.hasClass("left-align")&&a.velocity({opacity:0,translateX:-100},{duration:b,queue:!1})}function d(a){a>=j.length?a=0:0>a&&(a=j.length-1),k=i.find(".active").index(),k!=a&&(e=j.eq(k),$caption=e.find(".caption"),e.removeClass("active"),e.velocity({opacity:0},{duration:b.transition,queue:!1,easing:"easeOutQuad",complete:function(){j.not(".active").velocity({opacity:0,translateX:0,translateY:0},{duration:0,queue:!1})}}),c($caption,b.transition),b.indicators&&f.eq(k).removeClass("active"),j.eq(a).velocity({opacity:1},{duration:b.transition,queue:!1,easing:"easeOutQuad"}),j.eq(a).find(".caption").velocity({opacity:1,translateX:0,translateY:0},{duration:b.transition,delay:b.transition,queue:!1,easing:"easeOutQuad"}),j.eq(a).addClass("active"),b.indicators&&f.eq(a).addClass("active"))}var e,f,g,h=a(this),i=h.find("ul.slides").first(),j=i.find("> li"),k=i.find(".active").index();-1!=k&&(e=j.eq(k)),h.hasClass("fullscreen")||(b.indicators?h.height(b.height+40):h.height(b.height),i.height(b.height)),j.find(".caption").each(function(){c(a(this),0)}),j.find("img").each(function(){var b="data:image/gif;base64,R0lGODlhAQABAIABAP///wAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==";a(this).attr("src")!==b&&(a(this).css("background-image","url("+a(this).attr("src")+")"),a(this).attr("src",b))}),b.indicators&&(f=a('<ul class="indicators"></ul>'),j.each(function(c){var e=a('<li class="indicator-item"></li>');e.click(function(){var c=i.parent(),e=c.find(a(this)).index();d(e),clearInterval(g),g=setInterval(function(){k=i.find(".active").index(),j.length==k+1?k=0:k+=1,d(k)},b.transition+b.interval)}),f.append(e)}),h.append(f),f=h.find("ul.indicators").find("li.indicator-item")),e?e.show():(j.first().addClass("active").velocity({opacity:1},{duration:b.transition,queue:!1,easing:"easeOutQuad"}),k=0,e=j.eq(k),b.indicators&&f.eq(k).addClass("active")),e.find("img").each(function(){e.find(".caption").velocity({opacity:1,translateX:0,translateY:0},{duration:b.transition,queue:!1,easing:"easeOutQuad"})}),g=setInterval(function(){k=i.find(".active").index(),d(k+1)},b.transition+b.interval);var l=!1,m=!1,n=!1;h.hammer({prevent_default:!1}).bind("pan",function(a){if("touch"===a.gesture.pointerType){clearInterval(g);var b=a.gesture.direction,c=a.gesture.deltaX,d=a.gesture.velocityX;$curr_slide=i.find(".active"),$curr_slide.velocity({translateX:c},{duration:50,queue:!1,easing:"easeOutQuad"}),4===b&&(c>h.innerWidth()/2||-.65>d)?n=!0:2===b&&(c<-1*h.innerWidth()/2||d>.65)&&(m=!0);var e;m&&(e=$curr_slide.next(),0===e.length&&(e=j.first()),e.velocity({opacity:1},{duration:300,queue:!1,easing:"easeOutQuad"})),n&&(e=$curr_slide.prev(),0===e.length&&(e=j.last()),e.velocity({opacity:1},{duration:300,queue:!1,easing:"easeOutQuad"}))}}).bind("panend",function(a){"touch"===a.gesture.pointerType&&($curr_slide=i.find(".active"),l=!1,curr_index=i.find(".active").index(),!n&&!m||j.length<=1?$curr_slide.velocity({translateX:0},{duration:300,queue:!1,easing:"easeOutQuad"}):m?(d(curr_index+1),$curr_slide.velocity({translateX:-1*h.innerWidth()},{duration:300,queue:!1,easing:"easeOutQuad",complete:function(){$curr_slide.velocity({opacity:0,translateX:0},{duration:0,queue:!1})}})):n&&(d(curr_index-1),$curr_slide.velocity({translateX:h.innerWidth()},{duration:300,queue:!1,easing:"easeOutQuad",complete:function(){$curr_slide.velocity({opacity:0,translateX:0},{duration:0,queue:!1})}})),m=!1,n=!1,clearInterval(g),g=setInterval(function(){k=i.find(".active").index(),j.length==k+1?k=0:k+=1,d(k)},b.transition+b.interval))}),h.on("sliderPause",function(){clearInterval(g)}),h.on("sliderStart",function(){clearInterval(g),g=setInterval(function(){k=i.find(".active").index(),j.length==k+1?k=0:k+=1,d(k)},b.transition+b.interval)}),h.on("sliderNext",function(){k=i.find(".active").index(),d(k+1)}),h.on("sliderPrev",function(){k=i.find(".active").index(),d(k-1)})})},pause:function(){a(this).trigger("sliderPause")},start:function(){a(this).trigger("sliderStart")},next:function(){a(this).trigger("sliderNext")},prev:function(){a(this).trigger("sliderPrev")}};a.fn.slider=function(c){return b[c]?b[c].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof c&&c?void a.error("Method "+c+" does not exist on jQuery.tooltip"):b.init.apply(this,arguments)}}(jQuery),function(a){a(document).ready(function(){a(document).on("click.card",".card",function(b){a(this).find("> .card-reveal").length&&(a(b.target).is(a(".card-reveal .card-title"))||a(b.target).is(a(".card-reveal .card-title i"))?a(this).find(".card-reveal").velocity({translateY:0},{duration:225,queue:!1,easing:"easeInOutQuad",complete:function(){a(this).css({display:"none"})}}):(a(b.target).is(a(".card .activator"))||a(b.target).is(a(".card .activator i")))&&(a(b.target).closest(".card").css("overflow","hidden"),a(this).find(".card-reveal").css({display:"block"}).velocity("stop",!1).velocity({translateY:"-100%"},{duration:300,queue:!1,easing:"easeInOutQuad"})))})})}(jQuery),function(a){var b=!1,c={data:[],placeholder:"",secondaryPlaceholder:""};a(document).ready(function(){a(document).on("click",".chip .close",function(b){var c=a(this).closest(".chips");c.attr("data-initialized")||a(this).closest(".chip").remove()})}),a.fn.material_chip=function(d){var e=this;if(this.$el=a(this),this.$document=a(document),this.SELS={CHIPS:".chips",CHIP:".chip",INPUT:"input",DELETE:".material-icons",SELECTED_CHIP:".selected"},"data"===d)return this.$el.data("chips");var f=a.extend({},c,d);this.init=function(){var b=0;e.$el.each(function(){var c=a(this),d=Materialize.guid();f.data&&f.data instanceof Array||(f.data=[]),c.data("chips",f.data),c.attr("data-index",b),c.attr("data-initialized",!0),c.hasClass(e.SELS.CHIPS)||c.addClass("chips"),e.chips(c,d),b++})},this.handleEvents=function(){var b=e.SELS;e.$document.off("click.chips-focus",b.CHIPS).on("click.chips-focus",b.CHIPS,function(c){a(c.target).find(b.INPUT).focus()}),e.$document.off("click.chips-select",b.CHIP).on("click.chips-select",b.CHIP,function(c){a(b.CHIP).removeClass("selected"),a(this).toggleClass("selected")}),e.$document.off("keydown.chips").on("keydown.chips",function(c){if(!a(c.target).is("input, textarea")){var d,f=e.$document.find(b.CHIP+b.SELECTED_CHIP),g=f.closest(b.CHIPS),h=f.siblings(b.CHIP).length;if(f.length)if(8===c.which||46===c.which){c.preventDefault(),d=f.index(),e.deleteChip(d,g);var i=null;h>d+1?i=d:(d===h||d+1===h)&&(i=h-1),0>i&&(i=null),null!==i&&e.selectChip(i,g),h||g.find("input").focus()}else if(37===c.which){if(d=f.index()-1,0>d)return;a(b.CHIP).removeClass("selected"),e.selectChip(d,g)}else if(39===c.which){if(d=f.index()+1,a(b.CHIP).removeClass("selected"),d>h)return void g.find("input").focus();e.selectChip(d,g)}}}),e.$document.off("focusin.chips",b.CHIPS+" "+b.INPUT).on("focusin.chips",b.CHIPS+" "+b.INPUT,function(c){var d=a(c.target).closest(b.CHIPS);d.addClass("focus"),d.siblings("label, .prefix").addClass("active"),a(b.CHIP).removeClass("selected")}),e.$document.off("focusout.chips",b.CHIPS+" "+b.INPUT).on("focusout.chips",b.CHIPS+" "+b.INPUT,function(c){var d=a(c.target).closest(b.CHIPS);d.removeClass("focus"),d.data("chips").length||d.siblings("label").removeClass("active"),d.siblings(".prefix").removeClass("active")}),e.$document.off("keydown.chips-add",b.CHIPS+" "+b.INPUT).on("keydown.chips-add",b.CHIPS+" "+b.INPUT,function(c){var d=a(c.target),f=d.closest(b.CHIPS),g=f.children(b.CHIP).length;return 13===c.which?(c.preventDefault(),e.addChip({tag:d.val()},f),void d.val("")):8!==c.keyCode&&37!==c.keyCode||""!==d.val()||!g?void 0:(e.selectChip(g-1,f),void d.blur())}),e.$document.off("click.chips-delete",b.CHIPS+" "+b.DELETE).on("click.chips-delete",b.CHIPS+" "+b.DELETE,function(c){var d=a(c.target),f=d.closest(b.CHIPS),g=d.closest(b.CHIP);c.stopPropagation(),e.deleteChip(g.index(),f),f.find("input").focus()})},this.chips=function(a,b){var c="";a.data("chips").forEach(function(a){c+=e.renderChip(a)}),c+='<input id="'+b+'" class="input" placeholder="">',a.html(c),e.setPlaceholder(a);var d=a.next("label");d.length&&(d.attr("for",b),a.data("chips").length&&d.addClass("active"))},this.renderChip=function(a){if(a.tag){var b='<div class="chip">'+a.tag;return a.image&&(b+=' <img src="'+a.image+'"> '),b+='<i class="material-icons close">close</i>',b+="</div>"}},this.setPlaceholder=function(a){a.data("chips").length&&f.placeholder?a.find("input").prop("placeholder",f.placeholder):!a.data("chips").length&&f.secondaryPlaceholder&&a.find("input").prop("placeholder",f.secondaryPlaceholder)},this.isValid=function(a,b){for(var c=a.data("chips"),d=!1,e=0;e<c.length;e++)if(c[e].tag===b.tag)return void(d=!0);return""!==b.tag&&!d},this.addChip=function(b,c){if(e.isValid(c,b)){for(var d=e.renderChip(b),f=[],g=c.data("chips"),h=0;h<g.length;h++)f.push(g[h]);f.push(b),c.data("chips",f),a(d).insertBefore(c.find("input")),c.trigger("chip.add",b),e.setPlaceholder(c)}},this.deleteChip=function(a,b){var c=b.data("chips")[a];b.find(".chip").eq(a).remove();for(var d=[],f=b.data("chips"),g=0;g<f.length;g++)g!==a&&d.push(f[g]);b.data("chips",d),b.trigger("chip.delete",c),e.setPlaceholder(b)},this.selectChip=function(a,b){var c=b.find(".chip").eq(a);c&&!1===c.hasClass("selected")&&(c.addClass("selected"),b.trigger("chip.select",b.data("chips")[a]))},this.getChipsElement=function(a,b){return b.eq(a)},this.init(),b||(this.handleEvents(),b=!0)}}(jQuery),function(a){a.fn.pushpin=function(b){var c={top:0,bottom:1/0,offset:0};return"remove"===b?(this.each(function(){(id=a(this).data("pushpin-id"))&&(a(window).off("scroll."+id),a(this).removeData("pushpin-id").removeClass("pin-top pinned pin-bottom").removeAttr("style"))}),!1):(b=a.extend(c,b),$index=0,this.each(function(){function c(a){a.removeClass("pin-top"),a.removeClass("pinned"),a.removeClass("pin-bottom")}function d(d,e){d.each(function(){b.top<=e&&b.bottom>=e&&!a(this).hasClass("pinned")&&(c(a(this)),a(this).css("top",b.offset),a(this).addClass("pinned")),e<b.top&&!a(this).hasClass("pin-top")&&(c(a(this)),a(this).css("top",0),a(this).addClass("pin-top")),e>b.bottom&&!a(this).hasClass("pin-bottom")&&(c(a(this)),a(this).addClass("pin-bottom"),a(this).css("top",b.bottom-g))})}var e=Materialize.guid(),f=a(this),g=a(this).offset().top;a(this).data("pushpin-id",e),d(f,a(window).scrollTop()),a(window).on("scroll."+e,function(){var c=a(window).scrollTop()+b.offset;d(f,c)})}))}}(jQuery),function(a){a(document).ready(function(){a.fn.reverse=[].reverse,a(document).on("mouseenter.fixedActionBtn",".fixed-action-btn:not(.click-to-toggle):not(.toolbar)",function(c){var d=a(this);b(d)}),a(document).on("mouseleave.fixedActionBtn",".fixed-action-btn:not(.click-to-toggle):not(.toolbar)",function(b){var d=a(this);c(d)}),a(document).on("click.fabClickToggle",".fixed-action-btn.click-to-toggle > a",function(d){var e=a(this),f=e.parent();f.hasClass("active")?c(f):b(f)}),a(document).on("click.fabToolbar",".fixed-action-btn.toolbar > a",function(b){var c=a(this),e=c.parent();d(e)})}),a.fn.extend({openFAB:function(){b(a(this))},closeFAB:function(){c(a(this))},openToolbar:function(){d(a(this))},closeToolbar:function(){e(a(this))}});var b=function(b){var c=b;if(c.hasClass("active")===!1){var d,e,f=c.hasClass("horizontal");f===!0?e=40:d=40,c.addClass("active"),c.find("ul .btn-floating").velocity({scaleY:".4",scaleX:".4",translateY:d+"px",translateX:e+"px"},{duration:0});var g=0;c.find("ul .btn-floating").reverse().each(function(){a(this).velocity({opacity:"1",scaleX:"1",scaleY:"1",translateY:"0",translateX:"0"},{duration:80,delay:g}),g+=40})}},c=function(a){var b,c,d=a,e=d.hasClass("horizontal");e===!0?c=40:b=40,d.removeClass("active");d.find("ul .btn-floating").velocity("stop",!0),d.find("ul .btn-floating").velocity({opacity:"0",scaleX:".4",scaleY:".4",translateY:b+"px",translateX:c+"px"},{duration:80})},d=function(b){if("true"!==b.attr("data-open")){var c,d,f,g=window.innerWidth,h=window.innerHeight,i=b[0].getBoundingClientRect(),j=b.find("> a").first(),k=b.find("> ul").first(),l=a('<div class="fab-backdrop"></div>'),m=j.css("background-color");j.append(l),c=i.left-g/2+i.width/2,d=h-i.bottom,f=g/l.width(),b.attr("data-origin-bottom",i.bottom),b.attr("data-origin-left",i.left),b.attr("data-origin-width",i.width),b.addClass("active"),b.attr("data-open",!0),b.css({"text-align":"center",width:"100%",bottom:0,left:0,transform:"translateX("+c+"px)",transition:"none"}),j.css({transform:"translateY("+-d+"px)",transition:"none"}),l.css({"background-color":m}),setTimeout(function(){b.css({transform:"",transition:"transform .2s cubic-bezier(0.550, 0.085, 0.680, 0.530), background-color 0s linear .2s"}),j.css({overflow:"visible",transform:"",transition:"transform .2s"}),setTimeout(function(){b.css({overflow:"hidden","background-color":m}),l.css({transform:"scale("+f+")",transition:"transform .2s cubic-bezier(0.550, 0.055, 0.675, 0.190)"}),k.find("> li > a").css({opacity:1}),a(window).on("scroll.fabToolbarClose",function(){e(b),a(window).off("scroll.fabToolbarClose"),a(document).off("click.fabToolbarClose")}),a(document).on("click.fabToolbarClose",function(c){a(c.target).closest(k).length||(e(b),a(window).off("scroll.fabToolbarClose"),a(document).off("click.fabToolbarClose"))})},100)},0)}},e=function(a){if("true"===a.attr("data-open")){var b,c,d,e=window.innerWidth,f=window.innerHeight,g=a.attr("data-origin-width"),h=a.attr("data-origin-bottom"),i=a.attr("data-origin-left"),j=a.find("> .btn-floating").first(),k=a.find("> ul").first(),l=a.find(".fab-backdrop"),m=j.css("background-color");b=i-e/2+g/2,c=f-h,d=e/l.width(),a.removeClass("active"),a.attr("data-open",!1),a.css({"background-color":"transparent",transition:"none"}),j.css({transition:"none"}),l.css({transform:"scale(0)","background-color":m}),k.find("> li > a").css({opacity:""}),setTimeout(function(){l.remove(),a.css({"text-align":"",width:"",bottom:"",left:"",overflow:"","background-color":"",transform:"translate3d("+-b+"px,0,0)"}),j.css({overflow:"",transform:"translate3d(0,"+c+"px,0)"}),setTimeout(function(){a.css({transform:"translate3d(0,0,0)",transition:"transform .2s"}),j.css({transform:"translate3d(0,0,0)",transition:"transform .2s cubic-bezier(0.550, 0.055, 0.675, 0.190)"})},20)},200)}}}(jQuery),function(a){Materialize.fadeInImage=function(b){var c;if("string"==typeof b)c=a(b);else{if("object"!=typeof b)return;c=b}c.css({opacity:0}),a(c).velocity({opacity:1},{duration:650,queue:!1,easing:"easeOutSine"}),a(c).velocity({opacity:1},{duration:1300,queue:!1,easing:"swing",step:function(b,c){c.start=100;var d=b/100,e=150-(100-b)/1.75;100>e&&(e=100),b>=0&&a(this).css({"-webkit-filter":"grayscale("+d+")brightness("+e+"%)",filter:"grayscale("+d+")brightness("+e+"%)"})}})},Materialize.showStaggeredList=function(b){var c;if("string"==typeof b)c=a(b);else{if("object"!=typeof b)return;c=b}var d=0;c.find("li").velocity({translateX:"-100px"},{duration:0}),c.find("li").each(function(){a(this).velocity({opacity:"1",translateX:"0"},{duration:800,delay:d,easing:[60,10]}),d+=120})},a(document).ready(function(){var b=!1,c=!1;a(".dismissable").each(function(){a(this).hammer({prevent_default:!1}).bind("pan",function(d){if("touch"===d.gesture.pointerType){var e=a(this),f=d.gesture.direction,g=d.gesture.deltaX,h=d.gesture.velocityX;e.velocity({translateX:g},{duration:50,queue:!1,easing:"easeOutQuad"}),4===f&&(g>e.innerWidth()/2||-.75>h)&&(b=!0),2===f&&(g<-1*e.innerWidth()/2||h>.75)&&(c=!0)}}).bind("panend",function(d){if(Math.abs(d.gesture.deltaX)<a(this).innerWidth()/2&&(c=!1,b=!1),"touch"===d.gesture.pointerType){var e=a(this);if(b||c){var f;f=b?e.innerWidth():-1*e.innerWidth(),e.velocity({translateX:f},{duration:100,queue:!1,easing:"easeOutQuad",complete:function(){e.css("border","none"),e.velocity({height:0,padding:0},{duration:200,queue:!1,easing:"easeOutQuad",complete:function(){e.remove()}})}})}else e.velocity({translateX:0},{duration:100,queue:!1,easing:"easeOutQuad"});b=!1,c=!1}})})})}(jQuery),function(a){Materialize.scrollFire=function(a){var b=!1;window.addEventListener("scroll",function(){b=!0}),setInterval(function(){if(b){b=!1;for(var c=window.pageYOffset+window.innerHeight,d=0;d<a.length;d++){var e=a[d],f=e.selector,g=e.offset,h=e.callback,i=document.querySelector(f);if(null!==i){var j=i.getBoundingClientRect().top+window.pageYOffset;if(c>j+g&&e.done!==!0){if("function"==typeof h)h.call(this,i);else if("string"==typeof h){var k=new Function(h);k(i)}e.done=!0}}}}},100)}}(jQuery),function(a){"function"==typeof define&&define.amd?define("picker",["jquery"],a):"object"==typeof exports?module.exports=a(require("jquery")):this.Picker=a(jQuery)}(function(a){function b(f,g,i,l){function m(){return b._.node("div",b._.node("div",b._.node("div",b._.node("div",y.component.nodes(t.open),v.box),v.wrap),v.frame),v.holder)}function n(){w.data(g,y).addClass(v.input).attr("tabindex",-1).val(w.data("value")?y.get("select",u.format):f.value),u.editable||w.on("focus."+t.id+" click."+t.id,function(a){a.preventDefault(),y.$root.eq(0).focus()}).on("keydown."+t.id,q),e(f,{haspopup:!0,expanded:!1,readonly:!1,owns:f.id+"_root"})}function o(){y.$root.on({keydown:q,focusin:function(a){y.$root.removeClass(v.focused),a.stopPropagation()},"mousedown click":function(b){var c=b.target;c!=y.$root.children()[0]&&(b.stopPropagation(),"mousedown"!=b.type||a(c).is("input, select, textarea, button, option")||(b.preventDefault(),y.$root.eq(0).focus()))}}).on({focus:function(){w.addClass(v.target)},blur:function(){w.removeClass(v.target)}}).on("focus.toOpen",r).on("click","[data-pick], [data-nav], [data-clear], [data-close]",function(){var b=a(this),c=b.data(),d=b.hasClass(v.navDisabled)||b.hasClass(v.disabled),e=h();e=e&&(e.type||e.href),(d||e&&!a.contains(y.$root[0],e))&&y.$root.eq(0).focus(),!d&&c.nav?y.set("highlight",y.component.item.highlight,{nav:c.nav}):!d&&"pick"in c?y.set("select",c.pick):c.clear?y.clear().close(!0):c.close&&y.close(!0)}),e(y.$root[0],"hidden",!0)}function p(){var b;u.hiddenName===!0?(b=f.name,f.name=""):(b=["string"==typeof u.hiddenPrefix?u.hiddenPrefix:"","string"==typeof u.hiddenSuffix?u.hiddenSuffix:"_submit"],b=b[0]+f.name+b[1]),y._hidden=a('<input type=hidden name="'+b+'"'+(w.data("value")||f.value?' value="'+y.get("select",u.formatSubmit)+'"':"")+">")[0],w.on("change."+t.id,function(){y._hidden.value=f.value?y.get("select",u.formatSubmit):""}),u.container?a(u.container).append(y._hidden):w.after(y._hidden)}function q(a){var b=a.keyCode,c=/^(8|46)$/.test(b);return 27==b?(y.close(),!1):void((32==b||c||!t.open&&y.component.key[b])&&(a.preventDefault(),a.stopPropagation(),c?y.clear().close():y.open()))}function r(a){a.stopPropagation(),"focus"==a.type&&y.$root.addClass(v.focused),y.open()}if(!f)return b;var s=!1,t={id:f.id||"P"+Math.abs(~~(Math.random()*new Date))},u=i?a.extend(!0,{},i.defaults,l):l||{},v=a.extend({},b.klasses(),u.klass),w=a(f),x=function(){return this.start()},y=x.prototype={constructor:x,$node:w,start:function(){return t&&t.start?y:(t.methods={},t.start=!0,t.open=!1,t.type=f.type,f.autofocus=f==h(),f.readOnly=!u.editable,f.id=f.id||t.id,"text"!=f.type&&(f.type="text"),y.component=new i(y,u),y.$root=a(b._.node("div",m(),v.picker,'id="'+f.id+'_root" tabindex="0"')),o(),u.formatSubmit&&p(),n(),u.container?a(u.container).append(y.$root):w.after(y.$root),y.on({start:y.component.onStart,render:y.component.onRender,stop:y.component.onStop,open:y.component.onOpen,close:y.component.onClose,set:y.component.onSet}).on({start:u.onStart,render:u.onRender,stop:u.onStop,open:u.onOpen,close:u.onClose,set:u.onSet}),s=c(y.$root.children()[0]),f.autofocus&&y.open(),y.trigger("start").trigger("render"))},render:function(a){return a?y.$root.html(m()):y.$root.find("."+v.box).html(y.component.nodes(t.open)),y.trigger("render")},stop:function(){return t.start?(y.close(),y._hidden&&y._hidden.parentNode.removeChild(y._hidden),y.$root.remove(),w.removeClass(v.input).removeData(g),setTimeout(function(){w.off("."+t.id)},0),f.type=t.type,f.readOnly=!1,y.trigger("stop"),t.methods={},t.start=!1,y):y},open:function(c){return t.open?y:(w.addClass(v.active),e(f,"expanded",!0),setTimeout(function(){y.$root.addClass(v.opened),e(y.$root[0],"hidden",!1)},0),c!==!1&&(t.open=!0,s&&k.css("overflow","hidden").css("padding-right","+="+d()),y.$root.eq(0).focus(),j.on("click."+t.id+" focusin."+t.id,function(a){var b=a.target;b!=f&&b!=document&&3!=a.which&&y.close(b===y.$root.children()[0])}).on("keydown."+t.id,function(c){var d=c.keyCode,e=y.component.key[d],f=c.target;27==d?y.close(!0):f!=y.$root[0]||!e&&13!=d?a.contains(y.$root[0],f)&&13==d&&(c.preventDefault(),f.click()):(c.preventDefault(),e?b._.trigger(y.component.key.go,y,[b._.trigger(e)]):y.$root.find("."+v.highlighted).hasClass(v.disabled)||y.set("select",y.component.item.highlight).close())})),y.trigger("open"))},close:function(a){return a&&(y.$root.off("focus.toOpen").eq(0).focus(),setTimeout(function(){y.$root.on("focus.toOpen",r)},0)),w.removeClass(v.active),e(f,"expanded",!1),setTimeout(function(){y.$root.removeClass(v.opened+" "+v.focused),e(y.$root[0],"hidden",!0)},0),t.open?(t.open=!1,s&&k.css("overflow","").css("padding-right","-="+d()),j.off("."+t.id),y.trigger("close")):y},clear:function(a){return y.set("clear",null,a)},set:function(b,c,d){var e,f,g=a.isPlainObject(b),h=g?b:{};if(d=g&&a.isPlainObject(c)?c:d||{},b){g||(h[b]=c);for(e in h)f=h[e],e in y.component.item&&(void 0===f&&(f=null),y.component.set(e,f,d)),("select"==e||"clear"==e)&&w.val("clear"==e?"":y.get(e,u.format)).trigger("change");y.render()}return d.muted?y:y.trigger("set",h)},get:function(a,c){if(a=a||"value",null!=t[a])return t[a];if("valueSubmit"==a){if(y._hidden)return y._hidden.value;a="value"}if("value"==a)return f.value;if(a in y.component.item){if("string"==typeof c){var d=y.component.get(a);return d?b._.trigger(y.component.formats.toString,y.component,[c,d]):""}return y.component.get(a)}},on:function(b,c,d){var e,f,g=a.isPlainObject(b),h=g?b:{};if(b){g||(h[b]=c);for(e in h)f=h[e],d&&(e="_"+e),t.methods[e]=t.methods[e]||[],t.methods[e].push(f)}return y},off:function(){var a,b,c=arguments;for(a=0,namesCount=c.length;a<namesCount;a+=1)b=c[a],b in t.methods&&delete t.methods[b];return y},trigger:function(a,c){var d=function(a){var d=t.methods[a];d&&d.map(function(a){b._.trigger(a,y,[c])})};return d("_"+a),d(a),y}};return new x}function c(a){var b,c="position";return a.currentStyle?b=a.currentStyle[c]:window.getComputedStyle&&(b=getComputedStyle(a)[c]),"fixed"==b}function d(){if(k.height()<=i.height())return 0;var b=a('<div style="visibility:hidden;width:100px" />').appendTo("body"),c=b[0].offsetWidth;b.css("overflow","scroll");var d=a('<div style="width:100%" />').appendTo(b),e=d[0].offsetWidth;return b.remove(),c-e}function e(b,c,d){if(a.isPlainObject(c))for(var e in c)f(b,e,c[e]);else f(b,c,d)}function f(a,b,c){a.setAttribute(("role"==b?"":"aria-")+b,c)}function g(b,c){a.isPlainObject(b)||(b={attribute:c}),c="";for(var d in b){var e=("role"==d?"":"aria-")+d,f=b[d];c+=null==f?"":e+'="'+b[d]+'"'}return c}function h(){try{return document.activeElement}catch(a){}}var i=a(window),j=a(document),k=a(document.documentElement);return b.klasses=function(a){return a=a||"picker",{picker:a,opened:a+"--opened",focused:a+"--focused",input:a+"__input",active:a+"__input--active",target:a+"__input--target",holder:a+"__holder",frame:a+"__frame",wrap:a+"__wrap",box:a+"__box"}},b._={group:function(a){for(var c,d="",e=b._.trigger(a.min,a);e<=b._.trigger(a.max,a,[e]);e+=a.i)c=b._.trigger(a.item,a,[e]),d+=b._.node(a.node,c[0],c[1],c[2]);return d},node:function(b,c,d,e){return c?(c=a.isArray(c)?c.join(""):c,d=d?' class="'+d+'"':"",e=e?" "+e:"","<"+b+d+e+">"+c+"</"+b+">"):""},lead:function(a){return(10>a?"0":"")+a},trigger:function(a,b,c){return"function"==typeof a?a.apply(b,c||[]):a},digits:function(a){return/\d/.test(a[1])?2:1},isDate:function(a){return{}.toString.call(a).indexOf("Date")>-1&&this.isInteger(a.getDate())},isInteger:function(a){return{}.toString.call(a).indexOf("Number")>-1&&a%1===0},ariaAttr:g},b.extend=function(c,d){a.fn[c]=function(e,f){var g=this.data(c);return"picker"==e?g:g&&"string"==typeof e?b._.trigger(g[e],g,[f]):this.each(function(){var f=a(this);f.data(c)||new b(this,c,d,e)})},a.fn[c].defaults=d.defaults},b}),function(a){"function"==typeof define&&define.amd?define(["picker","jquery"],a):"object"==typeof exports?module.exports=a(require("./picker.js"),require("jquery")):a(Picker,jQuery)}(function(a,b){function c(a,b){var c=this,d=a.$node[0],e=d.value,f=a.$node.data("value"),g=f||e,h=f?b.formatSubmit:b.format,i=function(){return d.currentStyle?"rtl"==d.currentStyle.direction:"rtl"==getComputedStyle(a.$root[0]).direction};c.settings=b,c.$node=a.$node,c.queue={min:"measure create",max:"measure create",now:"now create",select:"parse create validate",highlight:"parse navigate create validate",view:"parse create validate viewset",disable:"deactivate",enable:"activate"},c.item={},c.item.clear=null,c.item.disable=(b.disable||[]).slice(0),c.item.enable=-function(a){return a[0]===!0?a.shift():-1}(c.item.disable),c.set("min",b.min).set("max",b.max).set("now"),g?c.set("select",g,{format:h}):c.set("select",null).set("highlight",c.item.now),c.key={40:7,38:-7,39:function(){return i()?-1:1},37:function(){return i()?1:-1},go:function(a){var b=c.item.highlight,d=new Date(b.year,b.month,b.date+a);c.set("highlight",d,{interval:a}),this.render()}},a.on("render",function(){a.$root.find("."+b.klass.selectMonth).on("change",function(){var c=this.value;c&&(a.set("highlight",[a.get("view").year,c,a.get("highlight").date]),a.$root.find("."+b.klass.selectMonth).trigger("focus"))}),a.$root.find("."+b.klass.selectYear).on("change",function(){var c=this.value;c&&(a.set("highlight",[c,a.get("view").month,a.get("highlight").date]),a.$root.find("."+b.klass.selectYear).trigger("focus"))})},1).on("open",function(){var d="";c.disabled(c.get("now"))&&(d=":not(."+b.klass.buttonToday+")"),a.$root.find("button"+d+", select").attr("disabled",!1)},1).on("close",function(){a.$root.find("button, select").attr("disabled",!0)},1)}var d=7,e=6,f=a._;c.prototype.set=function(a,b,c){var d=this,e=d.item;return null===b?("clear"==a&&(a="select"),e[a]=b,d):(e["enable"==a?"disable":"flip"==a?"enable":a]=d.queue[a].split(" ").map(function(e){return b=d[e](a,b,c)}).pop(),"select"==a?d.set("highlight",e.select,c):"highlight"==a?d.set("view",e.highlight,c):a.match(/^(flip|min|max|disable|enable)$/)&&(e.select&&d.disabled(e.select)&&d.set("select",e.select,c),e.highlight&&d.disabled(e.highlight)&&d.set("highlight",e.highlight,c)),d)},c.prototype.get=function(a){return this.item[a]},c.prototype.create=function(a,c,d){var e,g=this;return c=void 0===c?a:c,c==-(1/0)||c==1/0?e=c:b.isPlainObject(c)&&f.isInteger(c.pick)?c=c.obj:b.isArray(c)?(c=new Date(c[0],c[1],c[2]),c=f.isDate(c)?c:g.create().obj):c=f.isInteger(c)||f.isDate(c)?g.normalize(new Date(c),d):g.now(a,c,d),{year:e||c.getFullYear(),month:e||c.getMonth(),date:e||c.getDate(),day:e||c.getDay(),obj:e||c,pick:e||c.getTime()}},c.prototype.createRange=function(a,c){var d=this,e=function(a){return a===!0||b.isArray(a)||f.isDate(a)?d.create(a):a};return f.isInteger(a)||(a=e(a)),f.isInteger(c)||(c=e(c)),f.isInteger(a)&&b.isPlainObject(c)?a=[c.year,c.month,c.date+a]:f.isInteger(c)&&b.isPlainObject(a)&&(c=[a.year,a.month,a.date+c]),{from:e(a),to:e(c)}},c.prototype.withinRange=function(a,b){return a=this.createRange(a.from,a.to),b.pick>=a.from.pick&&b.pick<=a.to.pick},c.prototype.overlapRanges=function(a,b){var c=this;return a=c.createRange(a.from,a.to),b=c.createRange(b.from,b.to),c.withinRange(a,b.from)||c.withinRange(a,b.to)||c.withinRange(b,a.from)||c.withinRange(b,a.to)},c.prototype.now=function(a,b,c){return b=new Date,c&&c.rel&&b.setDate(b.getDate()+c.rel),this.normalize(b,c)},c.prototype.navigate=function(a,c,d){var e,f,g,h,i=b.isArray(c),j=b.isPlainObject(c),k=this.item.view;if(i||j){for(j?(f=c.year,g=c.month,h=c.date):(f=+c[0],g=+c[1],h=+c[2]),d&&d.nav&&k&&k.month!==g&&(f=k.year,g=k.month),e=new Date(f,g+(d&&d.nav?d.nav:0),1),f=e.getFullYear(),g=e.getMonth();new Date(f,g,h).getMonth()!==g;)h-=1;c=[f,g,h]}return c},c.prototype.normalize=function(a){return a.setHours(0,0,0,0),a},c.prototype.measure=function(a,b){var c=this;return b?"string"==typeof b?b=c.parse(a,b):f.isInteger(b)&&(b=c.now(a,b,{rel:b})):b="min"==a?-(1/0):1/0,b},c.prototype.viewset=function(a,b){return this.create([b.year,b.month,1])},c.prototype.validate=function(a,c,d){var e,g,h,i,j=this,k=c,l=d&&d.interval?d.interval:1,m=-1===j.item.enable,n=j.item.min,o=j.item.max,p=m&&j.item.disable.filter(function(a){if(b.isArray(a)){var d=j.create(a).pick;d<c.pick?e=!0:d>c.pick&&(g=!0)}return f.isInteger(a)}).length;if((!d||!d.nav)&&(!m&&j.disabled(c)||m&&j.disabled(c)&&(p||e||g)||!m&&(c.pick<=n.pick||c.pick>=o.pick)))for(m&&!p&&(!g&&l>0||!e&&0>l)&&(l*=-1);j.disabled(c)&&(Math.abs(l)>1&&(c.month<k.month||c.month>k.month)&&(c=k,l=l>0?1:-1),c.pick<=n.pick?(h=!0,l=1,c=j.create([n.year,n.month,n.date+(c.pick===n.pick?0:-1)])):c.pick>=o.pick&&(i=!0,l=-1,c=j.create([o.year,o.month,o.date+(c.pick===o.pick?0:1)])),!h||!i);)c=j.create([c.year,c.month,c.date+l]);return c},c.prototype.disabled=function(a){var c=this,d=c.item.disable.filter(function(d){return f.isInteger(d)?a.day===(c.settings.firstDay?d:d-1)%7:b.isArray(d)||f.isDate(d)?a.pick===c.create(d).pick:b.isPlainObject(d)?c.withinRange(d,a):void 0;
|
10 |
-
});return d=d.length&&!d.filter(function(a){return b.isArray(a)&&"inverted"==a[3]||b.isPlainObject(a)&&a.inverted}).length,-1===c.item.enable?!d:d||a.pick<c.item.min.pick||a.pick>c.item.max.pick},c.prototype.parse=function(a,b,c){var d=this,e={};return b&&"string"==typeof b?(c&&c.format||(c=c||{},c.format=d.settings.format),d.formats.toArray(c.format).map(function(a){var c=d.formats[a],g=c?f.trigger(c,d,[b,e]):a.replace(/^!/,"").length;c&&(e[a]=b.substr(0,g)),b=b.substr(g)}),[e.yyyy||e.yy,+(e.mm||e.m)-1,e.dd||e.d]):b},c.prototype.formats=function(){function a(a,b,c){var d=a.match(/\w+/)[0];return c.mm||c.m||(c.m=b.indexOf(d)+1),d.length}function b(a){return a.match(/\w+/)[0].length}return{d:function(a,b){return a?f.digits(a):b.date},dd:function(a,b){return a?2:f.lead(b.date)},ddd:function(a,c){return a?b(a):this.settings.weekdaysShort[c.day]},dddd:function(a,c){return a?b(a):this.settings.weekdaysFull[c.day]},m:function(a,b){return a?f.digits(a):b.month+1},mm:function(a,b){return a?2:f.lead(b.month+1)},mmm:function(b,c){var d=this.settings.monthsShort;return b?a(b,d,c):d[c.month]},mmmm:function(b,c){var d=this.settings.monthsFull;return b?a(b,d,c):d[c.month]},yy:function(a,b){return a?2:(""+b.year).slice(2)},yyyy:function(a,b){return a?4:b.year},toArray:function(a){return a.split(/(d{1,4}|m{1,4}|y{4}|yy|!.)/g)},toString:function(a,b){var c=this;return c.formats.toArray(a).map(function(a){return f.trigger(c.formats[a],c,[0,b])||a.replace(/^!/,"")}).join("")}}}(),c.prototype.isDateExact=function(a,c){var d=this;return f.isInteger(a)&&f.isInteger(c)||"boolean"==typeof a&&"boolean"==typeof c?a===c:(f.isDate(a)||b.isArray(a))&&(f.isDate(c)||b.isArray(c))?d.create(a).pick===d.create(c).pick:b.isPlainObject(a)&&b.isPlainObject(c)?d.isDateExact(a.from,c.from)&&d.isDateExact(a.to,c.to):!1},c.prototype.isDateOverlap=function(a,c){var d=this,e=d.settings.firstDay?1:0;return f.isInteger(a)&&(f.isDate(c)||b.isArray(c))?(a=a%7+e,a===d.create(c).day+1):f.isInteger(c)&&(f.isDate(a)||b.isArray(a))?(c=c%7+e,c===d.create(a).day+1):b.isPlainObject(a)&&b.isPlainObject(c)?d.overlapRanges(a,c):!1},c.prototype.flipEnable=function(a){var b=this.item;b.enable=a||(-1==b.enable?1:-1)},c.prototype.deactivate=function(a,c){var d=this,e=d.item.disable.slice(0);return"flip"==c?d.flipEnable():c===!1?(d.flipEnable(1),e=[]):c===!0?(d.flipEnable(-1),e=[]):c.map(function(a){for(var c,g=0;g<e.length;g+=1)if(d.isDateExact(a,e[g])){c=!0;break}c||(f.isInteger(a)||f.isDate(a)||b.isArray(a)||b.isPlainObject(a)&&a.from&&a.to)&&e.push(a)}),e},c.prototype.activate=function(a,c){var d=this,e=d.item.disable,g=e.length;return"flip"==c?d.flipEnable():c===!0?(d.flipEnable(1),e=[]):c===!1?(d.flipEnable(-1),e=[]):c.map(function(a){var c,h,i,j;for(i=0;g>i;i+=1){if(h=e[i],d.isDateExact(h,a)){c=e[i]=null,j=!0;break}if(d.isDateOverlap(h,a)){b.isPlainObject(a)?(a.inverted=!0,c=a):b.isArray(a)?(c=a,c[3]||c.push("inverted")):f.isDate(a)&&(c=[a.getFullYear(),a.getMonth(),a.getDate(),"inverted"]);break}}if(c)for(i=0;g>i;i+=1)if(d.isDateExact(e[i],a)){e[i]=null;break}if(j)for(i=0;g>i;i+=1)if(d.isDateOverlap(e[i],a)){e[i]=null;break}c&&e.push(c)}),e.filter(function(a){return null!=a})},c.prototype.nodes=function(a){var b=this,c=b.settings,g=b.item,h=g.now,i=g.select,j=g.highlight,k=g.view,l=g.disable,m=g.min,n=g.max,o=function(a,b){return c.firstDay&&(a.push(a.shift()),b.push(b.shift())),f.node("thead",f.node("tr",f.group({min:0,max:d-1,i:1,node:"th",item:function(d){return[a[d],c.klass.weekdays,'scope=col title="'+b[d]+'"']}})))}((c.showWeekdaysFull?c.weekdaysFull:c.weekdaysLetter).slice(0),c.weekdaysFull.slice(0)),p=function(a){return f.node("div"," ",c.klass["nav"+(a?"Next":"Prev")]+(a&&k.year>=n.year&&k.month>=n.month||!a&&k.year<=m.year&&k.month<=m.month?" "+c.klass.navDisabled:""),"data-nav="+(a||-1)+" "+f.ariaAttr({role:"button",controls:b.$node[0].id+"_table"})+' title="'+(a?c.labelMonthNext:c.labelMonthPrev)+'"')},q=function(d){var e=c.showMonthsShort?c.monthsShort:c.monthsFull;return"short_months"==d&&(e=c.monthsShort),c.selectMonths&&void 0==d?f.node("select",f.group({min:0,max:11,i:1,node:"option",item:function(a){return[e[a],0,"value="+a+(k.month==a?" selected":"")+(k.year==m.year&&a<m.month||k.year==n.year&&a>n.month?" disabled":"")]}}),c.klass.selectMonth+" browser-default",(a?"":"disabled")+" "+f.ariaAttr({controls:b.$node[0].id+"_table"})+' title="'+c.labelMonthSelect+'"'):"short_months"==d?null!=i?f.node("div",e[i.month]):f.node("div",e[k.month]):f.node("div",e[k.month],c.klass.month)},r=function(d){var e=k.year,g=c.selectYears===!0?5:~~(c.selectYears/2);if(g){var h=m.year,i=n.year,j=e-g,l=e+g;if(h>j&&(l+=h-j,j=h),l>i){var o=j-h,p=l-i;j-=o>p?p:o,l=i}if(c.selectYears&&void 0==d)return f.node("select",f.group({min:j,max:l,i:1,node:"option",item:function(a){return[a,0,"value="+a+(e==a?" selected":"")]}}),c.klass.selectYear+" browser-default",(a?"":"disabled")+" "+f.ariaAttr({controls:b.$node[0].id+"_table"})+' title="'+c.labelYearSelect+'"')}return"raw"==d?f.node("div",e):f.node("div",e,c.klass.year)};return createDayLabel=function(){return null!=i?f.node("div",i.date):f.node("div",h.date)},createWeekdayLabel=function(){var a;a=null!=i?i.day:h.day;var b=c.weekdaysFull[a];return b},f.node("div",f.node("div",createWeekdayLabel(),"picker__weekday-display")+f.node("div",q("short_months"),c.klass.month_display)+f.node("div",createDayLabel(),c.klass.day_display)+f.node("div",r("raw"),c.klass.year_display),c.klass.date_display)+f.node("div",f.node("div",(c.selectYears?q()+r():q()+r())+p()+p(1),c.klass.header)+f.node("table",o+f.node("tbody",f.group({min:0,max:e-1,i:1,node:"tr",item:function(a){var e=c.firstDay&&0===b.create([k.year,k.month,1]).day?-7:0;return[f.group({min:d*a-k.day+e+1,max:function(){return this.min+d-1},i:1,node:"td",item:function(a){a=b.create([k.year,k.month,a+(c.firstDay?1:0)]);var d=i&&i.pick==a.pick,e=j&&j.pick==a.pick,g=l&&b.disabled(a)||a.pick<m.pick||a.pick>n.pick,o=f.trigger(b.formats.toString,b,[c.format,a]);return[f.node("div",a.date,function(b){return b.push(k.month==a.month?c.klass.infocus:c.klass.outfocus),h.pick==a.pick&&b.push(c.klass.now),d&&b.push(c.klass.selected),e&&b.push(c.klass.highlighted),g&&b.push(c.klass.disabled),b.join(" ")}([c.klass.day]),"data-pick="+a.pick+" "+f.ariaAttr({role:"gridcell",label:o,selected:d&&b.$node.val()===o?!0:null,activedescendant:e?!0:null,disabled:g?!0:null})),"",f.ariaAttr({role:"presentation"})]}})]}})),c.klass.table,'id="'+b.$node[0].id+'_table" '+f.ariaAttr({role:"grid",controls:b.$node[0].id,readonly:!0})),c.klass.calendar_container)+f.node("div",f.node("button",c.today,"btn-flat picker__today","type=button data-pick="+h.pick+(a&&!b.disabled(h)?"":" disabled")+" "+f.ariaAttr({controls:b.$node[0].id}))+f.node("button",c.clear,"btn-flat picker__clear","type=button data-clear=1"+(a?"":" disabled")+" "+f.ariaAttr({controls:b.$node[0].id}))+f.node("button",c.close,"btn-flat picker__close","type=button data-close=true "+(a?"":" disabled")+" "+f.ariaAttr({controls:b.$node[0].id})),c.klass.footer)},c.defaults=function(a){return{labelMonthNext:"Next month",labelMonthPrev:"Previous month",labelMonthSelect:"Select a month",labelYearSelect:"Select a year",monthsFull:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdaysFull:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],weekdaysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],weekdaysLetter:["S","M","T","W","T","F","S"],today:"Today",clear:"Clear",close:"Close",format:"d mmmm, yyyy",klass:{table:a+"table",header:a+"header",date_display:a+"date-display",day_display:a+"day-display",month_display:a+"month-display",year_display:a+"year-display",calendar_container:a+"calendar-container",navPrev:a+"nav--prev",navNext:a+"nav--next",navDisabled:a+"nav--disabled",month:a+"month",year:a+"year",selectMonth:a+"select--month",selectYear:a+"select--year",weekdays:a+"weekday",day:a+"day",disabled:a+"day--disabled",selected:a+"day--selected",highlighted:a+"day--highlighted",now:a+"day--today",infocus:a+"day--infocus",outfocus:a+"day--outfocus",footer:a+"footer",buttonClear:a+"button--clear",buttonToday:a+"button--today",buttonClose:a+"button--close"}}}(a.klasses().picker+"__"),a.extend("pickadate",c)}),function(a){function b(){var b=+a(this).attr("length"),c=+a(this).val().length,d=b>=c;a(this).parent().find('span[class="character-counter"]').html(c+"/"+b),e(d,a(this))}function c(b){var c=b.parent().find('span[class="character-counter"]');c.length||(c=a("<span/>").addClass("character-counter").css("float","right").css("font-size","12px").css("height",1),b.parent().append(c))}function d(){a(this).parent().find('span[class="character-counter"]').html("")}function e(a,b){var c=b.hasClass("invalid");a&&c?b.removeClass("invalid"):a||c||(b.removeClass("valid"),b.addClass("invalid"))}a.fn.characterCounter=function(){return this.each(function(){var e=a(this),f=e.parent().find('span[class="character-counter"]');if(!f.length){var g=void 0!==e.attr("length");g&&(e.on("input",b),e.on("focus",b),e.on("blur",d),c(e))}})},a(document).ready(function(){a("input, textarea").characterCounter()})}(jQuery),function(a){var b={init:function(b){var c={time_constant:200,dist:-100,shift:0,padding:0,full_width:!1,indicators:!1,no_wrap:!1};return b=a.extend(c,b),this.each(function(){function c(){"undefined"!=typeof window.ontouchstart&&(H[0].addEventListener("touchstart",l),H[0].addEventListener("touchmove",m),H[0].addEventListener("touchend",n)),H[0].addEventListener("mousedown",l),H[0].addEventListener("mousemove",m),H[0].addEventListener("mouseup",n),H[0].addEventListener("mouseleave",n),H[0].addEventListener("click",j)}function d(a){return a.targetTouches&&a.targetTouches.length>=1?a.targetTouches[0].clientX:a.clientX}function e(a){return a.targetTouches&&a.targetTouches.length>=1?a.targetTouches[0].clientY:a.clientY}function f(a){return a>=t?a%t:0>a?f(t+a%t):a}function g(a){var c,d,e,g,h,i,j;if(p="number"==typeof a?a:p,q=Math.floor((p+s/2)/s),e=p-q*s,g=0>e?1:-1,h=-g*e*2/s,d=t>>1,b.full_width?j="translateX(0)":(j="translateX("+(H[0].clientWidth-item_width)/2+"px) ",j+="translateY("+(H[0].clientHeight-item_width)/2+"px)"),I){var k=q%t,l=G.find(".indicator-item.active");l.index()!==k&&(l.removeClass("active"),G.find(".indicator-item").eq(k).addClass("active"))}for((!b.no_wrap||q>=0&&t>q)&&(i=o[f(q)],i.style[A]=j+" translateX("+-e/2+"px) translateX("+g*b.shift*h*c+"px) translateZ("+b.dist*h+"px)",i.style.zIndex=0,b.full_width?tweenedOpacity=1:tweenedOpacity=1-.2*h,i.style.opacity=tweenedOpacity,i.style.display="block"),c=1;d>=c;++c)b.full_width?(zTranslation=b.dist,tweenedOpacity=c===d&&0>e?1-h:1):(zTranslation=b.dist*(2*c+h*g),tweenedOpacity=1-.2*(2*c+h*g)),(!b.no_wrap||t>q+c)&&(i=o[f(q+c)],i.style[A]=j+" translateX("+(b.shift+(s*c-e)/2)+"px) translateZ("+zTranslation+"px)",i.style.zIndex=-c,i.style.opacity=tweenedOpacity,i.style.display="block"),b.full_width?(zTranslation=b.dist,tweenedOpacity=c===d&&e>0?1-h:1):(zTranslation=b.dist*(2*c-h*g),tweenedOpacity=1-.2*(2*c-h*g)),(!b.no_wrap||q-c>=0)&&(i=o[f(q-c)],i.style[A]=j+" translateX("+(-b.shift+(-s*c-e)/2)+"px) translateZ("+zTranslation+"px)",i.style.zIndex=-c,i.style.opacity=tweenedOpacity,i.style.display="block");(!b.no_wrap||q>=0&&t>q)&&(i=o[f(q)],i.style[A]=j+" translateX("+-e/2+"px) translateX("+g*b.shift*h+"px) translateZ("+b.dist*h+"px)",i.style.zIndex=0,b.full_width?tweenedOpacity=1:tweenedOpacity=1-.2*h,i.style.opacity=tweenedOpacity,i.style.display="block")}function h(){var a,b,c,d;a=Date.now(),b=a-C,C=a,c=p-B,B=p,d=1e3*c/(1+b),z=.8*d+.2*z}function i(){var a,c;w&&(a=Date.now()-C,c=w*Math.exp(-a/b.time_constant),c>2||-2>c?(g(x-c),requestAnimationFrame(i)):g(x))}function j(c){if(E)return c.preventDefault(),c.stopPropagation(),!1;if(!b.full_width){var d=a(c.target).closest(".carousel-item").index(),e=q%t-d;0!==e&&(c.preventDefault(),c.stopPropagation()),k(d)}}function k(a){var c=q%t-a;b.no_wrap||(0>c?Math.abs(c+t)<Math.abs(c)&&(c+=t):c>0&&Math.abs(c-t)<c&&(c-=t)),0>c?H.trigger("carouselNext",[Math.abs(c)]):c>0&&H.trigger("carouselPrev",[c])}function l(a){r=!0,E=!1,F=!1,u=d(a),v=e(a),z=w=0,B=p,C=Date.now(),clearInterval(D),D=setInterval(h,100)}function m(a){var b,c,f;if(r)if(b=d(a),y=e(a),c=u-b,f=Math.abs(v-y),30>f&&!F)(c>2||-2>c)&&(E=!0,u=b,g(p+c));else{if(E)return a.preventDefault(),a.stopPropagation(),!1;F=!0}return E?(a.preventDefault(),a.stopPropagation(),!1):void 0}function n(a){return r?(r=!1,clearInterval(D),x=p,(z>10||-10>z)&&(w=.9*z,x=p+w),x=Math.round(x/s)*s,b.no_wrap&&(x>=s*(t-1)?x=s*(t-1):0>x&&(x=0)),w=x-p,C=Date.now(),requestAnimationFrame(i),E&&(a.preventDefault(),a.stopPropagation()),!1):void 0}var o,p,q,r,s,t,u,v,w,x,z,A,B,C,D,E,F,G=a('<ul class="indicators"></ul>'),H=a(this),I=H.attr("data-indicators")||b.indicators;if(H.hasClass("initialized"))return a(this).trigger("carouselNext",[1e-6]),!0;if(b.full_width){b.dist=0;var J=H.find(".carousel-item img").first();J.length?imageHeight=J.on("load",function(){H.css("height",a(this).height())}):(imageHeight=H.find(".carousel-item").first().height(),H.css("height",imageHeight)),I&&H.find(".carousel-fixed-item").addClass("with-indicators")}H.addClass("initialized"),r=!1,p=x=0,o=[],item_width=H.find(".carousel-item").first().innerWidth(),s=2*item_width+b.padding,H.find(".carousel-item").each(function(b){if(o.push(a(this)[0]),I){var c=a('<li class="indicator-item"></li>');0===b&&c.addClass("active"),c.click(function(){var b=a(this).index();k(b)}),G.append(c)}}),I&&H.append(G),t=o.length,A="transform",["webkit","Moz","O","ms"].every(function(a){var b=a+"Transform";return"undefined"!=typeof document.body.style[b]?(A=b,!1):!0}),window.onresize=g,c(),g(p),a(this).on("carouselNext",function(a,b){void 0===b&&(b=1),x=p+s*b,p!==x&&(w=x-p,C=Date.now(),requestAnimationFrame(i))}),a(this).on("carouselPrev",function(a,b){void 0===b&&(b=1),x=p-s*b,p!==x&&(w=x-p,C=Date.now(),requestAnimationFrame(i))}),a(this).on("carouselSet",function(a,b){void 0===b&&(b=0),k(b)})})},next:function(b){a(this).trigger("carouselNext",[b])},prev:function(b){a(this).trigger("carouselPrev",[b])},set:function(b){a(this).trigger("carouselSet",[b])}};a.fn.carousel=function(c){return b[c]?b[c].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof c&&c?void a.error("Method "+c+" does not exist on jQuery.carousel"):b.init.apply(this,arguments)}}(jQuery);
|
1 |
/*!
|
2 |
+
* Materialize v1.0.0 (http://materializecss.com)
|
3 |
+
* Copyright 2014-2017 Materialize
|
4 |
* MIT License (https://raw.githubusercontent.com/Dogfalo/materialize/master/LICENSE)
|
5 |
*/
|
6 |
+
var _get=function t(e,i,n){null===e&&(e=Function.prototype);var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var o=Object.getPrototypeOf(e);return null===o?void 0:t(o,i,n)}if("value"in s)return s.value;var a=s.get;return void 0!==a?a.call(n):void 0},_createClass=function(){function n(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(t,e,i){return e&&n(t.prototype,e),i&&n(t,i),t}}();function _possibleConstructorReturn(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function _inherits(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}window.cash=function(){var i,o=document,a=window,t=Array.prototype,r=t.slice,n=t.filter,s=t.push,e=function(){},h=function(t){return typeof t==typeof e&&t.call},d=function(t){return"string"==typeof t},l=/^#[\w-]*$/,u=/^\.[\w-]*$/,c=/<.+>/,p=/^\w+$/;function v(t,e){e=e||o;var i=u.test(t)?e.getElementsByClassName(t.slice(1)):p.test(t)?e.getElementsByTagName(t):e.querySelectorAll(t);return i}function f(t){if(!i){var e=(i=o.implementation.createHTMLDocument(null)).createElement("base");e.href=o.location.href,i.head.appendChild(e)}return i.body.innerHTML=t,i.body.childNodes}function m(t){"loading"!==o.readyState?t():o.addEventListener("DOMContentLoaded",t)}function g(t,e){if(!t)return this;if(t.cash&&t!==a)return t;var i,n=t,s=0;if(d(t))n=l.test(t)?o.getElementById(t.slice(1)):c.test(t)?f(t):v(t,e);else if(h(t))return m(t),this;if(!n)return this;if(n.nodeType||n===a)this[0]=n,this.length=1;else for(i=this.length=n.length;s<i;s++)this[s]=n[s];return this}function _(t,e){return new g(t,e)}var y=_.fn=_.prototype=g.prototype={cash:!0,length:0,push:s,splice:t.splice,map:t.map,init:g};function k(t,e){for(var i=t.length,n=0;n<i&&!1!==e.call(t[n],t[n],n,t);n++);}function b(t,e){var i=t&&(t.matches||t.webkitMatchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector);return!!i&&i.call(t,e)}function w(e){return d(e)?b:e.cash?function(t){return e.is(t)}:function(t,e){return t===e}}function C(t){return _(r.call(t).filter(function(t,e,i){return i.indexOf(t)===e}))}Object.defineProperty(y,"constructor",{value:_}),_.parseHTML=f,_.noop=e,_.isFunction=h,_.isString=d,_.extend=y.extend=function(t){t=t||{};var e=r.call(arguments),i=e.length,n=1;for(1===e.length&&(t=this,n=0);n<i;n++)if(e[n])for(var s in e[n])e[n].hasOwnProperty(s)&&(t[s]=e[n][s]);return t},_.extend({merge:function(t,e){for(var i=+e.length,n=t.length,s=0;s<i;n++,s++)t[n]=e[s];return t.length=n,t},each:k,matches:b,unique:C,isArray:Array.isArray,isNumeric:function(t){return!isNaN(parseFloat(t))&&isFinite(t)}});var E=_.uid="_cash"+Date.now();function M(t){return t[E]=t[E]||{}}function O(t,e,i){return M(t)[e]=i}function x(t,e){var i=M(t);return void 0===i[e]&&(i[e]=t.dataset?t.dataset[e]:_(t).attr("data-"+e)),i[e]}y.extend({data:function(e,i){if(d(e))return void 0===i?x(this[0],e):this.each(function(t){return O(t,e,i)});for(var t in e)this.data(t,e[t]);return this},removeData:function(s){return this.each(function(t){return i=s,void((n=M(e=t))?delete n[i]:e.dataset?delete e.dataset[i]:_(e).removeAttr("data-"+name));var e,i,n})}});var L=/\S+/g;function T(t){return d(t)&&t.match(L)}function $(t,e){return t.classList?t.classList.contains(e):new RegExp("(^| )"+e+"( |$)","gi").test(t.className)}function B(t,e,i){t.classList?t.classList.add(e):i.indexOf(" "+e+" ")&&(t.className+=" "+e)}function D(t,e){t.classList?t.classList.remove(e):t.className=t.className.replace(e,"")}y.extend({addClass:function(t){var n=T(t);return n?this.each(function(e){var i=" "+e.className+" ";k(n,function(t){B(e,t,i)})}):this},attr:function(e,i){if(e){if(d(e))return void 0===i?this[0]?this[0].getAttribute?this[0].getAttribute(e):this[0][e]:void 0:this.each(function(t){t.setAttribute?t.setAttribute(e,i):t[e]=i});for(var t in e)this.attr(t,e[t]);return this}},hasClass:function(t){var e=!1,i=T(t);return i&&i.length&&this.each(function(t){return!(e=$(t,i[0]))}),e},prop:function(e,i){if(d(e))return void 0===i?this[0][e]:this.each(function(t){t[e]=i});for(var t in e)this.prop(t,e[t]);return this},removeAttr:function(e){return this.each(function(t){t.removeAttribute?t.removeAttribute(e):delete t[e]})},removeClass:function(t){if(!arguments.length)return this.attr("class","");var i=T(t);return i?this.each(function(e){k(i,function(t){D(e,t)})}):this},removeProp:function(e){return this.each(function(t){delete t[e]})},toggleClass:function(t,e){if(void 0!==e)return this[e?"addClass":"removeClass"](t);var n=T(t);return n?this.each(function(e){var i=" "+e.className+" ";k(n,function(t){$(e,t)?D(e,t):B(e,t,i)})}):this}}),y.extend({add:function(t,e){return C(_.merge(this,_(t,e)))},each:function(t){return k(this,t),this},eq:function(t){return _(this.get(t))},filter:function(e){if(!e)return this;var i=h(e)?e:w(e);return _(n.call(this,function(t){return i(t,e)}))},first:function(){return this.eq(0)},get:function(t){return void 0===t?r.call(this):t<0?this[t+this.length]:this[t]},index:function(t){var e=t?_(t)[0]:this[0],i=t?this:_(e).parent().children();return r.call(i).indexOf(e)},last:function(){return this.eq(-1)}});var S,I,A,R,H,P,W=(H=/(?:^\w|[A-Z]|\b\w)/g,P=/[\s-_]+/g,function(t){return t.replace(H,function(t,e){return t[0===e?"toLowerCase":"toUpperCase"]()}).replace(P,"")}),j=(S={},I=document,A=I.createElement("div"),R=A.style,function(e){if(e=W(e),S[e])return S[e];var t=e.charAt(0).toUpperCase()+e.slice(1),i=(e+" "+["webkit","moz","ms","o"].join(t+" ")+t).split(" ");return k(i,function(t){if(t in R)return S[t]=e=S[e]=t,!1}),S[e]});function F(t,e){return parseInt(a.getComputedStyle(t[0],null)[e],10)||0}function q(e,i,t){var n,s=x(e,"_cashEvents"),o=s&&s[i];o&&(t?(e.removeEventListener(i,t),0<=(n=o.indexOf(t))&&o.splice(n,1)):(k(o,function(t){e.removeEventListener(i,t)}),o=[]))}function N(t,e){return"&"+encodeURIComponent(t)+"="+encodeURIComponent(e).replace(/%20/g,"+")}function z(t){var e,i,n,s=t.type;if(!s)return null;switch(s.toLowerCase()){case"select-one":return 0<=(n=(i=t).selectedIndex)?i.options[n].value:null;case"select-multiple":return e=[],k(t.options,function(t){t.selected&&e.push(t.value)}),e.length?e:null;case"radio":case"checkbox":return t.checked?t.value:null;default:return t.value?t.value:null}}function V(e,i,n){var t=d(i);t||!i.length?k(e,t?function(t){return t.insertAdjacentHTML(n?"afterbegin":"beforeend",i)}:function(t,e){return function(t,e,i){if(i){var n=t.childNodes[0];t.insertBefore(e,n)}else t.appendChild(e)}(t,0===e?i:i.cloneNode(!0),n)}):k(i,function(t){return V(e,t,n)})}_.prefixedProp=j,_.camelCase=W,y.extend({css:function(e,i){if(d(e))return e=j(e),1<arguments.length?this.each(function(t){return t.style[e]=i}):a.getComputedStyle(this[0])[e];for(var t in e)this.css(t,e[t]);return this}}),k(["Width","Height"],function(e){var t=e.toLowerCase();y[t]=function(){return this[0].getBoundingClientRect()[t]},y["inner"+e]=function(){return this[0]["client"+e]},y["outer"+e]=function(t){return this[0]["offset"+e]+(t?F(this,"margin"+("Width"===e?"Left":"Top"))+F(this,"margin"+("Width"===e?"Right":"Bottom")):0)}}),y.extend({off:function(e,i){return this.each(function(t){return q(t,e,i)})},on:function(a,i,r,l){var n;if(!d(a)){for(var t in a)this.on(t,i,a[t]);return this}return h(i)&&(r=i,i=null),"ready"===a?(m(r),this):(i&&(n=r,r=function(t){for(var e=t.target;!b(e,i);){if(e===this||null===e)return e=!1;e=e.parentNode}e&&n.call(e,t)}),this.each(function(t){var e,i,n,s,o=r;l&&(o=function(){r.apply(this,arguments),q(t,a,o)}),i=a,n=o,(s=x(e=t,"_cashEvents")||O(e,"_cashEvents",{}))[i]=s[i]||[],s[i].push(n),e.addEventListener(i,n)}))},one:function(t,e,i){return this.on(t,e,i,!0)},ready:m,trigger:function(t,e){if(document.createEvent){var i=document.createEvent("HTMLEvents");return i.initEvent(t,!0,!1),i=this.extend(i,e),this.each(function(t){return t.dispatchEvent(i)})}}}),y.extend({serialize:function(){var s="";return k(this[0].elements||this,function(t){if(!t.disabled&&"FIELDSET"!==t.tagName){var e=t.name;switch(t.type.toLowerCase()){case"file":case"reset":case"submit":case"button":break;case"select-multiple":var i=z(t);null!==i&&k(i,function(t){s+=N(e,t)});break;default:var n=z(t);null!==n&&(s+=N(e,n))}}}),s.substr(1)},val:function(e){return void 0===e?z(this[0]):this.each(function(t){return t.value=e})}}),y.extend({after:function(t){return _(t).insertAfter(this),this},append:function(t){return V(this,t),this},appendTo:function(t){return V(_(t),this),this},before:function(t){return _(t).insertBefore(this),this},clone:function(){return _(this.map(function(t){return t.cloneNode(!0)}))},empty:function(){return this.html(""),this},html:function(t){if(void 0===t)return this[0].innerHTML;var e=t.nodeType?t[0].outerHTML:t;return this.each(function(t){return t.innerHTML=e})},insertAfter:function(t){var s=this;return _(t).each(function(t,e){var i=t.parentNode,n=t.nextSibling;s.each(function(t){i.insertBefore(0===e?t:t.cloneNode(!0),n)})}),this},insertBefore:function(t){var s=this;return _(t).each(function(e,i){var n=e.parentNode;s.each(function(t){n.insertBefore(0===i?t:t.cloneNode(!0),e)})}),this},prepend:function(t){return V(this,t,!0),this},prependTo:function(t){return V(_(t),this,!0),this},remove:function(){return this.each(function(t){if(t.parentNode)return t.parentNode.removeChild(t)})},text:function(e){return void 0===e?this[0].textContent:this.each(function(t){return t.textContent=e})}});var X=o.documentElement;return y.extend({position:function(){var t=this[0];return{left:t.offsetLeft,top:t.offsetTop}},offset:function(){var t=this[0].getBoundingClientRect();return{top:t.top+a.pageYOffset-X.clientTop,left:t.left+a.pageXOffset-X.clientLeft}},offsetParent:function(){return _(this[0].offsetParent)}}),y.extend({children:function(e){var i=[];return this.each(function(t){s.apply(i,t.children)}),i=C(i),e?i.filter(function(t){return b(t,e)}):i},closest:function(t){return!t||this.length<1?_():this.is(t)?this.filter(t):this.parent().closest(t)},is:function(e){if(!e)return!1;var i=!1,n=w(e);return this.each(function(t){return!(i=n(t,e))}),i},find:function(e){if(!e||e.nodeType)return _(e&&this.has(e).length?e:null);var i=[];return this.each(function(t){s.apply(i,v(e,t))}),C(i)},has:function(e){var t=d(e)?function(t){return 0!==v(e,t).length}:function(t){return t.contains(e)};return this.filter(t)},next:function(){return _(this[0].nextElementSibling)},not:function(e){if(!e)return this;var i=w(e);return this.filter(function(t){return!i(t,e)})},parent:function(){var e=[];return this.each(function(t){t&&t.parentNode&&e.push(t.parentNode)}),C(e)},parents:function(e){var i,n=[];return this.each(function(t){for(i=t;i&&i.parentNode&&i!==o.body.parentNode;)i=i.parentNode,(!e||e&&b(i,e))&&n.push(i)}),C(n)},prev:function(){return _(this[0].previousElementSibling)},siblings:function(t){var e=this.parent().children(t),i=this[0];return e.filter(function(t){return t!==i})}}),_}();var Component=function(){function s(t,e,i){_classCallCheck(this,s),e instanceof Element||console.error(Error(e+" is not an HTML Element"));var n=t.getInstance(e);n&&n.destroy(),this.el=e,this.$el=cash(e)}return _createClass(s,null,[{key:"init",value:function(t,e,i){var n=null;if(e instanceof Element)n=new t(e,i);else if(e&&(e.jquery||e.cash||e instanceof NodeList)){for(var s=[],o=0;o<e.length;o++)s.push(new t(e[o],i));n=s}return n}}]),s}();!function(t){t.Package?M={}:t.M={},M.jQueryLoaded=!!t.jQuery}(window),"function"==typeof define&&define.amd?define("M",[],function(){return M}):"undefined"==typeof exports||exports.nodeType||("undefined"!=typeof module&&!module.nodeType&&module.exports&&(exports=module.exports=M),exports.default=M),M.version="1.0.0",M.keys={TAB:9,ENTER:13,ESC:27,ARROW_UP:38,ARROW_DOWN:40},M.tabPressed=!1,M.keyDown=!1;var docHandleKeydown=function(t){M.keyDown=!0,t.which!==M.keys.TAB&&t.which!==M.keys.ARROW_DOWN&&t.which!==M.keys.ARROW_UP||(M.tabPressed=!0)},docHandleKeyup=function(t){M.keyDown=!1,t.which!==M.keys.TAB&&t.which!==M.keys.ARROW_DOWN&&t.which!==M.keys.ARROW_UP||(M.tabPressed=!1)},docHandleFocus=function(t){M.keyDown&&document.body.classList.add("keyboard-focused")},docHandleBlur=function(t){document.body.classList.remove("keyboard-focused")};document.addEventListener("keydown",docHandleKeydown,!0),document.addEventListener("keyup",docHandleKeyup,!0),document.addEventListener("focus",docHandleFocus,!0),document.addEventListener("blur",docHandleBlur,!0),M.initializeJqueryWrapper=function(n,s,o){jQuery.fn[s]=function(e){if(n.prototype[e]){var i=Array.prototype.slice.call(arguments,1);if("get"===e.slice(0,3)){var t=this.first()[0][o];return t[e].apply(t,i)}return this.each(function(){var t=this[o];t[e].apply(t,i)})}if("object"==typeof e||!e)return n.init(this,e),this;jQuery.error("Method "+e+" does not exist on jQuery."+s)}},M.AutoInit=function(t){var e=t||document.body,i={Autocomplete:e.querySelectorAll(".autocomplete:not(.no-autoinit)"),Carousel:e.querySelectorAll(".carousel:not(.no-autoinit)"),Chips:e.querySelectorAll(".chips:not(.no-autoinit)"),Collapsible:e.querySelectorAll(".collapsible:not(.no-autoinit)"),Datepicker:e.querySelectorAll(".datepicker:not(.no-autoinit)"),Dropdown:e.querySelectorAll(".dropdown-trigger:not(.no-autoinit)"),Materialbox:e.querySelectorAll(".materialboxed:not(.no-autoinit)"),Modal:e.querySelectorAll(".modal:not(.no-autoinit)"),Parallax:e.querySelectorAll(".parallax:not(.no-autoinit)"),Pushpin:e.querySelectorAll(".pushpin:not(.no-autoinit)"),ScrollSpy:e.querySelectorAll(".scrollspy:not(.no-autoinit)"),FormSelect:e.querySelectorAll("select:not(.no-autoinit)"),Sidenav:e.querySelectorAll(".sidenav:not(.no-autoinit)"),Tabs:e.querySelectorAll(".tabs:not(.no-autoinit)"),TapTarget:e.querySelectorAll(".tap-target:not(.no-autoinit)"),Timepicker:e.querySelectorAll(".timepicker:not(.no-autoinit)"),Tooltip:e.querySelectorAll(".tooltipped:not(.no-autoinit)"),FloatingActionButton:e.querySelectorAll(".fixed-action-btn:not(.no-autoinit)")};for(var n in i){M[n].init(i[n])}},M.objectSelectorString=function(t){return((t.prop("tagName")||"")+(t.attr("id")||"")+(t.attr("class")||"")).replace(/\s/g,"")},M.guid=function(){function t(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return function(){return t()+t()+"-"+t()+"-"+t()+"-"+t()+"-"+t()+t()+t()}}(),M.escapeHash=function(t){return t.replace(/(:|\.|\[|\]|,|=|\/)/g,"\\$1")},M.elementOrParentIsFixed=function(t){var e=$(t),i=e.add(e.parents()),n=!1;return i.each(function(){if("fixed"===$(this).css("position"))return!(n=!0)}),n},M.checkWithinContainer=function(t,e,i){var n={top:!1,right:!1,bottom:!1,left:!1},s=t.getBoundingClientRect(),o=t===document.body?Math.max(s.bottom,window.innerHeight):s.bottom,a=t.scrollLeft,r=t.scrollTop,l=e.left-a,h=e.top-r;return(l<s.left+i||l<i)&&(n.left=!0),(l+e.width>s.right-i||l+e.width>window.innerWidth-i)&&(n.right=!0),(h<s.top+i||h<i)&&(n.top=!0),(h+e.height>o-i||h+e.height>window.innerHeight-i)&&(n.bottom=!0),n},M.checkPossibleAlignments=function(t,e,i,n){var s={top:!0,right:!0,bottom:!0,left:!0,spaceOnTop:null,spaceOnRight:null,spaceOnBottom:null,spaceOnLeft:null},o="visible"===getComputedStyle(e).overflow,a=e.getBoundingClientRect(),r=Math.min(a.height,window.innerHeight),l=Math.min(a.width,window.innerWidth),h=t.getBoundingClientRect(),d=e.scrollLeft,u=e.scrollTop,c=i.left-d,p=i.top-u,v=i.top+h.height-u;return s.spaceOnRight=o?window.innerWidth-(h.left+i.width):l-(c+i.width),s.spaceOnRight<0&&(s.left=!1),s.spaceOnLeft=o?h.right-i.width:c-i.width+h.width,s.spaceOnLeft<0&&(s.right=!1),s.spaceOnBottom=o?window.innerHeight-(h.top+i.height+n):r-(p+i.height+n),s.spaceOnBottom<0&&(s.top=!1),s.spaceOnTop=o?h.bottom-(i.height+n):v-(i.height-n),s.spaceOnTop<0&&(s.bottom=!1),s},M.getOverflowParent=function(t){return null==t?null:t===document.body||"visible"!==getComputedStyle(t).overflow?t:M.getOverflowParent(t.parentElement)},M.getIdFromTrigger=function(t){var e=t.getAttribute("data-target");return e||(e=(e=t.getAttribute("href"))?e.slice(1):""),e},M.getDocumentScrollTop=function(){return window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0},M.getDocumentScrollLeft=function(){return window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0};var getTime=Date.now||function(){return(new Date).getTime()};M.throttle=function(i,n,s){var o=void 0,a=void 0,r=void 0,l=null,h=0;s||(s={});var d=function(){h=!1===s.leading?0:getTime(),l=null,r=i.apply(o,a),o=a=null};return function(){var t=getTime();h||!1!==s.leading||(h=t);var e=n-(t-h);return o=this,a=arguments,e<=0?(clearTimeout(l),l=null,h=t,r=i.apply(o,a),o=a=null):l||!1===s.trailing||(l=setTimeout(d,e)),r}};var $jscomp={scope:{}};$jscomp.defineProperty="function"==typeof Object.defineProperties?Object.defineProperty:function(t,e,i){if(i.get||i.set)throw new TypeError("ES3 does not support getters and setters.");t!=Array.prototype&&t!=Object.prototype&&(t[e]=i.value)},$jscomp.getGlobal=function(t){return"undefined"!=typeof window&&window===t?t:"undefined"!=typeof global&&null!=global?global:t},$jscomp.global=$jscomp.getGlobal(this),$jscomp.SYMBOL_PREFIX="jscomp_symbol_",$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){},$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)},$jscomp.symbolCounter_=0,$jscomp.Symbol=function(t){return $jscomp.SYMBOL_PREFIX+(t||"")+$jscomp.symbolCounter_++},$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var t=$jscomp.global.Symbol.iterator;t||(t=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator")),"function"!=typeof Array.prototype[t]&&$jscomp.defineProperty(Array.prototype,t,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}}),$jscomp.initSymbolIterator=function(){}},$jscomp.arrayIterator=function(t){var e=0;return $jscomp.iteratorPrototype(function(){return e<t.length?{done:!1,value:t[e++]}:{done:!0}})},$jscomp.iteratorPrototype=function(t){return $jscomp.initSymbolIterator(),(t={next:t})[$jscomp.global.Symbol.iterator]=function(){return this},t},$jscomp.array=$jscomp.array||{},$jscomp.iteratorFromArray=function(e,i){$jscomp.initSymbolIterator(),e instanceof String&&(e+="");var n=0,s={next:function(){if(n<e.length){var t=n++;return{value:i(t,e[t]),done:!1}}return s.next=function(){return{done:!0,value:void 0}},s.next()}};return s[Symbol.iterator]=function(){return s},s},$jscomp.polyfill=function(t,e,i,n){if(e){for(i=$jscomp.global,t=t.split("."),n=0;n<t.length-1;n++){var s=t[n];s in i||(i[s]={}),i=i[s]}(e=e(n=i[t=t[t.length-1]]))!=n&&null!=e&&$jscomp.defineProperty(i,t,{configurable:!0,writable:!0,value:e})}},$jscomp.polyfill("Array.prototype.keys",function(t){return t||function(){return $jscomp.iteratorFromArray(this,function(t){return t})}},"es6-impl","es3");var $jscomp$this=this;M.anime=function(){function s(t){if(!B.col(t))try{return document.querySelectorAll(t)}catch(t){}}function b(t,e){for(var i=t.length,n=2<=arguments.length?e:void 0,s=[],o=0;o<i;o++)if(o in t){var a=t[o];e.call(n,a,o,t)&&s.push(a)}return s}function d(t){return t.reduce(function(t,e){return t.concat(B.arr(e)?d(e):e)},[])}function o(t){return B.arr(t)?t:(B.str(t)&&(t=s(t)||t),t instanceof NodeList||t instanceof HTMLCollection?[].slice.call(t):[t])}function a(t,e){return t.some(function(t){return t===e})}function r(t){var e,i={};for(e in t)i[e]=t[e];return i}function u(t,e){var i,n=r(t);for(i in t)n[i]=e.hasOwnProperty(i)?e[i]:t[i];return n}function c(t,e){var i,n=r(t);for(i in e)n[i]=B.und(t[i])?e[i]:t[i];return n}function l(t){if(t=/([\+\-]?[0-9#\.]+)(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(t))return t[2]}function h(t,e){return B.fnc(t)?t(e.target,e.id,e.total):t}function w(t,e){if(e in t.style)return getComputedStyle(t).getPropertyValue(e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase())||"0"}function p(t,e){return B.dom(t)&&a($,e)?"transform":B.dom(t)&&(t.getAttribute(e)||B.svg(t)&&t[e])?"attribute":B.dom(t)&&"transform"!==e&&w(t,e)?"css":null!=t[e]?"object":void 0}function v(t,e){switch(p(t,e)){case"transform":return function(t,i){var e,n=-1<(e=i).indexOf("translate")||"perspective"===e?"px":-1<e.indexOf("rotate")||-1<e.indexOf("skew")?"deg":void 0,n=-1<i.indexOf("scale")?1:0+n;if(!(t=t.style.transform))return n;for(var s=[],o=[],a=[],r=/(\w+)\((.+?)\)/g;s=r.exec(t);)o.push(s[1]),a.push(s[2]);return(t=b(a,function(t,e){return o[e]===i})).length?t[0]:n}(t,e);case"css":return w(t,e);case"attribute":return t.getAttribute(e)}return t[e]||0}function f(t,e){var i=/^(\*=|\+=|-=)/.exec(t);if(!i)return t;var n=l(t)||0;switch(e=parseFloat(e),t=parseFloat(t.replace(i[0],"")),i[0][0]){case"+":return e+t+n;case"-":return e-t+n;case"*":return e*t+n}}function m(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function i(t){t=t.points;for(var e,i=0,n=0;n<t.numberOfItems;n++){var s=t.getItem(n);0<n&&(i+=m(e,s)),e=s}return i}function g(t){if(t.getTotalLength)return t.getTotalLength();switch(t.tagName.toLowerCase()){case"circle":return 2*Math.PI*t.getAttribute("r");case"rect":return 2*t.getAttribute("width")+2*t.getAttribute("height");case"line":return m({x:t.getAttribute("x1"),y:t.getAttribute("y1")},{x:t.getAttribute("x2"),y:t.getAttribute("y2")});case"polyline":return i(t);case"polygon":var e=t.points;return i(t)+m(e.getItem(e.numberOfItems-1),e.getItem(0))}}function C(e,i){function t(t){return t=void 0===t?0:t,e.el.getPointAtLength(1<=i+t?i+t:0)}var n=t(),s=t(-1),o=t(1);switch(e.property){case"x":return n.x;case"y":return n.y;case"angle":return 180*Math.atan2(o.y-s.y,o.x-s.x)/Math.PI}}function _(t,e){var i,n=/-?\d*\.?\d+/g;if(i=B.pth(t)?t.totalLength:t,B.col(i))if(B.rgb(i)){var s=/rgb\((\d+,\s*[\d]+,\s*[\d]+)\)/g.exec(i);i=s?"rgba("+s[1]+",1)":i}else i=B.hex(i)?function(t){t=t.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,n){return e+e+i+i+n+n});var e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);t=parseInt(e[1],16);var i=parseInt(e[2],16),e=parseInt(e[3],16);return"rgba("+t+","+i+","+e+",1)"}(i):B.hsl(i)?function(t){function e(t,e,i){return i<0&&(i+=1),1<i&&--i,i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t}var i=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(t)||/hsla\((\d+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)/g.exec(t);t=parseInt(i[1])/360;var n=parseInt(i[2])/100,s=parseInt(i[3])/100,i=i[4]||1;if(0==n)s=n=t=s;else{var o=s<.5?s*(1+n):s+n-s*n,a=2*s-o,s=e(a,o,t+1/3),n=e(a,o,t);t=e(a,o,t-1/3)}return"rgba("+255*s+","+255*n+","+255*t+","+i+")"}(i):void 0;else s=(s=l(i))?i.substr(0,i.length-s.length):i,i=e&&!/\s/g.test(i)?s+e:s;return{original:i+="",numbers:i.match(n)?i.match(n).map(Number):[0],strings:B.str(t)||e?i.split(n):[]}}function y(t){return b(t=t?d(B.arr(t)?t.map(o):o(t)):[],function(t,e,i){return i.indexOf(t)===e})}function k(t,i){var e=r(i);if(B.arr(t)){var n=t.length;2!==n||B.obj(t[0])?B.fnc(i.duration)||(e.duration=i.duration/n):t={value:t}}return o(t).map(function(t,e){return e=e?0:i.delay,t=B.obj(t)&&!B.pth(t)?t:{value:t},B.und(t.delay)&&(t.delay=e),t}).map(function(t){return c(t,e)})}function E(o,a){var r;return o.tweens.map(function(t){var e=(t=function(t,e){var i,n={};for(i in t){var s=h(t[i],e);B.arr(s)&&1===(s=s.map(function(t){return h(t,e)})).length&&(s=s[0]),n[i]=s}return n.duration=parseFloat(n.duration),n.delay=parseFloat(n.delay),n}(t,a)).value,i=v(a.target,o.name),n=r?r.to.original:i,n=B.arr(e)?e[0]:n,s=f(B.arr(e)?e[1]:e,n),i=l(s)||l(n)||l(i);return t.from=_(n,i),t.to=_(s,i),t.start=r?r.end:o.offset,t.end=t.start+t.delay+t.duration,t.easing=function(t){return B.arr(t)?D.apply(this,t):S[t]}(t.easing),t.elasticity=(1e3-Math.min(Math.max(t.elasticity,1),999))/1e3,t.isPath=B.pth(e),t.isColor=B.col(t.from.original),t.isColor&&(t.round=1),r=t})}function M(e,t,i,n){var s="delay"===e;return t.length?(s?Math.min:Math.max).apply(Math,t.map(function(t){return t[e]})):s?n.delay:i.offset+n.delay+n.duration}function n(t){var e,i,n,s,o=u(L,t),a=u(T,t),r=(i=t.targets,(n=y(i)).map(function(t,e){return{target:t,id:e,total:n.length}})),l=[],h=c(o,a);for(e in t)h.hasOwnProperty(e)||"targets"===e||l.push({name:e,offset:h.offset,tweens:k(t[e],a)});return s=l,t=b(d(r.map(function(n){return s.map(function(t){var e=p(n.target,t.name);if(e){var i=E(t,n);t={type:e,property:t.name,animatable:n,tweens:i,duration:i[i.length-1].end,delay:i[0].delay}}else t=void 0;return t})})),function(t){return!B.und(t)}),c(o,{children:[],animatables:r,animations:t,duration:M("duration",t,o,a),delay:M("delay",t,o,a)})}function O(t){function d(){return window.Promise&&new Promise(function(t){return _=t})}function u(t){return k.reversed?k.duration-t:t}function c(e){for(var t=0,i={},n=k.animations,s=n.length;t<s;){var o=n[t],a=o.animatable,r=o.tweens,l=r.length-1,h=r[l];l&&(h=b(r,function(t){return e<t.end})[0]||h);for(var r=Math.min(Math.max(e-h.start-h.delay,0),h.duration)/h.duration,d=isNaN(r)?1:h.easing(r,h.elasticity),r=h.to.strings,u=h.round,l=[],c=void 0,c=h.to.numbers.length,p=0;p<c;p++){var v=void 0,v=h.to.numbers[p],f=h.from.numbers[p],v=h.isPath?C(h.value,d*v):f+d*(v-f);u&&(h.isColor&&2<p||(v=Math.round(v*u)/u)),l.push(v)}if(h=r.length)for(c=r[0],d=0;d<h;d++)u=r[d+1],p=l[d],isNaN(p)||(c=u?c+(p+u):c+(p+" "));else c=l[0];I[o.type](a.target,o.property,c,i,a.id),o.currentValue=c,t++}if(t=Object.keys(i).length)for(n=0;n<t;n++)x||(x=w(document.body,"transform")?"transform":"-webkit-transform"),k.animatables[n].target.style[x]=i[n].join(" ");k.currentTime=e,k.progress=e/k.duration*100}function p(t){k[t]&&k[t](k)}function v(){k.remaining&&!0!==k.remaining&&k.remaining--}function e(t){var e=k.duration,i=k.offset,n=i+k.delay,s=k.currentTime,o=k.reversed,a=u(t);if(k.children.length){var r=k.children,l=r.length;if(a>=k.currentTime)for(var h=0;h<l;h++)r[h].seek(a);else for(;l--;)r[l].seek(a)}(n<=a||!e)&&(k.began||(k.began=!0,p("begin")),p("run")),i<a&&a<e?c(a):(a<=i&&0!==s&&(c(0),o&&v()),(e<=a&&s!==e||!e)&&(c(e),o||v())),p("update"),e<=t&&(k.remaining?(m=f,"alternate"===k.direction&&(k.reversed=!k.reversed)):(k.pause(),k.completed||(k.completed=!0,p("complete"),"Promise"in window&&(_(),y=d()))),g=0)}t=void 0===t?{}:t;var f,m,g=0,_=null,y=d(),k=n(t);return k.reset=function(){var t=k.direction,e=k.loop;for(k.currentTime=0,k.progress=0,k.paused=!0,k.began=!1,k.completed=!1,k.reversed="reverse"===t,k.remaining="alternate"===t&&1===e?2:e,c(0),t=k.children.length;t--;)k.children[t].reset()},k.tick=function(t){f=t,m||(m=f),e((g+f-m)*O.speed)},k.seek=function(t){e(u(t))},k.pause=function(){var t=A.indexOf(k);-1<t&&A.splice(t,1),k.paused=!0},k.play=function(){k.paused&&(k.paused=!1,m=0,g=u(k.currentTime),A.push(k),R||H())},k.reverse=function(){k.reversed=!k.reversed,m=0,g=u(k.currentTime)},k.restart=function(){k.pause(),k.reset(),k.play()},k.finished=y,k.reset(),k.autoplay&&k.play(),k}var x,L={update:void 0,begin:void 0,run:void 0,complete:void 0,loop:1,direction:"normal",autoplay:!0,offset:0},T={duration:1e3,delay:0,easing:"easeOutElastic",elasticity:500,round:0},$="translateX translateY translateZ rotate rotateX rotateY rotateZ scale scaleX scaleY scaleZ skewX skewY perspective".split(" "),B={arr:function(t){return Array.isArray(t)},obj:function(t){return-1<Object.prototype.toString.call(t).indexOf("Object")},pth:function(t){return B.obj(t)&&t.hasOwnProperty("totalLength")},svg:function(t){return t instanceof SVGElement},dom:function(t){return t.nodeType||B.svg(t)},str:function(t){return"string"==typeof t},fnc:function(t){return"function"==typeof t},und:function(t){return void 0===t},hex:function(t){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t)},rgb:function(t){return/^rgb/.test(t)},hsl:function(t){return/^hsl/.test(t)},col:function(t){return B.hex(t)||B.rgb(t)||B.hsl(t)}},D=function(){function u(t,e,i){return(((1-3*i+3*e)*t+(3*i-6*e))*t+3*e)*t}return function(a,r,l,h){if(0<=a&&a<=1&&0<=l&&l<=1){var d=new Float32Array(11);if(a!==r||l!==h)for(var t=0;t<11;++t)d[t]=u(.1*t,a,l);return function(t){if(a===r&&l===h)return t;if(0===t)return 0;if(1===t)return 1;for(var e=0,i=1;10!==i&&d[i]<=t;++i)e+=.1;var i=e+(t-d[--i])/(d[i+1]-d[i])*.1,n=3*(1-3*l+3*a)*i*i+2*(3*l-6*a)*i+3*a;if(.001<=n){for(e=0;e<4&&0!=(n=3*(1-3*l+3*a)*i*i+2*(3*l-6*a)*i+3*a);++e)var s=u(i,a,l)-t,i=i-s/n;t=i}else if(0===n)t=i;else{for(var i=e,e=e+.1,o=0;0<(n=u(s=i+(e-i)/2,a,l)-t)?e=s:i=s,1e-7<Math.abs(n)&&++o<10;);t=s}return u(t,r,h)}}}}(),S=function(){function i(t,e){return 0===t||1===t?t:-Math.pow(2,10*(t-1))*Math.sin(2*(t-1-e/(2*Math.PI)*Math.asin(1))*Math.PI/e)}var t,n="Quad Cubic Quart Quint Sine Expo Circ Back Elastic".split(" "),e={In:[[.55,.085,.68,.53],[.55,.055,.675,.19],[.895,.03,.685,.22],[.755,.05,.855,.06],[.47,0,.745,.715],[.95,.05,.795,.035],[.6,.04,.98,.335],[.6,-.28,.735,.045],i],Out:[[.25,.46,.45,.94],[.215,.61,.355,1],[.165,.84,.44,1],[.23,1,.32,1],[.39,.575,.565,1],[.19,1,.22,1],[.075,.82,.165,1],[.175,.885,.32,1.275],function(t,e){return 1-i(1-t,e)}],InOut:[[.455,.03,.515,.955],[.645,.045,.355,1],[.77,0,.175,1],[.86,0,.07,1],[.445,.05,.55,.95],[1,0,0,1],[.785,.135,.15,.86],[.68,-.55,.265,1.55],function(t,e){return t<.5?i(2*t,e)/2:1-i(-2*t+2,e)/2}]},s={linear:D(.25,.25,.75,.75)},o={};for(t in e)o.type=t,e[o.type].forEach(function(i){return function(t,e){s["ease"+i.type+n[e]]=B.fnc(t)?t:D.apply($jscomp$this,t)}}(o)),o={type:o.type};return s}(),I={css:function(t,e,i){return t.style[e]=i},attribute:function(t,e,i){return t.setAttribute(e,i)},object:function(t,e,i){return t[e]=i},transform:function(t,e,i,n,s){n[s]||(n[s]=[]),n[s].push(e+"("+i+")")}},A=[],R=0,H=function(){function n(){R=requestAnimationFrame(t)}function t(t){var e=A.length;if(e){for(var i=0;i<e;)A[i]&&A[i].tick(t),i++;n()}else cancelAnimationFrame(R),R=0}return n}();return O.version="2.2.0",O.speed=1,O.running=A,O.remove=function(t){t=y(t);for(var e=A.length;e--;)for(var i=A[e],n=i.animations,s=n.length;s--;)a(t,n[s].animatable.target)&&(n.splice(s,1),n.length||i.pause())},O.getValue=v,O.path=function(t,e){var i=B.str(t)?s(t)[0]:t,n=e||100;return function(t){return{el:i,property:t,totalLength:g(i)*(n/100)}}},O.setDashoffset=function(t){var e=g(t);return t.setAttribute("stroke-dasharray",e),e},O.bezier=D,O.easings=S,O.timeline=function(n){var s=O(n);return s.pause(),s.duration=0,s.add=function(t){return s.children.forEach(function(t){t.began=!0,t.completed=!0}),o(t).forEach(function(t){var e=c(t,u(T,n||{}));e.targets=e.targets||n.targets,t=s.duration;var i=e.offset;e.autoplay=!1,e.direction=s.direction,e.offset=B.und(i)?t:f(i,t),s.began=!0,s.completed=!0,s.seek(e.offset),(e=O(e)).began=!0,e.completed=!0,e.duration>t&&(s.duration=e.duration),s.children.push(e)}),s.seek(0),s.reset(),s.autoplay&&s.restart(),s},s},O.random=function(t,e){return Math.floor(Math.random()*(e-t+1))+t},O}(),function(r,l){"use strict";var e={accordion:!0,onOpenStart:void 0,onOpenEnd:void 0,onCloseStart:void 0,onCloseEnd:void 0,inDuration:300,outDuration:300},t=function(t){function s(t,e){_classCallCheck(this,s);var i=_possibleConstructorReturn(this,(s.__proto__||Object.getPrototypeOf(s)).call(this,s,t,e));(i.el.M_Collapsible=i).options=r.extend({},s.defaults,e),i.$headers=i.$el.children("li").children(".collapsible-header"),i.$headers.attr("tabindex",0),i._setupEventHandlers();var n=i.$el.children("li.active").children(".collapsible-body");return i.options.accordion?n.first().css("display","block"):n.css("display","block"),i}return _inherits(s,Component),_createClass(s,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.M_Collapsible=void 0}},{key:"_setupEventHandlers",value:function(){var e=this;this._handleCollapsibleClickBound=this._handleCollapsibleClick.bind(this),this._handleCollapsibleKeydownBound=this._handleCollapsibleKeydown.bind(this),this.el.addEventListener("click",this._handleCollapsibleClickBound),this.$headers.each(function(t){t.addEventListener("keydown",e._handleCollapsibleKeydownBound)})}},{key:"_removeEventHandlers",value:function(){var e=this;this.el.removeEventListener("click",this._handleCollapsibleClickBound),this.$headers.each(function(t){t.removeEventListener("keydown",e._handleCollapsibleKeydownBound)})}},{key:"_handleCollapsibleClick",value:function(t){var e=r(t.target).closest(".collapsible-header");if(t.target&&e.length){var i=e.closest(".collapsible");if(i[0]===this.el){var n=e.closest("li"),s=i.children("li"),o=n[0].classList.contains("active"),a=s.index(n);o?this.close(a):this.open(a)}}}},{key:"_handleCollapsibleKeydown",value:function(t){13===t.keyCode&&this._handleCollapsibleClickBound(t)}},{key:"_animateIn",value:function(t){var e=this,i=this.$el.children("li").eq(t);if(i.length){var n=i.children(".collapsible-body");l.remove(n[0]),n.css({display:"block",overflow:"hidden",height:0,paddingTop:"",paddingBottom:""});var s=n.css("padding-top"),o=n.css("padding-bottom"),a=n[0].scrollHeight;n.css({paddingTop:0,paddingBottom:0}),l({targets:n[0],height:a,paddingTop:s,paddingBottom:o,duration:this.options.inDuration,easing:"easeInOutCubic",complete:function(t){n.css({overflow:"",paddingTop:"",paddingBottom:"",height:""}),"function"==typeof e.options.onOpenEnd&&e.options.onOpenEnd.call(e,i[0])}})}}},{key:"_animateOut",value:function(t){var e=this,i=this.$el.children("li").eq(t);if(i.length){var n=i.children(".collapsible-body");l.remove(n[0]),n.css("overflow","hidden"),l({targets:n[0],height:0,paddingTop:0,paddingBottom:0,duration:this.options.outDuration,easing:"easeInOutCubic",complete:function(){n.css({height:"",overflow:"",padding:"",display:""}),"function"==typeof e.options.onCloseEnd&&e.options.onCloseEnd.call(e,i[0])}})}}},{key:"open",value:function(t){var i=this,e=this.$el.children("li").eq(t);if(e.length&&!e[0].classList.contains("active")){if("function"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,e[0]),this.options.accordion){var n=this.$el.children("li");this.$el.children("li.active").each(function(t){var e=n.index(r(t));i.close(e)})}e[0].classList.add("active"),this._animateIn(t)}}},{key:"close",value:function(t){var e=this.$el.children("li").eq(t);e.length&&e[0].classList.contains("active")&&("function"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,e[0]),e[0].classList.remove("active"),this._animateOut(t))}}],[{key:"init",value:function(t,e){return _get(s.__proto__||Object.getPrototypeOf(s),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Collapsible}},{key:"defaults",get:function(){return e}}]),s}();M.Collapsible=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"collapsible","M_Collapsible")}(cash,M.anime),function(h,i){"use strict";var e={alignment:"left",autoFocus:!0,constrainWidth:!0,container:null,coverTrigger:!0,closeOnClick:!0,hover:!1,inDuration:150,outDuration:250,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null,onItemClick:null},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return i.el.M_Dropdown=i,n._dropdowns.push(i),i.id=M.getIdFromTrigger(t),i.dropdownEl=document.getElementById(i.id),i.$dropdownEl=h(i.dropdownEl),i.options=h.extend({},n.defaults,e),i.isOpen=!1,i.isScrollable=!1,i.isTouchMoving=!1,i.focusedIndex=-1,i.filterQuery=[],i.options.container?h(i.options.container).append(i.dropdownEl):i.$el.after(i.dropdownEl),i._makeDropdownFocusable(),i._resetFilterQueryBound=i._resetFilterQuery.bind(i),i._handleDocumentClickBound=i._handleDocumentClick.bind(i),i._handleDocumentTouchmoveBound=i._handleDocumentTouchmove.bind(i),i._handleDropdownClickBound=i._handleDropdownClick.bind(i),i._handleDropdownKeydownBound=i._handleDropdownKeydown.bind(i),i._handleTriggerKeydownBound=i._handleTriggerKeydown.bind(i),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._resetDropdownStyles(),this._removeEventHandlers(),n._dropdowns.splice(n._dropdowns.indexOf(this),1),this.el.M_Dropdown=void 0}},{key:"_setupEventHandlers",value:function(){this.el.addEventListener("keydown",this._handleTriggerKeydownBound),this.dropdownEl.addEventListener("click",this._handleDropdownClickBound),this.options.hover?(this._handleMouseEnterBound=this._handleMouseEnter.bind(this),this.el.addEventListener("mouseenter",this._handleMouseEnterBound),this._handleMouseLeaveBound=this._handleMouseLeave.bind(this),this.el.addEventListener("mouseleave",this._handleMouseLeaveBound),this.dropdownEl.addEventListener("mouseleave",this._handleMouseLeaveBound)):(this._handleClickBound=this._handleClick.bind(this),this.el.addEventListener("click",this._handleClickBound))}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("keydown",this._handleTriggerKeydownBound),this.dropdownEl.removeEventListener("click",this._handleDropdownClickBound),this.options.hover?(this.el.removeEventListener("mouseenter",this._handleMouseEnterBound),this.el.removeEventListener("mouseleave",this._handleMouseLeaveBound),this.dropdownEl.removeEventListener("mouseleave",this._handleMouseLeaveBound)):this.el.removeEventListener("click",this._handleClickBound)}},{key:"_setupTemporaryEventHandlers",value:function(){document.body.addEventListener("click",this._handleDocumentClickBound,!0),document.body.addEventListener("touchend",this._handleDocumentClickBound),document.body.addEventListener("touchmove",this._handleDocumentTouchmoveBound),this.dropdownEl.addEventListener("keydown",this._handleDropdownKeydownBound)}},{key:"_removeTemporaryEventHandlers",value:function(){document.body.removeEventListener("click",this._handleDocumentClickBound,!0),document.body.removeEventListener("touchend",this._handleDocumentClickBound),document.body.removeEventListener("touchmove",this._handleDocumentTouchmoveBound),this.dropdownEl.removeEventListener("keydown",this._handleDropdownKeydownBound)}},{key:"_handleClick",value:function(t){t.preventDefault(),this.open()}},{key:"_handleMouseEnter",value:function(){this.open()}},{key:"_handleMouseLeave",value:function(t){var e=t.toElement||t.relatedTarget,i=!!h(e).closest(".dropdown-content").length,n=!1,s=h(e).closest(".dropdown-trigger");s.length&&s[0].M_Dropdown&&s[0].M_Dropdown.isOpen&&(n=!0),n||i||this.close()}},{key:"_handleDocumentClick",value:function(t){var e=this,i=h(t.target);this.options.closeOnClick&&i.closest(".dropdown-content").length&&!this.isTouchMoving?setTimeout(function(){e.close()},0):!i.closest(".dropdown-trigger").length&&i.closest(".dropdown-content").length||setTimeout(function(){e.close()},0),this.isTouchMoving=!1}},{key:"_handleTriggerKeydown",value:function(t){t.which!==M.keys.ARROW_DOWN&&t.which!==M.keys.ENTER||this.isOpen||(t.preventDefault(),this.open())}},{key:"_handleDocumentTouchmove",value:function(t){h(t.target).closest(".dropdown-content").length&&(this.isTouchMoving=!0)}},{key:"_handleDropdownClick",value:function(t){if("function"==typeof this.options.onItemClick){var e=h(t.target).closest("li")[0];this.options.onItemClick.call(this,e)}}},{key:"_handleDropdownKeydown",value:function(t){if(t.which===M.keys.TAB)t.preventDefault(),this.close();else if(t.which!==M.keys.ARROW_DOWN&&t.which!==M.keys.ARROW_UP||!this.isOpen)if(t.which===M.keys.ENTER&&this.isOpen){var e=this.dropdownEl.children[this.focusedIndex],i=h(e).find("a, button").first();i.length?i[0].click():e&&e.click()}else t.which===M.keys.ESC&&this.isOpen&&(t.preventDefault(),this.close());else{t.preventDefault();var n=t.which===M.keys.ARROW_DOWN?1:-1,s=this.focusedIndex,o=!1;do{if(s+=n,this.dropdownEl.children[s]&&-1!==this.dropdownEl.children[s].tabIndex){o=!0;break}}while(s<this.dropdownEl.children.length&&0<=s);o&&(this.focusedIndex=s,this._focusFocusedItem())}var a=String.fromCharCode(t.which).toLowerCase();if(a&&-1===[9,13,27,38,40].indexOf(t.which)){this.filterQuery.push(a);var r=this.filterQuery.join(""),l=h(this.dropdownEl).find("li").filter(function(t){return 0===h(t).text().toLowerCase().indexOf(r)})[0];l&&(this.focusedIndex=h(l).index(),this._focusFocusedItem())}this.filterTimeout=setTimeout(this._resetFilterQueryBound,1e3)}},{key:"_resetFilterQuery",value:function(){this.filterQuery=[]}},{key:"_resetDropdownStyles",value:function(){this.$dropdownEl.css({display:"",width:"",height:"",left:"",top:"","transform-origin":"",transform:"",opacity:""})}},{key:"_makeDropdownFocusable",value:function(){this.dropdownEl.tabIndex=0,h(this.dropdownEl).children().each(function(t){t.getAttribute("tabindex")||t.setAttribute("tabindex",0)})}},{key:"_focusFocusedItem",value:function(){0<=this.focusedIndex&&this.focusedIndex<this.dropdownEl.children.length&&this.options.autoFocus&&this.dropdownEl.children[this.focusedIndex].focus()}},{key:"_getDropdownPosition",value:function(){this.el.offsetParent.getBoundingClientRect();var t=this.el.getBoundingClientRect(),e=this.dropdownEl.getBoundingClientRect(),i=e.height,n=e.width,s=t.left-e.left,o=t.top-e.top,a={left:s,top:o,height:i,width:n},r=this.dropdownEl.offsetParent?this.dropdownEl.offsetParent:this.dropdownEl.parentNode,l=M.checkPossibleAlignments(this.el,r,a,this.options.coverTrigger?0:t.height),h="top",d=this.options.alignment;if(o+=this.options.coverTrigger?0:t.height,this.isScrollable=!1,l.top||(l.bottom?h="bottom":(this.isScrollable=!0,l.spaceOnTop>l.spaceOnBottom?(h="bottom",i+=l.spaceOnTop,o-=l.spaceOnTop):i+=l.spaceOnBottom)),!l[d]){var u="left"===d?"right":"left";l[u]?d=u:l.spaceOnLeft>l.spaceOnRight?(d="right",n+=l.spaceOnLeft,s-=l.spaceOnLeft):(d="left",n+=l.spaceOnRight)}return"bottom"===h&&(o=o-e.height+(this.options.coverTrigger?t.height:0)),"right"===d&&(s=s-e.width+t.width),{x:s,y:o,verticalAlignment:h,horizontalAlignment:d,height:i,width:n}}},{key:"_animateIn",value:function(){var e=this;i.remove(this.dropdownEl),i({targets:this.dropdownEl,opacity:{value:[0,1],easing:"easeOutQuad"},scaleX:[.3,1],scaleY:[.3,1],duration:this.options.inDuration,easing:"easeOutQuint",complete:function(t){e.options.autoFocus&&e.dropdownEl.focus(),"function"==typeof e.options.onOpenEnd&&e.options.onOpenEnd.call(e,e.el)}})}},{key:"_animateOut",value:function(){var e=this;i.remove(this.dropdownEl),i({targets:this.dropdownEl,opacity:{value:0,easing:"easeOutQuint"},scaleX:.3,scaleY:.3,duration:this.options.outDuration,easing:"easeOutQuint",complete:function(t){e._resetDropdownStyles(),"function"==typeof e.options.onCloseEnd&&e.options.onCloseEnd.call(e,e.el)}})}},{key:"_placeDropdown",value:function(){var t=this.options.constrainWidth?this.el.getBoundingClientRect().width:this.dropdownEl.getBoundingClientRect().width;this.dropdownEl.style.width=t+"px";var e=this._getDropdownPosition();this.dropdownEl.style.left=e.x+"px",this.dropdownEl.style.top=e.y+"px",this.dropdownEl.style.height=e.height+"px",this.dropdownEl.style.width=e.width+"px",this.dropdownEl.style.transformOrigin=("left"===e.horizontalAlignment?"0":"100%")+" "+("top"===e.verticalAlignment?"0":"100%")}},{key:"open",value:function(){this.isOpen||(this.isOpen=!0,"function"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,this.el),this._resetDropdownStyles(),this.dropdownEl.style.display="block",this._placeDropdown(),this._animateIn(),this._setupTemporaryEventHandlers())}},{key:"close",value:function(){this.isOpen&&(this.isOpen=!1,this.focusedIndex=-1,"function"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,this.el),this._animateOut(),this._removeTemporaryEventHandlers(),this.options.autoFocus&&this.el.focus())}},{key:"recalculateDimensions",value:function(){this.isOpen&&(this.$dropdownEl.css({width:"",height:"",left:"",top:"","transform-origin":""}),this._placeDropdown())}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Dropdown}},{key:"defaults",get:function(){return e}}]),n}();t._dropdowns=[],M.Dropdown=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"dropdown","M_Dropdown")}(cash,M.anime),function(s,i){"use strict";var e={opacity:.5,inDuration:250,outDuration:250,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null,preventScrolling:!0,dismissible:!0,startingTop:"4%",endingTop:"10%"},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Modal=i).options=s.extend({},n.defaults,e),i.isOpen=!1,i.id=i.$el.attr("id"),i._openingTrigger=void 0,i.$overlay=s('<div class="modal-overlay"></div>'),i.el.tabIndex=0,i._nthModalOpened=0,n._count++,i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){n._count--,this._removeEventHandlers(),this.el.removeAttribute("style"),this.$overlay.remove(),this.el.M_Modal=void 0}},{key:"_setupEventHandlers",value:function(){this._handleOverlayClickBound=this._handleOverlayClick.bind(this),this._handleModalCloseClickBound=this._handleModalCloseClick.bind(this),1===n._count&&document.body.addEventListener("click",this._handleTriggerClick),this.$overlay[0].addEventListener("click",this._handleOverlayClickBound),this.el.addEventListener("click",this._handleModalCloseClickBound)}},{key:"_removeEventHandlers",value:function(){0===n._count&&document.body.removeEventListener("click",this._handleTriggerClick),this.$overlay[0].removeEventListener("click",this._handleOverlayClickBound),this.el.removeEventListener("click",this._handleModalCloseClickBound)}},{key:"_handleTriggerClick",value:function(t){var e=s(t.target).closest(".modal-trigger");if(e.length){var i=M.getIdFromTrigger(e[0]),n=document.getElementById(i).M_Modal;n&&n.open(e),t.preventDefault()}}},{key:"_handleOverlayClick",value:function(){this.options.dismissible&&this.close()}},{key:"_handleModalCloseClick",value:function(t){s(t.target).closest(".modal-close").length&&this.close()}},{key:"_handleKeydown",value:function(t){27===t.keyCode&&this.options.dismissible&&this.close()}},{key:"_handleFocus",value:function(t){this.el.contains(t.target)||this._nthModalOpened!==n._modalsOpen||this.el.focus()}},{key:"_animateIn",value:function(){var t=this;s.extend(this.el.style,{display:"block",opacity:0}),s.extend(this.$overlay[0].style,{display:"block",opacity:0}),i({targets:this.$overlay[0],opacity:this.options.opacity,duration:this.options.inDuration,easing:"easeOutQuad"});var e={targets:this.el,duration:this.options.inDuration,easing:"easeOutCubic",complete:function(){"function"==typeof t.options.onOpenEnd&&t.options.onOpenEnd.call(t,t.el,t._openingTrigger)}};this.el.classList.contains("bottom-sheet")?s.extend(e,{bottom:0,opacity:1}):s.extend(e,{top:[this.options.startingTop,this.options.endingTop],opacity:1,scaleX:[.8,1],scaleY:[.8,1]}),i(e)}},{key:"_animateOut",value:function(){var t=this;i({targets:this.$overlay[0],opacity:0,duration:this.options.outDuration,easing:"easeOutQuart"});var e={targets:this.el,duration:this.options.outDuration,easing:"easeOutCubic",complete:function(){t.el.style.display="none",t.$overlay.remove(),"function"==typeof t.options.onCloseEnd&&t.options.onCloseEnd.call(t,t.el)}};this.el.classList.contains("bottom-sheet")?s.extend(e,{bottom:"-100%",opacity:0}):s.extend(e,{top:[this.options.endingTop,this.options.startingTop],opacity:0,scaleX:.8,scaleY:.8}),i(e)}},{key:"open",value:function(t){if(!this.isOpen)return this.isOpen=!0,n._modalsOpen++,this._nthModalOpened=n._modalsOpen,this.$overlay[0].style.zIndex=1e3+2*n._modalsOpen,this.el.style.zIndex=1e3+2*n._modalsOpen+1,this._openingTrigger=t?t[0]:void 0,"function"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,this.el,this._openingTrigger),this.options.preventScrolling&&(document.body.style.overflow="hidden"),this.el.classList.add("open"),this.el.insertAdjacentElement("afterend",this.$overlay[0]),this.options.dismissible&&(this._handleKeydownBound=this._handleKeydown.bind(this),this._handleFocusBound=this._handleFocus.bind(this),document.addEventListener("keydown",this._handleKeydownBound),document.addEventListener("focus",this._handleFocusBound,!0)),i.remove(this.el),i.remove(this.$overlay[0]),this._animateIn(),this.el.focus(),this}},{key:"close",value:function(){if(this.isOpen)return this.isOpen=!1,n._modalsOpen--,this._nthModalOpened=0,"function"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,this.el),this.el.classList.remove("open"),0===n._modalsOpen&&(document.body.style.overflow=""),this.options.dismissible&&(document.removeEventListener("keydown",this._handleKeydownBound),document.removeEventListener("focus",this._handleFocusBound,!0)),i.remove(this.el),i.remove(this.$overlay[0]),this._animateOut(),this}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Modal}},{key:"defaults",get:function(){return e}}]),n}();t._modalsOpen=0,t._count=0,M.Modal=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"modal","M_Modal")}(cash,M.anime),function(o,a){"use strict";var e={inDuration:275,outDuration:200,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Materialbox=i).options=o.extend({},n.defaults,e),i.overlayActive=!1,i.doneAnimating=!0,i.placeholder=o("<div></div>").addClass("material-placeholder"),i.originalWidth=0,i.originalHeight=0,i.originInlineStyles=i.$el.attr("style"),i.caption=i.el.getAttribute("data-caption")||"",i.$el.before(i.placeholder),i.placeholder.append(i.$el),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.M_Materialbox=void 0,o(this.placeholder).after(this.el).remove(),this.$el.removeAttr("style")}},{key:"_setupEventHandlers",value:function(){this._handleMaterialboxClickBound=this._handleMaterialboxClick.bind(this),this.el.addEventListener("click",this._handleMaterialboxClickBound)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("click",this._handleMaterialboxClickBound)}},{key:"_handleMaterialboxClick",value:function(t){!1===this.doneAnimating||this.overlayActive&&this.doneAnimating?this.close():this.open()}},{key:"_handleWindowScroll",value:function(){this.overlayActive&&this.close()}},{key:"_handleWindowResize",value:function(){this.overlayActive&&this.close()}},{key:"_handleWindowEscape",value:function(t){27===t.keyCode&&this.doneAnimating&&this.overlayActive&&this.close()}},{key:"_makeAncestorsOverflowVisible",value:function(){this.ancestorsChanged=o();for(var t=this.placeholder[0].parentNode;null!==t&&!o(t).is(document);){var e=o(t);"visible"!==e.css("overflow")&&(e.css("overflow","visible"),void 0===this.ancestorsChanged?this.ancestorsChanged=e:this.ancestorsChanged=this.ancestorsChanged.add(e)),t=t.parentNode}}},{key:"_animateImageIn",value:function(){var t=this,e={targets:this.el,height:[this.originalHeight,this.newHeight],width:[this.originalWidth,this.newWidth],left:M.getDocumentScrollLeft()+this.windowWidth/2-this.placeholder.offset().left-this.newWidth/2,top:M.getDocumentScrollTop()+this.windowHeight/2-this.placeholder.offset().top-this.newHeight/2,duration:this.options.inDuration,easing:"easeOutQuad",complete:function(){t.doneAnimating=!0,"function"==typeof t.options.onOpenEnd&&t.options.onOpenEnd.call(t,t.el)}};this.maxWidth=this.$el.css("max-width"),this.maxHeight=this.$el.css("max-height"),"none"!==this.maxWidth&&(e.maxWidth=this.newWidth),"none"!==this.maxHeight&&(e.maxHeight=this.newHeight),a(e)}},{key:"_animateImageOut",value:function(){var t=this,e={targets:this.el,width:this.originalWidth,height:this.originalHeight,left:0,top:0,duration:this.options.outDuration,easing:"easeOutQuad",complete:function(){t.placeholder.css({height:"",width:"",position:"",top:"",left:""}),t.attrWidth&&t.$el.attr("width",t.attrWidth),t.attrHeight&&t.$el.attr("height",t.attrHeight),t.$el.removeAttr("style"),t.originInlineStyles&&t.$el.attr("style",t.originInlineStyles),t.$el.removeClass("active"),t.doneAnimating=!0,t.ancestorsChanged.length&&t.ancestorsChanged.css("overflow",""),"function"==typeof t.options.onCloseEnd&&t.options.onCloseEnd.call(t,t.el)}};a(e)}},{key:"_updateVars",value:function(){this.windowWidth=window.innerWidth,this.windowHeight=window.innerHeight,this.caption=this.el.getAttribute("data-caption")||""}},{key:"open",value:function(){var t=this;this._updateVars(),this.originalWidth=this.el.getBoundingClientRect().width,this.originalHeight=this.el.getBoundingClientRect().height,this.doneAnimating=!1,this.$el.addClass("active"),this.overlayActive=!0,"function"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,this.el),this.placeholder.css({width:this.placeholder[0].getBoundingClientRect().width+"px",height:this.placeholder[0].getBoundingClientRect().height+"px",position:"relative",top:0,left:0}),this._makeAncestorsOverflowVisible(),this.$el.css({position:"absolute","z-index":1e3,"will-change":"left, top, width, height"}),this.attrWidth=this.$el.attr("width"),this.attrHeight=this.$el.attr("height"),this.attrWidth&&(this.$el.css("width",this.attrWidth+"px"),this.$el.removeAttr("width")),this.attrHeight&&(this.$el.css("width",this.attrHeight+"px"),this.$el.removeAttr("height")),this.$overlay=o('<div id="materialbox-overlay"></div>').css({opacity:0}).one("click",function(){t.doneAnimating&&t.close()}),this.$el.before(this.$overlay);var e=this.$overlay[0].getBoundingClientRect();this.$overlay.css({width:this.windowWidth+"px",height:this.windowHeight+"px",left:-1*e.left+"px",top:-1*e.top+"px"}),a.remove(this.el),a.remove(this.$overlay[0]),a({targets:this.$overlay[0],opacity:1,duration:this.options.inDuration,easing:"easeOutQuad"}),""!==this.caption&&(this.$photocaption&&a.remove(this.$photoCaption[0]),this.$photoCaption=o('<div class="materialbox-caption"></div>'),this.$photoCaption.text(this.caption),o("body").append(this.$photoCaption),this.$photoCaption.css({display:"inline"}),a({targets:this.$photoCaption[0],opacity:1,duration:this.options.inDuration,easing:"easeOutQuad"}));var i=0,n=this.originalWidth/this.windowWidth,s=this.originalHeight/this.windowHeight;this.newWidth=0,this.newHeight=0,s<n?(i=this.originalHeight/this.originalWidth,this.newWidth=.9*this.windowWidth,this.newHeight=.9*this.windowWidth*i):(i=this.originalWidth/this.originalHeight,this.newWidth=.9*this.windowHeight*i,this.newHeight=.9*this.windowHeight),this._animateImageIn(),this._handleWindowScrollBound=this._handleWindowScroll.bind(this),this._handleWindowResizeBound=this._handleWindowResize.bind(this),this._handleWindowEscapeBound=this._handleWindowEscape.bind(this),window.addEventListener("scroll",this._handleWindowScrollBound),window.addEventListener("resize",this._handleWindowResizeBound),window.addEventListener("keyup",this._handleWindowEscapeBound)}},{key:"close",value:function(){var t=this;this._updateVars(),this.doneAnimating=!1,"function"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,this.el),a.remove(this.el),a.remove(this.$overlay[0]),""!==this.caption&&a.remove(this.$photoCaption[0]),window.removeEventListener("scroll",this._handleWindowScrollBound),window.removeEventListener("resize",this._handleWindowResizeBound),window.removeEventListener("keyup",this._handleWindowEscapeBound),a({targets:this.$overlay[0],opacity:0,duration:this.options.outDuration,easing:"easeOutQuad",complete:function(){t.overlayActive=!1,t.$overlay.remove()}}),this._animateImageOut(),""!==this.caption&&a({targets:this.$photoCaption[0],opacity:0,duration:this.options.outDuration,easing:"easeOutQuad",complete:function(){t.$photoCaption.remove()}})}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Materialbox}},{key:"defaults",get:function(){return e}}]),n}();M.Materialbox=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"materialbox","M_Materialbox")}(cash,M.anime),function(s){"use strict";var e={responsiveThreshold:0},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Parallax=i).options=s.extend({},n.defaults,e),i._enabled=window.innerWidth>i.options.responsiveThreshold,i.$img=i.$el.find("img").first(),i.$img.each(function(){this.complete&&s(this).trigger("load")}),i._updateParallax(),i._setupEventHandlers(),i._setupStyles(),n._parallaxes.push(i),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){n._parallaxes.splice(n._parallaxes.indexOf(this),1),this.$img[0].style.transform="",this._removeEventHandlers(),this.$el[0].M_Parallax=void 0}},{key:"_setupEventHandlers",value:function(){this._handleImageLoadBound=this._handleImageLoad.bind(this),this.$img[0].addEventListener("load",this._handleImageLoadBound),0===n._parallaxes.length&&(n._handleScrollThrottled=M.throttle(n._handleScroll,5),window.addEventListener("scroll",n._handleScrollThrottled),n._handleWindowResizeThrottled=M.throttle(n._handleWindowResize,5),window.addEventListener("resize",n._handleWindowResizeThrottled))}},{key:"_removeEventHandlers",value:function(){this.$img[0].removeEventListener("load",this._handleImageLoadBound),0===n._parallaxes.length&&(window.removeEventListener("scroll",n._handleScrollThrottled),window.removeEventListener("resize",n._handleWindowResizeThrottled))}},{key:"_setupStyles",value:function(){this.$img[0].style.opacity=1}},{key:"_handleImageLoad",value:function(){this._updateParallax()}},{key:"_updateParallax",value:function(){var t=0<this.$el.height()?this.el.parentNode.offsetHeight:500,e=this.$img[0].offsetHeight-t,i=this.$el.offset().top+t,n=this.$el.offset().top,s=M.getDocumentScrollTop(),o=window.innerHeight,a=e*((s+o-n)/(t+o));this._enabled?s<i&&n<s+o&&(this.$img[0].style.transform="translate3D(-50%, "+a+"px, 0)"):this.$img[0].style.transform=""}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Parallax}},{key:"_handleScroll",value:function(){for(var t=0;t<n._parallaxes.length;t++){var e=n._parallaxes[t];e._updateParallax.call(e)}}},{key:"_handleWindowResize",value:function(){for(var t=0;t<n._parallaxes.length;t++){var e=n._parallaxes[t];e._enabled=window.innerWidth>e.options.responsiveThreshold}}},{key:"defaults",get:function(){return e}}]),n}();t._parallaxes=[],M.Parallax=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"parallax","M_Parallax")}(cash),function(a,s){"use strict";var e={duration:300,onShow:null,swipeable:!1,responsiveThreshold:1/0},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Tabs=i).options=a.extend({},n.defaults,e),i.$tabLinks=i.$el.children("li.tab").children("a"),i.index=0,i._setupActiveTabLink(),i.options.swipeable?i._setupSwipeableTabs():i._setupNormalTabs(),i._setTabsAndTabWidth(),i._createIndicator(),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this._indicator.parentNode.removeChild(this._indicator),this.options.swipeable?this._teardownSwipeableTabs():this._teardownNormalTabs(),this.$el[0].M_Tabs=void 0}},{key:"_setupEventHandlers",value:function(){this._handleWindowResizeBound=this._handleWindowResize.bind(this),window.addEventListener("resize",this._handleWindowResizeBound),this._handleTabClickBound=this._handleTabClick.bind(this),this.el.addEventListener("click",this._handleTabClickBound)}},{key:"_removeEventHandlers",value:function(){window.removeEventListener("resize",this._handleWindowResizeBound),this.el.removeEventListener("click",this._handleTabClickBound)}},{key:"_handleWindowResize",value:function(){this._setTabsAndTabWidth(),0!==this.tabWidth&&0!==this.tabsWidth&&(this._indicator.style.left=this._calcLeftPos(this.$activeTabLink)+"px",this._indicator.style.right=this._calcRightPos(this.$activeTabLink)+"px")}},{key:"_handleTabClick",value:function(t){var e=this,i=a(t.target).closest("li.tab"),n=a(t.target).closest("a");if(n.length&&n.parent().hasClass("tab"))if(i.hasClass("disabled"))t.preventDefault();else if(!n.attr("target")){this.$activeTabLink.removeClass("active");var s=this.$content;this.$activeTabLink=n,this.$content=a(M.escapeHash(n[0].hash)),this.$tabLinks=this.$el.children("li.tab").children("a"),this.$activeTabLink.addClass("active");var o=this.index;this.index=Math.max(this.$tabLinks.index(n),0),this.options.swipeable?this._tabsCarousel&&this._tabsCarousel.set(this.index,function(){"function"==typeof e.options.onShow&&e.options.onShow.call(e,e.$content[0])}):this.$content.length&&(this.$content[0].style.display="block",this.$content.addClass("active"),"function"==typeof this.options.onShow&&this.options.onShow.call(this,this.$content[0]),s.length&&!s.is(this.$content)&&(s[0].style.display="none",s.removeClass("active"))),this._setTabsAndTabWidth(),this._animateIndicator(o),t.preventDefault()}}},{key:"_createIndicator",value:function(){var t=this,e=document.createElement("li");e.classList.add("indicator"),this.el.appendChild(e),this._indicator=e,setTimeout(function(){t._indicator.style.left=t._calcLeftPos(t.$activeTabLink)+"px",t._indicator.style.right=t._calcRightPos(t.$activeTabLink)+"px"},0)}},{key:"_setupActiveTabLink",value:function(){this.$activeTabLink=a(this.$tabLinks.filter('[href="'+location.hash+'"]')),0===this.$activeTabLink.length&&(this.$activeTabLink=this.$el.children("li.tab").children("a.active").first()),0===this.$activeTabLink.length&&(this.$activeTabLink=this.$el.children("li.tab").children("a").first()),this.$tabLinks.removeClass("active"),this.$activeTabLink[0].classList.add("active"),this.index=Math.max(this.$tabLinks.index(this.$activeTabLink),0),this.$activeTabLink.length&&(this.$content=a(M.escapeHash(this.$activeTabLink[0].hash)),this.$content.addClass("active"))}},{key:"_setupSwipeableTabs",value:function(){var i=this;window.innerWidth>this.options.responsiveThreshold&&(this.options.swipeable=!1);var n=a();this.$tabLinks.each(function(t){var e=a(M.escapeHash(t.hash));e.addClass("carousel-item"),n=n.add(e)});var t=a('<div class="tabs-content carousel carousel-slider"></div>');n.first().before(t),t.append(n),n[0].style.display="";var e=this.$activeTabLink.closest(".tab").index();this._tabsCarousel=M.Carousel.init(t[0],{fullWidth:!0,noWrap:!0,onCycleTo:function(t){var e=i.index;i.index=a(t).index(),i.$activeTabLink.removeClass("active"),i.$activeTabLink=i.$tabLinks.eq(i.index),i.$activeTabLink.addClass("active"),i._animateIndicator(e),"function"==typeof i.options.onShow&&i.options.onShow.call(i,i.$content[0])}}),this._tabsCarousel.set(e)}},{key:"_teardownSwipeableTabs",value:function(){var t=this._tabsCarousel.$el;this._tabsCarousel.destroy(),t.after(t.children()),t.remove()}},{key:"_setupNormalTabs",value:function(){this.$tabLinks.not(this.$activeTabLink).each(function(t){if(t.hash){var e=a(M.escapeHash(t.hash));e.length&&(e[0].style.display="none")}})}},{key:"_teardownNormalTabs",value:function(){this.$tabLinks.each(function(t){if(t.hash){var e=a(M.escapeHash(t.hash));e.length&&(e[0].style.display="")}})}},{key:"_setTabsAndTabWidth",value:function(){this.tabsWidth=this.$el.width(),this.tabWidth=Math.max(this.tabsWidth,this.el.scrollWidth)/this.$tabLinks.length}},{key:"_calcRightPos",value:function(t){return Math.ceil(this.tabsWidth-t.position().left-t[0].getBoundingClientRect().width)}},{key:"_calcLeftPos",value:function(t){return Math.floor(t.position().left)}},{key:"updateTabIndicator",value:function(){this._setTabsAndTabWidth(),this._animateIndicator(this.index)}},{key:"_animateIndicator",value:function(t){var e=0,i=0;0<=this.index-t?e=90:i=90;var n={targets:this._indicator,left:{value:this._calcLeftPos(this.$activeTabLink),delay:e},right:{value:this._calcRightPos(this.$activeTabLink),delay:i},duration:this.options.duration,easing:"easeOutQuad"};s.remove(this._indicator),s(n)}},{key:"select",value:function(t){var e=this.$tabLinks.filter('[href="#'+t+'"]');e.length&&e.trigger("click")}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Tabs}},{key:"defaults",get:function(){return e}}]),n}();M.Tabs=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"tabs","M_Tabs")}(cash,M.anime),function(d,e){"use strict";var i={exitDelay:200,enterDelay:0,html:null,margin:5,inDuration:250,outDuration:200,position:"bottom",transitionMovement:10},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Tooltip=i).options=d.extend({},n.defaults,e),i.isOpen=!1,i.isHovered=!1,i.isFocused=!1,i._appendTooltipEl(),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){d(this.tooltipEl).remove(),this._removeEventHandlers(),this.el.M_Tooltip=void 0}},{key:"_appendTooltipEl",value:function(){var t=document.createElement("div");t.classList.add("material-tooltip"),this.tooltipEl=t;var e=document.createElement("div");e.classList.add("tooltip-content"),e.innerHTML=this.options.html,t.appendChild(e),document.body.appendChild(t)}},{key:"_updateTooltipContent",value:function(){this.tooltipEl.querySelector(".tooltip-content").innerHTML=this.options.html}},{key:"_setupEventHandlers",value:function(){this._handleMouseEnterBound=this._handleMouseEnter.bind(this),this._handleMouseLeaveBound=this._handleMouseLeave.bind(this),this._handleFocusBound=this._handleFocus.bind(this),this._handleBlurBound=this._handleBlur.bind(this),this.el.addEventListener("mouseenter",this._handleMouseEnterBound),this.el.addEventListener("mouseleave",this._handleMouseLeaveBound),this.el.addEventListener("focus",this._handleFocusBound,!0),this.el.addEventListener("blur",this._handleBlurBound,!0)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("mouseenter",this._handleMouseEnterBound),this.el.removeEventListener("mouseleave",this._handleMouseLeaveBound),this.el.removeEventListener("focus",this._handleFocusBound,!0),this.el.removeEventListener("blur",this._handleBlurBound,!0)}},{key:"open",value:function(t){this.isOpen||(t=void 0===t||void 0,this.isOpen=!0,this.options=d.extend({},this.options,this._getAttributeOptions()),this._updateTooltipContent(),this._setEnterDelayTimeout(t))}},{key:"close",value:function(){this.isOpen&&(this.isHovered=!1,this.isFocused=!1,this.isOpen=!1,this._setExitDelayTimeout())}},{key:"_setExitDelayTimeout",value:function(){var t=this;clearTimeout(this._exitDelayTimeout),this._exitDelayTimeout=setTimeout(function(){t.isHovered||t.isFocused||t._animateOut()},this.options.exitDelay)}},{key:"_setEnterDelayTimeout",value:function(t){var e=this;clearTimeout(this._enterDelayTimeout),this._enterDelayTimeout=setTimeout(function(){(e.isHovered||e.isFocused||t)&&e._animateIn()},this.options.enterDelay)}},{key:"_positionTooltip",value:function(){var t,e=this.el,i=this.tooltipEl,n=e.offsetHeight,s=e.offsetWidth,o=i.offsetHeight,a=i.offsetWidth,r=this.options.margin,l=void 0,h=void 0;this.xMovement=0,this.yMovement=0,l=e.getBoundingClientRect().top+M.getDocumentScrollTop(),h=e.getBoundingClientRect().left+M.getDocumentScrollLeft(),"top"===this.options.position?(l+=-o-r,h+=s/2-a/2,this.yMovement=-this.options.transitionMovement):"right"===this.options.position?(l+=n/2-o/2,h+=s+r,this.xMovement=this.options.transitionMovement):"left"===this.options.position?(l+=n/2-o/2,h+=-a-r,this.xMovement=-this.options.transitionMovement):(l+=n+r,h+=s/2-a/2,this.yMovement=this.options.transitionMovement),t=this._repositionWithinScreen(h,l,a,o),d(i).css({top:t.y+"px",left:t.x+"px"})}},{key:"_repositionWithinScreen",value:function(t,e,i,n){var s=M.getDocumentScrollLeft(),o=M.getDocumentScrollTop(),a=t-s,r=e-o,l={left:a,top:r,width:i,height:n},h=this.options.margin+this.options.transitionMovement,d=M.checkWithinContainer(document.body,l,h);return d.left?a=h:d.right&&(a-=a+i-window.innerWidth),d.top?r=h:d.bottom&&(r-=r+n-window.innerHeight),{x:a+s,y:r+o}}},{key:"_animateIn",value:function(){this._positionTooltip(),this.tooltipEl.style.visibility="visible",e.remove(this.tooltipEl),e({targets:this.tooltipEl,opacity:1,translateX:this.xMovement,translateY:this.yMovement,duration:this.options.inDuration,easing:"easeOutCubic"})}},{key:"_animateOut",value:function(){e.remove(this.tooltipEl),e({targets:this.tooltipEl,opacity:0,translateX:0,translateY:0,duration:this.options.outDuration,easing:"easeOutCubic"})}},{key:"_handleMouseEnter",value:function(){this.isHovered=!0,this.isFocused=!1,this.open(!1)}},{key:"_handleMouseLeave",value:function(){this.isHovered=!1,this.isFocused=!1,this.close()}},{key:"_handleFocus",value:function(){M.tabPressed&&(this.isFocused=!0,this.open(!1))}},{key:"_handleBlur",value:function(){this.isFocused=!1,this.close()}},{key:"_getAttributeOptions",value:function(){var t={},e=this.el.getAttribute("data-tooltip"),i=this.el.getAttribute("data-position");return e&&(t.html=e),i&&(t.position=i),t}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Tooltip}},{key:"defaults",get:function(){return i}}]),n}();M.Tooltip=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"tooltip","M_Tooltip")}(cash,M.anime),function(i){"use strict";var t=t||{},e=document.querySelectorAll.bind(document);function m(t){var e="";for(var i in t)t.hasOwnProperty(i)&&(e+=i+":"+t[i]+";");return e}var g={duration:750,show:function(t,e){if(2===t.button)return!1;var i=e||this,n=document.createElement("div");n.className="waves-ripple",i.appendChild(n);var s,o,a,r,l,h,d,u=(h={top:0,left:0},d=(s=i)&&s.ownerDocument,o=d.documentElement,void 0!==s.getBoundingClientRect&&(h=s.getBoundingClientRect()),a=null!==(l=r=d)&&l===l.window?r:9===r.nodeType&&r.defaultView,{top:h.top+a.pageYOffset-o.clientTop,left:h.left+a.pageXOffset-o.clientLeft}),c=t.pageY-u.top,p=t.pageX-u.left,v="scale("+i.clientWidth/100*10+")";"touches"in t&&(c=t.touches[0].pageY-u.top,p=t.touches[0].pageX-u.left),n.setAttribute("data-hold",Date.now()),n.setAttribute("data-scale",v),n.setAttribute("data-x",p),n.setAttribute("data-y",c);var f={top:c+"px",left:p+"px"};n.className=n.className+" waves-notransition",n.setAttribute("style",m(f)),n.className=n.className.replace("waves-notransition",""),f["-webkit-transform"]=v,f["-moz-transform"]=v,f["-ms-transform"]=v,f["-o-transform"]=v,f.transform=v,f.opacity="1",f["-webkit-transition-duration"]=g.duration+"ms",f["-moz-transition-duration"]=g.duration+"ms",f["-o-transition-duration"]=g.duration+"ms",f["transition-duration"]=g.duration+"ms",f["-webkit-transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",f["-moz-transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",f["-o-transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",f["transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",n.setAttribute("style",m(f))},hide:function(t){l.touchup(t);var e=this,i=(e.clientWidth,null),n=e.getElementsByClassName("waves-ripple");if(!(0<n.length))return!1;var s=(i=n[n.length-1]).getAttribute("data-x"),o=i.getAttribute("data-y"),a=i.getAttribute("data-scale"),r=350-(Date.now()-Number(i.getAttribute("data-hold")));r<0&&(r=0),setTimeout(function(){var t={top:o+"px",left:s+"px",opacity:"0","-webkit-transition-duration":g.duration+"ms","-moz-transition-duration":g.duration+"ms","-o-transition-duration":g.duration+"ms","transition-duration":g.duration+"ms","-webkit-transform":a,"-moz-transform":a,"-ms-transform":a,"-o-transform":a,transform:a};i.setAttribute("style",m(t)),setTimeout(function(){try{e.removeChild(i)}catch(t){return!1}},g.duration)},r)},wrapInput:function(t){for(var e=0;e<t.length;e++){var i=t[e];if("input"===i.tagName.toLowerCase()){var n=i.parentNode;if("i"===n.tagName.toLowerCase()&&-1!==n.className.indexOf("waves-effect"))continue;var s=document.createElement("i");s.className=i.className+" waves-input-wrapper";var o=i.getAttribute("style");o||(o=""),s.setAttribute("style",o),i.className="waves-button-input",i.removeAttribute("style"),n.replaceChild(s,i),s.appendChild(i)}}}},l={touches:0,allowEvent:function(t){var e=!0;return"touchstart"===t.type?l.touches+=1:"touchend"===t.type||"touchcancel"===t.type?setTimeout(function(){0<l.touches&&(l.touches-=1)},500):"mousedown"===t.type&&0<l.touches&&(e=!1),e},touchup:function(t){l.allowEvent(t)}};function n(t){var e=function(t){if(!1===l.allowEvent(t))return null;for(var e=null,i=t.target||t.srcElement;null!==i.parentNode;){if(!(i instanceof SVGElement)&&-1!==i.className.indexOf("waves-effect")){e=i;break}i=i.parentNode}return e}(t);null!==e&&(g.show(t,e),"ontouchstart"in i&&(e.addEventListener("touchend",g.hide,!1),e.addEventListener("touchcancel",g.hide,!1)),e.addEventListener("mouseup",g.hide,!1),e.addEventListener("mouseleave",g.hide,!1),e.addEventListener("dragend",g.hide,!1))}t.displayEffect=function(t){"duration"in(t=t||{})&&(g.duration=t.duration),g.wrapInput(e(".waves-effect")),"ontouchstart"in i&&document.body.addEventListener("touchstart",n,!1),document.body.addEventListener("mousedown",n,!1)},t.attach=function(t){"input"===t.tagName.toLowerCase()&&(g.wrapInput([t]),t=t.parentNode),"ontouchstart"in i&&t.addEventListener("touchstart",n,!1),t.addEventListener("mousedown",n,!1)},i.Waves=t,document.addEventListener("DOMContentLoaded",function(){t.displayEffect()},!1)}(window),function(i,n){"use strict";var t={html:"",displayLength:4e3,inDuration:300,outDuration:375,classes:"",completeCallback:null,activationPercent:.8},e=function(){function s(t){_classCallCheck(this,s),this.options=i.extend({},s.defaults,t),this.message=this.options.html,this.panning=!1,this.timeRemaining=this.options.displayLength,0===s._toasts.length&&s._createContainer(),s._toasts.push(this);var e=this._createToast();(e.M_Toast=this).el=e,this.$el=i(e),this._animateIn(),this._setTimer()}return _createClass(s,[{key:"_createToast",value:function(){var t=document.createElement("div");return t.classList.add("toast"),this.options.classes.length&&i(t).addClass(this.options.classes),("object"==typeof HTMLElement?this.message instanceof HTMLElement:this.message&&"object"==typeof this.message&&null!==this.message&&1===this.message.nodeType&&"string"==typeof this.message.nodeName)?t.appendChild(this.message):this.message.jquery?i(t).append(this.message[0]):t.innerHTML=this.message,s._container.appendChild(t),t}},{key:"_animateIn",value:function(){n({targets:this.el,top:0,opacity:1,duration:this.options.inDuration,easing:"easeOutCubic"})}},{key:"_setTimer",value:function(){var t=this;this.timeRemaining!==1/0&&(this.counterInterval=setInterval(function(){t.panning||(t.timeRemaining-=20),t.timeRemaining<=0&&t.dismiss()},20))}},{key:"dismiss",value:function(){var t=this;window.clearInterval(this.counterInterval);var e=this.el.offsetWidth*this.options.activationPercent;this.wasSwiped&&(this.el.style.transition="transform .05s, opacity .05s",this.el.style.transform="translateX("+e+"px)",this.el.style.opacity=0),n({targets:this.el,opacity:0,marginTop:-40,duration:this.options.outDuration,easing:"easeOutExpo",complete:function(){"function"==typeof t.options.completeCallback&&t.options.completeCallback(),t.$el.remove(),s._toasts.splice(s._toasts.indexOf(t),1),0===s._toasts.length&&s._removeContainer()}})}}],[{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Toast}},{key:"_createContainer",value:function(){var t=document.createElement("div");t.setAttribute("id","toast-container"),t.addEventListener("touchstart",s._onDragStart),t.addEventListener("touchmove",s._onDragMove),t.addEventListener("touchend",s._onDragEnd),t.addEventListener("mousedown",s._onDragStart),document.addEventListener("mousemove",s._onDragMove),document.addEventListener("mouseup",s._onDragEnd),document.body.appendChild(t),s._container=t}},{key:"_removeContainer",value:function(){document.removeEventListener("mousemove",s._onDragMove),document.removeEventListener("mouseup",s._onDragEnd),i(s._container).remove(),s._container=null}},{key:"_onDragStart",value:function(t){if(t.target&&i(t.target).closest(".toast").length){var e=i(t.target).closest(".toast")[0].M_Toast;e.panning=!0,(s._draggedToast=e).el.classList.add("panning"),e.el.style.transition="",e.startingXPos=s._xPos(t),e.time=Date.now(),e.xPos=s._xPos(t)}}},{key:"_onDragMove",value:function(t){if(s._draggedToast){t.preventDefault();var e=s._draggedToast;e.deltaX=Math.abs(e.xPos-s._xPos(t)),e.xPos=s._xPos(t),e.velocityX=e.deltaX/(Date.now()-e.time),e.time=Date.now();var i=e.xPos-e.startingXPos,n=e.el.offsetWidth*e.options.activationPercent;e.el.style.transform="translateX("+i+"px)",e.el.style.opacity=1-Math.abs(i/n)}}},{key:"_onDragEnd",value:function(){if(s._draggedToast){var t=s._draggedToast;t.panning=!1,t.el.classList.remove("panning");var e=t.xPos-t.startingXPos,i=t.el.offsetWidth*t.options.activationPercent;Math.abs(e)>i||1<t.velocityX?(t.wasSwiped=!0,t.dismiss()):(t.el.style.transition="transform .2s, opacity .2s",t.el.style.transform="",t.el.style.opacity=""),s._draggedToast=null}}},{key:"_xPos",value:function(t){return t.targetTouches&&1<=t.targetTouches.length?t.targetTouches[0].clientX:t.clientX}},{key:"dismissAll",value:function(){for(var t in s._toasts)s._toasts[t].dismiss()}},{key:"defaults",get:function(){return t}}]),s}();e._toasts=[],e._container=null,e._draggedToast=null,M.Toast=e,M.toast=function(t){return new e(t)}}(cash,M.anime),function(s,o){"use strict";var e={edge:"left",draggable:!0,inDuration:250,outDuration:200,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null,preventScrolling:!0},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Sidenav=i).id=i.$el.attr("id"),i.options=s.extend({},n.defaults,e),i.isOpen=!1,i.isFixed=i.el.classList.contains("sidenav-fixed"),i.isDragged=!1,i.lastWindowWidth=window.innerWidth,i.lastWindowHeight=window.innerHeight,i._createOverlay(),i._createDragTarget(),i._setupEventHandlers(),i._setupClasses(),i._setupFixed(),n._sidenavs.push(i),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this._enableBodyScrolling(),this._overlay.parentNode.removeChild(this._overlay),this.dragTarget.parentNode.removeChild(this.dragTarget),this.el.M_Sidenav=void 0,this.el.style.transform="";var t=n._sidenavs.indexOf(this);0<=t&&n._sidenavs.splice(t,1)}},{key:"_createOverlay",value:function(){var t=document.createElement("div");this._closeBound=this.close.bind(this),t.classList.add("sidenav-overlay"),t.addEventListener("click",this._closeBound),document.body.appendChild(t),this._overlay=t}},{key:"_setupEventHandlers",value:function(){0===n._sidenavs.length&&document.body.addEventListener("click",this._handleTriggerClick),this._handleDragTargetDragBound=this._handleDragTargetDrag.bind(this),this._handleDragTargetReleaseBound=this._handleDragTargetRelease.bind(this),this._handleCloseDragBound=this._handleCloseDrag.bind(this),this._handleCloseReleaseBound=this._handleCloseRelease.bind(this),this._handleCloseTriggerClickBound=this._handleCloseTriggerClick.bind(this),this.dragTarget.addEventListener("touchmove",this._handleDragTargetDragBound),this.dragTarget.addEventListener("touchend",this._handleDragTargetReleaseBound),this._overlay.addEventListener("touchmove",this._handleCloseDragBound),this._overlay.addEventListener("touchend",this._handleCloseReleaseBound),this.el.addEventListener("touchmove",this._handleCloseDragBound),this.el.addEventListener("touchend",this._handleCloseReleaseBound),this.el.addEventListener("click",this._handleCloseTriggerClickBound),this.isFixed&&(this._handleWindowResizeBound=this._handleWindowResize.bind(this),window.addEventListener("resize",this._handleWindowResizeBound))}},{key:"_removeEventHandlers",value:function(){1===n._sidenavs.length&&document.body.removeEventListener("click",this._handleTriggerClick),this.dragTarget.removeEventListener("touchmove",this._handleDragTargetDragBound),this.dragTarget.removeEventListener("touchend",this._handleDragTargetReleaseBound),this._overlay.removeEventListener("touchmove",this._handleCloseDragBound),this._overlay.removeEventListener("touchend",this._handleCloseReleaseBound),this.el.removeEventListener("touchmove",this._handleCloseDragBound),this.el.removeEventListener("touchend",this._handleCloseReleaseBound),this.el.removeEventListener("click",this._handleCloseTriggerClickBound),this.isFixed&&window.removeEventListener("resize",this._handleWindowResizeBound)}},{key:"_handleTriggerClick",value:function(t){var e=s(t.target).closest(".sidenav-trigger");if(t.target&&e.length){var i=M.getIdFromTrigger(e[0]),n=document.getElementById(i).M_Sidenav;n&&n.open(e),t.preventDefault()}}},{key:"_startDrag",value:function(t){var e=t.targetTouches[0].clientX;this.isDragged=!0,this._startingXpos=e,this._xPos=this._startingXpos,this._time=Date.now(),this._width=this.el.getBoundingClientRect().width,this._overlay.style.display="block",this._initialScrollTop=this.isOpen?this.el.scrollTop:M.getDocumentScrollTop(),this._verticallyScrolling=!1,o.remove(this.el),o.remove(this._overlay)}},{key:"_dragMoveUpdate",value:function(t){var e=t.targetTouches[0].clientX,i=this.isOpen?this.el.scrollTop:M.getDocumentScrollTop();this.deltaX=Math.abs(this._xPos-e),this._xPos=e,this.velocityX=this.deltaX/(Date.now()-this._time),this._time=Date.now(),this._initialScrollTop!==i&&(this._verticallyScrolling=!0)}},{key:"_handleDragTargetDrag",value:function(t){if(this.options.draggable&&!this._isCurrentlyFixed()&&!this._verticallyScrolling){this.isDragged||this._startDrag(t),this._dragMoveUpdate(t);var e=this._xPos-this._startingXpos,i=0<e?"right":"left";e=Math.min(this._width,Math.abs(e)),this.options.edge===i&&(e=0);var n=e,s="translateX(-100%)";"right"===this.options.edge&&(s="translateX(100%)",n=-n),this.percentOpen=Math.min(1,e/this._width),this.el.style.transform=s+" translateX("+n+"px)",this._overlay.style.opacity=this.percentOpen}}},{key:"_handleDragTargetRelease",value:function(){this.isDragged&&(.2<this.percentOpen?this.open():this._animateOut(),this.isDragged=!1,this._verticallyScrolling=!1)}},{key:"_handleCloseDrag",value:function(t){if(this.isOpen){if(!this.options.draggable||this._isCurrentlyFixed()||this._verticallyScrolling)return;this.isDragged||this._startDrag(t),this._dragMoveUpdate(t);var e=this._xPos-this._startingXpos,i=0<e?"right":"left";e=Math.min(this._width,Math.abs(e)),this.options.edge!==i&&(e=0);var n=-e;"right"===this.options.edge&&(n=-n),this.percentOpen=Math.min(1,1-e/this._width),this.el.style.transform="translateX("+n+"px)",this._overlay.style.opacity=this.percentOpen}}},{key:"_handleCloseRelease",value:function(){this.isOpen&&this.isDragged&&(.8<this.percentOpen?this._animateIn():this.close(),this.isDragged=!1,this._verticallyScrolling=!1)}},{key:"_handleCloseTriggerClick",value:function(t){s(t.target).closest(".sidenav-close").length&&!this._isCurrentlyFixed()&&this.close()}},{key:"_handleWindowResize",value:function(){this.lastWindowWidth!==window.innerWidth&&(992<window.innerWidth?this.open():this.close()),this.lastWindowWidth=window.innerWidth,this.lastWindowHeight=window.innerHeight}},{key:"_setupClasses",value:function(){"right"===this.options.edge&&(this.el.classList.add("right-aligned"),this.dragTarget.classList.add("right-aligned"))}},{key:"_removeClasses",value:function(){this.el.classList.remove("right-aligned"),this.dragTarget.classList.remove("right-aligned")}},{key:"_setupFixed",value:function(){this._isCurrentlyFixed()&&this.open()}},{key:"_isCurrentlyFixed",value:function(){return this.isFixed&&992<window.innerWidth}},{key:"_createDragTarget",value:function(){var t=document.createElement("div");t.classList.add("drag-target"),document.body.appendChild(t),this.dragTarget=t}},{key:"_preventBodyScrolling",value:function(){document.body.style.overflow="hidden"}},{key:"_enableBodyScrolling",value:function(){document.body.style.overflow=""}},{key:"open",value:function(){!0!==this.isOpen&&(this.isOpen=!0,"function"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,this.el),this._isCurrentlyFixed()?(o.remove(this.el),o({targets:this.el,translateX:0,duration:0,easing:"easeOutQuad"}),this._enableBodyScrolling(),this._overlay.style.display="none"):(this.options.preventScrolling&&this._preventBodyScrolling(),this.isDragged&&1==this.percentOpen||this._animateIn()))}},{key:"close",value:function(){if(!1!==this.isOpen)if(this.isOpen=!1,"function"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,this.el),this._isCurrentlyFixed()){var t="left"===this.options.edge?"-105%":"105%";this.el.style.transform="translateX("+t+")"}else this._enableBodyScrolling(),this.isDragged&&0==this.percentOpen?this._overlay.style.display="none":this._animateOut()}},{key:"_animateIn",value:function(){this._animateSidenavIn(),this._animateOverlayIn()}},{key:"_animateSidenavIn",value:function(){var t=this,e="left"===this.options.edge?-1:1;this.isDragged&&(e="left"===this.options.edge?e+this.percentOpen:e-this.percentOpen),o.remove(this.el),o({targets:this.el,translateX:[100*e+"%",0],duration:this.options.inDuration,easing:"easeOutQuad",complete:function(){"function"==typeof t.options.onOpenEnd&&t.options.onOpenEnd.call(t,t.el)}})}},{key:"_animateOverlayIn",value:function(){var t=0;this.isDragged?t=this.percentOpen:s(this._overlay).css({display:"block"}),o.remove(this._overlay),o({targets:this._overlay,opacity:[t,1],duration:this.options.inDuration,easing:"easeOutQuad"})}},{key:"_animateOut",value:function(){this._animateSidenavOut(),this._animateOverlayOut()}},{key:"_animateSidenavOut",value:function(){var t=this,e="left"===this.options.edge?-1:1,i=0;this.isDragged&&(i="left"===this.options.edge?e+this.percentOpen:e-this.percentOpen),o.remove(this.el),o({targets:this.el,translateX:[100*i+"%",105*e+"%"],duration:this.options.outDuration,easing:"easeOutQuad",complete:function(){"function"==typeof t.options.onCloseEnd&&t.options.onCloseEnd.call(t,t.el)}})}},{key:"_animateOverlayOut",value:function(){var t=this;o.remove(this._overlay),o({targets:this._overlay,opacity:0,duration:this.options.outDuration,easing:"easeOutQuad",complete:function(){s(t._overlay).css("display","none")}})}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Sidenav}},{key:"defaults",get:function(){return e}}]),n}();t._sidenavs=[],M.Sidenav=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"sidenav","M_Sidenav")}(cash,M.anime),function(o,a){"use strict";var e={throttle:100,scrollOffset:200,activeClass:"active",getActiveElement:function(t){return'a[href="#'+t+'"]'}},t=function(t){function c(t,e){_classCallCheck(this,c);var i=_possibleConstructorReturn(this,(c.__proto__||Object.getPrototypeOf(c)).call(this,c,t,e));return(i.el.M_ScrollSpy=i).options=o.extend({},c.defaults,e),c._elements.push(i),c._count++,c._increment++,i.tickId=-1,i.id=c._increment,i._setupEventHandlers(),i._handleWindowScroll(),i}return _inherits(c,Component),_createClass(c,[{key:"destroy",value:function(){c._elements.splice(c._elements.indexOf(this),1),c._elementsInView.splice(c._elementsInView.indexOf(this),1),c._visibleElements.splice(c._visibleElements.indexOf(this.$el),1),c._count--,this._removeEventHandlers(),o(this.options.getActiveElement(this.$el.attr("id"))).removeClass(this.options.activeClass),this.el.M_ScrollSpy=void 0}},{key:"_setupEventHandlers",value:function(){var t=M.throttle(this._handleWindowScroll,200);this._handleThrottledResizeBound=t.bind(this),this._handleWindowScrollBound=this._handleWindowScroll.bind(this),1===c._count&&(window.addEventListener("scroll",this._handleWindowScrollBound),window.addEventListener("resize",this._handleThrottledResizeBound),document.body.addEventListener("click",this._handleTriggerClick))}},{key:"_removeEventHandlers",value:function(){0===c._count&&(window.removeEventListener("scroll",this._handleWindowScrollBound),window.removeEventListener("resize",this._handleThrottledResizeBound),document.body.removeEventListener("click",this._handleTriggerClick))}},{key:"_handleTriggerClick",value:function(t){for(var e=o(t.target),i=c._elements.length-1;0<=i;i--){var n=c._elements[i];if(e.is('a[href="#'+n.$el.attr("id")+'"]')){t.preventDefault();var s=n.$el.offset().top+1;a({targets:[document.documentElement,document.body],scrollTop:s-n.options.scrollOffset,duration:400,easing:"easeOutCubic"});break}}}},{key:"_handleWindowScroll",value:function(){c._ticks++;for(var t=M.getDocumentScrollTop(),e=M.getDocumentScrollLeft(),i=e+window.innerWidth,n=t+window.innerHeight,s=c._findElements(t,i,n,e),o=0;o<s.length;o++){var a=s[o];a.tickId<0&&a._enter(),a.tickId=c._ticks}for(var r=0;r<c._elementsInView.length;r++){var l=c._elementsInView[r],h=l.tickId;0<=h&&h!==c._ticks&&(l._exit(),l.tickId=-1)}c._elementsInView=s}},{key:"_enter",value:function(){(c._visibleElements=c._visibleElements.filter(function(t){return 0!=t.height()}))[0]?(o(this.options.getActiveElement(c._visibleElements[0].attr("id"))).removeClass(this.options.activeClass),c._visibleElements[0][0].M_ScrollSpy&&this.id<c._visibleElements[0][0].M_ScrollSpy.id?c._visibleElements.unshift(this.$el):c._visibleElements.push(this.$el)):c._visibleElements.push(this.$el),o(this.options.getActiveElement(c._visibleElements[0].attr("id"))).addClass(this.options.activeClass)}},{key:"_exit",value:function(){var e=this;(c._visibleElements=c._visibleElements.filter(function(t){return 0!=t.height()}))[0]&&(o(this.options.getActiveElement(c._visibleElements[0].attr("id"))).removeClass(this.options.activeClass),(c._visibleElements=c._visibleElements.filter(function(t){return t.attr("id")!=e.$el.attr("id")}))[0]&&o(this.options.getActiveElement(c._visibleElements[0].attr("id"))).addClass(this.options.activeClass))}}],[{key:"init",value:function(t,e){return _get(c.__proto__||Object.getPrototypeOf(c),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_ScrollSpy}},{key:"_findElements",value:function(t,e,i,n){for(var s=[],o=0;o<c._elements.length;o++){var a=c._elements[o],r=t+a.options.scrollOffset||200;if(0<a.$el.height()){var l=a.$el.offset().top,h=a.$el.offset().left,d=h+a.$el.width(),u=l+a.$el.height();!(e<h||d<n||i<l||u<r)&&s.push(a)}}return s}},{key:"defaults",get:function(){return e}}]),c}();t._elements=[],t._elementsInView=[],t._visibleElements=[],t._count=0,t._increment=0,t._ticks=0,M.ScrollSpy=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"scrollSpy","M_ScrollSpy")}(cash,M.anime),function(h){"use strict";var e={data:{},limit:1/0,onAutocomplete:null,minLength:1,sortFunction:function(t,e,i){return t.indexOf(i)-e.indexOf(i)}},t=function(t){function s(t,e){_classCallCheck(this,s);var i=_possibleConstructorReturn(this,(s.__proto__||Object.getPrototypeOf(s)).call(this,s,t,e));return(i.el.M_Autocomplete=i).options=h.extend({},s.defaults,e),i.isOpen=!1,i.count=0,i.activeIndex=-1,i.oldVal,i.$inputField=i.$el.closest(".input-field"),i.$active=h(),i._mousedown=!1,i._setupDropdown(),i._setupEventHandlers(),i}return _inherits(s,Component),_createClass(s,[{key:"destroy",value:function(){this._removeEventHandlers(),this._removeDropdown(),this.el.M_Autocomplete=void 0}},{key:"_setupEventHandlers",value:function(){this._handleInputBlurBound=this._handleInputBlur.bind(this),this._handleInputKeyupAndFocusBound=this._handleInputKeyupAndFocus.bind(this),this._handleInputKeydownBound=this._handleInputKeydown.bind(this),this._handleInputClickBound=this._handleInputClick.bind(this),this._handleContainerMousedownAndTouchstartBound=this._handleContainerMousedownAndTouchstart.bind(this),this._handleContainerMouseupAndTouchendBound=this._handleContainerMouseupAndTouchend.bind(this),this.el.addEventListener("blur",this._handleInputBlurBound),this.el.addEventListener("keyup",this._handleInputKeyupAndFocusBound),this.el.addEventListener("focus",this._handleInputKeyupAndFocusBound),this.el.addEventListener("keydown",this._handleInputKeydownBound),this.el.addEventListener("click",this._handleInputClickBound),this.container.addEventListener("mousedown",this._handleContainerMousedownAndTouchstartBound),this.container.addEventListener("mouseup",this._handleContainerMouseupAndTouchendBound),void 0!==window.ontouchstart&&(this.container.addEventListener("touchstart",this._handleContainerMousedownAndTouchstartBound),this.container.addEventListener("touchend",this._handleContainerMouseupAndTouchendBound))}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("blur",this._handleInputBlurBound),this.el.removeEventListener("keyup",this._handleInputKeyupAndFocusBound),this.el.removeEventListener("focus",this._handleInputKeyupAndFocusBound),this.el.removeEventListener("keydown",this._handleInputKeydownBound),this.el.removeEventListener("click",this._handleInputClickBound),this.container.removeEventListener("mousedown",this._handleContainerMousedownAndTouchstartBound),this.container.removeEventListener("mouseup",this._handleContainerMouseupAndTouchendBound),void 0!==window.ontouchstart&&(this.container.removeEventListener("touchstart",this._handleContainerMousedownAndTouchstartBound),this.container.removeEventListener("touchend",this._handleContainerMouseupAndTouchendBound))}},{key:"_setupDropdown",value:function(){var e=this;this.container=document.createElement("ul"),this.container.id="autocomplete-options-"+M.guid(),h(this.container).addClass("autocomplete-content dropdown-content"),this.$inputField.append(this.container),this.el.setAttribute("data-target",this.container.id),this.dropdown=M.Dropdown.init(this.el,{autoFocus:!1,closeOnClick:!1,coverTrigger:!1,onItemClick:function(t){e.selectOption(h(t))}}),this.el.removeEventListener("click",this.dropdown._handleClickBound)}},{key:"_removeDropdown",value:function(){this.container.parentNode.removeChild(this.container)}},{key:"_handleInputBlur",value:function(){this._mousedown||(this.close(),this._resetAutocomplete())}},{key:"_handleInputKeyupAndFocus",value:function(t){"keyup"===t.type&&(s._keydown=!1),this.count=0;var e=this.el.value.toLowerCase();13!==t.keyCode&&38!==t.keyCode&&40!==t.keyCode&&(this.oldVal===e||!M.tabPressed&&"focus"===t.type||this.open(),this.oldVal=e)}},{key:"_handleInputKeydown",value:function(t){s._keydown=!0;var e=t.keyCode,i=void 0,n=h(this.container).children("li").length;e===M.keys.ENTER&&0<=this.activeIndex?(i=h(this.container).children("li").eq(this.activeIndex)).length&&(this.selectOption(i),t.preventDefault()):e!==M.keys.ARROW_UP&&e!==M.keys.ARROW_DOWN||(t.preventDefault(),e===M.keys.ARROW_UP&&0<this.activeIndex&&this.activeIndex--,e===M.keys.ARROW_DOWN&&this.activeIndex<n-1&&this.activeIndex++,this.$active.removeClass("active"),0<=this.activeIndex&&(this.$active=h(this.container).children("li").eq(this.activeIndex),this.$active.addClass("active")))}},{key:"_handleInputClick",value:function(t){this.open()}},{key:"_handleContainerMousedownAndTouchstart",value:function(t){this._mousedown=!0}},{key:"_handleContainerMouseupAndTouchend",value:function(t){this._mousedown=!1}},{key:"_highlight",value:function(t,e){var i=e.find("img"),n=e.text().toLowerCase().indexOf(""+t.toLowerCase()),s=n+t.length-1,o=e.text().slice(0,n),a=e.text().slice(n,s+1),r=e.text().slice(s+1);e.html("<span>"+o+"<span class='highlight'>"+a+"</span>"+r+"</span>"),i.length&&e.prepend(i)}},{key:"_resetCurrentElement",value:function(){this.activeIndex=-1,this.$active.removeClass("active")}},{key:"_resetAutocomplete",value:function(){h(this.container).empty(),this._resetCurrentElement(),this.oldVal=null,this.isOpen=!1,this._mousedown=!1}},{key:"selectOption",value:function(t){var e=t.text().trim();this.el.value=e,this.$el.trigger("change"),this._resetAutocomplete(),this.close(),"function"==typeof this.options.onAutocomplete&&this.options.onAutocomplete.call(this,e)}},{key:"_renderDropdown",value:function(t,i){var n=this;this._resetAutocomplete();var e=[];for(var s in t)if(t.hasOwnProperty(s)&&-1!==s.toLowerCase().indexOf(i)){if(this.count>=this.options.limit)break;var o={data:t[s],key:s};e.push(o),this.count++}if(this.options.sortFunction){e.sort(function(t,e){return n.options.sortFunction(t.key.toLowerCase(),e.key.toLowerCase(),i.toLowerCase())})}for(var a=0;a<e.length;a++){var r=e[a],l=h("<li></li>");r.data?l.append('<img src="'+r.data+'" class="right circle"><span>'+r.key+"</span>"):l.append("<span>"+r.key+"</span>"),h(this.container).append(l),this._highlight(i,l)}}},{key:"open",value:function(){var t=this.el.value.toLowerCase();this._resetAutocomplete(),t.length>=this.options.minLength&&(this.isOpen=!0,this._renderDropdown(this.options.data,t)),this.dropdown.isOpen?this.dropdown.recalculateDimensions():this.dropdown.open()}},{key:"close",value:function(){this.dropdown.close()}},{key:"updateData",value:function(t){var e=this.el.value.toLowerCase();this.options.data=t,this.isOpen&&this._renderDropdown(t,e)}}],[{key:"init",value:function(t,e){return _get(s.__proto__||Object.getPrototypeOf(s),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Autocomplete}},{key:"defaults",get:function(){return e}}]),s}();t._keydown=!1,M.Autocomplete=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"autocomplete","M_Autocomplete")}(cash),function(d){M.updateTextFields=function(){d("input[type=text], input[type=password], input[type=email], input[type=url], input[type=tel], input[type=number], input[type=search], input[type=date], input[type=time], textarea").each(function(t,e){var i=d(this);0<t.value.length||d(t).is(":focus")||t.autofocus||null!==i.attr("placeholder")?i.siblings("label").addClass("active"):t.validity?i.siblings("label").toggleClass("active",!0===t.validity.badInput):i.siblings("label").removeClass("active")})},M.validate_field=function(t){var e=null!==t.attr("data-length"),i=parseInt(t.attr("data-length")),n=t[0].value.length;0!==n||!1!==t[0].validity.badInput||t.is(":required")?t.hasClass("validate")&&(t.is(":valid")&&e&&n<=i||t.is(":valid")&&!e?(t.removeClass("invalid"),t.addClass("valid")):(t.removeClass("valid"),t.addClass("invalid"))):t.hasClass("validate")&&(t.removeClass("valid"),t.removeClass("invalid"))},M.textareaAutoResize=function(t){if(t instanceof Element&&(t=d(t)),t.length){var e=d(".hiddendiv").first();e.length||(e=d('<div class="hiddendiv common"></div>'),d("body").append(e));var i=t.css("font-family"),n=t.css("font-size"),s=t.css("line-height"),o=t.css("padding-top"),a=t.css("padding-right"),r=t.css("padding-bottom"),l=t.css("padding-left");n&&e.css("font-size",n),i&&e.css("font-family",i),s&&e.css("line-height",s),o&&e.css("padding-top",o),a&&e.css("padding-right",a),r&&e.css("padding-bottom",r),l&&e.css("padding-left",l),t.data("original-height")||t.data("original-height",t.height()),"off"===t.attr("wrap")&&e.css("overflow-wrap","normal").css("white-space","pre"),e.text(t[0].value+"\n");var h=e.html().replace(/\n/g,"<br>");e.html(h),0<t[0].offsetWidth&&0<t[0].offsetHeight?e.css("width",t.width()+"px"):e.css("width",window.innerWidth/2+"px"),t.data("original-height")<=e.innerHeight()?t.css("height",e.innerHeight()+"px"):t[0].value.length<t.data("previous-length")&&t.css("height",t.data("original-height")+"px"),t.data("previous-length",t[0].value.length)}else console.error("No textarea element found")},d(document).ready(function(){var n="input[type=text], input[type=password], input[type=email], input[type=url], input[type=tel], input[type=number], input[type=search], input[type=date], input[type=time], textarea";d(document).on("change",n,function(){0===this.value.length&&null===d(this).attr("placeholder")||d(this).siblings("label").addClass("active"),M.validate_field(d(this))}),d(document).ready(function(){M.updateTextFields()}),d(document).on("reset",function(t){var e=d(t.target);e.is("form")&&(e.find(n).removeClass("valid").removeClass("invalid"),e.find(n).each(function(t){this.value.length&&d(this).siblings("label").removeClass("active")}),setTimeout(function(){e.find("select").each(function(){this.M_FormSelect&&d(this).trigger("change")})},0))}),document.addEventListener("focus",function(t){d(t.target).is(n)&&d(t.target).siblings("label, .prefix").addClass("active")},!0),document.addEventListener("blur",function(t){var e=d(t.target);if(e.is(n)){var i=".prefix";0===e[0].value.length&&!0!==e[0].validity.badInput&&null===e.attr("placeholder")&&(i+=", label"),e.siblings(i).removeClass("active"),M.validate_field(e)}},!0);d(document).on("keyup","input[type=radio], input[type=checkbox]",function(t){if(t.which===M.keys.TAB)return d(this).addClass("tabbed"),void d(this).one("blur",function(t){d(this).removeClass("tabbed")})});var t=".materialize-textarea";d(t).each(function(){var t=d(this);t.data("original-height",t.height()),t.data("previous-length",this.value.length),M.textareaAutoResize(t)}),d(document).on("keyup",t,function(){M.textareaAutoResize(d(this))}),d(document).on("keydown",t,function(){M.textareaAutoResize(d(this))}),d(document).on("change",'.file-field input[type="file"]',function(){for(var t=d(this).closest(".file-field").find("input.file-path"),e=d(this)[0].files,i=[],n=0;n<e.length;n++)i.push(e[n].name);t[0].value=i.join(", "),t.trigger("change")})})}(cash),function(s,o){"use strict";var e={indicators:!0,height:400,duration:500,interval:6e3},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Slider=i).options=s.extend({},n.defaults,e),i.$slider=i.$el.find(".slides"),i.$slides=i.$slider.children("li"),i.activeIndex=i.$slides.filter(function(t){return s(t).hasClass("active")}).first().index(),-1!=i.activeIndex&&(i.$active=i.$slides.eq(i.activeIndex)),i._setSliderHeight(),i.$slides.find(".caption").each(function(t){i._animateCaptionIn(t,0)}),i.$slides.find("img").each(function(t){var e="data:image/gif;base64,R0lGODlhAQABAIABAP///wAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==";s(t).attr("src")!==e&&(s(t).css("background-image",'url("'+s(t).attr("src")+'")'),s(t).attr("src",e))}),i._setupIndicators(),i.$active?i.$active.css("display","block"):(i.$slides.first().addClass("active"),o({targets:i.$slides.first()[0],opacity:1,duration:i.options.duration,easing:"easeOutQuad"}),i.activeIndex=0,i.$active=i.$slides.eq(i.activeIndex),i.options.indicators&&i.$indicators.eq(i.activeIndex).addClass("active")),i.$active.find("img").each(function(t){o({targets:i.$active.find(".caption")[0],opacity:1,translateX:0,translateY:0,duration:i.options.duration,easing:"easeOutQuad"})}),i._setupEventHandlers(),i.start(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this.pause(),this._removeIndicators(),this._removeEventHandlers(),this.el.M_Slider=void 0}},{key:"_setupEventHandlers",value:function(){var e=this;this._handleIntervalBound=this._handleInterval.bind(this),this._handleIndicatorClickBound=this._handleIndicatorClick.bind(this),this.options.indicators&&this.$indicators.each(function(t){t.addEventListener("click",e._handleIndicatorClickBound)})}},{key:"_removeEventHandlers",value:function(){var e=this;this.options.indicators&&this.$indicators.each(function(t){t.removeEventListener("click",e._handleIndicatorClickBound)})}},{key:"_handleIndicatorClick",value:function(t){var e=s(t.target).index();this.set(e)}},{key:"_handleInterval",value:function(){var t=this.$slider.find(".active").index();this.$slides.length===t+1?t=0:t+=1,this.set(t)}},{key:"_animateCaptionIn",value:function(t,e){var i={targets:t,opacity:0,duration:e,easing:"easeOutQuad"};s(t).hasClass("center-align")?i.translateY=-100:s(t).hasClass("right-align")?i.translateX=100:s(t).hasClass("left-align")&&(i.translateX=-100),o(i)}},{key:"_setSliderHeight",value:function(){this.$el.hasClass("fullscreen")||(this.options.indicators?this.$el.css("height",this.options.height+40+"px"):this.$el.css("height",this.options.height+"px"),this.$slider.css("height",this.options.height+"px"))}},{key:"_setupIndicators",value:function(){var n=this;this.options.indicators&&(this.$indicators=s('<ul class="indicators"></ul>'),this.$slides.each(function(t,e){var i=s('<li class="indicator-item"></li>');n.$indicators.append(i[0])}),this.$el.append(this.$indicators[0]),this.$indicators=this.$indicators.children("li.indicator-item"))}},{key:"_removeIndicators",value:function(){this.$el.find("ul.indicators").remove()}},{key:"set",value:function(t){var e=this;if(t>=this.$slides.length?t=0:t<0&&(t=this.$slides.length-1),this.activeIndex!=t){this.$active=this.$slides.eq(this.activeIndex);var i=this.$active.find(".caption");this.$active.removeClass("active"),o({targets:this.$active[0],opacity:0,duration:this.options.duration,easing:"easeOutQuad",complete:function(){e.$slides.not(".active").each(function(t){o({targets:t,opacity:0,translateX:0,translateY:0,duration:0,easing:"easeOutQuad"})})}}),this._animateCaptionIn(i[0],this.options.duration),this.options.indicators&&(this.$indicators.eq(this.activeIndex).removeClass("active"),this.$indicators.eq(t).addClass("active")),o({targets:this.$slides.eq(t)[0],opacity:1,duration:this.options.duration,easing:"easeOutQuad"}),o({targets:this.$slides.eq(t).find(".caption")[0],opacity:1,translateX:0,translateY:0,duration:this.options.duration,delay:this.options.duration,easing:"easeOutQuad"}),this.$slides.eq(t).addClass("active"),this.activeIndex=t,this.start()}}},{key:"pause",value:function(){clearInterval(this.interval)}},{key:"start",value:function(){clearInterval(this.interval),this.interval=setInterval(this._handleIntervalBound,this.options.duration+this.options.interval)}},{key:"next",value:function(){var t=this.activeIndex+1;t>=this.$slides.length?t=0:t<0&&(t=this.$slides.length-1),this.set(t)}},{key:"prev",value:function(){var t=this.activeIndex-1;t>=this.$slides.length?t=0:t<0&&(t=this.$slides.length-1),this.set(t)}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Slider}},{key:"defaults",get:function(){return e}}]),n}();M.Slider=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"slider","M_Slider")}(cash,M.anime),function(n,s){n(document).on("click",".card",function(t){if(n(this).children(".card-reveal").length){var i=n(t.target).closest(".card");void 0===i.data("initialOverflow")&&i.data("initialOverflow",void 0===i.css("overflow")?"":i.css("overflow"));var e=n(this).find(".card-reveal");n(t.target).is(n(".card-reveal .card-title"))||n(t.target).is(n(".card-reveal .card-title i"))?s({targets:e[0],translateY:0,duration:225,easing:"easeInOutQuad",complete:function(t){var e=t.animatables[0].target;n(e).css({display:"none"}),i.css("overflow",i.data("initialOverflow"))}}):(n(t.target).is(n(".card .activator"))||n(t.target).is(n(".card .activator i")))&&(i.css("overflow","hidden"),e.css({display:"block"}),s({targets:e[0],translateY:"-100%",duration:300,easing:"easeInOutQuad"}))}})}(cash,M.anime),function(h){"use strict";var e={data:[],placeholder:"",secondaryPlaceholder:"",autocompleteOptions:{},limit:1/0,onChipAdd:null,onChipSelect:null,onChipDelete:null},t=function(t){function l(t,e){_classCallCheck(this,l);var i=_possibleConstructorReturn(this,(l.__proto__||Object.getPrototypeOf(l)).call(this,l,t,e));return(i.el.M_Chips=i).options=h.extend({},l.defaults,e),i.$el.addClass("chips input-field"),i.chipsData=[],i.$chips=h(),i._setupInput(),i.hasAutocomplete=0<Object.keys(i.options.autocompleteOptions).length,i.$input.attr("id")||i.$input.attr("id",M.guid()),i.options.data.length&&(i.chipsData=i.options.data,i._renderChips(i.chipsData)),i.hasAutocomplete&&i._setupAutocomplete(),i._setPlaceholder(),i._setupLabel(),i._setupEventHandlers(),i}return _inherits(l,Component),_createClass(l,[{key:"getData",value:function(){return this.chipsData}},{key:"destroy",value:function(){this._removeEventHandlers(),this.$chips.remove(),this.el.M_Chips=void 0}},{key:"_setupEventHandlers",value:function(){this._handleChipClickBound=this._handleChipClick.bind(this),this._handleInputKeydownBound=this._handleInputKeydown.bind(this),this._handleInputFocusBound=this._handleInputFocus.bind(this),this._handleInputBlurBound=this._handleInputBlur.bind(this),this.el.addEventListener("click",this._handleChipClickBound),document.addEventListener("keydown",l._handleChipsKeydown),document.addEventListener("keyup",l._handleChipsKeyup),this.el.addEventListener("blur",l._handleChipsBlur,!0),this.$input[0].addEventListener("focus",this._handleInputFocusBound),this.$input[0].addEventListener("blur",this._handleInputBlurBound),this.$input[0].addEventListener("keydown",this._handleInputKeydownBound)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("click",this._handleChipClickBound),document.removeEventListener("keydown",l._handleChipsKeydown),document.removeEventListener("keyup",l._handleChipsKeyup),this.el.removeEventListener("blur",l._handleChipsBlur,!0),this.$input[0].removeEventListener("focus",this._handleInputFocusBound),this.$input[0].removeEventListener("blur",this._handleInputBlurBound),this.$input[0].removeEventListener("keydown",this._handleInputKeydownBound)}},{key:"_handleChipClick",value:function(t){var e=h(t.target).closest(".chip"),i=h(t.target).is(".close");if(e.length){var n=e.index();i?(this.deleteChip(n),this.$input[0].focus()):this.selectChip(n)}else this.$input[0].focus()}},{key:"_handleInputFocus",value:function(){this.$el.addClass("focus")}},{key:"_handleInputBlur",value:function(){this.$el.removeClass("focus")}},{key:"_handleInputKeydown",value:function(t){if(l._keydown=!0,13===t.keyCode){if(this.hasAutocomplete&&this.autocomplete&&this.autocomplete.isOpen)return;t.preventDefault(),this.addChip({tag:this.$input[0].value}),this.$input[0].value=""}else 8!==t.keyCode&&37!==t.keyCode||""!==this.$input[0].value||!this.chipsData.length||(t.preventDefault(),this.selectChip(this.chipsData.length-1))}},{key:"_renderChip",value:function(t){if(t.tag){var e=document.createElement("div"),i=document.createElement("i");if(e.classList.add("chip"),e.textContent=t.tag,e.setAttribute("tabindex",0),h(i).addClass("material-icons close"),i.textContent="close",t.image){var n=document.createElement("img");n.setAttribute("src",t.image),e.insertBefore(n,e.firstChild)}return e.appendChild(i),e}}},{key:"_renderChips",value:function(){this.$chips.remove();for(var t=0;t<this.chipsData.length;t++){var e=this._renderChip(this.chipsData[t]);this.$el.append(e),this.$chips.add(e)}this.$el.append(this.$input[0])}},{key:"_setupAutocomplete",value:function(){var e=this;this.options.autocompleteOptions.onAutocomplete=function(t){e.addChip({tag:t}),e.$input[0].value="",e.$input[0].focus()},this.autocomplete=M.Autocomplete.init(this.$input[0],this.options.autocompleteOptions)}},{key:"_setupInput",value:function(){this.$input=this.$el.find("input"),this.$input.length||(this.$input=h("<input></input>"),this.$el.append(this.$input)),this.$input.addClass("input")}},{key:"_setupLabel",value:function(){this.$label=this.$el.find("label"),this.$label.length&&this.$label.setAttribute("for",this.$input.attr("id"))}},{key:"_setPlaceholder",value:function(){void 0!==this.chipsData&&!this.chipsData.length&&this.options.placeholder?h(this.$input).prop("placeholder",this.options.placeholder):(void 0===this.chipsData||this.chipsData.length)&&this.options.secondaryPlaceholder&&h(this.$input).prop("placeholder",this.options.secondaryPlaceholder)}},{key:"_isValid",value:function(t){if(t.hasOwnProperty("tag")&&""!==t.tag){for(var e=!1,i=0;i<this.chipsData.length;i++)if(this.chipsData[i].tag===t.tag){e=!0;break}return!e}return!1}},{key:"addChip",value:function(t){if(this._isValid(t)&&!(this.chipsData.length>=this.options.limit)){var e=this._renderChip(t);this.$chips.add(e),this.chipsData.push(t),h(this.$input).before(e),this._setPlaceholder(),"function"==typeof this.options.onChipAdd&&this.options.onChipAdd.call(this,this.$el,e)}}},{key:"deleteChip",value:function(t){var e=this.$chips.eq(t);this.$chips.eq(t).remove(),this.$chips=this.$chips.filter(function(t){return 0<=h(t).index()}),this.chipsData.splice(t,1),this._setPlaceholder(),"function"==typeof this.options.onChipDelete&&this.options.onChipDelete.call(this,this.$el,e[0])}},{key:"selectChip",value:function(t){var e=this.$chips.eq(t);(this._selectedChip=e)[0].focus(),"function"==typeof this.options.onChipSelect&&this.options.onChipSelect.call(this,this.$el,e[0])}}],[{key:"init",value:function(t,e){return _get(l.__proto__||Object.getPrototypeOf(l),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Chips}},{key:"_handleChipsKeydown",value:function(t){l._keydown=!0;var e=h(t.target).closest(".chips"),i=t.target&&e.length;if(!h(t.target).is("input, textarea")&&i){var n=e[0].M_Chips;if(8===t.keyCode||46===t.keyCode){t.preventDefault();var s=n.chipsData.length;if(n._selectedChip){var o=n._selectedChip.index();n.deleteChip(o),n._selectedChip=null,s=Math.max(o-1,0)}n.chipsData.length&&n.selectChip(s)}else if(37===t.keyCode){if(n._selectedChip){var a=n._selectedChip.index()-1;if(a<0)return;n.selectChip(a)}}else if(39===t.keyCode&&n._selectedChip){var r=n._selectedChip.index()+1;r>=n.chipsData.length?n.$input[0].focus():n.selectChip(r)}}}},{key:"_handleChipsKeyup",value:function(t){l._keydown=!1}},{key:"_handleChipsBlur",value:function(t){l._keydown||(h(t.target).closest(".chips")[0].M_Chips._selectedChip=null)}},{key:"defaults",get:function(){return e}}]),l}();t._keydown=!1,M.Chips=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"chips","M_Chips"),h(document).ready(function(){h(document.body).on("click",".chip .close",function(){var t=h(this).closest(".chips");t.length&&t[0].M_Chips||h(this).closest(".chip").remove()})})}(cash),function(s){"use strict";var e={top:0,bottom:1/0,offset:0,onPositionChange:null},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Pushpin=i).options=s.extend({},n.defaults,e),i.originalOffset=i.el.offsetTop,n._pushpins.push(i),i._setupEventHandlers(),i._updatePosition(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this.el.style.top=null,this._removePinClasses(),this._removeEventHandlers();var t=n._pushpins.indexOf(this);n._pushpins.splice(t,1)}},{key:"_setupEventHandlers",value:function(){document.addEventListener("scroll",n._updateElements)}},{key:"_removeEventHandlers",value:function(){document.removeEventListener("scroll",n._updateElements)}},{key:"_updatePosition",value:function(){var t=M.getDocumentScrollTop()+this.options.offset;this.options.top<=t&&this.options.bottom>=t&&!this.el.classList.contains("pinned")&&(this._removePinClasses(),this.el.style.top=this.options.offset+"px",this.el.classList.add("pinned"),"function"==typeof this.options.onPositionChange&&this.options.onPositionChange.call(this,"pinned")),t<this.options.top&&!this.el.classList.contains("pin-top")&&(this._removePinClasses(),this.el.style.top=0,this.el.classList.add("pin-top"),"function"==typeof this.options.onPositionChange&&this.options.onPositionChange.call(this,"pin-top")),t>this.options.bottom&&!this.el.classList.contains("pin-bottom")&&(this._removePinClasses(),this.el.classList.add("pin-bottom"),this.el.style.top=this.options.bottom-this.originalOffset+"px","function"==typeof this.options.onPositionChange&&this.options.onPositionChange.call(this,"pin-bottom"))}},{key:"_removePinClasses",value:function(){this.el.classList.remove("pin-top"),this.el.classList.remove("pinned"),this.el.classList.remove("pin-bottom")}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Pushpin}},{key:"_updateElements",value:function(){for(var t in n._pushpins){n._pushpins[t]._updatePosition()}}},{key:"defaults",get:function(){return e}}]),n}();t._pushpins=[],M.Pushpin=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"pushpin","M_Pushpin")}(cash),function(r,s){"use strict";var e={direction:"top",hoverEnabled:!0,toolbarEnabled:!1};r.fn.reverse=[].reverse;var t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_FloatingActionButton=i).options=r.extend({},n.defaults,e),i.isOpen=!1,i.$anchor=i.$el.children("a").first(),i.$menu=i.$el.children("ul").first(),i.$floatingBtns=i.$el.find("ul .btn-floating"),i.$floatingBtnsReverse=i.$el.find("ul .btn-floating").reverse(),i.offsetY=0,i.offsetX=0,i.$el.addClass("direction-"+i.options.direction),"top"===i.options.direction?i.offsetY=40:"right"===i.options.direction?i.offsetX=-40:"bottom"===i.options.direction?i.offsetY=-40:i.offsetX=40,i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.M_FloatingActionButton=void 0}},{key:"_setupEventHandlers",value:function(){this._handleFABClickBound=this._handleFABClick.bind(this),this._handleOpenBound=this.open.bind(this),this._handleCloseBound=this.close.bind(this),this.options.hoverEnabled&&!this.options.toolbarEnabled?(this.el.addEventListener("mouseenter",this._handleOpenBound),this.el.addEventListener("mouseleave",this._handleCloseBound)):this.el.addEventListener("click",this._handleFABClickBound)}},{key:"_removeEventHandlers",value:function(){this.options.hoverEnabled&&!this.options.toolbarEnabled?(this.el.removeEventListener("mouseenter",this._handleOpenBound),this.el.removeEventListener("mouseleave",this._handleCloseBound)):this.el.removeEventListener("click",this._handleFABClickBound)}},{key:"_handleFABClick",value:function(){this.isOpen?this.close():this.open()}},{key:"_handleDocumentClick",value:function(t){r(t.target).closest(this.$menu).length||this.close()}},{key:"open",value:function(){this.isOpen||(this.options.toolbarEnabled?this._animateInToolbar():this._animateInFAB(),this.isOpen=!0)}},{key:"close",value:function(){this.isOpen&&(this.options.toolbarEnabled?(window.removeEventListener("scroll",this._handleCloseBound,!0),document.body.removeEventListener("click",this._handleDocumentClickBound,!0),this._animateOutToolbar()):this._animateOutFAB(),this.isOpen=!1)}},{key:"_animateInFAB",value:function(){var e=this;this.$el.addClass("active");var i=0;this.$floatingBtnsReverse.each(function(t){s({targets:t,opacity:1,scale:[.4,1],translateY:[e.offsetY,0],translateX:[e.offsetX,0],duration:275,delay:i,easing:"easeInOutQuad"}),i+=40})}},{key:"_animateOutFAB",value:function(){var e=this;this.$floatingBtnsReverse.each(function(t){s.remove(t),s({targets:t,opacity:0,scale:.4,translateY:e.offsetY,translateX:e.offsetX,duration:175,easing:"easeOutQuad",complete:function(){e.$el.removeClass("active")}})})}},{key:"_animateInToolbar",value:function(){var t,e=this,i=window.innerWidth,n=window.innerHeight,s=this.el.getBoundingClientRect(),o=r('<div class="fab-backdrop"></div>'),a=this.$anchor.css("background-color");this.$anchor.append(o),this.offsetX=s.left-i/2+s.width/2,this.offsetY=n-s.bottom,t=i/o[0].clientWidth,this.btnBottom=s.bottom,this.btnLeft=s.left,this.btnWidth=s.width,this.$el.addClass("active"),this.$el.css({"text-align":"center",width:"100%",bottom:0,left:0,transform:"translateX("+this.offsetX+"px)",transition:"none"}),this.$anchor.css({transform:"translateY("+-this.offsetY+"px)",transition:"none"}),o.css({"background-color":a}),setTimeout(function(){e.$el.css({transform:"",transition:"transform .2s cubic-bezier(0.550, 0.085, 0.680, 0.530), background-color 0s linear .2s"}),e.$anchor.css({overflow:"visible",transform:"",transition:"transform .2s"}),setTimeout(function(){e.$el.css({overflow:"hidden","background-color":a}),o.css({transform:"scale("+t+")",transition:"transform .2s cubic-bezier(0.550, 0.055, 0.675, 0.190)"}),e.$menu.children("li").children("a").css({opacity:1}),e._handleDocumentClickBound=e._handleDocumentClick.bind(e),window.addEventListener("scroll",e._handleCloseBound,!0),document.body.addEventListener("click",e._handleDocumentClickBound,!0)},100)},0)}},{key:"_animateOutToolbar",value:function(){var t=this,e=window.innerWidth,i=window.innerHeight,n=this.$el.find(".fab-backdrop"),s=this.$anchor.css("background-color");this.offsetX=this.btnLeft-e/2+this.btnWidth/2,this.offsetY=i-this.btnBottom,this.$el.removeClass("active"),this.$el.css({"background-color":"transparent",transition:"none"}),this.$anchor.css({transition:"none"}),n.css({transform:"scale(0)","background-color":s}),this.$menu.children("li").children("a").css({opacity:""}),setTimeout(function(){n.remove(),t.$el.css({"text-align":"",width:"",bottom:"",left:"",overflow:"","background-color":"",transform:"translate3d("+-t.offsetX+"px,0,0)"}),t.$anchor.css({overflow:"",transform:"translate3d(0,"+t.offsetY+"px,0)"}),setTimeout(function(){t.$el.css({transform:"translate3d(0,0,0)",transition:"transform .2s"}),t.$anchor.css({transform:"translate3d(0,0,0)",transition:"transform .2s cubic-bezier(0.550, 0.055, 0.675, 0.190)"})},20)},200)}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_FloatingActionButton}},{key:"defaults",get:function(){return e}}]),n}();M.FloatingActionButton=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"floatingActionButton","M_FloatingActionButton")}(cash,M.anime),function(g){"use strict";var e={autoClose:!1,format:"mmm dd, yyyy",parse:null,defaultDate:null,setDefaultDate:!1,disableWeekends:!1,disableDayFn:null,firstDay:0,minDate:null,maxDate:null,yearRange:10,minYear:0,maxYear:9999,minMonth:void 0,maxMonth:void 0,startRange:null,endRange:null,isRTL:!1,showMonthAfterYear:!1,showDaysInNextAndPreviousMonths:!1,container:null,showClearBtn:!1,i18n:{cancel:"Cancel",clear:"Clear",done:"Ok",previousMonth:"‹",nextMonth:"›",months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],weekdaysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],weekdaysAbbrev:["S","M","T","W","T","F","S"]},events:[],onSelect:null,onOpen:null,onClose:null,onDraw:null},t=function(t){function B(t,e){_classCallCheck(this,B);var i=_possibleConstructorReturn(this,(B.__proto__||Object.getPrototypeOf(B)).call(this,B,t,e));(i.el.M_Datepicker=i).options=g.extend({},B.defaults,e),e&&e.hasOwnProperty("i18n")&&"object"==typeof e.i18n&&(i.options.i18n=g.extend({},B.defaults.i18n,e.i18n)),i.options.minDate&&i.options.minDate.setHours(0,0,0,0),i.options.maxDate&&i.options.maxDate.setHours(0,0,0,0),i.id=M.guid(),i._setupVariables(),i._insertHTMLIntoDOM(),i._setupModal(),i._setupEventHandlers(),i.options.defaultDate||(i.options.defaultDate=new Date(Date.parse(i.el.value)));var n=i.options.defaultDate;return B._isDate(n)?i.options.setDefaultDate?(i.setDate(n,!0),i.setInputValue()):i.gotoDate(n):i.gotoDate(new Date),i.isOpen=!1,i}return _inherits(B,Component),_createClass(B,[{key:"destroy",value:function(){this._removeEventHandlers(),this.modal.destroy(),g(this.modalEl).remove(),this.destroySelects(),this.el.M_Datepicker=void 0}},{key:"destroySelects",value:function(){var t=this.calendarEl.querySelector(".orig-select-year");t&&M.FormSelect.getInstance(t).destroy();var e=this.calendarEl.querySelector(".orig-select-month");e&&M.FormSelect.getInstance(e).destroy()}},{key:"_insertHTMLIntoDOM",value:function(){this.options.showClearBtn&&(g(this.clearBtn).css({visibility:""}),this.clearBtn.innerHTML=this.options.i18n.clear),this.doneBtn.innerHTML=this.options.i18n.done,this.cancelBtn.innerHTML=this.options.i18n.cancel,this.options.container?this.$modalEl.appendTo(this.options.container):this.$modalEl.insertBefore(this.el)}},{key:"_setupModal",value:function(){var t=this;this.modalEl.id="modal-"+this.id,this.modal=M.Modal.init(this.modalEl,{onCloseEnd:function(){t.isOpen=!1}})}},{key:"toString",value:function(t){var e=this;return t=t||this.options.format,B._isDate(this.date)?t.split(/(d{1,4}|m{1,4}|y{4}|yy|!.)/g).map(function(t){return e.formats[t]?e.formats[t]():t}).join(""):""}},{key:"setDate",value:function(t,e){if(!t)return this.date=null,this._renderDateDisplay(),this.draw();if("string"==typeof t&&(t=new Date(Date.parse(t))),B._isDate(t)){var i=this.options.minDate,n=this.options.maxDate;B._isDate(i)&&t<i?t=i:B._isDate(n)&&n<t&&(t=n),this.date=new Date(t.getTime()),this._renderDateDisplay(),B._setToStartOfDay(this.date),this.gotoDate(this.date),e||"function"!=typeof this.options.onSelect||this.options.onSelect.call(this,this.date)}}},{key:"setInputValue",value:function(){this.el.value=this.toString(),this.$el.trigger("change",{firedBy:this})}},{key:"_renderDateDisplay",value:function(){var t=B._isDate(this.date)?this.date:new Date,e=this.options.i18n,i=e.weekdaysShort[t.getDay()],n=e.monthsShort[t.getMonth()],s=t.getDate();this.yearTextEl.innerHTML=t.getFullYear(),this.dateTextEl.innerHTML=i+", "+n+" "+s}},{key:"gotoDate",value:function(t){var e=!0;if(B._isDate(t)){if(this.calendars){var i=new Date(this.calendars[0].year,this.calendars[0].month,1),n=new Date(this.calendars[this.calendars.length-1].year,this.calendars[this.calendars.length-1].month,1),s=t.getTime();n.setMonth(n.getMonth()+1),n.setDate(n.getDate()-1),e=s<i.getTime()||n.getTime()<s}e&&(this.calendars=[{month:t.getMonth(),year:t.getFullYear()}]),this.adjustCalendars()}}},{key:"adjustCalendars",value:function(){this.calendars[0]=this.adjustCalendar(this.calendars[0]),this.draw()}},{key:"adjustCalendar",value:function(t){return t.month<0&&(t.year-=Math.ceil(Math.abs(t.month)/12),t.month+=12),11<t.month&&(t.year+=Math.floor(Math.abs(t.month)/12),t.month-=12),t}},{key:"nextMonth",value:function(){this.calendars[0].month++,this.adjustCalendars()}},{key:"prevMonth",value:function(){this.calendars[0].month--,this.adjustCalendars()}},{key:"render",value:function(t,e,i){var n=this.options,s=new Date,o=B._getDaysInMonth(t,e),a=new Date(t,e,1).getDay(),r=[],l=[];B._setToStartOfDay(s),0<n.firstDay&&(a-=n.firstDay)<0&&(a+=7);for(var h=0===e?11:e-1,d=11===e?0:e+1,u=0===e?t-1:t,c=11===e?t+1:t,p=B._getDaysInMonth(u,h),v=o+a,f=v;7<f;)f-=7;v+=7-f;for(var m=!1,g=0,_=0;g<v;g++){var y=new Date(t,e,g-a+1),k=!!B._isDate(this.date)&&B._compareDates(y,this.date),b=B._compareDates(y,s),w=-1!==n.events.indexOf(y.toDateString()),C=g<a||o+a<=g,E=g-a+1,M=e,O=t,x=n.startRange&&B._compareDates(n.startRange,y),L=n.endRange&&B._compareDates(n.endRange,y),T=n.startRange&&n.endRange&&n.startRange<y&&y<n.endRange;C&&(g<a?(E=p+E,M=h,O=u):(E-=o,M=d,O=c));var $={day:E,month:M,year:O,hasEvent:w,isSelected:k,isToday:b,isDisabled:n.minDate&&y<n.minDate||n.maxDate&&y>n.maxDate||n.disableWeekends&&B._isWeekend(y)||n.disableDayFn&&n.disableDayFn(y),isEmpty:C,isStartRange:x,isEndRange:L,isInRange:T,showDaysInNextAndPreviousMonths:n.showDaysInNextAndPreviousMonths};l.push(this.renderDay($)),7==++_&&(r.push(this.renderRow(l,n.isRTL,m)),_=0,m=!(l=[]))}return this.renderTable(n,r,i)}},{key:"renderDay",value:function(t){var e=[],i="false";if(t.isEmpty){if(!t.showDaysInNextAndPreviousMonths)return'<td class="is-empty"></td>';e.push("is-outside-current-month"),e.push("is-selection-disabled")}return t.isDisabled&&e.push("is-disabled"),t.isToday&&e.push("is-today"),t.isSelected&&(e.push("is-selected"),i="true"),t.hasEvent&&e.push("has-event"),t.isInRange&&e.push("is-inrange"),t.isStartRange&&e.push("is-startrange"),t.isEndRange&&e.push("is-endrange"),'<td data-day="'+t.day+'" class="'+e.join(" ")+'" aria-selected="'+i+'"><button class="datepicker-day-button" type="button" data-year="'+t.year+'" data-month="'+t.month+'" data-day="'+t.day+'">'+t.day+"</button></td>"}},{key:"renderRow",value:function(t,e,i){return'<tr class="datepicker-row'+(i?" is-selected":"")+'">'+(e?t.reverse():t).join("")+"</tr>"}},{key:"renderTable",value:function(t,e,i){return'<div class="datepicker-table-wrapper"><table cellpadding="0" cellspacing="0" class="datepicker-table" role="grid" aria-labelledby="'+i+'">'+this.renderHead(t)+this.renderBody(e)+"</table></div>"}},{key:"renderHead",value:function(t){var e=void 0,i=[];for(e=0;e<7;e++)i.push('<th scope="col"><abbr title="'+this.renderDayName(t,e)+'">'+this.renderDayName(t,e,!0)+"</abbr></th>");return"<thead><tr>"+(t.isRTL?i.reverse():i).join("")+"</tr></thead>"}},{key:"renderBody",value:function(t){return"<tbody>"+t.join("")+"</tbody>"}},{key:"renderTitle",value:function(t,e,i,n,s,o){var a,r,l=void 0,h=void 0,d=void 0,u=this.options,c=i===u.minYear,p=i===u.maxYear,v='<div id="'+o+'" class="datepicker-controls" role="heading" aria-live="assertive">',f=!0,m=!0;for(d=[],l=0;l<12;l++)d.push('<option value="'+(i===s?l-e:12+l-e)+'"'+(l===n?' selected="selected"':"")+(c&&l<u.minMonth||p&&l>u.maxMonth?'disabled="disabled"':"")+">"+u.i18n.months[l]+"</option>");for(a='<select class="datepicker-select orig-select-month" tabindex="-1">'+d.join("")+"</select>",g.isArray(u.yearRange)?(l=u.yearRange[0],h=u.yearRange[1]+1):(l=i-u.yearRange,h=1+i+u.yearRange),d=[];l<h&&l<=u.maxYear;l++)l>=u.minYear&&d.push('<option value="'+l+'" '+(l===i?'selected="selected"':"")+">"+l+"</option>");r='<select class="datepicker-select orig-select-year" tabindex="-1">'+d.join("")+"</select>";v+='<button class="month-prev'+(f?"":" is-disabled")+'" type="button"><svg fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z"/><path d="M0-.5h24v24H0z" fill="none"/></svg></button>',v+='<div class="selects-container">',u.showMonthAfterYear?v+=r+a:v+=a+r,v+="</div>",c&&(0===n||u.minMonth>=n)&&(f=!1),p&&(11===n||u.maxMonth<=n)&&(m=!1);return(v+='<button class="month-next'+(m?"":" is-disabled")+'" type="button"><svg fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"/><path d="M0-.25h24v24H0z" fill="none"/></svg></button>')+"</div>"}},{key:"draw",value:function(t){if(this.isOpen||t){var e,i=this.options,n=i.minYear,s=i.maxYear,o=i.minMonth,a=i.maxMonth,r="";this._y<=n&&(this._y=n,!isNaN(o)&&this._m<o&&(this._m=o)),this._y>=s&&(this._y=s,!isNaN(a)&&this._m>a&&(this._m=a)),e="datepicker-title-"+Math.random().toString(36).replace(/[^a-z]+/g,"").substr(0,2);for(var l=0;l<1;l++)this._renderDateDisplay(),r+=this.renderTitle(this,l,this.calendars[l].year,this.calendars[l].month,this.calendars[0].year,e)+this.render(this.calendars[l].year,this.calendars[l].month,e);this.destroySelects(),this.calendarEl.innerHTML=r;var h=this.calendarEl.querySelector(".orig-select-year"),d=this.calendarEl.querySelector(".orig-select-month");M.FormSelect.init(h,{classes:"select-year",dropdownOptions:{container:document.body,constrainWidth:!1}}),M.FormSelect.init(d,{classes:"select-month",dropdownOptions:{container:document.body,constrainWidth:!1}}),h.addEventListener("change",this._handleYearChange.bind(this)),d.addEventListener("change",this._handleMonthChange.bind(this)),"function"==typeof this.options.onDraw&&this.options.onDraw(this)}}},{key:"_setupEventHandlers",value:function(){this._handleInputKeydownBound=this._handleInputKeydown.bind(this),this._handleInputClickBound=this._handleInputClick.bind(this),this._handleInputChangeBound=this._handleInputChange.bind(this),this._handleCalendarClickBound=this._handleCalendarClick.bind(this),this._finishSelectionBound=this._finishSelection.bind(this),this._handleMonthChange=this._handleMonthChange.bind(this),this._closeBound=this.close.bind(this),this.el.addEventListener("click",this._handleInputClickBound),this.el.addEventListener("keydown",this._handleInputKeydownBound),this.el.addEventListener("change",this._handleInputChangeBound),this.calendarEl.addEventListener("click",this._handleCalendarClickBound),this.doneBtn.addEventListener("click",this._finishSelectionBound),this.cancelBtn.addEventListener("click",this._closeBound),this.options.showClearBtn&&(this._handleClearClickBound=this._handleClearClick.bind(this),this.clearBtn.addEventListener("click",this._handleClearClickBound))}},{key:"_setupVariables",value:function(){var e=this;this.$modalEl=g(B._template),this.modalEl=this.$modalEl[0],this.calendarEl=this.modalEl.querySelector(".datepicker-calendar"),this.yearTextEl=this.modalEl.querySelector(".year-text"),this.dateTextEl=this.modalEl.querySelector(".date-text"),this.options.showClearBtn&&(this.clearBtn=this.modalEl.querySelector(".datepicker-clear")),this.doneBtn=this.modalEl.querySelector(".datepicker-done"),this.cancelBtn=this.modalEl.querySelector(".datepicker-cancel"),this.formats={d:function(){return e.date.getDate()},dd:function(){var t=e.date.getDate();return(t<10?"0":"")+t},ddd:function(){return e.options.i18n.weekdaysShort[e.date.getDay()]},dddd:function(){return e.options.i18n.weekdays[e.date.getDay()]},m:function(){return e.date.getMonth()+1},mm:function(){var t=e.date.getMonth()+1;return(t<10?"0":"")+t},mmm:function(){return e.options.i18n.monthsShort[e.date.getMonth()]},mmmm:function(){return e.options.i18n.months[e.date.getMonth()]},yy:function(){return(""+e.date.getFullYear()).slice(2)},yyyy:function(){return e.date.getFullYear()}}}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("click",this._handleInputClickBound),this.el.removeEventListener("keydown",this._handleInputKeydownBound),this.el.removeEventListener("change",this._handleInputChangeBound),this.calendarEl.removeEventListener("click",this._handleCalendarClickBound)}},{key:"_handleInputClick",value:function(){this.open()}},{key:"_handleInputKeydown",value:function(t){t.which===M.keys.ENTER&&(t.preventDefault(),this.open())}},{key:"_handleCalendarClick",value:function(t){if(this.isOpen){var e=g(t.target);e.hasClass("is-disabled")||(!e.hasClass("datepicker-day-button")||e.hasClass("is-empty")||e.parent().hasClass("is-disabled")?e.closest(".month-prev").length?this.prevMonth():e.closest(".month-next").length&&this.nextMonth():(this.setDate(new Date(t.target.getAttribute("data-year"),t.target.getAttribute("data-month"),t.target.getAttribute("data-day"))),this.options.autoClose&&this._finishSelection()))}}},{key:"_handleClearClick",value:function(){this.date=null,this.setInputValue(),this.close()}},{key:"_handleMonthChange",value:function(t){this.gotoMonth(t.target.value)}},{key:"_handleYearChange",value:function(t){this.gotoYear(t.target.value)}},{key:"gotoMonth",value:function(t){isNaN(t)||(this.calendars[0].month=parseInt(t,10),this.adjustCalendars())}},{key:"gotoYear",value:function(t){isNaN(t)||(this.calendars[0].year=parseInt(t,10),this.adjustCalendars())}},{key:"_handleInputChange",value:function(t){var e=void 0;t.firedBy!==this&&(e=this.options.parse?this.options.parse(this.el.value,this.options.format):new Date(Date.parse(this.el.value)),B._isDate(e)&&this.setDate(e))}},{key:"renderDayName",value:function(t,e,i){for(e+=t.firstDay;7<=e;)e-=7;return i?t.i18n.weekdaysAbbrev[e]:t.i18n.weekdays[e]}},{key:"_finishSelection",value:function(){this.setInputValue(),this.close()}},{key:"open",value:function(){if(!this.isOpen)return this.isOpen=!0,"function"==typeof this.options.onOpen&&this.options.onOpen.call(this),this.draw(),this.modal.open(),this}},{key:"close",value:function(){if(this.isOpen)return this.isOpen=!1,"function"==typeof this.options.onClose&&this.options.onClose.call(this),this.modal.close(),this}}],[{key:"init",value:function(t,e){return _get(B.__proto__||Object.getPrototypeOf(B),"init",this).call(this,this,t,e)}},{key:"_isDate",value:function(t){return/Date/.test(Object.prototype.toString.call(t))&&!isNaN(t.getTime())}},{key:"_isWeekend",value:function(t){var e=t.getDay();return 0===e||6===e}},{key:"_setToStartOfDay",value:function(t){B._isDate(t)&&t.setHours(0,0,0,0)}},{key:"_getDaysInMonth",value:function(t,e){return[31,B._isLeapYear(t)?29:28,31,30,31,30,31,31,30,31,30,31][e]}},{key:"_isLeapYear",value:function(t){return t%4==0&&t%100!=0||t%400==0}},{key:"_compareDates",value:function(t,e){return t.getTime()===e.getTime()}},{key:"_setToStartOfDay",value:function(t){B._isDate(t)&&t.setHours(0,0,0,0)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Datepicker}},{key:"defaults",get:function(){return e}}]),B}();t._template=['<div class= "modal datepicker-modal">','<div class="modal-content datepicker-container">','<div class="datepicker-date-display">','<span class="year-text"></span>','<span class="date-text"></span>',"</div>",'<div class="datepicker-calendar-container">','<div class="datepicker-calendar"></div>','<div class="datepicker-footer">','<button class="btn-flat datepicker-clear waves-effect" style="visibility: hidden;" type="button"></button>','<div class="confirmation-btns">','<button class="btn-flat datepicker-cancel waves-effect" type="button"></button>','<button class="btn-flat datepicker-done waves-effect" type="button"></button>',"</div>","</div>","</div>","</div>","</div>"].join(""),M.Datepicker=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"datepicker","M_Datepicker")}(cash),function(h){"use strict";var e={dialRadius:135,outerRadius:105,innerRadius:70,tickRadius:20,duration:350,container:null,defaultTime:"now",fromNow:0,showClearBtn:!1,i18n:{cancel:"Cancel",clear:"Clear",done:"Ok"},autoClose:!1,twelveHour:!0,vibrate:!0,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null,onSelect:null},t=function(t){function f(t,e){_classCallCheck(this,f);var i=_possibleConstructorReturn(this,(f.__proto__||Object.getPrototypeOf(f)).call(this,f,t,e));return(i.el.M_Timepicker=i).options=h.extend({},f.defaults,e),i.id=M.guid(),i._insertHTMLIntoDOM(),i._setupModal(),i._setupVariables(),i._setupEventHandlers(),i._clockSetup(),i._pickerSetup(),i}return _inherits(f,Component),_createClass(f,[{key:"destroy",value:function(){this._removeEventHandlers(),this.modal.destroy(),h(this.modalEl).remove(),this.el.M_Timepicker=void 0}},{key:"_setupEventHandlers",value:function(){this._handleInputKeydownBound=this._handleInputKeydown.bind(this),this._handleInputClickBound=this._handleInputClick.bind(this),this._handleClockClickStartBound=this._handleClockClickStart.bind(this),this._handleDocumentClickMoveBound=this._handleDocumentClickMove.bind(this),this._handleDocumentClickEndBound=this._handleDocumentClickEnd.bind(this),this.el.addEventListener("click",this._handleInputClickBound),this.el.addEventListener("keydown",this._handleInputKeydownBound),this.plate.addEventListener("mousedown",this._handleClockClickStartBound),this.plate.addEventListener("touchstart",this._handleClockClickStartBound),h(this.spanHours).on("click",this.showView.bind(this,"hours")),h(this.spanMinutes).on("click",this.showView.bind(this,"minutes"))}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("click",this._handleInputClickBound),this.el.removeEventListener("keydown",this._handleInputKeydownBound)}},{key:"_handleInputClick",value:function(){this.open()}},{key:"_handleInputKeydown",value:function(t){t.which===M.keys.ENTER&&(t.preventDefault(),this.open())}},{key:"_handleClockClickStart",value:function(t){t.preventDefault();var e=this.plate.getBoundingClientRect(),i=e.left,n=e.top;this.x0=i+this.options.dialRadius,this.y0=n+this.options.dialRadius,this.moved=!1;var s=f._Pos(t);this.dx=s.x-this.x0,this.dy=s.y-this.y0,this.setHand(this.dx,this.dy,!1),document.addEventListener("mousemove",this._handleDocumentClickMoveBound),document.addEventListener("touchmove",this._handleDocumentClickMoveBound),document.addEventListener("mouseup",this._handleDocumentClickEndBound),document.addEventListener("touchend",this._handleDocumentClickEndBound)}},{key:"_handleDocumentClickMove",value:function(t){t.preventDefault();var e=f._Pos(t),i=e.x-this.x0,n=e.y-this.y0;this.moved=!0,this.setHand(i,n,!1,!0)}},{key:"_handleDocumentClickEnd",value:function(t){var e=this;t.preventDefault(),document.removeEventListener("mouseup",this._handleDocumentClickEndBound),document.removeEventListener("touchend",this._handleDocumentClickEndBound);var i=f._Pos(t),n=i.x-this.x0,s=i.y-this.y0;this.moved&&n===this.dx&&s===this.dy&&this.setHand(n,s),"hours"===this.currentView?this.showView("minutes",this.options.duration/2):this.options.autoClose&&(h(this.minutesView).addClass("timepicker-dial-out"),setTimeout(function(){e.done()},this.options.duration/2)),"function"==typeof this.options.onSelect&&this.options.onSelect.call(this,this.hours,this.minutes),document.removeEventListener("mousemove",this._handleDocumentClickMoveBound),document.removeEventListener("touchmove",this._handleDocumentClickMoveBound)}},{key:"_insertHTMLIntoDOM",value:function(){this.$modalEl=h(f._template),this.modalEl=this.$modalEl[0],this.modalEl.id="modal-"+this.id;var t=document.querySelector(this.options.container);this.options.container&&t?this.$modalEl.appendTo(t):this.$modalEl.insertBefore(this.el)}},{key:"_setupModal",value:function(){var t=this;this.modal=M.Modal.init(this.modalEl,{onOpenStart:this.options.onOpenStart,onOpenEnd:this.options.onOpenEnd,onCloseStart:this.options.onCloseStart,onCloseEnd:function(){"function"==typeof t.options.onCloseEnd&&t.options.onCloseEnd.call(t),t.isOpen=!1}})}},{key:"_setupVariables",value:function(){this.currentView="hours",this.vibrate=navigator.vibrate?"vibrate":navigator.webkitVibrate?"webkitVibrate":null,this._canvas=this.modalEl.querySelector(".timepicker-canvas"),this.plate=this.modalEl.querySelector(".timepicker-plate"),this.hoursView=this.modalEl.querySelector(".timepicker-hours"),this.minutesView=this.modalEl.querySelector(".timepicker-minutes"),this.spanHours=this.modalEl.querySelector(".timepicker-span-hours"),this.spanMinutes=this.modalEl.querySelector(".timepicker-span-minutes"),this.spanAmPm=this.modalEl.querySelector(".timepicker-span-am-pm"),this.footer=this.modalEl.querySelector(".timepicker-footer"),this.amOrPm="PM"}},{key:"_pickerSetup",value:function(){var t=h('<button class="btn-flat timepicker-clear waves-effect" style="visibility: hidden;" type="button" tabindex="'+(this.options.twelveHour?"3":"1")+'">'+this.options.i18n.clear+"</button>").appendTo(this.footer).on("click",this.clear.bind(this));this.options.showClearBtn&&t.css({visibility:""});var e=h('<div class="confirmation-btns"></div>');h('<button class="btn-flat timepicker-close waves-effect" type="button" tabindex="'+(this.options.twelveHour?"3":"1")+'">'+this.options.i18n.cancel+"</button>").appendTo(e).on("click",this.close.bind(this)),h('<button class="btn-flat timepicker-close waves-effect" type="button" tabindex="'+(this.options.twelveHour?"3":"1")+'">'+this.options.i18n.done+"</button>").appendTo(e).on("click",this.done.bind(this)),e.appendTo(this.footer)}},{key:"_clockSetup",value:function(){this.options.twelveHour&&(this.$amBtn=h('<div class="am-btn">AM</div>'),this.$pmBtn=h('<div class="pm-btn">PM</div>'),this.$amBtn.on("click",this._handleAmPmClick.bind(this)).appendTo(this.spanAmPm),this.$pmBtn.on("click",this._handleAmPmClick.bind(this)).appendTo(this.spanAmPm)),this._buildHoursView(),this._buildMinutesView(),this._buildSVGClock()}},{key:"_buildSVGClock",value:function(){var t=this.options.dialRadius,e=this.options.tickRadius,i=2*t,n=f._createSVGEl("svg");n.setAttribute("class","timepicker-svg"),n.setAttribute("width",i),n.setAttribute("height",i);var s=f._createSVGEl("g");s.setAttribute("transform","translate("+t+","+t+")");var o=f._createSVGEl("circle");o.setAttribute("class","timepicker-canvas-bearing"),o.setAttribute("cx",0),o.setAttribute("cy",0),o.setAttribute("r",4);var a=f._createSVGEl("line");a.setAttribute("x1",0),a.setAttribute("y1",0);var r=f._createSVGEl("circle");r.setAttribute("class","timepicker-canvas-bg"),r.setAttribute("r",e),s.appendChild(a),s.appendChild(r),s.appendChild(o),n.appendChild(s),this._canvas.appendChild(n),this.hand=a,this.bg=r,this.bearing=o,this.g=s}},{key:"_buildHoursView",value:function(){var t=h('<div class="timepicker-tick"></div>');if(this.options.twelveHour)for(var e=1;e<13;e+=1){var i=t.clone(),n=e/6*Math.PI,s=this.options.outerRadius;i.css({left:this.options.dialRadius+Math.sin(n)*s-this.options.tickRadius+"px",top:this.options.dialRadius-Math.cos(n)*s-this.options.tickRadius+"px"}),i.html(0===e?"00":e),this.hoursView.appendChild(i[0])}else for(var o=0;o<24;o+=1){var a=t.clone(),r=o/6*Math.PI,l=0<o&&o<13?this.options.innerRadius:this.options.outerRadius;a.css({left:this.options.dialRadius+Math.sin(r)*l-this.options.tickRadius+"px",top:this.options.dialRadius-Math.cos(r)*l-this.options.tickRadius+"px"}),a.html(0===o?"00":o),this.hoursView.appendChild(a[0])}}},{key:"_buildMinutesView",value:function(){for(var t=h('<div class="timepicker-tick"></div>'),e=0;e<60;e+=5){var i=t.clone(),n=e/30*Math.PI;i.css({left:this.options.dialRadius+Math.sin(n)*this.options.outerRadius-this.options.tickRadius+"px",top:this.options.dialRadius-Math.cos(n)*this.options.outerRadius-this.options.tickRadius+"px"}),i.html(f._addLeadingZero(e)),this.minutesView.appendChild(i[0])}}},{key:"_handleAmPmClick",value:function(t){var e=h(t.target);this.amOrPm=e.hasClass("am-btn")?"AM":"PM",this._updateAmPmView()}},{key:"_updateAmPmView",value:function(){this.options.twelveHour&&(this.$amBtn.toggleClass("text-primary","AM"===this.amOrPm),this.$pmBtn.toggleClass("text-primary","PM"===this.amOrPm))}},{key:"_updateTimeFromInput",value:function(){var t=((this.el.value||this.options.defaultTime||"")+"").split(":");if(this.options.twelveHour&&void 0!==t[1]&&(0<t[1].toUpperCase().indexOf("AM")?this.amOrPm="AM":this.amOrPm="PM",t[1]=t[1].replace("AM","").replace("PM","")),"now"===t[0]){var e=new Date(+new Date+this.options.fromNow);t=[e.getHours(),e.getMinutes()],this.options.twelveHour&&(this.amOrPm=12<=t[0]&&t[0]<24?"PM":"AM")}this.hours=+t[0]||0,this.minutes=+t[1]||0,this.spanHours.innerHTML=this.hours,this.spanMinutes.innerHTML=f._addLeadingZero(this.minutes),this._updateAmPmView()}},{key:"showView",value:function(t,e){"minutes"===t&&h(this.hoursView).css("visibility");var i="hours"===t,n=i?this.hoursView:this.minutesView,s=i?this.minutesView:this.hoursView;this.currentView=t,h(this.spanHours).toggleClass("text-primary",i),h(this.spanMinutes).toggleClass("text-primary",!i),s.classList.add("timepicker-dial-out"),h(n).css("visibility","visible").removeClass("timepicker-dial-out"),this.resetClock(e),clearTimeout(this.toggleViewTimer),this.toggleViewTimer=setTimeout(function(){h(s).css("visibility","hidden")},this.options.duration)}},{key:"resetClock",value:function(t){var e=this.currentView,i=this[e],n="hours"===e,s=i*(Math.PI/(n?6:30)),o=n&&0<i&&i<13?this.options.innerRadius:this.options.outerRadius,a=Math.sin(s)*o,r=-Math.cos(s)*o,l=this;t?(h(this.canvas).addClass("timepicker-canvas-out"),setTimeout(function(){h(l.canvas).removeClass("timepicker-canvas-out"),l.setHand(a,r)},t)):this.setHand(a,r)}},{key:"setHand",value:function(t,e,i){var n=this,s=Math.atan2(t,-e),o="hours"===this.currentView,a=Math.PI/(o||i?6:30),r=Math.sqrt(t*t+e*e),l=o&&r<(this.options.outerRadius+this.options.innerRadius)/2,h=l?this.options.innerRadius:this.options.outerRadius;this.options.twelveHour&&(h=this.options.outerRadius),s<0&&(s=2*Math.PI+s);var d=Math.round(s/a);s=d*a,this.options.twelveHour?o?0===d&&(d=12):(i&&(d*=5),60===d&&(d=0)):o?(12===d&&(d=0),d=l?0===d?12:d:0===d?0:d+12):(i&&(d*=5),60===d&&(d=0)),this[this.currentView]!==d&&this.vibrate&&this.options.vibrate&&(this.vibrateTimer||(navigator[this.vibrate](10),this.vibrateTimer=setTimeout(function(){n.vibrateTimer=null},100))),this[this.currentView]=d,o?this.spanHours.innerHTML=d:this.spanMinutes.innerHTML=f._addLeadingZero(d);var u=Math.sin(s)*(h-this.options.tickRadius),c=-Math.cos(s)*(h-this.options.tickRadius),p=Math.sin(s)*h,v=-Math.cos(s)*h;this.hand.setAttribute("x2",u),this.hand.setAttribute("y2",c),this.bg.setAttribute("cx",p),this.bg.setAttribute("cy",v)}},{key:"open",value:function(){this.isOpen||(this.isOpen=!0,this._updateTimeFromInput(),this.showView("hours"),this.modal.open())}},{key:"close",value:function(){this.isOpen&&(this.isOpen=!1,this.modal.close())}},{key:"done",value:function(t,e){var i=this.el.value,n=e?"":f._addLeadingZero(this.hours)+":"+f._addLeadingZero(this.minutes);this.time=n,!e&&this.options.twelveHour&&(n=n+" "+this.amOrPm),(this.el.value=n)!==i&&this.$el.trigger("change"),this.close(),this.el.focus()}},{key:"clear",value:function(){this.done(null,!0)}}],[{key:"init",value:function(t,e){return _get(f.__proto__||Object.getPrototypeOf(f),"init",this).call(this,this,t,e)}},{key:"_addLeadingZero",value:function(t){return(t<10?"0":"")+t}},{key:"_createSVGEl",value:function(t){return document.createElementNS("http://www.w3.org/2000/svg",t)}},{key:"_Pos",value:function(t){return t.targetTouches&&1<=t.targetTouches.length?{x:t.targetTouches[0].clientX,y:t.targetTouches[0].clientY}:{x:t.clientX,y:t.clientY}}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Timepicker}},{key:"defaults",get:function(){return e}}]),f}();t._template=['<div class= "modal timepicker-modal">','<div class="modal-content timepicker-container">','<div class="timepicker-digital-display">','<div class="timepicker-text-container">','<div class="timepicker-display-column">','<span class="timepicker-span-hours text-primary"></span>',":",'<span class="timepicker-span-minutes"></span>',"</div>",'<div class="timepicker-display-column timepicker-display-am-pm">','<div class="timepicker-span-am-pm"></div>',"</div>","</div>","</div>",'<div class="timepicker-analog-display">','<div class="timepicker-plate">','<div class="timepicker-canvas"></div>','<div class="timepicker-dial timepicker-hours"></div>','<div class="timepicker-dial timepicker-minutes timepicker-dial-out"></div>',"</div>",'<div class="timepicker-footer"></div>',"</div>","</div>","</div>"].join(""),M.Timepicker=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"timepicker","M_Timepicker")}(cash),function(s){"use strict";var e={},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_CharacterCounter=i).options=s.extend({},n.defaults,e),i.isInvalid=!1,i.isValidLength=!1,i._setupCounter(),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.CharacterCounter=void 0,this._removeCounter()}},{key:"_setupEventHandlers",value:function(){this._handleUpdateCounterBound=this.updateCounter.bind(this),this.el.addEventListener("focus",this._handleUpdateCounterBound,!0),this.el.addEventListener("input",this._handleUpdateCounterBound,!0)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("focus",this._handleUpdateCounterBound,!0),this.el.removeEventListener("input",this._handleUpdateCounterBound,!0)}},{key:"_setupCounter",value:function(){this.counterEl=document.createElement("span"),s(this.counterEl).addClass("character-counter").css({float:"right","font-size":"12px",height:1}),this.$el.parent().append(this.counterEl)}},{key:"_removeCounter",value:function(){s(this.counterEl).remove()}},{key:"updateCounter",value:function(){var t=+this.$el.attr("data-length"),e=this.el.value.length;this.isValidLength=e<=t;var i=e;t&&(i+="/"+t,this._validateInput()),s(this.counterEl).html(i)}},{key:"_validateInput",value:function(){this.isValidLength&&this.isInvalid?(this.isInvalid=!1,this.$el.removeClass("invalid")):this.isValidLength||this.isInvalid||(this.isInvalid=!0,this.$el.removeClass("valid"),this.$el.addClass("invalid"))}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_CharacterCounter}},{key:"defaults",get:function(){return e}}]),n}();M.CharacterCounter=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"characterCounter","M_CharacterCounter")}(cash),function(b){"use strict";var e={duration:200,dist:-100,shift:0,padding:0,numVisible:5,fullWidth:!1,indicators:!1,noWrap:!1,onCycleTo:null},t=function(t){function i(t,e){_classCallCheck(this,i);var n=_possibleConstructorReturn(this,(i.__proto__||Object.getPrototypeOf(i)).call(this,i,t,e));return(n.el.M_Carousel=n).options=b.extend({},i.defaults,e),n.hasMultipleSlides=1<n.$el.find(".carousel-item").length,n.showIndicators=n.options.indicators&&n.hasMultipleSlides,n.noWrap=n.options.noWrap||!n.hasMultipleSlides,n.pressed=!1,n.dragged=!1,n.offset=n.target=0,n.images=[],n.itemWidth=n.$el.find(".carousel-item").first().innerWidth(),n.itemHeight=n.$el.find(".carousel-item").first().innerHeight(),n.dim=2*n.itemWidth+n.options.padding||1,n._autoScrollBound=n._autoScroll.bind(n),n._trackBound=n._track.bind(n),n.options.fullWidth&&(n.options.dist=0,n._setCarouselHeight(),n.showIndicators&&n.$el.find(".carousel-fixed-item").addClass("with-indicators")),n.$indicators=b('<ul class="indicators"></ul>'),n.$el.find(".carousel-item").each(function(t,e){if(n.images.push(t),n.showIndicators){var i=b('<li class="indicator-item"></li>');0===e&&i[0].classList.add("active"),n.$indicators.append(i)}}),n.showIndicators&&n.$el.append(n.$indicators),n.count=n.images.length,n.options.numVisible=Math.min(n.count,n.options.numVisible),n.xform="transform",["webkit","Moz","O","ms"].every(function(t){var e=t+"Transform";return void 0===document.body.style[e]||(n.xform=e,!1)}),n._setupEventHandlers(),n._scroll(n.offset),n}return _inherits(i,Component),_createClass(i,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.M_Carousel=void 0}},{key:"_setupEventHandlers",value:function(){var i=this;this._handleCarouselTapBound=this._handleCarouselTap.bind(this),this._handleCarouselDragBound=this._handleCarouselDrag.bind(this),this._handleCarouselReleaseBound=this._handleCarouselRelease.bind(this),this._handleCarouselClickBound=this._handleCarouselClick.bind(this),void 0!==window.ontouchstart&&(this.el.addEventListener("touchstart",this._handleCarouselTapBound),this.el.addEventListener("touchmove",this._handleCarouselDragBound),this.el.addEventListener("touchend",this._handleCarouselReleaseBound)),this.el.addEventListener("mousedown",this._handleCarouselTapBound),this.el.addEventListener("mousemove",this._handleCarouselDragBound),this.el.addEventListener("mouseup",this._handleCarouselReleaseBound),this.el.addEventListener("mouseleave",this._handleCarouselReleaseBound),this.el.addEventListener("click",this._handleCarouselClickBound),this.showIndicators&&this.$indicators&&(this._handleIndicatorClickBound=this._handleIndicatorClick.bind(this),this.$indicators.find(".indicator-item").each(function(t,e){t.addEventListener("click",i._handleIndicatorClickBound)}));var t=M.throttle(this._handleResize,200);this._handleThrottledResizeBound=t.bind(this),window.addEventListener("resize",this._handleThrottledResizeBound)}},{key:"_removeEventHandlers",value:function(){var i=this;void 0!==window.ontouchstart&&(this.el.removeEventListener("touchstart",this._handleCarouselTapBound),this.el.removeEventListener("touchmove",this._handleCarouselDragBound),this.el.removeEventListener("touchend",this._handleCarouselReleaseBound)),this.el.removeEventListener("mousedown",this._handleCarouselTapBound),this.el.removeEventListener("mousemove",this._handleCarouselDragBound),this.el.removeEventListener("mouseup",this._handleCarouselReleaseBound),this.el.removeEventListener("mouseleave",this._handleCarouselReleaseBound),this.el.removeEventListener("click",this._handleCarouselClickBound),this.showIndicators&&this.$indicators&&this.$indicators.find(".indicator-item").each(function(t,e){t.removeEventListener("click",i._handleIndicatorClickBound)}),window.removeEventListener("resize",this._handleThrottledResizeBound)}},{key:"_handleCarouselTap",value:function(t){"mousedown"===t.type&&b(t.target).is("img")&&t.preventDefault(),this.pressed=!0,this.dragged=!1,this.verticalDragged=!1,this.reference=this._xpos(t),this.referenceY=this._ypos(t),this.velocity=this.amplitude=0,this.frame=this.offset,this.timestamp=Date.now(),clearInterval(this.ticker),this.ticker=setInterval(this._trackBound,100)}},{key:"_handleCarouselDrag",value:function(t){var e=void 0,i=void 0,n=void 0;if(this.pressed)if(e=this._xpos(t),i=this._ypos(t),n=this.reference-e,Math.abs(this.referenceY-i)<30&&!this.verticalDragged)(2<n||n<-2)&&(this.dragged=!0,this.reference=e,this._scroll(this.offset+n));else{if(this.dragged)return t.preventDefault(),t.stopPropagation(),!1;this.verticalDragged=!0}if(this.dragged)return t.preventDefault(),t.stopPropagation(),!1}},{key:"_handleCarouselRelease",value:function(t){if(this.pressed)return this.pressed=!1,clearInterval(this.ticker),this.target=this.offset,(10<this.velocity||this.velocity<-10)&&(this.amplitude=.9*this.velocity,this.target=this.offset+this.amplitude),this.target=Math.round(this.target/this.dim)*this.dim,this.noWrap&&(this.target>=this.dim*(this.count-1)?this.target=this.dim*(this.count-1):this.target<0&&(this.target=0)),this.amplitude=this.target-this.offset,this.timestamp=Date.now(),requestAnimationFrame(this._autoScrollBound),this.dragged&&(t.preventDefault(),t.stopPropagation()),!1}},{key:"_handleCarouselClick",value:function(t){if(this.dragged)return t.preventDefault(),t.stopPropagation(),!1;if(!this.options.fullWidth){var e=b(t.target).closest(".carousel-item").index();0!==this._wrap(this.center)-e&&(t.preventDefault(),t.stopPropagation()),this._cycleTo(e)}}},{key:"_handleIndicatorClick",value:function(t){t.stopPropagation();var e=b(t.target).closest(".indicator-item");e.length&&this._cycleTo(e.index())}},{key:"_handleResize",value:function(t){this.options.fullWidth?(this.itemWidth=this.$el.find(".carousel-item").first().innerWidth(),this.imageHeight=this.$el.find(".carousel-item.active").height(),this.dim=2*this.itemWidth+this.options.padding,this.offset=2*this.center*this.itemWidth,this.target=this.offset,this._setCarouselHeight(!0)):this._scroll()}},{key:"_setCarouselHeight",value:function(t){var i=this,e=this.$el.find(".carousel-item.active").length?this.$el.find(".carousel-item.active").first():this.$el.find(".carousel-item").first(),n=e.find("img").first();if(n.length)if(n[0].complete){var s=n.height();if(0<s)this.$el.css("height",s+"px");else{var o=n[0].naturalWidth,a=n[0].naturalHeight,r=this.$el.width()/o*a;this.$el.css("height",r+"px")}}else n.one("load",function(t,e){i.$el.css("height",t.offsetHeight+"px")});else if(!t){var l=e.height();this.$el.css("height",l+"px")}}},{key:"_xpos",value:function(t){return t.targetTouches&&1<=t.targetTouches.length?t.targetTouches[0].clientX:t.clientX}},{key:"_ypos",value:function(t){return t.targetTouches&&1<=t.targetTouches.length?t.targetTouches[0].clientY:t.clientY}},{key:"_wrap",value:function(t){return t>=this.count?t%this.count:t<0?this._wrap(this.count+t%this.count):t}},{key:"_track",value:function(){var t,e,i,n;e=(t=Date.now())-this.timestamp,this.timestamp=t,i=this.offset-this.frame,this.frame=this.offset,n=1e3*i/(1+e),this.velocity=.8*n+.2*this.velocity}},{key:"_autoScroll",value:function(){var t=void 0,e=void 0;this.amplitude&&(t=Date.now()-this.timestamp,2<(e=this.amplitude*Math.exp(-t/this.options.duration))||e<-2?(this._scroll(this.target-e),requestAnimationFrame(this._autoScrollBound)):this._scroll(this.target))}},{key:"_scroll",value:function(t){var e=this;this.$el.hasClass("scrolling")||this.el.classList.add("scrolling"),null!=this.scrollingTimeout&&window.clearTimeout(this.scrollingTimeout),this.scrollingTimeout=window.setTimeout(function(){e.$el.removeClass("scrolling")},this.options.duration);var i,n,s,o,a=void 0,r=void 0,l=void 0,h=void 0,d=void 0,u=void 0,c=this.center,p=1/this.options.numVisible;if(this.offset="number"==typeof t?t:this.offset,this.center=Math.floor((this.offset+this.dim/2)/this.dim),o=-(s=(n=this.offset-this.center*this.dim)<0?1:-1)*n*2/this.dim,i=this.count>>1,this.options.fullWidth?(l="translateX(0)",u=1):(l="translateX("+(this.el.clientWidth-this.itemWidth)/2+"px) ",l+="translateY("+(this.el.clientHeight-this.itemHeight)/2+"px)",u=1-p*o),this.showIndicators){var v=this.center%this.count,f=this.$indicators.find(".indicator-item.active");f.index()!==v&&(f.removeClass("active"),this.$indicators.find(".indicator-item").eq(v)[0].classList.add("active"))}if(!this.noWrap||0<=this.center&&this.center<this.count){r=this.images[this._wrap(this.center)],b(r).hasClass("active")||(this.$el.find(".carousel-item").removeClass("active"),r.classList.add("active"));var m=l+" translateX("+-n/2+"px) translateX("+s*this.options.shift*o*a+"px) translateZ("+this.options.dist*o+"px)";this._updateItemStyle(r,u,0,m)}for(a=1;a<=i;++a){if(this.options.fullWidth?(h=this.options.dist,d=a===i&&n<0?1-o:1):(h=this.options.dist*(2*a+o*s),d=1-p*(2*a+o*s)),!this.noWrap||this.center+a<this.count){r=this.images[this._wrap(this.center+a)];var g=l+" translateX("+(this.options.shift+(this.dim*a-n)/2)+"px) translateZ("+h+"px)";this._updateItemStyle(r,d,-a,g)}if(this.options.fullWidth?(h=this.options.dist,d=a===i&&0<n?1-o:1):(h=this.options.dist*(2*a-o*s),d=1-p*(2*a-o*s)),!this.noWrap||0<=this.center-a){r=this.images[this._wrap(this.center-a)];var _=l+" translateX("+(-this.options.shift+(-this.dim*a-n)/2)+"px) translateZ("+h+"px)";this._updateItemStyle(r,d,-a,_)}}if(!this.noWrap||0<=this.center&&this.center<this.count){r=this.images[this._wrap(this.center)];var y=l+" translateX("+-n/2+"px) translateX("+s*this.options.shift*o+"px) translateZ("+this.options.dist*o+"px)";this._updateItemStyle(r,u,0,y)}var k=this.$el.find(".carousel-item").eq(this._wrap(this.center));c!==this.center&&"function"==typeof this.options.onCycleTo&&this.options.onCycleTo.call(this,k[0],this.dragged),"function"==typeof this.oneTimeCallback&&(this.oneTimeCallback.call(this,k[0],this.dragged),this.oneTimeCallback=null)}},{key:"_updateItemStyle",value:function(t,e,i,n){t.style[this.xform]=n,t.style.zIndex=i,t.style.opacity=e,t.style.visibility="visible"}},{key:"_cycleTo",value:function(t,e){var i=this.center%this.count-t;this.noWrap||(i<0?Math.abs(i+this.count)<Math.abs(i)&&(i+=this.count):0<i&&Math.abs(i-this.count)<i&&(i-=this.count)),this.target=this.dim*Math.round(this.offset/this.dim),i<0?this.target+=this.dim*Math.abs(i):0<i&&(this.target-=this.dim*i),"function"==typeof e&&(this.oneTimeCallback=e),this.offset!==this.target&&(this.amplitude=this.target-this.offset,this.timestamp=Date.now(),requestAnimationFrame(this._autoScrollBound))}},{key:"next",value:function(t){(void 0===t||isNaN(t))&&(t=1);var e=this.center+t;if(e>=this.count||e<0){if(this.noWrap)return;e=this._wrap(e)}this._cycleTo(e)}},{key:"prev",value:function(t){(void 0===t||isNaN(t))&&(t=1);var e=this.center-t;if(e>=this.count||e<0){if(this.noWrap)return;e=this._wrap(e)}this._cycleTo(e)}},{key:"set",value:function(t,e){if((void 0===t||isNaN(t))&&(t=0),t>this.count||t<0){if(this.noWrap)return;t=this._wrap(t)}this._cycleTo(t,e)}}],[{key:"init",value:function(t,e){return _get(i.__proto__||Object.getPrototypeOf(i),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Carousel}},{key:"defaults",get:function(){return e}}]),i}();M.Carousel=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"carousel","M_Carousel")}(cash),function(S){"use strict";var e={onOpen:void 0,onClose:void 0},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_TapTarget=i).options=S.extend({},n.defaults,e),i.isOpen=!1,i.$origin=S("#"+i.$el.attr("data-target")),i._setup(),i._calculatePositioning(),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.TapTarget=void 0}},{key:"_setupEventHandlers",value:function(){this._handleDocumentClickBound=this._handleDocumentClick.bind(this),this._handleTargetClickBound=this._handleTargetClick.bind(this),this._handleOriginClickBound=this._handleOriginClick.bind(this),this.el.addEventListener("click",this._handleTargetClickBound),this.originEl.addEventListener("click",this._handleOriginClickBound);var t=M.throttle(this._handleResize,200);this._handleThrottledResizeBound=t.bind(this),window.addEventListener("resize",this._handleThrottledResizeBound)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("click",this._handleTargetClickBound),this.originEl.removeEventListener("click",this._handleOriginClickBound),window.removeEventListener("resize",this._handleThrottledResizeBound)}},{key:"_handleTargetClick",value:function(t){this.open()}},{key:"_handleOriginClick",value:function(t){this.close()}},{key:"_handleResize",value:function(t){this._calculatePositioning()}},{key:"_handleDocumentClick",value:function(t){S(t.target).closest(".tap-target-wrapper").length||(this.close(),t.preventDefault(),t.stopPropagation())}},{key:"_setup",value:function(){this.wrapper=this.$el.parent()[0],this.waveEl=S(this.wrapper).find(".tap-target-wave")[0],this.originEl=S(this.wrapper).find(".tap-target-origin")[0],this.contentEl=this.$el.find(".tap-target-content")[0],S(this.wrapper).hasClass(".tap-target-wrapper")||(this.wrapper=document.createElement("div"),this.wrapper.classList.add("tap-target-wrapper"),this.$el.before(S(this.wrapper)),this.wrapper.append(this.el)),this.contentEl||(this.contentEl=document.createElement("div"),this.contentEl.classList.add("tap-target-content"),this.$el.append(this.contentEl)),this.waveEl||(this.waveEl=document.createElement("div"),this.waveEl.classList.add("tap-target-wave"),this.originEl||(this.originEl=this.$origin.clone(!0,!0),this.originEl.addClass("tap-target-origin"),this.originEl.removeAttr("id"),this.originEl.removeAttr("style"),this.originEl=this.originEl[0],this.waveEl.append(this.originEl)),this.wrapper.append(this.waveEl))}},{key:"_calculatePositioning",value:function(){var t="fixed"===this.$origin.css("position");if(!t)for(var e=this.$origin.parents(),i=0;i<e.length&&!(t="fixed"==S(e[i]).css("position"));i++);var n=this.$origin.outerWidth(),s=this.$origin.outerHeight(),o=t?this.$origin.offset().top-M.getDocumentScrollTop():this.$origin.offset().top,a=t?this.$origin.offset().left-M.getDocumentScrollLeft():this.$origin.offset().left,r=window.innerWidth,l=window.innerHeight,h=r/2,d=l/2,u=a<=h,c=h<a,p=o<=d,v=d<o,f=.25*r<=a&&a<=.75*r,m=this.$el.outerWidth(),g=this.$el.outerHeight(),_=o+s/2-g/2,y=a+n/2-m/2,k=t?"fixed":"absolute",b=f?m:m/2+n,w=g/2,C=p?g/2:0,E=u&&!f?m/2-n:0,O=n,x=v?"bottom":"top",L=2*n,T=L,$=g/2-T/2,B=m/2-L/2,D={};D.top=p?_+"px":"",D.right=c?r-y-m+"px":"",D.bottom=v?l-_-g+"px":"",D.left=u?y+"px":"",D.position=k,S(this.wrapper).css(D),S(this.contentEl).css({width:b+"px",height:w+"px",top:C+"px",right:"0px",bottom:"0px",left:E+"px",padding:O+"px",verticalAlign:x}),S(this.waveEl).css({top:$+"px",left:B+"px",width:L+"px",height:T+"px"})}},{key:"open",value:function(){this.isOpen||("function"==typeof this.options.onOpen&&this.options.onOpen.call(this,this.$origin[0]),this.isOpen=!0,this.wrapper.classList.add("open"),document.body.addEventListener("click",this._handleDocumentClickBound,!0),document.body.addEventListener("touchend",this._handleDocumentClickBound))}},{key:"close",value:function(){this.isOpen&&("function"==typeof this.options.onClose&&this.options.onClose.call(this,this.$origin[0]),this.isOpen=!1,this.wrapper.classList.remove("open"),document.body.removeEventListener("click",this._handleDocumentClickBound,!0),document.body.removeEventListener("touchend",this._handleDocumentClickBound))}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_TapTarget}},{key:"defaults",get:function(){return e}}]),n}();M.TapTarget=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"tapTarget","M_TapTarget")}(cash),function(d){"use strict";var e={classes:"",dropdownOptions:{}},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return i.$el.hasClass("browser-default")?_possibleConstructorReturn(i):((i.el.M_FormSelect=i).options=d.extend({},n.defaults,e),i.isMultiple=i.$el.prop("multiple"),i.el.tabIndex=-1,i._keysSelected={},i._valueDict={},i._setupDropdown(),i._setupEventHandlers(),i)}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this._removeDropdown(),this.el.M_FormSelect=void 0}},{key:"_setupEventHandlers",value:function(){var e=this;this._handleSelectChangeBound=this._handleSelectChange.bind(this),this._handleOptionClickBound=this._handleOptionClick.bind(this),this._handleInputClickBound=this._handleInputClick.bind(this),d(this.dropdownOptions).find("li:not(.optgroup)").each(function(t){t.addEventListener("click",e._handleOptionClickBound)}),this.el.addEventListener("change",this._handleSelectChangeBound),this.input.addEventListener("click",this._handleInputClickBound)}},{key:"_removeEventHandlers",value:function(){var e=this;d(this.dropdownOptions).find("li:not(.optgroup)").each(function(t){t.removeEventListener("click",e._handleOptionClickBound)}),this.el.removeEventListener("change",this._handleSelectChangeBound),this.input.removeEventListener("click",this._handleInputClickBound)}},{key:"_handleSelectChange",value:function(t){this._setValueToInput()}},{key:"_handleOptionClick",value:function(t){t.preventDefault();var e=d(t.target).closest("li")[0],i=e.id;if(!d(e).hasClass("disabled")&&!d(e).hasClass("optgroup")&&i.length){var n=!0;if(this.isMultiple){var s=d(this.dropdownOptions).find("li.disabled.selected");s.length&&(s.removeClass("selected"),s.find('input[type="checkbox"]').prop("checked",!1),this._toggleEntryFromArray(s[0].id)),n=this._toggleEntryFromArray(i)}else d(this.dropdownOptions).find("li").removeClass("selected"),d(e).toggleClass("selected",n);d(this._valueDict[i].el).prop("selected")!==n&&(d(this._valueDict[i].el).prop("selected",n),this.$el.trigger("change"))}t.stopPropagation()}},{key:"_handleInputClick",value:function(){this.dropdown&&this.dropdown.isOpen&&(this._setValueToInput(),this._setSelectedStates())}},{key:"_setupDropdown",value:function(){var n=this;this.wrapper=document.createElement("div"),d(this.wrapper).addClass("select-wrapper "+this.options.classes),this.$el.before(d(this.wrapper)),this.wrapper.appendChild(this.el),this.el.disabled&&this.wrapper.classList.add("disabled"),this.$selectOptions=this.$el.children("option, optgroup"),this.dropdownOptions=document.createElement("ul"),this.dropdownOptions.id="select-options-"+M.guid(),d(this.dropdownOptions).addClass("dropdown-content select-dropdown "+(this.isMultiple?"multiple-select-dropdown":"")),this.$selectOptions.length&&this.$selectOptions.each(function(t){if(d(t).is("option")){var e=void 0;e=n.isMultiple?n._appendOptionWithIcon(n.$el,t,"multiple"):n._appendOptionWithIcon(n.$el,t),n._addOptionToValueDict(t,e)}else if(d(t).is("optgroup")){var i=d(t).children("option");d(n.dropdownOptions).append(d('<li class="optgroup"><span>'+t.getAttribute("label")+"</span></li>")[0]),i.each(function(t){var e=n._appendOptionWithIcon(n.$el,t,"optgroup-option");n._addOptionToValueDict(t,e)})}}),this.$el.after(this.dropdownOptions),this.input=document.createElement("input"),d(this.input).addClass("select-dropdown dropdown-trigger"),this.input.setAttribute("type","text"),this.input.setAttribute("readonly","true"),this.input.setAttribute("data-target",this.dropdownOptions.id),this.el.disabled&&d(this.input).prop("disabled","true"),this.$el.before(this.input),this._setValueToInput();var t=d('<svg class="caret" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M7 10l5 5 5-5z"/><path d="M0 0h24v24H0z" fill="none"/></svg>');if(this.$el.before(t[0]),!this.el.disabled){var e=d.extend({},this.options.dropdownOptions);e.onOpenEnd=function(t){var e=d(n.dropdownOptions).find(".selected").first();if(e.length&&(M.keyDown=!0,n.dropdown.focusedIndex=e.index(),n.dropdown._focusFocusedItem(),M.keyDown=!1,n.dropdown.isScrollable)){var i=e[0].getBoundingClientRect().top-n.dropdownOptions.getBoundingClientRect().top;i-=n.dropdownOptions.clientHeight/2,n.dropdownOptions.scrollTop=i}},this.isMultiple&&(e.closeOnClick=!1),this.dropdown=M.Dropdown.init(this.input,e)}this._setSelectedStates()}},{key:"_addOptionToValueDict",value:function(t,e){var i=Object.keys(this._valueDict).length,n=this.dropdownOptions.id+i,s={};e.id=n,s.el=t,s.optionEl=e,this._valueDict[n]=s}},{key:"_removeDropdown",value:function(){d(this.wrapper).find(".caret").remove(),d(this.input).remove(),d(this.dropdownOptions).remove(),d(this.wrapper).before(this.$el),d(this.wrapper).remove()}},{key:"_appendOptionWithIcon",value:function(t,e,i){var n=e.disabled?"disabled ":"",s="optgroup-option"===i?"optgroup-option ":"",o=this.isMultiple?'<label><input type="checkbox"'+n+'"/><span>'+e.innerHTML+"</span></label>":e.innerHTML,a=d("<li></li>"),r=d("<span></span>");r.html(o),a.addClass(n+" "+s),a.append(r);var l=e.getAttribute("data-icon");if(l){var h=d('<img alt="" src="'+l+'">');a.prepend(h)}return d(this.dropdownOptions).append(a[0]),a[0]}},{key:"_toggleEntryFromArray",value:function(t){var e=!this._keysSelected.hasOwnProperty(t),i=d(this._valueDict[t].optionEl);return e?this._keysSelected[t]=!0:delete this._keysSelected[t],i.toggleClass("selected",e),i.find('input[type="checkbox"]').prop("checked",e),i.prop("selected",e),e}},{key:"_setValueToInput",value:function(){var i=[];if(this.$el.find("option").each(function(t){if(d(t).prop("selected")){var e=d(t).text();i.push(e)}}),!i.length){var t=this.$el.find("option:disabled").eq(0);t.length&&""===t[0].value&&i.push(t.text())}this.input.value=i.join(", ")}},{key:"_setSelectedStates",value:function(){for(var t in this._keysSelected={},this._valueDict){var e=this._valueDict[t],i=d(e.el).prop("selected");d(e.optionEl).find('input[type="checkbox"]').prop("checked",i),i?(this._activateOption(d(this.dropdownOptions),d(e.optionEl)),this._keysSelected[t]=!0):d(e.optionEl).removeClass("selected")}}},{key:"_activateOption",value:function(t,e){e&&(this.isMultiple||t.find("li.selected").removeClass("selected"),d(e).addClass("selected"))}},{key:"getSelectedValues",value:function(){var t=[];for(var e in this._keysSelected)t.push(this._valueDict[e].el.value);return t}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_FormSelect}},{key:"defaults",get:function(){return e}}]),n}();M.FormSelect=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"formSelect","M_FormSelect")}(cash),function(s,e){"use strict";var i={},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Range=i).options=s.extend({},n.defaults,e),i._mousedown=!1,i._setupThumb(),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this._removeThumb(),this.el.M_Range=void 0}},{key:"_setupEventHandlers",value:function(){this._handleRangeChangeBound=this._handleRangeChange.bind(this),this._handleRangeMousedownTouchstartBound=this._handleRangeMousedownTouchstart.bind(this),this._handleRangeInputMousemoveTouchmoveBound=this._handleRangeInputMousemoveTouchmove.bind(this),this._handleRangeMouseupTouchendBound=this._handleRangeMouseupTouchend.bind(this),this._handleRangeBlurMouseoutTouchleaveBound=this._handleRangeBlurMouseoutTouchleave.bind(this),this.el.addEventListener("change",this._handleRangeChangeBound),this.el.addEventListener("mousedown",this._handleRangeMousedownTouchstartBound),this.el.addEventListener("touchstart",this._handleRangeMousedownTouchstartBound),this.el.addEventListener("input",this._handleRangeInputMousemoveTouchmoveBound),this.el.addEventListener("mousemove",this._handleRangeInputMousemoveTouchmoveBound),this.el.addEventListener("touchmove",this._handleRangeInputMousemoveTouchmoveBound),this.el.addEventListener("mouseup",this._handleRangeMouseupTouchendBound),this.el.addEventListener("touchend",this._handleRangeMouseupTouchendBound),this.el.addEventListener("blur",this._handleRangeBlurMouseoutTouchleaveBound),this.el.addEventListener("mouseout",this._handleRangeBlurMouseoutTouchleaveBound),this.el.addEventListener("touchleave",this._handleRangeBlurMouseoutTouchleaveBound)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("change",this._handleRangeChangeBound),this.el.removeEventListener("mousedown",this._handleRangeMousedownTouchstartBound),this.el.removeEventListener("touchstart",this._handleRangeMousedownTouchstartBound),this.el.removeEventListener("input",this._handleRangeInputMousemoveTouchmoveBound),this.el.removeEventListener("mousemove",this._handleRangeInputMousemoveTouchmoveBound),this.el.removeEventListener("touchmove",this._handleRangeInputMousemoveTouchmoveBound),this.el.removeEventListener("mouseup",this._handleRangeMouseupTouchendBound),this.el.removeEventListener("touchend",this._handleRangeMouseupTouchendBound),this.el.removeEventListener("blur",this._handleRangeBlurMouseoutTouchleaveBound),this.el.removeEventListener("mouseout",this._handleRangeBlurMouseoutTouchleaveBound),this.el.removeEventListener("touchleave",this._handleRangeBlurMouseoutTouchleaveBound)}},{key:"_handleRangeChange",value:function(){s(this.value).html(this.$el.val()),s(this.thumb).hasClass("active")||this._showRangeBubble();var t=this._calcRangeOffset();s(this.thumb).addClass("active").css("left",t+"px")}},{key:"_handleRangeMousedownTouchstart",value:function(t){if(s(this.value).html(this.$el.val()),this._mousedown=!0,this.$el.addClass("active"),s(this.thumb).hasClass("active")||this._showRangeBubble(),"input"!==t.type){var e=this._calcRangeOffset();s(this.thumb).addClass("active").css("left",e+"px")}}},{key:"_handleRangeInputMousemoveTouchmove",value:function(){if(this._mousedown){s(this.thumb).hasClass("active")||this._showRangeBubble();var t=this._calcRangeOffset();s(this.thumb).addClass("active").css("left",t+"px"),s(this.value).html(this.$el.val())}}},{key:"_handleRangeMouseupTouchend",value:function(){this._mousedown=!1,this.$el.removeClass("active")}},{key:"_handleRangeBlurMouseoutTouchleave",value:function(){if(!this._mousedown){var t=7+parseInt(this.$el.css("padding-left"))+"px";s(this.thumb).hasClass("active")&&(e.remove(this.thumb),e({targets:this.thumb,height:0,width:0,top:10,easing:"easeOutQuad",marginLeft:t,duration:100})),s(this.thumb).removeClass("active")}}},{key:"_setupThumb",value:function(){this.thumb=document.createElement("span"),this.value=document.createElement("span"),s(this.thumb).addClass("thumb"),s(this.value).addClass("value"),s(this.thumb).append(this.value),this.$el.after(this.thumb)}},{key:"_removeThumb",value:function(){s(this.thumb).remove()}},{key:"_showRangeBubble",value:function(){var t=-7+parseInt(s(this.thumb).parent().css("padding-left"))+"px";e.remove(this.thumb),e({targets:this.thumb,height:30,width:30,top:-30,marginLeft:t,duration:300,easing:"easeOutQuint"})}},{key:"_calcRangeOffset",value:function(){var t=this.$el.width()-15,e=parseFloat(this.$el.attr("max"))||100,i=parseFloat(this.$el.attr("min"))||0;return(parseFloat(this.$el.val())-i)/(e-i)*t}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Range}},{key:"defaults",get:function(){return i}}]),n}();M.Range=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"range","M_Range"),t.init(s("input[type=range]"))}(cash,M.anime);
|
|
|
|
|
|
|
|
admin/js/xcloner-admin.js
CHANGED
@@ -3,6 +3,9 @@
|
|
3 |
|
4 |
jQuery(document).ready(function () {
|
5 |
|
|
|
|
|
|
|
6 |
jQuery("span.shorten_string").click(function () {
|
7 |
jQuery(this).toggleClass("full");
|
8 |
doShortText(jQuery(this));
|
3 |
|
4 |
jQuery(document).ready(function () {
|
5 |
|
6 |
+
jQuery('.tooltipped').tooltip();
|
7 |
+
jQuery('.collapsible').collapsible();
|
8 |
+
|
9 |
jQuery("span.shorten_string").click(function () {
|
10 |
jQuery(this).toggleClass("full");
|
11 |
doShortText(jQuery(this));
|
admin/js/xcloner-backup-class.js
CHANGED
@@ -114,7 +114,9 @@ class Xcloner_Backup {
|
|
114 |
|
115 |
var elem = "#generate_backup ul.backup-status li.database-backup";
|
116 |
jQuery(elem).show();
|
117 |
-
jQuery(elem + ' .status-body').show();
|
|
|
|
|
118 |
|
119 |
jQuery(elem).find(".total-records").text(0);
|
120 |
jQuery(elem).find(".total-records").attr('data-processed', 0);
|
@@ -250,6 +252,19 @@ class Xcloner_Backup {
|
|
250 |
return;
|
251 |
}
|
252 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
253 |
//this.restart_backup();
|
254 |
this.do_backup_done()
|
255 |
}
|
114 |
|
115 |
var elem = "#generate_backup ul.backup-status li.database-backup";
|
116 |
jQuery(elem).show();
|
117 |
+
//jQuery(elem + ' .status-body').show();
|
118 |
+
|
119 |
+
jQuery(elem).find('.collapsible-header').trigger('click');
|
120 |
|
121 |
jQuery(elem).find(".total-records").text(0);
|
122 |
jQuery(elem).find(".total-records").attr('data-processed', 0);
|
252 |
return;
|
253 |
}
|
254 |
|
255 |
+
var remote_storage = jQuery('#schedule_storage').val()
|
256 |
+
|
257 |
+
// sending backup to remote storage automatically
|
258 |
+
if( remote_storage) {
|
259 |
+
var delete_backup_after_transfer = Number(jQuery("#backup_delete_after_remote_transfer").is(":checked"));
|
260 |
+
|
261 |
+
jQuery('#remote_storage_modal #transfer_storage').val(remote_storage)
|
262 |
+
//jQuery(".backup-done .cloud-upload").trigger('click')
|
263 |
+
var xcloner_manage_backups = new Xcloner_Manage_Backups();
|
264 |
+
xcloner_manage_backups.cloud_upload(json.extra.backup_parent, delete_backup_after_transfer)
|
265 |
+
jQuery("#remote_storage_modal .upload-submit").trigger('click')
|
266 |
+
}
|
267 |
+
|
268 |
//this.restart_backup();
|
269 |
this.do_backup_done()
|
270 |
}
|
admin/js/xcloner-manage-backups-class.js
CHANGED
@@ -1,6 +1,5 @@
|
|
1 |
/** global: ajaxurl */
|
2 |
/** global: Materialize */
|
3 |
-
(function ($) {
|
4 |
var dataTable = "";
|
5 |
|
6 |
class Xcloner_Manage_Backups {
|
@@ -9,6 +8,7 @@
|
|
9 |
this.storage_selection = "";
|
10 |
this.dataTable = "";
|
11 |
//this.edit_modal = jQuery('.modal').modal();
|
|
|
12 |
}
|
13 |
|
14 |
download_backup_by_name(id) {
|
@@ -354,13 +354,16 @@
|
|
354 |
}
|
355 |
}
|
356 |
|
357 |
-
cloud_upload(backup_file) {
|
|
|
|
|
|
|
358 |
jQuery("#remote_storage_modal").find(".backup_name").text(backup_file);
|
359 |
jQuery("#remote_storage_modal")
|
360 |
.find("input.backup_name")
|
361 |
.val(backup_file);
|
362 |
-
|
363 |
-
jQuery(".col select").
|
364 |
jQuery("#remote_storage_modal").modal("open");
|
365 |
jQuery("#remote_storage_modal .status").hide();
|
366 |
|
@@ -385,6 +388,7 @@
|
|
385 |
action: "upload_backup_to_remote",
|
386 |
file: backup_file,
|
387 |
storage_type: storage_type,
|
|
|
388 |
},
|
389 |
success: function (response) {
|
390 |
if (response.error) {
|
@@ -494,10 +498,12 @@
|
|
494 |
sSearch: "",
|
495 |
sSearchPlaceholder: "Search Backups",
|
496 |
},
|
497 |
-
ajax:
|
498 |
-
|
499 |
-
|
500 |
-
|
|
|
|
|
501 |
fnDrawCallback: function (oSettings) {
|
502 |
jQuery("a.expand-multipart").on("click", function () {
|
503 |
jQuery(this).parent().find("ul.multipart").toggle();
|
@@ -593,6 +599,7 @@
|
|
593 |
jQuery("input:checkbox").each(function () {
|
594 |
if (jQuery(this).is(":checked")) {
|
595 |
jQuery(this)
|
|
|
596 |
.parent()
|
597 |
.parent()
|
598 |
.parent()
|
@@ -620,4 +627,3 @@
|
|
620 |
|
621 |
var show_delete_alert = 1;
|
622 |
});
|
623 |
-
})(jQuery);
|
1 |
/** global: ajaxurl */
|
2 |
/** global: Materialize */
|
|
|
3 |
var dataTable = "";
|
4 |
|
5 |
class Xcloner_Manage_Backups {
|
8 |
this.storage_selection = "";
|
9 |
this.dataTable = "";
|
10 |
//this.edit_modal = jQuery('.modal').modal();
|
11 |
+
|
12 |
}
|
13 |
|
14 |
download_backup_by_name(id) {
|
354 |
}
|
355 |
}
|
356 |
|
357 |
+
cloud_upload(backup_file, delete_after_transfer) {
|
358 |
+
|
359 |
+
delete_after_transfer = delete_after_transfer || 0;
|
360 |
+
|
361 |
jQuery("#remote_storage_modal").find(".backup_name").text(backup_file);
|
362 |
jQuery("#remote_storage_modal")
|
363 |
.find("input.backup_name")
|
364 |
.val(backup_file);
|
365 |
+
M.updateTextFields();
|
366 |
+
jQuery(".col select").formSelect();
|
367 |
jQuery("#remote_storage_modal").modal("open");
|
368 |
jQuery("#remote_storage_modal .status").hide();
|
369 |
|
388 |
action: "upload_backup_to_remote",
|
389 |
file: backup_file,
|
390 |
storage_type: storage_type,
|
391 |
+
delete_after_transfer: delete_after_transfer
|
392 |
},
|
393 |
success: function (response) {
|
394 |
if (response.error) {
|
498 |
sSearch: "",
|
499 |
sSearchPlaceholder: "Search Backups",
|
500 |
},
|
501 |
+
ajax: {
|
502 |
+
url:
|
503 |
+
ajaxurl +
|
504 |
+
"?action=get_manage_backups_list&storage_selection=" +
|
505 |
+
xcloner_manage_backups.storage_selection,
|
506 |
+
},
|
507 |
fnDrawCallback: function (oSettings) {
|
508 |
jQuery("a.expand-multipart").on("click", function () {
|
509 |
jQuery(this).parent().find("ul.multipart").toggle();
|
599 |
jQuery("input:checkbox").each(function () {
|
600 |
if (jQuery(this).is(":checked")) {
|
601 |
jQuery(this)
|
602 |
+
.parent()
|
603 |
.parent()
|
604 |
.parent()
|
605 |
.parent()
|
627 |
|
628 |
var show_delete_alert = 1;
|
629 |
});
|
|
admin/js/xcloner-restore-class.js
CHANGED
@@ -92,7 +92,9 @@ class Xcloner_Restore{
|
|
92 |
if(e.detail.$this !== undefined)
|
93 |
{
|
94 |
var $this = e.detail.$this
|
95 |
-
|
|
|
|
|
96 |
}
|
97 |
|
98 |
}, false);
|
@@ -860,7 +862,7 @@ jQuery(document).ready(function(){
|
|
860 |
|
861 |
xcloner_restore.set_current_step(0);
|
862 |
|
863 |
-
jQuery('.col select').
|
864 |
|
865 |
jQuery(".xcloner-restore .upload-backup.cancel").on("click", function(){
|
866 |
//jQuery(".xcloner-restore #upload_backup").show();
|
92 |
if(e.detail.$this !== undefined)
|
93 |
{
|
94 |
var $this = e.detail.$this
|
95 |
+
console.log($this.steps[$this.set_current_step])
|
96 |
+
jQuery(".xcloner-restore li."+$this.steps[$this.set_current_step]).show().find(".collapsible-header").trigger('click');
|
97 |
+
//jQuery(".xcloner-restore li."+$this.steps[$this.set_current_step]).addClass('active').show().find(".collapsible-body").show();
|
98 |
}
|
99 |
|
100 |
}, false);
|
862 |
|
863 |
xcloner_restore.set_current_step(0);
|
864 |
|
865 |
+
jQuery('.col select').formSelect();
|
866 |
|
867 |
jQuery(".xcloner-restore .upload-backup.cancel").on("click", function(){
|
868 |
//jQuery(".xcloner-restore #upload_backup").show();
|
admin/js/xcloner-scheduler-class.js
CHANGED
@@ -88,6 +88,13 @@ jQuery(document).ready(function () {
|
|
88 |
this.edit_modal.find("#backup_encrypt").attr("checked", "checked");
|
89 |
}
|
90 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
91 |
var tables = jQuery.parseJSON(response.table_params);
|
92 |
|
93 |
var tables_list = "";
|
@@ -107,9 +114,9 @@ jQuery(document).ready(function () {
|
|
107 |
|
108 |
this.edit_modal.find("#excluded_files").val(exclude_files_list);
|
109 |
|
110 |
-
jQuery(".col select").
|
111 |
|
112 |
-
|
113 |
|
114 |
this.edit_modal.modal("open");
|
115 |
}
|
@@ -233,8 +240,8 @@ jQuery(document).ready(function () {
|
|
233 |
vibrate: true, // vibrate the device when dragging clock hand
|
234 |
});
|
235 |
}
|
236 |
-
|
237 |
-
if (typeof jQuery(".timepicker").
|
238 |
date_picker = jQuery(".datepicker").pickadate({
|
239 |
format: "d mmmm yyyy",
|
240 |
selectMonths: true, // Creates a dropdown to control month
|
88 |
this.edit_modal.find("#backup_encrypt").attr("checked", "checked");
|
89 |
}
|
90 |
|
91 |
+
if (
|
92 |
+
response.backup_params.backup_delete_after_remote_transfer !== undefined &&
|
93 |
+
response.backup_params.backup_delete_after_remote_transfer == 1
|
94 |
+
) {
|
95 |
+
this.edit_modal.find("#backup_delete_after_remote_transfer").attr("checked", "checked");
|
96 |
+
}
|
97 |
+
|
98 |
var tables = jQuery.parseJSON(response.table_params);
|
99 |
|
100 |
var tables_list = "";
|
114 |
|
115 |
this.edit_modal.find("#excluded_files").val(exclude_files_list);
|
116 |
|
117 |
+
jQuery(".col select").formSelect();
|
118 |
|
119 |
+
M.updateTextFields();
|
120 |
|
121 |
this.edit_modal.modal("open");
|
122 |
}
|
240 |
vibrate: true, // vibrate the device when dragging clock hand
|
241 |
});
|
242 |
}
|
243 |
+
|
244 |
+
if (typeof jQuery(".timepicker").pickadate === "function") {
|
245 |
date_picker = jQuery(".datepicker").pickadate({
|
246 |
format: "d mmmm yyyy",
|
247 |
selectMonths: true, // Creates a dropdown to control month
|
admin/partials/xcloner_generate_backups_page.php
CHANGED
@@ -65,7 +65,7 @@ $tab = 1;
|
|
65 |
<div class="row">
|
66 |
<div class="input-field inline col s10 m10 l6">
|
67 |
<i class="material-icons prefix">access_time</i>
|
68 |
-
<input type="
|
69 |
name="diff_start_date">
|
70 |
<label for="diff_start_date"><?php echo __('Backup Only Files Modified/Created After', 'xcloner-backup-and-restore') ?></label>
|
71 |
</div>
|
@@ -113,6 +113,51 @@ $tab = 1;
|
|
113 |
</div>
|
114 |
</div>
|
115 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
116 |
<div class="row">
|
117 |
<div class="input-field col s12 m10 l6 right-align">
|
118 |
<a class="waves-effect waves-light btn" onclick="next_tab('#database_options');"><i
|
@@ -182,7 +227,7 @@ $tab = 1;
|
|
182 |
class="material-icons left">cancel</i></a>
|
183 |
</div>
|
184 |
<div class="col l10 s12">
|
185 |
-
<ul class="backup-status collapsible" data-collapsible="accordion">
|
186 |
<li class="file-system">
|
187 |
<div class="collapsible-header">
|
188 |
<i class="material-icons">folder</i><?php echo __('Scanning The File System...', 'xcloner-backup-and-restore') ?>
|
@@ -283,7 +328,7 @@ $tab = 1;
|
|
283 |
title="<?php echo __("List Backup Content", 'xcloner-backup-and-restore') ?>"><i
|
284 |
class="material-icons">folder_open</i></a>
|
285 |
</p>
|
286 |
-
|
287 |
<div class="progress">
|
288 |
<div class="determinate" style="width:100%"></div>
|
289 |
</div>
|
@@ -323,40 +368,21 @@ $tab = 1;
|
|
323 |
<div class="row">
|
324 |
<div class="input-field inline col s12 l7">
|
325 |
<input type="text" id="schedule_name" class="" name="schedule_name" required>
|
326 |
-
<label for="schedule_name"><?php echo __('
|
327 |
</div>
|
328 |
</div>
|
329 |
|
330 |
<div class="row">
|
331 |
<div class="input-field inline col s12 m8 l4">
|
332 |
-
<input type="
|
333 |
<label for="datepicker"><?php echo __('Schedule Backup To Start On:', 'xcloner-backup-and-restore') ?></label>
|
334 |
</div>
|
335 |
<div class="input-field inline col s12 m4 l3">
|
336 |
-
<input id="timepicker_ampm_dark" class="timepicker" type="
|
337 |
<label for="timepicker_ampm_dark"><?php echo __('At:', 'xcloner-backup-and-restore') ?></label>
|
338 |
</div>
|
339 |
</div>
|
340 |
|
341 |
-
<!--
|
342 |
-
<div class="row">
|
343 |
-
<div class="input-field inline col s10 m11 l7">
|
344 |
-
<select id="backup_type" class="" name="backup_type">
|
345 |
-
<option value=""><?php echo __("Full Backup", "xcloner-backup-and-restore"); ?></option>
|
346 |
-
<option value="diff"><?php echo __("Differential Backups", "xcloner-backup-and-restore"); ?></option>
|
347 |
-
<option value="full_diff"><?php echo __("Full Backup + Differential Backups", "xcloner-backup-and-restore"); ?></option>
|
348 |
-
</select>
|
349 |
-
<label for="backup_type"><?php echo __('Scheduled Backup Type', 'xcloner-backup-and-restore') ?></label>
|
350 |
-
</div>
|
351 |
-
<div class="col s2 m1">
|
352 |
-
<a class="btn-floating tooltipped btn-small" data-html="true" data-position="center" data-delay="50" data-tooltip="<ul style='max-width:760px; text-align:left;'>
|
353 |
-
<li><?php echo __("Full Backup = it will generate a full backup of all included files each time schedule runs", "xcloner-backup-and-restore"); ?></li>
|
354 |
-
<li><?php echo __("Differentials Backups = backups will include only changed files since the schedule started to run", "xcloner-backup-and-restore"); ?></li>
|
355 |
-
<li><?php echo __("Full Backup + Differential Backups = the first time schedule runs, it will create a full backup and all next scheduled backups will include only files created/modified since that last full backup; a full backup is recreated when the number of changed files is bigger than the 'Differetial Backups Max Days' XCloner option.", "xcloner-backup-and-restore"); ?></li>
|
356 |
-
</ul>"><i class="material-icons">help_outline</i></a>
|
357 |
-
</div>
|
358 |
-
</div>
|
359 |
-
-->
|
360 |
<div class="row">
|
361 |
<div class="input-field col s12 l7">
|
362 |
<select name="schedule_frequency" id="schedule_frequency" class="validate" required>
|
@@ -376,23 +402,10 @@ $tab = 1;
|
|
376 |
</div>
|
377 |
</div>
|
378 |
|
379 |
-
<?php if (sizeof($available_storages)): ?>
|
380 |
-
<div class="row">
|
381 |
-
<div class="input-field col s12 m12 l7">
|
382 |
-
<select name="schedule_storage" id="schedule_storage" class="validate">
|
383 |
-
<option value="" selected><?php echo __('none', 'xcloner-backup-and-restore') ?></option>
|
384 |
-
<?php foreach ($available_storages as $storage => $text): ?>
|
385 |
-
<option value="<?php echo $storage ?>"><?php echo $text ?></option>
|
386 |
-
<?php endforeach ?>
|
387 |
-
</select>
|
388 |
-
<label><?php echo __('Send To Remote Storage', 'xcloner-backup-and-restore') ?></label>
|
389 |
-
</div>
|
390 |
-
</div>
|
391 |
-
<?php endif ?>
|
392 |
<div class="row">
|
393 |
<div class="col s12 l7">
|
394 |
<button class="right btn waves-effect waves-light submit_schedule" type="submit"
|
395 |
-
name="action"><?php echo __("
|
396 |
<i class="material-icons right">send</i>
|
397 |
</button>
|
398 |
</div>
|
@@ -472,7 +485,7 @@ $tab = 1;
|
|
472 |
<script>
|
473 |
jQuery(function () {
|
474 |
|
475 |
-
jQuery('.col select').
|
476 |
jQuery("select[required]").css({display: "block", height: 0, padding: 0, width: 0, position: 'absolute'});
|
477 |
jQuery(".backup-done .cloud-upload").on("click", function (e) {
|
478 |
var xcloner_manage_backups = new Xcloner_Manage_Backups();
|
@@ -483,6 +496,13 @@ $tab = 1;
|
|
483 |
xcloner_manage_backups.cloud_upload(id)
|
484 |
})
|
485 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
486 |
jQuery("#generate_backup_form").on("submit", function () {
|
487 |
|
488 |
xcloner_backup.params = xcloner_backup.get_form_params();
|
@@ -512,26 +532,27 @@ $tab = 1;
|
|
512 |
xcloner_manage_backups.list_backup_content(id)
|
513 |
})
|
514 |
|
515 |
-
jQuery('.timepicker').
|
516 |
default: 'now',
|
517 |
min: [7, 30],
|
518 |
twelvehour: false, // change to 12 hour AM/PM clock from 24 hour
|
519 |
donetext: 'OK',
|
520 |
-
|
521 |
vibrate: true // vibrate the device when dragging clock hand
|
522 |
});
|
523 |
|
524 |
-
var date_picker = jQuery('.datepicker').
|
525 |
format: 'd mmmm yyyy',
|
526 |
selectMonths: true, // Creates a dropdown to control month
|
527 |
selectYears: 15, // Creates a dropdown of 15 years to control year
|
528 |
min: +0.1,
|
|
|
529 |
onSet: function () {
|
530 |
//this.close();
|
531 |
}
|
532 |
});
|
533 |
|
534 |
-
var date_picker_allowed = jQuery('.datepicker_max_today').
|
535 |
format: 'd mmmm yyyy',
|
536 |
selectMonths: true, // Creates a dropdown to control month
|
537 |
selectYears: 15, // Creates a dropdown of 15 years to control year
|
65 |
<div class="row">
|
66 |
<div class="input-field inline col s10 m10 l6">
|
67 |
<i class="material-icons prefix">access_time</i>
|
68 |
+
<input type="text" id="diff_start_date" class="datepicker_max_today"
|
69 |
name="diff_start_date">
|
70 |
<label for="diff_start_date"><?php echo __('Backup Only Files Modified/Created After', 'xcloner-backup-and-restore') ?></label>
|
71 |
</div>
|
113 |
</div>
|
114 |
</div>
|
115 |
|
116 |
+
<?php if (sizeof($available_storages)): ?>
|
117 |
+
|
118 |
+
<div class="row">
|
119 |
+
<div class="input-field col s12 m10 l6">
|
120 |
+
<i class="material-icons prefix">cloud_upload</i>
|
121 |
+
<select name="schedule_storage" id="schedule_storage" class="schedule_storage validate" >
|
122 |
+
<option value="" selected><?php echo __('none', 'xcloner-backup-and-restore') ?></option>
|
123 |
+
<?php foreach ($available_storages as $storage => $text): ?>
|
124 |
+
<option value="<?php echo $storage ?>"><?php echo $text ?></option>
|
125 |
+
<?php endforeach ?>
|
126 |
+
</select>
|
127 |
+
<label><?php echo __('Send To Remote Storage', 'xcloner-backup-and-restore') ?></label>
|
128 |
+
</div>
|
129 |
+
<div class="hide-on-small-only m2">
|
130 |
+
<a class="btn-floating tooltipped btn-small" data-position="right" data-delay="50"
|
131 |
+
data-tooltip="<?php echo __('Transfer backup to the remote storage destintion once finished.', 'xcloner-backup-and-restore') ?>"
|
132 |
+
data-tooltip-id=""><i class="material-icons">help_outline</i></a>
|
133 |
+
</div>
|
134 |
+
</div>
|
135 |
+
|
136 |
+
<div class="row" id="delete_remote_storage" style="display:none">
|
137 |
+
<div class="input-field col s6 m5 l4">
|
138 |
+
<i class="material-icons prefix">delete</i>
|
139 |
+
<label for="backup_comments"><?php echo __('Delete local copy after transfer', 'xcloner-backup-and-restore') ?></label>
|
140 |
+
|
141 |
+
</div>
|
142 |
+
<div class="input-field col s6 m5 l2">
|
143 |
+
<div class="switch">
|
144 |
+
<label>
|
145 |
+
Off
|
146 |
+
<input type="checkbox" name="backup_delete_after_remote_transfer" id="backup_delete_after_remote_transfer" value="1">
|
147 |
+
<span class="lever"></span>
|
148 |
+
On
|
149 |
+
</label>
|
150 |
+
</div>
|
151 |
+
</div>
|
152 |
+
|
153 |
+
<div class="hide-on-small-only s12 m2">
|
154 |
+
<a class="btn-floating tooltipped btn-small" data-position="right" data-delay="50"
|
155 |
+
data-tooltip="<?php echo __('Delete local backup file after transfer', 'xcloner-backup-and-restore') ?>"
|
156 |
+
data-tooltip-id=""><i class="material-icons">help_outline</i></a>
|
157 |
+
</div>
|
158 |
+
</div>
|
159 |
+
<?php endif ?>
|
160 |
+
|
161 |
<div class="row">
|
162 |
<div class="input-field col s12 m10 l6 right-align">
|
163 |
<a class="waves-effect waves-light btn" onclick="next_tab('#database_options');"><i
|
227 |
class="material-icons left">cancel</i></a>
|
228 |
</div>
|
229 |
<div class="col l10 s12">
|
230 |
+
<ul class="backup-status collapsible collapsible-accordion" data-collapsible="accordion">
|
231 |
<li class="file-system">
|
232 |
<div class="collapsible-header">
|
233 |
<i class="material-icons">folder</i><?php echo __('Scanning The File System...', 'xcloner-backup-and-restore') ?>
|
328 |
title="<?php echo __("List Backup Content", 'xcloner-backup-and-restore') ?>"><i
|
329 |
class="material-icons">folder_open</i></a>
|
330 |
</p>
|
331 |
+
<div class="clear"></div>
|
332 |
<div class="progress">
|
333 |
<div class="determinate" style="width:100%"></div>
|
334 |
</div>
|
368 |
<div class="row">
|
369 |
<div class="input-field inline col s12 l7">
|
370 |
<input type="text" id="schedule_name" class="" name="schedule_name" required>
|
371 |
+
<label for="schedule_name"><?php echo __('Profile Name', 'xcloner-backup-and-restore') ?></label>
|
372 |
</div>
|
373 |
</div>
|
374 |
|
375 |
<div class="row">
|
376 |
<div class="input-field inline col s12 m8 l4">
|
377 |
+
<input type="text" id="datepicker" class="datepicker" name="schedule_start_date">
|
378 |
<label for="datepicker"><?php echo __('Schedule Backup To Start On:', 'xcloner-backup-and-restore') ?></label>
|
379 |
</div>
|
380 |
<div class="input-field inline col s12 m4 l3">
|
381 |
+
<input id="timepicker_ampm_dark" class="timepicker" type="text" name="schedule_start_time">
|
382 |
<label for="timepicker_ampm_dark"><?php echo __('At:', 'xcloner-backup-and-restore') ?></label>
|
383 |
</div>
|
384 |
</div>
|
385 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
386 |
<div class="row">
|
387 |
<div class="input-field col s12 l7">
|
388 |
<select name="schedule_frequency" id="schedule_frequency" class="validate" required>
|
402 |
</div>
|
403 |
</div>
|
404 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
405 |
<div class="row">
|
406 |
<div class="col s12 l7">
|
407 |
<button class="right btn waves-effect waves-light submit_schedule" type="submit"
|
408 |
+
name="action"><?php echo __("Save Schedule", 'xcloner-backup-and-restore') ?>
|
409 |
<i class="material-icons right">send</i>
|
410 |
</button>
|
411 |
</div>
|
485 |
<script>
|
486 |
jQuery(function () {
|
487 |
|
488 |
+
jQuery('.col select').formSelect();
|
489 |
jQuery("select[required]").css({display: "block", height: 0, padding: 0, width: 0, position: 'absolute'});
|
490 |
jQuery(".backup-done .cloud-upload").on("click", function (e) {
|
491 |
var xcloner_manage_backups = new Xcloner_Manage_Backups();
|
496 |
xcloner_manage_backups.cloud_upload(id)
|
497 |
})
|
498 |
|
499 |
+
jQuery('#schedule_storage').on('change', function(){
|
500 |
+
jQuery('#delete_remote_storage').hide();
|
501 |
+
if(jQuery(this).val()) {
|
502 |
+
jQuery('#delete_remote_storage').show();
|
503 |
+
}
|
504 |
+
})
|
505 |
+
|
506 |
jQuery("#generate_backup_form").on("submit", function () {
|
507 |
|
508 |
xcloner_backup.params = xcloner_backup.get_form_params();
|
532 |
xcloner_manage_backups.list_backup_content(id)
|
533 |
})
|
534 |
|
535 |
+
jQuery('.timepicker').timepicker({
|
536 |
default: 'now',
|
537 |
min: [7, 30],
|
538 |
twelvehour: false, // change to 12 hour AM/PM clock from 24 hour
|
539 |
donetext: 'OK',
|
540 |
+
autoClose: true,
|
541 |
vibrate: true // vibrate the device when dragging clock hand
|
542 |
});
|
543 |
|
544 |
+
var date_picker = jQuery('.datepicker').datepicker({
|
545 |
format: 'd mmmm yyyy',
|
546 |
selectMonths: true, // Creates a dropdown to control month
|
547 |
selectYears: 15, // Creates a dropdown of 15 years to control year
|
548 |
min: +0.1,
|
549 |
+
autoClose: true,
|
550 |
onSet: function () {
|
551 |
//this.close();
|
552 |
}
|
553 |
});
|
554 |
|
555 |
+
var date_picker_allowed = jQuery('.datepicker_max_today').datepicker({
|
556 |
format: 'd mmmm yyyy',
|
557 |
selectMonths: true, // Creates a dropdown to control month
|
558 |
selectYears: 15, // Creates a dropdown of 15 years to control year
|
admin/partials/xcloner_init_page.php
CHANGED
@@ -86,7 +86,7 @@ if ($requirements->check_backup_ready_status()) {
|
|
86 |
<div class="collapsible-header active"><i class="material-icons">info</i>Backup Status</div>
|
87 |
<div class="collapsible-body">
|
88 |
<div class="" id="backup-status">
|
89 |
-
<div class="
|
90 |
<h5><?php echo __("Latest Backup", 'xcloner-backup-and-restore') ?></h5>
|
91 |
<blockquote>
|
92 |
<?php if (isset($latest_backup)): ?>
|
86 |
<div class="collapsible-header active"><i class="material-icons">info</i>Backup Status</div>
|
87 |
<div class="collapsible-body">
|
88 |
<div class="" id="backup-status">
|
89 |
+
<div class="">
|
90 |
<h5><?php echo __("Latest Backup", 'xcloner-backup-and-restore') ?></h5>
|
91 |
<blockquote>
|
92 |
<?php if (isset($latest_backup)): ?>
|
admin/partials/xcloner_manage_backups_page.php
CHANGED
@@ -7,7 +7,7 @@ $xcloner_encryption = $this->get_xcloner_container()->get_xcloner_encryption();
|
|
7 |
$storage_selection = "";
|
8 |
|
9 |
if (isset($_GET['storage_selection']) and $_GET['storage_selection']) {
|
10 |
-
|
11 |
}
|
12 |
|
13 |
//$backup_list = $xcloner_file_system->get_backup_archives_list($storage_selection);
|
@@ -25,7 +25,7 @@ $available_storages = $xcloner_remote_storage->get_available_storages();
|
|
25 |
<h1><?= esc_html(get_admin_page_title()); ?></h1>
|
26 |
</div>
|
27 |
<?php if (sizeof($available_storages)): ?>
|
28 |
-
<div class="col s12 m6 l3 remote-storage-selection">
|
29 |
<select name="storage_selection" id="storage_selection" class="validate" required>
|
30 |
|
31 |
<?php if ($storage_selection): ?>
|
@@ -37,176 +37,44 @@ $available_storages = $xcloner_remote_storage->get_available_storages();
|
|
37 |
<?php endif; ?>
|
38 |
|
39 |
<?php foreach ($available_storages as $storage => $text): ?>
|
40 |
-
<option value="<?php echo $storage ?>"<?php if ($storage == $storage_selection)
|
41 |
-
|
|
|
42 |
<?php endforeach ?>
|
43 |
</select>
|
44 |
<?php endif ?>
|
45 |
</div>
|
46 |
-
|
47 |
-
<
|
48 |
-
<
|
49 |
-
|
50 |
-
<
|
51 |
-
<
|
52 |
-
<
|
53 |
-
<label for="select_all"
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
$file_exists_on_local_storage = true;
|
75 |
-
|
76 |
-
if ($storage_selection) {
|
77 |
-
if (!$xcloner_file_system->get_storage_filesystem()->has($file_info['path'])) {
|
78 |
-
$file_exists_on_local_storage = false;
|
79 |
-
}
|
80 |
-
}
|
81 |
-
|
82 |
-
?>
|
83 |
-
<?php if (!isset($file_info['parent'])): ?>
|
84 |
-
|
85 |
-
<tr>
|
86 |
-
<td class="checkbox">
|
87 |
-
<p>
|
88 |
-
<input name="backup[]" value="<?php echo $file_info['basename'] ?>" type="checkbox"
|
89 |
-
id="checkbox_<?php echo ++$i ?>">
|
90 |
-
<label for="checkbox_<?php echo $i ?>"> </label>
|
91 |
-
</p>
|
92 |
-
</td>
|
93 |
-
<td>
|
94 |
-
<span class=""><?php echo $file_info['path'] ?></span>
|
95 |
-
<?php if (!$file_exists_on_local_storage): ?>
|
96 |
-
<a href="#"
|
97 |
-
title="<?php echo __("File does not exists on local storage",
|
98 |
-
"xcloner-backup-and-restore") ?>"><i
|
99 |
-
class="material-icons backup_warning">warning</i></a>
|
100 |
-
<?php endif ?>
|
101 |
-
<?php
|
102 |
-
if (isset($file_info['childs']) and is_array($file_info['childs'])):
|
103 |
-
?>
|
104 |
-
<a href="#" title="expand" class="expand-multipart add"><i
|
105 |
-
class="material-icons">add</i></a>
|
106 |
-
<a href="#" title="collapse" class="expand-multipart remove"><i class="material-icons">remove</i></a>
|
107 |
-
<ul class="multipart">
|
108 |
-
<?php foreach ($file_info['childs'] as $child): ?>
|
109 |
-
<li>
|
110 |
-
<?php echo $child[0] ?> (<?php echo size_format($child[2]) ?>)
|
111 |
-
<?php
|
112 |
-
$child_exists_on_local_storage = true;
|
113 |
-
if ($storage_selection) {
|
114 |
-
if (!$xcloner_file_system->get_storage_filesystem()->has($child[0])) {
|
115 |
-
$child_exists_on_local_storage = false;
|
116 |
-
}
|
117 |
-
}
|
118 |
-
?>
|
119 |
-
<?php if (!$child_exists_on_local_storage): ?>
|
120 |
-
<a href="#"
|
121 |
-
title="<?php echo __("File does not exists on local storage",
|
122 |
-
"xcloner-backup-and-restore") ?>"><i
|
123 |
-
class="material-icons backup_warning">warning</i></a>
|
124 |
-
<?php endif ?>
|
125 |
-
<?php if (!$storage_selection) : ?>
|
126 |
-
<a href="#<?php echo $child[0]; ?>" class="download"
|
127 |
-
title="Download Backup"><i class="material-icons">file_download</i></a>
|
128 |
-
<a href="#<?php echo $child[0] ?>" class="list-backup-content"
|
129 |
-
title="<?php echo __('List Backup Content',
|
130 |
-
'xcloner-backup-and-restore') ?>"><i
|
131 |
-
class="material-icons">folder_open</i></a>
|
132 |
-
|
133 |
-
<?php if($xcloner_encryption->is_encrypted_file($child[0])) :?>
|
134 |
-
<a href="#<?php echo $child[0] ?>" class="backup-decryption"
|
135 |
-
title="<?php echo __('Backup Decryption', 'xcloner-backup-and-restore') ?>">
|
136 |
-
<i class="material-icons">enhanced_encryption</i>
|
137 |
-
</a>
|
138 |
-
<?php else: ?>
|
139 |
-
<a href="#<?php echo $child[0] ?>" class="backup-encryption"
|
140 |
-
title="<?php echo __('Backup Encryption', 'xcloner-backup-and-restore') ?>">
|
141 |
-
<i class="material-icons">no_encryption</i>
|
142 |
-
</a>
|
143 |
-
<?php endif?>
|
144 |
-
|
145 |
-
<?php elseif ($storage_selection != "gdrive" && !$xcloner_file_system->get_storage_filesystem()->has($child[0])): ?>
|
146 |
-
<a href="#<?php echo $child[0] ?>" class="copy-remote-to-local"
|
147 |
-
title="<?php echo __('Push Backup To Local Storage',
|
148 |
-
'xcloner-backup-and-restore') ?>"><i
|
149 |
-
class="material-icons">file_upload</i></a>
|
150 |
-
<?php endif ?>
|
151 |
-
</li>
|
152 |
-
<?php endforeach; ?>
|
153 |
-
</ul>
|
154 |
-
<?php endif; ?>
|
155 |
-
</td>
|
156 |
-
<td><?php if (isset($file_info['timestamp']))
|
157 |
-
echo date("Y-m-d H:i", $file_info['timestamp']) ?></td>
|
158 |
-
<td><?php echo size_format($file_info['size']) ?></td>
|
159 |
-
<td>
|
160 |
-
<?php if (!$storage_selection): ?>
|
161 |
-
<a href="#<?php echo $file_info['basename']; ?>" class="download"
|
162 |
-
title="<?php echo __('Download Backup', 'xcloner-backup-and-restore') ?>"><i
|
163 |
-
class="material-icons">file_download</i></a>
|
164 |
-
|
165 |
-
<?php if (sizeof($available_storages)): ?>
|
166 |
-
<a href="#<?php echo $file_info['basename'] ?>" class="cloud-upload"
|
167 |
-
title="<?php echo __('Send Backup To Remote Storage',
|
168 |
-
'xcloner-backup-and-restore') ?>"><i
|
169 |
-
class="material-icons">cloud_upload</i></a>
|
170 |
-
<?php endif ?>
|
171 |
-
<a href="#<?php echo $file_info['basename'] ?>" class="list-backup-content"
|
172 |
-
title="<?php echo __('List Backup Content', 'xcloner-backup-and-restore') ?>"><i
|
173 |
-
class="material-icons">folder_open</i></a>
|
174 |
-
<?php endif; ?>
|
175 |
-
|
176 |
-
<?php if($xcloner_encryption->is_encrypted_file($file_info['basename'])) :?>
|
177 |
-
<a href="#<?php echo $file_info['basename'] ?>" class="backup-decryption"
|
178 |
-
title="<?php echo __('Backup Decryption', 'xcloner-backup-and-restore') ?>">
|
179 |
-
<i class="material-icons">enhanced_encryption</i>
|
180 |
-
</a>
|
181 |
-
<?php else: ?>
|
182 |
-
<a href="#<?php echo $file_info['basename'] ?>" class="backup-encryption"
|
183 |
-
title="<?php echo __('Backup Encryption', 'xcloner-backup-and-restore') ?>">
|
184 |
-
<i class="material-icons">no_encryption</i>
|
185 |
-
</a>
|
186 |
-
<?php endif?>
|
187 |
-
|
188 |
-
<a href="#<?php echo $file_info['basename'] ?>" class="delete"
|
189 |
-
title="<?php echo __('Delete Backup', 'xcloner-backup-and-restore') ?>">
|
190 |
-
<i class="material-icons">delete</i>
|
191 |
-
</a>
|
192 |
-
<?php if ($storage_selection and !$file_exists_on_local_storage): ?>
|
193 |
-
<a href="#<?php echo $file_info['basename']; ?>" class="copy-remote-to-local"
|
194 |
-
title="<?php echo __('Push Backup To Local Storage', 'xcloner-backup-and-restore') ?>"><i
|
195 |
-
class="material-icons">file_upload</i></a>
|
196 |
-
<?php endif ?>
|
197 |
-
|
198 |
-
</td>
|
199 |
-
|
200 |
-
</tr>
|
201 |
-
|
202 |
-
<?php endif ?>
|
203 |
-
<?php endforeach */?>
|
204 |
-
|
205 |
-
</tbody>
|
206 |
-
</table>
|
207 |
-
|
208 |
-
<a class="waves-effect waves-light btn delete-all"><i
|
209 |
class="material-icons left">delete</i><?php echo __("Delete", 'xcloner-backup-and-restore') ?></a>
|
|
|
|
|
210 |
|
211 |
<!-- List Backup Content Modal-->
|
212 |
<div id="backup_cotent_modal" class="modal">
|
@@ -301,8 +169,10 @@ $available_storages = $xcloner_remote_storage->get_available_storages();
|
|
301 |
<?php if (sizeof($available_storages)): ?>
|
302 |
<div class="row">
|
303 |
<div class="col s12 label">
|
304 |
-
<label><?php echo sprintf(
|
305 |
-
|
|
|
|
|
306 |
</div>
|
307 |
<div class="input-field col s8 m10">
|
308 |
<select name="transfer_storage" id="transfer_storage" class="validate" required>
|
@@ -331,5 +201,4 @@ $available_storages = $xcloner_remote_storage->get_available_storages();
|
|
331 |
</p>
|
332 |
</div>
|
333 |
</form>
|
334 |
-
</div>
|
335 |
-
|
7 |
$storage_selection = "";
|
8 |
|
9 |
if (isset($_GET['storage_selection']) and $_GET['storage_selection']) {
|
10 |
+
$storage_selection = $xcloner_sanitization->sanitize_input_as_string($_GET['storage_selection']);
|
11 |
}
|
12 |
|
13 |
//$backup_list = $xcloner_file_system->get_backup_archives_list($storage_selection);
|
25 |
<h1><?= esc_html(get_admin_page_title()); ?></h1>
|
26 |
</div>
|
27 |
<?php if (sizeof($available_storages)): ?>
|
28 |
+
<div class="input-field col s12 m6 l3 remote-storage-selection">
|
29 |
<select name="storage_selection" id="storage_selection" class="validate" required>
|
30 |
|
31 |
<?php if ($storage_selection): ?>
|
37 |
<?php endif; ?>
|
38 |
|
39 |
<?php foreach ($available_storages as $storage => $text): ?>
|
40 |
+
<option value="<?php echo $storage ?>"<?php if ($storage == $storage_selection) {
|
41 |
+
echo "selected";
|
42 |
+
} ?>><?php echo $text ?></option>
|
43 |
<?php endforeach ?>
|
44 |
</select>
|
45 |
<?php endif ?>
|
46 |
</div>
|
47 |
+
|
48 |
+
<div class="col s12">
|
49 |
+
<table id="manage_backups" style="width:100%">
|
50 |
+
<thead>
|
51 |
+
<tr class="grey lighten-2">
|
52 |
+
<th class="no-sort">
|
53 |
+
<p>
|
54 |
+
<label for="select_all">
|
55 |
+
<input name="select_all" class="" id="select_all" value="1" type="checkbox">
|
56 |
+
<span> </span>
|
57 |
+
</label>
|
58 |
+
|
59 |
+
</p>
|
60 |
+
</th>
|
61 |
+
<th data-field="id"><?php echo __("Backup Name", 'xcloner-backup-and-restore') ?></th>
|
62 |
+
<th data-field="name"><?php echo __("Created Time", 'xcloner-backup-and-restore') ?></th>
|
63 |
+
<th data-field="name"><?php echo __("Size", 'xcloner-backup-and-restore') ?></th>
|
64 |
+
<th class="no-sort" data-field="price"><?php echo __("Action", 'xcloner-backup-and-restore') ?></th>
|
65 |
+
|
66 |
+
</tr>
|
67 |
+
</thead>
|
68 |
+
|
69 |
+
<tbody>
|
70 |
+
|
71 |
+
</tbody>
|
72 |
+
</table>
|
73 |
+
|
74 |
+
<a class="waves-effect waves-light btn delete-all"><i
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
75 |
class="material-icons left">delete</i><?php echo __("Delete", 'xcloner-backup-and-restore') ?></a>
|
76 |
+
</div>
|
77 |
+
|
78 |
|
79 |
<!-- List Backup Content Modal-->
|
80 |
<div id="backup_cotent_modal" class="modal">
|
169 |
<?php if (sizeof($available_storages)): ?>
|
170 |
<div class="row">
|
171 |
<div class="col s12 label">
|
172 |
+
<label><?php echo sprintf(
|
173 |
+
__('Send %s to remote storage', 'xcloner-backup-and-restore'),
|
174 |
+
"<span class='backup_name'></span>"
|
175 |
+
) ?></label>
|
176 |
</div>
|
177 |
<div class="input-field col s8 m10">
|
178 |
<select name="transfer_storage" id="transfer_storage" class="validate" required>
|
201 |
</p>
|
202 |
</div>
|
203 |
</form>
|
204 |
+
</div>
|
|
admin/partials/xcloner_remote_storage_page.php
CHANGED
@@ -4,11 +4,74 @@ $remote_storage = $this->get_xcloner_container()->get_xcloner_remote_storage();
|
|
4 |
$gdrive_auth_url = "";
|
5 |
|
6 |
if (method_exists($remote_storage, "get_gdrive_auth_url")) {
|
7 |
-
|
8 |
}
|
9 |
|
10 |
$gdrive_construct = $remote_storage->gdrive_construct();
|
11 |
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
<h1><?= esc_html(get_admin_page_title()); ?></h1>
|
13 |
|
14 |
<form class="remote-storage-form" method="POST">
|
@@ -26,8 +89,9 @@ $gdrive_construct = $remote_storage->gdrive_construct();
|
|
26 |
<label>
|
27 |
Off
|
28 |
<input type="checkbox" name="xcloner_ftp_enable" class="status"
|
29 |
-
value="1" <?php if (get_option("xcloner_ftp_enable"))
|
30 |
-
|
|
|
31 |
<span class="lever"></span>
|
32 |
On
|
33 |
</label>
|
@@ -69,7 +133,7 @@ $gdrive_construct = $remote_storage->gdrive_construct();
|
|
69 |
<div class=" col s12 m6">
|
70 |
<input placeholder="<?php echo __("Ftp Password", 'xcloner-backup-and-restore') ?>"
|
71 |
id="ftp_password" type="text" name="xcloner_ftp_password" class="validate"
|
72 |
-
value="<?php echo str_repeat('*', strlen(
|
73 |
autocomplete="off">
|
74 |
</div>
|
75 |
</div>
|
@@ -90,15 +154,24 @@ $gdrive_construct = $remote_storage->gdrive_construct();
|
|
90 |
<label for="ftp_root"><?php echo __("Ftp Transfer Mode", 'xcloner-backup-and-restore') ?></label>
|
91 |
</div>
|
92 |
<div class=" col s12 m6 input-field inline">
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
102 |
</div>
|
103 |
</div>
|
104 |
|
@@ -107,15 +180,22 @@ $gdrive_construct = $remote_storage->gdrive_construct();
|
|
107 |
<label for="ftp_ssl_mode"><?php echo __("Ftp Secure Connection", 'xcloner-backup-and-restore') ?></label>
|
108 |
</div>
|
109 |
<div class=" col s12 m6 input-field inline">
|
110 |
-
<
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
|
|
|
|
|
|
|
|
|
|
115 |
<input name="xcloner_ftp_ssl_mode" type="radio" id="ftp_ssl_mode_active"
|
116 |
-
value="1" <?php if (get_option("xcloner_ftp_ssl_mode"))
|
117 |
-
|
118 |
-
|
|
|
|
|
119 |
</div>
|
120 |
</div>
|
121 |
|
@@ -130,16 +210,7 @@ $gdrive_construct = $remote_storage->gdrive_construct();
|
|
130 |
</div>
|
131 |
</div>
|
132 |
|
133 |
-
|
134 |
-
<div class="col s12 m3 label">
|
135 |
-
<label for="ftp_cleanup_days"><?php echo __("Ftp Cleanup (days)", 'xcloner-backup-and-restore') ?></label>
|
136 |
-
</div>
|
137 |
-
<div class=" col s12 m6">
|
138 |
-
<input placeholder="<?php echo __("how many days to keep the backups for", 'xcloner-backup-and-restore') ?>"
|
139 |
-
id="ftp_cleanup_days" type="text" name="xcloner_ftp_cleanup_days"
|
140 |
-
class="validate" value="<?php echo get_option("xcloner_ftp_cleanup_days") ?>">
|
141 |
-
</div>
|
142 |
-
</div>
|
143 |
|
144 |
<div class="row">
|
145 |
<div class="col s6 m4">
|
@@ -167,8 +238,9 @@ $gdrive_construct = $remote_storage->gdrive_construct();
|
|
167 |
<label>
|
168 |
Off
|
169 |
<input type="checkbox" name="xcloner_sftp_enable" class="status"
|
170 |
-
value="1" <?php if (get_option("xcloner_sftp_enable"))
|
171 |
-
|
|
|
172 |
<span class="lever"></span>
|
173 |
On
|
174 |
</label>
|
@@ -210,7 +282,7 @@ $gdrive_construct = $remote_storage->gdrive_construct();
|
|
210 |
<div class=" col s12 m6">
|
211 |
<input placeholder="<?php echo __("SFTP or Private Key Password", 'xcloner-backup-and-restore') ?>"
|
212 |
id="ftp_spassword" type="text" name="xcloner_sftp_password" class="validate"
|
213 |
-
value="<?php echo str_repeat('*', strlen(
|
214 |
autocomplete="off">
|
215 |
</div>
|
216 |
</div>
|
@@ -250,16 +322,7 @@ $gdrive_construct = $remote_storage->gdrive_construct();
|
|
250 |
</div>
|
251 |
</div>
|
252 |
|
253 |
-
|
254 |
-
<div class="col s12 m3 label">
|
255 |
-
<label for="sftp_cleanup_days"><?php echo __("SFTP Cleanup (days)", 'xcloner-backup-and-restore') ?></label>
|
256 |
-
</div>
|
257 |
-
<div class=" col s12 m6">
|
258 |
-
<input placeholder="<?php echo __("how many days to keep the backups for", 'xcloner-backup-and-restore') ?>"
|
259 |
-
id="sftp_cleanup_days" type="text" name="xcloner_sftp_cleanup_days"
|
260 |
-
class="validate" value="<?php echo get_option("xcloner_sftp_cleanup_days") ?>">
|
261 |
-
</div>
|
262 |
-
</div>
|
263 |
|
264 |
<div class="row">
|
265 |
<div class="col s6 m4">
|
@@ -283,13 +346,14 @@ $gdrive_construct = $remote_storage->gdrive_construct();
|
|
283 |
<!-- AWS STORAGE-->
|
284 |
<li id="aws">
|
285 |
<div class="collapsible-header">
|
286 |
-
<i class="material-icons">computer</i><?php echo __("S3 Storage", 'xcloner-backup-and-restore') ?>
|
287 |
<div class="switch right">
|
288 |
<label>
|
289 |
Off
|
290 |
<input type="checkbox" name="xcloner_aws_enable" class="status"
|
291 |
-
value="1" <?php if (get_option("xcloner_aws_enable"))
|
292 |
-
|
|
|
293 |
<span class="lever"></span>
|
294 |
On
|
295 |
</label>
|
@@ -326,7 +390,7 @@ $gdrive_construct = $remote_storage->gdrive_construct();
|
|
326 |
<div class=" col s12 m6">
|
327 |
<input placeholder="<?php echo __("S3 Secret", 'xcloner-backup-and-restore') ?>"
|
328 |
id="aws_secret" type="text" name="xcloner_aws_secret" class="validate"
|
329 |
-
value="<?php echo str_repeat('*', strlen(
|
330 |
autocomplete="off">
|
331 |
</div>
|
332 |
</div>
|
@@ -342,15 +406,15 @@ $gdrive_construct = $remote_storage->gdrive_construct();
|
|
342 |
<option readonly
|
343 |
value=""><?php echo __("Please Select AWS S3 Region or Leave Unselected for Custom Endpoint") ?></option>
|
344 |
<?php
|
345 |
-
|
346 |
|
347 |
-
|
348 |
-
|
349 |
<option value="<?php echo $key ?>" <?php echo($key == get_option('xcloner_aws_region') ? "selected" : "") ?>><?php echo $region ?>
|
350 |
= <?php echo $key ?></option>
|
351 |
<?php
|
352 |
-
|
353 |
-
|
354 |
</select>
|
355 |
</div>
|
356 |
</div>
|
@@ -388,16 +452,7 @@ $gdrive_construct = $remote_storage->gdrive_construct();
|
|
388 |
</div>
|
389 |
</div>
|
390 |
|
391 |
-
|
392 |
-
<div class="col s12 m3 label">
|
393 |
-
<label for="aws_cleanup_days"><?php echo __("S3 Cleanup (days)", 'xcloner-backup-and-restore') ?></label>
|
394 |
-
</div>
|
395 |
-
<div class=" col s12 m6">
|
396 |
-
<input placeholder="<?php echo __("how many days to keep the backups for", 'xcloner-backup-and-restore') ?>"
|
397 |
-
id="aws_cleanup_days" type="text" name="xcloner_aws_cleanup_days"
|
398 |
-
class="validate" value="<?php echo get_option("xcloner_aws_cleanup_days") ?>">
|
399 |
-
</div>
|
400 |
-
</div>
|
401 |
|
402 |
<div class="row">
|
403 |
<div class="col s6 m4">
|
@@ -426,8 +481,9 @@ $gdrive_construct = $remote_storage->gdrive_construct();
|
|
426 |
<label>
|
427 |
Off
|
428 |
<input type="checkbox" name="xcloner_dropbox_enable" class="status"
|
429 |
-
value="1" <?php if (get_option("xcloner_dropbox_enable"))
|
430 |
-
|
|
|
431 |
<span class="lever"></span>
|
432 |
On
|
433 |
</label>
|
@@ -468,7 +524,7 @@ $gdrive_construct = $remote_storage->gdrive_construct();
|
|
468 |
<input placeholder="<?php echo __("Dropbox App Secret", 'xcloner-backup-and-restore') ?>"
|
469 |
id="dropbox_app_secret" type="text" name="xcloner_dropbox_app_secret"
|
470 |
class="validate"
|
471 |
-
value="<?php echo str_repeat('*', strlen(
|
472 |
autocomplete="off">
|
473 |
</div>
|
474 |
</div>
|
@@ -484,17 +540,7 @@ $gdrive_construct = $remote_storage->gdrive_construct();
|
|
484 |
</div>
|
485 |
</div>
|
486 |
|
487 |
-
|
488 |
-
<div class="col s12 m3 label">
|
489 |
-
<label for="dropbox_cleanup_days"><?php echo __("Dropbox Cleanup (days)", 'xcloner-backup-and-restore') ?></label>
|
490 |
-
</div>
|
491 |
-
<div class=" col s12 m6">
|
492 |
-
<input placeholder="<?php echo __("how many days to keep the backups for", 'xcloner-backup-and-restore') ?>"
|
493 |
-
id="dropbox_cleanup_days" type="text" name="xcloner_dropbox_cleanup_days"
|
494 |
-
class="validate"
|
495 |
-
value="<?php echo get_option("xcloner_dropbox_cleanup_days") ?>">
|
496 |
-
</div>
|
497 |
-
</div>
|
498 |
|
499 |
<div class="row">
|
500 |
<div class="col s6 m4">
|
@@ -523,8 +569,9 @@ $gdrive_construct = $remote_storage->gdrive_construct();
|
|
523 |
<label>
|
524 |
Off
|
525 |
<input type="checkbox" name="xcloner_azure_enable" class="status"
|
526 |
-
value="1" <?php if (get_option("xcloner_azure_enable"))
|
527 |
-
|
|
|
528 |
<span class="lever"></span>
|
529 |
On
|
530 |
</label>
|
@@ -579,17 +626,7 @@ $gdrive_construct = $remote_storage->gdrive_construct();
|
|
579 |
</div>
|
580 |
</div>
|
581 |
|
582 |
-
|
583 |
-
<div class="col s12 m3 label">
|
584 |
-
<label for="azure_cleanup_days"><?php echo __("Azure Cleanup (days)", 'xcloner-backup-and-restore') ?></label>
|
585 |
-
</div>
|
586 |
-
<div class=" col s12 m6">
|
587 |
-
<input placeholder="<?php echo __("how many days to keep the backups for", 'xcloner-backup-and-restore') ?>"
|
588 |
-
id="azure_cleanup_days" type="text" name="xcloner_azure_cleanup_days"
|
589 |
-
class="validate"
|
590 |
-
value="<?php echo get_option("xcloner_azure_cleanup_days") ?>">
|
591 |
-
</div>
|
592 |
-
</div>
|
593 |
|
594 |
<div class="row">
|
595 |
<div class="col s6 m4">
|
@@ -613,13 +650,14 @@ $gdrive_construct = $remote_storage->gdrive_construct();
|
|
613 |
<!-- BACKBLAZE STORAGE-->
|
614 |
<li id="backblaze">
|
615 |
<div class="collapsible-header">
|
616 |
-
<i class="material-icons">computer</i><?php echo __("Backblaze Storage", 'xcloner-backup-and-restore') ?>
|
617 |
<div class="switch right">
|
618 |
<label>
|
619 |
Off
|
620 |
<input type="checkbox" name="xcloner_backblaze_enable" class="status"
|
621 |
-
value="1" <?php if (get_option("xcloner_backblaze_enable"))
|
622 |
-
|
|
|
623 |
<span class="lever"></span>
|
624 |
On
|
625 |
</label>
|
@@ -678,17 +716,7 @@ $gdrive_construct = $remote_storage->gdrive_construct();
|
|
678 |
</div>
|
679 |
</div>
|
680 |
|
681 |
-
|
682 |
-
<div class="col s12 m3 label">
|
683 |
-
<label for="backblaze_cleanup_days"><?php echo __("Backblaze Cleanup (days)", 'xcloner-backup-and-restore') ?></label>
|
684 |
-
</div>
|
685 |
-
<div class=" col s12 m6">
|
686 |
-
<input placeholder="<?php echo __("how many days to keep the backups for", 'xcloner-backup-and-restore') ?>"
|
687 |
-
id="backblaze_cleanup_days" type="text" name="xcloner_backblaze_cleanup_days"
|
688 |
-
class="validate"
|
689 |
-
value="<?php echo get_option("xcloner_backblaze_cleanup_days") ?>">
|
690 |
-
</div>
|
691 |
-
</div>
|
692 |
|
693 |
<div class="row">
|
694 |
<div class="col s6 m4">
|
@@ -717,8 +745,9 @@ $gdrive_construct = $remote_storage->gdrive_construct();
|
|
717 |
<label>
|
718 |
Off
|
719 |
<input type="checkbox" name="xcloner_webdav_enable" class="status"
|
720 |
-
value="1" <?php if (get_option("xcloner_webdav_enable"))
|
721 |
-
|
|
|
722 |
<span class="lever"></span>
|
723 |
On
|
724 |
</label>
|
@@ -785,17 +814,7 @@ $gdrive_construct = $remote_storage->gdrive_construct();
|
|
785 |
</div>
|
786 |
</div>
|
787 |
|
788 |
-
|
789 |
-
<div class="col s12 m3 label">
|
790 |
-
<label for="webdav_cleanup_days"><?php echo __("WebDAV Cleanup (days)", 'xcloner-backup-and-restore') ?></label>
|
791 |
-
</div>
|
792 |
-
<div class=" col s12 m6">
|
793 |
-
<input placeholder="<?php echo __("how many days to keep the backups for", 'xcloner-backup-and-restore') ?>"
|
794 |
-
id="webdav_cleanup_days" type="text" name="xcloner_webdav_cleanup_days"
|
795 |
-
class="validate"
|
796 |
-
value="<?php echo get_option("xcloner_webdav_cleanup_days") ?>">
|
797 |
-
</div>
|
798 |
-
</div>
|
799 |
|
800 |
<div class="row">
|
801 |
<div class="col s6 m4">
|
@@ -825,8 +844,9 @@ $gdrive_construct = $remote_storage->gdrive_construct();
|
|
825 |
<label>
|
826 |
Off
|
827 |
<input type="checkbox" name="xcloner_gdrive_enable" class="status"
|
828 |
-
value="1" <?php if (get_option("xcloner_gdrive_enable"))
|
829 |
-
|
|
|
830 |
<span class="lever"></span>
|
831 |
On
|
832 |
</label>
|
@@ -844,10 +864,10 @@ $gdrive_construct = $remote_storage->gdrive_construct();
|
|
844 |
<div class=" col s12 m9">
|
845 |
<p>
|
846 |
<?php echo sprintf(__('Visit %s to create a new application and get your Client ID and Client Secret.', 'xcloner-backup-and-restore'), '<a href="https://console.developers.google.com" target="_blank">https://console.developers.google.com</a>') ?>
|
847 |
-
<a href="https://youtu.be/
|
848 |
class="btn-floating tooltipped btn-small" data-position="right"
|
849 |
data-delay="50" data-html="true"
|
850 |
-
data-tooltip="<?php echo sprintf(__('Click here to view a short video explaining how to create the Client ID and Client Secret as well as connecting XCloner with the Google Drive API %s', 'xcloner-backup-and-restore'), "<br />https://youtu.be/
|
851 |
data-tooltip-id="92c95730-94e9-7b59-bd52-14adc30d5e3e"><i
|
852 |
class="material-icons">help_outline</i></a>
|
853 |
</p>
|
@@ -912,32 +932,31 @@ $gdrive_construct = $remote_storage->gdrive_construct();
|
|
912 |
</div>
|
913 |
</div>
|
914 |
|
915 |
-
|
916 |
-
<div class="col s12 m3 label">
|
917 |
-
<label for="gdrive_cleanup_days"><?php echo __("Google Drive Cleanup (days)", 'xcloner-backup-and-restore') ?></label>
|
918 |
-
</div>
|
919 |
-
<div class=" col s12 m6">
|
920 |
-
<input placeholder="<?php echo __("how many days to keep the backups for", 'xcloner-backup-and-restore') ?>"
|
921 |
-
id="gdrive_cleanup_days" type="text" name="xcloner_gdrive_cleanup_days"
|
922 |
-
class="validate"
|
923 |
-
value="<?php echo get_option("xcloner_gdrive_cleanup_days") ?>">
|
924 |
-
</div>
|
925 |
-
</div>
|
926 |
|
927 |
<div class="row">
|
928 |
<div class="col s12 m3 label">
|
929 |
<label for="gdrive_empty_trash"><?php echo __("Automatically Empty Trash?", 'xcloner-backup-and-restore') ?></label>
|
930 |
</div>
|
931 |
<div class=" col s12 m6 input-field inline">
|
932 |
-
<
|
933 |
-
|
934 |
-
|
935 |
-
|
936 |
-
|
937 |
-
|
938 |
-
|
939 |
-
|
940 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
941 |
</div>
|
942 |
</div>
|
943 |
|
@@ -962,8 +981,8 @@ $gdrive_construct = $remote_storage->gdrive_construct();
|
|
962 |
<div class=" col s12">
|
963 |
<div class="center">
|
964 |
<?php
|
965 |
-
|
966 |
-
|
967 |
<h6><?php echo __("This storage option requires the XCloner-Google-Drive Wordpress Plugin to be installed and activated.") ?></h6>
|
968 |
<h6><?php echo __("PHP 5.5 minimum version is required.") ?></h6>
|
969 |
<br/>
|
@@ -1043,7 +1062,7 @@ $gdrive_construct = $remote_storage->gdrive_construct();
|
|
1043 |
|
1044 |
jQuery('.collapsible').collapsible();
|
1045 |
|
1046 |
-
|
1047 |
|
1048 |
|
1049 |
});
|
4 |
$gdrive_auth_url = "";
|
5 |
|
6 |
if (method_exists($remote_storage, "get_gdrive_auth_url")) {
|
7 |
+
$gdrive_auth_url = $remote_storage->get_gdrive_auth_url();
|
8 |
}
|
9 |
|
10 |
$gdrive_construct = $remote_storage->gdrive_construct();
|
11 |
?>
|
12 |
+
|
13 |
+
<?php
|
14 |
+
function common_cleanup_html($type)
|
15 |
+
{
|
16 |
+
ob_start(); ?>
|
17 |
+
<!-- Cleanup by Days -->
|
18 |
+
<div class="row">
|
19 |
+
<div class="col s12 m3 label">
|
20 |
+
<label for="{type}_cleanup_retention_limit_days"><?php echo __("Cleanup by Age", 'xcloner-backup-and-restore') ?></label>
|
21 |
+
</div>
|
22 |
+
<div class=" col s12 m6">
|
23 |
+
<input placeholder="<?php echo __("how many days to keep the backups for", 'xcloner-backup-and-restore') ?>"
|
24 |
+
id="{type}_cleanup_retention_limit_days" type="text" name="xcloner_{type}_cleanup_retention_limit_days"
|
25 |
+
class="validate" value="<?php echo get_option("xcloner_".$type."_cleanup_retention_limit_days") ?>">
|
26 |
+
</div>
|
27 |
+
</div>
|
28 |
+
|
29 |
+
<!-- Cleanup by Quantity -->
|
30 |
+
<div class="row">
|
31 |
+
<div class="col s12 m3 label">
|
32 |
+
<label for="xcloner_{type}_cleanup_retention_limit_archives"><?php echo __("Cleanup by Quantity", 'xcloner-backup-and-restore') ?></label>
|
33 |
+
</div>
|
34 |
+
<div class=" col s12 m6">
|
35 |
+
<input placeholder="<?php echo __("how many backup files to keep", 'xcloner-backup-and-restore') ?>"
|
36 |
+
id="xcloner_{type}_cleanup_retention_limit_archives" type="number" name="xcloner_{type}_cleanup_retention_limit_archives"
|
37 |
+
class="validate"
|
38 |
+
value="<?php echo get_option("xcloner_".$type."_cleanup_retention_limit_archives") ?>">
|
39 |
+
</div>
|
40 |
+
</div>
|
41 |
+
|
42 |
+
<!-- Cleanup by Capacity -->
|
43 |
+
<div class="row">
|
44 |
+
<div class="col s12 m3 label">
|
45 |
+
<label for="xcloner_{type}_cleanup_capacity_limit"><?php echo __("Cleanup by Capacity(MB)", 'xcloner-backup-and-restore') ?></label>
|
46 |
+
</div>
|
47 |
+
<div class=" col s12 m6">
|
48 |
+
<input placeholder="<?php echo __("delete backup over specified limit", 'xcloner-backup-and-restore') ?>"
|
49 |
+
id="xcloner_{type}_cleanup_capacity_limit" type="number" name="xcloner_{type}_cleanup_capacity_limit"
|
50 |
+
class="validate"
|
51 |
+
value="<?php echo get_option("xcloner_".$type."_cleanup_capacity_limit") ?>">
|
52 |
+
</div>
|
53 |
+
</div>
|
54 |
+
|
55 |
+
<!-- Keep backups taken on days -->
|
56 |
+
<div class="row">
|
57 |
+
<div class="col s12 m3 label">
|
58 |
+
<label for="xcloner_{type}_cleanup_exclude_days"><?php echo __("Keep backups taken on days", 'xcloner-backup-and-restore') ?></label>
|
59 |
+
</div>
|
60 |
+
<div class=" col s12 m6">
|
61 |
+
<input placeholder="<?php echo __("days of month, comma separated", 'xcloner-backup-and-restore') ?>"
|
62 |
+
id="xcloner_{type}_cleanup_exclude_days" type="text" name="xcloner_{type}_cleanup_exclude_days"
|
63 |
+
class="validate"
|
64 |
+
value="<?php echo get_option("xcloner_".$type."_cleanup_exclude_days") ?>">
|
65 |
+
</div>
|
66 |
+
</div>
|
67 |
+
<?php
|
68 |
+
$common_cleanup_html = ob_get_contents();
|
69 |
+
ob_end_clean();
|
70 |
+
|
71 |
+
return str_replace("{type}", $type, $common_cleanup_html);
|
72 |
+
}
|
73 |
+
|
74 |
+
?>
|
75 |
<h1><?= esc_html(get_admin_page_title()); ?></h1>
|
76 |
|
77 |
<form class="remote-storage-form" method="POST">
|
89 |
<label>
|
90 |
Off
|
91 |
<input type="checkbox" name="xcloner_ftp_enable" class="status"
|
92 |
+
value="1" <?php if (get_option("xcloner_ftp_enable")) {
|
93 |
+
echo "checked";
|
94 |
+
} ?> \>
|
95 |
<span class="lever"></span>
|
96 |
On
|
97 |
</label>
|
133 |
<div class=" col s12 m6">
|
134 |
<input placeholder="<?php echo __("Ftp Password", 'xcloner-backup-and-restore') ?>"
|
135 |
id="ftp_password" type="text" name="xcloner_ftp_password" class="validate"
|
136 |
+
value="<?php echo str_repeat('*', strlen(get_option("xcloner_ftp_password"))) ?>"
|
137 |
autocomplete="off">
|
138 |
</div>
|
139 |
</div>
|
154 |
<label for="ftp_root"><?php echo __("Ftp Transfer Mode", 'xcloner-backup-and-restore') ?></label>
|
155 |
</div>
|
156 |
<div class=" col s12 m6 input-field inline">
|
157 |
+
<p>
|
158 |
+
<label for="passive">
|
159 |
+
<input name="xcloner_ftp_transfer_mode" type="radio" id="passive"
|
160 |
+
value="1" <?php if (get_option("xcloner_ftp_transfer_mode", 1)) {
|
161 |
+
echo "checked";
|
162 |
+
} ?> />
|
163 |
+
<span><?php echo __("Passive", 'xcloner-backup-and-restore') ?></span>
|
164 |
+
</label>
|
165 |
+
</p>
|
166 |
+
<p>
|
167 |
+
<label for="active">
|
168 |
+
<input name="xcloner_ftp_transfer_mode" type="radio" id="active"
|
169 |
+
value="0" <?php if (!get_option("xcloner_ftp_transfer_mode", 1)) {
|
170 |
+
echo "checked";
|
171 |
+
} ?> />
|
172 |
+
<span><?php echo __("Active", 'xcloner-backup-and-restore') ?></span>
|
173 |
+
</label>
|
174 |
+
</p>
|
175 |
</div>
|
176 |
</div>
|
177 |
|
180 |
<label for="ftp_ssl_mode"><?php echo __("Ftp Secure Connection", 'xcloner-backup-and-restore') ?></label>
|
181 |
</div>
|
182 |
<div class=" col s12 m6 input-field inline">
|
183 |
+
<p>
|
184 |
+
<label for="ftp_ssl_mode_inactive">
|
185 |
+
<input name="xcloner_ftp_ssl_mode" type="radio" id="ftp_ssl_mode_inactive"
|
186 |
+
value="0" <?php if (!get_option("xcloner_ftp_ssl_mode")) {
|
187 |
+
echo "checked";
|
188 |
+
} ?> />
|
189 |
+
<span><?php echo __("Disable", 'xcloner-backup-and-restore') ?></span>
|
190 |
+
</label></p>
|
191 |
+
<p>
|
192 |
+
<label for="ftp_ssl_mode_active">
|
193 |
<input name="xcloner_ftp_ssl_mode" type="radio" id="ftp_ssl_mode_active"
|
194 |
+
value="1" <?php if (get_option("xcloner_ftp_ssl_mode")) {
|
195 |
+
echo "checked";
|
196 |
+
} ?> />
|
197 |
+
<span><?php echo __("Enable", 'xcloner-backup-and-restore') ?></span>
|
198 |
+
</label></p>
|
199 |
</div>
|
200 |
</div>
|
201 |
|
210 |
</div>
|
211 |
</div>
|
212 |
|
213 |
+
<?=common_cleanup_html('ftp')?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
214 |
|
215 |
<div class="row">
|
216 |
<div class="col s6 m4">
|
238 |
<label>
|
239 |
Off
|
240 |
<input type="checkbox" name="xcloner_sftp_enable" class="status"
|
241 |
+
value="1" <?php if (get_option("xcloner_sftp_enable")) {
|
242 |
+
echo "checked";
|
243 |
+
} ?> \>
|
244 |
<span class="lever"></span>
|
245 |
On
|
246 |
</label>
|
282 |
<div class=" col s12 m6">
|
283 |
<input placeholder="<?php echo __("SFTP or Private Key Password", 'xcloner-backup-and-restore') ?>"
|
284 |
id="ftp_spassword" type="text" name="xcloner_sftp_password" class="validate"
|
285 |
+
value="<?php echo str_repeat('*', strlen(get_option("xcloner_sftp_password"))) ?>"
|
286 |
autocomplete="off">
|
287 |
</div>
|
288 |
</div>
|
322 |
</div>
|
323 |
</div>
|
324 |
|
325 |
+
<?=common_cleanup_html('sftp')?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
326 |
|
327 |
<div class="row">
|
328 |
<div class="col s6 m4">
|
346 |
<!-- AWS STORAGE-->
|
347 |
<li id="aws">
|
348 |
<div class="collapsible-header">
|
349 |
+
<i class="material-icons">computer</i><?php echo __("Amazon S3 Storage", 'xcloner-backup-and-restore') ?>
|
350 |
<div class="switch right">
|
351 |
<label>
|
352 |
Off
|
353 |
<input type="checkbox" name="xcloner_aws_enable" class="status"
|
354 |
+
value="1" <?php if (get_option("xcloner_aws_enable")) {
|
355 |
+
echo "checked";
|
356 |
+
} ?> \>
|
357 |
<span class="lever"></span>
|
358 |
On
|
359 |
</label>
|
390 |
<div class=" col s12 m6">
|
391 |
<input placeholder="<?php echo __("S3 Secret", 'xcloner-backup-and-restore') ?>"
|
392 |
id="aws_secret" type="text" name="xcloner_aws_secret" class="validate"
|
393 |
+
value="<?php echo str_repeat('*', strlen(get_option("xcloner_aws_secret"))) ?>"
|
394 |
autocomplete="off">
|
395 |
</div>
|
396 |
</div>
|
406 |
<option readonly
|
407 |
value=""><?php echo __("Please Select AWS S3 Region or Leave Unselected for Custom Endpoint") ?></option>
|
408 |
<?php
|
409 |
+
$aws_regions = $remote_storage->get_aws_regions();
|
410 |
|
411 |
+
foreach ($aws_regions as $key => $region) {
|
412 |
+
?>
|
413 |
<option value="<?php echo $key ?>" <?php echo($key == get_option('xcloner_aws_region') ? "selected" : "") ?>><?php echo $region ?>
|
414 |
= <?php echo $key ?></option>
|
415 |
<?php
|
416 |
+
}
|
417 |
+
?>
|
418 |
</select>
|
419 |
</div>
|
420 |
</div>
|
452 |
</div>
|
453 |
</div>
|
454 |
|
455 |
+
<?=common_cleanup_html('aws')?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
456 |
|
457 |
<div class="row">
|
458 |
<div class="col s6 m4">
|
481 |
<label>
|
482 |
Off
|
483 |
<input type="checkbox" name="xcloner_dropbox_enable" class="status"
|
484 |
+
value="1" <?php if (get_option("xcloner_dropbox_enable")) {
|
485 |
+
echo "checked";
|
486 |
+
} ?> \>
|
487 |
<span class="lever"></span>
|
488 |
On
|
489 |
</label>
|
524 |
<input placeholder="<?php echo __("Dropbox App Secret", 'xcloner-backup-and-restore') ?>"
|
525 |
id="dropbox_app_secret" type="text" name="xcloner_dropbox_app_secret"
|
526 |
class="validate"
|
527 |
+
value="<?php echo str_repeat('*', strlen(get_option("xcloner_dropbox_app_secret"))) ?>"
|
528 |
autocomplete="off">
|
529 |
</div>
|
530 |
</div>
|
540 |
</div>
|
541 |
</div>
|
542 |
|
543 |
+
<?=common_cleanup_html('dropbox')?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
544 |
|
545 |
<div class="row">
|
546 |
<div class="col s6 m4">
|
569 |
<label>
|
570 |
Off
|
571 |
<input type="checkbox" name="xcloner_azure_enable" class="status"
|
572 |
+
value="1" <?php if (get_option("xcloner_azure_enable")) {
|
573 |
+
echo "checked";
|
574 |
+
} ?> \>
|
575 |
<span class="lever"></span>
|
576 |
On
|
577 |
</label>
|
626 |
</div>
|
627 |
</div>
|
628 |
|
629 |
+
<?=common_cleanup_html('azure')?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
630 |
|
631 |
<div class="row">
|
632 |
<div class="col s6 m4">
|
650 |
<!-- BACKBLAZE STORAGE-->
|
651 |
<li id="backblaze">
|
652 |
<div class="collapsible-header">
|
653 |
+
<i class="material-icons">computer</i><?php echo __("Backblaze B2 Storage", 'xcloner-backup-and-restore') ?>
|
654 |
<div class="switch right">
|
655 |
<label>
|
656 |
Off
|
657 |
<input type="checkbox" name="xcloner_backblaze_enable" class="status"
|
658 |
+
value="1" <?php if (get_option("xcloner_backblaze_enable")) {
|
659 |
+
echo "checked";
|
660 |
+
} ?> \>
|
661 |
<span class="lever"></span>
|
662 |
On
|
663 |
</label>
|
716 |
</div>
|
717 |
</div>
|
718 |
|
719 |
+
<?=common_cleanup_html('backblaze')?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
720 |
|
721 |
<div class="row">
|
722 |
<div class="col s6 m4">
|
745 |
<label>
|
746 |
Off
|
747 |
<input type="checkbox" name="xcloner_webdav_enable" class="status"
|
748 |
+
value="1" <?php if (get_option("xcloner_webdav_enable")) {
|
749 |
+
echo "checked";
|
750 |
+
} ?> \>
|
751 |
<span class="lever"></span>
|
752 |
On
|
753 |
</label>
|
814 |
</div>
|
815 |
</div>
|
816 |
|
817 |
+
<?=common_cleanup_html('webdav')?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
818 |
|
819 |
<div class="row">
|
820 |
<div class="col s6 m4">
|
844 |
<label>
|
845 |
Off
|
846 |
<input type="checkbox" name="xcloner_gdrive_enable" class="status"
|
847 |
+
value="1" <?php if (get_option("xcloner_gdrive_enable")) {
|
848 |
+
echo "checked";
|
849 |
+
} ?> \>
|
850 |
<span class="lever"></span>
|
851 |
On
|
852 |
</label>
|
864 |
<div class=" col s12 m9">
|
865 |
<p>
|
866 |
<?php echo sprintf(__('Visit %s to create a new application and get your Client ID and Client Secret.', 'xcloner-backup-and-restore'), '<a href="https://console.developers.google.com" target="_blank">https://console.developers.google.com</a>') ?>
|
867 |
+
<a href="https://youtu.be/kBxf-39F4Nw" target="_blank"
|
868 |
class="btn-floating tooltipped btn-small" data-position="right"
|
869 |
data-delay="50" data-html="true"
|
870 |
+
data-tooltip="<?php echo sprintf(__('Click here to view a short video explaining how to create the Client ID and Client Secret as well as connecting XCloner with the Google Drive API %s', 'xcloner-backup-and-restore'), "<br />https://youtu.be/kBxf-39F4Nw") ?>"
|
871 |
data-tooltip-id="92c95730-94e9-7b59-bd52-14adc30d5e3e"><i
|
872 |
class="material-icons">help_outline</i></a>
|
873 |
</p>
|
932 |
</div>
|
933 |
</div>
|
934 |
|
935 |
+
<?=common_cleanup_html('gdrive')?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
936 |
|
937 |
<div class="row">
|
938 |
<div class="col s12 m3 label">
|
939 |
<label for="gdrive_empty_trash"><?php echo __("Automatically Empty Trash?", 'xcloner-backup-and-restore') ?></label>
|
940 |
</div>
|
941 |
<div class=" col s12 m6 input-field inline">
|
942 |
+
<p>
|
943 |
+
<label for="gdrive_empty_trash_off">
|
944 |
+
<input name="xcloner_gdrive_empty_trash" type="radio" value="0"
|
945 |
+
id="gdrive_empty_trash_off" <?php if (!get_option("xcloner_gdrive_empty_trash", 0)) {
|
946 |
+
echo "checked";
|
947 |
+
} ?> />
|
948 |
+
<span><?php echo __("Disabled", 'xcloner-backup-and-restore') ?></span>
|
949 |
+
</label>
|
950 |
+
</p>
|
951 |
+
<p>
|
952 |
+
<label for="gdrive_empty_trash_on">
|
953 |
+
<input name="xcloner_gdrive_empty_trash" type="radio" value="1"
|
954 |
+
id="gdrive_empty_trash_on" <?php if (get_option("xcloner_gdrive_empty_trash", 0)) {
|
955 |
+
echo "checked";
|
956 |
+
} ?> />
|
957 |
+
<span><?php echo __("Enabled", 'xcloner-backup-and-restore') ?></span>
|
958 |
+
</label>
|
959 |
+
</p>
|
960 |
</div>
|
961 |
</div>
|
962 |
|
981 |
<div class=" col s12">
|
982 |
<div class="center">
|
983 |
<?php
|
984 |
+
$url = wp_nonce_url(self_admin_url('update.php?action=install-plugin&plugin=xcloner-google-drive'), 'install-plugin_xcloner-google-drive');
|
985 |
+
?>
|
986 |
<h6><?php echo __("This storage option requires the XCloner-Google-Drive Wordpress Plugin to be installed and activated.") ?></h6>
|
987 |
<h6><?php echo __("PHP 5.5 minimum version is required.") ?></h6>
|
988 |
<br/>
|
1062 |
|
1063 |
jQuery('.collapsible').collapsible();
|
1064 |
|
1065 |
+
M.updateTextFields();
|
1066 |
|
1067 |
|
1068 |
});
|
admin/partials/xcloner_restore_page.php
CHANGED
@@ -19,7 +19,7 @@ $backup_list = $xcloner_file_system->get_latest_backups();
|
|
19 |
|
20 |
<div class="row xcloner-restore">
|
21 |
<div class="col s12">
|
22 |
-
<ul class="collapsible xcloner-restore " data-collapsible="accordion">
|
23 |
<li data-step="1" class="restore-script-upload-step steps active show">
|
24 |
<div class="collapsible-header active"><i
|
25 |
class="material-icons">settings_remote</i><?php echo __("Restore Script Upload", 'xcloner-backup-and-restore') ?>
|
@@ -51,7 +51,7 @@ $backup_list = $xcloner_file_system->get_latest_backups();
|
|
51 |
</ul>
|
52 |
|
53 |
<div class="input-field col l9 s12">
|
54 |
-
<input value="<?php echo (is_ssl()) ? "https://" : "" ?>" id="restore_script_url" type="text"
|
55 |
class="validate"
|
56 |
placeholder="Url to XCloner Restore Script, example http://myddns.com/xcloner/xcloner_restore.php">
|
57 |
<label for="restore_script_url"></label>
|
@@ -67,7 +67,7 @@ $backup_list = $xcloner_file_system->get_latest_backups();
|
|
67 |
</li>
|
68 |
|
69 |
<li data-step="2" class="backup-upload-step steps">
|
70 |
-
<div class="collapsible-header
|
71 |
class="material-icons">file_upload</i><?php echo __("Upload Local Backup Archive To Target Host", 'xcloner-backup-and-restore') ?>
|
72 |
</div>
|
73 |
<div class="collapsible-body row">
|
@@ -112,7 +112,7 @@ $backup_list = $xcloner_file_system->get_latest_backups();
|
|
112 |
</div>
|
113 |
</li>
|
114 |
|
115 |
-
<li data-step="3" class="restore-remote-backup-step steps
|
116 |
<div class="collapsible-header"><i
|
117 |
class="material-icons">folder_open</i><?php echo __("Restore Files Backup Available On Target Location", 'xcloner-backup-and-restore') ?>
|
118 |
<i class="material-icons right" title="Refresh Target Backup Files List"
|
@@ -163,44 +163,64 @@ $backup_list = $xcloner_file_system->get_latest_backups();
|
|
163 |
</div>
|
164 |
|
165 |
<div class="col s12">
|
166 |
-
|
167 |
-
value="" disabled/>
|
168 |
<label for="filter_files_all" class="tooltipped" data-position="right"
|
169 |
-
data-tooltip="<?php echo __("Restore all backup files. Available only when doing a Remote Target System Restore", 'xcloner-backup-and-restore') ?>"
|
170 |
-
|
171 |
-
|
172 |
-
|
|
|
|
|
|
|
|
|
|
|
173 |
<label for="filter_files_wp_content" class="tooltipped"
|
174 |
data-tooltip="<?php echo __('Restore the files only of the wp-content/ folder', 'xcloner-backup-and-restore') ?>">
|
175 |
-
|
|
|
|
|
|
|
|
|
176 |
</label>
|
177 |
|
178 |
-
|
179 |
-
value="/^wp-content\/plugins(.*)/"/>
|
180 |
<label for="filter_files_plugins" class="tooltipped"
|
181 |
data-tooltip="<?php echo __('Restore the files only of the wp-content/plugins/ folder', 'xcloner-backup-and-restore') ?>">
|
182 |
-
|
|
|
|
|
|
|
|
|
183 |
</label>
|
184 |
|
185 |
-
|
186 |
-
value="/^wp-content\/uploads(.*)/"/>
|
187 |
<label for="filter_files_uploads" class="tooltipped"
|
188 |
data-tooltip="<?php echo __('Restore the files only of the wp-content/uploads/ folder only', 'xcloner-backup-and-restore') ?>">
|
189 |
-
|
|
|
|
|
|
|
|
|
190 |
</label>
|
191 |
|
192 |
-
|
193 |
-
value="/^wp-content\/themes(.*)/"/>
|
194 |
<label for="filter_files_themes" class="tooltipped"
|
195 |
data-tooltip="<?php echo __('Restore the files only of the wp-content/themes/ folder', 'xcloner-backup-and-restore') ?>">
|
196 |
-
|
|
|
|
|
|
|
|
|
197 |
</label>
|
198 |
|
199 |
-
|
200 |
-
value="/^xcloner-(.*)\/(.*)\.sql/"/>
|
201 |
<label for="filter_files_database" class="tooltipped"
|
202 |
data-tooltip="<?php echo __('Restore the database-sql.sql mysql backup from the xcloner-xxxxx/ folder', 'xcloner-backup-and-restore') ?>">
|
203 |
-
|
|
|
|
|
|
|
|
|
204 |
</label>
|
205 |
</div>
|
206 |
</div>
|
@@ -234,7 +254,7 @@ $backup_list = $xcloner_file_system->get_latest_backups();
|
|
234 |
</div>
|
235 |
</li>
|
236 |
|
237 |
-
<li data-step="4" class="restore-remote-database-step steps
|
238 |
<div class="collapsible-header"><i
|
239 |
class="material-icons">list</i><?php echo __("Restore Target Database - Search and Replace", 'xcloner-backup-and-restore') ?>
|
240 |
<i class="material-icons right" title="Refresh Database Backup Files List"
|
@@ -271,7 +291,7 @@ $backup_list = $xcloner_file_system->get_latest_backups();
|
|
271 |
|
272 |
|
273 |
<div class="input-field col s12 m6">
|
274 |
-
<input type="
|
275 |
placeholder="Target Mysql Password">
|
276 |
<label><?php echo __("Target Mysql Password", 'xcloner-backup-and-restore') ?></label>
|
277 |
</div>
|
@@ -361,7 +381,7 @@ $backup_list = $xcloner_file_system->get_latest_backups();
|
|
361 |
</div>
|
362 |
</li>
|
363 |
|
364 |
-
<li data-step="5" class="restore-finish-step steps
|
365 |
<div class="collapsible-header"><i
|
366 |
class="material-icons">folder_open</i><?php echo __("Finishing up...", 'xcloner-backup-and-restore') ?>
|
367 |
</div>
|
19 |
|
20 |
<div class="row xcloner-restore">
|
21 |
<div class="col s12">
|
22 |
+
<ul class="collapsible xcloner-restore collapsible-accordion" data-collapsible="accordion">
|
23 |
<li data-step="1" class="restore-script-upload-step steps active show">
|
24 |
<div class="collapsible-header active"><i
|
25 |
class="material-icons">settings_remote</i><?php echo __("Restore Script Upload", 'xcloner-backup-and-restore') ?>
|
51 |
</ul>
|
52 |
|
53 |
<div class="input-field col l9 s12">
|
54 |
+
<input value="<?php echo (is_ssl()) ? "https://" : "" ?>" autocomplete="false" id="restore_script_url" type="text"
|
55 |
class="validate"
|
56 |
placeholder="Url to XCloner Restore Script, example http://myddns.com/xcloner/xcloner_restore.php">
|
57 |
<label for="restore_script_url"></label>
|
67 |
</li>
|
68 |
|
69 |
<li data-step="2" class="backup-upload-step steps">
|
70 |
+
<div class="collapsible-header "><i
|
71 |
class="material-icons">file_upload</i><?php echo __("Upload Local Backup Archive To Target Host", 'xcloner-backup-and-restore') ?>
|
72 |
</div>
|
73 |
<div class="collapsible-body row">
|
112 |
</div>
|
113 |
</li>
|
114 |
|
115 |
+
<li data-step="3" class="restore-remote-backup-step steps ">
|
116 |
<div class="collapsible-header"><i
|
117 |
class="material-icons">folder_open</i><?php echo __("Restore Files Backup Available On Target Location", 'xcloner-backup-and-restore') ?>
|
118 |
<i class="material-icons right" title="Refresh Target Backup Files List"
|
163 |
</div>
|
164 |
|
165 |
<div class="col s12">
|
166 |
+
|
|
|
167 |
<label for="filter_files_all" class="tooltipped" data-position="right"
|
168 |
+
data-tooltip="<?php echo __("Restore all backup files. Available only when doing a Remote Target System Restore", 'xcloner-backup-and-restore') ?>">
|
169 |
+
<input class="with-gap" name="filter_files" type="radio" id="filter_files_all" checked
|
170 |
+
value="" disabled/>
|
171 |
+
<span>
|
172 |
+
<?php echo __("Restore All Files", "xcloner-backup-and-restore") ?>
|
173 |
+
</span>
|
174 |
+
</label>
|
175 |
+
|
176 |
+
|
177 |
<label for="filter_files_wp_content" class="tooltipped"
|
178 |
data-tooltip="<?php echo __('Restore the files only of the wp-content/ folder', 'xcloner-backup-and-restore') ?>">
|
179 |
+
<input class="with-gap" name="filter_files" type="radio" id="filter_files_wp_content"
|
180 |
+
value="/^wp-content\/(.*)/"/>
|
181 |
+
<span>
|
182 |
+
<?php echo __("Only wp-content", "xcloner-backup-and-restore") ?>
|
183 |
+
</span>
|
184 |
</label>
|
185 |
|
186 |
+
|
|
|
187 |
<label for="filter_files_plugins" class="tooltipped"
|
188 |
data-tooltip="<?php echo __('Restore the files only of the wp-content/plugins/ folder', 'xcloner-backup-and-restore') ?>">
|
189 |
+
<input class="with-gap" name="filter_files" type="radio" id="filter_files_plugins"
|
190 |
+
value="/^wp-content\/plugins(.*)/"/>
|
191 |
+
<span>
|
192 |
+
<?php echo __("Only Plugins", "xcloner-backup-and-restore") ?>
|
193 |
+
</span>
|
194 |
</label>
|
195 |
|
196 |
+
|
|
|
197 |
<label for="filter_files_uploads" class="tooltipped"
|
198 |
data-tooltip="<?php echo __('Restore the files only of the wp-content/uploads/ folder only', 'xcloner-backup-and-restore') ?>">
|
199 |
+
<input class="with-gap" name="filter_files" type="radio" id="filter_files_uploads"
|
200 |
+
value="/^wp-content\/uploads(.*)/"/>
|
201 |
+
<span>
|
202 |
+
<?php echo __("Only Uploads", "xcloner-backup-and-restore") ?>
|
203 |
+
</span>
|
204 |
</label>
|
205 |
|
206 |
+
|
|
|
207 |
<label for="filter_files_themes" class="tooltipped"
|
208 |
data-tooltip="<?php echo __('Restore the files only of the wp-content/themes/ folder', 'xcloner-backup-and-restore') ?>">
|
209 |
+
<input class="with-gap" name="filter_files" type="radio" id="filter_files_themes"
|
210 |
+
value="/^wp-content\/themes(.*)/"/>
|
211 |
+
<span>
|
212 |
+
<?php echo __("Only Themes", "xcloner-backup-and-restore") ?>
|
213 |
+
</span>
|
214 |
</label>
|
215 |
|
216 |
+
|
|
|
217 |
<label for="filter_files_database" class="tooltipped"
|
218 |
data-tooltip="<?php echo __('Restore the database-sql.sql mysql backup from the xcloner-xxxxx/ folder', 'xcloner-backup-and-restore') ?>">
|
219 |
+
<input class="with-gap" name="filter_files" type="radio" id="filter_files_database"
|
220 |
+
value="/^xcloner-(.*)\/(.*)\.sql/"/>
|
221 |
+
<span>
|
222 |
+
<?php echo __("Only Database Backup", "xcloner-backup-and-restore") ?>
|
223 |
+
</span>
|
224 |
</label>
|
225 |
</div>
|
226 |
</div>
|
254 |
</div>
|
255 |
</li>
|
256 |
|
257 |
+
<li data-step="4" class="restore-remote-database-step steps ">
|
258 |
<div class="collapsible-header"><i
|
259 |
class="material-icons">list</i><?php echo __("Restore Target Database - Search and Replace", 'xcloner-backup-and-restore') ?>
|
260 |
<i class="material-icons right" title="Refresh Database Backup Files List"
|
291 |
|
292 |
|
293 |
<div class="input-field col s12 m6">
|
294 |
+
<input type="password" name="remote_mysql_pass" id="remote_mysql_pass" class="validate"
|
295 |
placeholder="Target Mysql Password">
|
296 |
<label><?php echo __("Target Mysql Password", 'xcloner-backup-and-restore') ?></label>
|
297 |
</div>
|
381 |
</div>
|
382 |
</li>
|
383 |
|
384 |
+
<li data-step="5" class="restore-finish-step steps ">
|
385 |
<div class="collapsible-header"><i
|
386 |
class="material-icons">folder_open</i><?php echo __("Finishing up...", 'xcloner-backup-and-restore') ?>
|
387 |
</div>
|
admin/partials/xcloner_scheduled_backups_page.php
CHANGED
@@ -108,16 +108,8 @@ $available_storages = $xcloner_remote_storage->get_available_storages();
|
|
108 |
On
|
109 |
</label>
|
110 |
</div>
|
111 |
-
<label style="top:-
|
112 |
</div>
|
113 |
-
<!--<div class="input-field inline col s12 l6">
|
114 |
-
<select id="backup_type" class="" name="backup_type" id="backup_type">
|
115 |
-
<option value=""><?php echo __("Full Backup", "xcloner-backup-and-restore"); ?></option>
|
116 |
-
<option value="diff"><?php echo __("Differential Backups", "xcloner-backup-and-restore"); ?></option>
|
117 |
-
<option value="full_diff"><?php echo __("Full Backup + Differential Backups", "xcloner-backup-and-restore"); ?></option>
|
118 |
-
</select>
|
119 |
-
<label for="backup_type"><?php echo __('Scheduled Backup Type', 'xcloner-backup-and-restore') ?></label>
|
120 |
-
</div>-->
|
121 |
</div>
|
122 |
|
123 |
<div class="row">
|
@@ -148,7 +140,7 @@ $available_storages = $xcloner_remote_storage->get_available_storages();
|
|
148 |
|
149 |
<?php if (sizeof($available_storages)): ?>
|
150 |
<div class="row">
|
151 |
-
<div class="input-field col s12
|
152 |
<select name="schedule_storage" id="schedule_storage" class="validate">
|
153 |
<option value=""
|
154 |
selected><?php echo __('none', 'xcloner-backup-and-restore') ?></option>
|
@@ -156,9 +148,23 @@ $available_storages = $xcloner_remote_storage->get_available_storages();
|
|
156 |
<option value="<?php echo $storage ?>"><?php echo $text ?></option>
|
157 |
<?php endforeach ?>
|
158 |
</select>
|
159 |
-
<label><?php echo __('Send To Remote Storage
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
160 |
</div>
|
161 |
</div>
|
|
|
|
|
162 |
<?php endif ?>
|
163 |
|
164 |
<div class="row">
|
108 |
On
|
109 |
</label>
|
110 |
</div>
|
111 |
+
<label style="top:-1.8em"><?php echo __('Encrypt Backup', 'xcloner-backup-and-restore') ?></label>
|
112 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
113 |
</div>
|
114 |
|
115 |
<div class="row">
|
140 |
|
141 |
<?php if (sizeof($available_storages)): ?>
|
142 |
<div class="row">
|
143 |
+
<div class="input-field col s12 l6">
|
144 |
<select name="schedule_storage" id="schedule_storage" class="validate">
|
145 |
<option value=""
|
146 |
selected><?php echo __('none', 'xcloner-backup-and-restore') ?></option>
|
148 |
<option value="<?php echo $storage ?>"><?php echo $text ?></option>
|
149 |
<?php endforeach ?>
|
150 |
</select>
|
151 |
+
<label><?php echo __('Send To Remote Storage', 'xcloner-backup-and-restore') ?></label>
|
152 |
+
</div>
|
153 |
+
|
154 |
+
<div class="input-field col s12 l6">
|
155 |
+
<div class="switch">
|
156 |
+
<label>
|
157 |
+
Off
|
158 |
+
<input type="checkbox" name="backup_delete_after_remote_transfer" id="backup_delete_after_remote_transfer" value="1">
|
159 |
+
<span class="lever"></span>
|
160 |
+
On
|
161 |
+
</label>
|
162 |
+
</div>
|
163 |
+
<label style="top:-1.8em"><?php echo __('Delete Local Copy After Transfer', 'xcloner-backup-and-restore') ?></label>
|
164 |
</div>
|
165 |
</div>
|
166 |
+
|
167 |
+
|
168 |
<?php endif ?>
|
169 |
|
170 |
<div class="row">
|
examples/standalone-backup-trigger.php
CHANGED
@@ -2,8 +2,21 @@
|
|
2 |
define('WP_DEBUG', true);
|
3 |
define('WP_DEBUG_DISPLAY', true);
|
4 |
|
|
|
|
|
|
|
|
|
5 |
require_once(dirname(__DIR__) . '/includes/class-xcloner-standalone.php');
|
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
//loading the default xcloner settings in format [{'option_name':'value', {'option_value': 'value'}}]
|
8 |
$json_config = json_decode(file_get_contents(__DIR__ . '/standalone_backup_trigger_config.json'));
|
9 |
|
@@ -13,4 +26,9 @@ if (!$json_config) {
|
|
13 |
|
14 |
//pass json config to Xcloner_Standalone lib
|
15 |
$xcloner_backup = new Xcloner_Standalone($json_config);
|
16 |
-
|
|
|
|
|
|
|
|
|
|
2 |
define('WP_DEBUG', true);
|
3 |
define('WP_DEBUG_DISPLAY', true);
|
4 |
|
5 |
+
if(file_exists(__DIR__ . "/../../../../wp-load.php")) {
|
6 |
+
require_once(__DIR__ .'/../../../../wp-load.php');
|
7 |
+
}
|
8 |
+
|
9 |
require_once(dirname(__DIR__) . '/includes/class-xcloner-standalone.php');
|
10 |
|
11 |
+
$profile = [
|
12 |
+
'id' => 0
|
13 |
+
];
|
14 |
+
|
15 |
+
if(isset($argv[1]) && $argv[1]) {
|
16 |
+
$profile_name = $argv[1];
|
17 |
+
}
|
18 |
+
|
19 |
+
|
20 |
//loading the default xcloner settings in format [{'option_name':'value', {'option_value': 'value'}}]
|
21 |
$json_config = json_decode(file_get_contents(__DIR__ . '/standalone_backup_trigger_config.json'));
|
22 |
|
26 |
|
27 |
//pass json config to Xcloner_Standalone lib
|
28 |
$xcloner_backup = new Xcloner_Standalone($json_config);
|
29 |
+
|
30 |
+
if (isset($profile_name) && $profile_name) {
|
31 |
+
$profile = ($xcloner_backup->xcloner_scheduler->get_schedule_by_id_or_name($profile_name));
|
32 |
+
}
|
33 |
+
|
34 |
+
$xcloner_backup->start($profile['id']);
|
includes/class-xcloner-activator.php
CHANGED
@@ -154,11 +154,8 @@ class Xcloner_Activator
|
|
154 |
* */
|
155 |
|
156 |
if (!get_option('xcloner_regex_exclude')) {
|
157 |
-
update_option('xcloner_regex_exclude', "(wp-content\/updraft|wp-content\/uploads\/wp_all_backup)(.*)$".PHP_EOL."(.*)\.(svn|git)(.*)$".PHP_EOL."wp-content\/cache(.*)$".PHP_EOL."(.*)error_log$");
|
158 |
}
|
159 |
|
160 |
-
if (!get_option('xcloner_regex_exclude')) {
|
161 |
-
update_option('xcloner_regex_exclude', "(wp-content\/updraft|wp-content\/uploads\/wp_all_backup)(.*)$".PHP_EOL."(.*)\.(svn|git)(.*)$".PHP_EOL."wp-content\/cache(.*)$".PHP_EOL."(.*)error_log$");
|
162 |
-
}
|
163 |
}
|
164 |
}
|
154 |
* */
|
155 |
|
156 |
if (!get_option('xcloner_regex_exclude')) {
|
157 |
+
update_option('xcloner_regex_exclude', "(wp-content\/updraft|wp-content\/uploads\/wp_all_backup|wp-content\/ai1wm-backups|wp-content\/plugins\/akeebabackupwp\/app\/backups)(.*)\.(.*)$(?<!config|php|html|htaccess|htm)".PHP_EOL."(.*)\.(svn|git)(.*)$".PHP_EOL."wp-content\/cache(.*)$".PHP_EOL."(.*)error_log$".PHP_EOL."xcloner-[0-9a-zA-Z]{5}$");
|
158 |
}
|
159 |
|
|
|
|
|
|
|
160 |
}
|
161 |
}
|
includes/class-xcloner-api.php
CHANGED
@@ -154,9 +154,12 @@ class Xcloner_Api
|
|
154 |
}
|
155 |
$this->form_params['backup_params']['schedule_name'] = $this->xcloner_sanitization->sanitize_input_as_string($_POST['schedule_name']);
|
156 |
$this->form_params['backup_params']['backup_encrypt'] = $this->xcloner_sanitization->sanitize_input_as_int($_POST['backup_encrypt']);
|
|
|
157 |
$this->form_params['backup_params']['start_at'] = strtotime($_POST['schedule_start_date']);
|
158 |
$this->form_params['backup_params']['schedule_frequency'] = $this->xcloner_sanitization->sanitize_input_as_string($_POST['schedule_frequency']);
|
159 |
$this->form_params['backup_params']['schedule_storage'] = $this->xcloner_sanitization->sanitize_input_as_string($_POST['schedule_storage']);
|
|
|
|
|
160 |
$this->form_params['database'] = (stripslashes($this->xcloner_sanitization->sanitize_input_as_raw($_POST['table_params'])));
|
161 |
$this->form_params['excluded_files'] = (stripslashes($this->xcloner_sanitization->sanitize_input_as_raw($_POST['excluded_files'])));
|
162 |
|
@@ -202,6 +205,18 @@ class Xcloner_Api
|
|
202 |
if ($schedule['start_at'] <= time()) {
|
203 |
$schedule['start_at'] = "";
|
204 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
205 |
}
|
206 |
|
207 |
if (!$schedule['start_at']) {
|
@@ -220,6 +235,7 @@ class Xcloner_Api
|
|
220 |
}
|
221 |
$schedule['remote_storage'] = $this->form_params['backup_params']['schedule_storage'];
|
222 |
//$schedule['backup_type'] = $this->form_params['backup_params']['backup_type'];
|
|
|
223 |
$schedule['params'] = json_encode($this->form_params);
|
224 |
|
225 |
if (!isset($_POST['id'])) {
|
@@ -415,7 +431,7 @@ class Xcloner_Api
|
|
415 |
*/
|
416 |
private function process_params($params)
|
417 |
{
|
418 |
-
if($params->processed) {
|
419 |
$this->form_params = json_decode(json_encode((array)$params), true);
|
420 |
return;
|
421 |
}
|
@@ -733,7 +749,7 @@ class Xcloner_Api
|
|
733 |
$backup_text = "<span title='".$backup_time."' class='shorten_string'>".$res->last_backup." (".$backup_size.")</span>";
|
734 |
}
|
735 |
|
736 |
-
$schedules =
|
737 |
|
738 |
if (isset($schedules[$res->recurrence])) {
|
739 |
$res->recurrence = $schedules[$res->recurrence]['display'];
|
@@ -932,7 +948,10 @@ class Xcloner_Api
|
|
932 |
{
|
933 |
$this->check_access();
|
934 |
|
935 |
-
$return = array(
|
|
|
|
|
|
|
936 |
$storage_selection = "";
|
937 |
|
938 |
if (isset($_GET['storage_selection']) and $_GET['storage_selection']) {
|
@@ -940,7 +959,12 @@ class Xcloner_Api
|
|
940 |
}
|
941 |
$available_storages = $this->xcloner_remote_storage->get_available_storages();
|
942 |
|
943 |
-
|
|
|
|
|
|
|
|
|
|
|
944 |
|
945 |
$i = -1;
|
946 |
foreach ($backup_list as $file_info):?>
|
@@ -959,9 +983,11 @@ class Xcloner_Api
|
|
959 |
|
960 |
<?php ob_start(); ?>
|
961 |
<p>
|
|
|
962 |
<input name="backup[]" value="<?php echo $file_info['basename'] ?>" type="checkbox"
|
963 |
id="checkbox_<?php echo ++$i ?>">
|
964 |
-
<
|
|
|
965 |
</p>
|
966 |
<?php
|
967 |
$return['data'][$i][] = ob_get_contents();
|
@@ -1028,9 +1054,9 @@ class Xcloner_Api
|
|
1028 |
<?php elseif ($storage_selection != "gdrive" && !$this->xcloner_file_system->get_storage_filesystem()->has($child[0])): ?>
|
1029 |
<a href="#<?php echo $child[0] ?>" class="copy-remote-to-local"
|
1030 |
title="<?php echo __(
|
1031 |
-
|
1032 |
-
|
1033 |
-
|
1034 |
class="material-icons">file_upload</i></a>
|
1035 |
<?php endif ?>
|
1036 |
</li>
|
@@ -1233,6 +1259,7 @@ class Xcloner_Api
|
|
1233 |
|
1234 |
$backup_file = $this->xcloner_sanitization->sanitize_input_as_string($_POST['file']);
|
1235 |
$storage_type = $this->xcloner_sanitization->sanitize_input_as_string($_POST['storage_type']);
|
|
|
1236 |
|
1237 |
$xcloner_remote_storage = $this->get_xcloner_container()->get_xcloner_remote_storage();
|
1238 |
|
@@ -1241,7 +1268,7 @@ class Xcloner_Api
|
|
1241 |
$return = call_user_func_array(array(
|
1242 |
$xcloner_remote_storage,
|
1243 |
"upload_backup_to_storage"
|
1244 |
-
), array($backup_file, $storage_type));
|
1245 |
}
|
1246 |
} catch (Exception $e) {
|
1247 |
$return['error'] = 1;
|
154 |
}
|
155 |
$this->form_params['backup_params']['schedule_name'] = $this->xcloner_sanitization->sanitize_input_as_string($_POST['schedule_name']);
|
156 |
$this->form_params['backup_params']['backup_encrypt'] = $this->xcloner_sanitization->sanitize_input_as_int($_POST['backup_encrypt']);
|
157 |
+
|
158 |
$this->form_params['backup_params']['start_at'] = strtotime($_POST['schedule_start_date']);
|
159 |
$this->form_params['backup_params']['schedule_frequency'] = $this->xcloner_sanitization->sanitize_input_as_string($_POST['schedule_frequency']);
|
160 |
$this->form_params['backup_params']['schedule_storage'] = $this->xcloner_sanitization->sanitize_input_as_string($_POST['schedule_storage']);
|
161 |
+
$this->form_params['backup_params']['backup_delete_after_remote_transfer'] = $this->xcloner_sanitization->sanitize_input_as_int($_POST['backup_delete_after_remote_transfer']);
|
162 |
+
|
163 |
$this->form_params['database'] = (stripslashes($this->xcloner_sanitization->sanitize_input_as_raw($_POST['table_params'])));
|
164 |
$this->form_params['excluded_files'] = (stripslashes($this->xcloner_sanitization->sanitize_input_as_raw($_POST['excluded_files'])));
|
165 |
|
205 |
if ($schedule['start_at'] <= time()) {
|
206 |
$schedule['start_at'] = "";
|
207 |
}
|
208 |
+
|
209 |
+
//fixing table names assigment
|
210 |
+
foreach ($this->form_params['database'] as $db=>$tables) {
|
211 |
+
if ($db == "#") {
|
212 |
+
continue;
|
213 |
+
}
|
214 |
+
|
215 |
+
foreach ($tables as $key=>$table) {
|
216 |
+
//echo $this->form_params['database'][$db][$key];
|
217 |
+
$this->form_params['database'][$db][$key] = substr($table, strlen($db)+1);
|
218 |
+
}
|
219 |
+
}
|
220 |
}
|
221 |
|
222 |
if (!$schedule['start_at']) {
|
235 |
}
|
236 |
$schedule['remote_storage'] = $this->form_params['backup_params']['schedule_storage'];
|
237 |
//$schedule['backup_type'] = $this->form_params['backup_params']['backup_type'];
|
238 |
+
|
239 |
$schedule['params'] = json_encode($this->form_params);
|
240 |
|
241 |
if (!isset($_POST['id'])) {
|
431 |
*/
|
432 |
private function process_params($params)
|
433 |
{
|
434 |
+
if ($params && $params->processed) {
|
435 |
$this->form_params = json_decode(json_encode((array)$params), true);
|
436 |
return;
|
437 |
}
|
749 |
$backup_text = "<span title='".$backup_time."' class='shorten_string'>".$res->last_backup." (".$backup_size.")</span>";
|
750 |
}
|
751 |
|
752 |
+
$schedules = $this->xcloner_scheduler->get_available_intervals();
|
753 |
|
754 |
if (isset($schedules[$res->recurrence])) {
|
755 |
$res->recurrence = $schedules[$res->recurrence]['display'];
|
948 |
{
|
949 |
$this->check_access();
|
950 |
|
951 |
+
$return = array(
|
952 |
+
"data" => array()
|
953 |
+
);
|
954 |
+
|
955 |
$storage_selection = "";
|
956 |
|
957 |
if (isset($_GET['storage_selection']) and $_GET['storage_selection']) {
|
959 |
}
|
960 |
$available_storages = $this->xcloner_remote_storage->get_available_storages();
|
961 |
|
962 |
+
try {
|
963 |
+
$backup_list = $this->xcloner_file_system->get_backup_archives_list($storage_selection);
|
964 |
+
}catch(Exception $e){
|
965 |
+
$this->send_response($return, 0);
|
966 |
+
return;
|
967 |
+
}
|
968 |
|
969 |
$i = -1;
|
970 |
foreach ($backup_list as $file_info):?>
|
983 |
|
984 |
<?php ob_start(); ?>
|
985 |
<p>
|
986 |
+
<label for="checkbox_<?php echo $i ?>">
|
987 |
<input name="backup[]" value="<?php echo $file_info['basename'] ?>" type="checkbox"
|
988 |
id="checkbox_<?php echo ++$i ?>">
|
989 |
+
<span> </span>
|
990 |
+
</label>
|
991 |
</p>
|
992 |
<?php
|
993 |
$return['data'][$i][] = ob_get_contents();
|
1054 |
<?php elseif ($storage_selection != "gdrive" && !$this->xcloner_file_system->get_storage_filesystem()->has($child[0])): ?>
|
1055 |
<a href="#<?php echo $child[0] ?>" class="copy-remote-to-local"
|
1056 |
title="<?php echo __(
|
1057 |
+
'Push Backup To Local Storage',
|
1058 |
+
'xcloner-backup-and-restore'
|
1059 |
+
) ?>"><i
|
1060 |
class="material-icons">file_upload</i></a>
|
1061 |
<?php endif ?>
|
1062 |
</li>
|
1259 |
|
1260 |
$backup_file = $this->xcloner_sanitization->sanitize_input_as_string($_POST['file']);
|
1261 |
$storage_type = $this->xcloner_sanitization->sanitize_input_as_string($_POST['storage_type']);
|
1262 |
+
$delete_local_copy_after_transfer = $this->xcloner_sanitization->sanitize_input_as_string($_POST['delete_after_transfer']);
|
1263 |
|
1264 |
$xcloner_remote_storage = $this->get_xcloner_container()->get_xcloner_remote_storage();
|
1265 |
|
1268 |
$return = call_user_func_array(array(
|
1269 |
$xcloner_remote_storage,
|
1270 |
"upload_backup_to_storage"
|
1271 |
+
), array($backup_file, $storage_type, $delete_local_copy_after_transfer));
|
1272 |
}
|
1273 |
} catch (Exception $e) {
|
1274 |
$return['error'] = 1;
|
includes/class-xcloner-archive.php
CHANGED
@@ -953,6 +953,111 @@ class Xcloner_Archive extends Tar
|
|
953 |
return $return;
|
954 |
}
|
955 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
956 |
|
957 |
|
958 |
/**
|
953 |
return $return;
|
954 |
}
|
955 |
|
956 |
+
/**
|
957 |
+
* Extract archive contents
|
958 |
+
*
|
959 |
+
* @param [type] $outdir
|
960 |
+
* @param string $strip
|
961 |
+
* @param string $exclude
|
962 |
+
* @param string $include
|
963 |
+
* @param integer $files_limit
|
964 |
+
* @return void
|
965 |
+
*/
|
966 |
+
public function extract($outdir, $strip = '', $exclude = '', $include = '', $files_limit = 0)
|
967 |
+
{
|
968 |
+
|
969 |
+
if ($this->closed || !$this->file) {
|
970 |
+
throw new ArchiveIOException('Can not read from a closed archive');
|
971 |
+
}
|
972 |
+
|
973 |
+
$outdir = rtrim($outdir, '/');
|
974 |
+
if(!is_dir($outdir))
|
975 |
+
@mkdir($outdir, 0755, true);
|
976 |
+
else
|
977 |
+
@chmod($outdir, 0777);
|
978 |
+
|
979 |
+
//@mkdir($outdir, 0777, true);
|
980 |
+
|
981 |
+
if (!is_dir($outdir)) {
|
982 |
+
throw new ArchiveIOException("Could not create directory '$outdir'");
|
983 |
+
}
|
984 |
+
|
985 |
+
$files_counter = 0;
|
986 |
+
$return = array();
|
987 |
+
|
988 |
+
$extracted = array();
|
989 |
+
while ($dat = $this->readbytes(512)) {
|
990 |
+
// read the file header
|
991 |
+
$header = $this->parseHeader($dat);
|
992 |
+
if (!is_array($header)) {
|
993 |
+
continue;
|
994 |
+
}
|
995 |
+
|
996 |
+
if($files_limit)
|
997 |
+
{
|
998 |
+
if(++$files_counter > $files_limit)
|
999 |
+
{
|
1000 |
+
$return['extracted_files'] = $extracted;
|
1001 |
+
$return['start'] = ftell($this->fh)-512;
|
1002 |
+
return $return;
|
1003 |
+
}
|
1004 |
+
}
|
1005 |
+
|
1006 |
+
$fileinfo = $this->header2fileinfo($header);
|
1007 |
+
|
1008 |
+
// apply strip rules
|
1009 |
+
$fileinfo->strip($strip);
|
1010 |
+
|
1011 |
+
// skip unwanted files
|
1012 |
+
if (!strlen($fileinfo->getPath()) || !$fileinfo->match($include, $exclude)) {
|
1013 |
+
$this->skipbytes(ceil($header['size'] / 512) * 512);
|
1014 |
+
continue;
|
1015 |
+
}
|
1016 |
+
|
1017 |
+
// create output directory
|
1018 |
+
$output = $outdir.'/'.$fileinfo->getPath();
|
1019 |
+
$directory = ($fileinfo->getIsdir()) ? $output : dirname($output);
|
1020 |
+
if(!is_dir($directory))
|
1021 |
+
@mkdir($directory, 0755, true);
|
1022 |
+
else
|
1023 |
+
@chmod($directory, 0755);
|
1024 |
+
|
1025 |
+
// extract data
|
1026 |
+
if (!$fileinfo->getIsdir()) {
|
1027 |
+
if(file_exists($output))
|
1028 |
+
unlink($output);
|
1029 |
+
|
1030 |
+
$fp = fopen($output, "wb");
|
1031 |
+
if (!$fp) {
|
1032 |
+
throw new ArchiveIOException('Could not open file for writing: '.$output);
|
1033 |
+
}
|
1034 |
+
|
1035 |
+
$size = floor($header['size'] / 512);
|
1036 |
+
for ($i = 0; $i < $size; $i++) {
|
1037 |
+
fwrite($fp, $this->readbytes(512), 512);
|
1038 |
+
}
|
1039 |
+
if (($header['size'] % 512) != 0) {
|
1040 |
+
fwrite($fp, $this->readbytes(512), $header['size'] % 512);
|
1041 |
+
}
|
1042 |
+
|
1043 |
+
fclose($fp);
|
1044 |
+
touch($output, $fileinfo->getMtime());
|
1045 |
+
chmod($output, $fileinfo->getMode());
|
1046 |
+
} else {
|
1047 |
+
//$this->skipbytes(ceil($header['size'] / 512) * 512); // the size is usually 0 for directories
|
1048 |
+
$this->skipbytes(ceil(0 / 512) * 512); // the size is usually 0 for directories
|
1049 |
+
}
|
1050 |
+
|
1051 |
+
$extracted[] = $fileinfo;
|
1052 |
+
}
|
1053 |
+
|
1054 |
+
$this->close();
|
1055 |
+
|
1056 |
+
$return['extracted_files'] = $extracted;
|
1057 |
+
|
1058 |
+
return $return;
|
1059 |
+
}
|
1060 |
+
|
1061 |
|
1062 |
|
1063 |
/**
|
includes/class-xcloner-file-system.php
CHANGED
@@ -684,17 +684,28 @@ class Xcloner_File_System
|
|
684 |
return $return;
|
685 |
}
|
686 |
|
687 |
-
public function backup_storage_cleanup()
|
688 |
{
|
689 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
690 |
|
691 |
$_storage_size = 0;
|
692 |
$_backup_files_list = array();
|
693 |
|
|
|
|
|
694 |
//rule date limit
|
695 |
-
$
|
|
|
696 |
|
697 |
-
$files = $
|
698 |
|
699 |
if (is_array($files)) {
|
700 |
foreach ($files as $file) {
|
@@ -711,33 +722,53 @@ class Xcloner_File_System
|
|
711 |
$_backups_counter = sizeof($_backup_files_list);
|
712 |
|
713 |
foreach ($_backup_files_list as $file) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
714 |
//processing rule folder capacity
|
715 |
-
|
|
|
716 |
$_storage_size >= ($set_storage_limit = 1024 * 1024 * $this->xcloner_settings->get_xcloner_option('xcloner_cleanup_capacity_limit'))) { //bytes
|
717 |
-
$
|
718 |
$_storage_size -= $file['size'];
|
719 |
-
$this->logger->info("Deleting backup ".$file['path']." matching rule", array(
|
720 |
"STORAGE SIZE LIMIT",
|
721 |
$_storage_size." >= ".$set_storage_limit
|
722 |
));
|
723 |
}
|
724 |
|
725 |
//processing rule days limit
|
726 |
-
|
727 |
-
|
728 |
-
$
|
|
|
729 |
"RETENTION LIMIT TIMESTAMP",
|
730 |
-
$file['timestamp']." =< ".$this->xcloner_settings->get_xcloner_option(
|
731 |
));
|
732 |
}
|
733 |
|
734 |
//processing backup countert limit
|
|
|
735 |
if ($this->xcloner_settings->get_xcloner_option('xcloner_cleanup_retention_limit_archives') && $_backups_counter >= $this->xcloner_settings->get_xcloner_option('xcloner_cleanup_retention_limit_archives')) {
|
736 |
-
$
|
737 |
$_backups_counter--;
|
738 |
-
$this->logger->info("Deleting backup ".$file['path']." matching rule", array(
|
739 |
"BACKUP QUANTITY LIMIT",
|
740 |
-
$_backups_counter." >= ".$this->xcloner_settings->get_xcloner_option(
|
741 |
));
|
742 |
}
|
743 |
}
|
684 |
return $return;
|
685 |
}
|
686 |
|
687 |
+
public function backup_storage_cleanup($storage_name = "local", $storage_filesystem = "")
|
688 |
{
|
689 |
+
//$storage_name = "webdav";
|
690 |
+
|
691 |
+
$storage_name = strtoupper($storage_name);
|
692 |
+
|
693 |
+
$this->logger->info(sprintf("Cleaning the backup storage %s on matching rules", $storage_name));
|
694 |
+
|
695 |
+
if (!$storage_filesystem) {
|
696 |
+
$storage_filesystem = $this->storage_filesystem;
|
697 |
+
}
|
698 |
|
699 |
$_storage_size = 0;
|
700 |
$_backup_files_list = array();
|
701 |
|
702 |
+
$options_prefix = $this->xcloner_settings->get_options_prefix()."_".($storage_name == "LOCAL"?"":strtolower( $storage_name)."_");
|
703 |
+
|
704 |
//rule date limit
|
705 |
+
$xcloner_cleanup_retention_limit_days = $options_prefix . "cleanup_retention_limit_days";
|
706 |
+
$current_timestamp = strtotime("-".$this->xcloner_settings->get_xcloner_option($xcloner_cleanup_retention_limit_days)." days");
|
707 |
|
708 |
+
$files = $storage_filesystem->listContents();
|
709 |
|
710 |
if (is_array($files)) {
|
711 |
foreach ($files as $file) {
|
722 |
$_backups_counter = sizeof($_backup_files_list);
|
723 |
|
724 |
foreach ($_backup_files_list as $file) {
|
725 |
+
|
726 |
+
// processing rule for exclude backups taken on certain days
|
727 |
+
$xcloner_cleanup_exclude_days = $options_prefix . "cleanup_exclude_days";
|
728 |
+
if ($exclude_days_string = $this->xcloner_settings->get_xcloner_option($xcloner_cleanup_exclude_days)) {
|
729 |
+
$exclude_days = explode(",", $exclude_days_string);
|
730 |
+
|
731 |
+
$backup_day_of_month = date('j', $file['timestamp']);
|
732 |
+
if (in_array($backup_day_of_month, $exclude_days)) {
|
733 |
+
$this->logger->info(sprintf("Excluding %s from storage %s cleanup trashing as it was taken on month day %s ",
|
734 |
+
$file['path'],
|
735 |
+
$storage_name,
|
736 |
+
$backup_day_of_month)
|
737 |
+
);
|
738 |
+
continue;
|
739 |
+
}
|
740 |
+
}
|
741 |
+
|
742 |
//processing rule folder capacity
|
743 |
+
$xcloner_cleanup_capacity_limit = $options_prefix."cleanup_capacity_limit";
|
744 |
+
if ($this->xcloner_settings->get_xcloner_option($xcloner_cleanup_capacity_limit) &&
|
745 |
$_storage_size >= ($set_storage_limit = 1024 * 1024 * $this->xcloner_settings->get_xcloner_option('xcloner_cleanup_capacity_limit'))) { //bytes
|
746 |
+
$storage_filesystem->delete($file['path']);
|
747 |
$_storage_size -= $file['size'];
|
748 |
+
$this->logger->info("Deleting backup ".$file['path']." from storage system ".$storage_name." matching rule", array(
|
749 |
"STORAGE SIZE LIMIT",
|
750 |
$_storage_size." >= ".$set_storage_limit
|
751 |
));
|
752 |
}
|
753 |
|
754 |
//processing rule days limit
|
755 |
+
$xcloner_cleanup_retention_limit_days = $options_prefix . "cleanup_retention_limit_days";
|
756 |
+
if ($this->xcloner_settings->get_xcloner_option($xcloner_cleanup_retention_limit_days) && $current_timestamp >= $file['timestamp']) {
|
757 |
+
$storage_filesystem->delete($file['path']);
|
758 |
+
$this->logger->info("Deleting backup ".$file['path']." from storage system ".$storage_name." matching rule", array(
|
759 |
"RETENTION LIMIT TIMESTAMP",
|
760 |
+
$file['timestamp']." =< ".$this->xcloner_settings->get_xcloner_option($xcloner_cleanup_retention_limit_days)
|
761 |
));
|
762 |
}
|
763 |
|
764 |
//processing backup countert limit
|
765 |
+
$xcloner_cleanup_retention_limit_archives = $options_prefix . "cleanup_retention_limit_archives";
|
766 |
if ($this->xcloner_settings->get_xcloner_option('xcloner_cleanup_retention_limit_archives') && $_backups_counter >= $this->xcloner_settings->get_xcloner_option('xcloner_cleanup_retention_limit_archives')) {
|
767 |
+
$storage_filesystem->delete($file['path']);
|
768 |
$_backups_counter--;
|
769 |
+
$this->logger->info("Deleting backup ".$file['path']." from storage system ".$storage_name." matching rule", array(
|
770 |
"BACKUP QUANTITY LIMIT",
|
771 |
+
$_backups_counter." >= ".$this->xcloner_settings->get_xcloner_option($xcloner_cleanup_retention_limit_archives)
|
772 |
));
|
773 |
}
|
774 |
}
|
includes/class-xcloner-logger.php
CHANGED
@@ -120,4 +120,19 @@ class Xcloner_Logger extends Logger
|
|
120 |
|
121 |
return $lines;
|
122 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
123 |
}
|
120 |
|
121 |
return $lines;
|
122 |
}
|
123 |
+
|
124 |
+
/**
|
125 |
+
* Info message logging
|
126 |
+
*
|
127 |
+
* @param [type] $msg
|
128 |
+
* @param boolean $print
|
129 |
+
* @return void
|
130 |
+
*/
|
131 |
+
public function print_info($message, $context = array())
|
132 |
+
{
|
133 |
+
if (!WP_DEBUG) {
|
134 |
+
echo sprintf("[%s] %s \n", date("Y-m-d H:i:s"), $message);
|
135 |
+
}
|
136 |
+
return parent::info($message, $context);
|
137 |
+
}
|
138 |
}
|
includes/class-xcloner-remote-storage.php
CHANGED
@@ -68,7 +68,10 @@ class Xcloner_Remote_Storage
|
|
68 |
"ftp_transfer_mode" => "int",
|
69 |
"ftp_ssl_mode" => "int",
|
70 |
"ftp_timeout" => "int",
|
71 |
-
"
|
|
|
|
|
|
|
72 |
),
|
73 |
"sftp" => array(
|
74 |
"text" => "SFTP",
|
@@ -80,7 +83,10 @@ class Xcloner_Remote_Storage
|
|
80 |
"sftp_path" => "path",
|
81 |
"sftp_private_key" => "raw",
|
82 |
"sftp_timeout" => "int",
|
83 |
-
"
|
|
|
|
|
|
|
84 |
),
|
85 |
"aws" => array(
|
86 |
"text" => "S3",
|
@@ -91,7 +97,10 @@ class Xcloner_Remote_Storage
|
|
91 |
"aws_region" => "string",
|
92 |
"aws_bucket_name" => "string",
|
93 |
"aws_prefix" => "string",
|
94 |
-
"
|
|
|
|
|
|
|
95 |
),
|
96 |
"dropbox" => array(
|
97 |
"text" => "Dropbox",
|
@@ -99,7 +108,10 @@ class Xcloner_Remote_Storage
|
|
99 |
"dropbox_access_token" => "string",
|
100 |
"dropbox_app_secret" => "raw",
|
101 |
"dropbox_prefix" => "string",
|
102 |
-
"
|
|
|
|
|
|
|
103 |
),
|
104 |
"azure" => array(
|
105 |
"text" => "Azure BLOB",
|
@@ -107,7 +119,10 @@ class Xcloner_Remote_Storage
|
|
107 |
"azure_account_name" => "string",
|
108 |
"azure_api_key" => "raw",
|
109 |
"azure_container" => "string",
|
110 |
-
"
|
|
|
|
|
|
|
111 |
),
|
112 |
"backblaze" => array(
|
113 |
"text" => "Backblaze",
|
@@ -115,7 +130,10 @@ class Xcloner_Remote_Storage
|
|
115 |
"backblaze_account_id" => "string",
|
116 |
"backblaze_application_key" => "raw",
|
117 |
"backblaze_bucket_name" => "string",
|
118 |
-
"
|
|
|
|
|
|
|
119 |
),
|
120 |
|
121 |
"webdav" => array(
|
@@ -125,7 +143,11 @@ class Xcloner_Remote_Storage
|
|
125 |
"webdav_username" => "string",
|
126 |
"webdav_password" => "raw",
|
127 |
"webdav_target_folder" => "string",
|
128 |
-
"
|
|
|
|
|
|
|
|
|
129 |
),
|
130 |
|
131 |
"gdrive" => array(
|
@@ -135,8 +157,11 @@ class Xcloner_Remote_Storage
|
|
135 |
"gdrive_client_id" => "string",
|
136 |
"gdrive_client_secret" => "raw",
|
137 |
"gdrive_target_folder" => "string",
|
138 |
-
"
|
139 |
"gdrive_empty_trash" => "int",
|
|
|
|
|
|
|
140 |
),
|
141 |
);
|
142 |
|
@@ -249,7 +274,7 @@ class Xcloner_Remote_Storage
|
|
249 |
$return[$storage] = $data['text'];
|
250 |
}
|
251 |
}
|
252 |
-
|
253 |
return $return;
|
254 |
}
|
255 |
|
@@ -267,7 +292,6 @@ class Xcloner_Remote_Storage
|
|
267 |
$check_field = $this->storage_fields["option_prefix"] . $field;
|
268 |
$sanitize_method = "sanitize_input_as_" . $validation;
|
269 |
|
270 |
-
|
271 |
//we do not save empty encrypted credentials
|
272 |
if ($validation == "raw" && str_repeat('*', strlen($_POST[$check_field])) == $_POST[$check_field] && $_POST[$check_field]) {
|
273 |
continue;
|
@@ -362,7 +386,7 @@ class Xcloner_Remote_Storage
|
|
362 |
return true;
|
363 |
}
|
364 |
|
365 |
-
public function upload_backup_to_storage($file, $storage)
|
366 |
{
|
367 |
if (!$this->xcloner_file_system->get_storage_filesystem()->has($file)) {
|
368 |
$this->logger->info(sprintf("File not found %s in local storage", $file));
|
@@ -420,6 +444,13 @@ class Xcloner_Remote_Storage
|
|
420 |
|
421 |
$this->logger->info(sprintf("Upload done, disconnecting from remote storage %s", strtoupper($storage)));
|
422 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
423 |
return true;
|
424 |
}
|
425 |
|
@@ -488,31 +519,7 @@ class Xcloner_Remote_Storage
|
|
488 |
|
489 |
public function clean_remote_storage($storage, $remote_storage_filesystem)
|
490 |
{
|
491 |
-
|
492 |
-
if ($expire_days = $this->xcloner_settings->get_xcloner_option($check_field)) {
|
493 |
-
$this->logger->info(sprintf(
|
494 |
-
"Doing %s remote storage cleanup for %s days limit",
|
495 |
-
strtoupper($storage),
|
496 |
-
$expire_days
|
497 |
-
));
|
498 |
-
$files = $remote_storage_filesystem->listContents();
|
499 |
-
|
500 |
-
$current_timestamp = strtotime("-" . $expire_days . " days");
|
501 |
-
|
502 |
-
if (is_array($files)) {
|
503 |
-
foreach ($files as $file) {
|
504 |
-
$file['timestamp'] = $remote_storage_filesystem->getTimestamp($file['path']);
|
505 |
-
|
506 |
-
if ($current_timestamp >= $file['timestamp']) {
|
507 |
-
$remote_storage_filesystem->delete($file['path']);
|
508 |
-
$this->logger->info("Deleting remote file " . $file['path'] . " matching rule", array(
|
509 |
-
"RETENTION LIMIT TIMESTAMP",
|
510 |
-
$file['timestamp'] . " =< " . $expire_days
|
511 |
-
));
|
512 |
-
}
|
513 |
-
}
|
514 |
-
}
|
515 |
-
}
|
516 |
}
|
517 |
|
518 |
public function get_azure_filesystem()
|
@@ -826,10 +833,9 @@ class Xcloner_Remote_Storage
|
|
826 |
'root' => ($this->xcloner_settings->get_xcloner_option("xcloner_sftp_path")?$this->xcloner_settings->get_xcloner_option("xcloner_sftp_path"):'./'),
|
827 |
'privateKey' => $this->xcloner_settings->get_xcloner_option("xcloner_sftp_private_key"),
|
828 |
'timeout' => $this->xcloner_settings->get_xcloner_option("xcloner_sftp_timeout", 30),
|
|
|
829 |
]);
|
830 |
|
831 |
-
$adapter->connect();
|
832 |
-
|
833 |
$filesystem = new Filesystem($adapter, new Config([
|
834 |
'disable_asserts' => true,
|
835 |
]));
|
68 |
"ftp_transfer_mode" => "int",
|
69 |
"ftp_ssl_mode" => "int",
|
70 |
"ftp_timeout" => "int",
|
71 |
+
"ftp_cleanup_retention_limit_days" => "float",
|
72 |
+
"ftp_cleanup_exclude_days" => "string",
|
73 |
+
"ftp_cleanup_retention_limit_archives" => "int",
|
74 |
+
"ftp_cleanup_capacity_limit" => "int"
|
75 |
),
|
76 |
"sftp" => array(
|
77 |
"text" => "SFTP",
|
83 |
"sftp_path" => "path",
|
84 |
"sftp_private_key" => "raw",
|
85 |
"sftp_timeout" => "int",
|
86 |
+
"sftp_cleanup_retention_limit_days" => "float",
|
87 |
+
"sftp_cleanup_exclude_days" => "string",
|
88 |
+
"sftp_cleanup_retention_limit_archives" => "int",
|
89 |
+
"sftp_cleanup_capacity_limit" => "int"
|
90 |
),
|
91 |
"aws" => array(
|
92 |
"text" => "S3",
|
97 |
"aws_region" => "string",
|
98 |
"aws_bucket_name" => "string",
|
99 |
"aws_prefix" => "string",
|
100 |
+
"aws_cleanup_retention_limit_days" => "float",
|
101 |
+
"aws_cleanup_exclude_days" => "string",
|
102 |
+
"aws_cleanup_retention_limit_archives" => "int",
|
103 |
+
"aws_cleanup_capacity_limit" => "int"
|
104 |
),
|
105 |
"dropbox" => array(
|
106 |
"text" => "Dropbox",
|
108 |
"dropbox_access_token" => "string",
|
109 |
"dropbox_app_secret" => "raw",
|
110 |
"dropbox_prefix" => "string",
|
111 |
+
"dropbox_cleanup_retention_limit_days" => "float",
|
112 |
+
"dropbox_cleanup_exclude_days" => "string",
|
113 |
+
"dropbox_cleanup_retention_limit_archives" => "int",
|
114 |
+
"dropbox_cleanup_capacity_limit" => "int"
|
115 |
),
|
116 |
"azure" => array(
|
117 |
"text" => "Azure BLOB",
|
119 |
"azure_account_name" => "string",
|
120 |
"azure_api_key" => "raw",
|
121 |
"azure_container" => "string",
|
122 |
+
"azure_cleanup_retention_limit_days" => "float",
|
123 |
+
"azure_cleanup_exclude_days" => "string",
|
124 |
+
"azure_cleanup_retention_limit_archives" => "int",
|
125 |
+
"azure_cleanup_capacity_limit" => "int"
|
126 |
),
|
127 |
"backblaze" => array(
|
128 |
"text" => "Backblaze",
|
130 |
"backblaze_account_id" => "string",
|
131 |
"backblaze_application_key" => "raw",
|
132 |
"backblaze_bucket_name" => "string",
|
133 |
+
"backblaze_cleanup_retention_limit_days" => "float",
|
134 |
+
"backblaze_cleanup_exclude_days" => "string",
|
135 |
+
"backblaze_cleanup_retention_limit_archives" => "int",
|
136 |
+
"backblaze_cleanup_capacity_limit" => "int"
|
137 |
),
|
138 |
|
139 |
"webdav" => array(
|
143 |
"webdav_username" => "string",
|
144 |
"webdav_password" => "raw",
|
145 |
"webdav_target_folder" => "string",
|
146 |
+
"webdav_cleanup_retention_limit_days" => "float",
|
147 |
+
"webdav_cleanup_exclude_days" => "string",
|
148 |
+
"webdav_cleanup_retention_limit_archives" => "int",
|
149 |
+
"webdav_cleanup_capacity_limit" => "int"
|
150 |
+
|
151 |
),
|
152 |
|
153 |
"gdrive" => array(
|
157 |
"gdrive_client_id" => "string",
|
158 |
"gdrive_client_secret" => "raw",
|
159 |
"gdrive_target_folder" => "string",
|
160 |
+
"gdrive_cleanup_retention_limit_days" => "float",
|
161 |
"gdrive_empty_trash" => "int",
|
162 |
+
"gdrive_cleanup_exclude_days" => "string",
|
163 |
+
"gdrive_cleanup_retention_limit_archives" => "int",
|
164 |
+
"gdrive_cleanup_capacity_limit" => "int"
|
165 |
),
|
166 |
);
|
167 |
|
274 |
$return[$storage] = $data['text'];
|
275 |
}
|
276 |
}
|
277 |
+
|
278 |
return $return;
|
279 |
}
|
280 |
|
292 |
$check_field = $this->storage_fields["option_prefix"] . $field;
|
293 |
$sanitize_method = "sanitize_input_as_" . $validation;
|
294 |
|
|
|
295 |
//we do not save empty encrypted credentials
|
296 |
if ($validation == "raw" && str_repeat('*', strlen($_POST[$check_field])) == $_POST[$check_field] && $_POST[$check_field]) {
|
297 |
continue;
|
386 |
return true;
|
387 |
}
|
388 |
|
389 |
+
public function upload_backup_to_storage($file, $storage, $delete_local_copy_after_transfer = 0)
|
390 |
{
|
391 |
if (!$this->xcloner_file_system->get_storage_filesystem()->has($file)) {
|
392 |
$this->logger->info(sprintf("File not found %s in local storage", $file));
|
444 |
|
445 |
$this->logger->info(sprintf("Upload done, disconnecting from remote storage %s", strtoupper($storage)));
|
446 |
|
447 |
+
//CHECK IF WE SHOULD DELETE BACKUP AFTER REMOTE TRANSFER IS DONE
|
448 |
+
//if ( $this->xcloner_settings->get_xcloner_option('xcloner_cleanup_delete_after_remote_transfer')) {
|
449 |
+
if ($delete_local_copy_after_transfer) {
|
450 |
+
$this->logger->info(sprintf("Deleting %s from local storage matching rule xcloner_cleanup_delete_after_remote_transfer", $file));
|
451 |
+
$this->xcloner_file_system->delete_backup_by_name($file);
|
452 |
+
}
|
453 |
+
|
454 |
return true;
|
455 |
}
|
456 |
|
519 |
|
520 |
public function clean_remote_storage($storage, $remote_storage_filesystem)
|
521 |
{
|
522 |
+
return $this->xcloner_file_system->backup_storage_cleanup($storage, $remote_storage_filesystem);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
523 |
}
|
524 |
|
525 |
public function get_azure_filesystem()
|
833 |
'root' => ($this->xcloner_settings->get_xcloner_option("xcloner_sftp_path")?$this->xcloner_settings->get_xcloner_option("xcloner_sftp_path"):'./'),
|
834 |
'privateKey' => $this->xcloner_settings->get_xcloner_option("xcloner_sftp_private_key"),
|
835 |
'timeout' => $this->xcloner_settings->get_xcloner_option("xcloner_sftp_timeout", 30),
|
836 |
+
'directoryPerm' => 0755
|
837 |
]);
|
838 |
|
|
|
|
|
839 |
$filesystem = new Filesystem($adapter, new Config([
|
840 |
'disable_asserts' => true,
|
841 |
]));
|
includes/class-xcloner-scheduler.php
CHANGED
@@ -54,7 +54,9 @@ class Xcloner_Scheduler
|
|
54 |
foreach ($list as $res) {
|
55 |
if ($res->status) {
|
56 |
$res->next_run_time = wp_next_scheduled('xcloner_scheduler_'.$res->id, array($res->id)) + ($this->xcloner_settings->get_xcloner_option('gmt_offset') * HOUR_IN_SECONDS);
|
57 |
-
|
|
|
|
|
58 |
}
|
59 |
}
|
60 |
$list = $new_list;
|
@@ -74,9 +76,36 @@ class Xcloner_Scheduler
|
|
74 |
{
|
75 |
$data = $this->db->get_row("SELECT * FROM ".$this->scheduler_table." WHERE id=".$id);
|
76 |
|
|
|
|
|
|
|
|
|
77 |
return $data;
|
78 |
}
|
79 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
80 |
public function get_schedule_by_id($id)
|
81 |
{
|
82 |
$data = $this->db->get_row("SELECT * FROM ".$this->scheduler_table." WHERE id=".$id, ARRAY_A);
|
@@ -229,6 +258,8 @@ class Xcloner_Scheduler
|
|
229 |
{
|
230 |
set_time_limit(0);
|
231 |
|
|
|
|
|
232 |
if (!$xcloner) {
|
233 |
$xcloner = new XCloner();
|
234 |
$xcloner->init();
|
@@ -276,7 +307,7 @@ class Xcloner_Scheduler
|
|
276 |
$this->update_hash($schedule['id'], $this->xcloner_settings->get_hash());
|
277 |
}
|
278 |
|
279 |
-
$this->logger->
|
280 |
|
281 |
$this->xcloner_file_system->set_excluded_files(json_decode($schedule['excluded_files']));
|
282 |
|
@@ -289,9 +320,9 @@ class Xcloner_Scheduler
|
|
289 |
$init = 0;
|
290 |
}
|
291 |
|
292 |
-
$this->logger->
|
293 |
|
294 |
-
$this->logger->
|
295 |
|
296 |
$init = 1;
|
297 |
$return['finished'] = 0;
|
@@ -301,9 +332,9 @@ class Xcloner_Scheduler
|
|
301 |
$init = 0;
|
302 |
}
|
303 |
|
304 |
-
$this->logger->
|
305 |
|
306 |
-
$this->logger->
|
307 |
|
308 |
$init = 0;
|
309 |
$return['finished'] = 0;
|
@@ -313,7 +344,7 @@ class Xcloner_Scheduler
|
|
313 |
$return = $this->archive_system->start_incremental_backup((array)$schedule['backup_params'], $return['extra'], $init);
|
314 |
$init = 0;
|
315 |
}
|
316 |
-
$this->logger->
|
317 |
|
318 |
//getting the last backup archive file
|
319 |
$return['extra']['backup_parent'] = $this->archive_system->get_archive_name_with_extension();
|
@@ -333,7 +364,7 @@ class Xcloner_Scheduler
|
|
333 |
$backup_parts = array();
|
334 |
|
335 |
if (isset($schedule['backup_params']->backup_encrypt) && $schedule['backup_params']->backup_encrypt) {
|
336 |
-
$this->logger->
|
337 |
|
338 |
$backup_file = $return['extra']['backup_parent'];
|
339 |
|
@@ -363,18 +394,18 @@ class Xcloner_Scheduler
|
|
363 |
}
|
364 |
}
|
365 |
}
|
366 |
-
|
367 |
//Sending backup to remote storage
|
368 |
if (isset($schedule['remote_storage']) && $schedule['remote_storage'] && array_key_exists($schedule['remote_storage'], $this->xcloner_remote_storage->get_available_storages())) {
|
369 |
$backup_file = $return['extra']['backup_parent'];
|
370 |
|
371 |
-
$this->logger->
|
372 |
|
373 |
if (method_exists($this->xcloner_remote_storage, "upload_backup_to_storage")) {
|
374 |
call_user_func_array(array(
|
375 |
$this->xcloner_remote_storage,
|
376 |
"upload_backup_to_storage"
|
377 |
-
), array($backup_file, $schedule['remote_storage']));
|
378 |
}
|
379 |
}
|
380 |
|
@@ -391,12 +422,6 @@ class Xcloner_Scheduler
|
|
391 |
}
|
392 |
}
|
393 |
|
394 |
-
//CHECK IF WE SHOULD DELETE BACKUP AFTER REMOTE TRANSFER IS DONE
|
395 |
-
if ($schedule['remote_storage'] && $this->xcloner_settings->get_xcloner_option('xcloner_cleanup_delete_after_remote_transfer')) {
|
396 |
-
$this->logger->info(sprintf("Deleting %s from local storage matching rule xcloner_cleanup_delete_after_remote_transfer", $return['extra']['backup_parent']));
|
397 |
-
$this->xcloner_file_system->delete_backup_by_name($return['extra']['backup_parent']);
|
398 |
-
}
|
399 |
-
|
400 |
//Backup Storage Cleanup
|
401 |
$this->xcloner_file_system->backup_storage_cleanup();
|
402 |
|
@@ -406,6 +431,8 @@ class Xcloner_Scheduler
|
|
406 |
//Removing the tmp filesystem used for backup
|
407 |
$this->xcloner_file_system->remove_tmp_filesystem();
|
408 |
|
|
|
|
|
409 |
return $return;
|
410 |
}
|
411 |
|
@@ -450,6 +477,11 @@ class Xcloner_Scheduler
|
|
450 |
|
451 |
array_multisort($intervals, SORT_ASC, $new_schedules);
|
452 |
|
|
|
|
|
|
|
|
|
|
|
453 |
return $new_schedules;
|
454 |
}
|
455 |
}
|
54 |
foreach ($list as $res) {
|
55 |
if ($res->status) {
|
56 |
$res->next_run_time = wp_next_scheduled('xcloner_scheduler_'.$res->id, array($res->id)) + ($this->xcloner_settings->get_xcloner_option('gmt_offset') * HOUR_IN_SECONDS);
|
57 |
+
if ($res->next_run_time) {
|
58 |
+
$new_list[] = $res;
|
59 |
+
}
|
60 |
}
|
61 |
}
|
62 |
$list = $new_list;
|
76 |
{
|
77 |
$data = $this->db->get_row("SELECT * FROM ".$this->scheduler_table." WHERE id=".$id);
|
78 |
|
79 |
+
if (!$data) {
|
80 |
+
return false;
|
81 |
+
}
|
82 |
+
|
83 |
return $data;
|
84 |
}
|
85 |
|
86 |
+
/**
|
87 |
+
* Get schedule by id or name
|
88 |
+
*
|
89 |
+
* @param [type] $id
|
90 |
+
* @return array
|
91 |
+
*/
|
92 |
+
public function get_schedule_by_id_or_name($id)
|
93 |
+
{
|
94 |
+
$data = $this->db->get_row("SELECT * FROM ".$this->scheduler_table." WHERE id='".$id."' or name='".$id."'", ARRAY_A);
|
95 |
+
|
96 |
+
if (!$data) {
|
97 |
+
return false;
|
98 |
+
}
|
99 |
+
|
100 |
+
return $data;
|
101 |
+
}
|
102 |
+
|
103 |
+
/**
|
104 |
+
* Get schedule by id
|
105 |
+
*
|
106 |
+
* @param [type] $id
|
107 |
+
* @return array
|
108 |
+
*/
|
109 |
public function get_schedule_by_id($id)
|
110 |
{
|
111 |
$data = $this->db->get_row("SELECT * FROM ".$this->scheduler_table." WHERE id=".$id, ARRAY_A);
|
258 |
{
|
259 |
set_time_limit(0);
|
260 |
|
261 |
+
$start_time = time();
|
262 |
+
|
263 |
if (!$xcloner) {
|
264 |
$xcloner = new XCloner();
|
265 |
$xcloner->init();
|
307 |
$this->update_hash($schedule['id'], $this->xcloner_settings->get_hash());
|
308 |
}
|
309 |
|
310 |
+
$this->logger->print_info(sprintf("Starting backup profile '%s'", $schedule['name']), array("CRON"));
|
311 |
|
312 |
$this->xcloner_file_system->set_excluded_files(json_decode($schedule['excluded_files']));
|
313 |
|
320 |
$init = 0;
|
321 |
}
|
322 |
|
323 |
+
$this->logger->print_info(sprintf("File scan finished"), array("CRON"));
|
324 |
|
325 |
+
$this->logger->print_info(sprintf("Starting the database backup"), array("CRON"));
|
326 |
|
327 |
$init = 1;
|
328 |
$return['finished'] = 0;
|
332 |
$init = 0;
|
333 |
}
|
334 |
|
335 |
+
$this->logger->print_info(sprintf("Database backup done"), array("CRON"));
|
336 |
|
337 |
+
$this->logger->print_info(sprintf("Starting file archive process"), array("CRON"));
|
338 |
|
339 |
$init = 0;
|
340 |
$return['finished'] = 0;
|
344 |
$return = $this->archive_system->start_incremental_backup((array)$schedule['backup_params'], $return['extra'], $init);
|
345 |
$init = 0;
|
346 |
}
|
347 |
+
$this->logger->print_info(sprintf("File archive process FINISHED."), array("CRON"));
|
348 |
|
349 |
//getting the last backup archive file
|
350 |
$return['extra']['backup_parent'] = $this->archive_system->get_archive_name_with_extension();
|
364 |
$backup_parts = array();
|
365 |
|
366 |
if (isset($schedule['backup_params']->backup_encrypt) && $schedule['backup_params']->backup_encrypt) {
|
367 |
+
$this->logger->print_info(sprintf("Encrypting backup archive %s.", $return['extra']['backup_parent']), array("CRON"));
|
368 |
|
369 |
$backup_file = $return['extra']['backup_parent'];
|
370 |
|
394 |
}
|
395 |
}
|
396 |
}
|
397 |
+
|
398 |
//Sending backup to remote storage
|
399 |
if (isset($schedule['remote_storage']) && $schedule['remote_storage'] && array_key_exists($schedule['remote_storage'], $this->xcloner_remote_storage->get_available_storages())) {
|
400 |
$backup_file = $return['extra']['backup_parent'];
|
401 |
|
402 |
+
$this->logger->print_info(sprintf("Transferring backup to remote storage %s", strtoupper($schedule['remote_storage'])), array("CRON"));
|
403 |
|
404 |
if (method_exists($this->xcloner_remote_storage, "upload_backup_to_storage")) {
|
405 |
call_user_func_array(array(
|
406 |
$this->xcloner_remote_storage,
|
407 |
"upload_backup_to_storage"
|
408 |
+
), array($backup_file, $schedule['remote_storage'], $schedule['backup_params']->backup_delete_after_remote_transfer));
|
409 |
}
|
410 |
}
|
411 |
|
422 |
}
|
423 |
}
|
424 |
|
|
|
|
|
|
|
|
|
|
|
|
|
425 |
//Backup Storage Cleanup
|
426 |
$this->xcloner_file_system->backup_storage_cleanup();
|
427 |
|
431 |
//Removing the tmp filesystem used for backup
|
432 |
$this->xcloner_file_system->remove_tmp_filesystem();
|
433 |
|
434 |
+
$this->logger->print_info(sprintf("Profile '%s' finished in %d seconds.", $schedule['name'], time() - $start_time), array("CRON"));
|
435 |
+
|
436 |
return $return;
|
437 |
}
|
438 |
|
477 |
|
478 |
array_multisort($intervals, SORT_ASC, $new_schedules);
|
479 |
|
480 |
+
$new_schedules['profile'] = [
|
481 |
+
'interval'=> '-1',
|
482 |
+
'display'=> 'Manual Execution'
|
483 |
+
];
|
484 |
+
|
485 |
return $new_schedules;
|
486 |
}
|
487 |
}
|
includes/class-xcloner-settings.php
CHANGED
@@ -8,6 +8,7 @@ class Xcloner_Settings
|
|
8 |
private $xcloner_sanitization;
|
9 |
private $xcloner_container;
|
10 |
private $xcloner_database;
|
|
|
11 |
|
12 |
/**
|
13 |
* XCloner General Settings Class
|
@@ -17,8 +18,8 @@ class Xcloner_Settings
|
|
17 |
*/
|
18 |
public function __construct(Xcloner $xcloner_container, $hash = "", $json_config = "")
|
19 |
{
|
20 |
-
if($json_config) {
|
21 |
-
foreach($json_config as $item) {
|
22 |
add_option($item->option_name, $item->option_value);
|
23 |
}
|
24 |
}
|
@@ -32,6 +33,15 @@ class Xcloner_Settings
|
|
32 |
}
|
33 |
}
|
34 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
35 |
/**
|
36 |
* Get XCloner Main Container
|
37 |
*
|
@@ -212,8 +222,8 @@ class Xcloner_Settings
|
|
212 |
*
|
213 |
* @return void
|
214 |
*/
|
215 |
-
public function get_hash($readonly = false
|
216 |
-
{
|
217 |
if (!$this->hash && !$readonly) {
|
218 |
$this->set_hash("-".$this->get_server_unique_hash(5));
|
219 |
}
|
@@ -819,7 +829,7 @@ class Xcloner_Settings
|
|
819 |
));
|
820 |
add_settings_field(
|
821 |
'xcloner_cleanup_retention_limit_days',
|
822 |
-
__('Cleanup by
|
823 |
array($this, 'do_form_number_field'),
|
824 |
'xcloner_cleanup_settings_page',
|
825 |
'xcloner_cleanup_settings_group',
|
@@ -845,6 +855,22 @@ class Xcloner_Settings
|
|
845 |
)
|
846 |
);
|
847 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
848 |
register_setting('xcloner_cleanup_settings_group', 'xcloner_cleanup_capacity_limit', array(
|
849 |
$this->xcloner_sanitization,
|
850 |
"sanitize_input_as_int"
|
@@ -861,6 +887,8 @@ class Xcloner_Settings
|
|
861 |
)
|
862 |
);
|
863 |
|
|
|
|
|
864 |
register_setting('xcloner_cleanup_settings_group', 'xcloner_cleanup_delete_after_remote_transfer', array(
|
865 |
$this->xcloner_sanitization,
|
866 |
"sanitize_input_as_int"
|
@@ -876,6 +904,7 @@ class Xcloner_Settings
|
|
876 |
__('Remove backup created automatically from local storage after sending the backup to Remote Storage', 'xcloner-backup-and-restore')
|
877 |
)
|
878 |
);
|
|
|
879 |
|
880 |
//REGISTERING THE 'CRON SECTION' FIELDS
|
881 |
register_setting('xcloner_cron_settings_group', 'xcloner_cron_frequency');
|
@@ -922,13 +951,17 @@ class Xcloner_Settings
|
|
922 |
}
|
923 |
// output the field?>
|
924 |
<div class="row">
|
|
|
925 |
<div class="input-field col s10 m10 l8">
|
|
|
|
|
|
|
926 |
<input class="validate" <?php echo ($disabled) ? "disabled" : "" ?> name="<?php echo $fieldname ?>"
|
927 |
id="<?php echo $fieldname ?>" type="text" class="validate"
|
928 |
value="<?php echo isset($value) ? esc_attr($value) : ''; ?>">
|
929 |
</div>
|
930 |
<div class="col s2 m2 ">
|
931 |
-
<a class="btn-floating tooltipped btn-small" data-position="
|
932 |
data-tooltip="<?php echo $label ?>" data-tooltip-id=""><i class="material-icons">help_outline</i></a>
|
933 |
</div>
|
934 |
</div>
|
8 |
private $xcloner_sanitization;
|
9 |
private $xcloner_container;
|
10 |
private $xcloner_database;
|
11 |
+
private $xcloner_options_prefix = "xcloner";
|
12 |
|
13 |
/**
|
14 |
* XCloner General Settings Class
|
18 |
*/
|
19 |
public function __construct(Xcloner $xcloner_container, $hash = "", $json_config = "")
|
20 |
{
|
21 |
+
if ($json_config) {
|
22 |
+
foreach ($json_config as $item) {
|
23 |
add_option($item->option_name, $item->option_value);
|
24 |
}
|
25 |
}
|
33 |
}
|
34 |
}
|
35 |
|
36 |
+
/**
|
37 |
+
* XCloner options prefix
|
38 |
+
*
|
39 |
+
* @return string
|
40 |
+
*/
|
41 |
+
public function get_options_prefix() {
|
42 |
+
return $this->xcloner_options_prefix;
|
43 |
+
}
|
44 |
+
|
45 |
/**
|
46 |
* Get XCloner Main Container
|
47 |
*
|
222 |
*
|
223 |
* @return void
|
224 |
*/
|
225 |
+
public function get_hash($readonly = false)
|
226 |
+
{
|
227 |
if (!$this->hash && !$readonly) {
|
228 |
$this->set_hash("-".$this->get_server_unique_hash(5));
|
229 |
}
|
829 |
));
|
830 |
add_settings_field(
|
831 |
'xcloner_cleanup_retention_limit_days',
|
832 |
+
__('Cleanup by Age (days)', 'xcloner-backup-and-restore'),
|
833 |
array($this, 'do_form_number_field'),
|
834 |
'xcloner_cleanup_settings_page',
|
835 |
'xcloner_cleanup_settings_group',
|
855 |
)
|
856 |
);
|
857 |
|
858 |
+
register_setting('xcloner_cleanup_settings_group', 'xcloner_cleanup_exclude_days', array(
|
859 |
+
$this->xcloner_sanitization,
|
860 |
+
"sanitize_input_as_string"
|
861 |
+
));
|
862 |
+
add_settings_field(
|
863 |
+
'xcloner_cleanup_exclude_days',
|
864 |
+
__('Keep Backups Taken On Month Days', 'xcloner-backup-and-restore'),
|
865 |
+
array($this, 'do_form_text_field'),
|
866 |
+
'xcloner_cleanup_settings_page',
|
867 |
+
'xcloner_cleanup_settings_group',
|
868 |
+
array(
|
869 |
+
'xcloner_cleanup_exclude_days',
|
870 |
+
__('Never delete backups taken on the specified days of the month, value used can be comma separated.', 'xcloner-backup-and-restore')
|
871 |
+
)
|
872 |
+
);
|
873 |
+
|
874 |
register_setting('xcloner_cleanup_settings_group', 'xcloner_cleanup_capacity_limit', array(
|
875 |
$this->xcloner_sanitization,
|
876 |
"sanitize_input_as_int"
|
887 |
)
|
888 |
);
|
889 |
|
890 |
+
/*
|
891 |
+
//deprecated setting
|
892 |
register_setting('xcloner_cleanup_settings_group', 'xcloner_cleanup_delete_after_remote_transfer', array(
|
893 |
$this->xcloner_sanitization,
|
894 |
"sanitize_input_as_int"
|
904 |
__('Remove backup created automatically from local storage after sending the backup to Remote Storage', 'xcloner-backup-and-restore')
|
905 |
)
|
906 |
);
|
907 |
+
*/
|
908 |
|
909 |
//REGISTERING THE 'CRON SECTION' FIELDS
|
910 |
register_setting('xcloner_cron_settings_group', 'xcloner_cron_frequency');
|
951 |
}
|
952 |
// output the field?>
|
953 |
<div class="row">
|
954 |
+
<?php if ($params[0] !== 'xcloner_cleanup_exclude_days'):?>
|
955 |
<div class="input-field col s10 m10 l8">
|
956 |
+
<?php else:?>
|
957 |
+
<div class="input-field col s10 m5 l3">
|
958 |
+
<?php endif?>
|
959 |
<input class="validate" <?php echo ($disabled) ? "disabled" : "" ?> name="<?php echo $fieldname ?>"
|
960 |
id="<?php echo $fieldname ?>" type="text" class="validate"
|
961 |
value="<?php echo isset($value) ? esc_attr($value) : ''; ?>">
|
962 |
</div>
|
963 |
<div class="col s2 m2 ">
|
964 |
+
<a class="btn-floating tooltipped btn-small" data-position="center" data-delay="50"
|
965 |
data-tooltip="<?php echo $label ?>" data-tooltip-id=""><i class="material-icons">help_outline</i></a>
|
966 |
</div>
|
967 |
</div>
|
includes/class-xcloner-standalone.php
CHANGED
@@ -14,7 +14,7 @@ require_once(__DIR__ . '/../includes/class-xcloner.php');
|
|
14 |
|
15 |
class Xcloner_Standalone extends Xcloner
|
16 |
{
|
17 |
-
public function __construct($json_config)
|
18 |
{
|
19 |
if (WP_DEBUG && WP_DEBUG_DISPLAY) {
|
20 |
$this->log_php_errors();
|
@@ -60,7 +60,7 @@ class Xcloner_Standalone extends Xcloner
|
|
60 |
*
|
61 |
* @return void
|
62 |
*/
|
63 |
-
public function start()
|
64 |
{
|
65 |
$profile_config = ($this->xcloner_settings->get_xcloner_option('profile'));
|
66 |
|
@@ -68,8 +68,13 @@ class Xcloner_Standalone extends Xcloner
|
|
68 |
$data['backup_params'] = $profile_config->backup_params;
|
69 |
$data['table_params'] = json_encode($profile_config->database);
|
70 |
$data['excluded_files'] = json_encode($profile_config->excluded_files);
|
|
|
|
|
|
|
|
|
|
|
71 |
|
72 |
-
return $this->xcloner_scheduler->xcloner_scheduler_callback(
|
73 |
}
|
74 |
|
75 |
/**
|
14 |
|
15 |
class Xcloner_Standalone extends Xcloner
|
16 |
{
|
17 |
+
public function __construct($json_config = "")
|
18 |
{
|
19 |
if (WP_DEBUG && WP_DEBUG_DISPLAY) {
|
20 |
$this->log_php_errors();
|
60 |
*
|
61 |
* @return void
|
62 |
*/
|
63 |
+
public function start($profile_id)
|
64 |
{
|
65 |
$profile_config = ($this->xcloner_settings->get_xcloner_option('profile'));
|
66 |
|
68 |
$data['backup_params'] = $profile_config->backup_params;
|
69 |
$data['table_params'] = json_encode($profile_config->database);
|
70 |
$data['excluded_files'] = json_encode($profile_config->excluded_files);
|
71 |
+
if (isset($profile_id) && $profile_id) {
|
72 |
+
$data['id'] = $profile_id;
|
73 |
+
}
|
74 |
+
|
75 |
+
//print_r($data);exit;
|
76 |
|
77 |
+
return $this->xcloner_scheduler->xcloner_scheduler_callback($data['id'], $data, $this);
|
78 |
}
|
79 |
|
80 |
/**
|
includes/class-xcloner.php
CHANGED
@@ -100,7 +100,7 @@ class Xcloner
|
|
100 |
$this->log_php_errors();
|
101 |
|
102 |
$this->plugin_name = 'xcloner';
|
103 |
-
$this->version = '4.0
|
104 |
|
105 |
$this->load_dependencies();
|
106 |
$this->set_locale();
|
@@ -114,7 +114,8 @@ class Xcloner
|
|
114 |
$this->define_cron_hooks();
|
115 |
}
|
116 |
|
117 |
-
public function log_php_errors()
|
|
|
118 |
register_shutdown_function(array($this, 'exception_handler'));
|
119 |
}
|
120 |
|
@@ -163,9 +164,9 @@ class Xcloner
|
|
163 |
if (!@mkdir($backup_storage_path)) {
|
164 |
$status = "error";
|
165 |
$message = sprintf(
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
$this->trigger_message($message, $status, $backup_storage_path);
|
170 |
return;
|
171 |
}
|
@@ -174,9 +175,9 @@ class Xcloner
|
|
174 |
if (!is_writable($backup_storage_path)) {
|
175 |
$status = "error";
|
176 |
$message = sprintf(
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
$this->trigger_message($message, $status, $backup_storage_path);
|
181 |
|
182 |
return;
|
@@ -186,12 +187,12 @@ class Xcloner
|
|
186 |
}
|
187 |
|
188 |
public function trigger_message($message, $status = "error", $message_param1 = "", $message_param2 = "", $message_param3 = "")
|
189 |
-
{
|
190 |
$message = sprintf(__($message), $message_param1, $message_param2, $message_param3);
|
191 |
add_action('xcloner_admin_notices', array($this, "trigger_message_notice"), 10, 2);
|
192 |
do_action('xcloner_admin_notices', $message, $status);
|
193 |
|
194 |
-
if (defined(XCLONER_STANDALONE_MODE) && XCLONER_STANDALONE_MODE) {
|
195 |
throw new Error($message);
|
196 |
}
|
197 |
}
|
100 |
$this->log_php_errors();
|
101 |
|
102 |
$this->plugin_name = 'xcloner';
|
103 |
+
$this->version = '4.2.0';
|
104 |
|
105 |
$this->load_dependencies();
|
106 |
$this->set_locale();
|
114 |
$this->define_cron_hooks();
|
115 |
}
|
116 |
|
117 |
+
public function log_php_errors()
|
118 |
+
{
|
119 |
register_shutdown_function(array($this, 'exception_handler'));
|
120 |
}
|
121 |
|
164 |
if (!@mkdir($backup_storage_path)) {
|
165 |
$status = "error";
|
166 |
$message = sprintf(
|
167 |
+
__("Unable to create the Backup Storage Location Folder %s . Please fix this before starting the backup process."),
|
168 |
+
$backup_storage_path
|
169 |
+
);
|
170 |
$this->trigger_message($message, $status, $backup_storage_path);
|
171 |
return;
|
172 |
}
|
175 |
if (!is_writable($backup_storage_path)) {
|
176 |
$status = "error";
|
177 |
$message = sprintf(
|
178 |
+
__("Unable to write to the Backup Storage Location Folder %s . Please fix this before starting the backup process."),
|
179 |
+
$backup_storage_path
|
180 |
+
);
|
181 |
$this->trigger_message($message, $status, $backup_storage_path);
|
182 |
|
183 |
return;
|
187 |
}
|
188 |
|
189 |
public function trigger_message($message, $status = "error", $message_param1 = "", $message_param2 = "", $message_param3 = "")
|
190 |
+
{
|
191 |
$message = sprintf(__($message), $message_param1, $message_param2, $message_param3);
|
192 |
add_action('xcloner_admin_notices', array($this, "trigger_message_notice"), 10, 2);
|
193 |
do_action('xcloner_admin_notices', $message, $status);
|
194 |
|
195 |
+
if (defined("XCLONER_STANDALONE_MODE") && XCLONER_STANDALONE_MODE) {
|
196 |
throw new Error($message);
|
197 |
}
|
198 |
}
|
lib/mock_wp_functions.php
CHANGED
@@ -430,6 +430,13 @@ if (!function_exists('wp_mail')) {
|
|
430 |
}
|
431 |
}
|
432 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
433 |
// function current_user_can(){}
|
434 |
// function sanitize_key(){}
|
435 |
// function plugin_dir_url() {}
|
430 |
}
|
431 |
}
|
432 |
|
433 |
+
if (!function_exists('wp_debug_backtrace_summary')) {
|
434 |
+
function wp_debug_backtrace_summary(){
|
435 |
+
|
436 |
+
}
|
437 |
+
}
|
438 |
+
|
439 |
+
|
440 |
// function current_user_can(){}
|
441 |
// function sanitize_key(){}
|
442 |
// function plugin_dir_url() {}
|
restore/.htaccess
DELETED
@@ -1,2 +0,0 @@
|
|
1 |
-
Order deny,allow
|
2 |
-
Deny from all
|
|
|
|
restore/xcloner_restore.php
CHANGED
@@ -14,19 +14,19 @@ if (!defined('XCLONER_PLUGIN_ACCESS') || XCLONER_PLUGIN_ACCESS != 1)
|
|
14 |
{
|
15 |
if (!AUTH_KEY)
|
16 |
{
|
17 |
-
Xcloner_Restore::send_response("404", "Could not run restore script, AUTH_KEY not set!");
|
18 |
exit;
|
19 |
}
|
20 |
|
21 |
if (!isset($_REQUEST['hash']))
|
22 |
{
|
23 |
-
Xcloner_Restore::send_response("404", "Could not run restore script
|
24 |
exit;
|
25 |
}
|
26 |
|
27 |
if ($_REQUEST['hash'] != AUTH_KEY)
|
28 |
{
|
29 |
-
Xcloner_Restore::send_response("404", "Could not run restore script, AUTH_KEY doesn't match the sent HASH
|
30 |
exit;
|
31 |
}
|
32 |
}
|
@@ -370,7 +370,14 @@ class Xcloner_Restore
|
|
370 |
//check if line is empty
|
371 |
if ($line == "\n" or trim($line) == "")
|
372 |
continue;
|
373 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
374 |
if (substr($line, strlen($line) - 2, strlen($line)) == ";\n")
|
375 |
$query .= $line;
|
376 |
else {
|
@@ -432,7 +439,7 @@ class Xcloner_Restore
|
|
432 |
{
|
433 |
$return['finished'] = 0;
|
434 |
} else {
|
435 |
-
$this->logger->info(sprintf("Mysql Import Done."));
|
436 |
}
|
437 |
|
438 |
fclose($fp);
|
@@ -493,7 +500,7 @@ class Xcloner_Restore
|
|
493 |
}
|
494 |
|
495 |
try {
|
496 |
-
$tar = new
|
497 |
$tar->open($this->backup_storage_dir.DS.$backup_file, $start);
|
498 |
|
499 |
$data = $tar->contents($this->process_files_limit_list);
|
@@ -574,6 +581,19 @@ class Xcloner_Restore
|
|
574 |
$this->delete_backup_temporary_folder($remote_path);
|
575 |
}
|
576 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
577 |
if (!defined('XCLONER_PLUGIN_ACCESS') || XCLONER_PLUGIN_ACCESS != 1)
|
578 |
{
|
579 |
if ($delete_restore_script)
|
@@ -895,7 +915,7 @@ class Xcloner_Restore
|
|
895 |
$return['extracted_files'] = array();
|
896 |
$return['total_size'] = $this->get_backup_size($backup_file);
|
897 |
|
898 |
-
$backup_archive = new
|
899 |
if ($this->is_multipart($backup_file))
|
900 |
{
|
901 |
if (!$return['part'])
|
@@ -1269,3 +1289,157 @@ class Xcloner_Restore
|
|
1269 |
}
|
1270 |
}
|
1271 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
{
|
15 |
if (!AUTH_KEY)
|
16 |
{
|
17 |
+
Xcloner_Restore::send_response("404", "Could not run restore script, AUTH_KEY not set! Your should not access this script directly, it's url should go inside the XCloner Restore area from where you downloaded this script.");
|
18 |
exit;
|
19 |
}
|
20 |
|
21 |
if (!isset($_REQUEST['hash']))
|
22 |
{
|
23 |
+
Xcloner_Restore::send_response("404", "Could not run restore script directly. Enter the URL above in the `Restore Backup` area of XCloner and click `Check Connection`.");
|
24 |
exit;
|
25 |
}
|
26 |
|
27 |
if ($_REQUEST['hash'] != AUTH_KEY)
|
28 |
{
|
29 |
+
Xcloner_Restore::send_response("404", "Could not run restore script, AUTH_KEY doesn't match the sent HASH. Please replace the restore script on the remote/target host with a new copy downloaded from the local site and try again.");
|
30 |
exit;
|
31 |
}
|
32 |
}
|
370 |
//check if line is empty
|
371 |
if ($line == "\n" or trim($line) == "")
|
372 |
continue;
|
373 |
+
|
374 |
+
//exclude usermeta info for local restores to fix potential session logout
|
375 |
+
if (defined('XCLONER_PLUGIN_ACCESS') && XCLONER_PLUGIN_ACCESS) {
|
376 |
+
if (strpos($line, "_usermeta`") !== false) {
|
377 |
+
$line = str_replace("_usermeta`", "_usermeta2`", $line);
|
378 |
+
}
|
379 |
+
}
|
380 |
+
|
381 |
if (substr($line, strlen($line) - 2, strlen($line)) == ";\n")
|
382 |
$query .= $line;
|
383 |
else {
|
439 |
{
|
440 |
$return['finished'] = 0;
|
441 |
} else {
|
442 |
+
$this->logger->info(sprintf("Mysql Import Done."));
|
443 |
}
|
444 |
|
445 |
fclose($fp);
|
500 |
}
|
501 |
|
502 |
try {
|
503 |
+
$tar = new Xcloner_Archive_Restore();
|
504 |
$tar->open($this->backup_storage_dir.DS.$backup_file, $start);
|
505 |
|
506 |
$data = $tar->contents($this->process_files_limit_list);
|
581 |
$this->delete_backup_temporary_folder($remote_path);
|
582 |
}
|
583 |
|
584 |
+
if (defined('XCLONER_PLUGIN_ACCESS') && XCLONER_PLUGIN_ACCESS)
|
585 |
+
{
|
586 |
+
//fixing usermeta table for local restores
|
587 |
+
global $wpdb;
|
588 |
+
if ($result = $wpdb->get_var("SELECT count(*) FROM ".$wpdb->prefix."usermeta2")) {
|
589 |
+
if($result > 0 ) {
|
590 |
+
$wpdb->query("DROP TABLE IF EXISTS ".$wpdb->prefix."usermeta_backup" );
|
591 |
+
$wpdb->query("ALTER TABLE ".$wpdb->prefix."usermeta RENAME TO ".$wpdb->prefix."usermeta_backup" );
|
592 |
+
$wpdb->query("ALTER TABLE ".$wpdb->prefix."usermeta2 RENAME TO ".$wpdb->prefix."usermeta" );
|
593 |
+
}
|
594 |
+
}
|
595 |
+
}
|
596 |
+
|
597 |
if (!defined('XCLONER_PLUGIN_ACCESS') || XCLONER_PLUGIN_ACCESS != 1)
|
598 |
{
|
599 |
if ($delete_restore_script)
|
915 |
$return['extracted_files'] = array();
|
916 |
$return['total_size'] = $this->get_backup_size($backup_file);
|
917 |
|
918 |
+
$backup_archive = new Xcloner_Archive_Restore();
|
919 |
if ($this->is_multipart($backup_file))
|
920 |
{
|
921 |
if (!$return['part'])
|
1289 |
}
|
1290 |
}
|
1291 |
|
1292 |
+
class Xcloner_Archive_Restore extends Tar {
|
1293 |
+
public function open($file, $start_byte = 0)
|
1294 |
+
{
|
1295 |
+
parent::open($file);
|
1296 |
+
|
1297 |
+
if ($start_byte) {
|
1298 |
+
fseek($this->fh, $start_byte);
|
1299 |
+
}
|
1300 |
+
}
|
1301 |
+
|
1302 |
+
/**
|
1303 |
+
* Read the contents of a TAR archive
|
1304 |
+
*
|
1305 |
+
* This function lists the files stored in the archive
|
1306 |
+
*
|
1307 |
+
* The archive is closed afer reading the contents, because rewinding is not possible in bzip2 streams.
|
1308 |
+
* Reopen the file with open() again if you want to do additional operations
|
1309 |
+
*
|
1310 |
+
* @throws ArchiveIOException
|
1311 |
+
* @returns FileInfo[]
|
1312 |
+
*/
|
1313 |
+
public function contents($files_limit = 0)
|
1314 |
+
{
|
1315 |
+
if ($this->closed || !$this->file) {
|
1316 |
+
throw new ArchiveIOException('Can not read from a closed archive');
|
1317 |
+
}
|
1318 |
+
|
1319 |
+
$files_counter = 0;
|
1320 |
+
$result = array();
|
1321 |
+
|
1322 |
+
while ($read = $this->readbytes(512)) {
|
1323 |
+
$header = $this->parseHeader($read);
|
1324 |
+
if (!is_array($header)) {
|
1325 |
+
continue;
|
1326 |
+
}
|
1327 |
+
|
1328 |
+
if($files_limit)
|
1329 |
+
{
|
1330 |
+
if(++$files_counter > $files_limit)
|
1331 |
+
{
|
1332 |
+
$return['extracted_files'] = $result;
|
1333 |
+
$return['start'] = ftell($this->fh)-512;
|
1334 |
+
return $return;
|
1335 |
+
}
|
1336 |
+
}
|
1337 |
+
|
1338 |
+
if($header['typeflag'] == 5)
|
1339 |
+
$header['size'] = 0;
|
1340 |
+
|
1341 |
+
$this->skipbytes(ceil($header['size'] / 512) * 512);
|
1342 |
+
$result[] = $this->header2fileinfo($header);
|
1343 |
+
}
|
1344 |
+
|
1345 |
+
$return['extracted_files'] = $result;
|
1346 |
+
|
1347 |
+
$this->close();
|
1348 |
+
return $return;
|
1349 |
+
}
|
1350 |
+
|
1351 |
+
public function extract($outdir, $strip = '', $exclude = '', $include = '', $files_limit = 0)
|
1352 |
+
{
|
1353 |
+
|
1354 |
+
if ($this->closed || !$this->file) {
|
1355 |
+
throw new ArchiveIOException('Can not read from a closed archive');
|
1356 |
+
}
|
1357 |
+
|
1358 |
+
$outdir = rtrim($outdir, '/');
|
1359 |
+
if(!is_dir($outdir))
|
1360 |
+
@mkdir($outdir, 0755, true);
|
1361 |
+
else
|
1362 |
+
@chmod($outdir, 0777);
|
1363 |
+
|
1364 |
+
//@mkdir($outdir, 0777, true);
|
1365 |
+
|
1366 |
+
if (!is_dir($outdir)) {
|
1367 |
+
throw new ArchiveIOException("Could not create directory '$outdir'");
|
1368 |
+
}
|
1369 |
+
|
1370 |
+
$files_counter = 0;
|
1371 |
+
$return = array();
|
1372 |
+
|
1373 |
+
$extracted = array();
|
1374 |
+
while ($dat = $this->readbytes(512)) {
|
1375 |
+
// read the file header
|
1376 |
+
$header = $this->parseHeader($dat);
|
1377 |
+
if (!is_array($header)) {
|
1378 |
+
continue;
|
1379 |
+
}
|
1380 |
+
|
1381 |
+
if($files_limit)
|
1382 |
+
{
|
1383 |
+
if(++$files_counter > $files_limit)
|
1384 |
+
{
|
1385 |
+
$return['extracted_files'] = $extracted;
|
1386 |
+
$return['start'] = ftell($this->fh)-512;
|
1387 |
+
return $return;
|
1388 |
+
}
|
1389 |
+
}
|
1390 |
+
|
1391 |
+
$fileinfo = $this->header2fileinfo($header);
|
1392 |
+
|
1393 |
+
// apply strip rules
|
1394 |
+
$fileinfo->strip($strip);
|
1395 |
+
|
1396 |
+
// skip unwanted files
|
1397 |
+
if (!strlen($fileinfo->getPath()) || !$fileinfo->match($include, $exclude)) {
|
1398 |
+
$this->skipbytes(ceil($header['size'] / 512) * 512);
|
1399 |
+
continue;
|
1400 |
+
}
|
1401 |
+
|
1402 |
+
// create output directory
|
1403 |
+
$output = $outdir.'/'.$fileinfo->getPath();
|
1404 |
+
$directory = ($fileinfo->getIsdir()) ? $output : dirname($output);
|
1405 |
+
if(!is_dir($directory))
|
1406 |
+
@mkdir($directory, 0755, true);
|
1407 |
+
else
|
1408 |
+
@chmod($directory, 0755);
|
1409 |
+
|
1410 |
+
// extract data
|
1411 |
+
if (!$fileinfo->getIsdir()) {
|
1412 |
+
if(file_exists($output))
|
1413 |
+
unlink($output);
|
1414 |
+
|
1415 |
+
$fp = fopen($output, "wb");
|
1416 |
+
if (!$fp) {
|
1417 |
+
throw new ArchiveIOException('Could not open file for writing: '.$output);
|
1418 |
+
}
|
1419 |
+
|
1420 |
+
$size = floor($header['size'] / 512);
|
1421 |
+
for ($i = 0; $i < $size; $i++) {
|
1422 |
+
fwrite($fp, $this->readbytes(512), 512);
|
1423 |
+
}
|
1424 |
+
if (($header['size'] % 512) != 0) {
|
1425 |
+
fwrite($fp, $this->readbytes(512), $header['size'] % 512);
|
1426 |
+
}
|
1427 |
+
|
1428 |
+
fclose($fp);
|
1429 |
+
touch($output, $fileinfo->getMtime());
|
1430 |
+
chmod($output, $fileinfo->getMode());
|
1431 |
+
} else {
|
1432 |
+
//$this->skipbytes(ceil($header['size'] / 512) * 512); // the size is usually 0 for directories
|
1433 |
+
$this->skipbytes(ceil(0 / 512) * 512); // the size is usually 0 for directories
|
1434 |
+
}
|
1435 |
+
|
1436 |
+
$extracted[] = $fileinfo;
|
1437 |
+
}
|
1438 |
+
|
1439 |
+
$this->close();
|
1440 |
+
|
1441 |
+
$return['extracted_files'] = $extracted;
|
1442 |
+
|
1443 |
+
return $return;
|
1444 |
+
}
|
1445 |
+
}
|
xcloner.php
CHANGED
@@ -15,7 +15,7 @@
|
|
15 |
* Plugin Name: XCloner - Site Backup and Restore
|
16 |
* Plugin URI: https://xcloner.com/
|
17 |
* Description: XCloner is a tool that will help you manage your website backups, generate/restore/move so your website will be always secured! With XCloner you will be able to clone your site to any other location with just a few clicks, as well as transfer the backup archives to remote FTP, SFTP, DropBox, Amazon S3, Google Drive, WebDAV, Backblaze, Azure accounts.
|
18 |
-
* Version: 4.
|
19 |
* Author: watchful
|
20 |
* Author URI: https://watchful.net/
|
21 |
* License: GPL-2.0+
|
@@ -24,36 +24,89 @@
|
|
24 |
* Domain Path: /languages
|
25 |
*/
|
26 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
27 |
// If this file is called directly, abort.
|
28 |
if (!defined('WPINC')) {
|
29 |
-
|
30 |
}
|
31 |
|
32 |
//i will not load the plugin outside admin or cron
|
33 |
if (!is_admin() and !defined('DOING_CRON')) {
|
34 |
-
|
35 |
}
|
36 |
|
37 |
if (!defined("DS")) {
|
38 |
-
|
39 |
}
|
40 |
|
41 |
/**
|
42 |
* The code that runs during plugin activation.
|
43 |
* This action is documented in includes/class-xcloner-activator.php
|
44 |
*/
|
45 |
-
function activate_xcloner()
|
46 |
-
|
47 |
-
|
|
|
48 |
}
|
49 |
|
50 |
/**
|
51 |
* The code that runs during plugin deactivation.
|
52 |
* This action is documented in includes/class-xcloner-deactivator.php
|
53 |
*/
|
54 |
-
function deactivate_xcloner()
|
55 |
-
|
56 |
-
|
|
|
57 |
}
|
58 |
|
59 |
register_activation_hook(__FILE__, 'activate_xcloner');
|
@@ -62,22 +115,22 @@ register_deactivation_hook(__FILE__, 'deactivate_xcloner');
|
|
62 |
require_once plugin_dir_path(__FILE__).'includes/class-xcloner-activator.php';
|
63 |
|
64 |
if (version_compare(phpversion(), Xcloner_Activator::xcloner_minimum_version, '<')) {
|
65 |
-
|
66 |
<div class="error notice">
|
67 |
<p><?php echo sprintf(__("XCloner requires minimum PHP version %s in order to run correctly. We have detected your version as %s. Plugin is now deactivated."), Xcloner_Activator::xcloner_minimum_version, phpversion()) ?></p>
|
68 |
</div>
|
69 |
<?php
|
70 |
-
|
71 |
-
|
72 |
|
73 |
-
|
74 |
}
|
75 |
|
76 |
$db_installed_ver = get_option("xcloner_db_version");
|
77 |
$xcloner_db_version = Xcloner_Activator::xcloner_db_version;
|
78 |
|
79 |
if ($db_installed_ver != $xcloner_db_version) {
|
80 |
-
|
81 |
}
|
82 |
|
83 |
|
@@ -86,12 +139,13 @@ if ($db_installed_ver != $xcloner_db_version) {
|
|
86 |
* admin-specific hooks, and public-facing site hooks.
|
87 |
*/
|
88 |
|
89 |
-
function xcloner_stop_heartbeat()
|
90 |
-
|
|
|
91 |
}
|
92 |
|
93 |
if (isset($_GET['page']) and stristr($_GET['page'], "xcloner_")) {
|
94 |
-
|
95 |
}
|
96 |
|
97 |
/**
|
@@ -103,22 +157,23 @@ if (isset($_GET['page']) and stristr($_GET['page'], "xcloner_")) {
|
|
103 |
*
|
104 |
* @since 1.0.0
|
105 |
*/
|
106 |
-
function run_xcloner()
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
|
|
111 |
|
112 |
-
|
113 |
}
|
114 |
|
115 |
require_once(plugin_dir_path(__FILE__).'/vendor/autoload.php');
|
116 |
require plugin_dir_path(__FILE__).'includes/class-xcloner.php';
|
117 |
|
118 |
try {
|
119 |
-
|
120 |
-
}catch (Exception $e) {
|
121 |
-
|
122 |
}
|
123 |
|
124 |
/*
|
15 |
* Plugin Name: XCloner - Site Backup and Restore
|
16 |
* Plugin URI: https://xcloner.com/
|
17 |
* Description: XCloner is a tool that will help you manage your website backups, generate/restore/move so your website will be always secured! With XCloner you will be able to clone your site to any other location with just a few clicks, as well as transfer the backup archives to remote FTP, SFTP, DropBox, Amazon S3, Google Drive, WebDAV, Backblaze, Azure accounts.
|
18 |
+
* Version: 4.2.0
|
19 |
* Author: watchful
|
20 |
* Author URI: https://watchful.net/
|
21 |
* License: GPL-2.0+
|
24 |
* Domain Path: /languages
|
25 |
*/
|
26 |
|
27 |
+
// detect CLI mode
|
28 |
+
if (php_sapi_name() == "cli") {
|
29 |
+
$opts = getopt('v::p:h::');
|
30 |
+
|
31 |
+
if (isset($opts['h'])) {
|
32 |
+
echo sprintf("-h Display help\n");
|
33 |
+
echo sprintf("-p <profile name> Specify the backup profile name or ID\n");
|
34 |
+
echo sprintf("-v Verbose output\n");
|
35 |
+
return;
|
36 |
+
}
|
37 |
+
|
38 |
+
if (isset($opts['v'])) {
|
39 |
+
define('WP_DEBUG', true);
|
40 |
+
define('WP_DEBUG_DISPLAY', true);
|
41 |
+
} else {
|
42 |
+
define('WP_DEBUG', false);
|
43 |
+
define('WP_DEBUG_DISPLAY', false);
|
44 |
+
}
|
45 |
+
|
46 |
+
if (file_exists(__DIR__ . "/../../../wp-load.php")) {
|
47 |
+
require_once(__DIR__ .'/../../../wp-load.php');
|
48 |
+
}
|
49 |
+
|
50 |
+
require_once(__DIR__ . '/includes/class-xcloner-standalone.php');
|
51 |
+
|
52 |
+
$profile = [
|
53 |
+
'id' => 0
|
54 |
+
];
|
55 |
+
|
56 |
+
$profile_name = "undefined";
|
57 |
+
|
58 |
+
if (isset($opts['p']) && $opts['p']) {
|
59 |
+
$profile_name = $opts['p'];
|
60 |
+
}
|
61 |
+
|
62 |
+
//pass json config to Xcloner_Standalone lib
|
63 |
+
$xcloner_backup = new Xcloner_Standalone();
|
64 |
+
|
65 |
+
if (isset($profile_name) && $profile_name) {
|
66 |
+
$profile = ($xcloner_backup->xcloner_scheduler->get_schedule_by_id_or_name($profile_name));
|
67 |
+
}
|
68 |
+
|
69 |
+
if ($profile['id']) {
|
70 |
+
$xcloner_backup->start($profile['id']);
|
71 |
+
} else {
|
72 |
+
die("Could not find profile ". $profile_name."\n");
|
73 |
+
}
|
74 |
+
|
75 |
+
return;
|
76 |
+
}
|
77 |
+
|
78 |
// If this file is called directly, abort.
|
79 |
if (!defined('WPINC')) {
|
80 |
+
die;
|
81 |
}
|
82 |
|
83 |
//i will not load the plugin outside admin or cron
|
84 |
if (!is_admin() and !defined('DOING_CRON')) {
|
85 |
+
return;
|
86 |
}
|
87 |
|
88 |
if (!defined("DS")) {
|
89 |
+
define("DS", DIRECTORY_SEPARATOR);
|
90 |
}
|
91 |
|
92 |
/**
|
93 |
* The code that runs during plugin activation.
|
94 |
* This action is documented in includes/class-xcloner-activator.php
|
95 |
*/
|
96 |
+
function activate_xcloner()
|
97 |
+
{
|
98 |
+
require_once plugin_dir_path(__FILE__).'includes/class-xcloner-activator.php';
|
99 |
+
Xcloner_Activator::activate();
|
100 |
}
|
101 |
|
102 |
/**
|
103 |
* The code that runs during plugin deactivation.
|
104 |
* This action is documented in includes/class-xcloner-deactivator.php
|
105 |
*/
|
106 |
+
function deactivate_xcloner()
|
107 |
+
{
|
108 |
+
require_once plugin_dir_path(__FILE__).'includes/class-xcloner-deactivator.php';
|
109 |
+
Xcloner_Deactivator::deactivate();
|
110 |
}
|
111 |
|
112 |
register_activation_hook(__FILE__, 'activate_xcloner');
|
115 |
require_once plugin_dir_path(__FILE__).'includes/class-xcloner-activator.php';
|
116 |
|
117 |
if (version_compare(phpversion(), Xcloner_Activator::xcloner_minimum_version, '<')) {
|
118 |
+
?>
|
119 |
<div class="error notice">
|
120 |
<p><?php echo sprintf(__("XCloner requires minimum PHP version %s in order to run correctly. We have detected your version as %s. Plugin is now deactivated."), Xcloner_Activator::xcloner_minimum_version, phpversion()) ?></p>
|
121 |
</div>
|
122 |
<?php
|
123 |
+
require_once(ABSPATH.'wp-admin/includes/plugin.php');
|
124 |
+
deactivate_plugins(plugin_basename(__FILE__));
|
125 |
|
126 |
+
return;
|
127 |
}
|
128 |
|
129 |
$db_installed_ver = get_option("xcloner_db_version");
|
130 |
$xcloner_db_version = Xcloner_Activator::xcloner_db_version;
|
131 |
|
132 |
if ($db_installed_ver != $xcloner_db_version) {
|
133 |
+
Xcloner_Activator::activate();
|
134 |
}
|
135 |
|
136 |
|
139 |
* admin-specific hooks, and public-facing site hooks.
|
140 |
*/
|
141 |
|
142 |
+
function xcloner_stop_heartbeat()
|
143 |
+
{
|
144 |
+
wp_deregister_script('heartbeat');
|
145 |
}
|
146 |
|
147 |
if (isset($_GET['page']) and stristr($_GET['page'], "xcloner_")) {
|
148 |
+
add_action('init', 'xcloner_stop_heartbeat', 1);
|
149 |
}
|
150 |
|
151 |
/**
|
157 |
*
|
158 |
* @since 1.0.0
|
159 |
*/
|
160 |
+
function run_xcloner()
|
161 |
+
{
|
162 |
+
$plugin = new Xcloner();
|
163 |
+
$plugin->check_dependencies();
|
164 |
+
$plugin->init();
|
165 |
+
$plugin->run();
|
166 |
|
167 |
+
return $plugin;
|
168 |
}
|
169 |
|
170 |
require_once(plugin_dir_path(__FILE__).'/vendor/autoload.php');
|
171 |
require plugin_dir_path(__FILE__).'includes/class-xcloner.php';
|
172 |
|
173 |
try {
|
174 |
+
$xcloner_plugin = run_xcloner();
|
175 |
+
} catch (Exception $e) {
|
176 |
+
echo $e->getMessage();
|
177 |
}
|
178 |
|
179 |
/*
|