Easy Updates Manager - Version 8.0.1

Version Description

  • TWEAK: Tidy up UI
  • FEATURE: Plugin can now be fully controlled by UpdraftCentral plugin
  • FEATURE: (Premium) Scheduled log clearance
  • FEATURE: (Premium) Automatic backup before auto update
  • FEATURE: (Premium) Automatic update scheduling
  • FEATURE: (Premium) Send Anonymous update request or request with random data to protect privacy
  • FEATURE: (Premium) Import and Export settings
  • FEATURE: (Premium) Introduce Safe Mode for PHP compatibility checks and WordPress version checks
  • FEATURE: (Premium) Logs of automatic update events can be send to external channels such as slack, email, php error log and syslog
  • FEATURE: (PREMIUM) Send weekly or monthly emails of update notifications
  • FEATURE: (PREMIUM) Webhook to integrate with third-party services
  • FEATURE: (PREMIUM) Show plugins that have been removed from the WordPress Plugin Directory
  • FEATURE: (PREMIUM) Ability to whitelist the plugin
  • FEATURE: (PREMIUM) Ability to search the logs by user or asset name
  • FEATURE: (PREMIUM) Ability to export logs for a date range and print them, download a CSV, or download a JSON format
  • FEATURE: (PREMIUM) Check for PHP parse errors during automatic updates and de-activate problem problems automatically
  • FEATURE: (PREMIUM) Check for plugins de-activated during auto-update and attempt to re-activate them automatically
  • TWEAK: Changes in user capability checks
  • TWEAK: Mark as supporting WordPress 5.0
  • FIX: Removing filters in 7.0.3 allowed updates for plugins and themes to be shown
  • TWEAK: Option to take backup before force updates
  • REFACTOR: Advanced tab settings page refactoring
  • TWEAK: Dashboard notice. Welcome notice now shows our other plugins
  • TWEAK: Allow a filter to disable the updates lock option for more reliability in testing
  • FIX: Admin notices show up twice in the options page
  • TWEAK: Easy Updates Manager now displays in the multisite dashboard menu
  • TWEAK: Easy Updates Manager now displays in the admin bar
  • TWEAK: Force Updates displays more contextual errors if automatic updates are somehow modified or disabled
  • TWEAK: Enabling or disabling logs no longer requires a refresh
  • TWEAK: Select General Tab if tab is invalid
  • TWEAK: Advanced settings adhere to browser history
  • TWEAK: Reset Options forces browser to reload for better UX in the Advanced tab
  • FIX: Clicking more details on plugins tab properly shows a modal
  • FIX: Force Updates removes a space in the updates panel if there are still updates after it runs
  • TWEAK: Force Updates has a better description of what it does
  • TWEAK: Clearing logs now clears the logs data upon success
  • FIX: Clicking any type of filter in logs shows an error message
  • FIX: Add a JS polyfill to provide support for IE11
  • TWEAK: Logs can now be filtered in ascending or descending order
  • FEATURE: Shows active versions if a plugin or theme is active
  • FEATURE: (Multisite) Checks to see if any sites in the network have a plugin or theme installed
  • TWEAK: Translations now show or hide properly if plugins, WordPress Core, or theme updates are disabled
  • TWEAK: Help tab updated
  • TWEAK: Email status message shows successful if they are valid emails
  • TWEAK: Plugin and Theme options save via Ajax immediately with no save button necessary
  • TWEAK: Adding loading animation to General tab to prevent multiple states from occuring at once
  • FIX: Plugin/Themes/Log tab were causing an undefined hook suffix error upon save
Download this release

Release Info

Developer DavidAnderson
Plugin Icon 128x128 Easy Updates Manager
Version 8.0.1
Comparing to
See all releases

Code changes from version 7.0.3 to 8.0.1

Files changed (43) hide show
  1. css/css.css +73 -0
  2. css/css.min.css +9 -0
  3. css/images/ui-icons_444444_256x240.png +0 -0
  4. css/images/ui-icons_555555_256x240.png +0 -0
  5. css/jquery-ui.css +1311 -0
  6. css/jquery-ui.min.css +221 -0
  7. css/style.css +400 -22
  8. css/style.min.css +77 -18
  9. images/index.php +1 -0
  10. images/notices/eum-notice-logo-150.png +0 -0
  11. images/site_icon.png +0 -0
  12. includes/MPSUM_Admin.php +276 -101
  13. includes/MPSUM_Admin_Advanced.php +4 -64
  14. includes/MPSUM_Admin_Ajax.php +318 -65
  15. includes/MPSUM_Admin_Core.php +3 -3
  16. includes/MPSUM_Admin_Dashboard.php +2 -3
  17. includes/MPSUM_Admin_Help.php +9 -28
  18. includes/MPSUM_Admin_Logs.php +1 -0
  19. includes/MPSUM_Admin_Plugins.php +9 -25
  20. includes/MPSUM_Admin_Themes.php +9 -26
  21. includes/MPSUM_Advanced_Premium.php +39 -0
  22. includes/MPSUM_Check_Plugin_Install_Status.php +135 -0
  23. includes/MPSUM_Check_Theme_Install_Status.php +116 -0
  24. includes/MPSUM_Commands.php +507 -0
  25. includes/MPSUM_Disable_Updates.php +4 -2
  26. includes/MPSUM_Disable_Updates_Plugins.php +48 -18
  27. includes/MPSUM_Disable_Updates_Themes.php +45 -15
  28. includes/MPSUM_Disable_Updates_Translations.php +25 -12
  29. includes/MPSUM_Disable_Updates_WordPress.php +50 -23
  30. includes/MPSUM_Exclude_Users.php +47 -0
  31. includes/MPSUM_Force_Updates.php +48 -0
  32. includes/MPSUM_List_Table.php +25 -9
  33. includes/MPSUM_Logs.php +375 -362
  34. includes/MPSUM_Logs_List_Table.php +535 -102
  35. includes/MPSUM_Plugins_List_Table.php +99 -94
  36. includes/MPSUM_Reset_Options.php +47 -0
  37. includes/MPSUM_Themes_List_Table.php +69 -45
  38. includes/MPSUM_UpdraftCentral.php +43 -0
  39. includes/MPSUM_UpdraftCentral_EUM_Commands.php +39 -0
  40. includes/MPSUM_Utils.php +154 -5
  41. includes/easy-updates-manager-notices.php +12 -2
  42. includes/updraft-notices.php +5 -0
  43. js/admin.js +11765 -3045
css/css.css ADDED
@@ -0,0 +1,73 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /******/ (function(modules) { // webpackBootstrap
2
+ /******/ // The module cache
3
+ /******/ var installedModules = {};
4
+ /******/
5
+ /******/ // The require function
6
+ /******/ function __webpack_require__(moduleId) {
7
+ /******/
8
+ /******/ // Check if module is in cache
9
+ /******/ if(installedModules[moduleId]) {
10
+ /******/ return installedModules[moduleId].exports;
11
+ /******/ }
12
+ /******/ // Create a new module (and put it into the cache)
13
+ /******/ var module = installedModules[moduleId] = {
14
+ /******/ i: moduleId,
15
+ /******/ l: false,
16
+ /******/ exports: {}
17
+ /******/ };
18
+ /******/
19
+ /******/ // Execute the module function
20
+ /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
21
+ /******/
22
+ /******/ // Flag the module as loaded
23
+ /******/ module.l = true;
24
+ /******/
25
+ /******/ // Return the exports of the module
26
+ /******/ return module.exports;
27
+ /******/ }
28
+ /******/
29
+ /******/
30
+ /******/ // expose the modules object (__webpack_modules__)
31
+ /******/ __webpack_require__.m = modules;
32
+ /******/
33
+ /******/ // expose the module cache
34
+ /******/ __webpack_require__.c = installedModules;
35
+ /******/
36
+ /******/ // define getter function for harmony exports
37
+ /******/ __webpack_require__.d = function(exports, name, getter) {
38
+ /******/ if(!__webpack_require__.o(exports, name)) {
39
+ /******/ Object.defineProperty(exports, name, {
40
+ /******/ configurable: false,
41
+ /******/ enumerable: true,
42
+ /******/ get: getter
43
+ /******/ });
44
+ /******/ }
45
+ /******/ };
46
+ /******/
47
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
48
+ /******/ __webpack_require__.n = function(module) {
49
+ /******/ var getter = module && module.__esModule ?
50
+ /******/ function getDefault() { return module['default']; } :
51
+ /******/ function getModuleExports() { return module; };
52
+ /******/ __webpack_require__.d(getter, 'a', getter);
53
+ /******/ return getter;
54
+ /******/ };
55
+ /******/
56
+ /******/ // Object.prototype.hasOwnProperty.call
57
+ /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
58
+ /******/
59
+ /******/ // __webpack_public_path__
60
+ /******/ __webpack_require__.p = "";
61
+ /******/
62
+ /******/ // Load entry module and return exports
63
+ /******/ return __webpack_require__(__webpack_require__.s = 0);
64
+ /******/ })
65
+ /************************************************************************/
66
+ /******/ ([
67
+ /* 0 */
68
+ /***/ (function(module, exports) {
69
+
70
+ // removed by extract-text-webpack-plugin
71
+
72
+ /***/ })
73
+ /******/ ]);
css/css.min.css ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ (function(modules){// webpackBootstrap //;// The require function function __webpack_require__(moduleId){// Check if module is in cache if(installedModules[moduleId]){return installedModules[moduleId].exports}
2
+ // Create a new module(and put it into the cache) var module = installedModules[moduleId] ={}
3
+ ;// Execute the module function modules[moduleId].call(module.exports,module,module.exports,__webpack_require__);// Flag the module as loaded module.l = true;// Return the exports of the module return module.exports}
4
+ // expose the modules object(__webpack_modules__) __webpack_require__.m = modules;// expose the module cache __webpack_require__.c = installedModules;// define getter function for harmony exports __webpack_require__.d = function(exports,name,getter){if(!__webpack_require__.o(exports,name)){Object.defineProperty(exports,name,{configurable:false,enumerable:true,get:getter}
5
+ )}};// getDefaultExport function for compatibility with non-harmony modules __webpack_require__.n = function(module){var getter = module && module.__esModule ? function getDefault(){return module['default']}
6
+ :function getModuleExports(){return module};__webpack_require__.d(getter,'a',getter);return getter}
7
+ ;// Object.prototype.hasOwnProperty.call __webpack_require__.o = function(object,property){return Object.prototype.hasOwnProperty.call(object,property)}
8
+ ;// __webpack_public_path__ __webpack_require__.p = "";// Load entry module and return exports return __webpack_require__(__webpack_require__.s = 0)}
9
+ )([(function(module,exports){// removed by extract-text-webpack-plugin})]);
css/images/ui-icons_444444_256x240.png ADDED
Binary file
css/images/ui-icons_555555_256x240.png ADDED
Binary file
css/jquery-ui.css ADDED
@@ -0,0 +1,1311 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*! jQuery UI - v1.12.1 - 2016-09-14
2
+ * http://jqueryui.com
3
+ * Includes: core.css, accordion.css, autocomplete.css, menu.css, button.css, controlgroup.css, checkboxradio.css, datepicker.css, dialog.css, draggable.css, resizable.css, progressbar.css, selectable.css, selectmenu.css, slider.css, sortable.css, spinner.css, tabs.css, tooltip.css, theme.css
4
+
5
+ * Copyright jQuery Foundation and other contributors; Licensed MIT */
6
+
7
+ /* Layout helpers
8
+ ----------------------------------*/
9
+ .ui-helper-hidden {
10
+ display: none;
11
+ }
12
+ .ui-helper-hidden-accessible {
13
+ border: 0;
14
+ clip: rect(0 0 0 0);
15
+ height: 1px;
16
+ margin: -1px;
17
+ overflow: hidden;
18
+ padding: 0;
19
+ position: absolute;
20
+ width: 1px;
21
+ }
22
+ .ui-helper-reset {
23
+ margin: 0;
24
+ padding: 0;
25
+ border: 0;
26
+ outline: 0;
27
+ line-height: 1.3;
28
+ text-decoration: none;
29
+ font-size: 100%;
30
+ list-style: none;
31
+ }
32
+ .ui-helper-clearfix:before,
33
+ .ui-helper-clearfix:after {
34
+ content: "";
35
+ display: table;
36
+ border-collapse: collapse;
37
+ }
38
+ .ui-helper-clearfix:after {
39
+ clear: both;
40
+ }
41
+ .ui-helper-zfix {
42
+ width: 100%;
43
+ height: 100%;
44
+ top: 0;
45
+ left: 0;
46
+ position: absolute;
47
+ opacity: 0;
48
+ filter:Alpha(Opacity=0); /* support: IE8 */
49
+ }
50
+
51
+ .ui-front {
52
+ z-index: 100;
53
+ }
54
+
55
+
56
+ /* Interaction Cues
57
+ ----------------------------------*/
58
+ .ui-state-disabled {
59
+ cursor: default !important;
60
+ pointer-events: none;
61
+ }
62
+
63
+
64
+ /* Icons
65
+ ----------------------------------*/
66
+ .ui-icon {
67
+ display: inline-block;
68
+ vertical-align: middle;
69
+ margin-top: -.25em;
70
+ position: relative;
71
+ text-indent: -99999px;
72
+ overflow: hidden;
73
+ background-repeat: no-repeat;
74
+ }
75
+
76
+ .ui-widget-icon-block {
77
+ left: 50%;
78
+ margin-left: -8px;
79
+ display: block;
80
+ }
81
+
82
+ /* Misc visuals
83
+ ----------------------------------*/
84
+
85
+ /* Overlays */
86
+ .ui-widget-overlay {
87
+ position: fixed;
88
+ top: 0;
89
+ left: 0;
90
+ width: 100%;
91
+ height: 100%;
92
+ }
93
+ .ui-accordion .ui-accordion-header {
94
+ display: block;
95
+ cursor: pointer;
96
+ position: relative;
97
+ margin: 2px 0 0 0;
98
+ padding: .5em .5em .5em .7em;
99
+ font-size: 100%;
100
+ }
101
+ .ui-accordion .ui-accordion-content {
102
+ padding: 1em 2.2em;
103
+ border-top: 0;
104
+ overflow: auto;
105
+ }
106
+ .ui-autocomplete {
107
+ position: absolute;
108
+ top: 0;
109
+ left: 0;
110
+ cursor: default;
111
+ }
112
+ .ui-menu {
113
+ list-style: none;
114
+ padding: 0;
115
+ margin: 0;
116
+ display: block;
117
+ outline: 0;
118
+ }
119
+ .ui-menu .ui-menu {
120
+ position: absolute;
121
+ }
122
+ .ui-menu .ui-menu-item {
123
+ margin: 0;
124
+ cursor: pointer;
125
+ /* support: IE10, see #8844 */
126
+ list-style-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7");
127
+ }
128
+ .ui-menu .ui-menu-item-wrapper {
129
+ position: relative;
130
+ padding: 3px 1em 3px .4em;
131
+ }
132
+ .ui-menu .ui-menu-divider {
133
+ margin: 5px 0;
134
+ height: 0;
135
+ font-size: 0;
136
+ line-height: 0;
137
+ border-width: 1px 0 0 0;
138
+ }
139
+ .ui-menu .ui-state-focus,
140
+ .ui-menu .ui-state-active {
141
+ margin: -1px;
142
+ }
143
+
144
+ /* icon support */
145
+ .ui-menu-icons {
146
+ position: relative;
147
+ }
148
+ .ui-menu-icons .ui-menu-item-wrapper {
149
+ padding-left: 2em;
150
+ }
151
+
152
+ /* left-aligned */
153
+ .ui-menu .ui-icon {
154
+ position: absolute;
155
+ top: 0;
156
+ bottom: 0;
157
+ left: .2em;
158
+ margin: auto 0;
159
+ }
160
+
161
+ /* right-aligned */
162
+ .ui-menu .ui-menu-icon {
163
+ left: auto;
164
+ right: 0;
165
+ }
166
+ .ui-button {
167
+ padding: .4em 1em;
168
+ display: inline-block;
169
+ position: relative;
170
+ line-height: normal;
171
+ margin-right: .1em;
172
+ cursor: pointer;
173
+ vertical-align: middle;
174
+ text-align: center;
175
+ -webkit-user-select: none;
176
+ -moz-user-select: none;
177
+ -ms-user-select: none;
178
+ user-select: none;
179
+
180
+ /* Support: IE <= 11 */
181
+ overflow: visible;
182
+ }
183
+
184
+ .ui-button,
185
+ .ui-button:link,
186
+ .ui-button:visited,
187
+ .ui-button:hover,
188
+ .ui-button:active {
189
+ text-decoration: none;
190
+ }
191
+
192
+ /* to make room for the icon, a width needs to be set here */
193
+ .ui-button-icon-only {
194
+ width: 2em;
195
+ box-sizing: border-box;
196
+ text-indent: -9999px;
197
+ white-space: nowrap;
198
+ }
199
+
200
+ /* no icon support for input elements */
201
+ input.ui-button.ui-button-icon-only {
202
+ text-indent: 0;
203
+ }
204
+
205
+ /* button icon element(s) */
206
+ .ui-button-icon-only .ui-icon {
207
+ position: absolute;
208
+ top: 50%;
209
+ left: 50%;
210
+ margin-top: -8px;
211
+ margin-left: -8px;
212
+ }
213
+
214
+ .ui-button.ui-icon-notext .ui-icon {
215
+ padding: 0;
216
+ width: 2.1em;
217
+ height: 2.1em;
218
+ text-indent: -9999px;
219
+ white-space: nowrap;
220
+
221
+ }
222
+
223
+ input.ui-button.ui-icon-notext .ui-icon {
224
+ width: auto;
225
+ height: auto;
226
+ text-indent: 0;
227
+ white-space: normal;
228
+ padding: .4em 1em;
229
+ }
230
+
231
+ /* workarounds */
232
+ /* Support: Firefox 5 - 40 */
233
+ input.ui-button::-moz-focus-inner,
234
+ button.ui-button::-moz-focus-inner {
235
+ border: 0;
236
+ padding: 0;
237
+ }
238
+ .ui-controlgroup {
239
+ vertical-align: middle;
240
+ display: inline-block;
241
+ }
242
+ .ui-controlgroup > .ui-controlgroup-item {
243
+ float: left;
244
+ margin-left: 0;
245
+ margin-right: 0;
246
+ }
247
+ .ui-controlgroup > .ui-controlgroup-item:focus,
248
+ .ui-controlgroup > .ui-controlgroup-item.ui-visual-focus {
249
+ z-index: 9999;
250
+ }
251
+ .ui-controlgroup-vertical > .ui-controlgroup-item {
252
+ display: block;
253
+ float: none;
254
+ width: 100%;
255
+ margin-top: 0;
256
+ margin-bottom: 0;
257
+ text-align: left;
258
+ }
259
+ .ui-controlgroup-vertical .ui-controlgroup-item {
260
+ box-sizing: border-box;
261
+ }
262
+ .ui-controlgroup .ui-controlgroup-label {
263
+ padding: .4em 1em;
264
+ }
265
+ .ui-controlgroup .ui-controlgroup-label span {
266
+ font-size: 80%;
267
+ }
268
+ .ui-controlgroup-horizontal .ui-controlgroup-label + .ui-controlgroup-item {
269
+ border-left: none;
270
+ }
271
+ .ui-controlgroup-vertical .ui-controlgroup-label + .ui-controlgroup-item {
272
+ border-top: none;
273
+ }
274
+ .ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content {
275
+ border-right: none;
276
+ }
277
+ .ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content {
278
+ border-bottom: none;
279
+ }
280
+
281
+ /* Spinner specific style fixes */
282
+ .ui-controlgroup-vertical .ui-spinner-input {
283
+
284
+ /* Support: IE8 only, Android < 4.4 only */
285
+ width: 75%;
286
+ width: calc( 100% - 2.4em );
287
+ }
288
+ .ui-controlgroup-vertical .ui-spinner .ui-spinner-up {
289
+ border-top-style: solid;
290
+ }
291
+
292
+ .ui-checkboxradio-label .ui-icon-background {
293
+ box-shadow: inset 1px 1px 1px #ccc;
294
+ border-radius: .12em;
295
+ border: none;
296
+ }
297
+ .ui-checkboxradio-radio-label .ui-icon-background {
298
+ width: 16px;
299
+ height: 16px;
300
+ border-radius: 1em;
301
+ overflow: visible;
302
+ border: none;
303
+ }
304
+ .ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon,
305
+ .ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon {
306
+ background-image: none;
307
+ width: 8px;
308
+ height: 8px;
309
+ border-width: 4px;
310
+ border-style: solid;
311
+ }
312
+ .ui-checkboxradio-disabled {
313
+ pointer-events: none;
314
+ }
315
+ .ui-datepicker {
316
+ width: 17em;
317
+ padding: .2em .2em 0;
318
+ display: none;
319
+ }
320
+ .ui-datepicker .ui-datepicker-header {
321
+ position: relative;
322
+ padding: .2em 0;
323
+ }
324
+ .ui-datepicker .ui-datepicker-prev,
325
+ .ui-datepicker .ui-datepicker-next {
326
+ position: absolute;
327
+ top: 2px;
328
+ width: 1.8em;
329
+ height: 1.8em;
330
+ }
331
+ .ui-datepicker .ui-datepicker-prev-hover,
332
+ .ui-datepicker .ui-datepicker-next-hover {
333
+ top: 1px;
334
+ }
335
+ .ui-datepicker .ui-datepicker-prev {
336
+ left: 2px;
337
+ }
338
+ .ui-datepicker .ui-datepicker-next {
339
+ right: 2px;
340
+ }
341
+ .ui-datepicker .ui-datepicker-prev-hover {
342
+ left: 1px;
343
+ }
344
+ .ui-datepicker .ui-datepicker-next-hover {
345
+ right: 1px;
346
+ }
347
+ .ui-datepicker .ui-datepicker-prev span,
348
+ .ui-datepicker .ui-datepicker-next span {
349
+ display: block;
350
+ position: absolute;
351
+ left: 50%;
352
+ margin-left: -8px;
353
+ top: 50%;
354
+ margin-top: -8px;
355
+ }
356
+ .ui-datepicker .ui-datepicker-title {
357
+ margin: 0 2.3em;
358
+ line-height: 1.8em;
359
+ text-align: center;
360
+ }
361
+ .ui-datepicker .ui-datepicker-title select {
362
+ font-size: 1em;
363
+ margin: 1px 0;
364
+ }
365
+ .ui-datepicker select.ui-datepicker-month,
366
+ .ui-datepicker select.ui-datepicker-year {
367
+ width: 45%;
368
+ }
369
+ .ui-datepicker table {
370
+ width: 100%;
371
+ font-size: .9em;
372
+ border-collapse: collapse;
373
+ margin: 0 0 .4em;
374
+ }
375
+ .ui-datepicker th {
376
+ padding: .7em .3em;
377
+ text-align: center;
378
+ font-weight: bold;
379
+ border: 0;
380
+ }
381
+ .ui-datepicker td {
382
+ border: 0;
383
+ padding: 1px;
384
+ }
385
+ .ui-datepicker td span,
386
+ .ui-datepicker td a {
387
+ display: block;
388
+ padding: .2em;
389
+ text-align: right;
390
+ text-decoration: none;
391
+ }
392
+ .ui-datepicker .ui-datepicker-buttonpane {
393
+ background-image: none;
394
+ margin: .7em 0 0 0;
395
+ padding: 0 .2em;
396
+ border-left: 0;
397
+ border-right: 0;
398
+ border-bottom: 0;
399
+ }
400
+ .ui-datepicker .ui-datepicker-buttonpane button {
401
+ float: right;
402
+ margin: .5em .2em .4em;
403
+ cursor: pointer;
404
+ padding: .2em .6em .3em .6em;
405
+ width: auto;
406
+ overflow: visible;
407
+ }
408
+ .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
409
+ float: left;
410
+ }
411
+
412
+ /* with multiple calendars */
413
+ .ui-datepicker.ui-datepicker-multi {
414
+ width: auto;
415
+ }
416
+ .ui-datepicker-multi .ui-datepicker-group {
417
+ float: left;
418
+ }
419
+ .ui-datepicker-multi .ui-datepicker-group table {
420
+ width: 95%;
421
+ margin: 0 auto .4em;
422
+ }
423
+ .ui-datepicker-multi-2 .ui-datepicker-group {
424
+ width: 50%;
425
+ }
426
+ .ui-datepicker-multi-3 .ui-datepicker-group {
427
+ width: 33.3%;
428
+ }
429
+ .ui-datepicker-multi-4 .ui-datepicker-group {
430
+ width: 25%;
431
+ }
432
+ .ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,
433
+ .ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {
434
+ border-left-width: 0;
435
+ }
436
+ .ui-datepicker-multi .ui-datepicker-buttonpane {
437
+ clear: left;
438
+ }
439
+ .ui-datepicker-row-break {
440
+ clear: both;
441
+ width: 100%;
442
+ font-size: 0;
443
+ }
444
+
445
+ /* RTL support */
446
+ .ui-datepicker-rtl {
447
+ direction: rtl;
448
+ }
449
+ .ui-datepicker-rtl .ui-datepicker-prev {
450
+ right: 2px;
451
+ left: auto;
452
+ }
453
+ .ui-datepicker-rtl .ui-datepicker-next {
454
+ left: 2px;
455
+ right: auto;
456
+ }
457
+ .ui-datepicker-rtl .ui-datepicker-prev:hover {
458
+ right: 1px;
459
+ left: auto;
460
+ }
461
+ .ui-datepicker-rtl .ui-datepicker-next:hover {
462
+ left: 1px;
463
+ right: auto;
464
+ }
465
+ .ui-datepicker-rtl .ui-datepicker-buttonpane {
466
+ clear: right;
467
+ }
468
+ .ui-datepicker-rtl .ui-datepicker-buttonpane button {
469
+ float: left;
470
+ }
471
+ .ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,
472
+ .ui-datepicker-rtl .ui-datepicker-group {
473
+ float: right;
474
+ }
475
+ .ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,
476
+ .ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
477
+ border-right-width: 0;
478
+ border-left-width: 1px;
479
+ }
480
+
481
+ /* Icons */
482
+ .ui-datepicker .ui-icon {
483
+ display: block;
484
+ text-indent: -99999px;
485
+ overflow: hidden;
486
+ background-repeat: no-repeat;
487
+ left: .5em;
488
+ top: .3em;
489
+ }
490
+ .ui-dialog {
491
+ position: absolute;
492
+ top: 0;
493
+ left: 0;
494
+ padding: .2em;
495
+ outline: 0;
496
+ }
497
+ .ui-dialog .ui-dialog-titlebar {
498
+ padding: .4em 1em;
499
+ position: relative;
500
+ }
501
+ .ui-dialog .ui-dialog-title {
502
+ float: left;
503
+ margin: .1em 0;
504
+ white-space: nowrap;
505
+ width: 90%;
506
+ overflow: hidden;
507
+ text-overflow: ellipsis;
508
+ }
509
+ .ui-dialog .ui-dialog-titlebar-close {
510
+ position: absolute;
511
+ right: .3em;
512
+ top: 50%;
513
+ width: 20px;
514
+ margin: -10px 0 0 0;
515
+ padding: 1px;
516
+ height: 20px;
517
+ }
518
+ .ui-dialog .ui-dialog-content {
519
+ position: relative;
520
+ border: 0;
521
+ padding: .5em 1em;
522
+ background: none;
523
+ overflow: auto;
524
+ }
525
+ .ui-dialog .ui-dialog-buttonpane {
526
+ text-align: left;
527
+ border-width: 1px 0 0 0;
528
+ background-image: none;
529
+ margin-top: .5em;
530
+ padding: .3em 1em .5em .4em;
531
+ }
532
+ .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
533
+ float: right;
534
+ }
535
+ .ui-dialog .ui-dialog-buttonpane button {
536
+ margin: .5em .4em .5em 0;
537
+ cursor: pointer;
538
+ }
539
+ .ui-dialog .ui-resizable-n {
540
+ height: 2px;
541
+ top: 0;
542
+ }
543
+ .ui-dialog .ui-resizable-e {
544
+ width: 2px;
545
+ right: 0;
546
+ }
547
+ .ui-dialog .ui-resizable-s {
548
+ height: 2px;
549
+ bottom: 0;
550
+ }
551
+ .ui-dialog .ui-resizable-w {
552
+ width: 2px;
553
+ left: 0;
554
+ }
555
+ .ui-dialog .ui-resizable-se,
556
+ .ui-dialog .ui-resizable-sw,
557
+ .ui-dialog .ui-resizable-ne,
558
+ .ui-dialog .ui-resizable-nw {
559
+ width: 7px;
560
+ height: 7px;
561
+ }
562
+ .ui-dialog .ui-resizable-se {
563
+ right: 0;
564
+ bottom: 0;
565
+ }
566
+ .ui-dialog .ui-resizable-sw {
567
+ left: 0;
568
+ bottom: 0;
569
+ }
570
+ .ui-dialog .ui-resizable-ne {
571
+ right: 0;
572
+ top: 0;
573
+ }
574
+ .ui-dialog .ui-resizable-nw {
575
+ left: 0;
576
+ top: 0;
577
+ }
578
+ .ui-draggable .ui-dialog-titlebar {
579
+ cursor: move;
580
+ }
581
+ .ui-draggable-handle {
582
+ -ms-touch-action: none;
583
+ touch-action: none;
584
+ }
585
+ .ui-resizable {
586
+ position: relative;
587
+ }
588
+ .ui-resizable-handle {
589
+ position: absolute;
590
+ font-size: 0.1px;
591
+ display: block;
592
+ -ms-touch-action: none;
593
+ touch-action: none;
594
+ }
595
+ .ui-resizable-disabled .ui-resizable-handle,
596
+ .ui-resizable-autohide .ui-resizable-handle {
597
+ display: none;
598
+ }
599
+ .ui-resizable-n {
600
+ cursor: n-resize;
601
+ height: 7px;
602
+ width: 100%;
603
+ top: -5px;
604
+ left: 0;
605
+ }
606
+ .ui-resizable-s {
607
+ cursor: s-resize;
608
+ height: 7px;
609
+ width: 100%;
610
+ bottom: -5px;
611
+ left: 0;
612
+ }
613
+ .ui-resizable-e {
614
+ cursor: e-resize;
615
+ width: 7px;
616
+ right: -5px;
617
+ top: 0;
618
+ height: 100%;
619
+ }
620
+ .ui-resizable-w {
621
+ cursor: w-resize;
622
+ width: 7px;
623
+ left: -5px;
624
+ top: 0;
625
+ height: 100%;
626
+ }
627
+ .ui-resizable-se {
628
+ cursor: se-resize;
629
+ width: 12px;
630
+ height: 12px;
631
+ right: 1px;
632
+ bottom: 1px;
633
+ }
634
+ .ui-resizable-sw {
635
+ cursor: sw-resize;
636
+ width: 9px;
637
+ height: 9px;
638
+ left: -5px;
639
+ bottom: -5px;
640
+ }
641
+ .ui-resizable-nw {
642
+ cursor: nw-resize;
643
+ width: 9px;
644
+ height: 9px;
645
+ left: -5px;
646
+ top: -5px;
647
+ }
648
+ .ui-resizable-ne {
649
+ cursor: ne-resize;
650
+ width: 9px;
651
+ height: 9px;
652
+ right: -5px;
653
+ top: -5px;
654
+ }
655
+ .ui-progressbar {
656
+ height: 2em;
657
+ text-align: left;
658
+ overflow: hidden;
659
+ }
660
+ .ui-progressbar .ui-progressbar-value {
661
+ margin: -1px;
662
+ height: 100%;
663
+ }
664
+ .ui-progressbar .ui-progressbar-overlay {
665
+ background: url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw==");
666
+ height: 100%;
667
+ filter: alpha(opacity=25); /* support: IE8 */
668
+ opacity: 0.25;
669
+ }
670
+ .ui-progressbar-indeterminate .ui-progressbar-value {
671
+ background-image: none;
672
+ }
673
+ .ui-selectable {
674
+ -ms-touch-action: none;
675
+ touch-action: none;
676
+ }
677
+ .ui-selectable-helper {
678
+ position: absolute;
679
+ z-index: 100;
680
+ border: 1px dotted black;
681
+ }
682
+ .ui-selectmenu-menu {
683
+ padding: 0;
684
+ margin: 0;
685
+ position: absolute;
686
+ top: 0;
687
+ left: 0;
688
+ display: none;
689
+ }
690
+ .ui-selectmenu-menu .ui-menu {
691
+ overflow: auto;
692
+ overflow-x: hidden;
693
+ padding-bottom: 1px;
694
+ }
695
+ .ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup {
696
+ font-size: 1em;
697
+ font-weight: bold;
698
+ line-height: 1.5;
699
+ padding: 2px 0.4em;
700
+ margin: 0.5em 0 0 0;
701
+ height: auto;
702
+ border: 0;
703
+ }
704
+ .ui-selectmenu-open {
705
+ display: block;
706
+ }
707
+ .ui-selectmenu-text {
708
+ display: block;
709
+ margin-right: 20px;
710
+ overflow: hidden;
711
+ text-overflow: ellipsis;
712
+ }
713
+ .ui-selectmenu-button.ui-button {
714
+ text-align: left;
715
+ white-space: nowrap;
716
+ width: 14em;
717
+ }
718
+ .ui-selectmenu-icon.ui-icon {
719
+ float: right;
720
+ margin-top: 0;
721
+ }
722
+ .ui-slider {
723
+ position: relative;
724
+ text-align: left;
725
+ }
726
+ .ui-slider .ui-slider-handle {
727
+ position: absolute;
728
+ z-index: 2;
729
+ width: 1.2em;
730
+ height: 1.2em;
731
+ cursor: default;
732
+ -ms-touch-action: none;
733
+ touch-action: none;
734
+ }
735
+ .ui-slider .ui-slider-range {
736
+ position: absolute;
737
+ z-index: 1;
738
+ font-size: .7em;
739
+ display: block;
740
+ border: 0;
741
+ background-position: 0 0;
742
+ }
743
+
744
+ /* support: IE8 - See #6727 */
745
+ .ui-slider.ui-state-disabled .ui-slider-handle,
746
+ .ui-slider.ui-state-disabled .ui-slider-range {
747
+ filter: inherit;
748
+ }
749
+
750
+ .ui-slider-horizontal {
751
+ height: .8em;
752
+ }
753
+ .ui-slider-horizontal .ui-slider-handle {
754
+ top: -.3em;
755
+ margin-left: -.6em;
756
+ }
757
+ .ui-slider-horizontal .ui-slider-range {
758
+ top: 0;
759
+ height: 100%;
760
+ }
761
+ .ui-slider-horizontal .ui-slider-range-min {
762
+ left: 0;
763
+ }
764
+ .ui-slider-horizontal .ui-slider-range-max {
765
+ right: 0;
766
+ }
767
+
768
+ .ui-slider-vertical {
769
+ width: .8em;
770
+ height: 100px;
771
+ }
772
+ .ui-slider-vertical .ui-slider-handle {
773
+ left: -.3em;
774
+ margin-left: 0;
775
+ margin-bottom: -.6em;
776
+ }
777
+ .ui-slider-vertical .ui-slider-range {
778
+ left: 0;
779
+ width: 100%;
780
+ }
781
+ .ui-slider-vertical .ui-slider-range-min {
782
+ bottom: 0;
783
+ }
784
+ .ui-slider-vertical .ui-slider-range-max {
785
+ top: 0;
786
+ }
787
+ .ui-sortable-handle {
788
+ -ms-touch-action: none;
789
+ touch-action: none;
790
+ }
791
+ .ui-spinner {
792
+ position: relative;
793
+ display: inline-block;
794
+ overflow: hidden;
795
+ padding: 0;
796
+ vertical-align: middle;
797
+ }
798
+ .ui-spinner-input {
799
+ border: none;
800
+ background: none;
801
+ color: inherit;
802
+ padding: .222em 0;
803
+ margin: .2em 0;
804
+ vertical-align: middle;
805
+ margin-left: .4em;
806
+ margin-right: 2em;
807
+ }
808
+ .ui-spinner-button {
809
+ width: 1.6em;
810
+ height: 50%;
811
+ font-size: .5em;
812
+ padding: 0;
813
+ margin: 0;
814
+ text-align: center;
815
+ position: absolute;
816
+ cursor: default;
817
+ display: block;
818
+ overflow: hidden;
819
+ right: 0;
820
+ }
821
+ /* more specificity required here to override default borders */
822
+ .ui-spinner a.ui-spinner-button {
823
+ border-top-style: none;
824
+ border-bottom-style: none;
825
+ border-right-style: none;
826
+ }
827
+ .ui-spinner-up {
828
+ top: 0;
829
+ }
830
+ .ui-spinner-down {
831
+ bottom: 0;
832
+ }
833
+ .ui-tabs {
834
+ position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
835
+ padding: .2em;
836
+ }
837
+ .ui-tabs .ui-tabs-nav {
838
+ margin: 0;
839
+ padding: .2em .2em 0;
840
+ }
841
+ .ui-tabs .ui-tabs-nav li {
842
+ list-style: none;
843
+ float: left;
844
+ position: relative;
845
+ top: 0;
846
+ margin: 1px .2em 0 0;
847
+ border-bottom-width: 0;
848
+ padding: 0;
849
+ white-space: nowrap;
850
+ }
851
+ .ui-tabs .ui-tabs-nav .ui-tabs-anchor {
852
+ float: left;
853
+ padding: .5em 1em;
854
+ text-decoration: none;
855
+ }
856
+ .ui-tabs .ui-tabs-nav li.ui-tabs-active {
857
+ margin-bottom: -1px;
858
+ padding-bottom: 1px;
859
+ }
860
+ .ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,
861
+ .ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,
862
+ .ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor {
863
+ cursor: text;
864
+ }
865
+ .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor {
866
+ cursor: pointer;
867
+ }
868
+ .ui-tabs .ui-tabs-panel {
869
+ display: block;
870
+ border-width: 0;
871
+ padding: 1em 1.4em;
872
+ background: none;
873
+ }
874
+ .ui-tooltip {
875
+ padding: 8px;
876
+ position: absolute;
877
+ z-index: 9999;
878
+ max-width: 300px;
879
+ }
880
+ body .ui-tooltip {
881
+ border-width: 2px;
882
+ }
883
+ /* Component containers
884
+ ----------------------------------*/
885
+ .ui-widget {
886
+ font-family: Arial,Helvetica,sans-serif;
887
+ font-size: 1em;
888
+ }
889
+ .ui-widget .ui-widget {
890
+ font-size: 1em;
891
+ }
892
+ .ui-widget input,
893
+ .ui-widget select,
894
+ .ui-widget textarea,
895
+ .ui-widget button {
896
+ font-family: Arial,Helvetica,sans-serif;
897
+ font-size: 1em;
898
+ }
899
+ .ui-widget.ui-widget-content {
900
+ border: 1px solid #c5c5c5;
901
+ }
902
+ .ui-widget-content {
903
+ border: 1px solid #dddddd;
904
+ background: #ffffff;
905
+ color: #333333;
906
+ }
907
+ .ui-widget-content a {
908
+ color: #333333;
909
+ }
910
+ .ui-widget-header {
911
+ border: 1px solid #dddddd;
912
+ background: #e9e9e9;
913
+ color: #333333;
914
+ font-weight: bold;
915
+ }
916
+ .ui-widget-header a {
917
+ color: #333333;
918
+ }
919
+
920
+ /* Interaction states
921
+ ----------------------------------*/
922
+ .ui-state-default,
923
+ .ui-widget-content .ui-state-default,
924
+ .ui-widget-header .ui-state-default,
925
+ .ui-button,
926
+
927
+ /* We use html here because we need a greater specificity to make sure disabled
928
+ works properly when clicked or hovered */
929
+ html .ui-button.ui-state-disabled:hover,
930
+ html .ui-button.ui-state-disabled:active {
931
+ border: 1px solid #c5c5c5;
932
+ background: #f6f6f6;
933
+ font-weight: normal;
934
+ color: #454545;
935
+ }
936
+ .ui-state-default a,
937
+ .ui-state-default a:link,
938
+ .ui-state-default a:visited,
939
+ a.ui-button,
940
+ a:link.ui-button,
941
+ a:visited.ui-button,
942
+ .ui-button {
943
+ color: #454545;
944
+ text-decoration: none;
945
+ }
946
+ .ui-state-hover,
947
+ .ui-widget-content .ui-state-hover,
948
+ .ui-widget-header .ui-state-hover,
949
+ .ui-state-focus,
950
+ .ui-widget-content .ui-state-focus,
951
+ .ui-widget-header .ui-state-focus,
952
+ .ui-button:hover,
953
+ .ui-button:focus {
954
+ border: 1px solid #cccccc;
955
+ background: #ededed;
956
+ font-weight: normal;
957
+ color: #2b2b2b;
958
+ }
959
+ .ui-state-hover a,
960
+ .ui-state-hover a:hover,
961
+ .ui-state-hover a:link,
962
+ .ui-state-hover a:visited,
963
+ .ui-state-focus a,
964
+ .ui-state-focus a:hover,
965
+ .ui-state-focus a:link,
966
+ .ui-state-focus a:visited,
967
+ a.ui-button:hover,
968
+ a.ui-button:focus {
969
+ color: #2b2b2b;
970
+ text-decoration: none;
971
+ }
972
+
973
+ .ui-visual-focus {
974
+ box-shadow: 0 0 3px 1px rgb(94, 158, 214);
975
+ }
976
+ .ui-state-active,
977
+ .ui-widget-content .ui-state-active,
978
+ .ui-widget-header .ui-state-active,
979
+ a.ui-button:active,
980
+ .ui-button:active,
981
+ .ui-button.ui-state-active:hover {
982
+ border: 1px solid #003eff;
983
+ background: #007fff;
984
+ font-weight: normal;
985
+ color: #ffffff;
986
+ }
987
+ .ui-icon-background,
988
+ .ui-state-active .ui-icon-background {
989
+ border: #003eff;
990
+ background-color: #ffffff;
991
+ }
992
+ .ui-state-active a,
993
+ .ui-state-active a:link,
994
+ .ui-state-active a:visited {
995
+ color: #ffffff;
996
+ text-decoration: none;
997
+ }
998
+
999
+ /* Interaction Cues
1000
+ ----------------------------------*/
1001
+ .ui-state-highlight,
1002
+ .ui-widget-content .ui-state-highlight,
1003
+ .ui-widget-header .ui-state-highlight {
1004
+ border: 1px solid #dad55e;
1005
+ background: #fffa90;
1006
+ color: #777620;
1007
+ }
1008
+ .ui-state-checked {
1009
+ border: 1px solid #dad55e;
1010
+ background: #fffa90;
1011
+ }
1012
+ .ui-state-highlight a,
1013
+ .ui-widget-content .ui-state-highlight a,
1014
+ .ui-widget-header .ui-state-highlight a {
1015
+ color: #777620;
1016
+ }
1017
+ .ui-state-error,
1018
+ .ui-widget-content .ui-state-error,
1019
+ .ui-widget-header .ui-state-error {
1020
+ border: 1px solid #f1a899;
1021
+ background: #fddfdf;
1022
+ color: #5f3f3f;
1023
+ }
1024
+ .ui-state-error a,
1025
+ .ui-widget-content .ui-state-error a,
1026
+ .ui-widget-header .ui-state-error a {
1027
+ color: #5f3f3f;
1028
+ }
1029
+ .ui-state-error-text,
1030
+ .ui-widget-content .ui-state-error-text,
1031
+ .ui-widget-header .ui-state-error-text {
1032
+ color: #5f3f3f;
1033
+ }
1034
+ .ui-priority-primary,
1035
+ .ui-widget-content .ui-priority-primary,
1036
+ .ui-widget-header .ui-priority-primary {
1037
+ font-weight: bold;
1038
+ }
1039
+ .ui-priority-secondary,
1040
+ .ui-widget-content .ui-priority-secondary,
1041
+ .ui-widget-header .ui-priority-secondary {
1042
+ opacity: .7;
1043
+ filter:Alpha(Opacity=70); /* support: IE8 */
1044
+ font-weight: normal;
1045
+ }
1046
+ .ui-state-disabled,
1047
+ .ui-widget-content .ui-state-disabled,
1048
+ .ui-widget-header .ui-state-disabled {
1049
+ opacity: .35;
1050
+ filter:Alpha(Opacity=35); /* support: IE8 */
1051
+ background-image: none;
1052
+ }
1053
+ .ui-state-disabled .ui-icon {
1054
+ filter:Alpha(Opacity=35); /* support: IE8 - See #6059 */
1055
+ }
1056
+
1057
+ /* Icons
1058
+ ----------------------------------*/
1059
+
1060
+ /* states and images */
1061
+ .ui-icon {
1062
+ width: 16px;
1063
+ height: 16px;
1064
+ }
1065
+ .ui-icon,
1066
+ .ui-widget-content .ui-icon {
1067
+ background-image: url("images/ui-icons_444444_256x240.png");
1068
+ }
1069
+ .ui-widget-header .ui-icon {
1070
+ background-image: url("images/ui-icons_444444_256x240.png");
1071
+ }
1072
+ .ui-state-hover .ui-icon,
1073
+ .ui-state-focus .ui-icon,
1074
+ .ui-button:hover .ui-icon,
1075
+ .ui-button:focus .ui-icon {
1076
+ background-image: url("images/ui-icons_555555_256x240.png");
1077
+ }
1078
+ .ui-state-active .ui-icon,
1079
+ .ui-button:active .ui-icon {
1080
+ background-image: url("images/ui-icons_ffffff_256x240.png");
1081
+ }
1082
+ .ui-state-highlight .ui-icon,
1083
+ .ui-button .ui-state-highlight.ui-icon {
1084
+ background-image: url("images/ui-icons_777620_256x240.png");
1085
+ }
1086
+ .ui-state-error .ui-icon,
1087
+ .ui-state-error-text .ui-icon {
1088
+ background-image: url("images/ui-icons_cc0000_256x240.png");
1089
+ }
1090
+ .ui-button .ui-icon {
1091
+ background-image: url("images/ui-icons_777777_256x240.png");
1092
+ }
1093
+
1094
+ /* positioning */
1095
+ .ui-icon-blank { background-position: 16px 16px; }
1096
+ .ui-icon-caret-1-n { background-position: 0 0; }
1097
+ .ui-icon-caret-1-ne { background-position: -16px 0; }
1098
+ .ui-icon-caret-1-e { background-position: -32px 0; }
1099
+ .ui-icon-caret-1-se { background-position: -48px 0; }
1100
+ .ui-icon-caret-1-s { background-position: -65px 0; }
1101
+ .ui-icon-caret-1-sw { background-position: -80px 0; }
1102
+ .ui-icon-caret-1-w { background-position: -96px 0; }
1103
+ .ui-icon-caret-1-nw { background-position: -112px 0; }
1104
+ .ui-icon-caret-2-n-s { background-position: -128px 0; }
1105
+ .ui-icon-caret-2-e-w { background-position: -144px 0; }
1106
+ .ui-icon-triangle-1-n { background-position: 0 -16px; }
1107
+ .ui-icon-triangle-1-ne { background-position: -16px -16px; }
1108
+ .ui-icon-triangle-1-e { background-position: -32px -16px; }
1109
+ .ui-icon-triangle-1-se { background-position: -48px -16px; }
1110
+ .ui-icon-triangle-1-s { background-position: -65px -16px; }
1111
+ .ui-icon-triangle-1-sw { background-position: -80px -16px; }
1112
+ .ui-icon-triangle-1-w { background-position: -96px -16px; }
1113
+ .ui-icon-triangle-1-nw { background-position: -112px -16px; }
1114
+ .ui-icon-triangle-2-n-s { background-position: -128px -16px; }
1115
+ .ui-icon-triangle-2-e-w { background-position: -144px -16px; }
1116
+ .ui-icon-arrow-1-n { background-position: 0 -32px; }
1117
+ .ui-icon-arrow-1-ne { background-position: -16px -32px; }
1118
+ .ui-icon-arrow-1-e { background-position: -32px -32px; }
1119
+ .ui-icon-arrow-1-se { background-position: -48px -32px; }
1120
+ .ui-icon-arrow-1-s { background-position: -65px -32px; }
1121
+ .ui-icon-arrow-1-sw { background-position: -80px -32px; }
1122
+ .ui-icon-arrow-1-w { background-position: -96px -32px; }
1123
+ .ui-icon-arrow-1-nw { background-position: -112px -32px; }
1124
+ .ui-icon-arrow-2-n-s { background-position: -128px -32px; }
1125
+ .ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
1126
+ .ui-icon-arrow-2-e-w { background-position: -160px -32px; }
1127
+ .ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
1128
+ .ui-icon-arrowstop-1-n { background-position: -192px -32px; }
1129
+ .ui-icon-arrowstop-1-e { background-position: -208px -32px; }
1130
+ .ui-icon-arrowstop-1-s { background-position: -224px -32px; }
1131
+ .ui-icon-arrowstop-1-w { background-position: -240px -32px; }
1132
+ .ui-icon-arrowthick-1-n { background-position: 1px -48px; }
1133
+ .ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
1134
+ .ui-icon-arrowthick-1-e { background-position: -32px -48px; }
1135
+ .ui-icon-arrowthick-1-se { background-position: -48px -48px; }
1136
+ .ui-icon-arrowthick-1-s { background-position: -64px -48px; }
1137
+ .ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
1138
+ .ui-icon-arrowthick-1-w { background-position: -96px -48px; }
1139
+ .ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
1140
+ .ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
1141
+ .ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
1142
+ .ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
1143
+ .ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
1144
+ .ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
1145
+ .ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
1146
+ .ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
1147
+ .ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
1148
+ .ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
1149
+ .ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
1150
+ .ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
1151
+ .ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
1152
+ .ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
1153
+ .ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
1154
+ .ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
1155
+ .ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
1156
+ .ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
1157
+ .ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
1158
+ .ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
1159
+ .ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
1160
+ .ui-icon-arrow-4 { background-position: 0 -80px; }
1161
+ .ui-icon-arrow-4-diag { background-position: -16px -80px; }
1162
+ .ui-icon-extlink { background-position: -32px -80px; }
1163
+ .ui-icon-newwin { background-position: -48px -80px; }
1164
+ .ui-icon-refresh { background-position: -64px -80px; }
1165
+ .ui-icon-shuffle { background-position: -80px -80px; }
1166
+ .ui-icon-transfer-e-w { background-position: -96px -80px; }
1167
+ .ui-icon-transferthick-e-w { background-position: -112px -80px; }
1168
+ .ui-icon-folder-collapsed { background-position: 0 -96px; }
1169
+ .ui-icon-folder-open { background-position: -16px -96px; }
1170
+ .ui-icon-document { background-position: -32px -96px; }
1171
+ .ui-icon-document-b { background-position: -48px -96px; }
1172
+ .ui-icon-note { background-position: -64px -96px; }
1173
+ .ui-icon-mail-closed { background-position: -80px -96px; }
1174
+ .ui-icon-mail-open { background-position: -96px -96px; }
1175
+ .ui-icon-suitcase { background-position: -112px -96px; }
1176
+ .ui-icon-comment { background-position: -128px -96px; }
1177
+ .ui-icon-person { background-position: -144px -96px; }
1178
+ .ui-icon-print { background-position: -160px -96px; }
1179
+ .ui-icon-trash { background-position: -176px -96px; }
1180
+ .ui-icon-locked { background-position: -192px -96px; }
1181
+ .ui-icon-unlocked { background-position: -208px -96px; }
1182
+ .ui-icon-bookmark { background-position: -224px -96px; }
1183
+ .ui-icon-tag { background-position: -240px -96px; }
1184
+ .ui-icon-home { background-position: 0 -112px; }
1185
+ .ui-icon-flag { background-position: -16px -112px; }
1186
+ .ui-icon-calendar { background-position: -32px -112px; }
1187
+ .ui-icon-cart { background-position: -48px -112px; }
1188
+ .ui-icon-pencil { background-position: -64px -112px; }
1189
+ .ui-icon-clock { background-position: -80px -112px; }
1190
+ .ui-icon-disk { background-position: -96px -112px; }
1191
+ .ui-icon-calculator { background-position: -112px -112px; }
1192
+ .ui-icon-zoomin { background-position: -128px -112px; }
1193
+ .ui-icon-zoomout { background-position: -144px -112px; }
1194
+ .ui-icon-search { background-position: -160px -112px; }
1195
+ .ui-icon-wrench { background-position: -176px -112px; }
1196
+ .ui-icon-gear { background-position: -192px -112px; }
1197
+ .ui-icon-heart { background-position: -208px -112px; }
1198
+ .ui-icon-star { background-position: -224px -112px; }
1199
+ .ui-icon-link { background-position: -240px -112px; }
1200
+ .ui-icon-cancel { background-position: 0 -128px; }
1201
+ .ui-icon-plus { background-position: -16px -128px; }
1202
+ .ui-icon-plusthick { background-position: -32px -128px; }
1203
+ .ui-icon-minus { background-position: -48px -128px; }
1204
+ .ui-icon-minusthick { background-position: -64px -128px; }
1205
+ .ui-icon-close { background-position: -80px -128px; }
1206
+ .ui-icon-closethick { background-position: -96px -128px; }
1207
+ .ui-icon-key { background-position: -112px -128px; }
1208
+ .ui-icon-lightbulb { background-position: -128px -128px; }
1209
+ .ui-icon-scissors { background-position: -144px -128px; }
1210
+ .ui-icon-clipboard { background-position: -160px -128px; }
1211
+ .ui-icon-copy { background-position: -176px -128px; }
1212
+ .ui-icon-contact { background-position: -192px -128px; }
1213
+ .ui-icon-image { background-position: -208px -128px; }
1214
+ .ui-icon-video { background-position: -224px -128px; }
1215
+ .ui-icon-script { background-position: -240px -128px; }
1216
+ .ui-icon-alert { background-position: 0 -144px; }
1217
+ .ui-icon-info { background-position: -16px -144px; }
1218
+ .ui-icon-notice { background-position: -32px -144px; }
1219
+ .ui-icon-help { background-position: -48px -144px; }
1220
+ .ui-icon-check { background-position: -64px -144px; }
1221
+ .ui-icon-bullet { background-position: -80px -144px; }
1222
+ .ui-icon-radio-on { background-position: -96px -144px; }
1223
+ .ui-icon-radio-off { background-position: -112px -144px; }
1224
+ .ui-icon-pin-w { background-position: -128px -144px; }
1225
+ .ui-icon-pin-s { background-position: -144px -144px; }
1226
+ .ui-icon-play { background-position: 0 -160px; }
1227
+ .ui-icon-pause { background-position: -16px -160px; }
1228
+ .ui-icon-seek-next { background-position: -32px -160px; }
1229
+ .ui-icon-seek-prev { background-position: -48px -160px; }
1230
+ .ui-icon-seek-end { background-position: -64px -160px; }
1231
+ .ui-icon-seek-start { background-position: -80px -160px; }
1232
+ /* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
1233
+ .ui-icon-seek-first { background-position: -80px -160px; }
1234
+ .ui-icon-stop { background-position: -96px -160px; }
1235
+ .ui-icon-eject { background-position: -112px -160px; }
1236
+ .ui-icon-volume-off { background-position: -128px -160px; }
1237
+ .ui-icon-volume-on { background-position: -144px -160px; }
1238
+ .ui-icon-power { background-position: 0 -176px; }
1239
+ .ui-icon-signal-diag { background-position: -16px -176px; }
1240
+ .ui-icon-signal { background-position: -32px -176px; }
1241
+ .ui-icon-battery-0 { background-position: -48px -176px; }
1242
+ .ui-icon-battery-1 { background-position: -64px -176px; }
1243
+ .ui-icon-battery-2 { background-position: -80px -176px; }
1244
+ .ui-icon-battery-3 { background-position: -96px -176px; }
1245
+ .ui-icon-circle-plus { background-position: 0 -192px; }
1246
+ .ui-icon-circle-minus { background-position: -16px -192px; }
1247
+ .ui-icon-circle-close { background-position: -32px -192px; }
1248
+ .ui-icon-circle-triangle-e { background-position: -48px -192px; }
1249
+ .ui-icon-circle-triangle-s { background-position: -64px -192px; }
1250
+ .ui-icon-circle-triangle-w { background-position: -80px -192px; }
1251
+ .ui-icon-circle-triangle-n { background-position: -96px -192px; }
1252
+ .ui-icon-circle-arrow-e { background-position: -112px -192px; }
1253
+ .ui-icon-circle-arrow-s { background-position: -128px -192px; }
1254
+ .ui-icon-circle-arrow-w { background-position: -144px -192px; }
1255
+ .ui-icon-circle-arrow-n { background-position: -160px -192px; }
1256
+ .ui-icon-circle-zoomin { background-position: -176px -192px; }
1257
+ .ui-icon-circle-zoomout { background-position: -192px -192px; }
1258
+ .ui-icon-circle-check { background-position: -208px -192px; }
1259
+ .ui-icon-circlesmall-plus { background-position: 0 -208px; }
1260
+ .ui-icon-circlesmall-minus { background-position: -16px -208px; }
1261
+ .ui-icon-circlesmall-close { background-position: -32px -208px; }
1262
+ .ui-icon-squaresmall-plus { background-position: -48px -208px; }
1263
+ .ui-icon-squaresmall-minus { background-position: -64px -208px; }
1264
+ .ui-icon-squaresmall-close { background-position: -80px -208px; }
1265
+ .ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
1266
+ .ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
1267
+ .ui-icon-grip-solid-vertical { background-position: -32px -224px; }
1268
+ .ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
1269
+ .ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
1270
+ .ui-icon-grip-diagonal-se { background-position: -80px -224px; }
1271
+
1272
+
1273
+ /* Misc visuals
1274
+ ----------------------------------*/
1275
+
1276
+ /* Corner radius */
1277
+ .ui-corner-all,
1278
+ .ui-corner-top,
1279
+ .ui-corner-left,
1280
+ .ui-corner-tl {
1281
+ border-top-left-radius: 3px;
1282
+ }
1283
+ .ui-corner-all,
1284
+ .ui-corner-top,
1285
+ .ui-corner-right,
1286
+ .ui-corner-tr {
1287
+ border-top-right-radius: 3px;
1288
+ }
1289
+ .ui-corner-all,
1290
+ .ui-corner-bottom,
1291
+ .ui-corner-left,
1292
+ .ui-corner-bl {
1293
+ border-bottom-left-radius: 3px;
1294
+ }
1295
+ .ui-corner-all,
1296
+ .ui-corner-bottom,
1297
+ .ui-corner-right,
1298
+ .ui-corner-br {
1299
+ border-bottom-right-radius: 3px;
1300
+ }
1301
+
1302
+ /* Overlays */
1303
+ .ui-widget-overlay {
1304
+ background: #aaaaaa;
1305
+ opacity: .3;
1306
+ filter: Alpha(Opacity=30); /* support: IE8 */
1307
+ }
1308
+ .ui-widget-shadow {
1309
+ -webkit-box-shadow: 0px 0px 5px #666666;
1310
+ box-shadow: 0px 0px 5px #666666;
1311
+ }
css/jquery-ui.min.css ADDED
@@ -0,0 +1,221 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* jQuery UI - v1.12.1 - 2016-09-14* http://jqueryui.com* Includes: core.css, accordion.css, autocomplete.css, menu.css, button.css, controlgroup.css, checkboxradio.css, datepicker.css, dialog.css, draggable.css, resizable.css, progressbar.css, selectable.css, selectmenu.css, slider.css, sortable.css, spinner.css, tabs.css, tooltip.css, theme.css* Copyright jQuery Foundation and other contributors; Licensed MIT */.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}
2
+ .ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}
3
+ .ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}
4
+ .ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}
5
+ .ui-front{z-index:100}.ui-state-disabled{cursor:default !important;pointer-events:none}
6
+ .ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}
7
+ .ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}
8
+ .ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin:2px 0 0 0;padding:.5em .5em .5em .7em;font-size:100%}
9
+ .ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto}
10
+ .ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:0}
11
+ .ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{margin:0;cursor:pointer;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}
12
+ .ui-menu .ui-menu-item-wrapper{position:relative;padding:3px 1em 3px .4em}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}
13
+ .ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}
14
+ .ui-menu-icons .ui-menu-item-wrapper{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}
15
+ .ui-menu .ui-menu-icon{left:auto;right:0}.ui-button{padding:.4em 1em;display:inline-block;position:relative;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:visible}
16
+ .ui-button,.ui-button:link,.ui-button:visited,.ui-button:hover,.ui-button:active{text-decoration:none}
17
+ .ui-button-icon-only{width:2em;box-sizing:border-box;text-indent:-9999px;white-space:nowrap}
18
+ input.ui-button.ui-button-icon-only{text-indent:0}.ui-button-icon-only .ui-icon{position:absolute;top:50%;left:50%;margin-top:-8px;margin-left:-8px}
19
+ .ui-button.ui-icon-notext .ui-icon{padding:0;width:2.1em;height:2.1em;text-indent:-9999px;white-space:nowrap}
20
+ input.ui-button.ui-icon-notext .ui-icon{width:auto;height:auto;text-indent:0;white-space:normal;padding:.4em 1em}
21
+ input.ui-button::-moz-focus-inner,button.ui-button::-moz-focus-inner{border:0;padding:0}
22
+ .ui-controlgroup{vertical-align:middle;display:inline-block}.ui-controlgroup>.ui-controlgroup-item{float:left;margin-left:0;margin-right:0}
23
+ .ui-controlgroup>.ui-controlgroup-item:focus,.ui-controlgroup>.ui-controlgroup-item.ui-visual-focus{z-index:9999}
24
+ .ui-controlgroup-vertical>.ui-controlgroup-item{display:block;float:none;width:100%;margin-top:0;margin-bottom:0;text-align:left}
25
+ .ui-controlgroup-vertical .ui-controlgroup-item{box-sizing:border-box}.ui-controlgroup .ui-controlgroup-label{padding:.4em 1em}
26
+ .ui-controlgroup .ui-controlgroup-label span{font-size:80%}.ui-controlgroup-horizontal .ui-controlgroup-label+.ui-controlgroup-item{border-left:0}
27
+ .ui-controlgroup-vertical .ui-controlgroup-label+.ui-controlgroup-item{border-top:0}
28
+ .ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content{border-right:0}
29
+ .ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content{border-bottom:0}
30
+ .ui-controlgroup-vertical .ui-spinner-input{width:75%;width:calc(100% - 2.4em)}
31
+ .ui-controlgroup-vertical .ui-spinner .ui-spinner-up{border-top-style:solid}.ui-checkboxradio-label .ui-icon-background{box-shadow:inset 1px 1px 1px #ccc;border-radius:.12em;border:0}
32
+ .ui-checkboxradio-radio-label .ui-icon-background{width:16px;height:16px;border-radius:1em;overflow:visible;border:0}
33
+ .ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon,.ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon{background-image:none;width:8px;height:8px;border-width:4px;border-style:solid}
34
+ .ui-checkboxradio-disabled{pointer-events:none}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}
35
+ .ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}
36
+ .ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}
37
+ .ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}
38
+ .ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}
39
+ .ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}
40
+ .ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}
41
+ .ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:45%}
42
+ .ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}
43
+ .ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:bold;border:0}.ui-datepicker td{border:0;padding:1px}
44
+ .ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}
45
+ .ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}
46
+ .ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}
47
+ .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}
48
+ .ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}
49
+ .ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}
50
+ .ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}
51
+ .ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}
52
+ .ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}
53
+ .ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}
54
+ .ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}
55
+ .ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}
56
+ .ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}
57
+ .ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}
58
+ .ui-datepicker .ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat;left:.5em;top:.3em}
59
+ .ui-dialog{position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}
60
+ .ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}
61
+ .ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:20px;margin:-10px 0 0 0;padding:1px;height:20px}
62
+ .ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:0;overflow:auto}
63
+ .ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}
64
+ .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}
65
+ .ui-dialog .ui-resizable-n{height:2px;top:0}.ui-dialog .ui-resizable-e{width:2px;right:0}
66
+ .ui-dialog .ui-resizable-s{height:2px;bottom:0}.ui-dialog .ui-resizable-w{width:2px;left:0}
67
+ .ui-dialog .ui-resizable-se,.ui-dialog .ui-resizable-sw,.ui-dialog .ui-resizable-ne,.ui-dialog .ui-resizable-nw{width:7px;height:7px}
68
+ .ui-dialog .ui-resizable-se{right:0;bottom:0}.ui-dialog .ui-resizable-sw{left:0;bottom:0}
69
+ .ui-dialog .ui-resizable-ne{right:0;top:0}.ui-dialog .ui-resizable-nw{left:0;top:0}
70
+ .ui-draggable .ui-dialog-titlebar{cursor:move}.ui-draggable-handle{-ms-touch-action:none;touch-action:none}
71
+ .ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:.1px;display:block;-ms-touch-action:none;touch-action:none}
72
+ .ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}
73
+ .ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}
74
+ .ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}
75
+ .ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}
76
+ .ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}
77
+ .ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}
78
+ .ui-progressbar .ui-progressbar-overlay{background:url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw==");height:100%;filter:alpha(opacity=25);opacity:.25}
79
+ .ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.ui-selectable{-ms-touch-action:none;touch-action:none}
80
+ .ui-selectable-helper{position:absolute;z-index:100;border:1px dotted black}.ui-selectmenu-menu{padding:0;margin:0;position:absolute;top:0;left:0;display:none}
81
+ .ui-selectmenu-menu .ui-menu{overflow:auto;overflow-x:hidden;padding-bottom:1px}.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup{font-size:1em;font-weight:bold;line-height:1.5;padding:2px .4em;margin:.5em 0 0 0;height:auto;border:0}
82
+ .ui-selectmenu-open{display:block}.ui-selectmenu-text{display:block;margin-right:20px;overflow:hidden;text-overflow:ellipsis}
83
+ .ui-selectmenu-button.ui-button{text-align:left;white-space:nowrap;width:14em}.ui-selectmenu-icon.ui-icon{float:right;margin-top:0}
84
+ .ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default;-ms-touch-action:none;touch-action:none}
85
+ .ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}
86
+ .ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}
87
+ .ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}
88
+ .ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}
89
+ .ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}
90
+ .ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}
91
+ .ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}
92
+ .ui-slider-vertical .ui-slider-range-max{top:0}.ui-sortable-handle{-ms-touch-action:none;touch-action:none}
93
+ .ui-spinner{position:relative;display:inline-block;overflow:hidden;padding:0;vertical-align:middle}
94
+ .ui-spinner-input{border:0;background:0;color:inherit;padding:.222em 0;margin:.2em 0;vertical-align:middle;margin-left:.4em;margin-right:2em}
95
+ .ui-spinner-button{width:1.6em;height:50%;font-size:.5em;padding:0;margin:0;text-align:center;position:absolute;cursor:default;display:block;overflow:hidden;right:0}
96
+ .ui-spinner a.ui-spinner-button{border-top-style:none;border-bottom-style:none;border-right-style:none}
97
+ .ui-spinner-up{top:0}.ui-spinner-down{bottom:0}.ui-tabs{position:relative;padding:.2em}
98
+ .ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}
99
+ .ui-tabs .ui-tabs-nav .ui-tabs-anchor{float:left;padding:.5em 1em;text-decoration:none}
100
+ .ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}
101
+ .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}
102
+ .ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:0}
103
+ .ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px}body .ui-tooltip{border-width:2px}
104
+ .ui-widget{font-family:Arial,Helvetica,sans-serif;font-size:1em}.ui-widget .ui-widget{font-size:1em}
105
+ .ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Arial,Helvetica,sans-serif;font-size:1em}
106
+ .ui-widget.ui-widget-content{border:1px solid #c5c5c5}.ui-widget-content{border:1px solid #ddd;background:#fff;color:#333}
107
+ .ui-widget-content a{color:#333}.ui-widget-header{border:1px solid #ddd;background:#e9e9e9;color:#333;font-weight:bold}
108
+ .ui-widget-header a{color:#333}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default,.ui-button,html .ui-button.ui-state-disabled:hover,html .ui-button.ui-state-disabled:active{border:1px solid #c5c5c5;background:#f6f6f6;font-weight:normal;color:#454545}
109
+ .ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited,a.ui-button,a:link.ui-button,a:visited.ui-button,.ui-button{color:#454545;text-decoration:none}
110
+ .ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus,.ui-button:hover,.ui-button:focus{border:1px solid #ccc;background:#ededed;font-weight:normal;color:#2b2b2b}
111
+ .ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited,a.ui-button:hover,a.ui-button:focus{color:#2b2b2b;text-decoration:none}
112
+ .ui-visual-focus{box-shadow:0 0 3px 1px #5e9ed6}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active,a.ui-button:active,.ui-button:active,.ui-button.ui-state-active:hover{border:1px solid #003eff;background:#007fff;font-weight:normal;color:#fff}
113
+ .ui-icon-background,.ui-state-active .ui-icon-background{border:#003eff;background-color:#fff}
114
+ .ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#fff;text-decoration:none}
115
+ .ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #dad55e;background:#fffa90;color:#777620}
116
+ .ui-state-checked{border:1px solid #dad55e;background:#fffa90}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#777620}
117
+ .ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #f1a899;background:#fddfdf;color:#5f3f3f}
118
+ .ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#5f3f3f}
119
+ .ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#5f3f3f}
120
+ .ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}
121
+ .ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}
122
+ .ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}
123
+ .ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}
124
+ .ui-icon,.ui-widget-content .ui-icon{background-image:url("images/ui-icons_444444_256x240.png")}
125
+ .ui-widget-header .ui-icon{background-image:url("images/ui-icons_444444_256x240.png")}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon,.ui-button:hover .ui-icon,.ui-button:focus .ui-icon{background-image:url("images/ui-icons_555555_256x240.png")}
126
+ .ui-state-active .ui-icon,.ui-button:active .ui-icon{background-image:url("images/ui-icons_ffffff_256x240.png")}
127
+ .ui-state-highlight .ui-icon,.ui-button .ui-state-highlight.ui-icon{background-image:url("images/ui-icons_777620_256x240.png")}
128
+ .ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("images/ui-icons_cc0000_256x240.png")}
129
+ .ui-button .ui-icon{background-image:url("images/ui-icons_777777_256x240.png")}.ui-icon-blank{background-position:16px 16px}
130
+ .ui-icon-caret-1-n{background-position:0 0}.ui-icon-caret-1-ne{background-position:-16px 0}
131
+ .ui-icon-caret-1-e{background-position:-32px 0}.ui-icon-caret-1-se{background-position:-48px 0}
132
+ .ui-icon-caret-1-s{background-position:-65px 0}.ui-icon-caret-1-sw{background-position:-80px 0}
133
+ .ui-icon-caret-1-w{background-position:-96px 0}.ui-icon-caret-1-nw{background-position:-112px 0}
134
+ .ui-icon-caret-2-n-s{background-position:-128px 0}.ui-icon-caret-2-e-w{background-position:-144px 0}
135
+ .ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}
136
+ .ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}
137
+ .ui-icon-triangle-1-s{background-position:-65px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}
138
+ .ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}
139
+ .ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}
140
+ .ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}
141
+ .ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}
142
+ .ui-icon-arrow-1-s{background-position:-65px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}
143
+ .ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}
144
+ .ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}
145
+ .ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}
146
+ .ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}
147
+ .ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}
148
+ .ui-icon-arrowthick-1-n{background-position:1px -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}
149
+ .ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}
150
+ .ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}
151
+ .ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}
152
+ .ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}
153
+ .ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}
154
+ .ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}
155
+ .ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}
156
+ .ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}
157
+ .ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}
158
+ .ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}
159
+ .ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}
160
+ .ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}
161
+ .ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}
162
+ .ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}
163
+ .ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}
164
+ .ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}
165
+ .ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}
166
+ .ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}
167
+ .ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}
168
+ .ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}
169
+ .ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}
170
+ .ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}
171
+ .ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}
172
+ .ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}
173
+ .ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}
174
+ .ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}
175
+ .ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}
176
+ .ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}
177
+ .ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}
178
+ .ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}
179
+ .ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}
180
+ .ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}
181
+ .ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}
182
+ .ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}
183
+ .ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}
184
+ .ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}
185
+ .ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}
186
+ .ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}
187
+ .ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}
188
+ .ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}
189
+ .ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}
190
+ .ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}
191
+ .ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}
192
+ .ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}
193
+ .ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}
194
+ .ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}
195
+ .ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}
196
+ .ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}
197
+ .ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}
198
+ .ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}
199
+ .ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}
200
+ .ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}
201
+ .ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}
202
+ .ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}
203
+ .ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}
204
+ .ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}
205
+ .ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}
206
+ .ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}
207
+ .ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}
208
+ .ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}
209
+ .ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}
210
+ .ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}
211
+ .ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}
212
+ .ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}
213
+ .ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}
214
+ .ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}
215
+ .ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}
216
+ .ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}
217
+ .ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:3px}
218
+ .ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:3px}
219
+ .ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:3px}
220
+ .ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:3px}
221
+ .ui-widget-overlay{background:#aaa;opacity:.3;filter:Alpha(Opacity=30)}.ui-widget-shadow{-webkit-box-shadow:0 0 5px #666;box-shadow:0 0 5px #666}
css/style.css CHANGED
@@ -1,3 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  .eum-dashboard-app {
2
  width: 99%;
3
  margin: 30px auto 0; }
@@ -8,10 +34,19 @@
8
  clear: both; }
9
 
10
  .toggle-wrapper {
11
- position: relative; }
 
 
 
 
 
 
12
 
13
  /* Let's give some toggle switches some love */
14
  /* From https://codepen.io/koenigsegg1/pen/QjZNVP */
 
 
 
15
  input[type=checkbox].eum-hidden {
16
  display: none; }
17
  input[type=checkbox].eum-hidden:checked ~ .toggle {
@@ -58,8 +93,26 @@ input[type=checkbox].eum-hidden {
58
  margin-top: 20px; }
59
 
60
  .eum-section {
61
- border-bottom: 1px solid #CCC;
62
- padding-bottom: 15px; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
63
 
64
  .eum-section input[type=radio] {
65
  -webkit-appearance: none;
@@ -106,7 +159,8 @@ input[type=email].eum-input-email {
106
  color: #FFF; }
107
 
108
  .mpsum-error,
109
- .mpsum-notice {
 
110
  background: #fff;
111
  border-left: 4px solid #dc3232;
112
  -webkit-box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.1);
@@ -116,14 +170,97 @@ input[type=email].eum-input-email {
116
  margin: 5px 0 15px;
117
  color: #ff0000; }
118
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
119
  .mpsum-notice {
120
  border-left-color: #00a0d2;
121
  color: #000; }
122
 
123
- .mpsum-error p,
124
- .mpsum-notice p {
125
- margin: 0.5em 0;
126
- padding: 2px; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
127
 
128
  .eum-ratings-nag li {
129
  display: inline-block;
@@ -139,6 +276,7 @@ input[type=email].eum-input-email {
139
  background: #f8f8f8;
140
  border-right: 0;
141
  border-color: #CCC;
 
142
  font-size: 1.2em;
143
  border-style: solid;
144
  border-width: 1px;
@@ -157,32 +295,58 @@ input[type=email].eum-input-email {
157
  margin: 0em;
158
  -webkit-appearance: button;
159
  appearance: button; }
160
- .toggle-wrapper button:first-child,
161
- .toggle-wrapper a:first-child {
 
162
  border-radius: 5px 0px 0px 5px; }
163
  .toggle-wrapper button:last-child,
164
  .toggle-wrapper a:last-child {
165
  border-radius: 0px 5px 5px 0px;
166
  border-right: 1px solid #CCC; }
 
 
 
167
  .toggle-wrapper button.eum-active,
168
  .toggle-wrapper a.eum-active {
169
  background: #25af76;
 
 
170
  color: #FFF;
171
  -webkit-appearance: inherit;
172
  appearance: inherit; }
 
 
 
 
 
173
  @media only screen and (max-width: 600px) {
174
- .toggle-wrapper button,
175
  .toggle-wrapper a {
176
  display: block;
177
  width: 100%;
178
  border-radius: 0 0 0 0;
179
- border: 1px solid #CCC; }
180
- .toggle-wrapper button:first-child,
181
- .toggle-wrapper a:first-child {
182
- border-radius: 0; }
183
- .toggle-wrapper button:last-child,
 
 
 
 
 
 
 
 
 
 
184
  .toggle-wrapper a:last-child {
185
- border-radius: 0; } }
 
 
 
 
 
186
 
187
  .eum-button {
188
  padding: 20px 10px;
@@ -191,14 +355,64 @@ input[type=email].eum-input-email {
191
  margin: 0 auto;
192
  margin-top: 20px !important; }
193
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
194
  .eum-status {
195
- font-style: italic; }
 
 
 
 
 
 
 
 
 
 
 
196
 
197
  /* These styles are for the plugins/themes screen for versions less than WordPress 4.9 */
198
  .plugins .plugin-title .dashicons,
199
  .plugins .plugin-title img {
200
  float: left;
201
- padding: 0 10px 0 0;
202
  width: 64px;
203
  height: 64px; }
204
 
@@ -219,11 +433,19 @@ input[type=email].eum-input-email {
219
  display: block; }
220
 
221
  .eum-plugins-name-actions {
222
- margin-left: 70px; }
223
 
224
  .eum-themes-name-actions {
225
  margin-left: 100px; }
226
 
 
 
 
 
 
 
 
 
227
  body .plugins .active td,
228
  body .plugins .active th {
229
  background: #FFF; }
@@ -243,7 +465,7 @@ body .plugins .inactive th.check-column {
243
  width: 200px;
244
  display: block;
245
  margin: 0 auto;
246
- height: 50px;
247
  line-height: 13px; }
248
 
249
  #eum-save-settings-warning {
@@ -251,7 +473,8 @@ body .plugins .inactive th.check-column {
251
  right: 10px;
252
  bottom: 30px;
253
  width: auto;
254
- display: none; }
 
255
 
256
  .warning {
257
  color: #333;
@@ -265,8 +488,163 @@ body .plugins .inactive th.check-column {
265
 
266
  #result {
267
  margin-top: 20px; }
 
 
268
  #result .updated p {
269
  font-weight: bold; }
270
 
271
  #logs-filter {
272
  clear: left; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @import url(https://fonts.googleapis.com/icon?family=Material+Icons);.material-icons {
2
+ font-family: 'Material Icons';
3
+ font-weight: normal;
4
+ font-style: normal;
5
+ font-size: 20px;
6
+ /* Preferred icon size */
7
+ display: inline-block;
8
+ line-height: 1;
9
+ text-transform: none;
10
+ letter-spacing: normal;
11
+ word-wrap: normal;
12
+ white-space: nowrap;
13
+ direction: ltr;
14
+ /* Support for all WebKit browsers. */
15
+ -webkit-font-smoothing: antialiased;
16
+ /* Support for Safari and Chrome. */
17
+ text-rendering: optimizeLegibility;
18
+ /* Support for Firefox. */
19
+ -moz-osx-font-smoothing: grayscale;
20
+ /* Support for IE. */
21
+ font-feature-settings: 'liga';
22
+ color: gray; }
23
+
24
+ .advanced-premium {
25
+ max-width: 800px; }
26
+
27
  .eum-dashboard-app {
28
  width: 99%;
29
  margin: 30px auto 0; }
34
  clear: both; }
35
 
36
  .toggle-wrapper {
37
+ position: relative;
38
+ display: inline-block;
39
+ margin-right: 10px; }
40
+ @media only screen and (max-width: 600px) {
41
+ .toggle-wrapper {
42
+ display: block;
43
+ margin-right: 0; } }
44
 
45
  /* Let's give some toggle switches some love */
46
  /* From https://codepen.io/koenigsegg1/pen/QjZNVP */
47
+ .eum-hidden {
48
+ display: none; }
49
+
50
  input[type=checkbox].eum-hidden {
51
  display: none; }
52
  input[type=checkbox].eum-hidden:checked ~ .toggle {
93
  margin-top: 20px; }
94
 
95
  .eum-section {
96
+ border-bottom: 1px solid #eaeaea;
97
+ padding: 20px; }
98
+ .eum-section .mpsum-spinner {
99
+ display: inline-block;
100
+ margin-right: 20px; }
101
+
102
+ .eum-section-group {
103
+ padding: 0; }
104
+ @media only screen and (min-width: 783px) {
105
+ .eum-section-group {
106
+ margin-left: 180px; } }
107
+ .eum-section-group .eum-section h3 {
108
+ margin-top: 0; }
109
+ .eum-section-group .eum-section:last-child {
110
+ border-bottom: none; }
111
+
112
+ @media only screen and (min-width: 783px) {
113
+ h2.eum-section-group-title {
114
+ float: left;
115
+ width: 170px; } }
116
 
117
  .eum-section input[type=radio] {
118
  -webkit-appearance: none;
159
  color: #FFF; }
160
 
161
  .mpsum-error,
162
+ .mpsum-notice,
163
+ .mpsum-success {
164
  background: #fff;
165
  border-left: 4px solid #dc3232;
166
  -webkit-box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.1);
170
  margin: 5px 0 15px;
171
  color: #ff0000; }
172
 
173
+ .mpsum-error.mpsum-bold,
174
+ .mpsum-notice.mpsum-bold,
175
+ .mpsum-success.mpsum-bold {
176
+ margin-top: 1em;
177
+ margin-bottom: 1em;
178
+ padding-top: 1em;
179
+ padding-bottom: 1em;
180
+ padding-left: 1em;
181
+ font-weight: 700; }
182
+
183
+ .mpsum-error.mpsum-regular,
184
+ .mpsum-notice.mpsum-regular,
185
+ .mpsum-success.mpsum-regular {
186
+ margin-top: 1em;
187
+ margin-bottom: 1em;
188
+ padding-top: 1em;
189
+ padding-bottom: 1em;
190
+ padding-left: 1em; }
191
+
192
+ .mpsum-success {
193
+ border-left-color: #55ac7b;
194
+ color: #000; }
195
+
196
  .mpsum-notice {
197
  border-left-color: #00a0d2;
198
  color: #000; }
199
 
200
+ .mpsum-clear {
201
+ clear: both; }
202
+
203
+ .mpsum-small {
204
+ font-size: 1.0em;
205
+ line-height: 1.1; }
206
+
207
+ .mpsum-medium {
208
+ font-size: 1.3em;
209
+ line-height: 1.3; }
210
+
211
+ .mpsum-large {
212
+ font-size: 1.8em;
213
+ line-height: 1.4; }
214
+
215
+ .mpsum-caption {
216
+ text-align: center;
217
+ font-weight: 700; }
218
+
219
+ .mpsum-advanced-premium-features {
220
+ background: #FFF;
221
+ border: 1px solid #aeaeae;
222
+ position: relative;
223
+ color: #24282d;
224
+ box-shadow: 0px 3px 11px rgba(0, 0, 0, 0.1);
225
+ padding: 20px; }
226
+ .mpsum-advanced-premium-features h3 {
227
+ text-align: center; }
228
+
229
+ .mpsum-advanced-premium-list {
230
+ list-style-type: none;
231
+ margin-left: 0; }
232
+ .mpsum-advanced-premium-list:before {
233
+ display: none; }
234
+ .mpsum-advanced-premium-list:after {
235
+ display: none; }
236
+ .mpsum-advanced-premium-list li {
237
+ clear: left;
238
+ float: none;
239
+ font-size: 1.3em;
240
+ line-height: 1.3;
241
+ padding: 10px;
242
+ margin-bottom: 10px; }
243
+ .mpsum-advanced-premium-list li:after {
244
+ content: "";
245
+ display: table;
246
+ clear: both; }
247
+ .mpsum-advanced-premium-list li strong {
248
+ clear: left;
249
+ float: left;
250
+ display: block;
251
+ min-width: 25%; }
252
+ @media only screen and (max-width: 700px) {
253
+ .mpsum-advanced-premium-list li strong {
254
+ float: none;
255
+ min-width: 100%; } }
256
+ .mpsum-advanced-premium-list li .mpsum-list-description {
257
+ display: block;
258
+ float: left;
259
+ width: 75%; }
260
+ @media only screen and (max-width: 700px) {
261
+ .mpsum-advanced-premium-list li .mpsum-list-description {
262
+ float: none;
263
+ width: 100%; } }
264
 
265
  .eum-ratings-nag li {
266
  display: inline-block;
276
  background: #f8f8f8;
277
  border-right: 0;
278
  border-color: #CCC;
279
+ box-shadow: 0 1px 0 #CCC;
280
  font-size: 1.2em;
281
  border-style: solid;
282
  border-width: 1px;
295
  margin: 0em;
296
  -webkit-appearance: button;
297
  appearance: button; }
298
+ .toggle-wrapper button:first-child, .toggle-wrapper button:first-of-type,
299
+ .toggle-wrapper a:first-child,
300
+ .toggle-wrapper a:first-of-type {
301
  border-radius: 5px 0px 0px 5px; }
302
  .toggle-wrapper button:last-child,
303
  .toggle-wrapper a:last-child {
304
  border-radius: 0px 5px 5px 0px;
305
  border-right: 1px solid #CCC; }
306
+ .toggle-wrapper button:not(:last-child),
307
+ .toggle-wrapper a:not(:last-child) {
308
+ border-right: none; }
309
  .toggle-wrapper button.eum-active,
310
  .toggle-wrapper a.eum-active {
311
  background: #25af76;
312
+ border-color: #1a8a59;
313
+ box-shadow: 0 1px 0 #1a8a59;
314
  color: #FFF;
315
  -webkit-appearance: inherit;
316
  appearance: inherit; }
317
+ .toggle-wrapper button.eum-active.eum-disabled,
318
+ .toggle-wrapper a.eum-active.eum-disabled {
319
+ background: #dc3332;
320
+ border-color: #ab2d2d;
321
+ box-shadow: 0 1px 0 #ab2d2d; }
322
  @media only screen and (max-width: 600px) {
323
+ .eum-section .toggle-wrapper button, .eum-section
324
  .toggle-wrapper a {
325
  display: block;
326
  width: 100%;
327
  border-radius: 0 0 0 0;
328
+ border: 1px solid #CCC;
329
+ font-size: 1.2em;
330
+ padding: 12px 15px; }
331
+ .eum-section .toggle-wrapper button:not(:last-child), .eum-section
332
+ .toggle-wrapper a:not(:last-child) {
333
+ border: 1px solid #CCC;
334
+ border-bottom: none; }
335
+ .eum-section .toggle-wrapper button.eum-active, .eum-section
336
+ .toggle-wrapper a.eum-active {
337
+ border-color: #1a8a59; }
338
+ .eum-section .toggle-wrapper button:first-child, .eum-section .toggle-wrapper button:first-of-type, .eum-section
339
+ .toggle-wrapper a:first-child, .eum-section
340
+ .toggle-wrapper a:first-of-type {
341
+ border-radius: 5px 5px 0 0; }
342
+ .eum-section .toggle-wrapper button:last-child, .eum-section
343
  .toggle-wrapper a:last-child {
344
+ border-radius: 0 0 5px 5px; } }
345
+
346
+ @media only screen and (max-width: 600px) {
347
+ .toggle-wrapper[class*="toggle-wrapper-"] button, .toggle-wrapper[class*="toggle-wrapper-"] a {
348
+ font-size: 1.2em !important;
349
+ padding: 12px 15px; } }
350
 
351
  .eum-button {
352
  padding: 20px 10px;
355
  margin: 0 auto;
356
  margin-top: 20px !important; }
357
 
358
+ .eum-button-cta {
359
+ display: block;
360
+ margin: 0 auto;
361
+ margin-top: 20px;
362
+ font-size: 1.3em;
363
+ text-align: center; }
364
+ .eum-button-cta a {
365
+ position: relative;
366
+ display: inline-block;
367
+ border-radius: 4px;
368
+ background: #d06e38;
369
+ border-color: rgba(223, 105, 38, 0.95);
370
+ background-color: rgba(223, 105, 38, 0.95);
371
+ text-decoration: none;
372
+ padding: 16px;
373
+ width: 320px;
374
+ border: 2px solid;
375
+ color: #FFFFFF;
376
+ font-weight: 500; }
377
+ .eum-button-cta a:hover {
378
+ background: #df6926 !important;
379
+ border-color: #df6926 !important; }
380
+ .eum-button-cta a:hover:after {
381
+ opacity: 1;
382
+ right: 10px; }
383
+ .eum-button-cta a:after {
384
+ content: '>';
385
+ display: inline-block;
386
+ position: absolute;
387
+ opacity: 0;
388
+ top: 14px;
389
+ right: -20px;
390
+ transition: 0.5s; }
391
+ .eum-button-cta a:hover, .eum-button-cta a:visited, .eum-button-cta a:focus {
392
+ color: #FFFFFF; }
393
+ @media only screen and (max-width: 500px) {
394
+ .eum-button-cta a {
395
+ width: 90%; } }
396
+
397
  .eum-status {
398
+ font-style: italic;
399
+ display: inline-block;
400
+ color: #9c9c9c; }
401
+
402
+ .eum-sub-section {
403
+ margin-top: 20px;
404
+ background: #F5F5F5;
405
+ border-radius: 5px; }
406
+ .eum-sub-section > div {
407
+ padding: 15px; }
408
+ .eum-sub-section > div:not(:last-child) {
409
+ border-bottom: 1px solid #DDD; }
410
 
411
  /* These styles are for the plugins/themes screen for versions less than WordPress 4.9 */
412
  .plugins .plugin-title .dashicons,
413
  .plugins .plugin-title img {
414
  float: left;
415
+ padding: 3px 10px 0 0;
416
  width: 64px;
417
  height: 64px; }
418
 
433
  display: block; }
434
 
435
  .eum-plugins-name-actions {
436
+ margin-left: 75px; }
437
 
438
  .eum-themes-name-actions {
439
  margin-left: 100px; }
440
 
441
+ .eum-plugins-name-actions h3,
442
+ .eum-themes-name-actions h3 {
443
+ margin: 0; }
444
+
445
+ .eum-plugins-name-actions h4,
446
+ .eum-themes-name-actions h4 {
447
+ margin: 15px 0 5px; }
448
+
449
  body .plugins .active td,
450
  body .plugins .active th {
451
  background: #FFF; }
465
  width: 200px;
466
  display: block;
467
  margin: 0 auto;
468
+ height: auto;
469
  line-height: 13px; }
470
 
471
  #eum-save-settings-warning {
473
  right: 10px;
474
  bottom: 30px;
475
  width: auto;
476
+ display: none;
477
+ z-index: 2; }
478
 
479
  .warning {
480
  color: #333;
488
 
489
  #result {
490
  margin-top: 20px; }
491
+ #result:empty {
492
+ display: none; }
493
  #result .updated p {
494
  font-weight: bold; }
495
 
496
  #logs-filter {
497
  clear: left; }
498
+
499
+ #eum-adv-settings-container {
500
+ display: flex;
501
+ padding-top: 20px; }
502
+
503
+ #eum-adv-settings-menu > div {
504
+ width: 280px;
505
+ font-size: .9rem; }
506
+ @media screen and (min-width: 767px) {
507
+ #eum-adv-settings-menu > div {
508
+ border-right: 1px solid #aeaeae; } }
509
+ #eum-adv-settings-menu > div > div {
510
+ padding: 5px 0 5px 10px;
511
+ cursor: pointer;
512
+ color: #797979; }
513
+ @media screen and (max-width: 768px) {
514
+ #eum-adv-settings-menu > div > div {
515
+ position: relative; }
516
+ #eum-adv-settings-menu > div > div:not(.active-menu):not(.eum-advanced-settings-container)::before {
517
+ content: '';
518
+ display: block;
519
+ width: 10px;
520
+ height: 10px;
521
+ position: absolute;
522
+ top: calc(50% - 2px);
523
+ right: 15px;
524
+ border-right: 1px solid #CCC;
525
+ border-bottom: 1px solid #CCC;
526
+ transform: translateY(-50%) rotate(45deg); }
527
+ #eum-adv-settings-menu > div > div.active-menu .eum-advanced-menu-text {
528
+ font-weight: 700; }
529
+ #eum-adv-settings-menu > div > div .eum-advanced-menu-text {
530
+ font-size: 22px; } }
531
+ #eum-adv-settings-menu > div > div .material-icons {
532
+ font-size: 16px;
533
+ color: #CECECE;
534
+ margin-right: 5px;
535
+ line-height: 20px;
536
+ vertical-align: bottom; }
537
+ @media screen and (max-width: 768px) {
538
+ #eum-adv-settings-menu > div > div .material-icons {
539
+ font-size: 22px; } }
540
+ #eum-adv-settings-menu > div .anonymize-updates label {
541
+ display: block;
542
+ margin: 10px 0; }
543
+ #eum-adv-settings-menu > div .active-menu {
544
+ border: 1px solid #aeaeae;
545
+ position: relative;
546
+ color: #24282d;
547
+ box-shadow: 0px 3px 11px rgba(0, 0, 0, 0.1); }
548
+ @media screen and (min-width: 767px) {
549
+ #eum-adv-settings-menu > div .active-menu {
550
+ background: #f1f1f1;
551
+ border-right: 1px solid #f1f1f1;
552
+ box-shadow: -2px 1px 2px rgba(0, 0, 0, 0.11);
553
+ left: 1px; } }
554
+ #eum-adv-settings-menu > div .active-menu .material-icons {
555
+ color: #dd600e; }
556
+ @media screen and (max-width: 768px) {
557
+ #eum-adv-settings-menu > div {
558
+ float: none;
559
+ width: 100%; } }
560
+
561
+ #eum-adv-settings {
562
+ flex: 1;
563
+ padding-left: 20px; }
564
+ #eum-adv-settings p {
565
+ margin: .8em 0;
566
+ line-height: 1.2; }
567
+ #eum-adv-settings .anonymize-updates label {
568
+ display: block;
569
+ margin: 10px 0; }
570
+
571
+ .eum-advanced-settings-container {
572
+ display: none; }
573
+
574
+ input#eum-webhook-url {
575
+ width: 50%; }
576
+
577
+ @media screen and (max-width: 768px) {
578
+ #eum-adv-settings-container {
579
+ flex-direction: column; }
580
+ #eum-adv-settings-menu {
581
+ width: 100%;
582
+ border: 0; }
583
+ #eum-adv-settings-menu > li {
584
+ float: left;
585
+ margin-right: 15px; }
586
+ #eum-adv-settings-menu > li.active-menu {
587
+ border: 0;
588
+ background: transparent;
589
+ font-weight: bold;
590
+ box-shadow: none; }
591
+ #eum-adv-settings {
592
+ float: none;
593
+ width: 100%; } }
594
+
595
+ @keyframes fadein {
596
+ from {
597
+ opacity: 0; }
598
+ to {
599
+ opacity: 1; } }
600
+
601
+ .eum-advanced-settings-container {
602
+ display: none;
603
+ opacity: 0; }
604
+
605
+ .eum-advanced-settings-container.active {
606
+ animation: fadein 1s;
607
+ opacity: 1; }
608
+
609
+ @media screen and (max-width: 768px) {
610
+ #eum-adv-settings-menu > div {
611
+ width: 100%;
612
+ margin: 0;
613
+ padding: 0; }
614
+ #eum-adv-settings-menu > div > div {
615
+ display: block;
616
+ width: 100%;
617
+ padding: 10px 5px 10px 10px;
618
+ background: #FFF;
619
+ margin: 2px 0;
620
+ box-sizing: border-box; }
621
+ #eum-adv-settings-menu > div > div.eum-advanced-settings-container {
622
+ padding: 20px;
623
+ background: #FAFAFA;
624
+ border: 1px solid #CCC;
625
+ position: relative;
626
+ margin-top: -3px; }
627
+ #eum-adv-settings-menu > div > div.eum-advanced-settings-container::before {
628
+ content: ' ';
629
+ display: block;
630
+ position: absolute;
631
+ top: -1px;
632
+ right: 13px;
633
+ width: 10px;
634
+ height: 10px;
635
+ background: #FFF;
636
+ border-bottom: 1px solid #CCC;
637
+ border-right: 1px solid #CCC;
638
+ transform: translateY(-5px) rotate(45deg); }
639
+ #eum-adv-settings-menu > div > div.eum-advanced-settings-container > *:first-child {
640
+ margin-top: 0; } }
641
+
642
+ @keyframes eum_rotate {
643
+ from {
644
+ opacity: 1;
645
+ transform: rotate(0deg); }
646
+ to {
647
+ transform: rotate(360deg); } }
648
+
649
+ .eum_saving_popup img {
650
+ animation: eum_rotate 2s linear infinite; }
css/style.min.css CHANGED
@@ -1,33 +1,92 @@
1
- .eum-dashboard-app{width:99%;margin:30px auto 0}.eum-dashboard-app:after{display:inline-block;width:100%;content:'';clear:both}
2
- .toggle-wrapper{position:relative}input[type=checkbox].eum-hidden{display:none}input[type=checkbox].eum-hidden:checked ~ .toggle{background:#009688;left:20.8px;transition:.5s}
 
 
 
3
  input[type=checkbox].eum-hidden:checked ~ .switch{background:#6dbeb7;transition:.5s}
4
  .toggle-wrapper label{margin-left:50px;font-weight:700}.eum-toggle-button{font-size:13px !important}
5
  .eum-input-label{font-weight:700}.switch{display:block;width:40px;height:16px;background:#939393;border-radius:8px;position:absolute;top:3px;transition:.5s}
6
  .toggle{height:22.4px;width:22.4px;border-radius:50%;background:white;position:absolute;top:0;left:0;box-shadow:0 .8px 1.6px rgba(0,0,0,0.4);transition:.5s}
7
- .multi-choice{clear:both;margin-top:20px}.eum-section{border-bottom:1px solid #CCC;padding-bottom:15px}
8
- .eum-section input[type=radio]{-webkit-appearance:none;margin:0 10px;width:15px;height:16px;border-radius:12px;cursor:pointer;vertical-align:middle;outline:0;border:1px solid #ddd;background-color:#fff;-webkit-transition:background-position .15s cubic-bezier(0.8,0,1,1),-webkit-transform .25s cubic-bezier(0.8,0,1,1)}
 
 
 
9
  .eum-section input[type=radio]:checked:before{display:none}.eum-section input[type="radio"]:checked{-webkit-transition:background-position .2s .15s cubic-bezier(0,0,0.2,1),-webkit-transform .25s cubic-bezier(0,0,0.2,1);background:#25af76;border:1px solid #999}
10
  .eum-section input[type="radio"]:checked:disabled{background:grey}
11
  input[type=email].eum-input-email{background:#FFF;box-shadow:none;font-size:14px;padding:10px 10px 10px 5px;display:block;min-width:500px}
12
  @media only screen and (max-width:510px){input[type=email].eum-input-email{min-width:100%}
13
  }.wp-core-ui button.eum-save{margin-top:10px;margin-bottom:10px}.button.delete{background-color:#e14d43;color:#FFF}
14
- .mpsum-error,.mpsum-notice{background:#fff;border-left:4px solid #dc3232;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);margin:5px 15px 2px;padding:1px 12px;margin:5px 0 15px;color:red}
15
- .mpsum-notice{border-left-color:#00a0d2;color:#000}.mpsum-error p,.mpsum-notice p{margin:.5em 0;padding:2px}
16
- .eum-ratings-nag li{display:inline-block;margin-right:10px}.eum-ratings-nag a{display:inline-block}
17
- .toggle-wrapper button,.toggle-wrapper a{padding:5px 10px;display:inline-block;background:#f8f8f8;border-right:0;border-color:#CCC;font-size:1.2em;border-style:solid;border-width:1px;cursor:pointer;align-items:flex-start;text-align:center;text-rendering:auto;color:initial;letter-spacing:normal;word-spacing:normal;text-transform:none;text-indent:0;text-shadow:none;display:inline-block;text-align:start;margin:0;-webkit-appearance:button;appearance:button}
18
- .toggle-wrapper button:first-child,.toggle-wrapper a:first-child{border-radius:5px 0 0 5px}
 
 
 
 
 
 
 
 
 
 
 
 
 
19
  .toggle-wrapper button:last-child,.toggle-wrapper a:last-child{border-radius:0 5px 5px 0;border-right:1px solid #CCC}
20
- .toggle-wrapper button.eum-active,.toggle-wrapper a.eum-active{background:#25af76;color:#FFF;-webkit-appearance:inherit;appearance:inherit}
21
- @media only screen and (max-width:600px){.toggle-wrapper button,.toggle-wrapper a{display:block;width:100%;border-radius:0;border:1px solid #CCC}
22
- .toggle-wrapper button:first-child,.toggle-wrapper a:first-child{border-radius:0}
23
- .toggle-wrapper button:last-child,.toggle-wrapper a:last-child{border-radius:0}}.eum-button{padding:20px 10px;display:block;width:90%;margin:0 auto;margin-top:20px !important}
24
- .eum-status{font-style:italic}.plugins .plugin-title .dashicons,.plugins .plugin-title img{float:left;padding:0 10px 0 0;width:64px;height:64px}
 
 
 
 
 
 
 
 
 
 
 
 
 
25
  .plugins .plugin-title .dashicons:before{padding:2px;background-color:#eee;box-shadow:inset 0 0 10px rgba(160,165,170,0.15);font-size:60px;color:#b4b9be}
26
  .updates-table-screenshot{float:left;padding:0 10px 5px 0;width:85px;height:64px}
27
- .theme-title strong{display:block}.eum-plugins-name-actions{margin-left:70px}.eum-themes-name-actions{margin-left:100px}
 
28
  body .plugins .active td,body .plugins .active th{background:#FFF}body .plugins .active th.check-column{border-left:4px solid #25af76}
29
  body .plugins .inactive th.check-column{border-left:4px solid #d44e1c}#footer-thankyou img{max-width:100px}
30
- #eum-save-settings{padding:20px 10px;font-size:24px;width:200px;display:block;margin:0 auto;height:50px;line-height:13px}
31
- #eum-save-settings-warning{position:fixed;right:10px;bottom:30px;width:auto;display:none}
32
  .warning{color:#333;padding:5px;border:1px solid #F00;background-color:#f0a5a4;border-radius:5px;margin:15px 0}
33
- .warning p{margin:0}#result{margin-top:20px}#result .updated p{font-weight:bold}#logs-filter{clear:left}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @import url(https://fonts.googleapis.com/icon?family=Material+Icons);.material-icons{font-family:'Material Icons';font-weight:normal;font-style:normal;font-size:20px;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:'liga';color:gray}
2
+ .advanced-premium{max-width:800px}.eum-dashboard-app{width:99%;margin:30px auto 0}
3
+ .eum-dashboard-app:after{display:inline-block;width:100%;content:'';clear:both}
4
+ .toggle-wrapper{position:relative;display:inline-block;margin-right:10px}@media only screen and (max-width:600px){.toggle-wrapper{display:block;margin-right:0}
5
+ }.eum-hidden{display:none}input[type=checkbox].eum-hidden{display:none}input[type=checkbox].eum-hidden:checked ~ .toggle{background:#009688;left:20.8px;transition:.5s}
6
  input[type=checkbox].eum-hidden:checked ~ .switch{background:#6dbeb7;transition:.5s}
7
  .toggle-wrapper label{margin-left:50px;font-weight:700}.eum-toggle-button{font-size:13px !important}
8
  .eum-input-label{font-weight:700}.switch{display:block;width:40px;height:16px;background:#939393;border-radius:8px;position:absolute;top:3px;transition:.5s}
9
  .toggle{height:22.4px;width:22.4px;border-radius:50%;background:white;position:absolute;top:0;left:0;box-shadow:0 .8px 1.6px rgba(0,0,0,0.4);transition:.5s}
10
+ .multi-choice{clear:both;margin-top:20px}.eum-section{border-bottom:1px solid #eaeaea;padding:20px}
11
+ .eum-section .mpsum-spinner{display:inline-block;margin-right:20px}.eum-section-group{padding:0}
12
+ @media only screen and (min-width:783px){.eum-section-group{margin-left:180px}}.eum-section-group .eum-section h3{margin-top:0}
13
+ .eum-section-group .eum-section:last-child{border-bottom:0}@media only screen and (min-width:783px){h2.eum-section-group-title{float:left;width:170px}
14
+ }.eum-section input[type=radio]{-webkit-appearance:none;margin:0 10px;width:15px;height:16px;border-radius:12px;cursor:pointer;vertical-align:middle;outline:0;border:1px solid #ddd;background-color:#fff;-webkit-transition:background-position .15s cubic-bezier(0.8,0,1,1),-webkit-transform .25s cubic-bezier(0.8,0,1,1)}
15
  .eum-section input[type=radio]:checked:before{display:none}.eum-section input[type="radio"]:checked{-webkit-transition:background-position .2s .15s cubic-bezier(0,0,0.2,1),-webkit-transform .25s cubic-bezier(0,0,0.2,1);background:#25af76;border:1px solid #999}
16
  .eum-section input[type="radio"]:checked:disabled{background:grey}
17
  input[type=email].eum-input-email{background:#FFF;box-shadow:none;font-size:14px;padding:10px 10px 10px 5px;display:block;min-width:500px}
18
  @media only screen and (max-width:510px){input[type=email].eum-input-email{min-width:100%}
19
  }.wp-core-ui button.eum-save{margin-top:10px;margin-bottom:10px}.button.delete{background-color:#e14d43;color:#FFF}
20
+ .mpsum-error,.mpsum-notice,.mpsum-success{background:#fff;border-left:4px solid #dc3232;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);margin:5px 15px 2px;padding:1px 12px;margin:5px 0 15px;color:red}
21
+ .mpsum-error.mpsum-bold,.mpsum-notice.mpsum-bold,.mpsum-success.mpsum-bold{margin-top:1em;margin-bottom:1em;padding-top:1em;padding-bottom:1em;padding-left:1em;font-weight:700}
22
+ .mpsum-error.mpsum-regular,.mpsum-notice.mpsum-regular,.mpsum-success.mpsum-regular{margin-top:1em;margin-bottom:1em;padding-top:1em;padding-bottom:1em;padding-left:1em}
23
+ .mpsum-success{border-left-color:#55ac7b;color:#000}.mpsum-notice{border-left-color:#00a0d2;color:#000}
24
+ .mpsum-clear{clear:both}.mpsum-small{font-size:1em;line-height:1.1}.mpsum-medium{font-size:1.3em;line-height:1.3}
25
+ .mpsum-large{font-size:1.8em;line-height:1.4}.mpsum-caption{text-align:center;font-weight:700}
26
+ .mpsum-advanced-premium-features{background:#FFF;border:1px solid #aeaeae;position:relative;color:#24282d;box-shadow:0 3px 11px rgba(0,0,0,0.1);padding:20px}
27
+ .mpsum-advanced-premium-features h3{text-align:center}.mpsum-advanced-premium-list{list-style-type:none;margin-left:0}
28
+ .mpsum-advanced-premium-list:before{display:none}.mpsum-advanced-premium-list:after{display:none}
29
+ .mpsum-advanced-premium-list li{clear:left;float:none;font-size:1.3em;line-height:1.3;padding:10px;margin-bottom:10px}
30
+ .mpsum-advanced-premium-list li:after{content:"";display:table;clear:both}
31
+ .mpsum-advanced-premium-list li strong{clear:left;float:left;display:block;min-width:25%}
32
+ @media only screen and (max-width:700px){.mpsum-advanced-premium-list li strong{float:none;min-width:100%}
33
+ }.mpsum-advanced-premium-list li .mpsum-list-description{display:block;float:left;width:75%}
34
+ @media only screen and (max-width:700px){.mpsum-advanced-premium-list li .mpsum-list-description{float:none;width:100%}
35
+ }.eum-ratings-nag li{display:inline-block;margin-right:10px}.eum-ratings-nag a{display:inline-block}
36
+ .toggle-wrapper button,.toggle-wrapper a{padding:5px 10px;display:inline-block;background:#f8f8f8;border-right:0;border-color:#CCC;box-shadow:0 1px 0 #CCC;font-size:1.2em;border-style:solid;border-width:1px;cursor:pointer;align-items:flex-start;text-align:center;text-rendering:auto;color:initial;letter-spacing:normal;word-spacing:normal;text-transform:none;text-indent:0;text-shadow:none;display:inline-block;text-align:start;margin:0;-webkit-appearance:button;appearance:button}
37
+ .toggle-wrapper button:first-child,.toggle-wrapper button:first-of-type,.toggle-wrapper a:first-child,.toggle-wrapper a:first-of-type{border-radius:5px 0 0 5px}
38
  .toggle-wrapper button:last-child,.toggle-wrapper a:last-child{border-radius:0 5px 5px 0;border-right:1px solid #CCC}
39
+ .toggle-wrapper button:not(:last-child),.toggle-wrapper a:not(:last-child){border-right:0}
40
+ .toggle-wrapper button.eum-active,.toggle-wrapper a.eum-active{background:#25af76;border-color:#1a8a59;box-shadow:0 1px 0 #1a8a59;color:#FFF;-webkit-appearance:inherit;appearance:inherit}
41
+ .toggle-wrapper button.eum-active.eum-disabled,.toggle-wrapper a.eum-active.eum-disabled{background:#dc3332;border-color:#ab2d2d;box-shadow:0 1px 0 #ab2d2d}
42
+ @media only screen and (max-width:600px){.eum-section .toggle-wrapper button,.eum-section .toggle-wrapper a{display:block;width:100%;border-radius:0;border:1px solid #CCC;font-size:1.2em;padding:12px 15px}
43
+ .eum-section .toggle-wrapper button:not(:last-child),.eum-section .toggle-wrapper a:not(:last-child){border:1px solid #CCC;border-bottom:0}
44
+ .eum-section .toggle-wrapper button.eum-active,.eum-section .toggle-wrapper a.eum-active{border-color:#1a8a59}
45
+ .eum-section .toggle-wrapper button:first-child,.eum-section .toggle-wrapper button:first-of-type,.eum-section .toggle-wrapper a:first-child,.eum-section .toggle-wrapper a:first-of-type{border-radius:5px 5px 0 0}
46
+ .eum-section .toggle-wrapper button:last-child,.eum-section .toggle-wrapper a:last-child{border-radius:0 0 5px 5px}
47
+ }@media only screen and (max-width:600px){.toggle-wrapper[class*="toggle-wrapper-"] button,.toggle-wrapper[class*="toggle-wrapper-"] a{font-size:1.2em !important;padding:12px 15px}
48
+ }.eum-button{padding:20px 10px;display:block;width:90%;margin:0 auto;margin-top:20px !important}
49
+ .eum-button-cta{display:block;margin:0 auto;margin-top:20px;font-size:1.3em;text-align:center}
50
+ .eum-button-cta a{position:relative;display:inline-block;border-radius:4px;background:#d06e38;border-color:rgba(223,105,38,0.95);background-color:rgba(223,105,38,0.95);text-decoration:none;padding:16px;width:320px;border:2px solid;color:#fff;font-weight:500}
51
+ .eum-button-cta a:hover{background:#df6926 !important;border-color:#df6926 !important}
52
+ .eum-button-cta a:hover:after{opacity:1;right:10px}.eum-button-cta a:after{content:'>';display:inline-block;position:absolute;opacity:0;top:14px;right:-20px;transition:.5s}
53
+ .eum-button-cta a:hover,.eum-button-cta a:visited,.eum-button-cta a:focus{color:#fff}
54
+ @media only screen and (max-width:500px){.eum-button-cta a{width:90%}}.eum-status{font-style:italic;display:inline-block;color:#9c9c9c}
55
+ .eum-sub-section{margin-top:20px;background:#f5f5f5;border-radius:5px}.eum-sub-section>div{padding:15px}
56
+ .eum-sub-section>div:not(:last-child){border-bottom:1px solid #DDD}.plugins .plugin-title .dashicons,.plugins .plugin-title img{float:left;padding:3px 10px 0 0;width:64px;height:64px}
57
  .plugins .plugin-title .dashicons:before{padding:2px;background-color:#eee;box-shadow:inset 0 0 10px rgba(160,165,170,0.15);font-size:60px;color:#b4b9be}
58
  .updates-table-screenshot{float:left;padding:0 10px 5px 0;width:85px;height:64px}
59
+ .theme-title strong{display:block}.eum-plugins-name-actions{margin-left:75px}.eum-themes-name-actions{margin-left:100px}
60
+ .eum-plugins-name-actions h3,.eum-themes-name-actions h3{margin:0}.eum-plugins-name-actions h4,.eum-themes-name-actions h4{margin:15px 0 5px}
61
  body .plugins .active td,body .plugins .active th{background:#FFF}body .plugins .active th.check-column{border-left:4px solid #25af76}
62
  body .plugins .inactive th.check-column{border-left:4px solid #d44e1c}#footer-thankyou img{max-width:100px}
63
+ #eum-save-settings{padding:20px 10px;font-size:24px;width:200px;display:block;margin:0 auto;height:auto;line-height:13px}
64
+ #eum-save-settings-warning{position:fixed;right:10px;bottom:30px;width:auto;display:none;z-index:2}
65
  .warning{color:#333;padding:5px;border:1px solid #F00;background-color:#f0a5a4;border-radius:5px;margin:15px 0}
66
+ .warning p{margin:0}#result{margin-top:20px}#result:empty{display:none}#result .updated p{font-weight:bold}
67
+ #logs-filter{clear:left}#eum-adv-settings-container{display:flex;padding-top:20px}
68
+ #eum-adv-settings-menu>div{width:280px;font-size:.9rem}@media screen and (min-width:767px){#eum-adv-settings-menu>div{border-right:1px solid #aeaeae}
69
+ }#eum-adv-settings-menu>div>div{padding:5px 0 5px 10px;cursor:pointer;color:#797979}
70
+ @media screen and (max-width:768px){#eum-adv-settings-menu>div>div{position:relative}
71
+ #eum-adv-settings-menu>div>div:not(.active-menu):not(.eum-advanced-settings-container)::before{content:'';display:block;width:10px;height:10px;position:absolute;top:calc(50% - 2px);right:15px;border-right:1px solid #CCC;border-bottom:1px solid #CCC;transform:translateY(-50%) rotate(45deg)}
72
+ #eum-adv-settings-menu>div>div.active-menu .eum-advanced-menu-text{font-weight:700}
73
+ #eum-adv-settings-menu>div>div .eum-advanced-menu-text{font-size:22px}}#eum-adv-settings-menu>div>div .material-icons{font-size:16px;color:#cecece;margin-right:5px;line-height:20px;vertical-align:bottom}
74
+ @media screen and (max-width:768px){#eum-adv-settings-menu>div>div .material-icons{font-size:22px}
75
+ }#eum-adv-settings-menu>div .anonymize-updates label{display:block;margin:10px 0}
76
+ #eum-adv-settings-menu>div .active-menu{border:1px solid #aeaeae;position:relative;color:#24282d;box-shadow:0 3px 11px rgba(0,0,0,0.1)}
77
+ @media screen and (min-width:767px){#eum-adv-settings-menu>div .active-menu{background:#f1f1f1;border-right:1px solid #f1f1f1;box-shadow:-2px 1px 2px rgba(0,0,0,0.11);left:1px}
78
+ }#eum-adv-settings-menu>div .active-menu .material-icons{color:#dd600e}@media screen and (max-width:768px){#eum-adv-settings-menu>div{float:none;width:100%}
79
+ }#eum-adv-settings{flex:1;padding-left:20px}#eum-adv-settings p{margin:.8em 0;line-height:1.2}
80
+ #eum-adv-settings .anonymize-updates label{display:block;margin:10px 0}.eum-advanced-settings-container{display:none}
81
+ input#eum-webhook-url{width:50%}@media screen and (max-width:768px){#eum-adv-settings-container{flex-direction:column}
82
+ #eum-adv-settings-menu{width:100%;border:0}#eum-adv-settings-menu>li{float:left;margin-right:15px}
83
+ #eum-adv-settings-menu>li.active-menu{border:0;background:transparent;font-weight:bold;box-shadow:none}
84
+ #eum-adv-settings{float:none;width:100%}}@keyframes fadein{from{opacity:0}to{opacity:1}
85
+ }.eum-advanced-settings-container{display:none;opacity:0}.eum-advanced-settings-container.active{animation:fadein 1s;opacity:1}
86
+ @media screen and (max-width:768px){#eum-adv-settings-menu>div{width:100%;margin:0;padding:0}
87
+ #eum-adv-settings-menu>div>div{display:block;width:100%;padding:10px 5px 10px 10px;background:#FFF;margin:2px 0;box-sizing:border-box}
88
+ #eum-adv-settings-menu>div>div.eum-advanced-settings-container{padding:20px;background:#fafafa;border:1px solid #CCC;position:relative;margin-top:-3px}
89
+ #eum-adv-settings-menu>div>div.eum-advanced-settings-container::before{content:' ';display:block;position:absolute;top:-1px;right:13px;width:10px;height:10px;background:#FFF;border-bottom:1px solid #CCC;border-right:1px solid #CCC;transform:translateY(-5px) rotate(45deg)}
90
+ #eum-adv-settings-menu>div>div.eum-advanced-settings-container>*:first-child{margin-top:0}
91
+ }@keyframes eum_rotate{from{opacity:1;transform:rotate(0)}to{transform:rotate(360deg)}
92
+ }.eum_saving_popup img{animation:eum_rotate 2s linear infinite}
images/index.php CHANGED
@@ -0,0 +1 @@
 
1
+ <?php
images/notices/eum-notice-logo-150.png ADDED
Binary file
images/site_icon.png ADDED
Binary file
includes/MPSUM_Admin.php CHANGED
@@ -128,11 +128,16 @@ class MPSUM_Admin {
128
  public function init() {
129
 
130
  // Plugin and Theme actions
131
- if ( is_multisite() ) {
132
- add_action( 'network_admin_menu', array( $this, 'init_network_admin_menus' ) );
 
133
  } else {
134
- add_action( 'admin_menu', array( $this, 'init_single_site_admin_menus' ) );
135
  }
 
 
 
 
136
 
137
  // Add settings link to plugins screen
138
  $prefix = is_multisite() ? 'network_admin_' : '';
@@ -148,6 +153,9 @@ class MPSUM_Admin {
148
  }
149
  new MPSUM_Admin_Core( self::get_slug() );
150
  new MPSUM_Admin_Advanced( self::get_slug() );
 
 
 
151
 
152
  MPSUM_Admin_Screen_Options::maybe_save_dashboard_screen_option();
153
 
@@ -208,16 +216,41 @@ class MPSUM_Admin {
208
  if ( ! isset( $options[ 'themes_automatic' ] ) ) {
209
  $options[ 'themes_automatic' ] = array();
210
  }
 
 
 
 
 
 
 
211
  return $options;
212
 
213
  }
214
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
215
  /**
216
  * Enqueue scripts
217
  *
218
  * @return void
219
  */
220
  public function enqueue_scripts() {
 
 
221
  $pagenow = isset( $_GET[ 'page' ] ) ? $_GET[ 'page' ] : false;
222
  $is_active_tab = isset( $_GET[ 'tab' ] ) ? $_GET[ 'tab' ] : false;
223
 
@@ -234,9 +267,21 @@ class MPSUM_Admin {
234
  // Get options
235
  $options = MPSUM_Updates_Manager::get_options( 'core' );
236
 
 
 
 
 
 
 
 
 
 
 
237
  wp_enqueue_script( 'jquery-blockui', MPSUM_Updates_Manager::get_plugin_url( '/js/jquery.blockUI' . $min_or_not . '.js' ), array('jquery'), EASY_UPDATES_MANAGER_VERSION, true);
238
- wp_enqueue_script( 'mpsum_dashboard_react', MPSUM_Updates_Manager::get_plugin_url( '/js/admin' . $min_or_not . '.js' ), array( 'jquery' ), EASY_UPDATES_MANAGER_VERSION, true );
239
- wp_enqueue_script( 'mpsum_dashboard_js', MPSUM_Updates_Manager::get_plugin_url( '/js/eum-admin' . $min_or_not .'.js' ), array( 'jquery' ), EASY_UPDATES_MANAGER_VERSION, true );
 
 
240
 
241
  $user_id = get_current_user_id();
242
  $dashboard_showing = get_user_meta( $user_id, 'mpsum_dashboard', true );
@@ -262,28 +307,30 @@ class MPSUM_Admin {
262
  'default' => _x( 'Default', 'Option as Default', 'stops-core-theme-and-plugin-updates' ),
263
  'on' => _x( 'On', 'Option enabled', 'stops-core-theme-and-plugin-updates' ),
264
  'off' => _x( 'Off', 'Option disabled', 'stops-core-theme-and-plugin-updates' ),
 
 
265
  'custom' => _x( 'Custom', 'Option allows for configuration', 'stops-core-theme-and-plugin-updates' ),
266
  'automatic_updates_default_status' => __( 'You have selected default. WordPress will behave as if this plugin is not installed for automatic updates.', 'stops-core-theme-and-plugin-updates' ),
267
- 'automatic_updates_on_status' => __( 'Automatic updates are on.', 'stops-core-theme-and-plugin-updates' ),
268
- 'automatic_updates_off_status' => __( 'Automatic updates are off.', 'stops-core-theme-and-plugin-updates', 'stops-core-theme-and-plugin-updates' ),
269
  'automatic_updates_custom_status' => __( 'You have selected to customize the updates below.', 'stops-core-theme-and-plugin-updates' ),
270
- 'automatic_updates' => __( 'Automatic Updates', 'stops-core-theme-and-plugin-updates' ),
271
- 'automatic_updates_description' => __( 'These options will enable or disable automatic updates (background updates) of certain parts of WordPress. Select Custom for more flexibility. Leave as Default for normal WordPress behavior', 'stops-core-theme-and-plugin-updates' ),
272
- 'major_releases' => _x( 'Major Releases', 'Major WordPress releases', 'stops-core-theme-and-plugin-updates' ),
273
- 'major_releases_description' => __( 'Automatically update to major releases (e.g., 4.1, 4.2, 4.3).', 'stops-core-theme-and-plugin-updates' ),
274
  'major_releases_label_on' => __( 'Enable Major Releases', 'stops-core-theme-and-plugin-updates' ),
275
  'major_releases_label_on_status' => __( 'Automatic major release updates are now turned on.', 'stops-core-theme-and-plugin-updates' ),
276
  'major_releases_label_off' => __( 'Disable Major Releases', 'stops-core-theme-and-plugin-updates' ),
277
  'major_releases_label_off_status' => __( 'Automatic major release updates are now turned off.', 'stops-core-theme-and-plugin-updates' ),
278
- 'minor_releases' => _x( 'Minor Releases', 'Minor point releases for WordPress', 'stops-core-theme-and-plugin-updates' ),
279
- 'minor_releases_description' => __( 'Automatically update to minor releases (e.g., 4.1.1, 4.1.2, 4.1.3).', 'stops-core-theme-and-plugin-updates' ),
280
  'minor_releases_label_on' => __( 'Enable Minor Releases', 'stops-core-theme-and-plugin-updates' ),
281
  'minor_releases_label_on_status' => __( 'Automatic minor release updates are now turned on.', 'stops-core-theme-and-plugin-updates' ),
282
  'minor_releases_label_off' => __( 'Disable Minor Releases', 'stops-core-theme-and-plugin-updates' ),
283
  'minor_releases_label_off_status' => __( 'Automatic minor release updates are now turned off.', 'stops-core-theme-and-plugin-updates' ),
284
- 'development_releases' => _x( 'Development Updates', 'Beta and RC releases for WordPress', 'stops-core-theme-and-plugin-updates' ),
285
- 'development_releases_description' => __( 'Allow your install to receive development updates from WordPress (for advanced users only)', 'stops-core-theme-and-plugin-updates' ),
286
- 'development_releases_label_on' => __( 'Enable Development Updates', 'stops-core-theme-and-plugin-updates' ),
287
  'development_releases_label_on_status' => __( 'Automatic development release updates are now turned on.', 'stops-core-theme-and-plugin-updates' ),
288
  'development_releases_label_off' => __( 'Disable Development Updates', 'stops-core-theme-and-plugin-updates' ),
289
  'development_releases_label_off_status' => __( 'Automatic development release updates are now turned off.', 'stops-core-theme-and-plugin-updates' ),
@@ -306,122 +353,208 @@ class MPSUM_Admin {
306
  'automatic_theme_updates_on_status' => __( 'Automatic updates for themes are now on.', 'stops-core-theme-and-plugin-updates' ),
307
  'automatic_theme_updates_off_status' => __( 'Automatic updates for themes are now off.', 'stops-core-theme-and-plugin-updates' ),
308
  'automatic_theme_updates_individual_status' => __( 'Automatic updates for themes can be customized in the Themes tab.', 'stops-core-theme-and-plugin-updates' ),
309
- 'disable_updates' => __( 'Disable All Updates', 'stops-core-theme-and-plugin-updates' ),
310
  'disable_updates_description' => __( 'This is a master switch and will enable or disable updates for the WordPress installation. Switching updates off is not recommended.', 'stops-core-theme-and-plugin-updates' ),
311
- 'disable_updates_label_on' => __( 'Enable All Updates ', 'stops-core-theme-and-plugin-updates' ),
312
  'disable_updates_label_on_status' => __( 'All updates are allowed, however, you still need to configure the updates below.', 'stops-core-theme-and-plugin-updates' ),
313
- 'disable_updates_label_off' => __( 'Disable All Updates ', 'stops-core-theme-and-plugin-updates' ),
314
- 'disable_updates_label_off_status' => __( 'All updates are disabled.', 'stops-core-theme-and-plugin-updates' ),
315
  'logs' => _x( 'Logs', 'Log what is stored when assets update', 'stops-core-theme-and-plugin-updates' ),
316
  'logs_description' => __( 'Logs will show you what assets have updated and will show up in the Logs tab.', 'stops-core-theme-and-plugin-updates' ),
 
317
  'logs_label_on' => __( 'Enable Logs', 'stops-core-theme-and-plugin-updates' ),
318
  'logs_label_on_status' => __( 'Logs are enabled. You will find Logs in the Logs tab.', 'stops-core-theme-and-plugin-updates' ),
319
  'logs_label_off' => __( 'Disable Logs', 'stops-core-theme-and-plugin-updates' ),
320
  'logs_label_off_status' => __( 'Logs are disabled.', 'stops-core-theme-and-plugin-updates' ),
321
- 'browser_nag' => _x( 'Browser Nag', 'WordPress shows a warning for older browsers', 'stops-core-theme-and-plugin-updates' ),
322
- 'browser_nag_description' => __( 'Enables or disables the browser nag for users using older browsers.', 'stops-core-theme-and-plugin-updates' ),
323
  'browser_nag_label_on' => __( 'Enable the Browser Nag', 'stops-core-theme-and-plugin-updates' ),
324
  'browser_nag_label_on_status' => __( 'The Browser Nag for older browsers is on.', 'stops-core-theme-and-plugin-updates' ),
325
  'browser_nag_label_off' => __( 'Disable the Browser Nag', 'stops-core-theme-and-plugin-updates' ),
326
  'browser_nag_label_off_status' => __( 'The Browser Nag for older browsers is off.', 'stops-core-theme-and-plugin-updates' ),
327
- 'version_footer' => __( 'WordPress Version in Footer', 'stops-core-theme-and-plugin-updates' ),
328
- 'version_footer_description' => __( 'Enables or disables the WordPress version from showing in the footer of the admin area.', 'stops-core-theme-and-plugin-updates' ),
329
  'version_footer_label_on' => __( 'Enable the Version in the Footer', 'stops-core-theme-and-plugin-updates' ),
330
  'version_footer_label_on_status' => __( 'Showing the WordPress version in the footer is on.', 'stops-core-theme-and-plugin-updates' ),
331
  'version_footer_label_off_status' => __( 'Showing the WordPress version in the footer is off.', 'stops-core-theme-and-plugin-updates' ),
332
  'version_footer_label_off' => __( 'Disable the Version in the Footer', 'stops-core-theme-and-plugin-updates' ),
333
- 'emails' => __( 'Core Notification E-mails', 'stops-core-theme-and-plugin-updates' ),
334
- 'emails_description' => __( 'WordPress periodically sends update notification e-mails, such as in the case of automatic updates. By default, the email used is the one in Settings->General, but you can override this below.', 'stops-core-theme-and-plugin-updates' ),
335
  'emails_label_on' => __( 'Enable Core Notification E-mails', 'stops-core-theme-and-plugin-updates' ),
336
  'emails_label_on_status' => __( 'E-mail notifications are on. You can configure which e-mail addresses are sent to below.', 'stops-core-theme-and-plugin-updates' ),
337
  'emails_label_off' => __( 'Disable Core Notification E-mails', 'stops-core-theme-and-plugin-updates' ),
338
  'emails_label_off_status' => __( 'E-mail notifications are off', 'stops-core-theme-and-plugin-updates' ),
339
  'emails_placeholder' => __( 'Add an e-mail address', 'stops-core-theme-and-plugin-updates' ),
340
- 'emails_input_label' => __( 'Enter Comma Separated E-mail Addresses', 'stops-core-theme-and-plugin-updates' ),
341
  'emails_invalid' => __( 'One or more e-mail addresses are invalid.', 'stops-core-theme-and-plugin-updates' ),
 
342
  'emails_save' => __( 'Save E-mail Addresses', 'stops-core-theme-and-plugin-updates' ),
343
  'emails_save_empty' => __( 'Please enter an e-mail address', 'stops-core-theme-and-plugin-updates' ),
344
- 'emails_saving' =>__( 'Saving...', 'stops-core-theme-and-plugin-updates' ),
345
- 'core_updates' => __( 'WordPress Core Updates', 'stops-core-theme-and-plugin-updates' ),
346
  'core_updates_description' => __( 'This allows you to disable or enable all core updates, including automatic updates.', 'stops-core-theme-and-plugin-updates' ),
347
- 'core_updates_label_on' => __( 'Enable Core Updates ', 'stops-core-theme-and-plugin-updates' ),
348
  'core_updates_label_on_status' => __( 'Core updates are enabled.', 'stops-core-theme-and-plugin-updates' ),
349
- 'core_updates_label_off' => __( 'Disable Core Updates ', 'stops-core-theme-and-plugin-updates' ),
350
  'core_updates_label_off_status' => __( 'Core updates are disabled.', 'stops-core-theme-and-plugin-updates' ),
351
- 'plugin_updates' => __( 'WordPress Plugin Updates', 'stops-core-theme-and-plugin-updates' ),
352
  'plugin_updates_description' => __( 'This allows you to disable or enable all plugin updates. Disabling this option will also disable automatic updates.', 'stops-core-theme-and-plugin-updates' ),
353
- 'plugin_updates_label_on' => __( 'Enable Plugin Updates ', 'stops-core-theme-and-plugin-updates' ),
354
  'plugin_updates_label_on_status' => __( 'Plugin updates are enabled.', 'stops-core-theme-and-plugin-updates' ),
355
- 'plugin_updates_label_off' => __( 'Disable Plugin Updates ', 'stops-core-theme-and-plugin-updates' ),
356
  'plugin_updates_label_off_status' => __( 'Plugin updates are disabled.', 'stops-core-theme-and-plugin-updates' ),
357
- 'theme_updates' => __( 'WordPress Theme Updates', 'stops-core-theme-and-plugin-updates' ),
358
  'theme_updates_description' => __( 'This allows you to disable or enable all theme updates. Disabling this option will also disable automatic updates.', 'stops-core-theme-and-plugin-updates' ),
359
- 'theme_updates_label_on' => __( 'Enable Theme Updates ', 'stops-core-theme-and-plugin-updates' ),
360
  'theme_updates_label_on_status' => __( 'Theme updates are enabled.', 'stops-core-theme-and-plugin-updates' ),
361
- 'theme_updates_label_off' => __( 'Disable Theme Updates ', 'stops-core-theme-and-plugin-updates' ),
362
  'theme_updates_label_off_status' => __( 'Theme updates are disabled.', 'stops-core-theme-and-plugin-updates' ),
363
- 'translation_updates' => __( 'WordPress Translation Updates', 'stops-core-theme-and-plugin-updates' ),
364
  'translation_updates_description' => __( 'This allows you to disable or enable all translations. Disabling this option will also disable automatic translation updates.', 'stops-core-theme-and-plugin-updates' ),
365
- 'translation_updates_label_on' => __( 'Enable Translation Updates ', 'stops-core-theme-and-plugin-updates' ),
366
  'translation_updates_label_on_status' => __( 'Translation updates are enabled.', 'stops-core-theme-and-plugin-updates' ),
367
- 'translation_updates_label_off' => __( 'Disable Translation Updates ', 'stops-core-theme-and-plugin-updates' ),
368
  'translation_updates_label_off_status' => __( 'Translation updates are disabled.', 'stops-core-theme-and-plugin-updates' ),
 
 
 
369
  );
370
 
371
  wp_localize_script( 'mpsum_dashboard_react', 'mpsum', apply_filters('eum_i18n', array(
372
- 'spinner' => MPSUM_Updates_Manager::get_plugin_url( '/images/spinner.gif' ),
373
- 'tabs' => _x( 'Tabs', 'Show or hide admin tabs', 'stops-core-theme-and-plugin-updates' ),
374
- 'dashboard' => _x( 'Show Dashboard', 'Show or hide the dashboard', 'stops-core-theme-and-plugin-updates' ),
375
- 'dashboard_showing' => $dashboard_showing,
376
- 'enabled' => __( 'Enabled', 'stops-core-theme-and-plugin-updates' ),
377
- 'disabled' => __( 'Disabled', 'stops-core-theme-and-plugin-updates' ),
378
- 'admin_nonce' => wp_create_nonce( 'mpsum_options_save' ),
379
- 'ratings_nag' => array(
380
- 'text' => __( 'Hey there! If Easy Updates Manager has helped you, can you do us a HUGE favor and give us a rating? THANKS! - The Easy Updates Manager team', 'stops-core-theme-and-plugin-updates' ),
381
- 'url' => 'https://wordpress.org/support/plugin/stops-core-theme-and-plugin-updates/reviews/#new-post',
382
- 'affirm' => __( 'Sure! Absolutely.', 'stops-core-theme-and-plugin-updates' ),
383
- 'cancel' => __( 'No thanks!', 'stops-core-theme-and-plugin-updates' ),
384
- 'enabled' => $ratings_nag_showing
385
- ),
386
- 'eum_nonce' => wp_create_nonce( 'eum_nonce' ),
387
- 'ajax_url' => admin_url( 'admin-ajax.php' ),
388
  'unexpected_response' => __( 'Unexpected response:', 'stops-core-theme-and-plugin-updates' ),
389
- 'I18N' => $I18N,
390
- 'saving' => __( 'Saving...', 'stops-core-theme-and-plugin-updates' ),
391
- 'working' => __( 'Working...', 'stops-core-theme-and-plugin-updates' )
392
- )) );
 
 
 
393
  wp_enqueue_style( 'mpsum_dashboard', MPSUM_Updates_Manager::get_plugin_url( '/css/style.css' ), array(), EASY_UPDATES_MANAGER_VERSION );
394
  }
395
 
396
  /**
397
- * Adds a sub-menu page for multisite.
398
- *
399
- * Adds a sub-menu page for multisite.
400
- *
401
- * @since 5.0.0
402
- * @access public
403
- * @see init
404
- * @internal Uses network_admin_menu action
405
- */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
406
  public function init_network_admin_menus() {
407
- $hook = add_dashboard_page( __( 'Updates Options', 'stops-core-theme-and-plugin-updates' ) , __( 'Updates Options', 'stops-core-theme-and-plugin-updates' ), 'install_plugins', self::get_slug(), array( $this, 'output_admin_interface' ) );
408
  add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
409
  add_action( "load-$hook", array( $this, 'init_help_screen' ) );
410
  add_action( "load-$hook", array( $this, 'init_screen_options' ) );
411
  }
412
 
413
  /**
414
- * Adds a sub-menu page for single-site.
415
- *
416
- * Adds a sub-menu page for single-site.
417
- *
418
- * @since 5.0.0
419
- * @access public
420
- * @see init
421
- * @internal Uses admin_menu action
422
- */
423
  public function init_single_site_admin_menus() {
424
- $hook = add_dashboard_page( __( 'Updates Options', 'stops-core-theme-and-plugin-updates' ) , __( 'Updates Options', 'stops-core-theme-and-plugin-updates' ), 'install_plugins', self::get_slug(), array( $this, 'output_admin_interface' ) );
425
  add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
426
  add_action( "load-$hook", array( $this, 'init_help_screen' ) );
427
  add_action( "load-$hook", array( $this, 'init_screen_options' ) );
@@ -439,8 +572,11 @@ class MPSUM_Admin {
439
  public function output_admin_interface() {
440
  ?>
441
  <div class="wrap">
442
- <h1>
443
- <?php echo esc_html_e( 'Manage Updates', 'stops-core-theme-and-plugin-updates' ); ?>
 
 
 
444
  </h1>
445
  <?php
446
  $core_options = MPSUM_Updates_Manager::get_options( 'core' );
@@ -453,15 +589,6 @@ class MPSUM_Admin {
453
  'action' => 'mpsum_admin_tab_dashboard' /* action variable in do_action */
454
  );
455
 
456
- /*
457
- $tabs[] = array(
458
- 'url' => add_query_arg( array( 'tab' => 'main' ), self::get_url() ),
459
- 'label' => esc_html__( 'General', 'stops-core-theme-and-plugin-updates' ),
460
- 'get' => 'main' ,
461
- 'action' => 'mpsum_admin_tab_main'
462
- );
463
- */
464
-
465
  $tabs[] = array(
466
  'url' => add_query_arg( array( 'tab' => 'plugins' ), self::get_url() ), /* URL to the tab */
467
  'label' => esc_html__( 'Plugins', 'stops-core-theme-and-plugin-updates' ),
@@ -488,12 +615,31 @@ class MPSUM_Admin {
488
  'get' => 'advanced' /*$_GET variable*/,
489
  'action' => 'mpsum_admin_tab_advanced' /* action variable in do_action */
490
  );
 
 
 
 
 
 
 
 
491
  $tabs_count = count( $tabs );
492
  if ( $tabs && !empty( $tabs ) ) {
493
  $tab_html = '<h2 class="nav-tab-wrapper">';
494
  $active_tab = isset( $_GET[ 'tab' ] ) ? sanitize_text_field( $_GET[ 'tab' ] ) : 'general';
 
495
  if ( 'general' == $active_tab ) {
496
  $active_tab = 'general';
 
 
 
 
 
 
 
 
 
 
497
  }
498
  $do_action = false;
499
  foreach( $tabs as $tab ) {
@@ -502,10 +648,13 @@ class MPSUM_Admin {
502
  if ( $active_tab == $tab_get ) {
503
  $classes[] = 'nav-tab-active';
504
  $do_action = isset( $tab[ 'action' ] ) ? $tab[ 'action' ] : false;
 
 
 
505
  }
506
  $tab_url = isset( $tab[ 'url' ] ) ? $tab[ 'url' ] : '';
507
  $tab_label = isset( $tab[ 'label' ] ) ? $tab[ 'label' ] : '';
508
- $tab_html .= sprintf( '<a href="%s" class="%s">%s</a>', esc_url( $tab_url ), esc_attr( implode( ' ', $classes ) ), esc_html( $tab[ 'label' ] ) );
509
  }
510
  $tab_html .= '</h2>';
511
  if ( $tabs_count > 1 ) {
@@ -514,14 +663,14 @@ class MPSUM_Admin {
514
  if ( $do_action ) {
515
 
516
  /**
517
- * Perform a tab action.
518
- *
519
- * Perform a tab action.
520
- *
521
- * @since 5.0.0
522
- *
523
- * @param string $action Can be mpsum_admin_tab_main, mpsum_admin_tab_plugins, mpsum_admin_tab_themes, and mpsum_admin_tab_advanced.
524
- */
525
  do_action( $do_action );
526
  }
527
  }
@@ -550,6 +699,28 @@ class MPSUM_Admin {
550
  }
551
  }
552
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
553
  /**
554
  * Add a ratings nag to the footer.
555
  *
@@ -563,12 +734,16 @@ class MPSUM_Admin {
563
  return $text;
564
  }
565
 
 
 
 
 
566
 
567
  $text = sprintf( __( 'Thank you for creating with <a href="%s">WordPress</a>.' ), __( 'https://wordpress.org/' ) );
568
 
569
  $return = '<span id="footer-thankyou">';
570
  $return .= $text;
571
- $return .= sprintf( ' <a href="%s">%s <img src="%s" alt="Five Star Rating" /></a>', esc_url( 'https://wordpress.org/support/plugin/stops-core-theme-and-plugin-updates/reviews/#new-post' ), esc_html__( 'Please Rate Easy Updates Manager!', 'stops-core-theme-and-plugin-updates' ), esc_url( MPSUM_Updates_Manager::get_plugin_url( '/images/ratings.png' ) ) );
572
  $return .= '</span>';
573
  return $return;
574
 
128
  public function init() {
129
 
130
  // Plugin and Theme actions
131
+ if (is_multisite()) {
132
+ add_action('network_admin_menu', array($this, 'init_network_admin_menus'));
133
+ add_action('wp_before_admin_bar_render', array($this, 'add_networkadmin_page'));
134
  } else {
135
+ add_action('admin_menu', array($this, 'init_single_site_admin_menus'));
136
  }
137
+ add_action('admin_bar_menu', array($this, 'add_admin_bar'), 100);
138
+
139
+ // Disable information bar in modal popup
140
+ add_action('admin_head', array($this, 'maybe_disable_plugin_information_bar'));
141
 
142
  // Add settings link to plugins screen
143
  $prefix = is_multisite() ? 'network_admin_' : '';
153
  }
154
  new MPSUM_Admin_Core( self::get_slug() );
155
  new MPSUM_Admin_Advanced( self::get_slug() );
156
+ if (!Easy_Updates_Manager()->is_premium()) {
157
+ new MPSUM_Advanced_Premium();
158
+ }
159
 
160
  MPSUM_Admin_Screen_Options::maybe_save_dashboard_screen_option();
161
 
216
  if ( ! isset( $options[ 'themes_automatic' ] ) ) {
217
  $options[ 'themes_automatic' ] = array();
218
  }
219
+ if (!isset($options['logs'])) {
220
+ $options['logs'] = array();
221
+ }
222
+ if (!isset($options['advanced'])) {
223
+ $options['advanced'] = array();
224
+ }
225
+
226
  return $options;
227
 
228
  }
229
 
230
+ /**
231
+ * When more details modal pops up, maybe disable the footer
232
+ *
233
+ * @return void
234
+ */
235
+ public function maybe_disable_plugin_information_bar() {
236
+
237
+ // When the more details modal shows up on the plugins tab, it displays an information footer for active
238
+ // or inactive installs. It also shows when a plugin is available to update.
239
+ // This will inject styles into the modal hiding the information bar to prevent
240
+ // any kind of confusion.
241
+ if (isset($_GET['eum_action']) && 'EUM_modal' === $_GET['eum_action']) {
242
+ echo '<style>#plugin-information-footer{display:none;}</style>';
243
+ }
244
+ }
245
+
246
  /**
247
  * Enqueue scripts
248
  *
249
  * @return void
250
  */
251
  public function enqueue_scripts() {
252
+
253
+ // Get active page and active tab fore enqueuing
254
  $pagenow = isset( $_GET[ 'page' ] ) ? $_GET[ 'page' ] : false;
255
  $is_active_tab = isset( $_GET[ 'tab' ] ) ? $_GET[ 'tab' ] : false;
256
 
267
  // Get options
268
  $options = MPSUM_Updates_Manager::get_options( 'core' );
269
 
270
+ // Modal dependencies on the plugins tab
271
+ if('plugins' === $is_active_tab) {
272
+ wp_enqueue_script('plugin-install');
273
+ wp_enqueue_script('updates');
274
+ wp_enqueue_script('common');
275
+ wp_enqueue_style('common');
276
+ wp_enqueue_script('thickbox');
277
+ wp_enqueue_style('thickbox');
278
+ }
279
+
280
  wp_enqueue_script( 'jquery-blockui', MPSUM_Updates_Manager::get_plugin_url( '/js/jquery.blockUI' . $min_or_not . '.js' ), array('jquery'), EASY_UPDATES_MANAGER_VERSION, true);
281
+ wp_enqueue_script( 'jquery-serializejson', MPSUM_Updates_Manager::get_plugin_url( '/js/jquery.serializejson' . $min_or_not . '.js' ), array('jquery'), EASY_UPDATES_MANAGER_VERSION, true);
282
+ wp_enqueue_script( 'mpsum_dashboard_js', MPSUM_Updates_Manager::get_plugin_url( '/js/eum-admin' . $min_or_not .'.js' ), array( 'jquery', 'wp-ajax-response' ), EASY_UPDATES_MANAGER_VERSION, true );
283
+ wp_enqueue_script( 'mpsum_dashboard_react', MPSUM_Updates_Manager::get_plugin_url( '/js/admin' . $min_or_not . '.js' ), array( 'jquery', 'mpsum_dashboard_js' ), EASY_UPDATES_MANAGER_VERSION, true );
284
+
285
 
286
  $user_id = get_current_user_id();
287
  $dashboard_showing = get_user_meta( $user_id, 'mpsum_dashboard', true );
307
  'default' => _x( 'Default', 'Option as Default', 'stops-core-theme-and-plugin-updates' ),
308
  'on' => _x( 'On', 'Option enabled', 'stops-core-theme-and-plugin-updates' ),
309
  'off' => _x( 'Off', 'Option disabled', 'stops-core-theme-and-plugin-updates' ),
310
+ 'nothing' => __( 'Nothing', 'stops-core-theme-and-plugin-updates' ),
311
+ 'everything' => __( 'Everything', 'stops-core-theme-and-plugin-updates' ),
312
  'custom' => _x( 'Custom', 'Option allows for configuration', 'stops-core-theme-and-plugin-updates' ),
313
  'automatic_updates_default_status' => __( 'You have selected default. WordPress will behave as if this plugin is not installed for automatic updates.', 'stops-core-theme-and-plugin-updates' ),
314
+ 'automatic_updates_on_status' => __( 'Automatic updates are on for everything.', 'stops-core-theme-and-plugin-updates' ),
315
+ 'automatic_updates_off_status' => __( 'Automatic updates are off for everything.', 'stops-core-theme-and-plugin-updates', 'stops-core-theme-and-plugin-updates' ),
316
  'automatic_updates_custom_status' => __( 'You have selected to customize the updates below.', 'stops-core-theme-and-plugin-updates' ),
317
+ 'automatic_updates' => __( 'Automatic updates', 'stops-core-theme-and-plugin-updates' ),
318
+ 'automatic_updates_description' => __( 'These options will enable or disable automatic updates (background updates) of certain parts of WordPress. Select Custom for more flexibility. Leave as Default to allow WordPress to decide (currently that means automatic updates for minor releases of WordPress core, and no others).', 'stops-core-theme-and-plugin-updates' ),
319
+ 'major_releases' => __( 'Major WordPress Releases', 'stops-core-theme-and-plugin-updates' ),
320
+ 'major_releases_description' => __( 'Automatically update to new major releases of WordPress (e.g., 4.1, 4.2, 4.3).', 'stops-core-theme-and-plugin-updates' ),
321
  'major_releases_label_on' => __( 'Enable Major Releases', 'stops-core-theme-and-plugin-updates' ),
322
  'major_releases_label_on_status' => __( 'Automatic major release updates are now turned on.', 'stops-core-theme-and-plugin-updates' ),
323
  'major_releases_label_off' => __( 'Disable Major Releases', 'stops-core-theme-and-plugin-updates' ),
324
  'major_releases_label_off_status' => __( 'Automatic major release updates are now turned off.', 'stops-core-theme-and-plugin-updates' ),
325
+ 'minor_releases' => _x( 'Minor WordPress Releases', 'Minor point releases for WordPress', 'stops-core-theme-and-plugin-updates' ),
326
+ 'minor_releases_description' => __( 'Automatically update to new minor releases in your current series (e.g., 4.1.1, 4.1.2, 4.1.3).', 'stops-core-theme-and-plugin-updates' ),
327
  'minor_releases_label_on' => __( 'Enable Minor Releases', 'stops-core-theme-and-plugin-updates' ),
328
  'minor_releases_label_on_status' => __( 'Automatic minor release updates are now turned on.', 'stops-core-theme-and-plugin-updates' ),
329
  'minor_releases_label_off' => __( 'Disable Minor Releases', 'stops-core-theme-and-plugin-updates' ),
330
  'minor_releases_label_off_status' => __( 'Automatic minor release updates are now turned off.', 'stops-core-theme-and-plugin-updates' ),
331
+ 'development_releases' => _x( 'Development Updates (Core)', 'Beta and RC releases for WordPress core', 'stops-core-theme-and-plugin-updates' ),
332
+ 'development_releases_description' => __( 'Allow your install to receive development updates for WordPress core (for advanced users only)', 'stops-core-theme-and-plugin-updates' ),
333
+ 'development_releases_label_on' => __( 'Enable WordPress Development Updates', 'stops-core-theme-and-plugin-updates' ),
334
  'development_releases_label_on_status' => __( 'Automatic development release updates are now turned on.', 'stops-core-theme-and-plugin-updates' ),
335
  'development_releases_label_off' => __( 'Disable Development Updates', 'stops-core-theme-and-plugin-updates' ),
336
  'development_releases_label_off_status' => __( 'Automatic development release updates are now turned off.', 'stops-core-theme-and-plugin-updates' ),
353
  'automatic_theme_updates_on_status' => __( 'Automatic updates for themes are now on.', 'stops-core-theme-and-plugin-updates' ),
354
  'automatic_theme_updates_off_status' => __( 'Automatic updates for themes are now off.', 'stops-core-theme-and-plugin-updates' ),
355
  'automatic_theme_updates_individual_status' => __( 'Automatic updates for themes can be customized in the Themes tab.', 'stops-core-theme-and-plugin-updates' ),
356
+ 'disable_updates' => __( 'Disable all updates', 'stops-core-theme-and-plugin-updates' ),
357
  'disable_updates_description' => __( 'This is a master switch and will enable or disable updates for the WordPress installation. Switching updates off is not recommended.', 'stops-core-theme-and-plugin-updates' ),
358
+ 'disable_updates_label_on' => __( 'Enable All Updates', 'stops-core-theme-and-plugin-updates' ),
359
  'disable_updates_label_on_status' => __( 'All updates are allowed, however, you still need to configure the updates below.', 'stops-core-theme-and-plugin-updates' ),
360
+ 'disable_updates_label_off' => __( 'Disable All Updates', 'stops-core-theme-and-plugin-updates' ),
361
+ 'disable_updates_label_off_status' => __( 'All updates are disabled. Individual updates settings (i.e. for automatic updates and for plugin/theme/translation updates) below will be ignored.', 'stops-core-theme-and-plugin-updates' ),
362
  'logs' => _x( 'Logs', 'Log what is stored when assets update', 'stops-core-theme-and-plugin-updates' ),
363
  'logs_description' => __( 'Logs will show you what assets have updated and will show up in the Logs tab.', 'stops-core-theme-and-plugin-updates' ),
364
+ 'logs_url' => sprintf('<a href="%s" class="%s" id="%s">%s</a>', esc_url(add_query_arg(array('tab' => 'logs'), MPSUM_Admin::get_url())), 'nav-tab', 'eum-logs', esc_html__('Logs', 'stops-core-theme-and-plugin-updates')),
365
  'logs_label_on' => __( 'Enable Logs', 'stops-core-theme-and-plugin-updates' ),
366
  'logs_label_on_status' => __( 'Logs are enabled. You will find Logs in the Logs tab.', 'stops-core-theme-and-plugin-updates' ),
367
  'logs_label_off' => __( 'Disable Logs', 'stops-core-theme-and-plugin-updates' ),
368
  'logs_label_off_status' => __( 'Logs are disabled.', 'stops-core-theme-and-plugin-updates' ),
369
+ 'browser_nag' => _x( 'Browser nag', 'WordPress shows a warning for older browsers', 'stops-core-theme-and-plugin-updates' ),
370
+ 'browser_nag_description' => __( 'Enables or disables the browser nag in the dashboard for logged-in users using older browsers.', 'stops-core-theme-and-plugin-updates' ),
371
  'browser_nag_label_on' => __( 'Enable the Browser Nag', 'stops-core-theme-and-plugin-updates' ),
372
  'browser_nag_label_on_status' => __( 'The Browser Nag for older browsers is on.', 'stops-core-theme-and-plugin-updates' ),
373
  'browser_nag_label_off' => __( 'Disable the Browser Nag', 'stops-core-theme-and-plugin-updates' ),
374
  'browser_nag_label_off_status' => __( 'The Browser Nag for older browsers is off.', 'stops-core-theme-and-plugin-updates' ),
375
+ 'version_footer' => __( 'WordPress version in the dashboard footer', 'stops-core-theme-and-plugin-updates' ),
376
+ 'version_footer_description' => __( 'Enables or disables the WordPress version from showing in the footer of the dashboard.', 'stops-core-theme-and-plugin-updates' ),
377
  'version_footer_label_on' => __( 'Enable the Version in the Footer', 'stops-core-theme-and-plugin-updates' ),
378
  'version_footer_label_on_status' => __( 'Showing the WordPress version in the footer is on.', 'stops-core-theme-and-plugin-updates' ),
379
  'version_footer_label_off_status' => __( 'Showing the WordPress version in the footer is off.', 'stops-core-theme-and-plugin-updates' ),
380
  'version_footer_label_off' => __( 'Disable the Version in the Footer', 'stops-core-theme-and-plugin-updates' ),
381
+ 'emails' => __( 'Core notification e-mails', 'stops-core-theme-and-plugin-updates' ),
382
+ 'emails_description' => __( 'WordPress periodically sends update notification e-mails, such as in the case of automatic updates. By default, the email address used is the one in Settings->General, but you can override this below.', 'stops-core-theme-and-plugin-updates' ),
383
  'emails_label_on' => __( 'Enable Core Notification E-mails', 'stops-core-theme-and-plugin-updates' ),
384
  'emails_label_on_status' => __( 'E-mail notifications are on. You can configure which e-mail addresses are sent to below.', 'stops-core-theme-and-plugin-updates' ),
385
  'emails_label_off' => __( 'Disable Core Notification E-mails', 'stops-core-theme-and-plugin-updates' ),
386
  'emails_label_off_status' => __( 'E-mail notifications are off', 'stops-core-theme-and-plugin-updates' ),
387
  'emails_placeholder' => __( 'Add an e-mail address', 'stops-core-theme-and-plugin-updates' ),
388
+ 'emails_input_label' => __( 'Enter comma-separated e-mail addresses', 'stops-core-theme-and-plugin-updates' ),
389
  'emails_invalid' => __( 'One or more e-mail addresses are invalid.', 'stops-core-theme-and-plugin-updates' ),
390
+ 'emails_saveed' => __( 'Your email address settings have been successfully saved.', 'stops-core-theme-and-plugin-updates' ),
391
  'emails_save' => __( 'Save E-mail Addresses', 'stops-core-theme-and-plugin-updates' ),
392
  'emails_save_empty' => __( 'Please enter an e-mail address', 'stops-core-theme-and-plugin-updates' ),
393
+ 'emails_saving' => __( 'Saving...', 'stops-core-theme-and-plugin-updates' ),
394
+ 'core_updates' => __( 'WordPress core updates', 'stops-core-theme-and-plugin-updates' ),
395
  'core_updates_description' => __( 'This allows you to disable or enable all core updates, including automatic updates.', 'stops-core-theme-and-plugin-updates' ),
396
+ 'core_updates_label_on' => __( 'Enable Core Updates', 'stops-core-theme-and-plugin-updates' ),
397
  'core_updates_label_on_status' => __( 'Core updates are enabled.', 'stops-core-theme-and-plugin-updates' ),
398
+ 'core_updates_label_off' => __( 'Disable Core Updates', 'stops-core-theme-and-plugin-updates' ),
399
  'core_updates_label_off_status' => __( 'Core updates are disabled.', 'stops-core-theme-and-plugin-updates' ),
400
+ 'plugin_updates' => __( 'Plugin updates', 'stops-core-theme-and-plugin-updates' ),
401
  'plugin_updates_description' => __( 'This allows you to disable or enable all plugin updates. Disabling this option will also disable automatic updates.', 'stops-core-theme-and-plugin-updates' ),
402
+ 'plugin_updates_label_on' => __( 'Enable Plugin Updates', 'stops-core-theme-and-plugin-updates' ),
403
  'plugin_updates_label_on_status' => __( 'Plugin updates are enabled.', 'stops-core-theme-and-plugin-updates' ),
404
+ 'plugin_updates_label_off' => __( 'Disable Plugin Updates', 'stops-core-theme-and-plugin-updates' ),
405
  'plugin_updates_label_off_status' => __( 'Plugin updates are disabled.', 'stops-core-theme-and-plugin-updates' ),
406
+ 'theme_updates' => __( 'Theme updates', 'stops-core-theme-and-plugin-updates' ),
407
  'theme_updates_description' => __( 'This allows you to disable or enable all theme updates. Disabling this option will also disable automatic updates.', 'stops-core-theme-and-plugin-updates' ),
408
+ 'theme_updates_label_on' => __( 'Enable Theme Updates', 'stops-core-theme-and-plugin-updates' ),
409
  'theme_updates_label_on_status' => __( 'Theme updates are enabled.', 'stops-core-theme-and-plugin-updates' ),
410
+ 'theme_updates_label_off' => __( 'Disable Theme Updates', 'stops-core-theme-and-plugin-updates' ),
411
  'theme_updates_label_off_status' => __( 'Theme updates are disabled.', 'stops-core-theme-and-plugin-updates' ),
412
+ 'translation_updates' => __( 'Translation Updates', 'stops-core-theme-and-plugin-updates' ),
413
  'translation_updates_description' => __( 'This allows you to disable or enable all translations. Disabling this option will also disable automatic translation updates.', 'stops-core-theme-and-plugin-updates' ),
414
+ 'translation_updates_label_on' => __( 'Enable Translation Updates', 'stops-core-theme-and-plugin-updates' ),
415
  'translation_updates_label_on_status' => __( 'Translation updates are enabled.', 'stops-core-theme-and-plugin-updates' ),
416
+ 'translation_updates_label_off' => __( 'Disable Translation Updates', 'stops-core-theme-and-plugin-updates' ),
417
  'translation_updates_label_off_status' => __( 'Translation updates are disabled.', 'stops-core-theme-and-plugin-updates' ),
418
+ 'general_section_title_updates_settings' => __( 'Updates settings', 'stops-core-theme-and-plugin-updates' ),
419
+ 'general_section_title_notifications' => __( 'Notifications / logs', 'stops-core-theme-and-plugin-updates' ),
420
+ 'general_section_title_others' => __( 'Others', 'stops-core-theme-and-plugin-updates' ),
421
  );
422
 
423
  wp_localize_script( 'mpsum_dashboard_react', 'mpsum', apply_filters('eum_i18n', array(
424
+ 'spinner' => MPSUM_Updates_Manager::get_plugin_url( '/images/spinner.gif' ),
425
+ 'tabs' => _x( 'Tabs', 'Show or hide admin tabs', 'stops-core-theme-and-plugin-updates' ),
426
+ 'dashboard' => _x( 'Show Dashboard', 'Show or hide the dashboard', 'stops-core-theme-and-plugin-updates' ),
427
+ 'dashboard_showing' => $dashboard_showing,
428
+ 'enabled' => __( 'Enabled', 'stops-core-theme-and-plugin-updates' ),
429
+ 'disabled' => __( 'Disabled', 'stops-core-theme-and-plugin-updates' ),
430
+ 'admin_nonce' => wp_create_nonce( 'mpsum_options_save' ),
431
+ 'eum_nonce' => wp_create_nonce( 'eum_nonce' ),
432
+ 'ajax_url' => admin_url( 'admin-ajax.php' ),
 
 
 
 
 
 
 
433
  'unexpected_response' => __( 'Unexpected response:', 'stops-core-theme-and-plugin-updates' ),
434
+ 'I18N' => $I18N,
435
+ 'saving' => __( 'Saving...', 'stops-core-theme-and-plugin-updates' ),
436
+ 'working' => __( 'Working...', 'stops-core-theme-and-plugin-updates' ),
437
+ 'logo' => MPSUM_Updates_Manager::get_plugin_url('/images/site_icon.png'),
438
+ 'is_premium' => MPSUM_Updates_Manager::get_instance()->is_premium() ? 'true' : 'false',
439
+ 'is_debug' => (defined('WP_DEBUG') && true === WP_DEBUG) ? 'true' : 'false',
440
+ )));
441
  wp_enqueue_style( 'mpsum_dashboard', MPSUM_Updates_Manager::get_plugin_url( '/css/style.css' ), array(), EASY_UPDATES_MANAGER_VERSION );
442
  }
443
 
444
  /**
445
+ * Add the "Easy Updates Manager" menu.
446
+ *
447
+ * @since 8.0.1
448
+ *
449
+ * @param WP_Admin_Bar $wp_admin_bar WordPress Admin bar Instance
450
+ */
451
+ public function add_admin_bar($wp_admin_bar) {
452
+
453
+ if (defined('EASY_UPDATES_MANAGER_ADMIN_BAR') && !EASY_UPDATES_MANAGER_ADMIN_BAR) return;
454
+
455
+ // Check for valid permissions
456
+ if (is_multisite() && !current_user_can('manage_network')) {
457
+ return;
458
+ }
459
+ if (!is_multisite() && !current_user_can('update_plugins')) {
460
+ return;
461
+ }
462
+
463
+ // Get core options
464
+ $options = MPSUM_Updates_Manager::get_options('core');
465
+
466
+ // Check to see if logs are enabled
467
+ $is_logs_enabled = isset($options['logs']) ? $options['logs'] : 'off';
468
+
469
+ // Add parent menu
470
+ $wp_admin_bar->add_menu(array(
471
+ 'id' => 'easy-updates-manager-admin-bar',
472
+ 'title' => __('Updates', 'stops-core-theme-and-plugin-updates'),
473
+ 'href' => self::get_url(),
474
+ ));
475
+
476
+ // Add General Tab
477
+ $wp_admin_bar->add_menu(array(
478
+ 'id' => 'easy-updates-manager-admin-bar-general',
479
+ 'title' => __('General', 'stops-core-theme-and-plugin-updates'),
480
+ 'href' => add_query_arg(array('tab' => 'general'), self::get_url()),
481
+ 'parent' => 'easy-updates-manager-admin-bar'
482
+ ));
483
+
484
+ // Add plugins tab
485
+ $wp_admin_bar->add_menu(array(
486
+ 'id' => 'easy-updates-manager-admin-bar-plugins',
487
+ 'title' => __('Plugins', 'stops-core-theme-and-plugin-updates'),
488
+ 'href' => add_query_arg(array('tab' => 'plugins'), self::get_url()),
489
+ 'parent' => 'easy-updates-manager-admin-bar'
490
+ ));
491
+
492
+ // Add Themes tab
493
+ $wp_admin_bar->add_menu(array(
494
+ 'id' => 'easy-updates-manager-admin-bar-themes',
495
+ 'title' => __('Themes', 'stops-core-theme-and-plugin-updates'),
496
+ 'href' => add_query_arg(array('tab' => 'themes'), self::get_url()),
497
+ 'parent' => 'easy-updates-manager-admin-bar'
498
+ ));
499
+
500
+ // Add logs tab
501
+ if('on' === $is_logs_enabled) {
502
+ // Add Themes tab
503
+ $wp_admin_bar->add_menu(array(
504
+ 'id' => 'easy-updates-manager-admin-bar-logs',
505
+ 'title' => __('Logs', 'stops-core-theme-and-plugin-updates'),
506
+ 'href' => add_query_arg(array('tab' => 'logs'), self::get_url()),
507
+ 'parent' => 'easy-updates-manager-admin-bar'
508
+ ));
509
+ }
510
+
511
+ $wp_admin_bar->add_menu(array(
512
+ 'id' => 'easy-updates-manager-admin-bar-advanced',
513
+ 'title' => __('Advanced', 'stops-core-theme-and-plugin-updates'),
514
+ 'href' => add_query_arg(array('tab' => 'advanced'), self::get_url()),
515
+ 'parent' => 'easy-updates-manager-admin-bar'
516
+ ));
517
+
518
+ if (!MPSUM_Updates_Manager::get_instance()->is_premium()) {
519
+ $wp_admin_bar->add_menu(array(
520
+ 'id' => 'easy-updates-manager-admin-bar-premium',
521
+ 'title' => __('Premium', 'stops-core-theme-and-plugin-updates'),
522
+ 'href' => add_query_arg(array('tab' => 'premium'), self::get_url()),
523
+ 'parent' => 'easy-updates-manager-admin-bar'
524
+ ));
525
+ }
526
+
527
+ }
528
+
529
+ /**
530
+ * Adds a sub-menu page for multisite.
531
+ *
532
+ * Adds a sub-menu page for multisite.
533
+ *
534
+ * @since 5.0.0
535
+ * @access public
536
+ * @see init
537
+ * @internal Uses network_admin_menu action
538
+ */
539
  public function init_network_admin_menus() {
540
+ $hook = add_dashboard_page( __( 'Updates Options', 'stops-core-theme-and-plugin-updates' ) , __( 'Updates Options', 'stops-core-theme-and-plugin-updates' ), 'manage_options', self::get_slug(), array( $this, 'output_admin_interface' ) );
541
  add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
542
  add_action( "load-$hook", array( $this, 'init_help_screen' ) );
543
  add_action( "load-$hook", array( $this, 'init_screen_options' ) );
544
  }
545
 
546
  /**
547
+ * Adds a sub-menu page for single-site.
548
+ *
549
+ * Adds a sub-menu page for single-site.
550
+ *
551
+ * @since 5.0.0
552
+ * @access public
553
+ * @see init
554
+ * @internal Uses admin_menu action
555
+ */
556
  public function init_single_site_admin_menus() {
557
+ $hook = add_dashboard_page( __( 'Updates Options', 'stops-core-theme-and-plugin-updates' ) , __( 'Updates Options', 'stops-core-theme-and-plugin-updates' ), 'manage_options', self::get_slug(), array( $this, 'output_admin_interface' ) );
558
  add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
559
  add_action( "load-$hook", array( $this, 'init_help_screen' ) );
560
  add_action( "load-$hook", array( $this, 'init_screen_options' ) );
572
  public function output_admin_interface() {
573
  ?>
574
  <div class="wrap">
575
+ <h1 id="eum-main-heading">
576
+ <?php
577
+ $eum_white_label = MPSUM_Updates_Manager::get_instance()->is_premium() ? get_site_option('easy_updates_manager_name', __('Easy Updates Manager Premium', 'stops-core-theme-and-plugin-updates')) : get_site_option('easy_updates_manager_name', __('Easy Updates Manager', 'stops-core-theme-and-plugin-updates'));
578
+ echo esc_html($eum_white_label);
579
+ ?>
580
  </h1>
581
  <?php
582
  $core_options = MPSUM_Updates_Manager::get_options( 'core' );
589
  'action' => 'mpsum_admin_tab_dashboard' /* action variable in do_action */
590
  );
591
 
 
 
 
 
 
 
 
 
 
592
  $tabs[] = array(
593
  'url' => add_query_arg( array( 'tab' => 'plugins' ), self::get_url() ), /* URL to the tab */
594
  'label' => esc_html__( 'Plugins', 'stops-core-theme-and-plugin-updates' ),
615
  'get' => 'advanced' /*$_GET variable*/,
616
  'action' => 'mpsum_admin_tab_advanced' /* action variable in do_action */
617
  );
618
+ if (!Easy_Updates_Manager()->is_premium()) {
619
+ $tabs[] = array(
620
+ 'url' => add_query_arg( array( 'tab' => 'premium' ), self::get_url() ), /* URL to the tab */
621
+ 'label' => esc_html__( 'Premium', 'stops-core-theme-and-plugin-updates' ),
622
+ 'get' => 'premium' /*$_GET variable*/,
623
+ 'action' => 'mpsum_admin_tab_premium' /* action variable in do_action */
624
+ );
625
+ }
626
  $tabs_count = count( $tabs );
627
  if ( $tabs && !empty( $tabs ) ) {
628
  $tab_html = '<h2 class="nav-tab-wrapper">';
629
  $active_tab = isset( $_GET[ 'tab' ] ) ? sanitize_text_field( $_GET[ 'tab' ] ) : 'general';
630
+ $is_tab_match = false;
631
  if ( 'general' == $active_tab ) {
632
  $active_tab = 'general';
633
+ } else {
634
+ foreach( $tabs as $tab ) {
635
+ $tab_get = isset($tab['get']) ? $tab['get'] : '';
636
+ if ($active_tab === $tab_get) {
637
+ $is_tab_match = true;
638
+ }
639
+ }
640
+ if(!$is_tab_match) {
641
+ $active_tab = 'general';
642
+ }
643
  }
644
  $do_action = false;
645
  foreach( $tabs as $tab ) {
648
  if ( $active_tab == $tab_get ) {
649
  $classes[] = 'nav-tab-active';
650
  $do_action = isset( $tab[ 'action' ] ) ? $tab[ 'action' ] : false;
651
+ } elseif(!$is_tab_match && 'general' === $tab_get) {
652
+ $classes[] = 'nav-tab-active';
653
+ $do_action = isset($tab['action']) ? $tab['action'] : false;
654
  }
655
  $tab_url = isset( $tab[ 'url' ] ) ? $tab[ 'url' ] : '';
656
  $tab_label = isset( $tab[ 'label' ] ) ? $tab[ 'label' ] : '';
657
+ $tab_html .= sprintf( '<a href="%s" class="%s" id="eum-%s">%s</a>', esc_url( $tab_url ), esc_attr( implode( ' ', $classes ) ), esc_attr( $tab_get ), esc_html( $tab[ 'label' ] ) );
658
  }
659
  $tab_html .= '</h2>';
660
  if ( $tabs_count > 1 ) {
663
  if ( $do_action ) {
664
 
665
  /**
666
+ * Perform a tab action.
667
+ *
668
+ * Perform a tab action.
669
+ *
670
+ * @since 5.0.0
671
+ *
672
+ * @param string $action Can be mpsum_admin_tab_main, mpsum_admin_tab_plugins, mpsum_admin_tab_themes, and mpsum_admin_tab_advanced.
673
+ */
674
  do_action( $do_action );
675
  }
676
  }
699
  }
700
  }
701
 
702
+ /**
703
+ * Adds Easy Updates Manager option to the admin bar
704
+ *
705
+ * @since 8.0.1
706
+ * @access public
707
+ * @see init
708
+ */
709
+ public function add_networkadmin_page() {
710
+ global $wp_admin_bar;
711
+
712
+ if (!is_object($wp_admin_bar) || !is_super_admin() || !function_exists('is_admin_bar_showing') || !is_admin_bar_showing()) {
713
+ return;
714
+ }
715
+
716
+ $wp_admin_bar->add_node(array(
717
+ 'parent' => 'network-admin',
718
+ 'id' => 'eum-admin-settings',
719
+ 'title' => __('Easy Updates Manager', 'stops-core-theme-and-plugin-updates'),
720
+ 'href' => self::get_url()
721
+ ));
722
+ }
723
+
724
  /**
725
  * Add a ratings nag to the footer.
726
  *
734
  return $text;
735
  }
736
 
737
+ $enable_notices = get_site_option('easy_updates_manager_enable_notices', 'on');
738
+ if ('off' === $enable_notices && MPSUM_Updates_Manager::get_instance()->is_premium()) {
739
+ return $text;
740
+ }
741
 
742
  $text = sprintf( __( 'Thank you for creating with <a href="%s">WordPress</a>.' ), __( 'https://wordpress.org/' ) );
743
 
744
  $return = '<span id="footer-thankyou">';
745
  $return .= $text;
746
+ $return .= sprintf( ' <a href="%s">%s <img src="%s" alt="Five Star Rating" /></a>', esc_url( 'https://wordpress.org/support/plugin/stops-core-theme-and-plugin-updates/reviews/#new-post' ), esc_html__( 'Please rate Easy Updates Manager!', 'stops-core-theme-and-plugin-updates' ), esc_url( MPSUM_Updates_Manager::get_plugin_url( '/images/ratings.png' ) ) );
747
  $return .= '</span>';
748
  return $return;
749
 
includes/MPSUM_Admin_Advanced.php CHANGED
@@ -38,6 +38,9 @@ class MPSUM_Admin_Advanced {
38
  public function __construct( $slug = '' ) {
39
  $this->slug = $slug;
40
  // Admin Tab Actions
 
 
 
41
  add_action( 'mpsum_admin_tab_advanced', array( $this, 'tab_output' ) );
42
  }
43
 
@@ -52,69 +55,6 @@ class MPSUM_Admin_Advanced {
52
  * @internal Uses the mpsum_admin_tab_main action
53
  */
54
  public function tab_output() {
55
- ?>
56
- <div id="result"></div>
57
- <h3><?php esc_html_e( 'Exclude Users', 'stops-core-theme-and-plugin-updates' ); ?></h3>
58
- <p><?php esc_html_e( 'Select which users to be excluded from the settings of this plugin. Default WordPress behavior will be used.', 'stops-core-theme-and-plugin-updates' ); ?></p>
59
- <p><?php esc_html_e( 'This option is useful if, for example, you would like to disable updates, but have a user account that can still update WordPress.', 'stops-core-theme-and-plugin-updates' ); ?></p>
60
- <table class="form-table">
61
- <tr>
62
- <th scope="row"><?php esc_html_e( 'Users to be Excluded', 'stops-core-theme-and-plugin-updates' ); ?></th>
63
- <td>
64
- <?php
65
- // Code from wp-admin/includes/class-wp-ms-users-list-table
66
- $users = array();
67
- if ( is_multisite() ) {
68
- global $wpdb;
69
- $logins = implode( "', '", get_super_admins() );
70
- $users = $wpdb->get_col( "SELECT ID FROM $wpdb->users WHERE user_login IN ('$logins') GROUP BY user_login" );
71
-
72
- } else {
73
- /**
74
- * Determine which role gets queried for admin users.
75
- *
76
- * Determine which role gets queried for admin users.
77
- *
78
- * @since 5.0.0
79
- *
80
- * @param string $var administrator.
81
- */
82
- $role = apply_filters( 'mpsum_admin_role', 'administrator' );
83
- $users = get_users( array( 'role' => $role, 'orderby' => 'display_name', 'order' => 'ASC', 'fields' => 'ID' ) );
84
- }
85
- if ( is_array( $users ) && !empty( $users ) ) {
86
- echo '<input type="hidden" value="0" name="mpsum_excluded_users[]" />';
87
- $excluded_users = MPSUM_Updates_Manager::get_options( 'excluded_users' );
88
- foreach( $users as $index => $user_id ) {
89
- $user = get_userdata( $user_id );
90
- $disabled = get_current_user_id() === absint($user_id) ? 'disabled="true"' : '';
91
- printf( '<input type="checkbox" name="mpsum_excluded_users[]" id="mpsum_user_%1$d" value="%1$d" %3$s %4$s />&nbsp;<label for="mpsum_user_%1$d">%2$s</label><br />', esc_attr( $user_id ), esc_html( $user->display_name ), checked( true, in_array( $user_id, $excluded_users ), false ), $disabled );
92
- }
93
- }
94
- ?>
95
- </td>
96
- </tr>
97
- </table>
98
- <?php submit_button( __( 'Save Users', 'stops-core-theme-and-plugin-updates' ) , 'primary', 'submit', true, array('id' => 'save-excluded-users') ); ?>
99
- <?php do_action( 'eum-advanced' ); ?>
100
- <h3><?php esc_html_e( 'Force Automatic Updates', 'stops-core-theme-and-plugin-updates' ); ?></h3>
101
- <?php
102
- if ( defined( 'AUTOMATIC_UPDATER_DISABLED' ) && true == AUTOMATIC_UPDATER_DISABLED ) {
103
- ?>
104
- <div class="mpsum-error"><p><strong><?php esc_html_e( 'Automatic updates are disabled. Please check your wp-config.php file for AUTOMATIC_UPDATER_DISABLED and remove the line.' ); ?> </strong></p></div>
105
- <?php
106
- }
107
- if ( defined( 'WP_AUTO_UPDATE_CORE' ) && false == WP_AUTO_UPDATE_CORE ) {
108
- ?>
109
- <div class="mpsum-error"><p><strong><?php esc_html_e( 'Automatic updates for Core are disabled. Please check your wp-config.php file for WP_AUTO_UPDATE_CORE and remove the line.' ); ?> </strong></p></div>
110
- <?php
111
- }
112
- ?>
113
- <p><?php esc_html_e( 'This will attempt to force automatic updates. This is useful for debugging.', 'stops-core-theme-and-plugin-updates' ); ?></p>
114
- <?php submit_button( __( 'Force Updates', 'stops-core-theme-and-plugin-updates' ) , 'primary', 'submit', true, array('id' => 'force-updates') ); ?>
115
- <h3><?php esc_html_e( 'Reset Options', 'stops-core-theme-and-plugin-updates' ); ?></h3>
116
- <p><?php esc_html_e( 'This will reset all options to as if you have just installed the plugin. WARNING!: This also disables and clears the logs.', 'stops-core-theme-and-plugin-updates' ); ?></p>
117
- <?php submit_button( __( 'Reset All Options', 'stops-core-theme-and-plugin-updates' ) , 'primary', 'submit', true, array('id' => 'reset-options') ); ?>
118
- <?php
119
  } //end tab_output
120
  }
38
  public function __construct( $slug = '' ) {
39
  $this->slug = $slug;
40
  // Admin Tab Actions
41
+ MPSUM_Exclude_Users::get_instance();
42
+ MPSUM_Force_Updates::get_instance();
43
+ MPSUM_Reset_Options::get_instance();
44
  add_action( 'mpsum_admin_tab_advanced', array( $this, 'tab_output' ) );
45
  }
46
 
55
  * @internal Uses the mpsum_admin_tab_main action
56
  */
57
  public function tab_output() {
58
+ Easy_Updates_Manager()->include_template('admin-tab-advanced.php');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
59
  } //end tab_output
60
  }
includes/MPSUM_Admin_Ajax.php CHANGED
@@ -19,14 +19,15 @@ class MPSUM_Admin_Ajax {
19
  private static $instance = null;
20
 
21
  /**
22
- * Set a class instance.
23
- *
24
- * @access static
25
- */
26
- public static function run() {
27
  if ( null == self::$instance ) {
28
  self::$instance = new self;
29
  }
 
30
  }
31
 
32
  /**
@@ -52,7 +53,7 @@ class MPSUM_Admin_Ajax {
52
  * Updates themes tab
53
  */
54
  public function update_themes_tab() {
55
- $this->render_themes_tab();
56
  }
57
 
58
  /**
@@ -92,7 +93,7 @@ class MPSUM_Admin_Ajax {
92
  */
93
  public function axios_ajax_handler() {
94
 
95
- if (!current_user_can('install_plugins')) return;
96
 
97
  parse_str(file_get_contents('php://input'), $data);
98
  $sub_action = isset($data['sub_action']) ? $data['sub_action']: 'get_core_options';
@@ -120,7 +121,6 @@ class MPSUM_Admin_Ajax {
120
  */
121
  public function ajax_handler() {
122
 
123
- if (!current_user_can('activate_plugins')) return;
124
  if (empty($_REQUEST)) return;
125
 
126
  extract($_REQUEST);
@@ -192,7 +192,10 @@ class MPSUM_Admin_Ajax {
192
  $options = MPSUM_Updates_Manager::get_options( 'core', true );
193
  if ( empty( $options ) ) {
194
  $options = MPSUM_Admin_Core::get_defaults();
 
 
195
  }
 
196
 
197
  $id = sanitize_text_field( $id );
198
  $value = sanitize_text_field( $value );
@@ -306,7 +309,6 @@ class MPSUM_Admin_Ajax {
306
  $options[ 'logs' ] = 'on';
307
  } else {
308
  MPSUM_Logs::drop();
309
- update_site_option( 'mpsum_log_table_version', 0 );
310
  $options[ 'logs' ] = 'off';
311
  }
312
  break;
@@ -314,7 +316,6 @@ class MPSUM_Admin_Ajax {
314
  if( 'on' == $value ) {
315
  $options[ 'core_updates' ] = 'on';
316
  } else {
317
- MPSUM_Logs::drop();
318
  $options[ 'core_updates' ] = 'off';
319
  }
320
  break;
@@ -322,7 +323,6 @@ class MPSUM_Admin_Ajax {
322
  if( 'on' == $value ) {
323
  $options[ 'plugin_updates' ] = 'on';
324
  } else {
325
- MPSUM_Logs::drop();
326
  $options[ 'plugin_updates' ] = 'off';
327
  }
328
  break;
@@ -330,7 +330,6 @@ class MPSUM_Admin_Ajax {
330
  if( 'on' == $value ) {
331
  $options[ 'theme_updates' ] = 'on';
332
  } else {
333
- MPSUM_Logs::drop();
334
  $options[ 'theme_updates' ] = 'off';
335
  }
336
  break;
@@ -338,7 +337,6 @@ class MPSUM_Admin_Ajax {
338
  if( 'on' == $value ) {
339
  $options[ 'translation_updates' ] = 'on';
340
  } else {
341
- MPSUM_Logs::drop();
342
  $options[ 'translation_updates' ] = 'off';
343
  }
344
  break;
@@ -383,6 +381,29 @@ class MPSUM_Admin_Ajax {
383
  $options[ 'email_addresses' ] = $emails;
384
  }
385
  break;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
386
  }
387
  // Save options
388
  MPSUM_Updates_Manager::update_options( $options, 'core' );
@@ -395,7 +416,7 @@ class MPSUM_Admin_Ajax {
395
  if ( is_array( $options[ 'email_addresses' ] ) ) {
396
  $options[ 'email_addresses' ] = implode( ',', $options[ 'email_addresses' ] );
397
  } else {
398
- $options[ 'email_addresses' ] = array();
399
  }
400
 
401
 
@@ -404,10 +425,20 @@ class MPSUM_Admin_Ajax {
404
  $options[ 'automatic_updates' ] = 'default';
405
  }
406
 
 
 
 
 
 
407
  // Add error to options for returning
408
  if ( $email_errors ) {
409
- $options[ 'errors' ] = true;
410
- $options[ 'email_addresses' ] = $value;
 
 
 
 
 
411
  }
412
  return $options;
413
  }
@@ -423,6 +454,8 @@ class MPSUM_Admin_Ajax {
423
  $options = MPSUM_Updates_Manager::get_options( 'core', true );
424
  if ( empty( $options ) ) {
425
  $options = MPSUM_Admin_Core::get_defaults();
 
 
426
  }
427
 
428
  // Set automatic updates defaults if none is selected
@@ -441,7 +474,12 @@ class MPSUM_Admin_Ajax {
441
  }
442
  }
443
 
444
- if ( ! is_array( $options[ 'email_addresses' ] ) ) {
 
 
 
 
 
445
  $options[ 'email_addresses' ] = array();
446
  }
447
  $options[ 'email_addresses' ] = implode( ',', $options[ 'email_addresses' ] );
@@ -454,14 +492,20 @@ class MPSUM_Admin_Ajax {
454
  * Save the plugin options based on the passed data.
455
  *
456
  * @param string $data Action to take action on
457
- *
458
- * @return array Array of plugin update options
459
  */
460
- public function save_plugins_update_options( $data ) {
461
-
462
  if ( !current_user_can( 'update_plugins' ) ) return;
463
-
464
  parse_str($data, $updated_options);
 
 
 
 
 
 
 
 
 
 
465
  $plugins = isset( $updated_options['plugins'] ) ? (array) $updated_options['plugins'] : array();
466
  $plugins_automatic = isset( $updated_options['plugins_automatic'] ) ? (array) $updated_options['plugins_automatic'] : array();
467
  $plugin_options = MPSUM_Updates_Manager::get_options( 'plugins' );
@@ -493,9 +537,7 @@ class MPSUM_Admin_Ajax {
493
  }
494
  }
495
 
496
- $options = $this->plugins_update_all_options($plugin_options, $plugin_automatic_options);
497
- $this->render_plugins_tab();
498
- return $options;
499
  }
500
 
501
  /**
@@ -504,11 +546,19 @@ class MPSUM_Admin_Ajax {
504
  * @since 7.0.2
505
  * @param string $data Data from ajax call
506
  */
507
- public function bulk_action_plugins_update_options( $data ) {
508
-
509
  if ( !current_user_can( 'update_plugins' ) ) return;
510
-
511
  parse_str( $data, $updated_options );
 
 
 
 
 
 
 
 
 
 
512
  if ( isset( $updated_options['action'] ) && -1 != $updated_options['action'] ) {
513
  $action = $updated_options['action'];
514
  }
@@ -556,8 +606,7 @@ class MPSUM_Admin_Ajax {
556
  return;
557
  }
558
 
559
- $options = $this->plugins_update_all_options($plugin_options, $plugin_automatic_options);
560
- $this->render_plugins_tab();
561
  }
562
 
563
  /**
@@ -582,14 +631,20 @@ class MPSUM_Admin_Ajax {
582
  * Save the theme options based on the passed data.
583
  *
584
  * @param string $data Action to take action on
585
- *
586
- * @return array Array of theme update options
587
  */
588
- public function save_themes_update_options( $data ) {
589
-
590
  if ( !current_user_can( 'update_themes' ) ) return;
591
-
592
  parse_str( $data, $updated_options );
 
 
 
 
 
 
 
 
 
 
593
  $themes = isset( $updated_options['themes'] ) ? (array) $updated_options['themes'] : array();
594
  $themes_automatic = isset( $updated_options['themes_automatic'] ) ? (array) $updated_options['themes_automatic'] : array();
595
  $theme_options = MPSUM_Updates_Manager::get_options( 'themes' );
@@ -620,9 +675,7 @@ class MPSUM_Admin_Ajax {
620
  }
621
  }
622
 
623
- $options = $this->themes_update_all_options( $theme_options, $theme_automatic_options );
624
- $this->render_themes_tab();
625
- return $options;
626
  }
627
 
628
  /**
@@ -631,11 +684,19 @@ class MPSUM_Admin_Ajax {
631
  * @since 7.0.2
632
  * @param string $data Data from ajax call
633
  */
634
- public function bulk_action_themes_update_options( $data ) {
635
  if ( !current_user_can( 'update_themes' ) ) return;
636
-
637
  parse_str( $data, $updated_options );
 
 
 
638
 
 
 
 
 
 
 
639
  if ( isset( $updated_options['action'] ) && -1 != $updated_options['action'] ) {
640
  $action = $updated_options['action'];
641
  }
@@ -683,8 +744,7 @@ class MPSUM_Admin_Ajax {
683
  default:
684
  return;
685
  }
686
- $options = $this->themes_update_all_options( $theme_options, $theme_automatic_options );
687
- $this->render_themes_tab();
688
  }
689
 
690
  /**
@@ -705,18 +765,6 @@ class MPSUM_Admin_Ajax {
705
  return $options;
706
  }
707
 
708
- /**
709
- * Checks for user permission
710
- *
711
- * @return bool - Returns true, if user has enough permissions else returns false
712
- */
713
- public function permission_callback() {
714
- if ( current_user_can( 'install_plugins' ) ) {
715
- return true;
716
- }
717
- return false;
718
- }
719
-
720
  /**
721
  * Saves excluded users in options
722
  *
@@ -725,8 +773,10 @@ class MPSUM_Admin_Ajax {
725
  * @return mixed|string Returns update message if successful
726
  */
727
  public function save_excluded_users( $data ) {
 
728
  parse_str( $data, $updated_options );
729
  $users = $updated_options[ 'mpsum_excluded_users' ];
 
730
  if ( !is_array( $users ) || empty( $users ) ) return;
731
  $users_to_save = array();
732
  foreach ( $users as $index => $user_id ) {
@@ -734,29 +784,205 @@ class MPSUM_Admin_Ajax {
734
  if ( 0 === $user_id ) continue;
735
  $users_to_save[] = $user_id;
736
  }
737
- MPSUM_Updates_Manager::update_options( $users_to_save, 'excluded_users' );
 
738
  $message = __( 'The exclusion of users option has been updated.', 'stops-core-theme-and-plugin-updates' );
739
  return $message;
740
  }
741
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
742
  /**
743
  * Resets all update options
744
  *
745
  * @return mixed|string Returns update message, if successful.
746
  */
747
  public function reset_options () {
 
748
  // Reset options
749
- MPSUM_Updates_Manager::update_options( array() );
750
 
751
  // Remove table version
752
- delete_site_option( 'mpsum_log_table_version' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
753
 
754
  // Remove logs table
755
- global $wpdb;
756
- $tablename = $wpdb->base_prefix . 'eum_logs';
757
- $sql = "drop table if exists $tablename";
758
- $wpdb->query( $sql );
759
- $message = __( 'The plugin settings have now been reset.', 'stops-core-theme-and-plugin-updates' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
760
  return $message;
761
  }
762
 
@@ -766,8 +992,25 @@ class MPSUM_Admin_Ajax {
766
  * @return mixed|string Returns update initialized message, if successful.
767
  */
768
  public function force_updates () {
 
769
  $ran_immediately = false;
 
 
770
  if (function_exists('wp_maybe_auto_update')) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
771
  wp_maybe_auto_update();
772
  $ran_immediately = true;
773
  } else {
@@ -778,8 +1021,6 @@ class MPSUM_Admin_Ajax {
778
  wp_schedule_single_event(time(), 'wp_maybe_auto_update');
779
  }
780
  }
781
- delete_site_transient('MPSUM_PLUGINS');
782
- delete_site_transient('MPSUM_THEMES');
783
  $result = array(
784
  'message' => __('Force update checks have been initialized.', 'stops-core-theme-and-plugin-updates'),
785
  'ran_immediately' => $ran_immediately,
@@ -799,7 +1040,7 @@ class MPSUM_Admin_Ajax {
799
  $update_data = wp_get_update_data();
800
  if ($update_data['counts']['total'] > 0) {
801
  $update_data['admin_bar_link'] = sprintf('<a class="ab-item" href="%1$s" title="%2$s"><span class="ab-icon"></span><span class="ab-label">%3$s</span><span class="screen-reader-text">%2$s</span></a>', esc_url(self_admin_url('update-core.php')), $this->get_admin_bar_title($update_data), $update_data['counts']['total']);
802
- $update_data['updates_link'] = sprintf('%1$s<span class="update-plugins count-%2$s"><span class="update-count">%2$s</span></span>', __('Updates', 'stops-core-theme-and-plugin-updates'), $update_data['counts']['total']);
803
  $update_data['plugins_link'] = sprintf('%1$s <span class="update-plugins count-%2$s"><span class="plugin-count">%2$s</span></span>', __('Plugins', 'stops-core-theme-and-plugin-updates'), $update_data['counts']['plugins']);
804
  $update_data['themes_link'] = sprintf('%1$s <span class="update-plugins count-%2$s"><span class="plugin-count">%2$s</span></span>', __('Themes', 'stops-core-theme-and-plugin-updates'), $update_data['counts']['themes']);
805
  }
@@ -856,6 +1097,7 @@ class MPSUM_Admin_Ajax {
856
  * @return mixed|string Returns enabled message, if successful.
857
  */
858
  public function enable_logs () {
 
859
  $options = MPSUM_Updates_Manager::get_options( 'core' );
860
  if ( empty( $options ) ) {
861
  $options = MPSUM_Admin_Core::get_defaults();
@@ -872,8 +1114,19 @@ class MPSUM_Admin_Ajax {
872
  * @return mixed|string Return logs emptied message, if successful.
873
  */
874
  public function clear_logs () {
 
875
  MPSUM_Logs::clear();
876
  $message = __( 'Logs have been emptied', 'stops-core-theme-and-plugin-updates' );
877
  return $message;
878
  }
 
 
 
 
 
 
 
 
 
 
879
  }
19
  private static $instance = null;
20
 
21
  /**
22
+ * Set a class instance.
23
+ *
24
+ * @access static
25
+ */
26
+ public static function get_instance() {
27
  if ( null == self::$instance ) {
28
  self::$instance = new self;
29
  }
30
+ return self::$instance;
31
  }
32
 
33
  /**
53
  * Updates themes tab
54
  */
55
  public function update_themes_tab() {
56
+ $this->render_themes_tab();
57
  }
58
 
59
  /**
93
  */
94
  public function axios_ajax_handler() {
95
 
96
+ if (!current_user_can('manage_options')) return;
97
 
98
  parse_str(file_get_contents('php://input'), $data);
99
  $sub_action = isset($data['sub_action']) ? $data['sub_action']: 'get_core_options';
121
  */
122
  public function ajax_handler() {
123
 
 
124
  if (empty($_REQUEST)) return;
125
 
126
  extract($_REQUEST);
192
  $options = MPSUM_Updates_Manager::get_options( 'core', true );
193
  if ( empty( $options ) ) {
194
  $options = MPSUM_Admin_Core::get_defaults();
195
+ } else {
196
+ $options = wp_parse_args($options, MPSUM_Admin_Core::get_defaults());
197
  }
198
+ if (!$this->user_can_update()) return $options;
199
 
200
  $id = sanitize_text_field( $id );
201
  $value = sanitize_text_field( $value );
309
  $options[ 'logs' ] = 'on';
310
  } else {
311
  MPSUM_Logs::drop();
 
312
  $options[ 'logs' ] = 'off';
313
  }
314
  break;
316
  if( 'on' == $value ) {
317
  $options[ 'core_updates' ] = 'on';
318
  } else {
 
319
  $options[ 'core_updates' ] = 'off';
320
  }
321
  break;
323
  if( 'on' == $value ) {
324
  $options[ 'plugin_updates' ] = 'on';
325
  } else {
 
326
  $options[ 'plugin_updates' ] = 'off';
327
  }
328
  break;
330
  if( 'on' == $value ) {
331
  $options[ 'theme_updates' ] = 'on';
332
  } else {
 
333
  $options[ 'theme_updates' ] = 'off';
334
  }
335
  break;
337
  if( 'on' == $value ) {
338
  $options[ 'translation_updates' ] = 'on';
339
  } else {
 
340
  $options[ 'translation_updates' ] = 'off';
341
  }
342
  break;
381
  $options[ 'email_addresses' ] = $emails;
382
  }
383
  break;
384
+ case 'update-notification-emails':
385
+ if ('weekly' === $value) {
386
+ $options['update_notification_updates'] = 'weekly';
387
+ wp_clear_scheduled_hook('eum_notification_updates_monthly');
388
+ if (false === wp_next_scheduled('eum_notification_updates_weekly')) {
389
+ wp_schedule_event(time() + 7 * 86400, 'eum_notification_updates_weekly', 'eum_notification_updates_weekly');
390
+ }
391
+
392
+ } elseif('monthly' === $value) {
393
+ $options['update_notification_updates'] = 'monthly';
394
+ wp_clear_scheduled_hook('eum_notification_updates_weekly');
395
+ if (false === wp_next_scheduled('eum_notification_updates_monthly')) {
396
+ wp_schedule_event(time() + 365.25 * 86400 / 12, 'eum_notification_updates_monthly', 'eum_notification_updates_monthly');
397
+ }
398
+ } else {
399
+ $options['update_notification_updates'] = 'off';
400
+ wp_clear_scheduled_hook('eum_notification_updates_weekly');
401
+ wp_clear_scheduled_hook('eum_notification_updates_monthly');
402
+ }
403
+ break;
404
+ case 'notification-emails-send_now':
405
+ MPSUM_Update_Notifications::get_instance()->maybe_send_update_notification_email();
406
+ break;
407
  }
408
  // Save options
409
  MPSUM_Updates_Manager::update_options( $options, 'core' );
416
  if ( is_array( $options[ 'email_addresses' ] ) ) {
417
  $options[ 'email_addresses' ] = implode( ',', $options[ 'email_addresses' ] );
418
  } else {
419
+ $options[ 'email_addresses' ] = '';
420
  }
421
 
422
 
425
  $options[ 'automatic_updates' ] = 'default';
426
  }
427
 
428
+ // Check if update notification emails is set
429
+ if (!isset($options['update_notification_updates'])) {
430
+ $options['update_notification_updates'] = 'off';
431
+ }
432
+
433
  // Add error to options for returning
434
  if ( $email_errors ) {
435
+ $options['errors'] = true;
436
+ $options['email_addresses'] = $options[ 'email_addresses' ];
437
+ $options['success'] = false;
438
+ } else {
439
+ $options['errors'] = false;
440
+ $options['email_addresses'] = $options[ 'email_addresses' ];
441
+ $options['success'] = true;
442
  }
443
  return $options;
444
  }
454
  $options = MPSUM_Updates_Manager::get_options( 'core', true );
455
  if ( empty( $options ) ) {
456
  $options = MPSUM_Admin_Core::get_defaults();
457
+ } else {
458
+ $options = wp_parse_args($options, MPSUM_Admin_Core::get_defaults());
459
  }
460
 
461
  // Set automatic updates defaults if none is selected
474
  }
475
  }
476
 
477
+ // Check if update notification emails is set
478
+ if (!isset($options['update_notification_updates'])) {
479
+ $options['update_notification_updates'] = 'off';
480
+ }
481
+
482
+ if ( isset($options['email_addresses']) && ! is_array( $options[ 'email_addresses' ] ) ) {
483
  $options[ 'email_addresses' ] = array();
484
  }
485
  $options[ 'email_addresses' ] = implode( ',', $options[ 'email_addresses' ] );
492
  * Save the plugin options based on the passed data.
493
  *
494
  * @param string $data Action to take action on
 
 
495
  */
496
+ public function save_plugins_update_options_and_render($data) {
 
497
  if ( !current_user_can( 'update_plugins' ) ) return;
 
498
  parse_str($data, $updated_options);
499
+ $this->save_plugins_update_options($updated_options);
500
+ $this->render_plugins_tab();
501
+ }
502
+
503
+ /**
504
+ * Saves plugin updated options
505
+ *
506
+ * @param array $updated_options - Updated options from the remote call
507
+ */
508
+ public function save_plugins_update_options($updated_options) {
509
  $plugins = isset( $updated_options['plugins'] ) ? (array) $updated_options['plugins'] : array();
510
  $plugins_automatic = isset( $updated_options['plugins_automatic'] ) ? (array) $updated_options['plugins_automatic'] : array();
511
  $plugin_options = MPSUM_Updates_Manager::get_options( 'plugins' );
537
  }
538
  }
539
 
540
+ $this->plugins_update_all_options($plugin_options, $plugin_automatic_options);
 
 
541
  }
542
 
543
  /**
546
  * @since 7.0.2
547
  * @param string $data Data from ajax call
548
  */
549
+ public function bulk_action_plugins_update_options_and_render($data) {
 
550
  if ( !current_user_can( 'update_plugins' ) ) return;
 
551
  parse_str( $data, $updated_options );
552
+ $this->bulk_action_plugins_update_options($updated_options);
553
+ $this->render_plugins_tab();
554
+ }
555
+
556
+ /**
557
+ * Saves plugin options which are updated using bulk actions in UC
558
+ *
559
+ * @param array $updated_options - Updated options from the remote call
560
+ */
561
+ public function bulk_action_plugins_update_options($updated_options) {
562
  if ( isset( $updated_options['action'] ) && -1 != $updated_options['action'] ) {
563
  $action = $updated_options['action'];
564
  }
606
  return;
607
  }
608
 
609
+ $this->plugins_update_all_options($plugin_options, $plugin_automatic_options);
 
610
  }
611
 
612
  /**
631
  * Save the theme options based on the passed data.
632
  *
633
  * @param string $data Action to take action on
 
 
634
  */
635
+ public function save_themes_update_options_and_render($data) {
 
636
  if ( !current_user_can( 'update_themes' ) ) return;
 
637
  parse_str( $data, $updated_options );
638
+ $this->save_themes_update_options($updated_options);
639
+ $this->render_themes_tab();
640
+ }
641
+
642
+ /**
643
+ * Saves theme updated options
644
+ *
645
+ * @param array $updated_options - Updated options from the remote call
646
+ */
647
+ public function save_themes_update_options($updated_options) {
648
  $themes = isset( $updated_options['themes'] ) ? (array) $updated_options['themes'] : array();
649
  $themes_automatic = isset( $updated_options['themes_automatic'] ) ? (array) $updated_options['themes_automatic'] : array();
650
  $theme_options = MPSUM_Updates_Manager::get_options( 'themes' );
675
  }
676
  }
677
 
678
+ $this->themes_update_all_options($theme_options, $theme_automatic_options);
 
 
679
  }
680
 
681
  /**
684
  * @since 7.0.2
685
  * @param string $data Data from ajax call
686
  */
687
+ public function bulk_action_themes_update_options_and_render($data) {
688
  if ( !current_user_can( 'update_themes' ) ) return;
 
689
  parse_str( $data, $updated_options );
690
+ $this->bulk_action_themes_update_options($updated_options);
691
+ $this->render_themes_tab();
692
+ }
693
 
694
+ /**
695
+ * Saves plugin options which are updated using bulk actions in UC
696
+ *
697
+ * @param array $updated_options - Updated options from the remote call
698
+ */
699
+ public function bulk_action_themes_update_options($updated_options) {
700
  if ( isset( $updated_options['action'] ) && -1 != $updated_options['action'] ) {
701
  $action = $updated_options['action'];
702
  }
744
  default:
745
  return;
746
  }
747
+ $this->themes_update_all_options($theme_options, $theme_automatic_options);
 
748
  }
749
 
750
  /**
765
  return $options;
766
  }
767
 
 
 
 
 
 
 
 
 
 
 
 
 
768
  /**
769
  * Saves excluded users in options
770
  *
773
  * @return mixed|string Returns update message if successful
774
  */
775
  public function save_excluded_users( $data ) {
776
+ if (!current_user_can('promote_users')) return;
777
  parse_str( $data, $updated_options );
778
  $users = $updated_options[ 'mpsum_excluded_users' ];
779
+ $advanced_options = MPSUM_Updates_Manager::get_options('advanced');
780
  if ( !is_array( $users ) || empty( $users ) ) return;
781
  $users_to_save = array();
782
  foreach ( $users as $index => $user_id ) {
784
  if ( 0 === $user_id ) continue;
785
  $users_to_save[] = $user_id;
786
  }
787
+ $advanced_options['excluded_users'] = $users_to_save;
788
+ MPSUM_Updates_Manager::update_options($advanced_options, 'advanced');
789
  $message = __( 'The exclusion of users option has been updated.', 'stops-core-theme-and-plugin-updates' );
790
  return $message;
791
  }
792
 
793
+ /**
794
+ * Checks what sites a plugin is isntalled for on multisite
795
+ *
796
+ * @param array $data An array with the filename of the plugin
797
+ */
798
+ public function get_multisite_installs_from_plugin($data) {
799
+
800
+ $plugin_file = $data['plugin_file'];
801
+
802
+ // Load up constructor and fire transient checker
803
+ $instance = MPSUM_Check_Plugin_Install_Status::get_instance();
804
+
805
+ // Multisite transient with site data
806
+ $transient = get_site_transient('eum_all_sites_active_plugins');
807
+ if (empty($transient) || false === $transient || !is_array($transient)) {
808
+ wp_send_json(array('message' => __('This plugin is not installed on any sites.', 'stops-core-theme-and-plugin-updates')));
809
+ }
810
+
811
+ // Get sites
812
+ $sites = $instance->get_sites();
813
+
814
+ // Get all Plugins
815
+ $plugins = get_plugins();
816
+
817
+ // Get blank html
818
+ $html = '';
819
+
820
+ // Get HTML Placeeholder
821
+ $html_ul = '';
822
+
823
+ foreach($transient as $site_id => $plugins_installed) {
824
+ $site_name = '';
825
+ $site_url = '';
826
+ $plugins_stored = array();
827
+
828
+ foreach($sites as $site) {
829
+ if($site_id == $site->blog_id) {
830
+ $site_name = $site_id . ': ' . $site->domain . $site->path;
831
+ $site_url = get_admin_url($site->blog_id);
832
+ break;
833
+ }
834
+ }
835
+ foreach($plugins_installed as $plugin_file_installed) {
836
+ if ($plugin_file === $plugin_file_installed) {
837
+ $plugins_stored[] = $plugin_file_installed;
838
+ }
839
+ }
840
+ if(!empty($plugins_stored)) {
841
+ $html .= sprintf('<li><a href="%s">%s</a></li>', esc_url($site_url), esc_html($site_name));
842
+ }
843
+ }
844
+ if(empty($html)) {
845
+ wp_send_json(array('message' => '<div class="mpsum-error mpsum-bold">' . __('This plugin is not installed on any sites. Consider removing it.', 'stops-core-theme-and-plugin-updates') . '</div>'));
846
+ } else {
847
+ $html_ul = '<ul>';
848
+ $html_ul .= $html;
849
+ $html_ul .= '</ul>';
850
+ $html = '<div class="mpsum-notice mpsum-bold">' . __('The following sites have this plugin installed', 'stops-core-theme-and-plugin-updates') . $html_ul . '</div>';
851
+ wp_send_json(array('message' => $html));
852
+ }
853
+ }
854
+
855
+ /**
856
+ * Checks what sites a plugin is isntalled for on multisite
857
+ *
858
+ * @param array $data An array with the filename of the plugin
859
+ */
860
+ public function get_multisite_installs_from_theme($data) {
861
+
862
+ $stylesheet = $data['stylesheet'];
863
+
864
+ // Load up constructor and fire transient checker
865
+ $instance = MPSUM_Check_Theme_Install_Status::get_instance();
866
+
867
+ // Multisite transient with site data
868
+ $transient = get_site_transient('eum_all_sites_active_themes');
869
+ if (empty($transient) || false === $transient || !is_array($transient)) {
870
+ wp_send_json(array('message' => __('This theme is not installed on any sites.', 'stops-core-theme-and-plugin-updates')));
871
+ }
872
+
873
+ // Get sites
874
+ $sites = $instance->get_sites();
875
+
876
+ // Get blank html
877
+ $html = '';
878
+
879
+ // Get HTML Placeeholder
880
+ $html_ul = '';
881
+
882
+ foreach($transient as $site_id => $theme_installed) {
883
+ $site_name = '';
884
+ $site_url = '';
885
+ $themes_stored = array();
886
+ foreach($sites as $site) {
887
+ if($site_id == $site->blog_id) {
888
+ $site_id = $site->blog_id;
889
+ $site_name = $site_id . ': ' . $site->domain . $site->path;
890
+ $site_url = get_admin_url($site->blog_id);
891
+ break;
892
+ }
893
+ }
894
+ $themes = wp_get_themes(array('allowed' => 'true', 'blog_id' => $site_id));
895
+ if(!empty($themes)) {
896
+ if(array_key_exists($stylesheet, $themes)) {
897
+ // Determine of theme is active on the site
898
+ global $wpdb;
899
+ switch_to_blog($site_id);
900
+ $option = get_option('stylesheet');
901
+ if ($stylesheet == $option) {
902
+ $html .= sprintf('<li><a href="%s">%s</a></li>', esc_url($site_url), esc_html($site_name));
903
+ }
904
+ }
905
+ }
906
+ }
907
+ restore_current_blog();
908
+ if(empty($html)) {
909
+ wp_send_json(array('message' => '<div class="mpsum-error mpsum-bold">' . __('This theme is not active on any sites. Consider removing it.', 'stops-core-theme-and-plugin-updates') . '</div>'));
910
+ } else {
911
+ $html_ul = '<ul>';
912
+ $html_ul .= $html;
913
+ $html_ul .= '</ul>';
914
+ $html = '<div class="mpsum-notice mpsum-bold">' . __('The following sites have this theme activated.', 'stops-core-theme-and-plugin-updates') . $html_ul . '</div>';
915
+ wp_send_json(array('message' => $html));
916
+ }
917
+ }
918
+
919
  /**
920
  * Resets all update options
921
  *
922
  * @return mixed|string Returns update message, if successful.
923
  */
924
  public function reset_options () {
925
+ if (!current_user_can('delete_plugins')) return;
926
  // Reset options
927
+ MPSUM_Updates_Manager::update_options(array());
928
 
929
  // Remove table version
930
+ delete_site_option('mpsum_log_table_version');
931
+
932
+ // Remove Webhook
933
+ delete_site_option('easy_updates_manager_webhook');
934
+
935
+ // Remove whitelist
936
+ delete_site_option('easy_updates_manager_enable_notices');
937
+ delete_site_option('easy_updates_manager_name');
938
+ delete_site_option('easy_updates_manager_author');
939
+ delete_site_option('easy_updates_manager_url');
940
+
941
+ // Remove notices timeout
942
+ delete_site_option('easy_updates_manager_dismiss_dash_notice_until');
943
+ delete_site_option('easy_updates_manager_dismiss_eum_notice_until');
944
+ delete_site_option('easy_updates_manager_dismiss_page_notice_until');
945
+ delete_site_option('easy_updates_manager_dismiss_survey_notice_until');
946
+
947
+ // Update option to show options are reset
948
+ update_site_option('easy_updates_manager_reset', 'true');
949
+
950
+ // Remove multisite plugins and themes transient
951
+ delete_site_transient('eum_all_sites_active_plugins');
952
+ delete_site_transient('eum_all_sites_active_themes');
953
 
954
  // Remove logs table
955
+ MPSUM_Logs::drop();
956
+
957
+ // Remove Plugin Check Options and Transients
958
+ delete_site_transient('eum_plugins_removed_from_directory');
959
+ if (is_multisite()) {
960
+ $options_sql = "delete from {$wpdb->sitemeta} where meta_key like 'eum_plugin_removed_%'";
961
+ $wpdb->query($options_sql);
962
+ } else {
963
+ $options_sql = "delete from {$wpdb->options} where option_name like 'eum_plugin_removed_%'";
964
+ $wpdb->query($options_sql);
965
+ }
966
+
967
+ // Remove plugin safe mode options
968
+ if (is_multisite()) {
969
+ $safe_mode_sql = "delete from {$wpdb->sitemeta} where meta_key like '%eum_plugin_safe_mode_%'";
970
+ $wpdb->query($safe_mode_sql);
971
+ } else {
972
+ $safe_mode_sql = "delete from {$wpdb->options} where option_name like '%eum_plugin_safe_mode_%'";
973
+ $wpdb->query($safe_mode_sql);
974
+ }
975
+
976
+ // Remove active plugins option
977
+ delete_site_option('eum_active_pre_restore_plugins');
978
+ delete_site_option('eum_active_pre_restore_plugins_multisite');
979
+
980
+ // Remove transients when someone disables plugin, theme, or core updates
981
+ delete_site_transient('eum_core_checked');
982
+ delete_site_transient('eum_themes_checked');
983
+ delete_site_transient('eum_plugins_checked');
984
+
985
+ $message = __('The plugin settings have now been reset.', 'stops-core-theme-and-plugin-updates');
986
  return $message;
987
  }
988
 
992
  * @return mixed|string Returns update initialized message, if successful.
993
  */
994
  public function force_updates () {
995
+ if (!$this->user_can_update()) return;
996
  $ran_immediately = false;
997
+ delete_site_transient('MPSUM_PLUGINS');
998
+ delete_site_transient('MPSUM_THEMES');
999
  if (function_exists('wp_maybe_auto_update')) {
1000
+ /**
1001
+ * Whether to delete the auto update lock file
1002
+ *
1003
+ * Whether to delete the auto update lock file.
1004
+ *
1005
+ * @since 8.0.1
1006
+ *
1007
+ * @param bool Ignore deleting the lock file (default false)
1008
+ * @param string The lock file expiration if exists
1009
+ */
1010
+ $disable_lock = apply_filters( 'eum_force_updates_disable_lock', false, get_option('auto_updater.lock'));
1011
+ if (true === $disable_lock) {
1012
+ delete_option('auto_updater.lock');
1013
+ }
1014
  wp_maybe_auto_update();
1015
  $ran_immediately = true;
1016
  } else {
1021
  wp_schedule_single_event(time(), 'wp_maybe_auto_update');
1022
  }
1023
  }
 
 
1024
  $result = array(
1025
  'message' => __('Force update checks have been initialized.', 'stops-core-theme-and-plugin-updates'),
1026
  'ran_immediately' => $ran_immediately,
1040
  $update_data = wp_get_update_data();
1041
  if ($update_data['counts']['total'] > 0) {
1042
  $update_data['admin_bar_link'] = sprintf('<a class="ab-item" href="%1$s" title="%2$s"><span class="ab-icon"></span><span class="ab-label">%3$s</span><span class="screen-reader-text">%2$s</span></a>', esc_url(self_admin_url('update-core.php')), $this->get_admin_bar_title($update_data), $update_data['counts']['total']);
1043
+ $update_data['updates_link'] = sprintf('%1$s <span class="update-plugins count-%2$s"><span class="update-count">%2$s</span></span>', __('Updates', 'stops-core-theme-and-plugin-updates'), $update_data['counts']['total']);
1044
  $update_data['plugins_link'] = sprintf('%1$s <span class="update-plugins count-%2$s"><span class="plugin-count">%2$s</span></span>', __('Plugins', 'stops-core-theme-and-plugin-updates'), $update_data['counts']['plugins']);
1045
  $update_data['themes_link'] = sprintf('%1$s <span class="update-plugins count-%2$s"><span class="plugin-count">%2$s</span></span>', __('Themes', 'stops-core-theme-and-plugin-updates'), $update_data['counts']['themes']);
1046
  }
1097
  * @return mixed|string Returns enabled message, if successful.
1098
  */
1099
  public function enable_logs () {
1100
+ if (!current_user_can('publish_posts')) return;
1101
  $options = MPSUM_Updates_Manager::get_options( 'core' );
1102
  if ( empty( $options ) ) {
1103
  $options = MPSUM_Admin_Core::get_defaults();
1114
  * @return mixed|string Return logs emptied message, if successful.
1115
  */
1116
  public function clear_logs () {
1117
+ if (!current_user_can('delete_posts')) return;
1118
  MPSUM_Logs::clear();
1119
  $message = __( 'Logs have been emptied', 'stops-core-theme-and-plugin-updates' );
1120
  return $message;
1121
  }
1122
+
1123
+ /**
1124
+ * Decides whether current user can update core, plugin and themes
1125
+ *
1126
+ * @return bool Returns true if user can update otherwise returns false.
1127
+ */
1128
+ private function user_can_update() {
1129
+ if (!current_user_can('update_core') || !current_user_can('update_plugins') || !current_user_can('update_themes')) return false;
1130
+ return true;
1131
+ }
1132
  }
includes/MPSUM_Admin_Core.php CHANGED
@@ -230,7 +230,7 @@ class MPSUM_Admin_Core {
230
  <td>
231
  <p><input type="radio" name="options[automatic_major_updates]" value="on" id="automatic_major_on" <?php checked( 'on', $options[ 'automatic_major_updates' ] ); ?> />&nbsp;<label for="automatic_major_on"><?php esc_html_e( 'Enabled', 'stops-core-theme-and-plugin-updates' ); ?></label></p>
232
  <p><input type="radio" name="options[automatic_major_updates]" value="off" id="automatic_major_off" <?php checked( 'off', $options[ 'automatic_major_updates' ] ); ?> />&nbsp;<label for="automatic_major_off"><?php esc_html_e( 'Disabled', 'stops-core-theme-and-plugin-updates' ); ?></label></p>
233
- <p class="description"><?php esc_html_e( 'Automatically update to major releases (e.g., 4.1, 4.2, 4.3).', 'stops-core-theme-and-plugin-updates' ); ?></p>
234
  </td>
235
  </tr>
236
  <tr>
@@ -238,11 +238,11 @@ class MPSUM_Admin_Core {
238
  <td>
239
  <p><input type="radio" name="options[automatic_minor_updates]" value="on" id="automatic_minor_on" <?php checked( 'on', $options[ 'automatic_minor_updates' ] ); ?> />&nbsp;<label for="automatic_minor_on"><?php esc_html_e( 'Enabled', 'stops-core-theme-and-plugin-updates' ); ?></label><br />
240
  <p><input type="radio" name="options[automatic_minor_updates]" value="off" id="automatic_minor_off" <?php checked( 'off', $options[ 'automatic_minor_updates' ] ); ?> />&nbsp;<label for="automatic_minor_off"><?php esc_html_e( 'Disabled', 'stops-core-theme-and-plugin-updates' ); ?></label>
241
- <p class="description"><?php esc_html_e( 'Automatically update to minor releases (e.g., 4.1.1, 4.1.2, 4.1.3).', 'stops-core-theme-and-plugin-updates' ); ?></p>
242
  </td>
243
  </tr>
244
  <tr>
245
- <th scope="row"><?php esc_html_e( 'Development Updates', 'stops-core-theme-and-plugin-updates' ); ?></th>
246
  <td>
247
  <p><input type="radio" name="options[automatic_development_updates]" value="on" id="automatic_dev_on" <?php checked( 'on', $options[ 'automatic_development_updates' ] ); ?> />&nbsp;<label for="automatic_dev_on"><?php esc_html_e( 'Enabled', 'stops-core-theme-and-plugin-updates' ); ?></label></p>
248
  <p><input type="radio" name="options[automatic_development_updates]" value="off" id="automatic_dev_off" <?php checked( 'off', $options[ 'automatic_development_updates' ] ); ?> />&nbsp;<label for="automatic_dev_off"><?php esc_html_e( 'Disabled', 'stops-core-theme-and-plugin-updates' ); ?></label></p>
230
  <td>
231
  <p><input type="radio" name="options[automatic_major_updates]" value="on" id="automatic_major_on" <?php checked( 'on', $options[ 'automatic_major_updates' ] ); ?> />&nbsp;<label for="automatic_major_on"><?php esc_html_e( 'Enabled', 'stops-core-theme-and-plugin-updates' ); ?></label></p>
232
  <p><input type="radio" name="options[automatic_major_updates]" value="off" id="automatic_major_off" <?php checked( 'off', $options[ 'automatic_major_updates' ] ); ?> />&nbsp;<label for="automatic_major_off"><?php esc_html_e( 'Disabled', 'stops-core-theme-and-plugin-updates' ); ?></label></p>
233
+ <p class="description"><?php esc_html_e( 'Automatically update to new major releases (e.g., 4.1, 4.2, 4.3).', 'stops-core-theme-and-plugin-updates' ); ?></p>
234
  </td>
235
  </tr>
236
  <tr>
238
  <td>
239
  <p><input type="radio" name="options[automatic_minor_updates]" value="on" id="automatic_minor_on" <?php checked( 'on', $options[ 'automatic_minor_updates' ] ); ?> />&nbsp;<label for="automatic_minor_on"><?php esc_html_e( 'Enabled', 'stops-core-theme-and-plugin-updates' ); ?></label><br />
240
  <p><input type="radio" name="options[automatic_minor_updates]" value="off" id="automatic_minor_off" <?php checked( 'off', $options[ 'automatic_minor_updates' ] ); ?> />&nbsp;<label for="automatic_minor_off"><?php esc_html_e( 'Disabled', 'stops-core-theme-and-plugin-updates' ); ?></label>
241
+ <p class="description"><?php esc_html_e( 'Automatically update to new minor releases in your current series (e.g., 4.1.1, 4.1.2, 4.1.3).', 'stops-core-theme-and-plugin-updates' ); ?></p>
242
  </td>
243
  </tr>
244
  <tr>
245
+ <th scope="row"><?php esc_html_e( 'Development Updates (Core)', 'stops-core-theme-and-plugin-updates' ); ?></th>
246
  <td>
247
  <p><input type="radio" name="options[automatic_development_updates]" value="on" id="automatic_dev_on" <?php checked( 'on', $options[ 'automatic_development_updates' ] ); ?> />&nbsp;<label for="automatic_dev_on"><?php esc_html_e( 'Enabled', 'stops-core-theme-and-plugin-updates' ); ?></label></p>
248
  <p><input type="radio" name="options[automatic_development_updates]" value="off" id="automatic_dev_off" <?php checked( 'off', $options[ 'automatic_development_updates' ] ); ?> />&nbsp;<label for="automatic_dev_off"><?php esc_html_e( 'Disabled', 'stops-core-theme-and-plugin-updates' ); ?></label></p>
includes/MPSUM_Admin_Dashboard.php CHANGED
@@ -1,4 +1,5 @@
1
  <?php
 
2
  /**
3
  * Controls the main (general) tab and handles the saving of its options.
4
  *
@@ -52,9 +53,7 @@ class MPSUM_Admin_Dashboard {
52
  * @internal Uses the mpsum_admin_tab_main action
53
  */
54
  public function tab_output() {
55
- ?>
56
- <div class="eum-dashboard-app"></div>
57
- <?php
58
  return;
59
  } //end tab_output_plugins
60
  }
1
  <?php
2
+ if (!defined('ABSPATH')) die('No direct access.');
3
  /**
4
  * Controls the main (general) tab and handles the saving of its options.
5
  *
53
  * @internal Uses the mpsum_admin_tab_main action
54
  */
55
  public function tab_output() {
56
+ Easy_Updates_Manager()->include_template('admin-tab-main.php');
 
 
57
  return;
58
  } //end tab_output_plugins
59
  }
includes/MPSUM_Admin_Help.php CHANGED
@@ -25,29 +25,29 @@ class MPSUM_Admin_Help {
25
  'website' => esc_html__( 'Our Website', 'stops-core-theme-and-plugin-updates' ),
26
  'donate' => esc_html__( 'Donate', 'stops-core-theme-and-plugin-updates' ),
27
  'support' => esc_html__( 'Support on WordPress', 'stops-core-theme-and-plugin-updates' ),
28
- 'github' => esc_html__( 'GitHub Repository', 'stops-core-theme-and-plugin-updates' ),
29
- 'official' => esc_html__( 'Official Documentation', 'stops-core-theme-and-plugin-updates' ),
30
  );
31
  $content1 = <<<CONTENT1
32
  <p>
33
  <a href="https://easyupdatesmanager.com" class="button">{$content1_strings['website']}</a>
34
  <a href="http://wordpress.org/support/plugin/stops-core-theme-and-plugin-updates" class="button">{$content1_strings['support']}</a>
35
- <a href="https://github.com/easy-updates-manager/easy-updates-manager" class="button">{$content1_strings['github']}</a>
36
- <a href="https://github.com/easy-updates-manager/easy-updates-manager/wiki" class="button">{$content1_strings['official']}</a>
37
  </p>
38
  CONTENT1;
39
  $content1 .= esc_html__( 'This is the Easy Updates Manager settings help tab. Here you will find helpful information on what Easy Updates Manager does and how to use it.', 'stops-core-theme-and-plugin-updates' );
40
  $content1 .= '</p>';
41
  $content1 .= sprintf( '<div><p><strong>%s - </strong>%s</p></div>', esc_html__( 'Please Note!', 'stops-core-theme-and-plugin-updates' ), esc_html__( 'If either your WordPress core, theme, or plugins get too out of date, you may run into compatibility problems. Check the capability tab for more information.', 'stops-core-theme-and-plugin-updates' ) );
42
 
43
- $content2 = sprintf( '<div><p><a href="https://github.com/easy-updates-manager/easy-updates-manager/wiki">%s</a></p></div>', esc_html__( 'Check out our Wiki for updated documentation and videos.', 'stops-core-theme-and-plugin-updates' ) );
44
 
45
  $content4_strings = array(
46
  'intro' => esc_html__( 'You will see multiple tabs where you can configure the update options.', 'stops-core-theme-and-plugin-updates' ),
47
  'general' => sprintf( '<strong>%s</strong> - %s', esc_html__( 'General', 'stops-core-theme-and-plugin-updates' ), esc_html__( 'Use this screen to finely tune which updates and automatic updates you would like to see.', 'stops-core-theme-and-plugin-updates' ) ),
48
  'plugins' => sprintf( '<strong>%s</strong> - %s', esc_html__( 'Plugins', 'stops-core-theme-and-plugin-updates' ), esc_html__( 'If plugin updates are enabled and/or automatic updates for plugins are enabled, you can configure which plugins will receive updates and/or automatic updates.', 'stops-core-theme-and-plugin-updates' ) ),
49
  'themes' => sprintf( '<strong>%s</strong> - %s', esc_html__( 'Themes', 'stops-core-theme-and-plugin-updates' ), esc_html__( 'If theme updates are enabled and/or automatic updates for themes are enabled, you can configure which themes will receive updates and/or automatic updates.', 'stops-core-theme-and-plugin-updates' ) ),
50
- 'logs' => sprintf( '<strong>%s</strong> - %s', esc_html__( 'Logs', 'stops-core-theme-and-plugin-updates' ), esc_html__( 'Logs all plugin, theme, and core updates. This tab is only visible if enabled in the "Advanced" tab.', 'stops-core-theme-and-plugin-updates' ) ),
51
  'advanced' => sprintf( '<strong>%s</strong> - %s', esc_html__( 'Advanced', 'stops-core-theme-and-plugin-updates' ), esc_html__( 'Reset all options or allow certain users to see all updates regardless of what settings you have set.', 'stops-core-theme-and-plugin-updates' ) ),
52
 
53
  );
@@ -70,23 +70,6 @@ CONTENT1;
70
 
71
  CONTENT4;
72
 
73
- $content5_strings = array(
74
- 'contributors' => esc_html__( 'Easy Updates Manager Contributors:', 'stops-core-theme-and-plugin-updates' )
75
- );
76
- $content5 = <<<CONTENT5
77
-
78
- <p style="align: center;">
79
- <h3>{$content5_strings[ 'contributors' ]}</h3>
80
- <ul>
81
- <li><a href="http://profiles.wordpress.org/kidsguide/">Matthew (kidsguide)</a></li>
82
- <li><a href="http://profiles.wordpress.org/ronalfy/">Ronald Huereca (ronalfy)</a></li>
83
- <li><a href="http://profiles.wordpress.org/roary86/">Roary Tubbs</a></li>
84
- <li><a href="http://profiles.wordpress.org/bigwing">BigWing</a></li>
85
- </ul>
86
- </p>
87
-
88
- CONTENT5;
89
-
90
  $content6 = '<p>';
91
  $content6 .= esc_html__( 'WordPress encourages you to update your plugins, themes, and core to make sure that there are no bugs. Even though you most likely want to disable all the updates and never think about updating again, you should still consider updating every once in a while to avoid major bugs and errors on your WordPress website.', 'stops-core-theme-and-plugin-updates' );
92
  $content6 .= sprintf( '<h4>%s</h4>', esc_html__( 'This plugin is tested with the most recent versions of WordPress to ensure that there are no major issues.', 'stops-core-theme-and-plugin-updates' ) );
@@ -101,23 +84,21 @@ CONTENT5;
101
  $screen->add_help_tab(array(
102
  'id' => 'help_tab_content_4',
103
  'title' => __( 'Navigation', 'stops-core-theme-and-plugin-updates' ),
104
- 'content' => $content4,
105
  ));
106
 
107
  $screen->add_help_tab(array(
108
  'id' => 'help_tab_content_2',
109
  'title' => __( 'Documentation', 'stops-core-theme-and-plugin-updates' ),
110
- 'content' => $content2,
111
  ));
112
 
113
  $screen->add_help_tab(array(
114
  'id' => 'help_tab_content_6',
115
  'title' => __( 'Capability', 'stops-core-theme-and-plugin-updates' ),
116
- 'content' => $content6,
117
  ));
118
 
119
- $screen->set_help_sidebar($content5);
120
-
121
  } //end constructor
122
 
123
  }
25
  'website' => esc_html__( 'Our Website', 'stops-core-theme-and-plugin-updates' ),
26
  'donate' => esc_html__( 'Donate', 'stops-core-theme-and-plugin-updates' ),
27
  'support' => esc_html__( 'Support on WordPress', 'stops-core-theme-and-plugin-updates' ),
28
+ 'premium_support' => esc_html__( 'Premium Support', 'stops-core-theme-and-plugin-updates' ),
29
+ 'official' => esc_html__( 'Documentation', 'stops-core-theme-and-plugin-updates' ),
30
  );
31
  $content1 = <<<CONTENT1
32
  <p>
33
  <a href="https://easyupdatesmanager.com" class="button">{$content1_strings['website']}</a>
34
  <a href="http://wordpress.org/support/plugin/stops-core-theme-and-plugin-updates" class="button">{$content1_strings['support']}</a>
35
+ <a href="https://easyupdatesmanager.com/support/" class="button">{$content1_strings['premium_support']}</a>
36
+ <a href="https://easyupdatesmanager.com/documentation/" class="button">{$content1_strings['official']}</a>
37
  </p>
38
  CONTENT1;
39
  $content1 .= esc_html__( 'This is the Easy Updates Manager settings help tab. Here you will find helpful information on what Easy Updates Manager does and how to use it.', 'stops-core-theme-and-plugin-updates' );
40
  $content1 .= '</p>';
41
  $content1 .= sprintf( '<div><p><strong>%s - </strong>%s</p></div>', esc_html__( 'Please Note!', 'stops-core-theme-and-plugin-updates' ), esc_html__( 'If either your WordPress core, theme, or plugins get too out of date, you may run into compatibility problems. Check the capability tab for more information.', 'stops-core-theme-and-plugin-updates' ) );
42
 
43
+ $content2 = sprintf( '<div><p><a href="https://easyupdatesmanager.com/documentation/">%s</a></p></div>', esc_html__( 'Check out our Documentation for updated documentation and videos.', 'stops-core-theme-and-plugin-updates' ) );
44
 
45
  $content4_strings = array(
46
  'intro' => esc_html__( 'You will see multiple tabs where you can configure the update options.', 'stops-core-theme-and-plugin-updates' ),
47
  'general' => sprintf( '<strong>%s</strong> - %s', esc_html__( 'General', 'stops-core-theme-and-plugin-updates' ), esc_html__( 'Use this screen to finely tune which updates and automatic updates you would like to see.', 'stops-core-theme-and-plugin-updates' ) ),
48
  'plugins' => sprintf( '<strong>%s</strong> - %s', esc_html__( 'Plugins', 'stops-core-theme-and-plugin-updates' ), esc_html__( 'If plugin updates are enabled and/or automatic updates for plugins are enabled, you can configure which plugins will receive updates and/or automatic updates.', 'stops-core-theme-and-plugin-updates' ) ),
49
  'themes' => sprintf( '<strong>%s</strong> - %s', esc_html__( 'Themes', 'stops-core-theme-and-plugin-updates' ), esc_html__( 'If theme updates are enabled and/or automatic updates for themes are enabled, you can configure which themes will receive updates and/or automatic updates.', 'stops-core-theme-and-plugin-updates' ) ),
50
+ 'logs' => sprintf( '<strong>%s</strong> - %s', esc_html__( 'Logs', 'stops-core-theme-and-plugin-updates' ), esc_html__( 'Logs all plugin, theme, and core updates. This tab is only visible if enabled in the "General" tab.', 'stops-core-theme-and-plugin-updates' ) ),
51
  'advanced' => sprintf( '<strong>%s</strong> - %s', esc_html__( 'Advanced', 'stops-core-theme-and-plugin-updates' ), esc_html__( 'Reset all options or allow certain users to see all updates regardless of what settings you have set.', 'stops-core-theme-and-plugin-updates' ) ),
52
 
53
  );
70
 
71
  CONTENT4;
72
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
73
  $content6 = '<p>';
74
  $content6 .= esc_html__( 'WordPress encourages you to update your plugins, themes, and core to make sure that there are no bugs. Even though you most likely want to disable all the updates and never think about updating again, you should still consider updating every once in a while to avoid major bugs and errors on your WordPress website.', 'stops-core-theme-and-plugin-updates' );
75
  $content6 .= sprintf( '<h4>%s</h4>', esc_html__( 'This plugin is tested with the most recent versions of WordPress to ensure that there are no major issues.', 'stops-core-theme-and-plugin-updates' ) );
84
  $screen->add_help_tab(array(
85
  'id' => 'help_tab_content_4',
86
  'title' => __( 'Navigation', 'stops-core-theme-and-plugin-updates' ),
87
+ 'content' => wpautop($content4),
88
  ));
89
 
90
  $screen->add_help_tab(array(
91
  'id' => 'help_tab_content_2',
92
  'title' => __( 'Documentation', 'stops-core-theme-and-plugin-updates' ),
93
+ 'content' => wpautop($content2),
94
  ));
95
 
96
  $screen->add_help_tab(array(
97
  'id' => 'help_tab_content_6',
98
  'title' => __( 'Capability', 'stops-core-theme-and-plugin-updates' ),
99
+ 'content' => wpautop($content6),
100
  ));
101
 
 
 
102
  } //end constructor
103
 
104
  }
includes/MPSUM_Admin_Logs.php CHANGED
@@ -1,4 +1,5 @@
1
  <?php
 
2
  /**
3
  * Controls the logs tab.
4
  *
1
  <?php
2
+ if (!defined('ABSPATH')) die('No direct access.');
3
  /**
4
  * Controls the logs tab.
5
  *
includes/MPSUM_Admin_Plugins.php CHANGED
@@ -49,11 +49,10 @@ class MPSUM_Admin_Plugins {
49
  * Determine whether the plugins can be updated or not.
50
  *
51
  * @since 5.0.0
52
- * @access private
53
  *
54
  * @return bool True if the plugins can be updated, false if not.
55
  */
56
- private function can_update() {
57
  $core_options = MPSUM_Updates_Manager::get_options( 'core' );
58
  if ( isset( $core_options[ 'all_updates' ] ) && 'off' == $core_options[ 'all_updates' ] ) {
59
  return false;
@@ -94,28 +93,13 @@ class MPSUM_Admin_Plugins {
94
  * @internal Uses the mpsum_admin_tab_plugins action
95
  */
96
  public function tab_output() {
97
- ?>
98
- <form action="<?php echo esc_url( add_query_arg( array() ) ); ?>" method="post">
99
- <?php
100
- $plugin_status = isset( $_GET[ 'plugin_status' ] ) ? $_GET[ 'plugin_status' ] : false;
101
- if ( false !== $plugin_status ) {
102
- printf( '<input type="hidden" name="plugin_status" value="%s" />', esc_attr( $plugin_status ) );
103
- }
104
- ?>
105
- <h3><?php esc_html_e( 'Plugin Update Options', 'stops-core-theme-and-plugin-updates' ); ?></h3>
106
- <?php
107
- $core_options = MPSUM_Updates_Manager::get_options( 'core' );
108
- if ( false === $this->can_update() ) {
109
- printf( '<div class="error"><p><strong>%s</strong></p></div>', esc_html__( 'All plugin updates have been disabled.', 'stops-core-theme-and-plugin-updates' ) );
110
- }
111
- printf( '<div id="eum-save-settings-warning" class="warning"><p>%s</p></div>', esc_html__( 'Remember to save your settings', 'stops-core-theme-and-plugin-updates') );
112
- $plugin_table = new MPSUM_Plugins_List_Table( $args = array( 'screen' => $this->slug, 'tab' => $this->tab ) );
113
- $plugin_table->prepare_items();
114
- $plugin_table->views();
115
- $plugin_table->display();
116
- submit_button('Save','primary','submit', true, array('id' => 'eum-save-settings'));
117
- ?>
118
- </form>
119
- <?php
120
  } //end tab_output_plugins
121
  }
49
  * Determine whether the plugins can be updated or not.
50
  *
51
  * @since 5.0.0
 
52
  *
53
  * @return bool True if the plugins can be updated, false if not.
54
  */
55
+ public static function can_update_plugins() {
56
  $core_options = MPSUM_Updates_Manager::get_options( 'core' );
57
  if ( isset( $core_options[ 'all_updates' ] ) && 'off' == $core_options[ 'all_updates' ] ) {
58
  return false;
93
  * @internal Uses the mpsum_admin_tab_plugins action
94
  */
95
  public function tab_output() {
96
+ $params = array(
97
+ 'can_update' => self::can_update_plugins(),
98
+ 'slug' => $this->slug,
99
+ 'tab' => $this->tab,
100
+ 'paged' => '1',
101
+ 'view' => 'all'
102
+ );
103
+ Easy_Updates_Manager()->include_template('admin-tab-plugins.php', false, $params);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
104
  } //end tab_output_plugins
105
  }
includes/MPSUM_Admin_Themes.php CHANGED
@@ -50,11 +50,10 @@ class MPSUM_Admin_Themes {
50
  * Determine whether the themes can be updated or not.
51
  *
52
  * @since 5.0.0
53
- * @access private
54
  *
55
  * @return bool True if the themes can be updated, false if not.
56
  */
57
- private function can_update() {
58
  $core_options = MPSUM_Updates_Manager::get_options( 'core' );
59
  if ( isset( $core_options[ 'all_updates' ] ) && 'off' == $core_options[ 'all_updates' ] ) {
60
  return false;
@@ -76,30 +75,14 @@ class MPSUM_Admin_Themes {
76
  * @internal Uses the mpsum_admin_tab_themes action
77
  */
78
  public function tab_output() {
79
- ?>
80
- <form action="<?php echo esc_url( add_query_arg( array() ) ); ?>" method="post">
81
- <?php
82
- $theme_status = isset( $_GET[ 'theme_status' ] ) ? $_GET[ 'theme_status' ] : false;
83
- if ( false !== $theme_status ) {
84
- printf( '<input type="hidden" name="theme_status" value="%s" />', esc_attr( $theme_status ) );
85
- }
86
- ?>
87
- <h3><?php esc_html_e( 'Theme Update Options', 'stops-core-theme-and-plugin-updates' ); ?></h3>
88
- <?php
89
- $core_options = MPSUM_Updates_Manager::get_options( 'core' );
90
-
91
- if ( false === $this->can_update() ) {
92
- printf( '<div class="error"><p><strong>%s</strong></p></div>', esc_html__( 'All theme updates have been disabled.', 'stops-core-theme-and-plugin-updates' ) );
93
- }
94
- printf( '<div id="eum-save-settings-warning" class="warning"><p>%s</p></div>', esc_html__( 'Remember to save your settings', 'stops-core-theme-and-plugin-updates') );
95
- $theme_table = new MPSUM_Themes_List_Table( $args = array( 'screen' => $this->slug, 'tab' => $this->tab ) );
96
- $theme_table->prepare_items();
97
- $theme_table->views();
98
- $theme_table->display();
99
- submit_button('Save','primary','submit', true, array('id' => 'eum-save-settings'));
100
- ?>
101
- </form>
102
- <?php
103
  } //end tab_output_plugins
104
 
105
  /**
50
  * Determine whether the themes can be updated or not.
51
  *
52
  * @since 5.0.0
 
53
  *
54
  * @return bool True if the themes can be updated, false if not.
55
  */
56
+ public static function can_update_themes() {
57
  $core_options = MPSUM_Updates_Manager::get_options( 'core' );
58
  if ( isset( $core_options[ 'all_updates' ] ) && 'off' == $core_options[ 'all_updates' ] ) {
59
  return false;
75
  * @internal Uses the mpsum_admin_tab_themes action
76
  */
77
  public function tab_output() {
78
+ $params = array(
79
+ 'can_update' => self::can_update_themes(),
80
+ 'slug' => $this->slug,
81
+ 'tab' => $this->tab,
82
+ 'paged' => '1',
83
+ 'view' => 'all'
84
+ );
85
+ Easy_Updates_Manager()->include_template('admin-tab-themes.php', false, $params);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
86
  } //end tab_output_plugins
87
 
88
  /**
includes/MPSUM_Advanced_Premium.php ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if (!defined('ABSPATH')) die('No direct access.');
3
+
4
+ if (class_exists('MPSUM_Advanced_Premium')) return;
5
+
6
+ /**
7
+ * Class MPSUM_Advanced_Premium
8
+ *
9
+ * Add an advanced tab for going premium
10
+ */
11
+ class MPSUM_Advanced_Premium {
12
+
13
+ /**
14
+ * MPSUM_Advanced_Premium constructor.
15
+ */
16
+ public function __construct() {
17
+ add_action('mpsum_admin_tab_premium', array($this, 'settings'));
18
+ }
19
+
20
+ /**
21
+ * Returns a singleton instance
22
+ *
23
+ * @return MPSUM_Advanced_Premium object
24
+ */
25
+ public static function get_instance() {
26
+ static $instance = null;
27
+ if ( null === $instance ) {
28
+ $instance = new self();
29
+ }
30
+ return $instance;
31
+ }
32
+
33
+ /**
34
+ * Outputs feature settings
35
+ */
36
+ public function settings() {
37
+ Easy_Updates_Manager()->include_template('advanced-premium.php');
38
+ }
39
+ }
includes/MPSUM_Check_Plugin_Install_Status.php ADDED
@@ -0,0 +1,135 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if (!defined('ABSPATH')) die('No direct access.');
3
+
4
+ if (class_exists('MPSUM_Check_Plugin_Install_Status')) return;
5
+
6
+ /**
7
+ * Class MPSUM_Check_Plugin_Install_Status
8
+ * Credit: https://github.com/WebDevStudios/WDS-Active-Plugin-Data
9
+ */
10
+ class MPSUM_Check_Plugin_Install_Status {
11
+
12
+ /**
13
+ * List available plugins
14
+ *
15
+ * @var array Available plugins in /wp-content/plugins/
16
+ *
17
+ * @since 8.0.1
18
+ */
19
+ private $available_plugins = array();
20
+
21
+ /**
22
+ * List every plugin for every site
23
+ *
24
+ * @var array Active plugins list for every site
25
+ *
26
+ * @since 8.0.1
27
+ */
28
+ private $all_sites_active_plugins = array();
29
+
30
+ /**
31
+ * List of sites.
32
+ *
33
+ * @var array List of sites
34
+ *
35
+ * @since 8.0.1
36
+ */
37
+ private $sites = array();
38
+
39
+ /**
40
+ * MPSUM_Check_Plugin_Install_Status constructor.
41
+ */
42
+ private function __construct() {
43
+ if(is_multisite()) {
44
+ $this->get_all_sites_active_plugins();
45
+ }
46
+ }
47
+
48
+ /**
49
+ * Returns a singleton instance
50
+ *
51
+ * @return MPSUM_Check_Plugin_Install_Status object
52
+ */
53
+ public static function get_instance() {
54
+ static $instance = null;
55
+ if (null === $instance) {
56
+ $instance = new self();
57
+ }
58
+ return $instance;
59
+ }
60
+
61
+ /**
62
+ * Query for our available plugins
63
+ *
64
+ * @since 8.0.1
65
+ */
66
+ public function get_available_plugins() {
67
+ if (empty($this->available_plugins)) {
68
+ $this->available_plugins = get_plugins();
69
+ }
70
+ return $this->available_plugins;
71
+ }
72
+
73
+ /**
74
+ * Query for our sites
75
+ *
76
+ * @since 8.0.1
77
+ */
78
+ public function get_sites() {
79
+ $blog_count = get_blog_count();
80
+ if (empty( $this->sites)) {
81
+ $this->sites = get_sites(array('deleted' => false, 'number' => $blog_count));
82
+ }
83
+ return $this->sites;
84
+ }
85
+
86
+ /**
87
+ * Get active plugins list for every site and store to a transient
88
+ *
89
+ * @return array of all active site plugins
90
+ *
91
+ * @since 8.0.1
92
+ */
93
+ public function get_all_sites_active_plugins() {
94
+ global $wpdb;
95
+ if (!empty( $this->all_sites_active_plugins)) {
96
+ return $this->all_sites_active_plugins;
97
+ }
98
+ $exists = get_site_transient('eum_all_sites_active_plugins');
99
+ if ($exists) {
100
+ $this->all_sites_active_plugins = $exists;
101
+ return $this->all_sites_active_plugins;
102
+ }
103
+ $sites = $this->get_sites();
104
+ if (empty($sites)) {
105
+ return;
106
+ }
107
+ foreach ($sites as $site) {
108
+ $blog_id = absint($site->blog_id);
109
+ switch_to_blog($blog_id);
110
+ $option = get_option('active_plugins');
111
+ $this->all_sites_active_plugins[$blog_id] = array();
112
+ $this->all_sites_active_plugins[$blog_id] = maybe_unserialize($option);
113
+ }
114
+ restore_current_blog();
115
+ set_site_transient('eum_all_sites_active_plugins', $this->all_sites_active_plugins, 86400);
116
+ return $this->all_sites_active_plugins;
117
+ }
118
+
119
+ /**
120
+ * Determines if a plugin is active on any site in the network
121
+ *
122
+ * @param string $plugin_file plugin to check
123
+ *
124
+ * @return bool
125
+ */
126
+ public function is_plugin_active_on_any_site($plugin_file) {
127
+ $active = false;
128
+ foreach($this->get_all_sites_active_plugins() as $plugins) {
129
+ if (in_array($plugin_file, $plugins)) {
130
+ $active = true;
131
+ }
132
+ }
133
+ return $active;
134
+ }
135
+ }
includes/MPSUM_Check_Theme_Install_Status.php ADDED
@@ -0,0 +1,116 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if (!defined('ABSPATH')) die('No direct access.');
3
+
4
+ if (class_exists('MPSUM_Check_Theme_Install_Status')) return;
5
+
6
+ /**
7
+ * Class MPSUM_Check_Plugin_Install_Status
8
+ * Credit: https://github.com/WebDevStudios/WDS-Active-Plugin-Data
9
+ */
10
+ class MPSUM_Check_Theme_Install_Status {
11
+
12
+ /**
13
+ * List available themes
14
+ *
15
+ * @var array Available themes in /wp-content/themes/
16
+ *
17
+ * @since 8.0.1
18
+ */
19
+ private $available_themes = array();
20
+
21
+ /**
22
+ * List every theme for every site
23
+ *
24
+ * @var array Active themes list for every site
25
+ *
26
+ * @since 8.0.1
27
+ */
28
+ private $all_sites_active_themes = array();
29
+
30
+ /**
31
+ * List of sites.
32
+ *
33
+ * @var array List of sites
34
+ *
35
+ * @since 8.0.1
36
+ */
37
+ private $sites = array();
38
+
39
+ /**
40
+ * MPSUM_Check_Theme_Install_Status constructor.
41
+ */
42
+ private function __construct() {
43
+ if(is_multisite()) {
44
+ $this->get_all_sites_active_themes();
45
+ }
46
+ }
47
+
48
+ /**
49
+ * Returns a singleton instance
50
+ *
51
+ * @return MPSUM_Check_Theme_Install_Status object
52
+ */
53
+ public static function get_instance() {
54
+ static $instance = null;
55
+ if (null === $instance) {
56
+ $instance = new self();
57
+ }
58
+ return $instance;
59
+ }
60
+
61
+ /**
62
+ * Query for our available themes
63
+ *
64
+ * @since 8.0.1
65
+ */
66
+ public function get_available_themes() {
67
+ if (empty($this->available_themes)) {
68
+ $this->available_themes = wp_get_themes();
69
+ }
70
+ return $this->available_themes;
71
+ }
72
+
73
+ /**
74
+ * Query for our sites
75
+ *
76
+ * @since 8.0.1
77
+ */
78
+ public function get_sites() {
79
+ $blog_count = get_blog_count();
80
+ if (empty( $this->sites)) {
81
+ $this->sites = get_sites(array('deleted' => false, 'number' => $blog_count));
82
+ }
83
+ return $this->sites;
84
+ }
85
+
86
+ /**
87
+ * Get active themes list for every site and store to a transient
88
+ *
89
+ * @return array of all active site themes
90
+ *
91
+ * @since 8.0.1
92
+ */
93
+ public function get_all_sites_active_themes() {
94
+ global $wpdb;
95
+ $exists = get_site_transient('eum_all_sites_active_themes');
96
+ if ($exists) {
97
+ $this->all_sites_active_themes = $exists;
98
+ return $this->all_sites_active_themes;
99
+ }
100
+ $sites = $this->get_sites();
101
+ if (empty($sites)) {
102
+ return;
103
+ }
104
+ foreach ($sites as $site) {
105
+ $blog_id = absint($site->blog_id);
106
+ $themes = wp_get_themes(array('blog_id' => $blog_id));
107
+ $this->all_sites_active_themes[$blog_id] = array();
108
+ if (!empty($themes)) {
109
+ $this->all_sites_active_themes[$blog_id] = maybe_unserialize($themes);
110
+ }
111
+ }
112
+ set_site_transient('eum_all_sites_active_themes', $this->all_sites_active_themes, 86400);
113
+ return $this->all_sites_active_themes;
114
+ }
115
+
116
+ }
includes/MPSUM_Commands.php ADDED
@@ -0,0 +1,507 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ if (!defined('ABSPATH')) die('No direct access allowed');
4
+
5
+ /**
6
+ * All commands that are intended to be available for calling from any sort of control interface (e.g. wp-admin, UpdraftCentral) go in here. All public methods should either return the data to be returned, or a WP_Error with associated error code, message and error data.
7
+ */
8
+ class MPSUM_Commands {
9
+
10
+ /**
11
+ * Holds instance of MPSUM_Admin_Ajax class
12
+ *
13
+ * @var object
14
+ */
15
+ private $admin_ajax;
16
+
17
+ /**
18
+ * Holds instance of MPSUM_Premium_Admin_Ajax class
19
+ *
20
+ * @var object
21
+ */
22
+ private $premium_admin_ajax;
23
+
24
+ /**
25
+ * MPSUM_Commands class constructor.
26
+ */
27
+ public function __construct() {
28
+ $this->admin_ajax = MPSUM_Admin_Ajax::get_instance();
29
+ if (Easy_Updates_Manager()->is_premium()) {
30
+ $this->premium_admin_ajax = MPSUM_Premium_Admin_Ajax::get_instance();
31
+ }
32
+ }
33
+
34
+ /**
35
+ * Retrieve and return version of the plugin
36
+ *
37
+ * @return string Version of the plugin
38
+ */
39
+ public function get_version() {
40
+ return EASY_UPDATES_MANAGER_VERSION;
41
+ }
42
+
43
+ /**
44
+ * Retrieves core options and returns to construct general tab content
45
+ *
46
+ * @param array $data - Data from the remote call
47
+ *
48
+ * @return array|string An array of core options or error message
49
+ */
50
+ public function get_general_contents($data) {
51
+ $options = MPSUM_Updates_Manager::get_options('core', true);
52
+ if (empty($options)) {
53
+ $options = MPSUM_Admin_Core::get_defaults();
54
+ }
55
+ return $options;
56
+ }
57
+
58
+ /**
59
+ * Saves core options and return updated core options
60
+ *
61
+ * @param array $data - Data from the remote call
62
+ *
63
+ * @return array|string An array of core options or an error message
64
+ */
65
+ public function save_general_options($data) {
66
+ $options = $data['data']['data'];
67
+ $decoded_options = $this->_get_decoded_options($options);
68
+ MPSUM_Updates_Manager::update_options($decoded_options, 'core');
69
+ return MPSUM_Updates_Manager::get_options('core');
70
+ }
71
+
72
+ /**
73
+ * UC Sends `id`s of button elements which is converted to option key here
74
+ *
75
+ * @param array $options An array of updated options from remote call
76
+ *
77
+ * @return array An array of decoded options
78
+ */
79
+ private function _get_decoded_options($options) {
80
+ $decoded_options = array();
81
+ foreach ($options as $option) {
82
+ $pos = strrpos($option, '-');
83
+ $value = substr($option, $pos+1);
84
+ $key = substr($option, 0, strlen($option) - (strlen($value) + 1));
85
+ $key = str_replace('-','_',$key);
86
+ $decoded_options[$key] = $value;
87
+ }
88
+ return $decoded_options;
89
+ }
90
+
91
+ /**
92
+ * Plugin tab content template
93
+ *
94
+ * @param array $data - Data from the remote call
95
+ *
96
+ * @return string Returns plugin tab content as HTML string
97
+ */
98
+ public function get_plugins_contents($data) {
99
+ if (!current_user_can('update_plugins')) {
100
+ return __('User has insufficient capability to update plugins', 'stops-core-theme-and-plugin-updates');
101
+ }
102
+ $args = $this->_get_paged_view_status($data);
103
+ return Easy_Updates_Manager()->include_template('admin-tab-plugins.php', true, $args);
104
+ }
105
+
106
+ /**
107
+ * Saves plugin update options
108
+ *
109
+ * @param array $data - Data from the remote call
110
+ *
111
+ * @return string Returns plugin tab content as HTML string
112
+ */
113
+ public function save_plugins_update_options($data) {
114
+ $args = $this->_get_paged_view_status($data);
115
+ parse_str($data['data']['data'], $updated_options);
116
+ $this->admin_ajax->save_plugins_update_options($updated_options);
117
+ return Easy_Updates_Manager()->include_template('admin-tab-plugins.php', true, $args);
118
+ }
119
+
120
+ /**
121
+ * Saves plugin options performed via bulk actions
122
+ *
123
+ * @param array $data - Data from the remote call
124
+ *
125
+ * @return string Returns plugin tab content as HTML string
126
+ */
127
+ public function bulk_action_plugins_update_options($data) {
128
+ $args = $this->_get_paged_view_status($data);
129
+ parse_str($data['data']['data'], $updated_options);
130
+ $this->admin_ajax->bulk_action_plugins_update_options($updated_options);
131
+ return Easy_Updates_Manager()->include_template('admin-tab-plugins.php', true, $args);
132
+ }
133
+
134
+ /**
135
+ * Theme tab content template
136
+ *
137
+ * @param array $data - Data from the remote call
138
+ *
139
+ * @return string Returns theme tab content as HTML string
140
+ */
141
+ public function get_themes_contents($data) {
142
+ if (!current_user_can('update_themes')) {
143
+ return __('User has insufficient capability to update themes', 'stops-core-theme-and-plugin-updates');
144
+ }
145
+ $args = $this->_get_paged_view_status($data);
146
+ return Easy_Updates_Manager()->include_template('admin-tab-themes.php', true, $args);
147
+ }
148
+
149
+ /**
150
+ * Saves theme update options
151
+ *
152
+ * @param array $data - Data from the remote call
153
+ *
154
+ * @return string Returns theme tab content as HTML string
155
+ */
156
+ public function save_themes_update_options($data) {
157
+ $args = $this->_get_paged_view_status($data);
158
+ parse_str($data['data']['data'], $updated_options);
159
+ $this->admin_ajax->save_themes_update_options($updated_options);
160
+ return Easy_Updates_Manager()->include_template('admin-tab-themes.php', true, $args);
161
+ }
162
+
163
+ /**
164
+ * Saves theme options performed via bulk actions
165
+ *
166
+ * @param array $data - Data from the remote call
167
+ *
168
+ * @return string Returns theme tab content as HTML string
169
+ */
170
+ public function bulk_action_themes_update_options($data) {
171
+ $args = $this->_get_paged_view_status($data);
172
+ parse_str($data['data']['data'], $updated_options);
173
+ $this->admin_ajax->bulk_action_themes_update_options($updated_options);
174
+ return Easy_Updates_Manager()->include_template('admin-tab-themes.php', true, $args);
175
+ }
176
+
177
+ /**
178
+ * Logs tab content template
179
+ *
180
+ * @param array $data - Data from the remote call
181
+ *
182
+ * @return string Returns logs tab content as HTML string
183
+ */
184
+ public function get_logs_contents($data) {
185
+ $paged = isset($data['data']['paged']) ? $data['data']['paged'] : '1';
186
+ $view = isset($data['data']['view']) ? $data['data']['view'] : 'all';
187
+ $m = isset($data['data']['m']) ? $data['data']['m'] : 'all';
188
+ $status = isset($data['data']['status']) ? $data['data']['status'] : 'all';
189
+ $action_type = isset($data['data']['action_type']) ? $data['data']['action_type'] : 'all';
190
+ $type = isset($data['data']['type']) ? $data['data']['type'] : 'all';
191
+ $is_search = isset($data['data']['is_search']) ? $data['data']['is_search'] : false;
192
+ $search_term = isset($data['data']['search_term']) ? $data['data']['search_term'] : '';
193
+
194
+ $args = array('paged' => $paged, 'view' => $view, 'status' => $status, 'action_type' => $action_type, 'type' => $type, 'm' => $m, 'is_search' => $is_search, 'search_term' => $search_term );
195
+ return Easy_Updates_Manager()->include_template('admin-tab-logs.php', true, $args);
196
+ }
197
+
198
+ /**
199
+ * Advanced tab content template
200
+ *
201
+ * @param array $data - Data from the remote call
202
+ *
203
+ * @return string Returns advanced tab content as HTML string
204
+ */
205
+ public function get_advanced_contents($data) {
206
+ new MPSUM_Admin_Advanced();
207
+ if (Easy_Updates_Manager()->is_premium()) {
208
+ new MPSUM_Premium();
209
+ }
210
+ return Easy_Updates_Manager()->include_template('admin-tab-advanced.php', true);
211
+ }
212
+
213
+ /**
214
+ * Checks whether logging is enabled or not
215
+ *
216
+ * @return bool Return true if logging is enabled, otherwise false
217
+ */
218
+ public function is_logs_enabled() {
219
+ $options = MPSUM_Updates_Manager::get_options('core');
220
+ if (isset($options['logs']) && 'on' == $options['logs']) {
221
+ return true;
222
+ }
223
+ return false;
224
+ }
225
+
226
+ /**
227
+ * Forces updates immediately
228
+ *
229
+ * @return string Confirmation message of forced updates
230
+ */
231
+ public function force_updates() {
232
+ if (!$this->user_can_update()) {
233
+ return __('User has insufficient capability to do updates', 'stops-core-theme-and-plugin-updates');
234
+ }
235
+ return $this->admin_ajax->force_updates();
236
+ }
237
+
238
+ /**
239
+ * Saves logs settings
240
+ *
241
+ * @param array $data - Data from the remote call
242
+ *
243
+ * @return string Confirmation message of saved log option
244
+ */
245
+ public function save_logs_settings($data) {
246
+ if (!current_user_can('manage_options')) {
247
+ return __('User has insufficient capability to save options', 'stops-core-theme-and-plugin-updates');
248
+ }
249
+ return $this->premium_admin_ajax->save_logs_settings($data);
250
+ }
251
+
252
+ /**
253
+ * Export settings as json file
254
+ *
255
+ * @return string Confirmation message
256
+ */
257
+ public function export_settings() {
258
+ if (!$this->user_can_update()) {
259
+ return __('User has insufficient capability to manage options', 'stops-core-theme-and-plugin-updates');
260
+ }
261
+ return $this->premium_admin_ajax->export_settings();
262
+ }
263
+
264
+ /**
265
+ * Export settings as json file
266
+ *
267
+ * @param array $data - Data from the remote call
268
+ *
269
+ * @return string Confirmation message
270
+ */
271
+ public function import_settings($data) {
272
+ if (!$this->user_can_update()) {
273
+ return __('User has insufficient capability to manage options', 'stops-core-theme-and-plugin-updates');
274
+ }
275
+ return $this->premium_admin_ajax->import_settings($data['data']);
276
+ }
277
+
278
+ /**
279
+ * Saves excluded users option
280
+ *
281
+ * @param array $data - Data from the remote call
282
+ *
283
+ * @return string Confirmation message of saved users
284
+ */
285
+ public function save_excluded_users($data) {
286
+ if (!current_user_can('promote_users')) {
287
+ return __('User has insufficient capability to promote users', 'stops-core-theme-and-plugin-updates');
288
+ }
289
+ return $this->admin_ajax->save_excluded_users($data);
290
+ }
291
+
292
+ /**
293
+ * Enable auto back
294
+ *
295
+ * @return string Confirmation message of enabling auto backup
296
+ */
297
+ public function enable_auto_backup() {
298
+ if (!current_user_can('manage_options')) {
299
+ return __('User has insufficient capability to take backups', 'stops-core-theme-and-plugin-updates');
300
+ }
301
+ return $this->premium_admin_ajax->enable_auto_backup();
302
+ }
303
+
304
+ /**
305
+ * Disable auto back
306
+ *
307
+ * @return string Confirmation message of enabling auto backup
308
+ */
309
+ public function disable_auto_backup() {
310
+ if (!current_user_can('manage_options')) {
311
+ return __('User has insufficient capability to take backups', 'stops-core-theme-and-plugin-updates');
312
+ }
313
+ return $this->premium_admin_ajax->disable_auto_backup();
314
+ }
315
+
316
+ /**
317
+ * Save update cron schedule
318
+ *
319
+ * @param array $data - Data from the remote call
320
+ *
321
+ * @return string Returns next schedule message
322
+ */
323
+ public function save_cron_schedule($data) {
324
+ if (!current_user_can('manage_options')) {
325
+ return __('User has insufficient capability to take backups', 'stops-core-theme-and-plugin-updates');
326
+ }
327
+ return $this->premium_admin_ajax->save_cron_schedule($data);
328
+ }
329
+
330
+ /**
331
+ * Save delayed update duration
332
+ *
333
+ * @param array $data - Data from the remote call
334
+ *
335
+ * @return string Returns success message
336
+ */
337
+ public function save_delay_updates($data) {
338
+ if (!current_user_can('manage_options')) {
339
+ return __('User has insufficient capability to manage options', 'stops-core-theme-and-plugin-updates');
340
+ }
341
+ return $this->premium_admin_ajax->save_delay_updates($data);
342
+ }
343
+
344
+ /**
345
+ * Save anonymize update options
346
+ *
347
+ * @param array $data - Data from the remote call
348
+ *
349
+ * @return string Returns success message
350
+ */
351
+ public function save_anonymize_updates($data) {
352
+ if (!current_user_can('manage_options')) {
353
+ return __('User has insufficient capability to manage options', 'stops-core-theme-and-plugin-updates');
354
+ }
355
+ return $this->premium_admin_ajax->save_anonymize_updates($data);
356
+ }
357
+
358
+
359
+ /**
360
+ * Enables logging
361
+ *
362
+ * @return string Confirmation message
363
+ */
364
+ public function enable_logs() {
365
+ return $this->admin_ajax->enable_logs();
366
+ }
367
+
368
+ /**
369
+ * Checks to see if plugins are in the WordPress Directory
370
+ *
371
+ * @param array $data An array of updated options
372
+ *
373
+ * @return string|array Result of ajax call
374
+ */
375
+ public function check_plugins($data) {
376
+ if (!current_user_can('manage_options')) {
377
+ return __('User has insufficient capability to manage options', 'stops-core-theme-and-plugin-updates');
378
+ }
379
+ return $this->premium_admin_ajax->check_plugins($data);
380
+ }
381
+
382
+ /**
383
+ * Enables White-list
384
+ *
385
+ * @param array $data An array of updated options
386
+ *
387
+ * @return string Confirmation message
388
+ */
389
+ public function whitelist_save($data) {
390
+ if (!current_user_can('manage_options')) {
391
+ return __('User has insufficient capability to manage options', 'stops-core-theme-and-plugin-updates');
392
+ }
393
+ return $this->premium_admin_ajax->whitelist_save($data['data']);
394
+ }
395
+
396
+ /**
397
+ * Reset White-list
398
+ *
399
+ * @param array $data An array of updated options
400
+ *
401
+ * @return string Confirmation message
402
+ */
403
+ public function whitelist_reset($data) {
404
+ if (!current_user_can('manage_options')) {
405
+ return __('User has insufficient capability to manage options', 'stops-core-theme-and-plugin-updates');
406
+ }
407
+ return $this->premium_admin_ajax->whitelist_reset($data);
408
+ }
409
+
410
+ /**
411
+ * Enables webhook
412
+ *
413
+ * @param array $data An array of updated options
414
+ *
415
+ * @return string Confirmation message
416
+ */
417
+ public function enable_webhook($data) {
418
+ if (!current_user_can('manage_options')) {
419
+ return __('User has insufficient capability to manage options', 'stops-core-theme-and-plugin-updates');
420
+ }
421
+ return $this->premium_admin_ajax->enable_webhook($data);
422
+ }
423
+
424
+ /**
425
+ * Disables webhook
426
+ *
427
+ * @param array $data An array of updated options
428
+ *
429
+ * @return string Confirmation message
430
+ */
431
+ public function disable_webhook($data) {
432
+ if (!current_user_can('manage_options')) {
433
+ return __('User has insufficient capability to manage options', 'stops-core-theme-and-plugin-updates');
434
+ }
435
+ return $this->premium_admin_ajax->disable_webhook($data);
436
+ }
437
+
438
+ /**
439
+ * Enables safe mode
440
+ *
441
+ * @param array $data An array of updated options
442
+ *
443
+ * @return string Confirmation message
444
+ */
445
+ public function enable_safe_mode($data) {
446
+ if (!current_user_can('manage_options')) {
447
+ return __('User has insufficient capability to manage options', 'stops-core-theme-and-plugin-updates');
448
+ }
449
+ return $this->premium_admin_ajax->enable_safe_mode($data);
450
+ }
451
+
452
+ /**
453
+ * Disables safe mode
454
+ *
455
+ * @param array $data An array of updated options
456
+ *
457
+ * @return string Confirmation message
458
+ */
459
+ public function disable_safe_mode($data) {
460
+ if (!current_user_can('manage_options')) {
461
+ return __('User has insufficient capability to manage options', 'stops-core-theme-and-plugin-updates');
462
+ }
463
+ return $this->premium_admin_ajax->disable_safe_mode($data);
464
+ }
465
+
466
+ /**
467
+ * Clears logs
468
+ *
469
+ * @return string Confirmation message
470
+ */
471
+ public function clear_logs() {
472
+ return $this->admin_ajax->clear_logs();
473
+ }
474
+
475
+ /**
476
+ * Resets all options
477
+ *
478
+ * @return string Confirmation message
479
+ */
480
+ public function reset_options() {
481
+ return $this->admin_ajax->reset_options();
482
+ }
483
+
484
+ /**
485
+ * Returns paged argument and view filter argument
486
+ *
487
+ * @param array $data - Data from the remote call
488
+ *
489
+ * @return array
490
+ */
491
+ private function _get_paged_view_status($data) {
492
+ $paged = isset($data['data']['paged']) ? $data['data']['paged'] : '1';
493
+ $view = isset($data['data']['view']) ? $data['data']['view'] : 'all';
494
+ return array('paged' => $paged, 'view' => $view);
495
+ }
496
+
497
+ /**
498
+ * Checks whether you can do updates to core, plugins and themes
499
+ *
500
+ * @return bool True if user can do updates, false otherwise
501
+ */
502
+ private function user_can_update() {
503
+ if (current_user_can('update_themes') && current_user_can('update_plugins') && current_user_can('update_core')) return true;
504
+ return false;
505
+ }
506
+
507
+ }
includes/MPSUM_Disable_Updates.php CHANGED
@@ -160,7 +160,7 @@ class MPSUM_Disable_Updates {
160
  add_filter( 'site_transient_update_plugins', array( $this, 'disable_plugin_notifications' ), 50 );
161
  add_filter( 'site_transient_update_themes', array( $this, 'disable_theme_notifications' ), 50 );
162
  add_filter( 'http_request_args', array( $this, 'http_request_args_remove_plugins_themes' ), 5, 2 );
163
-
164
  } //end constructor
165
 
166
  /**
@@ -336,7 +336,9 @@ class MPSUM_Disable_Updates {
336
  * @return array Updated Request array
337
  */
338
  public function http_request_args_remove_plugins_themes( $r, $url ) {
339
- if ( 0 !== strpos( $url, 'https://api.wordpress.org/plugins/update-check/1.1/' ) ) return $r;
 
 
340
 
341
  if ( isset( $r[ 'body' ][ 'plugins' ] ) ) {
342
  $r_plugins = json_decode( $r[ 'body' ][ 'plugins' ], true );
160
  add_filter( 'site_transient_update_plugins', array( $this, 'disable_plugin_notifications' ), 50 );
161
  add_filter( 'site_transient_update_themes', array( $this, 'disable_theme_notifications' ), 50 );
162
  add_filter( 'http_request_args', array( $this, 'http_request_args_remove_plugins_themes' ), 5, 2 );
163
+
164
  } //end constructor
165
 
166
  /**
336
  * @return array Updated Request array
337
  */
338
  public function http_request_args_remove_plugins_themes( $r, $url ) {
339
+ if (!MPSUM_Utils::is_wp_api($url)) {
340
+ return $r;
341
+ }
342
 
343
  if ( isset( $r[ 'body' ][ 'plugins' ] ) ) {
344
  $r_plugins = json_decode( $r[ 'body' ][ 'plugins' ], true );
includes/MPSUM_Disable_Updates_Plugins.php CHANGED
@@ -13,25 +13,28 @@
13
  * Credit - From https://wordpress.org/plugins/disable-wordpress-updates/
14
  */
15
  class MPSUM_Disable_Updates_Plugins {
 
16
  /**
17
  * Constructor
18
  */
19
  public function __construct() {
20
- add_action( 'admin_init', array( $this, 'admin_init' ) );
21
 
22
  /*
23
  * Disable Plugin Updates
24
  * 2.8 to 3.0
25
  */
26
- add_action( 'pre_transient_update_plugins', array( $this, 'last_checked_now' ) );
 
 
 
 
 
27
 
28
  /*
29
- * Disable All Automatic Updates
30
- * 3.7+
31
- *
32
- * @author sLa NGjI's @ slangji.wordpress.com
33
  */
34
- add_filter( 'auto_update_plugin', '__return_false' );
35
 
36
  } //end constructor
37
 
@@ -46,33 +49,60 @@ class MPSUM_Disable_Updates_Plugins {
46
  * Disable Plugin Updates
47
  * 2.8 to 3.0
48
  */
49
- remove_action( 'load-plugins.php', 'wp_update_plugins' );
50
- remove_action( 'load-update.php', 'wp_update_plugins' );
51
- remove_action( 'admin_init', '_maybe_update_plugins' );
52
- remove_action( 'wp_update_plugins', 'wp_update_plugins' );
53
- wp_clear_scheduled_hook( 'wp_update_plugins' );
54
 
55
  /*
56
  * 3.0
57
  */
58
- remove_action( 'load-update-core.php', 'wp_update_plugins' );
59
- wp_clear_scheduled_hook( 'wp_update_plugins' );
 
 
60
 
61
  }
 
 
 
 
 
 
 
 
 
 
 
 
62
 
63
  /**
64
- * Last checked plugin updates
65
  *
66
- * @param array $transient Transient options
 
67
  * @return object
68
  */
69
- public function last_checked_now( $transient ) {
 
 
 
 
 
 
 
70
  include ABSPATH . WPINC . '/version.php';
71
  $current = new stdClass;
72
  $current->updates = array();
73
  $current->version_checked = $wp_version;
74
  $current->last_checked = time();
75
-
 
 
 
 
 
76
  return $current;
77
  }
78
 
13
  * Credit - From https://wordpress.org/plugins/disable-wordpress-updates/
14
  */
15
  class MPSUM_Disable_Updates_Plugins {
16
+
17
  /**
18
  * Constructor
19
  */
20
  public function __construct() {
21
+ add_action('admin_init', array($this, 'admin_init'));
22
 
23
  /*
24
  * Disable Plugin Updates
25
  * 2.8 to 3.0
26
  */
27
+ add_action('pre_transient_update_plugins', array($this, 'last_checked_now'), 10, 2);
28
+
29
+ /*
30
+ * 3.0
31
+ */
32
+ add_filter('pre_site_transient_update_plugins', array($this, 'last_checked_now'), 10, 2);
33
 
34
  /*
35
+ * Disable All Automatic Updates (3.7+)
 
 
 
36
  */
37
+ add_filter('auto_update_plugin', '__return_false');
38
 
39
  } //end constructor
40
 
49
  * Disable Plugin Updates
50
  * 2.8 to 3.0
51
  */
52
+ remove_action('load-plugins.php', 'wp_update_plugins');
53
+ remove_action('load-update.php', 'wp_update_plugins');
54
+ remove_action('admin_init', '_maybe_update_plugins');
55
+ remove_action('wp_update_plugins', 'wp_update_plugins');
56
+ wp_clear_scheduled_hook('wp_update_plugins');
57
 
58
  /*
59
  * 3.0
60
  */
61
+ remove_action('load-update-core.php', 'wp_update_plugins');
62
+ wp_clear_scheduled_hook('wp_update_plugins');
63
+
64
+ add_action('upgrader_process_complete', array($this, 'maybe_clear_transient'), 10, 2);
65
 
66
  }
67
+
68
+ /**
69
+ * Fires when the auto updater is complete
70
+ *
71
+ * @param WP_Upgrader $wp_upgrader WP Upgrder Instance
72
+ * @param array $update_type Type of upgrade it's doing
73
+ */
74
+ public function maybe_clear_transient($wp_upgrader, $update_type) {
75
+ if (isset($update_type['type']) && 'translation' === $update_type['type']) {
76
+ delete_site_transient('eum_plugins_checked');
77
+ }
78
+ }
79
 
80
  /**
81
+ * Last checked core updates
82
  *
83
+ * @param string $transient Specify transients
84
+ * @param string $key Name of the transient
85
  * @return object
86
  */
87
+ public function last_checked_now($transient, $key) {
88
+ $checked = get_site_transient('eum_plugins_checked');
89
+ if($checked) return $checked;
90
+ remove_action('pre_transient_update_plugins', array($this, 'last_checked_now'), 10, 2);
91
+ remove_filter('pre_site_transient_update_plugins', array($this, 'last_checked_now'), 10, 2);
92
+ delete_site_transient($key);
93
+ wp_update_plugins();
94
+ $option = get_site_transient($key);
95
  include ABSPATH . WPINC . '/version.php';
96
  $current = new stdClass;
97
  $current->updates = array();
98
  $current->version_checked = $wp_version;
99
  $current->last_checked = time();
100
+ if (isset($option->translations)) {
101
+ $current->translations = $option->translations;
102
+ }
103
+ add_action('pre_transient_update_plugins', array($this, 'last_checked_now'), 10, 2);
104
+ add_filter('pre_site_transient_update_plugins', array($this, 'last_checked_now'), 10, 2);
105
+ set_site_transient('eum_plugins_checked', $current, 6 * 60 * 60);
106
  return $current;
107
  }
108
 
includes/MPSUM_Disable_Updates_Themes.php CHANGED
@@ -15,14 +15,19 @@ class MPSUM_Disable_Updates_Themes {
15
  * Constructor
16
  */
17
  public function __construct() {
18
- add_action( 'admin_init', array( $this, 'admin_init' ) );
19
 
20
 
21
  /*
22
  * Disable Theme Updates
23
  * 2.8 to 3.0
24
  */
25
- add_filter( 'pre_transient_update_themes', array( $this, 'last_checked_now' ) );
 
 
 
 
 
26
 
27
  /*
28
  * Disable All Automatic Updates
@@ -30,7 +35,7 @@ class MPSUM_Disable_Updates_Themes {
30
  *
31
  * @author sLa NGjI's @ slangji.wordpress.com
32
  */
33
- add_filter( 'auto_update_theme', '__return_false' );
34
 
35
  } //end constructor
36
 
@@ -45,34 +50,59 @@ class MPSUM_Disable_Updates_Themes {
45
  * Disable Theme Updates
46
  * 2.8 to 3.0
47
  */
48
- remove_action( 'load-themes.php', 'wp_update_themes' );
49
- remove_action( 'load-update.php', 'wp_update_themes' );
50
- remove_action( 'admin_init', '_maybe_update_themes' );
51
- remove_action( 'wp_update_themes', 'wp_update_themes' );
52
- wp_clear_scheduled_hook( 'wp_update_themes' );
53
 
54
  /*
55
  * 3.0
56
  */
57
- remove_action( 'load-update-core.php', 'wp_update_themes' );
58
- wp_clear_scheduled_hook( 'wp_update_themes' );
 
 
59
 
60
  }
61
 
62
  /**
63
- * Last checked theme updates
64
- *
65
- * @param array $transient transient options
66
  *
 
 
 
 
 
 
 
 
 
 
 
 
 
67
  * @return object
68
  */
69
- public function last_checked_now( $transient ) {
 
 
 
 
 
 
 
70
  include ABSPATH . WPINC . '/version.php';
71
  $current = new stdClass;
72
  $current->updates = array();
73
  $current->version_checked = $wp_version;
74
  $current->last_checked = time();
75
-
 
 
 
 
 
76
  return $current;
77
  }
78
 
15
  * Constructor
16
  */
17
  public function __construct() {
18
+ add_action('admin_init', array($this, 'admin_init'));
19
 
20
 
21
  /*
22
  * Disable Theme Updates
23
  * 2.8 to 3.0
24
  */
25
+ add_filter('pre_transient_update_themes', array($this, 'last_checked_now'), 10, 2);
26
+
27
+ /*
28
+ * 3.0 - Commented it out to allow tranlsations - Ronald Huereca
29
+ */
30
+ add_filter('pre_site_transient_update_themes', array($this, 'last_checked_now'), 10, 2);
31
 
32
  /*
33
  * Disable All Automatic Updates
35
  *
36
  * @author sLa NGjI's @ slangji.wordpress.com
37
  */
38
+ add_filter('auto_update_theme', '__return_false');
39
 
40
  } //end constructor
41
 
50
  * Disable Theme Updates
51
  * 2.8 to 3.0
52
  */
53
+ remove_action('load-themes.php', 'wp_update_themes');
54
+ remove_action('load-update.php', 'wp_update_themes');
55
+ remove_action('admin_init', '_maybe_update_themes');
56
+ remove_action('wp_update_themes', 'wp_update_themes');
57
+ wp_clear_scheduled_hook('wp_update_themes');
58
 
59
  /*
60
  * 3.0
61
  */
62
+ remove_action('load-update-core.php', 'wp_update_themes');
63
+ wp_clear_scheduled_hook('wp_update_themes');
64
+
65
+ add_action('upgrader_process_complete', array($this, 'maybe_clear_transient'), 10, 2);
66
 
67
  }
68
 
69
  /**
70
+ * Fires when the auto updater is complete
 
 
71
  *
72
+ * @param WP_Upgrader $wp_upgrader WP Upgrder Instance
73
+ * @param array $update_type Type of upgrade it's doing
74
+ */
75
+ public function maybe_clear_transient($wp_upgrader, $update_type) {
76
+ if (isset($update_type['type']) && 'translation' === $update_type['type']) {
77
+ delete_site_transient('eum_themes_checked');
78
+ }
79
+ }
80
+ /**
81
+ * Last checked core updates
82
+ *
83
+ * @param string $transient Specify transients
84
+ * @param string $key Name of the transient
85
  * @return object
86
  */
87
+ public function last_checked_now($transient, $key) {
88
+ $checked = get_site_transient('eum_themes_checked');
89
+ if($checked) return $checked;
90
+ remove_action('pre_transient_update_themes', array( $this, 'last_checked_now'), 10, 2);
91
+ remove_filter('pre_site_transient_update_themes', array($this, 'last_checked_now'), 10, 2);
92
+ delete_site_transient($key);
93
+ wp_update_themes();
94
+ $option = get_site_transient($key);
95
  include ABSPATH . WPINC . '/version.php';
96
  $current = new stdClass;
97
  $current->updates = array();
98
  $current->version_checked = $wp_version;
99
  $current->last_checked = time();
100
+ if (isset($option->translations)) {
101
+ $current->translations = $option->translations;
102
+ }
103
+ add_action('pre_transient_update_themes', array($this, 'last_checked_now'), 10, 2);
104
+ add_filter('pre_site_transient_update_themes', array($this, 'last_checked_now'), 10, 2);
105
+ set_site_transient('eum_themes_checked', $current, 6 * 60 * 60);
106
  return $current;
107
  }
108
 
includes/MPSUM_Disable_Updates_Translations.php CHANGED
@@ -21,42 +21,42 @@ class MPSUM_Disable_Updates_Translations {
21
  *
22
  * @author sLa NGjI's @ slangji.wordpress.com
23
  */
24
- add_filter( 'auto_update_translation', '__return_false' );
25
 
26
  /*
27
  * Disable Theme Translations
28
  * 2.8 to 3.0
29
  */
30
- add_filter( 'transient_update_themes', array( $this, 'remove_translations' ) );
31
 
32
  /*
33
  * 3.0
34
  */
35
- add_filter( 'site_transient_update_themes', array( $this, 'remove_translations' ) );
36
 
37
 
38
  /*
39
  * Disable Plugin Translations
40
  * 2.8 to 3.0
41
  */
42
- add_action( 'transient_update_plugins', array( $this, 'remove_translations' ) );
43
 
44
  /*
45
  * 3.0
46
  */
47
- add_filter( 'site_transient_update_plugins', array( $this, 'remove_translations' ) );
48
 
49
 
50
  /*
51
  * Disable Core Translations
52
  * 2.8 to 3.0
53
  */
54
- add_filter( 'transient_update_core', array( $this, 'remove_translations' ) );
55
 
56
  /*
57
  * 3.0
58
  */
59
- add_filter( 'site_transient_update_core', array( $this, 'remove_translations' ) );
60
 
61
  } //end constructor
62
 
@@ -64,14 +64,27 @@ class MPSUM_Disable_Updates_Translations {
64
  * Remove translations
65
  *
66
  * @param array $transient Transient options
 
67
  * @return array
68
  */
69
- public function remove_translations( $transient ) {
70
-
71
- if ( is_object( $transient ) && isset( $transient->translations ) ) {
72
- $transient->translations = array();
 
 
 
 
 
 
73
  }
74
- return $transient;
 
 
 
 
 
 
75
  }
76
 
77
  }
21
  *
22
  * @author sLa NGjI's @ slangji.wordpress.com
23
  */
24
+ add_filter('auto_update_translation', '__return_false');
25
 
26
  /*
27
  * Disable Theme Translations
28
  * 2.8 to 3.0
29
  */
30
+ add_filter('pre_transient_update_themes', array($this, 'remove_translations'), 10, 2);
31
 
32
  /*
33
  * 3.0
34
  */
35
+ add_filter('pre_site_transient_update_themes', array($this, 'remove_translations'), 10, 2);
36
 
37
 
38
  /*
39
  * Disable Plugin Translations
40
  * 2.8 to 3.0
41
  */
42
+ add_action('pre_transient_update_plugins', array($this, 'remove_translations'), 10, 2);
43
 
44
  /*
45
  * 3.0
46
  */
47
+ add_filter('pre_site_transient_update_plugins', array($this, 'remove_translations'),10, 2);
48
 
49
 
50
  /*
51
  * Disable Core Translations
52
  * 2.8 to 3.0
53
  */
54
+ add_filter('pre_transient_update_core', array($this, 'remove_translations'),10, 2);
55
 
56
  /*
57
  * 3.0
58
  */
59
+ add_filter('pre_site_transient_update_core', array($this, 'remove_translations'), 10, 2);
60
 
61
  } //end constructor
62
 
64
  * Remove translations
65
  *
66
  * @param array $transient Transient options
67
+ * @param value $key Transient value name
68
  * @return array
69
  */
70
+ public function remove_translations($transient, $key) {
71
+ remove_filter('pre_transient_update_themes', array($this, 'remove_translations'), 10, 2);
72
+ remove_filter('pre_site_transient_update_themes', array($this, 'remove_translations'), 10, 2);
73
+ remove_filter('pre_transient_update_plugins', array($this, 'remove_translations'), 10, 2);
74
+ remove_filter('pre_site_transient_update_plugins', array($this, 'remove_translations'), 10, 2);
75
+ remove_filter('pre_transient_update_core', array($this, 'remove_translations'),10, 2);
76
+ remove_filter('pre_site_transient_update_core', array($this, 'remove_translations'), 10, 2);
77
+ $option = get_site_transient($key);
78
+ if(isset($option->translations)) {
79
+ $option->translations = array();
80
  }
81
+ add_filter('pre_transient_update_themes', array($this, 'remove_translations'), 10, 2);
82
+ add_filter('pre_site_transient_update_themes', array($this, 'remove_translations'), 10, 2);
83
+ add_filter('pre_transient_update_plugins', array($this, 'remove_translations'), 10, 2);
84
+ add_filter('pre_site_transient_update_plugins', array($this, 'remove_translations'), 10, 2);
85
+ add_filter('pre_transient_update_core', array($this, 'remove_translations'),10, 2);
86
+ add_filter('pre_site_transient_update_core', array($this, 'remove_translations'), 10, 2);;
87
+ return $option;
88
  }
89
 
90
  }
includes/MPSUM_Disable_Updates_WordPress.php CHANGED
@@ -15,19 +15,19 @@ class MPSUM_Disable_Updates_WordPress {
15
  * Constructor
16
  */
17
  public function __construct() {
18
- add_action( 'admin_init', array( $this, 'admin_init' ) );
19
 
20
 
21
  /*
22
  * Disable Core Updates
23
  * 2.8 to 3.0
24
  */
25
- add_filter( 'pre_transient_update_core', array( $this, 'last_checked_now' ) );
26
 
27
  /*
28
  * 3.0
29
  */
30
- add_filter( 'pre_site_transient_update_core', array( $this, 'last_checked_now' ) );
31
 
32
 
33
  /*
@@ -36,16 +36,16 @@ class MPSUM_Disable_Updates_WordPress {
36
  *
37
  * @author sLa NGjI's @ slangji.wordpress.com
38
  */
39
- add_filter( 'automatic_updater_disabled', '__return_true' );
40
- add_filter( 'allow_minor_auto_core_updates', '__return_false' );
41
- add_filter( 'allow_major_auto_core_updates', '__return_false' );
42
- add_filter( 'allow_dev_auto_core_updates', '__return_false' );
43
- add_filter( 'auto_update_core', '__return_false' );
44
- add_filter( 'wp_auto_update_core', '__return_false' );
45
- add_filter( 'auto_core_update_send_email', '__return_false' );
46
- add_filter( 'send_core_update_notification_email', '__return_false' );
47
- add_filter( 'automatic_updates_send_debug_email', '__return_false' );
48
- add_filter( 'automatic_updates_is_vcs_checkout', '__return_true' );
49
 
50
  } //end constructor
51
 
@@ -60,39 +60,66 @@ class MPSUM_Disable_Updates_WordPress {
60
  * Disable Core Updates
61
  * 2.8 to 3.0
62
  */
63
- remove_action( 'wp_version_check', 'wp_version_check' );
64
- remove_action( 'admin_init', '_maybe_update_core' );
65
- wp_clear_scheduled_hook( 'wp_version_check' );
66
 
67
 
68
  /*
69
  * 3.0
70
  */
71
- wp_clear_scheduled_hook( 'wp_version_check' );
72
 
73
 
74
  /*
75
  * 3.7+
76
  */
77
- remove_action( 'wp_maybe_auto_update', 'wp_maybe_auto_update' );
78
- remove_action( 'admin_init', 'wp_maybe_auto_update' );
79
- remove_action( 'admin_init', 'wp_auto_update_core' );
80
- wp_clear_scheduled_hook( 'wp_maybe_auto_update' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
81
  }
82
 
83
  /**
84
  * Last checked core updates
85
  *
86
  * @param string $transient Specify transients
 
87
  * @return object
88
  */
89
- public function last_checked_now( $transient ) {
 
 
 
 
 
 
 
90
  include ABSPATH . WPINC . '/version.php';
91
  $current = new stdClass;
92
  $current->updates = array();
93
  $current->version_checked = $wp_version;
94
  $current->last_checked = time();
95
-
 
 
 
 
 
96
  return $current;
97
  }
98
 
15
  * Constructor
16
  */
17
  public function __construct() {
18
+ add_action('admin_init', array($this, 'admin_init'));
19
 
20
 
21
  /*
22
  * Disable Core Updates
23
  * 2.8 to 3.0
24
  */
25
+ add_filter('pre_transient_update_core', array($this, 'last_checked_now'), 10, 2);
26
 
27
  /*
28
  * 3.0
29
  */
30
+ add_filter('pre_site_transient_update_core', array($this, 'last_checked_now'), 10, 2);
31
 
32
 
33
  /*
36
  *
37
  * @author sLa NGjI's @ slangji.wordpress.com
38
  */
39
+ add_filter('automatic_updater_disabled', '__return_true');
40
+ add_filter('allow_minor_auto_core_updates', '__return_false');
41
+ add_filter('allow_major_auto_core_updates', '__return_false');
42
+ add_filter('allow_dev_auto_core_updates', '__return_false');
43
+ add_filter('auto_update_core', '__return_false');
44
+ add_filter('wp_auto_update_core', '__return_false');
45
+ add_filter('auto_core_update_send_email', '__return_false');
46
+ add_filter('send_core_update_notification_email', '__return_false');
47
+ add_filter('automatic_updates_send_debug_email', '__return_false');
48
+ add_filter('automatic_updates_is_vcs_checkout', '__return_true');
49
 
50
  } //end constructor
51
 
60
  * Disable Core Updates
61
  * 2.8 to 3.0
62
  */
63
+ remove_action('wp_version_check', 'wp_version_check');
64
+ remove_action('admin_init', '_maybe_update_core');
65
+ wp_clear_scheduled_hook('wp_version_check');
66
 
67
 
68
  /*
69
  * 3.0
70
  */
71
+ wp_clear_scheduled_hook('wp_version_check');
72
 
73
 
74
  /*
75
  * 3.7+
76
  */
77
+ remove_action('wp_maybe_auto_update', 'wp_maybe_auto_update');
78
+ remove_action('admin_init', 'wp_maybe_auto_update');
79
+ remove_action('admin_init', 'wp_auto_update_core');
80
+ wp_clear_scheduled_hook('wp_maybe_auto_update');
81
+
82
+ add_action('upgrader_process_complete', array($this, 'maybe_clear_transient'), 10, 2);
83
+ }
84
+
85
+ /**
86
+ * Fires when the auto updater is complete
87
+ *
88
+ * @param WP_Upgrader $wp_upgrader WP Upgrder Instance
89
+ * @param array $update_type Type of upgrade it's doing
90
+ */
91
+ public function maybe_clear_transient($wp_upgrader, $update_type) {
92
+ if (isset($update_type['type']) && 'translation' === $update_type['type']) {
93
+ delete_site_transient('eum_core_checked');
94
+ }
95
  }
96
 
97
  /**
98
  * Last checked core updates
99
  *
100
  * @param string $transient Specify transients
101
+ * @param string $key Name of the transient
102
  * @return object
103
  */
104
+ public function last_checked_now($transient, $key) {
105
+ $checked = get_site_transient('eum_core_checked');
106
+ if($checked) return $checked;
107
+ remove_action('pre_transient_update_core', array($this, 'last_checked_now'), 10, 2);
108
+ remove_filter('pre_site_transient_update_core', array($this, 'last_checked_now'), 10, 2);
109
+ delete_site_transient($key);
110
+ wp_version_check();
111
+ $option = get_site_transient($key);
112
  include ABSPATH . WPINC . '/version.php';
113
  $current = new stdClass;
114
  $current->updates = array();
115
  $current->version_checked = $wp_version;
116
  $current->last_checked = time();
117
+ if ( isset($option->translations)) {
118
+ $current->translations = $option->translations;
119
+ }
120
+ add_action('pre_transient_update_core', array($this, 'last_checked_now'), 10, 2 );
121
+ add_filter('pre_site_transient_update_core', array($this, 'last_checked_now'), 10, 2);
122
+ set_site_transient('eum_core_checked', $current, 6 * 60 * 60);
123
  return $current;
124
  }
125
 
includes/MPSUM_Exclude_Users.php ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if (!defined('ABSPATH')) die('No direct access.');
3
+
4
+ if (class_exists('MPSUM_Exclude_Users')) return;
5
+
6
+ /**
7
+ * Class MPSUM_Exclude_Users
8
+ *
9
+ * Handles user exclusion for plugin settings
10
+ */
11
+ class MPSUM_Exclude_Users {
12
+
13
+ /**
14
+ * MPSUM_Exclude_Users constructor.
15
+ */
16
+ private function __construct() {
17
+ add_action('eum_advanced_headings', array($this, 'heading'));
18
+ add_action('eum_advanced_settings', array($this, 'settings'));
19
+ }
20
+
21
+ /**
22
+ * Returns a singleton instance
23
+ *
24
+ * @return MPSUM_Exclude_Users object
25
+ */
26
+ public static function get_instance() {
27
+ static $instance = null;
28
+ if ( null === $instance ) {
29
+ $instance = new self();
30
+ }
31
+ return $instance;
32
+ }
33
+
34
+ /**
35
+ * Outputs feature heading
36
+ */
37
+ public function heading() {
38
+ printf('<div data-menu_name="exclude-users" class="active-menu">%s <span class="eum-advanced-menu-text">%s</span></div>', '<i class="material-icons">stop_screen_share</i>', esc_html__('Exclude users', 'stops-core-theme-and-plugin-updates'));
39
+ }
40
+
41
+ /**
42
+ * Outputs feature settings
43
+ */
44
+ public function settings() {
45
+ Easy_Updates_Manager()->include_template('exclude-users.php');
46
+ }
47
+ }
includes/MPSUM_Force_Updates.php ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if (!defined('ABSPATH')) die('No direct access.');
3
+
4
+ if (class_exists('MPSUM_Force_Updates')) return;
5
+
6
+ /**
7
+ * Class MPSUM_Force_Updates
8
+ *
9
+ * Forces automatic updates to take place immediately
10
+ */
11
+ class MPSUM_Force_Updates {
12
+
13
+ /**
14
+ * MPSUM_Force_Updates constructor.
15
+ */
16
+ private function __construct() {
17
+ add_action('eum_advanced_headings', array($this, 'heading'), 97);
18
+ add_action('eum_advanced_settings', array($this, 'settings'), 97);
19
+ }
20
+
21
+ /**
22
+ * Returns a singleton instance
23
+ *
24
+ * @return MPSUM_Force_Updates object
25
+ */
26
+ public static function get_instance() {
27
+ static $instance = null;
28
+ if ( null === $instance ) {
29
+ $instance = new self();
30
+ }
31
+ return $instance;
32
+ }
33
+
34
+ /**
35
+ * Outputs feature heading
36
+ */
37
+ public function heading() {
38
+ printf('<div data-menu_name="force-updates">%s <span class="eum-advanced-menu-text">%s</span></div>', '<i class="material-icons">sync</i>', esc_html__('Force automatic updates', 'stops-core-theme-and-plugin-updates'));
39
+
40
+ }
41
+
42
+ /**
43
+ * Outputs feature settings
44
+ */
45
+ public function settings() {
46
+ Easy_Updates_Manager()->include_template('force-updates.php');
47
+ }
48
+ }
includes/MPSUM_List_Table.php CHANGED
@@ -120,6 +120,10 @@ class MPSUM_List_Table {
120
  'screen' => null,
121
  ) );
122
 
 
 
 
 
123
  $this->screen = convert_to_screen( $args['screen'] );
124
 
125
  add_filter( "manage_{$this->screen->id}_columns", array( $this, 'get_columns' ), 0 );
@@ -708,6 +712,10 @@ class MPSUM_List_Table {
708
 
709
  $total_items = $this->_pagination_args['total_items'];
710
  $total_pages = $this->_pagination_args['total_pages'];
 
 
 
 
711
  $infinite_scroll = false;
712
  if ( isset( $this->_pagination_args['infinite_scroll'] ) ) {
713
  $infinite_scroll = $this->_pagination_args['infinite_scroll'];
@@ -715,8 +723,6 @@ class MPSUM_List_Table {
715
 
716
  $output = '<span class="displaying-num">' . sprintf( _n( '%s item', '%s items', $total_items ), number_format_i18n( $total_items ) ) . '</span>';
717
 
718
- $current = $this->get_pagenum();
719
-
720
  $current_url = set_url_scheme( 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] );
721
 
722
  $current_url = remove_query_arg( array( 'hotkeys_highlight_last', 'hotkeys_highlight_first' ), $current_url );
@@ -735,7 +741,7 @@ class MPSUM_List_Table {
735
  if ( $current == 2 ) {
736
  $disable_first = true;
737
  }
738
- if ( $current == $total_pages ) {
739
  $disable_last = true;
740
  $disable_next = true;
741
  }
@@ -747,7 +753,7 @@ class MPSUM_List_Table {
747
  $page_links[] = '<span class="tablenav-pages-navspan" aria-hidden="true">&laquo;</span>';
748
  } else {
749
  $page_links[] = sprintf( "<a class='first-page' href='%s'><span class='screen-reader-text'>%s</span><span aria-hidden='true'>%s</span></a>",
750
- esc_url( remove_query_arg( 'paged', $current_url ) ),
751
  __( 'First page' ),
752
  '&laquo;'
753
  );
@@ -757,7 +763,7 @@ class MPSUM_List_Table {
757
  $page_links[] = '<span class="tablenav-pages-navspan" aria-hidden="true">&lsaquo;</span>';
758
  } else {
759
  $page_links[] = sprintf( "<a class='prev-page' href='%s'><span class='screen-reader-text'>%s</span><span aria-hidden='true'>%s</span></a>",
760
- esc_url( add_query_arg( 'paged', max( 1, $current-1 ), $current_url ) ),
761
  __( 'Previous page' ),
762
  '&lsaquo;'
763
  );
@@ -767,20 +773,26 @@ class MPSUM_List_Table {
767
  $html_current_page = $current;
768
  $total_pages_before = '<span class="screen-reader-text">' . __( 'Current Page' ) . '</span><span id="table-paging" class="paging-input">';
769
  } else {
770
- $html_current_page = sprintf( "%s<input class='current-page' id='current-page-selector' type='text' name='paged' value='%s' size='%d' aria-describedby='table-paging' />",
771
  '<label for="current-page-selector" class="screen-reader-text">' . __( 'Current Page' ) . '</label>',
772
  $current,
773
- strlen( $total_pages )
 
 
774
  );
775
  }
776
  $html_total_pages = sprintf( "<span class='total-pages'>%s</span>", number_format_i18n( $total_pages ) );
 
 
 
 
777
  $page_links[] = $total_pages_before . sprintf( _x( '%1$s of %2$s', 'paging' ), $html_current_page, $html_total_pages ) . $total_pages_after;
778
 
779
  if ( $disable_next ) {
780
  $page_links[] = '<span class="tablenav-pages-navspan" aria-hidden="true">&rsaquo;</span>';
781
  } else {
782
  $page_links[] = sprintf( "<a class='next-page' href='%s'><span class='screen-reader-text'>%s</span><span aria-hidden='true'>%s</span></a>",
783
- esc_url( add_query_arg( 'paged', min( $total_pages, $current+1 ), $current_url ) ),
784
  __( 'Next page' ),
785
  '&rsaquo;'
786
  );
@@ -790,7 +802,7 @@ class MPSUM_List_Table {
790
  $page_links[] = '<span class="tablenav-pages-navspan" aria-hidden="true">&raquo;</span>';
791
  } else {
792
  $page_links[] = sprintf( "<a class='last-page' href='%s'><span class='screen-reader-text'>%s</span><span aria-hidden='true'>%s</span></a>",
793
- esc_url( add_query_arg( 'paged', $total_pages, $current_url ) ),
794
  __( 'Last page' ),
795
  '&raquo;'
796
  );
@@ -925,6 +937,10 @@ class MPSUM_List_Table {
925
  return $column_headers;
926
  }
927
 
 
 
 
 
928
  $columns = get_column_headers( $this->screen );
929
  $hidden = get_hidden_columns( $this->screen );
930
 
120
  'screen' => null,
121
  ) );
122
 
123
+ if (!function_exists('convert_to_screen')) {
124
+ include_once ABSPATH . "wp-admin/includes/template.php";
125
+ }
126
+
127
  $this->screen = convert_to_screen( $args['screen'] );
128
 
129
  add_filter( "manage_{$this->screen->id}_columns", array( $this, 'get_columns' ), 0 );
712
 
713
  $total_items = $this->_pagination_args['total_items'];
714
  $total_pages = $this->_pagination_args['total_pages'];
715
+ $tab = $this->_pagination_args['tab'];
716
+ $view = $this->_pagination_args['view'];
717
+ $current = $this->_pagination_args['paged'];
718
+
719
  $infinite_scroll = false;
720
  if ( isset( $this->_pagination_args['infinite_scroll'] ) ) {
721
  $infinite_scroll = $this->_pagination_args['infinite_scroll'];
723
 
724
  $output = '<span class="displaying-num">' . sprintf( _n( '%s item', '%s items', $total_items ), number_format_i18n( $total_items ) ) . '</span>';
725
 
 
 
726
  $current_url = set_url_scheme( 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] );
727
 
728
  $current_url = remove_query_arg( array( 'hotkeys_highlight_last', 'hotkeys_highlight_first' ), $current_url );
741
  if ( $current == 2 ) {
742
  $disable_first = true;
743
  }
744
+ if ( $current == $total_pages || 0 == $total_items ) {
745
  $disable_last = true;
746
  $disable_next = true;
747
  }
753
  $page_links[] = '<span class="tablenav-pages-navspan" aria-hidden="true">&laquo;</span>';
754
  } else {
755
  $page_links[] = sprintf( "<a class='first-page' href='%s'><span class='screen-reader-text'>%s</span><span aria-hidden='true'>%s</span></a>",
756
+ esc_url(add_query_arg(array('tab' => $tab, 'view' => $view, 'paged' => 1), $current_url)),
757
  __( 'First page' ),
758
  '&laquo;'
759
  );
763
  $page_links[] = '<span class="tablenav-pages-navspan" aria-hidden="true">&lsaquo;</span>';
764
  } else {
765
  $page_links[] = sprintf( "<a class='prev-page' href='%s'><span class='screen-reader-text'>%s</span><span aria-hidden='true'>%s</span></a>",
766
+ esc_url(add_query_arg(array('paged' => max(1, $current-1), 'tab' => $tab, 'view' => $view), $current_url)),
767
  __( 'Previous page' ),
768
  '&lsaquo;'
769
  );
773
  $html_current_page = $current;
774
  $total_pages_before = '<span class="screen-reader-text">' . __( 'Current Page' ) . '</span><span id="table-paging" class="paging-input">';
775
  } else {
776
+ $html_current_page = sprintf("%s<input class='current-page' id='current-page-selector' type='text' name='paged' value='%s' size='%d' aria-describedby='table-paging' data-tab='%s' data-view='%s' />",
777
  '<label for="current-page-selector" class="screen-reader-text">' . __( 'Current Page' ) . '</label>',
778
  $current,
779
+ strlen($total_pages),
780
+ $tab,
781
+ $view
782
  );
783
  }
784
  $html_total_pages = sprintf( "<span class='total-pages'>%s</span>", number_format_i18n( $total_pages ) );
785
+ if (0 == $total_items) {
786
+ $html_current_page = 0;
787
+ $html_total_pages = 0;
788
+ }
789
  $page_links[] = $total_pages_before . sprintf( _x( '%1$s of %2$s', 'paging' ), $html_current_page, $html_total_pages ) . $total_pages_after;
790
 
791
  if ( $disable_next ) {
792
  $page_links[] = '<span class="tablenav-pages-navspan" aria-hidden="true">&rsaquo;</span>';
793
  } else {
794
  $page_links[] = sprintf( "<a class='next-page' href='%s'><span class='screen-reader-text'>%s</span><span aria-hidden='true'>%s</span></a>",
795
+ esc_url(add_query_arg(array('paged' => min($total_pages, $current+1), 'tab' => $tab, 'view' => $view), $current_url)),
796
  __( 'Next page' ),
797
  '&rsaquo;'
798
  );
802
  $page_links[] = '<span class="tablenav-pages-navspan" aria-hidden="true">&raquo;</span>';
803
  } else {
804
  $page_links[] = sprintf( "<a class='last-page' href='%s'><span class='screen-reader-text'>%s</span><span aria-hidden='true'>%s</span></a>",
805
+ esc_url(add_query_arg(array('paged' => $total_pages, 'tab' => $tab, 'view' => $view), $current_url)),
806
  __( 'Last page' ),
807
  '&raquo;'
808
  );
937
  return $column_headers;
938
  }
939
 
940
+ if (!function_exists('get_column_headers')) {
941
+ include_once ABSPATH . "wp-admin/includes/screen.php";
942
+ }
943
+
944
  $columns = get_column_headers( $this->screen );
945
  $hidden = get_hidden_columns( $this->screen );
946
 
includes/MPSUM_Logs.php CHANGED
@@ -14,45 +14,23 @@ class MPSUM_Logs {
14
  *
15
  * @since 6.0.0
16
  * @access static
17
- * @var MPSUM_Log $instance
18
  */
19
- private static $instance = null;
20
-
21
- /**
22
- * Plugin cache for version compares.
23
- *
24
- * @since 6.4.4
25
- * @access private
26
- * @var stdClass plugins
27
- */
28
- private $plugins_cache = null;
29
-
30
- /**
31
- * Theme cache for version compares.
32
- *
33
- * @since 6.4.4
34
- * @access private
35
- * @var stdClass $themes
36
- */
37
- private $themes_cache = null;
38
-
39
  /**
40
- * Holds the WordPress Version.
41
  *
42
- * @since 6.4.4
43
- * @access private
44
- * @var string $wp_version
45
  */
46
- private $wp_version = null;
47
-
48
  /**
49
- * Holds the Translation cache for version compares.
50
  *
51
- * @since 6.4.4
52
- * @access private
53
- * @var string $wp_version
54
  */
55
- private $translations_cache = null;
56
 
57
  /**
58
  * Holds version number of the table
@@ -62,6 +40,15 @@ class MPSUM_Logs {
62
  * @var string $slug
63
  */
64
  private $version = '1.1.3';
 
 
 
 
 
 
 
 
 
65
 
66
  /**
67
  * Set a class instance.
@@ -75,6 +62,7 @@ class MPSUM_Logs {
75
  if ( null == self::$instance ) {
76
  self::$instance = new self;
77
  }
 
78
  } //end get_instance
79
 
80
  /**
@@ -85,40 +73,183 @@ class MPSUM_Logs {
85
  * @since 6.0.0
86
  * @access private
87
  */
88
- private function __construct() {
89
- $table_version = get_site_option( 'mpsum_log_table_version', '0' );
90
- if ( version_compare( $table_version, $this->version ) < 0 ) {
91
- $this->build_table();
92
- MPSUM_Updates_Manager::update_option( 'mpsum_log_table_version', $this->version );
93
- }
94
-
95
- // Set plugin/theme/wordpress/translation variables for log error checking
96
- if ( ! function_exists( 'get_plugins' ) ) {
97
- require_once ABSPATH . 'wp-admin/includes/plugin.php';
98
  }
99
-
100
- // Store plugins cache for later use in version compares
101
- $this->plugins_cache = get_site_transient( 'MPSUM_PLUGINS' );
102
- if ( false === $this->plugins_cache ) {
103
- $this->plugins_cache = get_plugins();
104
- set_site_transient( 'MPSUM_PLUGINS', $this->plugins_cache, 5 * MINUTE_IN_SECONDS );
105
  }
106
-
107
- // Store themes cache for later use in version compares
108
- $this->themes_cache = get_site_transient( 'MPSUM_THEMES' );
109
- if ( false === $this->themes_cache ) {
110
- $this->themes_cache = wp_get_themes();
111
- set_site_transient( 'MPSUM_THEMES', $this->themes_cache, 5 * MINUTE_IN_SECONDS );
112
  }
113
- $this->translations_cache = wp_get_translation_updates();
114
- include( ABSPATH . WPINC . '/version.php' );
115
- $this->wp_version = $wp_version;
116
 
117
- add_action( 'automatic_updates_complete', array( $this, 'automatic_updates' ) );
118
- add_action( 'upgrader_process_complete', array( $this, 'manual_updates' ), 5, 2 );
119
-
 
 
 
120
  } //end constructor
 
 
 
 
 
 
 
 
 
 
 
 
121
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
122
  /**
123
  * Log automatic updates
124
  *
@@ -128,166 +259,114 @@ class MPSUM_Logs {
128
  * @return void
129
  */
130
  public function automatic_updates( $update_results ) {
131
- global $wpdb;
132
- $tablename = $wpdb->base_prefix . 'eum_logs';
133
  if ( empty( $update_results ) ) return;
134
-
135
- foreach( $update_results as $type => $results ) {
136
  switch( $type ) {
137
  case 'core':
138
- $core = $results[ 0 ];
139
- $status = 0;
140
- $version = '';
141
- if ( ! is_wp_error( $core->result ) ) {
142
- $version = $core->result;
143
-
144
- if ( $core->result == $this->wp_version || NULL === $core->result) {
145
- $version = $this->wp_version;
146
- $status = 0;
147
- } else {
148
- $status = 1;
149
- }
150
- }
151
- $wpdb->insert(
152
- $tablename,
153
- array(
154
- 'name' => $core->name,
155
- 'type' => $type,
156
- 'version_from' => $this->wp_version,
157
- 'version' => $version,
158
- 'action' => 'automatic',
159
- 'status' => $status,
160
- 'date' => current_time( 'mysql' ),
161
- ),
162
- array(
163
- '%s',
164
- '%s',
165
- '%s',
166
- '%s',
167
- '%s',
168
- '%s',
169
- '%s',
170
- )
171
- );
172
- break;
173
  case 'plugin':
174
- foreach( $results as $plugin ) {
175
-
176
- $status = 0;
177
- $version = isset( $plugin->item->new_version ) ? $plugin->item->new_version : '0.00';
178
-
179
- // Get older version
180
- $plugin_data = $this->plugins_cache[ $plugin->item->plugin ];
181
-
182
- if ( ! is_wp_error( $plugin->result ) ) {
183
- if ( $version == $plugin_data['Version'] || NULL === $plugin->result ) {
184
- $status = 0;
185
- } else {
186
- $status = 1;
187
- }
188
- }
189
-
190
- $name = ( isset( $plugin->name ) && !empty( $plugin->name ) ) ? $plugin->name : $plugin->item->slug;
191
-
192
-
193
-
194
- $wpdb->insert(
195
- $tablename,
196
- array(
197
- 'name' => $name,
198
- 'type' => $type,
199
- 'version_from' => $plugin_data['Version'],
200
- 'version' => $version,
201
- 'action' => 'automatic',
202
- 'status' => $status,
203
- 'date' => current_time( 'mysql' ),
204
- ),
205
- array(
206
- '%s',
207
- '%s',
208
- '%s',
209
- '%s',
210
- '%s',
211
- '%s',
212
- )
213
- );
214
- }
215
- delete_site_transient( 'MPSUM_PLUGINS' );
216
- break;
217
  case 'theme':
218
  foreach( $results as $theme ) {
 
 
219
  $status = 0;
220
-
221
- // Retrive Older Version
222
- $old_theme_version = $this->themes_cache[ $theme->item->theme ];
223
- $from_version = $old_theme_version->get( 'Version' );
224
-
225
- if ( ! is_wp_error( $theme->result ) ) {
226
- if ( $from_version == $theme->item->new_version || NULL === $theme->result ) {
227
- $version = $from_version;
228
- $status = 0;
229
- } else {
230
- $version = $theme->item->new_version;
231
- $status = 1;
232
- }
233
- }
234
-
235
- $wpdb->insert(
236
- $tablename,
237
- array(
238
- 'name' => $theme->name,
239
- 'type' => $type,
240
- 'version_from' => $from_version,
241
- 'version' => $version,
242
- 'action' => 'automatic',
243
- 'status' => $status,
244
- 'date' => current_time( 'mysql' ),
245
- ),
246
- array(
247
- '%s',
248
- '%s',
249
- '%s',
250
- '%s',
251
- '%s',
252
- '%s',
253
- '%s',
254
- )
255
- );
256
  }
257
- delete_site_transient( 'MPSUM_THEMES' );
258
  break;
259
  case 'translation':
260
  foreach( $results as $translation ) {
261
-
262
- $status = is_wp_error( $translation->result ) ? 0: 1;
263
- $version = ( 1 == $status ) ? $translation->item->version : '';
264
- $slug = $translation->item->slug;
265
- $name = $this->get_name_for_update( $translation->item->type, $translation->item->slug );
266
- $wpdb->insert(
267
- $tablename,
268
- array(
269
- 'name' => $name . ' (' . $translation->item->language . ')',
270
- 'type' => $type,
271
- 'version_from' => $this->get_version_for_type( $type, $slug ),
272
- 'version' => $version,
273
- 'action' => 'automatic',
274
- 'status' => $status,
275
- 'date' => current_time( 'mysql' ),
276
- ),
277
- array(
278
- '%s',
279
- '%s',
280
- '%s',
281
- '%s',
282
- '%s',
283
- '%s',
284
- '%s',
285
- )
286
- );
287
  }
288
  break;
289
  }
290
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
291
  }
292
 
293
  /**
@@ -299,7 +378,7 @@ class MPSUM_Logs {
299
  * @param string $slug Slug of item
300
  * @return string The name of the item being updated.
301
  */
302
- private function get_name_for_update( $type, $slug ) {
303
  if ( ! function_exists( 'get_plugins' ) ) {
304
  require_once ABSPATH . 'wp-admin/includes/plugin.php';
305
  }
@@ -322,37 +401,7 @@ class MPSUM_Logs {
322
  return '';
323
  }
324
 
325
- /**
326
- * Get the version of a translation item to be updated
327
- *
328
- * @since 6.4.4
329
- * @access private
330
- * @param string $type type of translation update
331
- * @param string $slug Slug of item
332
- * @return string The version of the item being updated.
333
- */
334
- private function get_version_for_type( $type, $slug ) {
335
- $translation_updates = $this->translations_cache;
336
- switch ( $type ) {
337
- case 'core':
338
- return $this->wp_version;
339
- break;
340
- case 'translation':
341
- case 'theme':
342
- case 'plugin':
343
- if ( is_array( $translation_updates ) && ! empty( $translation_updates ) ) {
344
- foreach( $translation_updates as $translation_update ) {
345
- if ( $slug == $translation_update->slug ) {
346
- return $translation_update->version;
347
- }
348
- }
349
- }
350
-
351
- break;
352
- }
353
- return '';
354
- }
355
-
356
  /**
357
  * Manual updates
358
  *
@@ -362,153 +411,101 @@ class MPSUM_Logs {
362
  */
363
  public function manual_updates( $upgrader_object, $options ) {
364
  if ( !isset( $options[ 'action' ] ) || 'update' !== $options[ 'action' ] ) return;
365
- global $wpdb;
366
- $tablename = $wpdb->base_prefix . 'eum_logs';
367
  $user_id = get_current_user_id();
368
  if ( 0 == $user_id ) return; // If there is no user, this is not a manual update
 
369
  switch( $options[ 'type' ] ) {
370
  case 'core':
371
- include( ABSPATH . WPINC . '/version.php' );
372
- $wpdb->insert(
373
- $tablename,
374
- array(
375
- 'user_id' => $user_id,
376
- 'name' => 'WordPress ' . $wp_version,
377
- 'type' => $options[ 'type' ],
378
- 'version_from' => $this->wp_version,
379
- 'version' => $wp_version,
380
- 'action' => 'manual',
381
- 'status' => 1,
382
- 'date' => current_time( 'mysql' ),
383
- ),
384
- array(
385
- '%d',
386
- '%s',
387
- '%s',
388
- '%s',
389
- '%s',
390
- '%s',
391
- '%s',
392
- '%s',
393
- )
394
- );
395
- break;
396
  case 'plugin':
397
- if ( ! empty( $this->plugins_cache ) && isset( $options[ 'plugins' ] ) && !empty( $options[ 'plugins' ] ) ) {
398
- $plugins = get_plugins();
399
  foreach( $options[ 'plugins' ] as $plugin ) {
400
- $plugin_data = isset( $plugins[ $plugin ] ) ? $plugins[ $plugin ] : false;
401
- $version_from = '';
402
- if ( isset( $this->plugins_cache[ $plugin ] ) ) {
403
- $version_from = $this->plugins_cache[ $plugin ][ 'Version' ];
404
- }
405
-
406
- if ( false !== $plugin_data ) {
407
- $status = ( $plugin_data[ 'Version' ] == $version_from ) ? 0 : 1;
408
- $wpdb->insert(
409
- $tablename,
410
- array(
411
- 'user_id' => $user_id,
412
- 'name' => $plugin_data[ 'Name' ],
413
- 'type' => $options[ 'type' ],
414
- 'version_from' => $version_from,
415
- 'version' => $plugin_data[ 'Version' ],
416
- 'action' => 'manual',
417
- 'status' => $status,
418
- 'date' => current_time( 'mysql' ),
419
- ),
420
- array(
421
- '%d',
422
- '%s',
423
- '%s',
424
- '%s',
425
- '%s',
426
- '%s',
427
- '%s',
428
- '%s',
429
- )
430
- );
431
  }
432
  }
433
  }
434
- delete_site_transient( 'MPSUM_PLUGINS' );
435
  break;
436
  case 'theme':
437
  if ( isset( $options[ 'themes' ] ) && !empty( $options[ 'themes' ] ) ) {
438
-
439
  foreach( $options[ 'themes' ] as $theme ) {
440
  $theme_data = wp_get_theme( $theme );
441
-
442
  if ( $theme_data->exists() ) {
443
-
444
- $version_from = '';
445
- if ( isset( $this->themes_cache[ $theme ] ) ) {
446
- $version_from = $this->themes_cache[ $theme ]->get( 'Version' );
 
 
447
  }
448
- $status = ( $version_from == $theme_data->get( 'Version' ) ) ? 0 : 1;
449
- $wpdb->insert(
450
- $tablename,
451
- array(
452
- 'user_id' => $user_id,
453
- 'name' => $theme_data->get( 'Name' ),
454
- 'type' => $options[ 'type' ],
455
- 'version_from' => $version_from,
456
- 'version' => $theme_data->get( 'Version' ),
457
- 'action' => 'manual',
458
- 'status' => $status,
459
- 'date' => current_time( 'mysql' ),
460
- ),
461
- array(
462
- '%d',
463
- '%s',
464
- '%s',
465
- '%s',
466
- '%s',
467
- '%s',
468
- '%s',
469
- '%s',
470
- )
471
- );
472
  }
473
  }
474
  }
475
- delete_site_transient( 'MPSUM_THEMES' );
476
  break;
477
  case 'translation':
478
- foreach( $options[ 'translations' ] as $translation ) {
479
-
480
- $status = 1;
481
- $version = $translation[ 'version' ];
482
- $slug = $translation[ 'slug' ];
483
- $name = $this->get_name_for_update( $translation[ 'type' ], $slug );
484
- $wpdb->insert(
485
- $tablename,
486
- array(
487
- 'user_id' => $user_id,
488
- 'name' => $name . ' (' . $translation[ 'language' ] . ')',
489
- 'type' => $translation[ 'type' ],
490
- 'version_from' => $this->get_version_for_type( $translation[ 'type' ], $slug ),
491
- 'version' => $version,
492
- 'action' => 'manual',
493
- 'status' => $status,
494
- 'date' => current_time( 'mysql' ),
495
- ),
496
- array(
497
- '%d',
498
- '%s',
499
- '%s',
500
- '%s',
501
- '%s',
502
- '%s',
503
- '%s',
504
- '%s',
505
- )
506
- );
507
- }
508
- break;
509
-
510
  }
511
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
512
 
513
  /**
514
  * Creates the log table
@@ -544,6 +541,21 @@ class MPSUM_Logs {
544
  require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
545
  dbDelta($sql);
546
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
547
 
548
  /**
549
  * Clears the log table
@@ -573,5 +585,6 @@ class MPSUM_Logs {
573
  $tablename = $wpdb->base_prefix . 'eum_logs';
574
  $sql = "drop table if exists $tablename";
575
  $wpdb->query( $sql );
 
576
  }
577
  }
14
  *
15
  * @since 6.0.0
16
  * @access static
17
+ * @var MPSUM_Logs $instance
18
  */
19
+ public static $instance = null;
20
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
21
  /**
22
+ * Holds log messages
23
  *
24
+ * @var array An array of log messages
 
 
25
  */
26
+ protected $log_messages = array();
27
+
28
  /**
29
+ * Holds update method information
30
  *
31
+ * @var bool Determines whether auto update or manual
 
 
32
  */
33
+ protected $auto_update = false;
34
 
35
  /**
36
  * Holds version number of the table
40
  * @var string $slug
41
  */
42
  private $version = '1.1.3';
43
+
44
+ /**
45
+ * Holds a variable for checkin the logs table
46
+ *
47
+ * @since 8.0.1
48
+ * @access private
49
+ * @var bool $log_table_exists
50
+ */
51
+ private static $log_table_exists = false;
52
 
53
  /**
54
  * Set a class instance.
62
  if ( null == self::$instance ) {
63
  self::$instance = new self;
64
  }
65
+ return self::$instance;
66
  } //end get_instance
67
 
68
  /**
73
  * @since 6.0.0
74
  * @access private
75
  */
76
+ protected function __construct() {
77
+ $table_version = get_site_option('mpsum_log_table_version', '0');
78
+ if (version_compare($table_version, $this->version) < 0) {
79
+ if (!$this->log_table_exists()) {
80
+ $this->build_table();
81
+ MPSUM_Updates_Manager::update_option('mpsum_log_table_version', $this->version);
82
+ }
 
 
 
83
  }
84
+
85
+ // Clear transient on updates screen
86
+ global $pagenow;
87
+ if ('update-core.php' == $pagenow) {
88
+ delete_site_transient('mpsum_version_numbers');
 
89
  }
90
+
91
+ // Clear transient when doing Ajax
92
+ if (defined('DOING_AJAX') && true == DOING_AJAX && isset($_REQUEST['subaction']) && 'force_updates' == $_REQUEST['subaction'] ) {
93
+ delete_site_transient('mpsum_version_numbers');
 
 
94
  }
 
 
 
95
 
96
+ add_action('admin_init', array($this, 'cache_version_numbers'));
97
+ add_action('pre_auto_update', array($this, 'pre_auto_update'));
98
+ add_action('automatic_updates_complete', array($this, 'automatic_updates'));
99
+ add_action('upgrader_process_complete', array($this, 'manual_updates'), 10, 2);
100
+ add_filter('eum_i18n', array($this, 'logs_i18n'));
101
+
102
  } //end constructor
103
+
104
+ /**
105
+ * Add webhook i18n
106
+ *
107
+ * @param array $i18n Array of internationalized strings
108
+ *
109
+ * @return array Updated array of internationalized strings
110
+ */
111
+ public function logs_i18n($i18n) {
112
+ $i18n['logs_no_items'] = __('No items found.', 'stops-core-theme-and-plugin-updates');
113
+ return $i18n;
114
+ }
115
 
116
+ /**
117
+ * Cache core, plugins and themes versions to use in log messages.
118
+ *
119
+ * @return array Cached version information
120
+ */
121
+ public function cache_version_numbers() {
122
+
123
+ // Transient expires in 360 minutes - If false or not array, cache continues
124
+ $continue_cache = false;
125
+ $this->log_messages = get_site_transient('mpsum_version_numbers');
126
+ if (empty($this->log_messages) || !is_array($this->log_messages)) {
127
+ $this->log_messages = array();
128
+ $continue_cache = true;
129
+ }
130
+
131
+ // Return non-empty log messages if WP_DEBUG is false and transient is populated
132
+ if (defined('WP_DEBUG') && !WP_DEBUG && false === $continue_cache && !empty($this->log_messages)) {
133
+ return $this->log_messages;
134
+ }
135
+
136
+ // Set error log and begin cache if WP_DEBUG is on
137
+ if (defined('WP_DEBUG') && WP_DEBUG) {
138
+ error_log('MPSUM_Logs::cache_version_numbers() runs (as WP_DEBUG is on)');
139
+ }
140
+
141
+ // Force transient refresh and get updates
142
+ wp_version_check( array(), true );
143
+ wp_update_plugins();
144
+ wp_update_themes();
145
+ $upgrade_plugins = get_plugin_updates();
146
+ $upgrade_themes = get_theme_updates();
147
+ $upgrade_wp = get_core_updates();
148
+ $update_translations = wp_get_translation_updates();
149
+ if (false !== $upgrade_wp) {
150
+
151
+ foreach ($upgrade_wp as $item) {
152
+ if (!empty($item->partial_version)) {
153
+ $this->log_messages['core']['version'] = $item->partial_version;
154
+ } else {
155
+ $this->log_messages['core']['version'] = $item->current;
156
+ $this->log_messages['core']['reinstall'] = true;
157
+ }
158
+ $this->log_messages['core']['new_version'] = $item->version;
159
+ if ($item->version === $item->current) {
160
+ include ABSPATH.WPINC.'/version.php';
161
+ $this->log_messages['core']['version'] = $wp_version;
162
+ }
163
+ }
164
+ }
165
+ foreach ( $upgrade_plugins as $plugin => $plugin_data ) {
166
+ if (empty($this->log_messages['plugin'][$plugin])) {
167
+ $this->log_messages['plugin'][$plugin]['name'] = $plugin_data->Name;
168
+ $this->log_messages['plugin'][$plugin]['version'] = $plugin_data->Version;
169
+ $this->log_messages['plugin'][$plugin]['new_version'] = $plugin_data->update->new_version;
170
+ }
171
+ }
172
+ foreach ( $upgrade_themes as $stylesheet => $theme ) {
173
+ if (empty($this->log_messages['theme'][$stylesheet])) {
174
+ $this->log_messages['theme'][$stylesheet]['name'] = $theme->display('Name');
175
+ $this->log_messages['theme'][$stylesheet]['version'] = $theme->display('Version');
176
+ $this->log_messages['theme'][$stylesheet]['new_version'] = $theme->update['new_version'];
177
+ }
178
+ }
179
+ foreach ($update_translations as $translation) {
180
+ $this->log_messages['translations'][] = $this->get_update_name($translation);
181
+ }
182
+ if (!empty($this->log_messages['translations'])) {
183
+ $this->log_messages['translations'] = array_unique($this->log_messages['translations'], SORT_REGULAR);
184
+
185
+ }
186
+ set_site_transient('mpsum_version_numbers', $this->log_messages, 6 * 60 * 60);
187
+ return $this->log_messages;
188
+ }
189
+
190
+ /**
191
+ * Get cached version informmation for updates
192
+ *
193
+ * @return array Cached version information
194
+ */
195
+ public function get_cached_version_information() {
196
+
197
+ // Make sure log_messages is set. If it is, return itself.
198
+ if (!empty($this->log_messages) && is_array($this->log_messages)) {
199
+ return $this->log_messages;
200
+ }
201
+
202
+ // Log messages is empty, attempt to get transient
203
+ $cached_updates = get_site_transient('mpsum_version_numbers');
204
+ if (empty($cached_updates) || !is_array($cached_updates)) {
205
+ $cached_updates = $this->cache_version_numbers();
206
+ }
207
+ return $cached_updates;
208
+ }
209
+
210
+ /**
211
+ * Set update method as automatic
212
+ */
213
+ public function pre_auto_update() {
214
+ $this->auto_update = true;
215
+ }
216
+
217
+ /**
218
+ * Finds and returns name of give update object
219
+ *
220
+ * @param object $translation Translation object
221
+ *
222
+ * @return array An array of name and version of updates
223
+ */
224
+ public function get_update_name($translation) {
225
+ $translation = (object)$translation;
226
+ $type = $translation->type;
227
+ $result = array();
228
+ switch ($type) {
229
+ case 'core':
230
+ $result[$type]['name'] = 'WordPress';
231
+ break;
232
+ case 'theme':
233
+ $theme = wp_get_theme($translation->slug);
234
+ if ($theme->exists())
235
+ $result[$type]['name'] = $theme->get('Name') . ' (' . $translation->language . ')';
236
+ $result[$type]['new_version'] = $theme->get('Version');
237
+ break;
238
+ case 'plugin':
239
+ if ( ! function_exists( 'get_plugins' ) ) {
240
+ require_once ABSPATH . 'wp-admin/includes/plugin.php';
241
+ }
242
+ $plugin = get_plugins( '/' . $translation->slug );
243
+ $plugin = reset( $plugin );
244
+ if ($plugin)
245
+ $result[$type]['name'] = $plugin['Name'] . ' (' . $translation->language . ')';
246
+ $result[$type]['new_version'] = $plugin['Version'];
247
+ break;
248
+ }
249
+ $result[$type]['version'] = $translation->version;
250
+ return $result;
251
+ }
252
+
253
  /**
254
  * Log automatic updates
255
  *
259
  * @return void
260
  */
261
  public function automatic_updates( $update_results ) {
 
 
262
  if ( empty( $update_results ) ) return;
263
+ $this->log_messages = $this->get_cached_version_information();
264
+ foreach($update_results as $type => $results) {
265
  switch( $type ) {
266
  case 'core':
267
+ $core = $results[0];
268
+ $name = $core->name;
269
+ $status = 0;
270
+ $version_from = $this->log_messages['core']['version'];
271
+ $version = $this->log_messages['core']['new_version'];
272
+ list($version, $status) = $this->set_status_and_version($core->result, $version_from, $version, $status);
273
+ $this->insert_log($name, $type, $version_from, $version, 'automatic', $status);
274
+ break;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
275
  case 'plugin':
276
+ foreach( $results as $plugin ) {
277
+ if( !isset($plugin->item->plugin)) continue;
278
+ $name = ( isset( $plugin->name ) && ! empty( $plugin->name ) ) ? $plugin->name : $plugin->item->slug;
279
+ $status = 0;
280
+ $version = isset( $plugin->item->new_version ) ? $plugin->item->new_version : '0.00';
281
+ $version_from = $this->log_messages[ $type ][ $plugin->item->plugin ]['version'];
282
+ list($version, $status) = $this->set_status_and_version($plugin->result, $version_from, $version, $status);
283
+ $this->insert_log( $name, $type, $version_from, $version, 'automatic', $status );
284
+ }
285
+ break;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
286
  case 'theme':
287
  foreach( $results as $theme ) {
288
+ if( !isset($theme->item->theme)) continue;
289
+ $name = $theme->name;
290
  $status = 0;
291
+ $version = $theme->item->new_version;
292
+ $version_from = $this->log_messages[$type][$theme->item->theme]['version'];
293
+ list($version, $status) = $this->set_status_and_version($theme->result, $version_from, $version, $status);
294
+ $this->insert_log($name, $type, $version_from, $version, 'automatic', $status);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
295
  }
 
296
  break;
297
  case 'translation':
298
  foreach( $results as $translation ) {
299
+ $status = is_wp_error( $translation->result ) ? 0: 1;
300
+ $version_from = $translation->item->version;
301
+ $version = ( 1 == $status ) ? $translation->item->version : '';
302
+ $name = $this->get_name_for_update($translation->item->type, $translation->item->slug);
303
+ $name = $name . ' (' . $translation->item->language . ')';
304
+ $this->insert_log($name, $type, $version_from, $version, 'automatic', $status);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
305
  }
306
  break;
307
  }
308
+ }
309
+ }
310
+
311
+ /**
312
+ * Sets version number and upgrade status
313
+ *
314
+ * @param object $result Result of update object
315
+ * @param string $version_from Version to upgrade from
316
+ * @param string $version Version to upgrade to
317
+ * @param integer $status Status of upgrade process
318
+ *
319
+ * @return array An array of version number and upgrade status
320
+ */
321
+ protected function set_status_and_version($result, $version_from, $version, $status) {
322
+ if (!is_wp_error($result)) {
323
+ if ($version_from == $version || NULL === $result) {
324
+ $version = $version_from;
325
+ $status = 0;
326
+ } else {
327
+ $status = 1;
328
+ }
329
+ }
330
+ return array($version, $status);
331
+ }
332
+
333
+ /**
334
+ * Inserts result of upgrade process message to log table
335
+ *
336
+ * @param string $name Upgrade name
337
+ * @param string $type Type of upgrade
338
+ * @param string $version_from Upgrade from version number
339
+ * @param string $version Upgrade to version number
340
+ * @param string $action Action type, manual or automatic
341
+ * @param int $status Status of upgrade
342
+ * @param int $user_id User responsible for the upgrade
343
+ */
344
+ private function insert_log($name, $type, $version_from, $version, $action, $status, $user_id = 0) {
345
+ global $wpdb;
346
+ $table_name = $wpdb->base_prefix . 'eum_logs';
347
+ $wpdb->insert(
348
+ $table_name,
349
+ array(
350
+ 'user_id' => $user_id,
351
+ 'name' => $name,
352
+ 'type' => $type,
353
+ 'version_from' => $version_from,
354
+ 'version' => $version,
355
+ 'action' => $action,
356
+ 'status' => $status,
357
+ 'date' => current_time('mysql'),
358
+ ),
359
+ array(
360
+ '%d',
361
+ '%s',
362
+ '%s',
363
+ '%s',
364
+ '%s',
365
+ '%s',
366
+ '%s',
367
+ '%s',
368
+ )
369
+ );
370
  }
371
 
372
  /**
378
  * @param string $slug Slug of item
379
  * @return string The name of the item being updated.
380
  */
381
+ protected function get_name_for_update( $type, $slug ) {
382
  if ( ! function_exists( 'get_plugins' ) ) {
383
  require_once ABSPATH . 'wp-admin/includes/plugin.php';
384
  }
401
  return '';
402
  }
403
 
404
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
405
  /**
406
  * Manual updates
407
  *
411
  */
412
  public function manual_updates( $upgrader_object, $options ) {
413
  if ( !isset( $options[ 'action' ] ) || 'update' !== $options[ 'action' ] ) return;
414
+ $this->log_messages = $this->get_cached_version_information();
 
415
  $user_id = get_current_user_id();
416
  if ( 0 == $user_id ) return; // If there is no user, this is not a manual update
417
+ if (true === $this->auto_update) return;
418
  switch( $options[ 'type' ] ) {
419
  case 'core':
420
+ $version_from = $this->log_messages['core']['version'];
421
+ $version = $this->log_messages['core']['new_version'];
422
+ if (!empty($this->log_messages['core']['reinstall'])) {
423
+ $status = 1;
424
+ } else {
425
+ $status = $version_from !== $version ? 1 : 0;
426
+ }
427
+ $name = 'WordPress ' . $version;
428
+ $this->insert_log($name, $options['type'], $version_from, $version, 'manual', $status, $user_id);
429
+ break;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
430
  case 'plugin':
431
+ if ( ! empty( $this->log_messages['plugin'] ) && isset( $options[ 'plugins' ] ) && !empty( $options[ 'plugins' ] ) ) {
 
432
  foreach( $options[ 'plugins' ] as $plugin ) {
433
+ if ( isset( $this->log_messages['plugin'][ $plugin ] ) ) {
434
+ $version_from = $this->log_messages['plugin'][ $plugin ][ 'version' ];
435
+ $version = $this->log_messages['plugin'][$plugin]['new_version'];
436
+ $status = ($version_from == $version) ? 0 : 1;
437
+ $name = $this->log_messages['plugin'][$plugin]['name'];
438
+ $this->insert_log($name, $options['type'], $version_from, $version, 'manual', $status, $user_id);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
439
  }
440
  }
441
  }
 
442
  break;
443
  case 'theme':
444
  if ( isset( $options[ 'themes' ] ) && !empty( $options[ 'themes' ] ) ) {
 
445
  foreach( $options[ 'themes' ] as $theme ) {
446
  $theme_data = wp_get_theme( $theme );
 
447
  if ( $theme_data->exists() ) {
448
+ if (!empty($this->log_messages['theme'][$theme])) {
449
+ $version_from = $this->log_messages['theme'][$theme]['version'];
450
+ $version = $theme_data->get('Version');
451
+ $status = ($version_from == $version) ? 0 : 1;
452
+ $name = $theme_data->get('Name');
453
+ $this->insert_log($name, $options['type'], $version_from, $version, 'manual', $status, $user_id);
454
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
455
  }
456
  }
457
  }
 
458
  break;
459
  case 'translation':
460
+ foreach( $options[ 'translations' ] as $translation ) {
461
+ $status = 1;
462
+ $version = $translation[ 'version' ];
463
+ $version_from = $version;
464
+ $slug = $translation[ 'slug' ];
465
+ $name = $this->get_name_for_update( $translation[ 'type' ], $slug );
466
+ $name = $name . ' (' . $translation[ 'language' ] . ')';
467
+ $this->insert_log($name, $translation['type'], $version_from, $version, 'manual', $status, $user_id);
468
+ }
469
+ break;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
470
  }
471
  }
472
+
473
+ /**
474
+ * Log when a plugin (themes are hopefully coming soon) fails to update via safemode.
475
+ *
476
+ * @since 7.0.1
477
+ * @access private
478
+ * @param object $item The plugin item that will be logged.
479
+ */
480
+ public static function log_safe_mode($item) {
481
+
482
+ global $wpdb;
483
+ $plugin_data = get_plugin_data(WP_PLUGIN_DIR.'/'.$item->plugin);
484
+ $tablename = $wpdb->base_prefix . 'eum_logs';
485
+
486
+ // Version numbers will be the same since the plugin didn't update
487
+ $wpdb->insert(
488
+ $tablename,
489
+ array(
490
+ 'name' => $plugin_data['Name'],
491
+ 'type' => 'plugin',
492
+ 'version_from' => $plugin_data['Version'],
493
+ 'version' => $plugin_data['Version'],
494
+ 'action' => 'automatic',
495
+ 'status' => 2,
496
+ 'date' => current_time('mysql'),
497
+ ),
498
+ array(
499
+ '%s',
500
+ '%s',
501
+ '%s',
502
+ '%s',
503
+ '%s',
504
+ '%s',
505
+ '%s',
506
+ )
507
+ );
508
+ }
509
 
510
  /**
511
  * Creates the log table
541
  require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
542
  dbDelta($sql);
543
  }
544
+
545
+ /**
546
+ * Checks whether log table exists or not
547
+ *
548
+ * @return boolean True if table exists, otherwise false
549
+ */
550
+ private function log_table_exists() {
551
+ if(true === self::$log_table_exists) {
552
+ return;
553
+ }
554
+ global $wpdb;
555
+ $table_name = $wpdb->prefix.'eum_logs';
556
+ self::$log_table_exists = (bool)$wpdb->get_var("SHOW TABLES LIKE '$table_name'");
557
+ return self::$log_table_exists;
558
+ }
559
 
560
  /**
561
  * Clears the log table
585
  $tablename = $wpdb->base_prefix . 'eum_logs';
586
  $sql = "drop table if exists $tablename";
587
  $wpdb->query( $sql );
588
+ delete_site_option('mpsum_log_table_version');
589
  }
590
  }
includes/MPSUM_Logs_List_Table.php CHANGED
@@ -9,11 +9,18 @@ if ( !defined( 'ABSPATH' ) ) die( 'No direct access.' );
9
  * @access private
10
  */
11
  class MPSUM_Logs_List_Table extends MPSUM_List_Table {
12
- private $tab = '';
13
  private $action_type = '';
 
14
  private $type = '';
15
  private $url = '';
16
  private $month = '0';
 
 
 
 
 
 
17
 
18
  /**
19
  * Constructor.
@@ -29,30 +36,76 @@ class MPSUM_Logs_List_Table extends MPSUM_List_Table {
29
  * @param array $args An associative array of arguments.
30
  */
31
  public function __construct( $args = array() ) {
32
- global $status, $page;
33
 
34
  parent::__construct( array(
35
- 'singular'=> 'log',
36
  'plural' => 'logs',
37
- 'screen' => isset( $args['screen'] ) ? $args['screen'] : null,
38
  'ajax' => true
39
- ) );
40
-
41
- $this->tab = isset( $args['tab'] ) ? $args['tab'] : '';
42
- $this->action_type = isset( $_REQUEST['action_type'] ) ? $_REQUEST['action_type'] : 'all';
43
- $this->type = isset( $_REQUEST['type'] ) ? $_REQUEST['type'] : 'all';
44
- if ( isset( $_REQUEST['m'] ) && strlen( $_REQUEST['m'] ) > 4 ) {
45
- $this->month = $_REQUEST['m'];
46
- }
 
 
 
 
 
47
 
48
- $this->url = add_query_arg( array( 'tab' => 'logs' ), MPSUM_Admin::get_url() );
 
49
 
50
- $status = 'all';
51
- if ( isset( $_REQUEST['status'] ) && in_array( $_REQUEST['status'], array( 'all', '1', '0' ) ) ) {
52
- $status = $_REQUEST['status'];
53
- }
 
 
 
 
 
 
 
 
54
 
55
- $page = $this->get_pagenum();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
56
  }
57
 
58
  /**
@@ -61,56 +114,121 @@ class MPSUM_Logs_List_Table extends MPSUM_List_Table {
61
  * @return void
62
  */
63
  public function prepare_items() {
64
- global $wpdb, $_wp_column_headers, $status;
65
- $screen = get_current_screen();
66
  $tablename = $wpdb->base_prefix . 'eum_logs';
67
- $page = $this->get_pagenum();
68
-
69
  // Get logs per page
70
  $user_id = get_current_user_id();
71
  $per_page = get_user_meta( $user_id, 'mpsum_items_per_page', true );
72
  if ( ! is_numeric( $per_page ) ) {
73
  $per_page = 100;
74
  }
75
-
76
 
77
- $offset = ( $page -1 ) * $per_page;
 
 
 
78
 
79
- $where = '';
80
- if ( isset( $this->month ) && strlen( $this->month ) > 4 ) {
81
- $where .= " AND YEAR($tablename.date)=" . substr($this->month, 0, 4);
82
- if ( strlen( $this->month ) > 5 ) {
83
- $where .= " AND MONTH($tablename.date)=" . substr( $this->month, 4, 2 );
 
 
 
 
 
 
 
 
 
84
  }
85
- }
86
 
87
- if ( isset( $status ) && 'all' !== $status ) {
88
- $where .= $wpdb->prepare( " and $tablename.status = %d ", absint( $status ) );
89
- }
90
-
91
- if ( isset( $this->action_type ) && 'all' !== $this->action_type ) {
92
- $where .= $wpdb->prepare( " and $tablename.action = %s ", sanitize_text_field( $this->action_type ) );
93
- }
94
-
95
- if ( isset( $this->type ) && 'all' !== $this->type ) {
96
- $where .= $wpdb->prepare( " and $tablename.type = %s ", sanitize_text_field( $this->type ) );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
97
  }
98
-
99
- $select = "select log_id, user_id, name, type, version_from, version, action, status, date from $tablename WHERE 1=1";
100
- $orderby = " order by log_id DESC";
101
- $limit = " limit %d,%d";
102
 
103
- // Calculate no. of logs separately, because filters may be on
104
- $query = $select . $where . $orderby;
105
- $wpdb->get_results( $query );
106
- $log_count = $wpdb->num_rows;
107
 
108
- $query = $select . $where . $orderby . $limit;
109
- $query = $wpdb->prepare( $query, $offset, $per_page );
110
- $this->items = $wpdb->get_results( $query );
111
 
112
  /* -- Register the Columns -- */
113
- $this->_column_headers = array(
114
  $this->get_columns(), // columns
115
  array(), // hidden
116
  $this->get_sortable_columns(), // sortable
@@ -118,15 +236,47 @@ class MPSUM_Logs_List_Table extends MPSUM_List_Table {
118
 
119
  $this->set_pagination_args( array(
120
  'total_items' => $log_count,
121
- 'per_page' => $per_page,
122
- 'total_pages' => ceil( $log_count / $per_page ),
123
- 'status' => $status,
124
- 'tab' => isset($this->tab) ? $this->tab : '',
 
125
  'action_type' => isset($this->action_type) ? $this->action_type: 'all',
126
- 'type' => isset($this->type) ? $this->type: 'all',
 
 
127
  ) );
128
  }
129
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
130
  /**
131
  * Display a monthly dropdown for filtering items
132
  *
@@ -145,12 +295,11 @@ class MPSUM_Logs_List_Table extends MPSUM_List_Table {
145
  $month_count = count( $months );
146
  if ( !$month_count || ( 1 == $month_count && 0 == $months[0]->month ) )
147
  return;
148
-
149
- $m = isset( $_GET['m'] ) ? (int) $_GET['m'] : 0;
150
- ?>
151
  <label for="filter-by-date" class="screen-reader-text"><?php _e( 'Filter by date', 'stops-core-theme-and-plugin-updates' ); ?></label>
152
  <select name="m" id="filter-by-date">
153
- <option<?php selected( $m, 0 ); ?> value="0"><?php _e( 'All dates', 'stops-core-theme-and-plugin-updates' ); ?></option>
154
  <?php
155
  foreach ( $months as $arc_row ) {
156
  if ( 0 == $arc_row->year )
@@ -160,7 +309,7 @@ class MPSUM_Logs_List_Table extends MPSUM_List_Table {
160
  $year = $arc_row->year;
161
 
162
  printf( "<option %s value='%s'>%s</option>\n",
163
- selected( $m, $year . $month, false ),
164
  esc_attr( $arc_row->year . $month ),
165
  /* translators: 1: month name, 2: 4-digit year */
166
  sprintf( __( '%1$s %2$d' ), $wp_locale->get_month( $month ), $year )
@@ -170,60 +319,73 @@ class MPSUM_Logs_List_Table extends MPSUM_List_Table {
170
  </select>
171
  <?php
172
  }
173
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
174
  /**
175
  * Type dropdown
176
  *
177
  * @return void
178
  */
179
  private function type_dropdown() {
180
- $type = isset( $_GET['type'] ) ? sanitize_text_field( $_GET['type'] ) : 'all';
181
  ?>
182
  <label for="filter-by-type" class="screen-reader-text"><?php _e( 'Filter by Upgrade Type', 'stops-core-theme-and-plugin-updates' ); ?></label>
183
  <select name="type" id="filter-by-type">
184
- <option<?php selected( $type, 'all' ); ?> value="all"><?php echo _x( 'All Types', 'Upgrade types: translation, core, plugin, theme', 'stops-core-theme-and-plugin-updates' ); ?></option>
185
- <option<?php selected( $type, 'core' ); ?> value="core"><?php echo _x( 'Core', 'Show WordPress core updates', 'stops-core-theme-and-plugin-updates' ); ?></option>
186
- <option<?php selected( $type, 'plugin' ); ?> value="plugin"><?php echo _x( 'Plugins', 'Show WordPress Plugin updates', 'stops-core-theme-and-plugin-updates' ); ?></option>
187
- <option<?php selected( $type, 'theme' ); ?> value="theme"><?php echo _x( 'Themes', 'Show WordPress Theme updates', 'stops-core-theme-and-plugin-updates' ); ?></option>
188
- <option<?php selected( $type, 'translation' ); ?> value="translation"><?php echo _x( 'Translations', 'Show WordPress translation updates', 'stops-core-theme-and-plugin-updates' ); ?></option>
189
  </select>
190
  <?php
191
  }
192
-
193
  /**
194
  * Status dropdown
195
  *
196
  * @return void
197
  */
198
  private function status_dropdown() {
199
- $status = isset( $_GET['status'] ) ? sanitize_text_field( $_GET['status'] ) : 'all';
200
  ?>
201
  <label for="filter-by-success" class="screen-reader-text"><?php _e( 'Filter by Status', 'stops-core-theme-and-plugin-updates' ); ?></label>
202
  <select name="status" id="filter-by-success">
203
- <option<?php selected( $status, 'all' ); ?> value="all"><?php _e( 'All Statuses', 'stops-core-theme-and-plugin-updates' ); ?></option>
204
- <option<?php selected( $status, 1 ); ?> value="1"><?php echo _x( 'Success', 'Show status updates that are successful', 'stops-core-theme-and-plugin-updates' ); ?></option>
205
- <option<?php selected( $status, 0 ); ?> value="0"><?php echo _x( 'Failures', 'Show status updates that are not successful', 'stops-core-theme-and-plugin-updates' ); ?></option>
 
206
  </select>
207
  <?php
208
  }
209
-
210
  /**
211
  * Action dropdown
212
  *
213
  * @return void
214
  */
215
  private function action_dropdown() {
216
- $action = isset( $_GET['action_type'] ) ? sanitize_text_field( $_GET['action_type'] ) : 'all';
217
  ?>
218
  <label for="filter-by-action" class="screen-reader-text"><?php _e( 'Filter by Action', 'stops-core-theme-and-plugin-updates' ); ?></label>
219
  <select name="action_type" id="filter-by-action">
220
- <option<?php selected( $action, 'all' ); ?> value="all"><?php _e( 'All Actions', 'stops-core-theme-and-plugin-updates' ); ?></option>
221
- <option<?php selected( $action, 'automatic' ); ?> value="automatic"><?php echo _x( 'Automatic Updates', 'Show log items that are automatic updates only', 'stops-core-theme-and-plugin-updates' ); ?></option>
222
- <option<?php selected( $action, 'manual' ); ?> value="manual"><?php echo _x( 'Manual Updates', 'Show log items that are manual updates only', 'stops-core-theme-and-plugin-updates' ); ?></option>
223
  </select>
224
  <?php
225
  }
226
-
227
  /**
228
  * Extra table nav
229
  *
@@ -231,25 +393,63 @@ class MPSUM_Logs_List_Table extends MPSUM_List_Table {
231
  * @param string $which Specify which table
232
  */
233
  protected function extra_tablenav( $which ) {
234
- global $cat;
235
- ?>
236
  <form id="logs-filter" action="<?php echo esc_url( $this->url ); ?>" method="GET">
237
  <input type="hidden" name="page" value="mpsum-update-options" />
238
  <input type="hidden" name="tab" value="logs" />
239
  <div class="alignleft">
240
- <?php
241
  if ( 'top' === $which && !is_singular() ) {
242
 
243
  $this->months_dropdown( $this->screen->post_type );
244
  $this->status_dropdown();
245
  $this->action_dropdown();
246
  $this->type_dropdown();
 
247
 
248
  submit_button( __( 'Filter', 'stops-core-theme-and-plugin-updates' ), 'button', 'filter_action', false, array( 'id' => 'post-query-submit' ) );
249
  }
250
  ?>
251
  </div>
252
- </form><!-- #logs-filter -->
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
253
  <?php
254
  /**
255
  * Fires immediately following the closing "actions" div in the tablenav for the posts
@@ -277,7 +477,7 @@ class MPSUM_Logs_List_Table extends MPSUM_List_Table {
277
  * @return array
278
  */
279
  public function get_columns() {
280
- $columns = array(
281
  'user' => _x( 'User', 'Column header for logs', 'stops-core-theme-and-plugin-updates' ),
282
  'name' => _x( 'Name', 'Column header for logs', 'stops-core-theme-and-plugin-updates' ),
283
  'type' => _x( 'Type', 'Column header for logs', 'stops-core-theme-and-plugin-updates' ),
@@ -286,7 +486,7 @@ class MPSUM_Logs_List_Table extends MPSUM_List_Table {
286
  'action' => _x( 'Action', 'Column header for logs', 'stops-core-theme-and-plugin-updates' ),
287
  'status' => _x( 'Status', 'Column header for logs', 'stops-core-theme-and-plugin-updates' ),
288
  'date' => _x( 'Date', 'Column header for logs', 'stops-core-theme-and-plugin-updates' ),
289
-
290
  );
291
  return $columns;
292
  }
@@ -300,11 +500,114 @@ class MPSUM_Logs_List_Table extends MPSUM_List_Table {
300
  * @param int $level Row level
301
  */
302
  public function display_rows( $posts = array(), $level = 0 ) {
303
- $records = $this->items;
304
  foreach ( $this->items as $record ) {
305
- $this->single_row( $record );
306
  }
307
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
308
  }
309
 
310
  /**
@@ -314,7 +617,7 @@ class MPSUM_Logs_List_Table extends MPSUM_List_Table {
314
  * @return void
315
  */
316
  public function single_row( $record ) {
317
-
318
  ?>
319
  <tr id="log-<?php echo $record->log_id; ?>">
320
  <?php
@@ -330,7 +633,7 @@ class MPSUM_Logs_List_Table extends MPSUM_List_Table {
330
  if ( $user ) {
331
  echo esc_html( $user->user_nicename );
332
  }
333
-
334
  }
335
  break;
336
  case 'name':
@@ -363,15 +666,17 @@ class MPSUM_Logs_List_Table extends MPSUM_List_Table {
363
  } else {
364
  echo esc_html( ucfirst( $record_data ) );
365
  }
366
-
367
  break;
368
- case 'status':
369
- if ( 1 == $record_data ) {
370
- echo esc_html__( 'Success', 'stops-core-theme-and-plugin-updates' );
 
 
371
  } else {
372
- echo esc_html__( 'Failure', 'stops-core-theme-and-plugin-updates' );
373
- }
374
- break;
375
  case 'date':
376
  echo esc_html( $record_data );
377
  break;
@@ -379,8 +684,8 @@ class MPSUM_Logs_List_Table extends MPSUM_List_Table {
379
  break;
380
  }
381
  echo '</td>';
382
- }
383
-
384
  ?>
385
  </tr>
386
  <?php
@@ -427,7 +732,7 @@ class MPSUM_Logs_List_Table extends MPSUM_List_Table {
427
  $response['headers'] = $headers;
428
 
429
  if ( isset( $total_items ) ) {
430
- $response['total_items_i18n'] = sprintf( _n( '1 plugin', '%s plugins', $total_items ), number_format_i18n( $total_items ) );
431
  }
432
 
433
  if ( isset( $total_pages ) ) {
@@ -437,4 +742,132 @@ class MPSUM_Logs_List_Table extends MPSUM_List_Table {
437
 
438
  wp_send_json( $response );
439
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
440
  }
9
  * @access private
10
  */
11
  class MPSUM_Logs_List_Table extends MPSUM_List_Table {
12
+ private $tab = 'logs';
13
  private $action_type = '';
14
+ private $order = 'DESC';
15
  private $type = '';
16
  private $url = '';
17
  private $month = '0';
18
+ private $page = '1';
19
+ private $status = 'all';
20
+ private $is_search = false;
21
+ private $search_term = '';
22
+ private $date_start = '';
23
+ private $date_end = '';
24
 
25
  /**
26
  * Constructor.
36
  * @param array $args An associative array of arguments.
37
  */
38
  public function __construct( $args = array() ) {
 
39
 
40
  parent::__construct( array(
41
+ 'singular'=> 'log',
42
  'plural' => 'logs',
43
+ 'screen' => isset( $args['screen'] ) ? $args['screen'] : 'eum_logs_tab',
44
  'ajax' => true
45
+ ) );
46
+
47
+ if (isset($_REQUEST['action']) && ('eum_ajax' === $_REQUEST['action'] || 'eum_export_logs' === $_REQUEST['action'] || 'eum_export_csv' === $_REQUEST['action'] || 'eum_export_json' === $_REQUEST['action'])) {
48
+ $this->action_type = isset($_REQUEST['action_type']) ? $_REQUEST['action_type'] : 'all';
49
+ $this->type = isset($_REQUEST['type']) ? $_REQUEST['type'] : 'all';
50
+ if (isset($_REQUEST['m']) && strlen($_REQUEST['m']) > 4) {
51
+ $this->month = $_REQUEST['m'];
52
+ }
53
+ // Format start date
54
+ if(isset($_REQUEST['date_start'])) {
55
+ if ('' !== $_REQUEST['date_start']) {
56
+ $this->date_start = strtotime(sanitize_text_field($_REQUEST['date_start']));
57
+ $this->date_start = date('Y-m-d H:i:s', $this->date_start);
58
 
59
+ }
60
+ }
61
 
62
+ // Format end date
63
+ if(isset($_REQUEST['date_end'])) {
64
+ $this->date_end = strtotime(sanitize_text_field($_REQUEST['date_end']));
65
+ $this->date_end = date('Y-m-d H:i:s', $this->date_end);
66
+
67
+ }
68
+
69
+ $this->url = add_query_arg(array('tab' => 'logs'), MPSUM_Admin::get_url());
70
+
71
+ if (isset($_REQUEST['status']) && in_array($_REQUEST['status'], array('all', '2', '1', '0'))) {
72
+ $this->status = $_REQUEST['status'];
73
+ }
74
 
75
+ $this->page = isset($_REQUEST['paged']) ? $_REQUEST['paged'] : '1';
76
+ $this->order = isset($_REQUEST['order']) ? $_REQUEST['order'] : 'DESC';
77
+
78
+ if (isset($_REQUEST['view']) && 'search' == $_REQUEST['view']) {
79
+ $this->is_search = true;
80
+ $this->search_term = isset($_REQUEST['search_term']) ? $_REQUEST['search_term'] : $_REQUEST['term'];
81
+ } else {
82
+ $this->is_search = false;
83
+ $this->search_term = '';
84
+ }
85
+ } else {
86
+ $this->action_type = isset($args['action_type']) ? $args['action_type'] : 'all';
87
+ $this->type = isset($args['type']) ? $args['type'] : 'all';
88
+ if (isset( $args['m']) && strlen($args['m']) > 4) {
89
+ $this->month = $args['m'];
90
+ }
91
+
92
+ $this->url = add_query_arg(array('tab' => 'logs'), MPSUM_Admin::get_url());
93
+
94
+ if (isset($args['status']) && in_array($args['status'], array('all', '2', '1', '0'))) {
95
+ $this->status = $args['status'];
96
+ }
97
+
98
+ $this->page = isset($args['paged']) ? $args['paged'] : '1';
99
+ $this->order = isset($args['order']) ? $args['order'] : 'DESC';
100
+
101
+ if (isset($args['view']) && 'search' == $args['view']) {
102
+ $this->is_search = true;
103
+ $this->search_term = isset($args['search_term']) ? $args['search_term'] : $args['term'];
104
+ } else {
105
+ $this->is_search = false;
106
+ $this->search_term = '';
107
+ }
108
+ }
109
  }
110
 
111
  /**
114
  * @return void
115
  */
116
  public function prepare_items() {
117
+ global $wpdb;
118
+
119
  $tablename = $wpdb->base_prefix . 'eum_logs';
120
+
 
121
  // Get logs per page
122
  $user_id = get_current_user_id();
123
  $per_page = get_user_meta( $user_id, 'mpsum_items_per_page', true );
124
  if ( ! is_numeric( $per_page ) ) {
125
  $per_page = 100;
126
  }
 
127
 
128
+ // Show the last thousand records if exporting
129
+ if(isset($_REQUEST['action']) && ( 'eum_export_logs' === $_REQUEST['action'] || 'eum_export_csv' === $_REQUEST['action'] || 'eum_export_json' === $_REQUEST['action'])) {
130
+ $per_page = 1000;
131
+ }
132
 
133
+ $offset = ($this->page - 1) * $per_page;
134
+ if($this->is_search) {
135
+
136
+ // Try to get username
137
+ $maybe_user = false;
138
+ if(is_numeric($this->search_term)) {
139
+ $maybe_user = get_user_by('id', $this->search_term);
140
+ } elseif(is_email($this->search_term)) {
141
+ $maybe_user = get_user_by('email', $this->search_term);
142
+ } else {
143
+ $maybe_user = get_user_by('slug', $this->search_term);
144
+ if (!$maybe_user) {
145
+ $maybe_user = get_user_by('login', $this->search_term);
146
+ }
147
  }
 
148
 
149
+ // If no user, search the name field
150
+ if(!$maybe_user) {
151
+ $wild = '%';
152
+ $select = "select log_id, user_id, name, type, version_from, version, action, status, date from $tablename WHERE 1=1 AND name LIKE %s";
153
+ $term = $wild . $this->search_term . $wild;
154
+ $orderby = " order by log_id DESC";
155
+ $limit = " limit %d,%d";
156
+
157
+ // Calculate no. of logs separately, because filters may be on
158
+ $query = $select . $orderby;
159
+ $prepared_query = $wpdb->remove_placeholder_escape($wpdb->prepare($query, $term));
160
+ $wpdb->get_results($prepared_query);
161
+ $log_count = $wpdb->num_rows;
162
+
163
+ // Now perform the real query
164
+ $query = $select . $orderby . $limit;
165
+ $query = $wpdb->remove_placeholder_escape($wpdb->prepare($query, $term, $offset, $per_page));
166
+ $this->items = $wpdb->get_results( $query );
167
+ } else {
168
+ $user_id = $maybe_user->ID;
169
+ $select = "select log_id, user_id, name, type, version_from, version, action, status, date from $tablename WHERE 1=1 AND user_id = %d";
170
+
171
+ $orderby = " order by log_id DESC";
172
+ $limit = " limit %d,%d";
173
+
174
+ // Calculate no. of logs separately, because filters may be on
175
+ $query = $select . $orderby;
176
+ $wpdb->get_results($wpdb->prepare($query, $user_id));
177
+ $log_count = $wpdb->num_rows;
178
+
179
+ // Now perform the real query
180
+ $query = $select . $orderby . $limit;
181
+ $query = $wpdb->prepare( $query, $user_id, $offset, $per_page );
182
+ $this->items = $wpdb->get_results( $query );
183
+
184
+ }
185
+
186
+ } else {
187
+ $where = '';
188
+ if ( isset( $this->month ) && strlen( $this->month ) > 4 ) {
189
+ $where .= " AND YEAR($tablename.date)=" . substr($this->month, 0, 4);
190
+ if ( strlen( $this->month ) > 5 ) {
191
+ $where .= " AND MONTH($tablename.date)=" . substr( $this->month, 4, 2 );
192
+ }
193
+ }
194
+
195
+ if(isset($this->date_start) && '' !== $this->date_start && isset($this->date_end) && '' !== $this->date_end) {
196
+ $where .= $wpdb->prepare(" AND (date BETWEEN %s AND %s)", $this->date_start, $this->date_end);
197
+ }
198
+
199
+ if (isset($this->status) && 'all' !== $this->status) {
200
+ $where .= $wpdb->prepare(" and $tablename.status = %d ", absint($this->status));
201
+ }
202
+
203
+ if ( isset( $this->action_type ) && 'all' !== $this->action_type ) {
204
+ $where .= $wpdb->prepare( " and $tablename.action = %s ", sanitize_text_field( $this->action_type ) );
205
+ }
206
+
207
+ if ( isset( $this->type ) && 'all' !== $this->type ) {
208
+ $where .= $wpdb->prepare( " and $tablename.type = %s ", sanitize_text_field( $this->type ) );
209
+ }
210
+
211
+
212
+ $select = "select log_id, user_id, name, type, version_from, version, action, status, date from $tablename WHERE 1=1 ";
213
+ $orderby = ' order by ' . sanitize_sql_orderby("log_id {$this->order}");
214
+ $limit = " limit %d,%d";
215
+
216
+ // Calculate no. of logs separately, because filters may be on
217
+ $query = $select . $where . $orderby;
218
+ $wpdb->get_results( $query );
219
+
220
+ $log_count = $wpdb->num_rows;
221
+
222
+ $query = $select . $where . $orderby . $limit;
223
+ $query = $wpdb->prepare( $query, $offset, $per_page );
224
+ $this->items = $wpdb->get_results( $query );
225
  }
 
 
 
 
226
 
 
 
 
 
227
 
228
+
 
 
229
 
230
  /* -- Register the Columns -- */
231
+ $this->_column_headers = array(
232
  $this->get_columns(), // columns
233
  array(), // hidden
234
  $this->get_sortable_columns(), // sortable
236
 
237
  $this->set_pagination_args( array(
238
  'total_items' => $log_count,
239
+ 'per_page' => $per_page,
240
+ 'total_pages' => ceil( $log_count / $per_page ),
241
+ 'paged' => isset($this->page) ? $this->page : '1',
242
+ 'status' => $this->status,
243
+ 'tab' => $this->tab,
244
  'action_type' => isset($this->action_type) ? $this->action_type: 'all',
245
+ 'type' => isset($this->type) ? $this->type: 'bottom',
246
+ 'view' => empty($this->is_search) ? 'all' : 'search',
247
+ 'term' => empty($this->search_term) ? '' : $this->search_term
248
  ) );
249
  }
250
+
251
+ /**
252
+ * Generate the table navigation above or below the table
253
+ *
254
+ * @since 8.0.1
255
+ * @access protected
256
+ * @param string $which Which extra table nav to use
257
+ */
258
+ protected function display_tablenav( $which ) {
259
+ if ( 'top' == $which ) {
260
+ wp_nonce_field( 'bulk-' . $this->_args['plural'] );
261
+ }
262
+
263
+ ?>
264
+ <div class="tablenav <?php echo esc_attr( $which ); ?>">
265
+
266
+ <div class="alignleft actions bulkactions">
267
+ <?php $this->bulk_actions( $which ); ?>
268
+ </div>
269
+ <?php
270
+ $this->extra_tablenav( $which );
271
+ if( 'bottom' == $which ) {
272
+ $this->pagination( $which );
273
+ }
274
+ ?>
275
+
276
+ </div>
277
+ <?php
278
+ }
279
+
280
  /**
281
  * Display a monthly dropdown for filtering items
282
  *
295
  $month_count = count( $months );
296
  if ( !$month_count || ( 1 == $month_count && 0 == $months[0]->month ) )
297
  return;
298
+
299
+ ?>
 
300
  <label for="filter-by-date" class="screen-reader-text"><?php _e( 'Filter by date', 'stops-core-theme-and-plugin-updates' ); ?></label>
301
  <select name="m" id="filter-by-date">
302
+ <option<?php selected( $this->month, 0 ); ?> value="0"><?php _e( 'All dates', 'stops-core-theme-and-plugin-updates' ); ?></option>
303
  <?php
304
  foreach ( $months as $arc_row ) {
305
  if ( 0 == $arc_row->year )
309
  $year = $arc_row->year;
310
 
311
  printf( "<option %s value='%s'>%s</option>\n",
312
+ selected( $this->month, $year . $month, false ),
313
  esc_attr( $arc_row->year . $month ),
314
  /* translators: 1: month name, 2: 4-digit year */
315
  sprintf( __( '%1$s %2$d' ), $wp_locale->get_month( $month ), $year )
319
  </select>
320
  <?php
321
  }
322
+
323
+ /**
324
+ * Type order
325
+ *
326
+ * @return void
327
+ */
328
+ private function order_dropdown() {
329
+ ?>
330
+ <label for="filter-by-order" class="screen-reader-text"><?php _e( 'Order', 'stops-core-theme-and-plugin-updates' ); ?></label>
331
+ <select name="type" id="filter-by-order">
332
+ <option<?php selected( $this->order, 'ASC' ); ?> value="ASC"><?php echo _x( 'ASC', 'Ascending type', 'stops-core-theme-and-plugin-updates' ); ?></option>
333
+ <option<?php selected( $this->order, 'DESC' ); ?> value="DESC"><?php echo _x( 'DESC', 'Descending type', 'stops-core-theme-and-plugin-updates' ); ?></option>
334
+ </select>
335
+ <?php
336
+ }
337
+
338
  /**
339
  * Type dropdown
340
  *
341
  * @return void
342
  */
343
  private function type_dropdown() {
 
344
  ?>
345
  <label for="filter-by-type" class="screen-reader-text"><?php _e( 'Filter by Upgrade Type', 'stops-core-theme-and-plugin-updates' ); ?></label>
346
  <select name="type" id="filter-by-type">
347
+ <option<?php selected( $this->type, 'all' ); ?> value="all"><?php echo _x( 'All Types', 'Upgrade types: translation, core, plugin, theme', 'stops-core-theme-and-plugin-updates' ); ?></option>
348
+ <option<?php selected( $this->type, 'core' ); ?> value="core"><?php echo _x( 'Core', 'Show WordPress core updates', 'stops-core-theme-and-plugin-updates' ); ?></option>
349
+ <option<?php selected( $this->type, 'plugin' ); ?> value="plugin"><?php echo _x( 'Plugins', 'Show WordPress Plugin updates', 'stops-core-theme-and-plugin-updates' ); ?></option>
350
+ <option<?php selected( $this->type, 'theme' ); ?> value="theme"><?php echo _x( 'Themes', 'Show WordPress Theme updates', 'stops-core-theme-and-plugin-updates' ); ?></option>
351
+ <option<?php selected( $this->type, 'translation' ); ?> value="translation"><?php echo _x( 'Translations', 'Show WordPress translation updates', 'stops-core-theme-and-plugin-updates' ); ?></option>
352
  </select>
353
  <?php
354
  }
355
+
356
  /**
357
  * Status dropdown
358
  *
359
  * @return void
360
  */
361
  private function status_dropdown() {
 
362
  ?>
363
  <label for="filter-by-success" class="screen-reader-text"><?php _e( 'Filter by Status', 'stops-core-theme-and-plugin-updates' ); ?></label>
364
  <select name="status" id="filter-by-success">
365
+ <option<?php selected($this->status, 'all'); ?> value="all"><?php _e('All Statuses', 'stops-core-theme-and-plugin-updates'); ?></option>
366
+ <option<?php selected($this->status, 1); ?> value="1"><?php echo _x('Success', 'Show status updates that are successful', 'stops-core-theme-and-plugin-updates'); ?></option>
367
+ <option<?php selected($this->status, 0); ?> value="0"><?php echo _x('Failures', 'Show status updates that are not successful', 'stops-core-theme-and-plugin-updates'); ?></option>
368
+ <option<?php selected($this->status, 2); ?> value="2"><?php echo _x('Update Not Compatible', 'Show status updates that do not meet safe mode requirements', 'stops-core-theme-and-plugin-updates'); ?></option>
369
  </select>
370
  <?php
371
  }
372
+
373
  /**
374
  * Action dropdown
375
  *
376
  * @return void
377
  */
378
  private function action_dropdown() {
 
379
  ?>
380
  <label for="filter-by-action" class="screen-reader-text"><?php _e( 'Filter by Action', 'stops-core-theme-and-plugin-updates' ); ?></label>
381
  <select name="action_type" id="filter-by-action">
382
+ <option<?php selected( $this->action_type, 'all' ); ?> value="all"><?php _e( 'All Actions', 'stops-core-theme-and-plugin-updates' ); ?></option>
383
+ <option<?php selected( $this->action_type, 'automatic' ); ?> value="automatic"><?php echo _x( 'Automatic Updates', 'Show log items that are automatic updates only', 'stops-core-theme-and-plugin-updates' ); ?></option>
384
+ <option<?php selected( $this->action_type, 'manual' ); ?> value="manual"><?php echo _x( 'Manual Updates', 'Show log items that are manual updates only', 'stops-core-theme-and-plugin-updates' ); ?></option>
385
  </select>
386
  <?php
387
  }
388
+
389
  /**
390
  * Extra table nav
391
  *
393
  * @param string $which Specify which table
394
  */
395
  protected function extra_tablenav( $which ) {
396
+ ?>
 
397
  <form id="logs-filter" action="<?php echo esc_url( $this->url ); ?>" method="GET">
398
  <input type="hidden" name="page" value="mpsum-update-options" />
399
  <input type="hidden" name="tab" value="logs" />
400
  <div class="alignleft">
401
+ <?php
402
  if ( 'top' === $which && !is_singular() ) {
403
 
404
  $this->months_dropdown( $this->screen->post_type );
405
  $this->status_dropdown();
406
  $this->action_dropdown();
407
  $this->type_dropdown();
408
+ $this->order_dropdown();
409
 
410
  submit_button( __( 'Filter', 'stops-core-theme-and-plugin-updates' ), 'button', 'filter_action', false, array( 'id' => 'post-query-submit' ) );
411
  }
412
  ?>
413
  </div>
414
+ </form>
415
+ <?php
416
+ if(MPSUM_Updates_Manager::get_instance()->is_premium() && 'bottom' === $which) {
417
+ ?>
418
+ <form id="log-export" action="<?php echo esc_url($this->url); ?>" method="get">
419
+ <div class="alignleft">
420
+ <?php submit_button(__('Export', 'stops-core-theme-and-plugin-updates'), array('primary', 'large'), 'export_action', false, array( 'id' => 'log-export')); ?>
421
+ <div class="export-date-range" style="display: none">
422
+ <h3>Begin Export</h3>
423
+ <div class="eum-export-date">
424
+ <input type="text" id="export_date_start" name="export_date_start" />
425
+ <strong><label for="export_date_start" style="display:block;"><?php esc_html_e('Start', 'stops-core-theme-and-plugin-updates');?></label></strong>
426
+ </div>
427
+ <div class="eum-export-date">
428
+ <input type="text" id="export_date_end" name="export_date_end" />
429
+ <strong><label for="export_date_start" style="display:block;"><?php esc_html_e('End', 'stops-core-theme-and-plugin-updates');?></label></strong>
430
+ </div>
431
+ <div class="mpsum-notice mpsum-regular mpsum-clear"><?php esc_html_e('The date range is optional. If left blank, the last 1000 log entries will be exported.', 'stops-core-theme-and-plugin-updates'); ?></div>
432
+ <div class="export-button">
433
+ <input type="hidden" id="export-ajax-url" value="<?php echo esc_url(add_query_arg(array('action' => 'eum_export_logs', 'nonce' => wp_create_nonce('eum_export_logs'), 'action_type' => 'all'), admin_url('admin-ajax.php')));?>" />
434
+ <a href="#" id="eum-export-go" class="button-primary thickbox open-plugin-details-modal" name="<?php esc_html_e('Export Logs', 'stops-core-theme-and-plugin-updates');?>"><?php esc_html_e('Go', 'stops-core-theme-and-plugin-updates'); ?></a>&nbsp;<a href="#" class="button-secondary export-cancel"><?php esc_html_e('Cancel', 'stops-core-theme-and-plugin-updates'); ?></a>
435
+ </div>
436
+ </div><!-- .export-date-range -->
437
+ </div><!-- .alignleft -->
438
+ </form>
439
+ <?php
440
+ }
441
+ ?>
442
+ <form id="search-filter" action="<?php echo esc_url($this->url); ?>" method="get">
443
+ <?php
444
+ if(MPSUM_Updates_Manager::get_instance()->is_premium() && 'top' === $which) {
445
+ ?>
446
+ <div class="alignright">
447
+ <input type="text" value="" name="eum-log-search" id="eum-log-search" /><?php submit_button( __( 'Search', 'stops-core-theme-and-plugin-updates' ), 'button', 'search_action', false, array( 'id' => 'log-query-search' ) ); ?>
448
+ </div>
449
+ <?php
450
+ }
451
+ ?>
452
+ </form><!-- #search-filter -->
453
  <?php
454
  /**
455
  * Fires immediately following the closing "actions" div in the tablenav for the posts
477
  * @return array
478
  */
479
  public function get_columns() {
480
+ $columns = array(
481
  'user' => _x( 'User', 'Column header for logs', 'stops-core-theme-and-plugin-updates' ),
482
  'name' => _x( 'Name', 'Column header for logs', 'stops-core-theme-and-plugin-updates' ),
483
  'type' => _x( 'Type', 'Column header for logs', 'stops-core-theme-and-plugin-updates' ),
486
  'action' => _x( 'Action', 'Column header for logs', 'stops-core-theme-and-plugin-updates' ),
487
  'status' => _x( 'Status', 'Column header for logs', 'stops-core-theme-and-plugin-updates' ),
488
  'date' => _x( 'Date', 'Column header for logs', 'stops-core-theme-and-plugin-updates' ),
489
+
490
  );
491
  return $columns;
492
  }
500
  * @param int $level Row level
501
  */
502
  public function display_rows( $posts = array(), $level = 0 ) {
 
503
  foreach ( $this->items as $record ) {
504
+ $this->single_row( $record );
505
  }
506
+ }
507
+
508
+ /**
509
+ * Display CSV data
510
+ *
511
+ * @param array $posts posts to be displayed
512
+ * @param int $level Row level
513
+ */
514
+ public function display_csv( $posts = array(), $level = 0 ) {
515
+ $fp = fopen('php://temp', 'w+');
516
+ foreach ( $this->items as $record ) {
517
+ $row_columns = array();
518
+ foreach( $record as $record_key => $record_data ) {
519
+ if ( 'log_id' == $record_key ) continue;
520
+ switch( $record_key ) {
521
+ case 'user_id':
522
+ if ( 0 == $record_data ) {
523
+ $row_columns[] = _x('None', 'No user found', 'stops-core-theme-and-plugin-updates');
524
+ } else {
525
+ $user = get_user_by( 'id', $record_data );
526
+ if ( $user ) {
527
+ $row_columns[] = $user->user_nicename;
528
+ }
529
+
530
+ }
531
+ break;
532
+ case 'name':
533
+ $row_columns[] = $record_data;
534
+ break;
535
+ case 'type':
536
+ if ('core' == $record_data) {
537
+ $row_columns[] = ucfirst(_x('core', 'update type', 'stops-core-theme-and-plugin-updates' ));
538
+ } elseif ( 'translation' == $record_data ) {
539
+ $row_columns[] = ucfirst( _x( 'translation', 'update type', 'stops-core-theme-and-plugin-updates' ));
540
+ } elseif( 'plugin' == $record_data ) {
541
+ $row_columns[] =ucfirst( _x( 'plugin', 'update type', 'stops-core-theme-and-plugin-updates'));
542
+ } elseif( 'theme' == $record_data ) {
543
+ $row_columns[] = ucfirst( _x( 'theme', 'update type', 'stops-core-theme-and-plugin-updates'));
544
+ } else {
545
+ $row_columns[] = ucfirst($record_data);
546
+ }
547
+ break;
548
+ case 'version_from':
549
+ $row_columns[] = $record_data;
550
+ break;
551
+ case 'version':
552
+ $row_columns[] = $record_data;
553
+ break;
554
+ case 'action':
555
+ if ('manual' == $record_data) {
556
+ $row_columns[] = ucfirst(_x('manual', 'update type - manual or automatic updates', 'stops-core-theme-and-plugin-updates'));
557
+ } elseif( 'automatic' == $record_data ) {
558
+ $row_columns[] = ucfirst( _x( 'automatic', 'update type - manual or automatic updates', 'stops-core-theme-and-plugin-updates'));
559
+ } else {
560
+ $row_columns[] = ucfirst( $record_data);
561
+ }
562
+
563
+ break;
564
+ case 'status':
565
+ if ( 1 == $record_data ) {
566
+ $row_columns[] = __('Success', 'stops-core-theme-and-plugin-updates');
567
+ } elseif(2 == $record_data) {
568
+ $row_columns[] = _x('Update Requirements Not Met', 'Show status updates that are in safe mode', 'stops-core-theme-and-plugin-updates');
569
+ } else {
570
+ $row_columns[] = __('Failure', 'stops-core-theme-and-plugin-updates');
571
+ }
572
+ break;
573
+ case 'date':
574
+ $row_columns[] = $record_data;
575
+ break;
576
+ default:
577
+ break;
578
+ }
579
+ }
580
+ fputcsv($fp, $row_columns);
581
+ }
582
+ rewind($fp);
583
+ $csv_contents = stream_get_contents($fp);
584
+ fclose($fp);
585
+ echo $csv_contents;
586
+ }
587
+
588
+ /**
589
+ * Display JSON data
590
+ *
591
+ * @param array $posts posts to be displayed
592
+ * @param int $level Row level
593
+ */
594
+ public function display_json( $posts = array(), $level = 0 ) {
595
+ $json_array = array();
596
+ foreach ( $this->items as $record ) {
597
+ $log_id = 0;
598
+ $row_data = array();
599
+
600
+
601
+ foreach( $record as $record_key => $record_data ) {
602
+ if ( 'log_id' == $record_key ) {
603
+ $log_id = $record_data;
604
+ continue;
605
+ }
606
+ $row_data[$record_key] = $record_data;
607
+ }
608
+ $json_array[$log_id] = $row_data;
609
+ }
610
+ echo json_encode( $json_array );
611
  }
612
 
613
  /**
617
  * @return void
618
  */
619
  public function single_row( $record ) {
620
+
621
  ?>
622
  <tr id="log-<?php echo $record->log_id; ?>">
623
  <?php
633
  if ( $user ) {
634
  echo esc_html( $user->user_nicename );
635
  }
636
+
637
  }
638
  break;
639
  case 'name':
666
  } else {
667
  echo esc_html( ucfirst( $record_data ) );
668
  }
669
+
670
  break;
671
+ case 'status':
672
+ if (1 == $record_data) {
673
+ echo esc_html__('Success', 'stops-core-theme-and-plugin-updates');
674
+ } elseif(2 == $record_data) {
675
+ echo _x('Update Requirements Not Met', 'Show status updates that are in safe mode', 'stops-core-theme-and-plugin-updates');
676
  } else {
677
+ echo esc_html__('Failure', 'stops-core-theme-and-plugin-updates');
678
+ }
679
+ break;
680
  case 'date':
681
  echo esc_html( $record_data );
682
  break;
684
  break;
685
  }
686
  echo '</td>';
687
+ }
688
+
689
  ?>
690
  </tr>
691
  <?php
732
  $response['headers'] = $headers;
733
 
734
  if ( isset( $total_items ) ) {
735
+ $response['total_items_i18n'] = sprintf( _n( '%s log', '%s logs', $total_items ), number_format_i18n( $total_items ) );
736
  }
737
 
738
  if ( isset( $total_pages ) ) {
742
 
743
  wp_send_json( $response );
744
  }
745
+
746
+ /**
747
+ * Display the pagination.
748
+ *
749
+ * @since 3.1.0
750
+ * @access protected
751
+ *
752
+ * @param string $which Which extra table nav to use
753
+ */
754
+ protected function pagination( $which ) {
755
+ if ( empty( $this->_pagination_args ) ) {
756
+ return;
757
+ }
758
+
759
+ $total_items = $this->_pagination_args['total_items'];
760
+ $total_pages = $this->_pagination_args['total_pages'];
761
+ $tab = $this->_pagination_args['tab'];
762
+ $view = $this->_pagination_args['view'];
763
+ $term = $this->_pagination_args['term'];
764
+ $current = $this->_pagination_args['paged'];
765
+
766
+ $infinite_scroll = false;
767
+ if ( isset( $this->_pagination_args['infinite_scroll'] ) ) {
768
+ $infinite_scroll = $this->_pagination_args['infinite_scroll'];
769
+ }
770
+
771
+ $output = '<span class="displaying-num">' . sprintf( _n( '%s item', '%s items', $total_items ), number_format_i18n( $total_items ) ) . '</span>';
772
+
773
+ $current_url = set_url_scheme( 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] );
774
+
775
+ $current_url = remove_query_arg( array( 'hotkeys_highlight_last', 'hotkeys_highlight_first' ), $current_url );
776
+
777
+ $page_links = array();
778
+
779
+ $total_pages_before = '<span class="paging-input">';
780
+ $total_pages_after = '</span>';
781
+
782
+ $disable_first = $disable_last = $disable_prev = $disable_next = false;
783
+
784
+ if ( $current == 1 ) {
785
+ $disable_first = true;
786
+ $disable_prev = true;
787
+ }
788
+ if ( $current == 2 ) {
789
+ $disable_first = true;
790
+ }
791
+ if ( $current == $total_pages || 0 == $total_items ) {
792
+ $disable_last = true;
793
+ $disable_next = true;
794
+ }
795
+ if ( $current == $total_pages - 1 ) {
796
+ $disable_last = true;
797
+ }
798
+
799
+ if ( $disable_first ) {
800
+ $page_links[] = '<span class="tablenav-pages-navspan" aria-hidden="true">&laquo;</span>';
801
+ } else {
802
+ $page_links[] = sprintf( "<a class='first-page' href='%s'><span class='screen-reader-text'>%s</span><span aria-hidden='true'>%s</span></a>",
803
+ esc_url(add_query_arg(array('tab' => $tab, 'view' => $view, 'term' => $term, 'paged' => 1), $current_url)),
804
+ __( 'First page' ),
805
+ '&laquo;'
806
+ );
807
+ }
808
+
809
+ if ( $disable_prev ) {
810
+ $page_links[] = '<span class="tablenav-pages-navspan" aria-hidden="true">&lsaquo;</span>';
811
+ } else {
812
+ $page_links[] = sprintf( "<a class='prev-page' href='%s'><span class='screen-reader-text'>%s</span><span aria-hidden='true'>%s</span></a>",
813
+ esc_url(add_query_arg(array('paged' => max(1, $current-1), 'tab' => $tab, 'view' => $view, 'term' => $term), $current_url)),
814
+ __( 'Previous page' ),
815
+ '&lsaquo;'
816
+ );
817
+ }
818
+
819
+ if ( 'bottom' == $which ) {
820
+ $html_current_page = $current;
821
+ $total_pages_before = '<span class="screen-reader-text">' . __( 'Current Page' ) . '</span><span id="table-paging" class="paging-input" data-tab="' . $tab . '">';
822
+ } else {
823
+ $html_current_page = sprintf("%s<input class='current-page' id='current-page-selector' type='text' name='paged' value='%s' size='%d' aria-describedby='table-paging' data-tab='%s' data-view='%s' />",
824
+ '<label for="current-page-selector" class="screen-reader-text">' . __( 'Current Page' ) . '</label>',
825
+ $current,
826
+ strlen($total_pages),
827
+ $tab,
828
+ $view
829
+ );
830
+ }
831
+ $html_total_pages = sprintf( "<span class='total-pages'>%s</span>", number_format_i18n( $total_pages ) );
832
+ if (0 == $total_items) {
833
+ $html_current_page = 0;
834
+ $html_total_pages = 0;
835
+ }
836
+ $page_links[] = $total_pages_before . sprintf( _x( '%1$s of %2$s', 'paging' ), $html_current_page, $html_total_pages ) . $total_pages_after;
837
+
838
+ if ( $disable_next ) {
839
+ $page_links[] = '<span class="tablenav-pages-navspan" aria-hidden="true">&rsaquo;</span>';
840
+ } else {
841
+ $page_links[] = sprintf( "<a class='next-page' href='%s'><span class='screen-reader-text'>%s</span><span aria-hidden='true'>%s</span></a>",
842
+ esc_url(add_query_arg(array('paged' => min($total_pages, $current+1), 'tab' => $tab, 'view' => $view, 'term' => $term), $current_url)),
843
+ __( 'Next page' ),
844
+ '&rsaquo;'
845
+ );
846
+ }
847
+
848
+ if ( $disable_last ) {
849
+ $page_links[] = '<span class="tablenav-pages-navspan" aria-hidden="true">&raquo;</span>';
850
+ } else {
851
+ $page_links[] = sprintf( "<a class='last-page' href='%s'><span class='screen-reader-text'>%s</span><span aria-hidden='true'>%s</span></a>",
852
+ esc_url(add_query_arg(array('paged' => $total_pages, 'tab' => $tab, 'view' => $view, 'term' => $term), $current_url)),
853
+ __( 'Last page' ),
854
+ '&raquo;'
855
+ );
856
+ }
857
+
858
+ $pagination_links_class = 'pagination-links';
859
+ if ( ! empty( $infinite_scroll ) ) {
860
+ $pagination_links_class = ' hide-if-js';
861
+ }
862
+ $output .= "\n<span class='$pagination_links_class'>" . join( "\n", $page_links ) . '</span>';
863
+
864
+ if ( $total_pages ) {
865
+ $page_class = $total_pages < 2 ? ' one-page' : '';
866
+ } else {
867
+ $page_class = ' no-pages';
868
+ }
869
+ $this->_pagination = "<div class='tablenav-pages{$page_class}'>$output</div>";
870
+
871
+ echo $this->_pagination;
872
+ }
873
  }
includes/MPSUM_Plugins_List_Table.php CHANGED
@@ -10,7 +10,9 @@ if ( !defined( 'ABSPATH' ) ) die( 'No direct access.' );
10
  */
11
  class MPSUM_Plugins_List_Table extends MPSUM_List_Table {
12
 
13
- private $tab = '';
 
 
14
 
15
  /**
16
  * Constructor.
@@ -23,27 +25,35 @@ class MPSUM_Plugins_List_Table extends MPSUM_List_Table {
23
  * @param array $args An associative array of arguments.
24
  */
25
  public function __construct( $args = array() ) {
26
- global $status, $page;
27
 
28
  parent::__construct( array(
29
  'singular' => 'plugin',
30
  'plural' => 'plugins',
31
- 'screen' => isset( $args['screen'] ) ? $args['screen'] : null,
32
  'ajax' => true
33
  ) );
34
 
35
- $this->tab = isset( $args[ 'tab' ] ) ? $args[ 'tab' ] : '';
 
36
 
 
 
 
 
 
37
 
38
- $status = 'all';
39
- if ( isset( $_REQUEST['plugin_status'] ) && in_array( $_REQUEST['plugin_status'], array( 'update_disabled', 'update_enabled', 'automatic' ) ) ) {
40
- $status = $_REQUEST['plugin_status'];
41
- }
42
 
43
- if ( isset($_REQUEST['s']) )
44
- $_SERVER['REQUEST_URI'] = add_query_arg('s', wp_unslash($_REQUEST['s']) );
 
 
 
 
45
 
46
- $page = $this->get_pagenum();
 
47
  }
48
 
49
  /**
@@ -71,9 +81,8 @@ class MPSUM_Plugins_List_Table extends MPSUM_List_Table {
71
  */
72
  public function prepare_items() {
73
 
74
- global $orderby, $order, $totals, $status;
75
  $order = 'DESC';
76
- $page = $this->get_pagenum();
77
  $orderby = 'Name';
78
 
79
  /**
@@ -85,6 +94,10 @@ class MPSUM_Plugins_List_Table extends MPSUM_List_Table {
85
  *
86
  * @param array $plugins An array of plugins to display in the list table.
87
  */
 
 
 
 
88
  $plugins = array(
89
  'all' => apply_filters( 'all_plugins', get_plugins() ),
90
  'update_enabled' => array(),
@@ -129,17 +142,17 @@ class MPSUM_Plugins_List_Table extends MPSUM_List_Table {
129
  $plugins[ 'automatic' ] = array();
130
  }
131
 
132
- if ( empty( $plugins[ $status ] ) )
133
- $status = 'all';
134
 
135
  $this->items = array();
136
- foreach ( $plugins[ $status ] as $plugin_file => $plugin_data ) {
137
  // Translate, Don't Apply Markup, Sanitize HTML
138
  remove_action( "after_plugin_row_$plugin_file", 'wp_plugin_update_row', 10, 2 );
139
  $this->items[$plugin_file] = _get_plugin_data_markup_translate( $plugin_file, $plugin_data, false, true );
140
  }
141
 
142
- $total_this_page = $totals[ $status ];
143
 
144
  // Get plugins per page
145
  $user_id = get_current_user_id();
@@ -148,7 +161,7 @@ class MPSUM_Plugins_List_Table extends MPSUM_List_Table {
148
  $plugins_per_page = 100;
149
  }
150
 
151
- $start = ( $page - 1 ) * $plugins_per_page;
152
 
153
  if ( $total_this_page > $plugins_per_page )
154
  $this->items = array_slice( $this->items, $start, $plugins_per_page );
@@ -158,8 +171,9 @@ class MPSUM_Plugins_List_Table extends MPSUM_List_Table {
158
  'per_page' => $plugins_per_page,
159
  'total_pages' => ceil( $total_this_page / $plugins_per_page ),
160
  // Set plugin status value (useful for AJAX)
161
- 'plugin_status' => $status,
162
- 'tab' => isset($this->tab) ? $this->tab : ''
 
163
  ) );
164
  }
165
 
@@ -279,11 +293,9 @@ class MPSUM_Plugins_List_Table extends MPSUM_List_Table {
279
  *
280
  * @return array
281
  */
282
- public function get_columns() {
283
- global $status;
284
-
285
  return array(
286
- 'cb' => !in_array( $status, array( 'mustuse', 'dropins' ) ) ? '<input type="checkbox" />' : '',
287
  'name' => __( 'Plugin', 'stops-core-theme-and-plugin-updates' ),
288
  'description' => __( 'Description', 'stops-core-theme-and-plugin-updates' ),
289
  );
@@ -304,7 +316,7 @@ class MPSUM_Plugins_List_Table extends MPSUM_List_Table {
304
  * @return array
305
  */
306
  protected function get_views() {
307
- global $totals, $status;
308
 
309
  $status_links = array();
310
  foreach ( $totals as $type => $count ) {
@@ -329,13 +341,13 @@ class MPSUM_Plugins_List_Table extends MPSUM_List_Table {
329
  if ( 'search' != $type ) {
330
  $plugin_url = MPSUM_Admin::get_url();
331
  $query_args = array(
332
- 'tab' => isset( $_REQUEST['tab'] ) ? $_REQUEST['tab'] : 'all',
333
- 'plugin_status' => $type
334
  );
335
- $status_links[$type] = sprintf( "<a href='%s' data-plugin_status='%s' %s>%s</a>",
336
  add_query_arg( $query_args, $plugin_url ),
337
- $status,
338
- ( $type == $status ) ? ' class="current"' : '',
339
  sprintf( $text, number_format_i18n( $count ) )
340
  );
341
  }
@@ -350,8 +362,6 @@ class MPSUM_Plugins_List_Table extends MPSUM_List_Table {
350
  * @return array
351
  */
352
  protected function get_bulk_actions() {
353
- global $status;
354
-
355
  $actions = array();
356
 
357
  $actions[ 'allow-update-selected' ] = esc_html__( 'Plugin Updates On', 'stops-core-theme-and-plugin-updates' );
@@ -368,14 +378,12 @@ class MPSUM_Plugins_List_Table extends MPSUM_List_Table {
368
  /**
369
  * Bulk action
370
  *
371
- * @global string $status
372
  * @param string $which Specify which bulk action
373
  * @return null
374
  */
375
  public function bulk_actions( $which = '' ) {
376
- global $status;
377
 
378
- if ( in_array( $status, array( 'mustuse', 'dropins' ) ) )
379
  return;
380
 
381
  parent::bulk_actions( $which );
@@ -384,22 +392,20 @@ class MPSUM_Plugins_List_Table extends MPSUM_List_Table {
384
  /**
385
  * Extra table Nav
386
  *
387
- * @global string $status
388
  * @param string $which Specify which table nav
389
  * @return null
390
  */
391
  protected function extra_tablenav( $which ) {
392
- global $status;
393
 
394
- if ( ! in_array($status, array('recently_activated', 'mustuse', 'dropins') ) )
395
  return;
396
 
397
  echo '<div class="alignleft actions">';
398
 
399
- if ( ! $this->screen->in_admin( 'network' ) && 'recently_activated' == $status ) {
400
  submit_button( __( 'Clear List', 'stops-core-theme-and-plugin-updates' ), 'button', 'clear-recent-list', false );
401
  }
402
- elseif ( 'top' == $which && 'mustuse' == $status ) {
403
  echo '<p>' .
404
  sprintf(
405
  __( 'Files in the %s directory are executed automatically.', 'stops-core-theme-and-plugin-updates' ),
@@ -407,7 +413,7 @@ class MPSUM_Plugins_List_Table extends MPSUM_List_Table {
407
  ) .
408
  '</p>';
409
  }
410
- elseif ( 'top' == $which && 'dropins' == $status ) {
411
  echo '<p>' .
412
  sprintf(
413
  __( 'Drop-ins are advanced plugins in the %s directory that replace WordPress functionality when present.', 'stops-core-theme-and-plugin-updates' ),
@@ -437,9 +443,8 @@ class MPSUM_Plugins_List_Table extends MPSUM_List_Table {
437
  * @return void
438
  */
439
  public function display_rows() {
440
- global $status;
441
 
442
- if ( is_multisite() && ! $this->screen->in_admin( 'network' ) && in_array( $status, array( 'mustuse', 'dropins' ) ) )
443
  return;
444
 
445
  foreach ( $this->items as $plugin_file => $plugin_data )
@@ -449,29 +454,27 @@ class MPSUM_Plugins_List_Table extends MPSUM_List_Table {
449
  /**
450
  * Single row
451
  *
452
- * @global string $status
453
- * @global int $page
454
  * @global string $s
455
  * @global array $totals
456
  * @param array $item Single row item
457
  */
458
  public function single_row( $item ) {
459
- global $status, $page, $s, $totals;
460
 
461
  list( $plugin_file, $plugin_data ) = $item;
462
  $context = 'all';
463
  $screen = $this->screen;
464
 
465
  /**
466
- * Filter the action links that show up under each plugin row.
467
- *
468
- * @since 5.0.0
469
- *
470
- * @param string Relative plugin file path
471
- * @param array $plugin_data An array of plugin data.
472
- * @param string $status Status of the plugin.
473
- */
474
- $actions = apply_filters( 'mpsum_plugin_action_links', array(), $plugin_file, $plugin_data, $status );
475
 
476
  $class = 'active';
477
  $plugin_options = MPSUM_Updates_Manager::get_options( 'plugins' );
@@ -489,7 +492,7 @@ class MPSUM_Plugins_List_Table extends MPSUM_List_Table {
489
 
490
  echo "<tr id='$id' class='$class'>";
491
 
492
- list( $columns, $hidden ) = $this->get_column_info();
493
 
494
  foreach ( $columns as $column_name => $column_display_name ) {
495
  $style = '';
@@ -533,18 +536,18 @@ class MPSUM_Plugins_List_Table extends MPSUM_List_Table {
533
  $checked
534
  );
535
 
536
- printf( '<button aria-label="%s" class="eum-toggle-button eum-enabled %s" data-checked="%s">%s</button>',
537
  esc_attr__( 'Allow Updates', 'stops-core-theme-and-plugin-updates' ),
538
  esc_attr( $enable_class ),
539
  $plugin_slug,
540
- esc_html__( 'On', 'stops-core-theme-and-plugin-updates' )
541
  );
542
 
543
- printf( '<button aria-label="%s" class="eum-toggle-button eum-disabled %s" data-checked="%s">%s</button>',
544
  esc_attr__( 'Disallow Updates', 'stops-core-theme-and-plugin-updates' ),
545
  esc_attr( $disable_class ),
546
  $plugin_slug,
547
- esc_html__( 'Off', 'stops-core-theme-and-plugin-updates' )
548
  );
549
 
550
  echo '</div></div>';
@@ -570,14 +573,14 @@ class MPSUM_Plugins_List_Table extends MPSUM_List_Table {
570
  $checked
571
  );
572
 
573
- printf( '<button aria-label="%s" class="eum-toggle-button eum-enabled %s" data-checked="%s">%s</button>',
574
  esc_html__( 'Enable Automatic Updates', 'stops-core-theme-and-plugin-updates' ),
575
  esc_attr( $enable_class ),
576
  $plugin_slug,
577
  esc_html__( 'On', 'stops-core-theme-and-plugin-updates' )
578
  );
579
 
580
- printf( '<button aria-label="%s" class="eum-toggle-button eum-disabled %s" data-checked="%s">%s</button>',
581
  esc_attr__( 'Enable Automatic Updates', 'stops-core-theme-and-plugin-updates' ),
582
  esc_attr( $disable_class ),
583
  $plugin_slug,
@@ -606,9 +609,9 @@ class MPSUM_Plugins_List_Table extends MPSUM_List_Table {
606
 
607
  // Details link using API info, if available
608
  if ( isset( $plugin_data['slug'] ) && current_user_can( 'install_plugins' ) ) {
609
- $plugin_meta[] = sprintf( '<a href="%s" class="thickbox" aria-label="%s" data-title="%s">%s</a>',
610
  esc_url( network_admin_url( 'plugin-install.php?tab=plugin-information&plugin=' . $plugin_data['slug'] .
611
- '&TB_iframe=true&width=600&height=550' ) ),
612
  esc_attr( sprintf( __( 'More information about %s', 'stops-core-theme-and-plugin-updates' ), $plugin_name ) ),
613
  esc_attr( $plugin_name ),
614
  __( 'View details', 'stops-core-theme-and-plugin-updates' )
@@ -620,6 +623,7 @@ class MPSUM_Plugins_List_Table extends MPSUM_List_Table {
620
  );
621
  }
622
 
 
623
  /**
624
  * Filter the array of row meta for each plugin in the Plugins list table.
625
  *
@@ -630,13 +634,42 @@ class MPSUM_Plugins_List_Table extends MPSUM_List_Table {
630
  * author URI, and plugin URI.
631
  * @param string $plugin_file Path to the plugin file, relative to the plugins directory.
632
  * @param array $plugin_data An array of plugin data.
633
- * @param string $status Status of the plugin. Defaults are 'All', 'Active',
634
  * 'Inactive', 'Recently Activated', 'Upgrade', 'Must-Use',
635
  * 'Drop-ins', 'Search'.
636
  */
637
- $plugin_meta = apply_filters( 'plugin_row_meta', $plugin_meta, $plugin_file, $plugin_data, $status );
638
  echo implode( ' | ', $plugin_meta );
639
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
640
  echo "</div></td>";
641
  break;
642
  default:
@@ -658,33 +691,5 @@ class MPSUM_Plugins_List_Table extends MPSUM_List_Table {
658
 
659
  echo "</tr>";
660
 
661
- /**
662
- * Fires after each row in the Plugins list table.
663
- *
664
- * @since 2.3.0
665
- *
666
- * @param string $plugin_file Path to the plugin file, relative to the plugins directory.
667
- * @param array $plugin_data An array of plugin data.
668
- * @param string $status Status of the plugin. Defaults are 'All', 'Active',
669
- * 'Inactive', 'Recently Activated', 'Upgrade', 'Must-Use',
670
- * 'Drop-ins', 'Search'.
671
- */
672
- do_action( 'after_plugin_row', $plugin_file, $plugin_data, $status );
673
-
674
- /**
675
- * Fires after each specific row in the Plugins list table.
676
- *
677
- * The dynamic portion of the hook name, `$plugin_file`, refers to the path
678
- * to the plugin file, relative to the plugins directory.
679
- *
680
- * @since 2.7.0
681
- *
682
- * @param string $plugin_file Path to the plugin file, relative to the plugins directory.
683
- * @param array $plugin_data An array of plugin data.
684
- * @param string $status Status of the plugin. Defaults are 'All', 'Active',
685
- * 'Inactive', 'Recently Activated', 'Upgrade', 'Must-Use',
686
- * 'Drop-ins', 'Search'.
687
- */
688
- do_action( "after_plugin_row_$plugin_file", $plugin_file, $plugin_data, $status );
689
  }
690
  }
10
  */
11
  class MPSUM_Plugins_List_Table extends MPSUM_List_Table {
12
 
13
+ private $tab = 'plugins';
14
+ private $status = 'all';
15
+ private $page = '1';
16
 
17
  /**
18
  * Constructor.
25
  * @param array $args An associative array of arguments.
26
  */
27
  public function __construct( $args = array() ) {
 
28
 
29
  parent::__construct( array(
30
  'singular' => 'plugin',
31
  'plural' => 'plugins',
32
+ 'screen' => isset( $args['screen'] ) ? $args['screen'] : 'eum_plugins_tab',
33
  'ajax' => true
34
  ) );
35
 
36
+ // Get plugins transient
37
+ $this->plugins_transient = get_site_transient('update_plugins');
38
 
39
+ if (isset($_REQUEST['action']) && 'eum_ajax' === $_REQUEST['action']) {
40
+ $this->status = 'all';
41
+ if (isset($_REQUEST['view']) && in_array($_REQUEST['view'], array('update_disabled', 'update_enabled', 'automatic'))) {
42
+ $this->status = $_REQUEST['view'];
43
+ }
44
 
45
+ if (isset($_REQUEST['s']))
46
+ $_SERVER['REQUEST_URI'] = add_query_arg('s', wp_unslash($_REQUEST['s']));
 
 
47
 
48
+ $this->page = isset($_REQUEST['paged']) ? $_REQUEST['paged'] : '1';
49
+ } else {
50
+ $this->status = 'all';
51
+ if (isset($args['view']) && in_array($args['view'], array('update_disabled', 'update_enabled', 'automatic'))) {
52
+ $this->status = $args['view'];
53
+ }
54
 
55
+ $this->page = isset($args['paged']) ? $args['paged'] : '1';
56
+ }
57
  }
58
 
59
  /**
81
  */
82
  public function prepare_items() {
83
 
84
+ global $orderby, $order, $totals;
85
  $order = 'DESC';
 
86
  $orderby = 'Name';
87
 
88
  /**
94
  *
95
  * @param array $plugins An array of plugins to display in the list table.
96
  */
97
+ if (!function_exists('get_plugins')) {
98
+ include_once ABSPATH . "wp-admin/includes/plugin.php";
99
+ }
100
+
101
  $plugins = array(
102
  'all' => apply_filters( 'all_plugins', get_plugins() ),
103
  'update_enabled' => array(),
142
  $plugins[ 'automatic' ] = array();
143
  }
144
 
145
+ if ( empty( $plugins[ $this->status ] ) )
146
+ $this->status = 'all';
147
 
148
  $this->items = array();
149
+ foreach ( $plugins[ $this->status ] as $plugin_file => $plugin_data ) {
150
  // Translate, Don't Apply Markup, Sanitize HTML
151
  remove_action( "after_plugin_row_$plugin_file", 'wp_plugin_update_row', 10, 2 );
152
  $this->items[$plugin_file] = _get_plugin_data_markup_translate( $plugin_file, $plugin_data, false, true );
153
  }
154
 
155
+ $total_this_page = $totals[ $this->status ];
156
 
157
  // Get plugins per page
158
  $user_id = get_current_user_id();
161
  $plugins_per_page = 100;
162
  }
163
 
164
+ $start = ( $this->page - 1 ) * $plugins_per_page;
165
 
166
  if ( $total_this_page > $plugins_per_page )
167
  $this->items = array_slice( $this->items, $start, $plugins_per_page );
171
  'per_page' => $plugins_per_page,
172
  'total_pages' => ceil( $total_this_page / $plugins_per_page ),
173
  // Set plugin status value (useful for AJAX)
174
+ 'view' => $this->status,
175
+ 'tab' => $this->tab,
176
+ 'paged' => $this->page
177
  ) );
178
  }
179
 
293
  *
294
  * @return array
295
  */
296
+ public function get_columns() {
 
 
297
  return array(
298
+ 'cb' => !in_array( $this->status, array( 'mustuse', 'dropins' ) ) ? '<input type="checkbox" />' : '',
299
  'name' => __( 'Plugin', 'stops-core-theme-and-plugin-updates' ),
300
  'description' => __( 'Description', 'stops-core-theme-and-plugin-updates' ),
301
  );
316
  * @return array
317
  */
318
  protected function get_views() {
319
+ global $totals;
320
 
321
  $status_links = array();
322
  foreach ( $totals as $type => $count ) {
341
  if ( 'search' != $type ) {
342
  $plugin_url = MPSUM_Admin::get_url();
343
  $query_args = array(
344
+ 'tab' => $this->tab,
345
+ 'view' => $type
346
  );
347
+ $status_links[$type] = sprintf( "<a href='%s' data-view='%s' %s>%s</a>",
348
  add_query_arg( $query_args, $plugin_url ),
349
+ $this->status,
350
+ ( $type == $this->status ) ? ' class="current"' : '',
351
  sprintf( $text, number_format_i18n( $count ) )
352
  );
353
  }
362
  * @return array
363
  */
364
  protected function get_bulk_actions() {
 
 
365
  $actions = array();
366
 
367
  $actions[ 'allow-update-selected' ] = esc_html__( 'Plugin Updates On', 'stops-core-theme-and-plugin-updates' );
378
  /**
379
  * Bulk action
380
  *
 
381
  * @param string $which Specify which bulk action
382
  * @return null
383
  */
384
  public function bulk_actions( $which = '' ) {
 
385
 
386
+ if ( in_array( $this->status, array( 'mustuse', 'dropins' ) ) )
387
  return;
388
 
389
  parent::bulk_actions( $which );
392
  /**
393
  * Extra table Nav
394
  *
 
395
  * @param string $which Specify which table nav
396
  * @return null
397
  */
398
  protected function extra_tablenav( $which ) {
 
399
 
400
+ if ( ! in_array($this->status, array('recently_activated', 'mustuse', 'dropins') ) )
401
  return;
402
 
403
  echo '<div class="alignleft actions">';
404
 
405
+ if ( ! $this->screen->in_admin( 'network' ) && 'recently_activated' == $this->status ) {
406
  submit_button( __( 'Clear List', 'stops-core-theme-and-plugin-updates' ), 'button', 'clear-recent-list', false );
407
  }
408
+ elseif ( 'top' == $which && 'mustuse' == $this->status ) {
409
  echo '<p>' .
410
  sprintf(
411
  __( 'Files in the %s directory are executed automatically.', 'stops-core-theme-and-plugin-updates' ),
413
  ) .
414
  '</p>';
415
  }
416
+ elseif ( 'top' == $which && 'dropins' == $this->status ) {
417
  echo '<p>' .
418
  sprintf(
419
  __( 'Drop-ins are advanced plugins in the %s directory that replace WordPress functionality when present.', 'stops-core-theme-and-plugin-updates' ),
443
  * @return void
444
  */
445
  public function display_rows() {
 
446
 
447
+ if ( is_multisite() && ! $this->screen->in_admin( 'network' ) && in_array( $this->status, array( 'mustuse', 'dropins' ) ) )
448
  return;
449
 
450
  foreach ( $this->items as $plugin_file => $plugin_data )
454
  /**
455
  * Single row
456
  *
 
 
457
  * @global string $s
458
  * @global array $totals
459
  * @param array $item Single row item
460
  */
461
  public function single_row( $item ) {
462
+ global $s, $totals;
463
 
464
  list( $plugin_file, $plugin_data ) = $item;
465
  $context = 'all';
466
  $screen = $this->screen;
467
 
468
  /**
469
+ * Filter the action links that show up under each plugin row.
470
+ *
471
+ * @since 5.0.0
472
+ *
473
+ * @param string Relative plugin file path
474
+ * @param array $plugin_data An array of plugin data.
475
+ * @param string $this->status Status of the plugin.
476
+ */
477
+ $actions = apply_filters( 'mpsum_plugin_action_links', array(), $plugin_file, $plugin_data, $this->status );
478
 
479
  $class = 'active';
480
  $plugin_options = MPSUM_Updates_Manager::get_options( 'plugins' );
492
 
493
  echo "<tr id='$id' class='$class'>";
494
 
495
+ list( $columns, $hidden, $sortable, $primary ) = $this->get_column_info();
496
 
497
  foreach ( $columns as $column_name => $column_display_name ) {
498
  $style = '';
536
  $checked
537
  );
538
 
539
+ printf( '<button aria-label="%s" class="eum-toggle-button eum-enabled %s" data-checked="%s" value="on">%s</button>',
540
  esc_attr__( 'Allow Updates', 'stops-core-theme-and-plugin-updates' ),
541
  esc_attr( $enable_class ),
542
  $plugin_slug,
543
+ esc_html__( 'Allowed', 'stops-core-theme-and-plugin-updates' )
544
  );
545
 
546
+ printf( '<button aria-label="%s" class="eum-toggle-button eum-disabled %s" data-checked="%s value="off">%s</button>',
547
  esc_attr__( 'Disallow Updates', 'stops-core-theme-and-plugin-updates' ),
548
  esc_attr( $disable_class ),
549
  $plugin_slug,
550
+ esc_html__( 'Blocked', 'stops-core-theme-and-plugin-updates' )
551
  );
552
 
553
  echo '</div></div>';
573
  $checked
574
  );
575
 
576
+ printf( '<button aria-label="%s" class="eum-toggle-button eum-enabled %s" data-checked="%s" value="on">%s</button>',
577
  esc_html__( 'Enable Automatic Updates', 'stops-core-theme-and-plugin-updates' ),
578
  esc_attr( $enable_class ),
579
  $plugin_slug,
580
  esc_html__( 'On', 'stops-core-theme-and-plugin-updates' )
581
  );
582
 
583
+ printf( '<button aria-label="%s" class="eum-toggle-button eum-disabled %s" data-checked="%s" value="off">%s</button>',
584
  esc_attr__( 'Enable Automatic Updates', 'stops-core-theme-and-plugin-updates' ),
585
  esc_attr( $disable_class ),
586
  $plugin_slug,
609
 
610
  // Details link using API info, if available
611
  if ( isset( $plugin_data['slug'] ) && current_user_can( 'install_plugins' ) ) {
612
+ $plugin_meta[] = sprintf( '<a href="%s" class="thickbox open-plugin-details-modal" aria-label="%s" data-title="%s">%s</a>',
613
  esc_url( network_admin_url( 'plugin-install.php?tab=plugin-information&plugin=' . $plugin_data['slug'] .
614
+ '&eum_action=EUM_modal&TB_iframe=true&width=600&height=550' ) ),
615
  esc_attr( sprintf( __( 'More information about %s', 'stops-core-theme-and-plugin-updates' ), $plugin_name ) ),
616
  esc_attr( $plugin_name ),
617
  __( 'View details', 'stops-core-theme-and-plugin-updates' )
623
  );
624
  }
625
 
626
+
627
  /**
628
  * Filter the array of row meta for each plugin in the Plugins list table.
629
  *
634
  * author URI, and plugin URI.
635
  * @param string $plugin_file Path to the plugin file, relative to the plugins directory.
636
  * @param array $plugin_data An array of plugin data.
637
+ * @param string $this->status Status of the plugin. Defaults are 'All', 'Active',
638
  * 'Inactive', 'Recently Activated', 'Upgrade', 'Must-Use',
639
  * 'Drop-ins', 'Search'.
640
  */
641
+ $plugin_meta = apply_filters( 'plugin_row_meta', $plugin_meta, $plugin_file, $plugin_data, $this->status );
642
  echo implode( ' | ', $plugin_meta );
643
 
644
+ // Premium only - Check if plugin has been removed from the repo
645
+ if( MPSUM_Updates_Manager::get_instance()->is_premium()) {
646
+ MPSUM_Check_Plugins_Removed::get_instance()->check_if_plugin_removed($plugin_file);
647
+ }
648
+
649
+ // Show active status for blogs
650
+ if (is_multisite()) {
651
+ if(is_plugin_active_for_network($plugin_file)) {
652
+ printf('<div class="mpsum-success mpsum-bold">%s</div>', esc_html__('This plugin is active for your network.', 'stops-core-theme-and-plugin-updates'));
653
+ } else {
654
+ printf('<div class="mpsum-notice mpsum-regular"><a href="#" data-plugin-file="%s" class="eum-list-plugins-action">%s</a><div class="eum-list-plugins"></div></div>', esc_attr($plugin_file), esc_html__('View all sites that have this plugin installed.', 'stops-core-theme-and-plugin-updates'));
655
+ }
656
+ } else {
657
+ if (is_plugin_active($plugin_file)) {
658
+ printf('<div class="mpsum-success mpsum-bold">%s</div>', esc_html__('This plugin is active for your site.', 'stops-core-theme-and-plugin-updates'));
659
+ } else {
660
+ printf('<div class="mpsum-error mpsum-bold">%s</div>', esc_html__('This plugin is inactive for your site. Consider removing it.', 'stops-core-theme-and-plugin-updates'));
661
+ }
662
+ }
663
+
664
+ // Show safe mode options if enabled
665
+ if( MPSUM_Updates_Manager::get_instance()->is_premium()) {
666
+ $core_options = MPSUM_Updates_Manager::get_options('core');
667
+ if(isset($core_options['safe_mode']) && 'on' === $core_options['safe_mode']) {
668
+ $safe_mode_instance = MPSUM_Safe_Mode::get_instance();
669
+ $plugin_object = $safe_mode_instance->perform_api_check($plugin_file);
670
+ $safe_mode_instance->maybe_output_check_safe_mode($plugin_object);
671
+ }
672
+ }
673
  echo "</div></td>";
674
  break;
675
  default:
691
 
692
  echo "</tr>";
693
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
694
  }
695
  }
includes/MPSUM_Reset_Options.php ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if (!defined('ABSPATH')) die('No direct access.');
3
+
4
+ if (class_exists('MPSUM_Reset_Options')) return;
5
+
6
+ /**
7
+ * Class MPSUM_Reset_Options
8
+ *
9
+ * Resets plugin options as if freshly installed
10
+ */
11
+ class MPSUM_Reset_Options {
12
+
13
+ /**
14
+ * MPSUM_Reset_Options constructor.
15
+ */
16
+ private function __construct() {
17
+ add_action('eum_advanced_headings', array($this, 'heading'), 99);
18
+ add_action('eum_advanced_settings', array($this, 'settings'), 99);
19
+ }
20
+
21
+ /**
22
+ * Returns a singleton instance
23
+ *
24
+ * @return MPSUM_Reset_Options object
25
+ */
26
+ public static function get_instance() {
27
+ static $instance = null;
28
+ if ( null === $instance ) {
29
+ $instance = new self();
30
+ }
31
+ return $instance;
32
+ }
33
+
34
+ /**
35
+ * Outputs feature heading
36
+ */
37
+ public function heading() {
38
+ printf('<div data-menu_name="reset-options">%s <span class="eum-advanced-menu-text">%s</span></div>', '<i class="material-icons">delete_outline</i>', esc_html__('Reset options', 'stops-core-theme-and-plugin-updates'));
39
+ }
40
+
41
+ /**
42
+ * Outputs feature settings
43
+ */
44
+ public function settings() {
45
+ Easy_Updates_Manager()->include_template('reset-options.php');
46
+ }
47
+ }
includes/MPSUM_Themes_List_Table.php CHANGED
@@ -12,7 +12,9 @@ class MPSUM_Themes_List_Table extends MPSUM_List_Table {
12
 
13
  public $site_id;
14
  public $is_site_themes;
15
- private $tab = '';
 
 
16
 
17
  /**
18
  * Constructor.
@@ -25,22 +27,26 @@ class MPSUM_Themes_List_Table extends MPSUM_List_Table {
25
  * @param array $args An associative array of arguments.
26
  */
27
  public function __construct( $args = array() ) {
28
- global $status, $page;
29
-
30
  parent::__construct( array(
31
  'singular' => 'theme',
32
  'plural' => 'themes',
33
- 'screen' => isset( $args['screen'] ) ? $args['screen'] : null,
34
  'ajax' => true
35
  ) );
36
 
37
- $this->tab = isset( $_REQUEST[ 'tab' ] ) ? $_REQUEST[ 'tab' ] : 'themes';
 
 
 
38
 
39
- $status = isset( $_REQUEST['theme_status'] ) ? $_REQUEST['theme_status'] : 'all';
40
- if ( !in_array( $status, array( 'all', 'update_disabled', 'update_enabled', 'automatic' ) ) )
41
- $status = 'all';
 
 
42
 
43
- $page = $this->get_pagenum();
 
44
 
45
  $this->is_site_themes = ( 'site-themes-network' == $this->screen->id ) ? true : false;
46
 
@@ -76,9 +82,8 @@ class MPSUM_Themes_List_Table extends MPSUM_List_Table {
76
  * Prepares theme items by setting pagination variables, order, filter
77
  */
78
  public function prepare_items() {
79
- global $totals, $status;
80
  $order = 'DESC';
81
- $page = $this->get_pagenum();
82
  $orderby = 'Name';
83
 
84
  $themes = array(
@@ -124,14 +129,14 @@ class MPSUM_Themes_List_Table extends MPSUM_List_Table {
124
  $themes[ 'automatic' ] = array();
125
  }
126
 
127
- if ( empty( $themes[ $status ] ) )
128
- $status = 'all';
129
 
130
- $this->items = $themes[ $status ];
131
  WP_Theme::sort_by_name( $this->items );
132
 
133
  $this->has_items = ! empty( $themes['all'] );
134
- $total_this_page = $totals[ $status ];
135
 
136
  if ( $orderby ) {
137
  $orderby = ucfirst( $orderby );
@@ -152,7 +157,7 @@ class MPSUM_Themes_List_Table extends MPSUM_List_Table {
152
  $themes_per_page = 100;
153
  }
154
 
155
- $start = ( $page - 1 ) * $themes_per_page;
156
 
157
  if ( $total_this_page > $themes_per_page )
158
  $this->items = array_slice( $this->items, $start, $themes_per_page, true );
@@ -161,8 +166,9 @@ class MPSUM_Themes_List_Table extends MPSUM_List_Table {
161
  'total_items' => $total_this_page,
162
  'per_page' => $themes_per_page,
163
  'total_pages' => ceil( $total_this_page / $themes_per_page ),
164
- 'theme_status' => $status,
165
- 'tab' => isset( $this->tab ) ? $this->tab : ''
 
166
  ) );
167
  }
168
 
@@ -236,8 +242,6 @@ class MPSUM_Themes_List_Table extends MPSUM_List_Table {
236
  * @return array
237
  */
238
  public function get_columns() {
239
- global $status;
240
-
241
  return array(
242
  'cb' => '<input type="checkbox" />',
243
  'name' => __( 'Theme', 'stops-core-theme-and-plugin-updates' ),
@@ -260,7 +264,7 @@ class MPSUM_Themes_List_Table extends MPSUM_List_Table {
260
  * @return array
261
  */
262
  protected function get_views() {
263
- global $totals, $status;
264
 
265
  $status_links = array();
266
  foreach ( $totals as $type => $count ) {
@@ -286,13 +290,13 @@ class MPSUM_Themes_List_Table extends MPSUM_List_Table {
286
  $theme_url = MPSUM_Admin::get_url();
287
  $query_args = array(
288
  'tab' => $this->tab,
289
- 'theme_status' => $type
290
  );
291
 
292
- $status_links[$type] = sprintf( "<a href='%s' data-theme_status='%s' %s>%s</a>",
293
  add_query_arg( $query_args, $theme_url ),
294
- $status,
295
- ( $type == $status ) ? ' class="current"' : '',
296
  sprintf( $text, number_format_i18n( $count ) )
297
  );
298
  }
@@ -307,8 +311,6 @@ class MPSUM_Themes_List_Table extends MPSUM_List_Table {
307
  * @return array
308
  */
309
  protected function get_bulk_actions() {
310
- global $status;
311
-
312
  $actions = array();
313
 
314
  $actions[ 'allow-update-selected' ] = esc_html__( 'Theme Updates On', 'stops-core-theme-and-plugin-updates' );
@@ -335,14 +337,10 @@ class MPSUM_Themes_List_Table extends MPSUM_List_Table {
335
  /**
336
  * Single row theme
337
  *
338
- * @global string $status
339
- * @global int $page
340
- * @global string $s
341
- * @global array $totals
342
- * @param array $theme The specified theme
343
  */
344
  public function single_row( $theme ) {
345
- $status = 'all';
346
  $stylesheet = $theme->get_stylesheet();
347
  remove_action( "after_theme_row_$stylesheet", 'wp_theme_update_row', 10, 2 );
348
  $theme_key = urlencode( $stylesheet );
@@ -354,7 +352,7 @@ class MPSUM_Themes_List_Table extends MPSUM_List_Table {
354
  *
355
  * @param array Array of action links
356
  * @param WP_Theme $theme WP_Theme object
357
- * @param string $status Status of the theme.
358
  */
359
  $actions = apply_filters( 'mpsum_theme_action_links', array(), $theme, 'all' );
360
 
@@ -409,14 +407,14 @@ class MPSUM_Themes_List_Table extends MPSUM_List_Table {
409
  esc_attr__( 'Allow Updates', 'stops-core-theme-and-plugin-updates' ),
410
  esc_attr( $enable_class ),
411
  $stylesheet,
412
- esc_html__( 'On', 'stops-core-theme-and-plugin-updates' )
413
  );
414
 
415
  printf( '<button aria-label="%s" class="eum-toggle-button eum-disabled %s" data-checked="%s">%s</button>',
416
  esc_attr__( 'Disallow Updates', 'stops-core-theme-and-plugin-updates' ),
417
  esc_attr( $disable_class ),
418
  $stylesheet,
419
- esc_html__( 'Off', 'stops-core-theme-and-plugin-updates' )
420
  );
421
 
422
  echo '</div></div>';
@@ -463,7 +461,7 @@ class MPSUM_Themes_List_Table extends MPSUM_List_Table {
463
  case 'description':
464
  echo "<td class='column-description desc'$style>";
465
  if ( $theme->errors() ) {
466
- $pre = $status == 'broken' ? __( 'Broken Theme:', 'stops-core-theme-and-plugin-updates' ) . ' ' : '';
467
  echo '<p><strong class="attention">' . $pre . $theme->errors()->get_error_message() . '</strong></p>';
468
  }
469
  echo "<div class='theme-description'><p>" . $theme->display( 'Description' ) . "</p></div>
@@ -490,11 +488,39 @@ class MPSUM_Themes_List_Table extends MPSUM_List_Table {
490
  * theme URI.
491
  * @param string $stylesheet Directory name of the theme.
492
  * @param WP_Theme $theme WP_Theme object.
493
- * @param string $status Status of the theme.
494
  */
495
- $theme_meta = apply_filters( 'theme_row_meta', $theme_meta, $stylesheet, $theme, $status );
496
  echo implode( ' | ', $theme_meta );
497
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
498
  echo "</div></td>";
499
  break;
500
 
@@ -527,9 +553,9 @@ class MPSUM_Themes_List_Table extends MPSUM_List_Table {
527
  *
528
  * @param string $stylesheet Directory name of the theme.
529
  * @param WP_Theme $theme Current WP_Theme object.
530
- * @param string $status Status of the theme.
531
  */
532
- do_action( 'after_theme_row', $stylesheet, $theme, $status );
533
 
534
  /**
535
  * Fires after each specific row in the Multisite themes list table.
@@ -542,20 +568,18 @@ class MPSUM_Themes_List_Table extends MPSUM_List_Table {
542
  *
543
  * @param string $stylesheet Directory name of the theme.
544
  * @param WP_Theme $theme Current WP_Theme object.
545
- * @param string $status Status of the theme.
546
  */
547
- do_action( "after_theme_row_$stylesheet", $stylesheet, $theme, $status );
548
  }
549
 
550
  /**
551
  * Captures response of ajax calls and returns it
552
  */
553
  public function ajax_response() {
554
-
555
  $this->prepare_items();
556
  extract( $this->_args );
557
  extract( $this->_pagination_args, EXTR_SKIP );
558
-
559
  ob_start();
560
  $this->views();
561
  $views = ob_get_clean();
12
 
13
  public $site_id;
14
  public $is_site_themes;
15
+ private $tab = 'themes';
16
+ private $status = 'all';
17
+ private $page = '1';
18
 
19
  /**
20
  * Constructor.
27
  * @param array $args An associative array of arguments.
28
  */
29
  public function __construct( $args = array() ) {
 
 
30
  parent::__construct( array(
31
  'singular' => 'theme',
32
  'plural' => 'themes',
33
+ 'screen' => isset( $args['screen'] ) ? $args['screen'] : 'eum_themes_tab',
34
  'ajax' => true
35
  ) );
36
 
37
+ if (isset($_REQUEST['action']) && 'eum_ajax' === $_REQUEST['action']) {
38
+ $this->status = isset($_REQUEST['view']) ? $_REQUEST['view'] : 'all';
39
+ if (!in_array($this->status, array('all', 'update_disabled', 'update_enabled', 'automatic')))
40
+ $this->status = 'all';
41
 
42
+ $this->page = isset($_REQUEST['paged']) ? $_REQUEST['paged'] : '1';
43
+ } else {
44
+ $this->status = isset($args['view']) ? $args['view'] : 'all';
45
+ if (!in_array($this->status, array('all', 'update_disabled', 'update_enabled', 'automatic')))
46
+ $this->status = 'all';
47
 
48
+ $this->page = isset($args['paged']) ? $args['paged'] : 1;
49
+ }
50
 
51
  $this->is_site_themes = ( 'site-themes-network' == $this->screen->id ) ? true : false;
52
 
82
  * Prepares theme items by setting pagination variables, order, filter
83
  */
84
  public function prepare_items() {
85
+ global $totals;
86
  $order = 'DESC';
 
87
  $orderby = 'Name';
88
 
89
  $themes = array(
129
  $themes[ 'automatic' ] = array();
130
  }
131
 
132
+ if ( empty( $themes[ $this->status ] ) )
133
+ $this->status = 'all';
134
 
135
+ $this->items = $themes[ $this->status ];
136
  WP_Theme::sort_by_name( $this->items );
137
 
138
  $this->has_items = ! empty( $themes['all'] );
139
+ $total_this_page = $totals[ $this->status ];
140
 
141
  if ( $orderby ) {
142
  $orderby = ucfirst( $orderby );
157
  $themes_per_page = 100;
158
  }
159
 
160
+ $start = ( $this->page - 1 ) * $themes_per_page;
161
 
162
  if ( $total_this_page > $themes_per_page )
163
  $this->items = array_slice( $this->items, $start, $themes_per_page, true );
166
  'total_items' => $total_this_page,
167
  'per_page' => $themes_per_page,
168
  'total_pages' => ceil( $total_this_page / $themes_per_page ),
169
+ 'view' => $this->status,
170
+ 'tab' => $this->tab,
171
+ 'paged' => $this->page
172
  ) );
173
  }
174
 
242
  * @return array
243
  */
244
  public function get_columns() {
 
 
245
  return array(
246
  'cb' => '<input type="checkbox" />',
247
  'name' => __( 'Theme', 'stops-core-theme-and-plugin-updates' ),
264
  * @return array
265
  */
266
  protected function get_views() {
267
+ global $totals;
268
 
269
  $status_links = array();
270
  foreach ( $totals as $type => $count ) {
290
  $theme_url = MPSUM_Admin::get_url();
291
  $query_args = array(
292
  'tab' => $this->tab,
293
+ 'view' => $type
294
  );
295
 
296
+ $status_links[$type] = sprintf( "<a href='%s' data-view='%s' %s>%s</a>",
297
  add_query_arg( $query_args, $theme_url ),
298
+ $this->status,
299
+ ( $type == $this->status ) ? ' class="current"' : '',
300
  sprintf( $text, number_format_i18n( $count ) )
301
  );
302
  }
311
  * @return array
312
  */
313
  protected function get_bulk_actions() {
 
 
314
  $actions = array();
315
 
316
  $actions[ 'allow-update-selected' ] = esc_html__( 'Theme Updates On', 'stops-core-theme-and-plugin-updates' );
337
  /**
338
  * Single row theme
339
  *
340
+ * @param object $theme The specified WP_Theme object
 
 
 
 
341
  */
342
  public function single_row( $theme ) {
343
+ $this->status = 'all';
344
  $stylesheet = $theme->get_stylesheet();
345
  remove_action( "after_theme_row_$stylesheet", 'wp_theme_update_row', 10, 2 );
346
  $theme_key = urlencode( $stylesheet );
352
  *
353
  * @param array Array of action links
354
  * @param WP_Theme $theme WP_Theme object
355
+ * @param string $this->status Status of the theme.
356
  */
357
  $actions = apply_filters( 'mpsum_theme_action_links', array(), $theme, 'all' );
358
 
407
  esc_attr__( 'Allow Updates', 'stops-core-theme-and-plugin-updates' ),
408
  esc_attr( $enable_class ),
409
  $stylesheet,
410
+ esc_html__( 'Allowed', 'stops-core-theme-and-plugin-updates' )
411
  );
412
 
413
  printf( '<button aria-label="%s" class="eum-toggle-button eum-disabled %s" data-checked="%s">%s</button>',
414
  esc_attr__( 'Disallow Updates', 'stops-core-theme-and-plugin-updates' ),
415
  esc_attr( $disable_class ),
416
  $stylesheet,
417
+ esc_html__( 'Blocked', 'stops-core-theme-and-plugin-updates' )
418
  );
419
 
420
  echo '</div></div>';
461
  case 'description':
462
  echo "<td class='column-description desc'$style>";
463
  if ( $theme->errors() ) {
464
+ $pre = $this->status == 'broken' ? __( 'Broken Theme:', 'stops-core-theme-and-plugin-updates' ) . ' ' : '';
465
  echo '<p><strong class="attention">' . $pre . $theme->errors()->get_error_message() . '</strong></p>';
466
  }
467
  echo "<div class='theme-description'><p>" . $theme->display( 'Description' ) . "</p></div>
488
  * theme URI.
489
  * @param string $stylesheet Directory name of the theme.
490
  * @param WP_Theme $theme WP_Theme object.
491
+ * @param string $this->status Status of the theme.
492
  */
493
+ $theme_meta = apply_filters( 'theme_row_meta', $theme_meta, $stylesheet, $theme, $this->status );
494
  echo implode( ' | ', $theme_meta );
495
 
496
+ // Show active status for blogs
497
+ if (is_multisite()) {
498
+ $themes = wp_get_themes( array( 'allowed' => true ) );
499
+ $is_allowed_theme[] = array();
500
+ foreach($themes as $style => $theme_data) {
501
+ if($style === $stylesheet) {
502
+ $is_allowed_theme[] = $stylesheet;
503
+ }
504
+ }
505
+ $is_allowed_stylesheet = false;
506
+ foreach( $is_allowed_theme as $allowed_stylesheet) {
507
+ if( $allowed_stylesheet === $stylesheet ) {
508
+ $is_allowed_stylesheet = true;
509
+ }
510
+ }
511
+ if($is_allowed_stylesheet) {
512
+ printf('<div class="mpsum-success mpsum-regular"><a href="#" data-theme-file="%s" class="eum-list-themes-action">%s</a><div class="eum-list-themes"></div></div>', esc_attr($stylesheet), esc_html__('View all sites that have this theme installed.', 'stops-core-theme-and-plugin-updates'));
513
+ } else {
514
+ printf('<div class="mpsum-notice mpsum-regular">%s<br /><a href="#" data-theme-file="%s" class="eum-list-themes-action">%s</a><div class="eum-list-themes"></div></div>', esc_html__('This theme is not allowed to be activated on your network of sites, but may be enabled for specific sites.', 'stops-core-theme-and-plugin-updates'), esc_attr($stylesheet), esc_html__('View all sites that have this theme installed.', 'stops-core-theme-and-plugin-updates'));
515
+ }
516
+ } else {
517
+ if(get_stylesheet() === $stylesheet) {
518
+ printf('<div class="mpsum-success mpsum-regular">%s</div>', esc_html__('This theme is active for your site.', 'stops-core-theme-and-plugin-updates'));
519
+ } else {
520
+ printf('<div class="mpsum-error mpsum-bold">%s</div>', esc_html__('This theme is inactive for your site.', 'stops-core-theme-and-plugin-updates'));
521
+ }
522
+ }
523
+
524
  echo "</div></td>";
525
  break;
526
 
553
  *
554
  * @param string $stylesheet Directory name of the theme.
555
  * @param WP_Theme $theme Current WP_Theme object.
556
+ * @param string $this->status Status of the theme.
557
  */
558
+ do_action( 'after_theme_row', $stylesheet, $theme, $this->status );
559
 
560
  /**
561
  * Fires after each specific row in the Multisite themes list table.
568
  *
569
  * @param string $stylesheet Directory name of the theme.
570
  * @param WP_Theme $theme Current WP_Theme object.
571
+ * @param string $this->status Status of the theme.
572
  */
573
+ do_action( "after_theme_row_$stylesheet", $stylesheet, $theme, $this->status );
574
  }
575
 
576
  /**
577
  * Captures response of ajax calls and returns it
578
  */
579
  public function ajax_response() {
 
580
  $this->prepare_items();
581
  extract( $this->_args );
582
  extract( $this->_pagination_args, EXTR_SKIP );
 
583
  ob_start();
584
  $this->views();
585
  $views = ob_get_clean();
includes/MPSUM_UpdraftCentral.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ if (!defined('ABSPATH')) die('No direct access allowed');
4
+
5
+ /**
6
+ * This file is the bootstrapper for UpdraftCentral integration: i.e. it registers what is necessary to deal with commands in the eum namespace.
7
+ */
8
+ class MPSUM_UpdraftCentral {
9
+
10
+ /**
11
+ * MPSUM_UpdraftCentral constructor. Registers required action hooks
12
+ */
13
+ public function __construct() {
14
+ add_action('updraftplus_remotecontrol_command_classes', array($this, 'updraftplus_remotecontrol_command_classes'));
15
+ add_action('updraftcentral_command_class_wanted', array($this, 'updraftcentral_command_class_wanted'));
16
+ }
17
+
18
+ /**
19
+ * Register our class
20
+ *
21
+ * @param string $command_classes Passing over an arrya of command classes.
22
+ * @return array An array of command classes
23
+ */
24
+ public function updraftplus_remotecontrol_command_classes($command_classes) {
25
+ if (is_array($command_classes)) $command_classes['eum'] = 'UpdraftCentral_EUM_Commands';
26
+ return $command_classes;
27
+ }
28
+
29
+ /**
30
+ * Load the class when required
31
+ *
32
+ * @param string $command_php_class Passing over if there are any command classes.
33
+ */
34
+ public function updraftcentral_command_class_wanted($command_php_class) {
35
+ if ('UpdraftCentral_EUM_Commands' == $command_php_class) {
36
+ // This fragment is only needed for compatibility with UD < 1.12.30 - thenceforth, the class can be assumed to exist.
37
+ if (!class_exists('UpdraftCentral_Commands')) {
38
+ include_once(apply_filters('updraftcentral_command_base_class_at', UPDRAFTPLUS_DIR.'/central/commands.php'));
39
+ }
40
+ include_once( MPSUM_Updates_Manager::get_plugin_dir('includes/MPSUM_UpdraftCentral_EUM_Commands.php'));
41
+ }
42
+ }
43
+ }
includes/MPSUM_UpdraftCentral_EUM_Commands.php ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if (!defined('ABSPATH')) die('No direct access allowed');
3
+
4
+ /**
5
+ * This is a small glue class, which makes available all the commands in WP_Optimize_Commands, and translates the response from WP_Optimize_Commands (which is either data to return, or a WP_Error) into the format used by UpdraftCentral.
6
+ */
7
+ class UpdraftCentral_EUM_Commands extends UpdraftCentral_Commands {
8
+
9
+ private $commands;
10
+
11
+ /**
12
+ * UpdraftCentral_EUM_Commands class constructor.
13
+ */
14
+ public function __construct() {
15
+ $this->commands = new MPSUM_Commands();
16
+ }
17
+
18
+ /**
19
+ * Mapping function for remote calls
20
+ *
21
+ * @param string $name Command name
22
+ * @param array $arguments Arguments for the method call
23
+ *
24
+ * @return array Response to the remote call
25
+ */
26
+ public function __call($name, $arguments) {
27
+ if (!current_user_can('manage_options')) {
28
+ $result = __('User has insufficient capability to manage options', 'stops-core-theme-and-plugin-updates');
29
+ } else {
30
+ $result = call_user_func_array(array($this->commands, $name), $arguments);
31
+ }
32
+
33
+ if (is_wp_error($result)) {
34
+ return $this->_generic_error_response($result->get_error_code(), $result->get_error_data());
35
+ } else {
36
+ return $this->_response($result);
37
+ }
38
+ }
39
+ }
includes/MPSUM_Utils.php CHANGED
@@ -27,13 +27,28 @@ class MPSUM_Utils {
27
  }
28
 
29
  /**
30
- * This function checks whether a specific plugin is installed, and returns information about it
 
 
31
  *
32
- * @param string $name Specify "Plugin Name" to return details about it.
 
 
 
 
 
 
 
 
 
 
 
 
 
33
  *
34
  * @return array Returns an array of details such as if installed, the name of the plugin and if it is active.
35
  */
36
- public function is_installed($name) {
37
 
38
  // Needed to have the 'get_plugins()' function
39
  include_once(ABSPATH . 'wp-admin/includes/plugin.php');
@@ -49,7 +64,7 @@ class MPSUM_Utils {
49
  // Loops around each plugin available.
50
  foreach ($get_plugins as $key => $value) {
51
  // If the plugin name matches that of the specified name, it will gather details.
52
- if ($value['Name'] != $name) {
53
  continue;
54
  }
55
  $plugin_info['installed'] = true;
@@ -67,9 +82,11 @@ class MPSUM_Utils {
67
  /**
68
  * Gets an array of plugins active on either the current site, or site-wide
69
  *
 
 
70
  * @return array - a list of plugin paths (relative to the plugin directory)
71
  */
72
- private function get_active_plugins() {
73
 
74
  // Gets all active plugins on the current site
75
  $active_plugins = get_option('active_plugins');
@@ -84,4 +101,136 @@ class MPSUM_Utils {
84
 
85
  return $active_plugins;
86
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
87
  }
27
  }
28
 
29
  /**
30
+ * Returns whether the URL is a WordPress API call
31
+ *
32
+ * @param string $url The URL to be checked
33
  *
34
+ * @return true if WP API, false if not
35
+ */
36
+ public static function is_wp_api($url) {
37
+ $parsed_url = parse_url($url);
38
+ if (isset($parsed_url['host']) && 'api.wordpress.org' === strtolower($parsed_url['host'])) return true;
39
+ return false;
40
+ }
41
+
42
+ /**
43
+ * This function checks whether a specific plugin is installed, and returns information about it
44
+ *
45
+ * @since 8.0.1
46
+ *
47
+ * @param string $slug Specify plugin slug
48
  *
49
  * @return array Returns an array of details such as if installed, the name of the plugin and if it is active.
50
  */
51
+ public function is_installed($slug) {
52
 
53
  // Needed to have the 'get_plugins()' function
54
  include_once(ABSPATH . 'wp-admin/includes/plugin.php');
64
  // Loops around each plugin available.
65
  foreach ($get_plugins as $key => $value) {
66
  // If the plugin name matches that of the specified name, it will gather details.
67
+ if ($value['TextDomain'] != $slug) {
68
  continue;
69
  }
70
  $plugin_info['installed'] = true;
82
  /**
83
  * Gets an array of plugins active on either the current site, or site-wide
84
  *
85
+ * @since 8.0.1
86
+ *
87
  * @return array - a list of plugin paths (relative to the plugin directory)
88
  */
89
+ public function get_active_plugins() {
90
 
91
  // Gets all active plugins on the current site
92
  $active_plugins = get_option('active_plugins');
101
 
102
  return $active_plugins;
103
  }
104
+
105
+ /**
106
+ * Gets an array of plugins active on either the current site or passed blog id
107
+ *
108
+ * @since 8.0.1
109
+ *
110
+ * @param $int $blog_id Blog ID of site if on multisite
111
+ *
112
+ * @return array - a list of plugin paths (relative to the plugin directory)
113
+ */
114
+ public function get_single_site_active_plugins($blog_id = 1) {
115
+ if (is_multisite()) switch_to_blog($blog_id);
116
+ // Gets all active plugins on the current site
117
+ $active_plugins = get_option('active_plugins', array());
118
+ if (is_multisite()) restore_current_blog();
119
+ return $active_plugins;
120
+ }
121
+
122
+ /**
123
+ * Gets an array of plugins active for the network
124
+ *
125
+ * @since 8.0.1
126
+ *
127
+ * @return array - a list of plugin paths (relative to the plugin directory)
128
+ */
129
+ public function get_network_active_plugins() {
130
+ $network_active_plugins = get_site_option('active_sitewide_plugins', array());
131
+ $network_active_plugins = array_keys($network_active_plugins);
132
+ return $network_active_plugins;
133
+ }
134
+
135
+ /**
136
+ * Checks to see if auomatic updates are on or off
137
+ *
138
+ * @since 8.0.1
139
+ *
140
+ * @return bool - true if automatic updates are on, false if not
141
+ */
142
+ public function is_automatic_updates_enabled() {
143
+ $options = MPSUM_Updates_Manager::get_options('core');
144
+
145
+ // Check automatic update options
146
+ if( isset($options['automatic_development_updates'], $options['automatic_major_updates'], $options['automatic_minor_updates'], $options['automatic_plugin_updates'], $options['automatic_theme_updates'], $options['automatic_translation_updates']) ) {
147
+ // Check to see if off is on for all updates
148
+ if ('off' == $options['automatic_development_updates'] && 'off' == $options['automatic_major_updates'] && 'off' == $options['automatic_minor_updates'] && 'off' == $options['automatic_plugin_updates'] && 'off' == $options['automatic_theme_updates'] && 'off' == $options['automatic_translation_updates']) {
149
+ return false;
150
+ }
151
+ }
152
+
153
+ // Check core update options
154
+ if(isset($options['core_updates'], $options['plugin_updates'], $options['theme_updates'], $options['translation_updates'])) {
155
+ if ('off' == $options['core_updates'] && 'off' == $options['plugin_updates'] && 'off' == $options['theme_updates'] && 'off' == $options['translation_updates']) {
156
+ return false;
157
+ }
158
+ }
159
+
160
+ return true;
161
+ }
162
+
163
+ /**
164
+ * Checks to see what emails to send to
165
+ *
166
+ * @since 8.0.1
167
+ *
168
+ * @return mixed - Can be a string with an email address or an array of email addresses
169
+ */
170
+ public function get_emails() {
171
+ // Prepare E-mail Addresses to send to
172
+ $core_options = MPSUM_Updates_Manager::get_options( 'core' );
173
+ $email_addresses = isset($core_options['email_addresses']) ? $core_options['email_addresses'] : array();
174
+ $email_addresses_to_override = array();
175
+ $emails_to_send = '';
176
+ foreach($email_addresses as $emails) {
177
+ if (is_email($emails)) {
178
+ $email_addresses_to_override[] = $emails;
179
+ }
180
+ }
181
+ if (!empty( $email_addresses_to_override)) {
182
+ $emails_to_send = $email_addresses_to_override;
183
+ } else {
184
+ if (is_multisite()) {
185
+ $emails_to_send = get_site_option('admin_email');
186
+ } else {
187
+ $emails_to_send = get_option('admin_email');
188
+ }
189
+ }
190
+ return $emails_to_send;
191
+ }
192
+
193
+ /**
194
+ * Checks for free and premium version of EUM and disables free version if both are available
195
+ *
196
+ * @since 8.0.1
197
+ */
198
+ public function maybe_deactivate_free_version() {
199
+ if (!function_exists('get_plugins')) include_once(ABSPATH . 'wp-admin/includes/plugin.php');
200
+ $get_plugins = get_plugins();
201
+ $free_available = $free_plugin_active = $premium_available = $premium_plugin_active = $free_slug = $premium_slug = false;
202
+ foreach ($get_plugins as $key => $value) {
203
+ if ('Easy Updates Manager' === $value['Name']) {
204
+ $free_available = true;
205
+ $free_slug = $key;
206
+ if (is_multisite()) {
207
+ if(is_plugin_active_for_network($free_slug)) {
208
+ $free_plugin_active = true;
209
+ }
210
+ } else {
211
+ if(is_plugin_active($free_slug)) {
212
+ $free_plugin_active = true;
213
+ }
214
+ }
215
+ }
216
+ if ('Easy Updates Manager Premium' === $value['Name']) {
217
+ $premium_available = true;
218
+ $premium_slug = $key;
219
+ if (is_multisite()) {
220
+ if(is_plugin_active_for_network($premium_slug)) {
221
+ $premium_plugin_active = true;
222
+ }
223
+ } else {
224
+ if(is_plugin_active($premium_slug)) {
225
+ $premium_plugin_active = true;
226
+ }
227
+ }
228
+ }
229
+ }
230
+ if ($premium_plugin_active && $free_plugin_active) {
231
+ deactivate_plugins($free_slug);
232
+ add_action('admin_notices', array(MPSUM_Updates_Manager::get_instance(), 'show_admin_notice_premium'));
233
+ add_action('network_admin_notices', array(MPSUM_Updates_Manager::get_instance(), 'show_admin_notice_premium'));
234
+ }
235
+ }
236
  }
includes/easy-updates-manager-notices.php CHANGED
@@ -54,7 +54,7 @@ class Easy_Updates_Manager_Notices extends Updraft_Notices_1_0 {
54
  'title' => __('Save Time and Money. Manage multiple WordPress sites from one location.', 'stops-core-theme-and-plugin-updates'),
55
  'text' => __('UpdraftCentral is a highly efficient way to take backup, update and manage multiple WP sites from one location.', 'stops-core-theme-and-plugin-updates'),
56
  'image' => 'notices/updraft_logo.png',
57
- 'button_link' => 'https://updraftplus.com/updraftcentral/',
58
  'button_meta' => 'updraftcentral',
59
  'dismiss_time' => 'dismiss_page_notice_until',
60
  'supported_positions' => $this->anywhere,
@@ -86,7 +86,7 @@ class Easy_Updates_Manager_Notices extends Updraft_Notices_1_0 {
86
  'prefix' => '',
87
  'title' => __("MetaSlider: the world's #1 slider plugin from the makers of Easy Updates Manager", "stops-core-theme-and-plugin-updates"),
88
  'text' => __("With MetaSlider, you can easily add style and flare with beautifully-designed sliders.", "stops-core-theme-and-plugin-updates"),
89
- 'button_link' => 'https://metaslider.com',
90
  'button_meta' => 'metaslider',
91
  'image' => 'notices/metaslider_logo.png',
92
  'dismiss_time' => 'dismiss_page_notice_until',
@@ -103,6 +103,16 @@ class Easy_Updates_Manager_Notices extends Updraft_Notices_1_0 {
103
  'dismiss_time' => 'dismiss_survey_notice_until',
104
  'supported_positions' => $this->anywhere,
105
  ),
 
 
 
 
 
 
 
 
 
 
106
 
107
  );
108
 
54
  'title' => __('Save Time and Money. Manage multiple WordPress sites from one location.', 'stops-core-theme-and-plugin-updates'),
55
  'text' => __('UpdraftCentral is a highly efficient way to take backup, update and manage multiple WP sites from one location.', 'stops-core-theme-and-plugin-updates'),
56
  'image' => 'notices/updraft_logo.png',
57
+ 'button_link' => 'https://updraftcentral.com/',
58
  'button_meta' => 'updraftcentral',
59
  'dismiss_time' => 'dismiss_page_notice_until',
60
  'supported_positions' => $this->anywhere,
86
  'prefix' => '',
87
  'title' => __("MetaSlider: the world's #1 slider plugin from the makers of Easy Updates Manager", "stops-core-theme-and-plugin-updates"),
88
  'text' => __("With MetaSlider, you can easily add style and flare with beautifully-designed sliders.", "stops-core-theme-and-plugin-updates"),
89
+ 'button_link' => 'https://www.metaslider.com',
90
  'button_meta' => 'metaslider',
91
  'image' => 'notices/metaslider_logo.png',
92
  'dismiss_time' => 'dismiss_page_notice_until',
103
  'dismiss_time' => 'dismiss_survey_notice_until',
104
  'supported_positions' => $this->anywhere,
105
  ),
106
+ 'rate' => array(
107
+ 'prefix' => '',
108
+ 'title' => __('Rate Easy Updates Manager', 'stops-core-theme-and-plugin-updates'),
109
+ 'text' => __('We hope you like this plugin! If you do, please rate it: positive ratings attract more users, which enables us to keep improving it.', 'stops-core-theme-and-plugin-updates'),
110
+ 'image' => 'notices/eum_logo.png',
111
+ 'button_link' => 'https://wordpress.org/support/plugin/stops-core-theme-and-plugin-updates/reviews/#new-post',
112
+ 'button_meta' => 'eum_rate',
113
+ 'dismiss_time' => 'dismiss_survey_notice_until',
114
+ 'supported_positions' => $this->anywhere,
115
+ ),
116
 
117
  );
118
 
includes/updraft-notices.php CHANGED
@@ -90,6 +90,11 @@ abstract class Updraft_Notices_1_0 {
90
  */
91
  public function do_notice($notice = false, $position = 'top', $return_instead_of_echo = false) {
92
 
 
 
 
 
 
93
  $this->notices_init();
94
 
95
  if (false === $notice) $notice = apply_filters('updraft_notices_force_id', false, $this);
90
  */
91
  public function do_notice($notice = false, $position = 'top', $return_instead_of_echo = false) {
92
 
93
+ $enable_notices = get_site_option('easy_updates_manager_enable_notices', 'on');
94
+ if ('off' === $enable_notices) {
95
+ return '';
96
+ }
97
+
98
  $this->notices_init();
99
 
100
  if (false === $notice) $notice = apply_filters('updraft_notices_force_id', false, $this);
js/admin.js CHANGED
@@ -60,31 +60,186 @@
60
  /******/ __webpack_require__.p = "";
61
  /******/
62
  /******/ // Load entry module and return exports
63
- /******/ return __webpack_require__(__webpack_require__.s = 83);
64
  /******/ })
65
  /************************************************************************/
66
  /******/ ([
67
  /* 0 */
68
  /***/ (function(module, exports, __webpack_require__) {
69
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
70
  "use strict";
71
 
72
 
73
  if (true) {
74
- module.exports = __webpack_require__(123);
75
  } else {
76
  module.exports = require('./cjs/react.development.js');
77
  }
78
 
79
 
80
  /***/ }),
81
- /* 1 */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
82
  /***/ (function(module, exports, __webpack_require__) {
83
 
84
- module.exports = { "default": __webpack_require__(84), __esModule: true };
 
 
 
 
 
 
85
 
86
  /***/ }),
87
- /* 2 */
 
 
 
 
 
 
88
  /***/ (function(module, exports, __webpack_require__) {
89
 
90
  "use strict";
@@ -99,7 +254,7 @@ exports.default = function (instance, Constructor) {
99
  };
100
 
101
  /***/ }),
102
- /* 3 */
103
  /***/ (function(module, exports, __webpack_require__) {
104
 
105
  "use strict";
@@ -107,7 +262,7 @@ exports.default = function (instance, Constructor) {
107
 
108
  exports.__esModule = true;
109
 
110
- var _defineProperty = __webpack_require__(88);
111
 
112
  var _defineProperty2 = _interopRequireDefault(_defineProperty);
113
 
@@ -132,7 +287,7 @@ exports.default = function () {
132
  }();
133
 
134
  /***/ }),
135
- /* 4 */
136
  /***/ (function(module, exports, __webpack_require__) {
137
 
138
  "use strict";
@@ -140,7 +295,7 @@ exports.default = function () {
140
 
141
  exports.__esModule = true;
142
 
143
- var _typeof2 = __webpack_require__(50);
144
 
145
  var _typeof3 = _interopRequireDefault(_typeof2);
146
 
@@ -155,7 +310,7 @@ exports.default = function (self, call) {
155
  };
156
 
157
  /***/ }),
158
- /* 5 */
159
  /***/ (function(module, exports, __webpack_require__) {
160
 
161
  "use strict";
@@ -163,15 +318,15 @@ exports.default = function (self, call) {
163
 
164
  exports.__esModule = true;
165
 
166
- var _setPrototypeOf = __webpack_require__(116);
167
 
168
  var _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf);
169
 
170
- var _create = __webpack_require__(120);
171
 
172
  var _create2 = _interopRequireDefault(_create);
173
 
174
- var _typeof2 = __webpack_require__(50);
175
 
176
  var _typeof3 = _interopRequireDefault(_typeof2);
177
 
@@ -194,7 +349,7 @@ exports.default = function (subClass, superClass) {
194
  };
195
 
196
  /***/ }),
197
- /* 6 */
198
  /***/ (function(module, exports, __webpack_require__) {
199
 
200
  "use strict";
@@ -206,15 +361,15 @@ Object.defineProperty(exports, "__esModule", {
206
  exports.SAVE_OPTIONS = undefined;
207
  exports.saveOptions = saveOptions;
208
 
209
- var _axios = __webpack_require__(24);
210
 
211
  var _axios2 = _interopRequireDefault(_axios);
212
 
213
- var _qs = __webpack_require__(42);
214
 
215
  var _qs2 = _interopRequireDefault(_qs);
216
 
217
- var _send_command = __webpack_require__(76);
218
 
219
  var _send_command2 = _interopRequireDefault(_send_command);
220
 
@@ -238,14 +393,14 @@ function saveOptions(id, value) {
238
  }
239
 
240
  /***/ }),
241
- /* 7 */
242
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
243
 
244
  "use strict";
245
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
246
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__components_Provider__ = __webpack_require__(169);
247
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_connectAdvanced__ = __webpack_require__(78);
248
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__connect_connect__ = __webpack_require__(175);
249
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "Provider", function() { return __WEBPACK_IMPORTED_MODULE_0__components_Provider__["b"]; });
250
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "createProvider", function() { return __WEBPACK_IMPORTED_MODULE_0__components_Provider__["a"]; });
251
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "connectAdvanced", function() { return __WEBPACK_IMPORTED_MODULE_1__components_connectAdvanced__["a"]; });
@@ -255,9 +410,19 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
255
 
256
 
257
 
 
 
 
 
 
 
 
 
 
 
258
 
259
  /***/ }),
260
- /* 8 */
261
  /***/ (function(module, exports, __webpack_require__) {
262
 
263
  "use strict";
@@ -267,31 +432,31 @@ Object.defineProperty(exports, "__esModule", {
267
  value: true
268
  });
269
 
270
- var _getPrototypeOf = __webpack_require__(1);
271
 
272
  var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
273
 
274
- var _classCallCheck2 = __webpack_require__(2);
275
 
276
  var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
277
 
278
- var _createClass2 = __webpack_require__(3);
279
 
280
  var _createClass3 = _interopRequireDefault(_createClass2);
281
 
282
- var _possibleConstructorReturn2 = __webpack_require__(4);
283
 
284
  var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
285
 
286
- var _inherits2 = __webpack_require__(5);
287
 
288
  var _inherits3 = _interopRequireDefault(_inherits2);
289
 
290
- var _react = __webpack_require__(0);
291
 
292
  var _react2 = _interopRequireDefault(_react);
293
 
294
- var _propTypes = __webpack_require__(43);
295
 
296
  var _propTypes2 = _interopRequireDefault(_propTypes);
297
 
@@ -331,14 +496,163 @@ LoadingGif.defaultProps = {
331
  exports.default = LoadingGif;
332
 
333
  /***/ }),
334
- /* 9 */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
335
  /***/ (function(module, exports, __webpack_require__) {
336
 
337
  "use strict";
338
 
339
 
340
- var bind = __webpack_require__(62);
341
- var isBuffer = __webpack_require__(133);
342
 
343
  /*global toString:true*/
344
 
@@ -641,368 +955,889 @@ module.exports = {
641
 
642
 
643
  /***/ }),
644
- /* 10 */
645
  /***/ (function(module, exports) {
646
 
647
- // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
648
- var global = module.exports = typeof window != 'undefined' && window.Math == Math
649
- ? window : typeof self != 'undefined' && self.Math == Math ? self
650
- // eslint-disable-next-line no-new-func
651
- : Function('return this')();
652
- if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef
653
-
654
-
655
- /***/ }),
656
- /* 11 */
657
- /***/ (function(module, exports) {
658
-
659
- var core = module.exports = { version: '2.5.3' };
660
  if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef
661
 
662
 
663
  /***/ }),
664
- /* 12 */
665
- /***/ (function(module, exports) {
666
 
667
- var hasOwnProperty = {}.hasOwnProperty;
668
- module.exports = function (it, key) {
669
- return hasOwnProperty.call(it, key);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
670
  };
671
 
672
 
673
  /***/ }),
674
- /* 13 */
675
- /***/ (function(module, exports, __webpack_require__) {
676
 
677
- var anObject = __webpack_require__(20);
678
- var IE8_DOM_DEFINE = __webpack_require__(48);
679
- var toPrimitive = __webpack_require__(29);
680
- var dP = Object.defineProperty;
681
 
682
- exports.f = __webpack_require__(14) ? Object.defineProperty : function defineProperty(O, P, Attributes) {
683
- anObject(O);
684
- P = toPrimitive(P, true);
685
- anObject(Attributes);
686
- if (IE8_DOM_DEFINE) try {
687
- return dP(O, P, Attributes);
688
- } catch (e) { /* empty */ }
689
- if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');
690
- if ('value' in Attributes) O[P] = Attributes.value;
691
- return O;
692
  };
693
 
694
 
695
  /***/ }),
696
- /* 14 */
697
  /***/ (function(module, exports, __webpack_require__) {
698
 
699
- // Thank's IE8 for his funny defineProperty
700
- module.exports = !__webpack_require__(21)(function () {
701
- return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
702
- });
703
-
704
-
705
- /***/ }),
706
- /* 15 */
707
- /***/ (function(module, exports, __webpack_require__) {
708
 
709
- var global = __webpack_require__(10);
710
- var core = __webpack_require__(11);
711
- var ctx = __webpack_require__(47);
712
- var hide = __webpack_require__(16);
713
- var PROTOTYPE = 'prototype';
714
 
715
- var $export = function (type, name, source) {
716
- var IS_FORCED = type & $export.F;
717
- var IS_GLOBAL = type & $export.G;
718
- var IS_STATIC = type & $export.S;
719
- var IS_PROTO = type & $export.P;
720
- var IS_BIND = type & $export.B;
721
- var IS_WRAP = type & $export.W;
722
- var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});
723
- var expProto = exports[PROTOTYPE];
724
- var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];
725
- var key, own, out;
726
- if (IS_GLOBAL) source = name;
727
- for (key in source) {
728
- // contains in native
729
- own = !IS_FORCED && target && target[key] !== undefined;
730
- if (own && key in exports) continue;
731
- // export native or passed
732
- out = own ? target[key] : source[key];
733
- // prevent global pollution for namespaces
734
- exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]
735
- // bind timers to global for call from export context
736
- : IS_BIND && own ? ctx(out, global)
737
- // wrap global constructors for prevent change them in library
738
- : IS_WRAP && target[key] == out ? (function (C) {
739
- var F = function (a, b, c) {
740
- if (this instanceof C) {
741
- switch (arguments.length) {
742
- case 0: return new C();
743
- case 1: return new C(a);
744
- case 2: return new C(a, b);
745
- } return new C(a, b, c);
746
- } return C.apply(this, arguments);
747
- };
748
- F[PROTOTYPE] = C[PROTOTYPE];
749
- return F;
750
- // make static versions for prototype methods
751
- })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;
752
- // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%
753
- if (IS_PROTO) {
754
- (exports.virtual || (exports.virtual = {}))[key] = out;
755
- // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%
756
- if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);
757
- }
758
- }
759
  };
760
- // type bitmap
761
- $export.F = 1; // forced
762
- $export.G = 2; // global
763
- $export.S = 4; // static
764
- $export.P = 8; // proto
765
- $export.B = 16; // bind
766
- $export.W = 32; // wrap
767
- $export.U = 64; // safe
768
- $export.R = 128; // real proto method for `library`
769
- module.exports = $export;
770
 
771
 
772
  /***/ }),
773
- /* 16 */
774
  /***/ (function(module, exports, __webpack_require__) {
775
 
776
- var dP = __webpack_require__(13);
777
- var createDesc = __webpack_require__(23);
778
- module.exports = __webpack_require__(14) ? function (object, key, value) {
779
- return dP.f(object, key, createDesc(1, value));
780
- } : function (object, key, value) {
781
- object[key] = value;
782
- return object;
 
 
 
 
783
  };
784
 
785
 
786
  /***/ }),
787
- /* 17 */
788
  /***/ (function(module, exports) {
789
 
 
790
  module.exports = function (it) {
791
- return typeof it === 'object' ? it !== null : typeof it === 'function';
 
792
  };
793
 
794
 
795
  /***/ }),
796
- /* 18 */
797
- /***/ (function(module, exports, __webpack_require__) {
798
 
799
- // to indexed object, toObject with fallback for non-array-like ES3 strings
800
- var IObject = __webpack_require__(97);
801
- var defined = __webpack_require__(26);
802
  module.exports = function (it) {
803
- return IObject(defined(it));
804
  };
805
 
806
 
807
  /***/ }),
808
- /* 19 */
809
  /***/ (function(module, exports, __webpack_require__) {
810
 
811
- var store = __webpack_require__(28)('wks');
812
- var uid = __webpack_require__(22);
813
- var Symbol = __webpack_require__(10).Symbol;
814
- var USE_SYMBOL = typeof Symbol == 'function';
815
-
816
- var $exports = module.exports = function (name) {
817
- return store[name] || (store[name] =
818
- USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));
 
819
  };
820
 
821
- $exports.store = store;
822
-
823
 
824
  /***/ }),
825
- /* 20 */
826
  /***/ (function(module, exports, __webpack_require__) {
827
 
828
- var isObject = __webpack_require__(17);
829
- module.exports = function (it) {
830
- if (!isObject(it)) throw TypeError(it + ' is not an object!');
831
- return it;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
832
  };
833
 
834
 
835
  /***/ }),
836
- /* 21 */
837
- /***/ (function(module, exports) {
838
-
839
- module.exports = function (exec) {
840
- try {
841
- return !!exec();
842
- } catch (e) {
843
- return true;
844
- }
845
- };
846
-
847
 
848
- /***/ }),
849
- /* 22 */
850
- /***/ (function(module, exports) {
851
 
852
- var id = 0;
853
- var px = Math.random();
854
- module.exports = function (key) {
855
- return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));
856
- };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
857
 
 
 
 
 
858
 
859
- /***/ }),
860
- /* 23 */
861
- /***/ (function(module, exports) {
862
 
863
- module.exports = function (bitmap, value) {
864
- return {
865
- enumerable: !(bitmap & 1),
866
- configurable: !(bitmap & 2),
867
- writable: !(bitmap & 4),
868
- value: value
869
  };
870
- };
871
 
 
 
 
 
872
 
873
- /***/ }),
874
- /* 24 */
875
- /***/ (function(module, exports, __webpack_require__) {
876
-
877
- module.exports = __webpack_require__(132);
878
 
879
- /***/ }),
880
- /* 25 */
881
- /***/ (function(module, exports) {
882
 
883
- var g;
884
-
885
- // This works in non-strict mode
886
- g = (function() {
887
- return this;
888
- })();
889
-
890
- try {
891
- // This works if eval is allowed (see CSP)
892
- g = g || Function("return this")() || (1,eval)("this");
893
- } catch(e) {
894
- // This works if the window reference is available
895
- if(typeof window === "object")
896
- g = window;
897
- }
898
-
899
- // g can still be undefined, but nothing to do about it...
900
- // We return undefined, instead of nothing here, so it's
901
- // easier to handle this case. if(!global) { ...}
902
-
903
- module.exports = g;
904
 
 
 
 
905
 
906
- /***/ }),
907
- /* 26 */
908
- /***/ (function(module, exports) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
909
 
910
- // 7.2.1 RequireObjectCoercible(argument)
911
- module.exports = function (it) {
912
- if (it == undefined) throw TypeError("Can't call method on " + it);
913
- return it;
914
- };
 
 
915
 
 
 
916
 
917
- /***/ }),
918
- /* 27 */
919
- /***/ (function(module, exports, __webpack_require__) {
920
 
921
- var shared = __webpack_require__(28)('keys');
922
- var uid = __webpack_require__(22);
923
- module.exports = function (key) {
924
- return shared[key] || (shared[key] = uid(key));
925
- };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
926
 
927
 
928
  /***/ }),
929
- /* 28 */
930
  /***/ (function(module, exports, __webpack_require__) {
931
 
932
- var global = __webpack_require__(10);
933
- var SHARED = '__core-js_shared__';
934
- var store = global[SHARED] || (global[SHARED] = {});
935
- module.exports = function (key) {
936
- return store[key] || (store[key] = {});
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
937
  };
938
 
939
 
940
  /***/ }),
941
- /* 29 */
 
 
 
 
 
 
 
 
942
  /***/ (function(module, exports, __webpack_require__) {
943
 
944
- // 7.1.1 ToPrimitive(input [, PreferredType])
945
- var isObject = __webpack_require__(17);
946
- // instead of the ES6 spec version, we didn't implement @@toPrimitive case
947
- // and the second argument - flag - preferred type is a string
948
- module.exports = function (it, S) {
949
- if (!isObject(it)) return it;
950
- var fn, val;
951
- if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
952
- if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;
953
- if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
954
- throw TypeError("Can't convert object to primitive value");
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
955
  };
956
 
957
 
958
  /***/ }),
959
- /* 30 */
960
  /***/ (function(module, exports) {
961
 
962
- // 7.1.4 ToInteger
963
- var ceil = Math.ceil;
964
- var floor = Math.floor;
965
- module.exports = function (it) {
966
- return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);
 
 
 
 
 
 
 
 
967
  };
968
 
969
 
970
  /***/ }),
971
- /* 31 */
972
  /***/ (function(module, exports) {
973
 
974
- module.exports = true;
 
 
 
 
 
975
 
976
 
977
  /***/ }),
978
- /* 32 */
979
  /***/ (function(module, exports) {
980
 
981
- module.exports = {};
 
 
 
 
 
 
 
982
 
983
 
984
  /***/ }),
985
- /* 33 */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
986
  /***/ (function(module, exports, __webpack_require__) {
987
 
988
  // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
989
- var anObject = __webpack_require__(20);
990
- var dPs = __webpack_require__(96);
991
- var enumBugKeys = __webpack_require__(35);
992
- var IE_PROTO = __webpack_require__(27)('IE_PROTO');
993
  var Empty = function () { /* empty */ };
994
  var PROTOTYPE = 'prototype';
995
 
996
  // Create object with fake `null` prototype: use iframe Object with cleared prototype
997
  var createDict = function () {
998
  // Thrash, waste and sodomy: IE GC bug
999
- var iframe = __webpack_require__(49)('iframe');
1000
  var i = enumBugKeys.length;
1001
  var lt = '<';
1002
  var gt = '>';
1003
  var iframeDocument;
1004
  iframe.style.display = 'none';
1005
- __webpack_require__(101).appendChild(iframe);
1006
  iframe.src = 'javascript:'; // eslint-disable-line no-script-url
1007
  // createDict = iframe.contentWindow.Object;
1008
  // html.removeChild(iframe);
@@ -1029,2712 +1864,10796 @@ module.exports = Object.create || function create(O, Properties) {
1029
 
1030
 
1031
  /***/ }),
1032
- /* 34 */
1033
  /***/ (function(module, exports, __webpack_require__) {
1034
 
1035
- // 19.1.2.14 / 15.2.3.14 Object.keys(O)
1036
- var $keys = __webpack_require__(53);
1037
- var enumBugKeys = __webpack_require__(35);
1038
 
1039
- module.exports = Object.keys || function keys(O) {
1040
- return $keys(O, enumBugKeys);
1041
  };
1042
 
1043
 
1044
  /***/ }),
1045
- /* 35 */
1046
- /***/ (function(module, exports) {
1047
-
1048
- // IE 8- don't enum bug keys
1049
- module.exports = (
1050
- 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'
1051
- ).split(',');
1052
-
1053
-
1054
- /***/ }),
1055
- /* 36 */
1056
  /***/ (function(module, exports, __webpack_require__) {
1057
 
1058
- var def = __webpack_require__(13).f;
1059
- var has = __webpack_require__(12);
1060
- var TAG = __webpack_require__(19)('toStringTag');
1061
 
1062
- module.exports = function (it, tag, stat) {
1063
- if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });
 
 
 
 
 
 
 
 
 
1064
  };
1065
 
1066
 
1067
  /***/ }),
1068
- /* 37 */
1069
- /***/ (function(module, exports, __webpack_require__) {
1070
 
1071
- exports.f = __webpack_require__(19);
 
 
 
 
1072
 
1073
 
1074
  /***/ }),
1075
- /* 38 */
1076
  /***/ (function(module, exports, __webpack_require__) {
1077
 
1078
- var global = __webpack_require__(10);
1079
- var core = __webpack_require__(11);
1080
- var LIBRARY = __webpack_require__(31);
1081
- var wksExt = __webpack_require__(37);
1082
- var defineProperty = __webpack_require__(13).f;
1083
- module.exports = function (name) {
1084
- var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});
1085
- if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1086
  };
 
 
1087
 
1088
 
1089
  /***/ }),
1090
- /* 39 */
1091
- /***/ (function(module, exports) {
1092
-
1093
- exports.f = {}.propertyIsEnumerable;
1094
-
1095
-
1096
- /***/ }),
1097
- /* 40 */
1098
  /***/ (function(module, exports, __webpack_require__) {
1099
 
1100
- "use strict";
1101
- /* WEBPACK VAR INJECTION */(function(process) {
1102
-
1103
- var utils = __webpack_require__(9);
1104
- var normalizeHeaderName = __webpack_require__(135);
1105
-
1106
- var DEFAULT_CONTENT_TYPE = {
1107
- 'Content-Type': 'application/x-www-form-urlencoded'
1108
  };
1109
 
1110
- function setContentTypeIfUnset(headers, value) {
1111
- if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {
1112
- headers['Content-Type'] = value;
1113
- }
1114
- }
1115
-
1116
- function getDefaultAdapter() {
1117
- var adapter;
1118
- if (typeof XMLHttpRequest !== 'undefined') {
1119
- // For browsers use XHR adapter
1120
- adapter = __webpack_require__(64);
1121
- } else if (typeof process !== 'undefined') {
1122
- // For node use HTTP adapter
1123
- adapter = __webpack_require__(64);
1124
- }
1125
- return adapter;
1126
- }
1127
-
1128
- var defaults = {
1129
- adapter: getDefaultAdapter(),
1130
 
1131
- transformRequest: [function transformRequest(data, headers) {
1132
- normalizeHeaderName(headers, 'Content-Type');
1133
- if (utils.isFormData(data) ||
1134
- utils.isArrayBuffer(data) ||
1135
- utils.isBuffer(data) ||
1136
- utils.isStream(data) ||
1137
- utils.isFile(data) ||
1138
- utils.isBlob(data)
1139
- ) {
1140
- return data;
1141
- }
1142
- if (utils.isArrayBufferView(data)) {
1143
- return data.buffer;
1144
- }
1145
- if (utils.isURLSearchParams(data)) {
1146
- setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');
1147
- return data.toString();
1148
- }
1149
- if (utils.isObject(data)) {
1150
- setContentTypeIfUnset(headers, 'application/json;charset=utf-8');
1151
- return JSON.stringify(data);
1152
- }
1153
- return data;
1154
- }],
1155
 
1156
- transformResponse: [function transformResponse(data) {
1157
- /*eslint no-param-reassign:0*/
1158
- if (typeof data === 'string') {
1159
- try {
1160
- data = JSON.parse(data);
1161
- } catch (e) { /* Ignore */ }
1162
- }
1163
- return data;
1164
- }],
1165
 
1166
- /**
1167
- * A timeout in milliseconds to abort a request. If set to 0 (default) a
1168
- * timeout is not created.
1169
- */
1170
- timeout: 0,
1171
 
1172
- xsrfCookieName: 'XSRF-TOKEN',
1173
- xsrfHeaderName: 'X-XSRF-TOKEN',
 
1174
 
1175
- maxContentLength: -1,
 
 
 
1176
 
1177
- validateStatus: function validateStatus(status) {
1178
- return status >= 200 && status < 300;
1179
- }
 
 
 
 
 
 
 
1180
  };
1181
 
1182
- defaults.headers = {
1183
- common: {
1184
- 'Accept': 'application/json, text/plain, */*'
1185
- }
1186
- };
1187
 
1188
- utils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {
1189
- defaults.headers[method] = {};
1190
- });
1191
 
1192
- utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {
1193
- defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);
 
1194
  });
1195
 
1196
- module.exports = defaults;
1197
-
1198
- /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(63)))
1199
 
1200
  /***/ }),
1201
- /* 41 */
1202
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
1203
-
1204
- "use strict";
1205
- Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
1206
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__createStore__ = __webpack_require__(68);
1207
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__combineReducers__ = __webpack_require__(161);
1208
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__bindActionCreators__ = __webpack_require__(162);
1209
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__applyMiddleware__ = __webpack_require__(163);
1210
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__compose__ = __webpack_require__(72);
1211
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__utils_warning__ = __webpack_require__(71);
1212
- /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "createStore", function() { return __WEBPACK_IMPORTED_MODULE_0__createStore__["b"]; });
1213
- /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "combineReducers", function() { return __WEBPACK_IMPORTED_MODULE_1__combineReducers__["a"]; });
1214
- /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "bindActionCreators", function() { return __WEBPACK_IMPORTED_MODULE_2__bindActionCreators__["a"]; });
1215
- /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "applyMiddleware", function() { return __WEBPACK_IMPORTED_MODULE_3__applyMiddleware__["a"]; });
1216
- /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "compose", function() { return __WEBPACK_IMPORTED_MODULE_4__compose__["a"]; });
1217
-
1218
-
1219
-
1220
-
1221
-
1222
-
1223
-
1224
- /*
1225
- * This is a dummy function to check if the function name has been altered by minification.
1226
- * If the function has been minified and NODE_ENV !== 'production', warn the user.
1227
- */
1228
- function isCrushed() {}
1229
-
1230
- if (false) {
1231
- warning('You are currently using minified code outside of NODE_ENV === \'production\'. ' + 'This means that you are running a slower development build of Redux. ' + 'You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify ' + 'or DefinePlugin for webpack (http://stackoverflow.com/questions/30030031) ' + 'to ensure you have the correct code for your production build.');
1232
- }
1233
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1234
 
1235
 
1236
  /***/ }),
1237
- /* 42 */
1238
  /***/ (function(module, exports, __webpack_require__) {
1239
 
1240
- "use strict";
1241
-
1242
-
1243
- var stringify = __webpack_require__(166);
1244
- var parse = __webpack_require__(167);
1245
- var formats = __webpack_require__(75);
1246
 
1247
- module.exports = {
1248
- formats: formats,
1249
- parse: parse,
1250
- stringify: stringify
1251
  };
1252
 
1253
 
1254
  /***/ }),
1255
- /* 43 */
1256
  /***/ (function(module, exports, __webpack_require__) {
1257
 
1258
- /**
1259
- * Copyright (c) 2013-present, Facebook, Inc.
1260
- *
1261
- * This source code is licensed under the MIT license found in the
1262
- * LICENSE file in the root directory of this source tree.
1263
- */
 
 
1264
 
1265
- if (false) {
1266
- var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&
1267
- Symbol.for &&
1268
- Symbol.for('react.element')) ||
1269
- 0xeac7;
 
 
 
 
1270
 
1271
- var isValidElement = function(object) {
1272
- return typeof object === 'object' &&
1273
- object !== null &&
1274
- object.$$typeof === REACT_ELEMENT_TYPE;
1275
- };
 
 
 
 
1276
 
1277
- // By explicitly using `prop-types` you are opting into new development behavior.
1278
- // http://fb.me/prop-types-in-prod
1279
- var throwOnDirectAccess = true;
1280
- module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);
1281
- } else {
1282
- // By explicitly using `prop-types` you are opting into new production behavior.
1283
- // http://fb.me/prop-types-in-prod
1284
- module.exports = __webpack_require__(170)();
1285
- }
1286
 
1287
 
1288
  /***/ }),
1289
- /* 44 */
1290
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
1291
 
1292
- "use strict";
1293
- /* harmony export (immutable) */ __webpack_exports__["a"] = warning;
1294
- /**
1295
- * Prints a warning in the console if it exists.
1296
- *
1297
- * @param {String} message The warning message.
1298
- * @returns {void}
1299
- */
1300
- function warning(message) {
1301
- /* eslint-disable no-console */
1302
- if (typeof console !== 'undefined' && typeof console.error === 'function') {
1303
- console.error(message);
1304
- }
1305
- /* eslint-enable no-console */
1306
- try {
1307
- // This error was thrown as a convenience so that if you enable
1308
- // "break on all exceptions" in your console,
1309
- // it would pause the execution at this line.
1310
- throw new Error(message);
1311
- /* eslint-disable no-empty */
1312
- } catch (e) {}
1313
- /* eslint-enable no-empty */
1314
- }
1315
 
1316
  /***/ }),
1317
- /* 45 */
1318
  /***/ (function(module, exports, __webpack_require__) {
1319
 
1320
- // 7.1.13 ToObject(argument)
1321
- var defined = __webpack_require__(26);
1322
- module.exports = function (it) {
1323
- return Object(defined(it));
1324
  };
1325
 
1326
 
1327
  /***/ }),
1328
- /* 46 */
1329
  /***/ (function(module, exports, __webpack_require__) {
1330
 
1331
- // 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)
1332
- var has = __webpack_require__(12);
1333
- var toObject = __webpack_require__(45);
1334
- var IE_PROTO = __webpack_require__(27)('IE_PROTO');
1335
- var ObjectProto = Object.prototype;
 
1336
 
1337
- module.exports = Object.getPrototypeOf || function (O) {
1338
- O = toObject(O);
1339
- if (has(O, IE_PROTO)) return O[IE_PROTO];
1340
- if (typeof O.constructor == 'function' && O instanceof O.constructor) {
1341
- return O.constructor.prototype;
1342
- } return O instanceof Object ? ObjectProto : null;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1343
  };
 
 
 
 
 
 
 
 
 
 
1344
 
1345
 
1346
  /***/ }),
1347
- /* 47 */
1348
  /***/ (function(module, exports, __webpack_require__) {
1349
 
1350
- // optional / simple context binding
1351
- var aFunction = __webpack_require__(87);
1352
- module.exports = function (fn, that, length) {
1353
- aFunction(fn);
1354
- if (that === undefined) return fn;
1355
- switch (length) {
1356
- case 1: return function (a) {
1357
- return fn.call(that, a);
1358
- };
1359
- case 2: return function (a, b) {
1360
- return fn.call(that, a, b);
1361
- };
1362
- case 3: return function (a, b, c) {
1363
- return fn.call(that, a, b, c);
1364
- };
1365
- }
1366
- return function (/* ...args */) {
1367
- return fn.apply(that, arguments);
1368
- };
1369
  };
1370
 
1371
 
1372
  /***/ }),
1373
- /* 48 */
1374
- /***/ (function(module, exports, __webpack_require__) {
1375
 
1376
- module.exports = !__webpack_require__(14) && !__webpack_require__(21)(function () {
1377
- return Object.defineProperty(__webpack_require__(49)('div'), 'a', { get: function () { return 7; } }).a != 7;
1378
- });
1379
 
1380
 
1381
  /***/ }),
1382
- /* 49 */
1383
  /***/ (function(module, exports, __webpack_require__) {
1384
 
1385
- var isObject = __webpack_require__(17);
1386
- var document = __webpack_require__(10).document;
1387
- // typeof document.createElement is 'object' in old IE
1388
- var is = isObject(document) && isObject(document.createElement);
1389
  module.exports = function (it) {
1390
- return is ? document.createElement(it) : {};
1391
  };
1392
 
1393
 
1394
  /***/ }),
1395
- /* 50 */
1396
  /***/ (function(module, exports, __webpack_require__) {
1397
 
1398
- "use strict";
 
 
 
1399
 
 
 
 
 
1400
 
1401
- exports.__esModule = true;
1402
 
1403
- var _iterator = __webpack_require__(91);
1404
 
1405
- var _iterator2 = _interopRequireDefault(_iterator);
 
 
1406
 
1407
- var _symbol = __webpack_require__(106);
 
 
 
 
 
1408
 
1409
- var _symbol2 = _interopRequireDefault(_symbol);
1410
 
1411
- var _typeof = typeof _symbol2.default === "function" && typeof _iterator2.default === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj; };
 
 
1412
 
1413
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1414
 
1415
- exports.default = typeof _symbol2.default === "function" && _typeof(_iterator2.default) === "symbol" ? function (obj) {
1416
- return typeof obj === "undefined" ? "undefined" : _typeof(obj);
1417
- } : function (obj) {
1418
- return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof(obj);
1419
- };
1420
 
1421
  /***/ }),
1422
- /* 51 */
1423
  /***/ (function(module, exports, __webpack_require__) {
1424
 
1425
- "use strict";
1426
-
1427
- var LIBRARY = __webpack_require__(31);
1428
- var $export = __webpack_require__(15);
1429
- var redefine = __webpack_require__(52);
1430
- var hide = __webpack_require__(16);
1431
- var has = __webpack_require__(12);
1432
- var Iterators = __webpack_require__(32);
1433
- var $iterCreate = __webpack_require__(95);
1434
- var setToStringTag = __webpack_require__(36);
1435
- var getPrototypeOf = __webpack_require__(46);
1436
- var ITERATOR = __webpack_require__(19)('iterator');
1437
- var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`
1438
- var FF_ITERATOR = '@@iterator';
1439
- var KEYS = 'keys';
1440
- var VALUES = 'values';
1441
 
1442
- var returnThis = function () { return this; };
 
 
 
 
 
1443
 
1444
- module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {
1445
- $iterCreate(Constructor, NAME, next);
1446
- var getMethod = function (kind) {
1447
- if (!BUGGY && kind in proto) return proto[kind];
1448
- switch (kind) {
1449
- case KEYS: return function keys() { return new Constructor(this, kind); };
1450
- case VALUES: return function values() { return new Constructor(this, kind); };
1451
- } return function entries() { return new Constructor(this, kind); };
1452
- };
1453
- var TAG = NAME + ' Iterator';
1454
- var DEF_VALUES = DEFAULT == VALUES;
1455
- var VALUES_BUG = false;
1456
- var proto = Base.prototype;
1457
- var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];
1458
- var $default = (!BUGGY && $native) || getMethod(DEFAULT);
1459
- var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;
1460
- var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;
1461
- var methods, key, IteratorPrototype;
1462
- // Fix native
1463
- if ($anyNative) {
1464
- IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));
1465
- if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {
1466
- // Set @@toStringTag to native iterators
1467
- setToStringTag(IteratorPrototype, TAG, true);
1468
- // fix for some old engines
1469
- if (!LIBRARY && !has(IteratorPrototype, ITERATOR)) hide(IteratorPrototype, ITERATOR, returnThis);
1470
- }
1471
- }
1472
- // fix Array#{values, @@iterator}.name in V8 / FF
1473
- if (DEF_VALUES && $native && $native.name !== VALUES) {
1474
- VALUES_BUG = true;
1475
- $default = function values() { return $native.call(this); };
1476
- }
1477
- // Define iterator
1478
- if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {
1479
- hide(proto, ITERATOR, $default);
1480
- }
1481
- // Plug for library
1482
- Iterators[NAME] = $default;
1483
- Iterators[TAG] = returnThis;
1484
- if (DEFAULT) {
1485
- methods = {
1486
- values: DEF_VALUES ? $default : getMethod(VALUES),
1487
- keys: IS_SET ? $default : getMethod(KEYS),
1488
- entries: $entries
1489
- };
1490
- if (FORCED) for (key in methods) {
1491
- if (!(key in proto)) redefine(proto, key, methods[key]);
1492
- } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);
1493
- }
1494
- return methods;
1495
  };
1496
 
1497
 
1498
  /***/ }),
1499
- /* 52 */
1500
  /***/ (function(module, exports, __webpack_require__) {
1501
 
1502
- module.exports = __webpack_require__(16);
 
 
 
 
1503
 
1504
 
1505
  /***/ }),
1506
- /* 53 */
1507
- /***/ (function(module, exports, __webpack_require__) {
1508
-
1509
- var has = __webpack_require__(12);
1510
- var toIObject = __webpack_require__(18);
1511
- var arrayIndexOf = __webpack_require__(98)(false);
1512
- var IE_PROTO = __webpack_require__(27)('IE_PROTO');
1513
 
1514
- module.exports = function (object, names) {
1515
- var O = toIObject(object);
1516
- var i = 0;
1517
- var result = [];
1518
- var key;
1519
- for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);
1520
- // Don't enum bug & hidden keys
1521
- while (names.length > i) if (has(O, key = names[i++])) {
1522
- ~arrayIndexOf(result, key) || result.push(key);
1523
  }
1524
- return result;
1525
  };
1526
 
1527
 
1528
  /***/ }),
1529
- /* 54 */
1530
- /***/ (function(module, exports) {
1531
 
1532
- var toString = {}.toString;
 
 
 
1533
 
1534
- module.exports = function (it) {
1535
- return toString.call(it).slice(8, -1);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1536
  };
1537
 
1538
 
1539
  /***/ }),
1540
- /* 55 */
1541
  /***/ (function(module, exports) {
1542
 
1543
  exports.f = Object.getOwnPropertySymbols;
1544
 
1545
 
1546
  /***/ }),
1547
- /* 56 */
1548
  /***/ (function(module, exports, __webpack_require__) {
1549
 
1550
- // 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)
1551
- var $keys = __webpack_require__(53);
1552
- var hiddenKeys = __webpack_require__(35).concat('length', 'prototype');
1553
-
1554
- exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
1555
- return $keys(O, hiddenKeys);
1556
  };
1557
 
1558
 
1559
  /***/ }),
1560
- /* 57 */
1561
  /***/ (function(module, exports, __webpack_require__) {
1562
 
1563
- var pIE = __webpack_require__(39);
1564
- var createDesc = __webpack_require__(23);
1565
- var toIObject = __webpack_require__(18);
1566
- var toPrimitive = __webpack_require__(29);
1567
- var has = __webpack_require__(12);
1568
- var IE8_DOM_DEFINE = __webpack_require__(48);
1569
- var gOPD = Object.getOwnPropertyDescriptor;
1570
-
1571
- exports.f = __webpack_require__(14) ? gOPD : function getOwnPropertyDescriptor(O, P) {
1572
- O = toIObject(O);
1573
- P = toPrimitive(P, true);
1574
- if (IE8_DOM_DEFINE) try {
1575
- return gOPD(O, P);
1576
- } catch (e) { /* empty */ }
1577
- if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);
1578
  };
1579
 
1580
 
1581
  /***/ }),
1582
- /* 58 */
1583
  /***/ (function(module, exports, __webpack_require__) {
1584
 
1585
- "use strict";
1586
- /*
1587
- object-assign
1588
- (c) Sindre Sorhus
1589
- @license MIT
1590
- */
1591
-
1592
-
1593
- /* eslint-disable no-unused-vars */
1594
- var getOwnPropertySymbols = Object.getOwnPropertySymbols;
1595
- var hasOwnProperty = Object.prototype.hasOwnProperty;
1596
- var propIsEnumerable = Object.prototype.propertyIsEnumerable;
1597
 
1598
- function toObject(val) {
1599
- if (val === null || val === undefined) {
1600
- throw new TypeError('Object.assign cannot be called with null or undefined');
1601
- }
 
 
1602
 
1603
- return Object(val);
1604
- }
 
 
 
 
 
 
 
 
 
 
1605
 
1606
- function shouldUseNative() {
1607
- try {
1608
- if (!Object.assign) {
1609
- return false;
1610
- }
1611
 
1612
- // Detect buggy property enumeration order in older V8 versions.
 
 
1613
 
1614
- // https://bugs.chromium.org/p/v8/issues/detail?id=4118
1615
- var test1 = new String('abc'); // eslint-disable-line no-new-wrappers
1616
- test1[5] = 'de';
1617
- if (Object.getOwnPropertyNames(test1)[0] === '5') {
1618
- return false;
1619
- }
1620
 
1621
- // https://bugs.chromium.org/p/v8/issues/detail?id=3056
1622
- var test2 = {};
1623
- for (var i = 0; i < 10; i++) {
1624
- test2['_' + String.fromCharCode(i)] = i;
1625
- }
1626
- var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
1627
- return test2[n];
1628
- });
1629
- if (order2.join('') !== '0123456789') {
1630
- return false;
1631
- }
 
1632
 
1633
- // https://bugs.chromium.org/p/v8/issues/detail?id=3056
1634
- var test3 = {};
1635
- 'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
1636
- test3[letter] = letter;
1637
- });
1638
- if (Object.keys(Object.assign({}, test3)).join('') !==
1639
- 'abcdefghijklmnopqrst') {
1640
- return false;
1641
- }
1642
 
1643
- return true;
1644
- } catch (err) {
1645
- // We don't expect any of the above to throw, but better to be safe.
1646
- return false;
1647
- }
1648
- }
1649
 
1650
- module.exports = shouldUseNative() ? Object.assign : function (target, source) {
1651
- var from;
1652
- var to = toObject(target);
1653
- var symbols;
1654
 
1655
- for (var s = 1; s < arguments.length; s++) {
1656
- from = Object(arguments[s]);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1657
 
1658
- for (var key in from) {
1659
- if (hasOwnProperty.call(from, key)) {
1660
- to[key] = from[key];
1661
- }
1662
- }
1663
 
1664
- if (getOwnPropertySymbols) {
1665
- symbols = getOwnPropertySymbols(from);
1666
- for (var i = 0; i < symbols.length; i++) {
1667
- if (propIsEnumerable.call(from, symbols[i])) {
1668
- to[symbols[i]] = from[symbols[i]];
1669
- }
1670
- }
1671
- }
1672
- }
1673
 
1674
- return to;
 
 
 
 
 
 
 
1675
  };
1676
 
1677
 
1678
  /***/ }),
1679
- /* 59 */
1680
  /***/ (function(module, exports, __webpack_require__) {
1681
 
1682
- "use strict";
1683
- /**
1684
- * Copyright (c) 2013-present, Facebook, Inc.
1685
- *
1686
- * This source code is licensed under the MIT license found in the
1687
- * LICENSE file in the root directory of this source tree.
1688
- *
1689
- */
1690
 
 
1691
 
1692
 
1693
- /**
1694
- * Use invariant() to assert state which your program assumes to be true.
1695
- *
1696
- * Provide sprintf-style format (only %s is supported) and arguments
1697
- * to provide information about what broke and what you were
1698
- * expecting.
1699
- *
1700
- * The invariant message will be stripped in production, but the invariant
1701
- * will remain to ensure logic does not differ in production.
1702
- */
1703
 
1704
- var validateFormat = function validateFormat(format) {};
1705
 
1706
- if (false) {
1707
- validateFormat = function validateFormat(format) {
1708
- if (format === undefined) {
1709
- throw new Error('invariant requires an error message argument');
1710
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1711
  };
1712
- }
1713
-
1714
- function invariant(condition, format, a, b, c, d, e, f) {
1715
- validateFormat(format);
1716
-
1717
- if (!condition) {
1718
- var error;
1719
- if (format === undefined) {
1720
- error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');
1721
- } else {
1722
- var args = [a, b, c, d, e, f];
1723
- var argIndex = 0;
1724
- error = new Error(format.replace(/%s/g, function () {
1725
- return args[argIndex++];
1726
- }));
1727
- error.name = 'Invariant Violation';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1728
  }
1729
-
1730
- error.framesToPop = 1; // we don't care about invariant's own frame
1731
- throw error;
 
 
 
 
 
1732
  }
1733
- }
1734
 
1735
- module.exports = invariant;
1736
 
1737
- /***/ }),
1738
- /* 60 */
1739
- /***/ (function(module, exports, __webpack_require__) {
1740
 
1741
- "use strict";
1742
- /**
1743
- * Copyright (c) 2013-present, Facebook, Inc.
1744
- *
1745
- * This source code is licensed under the MIT license found in the
1746
- * LICENSE file in the root directory of this source tree.
1747
- *
1748
- */
1749
 
1750
 
 
 
 
1751
 
1752
- var emptyObject = {};
 
 
 
 
 
 
 
 
 
 
 
 
 
1753
 
1754
- if (false) {
1755
- Object.freeze(emptyObject);
 
 
 
1756
  }
1757
 
1758
- module.exports = emptyObject;
 
 
 
 
 
 
1759
 
1760
  /***/ }),
1761
- /* 61 */
1762
  /***/ (function(module, exports, __webpack_require__) {
1763
 
1764
  "use strict";
1765
 
 
 
 
 
 
 
 
 
1766
 
1767
- /**
1768
- * Copyright (c) 2013-present, Facebook, Inc.
1769
- *
1770
- * This source code is licensed under the MIT license found in the
1771
- * LICENSE file in the root directory of this source tree.
1772
- *
1773
- *
1774
- */
1775
 
1776
- function makeEmptyFunction(arg) {
1777
- return function () {
1778
- return arg;
1779
- };
1780
- }
1781
 
1782
- /**
1783
- * This function accepts and discards inputs; it has no side effects. This is
1784
- * primarily useful idiomatically for overridable function endpoints which
1785
- * always need to be callable, since JS lacks a null-call idiom ala Cocoa.
1786
- */
1787
- var emptyFunction = function emptyFunction() {};
1788
 
1789
- emptyFunction.thatReturns = makeEmptyFunction;
1790
- emptyFunction.thatReturnsFalse = makeEmptyFunction(false);
1791
- emptyFunction.thatReturnsTrue = makeEmptyFunction(true);
1792
- emptyFunction.thatReturnsNull = makeEmptyFunction(null);
1793
- emptyFunction.thatReturnsThis = function () {
1794
- return this;
1795
- };
1796
- emptyFunction.thatReturnsArgument = function (arg) {
1797
- return arg;
 
1798
  };
1799
 
1800
- module.exports = emptyFunction;
1801
 
1802
  /***/ }),
1803
- /* 62 */
1804
  /***/ (function(module, exports, __webpack_require__) {
1805
 
1806
  "use strict";
1807
 
1808
-
1809
- module.exports = function bind(fn, thisArg) {
1810
- return function wrap() {
1811
- var args = new Array(arguments.length);
1812
- for (var i = 0; i < args.length; i++) {
1813
- args[i] = arguments[i];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1814
  }
1815
- return fn.apply(thisArg, args);
1816
- };
1817
  };
1818
 
1819
 
1820
  /***/ }),
1821
- /* 63 */
1822
  /***/ (function(module, exports) {
1823
 
1824
- // shim for using process in browser
1825
- var process = module.exports = {};
1826
 
1827
- // cached from whatever global is present so that test runners that stub it
1828
- // don't break things. But we need to wrap it in a try catch in case it is
1829
- // wrapped in strict mode code which doesn't define any globals. It's inside a
1830
- // function because try/catches deoptimize in certain engines.
1831
 
1832
- var cachedSetTimeout;
1833
- var cachedClearTimeout;
 
1834
 
1835
- function defaultSetTimout() {
1836
- throw new Error('setTimeout has not been defined');
1837
- }
1838
- function defaultClearTimeout () {
1839
- throw new Error('clearTimeout has not been defined');
1840
- }
1841
- (function () {
1842
- try {
1843
- if (typeof setTimeout === 'function') {
1844
- cachedSetTimeout = setTimeout;
1845
- } else {
1846
- cachedSetTimeout = defaultSetTimout;
1847
- }
1848
- } catch (e) {
1849
- cachedSetTimeout = defaultSetTimout;
1850
- }
1851
- try {
1852
- if (typeof clearTimeout === 'function') {
1853
- cachedClearTimeout = clearTimeout;
1854
- } else {
1855
- cachedClearTimeout = defaultClearTimeout;
1856
- }
1857
- } catch (e) {
1858
- cachedClearTimeout = defaultClearTimeout;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1859
  }
1860
- } ())
1861
- function runTimeout(fun) {
1862
- if (cachedSetTimeout === setTimeout) {
1863
- //normal enviroments in sane situations
1864
- return setTimeout(fun, 0);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1865
  }
1866
- // if setTimeout wasn't available but was latter defined
1867
- if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
1868
- cachedSetTimeout = setTimeout;
1869
- return setTimeout(fun, 0);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1870
  }
1871
- try {
1872
- // when when somebody has screwed with setTimeout but no I.E. maddness
1873
- return cachedSetTimeout(fun, 0);
1874
- } catch(e){
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1875
  try {
1876
- // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
1877
- return cachedSetTimeout.call(null, fun, 0);
1878
- } catch(e){
1879
- // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error
1880
- return cachedSetTimeout.call(this, fun, 0);
1881
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1882
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1883
 
 
 
 
 
 
1884
 
1885
- }
1886
- function runClearTimeout(marker) {
1887
- if (cachedClearTimeout === clearTimeout) {
1888
- //normal enviroments in sane situations
1889
- return clearTimeout(marker);
1890
- }
1891
- // if clearTimeout wasn't available but was latter defined
1892
- if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
1893
- cachedClearTimeout = clearTimeout;
1894
- return clearTimeout(marker);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1895
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1896
  try {
1897
- // when when somebody has screwed with setTimeout but no I.E. maddness
1898
- return cachedClearTimeout(marker);
1899
- } catch (e){
1900
- try {
1901
- // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
1902
- return cachedClearTimeout.call(null, marker);
1903
- } catch (e){
1904
- // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.
1905
- // Some versions of I.E. have different rules for clearTimeout vs setTimeout
1906
- return cachedClearTimeout.call(this, marker);
1907
- }
1908
  }
 
 
1909
 
1910
 
 
 
 
1911
 
1912
- }
1913
- var queue = [];
1914
- var draining = false;
1915
- var currentQueue;
1916
- var queueIndex = -1;
1917
 
1918
- function cleanUpNextTick() {
1919
- if (!draining || !currentQueue) {
1920
- return;
1921
- }
1922
- draining = false;
1923
- if (currentQueue.length) {
1924
- queue = currentQueue.concat(queue);
1925
- } else {
1926
- queueIndex = -1;
1927
- }
1928
- if (queue.length) {
1929
- drainQueue();
1930
- }
1931
- }
1932
 
1933
- function drainQueue() {
1934
- if (draining) {
1935
- return;
1936
- }
1937
- var timeout = runTimeout(cleanUpNextTick);
1938
- draining = true;
1939
 
1940
- var len = queue.length;
1941
- while(len) {
1942
- currentQueue = queue;
1943
- queue = [];
1944
- while (++queueIndex < len) {
1945
- if (currentQueue) {
1946
- currentQueue[queueIndex].run();
1947
- }
1948
- }
1949
- queueIndex = -1;
1950
- len = queue.length;
1951
- }
1952
- currentQueue = null;
1953
- draining = false;
1954
- runClearTimeout(timeout);
1955
- }
1956
 
1957
- process.nextTick = function (fun) {
1958
- var args = new Array(arguments.length - 1);
1959
- if (arguments.length > 1) {
1960
- for (var i = 1; i < arguments.length; i++) {
1961
- args[i - 1] = arguments[i];
1962
- }
1963
- }
1964
- queue.push(new Item(fun, args));
1965
- if (queue.length === 1 && !draining) {
1966
- runTimeout(drainQueue);
1967
- }
1968
- };
1969
 
1970
- // v8 likes predictible objects
1971
- function Item(fun, array) {
1972
- this.fun = fun;
1973
- this.array = array;
1974
- }
1975
- Item.prototype.run = function () {
1976
- this.fun.apply(null, this.array);
 
 
1977
  };
1978
- process.title = 'browser';
1979
- process.browser = true;
1980
- process.env = {};
1981
- process.argv = [];
1982
- process.version = ''; // empty string to avoid regexp issues
1983
- process.versions = {};
 
 
 
1984
 
1985
- function noop() {}
 
 
 
 
1986
 
1987
- process.on = noop;
1988
- process.addListener = noop;
1989
- process.once = noop;
1990
- process.off = noop;
1991
- process.removeListener = noop;
1992
- process.removeAllListeners = noop;
1993
- process.emit = noop;
1994
- process.prependListener = noop;
1995
- process.prependOnceListener = noop;
1996
 
1997
- process.listeners = function (name) { return [] }
 
 
1998
 
1999
- process.binding = function (name) {
2000
- throw new Error('process.binding is not supported');
2001
- };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2002
 
2003
- process.cwd = function () { return '/' };
2004
- process.chdir = function (dir) {
2005
- throw new Error('process.chdir is not supported');
2006
- };
2007
- process.umask = function() { return 0; };
2008
 
2009
 
2010
  /***/ }),
2011
- /* 64 */
2012
  /***/ (function(module, exports, __webpack_require__) {
2013
 
2014
- "use strict";
 
 
 
2015
 
 
 
 
 
 
2016
 
2017
- var utils = __webpack_require__(9);
2018
- var settle = __webpack_require__(136);
2019
- var buildURL = __webpack_require__(138);
2020
- var parseHeaders = __webpack_require__(139);
2021
- var isURLSameOrigin = __webpack_require__(140);
2022
- var createError = __webpack_require__(65);
2023
- var btoa = (typeof window !== 'undefined' && window.btoa && window.btoa.bind(window)) || __webpack_require__(141);
2024
 
2025
- module.exports = function xhrAdapter(config) {
2026
- return new Promise(function dispatchXhrRequest(resolve, reject) {
2027
- var requestData = config.data;
2028
- var requestHeaders = config.headers;
2029
 
2030
- if (utils.isFormData(requestData)) {
2031
- delete requestHeaders['Content-Type']; // Let the browser set it
2032
- }
 
2033
 
2034
- var request = new XMLHttpRequest();
2035
- var loadEvent = 'onreadystatechange';
2036
- var xDomain = false;
 
 
2037
 
2038
- // For IE 8/9 CORS support
2039
- // Only supports POST and GET calls and doesn't returns the response headers.
2040
- // DON'T do this for testing b/c XMLHttpRequest is mocked, not XDomainRequest.
2041
- if ("production" !== 'test' &&
2042
- typeof window !== 'undefined' &&
2043
- window.XDomainRequest && !('withCredentials' in request) &&
2044
- !isURLSameOrigin(config.url)) {
2045
- request = new window.XDomainRequest();
2046
- loadEvent = 'onload';
2047
- xDomain = true;
2048
- request.onprogress = function handleProgress() {};
2049
- request.ontimeout = function handleTimeout() {};
2050
- }
2051
 
2052
- // HTTP basic authentication
2053
- if (config.auth) {
2054
- var username = config.auth.username || '';
2055
- var password = config.auth.password || '';
2056
- requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);
2057
- }
2058
 
2059
- request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true);
 
2060
 
2061
- // Set the request timeout in MS
2062
- request.timeout = config.timeout;
 
 
 
2063
 
2064
- // Listen for ready state
2065
- request[loadEvent] = function handleLoad() {
2066
- if (!request || (request.readyState !== 4 && !xDomain)) {
2067
- return;
2068
- }
2069
 
2070
- // The request errored out and we didn't get a response, this will be
2071
- // handled by onerror instead
2072
- // With one exception: request that using file: protocol, most browsers
2073
- // will return status as 0 even though it's a successful request
2074
- if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {
2075
- return;
2076
- }
2077
 
2078
- // Prepare the response
2079
- var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;
2080
- var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;
2081
- var response = {
2082
- data: responseData,
2083
- // IE sends 1223 instead of 204 (https://github.com/axios/axios/issues/201)
2084
- status: request.status === 1223 ? 204 : request.status,
2085
- statusText: request.status === 1223 ? 'No Content' : request.statusText,
2086
- headers: responseHeaders,
2087
- config: config,
2088
- request: request
2089
- };
2090
 
2091
- settle(resolve, reject, response);
 
 
 
 
 
2092
 
2093
- // Clean up request
2094
- request = null;
2095
- };
2096
 
2097
- // Handle low level network errors
2098
- request.onerror = function handleError() {
2099
- // Real errors are hidden from us by the browser
2100
- // onerror should only fire if it's a network error
2101
- reject(createError('Network Error', config, null, request));
2102
 
2103
- // Clean up request
2104
- request = null;
2105
- };
2106
 
2107
- // Handle timeout
2108
- request.ontimeout = function handleTimeout() {
2109
- reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED',
2110
- request));
2111
 
2112
- // Clean up request
2113
- request = null;
2114
- };
2115
 
2116
- // Add xsrf header
2117
- // This is only done if running in a standard browser environment.
2118
- // Specifically not if we're in a web worker, or react-native.
2119
- if (utils.isStandardBrowserEnv()) {
2120
- var cookies = __webpack_require__(142);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2121
 
2122
- // Add xsrf header
2123
- var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ?
2124
- cookies.read(config.xsrfCookieName) :
2125
- undefined;
2126
 
2127
- if (xsrfValue) {
2128
- requestHeaders[config.xsrfHeaderName] = xsrfValue;
2129
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2130
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
2131
 
2132
- // Add headers to the request
2133
- if ('setRequestHeader' in request) {
2134
- utils.forEach(requestHeaders, function setRequestHeader(val, key) {
2135
- if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {
2136
- // Remove Content-Type if data is undefined
2137
- delete requestHeaders[key];
2138
- } else {
2139
- // Otherwise add header to the request
2140
- request.setRequestHeader(key, val);
2141
- }
2142
- });
2143
- }
2144
 
2145
- // Add withCredentials to request if needed
2146
- if (config.withCredentials) {
2147
- request.withCredentials = true;
2148
- }
2149
 
2150
- // Add responseType to request if needed
2151
- if (config.responseType) {
2152
- try {
2153
- request.responseType = config.responseType;
2154
- } catch (e) {
2155
- // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.
2156
- // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.
2157
- if (config.responseType !== 'json') {
2158
- throw e;
2159
- }
2160
- }
2161
- }
2162
 
2163
- // Handle progress if needed
2164
- if (typeof config.onDownloadProgress === 'function') {
2165
- request.addEventListener('progress', config.onDownloadProgress);
2166
- }
2167
 
2168
- // Not all browsers support upload events
2169
- if (typeof config.onUploadProgress === 'function' && request.upload) {
2170
- request.upload.addEventListener('progress', config.onUploadProgress);
 
 
 
 
 
2171
  }
 
 
2172
 
2173
- if (config.cancelToken) {
2174
- // Handle cancellation
2175
- config.cancelToken.promise.then(function onCanceled(cancel) {
2176
- if (!request) {
2177
- return;
2178
- }
2179
 
2180
- request.abort();
2181
- reject(cancel);
2182
- // Clean up request
2183
- request = null;
2184
- });
2185
- }
2186
 
2187
- if (requestData === undefined) {
2188
- requestData = null;
2189
- }
2190
 
2191
- // Send the request
2192
- request.send(requestData);
2193
- });
2194
- };
 
 
 
 
 
 
 
2195
 
2196
 
2197
  /***/ }),
2198
- /* 65 */
2199
  /***/ (function(module, exports, __webpack_require__) {
2200
 
2201
  "use strict";
2202
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2203
 
2204
- var enhanceError = __webpack_require__(137);
2205
 
2206
- /**
2207
- * Create an Error with the specified message, config, error code, request and response.
2208
- *
2209
- * @param {string} message The error message.
2210
- * @param {Object} config The config.
2211
- * @param {string} [code] The error code (for example, 'ECONNABORTED').
2212
- * @param {Object} [request] The request.
2213
- * @param {Object} [response] The response.
2214
- * @returns {Error} The created error.
2215
- */
2216
- module.exports = function createError(message, config, code, request, response) {
2217
- var error = new Error(message);
2218
- return enhanceError(error, config, code, request, response);
2219
- };
 
 
 
 
 
 
 
 
 
 
 
 
 
2220
 
2221
 
2222
  /***/ }),
2223
- /* 66 */
2224
  /***/ (function(module, exports, __webpack_require__) {
2225
 
2226
  "use strict";
2227
 
 
 
 
2228
 
2229
- module.exports = function isCancel(value) {
2230
- return !!(value && value.__CANCEL__);
2231
- };
 
 
2232
 
2233
 
2234
  /***/ }),
2235
- /* 67 */
2236
  /***/ (function(module, exports, __webpack_require__) {
2237
 
2238
  "use strict";
2239
 
 
 
 
 
2240
 
2241
- /**
2242
- * A `Cancel` is an object that is thrown when an operation is canceled.
2243
- *
2244
- * @class
2245
- * @param {string=} message The message.
2246
- */
2247
- function Cancel(message) {
2248
- this.message = message;
2249
- }
2250
 
2251
- Cancel.prototype.toString = function toString() {
2252
- return 'Cancel' + (this.message ? ': ' + this.message : '');
2253
- };
2254
 
2255
- Cancel.prototype.__CANCEL__ = true;
 
 
2256
 
2257
- module.exports = Cancel;
 
 
 
 
 
 
 
 
 
 
 
 
2258
 
2259
 
2260
  /***/ }),
2261
- /* 68 */
2262
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
2263
 
2264
  "use strict";
2265
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return ActionTypes; });
2266
- /* harmony export (immutable) */ __webpack_exports__["b"] = createStore;
2267
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_es_isPlainObject__ = __webpack_require__(69);
2268
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_symbol_observable__ = __webpack_require__(158);
2269
 
 
 
 
 
 
 
2270
 
2271
 
2272
- /**
2273
- * These are private action types reserved by Redux.
2274
- * For any unknown actions, you must return the current state.
2275
- * If the current state is undefined, you must return the initial state.
2276
- * Do not reference these action types directly in your code.
2277
- */
2278
- var ActionTypes = {
2279
- INIT: '@@redux/INIT'
2280
 
2281
- /**
2282
- * Creates a Redux store that holds the state tree.
2283
- * The only way to change the data in the store is to call `dispatch()` on it.
2284
- *
2285
- * There should only be a single store in your app. To specify how different
2286
- * parts of the state tree respond to actions, you may combine several reducers
2287
- * into a single reducer function by using `combineReducers`.
2288
- *
2289
- * @param {Function} reducer A function that returns the next state tree, given
2290
- * the current state tree and the action to handle.
2291
- *
2292
- * @param {any} [preloadedState] The initial state. You may optionally specify it
2293
- * to hydrate the state from the server in universal apps, or to restore a
2294
- * previously serialized user session.
2295
- * If you use `combineReducers` to produce the root reducer function, this must be
2296
- * an object with the same shape as `combineReducers` keys.
2297
- *
2298
- * @param {Function} [enhancer] The store enhancer. You may optionally specify it
2299
- * to enhance the store with third-party capabilities such as middleware,
2300
- * time travel, persistence, etc. The only store enhancer that ships with Redux
2301
- * is `applyMiddleware()`.
2302
- *
2303
- * @returns {Store} A Redux store that lets you read the state, dispatch actions
2304
- * and subscribe to changes.
2305
- */
2306
- };function createStore(reducer, preloadedState, enhancer) {
2307
- var _ref2;
2308
 
2309
- if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {
2310
- enhancer = preloadedState;
2311
- preloadedState = undefined;
2312
- }
 
 
2313
 
2314
- if (typeof enhancer !== 'undefined') {
2315
- if (typeof enhancer !== 'function') {
2316
- throw new Error('Expected the enhancer to be a function.');
2317
- }
2318
 
2319
- return enhancer(createStore)(reducer, preloadedState);
2320
- }
 
2321
 
2322
- if (typeof reducer !== 'function') {
2323
- throw new Error('Expected the reducer to be a function.');
2324
- }
2325
 
2326
- var currentReducer = reducer;
2327
- var currentState = preloadedState;
2328
- var currentListeners = [];
2329
- var nextListeners = currentListeners;
2330
- var isDispatching = false;
 
 
 
 
 
 
 
2331
 
2332
- function ensureCanMutateNextListeners() {
2333
- if (nextListeners === currentListeners) {
2334
- nextListeners = currentListeners.slice();
2335
- }
2336
- }
2337
 
2338
- /**
2339
- * Reads the state tree managed by the store.
2340
- *
2341
- * @returns {any} The current state tree of your application.
2342
- */
2343
- function getState() {
2344
- return currentState;
 
 
2345
  }
 
 
 
 
 
 
 
 
2346
 
2347
- /**
2348
- * Adds a change listener. It will be called any time an action is dispatched,
2349
- * and some part of the state tree may potentially have changed. You may then
2350
- * call `getState()` to read the current state tree inside the callback.
2351
- *
2352
- * You may call `dispatch()` from a change listener, with the following
2353
- * caveats:
2354
- *
2355
- * 1. The subscriptions are snapshotted just before every `dispatch()` call.
2356
- * If you subscribe or unsubscribe while the listeners are being invoked, this
2357
- * will not have any effect on the `dispatch()` that is currently in progress.
2358
- * However, the next `dispatch()` call, whether nested or not, will use a more
2359
- * recent snapshot of the subscription list.
2360
- *
2361
- * 2. The listener should not expect to see all state changes, as the state
2362
- * might have been updated multiple times during a nested `dispatch()` before
2363
- * the listener is called. It is, however, guaranteed that all subscribers
2364
- * registered before the `dispatch()` started will be called with the latest
2365
- * state by the time it exits.
2366
- *
2367
- * @param {Function} listener A callback to be invoked on every dispatch.
2368
- * @returns {Function} A function to remove this change listener.
2369
- */
2370
- function subscribe(listener) {
2371
- if (typeof listener !== 'function') {
2372
- throw new Error('Expected listener to be a function.');
2373
- }
2374
 
2375
- var isSubscribed = true;
 
 
2376
 
2377
- ensureCanMutateNextListeners();
2378
- nextListeners.push(listener);
2379
 
2380
- return function unsubscribe() {
2381
- if (!isSubscribed) {
2382
- return;
2383
- }
2384
 
2385
- isSubscribed = false;
 
 
2386
 
2387
- ensureCanMutateNextListeners();
2388
- var index = nextListeners.indexOf(listener);
2389
- nextListeners.splice(index, 1);
2390
- };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2391
  }
 
2392
 
2393
- /**
2394
- * Dispatches an action. It is the only way to trigger a state change.
2395
- *
2396
- * The `reducer` function, used to create the store, will be called with the
2397
- * current state tree and the given `action`. Its return value will
2398
- * be considered the **next** state of the tree, and the change listeners
2399
- * will be notified.
2400
- *
2401
- * The base implementation only supports plain object actions. If you want to
2402
- * dispatch a Promise, an Observable, a thunk, or something else, you need to
2403
- * wrap your store creating function into the corresponding middleware. For
2404
- * example, see the documentation for the `redux-thunk` package. Even the
2405
- * middleware will eventually dispatch plain object actions using this method.
2406
- *
2407
- * @param {Object} action A plain object representing “what changed”. It is
2408
- * a good idea to keep actions serializable so you can record and replay user
2409
- * sessions, or use the time travelling `redux-devtools`. An action must have
2410
- * a `type` property which may not be `undefined`. It is a good idea to use
2411
- * string constants for action types.
2412
- *
2413
- * @returns {Object} For convenience, the same action object you dispatched.
2414
- *
2415
- * Note that, if you use a custom middleware, it may wrap `dispatch()` to
2416
- * return something else (for example, a Promise you can await).
2417
- */
2418
- function dispatch(action) {
2419
- if (!Object(__WEBPACK_IMPORTED_MODULE_0_lodash_es_isPlainObject__["a" /* default */])(action)) {
2420
- throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.');
2421
- }
2422
 
2423
- if (typeof action.type === 'undefined') {
2424
- throw new Error('Actions may not have an undefined "type" property. ' + 'Have you misspelled a constant?');
2425
- }
2426
 
2427
- if (isDispatching) {
2428
- throw new Error('Reducers may not dispatch actions.');
2429
- }
2430
 
2431
- try {
2432
- isDispatching = true;
2433
- currentState = currentReducer(currentState, action);
2434
- } finally {
2435
- isDispatching = false;
2436
- }
2437
 
2438
- var listeners = currentListeners = nextListeners;
2439
- for (var i = 0; i < listeners.length; i++) {
2440
- var listener = listeners[i];
2441
- listener();
2442
- }
2443
 
2444
- return action;
 
 
 
 
 
 
 
 
 
 
2445
  }
 
2446
 
2447
- /**
2448
- * Replaces the reducer currently used by the store to calculate the state.
2449
- *
2450
- * You might need this if your app implements code splitting and you want to
2451
- * load some of the reducers dynamically. You might also need this if you
2452
- * implement a hot reloading mechanism for Redux.
2453
- *
2454
- * @param {Function} nextReducer The reducer for the store to use instead.
2455
- * @returns {void}
2456
- */
2457
- function replaceReducer(nextReducer) {
2458
- if (typeof nextReducer !== 'function') {
2459
- throw new Error('Expected the nextReducer to be a function.');
2460
- }
2461
 
2462
- currentReducer = nextReducer;
2463
- dispatch({ type: ActionTypes.INIT });
 
 
 
 
 
 
 
 
 
 
 
 
 
2464
  }
 
2465
 
2466
- /**
2467
- * Interoperability point for observable/reactive libraries.
2468
- * @returns {observable} A minimal observable of state changes.
2469
- * For more information, see the observable proposal:
2470
- * https://github.com/tc39/proposal-observable
2471
- */
2472
- function observable() {
2473
- var _ref;
2474
 
2475
- var outerSubscribe = subscribe;
2476
- return _ref = {
2477
- /**
2478
- * The minimal observable subscription method.
2479
- * @param {Object} observer Any object that can be used as an observer.
2480
- * The observer object should have a `next` method.
2481
- * @returns {subscription} An object with an `unsubscribe` method that can
2482
- * be used to unsubscribe the observable from the store, and prevent further
2483
- * emission of values from the observable.
2484
- */
2485
- subscribe: function subscribe(observer) {
2486
- if (typeof observer !== 'object') {
2487
- throw new TypeError('Expected the observer to be an object.');
2488
- }
2489
 
2490
- function observeState() {
2491
- if (observer.next) {
2492
- observer.next(getState());
2493
- }
2494
- }
2495
 
2496
- observeState();
2497
- var unsubscribe = outerSubscribe(observeState);
2498
- return { unsubscribe: unsubscribe };
2499
- }
2500
- }, _ref[__WEBPACK_IMPORTED_MODULE_1_symbol_observable__["a" /* default */]] = function () {
2501
- return this;
2502
- }, _ref;
 
 
2503
  }
 
2504
 
2505
- // When a store is created, an "INIT" action is dispatched so that every
2506
- // reducer returns their initial state. This effectively populates
2507
- // the initial state tree.
2508
- dispatch({ type: ActionTypes.INIT });
2509
 
2510
- return _ref2 = {
2511
- dispatch: dispatch,
2512
- subscribe: subscribe,
2513
- getState: getState,
2514
- replaceReducer: replaceReducer
2515
- }, _ref2[__WEBPACK_IMPORTED_MODULE_1_symbol_observable__["a" /* default */]] = observable, _ref2;
2516
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2517
 
2518
  /***/ }),
2519
- /* 69 */
2520
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
2521
 
2522
  "use strict";
2523
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__baseGetTag_js__ = __webpack_require__(150);
2524
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__getPrototype_js__ = __webpack_require__(155);
2525
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__isObjectLike_js__ = __webpack_require__(157);
2526
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2527
 
2528
 
 
 
 
2529
 
2530
- /** `Object#toString` result references. */
2531
- var objectTag = '[object Object]';
2532
 
2533
- /** Used for built-in method references. */
2534
- var funcProto = Function.prototype,
2535
- objectProto = Object.prototype;
2536
 
2537
- /** Used to resolve the decompiled source of functions. */
2538
- var funcToString = funcProto.toString;
2539
 
2540
- /** Used to check objects for own properties. */
2541
- var hasOwnProperty = objectProto.hasOwnProperty;
 
2542
 
2543
- /** Used to infer the `Object` constructor. */
2544
- var objectCtorString = funcToString.call(Object);
2545
 
2546
- /**
2547
- * Checks if `value` is a plain object, that is, an object created by the
2548
- * `Object` constructor or one with a `[[Prototype]]` of `null`.
2549
- *
2550
- * @static
2551
- * @memberOf _
2552
- * @since 0.8.0
2553
- * @category Lang
2554
- * @param {*} value The value to check.
2555
- * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.
2556
- * @example
2557
- *
2558
- * function Foo() {
2559
- * this.a = 1;
2560
- * }
2561
- *
2562
- * _.isPlainObject(new Foo);
2563
- * // => false
2564
- *
2565
- * _.isPlainObject([1, 2, 3]);
2566
- * // => false
2567
- *
2568
- * _.isPlainObject({ 'x': 0, 'y': 0 });
2569
- * // => true
2570
- *
2571
- * _.isPlainObject(Object.create(null));
2572
- * // => true
2573
- */
2574
- function isPlainObject(value) {
2575
- if (!Object(__WEBPACK_IMPORTED_MODULE_2__isObjectLike_js__["a" /* default */])(value) || Object(__WEBPACK_IMPORTED_MODULE_0__baseGetTag_js__["a" /* default */])(value) != objectTag) {
2576
- return false;
2577
- }
2578
- var proto = Object(__WEBPACK_IMPORTED_MODULE_1__getPrototype_js__["a" /* default */])(value);
2579
- if (proto === null) {
2580
- return true;
2581
- }
2582
- var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;
2583
- return typeof Ctor == 'function' && Ctor instanceof Ctor &&
2584
- funcToString.call(Ctor) == objectCtorString;
2585
- }
2586
 
2587
- /* harmony default export */ __webpack_exports__["a"] = (isPlainObject);
 
 
 
 
 
 
2588
 
2589
 
2590
  /***/ }),
2591
- /* 70 */
2592
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
2593
 
2594
- "use strict";
2595
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__root_js__ = __webpack_require__(151);
2596
 
2597
 
2598
- /** Built-in value references. */
2599
- var Symbol = __WEBPACK_IMPORTED_MODULE_0__root_js__["a" /* default */].Symbol;
 
2600
 
2601
- /* harmony default export */ __webpack_exports__["a"] = (Symbol);
 
2602
 
2603
 
2604
  /***/ }),
2605
- /* 71 */
2606
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
 
2607
 
2608
- "use strict";
2609
- /* unused harmony export default */
2610
- /**
2611
- * Prints a warning in the console if it exists.
2612
- *
2613
- * @param {String} message The warning message.
2614
- * @returns {void}
2615
- */
2616
- function warning(message) {
2617
- /* eslint-disable no-console */
2618
- if (typeof console !== 'undefined' && typeof console.error === 'function') {
2619
- console.error(message);
2620
- }
2621
- /* eslint-enable no-console */
2622
- try {
2623
- // This error was thrown as a convenience so that if you enable
2624
- // "break on all exceptions" in your console,
2625
- // it would pause the execution at this line.
2626
- throw new Error(message);
2627
- /* eslint-disable no-empty */
2628
- } catch (e) {}
2629
- /* eslint-enable no-empty */
2630
- }
2631
 
2632
  /***/ }),
2633
- /* 72 */
2634
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
2635
 
2636
- "use strict";
2637
- /* harmony export (immutable) */ __webpack_exports__["a"] = compose;
2638
- /**
2639
- * Composes single-argument functions from right to left. The rightmost
2640
- * function can take multiple arguments as it provides the signature for
2641
- * the resulting composite function.
2642
- *
2643
- * @param {...Function} funcs The functions to compose.
2644
- * @returns {Function} A function obtained by composing the argument functions
2645
- * from right to left. For example, compose(f, g, h) is identical to doing
2646
- * (...args) => f(g(h(...args))).
2647
- */
2648
 
2649
- function compose() {
2650
- for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) {
2651
- funcs[_key] = arguments[_key];
2652
- }
2653
 
2654
- if (funcs.length === 0) {
2655
- return function (arg) {
2656
- return arg;
2657
- };
2658
- }
2659
 
2660
- if (funcs.length === 1) {
2661
- return funcs[0];
2662
- }
2663
 
2664
- return funcs.reduce(function (a, b) {
2665
- return function () {
2666
- return a(b.apply(undefined, arguments));
2667
- };
2668
- });
2669
- }
2670
 
2671
  /***/ }),
2672
- /* 73 */
2673
  /***/ (function(module, exports, __webpack_require__) {
2674
 
2675
- "use strict";
 
2676
 
2677
 
2678
- Object.defineProperty(exports, "__esModule", {
2679
- value: true
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2680
  });
2681
- exports.FETCH_OPTIONS = undefined;
2682
- exports.getOptions = getOptions;
2683
 
2684
- var _axios = __webpack_require__(24);
2685
 
2686
- var _axios2 = _interopRequireDefault(_axios);
 
 
2687
 
2688
- var _qs = __webpack_require__(42);
 
2689
 
2690
- var _qs2 = _interopRequireDefault(_qs);
 
 
 
 
2691
 
2692
- var _send_command = __webpack_require__(76);
2693
 
2694
- var _send_command2 = _interopRequireDefault(_send_command);
 
 
2695
 
2696
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
2697
 
2698
- var FETCH_OPTIONS = exports.FETCH_OPTIONS = 'FETCH_OPTIONS';
2699
 
2700
- function getOptions() {
2701
- var data = {
2702
- sub_action: 'get_core_options'
2703
- };
2704
 
2705
- var request = (0, _send_command2.default)(data);
 
 
 
 
 
 
 
 
 
 
 
 
2706
 
2707
- return {
2708
- type: FETCH_OPTIONS,
2709
- payload: request
2710
- };
2711
- }
2712
 
2713
  /***/ }),
2714
- /* 74 */
2715
  /***/ (function(module, exports, __webpack_require__) {
2716
 
2717
- "use strict";
 
 
 
2718
 
 
 
 
 
 
2719
 
2720
- var has = Object.prototype.hasOwnProperty;
2721
 
2722
- var hexTable = (function () {
2723
- var array = [];
2724
- for (var i = 0; i < 256; ++i) {
2725
- array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());
2726
- }
2727
 
2728
- return array;
2729
- }());
2730
 
2731
- var compactQueue = function compactQueue(queue) {
2732
- var obj;
 
 
 
 
 
 
2733
 
2734
- while (queue.length) {
2735
- var item = queue.pop();
2736
- obj = item.obj[item.prop];
2737
 
2738
- if (Array.isArray(obj)) {
2739
- var compacted = [];
 
2740
 
2741
- for (var j = 0; j < obj.length; ++j) {
2742
- if (typeof obj[j] !== 'undefined') {
2743
- compacted.push(obj[j]);
2744
- }
2745
- }
2746
 
2747
- item.obj[item.prop] = compacted;
2748
- }
2749
- }
 
 
 
 
 
2750
 
2751
- return obj;
2752
- };
2753
 
2754
- var arrayToObject = function arrayToObject(source, options) {
2755
- var obj = options && options.plainObjects ? Object.create(null) : {};
2756
- for (var i = 0; i < source.length; ++i) {
2757
- if (typeof source[i] !== 'undefined') {
2758
- obj[i] = source[i];
2759
- }
2760
- }
2761
 
2762
- return obj;
2763
- };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2764
 
2765
- var merge = function merge(target, source, options) {
2766
- if (!source) {
2767
- return target;
2768
- }
2769
 
2770
- if (typeof source !== 'object') {
2771
- if (Array.isArray(target)) {
2772
- target.push(source);
2773
- } else if (typeof target === 'object') {
2774
- if (options.plainObjects || options.allowPrototypes || !has.call(Object.prototype, source)) {
2775
- target[source] = true;
2776
- }
2777
- } else {
2778
- return [target, source];
2779
- }
2780
 
2781
- return target;
2782
- }
2783
 
2784
- if (typeof target !== 'object') {
2785
- return [target].concat(source);
2786
- }
2787
 
2788
- var mergeTarget = target;
2789
- if (Array.isArray(target) && !Array.isArray(source)) {
2790
- mergeTarget = arrayToObject(target, options);
2791
- }
2792
 
2793
- if (Array.isArray(target) && Array.isArray(source)) {
2794
- source.forEach(function (item, i) {
2795
- if (has.call(target, i)) {
2796
- if (target[i] && typeof target[i] === 'object') {
2797
- target[i] = merge(target[i], item, options);
2798
- } else {
2799
- target.push(item);
2800
- }
2801
- } else {
2802
- target[i] = item;
2803
- }
2804
- });
2805
- return target;
2806
- }
2807
 
2808
- return Object.keys(source).reduce(function (acc, key) {
2809
- var value = source[key];
 
2810
 
2811
- if (has.call(acc, key)) {
2812
- acc[key] = merge(acc[key], value, options);
2813
- } else {
2814
- acc[key] = value;
2815
- }
2816
- return acc;
2817
- }, mergeTarget);
2818
- };
2819
 
2820
- var assign = function assignSingleSource(target, source) {
2821
- return Object.keys(source).reduce(function (acc, key) {
2822
- acc[key] = source[key];
2823
- return acc;
2824
- }, target);
2825
- };
2826
 
2827
- var decode = function (str) {
2828
- try {
2829
- return decodeURIComponent(str.replace(/\+/g, ' '));
2830
- } catch (e) {
2831
- return str;
2832
- }
2833
- };
2834
 
2835
- var encode = function encode(str) {
2836
- // This code was originally written by Brian White (mscdex) for the io.js core querystring library.
2837
- // It has been adapted here for stricter adherence to RFC 3986
2838
- if (str.length === 0) {
2839
- return str;
2840
- }
2841
 
2842
- var string = typeof str === 'string' ? str : String(str);
2843
 
2844
- var out = '';
2845
- for (var i = 0; i < string.length; ++i) {
2846
- var c = string.charCodeAt(i);
2847
 
2848
- if (
2849
- c === 0x2D // -
2850
- || c === 0x2E // .
2851
- || c === 0x5F // _
2852
- || c === 0x7E // ~
2853
- || (c >= 0x30 && c <= 0x39) // 0-9
2854
- || (c >= 0x41 && c <= 0x5A) // a-z
2855
- || (c >= 0x61 && c <= 0x7A) // A-Z
2856
- ) {
2857
- out += string.charAt(i);
2858
- continue;
2859
- }
2860
 
2861
- if (c < 0x80) {
2862
- out = out + hexTable[c];
2863
- continue;
2864
- }
 
 
 
 
 
 
 
 
 
 
 
 
2865
 
2866
- if (c < 0x800) {
2867
- out = out + (hexTable[0xC0 | (c >> 6)] + hexTable[0x80 | (c & 0x3F)]);
2868
- continue;
2869
- }
2870
 
2871
- if (c < 0xD800 || c >= 0xE000) {
2872
- out = out + (hexTable[0xE0 | (c >> 12)] + hexTable[0x80 | ((c >> 6) & 0x3F)] + hexTable[0x80 | (c & 0x3F)]);
2873
- continue;
2874
- }
2875
 
2876
- i += 1;
2877
- c = 0x10000 + (((c & 0x3FF) << 10) | (string.charCodeAt(i) & 0x3FF));
2878
- out += hexTable[0xF0 | (c >> 18)]
2879
- + hexTable[0x80 | ((c >> 12) & 0x3F)]
2880
- + hexTable[0x80 | ((c >> 6) & 0x3F)]
2881
- + hexTable[0x80 | (c & 0x3F)];
2882
- }
2883
 
2884
- return out;
2885
- };
 
 
2886
 
2887
- var compact = function compact(value) {
2888
- var queue = [{ obj: { o: value }, prop: 'o' }];
2889
- var refs = [];
2890
 
2891
- for (var i = 0; i < queue.length; ++i) {
2892
- var item = queue[i];
2893
- var obj = item.obj[item.prop];
2894
 
2895
- var keys = Object.keys(obj);
2896
- for (var j = 0; j < keys.length; ++j) {
2897
- var key = keys[j];
2898
- var val = obj[key];
2899
- if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) {
2900
- queue.push({ obj: obj, prop: key });
2901
- refs.push(val);
2902
- }
2903
- }
2904
- }
 
 
 
 
 
 
 
 
 
 
 
2905
 
2906
- return compactQueue(queue);
2907
- };
2908
 
2909
- var isRegExp = function isRegExp(obj) {
2910
- return Object.prototype.toString.call(obj) === '[object RegExp]';
2911
- };
2912
 
2913
- var isBuffer = function isBuffer(obj) {
2914
- if (obj === null || typeof obj === 'undefined') {
2915
- return false;
2916
- }
2917
 
2918
- return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));
2919
- };
 
 
2920
 
2921
- module.exports = {
2922
- arrayToObject: arrayToObject,
2923
- assign: assign,
2924
- compact: compact,
2925
- decode: decode,
2926
- encode: encode,
2927
- isBuffer: isBuffer,
2928
- isRegExp: isRegExp,
2929
- merge: merge
2930
- };
2931
 
2932
 
2933
  /***/ }),
2934
- /* 75 */
2935
  /***/ (function(module, exports, __webpack_require__) {
2936
 
2937
- "use strict";
 
 
 
2938
 
 
 
 
2939
 
2940
- var replace = String.prototype.replace;
2941
- var percentTwenties = /%20/g;
2942
 
2943
- module.exports = {
2944
- 'default': 'RFC3986',
2945
- formatters: {
2946
- RFC1738: function (value) {
2947
- return replace.call(value, percentTwenties, '+');
2948
- },
2949
- RFC3986: function (value) {
2950
- return value;
2951
- }
2952
- },
2953
- RFC1738: 'RFC1738',
2954
- RFC3986: 'RFC3986'
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2955
  };
2956
 
 
 
 
 
2957
 
2958
  /***/ }),
2959
- /* 76 */
2960
  /***/ (function(module, exports, __webpack_require__) {
2961
 
2962
- "use strict";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2963
 
 
 
 
2964
 
2965
- Object.defineProperty(exports, "__esModule", {
2966
- value: true
2967
- });
2968
- exports.default = sendCommand;
2969
 
2970
- var _axios = __webpack_require__(24);
 
 
2971
 
2972
- var _axios2 = _interopRequireDefault(_axios);
 
 
 
2973
 
2974
- var _qs = __webpack_require__(42);
 
 
 
2975
 
2976
- var _qs2 = _interopRequireDefault(_qs);
2977
 
2978
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
 
2979
 
2980
- function sendCommand(data) {
 
 
 
2981
 
2982
- var params = {
2983
- action: 'eum_axios_ajax'
2984
- };
2985
 
2986
- var default_data = {
2987
- _wpnonce: mpsum.eum_nonce
2988
- };
2989
 
2990
- if ('undefined' === typeof data) data = {};
 
 
2991
 
2992
- for (var opt in default_data) {
2993
- if (!data.hasOwnProperty(opt)) {
2994
- data[opt] = default_data[opt];
2995
- }
2996
- }
 
 
 
 
 
 
 
2997
 
2998
- var options = {
2999
- method: 'post',
3000
- url: mpsum.ajax_url,
3001
- params: params,
3002
- paramsSerializer: function paramsSerializer(params) {
3003
- return _qs2.default.stringify(params, { arrayFormat: 'brackets' });
3004
- },
3005
- data: _qs2.default.stringify(data)
3006
- };
3007
 
3008
- return (0, _axios2.default)(options);
3009
- }
3010
 
3011
  /***/ }),
3012
- /* 77 */
3013
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
3014
 
3015
- "use strict";
3016
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return subscriptionShape; });
3017
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return storeShape; });
3018
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types__ = __webpack_require__(43);
3019
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_prop_types__);
3020
 
 
 
 
 
3021
 
3022
- var subscriptionShape = __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.shape({
3023
- trySubscribe: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired,
3024
- tryUnsubscribe: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired,
3025
- notifyNestedSubs: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired,
3026
- isSubscribed: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired
3027
- });
3028
 
3029
- var storeShape = __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.shape({
3030
- subscribe: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired,
3031
- dispatch: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired,
3032
- getState: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired
3033
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3034
 
3035
  /***/ }),
3036
- /* 78 */
3037
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
3038
 
3039
- "use strict";
3040
- /* harmony export (immutable) */ __webpack_exports__["a"] = connectAdvanced;
3041
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_hoist_non_react_statics__ = __webpack_require__(172);
3042
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_hoist_non_react_statics___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_hoist_non_react_statics__);
3043
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_invariant__ = __webpack_require__(173);
3044
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_invariant___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_invariant__);
3045
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react__ = __webpack_require__(0);
3046
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_react__);
3047
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_Subscription__ = __webpack_require__(174);
3048
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__utils_PropTypes__ = __webpack_require__(77);
3049
- var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
3050
 
3051
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
 
 
 
 
 
3052
 
3053
- function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
3054
 
3055
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
 
 
3056
 
3057
- function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
3058
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3059
 
 
 
 
 
 
 
 
3060
 
 
 
 
3061
 
 
 
 
 
 
 
3062
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3063
 
 
 
 
3064
 
 
 
 
3065
 
3066
- var hotReloadingVersion = 0;
3067
- var dummyState = {};
3068
- function noop() {}
3069
- function makeSelectorStateful(sourceSelector, store) {
3070
- // wrap the selector in an object that tracks its results between runs.
3071
- var selector = {
3072
- run: function runComponentSelector(props) {
3073
  try {
3074
- var nextProps = sourceSelector(store.getState(), props);
3075
- if (nextProps !== selector.props || selector.error) {
3076
- selector.shouldComponentUpdate = true;
3077
- selector.props = nextProps;
3078
- selector.error = null;
 
 
3079
  }
3080
- } catch (error) {
3081
- selector.shouldComponentUpdate = true;
3082
- selector.error = error;
3083
  }
3084
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3085
  };
 
 
 
 
 
3086
 
3087
- return selector;
3088
- }
3089
 
3090
- function connectAdvanced(
3091
- /*
3092
- selectorFactory is a func that is responsible for returning the selector function used to
3093
- compute new props from state, props, and dispatch. For example:
3094
- export default connectAdvanced((dispatch, options) => (state, props) => ({
3095
- thing: state.things[props.thingId],
3096
- saveThing: fields => dispatch(actionCreators.saveThing(props.thingId, fields)),
3097
- }))(YourComponent)
3098
- Access to dispatch is provided to the factory so selectorFactories can bind actionCreators
3099
- outside of their selector as an optimization. Options passed to connectAdvanced are passed to
3100
- the selectorFactory, along with displayName and WrappedComponent, as the second argument.
3101
- Note that selectorFactory is responsible for all caching/memoization of inbound and outbound
3102
- props. Do not use connectAdvanced directly without memoizing results between calls to your
3103
- selector, otherwise the Connect component will re-render on every state or props change.
3104
- */
3105
- selectorFactory) {
3106
- var _contextTypes, _childContextTypes;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3107
 
3108
- var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
3109
- _ref$getDisplayName = _ref.getDisplayName,
3110
- getDisplayName = _ref$getDisplayName === undefined ? function (name) {
3111
- return 'ConnectAdvanced(' + name + ')';
3112
- } : _ref$getDisplayName,
3113
- _ref$methodName = _ref.methodName,
3114
- methodName = _ref$methodName === undefined ? 'connectAdvanced' : _ref$methodName,
3115
- _ref$renderCountProp = _ref.renderCountProp,
3116
- renderCountProp = _ref$renderCountProp === undefined ? undefined : _ref$renderCountProp,
3117
- _ref$shouldHandleStat = _ref.shouldHandleStateChanges,
3118
- shouldHandleStateChanges = _ref$shouldHandleStat === undefined ? true : _ref$shouldHandleStat,
3119
- _ref$storeKey = _ref.storeKey,
3120
- storeKey = _ref$storeKey === undefined ? 'store' : _ref$storeKey,
3121
- _ref$withRef = _ref.withRef,
3122
- withRef = _ref$withRef === undefined ? false : _ref$withRef,
3123
- connectOptions = _objectWithoutProperties(_ref, ['getDisplayName', 'methodName', 'renderCountProp', 'shouldHandleStateChanges', 'storeKey', 'withRef']);
3124
 
3125
- var subscriptionKey = storeKey + 'Subscription';
3126
- var version = hotReloadingVersion++;
 
3127
 
3128
- var contextTypes = (_contextTypes = {}, _contextTypes[storeKey] = __WEBPACK_IMPORTED_MODULE_4__utils_PropTypes__["a" /* storeShape */], _contextTypes[subscriptionKey] = __WEBPACK_IMPORTED_MODULE_4__utils_PropTypes__["b" /* subscriptionShape */], _contextTypes);
3129
- var childContextTypes = (_childContextTypes = {}, _childContextTypes[subscriptionKey] = __WEBPACK_IMPORTED_MODULE_4__utils_PropTypes__["b" /* subscriptionShape */], _childContextTypes);
 
 
 
 
 
 
 
3130
 
3131
- return function wrapWithConnect(WrappedComponent) {
3132
- __WEBPACK_IMPORTED_MODULE_1_invariant___default()(typeof WrappedComponent == 'function', 'You must pass a component to the function returned by ' + (methodName + '. Instead received ' + JSON.stringify(WrappedComponent)));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3133
 
3134
- var wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';
 
 
3135
 
3136
- var displayName = getDisplayName(wrappedComponentName);
 
 
 
 
3137
 
3138
- var selectorFactoryOptions = _extends({}, connectOptions, {
3139
- getDisplayName: getDisplayName,
3140
- methodName: methodName,
3141
- renderCountProp: renderCountProp,
3142
- shouldHandleStateChanges: shouldHandleStateChanges,
3143
- storeKey: storeKey,
3144
- withRef: withRef,
3145
- displayName: displayName,
3146
- wrappedComponentName: wrappedComponentName,
3147
- WrappedComponent: WrappedComponent
3148
- });
3149
 
3150
- var Connect = function (_Component) {
3151
- _inherits(Connect, _Component);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3152
 
3153
- function Connect(props, context) {
3154
- _classCallCheck(this, Connect);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3155
 
3156
- var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));
 
 
 
 
 
 
 
 
3157
 
3158
- _this.version = version;
3159
- _this.state = {};
3160
- _this.renderCount = 0;
3161
- _this.store = props[storeKey] || context[storeKey];
3162
- _this.propsMode = Boolean(props[storeKey]);
3163
- _this.setWrappedInstance = _this.setWrappedInstance.bind(_this);
 
 
 
 
 
 
 
 
 
 
3164
 
3165
- __WEBPACK_IMPORTED_MODULE_1_invariant___default()(_this.store, 'Could not find "' + storeKey + '" in either the context or props of ' + ('"' + displayName + '". Either wrap the root component in a <Provider>, ') + ('or explicitly pass "' + storeKey + '" as a prop to "' + displayName + '".'));
 
 
 
 
 
 
 
 
3166
 
3167
- _this.initSelector();
3168
- _this.initSubscription();
3169
- return _this;
 
 
 
 
3170
  }
 
 
 
 
3171
 
3172
- Connect.prototype.getChildContext = function getChildContext() {
3173
- var _ref2;
 
 
 
 
 
3174
 
3175
- // If this component received store from props, its subscription should be transparent
3176
- // to any descendants receiving store+subscription from context; it passes along
3177
- // subscription passed to it. Otherwise, it shadows the parent subscription, which allows
3178
- // Connect to control ordering of notifications to flow top-down.
3179
- var subscription = this.propsMode ? null : this.subscription;
3180
- return _ref2 = {}, _ref2[subscriptionKey] = subscription || this.context[subscriptionKey], _ref2;
3181
- };
 
 
 
 
 
 
 
 
 
 
3182
 
3183
- Connect.prototype.componentDidMount = function componentDidMount() {
3184
- if (!shouldHandleStateChanges) return;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3185
 
3186
- // componentWillMount fires during server side rendering, but componentDidMount and
3187
- // componentWillUnmount do not. Because of this, trySubscribe happens during ...didMount.
3188
- // Otherwise, unsubscription would never take place during SSR, causing a memory leak.
3189
- // To handle the case where a child component may have triggered a state change by
3190
- // dispatching an action in its componentWillMount, we have to re-run the select and maybe
3191
- // re-render.
3192
- this.subscription.trySubscribe();
3193
- this.selector.run(this.props);
3194
- if (this.selector.shouldComponentUpdate) this.forceUpdate();
3195
- };
3196
 
3197
- Connect.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
3198
- this.selector.run(nextProps);
3199
- };
3200
 
3201
- Connect.prototype.shouldComponentUpdate = function shouldComponentUpdate() {
3202
- return this.selector.shouldComponentUpdate;
3203
- };
 
 
 
3204
 
3205
- Connect.prototype.componentWillUnmount = function componentWillUnmount() {
3206
- if (this.subscription) this.subscription.tryUnsubscribe();
3207
- this.subscription = null;
3208
- this.notifyNestedSubs = noop;
3209
- this.store = null;
3210
- this.selector.run = noop;
3211
- this.selector.shouldComponentUpdate = false;
3212
- };
 
 
 
 
 
 
 
 
 
 
 
 
3213
 
3214
- Connect.prototype.getWrappedInstance = function getWrappedInstance() {
3215
- __WEBPACK_IMPORTED_MODULE_1_invariant___default()(withRef, 'To access the wrapped instance, you need to specify ' + ('{ withRef: true } in the options argument of the ' + methodName + '() call.'));
3216
- return this.wrappedInstance;
3217
- };
3218
 
3219
- Connect.prototype.setWrappedInstance = function setWrappedInstance(ref) {
3220
- this.wrappedInstance = ref;
3221
- };
 
 
 
 
 
 
 
 
 
 
3222
 
3223
- Connect.prototype.initSelector = function initSelector() {
3224
- var sourceSelector = selectorFactory(this.store.dispatch, selectorFactoryOptions);
3225
- this.selector = makeSelectorStateful(sourceSelector, this.store);
3226
- this.selector.run(this.props);
3227
- };
 
3228
 
3229
- Connect.prototype.initSubscription = function initSubscription() {
3230
- if (!shouldHandleStateChanges) return;
3231
 
3232
- // parentSub's source should match where store came from: props vs. context. A component
3233
- // connected to the store via props shouldn't use subscription from context, or vice versa.
3234
- var parentSub = (this.propsMode ? this.props : this.context)[subscriptionKey];
3235
- this.subscription = new __WEBPACK_IMPORTED_MODULE_3__utils_Subscription__["a" /* default */](this.store, parentSub, this.onStateChange.bind(this));
3236
 
3237
- // `notifyNestedSubs` is duplicated to handle the case where the component is unmounted in
3238
- // the middle of the notification loop, where `this.subscription` will then be null. An
3239
- // extra null check every change can be avoided by copying the method onto `this` and then
3240
- // replacing it with a no-op on unmount. This can probably be avoided if Subscription's
3241
- // listeners logic is changed to not call listeners that have been unsubscribed in the
3242
- // middle of the notification loop.
3243
- this.notifyNestedSubs = this.subscription.notifyNestedSubs.bind(this.subscription);
3244
- };
3245
 
3246
- Connect.prototype.onStateChange = function onStateChange() {
3247
- this.selector.run(this.props);
 
 
3248
 
3249
- if (!this.selector.shouldComponentUpdate) {
3250
- this.notifyNestedSubs();
3251
- } else {
3252
- this.componentDidUpdate = this.notifyNestedSubsOnComponentDidUpdate;
3253
- this.setState(dummyState);
3254
- }
3255
- };
3256
 
3257
- Connect.prototype.notifyNestedSubsOnComponentDidUpdate = function notifyNestedSubsOnComponentDidUpdate() {
3258
- // `componentDidUpdate` is conditionally implemented when `onStateChange` determines it
3259
- // needs to notify nested subs. Once called, it unimplements itself until further state
3260
- // changes occur. Doing it this way vs having a permanent `componentDidUpdate` that does
3261
- // a boolean check every time avoids an extra method call most of the time, resulting
3262
- // in some perf boost.
3263
- this.componentDidUpdate = undefined;
3264
- this.notifyNestedSubs();
3265
- };
3266
 
3267
- Connect.prototype.isSubscribed = function isSubscribed() {
3268
- return Boolean(this.subscription) && this.subscription.isSubscribed();
3269
- };
 
3270
 
3271
- Connect.prototype.addExtraProps = function addExtraProps(props) {
3272
- if (!withRef && !renderCountProp && !(this.propsMode && this.subscription)) return props;
3273
- // make a shallow copy so that fields added don't leak to the original selector.
3274
- // this is especially important for 'ref' since that's a reference back to the component
3275
- // instance. a singleton memoized selector would then be holding a reference to the
3276
- // instance, preventing the instance from being garbage collected, and that would be bad
3277
- var withExtras = _extends({}, props);
3278
- if (withRef) withExtras.ref = this.setWrappedInstance;
3279
- if (renderCountProp) withExtras[renderCountProp] = this.renderCount++;
3280
- if (this.propsMode && this.subscription) withExtras[subscriptionKey] = this.subscription;
3281
- return withExtras;
3282
- };
3283
 
3284
- Connect.prototype.render = function render() {
3285
- var selector = this.selector;
3286
- selector.shouldComponentUpdate = false;
3287
 
3288
- if (selector.error) {
3289
- throw selector.error;
3290
- } else {
3291
- return Object(__WEBPACK_IMPORTED_MODULE_2_react__["createElement"])(WrappedComponent, this.addExtraProps(selector.props));
3292
  }
3293
- };
3294
-
3295
- return Connect;
3296
- }(__WEBPACK_IMPORTED_MODULE_2_react__["Component"]);
3297
 
3298
- Connect.WrappedComponent = WrappedComponent;
3299
- Connect.displayName = displayName;
3300
- Connect.childContextTypes = childContextTypes;
3301
- Connect.contextTypes = contextTypes;
3302
- Connect.propTypes = contextTypes;
3303
 
3304
- if (false) {
3305
- Connect.prototype.componentWillUpdate = function componentWillUpdate() {
3306
- var _this2 = this;
 
 
 
 
3307
 
3308
- // We are hot reloading!
3309
- if (this.version !== version) {
3310
- this.version = version;
3311
- this.initSelector();
3312
 
3313
- // If any connected descendants don't hot reload (and resubscribe in the process), their
3314
- // listeners will be lost when we unsubscribe. Unfortunately, by copying over all
3315
- // listeners, this does mean that the old versions of connected descendants will still be
3316
- // notified of state changes; however, their onStateChange function is a no-op so this
3317
- // isn't a huge deal.
3318
- var oldListeners = [];
 
 
 
 
 
 
 
 
 
3319
 
3320
- if (this.subscription) {
3321
- oldListeners = this.subscription.listeners.get();
3322
- this.subscription.tryUnsubscribe();
3323
- }
3324
- this.initSubscription();
3325
- if (shouldHandleStateChanges) {
3326
- this.subscription.trySubscribe();
3327
- oldListeners.forEach(function (listener) {
3328
- return _this2.subscription.listeners.subscribe(listener);
3329
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
3330
  }
3331
  }
3332
- };
 
 
 
 
 
 
3333
  }
3334
 
3335
- return __WEBPACK_IMPORTED_MODULE_0_hoist_non_react_statics___default()(Connect, WrappedComponent);
3336
- };
3337
- }
3338
 
3339
- /***/ }),
3340
- /* 79 */
3341
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
 
3342
 
3343
- "use strict";
3344
- /* harmony export (immutable) */ __webpack_exports__["a"] = wrapMapToPropsConstant;
3345
- /* unused harmony export getDependsOnOwnProps */
3346
- /* harmony export (immutable) */ __webpack_exports__["b"] = wrapMapToPropsFunc;
3347
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_verifyPlainObject__ = __webpack_require__(80);
3348
 
 
 
 
 
 
 
3349
 
3350
- function wrapMapToPropsConstant(getConstant) {
3351
- return function initConstantSelector(dispatch, options) {
3352
- var constant = getConstant(dispatch, options);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3353
 
3354
- function constantSelector() {
3355
- return constant;
 
3356
  }
3357
- constantSelector.dependsOnOwnProps = false;
3358
- return constantSelector;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3359
  };
3360
- }
3361
 
3362
- // dependsOnOwnProps is used by createMapToPropsProxy to determine whether to pass props as args
3363
- // to the mapToProps function being wrapped. It is also used by makePurePropsSelector to determine
3364
- // whether mapToProps needs to be invoked when props have changed.
3365
- //
3366
- // A length of one signals that mapToProps does not depend on props from the parent component.
3367
- // A length of zero is assumed to mean mapToProps is getting args via arguments or ...args and
3368
- // therefore not reporting its length accurately..
3369
- function getDependsOnOwnProps(mapToProps) {
3370
- return mapToProps.dependsOnOwnProps !== null && mapToProps.dependsOnOwnProps !== undefined ? Boolean(mapToProps.dependsOnOwnProps) : mapToProps.length !== 1;
3371
- }
3372
 
3373
- // Used by whenMapStateToPropsIsFunction and whenMapDispatchToPropsIsFunction,
3374
- // this function wraps mapToProps in a proxy function which does several things:
3375
- //
3376
- // * Detects whether the mapToProps function being called depends on props, which
3377
- // is used by selectorFactory to decide if it should reinvoke on props changes.
3378
- //
3379
- // * On first call, handles mapToProps if returns another function, and treats that
3380
- // new function as the true mapToProps for subsequent calls.
3381
- //
3382
- // * On first call, verifies the first result is a plain object, in order to warn
3383
- // the developer that their mapToProps function is not returning a valid result.
3384
- //
3385
- function wrapMapToPropsFunc(mapToProps, methodName) {
3386
- return function initProxySelector(dispatch, _ref) {
3387
- var displayName = _ref.displayName;
3388
 
3389
- var proxy = function mapToPropsProxy(stateOrDispatch, ownProps) {
3390
- return proxy.dependsOnOwnProps ? proxy.mapToProps(stateOrDispatch, ownProps) : proxy.mapToProps(stateOrDispatch);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3391
  };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3392
 
3393
- // allow detectFactoryAndVerify to get ownProps
3394
- proxy.dependsOnOwnProps = true;
3395
 
3396
- proxy.mapToProps = function detectFactoryAndVerify(stateOrDispatch, ownProps) {
3397
- proxy.mapToProps = mapToProps;
3398
- proxy.dependsOnOwnProps = getDependsOnOwnProps(mapToProps);
3399
- var props = proxy(stateOrDispatch, ownProps);
3400
 
3401
- if (typeof props === 'function') {
3402
- proxy.mapToProps = props;
3403
- proxy.dependsOnOwnProps = getDependsOnOwnProps(props);
3404
- props = proxy(stateOrDispatch, ownProps);
3405
  }
 
3406
 
3407
- if (false) verifyPlainObject(props, displayName, methodName);
 
 
 
3408
 
3409
- return props;
3410
- };
 
3411
 
3412
- return proxy;
3413
- };
3414
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3415
 
3416
- /***/ }),
3417
- /* 80 */
3418
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
3419
 
3420
- "use strict";
3421
- /* unused harmony export default */
3422
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_es_isPlainObject__ = __webpack_require__(178);
3423
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__warning__ = __webpack_require__(44);
 
3424
 
 
 
3425
 
 
 
 
 
3426
 
3427
- function verifyPlainObject(value, displayName, methodName) {
3428
- if (!Object(__WEBPACK_IMPORTED_MODULE_0_lodash_es_isPlainObject__["a" /* default */])(value)) {
3429
- Object(__WEBPACK_IMPORTED_MODULE_1__warning__["a" /* default */])(methodName + '() in ' + displayName + ' must return a plain object. Instead received ' + value + '.');
3430
- }
3431
- }
 
 
 
 
 
 
 
3432
 
3433
- /***/ }),
3434
- /* 81 */
3435
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
3436
 
3437
- "use strict";
3438
- /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__root_js__ = __webpack_require__(180);
 
3439
 
 
 
 
 
 
 
3440
 
3441
- /** Built-in value references. */
3442
- var Symbol = __WEBPACK_IMPORTED_MODULE_0__root_js__["a" /* default */].Symbol;
 
3443
 
3444
- /* harmony default export */ __webpack_exports__["a"] = (Symbol);
 
 
 
 
 
3445
 
 
 
 
 
3446
 
3447
- /***/ }),
3448
- /* 82 */
3449
- /***/ (function(module, exports) {
 
3450
 
3451
- /**
3452
- * lodash (Custom Build) <https://lodash.com/>
3453
- * Build: `lodash modularize exports="npm" -o ./`
3454
- * Copyright jQuery Foundation and other contributors <https://jquery.org/>
3455
- * Released under MIT license <https://lodash.com/license>
3456
- * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
3457
- * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
3458
- */
3459
 
3460
- /** Used as references for various `Number` constants. */
3461
- var MAX_SAFE_INTEGER = 9007199254740991;
 
 
 
 
 
 
 
 
3462
 
3463
- /** `Object#toString` result references. */
3464
- var argsTag = '[object Arguments]',
3465
- funcTag = '[object Function]',
3466
- genTag = '[object GeneratorFunction]';
 
 
 
 
 
3467
 
3468
- /** Used for built-in method references. */
3469
- var objectProto = Object.prototype;
 
3470
 
3471
- /** Used to check objects for own properties. */
3472
- var hasOwnProperty = objectProto.hasOwnProperty;
 
 
 
3473
 
3474
- /**
3475
- * Used to resolve the
3476
- * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
3477
- * of values.
3478
- */
3479
- var objectToString = objectProto.toString;
3480
 
3481
- /** Built-in value references. */
3482
- var propertyIsEnumerable = objectProto.propertyIsEnumerable;
 
 
3483
 
3484
- /**
3485
- * Checks if `value` is likely an `arguments` object.
3486
- *
3487
- * @static
3488
- * @memberOf _
3489
- * @since 0.1.0
3490
- * @category Lang
3491
- * @param {*} value The value to check.
3492
- * @returns {boolean} Returns `true` if `value` is an `arguments` object,
3493
- * else `false`.
3494
- * @example
3495
- *
3496
- * _.isArguments(function() { return arguments; }());
3497
- * // => true
3498
- *
3499
- * _.isArguments([1, 2, 3]);
3500
- * // => false
3501
- */
3502
- function isArguments(value) {
3503
- // Safari 8.1 makes `arguments.callee` enumerable in strict mode.
3504
- return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&
3505
- (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);
3506
- }
3507
 
3508
- /**
3509
- * Checks if `value` is array-like. A value is considered array-like if it's
3510
- * not a function and has a `value.length` that's an integer greater than or
3511
- * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.
3512
- *
3513
- * @static
3514
- * @memberOf _
3515
- * @since 4.0.0
3516
- * @category Lang
3517
- * @param {*} value The value to check.
3518
- * @returns {boolean} Returns `true` if `value` is array-like, else `false`.
3519
- * @example
3520
- *
3521
- * _.isArrayLike([1, 2, 3]);
3522
- * // => true
3523
- *
3524
- * _.isArrayLike(document.body.children);
3525
- * // => true
3526
- *
3527
- * _.isArrayLike('abc');
3528
- * // => true
3529
- *
3530
- * _.isArrayLike(_.noop);
3531
- * // => false
3532
- */
3533
- function isArrayLike(value) {
3534
- return value != null && isLength(value.length) && !isFunction(value);
3535
- }
3536
 
3537
- /**
3538
- * This method is like `_.isArrayLike` except that it also checks if `value`
3539
- * is an object.
3540
- *
3541
- * @static
3542
- * @memberOf _
3543
- * @since 4.0.0
3544
- * @category Lang
3545
- * @param {*} value The value to check.
3546
- * @returns {boolean} Returns `true` if `value` is an array-like object,
3547
- * else `false`.
3548
- * @example
3549
- *
3550
- * _.isArrayLikeObject([1, 2, 3]);
3551
- * // => true
3552
- *
3553
- * _.isArrayLikeObject(document.body.children);
3554
- * // => true
3555
- *
3556
- * _.isArrayLikeObject('abc');
3557
- * // => false
3558
- *
3559
- * _.isArrayLikeObject(_.noop);
3560
- * // => false
3561
- */
3562
- function isArrayLikeObject(value) {
3563
- return isObjectLike(value) && isArrayLike(value);
3564
- }
3565
 
3566
- /**
3567
- * Checks if `value` is classified as a `Function` object.
3568
- *
3569
- * @static
3570
- * @memberOf _
3571
- * @since 0.1.0
3572
- * @category Lang
3573
- * @param {*} value The value to check.
3574
- * @returns {boolean} Returns `true` if `value` is a function, else `false`.
3575
- * @example
3576
- *
3577
- * _.isFunction(_);
3578
- * // => true
3579
- *
3580
- * _.isFunction(/abc/);
3581
- * // => false
3582
- */
3583
- function isFunction(value) {
3584
- // The use of `Object#toString` avoids issues with the `typeof` operator
3585
- // in Safari 8-9 which returns 'object' for typed array and other constructors.
3586
- var tag = isObject(value) ? objectToString.call(value) : '';
3587
- return tag == funcTag || tag == genTag;
3588
- }
3589
 
3590
- /**
3591
- * Checks if `value` is a valid array-like length.
3592
- *
3593
- * **Note:** This method is loosely based on
3594
- * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).
3595
- *
3596
- * @static
3597
- * @memberOf _
3598
- * @since 4.0.0
3599
- * @category Lang
3600
- * @param {*} value The value to check.
3601
- * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
3602
- * @example
3603
- *
3604
- * _.isLength(3);
3605
- * // => true
3606
- *
3607
- * _.isLength(Number.MIN_VALUE);
3608
- * // => false
3609
- *
3610
- * _.isLength(Infinity);
3611
- * // => false
3612
- *
3613
- * _.isLength('3');
3614
- * // => false
3615
- */
3616
- function isLength(value) {
3617
- return typeof value == 'number' &&
3618
- value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
3619
- }
3620
 
3621
- /**
3622
- * Checks if `value` is the
3623
- * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
3624
- * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
3625
- *
3626
- * @static
3627
- * @memberOf _
3628
- * @since 0.1.0
3629
- * @category Lang
3630
- * @param {*} value The value to check.
3631
- * @returns {boolean} Returns `true` if `value` is an object, else `false`.
3632
- * @example
3633
- *
3634
- * _.isObject({});
3635
- * // => true
3636
- *
3637
- * _.isObject([1, 2, 3]);
3638
- * // => true
3639
- *
3640
- * _.isObject(_.noop);
3641
- * // => true
3642
- *
3643
- * _.isObject(null);
3644
- * // => false
3645
- */
3646
- function isObject(value) {
3647
- var type = typeof value;
3648
- return !!value && (type == 'object' || type == 'function');
3649
- }
3650
 
3651
- /**
3652
- * Checks if `value` is object-like. A value is object-like if it's not `null`
3653
- * and has a `typeof` result of "object".
3654
- *
3655
- * @static
3656
- * @memberOf _
3657
- * @since 4.0.0
3658
- * @category Lang
3659
- * @param {*} value The value to check.
3660
- * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
3661
- * @example
3662
- *
3663
- * _.isObjectLike({});
3664
- * // => true
3665
- *
3666
- * _.isObjectLike([1, 2, 3]);
3667
- * // => true
3668
- *
3669
- * _.isObjectLike(_.noop);
3670
- * // => false
3671
- *
3672
- * _.isObjectLike(null);
3673
- * // => false
3674
- */
3675
- function isObjectLike(value) {
3676
- return !!value && typeof value == 'object';
3677
- }
3678
 
3679
- module.exports = isArguments;
 
 
 
 
 
 
 
 
 
 
3680
 
 
3681
 
3682
  /***/ }),
3683
- /* 83 */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3684
  /***/ (function(module, exports, __webpack_require__) {
3685
 
3686
  "use strict";
3687
 
3688
 
3689
- var _getPrototypeOf = __webpack_require__(1);
3690
 
3691
  var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
3692
 
3693
- var _classCallCheck2 = __webpack_require__(2);
3694
 
3695
  var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
3696
 
3697
- var _createClass2 = __webpack_require__(3);
3698
 
3699
  var _createClass3 = _interopRequireDefault(_createClass2);
3700
 
3701
- var _possibleConstructorReturn2 = __webpack_require__(4);
3702
 
3703
  var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
3704
 
3705
- var _inherits2 = __webpack_require__(5);
3706
 
3707
  var _inherits3 = _interopRequireDefault(_inherits2);
3708
 
3709
- var _react = __webpack_require__(0);
3710
 
3711
  var _react2 = _interopRequireDefault(_react);
3712
 
3713
- var _reactDom = __webpack_require__(124);
3714
 
3715
  var _reactDom2 = _interopRequireDefault(_reactDom);
3716
 
3717
- var _axios = __webpack_require__(24);
3718
 
3719
  var _axios2 = _interopRequireDefault(_axios);
3720
 
3721
- var _redux = __webpack_require__(41);
3722
 
3723
- var _reducers = __webpack_require__(164);
3724
 
3725
  var _reducers2 = _interopRequireDefault(_reducers);
3726
 
3727
- var _main_container = __webpack_require__(168);
3728
 
3729
  var _main_container2 = _interopRequireDefault(_main_container);
3730
 
3731
- var _reduxPromise = __webpack_require__(207);
3732
 
3733
  var _reduxPromise2 = _interopRequireDefault(_reduxPromise);
3734
 
3735
- var _reactRedux = __webpack_require__(7);
3736
 
3737
- __webpack_require__(213);
3738
 
3739
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
3740
 
@@ -3773,22 +12692,22 @@ if (null !== dashboardApp) {
3773
  }
3774
 
3775
  /***/ }),
3776
- /* 84 */
3777
  /***/ (function(module, exports, __webpack_require__) {
3778
 
3779
- __webpack_require__(85);
3780
- module.exports = __webpack_require__(11).Object.getPrototypeOf;
3781
 
3782
 
3783
  /***/ }),
3784
- /* 85 */
3785
  /***/ (function(module, exports, __webpack_require__) {
3786
 
3787
  // 19.1.2.9 Object.getPrototypeOf(O)
3788
- var toObject = __webpack_require__(45);
3789
- var $getPrototypeOf = __webpack_require__(46);
3790
 
3791
- __webpack_require__(86)('getPrototypeOf', function () {
3792
  return function getPrototypeOf(it) {
3793
  return $getPrototypeOf(toObject(it));
3794
  };
@@ -3796,13 +12715,13 @@ __webpack_require__(86)('getPrototypeOf', function () {
3796
 
3797
 
3798
  /***/ }),
3799
- /* 86 */
3800
  /***/ (function(module, exports, __webpack_require__) {
3801
 
3802
  // most Object methods by ES6 should accept primitives
3803
- var $export = __webpack_require__(15);
3804
- var core = __webpack_require__(11);
3805
- var fails = __webpack_require__(21);
3806
  module.exports = function (KEY, exec) {
3807
  var fn = (core.Object || {})[KEY] || Object[KEY];
3808
  var exp = {};
@@ -3812,7 +12731,7 @@ module.exports = function (KEY, exec) {
3812
 
3813
 
3814
  /***/ }),
3815
- /* 87 */
3816
  /***/ (function(module, exports) {
3817
 
3818
  module.exports = function (it) {
@@ -3822,56 +12741,56 @@ module.exports = function (it) {
3822
 
3823
 
3824
  /***/ }),
3825
- /* 88 */
3826
  /***/ (function(module, exports, __webpack_require__) {
3827
 
3828
- module.exports = { "default": __webpack_require__(89), __esModule: true };
3829
 
3830
  /***/ }),
3831
- /* 89 */
3832
  /***/ (function(module, exports, __webpack_require__) {
3833
 
3834
- __webpack_require__(90);
3835
- var $Object = __webpack_require__(11).Object;
3836
  module.exports = function defineProperty(it, key, desc) {
3837
  return $Object.defineProperty(it, key, desc);
3838
  };
3839
 
3840
 
3841
  /***/ }),
3842
- /* 90 */
3843
  /***/ (function(module, exports, __webpack_require__) {
3844
 
3845
- var $export = __webpack_require__(15);
3846
  // 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)
3847
- $export($export.S + $export.F * !__webpack_require__(14), 'Object', { defineProperty: __webpack_require__(13).f });
3848
 
3849
 
3850
  /***/ }),
3851
- /* 91 */
3852
  /***/ (function(module, exports, __webpack_require__) {
3853
 
3854
- module.exports = { "default": __webpack_require__(92), __esModule: true };
3855
 
3856
  /***/ }),
3857
- /* 92 */
3858
  /***/ (function(module, exports, __webpack_require__) {
3859
 
3860
- __webpack_require__(93);
3861
- __webpack_require__(102);
3862
- module.exports = __webpack_require__(37).f('iterator');
3863
 
3864
 
3865
  /***/ }),
3866
- /* 93 */
3867
  /***/ (function(module, exports, __webpack_require__) {
3868
 
3869
  "use strict";
3870
 
3871
- var $at = __webpack_require__(94)(true);
3872
 
3873
  // 21.1.3.27 String.prototype[@@iterator]()
3874
- __webpack_require__(51)(String, 'String', function (iterated) {
3875
  this._t = String(iterated); // target
3876
  this._i = 0; // next index
3877
  // 21.1.5.2.1 %StringIteratorPrototype%.next()
@@ -3887,11 +12806,11 @@ __webpack_require__(51)(String, 'String', function (iterated) {
3887
 
3888
 
3889
  /***/ }),
3890
- /* 94 */
3891
  /***/ (function(module, exports, __webpack_require__) {
3892
 
3893
- var toInteger = __webpack_require__(30);
3894
- var defined = __webpack_require__(26);
3895
  // true -> String#at
3896
  // false -> String#codePointAt
3897
  module.exports = function (TO_STRING) {
@@ -3910,18 +12829,18 @@ module.exports = function (TO_STRING) {
3910
 
3911
 
3912
  /***/ }),
3913
- /* 95 */
3914
  /***/ (function(module, exports, __webpack_require__) {
3915
 
3916
  "use strict";
3917
 
3918
- var create = __webpack_require__(33);
3919
- var descriptor = __webpack_require__(23);
3920
- var setToStringTag = __webpack_require__(36);
3921
  var IteratorPrototype = {};
3922
 
3923
  // 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
3924
- __webpack_require__(16)(IteratorPrototype, __webpack_require__(19)('iterator'), function () { return this; });
3925
 
3926
  module.exports = function (Constructor, NAME, next) {
3927
  Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });
@@ -3930,14 +12849,14 @@ module.exports = function (Constructor, NAME, next) {
3930
 
3931
 
3932
  /***/ }),
3933
- /* 96 */
3934
  /***/ (function(module, exports, __webpack_require__) {
3935
 
3936
- var dP = __webpack_require__(13);
3937
- var anObject = __webpack_require__(20);
3938
- var getKeys = __webpack_require__(34);
3939
 
3940
- module.exports = __webpack_require__(14) ? Object.defineProperties : function defineProperties(O, Properties) {
3941
  anObject(O);
3942
  var keys = getKeys(Properties);
3943
  var length = keys.length;
@@ -3949,11 +12868,11 @@ module.exports = __webpack_require__(14) ? Object.defineProperties : function de
3949
 
3950
 
3951
  /***/ }),
3952
- /* 97 */
3953
  /***/ (function(module, exports, __webpack_require__) {
3954
 
3955
  // fallback for non-array-like ES3 and non-enumerable old V8 strings
3956
- var cof = __webpack_require__(54);
3957
  // eslint-disable-next-line no-prototype-builtins
3958
  module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {
3959
  return cof(it) == 'String' ? it.split('') : Object(it);
@@ -3961,14 +12880,14 @@ module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {
3961
 
3962
 
3963
  /***/ }),
3964
- /* 98 */
3965
  /***/ (function(module, exports, __webpack_require__) {
3966
 
3967
  // false -> Array#indexOf
3968
  // true -> Array#includes
3969
- var toIObject = __webpack_require__(18);
3970
- var toLength = __webpack_require__(99);
3971
- var toAbsoluteIndex = __webpack_require__(100);
3972
  module.exports = function (IS_INCLUDES) {
3973
  return function ($this, el, fromIndex) {
3974
  var O = toIObject($this);
@@ -3990,11 +12909,11 @@ module.exports = function (IS_INCLUDES) {
3990
 
3991
 
3992
  /***/ }),
3993
- /* 99 */
3994
  /***/ (function(module, exports, __webpack_require__) {
3995
 
3996
  // 7.1.15 ToLength
3997
- var toInteger = __webpack_require__(30);
3998
  var min = Math.min;
3999
  module.exports = function (it) {
4000
  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991
@@ -4002,10 +12921,10 @@ module.exports = function (it) {
4002
 
4003
 
4004
  /***/ }),
4005
- /* 100 */
4006
  /***/ (function(module, exports, __webpack_require__) {
4007
 
4008
- var toInteger = __webpack_require__(30);
4009
  var max = Math.max;
4010
  var min = Math.min;
4011
  module.exports = function (index, length) {
@@ -4015,22 +12934,22 @@ module.exports = function (index, length) {
4015
 
4016
 
4017
  /***/ }),
4018
- /* 101 */
4019
  /***/ (function(module, exports, __webpack_require__) {
4020
 
4021
- var document = __webpack_require__(10).document;
4022
  module.exports = document && document.documentElement;
4023
 
4024
 
4025
  /***/ }),
4026
- /* 102 */
4027
  /***/ (function(module, exports, __webpack_require__) {
4028
 
4029
- __webpack_require__(103);
4030
- var global = __webpack_require__(10);
4031
- var hide = __webpack_require__(16);
4032
- var Iterators = __webpack_require__(32);
4033
- var TO_STRING_TAG = __webpack_require__(19)('toStringTag');
4034
 
4035
  var DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +
4036
  'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +
@@ -4048,21 +12967,21 @@ for (var i = 0; i < DOMIterables.length; i++) {
4048
 
4049
 
4050
  /***/ }),
4051
- /* 103 */
4052
  /***/ (function(module, exports, __webpack_require__) {
4053
 
4054
  "use strict";
4055
 
4056
- var addToUnscopables = __webpack_require__(104);
4057
- var step = __webpack_require__(105);
4058
- var Iterators = __webpack_require__(32);
4059
- var toIObject = __webpack_require__(18);
4060
 
4061
  // 22.1.3.4 Array.prototype.entries()
4062
  // 22.1.3.13 Array.prototype.keys()
4063
  // 22.1.3.29 Array.prototype.values()
4064
  // 22.1.3.30 Array.prototype[@@iterator]()
4065
- module.exports = __webpack_require__(51)(Array, 'Array', function (iterated, kind) {
4066
  this._t = toIObject(iterated); // target
4067
  this._i = 0; // next index
4068
  this._k = kind; // kind
@@ -4089,14 +13008,14 @@ addToUnscopables('entries');
4089
 
4090
 
4091
  /***/ }),
4092
- /* 104 */
4093
  /***/ (function(module, exports) {
4094
 
4095
  module.exports = function () { /* empty */ };
4096
 
4097
 
4098
  /***/ }),
4099
- /* 105 */
4100
  /***/ (function(module, exports) {
4101
 
4102
  module.exports = function (done, value) {
@@ -4105,54 +13024,54 @@ module.exports = function (done, value) {
4105
 
4106
 
4107
  /***/ }),
4108
- /* 106 */
4109
  /***/ (function(module, exports, __webpack_require__) {
4110
 
4111
- module.exports = { "default": __webpack_require__(107), __esModule: true };
4112
 
4113
  /***/ }),
4114
- /* 107 */
4115
  /***/ (function(module, exports, __webpack_require__) {
4116
 
4117
- __webpack_require__(108);
4118
- __webpack_require__(113);
4119
- __webpack_require__(114);
4120
- __webpack_require__(115);
4121
- module.exports = __webpack_require__(11).Symbol;
4122
 
4123
 
4124
  /***/ }),
4125
- /* 108 */
4126
  /***/ (function(module, exports, __webpack_require__) {
4127
 
4128
  "use strict";
4129
 
4130
  // ECMAScript 6 symbols shim
4131
- var global = __webpack_require__(10);
4132
- var has = __webpack_require__(12);
4133
- var DESCRIPTORS = __webpack_require__(14);
4134
- var $export = __webpack_require__(15);
4135
- var redefine = __webpack_require__(52);
4136
- var META = __webpack_require__(109).KEY;
4137
- var $fails = __webpack_require__(21);
4138
- var shared = __webpack_require__(28);
4139
- var setToStringTag = __webpack_require__(36);
4140
- var uid = __webpack_require__(22);
4141
- var wks = __webpack_require__(19);
4142
- var wksExt = __webpack_require__(37);
4143
- var wksDefine = __webpack_require__(38);
4144
- var enumKeys = __webpack_require__(110);
4145
- var isArray = __webpack_require__(111);
4146
- var anObject = __webpack_require__(20);
4147
- var isObject = __webpack_require__(17);
4148
- var toIObject = __webpack_require__(18);
4149
- var toPrimitive = __webpack_require__(29);
4150
- var createDesc = __webpack_require__(23);
4151
- var _create = __webpack_require__(33);
4152
- var gOPNExt = __webpack_require__(112);
4153
- var $GOPD = __webpack_require__(57);
4154
- var $DP = __webpack_require__(13);
4155
- var $keys = __webpack_require__(34);
4156
  var gOPD = $GOPD.f;
4157
  var dP = $DP.f;
4158
  var gOPN = gOPNExt.f;
@@ -4275,11 +13194,11 @@ if (!USE_NATIVE) {
4275
 
4276
  $GOPD.f = $getOwnPropertyDescriptor;
4277
  $DP.f = $defineProperty;
4278
- __webpack_require__(56).f = gOPNExt.f = $getOwnPropertyNames;
4279
- __webpack_require__(39).f = $propertyIsEnumerable;
4280
- __webpack_require__(55).f = $getOwnPropertySymbols;
4281
 
4282
- if (DESCRIPTORS && !__webpack_require__(31)) {
4283
  redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);
4284
  }
4285
 
@@ -4353,7 +13272,7 @@ $JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {
4353
  });
4354
 
4355
  // 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)
4356
- $Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(16)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);
4357
  // 19.4.3.5 Symbol.prototype[@@toStringTag]
4358
  setToStringTag($Symbol, 'Symbol');
4359
  // 20.2.1.9 Math[@@toStringTag]
@@ -4363,18 +13282,18 @@ setToStringTag(global.JSON, 'JSON', true);
4363
 
4364
 
4365
  /***/ }),
4366
- /* 109 */
4367
  /***/ (function(module, exports, __webpack_require__) {
4368
 
4369
- var META = __webpack_require__(22)('meta');
4370
- var isObject = __webpack_require__(17);
4371
- var has = __webpack_require__(12);
4372
- var setDesc = __webpack_require__(13).f;
4373
  var id = 0;
4374
  var isExtensible = Object.isExtensible || function () {
4375
  return true;
4376
  };
4377
- var FREEZE = !__webpack_require__(21)(function () {
4378
  return isExtensible(Object.preventExtensions({}));
4379
  });
4380
  var setMeta = function (it) {
@@ -4422,13 +13341,13 @@ var meta = module.exports = {
4422
 
4423
 
4424
  /***/ }),
4425
- /* 110 */
4426
  /***/ (function(module, exports, __webpack_require__) {
4427
 
4428
  // all enumerable object keys, includes symbols
4429
- var getKeys = __webpack_require__(34);
4430
- var gOPS = __webpack_require__(55);
4431
- var pIE = __webpack_require__(39);
4432
  module.exports = function (it) {
4433
  var result = getKeys(it);
4434
  var getSymbols = gOPS.f;
@@ -4443,23 +13362,23 @@ module.exports = function (it) {
4443
 
4444
 
4445
  /***/ }),
4446
- /* 111 */
4447
  /***/ (function(module, exports, __webpack_require__) {
4448
 
4449
  // 7.2.2 IsArray(argument)
4450
- var cof = __webpack_require__(54);
4451
  module.exports = Array.isArray || function isArray(arg) {
4452
  return cof(arg) == 'Array';
4453
  };
4454
 
4455
 
4456
  /***/ }),
4457
- /* 112 */
4458
  /***/ (function(module, exports, __webpack_require__) {
4459
 
4460
  // fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
4461
- var toIObject = __webpack_require__(18);
4462
- var gOPN = __webpack_require__(56).f;
4463
  var toString = {}.toString;
4464
 
4465
  var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames
@@ -4479,56 +13398,56 @@ module.exports.f = function getOwnPropertyNames(it) {
4479
 
4480
 
4481
  /***/ }),
4482
- /* 113 */
4483
  /***/ (function(module, exports) {
4484
 
4485
 
4486
 
4487
  /***/ }),
4488
- /* 114 */
4489
  /***/ (function(module, exports, __webpack_require__) {
4490
 
4491
- __webpack_require__(38)('asyncIterator');
4492
 
4493
 
4494
  /***/ }),
4495
- /* 115 */
4496
  /***/ (function(module, exports, __webpack_require__) {
4497
 
4498
- __webpack_require__(38)('observable');
4499
 
4500
 
4501
  /***/ }),
4502
- /* 116 */
4503
  /***/ (function(module, exports, __webpack_require__) {
4504
 
4505
- module.exports = { "default": __webpack_require__(117), __esModule: true };
4506
 
4507
  /***/ }),
4508
- /* 117 */
4509
  /***/ (function(module, exports, __webpack_require__) {
4510
 
4511
- __webpack_require__(118);
4512
- module.exports = __webpack_require__(11).Object.setPrototypeOf;
4513
 
4514
 
4515
  /***/ }),
4516
- /* 118 */
4517
  /***/ (function(module, exports, __webpack_require__) {
4518
 
4519
  // 19.1.3.19 Object.setPrototypeOf(O, proto)
4520
- var $export = __webpack_require__(15);
4521
- $export($export.S, 'Object', { setPrototypeOf: __webpack_require__(119).set });
4522
 
4523
 
4524
  /***/ }),
4525
- /* 119 */
4526
  /***/ (function(module, exports, __webpack_require__) {
4527
 
4528
  // Works with __proto__ only. Old v8 can't work with null proto objects.
4529
  /* eslint-disable no-proto */
4530
- var isObject = __webpack_require__(17);
4531
- var anObject = __webpack_require__(20);
4532
  var check = function (O, proto) {
4533
  anObject(O);
4534
  if (!isObject(proto) && proto !== null) throw TypeError(proto + ": can't set as prototype!");
@@ -4537,7 +13456,7 @@ module.exports = {
4537
  set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line
4538
  function (test, buggy, set) {
4539
  try {
4540
- set = __webpack_require__(47)(Function.call, __webpack_require__(57).f(Object.prototype, '__proto__').set, 2);
4541
  set(test, []);
4542
  buggy = !(test instanceof Array);
4543
  } catch (e) { buggy = true; }
@@ -4553,62 +13472,64 @@ module.exports = {
4553
 
4554
 
4555
  /***/ }),
4556
- /* 120 */
4557
  /***/ (function(module, exports, __webpack_require__) {
4558
 
4559
- module.exports = { "default": __webpack_require__(121), __esModule: true };
4560
 
4561
  /***/ }),
4562
- /* 121 */
4563
  /***/ (function(module, exports, __webpack_require__) {
4564
 
4565
- __webpack_require__(122);
4566
- var $Object = __webpack_require__(11).Object;
4567
  module.exports = function create(P, D) {
4568
  return $Object.create(P, D);
4569
  };
4570
 
4571
 
4572
  /***/ }),
4573
- /* 122 */
4574
  /***/ (function(module, exports, __webpack_require__) {
4575
 
4576
- var $export = __webpack_require__(15);
4577
  // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
4578
- $export($export.S, 'Object', { create: __webpack_require__(33) });
4579
 
4580
 
4581
  /***/ }),
4582
- /* 123 */
4583
  /***/ (function(module, exports, __webpack_require__) {
4584
 
4585
  "use strict";
4586
- /** @license React v16.4.1
4587
  * react.production.min.js
4588
  *
4589
- * Copyright (c) 2013-present, Facebook, Inc.
4590
  *
4591
  * This source code is licensed under the MIT license found in the
4592
  * LICENSE file in the root directory of this source tree.
4593
  */
4594
 
4595
- var k=__webpack_require__(58),n=__webpack_require__(59),p=__webpack_require__(60),q=__webpack_require__(61),r="function"===typeof Symbol&&Symbol.for,t=r?Symbol.for("react.element"):60103,u=r?Symbol.for("react.portal"):60106,v=r?Symbol.for("react.fragment"):60107,w=r?Symbol.for("react.strict_mode"):60108,x=r?Symbol.for("react.profiler"):60114,y=r?Symbol.for("react.provider"):60109,z=r?Symbol.for("react.context"):60110,A=r?Symbol.for("react.async_mode"):60111,B=
4596
- r?Symbol.for("react.forward_ref"):60112;r&&Symbol.for("react.timeout");var C="function"===typeof Symbol&&Symbol.iterator;function D(a){for(var b=arguments.length-1,e="https://reactjs.org/docs/error-decoder.html?invariant="+a,c=0;c<b;c++)e+="&args[]="+encodeURIComponent(arguments[c+1]);n(!1,"Minified React error #"+a+"; visit %s for the full message or use the non-minified dev environment for full errors and additional helpful warnings. ",e)}
4597
- var E={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}};function F(a,b,e){this.props=a;this.context=b;this.refs=p;this.updater=e||E}F.prototype.isReactComponent={};F.prototype.setState=function(a,b){"object"!==typeof a&&"function"!==typeof a&&null!=a?D("85"):void 0;this.updater.enqueueSetState(this,a,b,"setState")};F.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,"forceUpdate")};function G(){}
4598
- G.prototype=F.prototype;function H(a,b,e){this.props=a;this.context=b;this.refs=p;this.updater=e||E}var I=H.prototype=new G;I.constructor=H;k(I,F.prototype);I.isPureReactComponent=!0;var J={current:null},K=Object.prototype.hasOwnProperty,L={key:!0,ref:!0,__self:!0,__source:!0};
4599
- function M(a,b,e){var c=void 0,d={},g=null,h=null;if(null!=b)for(c in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(g=""+b.key),b)K.call(b,c)&&!L.hasOwnProperty(c)&&(d[c]=b[c]);var f=arguments.length-2;if(1===f)d.children=e;else if(1<f){for(var l=Array(f),m=0;m<f;m++)l[m]=arguments[m+2];d.children=l}if(a&&a.defaultProps)for(c in f=a.defaultProps,f)void 0===d[c]&&(d[c]=f[c]);return{$$typeof:t,type:a,key:g,ref:h,props:d,_owner:J.current}}
4600
- function N(a){return"object"===typeof a&&null!==a&&a.$$typeof===t}function escape(a){var b={"=":"=0",":":"=2"};return"$"+(""+a).replace(/[=:]/g,function(a){return b[a]})}var O=/\/+/g,P=[];function Q(a,b,e,c){if(P.length){var d=P.pop();d.result=a;d.keyPrefix=b;d.func=e;d.context=c;d.count=0;return d}return{result:a,keyPrefix:b,func:e,context:c,count:0}}function R(a){a.result=null;a.keyPrefix=null;a.func=null;a.context=null;a.count=0;10>P.length&&P.push(a)}
4601
- function S(a,b,e,c){var d=typeof a;if("undefined"===d||"boolean"===d)a=null;var g=!1;if(null===a)g=!0;else switch(d){case "string":case "number":g=!0;break;case "object":switch(a.$$typeof){case t:case u:g=!0}}if(g)return e(c,a,""===b?"."+T(a,0):b),1;g=0;b=""===b?".":b+":";if(Array.isArray(a))for(var h=0;h<a.length;h++){d=a[h];var f=b+T(d,h);g+=S(d,f,e,c)}else if(null===a||"undefined"===typeof a?f=null:(f=C&&a[C]||a["@@iterator"],f="function"===typeof f?f:null),"function"===typeof f)for(a=f.call(a),
4602
- h=0;!(d=a.next()).done;)d=d.value,f=b+T(d,h++),g+=S(d,f,e,c);else"object"===d&&(e=""+a,D("31","[object Object]"===e?"object with keys {"+Object.keys(a).join(", ")+"}":e,""));return g}function T(a,b){return"object"===typeof a&&null!==a&&null!=a.key?escape(a.key):b.toString(36)}function U(a,b){a.func.call(a.context,b,a.count++)}
4603
- function V(a,b,e){var c=a.result,d=a.keyPrefix;a=a.func.call(a.context,b,a.count++);Array.isArray(a)?W(a,c,e,q.thatReturnsArgument):null!=a&&(N(a)&&(b=d+(!a.key||b&&b.key===a.key?"":(""+a.key).replace(O,"$&/")+"/")+e,a={$$typeof:t,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}),c.push(a))}function W(a,b,e,c,d){var g="";null!=e&&(g=(""+e).replace(O,"$&/")+"/");b=Q(b,g,c,d);null==a||S(a,"",V,b);R(b)}
4604
- var X={Children:{map:function(a,b,e){if(null==a)return a;var c=[];W(a,c,null,b,e);return c},forEach:function(a,b,e){if(null==a)return a;b=Q(null,null,b,e);null==a||S(a,"",U,b);R(b)},count:function(a){return null==a?0:S(a,"",q.thatReturnsNull,null)},toArray:function(a){var b=[];W(a,b,null,q.thatReturnsArgument);return b},only:function(a){N(a)?void 0:D("143");return a}},createRef:function(){return{current:null}},Component:F,PureComponent:H,createContext:function(a,b){void 0===b&&(b=null);a={$$typeof:z,
4605
- _calculateChangedBits:b,_defaultValue:a,_currentValue:a,_currentValue2:a,_changedBits:0,_changedBits2:0,Provider:null,Consumer:null};a.Provider={$$typeof:y,_context:a};return a.Consumer=a},forwardRef:function(a){return{$$typeof:B,render:a}},Fragment:v,StrictMode:w,unstable_AsyncMode:A,unstable_Profiler:x,createElement:M,cloneElement:function(a,b,e){null===a||void 0===a?D("267",a):void 0;var c=void 0,d=k({},a.props),g=a.key,h=a.ref,f=a._owner;if(null!=b){void 0!==b.ref&&(h=b.ref,f=J.current);void 0!==
4606
- b.key&&(g=""+b.key);var l=void 0;a.type&&a.type.defaultProps&&(l=a.type.defaultProps);for(c in b)K.call(b,c)&&!L.hasOwnProperty(c)&&(d[c]=void 0===b[c]&&void 0!==l?l[c]:b[c])}c=arguments.length-2;if(1===c)d.children=e;else if(1<c){l=Array(c);for(var m=0;m<c;m++)l[m]=arguments[m+2];d.children=l}return{$$typeof:t,type:a.type,key:g,ref:h,props:d,_owner:f}},createFactory:function(a){var b=M.bind(null,a);b.type=a;return b},isValidElement:N,version:"16.4.1",__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{ReactCurrentOwner:J,
4607
- assign:k}},Y={default:X},Z=Y&&X||Y;module.exports=Z.default?Z.default:Z;
 
 
4608
 
4609
 
4610
  /***/ }),
4611
- /* 124 */
4612
  /***/ (function(module, exports, __webpack_require__) {
4613
 
4614
  "use strict";
@@ -4641,526 +13562,325 @@ function checkDCE() {
4641
  console.error(err);
4642
  }
4643
  }
4644
-
4645
- if (true) {
4646
- // DCE check should happen before ReactDOM bundle executes so that
4647
- // DevTools can report bad minification during injection.
4648
- checkDCE();
4649
- module.exports = __webpack_require__(125);
4650
- } else {
4651
- module.exports = require('./cjs/react-dom.development.js');
4652
- }
4653
-
4654
-
4655
- /***/ }),
4656
- /* 125 */
4657
- /***/ (function(module, exports, __webpack_require__) {
4658
-
4659
- "use strict";
4660
- /** @license React v16.4.1
4661
- * react-dom.production.min.js
4662
- *
4663
- * Copyright (c) 2013-present, Facebook, Inc.
4664
- *
4665
- * This source code is licensed under the MIT license found in the
4666
- * LICENSE file in the root directory of this source tree.
4667
- */
4668
-
4669
- /*
4670
- Modernizr 3.0.0pre (Custom Build) | MIT
4671
- */
4672
- var aa=__webpack_require__(59),ba=__webpack_require__(0),m=__webpack_require__(126),p=__webpack_require__(58),v=__webpack_require__(61),da=__webpack_require__(127),ea=__webpack_require__(128),fa=__webpack_require__(129),ha=__webpack_require__(60);
4673
- function A(a){for(var b=arguments.length-1,c="https://reactjs.org/docs/error-decoder.html?invariant="+a,d=0;d<b;d++)c+="&args[]="+encodeURIComponent(arguments[d+1]);aa(!1,"Minified React error #"+a+"; visit %s for the full message or use the non-minified dev environment for full errors and additional helpful warnings. ",c)}ba?void 0:A("227");
4674
- function ia(a,b,c,d,e,f,g,h,k){this._hasCaughtError=!1;this._caughtError=null;var n=Array.prototype.slice.call(arguments,3);try{b.apply(c,n)}catch(r){this._caughtError=r,this._hasCaughtError=!0}}
4675
- var B={_caughtError:null,_hasCaughtError:!1,_rethrowError:null,_hasRethrowError:!1,invokeGuardedCallback:function(a,b,c,d,e,f,g,h,k){ia.apply(B,arguments)},invokeGuardedCallbackAndCatchFirstError:function(a,b,c,d,e,f,g,h,k){B.invokeGuardedCallback.apply(this,arguments);if(B.hasCaughtError()){var n=B.clearCaughtError();B._hasRethrowError||(B._hasRethrowError=!0,B._rethrowError=n)}},rethrowCaughtError:function(){return ka.apply(B,arguments)},hasCaughtError:function(){return B._hasCaughtError},clearCaughtError:function(){if(B._hasCaughtError){var a=
4676
- B._caughtError;B._caughtError=null;B._hasCaughtError=!1;return a}A("198")}};function ka(){if(B._hasRethrowError){var a=B._rethrowError;B._rethrowError=null;B._hasRethrowError=!1;throw a;}}var la=null,ma={};
4677
- function na(){if(la)for(var a in ma){var b=ma[a],c=la.indexOf(a);-1<c?void 0:A("96",a);if(!oa[c]){b.extractEvents?void 0:A("97",a);oa[c]=b;c=b.eventTypes;for(var d in c){var e=void 0;var f=c[d],g=b,h=d;pa.hasOwnProperty(h)?A("99",h):void 0;pa[h]=f;var k=f.phasedRegistrationNames;if(k){for(e in k)k.hasOwnProperty(e)&&qa(k[e],g,h);e=!0}else f.registrationName?(qa(f.registrationName,g,h),e=!0):e=!1;e?void 0:A("98",d,a)}}}}
4678
- function qa(a,b,c){ra[a]?A("100",a):void 0;ra[a]=b;sa[a]=b.eventTypes[c].dependencies}var oa=[],pa={},ra={},sa={};function ta(a){la?A("101"):void 0;la=Array.prototype.slice.call(a);na()}function ua(a){var b=!1,c;for(c in a)if(a.hasOwnProperty(c)){var d=a[c];ma.hasOwnProperty(c)&&ma[c]===d||(ma[c]?A("102",c):void 0,ma[c]=d,b=!0)}b&&na()}
4679
- var va={plugins:oa,eventNameDispatchConfigs:pa,registrationNameModules:ra,registrationNameDependencies:sa,possibleRegistrationNames:null,injectEventPluginOrder:ta,injectEventPluginsByName:ua},wa=null,xa=null,ya=null;function za(a,b,c,d){b=a.type||"unknown-event";a.currentTarget=ya(d);B.invokeGuardedCallbackAndCatchFirstError(b,c,void 0,a);a.currentTarget=null}
4680
- function Aa(a,b){null==b?A("30"):void 0;if(null==a)return b;if(Array.isArray(a)){if(Array.isArray(b))return a.push.apply(a,b),a;a.push(b);return a}return Array.isArray(b)?[a].concat(b):[a,b]}function Ba(a,b,c){Array.isArray(a)?a.forEach(b,c):a&&b.call(c,a)}var Ca=null;
4681
- function Da(a,b){if(a){var c=a._dispatchListeners,d=a._dispatchInstances;if(Array.isArray(c))for(var e=0;e<c.length&&!a.isPropagationStopped();e++)za(a,b,c[e],d[e]);else c&&za(a,b,c,d);a._dispatchListeners=null;a._dispatchInstances=null;a.isPersistent()||a.constructor.release(a)}}function Ea(a){return Da(a,!0)}function Fa(a){return Da(a,!1)}var Ga={injectEventPluginOrder:ta,injectEventPluginsByName:ua};
4682
- function Ha(a,b){var c=a.stateNode;if(!c)return null;var d=wa(c);if(!d)return null;c=d[b];a:switch(b){case "onClick":case "onClickCapture":case "onDoubleClick":case "onDoubleClickCapture":case "onMouseDown":case "onMouseDownCapture":case "onMouseMove":case "onMouseMoveCapture":case "onMouseUp":case "onMouseUpCapture":(d=!d.disabled)||(a=a.type,d=!("button"===a||"input"===a||"select"===a||"textarea"===a));a=!d;break a;default:a=!1}if(a)return null;c&&"function"!==typeof c?A("231",b,typeof c):void 0;
4683
- return c}function Ia(a,b){null!==a&&(Ca=Aa(Ca,a));a=Ca;Ca=null;a&&(b?Ba(a,Ea):Ba(a,Fa),Ca?A("95"):void 0,B.rethrowCaughtError())}function Ja(a,b,c,d){for(var e=null,f=0;f<oa.length;f++){var g=oa[f];g&&(g=g.extractEvents(a,b,c,d))&&(e=Aa(e,g))}Ia(e,!1)}var Ka={injection:Ga,getListener:Ha,runEventsInBatch:Ia,runExtractedEventsInBatch:Ja},La=Math.random().toString(36).slice(2),C="__reactInternalInstance$"+La,Ma="__reactEventHandlers$"+La;
4684
- function Na(a){if(a[C])return a[C];for(;!a[C];)if(a.parentNode)a=a.parentNode;else return null;a=a[C];return 5===a.tag||6===a.tag?a:null}function Oa(a){if(5===a.tag||6===a.tag)return a.stateNode;A("33")}function Pa(a){return a[Ma]||null}var Qa={precacheFiberNode:function(a,b){b[C]=a},getClosestInstanceFromNode:Na,getInstanceFromNode:function(a){a=a[C];return!a||5!==a.tag&&6!==a.tag?null:a},getNodeFromInstance:Oa,getFiberCurrentPropsFromNode:Pa,updateFiberProps:function(a,b){a[Ma]=b}};
4685
- function F(a){do a=a.return;while(a&&5!==a.tag);return a?a:null}function Ra(a,b,c){for(var d=[];a;)d.push(a),a=F(a);for(a=d.length;0<a--;)b(d[a],"captured",c);for(a=0;a<d.length;a++)b(d[a],"bubbled",c)}function Sa(a,b,c){if(b=Ha(a,c.dispatchConfig.phasedRegistrationNames[b]))c._dispatchListeners=Aa(c._dispatchListeners,b),c._dispatchInstances=Aa(c._dispatchInstances,a)}function Ta(a){a&&a.dispatchConfig.phasedRegistrationNames&&Ra(a._targetInst,Sa,a)}
4686
- function Ua(a){if(a&&a.dispatchConfig.phasedRegistrationNames){var b=a._targetInst;b=b?F(b):null;Ra(b,Sa,a)}}function Va(a,b,c){a&&c&&c.dispatchConfig.registrationName&&(b=Ha(a,c.dispatchConfig.registrationName))&&(c._dispatchListeners=Aa(c._dispatchListeners,b),c._dispatchInstances=Aa(c._dispatchInstances,a))}function Xa(a){a&&a.dispatchConfig.registrationName&&Va(a._targetInst,null,a)}function Ya(a){Ba(a,Ta)}
4687
- function Za(a,b,c,d){if(c&&d)a:{var e=c;for(var f=d,g=0,h=e;h;h=F(h))g++;h=0;for(var k=f;k;k=F(k))h++;for(;0<g-h;)e=F(e),g--;for(;0<h-g;)f=F(f),h--;for(;g--;){if(e===f||e===f.alternate)break a;e=F(e);f=F(f)}e=null}else e=null;f=e;for(e=[];c&&c!==f;){g=c.alternate;if(null!==g&&g===f)break;e.push(c);c=F(c)}for(c=[];d&&d!==f;){g=d.alternate;if(null!==g&&g===f)break;c.push(d);d=F(d)}for(d=0;d<e.length;d++)Va(e[d],"bubbled",a);for(a=c.length;0<a--;)Va(c[a],"captured",b)}
4688
- var $a={accumulateTwoPhaseDispatches:Ya,accumulateTwoPhaseDispatchesSkipTarget:function(a){Ba(a,Ua)},accumulateEnterLeaveDispatches:Za,accumulateDirectDispatches:function(a){Ba(a,Xa)}};function ab(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c["Webkit"+a]="webkit"+b;c["Moz"+a]="moz"+b;c["ms"+a]="MS"+b;c["O"+a]="o"+b.toLowerCase();return c}
4689
- var bb={animationend:ab("Animation","AnimationEnd"),animationiteration:ab("Animation","AnimationIteration"),animationstart:ab("Animation","AnimationStart"),transitionend:ab("Transition","TransitionEnd")},cb={},db={};m.canUseDOM&&(db=document.createElement("div").style,"AnimationEvent"in window||(delete bb.animationend.animation,delete bb.animationiteration.animation,delete bb.animationstart.animation),"TransitionEvent"in window||delete bb.transitionend.transition);
4690
- function eb(a){if(cb[a])return cb[a];if(!bb[a])return a;var b=bb[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in db)return cb[a]=b[c];return a}var fb=eb("animationend"),gb=eb("animationiteration"),hb=eb("animationstart"),ib=eb("transitionend"),jb="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),kb=null;
4691
- function lb(){!kb&&m.canUseDOM&&(kb="textContent"in document.documentElement?"textContent":"innerText");return kb}var G={_root:null,_startText:null,_fallbackText:null};function mb(){if(G._fallbackText)return G._fallbackText;var a,b=G._startText,c=b.length,d,e=nb(),f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);G._fallbackText=e.slice(a,1<d?1-d:void 0);return G._fallbackText}function nb(){return"value"in G._root?G._root.value:G._root[lb()]}
4692
- var ob="dispatchConfig _targetInst nativeEvent isDefaultPrevented isPropagationStopped _dispatchListeners _dispatchInstances".split(" "),pb={type:null,target:null,currentTarget:v.thatReturnsNull,eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null};
4693
- function H(a,b,c,d){this.dispatchConfig=a;this._targetInst=b;this.nativeEvent=c;a=this.constructor.Interface;for(var e in a)a.hasOwnProperty(e)&&((b=a[e])?this[e]=b(c):"target"===e?this.target=d:this[e]=c[e]);this.isDefaultPrevented=(null!=c.defaultPrevented?c.defaultPrevented:!1===c.returnValue)?v.thatReturnsTrue:v.thatReturnsFalse;this.isPropagationStopped=v.thatReturnsFalse;return this}
4694
- p(H.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():"unknown"!==typeof a.returnValue&&(a.returnValue=!1),this.isDefaultPrevented=v.thatReturnsTrue)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():"unknown"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=v.thatReturnsTrue)},persist:function(){this.isPersistent=v.thatReturnsTrue},isPersistent:v.thatReturnsFalse,
4695
- destructor:function(){var a=this.constructor.Interface,b;for(b in a)this[b]=null;for(a=0;a<ob.length;a++)this[ob[a]]=null}});H.Interface=pb;H.extend=function(a){function b(){}function c(){return d.apply(this,arguments)}var d=this;b.prototype=d.prototype;var e=new b;p(e,c.prototype);c.prototype=e;c.prototype.constructor=c;c.Interface=p({},d.Interface,a);c.extend=d.extend;qb(c);return c};qb(H);
4696
- function rb(a,b,c,d){if(this.eventPool.length){var e=this.eventPool.pop();this.call(e,a,b,c,d);return e}return new this(a,b,c,d)}function sb(a){a instanceof this?void 0:A("223");a.destructor();10>this.eventPool.length&&this.eventPool.push(a)}function qb(a){a.eventPool=[];a.getPooled=rb;a.release=sb}var tb=H.extend({data:null}),ub=H.extend({data:null}),vb=[9,13,27,32],wb=m.canUseDOM&&"CompositionEvent"in window,xb=null;m.canUseDOM&&"documentMode"in document&&(xb=document.documentMode);
4697
- var yb=m.canUseDOM&&"TextEvent"in window&&!xb,zb=m.canUseDOM&&(!wb||xb&&8<xb&&11>=xb),Ab=String.fromCharCode(32),Bb={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["compositionend","keypress","textInput","paste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:"blur compositionend keydown keypress keyup mousedown".split(" ")},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",
4698
- captured:"onCompositionStartCapture"},dependencies:"blur compositionstart keydown keypress keyup mousedown".split(" ")},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:"blur compositionupdate keydown keypress keyup mousedown".split(" ")}},Cb=!1;
4699
- function Db(a,b){switch(a){case "keyup":return-1!==vb.indexOf(b.keyCode);case "keydown":return 229!==b.keyCode;case "keypress":case "mousedown":case "blur":return!0;default:return!1}}function Eb(a){a=a.detail;return"object"===typeof a&&"data"in a?a.data:null}var Fb=!1;function Gb(a,b){switch(a){case "compositionend":return Eb(b);case "keypress":if(32!==b.which)return null;Cb=!0;return Ab;case "textInput":return a=b.data,a===Ab&&Cb?null:a;default:return null}}
4700
- function Hb(a,b){if(Fb)return"compositionend"===a||!wb&&Db(a,b)?(a=mb(),G._root=null,G._startText=null,G._fallbackText=null,Fb=!1,a):null;switch(a){case "paste":return null;case "keypress":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case "compositionend":return zb?null:b.data;default:return null}}
4701
- var Ib={eventTypes:Bb,extractEvents:function(a,b,c,d){var e=void 0;var f=void 0;if(wb)b:{switch(a){case "compositionstart":e=Bb.compositionStart;break b;case "compositionend":e=Bb.compositionEnd;break b;case "compositionupdate":e=Bb.compositionUpdate;break b}e=void 0}else Fb?Db(a,c)&&(e=Bb.compositionEnd):"keydown"===a&&229===c.keyCode&&(e=Bb.compositionStart);e?(zb&&(Fb||e!==Bb.compositionStart?e===Bb.compositionEnd&&Fb&&(f=mb()):(G._root=d,G._startText=nb(),Fb=!0)),e=tb.getPooled(e,b,c,d),f?e.data=
4702
- f:(f=Eb(c),null!==f&&(e.data=f)),Ya(e),f=e):f=null;(a=yb?Gb(a,c):Hb(a,c))?(b=ub.getPooled(Bb.beforeInput,b,c,d),b.data=a,Ya(b)):b=null;return null===f?b:null===b?f:[f,b]}},Jb=null,Kb={injectFiberControlledHostComponent:function(a){Jb=a}},Lb=null,Mb=null;function Nb(a){if(a=xa(a)){Jb&&"function"===typeof Jb.restoreControlledState?void 0:A("194");var b=wa(a.stateNode);Jb.restoreControlledState(a.stateNode,a.type,b)}}function Ob(a){Lb?Mb?Mb.push(a):Mb=[a]:Lb=a}
4703
- function Pb(){return null!==Lb||null!==Mb}function Qb(){if(Lb){var a=Lb,b=Mb;Mb=Lb=null;Nb(a);if(b)for(a=0;a<b.length;a++)Nb(b[a])}}var Rb={injection:Kb,enqueueStateRestore:Ob,needsStateRestore:Pb,restoreStateIfNeeded:Qb};function Sb(a,b){return a(b)}function Tb(a,b,c){return a(b,c)}function Ub(){}var Vb=!1;function Wb(a,b){if(Vb)return a(b);Vb=!0;try{return Sb(a,b)}finally{Vb=!1,Pb()&&(Ub(),Qb())}}
4704
- var Xb={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Yb(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return"input"===b?!!Xb[a.type]:"textarea"===b?!0:!1}function Zb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}
4705
- function $b(a,b){if(!m.canUseDOM||b&&!("addEventListener"in document))return!1;a="on"+a;b=a in document;b||(b=document.createElement("div"),b.setAttribute(a,"return;"),b="function"===typeof b[a]);return b}function ac(a){var b=a.type;return(a=a.nodeName)&&"input"===a.toLowerCase()&&("checkbox"===b||"radio"===b)}
4706
- function bc(a){var b=ac(a)?"checked":"value",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=""+a[b];if(!a.hasOwnProperty(b)&&"undefined"!==typeof c&&"function"===typeof c.get&&"function"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=""+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=""+a},stopTracking:function(){a._valueTracker=
4707
- null;delete a[b]}}}}function cc(a){a._valueTracker||(a._valueTracker=bc(a))}function dc(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d="";a&&(d=ac(a)?a.checked?"true":"false":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}
4708
- var ec=ba.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,fc="function"===typeof Symbol&&Symbol.for,gc=fc?Symbol.for("react.element"):60103,hc=fc?Symbol.for("react.portal"):60106,ic=fc?Symbol.for("react.fragment"):60107,jc=fc?Symbol.for("react.strict_mode"):60108,kc=fc?Symbol.for("react.profiler"):60114,lc=fc?Symbol.for("react.provider"):60109,mc=fc?Symbol.for("react.context"):60110,pc=fc?Symbol.for("react.async_mode"):60111,qc=fc?Symbol.for("react.forward_ref"):60112,rc=fc?Symbol.for("react.timeout"):
4709
- 60113,sc="function"===typeof Symbol&&Symbol.iterator;function tc(a){if(null===a||"undefined"===typeof a)return null;a=sc&&a[sc]||a["@@iterator"];return"function"===typeof a?a:null}
4710
- function uc(a){var b=a.type;if("function"===typeof b)return b.displayName||b.name;if("string"===typeof b)return b;switch(b){case pc:return"AsyncMode";case mc:return"Context.Consumer";case ic:return"ReactFragment";case hc:return"ReactPortal";case kc:return"Profiler("+a.pendingProps.id+")";case lc:return"Context.Provider";case jc:return"StrictMode";case rc:return"Timeout"}if("object"===typeof b&&null!==b)switch(b.$$typeof){case qc:return a=b.render.displayName||b.render.name||"",""!==a?"ForwardRef("+
4711
- a+")":"ForwardRef"}return null}function vc(a){var b="";do{a:switch(a.tag){case 0:case 1:case 2:case 5:var c=a._debugOwner,d=a._debugSource;var e=uc(a);var f=null;c&&(f=uc(c));c=d;e="\n in "+(e||"Unknown")+(c?" (at "+c.fileName.replace(/^.*[\\\/]/,"")+":"+c.lineNumber+")":f?" (created by "+f+")":"");break a;default:e=""}b+=e;a=a.return}while(a);return b}
4712
- var wc=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,xc={},zc={};function Ac(a){if(zc.hasOwnProperty(a))return!0;if(xc.hasOwnProperty(a))return!1;if(wc.test(a))return zc[a]=!0;xc[a]=!0;return!1}
4713
- function Bc(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case "function":case "symbol":return!0;case "boolean":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return"data-"!==a&&"aria-"!==a;default:return!1}}function Cc(a,b,c,d){if(null===b||"undefined"===typeof b||Bc(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}
4714
- function I(a,b,c,d,e){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b}var J={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(a){J[a]=new I(a,0,!1,a,null)});
4715
- [["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(a){var b=a[0];J[b]=new I(b,1,!1,a[1],null)});["contentEditable","draggable","spellCheck","value"].forEach(function(a){J[a]=new I(a,2,!1,a.toLowerCase(),null)});["autoReverse","externalResourcesRequired","preserveAlpha"].forEach(function(a){J[a]=new I(a,2,!1,a,null)});
4716
- "allowFullScreen async autoFocus autoPlay controls default defer disabled formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(a){J[a]=new I(a,3,!1,a.toLowerCase(),null)});["checked","multiple","muted","selected"].forEach(function(a){J[a]=new I(a,3,!0,a.toLowerCase(),null)});["capture","download"].forEach(function(a){J[a]=new I(a,4,!1,a.toLowerCase(),null)});
4717
- ["cols","rows","size","span"].forEach(function(a){J[a]=new I(a,6,!1,a.toLowerCase(),null)});["rowSpan","start"].forEach(function(a){J[a]=new I(a,5,!1,a.toLowerCase(),null)});var Dc=/[\-:]([a-z])/g;function Ec(a){return a[1].toUpperCase()}
4718
- "accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(a){var b=a.replace(Dc,
4719
- Ec);J[b]=new I(b,1,!1,a,null)});"xlink:actuate xlink:arcrole xlink:href xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(a){var b=a.replace(Dc,Ec);J[b]=new I(b,1,!1,a,"http://www.w3.org/1999/xlink")});["xml:base","xml:lang","xml:space"].forEach(function(a){var b=a.replace(Dc,Ec);J[b]=new I(b,1,!1,a,"http://www.w3.org/XML/1998/namespace")});J.tabIndex=new I("tabIndex",1,!1,"tabindex",null);
4720
- function Fc(a,b,c,d){var e=J.hasOwnProperty(b)?J[b]:null;var f=null!==e?0===e.type:d?!1:!(2<b.length)||"o"!==b[0]&&"O"!==b[0]||"n"!==b[1]&&"N"!==b[1]?!1:!0;f||(Cc(b,c,e,d)&&(c=null),d||null===e?Ac(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,""+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:"":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?"":""+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c))))}
4721
- function Gc(a,b){var c=b.checked;return p({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Hc(a,b){var c=null==b.defaultValue?"":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Ic(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:"checkbox"===b.type||"radio"===b.type?null!=b.checked:null!=b.value}}function Jc(a,b){b=b.checked;null!=b&&Fc(a,"checked",b,!1)}
4722
- function Kc(a,b){Jc(a,b);var c=Ic(b.value);if(null!=c)if("number"===b.type){if(0===c&&""===a.value||a.value!=c)a.value=""+c}else a.value!==""+c&&(a.value=""+c);b.hasOwnProperty("value")?Lc(a,b.type,c):b.hasOwnProperty("defaultValue")&&Lc(a,b.type,Ic(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}
4723
- function Mc(a,b,c){if(b.hasOwnProperty("value")||b.hasOwnProperty("defaultValue")){b=""+a._wrapperState.initialValue;var d=a.value;c||b===d||(a.value=b);a.defaultValue=b}c=a.name;""!==c&&(a.name="");a.defaultChecked=!a.defaultChecked;a.defaultChecked=!a.defaultChecked;""!==c&&(a.name=c)}function Lc(a,b,c){if("number"!==b||a.ownerDocument.activeElement!==a)null==c?a.defaultValue=""+a._wrapperState.initialValue:a.defaultValue!==""+c&&(a.defaultValue=""+c)}
4724
- function Ic(a){switch(typeof a){case "boolean":case "number":case "object":case "string":case "undefined":return a;default:return""}}var Nc={change:{phasedRegistrationNames:{bubbled:"onChange",captured:"onChangeCapture"},dependencies:"blur change click focus input keydown keyup selectionchange".split(" ")}};function Oc(a,b,c){a=H.getPooled(Nc.change,a,b,c);a.type="change";Ob(c);Ya(a);return a}var Pc=null,Qc=null;function Rc(a){Ia(a,!1)}function Sc(a){var b=Oa(a);if(dc(b))return a}
4725
- function Tc(a,b){if("change"===a)return b}var Uc=!1;m.canUseDOM&&(Uc=$b("input")&&(!document.documentMode||9<document.documentMode));function Vc(){Pc&&(Pc.detachEvent("onpropertychange",Wc),Qc=Pc=null)}function Wc(a){"value"===a.propertyName&&Sc(Qc)&&(a=Oc(Qc,a,Zb(a)),Wb(Rc,a))}function Xc(a,b,c){"focus"===a?(Vc(),Pc=b,Qc=c,Pc.attachEvent("onpropertychange",Wc)):"blur"===a&&Vc()}function Yc(a){if("selectionchange"===a||"keyup"===a||"keydown"===a)return Sc(Qc)}
4726
- function Zc(a,b){if("click"===a)return Sc(b)}function $c(a,b){if("input"===a||"change"===a)return Sc(b)}
4727
- var ad={eventTypes:Nc,_isInputEventSupported:Uc,extractEvents:function(a,b,c,d){var e=b?Oa(b):window,f=void 0,g=void 0,h=e.nodeName&&e.nodeName.toLowerCase();"select"===h||"input"===h&&"file"===e.type?f=Tc:Yb(e)?Uc?f=$c:(f=Yc,g=Xc):(h=e.nodeName)&&"input"===h.toLowerCase()&&("checkbox"===e.type||"radio"===e.type)&&(f=Zc);if(f&&(f=f(a,b)))return Oc(f,c,d);g&&g(a,e,b);"blur"===a&&(a=e._wrapperState)&&a.controlled&&"number"===e.type&&Lc(e,"number",e.value)}},bd=H.extend({view:null,detail:null}),cd={Alt:"altKey",
4728
- Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function dd(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=cd[a])?!!b[a]:!1}function ed(){return dd}
4729
- var fd=bd.extend({screenX:null,screenY:null,clientX:null,clientY:null,pageX:null,pageY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:ed,button:null,buttons:null,relatedTarget:function(a){return a.relatedTarget||(a.fromElement===a.srcElement?a.toElement:a.fromElement)}}),gd=fd.extend({pointerId:null,width:null,height:null,pressure:null,tiltX:null,tiltY:null,pointerType:null,isPrimary:null}),hd={mouseEnter:{registrationName:"onMouseEnter",dependencies:["mouseout","mouseover"]},
4730
- mouseLeave:{registrationName:"onMouseLeave",dependencies:["mouseout","mouseover"]},pointerEnter:{registrationName:"onPointerEnter",dependencies:["pointerout","pointerover"]},pointerLeave:{registrationName:"onPointerLeave",dependencies:["pointerout","pointerover"]}},id={eventTypes:hd,extractEvents:function(a,b,c,d){var e="mouseover"===a||"pointerover"===a,f="mouseout"===a||"pointerout"===a;if(e&&(c.relatedTarget||c.fromElement)||!f&&!e)return null;e=d.window===d?d:(e=d.ownerDocument)?e.defaultView||
4731
- e.parentWindow:window;f?(f=b,b=(b=c.relatedTarget||c.toElement)?Na(b):null):f=null;if(f===b)return null;var g=void 0,h=void 0,k=void 0,n=void 0;if("mouseout"===a||"mouseover"===a)g=fd,h=hd.mouseLeave,k=hd.mouseEnter,n="mouse";else if("pointerout"===a||"pointerover"===a)g=gd,h=hd.pointerLeave,k=hd.pointerEnter,n="pointer";a=null==f?e:Oa(f);e=null==b?e:Oa(b);h=g.getPooled(h,f,c,d);h.type=n+"leave";h.target=a;h.relatedTarget=e;c=g.getPooled(k,b,c,d);c.type=n+"enter";c.target=e;c.relatedTarget=a;Za(h,
4732
- c,f,b);return[h,c]}};function jd(a){var b=a;if(a.alternate)for(;b.return;)b=b.return;else{if(0!==(b.effectTag&2))return 1;for(;b.return;)if(b=b.return,0!==(b.effectTag&2))return 1}return 3===b.tag?2:3}function kd(a){2!==jd(a)?A("188"):void 0}
4733
- function ld(a){var b=a.alternate;if(!b)return b=jd(a),3===b?A("188"):void 0,1===b?null:a;for(var c=a,d=b;;){var e=c.return,f=e?e.alternate:null;if(!e||!f)break;if(e.child===f.child){for(var g=e.child;g;){if(g===c)return kd(e),a;if(g===d)return kd(e),b;g=g.sibling}A("188")}if(c.return!==d.return)c=e,d=f;else{g=!1;for(var h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===c){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}g?
4734
- void 0:A("189")}}c.alternate!==d?A("190"):void 0}3!==c.tag?A("188"):void 0;return c.stateNode.current===c?a:b}function md(a){a=ld(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}}return null}
4735
- function nd(a){a=ld(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child&&4!==b.tag)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}}return null}var od=H.extend({animationName:null,elapsedTime:null,pseudoElement:null}),pd=H.extend({clipboardData:function(a){return"clipboardData"in a?a.clipboardData:window.clipboardData}}),qd=bd.extend({relatedTarget:null});
4736
- function rd(a){var b=a.keyCode;"charCode"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}
4737
- var sd={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},td={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",
4738
- 116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},ud=bd.extend({key:function(a){if(a.key){var b=sd[a.key]||a.key;if("Unidentified"!==b)return b}return"keypress"===a.type?(a=rd(a),13===a?"Enter":String.fromCharCode(a)):"keydown"===a.type||"keyup"===a.type?td[a.keyCode]||"Unidentified":""},location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:ed,charCode:function(a){return"keypress"===
4739
- a.type?rd(a):0},keyCode:function(a){return"keydown"===a.type||"keyup"===a.type?a.keyCode:0},which:function(a){return"keypress"===a.type?rd(a):"keydown"===a.type||"keyup"===a.type?a.keyCode:0}}),vd=fd.extend({dataTransfer:null}),wd=bd.extend({touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:ed}),xd=H.extend({propertyName:null,elapsedTime:null,pseudoElement:null}),yd=fd.extend({deltaX:function(a){return"deltaX"in a?a.deltaX:"wheelDeltaX"in
4740
- a?-a.wheelDeltaX:0},deltaY:function(a){return"deltaY"in a?a.deltaY:"wheelDeltaY"in a?-a.wheelDeltaY:"wheelDelta"in a?-a.wheelDelta:0},deltaZ:null,deltaMode:null}),zd=[["abort","abort"],[fb,"animationEnd"],[gb,"animationIteration"],[hb,"animationStart"],["canplay","canPlay"],["canplaythrough","canPlayThrough"],["drag","drag"],["dragenter","dragEnter"],["dragexit","dragExit"],["dragleave","dragLeave"],["dragover","dragOver"],["durationchange","durationChange"],["emptied","emptied"],["encrypted","encrypted"],
4741
- ["ended","ended"],["error","error"],["gotpointercapture","gotPointerCapture"],["load","load"],["loadeddata","loadedData"],["loadedmetadata","loadedMetadata"],["loadstart","loadStart"],["lostpointercapture","lostPointerCapture"],["mousemove","mouseMove"],["mouseout","mouseOut"],["mouseover","mouseOver"],["playing","playing"],["pointermove","pointerMove"],["pointerout","pointerOut"],["pointerover","pointerOver"],["progress","progress"],["scroll","scroll"],["seeking","seeking"],["stalled","stalled"],
4742
- ["suspend","suspend"],["timeupdate","timeUpdate"],["toggle","toggle"],["touchmove","touchMove"],[ib,"transitionEnd"],["waiting","waiting"],["wheel","wheel"]],Ad={},Bd={};function Cd(a,b){var c=a[0];a=a[1];var d="on"+(a[0].toUpperCase()+a.slice(1));b={phasedRegistrationNames:{bubbled:d,captured:d+"Capture"},dependencies:[c],isInteractive:b};Ad[a]=b;Bd[c]=b}
4743
- [["blur","blur"],["cancel","cancel"],["click","click"],["close","close"],["contextmenu","contextMenu"],["copy","copy"],["cut","cut"],["dblclick","doubleClick"],["dragend","dragEnd"],["dragstart","dragStart"],["drop","drop"],["focus","focus"],["input","input"],["invalid","invalid"],["keydown","keyDown"],["keypress","keyPress"],["keyup","keyUp"],["mousedown","mouseDown"],["mouseup","mouseUp"],["paste","paste"],["pause","pause"],["play","play"],["pointercancel","pointerCancel"],["pointerdown","pointerDown"],
4744
- ["pointerup","pointerUp"],["ratechange","rateChange"],["reset","reset"],["seeked","seeked"],["submit","submit"],["touchcancel","touchCancel"],["touchend","touchEnd"],["touchstart","touchStart"],["volumechange","volumeChange"]].forEach(function(a){Cd(a,!0)});zd.forEach(function(a){Cd(a,!1)});
4745
- var Dd={eventTypes:Ad,isInteractiveTopLevelEventType:function(a){a=Bd[a];return void 0!==a&&!0===a.isInteractive},extractEvents:function(a,b,c,d){var e=Bd[a];if(!e)return null;switch(a){case "keypress":if(0===rd(c))return null;case "keydown":case "keyup":a=ud;break;case "blur":case "focus":a=qd;break;case "click":if(2===c.button)return null;case "dblclick":case "mousedown":case "mousemove":case "mouseup":case "mouseout":case "mouseover":case "contextmenu":a=fd;break;case "drag":case "dragend":case "dragenter":case "dragexit":case "dragleave":case "dragover":case "dragstart":case "drop":a=
4746
- vd;break;case "touchcancel":case "touchend":case "touchmove":case "touchstart":a=wd;break;case fb:case gb:case hb:a=od;break;case ib:a=xd;break;case "scroll":a=bd;break;case "wheel":a=yd;break;case "copy":case "cut":case "paste":a=pd;break;case "gotpointercapture":case "lostpointercapture":case "pointercancel":case "pointerdown":case "pointermove":case "pointerout":case "pointerover":case "pointerup":a=gd;break;default:a=H}b=a.getPooled(e,b,c,d);Ya(b);return b}},Ed=Dd.isInteractiveTopLevelEventType,
4747
- Fd=[];function Gd(a){var b=a.targetInst;do{if(!b){a.ancestors.push(b);break}var c;for(c=b;c.return;)c=c.return;c=3!==c.tag?null:c.stateNode.containerInfo;if(!c)break;a.ancestors.push(b);b=Na(c)}while(b);for(c=0;c<a.ancestors.length;c++)b=a.ancestors[c],Ja(a.topLevelType,b,a.nativeEvent,Zb(a.nativeEvent))}var Hd=!0;function Id(a){Hd=!!a}function K(a,b){if(!b)return null;var c=(Ed(a)?Kd:Ld).bind(null,a);b.addEventListener(a,c,!1)}
4748
- function Md(a,b){if(!b)return null;var c=(Ed(a)?Kd:Ld).bind(null,a);b.addEventListener(a,c,!0)}function Kd(a,b){Tb(Ld,a,b)}function Ld(a,b){if(Hd){var c=Zb(b);c=Na(c);null===c||"number"!==typeof c.tag||2===jd(c)||(c=null);if(Fd.length){var d=Fd.pop();d.topLevelType=a;d.nativeEvent=b;d.targetInst=c;a=d}else a={topLevelType:a,nativeEvent:b,targetInst:c,ancestors:[]};try{Wb(Gd,a)}finally{a.topLevelType=null,a.nativeEvent=null,a.targetInst=null,a.ancestors.length=0,10>Fd.length&&Fd.push(a)}}}
4749
- var Nd={get _enabled(){return Hd},setEnabled:Id,isEnabled:function(){return Hd},trapBubbledEvent:K,trapCapturedEvent:Md,dispatchEvent:Ld},Od={},Pd=0,Qd="_reactListenersID"+(""+Math.random()).slice(2);function Rd(a){Object.prototype.hasOwnProperty.call(a,Qd)||(a[Qd]=Pd++,Od[a[Qd]]={});return Od[a[Qd]]}function Sd(a){for(;a&&a.firstChild;)a=a.firstChild;return a}
4750
- function Td(a,b){var c=Sd(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Sd(c)}}function Ud(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&("input"===b&&("text"===a.type||"search"===a.type||"tel"===a.type||"url"===a.type||"password"===a.type)||"textarea"===b||"true"===a.contentEditable)}
4751
- var Vd=m.canUseDOM&&"documentMode"in document&&11>=document.documentMode,Wd={select:{phasedRegistrationNames:{bubbled:"onSelect",captured:"onSelectCapture"},dependencies:"blur contextmenu focus keydown keyup mousedown mouseup selectionchange".split(" ")}},Xd=null,Yd=null,Zd=null,$d=!1;
4752
- function ae(a,b){if($d||null==Xd||Xd!==da())return null;var c=Xd;"selectionStart"in c&&Ud(c)?c={start:c.selectionStart,end:c.selectionEnd}:window.getSelection?(c=window.getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset}):c=void 0;return Zd&&ea(Zd,c)?null:(Zd=c,a=H.getPooled(Wd.select,Yd,a,b),a.type="select",a.target=Xd,Ya(a),a)}
4753
- var be={eventTypes:Wd,extractEvents:function(a,b,c,d){var e=d.window===d?d.document:9===d.nodeType?d:d.ownerDocument,f;if(!(f=!e)){a:{e=Rd(e);f=sa.onSelect;for(var g=0;g<f.length;g++){var h=f[g];if(!e.hasOwnProperty(h)||!e[h]){e=!1;break a}}e=!0}f=!e}if(f)return null;e=b?Oa(b):window;switch(a){case "focus":if(Yb(e)||"true"===e.contentEditable)Xd=e,Yd=b,Zd=null;break;case "blur":Zd=Yd=Xd=null;break;case "mousedown":$d=!0;break;case "contextmenu":case "mouseup":return $d=!1,ae(c,d);case "selectionchange":if(Vd)break;
4754
- case "keydown":case "keyup":return ae(c,d)}return null}};Ga.injectEventPluginOrder("ResponderEventPlugin SimpleEventPlugin TapEventPlugin EnterLeaveEventPlugin ChangeEventPlugin SelectEventPlugin BeforeInputEventPlugin".split(" "));wa=Qa.getFiberCurrentPropsFromNode;xa=Qa.getInstanceFromNode;ya=Qa.getNodeFromInstance;Ga.injectEventPluginsByName({SimpleEventPlugin:Dd,EnterLeaveEventPlugin:id,ChangeEventPlugin:ad,SelectEventPlugin:be,BeforeInputEventPlugin:Ib});
4755
- var ce="function"===typeof requestAnimationFrame?requestAnimationFrame:void 0,de=Date,ee=setTimeout,fe=clearTimeout,ge=void 0;if("object"===typeof performance&&"function"===typeof performance.now){var he=performance;ge=function(){return he.now()}}else ge=function(){return de.now()};var ie=void 0,je=void 0;
4756
- if(m.canUseDOM){var ke="function"===typeof ce?ce:function(){A("276")},L=null,le=null,me=-1,ne=!1,oe=!1,pe=0,qe=33,re=33,se={didTimeout:!1,timeRemaining:function(){var a=pe-ge();return 0<a?a:0}},ue=function(a,b){var c=a.scheduledCallback,d=!1;try{c(b),d=!0}finally{je(a),d||(ne=!0,window.postMessage(te,"*"))}},te="__reactIdleCallback$"+Math.random().toString(36).slice(2);window.addEventListener("message",function(a){if(a.source===window&&a.data===te&&(ne=!1,null!==L)){if(null!==L){var b=ge();if(!(-1===
4757
- me||me>b)){a=-1;for(var c=[],d=L;null!==d;){var e=d.timeoutTime;-1!==e&&e<=b?c.push(d):-1!==e&&(-1===a||e<a)&&(a=e);d=d.next}if(0<c.length)for(se.didTimeout=!0,b=0,d=c.length;b<d;b++)ue(c[b],se);me=a}}for(a=ge();0<pe-a&&null!==L;)a=L,se.didTimeout=!1,ue(a,se),a=ge();null===L||oe||(oe=!0,ke(ve))}},!1);var ve=function(a){oe=!1;var b=a-pe+re;b<re&&qe<re?(8>b&&(b=8),re=b<qe?qe:b):qe=b;pe=a+re;ne||(ne=!0,window.postMessage(te,"*"))};ie=function(a,b){var c=-1;null!=b&&"number"===typeof b.timeout&&(c=ge()+
4758
- b.timeout);if(-1===me||-1!==c&&c<me)me=c;a={scheduledCallback:a,timeoutTime:c,prev:null,next:null};null===L?L=a:(b=a.prev=le,null!==b&&(b.next=a));le=a;oe||(oe=!0,ke(ve));return a};je=function(a){if(null!==a.prev||L===a){var b=a.next,c=a.prev;a.next=null;a.prev=null;null!==b?null!==c?(c.next=b,b.prev=c):(b.prev=null,L=b):null!==c?(c.next=null,le=c):le=L=null}}}else{var we=new Map;ie=function(a){var b={scheduledCallback:a,timeoutTime:0,next:null,prev:null},c=ee(function(){a({timeRemaining:function(){return Infinity},
4759
- didTimeout:!1})});we.set(a,c);return b};je=function(a){var b=we.get(a.scheduledCallback);we.delete(a);fe(b)}}function xe(a){var b="";ba.Children.forEach(a,function(a){null==a||"string"!==typeof a&&"number"!==typeof a||(b+=a)});return b}function ye(a,b){a=p({children:void 0},b);if(b=xe(b.children))a.children=b;return a}
4760
- function ze(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b["$"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty("$"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=""+c;b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}
4761
- function Ae(a,b){var c=b.value;a._wrapperState={initialValue:null!=c?c:b.defaultValue,wasMultiple:!!b.multiple}}function Be(a,b){null!=b.dangerouslySetInnerHTML?A("91"):void 0;return p({},b,{value:void 0,defaultValue:void 0,children:""+a._wrapperState.initialValue})}function Ce(a,b){var c=b.value;null==c&&(c=b.defaultValue,b=b.children,null!=b&&(null!=c?A("92"):void 0,Array.isArray(b)&&(1>=b.length?void 0:A("93"),b=b[0]),c=""+b),null==c&&(c=""));a._wrapperState={initialValue:""+c}}
4762
- function De(a,b){var c=b.value;null!=c&&(c=""+c,c!==a.value&&(a.value=c),null==b.defaultValue&&(a.defaultValue=c));null!=b.defaultValue&&(a.defaultValue=b.defaultValue)}function Ee(a){var b=a.textContent;b===a._wrapperState.initialValue&&(a.value=b)}var Fe={html:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg"};
4763
- function Ge(a){switch(a){case "svg":return"http://www.w3.org/2000/svg";case "math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function He(a,b){return null==a||"http://www.w3.org/1999/xhtml"===a?Ge(b):"http://www.w3.org/2000/svg"===a&&"foreignObject"===b?"http://www.w3.org/1999/xhtml":a}
4764
- var Ie=void 0,Je=function(a){return"undefined"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==Fe.svg||"innerHTML"in a)a.innerHTML=b;else{Ie=Ie||document.createElement("div");Ie.innerHTML="<svg>"+b+"</svg>";for(b=Ie.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});
4765
- function Ke(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}
4766
- var Le={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,
4767
- stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Me=["Webkit","ms","Moz","O"];Object.keys(Le).forEach(function(a){Me.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);Le[b]=Le[a]})});
4768
- function Ne(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf("--");var e=c;var f=b[c];e=null==f||"boolean"===typeof f||""===f?"":d||"number"!==typeof f||0===f||Le.hasOwnProperty(e)&&Le[e]?(""+f).trim():f+"px";"float"===c&&(c="cssFloat");d?a.setProperty(c,e):a[c]=e}}var Oe=p({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});
4769
- function Pe(a,b,c){b&&(Oe[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML?A("137",a,c()):void 0),null!=b.dangerouslySetInnerHTML&&(null!=b.children?A("60"):void 0,"object"===typeof b.dangerouslySetInnerHTML&&"__html"in b.dangerouslySetInnerHTML?void 0:A("61")),null!=b.style&&"object"!==typeof b.style?A("62",c()):void 0)}
4770
- function Qe(a,b){if(-1===a.indexOf("-"))return"string"===typeof b.is;switch(a){case "annotation-xml":case "color-profile":case "font-face":case "font-face-src":case "font-face-uri":case "font-face-format":case "font-face-name":case "missing-glyph":return!1;default:return!0}}var Re=v.thatReturns("");
4771
- function Se(a,b){a=9===a.nodeType||11===a.nodeType?a:a.ownerDocument;var c=Rd(a);b=sa[b];for(var d=0;d<b.length;d++){var e=b[d];if(!c.hasOwnProperty(e)||!c[e]){switch(e){case "scroll":Md("scroll",a);break;case "focus":case "blur":Md("focus",a);Md("blur",a);c.blur=!0;c.focus=!0;break;case "cancel":case "close":$b(e,!0)&&Md(e,a);break;case "invalid":case "submit":case "reset":break;default:-1===jb.indexOf(e)&&K(e,a)}c[e]=!0}}}
4772
- function Te(a,b,c,d){c=9===c.nodeType?c:c.ownerDocument;d===Fe.html&&(d=Ge(a));d===Fe.html?"script"===a?(a=c.createElement("div"),a.innerHTML="<script>\x3c/script>",a=a.removeChild(a.firstChild)):a="string"===typeof b.is?c.createElement(a,{is:b.is}):c.createElement(a):a=c.createElementNS(d,a);return a}function Ue(a,b){return(9===b.nodeType?b:b.ownerDocument).createTextNode(a)}
4773
- function Ve(a,b,c,d){var e=Qe(b,c);switch(b){case "iframe":case "object":K("load",a);var f=c;break;case "video":case "audio":for(f=0;f<jb.length;f++)K(jb[f],a);f=c;break;case "source":K("error",a);f=c;break;case "img":case "image":case "link":K("error",a);K("load",a);f=c;break;case "form":K("reset",a);K("submit",a);f=c;break;case "details":K("toggle",a);f=c;break;case "input":Hc(a,c);f=Gc(a,c);K("invalid",a);Se(d,"onChange");break;case "option":f=ye(a,c);break;case "select":Ae(a,c);f=p({},c,{value:void 0});
4774
- K("invalid",a);Se(d,"onChange");break;case "textarea":Ce(a,c);f=Be(a,c);K("invalid",a);Se(d,"onChange");break;default:f=c}Pe(b,f,Re);var g=f,h;for(h in g)if(g.hasOwnProperty(h)){var k=g[h];"style"===h?Ne(a,k,Re):"dangerouslySetInnerHTML"===h?(k=k?k.__html:void 0,null!=k&&Je(a,k)):"children"===h?"string"===typeof k?("textarea"!==b||""!==k)&&Ke(a,k):"number"===typeof k&&Ke(a,""+k):"suppressContentEditableWarning"!==h&&"suppressHydrationWarning"!==h&&"autoFocus"!==h&&(ra.hasOwnProperty(h)?null!=k&&Se(d,
4775
- h):null!=k&&Fc(a,h,k,e))}switch(b){case "input":cc(a);Mc(a,c,!1);break;case "textarea":cc(a);Ee(a,c);break;case "option":null!=c.value&&a.setAttribute("value",c.value);break;case "select":a.multiple=!!c.multiple;b=c.value;null!=b?ze(a,!!c.multiple,b,!1):null!=c.defaultValue&&ze(a,!!c.multiple,c.defaultValue,!0);break;default:"function"===typeof f.onClick&&(a.onclick=v)}}
4776
- function We(a,b,c,d,e){var f=null;switch(b){case "input":c=Gc(a,c);d=Gc(a,d);f=[];break;case "option":c=ye(a,c);d=ye(a,d);f=[];break;case "select":c=p({},c,{value:void 0});d=p({},d,{value:void 0});f=[];break;case "textarea":c=Be(a,c);d=Be(a,d);f=[];break;default:"function"!==typeof c.onClick&&"function"===typeof d.onClick&&(a.onclick=v)}Pe(b,d,Re);b=a=void 0;var g=null;for(a in c)if(!d.hasOwnProperty(a)&&c.hasOwnProperty(a)&&null!=c[a])if("style"===a){var h=c[a];for(b in h)h.hasOwnProperty(b)&&(g||
4777
- (g={}),g[b]="")}else"dangerouslySetInnerHTML"!==a&&"children"!==a&&"suppressContentEditableWarning"!==a&&"suppressHydrationWarning"!==a&&"autoFocus"!==a&&(ra.hasOwnProperty(a)?f||(f=[]):(f=f||[]).push(a,null));for(a in d){var k=d[a];h=null!=c?c[a]:void 0;if(d.hasOwnProperty(a)&&k!==h&&(null!=k||null!=h))if("style"===a)if(h){for(b in h)!h.hasOwnProperty(b)||k&&k.hasOwnProperty(b)||(g||(g={}),g[b]="");for(b in k)k.hasOwnProperty(b)&&h[b]!==k[b]&&(g||(g={}),g[b]=k[b])}else g||(f||(f=[]),f.push(a,g)),
4778
- g=k;else"dangerouslySetInnerHTML"===a?(k=k?k.__html:void 0,h=h?h.__html:void 0,null!=k&&h!==k&&(f=f||[]).push(a,""+k)):"children"===a?h===k||"string"!==typeof k&&"number"!==typeof k||(f=f||[]).push(a,""+k):"suppressContentEditableWarning"!==a&&"suppressHydrationWarning"!==a&&(ra.hasOwnProperty(a)?(null!=k&&Se(e,a),f||h===k||(f=[])):(f=f||[]).push(a,k))}g&&(f=f||[]).push("style",g);return f}
4779
- function Xe(a,b,c,d,e){"input"===c&&"radio"===e.type&&null!=e.name&&Jc(a,e);Qe(c,d);d=Qe(c,e);for(var f=0;f<b.length;f+=2){var g=b[f],h=b[f+1];"style"===g?Ne(a,h,Re):"dangerouslySetInnerHTML"===g?Je(a,h):"children"===g?Ke(a,h):Fc(a,g,h,d)}switch(c){case "input":Kc(a,e);break;case "textarea":De(a,e);break;case "select":a._wrapperState.initialValue=void 0,b=a._wrapperState.wasMultiple,a._wrapperState.wasMultiple=!!e.multiple,c=e.value,null!=c?ze(a,!!e.multiple,c,!1):b!==!!e.multiple&&(null!=e.defaultValue?
4780
- ze(a,!!e.multiple,e.defaultValue,!0):ze(a,!!e.multiple,e.multiple?[]:"",!1))}}
4781
- function Ye(a,b,c,d,e){switch(b){case "iframe":case "object":K("load",a);break;case "video":case "audio":for(d=0;d<jb.length;d++)K(jb[d],a);break;case "source":K("error",a);break;case "img":case "image":case "link":K("error",a);K("load",a);break;case "form":K("reset",a);K("submit",a);break;case "details":K("toggle",a);break;case "input":Hc(a,c);K("invalid",a);Se(e,"onChange");break;case "select":Ae(a,c);K("invalid",a);Se(e,"onChange");break;case "textarea":Ce(a,c),K("invalid",a),Se(e,"onChange")}Pe(b,
4782
- c,Re);d=null;for(var f in c)if(c.hasOwnProperty(f)){var g=c[f];"children"===f?"string"===typeof g?a.textContent!==g&&(d=["children",g]):"number"===typeof g&&a.textContent!==""+g&&(d=["children",""+g]):ra.hasOwnProperty(f)&&null!=g&&Se(e,f)}switch(b){case "input":cc(a);Mc(a,c,!0);break;case "textarea":cc(a);Ee(a,c);break;case "select":case "option":break;default:"function"===typeof c.onClick&&(a.onclick=v)}return d}function Ze(a,b){return a.nodeValue!==b}
4783
- var $e={createElement:Te,createTextNode:Ue,setInitialProperties:Ve,diffProperties:We,updateProperties:Xe,diffHydratedProperties:Ye,diffHydratedText:Ze,warnForUnmatchedText:function(){},warnForDeletedHydratableElement:function(){},warnForDeletedHydratableText:function(){},warnForInsertedHydratedElement:function(){},warnForInsertedHydratedText:function(){},restoreControlledState:function(a,b,c){switch(b){case "input":Kc(a,c);b=c.name;if("radio"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;
4784
- c=c.querySelectorAll("input[name="+JSON.stringify(""+b)+'][type="radio"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Pa(d);e?void 0:A("90");dc(d);Kc(d,e)}}}break;case "textarea":De(a,c);break;case "select":b=c.value,null!=b&&ze(a,!!c.multiple,b,!1)}}},af=null,bf=null;function cf(a,b){switch(a){case "button":case "input":case "select":case "textarea":return!!b.autoFocus}return!1}
4785
- function df(a,b){return"textarea"===a||"string"===typeof b.children||"number"===typeof b.children||"object"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&"string"===typeof b.dangerouslySetInnerHTML.__html}var ef=ge,ff=ie,gf=je;function hf(a){for(a=a.nextSibling;a&&1!==a.nodeType&&3!==a.nodeType;)a=a.nextSibling;return a}function jf(a){for(a=a.firstChild;a&&1!==a.nodeType&&3!==a.nodeType;)a=a.nextSibling;return a}new Set;var kf=[],lf=-1;function mf(a){return{current:a}}
4786
- function M(a){0>lf||(a.current=kf[lf],kf[lf]=null,lf--)}function N(a,b){lf++;kf[lf]=a.current;a.current=b}var nf=mf(ha),O=mf(!1),of=ha;function pf(a){return qf(a)?of:nf.current}
4787
- function rf(a,b){var c=a.type.contextTypes;if(!c)return ha;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function qf(a){return 2===a.tag&&null!=a.type.childContextTypes}function sf(a){qf(a)&&(M(O,a),M(nf,a))}function tf(a){M(O,a);M(nf,a)}
4788
- function uf(a,b,c){nf.current!==ha?A("168"):void 0;N(nf,b,a);N(O,c,a)}function vf(a,b){var c=a.stateNode,d=a.type.childContextTypes;if("function"!==typeof c.getChildContext)return b;c=c.getChildContext();for(var e in c)e in d?void 0:A("108",uc(a)||"Unknown",e);return p({},b,c)}function wf(a){if(!qf(a))return!1;var b=a.stateNode;b=b&&b.__reactInternalMemoizedMergedChildContext||ha;of=nf.current;N(nf,b,a);N(O,O.current,a);return!0}
4789
- function xf(a,b){var c=a.stateNode;c?void 0:A("169");if(b){var d=vf(a,of);c.__reactInternalMemoizedMergedChildContext=d;M(O,a);M(nf,a);N(nf,d,a)}else M(O,a);N(O,b,a)}
4790
- function yf(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=null;this.index=0;this.ref=null;this.pendingProps=b;this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.effectTag=0;this.lastEffect=this.firstEffect=this.nextEffect=null;this.expirationTime=0;this.alternate=null}
4791
- function zf(a,b,c){var d=a.alternate;null===d?(d=new yf(a.tag,b,a.key,a.mode),d.type=a.type,d.stateNode=a.stateNode,d.alternate=a,a.alternate=d):(d.pendingProps=b,d.effectTag=0,d.nextEffect=null,d.firstEffect=null,d.lastEffect=null);d.expirationTime=c;d.child=a.child;d.memoizedProps=a.memoizedProps;d.memoizedState=a.memoizedState;d.updateQueue=a.updateQueue;d.sibling=a.sibling;d.index=a.index;d.ref=a.ref;return d}
4792
- function Af(a,b,c){var d=a.type,e=a.key;a=a.props;if("function"===typeof d)var f=d.prototype&&d.prototype.isReactComponent?2:0;else if("string"===typeof d)f=5;else switch(d){case ic:return Bf(a.children,b,c,e);case pc:f=11;b|=3;break;case jc:f=11;b|=2;break;case kc:return d=new yf(15,a,e,b|4),d.type=kc,d.expirationTime=c,d;case rc:f=16;b|=2;break;default:a:{switch("object"===typeof d&&null!==d?d.$$typeof:null){case lc:f=13;break a;case mc:f=12;break a;case qc:f=14;break a;default:A("130",null==d?
4793
- d:typeof d,"")}f=void 0}}b=new yf(f,a,e,b);b.type=d;b.expirationTime=c;return b}function Bf(a,b,c,d){a=new yf(10,a,d,b);a.expirationTime=c;return a}function Cf(a,b,c){a=new yf(6,a,null,b);a.expirationTime=c;return a}function Df(a,b,c){b=new yf(4,null!==a.children?a.children:[],a.key,b);b.expirationTime=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}
4794
- function Ef(a,b,c){b=new yf(3,null,null,b?3:0);a={current:b,containerInfo:a,pendingChildren:null,earliestPendingTime:0,latestPendingTime:0,earliestSuspendedTime:0,latestSuspendedTime:0,latestPingedTime:0,pendingCommitExpirationTime:0,finishedWork:null,context:null,pendingContext:null,hydrate:c,remainingExpirationTime:0,firstBatch:null,nextScheduledRoot:null};return b.stateNode=a}var Ff=null,Gf=null;function Hf(a){return function(b){try{return a(b)}catch(c){}}}
4795
- function If(a){if("undefined"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var b=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(b.isDisabled||!b.supportsFiber)return!0;try{var c=b.inject(a);Ff=Hf(function(a){return b.onCommitFiberRoot(c,a)});Gf=Hf(function(a){return b.onCommitFiberUnmount(c,a)})}catch(d){}return!0}function Jf(a){"function"===typeof Ff&&Ff(a)}function Kf(a){"function"===typeof Gf&&Gf(a)}var Lf=!1;
4796
- function Mf(a){return{expirationTime:0,baseState:a,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function Nf(a){return{expirationTime:a.expirationTime,baseState:a.baseState,firstUpdate:a.firstUpdate,lastUpdate:a.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}
4797
- function Of(a){return{expirationTime:a,tag:0,payload:null,callback:null,next:null,nextEffect:null}}function Pf(a,b,c){null===a.lastUpdate?a.firstUpdate=a.lastUpdate=b:(a.lastUpdate.next=b,a.lastUpdate=b);if(0===a.expirationTime||a.expirationTime>c)a.expirationTime=c}
4798
- function Qf(a,b,c){var d=a.alternate;if(null===d){var e=a.updateQueue;var f=null;null===e&&(e=a.updateQueue=Mf(a.memoizedState))}else e=a.updateQueue,f=d.updateQueue,null===e?null===f?(e=a.updateQueue=Mf(a.memoizedState),f=d.updateQueue=Mf(d.memoizedState)):e=a.updateQueue=Nf(f):null===f&&(f=d.updateQueue=Nf(e));null===f||e===f?Pf(e,b,c):null===e.lastUpdate||null===f.lastUpdate?(Pf(e,b,c),Pf(f,b,c)):(Pf(e,b,c),f.lastUpdate=b)}
4799
- function Rf(a,b,c){var d=a.updateQueue;d=null===d?a.updateQueue=Mf(a.memoizedState):Sf(a,d);null===d.lastCapturedUpdate?d.firstCapturedUpdate=d.lastCapturedUpdate=b:(d.lastCapturedUpdate.next=b,d.lastCapturedUpdate=b);if(0===d.expirationTime||d.expirationTime>c)d.expirationTime=c}function Sf(a,b){var c=a.alternate;null!==c&&b===c.updateQueue&&(b=a.updateQueue=Nf(b));return b}
4800
- function Tf(a,b,c,d,e,f){switch(c.tag){case 1:return a=c.payload,"function"===typeof a?a.call(f,d,e):a;case 3:a.effectTag=a.effectTag&-1025|64;case 0:a=c.payload;e="function"===typeof a?a.call(f,d,e):a;if(null===e||void 0===e)break;return p({},d,e);case 2:Lf=!0}return d}
4801
- function Uf(a,b,c,d,e){Lf=!1;if(!(0===b.expirationTime||b.expirationTime>e)){b=Sf(a,b);for(var f=b.baseState,g=null,h=0,k=b.firstUpdate,n=f;null!==k;){var r=k.expirationTime;if(r>e){if(null===g&&(g=k,f=n),0===h||h>r)h=r}else n=Tf(a,b,k,n,c,d),null!==k.callback&&(a.effectTag|=32,k.nextEffect=null,null===b.lastEffect?b.firstEffect=b.lastEffect=k:(b.lastEffect.nextEffect=k,b.lastEffect=k));k=k.next}r=null;for(k=b.firstCapturedUpdate;null!==k;){var w=k.expirationTime;if(w>e){if(null===r&&(r=k,null===
4802
- g&&(f=n)),0===h||h>w)h=w}else n=Tf(a,b,k,n,c,d),null!==k.callback&&(a.effectTag|=32,k.nextEffect=null,null===b.lastCapturedEffect?b.firstCapturedEffect=b.lastCapturedEffect=k:(b.lastCapturedEffect.nextEffect=k,b.lastCapturedEffect=k));k=k.next}null===g&&(b.lastUpdate=null);null===r?b.lastCapturedUpdate=null:a.effectTag|=32;null===g&&null===r&&(f=n);b.baseState=f;b.firstUpdate=g;b.firstCapturedUpdate=r;b.expirationTime=h;a.memoizedState=n}}
4803
- function Vf(a,b){"function"!==typeof a?A("191",a):void 0;a.call(b)}
4804
- function Wf(a,b,c){null!==b.firstCapturedUpdate&&(null!==b.lastUpdate&&(b.lastUpdate.next=b.firstCapturedUpdate,b.lastUpdate=b.lastCapturedUpdate),b.firstCapturedUpdate=b.lastCapturedUpdate=null);a=b.firstEffect;for(b.firstEffect=b.lastEffect=null;null!==a;){var d=a.callback;null!==d&&(a.callback=null,Vf(d,c));a=a.nextEffect}a=b.firstCapturedEffect;for(b.firstCapturedEffect=b.lastCapturedEffect=null;null!==a;)b=a.callback,null!==b&&(a.callback=null,Vf(b,c)),a=a.nextEffect}
4805
- function Xf(a,b){return{value:a,source:b,stack:vc(b)}}var Yf=mf(null),Zf=mf(null),$f=mf(0);function ag(a){var b=a.type._context;N($f,b._changedBits,a);N(Zf,b._currentValue,a);N(Yf,a,a);b._currentValue=a.pendingProps.value;b._changedBits=a.stateNode}function bg(a){var b=$f.current,c=Zf.current;M(Yf,a);M(Zf,a);M($f,a);a=a.type._context;a._currentValue=c;a._changedBits=b}var cg={},dg=mf(cg),eg=mf(cg),fg=mf(cg);function gg(a){a===cg?A("174"):void 0;return a}
4806
- function ig(a,b){N(fg,b,a);N(eg,a,a);N(dg,cg,a);var c=b.nodeType;switch(c){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:He(null,"");break;default:c=8===c?b.parentNode:b,b=c.namespaceURI||null,c=c.tagName,b=He(b,c)}M(dg,a);N(dg,b,a)}function jg(a){M(dg,a);M(eg,a);M(fg,a)}function kg(a){eg.current===a&&(M(dg,a),M(eg,a))}function lg(a,b,c){var d=a.memoizedState;b=b(c,d);d=null===b||void 0===b?d:p({},d,b);a.memoizedState=d;a=a.updateQueue;null!==a&&0===a.expirationTime&&(a.baseState=d)}
4807
- var pg={isMounted:function(a){return(a=a._reactInternalFiber)?2===jd(a):!1},enqueueSetState:function(a,b,c){a=a._reactInternalFiber;var d=mg();d=ng(d,a);var e=Of(d);e.payload=b;void 0!==c&&null!==c&&(e.callback=c);Qf(a,e,d);og(a,d)},enqueueReplaceState:function(a,b,c){a=a._reactInternalFiber;var d=mg();d=ng(d,a);var e=Of(d);e.tag=1;e.payload=b;void 0!==c&&null!==c&&(e.callback=c);Qf(a,e,d);og(a,d)},enqueueForceUpdate:function(a,b){a=a._reactInternalFiber;var c=mg();c=ng(c,a);var d=Of(c);d.tag=2;void 0!==
4808
- b&&null!==b&&(d.callback=b);Qf(a,d,c);og(a,c)}};function qg(a,b,c,d,e,f){var g=a.stateNode;a=a.type;return"function"===typeof g.shouldComponentUpdate?g.shouldComponentUpdate(c,e,f):a.prototype&&a.prototype.isPureReactComponent?!ea(b,c)||!ea(d,e):!0}
4809
- function rg(a,b,c,d){a=b.state;"function"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);"function"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&pg.enqueueReplaceState(b,b.state,null)}
4810
- function sg(a,b){var c=a.type,d=a.stateNode,e=a.pendingProps,f=pf(a);d.props=e;d.state=a.memoizedState;d.refs=ha;d.context=rf(a,f);f=a.updateQueue;null!==f&&(Uf(a,f,e,d,b),d.state=a.memoizedState);f=a.type.getDerivedStateFromProps;"function"===typeof f&&(lg(a,f,e),d.state=a.memoizedState);"function"===typeof c.getDerivedStateFromProps||"function"===typeof d.getSnapshotBeforeUpdate||"function"!==typeof d.UNSAFE_componentWillMount&&"function"!==typeof d.componentWillMount||(c=d.state,"function"===typeof d.componentWillMount&&
4811
- d.componentWillMount(),"function"===typeof d.UNSAFE_componentWillMount&&d.UNSAFE_componentWillMount(),c!==d.state&&pg.enqueueReplaceState(d,d.state,null),f=a.updateQueue,null!==f&&(Uf(a,f,e,d,b),d.state=a.memoizedState));"function"===typeof d.componentDidMount&&(a.effectTag|=4)}var tg=Array.isArray;
4812
- function ug(a,b,c){a=c.ref;if(null!==a&&"function"!==typeof a&&"object"!==typeof a){if(c._owner){c=c._owner;var d=void 0;c&&(2!==c.tag?A("110"):void 0,d=c.stateNode);d?void 0:A("147",a);var e=""+a;if(null!==b&&null!==b.ref&&"function"===typeof b.ref&&b.ref._stringRef===e)return b.ref;b=function(a){var b=d.refs===ha?d.refs={}:d.refs;null===a?delete b[e]:b[e]=a};b._stringRef=e;return b}"string"!==typeof a?A("148"):void 0;c._owner?void 0:A("254",a)}return a}
4813
- function vg(a,b){"textarea"!==a.type&&A("31","[object Object]"===Object.prototype.toString.call(b)?"object with keys {"+Object.keys(b).join(", ")+"}":b,"")}
4814
- function wg(a){function b(b,c){if(a){var d=b.lastEffect;null!==d?(d.nextEffect=c,b.lastEffect=c):b.firstEffect=b.lastEffect=c;c.nextEffect=null;c.effectTag=8}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b,c){a=zf(a,b,c);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.effectTag=
4815
- 2,c):d;b.effectTag=2;return c}function g(b){a&&null===b.alternate&&(b.effectTag=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=Cf(c,a.mode,d),b.return=a,b;b=e(b,c,d);b.return=a;return b}function k(a,b,c,d){if(null!==b&&b.type===c.type)return d=e(b,c.props,d),d.ref=ug(a,b,c),d.return=a,d;d=Af(c,a.mode,d);d.ref=ug(a,b,c);d.return=a;return d}function n(a,b,c,d){if(null===b||4!==b.tag||b.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==c.implementation)return b=
4816
- Df(c,a.mode,d),b.return=a,b;b=e(b,c.children||[],d);b.return=a;return b}function r(a,b,c,d,f){if(null===b||10!==b.tag)return b=Bf(c,a.mode,d,f),b.return=a,b;b=e(b,c,d);b.return=a;return b}function w(a,b,c){if("string"===typeof b||"number"===typeof b)return b=Cf(""+b,a.mode,c),b.return=a,b;if("object"===typeof b&&null!==b){switch(b.$$typeof){case gc:return c=Af(b,a.mode,c),c.ref=ug(a,null,b),c.return=a,c;case hc:return b=Df(b,a.mode,c),b.return=a,b}if(tg(b)||tc(b))return b=Bf(b,a.mode,c,null),b.return=
4817
- a,b;vg(a,b)}return null}function P(a,b,c,d){var e=null!==b?b.key:null;if("string"===typeof c||"number"===typeof c)return null!==e?null:h(a,b,""+c,d);if("object"===typeof c&&null!==c){switch(c.$$typeof){case gc:return c.key===e?c.type===ic?r(a,b,c.props.children,d,e):k(a,b,c,d):null;case hc:return c.key===e?n(a,b,c,d):null}if(tg(c)||tc(c))return null!==e?null:r(a,b,c,d,null);vg(a,c)}return null}function nc(a,b,c,d,e){if("string"===typeof d||"number"===typeof d)return a=a.get(c)||null,h(b,a,""+d,e);
4818
- if("object"===typeof d&&null!==d){switch(d.$$typeof){case gc:return a=a.get(null===d.key?c:d.key)||null,d.type===ic?r(b,a,d.props.children,e,d.key):k(b,a,d,e);case hc:return a=a.get(null===d.key?c:d.key)||null,n(b,a,d,e)}if(tg(d)||tc(d))return a=a.get(c)||null,r(b,a,d,e,null);vg(b,d)}return null}function Jd(e,g,h,k){for(var u=null,x=null,t=g,q=g=0,n=null;null!==t&&q<h.length;q++){t.index>q?(n=t,t=null):n=t.sibling;var l=P(e,t,h[q],k);if(null===l){null===t&&(t=n);break}a&&t&&null===l.alternate&&b(e,
4819
- t);g=f(l,g,q);null===x?u=l:x.sibling=l;x=l;t=n}if(q===h.length)return c(e,t),u;if(null===t){for(;q<h.length;q++)if(t=w(e,h[q],k))g=f(t,g,q),null===x?u=t:x.sibling=t,x=t;return u}for(t=d(e,t);q<h.length;q++)if(n=nc(t,e,q,h[q],k))a&&null!==n.alternate&&t.delete(null===n.key?q:n.key),g=f(n,g,q),null===x?u=n:x.sibling=n,x=n;a&&t.forEach(function(a){return b(e,a)});return u}function E(e,g,h,k){var u=tc(h);"function"!==typeof u?A("150"):void 0;h=u.call(h);null==h?A("151"):void 0;for(var t=u=null,n=g,x=
4820
- g=0,y=null,l=h.next();null!==n&&!l.done;x++,l=h.next()){n.index>x?(y=n,n=null):y=n.sibling;var r=P(e,n,l.value,k);if(null===r){n||(n=y);break}a&&n&&null===r.alternate&&b(e,n);g=f(r,g,x);null===t?u=r:t.sibling=r;t=r;n=y}if(l.done)return c(e,n),u;if(null===n){for(;!l.done;x++,l=h.next())l=w(e,l.value,k),null!==l&&(g=f(l,g,x),null===t?u=l:t.sibling=l,t=l);return u}for(n=d(e,n);!l.done;x++,l=h.next())l=nc(n,e,x,l.value,k),null!==l&&(a&&null!==l.alternate&&n.delete(null===l.key?x:l.key),g=f(l,g,x),null===
4821
- t?u=l:t.sibling=l,t=l);a&&n.forEach(function(a){return b(e,a)});return u}return function(a,d,f,h){var k="object"===typeof f&&null!==f&&f.type===ic&&null===f.key;k&&(f=f.props.children);var n="object"===typeof f&&null!==f;if(n)switch(f.$$typeof){case gc:a:{n=f.key;for(k=d;null!==k;){if(k.key===n)if(10===k.tag?f.type===ic:k.type===f.type){c(a,k.sibling);d=e(k,f.type===ic?f.props.children:f.props,h);d.ref=ug(a,k,f);d.return=a;a=d;break a}else{c(a,k);break}else b(a,k);k=k.sibling}f.type===ic?(d=Bf(f.props.children,
4822
- a.mode,h,f.key),d.return=a,a=d):(h=Af(f,a.mode,h),h.ref=ug(a,d,f),h.return=a,a=h)}return g(a);case hc:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[],h);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=Df(f,a.mode,h);d.return=a;a=d}return g(a)}if("string"===typeof f||"number"===typeof f)return f=""+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f,h),d.return=
4823
- a,a=d):(c(a,d),d=Cf(f,a.mode,h),d.return=a,a=d),g(a);if(tg(f))return Jd(a,d,f,h);if(tc(f))return E(a,d,f,h);n&&vg(a,f);if("undefined"===typeof f&&!k)switch(a.tag){case 2:case 1:h=a.type,A("152",h.displayName||h.name||"Component")}return c(a,d)}}var xg=wg(!0),yg=wg(!1),zg=null,Ag=null,Bg=!1;function Cg(a,b){var c=new yf(5,null,null,0);c.type="DELETED";c.stateNode=b;c.return=a;c.effectTag=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}
4824
- function Dg(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=""===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;default:return!1}}function Eg(a){if(Bg){var b=Ag;if(b){var c=b;if(!Dg(a,b)){b=hf(c);if(!b||!Dg(a,b)){a.effectTag|=2;Bg=!1;zg=a;return}Cg(zg,c)}zg=a;Ag=jf(b)}else a.effectTag|=2,Bg=!1,zg=a}}
4825
- function Fg(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag;)a=a.return;zg=a}function Gg(a){if(a!==zg)return!1;if(!Bg)return Fg(a),Bg=!0,!1;var b=a.type;if(5!==a.tag||"head"!==b&&"body"!==b&&!df(b,a.memoizedProps))for(b=Ag;b;)Cg(a,b),b=hf(b);Fg(a);Ag=zg?hf(a.stateNode):null;return!0}function Hg(){Ag=zg=null;Bg=!1}function Q(a,b,c){Ig(a,b,c,b.expirationTime)}function Ig(a,b,c,d){b.child=null===a?yg(b,null,c,d):xg(b,a.child,c,d)}
4826
- function Jg(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.effectTag|=128}function Kg(a,b,c,d,e){Jg(a,b);var f=0!==(b.effectTag&64);if(!c&&!f)return d&&xf(b,!1),R(a,b);c=b.stateNode;ec.current=b;var g=f?null:c.render();b.effectTag|=1;f&&(Ig(a,b,null,e),b.child=null);Ig(a,b,g,e);b.memoizedState=c.state;b.memoizedProps=c.props;d&&xf(b,!0);return b.child}
4827
- function Lg(a){var b=a.stateNode;b.pendingContext?uf(a,b.pendingContext,b.pendingContext!==b.context):b.context&&uf(a,b.context,!1);ig(a,b.containerInfo)}
4828
- function Mg(a,b,c,d){var e=a.child;null!==e&&(e.return=a);for(;null!==e;){switch(e.tag){case 12:var f=e.stateNode|0;if(e.type===b&&0!==(f&c)){for(f=e;null!==f;){var g=f.alternate;if(0===f.expirationTime||f.expirationTime>d)f.expirationTime=d,null!==g&&(0===g.expirationTime||g.expirationTime>d)&&(g.expirationTime=d);else if(null!==g&&(0===g.expirationTime||g.expirationTime>d))g.expirationTime=d;else break;f=f.return}f=null}else f=e.child;break;case 13:f=e.type===a.type?null:e.child;break;default:f=
4829
- e.child}if(null!==f)f.return=e;else for(f=e;null!==f;){if(f===a){f=null;break}e=f.sibling;if(null!==e){e.return=f.return;f=e;break}f=f.return}e=f}}
4830
- function Qg(a,b,c){var d=b.type._context,e=b.pendingProps,f=b.memoizedProps,g=!0;if(O.current)g=!1;else if(f===e)return b.stateNode=0,ag(b),R(a,b);var h=e.value;b.memoizedProps=e;if(null===f)h=1073741823;else if(f.value===e.value){if(f.children===e.children&&g)return b.stateNode=0,ag(b),R(a,b);h=0}else{var k=f.value;if(k===h&&(0!==k||1/k===1/h)||k!==k&&h!==h){if(f.children===e.children&&g)return b.stateNode=0,ag(b),R(a,b);h=0}else if(h="function"===typeof d._calculateChangedBits?d._calculateChangedBits(k,
4831
- h):1073741823,h|=0,0===h){if(f.children===e.children&&g)return b.stateNode=0,ag(b),R(a,b)}else Mg(b,d,h,c)}b.stateNode=h;ag(b);Q(a,b,e.children);return b.child}function R(a,b){null!==a&&b.child!==a.child?A("153"):void 0;if(null!==b.child){a=b.child;var c=zf(a,a.pendingProps,a.expirationTime);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=zf(a,a.pendingProps,a.expirationTime),c.return=b;c.sibling=null}return b.child}
4832
- function Rg(a,b,c){if(0===b.expirationTime||b.expirationTime>c){switch(b.tag){case 3:Lg(b);break;case 2:wf(b);break;case 4:ig(b,b.stateNode.containerInfo);break;case 13:ag(b)}return null}switch(b.tag){case 0:null!==a?A("155"):void 0;var d=b.type,e=b.pendingProps,f=pf(b);f=rf(b,f);d=d(e,f);b.effectTag|=1;"object"===typeof d&&null!==d&&"function"===typeof d.render&&void 0===d.$$typeof?(f=b.type,b.tag=2,b.memoizedState=null!==d.state&&void 0!==d.state?d.state:null,f=f.getDerivedStateFromProps,"function"===
4833
- typeof f&&lg(b,f,e),e=wf(b),d.updater=pg,b.stateNode=d,d._reactInternalFiber=b,sg(b,c),a=Kg(a,b,!0,e,c)):(b.tag=1,Q(a,b,d),b.memoizedProps=e,a=b.child);return a;case 1:return e=b.type,c=b.pendingProps,O.current||b.memoizedProps!==c?(d=pf(b),d=rf(b,d),e=e(c,d),b.effectTag|=1,Q(a,b,e),b.memoizedProps=c,a=b.child):a=R(a,b),a;case 2:e=wf(b);if(null===a)if(null===b.stateNode){var g=b.pendingProps,h=b.type;d=pf(b);var k=2===b.tag&&null!=b.type.contextTypes;f=k?rf(b,d):ha;g=new h(g,f);b.memoizedState=null!==
4834
- g.state&&void 0!==g.state?g.state:null;g.updater=pg;b.stateNode=g;g._reactInternalFiber=b;k&&(k=b.stateNode,k.__reactInternalMemoizedUnmaskedChildContext=d,k.__reactInternalMemoizedMaskedChildContext=f);sg(b,c);d=!0}else{h=b.type;d=b.stateNode;k=b.memoizedProps;f=b.pendingProps;d.props=k;var n=d.context;g=pf(b);g=rf(b,g);var r=h.getDerivedStateFromProps;(h="function"===typeof r||"function"===typeof d.getSnapshotBeforeUpdate)||"function"!==typeof d.UNSAFE_componentWillReceiveProps&&"function"!==typeof d.componentWillReceiveProps||
4835
- (k!==f||n!==g)&&rg(b,d,f,g);Lf=!1;var w=b.memoizedState;n=d.state=w;var P=b.updateQueue;null!==P&&(Uf(b,P,f,d,c),n=b.memoizedState);k!==f||w!==n||O.current||Lf?("function"===typeof r&&(lg(b,r,f),n=b.memoizedState),(k=Lf||qg(b,k,f,w,n,g))?(h||"function"!==typeof d.UNSAFE_componentWillMount&&"function"!==typeof d.componentWillMount||("function"===typeof d.componentWillMount&&d.componentWillMount(),"function"===typeof d.UNSAFE_componentWillMount&&d.UNSAFE_componentWillMount()),"function"===typeof d.componentDidMount&&
4836
- (b.effectTag|=4)):("function"===typeof d.componentDidMount&&(b.effectTag|=4),b.memoizedProps=f,b.memoizedState=n),d.props=f,d.state=n,d.context=g,d=k):("function"===typeof d.componentDidMount&&(b.effectTag|=4),d=!1)}else h=b.type,d=b.stateNode,f=b.memoizedProps,k=b.pendingProps,d.props=f,n=d.context,g=pf(b),g=rf(b,g),r=h.getDerivedStateFromProps,(h="function"===typeof r||"function"===typeof d.getSnapshotBeforeUpdate)||"function"!==typeof d.UNSAFE_componentWillReceiveProps&&"function"!==typeof d.componentWillReceiveProps||
4837
- (f!==k||n!==g)&&rg(b,d,k,g),Lf=!1,n=b.memoizedState,w=d.state=n,P=b.updateQueue,null!==P&&(Uf(b,P,k,d,c),w=b.memoizedState),f!==k||n!==w||O.current||Lf?("function"===typeof r&&(lg(b,r,k),w=b.memoizedState),(r=Lf||qg(b,f,k,n,w,g))?(h||"function"!==typeof d.UNSAFE_componentWillUpdate&&"function"!==typeof d.componentWillUpdate||("function"===typeof d.componentWillUpdate&&d.componentWillUpdate(k,w,g),"function"===typeof d.UNSAFE_componentWillUpdate&&d.UNSAFE_componentWillUpdate(k,w,g)),"function"===typeof d.componentDidUpdate&&
4838
- (b.effectTag|=4),"function"===typeof d.getSnapshotBeforeUpdate&&(b.effectTag|=256)):("function"!==typeof d.componentDidUpdate||f===a.memoizedProps&&n===a.memoizedState||(b.effectTag|=4),"function"!==typeof d.getSnapshotBeforeUpdate||f===a.memoizedProps&&n===a.memoizedState||(b.effectTag|=256),b.memoizedProps=k,b.memoizedState=w),d.props=k,d.state=w,d.context=g,d=r):("function"!==typeof d.componentDidUpdate||f===a.memoizedProps&&n===a.memoizedState||(b.effectTag|=4),"function"!==typeof d.getSnapshotBeforeUpdate||
4839
- f===a.memoizedProps&&n===a.memoizedState||(b.effectTag|=256),d=!1);return Kg(a,b,d,e,c);case 3:Lg(b);e=b.updateQueue;if(null!==e)if(d=b.memoizedState,d=null!==d?d.element:null,Uf(b,e,b.pendingProps,null,c),e=b.memoizedState.element,e===d)Hg(),a=R(a,b);else{d=b.stateNode;if(d=(null===a||null===a.child)&&d.hydrate)Ag=jf(b.stateNode.containerInfo),zg=b,d=Bg=!0;d?(b.effectTag|=2,b.child=yg(b,null,e,c)):(Hg(),Q(a,b,e));a=b.child}else Hg(),a=R(a,b);return a;case 5:a:{gg(fg.current);e=gg(dg.current);d=He(e,
4840
- b.type);e!==d&&(N(eg,b,b),N(dg,d,b));null===a&&Eg(b);e=b.type;k=b.memoizedProps;d=b.pendingProps;f=null!==a?a.memoizedProps:null;if(!O.current&&k===d){if(k=b.mode&1&&!!d.hidden)b.expirationTime=1073741823;if(!k||1073741823!==c){a=R(a,b);break a}}k=d.children;df(e,d)?k=null:f&&df(e,f)&&(b.effectTag|=16);Jg(a,b);1073741823!==c&&b.mode&1&&d.hidden?(b.expirationTime=1073741823,b.memoizedProps=d,a=null):(Q(a,b,k),b.memoizedProps=d,a=b.child)}return a;case 6:return null===a&&Eg(b),b.memoizedProps=b.pendingProps,
4841
- null;case 16:return null;case 4:return ig(b,b.stateNode.containerInfo),e=b.pendingProps,O.current||b.memoizedProps!==e?(null===a?b.child=xg(b,null,e,c):Q(a,b,e),b.memoizedProps=e,a=b.child):a=R(a,b),a;case 14:return e=b.type.render,c=b.pendingProps,d=b.ref,O.current||b.memoizedProps!==c||d!==(null!==a?a.ref:null)?(e=e(c,d),Q(a,b,e),b.memoizedProps=c,a=b.child):a=R(a,b),a;case 10:return c=b.pendingProps,O.current||b.memoizedProps!==c?(Q(a,b,c),b.memoizedProps=c,a=b.child):a=R(a,b),a;case 11:return c=
4842
- b.pendingProps.children,O.current||null!==c&&b.memoizedProps!==c?(Q(a,b,c),b.memoizedProps=c,a=b.child):a=R(a,b),a;case 15:return c=b.pendingProps,b.memoizedProps===c?a=R(a,b):(Q(a,b,c.children),b.memoizedProps=c,a=b.child),a;case 13:return Qg(a,b,c);case 12:a:if(d=b.type,f=b.pendingProps,k=b.memoizedProps,e=d._currentValue,g=d._changedBits,O.current||0!==g||k!==f){b.memoizedProps=f;h=f.unstable_observedBits;if(void 0===h||null===h)h=1073741823;b.stateNode=h;if(0!==(g&h))Mg(b,d,g,c);else if(k===f){a=
4843
- R(a,b);break a}c=f.children;c=c(e);b.effectTag|=1;Q(a,b,c);a=b.child}else a=R(a,b);return a;default:A("156")}}function Sg(a){a.effectTag|=4}var Tg=void 0,Ug=void 0,Vg=void 0;Tg=function(){};Ug=function(a,b,c){(b.updateQueue=c)&&Sg(b)};Vg=function(a,b,c,d){c!==d&&Sg(b)};
4844
- function Wg(a,b){var c=b.pendingProps;switch(b.tag){case 1:return null;case 2:return sf(b),null;case 3:jg(b);tf(b);var d=b.stateNode;d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null);if(null===a||null===a.child)Gg(b),b.effectTag&=-3;Tg(b);return null;case 5:kg(b);d=gg(fg.current);var e=b.type;if(null!==a&&null!=b.stateNode){var f=a.memoizedProps,g=b.stateNode,h=gg(dg.current);g=We(g,e,f,c,d);Ug(a,b,g,e,f,c,d,h);a.ref!==b.ref&&(b.effectTag|=128)}else{if(!c)return null===b.stateNode?
4845
- A("166"):void 0,null;a=gg(dg.current);if(Gg(b))c=b.stateNode,e=b.type,f=b.memoizedProps,c[C]=b,c[Ma]=f,d=Ye(c,e,f,a,d),b.updateQueue=d,null!==d&&Sg(b);else{a=Te(e,c,d,a);a[C]=b;a[Ma]=c;a:for(f=b.child;null!==f;){if(5===f.tag||6===f.tag)a.appendChild(f.stateNode);else if(4!==f.tag&&null!==f.child){f.child.return=f;f=f.child;continue}if(f===b)break;for(;null===f.sibling;){if(null===f.return||f.return===b)break a;f=f.return}f.sibling.return=f.return;f=f.sibling}Ve(a,e,c,d);cf(e,c)&&Sg(b);b.stateNode=
4846
- a}null!==b.ref&&(b.effectTag|=128)}return null;case 6:if(a&&null!=b.stateNode)Vg(a,b,a.memoizedProps,c);else{if("string"!==typeof c)return null===b.stateNode?A("166"):void 0,null;d=gg(fg.current);gg(dg.current);Gg(b)?(d=b.stateNode,c=b.memoizedProps,d[C]=b,Ze(d,c)&&Sg(b)):(d=Ue(c,d),d[C]=b,b.stateNode=d)}return null;case 14:return null;case 16:return null;case 10:return null;case 11:return null;case 15:return null;case 4:return jg(b),Tg(b),null;case 13:return bg(b),null;case 12:return null;case 0:A("167");
4847
- default:A("156")}}function Xg(a,b){var c=b.source;null===b.stack&&null!==c&&vc(c);null!==c&&uc(c);b=b.value;null!==a&&2===a.tag&&uc(a);try{b&&b.suppressReactErrorLogging||console.error(b)}catch(d){d&&d.suppressReactErrorLogging||console.error(d)}}function Yg(a){var b=a.ref;if(null!==b)if("function"===typeof b)try{b(null)}catch(c){Zg(a,c)}else b.current=null}
4848
- function $g(a){"function"===typeof Kf&&Kf(a);switch(a.tag){case 2:Yg(a);var b=a.stateNode;if("function"===typeof b.componentWillUnmount)try{b.props=a.memoizedProps,b.state=a.memoizedState,b.componentWillUnmount()}catch(c){Zg(a,c)}break;case 5:Yg(a);break;case 4:ah(a)}}function bh(a){return 5===a.tag||3===a.tag||4===a.tag}
4849
- function ch(a){a:{for(var b=a.return;null!==b;){if(bh(b)){var c=b;break a}b=b.return}A("160");c=void 0}var d=b=void 0;switch(c.tag){case 5:b=c.stateNode;d=!1;break;case 3:b=c.stateNode.containerInfo;d=!0;break;case 4:b=c.stateNode.containerInfo;d=!0;break;default:A("161")}c.effectTag&16&&(Ke(b,""),c.effectTag&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c.return||bh(c.return)){c=null;break a}c=c.return}c.sibling.return=c.return;for(c=c.sibling;5!==c.tag&&6!==c.tag;){if(c.effectTag&2)continue b;
4850
- if(null===c.child||4===c.tag)continue b;else c.child.return=c,c=c.child}if(!(c.effectTag&2)){c=c.stateNode;break a}}for(var e=a;;){if(5===e.tag||6===e.tag)if(c)if(d){var f=b,g=e.stateNode,h=c;8===f.nodeType?f.parentNode.insertBefore(g,h):f.insertBefore(g,h)}else b.insertBefore(e.stateNode,c);else d?(f=b,g=e.stateNode,8===f.nodeType?f.parentNode.insertBefore(g,f):f.appendChild(g)):b.appendChild(e.stateNode);else if(4!==e.tag&&null!==e.child){e.child.return=e;e=e.child;continue}if(e===a)break;for(;null===
4851
- e.sibling;){if(null===e.return||e.return===a)return;e=e.return}e.sibling.return=e.return;e=e.sibling}}
4852
- function ah(a){for(var b=a,c=!1,d=void 0,e=void 0;;){if(!c){c=b.return;a:for(;;){null===c?A("160"):void 0;switch(c.tag){case 5:d=c.stateNode;e=!1;break a;case 3:d=c.stateNode.containerInfo;e=!0;break a;case 4:d=c.stateNode.containerInfo;e=!0;break a}c=c.return}c=!0}if(5===b.tag||6===b.tag){a:for(var f=b,g=f;;)if($g(g),null!==g.child&&4!==g.tag)g.child.return=g,g=g.child;else{if(g===f)break;for(;null===g.sibling;){if(null===g.return||g.return===f)break a;g=g.return}g.sibling.return=g.return;g=g.sibling}e?
4853
- (f=d,g=b.stateNode,8===f.nodeType?f.parentNode.removeChild(g):f.removeChild(g)):d.removeChild(b.stateNode)}else if(4===b.tag?d=b.stateNode.containerInfo:$g(b),null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return;b=b.return;4===b.tag&&(c=!1)}b.sibling.return=b.return;b=b.sibling}}
4854
- function dh(a,b){switch(b.tag){case 2:break;case 5:var c=b.stateNode;if(null!=c){var d=b.memoizedProps;a=null!==a?a.memoizedProps:d;var e=b.type,f=b.updateQueue;b.updateQueue=null;null!==f&&(c[Ma]=d,Xe(c,f,e,a,d))}break;case 6:null===b.stateNode?A("162"):void 0;b.stateNode.nodeValue=b.memoizedProps;break;case 3:break;case 15:break;case 16:break;default:A("163")}}function eh(a,b,c){c=Of(c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){fh(d);Xg(a,b)};return c}
4855
- function gh(a,b,c){c=Of(c);c.tag=3;var d=a.stateNode;null!==d&&"function"===typeof d.componentDidCatch&&(c.callback=function(){null===hh?hh=new Set([this]):hh.add(this);var c=b.value,d=b.stack;Xg(a,b);this.componentDidCatch(c,{componentStack:null!==d?d:""})});return c}
4856
- function ih(a,b,c,d,e,f){c.effectTag|=512;c.firstEffect=c.lastEffect=null;d=Xf(d,c);a=b;do{switch(a.tag){case 3:a.effectTag|=1024;d=eh(a,d,f);Rf(a,d,f);return;case 2:if(b=d,c=a.stateNode,0===(a.effectTag&64)&&null!==c&&"function"===typeof c.componentDidCatch&&(null===hh||!hh.has(c))){a.effectTag|=1024;d=gh(a,b,f);Rf(a,d,f);return}}a=a.return}while(null!==a)}
4857
- function jh(a){switch(a.tag){case 2:sf(a);var b=a.effectTag;return b&1024?(a.effectTag=b&-1025|64,a):null;case 3:return jg(a),tf(a),b=a.effectTag,b&1024?(a.effectTag=b&-1025|64,a):null;case 5:return kg(a),null;case 16:return b=a.effectTag,b&1024?(a.effectTag=b&-1025|64,a):null;case 4:return jg(a),null;case 13:return bg(a),null;default:return null}}var kh=ef(),lh=2,mh=kh,nh=0,oh=0,ph=!1,S=null,qh=null,T=0,rh=-1,sh=!1,U=null,th=!1,uh=!1,hh=null;
4858
- function vh(){if(null!==S)for(var a=S.return;null!==a;){var b=a;switch(b.tag){case 2:sf(b);break;case 3:jg(b);tf(b);break;case 5:kg(b);break;case 4:jg(b);break;case 13:bg(b)}a=a.return}qh=null;T=0;rh=-1;sh=!1;S=null;uh=!1}
4859
- function wh(a){for(;;){var b=a.alternate,c=a.return,d=a.sibling;if(0===(a.effectTag&512)){b=Wg(b,a,T);var e=a;if(1073741823===T||1073741823!==e.expirationTime){var f=0;switch(e.tag){case 3:case 2:var g=e.updateQueue;null!==g&&(f=g.expirationTime)}for(g=e.child;null!==g;)0!==g.expirationTime&&(0===f||f>g.expirationTime)&&(f=g.expirationTime),g=g.sibling;e.expirationTime=f}if(null!==b)return b;null!==c&&0===(c.effectTag&512)&&(null===c.firstEffect&&(c.firstEffect=a.firstEffect),null!==a.lastEffect&&
4860
- (null!==c.lastEffect&&(c.lastEffect.nextEffect=a.firstEffect),c.lastEffect=a.lastEffect),1<a.effectTag&&(null!==c.lastEffect?c.lastEffect.nextEffect=a:c.firstEffect=a,c.lastEffect=a));if(null!==d)return d;if(null!==c)a=c;else{uh=!0;break}}else{a=jh(a,sh,T);if(null!==a)return a.effectTag&=511,a;null!==c&&(c.firstEffect=c.lastEffect=null,c.effectTag|=512);if(null!==d)return d;if(null!==c)a=c;else break}}return null}
4861
- function xh(a){var b=Rg(a.alternate,a,T);null===b&&(b=wh(a));ec.current=null;return b}
4862
- function yh(a,b,c){ph?A("243"):void 0;ph=!0;if(b!==T||a!==qh||null===S)vh(),qh=a,T=b,rh=-1,S=zf(qh.current,null,T),a.pendingCommitExpirationTime=0;var d=!1;sh=!c||T<=lh;do{try{if(c)for(;null!==S&&!zh();)S=xh(S);else for(;null!==S;)S=xh(S)}catch(f){if(null===S)d=!0,fh(f);else{null===S?A("271"):void 0;c=S;var e=c.return;if(null===e){d=!0;fh(f);break}ih(a,e,c,f,sh,T,mh);S=wh(c)}}break}while(1);ph=!1;if(d)return null;if(null===S){if(uh)return a.pendingCommitExpirationTime=b,a.current.alternate;sh?A("262"):
4863
- void 0;0<=rh&&setTimeout(function(){var b=a.current.expirationTime;0!==b&&(0===a.remainingExpirationTime||a.remainingExpirationTime<b)&&Ah(a,b)},rh);Bh(a.current.expirationTime)}return null}
4864
- function Zg(a,b){var c;a:{ph&&!th?A("263"):void 0;for(c=a.return;null!==c;){switch(c.tag){case 2:var d=c.stateNode;if("function"===typeof c.type.getDerivedStateFromCatch||"function"===typeof d.componentDidCatch&&(null===hh||!hh.has(d))){a=Xf(b,a);a=gh(c,a,1);Qf(c,a,1);og(c,1);c=void 0;break a}break;case 3:a=Xf(b,a);a=eh(c,a,1);Qf(c,a,1);og(c,1);c=void 0;break a}c=c.return}3===a.tag&&(c=Xf(b,a),c=eh(a,c,1),Qf(a,c,1),og(a,1));c=void 0}return c}
4865
- function Ch(){var a=2+25*(((mg()-2+500)/25|0)+1);a<=nh&&(a=nh+1);return nh=a}function ng(a,b){a=0!==oh?oh:ph?th?1:T:b.mode&1?Dh?2+10*(((a-2+15)/10|0)+1):2+25*(((a-2+500)/25|0)+1):1;Dh&&(0===Eh||a>Eh)&&(Eh=a);return a}
4866
- function og(a,b){for(;null!==a;){if(0===a.expirationTime||a.expirationTime>b)a.expirationTime=b;null!==a.alternate&&(0===a.alternate.expirationTime||a.alternate.expirationTime>b)&&(a.alternate.expirationTime=b);if(null===a.return)if(3===a.tag){var c=a.stateNode;!ph&&0!==T&&b<T&&vh();var d=c.current.expirationTime;ph&&!th&&qh===c||Ah(c,d);Fh>Gh&&A("185")}else break;a=a.return}}function mg(){mh=ef()-kh;return lh=(mh/10|0)+2}
4867
- function Hh(a){var b=oh;oh=2+25*(((mg()-2+500)/25|0)+1);try{return a()}finally{oh=b}}function Ih(a,b,c,d,e){var f=oh;oh=1;try{return a(b,c,d,e)}finally{oh=f}}var Jh=null,V=null,Kh=0,Lh=void 0,W=!1,X=null,Y=0,Eh=0,Mh=!1,Nh=!1,Oh=null,Ph=null,Z=!1,Qh=!1,Dh=!1,Rh=null,Gh=1E3,Fh=0,Sh=1;function Th(a){if(0!==Kh){if(a>Kh)return;null!==Lh&&gf(Lh)}var b=ef()-kh;Kh=a;Lh=ff(Uh,{timeout:10*(a-2)-b})}
4868
- function Ah(a,b){if(null===a.nextScheduledRoot)a.remainingExpirationTime=b,null===V?(Jh=V=a,a.nextScheduledRoot=a):(V=V.nextScheduledRoot=a,V.nextScheduledRoot=Jh);else{var c=a.remainingExpirationTime;if(0===c||b<c)a.remainingExpirationTime=b}W||(Z?Qh&&(X=a,Y=1,Vh(a,1,!1)):1===b?Wh():Th(b))}
4869
- function Xh(){var a=0,b=null;if(null!==V)for(var c=V,d=Jh;null!==d;){var e=d.remainingExpirationTime;if(0===e){null===c||null===V?A("244"):void 0;if(d===d.nextScheduledRoot){Jh=V=d.nextScheduledRoot=null;break}else if(d===Jh)Jh=e=d.nextScheduledRoot,V.nextScheduledRoot=e,d.nextScheduledRoot=null;else if(d===V){V=c;V.nextScheduledRoot=Jh;d.nextScheduledRoot=null;break}else c.nextScheduledRoot=d.nextScheduledRoot,d.nextScheduledRoot=null;d=c.nextScheduledRoot}else{if(0===a||e<a)a=e,b=d;if(d===V)break;
4870
- c=d;d=d.nextScheduledRoot}}c=X;null!==c&&c===b&&1===a?Fh++:Fh=0;X=b;Y=a}function Uh(a){Yh(0,!0,a)}function Wh(){Yh(1,!1,null)}function Yh(a,b,c){Ph=c;Xh();if(b)for(;null!==X&&0!==Y&&(0===a||a>=Y)&&(!Mh||mg()>=Y);)mg(),Vh(X,Y,!Mh),Xh();else for(;null!==X&&0!==Y&&(0===a||a>=Y);)Vh(X,Y,!1),Xh();null!==Ph&&(Kh=0,Lh=null);0!==Y&&Th(Y);Ph=null;Mh=!1;Zh()}function $h(a,b){W?A("253"):void 0;X=a;Y=b;Vh(a,b,!1);Wh();Zh()}
4871
- function Zh(){Fh=0;if(null!==Rh){var a=Rh;Rh=null;for(var b=0;b<a.length;b++){var c=a[b];try{c._onComplete()}catch(d){Nh||(Nh=!0,Oh=d)}}}if(Nh)throw a=Oh,Oh=null,Nh=!1,a;}function Vh(a,b,c){W?A("245"):void 0;W=!0;c?(c=a.finishedWork,null!==c?ai(a,c,b):(c=yh(a,b,!0),null!==c&&(zh()?a.finishedWork=c:ai(a,c,b)))):(c=a.finishedWork,null!==c?ai(a,c,b):(c=yh(a,b,!1),null!==c&&ai(a,c,b)));W=!1}
4872
- function ai(a,b,c){var d=a.firstBatch;if(null!==d&&d._expirationTime<=c&&(null===Rh?Rh=[d]:Rh.push(d),d._defer)){a.finishedWork=b;a.remainingExpirationTime=0;return}a.finishedWork=null;th=ph=!0;c=b.stateNode;c.current===b?A("177"):void 0;d=c.pendingCommitExpirationTime;0===d?A("261"):void 0;c.pendingCommitExpirationTime=0;mg();ec.current=null;if(1<b.effectTag)if(null!==b.lastEffect){b.lastEffect.nextEffect=b;var e=b.firstEffect}else e=b;else e=b.firstEffect;af=Hd;var f=da();if(Ud(f)){if("selectionStart"in
4873
- f)var g={start:f.selectionStart,end:f.selectionEnd};else a:{var h=window.getSelection&&window.getSelection();if(h&&0!==h.rangeCount){g=h.anchorNode;var k=h.anchorOffset,n=h.focusNode;h=h.focusOffset;try{g.nodeType,n.nodeType}catch(Wa){g=null;break a}var r=0,w=-1,P=-1,nc=0,Jd=0,E=f,t=null;b:for(;;){for(var x;;){E!==g||0!==k&&3!==E.nodeType||(w=r+k);E!==n||0!==h&&3!==E.nodeType||(P=r+h);3===E.nodeType&&(r+=E.nodeValue.length);if(null===(x=E.firstChild))break;t=E;E=x}for(;;){if(E===f)break b;t===g&&
4874
- ++nc===k&&(w=r);t===n&&++Jd===h&&(P=r);if(null!==(x=E.nextSibling))break;E=t;t=E.parentNode}E=x}g=-1===w||-1===P?null:{start:w,end:P}}else g=null}g=g||{start:0,end:0}}else g=null;bf={focusedElem:f,selectionRange:g};Id(!1);for(U=e;null!==U;){f=!1;g=void 0;try{for(;null!==U;){if(U.effectTag&256){var u=U.alternate;k=U;switch(k.tag){case 2:if(k.effectTag&256&&null!==u){var y=u.memoizedProps,D=u.memoizedState,ja=k.stateNode;ja.props=k.memoizedProps;ja.state=k.memoizedState;var mi=ja.getSnapshotBeforeUpdate(y,
4875
- D);ja.__reactInternalSnapshotBeforeUpdate=mi}break;case 3:case 5:case 6:case 4:break;default:A("163")}}U=U.nextEffect}}catch(Wa){f=!0,g=Wa}f&&(null===U?A("178"):void 0,Zg(U,g),null!==U&&(U=U.nextEffect))}for(U=e;null!==U;){u=!1;y=void 0;try{for(;null!==U;){var q=U.effectTag;q&16&&Ke(U.stateNode,"");if(q&128){var z=U.alternate;if(null!==z){var l=z.ref;null!==l&&("function"===typeof l?l(null):l.current=null)}}switch(q&14){case 2:ch(U);U.effectTag&=-3;break;case 6:ch(U);U.effectTag&=-3;dh(U.alternate,
4876
- U);break;case 4:dh(U.alternate,U);break;case 8:D=U,ah(D),D.return=null,D.child=null,D.alternate&&(D.alternate.child=null,D.alternate.return=null)}U=U.nextEffect}}catch(Wa){u=!0,y=Wa}u&&(null===U?A("178"):void 0,Zg(U,y),null!==U&&(U=U.nextEffect))}l=bf;z=da();q=l.focusedElem;u=l.selectionRange;if(z!==q&&fa(document.documentElement,q)){null!==u&&Ud(q)&&(z=u.start,l=u.end,void 0===l&&(l=z),"selectionStart"in q?(q.selectionStart=z,q.selectionEnd=Math.min(l,q.value.length)):window.getSelection&&(z=window.getSelection(),
4877
- y=q[lb()].length,l=Math.min(u.start,y),u=void 0===u.end?l:Math.min(u.end,y),!z.extend&&l>u&&(y=u,u=l,l=y),y=Td(q,l),D=Td(q,u),y&&D&&(1!==z.rangeCount||z.anchorNode!==y.node||z.anchorOffset!==y.offset||z.focusNode!==D.node||z.focusOffset!==D.offset)&&(ja=document.createRange(),ja.setStart(y.node,y.offset),z.removeAllRanges(),l>u?(z.addRange(ja),z.extend(D.node,D.offset)):(ja.setEnd(D.node,D.offset),z.addRange(ja)))));z=[];for(l=q;l=l.parentNode;)1===l.nodeType&&z.push({element:l,left:l.scrollLeft,
4878
- top:l.scrollTop});"function"===typeof q.focus&&q.focus();for(q=0;q<z.length;q++)l=z[q],l.element.scrollLeft=l.left,l.element.scrollTop=l.top}bf=null;Id(af);af=null;c.current=b;for(U=e;null!==U;){e=!1;q=void 0;try{for(z=d;null!==U;){var hg=U.effectTag;if(hg&36){var oc=U.alternate;l=U;u=z;switch(l.tag){case 2:var ca=l.stateNode;if(l.effectTag&4)if(null===oc)ca.props=l.memoizedProps,ca.state=l.memoizedState,ca.componentDidMount();else{var wi=oc.memoizedProps,xi=oc.memoizedState;ca.props=l.memoizedProps;
4879
- ca.state=l.memoizedState;ca.componentDidUpdate(wi,xi,ca.__reactInternalSnapshotBeforeUpdate)}var Ng=l.updateQueue;null!==Ng&&(ca.props=l.memoizedProps,ca.state=l.memoizedState,Wf(l,Ng,ca,u));break;case 3:var Og=l.updateQueue;if(null!==Og){y=null;if(null!==l.child)switch(l.child.tag){case 5:y=l.child.stateNode;break;case 2:y=l.child.stateNode}Wf(l,Og,y,u)}break;case 5:var yi=l.stateNode;null===oc&&l.effectTag&4&&cf(l.type,l.memoizedProps)&&yi.focus();break;case 6:break;case 4:break;case 15:break;case 16:break;
4880
- default:A("163")}}if(hg&128){l=void 0;var yc=U.ref;if(null!==yc){var Pg=U.stateNode;switch(U.tag){case 5:l=Pg;break;default:l=Pg}"function"===typeof yc?yc(l):yc.current=l}}var zi=U.nextEffect;U.nextEffect=null;U=zi}}catch(Wa){e=!0,q=Wa}e&&(null===U?A("178"):void 0,Zg(U,q),null!==U&&(U=U.nextEffect))}ph=th=!1;"function"===typeof Jf&&Jf(b.stateNode);b=c.current.expirationTime;0===b&&(hh=null);a.remainingExpirationTime=b}function zh(){return null===Ph||Ph.timeRemaining()>Sh?!1:Mh=!0}
4881
- function fh(a){null===X?A("246"):void 0;X.remainingExpirationTime=0;Nh||(Nh=!0,Oh=a)}function Bh(a){null===X?A("246"):void 0;X.remainingExpirationTime=a}function bi(a,b){var c=Z;Z=!0;try{return a(b)}finally{(Z=c)||W||Wh()}}function ci(a,b){if(Z&&!Qh){Qh=!0;try{return a(b)}finally{Qh=!1}}return a(b)}function di(a,b){W?A("187"):void 0;var c=Z;Z=!0;try{return Ih(a,b)}finally{Z=c,Wh()}}
4882
- function ei(a,b,c){if(Dh)return a(b,c);Z||W||0===Eh||(Yh(Eh,!1,null),Eh=0);var d=Dh,e=Z;Z=Dh=!0;try{return a(b,c)}finally{Dh=d,(Z=e)||W||Wh()}}function fi(a){var b=Z;Z=!0;try{Ih(a)}finally{(Z=b)||W||Yh(1,!1,null)}}
4883
- function gi(a,b,c,d,e){var f=b.current;if(c){c=c._reactInternalFiber;var g;b:{2===jd(c)&&2===c.tag?void 0:A("170");for(g=c;3!==g.tag;){if(qf(g)){g=g.stateNode.__reactInternalMemoizedMergedChildContext;break b}(g=g.return)?void 0:A("171")}g=g.stateNode.context}c=qf(c)?vf(c,g):g}else c=ha;null===b.context?b.context=c:b.pendingContext=c;b=e;e=Of(d);e.payload={element:a};b=void 0===b?null:b;null!==b&&(e.callback=b);Qf(f,e,d);og(f,d);return d}
4884
- function hi(a){var b=a._reactInternalFiber;void 0===b&&("function"===typeof a.render?A("188"):A("268",Object.keys(a)));a=md(b);return null===a?null:a.stateNode}function ii(a,b,c,d){var e=b.current,f=mg();e=ng(f,e);return gi(a,b,c,e,d)}function ji(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}
4885
- function ki(a){var b=a.findFiberByHostInstance;return If(p({},a,{findHostInstanceByFiber:function(a){a=md(a);return null===a?null:a.stateNode},findFiberByHostInstance:function(a){return b?b(a):null}}))}
4886
- var li={updateContainerAtExpirationTime:gi,createContainer:function(a,b,c){return Ef(a,b,c)},updateContainer:ii,flushRoot:$h,requestWork:Ah,computeUniqueAsyncExpiration:Ch,batchedUpdates:bi,unbatchedUpdates:ci,deferredUpdates:Hh,syncUpdates:Ih,interactiveUpdates:ei,flushInteractiveUpdates:function(){W||0===Eh||(Yh(Eh,!1,null),Eh=0)},flushControlled:fi,flushSync:di,getPublicRootInstance:ji,findHostInstance:hi,findHostInstanceWithNoPortals:function(a){a=nd(a);return null===a?null:a.stateNode},injectIntoDevTools:ki};
4887
- function ni(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:hc,key:null==d?null:""+d,children:a,containerInfo:b,implementation:c}}Kb.injectFiberControlledHostComponent($e);function oi(a){this._expirationTime=Ch();this._root=a;this._callbacks=this._next=null;this._hasChildren=this._didComplete=!1;this._children=null;this._defer=!0}
4888
- oi.prototype.render=function(a){this._defer?void 0:A("250");this._hasChildren=!0;this._children=a;var b=this._root._internalRoot,c=this._expirationTime,d=new pi;gi(a,b,null,c,d._onCommit);return d};oi.prototype.then=function(a){if(this._didComplete)a();else{var b=this._callbacks;null===b&&(b=this._callbacks=[]);b.push(a)}};
4889
- oi.prototype.commit=function(){var a=this._root._internalRoot,b=a.firstBatch;this._defer&&null!==b?void 0:A("251");if(this._hasChildren){var c=this._expirationTime;if(b!==this){this._hasChildren&&(c=this._expirationTime=b._expirationTime,this.render(this._children));for(var d=null,e=b;e!==this;)d=e,e=e._next;null===d?A("251"):void 0;d._next=e._next;this._next=b;a.firstBatch=this}this._defer=!1;$h(a,c);b=this._next;this._next=null;b=a.firstBatch=b;null!==b&&b._hasChildren&&b.render(b._children)}else this._next=
4890
- null,this._defer=!1};oi.prototype._onComplete=function(){if(!this._didComplete){this._didComplete=!0;var a=this._callbacks;if(null!==a)for(var b=0;b<a.length;b++)(0,a[b])()}};function pi(){this._callbacks=null;this._didCommit=!1;this._onCommit=this._onCommit.bind(this)}pi.prototype.then=function(a){if(this._didCommit)a();else{var b=this._callbacks;null===b&&(b=this._callbacks=[]);b.push(a)}};
4891
- pi.prototype._onCommit=function(){if(!this._didCommit){this._didCommit=!0;var a=this._callbacks;if(null!==a)for(var b=0;b<a.length;b++){var c=a[b];"function"!==typeof c?A("191",c):void 0;c()}}};function qi(a,b,c){this._internalRoot=Ef(a,b,c)}qi.prototype.render=function(a,b){var c=this._internalRoot,d=new pi;b=void 0===b?null:b;null!==b&&d.then(b);ii(a,c,null,d._onCommit);return d};
4892
- qi.prototype.unmount=function(a){var b=this._internalRoot,c=new pi;a=void 0===a?null:a;null!==a&&c.then(a);ii(null,b,null,c._onCommit);return c};qi.prototype.legacy_renderSubtreeIntoContainer=function(a,b,c){var d=this._internalRoot,e=new pi;c=void 0===c?null:c;null!==c&&e.then(c);ii(b,d,a,e._onCommit);return e};
4893
- qi.prototype.createBatch=function(){var a=new oi(this),b=a._expirationTime,c=this._internalRoot,d=c.firstBatch;if(null===d)c.firstBatch=a,a._next=null;else{for(c=null;null!==d&&d._expirationTime<=b;)c=d,d=d._next;a._next=d;null!==c&&(c._next=a)}return a};function ri(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||" react-mount-point-unstable "!==a.nodeValue))}Sb=li.batchedUpdates;Tb=li.interactiveUpdates;Ub=li.flushInteractiveUpdates;
4894
- function si(a,b){b||(b=a?9===a.nodeType?a.documentElement:a.firstChild:null,b=!(!b||1!==b.nodeType||!b.hasAttribute("data-reactroot")));if(!b)for(var c;c=a.lastChild;)a.removeChild(c);return new qi(a,!1,b)}
4895
- function ti(a,b,c,d,e){ri(c)?void 0:A("200");var f=c._reactRootContainer;if(f){if("function"===typeof e){var g=e;e=function(){var a=ji(f._internalRoot);g.call(a)}}null!=a?f.legacy_renderSubtreeIntoContainer(a,b,e):f.render(b,e)}else{f=c._reactRootContainer=si(c,d);if("function"===typeof e){var h=e;e=function(){var a=ji(f._internalRoot);h.call(a)}}ci(function(){null!=a?f.legacy_renderSubtreeIntoContainer(a,b,e):f.render(b,e)})}return ji(f._internalRoot)}
4896
- function ui(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;ri(b)?void 0:A("200");return ni(a,b,null,c)}
4897
- var vi={createPortal:ui,findDOMNode:function(a){return null==a?null:1===a.nodeType?a:hi(a)},hydrate:function(a,b,c){return ti(null,a,b,!0,c)},render:function(a,b,c){return ti(null,a,b,!1,c)},unstable_renderSubtreeIntoContainer:function(a,b,c,d){null==a||void 0===a._reactInternalFiber?A("38"):void 0;return ti(a,b,c,!1,d)},unmountComponentAtNode:function(a){ri(a)?void 0:A("40");return a._reactRootContainer?(ci(function(){ti(null,null,a,!1,function(){a._reactRootContainer=null})}),!0):!1},unstable_createPortal:function(){return ui.apply(void 0,
4898
- arguments)},unstable_batchedUpdates:bi,unstable_deferredUpdates:Hh,unstable_interactiveUpdates:ei,flushSync:di,unstable_flushControlled:fi,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{EventPluginHub:Ka,EventPluginRegistry:va,EventPropagators:$a,ReactControlledComponent:Rb,ReactDOMComponentTree:Qa,ReactDOMEventListener:Nd},unstable_createRoot:function(a,b){return new qi(a,!0,null!=b&&!0===b.hydrate)}};ki({findFiberByHostInstance:Na,bundleType:0,version:"16.4.1",rendererPackageName:"react-dom"});
4899
- var Ai={default:vi},Bi=Ai&&vi||Ai;module.exports=Bi.default?Bi.default:Bi;
4900
-
4901
-
4902
- /***/ }),
4903
- /* 126 */
4904
- /***/ (function(module, exports, __webpack_require__) {
4905
-
4906
- "use strict";
4907
- /**
4908
- * Copyright (c) 2013-present, Facebook, Inc.
4909
- *
4910
- * This source code is licensed under the MIT license found in the
4911
- * LICENSE file in the root directory of this source tree.
4912
- *
4913
- */
4914
-
4915
-
4916
-
4917
- var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);
4918
-
4919
- /**
4920
- * Simple, lightweight module assisting with the detection and context of
4921
- * Worker. Helps avoid circular dependencies and allows code to reason about
4922
- * whether or not they are in a Worker, even if they never include the main
4923
- * `ReactWorker` dependency.
4924
- */
4925
- var ExecutionEnvironment = {
4926
-
4927
- canUseDOM: canUseDOM,
4928
-
4929
- canUseWorkers: typeof Worker !== 'undefined',
4930
-
4931
- canUseEventListeners: canUseDOM && !!(window.addEventListener || window.attachEvent),
4932
-
4933
- canUseViewport: canUseDOM && !!window.screen,
4934
-
4935
- isInWorker: !canUseDOM // For now, this is true - might change in the future.
4936
-
4937
- };
4938
-
4939
- module.exports = ExecutionEnvironment;
4940
-
4941
- /***/ }),
4942
- /* 127 */
4943
- /***/ (function(module, exports, __webpack_require__) {
4944
-
4945
- "use strict";
4946
-
4947
-
4948
- /**
4949
- * Copyright (c) 2013-present, Facebook, Inc.
4950
- *
4951
- * This source code is licensed under the MIT license found in the
4952
- * LICENSE file in the root directory of this source tree.
4953
- *
4954
- * @typechecks
4955
- */
4956
-
4957
- /* eslint-disable fb-www/typeof-undefined */
4958
-
4959
- /**
4960
- * Same as document.activeElement but wraps in a try-catch block. In IE it is
4961
- * not safe to call document.activeElement if there is nothing focused.
4962
- *
4963
- * The activeElement will be null only if the document or document body is not
4964
- * yet defined.
4965
- *
4966
- * @param {?DOMDocument} doc Defaults to current document.
4967
- * @return {?DOMElement}
4968
- */
4969
- function getActiveElement(doc) /*?DOMElement*/{
4970
- doc = doc || (typeof document !== 'undefined' ? document : undefined);
4971
- if (typeof doc === 'undefined') {
4972
- return null;
4973
- }
4974
- try {
4975
- return doc.activeElement || doc.body;
4976
- } catch (e) {
4977
- return doc.body;
4978
- }
4979
- }
4980
-
4981
- module.exports = getActiveElement;
4982
-
4983
- /***/ }),
4984
- /* 128 */
4985
- /***/ (function(module, exports, __webpack_require__) {
4986
-
4987
- "use strict";
4988
- /**
4989
- * Copyright (c) 2013-present, Facebook, Inc.
4990
- *
4991
- * This source code is licensed under the MIT license found in the
4992
- * LICENSE file in the root directory of this source tree.
4993
- *
4994
- * @typechecks
4995
- *
4996
- */
4997
-
4998
- /*eslint-disable no-self-compare */
4999
-
5000
-
5001
-
5002
- var hasOwnProperty = Object.prototype.hasOwnProperty;
5003
-
5004
- /**
5005
- * inlined Object.is polyfill to avoid requiring consumers ship their own
5006
- * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
5007
- */
5008
- function is(x, y) {
5009
- // SameValue algorithm
5010
- if (x === y) {
5011
- // Steps 1-5, 7-10
5012
- // Steps 6.b-6.e: +0 != -0
5013
- // Added the nonzero y check to make Flow happy, but it is redundant
5014
- return x !== 0 || y !== 0 || 1 / x === 1 / y;
5015
- } else {
5016
- // Step 6.a: NaN == NaN
5017
- return x !== x && y !== y;
5018
- }
5019
- }
5020
-
5021
- /**
5022
- * Performs equality by iterating through keys on an object and returning false
5023
- * when any key has values which are not strictly equal between the arguments.
5024
- * Returns true when the values of all keys are strictly equal.
5025
- */
5026
- function shallowEqual(objA, objB) {
5027
- if (is(objA, objB)) {
5028
- return true;
5029
- }
5030
-
5031
- if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {
5032
- return false;
5033
- }
5034
-
5035
- var keysA = Object.keys(objA);
5036
- var keysB = Object.keys(objB);
5037
-
5038
- if (keysA.length !== keysB.length) {
5039
- return false;
5040
- }
5041
-
5042
- // Test for A's keys different from B.
5043
- for (var i = 0; i < keysA.length; i++) {
5044
- if (!hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {
5045
- return false;
5046
- }
5047
- }
5048
-
5049
- return true;
5050
- }
5051
-
5052
- module.exports = shallowEqual;
5053
-
5054
- /***/ }),
5055
- /* 129 */
5056
- /***/ (function(module, exports, __webpack_require__) {
5057
-
5058
- "use strict";
5059
-
5060
-
5061
- /**
5062
- * Copyright (c) 2013-present, Facebook, Inc.
5063
- *
5064
- * This source code is licensed under the MIT license found in the
5065
- * LICENSE file in the root directory of this source tree.
5066
- *
5067
- *
5068
- */
5069
-
5070
- var isTextNode = __webpack_require__(130);
5071
-
5072
- /*eslint-disable no-bitwise */
5073
-
5074
- /**
5075
- * Checks if a given DOM node contains or is another DOM node.
5076
- */
5077
- function containsNode(outerNode, innerNode) {
5078
- if (!outerNode || !innerNode) {
5079
- return false;
5080
- } else if (outerNode === innerNode) {
5081
- return true;
5082
- } else if (isTextNode(outerNode)) {
5083
- return false;
5084
- } else if (isTextNode(innerNode)) {
5085
- return containsNode(outerNode, innerNode.parentNode);
5086
- } else if ('contains' in outerNode) {
5087
- return outerNode.contains(innerNode);
5088
- } else if (outerNode.compareDocumentPosition) {
5089
- return !!(outerNode.compareDocumentPosition(innerNode) & 16);
5090
- } else {
5091
- return false;
5092
- }
5093
  }
5094
 
5095
- module.exports = containsNode;
5096
 
5097
  /***/ }),
5098
- /* 130 */
5099
  /***/ (function(module, exports, __webpack_require__) {
5100
 
5101
  "use strict";
5102
-
5103
-
5104
- /**
5105
- * Copyright (c) 2013-present, Facebook, Inc.
5106
  *
5107
  * This source code is licensed under the MIT license found in the
5108
  * LICENSE file in the root directory of this source tree.
5109
- *
5110
- * @typechecks
5111
  */
5112
 
5113
- var isNode = __webpack_require__(131);
5114
-
5115
- /**
5116
- * @param {*} object The object to check.
5117
- * @return {boolean} Whether or not the object is a DOM text node.
5118
- */
5119
- function isTextNode(object) {
5120
- return isNode(object) && object.nodeType == 3;
5121
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5122
 
5123
- module.exports = isTextNode;
5124
 
5125
  /***/ }),
5126
- /* 131 */
5127
  /***/ (function(module, exports, __webpack_require__) {
5128
 
5129
  "use strict";
5130
 
5131
 
5132
- /**
5133
- * Copyright (c) 2013-present, Facebook, Inc.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5134
  *
5135
  * This source code is licensed under the MIT license found in the
5136
  * LICENSE file in the root directory of this source tree.
5137
- *
5138
- * @typechecks
5139
  */
5140
 
5141
- /**
5142
- * @param {*} object The object to check.
5143
- * @return {boolean} Whether or not the object is a DOM node.
5144
- */
5145
- function isNode(object) {
5146
- var doc = object ? object.ownerDocument || object : document;
5147
- var defaultView = doc.defaultView || window;
5148
- return !!(object && (typeof defaultView.Node === 'function' ? object instanceof defaultView.Node : typeof object === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string'));
5149
- }
 
5150
 
5151
- module.exports = isNode;
5152
 
5153
  /***/ }),
5154
- /* 132 */
5155
  /***/ (function(module, exports, __webpack_require__) {
5156
 
5157
  "use strict";
5158
 
5159
 
5160
- var utils = __webpack_require__(9);
5161
- var bind = __webpack_require__(62);
5162
- var Axios = __webpack_require__(134);
5163
- var defaults = __webpack_require__(40);
5164
 
5165
  /**
5166
  * Create an instance of Axios
@@ -5193,15 +13913,15 @@ axios.create = function create(instanceConfig) {
5193
  };
5194
 
5195
  // Expose Cancel & CancelToken
5196
- axios.Cancel = __webpack_require__(67);
5197
- axios.CancelToken = __webpack_require__(148);
5198
- axios.isCancel = __webpack_require__(66);
5199
 
5200
  // Expose all/spread
5201
  axios.all = function all(promises) {
5202
  return Promise.all(promises);
5203
  };
5204
- axios.spread = __webpack_require__(149);
5205
 
5206
  module.exports = axios;
5207
 
@@ -5210,7 +13930,7 @@ module.exports.default = axios;
5210
 
5211
 
5212
  /***/ }),
5213
- /* 133 */
5214
  /***/ (function(module, exports) {
5215
 
5216
  /*!
@@ -5237,16 +13957,16 @@ function isSlowBuffer (obj) {
5237
 
5238
 
5239
  /***/ }),
5240
- /* 134 */
5241
  /***/ (function(module, exports, __webpack_require__) {
5242
 
5243
  "use strict";
5244
 
5245
 
5246
- var defaults = __webpack_require__(40);
5247
- var utils = __webpack_require__(9);
5248
- var InterceptorManager = __webpack_require__(143);
5249
- var dispatchRequest = __webpack_require__(144);
5250
 
5251
  /**
5252
  * Create a new instance of Axios
@@ -5323,13 +14043,13 @@ module.exports = Axios;
5323
 
5324
 
5325
  /***/ }),
5326
- /* 135 */
5327
  /***/ (function(module, exports, __webpack_require__) {
5328
 
5329
  "use strict";
5330
 
5331
 
5332
- var utils = __webpack_require__(9);
5333
 
5334
  module.exports = function normalizeHeaderName(headers, normalizedName) {
5335
  utils.forEach(headers, function processHeader(value, name) {
@@ -5342,13 +14062,13 @@ module.exports = function normalizeHeaderName(headers, normalizedName) {
5342
 
5343
 
5344
  /***/ }),
5345
- /* 136 */
5346
  /***/ (function(module, exports, __webpack_require__) {
5347
 
5348
  "use strict";
5349
 
5350
 
5351
- var createError = __webpack_require__(65);
5352
 
5353
  /**
5354
  * Resolve or reject a Promise based on response status.
@@ -5375,7 +14095,7 @@ module.exports = function settle(resolve, reject, response) {
5375
 
5376
 
5377
  /***/ }),
5378
- /* 137 */
5379
  /***/ (function(module, exports, __webpack_require__) {
5380
 
5381
  "use strict";
@@ -5403,13 +14123,13 @@ module.exports = function enhanceError(error, config, code, request, response) {
5403
 
5404
 
5405
  /***/ }),
5406
- /* 138 */
5407
  /***/ (function(module, exports, __webpack_require__) {
5408
 
5409
  "use strict";
5410
 
5411
 
5412
- var utils = __webpack_require__(9);
5413
 
5414
  function encode(val) {
5415
  return encodeURIComponent(val).
@@ -5476,13 +14196,13 @@ module.exports = function buildURL(url, params, paramsSerializer) {
5476
 
5477
 
5478
  /***/ }),
5479
- /* 139 */
5480
  /***/ (function(module, exports, __webpack_require__) {
5481
 
5482
  "use strict";
5483
 
5484
 
5485
- var utils = __webpack_require__(9);
5486
 
5487
  // Headers whose duplicates are ignored by node
5488
  // c.f. https://nodejs.org/api/http.html#http_message_headers
@@ -5536,13 +14256,13 @@ module.exports = function parseHeaders(headers) {
5536
 
5537
 
5538
  /***/ }),
5539
- /* 140 */
5540
  /***/ (function(module, exports, __webpack_require__) {
5541
 
5542
  "use strict";
5543
 
5544
 
5545
- var utils = __webpack_require__(9);
5546
 
5547
  module.exports = (
5548
  utils.isStandardBrowserEnv() ?
@@ -5611,7 +14331,7 @@ module.exports = (
5611
 
5612
 
5613
  /***/ }),
5614
- /* 141 */
5615
  /***/ (function(module, exports, __webpack_require__) {
5616
 
5617
  "use strict";
@@ -5654,13 +14374,13 @@ module.exports = btoa;
5654
 
5655
 
5656
  /***/ }),
5657
- /* 142 */
5658
  /***/ (function(module, exports, __webpack_require__) {
5659
 
5660
  "use strict";
5661
 
5662
 
5663
- var utils = __webpack_require__(9);
5664
 
5665
  module.exports = (
5666
  utils.isStandardBrowserEnv() ?
@@ -5714,13 +14434,13 @@ module.exports = (
5714
 
5715
 
5716
  /***/ }),
5717
- /* 143 */
5718
  /***/ (function(module, exports, __webpack_require__) {
5719
 
5720
  "use strict";
5721
 
5722
 
5723
- var utils = __webpack_require__(9);
5724
 
5725
  function InterceptorManager() {
5726
  this.handlers = [];
@@ -5773,18 +14493,18 @@ module.exports = InterceptorManager;
5773
 
5774
 
5775
  /***/ }),
5776
- /* 144 */
5777
  /***/ (function(module, exports, __webpack_require__) {
5778
 
5779
  "use strict";
5780
 
5781
 
5782
- var utils = __webpack_require__(9);
5783
- var transformData = __webpack_require__(145);
5784
- var isCancel = __webpack_require__(66);
5785
- var defaults = __webpack_require__(40);
5786
- var isAbsoluteURL = __webpack_require__(146);
5787
- var combineURLs = __webpack_require__(147);
5788
 
5789
  /**
5790
  * Throws a `Cancel` if cancellation has been requested.
@@ -5866,13 +14586,13 @@ module.exports = function dispatchRequest(config) {
5866
 
5867
 
5868
  /***/ }),
5869
- /* 145 */
5870
  /***/ (function(module, exports, __webpack_require__) {
5871
 
5872
  "use strict";
5873
 
5874
 
5875
- var utils = __webpack_require__(9);
5876
 
5877
  /**
5878
  * Transform the data for a request or a response
@@ -5893,7 +14613,7 @@ module.exports = function transformData(data, headers, fns) {
5893
 
5894
 
5895
  /***/ }),
5896
- /* 146 */
5897
  /***/ (function(module, exports, __webpack_require__) {
5898
 
5899
  "use strict";
@@ -5914,7 +14634,7 @@ module.exports = function isAbsoluteURL(url) {
5914
 
5915
 
5916
  /***/ }),
5917
- /* 147 */
5918
  /***/ (function(module, exports, __webpack_require__) {
5919
 
5920
  "use strict";
@@ -5935,13 +14655,13 @@ module.exports = function combineURLs(baseURL, relativeURL) {
5935
 
5936
 
5937
  /***/ }),
5938
- /* 148 */
5939
  /***/ (function(module, exports, __webpack_require__) {
5940
 
5941
  "use strict";
5942
 
5943
 
5944
- var Cancel = __webpack_require__(67);
5945
 
5946
  /**
5947
  * A `CancelToken` is an object that can be used to request cancellation of an operation.
@@ -5999,7 +14719,7 @@ module.exports = CancelToken;
5999
 
6000
 
6001
  /*
60
  /******/ __webpack_require__.p = "";
61
  /******/
62
  /******/ // Load entry module and return exports
63
+ /******/ return __webpack_require__(__webpack_require__.s = 207);
64
  /******/ })
65
  /************************************************************************/
66
  /******/ ([
67
  /* 0 */
68
  /***/ (function(module, exports, __webpack_require__) {
69
 
70
+ var global = __webpack_require__(2);
71
+ var core = __webpack_require__(28);
72
+ var hide = __webpack_require__(20);
73
+ var redefine = __webpack_require__(21);
74
+ var ctx = __webpack_require__(29);
75
+ var PROTOTYPE = 'prototype';
76
+
77
+ var $export = function (type, name, source) {
78
+ var IS_FORCED = type & $export.F;
79
+ var IS_GLOBAL = type & $export.G;
80
+ var IS_STATIC = type & $export.S;
81
+ var IS_PROTO = type & $export.P;
82
+ var IS_BIND = type & $export.B;
83
+ var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];
84
+ var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});
85
+ var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});
86
+ var key, own, out, exp;
87
+ if (IS_GLOBAL) source = name;
88
+ for (key in source) {
89
+ // contains in native
90
+ own = !IS_FORCED && target && target[key] !== undefined;
91
+ // export native or passed
92
+ out = (own ? target : source)[key];
93
+ // bind timers to global for call from export context
94
+ exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;
95
+ // extend global
96
+ if (target) redefine(target, key, out, type & $export.U);
97
+ // export
98
+ if (exports[key] != out) hide(exports, key, exp);
99
+ if (IS_PROTO && expProto[key] != out) expProto[key] = out;
100
+ }
101
+ };
102
+ global.core = core;
103
+ // type bitmap
104
+ $export.F = 1; // forced
105
+ $export.G = 2; // global
106
+ $export.S = 4; // static
107
+ $export.P = 8; // proto
108
+ $export.B = 16; // bind
109
+ $export.W = 32; // wrap
110
+ $export.U = 64; // safe
111
+ $export.R = 128; // real proto method for `library`
112
+ module.exports = $export;
113
+
114
+
115
+ /***/ }),
116
+ /* 1 */
117
+ /***/ (function(module, exports, __webpack_require__) {
118
+
119
+ var isObject = __webpack_require__(4);
120
+ module.exports = function (it) {
121
+ if (!isObject(it)) throw TypeError(it + ' is not an object!');
122
+ return it;
123
+ };
124
+
125
+
126
+ /***/ }),
127
+ /* 2 */
128
+ /***/ (function(module, exports) {
129
+
130
+ // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
131
+ var global = module.exports = typeof window != 'undefined' && window.Math == Math
132
+ ? window : typeof self != 'undefined' && self.Math == Math ? self
133
+ // eslint-disable-next-line no-new-func
134
+ : Function('return this')();
135
+ if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef
136
+
137
+
138
+ /***/ }),
139
+ /* 3 */
140
+ /***/ (function(module, exports) {
141
+
142
+ module.exports = function (exec) {
143
+ try {
144
+ return !!exec();
145
+ } catch (e) {
146
+ return true;
147
+ }
148
+ };
149
+
150
+
151
+ /***/ }),
152
+ /* 4 */
153
+ /***/ (function(module, exports) {
154
+
155
+ module.exports = function (it) {
156
+ return typeof it === 'object' ? it !== null : typeof it === 'function';
157
+ };
158
+
159
+
160
+ /***/ }),
161
+ /* 5 */
162
+ /***/ (function(module, exports, __webpack_require__) {
163
+
164
+ var store = __webpack_require__(72)('wks');
165
+ var uid = __webpack_require__(45);
166
+ var Symbol = __webpack_require__(2).Symbol;
167
+ var USE_SYMBOL = typeof Symbol == 'function';
168
+
169
+ var $exports = module.exports = function (name) {
170
+ return store[name] || (store[name] =
171
+ USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));
172
+ };
173
+
174
+ $exports.store = store;
175
+
176
+
177
+ /***/ }),
178
+ /* 6 */
179
+ /***/ (function(module, exports, __webpack_require__) {
180
+
181
  "use strict";
182
 
183
 
184
  if (true) {
185
+ module.exports = __webpack_require__(451);
186
  } else {
187
  module.exports = require('./cjs/react.development.js');
188
  }
189
 
190
 
191
  /***/ }),
192
+ /* 7 */
193
+ /***/ (function(module, exports, __webpack_require__) {
194
+
195
+ // Thank's IE8 for his funny defineProperty
196
+ module.exports = !__webpack_require__(3)(function () {
197
+ return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
198
+ });
199
+
200
+
201
+ /***/ }),
202
+ /* 8 */
203
+ /***/ (function(module, exports, __webpack_require__) {
204
+
205
+ var anObject = __webpack_require__(1);
206
+ var IE8_DOM_DEFINE = __webpack_require__(137);
207
+ var toPrimitive = __webpack_require__(32);
208
+ var dP = Object.defineProperty;
209
+
210
+ exports.f = __webpack_require__(7) ? Object.defineProperty : function defineProperty(O, P, Attributes) {
211
+ anObject(O);
212
+ P = toPrimitive(P, true);
213
+ anObject(Attributes);
214
+ if (IE8_DOM_DEFINE) try {
215
+ return dP(O, P, Attributes);
216
+ } catch (e) { /* empty */ }
217
+ if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');
218
+ if ('value' in Attributes) O[P] = Attributes.value;
219
+ return O;
220
+ };
221
+
222
+
223
+ /***/ }),
224
+ /* 9 */
225
  /***/ (function(module, exports, __webpack_require__) {
226
 
227
+ // 7.1.15 ToLength
228
+ var toInteger = __webpack_require__(34);
229
+ var min = Math.min;
230
+ module.exports = function (it) {
231
+ return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991
232
+ };
233
+
234
 
235
  /***/ }),
236
+ /* 10 */
237
+ /***/ (function(module, exports, __webpack_require__) {
238
+
239
+ module.exports = { "default": __webpack_require__(412), __esModule: true };
240
+
241
+ /***/ }),
242
+ /* 11 */
243
  /***/ (function(module, exports, __webpack_require__) {
244
 
245
  "use strict";
254
  };
255
 
256
  /***/ }),
257
+ /* 12 */
258
  /***/ (function(module, exports, __webpack_require__) {
259
 
260
  "use strict";
262
 
263
  exports.__esModule = true;
264
 
265
+ var _defineProperty = __webpack_require__(416);
266
 
267
  var _defineProperty2 = _interopRequireDefault(_defineProperty);
268
 
287
  }();
288
 
289
  /***/ }),
290
+ /* 13 */
291
  /***/ (function(module, exports, __webpack_require__) {
292
 
293
  "use strict";
295
 
296
  exports.__esModule = true;
297
 
298
+ var _typeof2 = __webpack_require__(176);
299
 
300
  var _typeof3 = _interopRequireDefault(_typeof2);
301
 
310
  };
311
 
312
  /***/ }),
313
+ /* 14 */
314
  /***/ (function(module, exports, __webpack_require__) {
315
 
316
  "use strict";
318
 
319
  exports.__esModule = true;
320
 
321
+ var _setPrototypeOf = __webpack_require__(444);
322
 
323
  var _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf);
324
 
325
+ var _create = __webpack_require__(448);
326
 
327
  var _create2 = _interopRequireDefault(_create);
328
 
329
+ var _typeof2 = __webpack_require__(176);
330
 
331
  var _typeof3 = _interopRequireDefault(_typeof2);
332
 
349
  };
350
 
351
  /***/ }),
352
+ /* 15 */
353
  /***/ (function(module, exports, __webpack_require__) {
354
 
355
  "use strict";
361
  exports.SAVE_OPTIONS = undefined;
362
  exports.saveOptions = saveOptions;
363
 
364
+ var _axios = __webpack_require__(90);
365
 
366
  var _axios2 = _interopRequireDefault(_axios);
367
 
368
+ var _qs = __webpack_require__(132);
369
 
370
  var _qs2 = _interopRequireDefault(_qs);
371
 
372
+ var _send_command = __webpack_require__(199);
373
 
374
  var _send_command2 = _interopRequireDefault(_send_command);
375
 
393
  }
394
 
395
  /***/ }),
396
+ /* 16 */
397
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
398
 
399
  "use strict";
400
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
401
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__components_Provider__ = __webpack_require__(493);
402
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_connectAdvanced__ = __webpack_require__(202);
403
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__connect_connect__ = __webpack_require__(501);
404
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "Provider", function() { return __WEBPACK_IMPORTED_MODULE_0__components_Provider__["b"]; });
405
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "createProvider", function() { return __WEBPACK_IMPORTED_MODULE_0__components_Provider__["a"]; });
406
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "connectAdvanced", function() { return __WEBPACK_IMPORTED_MODULE_1__components_connectAdvanced__["a"]; });
410
 
411
 
412
 
413
+ /***/ }),
414
+ /* 17 */
415
+ /***/ (function(module, exports, __webpack_require__) {
416
+
417
+ // 7.1.13 ToObject(argument)
418
+ var defined = __webpack_require__(33);
419
+ module.exports = function (it) {
420
+ return Object(defined(it));
421
+ };
422
+
423
 
424
  /***/ }),
425
+ /* 18 */
426
  /***/ (function(module, exports, __webpack_require__) {
427
 
428
  "use strict";
432
  value: true
433
  });
434
 
435
+ var _getPrototypeOf = __webpack_require__(10);
436
 
437
  var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
438
 
439
+ var _classCallCheck2 = __webpack_require__(11);
440
 
441
  var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
442
 
443
+ var _createClass2 = __webpack_require__(12);
444
 
445
  var _createClass3 = _interopRequireDefault(_createClass2);
446
 
447
+ var _possibleConstructorReturn2 = __webpack_require__(13);
448
 
449
  var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
450
 
451
+ var _inherits2 = __webpack_require__(14);
452
 
453
  var _inherits3 = _interopRequireDefault(_inherits2);
454
 
455
+ var _react = __webpack_require__(6);
456
 
457
  var _react2 = _interopRequireDefault(_react);
458
 
459
+ var _propTypes = __webpack_require__(133);
460
 
461
  var _propTypes2 = _interopRequireDefault(_propTypes);
462
 
496
  exports.default = LoadingGif;
497
 
498
  /***/ }),
499
+ /* 19 */
500
+ /***/ (function(module, exports) {
501
+
502
+ module.exports = function (it) {
503
+ if (typeof it != 'function') throw TypeError(it + ' is not a function!');
504
+ return it;
505
+ };
506
+
507
+
508
+ /***/ }),
509
+ /* 20 */
510
+ /***/ (function(module, exports, __webpack_require__) {
511
+
512
+ var dP = __webpack_require__(8);
513
+ var createDesc = __webpack_require__(44);
514
+ module.exports = __webpack_require__(7) ? function (object, key, value) {
515
+ return dP.f(object, key, createDesc(1, value));
516
+ } : function (object, key, value) {
517
+ object[key] = value;
518
+ return object;
519
+ };
520
+
521
+
522
+ /***/ }),
523
+ /* 21 */
524
+ /***/ (function(module, exports, __webpack_require__) {
525
+
526
+ var global = __webpack_require__(2);
527
+ var hide = __webpack_require__(20);
528
+ var has = __webpack_require__(23);
529
+ var SRC = __webpack_require__(45)('src');
530
+ var TO_STRING = 'toString';
531
+ var $toString = Function[TO_STRING];
532
+ var TPL = ('' + $toString).split(TO_STRING);
533
+
534
+ __webpack_require__(28).inspectSource = function (it) {
535
+ return $toString.call(it);
536
+ };
537
+
538
+ (module.exports = function (O, key, val, safe) {
539
+ var isFunction = typeof val == 'function';
540
+ if (isFunction) has(val, 'name') || hide(val, 'name', key);
541
+ if (O[key] === val) return;
542
+ if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));
543
+ if (O === global) {
544
+ O[key] = val;
545
+ } else if (!safe) {
546
+ delete O[key];
547
+ hide(O, key, val);
548
+ } else if (O[key]) {
549
+ O[key] = val;
550
+ } else {
551
+ hide(O, key, val);
552
+ }
553
+ // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
554
+ })(Function.prototype, TO_STRING, function toString() {
555
+ return typeof this == 'function' && this[SRC] || $toString.call(this);
556
+ });
557
+
558
+
559
+ /***/ }),
560
+ /* 22 */
561
+ /***/ (function(module, exports, __webpack_require__) {
562
+
563
+ var $export = __webpack_require__(0);
564
+ var fails = __webpack_require__(3);
565
+ var defined = __webpack_require__(33);
566
+ var quot = /"/g;
567
+ // B.2.3.2.1 CreateHTML(string, tag, attribute, value)
568
+ var createHTML = function (string, tag, attribute, value) {
569
+ var S = String(defined(string));
570
+ var p1 = '<' + tag;
571
+ if (attribute !== '') p1 += ' ' + attribute + '="' + String(value).replace(quot, '&quot;') + '"';
572
+ return p1 + '>' + S + '</' + tag + '>';
573
+ };
574
+ module.exports = function (NAME, exec) {
575
+ var O = {};
576
+ O[NAME] = exec(createHTML);
577
+ $export($export.P + $export.F * fails(function () {
578
+ var test = ''[NAME]('"');
579
+ return test !== test.toLowerCase() || test.split('"').length > 3;
580
+ }), 'String', O);
581
+ };
582
+
583
+
584
+ /***/ }),
585
+ /* 23 */
586
+ /***/ (function(module, exports) {
587
+
588
+ var hasOwnProperty = {}.hasOwnProperty;
589
+ module.exports = function (it, key) {
590
+ return hasOwnProperty.call(it, key);
591
+ };
592
+
593
+
594
+ /***/ }),
595
+ /* 24 */
596
+ /***/ (function(module, exports, __webpack_require__) {
597
+
598
+ // to indexed object, toObject with fallback for non-array-like ES3 strings
599
+ var IObject = __webpack_require__(67);
600
+ var defined = __webpack_require__(33);
601
+ module.exports = function (it) {
602
+ return IObject(defined(it));
603
+ };
604
+
605
+
606
+ /***/ }),
607
+ /* 25 */
608
+ /***/ (function(module, exports, __webpack_require__) {
609
+
610
+ var pIE = __webpack_require__(68);
611
+ var createDesc = __webpack_require__(44);
612
+ var toIObject = __webpack_require__(24);
613
+ var toPrimitive = __webpack_require__(32);
614
+ var has = __webpack_require__(23);
615
+ var IE8_DOM_DEFINE = __webpack_require__(137);
616
+ var gOPD = Object.getOwnPropertyDescriptor;
617
+
618
+ exports.f = __webpack_require__(7) ? gOPD : function getOwnPropertyDescriptor(O, P) {
619
+ O = toIObject(O);
620
+ P = toPrimitive(P, true);
621
+ if (IE8_DOM_DEFINE) try {
622
+ return gOPD(O, P);
623
+ } catch (e) { /* empty */ }
624
+ if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);
625
+ };
626
+
627
+
628
+ /***/ }),
629
+ /* 26 */
630
+ /***/ (function(module, exports, __webpack_require__) {
631
+
632
+ // 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)
633
+ var has = __webpack_require__(23);
634
+ var toObject = __webpack_require__(17);
635
+ var IE_PROTO = __webpack_require__(93)('IE_PROTO');
636
+ var ObjectProto = Object.prototype;
637
+
638
+ module.exports = Object.getPrototypeOf || function (O) {
639
+ O = toObject(O);
640
+ if (has(O, IE_PROTO)) return O[IE_PROTO];
641
+ if (typeof O.constructor == 'function' && O instanceof O.constructor) {
642
+ return O.constructor.prototype;
643
+ } return O instanceof Object ? ObjectProto : null;
644
+ };
645
+
646
+
647
+ /***/ }),
648
+ /* 27 */
649
  /***/ (function(module, exports, __webpack_require__) {
650
 
651
  "use strict";
652
 
653
 
654
+ var bind = __webpack_require__(185);
655
+ var isBuffer = __webpack_require__(457);
656
 
657
  /*global toString:true*/
658
 
955
 
956
 
957
  /***/ }),
958
+ /* 28 */
959
  /***/ (function(module, exports) {
960
 
961
+ var core = module.exports = { version: '2.5.7' };
 
 
 
 
 
 
 
 
 
 
 
 
962
  if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef
963
 
964
 
965
  /***/ }),
966
+ /* 29 */
967
+ /***/ (function(module, exports, __webpack_require__) {
968
 
969
+ // optional / simple context binding
970
+ var aFunction = __webpack_require__(19);
971
+ module.exports = function (fn, that, length) {
972
+ aFunction(fn);
973
+ if (that === undefined) return fn;
974
+ switch (length) {
975
+ case 1: return function (a) {
976
+ return fn.call(that, a);
977
+ };
978
+ case 2: return function (a, b) {
979
+ return fn.call(that, a, b);
980
+ };
981
+ case 3: return function (a, b, c) {
982
+ return fn.call(that, a, b, c);
983
+ };
984
+ }
985
+ return function (/* ...args */) {
986
+ return fn.apply(that, arguments);
987
+ };
988
  };
989
 
990
 
991
  /***/ }),
992
+ /* 30 */
993
+ /***/ (function(module, exports) {
994
 
995
+ var toString = {}.toString;
 
 
 
996
 
997
+ module.exports = function (it) {
998
+ return toString.call(it).slice(8, -1);
 
 
 
 
 
 
 
 
999
  };
1000
 
1001
 
1002
  /***/ }),
1003
+ /* 31 */
1004
  /***/ (function(module, exports, __webpack_require__) {
1005
 
1006
+ "use strict";
 
 
 
 
 
 
 
 
1007
 
1008
+ var fails = __webpack_require__(3);
 
 
 
 
1009
 
1010
+ module.exports = function (method, arg) {
1011
+ return !!method && fails(function () {
1012
+ // eslint-disable-next-line no-useless-call
1013
+ arg ? method.call(null, function () { /* empty */ }, 1) : method.call(null);
1014
+ });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1015
  };
 
 
 
 
 
 
 
 
 
 
1016
 
1017
 
1018
  /***/ }),
1019
+ /* 32 */
1020
  /***/ (function(module, exports, __webpack_require__) {
1021
 
1022
+ // 7.1.1 ToPrimitive(input [, PreferredType])
1023
+ var isObject = __webpack_require__(4);
1024
+ // instead of the ES6 spec version, we didn't implement @@toPrimitive case
1025
+ // and the second argument - flag - preferred type is a string
1026
+ module.exports = function (it, S) {
1027
+ if (!isObject(it)) return it;
1028
+ var fn, val;
1029
+ if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
1030
+ if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;
1031
+ if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
1032
+ throw TypeError("Can't convert object to primitive value");
1033
  };
1034
 
1035
 
1036
  /***/ }),
1037
+ /* 33 */
1038
  /***/ (function(module, exports) {
1039
 
1040
+ // 7.2.1 RequireObjectCoercible(argument)
1041
  module.exports = function (it) {
1042
+ if (it == undefined) throw TypeError("Can't call method on " + it);
1043
+ return it;
1044
  };
1045
 
1046
 
1047
  /***/ }),
1048
+ /* 34 */
1049
+ /***/ (function(module, exports) {
1050
 
1051
+ // 7.1.4 ToInteger
1052
+ var ceil = Math.ceil;
1053
+ var floor = Math.floor;
1054
  module.exports = function (it) {
1055
+ return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);
1056
  };
1057
 
1058
 
1059
  /***/ }),
1060
+ /* 35 */
1061
  /***/ (function(module, exports, __webpack_require__) {
1062
 
1063
+ // most Object methods by ES6 should accept primitives
1064
+ var $export = __webpack_require__(0);
1065
+ var core = __webpack_require__(28);
1066
+ var fails = __webpack_require__(3);
1067
+ module.exports = function (KEY, exec) {
1068
+ var fn = (core.Object || {})[KEY] || Object[KEY];
1069
+ var exp = {};
1070
+ exp[KEY] = exec(fn);
1071
+ $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);
1072
  };
1073
 
 
 
1074
 
1075
  /***/ }),
1076
+ /* 36 */
1077
  /***/ (function(module, exports, __webpack_require__) {
1078
 
1079
+ // 0 -> Array#forEach
1080
+ // 1 -> Array#map
1081
+ // 2 -> Array#filter
1082
+ // 3 -> Array#some
1083
+ // 4 -> Array#every
1084
+ // 5 -> Array#find
1085
+ // 6 -> Array#findIndex
1086
+ var ctx = __webpack_require__(29);
1087
+ var IObject = __webpack_require__(67);
1088
+ var toObject = __webpack_require__(17);
1089
+ var toLength = __webpack_require__(9);
1090
+ var asc = __webpack_require__(110);
1091
+ module.exports = function (TYPE, $create) {
1092
+ var IS_MAP = TYPE == 1;
1093
+ var IS_FILTER = TYPE == 2;
1094
+ var IS_SOME = TYPE == 3;
1095
+ var IS_EVERY = TYPE == 4;
1096
+ var IS_FIND_INDEX = TYPE == 6;
1097
+ var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
1098
+ var create = $create || asc;
1099
+ return function ($this, callbackfn, that) {
1100
+ var O = toObject($this);
1101
+ var self = IObject(O);
1102
+ var f = ctx(callbackfn, that, 3);
1103
+ var length = toLength(self.length);
1104
+ var index = 0;
1105
+ var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
1106
+ var val, res;
1107
+ for (;length > index; index++) if (NO_HOLES || index in self) {
1108
+ val = self[index];
1109
+ res = f(val, index, O);
1110
+ if (TYPE) {
1111
+ if (IS_MAP) result[index] = res; // map
1112
+ else if (res) switch (TYPE) {
1113
+ case 3: return true; // some
1114
+ case 5: return val; // find
1115
+ case 6: return index; // findIndex
1116
+ case 2: result.push(val); // filter
1117
+ } else if (IS_EVERY) return false; // every
1118
+ }
1119
+ }
1120
+ return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;
1121
+ };
1122
  };
1123
 
1124
 
1125
  /***/ }),
1126
+ /* 37 */
1127
+ /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
 
 
 
 
 
1128
 
1129
+ "use strict";
 
 
1130
 
1131
+ if (__webpack_require__(7)) {
1132
+ var LIBRARY = __webpack_require__(41);
1133
+ var global = __webpack_require__(2);
1134
+ var fails = __webpack_require__(3);
1135
+ var $export = __webpack_require__(0);
1136
+ var $typed = __webpack_require__(83);
1137
+ var $buffer = __webpack_require__(116);
1138
+ var ctx = __webpack_require__(29);
1139
+ var anInstance = __webpack_require__(51);
1140
+ var propertyDesc = __webpack_require__(44);
1141
+ var hide = __webpack_require__(20);
1142
+ var redefineAll = __webpack_require__(53);
1143
+ var toInteger = __webpack_require__(34);
1144
+ var toLength = __webpack_require__(9);
1145
+ var toIndex = __webpack_require__(163);
1146
+ var toAbsoluteIndex = __webpack_require__(47);
1147
+ var toPrimitive = __webpack_require__(32);
1148
+ var has = __webpack_require__(23);
1149
+ var classof = __webpack_require__(69);
1150
+ var isObject = __webpack_require__(4);
1151
+ var toObject = __webpack_require__(17);
1152
+ var isArrayIter = __webpack_require__(107);
1153
+ var create = __webpack_require__(48);
1154
+ var getPrototypeOf = __webpack_require__(26);
1155
+ var gOPN = __webpack_require__(49).f;
1156
+ var getIterFn = __webpack_require__(109);
1157
+ var uid = __webpack_require__(45);
1158
+ var wks = __webpack_require__(5);
1159
+ var createArrayMethod = __webpack_require__(36);
1160
+ var createArrayIncludes = __webpack_require__(73);
1161
+ var speciesConstructor = __webpack_require__(80);
1162
+ var ArrayIterators = __webpack_require__(112);
1163
+ var Iterators = __webpack_require__(60);
1164
+ var $iterDetect = __webpack_require__(77);
1165
+ var setSpecies = __webpack_require__(50);
1166
+ var arrayFill = __webpack_require__(111);
1167
+ var arrayCopyWithin = __webpack_require__(153);
1168
+ var $DP = __webpack_require__(8);
1169
+ var $GOPD = __webpack_require__(25);
1170
+ var dP = $DP.f;
1171
+ var gOPD = $GOPD.f;
1172
+ var RangeError = global.RangeError;
1173
+ var TypeError = global.TypeError;
1174
+ var Uint8Array = global.Uint8Array;
1175
+ var ARRAY_BUFFER = 'ArrayBuffer';
1176
+ var SHARED_BUFFER = 'Shared' + ARRAY_BUFFER;
1177
+ var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';
1178
+ var PROTOTYPE = 'prototype';
1179
+ var ArrayProto = Array[PROTOTYPE];
1180
+ var $ArrayBuffer = $buffer.ArrayBuffer;
1181
+ var $DataView = $buffer.DataView;
1182
+ var arrayForEach = createArrayMethod(0);
1183
+ var arrayFilter = createArrayMethod(2);
1184
+ var arraySome = createArrayMethod(3);
1185
+ var arrayEvery = createArrayMethod(4);
1186
+ var arrayFind = createArrayMethod(5);
1187
+ var arrayFindIndex = createArrayMethod(6);
1188
+ var arrayIncludes = createArrayIncludes(true);
1189
+ var arrayIndexOf = createArrayIncludes(false);
1190
+ var arrayValues = ArrayIterators.values;
1191
+ var arrayKeys = ArrayIterators.keys;
1192
+ var arrayEntries = ArrayIterators.entries;
1193
+ var arrayLastIndexOf = ArrayProto.lastIndexOf;
1194
+ var arrayReduce = ArrayProto.reduce;
1195
+ var arrayReduceRight = ArrayProto.reduceRight;
1196
+ var arrayJoin = ArrayProto.join;
1197
+ var arraySort = ArrayProto.sort;
1198
+ var arraySlice = ArrayProto.slice;
1199
+ var arrayToString = ArrayProto.toString;
1200
+ var arrayToLocaleString = ArrayProto.toLocaleString;
1201
+ var ITERATOR = wks('iterator');
1202
+ var TAG = wks('toStringTag');
1203
+ var TYPED_CONSTRUCTOR = uid('typed_constructor');
1204
+ var DEF_CONSTRUCTOR = uid('def_constructor');
1205
+ var ALL_CONSTRUCTORS = $typed.CONSTR;
1206
+ var TYPED_ARRAY = $typed.TYPED;
1207
+ var VIEW = $typed.VIEW;
1208
+ var WRONG_LENGTH = 'Wrong length!';
1209
+
1210
+ var $map = createArrayMethod(1, function (O, length) {
1211
+ return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length);
1212
+ });
1213
 
1214
+ var LITTLE_ENDIAN = fails(function () {
1215
+ // eslint-disable-next-line no-undef
1216
+ return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;
1217
+ });
1218
 
1219
+ var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function () {
1220
+ new Uint8Array(1).set({});
1221
+ });
1222
 
1223
+ var toOffset = function (it, BYTES) {
1224
+ var offset = toInteger(it);
1225
+ if (offset < 0 || offset % BYTES) throw RangeError('Wrong offset!');
1226
+ return offset;
 
 
1227
  };
 
1228
 
1229
+ var validate = function (it) {
1230
+ if (isObject(it) && TYPED_ARRAY in it) return it;
1231
+ throw TypeError(it + ' is not a typed array!');
1232
+ };
1233
 
1234
+ var allocate = function (C, length) {
1235
+ if (!(isObject(C) && TYPED_CONSTRUCTOR in C)) {
1236
+ throw TypeError('It is not a typed array constructor!');
1237
+ } return new C(length);
1238
+ };
1239
 
1240
+ var speciesFromList = function (O, list) {
1241
+ return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list);
1242
+ };
1243
 
1244
+ var fromList = function (C, list) {
1245
+ var index = 0;
1246
+ var length = list.length;
1247
+ var result = allocate(C, length);
1248
+ while (length > index) result[index] = list[index++];
1249
+ return result;
1250
+ };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1251
 
1252
+ var addGetter = function (it, key, internal) {
1253
+ dP(it, key, { get: function () { return this._d[internal]; } });
1254
+ };
1255
 
1256
+ var $from = function from(source /* , mapfn, thisArg */) {
1257
+ var O = toObject(source);
1258
+ var aLen = arguments.length;
1259
+ var mapfn = aLen > 1 ? arguments[1] : undefined;
1260
+ var mapping = mapfn !== undefined;
1261
+ var iterFn = getIterFn(O);
1262
+ var i, length, values, result, step, iterator;
1263
+ if (iterFn != undefined && !isArrayIter(iterFn)) {
1264
+ for (iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++) {
1265
+ values.push(step.value);
1266
+ } O = values;
1267
+ }
1268
+ if (mapping && aLen > 2) mapfn = ctx(mapfn, arguments[2], 2);
1269
+ for (i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++) {
1270
+ result[i] = mapping ? mapfn(O[i], i) : O[i];
1271
+ }
1272
+ return result;
1273
+ };
1274
 
1275
+ var $of = function of(/* ...items */) {
1276
+ var index = 0;
1277
+ var length = arguments.length;
1278
+ var result = allocate(this, length);
1279
+ while (length > index) result[index] = arguments[index++];
1280
+ return result;
1281
+ };
1282
 
1283
+ // iOS Safari 6.x fails here
1284
+ var TO_LOCALE_BUG = !!Uint8Array && fails(function () { arrayToLocaleString.call(new Uint8Array(1)); });
1285
 
1286
+ var $toLocaleString = function toLocaleString() {
1287
+ return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments);
1288
+ };
1289
 
1290
+ var proto = {
1291
+ copyWithin: function copyWithin(target, start /* , end */) {
1292
+ return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined);
1293
+ },
1294
+ every: function every(callbackfn /* , thisArg */) {
1295
+ return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
1296
+ },
1297
+ fill: function fill(value /* , start, end */) { // eslint-disable-line no-unused-vars
1298
+ return arrayFill.apply(validate(this), arguments);
1299
+ },
1300
+ filter: function filter(callbackfn /* , thisArg */) {
1301
+ return speciesFromList(this, arrayFilter(validate(this), callbackfn,
1302
+ arguments.length > 1 ? arguments[1] : undefined));
1303
+ },
1304
+ find: function find(predicate /* , thisArg */) {
1305
+ return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);
1306
+ },
1307
+ findIndex: function findIndex(predicate /* , thisArg */) {
1308
+ return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);
1309
+ },
1310
+ forEach: function forEach(callbackfn /* , thisArg */) {
1311
+ arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
1312
+ },
1313
+ indexOf: function indexOf(searchElement /* , fromIndex */) {
1314
+ return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);
1315
+ },
1316
+ includes: function includes(searchElement /* , fromIndex */) {
1317
+ return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);
1318
+ },
1319
+ join: function join(separator) { // eslint-disable-line no-unused-vars
1320
+ return arrayJoin.apply(validate(this), arguments);
1321
+ },
1322
+ lastIndexOf: function lastIndexOf(searchElement /* , fromIndex */) { // eslint-disable-line no-unused-vars
1323
+ return arrayLastIndexOf.apply(validate(this), arguments);
1324
+ },
1325
+ map: function map(mapfn /* , thisArg */) {
1326
+ return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined);
1327
+ },
1328
+ reduce: function reduce(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars
1329
+ return arrayReduce.apply(validate(this), arguments);
1330
+ },
1331
+ reduceRight: function reduceRight(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars
1332
+ return arrayReduceRight.apply(validate(this), arguments);
1333
+ },
1334
+ reverse: function reverse() {
1335
+ var that = this;
1336
+ var length = validate(that).length;
1337
+ var middle = Math.floor(length / 2);
1338
+ var index = 0;
1339
+ var value;
1340
+ while (index < middle) {
1341
+ value = that[index];
1342
+ that[index++] = that[--length];
1343
+ that[length] = value;
1344
+ } return that;
1345
+ },
1346
+ some: function some(callbackfn /* , thisArg */) {
1347
+ return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
1348
+ },
1349
+ sort: function sort(comparefn) {
1350
+ return arraySort.call(validate(this), comparefn);
1351
+ },
1352
+ subarray: function subarray(begin, end) {
1353
+ var O = validate(this);
1354
+ var length = O.length;
1355
+ var $begin = toAbsoluteIndex(begin, length);
1356
+ return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))(
1357
+ O.buffer,
1358
+ O.byteOffset + $begin * O.BYTES_PER_ELEMENT,
1359
+ toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - $begin)
1360
+ );
1361
+ }
1362
+ };
1363
+
1364
+ var $slice = function slice(start, end) {
1365
+ return speciesFromList(this, arraySlice.call(validate(this), start, end));
1366
+ };
1367
+
1368
+ var $set = function set(arrayLike /* , offset */) {
1369
+ validate(this);
1370
+ var offset = toOffset(arguments[1], 1);
1371
+ var length = this.length;
1372
+ var src = toObject(arrayLike);
1373
+ var len = toLength(src.length);
1374
+ var index = 0;
1375
+ if (len + offset > length) throw RangeError(WRONG_LENGTH);
1376
+ while (index < len) this[offset + index] = src[index++];
1377
+ };
1378
+
1379
+ var $iterators = {
1380
+ entries: function entries() {
1381
+ return arrayEntries.call(validate(this));
1382
+ },
1383
+ keys: function keys() {
1384
+ return arrayKeys.call(validate(this));
1385
+ },
1386
+ values: function values() {
1387
+ return arrayValues.call(validate(this));
1388
+ }
1389
+ };
1390
+
1391
+ var isTAIndex = function (target, key) {
1392
+ return isObject(target)
1393
+ && target[TYPED_ARRAY]
1394
+ && typeof key != 'symbol'
1395
+ && key in target
1396
+ && String(+key) == String(key);
1397
+ };
1398
+ var $getDesc = function getOwnPropertyDescriptor(target, key) {
1399
+ return isTAIndex(target, key = toPrimitive(key, true))
1400
+ ? propertyDesc(2, target[key])
1401
+ : gOPD(target, key);
1402
+ };
1403
+ var $setDesc = function defineProperty(target, key, desc) {
1404
+ if (isTAIndex(target, key = toPrimitive(key, true))
1405
+ && isObject(desc)
1406
+ && has(desc, 'value')
1407
+ && !has(desc, 'get')
1408
+ && !has(desc, 'set')
1409
+ // TODO: add validation descriptor w/o calling accessors
1410
+ && !desc.configurable
1411
+ && (!has(desc, 'writable') || desc.writable)
1412
+ && (!has(desc, 'enumerable') || desc.enumerable)
1413
+ ) {
1414
+ target[key] = desc.value;
1415
+ return target;
1416
+ } return dP(target, key, desc);
1417
+ };
1418
+
1419
+ if (!ALL_CONSTRUCTORS) {
1420
+ $GOPD.f = $getDesc;
1421
+ $DP.f = $setDesc;
1422
+ }
1423
+
1424
+ $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', {
1425
+ getOwnPropertyDescriptor: $getDesc,
1426
+ defineProperty: $setDesc
1427
+ });
1428
+
1429
+ if (fails(function () { arrayToString.call({}); })) {
1430
+ arrayToString = arrayToLocaleString = function toString() {
1431
+ return arrayJoin.call(this);
1432
+ };
1433
+ }
1434
+
1435
+ var $TypedArrayPrototype$ = redefineAll({}, proto);
1436
+ redefineAll($TypedArrayPrototype$, $iterators);
1437
+ hide($TypedArrayPrototype$, ITERATOR, $iterators.values);
1438
+ redefineAll($TypedArrayPrototype$, {
1439
+ slice: $slice,
1440
+ set: $set,
1441
+ constructor: function () { /* noop */ },
1442
+ toString: arrayToString,
1443
+ toLocaleString: $toLocaleString
1444
+ });
1445
+ addGetter($TypedArrayPrototype$, 'buffer', 'b');
1446
+ addGetter($TypedArrayPrototype$, 'byteOffset', 'o');
1447
+ addGetter($TypedArrayPrototype$, 'byteLength', 'l');
1448
+ addGetter($TypedArrayPrototype$, 'length', 'e');
1449
+ dP($TypedArrayPrototype$, TAG, {
1450
+ get: function () { return this[TYPED_ARRAY]; }
1451
+ });
1452
+
1453
+ // eslint-disable-next-line max-statements
1454
+ module.exports = function (KEY, BYTES, wrapper, CLAMPED) {
1455
+ CLAMPED = !!CLAMPED;
1456
+ var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array';
1457
+ var GETTER = 'get' + KEY;
1458
+ var SETTER = 'set' + KEY;
1459
+ var TypedArray = global[NAME];
1460
+ var Base = TypedArray || {};
1461
+ var TAC = TypedArray && getPrototypeOf(TypedArray);
1462
+ var FORCED = !TypedArray || !$typed.ABV;
1463
+ var O = {};
1464
+ var TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE];
1465
+ var getter = function (that, index) {
1466
+ var data = that._d;
1467
+ return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN);
1468
+ };
1469
+ var setter = function (that, index, value) {
1470
+ var data = that._d;
1471
+ if (CLAMPED) value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff;
1472
+ data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN);
1473
+ };
1474
+ var addElement = function (that, index) {
1475
+ dP(that, index, {
1476
+ get: function () {
1477
+ return getter(this, index);
1478
+ },
1479
+ set: function (value) {
1480
+ return setter(this, index, value);
1481
+ },
1482
+ enumerable: true
1483
+ });
1484
+ };
1485
+ if (FORCED) {
1486
+ TypedArray = wrapper(function (that, data, $offset, $length) {
1487
+ anInstance(that, TypedArray, NAME, '_d');
1488
+ var index = 0;
1489
+ var offset = 0;
1490
+ var buffer, byteLength, length, klass;
1491
+ if (!isObject(data)) {
1492
+ length = toIndex(data);
1493
+ byteLength = length * BYTES;
1494
+ buffer = new $ArrayBuffer(byteLength);
1495
+ } else if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {
1496
+ buffer = data;
1497
+ offset = toOffset($offset, BYTES);
1498
+ var $len = data.byteLength;
1499
+ if ($length === undefined) {
1500
+ if ($len % BYTES) throw RangeError(WRONG_LENGTH);
1501
+ byteLength = $len - offset;
1502
+ if (byteLength < 0) throw RangeError(WRONG_LENGTH);
1503
+ } else {
1504
+ byteLength = toLength($length) * BYTES;
1505
+ if (byteLength + offset > $len) throw RangeError(WRONG_LENGTH);
1506
+ }
1507
+ length = byteLength / BYTES;
1508
+ } else if (TYPED_ARRAY in data) {
1509
+ return fromList(TypedArray, data);
1510
+ } else {
1511
+ return $from.call(TypedArray, data);
1512
+ }
1513
+ hide(that, '_d', {
1514
+ b: buffer,
1515
+ o: offset,
1516
+ l: byteLength,
1517
+ e: length,
1518
+ v: new $DataView(buffer)
1519
+ });
1520
+ while (index < length) addElement(that, index++);
1521
+ });
1522
+ TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$);
1523
+ hide(TypedArrayPrototype, 'constructor', TypedArray);
1524
+ } else if (!fails(function () {
1525
+ TypedArray(1);
1526
+ }) || !fails(function () {
1527
+ new TypedArray(-1); // eslint-disable-line no-new
1528
+ }) || !$iterDetect(function (iter) {
1529
+ new TypedArray(); // eslint-disable-line no-new
1530
+ new TypedArray(null); // eslint-disable-line no-new
1531
+ new TypedArray(1.5); // eslint-disable-line no-new
1532
+ new TypedArray(iter); // eslint-disable-line no-new
1533
+ }, true)) {
1534
+ TypedArray = wrapper(function (that, data, $offset, $length) {
1535
+ anInstance(that, TypedArray, NAME);
1536
+ var klass;
1537
+ // `ws` module bug, temporarily remove validation length for Uint8Array
1538
+ // https://github.com/websockets/ws/pull/645
1539
+ if (!isObject(data)) return new Base(toIndex(data));
1540
+ if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {
1541
+ return $length !== undefined
1542
+ ? new Base(data, toOffset($offset, BYTES), $length)
1543
+ : $offset !== undefined
1544
+ ? new Base(data, toOffset($offset, BYTES))
1545
+ : new Base(data);
1546
+ }
1547
+ if (TYPED_ARRAY in data) return fromList(TypedArray, data);
1548
+ return $from.call(TypedArray, data);
1549
+ });
1550
+ arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function (key) {
1551
+ if (!(key in TypedArray)) hide(TypedArray, key, Base[key]);
1552
+ });
1553
+ TypedArray[PROTOTYPE] = TypedArrayPrototype;
1554
+ if (!LIBRARY) TypedArrayPrototype.constructor = TypedArray;
1555
+ }
1556
+ var $nativeIterator = TypedArrayPrototype[ITERATOR];
1557
+ var CORRECT_ITER_NAME = !!$nativeIterator
1558
+ && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined);
1559
+ var $iterator = $iterators.values;
1560
+ hide(TypedArray, TYPED_CONSTRUCTOR, true);
1561
+ hide(TypedArrayPrototype, TYPED_ARRAY, NAME);
1562
+ hide(TypedArrayPrototype, VIEW, true);
1563
+ hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray);
1564
+
1565
+ if (CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)) {
1566
+ dP(TypedArrayPrototype, TAG, {
1567
+ get: function () { return NAME; }
1568
+ });
1569
+ }
1570
+
1571
+ O[NAME] = TypedArray;
1572
+
1573
+ $export($export.G + $export.W + $export.F * (TypedArray != Base), O);
1574
+
1575
+ $export($export.S, NAME, {
1576
+ BYTES_PER_ELEMENT: BYTES
1577
+ });
1578
+
1579
+ $export($export.S + $export.F * fails(function () { Base.of.call(TypedArray, 1); }), NAME, {
1580
+ from: $from,
1581
+ of: $of
1582
+ });
1583
+
1584
+ if (!(BYTES_PER_ELEMENT in TypedArrayPrototype)) hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES);
1585
+
1586
+ $export($export.P, NAME, proto);
1587
+
1588
+ setSpecies(NAME);
1589
+
1590
+ $export($export.P + $export.F * FORCED_SET, NAME, { set: $set });
1591
+
1592
+ $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators);
1593
+
1594
+ if (!LIBRARY && TypedArrayPrototype.toString != arrayToString) TypedArrayPrototype.toString = arrayToString;
1595
+
1596
+ $export($export.P + $export.F * fails(function () {
1597
+ new TypedArray(1).slice();
1598
+ }), NAME, { slice: $slice });
1599
+
1600
+ $export($export.P + $export.F * (fails(function () {
1601
+ return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString();
1602
+ }) || !fails(function () {
1603
+ TypedArrayPrototype.toLocaleString.call([1, 2]);
1604
+ })), NAME, { toLocaleString: $toLocaleString });
1605
+
1606
+ Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator;
1607
+ if (!LIBRARY && !CORRECT_ITER_NAME) hide(TypedArrayPrototype, ITERATOR, $iterator);
1608
+ };
1609
+ } else module.exports = function () { /* empty */ };
1610
 
1611
 
1612
  /***/ }),
1613
+ /* 38 */
1614
  /***/ (function(module, exports, __webpack_require__) {
1615
 
1616
+ var Map = __webpack_require__(158);
1617
+ var $export = __webpack_require__(0);
1618
+ var shared = __webpack_require__(72)('metadata');
1619
+ var store = shared.store || (shared.store = new (__webpack_require__(161))());
1620
+
1621
+ var getOrCreateMetadataMap = function (target, targetKey, create) {
1622
+ var targetMetadata = store.get(target);
1623
+ if (!targetMetadata) {
1624
+ if (!create) return undefined;
1625
+ store.set(target, targetMetadata = new Map());
1626
+ }
1627
+ var keyMetadata = targetMetadata.get(targetKey);
1628
+ if (!keyMetadata) {
1629
+ if (!create) return undefined;
1630
+ targetMetadata.set(targetKey, keyMetadata = new Map());
1631
+ } return keyMetadata;
1632
+ };
1633
+ var ordinaryHasOwnMetadata = function (MetadataKey, O, P) {
1634
+ var metadataMap = getOrCreateMetadataMap(O, P, false);
1635
+ return metadataMap === undefined ? false : metadataMap.has(MetadataKey);
1636
+ };
1637
+ var ordinaryGetOwnMetadata = function (MetadataKey, O, P) {
1638
+ var metadataMap = getOrCreateMetadataMap(O, P, false);
1639
+ return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey);
1640
+ };
1641
+ var ordinaryDefineOwnMetadata = function (MetadataKey, MetadataValue, O, P) {
1642
+ getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue);
1643
+ };
1644
+ var ordinaryOwnMetadataKeys = function (target, targetKey) {
1645
+ var metadataMap = getOrCreateMetadataMap(target, targetKey, false);
1646
+ var keys = [];
1647
+ if (metadataMap) metadataMap.forEach(function (_, key) { keys.push(key); });
1648
+ return keys;
1649
+ };
1650
+ var toMetaKey = function (it) {
1651
+ return it === undefined || typeof it == 'symbol' ? it : String(it);
1652
+ };
1653
+ var exp = function (O) {
1654
+ $export($export.S, 'Reflect', O);
1655
+ };
1656
+
1657
+ module.exports = {
1658
+ store: store,
1659
+ map: getOrCreateMetadataMap,
1660
+ has: ordinaryHasOwnMetadata,
1661
+ get: ordinaryGetOwnMetadata,
1662
+ set: ordinaryDefineOwnMetadata,
1663
+ keys: ordinaryOwnMetadataKeys,
1664
+ key: toMetaKey,
1665
+ exp: exp
1666
  };
1667
 
1668
 
1669
  /***/ }),
1670
+ /* 39 */
1671
+ /***/ (function(module, exports) {
1672
+
1673
+ var core = module.exports = { version: '2.5.7' };
1674
+ if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef
1675
+
1676
+
1677
+ /***/ }),
1678
+ /* 40 */
1679
  /***/ (function(module, exports, __webpack_require__) {
1680
 
1681
+ var META = __webpack_require__(45)('meta');
1682
+ var isObject = __webpack_require__(4);
1683
+ var has = __webpack_require__(23);
1684
+ var setDesc = __webpack_require__(8).f;
1685
+ var id = 0;
1686
+ var isExtensible = Object.isExtensible || function () {
1687
+ return true;
1688
+ };
1689
+ var FREEZE = !__webpack_require__(3)(function () {
1690
+ return isExtensible(Object.preventExtensions({}));
1691
+ });
1692
+ var setMeta = function (it) {
1693
+ setDesc(it, META, { value: {
1694
+ i: 'O' + ++id, // object ID
1695
+ w: {} // weak collections IDs
1696
+ } });
1697
+ };
1698
+ var fastKey = function (it, create) {
1699
+ // return primitive with prefix
1700
+ if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
1701
+ if (!has(it, META)) {
1702
+ // can't set metadata to uncaught frozen object
1703
+ if (!isExtensible(it)) return 'F';
1704
+ // not necessary to add metadata
1705
+ if (!create) return 'E';
1706
+ // add missing metadata
1707
+ setMeta(it);
1708
+ // return object ID
1709
+ } return it[META].i;
1710
+ };
1711
+ var getWeak = function (it, create) {
1712
+ if (!has(it, META)) {
1713
+ // can't set metadata to uncaught frozen object
1714
+ if (!isExtensible(it)) return true;
1715
+ // not necessary to add metadata
1716
+ if (!create) return false;
1717
+ // add missing metadata
1718
+ setMeta(it);
1719
+ // return hash weak collections IDs
1720
+ } return it[META].w;
1721
+ };
1722
+ // add metadata on freeze-family methods calling
1723
+ var onFreeze = function (it) {
1724
+ if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);
1725
+ return it;
1726
+ };
1727
+ var meta = module.exports = {
1728
+ KEY: META,
1729
+ NEED: false,
1730
+ fastKey: fastKey,
1731
+ getWeak: getWeak,
1732
+ onFreeze: onFreeze
1733
  };
1734
 
1735
 
1736
  /***/ }),
1737
+ /* 41 */
1738
  /***/ (function(module, exports) {
1739
 
1740
+ module.exports = false;
1741
+
1742
+
1743
+ /***/ }),
1744
+ /* 42 */
1745
+ /***/ (function(module, exports, __webpack_require__) {
1746
+
1747
+ // 22.1.3.31 Array.prototype[@@unscopables]
1748
+ var UNSCOPABLES = __webpack_require__(5)('unscopables');
1749
+ var ArrayProto = Array.prototype;
1750
+ if (ArrayProto[UNSCOPABLES] == undefined) __webpack_require__(20)(ArrayProto, UNSCOPABLES, {});
1751
+ module.exports = function (key) {
1752
+ ArrayProto[UNSCOPABLES][key] = true;
1753
  };
1754
 
1755
 
1756
  /***/ }),
1757
+ /* 43 */
1758
  /***/ (function(module, exports) {
1759
 
1760
+ // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
1761
+ var global = module.exports = typeof window != 'undefined' && window.Math == Math
1762
+ ? window : typeof self != 'undefined' && self.Math == Math ? self
1763
+ // eslint-disable-next-line no-new-func
1764
+ : Function('return this')();
1765
+ if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef
1766
 
1767
 
1768
  /***/ }),
1769
+ /* 44 */
1770
  /***/ (function(module, exports) {
1771
 
1772
+ module.exports = function (bitmap, value) {
1773
+ return {
1774
+ enumerable: !(bitmap & 1),
1775
+ configurable: !(bitmap & 2),
1776
+ writable: !(bitmap & 4),
1777
+ value: value
1778
+ };
1779
+ };
1780
 
1781
 
1782
  /***/ }),
1783
+ /* 45 */
1784
+ /***/ (function(module, exports) {
1785
+
1786
+ var id = 0;
1787
+ var px = Math.random();
1788
+ module.exports = function (key) {
1789
+ return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));
1790
+ };
1791
+
1792
+
1793
+ /***/ }),
1794
+ /* 46 */
1795
+ /***/ (function(module, exports, __webpack_require__) {
1796
+
1797
+ // 19.1.2.14 / 15.2.3.14 Object.keys(O)
1798
+ var $keys = __webpack_require__(139);
1799
+ var enumBugKeys = __webpack_require__(94);
1800
+
1801
+ module.exports = Object.keys || function keys(O) {
1802
+ return $keys(O, enumBugKeys);
1803
+ };
1804
+
1805
+
1806
+ /***/ }),
1807
+ /* 47 */
1808
+ /***/ (function(module, exports, __webpack_require__) {
1809
+
1810
+ var toInteger = __webpack_require__(34);
1811
+ var max = Math.max;
1812
+ var min = Math.min;
1813
+ module.exports = function (index, length) {
1814
+ index = toInteger(index);
1815
+ return index < 0 ? max(index + length, 0) : min(index, length);
1816
+ };
1817
+
1818
+
1819
+ /***/ }),
1820
+ /* 48 */
1821
  /***/ (function(module, exports, __webpack_require__) {
1822
 
1823
  // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
1824
+ var anObject = __webpack_require__(1);
1825
+ var dPs = __webpack_require__(140);
1826
+ var enumBugKeys = __webpack_require__(94);
1827
+ var IE_PROTO = __webpack_require__(93)('IE_PROTO');
1828
  var Empty = function () { /* empty */ };
1829
  var PROTOTYPE = 'prototype';
1830
 
1831
  // Create object with fake `null` prototype: use iframe Object with cleared prototype
1832
  var createDict = function () {
1833
  // Thrash, waste and sodomy: IE GC bug
1834
+ var iframe = __webpack_require__(91)('iframe');
1835
  var i = enumBugKeys.length;
1836
  var lt = '<';
1837
  var gt = '>';
1838
  var iframeDocument;
1839
  iframe.style.display = 'none';
1840
+ __webpack_require__(95).appendChild(iframe);
1841
  iframe.src = 'javascript:'; // eslint-disable-line no-script-url
1842
  // createDict = iframe.contentWindow.Object;
1843
  // html.removeChild(iframe);
1864
 
1865
 
1866
  /***/ }),
1867
+ /* 49 */
1868
  /***/ (function(module, exports, __webpack_require__) {
1869
 
1870
+ // 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)
1871
+ var $keys = __webpack_require__(139);
1872
+ var hiddenKeys = __webpack_require__(94).concat('length', 'prototype');
1873
 
1874
+ exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
1875
+ return $keys(O, hiddenKeys);
1876
  };
1877
 
1878
 
1879
  /***/ }),
1880
+ /* 50 */
 
 
 
 
 
 
 
 
 
 
1881
  /***/ (function(module, exports, __webpack_require__) {
1882
 
1883
+ "use strict";
 
 
1884
 
1885
+ var global = __webpack_require__(2);
1886
+ var dP = __webpack_require__(8);
1887
+ var DESCRIPTORS = __webpack_require__(7);
1888
+ var SPECIES = __webpack_require__(5)('species');
1889
+
1890
+ module.exports = function (KEY) {
1891
+ var C = global[KEY];
1892
+ if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {
1893
+ configurable: true,
1894
+ get: function () { return this; }
1895
+ });
1896
  };
1897
 
1898
 
1899
  /***/ }),
1900
+ /* 51 */
1901
+ /***/ (function(module, exports) {
1902
 
1903
+ module.exports = function (it, Constructor, name, forbiddenField) {
1904
+ if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {
1905
+ throw TypeError(name + ': incorrect invocation!');
1906
+ } return it;
1907
+ };
1908
 
1909
 
1910
  /***/ }),
1911
+ /* 52 */
1912
  /***/ (function(module, exports, __webpack_require__) {
1913
 
1914
+ var ctx = __webpack_require__(29);
1915
+ var call = __webpack_require__(151);
1916
+ var isArrayIter = __webpack_require__(107);
1917
+ var anObject = __webpack_require__(1);
1918
+ var toLength = __webpack_require__(9);
1919
+ var getIterFn = __webpack_require__(109);
1920
+ var BREAK = {};
1921
+ var RETURN = {};
1922
+ var exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {
1923
+ var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);
1924
+ var f = ctx(fn, that, entries ? 2 : 1);
1925
+ var index = 0;
1926
+ var length, step, iterator, result;
1927
+ if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');
1928
+ // fast case for arrays with default iterator
1929
+ if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {
1930
+ result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);
1931
+ if (result === BREAK || result === RETURN) return result;
1932
+ } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {
1933
+ result = call(iterator, f, step.value, entries);
1934
+ if (result === BREAK || result === RETURN) return result;
1935
+ }
1936
  };
1937
+ exports.BREAK = BREAK;
1938
+ exports.RETURN = RETURN;
1939
 
1940
 
1941
  /***/ }),
1942
+ /* 53 */
 
 
 
 
 
 
 
1943
  /***/ (function(module, exports, __webpack_require__) {
1944
 
1945
+ var redefine = __webpack_require__(21);
1946
+ module.exports = function (target, src, safe) {
1947
+ for (var key in src) redefine(target, key, src[key], safe);
1948
+ return target;
 
 
 
 
1949
  };
1950
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1951
 
1952
+ /***/ }),
1953
+ /* 54 */
1954
+ /***/ (function(module, exports) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1955
 
1956
+ var hasOwnProperty = {}.hasOwnProperty;
1957
+ module.exports = function (it, key) {
1958
+ return hasOwnProperty.call(it, key);
1959
+ };
 
 
 
 
 
1960
 
 
 
 
 
 
1961
 
1962
+ /***/ }),
1963
+ /* 55 */
1964
+ /***/ (function(module, exports, __webpack_require__) {
1965
 
1966
+ var anObject = __webpack_require__(70);
1967
+ var IE8_DOM_DEFINE = __webpack_require__(174);
1968
+ var toPrimitive = __webpack_require__(120);
1969
+ var dP = Object.defineProperty;
1970
 
1971
+ exports.f = __webpack_require__(56) ? Object.defineProperty : function defineProperty(O, P, Attributes) {
1972
+ anObject(O);
1973
+ P = toPrimitive(P, true);
1974
+ anObject(Attributes);
1975
+ if (IE8_DOM_DEFINE) try {
1976
+ return dP(O, P, Attributes);
1977
+ } catch (e) { /* empty */ }
1978
+ if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');
1979
+ if ('value' in Attributes) O[P] = Attributes.value;
1980
+ return O;
1981
  };
1982
 
 
 
 
 
 
1983
 
1984
+ /***/ }),
1985
+ /* 56 */
1986
+ /***/ (function(module, exports, __webpack_require__) {
1987
 
1988
+ // Thank's IE8 for his funny defineProperty
1989
+ module.exports = !__webpack_require__(71)(function () {
1990
+ return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
1991
  });
1992
 
 
 
 
1993
 
1994
  /***/ }),
1995
+ /* 57 */
1996
+ /***/ (function(module, exports) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1997
 
1998
+ var g;
1999
+
2000
+ // This works in non-strict mode
2001
+ g = (function() {
2002
+ return this;
2003
+ })();
2004
+
2005
+ try {
2006
+ // This works if eval is allowed (see CSP)
2007
+ g = g || Function("return this")() || (1,eval)("this");
2008
+ } catch(e) {
2009
+ // This works if the window reference is available
2010
+ if(typeof window === "object")
2011
+ g = window;
2012
+ }
2013
+
2014
+ // g can still be undefined, but nothing to do about it...
2015
+ // We return undefined, instead of nothing here, so it's
2016
+ // easier to handle this case. if(!global) { ...}
2017
+
2018
+ module.exports = g;
2019
 
2020
 
2021
  /***/ }),
2022
+ /* 58 */
2023
  /***/ (function(module, exports, __webpack_require__) {
2024
 
2025
+ var def = __webpack_require__(8).f;
2026
+ var has = __webpack_require__(23);
2027
+ var TAG = __webpack_require__(5)('toStringTag');
 
 
 
2028
 
2029
+ module.exports = function (it, tag, stat) {
2030
+ if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });
 
 
2031
  };
2032
 
2033
 
2034
  /***/ }),
2035
+ /* 59 */
2036
  /***/ (function(module, exports, __webpack_require__) {
2037
 
2038
+ var $export = __webpack_require__(0);
2039
+ var defined = __webpack_require__(33);
2040
+ var fails = __webpack_require__(3);
2041
+ var spaces = __webpack_require__(97);
2042
+ var space = '[' + spaces + ']';
2043
+ var non = '\u200b\u0085';
2044
+ var ltrim = RegExp('^' + space + space + '*');
2045
+ var rtrim = RegExp(space + space + '*$');
2046
 
2047
+ var exporter = function (KEY, exec, ALIAS) {
2048
+ var exp = {};
2049
+ var FORCE = fails(function () {
2050
+ return !!spaces[KEY]() || non[KEY]() != non;
2051
+ });
2052
+ var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];
2053
+ if (ALIAS) exp[ALIAS] = fn;
2054
+ $export($export.P + $export.F * FORCE, 'String', exp);
2055
+ };
2056
 
2057
+ // 1 -> String#trimLeft
2058
+ // 2 -> String#trimRight
2059
+ // 3 -> String#trim
2060
+ var trim = exporter.trim = function (string, TYPE) {
2061
+ string = String(defined(string));
2062
+ if (TYPE & 1) string = string.replace(ltrim, '');
2063
+ if (TYPE & 2) string = string.replace(rtrim, '');
2064
+ return string;
2065
+ };
2066
 
2067
+ module.exports = exporter;
 
 
 
 
 
 
 
 
2068
 
2069
 
2070
  /***/ }),
2071
+ /* 60 */
2072
+ /***/ (function(module, exports) {
2073
+
2074
+ module.exports = {};
2075
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2076
 
2077
  /***/ }),
2078
+ /* 61 */
2079
  /***/ (function(module, exports, __webpack_require__) {
2080
 
2081
+ var isObject = __webpack_require__(4);
2082
+ module.exports = function (it, TYPE) {
2083
+ if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');
2084
+ return it;
2085
  };
2086
 
2087
 
2088
  /***/ }),
2089
+ /* 62 */
2090
  /***/ (function(module, exports, __webpack_require__) {
2091
 
2092
+ var global = __webpack_require__(43);
2093
+ var core = __webpack_require__(39);
2094
+ var ctx = __webpack_require__(173);
2095
+ var hide = __webpack_require__(63);
2096
+ var has = __webpack_require__(54);
2097
+ var PROTOTYPE = 'prototype';
2098
 
2099
+ var $export = function (type, name, source) {
2100
+ var IS_FORCED = type & $export.F;
2101
+ var IS_GLOBAL = type & $export.G;
2102
+ var IS_STATIC = type & $export.S;
2103
+ var IS_PROTO = type & $export.P;
2104
+ var IS_BIND = type & $export.B;
2105
+ var IS_WRAP = type & $export.W;
2106
+ var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});
2107
+ var expProto = exports[PROTOTYPE];
2108
+ var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];
2109
+ var key, own, out;
2110
+ if (IS_GLOBAL) source = name;
2111
+ for (key in source) {
2112
+ // contains in native
2113
+ own = !IS_FORCED && target && target[key] !== undefined;
2114
+ if (own && has(exports, key)) continue;
2115
+ // export native or passed
2116
+ out = own ? target[key] : source[key];
2117
+ // prevent global pollution for namespaces
2118
+ exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]
2119
+ // bind timers to global for call from export context
2120
+ : IS_BIND && own ? ctx(out, global)
2121
+ // wrap global constructors for prevent change them in library
2122
+ : IS_WRAP && target[key] == out ? (function (C) {
2123
+ var F = function (a, b, c) {
2124
+ if (this instanceof C) {
2125
+ switch (arguments.length) {
2126
+ case 0: return new C();
2127
+ case 1: return new C(a);
2128
+ case 2: return new C(a, b);
2129
+ } return new C(a, b, c);
2130
+ } return C.apply(this, arguments);
2131
+ };
2132
+ F[PROTOTYPE] = C[PROTOTYPE];
2133
+ return F;
2134
+ // make static versions for prototype methods
2135
+ })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;
2136
+ // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%
2137
+ if (IS_PROTO) {
2138
+ (exports.virtual || (exports.virtual = {}))[key] = out;
2139
+ // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%
2140
+ if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);
2141
+ }
2142
+ }
2143
  };
2144
+ // type bitmap
2145
+ $export.F = 1; // forced
2146
+ $export.G = 2; // global
2147
+ $export.S = 4; // static
2148
+ $export.P = 8; // proto
2149
+ $export.B = 16; // bind
2150
+ $export.W = 32; // wrap
2151
+ $export.U = 64; // safe
2152
+ $export.R = 128; // real proto method for `library`
2153
+ module.exports = $export;
2154
 
2155
 
2156
  /***/ }),
2157
+ /* 63 */
2158
  /***/ (function(module, exports, __webpack_require__) {
2159
 
2160
+ var dP = __webpack_require__(55);
2161
+ var createDesc = __webpack_require__(89);
2162
+ module.exports = __webpack_require__(56) ? function (object, key, value) {
2163
+ return dP.f(object, key, createDesc(1, value));
2164
+ } : function (object, key, value) {
2165
+ object[key] = value;
2166
+ return object;
 
 
 
 
 
 
 
 
 
 
 
 
2167
  };
2168
 
2169
 
2170
  /***/ }),
2171
+ /* 64 */
2172
+ /***/ (function(module, exports) {
2173
 
2174
+ module.exports = function (it) {
2175
+ return typeof it === 'object' ? it !== null : typeof it === 'function';
2176
+ };
2177
 
2178
 
2179
  /***/ }),
2180
+ /* 65 */
2181
  /***/ (function(module, exports, __webpack_require__) {
2182
 
2183
+ // to indexed object, toObject with fallback for non-array-like ES3 strings
2184
+ var IObject = __webpack_require__(425);
2185
+ var defined = __webpack_require__(117);
 
2186
  module.exports = function (it) {
2187
+ return IObject(defined(it));
2188
  };
2189
 
2190
 
2191
  /***/ }),
2192
+ /* 66 */
2193
  /***/ (function(module, exports, __webpack_require__) {
2194
 
2195
+ var store = __webpack_require__(119)('wks');
2196
+ var uid = __webpack_require__(88);
2197
+ var Symbol = __webpack_require__(43).Symbol;
2198
+ var USE_SYMBOL = typeof Symbol == 'function';
2199
 
2200
+ var $exports = module.exports = function (name) {
2201
+ return store[name] || (store[name] =
2202
+ USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));
2203
+ };
2204
 
2205
+ $exports.store = store;
2206
 
 
2207
 
2208
+ /***/ }),
2209
+ /* 67 */
2210
+ /***/ (function(module, exports, __webpack_require__) {
2211
 
2212
+ // fallback for non-array-like ES3 and non-enumerable old V8 strings
2213
+ var cof = __webpack_require__(30);
2214
+ // eslint-disable-next-line no-prototype-builtins
2215
+ module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {
2216
+ return cof(it) == 'String' ? it.split('') : Object(it);
2217
+ };
2218
 
 
2219
 
2220
+ /***/ }),
2221
+ /* 68 */
2222
+ /***/ (function(module, exports) {
2223
 
2224
+ exports.f = {}.propertyIsEnumerable;
2225
 
 
 
 
 
 
2226
 
2227
  /***/ }),
2228
+ /* 69 */
2229
  /***/ (function(module, exports, __webpack_require__) {
2230
 
2231
+ // getting tag from 19.1.3.6 Object.prototype.toString()
2232
+ var cof = __webpack_require__(30);
2233
+ var TAG = __webpack_require__(5)('toStringTag');
2234
+ // ES3 wrong here
2235
+ var ARG = cof(function () { return arguments; }()) == 'Arguments';
 
 
 
 
 
 
 
 
 
 
 
2236
 
2237
+ // fallback for IE11 Script Access Denied error
2238
+ var tryGet = function (it, key) {
2239
+ try {
2240
+ return it[key];
2241
+ } catch (e) { /* empty */ }
2242
+ };
2243
 
2244
+ module.exports = function (it) {
2245
+ var O, T, B;
2246
+ return it === undefined ? 'Undefined' : it === null ? 'Null'
2247
+ // @@toStringTag case
2248
+ : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T
2249
+ // builtinTag case
2250
+ : ARG ? cof(O)
2251
+ // ES3 arguments fallback
2252
+ : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2253
  };
2254
 
2255
 
2256
  /***/ }),
2257
+ /* 70 */
2258
  /***/ (function(module, exports, __webpack_require__) {
2259
 
2260
+ var isObject = __webpack_require__(64);
2261
+ module.exports = function (it) {
2262
+ if (!isObject(it)) throw TypeError(it + ' is not an object!');
2263
+ return it;
2264
+ };
2265
 
2266
 
2267
  /***/ }),
2268
+ /* 71 */
2269
+ /***/ (function(module, exports) {
 
 
 
 
 
2270
 
2271
+ module.exports = function (exec) {
2272
+ try {
2273
+ return !!exec();
2274
+ } catch (e) {
2275
+ return true;
 
 
 
 
2276
  }
 
2277
  };
2278
 
2279
 
2280
  /***/ }),
2281
+ /* 72 */
2282
+ /***/ (function(module, exports, __webpack_require__) {
2283
 
2284
+ var core = __webpack_require__(28);
2285
+ var global = __webpack_require__(2);
2286
+ var SHARED = '__core-js_shared__';
2287
+ var store = global[SHARED] || (global[SHARED] = {});
2288
 
2289
+ (module.exports = function (key, value) {
2290
+ return store[key] || (store[key] = value !== undefined ? value : {});
2291
+ })('versions', []).push({
2292
+ version: core.version,
2293
+ mode: __webpack_require__(41) ? 'pure' : 'global',
2294
+ copyright: '© 2018 Denis Pushkarev (zloirock.ru)'
2295
+ });
2296
+
2297
+
2298
+ /***/ }),
2299
+ /* 73 */
2300
+ /***/ (function(module, exports, __webpack_require__) {
2301
+
2302
+ // false -> Array#indexOf
2303
+ // true -> Array#includes
2304
+ var toIObject = __webpack_require__(24);
2305
+ var toLength = __webpack_require__(9);
2306
+ var toAbsoluteIndex = __webpack_require__(47);
2307
+ module.exports = function (IS_INCLUDES) {
2308
+ return function ($this, el, fromIndex) {
2309
+ var O = toIObject($this);
2310
+ var length = toLength(O.length);
2311
+ var index = toAbsoluteIndex(fromIndex, length);
2312
+ var value;
2313
+ // Array#includes uses SameValueZero equality algorithm
2314
+ // eslint-disable-next-line no-self-compare
2315
+ if (IS_INCLUDES && el != el) while (length > index) {
2316
+ value = O[index++];
2317
+ // eslint-disable-next-line no-self-compare
2318
+ if (value != value) return true;
2319
+ // Array#indexOf ignores holes, Array#includes - not
2320
+ } else for (;length > index; index++) if (IS_INCLUDES || index in O) {
2321
+ if (O[index] === el) return IS_INCLUDES || index || 0;
2322
+ } return !IS_INCLUDES && -1;
2323
+ };
2324
  };
2325
 
2326
 
2327
  /***/ }),
2328
+ /* 74 */
2329
  /***/ (function(module, exports) {
2330
 
2331
  exports.f = Object.getOwnPropertySymbols;
2332
 
2333
 
2334
  /***/ }),
2335
+ /* 75 */
2336
  /***/ (function(module, exports, __webpack_require__) {
2337
 
2338
+ // 7.2.2 IsArray(argument)
2339
+ var cof = __webpack_require__(30);
2340
+ module.exports = Array.isArray || function isArray(arg) {
2341
+ return cof(arg) == 'Array';
 
 
2342
  };
2343
 
2344
 
2345
  /***/ }),
2346
+ /* 76 */
2347
  /***/ (function(module, exports, __webpack_require__) {
2348
 
2349
+ // 7.2.8 IsRegExp(argument)
2350
+ var isObject = __webpack_require__(4);
2351
+ var cof = __webpack_require__(30);
2352
+ var MATCH = __webpack_require__(5)('match');
2353
+ module.exports = function (it) {
2354
+ var isRegExp;
2355
+ return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');
 
 
 
 
 
 
 
 
2356
  };
2357
 
2358
 
2359
  /***/ }),
2360
+ /* 77 */
2361
  /***/ (function(module, exports, __webpack_require__) {
2362
 
2363
+ var ITERATOR = __webpack_require__(5)('iterator');
2364
+ var SAFE_CLOSING = false;
 
 
 
 
 
 
 
 
 
 
2365
 
2366
+ try {
2367
+ var riter = [7][ITERATOR]();
2368
+ riter['return'] = function () { SAFE_CLOSING = true; };
2369
+ // eslint-disable-next-line no-throw-literal
2370
+ Array.from(riter, function () { throw 2; });
2371
+ } catch (e) { /* empty */ }
2372
 
2373
+ module.exports = function (exec, skipClosing) {
2374
+ if (!skipClosing && !SAFE_CLOSING) return false;
2375
+ var safe = false;
2376
+ try {
2377
+ var arr = [7];
2378
+ var iter = arr[ITERATOR]();
2379
+ iter.next = function () { return { done: safe = true }; };
2380
+ arr[ITERATOR] = function () { return iter; };
2381
+ exec(arr);
2382
+ } catch (e) { /* empty */ }
2383
+ return safe;
2384
+ };
2385
 
 
 
 
 
 
2386
 
2387
+ /***/ }),
2388
+ /* 78 */
2389
+ /***/ (function(module, exports, __webpack_require__) {
2390
 
2391
+ "use strict";
 
 
 
 
 
2392
 
2393
+ // 21.2.5.3 get RegExp.prototype.flags
2394
+ var anObject = __webpack_require__(1);
2395
+ module.exports = function () {
2396
+ var that = anObject(this);
2397
+ var result = '';
2398
+ if (that.global) result += 'g';
2399
+ if (that.ignoreCase) result += 'i';
2400
+ if (that.multiline) result += 'm';
2401
+ if (that.unicode) result += 'u';
2402
+ if (that.sticky) result += 'y';
2403
+ return result;
2404
+ };
2405
 
 
 
 
 
 
 
 
 
 
2406
 
2407
+ /***/ }),
2408
+ /* 79 */
2409
+ /***/ (function(module, exports, __webpack_require__) {
 
 
 
2410
 
2411
+ "use strict";
 
 
 
2412
 
2413
+ var hide = __webpack_require__(20);
2414
+ var redefine = __webpack_require__(21);
2415
+ var fails = __webpack_require__(3);
2416
+ var defined = __webpack_require__(33);
2417
+ var wks = __webpack_require__(5);
2418
+
2419
+ module.exports = function (KEY, length, exec) {
2420
+ var SYMBOL = wks(KEY);
2421
+ var fns = exec(defined, SYMBOL, ''[KEY]);
2422
+ var strfn = fns[0];
2423
+ var rxfn = fns[1];
2424
+ if (fails(function () {
2425
+ var O = {};
2426
+ O[SYMBOL] = function () { return 7; };
2427
+ return ''[KEY](O) != 7;
2428
+ })) {
2429
+ redefine(String.prototype, KEY, strfn);
2430
+ hide(RegExp.prototype, SYMBOL, length == 2
2431
+ // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
2432
+ // 21.2.5.11 RegExp.prototype[@@split](string, limit)
2433
+ ? function (string, arg) { return rxfn.call(string, this, arg); }
2434
+ // 21.2.5.6 RegExp.prototype[@@match](string)
2435
+ // 21.2.5.9 RegExp.prototype[@@search](string)
2436
+ : function (string) { return rxfn.call(string, this); }
2437
+ );
2438
+ }
2439
+ };
2440
 
 
 
 
 
 
2441
 
2442
+ /***/ }),
2443
+ /* 80 */
2444
+ /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
 
 
2445
 
2446
+ // 7.3.20 SpeciesConstructor(O, defaultConstructor)
2447
+ var anObject = __webpack_require__(1);
2448
+ var aFunction = __webpack_require__(19);
2449
+ var SPECIES = __webpack_require__(5)('species');
2450
+ module.exports = function (O, D) {
2451
+ var C = anObject(O).constructor;
2452
+ var S;
2453
+ return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);
2454
  };
2455
 
2456
 
2457
  /***/ }),
2458
+ /* 81 */
2459
  /***/ (function(module, exports, __webpack_require__) {
2460
 
2461
+ var global = __webpack_require__(2);
2462
+ var navigator = global.navigator;
 
 
 
 
 
 
2463
 
2464
+ module.exports = navigator && navigator.userAgent || '';
2465
 
2466
 
2467
+ /***/ }),
2468
+ /* 82 */
2469
+ /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
 
 
 
2470
 
2471
+ "use strict";
2472
 
2473
+ var global = __webpack_require__(2);
2474
+ var $export = __webpack_require__(0);
2475
+ var redefine = __webpack_require__(21);
2476
+ var redefineAll = __webpack_require__(53);
2477
+ var meta = __webpack_require__(40);
2478
+ var forOf = __webpack_require__(52);
2479
+ var anInstance = __webpack_require__(51);
2480
+ var isObject = __webpack_require__(4);
2481
+ var fails = __webpack_require__(3);
2482
+ var $iterDetect = __webpack_require__(77);
2483
+ var setToStringTag = __webpack_require__(58);
2484
+ var inheritIfRequired = __webpack_require__(98);
2485
+
2486
+ module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {
2487
+ var Base = global[NAME];
2488
+ var C = Base;
2489
+ var ADDER = IS_MAP ? 'set' : 'add';
2490
+ var proto = C && C.prototype;
2491
+ var O = {};
2492
+ var fixMethod = function (KEY) {
2493
+ var fn = proto[KEY];
2494
+ redefine(proto, KEY,
2495
+ KEY == 'delete' ? function (a) {
2496
+ return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);
2497
+ } : KEY == 'has' ? function has(a) {
2498
+ return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);
2499
+ } : KEY == 'get' ? function get(a) {
2500
+ return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);
2501
+ } : KEY == 'add' ? function add(a) { fn.call(this, a === 0 ? 0 : a); return this; }
2502
+ : function set(a, b) { fn.call(this, a === 0 ? 0 : a, b); return this; }
2503
+ );
2504
  };
2505
+ if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {
2506
+ new C().entries().next();
2507
+ }))) {
2508
+ // create collection constructor
2509
+ C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);
2510
+ redefineAll(C.prototype, methods);
2511
+ meta.NEED = true;
2512
+ } else {
2513
+ var instance = new C();
2514
+ // early implementations not supports chaining
2515
+ var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;
2516
+ // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false
2517
+ var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });
2518
+ // most early implementations doesn't supports iterables, most modern - not close it correctly
2519
+ var ACCEPT_ITERABLES = $iterDetect(function (iter) { new C(iter); }); // eslint-disable-line no-new
2520
+ // for early implementations -0 and +0 not the same
2521
+ var BUGGY_ZERO = !IS_WEAK && fails(function () {
2522
+ // V8 ~ Chromium 42- fails only with 5+ elements
2523
+ var $instance = new C();
2524
+ var index = 5;
2525
+ while (index--) $instance[ADDER](index, index);
2526
+ return !$instance.has(-0);
2527
+ });
2528
+ if (!ACCEPT_ITERABLES) {
2529
+ C = wrapper(function (target, iterable) {
2530
+ anInstance(target, C, NAME);
2531
+ var that = inheritIfRequired(new Base(), target, C);
2532
+ if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);
2533
+ return that;
2534
+ });
2535
+ C.prototype = proto;
2536
+ proto.constructor = C;
2537
  }
2538
+ if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {
2539
+ fixMethod('delete');
2540
+ fixMethod('has');
2541
+ IS_MAP && fixMethod('get');
2542
+ }
2543
+ if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);
2544
+ // weak collections should not contains .clear method
2545
+ if (IS_WEAK && proto.clear) delete proto.clear;
2546
  }
 
2547
 
2548
+ setToStringTag(C, NAME);
2549
 
2550
+ O[NAME] = C;
2551
+ $export($export.G + $export.W + $export.F * (C != Base), O);
 
2552
 
2553
+ if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);
2554
+
2555
+ return C;
2556
+ };
 
 
 
 
2557
 
2558
 
2559
+ /***/ }),
2560
+ /* 83 */
2561
+ /***/ (function(module, exports, __webpack_require__) {
2562
 
2563
+ var global = __webpack_require__(2);
2564
+ var hide = __webpack_require__(20);
2565
+ var uid = __webpack_require__(45);
2566
+ var TYPED = uid('typed_array');
2567
+ var VIEW = uid('view');
2568
+ var ABV = !!(global.ArrayBuffer && global.DataView);
2569
+ var CONSTR = ABV;
2570
+ var i = 0;
2571
+ var l = 9;
2572
+ var Typed;
2573
+
2574
+ var TypedArrayConstructors = (
2575
+ 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array'
2576
+ ).split(',');
2577
 
2578
+ while (i < l) {
2579
+ if (Typed = global[TypedArrayConstructors[i++]]) {
2580
+ hide(Typed.prototype, TYPED, true);
2581
+ hide(Typed.prototype, VIEW, true);
2582
+ } else CONSTR = false;
2583
  }
2584
 
2585
+ module.exports = {
2586
+ ABV: ABV,
2587
+ CONSTR: CONSTR,
2588
+ TYPED: TYPED,
2589
+ VIEW: VIEW
2590
+ };
2591
+
2592
 
2593
  /***/ }),
2594
+ /* 84 */
2595
  /***/ (function(module, exports, __webpack_require__) {
2596
 
2597
  "use strict";
2598
 
2599
+ // Forced replacement prototype accessors methods
2600
+ module.exports = __webpack_require__(41) || !__webpack_require__(3)(function () {
2601
+ var K = Math.random();
2602
+ // In FF throws only define methods
2603
+ // eslint-disable-next-line no-undef, no-useless-call
2604
+ __defineSetter__.call(null, K, function () { /* empty */ });
2605
+ delete __webpack_require__(2)[K];
2606
+ });
2607
 
 
 
 
 
 
 
 
 
2608
 
2609
+ /***/ }),
2610
+ /* 85 */
2611
+ /***/ (function(module, exports, __webpack_require__) {
 
 
2612
 
2613
+ "use strict";
 
 
 
 
 
2614
 
2615
+ // https://tc39.github.io/proposal-setmap-offrom/
2616
+ var $export = __webpack_require__(0);
2617
+
2618
+ module.exports = function (COLLECTION) {
2619
+ $export($export.S, COLLECTION, { of: function of() {
2620
+ var length = arguments.length;
2621
+ var A = new Array(length);
2622
+ while (length--) A[length] = arguments[length];
2623
+ return new this(A);
2624
+ } });
2625
  };
2626
 
 
2627
 
2628
  /***/ }),
2629
+ /* 86 */
2630
  /***/ (function(module, exports, __webpack_require__) {
2631
 
2632
  "use strict";
2633
 
2634
+ // https://tc39.github.io/proposal-setmap-offrom/
2635
+ var $export = __webpack_require__(0);
2636
+ var aFunction = __webpack_require__(19);
2637
+ var ctx = __webpack_require__(29);
2638
+ var forOf = __webpack_require__(52);
2639
+
2640
+ module.exports = function (COLLECTION) {
2641
+ $export($export.S, COLLECTION, { from: function from(source /* , mapFn, thisArg */) {
2642
+ var mapFn = arguments[1];
2643
+ var mapping, A, n, cb;
2644
+ aFunction(this);
2645
+ mapping = mapFn !== undefined;
2646
+ if (mapping) aFunction(mapFn);
2647
+ if (source == undefined) return new this();
2648
+ A = [];
2649
+ if (mapping) {
2650
+ n = 0;
2651
+ cb = ctx(mapFn, arguments[2], 2);
2652
+ forOf(source, false, function (nextItem) {
2653
+ A.push(cb(nextItem, n++));
2654
+ });
2655
+ } else {
2656
+ forOf(source, false, A.push, A);
2657
  }
2658
+ return new this(A);
2659
+ } });
2660
  };
2661
 
2662
 
2663
  /***/ }),
2664
+ /* 87 */
2665
  /***/ (function(module, exports) {
2666
 
2667
+ module.exports = true;
 
2668
 
 
 
 
 
2669
 
2670
+ /***/ }),
2671
+ /* 88 */
2672
+ /***/ (function(module, exports) {
2673
 
2674
+ var id = 0;
2675
+ var px = Math.random();
2676
+ module.exports = function (key) {
2677
+ return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));
2678
+ };
2679
+
2680
+
2681
+ /***/ }),
2682
+ /* 89 */
2683
+ /***/ (function(module, exports) {
2684
+
2685
+ module.exports = function (bitmap, value) {
2686
+ return {
2687
+ enumerable: !(bitmap & 1),
2688
+ configurable: !(bitmap & 2),
2689
+ writable: !(bitmap & 4),
2690
+ value: value
2691
+ };
2692
+ };
2693
+
2694
+
2695
+ /***/ }),
2696
+ /* 90 */
2697
+ /***/ (function(module, exports, __webpack_require__) {
2698
+
2699
+ module.exports = __webpack_require__(456);
2700
+
2701
+ /***/ }),
2702
+ /* 91 */
2703
+ /***/ (function(module, exports, __webpack_require__) {
2704
+
2705
+ var isObject = __webpack_require__(4);
2706
+ var document = __webpack_require__(2).document;
2707
+ // typeof document.createElement is 'object' in old IE
2708
+ var is = isObject(document) && isObject(document.createElement);
2709
+ module.exports = function (it) {
2710
+ return is ? document.createElement(it) : {};
2711
+ };
2712
+
2713
+
2714
+ /***/ }),
2715
+ /* 92 */
2716
+ /***/ (function(module, exports, __webpack_require__) {
2717
+
2718
+ var global = __webpack_require__(2);
2719
+ var core = __webpack_require__(28);
2720
+ var LIBRARY = __webpack_require__(41);
2721
+ var wksExt = __webpack_require__(138);
2722
+ var defineProperty = __webpack_require__(8).f;
2723
+ module.exports = function (name) {
2724
+ var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});
2725
+ if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });
2726
+ };
2727
+
2728
+
2729
+ /***/ }),
2730
+ /* 93 */
2731
+ /***/ (function(module, exports, __webpack_require__) {
2732
+
2733
+ var shared = __webpack_require__(72)('keys');
2734
+ var uid = __webpack_require__(45);
2735
+ module.exports = function (key) {
2736
+ return shared[key] || (shared[key] = uid(key));
2737
+ };
2738
+
2739
+
2740
+ /***/ }),
2741
+ /* 94 */
2742
+ /***/ (function(module, exports) {
2743
+
2744
+ // IE 8- don't enum bug keys
2745
+ module.exports = (
2746
+ 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'
2747
+ ).split(',');
2748
+
2749
+
2750
+ /***/ }),
2751
+ /* 95 */
2752
+ /***/ (function(module, exports, __webpack_require__) {
2753
+
2754
+ var document = __webpack_require__(2).document;
2755
+ module.exports = document && document.documentElement;
2756
+
2757
+
2758
+ /***/ }),
2759
+ /* 96 */
2760
+ /***/ (function(module, exports, __webpack_require__) {
2761
+
2762
+ // Works with __proto__ only. Old v8 can't work with null proto objects.
2763
+ /* eslint-disable no-proto */
2764
+ var isObject = __webpack_require__(4);
2765
+ var anObject = __webpack_require__(1);
2766
+ var check = function (O, proto) {
2767
+ anObject(O);
2768
+ if (!isObject(proto) && proto !== null) throw TypeError(proto + ": can't set as prototype!");
2769
+ };
2770
+ module.exports = {
2771
+ set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line
2772
+ function (test, buggy, set) {
2773
+ try {
2774
+ set = __webpack_require__(29)(Function.call, __webpack_require__(25).f(Object.prototype, '__proto__').set, 2);
2775
+ set(test, []);
2776
+ buggy = !(test instanceof Array);
2777
+ } catch (e) { buggy = true; }
2778
+ return function setPrototypeOf(O, proto) {
2779
+ check(O, proto);
2780
+ if (buggy) O.__proto__ = proto;
2781
+ else set(O, proto);
2782
+ return O;
2783
+ };
2784
+ }({}, false) : undefined),
2785
+ check: check
2786
+ };
2787
+
2788
+
2789
+ /***/ }),
2790
+ /* 97 */
2791
+ /***/ (function(module, exports) {
2792
+
2793
+ module.exports = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003' +
2794
+ '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';
2795
+
2796
+
2797
+ /***/ }),
2798
+ /* 98 */
2799
+ /***/ (function(module, exports, __webpack_require__) {
2800
+
2801
+ var isObject = __webpack_require__(4);
2802
+ var setPrototypeOf = __webpack_require__(96).set;
2803
+ module.exports = function (that, target, C) {
2804
+ var S = target.constructor;
2805
+ var P;
2806
+ if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {
2807
+ setPrototypeOf(that, P);
2808
+ } return that;
2809
+ };
2810
+
2811
+
2812
+ /***/ }),
2813
+ /* 99 */
2814
+ /***/ (function(module, exports, __webpack_require__) {
2815
+
2816
+ "use strict";
2817
+
2818
+ var toInteger = __webpack_require__(34);
2819
+ var defined = __webpack_require__(33);
2820
+
2821
+ module.exports = function repeat(count) {
2822
+ var str = String(defined(this));
2823
+ var res = '';
2824
+ var n = toInteger(count);
2825
+ if (n < 0 || n == Infinity) throw RangeError("Count can't be negative");
2826
+ for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) res += str;
2827
+ return res;
2828
+ };
2829
+
2830
+
2831
+ /***/ }),
2832
+ /* 100 */
2833
+ /***/ (function(module, exports) {
2834
+
2835
+ // 20.2.2.28 Math.sign(x)
2836
+ module.exports = Math.sign || function sign(x) {
2837
+ // eslint-disable-next-line no-self-compare
2838
+ return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;
2839
+ };
2840
+
2841
+
2842
+ /***/ }),
2843
+ /* 101 */
2844
+ /***/ (function(module, exports) {
2845
+
2846
+ // 20.2.2.14 Math.expm1(x)
2847
+ var $expm1 = Math.expm1;
2848
+ module.exports = (!$expm1
2849
+ // Old FF bug
2850
+ || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168
2851
+ // Tor Browser bug
2852
+ || $expm1(-2e-17) != -2e-17
2853
+ ) ? function expm1(x) {
2854
+ return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1;
2855
+ } : $expm1;
2856
+
2857
+
2858
+ /***/ }),
2859
+ /* 102 */
2860
+ /***/ (function(module, exports, __webpack_require__) {
2861
+
2862
+ var toInteger = __webpack_require__(34);
2863
+ var defined = __webpack_require__(33);
2864
+ // true -> String#at
2865
+ // false -> String#codePointAt
2866
+ module.exports = function (TO_STRING) {
2867
+ return function (that, pos) {
2868
+ var s = String(defined(that));
2869
+ var i = toInteger(pos);
2870
+ var l = s.length;
2871
+ var a, b;
2872
+ if (i < 0 || i >= l) return TO_STRING ? '' : undefined;
2873
+ a = s.charCodeAt(i);
2874
+ return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff
2875
+ ? TO_STRING ? s.charAt(i) : a
2876
+ : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;
2877
+ };
2878
+ };
2879
+
2880
+
2881
+ /***/ }),
2882
+ /* 103 */
2883
+ /***/ (function(module, exports, __webpack_require__) {
2884
+
2885
+ "use strict";
2886
+
2887
+ var LIBRARY = __webpack_require__(41);
2888
+ var $export = __webpack_require__(0);
2889
+ var redefine = __webpack_require__(21);
2890
+ var hide = __webpack_require__(20);
2891
+ var Iterators = __webpack_require__(60);
2892
+ var $iterCreate = __webpack_require__(104);
2893
+ var setToStringTag = __webpack_require__(58);
2894
+ var getPrototypeOf = __webpack_require__(26);
2895
+ var ITERATOR = __webpack_require__(5)('iterator');
2896
+ var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`
2897
+ var FF_ITERATOR = '@@iterator';
2898
+ var KEYS = 'keys';
2899
+ var VALUES = 'values';
2900
+
2901
+ var returnThis = function () { return this; };
2902
+
2903
+ module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {
2904
+ $iterCreate(Constructor, NAME, next);
2905
+ var getMethod = function (kind) {
2906
+ if (!BUGGY && kind in proto) return proto[kind];
2907
+ switch (kind) {
2908
+ case KEYS: return function keys() { return new Constructor(this, kind); };
2909
+ case VALUES: return function values() { return new Constructor(this, kind); };
2910
+ } return function entries() { return new Constructor(this, kind); };
2911
+ };
2912
+ var TAG = NAME + ' Iterator';
2913
+ var DEF_VALUES = DEFAULT == VALUES;
2914
+ var VALUES_BUG = false;
2915
+ var proto = Base.prototype;
2916
+ var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];
2917
+ var $default = $native || getMethod(DEFAULT);
2918
+ var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;
2919
+ var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;
2920
+ var methods, key, IteratorPrototype;
2921
+ // Fix native
2922
+ if ($anyNative) {
2923
+ IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));
2924
+ if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {
2925
+ // Set @@toStringTag to native iterators
2926
+ setToStringTag(IteratorPrototype, TAG, true);
2927
+ // fix for some old engines
2928
+ if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);
2929
+ }
2930
+ }
2931
+ // fix Array#{values, @@iterator}.name in V8 / FF
2932
+ if (DEF_VALUES && $native && $native.name !== VALUES) {
2933
+ VALUES_BUG = true;
2934
+ $default = function values() { return $native.call(this); };
2935
+ }
2936
+ // Define iterator
2937
+ if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {
2938
+ hide(proto, ITERATOR, $default);
2939
+ }
2940
+ // Plug for library
2941
+ Iterators[NAME] = $default;
2942
+ Iterators[TAG] = returnThis;
2943
+ if (DEFAULT) {
2944
+ methods = {
2945
+ values: DEF_VALUES ? $default : getMethod(VALUES),
2946
+ keys: IS_SET ? $default : getMethod(KEYS),
2947
+ entries: $entries
2948
+ };
2949
+ if (FORCED) for (key in methods) {
2950
+ if (!(key in proto)) redefine(proto, key, methods[key]);
2951
+ } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);
2952
+ }
2953
+ return methods;
2954
+ };
2955
+
2956
+
2957
+ /***/ }),
2958
+ /* 104 */
2959
+ /***/ (function(module, exports, __webpack_require__) {
2960
+
2961
+ "use strict";
2962
+
2963
+ var create = __webpack_require__(48);
2964
+ var descriptor = __webpack_require__(44);
2965
+ var setToStringTag = __webpack_require__(58);
2966
+ var IteratorPrototype = {};
2967
+
2968
+ // 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
2969
+ __webpack_require__(20)(IteratorPrototype, __webpack_require__(5)('iterator'), function () { return this; });
2970
+
2971
+ module.exports = function (Constructor, NAME, next) {
2972
+ Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });
2973
+ setToStringTag(Constructor, NAME + ' Iterator');
2974
+ };
2975
+
2976
+
2977
+ /***/ }),
2978
+ /* 105 */
2979
+ /***/ (function(module, exports, __webpack_require__) {
2980
+
2981
+ // helper for String#{startsWith, endsWith, includes}
2982
+ var isRegExp = __webpack_require__(76);
2983
+ var defined = __webpack_require__(33);
2984
+
2985
+ module.exports = function (that, searchString, NAME) {
2986
+ if (isRegExp(searchString)) throw TypeError('String#' + NAME + " doesn't accept regex!");
2987
+ return String(defined(that));
2988
+ };
2989
+
2990
+
2991
+ /***/ }),
2992
+ /* 106 */
2993
+ /***/ (function(module, exports, __webpack_require__) {
2994
+
2995
+ var MATCH = __webpack_require__(5)('match');
2996
+ module.exports = function (KEY) {
2997
+ var re = /./;
2998
+ try {
2999
+ '/./'[KEY](re);
3000
+ } catch (e) {
3001
+ try {
3002
+ re[MATCH] = false;
3003
+ return !'/./'[KEY](re);
3004
+ } catch (f) { /* empty */ }
3005
+ } return true;
3006
+ };
3007
+
3008
+
3009
+ /***/ }),
3010
+ /* 107 */
3011
+ /***/ (function(module, exports, __webpack_require__) {
3012
+
3013
+ // check on default Array iterator
3014
+ var Iterators = __webpack_require__(60);
3015
+ var ITERATOR = __webpack_require__(5)('iterator');
3016
+ var ArrayProto = Array.prototype;
3017
+
3018
+ module.exports = function (it) {
3019
+ return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);
3020
+ };
3021
+
3022
+
3023
+ /***/ }),
3024
+ /* 108 */
3025
+ /***/ (function(module, exports, __webpack_require__) {
3026
+
3027
+ "use strict";
3028
+
3029
+ var $defineProperty = __webpack_require__(8);
3030
+ var createDesc = __webpack_require__(44);
3031
+
3032
+ module.exports = function (object, index, value) {
3033
+ if (index in object) $defineProperty.f(object, index, createDesc(0, value));
3034
+ else object[index] = value;
3035
+ };
3036
+
3037
+
3038
+ /***/ }),
3039
+ /* 109 */
3040
+ /***/ (function(module, exports, __webpack_require__) {
3041
+
3042
+ var classof = __webpack_require__(69);
3043
+ var ITERATOR = __webpack_require__(5)('iterator');
3044
+ var Iterators = __webpack_require__(60);
3045
+ module.exports = __webpack_require__(28).getIteratorMethod = function (it) {
3046
+ if (it != undefined) return it[ITERATOR]
3047
+ || it['@@iterator']
3048
+ || Iterators[classof(it)];
3049
+ };
3050
+
3051
+
3052
+ /***/ }),
3053
+ /* 110 */
3054
+ /***/ (function(module, exports, __webpack_require__) {
3055
+
3056
+ // 9.4.2.3 ArraySpeciesCreate(originalArray, length)
3057
+ var speciesConstructor = __webpack_require__(301);
3058
+
3059
+ module.exports = function (original, length) {
3060
+ return new (speciesConstructor(original))(length);
3061
+ };
3062
+
3063
+
3064
+ /***/ }),
3065
+ /* 111 */
3066
+ /***/ (function(module, exports, __webpack_require__) {
3067
+
3068
+ "use strict";
3069
+ // 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)
3070
+
3071
+ var toObject = __webpack_require__(17);
3072
+ var toAbsoluteIndex = __webpack_require__(47);
3073
+ var toLength = __webpack_require__(9);
3074
+ module.exports = function fill(value /* , start = 0, end = @length */) {
3075
+ var O = toObject(this);
3076
+ var length = toLength(O.length);
3077
+ var aLen = arguments.length;
3078
+ var index = toAbsoluteIndex(aLen > 1 ? arguments[1] : undefined, length);
3079
+ var end = aLen > 2 ? arguments[2] : undefined;
3080
+ var endPos = end === undefined ? length : toAbsoluteIndex(end, length);
3081
+ while (endPos > index) O[index++] = value;
3082
+ return O;
3083
+ };
3084
+
3085
+
3086
+ /***/ }),
3087
+ /* 112 */
3088
+ /***/ (function(module, exports, __webpack_require__) {
3089
+
3090
+ "use strict";
3091
+
3092
+ var addToUnscopables = __webpack_require__(42);
3093
+ var step = __webpack_require__(154);
3094
+ var Iterators = __webpack_require__(60);
3095
+ var toIObject = __webpack_require__(24);
3096
+
3097
+ // 22.1.3.4 Array.prototype.entries()
3098
+ // 22.1.3.13 Array.prototype.keys()
3099
+ // 22.1.3.29 Array.prototype.values()
3100
+ // 22.1.3.30 Array.prototype[@@iterator]()
3101
+ module.exports = __webpack_require__(103)(Array, 'Array', function (iterated, kind) {
3102
+ this._t = toIObject(iterated); // target
3103
+ this._i = 0; // next index
3104
+ this._k = kind; // kind
3105
+ // 22.1.5.2.1 %ArrayIteratorPrototype%.next()
3106
+ }, function () {
3107
+ var O = this._t;
3108
+ var kind = this._k;
3109
+ var index = this._i++;
3110
+ if (!O || index >= O.length) {
3111
+ this._t = undefined;
3112
+ return step(1);
3113
+ }
3114
+ if (kind == 'keys') return step(0, index);
3115
+ if (kind == 'values') return step(0, O[index]);
3116
+ return step(0, [index, O[index]]);
3117
+ }, 'values');
3118
+
3119
+ // argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)
3120
+ Iterators.Arguments = Iterators.Array;
3121
+
3122
+ addToUnscopables('keys');
3123
+ addToUnscopables('values');
3124
+ addToUnscopables('entries');
3125
+
3126
+
3127
+ /***/ }),
3128
+ /* 113 */
3129
+ /***/ (function(module, exports, __webpack_require__) {
3130
+
3131
+ var ctx = __webpack_require__(29);
3132
+ var invoke = __webpack_require__(144);
3133
+ var html = __webpack_require__(95);
3134
+ var cel = __webpack_require__(91);
3135
+ var global = __webpack_require__(2);
3136
+ var process = global.process;
3137
+ var setTask = global.setImmediate;
3138
+ var clearTask = global.clearImmediate;
3139
+ var MessageChannel = global.MessageChannel;
3140
+ var Dispatch = global.Dispatch;
3141
+ var counter = 0;
3142
+ var queue = {};
3143
+ var ONREADYSTATECHANGE = 'onreadystatechange';
3144
+ var defer, channel, port;
3145
+ var run = function () {
3146
+ var id = +this;
3147
+ // eslint-disable-next-line no-prototype-builtins
3148
+ if (queue.hasOwnProperty(id)) {
3149
+ var fn = queue[id];
3150
+ delete queue[id];
3151
+ fn();
3152
+ }
3153
+ };
3154
+ var listener = function (event) {
3155
+ run.call(event.data);
3156
+ };
3157
+ // Node.js 0.9+ & IE10+ has setImmediate, otherwise:
3158
+ if (!setTask || !clearTask) {
3159
+ setTask = function setImmediate(fn) {
3160
+ var args = [];
3161
+ var i = 1;
3162
+ while (arguments.length > i) args.push(arguments[i++]);
3163
+ queue[++counter] = function () {
3164
+ // eslint-disable-next-line no-new-func
3165
+ invoke(typeof fn == 'function' ? fn : Function(fn), args);
3166
+ };
3167
+ defer(counter);
3168
+ return counter;
3169
+ };
3170
+ clearTask = function clearImmediate(id) {
3171
+ delete queue[id];
3172
+ };
3173
+ // Node.js 0.8-
3174
+ if (__webpack_require__(30)(process) == 'process') {
3175
+ defer = function (id) {
3176
+ process.nextTick(ctx(run, id, 1));
3177
+ };
3178
+ // Sphere (JS game engine) Dispatch API
3179
+ } else if (Dispatch && Dispatch.now) {
3180
+ defer = function (id) {
3181
+ Dispatch.now(ctx(run, id, 1));
3182
+ };
3183
+ // Browsers with MessageChannel, includes WebWorkers
3184
+ } else if (MessageChannel) {
3185
+ channel = new MessageChannel();
3186
+ port = channel.port2;
3187
+ channel.port1.onmessage = listener;
3188
+ defer = ctx(port.postMessage, port, 1);
3189
+ // Browsers with postMessage, skip WebWorkers
3190
+ // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'
3191
+ } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {
3192
+ defer = function (id) {
3193
+ global.postMessage(id + '', '*');
3194
+ };
3195
+ global.addEventListener('message', listener, false);
3196
+ // IE8-
3197
+ } else if (ONREADYSTATECHANGE in cel('script')) {
3198
+ defer = function (id) {
3199
+ html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {
3200
+ html.removeChild(this);
3201
+ run.call(id);
3202
+ };
3203
+ };
3204
+ // Rest old browsers
3205
+ } else {
3206
+ defer = function (id) {
3207
+ setTimeout(ctx(run, id, 1), 0);
3208
+ };
3209
+ }
3210
+ }
3211
+ module.exports = {
3212
+ set: setTask,
3213
+ clear: clearTask
3214
+ };
3215
+
3216
+
3217
+ /***/ }),
3218
+ /* 114 */
3219
+ /***/ (function(module, exports, __webpack_require__) {
3220
+
3221
+ var global = __webpack_require__(2);
3222
+ var macrotask = __webpack_require__(113).set;
3223
+ var Observer = global.MutationObserver || global.WebKitMutationObserver;
3224
+ var process = global.process;
3225
+ var Promise = global.Promise;
3226
+ var isNode = __webpack_require__(30)(process) == 'process';
3227
+
3228
+ module.exports = function () {
3229
+ var head, last, notify;
3230
+
3231
+ var flush = function () {
3232
+ var parent, fn;
3233
+ if (isNode && (parent = process.domain)) parent.exit();
3234
+ while (head) {
3235
+ fn = head.fn;
3236
+ head = head.next;
3237
+ try {
3238
+ fn();
3239
+ } catch (e) {
3240
+ if (head) notify();
3241
+ else last = undefined;
3242
+ throw e;
3243
+ }
3244
+ } last = undefined;
3245
+ if (parent) parent.enter();
3246
+ };
3247
+
3248
+ // Node.js
3249
+ if (isNode) {
3250
+ notify = function () {
3251
+ process.nextTick(flush);
3252
+ };
3253
+ // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339
3254
+ } else if (Observer && !(global.navigator && global.navigator.standalone)) {
3255
+ var toggle = true;
3256
+ var node = document.createTextNode('');
3257
+ new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new
3258
+ notify = function () {
3259
+ node.data = toggle = !toggle;
3260
+ };
3261
+ // environments with maybe non-completely correct, but existent Promise
3262
+ } else if (Promise && Promise.resolve) {
3263
+ // Promise.resolve without an argument throws an error in LG WebOS 2
3264
+ var promise = Promise.resolve(undefined);
3265
+ notify = function () {
3266
+ promise.then(flush);
3267
+ };
3268
+ // for other environments - macrotask based on:
3269
+ // - setImmediate
3270
+ // - MessageChannel
3271
+ // - window.postMessag
3272
+ // - onreadystatechange
3273
+ // - setTimeout
3274
+ } else {
3275
+ notify = function () {
3276
+ // strange IE + webpack dev server bug - use .call(global)
3277
+ macrotask.call(global, flush);
3278
+ };
3279
+ }
3280
+
3281
+ return function (fn) {
3282
+ var task = { fn: fn, next: undefined };
3283
+ if (last) last.next = task;
3284
+ if (!head) {
3285
+ head = task;
3286
+ notify();
3287
+ } last = task;
3288
+ };
3289
+ };
3290
+
3291
+
3292
+ /***/ }),
3293
+ /* 115 */
3294
+ /***/ (function(module, exports, __webpack_require__) {
3295
+
3296
+ "use strict";
3297
+
3298
+ // 25.4.1.5 NewPromiseCapability(C)
3299
+ var aFunction = __webpack_require__(19);
3300
+
3301
+ function PromiseCapability(C) {
3302
+ var resolve, reject;
3303
+ this.promise = new C(function ($$resolve, $$reject) {
3304
+ if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');
3305
+ resolve = $$resolve;
3306
+ reject = $$reject;
3307
+ });
3308
+ this.resolve = aFunction(resolve);
3309
+ this.reject = aFunction(reject);
3310
+ }
3311
+
3312
+ module.exports.f = function (C) {
3313
+ return new PromiseCapability(C);
3314
+ };
3315
+
3316
+
3317
+ /***/ }),
3318
+ /* 116 */
3319
+ /***/ (function(module, exports, __webpack_require__) {
3320
+
3321
+ "use strict";
3322
+
3323
+ var global = __webpack_require__(2);
3324
+ var DESCRIPTORS = __webpack_require__(7);
3325
+ var LIBRARY = __webpack_require__(41);
3326
+ var $typed = __webpack_require__(83);
3327
+ var hide = __webpack_require__(20);
3328
+ var redefineAll = __webpack_require__(53);
3329
+ var fails = __webpack_require__(3);
3330
+ var anInstance = __webpack_require__(51);
3331
+ var toInteger = __webpack_require__(34);
3332
+ var toLength = __webpack_require__(9);
3333
+ var toIndex = __webpack_require__(163);
3334
+ var gOPN = __webpack_require__(49).f;
3335
+ var dP = __webpack_require__(8).f;
3336
+ var arrayFill = __webpack_require__(111);
3337
+ var setToStringTag = __webpack_require__(58);
3338
+ var ARRAY_BUFFER = 'ArrayBuffer';
3339
+ var DATA_VIEW = 'DataView';
3340
+ var PROTOTYPE = 'prototype';
3341
+ var WRONG_LENGTH = 'Wrong length!';
3342
+ var WRONG_INDEX = 'Wrong index!';
3343
+ var $ArrayBuffer = global[ARRAY_BUFFER];
3344
+ var $DataView = global[DATA_VIEW];
3345
+ var Math = global.Math;
3346
+ var RangeError = global.RangeError;
3347
+ // eslint-disable-next-line no-shadow-restricted-names
3348
+ var Infinity = global.Infinity;
3349
+ var BaseBuffer = $ArrayBuffer;
3350
+ var abs = Math.abs;
3351
+ var pow = Math.pow;
3352
+ var floor = Math.floor;
3353
+ var log = Math.log;
3354
+ var LN2 = Math.LN2;
3355
+ var BUFFER = 'buffer';
3356
+ var BYTE_LENGTH = 'byteLength';
3357
+ var BYTE_OFFSET = 'byteOffset';
3358
+ var $BUFFER = DESCRIPTORS ? '_b' : BUFFER;
3359
+ var $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH;
3360
+ var $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET;
3361
+
3362
+ // IEEE754 conversions based on https://github.com/feross/ieee754
3363
+ function packIEEE754(value, mLen, nBytes) {
3364
+ var buffer = new Array(nBytes);
3365
+ var eLen = nBytes * 8 - mLen - 1;
3366
+ var eMax = (1 << eLen) - 1;
3367
+ var eBias = eMax >> 1;
3368
+ var rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0;
3369
+ var i = 0;
3370
+ var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;
3371
+ var e, m, c;
3372
+ value = abs(value);
3373
+ // eslint-disable-next-line no-self-compare
3374
+ if (value != value || value === Infinity) {
3375
+ // eslint-disable-next-line no-self-compare
3376
+ m = value != value ? 1 : 0;
3377
+ e = eMax;
3378
+ } else {
3379
+ e = floor(log(value) / LN2);
3380
+ if (value * (c = pow(2, -e)) < 1) {
3381
+ e--;
3382
+ c *= 2;
3383
+ }
3384
+ if (e + eBias >= 1) {
3385
+ value += rt / c;
3386
+ } else {
3387
+ value += rt * pow(2, 1 - eBias);
3388
+ }
3389
+ if (value * c >= 2) {
3390
+ e++;
3391
+ c /= 2;
3392
+ }
3393
+ if (e + eBias >= eMax) {
3394
+ m = 0;
3395
+ e = eMax;
3396
+ } else if (e + eBias >= 1) {
3397
+ m = (value * c - 1) * pow(2, mLen);
3398
+ e = e + eBias;
3399
+ } else {
3400
+ m = value * pow(2, eBias - 1) * pow(2, mLen);
3401
+ e = 0;
3402
+ }
3403
+ }
3404
+ for (; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8);
3405
+ e = e << mLen | m;
3406
+ eLen += mLen;
3407
+ for (; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8);
3408
+ buffer[--i] |= s * 128;
3409
+ return buffer;
3410
+ }
3411
+ function unpackIEEE754(buffer, mLen, nBytes) {
3412
+ var eLen = nBytes * 8 - mLen - 1;
3413
+ var eMax = (1 << eLen) - 1;
3414
+ var eBias = eMax >> 1;
3415
+ var nBits = eLen - 7;
3416
+ var i = nBytes - 1;
3417
+ var s = buffer[i--];
3418
+ var e = s & 127;
3419
+ var m;
3420
+ s >>= 7;
3421
+ for (; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8);
3422
+ m = e & (1 << -nBits) - 1;
3423
+ e >>= -nBits;
3424
+ nBits += mLen;
3425
+ for (; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8);
3426
+ if (e === 0) {
3427
+ e = 1 - eBias;
3428
+ } else if (e === eMax) {
3429
+ return m ? NaN : s ? -Infinity : Infinity;
3430
+ } else {
3431
+ m = m + pow(2, mLen);
3432
+ e = e - eBias;
3433
+ } return (s ? -1 : 1) * m * pow(2, e - mLen);
3434
+ }
3435
+
3436
+ function unpackI32(bytes) {
3437
+ return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0];
3438
+ }
3439
+ function packI8(it) {
3440
+ return [it & 0xff];
3441
+ }
3442
+ function packI16(it) {
3443
+ return [it & 0xff, it >> 8 & 0xff];
3444
+ }
3445
+ function packI32(it) {
3446
+ return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff];
3447
+ }
3448
+ function packF64(it) {
3449
+ return packIEEE754(it, 52, 8);
3450
+ }
3451
+ function packF32(it) {
3452
+ return packIEEE754(it, 23, 4);
3453
+ }
3454
+
3455
+ function addGetter(C, key, internal) {
3456
+ dP(C[PROTOTYPE], key, { get: function () { return this[internal]; } });
3457
+ }
3458
+
3459
+ function get(view, bytes, index, isLittleEndian) {
3460
+ var numIndex = +index;
3461
+ var intIndex = toIndex(numIndex);
3462
+ if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);
3463
+ var store = view[$BUFFER]._b;
3464
+ var start = intIndex + view[$OFFSET];
3465
+ var pack = store.slice(start, start + bytes);
3466
+ return isLittleEndian ? pack : pack.reverse();
3467
+ }
3468
+ function set(view, bytes, index, conversion, value, isLittleEndian) {
3469
+ var numIndex = +index;
3470
+ var intIndex = toIndex(numIndex);
3471
+ if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);
3472
+ var store = view[$BUFFER]._b;
3473
+ var start = intIndex + view[$OFFSET];
3474
+ var pack = conversion(+value);
3475
+ for (var i = 0; i < bytes; i++) store[start + i] = pack[isLittleEndian ? i : bytes - i - 1];
3476
+ }
3477
+
3478
+ if (!$typed.ABV) {
3479
+ $ArrayBuffer = function ArrayBuffer(length) {
3480
+ anInstance(this, $ArrayBuffer, ARRAY_BUFFER);
3481
+ var byteLength = toIndex(length);
3482
+ this._b = arrayFill.call(new Array(byteLength), 0);
3483
+ this[$LENGTH] = byteLength;
3484
+ };
3485
+
3486
+ $DataView = function DataView(buffer, byteOffset, byteLength) {
3487
+ anInstance(this, $DataView, DATA_VIEW);
3488
+ anInstance(buffer, $ArrayBuffer, DATA_VIEW);
3489
+ var bufferLength = buffer[$LENGTH];
3490
+ var offset = toInteger(byteOffset);
3491
+ if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset!');
3492
+ byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);
3493
+ if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);
3494
+ this[$BUFFER] = buffer;
3495
+ this[$OFFSET] = offset;
3496
+ this[$LENGTH] = byteLength;
3497
+ };
3498
+
3499
+ if (DESCRIPTORS) {
3500
+ addGetter($ArrayBuffer, BYTE_LENGTH, '_l');
3501
+ addGetter($DataView, BUFFER, '_b');
3502
+ addGetter($DataView, BYTE_LENGTH, '_l');
3503
+ addGetter($DataView, BYTE_OFFSET, '_o');
3504
+ }
3505
+
3506
+ redefineAll($DataView[PROTOTYPE], {
3507
+ getInt8: function getInt8(byteOffset) {
3508
+ return get(this, 1, byteOffset)[0] << 24 >> 24;
3509
+ },
3510
+ getUint8: function getUint8(byteOffset) {
3511
+ return get(this, 1, byteOffset)[0];
3512
+ },
3513
+ getInt16: function getInt16(byteOffset /* , littleEndian */) {
3514
+ var bytes = get(this, 2, byteOffset, arguments[1]);
3515
+ return (bytes[1] << 8 | bytes[0]) << 16 >> 16;
3516
+ },
3517
+ getUint16: function getUint16(byteOffset /* , littleEndian */) {
3518
+ var bytes = get(this, 2, byteOffset, arguments[1]);
3519
+ return bytes[1] << 8 | bytes[0];
3520
+ },
3521
+ getInt32: function getInt32(byteOffset /* , littleEndian */) {
3522
+ return unpackI32(get(this, 4, byteOffset, arguments[1]));
3523
+ },
3524
+ getUint32: function getUint32(byteOffset /* , littleEndian */) {
3525
+ return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0;
3526
+ },
3527
+ getFloat32: function getFloat32(byteOffset /* , littleEndian */) {
3528
+ return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4);
3529
+ },
3530
+ getFloat64: function getFloat64(byteOffset /* , littleEndian */) {
3531
+ return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8);
3532
+ },
3533
+ setInt8: function setInt8(byteOffset, value) {
3534
+ set(this, 1, byteOffset, packI8, value);
3535
+ },
3536
+ setUint8: function setUint8(byteOffset, value) {
3537
+ set(this, 1, byteOffset, packI8, value);
3538
+ },
3539
+ setInt16: function setInt16(byteOffset, value /* , littleEndian */) {
3540
+ set(this, 2, byteOffset, packI16, value, arguments[2]);
3541
+ },
3542
+ setUint16: function setUint16(byteOffset, value /* , littleEndian */) {
3543
+ set(this, 2, byteOffset, packI16, value, arguments[2]);
3544
+ },
3545
+ setInt32: function setInt32(byteOffset, value /* , littleEndian */) {
3546
+ set(this, 4, byteOffset, packI32, value, arguments[2]);
3547
+ },
3548
+ setUint32: function setUint32(byteOffset, value /* , littleEndian */) {
3549
+ set(this, 4, byteOffset, packI32, value, arguments[2]);
3550
+ },
3551
+ setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {
3552
+ set(this, 4, byteOffset, packF32, value, arguments[2]);
3553
+ },
3554
+ setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {
3555
+ set(this, 8, byteOffset, packF64, value, arguments[2]);
3556
+ }
3557
+ });
3558
+ } else {
3559
+ if (!fails(function () {
3560
+ $ArrayBuffer(1);
3561
+ }) || !fails(function () {
3562
+ new $ArrayBuffer(-1); // eslint-disable-line no-new
3563
+ }) || fails(function () {
3564
+ new $ArrayBuffer(); // eslint-disable-line no-new
3565
+ new $ArrayBuffer(1.5); // eslint-disable-line no-new
3566
+ new $ArrayBuffer(NaN); // eslint-disable-line no-new
3567
+ return $ArrayBuffer.name != ARRAY_BUFFER;
3568
+ })) {
3569
+ $ArrayBuffer = function ArrayBuffer(length) {
3570
+ anInstance(this, $ArrayBuffer);
3571
+ return new BaseBuffer(toIndex(length));
3572
+ };
3573
+ var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE];
3574
+ for (var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j;) {
3575
+ if (!((key = keys[j++]) in $ArrayBuffer)) hide($ArrayBuffer, key, BaseBuffer[key]);
3576
+ }
3577
+ if (!LIBRARY) ArrayBufferProto.constructor = $ArrayBuffer;
3578
+ }
3579
+ // iOS Safari 7.x bug
3580
+ var view = new $DataView(new $ArrayBuffer(2));
3581
+ var $setInt8 = $DataView[PROTOTYPE].setInt8;
3582
+ view.setInt8(0, 2147483648);
3583
+ view.setInt8(1, 2147483649);
3584
+ if (view.getInt8(0) || !view.getInt8(1)) redefineAll($DataView[PROTOTYPE], {
3585
+ setInt8: function setInt8(byteOffset, value) {
3586
+ $setInt8.call(this, byteOffset, value << 24 >> 24);
3587
+ },
3588
+ setUint8: function setUint8(byteOffset, value) {
3589
+ $setInt8.call(this, byteOffset, value << 24 >> 24);
3590
+ }
3591
+ }, true);
3592
+ }
3593
+ setToStringTag($ArrayBuffer, ARRAY_BUFFER);
3594
+ setToStringTag($DataView, DATA_VIEW);
3595
+ hide($DataView[PROTOTYPE], $typed.VIEW, true);
3596
+ exports[ARRAY_BUFFER] = $ArrayBuffer;
3597
+ exports[DATA_VIEW] = $DataView;
3598
+
3599
+
3600
+ /***/ }),
3601
+ /* 117 */
3602
+ /***/ (function(module, exports) {
3603
+
3604
+ // 7.2.1 RequireObjectCoercible(argument)
3605
+ module.exports = function (it) {
3606
+ if (it == undefined) throw TypeError("Can't call method on " + it);
3607
+ return it;
3608
+ };
3609
+
3610
+
3611
+ /***/ }),
3612
+ /* 118 */
3613
+ /***/ (function(module, exports, __webpack_require__) {
3614
+
3615
+ var shared = __webpack_require__(119)('keys');
3616
+ var uid = __webpack_require__(88);
3617
+ module.exports = function (key) {
3618
+ return shared[key] || (shared[key] = uid(key));
3619
+ };
3620
+
3621
+
3622
+ /***/ }),
3623
+ /* 119 */
3624
+ /***/ (function(module, exports, __webpack_require__) {
3625
+
3626
+ var core = __webpack_require__(39);
3627
+ var global = __webpack_require__(43);
3628
+ var SHARED = '__core-js_shared__';
3629
+ var store = global[SHARED] || (global[SHARED] = {});
3630
+
3631
+ (module.exports = function (key, value) {
3632
+ return store[key] || (store[key] = value !== undefined ? value : {});
3633
+ })('versions', []).push({
3634
+ version: core.version,
3635
+ mode: __webpack_require__(87) ? 'pure' : 'global',
3636
+ copyright: '© 2018 Denis Pushkarev (zloirock.ru)'
3637
+ });
3638
+
3639
+
3640
+ /***/ }),
3641
+ /* 120 */
3642
+ /***/ (function(module, exports, __webpack_require__) {
3643
+
3644
+ // 7.1.1 ToPrimitive(input [, PreferredType])
3645
+ var isObject = __webpack_require__(64);
3646
+ // instead of the ES6 spec version, we didn't implement @@toPrimitive case
3647
+ // and the second argument - flag - preferred type is a string
3648
+ module.exports = function (it, S) {
3649
+ if (!isObject(it)) return it;
3650
+ var fn, val;
3651
+ if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
3652
+ if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;
3653
+ if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
3654
+ throw TypeError("Can't convert object to primitive value");
3655
+ };
3656
+
3657
+
3658
+ /***/ }),
3659
+ /* 121 */
3660
+ /***/ (function(module, exports) {
3661
+
3662
+ // 7.1.4 ToInteger
3663
+ var ceil = Math.ceil;
3664
+ var floor = Math.floor;
3665
+ module.exports = function (it) {
3666
+ return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);
3667
+ };
3668
+
3669
+
3670
+ /***/ }),
3671
+ /* 122 */
3672
+ /***/ (function(module, exports) {
3673
+
3674
+ module.exports = {};
3675
+
3676
+
3677
+ /***/ }),
3678
+ /* 123 */
3679
+ /***/ (function(module, exports, __webpack_require__) {
3680
+
3681
+ // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
3682
+ var anObject = __webpack_require__(70);
3683
+ var dPs = __webpack_require__(424);
3684
+ var enumBugKeys = __webpack_require__(125);
3685
+ var IE_PROTO = __webpack_require__(118)('IE_PROTO');
3686
+ var Empty = function () { /* empty */ };
3687
+ var PROTOTYPE = 'prototype';
3688
+
3689
+ // Create object with fake `null` prototype: use iframe Object with cleared prototype
3690
+ var createDict = function () {
3691
+ // Thrash, waste and sodomy: IE GC bug
3692
+ var iframe = __webpack_require__(175)('iframe');
3693
+ var i = enumBugKeys.length;
3694
+ var lt = '<';
3695
+ var gt = '>';
3696
+ var iframeDocument;
3697
+ iframe.style.display = 'none';
3698
+ __webpack_require__(429).appendChild(iframe);
3699
+ iframe.src = 'javascript:'; // eslint-disable-line no-script-url
3700
+ // createDict = iframe.contentWindow.Object;
3701
+ // html.removeChild(iframe);
3702
+ iframeDocument = iframe.contentWindow.document;
3703
+ iframeDocument.open();
3704
+ iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);
3705
+ iframeDocument.close();
3706
+ createDict = iframeDocument.F;
3707
+ while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];
3708
+ return createDict();
3709
+ };
3710
+
3711
+ module.exports = Object.create || function create(O, Properties) {
3712
+ var result;
3713
+ if (O !== null) {
3714
+ Empty[PROTOTYPE] = anObject(O);
3715
+ result = new Empty();
3716
+ Empty[PROTOTYPE] = null;
3717
+ // add "__proto__" for Object.getPrototypeOf polyfill
3718
+ result[IE_PROTO] = O;
3719
+ } else result = createDict();
3720
+ return Properties === undefined ? result : dPs(result, Properties);
3721
+ };
3722
+
3723
+
3724
+ /***/ }),
3725
+ /* 124 */
3726
+ /***/ (function(module, exports, __webpack_require__) {
3727
+
3728
+ // 19.1.2.14 / 15.2.3.14 Object.keys(O)
3729
+ var $keys = __webpack_require__(179);
3730
+ var enumBugKeys = __webpack_require__(125);
3731
+
3732
+ module.exports = Object.keys || function keys(O) {
3733
+ return $keys(O, enumBugKeys);
3734
+ };
3735
+
3736
+
3737
+ /***/ }),
3738
+ /* 125 */
3739
+ /***/ (function(module, exports) {
3740
+
3741
+ // IE 8- don't enum bug keys
3742
+ module.exports = (
3743
+ 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'
3744
+ ).split(',');
3745
+
3746
+
3747
+ /***/ }),
3748
+ /* 126 */
3749
+ /***/ (function(module, exports, __webpack_require__) {
3750
+
3751
+ var def = __webpack_require__(55).f;
3752
+ var has = __webpack_require__(54);
3753
+ var TAG = __webpack_require__(66)('toStringTag');
3754
+
3755
+ module.exports = function (it, tag, stat) {
3756
+ if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });
3757
+ };
3758
+
3759
+
3760
+ /***/ }),
3761
+ /* 127 */
3762
+ /***/ (function(module, exports, __webpack_require__) {
3763
+
3764
+ exports.f = __webpack_require__(66);
3765
+
3766
+
3767
+ /***/ }),
3768
+ /* 128 */
3769
+ /***/ (function(module, exports, __webpack_require__) {
3770
+
3771
+ var global = __webpack_require__(43);
3772
+ var core = __webpack_require__(39);
3773
+ var LIBRARY = __webpack_require__(87);
3774
+ var wksExt = __webpack_require__(127);
3775
+ var defineProperty = __webpack_require__(55).f;
3776
+ module.exports = function (name) {
3777
+ var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});
3778
+ if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });
3779
+ };
3780
+
3781
+
3782
+ /***/ }),
3783
+ /* 129 */
3784
+ /***/ (function(module, exports) {
3785
+
3786
+ exports.f = {}.propertyIsEnumerable;
3787
+
3788
+
3789
+ /***/ }),
3790
+ /* 130 */
3791
+ /***/ (function(module, exports, __webpack_require__) {
3792
+
3793
+ "use strict";
3794
+ /* WEBPACK VAR INJECTION */(function(process) {
3795
+
3796
+ var utils = __webpack_require__(27);
3797
+ var normalizeHeaderName = __webpack_require__(459);
3798
+
3799
+ var DEFAULT_CONTENT_TYPE = {
3800
+ 'Content-Type': 'application/x-www-form-urlencoded'
3801
+ };
3802
+
3803
+ function setContentTypeIfUnset(headers, value) {
3804
+ if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {
3805
+ headers['Content-Type'] = value;
3806
+ }
3807
+ }
3808
+
3809
+ function getDefaultAdapter() {
3810
+ var adapter;
3811
+ if (typeof XMLHttpRequest !== 'undefined') {
3812
+ // For browsers use XHR adapter
3813
+ adapter = __webpack_require__(187);
3814
+ } else if (typeof process !== 'undefined') {
3815
+ // For node use HTTP adapter
3816
+ adapter = __webpack_require__(187);
3817
+ }
3818
+ return adapter;
3819
+ }
3820
+
3821
+ var defaults = {
3822
+ adapter: getDefaultAdapter(),
3823
+
3824
+ transformRequest: [function transformRequest(data, headers) {
3825
+ normalizeHeaderName(headers, 'Content-Type');
3826
+ if (utils.isFormData(data) ||
3827
+ utils.isArrayBuffer(data) ||
3828
+ utils.isBuffer(data) ||
3829
+ utils.isStream(data) ||
3830
+ utils.isFile(data) ||
3831
+ utils.isBlob(data)
3832
+ ) {
3833
+ return data;
3834
+ }
3835
+ if (utils.isArrayBufferView(data)) {
3836
+ return data.buffer;
3837
+ }
3838
+ if (utils.isURLSearchParams(data)) {
3839
+ setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');
3840
+ return data.toString();
3841
+ }
3842
+ if (utils.isObject(data)) {
3843
+ setContentTypeIfUnset(headers, 'application/json;charset=utf-8');
3844
+ return JSON.stringify(data);
3845
+ }
3846
+ return data;
3847
+ }],
3848
+
3849
+ transformResponse: [function transformResponse(data) {
3850
+ /*eslint no-param-reassign:0*/
3851
+ if (typeof data === 'string') {
3852
+ try {
3853
+ data = JSON.parse(data);
3854
+ } catch (e) { /* Ignore */ }
3855
+ }
3856
+ return data;
3857
+ }],
3858
+
3859
+ /**
3860
+ * A timeout in milliseconds to abort a request. If set to 0 (default) a
3861
+ * timeout is not created.
3862
+ */
3863
+ timeout: 0,
3864
+
3865
+ xsrfCookieName: 'XSRF-TOKEN',
3866
+ xsrfHeaderName: 'X-XSRF-TOKEN',
3867
+
3868
+ maxContentLength: -1,
3869
+
3870
+ validateStatus: function validateStatus(status) {
3871
+ return status >= 200 && status < 300;
3872
+ }
3873
+ };
3874
+
3875
+ defaults.headers = {
3876
+ common: {
3877
+ 'Accept': 'application/json, text/plain, */*'
3878
+ }
3879
+ };
3880
+
3881
+ utils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {
3882
+ defaults.headers[method] = {};
3883
+ });
3884
+
3885
+ utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {
3886
+ defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);
3887
+ });
3888
+
3889
+ module.exports = defaults;
3890
+
3891
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(186)))
3892
+
3893
+ /***/ }),
3894
+ /* 131 */
3895
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
3896
+
3897
+ "use strict";
3898
+ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
3899
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__createStore__ = __webpack_require__(191);
3900
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__combineReducers__ = __webpack_require__(485);
3901
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__bindActionCreators__ = __webpack_require__(486);
3902
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__applyMiddleware__ = __webpack_require__(487);
3903
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__compose__ = __webpack_require__(195);
3904
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__utils_warning__ = __webpack_require__(194);
3905
+ /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "createStore", function() { return __WEBPACK_IMPORTED_MODULE_0__createStore__["b"]; });
3906
+ /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "combineReducers", function() { return __WEBPACK_IMPORTED_MODULE_1__combineReducers__["a"]; });
3907
+ /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "bindActionCreators", function() { return __WEBPACK_IMPORTED_MODULE_2__bindActionCreators__["a"]; });
3908
+ /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "applyMiddleware", function() { return __WEBPACK_IMPORTED_MODULE_3__applyMiddleware__["a"]; });
3909
+ /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "compose", function() { return __WEBPACK_IMPORTED_MODULE_4__compose__["a"]; });
3910
+
3911
+
3912
+
3913
+
3914
+
3915
+
3916
+
3917
+ /*
3918
+ * This is a dummy function to check if the function name has been altered by minification.
3919
+ * If the function has been minified and NODE_ENV !== 'production', warn the user.
3920
+ */
3921
+ function isCrushed() {}
3922
+
3923
+ if (false) {
3924
+ warning('You are currently using minified code outside of NODE_ENV === \'production\'. ' + 'This means that you are running a slower development build of Redux. ' + 'You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify ' + 'or DefinePlugin for webpack (http://stackoverflow.com/questions/30030031) ' + 'to ensure you have the correct code for your production build.');
3925
+ }
3926
+
3927
+
3928
+
3929
+ /***/ }),
3930
+ /* 132 */
3931
+ /***/ (function(module, exports, __webpack_require__) {
3932
+
3933
+ "use strict";
3934
+
3935
+
3936
+ var stringify = __webpack_require__(490);
3937
+ var parse = __webpack_require__(491);
3938
+ var formats = __webpack_require__(198);
3939
+
3940
+ module.exports = {
3941
+ formats: formats,
3942
+ parse: parse,
3943
+ stringify: stringify
3944
+ };
3945
+
3946
+
3947
+ /***/ }),
3948
+ /* 133 */
3949
+ /***/ (function(module, exports, __webpack_require__) {
3950
+
3951
+ /**
3952
+ * Copyright (c) 2013-present, Facebook, Inc.
3953
+ *
3954
+ * This source code is licensed under the MIT license found in the
3955
+ * LICENSE file in the root directory of this source tree.
3956
+ */
3957
+
3958
+ if (false) {
3959
+ var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&
3960
+ Symbol.for &&
3961
+ Symbol.for('react.element')) ||
3962
+ 0xeac7;
3963
+
3964
+ var isValidElement = function(object) {
3965
+ return typeof object === 'object' &&
3966
+ object !== null &&
3967
+ object.$$typeof === REACT_ELEMENT_TYPE;
3968
+ };
3969
+
3970
+ // By explicitly using `prop-types` you are opting into new development behavior.
3971
+ // http://fb.me/prop-types-in-prod
3972
+ var throwOnDirectAccess = true;
3973
+ module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);
3974
+ } else {
3975
+ // By explicitly using `prop-types` you are opting into new production behavior.
3976
+ // http://fb.me/prop-types-in-prod
3977
+ module.exports = __webpack_require__(494)();
3978
+ }
3979
+
3980
+
3981
+ /***/ }),
3982
+ /* 134 */
3983
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
3984
+
3985
+ "use strict";
3986
+ /* harmony export (immutable) */ __webpack_exports__["a"] = warning;
3987
+ /**
3988
+ * Prints a warning in the console if it exists.
3989
+ *
3990
+ * @param {String} message The warning message.
3991
+ * @returns {void}
3992
+ */
3993
+ function warning(message) {
3994
+ /* eslint-disable no-console */
3995
+ if (typeof console !== 'undefined' && typeof console.error === 'function') {
3996
+ console.error(message);
3997
+ }
3998
+ /* eslint-enable no-console */
3999
+
4000
+
4001
+ try {
4002
+ // This error was thrown as a convenience so that if you enable
4003
+ // "break on all exceptions" in your console,
4004
+ // it would pause the execution at this line.
4005
+ throw new Error(message);
4006
+ /* eslint-disable no-empty */
4007
+ } catch (e) {}
4008
+ /* eslint-enable no-empty */
4009
+
4010
+ }
4011
+
4012
+ /***/ }),
4013
+ /* 135 */
4014
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
4015
+
4016
+ "use strict";
4017
+ /* harmony export (immutable) */ __webpack_exports__["a"] = _extends;
4018
+ function _extends() {
4019
+ _extends = Object.assign || function (target) {
4020
+ for (var i = 1; i < arguments.length; i++) {
4021
+ var source = arguments[i];
4022
+
4023
+ for (var key in source) {
4024
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
4025
+ target[key] = source[key];
4026
+ }
4027
+ }
4028
+ }
4029
+
4030
+ return target;
4031
+ };
4032
+
4033
+ return _extends.apply(this, arguments);
4034
+ }
4035
+
4036
+ /***/ }),
4037
+ /* 136 */
4038
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
4039
+
4040
+ "use strict";
4041
+ /* harmony export (immutable) */ __webpack_exports__["a"] = _objectWithoutPropertiesLoose;
4042
+ function _objectWithoutPropertiesLoose(source, excluded) {
4043
+ if (source == null) return {};
4044
+ var target = {};
4045
+ var sourceKeys = Object.keys(source);
4046
+ var key, i;
4047
+
4048
+ for (i = 0; i < sourceKeys.length; i++) {
4049
+ key = sourceKeys[i];
4050
+ if (excluded.indexOf(key) >= 0) continue;
4051
+ target[key] = source[key];
4052
+ }
4053
+
4054
+ return target;
4055
+ }
4056
+
4057
+ /***/ }),
4058
+ /* 137 */
4059
+ /***/ (function(module, exports, __webpack_require__) {
4060
+
4061
+ module.exports = !__webpack_require__(7) && !__webpack_require__(3)(function () {
4062
+ return Object.defineProperty(__webpack_require__(91)('div'), 'a', { get: function () { return 7; } }).a != 7;
4063
+ });
4064
+
4065
+
4066
+ /***/ }),
4067
+ /* 138 */
4068
+ /***/ (function(module, exports, __webpack_require__) {
4069
+
4070
+ exports.f = __webpack_require__(5);
4071
+
4072
+
4073
+ /***/ }),
4074
+ /* 139 */
4075
+ /***/ (function(module, exports, __webpack_require__) {
4076
+
4077
+ var has = __webpack_require__(23);
4078
+ var toIObject = __webpack_require__(24);
4079
+ var arrayIndexOf = __webpack_require__(73)(false);
4080
+ var IE_PROTO = __webpack_require__(93)('IE_PROTO');
4081
+
4082
+ module.exports = function (object, names) {
4083
+ var O = toIObject(object);
4084
+ var i = 0;
4085
+ var result = [];
4086
+ var key;
4087
+ for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);
4088
+ // Don't enum bug & hidden keys
4089
+ while (names.length > i) if (has(O, key = names[i++])) {
4090
+ ~arrayIndexOf(result, key) || result.push(key);
4091
+ }
4092
+ return result;
4093
+ };
4094
+
4095
+
4096
+ /***/ }),
4097
+ /* 140 */
4098
+ /***/ (function(module, exports, __webpack_require__) {
4099
+
4100
+ var dP = __webpack_require__(8);
4101
+ var anObject = __webpack_require__(1);
4102
+ var getKeys = __webpack_require__(46);
4103
+
4104
+ module.exports = __webpack_require__(7) ? Object.defineProperties : function defineProperties(O, Properties) {
4105
+ anObject(O);
4106
+ var keys = getKeys(Properties);
4107
+ var length = keys.length;
4108
+ var i = 0;
4109
+ var P;
4110
+ while (length > i) dP.f(O, P = keys[i++], Properties[P]);
4111
+ return O;
4112
+ };
4113
+
4114
+
4115
+ /***/ }),
4116
+ /* 141 */
4117
+ /***/ (function(module, exports, __webpack_require__) {
4118
+
4119
+ // fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
4120
+ var toIObject = __webpack_require__(24);
4121
+ var gOPN = __webpack_require__(49).f;
4122
+ var toString = {}.toString;
4123
+
4124
+ var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames
4125
+ ? Object.getOwnPropertyNames(window) : [];
4126
+
4127
+ var getWindowNames = function (it) {
4128
+ try {
4129
+ return gOPN(it);
4130
+ } catch (e) {
4131
+ return windowNames.slice();
4132
+ }
4133
+ };
4134
+
4135
+ module.exports.f = function getOwnPropertyNames(it) {
4136
+ return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));
4137
+ };
4138
+
4139
+
4140
+ /***/ }),
4141
+ /* 142 */
4142
+ /***/ (function(module, exports, __webpack_require__) {
4143
+
4144
+ "use strict";
4145
+
4146
+ // 19.1.2.1 Object.assign(target, source, ...)
4147
+ var getKeys = __webpack_require__(46);
4148
+ var gOPS = __webpack_require__(74);
4149
+ var pIE = __webpack_require__(68);
4150
+ var toObject = __webpack_require__(17);
4151
+ var IObject = __webpack_require__(67);
4152
+ var $assign = Object.assign;
4153
+
4154
+ // should work with symbols and should have deterministic property order (V8 bug)
4155
+ module.exports = !$assign || __webpack_require__(3)(function () {
4156
+ var A = {};
4157
+ var B = {};
4158
+ // eslint-disable-next-line no-undef
4159
+ var S = Symbol();
4160
+ var K = 'abcdefghijklmnopqrst';
4161
+ A[S] = 7;
4162
+ K.split('').forEach(function (k) { B[k] = k; });
4163
+ return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;
4164
+ }) ? function assign(target, source) { // eslint-disable-line no-unused-vars
4165
+ var T = toObject(target);
4166
+ var aLen = arguments.length;
4167
+ var index = 1;
4168
+ var getSymbols = gOPS.f;
4169
+ var isEnum = pIE.f;
4170
+ while (aLen > index) {
4171
+ var S = IObject(arguments[index++]);
4172
+ var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);
4173
+ var length = keys.length;
4174
+ var j = 0;
4175
+ var key;
4176
+ while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];
4177
+ } return T;
4178
+ } : $assign;
4179
+
4180
+
4181
+ /***/ }),
4182
+ /* 143 */
4183
+ /***/ (function(module, exports, __webpack_require__) {
4184
+
4185
+ "use strict";
4186
+
4187
+ var aFunction = __webpack_require__(19);
4188
+ var isObject = __webpack_require__(4);
4189
+ var invoke = __webpack_require__(144);
4190
+ var arraySlice = [].slice;
4191
+ var factories = {};
4192
+
4193
+ var construct = function (F, len, args) {
4194
+ if (!(len in factories)) {
4195
+ for (var n = [], i = 0; i < len; i++) n[i] = 'a[' + i + ']';
4196
+ // eslint-disable-next-line no-new-func
4197
+ factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');
4198
+ } return factories[len](F, args);
4199
+ };
4200
+
4201
+ module.exports = Function.bind || function bind(that /* , ...args */) {
4202
+ var fn = aFunction(this);
4203
+ var partArgs = arraySlice.call(arguments, 1);
4204
+ var bound = function (/* args... */) {
4205
+ var args = partArgs.concat(arraySlice.call(arguments));
4206
+ return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);
4207
+ };
4208
+ if (isObject(fn.prototype)) bound.prototype = fn.prototype;
4209
+ return bound;
4210
+ };
4211
+
4212
+
4213
+ /***/ }),
4214
+ /* 144 */
4215
+ /***/ (function(module, exports) {
4216
+
4217
+ // fast apply, http://jsperf.lnkit.com/fast-apply/5
4218
+ module.exports = function (fn, args, that) {
4219
+ var un = that === undefined;
4220
+ switch (args.length) {
4221
+ case 0: return un ? fn()
4222
+ : fn.call(that);
4223
+ case 1: return un ? fn(args[0])
4224
+ : fn.call(that, args[0]);
4225
+ case 2: return un ? fn(args[0], args[1])
4226
+ : fn.call(that, args[0], args[1]);
4227
+ case 3: return un ? fn(args[0], args[1], args[2])
4228
+ : fn.call(that, args[0], args[1], args[2]);
4229
+ case 4: return un ? fn(args[0], args[1], args[2], args[3])
4230
+ : fn.call(that, args[0], args[1], args[2], args[3]);
4231
+ } return fn.apply(that, args);
4232
+ };
4233
+
4234
+
4235
+ /***/ }),
4236
+ /* 145 */
4237
+ /***/ (function(module, exports, __webpack_require__) {
4238
+
4239
+ var $parseInt = __webpack_require__(2).parseInt;
4240
+ var $trim = __webpack_require__(59).trim;
4241
+ var ws = __webpack_require__(97);
4242
+ var hex = /^[-+]?0[xX]/;
4243
+
4244
+ module.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix) {
4245
+ var string = $trim(String(str), 3);
4246
+ return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10));
4247
+ } : $parseInt;
4248
+
4249
+
4250
+ /***/ }),
4251
+ /* 146 */
4252
+ /***/ (function(module, exports, __webpack_require__) {
4253
+
4254
+ var $parseFloat = __webpack_require__(2).parseFloat;
4255
+ var $trim = __webpack_require__(59).trim;
4256
+
4257
+ module.exports = 1 / $parseFloat(__webpack_require__(97) + '-0') !== -Infinity ? function parseFloat(str) {
4258
+ var string = $trim(String(str), 3);
4259
+ var result = $parseFloat(string);
4260
+ return result === 0 && string.charAt(0) == '-' ? -0 : result;
4261
+ } : $parseFloat;
4262
+
4263
+
4264
+ /***/ }),
4265
+ /* 147 */
4266
+ /***/ (function(module, exports, __webpack_require__) {
4267
+
4268
+ var cof = __webpack_require__(30);
4269
+ module.exports = function (it, msg) {
4270
+ if (typeof it != 'number' && cof(it) != 'Number') throw TypeError(msg);
4271
+ return +it;
4272
+ };
4273
+
4274
+
4275
+ /***/ }),
4276
+ /* 148 */
4277
+ /***/ (function(module, exports, __webpack_require__) {
4278
+
4279
+ // 20.1.2.3 Number.isInteger(number)
4280
+ var isObject = __webpack_require__(4);
4281
+ var floor = Math.floor;
4282
+ module.exports = function isInteger(it) {
4283
+ return !isObject(it) && isFinite(it) && floor(it) === it;
4284
+ };
4285
+
4286
+
4287
+ /***/ }),
4288
+ /* 149 */
4289
+ /***/ (function(module, exports) {
4290
+
4291
+ // 20.2.2.20 Math.log1p(x)
4292
+ module.exports = Math.log1p || function log1p(x) {
4293
+ return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x);
4294
+ };
4295
+
4296
+
4297
+ /***/ }),
4298
+ /* 150 */
4299
+ /***/ (function(module, exports, __webpack_require__) {
4300
+
4301
+ // 20.2.2.16 Math.fround(x)
4302
+ var sign = __webpack_require__(100);
4303
+ var pow = Math.pow;
4304
+ var EPSILON = pow(2, -52);
4305
+ var EPSILON32 = pow(2, -23);
4306
+ var MAX32 = pow(2, 127) * (2 - EPSILON32);
4307
+ var MIN32 = pow(2, -126);
4308
+
4309
+ var roundTiesToEven = function (n) {
4310
+ return n + 1 / EPSILON - 1 / EPSILON;
4311
+ };
4312
+
4313
+ module.exports = Math.fround || function fround(x) {
4314
+ var $abs = Math.abs(x);
4315
+ var $sign = sign(x);
4316
+ var a, result;
4317
+ if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;
4318
+ a = (1 + EPSILON32 / EPSILON) * $abs;
4319
+ result = a - (a - $abs);
4320
+ // eslint-disable-next-line no-self-compare
4321
+ if (result > MAX32 || result != result) return $sign * Infinity;
4322
+ return $sign * result;
4323
+ };
4324
+
4325
+
4326
+ /***/ }),
4327
+ /* 151 */
4328
+ /***/ (function(module, exports, __webpack_require__) {
4329
+
4330
+ // call something on iterator step with safe closing on error
4331
+ var anObject = __webpack_require__(1);
4332
+ module.exports = function (iterator, fn, value, entries) {
4333
+ try {
4334
+ return entries ? fn(anObject(value)[0], value[1]) : fn(value);
4335
+ // 7.4.6 IteratorClose(iterator, completion)
4336
+ } catch (e) {
4337
+ var ret = iterator['return'];
4338
+ if (ret !== undefined) anObject(ret.call(iterator));
4339
+ throw e;
4340
+ }
4341
+ };
4342
+
4343
+
4344
+ /***/ }),
4345
+ /* 152 */
4346
+ /***/ (function(module, exports, __webpack_require__) {
4347
+
4348
+ var aFunction = __webpack_require__(19);
4349
+ var toObject = __webpack_require__(17);
4350
+ var IObject = __webpack_require__(67);
4351
+ var toLength = __webpack_require__(9);
4352
+
4353
+ module.exports = function (that, callbackfn, aLen, memo, isRight) {
4354
+ aFunction(callbackfn);
4355
+ var O = toObject(that);
4356
+ var self = IObject(O);
4357
+ var length = toLength(O.length);
4358
+ var index = isRight ? length - 1 : 0;
4359
+ var i = isRight ? -1 : 1;
4360
+ if (aLen < 2) for (;;) {
4361
+ if (index in self) {
4362
+ memo = self[index];
4363
+ index += i;
4364
+ break;
4365
+ }
4366
+ index += i;
4367
+ if (isRight ? index < 0 : length <= index) {
4368
+ throw TypeError('Reduce of empty array with no initial value');
4369
+ }
4370
+ }
4371
+ for (;isRight ? index >= 0 : length > index; index += i) if (index in self) {
4372
+ memo = callbackfn(memo, self[index], index, O);
4373
+ }
4374
+ return memo;
4375
+ };
4376
+
4377
+
4378
+ /***/ }),
4379
+ /* 153 */
4380
+ /***/ (function(module, exports, __webpack_require__) {
4381
+
4382
+ "use strict";
4383
+ // 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)
4384
+
4385
+ var toObject = __webpack_require__(17);
4386
+ var toAbsoluteIndex = __webpack_require__(47);
4387
+ var toLength = __webpack_require__(9);
4388
+
4389
+ module.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {
4390
+ var O = toObject(this);
4391
+ var len = toLength(O.length);
4392
+ var to = toAbsoluteIndex(target, len);
4393
+ var from = toAbsoluteIndex(start, len);
4394
+ var end = arguments.length > 2 ? arguments[2] : undefined;
4395
+ var count = Math.min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);
4396
+ var inc = 1;
4397
+ if (from < to && to < from + count) {
4398
+ inc = -1;
4399
+ from += count - 1;
4400
+ to += count - 1;
4401
+ }
4402
+ while (count-- > 0) {
4403
+ if (from in O) O[to] = O[from];
4404
+ else delete O[to];
4405
+ to += inc;
4406
+ from += inc;
4407
+ } return O;
4408
+ };
4409
+
4410
+
4411
+ /***/ }),
4412
+ /* 154 */
4413
+ /***/ (function(module, exports) {
4414
+
4415
+ module.exports = function (done, value) {
4416
+ return { value: value, done: !!done };
4417
+ };
4418
+
4419
+
4420
+ /***/ }),
4421
+ /* 155 */
4422
+ /***/ (function(module, exports, __webpack_require__) {
4423
+
4424
+ // 21.2.5.3 get RegExp.prototype.flags()
4425
+ if (__webpack_require__(7) && /./g.flags != 'g') __webpack_require__(8).f(RegExp.prototype, 'flags', {
4426
+ configurable: true,
4427
+ get: __webpack_require__(78)
4428
+ });
4429
+
4430
+
4431
+ /***/ }),
4432
+ /* 156 */
4433
+ /***/ (function(module, exports) {
4434
+
4435
+ module.exports = function (exec) {
4436
+ try {
4437
+ return { e: false, v: exec() };
4438
+ } catch (e) {
4439
+ return { e: true, v: e };
4440
+ }
4441
+ };
4442
+
4443
+
4444
+ /***/ }),
4445
+ /* 157 */
4446
+ /***/ (function(module, exports, __webpack_require__) {
4447
+
4448
+ var anObject = __webpack_require__(1);
4449
+ var isObject = __webpack_require__(4);
4450
+ var newPromiseCapability = __webpack_require__(115);
4451
+
4452
+ module.exports = function (C, x) {
4453
+ anObject(C);
4454
+ if (isObject(x) && x.constructor === C) return x;
4455
+ var promiseCapability = newPromiseCapability.f(C);
4456
+ var resolve = promiseCapability.resolve;
4457
+ resolve(x);
4458
+ return promiseCapability.promise;
4459
+ };
4460
+
4461
+
4462
+ /***/ }),
4463
+ /* 158 */
4464
+ /***/ (function(module, exports, __webpack_require__) {
4465
+
4466
+ "use strict";
4467
+
4468
+ var strong = __webpack_require__(159);
4469
+ var validate = __webpack_require__(61);
4470
+ var MAP = 'Map';
4471
+
4472
+ // 23.1 Map Objects
4473
+ module.exports = __webpack_require__(82)(MAP, function (get) {
4474
+ return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };
4475
+ }, {
4476
+ // 23.1.3.6 Map.prototype.get(key)
4477
+ get: function get(key) {
4478
+ var entry = strong.getEntry(validate(this, MAP), key);
4479
+ return entry && entry.v;
4480
+ },
4481
+ // 23.1.3.9 Map.prototype.set(key, value)
4482
+ set: function set(key, value) {
4483
+ return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);
4484
+ }
4485
+ }, strong, true);
4486
+
4487
+
4488
+ /***/ }),
4489
+ /* 159 */
4490
+ /***/ (function(module, exports, __webpack_require__) {
4491
+
4492
+ "use strict";
4493
+
4494
+ var dP = __webpack_require__(8).f;
4495
+ var create = __webpack_require__(48);
4496
+ var redefineAll = __webpack_require__(53);
4497
+ var ctx = __webpack_require__(29);
4498
+ var anInstance = __webpack_require__(51);
4499
+ var forOf = __webpack_require__(52);
4500
+ var $iterDefine = __webpack_require__(103);
4501
+ var step = __webpack_require__(154);
4502
+ var setSpecies = __webpack_require__(50);
4503
+ var DESCRIPTORS = __webpack_require__(7);
4504
+ var fastKey = __webpack_require__(40).fastKey;
4505
+ var validate = __webpack_require__(61);
4506
+ var SIZE = DESCRIPTORS ? '_s' : 'size';
4507
+
4508
+ var getEntry = function (that, key) {
4509
+ // fast case
4510
+ var index = fastKey(key);
4511
+ var entry;
4512
+ if (index !== 'F') return that._i[index];
4513
+ // frozen object case
4514
+ for (entry = that._f; entry; entry = entry.n) {
4515
+ if (entry.k == key) return entry;
4516
+ }
4517
+ };
4518
+
4519
+ module.exports = {
4520
+ getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {
4521
+ var C = wrapper(function (that, iterable) {
4522
+ anInstance(that, C, NAME, '_i');
4523
+ that._t = NAME; // collection type
4524
+ that._i = create(null); // index
4525
+ that._f = undefined; // first entry
4526
+ that._l = undefined; // last entry
4527
+ that[SIZE] = 0; // size
4528
+ if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);
4529
+ });
4530
+ redefineAll(C.prototype, {
4531
+ // 23.1.3.1 Map.prototype.clear()
4532
+ // 23.2.3.2 Set.prototype.clear()
4533
+ clear: function clear() {
4534
+ for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {
4535
+ entry.r = true;
4536
+ if (entry.p) entry.p = entry.p.n = undefined;
4537
+ delete data[entry.i];
4538
+ }
4539
+ that._f = that._l = undefined;
4540
+ that[SIZE] = 0;
4541
+ },
4542
+ // 23.1.3.3 Map.prototype.delete(key)
4543
+ // 23.2.3.4 Set.prototype.delete(value)
4544
+ 'delete': function (key) {
4545
+ var that = validate(this, NAME);
4546
+ var entry = getEntry(that, key);
4547
+ if (entry) {
4548
+ var next = entry.n;
4549
+ var prev = entry.p;
4550
+ delete that._i[entry.i];
4551
+ entry.r = true;
4552
+ if (prev) prev.n = next;
4553
+ if (next) next.p = prev;
4554
+ if (that._f == entry) that._f = next;
4555
+ if (that._l == entry) that._l = prev;
4556
+ that[SIZE]--;
4557
+ } return !!entry;
4558
+ },
4559
+ // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)
4560
+ // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)
4561
+ forEach: function forEach(callbackfn /* , that = undefined */) {
4562
+ validate(this, NAME);
4563
+ var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
4564
+ var entry;
4565
+ while (entry = entry ? entry.n : this._f) {
4566
+ f(entry.v, entry.k, this);
4567
+ // revert to the last existing entry
4568
+ while (entry && entry.r) entry = entry.p;
4569
+ }
4570
+ },
4571
+ // 23.1.3.7 Map.prototype.has(key)
4572
+ // 23.2.3.7 Set.prototype.has(value)
4573
+ has: function has(key) {
4574
+ return !!getEntry(validate(this, NAME), key);
4575
+ }
4576
+ });
4577
+ if (DESCRIPTORS) dP(C.prototype, 'size', {
4578
+ get: function () {
4579
+ return validate(this, NAME)[SIZE];
4580
+ }
4581
+ });
4582
+ return C;
4583
+ },
4584
+ def: function (that, key, value) {
4585
+ var entry = getEntry(that, key);
4586
+ var prev, index;
4587
+ // change existing entry
4588
+ if (entry) {
4589
+ entry.v = value;
4590
+ // create new entry
4591
+ } else {
4592
+ that._l = entry = {
4593
+ i: index = fastKey(key, true), // <- index
4594
+ k: key, // <- key
4595
+ v: value, // <- value
4596
+ p: prev = that._l, // <- previous entry
4597
+ n: undefined, // <- next entry
4598
+ r: false // <- removed
4599
+ };
4600
+ if (!that._f) that._f = entry;
4601
+ if (prev) prev.n = entry;
4602
+ that[SIZE]++;
4603
+ // add to index
4604
+ if (index !== 'F') that._i[index] = entry;
4605
+ } return that;
4606
+ },
4607
+ getEntry: getEntry,
4608
+ setStrong: function (C, NAME, IS_MAP) {
4609
+ // add .keys, .values, .entries, [@@iterator]
4610
+ // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11
4611
+ $iterDefine(C, NAME, function (iterated, kind) {
4612
+ this._t = validate(iterated, NAME); // target
4613
+ this._k = kind; // kind
4614
+ this._l = undefined; // previous
4615
+ }, function () {
4616
+ var that = this;
4617
+ var kind = that._k;
4618
+ var entry = that._l;
4619
+ // revert to the last existing entry
4620
+ while (entry && entry.r) entry = entry.p;
4621
+ // get next entry
4622
+ if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {
4623
+ // or finish the iteration
4624
+ that._t = undefined;
4625
+ return step(1);
4626
+ }
4627
+ // return step by kind
4628
+ if (kind == 'keys') return step(0, entry.k);
4629
+ if (kind == 'values') return step(0, entry.v);
4630
+ return step(0, [entry.k, entry.v]);
4631
+ }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);
4632
+
4633
+ // add [@@species], 23.1.2.2, 23.2.2.2
4634
+ setSpecies(NAME);
4635
+ }
4636
+ };
4637
+
4638
+
4639
+ /***/ }),
4640
+ /* 160 */
4641
+ /***/ (function(module, exports, __webpack_require__) {
4642
+
4643
+ "use strict";
4644
+
4645
+ var strong = __webpack_require__(159);
4646
+ var validate = __webpack_require__(61);
4647
+ var SET = 'Set';
4648
+
4649
+ // 23.2 Set Objects
4650
+ module.exports = __webpack_require__(82)(SET, function (get) {
4651
+ return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };
4652
+ }, {
4653
+ // 23.2.3.1 Set.prototype.add(value)
4654
+ add: function add(value) {
4655
+ return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value);
4656
+ }
4657
+ }, strong);
4658
+
4659
+
4660
+ /***/ }),
4661
+ /* 161 */
4662
+ /***/ (function(module, exports, __webpack_require__) {
4663
+
4664
+ "use strict";
4665
+
4666
+ var each = __webpack_require__(36)(0);
4667
+ var redefine = __webpack_require__(21);
4668
+ var meta = __webpack_require__(40);
4669
+ var assign = __webpack_require__(142);
4670
+ var weak = __webpack_require__(162);
4671
+ var isObject = __webpack_require__(4);
4672
+ var fails = __webpack_require__(3);
4673
+ var validate = __webpack_require__(61);
4674
+ var WEAK_MAP = 'WeakMap';
4675
+ var getWeak = meta.getWeak;
4676
+ var isExtensible = Object.isExtensible;
4677
+ var uncaughtFrozenStore = weak.ufstore;
4678
+ var tmp = {};
4679
+ var InternalMap;
4680
+
4681
+ var wrapper = function (get) {
4682
+ return function WeakMap() {
4683
+ return get(this, arguments.length > 0 ? arguments[0] : undefined);
4684
+ };
4685
+ };
4686
+
4687
+ var methods = {
4688
+ // 23.3.3.3 WeakMap.prototype.get(key)
4689
+ get: function get(key) {
4690
+ if (isObject(key)) {
4691
+ var data = getWeak(key);
4692
+ if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key);
4693
+ return data ? data[this._i] : undefined;
4694
+ }
4695
+ },
4696
+ // 23.3.3.5 WeakMap.prototype.set(key, value)
4697
+ set: function set(key, value) {
4698
+ return weak.def(validate(this, WEAK_MAP), key, value);
4699
+ }
4700
+ };
4701
+
4702
+ // 23.3 WeakMap Objects
4703
+ var $WeakMap = module.exports = __webpack_require__(82)(WEAK_MAP, wrapper, methods, weak, true, true);
4704
+
4705
+ // IE11 WeakMap frozen keys fix
4706
+ if (fails(function () { return new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7; })) {
4707
+ InternalMap = weak.getConstructor(wrapper, WEAK_MAP);
4708
+ assign(InternalMap.prototype, methods);
4709
+ meta.NEED = true;
4710
+ each(['delete', 'has', 'get', 'set'], function (key) {
4711
+ var proto = $WeakMap.prototype;
4712
+ var method = proto[key];
4713
+ redefine(proto, key, function (a, b) {
4714
+ // store frozen objects on internal weakmap shim
4715
+ if (isObject(a) && !isExtensible(a)) {
4716
+ if (!this._f) this._f = new InternalMap();
4717
+ var result = this._f[key](a, b);
4718
+ return key == 'set' ? this : result;
4719
+ // store all the rest on native weakmap
4720
+ } return method.call(this, a, b);
4721
+ });
4722
+ });
4723
+ }
4724
+
4725
+
4726
+ /***/ }),
4727
+ /* 162 */
4728
+ /***/ (function(module, exports, __webpack_require__) {
4729
+
4730
+ "use strict";
4731
+
4732
+ var redefineAll = __webpack_require__(53);
4733
+ var getWeak = __webpack_require__(40).getWeak;
4734
+ var anObject = __webpack_require__(1);
4735
+ var isObject = __webpack_require__(4);
4736
+ var anInstance = __webpack_require__(51);
4737
+ var forOf = __webpack_require__(52);
4738
+ var createArrayMethod = __webpack_require__(36);
4739
+ var $has = __webpack_require__(23);
4740
+ var validate = __webpack_require__(61);
4741
+ var arrayFind = createArrayMethod(5);
4742
+ var arrayFindIndex = createArrayMethod(6);
4743
+ var id = 0;
4744
+
4745
+ // fallback for uncaught frozen keys
4746
+ var uncaughtFrozenStore = function (that) {
4747
+ return that._l || (that._l = new UncaughtFrozenStore());
4748
+ };
4749
+ var UncaughtFrozenStore = function () {
4750
+ this.a = [];
4751
+ };
4752
+ var findUncaughtFrozen = function (store, key) {
4753
+ return arrayFind(store.a, function (it) {
4754
+ return it[0] === key;
4755
+ });
4756
+ };
4757
+ UncaughtFrozenStore.prototype = {
4758
+ get: function (key) {
4759
+ var entry = findUncaughtFrozen(this, key);
4760
+ if (entry) return entry[1];
4761
+ },
4762
+ has: function (key) {
4763
+ return !!findUncaughtFrozen(this, key);
4764
+ },
4765
+ set: function (key, value) {
4766
+ var entry = findUncaughtFrozen(this, key);
4767
+ if (entry) entry[1] = value;
4768
+ else this.a.push([key, value]);
4769
+ },
4770
+ 'delete': function (key) {
4771
+ var index = arrayFindIndex(this.a, function (it) {
4772
+ return it[0] === key;
4773
+ });
4774
+ if (~index) this.a.splice(index, 1);
4775
+ return !!~index;
4776
+ }
4777
+ };
4778
+
4779
+ module.exports = {
4780
+ getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {
4781
+ var C = wrapper(function (that, iterable) {
4782
+ anInstance(that, C, NAME, '_i');
4783
+ that._t = NAME; // collection type
4784
+ that._i = id++; // collection id
4785
+ that._l = undefined; // leak store for uncaught frozen objects
4786
+ if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);
4787
+ });
4788
+ redefineAll(C.prototype, {
4789
+ // 23.3.3.2 WeakMap.prototype.delete(key)
4790
+ // 23.4.3.3 WeakSet.prototype.delete(value)
4791
+ 'delete': function (key) {
4792
+ if (!isObject(key)) return false;
4793
+ var data = getWeak(key);
4794
+ if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key);
4795
+ return data && $has(data, this._i) && delete data[this._i];
4796
+ },
4797
+ // 23.3.3.4 WeakMap.prototype.has(key)
4798
+ // 23.4.3.4 WeakSet.prototype.has(value)
4799
+ has: function has(key) {
4800
+ if (!isObject(key)) return false;
4801
+ var data = getWeak(key);
4802
+ if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key);
4803
+ return data && $has(data, this._i);
4804
+ }
4805
+ });
4806
+ return C;
4807
+ },
4808
+ def: function (that, key, value) {
4809
+ var data = getWeak(anObject(key), true);
4810
+ if (data === true) uncaughtFrozenStore(that).set(key, value);
4811
+ else data[that._i] = value;
4812
+ return that;
4813
+ },
4814
+ ufstore: uncaughtFrozenStore
4815
+ };
4816
+
4817
+
4818
+ /***/ }),
4819
+ /* 163 */
4820
+ /***/ (function(module, exports, __webpack_require__) {
4821
+
4822
+ // https://tc39.github.io/ecma262/#sec-toindex
4823
+ var toInteger = __webpack_require__(34);
4824
+ var toLength = __webpack_require__(9);
4825
+ module.exports = function (it) {
4826
+ if (it === undefined) return 0;
4827
+ var number = toInteger(it);
4828
+ var length = toLength(number);
4829
+ if (number !== length) throw RangeError('Wrong length!');
4830
+ return length;
4831
+ };
4832
+
4833
+
4834
+ /***/ }),
4835
+ /* 164 */
4836
+ /***/ (function(module, exports, __webpack_require__) {
4837
+
4838
+ // all object keys, includes non-enumerable and symbols
4839
+ var gOPN = __webpack_require__(49);
4840
+ var gOPS = __webpack_require__(74);
4841
+ var anObject = __webpack_require__(1);
4842
+ var Reflect = __webpack_require__(2).Reflect;
4843
+ module.exports = Reflect && Reflect.ownKeys || function ownKeys(it) {
4844
+ var keys = gOPN.f(anObject(it));
4845
+ var getSymbols = gOPS.f;
4846
+ return getSymbols ? keys.concat(getSymbols(it)) : keys;
4847
+ };
4848
+
4849
+
4850
+ /***/ }),
4851
+ /* 165 */
4852
+ /***/ (function(module, exports, __webpack_require__) {
4853
+
4854
+ "use strict";
4855
+
4856
+ // https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray
4857
+ var isArray = __webpack_require__(75);
4858
+ var isObject = __webpack_require__(4);
4859
+ var toLength = __webpack_require__(9);
4860
+ var ctx = __webpack_require__(29);
4861
+ var IS_CONCAT_SPREADABLE = __webpack_require__(5)('isConcatSpreadable');
4862
+
4863
+ function flattenIntoArray(target, original, source, sourceLen, start, depth, mapper, thisArg) {
4864
+ var targetIndex = start;
4865
+ var sourceIndex = 0;
4866
+ var mapFn = mapper ? ctx(mapper, thisArg, 3) : false;
4867
+ var element, spreadable;
4868
+
4869
+ while (sourceIndex < sourceLen) {
4870
+ if (sourceIndex in source) {
4871
+ element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];
4872
+
4873
+ spreadable = false;
4874
+ if (isObject(element)) {
4875
+ spreadable = element[IS_CONCAT_SPREADABLE];
4876
+ spreadable = spreadable !== undefined ? !!spreadable : isArray(element);
4877
+ }
4878
+
4879
+ if (spreadable && depth > 0) {
4880
+ targetIndex = flattenIntoArray(target, original, element, toLength(element.length), targetIndex, depth - 1) - 1;
4881
+ } else {
4882
+ if (targetIndex >= 0x1fffffffffffff) throw TypeError();
4883
+ target[targetIndex] = element;
4884
+ }
4885
+
4886
+ targetIndex++;
4887
+ }
4888
+ sourceIndex++;
4889
+ }
4890
+ return targetIndex;
4891
+ }
4892
+
4893
+ module.exports = flattenIntoArray;
4894
+
4895
+
4896
+ /***/ }),
4897
+ /* 166 */
4898
+ /***/ (function(module, exports, __webpack_require__) {
4899
+
4900
+ // https://github.com/tc39/proposal-string-pad-start-end
4901
+ var toLength = __webpack_require__(9);
4902
+ var repeat = __webpack_require__(99);
4903
+ var defined = __webpack_require__(33);
4904
+
4905
+ module.exports = function (that, maxLength, fillString, left) {
4906
+ var S = String(defined(that));
4907
+ var stringLength = S.length;
4908
+ var fillStr = fillString === undefined ? ' ' : String(fillString);
4909
+ var intMaxLength = toLength(maxLength);
4910
+ if (intMaxLength <= stringLength || fillStr == '') return S;
4911
+ var fillLen = intMaxLength - stringLength;
4912
+ var stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length));
4913
+ if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen);
4914
+ return left ? stringFiller + S : S + stringFiller;
4915
+ };
4916
+
4917
+
4918
+ /***/ }),
4919
+ /* 167 */
4920
+ /***/ (function(module, exports, __webpack_require__) {
4921
+
4922
+ var getKeys = __webpack_require__(46);
4923
+ var toIObject = __webpack_require__(24);
4924
+ var isEnum = __webpack_require__(68).f;
4925
+ module.exports = function (isEntries) {
4926
+ return function (it) {
4927
+ var O = toIObject(it);
4928
+ var keys = getKeys(O);
4929
+ var length = keys.length;
4930
+ var i = 0;
4931
+ var result = [];
4932
+ var key;
4933
+ while (length > i) if (isEnum.call(O, key = keys[i++])) {
4934
+ result.push(isEntries ? [key, O[key]] : O[key]);
4935
+ } return result;
4936
+ };
4937
+ };
4938
+
4939
+
4940
+ /***/ }),
4941
+ /* 168 */
4942
+ /***/ (function(module, exports, __webpack_require__) {
4943
+
4944
+ // https://github.com/DavidBruant/Map-Set.prototype.toJSON
4945
+ var classof = __webpack_require__(69);
4946
+ var from = __webpack_require__(169);
4947
+ module.exports = function (NAME) {
4948
+ return function toJSON() {
4949
+ if (classof(this) != NAME) throw TypeError(NAME + "#toJSON isn't generic");
4950
+ return from(this);
4951
+ };
4952
+ };
4953
+
4954
+
4955
+ /***/ }),
4956
+ /* 169 */
4957
+ /***/ (function(module, exports, __webpack_require__) {
4958
+
4959
+ var forOf = __webpack_require__(52);
4960
+
4961
+ module.exports = function (iter, ITERATOR) {
4962
+ var result = [];
4963
+ forOf(iter, false, result.push, result, ITERATOR);
4964
+ return result;
4965
+ };
4966
+
4967
+
4968
+ /***/ }),
4969
+ /* 170 */
4970
+ /***/ (function(module, exports) {
4971
+
4972
+ // https://rwaldron.github.io/proposal-math-extensions/
4973
+ module.exports = Math.scale || function scale(x, inLow, inHigh, outLow, outHigh) {
4974
+ if (
4975
+ arguments.length === 0
4976
+ // eslint-disable-next-line no-self-compare
4977
+ || x != x
4978
+ // eslint-disable-next-line no-self-compare
4979
+ || inLow != inLow
4980
+ // eslint-disable-next-line no-self-compare
4981
+ || inHigh != inHigh
4982
+ // eslint-disable-next-line no-self-compare
4983
+ || outLow != outLow
4984
+ // eslint-disable-next-line no-self-compare
4985
+ || outHigh != outHigh
4986
+ ) return NaN;
4987
+ if (x === Infinity || x === -Infinity) return x;
4988
+ return (x - inLow) * (outHigh - outLow) / (inHigh - inLow) + outLow;
4989
+ };
4990
+
4991
+
4992
+ /***/ }),
4993
+ /* 171 */
4994
+ /***/ (function(module, exports, __webpack_require__) {
4995
+
4996
+ // 7.1.13 ToObject(argument)
4997
+ var defined = __webpack_require__(117);
4998
+ module.exports = function (it) {
4999
+ return Object(defined(it));
5000
+ };
5001
+
5002
+
5003
+ /***/ }),
5004
+ /* 172 */
5005
+ /***/ (function(module, exports, __webpack_require__) {
5006
+
5007
+ // 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)
5008
+ var has = __webpack_require__(54);
5009
+ var toObject = __webpack_require__(171);
5010
+ var IE_PROTO = __webpack_require__(118)('IE_PROTO');
5011
+ var ObjectProto = Object.prototype;
5012
+
5013
+ module.exports = Object.getPrototypeOf || function (O) {
5014
+ O = toObject(O);
5015
+ if (has(O, IE_PROTO)) return O[IE_PROTO];
5016
+ if (typeof O.constructor == 'function' && O instanceof O.constructor) {
5017
+ return O.constructor.prototype;
5018
+ } return O instanceof Object ? ObjectProto : null;
5019
+ };
5020
+
5021
+
5022
+ /***/ }),
5023
+ /* 173 */
5024
+ /***/ (function(module, exports, __webpack_require__) {
5025
+
5026
+ // optional / simple context binding
5027
+ var aFunction = __webpack_require__(415);
5028
+ module.exports = function (fn, that, length) {
5029
+ aFunction(fn);
5030
+ if (that === undefined) return fn;
5031
+ switch (length) {
5032
+ case 1: return function (a) {
5033
+ return fn.call(that, a);
5034
+ };
5035
+ case 2: return function (a, b) {
5036
+ return fn.call(that, a, b);
5037
+ };
5038
+ case 3: return function (a, b, c) {
5039
+ return fn.call(that, a, b, c);
5040
+ };
5041
+ }
5042
+ return function (/* ...args */) {
5043
+ return fn.apply(that, arguments);
5044
+ };
5045
+ };
5046
+
5047
+
5048
+ /***/ }),
5049
+ /* 174 */
5050
+ /***/ (function(module, exports, __webpack_require__) {
5051
+
5052
+ module.exports = !__webpack_require__(56) && !__webpack_require__(71)(function () {
5053
+ return Object.defineProperty(__webpack_require__(175)('div'), 'a', { get: function () { return 7; } }).a != 7;
5054
+ });
5055
+
5056
+
5057
+ /***/ }),
5058
+ /* 175 */
5059
+ /***/ (function(module, exports, __webpack_require__) {
5060
+
5061
+ var isObject = __webpack_require__(64);
5062
+ var document = __webpack_require__(43).document;
5063
+ // typeof document.createElement is 'object' in old IE
5064
+ var is = isObject(document) && isObject(document.createElement);
5065
+ module.exports = function (it) {
5066
+ return is ? document.createElement(it) : {};
5067
+ };
5068
+
5069
+
5070
+ /***/ }),
5071
+ /* 176 */
5072
+ /***/ (function(module, exports, __webpack_require__) {
5073
+
5074
+ "use strict";
5075
+
5076
+
5077
+ exports.__esModule = true;
5078
+
5079
+ var _iterator = __webpack_require__(419);
5080
+
5081
+ var _iterator2 = _interopRequireDefault(_iterator);
5082
+
5083
+ var _symbol = __webpack_require__(434);
5084
+
5085
+ var _symbol2 = _interopRequireDefault(_symbol);
5086
+
5087
+ var _typeof = typeof _symbol2.default === "function" && typeof _iterator2.default === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj; };
5088
+
5089
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5090
+
5091
+ exports.default = typeof _symbol2.default === "function" && _typeof(_iterator2.default) === "symbol" ? function (obj) {
5092
+ return typeof obj === "undefined" ? "undefined" : _typeof(obj);
5093
+ } : function (obj) {
5094
+ return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof(obj);
5095
+ };
5096
+
5097
+ /***/ }),
5098
+ /* 177 */
5099
+ /***/ (function(module, exports, __webpack_require__) {
5100
+
5101
+ "use strict";
5102
+
5103
+ var LIBRARY = __webpack_require__(87);
5104
+ var $export = __webpack_require__(62);
5105
+ var redefine = __webpack_require__(178);
5106
+ var hide = __webpack_require__(63);
5107
+ var Iterators = __webpack_require__(122);
5108
+ var $iterCreate = __webpack_require__(423);
5109
+ var setToStringTag = __webpack_require__(126);
5110
+ var getPrototypeOf = __webpack_require__(172);
5111
+ var ITERATOR = __webpack_require__(66)('iterator');
5112
+ var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`
5113
+ var FF_ITERATOR = '@@iterator';
5114
+ var KEYS = 'keys';
5115
+ var VALUES = 'values';
5116
+
5117
+ var returnThis = function () { return this; };
5118
+
5119
+ module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {
5120
+ $iterCreate(Constructor, NAME, next);
5121
+ var getMethod = function (kind) {
5122
+ if (!BUGGY && kind in proto) return proto[kind];
5123
+ switch (kind) {
5124
+ case KEYS: return function keys() { return new Constructor(this, kind); };
5125
+ case VALUES: return function values() { return new Constructor(this, kind); };
5126
+ } return function entries() { return new Constructor(this, kind); };
5127
+ };
5128
+ var TAG = NAME + ' Iterator';
5129
+ var DEF_VALUES = DEFAULT == VALUES;
5130
+ var VALUES_BUG = false;
5131
+ var proto = Base.prototype;
5132
+ var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];
5133
+ var $default = $native || getMethod(DEFAULT);
5134
+ var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;
5135
+ var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;
5136
+ var methods, key, IteratorPrototype;
5137
+ // Fix native
5138
+ if ($anyNative) {
5139
+ IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));
5140
+ if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {
5141
+ // Set @@toStringTag to native iterators
5142
+ setToStringTag(IteratorPrototype, TAG, true);
5143
+ // fix for some old engines
5144
+ if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);
5145
+ }
5146
+ }
5147
+ // fix Array#{values, @@iterator}.name in V8 / FF
5148
+ if (DEF_VALUES && $native && $native.name !== VALUES) {
5149
+ VALUES_BUG = true;
5150
+ $default = function values() { return $native.call(this); };
5151
+ }
5152
+ // Define iterator
5153
+ if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {
5154
+ hide(proto, ITERATOR, $default);
5155
+ }
5156
+ // Plug for library
5157
+ Iterators[NAME] = $default;
5158
+ Iterators[TAG] = returnThis;
5159
+ if (DEFAULT) {
5160
+ methods = {
5161
+ values: DEF_VALUES ? $default : getMethod(VALUES),
5162
+ keys: IS_SET ? $default : getMethod(KEYS),
5163
+ entries: $entries
5164
+ };
5165
+ if (FORCED) for (key in methods) {
5166
+ if (!(key in proto)) redefine(proto, key, methods[key]);
5167
+ } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);
5168
+ }
5169
+ return methods;
5170
+ };
5171
+
5172
+
5173
+ /***/ }),
5174
+ /* 178 */
5175
+ /***/ (function(module, exports, __webpack_require__) {
5176
+
5177
+ module.exports = __webpack_require__(63);
5178
+
5179
+
5180
+ /***/ }),
5181
+ /* 179 */
5182
+ /***/ (function(module, exports, __webpack_require__) {
5183
+
5184
+ var has = __webpack_require__(54);
5185
+ var toIObject = __webpack_require__(65);
5186
+ var arrayIndexOf = __webpack_require__(426)(false);
5187
+ var IE_PROTO = __webpack_require__(118)('IE_PROTO');
5188
+
5189
+ module.exports = function (object, names) {
5190
+ var O = toIObject(object);
5191
+ var i = 0;
5192
+ var result = [];
5193
+ var key;
5194
+ for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);
5195
+ // Don't enum bug & hidden keys
5196
+ while (names.length > i) if (has(O, key = names[i++])) {
5197
+ ~arrayIndexOf(result, key) || result.push(key);
5198
+ }
5199
+ return result;
5200
+ };
5201
+
5202
+
5203
+ /***/ }),
5204
+ /* 180 */
5205
+ /***/ (function(module, exports) {
5206
+
5207
+ var toString = {}.toString;
5208
+
5209
+ module.exports = function (it) {
5210
+ return toString.call(it).slice(8, -1);
5211
+ };
5212
+
5213
+
5214
+ /***/ }),
5215
+ /* 181 */
5216
+ /***/ (function(module, exports) {
5217
+
5218
+ exports.f = Object.getOwnPropertySymbols;
5219
+
5220
+
5221
+ /***/ }),
5222
+ /* 182 */
5223
+ /***/ (function(module, exports, __webpack_require__) {
5224
+
5225
+ // 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)
5226
+ var $keys = __webpack_require__(179);
5227
+ var hiddenKeys = __webpack_require__(125).concat('length', 'prototype');
5228
+
5229
+ exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
5230
+ return $keys(O, hiddenKeys);
5231
+ };
5232
+
5233
+
5234
+ /***/ }),
5235
+ /* 183 */
5236
+ /***/ (function(module, exports, __webpack_require__) {
5237
+
5238
+ var pIE = __webpack_require__(129);
5239
+ var createDesc = __webpack_require__(89);
5240
+ var toIObject = __webpack_require__(65);
5241
+ var toPrimitive = __webpack_require__(120);
5242
+ var has = __webpack_require__(54);
5243
+ var IE8_DOM_DEFINE = __webpack_require__(174);
5244
+ var gOPD = Object.getOwnPropertyDescriptor;
5245
+
5246
+ exports.f = __webpack_require__(56) ? gOPD : function getOwnPropertyDescriptor(O, P) {
5247
+ O = toIObject(O);
5248
+ P = toPrimitive(P, true);
5249
+ if (IE8_DOM_DEFINE) try {
5250
+ return gOPD(O, P);
5251
+ } catch (e) { /* empty */ }
5252
+ if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);
5253
+ };
5254
+
5255
+
5256
+ /***/ }),
5257
+ /* 184 */
5258
+ /***/ (function(module, exports, __webpack_require__) {
5259
+
5260
+ "use strict";
5261
+ /*
5262
+ object-assign
5263
+ (c) Sindre Sorhus
5264
+ @license MIT
5265
+ */
5266
+
5267
+
5268
+ /* eslint-disable no-unused-vars */
5269
+ var getOwnPropertySymbols = Object.getOwnPropertySymbols;
5270
+ var hasOwnProperty = Object.prototype.hasOwnProperty;
5271
+ var propIsEnumerable = Object.prototype.propertyIsEnumerable;
5272
+
5273
+ function toObject(val) {
5274
+ if (val === null || val === undefined) {
5275
+ throw new TypeError('Object.assign cannot be called with null or undefined');
5276
+ }
5277
+
5278
+ return Object(val);
5279
+ }
5280
+
5281
+ function shouldUseNative() {
5282
+ try {
5283
+ if (!Object.assign) {
5284
+ return false;
5285
+ }
5286
+
5287
+ // Detect buggy property enumeration order in older V8 versions.
5288
+
5289
+ // https://bugs.chromium.org/p/v8/issues/detail?id=4118
5290
+ var test1 = new String('abc'); // eslint-disable-line no-new-wrappers
5291
+ test1[5] = 'de';
5292
+ if (Object.getOwnPropertyNames(test1)[0] === '5') {
5293
+ return false;
5294
+ }
5295
+
5296
+ // https://bugs.chromium.org/p/v8/issues/detail?id=3056
5297
+ var test2 = {};
5298
+ for (var i = 0; i < 10; i++) {
5299
+ test2['_' + String.fromCharCode(i)] = i;
5300
+ }
5301
+ var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
5302
+ return test2[n];
5303
+ });
5304
+ if (order2.join('') !== '0123456789') {
5305
+ return false;
5306
+ }
5307
+
5308
+ // https://bugs.chromium.org/p/v8/issues/detail?id=3056
5309
+ var test3 = {};
5310
+ 'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
5311
+ test3[letter] = letter;
5312
+ });
5313
+ if (Object.keys(Object.assign({}, test3)).join('') !==
5314
+ 'abcdefghijklmnopqrst') {
5315
+ return false;
5316
+ }
5317
+
5318
+ return true;
5319
+ } catch (err) {
5320
+ // We don't expect any of the above to throw, but better to be safe.
5321
+ return false;
5322
+ }
5323
+ }
5324
+
5325
+ module.exports = shouldUseNative() ? Object.assign : function (target, source) {
5326
+ var from;
5327
+ var to = toObject(target);
5328
+ var symbols;
5329
+
5330
+ for (var s = 1; s < arguments.length; s++) {
5331
+ from = Object(arguments[s]);
5332
+
5333
+ for (var key in from) {
5334
+ if (hasOwnProperty.call(from, key)) {
5335
+ to[key] = from[key];
5336
+ }
5337
+ }
5338
+
5339
+ if (getOwnPropertySymbols) {
5340
+ symbols = getOwnPropertySymbols(from);
5341
+ for (var i = 0; i < symbols.length; i++) {
5342
+ if (propIsEnumerable.call(from, symbols[i])) {
5343
+ to[symbols[i]] = from[symbols[i]];
5344
+ }
5345
+ }
5346
+ }
5347
+ }
5348
+
5349
+ return to;
5350
+ };
5351
+
5352
+
5353
+ /***/ }),
5354
+ /* 185 */
5355
+ /***/ (function(module, exports, __webpack_require__) {
5356
+
5357
+ "use strict";
5358
+
5359
+
5360
+ module.exports = function bind(fn, thisArg) {
5361
+ return function wrap() {
5362
+ var args = new Array(arguments.length);
5363
+ for (var i = 0; i < args.length; i++) {
5364
+ args[i] = arguments[i];
5365
+ }
5366
+ return fn.apply(thisArg, args);
5367
+ };
5368
+ };
5369
+
5370
+
5371
+ /***/ }),
5372
+ /* 186 */
5373
+ /***/ (function(module, exports) {
5374
+
5375
+ // shim for using process in browser
5376
+ var process = module.exports = {};
5377
+
5378
+ // cached from whatever global is present so that test runners that stub it
5379
+ // don't break things. But we need to wrap it in a try catch in case it is
5380
+ // wrapped in strict mode code which doesn't define any globals. It's inside a
5381
+ // function because try/catches deoptimize in certain engines.
5382
+
5383
+ var cachedSetTimeout;
5384
+ var cachedClearTimeout;
5385
+
5386
+ function defaultSetTimout() {
5387
+ throw new Error('setTimeout has not been defined');
5388
+ }
5389
+ function defaultClearTimeout () {
5390
+ throw new Error('clearTimeout has not been defined');
5391
+ }
5392
+ (function () {
5393
+ try {
5394
+ if (typeof setTimeout === 'function') {
5395
+ cachedSetTimeout = setTimeout;
5396
+ } else {
5397
+ cachedSetTimeout = defaultSetTimout;
5398
+ }
5399
+ } catch (e) {
5400
+ cachedSetTimeout = defaultSetTimout;
5401
+ }
5402
+ try {
5403
+ if (typeof clearTimeout === 'function') {
5404
+ cachedClearTimeout = clearTimeout;
5405
+ } else {
5406
+ cachedClearTimeout = defaultClearTimeout;
5407
+ }
5408
+ } catch (e) {
5409
+ cachedClearTimeout = defaultClearTimeout;
5410
+ }
5411
+ } ())
5412
+ function runTimeout(fun) {
5413
+ if (cachedSetTimeout === setTimeout) {
5414
+ //normal enviroments in sane situations
5415
+ return setTimeout(fun, 0);
5416
+ }
5417
+ // if setTimeout wasn't available but was latter defined
5418
+ if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
5419
+ cachedSetTimeout = setTimeout;
5420
+ return setTimeout(fun, 0);
5421
+ }
5422
+ try {
5423
+ // when when somebody has screwed with setTimeout but no I.E. maddness
5424
+ return cachedSetTimeout(fun, 0);
5425
+ } catch(e){
5426
+ try {
5427
+ // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
5428
+ return cachedSetTimeout.call(null, fun, 0);
5429
+ } catch(e){
5430
+ // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error
5431
+ return cachedSetTimeout.call(this, fun, 0);
5432
+ }
5433
+ }
5434
+
5435
+
5436
+ }
5437
+ function runClearTimeout(marker) {
5438
+ if (cachedClearTimeout === clearTimeout) {
5439
+ //normal enviroments in sane situations
5440
+ return clearTimeout(marker);
5441
+ }
5442
+ // if clearTimeout wasn't available but was latter defined
5443
+ if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
5444
+ cachedClearTimeout = clearTimeout;
5445
+ return clearTimeout(marker);
5446
+ }
5447
+ try {
5448
+ // when when somebody has screwed with setTimeout but no I.E. maddness
5449
+ return cachedClearTimeout(marker);
5450
+ } catch (e){
5451
+ try {
5452
+ // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
5453
+ return cachedClearTimeout.call(null, marker);
5454
+ } catch (e){
5455
+ // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.
5456
+ // Some versions of I.E. have different rules for clearTimeout vs setTimeout
5457
+ return cachedClearTimeout.call(this, marker);
5458
+ }
5459
+ }
5460
+
5461
+
5462
+
5463
+ }
5464
+ var queue = [];
5465
+ var draining = false;
5466
+ var currentQueue;
5467
+ var queueIndex = -1;
5468
+
5469
+ function cleanUpNextTick() {
5470
+ if (!draining || !currentQueue) {
5471
+ return;
5472
+ }
5473
+ draining = false;
5474
+ if (currentQueue.length) {
5475
+ queue = currentQueue.concat(queue);
5476
+ } else {
5477
+ queueIndex = -1;
5478
+ }
5479
+ if (queue.length) {
5480
+ drainQueue();
5481
+ }
5482
+ }
5483
+
5484
+ function drainQueue() {
5485
+ if (draining) {
5486
+ return;
5487
+ }
5488
+ var timeout = runTimeout(cleanUpNextTick);
5489
+ draining = true;
5490
+
5491
+ var len = queue.length;
5492
+ while(len) {
5493
+ currentQueue = queue;
5494
+ queue = [];
5495
+ while (++queueIndex < len) {
5496
+ if (currentQueue) {
5497
+ currentQueue[queueIndex].run();
5498
+ }
5499
+ }
5500
+ queueIndex = -1;
5501
+ len = queue.length;
5502
+ }
5503
+ currentQueue = null;
5504
+ draining = false;
5505
+ runClearTimeout(timeout);
5506
+ }
5507
+
5508
+ process.nextTick = function (fun) {
5509
+ var args = new Array(arguments.length - 1);
5510
+ if (arguments.length > 1) {
5511
+ for (var i = 1; i < arguments.length; i++) {
5512
+ args[i - 1] = arguments[i];
5513
+ }
5514
+ }
5515
+ queue.push(new Item(fun, args));
5516
+ if (queue.length === 1 && !draining) {
5517
+ runTimeout(drainQueue);
5518
+ }
5519
+ };
5520
+
5521
+ // v8 likes predictible objects
5522
+ function Item(fun, array) {
5523
+ this.fun = fun;
5524
+ this.array = array;
5525
+ }
5526
+ Item.prototype.run = function () {
5527
+ this.fun.apply(null, this.array);
5528
+ };
5529
+ process.title = 'browser';
5530
+ process.browser = true;
5531
+ process.env = {};
5532
+ process.argv = [];
5533
+ process.version = ''; // empty string to avoid regexp issues
5534
+ process.versions = {};
5535
+
5536
+ function noop() {}
5537
+
5538
+ process.on = noop;
5539
+ process.addListener = noop;
5540
+ process.once = noop;
5541
+ process.off = noop;
5542
+ process.removeListener = noop;
5543
+ process.removeAllListeners = noop;
5544
+ process.emit = noop;
5545
+ process.prependListener = noop;
5546
+ process.prependOnceListener = noop;
5547
+
5548
+ process.listeners = function (name) { return [] }
5549
+
5550
+ process.binding = function (name) {
5551
+ throw new Error('process.binding is not supported');
5552
+ };
5553
+
5554
+ process.cwd = function () { return '/' };
5555
+ process.chdir = function (dir) {
5556
+ throw new Error('process.chdir is not supported');
5557
+ };
5558
+ process.umask = function() { return 0; };
5559
+
5560
+
5561
+ /***/ }),
5562
+ /* 187 */
5563
+ /***/ (function(module, exports, __webpack_require__) {
5564
+
5565
+ "use strict";
5566
+
5567
+
5568
+ var utils = __webpack_require__(27);
5569
+ var settle = __webpack_require__(460);
5570
+ var buildURL = __webpack_require__(462);
5571
+ var parseHeaders = __webpack_require__(463);
5572
+ var isURLSameOrigin = __webpack_require__(464);
5573
+ var createError = __webpack_require__(188);
5574
+ var btoa = (typeof window !== 'undefined' && window.btoa && window.btoa.bind(window)) || __webpack_require__(465);
5575
+
5576
+ module.exports = function xhrAdapter(config) {
5577
+ return new Promise(function dispatchXhrRequest(resolve, reject) {
5578
+ var requestData = config.data;
5579
+ var requestHeaders = config.headers;
5580
+
5581
+ if (utils.isFormData(requestData)) {
5582
+ delete requestHeaders['Content-Type']; // Let the browser set it
5583
+ }
5584
+
5585
+ var request = new XMLHttpRequest();
5586
+ var loadEvent = 'onreadystatechange';
5587
+ var xDomain = false;
5588
+
5589
+ // For IE 8/9 CORS support
5590
+ // Only supports POST and GET calls and doesn't returns the response headers.
5591
+ // DON'T do this for testing b/c XMLHttpRequest is mocked, not XDomainRequest.
5592
+ if ("production" !== 'test' &&
5593
+ typeof window !== 'undefined' &&
5594
+ window.XDomainRequest && !('withCredentials' in request) &&
5595
+ !isURLSameOrigin(config.url)) {
5596
+ request = new window.XDomainRequest();
5597
+ loadEvent = 'onload';
5598
+ xDomain = true;
5599
+ request.onprogress = function handleProgress() {};
5600
+ request.ontimeout = function handleTimeout() {};
5601
+ }
5602
+
5603
+ // HTTP basic authentication
5604
+ if (config.auth) {
5605
+ var username = config.auth.username || '';
5606
+ var password = config.auth.password || '';
5607
+ requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);
5608
+ }
5609
+
5610
+ request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true);
5611
+
5612
+ // Set the request timeout in MS
5613
+ request.timeout = config.timeout;
5614
+
5615
+ // Listen for ready state
5616
+ request[loadEvent] = function handleLoad() {
5617
+ if (!request || (request.readyState !== 4 && !xDomain)) {
5618
+ return;
5619
+ }
5620
+
5621
+ // The request errored out and we didn't get a response, this will be
5622
+ // handled by onerror instead
5623
+ // With one exception: request that using file: protocol, most browsers
5624
+ // will return status as 0 even though it's a successful request
5625
+ if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {
5626
+ return;
5627
+ }
5628
+
5629
+ // Prepare the response
5630
+ var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;
5631
+ var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;
5632
+ var response = {
5633
+ data: responseData,
5634
+ // IE sends 1223 instead of 204 (https://github.com/axios/axios/issues/201)
5635
+ status: request.status === 1223 ? 204 : request.status,
5636
+ statusText: request.status === 1223 ? 'No Content' : request.statusText,
5637
+ headers: responseHeaders,
5638
+ config: config,
5639
+ request: request
5640
+ };
5641
+
5642
+ settle(resolve, reject, response);
5643
+
5644
+ // Clean up request
5645
+ request = null;
5646
+ };
5647
+
5648
+ // Handle low level network errors
5649
+ request.onerror = function handleError() {
5650
+ // Real errors are hidden from us by the browser
5651
+ // onerror should only fire if it's a network error
5652
+ reject(createError('Network Error', config, null, request));
5653
+
5654
+ // Clean up request
5655
+ request = null;
5656
+ };
5657
+
5658
+ // Handle timeout
5659
+ request.ontimeout = function handleTimeout() {
5660
+ reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED',
5661
+ request));
5662
+
5663
+ // Clean up request
5664
+ request = null;
5665
+ };
5666
+
5667
+ // Add xsrf header
5668
+ // This is only done if running in a standard browser environment.
5669
+ // Specifically not if we're in a web worker, or react-native.
5670
+ if (utils.isStandardBrowserEnv()) {
5671
+ var cookies = __webpack_require__(466);
5672
+
5673
+ // Add xsrf header
5674
+ var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ?
5675
+ cookies.read(config.xsrfCookieName) :
5676
+ undefined;
5677
+
5678
+ if (xsrfValue) {
5679
+ requestHeaders[config.xsrfHeaderName] = xsrfValue;
5680
+ }
5681
+ }
5682
+
5683
+ // Add headers to the request
5684
+ if ('setRequestHeader' in request) {
5685
+ utils.forEach(requestHeaders, function setRequestHeader(val, key) {
5686
+ if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {
5687
+ // Remove Content-Type if data is undefined
5688
+ delete requestHeaders[key];
5689
+ } else {
5690
+ // Otherwise add header to the request
5691
+ request.setRequestHeader(key, val);
5692
+ }
5693
+ });
5694
+ }
5695
+
5696
+ // Add withCredentials to request if needed
5697
+ if (config.withCredentials) {
5698
+ request.withCredentials = true;
5699
+ }
5700
+
5701
+ // Add responseType to request if needed
5702
+ if (config.responseType) {
5703
+ try {
5704
+ request.responseType = config.responseType;
5705
+ } catch (e) {
5706
+ // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.
5707
+ // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.
5708
+ if (config.responseType !== 'json') {
5709
+ throw e;
5710
+ }
5711
+ }
5712
+ }
5713
+
5714
+ // Handle progress if needed
5715
+ if (typeof config.onDownloadProgress === 'function') {
5716
+ request.addEventListener('progress', config.onDownloadProgress);
5717
+ }
5718
+
5719
+ // Not all browsers support upload events
5720
+ if (typeof config.onUploadProgress === 'function' && request.upload) {
5721
+ request.upload.addEventListener('progress', config.onUploadProgress);
5722
+ }
5723
+
5724
+ if (config.cancelToken) {
5725
+ // Handle cancellation
5726
+ config.cancelToken.promise.then(function onCanceled(cancel) {
5727
+ if (!request) {
5728
+ return;
5729
+ }
5730
+
5731
+ request.abort();
5732
+ reject(cancel);
5733
+ // Clean up request
5734
+ request = null;
5735
+ });
5736
+ }
5737
+
5738
+ if (requestData === undefined) {
5739
+ requestData = null;
5740
+ }
5741
+
5742
+ // Send the request
5743
+ request.send(requestData);
5744
+ });
5745
+ };
5746
+
5747
+
5748
+ /***/ }),
5749
+ /* 188 */
5750
+ /***/ (function(module, exports, __webpack_require__) {
5751
+
5752
+ "use strict";
5753
+
5754
+
5755
+ var enhanceError = __webpack_require__(461);
5756
+
5757
+ /**
5758
+ * Create an Error with the specified message, config, error code, request and response.
5759
+ *
5760
+ * @param {string} message The error message.
5761
+ * @param {Object} config The config.
5762
+ * @param {string} [code] The error code (for example, 'ECONNABORTED').
5763
+ * @param {Object} [request] The request.
5764
+ * @param {Object} [response] The response.
5765
+ * @returns {Error} The created error.
5766
+ */
5767
+ module.exports = function createError(message, config, code, request, response) {
5768
+ var error = new Error(message);
5769
+ return enhanceError(error, config, code, request, response);
5770
+ };
5771
+
5772
+
5773
+ /***/ }),
5774
+ /* 189 */
5775
+ /***/ (function(module, exports, __webpack_require__) {
5776
+
5777
+ "use strict";
5778
+
5779
+
5780
+ module.exports = function isCancel(value) {
5781
+ return !!(value && value.__CANCEL__);
5782
+ };
5783
+
5784
+
5785
+ /***/ }),
5786
+ /* 190 */
5787
+ /***/ (function(module, exports, __webpack_require__) {
5788
+
5789
+ "use strict";
5790
+
5791
+
5792
+ /**
5793
+ * A `Cancel` is an object that is thrown when an operation is canceled.
5794
+ *
5795
+ * @class
5796
+ * @param {string=} message The message.
5797
+ */
5798
+ function Cancel(message) {
5799
+ this.message = message;
5800
+ }
5801
+
5802
+ Cancel.prototype.toString = function toString() {
5803
+ return 'Cancel' + (this.message ? ': ' + this.message : '');
5804
+ };
5805
+
5806
+ Cancel.prototype.__CANCEL__ = true;
5807
+
5808
+ module.exports = Cancel;
5809
+
5810
+
5811
+ /***/ }),
5812
+ /* 191 */
5813
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
5814
+
5815
+ "use strict";
5816
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return ActionTypes; });
5817
+ /* harmony export (immutable) */ __webpack_exports__["b"] = createStore;
5818
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_es_isPlainObject__ = __webpack_require__(192);
5819
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_symbol_observable__ = __webpack_require__(482);
5820
+
5821
+
5822
+
5823
+ /**
5824
+ * These are private action types reserved by Redux.
5825
+ * For any unknown actions, you must return the current state.
5826
+ * If the current state is undefined, you must return the initial state.
5827
+ * Do not reference these action types directly in your code.
5828
+ */
5829
+ var ActionTypes = {
5830
+ INIT: '@@redux/INIT'
5831
+
5832
+ /**
5833
+ * Creates a Redux store that holds the state tree.
5834
+ * The only way to change the data in the store is to call `dispatch()` on it.
5835
+ *
5836
+ * There should only be a single store in your app. To specify how different
5837
+ * parts of the state tree respond to actions, you may combine several reducers
5838
+ * into a single reducer function by using `combineReducers`.
5839
+ *
5840
+ * @param {Function} reducer A function that returns the next state tree, given
5841
+ * the current state tree and the action to handle.
5842
+ *
5843
+ * @param {any} [preloadedState] The initial state. You may optionally specify it
5844
+ * to hydrate the state from the server in universal apps, or to restore a
5845
+ * previously serialized user session.
5846
+ * If you use `combineReducers` to produce the root reducer function, this must be
5847
+ * an object with the same shape as `combineReducers` keys.
5848
+ *
5849
+ * @param {Function} [enhancer] The store enhancer. You may optionally specify it
5850
+ * to enhance the store with third-party capabilities such as middleware,
5851
+ * time travel, persistence, etc. The only store enhancer that ships with Redux
5852
+ * is `applyMiddleware()`.
5853
+ *
5854
+ * @returns {Store} A Redux store that lets you read the state, dispatch actions
5855
+ * and subscribe to changes.
5856
+ */
5857
+ };function createStore(reducer, preloadedState, enhancer) {
5858
+ var _ref2;
5859
+
5860
+ if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {
5861
+ enhancer = preloadedState;
5862
+ preloadedState = undefined;
5863
+ }
5864
+
5865
+ if (typeof enhancer !== 'undefined') {
5866
+ if (typeof enhancer !== 'function') {
5867
+ throw new Error('Expected the enhancer to be a function.');
5868
+ }
5869
+
5870
+ return enhancer(createStore)(reducer, preloadedState);
5871
+ }
5872
+
5873
+ if (typeof reducer !== 'function') {
5874
+ throw new Error('Expected the reducer to be a function.');
5875
+ }
5876
+
5877
+ var currentReducer = reducer;
5878
+ var currentState = preloadedState;
5879
+ var currentListeners = [];
5880
+ var nextListeners = currentListeners;
5881
+ var isDispatching = false;
5882
+
5883
+ function ensureCanMutateNextListeners() {
5884
+ if (nextListeners === currentListeners) {
5885
+ nextListeners = currentListeners.slice();
5886
+ }
5887
+ }
5888
+
5889
+ /**
5890
+ * Reads the state tree managed by the store.
5891
+ *
5892
+ * @returns {any} The current state tree of your application.
5893
+ */
5894
+ function getState() {
5895
+ return currentState;
5896
+ }
5897
+
5898
+ /**
5899
+ * Adds a change listener. It will be called any time an action is dispatched,
5900
+ * and some part of the state tree may potentially have changed. You may then
5901
+ * call `getState()` to read the current state tree inside the callback.
5902
+ *
5903
+ * You may call `dispatch()` from a change listener, with the following
5904
+ * caveats:
5905
+ *
5906
+ * 1. The subscriptions are snapshotted just before every `dispatch()` call.
5907
+ * If you subscribe or unsubscribe while the listeners are being invoked, this
5908
+ * will not have any effect on the `dispatch()` that is currently in progress.
5909
+ * However, the next `dispatch()` call, whether nested or not, will use a more
5910
+ * recent snapshot of the subscription list.
5911
+ *
5912
+ * 2. The listener should not expect to see all state changes, as the state
5913
+ * might have been updated multiple times during a nested `dispatch()` before
5914
+ * the listener is called. It is, however, guaranteed that all subscribers
5915
+ * registered before the `dispatch()` started will be called with the latest
5916
+ * state by the time it exits.
5917
+ *
5918
+ * @param {Function} listener A callback to be invoked on every dispatch.
5919
+ * @returns {Function} A function to remove this change listener.
5920
+ */
5921
+ function subscribe(listener) {
5922
+ if (typeof listener !== 'function') {
5923
+ throw new Error('Expected listener to be a function.');
5924
+ }
5925
+
5926
+ var isSubscribed = true;
5927
+
5928
+ ensureCanMutateNextListeners();
5929
+ nextListeners.push(listener);
5930
+
5931
+ return function unsubscribe() {
5932
+ if (!isSubscribed) {
5933
+ return;
5934
+ }
5935
+
5936
+ isSubscribed = false;
5937
+
5938
+ ensureCanMutateNextListeners();
5939
+ var index = nextListeners.indexOf(listener);
5940
+ nextListeners.splice(index, 1);
5941
+ };
5942
+ }
5943
+
5944
+ /**
5945
+ * Dispatches an action. It is the only way to trigger a state change.
5946
+ *
5947
+ * The `reducer` function, used to create the store, will be called with the
5948
+ * current state tree and the given `action`. Its return value will
5949
+ * be considered the **next** state of the tree, and the change listeners
5950
+ * will be notified.
5951
+ *
5952
+ * The base implementation only supports plain object actions. If you want to
5953
+ * dispatch a Promise, an Observable, a thunk, or something else, you need to
5954
+ * wrap your store creating function into the corresponding middleware. For
5955
+ * example, see the documentation for the `redux-thunk` package. Even the
5956
+ * middleware will eventually dispatch plain object actions using this method.
5957
+ *
5958
+ * @param {Object} action A plain object representing “what changed”. It is
5959
+ * a good idea to keep actions serializable so you can record and replay user
5960
+ * sessions, or use the time travelling `redux-devtools`. An action must have
5961
+ * a `type` property which may not be `undefined`. It is a good idea to use
5962
+ * string constants for action types.
5963
+ *
5964
+ * @returns {Object} For convenience, the same action object you dispatched.
5965
+ *
5966
+ * Note that, if you use a custom middleware, it may wrap `dispatch()` to
5967
+ * return something else (for example, a Promise you can await).
5968
+ */
5969
+ function dispatch(action) {
5970
+ if (!Object(__WEBPACK_IMPORTED_MODULE_0_lodash_es_isPlainObject__["a" /* default */])(action)) {
5971
+ throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.');
5972
+ }
5973
+
5974
+ if (typeof action.type === 'undefined') {
5975
+ throw new Error('Actions may not have an undefined "type" property. ' + 'Have you misspelled a constant?');
5976
+ }
5977
+
5978
+ if (isDispatching) {
5979
+ throw new Error('Reducers may not dispatch actions.');
5980
+ }
5981
+
5982
+ try {
5983
+ isDispatching = true;
5984
+ currentState = currentReducer(currentState, action);
5985
+ } finally {
5986
+ isDispatching = false;
5987
+ }
5988
+
5989
+ var listeners = currentListeners = nextListeners;
5990
+ for (var i = 0; i < listeners.length; i++) {
5991
+ var listener = listeners[i];
5992
+ listener();
5993
+ }
5994
+
5995
+ return action;
5996
+ }
5997
+
5998
+ /**
5999
+ * Replaces the reducer currently used by the store to calculate the state.
6000
+ *
6001
+ * You might need this if your app implements code splitting and you want to
6002
+ * load some of the reducers dynamically. You might also need this if you
6003
+ * implement a hot reloading mechanism for Redux.
6004
+ *
6005
+ * @param {Function} nextReducer The reducer for the store to use instead.
6006
+ * @returns {void}
6007
+ */
6008
+ function replaceReducer(nextReducer) {
6009
+ if (typeof nextReducer !== 'function') {
6010
+ throw new Error('Expected the nextReducer to be a function.');
6011
+ }
6012
+
6013
+ currentReducer = nextReducer;
6014
+ dispatch({ type: ActionTypes.INIT });
6015
+ }
6016
+
6017
+ /**
6018
+ * Interoperability point for observable/reactive libraries.
6019
+ * @returns {observable} A minimal observable of state changes.
6020
+ * For more information, see the observable proposal:
6021
+ * https://github.com/tc39/proposal-observable
6022
+ */
6023
+ function observable() {
6024
+ var _ref;
6025
+
6026
+ var outerSubscribe = subscribe;
6027
+ return _ref = {
6028
+ /**
6029
+ * The minimal observable subscription method.
6030
+ * @param {Object} observer Any object that can be used as an observer.
6031
+ * The observer object should have a `next` method.
6032
+ * @returns {subscription} An object with an `unsubscribe` method that can
6033
+ * be used to unsubscribe the observable from the store, and prevent further
6034
+ * emission of values from the observable.
6035
+ */
6036
+ subscribe: function subscribe(observer) {
6037
+ if (typeof observer !== 'object') {
6038
+ throw new TypeError('Expected the observer to be an object.');
6039
+ }
6040
+
6041
+ function observeState() {
6042
+ if (observer.next) {
6043
+ observer.next(getState());
6044
+ }
6045
+ }
6046
+
6047
+ observeState();
6048
+ var unsubscribe = outerSubscribe(observeState);
6049
+ return { unsubscribe: unsubscribe };
6050
+ }
6051
+ }, _ref[__WEBPACK_IMPORTED_MODULE_1_symbol_observable__["a" /* default */]] = function () {
6052
+ return this;
6053
+ }, _ref;
6054
+ }
6055
+
6056
+ // When a store is created, an "INIT" action is dispatched so that every
6057
+ // reducer returns their initial state. This effectively populates
6058
+ // the initial state tree.
6059
+ dispatch({ type: ActionTypes.INIT });
6060
+
6061
+ return _ref2 = {
6062
+ dispatch: dispatch,
6063
+ subscribe: subscribe,
6064
+ getState: getState,
6065
+ replaceReducer: replaceReducer
6066
+ }, _ref2[__WEBPACK_IMPORTED_MODULE_1_symbol_observable__["a" /* default */]] = observable, _ref2;
6067
+ }
6068
+
6069
+ /***/ }),
6070
+ /* 192 */
6071
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
6072
+
6073
+ "use strict";
6074
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__baseGetTag_js__ = __webpack_require__(474);
6075
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__getPrototype_js__ = __webpack_require__(479);
6076
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__isObjectLike_js__ = __webpack_require__(481);
6077
+
6078
+
6079
+
6080
+
6081
+ /** `Object#toString` result references. */
6082
+ var objectTag = '[object Object]';
6083
+
6084
+ /** Used for built-in method references. */
6085
+ var funcProto = Function.prototype,
6086
+ objectProto = Object.prototype;
6087
+
6088
+ /** Used to resolve the decompiled source of functions. */
6089
+ var funcToString = funcProto.toString;
6090
+
6091
+ /** Used to check objects for own properties. */
6092
+ var hasOwnProperty = objectProto.hasOwnProperty;
6093
+
6094
+ /** Used to infer the `Object` constructor. */
6095
+ var objectCtorString = funcToString.call(Object);
6096
+
6097
+ /**
6098
+ * Checks if `value` is a plain object, that is, an object created by the
6099
+ * `Object` constructor or one with a `[[Prototype]]` of `null`.
6100
+ *
6101
+ * @static
6102
+ * @memberOf _
6103
+ * @since 0.8.0
6104
+ * @category Lang
6105
+ * @param {*} value The value to check.
6106
+ * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.
6107
+ * @example
6108
+ *
6109
+ * function Foo() {
6110
+ * this.a = 1;
6111
+ * }
6112
+ *
6113
+ * _.isPlainObject(new Foo);
6114
+ * // => false
6115
+ *
6116
+ * _.isPlainObject([1, 2, 3]);
6117
+ * // => false
6118
+ *
6119
+ * _.isPlainObject({ 'x': 0, 'y': 0 });
6120
+ * // => true
6121
+ *
6122
+ * _.isPlainObject(Object.create(null));
6123
+ * // => true
6124
+ */
6125
+ function isPlainObject(value) {
6126
+ if (!Object(__WEBPACK_IMPORTED_MODULE_2__isObjectLike_js__["a" /* default */])(value) || Object(__WEBPACK_IMPORTED_MODULE_0__baseGetTag_js__["a" /* default */])(value) != objectTag) {
6127
+ return false;
6128
+ }
6129
+ var proto = Object(__WEBPACK_IMPORTED_MODULE_1__getPrototype_js__["a" /* default */])(value);
6130
+ if (proto === null) {
6131
+ return true;
6132
+ }
6133
+ var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;
6134
+ return typeof Ctor == 'function' && Ctor instanceof Ctor &&
6135
+ funcToString.call(Ctor) == objectCtorString;
6136
+ }
6137
+
6138
+ /* harmony default export */ __webpack_exports__["a"] = (isPlainObject);
6139
+
6140
+
6141
+ /***/ }),
6142
+ /* 193 */
6143
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
6144
+
6145
+ "use strict";
6146
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__root_js__ = __webpack_require__(475);
6147
+
6148
+
6149
+ /** Built-in value references. */
6150
+ var Symbol = __WEBPACK_IMPORTED_MODULE_0__root_js__["a" /* default */].Symbol;
6151
+
6152
+ /* harmony default export */ __webpack_exports__["a"] = (Symbol);
6153
+
6154
+
6155
+ /***/ }),
6156
+ /* 194 */
6157
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
6158
+
6159
+ "use strict";
6160
+ /* unused harmony export default */
6161
+ /**
6162
+ * Prints a warning in the console if it exists.
6163
+ *
6164
+ * @param {String} message The warning message.
6165
+ * @returns {void}
6166
+ */
6167
+ function warning(message) {
6168
+ /* eslint-disable no-console */
6169
+ if (typeof console !== 'undefined' && typeof console.error === 'function') {
6170
+ console.error(message);
6171
+ }
6172
+ /* eslint-enable no-console */
6173
+ try {
6174
+ // This error was thrown as a convenience so that if you enable
6175
+ // "break on all exceptions" in your console,
6176
+ // it would pause the execution at this line.
6177
+ throw new Error(message);
6178
+ /* eslint-disable no-empty */
6179
+ } catch (e) {}
6180
+ /* eslint-enable no-empty */
6181
+ }
6182
+
6183
+ /***/ }),
6184
+ /* 195 */
6185
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
6186
+
6187
+ "use strict";
6188
+ /* harmony export (immutable) */ __webpack_exports__["a"] = compose;
6189
+ /**
6190
+ * Composes single-argument functions from right to left. The rightmost
6191
+ * function can take multiple arguments as it provides the signature for
6192
+ * the resulting composite function.
6193
+ *
6194
+ * @param {...Function} funcs The functions to compose.
6195
+ * @returns {Function} A function obtained by composing the argument functions
6196
+ * from right to left. For example, compose(f, g, h) is identical to doing
6197
+ * (...args) => f(g(h(...args))).
6198
+ */
6199
+
6200
+ function compose() {
6201
+ for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) {
6202
+ funcs[_key] = arguments[_key];
6203
+ }
6204
+
6205
+ if (funcs.length === 0) {
6206
+ return function (arg) {
6207
+ return arg;
6208
+ };
6209
+ }
6210
+
6211
+ if (funcs.length === 1) {
6212
+ return funcs[0];
6213
+ }
6214
+
6215
+ return funcs.reduce(function (a, b) {
6216
+ return function () {
6217
+ return a(b.apply(undefined, arguments));
6218
+ };
6219
+ });
6220
+ }
6221
+
6222
+ /***/ }),
6223
+ /* 196 */
6224
+ /***/ (function(module, exports, __webpack_require__) {
6225
+
6226
+ "use strict";
6227
+
6228
+
6229
+ Object.defineProperty(exports, "__esModule", {
6230
+ value: true
6231
+ });
6232
+ exports.FETCH_OPTIONS = undefined;
6233
+ exports.getOptions = getOptions;
6234
+
6235
+ var _axios = __webpack_require__(90);
6236
+
6237
+ var _axios2 = _interopRequireDefault(_axios);
6238
+
6239
+ var _qs = __webpack_require__(132);
6240
+
6241
+ var _qs2 = _interopRequireDefault(_qs);
6242
+
6243
+ var _send_command = __webpack_require__(199);
6244
+
6245
+ var _send_command2 = _interopRequireDefault(_send_command);
6246
+
6247
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
6248
+
6249
+ var FETCH_OPTIONS = exports.FETCH_OPTIONS = 'FETCH_OPTIONS';
6250
+
6251
+ function getOptions() {
6252
+ var data = {
6253
+ sub_action: 'get_core_options'
6254
+ };
6255
+
6256
+ var request = (0, _send_command2.default)(data);
6257
+
6258
+ return {
6259
+ type: FETCH_OPTIONS,
6260
+ payload: request
6261
+ };
6262
+ }
6263
+
6264
+ /***/ }),
6265
+ /* 197 */
6266
+ /***/ (function(module, exports, __webpack_require__) {
6267
+
6268
+ "use strict";
6269
+
6270
+
6271
+ var has = Object.prototype.hasOwnProperty;
6272
+
6273
+ var hexTable = (function () {
6274
+ var array = [];
6275
+ for (var i = 0; i < 256; ++i) {
6276
+ array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());
6277
+ }
6278
+
6279
+ return array;
6280
+ }());
6281
+
6282
+ var compactQueue = function compactQueue(queue) {
6283
+ var obj;
6284
+
6285
+ while (queue.length) {
6286
+ var item = queue.pop();
6287
+ obj = item.obj[item.prop];
6288
+
6289
+ if (Array.isArray(obj)) {
6290
+ var compacted = [];
6291
+
6292
+ for (var j = 0; j < obj.length; ++j) {
6293
+ if (typeof obj[j] !== 'undefined') {
6294
+ compacted.push(obj[j]);
6295
+ }
6296
+ }
6297
+
6298
+ item.obj[item.prop] = compacted;
6299
+ }
6300
+ }
6301
+
6302
+ return obj;
6303
+ };
6304
+
6305
+ var arrayToObject = function arrayToObject(source, options) {
6306
+ var obj = options && options.plainObjects ? Object.create(null) : {};
6307
+ for (var i = 0; i < source.length; ++i) {
6308
+ if (typeof source[i] !== 'undefined') {
6309
+ obj[i] = source[i];
6310
+ }
6311
+ }
6312
+
6313
+ return obj;
6314
+ };
6315
+
6316
+ var merge = function merge(target, source, options) {
6317
+ if (!source) {
6318
+ return target;
6319
+ }
6320
+
6321
+ if (typeof source !== 'object') {
6322
+ if (Array.isArray(target)) {
6323
+ target.push(source);
6324
+ } else if (typeof target === 'object') {
6325
+ if (options.plainObjects || options.allowPrototypes || !has.call(Object.prototype, source)) {
6326
+ target[source] = true;
6327
+ }
6328
+ } else {
6329
+ return [target, source];
6330
+ }
6331
+
6332
+ return target;
6333
+ }
6334
+
6335
+ if (typeof target !== 'object') {
6336
+ return [target].concat(source);
6337
+ }
6338
+
6339
+ var mergeTarget = target;
6340
+ if (Array.isArray(target) && !Array.isArray(source)) {
6341
+ mergeTarget = arrayToObject(target, options);
6342
+ }
6343
+
6344
+ if (Array.isArray(target) && Array.isArray(source)) {
6345
+ source.forEach(function (item, i) {
6346
+ if (has.call(target, i)) {
6347
+ if (target[i] && typeof target[i] === 'object') {
6348
+ target[i] = merge(target[i], item, options);
6349
+ } else {
6350
+ target.push(item);
6351
+ }
6352
+ } else {
6353
+ target[i] = item;
6354
+ }
6355
+ });
6356
+ return target;
6357
+ }
6358
+
6359
+ return Object.keys(source).reduce(function (acc, key) {
6360
+ var value = source[key];
6361
+
6362
+ if (has.call(acc, key)) {
6363
+ acc[key] = merge(acc[key], value, options);
6364
+ } else {
6365
+ acc[key] = value;
6366
+ }
6367
+ return acc;
6368
+ }, mergeTarget);
6369
+ };
6370
+
6371
+ var assign = function assignSingleSource(target, source) {
6372
+ return Object.keys(source).reduce(function (acc, key) {
6373
+ acc[key] = source[key];
6374
+ return acc;
6375
+ }, target);
6376
+ };
6377
+
6378
+ var decode = function (str) {
6379
+ try {
6380
+ return decodeURIComponent(str.replace(/\+/g, ' '));
6381
+ } catch (e) {
6382
+ return str;
6383
+ }
6384
+ };
6385
+
6386
+ var encode = function encode(str) {
6387
+ // This code was originally written by Brian White (mscdex) for the io.js core querystring library.
6388
+ // It has been adapted here for stricter adherence to RFC 3986
6389
+ if (str.length === 0) {
6390
+ return str;
6391
+ }
6392
+
6393
+ var string = typeof str === 'string' ? str : String(str);
6394
+
6395
+ var out = '';
6396
+ for (var i = 0; i < string.length; ++i) {
6397
+ var c = string.charCodeAt(i);
6398
+
6399
+ if (
6400
+ c === 0x2D // -
6401
+ || c === 0x2E // .
6402
+ || c === 0x5F // _
6403
+ || c === 0x7E // ~
6404
+ || (c >= 0x30 && c <= 0x39) // 0-9
6405
+ || (c >= 0x41 && c <= 0x5A) // a-z
6406
+ || (c >= 0x61 && c <= 0x7A) // A-Z
6407
+ ) {
6408
+ out += string.charAt(i);
6409
+ continue;
6410
+ }
6411
+
6412
+ if (c < 0x80) {
6413
+ out = out + hexTable[c];
6414
+ continue;
6415
+ }
6416
+
6417
+ if (c < 0x800) {
6418
+ out = out + (hexTable[0xC0 | (c >> 6)] + hexTable[0x80 | (c & 0x3F)]);
6419
+ continue;
6420
+ }
6421
+
6422
+ if (c < 0xD800 || c >= 0xE000) {
6423
+ out = out + (hexTable[0xE0 | (c >> 12)] + hexTable[0x80 | ((c >> 6) & 0x3F)] + hexTable[0x80 | (c & 0x3F)]);
6424
+ continue;
6425
+ }
6426
+
6427
+ i += 1;
6428
+ c = 0x10000 + (((c & 0x3FF) << 10) | (string.charCodeAt(i) & 0x3FF));
6429
+ out += hexTable[0xF0 | (c >> 18)]
6430
+ + hexTable[0x80 | ((c >> 12) & 0x3F)]
6431
+ + hexTable[0x80 | ((c >> 6) & 0x3F)]
6432
+ + hexTable[0x80 | (c & 0x3F)];
6433
+ }
6434
+
6435
+ return out;
6436
+ };
6437
+
6438
+ var compact = function compact(value) {
6439
+ var queue = [{ obj: { o: value }, prop: 'o' }];
6440
+ var refs = [];
6441
+
6442
+ for (var i = 0; i < queue.length; ++i) {
6443
+ var item = queue[i];
6444
+ var obj = item.obj[item.prop];
6445
+
6446
+ var keys = Object.keys(obj);
6447
+ for (var j = 0; j < keys.length; ++j) {
6448
+ var key = keys[j];
6449
+ var val = obj[key];
6450
+ if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) {
6451
+ queue.push({ obj: obj, prop: key });
6452
+ refs.push(val);
6453
+ }
6454
+ }
6455
+ }
6456
+
6457
+ return compactQueue(queue);
6458
+ };
6459
+
6460
+ var isRegExp = function isRegExp(obj) {
6461
+ return Object.prototype.toString.call(obj) === '[object RegExp]';
6462
+ };
6463
+
6464
+ var isBuffer = function isBuffer(obj) {
6465
+ if (obj === null || typeof obj === 'undefined') {
6466
+ return false;
6467
+ }
6468
+
6469
+ return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));
6470
+ };
6471
+
6472
+ module.exports = {
6473
+ arrayToObject: arrayToObject,
6474
+ assign: assign,
6475
+ compact: compact,
6476
+ decode: decode,
6477
+ encode: encode,
6478
+ isBuffer: isBuffer,
6479
+ isRegExp: isRegExp,
6480
+ merge: merge
6481
+ };
6482
+
6483
+
6484
+ /***/ }),
6485
+ /* 198 */
6486
+ /***/ (function(module, exports, __webpack_require__) {
6487
+
6488
+ "use strict";
6489
+
6490
+
6491
+ var replace = String.prototype.replace;
6492
+ var percentTwenties = /%20/g;
6493
+
6494
+ module.exports = {
6495
+ 'default': 'RFC3986',
6496
+ formatters: {
6497
+ RFC1738: function (value) {
6498
+ return replace.call(value, percentTwenties, '+');
6499
+ },
6500
+ RFC3986: function (value) {
6501
+ return value;
6502
+ }
6503
+ },
6504
+ RFC1738: 'RFC1738',
6505
+ RFC3986: 'RFC3986'
6506
+ };
6507
+
6508
+
6509
+ /***/ }),
6510
+ /* 199 */
6511
+ /***/ (function(module, exports, __webpack_require__) {
6512
+
6513
+ "use strict";
6514
+
6515
+
6516
+ Object.defineProperty(exports, "__esModule", {
6517
+ value: true
6518
+ });
6519
+ exports.default = sendCommand;
6520
+
6521
+ var _axios = __webpack_require__(90);
6522
+
6523
+ var _axios2 = _interopRequireDefault(_axios);
6524
+
6525
+ var _qs = __webpack_require__(132);
6526
+
6527
+ var _qs2 = _interopRequireDefault(_qs);
6528
+
6529
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
6530
+
6531
+ function sendCommand(data) {
6532
+
6533
+ var params = {
6534
+ action: 'eum_axios_ajax'
6535
+ };
6536
+
6537
+ var default_data = {
6538
+ _wpnonce: mpsum.eum_nonce
6539
+ };
6540
+
6541
+ if ('undefined' === typeof data) data = {};
6542
+
6543
+ for (var opt in default_data) {
6544
+ if (!data.hasOwnProperty(opt)) {
6545
+ data[opt] = default_data[opt];
6546
+ }
6547
+ }
6548
+
6549
+ var options = {
6550
+ method: 'post',
6551
+ url: mpsum.ajax_url,
6552
+ params: params,
6553
+ paramsSerializer: function paramsSerializer(params) {
6554
+ return _qs2.default.stringify(params, { arrayFormat: 'brackets' });
6555
+ },
6556
+ data: _qs2.default.stringify(data)
6557
+ };
6558
+
6559
+ return (0, _axios2.default)(options);
6560
+ }
6561
+
6562
+ /***/ }),
6563
+ /* 200 */
6564
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
6565
+
6566
+ "use strict";
6567
+ /* harmony export (immutable) */ __webpack_exports__["a"] = _inheritsLoose;
6568
+ function _inheritsLoose(subClass, superClass) {
6569
+ subClass.prototype = Object.create(superClass.prototype);
6570
+ subClass.prototype.constructor = subClass;
6571
+ subClass.__proto__ = superClass;
6572
+ }
6573
+
6574
+ /***/ }),
6575
+ /* 201 */
6576
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
6577
+
6578
+ "use strict";
6579
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return subscriptionShape; });
6580
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return storeShape; });
6581
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types__ = __webpack_require__(133);
6582
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_prop_types__);
6583
+
6584
+ var subscriptionShape = __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.shape({
6585
+ trySubscribe: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired,
6586
+ tryUnsubscribe: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired,
6587
+ notifyNestedSubs: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired,
6588
+ isSubscribed: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired
6589
+ });
6590
+ var storeShape = __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.shape({
6591
+ subscribe: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired,
6592
+ dispatch: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired,
6593
+ getState: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired
6594
+ });
6595
+
6596
+ /***/ }),
6597
+ /* 202 */
6598
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
6599
+
6600
+ "use strict";
6601
+ /* harmony export (immutable) */ __webpack_exports__["a"] = connectAdvanced;
6602
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_runtime_helpers_esm_inheritsLoose__ = __webpack_require__(200);
6603
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__babel_runtime_helpers_esm_assertThisInitialized__ = __webpack_require__(496);
6604
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__babel_runtime_helpers_esm_extends__ = __webpack_require__(135);
6605
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__babel_runtime_helpers_esm_objectWithoutPropertiesLoose__ = __webpack_require__(136);
6606
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_hoist_non_react_statics__ = __webpack_require__(497);
6607
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_hoist_non_react_statics___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_hoist_non_react_statics__);
6608
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_invariant__ = __webpack_require__(499);
6609
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_invariant___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_invariant__);
6610
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react__ = __webpack_require__(6);
6611
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_react__);
6612
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_is__ = __webpack_require__(203);
6613
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_is___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_react_is__);
6614
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__utils_Subscription__ = __webpack_require__(500);
6615
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__utils_PropTypes__ = __webpack_require__(201);
6616
+
6617
+
6618
+
6619
+
6620
+
6621
+
6622
+
6623
+
6624
+
6625
+
6626
+ var hotReloadingVersion = 0;
6627
+ var dummyState = {};
6628
+
6629
+ function noop() {}
6630
+
6631
+ function makeSelectorStateful(sourceSelector, store) {
6632
+ // wrap the selector in an object that tracks its results between runs.
6633
+ var selector = {
6634
+ run: function runComponentSelector(props) {
6635
+ try {
6636
+ var nextProps = sourceSelector(store.getState(), props);
6637
+
6638
+ if (nextProps !== selector.props || selector.error) {
6639
+ selector.shouldComponentUpdate = true;
6640
+ selector.props = nextProps;
6641
+ selector.error = null;
6642
+ }
6643
+ } catch (error) {
6644
+ selector.shouldComponentUpdate = true;
6645
+ selector.error = error;
6646
+ }
6647
+ }
6648
+ };
6649
+ return selector;
6650
+ }
6651
+
6652
+ function connectAdvanced(
6653
+ /*
6654
+ selectorFactory is a func that is responsible for returning the selector function used to
6655
+ compute new props from state, props, and dispatch. For example:
6656
+ export default connectAdvanced((dispatch, options) => (state, props) => ({
6657
+ thing: state.things[props.thingId],
6658
+ saveThing: fields => dispatch(actionCreators.saveThing(props.thingId, fields)),
6659
+ }))(YourComponent)
6660
+ Access to dispatch is provided to the factory so selectorFactories can bind actionCreators
6661
+ outside of their selector as an optimization. Options passed to connectAdvanced are passed to
6662
+ the selectorFactory, along with displayName and WrappedComponent, as the second argument.
6663
+ Note that selectorFactory is responsible for all caching/memoization of inbound and outbound
6664
+ props. Do not use connectAdvanced directly without memoizing results between calls to your
6665
+ selector, otherwise the Connect component will re-render on every state or props change.
6666
+ */
6667
+ selectorFactory, // options object:
6668
+ _ref) {
6669
+ var _contextTypes, _childContextTypes;
6670
+
6671
+ if (_ref === void 0) {
6672
+ _ref = {};
6673
+ }
6674
+
6675
+ var _ref2 = _ref,
6676
+ _ref2$getDisplayName = _ref2.getDisplayName,
6677
+ getDisplayName = _ref2$getDisplayName === void 0 ? function (name) {
6678
+ return "ConnectAdvanced(" + name + ")";
6679
+ } : _ref2$getDisplayName,
6680
+ _ref2$methodName = _ref2.methodName,
6681
+ methodName = _ref2$methodName === void 0 ? 'connectAdvanced' : _ref2$methodName,
6682
+ _ref2$renderCountProp = _ref2.renderCountProp,
6683
+ renderCountProp = _ref2$renderCountProp === void 0 ? undefined : _ref2$renderCountProp,
6684
+ _ref2$shouldHandleSta = _ref2.shouldHandleStateChanges,
6685
+ shouldHandleStateChanges = _ref2$shouldHandleSta === void 0 ? true : _ref2$shouldHandleSta,
6686
+ _ref2$storeKey = _ref2.storeKey,
6687
+ storeKey = _ref2$storeKey === void 0 ? 'store' : _ref2$storeKey,
6688
+ _ref2$withRef = _ref2.withRef,
6689
+ withRef = _ref2$withRef === void 0 ? false : _ref2$withRef,
6690
+ connectOptions = Object(__WEBPACK_IMPORTED_MODULE_3__babel_runtime_helpers_esm_objectWithoutPropertiesLoose__["a" /* default */])(_ref2, ["getDisplayName", "methodName", "renderCountProp", "shouldHandleStateChanges", "storeKey", "withRef"]);
6691
+
6692
+ var subscriptionKey = storeKey + 'Subscription';
6693
+ var version = hotReloadingVersion++;
6694
+ var contextTypes = (_contextTypes = {}, _contextTypes[storeKey] = __WEBPACK_IMPORTED_MODULE_9__utils_PropTypes__["a" /* storeShape */], _contextTypes[subscriptionKey] = __WEBPACK_IMPORTED_MODULE_9__utils_PropTypes__["b" /* subscriptionShape */], _contextTypes);
6695
+ var childContextTypes = (_childContextTypes = {}, _childContextTypes[subscriptionKey] = __WEBPACK_IMPORTED_MODULE_9__utils_PropTypes__["b" /* subscriptionShape */], _childContextTypes);
6696
+ return function wrapWithConnect(WrappedComponent) {
6697
+ __WEBPACK_IMPORTED_MODULE_5_invariant___default()(Object(__WEBPACK_IMPORTED_MODULE_7_react_is__["isValidElementType"])(WrappedComponent), "You must pass a component to the function returned by " + (methodName + ". Instead received " + JSON.stringify(WrappedComponent)));
6698
+ var wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';
6699
+ var displayName = getDisplayName(wrappedComponentName);
6700
+
6701
+ var selectorFactoryOptions = Object(__WEBPACK_IMPORTED_MODULE_2__babel_runtime_helpers_esm_extends__["a" /* default */])({}, connectOptions, {
6702
+ getDisplayName: getDisplayName,
6703
+ methodName: methodName,
6704
+ renderCountProp: renderCountProp,
6705
+ shouldHandleStateChanges: shouldHandleStateChanges,
6706
+ storeKey: storeKey,
6707
+ withRef: withRef,
6708
+ displayName: displayName,
6709
+ wrappedComponentName: wrappedComponentName,
6710
+ WrappedComponent: WrappedComponent // TODO Actually fix our use of componentWillReceiveProps
6711
+
6712
+ /* eslint-disable react/no-deprecated */
6713
+
6714
+ });
6715
+
6716
+ var Connect =
6717
+ /*#__PURE__*/
6718
+ function (_Component) {
6719
+ Object(__WEBPACK_IMPORTED_MODULE_0__babel_runtime_helpers_esm_inheritsLoose__["a" /* default */])(Connect, _Component);
6720
+
6721
+ function Connect(props, context) {
6722
+ var _this;
6723
+
6724
+ _this = _Component.call(this, props, context) || this;
6725
+ _this.version = version;
6726
+ _this.state = {};
6727
+ _this.renderCount = 0;
6728
+ _this.store = props[storeKey] || context[storeKey];
6729
+ _this.propsMode = Boolean(props[storeKey]);
6730
+ _this.setWrappedInstance = _this.setWrappedInstance.bind(Object(__WEBPACK_IMPORTED_MODULE_1__babel_runtime_helpers_esm_assertThisInitialized__["a" /* default */])(Object(__WEBPACK_IMPORTED_MODULE_1__babel_runtime_helpers_esm_assertThisInitialized__["a" /* default */])(_this)));
6731
+ __WEBPACK_IMPORTED_MODULE_5_invariant___default()(_this.store, "Could not find \"" + storeKey + "\" in either the context or props of " + ("\"" + displayName + "\". Either wrap the root component in a <Provider>, ") + ("or explicitly pass \"" + storeKey + "\" as a prop to \"" + displayName + "\"."));
6732
+
6733
+ _this.initSelector();
6734
+
6735
+ _this.initSubscription();
6736
+
6737
+ return _this;
6738
+ }
6739
+
6740
+ var _proto = Connect.prototype;
6741
+
6742
+ _proto.getChildContext = function getChildContext() {
6743
+ var _ref3;
6744
+
6745
+ // If this component received store from props, its subscription should be transparent
6746
+ // to any descendants receiving store+subscription from context; it passes along
6747
+ // subscription passed to it. Otherwise, it shadows the parent subscription, which allows
6748
+ // Connect to control ordering of notifications to flow top-down.
6749
+ var subscription = this.propsMode ? null : this.subscription;
6750
+ return _ref3 = {}, _ref3[subscriptionKey] = subscription || this.context[subscriptionKey], _ref3;
6751
+ };
6752
+
6753
+ _proto.componentDidMount = function componentDidMount() {
6754
+ if (!shouldHandleStateChanges) return; // componentWillMount fires during server side rendering, but componentDidMount and
6755
+ // componentWillUnmount do not. Because of this, trySubscribe happens during ...didMount.
6756
+ // Otherwise, unsubscription would never take place during SSR, causing a memory leak.
6757
+ // To handle the case where a child component may have triggered a state change by
6758
+ // dispatching an action in its componentWillMount, we have to re-run the select and maybe
6759
+ // re-render.
6760
+
6761
+ this.subscription.trySubscribe();
6762
+ this.selector.run(this.props);
6763
+ if (this.selector.shouldComponentUpdate) this.forceUpdate();
6764
+ };
6765
+
6766
+ _proto.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
6767
+ this.selector.run(nextProps);
6768
+ };
6769
+
6770
+ _proto.shouldComponentUpdate = function shouldComponentUpdate() {
6771
+ return this.selector.shouldComponentUpdate;
6772
+ };
6773
+
6774
+ _proto.componentWillUnmount = function componentWillUnmount() {
6775
+ if (this.subscription) this.subscription.tryUnsubscribe();
6776
+ this.subscription = null;
6777
+ this.notifyNestedSubs = noop;
6778
+ this.store = null;
6779
+ this.selector.run = noop;
6780
+ this.selector.shouldComponentUpdate = false;
6781
+ };
6782
+
6783
+ _proto.getWrappedInstance = function getWrappedInstance() {
6784
+ __WEBPACK_IMPORTED_MODULE_5_invariant___default()(withRef, "To access the wrapped instance, you need to specify " + ("{ withRef: true } in the options argument of the " + methodName + "() call."));
6785
+ return this.wrappedInstance;
6786
+ };
6787
+
6788
+ _proto.setWrappedInstance = function setWrappedInstance(ref) {
6789
+ this.wrappedInstance = ref;
6790
+ };
6791
+
6792
+ _proto.initSelector = function initSelector() {
6793
+ var sourceSelector = selectorFactory(this.store.dispatch, selectorFactoryOptions);
6794
+ this.selector = makeSelectorStateful(sourceSelector, this.store);
6795
+ this.selector.run(this.props);
6796
+ };
6797
+
6798
+ _proto.initSubscription = function initSubscription() {
6799
+ if (!shouldHandleStateChanges) return; // parentSub's source should match where store came from: props vs. context. A component
6800
+ // connected to the store via props shouldn't use subscription from context, or vice versa.
6801
+
6802
+ var parentSub = (this.propsMode ? this.props : this.context)[subscriptionKey];
6803
+ this.subscription = new __WEBPACK_IMPORTED_MODULE_8__utils_Subscription__["a" /* default */](this.store, parentSub, this.onStateChange.bind(this)); // `notifyNestedSubs` is duplicated to handle the case where the component is unmounted in
6804
+ // the middle of the notification loop, where `this.subscription` will then be null. An
6805
+ // extra null check every change can be avoided by copying the method onto `this` and then
6806
+ // replacing it with a no-op on unmount. This can probably be avoided if Subscription's
6807
+ // listeners logic is changed to not call listeners that have been unsubscribed in the
6808
+ // middle of the notification loop.
6809
+
6810
+ this.notifyNestedSubs = this.subscription.notifyNestedSubs.bind(this.subscription);
6811
+ };
6812
+
6813
+ _proto.onStateChange = function onStateChange() {
6814
+ this.selector.run(this.props);
6815
+
6816
+ if (!this.selector.shouldComponentUpdate) {
6817
+ this.notifyNestedSubs();
6818
+ } else {
6819
+ this.componentDidUpdate = this.notifyNestedSubsOnComponentDidUpdate;
6820
+ this.setState(dummyState);
6821
+ }
6822
+ };
6823
+
6824
+ _proto.notifyNestedSubsOnComponentDidUpdate = function notifyNestedSubsOnComponentDidUpdate() {
6825
+ // `componentDidUpdate` is conditionally implemented when `onStateChange` determines it
6826
+ // needs to notify nested subs. Once called, it unimplements itself until further state
6827
+ // changes occur. Doing it this way vs having a permanent `componentDidUpdate` that does
6828
+ // a boolean check every time avoids an extra method call most of the time, resulting
6829
+ // in some perf boost.
6830
+ this.componentDidUpdate = undefined;
6831
+ this.notifyNestedSubs();
6832
+ };
6833
+
6834
+ _proto.isSubscribed = function isSubscribed() {
6835
+ return Boolean(this.subscription) && this.subscription.isSubscribed();
6836
+ };
6837
+
6838
+ _proto.addExtraProps = function addExtraProps(props) {
6839
+ if (!withRef && !renderCountProp && !(this.propsMode && this.subscription)) return props; // make a shallow copy so that fields added don't leak to the original selector.
6840
+ // this is especially important for 'ref' since that's a reference back to the component
6841
+ // instance. a singleton memoized selector would then be holding a reference to the
6842
+ // instance, preventing the instance from being garbage collected, and that would be bad
6843
+
6844
+ var withExtras = Object(__WEBPACK_IMPORTED_MODULE_2__babel_runtime_helpers_esm_extends__["a" /* default */])({}, props);
6845
+
6846
+ if (withRef) withExtras.ref = this.setWrappedInstance;
6847
+ if (renderCountProp) withExtras[renderCountProp] = this.renderCount++;
6848
+ if (this.propsMode && this.subscription) withExtras[subscriptionKey] = this.subscription;
6849
+ return withExtras;
6850
+ };
6851
+
6852
+ _proto.render = function render() {
6853
+ var selector = this.selector;
6854
+ selector.shouldComponentUpdate = false;
6855
+
6856
+ if (selector.error) {
6857
+ throw selector.error;
6858
+ } else {
6859
+ return Object(__WEBPACK_IMPORTED_MODULE_6_react__["createElement"])(WrappedComponent, this.addExtraProps(selector.props));
6860
+ }
6861
+ };
6862
+
6863
+ return Connect;
6864
+ }(__WEBPACK_IMPORTED_MODULE_6_react__["Component"]);
6865
+ /* eslint-enable react/no-deprecated */
6866
+
6867
+
6868
+ Connect.WrappedComponent = WrappedComponent;
6869
+ Connect.displayName = displayName;
6870
+ Connect.childContextTypes = childContextTypes;
6871
+ Connect.contextTypes = contextTypes;
6872
+ Connect.propTypes = contextTypes;
6873
+
6874
+ if (false) {
6875
+ Connect.prototype.componentWillUpdate = function componentWillUpdate() {
6876
+ var _this2 = this;
6877
+
6878
+ // We are hot reloading!
6879
+ if (this.version !== version) {
6880
+ this.version = version;
6881
+ this.initSelector(); // If any connected descendants don't hot reload (and resubscribe in the process), their
6882
+ // listeners will be lost when we unsubscribe. Unfortunately, by copying over all
6883
+ // listeners, this does mean that the old versions of connected descendants will still be
6884
+ // notified of state changes; however, their onStateChange function is a no-op so this
6885
+ // isn't a huge deal.
6886
+
6887
+ var oldListeners = [];
6888
+
6889
+ if (this.subscription) {
6890
+ oldListeners = this.subscription.listeners.get();
6891
+ this.subscription.tryUnsubscribe();
6892
+ }
6893
+
6894
+ this.initSubscription();
6895
+
6896
+ if (shouldHandleStateChanges) {
6897
+ this.subscription.trySubscribe();
6898
+ oldListeners.forEach(function (listener) {
6899
+ return _this2.subscription.listeners.subscribe(listener);
6900
+ });
6901
+ }
6902
+ }
6903
+ };
6904
+ }
6905
+
6906
+ return __WEBPACK_IMPORTED_MODULE_4_hoist_non_react_statics___default()(Connect, WrappedComponent);
6907
+ };
6908
+ }
6909
+
6910
+ /***/ }),
6911
+ /* 203 */
6912
+ /***/ (function(module, exports, __webpack_require__) {
6913
+
6914
+ "use strict";
6915
+
6916
+
6917
+ if (true) {
6918
+ module.exports = __webpack_require__(498);
6919
+ } else {
6920
+ module.exports = require('./cjs/react-is.development.js');
6921
+ }
6922
+
6923
+
6924
+ /***/ }),
6925
+ /* 204 */
6926
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
6927
+
6928
+ "use strict";
6929
+ /* harmony export (immutable) */ __webpack_exports__["a"] = wrapMapToPropsConstant;
6930
+ /* unused harmony export getDependsOnOwnProps */
6931
+ /* harmony export (immutable) */ __webpack_exports__["b"] = wrapMapToPropsFunc;
6932
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_verifyPlainObject__ = __webpack_require__(205);
6933
+
6934
+ function wrapMapToPropsConstant(getConstant) {
6935
+ return function initConstantSelector(dispatch, options) {
6936
+ var constant = getConstant(dispatch, options);
6937
+
6938
+ function constantSelector() {
6939
+ return constant;
6940
+ }
6941
+
6942
+ constantSelector.dependsOnOwnProps = false;
6943
+ return constantSelector;
6944
+ };
6945
+ } // dependsOnOwnProps is used by createMapToPropsProxy to determine whether to pass props as args
6946
+ // to the mapToProps function being wrapped. It is also used by makePurePropsSelector to determine
6947
+ // whether mapToProps needs to be invoked when props have changed.
6948
+ //
6949
+ // A length of one signals that mapToProps does not depend on props from the parent component.
6950
+ // A length of zero is assumed to mean mapToProps is getting args via arguments or ...args and
6951
+ // therefore not reporting its length accurately..
6952
+
6953
+ function getDependsOnOwnProps(mapToProps) {
6954
+ return mapToProps.dependsOnOwnProps !== null && mapToProps.dependsOnOwnProps !== undefined ? Boolean(mapToProps.dependsOnOwnProps) : mapToProps.length !== 1;
6955
+ } // Used by whenMapStateToPropsIsFunction and whenMapDispatchToPropsIsFunction,
6956
+ // this function wraps mapToProps in a proxy function which does several things:
6957
+ //
6958
+ // * Detects whether the mapToProps function being called depends on props, which
6959
+ // is used by selectorFactory to decide if it should reinvoke on props changes.
6960
+ //
6961
+ // * On first call, handles mapToProps if returns another function, and treats that
6962
+ // new function as the true mapToProps for subsequent calls.
6963
+ //
6964
+ // * On first call, verifies the first result is a plain object, in order to warn
6965
+ // the developer that their mapToProps function is not returning a valid result.
6966
+ //
6967
+
6968
+ function wrapMapToPropsFunc(mapToProps, methodName) {
6969
+ return function initProxySelector(dispatch, _ref) {
6970
+ var displayName = _ref.displayName;
6971
+
6972
+ var proxy = function mapToPropsProxy(stateOrDispatch, ownProps) {
6973
+ return proxy.dependsOnOwnProps ? proxy.mapToProps(stateOrDispatch, ownProps) : proxy.mapToProps(stateOrDispatch);
6974
+ }; // allow detectFactoryAndVerify to get ownProps
6975
+
6976
+
6977
+ proxy.dependsOnOwnProps = true;
6978
+
6979
+ proxy.mapToProps = function detectFactoryAndVerify(stateOrDispatch, ownProps) {
6980
+ proxy.mapToProps = mapToProps;
6981
+ proxy.dependsOnOwnProps = getDependsOnOwnProps(mapToProps);
6982
+ var props = proxy(stateOrDispatch, ownProps);
6983
+
6984
+ if (typeof props === 'function') {
6985
+ proxy.mapToProps = props;
6986
+ proxy.dependsOnOwnProps = getDependsOnOwnProps(props);
6987
+ props = proxy(stateOrDispatch, ownProps);
6988
+ }
6989
+
6990
+ if (false) verifyPlainObject(props, displayName, methodName);
6991
+ return props;
6992
+ };
6993
+
6994
+ return proxy;
6995
+ };
6996
+ }
6997
+
6998
+ /***/ }),
6999
+ /* 205 */
7000
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
7001
+
7002
+ "use strict";
7003
+ /* unused harmony export default */
7004
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__isPlainObject__ = __webpack_require__(504);
7005
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__warning__ = __webpack_require__(134);
7006
+
7007
+
7008
+ function verifyPlainObject(value, displayName, methodName) {
7009
+ if (!Object(__WEBPACK_IMPORTED_MODULE_0__isPlainObject__["a" /* default */])(value)) {
7010
+ Object(__WEBPACK_IMPORTED_MODULE_1__warning__["a" /* default */])(methodName + "() in " + displayName + " must return a plain object. Instead received " + value + ".");
7011
+ }
7012
+ }
7013
+
7014
+ /***/ }),
7015
+ /* 206 */
7016
+ /***/ (function(module, exports) {
7017
+
7018
+ /**
7019
+ * lodash (Custom Build) <https://lodash.com/>
7020
+ * Build: `lodash modularize exports="npm" -o ./`
7021
+ * Copyright jQuery Foundation and other contributors <https://jquery.org/>
7022
+ * Released under MIT license <https://lodash.com/license>
7023
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
7024
+ * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
7025
+ */
7026
+
7027
+ /** Used as references for various `Number` constants. */
7028
+ var MAX_SAFE_INTEGER = 9007199254740991;
7029
+
7030
+ /** `Object#toString` result references. */
7031
+ var argsTag = '[object Arguments]',
7032
+ funcTag = '[object Function]',
7033
+ genTag = '[object GeneratorFunction]';
7034
+
7035
+ /** Used for built-in method references. */
7036
+ var objectProto = Object.prototype;
7037
+
7038
+ /** Used to check objects for own properties. */
7039
+ var hasOwnProperty = objectProto.hasOwnProperty;
7040
+
7041
+ /**
7042
+ * Used to resolve the
7043
+ * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
7044
+ * of values.
7045
+ */
7046
+ var objectToString = objectProto.toString;
7047
+
7048
+ /** Built-in value references. */
7049
+ var propertyIsEnumerable = objectProto.propertyIsEnumerable;
7050
+
7051
+ /**
7052
+ * Checks if `value` is likely an `arguments` object.
7053
+ *
7054
+ * @static
7055
+ * @memberOf _
7056
+ * @since 0.1.0
7057
+ * @category Lang
7058
+ * @param {*} value The value to check.
7059
+ * @returns {boolean} Returns `true` if `value` is an `arguments` object,
7060
+ * else `false`.
7061
+ * @example
7062
+ *
7063
+ * _.isArguments(function() { return arguments; }());
7064
+ * // => true
7065
+ *
7066
+ * _.isArguments([1, 2, 3]);
7067
+ * // => false
7068
+ */
7069
+ function isArguments(value) {
7070
+ // Safari 8.1 makes `arguments.callee` enumerable in strict mode.
7071
+ return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&
7072
+ (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);
7073
+ }
7074
+
7075
+ /**
7076
+ * Checks if `value` is array-like. A value is considered array-like if it's
7077
+ * not a function and has a `value.length` that's an integer greater than or
7078
+ * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.
7079
+ *
7080
+ * @static
7081
+ * @memberOf _
7082
+ * @since 4.0.0
7083
+ * @category Lang
7084
+ * @param {*} value The value to check.
7085
+ * @returns {boolean} Returns `true` if `value` is array-like, else `false`.
7086
+ * @example
7087
+ *
7088
+ * _.isArrayLike([1, 2, 3]);
7089
+ * // => true
7090
+ *
7091
+ * _.isArrayLike(document.body.children);
7092
+ * // => true
7093
+ *
7094
+ * _.isArrayLike('abc');
7095
+ * // => true
7096
+ *
7097
+ * _.isArrayLike(_.noop);
7098
+ * // => false
7099
+ */
7100
+ function isArrayLike(value) {
7101
+ return value != null && isLength(value.length) && !isFunction(value);
7102
+ }
7103
+
7104
+ /**
7105
+ * This method is like `_.isArrayLike` except that it also checks if `value`
7106
+ * is an object.
7107
+ *
7108
+ * @static
7109
+ * @memberOf _
7110
+ * @since 4.0.0
7111
+ * @category Lang
7112
+ * @param {*} value The value to check.
7113
+ * @returns {boolean} Returns `true` if `value` is an array-like object,
7114
+ * else `false`.
7115
+ * @example
7116
+ *
7117
+ * _.isArrayLikeObject([1, 2, 3]);
7118
+ * // => true
7119
+ *
7120
+ * _.isArrayLikeObject(document.body.children);
7121
+ * // => true
7122
+ *
7123
+ * _.isArrayLikeObject('abc');
7124
+ * // => false
7125
+ *
7126
+ * _.isArrayLikeObject(_.noop);
7127
+ * // => false
7128
+ */
7129
+ function isArrayLikeObject(value) {
7130
+ return isObjectLike(value) && isArrayLike(value);
7131
+ }
7132
+
7133
+ /**
7134
+ * Checks if `value` is classified as a `Function` object.
7135
+ *
7136
+ * @static
7137
+ * @memberOf _
7138
+ * @since 0.1.0
7139
+ * @category Lang
7140
+ * @param {*} value The value to check.
7141
+ * @returns {boolean} Returns `true` if `value` is a function, else `false`.
7142
+ * @example
7143
+ *
7144
+ * _.isFunction(_);
7145
+ * // => true
7146
+ *
7147
+ * _.isFunction(/abc/);
7148
+ * // => false
7149
+ */
7150
+ function isFunction(value) {
7151
+ // The use of `Object#toString` avoids issues with the `typeof` operator
7152
+ // in Safari 8-9 which returns 'object' for typed array and other constructors.
7153
+ var tag = isObject(value) ? objectToString.call(value) : '';
7154
+ return tag == funcTag || tag == genTag;
7155
+ }
7156
+
7157
+ /**
7158
+ * Checks if `value` is a valid array-like length.
7159
+ *
7160
+ * **Note:** This method is loosely based on
7161
+ * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).
7162
+ *
7163
+ * @static
7164
+ * @memberOf _
7165
+ * @since 4.0.0
7166
+ * @category Lang
7167
+ * @param {*} value The value to check.
7168
+ * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
7169
+ * @example
7170
+ *
7171
+ * _.isLength(3);
7172
+ * // => true
7173
+ *
7174
+ * _.isLength(Number.MIN_VALUE);
7175
+ * // => false
7176
+ *
7177
+ * _.isLength(Infinity);
7178
+ * // => false
7179
+ *
7180
+ * _.isLength('3');
7181
+ * // => false
7182
+ */
7183
+ function isLength(value) {
7184
+ return typeof value == 'number' &&
7185
+ value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
7186
+ }
7187
+
7188
+ /**
7189
+ * Checks if `value` is the
7190
+ * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
7191
+ * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
7192
+ *
7193
+ * @static
7194
+ * @memberOf _
7195
+ * @since 0.1.0
7196
+ * @category Lang
7197
+ * @param {*} value The value to check.
7198
+ * @returns {boolean} Returns `true` if `value` is an object, else `false`.
7199
+ * @example
7200
+ *
7201
+ * _.isObject({});
7202
+ * // => true
7203
+ *
7204
+ * _.isObject([1, 2, 3]);
7205
+ * // => true
7206
+ *
7207
+ * _.isObject(_.noop);
7208
+ * // => true
7209
+ *
7210
+ * _.isObject(null);
7211
+ * // => false
7212
+ */
7213
+ function isObject(value) {
7214
+ var type = typeof value;
7215
+ return !!value && (type == 'object' || type == 'function');
7216
+ }
7217
+
7218
+ /**
7219
+ * Checks if `value` is object-like. A value is object-like if it's not `null`
7220
+ * and has a `typeof` result of "object".
7221
+ *
7222
+ * @static
7223
+ * @memberOf _
7224
+ * @since 4.0.0
7225
+ * @category Lang
7226
+ * @param {*} value The value to check.
7227
+ * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
7228
+ * @example
7229
+ *
7230
+ * _.isObjectLike({});
7231
+ * // => true
7232
+ *
7233
+ * _.isObjectLike([1, 2, 3]);
7234
+ * // => true
7235
+ *
7236
+ * _.isObjectLike(_.noop);
7237
+ * // => false
7238
+ *
7239
+ * _.isObjectLike(null);
7240
+ * // => false
7241
+ */
7242
+ function isObjectLike(value) {
7243
+ return !!value && typeof value == 'object';
7244
+ }
7245
+
7246
+ module.exports = isArguments;
7247
+
7248
+
7249
+ /***/ }),
7250
+ /* 207 */
7251
+ /***/ (function(module, exports, __webpack_require__) {
7252
+
7253
+ __webpack_require__(208);
7254
+ module.exports = __webpack_require__(411);
7255
+
7256
+
7257
+ /***/ }),
7258
+ /* 208 */
7259
+ /***/ (function(module, exports, __webpack_require__) {
7260
+
7261
+ "use strict";
7262
+ /* WEBPACK VAR INJECTION */(function(global) {
7263
+
7264
+ Object.defineProperty(exports, "__esModule", {
7265
+ value: true
7266
+ });
7267
+ exports.idempotentBabelPolyfill = idempotentBabelPolyfill;
7268
+ function idempotentBabelPolyfill() {
7269
+ if (!global._babelPolyfill && (
7270
+ // eslint-disable-next-line no-undef
7271
+ typeof window === 'undefined' || !window._babelPolyfill)) {
7272
+ return __webpack_require__(209);
7273
+ }
7274
+ return null;
7275
+ }
7276
+
7277
+ exports.default = idempotentBabelPolyfill();
7278
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(57)))
7279
+
7280
+ /***/ }),
7281
+ /* 209 */
7282
+ /***/ (function(module, exports, __webpack_require__) {
7283
+
7284
+ "use strict";
7285
+ /* WEBPACK VAR INJECTION */(function(global) {
7286
+
7287
+ __webpack_require__(210);
7288
+
7289
+ __webpack_require__(407);
7290
+
7291
+ __webpack_require__(408);
7292
+
7293
+ if (global._babelPolyfill) {
7294
+ throw new Error("only one instance of babel-polyfill is allowed");
7295
+ }
7296
+ global._babelPolyfill = true;
7297
+
7298
+ var DEFINE_PROPERTY = "defineProperty";
7299
+ function define(O, key, value) {
7300
+ O[key] || Object[DEFINE_PROPERTY](O, key, {
7301
+ writable: true,
7302
+ configurable: true,
7303
+ value: value
7304
+ });
7305
+ }
7306
+
7307
+ define(String.prototype, "padLeft", "".padStart);
7308
+ define(String.prototype, "padRight", "".padEnd);
7309
+
7310
+ "pop,reverse,shift,keys,values,entries,indexOf,every,some,forEach,map,filter,find,findIndex,includes,join,slice,concat,push,splice,unshift,sort,lastIndexOf,reduce,reduceRight,copyWithin,fill".split(",").forEach(function (key) {
7311
+ [][key] && define(Array, key, Function.call.bind([][key]));
7312
+ });
7313
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(57)))
7314
+
7315
+ /***/ }),
7316
+ /* 210 */
7317
+ /***/ (function(module, exports, __webpack_require__) {
7318
+
7319
+ __webpack_require__(211);
7320
+ __webpack_require__(213);
7321
+ __webpack_require__(214);
7322
+ __webpack_require__(215);
7323
+ __webpack_require__(216);
7324
+ __webpack_require__(217);
7325
+ __webpack_require__(218);
7326
+ __webpack_require__(219);
7327
+ __webpack_require__(220);
7328
+ __webpack_require__(221);
7329
+ __webpack_require__(222);
7330
+ __webpack_require__(223);
7331
+ __webpack_require__(224);
7332
+ __webpack_require__(225);
7333
+ __webpack_require__(226);
7334
+ __webpack_require__(227);
7335
+ __webpack_require__(229);
7336
+ __webpack_require__(230);
7337
+ __webpack_require__(231);
7338
+ __webpack_require__(232);
7339
+ __webpack_require__(233);
7340
+ __webpack_require__(234);
7341
+ __webpack_require__(235);
7342
+ __webpack_require__(236);
7343
+ __webpack_require__(237);
7344
+ __webpack_require__(238);
7345
+ __webpack_require__(239);
7346
+ __webpack_require__(240);
7347
+ __webpack_require__(241);
7348
+ __webpack_require__(242);
7349
+ __webpack_require__(243);
7350
+ __webpack_require__(244);
7351
+ __webpack_require__(245);
7352
+ __webpack_require__(246);
7353
+ __webpack_require__(247);
7354
+ __webpack_require__(248);
7355
+ __webpack_require__(249);
7356
+ __webpack_require__(250);
7357
+ __webpack_require__(251);
7358
+ __webpack_require__(252);
7359
+ __webpack_require__(253);
7360
+ __webpack_require__(254);
7361
+ __webpack_require__(255);
7362
+ __webpack_require__(256);
7363
+ __webpack_require__(257);
7364
+ __webpack_require__(258);
7365
+ __webpack_require__(259);
7366
+ __webpack_require__(260);
7367
+ __webpack_require__(261);
7368
+ __webpack_require__(262);
7369
+ __webpack_require__(263);
7370
+ __webpack_require__(264);
7371
+ __webpack_require__(265);
7372
+ __webpack_require__(266);
7373
+ __webpack_require__(267);
7374
+ __webpack_require__(268);
7375
+ __webpack_require__(269);
7376
+ __webpack_require__(270);
7377
+ __webpack_require__(271);
7378
+ __webpack_require__(272);
7379
+ __webpack_require__(273);
7380
+ __webpack_require__(274);
7381
+ __webpack_require__(275);
7382
+ __webpack_require__(276);
7383
+ __webpack_require__(277);
7384
+ __webpack_require__(278);
7385
+ __webpack_require__(279);
7386
+ __webpack_require__(280);
7387
+ __webpack_require__(281);
7388
+ __webpack_require__(282);
7389
+ __webpack_require__(283);
7390
+ __webpack_require__(284);
7391
+ __webpack_require__(285);
7392
+ __webpack_require__(286);
7393
+ __webpack_require__(287);
7394
+ __webpack_require__(288);
7395
+ __webpack_require__(289);
7396
+ __webpack_require__(291);
7397
+ __webpack_require__(292);
7398
+ __webpack_require__(294);
7399
+ __webpack_require__(295);
7400
+ __webpack_require__(296);
7401
+ __webpack_require__(297);
7402
+ __webpack_require__(298);
7403
+ __webpack_require__(299);
7404
+ __webpack_require__(300);
7405
+ __webpack_require__(302);
7406
+ __webpack_require__(303);
7407
+ __webpack_require__(304);
7408
+ __webpack_require__(305);
7409
+ __webpack_require__(306);
7410
+ __webpack_require__(307);
7411
+ __webpack_require__(308);
7412
+ __webpack_require__(309);
7413
+ __webpack_require__(310);
7414
+ __webpack_require__(311);
7415
+ __webpack_require__(312);
7416
+ __webpack_require__(313);
7417
+ __webpack_require__(314);
7418
+ __webpack_require__(112);
7419
+ __webpack_require__(315);
7420
+ __webpack_require__(316);
7421
+ __webpack_require__(155);
7422
+ __webpack_require__(317);
7423
+ __webpack_require__(318);
7424
+ __webpack_require__(319);
7425
+ __webpack_require__(320);
7426
+ __webpack_require__(321);
7427
+ __webpack_require__(158);
7428
+ __webpack_require__(160);
7429
+ __webpack_require__(161);
7430
+ __webpack_require__(322);
7431
+ __webpack_require__(323);
7432
+ __webpack_require__(324);
7433
+ __webpack_require__(325);
7434
+ __webpack_require__(326);
7435
+ __webpack_require__(327);
7436
+ __webpack_require__(328);
7437
+ __webpack_require__(329);
7438
+ __webpack_require__(330);
7439
+ __webpack_require__(331);
7440
+ __webpack_require__(332);
7441
+ __webpack_require__(333);
7442
+ __webpack_require__(334);
7443
+ __webpack_require__(335);
7444
+ __webpack_require__(336);
7445
+ __webpack_require__(337);
7446
+ __webpack_require__(338);
7447
+ __webpack_require__(339);
7448
+ __webpack_require__(340);
7449
+ __webpack_require__(341);
7450
+ __webpack_require__(342);
7451
+ __webpack_require__(343);
7452
+ __webpack_require__(344);
7453
+ __webpack_require__(345);
7454
+ __webpack_require__(346);
7455
+ __webpack_require__(347);
7456
+ __webpack_require__(348);
7457
+ __webpack_require__(349);
7458
+ __webpack_require__(350);
7459
+ __webpack_require__(351);
7460
+ __webpack_require__(352);
7461
+ __webpack_require__(353);
7462
+ __webpack_require__(354);
7463
+ __webpack_require__(355);
7464
+ __webpack_require__(356);
7465
+ __webpack_require__(357);
7466
+ __webpack_require__(358);
7467
+ __webpack_require__(359);
7468
+ __webpack_require__(360);
7469
+ __webpack_require__(361);
7470
+ __webpack_require__(362);
7471
+ __webpack_require__(363);
7472
+ __webpack_require__(364);
7473
+ __webpack_require__(365);
7474
+ __webpack_require__(366);
7475
+ __webpack_require__(367);
7476
+ __webpack_require__(368);
7477
+ __webpack_require__(369);
7478
+ __webpack_require__(370);
7479
+ __webpack_require__(371);
7480
+ __webpack_require__(372);
7481
+ __webpack_require__(373);
7482
+ __webpack_require__(374);
7483
+ __webpack_require__(375);
7484
+ __webpack_require__(376);
7485
+ __webpack_require__(377);
7486
+ __webpack_require__(378);
7487
+ __webpack_require__(379);
7488
+ __webpack_require__(380);
7489
+ __webpack_require__(381);
7490
+ __webpack_require__(382);
7491
+ __webpack_require__(383);
7492
+ __webpack_require__(384);
7493
+ __webpack_require__(385);
7494
+ __webpack_require__(386);
7495
+ __webpack_require__(387);
7496
+ __webpack_require__(388);
7497
+ __webpack_require__(389);
7498
+ __webpack_require__(390);
7499
+ __webpack_require__(391);
7500
+ __webpack_require__(392);
7501
+ __webpack_require__(393);
7502
+ __webpack_require__(394);
7503
+ __webpack_require__(395);
7504
+ __webpack_require__(396);
7505
+ __webpack_require__(397);
7506
+ __webpack_require__(398);
7507
+ __webpack_require__(399);
7508
+ __webpack_require__(400);
7509
+ __webpack_require__(401);
7510
+ __webpack_require__(402);
7511
+ __webpack_require__(403);
7512
+ __webpack_require__(404);
7513
+ __webpack_require__(405);
7514
+ __webpack_require__(406);
7515
+ module.exports = __webpack_require__(28);
7516
+
7517
+
7518
+ /***/ }),
7519
+ /* 211 */
7520
+ /***/ (function(module, exports, __webpack_require__) {
7521
+
7522
+ "use strict";
7523
+
7524
+ // ECMAScript 6 symbols shim
7525
+ var global = __webpack_require__(2);
7526
+ var has = __webpack_require__(23);
7527
+ var DESCRIPTORS = __webpack_require__(7);
7528
+ var $export = __webpack_require__(0);
7529
+ var redefine = __webpack_require__(21);
7530
+ var META = __webpack_require__(40).KEY;
7531
+ var $fails = __webpack_require__(3);
7532
+ var shared = __webpack_require__(72);
7533
+ var setToStringTag = __webpack_require__(58);
7534
+ var uid = __webpack_require__(45);
7535
+ var wks = __webpack_require__(5);
7536
+ var wksExt = __webpack_require__(138);
7537
+ var wksDefine = __webpack_require__(92);
7538
+ var enumKeys = __webpack_require__(212);
7539
+ var isArray = __webpack_require__(75);
7540
+ var anObject = __webpack_require__(1);
7541
+ var isObject = __webpack_require__(4);
7542
+ var toIObject = __webpack_require__(24);
7543
+ var toPrimitive = __webpack_require__(32);
7544
+ var createDesc = __webpack_require__(44);
7545
+ var _create = __webpack_require__(48);
7546
+ var gOPNExt = __webpack_require__(141);
7547
+ var $GOPD = __webpack_require__(25);
7548
+ var $DP = __webpack_require__(8);
7549
+ var $keys = __webpack_require__(46);
7550
+ var gOPD = $GOPD.f;
7551
+ var dP = $DP.f;
7552
+ var gOPN = gOPNExt.f;
7553
+ var $Symbol = global.Symbol;
7554
+ var $JSON = global.JSON;
7555
+ var _stringify = $JSON && $JSON.stringify;
7556
+ var PROTOTYPE = 'prototype';
7557
+ var HIDDEN = wks('_hidden');
7558
+ var TO_PRIMITIVE = wks('toPrimitive');
7559
+ var isEnum = {}.propertyIsEnumerable;
7560
+ var SymbolRegistry = shared('symbol-registry');
7561
+ var AllSymbols = shared('symbols');
7562
+ var OPSymbols = shared('op-symbols');
7563
+ var ObjectProto = Object[PROTOTYPE];
7564
+ var USE_NATIVE = typeof $Symbol == 'function';
7565
+ var QObject = global.QObject;
7566
+ // Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173
7567
+ var setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;
7568
+
7569
+ // fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687
7570
+ var setSymbolDesc = DESCRIPTORS && $fails(function () {
7571
+ return _create(dP({}, 'a', {
7572
+ get: function () { return dP(this, 'a', { value: 7 }).a; }
7573
+ })).a != 7;
7574
+ }) ? function (it, key, D) {
7575
+ var protoDesc = gOPD(ObjectProto, key);
7576
+ if (protoDesc) delete ObjectProto[key];
7577
+ dP(it, key, D);
7578
+ if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);
7579
+ } : dP;
7580
+
7581
+ var wrap = function (tag) {
7582
+ var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);
7583
+ sym._k = tag;
7584
+ return sym;
7585
+ };
7586
+
7587
+ var isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {
7588
+ return typeof it == 'symbol';
7589
+ } : function (it) {
7590
+ return it instanceof $Symbol;
7591
+ };
7592
+
7593
+ var $defineProperty = function defineProperty(it, key, D) {
7594
+ if (it === ObjectProto) $defineProperty(OPSymbols, key, D);
7595
+ anObject(it);
7596
+ key = toPrimitive(key, true);
7597
+ anObject(D);
7598
+ if (has(AllSymbols, key)) {
7599
+ if (!D.enumerable) {
7600
+ if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));
7601
+ it[HIDDEN][key] = true;
7602
+ } else {
7603
+ if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;
7604
+ D = _create(D, { enumerable: createDesc(0, false) });
7605
+ } return setSymbolDesc(it, key, D);
7606
+ } return dP(it, key, D);
7607
+ };
7608
+ var $defineProperties = function defineProperties(it, P) {
7609
+ anObject(it);
7610
+ var keys = enumKeys(P = toIObject(P));
7611
+ var i = 0;
7612
+ var l = keys.length;
7613
+ var key;
7614
+ while (l > i) $defineProperty(it, key = keys[i++], P[key]);
7615
+ return it;
7616
+ };
7617
+ var $create = function create(it, P) {
7618
+ return P === undefined ? _create(it) : $defineProperties(_create(it), P);
7619
+ };
7620
+ var $propertyIsEnumerable = function propertyIsEnumerable(key) {
7621
+ var E = isEnum.call(this, key = toPrimitive(key, true));
7622
+ if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;
7623
+ return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;
7624
+ };
7625
+ var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {
7626
+ it = toIObject(it);
7627
+ key = toPrimitive(key, true);
7628
+ if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;
7629
+ var D = gOPD(it, key);
7630
+ if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;
7631
+ return D;
7632
+ };
7633
+ var $getOwnPropertyNames = function getOwnPropertyNames(it) {
7634
+ var names = gOPN(toIObject(it));
7635
+ var result = [];
7636
+ var i = 0;
7637
+ var key;
7638
+ while (names.length > i) {
7639
+ if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);
7640
+ } return result;
7641
+ };
7642
+ var $getOwnPropertySymbols = function getOwnPropertySymbols(it) {
7643
+ var IS_OP = it === ObjectProto;
7644
+ var names = gOPN(IS_OP ? OPSymbols : toIObject(it));
7645
+ var result = [];
7646
+ var i = 0;
7647
+ var key;
7648
+ while (names.length > i) {
7649
+ if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);
7650
+ } return result;
7651
+ };
7652
+
7653
+ // 19.4.1.1 Symbol([description])
7654
+ if (!USE_NATIVE) {
7655
+ $Symbol = function Symbol() {
7656
+ if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');
7657
+ var tag = uid(arguments.length > 0 ? arguments[0] : undefined);
7658
+ var $set = function (value) {
7659
+ if (this === ObjectProto) $set.call(OPSymbols, value);
7660
+ if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;
7661
+ setSymbolDesc(this, tag, createDesc(1, value));
7662
+ };
7663
+ if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });
7664
+ return wrap(tag);
7665
+ };
7666
+ redefine($Symbol[PROTOTYPE], 'toString', function toString() {
7667
+ return this._k;
7668
+ });
7669
+
7670
+ $GOPD.f = $getOwnPropertyDescriptor;
7671
+ $DP.f = $defineProperty;
7672
+ __webpack_require__(49).f = gOPNExt.f = $getOwnPropertyNames;
7673
+ __webpack_require__(68).f = $propertyIsEnumerable;
7674
+ __webpack_require__(74).f = $getOwnPropertySymbols;
7675
+
7676
+ if (DESCRIPTORS && !__webpack_require__(41)) {
7677
+ redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);
7678
+ }
7679
+
7680
+ wksExt.f = function (name) {
7681
+ return wrap(wks(name));
7682
+ };
7683
+ }
7684
+
7685
+ $export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });
7686
+
7687
+ for (var es6Symbols = (
7688
+ // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14
7689
+ 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'
7690
+ ).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);
7691
+
7692
+ for (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);
7693
+
7694
+ $export($export.S + $export.F * !USE_NATIVE, 'Symbol', {
7695
+ // 19.4.2.1 Symbol.for(key)
7696
+ 'for': function (key) {
7697
+ return has(SymbolRegistry, key += '')
7698
+ ? SymbolRegistry[key]
7699
+ : SymbolRegistry[key] = $Symbol(key);
7700
+ },
7701
+ // 19.4.2.5 Symbol.keyFor(sym)
7702
+ keyFor: function keyFor(sym) {
7703
+ if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');
7704
+ for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;
7705
+ },
7706
+ useSetter: function () { setter = true; },
7707
+ useSimple: function () { setter = false; }
7708
+ });
7709
+
7710
+ $export($export.S + $export.F * !USE_NATIVE, 'Object', {
7711
+ // 19.1.2.2 Object.create(O [, Properties])
7712
+ create: $create,
7713
+ // 19.1.2.4 Object.defineProperty(O, P, Attributes)
7714
+ defineProperty: $defineProperty,
7715
+ // 19.1.2.3 Object.defineProperties(O, Properties)
7716
+ defineProperties: $defineProperties,
7717
+ // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)
7718
+ getOwnPropertyDescriptor: $getOwnPropertyDescriptor,
7719
+ // 19.1.2.7 Object.getOwnPropertyNames(O)
7720
+ getOwnPropertyNames: $getOwnPropertyNames,
7721
+ // 19.1.2.8 Object.getOwnPropertySymbols(O)
7722
+ getOwnPropertySymbols: $getOwnPropertySymbols
7723
+ });
7724
+
7725
+ // 24.3.2 JSON.stringify(value [, replacer [, space]])
7726
+ $JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {
7727
+ var S = $Symbol();
7728
+ // MS Edge converts symbol values to JSON as {}
7729
+ // WebKit converts symbol values to JSON as null
7730
+ // V8 throws on boxed symbols
7731
+ return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';
7732
+ })), 'JSON', {
7733
+ stringify: function stringify(it) {
7734
+ var args = [it];
7735
+ var i = 1;
7736
+ var replacer, $replacer;
7737
+ while (arguments.length > i) args.push(arguments[i++]);
7738
+ $replacer = replacer = args[1];
7739
+ if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined
7740
+ if (!isArray(replacer)) replacer = function (key, value) {
7741
+ if (typeof $replacer == 'function') value = $replacer.call(this, key, value);
7742
+ if (!isSymbol(value)) return value;
7743
+ };
7744
+ args[1] = replacer;
7745
+ return _stringify.apply($JSON, args);
7746
+ }
7747
+ });
7748
+
7749
+ // 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)
7750
+ $Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(20)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);
7751
+ // 19.4.3.5 Symbol.prototype[@@toStringTag]
7752
+ setToStringTag($Symbol, 'Symbol');
7753
+ // 20.2.1.9 Math[@@toStringTag]
7754
+ setToStringTag(Math, 'Math', true);
7755
+ // 24.3.3 JSON[@@toStringTag]
7756
+ setToStringTag(global.JSON, 'JSON', true);
7757
+
7758
+
7759
+ /***/ }),
7760
+ /* 212 */
7761
+ /***/ (function(module, exports, __webpack_require__) {
7762
+
7763
+ // all enumerable object keys, includes symbols
7764
+ var getKeys = __webpack_require__(46);
7765
+ var gOPS = __webpack_require__(74);
7766
+ var pIE = __webpack_require__(68);
7767
+ module.exports = function (it) {
7768
+ var result = getKeys(it);
7769
+ var getSymbols = gOPS.f;
7770
+ if (getSymbols) {
7771
+ var symbols = getSymbols(it);
7772
+ var isEnum = pIE.f;
7773
+ var i = 0;
7774
+ var key;
7775
+ while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);
7776
+ } return result;
7777
+ };
7778
+
7779
+
7780
+ /***/ }),
7781
+ /* 213 */
7782
+ /***/ (function(module, exports, __webpack_require__) {
7783
+
7784
+ var $export = __webpack_require__(0);
7785
+ // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
7786
+ $export($export.S, 'Object', { create: __webpack_require__(48) });
7787
+
7788
+
7789
+ /***/ }),
7790
+ /* 214 */
7791
+ /***/ (function(module, exports, __webpack_require__) {
7792
+
7793
+ var $export = __webpack_require__(0);
7794
+ // 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)
7795
+ $export($export.S + $export.F * !__webpack_require__(7), 'Object', { defineProperty: __webpack_require__(8).f });
7796
+
7797
+
7798
+ /***/ }),
7799
+ /* 215 */
7800
+ /***/ (function(module, exports, __webpack_require__) {
7801
+
7802
+ var $export = __webpack_require__(0);
7803
+ // 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)
7804
+ $export($export.S + $export.F * !__webpack_require__(7), 'Object', { defineProperties: __webpack_require__(140) });
7805
+
7806
+
7807
+ /***/ }),
7808
+ /* 216 */
7809
+ /***/ (function(module, exports, __webpack_require__) {
7810
+
7811
+ // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)
7812
+ var toIObject = __webpack_require__(24);
7813
+ var $getOwnPropertyDescriptor = __webpack_require__(25).f;
7814
+
7815
+ __webpack_require__(35)('getOwnPropertyDescriptor', function () {
7816
+ return function getOwnPropertyDescriptor(it, key) {
7817
+ return $getOwnPropertyDescriptor(toIObject(it), key);
7818
+ };
7819
+ });
7820
+
7821
+
7822
+ /***/ }),
7823
+ /* 217 */
7824
+ /***/ (function(module, exports, __webpack_require__) {
7825
+
7826
+ // 19.1.2.9 Object.getPrototypeOf(O)
7827
+ var toObject = __webpack_require__(17);
7828
+ var $getPrototypeOf = __webpack_require__(26);
7829
+
7830
+ __webpack_require__(35)('getPrototypeOf', function () {
7831
+ return function getPrototypeOf(it) {
7832
+ return $getPrototypeOf(toObject(it));
7833
+ };
7834
+ });
7835
+
7836
+
7837
+ /***/ }),
7838
+ /* 218 */
7839
+ /***/ (function(module, exports, __webpack_require__) {
7840
+
7841
+ // 19.1.2.14 Object.keys(O)
7842
+ var toObject = __webpack_require__(17);
7843
+ var $keys = __webpack_require__(46);
7844
+
7845
+ __webpack_require__(35)('keys', function () {
7846
+ return function keys(it) {
7847
+ return $keys(toObject(it));
7848
+ };
7849
+ });
7850
+
7851
+
7852
+ /***/ }),
7853
+ /* 219 */
7854
+ /***/ (function(module, exports, __webpack_require__) {
7855
+
7856
+ // 19.1.2.7 Object.getOwnPropertyNames(O)
7857
+ __webpack_require__(35)('getOwnPropertyNames', function () {
7858
+ return __webpack_require__(141).f;
7859
+ });
7860
+
7861
+
7862
+ /***/ }),
7863
+ /* 220 */
7864
+ /***/ (function(module, exports, __webpack_require__) {
7865
+
7866
+ // 19.1.2.5 Object.freeze(O)
7867
+ var isObject = __webpack_require__(4);
7868
+ var meta = __webpack_require__(40).onFreeze;
7869
+
7870
+ __webpack_require__(35)('freeze', function ($freeze) {
7871
+ return function freeze(it) {
7872
+ return $freeze && isObject(it) ? $freeze(meta(it)) : it;
7873
+ };
7874
+ });
7875
+
7876
+
7877
+ /***/ }),
7878
+ /* 221 */
7879
+ /***/ (function(module, exports, __webpack_require__) {
7880
+
7881
+ // 19.1.2.17 Object.seal(O)
7882
+ var isObject = __webpack_require__(4);
7883
+ var meta = __webpack_require__(40).onFreeze;
7884
+
7885
+ __webpack_require__(35)('seal', function ($seal) {
7886
+ return function seal(it) {
7887
+ return $seal && isObject(it) ? $seal(meta(it)) : it;
7888
+ };
7889
+ });
7890
+
7891
+
7892
+ /***/ }),
7893
+ /* 222 */
7894
+ /***/ (function(module, exports, __webpack_require__) {
7895
+
7896
+ // 19.1.2.15 Object.preventExtensions(O)
7897
+ var isObject = __webpack_require__(4);
7898
+ var meta = __webpack_require__(40).onFreeze;
7899
+
7900
+ __webpack_require__(35)('preventExtensions', function ($preventExtensions) {
7901
+ return function preventExtensions(it) {
7902
+ return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it;
7903
+ };
7904
+ });
7905
+
7906
+
7907
+ /***/ }),
7908
+ /* 223 */
7909
+ /***/ (function(module, exports, __webpack_require__) {
7910
+
7911
+ // 19.1.2.12 Object.isFrozen(O)
7912
+ var isObject = __webpack_require__(4);
7913
+
7914
+ __webpack_require__(35)('isFrozen', function ($isFrozen) {
7915
+ return function isFrozen(it) {
7916
+ return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;
7917
+ };
7918
+ });
7919
+
7920
+
7921
+ /***/ }),
7922
+ /* 224 */
7923
+ /***/ (function(module, exports, __webpack_require__) {
7924
+
7925
+ // 19.1.2.13 Object.isSealed(O)
7926
+ var isObject = __webpack_require__(4);
7927
+
7928
+ __webpack_require__(35)('isSealed', function ($isSealed) {
7929
+ return function isSealed(it) {
7930
+ return isObject(it) ? $isSealed ? $isSealed(it) : false : true;
7931
+ };
7932
+ });
7933
+
7934
+
7935
+ /***/ }),
7936
+ /* 225 */
7937
+ /***/ (function(module, exports, __webpack_require__) {
7938
+
7939
+ // 19.1.2.11 Object.isExtensible(O)
7940
+ var isObject = __webpack_require__(4);
7941
+
7942
+ __webpack_require__(35)('isExtensible', function ($isExtensible) {
7943
+ return function isExtensible(it) {
7944
+ return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;
7945
+ };
7946
+ });
7947
+
7948
+
7949
+ /***/ }),
7950
+ /* 226 */
7951
+ /***/ (function(module, exports, __webpack_require__) {
7952
+
7953
+ // 19.1.3.1 Object.assign(target, source)
7954
+ var $export = __webpack_require__(0);
7955
+
7956
+ $export($export.S + $export.F, 'Object', { assign: __webpack_require__(142) });
7957
+
7958
+
7959
+ /***/ }),
7960
+ /* 227 */
7961
+ /***/ (function(module, exports, __webpack_require__) {
7962
+
7963
+ // 19.1.3.10 Object.is(value1, value2)
7964
+ var $export = __webpack_require__(0);
7965
+ $export($export.S, 'Object', { is: __webpack_require__(228) });
7966
+
7967
+
7968
+ /***/ }),
7969
+ /* 228 */
7970
+ /***/ (function(module, exports) {
7971
+
7972
+ // 7.2.9 SameValue(x, y)
7973
+ module.exports = Object.is || function is(x, y) {
7974
+ // eslint-disable-next-line no-self-compare
7975
+ return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;
7976
+ };
7977
+
7978
+
7979
+ /***/ }),
7980
+ /* 229 */
7981
+ /***/ (function(module, exports, __webpack_require__) {
7982
+
7983
+ // 19.1.3.19 Object.setPrototypeOf(O, proto)
7984
+ var $export = __webpack_require__(0);
7985
+ $export($export.S, 'Object', { setPrototypeOf: __webpack_require__(96).set });
7986
+
7987
+
7988
+ /***/ }),
7989
+ /* 230 */
7990
+ /***/ (function(module, exports, __webpack_require__) {
7991
+
7992
+ "use strict";
7993
+
7994
+ // 19.1.3.6 Object.prototype.toString()
7995
+ var classof = __webpack_require__(69);
7996
+ var test = {};
7997
+ test[__webpack_require__(5)('toStringTag')] = 'z';
7998
+ if (test + '' != '[object z]') {
7999
+ __webpack_require__(21)(Object.prototype, 'toString', function toString() {
8000
+ return '[object ' + classof(this) + ']';
8001
+ }, true);
8002
+ }
8003
+
8004
+
8005
+ /***/ }),
8006
+ /* 231 */
8007
+ /***/ (function(module, exports, __webpack_require__) {
8008
+
8009
+ // 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)
8010
+ var $export = __webpack_require__(0);
8011
+
8012
+ $export($export.P, 'Function', { bind: __webpack_require__(143) });
8013
+
8014
+
8015
+ /***/ }),
8016
+ /* 232 */
8017
+ /***/ (function(module, exports, __webpack_require__) {
8018
+
8019
+ var dP = __webpack_require__(8).f;
8020
+ var FProto = Function.prototype;
8021
+ var nameRE = /^\s*function ([^ (]*)/;
8022
+ var NAME = 'name';
8023
+
8024
+ // 19.2.4.2 name
8025
+ NAME in FProto || __webpack_require__(7) && dP(FProto, NAME, {
8026
+ configurable: true,
8027
+ get: function () {
8028
+ try {
8029
+ return ('' + this).match(nameRE)[1];
8030
+ } catch (e) {
8031
+ return '';
8032
+ }
8033
+ }
8034
+ });
8035
+
8036
+
8037
+ /***/ }),
8038
+ /* 233 */
8039
+ /***/ (function(module, exports, __webpack_require__) {
8040
+
8041
+ "use strict";
8042
+
8043
+ var isObject = __webpack_require__(4);
8044
+ var getPrototypeOf = __webpack_require__(26);
8045
+ var HAS_INSTANCE = __webpack_require__(5)('hasInstance');
8046
+ var FunctionProto = Function.prototype;
8047
+ // 19.2.3.6 Function.prototype[@@hasInstance](V)
8048
+ if (!(HAS_INSTANCE in FunctionProto)) __webpack_require__(8).f(FunctionProto, HAS_INSTANCE, { value: function (O) {
8049
+ if (typeof this != 'function' || !isObject(O)) return false;
8050
+ if (!isObject(this.prototype)) return O instanceof this;
8051
+ // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:
8052
+ while (O = getPrototypeOf(O)) if (this.prototype === O) return true;
8053
+ return false;
8054
+ } });
8055
+
8056
+
8057
+ /***/ }),
8058
+ /* 234 */
8059
+ /***/ (function(module, exports, __webpack_require__) {
8060
+
8061
+ var $export = __webpack_require__(0);
8062
+ var $parseInt = __webpack_require__(145);
8063
+ // 18.2.5 parseInt(string, radix)
8064
+ $export($export.G + $export.F * (parseInt != $parseInt), { parseInt: $parseInt });
8065
+
8066
+
8067
+ /***/ }),
8068
+ /* 235 */
8069
+ /***/ (function(module, exports, __webpack_require__) {
8070
+
8071
+ var $export = __webpack_require__(0);
8072
+ var $parseFloat = __webpack_require__(146);
8073
+ // 18.2.4 parseFloat(string)
8074
+ $export($export.G + $export.F * (parseFloat != $parseFloat), { parseFloat: $parseFloat });
8075
+
8076
+
8077
+ /***/ }),
8078
+ /* 236 */
8079
+ /***/ (function(module, exports, __webpack_require__) {
8080
+
8081
+ "use strict";
8082
+
8083
+ var global = __webpack_require__(2);
8084
+ var has = __webpack_require__(23);
8085
+ var cof = __webpack_require__(30);
8086
+ var inheritIfRequired = __webpack_require__(98);
8087
+ var toPrimitive = __webpack_require__(32);
8088
+ var fails = __webpack_require__(3);
8089
+ var gOPN = __webpack_require__(49).f;
8090
+ var gOPD = __webpack_require__(25).f;
8091
+ var dP = __webpack_require__(8).f;
8092
+ var $trim = __webpack_require__(59).trim;
8093
+ var NUMBER = 'Number';
8094
+ var $Number = global[NUMBER];
8095
+ var Base = $Number;
8096
+ var proto = $Number.prototype;
8097
+ // Opera ~12 has broken Object#toString
8098
+ var BROKEN_COF = cof(__webpack_require__(48)(proto)) == NUMBER;
8099
+ var TRIM = 'trim' in String.prototype;
8100
+
8101
+ // 7.1.3 ToNumber(argument)
8102
+ var toNumber = function (argument) {
8103
+ var it = toPrimitive(argument, false);
8104
+ if (typeof it == 'string' && it.length > 2) {
8105
+ it = TRIM ? it.trim() : $trim(it, 3);
8106
+ var first = it.charCodeAt(0);
8107
+ var third, radix, maxCode;
8108
+ if (first === 43 || first === 45) {
8109
+ third = it.charCodeAt(2);
8110
+ if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix
8111
+ } else if (first === 48) {
8112
+ switch (it.charCodeAt(1)) {
8113
+ case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i
8114
+ case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i
8115
+ default: return +it;
8116
+ }
8117
+ for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {
8118
+ code = digits.charCodeAt(i);
8119
+ // parseInt parses a string to a first unavailable symbol
8120
+ // but ToNumber should return NaN if a string contains unavailable symbols
8121
+ if (code < 48 || code > maxCode) return NaN;
8122
+ } return parseInt(digits, radix);
8123
+ }
8124
+ } return +it;
8125
+ };
8126
+
8127
+ if (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {
8128
+ $Number = function Number(value) {
8129
+ var it = arguments.length < 1 ? 0 : value;
8130
+ var that = this;
8131
+ return that instanceof $Number
8132
+ // check on 1..constructor(foo) case
8133
+ && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER)
8134
+ ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);
8135
+ };
8136
+ for (var keys = __webpack_require__(7) ? gOPN(Base) : (
8137
+ // ES3:
8138
+ 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +
8139
+ // ES6 (in case, if modules with ES6 Number statics required before):
8140
+ 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +
8141
+ 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'
8142
+ ).split(','), j = 0, key; keys.length > j; j++) {
8143
+ if (has(Base, key = keys[j]) && !has($Number, key)) {
8144
+ dP($Number, key, gOPD(Base, key));
8145
+ }
8146
+ }
8147
+ $Number.prototype = proto;
8148
+ proto.constructor = $Number;
8149
+ __webpack_require__(21)(global, NUMBER, $Number);
8150
+ }
8151
+
8152
+
8153
+ /***/ }),
8154
+ /* 237 */
8155
+ /***/ (function(module, exports, __webpack_require__) {
8156
+
8157
+ "use strict";
8158
+
8159
+ var $export = __webpack_require__(0);
8160
+ var toInteger = __webpack_require__(34);
8161
+ var aNumberValue = __webpack_require__(147);
8162
+ var repeat = __webpack_require__(99);
8163
+ var $toFixed = 1.0.toFixed;
8164
+ var floor = Math.floor;
8165
+ var data = [0, 0, 0, 0, 0, 0];
8166
+ var ERROR = 'Number.toFixed: incorrect invocation!';
8167
+ var ZERO = '0';
8168
+
8169
+ var multiply = function (n, c) {
8170
+ var i = -1;
8171
+ var c2 = c;
8172
+ while (++i < 6) {
8173
+ c2 += n * data[i];
8174
+ data[i] = c2 % 1e7;
8175
+ c2 = floor(c2 / 1e7);
8176
+ }
8177
+ };
8178
+ var divide = function (n) {
8179
+ var i = 6;
8180
+ var c = 0;
8181
+ while (--i >= 0) {
8182
+ c += data[i];
8183
+ data[i] = floor(c / n);
8184
+ c = (c % n) * 1e7;
8185
+ }
8186
+ };
8187
+ var numToString = function () {
8188
+ var i = 6;
8189
+ var s = '';
8190
+ while (--i >= 0) {
8191
+ if (s !== '' || i === 0 || data[i] !== 0) {
8192
+ var t = String(data[i]);
8193
+ s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t;
8194
+ }
8195
+ } return s;
8196
+ };
8197
+ var pow = function (x, n, acc) {
8198
+ return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);
8199
+ };
8200
+ var log = function (x) {
8201
+ var n = 0;
8202
+ var x2 = x;
8203
+ while (x2 >= 4096) {
8204
+ n += 12;
8205
+ x2 /= 4096;
8206
+ }
8207
+ while (x2 >= 2) {
8208
+ n += 1;
8209
+ x2 /= 2;
8210
+ } return n;
8211
+ };
8212
+
8213
+ $export($export.P + $export.F * (!!$toFixed && (
8214
+ 0.00008.toFixed(3) !== '0.000' ||
8215
+ 0.9.toFixed(0) !== '1' ||
8216
+ 1.255.toFixed(2) !== '1.25' ||
8217
+ 1000000000000000128.0.toFixed(0) !== '1000000000000000128'
8218
+ ) || !__webpack_require__(3)(function () {
8219
+ // V8 ~ Android 4.3-
8220
+ $toFixed.call({});
8221
+ })), 'Number', {
8222
+ toFixed: function toFixed(fractionDigits) {
8223
+ var x = aNumberValue(this, ERROR);
8224
+ var f = toInteger(fractionDigits);
8225
+ var s = '';
8226
+ var m = ZERO;
8227
+ var e, z, j, k;
8228
+ if (f < 0 || f > 20) throw RangeError(ERROR);
8229
+ // eslint-disable-next-line no-self-compare
8230
+ if (x != x) return 'NaN';
8231
+ if (x <= -1e21 || x >= 1e21) return String(x);
8232
+ if (x < 0) {
8233
+ s = '-';
8234
+ x = -x;
8235
+ }
8236
+ if (x > 1e-21) {
8237
+ e = log(x * pow(2, 69, 1)) - 69;
8238
+ z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1);
8239
+ z *= 0x10000000000000;
8240
+ e = 52 - e;
8241
+ if (e > 0) {
8242
+ multiply(0, z);
8243
+ j = f;
8244
+ while (j >= 7) {
8245
+ multiply(1e7, 0);
8246
+ j -= 7;
8247
+ }
8248
+ multiply(pow(10, j, 1), 0);
8249
+ j = e - 1;
8250
+ while (j >= 23) {
8251
+ divide(1 << 23);
8252
+ j -= 23;
8253
+ }
8254
+ divide(1 << j);
8255
+ multiply(1, 1);
8256
+ divide(2);
8257
+ m = numToString();
8258
+ } else {
8259
+ multiply(0, z);
8260
+ multiply(1 << -e, 0);
8261
+ m = numToString() + repeat.call(ZERO, f);
8262
+ }
8263
+ }
8264
+ if (f > 0) {
8265
+ k = m.length;
8266
+ m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f));
8267
+ } else {
8268
+ m = s + m;
8269
+ } return m;
8270
+ }
8271
+ });
8272
+
8273
+
8274
+ /***/ }),
8275
+ /* 238 */
8276
+ /***/ (function(module, exports, __webpack_require__) {
8277
+
8278
+ "use strict";
8279
+
8280
+ var $export = __webpack_require__(0);
8281
+ var $fails = __webpack_require__(3);
8282
+ var aNumberValue = __webpack_require__(147);
8283
+ var $toPrecision = 1.0.toPrecision;
8284
+
8285
+ $export($export.P + $export.F * ($fails(function () {
8286
+ // IE7-
8287
+ return $toPrecision.call(1, undefined) !== '1';
8288
+ }) || !$fails(function () {
8289
+ // V8 ~ Android 4.3-
8290
+ $toPrecision.call({});
8291
+ })), 'Number', {
8292
+ toPrecision: function toPrecision(precision) {
8293
+ var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!');
8294
+ return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision);
8295
+ }
8296
+ });
8297
+
8298
+
8299
+ /***/ }),
8300
+ /* 239 */
8301
+ /***/ (function(module, exports, __webpack_require__) {
8302
+
8303
+ // 20.1.2.1 Number.EPSILON
8304
+ var $export = __webpack_require__(0);
8305
+
8306
+ $export($export.S, 'Number', { EPSILON: Math.pow(2, -52) });
8307
+
8308
+
8309
+ /***/ }),
8310
+ /* 240 */
8311
+ /***/ (function(module, exports, __webpack_require__) {
8312
+
8313
+ // 20.1.2.2 Number.isFinite(number)
8314
+ var $export = __webpack_require__(0);
8315
+ var _isFinite = __webpack_require__(2).isFinite;
8316
+
8317
+ $export($export.S, 'Number', {
8318
+ isFinite: function isFinite(it) {
8319
+ return typeof it == 'number' && _isFinite(it);
8320
+ }
8321
+ });
8322
+
8323
+
8324
+ /***/ }),
8325
+ /* 241 */
8326
+ /***/ (function(module, exports, __webpack_require__) {
8327
+
8328
+ // 20.1.2.3 Number.isInteger(number)
8329
+ var $export = __webpack_require__(0);
8330
+
8331
+ $export($export.S, 'Number', { isInteger: __webpack_require__(148) });
8332
+
8333
+
8334
+ /***/ }),
8335
+ /* 242 */
8336
+ /***/ (function(module, exports, __webpack_require__) {
8337
+
8338
+ // 20.1.2.4 Number.isNaN(number)
8339
+ var $export = __webpack_require__(0);
8340
+
8341
+ $export($export.S, 'Number', {
8342
+ isNaN: function isNaN(number) {
8343
+ // eslint-disable-next-line no-self-compare
8344
+ return number != number;
8345
+ }
8346
+ });
8347
+
8348
+
8349
+ /***/ }),
8350
+ /* 243 */
8351
+ /***/ (function(module, exports, __webpack_require__) {
8352
+
8353
+ // 20.1.2.5 Number.isSafeInteger(number)
8354
+ var $export = __webpack_require__(0);
8355
+ var isInteger = __webpack_require__(148);
8356
+ var abs = Math.abs;
8357
+
8358
+ $export($export.S, 'Number', {
8359
+ isSafeInteger: function isSafeInteger(number) {
8360
+ return isInteger(number) && abs(number) <= 0x1fffffffffffff;
8361
+ }
8362
+ });
8363
+
8364
+
8365
+ /***/ }),
8366
+ /* 244 */
8367
+ /***/ (function(module, exports, __webpack_require__) {
8368
+
8369
+ // 20.1.2.6 Number.MAX_SAFE_INTEGER
8370
+ var $export = __webpack_require__(0);
8371
+
8372
+ $export($export.S, 'Number', { MAX_SAFE_INTEGER: 0x1fffffffffffff });
8373
+
8374
+
8375
+ /***/ }),
8376
+ /* 245 */
8377
+ /***/ (function(module, exports, __webpack_require__) {
8378
+
8379
+ // 20.1.2.10 Number.MIN_SAFE_INTEGER
8380
+ var $export = __webpack_require__(0);
8381
+
8382
+ $export($export.S, 'Number', { MIN_SAFE_INTEGER: -0x1fffffffffffff });
8383
+
8384
+
8385
+ /***/ }),
8386
+ /* 246 */
8387
+ /***/ (function(module, exports, __webpack_require__) {
8388
+
8389
+ var $export = __webpack_require__(0);
8390
+ var $parseFloat = __webpack_require__(146);
8391
+ // 20.1.2.12 Number.parseFloat(string)
8392
+ $export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', { parseFloat: $parseFloat });
8393
+
8394
+
8395
+ /***/ }),
8396
+ /* 247 */
8397
+ /***/ (function(module, exports, __webpack_require__) {
8398
+
8399
+ var $export = __webpack_require__(0);
8400
+ var $parseInt = __webpack_require__(145);
8401
+ // 20.1.2.13 Number.parseInt(string, radix)
8402
+ $export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', { parseInt: $parseInt });
8403
+
8404
+
8405
+ /***/ }),
8406
+ /* 248 */
8407
+ /***/ (function(module, exports, __webpack_require__) {
8408
+
8409
+ // 20.2.2.3 Math.acosh(x)
8410
+ var $export = __webpack_require__(0);
8411
+ var log1p = __webpack_require__(149);
8412
+ var sqrt = Math.sqrt;
8413
+ var $acosh = Math.acosh;
8414
+
8415
+ $export($export.S + $export.F * !($acosh
8416
+ // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509
8417
+ && Math.floor($acosh(Number.MAX_VALUE)) == 710
8418
+ // Tor Browser bug: Math.acosh(Infinity) -> NaN
8419
+ && $acosh(Infinity) == Infinity
8420
+ ), 'Math', {
8421
+ acosh: function acosh(x) {
8422
+ return (x = +x) < 1 ? NaN : x > 94906265.62425156
8423
+ ? Math.log(x) + Math.LN2
8424
+ : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));
8425
+ }
8426
+ });
8427
+
8428
+
8429
+ /***/ }),
8430
+ /* 249 */
8431
+ /***/ (function(module, exports, __webpack_require__) {
8432
+
8433
+ // 20.2.2.5 Math.asinh(x)
8434
+ var $export = __webpack_require__(0);
8435
+ var $asinh = Math.asinh;
8436
+
8437
+ function asinh(x) {
8438
+ return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1));
8439
+ }
8440
+
8441
+ // Tor Browser bug: Math.asinh(0) -> -0
8442
+ $export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', { asinh: asinh });
8443
+
8444
+
8445
+ /***/ }),
8446
+ /* 250 */
8447
+ /***/ (function(module, exports, __webpack_require__) {
8448
+
8449
+ // 20.2.2.7 Math.atanh(x)
8450
+ var $export = __webpack_require__(0);
8451
+ var $atanh = Math.atanh;
8452
+
8453
+ // Tor Browser bug: Math.atanh(-0) -> 0
8454
+ $export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', {
8455
+ atanh: function atanh(x) {
8456
+ return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2;
8457
+ }
8458
+ });
8459
+
8460
+
8461
+ /***/ }),
8462
+ /* 251 */
8463
+ /***/ (function(module, exports, __webpack_require__) {
8464
+
8465
+ // 20.2.2.9 Math.cbrt(x)
8466
+ var $export = __webpack_require__(0);
8467
+ var sign = __webpack_require__(100);
8468
+
8469
+ $export($export.S, 'Math', {
8470
+ cbrt: function cbrt(x) {
8471
+ return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3);
8472
+ }
8473
+ });
8474
+
8475
+
8476
+ /***/ }),
8477
+ /* 252 */
8478
+ /***/ (function(module, exports, __webpack_require__) {
8479
+
8480
+ // 20.2.2.11 Math.clz32(x)
8481
+ var $export = __webpack_require__(0);
8482
+
8483
+ $export($export.S, 'Math', {
8484
+ clz32: function clz32(x) {
8485
+ return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32;
8486
+ }
8487
+ });
8488
+
8489
+
8490
+ /***/ }),
8491
+ /* 253 */
8492
+ /***/ (function(module, exports, __webpack_require__) {
8493
+
8494
+ // 20.2.2.12 Math.cosh(x)
8495
+ var $export = __webpack_require__(0);
8496
+ var exp = Math.exp;
8497
+
8498
+ $export($export.S, 'Math', {
8499
+ cosh: function cosh(x) {
8500
+ return (exp(x = +x) + exp(-x)) / 2;
8501
+ }
8502
+ });
8503
+
8504
+
8505
+ /***/ }),
8506
+ /* 254 */
8507
+ /***/ (function(module, exports, __webpack_require__) {
8508
+
8509
+ // 20.2.2.14 Math.expm1(x)
8510
+ var $export = __webpack_require__(0);
8511
+ var $expm1 = __webpack_require__(101);
8512
+
8513
+ $export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', { expm1: $expm1 });
8514
+
8515
+
8516
+ /***/ }),
8517
+ /* 255 */
8518
+ /***/ (function(module, exports, __webpack_require__) {
8519
+
8520
+ // 20.2.2.16 Math.fround(x)
8521
+ var $export = __webpack_require__(0);
8522
+
8523
+ $export($export.S, 'Math', { fround: __webpack_require__(150) });
8524
+
8525
+
8526
+ /***/ }),
8527
+ /* 256 */
8528
+ /***/ (function(module, exports, __webpack_require__) {
8529
+
8530
+ // 20.2.2.17 Math.hypot([value1[, value2[, … ]]])
8531
+ var $export = __webpack_require__(0);
8532
+ var abs = Math.abs;
8533
+
8534
+ $export($export.S, 'Math', {
8535
+ hypot: function hypot(value1, value2) { // eslint-disable-line no-unused-vars
8536
+ var sum = 0;
8537
+ var i = 0;
8538
+ var aLen = arguments.length;
8539
+ var larg = 0;
8540
+ var arg, div;
8541
+ while (i < aLen) {
8542
+ arg = abs(arguments[i++]);
8543
+ if (larg < arg) {
8544
+ div = larg / arg;
8545
+ sum = sum * div * div + 1;
8546
+ larg = arg;
8547
+ } else if (arg > 0) {
8548
+ div = arg / larg;
8549
+ sum += div * div;
8550
+ } else sum += arg;
8551
+ }
8552
+ return larg === Infinity ? Infinity : larg * Math.sqrt(sum);
8553
+ }
8554
+ });
8555
+
8556
+
8557
+ /***/ }),
8558
+ /* 257 */
8559
+ /***/ (function(module, exports, __webpack_require__) {
8560
+
8561
+ // 20.2.2.18 Math.imul(x, y)
8562
+ var $export = __webpack_require__(0);
8563
+ var $imul = Math.imul;
8564
+
8565
+ // some WebKit versions fails with big numbers, some has wrong arity
8566
+ $export($export.S + $export.F * __webpack_require__(3)(function () {
8567
+ return $imul(0xffffffff, 5) != -5 || $imul.length != 2;
8568
+ }), 'Math', {
8569
+ imul: function imul(x, y) {
8570
+ var UINT16 = 0xffff;
8571
+ var xn = +x;
8572
+ var yn = +y;
8573
+ var xl = UINT16 & xn;
8574
+ var yl = UINT16 & yn;
8575
+ return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);
8576
+ }
8577
+ });
8578
+
8579
+
8580
+ /***/ }),
8581
+ /* 258 */
8582
+ /***/ (function(module, exports, __webpack_require__) {
8583
+
8584
+ // 20.2.2.21 Math.log10(x)
8585
+ var $export = __webpack_require__(0);
8586
+
8587
+ $export($export.S, 'Math', {
8588
+ log10: function log10(x) {
8589
+ return Math.log(x) * Math.LOG10E;
8590
+ }
8591
+ });
8592
+
8593
+
8594
+ /***/ }),
8595
+ /* 259 */
8596
+ /***/ (function(module, exports, __webpack_require__) {
8597
+
8598
+ // 20.2.2.20 Math.log1p(x)
8599
+ var $export = __webpack_require__(0);
8600
+
8601
+ $export($export.S, 'Math', { log1p: __webpack_require__(149) });
8602
+
8603
+
8604
+ /***/ }),
8605
+ /* 260 */
8606
+ /***/ (function(module, exports, __webpack_require__) {
8607
+
8608
+ // 20.2.2.22 Math.log2(x)
8609
+ var $export = __webpack_require__(0);
8610
+
8611
+ $export($export.S, 'Math', {
8612
+ log2: function log2(x) {
8613
+ return Math.log(x) / Math.LN2;
8614
+ }
8615
+ });
8616
+
8617
+
8618
+ /***/ }),
8619
+ /* 261 */
8620
+ /***/ (function(module, exports, __webpack_require__) {
8621
+
8622
+ // 20.2.2.28 Math.sign(x)
8623
+ var $export = __webpack_require__(0);
8624
+
8625
+ $export($export.S, 'Math', { sign: __webpack_require__(100) });
8626
+
8627
+
8628
+ /***/ }),
8629
+ /* 262 */
8630
+ /***/ (function(module, exports, __webpack_require__) {
8631
+
8632
+ // 20.2.2.30 Math.sinh(x)
8633
+ var $export = __webpack_require__(0);
8634
+ var expm1 = __webpack_require__(101);
8635
+ var exp = Math.exp;
8636
+
8637
+ // V8 near Chromium 38 has a problem with very small numbers
8638
+ $export($export.S + $export.F * __webpack_require__(3)(function () {
8639
+ return !Math.sinh(-2e-17) != -2e-17;
8640
+ }), 'Math', {
8641
+ sinh: function sinh(x) {
8642
+ return Math.abs(x = +x) < 1
8643
+ ? (expm1(x) - expm1(-x)) / 2
8644
+ : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2);
8645
+ }
8646
+ });
8647
+
8648
+
8649
+ /***/ }),
8650
+ /* 263 */
8651
+ /***/ (function(module, exports, __webpack_require__) {
8652
+
8653
+ // 20.2.2.33 Math.tanh(x)
8654
+ var $export = __webpack_require__(0);
8655
+ var expm1 = __webpack_require__(101);
8656
+ var exp = Math.exp;
8657
+
8658
+ $export($export.S, 'Math', {
8659
+ tanh: function tanh(x) {
8660
+ var a = expm1(x = +x);
8661
+ var b = expm1(-x);
8662
+ return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));
8663
+ }
8664
+ });
8665
+
8666
+
8667
+ /***/ }),
8668
+ /* 264 */
8669
+ /***/ (function(module, exports, __webpack_require__) {
8670
+
8671
+ // 20.2.2.34 Math.trunc(x)
8672
+ var $export = __webpack_require__(0);
8673
+
8674
+ $export($export.S, 'Math', {
8675
+ trunc: function trunc(it) {
8676
+ return (it > 0 ? Math.floor : Math.ceil)(it);
8677
+ }
8678
+ });
8679
+
8680
+
8681
+ /***/ }),
8682
+ /* 265 */
8683
+ /***/ (function(module, exports, __webpack_require__) {
8684
+
8685
+ var $export = __webpack_require__(0);
8686
+ var toAbsoluteIndex = __webpack_require__(47);
8687
+ var fromCharCode = String.fromCharCode;
8688
+ var $fromCodePoint = String.fromCodePoint;
8689
+
8690
+ // length should be 1, old FF problem
8691
+ $export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {
8692
+ // 21.1.2.2 String.fromCodePoint(...codePoints)
8693
+ fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars
8694
+ var res = [];
8695
+ var aLen = arguments.length;
8696
+ var i = 0;
8697
+ var code;
8698
+ while (aLen > i) {
8699
+ code = +arguments[i++];
8700
+ if (toAbsoluteIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point');
8701
+ res.push(code < 0x10000
8702
+ ? fromCharCode(code)
8703
+ : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)
8704
+ );
8705
+ } return res.join('');
8706
+ }
8707
+ });
8708
+
8709
+
8710
+ /***/ }),
8711
+ /* 266 */
8712
+ /***/ (function(module, exports, __webpack_require__) {
8713
+
8714
+ var $export = __webpack_require__(0);
8715
+ var toIObject = __webpack_require__(24);
8716
+ var toLength = __webpack_require__(9);
8717
+
8718
+ $export($export.S, 'String', {
8719
+ // 21.1.2.4 String.raw(callSite, ...substitutions)
8720
+ raw: function raw(callSite) {
8721
+ var tpl = toIObject(callSite.raw);
8722
+ var len = toLength(tpl.length);
8723
+ var aLen = arguments.length;
8724
+ var res = [];
8725
+ var i = 0;
8726
+ while (len > i) {
8727
+ res.push(String(tpl[i++]));
8728
+ if (i < aLen) res.push(String(arguments[i]));
8729
+ } return res.join('');
8730
+ }
8731
+ });
8732
+
8733
+
8734
+ /***/ }),
8735
+ /* 267 */
8736
+ /***/ (function(module, exports, __webpack_require__) {
8737
+
8738
+ "use strict";
8739
+
8740
+ // 21.1.3.25 String.prototype.trim()
8741
+ __webpack_require__(59)('trim', function ($trim) {
8742
+ return function trim() {
8743
+ return $trim(this, 3);
8744
+ };
8745
+ });
8746
+
8747
+
8748
+ /***/ }),
8749
+ /* 268 */
8750
+ /***/ (function(module, exports, __webpack_require__) {
8751
+
8752
+ "use strict";
8753
+
8754
+ var $at = __webpack_require__(102)(true);
8755
+
8756
+ // 21.1.3.27 String.prototype[@@iterator]()
8757
+ __webpack_require__(103)(String, 'String', function (iterated) {
8758
+ this._t = String(iterated); // target
8759
+ this._i = 0; // next index
8760
+ // 21.1.5.2.1 %StringIteratorPrototype%.next()
8761
+ }, function () {
8762
+ var O = this._t;
8763
+ var index = this._i;
8764
+ var point;
8765
+ if (index >= O.length) return { value: undefined, done: true };
8766
+ point = $at(O, index);
8767
+ this._i += point.length;
8768
+ return { value: point, done: false };
8769
+ });
8770
+
8771
+
8772
+ /***/ }),
8773
+ /* 269 */
8774
+ /***/ (function(module, exports, __webpack_require__) {
8775
+
8776
+ "use strict";
8777
+
8778
+ var $export = __webpack_require__(0);
8779
+ var $at = __webpack_require__(102)(false);
8780
+ $export($export.P, 'String', {
8781
+ // 21.1.3.3 String.prototype.codePointAt(pos)
8782
+ codePointAt: function codePointAt(pos) {
8783
+ return $at(this, pos);
8784
+ }
8785
+ });
8786
+
8787
+
8788
+ /***/ }),
8789
+ /* 270 */
8790
+ /***/ (function(module, exports, __webpack_require__) {
8791
+
8792
+ "use strict";
8793
+ // 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])
8794
+
8795
+ var $export = __webpack_require__(0);
8796
+ var toLength = __webpack_require__(9);
8797
+ var context = __webpack_require__(105);
8798
+ var ENDS_WITH = 'endsWith';
8799
+ var $endsWith = ''[ENDS_WITH];
8800
+
8801
+ $export($export.P + $export.F * __webpack_require__(106)(ENDS_WITH), 'String', {
8802
+ endsWith: function endsWith(searchString /* , endPosition = @length */) {
8803
+ var that = context(this, searchString, ENDS_WITH);
8804
+ var endPosition = arguments.length > 1 ? arguments[1] : undefined;
8805
+ var len = toLength(that.length);
8806
+ var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len);
8807
+ var search = String(searchString);
8808
+ return $endsWith
8809
+ ? $endsWith.call(that, search, end)
8810
+ : that.slice(end - search.length, end) === search;
8811
+ }
8812
+ });
8813
+
8814
+
8815
+ /***/ }),
8816
+ /* 271 */
8817
+ /***/ (function(module, exports, __webpack_require__) {
8818
+
8819
+ "use strict";
8820
+ // 21.1.3.7 String.prototype.includes(searchString, position = 0)
8821
+
8822
+ var $export = __webpack_require__(0);
8823
+ var context = __webpack_require__(105);
8824
+ var INCLUDES = 'includes';
8825
+
8826
+ $export($export.P + $export.F * __webpack_require__(106)(INCLUDES), 'String', {
8827
+ includes: function includes(searchString /* , position = 0 */) {
8828
+ return !!~context(this, searchString, INCLUDES)
8829
+ .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);
8830
+ }
8831
+ });
8832
+
8833
+
8834
+ /***/ }),
8835
+ /* 272 */
8836
+ /***/ (function(module, exports, __webpack_require__) {
8837
+
8838
+ var $export = __webpack_require__(0);
8839
+
8840
+ $export($export.P, 'String', {
8841
+ // 21.1.3.13 String.prototype.repeat(count)
8842
+ repeat: __webpack_require__(99)
8843
+ });
8844
+
8845
+
8846
+ /***/ }),
8847
+ /* 273 */
8848
+ /***/ (function(module, exports, __webpack_require__) {
8849
+
8850
+ "use strict";
8851
+ // 21.1.3.18 String.prototype.startsWith(searchString [, position ])
8852
+
8853
+ var $export = __webpack_require__(0);
8854
+ var toLength = __webpack_require__(9);
8855
+ var context = __webpack_require__(105);
8856
+ var STARTS_WITH = 'startsWith';
8857
+ var $startsWith = ''[STARTS_WITH];
8858
+
8859
+ $export($export.P + $export.F * __webpack_require__(106)(STARTS_WITH), 'String', {
8860
+ startsWith: function startsWith(searchString /* , position = 0 */) {
8861
+ var that = context(this, searchString, STARTS_WITH);
8862
+ var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length));
8863
+ var search = String(searchString);
8864
+ return $startsWith
8865
+ ? $startsWith.call(that, search, index)
8866
+ : that.slice(index, index + search.length) === search;
8867
+ }
8868
+ });
8869
+
8870
+
8871
+ /***/ }),
8872
+ /* 274 */
8873
+ /***/ (function(module, exports, __webpack_require__) {
8874
+
8875
+ "use strict";
8876
+
8877
+ // B.2.3.2 String.prototype.anchor(name)
8878
+ __webpack_require__(22)('anchor', function (createHTML) {
8879
+ return function anchor(name) {
8880
+ return createHTML(this, 'a', 'name', name);
8881
+ };
8882
+ });
8883
+
8884
+
8885
+ /***/ }),
8886
+ /* 275 */
8887
+ /***/ (function(module, exports, __webpack_require__) {
8888
+
8889
+ "use strict";
8890
+
8891
+ // B.2.3.3 String.prototype.big()
8892
+ __webpack_require__(22)('big', function (createHTML) {
8893
+ return function big() {
8894
+ return createHTML(this, 'big', '', '');
8895
+ };
8896
+ });
8897
+
8898
+
8899
+ /***/ }),
8900
+ /* 276 */
8901
+ /***/ (function(module, exports, __webpack_require__) {
8902
+
8903
+ "use strict";
8904
+
8905
+ // B.2.3.4 String.prototype.blink()
8906
+ __webpack_require__(22)('blink', function (createHTML) {
8907
+ return function blink() {
8908
+ return createHTML(this, 'blink', '', '');
8909
+ };
8910
+ });
8911
+
8912
+
8913
+ /***/ }),
8914
+ /* 277 */
8915
+ /***/ (function(module, exports, __webpack_require__) {
8916
+
8917
+ "use strict";
8918
+
8919
+ // B.2.3.5 String.prototype.bold()
8920
+ __webpack_require__(22)('bold', function (createHTML) {
8921
+ return function bold() {
8922
+ return createHTML(this, 'b', '', '');
8923
+ };
8924
+ });
8925
+
8926
+
8927
+ /***/ }),
8928
+ /* 278 */
8929
+ /***/ (function(module, exports, __webpack_require__) {
8930
+
8931
+ "use strict";
8932
+
8933
+ // B.2.3.6 String.prototype.fixed()
8934
+ __webpack_require__(22)('fixed', function (createHTML) {
8935
+ return function fixed() {
8936
+ return createHTML(this, 'tt', '', '');
8937
+ };
8938
+ });
8939
+
8940
+
8941
+ /***/ }),
8942
+ /* 279 */
8943
+ /***/ (function(module, exports, __webpack_require__) {
8944
+
8945
+ "use strict";
8946
+
8947
+ // B.2.3.7 String.prototype.fontcolor(color)
8948
+ __webpack_require__(22)('fontcolor', function (createHTML) {
8949
+ return function fontcolor(color) {
8950
+ return createHTML(this, 'font', 'color', color);
8951
+ };
8952
+ });
8953
+
8954
+
8955
+ /***/ }),
8956
+ /* 280 */
8957
+ /***/ (function(module, exports, __webpack_require__) {
8958
+
8959
+ "use strict";
8960
+
8961
+ // B.2.3.8 String.prototype.fontsize(size)
8962
+ __webpack_require__(22)('fontsize', function (createHTML) {
8963
+ return function fontsize(size) {
8964
+ return createHTML(this, 'font', 'size', size);
8965
+ };
8966
+ });
8967
+
8968
+
8969
+ /***/ }),
8970
+ /* 281 */
8971
+ /***/ (function(module, exports, __webpack_require__) {
8972
+
8973
+ "use strict";
8974
+
8975
+ // B.2.3.9 String.prototype.italics()
8976
+ __webpack_require__(22)('italics', function (createHTML) {
8977
+ return function italics() {
8978
+ return createHTML(this, 'i', '', '');
8979
+ };
8980
+ });
8981
+
8982
+
8983
+ /***/ }),
8984
+ /* 282 */
8985
+ /***/ (function(module, exports, __webpack_require__) {
8986
+
8987
+ "use strict";
8988
+
8989
+ // B.2.3.10 String.prototype.link(url)
8990
+ __webpack_require__(22)('link', function (createHTML) {
8991
+ return function link(url) {
8992
+ return createHTML(this, 'a', 'href', url);
8993
+ };
8994
+ });
8995
+
8996
+
8997
+ /***/ }),
8998
+ /* 283 */
8999
+ /***/ (function(module, exports, __webpack_require__) {
9000
+
9001
+ "use strict";
9002
+
9003
+ // B.2.3.11 String.prototype.small()
9004
+ __webpack_require__(22)('small', function (createHTML) {
9005
+ return function small() {
9006
+ return createHTML(this, 'small', '', '');
9007
+ };
9008
+ });
9009
+
9010
+
9011
+ /***/ }),
9012
+ /* 284 */
9013
+ /***/ (function(module, exports, __webpack_require__) {
9014
+
9015
+ "use strict";
9016
+
9017
+ // B.2.3.12 String.prototype.strike()
9018
+ __webpack_require__(22)('strike', function (createHTML) {
9019
+ return function strike() {
9020
+ return createHTML(this, 'strike', '', '');
9021
+ };
9022
+ });
9023
+
9024
+
9025
+ /***/ }),
9026
+ /* 285 */
9027
+ /***/ (function(module, exports, __webpack_require__) {
9028
+
9029
+ "use strict";
9030
+
9031
+ // B.2.3.13 String.prototype.sub()
9032
+ __webpack_require__(22)('sub', function (createHTML) {
9033
+ return function sub() {
9034
+ return createHTML(this, 'sub', '', '');
9035
+ };
9036
+ });
9037
+
9038
+
9039
+ /***/ }),
9040
+ /* 286 */
9041
+ /***/ (function(module, exports, __webpack_require__) {
9042
+
9043
+ "use strict";
9044
+
9045
+ // B.2.3.14 String.prototype.sup()
9046
+ __webpack_require__(22)('sup', function (createHTML) {
9047
+ return function sup() {
9048
+ return createHTML(this, 'sup', '', '');
9049
+ };
9050
+ });
9051
+
9052
+
9053
+ /***/ }),
9054
+ /* 287 */
9055
+ /***/ (function(module, exports, __webpack_require__) {
9056
+
9057
+ // 20.3.3.1 / 15.9.4.4 Date.now()
9058
+ var $export = __webpack_require__(0);
9059
+
9060
+ $export($export.S, 'Date', { now: function () { return new Date().getTime(); } });
9061
+
9062
+
9063
+ /***/ }),
9064
+ /* 288 */
9065
+ /***/ (function(module, exports, __webpack_require__) {
9066
+
9067
+ "use strict";
9068
+
9069
+ var $export = __webpack_require__(0);
9070
+ var toObject = __webpack_require__(17);
9071
+ var toPrimitive = __webpack_require__(32);
9072
+
9073
+ $export($export.P + $export.F * __webpack_require__(3)(function () {
9074
+ return new Date(NaN).toJSON() !== null
9075
+ || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1;
9076
+ }), 'Date', {
9077
+ // eslint-disable-next-line no-unused-vars
9078
+ toJSON: function toJSON(key) {
9079
+ var O = toObject(this);
9080
+ var pv = toPrimitive(O);
9081
+ return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString();
9082
+ }
9083
+ });
9084
+
9085
+
9086
+ /***/ }),
9087
+ /* 289 */
9088
+ /***/ (function(module, exports, __webpack_require__) {
9089
+
9090
+ // 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()
9091
+ var $export = __webpack_require__(0);
9092
+ var toISOString = __webpack_require__(290);
9093
+
9094
+ // PhantomJS / old WebKit has a broken implementations
9095
+ $export($export.P + $export.F * (Date.prototype.toISOString !== toISOString), 'Date', {
9096
+ toISOString: toISOString
9097
+ });
9098
+
9099
+
9100
+ /***/ }),
9101
+ /* 290 */
9102
+ /***/ (function(module, exports, __webpack_require__) {
9103
+
9104
+ "use strict";
9105
+
9106
+ // 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()
9107
+ var fails = __webpack_require__(3);
9108
+ var getTime = Date.prototype.getTime;
9109
+ var $toISOString = Date.prototype.toISOString;
9110
+
9111
+ var lz = function (num) {
9112
+ return num > 9 ? num : '0' + num;
9113
+ };
9114
+
9115
+ // PhantomJS / old WebKit has a broken implementations
9116
+ module.exports = (fails(function () {
9117
+ return $toISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z';
9118
+ }) || !fails(function () {
9119
+ $toISOString.call(new Date(NaN));
9120
+ })) ? function toISOString() {
9121
+ if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value');
9122
+ var d = this;
9123
+ var y = d.getUTCFullYear();
9124
+ var m = d.getUTCMilliseconds();
9125
+ var s = y < 0 ? '-' : y > 9999 ? '+' : '';
9126
+ return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) +
9127
+ '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) +
9128
+ 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) +
9129
+ ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z';
9130
+ } : $toISOString;
9131
+
9132
+
9133
+ /***/ }),
9134
+ /* 291 */
9135
+ /***/ (function(module, exports, __webpack_require__) {
9136
+
9137
+ var DateProto = Date.prototype;
9138
+ var INVALID_DATE = 'Invalid Date';
9139
+ var TO_STRING = 'toString';
9140
+ var $toString = DateProto[TO_STRING];
9141
+ var getTime = DateProto.getTime;
9142
+ if (new Date(NaN) + '' != INVALID_DATE) {
9143
+ __webpack_require__(21)(DateProto, TO_STRING, function toString() {
9144
+ var value = getTime.call(this);
9145
+ // eslint-disable-next-line no-self-compare
9146
+ return value === value ? $toString.call(this) : INVALID_DATE;
9147
+ });
9148
+ }
9149
+
9150
+
9151
+ /***/ }),
9152
+ /* 292 */
9153
+ /***/ (function(module, exports, __webpack_require__) {
9154
+
9155
+ var TO_PRIMITIVE = __webpack_require__(5)('toPrimitive');
9156
+ var proto = Date.prototype;
9157
+
9158
+ if (!(TO_PRIMITIVE in proto)) __webpack_require__(20)(proto, TO_PRIMITIVE, __webpack_require__(293));
9159
+
9160
+
9161
+ /***/ }),
9162
+ /* 293 */
9163
+ /***/ (function(module, exports, __webpack_require__) {
9164
+
9165
+ "use strict";
9166
+
9167
+ var anObject = __webpack_require__(1);
9168
+ var toPrimitive = __webpack_require__(32);
9169
+ var NUMBER = 'number';
9170
+
9171
+ module.exports = function (hint) {
9172
+ if (hint !== 'string' && hint !== NUMBER && hint !== 'default') throw TypeError('Incorrect hint');
9173
+ return toPrimitive(anObject(this), hint != NUMBER);
9174
+ };
9175
+
9176
+
9177
+ /***/ }),
9178
+ /* 294 */
9179
+ /***/ (function(module, exports, __webpack_require__) {
9180
+
9181
+ // 22.1.2.2 / 15.4.3.2 Array.isArray(arg)
9182
+ var $export = __webpack_require__(0);
9183
+
9184
+ $export($export.S, 'Array', { isArray: __webpack_require__(75) });
9185
+
9186
+
9187
+ /***/ }),
9188
+ /* 295 */
9189
+ /***/ (function(module, exports, __webpack_require__) {
9190
+
9191
+ "use strict";
9192
+
9193
+ var ctx = __webpack_require__(29);
9194
+ var $export = __webpack_require__(0);
9195
+ var toObject = __webpack_require__(17);
9196
+ var call = __webpack_require__(151);
9197
+ var isArrayIter = __webpack_require__(107);
9198
+ var toLength = __webpack_require__(9);
9199
+ var createProperty = __webpack_require__(108);
9200
+ var getIterFn = __webpack_require__(109);
9201
+
9202
+ $export($export.S + $export.F * !__webpack_require__(77)(function (iter) { Array.from(iter); }), 'Array', {
9203
+ // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)
9204
+ from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {
9205
+ var O = toObject(arrayLike);
9206
+ var C = typeof this == 'function' ? this : Array;
9207
+ var aLen = arguments.length;
9208
+ var mapfn = aLen > 1 ? arguments[1] : undefined;
9209
+ var mapping = mapfn !== undefined;
9210
+ var index = 0;
9211
+ var iterFn = getIterFn(O);
9212
+ var length, result, step, iterator;
9213
+ if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);
9214
+ // if object isn't iterable or it's array with default iterator - use simple case
9215
+ if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {
9216
+ for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {
9217
+ createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);
9218
+ }
9219
+ } else {
9220
+ length = toLength(O.length);
9221
+ for (result = new C(length); length > index; index++) {
9222
+ createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);
9223
+ }
9224
  }
9225
+ result.length = index;
9226
+ return result;
9227
+ }
9228
+ });
9229
+
9230
+
9231
+ /***/ }),
9232
+ /* 296 */
9233
+ /***/ (function(module, exports, __webpack_require__) {
9234
+
9235
+ "use strict";
9236
+
9237
+ var $export = __webpack_require__(0);
9238
+ var createProperty = __webpack_require__(108);
9239
+
9240
+ // WebKit Array.of isn't generic
9241
+ $export($export.S + $export.F * __webpack_require__(3)(function () {
9242
+ function F() { /* empty */ }
9243
+ return !(Array.of.call(F) instanceof F);
9244
+ }), 'Array', {
9245
+ // 22.1.2.3 Array.of( ...items)
9246
+ of: function of(/* ...args */) {
9247
+ var index = 0;
9248
+ var aLen = arguments.length;
9249
+ var result = new (typeof this == 'function' ? this : Array)(aLen);
9250
+ while (aLen > index) createProperty(result, index, arguments[index++]);
9251
+ result.length = aLen;
9252
+ return result;
9253
+ }
9254
+ });
9255
+
9256
+
9257
+ /***/ }),
9258
+ /* 297 */
9259
+ /***/ (function(module, exports, __webpack_require__) {
9260
+
9261
+ "use strict";
9262
+
9263
+ // 22.1.3.13 Array.prototype.join(separator)
9264
+ var $export = __webpack_require__(0);
9265
+ var toIObject = __webpack_require__(24);
9266
+ var arrayJoin = [].join;
9267
+
9268
+ // fallback for not array-like strings
9269
+ $export($export.P + $export.F * (__webpack_require__(67) != Object || !__webpack_require__(31)(arrayJoin)), 'Array', {
9270
+ join: function join(separator) {
9271
+ return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator);
9272
+ }
9273
+ });
9274
+
9275
+
9276
+ /***/ }),
9277
+ /* 298 */
9278
+ /***/ (function(module, exports, __webpack_require__) {
9279
+
9280
+ "use strict";
9281
+
9282
+ var $export = __webpack_require__(0);
9283
+ var html = __webpack_require__(95);
9284
+ var cof = __webpack_require__(30);
9285
+ var toAbsoluteIndex = __webpack_require__(47);
9286
+ var toLength = __webpack_require__(9);
9287
+ var arraySlice = [].slice;
9288
+
9289
+ // fallback for not array-like ES3 strings and DOM objects
9290
+ $export($export.P + $export.F * __webpack_require__(3)(function () {
9291
+ if (html) arraySlice.call(html);
9292
+ }), 'Array', {
9293
+ slice: function slice(begin, end) {
9294
+ var len = toLength(this.length);
9295
+ var klass = cof(this);
9296
+ end = end === undefined ? len : end;
9297
+ if (klass == 'Array') return arraySlice.call(this, begin, end);
9298
+ var start = toAbsoluteIndex(begin, len);
9299
+ var upTo = toAbsoluteIndex(end, len);
9300
+ var size = toLength(upTo - start);
9301
+ var cloned = new Array(size);
9302
+ var i = 0;
9303
+ for (; i < size; i++) cloned[i] = klass == 'String'
9304
+ ? this.charAt(start + i)
9305
+ : this[start + i];
9306
+ return cloned;
9307
+ }
9308
+ });
9309
+
9310
+
9311
+ /***/ }),
9312
+ /* 299 */
9313
+ /***/ (function(module, exports, __webpack_require__) {
9314
+
9315
+ "use strict";
9316
+
9317
+ var $export = __webpack_require__(0);
9318
+ var aFunction = __webpack_require__(19);
9319
+ var toObject = __webpack_require__(17);
9320
+ var fails = __webpack_require__(3);
9321
+ var $sort = [].sort;
9322
+ var test = [1, 2, 3];
9323
+
9324
+ $export($export.P + $export.F * (fails(function () {
9325
+ // IE8-
9326
+ test.sort(undefined);
9327
+ }) || !fails(function () {
9328
+ // V8 bug
9329
+ test.sort(null);
9330
+ // Old WebKit
9331
+ }) || !__webpack_require__(31)($sort)), 'Array', {
9332
+ // 22.1.3.25 Array.prototype.sort(comparefn)
9333
+ sort: function sort(comparefn) {
9334
+ return comparefn === undefined
9335
+ ? $sort.call(toObject(this))
9336
+ : $sort.call(toObject(this), aFunction(comparefn));
9337
+ }
9338
+ });
9339
+
9340
+
9341
+ /***/ }),
9342
+ /* 300 */
9343
+ /***/ (function(module, exports, __webpack_require__) {
9344
+
9345
+ "use strict";
9346
+
9347
+ var $export = __webpack_require__(0);
9348
+ var $forEach = __webpack_require__(36)(0);
9349
+ var STRICT = __webpack_require__(31)([].forEach, true);
9350
+
9351
+ $export($export.P + $export.F * !STRICT, 'Array', {
9352
+ // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])
9353
+ forEach: function forEach(callbackfn /* , thisArg */) {
9354
+ return $forEach(this, callbackfn, arguments[1]);
9355
+ }
9356
+ });
9357
+
9358
+
9359
+ /***/ }),
9360
+ /* 301 */
9361
+ /***/ (function(module, exports, __webpack_require__) {
9362
+
9363
+ var isObject = __webpack_require__(4);
9364
+ var isArray = __webpack_require__(75);
9365
+ var SPECIES = __webpack_require__(5)('species');
9366
+
9367
+ module.exports = function (original) {
9368
+ var C;
9369
+ if (isArray(original)) {
9370
+ C = original.constructor;
9371
+ // cross-realm fallback
9372
+ if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
9373
+ if (isObject(C)) {
9374
+ C = C[SPECIES];
9375
+ if (C === null) C = undefined;
9376
  }
9377
+ } return C === undefined ? Array : C;
9378
+ };
9379
+
9380
+
9381
+ /***/ }),
9382
+ /* 302 */
9383
+ /***/ (function(module, exports, __webpack_require__) {
9384
+
9385
+ "use strict";
9386
+
9387
+ var $export = __webpack_require__(0);
9388
+ var $map = __webpack_require__(36)(1);
9389
+
9390
+ $export($export.P + $export.F * !__webpack_require__(31)([].map, true), 'Array', {
9391
+ // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])
9392
+ map: function map(callbackfn /* , thisArg */) {
9393
+ return $map(this, callbackfn, arguments[1]);
9394
+ }
9395
+ });
9396
+
9397
+
9398
+ /***/ }),
9399
+ /* 303 */
9400
+ /***/ (function(module, exports, __webpack_require__) {
9401
+
9402
+ "use strict";
9403
+
9404
+ var $export = __webpack_require__(0);
9405
+ var $filter = __webpack_require__(36)(2);
9406
+
9407
+ $export($export.P + $export.F * !__webpack_require__(31)([].filter, true), 'Array', {
9408
+ // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])
9409
+ filter: function filter(callbackfn /* , thisArg */) {
9410
+ return $filter(this, callbackfn, arguments[1]);
9411
+ }
9412
+ });
9413
+
9414
+
9415
+ /***/ }),
9416
+ /* 304 */
9417
+ /***/ (function(module, exports, __webpack_require__) {
9418
+
9419
+ "use strict";
9420
+
9421
+ var $export = __webpack_require__(0);
9422
+ var $some = __webpack_require__(36)(3);
9423
+
9424
+ $export($export.P + $export.F * !__webpack_require__(31)([].some, true), 'Array', {
9425
+ // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg])
9426
+ some: function some(callbackfn /* , thisArg */) {
9427
+ return $some(this, callbackfn, arguments[1]);
9428
+ }
9429
+ });
9430
+
9431
+
9432
+ /***/ }),
9433
+ /* 305 */
9434
+ /***/ (function(module, exports, __webpack_require__) {
9435
+
9436
+ "use strict";
9437
+
9438
+ var $export = __webpack_require__(0);
9439
+ var $every = __webpack_require__(36)(4);
9440
+
9441
+ $export($export.P + $export.F * !__webpack_require__(31)([].every, true), 'Array', {
9442
+ // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])
9443
+ every: function every(callbackfn /* , thisArg */) {
9444
+ return $every(this, callbackfn, arguments[1]);
9445
+ }
9446
+ });
9447
+
9448
+
9449
+ /***/ }),
9450
+ /* 306 */
9451
+ /***/ (function(module, exports, __webpack_require__) {
9452
+
9453
+ "use strict";
9454
+
9455
+ var $export = __webpack_require__(0);
9456
+ var $reduce = __webpack_require__(152);
9457
+
9458
+ $export($export.P + $export.F * !__webpack_require__(31)([].reduce, true), 'Array', {
9459
+ // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue])
9460
+ reduce: function reduce(callbackfn /* , initialValue */) {
9461
+ return $reduce(this, callbackfn, arguments.length, arguments[1], false);
9462
+ }
9463
+ });
9464
+
9465
+
9466
+ /***/ }),
9467
+ /* 307 */
9468
+ /***/ (function(module, exports, __webpack_require__) {
9469
+
9470
+ "use strict";
9471
+
9472
+ var $export = __webpack_require__(0);
9473
+ var $reduce = __webpack_require__(152);
9474
+
9475
+ $export($export.P + $export.F * !__webpack_require__(31)([].reduceRight, true), 'Array', {
9476
+ // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue])
9477
+ reduceRight: function reduceRight(callbackfn /* , initialValue */) {
9478
+ return $reduce(this, callbackfn, arguments.length, arguments[1], true);
9479
+ }
9480
+ });
9481
+
9482
+
9483
+ /***/ }),
9484
+ /* 308 */
9485
+ /***/ (function(module, exports, __webpack_require__) {
9486
+
9487
+ "use strict";
9488
+
9489
+ var $export = __webpack_require__(0);
9490
+ var $indexOf = __webpack_require__(73)(false);
9491
+ var $native = [].indexOf;
9492
+ var NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0;
9493
+
9494
+ $export($export.P + $export.F * (NEGATIVE_ZERO || !__webpack_require__(31)($native)), 'Array', {
9495
+ // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])
9496
+ indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {
9497
+ return NEGATIVE_ZERO
9498
+ // convert -0 to +0
9499
+ ? $native.apply(this, arguments) || 0
9500
+ : $indexOf(this, searchElement, arguments[1]);
9501
+ }
9502
+ });
9503
+
9504
+
9505
+ /***/ }),
9506
+ /* 309 */
9507
+ /***/ (function(module, exports, __webpack_require__) {
9508
+
9509
+ "use strict";
9510
+
9511
+ var $export = __webpack_require__(0);
9512
+ var toIObject = __webpack_require__(24);
9513
+ var toInteger = __webpack_require__(34);
9514
+ var toLength = __webpack_require__(9);
9515
+ var $native = [].lastIndexOf;
9516
+ var NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0;
9517
+
9518
+ $export($export.P + $export.F * (NEGATIVE_ZERO || !__webpack_require__(31)($native)), 'Array', {
9519
+ // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex])
9520
+ lastIndexOf: function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {
9521
+ // convert -0 to +0
9522
+ if (NEGATIVE_ZERO) return $native.apply(this, arguments) || 0;
9523
+ var O = toIObject(this);
9524
+ var length = toLength(O.length);
9525
+ var index = length - 1;
9526
+ if (arguments.length > 1) index = Math.min(index, toInteger(arguments[1]));
9527
+ if (index < 0) index = length + index;
9528
+ for (;index >= 0; index--) if (index in O) if (O[index] === searchElement) return index || 0;
9529
+ return -1;
9530
+ }
9531
+ });
9532
+
9533
+
9534
+ /***/ }),
9535
+ /* 310 */
9536
+ /***/ (function(module, exports, __webpack_require__) {
9537
+
9538
+ // 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)
9539
+ var $export = __webpack_require__(0);
9540
+
9541
+ $export($export.P, 'Array', { copyWithin: __webpack_require__(153) });
9542
+
9543
+ __webpack_require__(42)('copyWithin');
9544
+
9545
+
9546
+ /***/ }),
9547
+ /* 311 */
9548
+ /***/ (function(module, exports, __webpack_require__) {
9549
+
9550
+ // 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)
9551
+ var $export = __webpack_require__(0);
9552
+
9553
+ $export($export.P, 'Array', { fill: __webpack_require__(111) });
9554
+
9555
+ __webpack_require__(42)('fill');
9556
+
9557
+
9558
+ /***/ }),
9559
+ /* 312 */
9560
+ /***/ (function(module, exports, __webpack_require__) {
9561
+
9562
+ "use strict";
9563
+
9564
+ // 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)
9565
+ var $export = __webpack_require__(0);
9566
+ var $find = __webpack_require__(36)(5);
9567
+ var KEY = 'find';
9568
+ var forced = true;
9569
+ // Shouldn't skip holes
9570
+ if (KEY in []) Array(1)[KEY](function () { forced = false; });
9571
+ $export($export.P + $export.F * forced, 'Array', {
9572
+ find: function find(callbackfn /* , that = undefined */) {
9573
+ return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
9574
+ }
9575
+ });
9576
+ __webpack_require__(42)(KEY);
9577
+
9578
+
9579
+ /***/ }),
9580
+ /* 313 */
9581
+ /***/ (function(module, exports, __webpack_require__) {
9582
+
9583
+ "use strict";
9584
+
9585
+ // 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)
9586
+ var $export = __webpack_require__(0);
9587
+ var $find = __webpack_require__(36)(6);
9588
+ var KEY = 'findIndex';
9589
+ var forced = true;
9590
+ // Shouldn't skip holes
9591
+ if (KEY in []) Array(1)[KEY](function () { forced = false; });
9592
+ $export($export.P + $export.F * forced, 'Array', {
9593
+ findIndex: function findIndex(callbackfn /* , that = undefined */) {
9594
+ return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
9595
+ }
9596
+ });
9597
+ __webpack_require__(42)(KEY);
9598
+
9599
+
9600
+ /***/ }),
9601
+ /* 314 */
9602
+ /***/ (function(module, exports, __webpack_require__) {
9603
+
9604
+ __webpack_require__(50)('Array');
9605
+
9606
+
9607
+ /***/ }),
9608
+ /* 315 */
9609
+ /***/ (function(module, exports, __webpack_require__) {
9610
+
9611
+ var global = __webpack_require__(2);
9612
+ var inheritIfRequired = __webpack_require__(98);
9613
+ var dP = __webpack_require__(8).f;
9614
+ var gOPN = __webpack_require__(49).f;
9615
+ var isRegExp = __webpack_require__(76);
9616
+ var $flags = __webpack_require__(78);
9617
+ var $RegExp = global.RegExp;
9618
+ var Base = $RegExp;
9619
+ var proto = $RegExp.prototype;
9620
+ var re1 = /a/g;
9621
+ var re2 = /a/g;
9622
+ // "new" creates a new object, old webkit buggy here
9623
+ var CORRECT_NEW = new $RegExp(re1) !== re1;
9624
+
9625
+ if (__webpack_require__(7) && (!CORRECT_NEW || __webpack_require__(3)(function () {
9626
+ re2[__webpack_require__(5)('match')] = false;
9627
+ // RegExp constructor can alter flags and IsRegExp works correct with @@match
9628
+ return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i';
9629
+ }))) {
9630
+ $RegExp = function RegExp(p, f) {
9631
+ var tiRE = this instanceof $RegExp;
9632
+ var piRE = isRegExp(p);
9633
+ var fiU = f === undefined;
9634
+ return !tiRE && piRE && p.constructor === $RegExp && fiU ? p
9635
+ : inheritIfRequired(CORRECT_NEW
9636
+ ? new Base(piRE && !fiU ? p.source : p, f)
9637
+ : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f)
9638
+ , tiRE ? this : proto, $RegExp);
9639
+ };
9640
+ var proxy = function (key) {
9641
+ key in $RegExp || dP($RegExp, key, {
9642
+ configurable: true,
9643
+ get: function () { return Base[key]; },
9644
+ set: function (it) { Base[key] = it; }
9645
+ });
9646
+ };
9647
+ for (var keys = gOPN(Base), i = 0; keys.length > i;) proxy(keys[i++]);
9648
+ proto.constructor = $RegExp;
9649
+ $RegExp.prototype = proto;
9650
+ __webpack_require__(21)(global, 'RegExp', $RegExp);
9651
+ }
9652
+
9653
+ __webpack_require__(50)('RegExp');
9654
+
9655
+
9656
+ /***/ }),
9657
+ /* 316 */
9658
+ /***/ (function(module, exports, __webpack_require__) {
9659
+
9660
+ "use strict";
9661
+
9662
+ __webpack_require__(155);
9663
+ var anObject = __webpack_require__(1);
9664
+ var $flags = __webpack_require__(78);
9665
+ var DESCRIPTORS = __webpack_require__(7);
9666
+ var TO_STRING = 'toString';
9667
+ var $toString = /./[TO_STRING];
9668
+
9669
+ var define = function (fn) {
9670
+ __webpack_require__(21)(RegExp.prototype, TO_STRING, fn, true);
9671
+ };
9672
+
9673
+ // 21.2.5.14 RegExp.prototype.toString()
9674
+ if (__webpack_require__(3)(function () { return $toString.call({ source: 'a', flags: 'b' }) != '/a/b'; })) {
9675
+ define(function toString() {
9676
+ var R = anObject(this);
9677
+ return '/'.concat(R.source, '/',
9678
+ 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);
9679
+ });
9680
+ // FF44- RegExp#toString has a wrong name
9681
+ } else if ($toString.name != TO_STRING) {
9682
+ define(function toString() {
9683
+ return $toString.call(this);
9684
+ });
9685
+ }
9686
+
9687
+
9688
+ /***/ }),
9689
+ /* 317 */
9690
+ /***/ (function(module, exports, __webpack_require__) {
9691
+
9692
+ // @@match logic
9693
+ __webpack_require__(79)('match', 1, function (defined, MATCH, $match) {
9694
+ // 21.1.3.11 String.prototype.match(regexp)
9695
+ return [function match(regexp) {
9696
+ 'use strict';
9697
+ var O = defined(this);
9698
+ var fn = regexp == undefined ? undefined : regexp[MATCH];
9699
+ return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));
9700
+ }, $match];
9701
+ });
9702
+
9703
+
9704
+ /***/ }),
9705
+ /* 318 */
9706
+ /***/ (function(module, exports, __webpack_require__) {
9707
+
9708
+ // @@replace logic
9709
+ __webpack_require__(79)('replace', 2, function (defined, REPLACE, $replace) {
9710
+ // 21.1.3.14 String.prototype.replace(searchValue, replaceValue)
9711
+ return [function replace(searchValue, replaceValue) {
9712
+ 'use strict';
9713
+ var O = defined(this);
9714
+ var fn = searchValue == undefined ? undefined : searchValue[REPLACE];
9715
+ return fn !== undefined
9716
+ ? fn.call(searchValue, O, replaceValue)
9717
+ : $replace.call(String(O), searchValue, replaceValue);
9718
+ }, $replace];
9719
+ });
9720
+
9721
+
9722
+ /***/ }),
9723
+ /* 319 */
9724
+ /***/ (function(module, exports, __webpack_require__) {
9725
+
9726
+ // @@search logic
9727
+ __webpack_require__(79)('search', 1, function (defined, SEARCH, $search) {
9728
+ // 21.1.3.15 String.prototype.search(regexp)
9729
+ return [function search(regexp) {
9730
+ 'use strict';
9731
+ var O = defined(this);
9732
+ var fn = regexp == undefined ? undefined : regexp[SEARCH];
9733
+ return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));
9734
+ }, $search];
9735
+ });
9736
+
9737
+
9738
+ /***/ }),
9739
+ /* 320 */
9740
+ /***/ (function(module, exports, __webpack_require__) {
9741
+
9742
+ // @@split logic
9743
+ __webpack_require__(79)('split', 2, function (defined, SPLIT, $split) {
9744
+ 'use strict';
9745
+ var isRegExp = __webpack_require__(76);
9746
+ var _split = $split;
9747
+ var $push = [].push;
9748
+ var $SPLIT = 'split';
9749
+ var LENGTH = 'length';
9750
+ var LAST_INDEX = 'lastIndex';
9751
+ if (
9752
+ 'abbc'[$SPLIT](/(b)*/)[1] == 'c' ||
9753
+ 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 ||
9754
+ 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 ||
9755
+ '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||
9756
+ '.'[$SPLIT](/()()/)[LENGTH] > 1 ||
9757
+ ''[$SPLIT](/.?/)[LENGTH]
9758
+ ) {
9759
+ var NPCG = /()??/.exec('')[1] === undefined; // nonparticipating capturing group
9760
+ // based on es5-shim implementation, need to rework it
9761
+ $split = function (separator, limit) {
9762
+ var string = String(this);
9763
+ if (separator === undefined && limit === 0) return [];
9764
+ // If `separator` is not a regex, use native split
9765
+ if (!isRegExp(separator)) return _split.call(string, separator, limit);
9766
+ var output = [];
9767
+ var flags = (separator.ignoreCase ? 'i' : '') +
9768
+ (separator.multiline ? 'm' : '') +
9769
+ (separator.unicode ? 'u' : '') +
9770
+ (separator.sticky ? 'y' : '');
9771
+ var lastLastIndex = 0;
9772
+ var splitLimit = limit === undefined ? 4294967295 : limit >>> 0;
9773
+ // Make `global` and avoid `lastIndex` issues by working with a copy
9774
+ var separatorCopy = new RegExp(separator.source, flags + 'g');
9775
+ var separator2, match, lastIndex, lastLength, i;
9776
+ // Doesn't need flags gy, but they don't hurt
9777
+ if (!NPCG) separator2 = new RegExp('^' + separatorCopy.source + '$(?!\\s)', flags);
9778
+ while (match = separatorCopy.exec(string)) {
9779
+ // `separatorCopy.lastIndex` is not reliable cross-browser
9780
+ lastIndex = match.index + match[0][LENGTH];
9781
+ if (lastIndex > lastLastIndex) {
9782
+ output.push(string.slice(lastLastIndex, match.index));
9783
+ // Fix browsers whose `exec` methods don't consistently return `undefined` for NPCG
9784
+ // eslint-disable-next-line no-loop-func
9785
+ if (!NPCG && match[LENGTH] > 1) match[0].replace(separator2, function () {
9786
+ for (i = 1; i < arguments[LENGTH] - 2; i++) if (arguments[i] === undefined) match[i] = undefined;
9787
+ });
9788
+ if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1));
9789
+ lastLength = match[0][LENGTH];
9790
+ lastLastIndex = lastIndex;
9791
+ if (output[LENGTH] >= splitLimit) break;
9792
+ }
9793
+ if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop
9794
+ }
9795
+ if (lastLastIndex === string[LENGTH]) {
9796
+ if (lastLength || !separatorCopy.test('')) output.push('');
9797
+ } else output.push(string.slice(lastLastIndex));
9798
+ return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;
9799
+ };
9800
+ // Chakra, V8
9801
+ } else if ('0'[$SPLIT](undefined, 0)[LENGTH]) {
9802
+ $split = function (separator, limit) {
9803
+ return separator === undefined && limit === 0 ? [] : _split.call(this, separator, limit);
9804
+ };
9805
+ }
9806
+ // 21.1.3.17 String.prototype.split(separator, limit)
9807
+ return [function split(separator, limit) {
9808
+ var O = defined(this);
9809
+ var fn = separator == undefined ? undefined : separator[SPLIT];
9810
+ return fn !== undefined ? fn.call(separator, O, limit) : $split.call(String(O), separator, limit);
9811
+ }, $split];
9812
+ });
9813
+
9814
+
9815
+ /***/ }),
9816
+ /* 321 */
9817
+ /***/ (function(module, exports, __webpack_require__) {
9818
+
9819
+ "use strict";
9820
+
9821
+ var LIBRARY = __webpack_require__(41);
9822
+ var global = __webpack_require__(2);
9823
+ var ctx = __webpack_require__(29);
9824
+ var classof = __webpack_require__(69);
9825
+ var $export = __webpack_require__(0);
9826
+ var isObject = __webpack_require__(4);
9827
+ var aFunction = __webpack_require__(19);
9828
+ var anInstance = __webpack_require__(51);
9829
+ var forOf = __webpack_require__(52);
9830
+ var speciesConstructor = __webpack_require__(80);
9831
+ var task = __webpack_require__(113).set;
9832
+ var microtask = __webpack_require__(114)();
9833
+ var newPromiseCapabilityModule = __webpack_require__(115);
9834
+ var perform = __webpack_require__(156);
9835
+ var userAgent = __webpack_require__(81);
9836
+ var promiseResolve = __webpack_require__(157);
9837
+ var PROMISE = 'Promise';
9838
+ var TypeError = global.TypeError;
9839
+ var process = global.process;
9840
+ var versions = process && process.versions;
9841
+ var v8 = versions && versions.v8 || '';
9842
+ var $Promise = global[PROMISE];
9843
+ var isNode = classof(process) == 'process';
9844
+ var empty = function () { /* empty */ };
9845
+ var Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;
9846
+ var newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;
9847
+
9848
+ var USE_NATIVE = !!function () {
9849
+ try {
9850
+ // correct subclassing with @@species support
9851
+ var promise = $Promise.resolve(1);
9852
+ var FakePromise = (promise.constructor = {})[__webpack_require__(5)('species')] = function (exec) {
9853
+ exec(empty, empty);
9854
+ };
9855
+ // unhandled rejections tracking support, NodeJS Promise without it fails @@species test
9856
+ return (isNode || typeof PromiseRejectionEvent == 'function')
9857
+ && promise.then(empty) instanceof FakePromise
9858
+ // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables
9859
+ // https://bugs.chromium.org/p/chromium/issues/detail?id=830565
9860
+ // we can't detect it synchronously, so just check versions
9861
+ && v8.indexOf('6.6') !== 0
9862
+ && userAgent.indexOf('Chrome/66') === -1;
9863
+ } catch (e) { /* empty */ }
9864
+ }();
9865
+
9866
+ // helpers
9867
+ var isThenable = function (it) {
9868
+ var then;
9869
+ return isObject(it) && typeof (then = it.then) == 'function' ? then : false;
9870
+ };
9871
+ var notify = function (promise, isReject) {
9872
+ if (promise._n) return;
9873
+ promise._n = true;
9874
+ var chain = promise._c;
9875
+ microtask(function () {
9876
+ var value = promise._v;
9877
+ var ok = promise._s == 1;
9878
+ var i = 0;
9879
+ var run = function (reaction) {
9880
+ var handler = ok ? reaction.ok : reaction.fail;
9881
+ var resolve = reaction.resolve;
9882
+ var reject = reaction.reject;
9883
+ var domain = reaction.domain;
9884
+ var result, then, exited;
9885
+ try {
9886
+ if (handler) {
9887
+ if (!ok) {
9888
+ if (promise._h == 2) onHandleUnhandled(promise);
9889
+ promise._h = 1;
9890
+ }
9891
+ if (handler === true) result = value;
9892
+ else {
9893
+ if (domain) domain.enter();
9894
+ result = handler(value); // may throw
9895
+ if (domain) {
9896
+ domain.exit();
9897
+ exited = true;
9898
+ }
9899
+ }
9900
+ if (result === reaction.promise) {
9901
+ reject(TypeError('Promise-chain cycle'));
9902
+ } else if (then = isThenable(result)) {
9903
+ then.call(result, resolve, reject);
9904
+ } else resolve(result);
9905
+ } else reject(value);
9906
+ } catch (e) {
9907
+ if (domain && !exited) domain.exit();
9908
+ reject(e);
9909
+ }
9910
+ };
9911
+ while (chain.length > i) run(chain[i++]); // variable length - can't use forEach
9912
+ promise._c = [];
9913
+ promise._n = false;
9914
+ if (isReject && !promise._h) onUnhandled(promise);
9915
+ });
9916
+ };
9917
+ var onUnhandled = function (promise) {
9918
+ task.call(global, function () {
9919
+ var value = promise._v;
9920
+ var unhandled = isUnhandled(promise);
9921
+ var result, handler, console;
9922
+ if (unhandled) {
9923
+ result = perform(function () {
9924
+ if (isNode) {
9925
+ process.emit('unhandledRejection', value, promise);
9926
+ } else if (handler = global.onunhandledrejection) {
9927
+ handler({ promise: promise, reason: value });
9928
+ } else if ((console = global.console) && console.error) {
9929
+ console.error('Unhandled promise rejection', value);
9930
+ }
9931
+ });
9932
+ // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should
9933
+ promise._h = isNode || isUnhandled(promise) ? 2 : 1;
9934
+ } promise._a = undefined;
9935
+ if (unhandled && result.e) throw result.v;
9936
+ });
9937
+ };
9938
+ var isUnhandled = function (promise) {
9939
+ return promise._h !== 1 && (promise._a || promise._c).length === 0;
9940
+ };
9941
+ var onHandleUnhandled = function (promise) {
9942
+ task.call(global, function () {
9943
+ var handler;
9944
+ if (isNode) {
9945
+ process.emit('rejectionHandled', promise);
9946
+ } else if (handler = global.onrejectionhandled) {
9947
+ handler({ promise: promise, reason: promise._v });
9948
  }
9949
+ });
9950
+ };
9951
+ var $reject = function (value) {
9952
+ var promise = this;
9953
+ if (promise._d) return;
9954
+ promise._d = true;
9955
+ promise = promise._w || promise; // unwrap
9956
+ promise._v = value;
9957
+ promise._s = 2;
9958
+ if (!promise._a) promise._a = promise._c.slice();
9959
+ notify(promise, true);
9960
+ };
9961
+ var $resolve = function (value) {
9962
+ var promise = this;
9963
+ var then;
9964
+ if (promise._d) return;
9965
+ promise._d = true;
9966
+ promise = promise._w || promise; // unwrap
9967
+ try {
9968
+ if (promise === value) throw TypeError("Promise can't be resolved itself");
9969
+ if (then = isThenable(value)) {
9970
+ microtask(function () {
9971
+ var wrapper = { _w: promise, _d: false }; // wrap
9972
  try {
9973
+ then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));
9974
+ } catch (e) {
9975
+ $reject.call(wrapper, e);
 
 
9976
  }
9977
+ });
9978
+ } else {
9979
+ promise._v = value;
9980
+ promise._s = 1;
9981
+ notify(promise, false);
9982
+ }
9983
+ } catch (e) {
9984
+ $reject.call({ _w: promise, _d: false }, e); // wrap
9985
+ }
9986
+ };
9987
+
9988
+ // constructor polyfill
9989
+ if (!USE_NATIVE) {
9990
+ // 25.4.3.1 Promise(executor)
9991
+ $Promise = function Promise(executor) {
9992
+ anInstance(this, $Promise, PROMISE, '_h');
9993
+ aFunction(executor);
9994
+ Internal.call(this);
9995
+ try {
9996
+ executor(ctx($resolve, this, 1), ctx($reject, this, 1));
9997
+ } catch (err) {
9998
+ $reject.call(this, err);
9999
  }
10000
+ };
10001
+ // eslint-disable-next-line no-unused-vars
10002
+ Internal = function Promise(executor) {
10003
+ this._c = []; // <- awaiting reactions
10004
+ this._a = undefined; // <- checked in isUnhandled reactions
10005
+ this._s = 0; // <- state
10006
+ this._d = false; // <- done
10007
+ this._v = undefined; // <- value
10008
+ this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled
10009
+ this._n = false; // <- notify
10010
+ };
10011
+ Internal.prototype = __webpack_require__(53)($Promise.prototype, {
10012
+ // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)
10013
+ then: function then(onFulfilled, onRejected) {
10014
+ var reaction = newPromiseCapability(speciesConstructor(this, $Promise));
10015
+ reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;
10016
+ reaction.fail = typeof onRejected == 'function' && onRejected;
10017
+ reaction.domain = isNode ? process.domain : undefined;
10018
+ this._c.push(reaction);
10019
+ if (this._a) this._a.push(reaction);
10020
+ if (this._s) notify(this, false);
10021
+ return reaction.promise;
10022
+ },
10023
+ // 25.4.5.1 Promise.prototype.catch(onRejected)
10024
+ 'catch': function (onRejected) {
10025
+ return this.then(undefined, onRejected);
10026
+ }
10027
+ });
10028
+ OwnPromiseCapability = function () {
10029
+ var promise = new Internal();
10030
+ this.promise = promise;
10031
+ this.resolve = ctx($resolve, promise, 1);
10032
+ this.reject = ctx($reject, promise, 1);
10033
+ };
10034
+ newPromiseCapabilityModule.f = newPromiseCapability = function (C) {
10035
+ return C === $Promise || C === Wrapper
10036
+ ? new OwnPromiseCapability(C)
10037
+ : newGenericPromiseCapability(C);
10038
+ };
10039
+ }
10040
+
10041
+ $export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });
10042
+ __webpack_require__(58)($Promise, PROMISE);
10043
+ __webpack_require__(50)(PROMISE);
10044
+ Wrapper = __webpack_require__(28)[PROMISE];
10045
+
10046
+ // statics
10047
+ $export($export.S + $export.F * !USE_NATIVE, PROMISE, {
10048
+ // 25.4.4.5 Promise.reject(r)
10049
+ reject: function reject(r) {
10050
+ var capability = newPromiseCapability(this);
10051
+ var $$reject = capability.reject;
10052
+ $$reject(r);
10053
+ return capability.promise;
10054
+ }
10055
+ });
10056
+ $export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {
10057
+ // 25.4.4.6 Promise.resolve(x)
10058
+ resolve: function resolve(x) {
10059
+ return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);
10060
+ }
10061
+ });
10062
+ $export($export.S + $export.F * !(USE_NATIVE && __webpack_require__(77)(function (iter) {
10063
+ $Promise.all(iter)['catch'](empty);
10064
+ })), PROMISE, {
10065
+ // 25.4.4.1 Promise.all(iterable)
10066
+ all: function all(iterable) {
10067
+ var C = this;
10068
+ var capability = newPromiseCapability(C);
10069
+ var resolve = capability.resolve;
10070
+ var reject = capability.reject;
10071
+ var result = perform(function () {
10072
+ var values = [];
10073
+ var index = 0;
10074
+ var remaining = 1;
10075
+ forOf(iterable, false, function (promise) {
10076
+ var $index = index++;
10077
+ var alreadyCalled = false;
10078
+ values.push(undefined);
10079
+ remaining++;
10080
+ C.resolve(promise).then(function (value) {
10081
+ if (alreadyCalled) return;
10082
+ alreadyCalled = true;
10083
+ values[$index] = value;
10084
+ --remaining || resolve(values);
10085
+ }, reject);
10086
+ });
10087
+ --remaining || resolve(values);
10088
+ });
10089
+ if (result.e) reject(result.v);
10090
+ return capability.promise;
10091
+ },
10092
+ // 25.4.4.4 Promise.race(iterable)
10093
+ race: function race(iterable) {
10094
+ var C = this;
10095
+ var capability = newPromiseCapability(C);
10096
+ var reject = capability.reject;
10097
+ var result = perform(function () {
10098
+ forOf(iterable, false, function (promise) {
10099
+ C.resolve(promise).then(capability.resolve, reject);
10100
+ });
10101
+ });
10102
+ if (result.e) reject(result.v);
10103
+ return capability.promise;
10104
+ }
10105
+ });
10106
+
10107
+
10108
+ /***/ }),
10109
+ /* 322 */
10110
+ /***/ (function(module, exports, __webpack_require__) {
10111
+
10112
+ "use strict";
10113
+
10114
+ var weak = __webpack_require__(162);
10115
+ var validate = __webpack_require__(61);
10116
+ var WEAK_SET = 'WeakSet';
10117
+
10118
+ // 23.4 WeakSet Objects
10119
+ __webpack_require__(82)(WEAK_SET, function (get) {
10120
+ return function WeakSet() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };
10121
+ }, {
10122
+ // 23.4.3.1 WeakSet.prototype.add(value)
10123
+ add: function add(value) {
10124
+ return weak.def(validate(this, WEAK_SET), value, true);
10125
+ }
10126
+ }, weak, false, true);
10127
+
10128
+
10129
+ /***/ }),
10130
+ /* 323 */
10131
+ /***/ (function(module, exports, __webpack_require__) {
10132
+
10133
+ "use strict";
10134
+
10135
+ var $export = __webpack_require__(0);
10136
+ var $typed = __webpack_require__(83);
10137
+ var buffer = __webpack_require__(116);
10138
+ var anObject = __webpack_require__(1);
10139
+ var toAbsoluteIndex = __webpack_require__(47);
10140
+ var toLength = __webpack_require__(9);
10141
+ var isObject = __webpack_require__(4);
10142
+ var ArrayBuffer = __webpack_require__(2).ArrayBuffer;
10143
+ var speciesConstructor = __webpack_require__(80);
10144
+ var $ArrayBuffer = buffer.ArrayBuffer;
10145
+ var $DataView = buffer.DataView;
10146
+ var $isView = $typed.ABV && ArrayBuffer.isView;
10147
+ var $slice = $ArrayBuffer.prototype.slice;
10148
+ var VIEW = $typed.VIEW;
10149
+ var ARRAY_BUFFER = 'ArrayBuffer';
10150
+
10151
+ $export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), { ArrayBuffer: $ArrayBuffer });
10152
+
10153
+ $export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, {
10154
+ // 24.1.3.1 ArrayBuffer.isView(arg)
10155
+ isView: function isView(it) {
10156
+ return $isView && $isView(it) || isObject(it) && VIEW in it;
10157
+ }
10158
+ });
10159
+
10160
+ $export($export.P + $export.U + $export.F * __webpack_require__(3)(function () {
10161
+ return !new $ArrayBuffer(2).slice(1, undefined).byteLength;
10162
+ }), ARRAY_BUFFER, {
10163
+ // 24.1.4.3 ArrayBuffer.prototype.slice(start, end)
10164
+ slice: function slice(start, end) {
10165
+ if ($slice !== undefined && end === undefined) return $slice.call(anObject(this), start); // FF fix
10166
+ var len = anObject(this).byteLength;
10167
+ var first = toAbsoluteIndex(start, len);
10168
+ var fin = toAbsoluteIndex(end === undefined ? len : end, len);
10169
+ var result = new (speciesConstructor(this, $ArrayBuffer))(toLength(fin - first));
10170
+ var viewS = new $DataView(this);
10171
+ var viewT = new $DataView(result);
10172
+ var index = 0;
10173
+ while (first < fin) {
10174
+ viewT.setUint8(index++, viewS.getUint8(first++));
10175
+ } return result;
10176
+ }
10177
+ });
10178
+
10179
+ __webpack_require__(50)(ARRAY_BUFFER);
10180
+
10181
+
10182
+ /***/ }),
10183
+ /* 324 */
10184
+ /***/ (function(module, exports, __webpack_require__) {
10185
+
10186
+ var $export = __webpack_require__(0);
10187
+ $export($export.G + $export.W + $export.F * !__webpack_require__(83).ABV, {
10188
+ DataView: __webpack_require__(116).DataView
10189
+ });
10190
+
10191
+
10192
+ /***/ }),
10193
+ /* 325 */
10194
+ /***/ (function(module, exports, __webpack_require__) {
10195
+
10196
+ __webpack_require__(37)('Int8', 1, function (init) {
10197
+ return function Int8Array(data, byteOffset, length) {
10198
+ return init(this, data, byteOffset, length);
10199
+ };
10200
+ });
10201
+
10202
+
10203
+ /***/ }),
10204
+ /* 326 */
10205
+ /***/ (function(module, exports, __webpack_require__) {
10206
+
10207
+ __webpack_require__(37)('Uint8', 1, function (init) {
10208
+ return function Uint8Array(data, byteOffset, length) {
10209
+ return init(this, data, byteOffset, length);
10210
+ };
10211
+ });
10212
+
10213
+
10214
+ /***/ }),
10215
+ /* 327 */
10216
+ /***/ (function(module, exports, __webpack_require__) {
10217
+
10218
+ __webpack_require__(37)('Uint8', 1, function (init) {
10219
+ return function Uint8ClampedArray(data, byteOffset, length) {
10220
+ return init(this, data, byteOffset, length);
10221
+ };
10222
+ }, true);
10223
+
10224
+
10225
+ /***/ }),
10226
+ /* 328 */
10227
+ /***/ (function(module, exports, __webpack_require__) {
10228
+
10229
+ __webpack_require__(37)('Int16', 2, function (init) {
10230
+ return function Int16Array(data, byteOffset, length) {
10231
+ return init(this, data, byteOffset, length);
10232
+ };
10233
+ });
10234
+
10235
+
10236
+ /***/ }),
10237
+ /* 329 */
10238
+ /***/ (function(module, exports, __webpack_require__) {
10239
+
10240
+ __webpack_require__(37)('Uint16', 2, function (init) {
10241
+ return function Uint16Array(data, byteOffset, length) {
10242
+ return init(this, data, byteOffset, length);
10243
+ };
10244
+ });
10245
+
10246
+
10247
+ /***/ }),
10248
+ /* 330 */
10249
+ /***/ (function(module, exports, __webpack_require__) {
10250
+
10251
+ __webpack_require__(37)('Int32', 4, function (init) {
10252
+ return function Int32Array(data, byteOffset, length) {
10253
+ return init(this, data, byteOffset, length);
10254
+ };
10255
+ });
10256
+
10257
+
10258
+ /***/ }),
10259
+ /* 331 */
10260
+ /***/ (function(module, exports, __webpack_require__) {
10261
+
10262
+ __webpack_require__(37)('Uint32', 4, function (init) {
10263
+ return function Uint32Array(data, byteOffset, length) {
10264
+ return init(this, data, byteOffset, length);
10265
+ };
10266
+ });
10267
+
10268
+
10269
+ /***/ }),
10270
+ /* 332 */
10271
+ /***/ (function(module, exports, __webpack_require__) {
10272
+
10273
+ __webpack_require__(37)('Float32', 4, function (init) {
10274
+ return function Float32Array(data, byteOffset, length) {
10275
+ return init(this, data, byteOffset, length);
10276
+ };
10277
+ });
10278
+
10279
+
10280
+ /***/ }),
10281
+ /* 333 */
10282
+ /***/ (function(module, exports, __webpack_require__) {
10283
 
10284
+ __webpack_require__(37)('Float64', 8, function (init) {
10285
+ return function Float64Array(data, byteOffset, length) {
10286
+ return init(this, data, byteOffset, length);
10287
+ };
10288
+ });
10289
 
10290
+
10291
+ /***/ }),
10292
+ /* 334 */
10293
+ /***/ (function(module, exports, __webpack_require__) {
10294
+
10295
+ // 26.1.1 Reflect.apply(target, thisArgument, argumentsList)
10296
+ var $export = __webpack_require__(0);
10297
+ var aFunction = __webpack_require__(19);
10298
+ var anObject = __webpack_require__(1);
10299
+ var rApply = (__webpack_require__(2).Reflect || {}).apply;
10300
+ var fApply = Function.apply;
10301
+ // MS Edge argumentsList argument is optional
10302
+ $export($export.S + $export.F * !__webpack_require__(3)(function () {
10303
+ rApply(function () { /* empty */ });
10304
+ }), 'Reflect', {
10305
+ apply: function apply(target, thisArgument, argumentsList) {
10306
+ var T = aFunction(target);
10307
+ var L = anObject(argumentsList);
10308
+ return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L);
10309
+ }
10310
+ });
10311
+
10312
+
10313
+ /***/ }),
10314
+ /* 335 */
10315
+ /***/ (function(module, exports, __webpack_require__) {
10316
+
10317
+ // 26.1.2 Reflect.construct(target, argumentsList [, newTarget])
10318
+ var $export = __webpack_require__(0);
10319
+ var create = __webpack_require__(48);
10320
+ var aFunction = __webpack_require__(19);
10321
+ var anObject = __webpack_require__(1);
10322
+ var isObject = __webpack_require__(4);
10323
+ var fails = __webpack_require__(3);
10324
+ var bind = __webpack_require__(143);
10325
+ var rConstruct = (__webpack_require__(2).Reflect || {}).construct;
10326
+
10327
+ // MS Edge supports only 2 arguments and argumentsList argument is optional
10328
+ // FF Nightly sets third argument as `new.target`, but does not create `this` from it
10329
+ var NEW_TARGET_BUG = fails(function () {
10330
+ function F() { /* empty */ }
10331
+ return !(rConstruct(function () { /* empty */ }, [], F) instanceof F);
10332
+ });
10333
+ var ARGS_BUG = !fails(function () {
10334
+ rConstruct(function () { /* empty */ });
10335
+ });
10336
+
10337
+ $export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', {
10338
+ construct: function construct(Target, args /* , newTarget */) {
10339
+ aFunction(Target);
10340
+ anObject(args);
10341
+ var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);
10342
+ if (ARGS_BUG && !NEW_TARGET_BUG) return rConstruct(Target, args, newTarget);
10343
+ if (Target == newTarget) {
10344
+ // w/o altered newTarget, optimization for 0-4 arguments
10345
+ switch (args.length) {
10346
+ case 0: return new Target();
10347
+ case 1: return new Target(args[0]);
10348
+ case 2: return new Target(args[0], args[1]);
10349
+ case 3: return new Target(args[0], args[1], args[2]);
10350
+ case 4: return new Target(args[0], args[1], args[2], args[3]);
10351
+ }
10352
+ // w/o altered newTarget, lot of arguments case
10353
+ var $args = [null];
10354
+ $args.push.apply($args, args);
10355
+ return new (bind.apply(Target, $args))();
10356
  }
10357
+ // with altered newTarget, not support built-in constructors
10358
+ var proto = newTarget.prototype;
10359
+ var instance = create(isObject(proto) ? proto : Object.prototype);
10360
+ var result = Function.apply.call(Target, instance, args);
10361
+ return isObject(result) ? result : instance;
10362
+ }
10363
+ });
10364
+
10365
+
10366
+ /***/ }),
10367
+ /* 336 */
10368
+ /***/ (function(module, exports, __webpack_require__) {
10369
+
10370
+ // 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)
10371
+ var dP = __webpack_require__(8);
10372
+ var $export = __webpack_require__(0);
10373
+ var anObject = __webpack_require__(1);
10374
+ var toPrimitive = __webpack_require__(32);
10375
+
10376
+ // MS Edge has broken Reflect.defineProperty - throwing instead of returning false
10377
+ $export($export.S + $export.F * __webpack_require__(3)(function () {
10378
+ // eslint-disable-next-line no-undef
10379
+ Reflect.defineProperty(dP.f({}, 1, { value: 1 }), 1, { value: 2 });
10380
+ }), 'Reflect', {
10381
+ defineProperty: function defineProperty(target, propertyKey, attributes) {
10382
+ anObject(target);
10383
+ propertyKey = toPrimitive(propertyKey, true);
10384
+ anObject(attributes);
10385
  try {
10386
+ dP.f(target, propertyKey, attributes);
10387
+ return true;
10388
+ } catch (e) {
10389
+ return false;
 
 
 
 
 
 
 
10390
  }
10391
+ }
10392
+ });
10393
 
10394
 
10395
+ /***/ }),
10396
+ /* 337 */
10397
+ /***/ (function(module, exports, __webpack_require__) {
10398
 
10399
+ // 26.1.4 Reflect.deleteProperty(target, propertyKey)
10400
+ var $export = __webpack_require__(0);
10401
+ var gOPD = __webpack_require__(25).f;
10402
+ var anObject = __webpack_require__(1);
 
10403
 
10404
+ $export($export.S, 'Reflect', {
10405
+ deleteProperty: function deleteProperty(target, propertyKey) {
10406
+ var desc = gOPD(anObject(target), propertyKey);
10407
+ return desc && !desc.configurable ? false : delete target[propertyKey];
10408
+ }
10409
+ });
 
 
 
 
 
 
 
 
10410
 
 
 
 
 
 
 
10411
 
10412
+ /***/ }),
10413
+ /* 338 */
10414
+ /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
 
 
 
 
 
 
 
 
 
10415
 
10416
+ "use strict";
 
 
 
 
 
 
 
 
 
 
 
10417
 
10418
+ // 26.1.5 Reflect.enumerate(target)
10419
+ var $export = __webpack_require__(0);
10420
+ var anObject = __webpack_require__(1);
10421
+ var Enumerate = function (iterated) {
10422
+ this._t = anObject(iterated); // target
10423
+ this._i = 0; // next index
10424
+ var keys = this._k = []; // keys
10425
+ var key;
10426
+ for (key in iterated) keys.push(key);
10427
  };
10428
+ __webpack_require__(104)(Enumerate, 'Object', function () {
10429
+ var that = this;
10430
+ var keys = that._k;
10431
+ var key;
10432
+ do {
10433
+ if (that._i >= keys.length) return { value: undefined, done: true };
10434
+ } while (!((key = keys[that._i++]) in that._t));
10435
+ return { value: key, done: false };
10436
+ });
10437
 
10438
+ $export($export.S, 'Reflect', {
10439
+ enumerate: function enumerate(target) {
10440
+ return new Enumerate(target);
10441
+ }
10442
+ });
10443
 
 
 
 
 
 
 
 
 
 
10444
 
10445
+ /***/ }),
10446
+ /* 339 */
10447
+ /***/ (function(module, exports, __webpack_require__) {
10448
 
10449
+ // 26.1.6 Reflect.get(target, propertyKey [, receiver])
10450
+ var gOPD = __webpack_require__(25);
10451
+ var getPrototypeOf = __webpack_require__(26);
10452
+ var has = __webpack_require__(23);
10453
+ var $export = __webpack_require__(0);
10454
+ var isObject = __webpack_require__(4);
10455
+ var anObject = __webpack_require__(1);
10456
+
10457
+ function get(target, propertyKey /* , receiver */) {
10458
+ var receiver = arguments.length < 3 ? target : arguments[2];
10459
+ var desc, proto;
10460
+ if (anObject(target) === receiver) return target[propertyKey];
10461
+ if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value')
10462
+ ? desc.value
10463
+ : desc.get !== undefined
10464
+ ? desc.get.call(receiver)
10465
+ : undefined;
10466
+ if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey, receiver);
10467
+ }
10468
 
10469
+ $export($export.S, 'Reflect', { get: get });
 
 
 
 
10470
 
10471
 
10472
  /***/ }),
10473
+ /* 340 */
10474
  /***/ (function(module, exports, __webpack_require__) {
10475
 
10476
+ // 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)
10477
+ var gOPD = __webpack_require__(25);
10478
+ var $export = __webpack_require__(0);
10479
+ var anObject = __webpack_require__(1);
10480
 
10481
+ $export($export.S, 'Reflect', {
10482
+ getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) {
10483
+ return gOPD.f(anObject(target), propertyKey);
10484
+ }
10485
+ });
10486
 
 
 
 
 
 
 
 
10487
 
10488
+ /***/ }),
10489
+ /* 341 */
10490
+ /***/ (function(module, exports, __webpack_require__) {
 
10491
 
10492
+ // 26.1.8 Reflect.getPrototypeOf(target)
10493
+ var $export = __webpack_require__(0);
10494
+ var getProto = __webpack_require__(26);
10495
+ var anObject = __webpack_require__(1);
10496
 
10497
+ $export($export.S, 'Reflect', {
10498
+ getPrototypeOf: function getPrototypeOf(target) {
10499
+ return getProto(anObject(target));
10500
+ }
10501
+ });
10502
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10503
 
10504
+ /***/ }),
10505
+ /* 342 */
10506
+ /***/ (function(module, exports, __webpack_require__) {
 
 
 
10507
 
10508
+ // 26.1.9 Reflect.has(target, propertyKey)
10509
+ var $export = __webpack_require__(0);
10510
 
10511
+ $export($export.S, 'Reflect', {
10512
+ has: function has(target, propertyKey) {
10513
+ return propertyKey in target;
10514
+ }
10515
+ });
10516
 
 
 
 
 
 
10517
 
10518
+ /***/ }),
10519
+ /* 343 */
10520
+ /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
10521
 
10522
+ // 26.1.10 Reflect.isExtensible(target)
10523
+ var $export = __webpack_require__(0);
10524
+ var anObject = __webpack_require__(1);
10525
+ var $isExtensible = Object.isExtensible;
 
 
 
 
 
 
 
 
10526
 
10527
+ $export($export.S, 'Reflect', {
10528
+ isExtensible: function isExtensible(target) {
10529
+ anObject(target);
10530
+ return $isExtensible ? $isExtensible(target) : true;
10531
+ }
10532
+ });
10533
 
 
 
 
10534
 
10535
+ /***/ }),
10536
+ /* 344 */
10537
+ /***/ (function(module, exports, __webpack_require__) {
 
 
10538
 
10539
+ // 26.1.11 Reflect.ownKeys(target)
10540
+ var $export = __webpack_require__(0);
 
10541
 
10542
+ $export($export.S, 'Reflect', { ownKeys: __webpack_require__(164) });
 
 
 
10543
 
 
 
 
10544
 
10545
+ /***/ }),
10546
+ /* 345 */
10547
+ /***/ (function(module, exports, __webpack_require__) {
10548
+
10549
+ // 26.1.12 Reflect.preventExtensions(target)
10550
+ var $export = __webpack_require__(0);
10551
+ var anObject = __webpack_require__(1);
10552
+ var $preventExtensions = Object.preventExtensions;
10553
+
10554
+ $export($export.S, 'Reflect', {
10555
+ preventExtensions: function preventExtensions(target) {
10556
+ anObject(target);
10557
+ try {
10558
+ if ($preventExtensions) $preventExtensions(target);
10559
+ return true;
10560
+ } catch (e) {
10561
+ return false;
10562
+ }
10563
+ }
10564
+ });
10565
+
10566
 
10567
+ /***/ }),
10568
+ /* 346 */
10569
+ /***/ (function(module, exports, __webpack_require__) {
 
10570
 
10571
+ // 26.1.13 Reflect.set(target, propertyKey, V [, receiver])
10572
+ var dP = __webpack_require__(8);
10573
+ var gOPD = __webpack_require__(25);
10574
+ var getPrototypeOf = __webpack_require__(26);
10575
+ var has = __webpack_require__(23);
10576
+ var $export = __webpack_require__(0);
10577
+ var createDesc = __webpack_require__(44);
10578
+ var anObject = __webpack_require__(1);
10579
+ var isObject = __webpack_require__(4);
10580
+
10581
+ function set(target, propertyKey, V /* , receiver */) {
10582
+ var receiver = arguments.length < 4 ? target : arguments[3];
10583
+ var ownDesc = gOPD.f(anObject(target), propertyKey);
10584
+ var existingDescriptor, proto;
10585
+ if (!ownDesc) {
10586
+ if (isObject(proto = getPrototypeOf(target))) {
10587
+ return set(proto, propertyKey, V, receiver);
10588
  }
10589
+ ownDesc = createDesc(0);
10590
+ }
10591
+ if (has(ownDesc, 'value')) {
10592
+ if (ownDesc.writable === false || !isObject(receiver)) return false;
10593
+ if (existingDescriptor = gOPD.f(receiver, propertyKey)) {
10594
+ if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false;
10595
+ existingDescriptor.value = V;
10596
+ dP.f(receiver, propertyKey, existingDescriptor);
10597
+ } else dP.f(receiver, propertyKey, createDesc(0, V));
10598
+ return true;
10599
+ }
10600
+ return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);
10601
+ }
10602
 
10603
+ $export($export.S, 'Reflect', { set: set });
 
 
 
 
 
 
 
 
 
 
 
10604
 
 
 
 
 
10605
 
10606
+ /***/ }),
10607
+ /* 347 */
10608
+ /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
 
 
 
 
 
10609
 
10610
+ // 26.1.14 Reflect.setPrototypeOf(target, proto)
10611
+ var $export = __webpack_require__(0);
10612
+ var setProto = __webpack_require__(96);
 
10613
 
10614
+ if (setProto) $export($export.S, 'Reflect', {
10615
+ setPrototypeOf: function setPrototypeOf(target, proto) {
10616
+ setProto.check(target, proto);
10617
+ try {
10618
+ setProto.set(target, proto);
10619
+ return true;
10620
+ } catch (e) {
10621
+ return false;
10622
  }
10623
+ }
10624
+ });
10625
 
 
 
 
 
 
 
10626
 
10627
+ /***/ }),
10628
+ /* 348 */
10629
+ /***/ (function(module, exports, __webpack_require__) {
 
 
 
10630
 
10631
+ "use strict";
 
 
10632
 
10633
+ // https://github.com/tc39/Array.prototype.includes
10634
+ var $export = __webpack_require__(0);
10635
+ var $includes = __webpack_require__(73)(true);
10636
+
10637
+ $export($export.P, 'Array', {
10638
+ includes: function includes(el /* , fromIndex = 0 */) {
10639
+ return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
10640
+ }
10641
+ });
10642
+
10643
+ __webpack_require__(42)('includes');
10644
 
10645
 
10646
  /***/ }),
10647
+ /* 349 */
10648
  /***/ (function(module, exports, __webpack_require__) {
10649
 
10650
  "use strict";
10651
 
10652
+ // https://tc39.github.io/proposal-flatMap/#sec-Array.prototype.flatMap
10653
+ var $export = __webpack_require__(0);
10654
+ var flattenIntoArray = __webpack_require__(165);
10655
+ var toObject = __webpack_require__(17);
10656
+ var toLength = __webpack_require__(9);
10657
+ var aFunction = __webpack_require__(19);
10658
+ var arraySpeciesCreate = __webpack_require__(110);
10659
+
10660
+ $export($export.P, 'Array', {
10661
+ flatMap: function flatMap(callbackfn /* , thisArg */) {
10662
+ var O = toObject(this);
10663
+ var sourceLen, A;
10664
+ aFunction(callbackfn);
10665
+ sourceLen = toLength(O.length);
10666
+ A = arraySpeciesCreate(O, 0);
10667
+ flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments[1]);
10668
+ return A;
10669
+ }
10670
+ });
10671
 
10672
+ __webpack_require__(42)('flatMap');
10673
 
10674
+
10675
+ /***/ }),
10676
+ /* 350 */
10677
+ /***/ (function(module, exports, __webpack_require__) {
10678
+
10679
+ "use strict";
10680
+
10681
+ // https://tc39.github.io/proposal-flatMap/#sec-Array.prototype.flatten
10682
+ var $export = __webpack_require__(0);
10683
+ var flattenIntoArray = __webpack_require__(165);
10684
+ var toObject = __webpack_require__(17);
10685
+ var toLength = __webpack_require__(9);
10686
+ var toInteger = __webpack_require__(34);
10687
+ var arraySpeciesCreate = __webpack_require__(110);
10688
+
10689
+ $export($export.P, 'Array', {
10690
+ flatten: function flatten(/* depthArg = 1 */) {
10691
+ var depthArg = arguments[0];
10692
+ var O = toObject(this);
10693
+ var sourceLen = toLength(O.length);
10694
+ var A = arraySpeciesCreate(O, 0);
10695
+ flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toInteger(depthArg));
10696
+ return A;
10697
+ }
10698
+ });
10699
+
10700
+ __webpack_require__(42)('flatten');
10701
 
10702
 
10703
  /***/ }),
10704
+ /* 351 */
10705
  /***/ (function(module, exports, __webpack_require__) {
10706
 
10707
  "use strict";
10708
 
10709
+ // https://github.com/mathiasbynens/String.prototype.at
10710
+ var $export = __webpack_require__(0);
10711
+ var $at = __webpack_require__(102)(true);
10712
 
10713
+ $export($export.P, 'String', {
10714
+ at: function at(pos) {
10715
+ return $at(this, pos);
10716
+ }
10717
+ });
10718
 
10719
 
10720
  /***/ }),
10721
+ /* 352 */
10722
  /***/ (function(module, exports, __webpack_require__) {
10723
 
10724
  "use strict";
10725
 
10726
+ // https://github.com/tc39/proposal-string-pad-start-end
10727
+ var $export = __webpack_require__(0);
10728
+ var $pad = __webpack_require__(166);
10729
+ var userAgent = __webpack_require__(81);
10730
 
10731
+ // https://github.com/zloirock/core-js/issues/280
10732
+ $export($export.P + $export.F * /Version\/10\.\d+(\.\d+)? Safari\//.test(userAgent), 'String', {
10733
+ padStart: function padStart(maxLength /* , fillString = ' ' */) {
10734
+ return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true);
10735
+ }
10736
+ });
 
 
 
10737
 
 
 
 
10738
 
10739
+ /***/ }),
10740
+ /* 353 */
10741
+ /***/ (function(module, exports, __webpack_require__) {
10742
 
10743
+ "use strict";
10744
+
10745
+ // https://github.com/tc39/proposal-string-pad-start-end
10746
+ var $export = __webpack_require__(0);
10747
+ var $pad = __webpack_require__(166);
10748
+ var userAgent = __webpack_require__(81);
10749
+
10750
+ // https://github.com/zloirock/core-js/issues/280
10751
+ $export($export.P + $export.F * /Version\/10\.\d+(\.\d+)? Safari\//.test(userAgent), 'String', {
10752
+ padEnd: function padEnd(maxLength /* , fillString = ' ' */) {
10753
+ return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false);
10754
+ }
10755
+ });
10756
 
10757
 
10758
  /***/ }),
10759
+ /* 354 */
10760
+ /***/ (function(module, exports, __webpack_require__) {
10761
 
10762
  "use strict";
 
 
 
 
10763
 
10764
+ // https://github.com/sebmarkbage/ecmascript-string-left-right-trim
10765
+ __webpack_require__(59)('trimLeft', function ($trim) {
10766
+ return function trimLeft() {
10767
+ return $trim(this, 1);
10768
+ };
10769
+ }, 'trimStart');
10770
 
10771
 
10772
+ /***/ }),
10773
+ /* 355 */
10774
+ /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
 
10775
 
10776
+ "use strict";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10777
 
10778
+ // https://github.com/sebmarkbage/ecmascript-string-left-right-trim
10779
+ __webpack_require__(59)('trimRight', function ($trim) {
10780
+ return function trimRight() {
10781
+ return $trim(this, 2);
10782
+ };
10783
+ }, 'trimEnd');
10784
 
 
 
 
 
10785
 
10786
+ /***/ }),
10787
+ /* 356 */
10788
+ /***/ (function(module, exports, __webpack_require__) {
10789
 
10790
+ "use strict";
 
 
10791
 
10792
+ // https://tc39.github.io/String.prototype.matchAll/
10793
+ var $export = __webpack_require__(0);
10794
+ var defined = __webpack_require__(33);
10795
+ var toLength = __webpack_require__(9);
10796
+ var isRegExp = __webpack_require__(76);
10797
+ var getFlags = __webpack_require__(78);
10798
+ var RegExpProto = RegExp.prototype;
10799
+
10800
+ var $RegExpStringIterator = function (regexp, string) {
10801
+ this._r = regexp;
10802
+ this._s = string;
10803
+ };
10804
 
10805
+ __webpack_require__(104)($RegExpStringIterator, 'RegExp String', function next() {
10806
+ var match = this._r.exec(this._s);
10807
+ return { value: match, done: match === null };
10808
+ });
 
10809
 
10810
+ $export($export.P, 'String', {
10811
+ matchAll: function matchAll(regexp) {
10812
+ defined(this);
10813
+ if (!isRegExp(regexp)) throw TypeError(regexp + ' is not a regexp!');
10814
+ var S = String(this);
10815
+ var flags = 'flags' in RegExpProto ? String(regexp.flags) : getFlags.call(regexp);
10816
+ var rx = new RegExp(regexp.source, ~flags.indexOf('g') ? flags : 'g' + flags);
10817
+ rx.lastIndex = toLength(regexp.lastIndex);
10818
+ return new $RegExpStringIterator(rx, S);
10819
  }
10820
+ });
10821
+
10822
+
10823
+ /***/ }),
10824
+ /* 357 */
10825
+ /***/ (function(module, exports, __webpack_require__) {
10826
+
10827
+ __webpack_require__(92)('asyncIterator');
10828
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10829
 
10830
+ /***/ }),
10831
+ /* 358 */
10832
+ /***/ (function(module, exports, __webpack_require__) {
10833
 
10834
+ __webpack_require__(92)('observable');
 
10835
 
 
 
 
 
10836
 
10837
+ /***/ }),
10838
+ /* 359 */
10839
+ /***/ (function(module, exports, __webpack_require__) {
10840
 
10841
+ // https://github.com/tc39/proposal-object-getownpropertydescriptors
10842
+ var $export = __webpack_require__(0);
10843
+ var ownKeys = __webpack_require__(164);
10844
+ var toIObject = __webpack_require__(24);
10845
+ var gOPD = __webpack_require__(25);
10846
+ var createProperty = __webpack_require__(108);
10847
+
10848
+ $export($export.S, 'Object', {
10849
+ getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {
10850
+ var O = toIObject(object);
10851
+ var getDesc = gOPD.f;
10852
+ var keys = ownKeys(O);
10853
+ var result = {};
10854
+ var i = 0;
10855
+ var key, desc;
10856
+ while (keys.length > i) {
10857
+ desc = getDesc(O, key = keys[i++]);
10858
+ if (desc !== undefined) createProperty(result, key, desc);
10859
+ }
10860
+ return result;
10861
  }
10862
+ });
10863
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10864
 
10865
+ /***/ }),
10866
+ /* 360 */
10867
+ /***/ (function(module, exports, __webpack_require__) {
10868
 
10869
+ // https://github.com/tc39/proposal-object-values-entries
10870
+ var $export = __webpack_require__(0);
10871
+ var $values = __webpack_require__(167)(false);
10872
 
10873
+ $export($export.S, 'Object', {
10874
+ values: function values(it) {
10875
+ return $values(it);
10876
+ }
10877
+ });
 
10878
 
 
 
 
 
 
10879
 
10880
+ /***/ }),
10881
+ /* 361 */
10882
+ /***/ (function(module, exports, __webpack_require__) {
10883
+
10884
+ // https://github.com/tc39/proposal-object-values-entries
10885
+ var $export = __webpack_require__(0);
10886
+ var $entries = __webpack_require__(167)(true);
10887
+
10888
+ $export($export.S, 'Object', {
10889
+ entries: function entries(it) {
10890
+ return $entries(it);
10891
  }
10892
+ });
10893
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10894
 
10895
+ /***/ }),
10896
+ /* 362 */
10897
+ /***/ (function(module, exports, __webpack_require__) {
10898
+
10899
+ "use strict";
10900
+
10901
+ var $export = __webpack_require__(0);
10902
+ var toObject = __webpack_require__(17);
10903
+ var aFunction = __webpack_require__(19);
10904
+ var $defineProperty = __webpack_require__(8);
10905
+
10906
+ // B.2.2.2 Object.prototype.__defineGetter__(P, getter)
10907
+ __webpack_require__(7) && $export($export.P + __webpack_require__(84), 'Object', {
10908
+ __defineGetter__: function __defineGetter__(P, getter) {
10909
+ $defineProperty.f(toObject(this), P, { get: aFunction(getter), enumerable: true, configurable: true });
10910
  }
10911
+ });
10912
 
 
 
 
 
 
 
 
 
10913
 
10914
+ /***/ }),
10915
+ /* 363 */
10916
+ /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
 
 
 
 
 
 
 
10917
 
10918
+ "use strict";
 
 
 
 
10919
 
10920
+ var $export = __webpack_require__(0);
10921
+ var toObject = __webpack_require__(17);
10922
+ var aFunction = __webpack_require__(19);
10923
+ var $defineProperty = __webpack_require__(8);
10924
+
10925
+ // B.2.2.3 Object.prototype.__defineSetter__(P, setter)
10926
+ __webpack_require__(7) && $export($export.P + __webpack_require__(84), 'Object', {
10927
+ __defineSetter__: function __defineSetter__(P, setter) {
10928
+ $defineProperty.f(toObject(this), P, { set: aFunction(setter), enumerable: true, configurable: true });
10929
  }
10930
+ });
10931
 
 
 
 
 
10932
 
10933
+ /***/ }),
10934
+ /* 364 */
10935
+ /***/ (function(module, exports, __webpack_require__) {
10936
+
10937
+ "use strict";
10938
+
10939
+ var $export = __webpack_require__(0);
10940
+ var toObject = __webpack_require__(17);
10941
+ var toPrimitive = __webpack_require__(32);
10942
+ var getPrototypeOf = __webpack_require__(26);
10943
+ var getOwnPropertyDescriptor = __webpack_require__(25).f;
10944
+
10945
+ // B.2.2.4 Object.prototype.__lookupGetter__(P)
10946
+ __webpack_require__(7) && $export($export.P + __webpack_require__(84), 'Object', {
10947
+ __lookupGetter__: function __lookupGetter__(P) {
10948
+ var O = toObject(this);
10949
+ var K = toPrimitive(P, true);
10950
+ var D;
10951
+ do {
10952
+ if (D = getOwnPropertyDescriptor(O, K)) return D.get;
10953
+ } while (O = getPrototypeOf(O));
10954
+ }
10955
+ });
10956
+
10957
 
10958
  /***/ }),
10959
+ /* 365 */
10960
+ /***/ (function(module, exports, __webpack_require__) {
10961
 
10962
  "use strict";
 
 
 
10963
 
10964
+ var $export = __webpack_require__(0);
10965
+ var toObject = __webpack_require__(17);
10966
+ var toPrimitive = __webpack_require__(32);
10967
+ var getPrototypeOf = __webpack_require__(26);
10968
+ var getOwnPropertyDescriptor = __webpack_require__(25).f;
10969
+
10970
+ // B.2.2.5 Object.prototype.__lookupSetter__(P)
10971
+ __webpack_require__(7) && $export($export.P + __webpack_require__(84), 'Object', {
10972
+ __lookupSetter__: function __lookupSetter__(P) {
10973
+ var O = toObject(this);
10974
+ var K = toPrimitive(P, true);
10975
+ var D;
10976
+ do {
10977
+ if (D = getOwnPropertyDescriptor(O, K)) return D.set;
10978
+ } while (O = getPrototypeOf(O));
10979
+ }
10980
+ });
10981
 
10982
 
10983
+ /***/ }),
10984
+ /* 366 */
10985
+ /***/ (function(module, exports, __webpack_require__) {
10986
 
10987
+ // https://github.com/DavidBruant/Map-Set.prototype.toJSON
10988
+ var $export = __webpack_require__(0);
10989
 
10990
+ $export($export.P + $export.R, 'Map', { toJSON: __webpack_require__(168)('Map') });
 
 
10991
 
 
 
10992
 
10993
+ /***/ }),
10994
+ /* 367 */
10995
+ /***/ (function(module, exports, __webpack_require__) {
10996
 
10997
+ // https://github.com/DavidBruant/Map-Set.prototype.toJSON
10998
+ var $export = __webpack_require__(0);
10999
 
11000
+ $export($export.P + $export.R, 'Set', { toJSON: __webpack_require__(168)('Set') });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11001
 
11002
+
11003
+ /***/ }),
11004
+ /* 368 */
11005
+ /***/ (function(module, exports, __webpack_require__) {
11006
+
11007
+ // https://tc39.github.io/proposal-setmap-offrom/#sec-map.of
11008
+ __webpack_require__(85)('Map');
11009
 
11010
 
11011
  /***/ }),
11012
+ /* 369 */
11013
+ /***/ (function(module, exports, __webpack_require__) {
11014
 
11015
+ // https://tc39.github.io/proposal-setmap-offrom/#sec-set.of
11016
+ __webpack_require__(85)('Set');
11017
 
11018
 
11019
+ /***/ }),
11020
+ /* 370 */
11021
+ /***/ (function(module, exports, __webpack_require__) {
11022
 
11023
+ // https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.of
11024
+ __webpack_require__(85)('WeakMap');
11025
 
11026
 
11027
  /***/ }),
11028
+ /* 371 */
11029
+ /***/ (function(module, exports, __webpack_require__) {
11030
+
11031
+ // https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.of
11032
+ __webpack_require__(85)('WeakSet');
11033
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11034
 
11035
  /***/ }),
11036
+ /* 372 */
11037
+ /***/ (function(module, exports, __webpack_require__) {
11038
 
11039
+ // https://tc39.github.io/proposal-setmap-offrom/#sec-map.from
11040
+ __webpack_require__(86)('Map');
 
 
 
 
 
 
 
 
 
 
11041
 
 
 
 
 
11042
 
11043
+ /***/ }),
11044
+ /* 373 */
11045
+ /***/ (function(module, exports, __webpack_require__) {
 
 
11046
 
11047
+ // https://tc39.github.io/proposal-setmap-offrom/#sec-set.from
11048
+ __webpack_require__(86)('Set');
 
11049
 
 
 
 
 
 
 
11050
 
11051
  /***/ }),
11052
+ /* 374 */
11053
  /***/ (function(module, exports, __webpack_require__) {
11054
 
11055
+ // https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.from
11056
+ __webpack_require__(86)('WeakMap');
11057
 
11058
 
11059
+ /***/ }),
11060
+ /* 375 */
11061
+ /***/ (function(module, exports, __webpack_require__) {
11062
+
11063
+ // https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.from
11064
+ __webpack_require__(86)('WeakSet');
11065
+
11066
+
11067
+ /***/ }),
11068
+ /* 376 */
11069
+ /***/ (function(module, exports, __webpack_require__) {
11070
+
11071
+ // https://github.com/tc39/proposal-global
11072
+ var $export = __webpack_require__(0);
11073
+
11074
+ $export($export.G, { global: __webpack_require__(2) });
11075
+
11076
+
11077
+ /***/ }),
11078
+ /* 377 */
11079
+ /***/ (function(module, exports, __webpack_require__) {
11080
+
11081
+ // https://github.com/tc39/proposal-global
11082
+ var $export = __webpack_require__(0);
11083
+
11084
+ $export($export.S, 'System', { global: __webpack_require__(2) });
11085
+
11086
+
11087
+ /***/ }),
11088
+ /* 378 */
11089
+ /***/ (function(module, exports, __webpack_require__) {
11090
+
11091
+ // https://github.com/ljharb/proposal-is-error
11092
+ var $export = __webpack_require__(0);
11093
+ var cof = __webpack_require__(30);
11094
+
11095
+ $export($export.S, 'Error', {
11096
+ isError: function isError(it) {
11097
+ return cof(it) === 'Error';
11098
+ }
11099
  });
 
 
11100
 
 
11101
 
11102
+ /***/ }),
11103
+ /* 379 */
11104
+ /***/ (function(module, exports, __webpack_require__) {
11105
 
11106
+ // https://rwaldron.github.io/proposal-math-extensions/
11107
+ var $export = __webpack_require__(0);
11108
 
11109
+ $export($export.S, 'Math', {
11110
+ clamp: function clamp(x, lower, upper) {
11111
+ return Math.min(upper, Math.max(lower, x));
11112
+ }
11113
+ });
11114
 
 
11115
 
11116
+ /***/ }),
11117
+ /* 380 */
11118
+ /***/ (function(module, exports, __webpack_require__) {
11119
 
11120
+ // https://rwaldron.github.io/proposal-math-extensions/
11121
+ var $export = __webpack_require__(0);
11122
 
11123
+ $export($export.S, 'Math', { DEG_PER_RAD: Math.PI / 180 });
11124
 
 
 
 
 
11125
 
11126
+ /***/ }),
11127
+ /* 381 */
11128
+ /***/ (function(module, exports, __webpack_require__) {
11129
+
11130
+ // https://rwaldron.github.io/proposal-math-extensions/
11131
+ var $export = __webpack_require__(0);
11132
+ var RAD_PER_DEG = 180 / Math.PI;
11133
+
11134
+ $export($export.S, 'Math', {
11135
+ degrees: function degrees(radians) {
11136
+ return radians * RAD_PER_DEG;
11137
+ }
11138
+ });
11139
 
 
 
 
 
 
11140
 
11141
  /***/ }),
11142
+ /* 382 */
11143
  /***/ (function(module, exports, __webpack_require__) {
11144
 
11145
+ // https://rwaldron.github.io/proposal-math-extensions/
11146
+ var $export = __webpack_require__(0);
11147
+ var scale = __webpack_require__(170);
11148
+ var fround = __webpack_require__(150);
11149
 
11150
+ $export($export.S, 'Math', {
11151
+ fscale: function fscale(x, inLow, inHigh, outLow, outHigh) {
11152
+ return fround(scale(x, inLow, inHigh, outLow, outHigh));
11153
+ }
11154
+ });
11155
 
 
11156
 
11157
+ /***/ }),
11158
+ /* 383 */
11159
+ /***/ (function(module, exports, __webpack_require__) {
 
 
11160
 
11161
+ // https://gist.github.com/BrendanEich/4294d5c212a6d2254703
11162
+ var $export = __webpack_require__(0);
11163
 
11164
+ $export($export.S, 'Math', {
11165
+ iaddh: function iaddh(x0, x1, y0, y1) {
11166
+ var $x0 = x0 >>> 0;
11167
+ var $x1 = x1 >>> 0;
11168
+ var $y0 = y0 >>> 0;
11169
+ return $x1 + (y1 >>> 0) + (($x0 & $y0 | ($x0 | $y0) & ~($x0 + $y0 >>> 0)) >>> 31) | 0;
11170
+ }
11171
+ });
11172
 
 
 
 
11173
 
11174
+ /***/ }),
11175
+ /* 384 */
11176
+ /***/ (function(module, exports, __webpack_require__) {
11177
 
11178
+ // https://gist.github.com/BrendanEich/4294d5c212a6d2254703
11179
+ var $export = __webpack_require__(0);
 
 
 
11180
 
11181
+ $export($export.S, 'Math', {
11182
+ isubh: function isubh(x0, x1, y0, y1) {
11183
+ var $x0 = x0 >>> 0;
11184
+ var $x1 = x1 >>> 0;
11185
+ var $y0 = y0 >>> 0;
11186
+ return $x1 - (y1 >>> 0) - ((~$x0 & $y0 | ~($x0 ^ $y0) & $x0 - $y0 >>> 0) >>> 31) | 0;
11187
+ }
11188
+ });
11189
 
 
 
11190
 
11191
+ /***/ }),
11192
+ /* 385 */
11193
+ /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
11194
 
11195
+ // https://gist.github.com/BrendanEich/4294d5c212a6d2254703
11196
+ var $export = __webpack_require__(0);
11197
+
11198
+ $export($export.S, 'Math', {
11199
+ imulh: function imulh(u, v) {
11200
+ var UINT16 = 0xffff;
11201
+ var $u = +u;
11202
+ var $v = +v;
11203
+ var u0 = $u & UINT16;
11204
+ var v0 = $v & UINT16;
11205
+ var u1 = $u >> 16;
11206
+ var v1 = $v >> 16;
11207
+ var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);
11208
+ return u1 * v1 + (t >> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >> 16);
11209
+ }
11210
+ });
11211
 
 
 
 
 
11212
 
11213
+ /***/ }),
11214
+ /* 386 */
11215
+ /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
 
 
 
11216
 
11217
+ // https://rwaldron.github.io/proposal-math-extensions/
11218
+ var $export = __webpack_require__(0);
11219
 
11220
+ $export($export.S, 'Math', { RAD_PER_DEG: 180 / Math.PI });
 
 
11221
 
 
 
 
 
11222
 
11223
+ /***/ }),
11224
+ /* 387 */
11225
+ /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
 
 
 
 
 
 
 
11226
 
11227
+ // https://rwaldron.github.io/proposal-math-extensions/
11228
+ var $export = __webpack_require__(0);
11229
+ var DEG_PER_RAD = Math.PI / 180;
11230
 
11231
+ $export($export.S, 'Math', {
11232
+ radians: function radians(degrees) {
11233
+ return degrees * DEG_PER_RAD;
11234
+ }
11235
+ });
 
 
 
11236
 
 
 
 
 
 
 
11237
 
11238
+ /***/ }),
11239
+ /* 388 */
11240
+ /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
11241
 
11242
+ // https://rwaldron.github.io/proposal-math-extensions/
11243
+ var $export = __webpack_require__(0);
 
 
 
 
11244
 
11245
+ $export($export.S, 'Math', { scale: __webpack_require__(170) });
11246
 
 
 
 
11247
 
11248
+ /***/ }),
11249
+ /* 389 */
11250
+ /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
 
 
 
 
 
11251
 
11252
+ // https://gist.github.com/BrendanEich/4294d5c212a6d2254703
11253
+ var $export = __webpack_require__(0);
11254
+
11255
+ $export($export.S, 'Math', {
11256
+ umulh: function umulh(u, v) {
11257
+ var UINT16 = 0xffff;
11258
+ var $u = +u;
11259
+ var $v = +v;
11260
+ var u0 = $u & UINT16;
11261
+ var v0 = $v & UINT16;
11262
+ var u1 = $u >>> 16;
11263
+ var v1 = $v >>> 16;
11264
+ var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);
11265
+ return u1 * v1 + (t >>> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >>> 16);
11266
+ }
11267
+ });
11268
 
 
 
 
 
11269
 
11270
+ /***/ }),
11271
+ /* 390 */
11272
+ /***/ (function(module, exports, __webpack_require__) {
 
11273
 
11274
+ // http://jfbastien.github.io/papers/Math.signbit.html
11275
+ var $export = __webpack_require__(0);
 
 
 
 
 
11276
 
11277
+ $export($export.S, 'Math', { signbit: function signbit(x) {
11278
+ // eslint-disable-next-line no-self-compare
11279
+ return (x = +x) != x ? x : x == 0 ? 1 / x == Infinity : x > 0;
11280
+ } });
11281
 
 
 
 
11282
 
11283
+ /***/ }),
11284
+ /* 391 */
11285
+ /***/ (function(module, exports, __webpack_require__) {
11286
 
11287
+ "use strict";
11288
+ // https://github.com/tc39/proposal-promise-finally
11289
+
11290
+ var $export = __webpack_require__(0);
11291
+ var core = __webpack_require__(28);
11292
+ var global = __webpack_require__(2);
11293
+ var speciesConstructor = __webpack_require__(80);
11294
+ var promiseResolve = __webpack_require__(157);
11295
+
11296
+ $export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {
11297
+ var C = speciesConstructor(this, core.Promise || global.Promise);
11298
+ var isFunction = typeof onFinally == 'function';
11299
+ return this.then(
11300
+ isFunction ? function (x) {
11301
+ return promiseResolve(C, onFinally()).then(function () { return x; });
11302
+ } : onFinally,
11303
+ isFunction ? function (e) {
11304
+ return promiseResolve(C, onFinally()).then(function () { throw e; });
11305
+ } : onFinally
11306
+ );
11307
+ } });
11308
 
 
 
11309
 
11310
+ /***/ }),
11311
+ /* 392 */
11312
+ /***/ (function(module, exports, __webpack_require__) {
11313
 
11314
+ "use strict";
 
 
 
11315
 
11316
+ // https://github.com/tc39/proposal-promise-try
11317
+ var $export = __webpack_require__(0);
11318
+ var newPromiseCapability = __webpack_require__(115);
11319
+ var perform = __webpack_require__(156);
11320
 
11321
+ $export($export.S, 'Promise', { 'try': function (callbackfn) {
11322
+ var promiseCapability = newPromiseCapability.f(this);
11323
+ var result = perform(callbackfn);
11324
+ (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);
11325
+ return promiseCapability.promise;
11326
+ } });
 
 
 
 
11327
 
11328
 
11329
  /***/ }),
11330
+ /* 393 */
11331
  /***/ (function(module, exports, __webpack_require__) {
11332
 
11333
+ var metadata = __webpack_require__(38);
11334
+ var anObject = __webpack_require__(1);
11335
+ var toMetaKey = metadata.key;
11336
+ var ordinaryDefineOwnMetadata = metadata.set;
11337
 
11338
+ metadata.exp({ defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey) {
11339
+ ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey));
11340
+ } });
11341
 
 
 
11342
 
11343
+ /***/ }),
11344
+ /* 394 */
11345
+ /***/ (function(module, exports, __webpack_require__) {
11346
+
11347
+ var metadata = __webpack_require__(38);
11348
+ var anObject = __webpack_require__(1);
11349
+ var toMetaKey = metadata.key;
11350
+ var getOrCreateMetadataMap = metadata.map;
11351
+ var store = metadata.store;
11352
+
11353
+ metadata.exp({ deleteMetadata: function deleteMetadata(metadataKey, target /* , targetKey */) {
11354
+ var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2]);
11355
+ var metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false);
11356
+ if (metadataMap === undefined || !metadataMap['delete'](metadataKey)) return false;
11357
+ if (metadataMap.size) return true;
11358
+ var targetMetadata = store.get(target);
11359
+ targetMetadata['delete'](targetKey);
11360
+ return !!targetMetadata.size || store['delete'](target);
11361
+ } });
11362
+
11363
+
11364
+ /***/ }),
11365
+ /* 395 */
11366
+ /***/ (function(module, exports, __webpack_require__) {
11367
+
11368
+ var metadata = __webpack_require__(38);
11369
+ var anObject = __webpack_require__(1);
11370
+ var getPrototypeOf = __webpack_require__(26);
11371
+ var ordinaryHasOwnMetadata = metadata.has;
11372
+ var ordinaryGetOwnMetadata = metadata.get;
11373
+ var toMetaKey = metadata.key;
11374
+
11375
+ var ordinaryGetMetadata = function (MetadataKey, O, P) {
11376
+ var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);
11377
+ if (hasOwn) return ordinaryGetOwnMetadata(MetadataKey, O, P);
11378
+ var parent = getPrototypeOf(O);
11379
+ return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined;
11380
  };
11381
 
11382
+ metadata.exp({ getMetadata: function getMetadata(metadataKey, target /* , targetKey */) {
11383
+ return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));
11384
+ } });
11385
+
11386
 
11387
  /***/ }),
11388
+ /* 396 */
11389
  /***/ (function(module, exports, __webpack_require__) {
11390
 
11391
+ var Set = __webpack_require__(160);
11392
+ var from = __webpack_require__(169);
11393
+ var metadata = __webpack_require__(38);
11394
+ var anObject = __webpack_require__(1);
11395
+ var getPrototypeOf = __webpack_require__(26);
11396
+ var ordinaryOwnMetadataKeys = metadata.keys;
11397
+ var toMetaKey = metadata.key;
11398
+
11399
+ var ordinaryMetadataKeys = function (O, P) {
11400
+ var oKeys = ordinaryOwnMetadataKeys(O, P);
11401
+ var parent = getPrototypeOf(O);
11402
+ if (parent === null) return oKeys;
11403
+ var pKeys = ordinaryMetadataKeys(parent, P);
11404
+ return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys;
11405
+ };
11406
 
11407
+ metadata.exp({ getMetadataKeys: function getMetadataKeys(target /* , targetKey */) {
11408
+ return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));
11409
+ } });
11410
 
 
 
 
 
11411
 
11412
+ /***/ }),
11413
+ /* 397 */
11414
+ /***/ (function(module, exports, __webpack_require__) {
11415
 
11416
+ var metadata = __webpack_require__(38);
11417
+ var anObject = __webpack_require__(1);
11418
+ var ordinaryGetOwnMetadata = metadata.get;
11419
+ var toMetaKey = metadata.key;
11420
 
11421
+ metadata.exp({ getOwnMetadata: function getOwnMetadata(metadataKey, target /* , targetKey */) {
11422
+ return ordinaryGetOwnMetadata(metadataKey, anObject(target)
11423
+ , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));
11424
+ } });
11425
 
 
11426
 
11427
+ /***/ }),
11428
+ /* 398 */
11429
+ /***/ (function(module, exports, __webpack_require__) {
11430
 
11431
+ var metadata = __webpack_require__(38);
11432
+ var anObject = __webpack_require__(1);
11433
+ var ordinaryOwnMetadataKeys = metadata.keys;
11434
+ var toMetaKey = metadata.key;
11435
 
11436
+ metadata.exp({ getOwnMetadataKeys: function getOwnMetadataKeys(target /* , targetKey */) {
11437
+ return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));
11438
+ } });
11439
 
 
 
 
11440
 
11441
+ /***/ }),
11442
+ /* 399 */
11443
+ /***/ (function(module, exports, __webpack_require__) {
11444
 
11445
+ var metadata = __webpack_require__(38);
11446
+ var anObject = __webpack_require__(1);
11447
+ var getPrototypeOf = __webpack_require__(26);
11448
+ var ordinaryHasOwnMetadata = metadata.has;
11449
+ var toMetaKey = metadata.key;
11450
+
11451
+ var ordinaryHasMetadata = function (MetadataKey, O, P) {
11452
+ var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);
11453
+ if (hasOwn) return true;
11454
+ var parent = getPrototypeOf(O);
11455
+ return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false;
11456
+ };
11457
 
11458
+ metadata.exp({ hasMetadata: function hasMetadata(metadataKey, target /* , targetKey */) {
11459
+ return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));
11460
+ } });
 
 
 
 
 
 
11461
 
 
 
11462
 
11463
  /***/ }),
11464
+ /* 400 */
11465
+ /***/ (function(module, exports, __webpack_require__) {
11466
 
11467
+ var metadata = __webpack_require__(38);
11468
+ var anObject = __webpack_require__(1);
11469
+ var ordinaryHasOwnMetadata = metadata.has;
11470
+ var toMetaKey = metadata.key;
 
11471
 
11472
+ metadata.exp({ hasOwnMetadata: function hasOwnMetadata(metadataKey, target /* , targetKey */) {
11473
+ return ordinaryHasOwnMetadata(metadataKey, anObject(target)
11474
+ , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));
11475
+ } });
11476
 
 
 
 
 
 
 
11477
 
11478
+ /***/ }),
11479
+ /* 401 */
11480
+ /***/ (function(module, exports, __webpack_require__) {
11481
+
11482
+ var $metadata = __webpack_require__(38);
11483
+ var anObject = __webpack_require__(1);
11484
+ var aFunction = __webpack_require__(19);
11485
+ var toMetaKey = $metadata.key;
11486
+ var ordinaryDefineOwnMetadata = $metadata.set;
11487
+
11488
+ $metadata.exp({ metadata: function metadata(metadataKey, metadataValue) {
11489
+ return function decorator(target, targetKey) {
11490
+ ordinaryDefineOwnMetadata(
11491
+ metadataKey, metadataValue,
11492
+ (targetKey !== undefined ? anObject : aFunction)(target),
11493
+ toMetaKey(targetKey)
11494
+ );
11495
+ };
11496
+ } });
11497
+
11498
 
11499
  /***/ }),
11500
+ /* 402 */
11501
+ /***/ (function(module, exports, __webpack_require__) {
11502
 
11503
+ // https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-09/sept-25.md#510-globalasap-for-enqueuing-a-microtask
11504
+ var $export = __webpack_require__(0);
11505
+ var microtask = __webpack_require__(114)();
11506
+ var process = __webpack_require__(2).process;
11507
+ var isNode = __webpack_require__(30)(process) == 'process';
 
 
 
 
 
 
11508
 
11509
+ $export($export.G, {
11510
+ asap: function asap(fn) {
11511
+ var domain = isNode && process.domain;
11512
+ microtask(domain ? domain.bind(fn) : fn);
11513
+ }
11514
+ });
11515
 
 
11516
 
11517
+ /***/ }),
11518
+ /* 403 */
11519
+ /***/ (function(module, exports, __webpack_require__) {
11520
 
11521
+ "use strict";
11522
 
11523
+ // https://github.com/zenparsing/es-observable
11524
+ var $export = __webpack_require__(0);
11525
+ var global = __webpack_require__(2);
11526
+ var core = __webpack_require__(28);
11527
+ var microtask = __webpack_require__(114)();
11528
+ var OBSERVABLE = __webpack_require__(5)('observable');
11529
+ var aFunction = __webpack_require__(19);
11530
+ var anObject = __webpack_require__(1);
11531
+ var anInstance = __webpack_require__(51);
11532
+ var redefineAll = __webpack_require__(53);
11533
+ var hide = __webpack_require__(20);
11534
+ var forOf = __webpack_require__(52);
11535
+ var RETURN = forOf.RETURN;
11536
+
11537
+ var getMethod = function (fn) {
11538
+ return fn == null ? undefined : aFunction(fn);
11539
+ };
11540
 
11541
+ var cleanupSubscription = function (subscription) {
11542
+ var cleanup = subscription._c;
11543
+ if (cleanup) {
11544
+ subscription._c = undefined;
11545
+ cleanup();
11546
+ }
11547
+ };
11548
 
11549
+ var subscriptionClosed = function (subscription) {
11550
+ return subscription._o === undefined;
11551
+ };
11552
 
11553
+ var closeSubscription = function (subscription) {
11554
+ if (!subscriptionClosed(subscription)) {
11555
+ subscription._o = undefined;
11556
+ cleanupSubscription(subscription);
11557
+ }
11558
+ };
11559
 
11560
+ var Subscription = function (observer, subscriber) {
11561
+ anObject(observer);
11562
+ this._c = undefined;
11563
+ this._o = observer;
11564
+ observer = new SubscriptionObserver(this);
11565
+ try {
11566
+ var cleanup = subscriber(observer);
11567
+ var subscription = cleanup;
11568
+ if (cleanup != null) {
11569
+ if (typeof cleanup.unsubscribe === 'function') cleanup = function () { subscription.unsubscribe(); };
11570
+ else aFunction(cleanup);
11571
+ this._c = cleanup;
11572
+ }
11573
+ } catch (e) {
11574
+ observer.error(e);
11575
+ return;
11576
+ } if (subscriptionClosed(this)) cleanupSubscription(this);
11577
+ };
11578
 
11579
+ Subscription.prototype = redefineAll({}, {
11580
+ unsubscribe: function unsubscribe() { closeSubscription(this); }
11581
+ });
11582
 
11583
+ var SubscriptionObserver = function (subscription) {
11584
+ this._s = subscription;
11585
+ };
11586
 
11587
+ SubscriptionObserver.prototype = redefineAll({}, {
11588
+ next: function next(value) {
11589
+ var subscription = this._s;
11590
+ if (!subscriptionClosed(subscription)) {
11591
+ var observer = subscription._o;
 
 
11592
  try {
11593
+ var m = getMethod(observer.next);
11594
+ if (m) return m.call(observer, value);
11595
+ } catch (e) {
11596
+ try {
11597
+ closeSubscription(subscription);
11598
+ } finally {
11599
+ throw e;
11600
  }
 
 
 
11601
  }
11602
  }
11603
+ },
11604
+ error: function error(value) {
11605
+ var subscription = this._s;
11606
+ if (subscriptionClosed(subscription)) throw value;
11607
+ var observer = subscription._o;
11608
+ subscription._o = undefined;
11609
+ try {
11610
+ var m = getMethod(observer.error);
11611
+ if (!m) throw value;
11612
+ value = m.call(observer, value);
11613
+ } catch (e) {
11614
+ try {
11615
+ cleanupSubscription(subscription);
11616
+ } finally {
11617
+ throw e;
11618
+ }
11619
+ } cleanupSubscription(subscription);
11620
+ return value;
11621
+ },
11622
+ complete: function complete(value) {
11623
+ var subscription = this._s;
11624
+ if (!subscriptionClosed(subscription)) {
11625
+ var observer = subscription._o;
11626
+ subscription._o = undefined;
11627
+ try {
11628
+ var m = getMethod(observer.complete);
11629
+ value = m ? m.call(observer, value) : undefined;
11630
+ } catch (e) {
11631
+ try {
11632
+ cleanupSubscription(subscription);
11633
+ } finally {
11634
+ throw e;
11635
+ }
11636
+ } cleanupSubscription(subscription);
11637
+ return value;
11638
+ }
11639
+ }
11640
+ });
11641
+
11642
+ var $Observable = function Observable(subscriber) {
11643
+ anInstance(this, $Observable, 'Observable', '_f')._f = aFunction(subscriber);
11644
+ };
11645
+
11646
+ redefineAll($Observable.prototype, {
11647
+ subscribe: function subscribe(observer) {
11648
+ return new Subscription(observer, this._f);
11649
+ },
11650
+ forEach: function forEach(fn) {
11651
+ var that = this;
11652
+ return new (core.Promise || global.Promise)(function (resolve, reject) {
11653
+ aFunction(fn);
11654
+ var subscription = that.subscribe({
11655
+ next: function (value) {
11656
+ try {
11657
+ return fn(value);
11658
+ } catch (e) {
11659
+ reject(e);
11660
+ subscription.unsubscribe();
11661
+ }
11662
+ },
11663
+ error: reject,
11664
+ complete: resolve
11665
+ });
11666
+ });
11667
+ }
11668
+ });
11669
+
11670
+ redefineAll($Observable, {
11671
+ from: function from(x) {
11672
+ var C = typeof this === 'function' ? this : $Observable;
11673
+ var method = getMethod(anObject(x)[OBSERVABLE]);
11674
+ if (method) {
11675
+ var observable = anObject(method.call(x));
11676
+ return observable.constructor === C ? observable : new C(function (observer) {
11677
+ return observable.subscribe(observer);
11678
+ });
11679
+ }
11680
+ return new C(function (observer) {
11681
+ var done = false;
11682
+ microtask(function () {
11683
+ if (!done) {
11684
+ try {
11685
+ if (forOf(x, false, function (it) {
11686
+ observer.next(it);
11687
+ if (done) return RETURN;
11688
+ }) === RETURN) return;
11689
+ } catch (e) {
11690
+ if (done) throw e;
11691
+ observer.error(e);
11692
+ return;
11693
+ } observer.complete();
11694
+ }
11695
+ });
11696
+ return function () { done = true; };
11697
+ });
11698
+ },
11699
+ of: function of() {
11700
+ for (var i = 0, l = arguments.length, items = new Array(l); i < l;) items[i] = arguments[i++];
11701
+ return new (typeof this === 'function' ? this : $Observable)(function (observer) {
11702
+ var done = false;
11703
+ microtask(function () {
11704
+ if (!done) {
11705
+ for (var j = 0; j < items.length; ++j) {
11706
+ observer.next(items[j]);
11707
+ if (done) return;
11708
+ } observer.complete();
11709
+ }
11710
+ });
11711
+ return function () { done = true; };
11712
+ });
11713
+ }
11714
+ });
11715
+
11716
+ hide($Observable.prototype, OBSERVABLE, function () { return this; });
11717
+
11718
+ $export($export.G, { Observable: $Observable });
11719
+
11720
+ __webpack_require__(50)('Observable');
11721
+
11722
+
11723
+ /***/ }),
11724
+ /* 404 */
11725
+ /***/ (function(module, exports, __webpack_require__) {
11726
+
11727
+ // ie9- setTimeout & setInterval additional parameters fix
11728
+ var global = __webpack_require__(2);
11729
+ var $export = __webpack_require__(0);
11730
+ var userAgent = __webpack_require__(81);
11731
+ var slice = [].slice;
11732
+ var MSIE = /MSIE .\./.test(userAgent); // <- dirty ie9- check
11733
+ var wrap = function (set) {
11734
+ return function (fn, time /* , ...args */) {
11735
+ var boundArgs = arguments.length > 2;
11736
+ var args = boundArgs ? slice.call(arguments, 2) : false;
11737
+ return set(boundArgs ? function () {
11738
+ // eslint-disable-next-line no-new-func
11739
+ (typeof fn == 'function' ? fn : Function(fn)).apply(this, args);
11740
+ } : fn, time);
11741
  };
11742
+ };
11743
+ $export($export.G + $export.B + $export.F * MSIE, {
11744
+ setTimeout: wrap(global.setTimeout),
11745
+ setInterval: wrap(global.setInterval)
11746
+ });
11747
 
 
 
11748
 
11749
+ /***/ }),
11750
+ /* 405 */
11751
+ /***/ (function(module, exports, __webpack_require__) {
11752
+
11753
+ var $export = __webpack_require__(0);
11754
+ var $task = __webpack_require__(113);
11755
+ $export($export.G + $export.B, {
11756
+ setImmediate: $task.set,
11757
+ clearImmediate: $task.clear
11758
+ });
11759
+
11760
+
11761
+ /***/ }),
11762
+ /* 406 */
11763
+ /***/ (function(module, exports, __webpack_require__) {
11764
+
11765
+ var $iterators = __webpack_require__(112);
11766
+ var getKeys = __webpack_require__(46);
11767
+ var redefine = __webpack_require__(21);
11768
+ var global = __webpack_require__(2);
11769
+ var hide = __webpack_require__(20);
11770
+ var Iterators = __webpack_require__(60);
11771
+ var wks = __webpack_require__(5);
11772
+ var ITERATOR = wks('iterator');
11773
+ var TO_STRING_TAG = wks('toStringTag');
11774
+ var ArrayValues = Iterators.Array;
11775
+
11776
+ var DOMIterables = {
11777
+ CSSRuleList: true, // TODO: Not spec compliant, should be false.
11778
+ CSSStyleDeclaration: false,
11779
+ CSSValueList: false,
11780
+ ClientRectList: false,
11781
+ DOMRectList: false,
11782
+ DOMStringList: false,
11783
+ DOMTokenList: true,
11784
+ DataTransferItemList: false,
11785
+ FileList: false,
11786
+ HTMLAllCollection: false,
11787
+ HTMLCollection: false,
11788
+ HTMLFormElement: false,
11789
+ HTMLSelectElement: false,
11790
+ MediaList: true, // TODO: Not spec compliant, should be false.
11791
+ MimeTypeArray: false,
11792
+ NamedNodeMap: false,
11793
+ NodeList: true,
11794
+ PaintRequestList: false,
11795
+ Plugin: false,
11796
+ PluginArray: false,
11797
+ SVGLengthList: false,
11798
+ SVGNumberList: false,
11799
+ SVGPathSegList: false,
11800
+ SVGPointList: false,
11801
+ SVGStringList: false,
11802
+ SVGTransformList: false,
11803
+ SourceBufferList: false,
11804
+ StyleSheetList: true, // TODO: Not spec compliant, should be false.
11805
+ TextTrackCueList: false,
11806
+ TextTrackList: false,
11807
+ TouchList: false
11808
+ };
11809
+
11810
+ for (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {
11811
+ var NAME = collections[i];
11812
+ var explicit = DOMIterables[NAME];
11813
+ var Collection = global[NAME];
11814
+ var proto = Collection && Collection.prototype;
11815
+ var key;
11816
+ if (proto) {
11817
+ if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);
11818
+ if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);
11819
+ Iterators[NAME] = ArrayValues;
11820
+ if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true);
11821
+ }
11822
+ }
11823
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11824
 
11825
+ /***/ }),
11826
+ /* 407 */
11827
+ /***/ (function(module, exports, __webpack_require__) {
11828
 
11829
+ /* WEBPACK VAR INJECTION */(function(global) {/**
11830
+ * Copyright (c) 2014, Facebook, Inc.
11831
+ * All rights reserved.
11832
+ *
11833
+ * This source code is licensed under the BSD-style license found in the
11834
+ * https://raw.github.com/facebook/regenerator/master/LICENSE file. An
11835
+ * additional grant of patent rights can be found in the PATENTS file in
11836
+ * the same directory.
11837
+ */
11838
 
11839
+ !(function(global) {
11840
+ "use strict";
11841
+
11842
+ var Op = Object.prototype;
11843
+ var hasOwn = Op.hasOwnProperty;
11844
+ var undefined; // More compressible than void 0.
11845
+ var $Symbol = typeof Symbol === "function" ? Symbol : {};
11846
+ var iteratorSymbol = $Symbol.iterator || "@@iterator";
11847
+ var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator";
11848
+ var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";
11849
+
11850
+ var inModule = typeof module === "object";
11851
+ var runtime = global.regeneratorRuntime;
11852
+ if (runtime) {
11853
+ if (inModule) {
11854
+ // If regeneratorRuntime is defined globally and we're in a module,
11855
+ // make the exports object identical to regeneratorRuntime.
11856
+ module.exports = runtime;
11857
+ }
11858
+ // Don't bother evaluating the rest of this file if the runtime was
11859
+ // already defined globally.
11860
+ return;
11861
+ }
11862
 
11863
+ // Define the runtime globally (as expected by generated code) as either
11864
+ // module.exports (if we're in a module) or a new, empty object.
11865
+ runtime = global.regeneratorRuntime = inModule ? module.exports : {};
11866
 
11867
+ function wrap(innerFn, outerFn, self, tryLocsList) {
11868
+ // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.
11869
+ var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;
11870
+ var generator = Object.create(protoGenerator.prototype);
11871
+ var context = new Context(tryLocsList || []);
11872
 
11873
+ // The ._invoke method unifies the implementations of the .next,
11874
+ // .throw, and .return methods.
11875
+ generator._invoke = makeInvokeMethod(innerFn, self, context);
 
 
 
 
 
 
 
 
11876
 
11877
+ return generator;
11878
+ }
11879
+ runtime.wrap = wrap;
11880
+
11881
+ // Try/catch helper to minimize deoptimizations. Returns a completion
11882
+ // record like context.tryEntries[i].completion. This interface could
11883
+ // have been (and was previously) designed to take a closure to be
11884
+ // invoked without arguments, but in all the cases we care about we
11885
+ // already have an existing method we want to call, so there's no need
11886
+ // to create a new function object. We can even get away with assuming
11887
+ // the method takes exactly one argument, since that happens to be true
11888
+ // in every case, so we don't have to touch the arguments object. The
11889
+ // only additional allocation required is the completion record, which
11890
+ // has a stable shape and so hopefully should be cheap to allocate.
11891
+ function tryCatch(fn, obj, arg) {
11892
+ try {
11893
+ return { type: "normal", arg: fn.call(obj, arg) };
11894
+ } catch (err) {
11895
+ return { type: "throw", arg: err };
11896
+ }
11897
+ }
11898
 
11899
+ var GenStateSuspendedStart = "suspendedStart";
11900
+ var GenStateSuspendedYield = "suspendedYield";
11901
+ var GenStateExecuting = "executing";
11902
+ var GenStateCompleted = "completed";
11903
+
11904
+ // Returning this object from the innerFn has the same effect as
11905
+ // breaking out of the dispatch switch statement.
11906
+ var ContinueSentinel = {};
11907
+
11908
+ // Dummy constructor functions that we use as the .constructor and
11909
+ // .constructor.prototype properties for functions that return Generator
11910
+ // objects. For full spec compliance, you may wish to configure your
11911
+ // minifier not to mangle the names of these two functions.
11912
+ function Generator() {}
11913
+ function GeneratorFunction() {}
11914
+ function GeneratorFunctionPrototype() {}
11915
+
11916
+ // This is a polyfill for %IteratorPrototype% for environments that
11917
+ // don't natively support it.
11918
+ var IteratorPrototype = {};
11919
+ IteratorPrototype[iteratorSymbol] = function () {
11920
+ return this;
11921
+ };
11922
 
11923
+ var getProto = Object.getPrototypeOf;
11924
+ var NativeIteratorPrototype = getProto && getProto(getProto(values([])));
11925
+ if (NativeIteratorPrototype &&
11926
+ NativeIteratorPrototype !== Op &&
11927
+ hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {
11928
+ // This environment has a native %IteratorPrototype%; use it instead
11929
+ // of the polyfill.
11930
+ IteratorPrototype = NativeIteratorPrototype;
11931
+ }
11932
 
11933
+ var Gp = GeneratorFunctionPrototype.prototype =
11934
+ Generator.prototype = Object.create(IteratorPrototype);
11935
+ GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;
11936
+ GeneratorFunctionPrototype.constructor = GeneratorFunction;
11937
+ GeneratorFunctionPrototype[toStringTagSymbol] =
11938
+ GeneratorFunction.displayName = "GeneratorFunction";
11939
+
11940
+ // Helper for defining the .next, .throw, and .return methods of the
11941
+ // Iterator interface in terms of a single ._invoke method.
11942
+ function defineIteratorMethods(prototype) {
11943
+ ["next", "throw", "return"].forEach(function(method) {
11944
+ prototype[method] = function(arg) {
11945
+ return this._invoke(method, arg);
11946
+ };
11947
+ });
11948
+ }
11949
 
11950
+ runtime.isGeneratorFunction = function(genFun) {
11951
+ var ctor = typeof genFun === "function" && genFun.constructor;
11952
+ return ctor
11953
+ ? ctor === GeneratorFunction ||
11954
+ // For the native GeneratorFunction constructor, the best we can
11955
+ // do is to check its .name property.
11956
+ (ctor.displayName || ctor.name) === "GeneratorFunction"
11957
+ : false;
11958
+ };
11959
 
11960
+ runtime.mark = function(genFun) {
11961
+ if (Object.setPrototypeOf) {
11962
+ Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);
11963
+ } else {
11964
+ genFun.__proto__ = GeneratorFunctionPrototype;
11965
+ if (!(toStringTagSymbol in genFun)) {
11966
+ genFun[toStringTagSymbol] = "GeneratorFunction";
11967
  }
11968
+ }
11969
+ genFun.prototype = Object.create(Gp);
11970
+ return genFun;
11971
+ };
11972
 
11973
+ // Within the body of any async function, `await x` is transformed to
11974
+ // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test
11975
+ // `hasOwn.call(value, "__await")` to determine if the yielded value is
11976
+ // meant to be awaited.
11977
+ runtime.awrap = function(arg) {
11978
+ return { __await: arg };
11979
+ };
11980
 
11981
+ function AsyncIterator(generator) {
11982
+ function invoke(method, arg, resolve, reject) {
11983
+ var record = tryCatch(generator[method], generator, arg);
11984
+ if (record.type === "throw") {
11985
+ reject(record.arg);
11986
+ } else {
11987
+ var result = record.arg;
11988
+ var value = result.value;
11989
+ if (value &&
11990
+ typeof value === "object" &&
11991
+ hasOwn.call(value, "__await")) {
11992
+ return Promise.resolve(value.__await).then(function(value) {
11993
+ invoke("next", value, resolve, reject);
11994
+ }, function(err) {
11995
+ invoke("throw", err, resolve, reject);
11996
+ });
11997
+ }
11998
 
11999
+ return Promise.resolve(value).then(function(unwrapped) {
12000
+ // When a yielded Promise is resolved, its final value becomes
12001
+ // the .value of the Promise<{value,done}> result for the
12002
+ // current iteration. If the Promise is rejected, however, the
12003
+ // result for this iteration will be rejected with the same
12004
+ // reason. Note that rejections of yielded Promises are not
12005
+ // thrown back into the generator function, as is the case
12006
+ // when an awaited Promise is rejected. This difference in
12007
+ // behavior between yield and await is important, because it
12008
+ // allows the consumer to decide what to do with the yielded
12009
+ // rejection (swallow it and continue, manually .throw it back
12010
+ // into the generator, abandon iteration, whatever). With
12011
+ // await, by contrast, there is no opportunity to examine the
12012
+ // rejection reason outside the generator function, so the
12013
+ // only option is to throw it from the await expression, and
12014
+ // let the generator function handle the exception.
12015
+ result.value = unwrapped;
12016
+ resolve(result);
12017
+ }, reject);
12018
+ }
12019
+ }
12020
 
12021
+ if (typeof global.process === "object" && global.process.domain) {
12022
+ invoke = global.process.domain.bind(invoke);
12023
+ }
 
 
 
 
 
 
 
12024
 
12025
+ var previousPromise;
 
 
12026
 
12027
+ function enqueue(method, arg) {
12028
+ function callInvokeWithMethodAndArg() {
12029
+ return new Promise(function(resolve, reject) {
12030
+ invoke(method, arg, resolve, reject);
12031
+ });
12032
+ }
12033
 
12034
+ return previousPromise =
12035
+ // If enqueue has been called before, then we want to wait until
12036
+ // all previous Promises have been resolved before calling invoke,
12037
+ // so that results are always delivered in the correct order. If
12038
+ // enqueue has not been called before, then it is important to
12039
+ // call invoke immediately, without waiting on a callback to fire,
12040
+ // so that the async generator function has the opportunity to do
12041
+ // any necessary setup in a predictable way. This predictability
12042
+ // is why the Promise constructor synchronously invokes its
12043
+ // executor callback, and why async functions synchronously
12044
+ // execute code before the first await. Since we implement simple
12045
+ // async functions in terms of async generators, it is especially
12046
+ // important to get this right, even though it requires care.
12047
+ previousPromise ? previousPromise.then(
12048
+ callInvokeWithMethodAndArg,
12049
+ // Avoid propagating failures to Promises returned by later
12050
+ // invocations of the iterator.
12051
+ callInvokeWithMethodAndArg
12052
+ ) : callInvokeWithMethodAndArg();
12053
+ }
12054
 
12055
+ // Define the unified helper method that is used to implement .next,
12056
+ // .throw, and .return (see defineIteratorMethods).
12057
+ this._invoke = enqueue;
12058
+ }
12059
 
12060
+ defineIteratorMethods(AsyncIterator.prototype);
12061
+ AsyncIterator.prototype[asyncIteratorSymbol] = function () {
12062
+ return this;
12063
+ };
12064
+ runtime.AsyncIterator = AsyncIterator;
12065
+
12066
+ // Note that simple async functions are implemented on top of
12067
+ // AsyncIterator objects; they just return a Promise for the value of
12068
+ // the final result produced by the iterator.
12069
+ runtime.async = function(innerFn, outerFn, self, tryLocsList) {
12070
+ var iter = new AsyncIterator(
12071
+ wrap(innerFn, outerFn, self, tryLocsList)
12072
+ );
12073
 
12074
+ return runtime.isGeneratorFunction(outerFn)
12075
+ ? iter // If outerFn is a generator, return the full iterator.
12076
+ : iter.next().then(function(result) {
12077
+ return result.done ? result.value : iter.next();
12078
+ });
12079
+ };
12080
 
12081
+ function makeInvokeMethod(innerFn, self, context) {
12082
+ var state = GenStateSuspendedStart;
12083
 
12084
+ return function invoke(method, arg) {
12085
+ if (state === GenStateExecuting) {
12086
+ throw new Error("Generator is already running");
12087
+ }
12088
 
12089
+ if (state === GenStateCompleted) {
12090
+ if (method === "throw") {
12091
+ throw arg;
12092
+ }
 
 
 
 
12093
 
12094
+ // Be forgiving, per 25.3.3.3.3 of the spec:
12095
+ // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume
12096
+ return doneResult();
12097
+ }
12098
 
12099
+ context.method = method;
12100
+ context.arg = arg;
 
 
 
 
 
12101
 
12102
+ while (true) {
12103
+ var delegate = context.delegate;
12104
+ if (delegate) {
12105
+ var delegateResult = maybeInvokeDelegate(delegate, context);
12106
+ if (delegateResult) {
12107
+ if (delegateResult === ContinueSentinel) continue;
12108
+ return delegateResult;
12109
+ }
12110
+ }
12111
 
12112
+ if (context.method === "next") {
12113
+ // Setting context._sent for legacy support of Babel's
12114
+ // function.sent implementation.
12115
+ context.sent = context._sent = context.arg;
12116
 
12117
+ } else if (context.method === "throw") {
12118
+ if (state === GenStateSuspendedStart) {
12119
+ state = GenStateCompleted;
12120
+ throw context.arg;
12121
+ }
 
 
 
 
 
 
 
12122
 
12123
+ context.dispatchException(context.arg);
 
 
12124
 
12125
+ } else if (context.method === "return") {
12126
+ context.abrupt("return", context.arg);
 
 
12127
  }
 
 
 
 
12128
 
12129
+ state = GenStateExecuting;
 
 
 
 
12130
 
12131
+ var record = tryCatch(innerFn, self, context);
12132
+ if (record.type === "normal") {
12133
+ // If an exception is thrown from innerFn, we leave state ===
12134
+ // GenStateExecuting and loop back for another invocation.
12135
+ state = context.done
12136
+ ? GenStateCompleted
12137
+ : GenStateSuspendedYield;
12138
 
12139
+ if (record.arg === ContinueSentinel) {
12140
+ continue;
12141
+ }
 
12142
 
12143
+ return {
12144
+ value: record.arg,
12145
+ done: context.done
12146
+ };
12147
+
12148
+ } else if (record.type === "throw") {
12149
+ state = GenStateCompleted;
12150
+ // Dispatch the exception by looping back around to the
12151
+ // context.dispatchException(context.arg) call above.
12152
+ context.method = "throw";
12153
+ context.arg = record.arg;
12154
+ }
12155
+ }
12156
+ };
12157
+ }
12158
 
12159
+ // Call delegate.iterator[context.method](context.arg) and handle the
12160
+ // result, either by returning a { value, done } result from the
12161
+ // delegate iterator, or by modifying context.method and context.arg,
12162
+ // setting context.delegate to null, and returning the ContinueSentinel.
12163
+ function maybeInvokeDelegate(delegate, context) {
12164
+ var method = delegate.iterator[context.method];
12165
+ if (method === undefined) {
12166
+ // A .throw or .return when the delegate iterator has no .throw
12167
+ // method always terminates the yield* loop.
12168
+ context.delegate = null;
12169
+
12170
+ if (context.method === "throw") {
12171
+ if (delegate.iterator.return) {
12172
+ // If the delegate iterator has a return method, give it a
12173
+ // chance to clean up.
12174
+ context.method = "return";
12175
+ context.arg = undefined;
12176
+ maybeInvokeDelegate(delegate, context);
12177
+
12178
+ if (context.method === "throw") {
12179
+ // If maybeInvokeDelegate(context) changed context.method from
12180
+ // "return" to "throw", let that override the TypeError below.
12181
+ return ContinueSentinel;
12182
  }
12183
  }
12184
+
12185
+ context.method = "throw";
12186
+ context.arg = new TypeError(
12187
+ "The iterator does not provide a 'throw' method");
12188
+ }
12189
+
12190
+ return ContinueSentinel;
12191
  }
12192
 
12193
+ var record = tryCatch(method, delegate.iterator, context.arg);
 
 
12194
 
12195
+ if (record.type === "throw") {
12196
+ context.method = "throw";
12197
+ context.arg = record.arg;
12198
+ context.delegate = null;
12199
+ return ContinueSentinel;
12200
+ }
12201
 
12202
+ var info = record.arg;
 
 
 
 
12203
 
12204
+ if (! info) {
12205
+ context.method = "throw";
12206
+ context.arg = new TypeError("iterator result is not an object");
12207
+ context.delegate = null;
12208
+ return ContinueSentinel;
12209
+ }
12210
 
12211
+ if (info.done) {
12212
+ // Assign the result of the finished delegate to the temporary
12213
+ // variable specified by delegate.resultName (see delegateYield).
12214
+ context[delegate.resultName] = info.value;
12215
+
12216
+ // Resume execution at the desired location (see delegateYield).
12217
+ context.next = delegate.nextLoc;
12218
+
12219
+ // If context.method was "throw" but the delegate handled the
12220
+ // exception, let the outer generator proceed normally. If
12221
+ // context.method was "next", forget context.arg since it has been
12222
+ // "consumed" by the delegate iterator. If context.method was
12223
+ // "return", allow the original .return call to continue in the
12224
+ // outer generator.
12225
+ if (context.method !== "return") {
12226
+ context.method = "next";
12227
+ context.arg = undefined;
12228
+ }
12229
 
12230
+ } else {
12231
+ // Re-yield the result returned by the delegate method.
12232
+ return info;
12233
  }
12234
+
12235
+ // The delegate iterator is finished, so forget it and continue with
12236
+ // the outer generator.
12237
+ context.delegate = null;
12238
+ return ContinueSentinel;
12239
+ }
12240
+
12241
+ // Define Generator.prototype.{next,throw,return} in terms of the
12242
+ // unified ._invoke helper method.
12243
+ defineIteratorMethods(Gp);
12244
+
12245
+ Gp[toStringTagSymbol] = "Generator";
12246
+
12247
+ // A Generator should always return itself as the iterator object when the
12248
+ // @@iterator function is called on it. Some browsers' implementations of the
12249
+ // iterator prototype chain incorrectly implement this, causing the Generator
12250
+ // object to not be returned from this call. This ensures that doesn't happen.
12251
+ // See https://github.com/facebook/regenerator/issues/274 for more details.
12252
+ Gp[iteratorSymbol] = function() {
12253
+ return this;
12254
  };
 
12255
 
12256
+ Gp.toString = function() {
12257
+ return "[object Generator]";
12258
+ };
 
 
 
 
 
 
 
12259
 
12260
+ function pushTryEntry(locs) {
12261
+ var entry = { tryLoc: locs[0] };
 
 
 
 
 
 
 
 
 
 
 
 
 
12262
 
12263
+ if (1 in locs) {
12264
+ entry.catchLoc = locs[1];
12265
+ }
12266
+
12267
+ if (2 in locs) {
12268
+ entry.finallyLoc = locs[2];
12269
+ entry.afterLoc = locs[3];
12270
+ }
12271
+
12272
+ this.tryEntries.push(entry);
12273
+ }
12274
+
12275
+ function resetTryEntry(entry) {
12276
+ var record = entry.completion || {};
12277
+ record.type = "normal";
12278
+ delete record.arg;
12279
+ entry.completion = record;
12280
+ }
12281
+
12282
+ function Context(tryLocsList) {
12283
+ // The root entry object (effectively a try statement without a catch
12284
+ // or a finally block) gives us a place to store values thrown from
12285
+ // locations where there is no enclosing try statement.
12286
+ this.tryEntries = [{ tryLoc: "root" }];
12287
+ tryLocsList.forEach(pushTryEntry, this);
12288
+ this.reset(true);
12289
+ }
12290
+
12291
+ runtime.keys = function(object) {
12292
+ var keys = [];
12293
+ for (var key in object) {
12294
+ keys.push(key);
12295
+ }
12296
+ keys.reverse();
12297
+
12298
+ // Rather than returning an object with a next method, we keep
12299
+ // things simple and return the next function itself.
12300
+ return function next() {
12301
+ while (keys.length) {
12302
+ var key = keys.pop();
12303
+ if (key in object) {
12304
+ next.value = key;
12305
+ next.done = false;
12306
+ return next;
12307
+ }
12308
+ }
12309
+
12310
+ // To avoid creating an additional object, we just hang the .value
12311
+ // and .done properties off the next function object itself. This
12312
+ // also ensures that the minifier will not anonymize the function.
12313
+ next.done = true;
12314
+ return next;
12315
  };
12316
+ };
12317
+
12318
+ function values(iterable) {
12319
+ if (iterable) {
12320
+ var iteratorMethod = iterable[iteratorSymbol];
12321
+ if (iteratorMethod) {
12322
+ return iteratorMethod.call(iterable);
12323
+ }
12324
+
12325
+ if (typeof iterable.next === "function") {
12326
+ return iterable;
12327
+ }
12328
+
12329
+ if (!isNaN(iterable.length)) {
12330
+ var i = -1, next = function next() {
12331
+ while (++i < iterable.length) {
12332
+ if (hasOwn.call(iterable, i)) {
12333
+ next.value = iterable[i];
12334
+ next.done = false;
12335
+ return next;
12336
+ }
12337
+ }
12338
 
12339
+ next.value = undefined;
12340
+ next.done = true;
12341
 
12342
+ return next;
12343
+ };
 
 
12344
 
12345
+ return next.next = next;
 
 
 
12346
  }
12347
+ }
12348
 
12349
+ // Return an iterator with no values.
12350
+ return { next: doneResult };
12351
+ }
12352
+ runtime.values = values;
12353
 
12354
+ function doneResult() {
12355
+ return { value: undefined, done: true };
12356
+ }
12357
 
12358
+ Context.prototype = {
12359
+ constructor: Context,
12360
+
12361
+ reset: function(skipTempReset) {
12362
+ this.prev = 0;
12363
+ this.next = 0;
12364
+ // Resetting context._sent for legacy support of Babel's
12365
+ // function.sent implementation.
12366
+ this.sent = this._sent = undefined;
12367
+ this.done = false;
12368
+ this.delegate = null;
12369
+
12370
+ this.method = "next";
12371
+ this.arg = undefined;
12372
+
12373
+ this.tryEntries.forEach(resetTryEntry);
12374
+
12375
+ if (!skipTempReset) {
12376
+ for (var name in this) {
12377
+ // Not sure about the optimal order of these conditions:
12378
+ if (name.charAt(0) === "t" &&
12379
+ hasOwn.call(this, name) &&
12380
+ !isNaN(+name.slice(1))) {
12381
+ this[name] = undefined;
12382
+ }
12383
+ }
12384
+ }
12385
+ },
12386
 
12387
+ stop: function() {
12388
+ this.done = true;
 
12389
 
12390
+ var rootEntry = this.tryEntries[0];
12391
+ var rootRecord = rootEntry.completion;
12392
+ if (rootRecord.type === "throw") {
12393
+ throw rootRecord.arg;
12394
+ }
12395
 
12396
+ return this.rval;
12397
+ },
12398
 
12399
+ dispatchException: function(exception) {
12400
+ if (this.done) {
12401
+ throw exception;
12402
+ }
12403
 
12404
+ var context = this;
12405
+ function handle(loc, caught) {
12406
+ record.type = "throw";
12407
+ record.arg = exception;
12408
+ context.next = loc;
12409
+
12410
+ if (caught) {
12411
+ // If the dispatched exception was caught by a catch block,
12412
+ // then let that catch block handle the exception normally.
12413
+ context.method = "next";
12414
+ context.arg = undefined;
12415
+ }
12416
 
12417
+ return !! caught;
12418
+ }
 
12419
 
12420
+ for (var i = this.tryEntries.length - 1; i >= 0; --i) {
12421
+ var entry = this.tryEntries[i];
12422
+ var record = entry.completion;
12423
 
12424
+ if (entry.tryLoc === "root") {
12425
+ // Exception thrown outside of any try block that could handle
12426
+ // it, so set the completion value of the entire function to
12427
+ // throw the exception.
12428
+ return handle("end");
12429
+ }
12430
 
12431
+ if (entry.tryLoc <= this.prev) {
12432
+ var hasCatch = hasOwn.call(entry, "catchLoc");
12433
+ var hasFinally = hasOwn.call(entry, "finallyLoc");
12434
 
12435
+ if (hasCatch && hasFinally) {
12436
+ if (this.prev < entry.catchLoc) {
12437
+ return handle(entry.catchLoc, true);
12438
+ } else if (this.prev < entry.finallyLoc) {
12439
+ return handle(entry.finallyLoc);
12440
+ }
12441
 
12442
+ } else if (hasCatch) {
12443
+ if (this.prev < entry.catchLoc) {
12444
+ return handle(entry.catchLoc, true);
12445
+ }
12446
 
12447
+ } else if (hasFinally) {
12448
+ if (this.prev < entry.finallyLoc) {
12449
+ return handle(entry.finallyLoc);
12450
+ }
12451
 
12452
+ } else {
12453
+ throw new Error("try statement without catch or finally");
12454
+ }
12455
+ }
12456
+ }
12457
+ },
 
 
12458
 
12459
+ abrupt: function(type, arg) {
12460
+ for (var i = this.tryEntries.length - 1; i >= 0; --i) {
12461
+ var entry = this.tryEntries[i];
12462
+ if (entry.tryLoc <= this.prev &&
12463
+ hasOwn.call(entry, "finallyLoc") &&
12464
+ this.prev < entry.finallyLoc) {
12465
+ var finallyEntry = entry;
12466
+ break;
12467
+ }
12468
+ }
12469
 
12470
+ if (finallyEntry &&
12471
+ (type === "break" ||
12472
+ type === "continue") &&
12473
+ finallyEntry.tryLoc <= arg &&
12474
+ arg <= finallyEntry.finallyLoc) {
12475
+ // Ignore the finally entry if control is not jumping to a
12476
+ // location outside the try/catch block.
12477
+ finallyEntry = null;
12478
+ }
12479
 
12480
+ var record = finallyEntry ? finallyEntry.completion : {};
12481
+ record.type = type;
12482
+ record.arg = arg;
12483
 
12484
+ if (finallyEntry) {
12485
+ this.method = "next";
12486
+ this.next = finallyEntry.finallyLoc;
12487
+ return ContinueSentinel;
12488
+ }
12489
 
12490
+ return this.complete(record);
12491
+ },
 
 
 
 
12492
 
12493
+ complete: function(record, afterLoc) {
12494
+ if (record.type === "throw") {
12495
+ throw record.arg;
12496
+ }
12497
 
12498
+ if (record.type === "break" ||
12499
+ record.type === "continue") {
12500
+ this.next = record.arg;
12501
+ } else if (record.type === "return") {
12502
+ this.rval = this.arg = record.arg;
12503
+ this.method = "return";
12504
+ this.next = "end";
12505
+ } else if (record.type === "normal" && afterLoc) {
12506
+ this.next = afterLoc;
12507
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
12508
 
12509
+ return ContinueSentinel;
12510
+ },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12511
 
12512
+ finish: function(finallyLoc) {
12513
+ for (var i = this.tryEntries.length - 1; i >= 0; --i) {
12514
+ var entry = this.tryEntries[i];
12515
+ if (entry.finallyLoc === finallyLoc) {
12516
+ this.complete(entry.completion, entry.afterLoc);
12517
+ resetTryEntry(entry);
12518
+ return ContinueSentinel;
12519
+ }
12520
+ }
12521
+ },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12522
 
12523
+ "catch": function(tryLoc) {
12524
+ for (var i = this.tryEntries.length - 1; i >= 0; --i) {
12525
+ var entry = this.tryEntries[i];
12526
+ if (entry.tryLoc === tryLoc) {
12527
+ var record = entry.completion;
12528
+ if (record.type === "throw") {
12529
+ var thrown = record.arg;
12530
+ resetTryEntry(entry);
12531
+ }
12532
+ return thrown;
12533
+ }
12534
+ }
 
 
 
 
 
 
 
 
 
 
 
12535
 
12536
+ // The context.catch method must only be called with a location
12537
+ // argument that corresponds to a known catch block.
12538
+ throw new Error("illegal catch attempt");
12539
+ },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12540
 
12541
+ delegateYield: function(iterable, resultName, nextLoc) {
12542
+ this.delegate = {
12543
+ iterator: values(iterable),
12544
+ resultName: resultName,
12545
+ nextLoc: nextLoc
12546
+ };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12547
 
12548
+ if (this.method === "next") {
12549
+ // Deliberately forget the last sent value so that we don't
12550
+ // accidentally pass it on to the delegate.
12551
+ this.arg = undefined;
12552
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12553
 
12554
+ return ContinueSentinel;
12555
+ }
12556
+ };
12557
+ })(
12558
+ // Among the various tricks for obtaining a reference to the global
12559
+ // object, this seems to be the most reliable technique that does not
12560
+ // use indirect eval (which violates Content Security Policy).
12561
+ typeof global === "object" ? global :
12562
+ typeof window === "object" ? window :
12563
+ typeof self === "object" ? self : this
12564
+ );
12565
 
12566
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(57)))
12567
 
12568
  /***/ }),
12569
+ /* 408 */
12570
+ /***/ (function(module, exports, __webpack_require__) {
12571
+
12572
+ __webpack_require__(409);
12573
+ module.exports = __webpack_require__(28).RegExp.escape;
12574
+
12575
+
12576
+ /***/ }),
12577
+ /* 409 */
12578
+ /***/ (function(module, exports, __webpack_require__) {
12579
+
12580
+ // https://github.com/benjamingr/RexExp.escape
12581
+ var $export = __webpack_require__(0);
12582
+ var $re = __webpack_require__(410)(/[\\^$*+?.()|[\]{}]/g, '\\$&');
12583
+
12584
+ $export($export.S, 'RegExp', { escape: function escape(it) { return $re(it); } });
12585
+
12586
+
12587
+ /***/ }),
12588
+ /* 410 */
12589
+ /***/ (function(module, exports) {
12590
+
12591
+ module.exports = function (regExp, replace) {
12592
+ var replacer = replace === Object(replace) ? function (part) {
12593
+ return replace[part];
12594
+ } : replace;
12595
+ return function (it) {
12596
+ return String(it).replace(regExp, replacer);
12597
+ };
12598
+ };
12599
+
12600
+
12601
+ /***/ }),
12602
+ /* 411 */
12603
  /***/ (function(module, exports, __webpack_require__) {
12604
 
12605
  "use strict";
12606
 
12607
 
12608
+ var _getPrototypeOf = __webpack_require__(10);
12609
 
12610
  var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
12611
 
12612
+ var _classCallCheck2 = __webpack_require__(11);
12613
 
12614
  var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
12615
 
12616
+ var _createClass2 = __webpack_require__(12);
12617
 
12618
  var _createClass3 = _interopRequireDefault(_createClass2);
12619
 
12620
+ var _possibleConstructorReturn2 = __webpack_require__(13);
12621
 
12622
  var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
12623
 
12624
+ var _inherits2 = __webpack_require__(14);
12625
 
12626
  var _inherits3 = _interopRequireDefault(_inherits2);
12627
 
12628
+ var _react = __webpack_require__(6);
12629
 
12630
  var _react2 = _interopRequireDefault(_react);
12631
 
12632
+ var _reactDom = __webpack_require__(452);
12633
 
12634
  var _reactDom2 = _interopRequireDefault(_reactDom);
12635
 
12636
+ var _axios = __webpack_require__(90);
12637
 
12638
  var _axios2 = _interopRequireDefault(_axios);
12639
 
12640
+ var _redux = __webpack_require__(131);
12641
 
12642
+ var _reducers = __webpack_require__(488);
12643
 
12644
  var _reducers2 = _interopRequireDefault(_reducers);
12645
 
12646
+ var _main_container = __webpack_require__(492);
12647
 
12648
  var _main_container2 = _interopRequireDefault(_main_container);
12649
 
12650
+ var _reduxPromise = __webpack_require__(526);
12651
 
12652
  var _reduxPromise2 = _interopRequireDefault(_reduxPromise);
12653
 
12654
+ var _reactRedux = __webpack_require__(16);
12655
 
12656
+ __webpack_require__(532);
12657
 
12658
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12659
 
12692
  }
12693
 
12694
  /***/ }),
12695
+ /* 412 */
12696
  /***/ (function(module, exports, __webpack_require__) {
12697
 
12698
+ __webpack_require__(413);
12699
+ module.exports = __webpack_require__(39).Object.getPrototypeOf;
12700
 
12701
 
12702
  /***/ }),
12703
+ /* 413 */
12704
  /***/ (function(module, exports, __webpack_require__) {
12705
 
12706
  // 19.1.2.9 Object.getPrototypeOf(O)
12707
+ var toObject = __webpack_require__(171);
12708
+ var $getPrototypeOf = __webpack_require__(172);
12709
 
12710
+ __webpack_require__(414)('getPrototypeOf', function () {
12711
  return function getPrototypeOf(it) {
12712
  return $getPrototypeOf(toObject(it));
12713
  };
12715
 
12716
 
12717
  /***/ }),
12718
+ /* 414 */
12719
  /***/ (function(module, exports, __webpack_require__) {
12720
 
12721
  // most Object methods by ES6 should accept primitives
12722
+ var $export = __webpack_require__(62);
12723
+ var core = __webpack_require__(39);
12724
+ var fails = __webpack_require__(71);
12725
  module.exports = function (KEY, exec) {
12726
  var fn = (core.Object || {})[KEY] || Object[KEY];
12727
  var exp = {};
12731
 
12732
 
12733
  /***/ }),
12734
+ /* 415 */
12735
  /***/ (function(module, exports) {
12736
 
12737
  module.exports = function (it) {
12741
 
12742
 
12743
  /***/ }),
12744
+ /* 416 */
12745
  /***/ (function(module, exports, __webpack_require__) {
12746
 
12747
+ module.exports = { "default": __webpack_require__(417), __esModule: true };
12748
 
12749
  /***/ }),
12750
+ /* 417 */
12751
  /***/ (function(module, exports, __webpack_require__) {
12752
 
12753
+ __webpack_require__(418);
12754
+ var $Object = __webpack_require__(39).Object;
12755
  module.exports = function defineProperty(it, key, desc) {
12756
  return $Object.defineProperty(it, key, desc);
12757
  };
12758
 
12759
 
12760
  /***/ }),
12761
+ /* 418 */
12762
  /***/ (function(module, exports, __webpack_require__) {
12763
 
12764
+ var $export = __webpack_require__(62);
12765
  // 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)
12766
+ $export($export.S + $export.F * !__webpack_require__(56), 'Object', { defineProperty: __webpack_require__(55).f });
12767
 
12768
 
12769
  /***/ }),
12770
+ /* 419 */
12771
  /***/ (function(module, exports, __webpack_require__) {
12772
 
12773
+ module.exports = { "default": __webpack_require__(420), __esModule: true };
12774
 
12775
  /***/ }),
12776
+ /* 420 */
12777
  /***/ (function(module, exports, __webpack_require__) {
12778
 
12779
+ __webpack_require__(421);
12780
+ __webpack_require__(430);
12781
+ module.exports = __webpack_require__(127).f('iterator');
12782
 
12783
 
12784
  /***/ }),
12785
+ /* 421 */
12786
  /***/ (function(module, exports, __webpack_require__) {
12787
 
12788
  "use strict";
12789
 
12790
+ var $at = __webpack_require__(422)(true);
12791
 
12792
  // 21.1.3.27 String.prototype[@@iterator]()
12793
+ __webpack_require__(177)(String, 'String', function (iterated) {
12794
  this._t = String(iterated); // target
12795
  this._i = 0; // next index
12796
  // 21.1.5.2.1 %StringIteratorPrototype%.next()
12806
 
12807
 
12808
  /***/ }),
12809
+ /* 422 */
12810
  /***/ (function(module, exports, __webpack_require__) {
12811
 
12812
+ var toInteger = __webpack_require__(121);
12813
+ var defined = __webpack_require__(117);
12814
  // true -> String#at
12815
  // false -> String#codePointAt
12816
  module.exports = function (TO_STRING) {
12829
 
12830
 
12831
  /***/ }),
12832
+ /* 423 */
12833
  /***/ (function(module, exports, __webpack_require__) {
12834
 
12835
  "use strict";
12836
 
12837
+ var create = __webpack_require__(123);
12838
+ var descriptor = __webpack_require__(89);
12839
+ var setToStringTag = __webpack_require__(126);
12840
  var IteratorPrototype = {};
12841
 
12842
  // 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
12843
+ __webpack_require__(63)(IteratorPrototype, __webpack_require__(66)('iterator'), function () { return this; });
12844
 
12845
  module.exports = function (Constructor, NAME, next) {
12846
  Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });
12849
 
12850
 
12851
  /***/ }),
12852
+ /* 424 */
12853
  /***/ (function(module, exports, __webpack_require__) {
12854
 
12855
+ var dP = __webpack_require__(55);
12856
+ var anObject = __webpack_require__(70);
12857
+ var getKeys = __webpack_require__(124);
12858
 
12859
+ module.exports = __webpack_require__(56) ? Object.defineProperties : function defineProperties(O, Properties) {
12860
  anObject(O);
12861
  var keys = getKeys(Properties);
12862
  var length = keys.length;
12868
 
12869
 
12870
  /***/ }),
12871
+ /* 425 */
12872
  /***/ (function(module, exports, __webpack_require__) {
12873
 
12874
  // fallback for non-array-like ES3 and non-enumerable old V8 strings
12875
+ var cof = __webpack_require__(180);
12876
  // eslint-disable-next-line no-prototype-builtins
12877
  module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {
12878
  return cof(it) == 'String' ? it.split('') : Object(it);
12880
 
12881
 
12882
  /***/ }),
12883
+ /* 426 */
12884
  /***/ (function(module, exports, __webpack_require__) {
12885
 
12886
  // false -> Array#indexOf
12887
  // true -> Array#includes
12888
+ var toIObject = __webpack_require__(65);
12889
+ var toLength = __webpack_require__(427);
12890
+ var toAbsoluteIndex = __webpack_require__(428);
12891
  module.exports = function (IS_INCLUDES) {
12892
  return function ($this, el, fromIndex) {
12893
  var O = toIObject($this);
12909
 
12910
 
12911
  /***/ }),
12912
+ /* 427 */
12913
  /***/ (function(module, exports, __webpack_require__) {
12914
 
12915
  // 7.1.15 ToLength
12916
+ var toInteger = __webpack_require__(121);
12917
  var min = Math.min;
12918
  module.exports = function (it) {
12919
  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991
12921
 
12922
 
12923
  /***/ }),
12924
+ /* 428 */
12925
  /***/ (function(module, exports, __webpack_require__) {
12926
 
12927
+ var toInteger = __webpack_require__(121);
12928
  var max = Math.max;
12929
  var min = Math.min;
12930
  module.exports = function (index, length) {
12934
 
12935
 
12936
  /***/ }),
12937
+ /* 429 */
12938
  /***/ (function(module, exports, __webpack_require__) {
12939
 
12940
+ var document = __webpack_require__(43).document;
12941
  module.exports = document && document.documentElement;
12942
 
12943
 
12944
  /***/ }),
12945
+ /* 430 */
12946
  /***/ (function(module, exports, __webpack_require__) {
12947
 
12948
+ __webpack_require__(431);
12949
+ var global = __webpack_require__(43);
12950
+ var hide = __webpack_require__(63);
12951
+ var Iterators = __webpack_require__(122);
12952
+ var TO_STRING_TAG = __webpack_require__(66)('toStringTag');
12953
 
12954
  var DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +
12955
  'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +
12967
 
12968
 
12969
  /***/ }),
12970
+ /* 431 */
12971
  /***/ (function(module, exports, __webpack_require__) {
12972
 
12973
  "use strict";
12974
 
12975
+ var addToUnscopables = __webpack_require__(432);
12976
+ var step = __webpack_require__(433);
12977
+ var Iterators = __webpack_require__(122);
12978
+ var toIObject = __webpack_require__(65);
12979
 
12980
  // 22.1.3.4 Array.prototype.entries()
12981
  // 22.1.3.13 Array.prototype.keys()
12982
  // 22.1.3.29 Array.prototype.values()
12983
  // 22.1.3.30 Array.prototype[@@iterator]()
12984
+ module.exports = __webpack_require__(177)(Array, 'Array', function (iterated, kind) {
12985
  this._t = toIObject(iterated); // target
12986
  this._i = 0; // next index
12987
  this._k = kind; // kind
13008
 
13009
 
13010
  /***/ }),
13011
+ /* 432 */
13012
  /***/ (function(module, exports) {
13013
 
13014
  module.exports = function () { /* empty */ };
13015
 
13016
 
13017
  /***/ }),
13018
+ /* 433 */
13019
  /***/ (function(module, exports) {
13020
 
13021
  module.exports = function (done, value) {
13024
 
13025
 
13026
  /***/ }),
13027
+ /* 434 */
13028
  /***/ (function(module, exports, __webpack_require__) {
13029
 
13030
+ module.exports = { "default": __webpack_require__(435), __esModule: true };
13031
 
13032
  /***/ }),
13033
+ /* 435 */
13034
  /***/ (function(module, exports, __webpack_require__) {
13035
 
13036
+ __webpack_require__(436);
13037
+ __webpack_require__(441);
13038
+ __webpack_require__(442);
13039
+ __webpack_require__(443);
13040
+ module.exports = __webpack_require__(39).Symbol;
13041
 
13042
 
13043
  /***/ }),
13044
+ /* 436 */
13045
  /***/ (function(module, exports, __webpack_require__) {
13046
 
13047
  "use strict";
13048
 
13049
  // ECMAScript 6 symbols shim
13050
+ var global = __webpack_require__(43);
13051
+ var has = __webpack_require__(54);
13052
+ var DESCRIPTORS = __webpack_require__(56);
13053
+ var $export = __webpack_require__(62);
13054
+ var redefine = __webpack_require__(178);
13055
+ var META = __webpack_require__(437).KEY;
13056
+ var $fails = __webpack_require__(71);
13057
+ var shared = __webpack_require__(119);
13058
+ var setToStringTag = __webpack_require__(126);
13059
+ var uid = __webpack_require__(88);
13060
+ var wks = __webpack_require__(66);
13061
+ var wksExt = __webpack_require__(127);
13062
+ var wksDefine = __webpack_require__(128);
13063
+ var enumKeys = __webpack_require__(438);
13064
+ var isArray = __webpack_require__(439);
13065
+ var anObject = __webpack_require__(70);
13066
+ var isObject = __webpack_require__(64);
13067
+ var toIObject = __webpack_require__(65);
13068
+ var toPrimitive = __webpack_require__(120);
13069
+ var createDesc = __webpack_require__(89);
13070
+ var _create = __webpack_require__(123);
13071
+ var gOPNExt = __webpack_require__(440);
13072
+ var $GOPD = __webpack_require__(183);
13073
+ var $DP = __webpack_require__(55);
13074
+ var $keys = __webpack_require__(124);
13075
  var gOPD = $GOPD.f;
13076
  var dP = $DP.f;
13077
  var gOPN = gOPNExt.f;
13194
 
13195
  $GOPD.f = $getOwnPropertyDescriptor;
13196
  $DP.f = $defineProperty;
13197
+ __webpack_require__(182).f = gOPNExt.f = $getOwnPropertyNames;
13198
+ __webpack_require__(129).f = $propertyIsEnumerable;
13199
+ __webpack_require__(181).f = $getOwnPropertySymbols;
13200
 
13201
+ if (DESCRIPTORS && !__webpack_require__(87)) {
13202
  redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);
13203
  }
13204
 
13272
  });
13273
 
13274
  // 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)
13275
+ $Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(63)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);
13276
  // 19.4.3.5 Symbol.prototype[@@toStringTag]
13277
  setToStringTag($Symbol, 'Symbol');
13278
  // 20.2.1.9 Math[@@toStringTag]
13282
 
13283
 
13284
  /***/ }),
13285
+ /* 437 */
13286
  /***/ (function(module, exports, __webpack_require__) {
13287
 
13288
+ var META = __webpack_require__(88)('meta');
13289
+ var isObject = __webpack_require__(64);
13290
+ var has = __webpack_require__(54);
13291
+ var setDesc = __webpack_require__(55).f;
13292
  var id = 0;
13293
  var isExtensible = Object.isExtensible || function () {
13294
  return true;
13295
  };
13296
+ var FREEZE = !__webpack_require__(71)(function () {
13297
  return isExtensible(Object.preventExtensions({}));
13298
  });
13299
  var setMeta = function (it) {
13341
 
13342
 
13343
  /***/ }),
13344
+ /* 438 */
13345
  /***/ (function(module, exports, __webpack_require__) {
13346
 
13347
  // all enumerable object keys, includes symbols
13348
+ var getKeys = __webpack_require__(124);
13349
+ var gOPS = __webpack_require__(181);
13350
+ var pIE = __webpack_require__(129);
13351
  module.exports = function (it) {
13352
  var result = getKeys(it);
13353
  var getSymbols = gOPS.f;
13362
 
13363
 
13364
  /***/ }),
13365
+ /* 439 */
13366
  /***/ (function(module, exports, __webpack_require__) {
13367
 
13368
  // 7.2.2 IsArray(argument)
13369
+ var cof = __webpack_require__(180);
13370
  module.exports = Array.isArray || function isArray(arg) {
13371
  return cof(arg) == 'Array';
13372
  };
13373
 
13374
 
13375
  /***/ }),
13376
+ /* 440 */
13377
  /***/ (function(module, exports, __webpack_require__) {
13378
 
13379
  // fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
13380
+ var toIObject = __webpack_require__(65);
13381
+ var gOPN = __webpack_require__(182).f;
13382
  var toString = {}.toString;
13383
 
13384
  var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames
13398
 
13399
 
13400
  /***/ }),
13401
+ /* 441 */
13402
  /***/ (function(module, exports) {
13403
 
13404
 
13405
 
13406
  /***/ }),
13407
+ /* 442 */
13408
  /***/ (function(module, exports, __webpack_require__) {
13409
 
13410
+ __webpack_require__(128)('asyncIterator');
13411
 
13412
 
13413
  /***/ }),
13414
+ /* 443 */
13415
  /***/ (function(module, exports, __webpack_require__) {
13416
 
13417
+ __webpack_require__(128)('observable');
13418
 
13419
 
13420
  /***/ }),
13421
+ /* 444 */
13422
  /***/ (function(module, exports, __webpack_require__) {
13423
 
13424
+ module.exports = { "default": __webpack_require__(445), __esModule: true };
13425
 
13426
  /***/ }),
13427
+ /* 445 */
13428
  /***/ (function(module, exports, __webpack_require__) {
13429
 
13430
+ __webpack_require__(446);
13431
+ module.exports = __webpack_require__(39).Object.setPrototypeOf;
13432
 
13433
 
13434
  /***/ }),
13435
+ /* 446 */
13436
  /***/ (function(module, exports, __webpack_require__) {
13437
 
13438
  // 19.1.3.19 Object.setPrototypeOf(O, proto)
13439
+ var $export = __webpack_require__(62);
13440
+ $export($export.S, 'Object', { setPrototypeOf: __webpack_require__(447).set });
13441
 
13442
 
13443
  /***/ }),
13444
+ /* 447 */
13445
  /***/ (function(module, exports, __webpack_require__) {
13446
 
13447
  // Works with __proto__ only. Old v8 can't work with null proto objects.
13448
  /* eslint-disable no-proto */
13449
+ var isObject = __webpack_require__(64);
13450
+ var anObject = __webpack_require__(70);
13451
  var check = function (O, proto) {
13452
  anObject(O);
13453
  if (!isObject(proto) && proto !== null) throw TypeError(proto + ": can't set as prototype!");
13456
  set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line
13457
  function (test, buggy, set) {
13458
  try {
13459
+ set = __webpack_require__(173)(Function.call, __webpack_require__(183).f(Object.prototype, '__proto__').set, 2);
13460
  set(test, []);
13461
  buggy = !(test instanceof Array);
13462
  } catch (e) { buggy = true; }
13472
 
13473
 
13474
  /***/ }),
13475
+ /* 448 */
13476
  /***/ (function(module, exports, __webpack_require__) {
13477
 
13478
+ module.exports = { "default": __webpack_require__(449), __esModule: true };
13479
 
13480
  /***/ }),
13481
+ /* 449 */
13482
  /***/ (function(module, exports, __webpack_require__) {
13483
 
13484
+ __webpack_require__(450);
13485
+ var $Object = __webpack_require__(39).Object;
13486
  module.exports = function create(P, D) {
13487
  return $Object.create(P, D);
13488
  };
13489
 
13490
 
13491
  /***/ }),
13492
+ /* 450 */
13493
  /***/ (function(module, exports, __webpack_require__) {
13494
 
13495
+ var $export = __webpack_require__(62);
13496
  // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
13497
+ $export($export.S, 'Object', { create: __webpack_require__(123) });
13498
 
13499
 
13500
  /***/ }),
13501
+ /* 451 */
13502
  /***/ (function(module, exports, __webpack_require__) {
13503
 
13504
  "use strict";
13505
+ /** @license React v16.6.0
13506
  * react.production.min.js
13507
  *
13508
+ * Copyright (c) Facebook, Inc. and its affiliates.
13509
  *
13510
  * This source code is licensed under the MIT license found in the
13511
  * LICENSE file in the root directory of this source tree.
13512
  */
13513
 
13514
+ var k=__webpack_require__(184),n="function"===typeof Symbol&&Symbol.for,p=n?Symbol.for("react.element"):60103,q=n?Symbol.for("react.portal"):60106,r=n?Symbol.for("react.fragment"):60107,t=n?Symbol.for("react.strict_mode"):60108,u=n?Symbol.for("react.profiler"):60114,v=n?Symbol.for("react.provider"):60109,w=n?Symbol.for("react.context"):60110,x=n?Symbol.for("react.concurrent_mode"):60111,y=n?Symbol.for("react.forward_ref"):60112,z=n?Symbol.for("react.suspense"):60113,A=n?Symbol.for("react.memo"):
13515
+ 60115,B=n?Symbol.for("react.lazy"):60116,C="function"===typeof Symbol&&Symbol.iterator;function aa(a,b,e,c,d,g,h,f){if(!a){a=void 0;if(void 0===b)a=Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var l=[e,c,d,g,h,f],m=0;a=Error(b.replace(/%s/g,function(){return l[m++]}));a.name="Invariant Violation"}a.framesToPop=1;throw a;}}
13516
+ function D(a){for(var b=arguments.length-1,e="https://reactjs.org/docs/error-decoder.html?invariant="+a,c=0;c<b;c++)e+="&args[]="+encodeURIComponent(arguments[c+1]);aa(!1,"Minified React error #"+a+"; visit %s for the full message or use the non-minified dev environment for full errors and additional helpful warnings. ",e)}var E={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},F={};
13517
+ function G(a,b,e){this.props=a;this.context=b;this.refs=F;this.updater=e||E}G.prototype.isReactComponent={};G.prototype.setState=function(a,b){"object"!==typeof a&&"function"!==typeof a&&null!=a?D("85"):void 0;this.updater.enqueueSetState(this,a,b,"setState")};G.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,"forceUpdate")};function H(){}H.prototype=G.prototype;function I(a,b,e){this.props=a;this.context=b;this.refs=F;this.updater=e||E}var J=I.prototype=new H;
13518
+ J.constructor=I;k(J,G.prototype);J.isPureReactComponent=!0;var K={current:null,currentDispatcher:null},L=Object.prototype.hasOwnProperty,M={key:!0,ref:!0,__self:!0,__source:!0};
13519
+ function N(a,b,e){var c=void 0,d={},g=null,h=null;if(null!=b)for(c in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(g=""+b.key),b)L.call(b,c)&&!M.hasOwnProperty(c)&&(d[c]=b[c]);var f=arguments.length-2;if(1===f)d.children=e;else if(1<f){for(var l=Array(f),m=0;m<f;m++)l[m]=arguments[m+2];d.children=l}if(a&&a.defaultProps)for(c in f=a.defaultProps,f)void 0===d[c]&&(d[c]=f[c]);return{$$typeof:p,type:a,key:g,ref:h,props:d,_owner:K.current}}
13520
+ function ba(a,b){return{$$typeof:p,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function O(a){return"object"===typeof a&&null!==a&&a.$$typeof===p}function escape(a){var b={"=":"=0",":":"=2"};return"$"+(""+a).replace(/[=:]/g,function(a){return b[a]})}var P=/\/+/g,Q=[];function R(a,b,e,c){if(Q.length){var d=Q.pop();d.result=a;d.keyPrefix=b;d.func=e;d.context=c;d.count=0;return d}return{result:a,keyPrefix:b,func:e,context:c,count:0}}
13521
+ function S(a){a.result=null;a.keyPrefix=null;a.func=null;a.context=null;a.count=0;10>Q.length&&Q.push(a)}
13522
+ function T(a,b,e,c){var d=typeof a;if("undefined"===d||"boolean"===d)a=null;var g=!1;if(null===a)g=!0;else switch(d){case "string":case "number":g=!0;break;case "object":switch(a.$$typeof){case p:case q:g=!0}}if(g)return e(c,a,""===b?"."+U(a,0):b),1;g=0;b=""===b?".":b+":";if(Array.isArray(a))for(var h=0;h<a.length;h++){d=a[h];var f=b+U(d,h);g+=T(d,f,e,c)}else if(null===a||"object"!==typeof a?f=null:(f=C&&a[C]||a["@@iterator"],f="function"===typeof f?f:null),"function"===typeof f)for(a=f.call(a),h=
13523
+ 0;!(d=a.next()).done;)d=d.value,f=b+U(d,h++),g+=T(d,f,e,c);else"object"===d&&(e=""+a,D("31","[object Object]"===e?"object with keys {"+Object.keys(a).join(", ")+"}":e,""));return g}function V(a,b,e){return null==a?0:T(a,"",b,e)}function U(a,b){return"object"===typeof a&&null!==a&&null!=a.key?escape(a.key):b.toString(36)}function ca(a,b){a.func.call(a.context,b,a.count++)}
13524
+ function da(a,b,e){var c=a.result,d=a.keyPrefix;a=a.func.call(a.context,b,a.count++);Array.isArray(a)?W(a,c,e,function(a){return a}):null!=a&&(O(a)&&(a=ba(a,d+(!a.key||b&&b.key===a.key?"":(""+a.key).replace(P,"$&/")+"/")+e)),c.push(a))}function W(a,b,e,c,d){var g="";null!=e&&(g=(""+e).replace(P,"$&/")+"/");b=R(b,g,c,d);V(a,da,b);S(b)}
13525
+ var X={Children:{map:function(a,b,e){if(null==a)return a;var c=[];W(a,c,null,b,e);return c},forEach:function(a,b,e){if(null==a)return a;b=R(null,null,b,e);V(a,ca,b);S(b)},count:function(a){return V(a,function(){return null},null)},toArray:function(a){var b=[];W(a,b,null,function(a){return a});return b},only:function(a){O(a)?void 0:D("143");return a}},createRef:function(){return{current:null}},Component:G,PureComponent:I,createContext:function(a,b){void 0===b&&(b=null);a={$$typeof:w,_calculateChangedBits:b,
13526
+ _currentValue:a,_currentValue2:a,Provider:null,Consumer:null};a.Provider={$$typeof:v,_context:a};return a.Consumer=a},forwardRef:function(a){return{$$typeof:y,render:a}},lazy:function(a){return{$$typeof:B,_ctor:a,_status:-1,_result:null}},memo:function(a,b){return{$$typeof:A,type:a,compare:void 0===b?null:b}},Fragment:r,StrictMode:t,unstable_ConcurrentMode:x,Suspense:z,unstable_Profiler:u,createElement:N,cloneElement:function(a,b,e){null===a||void 0===a?D("267",a):void 0;var c=void 0,d=k({},a.props),
13527
+ g=a.key,h=a.ref,f=a._owner;if(null!=b){void 0!==b.ref&&(h=b.ref,f=K.current);void 0!==b.key&&(g=""+b.key);var l=void 0;a.type&&a.type.defaultProps&&(l=a.type.defaultProps);for(c in b)L.call(b,c)&&!M.hasOwnProperty(c)&&(d[c]=void 0===b[c]&&void 0!==l?l[c]:b[c])}c=arguments.length-2;if(1===c)d.children=e;else if(1<c){l=Array(c);for(var m=0;m<c;m++)l[m]=arguments[m+2];d.children=l}return{$$typeof:p,type:a.type,key:g,ref:h,props:d,_owner:f}},createFactory:function(a){var b=N.bind(null,a);b.type=a;return b},
13528
+ isValidElement:O,version:"16.6.0",__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{ReactCurrentOwner:K,assign:k}},Y={default:X},Z=Y&&X||Y;module.exports=Z.default||Z;
13529
 
13530
 
13531
  /***/ }),
13532
+ /* 452 */
13533
  /***/ (function(module, exports, __webpack_require__) {
13534
 
13535
  "use strict";
13562
  console.error(err);
13563
  }
13564
  }
13565
+
13566
+ if (true) {
13567
+ // DCE check should happen before ReactDOM bundle executes so that
13568
+ // DevTools can report bad minification during injection.
13569
+ checkDCE();
13570
+ module.exports = __webpack_require__(453);
13571
+ } else {
13572
+ module.exports = require('./cjs/react-dom.development.js');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13573
  }
13574
 
 
13575
 
13576
  /***/ }),
13577
+ /* 453 */
13578
  /***/ (function(module, exports, __webpack_require__) {
13579
 
13580
  "use strict";
13581
+ /** @license React v16.6.0
13582
+ * react-dom.production.min.js
13583
+ *
13584
+ * Copyright (c) Facebook, Inc. and its affiliates.
13585
  *
13586
  * This source code is licensed under the MIT license found in the
13587
  * LICENSE file in the root directory of this source tree.
 
 
13588
  */
13589
 
13590
+ /*
13591
+ Modernizr 3.0.0pre (Custom Build) | MIT
13592
+ */
13593
+ var aa=__webpack_require__(6),n=__webpack_require__(184),da=__webpack_require__(454);function ea(a,b,c,d,e,f,g,h){if(!a){a=void 0;if(void 0===b)a=Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var k=[c,d,e,f,g,h],l=0;a=Error(b.replace(/%s/g,function(){return k[l++]}));a.name="Invariant Violation"}a.framesToPop=1;throw a;}}
13594
+ function r(a){for(var b=arguments.length-1,c="https://reactjs.org/docs/error-decoder.html?invariant="+a,d=0;d<b;d++)c+="&args[]="+encodeURIComponent(arguments[d+1]);ea(!1,"Minified React error #"+a+"; visit %s for the full message or use the non-minified dev environment for full errors and additional helpful warnings. ",c)}aa?void 0:r("227");function fa(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l)}catch(m){this.onError(m)}}
13595
+ var ha=!1,ia=null,ja=!1,ka=null,la={onError:function(a){ha=!0;ia=a}};function ma(a,b,c,d,e,f,g,h,k){ha=!1;ia=null;fa.apply(la,arguments)}function na(a,b,c,d,e,f,g,h,k){ma.apply(this,arguments);if(ha){if(ha){var l=ia;ha=!1;ia=null}else r("198"),l=void 0;ja||(ja=!0,ka=l)}}var oa=null,pa={};
13596
+ function qa(){if(oa)for(var a in pa){var b=pa[a],c=oa.indexOf(a);-1<c?void 0:r("96",a);if(!ra[c]){b.extractEvents?void 0:r("97",a);ra[c]=b;c=b.eventTypes;for(var d in c){var e=void 0;var f=c[d],g=b,h=d;sa.hasOwnProperty(h)?r("99",h):void 0;sa[h]=f;var k=f.phasedRegistrationNames;if(k){for(e in k)k.hasOwnProperty(e)&&ta(k[e],g,h);e=!0}else f.registrationName?(ta(f.registrationName,g,h),e=!0):e=!1;e?void 0:r("98",d,a)}}}}
13597
+ function ta(a,b,c){ua[a]?r("100",a):void 0;ua[a]=b;va[a]=b.eventTypes[c].dependencies}var ra=[],sa={},ua={},va={},wa=null,xa=null,ya=null;function za(a,b,c,d){b=a.type||"unknown-event";a.currentTarget=ya(d);na(b,c,void 0,a);a.currentTarget=null}function Aa(a,b){null==b?r("30"):void 0;if(null==a)return b;if(Array.isArray(a)){if(Array.isArray(b))return a.push.apply(a,b),a;a.push(b);return a}return Array.isArray(b)?[a].concat(b):[a,b]}
13598
+ function Ba(a,b,c){Array.isArray(a)?a.forEach(b,c):a&&b.call(c,a)}var Ca=null;function Da(a,b){if(a){var c=a._dispatchListeners,d=a._dispatchInstances;if(Array.isArray(c))for(var e=0;e<c.length&&!a.isPropagationStopped();e++)za(a,b,c[e],d[e]);else c&&za(a,b,c,d);a._dispatchListeners=null;a._dispatchInstances=null;a.isPersistent()||a.constructor.release(a)}}function Ea(a){return Da(a,!0)}function Fa(a){return Da(a,!1)}
13599
+ var Ga={injectEventPluginOrder:function(a){oa?r("101"):void 0;oa=Array.prototype.slice.call(a);qa()},injectEventPluginsByName:function(a){var b=!1,c;for(c in a)if(a.hasOwnProperty(c)){var d=a[c];pa.hasOwnProperty(c)&&pa[c]===d||(pa[c]?r("102",c):void 0,pa[c]=d,b=!0)}b&&qa()}};
13600
+ function Ha(a,b){var c=a.stateNode;if(!c)return null;var d=wa(c);if(!d)return null;c=d[b];a:switch(b){case "onClick":case "onClickCapture":case "onDoubleClick":case "onDoubleClickCapture":case "onMouseDown":case "onMouseDownCapture":case "onMouseMove":case "onMouseMoveCapture":case "onMouseUp":case "onMouseUpCapture":(d=!d.disabled)||(a=a.type,d=!("button"===a||"input"===a||"select"===a||"textarea"===a));a=!d;break a;default:a=!1}if(a)return null;c&&"function"!==typeof c?r("231",b,typeof c):void 0;
13601
+ return c}function Ia(a,b){null!==a&&(Ca=Aa(Ca,a));a=Ca;Ca=null;if(a&&(b?Ba(a,Ea):Ba(a,Fa),Ca?r("95"):void 0,ja))throw b=ka,ja=!1,ka=null,b;}var Ka=Math.random().toString(36).slice(2),La="__reactInternalInstance$"+Ka,Ma="__reactEventHandlers$"+Ka;function Na(a){if(a[La])return a[La];for(;!a[La];)if(a.parentNode)a=a.parentNode;else return null;a=a[La];return 5===a.tag||6===a.tag?a:null}function Oa(a){a=a[La];return!a||5!==a.tag&&6!==a.tag?null:a}
13602
+ function Pa(a){if(5===a.tag||6===a.tag)return a.stateNode;r("33")}function Qa(a){return a[Ma]||null}function Ra(a){do a=a.return;while(a&&5!==a.tag);return a?a:null}function Sa(a,b,c){if(b=Ha(a,c.dispatchConfig.phasedRegistrationNames[b]))c._dispatchListeners=Aa(c._dispatchListeners,b),c._dispatchInstances=Aa(c._dispatchInstances,a)}
13603
+ function Ta(a){if(a&&a.dispatchConfig.phasedRegistrationNames){for(var b=a._targetInst,c=[];b;)c.push(b),b=Ra(b);for(b=c.length;0<b--;)Sa(c[b],"captured",a);for(b=0;b<c.length;b++)Sa(c[b],"bubbled",a)}}function Ua(a,b,c){a&&c&&c.dispatchConfig.registrationName&&(b=Ha(a,c.dispatchConfig.registrationName))&&(c._dispatchListeners=Aa(c._dispatchListeners,b),c._dispatchInstances=Aa(c._dispatchInstances,a))}function Va(a){a&&a.dispatchConfig.registrationName&&Ua(a._targetInst,null,a)}
13604
+ function Wa(a){Ba(a,Ta)}var Xa=!("undefined"===typeof window||!window.document||!window.document.createElement);function Ya(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c["Webkit"+a]="webkit"+b;c["Moz"+a]="moz"+b;return c}var Za={animationend:Ya("Animation","AnimationEnd"),animationiteration:Ya("Animation","AnimationIteration"),animationstart:Ya("Animation","AnimationStart"),transitionend:Ya("Transition","TransitionEnd")},$a={},ab={};
13605
+ Xa&&(ab=document.createElement("div").style,"AnimationEvent"in window||(delete Za.animationend.animation,delete Za.animationiteration.animation,delete Za.animationstart.animation),"TransitionEvent"in window||delete Za.transitionend.transition);function bb(a){if($a[a])return $a[a];if(!Za[a])return a;var b=Za[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in ab)return $a[a]=b[c];return a}
13606
+ var cb=bb("animationend"),ib=bb("animationiteration"),jb=bb("animationstart"),kb=bb("transitionend"),lb="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),mb=null,nb=null,ob=null;
13607
+ function pb(){if(ob)return ob;var a,b=nb,c=b.length,d,e="value"in mb?mb.value:mb.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return ob=e.slice(a,1<d?1-d:void 0)}function qb(){return!0}function rb(){return!1}
13608
+ function y(a,b,c,d){this.dispatchConfig=a;this._targetInst=b;this.nativeEvent=c;a=this.constructor.Interface;for(var e in a)a.hasOwnProperty(e)&&((b=a[e])?this[e]=b(c):"target"===e?this.target=d:this[e]=c[e]);this.isDefaultPrevented=(null!=c.defaultPrevented?c.defaultPrevented:!1===c.returnValue)?qb:rb;this.isPropagationStopped=rb;return this}
13609
+ n(y.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():"unknown"!==typeof a.returnValue&&(a.returnValue=!1),this.isDefaultPrevented=qb)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():"unknown"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=qb)},persist:function(){this.isPersistent=qb},isPersistent:rb,destructor:function(){var a=this.constructor.Interface,
13610
+ b;for(b in a)this[b]=null;this.nativeEvent=this._targetInst=this.dispatchConfig=null;this.isPropagationStopped=this.isDefaultPrevented=rb;this._dispatchInstances=this._dispatchListeners=null}});y.Interface={type:null,target:null,currentTarget:function(){return null},eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null};
13611
+ y.extend=function(a){function b(){}function c(){return d.apply(this,arguments)}var d=this;b.prototype=d.prototype;var e=new b;n(e,c.prototype);c.prototype=e;c.prototype.constructor=c;c.Interface=n({},d.Interface,a);c.extend=d.extend;sb(c);return c};sb(y);function tb(a,b,c,d){if(this.eventPool.length){var e=this.eventPool.pop();this.call(e,a,b,c,d);return e}return new this(a,b,c,d)}function ub(a){a instanceof this?void 0:r("279");a.destructor();10>this.eventPool.length&&this.eventPool.push(a)}
13612
+ function sb(a){a.eventPool=[];a.getPooled=tb;a.release=ub}var vb=y.extend({data:null}),wb=y.extend({data:null}),xb=[9,13,27,32],yb=Xa&&"CompositionEvent"in window,zb=null;Xa&&"documentMode"in document&&(zb=document.documentMode);
13613
+ var Ab=Xa&&"TextEvent"in window&&!zb,Bb=Xa&&(!yb||zb&&8<zb&&11>=zb),Cb=String.fromCharCode(32),Db={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["compositionend","keypress","textInput","paste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:"blur compositionend keydown keypress keyup mousedown".split(" ")},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",
13614
+ captured:"onCompositionStartCapture"},dependencies:"blur compositionstart keydown keypress keyup mousedown".split(" ")},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:"blur compositionupdate keydown keypress keyup mousedown".split(" ")}},Eb=!1;
13615
+ function Fb(a,b){switch(a){case "keyup":return-1!==xb.indexOf(b.keyCode);case "keydown":return 229!==b.keyCode;case "keypress":case "mousedown":case "blur":return!0;default:return!1}}function Gb(a){a=a.detail;return"object"===typeof a&&"data"in a?a.data:null}var Hb=!1;function Kb(a,b){switch(a){case "compositionend":return Gb(b);case "keypress":if(32!==b.which)return null;Eb=!0;return Cb;case "textInput":return a=b.data,a===Cb&&Eb?null:a;default:return null}}
13616
+ function Lb(a,b){if(Hb)return"compositionend"===a||!yb&&Fb(a,b)?(a=pb(),ob=nb=mb=null,Hb=!1,a):null;switch(a){case "paste":return null;case "keypress":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case "compositionend":return Bb&&"ko"!==b.locale?null:b.data;default:return null}}
13617
+ var Mb={eventTypes:Db,extractEvents:function(a,b,c,d){var e=void 0;var f=void 0;if(yb)b:{switch(a){case "compositionstart":e=Db.compositionStart;break b;case "compositionend":e=Db.compositionEnd;break b;case "compositionupdate":e=Db.compositionUpdate;break b}e=void 0}else Hb?Fb(a,c)&&(e=Db.compositionEnd):"keydown"===a&&229===c.keyCode&&(e=Db.compositionStart);e?(Bb&&"ko"!==c.locale&&(Hb||e!==Db.compositionStart?e===Db.compositionEnd&&Hb&&(f=pb()):(mb=d,nb="value"in mb?mb.value:mb.textContent,Hb=
13618
+ !0)),e=vb.getPooled(e,b,c,d),f?e.data=f:(f=Gb(c),null!==f&&(e.data=f)),Wa(e),f=e):f=null;(a=Ab?Kb(a,c):Lb(a,c))?(b=wb.getPooled(Db.beforeInput,b,c,d),b.data=a,Wa(b)):b=null;return null===f?b:null===b?f:[f,b]}},Nb=null,Ob=null,Pb=null;function Vb(a){if(a=xa(a)){"function"!==typeof Nb?r("280"):void 0;var b=wa(a.stateNode);Nb(a.stateNode,a.type,b)}}function Wb(a){Ob?Pb?Pb.push(a):Pb=[a]:Ob=a}function Xb(){if(Ob){var a=Ob,b=Pb;Pb=Ob=null;Vb(a);if(b)for(a=0;a<b.length;a++)Vb(b[a])}}
13619
+ function Yb(a,b){return a(b)}function Zb(a,b,c){return a(b,c)}function $b(){}var ac=!1;function bc(a,b){if(ac)return a(b);ac=!0;try{return Yb(a,b)}finally{if(ac=!1,null!==Ob||null!==Pb)$b(),Xb()}}var cc={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function dc(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return"input"===b?!!cc[a.type]:"textarea"===b?!0:!1}
13620
+ function ec(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}function fc(a){if(!Xa)return!1;a="on"+a;var b=a in document;b||(b=document.createElement("div"),b.setAttribute(a,"return;"),b="function"===typeof b[a]);return b}function gc(a){var b=a.type;return(a=a.nodeName)&&"input"===a.toLowerCase()&&("checkbox"===b||"radio"===b)}
13621
+ function hc(a){var b=gc(a)?"checked":"value",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=""+a[b];if(!a.hasOwnProperty(b)&&"undefined"!==typeof c&&"function"===typeof c.get&&"function"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=""+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=""+a},stopTracking:function(){a._valueTracker=
13622
+ null;delete a[b]}}}}function ic(a){a._valueTracker||(a._valueTracker=hc(a))}function jc(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d="";a&&(d=gc(a)?a.checked?"true":"false":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}
13623
+ var kc=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,lc=/^(.*)[\\\/]/,D="function"===typeof Symbol&&Symbol.for,mc=D?Symbol.for("react.element"):60103,nc=D?Symbol.for("react.portal"):60106,oc=D?Symbol.for("react.fragment"):60107,pc=D?Symbol.for("react.strict_mode"):60108,qc=D?Symbol.for("react.profiler"):60114,rc=D?Symbol.for("react.provider"):60109,sc=D?Symbol.for("react.context"):60110,tc=D?Symbol.for("react.concurrent_mode"):60111,uc=D?Symbol.for("react.forward_ref"):60112,vc=D?Symbol.for("react.suspense"):
13624
+ 60113,wc=D?Symbol.for("react.memo"):60115,xc=D?Symbol.for("react.lazy"):60116,yc="function"===typeof Symbol&&Symbol.iterator;function zc(a){if(null===a||"object"!==typeof a)return null;a=yc&&a[yc]||a["@@iterator"];return"function"===typeof a?a:null}
13625
+ function Ac(a){if(null==a)return null;if("function"===typeof a)return a.displayName||a.name||null;if("string"===typeof a)return a;switch(a){case tc:return"ConcurrentMode";case oc:return"Fragment";case nc:return"Portal";case qc:return"Profiler";case pc:return"StrictMode";case vc:return"Suspense"}if("object"===typeof a)switch(a.$$typeof){case sc:return"Context.Consumer";case rc:return"Context.Provider";case uc:var b=a.render;b=b.displayName||b.name||"";return a.displayName||(""!==b?"ForwardRef("+b+
13626
+ ")":"ForwardRef");case wc:return Ac(a.type);case xc:if(a=1===a._status?a._result:null)return Ac(a)}return null}function Bc(a){var b="";do{a:switch(a.tag){case 2:case 16:case 0:case 1:case 5:case 8:var c=a._debugOwner,d=a._debugSource,e=Ac(a.type);var f=null;c&&(f=Ac(c.type));c=e;e="";d?e=" (at "+d.fileName.replace(lc,"")+":"+d.lineNumber+")":f&&(e=" (created by "+f+")");f="\n in "+(c||"Unknown")+e;break a;default:f=""}b+=f;a=a.return}while(a);return b}
13627
+ var Cc=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,Dc=Object.prototype.hasOwnProperty,Ec={},Fc={};
13628
+ function Gc(a){if(Dc.call(Fc,a))return!0;if(Dc.call(Ec,a))return!1;if(Cc.test(a))return Fc[a]=!0;Ec[a]=!0;return!1}function Hc(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case "function":case "symbol":return!0;case "boolean":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return"data-"!==a&&"aria-"!==a;default:return!1}}
13629
+ function Ic(a,b,c,d){if(null===b||"undefined"===typeof b||Hc(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function F(a,b,c,d,e){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b}var G={};
13630
+ "children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(a){G[a]=new F(a,0,!1,a,null)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(a){var b=a[0];G[b]=new F(b,1,!1,a[1],null)});["contentEditable","draggable","spellCheck","value"].forEach(function(a){G[a]=new F(a,2,!1,a.toLowerCase(),null)});
13631
+ ["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(a){G[a]=new F(a,2,!1,a,null)});"allowFullScreen async autoFocus autoPlay controls default defer disabled formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(a){G[a]=new F(a,3,!1,a.toLowerCase(),null)});["checked","multiple","muted","selected"].forEach(function(a){G[a]=new F(a,3,!0,a,null)});
13632
+ ["capture","download"].forEach(function(a){G[a]=new F(a,4,!1,a,null)});["cols","rows","size","span"].forEach(function(a){G[a]=new F(a,6,!1,a,null)});["rowSpan","start"].forEach(function(a){G[a]=new F(a,5,!1,a.toLowerCase(),null)});var Mc=/[\-:]([a-z])/g;function Nc(a){return a[1].toUpperCase()}
13633
+ "accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(a){var b=a.replace(Mc,
13634
+ Nc);G[b]=new F(b,1,!1,a,null)});"xlink:actuate xlink:arcrole xlink:href xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(a){var b=a.replace(Mc,Nc);G[b]=new F(b,1,!1,a,"http://www.w3.org/1999/xlink")});["xml:base","xml:lang","xml:space"].forEach(function(a){var b=a.replace(Mc,Nc);G[b]=new F(b,1,!1,a,"http://www.w3.org/XML/1998/namespace")});G.tabIndex=new F("tabIndex",1,!1,"tabindex",null);
13635
+ function Oc(a,b,c,d){var e=G.hasOwnProperty(b)?G[b]:null;var f=null!==e?0===e.type:d?!1:!(2<b.length)||"o"!==b[0]&&"O"!==b[0]||"n"!==b[1]&&"N"!==b[1]?!1:!0;f||(Ic(b,c,e,d)&&(c=null),d||null===e?Gc(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,""+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:"":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?"":""+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c))))}
13636
+ function Pc(a){switch(typeof a){case "boolean":case "number":case "object":case "string":case "undefined":return a;default:return""}}function Qc(a,b){var c=b.checked;return n({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}
13637
+ function Rc(a,b){var c=null==b.defaultValue?"":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Pc(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:"checkbox"===b.type||"radio"===b.type?null!=b.checked:null!=b.value}}function Sc(a,b){b=b.checked;null!=b&&Oc(a,"checked",b,!1)}
13638
+ function Tc(a,b){Sc(a,b);var c=Pc(b.value),d=b.type;if(null!=c)if("number"===d){if(0===c&&""===a.value||a.value!=c)a.value=""+c}else a.value!==""+c&&(a.value=""+c);else if("submit"===d||"reset"===d){a.removeAttribute("value");return}b.hasOwnProperty("value")?Uc(a,b.type,c):b.hasOwnProperty("defaultValue")&&Uc(a,b.type,Pc(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}
13639
+ function bd(a,b,c){if(b.hasOwnProperty("value")||b.hasOwnProperty("defaultValue")){var d=b.type;if(!("submit"!==d&&"reset"!==d||void 0!==b.value&&null!==b.value))return;b=""+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;""!==c&&(a.name="");a.defaultChecked=!a.defaultChecked;a.defaultChecked=!!a._wrapperState.initialChecked;""!==c&&(a.name=c)}
13640
+ function Uc(a,b,c){if("number"!==b||a.ownerDocument.activeElement!==a)null==c?a.defaultValue=""+a._wrapperState.initialValue:a.defaultValue!==""+c&&(a.defaultValue=""+c)}var cd={change:{phasedRegistrationNames:{bubbled:"onChange",captured:"onChangeCapture"},dependencies:"blur change click focus input keydown keyup selectionchange".split(" ")}};function dd(a,b,c){a=y.getPooled(cd.change,a,b,c);a.type="change";Wb(c);Wa(a);return a}var ed=null,fd=null;function gd(a){Ia(a,!1)}
13641
+ function hd(a){var b=Pa(a);if(jc(b))return a}function id(a,b){if("change"===a)return b}var jd=!1;Xa&&(jd=fc("input")&&(!document.documentMode||9<document.documentMode));function kd(){ed&&(ed.detachEvent("onpropertychange",ld),fd=ed=null)}function ld(a){"value"===a.propertyName&&hd(fd)&&(a=dd(fd,a,ec(a)),bc(gd,a))}function md(a,b,c){"focus"===a?(kd(),ed=b,fd=c,ed.attachEvent("onpropertychange",ld)):"blur"===a&&kd()}function nd(a){if("selectionchange"===a||"keyup"===a||"keydown"===a)return hd(fd)}
13642
+ function od(a,b){if("click"===a)return hd(b)}function pd(a,b){if("input"===a||"change"===a)return hd(b)}
13643
+ var qd={eventTypes:cd,_isInputEventSupported:jd,extractEvents:function(a,b,c,d){var e=b?Pa(b):window,f=void 0,g=void 0,h=e.nodeName&&e.nodeName.toLowerCase();"select"===h||"input"===h&&"file"===e.type?f=id:dc(e)?jd?f=pd:(f=nd,g=md):(h=e.nodeName)&&"input"===h.toLowerCase()&&("checkbox"===e.type||"radio"===e.type)&&(f=od);if(f&&(f=f(a,b)))return dd(f,c,d);g&&g(a,e,b);"blur"===a&&(a=e._wrapperState)&&a.controlled&&"number"===e.type&&Uc(e,"number",e.value)}},rd=y.extend({view:null,detail:null}),sd={Alt:"altKey",
13644
+ Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function td(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=sd[a])?!!b[a]:!1}function ud(){return td}
13645
+ var vd=0,wd=0,xd=!1,yd=!1,zd=rd.extend({screenX:null,screenY:null,clientX:null,clientY:null,pageX:null,pageY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:ud,button:null,buttons:null,relatedTarget:function(a){return a.relatedTarget||(a.fromElement===a.srcElement?a.toElement:a.fromElement)},movementX:function(a){if("movementX"in a)return a.movementX;var b=vd;vd=a.screenX;return xd?"mousemove"===a.type?a.screenX-b:0:(xd=!0,0)},movementY:function(a){if("movementY"in a)return a.movementY;
13646
+ var b=wd;wd=a.screenY;return yd?"mousemove"===a.type?a.screenY-b:0:(yd=!0,0)}}),Ad=zd.extend({pointerId:null,width:null,height:null,pressure:null,tangentialPressure:null,tiltX:null,tiltY:null,twist:null,pointerType:null,isPrimary:null}),Bd={mouseEnter:{registrationName:"onMouseEnter",dependencies:["mouseout","mouseover"]},mouseLeave:{registrationName:"onMouseLeave",dependencies:["mouseout","mouseover"]},pointerEnter:{registrationName:"onPointerEnter",dependencies:["pointerout","pointerover"]},pointerLeave:{registrationName:"onPointerLeave",
13647
+ dependencies:["pointerout","pointerover"]}},Cd={eventTypes:Bd,extractEvents:function(a,b,c,d){var e="mouseover"===a||"pointerover"===a,f="mouseout"===a||"pointerout"===a;if(e&&(c.relatedTarget||c.fromElement)||!f&&!e)return null;e=d.window===d?d:(e=d.ownerDocument)?e.defaultView||e.parentWindow:window;f?(f=b,b=(b=c.relatedTarget||c.toElement)?Na(b):null):f=null;if(f===b)return null;var g=void 0,h=void 0,k=void 0,l=void 0;if("mouseout"===a||"mouseover"===a)g=zd,h=Bd.mouseLeave,k=Bd.mouseEnter,l="mouse";
13648
+ else if("pointerout"===a||"pointerover"===a)g=Ad,h=Bd.pointerLeave,k=Bd.pointerEnter,l="pointer";var m=null==f?e:Pa(f);e=null==b?e:Pa(b);a=g.getPooled(h,f,c,d);a.type=l+"leave";a.target=m;a.relatedTarget=e;c=g.getPooled(k,b,c,d);c.type=l+"enter";c.target=e;c.relatedTarget=m;d=b;if(f&&d)a:{b=f;e=d;l=0;for(g=b;g;g=Ra(g))l++;g=0;for(k=e;k;k=Ra(k))g++;for(;0<l-g;)b=Ra(b),l--;for(;0<g-l;)e=Ra(e),g--;for(;l--;){if(b===e||b===e.alternate)break a;b=Ra(b);e=Ra(e)}b=null}else b=null;e=b;for(b=[];f&&f!==e;){l=
13649
+ f.alternate;if(null!==l&&l===e)break;b.push(f);f=Ra(f)}for(f=[];d&&d!==e;){l=d.alternate;if(null!==l&&l===e)break;f.push(d);d=Ra(d)}for(d=0;d<b.length;d++)Ua(b[d],"bubbled",a);for(d=f.length;0<d--;)Ua(f[d],"captured",c);return[a,c]}},Dd=Object.prototype.hasOwnProperty;function Ed(a,b){return a===b?0!==a||0!==b||1/a===1/b:a!==a&&b!==b}
13650
+ function Fd(a,b){if(Ed(a,b))return!0;if("object"!==typeof a||null===a||"object"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++)if(!Dd.call(b,c[d])||!Ed(a[c[d]],b[c[d]]))return!1;return!0}function Gd(a){var b=a;if(a.alternate)for(;b.return;)b=b.return;else{if(0!==(b.effectTag&2))return 1;for(;b.return;)if(b=b.return,0!==(b.effectTag&2))return 1}return 3===b.tag?2:3}function Hd(a){2!==Gd(a)?r("188"):void 0}
13651
+ function Id(a){var b=a.alternate;if(!b)return b=Gd(a),3===b?r("188"):void 0,1===b?null:a;for(var c=a,d=b;;){var e=c.return,f=e?e.alternate:null;if(!e||!f)break;if(e.child===f.child){for(var g=e.child;g;){if(g===c)return Hd(e),a;if(g===d)return Hd(e),b;g=g.sibling}r("188")}if(c.return!==d.return)c=e,d=f;else{g=!1;for(var h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===c){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}g?
13652
+ void 0:r("189")}}c.alternate!==d?r("190"):void 0}3!==c.tag?r("188"):void 0;return c.stateNode.current===c?a:b}function Jd(a){a=Id(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}}return null}
13653
+ var Kd=y.extend({animationName:null,elapsedTime:null,pseudoElement:null}),Ld=y.extend({clipboardData:function(a){return"clipboardData"in a?a.clipboardData:window.clipboardData}}),Md=rd.extend({relatedTarget:null});function Nd(a){var b=a.keyCode;"charCode"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}
13654
+ var Od={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Pd={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",
13655
+ 116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Qd=rd.extend({key:function(a){if(a.key){var b=Od[a.key]||a.key;if("Unidentified"!==b)return b}return"keypress"===a.type?(a=Nd(a),13===a?"Enter":String.fromCharCode(a)):"keydown"===a.type||"keyup"===a.type?Pd[a.keyCode]||"Unidentified":""},location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:ud,charCode:function(a){return"keypress"===
13656
+ a.type?Nd(a):0},keyCode:function(a){return"keydown"===a.type||"keyup"===a.type?a.keyCode:0},which:function(a){return"keypress"===a.type?Nd(a):"keydown"===a.type||"keyup"===a.type?a.keyCode:0}}),Rd=zd.extend({dataTransfer:null}),Sd=rd.extend({touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:ud}),Td=y.extend({propertyName:null,elapsedTime:null,pseudoElement:null}),Ud=zd.extend({deltaX:function(a){return"deltaX"in a?a.deltaX:"wheelDeltaX"in
13657
+ a?-a.wheelDeltaX:0},deltaY:function(a){return"deltaY"in a?a.deltaY:"wheelDeltaY"in a?-a.wheelDeltaY:"wheelDelta"in a?-a.wheelDelta:0},deltaZ:null,deltaMode:null}),Vd=[["abort","abort"],[cb,"animationEnd"],[ib,"animationIteration"],[jb,"animationStart"],["canplay","canPlay"],["canplaythrough","canPlayThrough"],["drag","drag"],["dragenter","dragEnter"],["dragexit","dragExit"],["dragleave","dragLeave"],["dragover","dragOver"],["durationchange","durationChange"],["emptied","emptied"],["encrypted","encrypted"],
13658
+ ["ended","ended"],["error","error"],["gotpointercapture","gotPointerCapture"],["load","load"],["loadeddata","loadedData"],["loadedmetadata","loadedMetadata"],["loadstart","loadStart"],["lostpointercapture","lostPointerCapture"],["mousemove","mouseMove"],["mouseout","mouseOut"],["mouseover","mouseOver"],["playing","playing"],["pointermove","pointerMove"],["pointerout","pointerOut"],["pointerover","pointerOver"],["progress","progress"],["scroll","scroll"],["seeking","seeking"],["stalled","stalled"],
13659
+ ["suspend","suspend"],["timeupdate","timeUpdate"],["toggle","toggle"],["touchmove","touchMove"],[kb,"transitionEnd"],["waiting","waiting"],["wheel","wheel"]],Wd={},Xd={};function Yd(a,b){var c=a[0];a=a[1];var d="on"+(a[0].toUpperCase()+a.slice(1));b={phasedRegistrationNames:{bubbled:d,captured:d+"Capture"},dependencies:[c],isInteractive:b};Wd[a]=b;Xd[c]=b}
13660
+ [["blur","blur"],["cancel","cancel"],["click","click"],["close","close"],["contextmenu","contextMenu"],["copy","copy"],["cut","cut"],["auxclick","auxClick"],["dblclick","doubleClick"],["dragend","dragEnd"],["dragstart","dragStart"],["drop","drop"],["focus","focus"],["input","input"],["invalid","invalid"],["keydown","keyDown"],["keypress","keyPress"],["keyup","keyUp"],["mousedown","mouseDown"],["mouseup","mouseUp"],["paste","paste"],["pause","pause"],["play","play"],["pointercancel","pointerCancel"],
13661
+ ["pointerdown","pointerDown"],["pointerup","pointerUp"],["ratechange","rateChange"],["reset","reset"],["seeked","seeked"],["submit","submit"],["touchcancel","touchCancel"],["touchend","touchEnd"],["touchstart","touchStart"],["volumechange","volumeChange"]].forEach(function(a){Yd(a,!0)});Vd.forEach(function(a){Yd(a,!1)});
13662
+ var Zd={eventTypes:Wd,isInteractiveTopLevelEventType:function(a){a=Xd[a];return void 0!==a&&!0===a.isInteractive},extractEvents:function(a,b,c,d){var e=Xd[a];if(!e)return null;switch(a){case "keypress":if(0===Nd(c))return null;case "keydown":case "keyup":a=Qd;break;case "blur":case "focus":a=Md;break;case "click":if(2===c.button)return null;case "auxclick":case "dblclick":case "mousedown":case "mousemove":case "mouseup":case "mouseout":case "mouseover":case "contextmenu":a=zd;break;case "drag":case "dragend":case "dragenter":case "dragexit":case "dragleave":case "dragover":case "dragstart":case "drop":a=
13663
+ Rd;break;case "touchcancel":case "touchend":case "touchmove":case "touchstart":a=Sd;break;case cb:case ib:case jb:a=Kd;break;case kb:a=Td;break;case "scroll":a=rd;break;case "wheel":a=Ud;break;case "copy":case "cut":case "paste":a=Ld;break;case "gotpointercapture":case "lostpointercapture":case "pointercancel":case "pointerdown":case "pointermove":case "pointerout":case "pointerover":case "pointerup":a=Ad;break;default:a=y}b=a.getPooled(e,b,c,d);Wa(b);return b}},$d=Zd.isInteractiveTopLevelEventType,
13664
+ ae=[];function be(a){var b=a.targetInst,c=b;do{if(!c){a.ancestors.push(c);break}var d;for(d=c;d.return;)d=d.return;d=3!==d.tag?null:d.stateNode.containerInfo;if(!d)break;a.ancestors.push(c);c=Na(d)}while(c);for(c=0;c<a.ancestors.length;c++){b=a.ancestors[c];var e=ec(a.nativeEvent);d=a.topLevelType;for(var f=a.nativeEvent,g=null,h=0;h<ra.length;h++){var k=ra[h];k&&(k=k.extractEvents(d,b,f,e))&&(g=Aa(g,k))}Ia(g,!1)}}var ce=!0;
13665
+ function H(a,b){if(!b)return null;var c=($d(a)?de:ee).bind(null,a);b.addEventListener(a,c,!1)}function ge(a,b){if(!b)return null;var c=($d(a)?de:ee).bind(null,a);b.addEventListener(a,c,!0)}function de(a,b){Zb(ee,a,b)}
13666
+ function ee(a,b){if(ce){var c=ec(b);c=Na(c);null===c||"number"!==typeof c.tag||2===Gd(c)||(c=null);if(ae.length){var d=ae.pop();d.topLevelType=a;d.nativeEvent=b;d.targetInst=c;a=d}else a={topLevelType:a,nativeEvent:b,targetInst:c,ancestors:[]};try{bc(be,a)}finally{a.topLevelType=null,a.nativeEvent=null,a.targetInst=null,a.ancestors.length=0,10>ae.length&&ae.push(a)}}}var he={},ie=0,je="_reactListenersID"+(""+Math.random()).slice(2);
13667
+ function ke(a){Object.prototype.hasOwnProperty.call(a,je)||(a[je]=ie++,he[a[je]]={});return he[a[je]]}function le(a){a=a||("undefined"!==typeof document?document:void 0);if("undefined"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}function me(a){for(;a&&a.firstChild;)a=a.firstChild;return a}
13668
+ function ne(a,b){var c=me(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=me(c)}}function oe(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?oe(a,b.parentNode):"contains"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}
13669
+ function pe(){for(var a=window,b=le();b instanceof a.HTMLIFrameElement;){try{a=b.contentDocument.defaultView}catch(c){break}b=le(a.document)}return b}function qe(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&("input"===b&&("text"===a.type||"search"===a.type||"tel"===a.type||"url"===a.type||"password"===a.type)||"textarea"===b||"true"===a.contentEditable)}
13670
+ var re=Xa&&"documentMode"in document&&11>=document.documentMode,se={select:{phasedRegistrationNames:{bubbled:"onSelect",captured:"onSelectCapture"},dependencies:"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange".split(" ")}},te=null,ue=null,He=null,Ie=!1;
13671
+ function Je(a,b){var c=b.window===b?b.document:9===b.nodeType?b:b.ownerDocument;if(Ie||null==te||te!==le(c))return null;c=te;"selectionStart"in c&&qe(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset});return He&&Fd(He,c)?null:(He=c,a=y.getPooled(se.select,ue,a,b),a.type="select",a.target=te,Wa(a),a)}
13672
+ var Ke={eventTypes:se,extractEvents:function(a,b,c,d){var e=d.window===d?d.document:9===d.nodeType?d:d.ownerDocument,f;if(!(f=!e)){a:{e=ke(e);f=va.onSelect;for(var g=0;g<f.length;g++){var h=f[g];if(!e.hasOwnProperty(h)||!e[h]){e=!1;break a}}e=!0}f=!e}if(f)return null;e=b?Pa(b):window;switch(a){case "focus":if(dc(e)||"true"===e.contentEditable)te=e,ue=b,He=null;break;case "blur":He=ue=te=null;break;case "mousedown":Ie=!0;break;case "contextmenu":case "mouseup":case "dragend":return Ie=!1,Je(c,d);case "selectionchange":if(re)break;
13673
+ case "keydown":case "keyup":return Je(c,d)}return null}};Ga.injectEventPluginOrder("ResponderEventPlugin SimpleEventPlugin EnterLeaveEventPlugin ChangeEventPlugin SelectEventPlugin BeforeInputEventPlugin".split(" "));wa=Qa;xa=Oa;ya=Pa;Ga.injectEventPluginsByName({SimpleEventPlugin:Zd,EnterLeaveEventPlugin:Cd,ChangeEventPlugin:qd,SelectEventPlugin:Ke,BeforeInputEventPlugin:Mb});function Le(a){var b="";aa.Children.forEach(a,function(a){null!=a&&(b+=a)});return b}
13674
+ function Me(a,b){a=n({children:void 0},b);if(b=Le(b.children))a.children=b;return a}function Ne(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b["$"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty("$"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=""+Pc(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}
13675
+ function Oe(a,b){null!=b.dangerouslySetInnerHTML?r("91"):void 0;return n({},b,{value:void 0,defaultValue:void 0,children:""+a._wrapperState.initialValue})}function Pe(a,b){var c=b.value;null==c&&(c=b.defaultValue,b=b.children,null!=b&&(null!=c?r("92"):void 0,Array.isArray(b)&&(1>=b.length?void 0:r("93"),b=b[0]),c=b),null==c&&(c=""));a._wrapperState={initialValue:Pc(c)}}
13676
+ function Qe(a,b){var c=Pc(b.value),d=Pc(b.defaultValue);null!=c&&(c=""+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=""+d)}function Re(a){var b=a.textContent;b===a._wrapperState.initialValue&&(a.value=b)}var Se={html:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg"};
13677
+ function Te(a){switch(a){case "svg":return"http://www.w3.org/2000/svg";case "math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function Ue(a,b){return null==a||"http://www.w3.org/1999/xhtml"===a?Te(b):"http://www.w3.org/2000/svg"===a&&"foreignObject"===b?"http://www.w3.org/1999/xhtml":a}
13678
+ var Ve=void 0,We=function(a){return"undefined"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==Se.svg||"innerHTML"in a)a.innerHTML=b;else{Ve=Ve||document.createElement("div");Ve.innerHTML="<svg>"+b+"</svg>";for(b=Ve.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});
13679
+ function Xe(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}
13680
+ var Ye={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,
13681
+ floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Ze=["Webkit","ms","Moz","O"];Object.keys(Ye).forEach(function(a){Ze.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);Ye[b]=Ye[a]})});
13682
+ function $e(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf("--");var e=c;var f=b[c];e=null==f||"boolean"===typeof f||""===f?"":d||"number"!==typeof f||0===f||Ye.hasOwnProperty(e)&&Ye[e]?(""+f).trim():f+"px";"float"===c&&(c="cssFloat");d?a.setProperty(c,e):a[c]=e}}var af=n({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});
13683
+ function bf(a,b){b&&(af[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML?r("137",a,""):void 0),null!=b.dangerouslySetInnerHTML&&(null!=b.children?r("60"):void 0,"object"===typeof b.dangerouslySetInnerHTML&&"__html"in b.dangerouslySetInnerHTML?void 0:r("61")),null!=b.style&&"object"!==typeof b.style?r("62",""):void 0)}
13684
+ function cf(a,b){if(-1===a.indexOf("-"))return"string"===typeof b.is;switch(a){case "annotation-xml":case "color-profile":case "font-face":case "font-face-src":case "font-face-uri":case "font-face-format":case "font-face-name":case "missing-glyph":return!1;default:return!0}}
13685
+ function df(a,b){a=9===a.nodeType||11===a.nodeType?a:a.ownerDocument;var c=ke(a);b=va[b];for(var d=0;d<b.length;d++){var e=b[d];if(!c.hasOwnProperty(e)||!c[e]){switch(e){case "scroll":ge("scroll",a);break;case "focus":case "blur":ge("focus",a);ge("blur",a);c.blur=!0;c.focus=!0;break;case "cancel":case "close":fc(e)&&ge(e,a);break;case "invalid":case "submit":case "reset":break;default:-1===lb.indexOf(e)&&H(e,a)}c[e]=!0}}}function ef(){}var ff=null,gf=null;
13686
+ function hf(a,b){switch(a){case "button":case "input":case "select":case "textarea":return!!b.autoFocus}return!1}function jf(a,b){return"textarea"===a||"option"===a||"noscript"===a||"string"===typeof b.children||"number"===typeof b.children||"object"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}var kf=setTimeout,lf=clearTimeout;function mf(a){for(a=a.nextSibling;a&&1!==a.nodeType&&3!==a.nodeType;)a=a.nextSibling;return a}
13687
+ function nf(a){for(a=a.firstChild;a&&1!==a.nodeType&&3!==a.nodeType;)a=a.nextSibling;return a}new Set;var of=[],pf=-1;function I(a){0>pf||(a.current=of[pf],of[pf]=null,pf--)}function J(a,b){pf++;of[pf]=a.current;a.current=b}var qf={},K={current:qf},L={current:!1},rf=qf;
13688
+ function sf(a,b){var c=a.type.contextTypes;if(!c)return qf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function M(a){a=a.childContextTypes;return null!==a&&void 0!==a}function tf(a){I(L,a);I(K,a)}function uf(a){I(L,a);I(K,a)}
13689
+ function vf(a,b,c){K.current!==qf?r("168"):void 0;J(K,b,a);J(L,c,a)}function wf(a,b,c){var d=a.stateNode;a=b.childContextTypes;if("function"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)e in a?void 0:r("108",Ac(b)||"Unknown",e);return n({},c,d)}function xf(a){var b=a.stateNode;b=b&&b.__reactInternalMemoizedMergedChildContext||qf;rf=K.current;J(K,b,a);J(L,L.current,a);return!0}
13690
+ function yf(a,b,c){var d=a.stateNode;d?void 0:r("169");c?(b=wf(a,b,rf),d.__reactInternalMemoizedMergedChildContext=b,I(L,a),I(K,a),J(K,b,a)):I(L,a);J(L,c,a)}var zf=null,Af=null;function Bf(a){return function(b){try{return a(b)}catch(c){}}}
13691
+ function Cf(a){if("undefined"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var b=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(b.isDisabled||!b.supportsFiber)return!0;try{var c=b.inject(a);zf=Bf(function(a){return b.onCommitFiberRoot(c,a)});Af=Bf(function(a){return b.onCommitFiberUnmount(c,a)})}catch(d){}return!0}
13692
+ function Df(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.firstContextDependency=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.effectTag=0;this.lastEffect=this.firstEffect=this.nextEffect=null;this.childExpirationTime=this.expirationTime=0;this.alternate=null}function N(a,b,c,d){return new Df(a,b,c,d)}
13693
+ function Ef(a){a=a.prototype;return!(!a||!a.isReactComponent)}function Ff(a){if("function"===typeof a)return Ef(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===uc)return 11;if(a===wc)return 14}return 2}
13694
+ function Gf(a,b){var c=a.alternate;null===c?(c=N(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.effectTag=0,c.nextEffect=null,c.firstEffect=null,c.lastEffect=null);c.childExpirationTime=a.childExpirationTime;c.expirationTime=a.expirationTime;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;c.firstContextDependency=a.firstContextDependency;c.sibling=a.sibling;
13695
+ c.index=a.index;c.ref=a.ref;return c}
13696
+ function Hf(a,b,c,d,e,f){var g=2;d=a;if("function"===typeof a)Ef(a)&&(g=1);else if("string"===typeof a)g=5;else a:switch(a){case oc:return If(c.children,e,f,b);case tc:return Jf(c,e|3,f,b);case pc:return Jf(c,e|2,f,b);case qc:return a=N(12,c,b,e|4),a.elementType=qc,a.type=qc,a.expirationTime=f,a;case vc:return a=N(13,c,b,e),a.elementType=vc,a.type=vc,a.expirationTime=f,a;default:if("object"===typeof a&&null!==a)switch(a.$$typeof){case rc:g=10;break a;case sc:g=9;break a;case uc:g=11;break a;case wc:g=
13697
+ 14;break a;case xc:g=16;d=null;break a}r("130",null==a?a:typeof a,"")}b=N(g,c,b,e);b.elementType=a;b.type=d;b.expirationTime=f;return b}function If(a,b,c,d){a=N(7,a,d,b);a.expirationTime=c;return a}function Jf(a,b,c,d){a=N(8,a,d,b);b=0===(b&1)?pc:tc;a.elementType=b;a.type=b;a.expirationTime=c;return a}function Kf(a,b,c){a=N(6,a,null,b);a.expirationTime=c;return a}
13698
+ function Lf(a,b,c){b=N(4,null!==a.children?a.children:[],a.key,b);b.expirationTime=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}function Mf(a,b){a.didError=!1;var c=a.earliestPendingTime;0===c?a.earliestPendingTime=a.latestPendingTime=b:c>b?a.earliestPendingTime=b:a.latestPendingTime<b&&(a.latestPendingTime=b);Nf(b,a)}
13699
+ function Of(a,b){a.didError=!1;var c=a.latestPingedTime;0!==c&&c<=b&&(a.latestPingedTime=0);c=a.earliestPendingTime;var d=a.latestPendingTime;c===b?a.earliestPendingTime=d===b?a.latestPendingTime=0:d:d===b&&(a.latestPendingTime=c);c=a.earliestSuspendedTime;d=a.latestSuspendedTime;0===c?a.earliestSuspendedTime=a.latestSuspendedTime=b:c>b?a.earliestSuspendedTime=b:d<b&&(a.latestSuspendedTime=b);Nf(b,a)}
13700
+ function Pf(a,b){var c=a.earliestPendingTime;a=a.earliestSuspendedTime;if(0===b||0!==c&&c<b)b=c;if(0===b||0!==a&&a<b)b=a;return b}function Nf(a,b){var c=b.earliestSuspendedTime,d=b.latestSuspendedTime,e=b.earliestPendingTime,f=b.latestPingedTime;e=0!==e?e:f;0===e&&(0===a||d>a)&&(e=d);a=e;0!==a&&0!==c&&c<a&&(a=c);b.nextExpirationTimeToWorkOn=e;b.expirationTime=a}var Qf=!1;
13701
+ function Rf(a){return{baseState:a,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function Sf(a){return{baseState:a.baseState,firstUpdate:a.firstUpdate,lastUpdate:a.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}
13702
+ function Tf(a){return{expirationTime:a,tag:0,payload:null,callback:null,next:null,nextEffect:null}}function Uf(a,b){null===a.lastUpdate?a.firstUpdate=a.lastUpdate=b:(a.lastUpdate.next=b,a.lastUpdate=b)}
13703
+ function Vf(a,b){var c=a.alternate;if(null===c){var d=a.updateQueue;var e=null;null===d&&(d=a.updateQueue=Rf(a.memoizedState))}else d=a.updateQueue,e=c.updateQueue,null===d?null===e?(d=a.updateQueue=Rf(a.memoizedState),e=c.updateQueue=Rf(c.memoizedState)):d=a.updateQueue=Sf(e):null===e&&(e=c.updateQueue=Sf(d));null===e||d===e?Uf(d,b):null===d.lastUpdate||null===e.lastUpdate?(Uf(d,b),Uf(e,b)):(Uf(d,b),e.lastUpdate=b)}
13704
+ function Wf(a,b){var c=a.updateQueue;c=null===c?a.updateQueue=Rf(a.memoizedState):Xf(a,c);null===c.lastCapturedUpdate?c.firstCapturedUpdate=c.lastCapturedUpdate=b:(c.lastCapturedUpdate.next=b,c.lastCapturedUpdate=b)}function Xf(a,b){var c=a.alternate;null!==c&&b===c.updateQueue&&(b=a.updateQueue=Sf(b));return b}
13705
+ function Yf(a,b,c,d,e,f){switch(c.tag){case 1:return a=c.payload,"function"===typeof a?a.call(f,d,e):a;case 3:a.effectTag=a.effectTag&-1025|64;case 0:a=c.payload;e="function"===typeof a?a.call(f,d,e):a;if(null===e||void 0===e)break;return n({},d,e);case 2:Qf=!0}return d}
13706
+ function Zf(a,b,c,d,e){Qf=!1;b=Xf(a,b);for(var f=b.baseState,g=null,h=0,k=b.firstUpdate,l=f;null!==k;){var m=k.expirationTime;if(m>e){if(null===g&&(g=k,f=l),0===h||h>m)h=m}else l=Yf(a,b,k,l,c,d),null!==k.callback&&(a.effectTag|=32,k.nextEffect=null,null===b.lastEffect?b.firstEffect=b.lastEffect=k:(b.lastEffect.nextEffect=k,b.lastEffect=k));k=k.next}m=null;for(k=b.firstCapturedUpdate;null!==k;){var p=k.expirationTime;if(p>e){if(null===m&&(m=k,null===g&&(f=l)),0===h||h>p)h=p}else l=Yf(a,b,k,l,c,d),
13707
+ null!==k.callback&&(a.effectTag|=32,k.nextEffect=null,null===b.lastCapturedEffect?b.firstCapturedEffect=b.lastCapturedEffect=k:(b.lastCapturedEffect.nextEffect=k,b.lastCapturedEffect=k));k=k.next}null===g&&(b.lastUpdate=null);null===m?b.lastCapturedUpdate=null:a.effectTag|=32;null===g&&null===m&&(f=l);b.baseState=f;b.firstUpdate=g;b.firstCapturedUpdate=m;a.expirationTime=h;a.memoizedState=l}
13708
+ function $f(a,b,c){null!==b.firstCapturedUpdate&&(null!==b.lastUpdate&&(b.lastUpdate.next=b.firstCapturedUpdate,b.lastUpdate=b.lastCapturedUpdate),b.firstCapturedUpdate=b.lastCapturedUpdate=null);ag(b.firstEffect,c);b.firstEffect=b.lastEffect=null;ag(b.firstCapturedEffect,c);b.firstCapturedEffect=b.lastCapturedEffect=null}function ag(a,b){for(;null!==a;){var c=a.callback;if(null!==c){a.callback=null;var d=b;"function"!==typeof c?r("191",c):void 0;c.call(d)}a=a.nextEffect}}
13709
+ function bg(a,b){return{value:a,source:b,stack:Bc(b)}}var cg={current:null},dg=null,eg=null,fg=null;function gg(a,b){var c=a.type._context;J(cg,c._currentValue,a);c._currentValue=b}function hg(a){var b=cg.current;I(cg,a);a.type._context._currentValue=b}function ig(a){dg=a;fg=eg=null;a.firstContextDependency=null}
13710
+ function jg(a,b){if(fg!==a&&!1!==b&&0!==b){if("number"!==typeof b||1073741823===b)fg=a,b=1073741823;b={context:a,observedBits:b,next:null};null===eg?(null===dg?r("293"):void 0,dg.firstContextDependency=eg=b):eg=eg.next=b}return a._currentValue}var kg={},O={current:kg},lg={current:kg},mg={current:kg};function ng(a){a===kg?r("174"):void 0;return a}
13711
+ function og(a,b){J(mg,b,a);J(lg,a,a);J(O,kg,a);var c=b.nodeType;switch(c){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:Ue(null,"");break;default:c=8===c?b.parentNode:b,b=c.namespaceURI||null,c=c.tagName,b=Ue(b,c)}I(O,a);J(O,b,a)}function pg(a){I(O,a);I(lg,a);I(mg,a)}function qg(a){ng(mg.current);var b=ng(O.current);var c=Ue(b,a.type);b!==c&&(J(lg,a,a),J(O,c,a))}function rg(a){lg.current===a&&(I(O,a),I(lg,a))}var sg=kc.ReactCurrentOwner,tg=(new aa.Component).refs;
13712
+ function ug(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:n({},b,c);a.memoizedState=c;d=a.updateQueue;null!==d&&0===a.expirationTime&&(d.baseState=c)}
13713
+ var yg={isMounted:function(a){return(a=a._reactInternalFiber)?2===Gd(a):!1},enqueueSetState:function(a,b,c){a=a._reactInternalFiber;var d=vg();d=wg(d,a);var e=Tf(d);e.payload=b;void 0!==c&&null!==c&&(e.callback=c);Vf(a,e);xg(a,d)},enqueueReplaceState:function(a,b,c){a=a._reactInternalFiber;var d=vg();d=wg(d,a);var e=Tf(d);e.tag=1;e.payload=b;void 0!==c&&null!==c&&(e.callback=c);Vf(a,e);xg(a,d)},enqueueForceUpdate:function(a,b){a=a._reactInternalFiber;var c=vg();c=wg(c,a);var d=Tf(c);d.tag=2;void 0!==
13714
+ b&&null!==b&&(d.callback=b);Vf(a,d);xg(a,c)}};function zg(a,b,c,d,e,f,g){a=a.stateNode;return"function"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!Fd(c,d)||!Fd(e,f):!0}
13715
+ function Ag(a,b,c){var d=!1,e=qf;var f=b.contextType;"object"===typeof f&&null!==f?f=sg.currentDispatcher.readContext(f):(e=M(b)?rf:K.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?sf(a,e):qf);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=yg;a.stateNode=b;b._reactInternalFiber=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}
13716
+ function Bg(a,b,c,d){a=b.state;"function"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);"function"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&yg.enqueueReplaceState(b,b.state,null)}
13717
+ function Cg(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs=tg;var f=b.contextType;"object"===typeof f&&null!==f?e.context=sg.currentDispatcher.readContext(f):(f=M(b)?rf:K.current,e.context=sf(a,f));f=a.updateQueue;null!==f&&(Zf(a,f,c,e,d),e.state=a.memoizedState);f=b.getDerivedStateFromProps;"function"===typeof f&&(ug(a,b,f,c),e.state=a.memoizedState);"function"===typeof b.getDerivedStateFromProps||"function"===typeof e.getSnapshotBeforeUpdate||"function"!==typeof e.UNSAFE_componentWillMount&&
13718
+ "function"!==typeof e.componentWillMount||(b=e.state,"function"===typeof e.componentWillMount&&e.componentWillMount(),"function"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&yg.enqueueReplaceState(e,e.state,null),f=a.updateQueue,null!==f&&(Zf(a,f,c,e,d),e.state=a.memoizedState));"function"===typeof e.componentDidMount&&(a.effectTag|=4)}var Dg=Array.isArray;
13719
+ function Eg(a,b,c){a=c.ref;if(null!==a&&"function"!==typeof a&&"object"!==typeof a){if(c._owner){c=c._owner;var d=void 0;c&&(1!==c.tag?r("289"):void 0,d=c.stateNode);d?void 0:r("147",a);var e=""+a;if(null!==b&&null!==b.ref&&"function"===typeof b.ref&&b.ref._stringRef===e)return b.ref;b=function(a){var b=d.refs;b===tg&&(b=d.refs={});null===a?delete b[e]:b[e]=a};b._stringRef=e;return b}"string"!==typeof a?r("284"):void 0;c._owner?void 0:r("290",a)}return a}
13720
+ function Fg(a,b){"textarea"!==a.type&&r("31","[object Object]"===Object.prototype.toString.call(b)?"object with keys {"+Object.keys(b).join(", ")+"}":b,"")}
13721
+ function Gg(a){function b(b,c){if(a){var d=b.lastEffect;null!==d?(d.nextEffect=c,b.lastEffect=c):b.firstEffect=b.lastEffect=c;c.nextEffect=null;c.effectTag=8}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b,c){a=Gf(a,b,c);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.effectTag=
13722
+ 2,c):d;b.effectTag=2;return c}function g(b){a&&null===b.alternate&&(b.effectTag=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=Kf(c,a.mode,d),b.return=a,b;b=e(b,c,d);b.return=a;return b}function k(a,b,c,d){if(null!==b&&b.elementType===c.type)return d=e(b,c.props,d),d.ref=Eg(a,b,c),d.return=a,d;d=Hf(c.type,c.key,c.props,null,a.mode,d);d.ref=Eg(a,b,c);d.return=a;return d}function l(a,b,c,d){if(null===b||4!==b.tag||b.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==
13723
+ c.implementation)return b=Lf(c,a.mode,d),b.return=a,b;b=e(b,c.children||[],d);b.return=a;return b}function m(a,b,c,d,f){if(null===b||7!==b.tag)return b=If(c,a.mode,d,f),b.return=a,b;b=e(b,c,d);b.return=a;return b}function p(a,b,c){if("string"===typeof b||"number"===typeof b)return b=Kf(""+b,a.mode,c),b.return=a,b;if("object"===typeof b&&null!==b){switch(b.$$typeof){case mc:return c=Hf(b.type,b.key,b.props,null,a.mode,c),c.ref=Eg(a,null,b),c.return=a,c;case nc:return b=Lf(b,a.mode,c),b.return=a,b}if(Dg(b)||
13724
+ zc(b))return b=If(b,a.mode,c,null),b.return=a,b;Fg(a,b)}return null}function v(a,b,c,d){var e=null!==b?b.key:null;if("string"===typeof c||"number"===typeof c)return null!==e?null:h(a,b,""+c,d);if("object"===typeof c&&null!==c){switch(c.$$typeof){case mc:return c.key===e?c.type===oc?m(a,b,c.props.children,d,e):k(a,b,c,d):null;case nc:return c.key===e?l(a,b,c,d):null}if(Dg(c)||zc(c))return null!==e?null:m(a,b,c,d,null);Fg(a,c)}return null}function B(a,b,c,d,e){if("string"===typeof d||"number"===typeof d)return a=
13725
+ a.get(c)||null,h(b,a,""+d,e);if("object"===typeof d&&null!==d){switch(d.$$typeof){case mc:return a=a.get(null===d.key?c:d.key)||null,d.type===oc?m(b,a,d.props.children,e,d.key):k(b,a,d,e);case nc:return a=a.get(null===d.key?c:d.key)||null,l(b,a,d,e)}if(Dg(d)||zc(d))return a=a.get(c)||null,m(b,a,d,e,null);Fg(b,d)}return null}function w(e,g,h,k){for(var l=null,m=null,q=g,u=g=0,A=null;null!==q&&u<h.length;u++){q.index>u?(A=q,q=null):A=q.sibling;var t=v(e,q,h[u],k);if(null===t){null===q&&(q=A);break}a&&
13726
+ q&&null===t.alternate&&b(e,q);g=f(t,g,u);null===m?l=t:m.sibling=t;m=t;q=A}if(u===h.length)return c(e,q),l;if(null===q){for(;u<h.length;u++)if(q=p(e,h[u],k))g=f(q,g,u),null===m?l=q:m.sibling=q,m=q;return l}for(q=d(e,q);u<h.length;u++)if(A=B(q,e,u,h[u],k))a&&null!==A.alternate&&q.delete(null===A.key?u:A.key),g=f(A,g,u),null===m?l=A:m.sibling=A,m=A;a&&q.forEach(function(a){return b(e,a)});return l}function C(e,g,h,k){var l=zc(h);"function"!==typeof l?r("150"):void 0;h=l.call(h);null==h?r("151"):void 0;
13727
+ for(var m=l=null,q=g,u=g=0,A=null,t=h.next();null!==q&&!t.done;u++,t=h.next()){q.index>u?(A=q,q=null):A=q.sibling;var w=v(e,q,t.value,k);if(null===w){q||(q=A);break}a&&q&&null===w.alternate&&b(e,q);g=f(w,g,u);null===m?l=w:m.sibling=w;m=w;q=A}if(t.done)return c(e,q),l;if(null===q){for(;!t.done;u++,t=h.next())t=p(e,t.value,k),null!==t&&(g=f(t,g,u),null===m?l=t:m.sibling=t,m=t);return l}for(q=d(e,q);!t.done;u++,t=h.next())t=B(q,e,u,t.value,k),null!==t&&(a&&null!==t.alternate&&q.delete(null===t.key?u:
13728
+ t.key),g=f(t,g,u),null===m?l=t:m.sibling=t,m=t);a&&q.forEach(function(a){return b(e,a)});return l}return function(a,d,f,h){var k="object"===typeof f&&null!==f&&f.type===oc&&null===f.key;k&&(f=f.props.children);var l="object"===typeof f&&null!==f;if(l)switch(f.$$typeof){case mc:a:{l=f.key;for(k=d;null!==k;){if(k.key===l)if(7===k.tag?f.type===oc:k.elementType===f.type){c(a,k.sibling);d=e(k,f.type===oc?f.props.children:f.props,h);d.ref=Eg(a,k,f);d.return=a;a=d;break a}else{c(a,k);break}else b(a,k);k=
13729
+ k.sibling}f.type===oc?(d=If(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Hf(f.type,f.key,f.props,null,a.mode,h),h.ref=Eg(a,d,f),h.return=a,a=h)}return g(a);case nc:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[],h);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=Lf(f,a.mode,h);d.return=a;a=d}return g(a)}if("string"===typeof f||"number"===typeof f)return f=
13730
+ ""+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f,h),d.return=a,a=d):(c(a,d),d=Kf(f,a.mode,h),d.return=a,a=d),g(a);if(Dg(f))return w(a,d,f,h);if(zc(f))return C(a,d,f,h);l&&Fg(a,f);if("undefined"===typeof f&&!k)switch(a.tag){case 1:case 0:h=a.type,r("152",h.displayName||h.name||"Component")}return c(a,d)}}var Hg=Gg(!0),Ig=Gg(!1),Jg=null,Kg=null,Lg=!1;
13731
+ function Mg(a,b){var c=N(5,null,null,0);c.elementType="DELETED";c.type="DELETED";c.stateNode=b;c.return=a;c.effectTag=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}function Ng(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=""===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;default:return!1}}
13732
+ function Og(a){if(Lg){var b=Kg;if(b){var c=b;if(!Ng(a,b)){b=mf(c);if(!b||!Ng(a,b)){a.effectTag|=2;Lg=!1;Jg=a;return}Mg(Jg,c)}Jg=a;Kg=nf(b)}else a.effectTag|=2,Lg=!1,Jg=a}}function Pg(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag;)a=a.return;Jg=a}function Qg(a){if(a!==Jg)return!1;if(!Lg)return Pg(a),Lg=!0,!1;var b=a.type;if(5!==a.tag||"head"!==b&&"body"!==b&&!jf(b,a.memoizedProps))for(b=Kg;b;)Mg(a,b),b=mf(b);Pg(a);Kg=Jg?mf(a.stateNode):null;return!0}function Rg(){Kg=Jg=null;Lg=!1}
13733
+ function Sg(a){var b=a._result;switch(a._status){case 1:return b;case 2:throw b;case 0:throw b;default:throw a._status=0,b=a._ctor,b=b(),b.then(function(b){0===a._status&&(b=b.default,a._status=1,a._result=b)},function(b){0===a._status&&(a._status=2,a._result=b)}),a._result=b,b;}}var Tg=kc.ReactCurrentOwner;function P(a,b,c,d){b.child=null===a?Ig(b,null,c,d):Hg(b,a.child,c,d)}
13734
+ function Ug(a,b,c,d,e){c=c.render;var f=b.ref;if(!L.current&&b.memoizedProps===d&&f===(null!==a?a.ref:null))return Vg(a,b,e);d=c(d,f);P(a,b,d,e);return b.child}
13735
+ function Wg(a,b,c,d,e,f){if(null===a){var g=c.type;if("function"===typeof g&&!Ef(g)&&void 0===g.defaultProps&&null===c.compare)return b.tag=15,b.type=g,Xg(a,b,g,d,e,f);a=Hf(c.type,null,d,null,b.mode,f);a.ref=b.ref;a.return=b;return b.child=a}g=a.child;if(0===e||e>f)if(e=g.memoizedProps,c=c.compare,c=null!==c?c:Fd,c(e,d)&&a.ref===b.ref)return Vg(a,b,f);a=Gf(g,d,f);a.ref=b.ref;a.return=b;return b.child=a}
13736
+ function Xg(a,b,c,d,e,f){return null!==a&&(0===e||e>f)&&Fd(a.memoizedProps,d)&&a.ref===b.ref?Vg(a,b,f):Yg(a,b,c,d,f)}function Zg(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.effectTag|=128}function Yg(a,b,c,d,e){var f=M(c)?rf:K.current;f=sf(b,f);ig(b,e);c=c(d,f);b.effectTag|=1;P(a,b,c,e);return b.child}
13737
+ function $g(a,b,c,d,e){if(M(c)){var f=!0;xf(b)}else f=!1;ig(b,e);if(null===b.stateNode)null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2),Ag(b,c,d,e),Cg(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;"object"===typeof l&&null!==l?l=sg.currentDispatcher.readContext(l):(l=M(c)?rf:K.current,l=sf(b,l));var m=c.getDerivedStateFromProps,p="function"===typeof m||"function"===typeof g.getSnapshotBeforeUpdate;p||"function"!==typeof g.UNSAFE_componentWillReceiveProps&&
13738
+ "function"!==typeof g.componentWillReceiveProps||(h!==d||k!==l)&&Bg(b,g,d,l);Qf=!1;var v=b.memoizedState;k=g.state=v;var B=b.updateQueue;null!==B&&(Zf(b,B,d,g,e),k=b.memoizedState);h!==d||v!==k||L.current||Qf?("function"===typeof m&&(ug(b,c,m,d),k=b.memoizedState),(h=Qf||zg(b,c,h,d,v,k,l))?(p||"function"!==typeof g.UNSAFE_componentWillMount&&"function"!==typeof g.componentWillMount||("function"===typeof g.componentWillMount&&g.componentWillMount(),"function"===typeof g.UNSAFE_componentWillMount&&
13739
+ g.UNSAFE_componentWillMount()),"function"===typeof g.componentDidMount&&(b.effectTag|=4)):("function"===typeof g.componentDidMount&&(b.effectTag|=4),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):("function"===typeof g.componentDidMount&&(b.effectTag|=4),d=!1)}else g=b.stateNode,h=b.memoizedProps,g.props=h,k=g.context,l=c.contextType,"object"===typeof l&&null!==l?l=sg.currentDispatcher.readContext(l):(l=M(c)?rf:K.current,l=sf(b,l)),m=c.getDerivedStateFromProps,(p="function"===
13740
+ typeof m||"function"===typeof g.getSnapshotBeforeUpdate)||"function"!==typeof g.UNSAFE_componentWillReceiveProps&&"function"!==typeof g.componentWillReceiveProps||(h!==d||k!==l)&&Bg(b,g,d,l),Qf=!1,k=b.memoizedState,v=g.state=k,B=b.updateQueue,null!==B&&(Zf(b,B,d,g,e),v=b.memoizedState),h!==d||k!==v||L.current||Qf?("function"===typeof m&&(ug(b,c,m,d),v=b.memoizedState),(m=Qf||zg(b,c,h,d,k,v,l))?(p||"function"!==typeof g.UNSAFE_componentWillUpdate&&"function"!==typeof g.componentWillUpdate||("function"===
13741
+ typeof g.componentWillUpdate&&g.componentWillUpdate(d,v,l),"function"===typeof g.UNSAFE_componentWillUpdate&&g.UNSAFE_componentWillUpdate(d,v,l)),"function"===typeof g.componentDidUpdate&&(b.effectTag|=4),"function"===typeof g.getSnapshotBeforeUpdate&&(b.effectTag|=256)):("function"!==typeof g.componentDidUpdate||h===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=4),"function"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=256),b.memoizedProps=d,b.memoizedState=
13742
+ v),g.props=d,g.state=v,g.context=l,d=m):("function"!==typeof g.componentDidUpdate||h===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=4),"function"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=256),d=!1);return ah(a,b,c,d,f,e)}
13743
+ function ah(a,b,c,d,e,f){Zg(a,b);var g=0!==(b.effectTag&64);if(!d&&!g)return e&&yf(b,c,!1),Vg(a,b,f);d=b.stateNode;Tg.current=b;var h=g&&"function"!==typeof c.getDerivedStateFromError?null:d.render();b.effectTag|=1;null!==a&&g?(b.child=Hg(b,a.child,null,f),b.child=Hg(b,null,h,f)):P(a,b,h,f);b.memoizedState=d.state;e&&yf(b,c,!0);return b.child}function bh(a){var b=a.stateNode;b.pendingContext?vf(a,b.pendingContext,b.pendingContext!==b.context):b.context&&vf(a,b.context,!1);og(a,b.containerInfo)}
13744
+ function ch(a,b){if(a&&a.defaultProps){b=n({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c])}return b}
13745
+ function dh(a,b,c){var d=b.mode,e=b.pendingProps,f=b.memoizedState;null!==f&&(f.alreadyCaptured?null!==a&&f===a.memoizedState?f={alreadyCaptured:!0,didTimeout:!0,timedOutAt:f.timedOutAt}:(f.alreadyCaptured=!0,f.didTimeout=!0):f=null);var g=null!==f&&f.didTimeout;if(null===a)g?(g=e.fallback,e=If(null,d,0,null),d=If(g,d,c,null),e.sibling=d,c=e,c.return=d.return=b):c=d=Ig(b,null,e.children,c);else{var h=a.memoizedState;null!==h&&h.didTimeout?(d=a.child,a=d.sibling,g?(c=e.fallback,d=Gf(d,d.pendingProps,
13746
+ 0),d.effectTag|=2,e=d.sibling=Gf(a,c,a.expirationTime),e.effectTag|=2,c=d,d.childExpirationTime=0,d=e,c.return=d.return=b):(g=a.child,d=Hg(b,d.child,e.children,c),Hg(b,g,null,c),c=d)):(a=a.child,g?(g=e.fallback,e=If(null,d,0,null),e.effectTag|=2,e.child=a,a.return=e,d=e.sibling=If(g,d,c,null),d.effectTag|=2,c=e,e.childExpirationTime=0,c.return=d.return=b):d=c=Hg(b,a,e.children,c))}b.memoizedState=f;b.child=c;return d}
13747
+ function Vg(a,b,c){null!==a&&(b.firstContextDependency=a.firstContextDependency);var d=b.childExpirationTime;if(0===d||d>c)return null;null!==a&&b.child!==a.child?r("153"):void 0;if(null!==b.child){a=b.child;c=Gf(a,a.pendingProps,a.expirationTime);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=Gf(a,a.pendingProps,a.expirationTime),c.return=b;c.sibling=null}return b.child}
13748
+ function eh(a,b,c){var d=b.expirationTime;if(null!==a&&a.memoizedProps===b.pendingProps&&!L.current&&(0===d||d>c)){switch(b.tag){case 3:bh(b);Rg();break;case 5:qg(b);break;case 1:M(b.type)&&xf(b);break;case 4:og(b,b.stateNode.containerInfo);break;case 10:gg(b,b.memoizedProps.value);break;case 13:if(d=b.memoizedState,null!==d&&d.didTimeout){d=b.child.childExpirationTime;if(0!==d&&d<=c)return dh(a,b,c);b=Vg(a,b,c);return null!==b?b.sibling:null}}return Vg(a,b,c)}b.expirationTime=0;switch(b.tag){case 2:d=
13749
+ b.elementType;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);a=b.pendingProps;var e=sf(b,K.current);ig(b,c);e=d(a,e);b.effectTag|=1;if("object"===typeof e&&null!==e&&"function"===typeof e.render&&void 0===e.$$typeof){b.tag=1;if(M(d)){var f=!0;xf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;var g=d.getDerivedStateFromProps;"function"===typeof g&&ug(b,d,g,a);e.updater=yg;b.stateNode=e;e._reactInternalFiber=b;Cg(b,d,a,c);b=ah(null,b,d,!0,f,c)}else b.tag=0,
13750
+ P(null,b,e,c),b=b.child;return b;case 16:e=b.elementType;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);f=b.pendingProps;a=Sg(e);b.type=a;e=b.tag=Ff(a);f=ch(a,f);g=void 0;switch(e){case 0:g=Yg(null,b,a,f,c);break;case 1:g=$g(null,b,a,f,c);break;case 11:g=Ug(null,b,a,f,c);break;case 14:g=Wg(null,b,a,ch(a.type,f),d,c);break;default:r("283",a)}return g;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ch(d,e),Yg(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===
13751
+ d?e:ch(d,e),$g(a,b,d,e,c);case 3:bh(b);d=b.updateQueue;null===d?r("282"):void 0;e=b.memoizedState;e=null!==e?e.element:null;Zf(b,d,b.pendingProps,null,c);d=b.memoizedState.element;if(d===e)Rg(),b=Vg(a,b,c);else{e=b.stateNode;if(e=(null===a||null===a.child)&&e.hydrate)Kg=nf(b.stateNode.containerInfo),Jg=b,e=Lg=!0;e?(b.effectTag|=2,b.child=Ig(b,null,d,c)):(P(a,b,d,c),Rg());b=b.child}return b;case 5:return qg(b),null===a&&Og(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,jf(d,
13752
+ e)?g=null:null!==f&&jf(d,f)&&(b.effectTag|=16),Zg(a,b),1073741823!==c&&b.mode&1&&e.hidden?(b.expirationTime=1073741823,b=null):(P(a,b,g,c),b=b.child),b;case 6:return null===a&&Og(b),null;case 13:return dh(a,b,c);case 4:return og(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Hg(b,null,d,c):P(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ch(d,e),Ug(a,b,d,e,c);case 7:return P(a,b,b.pendingProps,c),b.child;case 8:return P(a,b,b.pendingProps.children,
13753
+ c),b.child;case 12:return P(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;g=b.memoizedProps;f=e.value;gg(b,f);if(null!==g){var h=g.value;f=h===f&&(0!==h||1/h===1/f)||h!==h&&f!==f?0:("function"===typeof d._calculateChangedBits?d._calculateChangedBits(h,f):1073741823)|0;if(0===f){if(g.children===e.children&&!L.current){b=Vg(a,b,c);break a}}else for(g=b.child,null!==g&&(g.return=b);null!==g;){h=g.firstContextDependency;if(null!==h){do{if(h.context===d&&0!==(h.observedBits&
13754
+ f)){if(1===g.tag){var k=Tf(c);k.tag=2;Vf(g,k)}if(0===g.expirationTime||g.expirationTime>c)g.expirationTime=c;k=g.alternate;null!==k&&(0===k.expirationTime||k.expirationTime>c)&&(k.expirationTime=c);for(var l=g.return;null!==l;){k=l.alternate;if(0===l.childExpirationTime||l.childExpirationTime>c)l.childExpirationTime=c,null!==k&&(0===k.childExpirationTime||k.childExpirationTime>c)&&(k.childExpirationTime=c);else if(null!==k&&(0===k.childExpirationTime||k.childExpirationTime>c))k.childExpirationTime=
13755
+ c;else break;l=l.return}}k=g.child;h=h.next}while(null!==h)}else k=10===g.tag?g.type===b.type?null:g.child:g.child;if(null!==k)k.return=g;else for(k=g;null!==k;){if(k===b){k=null;break}g=k.sibling;if(null!==g){g.return=k.return;k=g;break}k=k.return}g=k}}P(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,f=b.pendingProps,d=f.children,ig(b,c),e=jg(e,f.unstable_observedBits),d=d(e),b.effectTag|=1,P(a,b,d,c),b.child;case 14:return e=b.type,f=ch(e.type,b.pendingProps),Wg(a,b,e,f,d,c);case 15:return Xg(a,
13756
+ b,b.type,b.pendingProps,d,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ch(d,e),null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2),b.tag=1,M(d)?(a=!0,xf(b)):a=!1,ig(b,c),Ag(b,d,e,c),Cg(b,d,e,c),ah(null,b,d,!0,a,c);default:r("156")}}function zh(a){a.effectTag|=4}var Ah=void 0,Bh=void 0,Ch=void 0,Dh=void 0;
13757
+ Ah=function(a,b){for(var c=b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return}c.sibling.return=c.return;c=c.sibling}};Bh=function(){};
13758
+ Ch=function(a,b,c,d,e){var f=a.memoizedProps;if(f!==d){var g=b.stateNode;ng(O.current);a=null;switch(c){case "input":f=Qc(g,f);d=Qc(g,d);a=[];break;case "option":f=Me(g,f);d=Me(g,d);a=[];break;case "select":f=n({},f,{value:void 0});d=n({},d,{value:void 0});a=[];break;case "textarea":f=Oe(g,f);d=Oe(g,d);a=[];break;default:"function"!==typeof f.onClick&&"function"===typeof d.onClick&&(g.onclick=ef)}bf(c,d);g=c=void 0;var h=null;for(c in f)if(!d.hasOwnProperty(c)&&f.hasOwnProperty(c)&&null!=f[c])if("style"===
13759
+ c){var k=f[c];for(g in k)k.hasOwnProperty(g)&&(h||(h={}),h[g]="")}else"dangerouslySetInnerHTML"!==c&&"children"!==c&&"suppressContentEditableWarning"!==c&&"suppressHydrationWarning"!==c&&"autoFocus"!==c&&(ua.hasOwnProperty(c)?a||(a=[]):(a=a||[]).push(c,null));for(c in d){var l=d[c];k=null!=f?f[c]:void 0;if(d.hasOwnProperty(c)&&l!==k&&(null!=l||null!=k))if("style"===c)if(k){for(g in k)!k.hasOwnProperty(g)||l&&l.hasOwnProperty(g)||(h||(h={}),h[g]="");for(g in l)l.hasOwnProperty(g)&&k[g]!==l[g]&&(h||
13760
+ (h={}),h[g]=l[g])}else h||(a||(a=[]),a.push(c,h)),h=l;else"dangerouslySetInnerHTML"===c?(l=l?l.__html:void 0,k=k?k.__html:void 0,null!=l&&k!==l&&(a=a||[]).push(c,""+l)):"children"===c?k===l||"string"!==typeof l&&"number"!==typeof l||(a=a||[]).push(c,""+l):"suppressContentEditableWarning"!==c&&"suppressHydrationWarning"!==c&&(ua.hasOwnProperty(c)?(null!=l&&df(e,c),a||k===l||(a=[])):(a=a||[]).push(c,l))}h&&(a=a||[]).push("style",h);e=a;(b.updateQueue=e)&&zh(b)}};Dh=function(a,b,c,d){c!==d&&zh(b)};
13761
+ function Eh(a,b){var c=b.source,d=b.stack;null===d&&null!==c&&(d=Bc(c));null!==c&&Ac(c.type);b=b.value;null!==a&&1===a.tag&&Ac(a.type);try{console.error(b)}catch(e){setTimeout(function(){throw e;})}}function Fh(a){var b=a.ref;if(null!==b)if("function"===typeof b)try{b(null)}catch(c){Gh(a,c)}else b.current=null}
13762
+ function Hh(a){"function"===typeof Af&&Af(a);switch(a.tag){case 1:Fh(a);var b=a.stateNode;if("function"===typeof b.componentWillUnmount)try{b.props=a.memoizedProps,b.state=a.memoizedState,b.componentWillUnmount()}catch(c){Gh(a,c)}break;case 5:Fh(a);break;case 4:Ih(a)}}function Jh(a){return 5===a.tag||3===a.tag||4===a.tag}
13763
+ function Kh(a){a:{for(var b=a.return;null!==b;){if(Jh(b)){var c=b;break a}b=b.return}r("160");c=void 0}var d=b=void 0;switch(c.tag){case 5:b=c.stateNode;d=!1;break;case 3:b=c.stateNode.containerInfo;d=!0;break;case 4:b=c.stateNode.containerInfo;d=!0;break;default:r("161")}c.effectTag&16&&(Xe(b,""),c.effectTag&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c.return||Jh(c.return)){c=null;break a}c=c.return}c.sibling.return=c.return;for(c=c.sibling;5!==c.tag&&6!==c.tag;){if(c.effectTag&2)continue b;
13764
+ if(null===c.child||4===c.tag)continue b;else c.child.return=c,c=c.child}if(!(c.effectTag&2)){c=c.stateNode;break a}}for(var e=a;;){if(5===e.tag||6===e.tag)if(c)if(d){var f=b,g=e.stateNode,h=c;8===f.nodeType?f.parentNode.insertBefore(g,h):f.insertBefore(g,h)}else b.insertBefore(e.stateNode,c);else d?(g=b,h=e.stateNode,8===g.nodeType?(f=g.parentNode,f.insertBefore(h,g)):(f=g,f.appendChild(h)),g=g._reactRootContainer,null!==g&&void 0!==g||null!==f.onclick||(f.onclick=ef)):b.appendChild(e.stateNode);
13765
+ else if(4!==e.tag&&null!==e.child){e.child.return=e;e=e.child;continue}if(e===a)break;for(;null===e.sibling;){if(null===e.return||e.return===a)return;e=e.return}e.sibling.return=e.return;e=e.sibling}}
13766
+ function Ih(a){for(var b=a,c=!1,d=void 0,e=void 0;;){if(!c){c=b.return;a:for(;;){null===c?r("160"):void 0;switch(c.tag){case 5:d=c.stateNode;e=!1;break a;case 3:d=c.stateNode.containerInfo;e=!0;break a;case 4:d=c.stateNode.containerInfo;e=!0;break a}c=c.return}c=!0}if(5===b.tag||6===b.tag){a:for(var f=b,g=f;;)if(Hh(g),null!==g.child&&4!==g.tag)g.child.return=g,g=g.child;else{if(g===f)break;for(;null===g.sibling;){if(null===g.return||g.return===f)break a;g=g.return}g.sibling.return=g.return;g=g.sibling}e?
13767
+ (f=d,g=b.stateNode,8===f.nodeType?f.parentNode.removeChild(g):f.removeChild(g)):d.removeChild(b.stateNode)}else if(4===b.tag?(d=b.stateNode.containerInfo,e=!0):Hh(b),null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return;b=b.return;4===b.tag&&(c=!1)}b.sibling.return=b.return;b=b.sibling}}
13768
+ function Lh(a,b){switch(b.tag){case 1:break;case 5:var c=b.stateNode;if(null!=c){var d=b.memoizedProps,e=null!==a?a.memoizedProps:d;a=b.type;var f=b.updateQueue;b.updateQueue=null;if(null!==f){c[Ma]=d;"input"===a&&"radio"===d.type&&null!=d.name&&Sc(c,d);cf(a,e);b=cf(a,d);for(e=0;e<f.length;e+=2){var g=f[e],h=f[e+1];"style"===g?$e(c,h):"dangerouslySetInnerHTML"===g?We(c,h):"children"===g?Xe(c,h):Oc(c,g,h,b)}switch(a){case "input":Tc(c,d);break;case "textarea":Qe(c,d);break;case "select":a=c._wrapperState.wasMultiple,
13769
+ c._wrapperState.wasMultiple=!!d.multiple,f=d.value,null!=f?Ne(c,!!d.multiple,f,!1):a!==!!d.multiple&&(null!=d.defaultValue?Ne(c,!!d.multiple,d.defaultValue,!0):Ne(c,!!d.multiple,d.multiple?[]:"",!1))}}}break;case 6:null===b.stateNode?r("162"):void 0;b.stateNode.nodeValue=b.memoizedProps;break;case 3:break;case 12:break;case 13:break;case 17:break;default:r("163")}}function Mh(a,b,c){c=Tf(c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Nh(d);Eh(a,b)};return c}
13770
+ function Oh(a,b,c){c=Tf(c);c.tag=3;var d=a.type.getDerivedStateFromError;if("function"===typeof d){var e=b.value;c.payload=function(){return d(e)}}var f=a.stateNode;null!==f&&"function"===typeof f.componentDidCatch&&(c.callback=function(){"function"!==typeof d&&(null===Ph?Ph=new Set([this]):Ph.add(this));var c=b.value,e=b.stack;Eh(a,b);this.componentDidCatch(c,{componentStack:null!==e?e:""})});return c}
13771
+ function Qh(a){switch(a.tag){case 1:M(a.type)&&tf(a);var b=a.effectTag;return b&1024?(a.effectTag=b&-1025|64,a):null;case 3:return pg(a),uf(a),b=a.effectTag,0!==(b&64)?r("285"):void 0,a.effectTag=b&-1025|64,a;case 5:return rg(a),null;case 13:b=a.effectTag;if(b&1024){a.effectTag=b&-1025|64;b=a.alternate;b=null!==b?b.memoizedState:null;var c=a.memoizedState;null===c?c={alreadyCaptured:!0,didTimeout:!1,timedOutAt:0}:b===c?c={alreadyCaptured:!0,didTimeout:c.didTimeout,timedOutAt:c.timedOutAt}:c.alreadyCaptured=
13772
+ !0;a.memoizedState=c;return a}return null;case 4:return pg(a),null;case 10:return hg(a),null;default:return null}}var Rh={readContext:jg},Sh=kc.ReactCurrentOwner,Th=0,Uh=0,Vh=!1,Q=null,R=null,S=0,Wh=-1,Xh=!1,T=null,Yh=!1,Ph=null;function Zh(){if(null!==Q)for(var a=Q.return;null!==a;){var b=a;switch(b.tag){case 1:var c=b.type.childContextTypes;null!==c&&void 0!==c&&tf(b);break;case 3:pg(b);uf(b);break;case 5:rg(b);break;case 4:pg(b);break;case 10:hg(b)}a=a.return}R=null;S=0;Wh=-1;Xh=!1;Q=null}
13773
+ function $h(a){for(;;){var b=a.alternate,c=a.return,d=a.sibling;if(0===(a.effectTag&512)){var e=b;b=a;var f=b.pendingProps;switch(b.tag){case 2:break;case 16:break;case 15:case 0:break;case 1:M(b.type)&&tf(b);break;case 3:pg(b);uf(b);f=b.stateNode;f.pendingContext&&(f.context=f.pendingContext,f.pendingContext=null);if(null===e||null===e.child)Qg(b),b.effectTag&=-3;Bh(b);break;case 5:rg(b);var g=ng(mg.current),h=b.type;if(null!==e&&null!=b.stateNode)Ch(e,b,h,f,g),e.ref!==b.ref&&(b.effectTag|=128);
13774
+ else if(f){var k=ng(O.current);if(Qg(b)){f=b;e=f.stateNode;var l=f.type,m=f.memoizedProps,p=g;e[La]=f;e[Ma]=m;h=void 0;g=l;switch(g){case "iframe":case "object":H("load",e);break;case "video":case "audio":for(l=0;l<lb.length;l++)H(lb[l],e);break;case "source":H("error",e);break;case "img":case "image":case "link":H("error",e);H("load",e);break;case "form":H("reset",e);H("submit",e);break;case "details":H("toggle",e);break;case "input":Rc(e,m);H("invalid",e);df(p,"onChange");break;case "select":e._wrapperState=
13775
+ {wasMultiple:!!m.multiple};H("invalid",e);df(p,"onChange");break;case "textarea":Pe(e,m),H("invalid",e),df(p,"onChange")}bf(g,m);l=null;for(h in m)m.hasOwnProperty(h)&&(k=m[h],"children"===h?"string"===typeof k?e.textContent!==k&&(l=["children",k]):"number"===typeof k&&e.textContent!==""+k&&(l=["children",""+k]):ua.hasOwnProperty(h)&&null!=k&&df(p,h));switch(g){case "input":ic(e);bd(e,m,!0);break;case "textarea":ic(e);Re(e,m);break;case "select":case "option":break;default:"function"===typeof m.onClick&&
13776
+ (e.onclick=ef)}h=l;f.updateQueue=h;f=null!==h?!0:!1;f&&zh(b)}else{m=b;e=h;p=f;l=9===g.nodeType?g:g.ownerDocument;k===Se.html&&(k=Te(e));k===Se.html?"script"===e?(e=l.createElement("div"),e.innerHTML="<script>\x3c/script>",l=e.removeChild(e.firstChild)):"string"===typeof p.is?l=l.createElement(e,{is:p.is}):(l=l.createElement(e),"select"===e&&p.multiple&&(l.multiple=!0)):l=l.createElementNS(k,e);e=l;e[La]=m;e[Ma]=f;Ah(e,b,!1,!1);p=e;l=h;m=f;var v=g,B=cf(l,m);switch(l){case "iframe":case "object":H("load",
13777
+ p);g=m;break;case "video":case "audio":for(g=0;g<lb.length;g++)H(lb[g],p);g=m;break;case "source":H("error",p);g=m;break;case "img":case "image":case "link":H("error",p);H("load",p);g=m;break;case "form":H("reset",p);H("submit",p);g=m;break;case "details":H("toggle",p);g=m;break;case "input":Rc(p,m);g=Qc(p,m);H("invalid",p);df(v,"onChange");break;case "option":g=Me(p,m);break;case "select":p._wrapperState={wasMultiple:!!m.multiple};g=n({},m,{value:void 0});H("invalid",p);df(v,"onChange");break;case "textarea":Pe(p,
13778
+ m);g=Oe(p,m);H("invalid",p);df(v,"onChange");break;default:g=m}bf(l,g);k=void 0;var w=l,C=p,u=g;for(k in u)if(u.hasOwnProperty(k)){var q=u[k];"style"===k?$e(C,q):"dangerouslySetInnerHTML"===k?(q=q?q.__html:void 0,null!=q&&We(C,q)):"children"===k?"string"===typeof q?("textarea"!==w||""!==q)&&Xe(C,q):"number"===typeof q&&Xe(C,""+q):"suppressContentEditableWarning"!==k&&"suppressHydrationWarning"!==k&&"autoFocus"!==k&&(ua.hasOwnProperty(k)?null!=q&&df(v,k):null!=q&&Oc(C,k,q,B))}switch(l){case "input":ic(p);
13779
+ bd(p,m,!1);break;case "textarea":ic(p);Re(p,m);break;case "option":null!=m.value&&p.setAttribute("value",""+Pc(m.value));break;case "select":g=p;g.multiple=!!m.multiple;p=m.value;null!=p?Ne(g,!!m.multiple,p,!1):null!=m.defaultValue&&Ne(g,!!m.multiple,m.defaultValue,!0);break;default:"function"===typeof g.onClick&&(p.onclick=ef)}(f=hf(h,f))&&zh(b);b.stateNode=e}null!==b.ref&&(b.effectTag|=128)}else null===b.stateNode?r("166"):void 0;break;case 6:e&&null!=b.stateNode?Dh(e,b,e.memoizedProps,f):("string"!==
13780
+ typeof f&&(null===b.stateNode?r("166"):void 0),e=ng(mg.current),ng(O.current),Qg(b)?(f=b,h=f.stateNode,e=f.memoizedProps,h[La]=f,(f=h.nodeValue!==e)&&zh(b)):(h=b,f=(9===e.nodeType?e:e.ownerDocument).createTextNode(f),f[La]=b,h.stateNode=f));break;case 11:break;case 13:f=b.memoizedState;h=null!==e?e.memoizedState:null;(null!==f&&f.didTimeout)!==(null!==h&&h.didTimeout)&&(b.effectTag|=4);break;case 7:break;case 8:break;case 12:break;case 4:pg(b);Bh(b);break;case 10:hg(b);break;case 9:break;case 14:break;
13781
+ case 17:M(b.type)&&tf(b);break;default:r("156")}Q=null;b=a;if(1073741823===S||1073741823!==b.childExpirationTime){f=0;for(h=b.child;null!==h;){e=h.expirationTime;g=h.childExpirationTime;if(0===f||0!==e&&e<f)f=e;if(0===f||0!==g&&g<f)f=g;h=h.sibling}b.childExpirationTime=f}null!==c&&0===(c.effectTag&512)&&(null===c.firstEffect&&(c.firstEffect=a.firstEffect),null!==a.lastEffect&&(null!==c.lastEffect&&(c.lastEffect.nextEffect=a.firstEffect),c.lastEffect=a.lastEffect),1<a.effectTag&&(null!==c.lastEffect?
13782
+ c.lastEffect.nextEffect=a:c.firstEffect=a,c.lastEffect=a))}else{a=Qh(a,S);if(null!==a)return a.effectTag&=511,a;null!==c&&(c.firstEffect=c.lastEffect=null,c.effectTag|=512)}if(null!==d)return d;if(null!==c)a=c;else break}return null}function ai(a){var b=eh(a.alternate,a,S);a.memoizedProps=a.pendingProps;null===b&&(b=$h(a));Sh.current=null;return b}
13783
+ function bi(a,b,c){Vh?r("243"):void 0;Vh=!0;Sh.currentDispatcher=Rh;var d=a.nextExpirationTimeToWorkOn;if(d!==S||a!==R||null===Q)Zh(),R=a,S=d,Q=Gf(R.current,null,S),a.pendingCommitExpirationTime=0;var e=!1;do{try{if(b)for(;null!==Q&&!ci();)Q=ai(Q);else for(;null!==Q;)Q=ai(Q)}catch(C){if(null===Q)e=!0,Nh(C);else{null===Q?r("271"):void 0;var f=Q,g=f.return;if(null===g)e=!0,Nh(C);else{a:{var h=a,k=g,l=f,m=C;g=S;l.effectTag|=512;l.firstEffect=l.lastEffect=null;if(null!==m&&"object"===typeof m&&"function"===
13784
+ typeof m.then){var p=m;m=k;var v=-1,B=-1;do{if(13===m.tag){var w=m.alternate;if(null!==w&&(w=w.memoizedState,null!==w&&w.didTimeout)){B=10*(w.timedOutAt-2);break}w=m.pendingProps.maxDuration;if("number"===typeof w)if(0>=w)v=0;else if(-1===v||w<v)v=w}m=m.return}while(null!==m);m=k;do{if(w=13===m.tag)void 0===m.memoizedProps.fallback?w=!1:(w=m.memoizedState,w=null===w||!w.didTimeout);if(w){k=di.bind(null,h,m,l,0===(m.mode&1)?1:g);p.then(k,k);if(0===(m.mode&1)){m.effectTag|=32;P(l.alternate,l,null,g);
13785
+ l.effectTag&=-513;1===l.tag&&(l.effectTag&=-421,null===l.alternate&&(l.tag=17));break a}-1===v?h=1073741823:(-1===B&&(B=10*(Pf(h,g)-2)-5E3),h=B+v);0<=h&&Wh<h&&(Wh=h);m.effectTag|=1024;m.expirationTime=g;break a}m=m.return}while(null!==m);m=Error("An update was suspended, but no placeholder UI was provided.")}Xh=!0;m=bg(m,l);h=k;do{switch(h.tag){case 3:l=m;h.effectTag|=1024;h.expirationTime=g;g=Mh(h,l,g);Wf(h,g);break a;case 1:if(l=m,k=h.type,p=h.stateNode,0===(h.effectTag&64)&&("function"===typeof k.getDerivedStateFromError||
13786
+ null!==p&&"function"===typeof p.componentDidCatch&&(null===Ph||!Ph.has(p)))){h.effectTag|=1024;h.expirationTime=g;g=Oh(h,l,g);Wf(h,g);break a}}h=h.return}while(null!==h)}Q=$h(f);continue}}}break}while(1);Vh=!1;fg=eg=dg=Sh.currentDispatcher=null;if(e)R=null,a.finishedWork=null;else if(null!==Q)a.finishedWork=null;else{b=a.current.alternate;null===b?r("281"):void 0;R=null;if(Xh){e=a.latestPendingTime;f=a.latestSuspendedTime;g=a.latestPingedTime;if(0!==e&&e>d||0!==f&&f>d||0!==g&&g>d){Of(a,d);ei(a,b,
13787
+ d,a.expirationTime,-1);return}if(!a.didError&&!c){a.didError=!0;d=a.nextExpirationTimeToWorkOn=d;c=a.expirationTime=1;ei(a,b,d,c,-1);return}}c||-1===Wh?(a.pendingCommitExpirationTime=d,a.finishedWork=b):(Of(a,d),c=10*(Pf(a,d)-2),c<Wh&&(Wh=c),c=10*(vg()-2),c=Wh-c,ei(a,b,d,a.expirationTime,0>c?0:c))}}
13788
+ function Gh(a,b){var c;a:{Vh&&!Yh?r("263"):void 0;for(c=a.return;null!==c;){switch(c.tag){case 1:var d=c.stateNode;if("function"===typeof c.type.getDerivedStateFromError||"function"===typeof d.componentDidCatch&&(null===Ph||!Ph.has(d))){a=bg(b,a);a=Oh(c,a,1);Vf(c,a);xg(c,1);c=void 0;break a}break;case 3:a=bg(b,a);a=Mh(c,a,1);Vf(c,a);xg(c,1);c=void 0;break a}c=c.return}3===a.tag&&(c=bg(b,a),c=Mh(a,c,1),Vf(a,c),xg(a,1));c=void 0}return c}
13789
+ function wg(a,b){0!==Uh?a=Uh:Vh?a=Yh?1:S:b.mode&1?(a=fi?2+10*(((a-2+15)/10|0)+1):2+25*(((a-2+500)/25|0)+1),null!==R&&a===S&&(a+=1)):a=1;fi&&a>gi&&(gi=a);return a}
13790
+ function di(a,b,c,d){var e=a.earliestSuspendedTime;var f=a.latestSuspendedTime;if(0!==e&&d>=e&&d<=f){f=e=d;a.didError=!1;var g=a.latestPingedTime;if(0===g||g<f)a.latestPingedTime=f;Nf(f,a)}else e=vg(),e=wg(e,b),Mf(a,e);0!==(b.mode&1)&&a===R&&S===d&&(R=null);hi(b,e);0===(b.mode&1)&&(hi(c,e),1===c.tag&&null!==c.stateNode&&(b=Tf(e),b.tag=2,Vf(c,b)));c=a.expirationTime;0!==c&&ii(a,c)}
13791
+ function hi(a,b){if(0===a.expirationTime||a.expirationTime>b)a.expirationTime=b;var c=a.alternate;null!==c&&(0===c.expirationTime||c.expirationTime>b)&&(c.expirationTime=b);var d=a.return,e=null;if(null===d&&3===a.tag)e=a.stateNode;else for(;null!==d;){c=d.alternate;if(0===d.childExpirationTime||d.childExpirationTime>b)d.childExpirationTime=b;null!==c&&(0===c.childExpirationTime||c.childExpirationTime>b)&&(c.childExpirationTime=b);if(null===d.return&&3===d.tag){e=d.stateNode;break}d=d.return}return null===
13792
+ e?null:e}function xg(a,b){a=hi(a,b);null!==a&&(!Vh&&0!==S&&b<S&&Zh(),Mf(a,b),Vh&&!Yh&&R===a||ii(a,a.expirationTime),ji>ki&&(ji=0,r("185")))}function li(a,b,c,d,e){var f=Uh;Uh=1;try{return a(b,c,d,e)}finally{Uh=f}}var U=null,V=null,mi=0,ni=void 0,W=!1,X=null,Y=0,gi=0,oi=!1,pi=!1,qi=null,ri=null,Z=!1,si=!1,fi=!1,ti=null,ui=da.unstable_now(),vi=(ui/10|0)+2,wi=vi,ki=50,ji=0,xi=null,yi=1;function zi(){vi=((da.unstable_now()-ui)/10|0)+2}
13793
+ function Ai(a,b){if(0!==mi){if(b>mi)return;null!==ni&&da.unstable_cancelCallback(ni)}mi=b;a=da.unstable_now()-ui;ni=da.unstable_scheduleCallback(Bi,{timeout:10*(b-2)-a})}function ei(a,b,c,d,e){a.expirationTime=d;0!==e||ci()?0<e&&(a.timeoutHandle=kf(Ci.bind(null,a,b,c),e)):(a.pendingCommitExpirationTime=c,a.finishedWork=b)}function Ci(a,b,c){a.pendingCommitExpirationTime=c;a.finishedWork=b;zi();wi=vi;Di(a,c)}function vg(){if(W)return wi;Ei();if(0===Y||1073741823===Y)zi(),wi=vi;return wi}
13794
+ function ii(a,b){if(null===a.nextScheduledRoot)a.expirationTime=b,null===V?(U=V=a,a.nextScheduledRoot=a):(V=V.nextScheduledRoot=a,V.nextScheduledRoot=U);else{var c=a.expirationTime;if(0===c||b<c)a.expirationTime=b}W||(Z?si&&(X=a,Y=1,Fi(a,1,!0)):1===b?Gi(1,null):Ai(a,b))}
13795
+ function Ei(){var a=0,b=null;if(null!==V)for(var c=V,d=U;null!==d;){var e=d.expirationTime;if(0===e){null===c||null===V?r("244"):void 0;if(d===d.nextScheduledRoot){U=V=d.nextScheduledRoot=null;break}else if(d===U)U=e=d.nextScheduledRoot,V.nextScheduledRoot=e,d.nextScheduledRoot=null;else if(d===V){V=c;V.nextScheduledRoot=U;d.nextScheduledRoot=null;break}else c.nextScheduledRoot=d.nextScheduledRoot,d.nextScheduledRoot=null;d=c.nextScheduledRoot}else{if(0===a||e<a)a=e,b=d;if(d===V)break;if(1===a)break;
13796
+ c=d;d=d.nextScheduledRoot}}X=b;Y=a}function Bi(a){if(a.didTimeout&&null!==U){zi();var b=U;do{var c=b.expirationTime;0!==c&&vi>=c&&(b.nextExpirationTimeToWorkOn=vi);b=b.nextScheduledRoot}while(b!==U)}Gi(0,a)}
13797
+ function Gi(a,b){ri=b;Ei();if(null!==ri)for(zi(),wi=vi;null!==X&&0!==Y&&(0===a||a>=Y)&&(!oi||vi>=Y);)Fi(X,Y,vi>=Y),Ei(),zi(),wi=vi;else for(;null!==X&&0!==Y&&(0===a||a>=Y);)Fi(X,Y,!0),Ei();null!==ri&&(mi=0,ni=null);0!==Y&&Ai(X,Y);ri=null;oi=!1;ji=0;xi=null;if(null!==ti)for(a=ti,ti=null,b=0;b<a.length;b++){var c=a[b];try{c._onComplete()}catch(d){pi||(pi=!0,qi=d)}}if(pi)throw a=qi,qi=null,pi=!1,a;}function Di(a,b){W?r("253"):void 0;X=a;Y=b;Fi(a,b,!0);Gi(1,null)}
13798
+ function Fi(a,b,c){W?r("245"):void 0;W=!0;if(null===ri||c){var d=a.finishedWork;null!==d?Hi(a,d,b):(a.finishedWork=null,d=a.timeoutHandle,-1!==d&&(a.timeoutHandle=-1,lf(d)),bi(a,!1,c),d=a.finishedWork,null!==d&&Hi(a,d,b))}else d=a.finishedWork,null!==d?Hi(a,d,b):(a.finishedWork=null,d=a.timeoutHandle,-1!==d&&(a.timeoutHandle=-1,lf(d)),bi(a,!0,c),d=a.finishedWork,null!==d&&(ci()?a.finishedWork=d:Hi(a,d,b)));W=!1}
13799
+ function Hi(a,b,c){var d=a.firstBatch;if(null!==d&&d._expirationTime<=c&&(null===ti?ti=[d]:ti.push(d),d._defer)){a.finishedWork=b;a.expirationTime=0;return}a.finishedWork=null;a===xi?ji++:(xi=a,ji=0);Yh=Vh=!0;a.current===b?r("177"):void 0;var e=a.pendingCommitExpirationTime;0===e?r("261"):void 0;a.pendingCommitExpirationTime=0;var f=b.expirationTime,g=b.childExpirationTime,h=0===f||0!==g&&g<f?g:f;a.didError=!1;if(0===h)a.earliestPendingTime=0,a.latestPendingTime=0,a.earliestSuspendedTime=0,a.latestSuspendedTime=
13800
+ 0,a.latestPingedTime=0;else{var k=a.latestPendingTime;0!==k&&(k<h?a.earliestPendingTime=a.latestPendingTime=0:a.earliestPendingTime<h&&(a.earliestPendingTime=a.latestPendingTime));var l=a.earliestSuspendedTime;0===l?Mf(a,h):h>a.latestSuspendedTime?(a.earliestSuspendedTime=0,a.latestSuspendedTime=0,a.latestPingedTime=0,Mf(a,h)):h<l&&Mf(a,h)}Nf(0,a);Sh.current=null;if(1<b.effectTag)if(null!==b.lastEffect){b.lastEffect.nextEffect=b;var m=b.firstEffect}else m=b;else m=b.firstEffect;ff=ce;var p=pe();if(qe(p)){if("selectionStart"in
13801
+ p)var v={start:p.selectionStart,end:p.selectionEnd};else a:{var B=p.ownerDocument,w=B&&B.defaultView||window,C=w.getSelection&&w.getSelection();if(C&&0!==C.rangeCount){var u=C.anchorNode,q=C.anchorOffset,A=C.focusNode,fe=C.focusOffset;try{u.nodeType,A.nodeType}catch(db){v=null;break a}var Ib=0,Jc=-1,Kc=-1,Ni=0,Oi=0,t=p,Jb=null;b:for(;;){for(var Lc;;){t!==u||0!==q&&3!==t.nodeType||(Jc=Ib+q);t!==A||0!==fe&&3!==t.nodeType||(Kc=Ib+fe);3===t.nodeType&&(Ib+=t.nodeValue.length);if(null===(Lc=t.firstChild))break;
13802
+ Jb=t;t=Lc}for(;;){if(t===p)break b;Jb===u&&++Ni===q&&(Jc=Ib);Jb===A&&++Oi===fe&&(Kc=Ib);if(null!==(Lc=t.nextSibling))break;t=Jb;Jb=t.parentNode}t=Lc}v=-1===Jc||-1===Kc?null:{start:Jc,end:Kc}}else v=null}var fh=v||{start:0,end:0}}else fh=null;gf={focusedElem:p,selectionRange:fh};ce=!1;for(T=m;null!==T;){var gh=!1,hh=void 0;try{for(;null!==T;){if(T.effectTag&256){var ve=T.alternate;a:{var Qb=T;switch(Qb.tag){case 1:if(Qb.effectTag&256&&null!==ve){var Zi=ve.memoizedProps,$i=ve.memoizedState,Vc=Qb.stateNode;
13803
+ Vc.props=Qb.memoizedProps;Vc.state=Qb.memoizedState;var aj=Vc.getSnapshotBeforeUpdate(Zi,$i);Vc.__reactInternalSnapshotBeforeUpdate=aj}break a;case 3:case 5:case 6:case 4:case 17:break a;default:r("163")}}}T=T.nextEffect}}catch(db){gh=!0,hh=db}gh&&(null===T?r("178"):void 0,Gh(T,hh),null!==T&&(T=T.nextEffect))}for(T=m;null!==T;){var ih=!1,jh=void 0;try{for(;null!==T;){var we=T.effectTag;we&16&&Xe(T.stateNode,"");if(we&128){var kh=T.alternate;if(null!==kh){var Wc=kh.ref;null!==Wc&&("function"===typeof Wc?
13804
+ Wc(null):Wc.current=null)}}switch(we&14){case 2:Kh(T);T.effectTag&=-3;break;case 6:Kh(T);T.effectTag&=-3;Lh(T.alternate,T);break;case 4:Lh(T.alternate,T);break;case 8:var lh=T;Ih(lh);var Rb=lh;Rb.return=null;Rb.child=null;Rb.alternate&&(Rb.alternate.child=null,Rb.alternate.return=null)}T=T.nextEffect}}catch(db){ih=!0,jh=db}ih&&(null===T?r("178"):void 0,Gh(T,jh),null!==T&&(T=T.nextEffect))}var mh=gf,bj=pe(),E=mh.focusedElem,eb=mh.selectionRange;if(bj!==E&&E&&E.ownerDocument&&oe(E.ownerDocument.documentElement,
13805
+ E)){if(null!==eb&&qe(E)){var nh=eb.start,xe=eb.end;void 0===xe&&(xe=nh);if("selectionStart"in E)E.selectionStart=nh,E.selectionEnd=Math.min(xe,E.value.length);else{var ye=E.ownerDocument||document,ba=(ye&&ye.defaultView||window).getSelection(),oh=E.textContent.length,fb=Math.min(eb.start,oh),Sb=void 0===eb.end?fb:Math.min(eb.end,oh);if(!ba.extend&&fb>Sb){var cj=Sb;Sb=fb;fb=cj}var Tb=ne(E,fb),Ja=ne(E,Sb);if(Tb&&Ja&&(1!==ba.rangeCount||ba.anchorNode!==Tb.node||ba.anchorOffset!==Tb.offset||ba.focusNode!==
13806
+ Ja.node||ba.focusOffset!==Ja.offset)){var Xc=ye.createRange();Xc.setStart(Tb.node,Tb.offset);ba.removeAllRanges();fb>Sb?(ba.addRange(Xc),ba.extend(Ja.node,Ja.offset)):(Xc.setEnd(Ja.node,Ja.offset),ba.addRange(Xc))}}}for(var ze=[],gb=E;gb=gb.parentNode;)1===gb.nodeType&&ze.push({element:gb,left:gb.scrollLeft,top:gb.scrollTop});"function"===typeof E.focus&&E.focus();for(var Ae=0;Ae<ze.length;Ae++){var Yc=ze[Ae];Yc.element.scrollLeft=Yc.left;Yc.element.scrollTop=Yc.top}}gf=null;ce=!!ff;ff=null;a.current=
13807
+ b;for(T=m;null!==T;){var ph=!1,qh=void 0;try{for(var dj=e;null!==T;){var rh=T.effectTag;if(rh&36){var Zc=void 0,hb=T.alternate,x=T,sh=dj;switch(x.tag){case 1:var ca=x.stateNode;if(x.effectTag&4)if(null===hb)ca.props=x.memoizedProps,ca.state=x.memoizedState,ca.componentDidMount();else{var ej=hb.memoizedProps,fj=hb.memoizedState;ca.props=x.memoizedProps;ca.state=x.memoizedState;ca.componentDidUpdate(ej,fj,ca.__reactInternalSnapshotBeforeUpdate)}var th=x.updateQueue;null!==th&&(ca.props=x.memoizedProps,
13808
+ ca.state=x.memoizedState,$f(x,th,ca,sh));break;case 3:var uh=x.updateQueue;if(null!==uh){var Be=null;if(null!==x.child)switch(x.child.tag){case 5:Be=x.child.stateNode;break;case 1:Be=x.child.stateNode}$f(x,uh,Be,sh)}break;case 5:var gj=x.stateNode;null===hb&&x.effectTag&4&&hf(x.type,x.memoizedProps)&&gj.focus();break;case 6:break;case 4:break;case 12:break;case 13:if(x.effectTag&32){x.memoizedState={alreadyCaptured:!0,didTimeout:!1,timedOutAt:0};xg(x,1);break}var vh=null!==hb?hb.memoizedState:null,
13809
+ Ub=x.memoizedState,hj=null!==vh?vh.didTimeout:!1,Ce=x;if(null===Ub)Zc=!1;else if(Zc=Ub.didTimeout)Ce=x.child,Ub.alreadyCaptured=!1,0===Ub.timedOutAt&&(Ub.timedOutAt=vg());if(Zc!==hj&&null!==Ce)a:for(var De=Ce,wh=Zc,z=De;;){if(5===z.tag){var ij=z.stateNode;if(wh)ij.style.display="none";else{var jj=z.stateNode,$c=z.memoizedProps.style,kj=void 0!==$c&&null!==$c&&$c.hasOwnProperty("display")?$c.display:null;jj.style.display=kj}}else if(6===z.tag)z.stateNode.nodeValue=wh?"":z.memoizedProps;else if(null!==
13810
+ z.child){z.child.return=z;z=z.child;continue}if(z===De)break a;for(;null===z.sibling;){if(null===z.return||z.return===De)break a;z=z.return}z.sibling.return=z.return;z=z.sibling}break;case 17:break;default:r("163")}}if(rh&128){var ad=T.ref;if(null!==ad){var xh=T.stateNode;switch(T.tag){case 5:var Ee=xh;break;default:Ee=xh}"function"===typeof ad?ad(Ee):ad.current=Ee}}var lj=T.nextEffect;T.nextEffect=null;T=lj}}catch(db){ph=!0,qh=db}ph&&(null===T?r("178"):void 0,Gh(T,qh),null!==T&&(T=T.nextEffect))}Vh=
13811
+ Yh=!1;"function"===typeof zf&&zf(b.stateNode);var Fe=b.expirationTime,Ge=b.childExpirationTime,yh=0===Fe||0!==Ge&&Ge<Fe?Ge:Fe;0===yh&&(Ph=null);a.expirationTime=yh;a.finishedWork=null}function ci(){return oi?!0:null===ri||ri.timeRemaining()>yi?!1:oi=!0}function Nh(a){null===X?r("246"):void 0;X.expirationTime=0;pi||(pi=!0,qi=a)}function Ii(a,b){var c=Z;Z=!0;try{return a(b)}finally{(Z=c)||W||Gi(1,null)}}function Ji(a,b){if(Z&&!si){si=!0;try{return a(b)}finally{si=!1}}return a(b)}
13812
+ function Ki(a,b,c){if(fi)return a(b,c);Z||W||0===gi||(Gi(gi,null),gi=0);var d=fi,e=Z;Z=fi=!0;try{return a(b,c)}finally{fi=d,(Z=e)||W||Gi(1,null)}}
13813
+ function Li(a,b,c,d,e){var f=b.current;a:if(c){c=c._reactInternalFiber;b:{2===Gd(c)&&1===c.tag?void 0:r("170");var g=c;do{switch(g.tag){case 3:g=g.stateNode.context;break b;case 1:if(M(g.type)){g=g.stateNode.__reactInternalMemoizedMergedChildContext;break b}}g=g.return}while(null!==g);r("171");g=void 0}if(1===c.tag){var h=c.type;if(M(h)){c=wf(c,h,g);break a}}c=g}else c=qf;null===b.context?b.context=c:b.pendingContext=c;b=e;e=Tf(d);e.payload={element:a};b=void 0===b?null:b;null!==b&&(e.callback=b);
13814
+ Vf(f,e);xg(f,d);return d}function Mi(a,b,c,d){var e=b.current,f=vg();e=wg(f,e);return Li(a,b,c,e,d)}function Pi(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function Qi(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:nc,key:null==d?null:""+d,children:a,containerInfo:b,implementation:c}}
13815
+ Nb=function(a,b,c){switch(b){case "input":Tc(a,c);b=c.name;if("radio"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll("input[name="+JSON.stringify(""+b)+'][type="radio"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Qa(d);e?void 0:r("90");jc(d);Tc(d,e)}}}break;case "textarea":Qe(a,c);break;case "select":b=c.value,null!=b&&Ne(a,!!c.multiple,b,!1)}};
13816
+ function Ri(a){var b=2+25*(((vg()-2+500)/25|0)+1);b<=Th&&(b=Th+1);this._expirationTime=Th=b;this._root=a;this._callbacks=this._next=null;this._hasChildren=this._didComplete=!1;this._children=null;this._defer=!0}Ri.prototype.render=function(a){this._defer?void 0:r("250");this._hasChildren=!0;this._children=a;var b=this._root._internalRoot,c=this._expirationTime,d=new Si;Li(a,b,null,c,d._onCommit);return d};
13817
+ Ri.prototype.then=function(a){if(this._didComplete)a();else{var b=this._callbacks;null===b&&(b=this._callbacks=[]);b.push(a)}};
13818
+ Ri.prototype.commit=function(){var a=this._root._internalRoot,b=a.firstBatch;this._defer&&null!==b?void 0:r("251");if(this._hasChildren){var c=this._expirationTime;if(b!==this){this._hasChildren&&(c=this._expirationTime=b._expirationTime,this.render(this._children));for(var d=null,e=b;e!==this;)d=e,e=e._next;null===d?r("251"):void 0;d._next=e._next;this._next=b;a.firstBatch=this}this._defer=!1;Di(a,c);b=this._next;this._next=null;b=a.firstBatch=b;null!==b&&b._hasChildren&&b.render(b._children)}else this._next=
13819
+ null,this._defer=!1};Ri.prototype._onComplete=function(){if(!this._didComplete){this._didComplete=!0;var a=this._callbacks;if(null!==a)for(var b=0;b<a.length;b++)(0,a[b])()}};function Si(){this._callbacks=null;this._didCommit=!1;this._onCommit=this._onCommit.bind(this)}Si.prototype.then=function(a){if(this._didCommit)a();else{var b=this._callbacks;null===b&&(b=this._callbacks=[]);b.push(a)}};
13820
+ Si.prototype._onCommit=function(){if(!this._didCommit){this._didCommit=!0;var a=this._callbacks;if(null!==a)for(var b=0;b<a.length;b++){var c=a[b];"function"!==typeof c?r("191",c):void 0;c()}}};
13821
+ function Ti(a,b,c){b=N(3,null,null,b?3:0);a={current:b,containerInfo:a,pendingChildren:null,earliestPendingTime:0,latestPendingTime:0,earliestSuspendedTime:0,latestSuspendedTime:0,latestPingedTime:0,didError:!1,pendingCommitExpirationTime:0,finishedWork:null,timeoutHandle:-1,context:null,pendingContext:null,hydrate:c,nextExpirationTimeToWorkOn:0,expirationTime:0,firstBatch:null,nextScheduledRoot:null};this._internalRoot=b.stateNode=a}
13822
+ Ti.prototype.render=function(a,b){var c=this._internalRoot,d=new Si;b=void 0===b?null:b;null!==b&&d.then(b);Mi(a,c,null,d._onCommit);return d};Ti.prototype.unmount=function(a){var b=this._internalRoot,c=new Si;a=void 0===a?null:a;null!==a&&c.then(a);Mi(null,b,null,c._onCommit);return c};Ti.prototype.legacy_renderSubtreeIntoContainer=function(a,b,c){var d=this._internalRoot,e=new Si;c=void 0===c?null:c;null!==c&&e.then(c);Mi(b,d,a,e._onCommit);return e};
13823
+ Ti.prototype.createBatch=function(){var a=new Ri(this),b=a._expirationTime,c=this._internalRoot,d=c.firstBatch;if(null===d)c.firstBatch=a,a._next=null;else{for(c=null;null!==d&&d._expirationTime<=b;)c=d,d=d._next;a._next=d;null!==c&&(c._next=a)}return a};function Ui(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||" react-mount-point-unstable "!==a.nodeValue))}Yb=Ii;Zb=Ki;$b=function(){W||0===gi||(Gi(gi,null),gi=0)};
13824
+ function Vi(a,b){b||(b=a?9===a.nodeType?a.documentElement:a.firstChild:null,b=!(!b||1!==b.nodeType||!b.hasAttribute("data-reactroot")));if(!b)for(var c;c=a.lastChild;)a.removeChild(c);return new Ti(a,!1,b)}
13825
+ function Wi(a,b,c,d,e){Ui(c)?void 0:r("200");var f=c._reactRootContainer;if(f){if("function"===typeof e){var g=e;e=function(){var a=Pi(f._internalRoot);g.call(a)}}null!=a?f.legacy_renderSubtreeIntoContainer(a,b,e):f.render(b,e)}else{f=c._reactRootContainer=Vi(c,d);if("function"===typeof e){var h=e;e=function(){var a=Pi(f._internalRoot);h.call(a)}}Ji(function(){null!=a?f.legacy_renderSubtreeIntoContainer(a,b,e):f.render(b,e)})}return Pi(f._internalRoot)}
13826
+ function Xi(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;Ui(b)?void 0:r("200");return Qi(a,b,null,c)}
13827
+ var Yi={createPortal:Xi,findDOMNode:function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternalFiber;void 0===b&&("function"===typeof a.render?r("188"):r("268",Object.keys(a)));a=Jd(b);a=null===a?null:a.stateNode;return a},hydrate:function(a,b,c){return Wi(null,a,b,!0,c)},render:function(a,b,c){return Wi(null,a,b,!1,c)},unstable_renderSubtreeIntoContainer:function(a,b,c,d){null==a||void 0===a._reactInternalFiber?r("38"):void 0;return Wi(a,b,c,!1,d)},unmountComponentAtNode:function(a){Ui(a)?
13828
+ void 0:r("40");return a._reactRootContainer?(Ji(function(){Wi(null,null,a,!1,function(){a._reactRootContainer=null})}),!0):!1},unstable_createPortal:function(){return Xi.apply(void 0,arguments)},unstable_batchedUpdates:Ii,unstable_interactiveUpdates:Ki,flushSync:function(a,b){W?r("187"):void 0;var c=Z;Z=!0;try{return li(a,b)}finally{Z=c,Gi(1,null)}},unstable_flushControlled:function(a){var b=Z;Z=!0;try{li(a)}finally{(Z=b)||W||Gi(1,null)}},__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{Events:[Oa,
13829
+ Pa,Qa,Ga.injectEventPluginsByName,sa,Wa,function(a){Ba(a,Va)},Wb,Xb,ee,Ia]},unstable_createRoot:function(a,b){Ui(a)?void 0:r("278");return new Ti(a,!0,null!=b&&!0===b.hydrate)}};(function(a){var b=a.findFiberByHostInstance;return Cf(n({},a,{findHostInstanceByFiber:function(a){a=Jd(a);return null===a?null:a.stateNode},findFiberByHostInstance:function(a){return b?b(a):null}}))})({findFiberByHostInstance:Na,bundleType:0,version:"16.6.0",rendererPackageName:"react-dom"});
13830
+ var mj={default:Yi},nj=mj&&Yi||mj;module.exports=nj.default||nj;
13831
 
 
13832
 
13833
  /***/ }),
13834
+ /* 454 */
13835
  /***/ (function(module, exports, __webpack_require__) {
13836
 
13837
  "use strict";
13838
 
13839
 
13840
+ if (true) {
13841
+ module.exports = __webpack_require__(455);
13842
+ } else {
13843
+ module.exports = require('./cjs/scheduler.development.js');
13844
+ }
13845
+
13846
+
13847
+ /***/ }),
13848
+ /* 455 */
13849
+ /***/ (function(module, exports, __webpack_require__) {
13850
+
13851
+ "use strict";
13852
+ /** @license React v16.6.0
13853
+ * scheduler.production.min.js
13854
+ *
13855
+ * Copyright (c) Facebook, Inc. and its affiliates.
13856
  *
13857
  * This source code is licensed under the MIT license found in the
13858
  * LICENSE file in the root directory of this source tree.
 
 
13859
  */
13860
 
13861
+ Object.defineProperty(exports,"__esModule",{value:!0});var c=null,f=3,h=-1,k=-1,l=!1,m=!1,n="object"===typeof performance&&"function"===typeof performance.now,q={timeRemaining:n?function(){if(null!==c&&c.expirationTime<k)return 0;var a=p()-performance.now();return 0<a?a:0}:function(){if(null!==c&&c.expirationTime<k)return 0;var a=p()-Date.now();return 0<a?a:0},didTimeout:!1};function r(){if(!l){var a=c.expirationTime;m?t():m=!0;u(v,a)}}
13862
+ function w(){var a=c,b=c.next;if(c===b)c=null;else{var d=c.previous;c=d.next=b;b.previous=d}a.next=a.previous=null;d=a.callback;b=a.expirationTime;a=a.priorityLevel;var e=f,R=k;f=a;k=b;try{var g=d(q)}finally{f=e,k=R}if("function"===typeof g)if(g={callback:g,priorityLevel:a,expirationTime:b,next:null,previous:null},null===c)c=g.next=g.previous=g;else{d=null;a=c;do{if(a.expirationTime>=b){d=a;break}a=a.next}while(a!==c);null===d?d=c:d===c&&(c=g,r());b=d.previous;b.next=d.previous=g;g.next=d;g.previous=
13863
+ b}}function x(){if(-1===h&&null!==c&&1===c.priorityLevel){l=!0;q.didTimeout=!0;try{do w();while(null!==c&&1===c.priorityLevel)}finally{l=!1,null!==c?r():m=!1}}}function v(a){l=!0;q.didTimeout=a;try{if(a)for(;null!==c;){var b=exports.unstable_now();if(c.expirationTime<=b){do w();while(null!==c&&c.expirationTime<=b)}else break}else if(null!==c){do w();while(null!==c&&0<p()-exports.unstable_now())}}finally{l=!1,null!==c?r():m=!1,x()}}
13864
+ var y=Date,z="function"===typeof setTimeout?setTimeout:void 0,A="function"===typeof clearTimeout?clearTimeout:void 0,B="function"===typeof requestAnimationFrame?requestAnimationFrame:void 0,C="function"===typeof cancelAnimationFrame?cancelAnimationFrame:void 0,D,E;function F(a){D=B(function(b){A(E);a(b)});E=z(function(){C(D);a(exports.unstable_now())},100)}if(n){var G=performance;exports.unstable_now=function(){return G.now()}}else exports.unstable_now=function(){return y.now()};var u,t,p;
13865
+ if("undefined"!==typeof window&&window._schedMock){var H=window._schedMock;u=H[0];t=H[1];p=H[2]}else if("undefined"===typeof window||"function"!==typeof window.addEventListener){var I=null,J=-1,K=function(a,b){if(null!==I){var d=I;I=null;try{J=b,d(a)}finally{J=-1}}};u=function(a,b){-1!==J?setTimeout(u,0,a,b):(I=a,setTimeout(K,b,!0,b),setTimeout(K,1073741823,!1,1073741823))};t=function(){I=null};p=function(){return Infinity};exports.unstable_now=function(){return-1===J?0:J}}else{"undefined"!==typeof console&&
13866
+ ("function"!==typeof B&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"),"function"!==typeof C&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"));var L=null,M=!1,N=-1,O=!1,P=!1,Q=0,S=33,T=33;p=function(){return Q};var U="__reactIdleCallback$"+Math.random().toString(36).slice(2);window.addEventListener("message",
13867
+ function(a){if(a.source===window&&a.data===U){M=!1;a=L;var b=N;L=null;N=-1;var d=exports.unstable_now(),e=!1;if(0>=Q-d)if(-1!==b&&b<=d)e=!0;else{O||(O=!0,F(V));L=a;N=b;return}if(null!==a){P=!0;try{a(e)}finally{P=!1}}}},!1);var V=function(a){if(null!==L){F(V);var b=a-Q+T;b<T&&S<T?(8>b&&(b=8),T=b<S?S:b):S=b;Q=a+T;M||(M=!0,window.postMessage(U,"*"))}else O=!1};u=function(a,b){L=a;N=b;P||0>b?window.postMessage(U,"*"):O||(O=!0,F(V))};t=function(){L=null;M=!1;N=-1}}exports.unstable_ImmediatePriority=1;
13868
+ exports.unstable_UserBlockingPriority=2;exports.unstable_NormalPriority=3;exports.unstable_IdlePriority=4;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:break;default:a=3}var d=f,e=h;f=a;h=exports.unstable_now();try{return b()}finally{f=d,h=e,x()}};
13869
+ exports.unstable_scheduleCallback=function(a,b){var d=-1!==h?h:exports.unstable_now();if("object"===typeof b&&null!==b&&"number"===typeof b.timeout)b=d+b.timeout;else switch(f){case 1:b=d+-1;break;case 2:b=d+250;break;case 4:b=d+1073741823;break;default:b=d+5E3}a={callback:a,priorityLevel:f,expirationTime:b,next:null,previous:null};if(null===c)c=a.next=a.previous=a,r();else{d=null;var e=c;do{if(e.expirationTime>b){d=e;break}e=e.next}while(e!==c);null===d?d=c:d===c&&(c=a,r());b=d.previous;b.next=d.previous=
13870
+ a;a.next=d;a.previous=b}return a};exports.unstable_cancelCallback=function(a){var b=a.next;if(null!==b){if(b===a)c=null;else{a===c&&(c=b);var d=a.previous;d.next=b;b.previous=d}a.next=a.previous=null}};exports.unstable_wrapCallback=function(a){var b=f;return function(){var d=f,e=h;f=b;h=exports.unstable_now();try{return a.apply(this,arguments)}finally{f=d,h=e,x()}}};exports.unstable_getCurrentPriorityLevel=function(){return f};
13871
 
 
13872
 
13873
  /***/ }),
13874
+ /* 456 */
13875
  /***/ (function(module, exports, __webpack_require__) {
13876
 
13877
  "use strict";
13878
 
13879
 
13880
+ var utils = __webpack_require__(27);
13881
+ var bind = __webpack_require__(185);
13882
+ var Axios = __webpack_require__(458);
13883
+ var defaults = __webpack_require__(130);
13884
 
13885
  /**
13886
  * Create an instance of Axios
13913
  };
13914
 
13915
  // Expose Cancel & CancelToken
13916
+ axios.Cancel = __webpack_require__(190);
13917
+ axios.CancelToken = __webpack_require__(472);
13918
+ axios.isCancel = __webpack_require__(189);
13919
 
13920
  // Expose all/spread
13921
  axios.all = function all(promises) {
13922
  return Promise.all(promises);
13923
  };
13924
+ axios.spread = __webpack_require__(473);
13925
 
13926
  module.exports = axios;
13927
 
13930
 
13931
 
13932
  /***/ }),
13933
+ /* 457 */
13934
  /***/ (function(module, exports) {
13935
 
13936
  /*!
13957
 
13958
 
13959
  /***/ }),
13960
+ /* 458 */
13961
  /***/ (function(module, exports, __webpack_require__) {
13962
 
13963
  "use strict";
13964
 
13965
 
13966
+ var defaults = __webpack_require__(130);
13967
+ var utils = __webpack_require__(27);
13968
+ var InterceptorManager = __webpack_require__(467);
13969
+ var dispatchRequest = __webpack_require__(468);
13970
 
13971
  /**
13972
  * Create a new instance of Axios
14043
 
14044
 
14045
  /***/ }),
14046
+ /* 459 */
14047
  /***/ (function(module, exports, __webpack_require__) {
14048
 
14049
  "use strict";
14050
 
14051
 
14052
+ var utils = __webpack_require__(27);
14053
 
14054
  module.exports = function normalizeHeaderName(headers, normalizedName) {
14055
  utils.forEach(headers, function processHeader(value, name) {
14062
 
14063
 
14064
  /***/ }),
14065
+ /* 460 */
14066
  /***/ (function(module, exports, __webpack_require__) {
14067
 
14068
  "use strict";
14069
 
14070
 
14071
+ var createError = __webpack_require__(188);
14072
 
14073
  /**
14074
  * Resolve or reject a Promise based on response status.
14095
 
14096
 
14097
  /***/ }),
14098
+ /* 461 */
14099
  /***/ (function(module, exports, __webpack_require__) {
14100
 
14101
  "use strict";
14123
 
14124
 
14125
  /***/ }),
14126
+ /* 462 */
14127
  /***/ (function(module, exports, __webpack_require__) {
14128
 
14129
  "use strict";
14130
 
14131
 
14132
+ var utils = __webpack_require__(27);
14133
 
14134
  function encode(val) {
14135
  return encodeURIComponent(val).
14196
 
14197
 
14198
  /***/ }),
14199
+ /* 463 */
14200
  /***/ (function(module, exports, __webpack_require__) {
14201
 
14202
  "use strict";
14203
 
14204
 
14205
+ var utils = __webpack_require__(27);
14206
 
14207
  // Headers whose duplicates are ignored by node
14208
  // c.f. https://nodejs.org/api/http.html#http_message_headers
14256
 
14257
 
14258
  /***/ }),
14259
+ /* 464 */
14260
  /***/ (function(module, exports, __webpack_require__) {
14261
 
14262
  "use strict";
14263
 
14264
 
14265
+ var utils = __webpack_require__(27);
14266
 
14267
  module.exports = (
14268
  utils.isStandardBrowserEnv() ?
14331
 
14332
 
14333
  /***/ }),
14334
+ /* 465 */
14335
  /***/ (function(module, exports, __webpack_require__) {
14336
 
14337
  "use strict";
14374
 
14375
 
14376
  /***/ }),
14377
+ /* 466 */
14378
  /***/ (function(module, exports, __webpack_require__) {
14379
 
14380
  "use strict";
14381
 
14382
 
14383
+ var utils = __webpack_require__(27);
14384
 
14385
  module.exports = (
14386
  utils.isStandardBrowserEnv() ?
14434
 
14435
 
14436
  /***/ }),
14437
+ /* 467 */
14438
  /***/ (function(module, exports, __webpack_require__) {
14439
 
14440
  "use strict";
14441
 
14442
 
14443
+ var utils = __webpack_require__(27);
14444
 
14445
  function InterceptorManager() {
14446
  this.handlers = [];
14493
 
14494
 
14495
  /***/ }),
14496
+ /* 468 */
14497
  /***/ (function(module, exports, __webpack_require__) {
14498
 
14499
  "use strict";
14500
 
14501
 
14502
+ var utils = __webpack_require__(27);
14503
+ var transformData = __webpack_require__(469);
14504
+ var isCancel = __webpack_require__(189);
14505
+ var defaults = __webpack_require__(130);
14506
+ var isAbsoluteURL = __webpack_require__(470);
14507
+ var combineURLs = __webpack_require__(471);
14508
 
14509
  /**
14510
  * Throws a `Cancel` if cancellation has been requested.
14586
 
14587
 
14588
  /***/ }),
14589
+ /* 469 */
14590
  /***/ (function(module, exports, __webpack_require__) {
14591
 
14592
  "use strict";
14593
 
14594
 
14595
+ var utils = __webpack_require__(27);
14596
 
14597
  /**
14598
  * Transform the data for a request or a response
14613
 
14614
 
14615
  /***/ }),
14616
+ /* 470 */
14617
  /***/ (function(module, exports, __webpack_require__) {
14618
 
14619
  "use strict";
14634
 
14635
 
14636
  /***/ }),
14637
+ /* 471 */
14638
  /***/ (function(module, exports, __webpack_require__) {
14639
 
14640
  "use strict";
14655
 
14656
 
14657
  /***/ }),
14658
+ /* 472 */
14659
  /***/ (function(module, exports, __webpack_require__) {
14660
 
14661
  "use strict";
14662
 
14663
 
14664
+ var Cancel = __webpack_require__(190);
14665
 
14666
  /**
14667
  * A `CancelToken` is an object that can be used to request cancellation of an operation.
14719
 
14720
 
14721
  /*