Defender Security – Malware Scanner, Login Security & Firewall - Version 2.2.6

Version Description

  • Improvement: Frequency of Security Tweak notifications reduced to 7 days
  • Fix: GeoIP now compatible with new MaxMind policy
  • Fix: Mask login URL now allow URL with an extension
  • Fix: Lockout notification email now displays correct time unit
  • Fix: Get started screen appears only where required
  • Fix: Manage your email preferences & unsubscribe email link now works
  • Fix: Strict Transport Security Header now shows subdomain option on the root domain
  • Fix: On login lockout, Defender doesn't block IP permanently
  • Fix: Mask login won't block admin links from email
  • Other minor enhancements and fixes
Download this release

Release Info

Developer BigTonny
Plugin Icon 128x128 Defender Security – Malware Scanner, Login Security & Firewall
Version 2.2.6
Comparing to
See all releases

Code changes from version 2.2.5 to 2.2.6

Files changed (41) hide show
  1. app/behavior/utils.php +12 -14
  2. app/component/cli.php +247 -15
  3. app/component/jed.php +71 -0
  4. app/controller/dashboard.php +4 -2
  5. app/controller/debug.php +3 -2
  6. app/module/advanced-tools/component/auth-listener.php +2 -1
  7. app/module/advanced-tools/component/mask-api.php +49 -40
  8. app/module/advanced-tools/component/mask-login-listener.php +57 -24
  9. app/module/advanced-tools/view/login/disabled.php +11 -6
  10. app/module/audit/controller/main-free.php +12 -14
  11. app/module/hardener/component/disable-file-editor-service.php +2 -2
  12. app/module/hardener/component/prevent-php.php +10 -5
  13. app/module/hardener/component/protect-information-service.php +13 -8
  14. app/module/hardener/controller/main.php +29 -29
  15. app/module/hardener/controller/rest.php +1 -1
  16. app/module/hardener/model/settings.php +9 -1
  17. app/module/hardener/rule-service.php +1 -1
  18. app/module/ip-lockout/component/notfound-listener.php +28 -20
  19. app/module/ip-lockout/controller/main.php +30 -2
  20. app/module/ip-lockout/controller/rest.php +11 -2
  21. app/module/ip-lockout/model/settings.php +2 -2
  22. app/module/ip-lockout/view/emails/404-ban.php +1 -1
  23. app/module/ip-lockout/view/emails/404-lockout.php +663 -660
  24. app/module/ip-lockout/view/emails/login-lockout.php +1 -1
  25. app/module/ip-lockout/view/emails/login-username-ban.php +1 -1
  26. app/module/scan/behavior/core-files.php +15 -0
  27. app/module/scan/behavior/core-result.php +40 -31
  28. app/module/scan/component/data-factory.php +1 -1
  29. app/module/scan/component/queue-factory.php +84 -0
  30. app/module/scan/component/scan-api.php +40 -299
  31. app/module/scan/component/scanning.php +177 -0
  32. app/module/scan/component/token-utils.php +1 -1
  33. app/module/scan/controller/main.php +84 -85
  34. app/module/scan/controller/rest.php +46 -43
  35. app/module/scan/model/settings.php +17 -16
  36. app/module/setting/component/backup-settings.php +39 -0
  37. app/view/debug.php +16 -0
  38. assets/app/advanced-tools.js +1 -1
  39. assets/app/audit.js +1 -1
  40. assets/app/dashboard.js +1 -1
  41. assets/app/ip-lockout.js +1 -1
app/behavior/utils.php CHANGED
@@ -9,6 +9,7 @@ use Hammer\Base\Behavior;
9
  use Hammer\Helper\Log_Helper;
10
  use Hammer\Helper\WP_Helper;
11
  use WP_Defender\Component\Error_Code;
 
12
  use WP_Defender\Module\Advanced_Tools\Model\Auth_Settings;
13
  use WP_Defender\Module\Hardener\Model\Settings;
14
  use WP_Defender\Module\IP_Lockout\Component\Login_Protection_Api;
@@ -689,8 +690,10 @@ class Utils extends Behavior {
689
  $mo_path = wp_defender()->getPluginPath() . 'languages/' . $mo_file;
690
  $json_path = wp_defender()->getPluginPath() . 'languages/' . "wpdef-{$locale}-{$handle}.json";
691
  if ( file_exists( $json_path ) ) {
692
- //already there
693
- //return;
 
 
694
  }
695
  if ( ! file_exists( $mo_path ) ) {
696
  //no translation found
@@ -702,7 +705,7 @@ class Utils extends Behavior {
702
  $translations->setDomain( 'messages' );
703
  $translations->setLanguage( get_locale() );
704
  //export to json
705
- \Gettext\Generators\Jed::toFile( $translations, $json_path );
706
  }
707
 
708
  /**
@@ -1095,11 +1098,6 @@ class Utils extends Behavior {
1095
  return $country_array;
1096
  }
1097
 
1098
- /**
1099
- * @param $dir
1100
- *
1101
- * @return bool|void|\WP_Error
1102
- */
1103
  public function removeDir( $dir ) {
1104
  if ( ! is_dir( $dir ) ) {
1105
  return;
@@ -1187,36 +1185,36 @@ class Utils extends Behavior {
1187
  return $list[0];
1188
  }
1189
 
1190
- public function log( $log, $group = null ) {
1191
  if ( ! defined( 'DEFENDER_DEBUG' ) ) {
1192
  return;
1193
  }
1194
  $log_path = self::getDefUploadDir();
1195
- $log_name = hash( 'sha256', network_home_url() . $group . SECURE_AUTH_SALT );
1196
  $log_path = $log_path . '/' . $log_name;
1197
 
1198
  $log = sprintf( '%s - %s' . PHP_EOL, date( 'Y-m-d H:i:s', current_time( 'timestamp' ) ), $log );
1199
  file_put_contents( $log_path, $log, FILE_APPEND );
1200
  }
1201
 
1202
- public function read_log( $group = null ) {
1203
  if ( ! defined( 'DEFENDER_DEBUG' ) ) {
1204
  return;
1205
  }
1206
  $log_path = self::getDefUploadDir();
1207
- $log_name = hash( 'sha256', network_home_url() . $group . SECURE_AUTH_SALT );
1208
  $log_path = $log_path . '/' . $log_name;
1209
  $text = file( $log_path );
1210
 
1211
  return implode( array_reverse( $text ), PHP_EOL );
1212
  }
1213
 
1214
- public function clear_log( $group = null ) {
1215
  if ( ! defined( 'DEFENDER_DEBUG' ) ) {
1216
  return;
1217
  }
1218
  $log_path = self::getDefUploadDir();
1219
- $log_name = hash( 'sha256', network_home_url() . $group . SECURE_AUTH_SALT );
1220
  $log_path = $log_path . '/' . $log_name;
1221
  @unlink( $log_path );
1222
  }
9
  use Hammer\Helper\Log_Helper;
10
  use Hammer\Helper\WP_Helper;
11
  use WP_Defender\Component\Error_Code;
12
+ use WP_Defender\Component\Jed;
13
  use WP_Defender\Module\Advanced_Tools\Model\Auth_Settings;
14
  use WP_Defender\Module\Hardener\Model\Settings;
15
  use WP_Defender\Module\IP_Lockout\Component\Login_Protection_Api;
690
  $mo_path = wp_defender()->getPluginPath() . 'languages/' . $mo_file;
691
  $json_path = wp_defender()->getPluginPath() . 'languages/' . "wpdef-{$locale}-{$handle}.json";
692
  if ( file_exists( $json_path ) ) {
693
+ $data = json_decode( $json_path, true );
694
+ if ( isset( $data['version'] ) ) {
695
+ return;
696
+ }
697
  }
698
  if ( ! file_exists( $mo_path ) ) {
699
  //no translation found
705
  $translations->setDomain( 'messages' );
706
  $translations->setLanguage( get_locale() );
707
  //export to json
708
+ Jed::toFile( $translations, $json_path );
709
  }
710
 
711
  /**
1098
  return $country_array;
1099
  }
1100
 
 
 
 
 
 
1101
  public function removeDir( $dir ) {
1102
  if ( ! is_dir( $dir ) ) {
1103
  return;
1185
  return $list[0];
1186
  }
1187
 
1188
+ public function log( $log ) {
1189
  if ( ! defined( 'DEFENDER_DEBUG' ) ) {
1190
  return;
1191
  }
1192
  $log_path = self::getDefUploadDir();
1193
+ $log_name = hash( 'sha256', network_home_url() . SECURE_AUTH_SALT );
1194
  $log_path = $log_path . '/' . $log_name;
1195
 
1196
  $log = sprintf( '%s - %s' . PHP_EOL, date( 'Y-m-d H:i:s', current_time( 'timestamp' ) ), $log );
1197
  file_put_contents( $log_path, $log, FILE_APPEND );
1198
  }
1199
 
1200
+ public function read_log() {
1201
  if ( ! defined( 'DEFENDER_DEBUG' ) ) {
1202
  return;
1203
  }
1204
  $log_path = self::getDefUploadDir();
1205
+ $log_name = hash( 'sha256', network_home_url() . SECURE_AUTH_SALT );
1206
  $log_path = $log_path . '/' . $log_name;
1207
  $text = file( $log_path );
1208
 
1209
  return implode( array_reverse( $text ), PHP_EOL );
1210
  }
1211
 
1212
+ public function clear_log() {
1213
  if ( ! defined( 'DEFENDER_DEBUG' ) ) {
1214
  return;
1215
  }
1216
  $log_path = self::getDefUploadDir();
1217
+ $log_name = hash( 'sha256', network_home_url() . SECURE_AUTH_SALT );
1218
  $log_path = $log_path . '/' . $log_name;
1219
  @unlink( $log_path );
1220
  }
app/component/cli.php CHANGED
@@ -2,50 +2,282 @@
2
 
3
  namespace WP_Defender\Component;
4
 
 
 
 
5
  use WP_Defender\Module\Scan\Component\Scan_Api;
 
 
 
 
6
 
7
  class Cli {
8
 
9
- public function scan() {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10
  echo 'Check if there is a scan ongoing...' . PHP_EOL;
11
  $model = Scan_Api::getActiveScan();
 
12
  if ( ! is_object( $model ) ) {
13
  echo 'No active scan, create one now...' . PHP_EOL;
14
  Scan_Api::createScan();
15
  } else {
16
  echo 'Found active scan, process...' . PHP_EOL;
17
  }
18
- echo sprintf( 'Total core files: %d' . PHP_EOL, count( Scan_Api::getCoreFiles() ) );
19
- echo sprintf( 'Total content files: %d' . PHP_EOL, count( Scan_Api::getContentFiles() ) );
20
  echo '=============================================' . PHP_EOL;
21
  $is_done = false;
22
  while ( $is_done == false ) {
23
- Scan_Api::releaseLock();
24
- $memory = ( memory_get_peak_usage( true ) / 1024 / 1024 ) . PHP_EOL;
25
- echo 'Memory: ' . $memory . ' MB';
26
  if ( $memory > 256 ) {
27
  break;
28
  }
29
- $is_done = Scan_Api::processActiveScan();
30
- $progress = Scan_Api::getScanProgress();
 
 
 
 
31
  echo 'Scanning at ' . $progress . PHP_EOL;
32
  gc_collect_cycles();
33
  }
34
  if ( $is_done ) {
35
- $model = Scan_Api::getLastScan();
36
- \WP_CLI::log( sprintf( 'Found %s issues. Please go to %s for more info.' . PHP_EOL, count( $model->getItems() ), network_admin_url( 'admin.php?page=wdf-scan&view=issues' ) ) );
 
 
 
 
 
 
 
 
37
  \WP_CLI::success( 'Scan done.' );
38
  } else {
39
- \WP_CLI::log( 'Run the command wp defender scan again to continue process the scan.' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
40
  }
41
  }
42
 
43
  /**
44
- * @param $args
45
  */
46
- public function scan_a_file( $args ) {
47
- $file = ABSPATH . $args[0];
 
 
 
 
48
 
49
- $this->scan();
 
 
 
 
 
 
50
  }
51
  }
2
 
3
  namespace WP_Defender\Component;
4
 
5
+ use Faker\Factory;
6
+ use WP_Defender\Module\Hardener\Component\Change_Admin_Service;
7
+ use WP_Defender\Module\Hardener\Model\Settings;
8
  use WP_Defender\Module\Scan\Component\Scan_Api;
9
+ use WP_Defender\Module\Scan\Component\Scanning;
10
+ use WP_Defender\Module\Scan\Model\Result_Item;
11
+ use WP_Defender\Module\Setting\Component\Backup_Settings;
12
+ use function WP_CLI\Utils\format_items;
13
 
14
  class Cli {
15
 
16
+ /**
17
+ *
18
+ * This is a helper for scan module
19
+ * #Options
20
+ * <command>
21
+ * : Value can be run - Perform a scan, or (un)ignore|delete|resolve to do the relevant task
22
+ *
23
+ * [--type=<type>]
24
+ * : Default is all, or core|plugins|content
25
+ *
26
+ * @param $args
27
+ * @param $options
28
+ *
29
+ * @throws \WP_CLI\ExitException
30
+ */
31
+ public function scan( $args, $options ) {
32
+ if ( empty( $args ) ) {
33
+ \WP_CLI::error( sprintf( 'Invalid command' ) );
34
+ }
35
+ list( $command ) = $args;
36
+ switch ( $command ) {
37
+ case 'run':
38
+ $this->scan_all();
39
+ break;
40
+ default:
41
+ $commands = [
42
+ 'ignore',
43
+ 'unignore',
44
+ 'resolve',
45
+ 'delete'
46
+ ];
47
+ if ( in_array( $command, $commands ) ) {
48
+ \WP_CLI::confirm( 'This can cause your site get fatal error and can\'t restore back unless you have a backup, are you sure to continue?', $options );
49
+ $this->scan_task( $command, $options );
50
+ } else {
51
+ \WP_CLI::error( sprintf( 'Unknown command %s', $command ) );
52
+ }
53
+
54
+ }
55
+ }
56
+
57
+ private function scan_task( $task, $options ) {
58
+ $type = isset( $options['type'] ) ? $options['type'] : null;
59
+ $active = Scan_Api::getActiveScan();
60
+ if ( is_object( $active ) ) {
61
+ return \WP_CLI::error( "A scan is running, you need to wait till it complete to continue" );
62
+ }
63
+ $model = Scan_Api::getLastScan();
64
+ switch ( $task ) {
65
+ case 'ignore':
66
+ $items = $model->getItems( 0, Result_Item::STATUS_ISSUE, $type );
67
+ foreach ( $items as $item ) {
68
+ $item->ignore();
69
+ }
70
+ \WP_CLI::log( sprintf( 'Ignored %s items', count( $items ) ) );
71
+ break;
72
+ case 'unignore':
73
+ $items = $model->getItems( 0, Result_Item::STATUS_IGNORED, $type );
74
+ foreach ( $items as $item ) {
75
+ $item->unignore();
76
+ }
77
+ \WP_CLI::log( sprintf( 'Unignored %s items', count( $items ) ) );
78
+ break;
79
+ case 'resolve':
80
+ $items = $model->getItems( 0, Result_Item::STATUS_ISSUE, $type );
81
+ $resolved = [];
82
+ foreach ( $items as $item ) {
83
+ if ( $item->type == 'core' ) {
84
+ \WP_CLI::log( sprintf( 'Reverting %s to original', $item->raw['file'] ) );
85
+ $ret = $item->resolve();
86
+ if ( ! is_wp_error( $ret ) ) {
87
+ $resolved[] = $item;
88
+ } else {
89
+ return \WP_CLI::error( $ret->get_error_message() );
90
+ }
91
+ } elseif ( $item->type == 'content' ) {
92
+ //if this is content, we will try to delete them
93
+ $whitelist = [
94
+ //wordfence waf
95
+ ABSPATH . '/wordfence-waf.php',
96
+ //any files inside plugins, if delete can cause fatal error
97
+ WP_CONTENT_DIR . '/plugins/',
98
+ //any files inside themes
99
+ WP_CONTENT_DIR . '/themes/'
100
+ ];
101
+ $path = $item->raw['file'];
102
+ $can_delete = true;
103
+ $current = '';
104
+ foreach ( $whitelist as $value ) {
105
+ $current = $value;
106
+ if ( strpos( $value, $path ) > 0 ) {
107
+ //ignore this
108
+ $can_delete = false;
109
+ break;
110
+ }
111
+ }
112
+ if ( $can_delete == false ) {
113
+ \WP_CLI::log( sprintf( "Ignore file %s as it is in %s", $path, $current ) );
114
+ } else {
115
+ if ( @unlink( $path ) ) {
116
+ \WP_CLI::log( sprintf( 'Delete file %s', $path ) );
117
+ $item->markAsResolved();
118
+ $resolved[] = $item;
119
+ } else {
120
+ return \WP_CLI::error( sprintf( "Can't remove file %s", $path ) );
121
+ }
122
+ }
123
+ }
124
+ }
125
+ \WP_CLI::log( sprintf( 'Resolved %s items', count( $resolved ) ) );
126
+ break;
127
+ case 'delete':
128
+ break;
129
+ }
130
+ }
131
+
132
+ /**
133
+ * Perform a scan
134
+ */
135
+ private function scan_all() {
136
  echo 'Check if there is a scan ongoing...' . PHP_EOL;
137
  $model = Scan_Api::getActiveScan();
138
+ $start = microtime( true );
139
  if ( ! is_object( $model ) ) {
140
  echo 'No active scan, create one now...' . PHP_EOL;
141
  Scan_Api::createScan();
142
  } else {
143
  echo 'Found active scan, process...' . PHP_EOL;
144
  }
145
+ //echo sprintf( 'Total core files: %d' . PHP_EOL, count( Scan_Api::getCoreFiles() ) );
146
+ //echo sprintf( 'Total content files: %d' . PHP_EOL, count( Scan_Api::getContentFiles() ) );
147
  echo '=============================================' . PHP_EOL;
148
  $is_done = false;
149
  while ( $is_done == false ) {
150
+ $memory = ( memory_get_peak_usage( true ) / 1024 / 1024 );
151
+ echo 'Memory: ' . $memory . ' MB' . PHP_EOL;
 
152
  if ( $memory > 256 ) {
153
  break;
154
  }
155
+ $scanning = new Scanning();
156
+ $scanning->releaseLock();
157
+ $is_done = $scanning->do();
158
+ $progress = $scanning->getScanProgress();
159
+ //$is_done = Scan_Api::processActiveScan();
160
+ //$progress = Scan_Api::getScanProgress();
161
  echo 'Scanning at ' . $progress . PHP_EOL;
162
  gc_collect_cycles();
163
  }
164
  if ( $is_done ) {
165
+ $model = Scan_Api::getLastScan();
166
+ $finish = microtime( true ) - $start;
167
+ //\WP_CLI::log( sprintf( 'Found %s issues. Please go to %s for more info.' . PHP_EOL, count( $model->getItems() ), network_admin_url( 'admin.php?page=wdf-scan&view=issues' ) ) );
168
+ $results = $model->getItemsAsJson();
169
+ if ( count( $results ) ) {
170
+ format_items( 'table', $results, [ 'type', 'short_desc', 'full_path' ] );
171
+ } else {
172
+ \WP_CLI::log( 'All good!' );
173
+ }
174
+ \WP_CLI::log( 'Scan take ' . round( $finish, 2 ) . 's to process.' );
175
  \WP_CLI::success( 'Scan done.' );
176
  } else {
177
+ \WP_CLI::log( 'Run the command wp defender scan run again to continue process the scan.' );
178
+ }
179
+ }
180
+
181
+ public function tweaks( $task, $options ) {
182
+ $task = array_shift( $task );
183
+ $model = Settings::instance();
184
+ switch ( $task ) {
185
+ case 'resolve':
186
+ $tweaks = $model->getDefinedRules( true );
187
+ foreach ( $tweaks as $tweak ) {
188
+ if ( $tweak->check() == false ) {
189
+ $slug = $tweak::$slug;
190
+ if ( in_array( $slug, [
191
+ 'protect-information',
192
+ 'prevent-php-executed'
193
+ ] ) ) {
194
+ continue;
195
+ }
196
+ \WP_CLI::log( sprintf( 'Resolving %s', $tweak->getTitle() ) );
197
+ $service = $tweak->getService();
198
+ switch ( $slug ) {
199
+ case 'replace-admin-username':
200
+ fwrite( STDOUT, 'Please enter new admin username:' );
201
+ $username = strtolower( trim( fgets( STDIN ) ) );
202
+ $service->setUsername( $username );
203
+ break;
204
+ case 'db-prefix':
205
+ fwrite( STDOUT, 'Please enter new db prefix:' );
206
+ $prefix = strtolower( trim( fgets( STDIN ) ) );
207
+ $service->new_prefix = $prefix;
208
+ break;
209
+ case 'sh-xframe':
210
+ $service->mode = 'sameorigin';
211
+ break;
212
+ case 'sh-xss-protection':
213
+ $service->mode = 'sanitize';
214
+ break;
215
+ case 'sh-feature-policy':
216
+ $service->mode = 'self';
217
+ break;
218
+ case 'sh-referrer-policy':
219
+ $service->mode = 'origin-when-cross-origin';
220
+ break;
221
+ case 'sh-content-type-options':
222
+ $service->mode = 'nosniff';
223
+ break;
224
+ case 'sh-strict-transport':
225
+ $service->hsts_cache_duration = '7 days';
226
+ break;
227
+ }
228
+ $ret = $service->process();
229
+ if ( is_wp_error( $ret ) ) {
230
+ \WP_CLI::error( $ret->get_error_message() );
231
+
232
+ return;
233
+ }
234
+ \WP_CLI::success( 'Done' );
235
+ }
236
+ }
237
+ break;
238
+ case 'ignore':
239
+ $tweaks = $model->getIssues();
240
+ foreach ( $tweaks as $tweak ) {
241
+ $tweak->ignore();
242
+ \WP_CLI::success( sprintf( 'Ignored %s', $tweak->getTitle() ) );
243
+ }
244
+ break;
245
+ case 'revert':
246
+ $tweaks = $model->getFixed();
247
+ foreach ( $tweaks as $tweak ) {
248
+ $tweak->revert();
249
+ \WP_CLI::success( sprintf( 'Reverted %s', $tweak->getTitle() ) );
250
+ }
251
+ break;
252
+ case 'unignore':
253
+ $tweaks = $model->getIgnore();
254
+ foreach ( $tweaks as $tweak ) {
255
+ $tweak->restore();
256
+ \WP_CLI::success( sprintf( 'Restore %s', $tweak->getTitle() ) );
257
+ }
258
+ break;
259
+ default:
260
+ \WP_CLI::error( 'Invalid command, only resolve|ignore allow' );
261
+ break;
262
  }
263
  }
264
 
265
  /**
266
+ * This will generate randomly settings, use to check upgrade scenario
267
  */
268
+ public function seeding() {
269
+ //reset all the data before generate
270
+ $this->reset();
271
+ $faker = Factory::create();
272
+ //start with tweaks
273
+ $tweaks = Settings::instance();
274
 
275
+ }
276
+
277
+ /**
278
+ * Reset all settings
279
+ */
280
+ public function reset() {
281
+ Backup_Settings::resetSettings();
282
  }
283
  }
app/component/jed.php ADDED
@@ -0,0 +1,71 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace WP_Defender\Component;
4
+
5
+ use Gettext\Generators\Generator;
6
+ use Gettext\Generators\GeneratorInterface;
7
+ use Gettext\Translations;
8
+
9
+ class Jed extends Generator implements GeneratorInterface {
10
+ public static $options = [
11
+ 'json' => 0,
12
+ ];
13
+
14
+ /**
15
+ * {@parentDoc}.
16
+ */
17
+ public static function toString( Translations $translations, array $options = [] ) {
18
+ $domain = $translations->getDomain() ?: 'messages';
19
+ $options += static::$options;
20
+
21
+ return json_encode( [
22
+ "translation-revision-date" => date( 'Y-m-d' ),
23
+ "generator" => "wp-defender",
24
+ "version" => "1",
25
+ "domain" => "messages",
26
+ "locale_data" => [
27
+ "messages" => [
28
+ '' => [
29
+ 'domain' => $domain,
30
+ 'lang' => $translations->getLanguage() ?: 'en',
31
+ 'plural-forms' => $translations->getHeader( 'Plural-Forms' ) ?: 'nplurals=2; plural=(n != 1);',
32
+ ],
33
+ ] + static::buildMessages( $translations ),
34
+ ],
35
+ ], $options['json'] );
36
+ }
37
+
38
+ /**
39
+ * Generates an array with all translations.
40
+ *
41
+ * @param Translations $translations
42
+ *
43
+ * @return array
44
+ */
45
+ protected static function buildMessages( Translations $translations ) {
46
+ $pluralForm = $translations->getPluralForms();
47
+ $pluralSize = is_array( $pluralForm ) ? ( $pluralForm[0] - 1 ) : null;
48
+ $messages = [];
49
+ $context_glue = '\u0004';
50
+
51
+ foreach ( $translations as $translation ) {
52
+ if ( $translation->isDisabled() ) {
53
+ continue;
54
+ }
55
+
56
+ $key = ( $translation->hasContext() ? $translation->getContext() . $context_glue : '' )
57
+ . $translation->getOriginal();
58
+
59
+ if ( $translation->hasPluralTranslations( true ) ) {
60
+ $message = $translation->getPluralTranslations( $pluralSize );
61
+ array_unshift( $message, $translation->getTranslation() );
62
+ } else {
63
+ $message = [ $translation->getTranslation() ];
64
+ }
65
+
66
+ $messages[ $key ] = $message;
67
+ }
68
+
69
+ return $messages;
70
+ }
71
+ }
app/controller/dashboard.php CHANGED
@@ -14,6 +14,7 @@ use WP_Defender\Module\Audit\Component\Audit_API;
14
  use WP_Defender\Module\IP_Lockout;
15
  use WP_Defender\Module\IP_Lockout\Component\Login_Protection_Api;
16
  use WP_Defender\Module\Scan\Component\Scan_Api;
 
17
  use WP_Defender\Module\Scan\Model\Result_Item;
18
  use WP_Defender\Module\Scan\Model\Settings;
19
  use WP_Defender\Module\Setting\Component\Backup_Settings;
@@ -152,13 +153,14 @@ class Dashboard extends Controller {
152
  }
153
 
154
  public function getScanProgress() {
155
- $ret = Scan_Api::processActiveScan();
 
156
  if ( is_wp_error( $ret ) ) {
157
  wp_send_json_error( array(
158
  'message' => $ret->get_error_message()
159
  ) );
160
  } else {
161
- $percent = Scan_Api::getScanProgress();
162
  if ( $ret == true ) {
163
  $percent = 100;
164
  }
14
  use WP_Defender\Module\IP_Lockout;
15
  use WP_Defender\Module\IP_Lockout\Component\Login_Protection_Api;
16
  use WP_Defender\Module\Scan\Component\Scan_Api;
17
+ use WP_Defender\Module\Scan\Component\Scanning;
18
  use WP_Defender\Module\Scan\Model\Result_Item;
19
  use WP_Defender\Module\Scan\Model\Settings;
20
  use WP_Defender\Module\Setting\Component\Backup_Settings;
153
  }
154
 
155
  public function getScanProgress() {
156
+ $scanning = new Scanning();
157
+ $ret = $scanning->do();
158
  if ( is_wp_error( $ret ) ) {
159
  wp_send_json_error( array(
160
  'message' => $ret->get_error_message()
161
  ) );
162
  } else {
163
+ $percent = $scanning->getScanProgress();
164
  if ( $ret == true ) {
165
  $percent = 100;
166
  }
app/controller/debug.php CHANGED
@@ -59,11 +59,12 @@ class Debug extends Controller {
59
  }
60
 
61
  public function actionIndex() {
62
- $cache = Container::instance()->get( 'cache' );
 
63
  $this->render( 'debug', [
64
  'core' => $cache->get( Scan_Api::CACHE_CORE, [] ),
65
  'content' => $cache->get( Scan_Api::CACHE_CONTENT, [] ),
66
- 'progress' => Scan_Api::getScanProgress( true )
67
  ] );
68
  }
69
 
59
  }
60
 
61
  public function actionIndex() {
62
+ $cache = Container::instance()->get( 'cache' );
63
+ $scanning = new Scanning();
64
  $this->render( 'debug', [
65
  'core' => $cache->get( Scan_Api::CACHE_CORE, [] ),
66
  'content' => $cache->get( Scan_Api::CACHE_CONTENT, [] ),
67
+ 'progress' => $scanning->getScanProgress()
68
  ] );
69
  }
70
 
app/module/advanced-tools/component/auth-listener.php CHANGED
@@ -201,7 +201,8 @@ class Auth_Listener extends Component {
201
  $token = HTTP_Helper::retrieveGet( 'token' );
202
  $query = new \WP_User_Query( array(
203
  'meta_key' => 'defOTPLoginToken',
204
- 'meta_value' => $token
 
205
  ) );
206
  $res = $query->get_results();
207
  if ( empty( $res ) ) {
201
  $token = HTTP_Helper::retrieveGet( 'token' );
202
  $query = new \WP_User_Query( array(
203
  'meta_key' => 'defOTPLoginToken',
204
+ 'meta_value' => $token,
205
+ 'blog_id' => 0
206
  ) );
207
  $res = $query->get_results();
208
  if ( empty( $res ) ) {
app/module/advanced-tools/component/mask-api.php CHANGED
@@ -19,7 +19,7 @@ class Mask_Api extends Component {
19
  *
20
  * @return mixed|string
21
  */
22
-
23
  public static function getRequestPath( $requestUri = null ) {
24
  if ( empty( $requestUri ) ) {
25
  $requestUri = $_SERVER['REQUEST_URI'];
@@ -53,10 +53,10 @@ class Mask_Api extends Component {
53
  if ( substr( $requestPath, 0, 1 ) != '/' ) {
54
  $requestPath = '/' . $requestPath;
55
  }
56
-
57
  return $requestPath;
58
  }
59
-
60
  /**
61
  * A clone of network_site_url but remove the filter
62
  *
@@ -73,16 +73,16 @@ class Mask_Api extends Component {
73
  $url = get_option( 'siteurl' );
74
  restore_current_blog();
75
  }
76
-
77
  $url = set_url_scheme( $url, $scheme );
78
-
79
  if ( $path && is_string( $path ) ) {
80
  $url .= '/' . ltrim( $path, '/' );
81
  }
82
-
83
  return $url;
84
  }
85
-
86
  /**
87
  * Generate a random unique onetime pass and store in user meta
88
  * Laterly we can use it to by pass the mask admin
@@ -98,10 +98,10 @@ class Mask_Api extends Component {
98
  'used' => 0
99
  ];
100
  $settings->save();
101
-
102
  return $otp;
103
  }
104
-
105
  /**
106
  * @param $ticket
107
  *
@@ -113,33 +113,33 @@ class Mask_Api extends Component {
113
  if ( $detail === false ) {
114
  return false;
115
  }
116
-
117
  /**
118
  * ticket expired
119
  */
120
  if ( $detail['expiry'] < time() ) {
121
  unset( $settings->otps[ $ticket ] );
122
  $settings->save();
123
-
124
  return false;
125
  }
126
-
127
  $userIP = Utils::instance()->getUserIp();
128
  if ( $detail['bind_to'] !== null && $detail['bind_to'] != $userIP ) {
129
  //this is binded to an IP but current IP not the same, not allow
130
  return false;
131
  }
132
-
133
  if ( $detail['bind_to'] === null ) {
134
  $detail['bind_to'] = $userIP;
135
  }
136
  $detail['used'] += 1;
137
  $settings->otps[ $ticket ] = $detail;
138
  $settings->save();
139
-
140
  return true;
141
  }
142
-
143
  /**
144
  * @param $url
145
  * @param $user_id
@@ -149,7 +149,7 @@ class Mask_Api extends Component {
149
  public static function maybeAppendTicketToUrl( $url ) {
150
  return add_query_arg( 'ticket', self::generateTicket(), $url );
151
  }
152
-
153
  /**
154
  * A clone of network_site_url but remove the filter
155
  *
@@ -160,20 +160,20 @@ class Mask_Api extends Component {
160
  */
161
  private static function networkSiteUrl( $path = '', $scheme = null ) {
162
  $current_network = get_network();
163
-
164
  if ( 'relative' == $scheme ) {
165
  $url = $current_network->path;
166
  } else {
167
  $url = set_url_scheme( 'http://' . $current_network->domain . $current_network->path, $scheme );
168
  }
169
-
170
  if ( $path && is_string( $path ) ) {
171
  $url .= ltrim( $path, '/' );
172
  }
173
-
174
  return $url;
175
  }
176
-
177
  /**
178
  * clone from get_home_url function without the filter
179
  *
@@ -185,9 +185,9 @@ class Mask_Api extends Component {
185
  */
186
  private static function getHomeUrl( $blog_id = null, $path = '', $scheme = null ) {
187
  global $pagenow;
188
-
189
  $orig_scheme = $scheme;
190
-
191
  if ( empty( $blog_id ) || ! is_multisite() ) {
192
  $url = get_option( 'home' );
193
  } else {
@@ -195,7 +195,7 @@ class Mask_Api extends Component {
195
  $url = get_option( 'home' );
196
  restore_current_blog();
197
  }
198
-
199
  if ( ! in_array( $scheme, array( 'http', 'https', 'relative' ) ) ) {
200
  if ( is_ssl() && ! is_admin() && 'wp-login.php' !== $pagenow ) {
201
  $scheme = 'https';
@@ -203,25 +203,25 @@ class Mask_Api extends Component {
203
  $scheme = parse_url( $url, PHP_URL_SCHEME );
204
  }
205
  }
206
-
207
  $url = set_url_scheme( $url, $scheme );
208
-
209
  if ( $path && is_string( $path ) ) {
210
  $url .= '/' . ltrim( $path, '/' );
211
  }
212
-
213
  return $url;
214
  }
215
-
216
  /**
217
  * @return string
218
  */
219
  public static function getRedirectUrl() {
220
  $settings = Mask_Settings::instance();
221
-
222
  return untrailingslashit( get_home_url( get_current_blog_id() ) ) . '/' . ltrim( $settings->redirect_traffic_url, '/' );
223
  }
224
-
225
  /**
226
  * @return string
227
  */
@@ -230,10 +230,19 @@ class Mask_Api extends Component {
230
  if ( $domain == null ) {
231
  $domain = site_url();
232
  }
233
-
234
  return untrailingslashit( $domain . '/' . ltrim( $settings->mask_url, '/' ) );
235
  }
236
-
 
 
 
 
 
 
 
 
 
237
  /**
238
  * @param null $slug
239
  *
@@ -243,7 +252,7 @@ class Mask_Api extends Component {
243
  if ( empty( $slug ) ) {
244
  return true;
245
  }
246
-
247
  if ( $context == 'redirect' && $slug == '/' ) {
248
  //redirect to home
249
  return true;
@@ -257,7 +266,7 @@ class Mask_Api extends Component {
257
  if ( in_array( $slug, array( 'admin', 'backend', 'wp-login', 'wp-login.php', 'login' ) ) ) {
258
  return new \WP_Error( Error_Code::VALIDATE, __( "A page already exists at this URL, please pick a unique page for your new login area.", "defender-security" ) );
259
  }
260
-
261
  //check if any URL appear
262
  $post = get_posts( array(
263
  'name' => $slug,
@@ -269,10 +278,10 @@ class Mask_Api extends Component {
269
  return new \WP_Error( Error_Code::VALIDATE, __( "A page already exists at this URL, please pick a unique page for your new login area.", "defender-security" ) );
270
  }
271
  }
272
-
273
  return true;
274
  }
275
-
276
  /**
277
  * @return null|string
278
  */
@@ -280,15 +289,15 @@ class Mask_Api extends Component {
280
  if ( ! is_user_logged_in() ) {
281
  return null;
282
  }
283
-
284
  $secret = Auth_API::getUserSecret();
285
  $otp = uniqid();
286
  $key = md5( $otp . $secret );
287
  set_site_transient( $key, $otp, 300 );
288
-
289
  return $otp;
290
  }
291
-
292
  /**
293
  * @param $otp
294
  *
@@ -301,10 +310,10 @@ class Mask_Api extends Component {
301
  $check = get_site_transient( $key );
302
  if ( $check == $otp ) {
303
  delete_site_transient( $key );
304
-
305
  return true;
306
  }
307
-
308
  return false;
309
  }
310
  }
19
  *
20
  * @return mixed|string
21
  */
22
+
23
  public static function getRequestPath( $requestUri = null ) {
24
  if ( empty( $requestUri ) ) {
25
  $requestUri = $_SERVER['REQUEST_URI'];
53
  if ( substr( $requestPath, 0, 1 ) != '/' ) {
54
  $requestPath = '/' . $requestPath;
55
  }
56
+
57
  return $requestPath;
58
  }
59
+
60
  /**
61
  * A clone of network_site_url but remove the filter
62
  *
73
  $url = get_option( 'siteurl' );
74
  restore_current_blog();
75
  }
76
+
77
  $url = set_url_scheme( $url, $scheme );
78
+
79
  if ( $path && is_string( $path ) ) {
80
  $url .= '/' . ltrim( $path, '/' );
81
  }
82
+
83
  return $url;
84
  }
85
+
86
  /**
87
  * Generate a random unique onetime pass and store in user meta
88
  * Laterly we can use it to by pass the mask admin
98
  'used' => 0
99
  ];
100
  $settings->save();
101
+
102
  return $otp;
103
  }
104
+
105
  /**
106
  * @param $ticket
107
  *
113
  if ( $detail === false ) {
114
  return false;
115
  }
116
+
117
  /**
118
  * ticket expired
119
  */
120
  if ( $detail['expiry'] < time() ) {
121
  unset( $settings->otps[ $ticket ] );
122
  $settings->save();
123
+
124
  return false;
125
  }
126
+
127
  $userIP = Utils::instance()->getUserIp();
128
  if ( $detail['bind_to'] !== null && $detail['bind_to'] != $userIP ) {
129
  //this is binded to an IP but current IP not the same, not allow
130
  return false;
131
  }
132
+
133
  if ( $detail['bind_to'] === null ) {
134
  $detail['bind_to'] = $userIP;
135
  }
136
  $detail['used'] += 1;
137
  $settings->otps[ $ticket ] = $detail;
138
  $settings->save();
139
+
140
  return true;
141
  }
142
+
143
  /**
144
  * @param $url
145
  * @param $user_id
149
  public static function maybeAppendTicketToUrl( $url ) {
150
  return add_query_arg( 'ticket', self::generateTicket(), $url );
151
  }
152
+
153
  /**
154
  * A clone of network_site_url but remove the filter
155
  *
160
  */
161
  private static function networkSiteUrl( $path = '', $scheme = null ) {
162
  $current_network = get_network();
163
+
164
  if ( 'relative' == $scheme ) {
165
  $url = $current_network->path;
166
  } else {
167
  $url = set_url_scheme( 'http://' . $current_network->domain . $current_network->path, $scheme );
168
  }
169
+
170
  if ( $path && is_string( $path ) ) {
171
  $url .= ltrim( $path, '/' );
172
  }
173
+
174
  return $url;
175
  }
176
+
177
  /**
178
  * clone from get_home_url function without the filter
179
  *
185
  */
186
  private static function getHomeUrl( $blog_id = null, $path = '', $scheme = null ) {
187
  global $pagenow;
188
+
189
  $orig_scheme = $scheme;
190
+
191
  if ( empty( $blog_id ) || ! is_multisite() ) {
192
  $url = get_option( 'home' );
193
  } else {
195
  $url = get_option( 'home' );
196
  restore_current_blog();
197
  }
198
+
199
  if ( ! in_array( $scheme, array( 'http', 'https', 'relative' ) ) ) {
200
  if ( is_ssl() && ! is_admin() && 'wp-login.php' !== $pagenow ) {
201
  $scheme = 'https';
203
  $scheme = parse_url( $url, PHP_URL_SCHEME );
204
  }
205
  }
206
+
207
  $url = set_url_scheme( $url, $scheme );
208
+
209
  if ( $path && is_string( $path ) ) {
210
  $url .= '/' . ltrim( $path, '/' );
211
  }
212
+
213
  return $url;
214
  }
215
+
216
  /**
217
  * @return string
218
  */
219
  public static function getRedirectUrl() {
220
  $settings = Mask_Settings::instance();
221
+
222
  return untrailingslashit( get_home_url( get_current_blog_id() ) ) . '/' . ltrim( $settings->redirect_traffic_url, '/' );
223
  }
224
+
225
  /**
226
  * @return string
227
  */
230
  if ( $domain == null ) {
231
  $domain = site_url();
232
  }
233
+
234
  return untrailingslashit( $domain . '/' . ltrim( $settings->mask_url, '/' ) );
235
  }
236
+
237
+ /**
238
+ * @return bool
239
+ */
240
+ public static function isEnabled() {
241
+ $model = Mask_Settings::instance();
242
+
243
+ return $model->isEnabled();
244
+ }
245
+
246
  /**
247
  * @param null $slug
248
  *
252
  if ( empty( $slug ) ) {
253
  return true;
254
  }
255
+
256
  if ( $context == 'redirect' && $slug == '/' ) {
257
  //redirect to home
258
  return true;
266
  if ( in_array( $slug, array( 'admin', 'backend', 'wp-login', 'wp-login.php', 'login' ) ) ) {
267
  return new \WP_Error( Error_Code::VALIDATE, __( "A page already exists at this URL, please pick a unique page for your new login area.", "defender-security" ) );
268
  }
269
+
270
  //check if any URL appear
271
  $post = get_posts( array(
272
  'name' => $slug,
278
  return new \WP_Error( Error_Code::VALIDATE, __( "A page already exists at this URL, please pick a unique page for your new login area.", "defender-security" ) );
279
  }
280
  }
281
+
282
  return true;
283
  }
284
+
285
  /**
286
  * @return null|string
287
  */
289
  if ( ! is_user_logged_in() ) {
290
  return null;
291
  }
292
+
293
  $secret = Auth_API::getUserSecret();
294
  $otp = uniqid();
295
  $key = md5( $otp . $secret );
296
  set_site_transient( $key, $otp, 300 );
297
+
298
  return $otp;
299
  }
300
+
301
  /**
302
  * @param $otp
303
  *
310
  $check = get_site_transient( $key );
311
  if ( $check == $otp ) {
312
  delete_site_transient( $key );
313
+
314
  return true;
315
  }
316
+
317
  return false;
318
  }
319
  }
app/module/advanced-tools/component/mask-login-listener.php CHANGED
@@ -13,7 +13,7 @@ class Mask_Login_Listener extends Component {
13
  public function __construct() {
14
  $settings = Mask_Settings::instance();
15
  $emergencySwitch = apply_filters( 'wpd_masklogin_disabled', 0 );
16
-
17
  if ( $settings->isEnabled() == true && $emergencySwitch == 0 ) {
18
  $isJetpackSSO = Auth_API::isJetPackSSO();
19
  $isTML = Auth_API::isTML();
@@ -22,8 +22,9 @@ class Mask_Login_Listener extends Component {
22
  $this->addFilter( 'wp_redirect', 'filterWPRedirect', 10, 2 );
23
  $this->addFilter( 'site_url', 'filterSiteUrl', 9999, 4 );
24
  $this->addFilter( 'network_site_url', 'filterNetworkSiteUrl', 9999, 3 );
25
- // $this->add_filter( 'network_admin_url', 'filterAdminUrl', 9999, 2 );
26
- // $this->add_filter( 'adminUrl', 'filterAdminUrl', 9999, 2 );
 
27
  remove_action( 'template_redirect', 'wp_redirect_admin_locations' );
28
  //if prosite is activate and useremail is not defined, we need to update the
29
  //email to match the new login URL
@@ -39,7 +40,32 @@ class Mask_Login_Listener extends Component {
39
  }
40
  }
41
  }
42
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
43
  /**
44
  * @param $logs_url
45
  * @param $email
@@ -53,10 +79,10 @@ class Mask_Login_Listener extends Component {
53
  } else {
54
  $logs_url = add_query_arg( 'redirect_to', $logs_url, Mask_Api::getNewLoginUrl() );
55
  }
56
-
57
  return $logs_url;
58
  }
59
-
60
  public function handleLoginRequest() {
61
  //need to check if the current request is for signup, login, if those is not the slug, then we redirect
62
  //to the 404 redirect, or 403 wp die
@@ -78,7 +104,7 @@ class Mask_Login_Listener extends Component {
78
  $this->_handleRequestToLoginPage();
79
  }
80
  }
81
-
82
  /**
83
  * @param $welcome_email
84
  * @param $blog_id
@@ -92,10 +118,10 @@ class Mask_Login_Listener extends Component {
92
  public function updateWelcomeEmailPrositeCase( $welcome_email, $blog_id, $user_id, $password, $title, $meta ) {
93
  $url = get_blogaddress_by_id( $blog_id );
94
  $welcome_email = str_replace( $url . 'wp-login.php', Mask_Api::getNewLoginUrl( rtrim( $url, '/' ) ), $welcome_email );
95
-
96
  return $welcome_email;
97
  }
98
-
99
  /**
100
  * @param $url
101
  * @param $path
@@ -106,7 +132,7 @@ class Mask_Login_Listener extends Component {
106
  public function filterNetworkSiteUrl( $url, $path, $scheme ) {
107
  return $this->alterLoginUrl( $url, $scheme );
108
  }
109
-
110
  /**
111
  * @param $url
112
  * @param $path
@@ -118,7 +144,7 @@ class Mask_Login_Listener extends Component {
118
  public function filterSiteUrl( $url, $path, $scheme, $blog_id ) {
119
  return $this->alterLoginUrl( $url, $scheme );
120
  }
121
-
122
  /**
123
  * @param $location
124
  * @param $status
@@ -128,7 +154,7 @@ class Mask_Login_Listener extends Component {
128
  public function filterWPRedirect( $location, $status ) {
129
  return $this->alterLoginUrl( $location );
130
  }
131
-
132
  /**
133
  * @param $currentUrl
134
  * @param null $scheme
@@ -141,7 +167,7 @@ class Mask_Login_Listener extends Component {
141
  $parts = parse_url( $currentUrl );
142
  if ( isset( $parts['query'] ) ) {
143
  parse_str( $parts['query'], $strings );
144
-
145
  return add_query_arg( $strings, Mask_Api::getNewLoginUrl() );
146
  } else {
147
  return Mask_Api::getNewLoginUrl();
@@ -169,16 +195,16 @@ class Mask_Login_Listener extends Component {
169
  //case inside my sites page, sometime the login session does not share between sites and we get block
170
  //we will add an OTP key for redirect to wp-admin without get block
171
  $otp = Mask_Api::createOTPKey();
172
-
173
  return add_query_arg( array(
174
  'otp' => $otp
175
  ), $currentUrl );
176
  }
177
  }
178
-
179
  return $currentUrl;
180
  }
181
-
182
  /**
183
  * Filter admin URL when sync with HUB
184
  *
@@ -188,10 +214,15 @@ class Mask_Login_Listener extends Component {
188
  * @return mixed
189
  */
190
  public function filterAdminUrl( $currentUrl, $scheme = null ) {
191
-
 
 
 
 
 
192
  return $currentUrl;
193
  }
194
-
195
  /**
196
  * Catch any request to wp-admin/*, block or redirect it base on settings.
197
  * This wont apply for logged in user
@@ -205,25 +236,27 @@ class Mask_Login_Listener extends Component {
205
  if ( is_user_logged_in() ) {
206
  return;
207
  }
208
-
209
  if ( ( $key = HTTP_Helper::retrieveGet( 'otp', false ) ) !== false
210
  && Mask_Api::verifyOTP( $key ) ) {
211
  return;
212
  }
213
-
214
  $this->_maybeLock();
215
  }
216
-
217
  private function _handleRequestToLoginPage() {
218
- $this->_maybeLock();
 
 
219
  }
220
-
221
  private function _showLoginPage() {
222
  global $error, $interim_login, $action, $user_login, $user, $redirect_to;
223
  require_once ABSPATH . 'wp-login.php';
224
  die;
225
  }
226
-
227
  private function _maybeLock() {
228
  $settings = Mask_Settings::instance();
229
  if ( $settings->isRedirect() == true ) {
13
  public function __construct() {
14
  $settings = Mask_Settings::instance();
15
  $emergencySwitch = apply_filters( 'wpd_masklogin_disabled', 0 );
16
+
17
  if ( $settings->isEnabled() == true && $emergencySwitch == 0 ) {
18
  $isJetpackSSO = Auth_API::isJetPackSSO();
19
  $isTML = Auth_API::isTML();
22
  $this->addFilter( 'wp_redirect', 'filterWPRedirect', 10, 2 );
23
  $this->addFilter( 'site_url', 'filterSiteUrl', 9999, 4 );
24
  $this->addFilter( 'network_site_url', 'filterNetworkSiteUrl', 9999, 3 );
25
+ $this->addFilter( 'wp_mail', 'filterEmailBody', 999 );
26
+ //$this->addFilter( 'network_admin_url', 'filterAdminUrl', 9999, 2 );
27
+ //$this->add_filter( 'adminUrl', 'filterAdminUrl', 9999, 2 );
28
  remove_action( 'template_redirect', 'wp_redirect_admin_locations' );
29
  //if prosite is activate and useremail is not defined, we need to update the
30
  //email to match the new login URL
40
  }
41
  }
42
  }
43
+
44
+ public function filterEmailBody( $args ) {
45
+ $patterns = [
46
+ //approve comment
47
+ '/(' . preg_quote( site_url(), '/' ) . '\/wp-admin\/comment\.php\?.+)/',
48
+ //all comments
49
+ '/(' . preg_quote( site_url(), '/' ) . '\/wp-admin\/edit-comments\.php\?.+$)/'
50
+ ];
51
+
52
+ $message = $args['message'];
53
+ foreach ( $patterns as $pattern ) {
54
+ if ( preg_match_all( $pattern, $message, $matches ) ) {
55
+ foreach ( $matches[0] as $url ) {
56
+ parse_str( parse_url( $url, PHP_URL_QUERY ), $parts );
57
+ if ( ! isset( $parts['ticket'] ) ) {
58
+ $new_url = add_query_arg( 'ticket', Mask_Api::generateTicket(), $url );
59
+ $message = str_replace( $url, $new_url, $message );
60
+ }
61
+ }
62
+ }
63
+ }
64
+ $args['message'] = $message;
65
+
66
+ return $args;
67
+ }
68
+
69
  /**
70
  * @param $logs_url
71
  * @param $email
79
  } else {
80
  $logs_url = add_query_arg( 'redirect_to', $logs_url, Mask_Api::getNewLoginUrl() );
81
  }
82
+
83
  return $logs_url;
84
  }
85
+
86
  public function handleLoginRequest() {
87
  //need to check if the current request is for signup, login, if those is not the slug, then we redirect
88
  //to the 404 redirect, or 403 wp die
104
  $this->_handleRequestToLoginPage();
105
  }
106
  }
107
+
108
  /**
109
  * @param $welcome_email
110
  * @param $blog_id
118
  public function updateWelcomeEmailPrositeCase( $welcome_email, $blog_id, $user_id, $password, $title, $meta ) {
119
  $url = get_blogaddress_by_id( $blog_id );
120
  $welcome_email = str_replace( $url . 'wp-login.php', Mask_Api::getNewLoginUrl( rtrim( $url, '/' ) ), $welcome_email );
121
+
122
  return $welcome_email;
123
  }
124
+
125
  /**
126
  * @param $url
127
  * @param $path
132
  public function filterNetworkSiteUrl( $url, $path, $scheme ) {
133
  return $this->alterLoginUrl( $url, $scheme );
134
  }
135
+
136
  /**
137
  * @param $url
138
  * @param $path
144
  public function filterSiteUrl( $url, $path, $scheme, $blog_id ) {
145
  return $this->alterLoginUrl( $url, $scheme );
146
  }
147
+
148
  /**
149
  * @param $location
150
  * @param $status
154
  public function filterWPRedirect( $location, $status ) {
155
  return $this->alterLoginUrl( $location );
156
  }
157
+
158
  /**
159
  * @param $currentUrl
160
  * @param null $scheme
167
  $parts = parse_url( $currentUrl );
168
  if ( isset( $parts['query'] ) ) {
169
  parse_str( $parts['query'], $strings );
170
+
171
  return add_query_arg( $strings, Mask_Api::getNewLoginUrl() );
172
  } else {
173
  return Mask_Api::getNewLoginUrl();
195
  //case inside my sites page, sometime the login session does not share between sites and we get block
196
  //we will add an OTP key for redirect to wp-admin without get block
197
  $otp = Mask_Api::createOTPKey();
198
+
199
  return add_query_arg( array(
200
  'otp' => $otp
201
  ), $currentUrl );
202
  }
203
  }
204
+
205
  return $currentUrl;
206
  }
207
+
208
  /**
209
  * Filter admin URL when sync with HUB
210
  *
214
  * @return mixed
215
  */
216
  public function filterAdminUrl( $currentUrl, $scheme = null ) {
217
+ //we just need to add a otp if not any
218
+ parse_str( parse_url( $currentUrl, PHP_URL_QUERY ), $parts );
219
+ if ( ! isset( $parts['ticket'] ) ) {
220
+
221
+ }
222
+
223
  return $currentUrl;
224
  }
225
+
226
  /**
227
  * Catch any request to wp-admin/*, block or redirect it base on settings.
228
  * This wont apply for logged in user
236
  if ( is_user_logged_in() ) {
237
  return;
238
  }
239
+
240
  if ( ( $key = HTTP_Helper::retrieveGet( 'otp', false ) ) !== false
241
  && Mask_Api::verifyOTP( $key ) ) {
242
  return;
243
  }
244
+
245
  $this->_maybeLock();
246
  }
247
+
248
  private function _handleRequestToLoginPage() {
249
+ if ( ! is_user_logged_in() ) {
250
+ $this->_maybeLock();
251
+ }
252
  }
253
+
254
  private function _showLoginPage() {
255
  global $error, $interim_login, $action, $user_login, $user, $redirect_to;
256
  require_once ABSPATH . 'wp-login.php';
257
  die;
258
  }
259
+
260
  private function _maybeLock() {
261
  $settings = Mask_Settings::instance();
262
  if ( $settings->isRedirect() == true ) {
app/module/advanced-tools/view/login/disabled.php CHANGED
@@ -1,12 +1,20 @@
1
  <h2><?php _e( "Security", "defender-security" ) ?></h2>
2
- <table class="form-table">
3
  <tbody>
4
  <tr class="user-sessions-wrap hide-if-no-js">
5
  <th><?php _e( "Two Factor Authentication", "defender-security" ) ?></th>
6
  <td aria-live="assertive">
7
  <?php
8
  $settings = \WP_Defender\Module\Advanced_Tools\Model\Auth_Settings::instance();
9
- if ( $settings->force_auth ):
 
 
 
 
 
 
 
 
10
  ?>
11
  <div class="def-warning">
12
  <i class="dashicons dashicons-warning" aria-hidden="true"></i>
@@ -16,7 +24,6 @@
16
  </div>
17
  <?php endif; ?>
18
  <?php
19
- $user = wp_get_current_user();
20
  $email = '';
21
  if ( is_object( $user ) ) {
22
  $email = $user->user_email;
@@ -72,8 +79,6 @@
72
  </tr>
73
  </tbody>
74
  </table>
75
- <script type="text/javascript"
76
- src="<?php echo wp_defender()->getPluginUrl() . 'app/module/advanced-tools/js/qrcode.min.js' ?>"></script>
77
  <script type="text/javascript">
78
  jQuery(function ($) {
79
  $('#def2qr').hide();
@@ -141,7 +146,7 @@
141
  });
142
  })
143
  </script>
144
- <?php if ( $settings->force_auth ): ?>
145
  <script type="text/javascript">
146
  jQuery(function ($) {
147
  $('html, body').animate({scrollTop: $("#show2AuthActivator").offset().top}, 1000);
1
  <h2><?php _e( "Security", "defender-security" ) ?></h2>
2
+ <table class="form-table" id="defender-security">
3
  <tbody>
4
  <tr class="user-sessions-wrap hide-if-no-js">
5
  <th><?php _e( "Two Factor Authentication", "defender-security" ) ?></th>
6
  <td aria-live="assertive">
7
  <?php
8
  $settings = \WP_Defender\Module\Advanced_Tools\Model\Auth_Settings::instance();
9
+ $force_auth_for_curr_user = false;
10
+ $user = wp_get_current_user();
11
+ if ( $user->ID && isset( $settings->force_auth_roles ) && ! empty( $settings->force_auth_roles ) ) {
12
+ $curr_user_roles = (array) $user->roles;
13
+ if ( ! empty( array_intersect( $curr_user_roles, $settings->force_auth_roles ) ) ) {
14
+ $force_auth_for_curr_user = true;
15
+ }
16
+ }
17
+ if ( $force_auth_for_curr_user && $settings->force_auth ):
18
  ?>
19
  <div class="def-warning">
20
  <i class="dashicons dashicons-warning" aria-hidden="true"></i>
24
  </div>
25
  <?php endif; ?>
26
  <?php
 
27
  $email = '';
28
  if ( is_object( $user ) ) {
29
  $email = $user->user_email;
79
  </tr>
80
  </tbody>
81
  </table>
 
 
82
  <script type="text/javascript">
83
  jQuery(function ($) {
84
  $('#def2qr').hide();
146
  });
147
  })
148
  </script>
149
+ <?php if ( $force_auth_for_curr_user && $settings->force_auth ): ?>
150
  <script type="text/javascript">
151
  jQuery(function ($) {
152
  $('html, body').animate({scrollTop: $("#show2AuthActivator").offset().top}, 1000);
app/module/audit/controller/main-free.php CHANGED
@@ -58,21 +58,19 @@ class Main_Free extends \WP_Defender\Controller {
58
 
59
  public function scripts() {
60
  if ( $this->isInPage() ) {
61
- if ( $this->isInPage() ) {
62
- wp_enqueue_style( 'wpmudev-sui' );
63
- wp_enqueue_style( 'defender' );
64
 
65
- wp_register_script( 'defender-audit', wp_defender()->getPluginUrl() . 'assets/app/audit.js', array(
66
- 'vue',
67
- 'defender',
68
- 'wp-i18n'
69
- ), wp_defender()->version, true );
70
- Utils::instance()->createTranslationJson( 'defender-audit' );
71
- wp_set_script_translations( 'defender-audit', 'wpdef', wp_defender()->getPluginPath() . 'languages' );
72
- wp_localize_script( 'defender-audit', 'auditData', [] );
73
- wp_enqueue_script( 'defender-audit' );
74
- wp_enqueue_script( 'wpmudev-sui' );
75
- }
76
  }
77
  }
78
 
58
 
59
  public function scripts() {
60
  if ( $this->isInPage() ) {
61
+ wp_enqueue_style( 'wpmudev-sui' );
62
+ wp_enqueue_style( 'defender' );
 
63
 
64
+ wp_register_script( 'defender-audit', wp_defender()->getPluginUrl() . 'assets/app/audit.js', array(
65
+ 'vue',
66
+ 'defender',
67
+ 'wp-i18n'
68
+ ), wp_defender()->version, true );
69
+ Utils::instance()->createTranslationJson( 'defender-audit' );
70
+ wp_set_script_translations( 'defender-audit', 'wpdef', wp_defender()->getPluginPath() . 'languages' );
71
+ wp_localize_script( 'defender-audit', 'auditData', [] );
72
+ wp_enqueue_script( 'defender-audit' );
73
+ wp_enqueue_script( 'wpmudev-sui' );
 
74
  }
75
  }
76
 
app/module/hardener/component/disable-file-editor-service.php CHANGED
@@ -33,7 +33,7 @@ class Disable_File_Editor_Service extends Rule_Service implements IRule_Service
33
  }
34
  $config = file( $config_path );
35
  $line = $this->findLine( $config );
36
- if ( $line == false ) {
37
  //no defined, we just need to inject
38
  $hook_line = $this->findDefaultHookLine( $config );
39
  if ( $hook_line === false ) {
@@ -44,7 +44,7 @@ class Disable_File_Editor_Service extends Rule_Service implements IRule_Service
44
  return file_put_contents( $config_path, implode( null, $config ), LOCK_EX );
45
  } else {
46
  list( $value, $line ) = $line;
47
- if ( $value == true ) {
48
  //already disable it, if we sitll here mean st not work, do nothing
49
  return;
50
  } else {
33
  }
34
  $config = file( $config_path );
35
  $line = $this->findLine( $config );
36
+ if ( false === $line ) {
37
  //no defined, we just need to inject
38
  $hook_line = $this->findDefaultHookLine( $config );
39
  if ( $hook_line === false ) {
44
  return file_put_contents( $config_path, implode( null, $config ), LOCK_EX );
45
  } else {
46
  list( $value, $line ) = $line;
47
+ if ( true === $value ) {
48
  //already disable it, if we sitll here mean st not work, do nothing
49
  return;
50
  } else {
app/module/hardener/component/prevent-php.php CHANGED
@@ -118,14 +118,19 @@ class Prevent_Php extends Rule {
118
  $ret = $service->process();
119
  if ( ! is_wp_error( $ret ) ) {
120
  $settings = Settings::instance();
121
- if ( in_array( $server, array( 'apache', 'litespeed' ) ) ) {
122
- $settings->saveExcludedFilePaths( $service->getExcludedFilePaths() );
123
- $settings->saveNewHtConfig( $service->getNewHtConfig() );
 
 
 
 
 
124
  }
 
 
125
  $settings->setActiveServer( $server );
126
  $settings->addToResolved( self::$slug );
127
- $url = WP_Helper::getUploadUrl();
128
- $url = $url . '/wp-defender/index.php';
129
  $this->getService()->clearHeadRequest( $url );
130
  } else {
131
  wp_send_json_error( array(
118
  $ret = $service->process();
119
  if ( ! is_wp_error( $ret ) ) {
120
  $settings = Settings::instance();
121
+ $url = WP_Helper::getUploadUrl();
122
+ $url = $url . '/wp-defender/index.php';
123
+ $this->getService()->clearHeadRequest( $url );
124
+ $ret = $this->getService()->check();
125
+ if ( $ret == false ) {
126
+ wp_send_json_error( [
127
+ 'message' => __( "The rules can't apply to your host. This can because of your host doesn't allow for overriding, or you apply for the wrong webserver", "defender-security" )
128
+ ] );
129
  }
130
+ $settings->saveExcludedFilePaths( $service->getExcludedFilePaths() );
131
+ $settings->saveNewHtConfig( $service->getNewHtConfig() );
132
  $settings->setActiveServer( $server );
133
  $settings->addToResolved( self::$slug );
 
 
134
  $this->getService()->clearHeadRequest( $url );
135
  } else {
136
  wp_send_json_error( array(
app/module/hardener/component/protect-information-service.php CHANGED
@@ -19,12 +19,12 @@ class Protect_Information_Service extends Rule_Service implements IRule_Service
19
  public function check() {
20
  $cache = WP_Helper::getArrayCache()->get( 'Protect_Information_Service', null );
21
  if ( $cache === null ) {
22
- $url = wp_defender()->getPluginUrl() . 'changelog.txt';
23
  $headers = $this->headRequest( $url, 'Protect Information', strtotime( '+1 day' ) );
24
-
25
  if ( is_wp_error( $headers ) ) {
26
  Utils::instance()->log( sprintf( 'Self ping error: %s', $headers->get_error_message() ), 'tweaks' );
27
-
28
  return false;
29
  }
30
 
@@ -73,8 +73,13 @@ class Protect_Information_Service extends Rule_Service implements IRule_Service
73
  $htConfig = array_merge( $htConfig, $rules );
74
  file_put_contents( $htPath, implode( PHP_EOL, $htConfig ), LOCK_EX );
75
  }
76
- $url = wp_defender()->getPluginUrl() . 'changelog.txt';
77
  $this->clearHeadRequest( $url );
 
 
 
 
 
78
 
79
  return true;
80
  }
@@ -101,7 +106,7 @@ class Protect_Information_Service extends Rule_Service implements IRule_Service
101
  }
102
  $htConfig = trim( $htConfig );
103
  file_put_contents( $htPath, $htConfig, LOCK_EX );
104
- $url = wp_defender()->getPluginUrl() . 'changelog.txt';
105
  $this->clearHeadRequest( $url );
106
 
107
  return true;
@@ -135,7 +140,7 @@ location = /wp-config.php {
135
  }
136
 
137
  # Deny access to revealing or potentially dangerous files in the /wp-content/ directory (including sub-folders)
138
- location ~* ^$wp_content/.*\.(txt|md|exe|sh|bak|inc|pot|po|mo|log|sql)$ {
139
  deny all;
140
  }
141
  ";
@@ -153,7 +158,7 @@ location ~* ^$wp_content/.*\.(txt|md|exe|sh|bak|inc|pot|po|mo|log|sql)$ {
153
  if ( floatval( $version ) >= 2.4 ) {
154
  $rules = array(
155
  PHP_EOL . '## WP Defender - Prevent information disclosure ##' . PHP_EOL,
156
- '<FilesMatch "\.(txt|md|exe|sh|bak|inc|pot|po|mo|log|sql)$">' . PHP_EOL .
157
  'Require all denied' . PHP_EOL .
158
  '</FilesMatch>' . PHP_EOL,
159
  '<Files robots.txt>' . PHP_EOL .
@@ -167,7 +172,7 @@ location ~* ^$wp_content/.*\.(txt|md|exe|sh|bak|inc|pot|po|mo|log|sql)$ {
167
  } else {
168
  $rules = array(
169
  PHP_EOL . '## WP Defender - Prevent information disclosure ##' . PHP_EOL,
170
- '<FilesMatch "\.(txt|md|exe|sh|bak|inc|pot|po|mo|log|sql)$">' . PHP_EOL .
171
  'Order allow,deny' . PHP_EOL .
172
  'Deny from all' . PHP_EOL .
173
  '</FilesMatch>' . PHP_EOL,
19
  public function check() {
20
  $cache = WP_Helper::getArrayCache()->get( 'Protect_Information_Service', null );
21
  if ( $cache === null ) {
22
+ $url = wp_defender()->getPluginUrl() . 'languages/wpdef-default.pot';
23
  $headers = $this->headRequest( $url, 'Protect Information', strtotime( '+1 day' ) );
24
+
25
  if ( is_wp_error( $headers ) ) {
26
  Utils::instance()->log( sprintf( 'Self ping error: %s', $headers->get_error_message() ), 'tweaks' );
27
+
28
  return false;
29
  }
30
 
73
  $htConfig = array_merge( $htConfig, $rules );
74
  file_put_contents( $htPath, implode( PHP_EOL, $htConfig ), LOCK_EX );
75
  }
76
+ $url = wp_defender()->getPluginUrl() . 'languages/wpdef-default.pot';
77
  $this->clearHeadRequest( $url );
78
+ if ( ! $this->check() ) {
79
+ wp_send_json_error( [
80
+ 'message' => __( "The rules can't apply to your host. This can because of your host doesn't allow for overriding, or you apply for the wrong webserver", "defender-security" )
81
+ ] );
82
+ }
83
 
84
  return true;
85
  }
106
  }
107
  $htConfig = trim( $htConfig );
108
  file_put_contents( $htPath, $htConfig, LOCK_EX );
109
+ $url = wp_defender()->getPluginUrl() . 'languages/wpdef-default.pot';
110
  $this->clearHeadRequest( $url );
111
 
112
  return true;
140
  }
141
 
142
  # Deny access to revealing or potentially dangerous files in the /wp-content/ directory (including sub-folders)
143
+ location ~* ^$wp_content/.*\.(md|exe|sh|bak|inc|pot|po|mo|log|sql)$ {
144
  deny all;
145
  }
146
  ";
158
  if ( floatval( $version ) >= 2.4 ) {
159
  $rules = array(
160
  PHP_EOL . '## WP Defender - Prevent information disclosure ##' . PHP_EOL,
161
+ '<FilesMatch "\.(md|exe|sh|bak|inc|pot|po|mo|log|sql)$">' . PHP_EOL .
162
  'Require all denied' . PHP_EOL .
163
  '</FilesMatch>' . PHP_EOL,
164
  '<Files robots.txt>' . PHP_EOL .
172
  } else {
173
  $rules = array(
174
  PHP_EOL . '## WP Defender - Prevent information disclosure ##' . PHP_EOL,
175
+ '<FilesMatch "\.(md|exe|sh|bak|inc|pot|po|mo|log|sql)$">' . PHP_EOL .
176
  'Order allow,deny' . PHP_EOL .
177
  'Deny from all' . PHP_EOL .
178
  '</FilesMatch>' . PHP_EOL,
app/module/hardener/controller/main.php CHANGED
@@ -79,24 +79,39 @@ class Main extends Controller {
79
 
80
  public function tweaksSendNotification() {
81
  $settings = Hardener\Model\Settings::instance();
82
- //if last seen very near, do no thing
83
- if ( ! $settings->last_seen ) {
84
- //should not in here
85
- $settings->last_seen = time();
86
- $settings->save();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
87
  }
88
 
89
- if ( strtotime( apply_filters( 'wd_tweaks_notification_interval', '+7 days' ), apply_filters( 'wd_tweaks_last_action_time', $settings->last_seen ) ) > time() ) {
90
  return;
91
  }
 
92
  $settings->refreshStatus();
93
  $tweaks = $settings->getIssues();
94
 
95
- if ( count( $tweaks ) == 0 ) {
96
- //no issue no email
97
-
98
  return;
99
  }
 
100
  $no_reply_email = "noreply@" . parse_url( get_site_url(), PHP_URL_HOST );
101
  $no_reply_email = apply_filters( 'wd_scan_noreply_email', $no_reply_email );
102
  $headers = array(
@@ -106,28 +121,13 @@ class Main extends Controller {
106
 
107
  $subject = _n( 'Security Tweak Report for %s. %s tweak needs attention.', 'Security Tweak Report for %s. %s tweaks needs attention.', count( $tweaks ), "defender-security" );
108
  $subject = sprintf( $subject, network_site_url(), count( $tweaks ) );
109
- $canSend = false;
110
- if ( $settings->last_sent == null ) {
111
- //this is the case user install this and never check the page
112
- //send report
113
- $canSend = true;
114
- } elseif ( strtotime( apply_filters( 'wd_tweaks_notification_interval', '+24 hours' ), apply_filters( 'wd_tweaks_last_notification_sent', $settings->last_sent ) ) < time() ) {
115
- //this is the case email already sent once last 24 hours
116
- if ( $settings->notification_repeat == false ) {
117
- //no repeat
118
- return;
119
- }
120
- $canSend = true;
121
- }
122
 
123
- if ( $canSend ) {
124
- foreach ( $settings->receipts as $receipt ) {
125
- $email = $receipt['email'];
126
- $ret = wp_mail( $email, $subject, $this->prepareEmailContent( $receipt['first_name'], $email ), $headers );
127
- }
128
- $settings->last_sent = time();
129
- $settings->save();
130
  }
 
 
131
  }
132
 
133
  private function prepareEmailContent( $firstName, $email = null ) {
79
 
80
  public function tweaksSendNotification() {
81
  $settings = Hardener\Model\Settings::instance();
82
+ $canSend = false;
83
+ if ( $settings->last_sent ) {
84
+ if (
85
+ $settings->notification_repeat == true
86
+ && strtotime( apply_filters( 'wd_tweaks_notification_interval', '+24 hours' ), apply_filters( 'wd_tweaks_last_notification_sent', $settings->last_sent ) ) < time() ) {
87
+ $canSend = true;
88
+ }
89
+ } else {
90
+ //this only happen one
91
+ if ( ! $settings->last_seen ) {
92
+ //should not in here
93
+ $settings->last_seen = time();
94
+ $settings->save();
95
+ }
96
+
97
+ if ( strtotime( apply_filters( 'wd_tweaks_notification_interval', '+7 days' ), apply_filters( 'wd_tweaks_last_action_time', $settings->last_seen ) ) > time() ) {
98
+ return;
99
+ }
100
+
101
+ $canSend = true;
102
  }
103
 
104
+ if ( ! $canSend ) {
105
  return;
106
  }
107
+
108
  $settings->refreshStatus();
109
  $tweaks = $settings->getIssues();
110
 
111
+ if ( ! count( $tweaks ) ) {
 
 
112
  return;
113
  }
114
+
115
  $no_reply_email = "noreply@" . parse_url( get_site_url(), PHP_URL_HOST );
116
  $no_reply_email = apply_filters( 'wd_scan_noreply_email', $no_reply_email );
117
  $headers = array(
121
 
122
  $subject = _n( 'Security Tweak Report for %s. %s tweak needs attention.', 'Security Tweak Report for %s. %s tweaks needs attention.', count( $tweaks ), "defender-security" );
123
  $subject = sprintf( $subject, network_site_url(), count( $tweaks ) );
 
 
 
 
 
 
 
 
 
 
 
 
 
124
 
125
+ foreach ( $settings->receipts as $receipt ) {
126
+ $email = $receipt['email'];
127
+ $ret = wp_mail( $email, $subject, $this->prepareEmailContent( $receipt['first_name'], $email ), $headers );
 
 
 
 
128
  }
129
+ $settings->last_sent = time();
130
+ $settings->save();
131
  }
132
 
133
  private function prepareEmailContent( $firstName, $email = null ) {
app/module/hardener/controller/rest.php CHANGED
@@ -71,7 +71,7 @@ class Rest extends Controller {
71
  $url = WP_Helper::getUploadUrl();
72
  $url = $url . '/wp-defender/index.php';
73
  } else {
74
- $url = wp_defender()->getPluginUrl() . 'changelog.txt';
75
  }
76
  $model = Settings::instance();
77
  $cache = $model->getDValues( 'head_requests' );
71
  $url = WP_Helper::getUploadUrl();
72
  $url = $url . '/wp-defender/index.php';
73
  } else {
74
+ $url = wp_defender()->getPluginUrl() . 'languages/wpdef-default.pot';
75
  }
76
  $model = Settings::instance();
77
  $cache = $model->getDValues( 'head_requests' );
app/module/hardener/model/settings.php CHANGED
@@ -152,7 +152,6 @@ class Settings extends \Hammer\WP\Settings {
152
  }
153
  }
154
  $this->active_server = Utils::instance()->determineServer();
155
- $this->active_server = Utils::instance()->determineServer();
156
  parent::__construct( $id, $is_multi );
157
  $this->notification = ! ! $this->notification;
158
  if ( ! is_array( $this->receipts ) ) {
@@ -501,4 +500,13 @@ class Settings extends \Hammer\WP\Settings {
501
 
502
  return $labels;
503
  }
 
 
 
 
 
 
 
 
 
504
  }
152
  }
153
  }
154
  $this->active_server = Utils::instance()->determineServer();
 
155
  parent::__construct( $id, $is_multi );
156
  $this->notification = ! ! $this->notification;
157
  if ( ! is_array( $this->receipts ) ) {
500
 
501
  return $labels;
502
  }
503
+
504
+ public function resolve( $rules ) {
505
+ if ( $rules == true ) {
506
+ $rules = $this->getDefinedRules( true );
507
+ }
508
+ foreach ( $rules as $key => $rule ) {
509
+ $rule->process();
510
+ }
511
+ }
512
  }
app/module/hardener/rule-service.php CHANGED
@@ -100,7 +100,7 @@ class Rule_Service extends Component {
100
  $cache = $cached[ $url ];
101
  if ( $cache['ttl'] > time() ) {
102
  //we'll use the cache
103
- Utils::instance()->log( sprintf( 'Header for %s return from cached', $url ) );
104
 
105
  return $cache['data'];
106
  }
100
  $cache = $cached[ $url ];
101
  if ( $cache['ttl'] > time() ) {
102
  //we'll use the cache
103
+ //Utils::instance()->log( sprintf( 'Header for %s return from cached', $url ) );
104
 
105
  return $cache['data'];
106
  }
app/module/ip-lockout/component/notfound-listener.php CHANGED
@@ -17,34 +17,34 @@ class Notfound_Listener extends Controller {
17
  $this->addAction( 'template_redirect', 'record404' );
18
  }
19
  }
20
-
21
  public function record404() {
22
  if ( ! is_404() ) {
23
  return;
24
  }
25
-
26
  if ( is_user_logged_in() && current_user_can( 'edit_posts' ) ) {
27
  //only track subscriber
28
  return;
29
  }
30
-
31
  //now check if this from google
32
  if ( Login_Protection_Api::isGoogleUA() && Login_Protection_Api::isGoogleIP( Utils::instance()->getUserIp() ) ) {
33
  return;
34
  }
35
-
36
  //or bing
37
  if ( Login_Protection_Api::isBingUA() && Login_Protection_Api::isBingIP( Utils::instance()->getUserIp() ) ) {
38
  return;
39
  }
40
-
41
  $settings = Settings::instance();
42
  if ( $settings->detect_404_logged == false && is_user_logged_in() ) {
43
  return;
44
  }
45
-
46
  $uri = $_SERVER['REQUEST_URI'];
47
-
48
  /**
49
  * Priorities
50
  * - Whitelist
@@ -55,12 +55,12 @@ class Notfound_Listener extends Controller {
55
  * files & folders
56
  * - attemps inside a window
57
  */
58
-
59
  $ext = pathinfo( $uri, PATHINFO_EXTENSION );
60
  if ( in_array( '.' . $ext, $settings->getDetect404IgnoredFiletypes() ) ) {
61
  //ext is whitelist, log and return
62
  $this->log( $uri, Log_Model::ERROR_404_IGNORE, sprintf( __( "Request for file %s which doesn't exist", "defender-security" ), $uri ) );
63
-
64
  return;
65
  }
66
  foreach ( $settings->get404Whitelist() as $pattern ) {
@@ -75,16 +75,16 @@ class Notfound_Listener extends Controller {
75
  //block it
76
  $this->lock( $model, 'blacklist', $uri );
77
  $this->log( $uri, Log_Model::LOCKOUT_404, sprintf( __( "Lockout occurred: Too many 404 requests for %s" ) ) );
78
-
79
  return;
80
  }
81
-
82
  foreach ( $settings->getDetect404Blacklist() as $pattern ) {
83
  $pattern = preg_quote( $pattern, '/' );
84
  if ( preg_match( '/' . $pattern . '$/', $uri ) ) {
85
  $this->lock( $model, 'blacklist', $uri );
86
  $this->log( $uri, Log_Model::LOCKOUT_404, sprintf( __( "Lockout occurred: Too many 404 requests for %s" ) ) );
87
-
88
  return;
89
  }
90
  }
@@ -99,21 +99,24 @@ class Notfound_Listener extends Controller {
99
  'type' => Log_Model::ERROR_404,
100
  'date' => [ 'compare' => '>', 'value' => $window ]
101
  ] );
102
-
103
  if ( $attempts > $settings->detect_404_threshold ) {
104
  //lock it
105
- $this->lock( $model, $uri );
106
  $this->log( $uri, Log_Model::LOCKOUT_404, sprintf( __( "Lockout occurred: Too many 404 requests for %s" ), $uri ) );
107
  }
108
  }
109
-
110
  /**
111
  * @param IP_Model $model
112
  * @param $scenario
113
  * @param $uri
114
  */
115
  private function lock( IP_Model $model, $scenario = 'normal', $uri = '' ) {
116
- $settings = Settings::instance();
 
 
 
117
  $model->status = IP_Model::STATUS_BLOCKED;
118
  $model->lock_time = time();
119
  if ( $scenario == 'blacklist' ) {
@@ -127,11 +130,11 @@ class Notfound_Listener extends Controller {
127
  $settings->addIpToList( $model->ip, 'blacklist' );
128
  }
129
  $model->lock_time = time();
130
-
131
  do_action( 'wd_404_lockout', $model, $scenario );
132
  $this->email( $model, $uri );
133
  }
134
-
135
  /**
136
  * @param $uri
137
  * @param $scenario
@@ -146,17 +149,21 @@ class Notfound_Listener extends Controller {
146
  $log->tried = $uri;
147
  $log->save();
148
  }
149
-
150
  /**
151
  * @param IP_Model $model
152
  * @param $uri
153
  */
154
  private function email( IP_Model $model, $uri ) {
155
  $settings = Settings::instance();
 
156
  if ( ! Login_Protection_Api::maybeSendNotification( '404', $model, $settings ) ) {
157
  return;
158
  }
 
159
  $isBlacklisted = $settings->isBlacklist( $model->ip );
 
 
160
  foreach ( $settings->receipts as $item ) {
161
  $content = $this->renderPartial( $isBlacklisted == true ? 'emails/404-ban' : 'emails/404-lockout', array(
162
  'admin' => $item['first_name'],
@@ -169,7 +176,8 @@ class Notfound_Listener extends Controller {
169
  'From: Defender <' . $no_reply_email . '>',
170
  'Content-Type: text/html; charset=UTF-8'
171
  );
172
- wp_mail( $item['email'], sprintf( __( "404 lockout alert for %s", "defender-security" ), network_site_url() ), $content, $headers );
 
173
  }
174
  }
175
  }
17
  $this->addAction( 'template_redirect', 'record404' );
18
  }
19
  }
20
+
21
  public function record404() {
22
  if ( ! is_404() ) {
23
  return;
24
  }
25
+
26
  if ( is_user_logged_in() && current_user_can( 'edit_posts' ) ) {
27
  //only track subscriber
28
  return;
29
  }
30
+
31
  //now check if this from google
32
  if ( Login_Protection_Api::isGoogleUA() && Login_Protection_Api::isGoogleIP( Utils::instance()->getUserIp() ) ) {
33
  return;
34
  }
35
+
36
  //or bing
37
  if ( Login_Protection_Api::isBingUA() && Login_Protection_Api::isBingIP( Utils::instance()->getUserIp() ) ) {
38
  return;
39
  }
40
+
41
  $settings = Settings::instance();
42
  if ( $settings->detect_404_logged == false && is_user_logged_in() ) {
43
  return;
44
  }
45
+
46
  $uri = $_SERVER['REQUEST_URI'];
47
+
48
  /**
49
  * Priorities
50
  * - Whitelist
55
  * files & folders
56
  * - attemps inside a window
57
  */
58
+
59
  $ext = pathinfo( $uri, PATHINFO_EXTENSION );
60
  if ( in_array( '.' . $ext, $settings->getDetect404IgnoredFiletypes() ) ) {
61
  //ext is whitelist, log and return
62
  $this->log( $uri, Log_Model::ERROR_404_IGNORE, sprintf( __( "Request for file %s which doesn't exist", "defender-security" ), $uri ) );
63
+
64
  return;
65
  }
66
  foreach ( $settings->get404Whitelist() as $pattern ) {
75
  //block it
76
  $this->lock( $model, 'blacklist', $uri );
77
  $this->log( $uri, Log_Model::LOCKOUT_404, sprintf( __( "Lockout occurred: Too many 404 requests for %s" ) ) );
78
+
79
  return;
80
  }
81
+
82
  foreach ( $settings->getDetect404Blacklist() as $pattern ) {
83
  $pattern = preg_quote( $pattern, '/' );
84
  if ( preg_match( '/' . $pattern . '$/', $uri ) ) {
85
  $this->lock( $model, 'blacklist', $uri );
86
  $this->log( $uri, Log_Model::LOCKOUT_404, sprintf( __( "Lockout occurred: Too many 404 requests for %s" ) ) );
87
+
88
  return;
89
  }
90
  }
99
  'type' => Log_Model::ERROR_404,
100
  'date' => [ 'compare' => '>', 'value' => $window ]
101
  ] );
102
+
103
  if ( $attempts > $settings->detect_404_threshold ) {
104
  //lock it
105
+ $this->lock( $model, 'normal', $uri );
106
  $this->log( $uri, Log_Model::LOCKOUT_404, sprintf( __( "Lockout occurred: Too many 404 requests for %s" ), $uri ) );
107
  }
108
  }
109
+
110
  /**
111
  * @param IP_Model $model
112
  * @param $scenario
113
  * @param $uri
114
  */
115
  private function lock( IP_Model $model, $scenario = 'normal', $uri = '' ) {
116
+ $settings = Settings::instance();
117
+ if ( $settings->detect_404_lockout_ban == true ) {
118
+ $scenario = 'blacklist';
119
+ }
120
  $model->status = IP_Model::STATUS_BLOCKED;
121
  $model->lock_time = time();
122
  if ( $scenario == 'blacklist' ) {
130
  $settings->addIpToList( $model->ip, 'blacklist' );
131
  }
132
  $model->lock_time = time();
133
+
134
  do_action( 'wd_404_lockout', $model, $scenario );
135
  $this->email( $model, $uri );
136
  }
137
+
138
  /**
139
  * @param $uri
140
  * @param $scenario
149
  $log->tried = $uri;
150
  $log->save();
151
  }
152
+
153
  /**
154
  * @param IP_Model $model
155
  * @param $uri
156
  */
157
  private function email( IP_Model $model, $uri ) {
158
  $settings = Settings::instance();
159
+ Utils::instance()->log( 'Check to send 404 notification' );
160
  if ( ! Login_Protection_Api::maybeSendNotification( '404', $model, $settings ) ) {
161
  return;
162
  }
163
+ Utils::instance()->log( 'Allow to send 404 notification' );
164
  $isBlacklisted = $settings->isBlacklist( $model->ip );
165
+ Utils::instance()->log( sprintf( 'Recipients %d', count( $settings->receipts ) ) );
166
+ Utils::instance()->log( $uri );
167
  foreach ( $settings->receipts as $item ) {
168
  $content = $this->renderPartial( $isBlacklisted == true ? 'emails/404-ban' : 'emails/404-lockout', array(
169
  'admin' => $item['first_name'],
176
  'From: Defender <' . $no_reply_email . '>',
177
  'Content-Type: text/html; charset=UTF-8'
178
  );
179
+ $ret = wp_mail( $item['email'], sprintf( __( "404 lockout alert for %s", "defender-security" ), network_site_url() ), $content, $headers );
180
+ Utils::instance()->log( sprintf( 'Mail send result :%s', var_export( $ret, true ) ) );
181
  }
182
  }
183
  }
app/module/ip-lockout/controller/main.php CHANGED
@@ -6,6 +6,7 @@
6
  namespace WP_Defender\Module\IP_Lockout\Controller;
7
 
8
  use Hammer\Helper\HTTP_Helper;
 
9
  use WP_Defender\Behavior\Utils;
10
  use WP_Defender\Controller;
11
  use WP_Defender\Module\IP_Lockout\Component\IP_API;
@@ -172,12 +173,24 @@ class Main extends Controller {
172
  die;
173
  }
174
 
175
- $ip = $this->getUserIp();
176
- $arr = $this->defaultWhiteListIps();
 
 
 
 
 
 
 
 
 
 
 
177
 
178
  if ( in_array( $ip, $arr ) ) {
179
  return;
180
  }
 
181
  if ( $settings->isWhitelist( $ip ) ) {
182
  return;
183
  } elseif ( $settings->isBlacklist( $ip ) ) {
@@ -223,6 +236,20 @@ class Main extends Controller {
223
  }
224
  }
225
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
226
  /**
227
  * cron for delete old log
228
  */
@@ -242,6 +269,7 @@ class Main extends Controller {
242
  * @param Log_Model $log
243
  */
244
  public function updateIpStats( Log_Model $log ) {
 
245
  if ( $log->type == Log_Model::AUTH_FAIL ) {
246
  Login_Protection_Api::maybeLock( $log );
247
  } elseif ( $log->type == Log_Model::ERROR_404 ) {
6
  namespace WP_Defender\Module\IP_Lockout\Controller;
7
 
8
  use Hammer\Helper\HTTP_Helper;
9
+ use Hammer\Helper\WP_Helper;
10
  use WP_Defender\Behavior\Utils;
11
  use WP_Defender\Controller;
12
  use WP_Defender\Module\IP_Lockout\Component\IP_API;
173
  die;
174
  }
175
 
176
+ $ip = $this->getUserIp();
177
+ $arr = $this->defaultWhiteListIps();
178
+ $cache = WP_Helper::getCache();
179
+ $temp_whitelist = $cache->get( 'staff_ips', [] );
180
+ if ( $this->listenToStaffAccess() ) {
181
+ //tmp whitelist this ip till the access end
182
+ $temp_whitelist[] = $ip;
183
+ $temp_whitelist = array_unique( $temp_whitelist );
184
+ $temp_whitelist = array_filter( $temp_whitelist );
185
+ $cache->set( 'staff_ips', $temp_whitelist, DAY_IN_SECONDS );
186
+ Utils::instance()->log( sprintf( 'Temporary whitelist ip %s', $ip ), 'lockout' );
187
+ }
188
+ $arr = array_merge( $arr, $temp_whitelist );
189
 
190
  if ( in_array( $ip, $arr ) ) {
191
  return;
192
  }
193
+
194
  if ( $settings->isWhitelist( $ip ) ) {
195
  return;
196
  } elseif ( $settings->isBlacklist( $ip ) ) {
236
  }
237
  }
238
 
239
+ public function listenToStaffAccess() {
240
+ if ( defined( 'WPMUDEV_DISABLE_REMOTE_ACCESS' ) && constant( 'WPMUDEV_DISABLE_REMOTE_ACCESS' ) == true ) {
241
+ return false;
242
+ }
243
+ if ( class_exists( 'WPMUDEV_Dashboard' ) && Utils::instance()->getAPIKey() && isset( $_REQUEST['wdpunkey'] ) ) {
244
+ $access = \WPMUDEV_Dashboard::$site->get_option( 'remote_access' );
245
+ Utils::instance()->log( var_export( $access, true ), 'settings' );
246
+
247
+ return hash_equals( $_REQUEST['wdpunkey'], $access['key'] );
248
+ }
249
+
250
+ return false;
251
+ }
252
+
253
  /**
254
  * cron for delete old log
255
  */
269
  * @param Log_Model $log
270
  */
271
  public function updateIpStats( Log_Model $log ) {
272
+
273
  if ( $log->type == Log_Model::AUTH_FAIL ) {
274
  Login_Protection_Api::maybeLock( $log );
275
  } elseif ( $log->type == Log_Model::ERROR_404 ) {
app/module/ip-lockout/controller/rest.php CHANGED
@@ -290,8 +290,10 @@ class Rest extends Controller {
290
  return;
291
  }
292
 
293
- $url = "http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz";
294
- $tmp = download_url( $url );
 
 
295
  if ( ! is_wp_error( $tmp ) ) {
296
  $phar = new \PharData( $tmp );
297
  $defPath = Utils::instance()->getDefUploadDir();
@@ -306,6 +308,10 @@ class Rest extends Controller {
306
  wp_send_json_success( array(
307
  'message' => __( "Database downloaded", "defender-security" )
308
  ) );
 
 
 
 
309
  }
310
  }
311
 
@@ -379,6 +385,9 @@ class Rest extends Controller {
379
  $behaviors = array(
380
  'utils' => '\WP_Defender\Behavior\Utils',
381
  );
 
 
 
382
 
383
  return $behaviors;
384
  }
290
  return;
291
  }
292
 
293
+ $license_key = HTTP_Helper::retrievePost( 'api_key' );
294
+ $license_key = sanitize_text_field( $license_key );
295
+ $url = "https://download.maxmind.com/app/geoip_download?edition_id=GeoLite2-Country&license_key=$license_key&suffix=tar.gz";
296
+ $tmp = download_url( $url );
297
  if ( ! is_wp_error( $tmp ) ) {
298
  $phar = new \PharData( $tmp );
299
  $defPath = Utils::instance()->getDefUploadDir();
308
  wp_send_json_success( array(
309
  'message' => __( "Database downloaded", "defender-security" )
310
  ) );
311
+ } else {
312
+ wp_send_json_error( [
313
+ 'message' => $tmp->get_error_message()
314
+ ] );
315
  }
316
  }
317
 
385
  $behaviors = array(
386
  'utils' => '\WP_Defender\Behavior\Utils',
387
  );
388
+ if ( class_exists( 'WP_Defender\Module\IP_Lockout\Behavior\Pro\Reporting' ) ) {
389
+ $behaviors['report'] = 'WP_Defender\Module\IP_Lockout\Behavior\Pro\Reporting';
390
+ }
391
 
392
  return $behaviors;
393
  }
app/module/ip-lockout/model/settings.php CHANGED
@@ -670,9 +670,9 @@ class Settings extends \Hammer\WP\Settings {
670
  'ip_whitelist' => __( "IP Addresses: Whitelist", "defender-security" ),
671
  'country_blacklist' => __( "Country: Blacklist", "defender-security" ),
672
  'country_whitelist' => __( "Country: Whitelist", "defender-security" ),
673
- 'ip_lockout_message' => __( "Country: Blacklist", "defender-security" ),
674
  'login_lockout_notification' => __( "Email Notifications: Login Protection Lockout", "defender-security" ),
675
- 'ip_lockout_notification' => __( "Email Notifications: Login Protection Lockout", "defender-security" ),
676
  'receipts' => __( "Recipients for notification", "defender-security" ),
677
  'cooldown_enabled' => __( "Repeat Lockouts", "defender-security" ),
678
  'cooldown_number_lockout' => __( "Threshold", "defender-security" ),
670
  'ip_whitelist' => __( "IP Addresses: Whitelist", "defender-security" ),
671
  'country_blacklist' => __( "Country: Blacklist", "defender-security" ),
672
  'country_whitelist' => __( "Country: Whitelist", "defender-security" ),
673
+ 'ip_lockout_message' => __( "Lockout message", "defender-security" ),
674
  'login_lockout_notification' => __( "Email Notifications: Login Protection Lockout", "defender-security" ),
675
+ 'ip_lockout_notification' => __( "Email Notifications: 404 Protection Lockout", "defender-security" ),
676
  'receipts' => __( "Recipients for notification", "defender-security" ),
677
  'cooldown_enabled' => __( "Repeat Lockouts", "defender-security" ),
678
  'cooldown_number_lockout' => __( "Threshold", "defender-security" ),
app/module/ip-lockout/view/emails/404-ban.php CHANGED
@@ -585,7 +585,7 @@
585
  <th class="small-12 large-8 columns first copy" align="center"
586
  style="Margin: 0 auto; color: #707070; font-family: Helvetica, Arial, sans-serif; font-size: 12px; font-weight: normal; line-height: 20px; margin: 0 auto; padding: 0; padding-bottom: 0; padding-left: 0; padding-right: 0; text-align: left; width: 394.66667px;">
587
  <p style="Margin: 0; Margin-bottom: 0; color: #707070; font-family: Helvetica, Arial, sans-serif; font-size: 12px; font-weight: normal; line-height: 20px; margin: 0; margin-bottom: 0; padding: 0; text-align: center;">
588
- <?php printf( __( "<a href=\"%s\">Configure reporting preferences</a>", "defender-security" ), apply_filters( 'wp_defeder/iplockout/email_report_link', network_admin_url( "admin.php?page=wdf-ip-lockout&view=reporting" ) ) ) ?>
589
  </p>
590
  </th>
591
  </tr>
585
  <th class="small-12 large-8 columns first copy" align="center"
586
  style="Margin: 0 auto; color: #707070; font-family: Helvetica, Arial, sans-serif; font-size: 12px; font-weight: normal; line-height: 20px; margin: 0 auto; padding: 0; padding-bottom: 0; padding-left: 0; padding-right: 0; text-align: left; width: 394.66667px;">
587
  <p style="Margin: 0; Margin-bottom: 0; color: #707070; font-family: Helvetica, Arial, sans-serif; font-size: 12px; font-weight: normal; line-height: 20px; margin: 0; margin-bottom: 0; padding: 0; text-align: center;">
588
+ <?php printf( __( "<a href=\"%s\">Configure reporting preferences</a>", "defender-security" ), apply_filters( 'wp_defeder/iplockout/email_report_link', network_admin_url( "admin.php?page=wdf-ip-lockout&view=notification" ) ) ) ?>
589
  </p>
590
  </th>
591
  </tr>
app/module/ip-lockout/view/emails/404-lockout.php CHANGED
@@ -2,692 +2,695 @@
2
  <html xmlns="http://www.w3.org/1999/xhtml">
3
 
4
  <head>
5
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
6
- <meta name="viewport" content="width=device-width">
7
- <title><?php _e( "New 404 Lockout", "defender-security" ) ?></title>
8
- <style>
9
- a.plugin-brand:hover {
10
- color: #e23717 !important;
11
- }
12
-
13
- table.top-content td a:hover {
14
- color: #ff5c28 !important;
15
- }
16
- </style>
17
  </head>
18
 
19
  <body
20
- style="-moz-box-sizing: border-box; -ms-text-size-adjust: 100%; -webkit-box-sizing: border-box; -webkit-text-size-adjust: 100%; Margin: 0; background-color: #e9ebe7; box-sizing: border-box; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; line-height: 26px; margin: 0; min-width: 100%; padding: 0; text-align: left; width: 100% !important;">
21
  <style>
22
- @media only screen {
23
- html {
24
- min-height: 100%;
25
- background: #f3f3f3;
26
- }
27
- }
28
-
29
- @media only screen and (max-width: 596px) {
30
- .small-float-center {
31
- margin: 0 auto !important;
32
- float: none !important;
33
- text-align: center !important;
34
- }
35
-
36
- .small-text-center {
37
- text-align: center !important;
38
- }
39
-
40
- .small-text-left {
41
- text-align: left !important;
42
- }
43
-
44
- .small-text-right {
45
- text-align: right !important;
46
- }
47
- }
48
-
49
- @media only screen and (max-width: 596px) {
50
- .hide-for-large {
51
- display: block !important;
52
- width: auto !important;
53
- overflow: visible !important;
54
- max-height: none !important;
55
- font-size: inherit !important;
56
- line-height: inherit !important;
57
- }
58
- }
59
-
60
- @media only screen and (max-width: 596px) {
61
- table.body table.container .hide-for-large,
62
- table.body table.container .row.hide-for-large {
63
- display: table !important;
64
- width: 100% !important;
65
- }
66
- }
67
-
68
- @media only screen and (max-width: 596px) {
69
- table.body table.container .callout-inner.hide-for-large {
70
- display: table-cell !important;
71
- width: 100% !important;
72
- }
73
- }
74
-
75
- @media only screen and (max-width: 596px) {
76
- table.body table.container .show-for-large {
77
- display: none !important;
78
- width: 0;
79
- mso-hide: all;
80
- overflow: hidden;
81
- }
82
- }
83
-
84
- @media only screen and (max-width: 596px) {
85
- table.body img {
86
- width: auto;
87
- height: auto;
88
- }
89
-
90
- table.body center {
91
- min-width: 0 !important;
92
- }
93
-
94
- table.body .container {
95
- width: 95% !important;
96
- }
97
-
98
- table.body .columns,
99
- table.body .column {
100
- height: auto !important;
101
- -moz-box-sizing: border-box;
102
- -webkit-box-sizing: border-box;
103
- box-sizing: border-box;
104
- padding-left: 16px !important;
105
- padding-right: 16px !important;
106
- }
107
-
108
- table.body .columns .column,
109
- table.body .columns .columns,
110
- table.body .column .column,
111
- table.body .column .columns {
112
- padding-left: 0 !important;
113
- padding-right: 0 !important;
114
- }
115
-
116
- table.body .collapse .columns,
117
- table.body .collapse .column {
118
- padding-left: 0 !important;
119
- padding-right: 0 !important;
120
- }
121
-
122
- td.small-1,
123
- th.small-1 {
124
- display: inline-block !important;
125
- width: 8.33333% !important;
126
- }
127
-
128
- td.small-2,
129
- th.small-2 {
130
- display: inline-block !important;
131
- width: 16.66667% !important;
132
- }
133
-
134
- td.small-3,
135
- th.small-3 {
136
- display: inline-block !important;
137
- width: 25% !important;
138
- }
139
-
140
- td.small-4,
141
- th.small-4 {
142
- display: inline-block !important;
143
- width: 33.33333% !important;
144
- }
145
-
146
- td.small-5,
147
- th.small-5 {
148
- display: inline-block !important;
149
- width: 41.66667% !important;
150
- }
151
-
152
- td.small-6,
153
- th.small-6 {
154
- display: inline-block !important;
155
- width: 50% !important;
156
- }
157
-
158
- td.small-7,
159
- th.small-7 {
160
- display: inline-block !important;
161
- width: 58.33333% !important;
162
- }
163
-
164
- td.small-8,
165
- th.small-8 {
166
- display: inline-block !important;
167
- width: 66.66667% !important;
168
- }
169
-
170
- td.small-9,
171
- th.small-9 {
172
- display: inline-block !important;
173
- width: 75% !important;
174
- }
175
-
176
- td.small-10,
177
- th.small-10 {
178
- display: inline-block !important;
179
- width: 83.33333% !important;
180
- }
181
-
182
- td.small-11,
183
- th.small-11 {
184
- display: inline-block !important;
185
- width: 91.66667% !important;
186
- }
187
-
188
- td.small-12,
189
- th.small-12 {
190
- display: inline-block !important;
191
- width: 100% !important;
192
- }
193
-
194
- .columns td.small-12,
195
- .column td.small-12,
196
- .columns th.small-12,
197
- .column th.small-12 {
198
- display: block !important;
199
- width: 100% !important;
200
- }
201
-
202
- table.body td.small-offset-1,
203
- table.body th.small-offset-1 {
204
- margin-left: 8.33333% !important;
205
- Margin-left: 8.33333% !important;
206
- }
207
-
208
- table.body td.small-offset-2,
209
- table.body th.small-offset-2 {
210
- margin-left: 16.66667% !important;
211
- Margin-left: 16.66667% !important;
212
- }
213
-
214
- table.body td.small-offset-3,
215
- table.body th.small-offset-3 {
216
- margin-left: 25% !important;
217
- Margin-left: 25% !important;
218
- }
219
-
220
- table.body td.small-offset-4,
221
- table.body th.small-offset-4 {
222
- margin-left: 33.33333% !important;
223
- Margin-left: 33.33333% !important;
224
- }
225
-
226
- table.body td.small-offset-5,
227
- table.body th.small-offset-5 {
228
- margin-left: 41.66667% !important;
229
- Margin-left: 41.66667% !important;
230
- }
231
-
232
- table.body td.small-offset-6,
233
- table.body th.small-offset-6 {
234
- margin-left: 50% !important;
235
- Margin-left: 50% !important;
236
- }
237
-
238
- table.body td.small-offset-7,
239
- table.body th.small-offset-7 {
240
- margin-left: 58.33333% !important;
241
- Margin-left: 58.33333% !important;
242
- }
243
-
244
- table.body td.small-offset-8,
245
- table.body th.small-offset-8 {
246
- margin-left: 66.66667% !important;
247
- Margin-left: 66.66667% !important;
248
- }
249
-
250
- table.body td.small-offset-9,
251
- table.body th.small-offset-9 {
252
- margin-left: 75% !important;
253
- Margin-left: 75% !important;
254
- }
255
-
256
- table.body td.small-offset-10,
257
- table.body th.small-offset-10 {
258
- margin-left: 83.33333% !important;
259
- Margin-left: 83.33333% !important;
260
- }
261
-
262
- table.body td.small-offset-11,
263
- table.body th.small-offset-11 {
264
- margin-left: 91.66667% !important;
265
- Margin-left: 91.66667% !important;
266
- }
267
-
268
- table.body table.columns td.expander,
269
- table.body table.columns th.expander {
270
- display: none !important;
271
- }
272
-
273
- table.body .right-text-pad,
274
- table.body .text-pad-right {
275
- padding-left: 10px !important;
276
- }
277
-
278
- table.body .left-text-pad,
279
- table.body .text-pad-left {
280
- padding-right: 10px !important;
281
- }
282
-
283
- table.menu {
284
- width: 100% !important;
285
- }
286
-
287
- table.menu td,
288
- table.menu th {
289
- width: auto !important;
290
- display: inline-block !important;
291
- }
292
-
293
- table.menu.vertical td,
294
- table.menu.vertical th,
295
- table.menu.small-vertical td,
296
- table.menu.small-vertical th {
297
- display: block !important;
298
- }
299
-
300
- table.menu[align="center"] {
301
- width: auto !important;
302
- }
303
-
304
- table.button.small-expand,
305
- table.button.small-expanded {
306
- width: 100% !important;
307
- }
308
-
309
- table.button.small-expand table,
310
- table.button.small-expanded table {
311
- width: 100%;
312
- }
313
-
314
- table.button.small-expand table a,
315
- table.button.small-expanded table a {
316
- text-align: center !important;
317
- width: 100% !important;
318
- padding-left: 0 !important;
319
- padding-right: 0 !important;
320
- }
321
-
322
- table.button.small-expand center,
323
- table.button.small-expanded center {
324
- min-width: 0;
325
- }
326
- }
327
-
328
- @media screen and (max-width: 596px) {
329
- /* results list */
330
- table.results-list thead th {
331
- line-height: 34px !important;
332
- }
333
-
334
- /* top */
335
- table.top-content td {
336
- text-align: center !important;
337
- }
338
-
339
- /* related */
340
- table.related table.related-items .columns {
341
- padding-right: 0 !important;
342
- padding-bottom: 15px !important;
343
- padding-left: 0 !important;
344
- }
345
-
346
- table.related table.related-items .columns.last {
347
- padding-bottom: 0 !important;
348
- }
349
-
350
- table.related a.related-item .plugin-info {
351
- vertical-align: middle !important;
352
- }
353
-
354
- /* company info */
355
- table.company-info .columns {
356
- padding-right: 0 !important;
357
- padding-left: 0 !important;
358
- }
359
-
360
- table.company-info .columns.last {
361
- padding: 15px 0 0 !important;
362
- }
363
-
364
- table.company-info .logo,
365
- table.company-info .logo-link,
366
- table.company-info .logo img {
367
- text-align: left !important;
368
- }
369
- }
370
-
371
- @media screen and (max-width: 540px) {
372
- /* hero */
373
- table.hero table.hero-content {
374
- width: 100%;
375
- }
376
-
377
- table.hero td.hero-title h1,
378
- table.hero td.hero-title h2 {
379
- padding: 0 !important;
380
- text-align: center !important;
381
- }
382
-
383
- table.hero td.hero-image {
384
- display: none;
385
- }
386
- }
387
  </style>
388
 
389
  <table class="body"
390
  style="Margin: 0; background: #f3f3f3; background-color: #e9ebe7; border-collapse: collapse; border-spacing: 0; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; height: 100%; line-height: 26px; margin: 0; padding: 0; text-align: left; vertical-align: top; width: 100%;">
391
- <tbody>
392
- <tr style="padding: 0; text-align: left; vertical-align: top;">
393
- <td class="center" align="center" valign="top"
394
- style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; hyphens: auto; line-height: 26px; margin: 0; padding: 0; text-align: left; vertical-align: top; word-wrap: break-word;">
395
-
396
- <center style="min-width: 600px; width: 100%;">
397
-
398
- <table class="container"
399
- style="Margin: 0 auto; background: #fefefe; background-color: #fff; border-collapse: collapse; border-spacing: 0; margin: 0 auto; padding: 0; text-align: inherit; vertical-align: top; width: 600px;">
400
- <tbody>
401
- <tr style="padding: 0; text-align: left; vertical-align: top;">
402
- <td style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; hyphens: auto; line-height: 26px; margin: 0; padding: 0; text-align: left; vertical-align: top; word-wrap: break-word;">
403
- <table class="wrapper hero" align="left"
404
- style="background-color: #e9ebe7; border-collapse: collapse; border-spacing: 0; padding: 0; text-align: left; vertical-align: top; width: 100%;">
405
- <tbody>
406
- <tr style="padding: 0; text-align: left; vertical-align: top;">
407
- <td class="wrapper-inner hero-inner"
408
- style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; hyphens: auto; line-height: 26px; margin: 0; padding: 20px 0 0; text-align: left; vertical-align: top; word-wrap: break-word;">
409
-
410
- <table class="hero-content" align="left"
411
- style="border-collapse: collapse; border-spacing: 0; padding: 0; text-align: left; vertical-align: top;">
412
- <tbody>
413
- <tr style="padding: 0; text-align: left; vertical-align: top;">
414
- <td class="hero-title"
415
- style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; hyphens: auto; line-height: 26px; margin: 0; padding: 0; padding-bottom: 18px; text-align: left; vertical-align: bottom; word-wrap: break-word;">
416
- <h2 style="Margin: 0; Margin-bottom: 0; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 30px; font-weight: 700; line-height: 1em; margin: 0; margin-bottom: 0; padding: 0; padding-left: 9px; text-align: left; text-transform: uppercase; word-wrap: normal;">
417
  <?php esc_html_e( "Protected By", "defender-security" ) ?></h2>
418
- <h1 class="plugin-brand"
419
- style="Margin: 0; Margin-bottom: 0; color: #ff5c28; font-family: Helvetica, Arial, sans-serif; font-size: 60px; font-weight: 700; line-height: 1em; margin: 0; margin-bottom: 0; padding: 0; padding-left: 6px; text-align: left; text-transform: uppercase; word-wrap: normal;">
420
  <?php esc_html_e( "Defender!", "defender-security" ) ?></h1>
421
- </td>
422
- <td class="hero-image"
423
- style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; hyphens: auto; line-height: 26px; margin: 0; padding: 0; text-align: left; vertical-align: top; word-wrap: break-word;">
424
- <a href="https://premium.wpmudev.org/"
425
- style="Margin: 0; color: #555555; font-family: Helvetica, Arial, sans-serif; font-weight: normal; line-height: 1.3; margin: 0; padding: 0; text-align: left; text-decoration: none;"><img
426
- src="<?php echo wp_defender()->getPluginUrl() ?>assets/email-images/hero-defender.png"
427
- alt="Defender"
428
- style="-ms-interpolation-mode: bicubic; border: none; clear: both; display: block; max-width: 100%; outline: none; text-decoration: none; width: auto;"></a>
429
- </td>
430
- </tr>
431
- </tbody>
432
- </table>
433
- <!-- end hero-content -->
434
-
435
- </td>
436
- </tr>
437
- </tbody>
438
- </table>
439
- <!-- end hero -->
440
-
441
- <table class="wrapper main" align="center"
442
- style="border-collapse: collapse; border-spacing: 0; padding: 0; text-align: left; vertical-align: top; width: 100%;">
443
- <tbody>
444
- <tr style="padding: 0; text-align: left; vertical-align: top;">
445
- <td class="wrapper-inner main-inner"
446
- style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; hyphens: auto; line-height: 26px; margin: 0; padding: 40px; text-align: left; vertical-align: top; word-wrap: break-word;">
447
-
448
- <table class="main-intro"
449
- style="border-collapse: collapse; border-spacing: 0; padding: 0; text-align: left; vertical-align: top;">
450
- <tbody>
451
- <tr style="padding: 0; text-align: left; vertical-align: top;">
452
- <td class="main-intro-content"
453
- style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; hyphens: auto; line-height: 26px; margin: 0; padding: 0; text-align: left; vertical-align: top; word-wrap: break-word;">
454
- <h3 style="Margin: 0; Margin-bottom: 0; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 32px; font-weight: normal; line-height: 32px; margin: 0; margin-bottom: 0; padding: 0 0 28px; text-align: left; word-wrap: normal;">
455
  <?php printf( __( "Hi %s", "defender-security" ), $admin ) ?>
456
- ,</h3>
457
  <?php $setting = \WP_Defender\Module\IP_Lockout\Model\Settings::instance() ?>
458
  <?php $utils = \WP_Defender\Behavior\Utils::instance() ?>
459
- <p style="Margin: 0; Margin-bottom: 0; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; line-height: 26px; margin: 0; margin-bottom: 0; padding: 0 0 24px; text-align: left;">
460
- <?php printf( __( "We've just locked out the host <strong>%s</strong> from %s due to more than <strong>%s</strong> 404 requests for the file <strong>%s</strong>. They have been locked out for <strong>%s seconds.</strong>", "defender-security" ), $ip, network_site_url(), $setting->detect_404_threshold, $uri, $setting->detect_404_lockout_duration ) ?>
461
- </p>
462
- <p style="Margin: 0; Margin-bottom: 0; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; line-height: 26px; margin: 0; margin-bottom: 0; padding: 0 0 24px; text-align: left;">
 
 
 
463
  <?php printf( __( "You can view the full lockout logs <a href=\"%s\">here</a>", "defender-security" ), apply_filters( 'wp_defeder/iplockout/email_report_link', network_admin_url( "admin.php?page=wdf-ip-lockout&view=logs" ) ) ) ?>
464
- .</p>
465
- </td>
466
- </tr>
467
- </tbody>
468
- </table>
469
- <!-- end main-intro -->
470
-
471
- <table class="main-signature"
472
- style="border-collapse: collapse; border-spacing: 0; padding: 0; text-align: left; vertical-align: top;">
473
- <tbody>
474
- <tr style="padding: 0; text-align: left; vertical-align: top;">
475
- <td class="main-signature-content"
476
- style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; hyphens: auto; line-height: 26px; margin: 0; padding: 0; text-align: left; vertical-align: top; word-wrap: break-word;">
477
- <p style="Margin: 0; Margin-bottom: 0; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; line-height: 26px; margin: 0; margin-bottom: 0; padding: 0 0 24px; text-align: left;">
478
  <?php esc_html_e( "Stay vigilant.", "defender-security" ) ?></p>
479
- <p class="last-item"
480
- style="Margin: 0; Margin-bottom: 0; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; line-height: 26px; margin: 0; margin-bottom: 0; padding: 0; text-align: left;">
481
- <strong><?php esc_html_e( "WP Defender", "defender-security" ) ?></strong>
482
- <br>
483
  <?php esc_html_e( "Security Hero", "defender-security" ) ?>
484
- <br/>
485
  <?php esc_html_e( "WPMU DEV", "defender-security" ) ?>
486
- </p>
487
- </td>
488
- </tr>
489
- </tbody>
490
- </table>
491
- <!-- end main-signature -->
492
-
493
- </td>
494
- </tr>
495
- </tbody>
496
- </table>
497
- <!-- end main -->
498
-
499
- <table class="related" align="center"
500
- style="border-collapse: collapse; border-spacing: 0; margin: 0; padding: 0; text-align: left; vertical-align: top; width: 100%;">
501
- <tbody>
502
- <tr style="padding: 0; text-align: left; vertical-align: top;">
503
- <td class="related-inner"
504
- style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; border-top: 2px solid #e9ebe7; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; hyphens: auto; line-height: 26px; margin: 0; padding: 15px 30px 15px 40px; text-align: left; vertical-align: top; word-wrap: break-word;">
505
- <table
506
- style="border-collapse: collapse; border-spacing: 0; padding: 0; text-align: left; vertical-align: top;">
507
- <tbody>
508
- <tr style="padding: 0; text-align: left; vertical-align: top;">
509
- <td class="related-items-title brand" align="left"
510
- style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; color: #3eb4e4; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; hyphens: auto; line-height: 26px; margin: 0; padding: 0; padding-bottom: 10px; text-align: left; vertical-align: top; word-wrap: break-word;">
511
  <?php esc_html_e( "Related plugins worth giving a try", "defender-security" ) ?>
512
- </td>
513
- </tr>
514
- <tr style="padding: 0; text-align: left; vertical-align: top;">
515
- <td style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; hyphens: auto; line-height: 26px; margin: 0; padding: 0; text-align: left; vertical-align: top; word-wrap: break-word;">
516
- <table class="related-items row collapse" align="center"
517
- style="border-collapse: collapse; border-spacing: 0; display: table; padding: 0; position: relative; text-align: left; vertical-align: top; width: 100%;">
518
- <tbody>
519
- <tr style="padding: 0; text-align: left; vertical-align: top;">
520
- <th class="small-12 large-6 columns first" align="left"
521
- valign="top"
522
- style="Margin: 0 auto; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; line-height: 26px; margin: 0 auto; padding: 0; padding-bottom: 0; padding-left: 0; padding-right: 0; text-align: left; width: 298px;">
523
- <a class="related-item plugin-link"
524
- href="https://premium.wpmudev.org/project/wp-hummingbird/"
525
- style="Margin: 0; color: #555555; display: table; font-family: Helvetica, Arial, sans-serif; font-size: 14px; font-weight: normal; line-height: 20px; margin: 0; padding: 0; text-align: left; text-decoration: none;">
526
- <img
527
- src="<?php echo wp_defender()->getPluginUrl() ?>assets/email-images/plugin-hummingbird.png"
528
- alt="Hummingbird" class="plugin-image"
529
- style="-ms-interpolation-mode: bicubic; border: none; clear: both; display: table-cell; max-width: 100%; outline: none; text-decoration: none; width: auto;">
530
- <span class="plugin-info"
531
- style="display: table-cell; padding-left: 10px; vertical-align: bottom;">
532
  <span><?php esc_html_e( "Optimize your site with", "defender-security" ) ?></span>
533
  <span class="plugin-title hummingbird"
534
  style="color: #febd30; display: block;"><strong><?php esc_html_e( "Hummingbird", "defender-security" ) ?></strong></span>
535
  </span>
536
- </a>
537
- </th>
538
- <th class="small-12 large-6 columns last" align="left"
539
- valign="top"
540
- style="Margin: 0 auto; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; line-height: 26px; margin: 0 auto; padding: 0; padding-bottom: 0; padding-left: 0; padding-right: 0; text-align: left; width: 298px;">
541
- <a class="related-item plugin-link"
542
- href="https://premium.wpmudev.org/project/snapshot/"
543
- style="Margin: 0; color: #555555; display: table; font-family: Helvetica, Arial, sans-serif; font-size: 14px; font-weight: normal; line-height: 20px; margin: 0; padding: 0; text-align: left; text-decoration: none;">
544
- <img
545
- src="<?php echo wp_defender()->getPluginUrl() ?>assets/email-images/plugin-snapshot.png"
546
- alt="Snapshot"
547
- class="plugin-image"
548
- style="-ms-interpolation-mode: bicubic; border: none; clear: both; display: table-cell; max-width: 100%; outline: none; text-decoration: none; width: auto;">
549
- <span class="plugin-info"
550
- style="display: table-cell; padding-left: 10px; vertical-align: bottom;">
551
  <span><?php esc_html_e( "Back up your hard work with", "defender-security" ) ?></span>
552
  <span class="plugin-title snapshot"
553
  style="color: #642486; display: block;"><strong><?php _e( "Snapshot", "defender-security" ) ?></strong></span>
554
  </span>
555
- </a>
556
- </th>
557
- <th class="expander"
558
- style="Margin: 0; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; line-height: 26px; margin: 0; padding: 0 !important; text-align: left; visibility: hidden; width: 0;"></th>
559
- </tr>
560
- </tbody>
561
- </table>
562
- </td>
563
- </tr>
564
- </tbody>
565
- </table>
566
- <!-- end related-inner -->
567
- </td>
568
- </tr>
569
- </tbody>
570
- </table>
571
- <!-- end related -->
572
-
573
- <!-- Preferences -->
574
- <table class="email-preferences" align="center" valign="middle"
575
- style="border-collapse: collapse; border-spacing: 0; margin: 0; padding: 0; text-align: left; vertical-align: top; width: 100%;">
576
- <tbody>
577
- <tr style="padding: 0; text-align: center; vertical-align: top;">
578
- <td class="email-preferences-inner"
579
- style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; border-top: 2px solid #e9ebe7; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; hyphens: auto; line-height: 26px; margin: 0; padding: 40px; text-align: left; vertical-align: top; word-wrap: break-word;">
580
- <table class="email-preferences-content row collapse" align="center"
581
- valign="top"
582
- style="border-collapse: collapse; border-spacing: 0; display: table; padding: 0; position: relative; text-align: center; vertical-align: top; width: 100%;">
583
- <tbody>
584
- <tr style="padding: 0; text-align: center; vertical-align: top;">
585
- <th class="small-12 large-8 columns first copy" align="center"
586
- style="Margin: 0 auto; color: #707070; font-family: Helvetica, Arial, sans-serif; font-size: 12px; font-weight: normal; line-height: 20px; margin: 0 auto; padding: 0; padding-bottom: 0; padding-left: 0; padding-right: 0; text-align: left; width: 394.66667px;">
587
- <p style="Margin: 0; Margin-bottom: 0; color: #707070; font-family: Helvetica, Arial, sans-serif; font-size: 12px; font-weight: normal; line-height: 20px; margin: 0; margin-bottom: 0; padding: 0; text-align: center;">
588
- <?php printf( __( "<a href=\"%s\">Configure reporting preferences</a>", "defender-security" ), apply_filters( 'wp_defeder/iplockout/email_report_link', network_admin_url( "admin.php?page=wdf-ip-lockout&view=reporting" ) ) ) ?>
589
- </p>
590
- </th>
591
- </tr>
592
- </tbody>
593
- </table>
594
- </td>
595
- </tr>
596
- </tbody>
597
- </table>
598
- <!-- End Preferences -->
599
-
600
- <table class="company-info" align="left" valign="middle"
601
- style="border-collapse: collapse; border-spacing: 0; margin: 0; padding: 0; text-align: left; vertical-align: top; width: 100%;">
602
- <tbody>
603
- <tr style="padding: 0; text-align: left; vertical-align: top;">
604
- <td class="company-info-inner"
605
- style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; border-top: 2px solid #e9ebe7; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; hyphens: auto; line-height: 26px; margin: 0; padding: 40px; text-align: left; vertical-align: top; word-wrap: break-word;">
606
- <table class="company-info-content row collapse" align="left" valign="top"
607
- style="border-collapse: collapse; border-spacing: 0; display: table; padding: 0; position: relative; text-align: left; vertical-align: top; width: 100%;">
608
- <tbody>
609
- <tr style="padding: 0; text-align: left; vertical-align: top;">
610
- <th class="small-12 large-8 columns first copy" align="left"
611
- style="Margin: 0 auto; color: #707070; font-family: Helvetica, Arial, sans-serif; font-size: 12px; font-weight: normal; line-height: 20px; margin: 0 auto; padding: 0; padding-bottom: 0; padding-left: 0; padding-right: 0; text-align: left; width: 394.66667px;">
612
- <p style="Margin: 0; Margin-bottom: 0; color: #707070; font-family: Helvetica, Arial, sans-serif; font-size: 12px; font-weight: normal; line-height: 20px; margin: 0; margin-bottom: 0; padding: 0; text-align: left;">
613
- Copyright © Incsub, All rights reserved.</p>
614
- <p style="Margin: 0; Margin-bottom: 0; color: #707070; font-family: Helvetica, Arial, sans-serif; font-size: 12px; font-weight: normal; line-height: 20px; margin: 0; margin-bottom: 0; padding: 0; text-align: left;">
615
- Incsub PO box 163 Albert Park, Victoria 3206 Australia</p>
616
- </th>
617
- <th class="small-12 large-4 columns last logo" align="right"
618
- style="Margin: 0 auto; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; line-height: 26px; margin: 0 auto; padding: 0; padding-bottom: 0; padding-left: 0; padding-right: 0; text-align: right; width: 201.33333px;">
619
- <a href="https://premium.wpmudev.org" class="logo-link"
620
- style="Margin: 0; color: #555555; display: inline-block; font-family: Helvetica, Arial, sans-serif; font-weight: normal; line-height: 1.3; margin: 0; padding: 0; text-align: right; text-decoration: none;">
621
- <img
622
- src="<?php echo wp_defender()->getPluginUrl() ?>assets/email-images/wpmudev-logo.png"
623
- alt="WPMU DEV"
624
- style="-ms-interpolation-mode: bicubic; border: none; clear: both; display: inline-block; max-width: 100%; outline: none; text-align: right; text-decoration: none; width: auto;">
625
- </a>
626
- </th>
627
- <th class="expander"
628
- style="Margin: 0; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; line-height: 26px; margin: 0; padding: 0 !important; text-align: left; visibility: hidden; width: 0;"></th>
629
- </tr>
630
- </tbody>
631
- </table>
632
- </td>
633
- </tr>
634
- </tbody>
635
- </table>
636
- <!-- end company-info -->
637
-
638
- <table class="wrapper social" align="center"
639
- style="background-color: #e9ebe7; border-collapse: collapse; border-spacing: 0; padding: 0; text-align: left; vertical-align: top; width: 100%;">
640
- <tbody>
641
- <tr style="padding: 0; text-align: left; vertical-align: top;">
642
- <td class="wrapper-inner social-inner"
643
- style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; hyphens: auto; line-height: 26px; margin: 0; padding: 40px 60px 20px; text-align: left; vertical-align: top; word-wrap: break-word;">
644
-
645
- <table class="social-content" align="center"
646
- style="border-collapse: collapse; border-spacing: 0; padding: 0; text-align: left; vertical-align: top;">
647
- <tbody>
648
- <tr style="padding: 0; text-align: left; vertical-align: top;">
649
- <td class="social-content-inner"
650
- style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; hyphens: auto; line-height: 26px; margin: 0; padding: 0; text-align: center; vertical-align: top; word-wrap: break-word;">
651
- <a href="https://plus.google.com/+wpmuorg/" target="_blank"
652
- class="gplus"
653
- style="Margin: 0; color: #555555; display: inline-block; font-family: Helvetica, Arial, sans-serif; font-weight: normal; line-height: 1.3; margin: 0; margin-right: 4px; padding: 0; text-align: left; text-decoration: none;"><img
654
- src="<?php echo wp_defender()->getPluginUrl() ?>assets/email-images/icon-gplus.png"
655
- alt="WPMU DEV on Google+"
656
- style="-ms-interpolation-mode: bicubic; border: none; clear: both; display: block; max-width: 100%; outline: none; text-decoration: none; width: auto;"></a>
657
- <a href="https://twitter.com/wpmudev" target="_blank"
658
- class="twitter"
659
- style="Margin: 0; color: #555555; display: inline-block; font-family: Helvetica, Arial, sans-serif; font-weight: normal; line-height: 1.3; margin: 0; margin-right: 4px; padding: 0; text-align: left; text-decoration: none;"><img
660
- src="<?php echo wp_defender()->getPluginUrl() ?>assets/email-images/icon-twitter.png"
661
- alt="WPMU DEV on Twitter"
662
- style="-ms-interpolation-mode: bicubic; border: none; clear: both; display: block; max-width: 100%; outline: none; text-decoration: none; width: auto;"></a>
663
- <a href="https://www.facebook.com/wpmudev" target="_blank"
664
- class="facebook"
665
- style="Margin: 0; color: #555555; display: inline-block; font-family: Helvetica, Arial, sans-serif; font-weight: normal; line-height: 1.3; margin: 0; margin-right: 0; padding: 0; text-align: left; text-decoration: none;"><img
666
- src="<?php echo wp_defender()->getPluginUrl() ?>assets/email-images/icon-facebook.png"
667
- alt="WPMU DEV on Facebook"
668
- style="-ms-interpolation-mode: bicubic; border: none; clear: both; display: block; max-width: 100%; outline: none; text-decoration: none; width: auto;"></a>
669
- </td>
670
- </tr>
671
- </tbody>
672
- </table>
673
- <!-- end social-content -->
674
-
675
- </td>
676
- </tr>
677
- </tbody>
678
- </table>
679
- <!-- end top -->
680
- </td>
681
- </tr>
682
- </tbody>
683
- </table>
684
- <!-- end main container -->
685
-
686
- </center>
687
-
688
- </td>
689
- </tr>
690
- </tbody>
691
  </table>
692
  <!-- end body -->
693
  </body>
2
  <html xmlns="http://www.w3.org/1999/xhtml">
3
 
4
  <head>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
6
+ <meta name="viewport" content="width=device-width">
7
+ <title><?php _e( "New 404 Lockout", "defender-security" ) ?></title>
8
+ <style>
9
+ a.plugin-brand:hover {
10
+ color: #e23717 !important;
11
+ }
12
+
13
+ table.top-content td a:hover {
14
+ color: #ff5c28 !important;
15
+ }
16
+ </style>
17
  </head>
18
 
19
  <body
20
+ style="-moz-box-sizing: border-box; -ms-text-size-adjust: 100%; -webkit-box-sizing: border-box; -webkit-text-size-adjust: 100%; Margin: 0; background-color: #e9ebe7; box-sizing: border-box; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; line-height: 26px; margin: 0; min-width: 100%; padding: 0; text-align: left; width: 100% !important;">
21
  <style>
22
+ @media only screen {
23
+ html {
24
+ min-height: 100%;
25
+ background: #f3f3f3;
26
+ }
27
+ }
28
+
29
+ @media only screen and (max-width: 596px) {
30
+ .small-float-center {
31
+ margin: 0 auto !important;
32
+ float: none !important;
33
+ text-align: center !important;
34
+ }
35
+
36
+ .small-text-center {
37
+ text-align: center !important;
38
+ }
39
+
40
+ .small-text-left {
41
+ text-align: left !important;
42
+ }
43
+
44
+ .small-text-right {
45
+ text-align: right !important;
46
+ }
47
+ }
48
+
49
+ @media only screen and (max-width: 596px) {
50
+ .hide-for-large {
51
+ display: block !important;
52
+ width: auto !important;
53
+ overflow: visible !important;
54
+ max-height: none !important;
55
+ font-size: inherit !important;
56
+ line-height: inherit !important;
57
+ }
58
+ }
59
+
60
+ @media only screen and (max-width: 596px) {
61
+ table.body table.container .hide-for-large,
62
+ table.body table.container .row.hide-for-large {
63
+ display: table !important;
64
+ width: 100% !important;
65
+ }
66
+ }
67
+
68
+ @media only screen and (max-width: 596px) {
69
+ table.body table.container .callout-inner.hide-for-large {
70
+ display: table-cell !important;
71
+ width: 100% !important;
72
+ }
73
+ }
74
+
75
+ @media only screen and (max-width: 596px) {
76
+ table.body table.container .show-for-large {
77
+ display: none !important;
78
+ width: 0;
79
+ mso-hide: all;
80
+ overflow: hidden;
81
+ }
82
+ }
83
+
84
+ @media only screen and (max-width: 596px) {
85
+ table.body img {
86
+ width: auto;
87
+ height: auto;
88
+ }
89
+
90
+ table.body center {
91
+ min-width: 0 !important;
92
+ }
93
+
94
+ table.body .container {
95
+ width: 95% !important;
96
+ }
97
+
98
+ table.body .columns,
99
+ table.body .column {
100
+ height: auto !important;
101
+ -moz-box-sizing: border-box;
102
+ -webkit-box-sizing: border-box;
103
+ box-sizing: border-box;
104
+ padding-left: 16px !important;
105
+ padding-right: 16px !important;
106
+ }
107
+
108
+ table.body .columns .column,
109
+ table.body .columns .columns,
110
+ table.body .column .column,
111
+ table.body .column .columns {
112
+ padding-left: 0 !important;
113
+ padding-right: 0 !important;
114
+ }
115
+
116
+ table.body .collapse .columns,
117
+ table.body .collapse .column {
118
+ padding-left: 0 !important;
119
+ padding-right: 0 !important;
120
+ }
121
+
122
+ td.small-1,
123
+ th.small-1 {
124
+ display: inline-block !important;
125
+ width: 8.33333% !important;
126
+ }
127
+
128
+ td.small-2,
129
+ th.small-2 {
130
+ display: inline-block !important;
131
+ width: 16.66667% !important;
132
+ }
133
+
134
+ td.small-3,
135
+ th.small-3 {
136
+ display: inline-block !important;
137
+ width: 25% !important;
138
+ }
139
+
140
+ td.small-4,
141
+ th.small-4 {
142
+ display: inline-block !important;
143
+ width: 33.33333% !important;
144
+ }
145
+
146
+ td.small-5,
147
+ th.small-5 {
148
+ display: inline-block !important;
149
+ width: 41.66667% !important;
150
+ }
151
+
152
+ td.small-6,
153
+ th.small-6 {
154
+ display: inline-block !important;
155
+ width: 50% !important;
156
+ }
157
+
158
+ td.small-7,
159
+ th.small-7 {
160
+ display: inline-block !important;
161
+ width: 58.33333% !important;
162
+ }
163
+
164
+ td.small-8,
165
+ th.small-8 {
166
+ display: inline-block !important;
167
+ width: 66.66667% !important;
168
+ }
169
+
170
+ td.small-9,
171
+ th.small-9 {
172
+ display: inline-block !important;
173
+ width: 75% !important;
174
+ }
175
+
176
+ td.small-10,
177
+ th.small-10 {
178
+ display: inline-block !important;
179
+ width: 83.33333% !important;
180
+ }
181
+
182
+ td.small-11,
183
+ th.small-11 {
184
+ display: inline-block !important;
185
+ width: 91.66667% !important;
186
+ }
187
+
188
+ td.small-12,
189
+ th.small-12 {
190
+ display: inline-block !important;
191
+ width: 100% !important;
192
+ }
193
+
194
+ .columns td.small-12,
195
+ .column td.small-12,
196
+ .columns th.small-12,
197
+ .column th.small-12 {
198
+ display: block !important;
199
+ width: 100% !important;
200
+ }
201
+
202
+ table.body td.small-offset-1,
203
+ table.body th.small-offset-1 {
204
+ margin-left: 8.33333% !important;
205
+ Margin-left: 8.33333% !important;
206
+ }
207
+
208
+ table.body td.small-offset-2,
209
+ table.body th.small-offset-2 {
210
+ margin-left: 16.66667% !important;
211
+ Margin-left: 16.66667% !important;
212
+ }
213
+
214
+ table.body td.small-offset-3,
215
+ table.body th.small-offset-3 {
216
+ margin-left: 25% !important;
217
+ Margin-left: 25% !important;
218
+ }
219
+
220
+ table.body td.small-offset-4,
221
+ table.body th.small-offset-4 {
222
+ margin-left: 33.33333% !important;
223
+ Margin-left: 33.33333% !important;
224
+ }
225
+
226
+ table.body td.small-offset-5,
227
+ table.body th.small-offset-5 {
228
+ margin-left: 41.66667% !important;
229
+ Margin-left: 41.66667% !important;
230
+ }
231
+
232
+ table.body td.small-offset-6,
233
+ table.body th.small-offset-6 {
234
+ margin-left: 50% !important;
235
+ Margin-left: 50% !important;
236
+ }
237
+
238
+ table.body td.small-offset-7,
239
+ table.body th.small-offset-7 {
240
+ margin-left: 58.33333% !important;
241
+ Margin-left: 58.33333% !important;
242
+ }
243
+
244
+ table.body td.small-offset-8,
245
+ table.body th.small-offset-8 {
246
+ margin-left: 66.66667% !important;
247
+ Margin-left: 66.66667% !important;
248
+ }
249
+
250
+ table.body td.small-offset-9,
251
+ table.body th.small-offset-9 {
252
+ margin-left: 75% !important;
253
+ Margin-left: 75% !important;
254
+ }
255
+
256
+ table.body td.small-offset-10,
257
+ table.body th.small-offset-10 {
258
+ margin-left: 83.33333% !important;
259
+ Margin-left: 83.33333% !important;
260
+ }
261
+
262
+ table.body td.small-offset-11,
263
+ table.body th.small-offset-11 {
264
+ margin-left: 91.66667% !important;
265
+ Margin-left: 91.66667% !important;
266
+ }
267
+
268
+ table.body table.columns td.expander,
269
+ table.body table.columns th.expander {
270
+ display: none !important;
271
+ }
272
+
273
+ table.body .right-text-pad,
274
+ table.body .text-pad-right {
275
+ padding-left: 10px !important;
276
+ }
277
+
278
+ table.body .left-text-pad,
279
+ table.body .text-pad-left {
280
+ padding-right: 10px !important;
281
+ }
282
+
283
+ table.menu {
284
+ width: 100% !important;
285
+ }
286
+
287
+ table.menu td,
288
+ table.menu th {
289
+ width: auto !important;
290
+ display: inline-block !important;
291
+ }
292
+
293
+ table.menu.vertical td,
294
+ table.menu.vertical th,
295
+ table.menu.small-vertical td,
296
+ table.menu.small-vertical th {
297
+ display: block !important;
298
+ }
299
+
300
+ table.menu[align="center"] {
301
+ width: auto !important;
302
+ }
303
+
304
+ table.button.small-expand,
305
+ table.button.small-expanded {
306
+ width: 100% !important;
307
+ }
308
+
309
+ table.button.small-expand table,
310
+ table.button.small-expanded table {
311
+ width: 100%;
312
+ }
313
+
314
+ table.button.small-expand table a,
315
+ table.button.small-expanded table a {
316
+ text-align: center !important;
317
+ width: 100% !important;
318
+ padding-left: 0 !important;
319
+ padding-right: 0 !important;
320
+ }
321
+
322
+ table.button.small-expand center,
323
+ table.button.small-expanded center {
324
+ min-width: 0;
325
+ }
326
+ }
327
+
328
+ @media screen and (max-width: 596px) {
329
+ /* results list */
330
+ table.results-list thead th {
331
+ line-height: 34px !important;
332
+ }
333
+
334
+ /* top */
335
+ table.top-content td {
336
+ text-align: center !important;
337
+ }
338
+
339
+ /* related */
340
+ table.related table.related-items .columns {
341
+ padding-right: 0 !important;
342
+ padding-bottom: 15px !important;
343
+ padding-left: 0 !important;
344
+ }
345
+
346
+ table.related table.related-items .columns.last {
347
+ padding-bottom: 0 !important;
348
+ }
349
+
350
+ table.related a.related-item .plugin-info {
351
+ vertical-align: middle !important;
352
+ }
353
+
354
+ /* company info */
355
+ table.company-info .columns {
356
+ padding-right: 0 !important;
357
+ padding-left: 0 !important;
358
+ }
359
+
360
+ table.company-info .columns.last {
361
+ padding: 15px 0 0 !important;
362
+ }
363
+
364
+ table.company-info .logo,
365
+ table.company-info .logo-link,
366
+ table.company-info .logo img {
367
+ text-align: left !important;
368
+ }
369
+ }
370
+
371
+ @media screen and (max-width: 540px) {
372
+ /* hero */
373
+ table.hero table.hero-content {
374
+ width: 100%;
375
+ }
376
+
377
+ table.hero td.hero-title h1,
378
+ table.hero td.hero-title h2 {
379
+ padding: 0 !important;
380
+ text-align: center !important;
381
+ }
382
+
383
+ table.hero td.hero-image {
384
+ display: none;
385
+ }
386
+ }
387
  </style>
388
 
389
  <table class="body"
390
  style="Margin: 0; background: #f3f3f3; background-color: #e9ebe7; border-collapse: collapse; border-spacing: 0; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; height: 100%; line-height: 26px; margin: 0; padding: 0; text-align: left; vertical-align: top; width: 100%;">
391
+ <tbody>
392
+ <tr style="padding: 0; text-align: left; vertical-align: top;">
393
+ <td class="center" align="center" valign="top"
394
+ style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; hyphens: auto; line-height: 26px; margin: 0; padding: 0; text-align: left; vertical-align: top; word-wrap: break-word;">
395
+
396
+ <center style="min-width: 600px; width: 100%;">
397
+
398
+ <table class="container"
399
+ style="Margin: 0 auto; background: #fefefe; background-color: #fff; border-collapse: collapse; border-spacing: 0; margin: 0 auto; padding: 0; text-align: inherit; vertical-align: top; width: 600px;">
400
+ <tbody>
401
+ <tr style="padding: 0; text-align: left; vertical-align: top;">
402
+ <td style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; hyphens: auto; line-height: 26px; margin: 0; padding: 0; text-align: left; vertical-align: top; word-wrap: break-word;">
403
+ <table class="wrapper hero" align="left"
404
+ style="background-color: #e9ebe7; border-collapse: collapse; border-spacing: 0; padding: 0; text-align: left; vertical-align: top; width: 100%;">
405
+ <tbody>
406
+ <tr style="padding: 0; text-align: left; vertical-align: top;">
407
+ <td class="wrapper-inner hero-inner"
408
+ style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; hyphens: auto; line-height: 26px; margin: 0; padding: 20px 0 0; text-align: left; vertical-align: top; word-wrap: break-word;">
409
+
410
+ <table class="hero-content" align="left"
411
+ style="border-collapse: collapse; border-spacing: 0; padding: 0; text-align: left; vertical-align: top;">
412
+ <tbody>
413
+ <tr style="padding: 0; text-align: left; vertical-align: top;">
414
+ <td class="hero-title"
415
+ style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; hyphens: auto; line-height: 26px; margin: 0; padding: 0; padding-bottom: 18px; text-align: left; vertical-align: bottom; word-wrap: break-word;">
416
+ <h2 style="Margin: 0; Margin-bottom: 0; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 30px; font-weight: 700; line-height: 1em; margin: 0; margin-bottom: 0; padding: 0; padding-left: 9px; text-align: left; text-transform: uppercase; word-wrap: normal;">
417
  <?php esc_html_e( "Protected By", "defender-security" ) ?></h2>
418
+ <h1 class="plugin-brand"
419
+ style="Margin: 0; Margin-bottom: 0; color: #ff5c28; font-family: Helvetica, Arial, sans-serif; font-size: 60px; font-weight: 700; line-height: 1em; margin: 0; margin-bottom: 0; padding: 0; padding-left: 6px; text-align: left; text-transform: uppercase; word-wrap: normal;">
420
  <?php esc_html_e( "Defender!", "defender-security" ) ?></h1>
421
+ </td>
422
+ <td class="hero-image"
423
+ style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; hyphens: auto; line-height: 26px; margin: 0; padding: 0; text-align: left; vertical-align: top; word-wrap: break-word;">
424
+ <a href="https://premium.wpmudev.org/"
425
+ style="Margin: 0; color: #555555; font-family: Helvetica, Arial, sans-serif; font-weight: normal; line-height: 1.3; margin: 0; padding: 0; text-align: left; text-decoration: none;"><img
426
+ src="<?php echo wp_defender()->getPluginUrl() ?>assets/email-images/hero-defender.png"
427
+ alt="Defender"
428
+ style="-ms-interpolation-mode: bicubic; border: none; clear: both; display: block; max-width: 100%; outline: none; text-decoration: none; width: auto;"></a>
429
+ </td>
430
+ </tr>
431
+ </tbody>
432
+ </table>
433
+ <!-- end hero-content -->
434
+
435
+ </td>
436
+ </tr>
437
+ </tbody>
438
+ </table>
439
+ <!-- end hero -->
440
+
441
+ <table class="wrapper main" align="center"
442
+ style="border-collapse: collapse; border-spacing: 0; padding: 0; text-align: left; vertical-align: top; width: 100%;">
443
+ <tbody>
444
+ <tr style="padding: 0; text-align: left; vertical-align: top;">
445
+ <td class="wrapper-inner main-inner"
446
+ style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; hyphens: auto; line-height: 26px; margin: 0; padding: 40px; text-align: left; vertical-align: top; word-wrap: break-word;">
447
+
448
+ <table class="main-intro"
449
+ style="border-collapse: collapse; border-spacing: 0; padding: 0; text-align: left; vertical-align: top;">
450
+ <tbody>
451
+ <tr style="padding: 0; text-align: left; vertical-align: top;">
452
+ <td class="main-intro-content"
453
+ style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; hyphens: auto; line-height: 26px; margin: 0; padding: 0; text-align: left; vertical-align: top; word-wrap: break-word;">
454
+ <h3 style="Margin: 0; Margin-bottom: 0; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 32px; font-weight: normal; line-height: 32px; margin: 0; margin-bottom: 0; padding: 0 0 28px; text-align: left; word-wrap: normal;">
455
  <?php printf( __( "Hi %s", "defender-security" ), $admin ) ?>
456
+ ,</h3>
457
  <?php $setting = \WP_Defender\Module\IP_Lockout\Model\Settings::instance() ?>
458
  <?php $utils = \WP_Defender\Behavior\Utils::instance() ?>
459
+ <p style="Margin: 0; Margin-bottom: 0; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; line-height: 26px; margin: 0; margin-bottom: 0; padding: 0 0 24px; text-align: left;">
460
+ <?php
461
+ \WP_Defender\Behavior\Utils::instance()->log($uri);
462
+ printf( __( "We've just locked out the host <strong>%s</strong> from %s due to more than <strong>%s</strong> 404 requests for the file <strong>%s</strong>. They have been locked out for <strong>%s %s.</strong>", "defender-security" ),
463
+ $ip, network_site_url(), $setting->detect_404_threshold, $uri, $setting->detect_404_lockout_duration, $setting->detect_404_lockout_duration_unit ) ?>
464
+ </p>
465
+ <p style="Margin: 0; Margin-bottom: 0; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; line-height: 26px; margin: 0; margin-bottom: 0; padding: 0 0 24px; text-align: left;">
466
  <?php printf( __( "You can view the full lockout logs <a href=\"%s\">here</a>", "defender-security" ), apply_filters( 'wp_defeder/iplockout/email_report_link', network_admin_url( "admin.php?page=wdf-ip-lockout&view=logs" ) ) ) ?>
467
+ .</p>
468
+ </td>
469
+ </tr>
470
+ </tbody>
471
+ </table>
472
+ <!-- end main-intro -->
473
+
474
+ <table class="main-signature"
475
+ style="border-collapse: collapse; border-spacing: 0; padding: 0; text-align: left; vertical-align: top;">
476
+ <tbody>
477
+ <tr style="padding: 0; text-align: left; vertical-align: top;">
478
+ <td class="main-signature-content"
479
+ style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; hyphens: auto; line-height: 26px; margin: 0; padding: 0; text-align: left; vertical-align: top; word-wrap: break-word;">
480
+ <p style="Margin: 0; Margin-bottom: 0; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; line-height: 26px; margin: 0; margin-bottom: 0; padding: 0 0 24px; text-align: left;">
481
  <?php esc_html_e( "Stay vigilant.", "defender-security" ) ?></p>
482
+ <p class="last-item"
483
+ style="Margin: 0; Margin-bottom: 0; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; line-height: 26px; margin: 0; margin-bottom: 0; padding: 0; text-align: left;">
484
+ <strong><?php esc_html_e( "WP Defender", "defender-security" ) ?></strong>
485
+ <br>
486
  <?php esc_html_e( "Security Hero", "defender-security" ) ?>
487
+ <br/>
488
  <?php esc_html_e( "WPMU DEV", "defender-security" ) ?>
489
+ </p>
490
+ </td>
491
+ </tr>
492
+ </tbody>
493
+ </table>
494
+ <!-- end main-signature -->
495
+
496
+ </td>
497
+ </tr>
498
+ </tbody>
499
+ </table>
500
+ <!-- end main -->
501
+
502
+ <table class="related" align="center"
503
+ style="border-collapse: collapse; border-spacing: 0; margin: 0; padding: 0; text-align: left; vertical-align: top; width: 100%;">
504
+ <tbody>
505
+ <tr style="padding: 0; text-align: left; vertical-align: top;">
506
+ <td class="related-inner"
507
+ style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; border-top: 2px solid #e9ebe7; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; hyphens: auto; line-height: 26px; margin: 0; padding: 15px 30px 15px 40px; text-align: left; vertical-align: top; word-wrap: break-word;">
508
+ <table
509
+ style="border-collapse: collapse; border-spacing: 0; padding: 0; text-align: left; vertical-align: top;">
510
+ <tbody>
511
+ <tr style="padding: 0; text-align: left; vertical-align: top;">
512
+ <td class="related-items-title brand" align="left"
513
+ style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; color: #3eb4e4; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; hyphens: auto; line-height: 26px; margin: 0; padding: 0; padding-bottom: 10px; text-align: left; vertical-align: top; word-wrap: break-word;">
514
  <?php esc_html_e( "Related plugins worth giving a try", "defender-security" ) ?>
515
+ </td>
516
+ </tr>
517
+ <tr style="padding: 0; text-align: left; vertical-align: top;">
518
+ <td style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; hyphens: auto; line-height: 26px; margin: 0; padding: 0; text-align: left; vertical-align: top; word-wrap: break-word;">
519
+ <table class="related-items row collapse" align="center"
520
+ style="border-collapse: collapse; border-spacing: 0; display: table; padding: 0; position: relative; text-align: left; vertical-align: top; width: 100%;">
521
+ <tbody>
522
+ <tr style="padding: 0; text-align: left; vertical-align: top;">
523
+ <th class="small-12 large-6 columns first" align="left"
524
+ valign="top"
525
+ style="Margin: 0 auto; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; line-height: 26px; margin: 0 auto; padding: 0; padding-bottom: 0; padding-left: 0; padding-right: 0; text-align: left; width: 298px;">
526
+ <a class="related-item plugin-link"
527
+ href="https://premium.wpmudev.org/project/wp-hummingbird/"
528
+ style="Margin: 0; color: #555555; display: table; font-family: Helvetica, Arial, sans-serif; font-size: 14px; font-weight: normal; line-height: 20px; margin: 0; padding: 0; text-align: left; text-decoration: none;">
529
+ <img
530
+ src="<?php echo wp_defender()->getPluginUrl() ?>assets/email-images/plugin-hummingbird.png"
531
+ alt="Hummingbird" class="plugin-image"
532
+ style="-ms-interpolation-mode: bicubic; border: none; clear: both; display: table-cell; max-width: 100%; outline: none; text-decoration: none; width: auto;">
533
+ <span class="plugin-info"
534
+ style="display: table-cell; padding-left: 10px; vertical-align: bottom;">
535
  <span><?php esc_html_e( "Optimize your site with", "defender-security" ) ?></span>
536
  <span class="plugin-title hummingbird"
537
  style="color: #febd30; display: block;"><strong><?php esc_html_e( "Hummingbird", "defender-security" ) ?></strong></span>
538
  </span>
539
+ </a>
540
+ </th>
541
+ <th class="small-12 large-6 columns last" align="left"
542
+ valign="top"
543
+ style="Margin: 0 auto; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; line-height: 26px; margin: 0 auto; padding: 0; padding-bottom: 0; padding-left: 0; padding-right: 0; text-align: left; width: 298px;">
544
+ <a class="related-item plugin-link"
545
+ href="https://premium.wpmudev.org/project/snapshot/"
546
+ style="Margin: 0; color: #555555; display: table; font-family: Helvetica, Arial, sans-serif; font-size: 14px; font-weight: normal; line-height: 20px; margin: 0; padding: 0; text-align: left; text-decoration: none;">
547
+ <img
548
+ src="<?php echo wp_defender()->getPluginUrl() ?>assets/email-images/plugin-snapshot.png"
549
+ alt="Snapshot"
550
+ class="plugin-image"
551
+ style="-ms-interpolation-mode: bicubic; border: none; clear: both; display: table-cell; max-width: 100%; outline: none; text-decoration: none; width: auto;">
552
+ <span class="plugin-info"
553
+ style="display: table-cell; padding-left: 10px; vertical-align: bottom;">
554
  <span><?php esc_html_e( "Back up your hard work with", "defender-security" ) ?></span>
555
  <span class="plugin-title snapshot"
556
  style="color: #642486; display: block;"><strong><?php _e( "Snapshot", "defender-security" ) ?></strong></span>
557
  </span>
558
+ </a>
559
+ </th>
560
+ <th class="expander"
561
+ style="Margin: 0; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; line-height: 26px; margin: 0; padding: 0 !important; text-align: left; visibility: hidden; width: 0;"></th>
562
+ </tr>
563
+ </tbody>
564
+ </table>
565
+ </td>
566
+ </tr>
567
+ </tbody>
568
+ </table>
569
+ <!-- end related-inner -->
570
+ </td>
571
+ </tr>
572
+ </tbody>
573
+ </table>
574
+ <!-- end related -->
575
+
576
+ <!-- Preferences -->
577
+ <table class="email-preferences" align="center" valign="middle"
578
+ style="border-collapse: collapse; border-spacing: 0; margin: 0; padding: 0; text-align: left; vertical-align: top; width: 100%;">
579
+ <tbody>
580
+ <tr style="padding: 0; text-align: center; vertical-align: top;">
581
+ <td class="email-preferences-inner"
582
+ style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; border-top: 2px solid #e9ebe7; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; hyphens: auto; line-height: 26px; margin: 0; padding: 40px; text-align: left; vertical-align: top; word-wrap: break-word;">
583
+ <table class="email-preferences-content row collapse" align="center"
584
+ valign="top"
585
+ style="border-collapse: collapse; border-spacing: 0; display: table; padding: 0; position: relative; text-align: center; vertical-align: top; width: 100%;">
586
+ <tbody>
587
+ <tr style="padding: 0; text-align: center; vertical-align: top;">
588
+ <th class="small-12 large-8 columns first copy" align="center"
589
+ style="Margin: 0 auto; color: #707070; font-family: Helvetica, Arial, sans-serif; font-size: 12px; font-weight: normal; line-height: 20px; margin: 0 auto; padding: 0; padding-bottom: 0; padding-left: 0; padding-right: 0; text-align: left; width: 394.66667px;">
590
+ <p style="Margin: 0; Margin-bottom: 0; color: #707070; font-family: Helvetica, Arial, sans-serif; font-size: 12px; font-weight: normal; line-height: 20px; margin: 0; margin-bottom: 0; padding: 0; text-align: center;">
591
+ <?php printf( __( "<a href=\"%s\">Configure reporting preferences</a>", "defender-security" ), apply_filters( 'wp_defeder/iplockout/email_report_link', network_admin_url( "admin.php?page=wdf-ip-lockout&view=notification" ) ) ) ?>
592
+ </p>
593
+ </th>
594
+ </tr>
595
+ </tbody>
596
+ </table>
597
+ </td>
598
+ </tr>
599
+ </tbody>
600
+ </table>
601
+ <!-- End Preferences -->
602
+
603
+ <table class="company-info" align="left" valign="middle"
604
+ style="border-collapse: collapse; border-spacing: 0; margin: 0; padding: 0; text-align: left; vertical-align: top; width: 100%;">
605
+ <tbody>
606
+ <tr style="padding: 0; text-align: left; vertical-align: top;">
607
+ <td class="company-info-inner"
608
+ style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; border-top: 2px solid #e9ebe7; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; hyphens: auto; line-height: 26px; margin: 0; padding: 40px; text-align: left; vertical-align: top; word-wrap: break-word;">
609
+ <table class="company-info-content row collapse" align="left" valign="top"
610
+ style="border-collapse: collapse; border-spacing: 0; display: table; padding: 0; position: relative; text-align: left; vertical-align: top; width: 100%;">
611
+ <tbody>
612
+ <tr style="padding: 0; text-align: left; vertical-align: top;">
613
+ <th class="small-12 large-8 columns first copy" align="left"
614
+ style="Margin: 0 auto; color: #707070; font-family: Helvetica, Arial, sans-serif; font-size: 12px; font-weight: normal; line-height: 20px; margin: 0 auto; padding: 0; padding-bottom: 0; padding-left: 0; padding-right: 0; text-align: left; width: 394.66667px;">
615
+ <p style="Margin: 0; Margin-bottom: 0; color: #707070; font-family: Helvetica, Arial, sans-serif; font-size: 12px; font-weight: normal; line-height: 20px; margin: 0; margin-bottom: 0; padding: 0; text-align: left;">
616
+ Copyright © Incsub, All rights reserved.</p>
617
+ <p style="Margin: 0; Margin-bottom: 0; color: #707070; font-family: Helvetica, Arial, sans-serif; font-size: 12px; font-weight: normal; line-height: 20px; margin: 0; margin-bottom: 0; padding: 0; text-align: left;">
618
+ Incsub PO box 163 Albert Park, Victoria 3206 Australia</p>
619
+ </th>
620
+ <th class="small-12 large-4 columns last logo" align="right"
621
+ style="Margin: 0 auto; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; line-height: 26px; margin: 0 auto; padding: 0; padding-bottom: 0; padding-left: 0; padding-right: 0; text-align: right; width: 201.33333px;">
622
+ <a href="https://premium.wpmudev.org" class="logo-link"
623
+ style="Margin: 0; color: #555555; display: inline-block; font-family: Helvetica, Arial, sans-serif; font-weight: normal; line-height: 1.3; margin: 0; padding: 0; text-align: right; text-decoration: none;">
624
+ <img
625
+ src="<?php echo wp_defender()->getPluginUrl() ?>assets/email-images/wpmudev-logo.png"
626
+ alt="WPMU DEV"
627
+ style="-ms-interpolation-mode: bicubic; border: none; clear: both; display: inline-block; max-width: 100%; outline: none; text-align: right; text-decoration: none; width: auto;">
628
+ </a>
629
+ </th>
630
+ <th class="expander"
631
+ style="Margin: 0; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; line-height: 26px; margin: 0; padding: 0 !important; text-align: left; visibility: hidden; width: 0;"></th>
632
+ </tr>
633
+ </tbody>
634
+ </table>
635
+ </td>
636
+ </tr>
637
+ </tbody>
638
+ </table>
639
+ <!-- end company-info -->
640
+
641
+ <table class="wrapper social" align="center"
642
+ style="background-color: #e9ebe7; border-collapse: collapse; border-spacing: 0; padding: 0; text-align: left; vertical-align: top; width: 100%;">
643
+ <tbody>
644
+ <tr style="padding: 0; text-align: left; vertical-align: top;">
645
+ <td class="wrapper-inner social-inner"
646
+ style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; hyphens: auto; line-height: 26px; margin: 0; padding: 40px 60px 20px; text-align: left; vertical-align: top; word-wrap: break-word;">
647
+
648
+ <table class="social-content" align="center"
649
+ style="border-collapse: collapse; border-spacing: 0; padding: 0; text-align: left; vertical-align: top;">
650
+ <tbody>
651
+ <tr style="padding: 0; text-align: left; vertical-align: top;">
652
+ <td class="social-content-inner"
653
+ style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; hyphens: auto; line-height: 26px; margin: 0; padding: 0; text-align: center; vertical-align: top; word-wrap: break-word;">
654
+ <a href="https://plus.google.com/+wpmuorg/" target="_blank"
655
+ class="gplus"
656
+ style="Margin: 0; color: #555555; display: inline-block; font-family: Helvetica, Arial, sans-serif; font-weight: normal; line-height: 1.3; margin: 0; margin-right: 4px; padding: 0; text-align: left; text-decoration: none;"><img
657
+ src="<?php echo wp_defender()->getPluginUrl() ?>assets/email-images/icon-gplus.png"
658
+ alt="WPMU DEV on Google+"
659
+ style="-ms-interpolation-mode: bicubic; border: none; clear: both; display: block; max-width: 100%; outline: none; text-decoration: none; width: auto;"></a>
660
+ <a href="https://twitter.com/wpmudev" target="_blank"
661
+ class="twitter"
662
+ style="Margin: 0; color: #555555; display: inline-block; font-family: Helvetica, Arial, sans-serif; font-weight: normal; line-height: 1.3; margin: 0; margin-right: 4px; padding: 0; text-align: left; text-decoration: none;"><img
663
+ src="<?php echo wp_defender()->getPluginUrl() ?>assets/email-images/icon-twitter.png"
664
+ alt="WPMU DEV on Twitter"
665
+ style="-ms-interpolation-mode: bicubic; border: none; clear: both; display: block; max-width: 100%; outline: none; text-decoration: none; width: auto;"></a>
666
+ <a href="https://www.facebook.com/wpmudev" target="_blank"
667
+ class="facebook"
668
+ style="Margin: 0; color: #555555; display: inline-block; font-family: Helvetica, Arial, sans-serif; font-weight: normal; line-height: 1.3; margin: 0; margin-right: 0; padding: 0; text-align: left; text-decoration: none;"><img
669
+ src="<?php echo wp_defender()->getPluginUrl() ?>assets/email-images/icon-facebook.png"
670
+ alt="WPMU DEV on Facebook"
671
+ style="-ms-interpolation-mode: bicubic; border: none; clear: both; display: block; max-width: 100%; outline: none; text-decoration: none; width: auto;"></a>
672
+ </td>
673
+ </tr>
674
+ </tbody>
675
+ </table>
676
+ <!-- end social-content -->
677
+
678
+ </td>
679
+ </tr>
680
+ </tbody>
681
+ </table>
682
+ <!-- end top -->
683
+ </td>
684
+ </tr>
685
+ </tbody>
686
+ </table>
687
+ <!-- end main container -->
688
+
689
+ </center>
690
+
691
+ </td>
692
+ </tr>
693
+ </tbody>
694
  </table>
695
  <!-- end body -->
696
  </body>
app/module/ip-lockout/view/emails/login-lockout.php CHANGED
@@ -587,7 +587,7 @@
587
  <th class="small-12 large-8 columns first copy" align="center"
588
  style="Margin: 0 auto; color: #707070; font-family: Helvetica, Arial, sans-serif; font-size: 12px; font-weight: normal; line-height: 20px; margin: 0 auto; padding: 0; padding-bottom: 0; padding-left: 0; padding-right: 0; text-align: left; width: 394.66667px;">
589
  <p style="Margin: 0; Margin-bottom: 0; color: #707070; font-family: Helvetica, Arial, sans-serif; font-size: 12px; font-weight: normal; line-height: 20px; margin: 0; margin-bottom: 0; padding: 0; text-align: center;">
590
- <?php printf( __( "<a href=\"%s\">Configure reporting preferences</a>", "defender-security" ), apply_filters( 'wp_defeder/iplockout/email_report_link', network_admin_url( "admin.php?page=wdf-ip-lockout&view=reporting" ) ) ) ?>
591
  </p>
592
  </th>
593
  </tr>
587
  <th class="small-12 large-8 columns first copy" align="center"
588
  style="Margin: 0 auto; color: #707070; font-family: Helvetica, Arial, sans-serif; font-size: 12px; font-weight: normal; line-height: 20px; margin: 0 auto; padding: 0; padding-bottom: 0; padding-left: 0; padding-right: 0; text-align: left; width: 394.66667px;">
589
  <p style="Margin: 0; Margin-bottom: 0; color: #707070; font-family: Helvetica, Arial, sans-serif; font-size: 12px; font-weight: normal; line-height: 20px; margin: 0; margin-bottom: 0; padding: 0; text-align: center;">
590
+ <?php printf( __( "<a href=\"%s\">Configure reporting preferences</a>", "defender-security" ), apply_filters( 'wp_defeder/iplockout/email_report_link', network_admin_url( "admin.php?page=wdf-ip-lockout&view=notification" ) ) ) ?>
591
  </p>
592
  </th>
593
  </tr>
app/module/ip-lockout/view/emails/login-username-ban.php CHANGED
@@ -586,7 +586,7 @@
586
  <th class="small-12 large-8 columns first copy" align="center"
587
  style="Margin: 0 auto; color: #707070; font-family: Helvetica, Arial, sans-serif; font-size: 12px; font-weight: normal; line-height: 20px; margin: 0 auto; padding: 0; padding-bottom: 0; padding-left: 0; padding-right: 0; text-align: left; width: 394.66667px;">
588
  <p style="Margin: 0; Margin-bottom: 0; color: #707070; font-family: Helvetica, Arial, sans-serif; font-size: 12px; font-weight: normal; line-height: 20px; margin: 0; margin-bottom: 0; padding: 0; text-align: center;">
589
- <?php printf( __( "<a href=\"%s\">Configure reporting preferences</a>", "defender-security" ), $report_url ) ?>
590
  </p>
591
  </th>
592
  </tr>
586
  <th class="small-12 large-8 columns first copy" align="center"
587
  style="Margin: 0 auto; color: #707070; font-family: Helvetica, Arial, sans-serif; font-size: 12px; font-weight: normal; line-height: 20px; margin: 0 auto; padding: 0; padding-bottom: 0; padding-left: 0; padding-right: 0; text-align: left; width: 394.66667px;">
588
  <p style="Margin: 0; Margin-bottom: 0; color: #707070; font-family: Helvetica, Arial, sans-serif; font-size: 12px; font-weight: normal; line-height: 20px; margin: 0; margin-bottom: 0; padding: 0; text-align: center;">
589
+ <?php printf( __( "<a href=\"%s\">Configure reporting preferences</a>", "defender-security" ), network_admin_url( "admin.php?page=wdf-ip-lockout&view=notification" ) ) ?>
590
  </p>
591
  </th>
592
  </tr>
app/module/scan/behavior/core-files.php ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace WP_Defender\Module\Scan\Behavior;
4
+
5
+ use Hammer\Base\Behavior;
6
+ use WP_Defender\Module\Scan\Component\Scan_Api;
7
+
8
+ class Core_Files extends Behavior {
9
+ public function processItemInternal( $args, $current ) {
10
+ Scan_Api::getCoreFiles();
11
+ Scan_Api::getCoreChecksums();
12
+
13
+ return true;
14
+ }
15
+ }
app/module/scan/behavior/core-result.php CHANGED
@@ -14,14 +14,14 @@ use WP_Defender\Module\Scan\Component\Scan_Api;
14
  use WP_Defender\Module\Scan\Model\Result_Item;
15
 
16
  class Core_Result extends Behavior {
17
-
18
  /**
19
  * Query all the info to show up on frontend
20
  * @return array
21
  */
22
  public function getInfo() {
23
  $full_path = $this->getRaw()['file'];
24
-
25
  return [
26
  'id' => $this->getOwner()->id,
27
  'type' => 'core',
@@ -33,42 +33,42 @@ class Core_Result extends Behavior {
33
  'short_desc' => $this->getIssueDetail()
34
  ];
35
  }
36
-
37
  /**
38
  * @return string
39
  */
40
  public function getTitle() {
41
  $raw = $this->getRaw();
42
-
43
  return pathinfo( $raw['file'], PATHINFO_BASENAME );
44
  }
45
-
46
  /**
47
  * @return mixed
48
  */
49
  public function getSubtitle() {
50
  $raw = $this->getRaw();
51
-
52
  return $raw['file'];
53
  }
54
-
55
  /**
56
  * Get this slug, will require for checking ignore status while scan
57
  * @return string
58
  */
59
  public function getSlug() {
60
  $raw = $this->getRaw();
61
-
62
  return $raw['file'];
63
  }
64
-
65
  /**
66
  * @return string
67
  */
68
  public function getIssueDetail() {
69
  return $this->getIssueSummary();
70
  }
71
-
72
  /**
73
  * @return string
74
  */
@@ -82,7 +82,7 @@ class Core_Result extends Behavior {
82
  return esc_html__( "This WordPress core file appears modified", "defender-security" );
83
  }
84
  }
85
-
86
  /**
87
  * Delete file referenced by this item and delete item itself
88
  * @return \WP_Error|bool
@@ -96,7 +96,7 @@ class Core_Result extends Behavior {
96
  return new \WP_Error( Error_Code::NOT_WRITEABLE, __( "Defender doesn't have enough permission to remove this file", "defender-security" ) );
97
  }
98
  $this->getOwner()->delete();
99
-
100
  return true;
101
  } elseif ( $raw['type'] == 'modified' ) {
102
  return new \WP_Error( Error_Code::INVALID, __( "This file can't be removed", "defender-security" ) );
@@ -106,11 +106,11 @@ class Core_Result extends Behavior {
106
  return $res;
107
  }
108
  $this->getOwner()->delete();
109
-
110
  return true;
111
  }
112
  }
113
-
114
  /**
115
  * Only if the file is modified, we will download the original source and replace it
116
  * @return bool|\WP_Error
@@ -121,22 +121,32 @@ class Core_Result extends Behavior {
121
  if ( $raw['type'] != 'modified' ) {
122
  return new \WP_Error( Error_Code::INVALID, __( "This file is not resolvable", "defender-security" ) );
123
  }
124
-
125
  if ( ! is_writeable( $raw['file'] ) ) {
126
  return new \WP_Error( Error_Code::NOT_WRITEABLE, sprintf( esc_html__( "It seems the %s file is currently using by another process or isn't writeable.", "defender-security" ), $raw['file'] ) );
127
  }
128
-
129
  file_put_contents( $raw['file'], $originSrc, LOCK_EX );
130
  $this->getOwner()->markAsResolved();
131
-
132
  return true;
133
  }
134
-
135
  /**
136
  * @return string
137
  */
138
  public function getSrcCode() {
139
  if ( is_file( $this->getSubtitle() ) || is_dir( $this->getSubtitle() ) ) {
 
 
 
 
 
 
 
 
 
 
140
  $raw = $this->getRaw();
141
  if ( $raw['type'] == 'unknown' ) {
142
  $content = file_get_contents( $this->getSubtitle() );
@@ -144,22 +154,22 @@ class Core_Result extends Behavior {
144
  $content = mb_convert_encoding( $content, 'UTF-8', 'ASCII' );
145
  }
146
  $entities = htmlentities( $content, null, 'UTF-8', false );
147
-
148
  return $entities;
149
  } elseif ( $raw['type'] == 'modified' ) {
150
  $original = $this->getOriginalSource();
151
  $current = file_get_contents( $this->getSubtitle() );
152
  $diff = $this->textDiff( $original, $current );
153
-
154
  return $diff;
155
  } elseif ( $raw['type'] == 'dir' ) {
156
  $files = File_Helper::findFiles( $raw['file'], true, false );
157
-
158
  return implode( PHP_EOL, $files );
159
  }
160
  }
161
  }
162
-
163
  /**
164
  * @param $left_string
165
  * @param $right_string
@@ -170,7 +180,6 @@ class Core_Result extends Behavior {
170
  if ( ! class_exists( 'Text_Diff', false ) || ! class_exists( 'Text_Diff_Renderer_inline', false ) ) {
171
  require( ABSPATH . WPINC . DIRECTORY_SEPARATOR . 'wp-diff.php' );
172
  }
173
-
174
  $left_lines = explode( "\n", $left_string );
175
  $right_lines = explode( "\n", $right_string );
176
  $text_diff = new \Text_Diff( 'auto', array(
@@ -178,25 +187,25 @@ class Core_Result extends Behavior {
178
  $left_lines
179
  ) );
180
  $renderer = new \Text_Diff_Renderer_inline();
181
-
182
  return $renderer->render( $text_diff );
183
  }
184
-
185
  /**
186
  * @return Result_Item;
187
  */
188
  protected function getOwner() {
189
  return $this->owner;
190
  }
191
-
192
  /**
193
  * @return array
194
  */
195
  protected function getRaw() {
196
  return $this->getOwner()->raw;
197
  }
198
-
199
-
200
  /**
201
  * Getting the latest original source from svn.wordpress.org
202
  * @return mixed|string
@@ -217,10 +226,10 @@ class Core_Result extends Behavior {
217
  }
218
  $content = file_get_contents( $tmp );
219
  @unlink( $tmp );
220
-
221
  return $content;
222
  }
223
-
224
  private function deleteFolder( $dir ) {
225
  if ( ! is_dir( $dir ) ) {
226
  return;
@@ -242,7 +251,7 @@ class Core_Result extends Behavior {
242
  if ( $res == false ) {
243
  return new \WP_Error( Error_Code::NOT_WRITEABLE, __( "Defender doesn't have enough permission to remove this file", "defender-security" ) );
244
  }
245
-
246
  return true;
247
  }
248
  }
14
  use WP_Defender\Module\Scan\Model\Result_Item;
15
 
16
  class Core_Result extends Behavior {
17
+
18
  /**
19
  * Query all the info to show up on frontend
20
  * @return array
21
  */
22
  public function getInfo() {
23
  $full_path = $this->getRaw()['file'];
24
+
25
  return [
26
  'id' => $this->getOwner()->id,
27
  'type' => 'core',
33
  'short_desc' => $this->getIssueDetail()
34
  ];
35
  }
36
+
37
  /**
38
  * @return string
39
  */
40
  public function getTitle() {
41
  $raw = $this->getRaw();
42
+
43
  return pathinfo( $raw['file'], PATHINFO_BASENAME );
44
  }
45
+
46
  /**
47
  * @return mixed
48
  */
49
  public function getSubtitle() {
50
  $raw = $this->getRaw();
51
+
52
  return $raw['file'];
53
  }
54
+
55
  /**
56
  * Get this slug, will require for checking ignore status while scan
57
  * @return string
58
  */
59
  public function getSlug() {
60
  $raw = $this->getRaw();
61
+
62
  return $raw['file'];
63
  }
64
+
65
  /**
66
  * @return string
67
  */
68
  public function getIssueDetail() {
69
  return $this->getIssueSummary();
70
  }
71
+
72
  /**
73
  * @return string
74
  */
82
  return esc_html__( "This WordPress core file appears modified", "defender-security" );
83
  }
84
  }
85
+
86
  /**
87
  * Delete file referenced by this item and delete item itself
88
  * @return \WP_Error|bool
96
  return new \WP_Error( Error_Code::NOT_WRITEABLE, __( "Defender doesn't have enough permission to remove this file", "defender-security" ) );
97
  }
98
  $this->getOwner()->delete();
99
+
100
  return true;
101
  } elseif ( $raw['type'] == 'modified' ) {
102
  return new \WP_Error( Error_Code::INVALID, __( "This file can't be removed", "defender-security" ) );
106
  return $res;
107
  }
108
  $this->getOwner()->delete();
109
+
110
  return true;
111
  }
112
  }
113
+
114
  /**
115
  * Only if the file is modified, we will download the original source and replace it
116
  * @return bool|\WP_Error
121
  if ( $raw['type'] != 'modified' ) {
122
  return new \WP_Error( Error_Code::INVALID, __( "This file is not resolvable", "defender-security" ) );
123
  }
124
+
125
  if ( ! is_writeable( $raw['file'] ) ) {
126
  return new \WP_Error( Error_Code::NOT_WRITEABLE, sprintf( esc_html__( "It seems the %s file is currently using by another process or isn't writeable.", "defender-security" ), $raw['file'] ) );
127
  }
128
+
129
  file_put_contents( $raw['file'], $originSrc, LOCK_EX );
130
  $this->getOwner()->markAsResolved();
131
+
132
  return true;
133
  }
134
+
135
  /**
136
  * @return string
137
  */
138
  public function getSrcCode() {
139
  if ( is_file( $this->getSubtitle() ) || is_dir( $this->getSubtitle() ) ) {
140
+ // $mime = mime_content_type( $this->getSubtitle() );
141
+ // if ( strpos( $mime, 'text/' ) !== 0 ) {
142
+ // Utils::instance()->log( sprintf( 'file %s with mime %s',$this->getSubtitle(),$mime ), 'scan' );
143
+ //
144
+ // return __( "This file type is not supported", "defender-security" );
145
+ // }
146
+ $file_size = filesize( $this->getSubtitle() );
147
+ if ( $file_size > 3145728 ) {
148
+ return __( "This file size is too big", "defender-security" );
149
+ }
150
  $raw = $this->getRaw();
151
  if ( $raw['type'] == 'unknown' ) {
152
  $content = file_get_contents( $this->getSubtitle() );
154
  $content = mb_convert_encoding( $content, 'UTF-8', 'ASCII' );
155
  }
156
  $entities = htmlentities( $content, null, 'UTF-8', false );
157
+
158
  return $entities;
159
  } elseif ( $raw['type'] == 'modified' ) {
160
  $original = $this->getOriginalSource();
161
  $current = file_get_contents( $this->getSubtitle() );
162
  $diff = $this->textDiff( $original, $current );
163
+
164
  return $diff;
165
  } elseif ( $raw['type'] == 'dir' ) {
166
  $files = File_Helper::findFiles( $raw['file'], true, false );
167
+
168
  return implode( PHP_EOL, $files );
169
  }
170
  }
171
  }
172
+
173
  /**
174
  * @param $left_string
175
  * @param $right_string
180
  if ( ! class_exists( 'Text_Diff', false ) || ! class_exists( 'Text_Diff_Renderer_inline', false ) ) {
181
  require( ABSPATH . WPINC . DIRECTORY_SEPARATOR . 'wp-diff.php' );
182
  }
 
183
  $left_lines = explode( "\n", $left_string );
184
  $right_lines = explode( "\n", $right_string );
185
  $text_diff = new \Text_Diff( 'auto', array(
187
  $left_lines
188
  ) );
189
  $renderer = new \Text_Diff_Renderer_inline();
190
+
191
  return $renderer->render( $text_diff );
192
  }
193
+
194
  /**
195
  * @return Result_Item;
196
  */
197
  protected function getOwner() {
198
  return $this->owner;
199
  }
200
+
201
  /**
202
  * @return array
203
  */
204
  protected function getRaw() {
205
  return $this->getOwner()->raw;
206
  }
207
+
208
+
209
  /**
210
  * Getting the latest original source from svn.wordpress.org
211
  * @return mixed|string
226
  }
227
  $content = file_get_contents( $tmp );
228
  @unlink( $tmp );
229
+
230
  return $content;
231
  }
232
+
233
  private function deleteFolder( $dir ) {
234
  if ( ! is_dir( $dir ) ) {
235
  return;
251
  if ( $res == false ) {
252
  return new \WP_Error( Error_Code::NOT_WRITEABLE, __( "Defender doesn't have enough permission to remove this file", "defender-security" ) );
253
  }
254
+
255
  return true;
256
  }
257
  }
app/module/scan/component/data-factory.php CHANGED
@@ -31,7 +31,7 @@ class Data_Factory {
31
  $scan = [
32
  'status' => $model->status,
33
  'status_text' => $model->statusText,
34
- 'percent' => Scan_Api::getScanProgress( true )
35
  ];
36
  } else {
37
  $issuesItems = $lastScan->getItemsAsJson( 0, Result_Item::STATUS_ISSUE, null );
31
  $scan = [
32
  'status' => $model->status,
33
  'status_text' => $model->statusText,
34
+ 'percent' => ( new Scanning() )->getScanProgress()
35
  ];
36
  } else {
37
  $issuesItems = $lastScan->getItemsAsJson( 0, Result_Item::STATUS_ISSUE, null );
app/module/scan/component/queue-factory.php ADDED
@@ -0,0 +1,84 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace WP_Defender\Module\Scan\Component;
4
+
5
+ use Hammer\Queue\Queue;
6
+ use Hammer\WP\Component;
7
+ use WP_Defender\Module\Scan\Behavior\Core_Files;
8
+ use WP_Defender\Module\Scan\Behavior\Core_Scan;
9
+ use WP_Defender\Module\Scan\Behavior\Pro\Content_Yara_Scan;
10
+ use WP_Defender\Module\Scan\Behavior\Pro\Vuln_Scan;
11
+
12
+ class Queue_Factory extends Component {
13
+ /**
14
+ * @param $slug
15
+ * @param array $args
16
+ *
17
+ * @return array|null
18
+ */
19
+ public static function queueFactory( $slug, $args = array() ) {
20
+ switch ( $slug ) {
21
+ case 'gather_core_files':
22
+ $queue = new Queue( [ 'dummy' ], 'gather_core_files', true );
23
+ $queue->args = $args;
24
+ $queue->args['owner'] = $queue;
25
+ $queue->attachBehavior( 'core_files', new Core_Files() );
26
+
27
+ return [ $queue, __( "Analyzing WordPress Core...", "defender-security" ) ];
28
+ case 'core':
29
+ $queue = new Queue(
30
+ Scan_Api::getCoreFiles(),
31
+ 'core',
32
+ true
33
+ );
34
+ $queue->args = $args;
35
+ $queue->args['owner'] = $queue;
36
+ $queue->attachBehavior( 'core', new Core_Scan() );
37
+
38
+ return [ $queue, __( "Analyzing WordPress Core...", "defender-security" ) ];
39
+ case 'vuln':
40
+ if ( ! class_exists( '\WP_Defender\Module\Scan\Behavior\Pro\Vuln_Scan' ) ) {
41
+ return null;
42
+ }
43
+
44
+ $queue = new Queue( array(
45
+ 'dummy'
46
+ ), 'vuln', true );
47
+
48
+ $queue->args = $args;
49
+ $queue->args['owner'] = $queue;
50
+ $queue->attachBehavior( 'vuln', new Vuln_Scan() );
51
+
52
+ return [
53
+ $queue,
54
+ __( "Checking for any published vulnerabilities your plugins & themes...", "defender-security" )
55
+ ];
56
+ break;
57
+ case 'gather_content_files':
58
+ if ( ! class_exists( '\WP_Defender\Module\Scan\Behavior\Pro\Content_Yara_Scan' ) ) {
59
+ return null;
60
+ }
61
+ $queue = new Queue( [ 'dummy' ], 'gather_content_files', true );
62
+
63
+ return [ $queue, __( "Analyzing WordPress Content...", "defender-security" ) ];
64
+ case 'content':
65
+ if ( ! class_exists( '\WP_Defender\Module\Scan\Behavior\Pro\Content_Yara_Scan' ) ) {
66
+ return null;
67
+ }
68
+ //dont use composer autoload preventing bloating
69
+ $queue = new Queue( Scan_Api::getContentFiles(), 'content', true );
70
+ $queue->args = $args;
71
+ $queue->args['owner'] = $queue;
72
+ $patterns = Scan_Api::getPatterns();
73
+ $queue->args['patterns'] = $patterns;
74
+ $queue->attachBehavior( 'content', new Content_Yara_Scan() );
75
+
76
+ return [ $queue, __( "Analyzing WordPress Content...", "defender-security" ) ];
77
+ break;
78
+ default:
79
+ //param not from the button on frontend, log it
80
+ error_log( sprintf( 'Unexpected value %s from IP %s', $slug, Utils::instance()->getUserIp() ) );
81
+ break;
82
+ }
83
+ }
84
+ }
app/module/scan/component/scan-api.php CHANGED
@@ -32,12 +32,13 @@ class Scan_Api extends Component {
32
  */
33
  public static function createScan() {
34
  if ( is_null( self::getActiveScan() ) ) {
35
- self::flushCache();
36
 
37
  $model = new Scan();
38
  $model->status = Scan::STATUS_INIT;
39
  $model->statusText = __( "Initializing...", "defender-security" );
40
  $model->save();
 
41
 
42
  return $model;
43
  } else {
@@ -54,11 +55,14 @@ class Scan_Api extends Component {
54
 
55
  /**
56
  * Get the current scan on going
57
- * @return null|Scan
 
 
 
58
  */
59
- public static function getActiveScan() {
60
  $cache = WP_Helper::getArrayCache();
61
- if ( $cache->exists( 'activeScan' ) ) {
62
  return $cache->get( 'activeScan' );
63
  }
64
  $model = Scan::findOne( array(
@@ -90,7 +94,6 @@ class Scan_Api extends Component {
90
 
91
  $cache->set( 'lastScan', $model );
92
 
93
-
94
  return $model;
95
  }
96
 
@@ -106,7 +109,7 @@ class Scan_Api extends Component {
106
  if ( is_array( $cached ) && ! empty( $cached ) ) {
107
  return $cached;
108
  }
109
-
110
  $settings = Settings::instance();
111
  $firstLevelFiles = File_Helper::findFiles( ABSPATH, true, true, array(
112
  'dir' => array(
@@ -128,6 +131,7 @@ class Scan_Api extends Component {
128
  $files = array_merge( $firstLevelFiles, $coreFiles );
129
  $files = apply_filters( 'wd_core_files', $files );
130
  $cache->set( self::CACHE_CORE, $files, 0 );
 
131
 
132
  return $files;
133
  }
@@ -138,6 +142,7 @@ class Scan_Api extends Component {
138
  public static function getContentFiles() {
139
  $cache = Container::instance()->get( 'cache' );
140
  $cached = $cache->get( self::CACHE_CONTENT, false );
 
141
  if ( is_array( $cached ) && ! empty( $cached ) ) {
142
  return $cached;
143
  }
@@ -145,10 +150,14 @@ class Scan_Api extends Component {
145
  $files = File_Helper::findFiles( WP_CONTENT_DIR, true, false, array(), array(
146
  'ext' => array( 'php' )
147
  ), true, $settings->max_filesize, true );
 
 
 
148
  //include wp-config.php here
149
  $files[] = ABSPATH . 'wp-config.php';
150
  $files = apply_filters( 'wd_content_files', $files );
151
  $cache->set( self::CACHE_CONTENT, $files );
 
152
 
153
  return $files;
154
  }
@@ -186,144 +195,6 @@ class Scan_Api extends Component {
186
  return $checksum;
187
  }
188
 
189
- /**
190
- * Processing a scan, return bool if done or not
191
- * @return bool|\WP_Error
192
- */
193
- public static function processActiveScan() {
194
- $model = self::getActiveScan();
195
- $start = microtime( true );
196
- if ( ! is_object( $model ) ) {
197
- return new \WP_Error( Error_Code::INVALID, __( "No scan record exists", "defender-security" ) );
198
- }
199
-
200
- if ( $model->status == Scan::STATUS_ERROR ) {
201
- //stop scan
202
- self::releaseLock();
203
-
204
- return new \WP_Error( Error_Code::SCAN_ERROR, $model->statusText );
205
- }
206
-
207
- $settings = Settings::instance();
208
- $steps = $settings->getScansAvailable();
209
- $done = 0;
210
- if ( self::isLock() ) {
211
- //locking
212
- return false;
213
- } else {
214
- //create a safe lock
215
- self::createLock();
216
- }
217
-
218
- /**
219
- * loop through scanning steps, instance scan step as queue and process
220
- */
221
- foreach ( $steps as $step ) {
222
- $queue = Settings::queueFactory( $step, array(
223
- 'model' => $model,
224
- 'ignoreList' => self::getIgnoreList()
225
- ) );
226
-
227
- if ( ! is_object( $queue ) || $queue->isEnd() ) {
228
- $done ++;
229
- continue;
230
- }
231
-
232
- $lastPost = $queue->key();
233
-
234
- if ( $lastPost == 0 ) {
235
- //this is newly, we will update the status text here
236
- switch ( $step ) {
237
- case 'core':
238
- $model->statusText = __( "Analyzing WordPress Core...", "defender-security" );
239
- break;
240
- case 'md5':
241
- $model->statusText = __( "Prepare Wordpress Content...", "defender-security" );
242
- break;
243
- case 'content':
244
- $model->statusText = __( "Analyzing WordPress Content...", "defender-security" );
245
- break;
246
- case 'vuln':
247
- $model->statusText = __( "Checking for any published vulnerabilities your plugins & themes...", "defender-security" );
248
- break;
249
- default:
250
- //param not from the button on frontend, log it
251
- error_log( sprintf( 'Unexpected value %s from IP %s', $step, Utils::instance()->getUserIp() ) );
252
- break;
253
- }
254
- $model->save();
255
- }
256
- while ( ! $queue->isEnd() ) {
257
- //while in the loop, the model can be set as ERROR, check and return of Error
258
- if ( $queue->processItem() == false ) {
259
- //we will by pass this if the process is fail
260
- //todo we will output the error and let user know
261
- $queue->next();
262
- $queue->saveProcess();
263
- self::releaseLock();
264
-
265
- return false;
266
- } else {
267
- //each request onlly allow 10s, or when reached to 64MB ram
268
- $est = microtime( true ) - $start;
269
- $currMem = ( memory_get_peak_usage( true ) / 1024 / 1024 );
270
- if ( php_sapi_name() == 'cli' ) {
271
- echo $queue->current() . PHP_EOL;
272
- }
273
- //echo $currMem . PHP_EOL;
274
- $memLimit = apply_filters( 'defender_scan_memory_alloc', 128 );
275
- if ( $est >= 15 || $currMem >= $memLimit || $queue->isEnd() || $queue->key() == 1 ) {
276
- //save current process and pause
277
- $queue->saveProcess();
278
-
279
- //unlock before return
280
- self::releaseLock();
281
- //we have to cache the checksum of content here
282
- if ( $step == 'content' ) {
283
- $altCache = WP_Helper::getArrayCache();
284
- $oldChecksum = $altCache->get( Content_Scan::CONTENT_CHECKSUM, null );
285
- $tries = $altCache->get( Content_Scan::FILES_TRIED, null );
286
- $cache = WP_Helper::getCache();
287
- if ( is_array( $oldChecksum ) ) {
288
- $cache->set( Content_Scan::CONTENT_CHECKSUM, $oldChecksum );
289
- }
290
- if ( is_array( $tries ) ) {
291
- $cache->set( Content_Scan::FILES_TRIED, $tries );
292
- }
293
- }
294
-
295
- return false;
296
- }
297
- }
298
- }
299
- //break at the end to prevent it stuck so long when init, also the heavy part is in the while loop
300
- break;
301
- }
302
-
303
- if ( $done == count( $steps ) ) {
304
- //all done
305
- //remove all old records
306
- $lastScan = self::getLastScan();
307
- if ( is_object( $lastScan ) ) {
308
- $lastScan->delete();
309
- }
310
- //mark the current as complted
311
- $model->status = Scan::STATUS_FINISH;
312
- $model->save();
313
- if ( $model->logs == 'report' ) {
314
- $settings->last_report_sent = time();
315
- $settings->save();
316
- }
317
- self::flushCache();
318
- self::releaseLock();
319
-
320
- return true;
321
- }
322
- self::releaseLock();
323
-
324
- return false;
325
- }
326
-
327
  /**
328
  * remove all scan models
329
  */
@@ -339,31 +210,19 @@ class Scan_Api extends Component {
339
  * @return Result_Item[]
340
  */
341
  public static function getIgnoreList() {
342
- if ( is_array( self::$ignoreList ) ) {
343
- return self::$ignoreList;
344
- }
345
-
346
- $ids = get_site_option( self::IGNORE_LIST );
347
- if ( $ids == false ) {
348
- $cache = Container::instance()->get( 'cache' );
349
- $ids = $cache->get( self::IGNORE_LIST, array() );
350
- update_site_option( self::IGNORE_LIST, $ids );
351
- } elseif ( ! is_array( $ids ) ) {
352
- $ids = unserialize( $ids );
353
- }
354
-
355
- if ( empty( $ids ) ) {
356
- self::$ignoreList = array();
357
-
358
- return array();
359
  }
 
360
 
361
  $ignoreList = Result_Item::findAll( array(
362
  'id' => $ids
363
  ) );
364
 
365
- self::$ignoreList = $ignoreList;
366
-
367
 
368
  return $ignoreList;
369
  }
@@ -392,17 +251,9 @@ class Scan_Api extends Component {
392
  * @param $id
393
  */
394
  public static function indexIgnore( $id ) {
395
- $ids = get_site_option( self::IGNORE_LIST );
396
- if ( $ids == false ) {
397
- $cache = Container::instance()->get( 'cache' );
398
- $ids = $cache->get( self::IGNORE_LIST, array() );
399
- } elseif ( ! is_array( $ids ) ) {
400
- $ids = unserialize( $ids );
401
- }
402
- if ( ! is_array( $ids ) ) {
403
- $ids = array();
404
- }
405
  $ids[] = $id;
 
406
  update_site_option( self::IGNORE_LIST, $ids );
407
  }
408
 
@@ -412,91 +263,20 @@ class Scan_Api extends Component {
412
  * @param $id
413
  */
414
  public static function unIndexIgnore( $id ) {
415
- $ids = get_site_option( self::IGNORE_LIST );
416
- if ( $ids == false ) {
417
- $cache = Container::instance()->get( 'cache' );
418
- $ids = $cache->get( self::IGNORE_LIST, array() );
419
- } elseif ( ! is_array( $ids ) ) {
420
- $ids = unserialize( $ids );
421
- }
422
- if ( ! is_array( $ids ) ) {
423
- $ids = array();
424
  }
425
  unset( $ids[ array_search( $id, $ids ) ] );
426
  update_site_option( self::IGNORE_LIST, $ids );
427
  }
428
 
429
- /**
430
- * Get current percent, if $getFromCache set to true, we will get the last cached value
431
- *
432
- * @param bool $getFromCache
433
- *
434
- * @return float|int
435
- */
436
- public static function getScanProgress( $getFromCache = false ) {
437
- $cache = WP_Helper::getCache();
438
- if ( $getFromCache ) {
439
- $cache = $cache->get( 'defenderScanPercent' );
440
- if ( $cache == false ) {
441
- return 0;
442
- }
443
-
444
- return $cache;
445
- }
446
-
447
- $settings = Settings::instance();
448
- $steps = $settings->getScansAvailable();
449
- $total = 0;
450
- $currentIndex = 0;
451
- foreach ( $steps as $step ) {
452
- $queue = Settings::queueFactory( $step, array() );
453
- if ( is_object( $queue ) ) {
454
- $total += $queue->count();
455
- if ( $queue->isEnd() ) {
456
- $currentIndex += $queue->count();
457
- } else {
458
- $currentIndex += $queue->key();
459
- }
460
- }
461
- }
462
-
463
- $percent = 0;
464
- if ( $total > 0 ) {
465
- $percent = round( ( $currentIndex / $total ) * 100, 2 );
466
- }
467
- $cache->set( 'defenderScanPercent', $percent, 3600 );
468
-
469
- return $percent;
470
- }
471
-
472
  /**
473
  * flush all cache generated during scan process
 
474
  */
475
- public static function flushCache( $flushQueue = true ) {
476
- $cache = WP_Helper::getCache();
477
- if ( $flushQueue == true ) {
478
- $settings = Settings::instance();
479
- $steps = $settings->getScansAvailable();
480
- foreach ( $steps as $step ) {
481
- $queue = Settings::queueFactory( $step, array() );
482
- if ( is_object( $queue ) ) {
483
- $queue->clearStatusData();
484
- }
485
- }
486
- }
487
- //todo still update
488
- $cache->delete( self::CACHE_CORE );
489
- $cache->delete( self::CACHE_CONTENT );
490
- $cache->delete( self::SCAN_PATTERN );
491
- delete_site_option( self::SCAN_PATTERN );
492
- $cache->delete( 'filestried' );
493
- $cache->delete( self::CACHE_CHECKSUMS );
494
- $cache->delete( 'defenderScanPercent' );
495
- $altCache = WP_Helper::getArrayCache();
496
- $altCache->delete( 'lastScan' );
497
- $altCache->delete( 'activeScan' );
498
- Scan_Api::releaseLock();
499
- File_Helper::deleteFolder( Utils::instance()->getDefUploadDir() . '/md5-scan' );
500
  }
501
 
502
  /**
@@ -586,51 +366,6 @@ class Scan_Api extends Component {
586
  }
587
  }
588
 
589
- /**
590
- * Create a lock
591
- * @return int
592
- */
593
- public static function createLock() {
594
- $lockPath = WP_Helper::getUploadDir() . '/wp-defender/';
595
- if ( ! is_dir( $lockPath ) ) {
596
- wp_mkdir_p( $lockPath );
597
- }
598
-
599
- $lockFile = $lockPath . 'scan-lock';
600
-
601
- return file_put_contents( $lockFile, time(), LOCK_EX );
602
- }
603
-
604
- /**
605
- * @return bool
606
- */
607
- public static function isLock() {
608
- $lockPath = WP_Helper::getUploadDir() . '/wp-defender/';
609
- $lockFile = $lockPath . 'scan-lock';
610
- if ( ! is_file( $lockFile ) ) {
611
- return false;
612
- }
613
-
614
- $time = file_get_contents( $lockFile );
615
- if ( strtotime( '+1 minutes', $time ) < time() ) {
616
- //this lock locked for too long, unlock it
617
- @unlink( $lockFile );
618
-
619
- return false;
620
- }
621
-
622
- return true;
623
- }
624
-
625
- /**
626
- * release a lock
627
- */
628
- public static function releaseLock() {
629
- $lockPath = WP_Helper::getUploadDir() . '/wp-defender/';
630
- $lockFile = $lockPath . 'scan-lock';
631
- @unlink( $lockFile );
632
- }
633
-
634
  /**
635
  * @return array|mixed|object|\WP_Error
636
  */
@@ -641,20 +376,26 @@ class Scan_Api extends Component {
641
  }
642
 
643
  $patterns = get_site_option( Scan_Api::SCAN_PATTERN, null );
 
644
  if ( is_array( $patterns ) ) {
645
  //return pattern if that exists, no matter the content
646
  return $patterns;
647
  }
 
 
 
 
648
 
649
- $api_endpoint = "https://premium.wpmudev.org/api/defender/v1/signatures";
650
- $patterns = Utils::instance()->devCall( $api_endpoint, array(), array(
651
  'method' => 'GET'
652
  ) );
 
 
 
653
  if ( is_wp_error( $patterns ) || $patterns == false ) {
654
  $patterns = array();
655
  }
656
-
657
-
658
  update_site_option( Scan_Api::SCAN_PATTERN, $patterns );
659
 
660
  return $patterns;
32
  */
33
  public static function createScan() {
34
  if ( is_null( self::getActiveScan() ) ) {
35
+ ( new Scanning() )->flushCache();
36
 
37
  $model = new Scan();
38
  $model->status = Scan::STATUS_INIT;
39
  $model->statusText = __( "Initializing...", "defender-security" );
40
  $model->save();
41
+ Utils::instance()->clear_log( 'scan' );
42
 
43
  return $model;
44
  } else {
55
 
56
  /**
57
  * Get the current scan on going
58
+ *
59
+ * @param $fresh
60
+ *
61
+ * @return false|mixed|Scan|null
62
  */
63
+ public static function getActiveScan( $fresh = false ) {
64
  $cache = WP_Helper::getArrayCache();
65
+ if ( $cache->exists( 'activeScan' ) && $fresh == false ) {
66
  return $cache->get( 'activeScan' );
67
  }
68
  $model = Scan::findOne( array(
94
 
95
  $cache->set( 'lastScan', $model );
96
 
 
97
  return $model;
98
  }
99
 
109
  if ( is_array( $cached ) && ! empty( $cached ) ) {
110
  return $cached;
111
  }
112
+ $time = microtime( true );
113
  $settings = Settings::instance();
114
  $firstLevelFiles = File_Helper::findFiles( ABSPATH, true, true, array(
115
  'dir' => array(
131
  $files = array_merge( $firstLevelFiles, $coreFiles );
132
  $files = apply_filters( 'wd_core_files', $files );
133
  $cache->set( self::CACHE_CORE, $files, 0 );
134
+ Utils::instance()->log( sprintf( 'Core files: %d time finished: %s', count( $files ), microtime( true ) - $time ), 'scan' );
135
 
136
  return $files;
137
  }
142
  public static function getContentFiles() {
143
  $cache = Container::instance()->get( 'cache' );
144
  $cached = $cache->get( self::CACHE_CONTENT, false );
145
+
146
  if ( is_array( $cached ) && ! empty( $cached ) ) {
147
  return $cached;
148
  }
150
  $files = File_Helper::findFiles( WP_CONTENT_DIR, true, false, array(), array(
151
  'ext' => array( 'php' )
152
  ), true, $settings->max_filesize, true );
153
+ // $files = File_Helper::findFiles( WP_CONTENT_DIR . '/removidosnomaa', true, false, array(), array(
154
+ // 'ext' => array( 'php' )
155
+ // ), true, $settings->max_filesize, true );
156
  //include wp-config.php here
157
  $files[] = ABSPATH . 'wp-config.php';
158
  $files = apply_filters( 'wd_content_files', $files );
159
  $cache->set( self::CACHE_CONTENT, $files );
160
+ Utils::instance()->log( sprintf( 'Content files: %d', count( $files ) ), 'scan' );
161
 
162
  return $files;
163
  }
195
  return $checksum;
196
  }
197
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
198
  /**
199
  * remove all scan models
200
  */
210
  * @return Result_Item[]
211
  */
212
  public static function getIgnoreList() {
213
+ $cache = WP_Helper::getArrayCache();
214
+ $cached = $cache->get( self::IGNORE_LIST, false );
215
+ if ( is_array( $cached ) ) {
216
+ return $cached;
 
 
 
 
 
 
 
 
 
 
 
 
 
217
  }
218
+ $ids = get_site_option( self::IGNORE_LIST, [] );
219
 
220
  $ignoreList = Result_Item::findAll( array(
221
  'id' => $ids
222
  ) );
223
 
224
+ $cached = $ignoreList;
225
+ $cache->set( self::IGNORE_LIST, $cached );
226
 
227
  return $ignoreList;
228
  }
251
  * @param $id
252
  */
253
  public static function indexIgnore( $id ) {
254
+ $ids = get_site_option( self::IGNORE_LIST, [] );
 
 
 
 
 
 
 
 
 
255
  $ids[] = $id;
256
+ $ids = array_unique( $ids );
257
  update_site_option( self::IGNORE_LIST, $ids );
258
  }
259
 
263
  * @param $id
264
  */
265
  public static function unIndexIgnore( $id ) {
266
+ $ids = get_site_option( self::IGNORE_LIST, [] );
267
+ if ( empty( $ids ) ) {
268
+ return;
 
 
 
 
 
 
269
  }
270
  unset( $ids[ array_search( $id, $ids ) ] );
271
  update_site_option( self::IGNORE_LIST, $ids );
272
  }
273
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
274
  /**
275
  * flush all cache generated during scan process
276
+ * @deprecated
277
  */
278
+ public static function flushCache() {
279
+ ( new Scanning() )->flushCache();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
280
  }
281
 
282
  /**
366
  }
367
  }
368
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
369
  /**
370
  * @return array|mixed|object|\WP_Error
371
  */
376
  }
377
 
378
  $patterns = get_site_option( Scan_Api::SCAN_PATTERN, null );
379
+
380
  if ( is_array( $patterns ) ) {
381
  //return pattern if that exists, no matter the content
382
  return $patterns;
383
  }
384
+ $base = defined( 'WPMUDEV_CUSTOM_API_SERVER' ) && WPMUDEV_CUSTOM_API_SERVER
385
+ ? WPMUDEV_CUSTOM_API_SERVER
386
+ : 'https://premium.wpmudev.org/';
387
+ $api_endpoint = "{$base}api/defender/v1/yara-signatures";
388
 
389
+ $patterns = Utils::instance()->devCall( $api_endpoint, array(), array(
 
390
  'method' => 'GET'
391
  ) );
392
+ if ( is_wp_error( $patterns ) ) {
393
+ Utils::instance()->log( $patterns->get_error_message(), 'scan' );
394
+ }
395
  if ( is_wp_error( $patterns ) || $patterns == false ) {
396
  $patterns = array();
397
  }
398
+ Utils::instance()->log( sprintf( 'Fetch rules from %s. Found %d', $api_endpoint, count( $patterns ) ), 'scan' );
 
399
  update_site_option( Scan_Api::SCAN_PATTERN, $patterns );
400
 
401
  return $patterns;
app/module/scan/component/scanning.php ADDED
@@ -0,0 +1,177 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace WP_Defender\Module\Scan\Component;
4
+
5
+ use Hammer\Base\Component;
6
+ use Hammer\Helper\File_Helper;
7
+ use Hammer\Helper\WP_Helper;
8
+ use WP_Defender\Behavior\Utils;
9
+ use WP_Defender\Component\Error_Code;
10
+ use WP_Defender\Module\Scan\Model\Scan;
11
+ use WP_Defender\Module\Scan\Model\Settings;
12
+
13
+ class Scanning extends Component {
14
+ const CACHE_CURRENT_STEP = 'wdf_scan_current', CACHE_PERCENTAGE = 'wdf_scan_percent';
15
+
16
+ /**
17
+ * @return bool|\WP_Error
18
+ */
19
+ public function do() {
20
+ $model = Scan_Api::getActiveScan();
21
+ $start = microtime( true );
22
+ if ( ! is_object( $model ) ) {
23
+ return new \WP_Error( Error_Code::INVALID, __( "No scan record exists", "defender-security" ) );
24
+ }
25
+
26
+ if ( $model->status == Scan::STATUS_ERROR ) {
27
+ //stop scan
28
+ $this->releaseLock();
29
+
30
+ return new \WP_Error( Error_Code::SCAN_ERROR, $model->statusText );
31
+ }
32
+
33
+ if ( $this->isLock() ) {
34
+ return false;
35
+ }
36
+ $this->createLock();
37
+ $settings = Settings::instance();
38
+ $cache = WP_Helper::getCache();
39
+ $steps = $settings->getScansAvailable();
40
+ $current = $cache->get( self::CACHE_CURRENT_STEP, $steps[0] );
41
+ $index = array_search( $current, $steps );
42
+ list( $queue, $status_text ) = Queue_Factory::queueFactory( $current, [
43
+ 'model' => $model,
44
+ 'ignoreList' => Scan_Api::getIgnoreList()
45
+ ] );
46
+ $model->statusText = $status_text;
47
+ $model->status = Scan::STATUS_PROCESS;
48
+ $model->save();
49
+ while ( ! $queue->isEnd() ) {
50
+ $result = $queue->processItem();
51
+ if ( $result === false ) {
52
+ //current item fail, return
53
+ $queue->saveProcess();
54
+ $this->releaseLock();
55
+
56
+ return false;
57
+ }
58
+ if ( microtime( true ) - $start > 5 ) {
59
+ //the process take too long, break out
60
+ $queue->saveProcess();
61
+ break;
62
+ }
63
+ }
64
+ Utils::instance()->log( sprintf( 'current %s took %s', $current, ( microtime( true ) - $start ) ), 'scan' );
65
+ $base_progress = round( ( ( $index ) / count( $steps ) ) * 100, 2 );
66
+ $internal_progress = ( ( $queue->key() / $queue->count() ) * 100 ) * ( 1 / count( $steps ) * 100 ) * 0.01;
67
+ $cache->set( self::CACHE_PERCENTAGE, $base_progress + $internal_progress );
68
+ if ( $queue->isEnd() ) {
69
+ $remaining = array_slice( $steps, $index + 1 );
70
+ if ( count( $remaining ) == 0 ) {
71
+ //scan done
72
+ $this->markScanFinish( $model );
73
+
74
+ return true;
75
+ } else {
76
+ //we store the next
77
+ $cache->set( self::CACHE_CURRENT_STEP, $remaining[0] );
78
+ }
79
+ }
80
+ $this->releaseLock();
81
+
82
+ return false;
83
+ }
84
+
85
+ /**
86
+ * @return false|mixed|null
87
+ */
88
+ public function getScanProgress() {
89
+ $cache = WP_Helper::getCache();
90
+
91
+ return $cache->get( self::CACHE_PERCENTAGE, 0 );
92
+ }
93
+
94
+ /**
95
+ * @param Scan $model
96
+ */
97
+ private function markScanFinish( $model ) {
98
+ $lastScan = Scan_Api::getLastScan();
99
+ if ( is_object( $lastScan ) ) {
100
+ $lastScan->delete();
101
+ }
102
+ //mark the current as complted
103
+ $model->status = Scan::STATUS_FINISH;
104
+ $model->save();
105
+ $this->flushCache();
106
+ $this->releaseLock();
107
+ }
108
+
109
+ public function flushCache( $flushQueue = true ) {
110
+ $cache = WP_Helper::getCache();
111
+ if ( $flushQueue == true ) {
112
+ $settings = Settings::instance();
113
+ $steps = $settings->getScansAvailable();
114
+ foreach ( $steps as $step ) {
115
+ $queue = Settings::queueFactory( $step, array() );
116
+ if ( is_object( $queue ) ) {
117
+ $queue->clearStatusData();
118
+ }
119
+ }
120
+ }
121
+ //todo still update
122
+ $cache->delete( Scan_Api::CACHE_CORE );
123
+ $cache->delete( Scan_Api::CACHE_CONTENT );
124
+ $cache->delete( Scan_Api::SCAN_PATTERN );
125
+ $cache->delete( self::CACHE_CURRENT_STEP );
126
+ delete_site_option( Scan_Api::SCAN_PATTERN );
127
+ $cache->delete( 'filestried' );
128
+ $cache->delete( Scan_Api::CACHE_CHECKSUMS );
129
+ $cache->delete( 'defenderScanPercent' );
130
+ $altCache = WP_Helper::getArrayCache();
131
+ $altCache->delete( 'lastScan' );
132
+ $altCache->delete( 'activeScan' );
133
+ }
134
+
135
+ /**
136
+ * Create a lock
137
+ * @return int
138
+ */
139
+ public function createLock() {
140
+ $lockPath = Utils::instance()->getDefUploadDir();
141
+
142
+ $lockFile = $lockPath . DIRECTORY_SEPARATOR . 'scan-lock';
143
+
144
+ return file_put_contents( $lockFile, time(), LOCK_EX );
145
+ }
146
+
147
+ /**
148
+ * @return bool
149
+ */
150
+ public function isLock() {
151
+ $lockPath = Utils::instance()->getDefUploadDir();
152
+ $lockFile = $lockPath . DIRECTORY_SEPARATOR . 'scan-lock';
153
+ if ( ! is_file( $lockFile ) ) {
154
+ return false;
155
+ }
156
+
157
+ $time = file_get_contents( $lockFile );
158
+ if ( strtotime( '+1 minutes', $time ) < time() ) {
159
+ //this lock locked for too long, unlock it
160
+ @unlink( $lockFile );
161
+
162
+ return false;
163
+ }
164
+
165
+ return true;
166
+ }
167
+
168
+ /**
169
+ * Release scan lock
170
+ */
171
+ public function releaseLock() {
172
+ $lockPath = WP_Helper::getUploadDir() . '/wp-defender/';
173
+ $lockFile = $lockPath . 'scan-lock';
174
+ @unlink( $lockFile );
175
+ }
176
+
177
+ }
app/module/scan/component/token-utils.php CHANGED
@@ -22,7 +22,7 @@ class Token_Utils extends Component {
22
  *
23
  * @return bool
24
  */
25
- public static function findPrevious( $token, $from, $end = null ) {
26
  for ( $i = $from; $i >= $end; $i -- ) {
27
  if ( isset( self::$tokens[ $i ] ) && self::$tokens[ $i ]['code'] == $token ) {
28
  return $i;
22
  *
23
  * @return bool
24
  */
25
+ public static function findPrevious( $token, $from, $end = 0 ) {
26
  for ( $i = $from; $i >= $end; $i -- ) {
27
  if ( isset( self::$tokens[ $i ] ) && self::$tokens[ $i ]['code'] == $token ) {
28
  return $i;
app/module/scan/controller/main.php CHANGED
@@ -13,7 +13,7 @@ use WP_Defender\Module\Scan\Model\Result_Item;
13
  */
14
  class Main extends \WP_Defender\Controller {
15
  protected $slug = 'wdf-scan';
16
-
17
  /**
18
  * @return array
19
  */
@@ -23,14 +23,14 @@ class Main extends \WP_Defender\Controller {
23
  'endpoints' => '\WP_Defender\Behavior\Endpoint',
24
  'wpmudev' => '\WP_Defender\Behavior\WPMUDEV'
25
  ];
26
-
27
  if ( wp_defender()->isFree == false ) {
28
  $behaviors['pro'] = '\WP_Defender\Module\Scan\Behavior\Pro\Reporting';
29
  }
30
-
31
  return $behaviors;
32
  }
33
-
34
  /**
35
  * Main constructor.
36
  */
@@ -40,19 +40,19 @@ class Main extends \WP_Defender\Controller {
40
  } else {
41
  $this->addAction( 'admin_menu', 'adminMenu' );
42
  }
43
-
44
  if ( $this->isInPage() || $this->isDashboard() ) {
45
  $this->addAction( 'defender_enqueue_assets', 'scripts', 11 );
46
  }
47
-
48
  //process scan in background
49
  $this->addAction( 'processScanCron', 'processScanCron' );
50
  //scan as schedule
51
  $this->addAction( 'scanReportCron', 'scanReportCron' );
52
-
53
  $this->addAction( 'sendScanEmail', 'sendEmailReport' );
54
  }
55
-
56
  /**
57
  * @return bool|void
58
  */
@@ -60,7 +60,7 @@ class Main extends \WP_Defender\Controller {
60
  if ( wp_defender()->isFree ) {
61
  return;
62
  }
63
-
64
  $settings = Settings::instance();
65
  $lastReportSent = $settings->last_report_sent;
66
  if ( $lastReportSent == null ) {
@@ -75,21 +75,23 @@ class Main extends \WP_Defender\Controller {
75
  $lastReportSent = strtotime( '-31 days', current_time( 'timestamp' ) );
76
  }
77
  }
78
-
79
  if ( ! $this->isReportTime( $settings->frequency, $settings->day, $lastReportSent ) ) {
80
  return false;
81
  }
82
-
83
  //need to check if we already have a scan in progress
84
  $activeScan = Scan_Api::getActiveScan();
85
  if ( ! is_object( $activeScan ) ) {
86
- $model = Scan_Api::createScan();
 
87
  $model->logs = 'report';
 
88
  wp_clear_scheduled_hook( 'processScanCron' );
89
  wp_schedule_single_event( strtotime( '+1 minutes' ), 'processScanCron' );
90
  }
91
  }
92
-
93
  /**
94
  * Process a scan via cronjob, only use to process in background, not create a new scan
95
  */
@@ -100,15 +102,16 @@ class Main extends \WP_Defender\Controller {
100
  }
101
  //sometime the scan get stuck, queue it first
102
  wp_schedule_single_event( strtotime( '+1 minutes' ), 'processScanCron' );
103
-
104
  $activeScan = Scan_Api::getActiveScan();
105
  if ( ! is_object( $activeScan ) ) {
106
  //no scan created, return
107
  return;
108
  }
109
-
110
- $ret = Scan_Api::processActiveScan();
111
-
 
112
  if ( $ret == true ) {
113
  //completed
114
  $this->sendEmailReport();
@@ -117,7 +120,7 @@ class Main extends \WP_Defender\Controller {
117
  wp_clear_scheduled_hook( 'processScanCron' );
118
  }
119
  }
120
-
121
  /**
122
  * Add submit admin page
123
  */
@@ -128,14 +131,14 @@ class Main extends \WP_Defender\Controller {
128
  'actionIndex'
129
  ) );
130
  }
131
-
132
  /**
133
  * Enqueue scripts & styles
134
  */
135
  public function scripts() {
136
  if ( $this->isInPage() ) {
137
  wp_enqueue_style( 'defender' );
138
-
139
  wp_register_script( 'defender-scan', wp_defender()->getPluginUrl() . 'assets/app/scan.js', [
140
  'vue',
141
  'defender',
@@ -149,7 +152,7 @@ class Main extends \WP_Defender\Controller {
149
  wp_enqueue_script( 'wpmudev-sui' );
150
  }
151
  }
152
-
153
  public function _scriptsData() {
154
  if ( ! $this->checkPermission() ) {
155
  return [];
@@ -170,58 +173,54 @@ class Main extends \WP_Defender\Controller {
170
  ],
171
  'endpoints' => $this->getAllAvailableEndpoints( Scan::getClassName() ),
172
  ] );
173
-
174
  return $data;
175
  }
176
-
177
  /**
178
  * Internal route for this module
179
  */
180
  public function actionIndex() {
181
  $this->render( 'main' );
182
  }
183
-
184
  public function sendEmailReport( $force = false ) {
185
  $settings = Settings::instance();
186
-
187
  $model = Scan_Api::getLastScan();
188
  if ( ! is_object( $model ) ) {
189
  return;
190
  }
191
-
192
- if ( $settings->notification == false && $force != true ) {
193
- return false;
194
- }
195
-
196
  $count = $model->countAll( Result_Item::STATUS_ISSUE );
197
-
198
  //Check one instead of validating both conditions
199
  if ( $model->logs == 'report' ) {
200
  if ( $settings->report == false ) {
201
  return;
202
  }
203
-
204
  if ( $settings->always_send == false && $count == 0 ) {
205
  return;
206
  }
207
-
208
  $recipients = $settings->recipients;
209
  } else {
210
  if ( $settings->notification == false ) {
211
  return;
212
  }
213
-
214
  if ( $settings->always_send_notification == false && $count == 0 ) {
215
  return;
216
  }
217
-
218
  $recipients = $settings->recipients_notification;
219
  }
220
-
221
  if ( empty( $recipients ) ) {
222
  return;
223
  }
224
-
225
  foreach ( $recipients as $item ) {
226
  //prepare the parameters
227
  $email = $item['email'];
@@ -248,7 +247,7 @@ class Main extends \WP_Defender\Controller {
248
  //change nl to br
249
  $email_content = wpautop( stripslashes( $email_content ) );
250
  $email_content = apply_filters( 'wd_notification_email_content_after', $email_content, $model );
251
-
252
  $email_template = $this->renderPartial( 'email-template', array(
253
  'subject' => $subject,
254
  'message' => $email_content
@@ -262,7 +261,7 @@ class Main extends \WP_Defender\Controller {
262
  wp_mail( $email, $subject, $email_template, $headers );
263
  }
264
  }
265
-
266
  /**
267
  * Build issues html table
268
  *
@@ -275,57 +274,57 @@ class Main extends \WP_Defender\Controller {
275
  private function issuesListHtml( Scan\Model\Scan $model ) {
276
  ob_start();
277
  ?>
278
- <table class="results-list"
279
- style="border-collapse: collapse; border-spacing: 0; padding: 0; text-align: left; vertical-align: top;">
280
- <thead class="results-list-header" style="border-bottom: 2px solid #ff5c28;">
281
- <tr style="padding: 0; text-align: left; vertical-align: top;">
282
- <th class="result-list-label-title"
283
- style="Margin: 0; color: #ff5c28; font-family: Helvetica, Arial, sans-serif; font-size: 22px; font-weight: 700; line-height: 48px; margin: 0; padding: 0; text-align: left; width: 35%;"><?php esc_html_e( "File", "defender-security" ) ?></th>
284
- <th class="result-list-data-title"
285
- style="Margin: 0; color: #ff5c28; font-family: Helvetica, Arial, sans-serif; font-size: 22px; font-weight: 700; line-height: 48px; margin: 0; padding: 0; text-align: left;"><?php esc_html_e( "Issue", "defender-security" ) ?></th>
286
- </tr>
287
- </thead>
288
- <tbody class="results-list-content">
289
  <?php foreach ( $model->getItems() as $k => $item ): ?>
290
  <?php if ( $k == 0 ): ?>
291
- <tr style="padding: 0; text-align: left; vertical-align: top;">
292
- <td class="result-list-label"
293
- style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: 700; hyphens: auto; line-height: 28px; margin: 0; padding: 20px 5px; text-align: left; vertical-align: top; word-wrap: break-word;"><?php echo $item->getTitle() ?>
294
- <span
295
- style="display: inline-block; font-weight: 400; width: 100%;"><?php echo $item->getSubTitle() ?></span>
296
- </td>
297
- <td class="result-list-data"
298
- style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: 700; hyphens: auto; line-height: 28px; margin: 0; padding: 20px 5px; text-align: left; vertical-align: top; word-wrap: break-word;"><?php echo $item->getIssueDetail() ?></td>
299
- </tr>
300
  <?php else: ?>
301
- <tr style="padding: 0; text-align: left; vertical-align: top;">
302
- <td class="result-list-label <?php echo $k > 0 ? " bordered" : null ?>"
303
- style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; border-top: 2px solid #ff5c28; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: 700; hyphens: auto; line-height: 28px; margin: 0; padding: 20px 5px; text-align: left; vertical-align: top; word-wrap: break-word;"><?php echo $item->getTitle() ?>
304
- <span
305
- style="display: inline-block; font-weight: 400; width: 100%;"><?php echo $item->getSubTitle() ?></span>
306
- </td>
307
- <td class="result-list-data <?php echo $k > 0 ? " bordered" : null ?>"
308
- style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; border-top: 2px solid #ff5c28; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: 700; hyphens: auto; line-height: 28px; margin: 0; padding: 20px 5px; text-align: left; vertical-align: top; word-wrap: break-word;"><?php echo $item->getIssueDetail() ?></td>
309
- </tr>
310
  <?php endif; ?>
311
  <?php endforeach; ?>
312
- </tbody>
313
- <tfoot class="results-list-footer">
314
- <tr style="padding: 0; text-align: left; vertical-align: top;">
315
- <td colspan="2"
316
- style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; hyphens: auto; line-height: 26px; margin: 0; padding: 10px 0 0; text-align: left; vertical-align: top; word-wrap: break-word;">
317
- <p style="Margin: 0; Margin-bottom: 0; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; line-height: 26px; margin: 0; margin-bottom: 0; padding: 0 0 24px; text-align: left;">
318
- <a class="plugin-brand" href="<?php echo network_admin_url( 'admin.php?page=wdf-scan' ) ?>"
319
- style="Margin: 0; color: #ff5c28; display: inline-block; font: inherit; font-family: Helvetica, Arial, sans-serif; font-weight: normal; line-height: 1.3; margin: 0; padding: 0; text-align: left; text-decoration: none;"><?php esc_html_e( "Let's get your site patched up.", "defender-security" ) ?>
320
- <img class="icon-arrow-right"
321
- src="<?php echo wp_defender()->getPluginUrl() ?>assets/email-images/icon-arrow-right-defender.png"
322
- alt="Arrow"
323
- style="-ms-interpolation-mode: bicubic; border: none; clear: both; display: inline-block; margin: -2px 0 0 5px; max-width: 100%; outline: none; text-decoration: none; vertical-align: middle; width: auto;"></a>
324
- </p>
325
- </td>
326
- </tr>
327
- </tfoot>
328
- </table>
329
  <?php
330
  return ob_get_clean();
331
  }
13
  */
14
  class Main extends \WP_Defender\Controller {
15
  protected $slug = 'wdf-scan';
16
+
17
  /**
18
  * @return array
19
  */
23
  'endpoints' => '\WP_Defender\Behavior\Endpoint',
24
  'wpmudev' => '\WP_Defender\Behavior\WPMUDEV'
25
  ];
26
+
27
  if ( wp_defender()->isFree == false ) {
28
  $behaviors['pro'] = '\WP_Defender\Module\Scan\Behavior\Pro\Reporting';
29
  }
30
+
31
  return $behaviors;
32
  }
33
+
34
  /**
35
  * Main constructor.
36
  */
40
  } else {
41
  $this->addAction( 'admin_menu', 'adminMenu' );
42
  }
43
+
44
  if ( $this->isInPage() || $this->isDashboard() ) {
45
  $this->addAction( 'defender_enqueue_assets', 'scripts', 11 );
46
  }
47
+
48
  //process scan in background
49
  $this->addAction( 'processScanCron', 'processScanCron' );
50
  //scan as schedule
51
  $this->addAction( 'scanReportCron', 'scanReportCron' );
52
+
53
  $this->addAction( 'sendScanEmail', 'sendEmailReport' );
54
  }
55
+
56
  /**
57
  * @return bool|void
58
  */
60
  if ( wp_defender()->isFree ) {
61
  return;
62
  }
63
+
64
  $settings = Settings::instance();
65
  $lastReportSent = $settings->last_report_sent;
66
  if ( $lastReportSent == null ) {
75
  $lastReportSent = strtotime( '-31 days', current_time( 'timestamp' ) );
76
  }
77
  }
78
+
79
  if ( ! $this->isReportTime( $settings->frequency, $settings->day, $lastReportSent ) ) {
80
  return false;
81
  }
82
+
83
  //need to check if we already have a scan in progress
84
  $activeScan = Scan_Api::getActiveScan();
85
  if ( ! is_object( $activeScan ) ) {
86
+ Scan_Api::createScan();
87
+ $model = Scan_Api::getActiveScan( true );
88
  $model->logs = 'report';
89
+ $model->save();
90
  wp_clear_scheduled_hook( 'processScanCron' );
91
  wp_schedule_single_event( strtotime( '+1 minutes' ), 'processScanCron' );
92
  }
93
  }
94
+
95
  /**
96
  * Process a scan via cronjob, only use to process in background, not create a new scan
97
  */
102
  }
103
  //sometime the scan get stuck, queue it first
104
  wp_schedule_single_event( strtotime( '+1 minutes' ), 'processScanCron' );
105
+
106
  $activeScan = Scan_Api::getActiveScan();
107
  if ( ! is_object( $activeScan ) ) {
108
  //no scan created, return
109
  return;
110
  }
111
+
112
+ $scanning = new Scan\Component\Scanning();
113
+ $ret = $scanning->do();
114
+
115
  if ( $ret == true ) {
116
  //completed
117
  $this->sendEmailReport();
120
  wp_clear_scheduled_hook( 'processScanCron' );
121
  }
122
  }
123
+
124
  /**
125
  * Add submit admin page
126
  */
131
  'actionIndex'
132
  ) );
133
  }
134
+
135
  /**
136
  * Enqueue scripts & styles
137
  */
138
  public function scripts() {
139
  if ( $this->isInPage() ) {
140
  wp_enqueue_style( 'defender' );
141
+
142
  wp_register_script( 'defender-scan', wp_defender()->getPluginUrl() . 'assets/app/scan.js', [
143
  'vue',
144
  'defender',
152
  wp_enqueue_script( 'wpmudev-sui' );
153
  }
154
  }
155
+
156
  public function _scriptsData() {
157
  if ( ! $this->checkPermission() ) {
158
  return [];
173
  ],
174
  'endpoints' => $this->getAllAvailableEndpoints( Scan::getClassName() ),
175
  ] );
176
+
177
  return $data;
178
  }
179
+
180
  /**
181
  * Internal route for this module
182
  */
183
  public function actionIndex() {
184
  $this->render( 'main' );
185
  }
186
+
187
  public function sendEmailReport( $force = false ) {
188
  $settings = Settings::instance();
189
+
190
  $model = Scan_Api::getLastScan();
191
  if ( ! is_object( $model ) ) {
192
  return;
193
  }
194
+
 
 
 
 
195
  $count = $model->countAll( Result_Item::STATUS_ISSUE );
196
+
197
  //Check one instead of validating both conditions
198
  if ( $model->logs == 'report' ) {
199
  if ( $settings->report == false ) {
200
  return;
201
  }
202
+
203
  if ( $settings->always_send == false && $count == 0 ) {
204
  return;
205
  }
206
+
207
  $recipients = $settings->recipients;
208
  } else {
209
  if ( $settings->notification == false ) {
210
  return;
211
  }
212
+
213
  if ( $settings->always_send_notification == false && $count == 0 ) {
214
  return;
215
  }
216
+
217
  $recipients = $settings->recipients_notification;
218
  }
219
+
220
  if ( empty( $recipients ) ) {
221
  return;
222
  }
223
+
224
  foreach ( $recipients as $item ) {
225
  //prepare the parameters
226
  $email = $item['email'];
247
  //change nl to br
248
  $email_content = wpautop( stripslashes( $email_content ) );
249
  $email_content = apply_filters( 'wd_notification_email_content_after', $email_content, $model );
250
+
251
  $email_template = $this->renderPartial( 'email-template', array(
252
  'subject' => $subject,
253
  'message' => $email_content
261
  wp_mail( $email, $subject, $email_template, $headers );
262
  }
263
  }
264
+
265
  /**
266
  * Build issues html table
267
  *
274
  private function issuesListHtml( Scan\Model\Scan $model ) {
275
  ob_start();
276
  ?>
277
+ <table class="results-list"
278
+ style="border-collapse: collapse; border-spacing: 0; padding: 0; text-align: left; vertical-align: top;">
279
+ <thead class="results-list-header" style="border-bottom: 2px solid #ff5c28;">
280
+ <tr style="padding: 0; text-align: left; vertical-align: top;">
281
+ <th class="result-list-label-title"
282
+ style="Margin: 0; color: #ff5c28; font-family: Helvetica, Arial, sans-serif; font-size: 22px; font-weight: 700; line-height: 48px; margin: 0; padding: 0; text-align: left; width: 35%;"><?php esc_html_e( "File", "defender-security" ) ?></th>
283
+ <th class="result-list-data-title"
284
+ style="Margin: 0; color: #ff5c28; font-family: Helvetica, Arial, sans-serif; font-size: 22px; font-weight: 700; line-height: 48px; margin: 0; padding: 0; text-align: left;"><?php esc_html_e( "Issue", "defender-security" ) ?></th>
285
+ </tr>
286
+ </thead>
287
+ <tbody class="results-list-content">
288
  <?php foreach ( $model->getItems() as $k => $item ): ?>
289
  <?php if ( $k == 0 ): ?>
290
+ <tr style="padding: 0; text-align: left; vertical-align: top;">
291
+ <td class="result-list-label"
292
+ style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: 700; hyphens: auto; line-height: 28px; margin: 0; padding: 20px 5px; text-align: left; vertical-align: top; word-wrap: break-word;"><?php echo $item->getTitle() ?>
293
+ <span
294
+ style="display: inline-block; font-weight: 400; width: 100%;"><?php echo $item->getSubTitle() ?></span>
295
+ </td>
296
+ <td class="result-list-data"
297
+ style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: 700; hyphens: auto; line-height: 28px; margin: 0; padding: 20px 5px; text-align: left; vertical-align: top; word-wrap: break-word;"><?php echo $item->getIssueDetail() ?></td>
298
+ </tr>
299
  <?php else: ?>
300
+ <tr style="padding: 0; text-align: left; vertical-align: top;">
301
+ <td class="result-list-label <?php echo $k > 0 ? " bordered" : null ?>"
302
+ style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; border-top: 2px solid #ff5c28; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: 700; hyphens: auto; line-height: 28px; margin: 0; padding: 20px 5px; text-align: left; vertical-align: top; word-wrap: break-word;"><?php echo $item->getTitle() ?>
303
+ <span
304
+ style="display: inline-block; font-weight: 400; width: 100%;"><?php echo $item->getSubTitle() ?></span>
305
+ </td>
306
+ <td class="result-list-data <?php echo $k > 0 ? " bordered" : null ?>"
307
+ style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; border-top: 2px solid #ff5c28; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: 700; hyphens: auto; line-height: 28px; margin: 0; padding: 20px 5px; text-align: left; vertical-align: top; word-wrap: break-word;"><?php echo $item->getIssueDetail() ?></td>
308
+ </tr>
309
  <?php endif; ?>
310
  <?php endforeach; ?>
311
+ </tbody>
312
+ <tfoot class="results-list-footer">
313
+ <tr style="padding: 0; text-align: left; vertical-align: top;">
314
+ <td colspan="2"
315
+ style="-moz-hyphens: auto; -webkit-hyphens: auto; Margin: 0; border-collapse: collapse !important; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; hyphens: auto; line-height: 26px; margin: 0; padding: 10px 0 0; text-align: left; vertical-align: top; word-wrap: break-word;">
316
+ <p style="Margin: 0; Margin-bottom: 0; color: #555555; font-family: Helvetica, Arial, sans-serif; font-size: 15px; font-weight: normal; line-height: 26px; margin: 0; margin-bottom: 0; padding: 0 0 24px; text-align: left;">
317
+ <a class="plugin-brand" href="<?php echo network_admin_url( 'admin.php?page=wdf-scan' ) ?>"
318
+ style="Margin: 0; color: #ff5c28; display: inline-block; font: inherit; font-family: Helvetica, Arial, sans-serif; font-weight: normal; line-height: 1.3; margin: 0; padding: 0; text-align: left; text-decoration: none;"><?php esc_html_e( "Let's get your site patched up.", "defender-security" ) ?>
319
+ <img class="icon-arrow-right"
320
+ src="<?php echo wp_defender()->getPluginUrl() ?>assets/email-images/icon-arrow-right-defender.png"
321
+ alt="Arrow"
322
+ style="-ms-interpolation-mode: bicubic; border: none; clear: both; display: inline-block; margin: -2px 0 0 5px; max-width: 100%; outline: none; text-decoration: none; vertical-align: middle; width: auto;"></a>
323
+ </p>
324
+ </td>
325
+ </tr>
326
+ </tfoot>
327
+ </table>
328
  <?php
329
  return ob_get_clean();
330
  }
app/module/scan/controller/rest.php CHANGED
@@ -32,7 +32,7 @@ class Rest extends Controller {
32
  ];
33
  $this->registerEndpoints( $routes, Scan::getClassName() );
34
  }
35
-
36
  public function bulkAction() {
37
  if ( ! $this->checkPermission() ) {
38
  return;
@@ -40,7 +40,7 @@ class Rest extends Controller {
40
  if ( ! wp_verify_nonce( HTTP_Helper::retrieveGet( '_wpnonce' ), 'bulkAction' ) ) {
41
  return;
42
  }
43
-
44
  $items = HTTP_Helper::retrievePost( 'items' );
45
  if ( ! is_array( $items ) ) {
46
  $items = array();
@@ -77,24 +77,24 @@ class Rest extends Controller {
77
  "defender-security" )
78
  ) ) );
79
  break;
80
-
81
  default:
82
  //param not from the button on frontend, log it
83
  error_log( sprintf( 'Unexpected value %s from IP %s', $bulk, Utils::instance()->getUserIp() ) );
84
  break;
85
  }
86
  }
87
-
88
  public function solveIssue() {
89
  if ( ! $this->checkPermission() ) {
90
  return;
91
  }
92
-
93
  if ( ! wp_verify_nonce( HTTP_Helper::retrieveGet( '_wpnonce' ), 'solveIssue' ) ) {
94
  return;
95
  }
96
  $id = HTTP_Helper::retrievePost( 'id', false );
97
-
98
  $model = Result_Item::findByID( $id );
99
  if ( is_object( $model ) ) {
100
  $ret = $model->resolve();
@@ -124,7 +124,7 @@ class Rest extends Controller {
124
  ) );
125
  }
126
  }
127
-
128
  /**
129
  * Delete an issue
130
  */
@@ -132,11 +132,11 @@ class Rest extends Controller {
132
  if ( ! $this->checkPermission() ) {
133
  return;
134
  }
135
-
136
  if ( ! wp_verify_nonce( HTTP_Helper::retrieveGet( '_wpnonce' ), 'deleteIssue' ) ) {
137
  return;
138
  }
139
-
140
  $id = HTTP_Helper::retrievePost( 'id', false );
141
  $model = Result_Item::findByID( $id );
142
  if ( is_object( $model ) ) {
@@ -146,7 +146,7 @@ class Rest extends Controller {
146
  wp_send_json_error( array(
147
  'message' => $ret->get_error_message()
148
  ) );
149
-
150
  } else {
151
  wp_send_json_success( array_merge( Scan\Component\Data_Factory::buildData(),
152
  [ 'message' => __( "This item has been permanently removed", "defender-security" ), ] ) );
@@ -157,7 +157,7 @@ class Rest extends Controller {
157
  ) );
158
  }
159
  }
160
-
161
  /**
162
  * Get source code of an issue
163
  */
@@ -165,7 +165,7 @@ class Rest extends Controller {
165
  if ( ! $this->checkPermission() ) {
166
  return;
167
  }
168
-
169
  if ( ! wp_verify_nonce( HTTP_Helper::retrieveGet( '_wpnonce' ), 'getFileSrcCode' ) ) {
170
  return;
171
  }
@@ -174,13 +174,13 @@ class Rest extends Controller {
174
  if ( ! is_object( $model ) ) {
175
  wp_send_json_error();
176
  }
177
-
178
  wp_send_json_success( array(
179
  'code' => $model->getSrcCode()
180
  ) );
181
-
182
  }
183
-
184
  /**
185
  * Ignore an issue
186
  */
@@ -188,11 +188,11 @@ class Rest extends Controller {
188
  if ( ! $this->checkPermission() ) {
189
  return;
190
  }
191
-
192
  if ( ! wp_verify_nonce( HTTP_Helper::retrieveGet( '_wpnonce' ), 'ignoreIssue' ) ) {
193
  return;
194
  }
195
-
196
  $id = HTTP_Helper::retrievePost( 'id', false );
197
  $model = Result_Item::findByID( $id );
198
  if ( is_object( $model ) ) {
@@ -206,7 +206,7 @@ class Rest extends Controller {
206
  ) );
207
  }
208
  }
209
-
210
  /**
211
  * Unignore an issue
212
  */
@@ -214,11 +214,11 @@ class Rest extends Controller {
214
  if ( ! $this->checkPermission() ) {
215
  return;
216
  }
217
-
218
  if ( ! wp_verify_nonce( HTTP_Helper::retrieveGet( '_wpnonce' ), 'unignoreIssue' ) ) {
219
  return;
220
  }
221
-
222
  $id = HTTP_Helper::retrievePost( 'id', false );
223
  $model = Result_Item::findByID( $id );
224
  if ( is_object( $model ) ) {
@@ -232,7 +232,7 @@ class Rest extends Controller {
232
  ) );
233
  }
234
  }
235
-
236
  /**
237
  * Create a new scan
238
  */
@@ -240,7 +240,7 @@ class Rest extends Controller {
240
  if ( ! $this->checkPermission() ) {
241
  return;
242
  }
243
-
244
  if ( ! wp_verify_nonce( HTTP_Helper::retrieveGet( '_wpnonce' ), 'newScan' ) ) {
245
  return;
246
  }
@@ -252,12 +252,12 @@ class Rest extends Controller {
252
  'percent' => 0
253
  ] );
254
  }
255
-
256
  wp_send_json_error( array(
257
  'message' => $ret->get_error_message(),
258
  ) );
259
  }
260
-
261
  /**
262
  * Request to cancel current scan
263
  */
@@ -265,21 +265,21 @@ class Rest extends Controller {
265
  if ( ! $this->checkPermission() ) {
266
  return;
267
  }
268
-
269
  if ( ! wp_verify_nonce( HTTP_Helper::retrieveGet( '_wpnonce' ), 'cancelScan' ) ) {
270
  return;
271
  }
272
-
273
  $activeScan = Scan\Component\Scan_Api::getActiveScan();
274
  if ( is_object( $activeScan ) ) {
275
  $activeScan->delete();
276
- Scan_Api::flushCache();
277
  }
278
  $data = Scan\Component\Data_Factory::buildData();
279
-
280
  wp_send_json_success( $data );
281
  }
282
-
283
  /**
284
  * Processing the scan
285
  */
@@ -287,29 +287,31 @@ class Rest extends Controller {
287
  if ( ! $this->checkPermission() ) {
288
  return;
289
  }
290
-
291
  if ( ! wp_verify_nonce( HTTP_Helper::retrieveGet( '_wpnonce' ), 'processScan' ) ) {
292
  return;
293
  }
294
-
295
  /**
296
  * When we processing the scan by ajax, clear all the which does the same job
297
  */
298
  wp_clear_scheduled_hook( 'processScanCron' );
299
-
300
- $ret = Scan\Component\Scan_Api::processActiveScan();
 
 
301
  if ( $ret == true ) {
302
  do_action( 'sendScanEmail' );
303
-
304
  $this->submitStatsToDev();
305
  $data = Scan\Component\Data_Factory::buildData();
306
-
307
  wp_send_json_success( $data );
308
  } else {
309
  $model = Scan\Component\Scan_Api::getActiveScan();
310
  $data = array(
311
  'status' => $model->status,
312
- 'percent' => Scan\Component\Scan_Api::getScanProgress(),
313
  'status_text' => is_object( $model ) ? $model->statusText : null,
314
  );
315
  //not completed
@@ -318,7 +320,7 @@ class Rest extends Controller {
318
  wp_send_json_error( $data );
319
  }
320
  }
321
-
322
  /**
323
  * Update settings
324
  */
@@ -326,11 +328,11 @@ class Rest extends Controller {
326
  if ( ! $this->checkPermission() ) {
327
  return;
328
  }
329
-
330
  if ( ! wp_verify_nonce( HTTP_Helper::retrieveGet( '_wpnonce' ), 'updateSettings' ) ) {
331
  return;
332
  }
333
-
334
  $data = stripslashes( $_POST['data'] );
335
  $data = json_decode( $data, true );
336
  $settings = Scan\Model\Settings::instance();
@@ -341,6 +343,7 @@ class Rest extends Controller {
341
  $data[ $key ] = sanitize_text_field( $val );
342
  }
343
  }
 
344
  $settings->import( $data );
345
  $settings->email_all_ok = stripslashes( $settings->email_all_ok );
346
  $settings->email_has_issue = stripslashes( $settings->email_has_issue );
@@ -353,7 +356,7 @@ class Rest extends Controller {
353
  'message' => __( "Your settings have been updated.", "defender-security" )
354
  ) );
355
  }
356
-
357
  /**
358
  * Declaring behaviors
359
  * @return array
@@ -367,11 +370,11 @@ class Rest extends Controller {
367
  'endpoints' => '\WP_Defender\Behavior\Endpoint',
368
  'wpmudev' => '\WP_Defender\Behavior\WPMUDEV'
369
  ];
370
-
371
  if ( wp_defender()->isFree == false ) {
372
- $behaviors['pro'] = '\WP_Defender\Module\Scan\Behavior\Pro\Reporting';
373
  }
374
-
375
  return $behaviors;
376
  }
377
  }
32
  ];
33
  $this->registerEndpoints( $routes, Scan::getClassName() );
34
  }
35
+
36
  public function bulkAction() {
37
  if ( ! $this->checkPermission() ) {
38
  return;
40
  if ( ! wp_verify_nonce( HTTP_Helper::retrieveGet( '_wpnonce' ), 'bulkAction' ) ) {
41
  return;
42
  }
43
+
44
  $items = HTTP_Helper::retrievePost( 'items' );
45
  if ( ! is_array( $items ) ) {
46
  $items = array();
77
  "defender-security" )
78
  ) ) );
79
  break;
80
+
81
  default:
82
  //param not from the button on frontend, log it
83
  error_log( sprintf( 'Unexpected value %s from IP %s', $bulk, Utils::instance()->getUserIp() ) );
84
  break;
85
  }
86
  }
87
+
88
  public function solveIssue() {
89
  if ( ! $this->checkPermission() ) {
90
  return;
91
  }
92
+
93
  if ( ! wp_verify_nonce( HTTP_Helper::retrieveGet( '_wpnonce' ), 'solveIssue' ) ) {
94
  return;
95
  }
96
  $id = HTTP_Helper::retrievePost( 'id', false );
97
+
98
  $model = Result_Item::findByID( $id );
99
  if ( is_object( $model ) ) {
100
  $ret = $model->resolve();
124
  ) );
125
  }
126
  }
127
+
128
  /**
129
  * Delete an issue
130
  */
132
  if ( ! $this->checkPermission() ) {
133
  return;
134
  }
135
+
136
  if ( ! wp_verify_nonce( HTTP_Helper::retrieveGet( '_wpnonce' ), 'deleteIssue' ) ) {
137
  return;
138
  }
139
+
140
  $id = HTTP_Helper::retrievePost( 'id', false );
141
  $model = Result_Item::findByID( $id );
142
  if ( is_object( $model ) ) {
146
  wp_send_json_error( array(
147
  'message' => $ret->get_error_message()
148
  ) );
149
+
150
  } else {
151
  wp_send_json_success( array_merge( Scan\Component\Data_Factory::buildData(),
152
  [ 'message' => __( "This item has been permanently removed", "defender-security" ), ] ) );
157
  ) );
158
  }
159
  }
160
+
161
  /**
162
  * Get source code of an issue
163
  */
165
  if ( ! $this->checkPermission() ) {
166
  return;
167
  }
168
+
169
  if ( ! wp_verify_nonce( HTTP_Helper::retrieveGet( '_wpnonce' ), 'getFileSrcCode' ) ) {
170
  return;
171
  }
174
  if ( ! is_object( $model ) ) {
175
  wp_send_json_error();
176
  }
177
+
178
  wp_send_json_success( array(
179
  'code' => $model->getSrcCode()
180
  ) );
181
+
182
  }
183
+
184
  /**
185
  * Ignore an issue
186
  */
188
  if ( ! $this->checkPermission() ) {
189
  return;
190
  }
191
+
192
  if ( ! wp_verify_nonce( HTTP_Helper::retrieveGet( '_wpnonce' ), 'ignoreIssue' ) ) {
193
  return;
194
  }
195
+
196
  $id = HTTP_Helper::retrievePost( 'id', false );
197
  $model = Result_Item::findByID( $id );
198
  if ( is_object( $model ) ) {
206
  ) );
207
  }
208
  }
209
+
210
  /**
211
  * Unignore an issue
212
  */
214
  if ( ! $this->checkPermission() ) {
215
  return;
216
  }
217
+
218
  if ( ! wp_verify_nonce( HTTP_Helper::retrieveGet( '_wpnonce' ), 'unignoreIssue' ) ) {
219
  return;
220
  }
221
+
222
  $id = HTTP_Helper::retrievePost( 'id', false );
223
  $model = Result_Item::findByID( $id );
224
  if ( is_object( $model ) ) {
232
  ) );
233
  }
234
  }
235
+
236
  /**
237
  * Create a new scan
238
  */
240
  if ( ! $this->checkPermission() ) {
241
  return;
242
  }
243
+
244
  if ( ! wp_verify_nonce( HTTP_Helper::retrieveGet( '_wpnonce' ), 'newScan' ) ) {
245
  return;
246
  }
252
  'percent' => 0
253
  ] );
254
  }
255
+
256
  wp_send_json_error( array(
257
  'message' => $ret->get_error_message(),
258
  ) );
259
  }
260
+
261
  /**
262
  * Request to cancel current scan
263
  */
265
  if ( ! $this->checkPermission() ) {
266
  return;
267
  }
268
+
269
  if ( ! wp_verify_nonce( HTTP_Helper::retrieveGet( '_wpnonce' ), 'cancelScan' ) ) {
270
  return;
271
  }
272
+
273
  $activeScan = Scan\Component\Scan_Api::getActiveScan();
274
  if ( is_object( $activeScan ) ) {
275
  $activeScan->delete();
276
+ (new Scan\Component\Scanning())->flushCache();
277
  }
278
  $data = Scan\Component\Data_Factory::buildData();
279
+
280
  wp_send_json_success( $data );
281
  }
282
+
283
  /**
284
  * Processing the scan
285
  */
287
  if ( ! $this->checkPermission() ) {
288
  return;
289
  }
290
+
291
  if ( ! wp_verify_nonce( HTTP_Helper::retrieveGet( '_wpnonce' ), 'processScan' ) ) {
292
  return;
293
  }
294
+
295
  /**
296
  * When we processing the scan by ajax, clear all the which does the same job
297
  */
298
  wp_clear_scheduled_hook( 'processScanCron' );
299
+
300
+ //$ret = Scan\Component\Scan_Api::processActiveScan();
301
+ $scanning = new Scan\Component\Scanning();
302
+ $ret = $scanning->do();
303
  if ( $ret == true ) {
304
  do_action( 'sendScanEmail' );
305
+
306
  $this->submitStatsToDev();
307
  $data = Scan\Component\Data_Factory::buildData();
308
+
309
  wp_send_json_success( $data );
310
  } else {
311
  $model = Scan\Component\Scan_Api::getActiveScan();
312
  $data = array(
313
  'status' => $model->status,
314
+ 'percent' => round( $scanning->getScanProgress(), 2 ),
315
  'status_text' => is_object( $model ) ? $model->statusText : null,
316
  );
317
  //not completed
320
  wp_send_json_error( $data );
321
  }
322
  }
323
+
324
  /**
325
  * Update settings
326
  */
328
  if ( ! $this->checkPermission() ) {
329
  return;
330
  }
331
+
332
  if ( ! wp_verify_nonce( HTTP_Helper::retrieveGet( '_wpnonce' ), 'updateSettings' ) ) {
333
  return;
334
  }
335
+
336
  $data = stripslashes( $_POST['data'] );
337
  $data = json_decode( $data, true );
338
  $settings = Scan\Model\Settings::instance();
343
  $data[ $key ] = sanitize_text_field( $val );
344
  }
345
  }
346
+
347
  $settings->import( $data );
348
  $settings->email_all_ok = stripslashes( $settings->email_all_ok );
349
  $settings->email_has_issue = stripslashes( $settings->email_has_issue );
356
  'message' => __( "Your settings have been updated.", "defender-security" )
357
  ) );
358
  }
359
+
360
  /**
361
  * Declaring behaviors
362
  * @return array
370
  'endpoints' => '\WP_Defender\Behavior\Endpoint',
371
  'wpmudev' => '\WP_Defender\Behavior\WPMUDEV'
372
  ];
373
+
374
  if ( wp_defender()->isFree == false ) {
375
+ $behaviors['pro'] = Scan\Behavior\Pro\Reporting::class;
376
  }
377
+
378
  return $behaviors;
379
  }
380
  }
app/module/scan/model/settings.php CHANGED
@@ -5,14 +5,13 @@
5
 
6
  namespace WP_Defender\Module\Scan\Model;
7
 
8
- use Hammer\Helper\Log_Helper;
9
  use Hammer\Helper\WP_Helper;
10
  use Hammer\Queue\Queue;
11
  use WP_Defender\Behavior\Utils;
 
12
  use WP_Defender\Module\Scan\Behavior\Core_Scan;
13
- use WP_Defender\Module\Scan\Behavior\Pro\Content_Scan;
14
- use WP_Defender\Module\Scan\Behavior\Pro\Content_Scan2;
15
- use WP_Defender\Module\Scan\Behavior\Pro\MD5_Scan;
16
  use WP_Defender\Module\Scan\Behavior\Pro\Vuln_Scan;
17
  use WP_Defender\Module\Scan\Component\Scan_Api;
18
 
@@ -191,6 +190,7 @@ Official WPMU DEV Superhero', "defender-security" );
191
  public function getScansAvailable() {
192
  $scans = array();
193
  if ( $this->scan_core ) {
 
194
  $scans[] = 'core';
195
  }
196
 
@@ -226,6 +226,13 @@ Official WPMU DEV Superhero', "defender-security" );
226
  */
227
  public static function queueFactory( $slug, $args = array() ) {
228
  switch ( $slug ) {
 
 
 
 
 
 
 
229
  case 'core':
230
  $queue = new Queue(
231
  Scan_Api::getCoreFiles(),
@@ -252,24 +259,18 @@ Official WPMU DEV Superhero', "defender-security" );
252
 
253
  return $queue;
254
  break;
255
- case 'md5':
256
- if ( ! class_exists( '\WP_Defender\Module\Scan\Behavior\Pro\Md5_Scan' ) ) {
257
  return null;
258
  }
259
- $plugins = array();
260
- foreach ( get_plugins() as $slug => $plugin ) {
261
- $plugin['slug'] = $slug;
262
- $plugins[] = $plugin;
263
- }
264
- $queue = new Queue( array_merge( $plugins, wp_get_themes() ), 'md5', true );
265
  $queue->args = $args;
266
  $queue->args['owner'] = $queue;
267
- $queue->attachBehavior( 'md5', new MD5_Scan() );
268
 
269
  return $queue;
270
- break;
271
  case 'content':
272
- if ( ! class_exists( '\WP_Defender\Module\Scan\Behavior\Pro\Content_Scan' ) ) {
273
  return null;
274
  }
275
  //dont use composer autoload preventing bloating
@@ -278,7 +279,7 @@ Official WPMU DEV Superhero', "defender-security" );
278
  $queue->args['owner'] = $queue;
279
  $patterns = Scan_Api::getPatterns();
280
  $queue->args['patterns'] = $patterns;
281
- $queue->attachBehavior( 'content', new Content_Scan() );
282
 
283
  return $queue;
284
  break;
5
 
6
  namespace WP_Defender\Module\Scan\Model;
7
 
 
8
  use Hammer\Helper\WP_Helper;
9
  use Hammer\Queue\Queue;
10
  use WP_Defender\Behavior\Utils;
11
+ use WP_Defender\Module\Scan\Behavior\Core_Files;
12
  use WP_Defender\Module\Scan\Behavior\Core_Scan;
13
+ use WP_Defender\Module\Scan\Behavior\Pro\Content_Files;
14
+ use WP_Defender\Module\Scan\Behavior\Pro\Content_Yara_Scan;
 
15
  use WP_Defender\Module\Scan\Behavior\Pro\Vuln_Scan;
16
  use WP_Defender\Module\Scan\Component\Scan_Api;
17
 
190
  public function getScansAvailable() {
191
  $scans = array();
192
  if ( $this->scan_core ) {
193
+ $scans[] = 'gather_core_files';
194
  $scans[] = 'core';
195
  }
196
 
226
  */
227
  public static function queueFactory( $slug, $args = array() ) {
228
  switch ( $slug ) {
229
+ case 'gather_core_files':
230
+ $queue = new Queue( [ 'dummy' ], 'gather_core_files', true );
231
+ $queue->args = $args;
232
+ $queue->args['owner'] = $queue;
233
+ $queue->attachBehavior( 'core_files', new Core_Files() );
234
+
235
+ return $queue;
236
  case 'core':
237
  $queue = new Queue(
238
  Scan_Api::getCoreFiles(),
259
 
260
  return $queue;
261
  break;
262
+ case 'gather_content_files':
263
+ if ( ! class_exists( '\WP_Defender\Module\Scan\Behavior\Pro\Content_Yara_Scan' ) ) {
264
  return null;
265
  }
266
+ $queue = new Queue( [ 'dummy' ], 'gather_content_files', true );
 
 
 
 
 
267
  $queue->args = $args;
268
  $queue->args['owner'] = $queue;
269
+ $queue->attachBehavior( 'content_files', new Content_Files() );
270
 
271
  return $queue;
 
272
  case 'content':
273
+ if ( ! class_exists( '\WP_Defender\Module\Scan\Behavior\Pro\Content_Yara_Scan' ) ) {
274
  return null;
275
  }
276
  //dont use composer autoload preventing bloating
279
  $queue->args['owner'] = $queue;
280
  $patterns = Scan_Api::getPatterns();
281
  $queue->args['patterns'] = $patterns;
282
+ $queue->attachBehavior( 'content', new Content_Yara_Scan() );
283
 
284
  return $queue;
285
  break;
app/module/setting/component/backup-settings.php CHANGED
@@ -239,4 +239,43 @@ class Backup_Settings {
239
  break;
240
  }
241
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
242
  }
239
  break;
240
  }
241
  }
242
+
243
+ public static function resetSettings() {
244
+ $tweakFixed = \WP_Defender\Module\Hardener\Model\Settings::instance()->getFixed();
245
+
246
+ foreach ( $tweakFixed as $rule ) {
247
+ $rule->getService()->revert();
248
+ }
249
+
250
+ $cache = \Hammer\Helper\WP_Helper::getCache();
251
+ $cache->delete( 'isActivated' );
252
+ $cache->delete( 'wdf_isActivated' );
253
+ $cache->delete( 'wdfchecksum' );
254
+ $cache->delete( 'cleanchecksum' );
255
+
256
+ \WP_Defender\Module\Scan\Model\Settings::instance()->delete();
257
+ if ( class_exists( '\WP_Defender\Module\Audit\Model\Settings' ) ) {
258
+ \WP_Defender\Module\Audit\Model\Settings::instance()->delete();
259
+ }
260
+ \WP_Defender\Module\Hardener\Model\Settings::instance()->delete();
261
+ \WP_Defender\Module\IP_Lockout\Model\Settings::instance()->delete();
262
+ \WP_Defender\Module\Advanced_Tools\Model\Auth_Settings::instance()->delete();
263
+ \WP_Defender\Module\Advanced_Tools\Model\Mask_Settings::instance()->delete();
264
+ \WP_Defender\Module\Setting\Model\Settings::instance()->delete();
265
+ //clear old stuff
266
+ delete_site_option( 'wp_defender' );
267
+ delete_option( 'wp_defender' );
268
+ delete_option( 'wd_db_version' );
269
+ delete_site_option( 'wd_db_version' );
270
+
271
+ delete_site_transient( 'wp_defender_free_is_activated' );
272
+ delete_site_transient( 'wp_defender_is_activated' );
273
+ delete_transient( 'wp_defender_free_is_activated' );
274
+ delete_transient( 'wp_defender_is_activated' );
275
+
276
+ delete_site_option( 'wp_defender_free_is_activated' );
277
+ delete_site_option( 'wp_defender_is_activated' );
278
+ delete_option( 'wp_defender_free_is_activated' );
279
+ delete_option( 'wp_defender_is_activated' );
280
+ }
281
  }
app/view/debug.php CHANGED
@@ -77,4 +77,20 @@
77
  <pre style="max-height: 300px;overflow-y: scroll"><?php echo \WP_Defender\Behavior\Utils::instance()->read_log( 'settings' ) ?></pre>
78
  </div>
79
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
80
  </div>
77
  <pre style="max-height: 300px;overflow-y: scroll"><?php echo \WP_Defender\Behavior\Utils::instance()->read_log( 'settings' ) ?></pre>
78
  </div>
79
  </div>
80
+ <div class="sui-box">
81
+ <div class="sui-box-header">
82
+ <h3 class="sui-box-title">Ip Lockout</h3>
83
+ </div>
84
+ <div class="sui-box-body">
85
+ <pre style="max-height: 300px;overflow-y: scroll"><?php echo \WP_Defender\Behavior\Utils::instance()->read_log( 'lockout' ) ?></pre>
86
+ </div>
87
+ </div>
88
+ <div class="sui-box">
89
+ <div class="sui-box-header">
90
+ <h3 class="sui-box-title">Audit</h3>
91
+ </div>
92
+ <div class="sui-box-body">
93
+ <pre style="max-height: 300px;overflow-y: scroll"><?php echo \WP_Defender\Behavior\Utils::instance()->read_log( 'audit' ) ?></pre>
94
+ </div>
95
+ </div>
96
  </div>
assets/app/advanced-tools.js CHANGED
@@ -1 +1 @@
1
- !function(t){var e=window.webpackHotUpdate;window.webpackHotUpdate=function(t,s){!function(t,e){if(!w[t]||!b[t])return;for(var s in b[t]=!1,e)Object.prototype.hasOwnProperty.call(e,s)&&(p[s]=e[s]);0==--v&&0===h&&k()}(t,s),e&&e(t,s)};var s,i=!0,a="495f1b1cd29114aab5aa",n={},r=[],o=[];function l(t){var e=j[t];if(!e)return S;var i=function(i){return e.hot.active?(j[i]?-1===j[i].parents.indexOf(t)&&j[i].parents.push(t):(r=[t],s=i),-1===e.children.indexOf(i)&&e.children.push(i)):(console.warn("[HMR] unexpected require("+i+") from disposed module "+t),r=[]),S(i)},a=function(t){return{configurable:!0,enumerable:!0,get:function(){return S[t]},set:function(e){S[t]=e}}};for(var n in S)Object.prototype.hasOwnProperty.call(S,n)&&"e"!==n&&"t"!==n&&Object.defineProperty(i,n,a(n));return i.e=function(t){return"ready"===d&&f("prepare"),h++,S.e(t).then(e,(function(t){throw e(),t}));function e(){h--,"prepare"===d&&(g[t]||x(t),0===h&&0===v&&k())}},i.t=function(t,e){return 1&e&&(t=i(t)),S.t(t,-2&e)},i}function c(t){var e={_acceptedDependencies:{},_declinedDependencies:{},_selfAccepted:!1,_selfDeclined:!1,_disposeHandlers:[],_main:s!==t,active:!0,accept:function(t,s){if(void 0===t)e._selfAccepted=!0;else if("function"==typeof t)e._selfAccepted=t;else if("object"==typeof t)for(var i=0;i<t.length;i++)e._acceptedDependencies[t[i]]=s||function(){};else e._acceptedDependencies[t]=s||function(){}},decline:function(t){if(void 0===t)e._selfDeclined=!0;else if("object"==typeof t)for(var s=0;s<t.length;s++)e._declinedDependencies[t[s]]=!0;else e._declinedDependencies[t]=!0},dispose:function(t){e._disposeHandlers.push(t)},addDisposeHandler:function(t){e._disposeHandlers.push(t)},removeDisposeHandler:function(t){var s=e._disposeHandlers.indexOf(t);s>=0&&e._disposeHandlers.splice(s,1)},check:C,apply:A,status:function(t){if(!t)return d;u.push(t)},addStatusHandler:function(t){u.push(t)},removeStatusHandler:function(t){var e=u.indexOf(t);e>=0&&u.splice(e,1)},data:n[t]};return s=void 0,e}var u=[],d="idle";function f(t){d=t;for(var e=0;e<u.length;e++)u[e].call(null,t)}var _,p,m,v=0,h=0,g={},b={},w={};function y(t){return+t+""===t?+t:t}function C(t){if("idle"!==d)throw new Error("check() is only allowed in idle status");return i=t,f("check"),(e=1e4,e=e||1e4,new Promise((function(t,s){if("undefined"==typeof XMLHttpRequest)return s(new Error("No browser support"));try{var i=new XMLHttpRequest,n=S.p+""+a+".hot-update.json";i.open("GET",n,!0),i.timeout=e,i.send(null)}catch(t){return s(t)}i.onreadystatechange=function(){if(4===i.readyState)if(0===i.status)s(new Error("Manifest request to "+n+" timed out."));else if(404===i.status)t();else if(200!==i.status&&304!==i.status)s(new Error("Manifest request to "+n+" failed."));else{try{var e=JSON.parse(i.responseText)}catch(t){return void s(t)}t(e)}}}))).then((function(t){if(!t)return f("idle"),null;b={},g={},w=t.c,m=t.h,f("prepare");var e=new Promise((function(t,e){_={resolve:t,reject:e}}));p={};return x(0),"prepare"===d&&0===h&&0===v&&k(),e}));var e}function x(t){w[t]?(b[t]=!0,v++,function(t){var e=document.createElement("script");e.charset="utf-8",e.src=S.p+""+t+"."+a+".hot-update.js",document.head.appendChild(e)}(t)):g[t]=!0}function k(){f("ready");var t=_;if(_=null,t)if(i)Promise.resolve().then((function(){return A(i)})).then((function(e){t.resolve(e)}),(function(e){t.reject(e)}));else{var e=[];for(var s in p)Object.prototype.hasOwnProperty.call(p,s)&&e.push(y(s));t.resolve(e)}}function A(e){if("ready"!==d)throw new Error("apply() is only allowed in ready status");var s,i,o,l,c;function u(t){for(var e=[t],s={},i=e.map((function(t){return{chain:[t],id:t}}));i.length>0;){var a=i.pop(),n=a.id,r=a.chain;if((l=j[n])&&!l.hot._selfAccepted){if(l.hot._selfDeclined)return{type:"self-declined",chain:r,moduleId:n};if(l.hot._main)return{type:"unaccepted",chain:r,moduleId:n};for(var o=0;o<l.parents.length;o++){var c=l.parents[o],u=j[c];if(u){if(u.hot._declinedDependencies[n])return{type:"declined",chain:r.concat([c]),moduleId:n,parentId:c};-1===e.indexOf(c)&&(u.hot._acceptedDependencies[n]?(s[c]||(s[c]=[]),_(s[c],[n])):(delete s[c],e.push(c),i.push({chain:r.concat([c]),id:c})))}}}}return{type:"accepted",moduleId:t,outdatedModules:e,outdatedDependencies:s}}function _(t,e){for(var s=0;s<e.length;s++){var i=e[s];-1===t.indexOf(i)&&t.push(i)}}e=e||{};var v={},h=[],g={},b=function(){console.warn("[HMR] unexpected require("+x.moduleId+") to disposed module")};for(var C in p)if(Object.prototype.hasOwnProperty.call(p,C)){var x;c=y(C);var k=!1,A=!1,E=!1,T="";switch((x=p[C]?u(c):{type:"disposed",moduleId:C}).chain&&(T="\nUpdate propagation: "+x.chain.join(" -> ")),x.type){case"self-declined":e.onDeclined&&e.onDeclined(x),e.ignoreDeclined||(k=new Error("Aborted because of self decline: "+x.moduleId+T));break;case"declined":e.onDeclined&&e.onDeclined(x),e.ignoreDeclined||(k=new Error("Aborted because of declined dependency: "+x.moduleId+" in "+x.parentId+T));break;case"unaccepted":e.onUnaccepted&&e.onUnaccepted(x),e.ignoreUnaccepted||(k=new Error("Aborted because "+c+" is not accepted"+T));break;case"accepted":e.onAccepted&&e.onAccepted(x),A=!0;break;case"disposed":e.onDisposed&&e.onDisposed(x),E=!0;break;default:throw new Error("Unexception type "+x.type)}if(k)return f("abort"),Promise.reject(k);if(A)for(c in g[c]=p[c],_(h,x.outdatedModules),x.outdatedDependencies)Object.prototype.hasOwnProperty.call(x.outdatedDependencies,c)&&(v[c]||(v[c]=[]),_(v[c],x.outdatedDependencies[c]));E&&(_(h,[x.moduleId]),g[c]=b)}var I,O=[];for(i=0;i<h.length;i++)c=h[i],j[c]&&j[c].hot._selfAccepted&&g[c]!==b&&O.push({module:c,errorHandler:j[c].hot._selfAccepted});f("dispose"),Object.keys(w).forEach((function(t){!1===w[t]&&function(t){delete installedChunks[t]}(t)}));for(var P,$,D=h.slice();D.length>0;)if(c=D.pop(),l=j[c]){var U={},R=l.hot._disposeHandlers;for(o=0;o<R.length;o++)(s=R[o])(U);for(n[c]=U,l.hot.active=!1,delete j[c],delete v[c],o=0;o<l.children.length;o++){var N=j[l.children[o]];N&&((I=N.parents.indexOf(c))>=0&&N.parents.splice(I,1))}}for(c in v)if(Object.prototype.hasOwnProperty.call(v,c)&&(l=j[c]))for($=v[c],o=0;o<$.length;o++)P=$[o],(I=l.children.indexOf(P))>=0&&l.children.splice(I,1);for(c in f("apply"),a=m,g)Object.prototype.hasOwnProperty.call(g,c)&&(t[c]=g[c]);var L=null;for(c in v)if(Object.prototype.hasOwnProperty.call(v,c)&&(l=j[c])){$=v[c];var H=[];for(i=0;i<$.length;i++)if(P=$[i],s=l.hot._acceptedDependencies[P]){if(-1!==H.indexOf(s))continue;H.push(s)}for(i=0;i<H.length;i++){s=H[i];try{s($)}catch(t){e.onErrored&&e.onErrored({type:"accept-errored",moduleId:c,dependencyId:$[i],error:t}),e.ignoreErrored||L||(L=t)}}}for(i=0;i<O.length;i++){var q=O[i];c=q.module,r=[c];try{S(c)}catch(t){if("function"==typeof q.errorHandler)try{q.errorHandler(t)}catch(s){e.onErrored&&e.onErrored({type:"self-accept-error-handler-errored",moduleId:c,error:s,originalError:t}),e.ignoreErrored||L||(L=s),L||(L=t)}else e.onErrored&&e.onErrored({type:"self-accept-errored",moduleId:c,error:t}),e.ignoreErrored||L||(L=t)}}return L?(f("fail"),Promise.reject(L)):(f("idle"),new Promise((function(t){t(h)})))}var j={};function S(e){if(j[e])return j[e].exports;var s=j[e]={i:e,l:!1,exports:{},hot:c(e),parents:(o=r,r=[],o),children:[]};return t[e].call(s.exports,s,s.exports,l(e)),s.l=!0,s.exports}S.m=t,S.c=j,S.d=function(t,e,s){S.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:s})},S.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},S.t=function(t,e){if(1&e&&(t=S(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var s=Object.create(null);if(S.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)S.d(s,i,function(e){return t[e]}.bind(null,i));return s},S.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return S.d(e,"a",e),e},S.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},S.p="",S.h=function(){return a},l("./src/advanced-tools.js")(S.s="./src/advanced-tools.js")}({"./node_modules/cssfilter/lib/css.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/default.js"),a=s("./node_modules/cssfilter/lib/parser.js");s("./node_modules/cssfilter/lib/util.js");function n(t){return null==t}function r(t){(t=function(t){var e={};for(var s in t)e[s]=t[s];return e}(t||{})).whiteList=t.whiteList||i.whiteList,t.onAttr=t.onAttr||i.onAttr,t.onIgnoreAttr=t.onIgnoreAttr||i.onIgnoreAttr,t.safeAttrValue=t.safeAttrValue||i.safeAttrValue,this.options=t}r.prototype.process=function(t){if(!(t=(t=t||"").toString()))return"";var e=this.options,s=e.whiteList,i=e.onAttr,r=e.onIgnoreAttr,o=e.safeAttrValue;return a(t,(function(t,e,a,l,c){var u=s[a],d=!1;if(!0===u?d=u:"function"==typeof u?d=u(l):u instanceof RegExp&&(d=u.test(l)),!0!==d&&(d=!1),l=o(a,l)){var f,_={position:e,sourcePosition:t,source:c,isWhite:d};return d?n(f=i(a,l,_))?a+":"+l:f:n(f=r(a,l,_))?void 0:f}}))},t.exports=r},"./node_modules/cssfilter/lib/default.js":function(t,e){function s(){var t={"align-content":!1,"align-items":!1,"align-self":!1,"alignment-adjust":!1,"alignment-baseline":!1,all:!1,"anchor-point":!1,animation:!1,"animation-delay":!1,"animation-direction":!1,"animation-duration":!1,"animation-fill-mode":!1,"animation-iteration-count":!1,"animation-name":!1,"animation-play-state":!1,"animation-timing-function":!1,azimuth:!1,"backface-visibility":!1,background:!0,"background-attachment":!0,"background-clip":!0,"background-color":!0,"background-image":!0,"background-origin":!0,"background-position":!0,"background-repeat":!0,"background-size":!0,"baseline-shift":!1,binding:!1,bleed:!1,"bookmark-label":!1,"bookmark-level":!1,"bookmark-state":!1,border:!0,"border-bottom":!0,"border-bottom-color":!0,"border-bottom-left-radius":!0,"border-bottom-right-radius":!0,"border-bottom-style":!0,"border-bottom-width":!0,"border-collapse":!0,"border-color":!0,"border-image":!0,"border-image-outset":!0,"border-image-repeat":!0,"border-image-slice":!0,"border-image-source":!0,"border-image-width":!0,"border-left":!0,"border-left-color":!0,"border-left-style":!0,"border-left-width":!0,"border-radius":!0,"border-right":!0,"border-right-color":!0,"border-right-style":!0,"border-right-width":!0,"border-spacing":!0,"border-style":!0,"border-top":!0,"border-top-color":!0,"border-top-left-radius":!0,"border-top-right-radius":!0,"border-top-style":!0,"border-top-width":!0,"border-width":!0,bottom:!1,"box-decoration-break":!0,"box-shadow":!0,"box-sizing":!0,"box-snap":!0,"box-suppress":!0,"break-after":!0,"break-before":!0,"break-inside":!0,"caption-side":!1,chains:!1,clear:!0,clip:!1,"clip-path":!1,"clip-rule":!1,color:!0,"color-interpolation-filters":!0,"column-count":!1,"column-fill":!1,"column-gap":!1,"column-rule":!1,"column-rule-color":!1,"column-rule-style":!1,"column-rule-width":!1,"column-span":!1,"column-width":!1,columns:!1,contain:!1,content:!1,"counter-increment":!1,"counter-reset":!1,"counter-set":!1,crop:!1,cue:!1,"cue-after":!1,"cue-before":!1,cursor:!1,direction:!1,display:!0,"display-inside":!0,"display-list":!0,"display-outside":!0,"dominant-baseline":!1,elevation:!1,"empty-cells":!1,filter:!1,flex:!1,"flex-basis":!1,"flex-direction":!1,"flex-flow":!1,"flex-grow":!1,"flex-shrink":!1,"flex-wrap":!1,float:!1,"float-offset":!1,"flood-color":!1,"flood-opacity":!1,"flow-from":!1,"flow-into":!1,font:!0,"font-family":!0,"font-feature-settings":!0,"font-kerning":!0,"font-language-override":!0,"font-size":!0,"font-size-adjust":!0,"font-stretch":!0,"font-style":!0,"font-synthesis":!0,"font-variant":!0,"font-variant-alternates":!0,"font-variant-caps":!0,"font-variant-east-asian":!0,"font-variant-ligatures":!0,"font-variant-numeric":!0,"font-variant-position":!0,"font-weight":!0,grid:!1,"grid-area":!1,"grid-auto-columns":!1,"grid-auto-flow":!1,"grid-auto-rows":!1,"grid-column":!1,"grid-column-end":!1,"grid-column-start":!1,"grid-row":!1,"grid-row-end":!1,"grid-row-start":!1,"grid-template":!1,"grid-template-areas":!1,"grid-template-columns":!1,"grid-template-rows":!1,"hanging-punctuation":!1,height:!0,hyphens:!1,icon:!1,"image-orientation":!1,"image-resolution":!1,"ime-mode":!1,"initial-letters":!1,"inline-box-align":!1,"justify-content":!1,"justify-items":!1,"justify-self":!1,left:!1,"letter-spacing":!0,"lighting-color":!0,"line-box-contain":!1,"line-break":!1,"line-grid":!1,"line-height":!1,"line-snap":!1,"line-stacking":!1,"line-stacking-ruby":!1,"line-stacking-shift":!1,"line-stacking-strategy":!1,"list-style":!0,"list-style-image":!0,"list-style-position":!0,"list-style-type":!0,margin:!0,"margin-bottom":!0,"margin-left":!0,"margin-right":!0,"margin-top":!0,"marker-offset":!1,"marker-side":!1,marks:!1,mask:!1,"mask-box":!1,"mask-box-outset":!1,"mask-box-repeat":!1,"mask-box-slice":!1,"mask-box-source":!1,"mask-box-width":!1,"mask-clip":!1,"mask-image":!1,"mask-origin":!1,"mask-position":!1,"mask-repeat":!1,"mask-size":!1,"mask-source-type":!1,"mask-type":!1,"max-height":!0,"max-lines":!1,"max-width":!0,"min-height":!0,"min-width":!0,"move-to":!1,"nav-down":!1,"nav-index":!1,"nav-left":!1,"nav-right":!1,"nav-up":!1,"object-fit":!1,"object-position":!1,opacity:!1,order:!1,orphans:!1,outline:!1,"outline-color":!1,"outline-offset":!1,"outline-style":!1,"outline-width":!1,overflow:!1,"overflow-wrap":!1,"overflow-x":!1,"overflow-y":!1,padding:!0,"padding-bottom":!0,"padding-left":!0,"padding-right":!0,"padding-top":!0,page:!1,"page-break-after":!1,"page-break-before":!1,"page-break-inside":!1,"page-policy":!1,pause:!1,"pause-after":!1,"pause-before":!1,perspective:!1,"perspective-origin":!1,pitch:!1,"pitch-range":!1,"play-during":!1,position:!1,"presentation-level":!1,quotes:!1,"region-fragment":!1,resize:!1,rest:!1,"rest-after":!1,"rest-before":!1,richness:!1,right:!1,rotation:!1,"rotation-point":!1,"ruby-align":!1,"ruby-merge":!1,"ruby-position":!1,"shape-image-threshold":!1,"shape-outside":!1,"shape-margin":!1,size:!1,speak:!1,"speak-as":!1,"speak-header":!1,"speak-numeral":!1,"speak-punctuation":!1,"speech-rate":!1,stress:!1,"string-set":!1,"tab-size":!1,"table-layout":!1,"text-align":!0,"text-align-last":!0,"text-combine-upright":!0,"text-decoration":!0,"text-decoration-color":!0,"text-decoration-line":!0,"text-decoration-skip":!0,"text-decoration-style":!0,"text-emphasis":!0,"text-emphasis-color":!0,"text-emphasis-position":!0,"text-emphasis-style":!0,"text-height":!0,"text-indent":!0,"text-justify":!0,"text-orientation":!0,"text-overflow":!0,"text-shadow":!0,"text-space-collapse":!0,"text-transform":!0,"text-underline-position":!0,"text-wrap":!0,top:!1,transform:!1,"transform-origin":!1,"transform-style":!1,transition:!1,"transition-delay":!1,"transition-duration":!1,"transition-property":!1,"transition-timing-function":!1,"unicode-bidi":!1,"vertical-align":!1,visibility:!1,"voice-balance":!1,"voice-duration":!1,"voice-family":!1,"voice-pitch":!1,"voice-range":!1,"voice-rate":!1,"voice-stress":!1,"voice-volume":!1,volume:!1,"white-space":!1,widows:!1,width:!0,"will-change":!1,"word-break":!0,"word-spacing":!0,"word-wrap":!0,"wrap-flow":!1,"wrap-through":!1,"writing-mode":!1,"z-index":!1};return t}var i=/javascript\s*\:/gim;e.whiteList=s(),e.getDefaultWhiteList=s,e.onAttr=function(t,e,s){},e.onIgnoreAttr=function(t,e,s){},e.safeAttrValue=function(t,e){return i.test(e)?"":e}},"./node_modules/cssfilter/lib/index.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/default.js"),a=s("./node_modules/cssfilter/lib/css.js");for(var n in(e=t.exports=function(t,e){return new a(e).process(t)}).FilterCSS=a,i)e[n]=i[n];"undefined"!=typeof window&&(window.filterCSS=t.exports)},"./node_modules/cssfilter/lib/parser.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/util.js");t.exports=function(t,e){";"!==(t=i.trimRight(t))[t.length-1]&&(t+=";");var s=t.length,a=!1,n=0,r=0,o="";function l(){if(!a){var s=i.trim(t.slice(n,r)),l=s.indexOf(":");if(-1!==l){var c=i.trim(s.slice(0,l)),u=i.trim(s.slice(l+1));if(c){var d=e(n,o.length,c,u,s);d&&(o+=d+"; ")}}}n=r+1}for(;r<s;r++){var c=t[r];if("/"===c&&"*"===t[r+1]){var u=t.indexOf("*/",r+2);if(-1===u)break;n=(r=u+1)+1,a=!1}else"("===c?a=!0:")"===c?a=!1:";"===c?a||l():"\n"===c&&l()}return i.trim(o)}},"./node_modules/cssfilter/lib/util.js":function(t,e){t.exports={indexOf:function(t,e){var s,i;if(Array.prototype.indexOf)return t.indexOf(e);for(s=0,i=t.length;s<i;s++)if(t[s]===e)return s;return-1},forEach:function(t,e,s){var i,a;if(Array.prototype.forEach)return t.forEach(e,s);for(i=0,a=t.length;i<a;i++)e.call(s,t[i],i,t)},trim:function(t){return String.prototype.trim?t.trim():t.replace(/(^\s*)|(\s*$)/g,"")},trimRight:function(t){return String.prototype.trimRight?t.trimRight():t.replace(/(\s*$)/g,"")}}},"./node_modules/vue-loader/lib/runtime/componentNormalizer.js":function(t,e,s){"use strict";function i(t,e,s,i,a,n,r,o){var l,c="function"==typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=s,c._compiled=!0),i&&(c.functional=!0),n&&(c._scopeId="data-v-"+n),r?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),a&&a.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(r)},c._ssrRegister=l):a&&(l=o?function(){a.call(this,this.$root.$options.shadowRoot)}:a),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(t,e){return l.call(e),u(t,e)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,l):[l]}return{exports:t,options:c}}s.d(e,"a",(function(){return i}))},"./node_modules/xss/lib/default.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/index.js").FilterCSS,a=s("./node_modules/cssfilter/lib/index.js").getDefaultWhiteList,n=s("./node_modules/xss/lib/util.js");function r(){return{a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","loop","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height"],ins:["datetime"],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],sup:[],strong:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","loop","preload","src","height","width"]}}var o=new i;function l(t){return t.replace(c,"&lt;").replace(u,"&gt;")}var c=/</g,u=/>/g,d=/"/g,f=/&quot;/g,_=/&#([a-zA-Z0-9]*);?/gim,p=/&colon;?/gim,m=/&newline;?/gim,v=/((j\s*a\s*v\s*a|v\s*b|l\s*i\s*v\s*e)\s*s\s*c\s*r\s*i\s*p\s*t\s*|m\s*o\s*c\s*h\s*a)\:/gi,h=/e\s*x\s*p\s*r\s*e\s*s\s*s\s*i\s*o\s*n\s*\(.*/gi,g=/u\s*r\s*l\s*\(.*/gi;function b(t){return t.replace(d,"&quot;")}function w(t){return t.replace(f,'"')}function y(t){return t.replace(_,(function(t,e){return"x"===e[0]||"X"===e[0]?String.fromCharCode(parseInt(e.substr(1),16)):String.fromCharCode(parseInt(e,10))}))}function C(t){return t.replace(p,":").replace(m," ")}function x(t){for(var e="",s=0,i=t.length;s<i;s++)e+=t.charCodeAt(s)<32?" ":t.charAt(s);return n.trim(e)}function k(t){return t=x(t=C(t=y(t=w(t))))}function A(t){return t=l(t=b(t))}var j=/<!--[\s\S]*?-->/g;e.whiteList={a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","loop","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height"],ins:["datetime"],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],sup:[],strong:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","loop","preload","src","height","width"]},e.getDefaultWhiteList=r,e.onTag=function(t,e,s){},e.onIgnoreTag=function(t,e,s){},e.onTagAttr=function(t,e,s){},e.onIgnoreTagAttr=function(t,e,s){},e.safeAttrValue=function(t,e,s,i){if(s=k(s),"href"===e||"src"===e){if("#"===(s=n.trim(s)))return"#";if("http://"!==s.substr(0,7)&&"https://"!==s.substr(0,8)&&"mailto:"!==s.substr(0,7)&&"tel:"!==s.substr(0,4)&&"#"!==s[0]&&"/"!==s[0])return""}else if("background"===e){if(v.lastIndex=0,v.test(s))return""}else if("style"===e){if(h.lastIndex=0,h.test(s))return"";if(g.lastIndex=0,g.test(s)&&(v.lastIndex=0,v.test(s)))return"";!1!==i&&(s=(i=i||o).process(s))}return s=A(s)},e.escapeHtml=l,e.escapeQuote=b,e.unescapeQuote=w,e.escapeHtmlEntities=y,e.escapeDangerHtml5Entities=C,e.clearNonPrintableCharacter=x,e.friendlyAttrValue=k,e.escapeAttrValue=A,e.onIgnoreTagStripAll=function(){return""},e.StripTagBody=function(t,e){"function"!=typeof e&&(e=function(){});var s=!Array.isArray(t),i=[],a=!1;return{onIgnoreTag:function(r,o,l){if(function(e){return!!s||-1!==n.indexOf(t,e)}(r)){if(l.isClosing){var c="[/removed]",u=l.position+c.length;return i.push([!1!==a?a:l.position,u]),a=!1,c}return a||(a=l.position),"[removed]"}return e(r,o,l)},remove:function(t){var e="",s=0;return n.forEach(i,(function(i){e+=t.slice(s,i[0]),s=i[1]})),e+=t.slice(s)}}},e.stripCommentTag=function(t){return t.replace(j,"")},e.stripBlankChar=function(t){var e=t.split("");return(e=e.filter((function(t){var e=t.charCodeAt(0);return 127!==e&&(!(e<=31)||(10===e||13===e))}))).join("")},e.cssFilter=o,e.getDefaultCSSWhiteList=a},"./node_modules/xss/lib/index.js":function(t,e,s){var i=s("./node_modules/xss/lib/default.js"),a=s("./node_modules/xss/lib/parser.js"),n=s("./node_modules/xss/lib/xss.js");function r(t,e){return new n(e).process(t)}for(var o in(e=t.exports=r).filterXSS=r,e.FilterXSS=n,i)e[o]=i[o];for(var o in a)e[o]=a[o];"undefined"!=typeof window&&(window.filterXSS=t.exports),"undefined"!=typeof self&&"undefined"!=typeof DedicatedWorkerGlobalScope&&self instanceof DedicatedWorkerGlobalScope&&(self.filterXSS=t.exports)},"./node_modules/xss/lib/parser.js":function(t,e,s){var i=s("./node_modules/xss/lib/util.js");function a(t){var e=i.spaceIndex(t);if(-1===e)var s=t.slice(1,-1);else s=t.slice(1,e+1);return"/"===(s=i.trim(s).toLowerCase()).slice(0,1)&&(s=s.slice(1)),"/"===s.slice(-1)&&(s=s.slice(0,-1)),s}function n(t){return"</"===t.slice(0,2)}var r=/[^a-zA-Z0-9_:\.\-]/gim;function o(t,e){for(;e<t.length;e++){var s=t[e];if(" "!==s)return"="===s?e:-1}}function l(t,e){for(;e>0;e--){var s=t[e];if(" "!==s)return"="===s?e:-1}}function c(t){return function(t){return'"'===t[0]&&'"'===t[t.length-1]||"'"===t[0]&&"'"===t[t.length-1]}(t)?t.substr(1,t.length-2):t}e.parseTag=function(t,e,s){var i="",r=0,o=!1,l=!1,c=0,u=t.length,d="",f="";for(c=0;c<u;c++){var _=t.charAt(c);if(!1===o){if("<"===_){o=c;continue}}else if(!1===l){if("<"===_){i+=s(t.slice(r,c)),o=c,r=c;continue}if(">"===_){i+=s(t.slice(r,o)),d=a(f=t.slice(o,c+1)),i+=e(o,i.length,d,f,n(f)),r=c+1,o=!1;continue}if(('"'===_||"'"===_)&&"="===t.charAt(c-1)){l=_;continue}}else if(_===l){l=!1;continue}}return r<t.length&&(i+=s(t.substr(r))),i},e.parseAttr=function(t,e){var s=0,a=[],n=!1,u=t.length;function d(t,s){if(!((t=(t=i.trim(t)).replace(r,"").toLowerCase()).length<1)){var n=e(t,s||"");n&&a.push(n)}}for(var f=0;f<u;f++){var _,p=t.charAt(f);if(!1!==n||"="!==p)if(!1===n||f!==s||'"'!==p&&"'"!==p||"="!==t.charAt(f-1))if(/\s|\n|\t/.test(p)){if(t=t.replace(/\s|\n|\t/g," "),!1===n){if(-1===(_=o(t,f))){d(i.trim(t.slice(s,f))),n=!1,s=f+1;continue}f=_-1;continue}if(-1===(_=l(t,f-1))){d(n,c(i.trim(t.slice(s,f)))),n=!1,s=f+1;continue}}else;else{if(-1===(_=t.indexOf(p,f+1)))break;d(n,i.trim(t.slice(s+1,_))),n=!1,s=(f=_)+1}else n=t.slice(s,f),s=f+1}return s<t.length&&(!1===n?d(t.slice(s)):d(n,c(i.trim(t.slice(s))))),i.trim(a.join(" "))}},"./node_modules/xss/lib/util.js":function(t,e){t.exports={indexOf:function(t,e){var s,i;if(Array.prototype.indexOf)return t.indexOf(e);for(s=0,i=t.length;s<i;s++)if(t[s]===e)return s;return-1},forEach:function(t,e,s){var i,a;if(Array.prototype.forEach)return t.forEach(e,s);for(i=0,a=t.length;i<a;i++)e.call(s,t[i],i,t)},trim:function(t){return String.prototype.trim?t.trim():t.replace(/(^\s*)|(\s*$)/g,"")},spaceIndex:function(t){var e=/\s|\n|\t/.exec(t);return e?e.index:-1}}},"./node_modules/xss/lib/xss.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/index.js").FilterCSS,a=s("./node_modules/xss/lib/default.js"),n=s("./node_modules/xss/lib/parser.js"),r=n.parseTag,o=n.parseAttr,l=s("./node_modules/xss/lib/util.js");function c(t){return null==t}function u(t){(t=function(t){var e={};for(var s in t)e[s]=t[s];return e}(t||{})).stripIgnoreTag&&(t.onIgnoreTag&&console.error('Notes: cannot use these two options "stripIgnoreTag" and "onIgnoreTag" at the same time'),t.onIgnoreTag=a.onIgnoreTagStripAll),t.whiteList=t.whiteList||a.whiteList,t.onTag=t.onTag||a.onTag,t.onTagAttr=t.onTagAttr||a.onTagAttr,t.onIgnoreTag=t.onIgnoreTag||a.onIgnoreTag,t.onIgnoreTagAttr=t.onIgnoreTagAttr||a.onIgnoreTagAttr,t.safeAttrValue=t.safeAttrValue||a.safeAttrValue,t.escapeHtml=t.escapeHtml||a.escapeHtml,this.options=t,!1===t.css?this.cssFilter=!1:(t.css=t.css||{},this.cssFilter=new i(t.css))}u.prototype.process=function(t){if(!(t=(t=t||"").toString()))return"";var e=this.options,s=e.whiteList,i=e.onTag,n=e.onIgnoreTag,u=e.onTagAttr,d=e.onIgnoreTagAttr,f=e.safeAttrValue,_=e.escapeHtml,p=this.cssFilter;e.stripBlankChar&&(t=a.stripBlankChar(t)),e.allowCommentTag||(t=a.stripCommentTag(t));var m=!1;if(e.stripIgnoreTagBody){m=a.StripTagBody(e.stripIgnoreTagBody,n);n=m.onIgnoreTag}var v=r(t,(function(t,e,a,r,m){var v,h={sourcePosition:t,position:e,isClosing:m,isWhite:s.hasOwnProperty(a)};if(!c(v=i(a,r,h)))return v;if(h.isWhite){if(h.isClosing)return"</"+a+">";var g=function(t){var e=l.spaceIndex(t);if(-1===e)return{html:"",closing:"/"===t[t.length-2]};var s="/"===(t=l.trim(t.slice(e+1,-1)))[t.length-1];return s&&(t=l.trim(t.slice(0,-1))),{html:t,closing:s}}(r),b=s[a],w=o(g.html,(function(t,e){var s,i=-1!==l.indexOf(b,t);return c(s=u(a,t,e,i))?i?(e=f(a,t,e,p))?t+'="'+e+'"':t:c(s=d(a,t,e,i))?void 0:s:s}));r="<"+a;return w&&(r+=" "+w),g.closing&&(r+=" /"),r+=">"}return c(v=n(a,r,h))?_(r):v}),_);return m&&(v=m.remove(v)),v},t.exports=u},"./src/advanced-tools.js":function(t,e,s){"use strict";s.r(e);var i=s("vue"),a=s.n(i),n=s("./src/helper/base_hepler.js"),r={mixins:[n.a],data:function(){return{all_roles:advanced_tools.misc.all_roles,compatibility:advanced_tools.misc.compatibility,model:advanced_tools.model.two_factor,nonces:advanced_tools.nonces,endpoints:advanced_tools.endpoints,state:{on_saving:!1,waiting_save:!1,origin_state:!1}}},methods:{toggle:function(t){var e=this,s={};s.enabled=t,this.httpPostRequest("updateSettings",{data:JSON.stringify({settings:s,module:"auth"})},(function(){var s=this;e.model.enabled=t,!0===t&&e.$nextTick((function(){e.rebindSUI(),e.bindUploader(),s.state.waiting_save=!1}))}))},updateSettings:function(){var t=this.model;delete t.email_subject,delete t.email_sender,delete t.email_body,this.state.origin_state=this.model.user_roles.length>0,this.httpPostRequest("updateSettings",{data:JSON.stringify({settings:t,module:"auth"})})},saveEmailTemplate:function(){var t={email_subject:this.model.email_subject,email_sender:this.model.email_sender,email_body:this.model.email_body};this.httpPostRequest("updateSettings",{data:JSON.stringify({module:"auth",settings:t})},(function(t){!0===t.success&&SUI.dialogs["edit-one-time-password-email"].hide()}))},sendTestEmail:function(){var t={email_subject:this.model.email_subject,email_sender:this.model.email_sender,email_body:this.model.email_body};this.httpPostRequest("sendTestEmail",t)},bindUploader:function(){var t=void 0,e=this;jQuery(".file-picker").click((function(){t?t.open():((t=wp.media.frames.file_frame=wp.media({title:"Choose an image file",button:{text:"Choose File"},multiple:!1,library:{type:["image"]}})).on("select",(function(){var s=t.state().get("selection").first().toJSON();jQuery.inArray(s.mime,["image/jpeg","image/png","image/gif"])>-1?e.model.custom_graphic_url=s.url:Defender.showNotification("error","Invalid image file type")})),t.open())}))}},mounted:function(){var t=this;this.$nextTick((function(){t.bindUploader()})),this.state.origin_state=this.model.user_roles.length>0}},o=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),l=Object(o.a)(r,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return!1===t.model.enabled?s("div",{staticClass:"sui-box"},[s("div",{staticClass:"sui-box"},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n\t\t\t\t\t"+t._s(t.__("Two Factor Authentication"))+"\n\t\t\t\t")])]),t._v(" "),s("div",{staticClass:"sui-message"},[t.maybeHideBranding()?t._e():s("img",{staticClass:"sui-image",attrs:{src:t.assetUrl("assets/img/2factor-disabled.svg"),"aria-hidden":"true"}}),t._v(" "),s("div",{staticClass:"sui-message-content"},[s("p",[t._v("\n\t\t\t\t\t\t"+t._s(t.__("Beef up your website’s security with two-factor authentication. Add an extra step in the login process so that users are required to enter a password and an app-generated passcode using their phone – the best protection against brute force attacks."))+"\n\t\t\t\t\t")]),t._v(" "),s("form",{attrs:{method:"post"},on:{submit:function(e){return e.preventDefault(),t.toggle(!0)}}},[s("submit-button",{attrs:{type:"submit",state:t.state,"css-class":"sui-button-blue"}},[s("i",{staticClass:"sui-icon-save",attrs:{"aria-hidden":"true"}}),t._v("\n\t\t\t\t\t\t\t"+t._s(t.__("Activate"))+"\n\t\t\t\t\t\t")])],1)])])])]):s("div",{staticClass:"sui-box"},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n\t\t\t\t"+t._s(t.__("Two Factor Authentication"))+"\n\t\t\t")])]),t._v(" "),s("form",{staticClass:"advanced-settings-frm",attrs:{method:"post"},on:{submit:function(e){return e.preventDefault(),t.updateSettings(e)}}},[s("div",{staticClass:"sui-box-body"},[s("p",[t._v("\n\t\t\t\t\t"+t._s(t.__("Configure your two-factor authentication settings. Our recommendations are enabled by default."))+"\n\t\t\t\t")]),t._v(" "),!1!==t.compatibility?s("div",{staticClass:"sui-notice sui-notice-error"},[s("p",t._l(t.compatibility,(function(e){return s("span",[t._v("\n "+t._s(e)+"\n ")])})),0)]):t._e(),t._v(" "),t.state.origin_state?s("div",{staticClass:"sui-notice sui-notice-info"},[s("p",[s("strong",[t._v(t._s(t.__("Two-factor authentication is now active.")))]),t._v(" "+t._s(t.__("User roles with this feature enabled must visit their "))+"\n\t\t\t\t\t\t"),s("a",{attrs:{href:t.adminUrl("profile.php")}},[t._v(t._s(t.__("Profile page")))]),t._v(" "+t._s(t.__("to complete setup and sync their account with the Authenticator app."))+"\n\t\t\t\t\t")])]):s("div",{staticClass:"sui-notice sui-notice-warning"},[s("p",[s("strong",[t._v(t._s(t.__("Two-factor authentication is currently inactive.")))]),t._v(" "+t._s(t.__("Configure and save your settings to complete setup."))+"\n\t\t\t\t\t")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("User Roles"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Choose the user roles you want to enable two-factor authentication for. Users with those roles will then be required to use the Google Authenticator app to login."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("div",{staticClass:"sui-field-list"},[s("div",{staticClass:"sui-field-list-header"},[s("h3",{staticClass:"sui-field-list-title"},[t._v("\n\t\t\t\t\t\t\t\t\t"+t._s(t.__("User role"))+"\n\t\t\t\t\t\t\t\t")])]),t._v(" "),s("div",{staticClass:"sui-field-list-body"},t._l(t.all_roles,(function(e,i){return s("div",{staticClass:"sui-field-list-item"},[s("label",{staticClass:"sui-field-list-item-label",attrs:{for:"toggle_"+i},domProps:{innerHTML:t._s(e.name)}}),t._v(" "),s("label",{staticClass:"sui-toggle"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.user_roles,expression:"model.user_roles"}],attrs:{type:"checkbox",id:"toggle_"+i},domProps:{value:i,checked:Array.isArray(t.model.user_roles)?t._i(t.model.user_roles,i)>-1:t.model.user_roles},on:{change:function(e){var s=t.model.user_roles,a=e.target,n=!!a.checked;if(Array.isArray(s)){var r=i,o=t._i(s,r);a.checked?o<0&&t.$set(t.model,"user_roles",s.concat([r])):o>-1&&t.$set(t.model,"user_roles",s.slice(0,o).concat(s.slice(o+1)))}else t.$set(t.model,"user_roles",n)}}}),t._v(" "),s("span",{staticClass:"sui-toggle-slider"})])])})),0)])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Lost Phone"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("If a user is unable to access their phone, you can allow an option to send the one time password to their registered email."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-toggle"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.lost_phone,expression:"model.lost_phone"}],staticClass:"toggle-checkbox",attrs:{role:"presentation",type:"checkbox",id:"lost_phone"},domProps:{checked:Array.isArray(t.model.lost_phone)?t._i(t.model.lost_phone,null)>-1:t.model.lost_phone},on:{change:function(e){var s=t.model.lost_phone,i=e.target,a=!!i.checked;if(Array.isArray(s)){var n=t._i(s,null);i.checked?n<0&&t.$set(t.model,"lost_phone",s.concat([null])):n>-1&&t.$set(t.model,"lost_phone",s.slice(0,n).concat(s.slice(n+1)))}else t.$set(t.model,"lost_phone",a)}}}),t._v(" "),s("span",{staticClass:"sui-toggle-slider"})]),t._v(" "),s("label",{staticClass:"sui-toggle-label",attrs:{for:"lost_phone"}},[t._v("\n\t\t\t\t\t\t\t\t"+t._s(t.__("Enable lost phone option"))+"\n\t\t\t\t\t\t\t")])])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Force Authentication"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("By default, two-factor authentication is optional for users. This setting forces users to activate two-factor."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-toggle"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.force_auth,expression:"model.force_auth"}],staticClass:"toggle-checkbox",attrs:{role:"presentation",type:"checkbox",name:"force_auth",id:"force_auth"},domProps:{checked:Array.isArray(t.model.force_auth)?t._i(t.model.force_auth,null)>-1:t.model.force_auth},on:{change:function(e){var s=t.model.force_auth,i=e.target,a=!!i.checked;if(Array.isArray(s)){var n=t._i(s,null);i.checked?n<0&&t.$set(t.model,"force_auth",s.concat([null])):n>-1&&t.$set(t.model,"force_auth",s.slice(0,n).concat(s.slice(n+1)))}else t.$set(t.model,"force_auth",a)}}}),t._v(" "),s("span",{staticClass:"sui-toggle-slider"})]),t._v(" "),s("label",{staticClass:"sui-toggle-label",attrs:{for:"force_auth"}},[t._v("\n\t\t\t\t\t\t\t\t"+t._s(t.__("Force users to log in with two-factor authentication"))+"\n\t\t\t\t\t\t\t")]),t._v(" "),s("span",{staticClass:"sui-description sui-toggle-content"},[t._v("\n "+t._s(t.__("Note: Users will be forced to set up two-factor when they next login."))+"\n ")]),t._v(" "),s("div",{directives:[{name:"show",rawName:"v-show",value:!0===t.model.force_auth,expression:"model.force_auth===true"}],staticClass:"sui-border-frame sui-toggle-content",attrs:{id:"force_auth_roles"}},[s("strong",[t._v(t._s(t.__("User Roles")))]),t._v(" "),s("ul",t._l(t.all_roles,(function(e,i){return s("li",[s("label",{staticClass:"sui-checkbox",attrs:{for:"toggle_force_"+i}},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.force_auth_roles,expression:"model.force_auth_roles"}],attrs:{type:"checkbox",id:"toggle_force_"+i},domProps:{value:i,checked:Array.isArray(t.model.force_auth_roles)?t._i(t.model.force_auth_roles,i)>-1:t.model.force_auth_roles},on:{change:function(e){var s=t.model.force_auth_roles,a=e.target,n=!!a.checked;if(Array.isArray(s)){var r=i,o=t._i(s,r);a.checked?o<0&&t.$set(t.model,"force_auth_roles",s.concat([r])):o>-1&&t.$set(t.model,"force_auth_roles",s.slice(0,o).concat(s.slice(o+1)))}else t.$set(t.model,"force_auth_roles",n)}}}),t._v(" "),s("span",{attrs:{"aria-hidden":"true"}}),t._v(" "),s("span",[t._v(t._s(e.name))])])])})),0),t._v(" "),s("strong",[t._v(t._s(t.__("Custom warning message")))]),t._v(" "),s("textarea",{directives:[{name:"model",rawName:"v-model",value:t.model.force_auth_mess,expression:"model.force_auth_mess"}],staticClass:"sui-form-control",attrs:{name:"force_auth_mess"},domProps:{value:t.model.force_auth_mess},on:{input:function(e){e.target.composing||t.$set(t.model,"force_auth_mess",e.target.value)}}}),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Note: This is shown in the users Profile area indicating they must use two-factor authentication."))+"\n ")])])])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Custom Graphic"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("By default, Defender’s icon appears above the login fields. You can upload your own branding, or turn this feature off."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("label",{staticClass:"sui-toggle"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.custom_graphic,expression:"model.custom_graphic"}],staticClass:"toggle-checkbox",attrs:{role:"presentation",type:"checkbox",name:"custom_graphic",id:"custom_graphic"},domProps:{checked:Array.isArray(t.model.custom_graphic)?t._i(t.model.custom_graphic,null)>-1:t.model.custom_graphic},on:{change:function(e){var s=t.model.custom_graphic,i=e.target,a=!!i.checked;if(Array.isArray(s)){var n=t._i(s,null);i.checked?n<0&&t.$set(t.model,"custom_graphic",s.concat([null])):n>-1&&t.$set(t.model,"custom_graphic",s.slice(0,n).concat(s.slice(n+1)))}else t.$set(t.model,"custom_graphic",a)}}}),t._v(" "),s("span",{staticClass:"sui-toggle-slider"})]),t._v(" "),s("label",{staticClass:"sui-toggle-label",attrs:{for:"custom_graphic"}},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.__("Enable custom graphics above login fields"))+"\n\t\t\t\t\t\t")]),t._v(" "),s("div",{directives:[{name:"show",rawName:"v-show",value:!0===t.model.custom_graphic,expression:"model.custom_graphic === true"}],staticClass:"sui-border-frame sui-toggle-content"},[s("span",{staticClass:"sui-description"},[s("strong",[t._v(t._s(t.__("Custom Graphic")))]),t._v(" - "+t._s(t.__("For best results use a 168x168px JPG or PNG."))+"\n ")]),t._v(" "),s("div",{staticClass:"sui-upload"},[s("div",{staticClass:"sui-upload-image"},[s("img",{attrs:{id:"custom_graphicIMG",width:"40",height:"40",src:t.model.custom_graphic_url}}),t._v(" "),s("div",{staticClass:"sui-image-preview",style:{backgroundImage:"url("+t.model.custom_graphic_url+")"},attrs:{role:"button"}})]),t._v(" "),s("button",{staticClass:"sui-upload-button file-picker",attrs:{type:"button"}},[s("i",{staticClass:"sui-icon-upload-cloud",attrs:{"aria-hidden":"true"}}),t._v("\n\t\t\t\t\t\t\t\t\t"+t._s(t.__("Upload file"))+"\n\t\t\t\t\t\t\t\t")]),t._v(" "),t._m(0)])])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Emails"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Customize the default copy for emails the two-factor feature sends to users."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("div",{staticClass:"sui-field-list"},[s("div",{staticClass:"sui-field-list-header"},[s("h3",{staticClass:"sui-field-list-title"},[t._v("\n\t\t\t\t\t\t\t\t\t"+t._s(t.__("Email"))+"\n\t\t\t\t\t\t\t\t")])]),t._v(" "),s("div",{staticClass:"sui-field-list-body"},[s("div",{staticClass:"sui-field-list-item"},[s("label",{staticClass:"sui-field-list-item-label"},[t._v("\n\t\t\t\t\t\t\t\t\t\t"+t._s(t.__("Lost phone one time password"))+"\n\t\t\t\t\t\t\t\t\t")]),t._v(" "),t._m(1)])])])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("App Download"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Need the app? Here’s links to the official Google Authenticator iOS and Android apps."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("a",{attrs:{href:"https://itunes.apple.com/vn/app/google-authenticator/id388497605?mt=8"}},[s("img",{attrs:{src:t.assetUrl("assets/img/ios-download.svg")}})]),t._v(" "),s("a",{attrs:{href:"https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2"}},[s("img",{attrs:{src:t.assetUrl("assets/img/android-download.svg")}})])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Active Users"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Here’s a quick link to see which of your users have enabled two-factor authentication."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("a",{attrs:{href:t.adminUrl("users.php")}},[t._v(t._s(t.__("View users")))]),t._v(" "+t._s(t.__("who have enabled this feature."))+"\n\t\t\t\t\t")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Deactivate"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Disable two-factor authentication on your website."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("submit-button",{attrs:{"css-class":"sui-button-ghost",state:t.state},on:{click:function(e){return t.toggle(!1)}}},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.__("Deactivate"))+"\n\t\t\t\t\t\t")])],1)])]),t._v(" "),s("div",{staticClass:"sui-box-footer"},[s("div",{staticClass:"sui-actions-right"},[s("submit-button",{attrs:{"css-class":"sui-button-blue",type:"submit",state:t.state}},[s("i",{staticClass:"sui-icon-save",attrs:{"aria-hidden":"true"}}),t._v("\n\t\t\t\t\t\t"+t._s(t.__("Save Changes"))+"\n\t\t\t\t\t")])],1)])]),t._v(" "),s("div",{staticClass:"sui-dialog",attrs:{"aria-hidden":"true",tabindex:"-1",id:"edit-one-time-password-email"}},[s("div",{staticClass:"sui-dialog-overlay",attrs:{"data-a11y-dialog-hide":""}}),t._v(" "),s("div",{staticClass:"sui-dialog-content",attrs:{"aria-labelledby":"dialogTitle","aria-describedby":"dialogDescription",role:"dialog"}},[s("div",{staticClass:"sui-box",attrs:{role:"document"}},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title",attrs:{id:"dialogTitle"}},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.__("Edit Email"))+"\n\t\t\t\t\t\t")]),t._v(" "),t._m(2)]),t._v(" "),s("form",{attrs:{method:"post"}},[s("div",{staticClass:"sui-box-body"},[s("p",{attrs:{id:"dialogDescription"}},[t._v("\n\t\t\t\t\t\t\t\t"+t._s(t.__("This email sends a temporary passcode when the user can’t access their phone."))+"\n\t\t\t\t\t\t\t")]),t._v(" "),s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col"},[s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-label"},[t._v("\n\t\t\t\t\t\t\t\t\t\t\t"+t._s(t.__("Subject"))+"\n\t\t\t\t\t\t\t\t\t\t")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.email_subject,expression:"model.email_subject"}],staticClass:"sui-form-control",attrs:{name:"subject",type:"text",id:"email_subject"},domProps:{value:t.model.email_subject},on:{input:function(e){e.target.composing||t.$set(t.model,"email_subject",e.target.value)}}})])]),t._v(" "),s("div",{staticClass:"sui-col"},[s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-label"},[t._v("\n\t\t\t\t\t\t\t\t\t\t\t"+t._s(t.__("Sender"))+"\n\t\t\t\t\t\t\t\t\t\t")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.email_sender,expression:"model.email_sender"}],staticClass:"sui-form-control",attrs:{name:"sender",type:"text",id:"email_sender"},domProps:{value:t.model.email_sender},on:{input:function(e){e.target.composing||t.$set(t.model,"email_sender",e.target.value)}}})])])]),t._v(" "),s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col"},[s("label",{staticClass:"sui-label"},[t._v("\n\t\t\t\t\t\t\t\t\t\t"+t._s(t.__("Body"))+"\n\t\t\t\t\t\t\t\t\t")]),t._v(" "),s("textarea",{directives:[{name:"model",rawName:"v-model",value:t.model.email_body,expression:"model.email_body"}],staticClass:"sui-form-control",attrs:{name:"body",rows:"8",id:"email_body"},domProps:{value:t.model.email_body},on:{input:function(e){e.target.composing||t.$set(t.model,"email_body",e.target.value)}}})])]),t._v(" "),s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col"},[s("label",{staticClass:"sui-label"},[t._v("\n\t\t\t\t\t\t\t\t\t\t"+t._s(t.__("Available variables"))+"\n\t\t\t\t\t\t\t\t\t")]),t._v(" "),s("span",{staticClass:"sui-tag"},[s("strong",{domProps:{textContent:t._s(t.__("{{passcode}}"))}})]),t._v(" "),s("span",{staticClass:"sui-tag"},[s("strong",{domProps:{textContent:t._s(t.__("{{display_name}}"))}})])])])]),t._v(" "),s("div",{staticClass:"sui-box-footer"},[s("div",{staticClass:"sui-flex-child-right"},[s("button",{staticClass:"sui-button sui-button-ghost",attrs:{type:"button","data-a11y-dialog-hide":"my-accessible-dialog"}},[t._v("\n\t\t\t\t\t\t\t\t\t"+t._s(t.__("Cancel"))+"\n\t\t\t\t\t\t\t\t")])]),t._v(" "),s("div",{staticClass:"sui-actions-right"},[s("submit-button",{staticClass:"sui-button",attrs:{type:"button",state:t.state},on:{click:t.saveEmailTemplate}},[t._v("\n\t\t\t\t\t\t\t\t\t"+t._s(t.__("Save Template"))+"\n\t\t\t\t\t\t\t\t")]),t._v(" "),s("submit-button",{staticClass:"sui-button sui-button-blue",attrs:{type:"button",state:t.state},on:{click:t.sendTestEmail}},[t._v("\n\t\t\t\t\t\t\t\t\t"+t._s(t.__("Send Test"))+"\n\t\t\t\t\t\t\t\t")])],1)])])])])])])}),[function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"sui-upload-file"},[e("span")])},function(){var t=this.$createElement,e=this._self._c||t;return e("button",{staticClass:"sui-button-icon",attrs:{type:"button","data-a11y-dialog-show":"edit-one-time-password-email"}},[e("i",{staticClass:"sui-icon-pencil",attrs:{"aria-hidden":"true"}})])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"sui-actions-right"},[e("button",{staticClass:"sui-dialog-close",attrs:{"data-a11y-dialog-hide":"","aria-label":"Close this dialog window"}})])}],!1,null,null,null).exports,c={mixins:[n.a],name:"mask-login",data:function(){return{misc:advanced_tools.misc,model:advanced_tools.model.mask_login,nonces:advanced_tools.nonces,endpoints:advanced_tools.endpoints,state:{on_saving:!1,waiting_save:!1}}},watch:{"model.mask_url":function(t){t=this.convertToSlug(t),this.model.mask_url=t,this.misc.new_login_url=this.misc.home_url+t},"model.redirect_traffic_url":function(t){t=this.convertToSlug(t),this.model.redirect_traffic_url=t,this.misc.login_redirect_url=this.misc.home_url+t}},methods:{toggle:function(t){var e=this,s={};s.enabled=t,this.httpPostRequest("updateSettings",{data:JSON.stringify({settings:s,module:"mask-login"})},(function(){e.model.enabled=t}))},updateSettings:function(){var t=this.model;this.httpPostRequest("updateSettings",{data:JSON.stringify({settings:t,module:"mask-login"})})},convertToSlug:function(t){return t.toLowerCase().replace(/[^\w-/]+/g,"")}},computed:{new_mask_login:function(){return this.misc.new_login_url},login_redirect_url:function(){return this.misc.login_redirect_url}}},u=Object(o.a)(c,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return!1===t.model.enabled?s("div",{staticClass:"sui-box"},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n\t\t\t\t"+t._s(t.__("Mask Login Area"))+"\n\t\t\t")])]),t._v(" "),s("div",{staticClass:"sui-message"},[t.maybeHideBranding()?t._e():s("img",{staticClass:"sui-image",attrs:{src:t.assetUrl("assets/img/2factor-disabled.svg"),"aria-hidden":"true"}}),t._v(" "),s("div",{staticClass:"sui-message-content"},[s("p",[t._v("\n\t\t\t\t\t"+t._s(t.__("Change the location of WordPress's default login area, making it harder for automated bots to find and also more convenient for your users."))+"\n\t\t\t\t")]),t._v(" "),s("form",{attrs:{method:"post"}},[s("submit-button",{attrs:{type:"button","css-class":"sui-button-blue",state:t.state},on:{click:function(e){return t.toggle(!0)}}},[t._v("\n\t\t\t\t\t\t"+t._s(t.__("Active"))+"\n\t\t\t\t\t")])],1)])])]):s("div",{staticClass:"sui-box"},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n\t\t\t\t"+t._s(t.__("Mask Login Area"))+"\n\t\t\t")])]),t._v(" "),s("form",{attrs:{method:"post"},on:{submit:function(e){return e.preventDefault(),t.updateSettings(e)}}},[s("div",{staticClass:"sui-box-body"},[s("p",[t._v("\n\t\t\t\t\t"+t._s(t.__("Change your default WordPress login URL to hide your login area from hackers and bots."))+"\n\t\t\t\t")]),t._v(" "),!1!==t.misc.compatibility?s("div",{staticClass:"sui-notice sui-notice-error"},[s("p",t._l(t.misc.compatibility,(function(e){return s("span",[t._v("\n "+t._s(e)+"\n ")])})),0)]):t._e(),t._v(" "),0===t.model.mask_url.length?s("div",{staticClass:"sui-notice sui-notice-warning"},[s("p",[t._v("\n\t\t\t\t\t\t"+t._s(t.__("Masking is currently inactive. Choose your URL and save your settings to finish setup."))+"\n\t\t\t\t\t")])]):s("div",{staticClass:"sui-notice sui-notice-info"},[s("p",[t._v("\n\t\t\t\t\t\t"+t._s(t.__("Masking is currently active at "))+" "),s("strong",{domProps:{textContent:t._s(t.misc.new_login_url)}})])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Masking URL"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Choose the new URL slug where users of your website will now navigate to log in or register."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("You can specify any URLs. For security reasons, less obvious URLs are recommended as they are harder for bots to guess."))+"\n ")]),t._v(" "),s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-label"},[t._v("\n\t\t\t\t\t\t\t\t"+t._s(t.__("New Login URL"))+"\n\t\t\t\t\t\t\t")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.mask_url,expression:"model.mask_url"}],staticClass:"sui-form-control",attrs:{type:"text",name:"mask_url",placeholder:"E.g. dashboard"},domProps:{value:t.model.mask_url},on:{input:function(e){e.target.composing||t.$set(t.model,"mask_url",e.target.value)}}}),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Users will login at"))+" "),s("a",{attrs:{href:t.new_mask_login}},[t._v(t._s(t.new_mask_login))]),t._v(". "+t._s(t.__("Note: Registration and Password Reset emails have hardcoded URLs in them. We will update them automatically to match your new login URL"))+"\n ")])])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Redirect traffic"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("With this feature you can send visitors and bots who try to visit the default Wordpress login URLs to a separate URL to avoid 404s."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("label",{staticClass:"sui-toggle"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.redirect_traffic,expression:"model.redirect_traffic"}],staticClass:"toggle-checkbox",attrs:{role:"presentation",type:"checkbox",name:"redirect_traffic",id:"redirect_traffic","true-value":!0,"false-value":!1},domProps:{checked:Array.isArray(t.model.redirect_traffic)?t._i(t.model.redirect_traffic,null)>-1:t.model.redirect_traffic},on:{change:function(e){var s=t.model.redirect_traffic,i=e.target,a=!!i.checked;if(Array.isArray(s)){var n=t._i(s,null);i.checked?n<0&&t.$set(t.model,"redirect_traffic",s.concat([null])):n>-1&&t.$set(t.model,"redirect_traffic",s.slice(0,n).concat(s.slice(n+1)))}else t.$set(t.model,"redirect_traffic",a)}}}),t._v(" "),s("span",{staticClass:"sui-toggle-slider"})]),t._v(" "),s("label",{staticClass:"sui-toggle-label",attrs:{for:"redirect_traffic"}},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.__("Enable 404 redirection"))+"\n\t\t\t\t\t\t")]),t._v(" "),s("div",{directives:[{name:"show",rawName:"v-show",value:!0===t.model.redirect_traffic,expression:"model.redirect_traffic===true"}],staticClass:"sui-border-frame sui-toggle-content",attrs:{id:"redirectTrafficContainer"}},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("Redirection URL")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.redirect_traffic_url,expression:"model.redirect_traffic_url"}],staticClass:"sui-form-control",attrs:{placeholder:"E.g. 404-error",type:"text",name:"redirect_traffic_url"},domProps:{value:t.model.redirect_traffic_url},on:{input:function(e){e.target.composing||t.$set(t.model,"redirect_traffic_url",e.target.value)}}}),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Visitors who visit the default login URLs will be redirected to"))+" "),s("a",{attrs:{href:t.login_redirect_url}},[t._v(t._s(t.login_redirect_url))])])])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Deactivate"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Disable login area masking and return to the default wp-admin and wp-login URLS."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("submit-button",{attrs:{type:"button","css-class":"sui-button-ghost",state:t.state},on:{click:function(e){return t.toggle(!1)}}},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.__("Deactivate"))+"\n\t\t\t\t\t\t")])],1)])]),t._v(" "),s("div",{staticClass:"sui-box-footer"},[s("submit-button",{attrs:{type:"submit",state:t.state,"css-class":"sui-button-blue"}},[s("i",{staticClass:"sui-icon-save",attrs:{"aria-hidden":"true"}}),t._v("\n\t\t\t\t\t"+t._s(t.__("Save Changes"))+"\n\t\t\t\t")])],1)])])}),[],!1,null,null,null).exports,d={mixins:[n.a],components:{"two-factors":l,"mask-login":u},data:function(){return{state:{on_saving:!1},whitelabel:defender.whitelabel,is_free:defender.is_free,view:""}},created:function(){var t=new URLSearchParams(window.location.search).get("view");null===t&&(t="two-factor-auth"),this.view=t},watch:{view:function(t,e){history.replaceState({},null,this.adminUrl()+"admin.php?page=wdf-advanced-tools&view="+this.view)}},mounted:function(){self=this,jQuery(".sui-mobile-nav").change((function(){self.view=jQuery(this).val()}))}},f=Object(o.a)(d,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"sui-wrap",class:[t.maybeHighContrast()]},[s("div",{staticClass:"advanced-tools"},[s("div",{staticClass:"sui-header"},[s("h1",{staticClass:"sui-header-title"},[t._v(t._s(t.__("Advanced Tools")))]),t._v(" "),s("doc-link",{attrs:{link:"https://premium.wpmudev.org/docs/wpmu-dev-plugins/defender/#advanced-tools"}})],1),t._v(" "),s("div",{staticClass:"sui-row-with-sidenav"},[s("div",{staticClass:"sui-sidenav"},[s("ul",{staticClass:"sui-vertical-tabs sui-sidenav-hide-md"},[s("li",{staticClass:"sui-vertical-tab",class:{current:"two-factor-auth"===t.view}},[s("a",{attrs:{"data-tab":"login_lockout",href:"#2factor"},on:{click:function(e){e.preventDefault(),t.view="two-factor-auth"}}},[t._v(t._s(t.__("Two-Factor Auth")))])]),t._v(" "),s("li",{staticClass:"sui-vertical-tab",class:{current:"mask-login"===t.view}},[s("a",{attrs:{"data-tab":"notfound_lockout",href:"#mask-login"},on:{click:function(e){e.preventDefault(),t.view="mask-login"}}},[t._v(t._s(t.__("Mask Login Area")))])])]),t._v(" "),s("div",{staticClass:"sui-sidenav-hide-lg"},[s("select",{staticClass:"sui-mobile-nav"},[s("option",{attrs:{value:"two-factor-auth"}},[t._v(t._s(t.__("Two-Factor Auth")))]),t._v(" "),s("option",{attrs:{value:"mask-login"}},[t._v(t._s(t.__("Mask Login Area")))])])])]),t._v(" "),s("two-factors",{directives:[{name:"show",rawName:"v-show",value:"two-factor-auth"===t.view,expression:"view==='two-factor-auth'"}]}),t._v(" "),s("mask-login",{directives:[{name:"show",rawName:"v-show",value:"mask-login"===t.view,expression:"view==='mask-login'"}]})],1)]),t._v(" "),s("app-footer")],1)}),[],!1,null,null,null).exports,_=s("./src/component/submit-button.vue"),p=s("./src/component/footer.vue"),m=s("./src/component/doc-link.vue");a.a.component("app-footer",p.a),a.a.component("doc-link",m.a),a.a.component("submit-button",_.a);new a.a({el:"#defender",components:{advanced_tools:f},render:function(t){return t(f)}})},"./src/component/doc-link.vue":function(t,e,s){"use strict";var i={mixins:[s("./src/helper/base_hepler.js").a],name:"doc-link",props:["link"],data:function(){return{whitelabel:defender.whitelabel}}},a=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),n=Object(a.a)(i,(function(){var t=this.$createElement,e=this._self._c||t;return!1===this.whitelabel.hide_doc_link?e("div",{staticClass:"sui-actions-right"},[e("a",{staticClass:"sui-button sui-button-ghost",attrs:{href:this.link,target:"_blank"}},[e("i",{staticClass:"sui-icon-academy"}),this._v(" "+this._s(this.__("View Documentation"))+"\n ")])]):this._e()}),[],!1,null,null,null);e.a=n.exports},"./src/component/footer.vue":function(t,e,s){"use strict";var i={data:function(){return{whitelabel:defender.whitelabel,is_free:defender.is_free}}},a=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),n=Object(a.a)(i,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",[!0===t.whitelabel.change_footer?s("div",{staticClass:"sui-footer"},[t._v("\n "+t._s(t.whitelabel.footer_text)+"\n ")]):s("div",{staticClass:"sui-footer"},[t._v("Made with "),s("i",{staticClass:"sui-icon-heart"}),t._v(" by WPMU DEV")]),t._v(" "),!1===t.whitelabel.hide_doc_link?s("div",[t.is_free?s("ul",{staticClass:"sui-footer-nav"},[t._m(0),t._v(" "),t._m(1),t._v(" "),t._m(2),t._v(" "),t._m(3),t._v(" "),t._m(4),t._v(" "),t._m(5),t._v(" "),t._m(6),t._v(" "),t._m(7)]):s("ul",{staticClass:"sui-footer-nav"},[t._m(8),t._v(" "),t._m(9),t._v(" "),t._m(10),t._v(" "),t._m(11),t._v(" "),t._m(12),t._v(" "),t._m(13),t._v(" "),t._m(14),t._v(" "),t._m(15)]),t._v(" "),t._m(16)]):t._e()])}),[function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://profiles.wordpress.org/wpmudev#content-plugins",target:"_blank"}},[this._v("Free\n Plugins")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/features/",target:"_blank"}},[this._v("Membership")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/roadmap/",target:"_blank"}},[this._v("Roadmap")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://wordpress.org/support/plugin/plugin-name",target:"_blank"}},[this._v("Support")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/docs/",target:"_blank"}},[this._v("Docs")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/hub/",target:"_blank"}},[this._v("The Hub")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/terms-of-service/",target:"_blank"}},[this._v("Terms of Service")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://incsub.com/privacy-policy/",target:"_blank"}},[this._v("Privacy Policy")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/hub/",target:"_blank"}},[this._v("The Hub")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/projects/category/plugins/",target:"_blank"}},[this._v("Plugins")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/roadmap/",target:"_blank"}},[this._v("Roadmap")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/hub/support/",target:"_blank"}},[this._v("Support")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/docs/",target:"_blank"}},[this._v("Docs")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/hub/community/",target:"_blank"}},[this._v("Community")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/terms-of-service/",target:"_blank"}},[this._v("Terms of Service")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://incsub.com/privacy-policy/",target:"_blank"}},[this._v("Privacy Policy")])])},function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("ul",{staticClass:"sui-footer-social"},[s("li",[s("a",{attrs:{href:"https://www.facebook.com/wpmudev",target:"_blank"}},[s("i",{staticClass:"sui-icon-social-facebook",attrs:{"aria-hidden":"true"}}),t._v(" "),s("span",{staticClass:"sui-screen-reader-text"},[t._v("Facebook")])])]),t._v(" "),s("li",[s("a",{attrs:{href:"https://twitter.com/wpmudev",target:"_blank"}},[s("i",{staticClass:"sui-icon-social-twitter",attrs:{"aria-hidden":"true"}})]),t._v(" "),s("span",{staticClass:"sui-screen-reader-text"},[t._v("Twitter")])]),t._v(" "),s("li",[s("a",{attrs:{href:"https://www.instagram.com/wpmu_dev/",target:"_blank"}},[s("i",{staticClass:"sui-icon-instagram",attrs:{"aria-hidden":"true"}}),t._v(" "),s("span",{staticClass:"sui-screen-reader-text"},[t._v("Instagram")])])])])}],!1,null,null,null);e.a=n.exports},"./src/component/submit-button.vue":function(t,e,s){"use strict";var i={name:"submit-button",props:["id","state","text","css-class","type"],computed:{getClass:function(){return"sui-button "+this.cssClass}}},a=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),n=Object(a.a)(i,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("button",{staticClass:"sui-button",class:[t.getClass,{"sui-button-onload":t.state.on_saving}],attrs:{id:t.id,type:t.type,disabled:t.state.on_saving},on:{click:function(e){return t.$emit("click")}}},[s("span",{staticClass:"sui-loading-text"},[t._t("default")],2),t._v(" "),s("i",{staticClass:"sui-icon-loader sui-loading",attrs:{"aria-hidden":"true"}})])}),[],!1,null,null,null);e.a=n.exports},"./src/helper/base_hepler.js":function(t,e,s){"use strict";var i=s("./node_modules/xss/lib/index.js"),a=s.n(i),n=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var s=[],i=!0,a=!1,n=void 0;try{for(var r,o=t[Symbol.iterator]();!(i=(r=o.next()).done)&&(s.push(r.value),!e||s.length!==e);i=!0);}catch(t){a=!0,n=t}finally{try{!i&&o.return&&o.return()}finally{if(a)throw n}}return s}(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")},r=wp.i18n,o=r.sprintf,l=r.__,c=[];e.a={methods:{__:function(t){return a()(l(t,"wpdef"))},xss:function(t){return a()(t)},vsprintf:function(t){return o.apply(null,arguments)},siteUrl:function(t){return void 0!==t?defender.site_url+t:defender.site_url},adminUrl:function(t){return void 0!==t?defender.admin_url+t:defender.admin_url},assetUrl:function(t){return defender.defender_url+t},maybeHighContrast:function(){return{"sui-color-accessible":!0===defender.misc.high_contrast}},maybeHideBranding:function(){return defender.whitelabel.hide_branding},campaign_url:function(t){return"https://premium.wpmudev.org/project/wp-defender/?utm_source=defender&utm_medium=plugin&utm_campaign="+t},httpRequest:function(t,e,s,i,a){var n=this;void 0===a&&(this.state.on_saving=!0);var r=ajaxurl+"?action="+this.endpoints[e]+"&_wpnonce="+this.nonces[e],o=jQuery.ajax({url:r,method:t,data:s,success:function(t){var e=t.data;n.state.on_saving=!1,void 0!==e&&void 0!==e.message&&(t.success?Defender.showNotification("success",e.message):Defender.showNotification("error",e.message)),void 0!==i&&i(t)}});c.push(o)},httpGetRequest:function(t,e,s,i){this.httpRequest("get",t,e,s,i)},httpPostRequest:function(t,e,s,i){this.httpRequest("post",t,e,s,i)},abortAllRequests:function(){for(var t=0;t<c.length;t++)c[t].abort()},getQueryStringParams:function(t){return t?(/^[?#]/.test(t)?t.slice(1):t).split("&").reduce((function(t,e){var s=e.split("="),i=n(s,2),a=i[0],r=i[1];return t[a]=r?decodeURIComponent(r.replace(/\+/g," ")):"",t}),{}):{}},rebindSUI:function(){jQuery("select:not([multiple])").each((function(){SUI.suiSelect(this)})),jQuery(".sui-accordion").each((function(){SUI.suiAccordion(this)}));var t=jQuery(".sui-wrap");SUI.dialogs={},jQuery(".sui-dialog").each((function(){SUI.dialogs[this.id]=new A11yDialog(this,t)}))}}}},vue:function(t,e){t.exports=Vue}});
1
+ !function(t){var e=window.webpackHotUpdate;window.webpackHotUpdate=function(t,s){!function(t,e){if(!w[t]||!b[t])return;for(var s in b[t]=!1,e)Object.prototype.hasOwnProperty.call(e,s)&&(p[s]=e[s]);0==--v&&0===h&&k()}(t,s),e&&e(t,s)};var s,i=!0,a="d0b3332498cfafc2e0f1",n={},r=[],o=[];function l(t){var e=j[t];if(!e)return S;var i=function(i){return e.hot.active?(j[i]?-1===j[i].parents.indexOf(t)&&j[i].parents.push(t):(r=[t],s=i),-1===e.children.indexOf(i)&&e.children.push(i)):(console.warn("[HMR] unexpected require("+i+") from disposed module "+t),r=[]),S(i)},a=function(t){return{configurable:!0,enumerable:!0,get:function(){return S[t]},set:function(e){S[t]=e}}};for(var n in S)Object.prototype.hasOwnProperty.call(S,n)&&"e"!==n&&"t"!==n&&Object.defineProperty(i,n,a(n));return i.e=function(t){return"ready"===d&&f("prepare"),h++,S.e(t).then(e,(function(t){throw e(),t}));function e(){h--,"prepare"===d&&(g[t]||x(t),0===h&&0===v&&k())}},i.t=function(t,e){return 1&e&&(t=i(t)),S.t(t,-2&e)},i}function c(t){var e={_acceptedDependencies:{},_declinedDependencies:{},_selfAccepted:!1,_selfDeclined:!1,_disposeHandlers:[],_main:s!==t,active:!0,accept:function(t,s){if(void 0===t)e._selfAccepted=!0;else if("function"==typeof t)e._selfAccepted=t;else if("object"==typeof t)for(var i=0;i<t.length;i++)e._acceptedDependencies[t[i]]=s||function(){};else e._acceptedDependencies[t]=s||function(){}},decline:function(t){if(void 0===t)e._selfDeclined=!0;else if("object"==typeof t)for(var s=0;s<t.length;s++)e._declinedDependencies[t[s]]=!0;else e._declinedDependencies[t]=!0},dispose:function(t){e._disposeHandlers.push(t)},addDisposeHandler:function(t){e._disposeHandlers.push(t)},removeDisposeHandler:function(t){var s=e._disposeHandlers.indexOf(t);s>=0&&e._disposeHandlers.splice(s,1)},check:C,apply:A,status:function(t){if(!t)return d;u.push(t)},addStatusHandler:function(t){u.push(t)},removeStatusHandler:function(t){var e=u.indexOf(t);e>=0&&u.splice(e,1)},data:n[t]};return s=void 0,e}var u=[],d="idle";function f(t){d=t;for(var e=0;e<u.length;e++)u[e].call(null,t)}var _,p,m,v=0,h=0,g={},b={},w={};function y(t){return+t+""===t?+t:t}function C(t){if("idle"!==d)throw new Error("check() is only allowed in idle status");return i=t,f("check"),(e=1e4,e=e||1e4,new Promise((function(t,s){if("undefined"==typeof XMLHttpRequest)return s(new Error("No browser support"));try{var i=new XMLHttpRequest,n=S.p+""+a+".hot-update.json";i.open("GET",n,!0),i.timeout=e,i.send(null)}catch(t){return s(t)}i.onreadystatechange=function(){if(4===i.readyState)if(0===i.status)s(new Error("Manifest request to "+n+" timed out."));else if(404===i.status)t();else if(200!==i.status&&304!==i.status)s(new Error("Manifest request to "+n+" failed."));else{try{var e=JSON.parse(i.responseText)}catch(t){return void s(t)}t(e)}}}))).then((function(t){if(!t)return f("idle"),null;b={},g={},w=t.c,m=t.h,f("prepare");var e=new Promise((function(t,e){_={resolve:t,reject:e}}));p={};return x(0),"prepare"===d&&0===h&&0===v&&k(),e}));var e}function x(t){w[t]?(b[t]=!0,v++,function(t){var e=document.createElement("script");e.charset="utf-8",e.src=S.p+""+t+"."+a+".hot-update.js",document.head.appendChild(e)}(t)):g[t]=!0}function k(){f("ready");var t=_;if(_=null,t)if(i)Promise.resolve().then((function(){return A(i)})).then((function(e){t.resolve(e)}),(function(e){t.reject(e)}));else{var e=[];for(var s in p)Object.prototype.hasOwnProperty.call(p,s)&&e.push(y(s));t.resolve(e)}}function A(e){if("ready"!==d)throw new Error("apply() is only allowed in ready status");var s,i,o,l,c;function u(t){for(var e=[t],s={},i=e.map((function(t){return{chain:[t],id:t}}));i.length>0;){var a=i.pop(),n=a.id,r=a.chain;if((l=j[n])&&!l.hot._selfAccepted){if(l.hot._selfDeclined)return{type:"self-declined",chain:r,moduleId:n};if(l.hot._main)return{type:"unaccepted",chain:r,moduleId:n};for(var o=0;o<l.parents.length;o++){var c=l.parents[o],u=j[c];if(u){if(u.hot._declinedDependencies[n])return{type:"declined",chain:r.concat([c]),moduleId:n,parentId:c};-1===e.indexOf(c)&&(u.hot._acceptedDependencies[n]?(s[c]||(s[c]=[]),_(s[c],[n])):(delete s[c],e.push(c),i.push({chain:r.concat([c]),id:c})))}}}}return{type:"accepted",moduleId:t,outdatedModules:e,outdatedDependencies:s}}function _(t,e){for(var s=0;s<e.length;s++){var i=e[s];-1===t.indexOf(i)&&t.push(i)}}e=e||{};var v={},h=[],g={},b=function(){console.warn("[HMR] unexpected require("+x.moduleId+") to disposed module")};for(var C in p)if(Object.prototype.hasOwnProperty.call(p,C)){var x;c=y(C);var k=!1,A=!1,E=!1,T="";switch((x=p[C]?u(c):{type:"disposed",moduleId:C}).chain&&(T="\nUpdate propagation: "+x.chain.join(" -> ")),x.type){case"self-declined":e.onDeclined&&e.onDeclined(x),e.ignoreDeclined||(k=new Error("Aborted because of self decline: "+x.moduleId+T));break;case"declined":e.onDeclined&&e.onDeclined(x),e.ignoreDeclined||(k=new Error("Aborted because of declined dependency: "+x.moduleId+" in "+x.parentId+T));break;case"unaccepted":e.onUnaccepted&&e.onUnaccepted(x),e.ignoreUnaccepted||(k=new Error("Aborted because "+c+" is not accepted"+T));break;case"accepted":e.onAccepted&&e.onAccepted(x),A=!0;break;case"disposed":e.onDisposed&&e.onDisposed(x),E=!0;break;default:throw new Error("Unexception type "+x.type)}if(k)return f("abort"),Promise.reject(k);if(A)for(c in g[c]=p[c],_(h,x.outdatedModules),x.outdatedDependencies)Object.prototype.hasOwnProperty.call(x.outdatedDependencies,c)&&(v[c]||(v[c]=[]),_(v[c],x.outdatedDependencies[c]));E&&(_(h,[x.moduleId]),g[c]=b)}var I,O=[];for(i=0;i<h.length;i++)c=h[i],j[c]&&j[c].hot._selfAccepted&&g[c]!==b&&O.push({module:c,errorHandler:j[c].hot._selfAccepted});f("dispose"),Object.keys(w).forEach((function(t){!1===w[t]&&function(t){delete installedChunks[t]}(t)}));for(var P,$,D=h.slice();D.length>0;)if(c=D.pop(),l=j[c]){var U={},R=l.hot._disposeHandlers;for(o=0;o<R.length;o++)(s=R[o])(U);for(n[c]=U,l.hot.active=!1,delete j[c],delete v[c],o=0;o<l.children.length;o++){var L=j[l.children[o]];L&&((I=L.parents.indexOf(c))>=0&&L.parents.splice(I,1))}}for(c in v)if(Object.prototype.hasOwnProperty.call(v,c)&&(l=j[c]))for($=v[c],o=0;o<$.length;o++)P=$[o],(I=l.children.indexOf(P))>=0&&l.children.splice(I,1);for(c in f("apply"),a=m,g)Object.prototype.hasOwnProperty.call(g,c)&&(t[c]=g[c]);var N=null;for(c in v)if(Object.prototype.hasOwnProperty.call(v,c)&&(l=j[c])){$=v[c];var H=[];for(i=0;i<$.length;i++)if(P=$[i],s=l.hot._acceptedDependencies[P]){if(-1!==H.indexOf(s))continue;H.push(s)}for(i=0;i<H.length;i++){s=H[i];try{s($)}catch(t){e.onErrored&&e.onErrored({type:"accept-errored",moduleId:c,dependencyId:$[i],error:t}),e.ignoreErrored||N||(N=t)}}}for(i=0;i<O.length;i++){var q=O[i];c=q.module,r=[c];try{S(c)}catch(t){if("function"==typeof q.errorHandler)try{q.errorHandler(t)}catch(s){e.onErrored&&e.onErrored({type:"self-accept-error-handler-errored",moduleId:c,error:s,originalError:t}),e.ignoreErrored||N||(N=s),N||(N=t)}else e.onErrored&&e.onErrored({type:"self-accept-errored",moduleId:c,error:t}),e.ignoreErrored||N||(N=t)}}return N?(f("fail"),Promise.reject(N)):(f("idle"),new Promise((function(t){t(h)})))}var j={};function S(e){if(j[e])return j[e].exports;var s=j[e]={i:e,l:!1,exports:{},hot:c(e),parents:(o=r,r=[],o),children:[]};return t[e].call(s.exports,s,s.exports,l(e)),s.l=!0,s.exports}S.m=t,S.c=j,S.d=function(t,e,s){S.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:s})},S.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},S.t=function(t,e){if(1&e&&(t=S(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var s=Object.create(null);if(S.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)S.d(s,i,function(e){return t[e]}.bind(null,i));return s},S.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return S.d(e,"a",e),e},S.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},S.p="",S.h=function(){return a},l("./src/advanced-tools.js")(S.s="./src/advanced-tools.js")}({"./node_modules/cssfilter/lib/css.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/default.js"),a=s("./node_modules/cssfilter/lib/parser.js");s("./node_modules/cssfilter/lib/util.js");function n(t){return null==t}function r(t){(t=function(t){var e={};for(var s in t)e[s]=t[s];return e}(t||{})).whiteList=t.whiteList||i.whiteList,t.onAttr=t.onAttr||i.onAttr,t.onIgnoreAttr=t.onIgnoreAttr||i.onIgnoreAttr,t.safeAttrValue=t.safeAttrValue||i.safeAttrValue,this.options=t}r.prototype.process=function(t){if(!(t=(t=t||"").toString()))return"";var e=this.options,s=e.whiteList,i=e.onAttr,r=e.onIgnoreAttr,o=e.safeAttrValue;return a(t,(function(t,e,a,l,c){var u=s[a],d=!1;if(!0===u?d=u:"function"==typeof u?d=u(l):u instanceof RegExp&&(d=u.test(l)),!0!==d&&(d=!1),l=o(a,l)){var f,_={position:e,sourcePosition:t,source:c,isWhite:d};return d?n(f=i(a,l,_))?a+":"+l:f:n(f=r(a,l,_))?void 0:f}}))},t.exports=r},"./node_modules/cssfilter/lib/default.js":function(t,e){function s(){var t={"align-content":!1,"align-items":!1,"align-self":!1,"alignment-adjust":!1,"alignment-baseline":!1,all:!1,"anchor-point":!1,animation:!1,"animation-delay":!1,"animation-direction":!1,"animation-duration":!1,"animation-fill-mode":!1,"animation-iteration-count":!1,"animation-name":!1,"animation-play-state":!1,"animation-timing-function":!1,azimuth:!1,"backface-visibility":!1,background:!0,"background-attachment":!0,"background-clip":!0,"background-color":!0,"background-image":!0,"background-origin":!0,"background-position":!0,"background-repeat":!0,"background-size":!0,"baseline-shift":!1,binding:!1,bleed:!1,"bookmark-label":!1,"bookmark-level":!1,"bookmark-state":!1,border:!0,"border-bottom":!0,"border-bottom-color":!0,"border-bottom-left-radius":!0,"border-bottom-right-radius":!0,"border-bottom-style":!0,"border-bottom-width":!0,"border-collapse":!0,"border-color":!0,"border-image":!0,"border-image-outset":!0,"border-image-repeat":!0,"border-image-slice":!0,"border-image-source":!0,"border-image-width":!0,"border-left":!0,"border-left-color":!0,"border-left-style":!0,"border-left-width":!0,"border-radius":!0,"border-right":!0,"border-right-color":!0,"border-right-style":!0,"border-right-width":!0,"border-spacing":!0,"border-style":!0,"border-top":!0,"border-top-color":!0,"border-top-left-radius":!0,"border-top-right-radius":!0,"border-top-style":!0,"border-top-width":!0,"border-width":!0,bottom:!1,"box-decoration-break":!0,"box-shadow":!0,"box-sizing":!0,"box-snap":!0,"box-suppress":!0,"break-after":!0,"break-before":!0,"break-inside":!0,"caption-side":!1,chains:!1,clear:!0,clip:!1,"clip-path":!1,"clip-rule":!1,color:!0,"color-interpolation-filters":!0,"column-count":!1,"column-fill":!1,"column-gap":!1,"column-rule":!1,"column-rule-color":!1,"column-rule-style":!1,"column-rule-width":!1,"column-span":!1,"column-width":!1,columns:!1,contain:!1,content:!1,"counter-increment":!1,"counter-reset":!1,"counter-set":!1,crop:!1,cue:!1,"cue-after":!1,"cue-before":!1,cursor:!1,direction:!1,display:!0,"display-inside":!0,"display-list":!0,"display-outside":!0,"dominant-baseline":!1,elevation:!1,"empty-cells":!1,filter:!1,flex:!1,"flex-basis":!1,"flex-direction":!1,"flex-flow":!1,"flex-grow":!1,"flex-shrink":!1,"flex-wrap":!1,float:!1,"float-offset":!1,"flood-color":!1,"flood-opacity":!1,"flow-from":!1,"flow-into":!1,font:!0,"font-family":!0,"font-feature-settings":!0,"font-kerning":!0,"font-language-override":!0,"font-size":!0,"font-size-adjust":!0,"font-stretch":!0,"font-style":!0,"font-synthesis":!0,"font-variant":!0,"font-variant-alternates":!0,"font-variant-caps":!0,"font-variant-east-asian":!0,"font-variant-ligatures":!0,"font-variant-numeric":!0,"font-variant-position":!0,"font-weight":!0,grid:!1,"grid-area":!1,"grid-auto-columns":!1,"grid-auto-flow":!1,"grid-auto-rows":!1,"grid-column":!1,"grid-column-end":!1,"grid-column-start":!1,"grid-row":!1,"grid-row-end":!1,"grid-row-start":!1,"grid-template":!1,"grid-template-areas":!1,"grid-template-columns":!1,"grid-template-rows":!1,"hanging-punctuation":!1,height:!0,hyphens:!1,icon:!1,"image-orientation":!1,"image-resolution":!1,"ime-mode":!1,"initial-letters":!1,"inline-box-align":!1,"justify-content":!1,"justify-items":!1,"justify-self":!1,left:!1,"letter-spacing":!0,"lighting-color":!0,"line-box-contain":!1,"line-break":!1,"line-grid":!1,"line-height":!1,"line-snap":!1,"line-stacking":!1,"line-stacking-ruby":!1,"line-stacking-shift":!1,"line-stacking-strategy":!1,"list-style":!0,"list-style-image":!0,"list-style-position":!0,"list-style-type":!0,margin:!0,"margin-bottom":!0,"margin-left":!0,"margin-right":!0,"margin-top":!0,"marker-offset":!1,"marker-side":!1,marks:!1,mask:!1,"mask-box":!1,"mask-box-outset":!1,"mask-box-repeat":!1,"mask-box-slice":!1,"mask-box-source":!1,"mask-box-width":!1,"mask-clip":!1,"mask-image":!1,"mask-origin":!1,"mask-position":!1,"mask-repeat":!1,"mask-size":!1,"mask-source-type":!1,"mask-type":!1,"max-height":!0,"max-lines":!1,"max-width":!0,"min-height":!0,"min-width":!0,"move-to":!1,"nav-down":!1,"nav-index":!1,"nav-left":!1,"nav-right":!1,"nav-up":!1,"object-fit":!1,"object-position":!1,opacity:!1,order:!1,orphans:!1,outline:!1,"outline-color":!1,"outline-offset":!1,"outline-style":!1,"outline-width":!1,overflow:!1,"overflow-wrap":!1,"overflow-x":!1,"overflow-y":!1,padding:!0,"padding-bottom":!0,"padding-left":!0,"padding-right":!0,"padding-top":!0,page:!1,"page-break-after":!1,"page-break-before":!1,"page-break-inside":!1,"page-policy":!1,pause:!1,"pause-after":!1,"pause-before":!1,perspective:!1,"perspective-origin":!1,pitch:!1,"pitch-range":!1,"play-during":!1,position:!1,"presentation-level":!1,quotes:!1,"region-fragment":!1,resize:!1,rest:!1,"rest-after":!1,"rest-before":!1,richness:!1,right:!1,rotation:!1,"rotation-point":!1,"ruby-align":!1,"ruby-merge":!1,"ruby-position":!1,"shape-image-threshold":!1,"shape-outside":!1,"shape-margin":!1,size:!1,speak:!1,"speak-as":!1,"speak-header":!1,"speak-numeral":!1,"speak-punctuation":!1,"speech-rate":!1,stress:!1,"string-set":!1,"tab-size":!1,"table-layout":!1,"text-align":!0,"text-align-last":!0,"text-combine-upright":!0,"text-decoration":!0,"text-decoration-color":!0,"text-decoration-line":!0,"text-decoration-skip":!0,"text-decoration-style":!0,"text-emphasis":!0,"text-emphasis-color":!0,"text-emphasis-position":!0,"text-emphasis-style":!0,"text-height":!0,"text-indent":!0,"text-justify":!0,"text-orientation":!0,"text-overflow":!0,"text-shadow":!0,"text-space-collapse":!0,"text-transform":!0,"text-underline-position":!0,"text-wrap":!0,top:!1,transform:!1,"transform-origin":!1,"transform-style":!1,transition:!1,"transition-delay":!1,"transition-duration":!1,"transition-property":!1,"transition-timing-function":!1,"unicode-bidi":!1,"vertical-align":!1,visibility:!1,"voice-balance":!1,"voice-duration":!1,"voice-family":!1,"voice-pitch":!1,"voice-range":!1,"voice-rate":!1,"voice-stress":!1,"voice-volume":!1,volume:!1,"white-space":!1,widows:!1,width:!0,"will-change":!1,"word-break":!0,"word-spacing":!0,"word-wrap":!0,"wrap-flow":!1,"wrap-through":!1,"writing-mode":!1,"z-index":!1};return t}var i=/javascript\s*\:/gim;e.whiteList=s(),e.getDefaultWhiteList=s,e.onAttr=function(t,e,s){},e.onIgnoreAttr=function(t,e,s){},e.safeAttrValue=function(t,e){return i.test(e)?"":e}},"./node_modules/cssfilter/lib/index.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/default.js"),a=s("./node_modules/cssfilter/lib/css.js");for(var n in(e=t.exports=function(t,e){return new a(e).process(t)}).FilterCSS=a,i)e[n]=i[n];"undefined"!=typeof window&&(window.filterCSS=t.exports)},"./node_modules/cssfilter/lib/parser.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/util.js");t.exports=function(t,e){";"!==(t=i.trimRight(t))[t.length-1]&&(t+=";");var s=t.length,a=!1,n=0,r=0,o="";function l(){if(!a){var s=i.trim(t.slice(n,r)),l=s.indexOf(":");if(-1!==l){var c=i.trim(s.slice(0,l)),u=i.trim(s.slice(l+1));if(c){var d=e(n,o.length,c,u,s);d&&(o+=d+"; ")}}}n=r+1}for(;r<s;r++){var c=t[r];if("/"===c&&"*"===t[r+1]){var u=t.indexOf("*/",r+2);if(-1===u)break;n=(r=u+1)+1,a=!1}else"("===c?a=!0:")"===c?a=!1:";"===c?a||l():"\n"===c&&l()}return i.trim(o)}},"./node_modules/cssfilter/lib/util.js":function(t,e){t.exports={indexOf:function(t,e){var s,i;if(Array.prototype.indexOf)return t.indexOf(e);for(s=0,i=t.length;s<i;s++)if(t[s]===e)return s;return-1},forEach:function(t,e,s){var i,a;if(Array.prototype.forEach)return t.forEach(e,s);for(i=0,a=t.length;i<a;i++)e.call(s,t[i],i,t)},trim:function(t){return String.prototype.trim?t.trim():t.replace(/(^\s*)|(\s*$)/g,"")},trimRight:function(t){return String.prototype.trimRight?t.trimRight():t.replace(/(\s*$)/g,"")}}},"./node_modules/vue-loader/lib/runtime/componentNormalizer.js":function(t,e,s){"use strict";function i(t,e,s,i,a,n,r,o){var l,c="function"==typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=s,c._compiled=!0),i&&(c.functional=!0),n&&(c._scopeId="data-v-"+n),r?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),a&&a.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(r)},c._ssrRegister=l):a&&(l=o?function(){a.call(this,this.$root.$options.shadowRoot)}:a),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(t,e){return l.call(e),u(t,e)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,l):[l]}return{exports:t,options:c}}s.d(e,"a",(function(){return i}))},"./node_modules/xss/lib/default.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/index.js").FilterCSS,a=s("./node_modules/cssfilter/lib/index.js").getDefaultWhiteList,n=s("./node_modules/xss/lib/util.js");function r(){return{a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","loop","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height"],ins:["datetime"],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],sup:[],strong:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","loop","preload","src","height","width"]}}var o=new i;function l(t){return t.replace(c,"&lt;").replace(u,"&gt;")}var c=/</g,u=/>/g,d=/"/g,f=/&quot;/g,_=/&#([a-zA-Z0-9]*);?/gim,p=/&colon;?/gim,m=/&newline;?/gim,v=/((j\s*a\s*v\s*a|v\s*b|l\s*i\s*v\s*e)\s*s\s*c\s*r\s*i\s*p\s*t\s*|m\s*o\s*c\s*h\s*a)\:/gi,h=/e\s*x\s*p\s*r\s*e\s*s\s*s\s*i\s*o\s*n\s*\(.*/gi,g=/u\s*r\s*l\s*\(.*/gi;function b(t){return t.replace(d,"&quot;")}function w(t){return t.replace(f,'"')}function y(t){return t.replace(_,(function(t,e){return"x"===e[0]||"X"===e[0]?String.fromCharCode(parseInt(e.substr(1),16)):String.fromCharCode(parseInt(e,10))}))}function C(t){return t.replace(p,":").replace(m," ")}function x(t){for(var e="",s=0,i=t.length;s<i;s++)e+=t.charCodeAt(s)<32?" ":t.charAt(s);return n.trim(e)}function k(t){return t=x(t=C(t=y(t=w(t))))}function A(t){return t=l(t=b(t))}var j=/<!--[\s\S]*?-->/g;e.whiteList={a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","loop","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height"],ins:["datetime"],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],sup:[],strong:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","loop","preload","src","height","width"]},e.getDefaultWhiteList=r,e.onTag=function(t,e,s){},e.onIgnoreTag=function(t,e,s){},e.onTagAttr=function(t,e,s){},e.onIgnoreTagAttr=function(t,e,s){},e.safeAttrValue=function(t,e,s,i){if(s=k(s),"href"===e||"src"===e){if("#"===(s=n.trim(s)))return"#";if("http://"!==s.substr(0,7)&&"https://"!==s.substr(0,8)&&"mailto:"!==s.substr(0,7)&&"tel:"!==s.substr(0,4)&&"#"!==s[0]&&"/"!==s[0])return""}else if("background"===e){if(v.lastIndex=0,v.test(s))return""}else if("style"===e){if(h.lastIndex=0,h.test(s))return"";if(g.lastIndex=0,g.test(s)&&(v.lastIndex=0,v.test(s)))return"";!1!==i&&(s=(i=i||o).process(s))}return s=A(s)},e.escapeHtml=l,e.escapeQuote=b,e.unescapeQuote=w,e.escapeHtmlEntities=y,e.escapeDangerHtml5Entities=C,e.clearNonPrintableCharacter=x,e.friendlyAttrValue=k,e.escapeAttrValue=A,e.onIgnoreTagStripAll=function(){return""},e.StripTagBody=function(t,e){"function"!=typeof e&&(e=function(){});var s=!Array.isArray(t),i=[],a=!1;return{onIgnoreTag:function(r,o,l){if(function(e){return!!s||-1!==n.indexOf(t,e)}(r)){if(l.isClosing){var c="[/removed]",u=l.position+c.length;return i.push([!1!==a?a:l.position,u]),a=!1,c}return a||(a=l.position),"[removed]"}return e(r,o,l)},remove:function(t){var e="",s=0;return n.forEach(i,(function(i){e+=t.slice(s,i[0]),s=i[1]})),e+=t.slice(s)}}},e.stripCommentTag=function(t){return t.replace(j,"")},e.stripBlankChar=function(t){var e=t.split("");return(e=e.filter((function(t){var e=t.charCodeAt(0);return 127!==e&&(!(e<=31)||(10===e||13===e))}))).join("")},e.cssFilter=o,e.getDefaultCSSWhiteList=a},"./node_modules/xss/lib/index.js":function(t,e,s){var i=s("./node_modules/xss/lib/default.js"),a=s("./node_modules/xss/lib/parser.js"),n=s("./node_modules/xss/lib/xss.js");function r(t,e){return new n(e).process(t)}for(var o in(e=t.exports=r).filterXSS=r,e.FilterXSS=n,i)e[o]=i[o];for(var o in a)e[o]=a[o];"undefined"!=typeof window&&(window.filterXSS=t.exports),"undefined"!=typeof self&&"undefined"!=typeof DedicatedWorkerGlobalScope&&self instanceof DedicatedWorkerGlobalScope&&(self.filterXSS=t.exports)},"./node_modules/xss/lib/parser.js":function(t,e,s){var i=s("./node_modules/xss/lib/util.js");function a(t){var e=i.spaceIndex(t);if(-1===e)var s=t.slice(1,-1);else s=t.slice(1,e+1);return"/"===(s=i.trim(s).toLowerCase()).slice(0,1)&&(s=s.slice(1)),"/"===s.slice(-1)&&(s=s.slice(0,-1)),s}function n(t){return"</"===t.slice(0,2)}var r=/[^a-zA-Z0-9_:\.\-]/gim;function o(t,e){for(;e<t.length;e++){var s=t[e];if(" "!==s)return"="===s?e:-1}}function l(t,e){for(;e>0;e--){var s=t[e];if(" "!==s)return"="===s?e:-1}}function c(t){return function(t){return'"'===t[0]&&'"'===t[t.length-1]||"'"===t[0]&&"'"===t[t.length-1]}(t)?t.substr(1,t.length-2):t}e.parseTag=function(t,e,s){var i="",r=0,o=!1,l=!1,c=0,u=t.length,d="",f="";for(c=0;c<u;c++){var _=t.charAt(c);if(!1===o){if("<"===_){o=c;continue}}else if(!1===l){if("<"===_){i+=s(t.slice(r,c)),o=c,r=c;continue}if(">"===_){i+=s(t.slice(r,o)),d=a(f=t.slice(o,c+1)),i+=e(o,i.length,d,f,n(f)),r=c+1,o=!1;continue}if(('"'===_||"'"===_)&&"="===t.charAt(c-1)){l=_;continue}}else if(_===l){l=!1;continue}}return r<t.length&&(i+=s(t.substr(r))),i},e.parseAttr=function(t,e){var s=0,a=[],n=!1,u=t.length;function d(t,s){if(!((t=(t=i.trim(t)).replace(r,"").toLowerCase()).length<1)){var n=e(t,s||"");n&&a.push(n)}}for(var f=0;f<u;f++){var _,p=t.charAt(f);if(!1!==n||"="!==p)if(!1===n||f!==s||'"'!==p&&"'"!==p||"="!==t.charAt(f-1))if(/\s|\n|\t/.test(p)){if(t=t.replace(/\s|\n|\t/g," "),!1===n){if(-1===(_=o(t,f))){d(i.trim(t.slice(s,f))),n=!1,s=f+1;continue}f=_-1;continue}if(-1===(_=l(t,f-1))){d(n,c(i.trim(t.slice(s,f)))),n=!1,s=f+1;continue}}else;else{if(-1===(_=t.indexOf(p,f+1)))break;d(n,i.trim(t.slice(s+1,_))),n=!1,s=(f=_)+1}else n=t.slice(s,f),s=f+1}return s<t.length&&(!1===n?d(t.slice(s)):d(n,c(i.trim(t.slice(s))))),i.trim(a.join(" "))}},"./node_modules/xss/lib/util.js":function(t,e){t.exports={indexOf:function(t,e){var s,i;if(Array.prototype.indexOf)return t.indexOf(e);for(s=0,i=t.length;s<i;s++)if(t[s]===e)return s;return-1},forEach:function(t,e,s){var i,a;if(Array.prototype.forEach)return t.forEach(e,s);for(i=0,a=t.length;i<a;i++)e.call(s,t[i],i,t)},trim:function(t){return String.prototype.trim?t.trim():t.replace(/(^\s*)|(\s*$)/g,"")},spaceIndex:function(t){var e=/\s|\n|\t/.exec(t);return e?e.index:-1}}},"./node_modules/xss/lib/xss.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/index.js").FilterCSS,a=s("./node_modules/xss/lib/default.js"),n=s("./node_modules/xss/lib/parser.js"),r=n.parseTag,o=n.parseAttr,l=s("./node_modules/xss/lib/util.js");function c(t){return null==t}function u(t){(t=function(t){var e={};for(var s in t)e[s]=t[s];return e}(t||{})).stripIgnoreTag&&(t.onIgnoreTag&&console.error('Notes: cannot use these two options "stripIgnoreTag" and "onIgnoreTag" at the same time'),t.onIgnoreTag=a.onIgnoreTagStripAll),t.whiteList=t.whiteList||a.whiteList,t.onTag=t.onTag||a.onTag,t.onTagAttr=t.onTagAttr||a.onTagAttr,t.onIgnoreTag=t.onIgnoreTag||a.onIgnoreTag,t.onIgnoreTagAttr=t.onIgnoreTagAttr||a.onIgnoreTagAttr,t.safeAttrValue=t.safeAttrValue||a.safeAttrValue,t.escapeHtml=t.escapeHtml||a.escapeHtml,this.options=t,!1===t.css?this.cssFilter=!1:(t.css=t.css||{},this.cssFilter=new i(t.css))}u.prototype.process=function(t){if(!(t=(t=t||"").toString()))return"";var e=this.options,s=e.whiteList,i=e.onTag,n=e.onIgnoreTag,u=e.onTagAttr,d=e.onIgnoreTagAttr,f=e.safeAttrValue,_=e.escapeHtml,p=this.cssFilter;e.stripBlankChar&&(t=a.stripBlankChar(t)),e.allowCommentTag||(t=a.stripCommentTag(t));var m=!1;if(e.stripIgnoreTagBody){m=a.StripTagBody(e.stripIgnoreTagBody,n);n=m.onIgnoreTag}var v=r(t,(function(t,e,a,r,m){var v,h={sourcePosition:t,position:e,isClosing:m,isWhite:s.hasOwnProperty(a)};if(!c(v=i(a,r,h)))return v;if(h.isWhite){if(h.isClosing)return"</"+a+">";var g=function(t){var e=l.spaceIndex(t);if(-1===e)return{html:"",closing:"/"===t[t.length-2]};var s="/"===(t=l.trim(t.slice(e+1,-1)))[t.length-1];return s&&(t=l.trim(t.slice(0,-1))),{html:t,closing:s}}(r),b=s[a],w=o(g.html,(function(t,e){var s,i=-1!==l.indexOf(b,t);return c(s=u(a,t,e,i))?i?(e=f(a,t,e,p))?t+'="'+e+'"':t:c(s=d(a,t,e,i))?void 0:s:s}));r="<"+a;return w&&(r+=" "+w),g.closing&&(r+=" /"),r+=">"}return c(v=n(a,r,h))?_(r):v}),_);return m&&(v=m.remove(v)),v},t.exports=u},"./src/advanced-tools.js":function(t,e,s){"use strict";s.r(e);var i=s("vue"),a=s.n(i),n=s("./src/helper/base_hepler.js"),r={mixins:[n.a],data:function(){return{all_roles:advanced_tools.misc.all_roles,compatibility:advanced_tools.misc.compatibility,model:advanced_tools.model.two_factor,nonces:advanced_tools.nonces,endpoints:advanced_tools.endpoints,state:{on_saving:!1,waiting_save:!1,origin_state:!1}}},methods:{toggle:function(t){var e=this,s={};s.enabled=t,this.httpPostRequest("updateSettings",{data:JSON.stringify({settings:s,module:"auth"})},(function(){e.model.enabled=t,!0===t&&e.$nextTick((function(){e.rebindSUI(),e.bindUploader(),e.state.waiting_save=!1}))}))},updateSettings:function(){var t=this.model;delete t.email_subject,delete t.email_sender,delete t.email_body,this.state.origin_state=this.model.user_roles.length>0,this.httpPostRequest("updateSettings",{data:JSON.stringify({settings:t,module:"auth"})})},saveEmailTemplate:function(){var t={email_subject:this.model.email_subject,email_sender:this.model.email_sender,email_body:this.model.email_body};this.httpPostRequest("updateSettings",{data:JSON.stringify({module:"auth",settings:t})},(function(t){!0===t.success&&SUI.dialogs["edit-one-time-password-email"].hide()}))},sendTestEmail:function(){var t={email_subject:this.model.email_subject,email_sender:this.model.email_sender,email_body:this.model.email_body};this.httpPostRequest("sendTestEmail",t)},bindUploader:function(){var t=void 0,e=this;jQuery(".file-picker").click((function(){t?t.open():((t=wp.media.frames.file_frame=wp.media({title:"Choose an image file",button:{text:"Choose File"},multiple:!1,library:{type:["image"]}})).on("select",(function(){var s=t.state().get("selection").first().toJSON();jQuery.inArray(s.mime,["image/jpeg","image/png","image/gif"])>-1?e.model.custom_graphic_url=s.url:Defender.showNotification("error","Invalid image file type")})),t.open())}))}},mounted:function(){var t=this;this.$nextTick((function(){t.bindUploader()})),this.state.origin_state=this.model.user_roles.length>0}},o=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),l=Object(o.a)(r,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return!1===t.model.enabled?s("div",{staticClass:"sui-box",attrs:{id:"2factor"}},[s("div",{staticClass:"sui-box"},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n\t\t\t\t\t"+t._s(t.__("Two Factor Authentication"))+"\n\t\t\t\t")])]),t._v(" "),s("div",{staticClass:"sui-message"},[t.maybeHideBranding()?t._e():s("img",{staticClass:"sui-image",attrs:{src:t.assetUrl("assets/img/2factor-disabled.svg"),"aria-hidden":"true"}}),t._v(" "),s("div",{staticClass:"sui-message-content"},[s("p",[t._v("\n\t\t\t\t\t\t"+t._s(t.__("Beef up your website’s security with two-factor authentication. Add an extra step in the login process so that users are required to enter a password and an app-generated passcode using their phone – the best protection against brute force attacks."))+"\n\t\t\t\t\t")]),t._v(" "),s("form",{attrs:{method:"post"},on:{submit:function(e){return e.preventDefault(),t.toggle(!0)}}},[s("submit-button",{attrs:{type:"submit",state:t.state,"css-class":"sui-button-blue activate"}},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.__("Activate"))+"\n\t\t\t\t\t\t")])],1)])])])]):s("div",{staticClass:"sui-box"},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n\t\t\t\t"+t._s(t.__("Two Factor Authentication"))+"\n\t\t\t")])]),t._v(" "),s("form",{staticClass:"advanced-settings-frm",attrs:{method:"post"},on:{submit:function(e){return e.preventDefault(),t.updateSettings(e)}}},[s("div",{staticClass:"sui-box-body"},[s("p",[t._v("\n\t\t\t\t\t"+t._s(t.__("Configure your two-factor authentication settings. Our recommendations are enabled by default."))+"\n\t\t\t\t")]),t._v(" "),!1!==t.compatibility?s("div",{staticClass:"sui-notice sui-notice-error"},[s("p",t._l(t.compatibility,(function(e){return s("span",[t._v("\n "+t._s(e)+"\n ")])})),0)]):t._e(),t._v(" "),t.state.origin_state?s("div",{staticClass:"sui-notice sui-notice-info"},[s("p",[s("strong",[t._v(t._s(t.__("Two-factor authentication is now active.")))]),t._v(" "+t._s(t.__("User roles with this feature enabled must visit their "))+"\n\t\t\t\t\t\t"),s("a",{attrs:{href:t.adminUrl("profile.php")}},[t._v(t._s(t.__("Profile page")))]),t._v(" "+t._s(t.__("to complete setup and sync their account with the Authenticator app."))+"\n\t\t\t\t\t")])]):s("div",{staticClass:"sui-notice sui-notice-warning"},[s("p",[s("strong",[t._v(t._s(t.__("Two-factor authentication is currently inactive.")))]),t._v(" "+t._s(t.__("Configure and save your settings to complete setup."))+"\n\t\t\t\t\t")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("User Roles"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Choose the user roles you want to enable two-factor authentication for. Users with those roles will then be required to use the Google Authenticator app to login."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("div",{staticClass:"sui-field-list"},[s("div",{staticClass:"sui-field-list-header"},[s("h3",{staticClass:"sui-field-list-title"},[t._v("\n\t\t\t\t\t\t\t\t\t"+t._s(t.__("User role"))+"\n\t\t\t\t\t\t\t\t")])]),t._v(" "),s("div",{staticClass:"sui-field-list-body"},t._l(t.all_roles,(function(e,i){return s("div",{staticClass:"sui-field-list-item"},[s("label",{staticClass:"sui-field-list-item-label",attrs:{for:"toggle_"+i},domProps:{innerHTML:t._s(e.name)}}),t._v(" "),s("label",{staticClass:"sui-toggle"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.user_roles,expression:"model.user_roles"}],attrs:{type:"checkbox",id:"toggle_"+i},domProps:{value:i,checked:Array.isArray(t.model.user_roles)?t._i(t.model.user_roles,i)>-1:t.model.user_roles},on:{change:function(e){var s=t.model.user_roles,a=e.target,n=!!a.checked;if(Array.isArray(s)){var r=i,o=t._i(s,r);a.checked?o<0&&t.$set(t.model,"user_roles",s.concat([r])):o>-1&&t.$set(t.model,"user_roles",s.slice(0,o).concat(s.slice(o+1)))}else t.$set(t.model,"user_roles",n)}}}),t._v(" "),s("span",{staticClass:"sui-toggle-slider"})])])})),0)])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Lost Phone"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("If a user is unable to access their phone, you can allow an option to send the one time password to their registered email."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-toggle"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.lost_phone,expression:"model.lost_phone"}],staticClass:"toggle-checkbox",attrs:{role:"presentation",type:"checkbox",id:"lost_phone"},domProps:{checked:Array.isArray(t.model.lost_phone)?t._i(t.model.lost_phone,null)>-1:t.model.lost_phone},on:{change:function(e){var s=t.model.lost_phone,i=e.target,a=!!i.checked;if(Array.isArray(s)){var n=t._i(s,null);i.checked?n<0&&t.$set(t.model,"lost_phone",s.concat([null])):n>-1&&t.$set(t.model,"lost_phone",s.slice(0,n).concat(s.slice(n+1)))}else t.$set(t.model,"lost_phone",a)}}}),t._v(" "),s("span",{staticClass:"sui-toggle-slider"})]),t._v(" "),s("label",{staticClass:"sui-toggle-label",attrs:{for:"lost_phone"}},[t._v("\n\t\t\t\t\t\t\t\t"+t._s(t.__("Enable lost phone option"))+"\n\t\t\t\t\t\t\t")])])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Force Authentication"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("By default, two-factor authentication is optional for users. This setting forces users to activate two-factor."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-toggle"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.force_auth,expression:"model.force_auth"}],staticClass:"toggle-checkbox",attrs:{role:"presentation",type:"checkbox",name:"force_auth",id:"force_auth"},domProps:{checked:Array.isArray(t.model.force_auth)?t._i(t.model.force_auth,null)>-1:t.model.force_auth},on:{change:function(e){var s=t.model.force_auth,i=e.target,a=!!i.checked;if(Array.isArray(s)){var n=t._i(s,null);i.checked?n<0&&t.$set(t.model,"force_auth",s.concat([null])):n>-1&&t.$set(t.model,"force_auth",s.slice(0,n).concat(s.slice(n+1)))}else t.$set(t.model,"force_auth",a)}}}),t._v(" "),s("span",{staticClass:"sui-toggle-slider"})]),t._v(" "),s("label",{staticClass:"sui-toggle-label",attrs:{for:"force_auth"}},[t._v("\n\t\t\t\t\t\t\t\t"+t._s(t.__("Force users to log in with two-factor authentication"))+"\n\t\t\t\t\t\t\t")]),t._v(" "),s("span",{staticClass:"sui-description sui-toggle-content"},[t._v("\n "+t._s(t.__("Note: Users will be forced to set up two-factor when they next login."))+"\n ")]),t._v(" "),s("div",{directives:[{name:"show",rawName:"v-show",value:!0===t.model.force_auth,expression:"model.force_auth===true"}],staticClass:"sui-border-frame sui-toggle-content",attrs:{id:"force_auth_roles"}},[s("strong",[t._v(t._s(t.__("User Roles")))]),t._v(" "),s("ul",t._l(t.all_roles,(function(e,i){return s("li",[s("label",{staticClass:"sui-checkbox",attrs:{for:"toggle_force_"+i}},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.force_auth_roles,expression:"model.force_auth_roles"}],attrs:{type:"checkbox",id:"toggle_force_"+i},domProps:{value:i,checked:Array.isArray(t.model.force_auth_roles)?t._i(t.model.force_auth_roles,i)>-1:t.model.force_auth_roles},on:{change:function(e){var s=t.model.force_auth_roles,a=e.target,n=!!a.checked;if(Array.isArray(s)){var r=i,o=t._i(s,r);a.checked?o<0&&t.$set(t.model,"force_auth_roles",s.concat([r])):o>-1&&t.$set(t.model,"force_auth_roles",s.slice(0,o).concat(s.slice(o+1)))}else t.$set(t.model,"force_auth_roles",n)}}}),t._v(" "),s("span",{attrs:{"aria-hidden":"true"}}),t._v(" "),s("span",[t._v(t._s(e.name))])])])})),0),t._v(" "),s("strong",[t._v(t._s(t.__("Custom warning message")))]),t._v(" "),s("textarea",{directives:[{name:"model",rawName:"v-model",value:t.model.force_auth_mess,expression:"model.force_auth_mess"}],staticClass:"sui-form-control",attrs:{name:"force_auth_mess"},domProps:{value:t.model.force_auth_mess},on:{input:function(e){e.target.composing||t.$set(t.model,"force_auth_mess",e.target.value)}}}),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Note: This is shown in the users Profile area indicating they must use two-factor authentication."))+"\n ")])])])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Custom Graphic"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("By default, Defender’s icon appears above the login fields. You can upload your own branding, or turn this feature off."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("label",{staticClass:"sui-toggle"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.custom_graphic,expression:"model.custom_graphic"}],staticClass:"toggle-checkbox",attrs:{role:"presentation",type:"checkbox",name:"custom_graphic",id:"custom_graphic"},domProps:{checked:Array.isArray(t.model.custom_graphic)?t._i(t.model.custom_graphic,null)>-1:t.model.custom_graphic},on:{change:function(e){var s=t.model.custom_graphic,i=e.target,a=!!i.checked;if(Array.isArray(s)){var n=t._i(s,null);i.checked?n<0&&t.$set(t.model,"custom_graphic",s.concat([null])):n>-1&&t.$set(t.model,"custom_graphic",s.slice(0,n).concat(s.slice(n+1)))}else t.$set(t.model,"custom_graphic",a)}}}),t._v(" "),s("span",{staticClass:"sui-toggle-slider"})]),t._v(" "),s("label",{staticClass:"sui-toggle-label",attrs:{for:"custom_graphic"}},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.__("Enable custom graphics above login fields"))+"\n\t\t\t\t\t\t")]),t._v(" "),s("div",{directives:[{name:"show",rawName:"v-show",value:!0===t.model.custom_graphic,expression:"model.custom_graphic === true"}],staticClass:"sui-border-frame sui-toggle-content"},[s("span",{staticClass:"sui-description"},[s("strong",[t._v(t._s(t.__("Custom Graphic")))]),t._v(" - "+t._s(t.__("For best results use a 168x168px JPG or PNG."))+"\n ")]),t._v(" "),s("div",{staticClass:"sui-upload"},[s("div",{staticClass:"sui-upload-image"},[s("img",{attrs:{id:"custom_graphicIMG",width:"40",height:"40",src:t.model.custom_graphic_url}}),t._v(" "),s("div",{staticClass:"sui-image-preview",style:{backgroundImage:"url("+t.model.custom_graphic_url+")"},attrs:{role:"button"}})]),t._v(" "),s("button",{staticClass:"sui-upload-button file-picker",attrs:{type:"button"}},[s("i",{staticClass:"sui-icon-upload-cloud",attrs:{"aria-hidden":"true"}}),t._v("\n\t\t\t\t\t\t\t\t\t"+t._s(t.__("Upload file"))+"\n\t\t\t\t\t\t\t\t")]),t._v(" "),t._m(0)])])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Emails"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Customize the default copy for emails the two-factor feature sends to users."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("div",{staticClass:"sui-field-list"},[s("div",{staticClass:"sui-field-list-header"},[s("h3",{staticClass:"sui-field-list-title"},[t._v("\n\t\t\t\t\t\t\t\t\t"+t._s(t.__("Email"))+"\n\t\t\t\t\t\t\t\t")])]),t._v(" "),s("div",{staticClass:"sui-field-list-body"},[s("div",{staticClass:"sui-field-list-item"},[s("label",{staticClass:"sui-field-list-item-label"},[t._v("\n\t\t\t\t\t\t\t\t\t\t"+t._s(t.__("Lost phone one time password"))+"\n\t\t\t\t\t\t\t\t\t")]),t._v(" "),t._m(1)])])])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("App Download"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Need the app? Here’s links to the official Google Authenticator iOS and Android apps."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("a",{attrs:{href:"https://itunes.apple.com/vn/app/google-authenticator/id388497605?mt=8"}},[s("img",{attrs:{src:t.assetUrl("assets/img/ios-download.svg")}})]),t._v(" "),s("a",{attrs:{href:"https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2"}},[s("img",{attrs:{src:t.assetUrl("assets/img/android-download.svg")}})])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Active Users"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Here’s a quick link to see which of your users have enabled two-factor authentication."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("a",{attrs:{href:t.adminUrl("users.php")}},[t._v(t._s(t.__("View users")))]),t._v(" "+t._s(t.__("who have enabled this feature."))+"\n\t\t\t\t\t")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Deactivate"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Disable two-factor authentication on your website."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("submit-button",{attrs:{"css-class":"sui-button-ghost",state:t.state},on:{click:function(e){return t.toggle(!1)}}},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.__("Deactivate"))+"\n\t\t\t\t\t\t")])],1)])]),t._v(" "),s("div",{staticClass:"sui-box-footer"},[s("div",{staticClass:"sui-actions-right"},[s("submit-button",{attrs:{"css-class":"sui-button-blue save-changes",type:"submit",state:t.state}},[s("i",{staticClass:"sui-icon-save",attrs:{"aria-hidden":"true"}}),t._v("\n\t\t\t\t\t\t"+t._s(t.__("Save Changes"))+"\n\t\t\t\t\t")])],1)])]),t._v(" "),s("div",{staticClass:"sui-dialog",attrs:{"aria-hidden":"true",tabindex:"-1",id:"edit-one-time-password-email"}},[s("div",{staticClass:"sui-dialog-overlay",attrs:{"data-a11y-dialog-hide":""}}),t._v(" "),s("div",{staticClass:"sui-dialog-content",attrs:{"aria-labelledby":"dialogTitle","aria-describedby":"dialogDescription",role:"dialog"}},[s("div",{staticClass:"sui-box",attrs:{role:"document"}},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title",attrs:{id:"dialogTitle"}},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.__("Edit Email"))+"\n\t\t\t\t\t\t")]),t._v(" "),t._m(2)]),t._v(" "),s("form",{attrs:{method:"post"}},[s("div",{staticClass:"sui-box-body"},[s("p",{attrs:{id:"dialogDescription"}},[t._v("\n\t\t\t\t\t\t\t\t"+t._s(t.__("This email sends a temporary passcode when the user can’t access their phone."))+"\n\t\t\t\t\t\t\t")]),t._v(" "),s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col"},[s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-label"},[t._v("\n\t\t\t\t\t\t\t\t\t\t\t"+t._s(t.__("Subject"))+"\n\t\t\t\t\t\t\t\t\t\t")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.email_subject,expression:"model.email_subject"}],staticClass:"sui-form-control",attrs:{name:"subject",type:"text",id:"email_subject"},domProps:{value:t.model.email_subject},on:{input:function(e){e.target.composing||t.$set(t.model,"email_subject",e.target.value)}}})])]),t._v(" "),s("div",{staticClass:"sui-col"},[s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-label"},[t._v("\n\t\t\t\t\t\t\t\t\t\t\t"+t._s(t.__("Sender"))+"\n\t\t\t\t\t\t\t\t\t\t")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.email_sender,expression:"model.email_sender"}],staticClass:"sui-form-control",attrs:{name:"sender",type:"text",id:"email_sender"},domProps:{value:t.model.email_sender},on:{input:function(e){e.target.composing||t.$set(t.model,"email_sender",e.target.value)}}})])])]),t._v(" "),s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col"},[s("label",{staticClass:"sui-label"},[t._v("\n\t\t\t\t\t\t\t\t\t\t"+t._s(t.__("Body"))+"\n\t\t\t\t\t\t\t\t\t")]),t._v(" "),s("textarea",{directives:[{name:"model",rawName:"v-model",value:t.model.email_body,expression:"model.email_body"}],staticClass:"sui-form-control",attrs:{name:"body",rows:"8",id:"email_body"},domProps:{value:t.model.email_body},on:{input:function(e){e.target.composing||t.$set(t.model,"email_body",e.target.value)}}})])]),t._v(" "),s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col"},[s("label",{staticClass:"sui-label"},[t._v("\n\t\t\t\t\t\t\t\t\t\t"+t._s(t.__("Available variables"))+"\n\t\t\t\t\t\t\t\t\t")]),t._v(" "),s("span",{staticClass:"sui-tag"},[s("strong",{domProps:{textContent:t._s(t.__("{{passcode}}"))}})]),t._v(" "),s("span",{staticClass:"sui-tag"},[s("strong",{domProps:{textContent:t._s(t.__("{{display_name}}"))}})])])])]),t._v(" "),s("div",{staticClass:"sui-box-footer"},[s("div",{staticClass:"sui-flex-child-right"},[s("button",{staticClass:"sui-button sui-button-ghost",attrs:{type:"button","data-a11y-dialog-hide":"my-accessible-dialog"}},[t._v("\n\t\t\t\t\t\t\t\t\t"+t._s(t.__("Cancel"))+"\n\t\t\t\t\t\t\t\t")])]),t._v(" "),s("div",{staticClass:"sui-actions-right"},[s("submit-button",{staticClass:"sui-button",attrs:{type:"button",state:t.state},on:{click:t.saveEmailTemplate}},[t._v("\n\t\t\t\t\t\t\t\t\t"+t._s(t.__("Save Template"))+"\n\t\t\t\t\t\t\t\t")]),t._v(" "),s("submit-button",{staticClass:"sui-button sui-button-blue",attrs:{type:"button",state:t.state},on:{click:t.sendTestEmail}},[t._v("\n\t\t\t\t\t\t\t\t\t"+t._s(t.__("Send Test"))+"\n\t\t\t\t\t\t\t\t")])],1)])])])])])])}),[function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"sui-upload-file"},[e("span")])},function(){var t=this.$createElement,e=this._self._c||t;return e("button",{staticClass:"sui-button-icon",attrs:{type:"button","data-a11y-dialog-show":"edit-one-time-password-email"}},[e("i",{staticClass:"sui-icon-pencil",attrs:{"aria-hidden":"true"}})])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"sui-actions-right"},[e("button",{staticClass:"sui-dialog-close",attrs:{"data-a11y-dialog-hide":"","aria-label":"Close this dialog window"}})])}],!1,null,null,null).exports,c={mixins:[n.a],name:"mask-login",data:function(){return{misc:advanced_tools.misc,model:advanced_tools.model.mask_login,nonces:advanced_tools.nonces,endpoints:advanced_tools.endpoints,state:{on_saving:!1,original_state:!1}}},watch:{"model.mask_url":function(t){t=this.convertToSlug(t),this.model.mask_url=t,this.misc.new_login_url=this.misc.home_url+t,this.state.waiting_save=!0},"model.redirect_traffic_url":function(t){t=this.convertToSlug(t),this.model.redirect_traffic_url=t,this.misc.login_redirect_url=this.misc.home_url+t}},mounted:function(){this.state.original_state=this.model.mask_url.length>0},methods:{toggle:function(t){var e=this,s={};s.enabled=t,this.httpPostRequest("updateSettings",{data:JSON.stringify({settings:s,module:"mask-login"})},(function(){e.model.enabled=t}))},updateSettings:function(){var t=this.model,e=this;this.httpPostRequest("updateSettings",{data:JSON.stringify({settings:t,module:"mask-login"})},(function(){e.state.original_state=e.model.mask_url.length>0}))},convertToSlug:function(t){return t.toLowerCase().replace(/[^\w-/.]+/g,"")}},computed:{new_mask_login:function(){return this.misc.new_login_url},login_redirect_url:function(){return this.misc.login_redirect_url}}},u=Object(o.a)(c,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return!1===t.model.enabled?s("div",{staticClass:"sui-box",attrs:{id:"mask-login"}},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n\t\t\t\t"+t._s(t.__("Mask Login Area"))+"\n\t\t\t")])]),t._v(" "),s("div",{staticClass:"sui-message"},[t.maybeHideBranding()?t._e():s("img",{staticClass:"sui-image",attrs:{src:t.assetUrl("assets/img/2factor-disabled.svg"),"aria-hidden":"true"}}),t._v(" "),s("div",{staticClass:"sui-message-content"},[s("p",[t._v("\n\t\t\t\t\t"+t._s(t.__("Change the location of WordPress's default login area, making it harder for automated bots to find and also more convenient for your users."))+"\n\t\t\t\t")]),t._v(" "),s("form",{attrs:{method:"post"}},[s("submit-button",{attrs:{type:"button","css-class":"sui-button-blue activate",state:t.state},on:{click:function(e){return t.toggle(!0)}}},[t._v("\n\t\t\t\t\t\t"+t._s(t.__("Activate"))+"\n\t\t\t\t\t")])],1)])])]):s("div",{staticClass:"sui-box"},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n\t\t\t\t"+t._s(t.__("Mask Login Area"))+"\n\t\t\t")])]),t._v(" "),s("form",{attrs:{method:"post"},on:{submit:function(e){return e.preventDefault(),t.updateSettings(e)}}},[s("div",{staticClass:"sui-box-body"},[s("p",[t._v("\n\t\t\t\t\t"+t._s(t.__("Change your default WordPress login URL to hide your login area from hackers and bots."))+"\n\t\t\t\t")]),t._v(" "),!1!==t.misc.compatibility?s("div",{staticClass:"sui-notice sui-notice-error"},[s("p",t._l(t.misc.compatibility,(function(e){return s("span",[t._v("\n "+t._s(e)+"\n ")])})),0)]):t._e(),t._v(" "),!1===t.state.original_state?s("div",{staticClass:"sui-notice sui-notice-warning"},[s("p",[t._v("\n\t\t\t\t\t\t"+t._s(t.__("Masking is currently inactive. Choose your URL and save your settings to finish setup."))+"\n\t\t\t\t\t")])]):s("div",{staticClass:"sui-notice sui-notice-info"},[s("p",[t._v("\n\t\t\t\t\t\t"+t._s(t.__("Masking is currently active at "))+" "),s("strong",{domProps:{textContent:t._s(t.misc.new_login_url)}})])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Masking URL"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Choose the new URL slug where users of your website will now navigate to log in or register."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("You can specify any URLs. For security reasons, less obvious URLs are recommended as they are harder for bots to guess."))+"\n ")]),t._v(" "),s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-label"},[t._v("\n\t\t\t\t\t\t\t\t"+t._s(t.__("New Login URL"))+"\n\t\t\t\t\t\t\t")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.mask_url,expression:"model.mask_url"}],staticClass:"sui-form-control",attrs:{type:"text",name:"mask_url",placeholder:"E.g. dashboard"},domProps:{value:t.model.mask_url},on:{input:function(e){e.target.composing||t.$set(t.model,"mask_url",e.target.value)}}}),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Users will login at"))+" "),s("a",{attrs:{href:t.new_mask_login}},[t._v(t._s(t.new_mask_login))]),t._v(". "+t._s(t.__("Note: Registration and Password Reset emails have hardcoded URLs in them. We will update them automatically to match your new login URL"))+"\n ")])])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Redirect traffic"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("With this feature you can send visitors and bots who try to visit the default Wordpress login URLs to a separate URL to avoid 404s."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("label",{staticClass:"sui-toggle"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.redirect_traffic,expression:"model.redirect_traffic"}],staticClass:"toggle-checkbox",attrs:{role:"presentation",type:"checkbox",name:"redirect_traffic",id:"redirect_traffic","true-value":!0,"false-value":!1},domProps:{checked:Array.isArray(t.model.redirect_traffic)?t._i(t.model.redirect_traffic,null)>-1:t.model.redirect_traffic},on:{change:function(e){var s=t.model.redirect_traffic,i=e.target,a=!!i.checked;if(Array.isArray(s)){var n=t._i(s,null);i.checked?n<0&&t.$set(t.model,"redirect_traffic",s.concat([null])):n>-1&&t.$set(t.model,"redirect_traffic",s.slice(0,n).concat(s.slice(n+1)))}else t.$set(t.model,"redirect_traffic",a)}}}),t._v(" "),s("span",{staticClass:"sui-toggle-slider"})]),t._v(" "),s("label",{staticClass:"sui-toggle-label",attrs:{for:"redirect_traffic"}},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.__("Enable 404 redirection"))+"\n\t\t\t\t\t\t")]),t._v(" "),s("div",{directives:[{name:"show",rawName:"v-show",value:!0===t.model.redirect_traffic,expression:"model.redirect_traffic===true"}],staticClass:"sui-border-frame sui-toggle-content",attrs:{id:"redirectTrafficContainer"}},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("Redirection URL")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.redirect_traffic_url,expression:"model.redirect_traffic_url"}],staticClass:"sui-form-control",attrs:{placeholder:"E.g. 404-error",type:"text",name:"redirect_traffic_url"},domProps:{value:t.model.redirect_traffic_url},on:{input:function(e){e.target.composing||t.$set(t.model,"redirect_traffic_url",e.target.value)}}}),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Visitors who visit the default login URLs will be redirected to"))+" "),s("a",{attrs:{href:t.login_redirect_url}},[t._v(t._s(t.login_redirect_url))])])])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Deactivate"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Disable login area masking and return to the default wp-admin and wp-login URLS."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("submit-button",{attrs:{type:"button","css-class":"sui-button-ghost",state:t.state},on:{click:function(e){return t.toggle(!1)}}},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.__("Deactivate"))+"\n\t\t\t\t\t\t")])],1)])]),t._v(" "),s("div",{staticClass:"sui-box-footer"},[s("submit-button",{attrs:{type:"submit",state:t.state,"css-class":"sui-button-blue save-changes"}},[s("i",{staticClass:"sui-icon-save",attrs:{"aria-hidden":"true"}}),t._v("\n\t\t\t\t\t"+t._s(t.__("Save Changes"))+"\n\t\t\t\t")])],1)])])}),[],!1,null,null,null).exports,d={mixins:[n.a],components:{"two-factors":l,"mask-login":u},data:function(){return{state:{on_saving:!1},whitelabel:defender.whitelabel,is_free:defender.is_free,view:""}},created:function(){var t=new URLSearchParams(window.location.search).get("view");null===t&&(t="two-factor-auth"),this.view=t},watch:{view:function(t,e){history.replaceState({},null,this.adminUrl()+"admin.php?page=wdf-advanced-tools&view="+this.view)}},mounted:function(){self=this,jQuery(".sui-mobile-nav").change((function(){self.view=jQuery(this).val()}))}},f=Object(o.a)(d,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"sui-wrap",class:[t.maybeHighContrast()]},[s("div",{staticClass:"advanced-tools"},[s("div",{staticClass:"sui-header"},[s("h1",{staticClass:"sui-header-title"},[t._v(t._s(t.__("Advanced Tools")))]),t._v(" "),s("doc-link",{attrs:{link:"https://premium.wpmudev.org/docs/wpmu-dev-plugins/defender/#advanced-tools"}})],1),t._v(" "),s("div",{staticClass:"sui-row-with-sidenav"},[s("div",{staticClass:"sui-sidenav"},[s("ul",{staticClass:"sui-vertical-tabs sui-sidenav-hide-md"},[s("li",{staticClass:"sui-vertical-tab",class:{current:"two-factor-auth"===t.view}},[s("a",{attrs:{"data-tab":"login_lockout",href:"#2factor"},on:{click:function(e){e.preventDefault(),t.view="two-factor-auth"}}},[t._v(t._s(t.__("Two-Factor Auth")))])]),t._v(" "),s("li",{staticClass:"sui-vertical-tab",class:{current:"mask-login"===t.view}},[s("a",{attrs:{"data-tab":"notfound_lockout",href:"#mask-login"},on:{click:function(e){e.preventDefault(),t.view="mask-login"}}},[t._v(t._s(t.__("Mask Login Area")))])])]),t._v(" "),s("div",{staticClass:"sui-sidenav-hide-lg"},[s("select",{staticClass:"sui-mobile-nav"},[s("option",{attrs:{value:"two-factor-auth"}},[t._v(t._s(t.__("Two-Factor Auth")))]),t._v(" "),s("option",{attrs:{value:"mask-login"}},[t._v(t._s(t.__("Mask Login Area")))])])])]),t._v(" "),s("two-factors",{directives:[{name:"show",rawName:"v-show",value:"two-factor-auth"===t.view,expression:"view==='two-factor-auth'"}]}),t._v(" "),s("mask-login",{directives:[{name:"show",rawName:"v-show",value:"mask-login"===t.view,expression:"view==='mask-login'"}]})],1)]),t._v(" "),s("app-footer")],1)}),[],!1,null,null,null).exports,_=s("./src/component/submit-button.vue"),p=s("./src/component/footer.vue"),m=s("./src/component/doc-link.vue");a.a.component("app-footer",p.a),a.a.component("doc-link",m.a),a.a.component("submit-button",_.a);new a.a({el:"#defender",components:{advanced_tools:f},render:function(t){return t(f)}})},"./src/component/doc-link.vue":function(t,e,s){"use strict";var i={mixins:[s("./src/helper/base_hepler.js").a],name:"doc-link",props:["link"],data:function(){return{whitelabel:defender.whitelabel}}},a=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),n=Object(a.a)(i,(function(){var t=this.$createElement,e=this._self._c||t;return!1===this.whitelabel.hide_doc_link?e("div",{staticClass:"sui-actions-right"},[e("a",{staticClass:"sui-button sui-button-ghost",attrs:{href:this.link,target:"_blank"}},[e("i",{staticClass:"sui-icon-academy"}),this._v(" "+this._s(this.__("View Documentation"))+"\n ")])]):this._e()}),[],!1,null,null,null);e.a=n.exports},"./src/component/footer.vue":function(t,e,s){"use strict";var i={data:function(){return{whitelabel:defender.whitelabel,is_free:defender.is_free}}},a=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),n=Object(a.a)(i,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",[!0===t.whitelabel.change_footer?s("div",{staticClass:"sui-footer"},[t._v("\n "+t._s(t.whitelabel.footer_text)+"\n ")]):s("div",{staticClass:"sui-footer"},[t._v("Made with "),s("i",{staticClass:"sui-icon-heart"}),t._v(" by WPMU DEV")]),t._v(" "),!1===t.whitelabel.hide_doc_link?s("div",[t.is_free?s("ul",{staticClass:"sui-footer-nav"},[t._m(0),t._v(" "),t._m(1),t._v(" "),t._m(2),t._v(" "),t._m(3),t._v(" "),t._m(4),t._v(" "),t._m(5),t._v(" "),t._m(6),t._v(" "),t._m(7)]):s("ul",{staticClass:"sui-footer-nav"},[t._m(8),t._v(" "),t._m(9),t._v(" "),t._m(10),t._v(" "),t._m(11),t._v(" "),t._m(12),t._v(" "),t._m(13),t._v(" "),t._m(14),t._v(" "),t._m(15)]),t._v(" "),t._m(16)]):t._e()])}),[function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://profiles.wordpress.org/wpmudev#content-plugins",target:"_blank"}},[this._v("Free\n Plugins")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/features/",target:"_blank"}},[this._v("Membership")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/roadmap/",target:"_blank"}},[this._v("Roadmap")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://wordpress.org/support/plugin/plugin-name",target:"_blank"}},[this._v("Support")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/docs/",target:"_blank"}},[this._v("Docs")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/hub/",target:"_blank"}},[this._v("The Hub")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/terms-of-service/",target:"_blank"}},[this._v("Terms of Service")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://incsub.com/privacy-policy/",target:"_blank"}},[this._v("Privacy Policy")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/hub/",target:"_blank"}},[this._v("The Hub")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/projects/category/plugins/",target:"_blank"}},[this._v("Plugins")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/roadmap/",target:"_blank"}},[this._v("Roadmap")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/hub/support/",target:"_blank"}},[this._v("Support")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/docs/",target:"_blank"}},[this._v("Docs")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/hub/community/",target:"_blank"}},[this._v("Community")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/terms-of-service/",target:"_blank"}},[this._v("Terms of Service")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://incsub.com/privacy-policy/",target:"_blank"}},[this._v("Privacy Policy")])])},function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("ul",{staticClass:"sui-footer-social"},[s("li",[s("a",{attrs:{href:"https://www.facebook.com/wpmudev",target:"_blank"}},[s("i",{staticClass:"sui-icon-social-facebook",attrs:{"aria-hidden":"true"}}),t._v(" "),s("span",{staticClass:"sui-screen-reader-text"},[t._v("Facebook")])])]),t._v(" "),s("li",[s("a",{attrs:{href:"https://twitter.com/wpmudev",target:"_blank"}},[s("i",{staticClass:"sui-icon-social-twitter",attrs:{"aria-hidden":"true"}})]),t._v(" "),s("span",{staticClass:"sui-screen-reader-text"},[t._v("Twitter")])]),t._v(" "),s("li",[s("a",{attrs:{href:"https://www.instagram.com/wpmu_dev/",target:"_blank"}},[s("i",{staticClass:"sui-icon-instagram",attrs:{"aria-hidden":"true"}}),t._v(" "),s("span",{staticClass:"sui-screen-reader-text"},[t._v("Instagram")])])])])}],!1,null,null,null);e.a=n.exports},"./src/component/submit-button.vue":function(t,e,s){"use strict";var i={name:"submit-button",props:["id","state","text","css-class","type"],computed:{getClass:function(){return"sui-button "+this.cssClass}}},a=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),n=Object(a.a)(i,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("button",{staticClass:"sui-button",class:[t.getClass,{"sui-button-onload":t.state.on_saving}],attrs:{id:t.id,type:t.type,disabled:t.state.on_saving},on:{click:function(e){return t.$emit("click")}}},[s("span",{staticClass:"sui-loading-text"},[t._t("default")],2),t._v(" "),s("i",{staticClass:"sui-icon-loader sui-loading",attrs:{"aria-hidden":"true"}})])}),[],!1,null,null,null);e.a=n.exports},"./src/helper/base_hepler.js":function(t,e,s){"use strict";var i=s("./node_modules/xss/lib/index.js"),a=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var s=[],i=!0,a=!1,n=void 0;try{for(var r,o=t[Symbol.iterator]();!(i=(r=o.next()).done)&&(s.push(r.value),!e||s.length!==e);i=!0);}catch(t){a=!0,n=t}finally{try{!i&&o.return&&o.return()}finally{if(a)throw n}}return s}(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")},n=wp.i18n,r={whiteList:{a:["href","title","target"],span:["class"],strong:["*"]},safeAttrValue:function(t,e,s,a){return"a"===t&&"href"===e&&"%s"===s?"%s":Object(i.safeAttrValue)(t,e,s,a)}},o=new i.FilterXSS(r),l=[];e.a={methods:{__:function(t){var e=n.__(t,"wpdef");return o.process(e)},xss:function(t){return o.process(t)},vsprintf:function(t){return n.sprintf.apply(null,arguments)},siteUrl:function(t){return void 0!==t?defender.site_url+t:defender.site_url},adminUrl:function(t){return void 0!==t?defender.admin_url+t:defender.admin_url},assetUrl:function(t){return defender.defender_url+t},maybeHighContrast:function(){return{"sui-color-accessible":!0===defender.misc.high_contrast}},maybeHideBranding:function(){return defender.whitelabel.hide_branding},campaign_url:function(t){return"https://premium.wpmudev.org/project/wp-defender/?utm_source=defender&utm_medium=plugin&utm_campaign="+t},httpRequest:function(t,e,s,i,a){var n=this;void 0===a&&(this.state.on_saving=!0);var r=ajaxurl+"?action="+this.endpoints[e]+"&_wpnonce="+this.nonces[e],o=jQuery.ajax({url:r,method:t,data:s,success:function(t){var e=t.data;n.state.on_saving=!1,void 0!==e&&void 0!==e.message&&(t.success?Defender.showNotification("success",e.message):Defender.showNotification("error",e.message)),void 0!==i&&i(t)}});l.push(o)},httpGetRequest:function(t,e,s,i){this.httpRequest("get",t,e,s,i)},httpPostRequest:function(t,e,s,i){this.httpRequest("post",t,e,s,i)},abortAllRequests:function(){for(var t=0;t<l.length;t++)l[t].abort()},getQueryStringParams:function(t){return t?(/^[?#]/.test(t)?t.slice(1):t).split("&").reduce((function(t,e){var s=e.split("="),i=a(s,2),n=i[0],r=i[1];return t[n]=r?decodeURIComponent(r.replace(/\+/g," ")):"",t}),{}):{}},rebindSUI:function(){jQuery("select:not([multiple])").each((function(){SUI.suiSelect(this)})),jQuery(".sui-accordion").each((function(){SUI.suiAccordion(this)}));var t=jQuery(".sui-wrap");SUI.dialogs={},jQuery(".sui-dialog").each((function(){SUI.dialogs[this.id]=new A11yDialog(this,t)}))}}}},vue:function(t,e){t.exports=Vue}});
assets/app/audit.js CHANGED
@@ -1 +1 @@
1
- !function(t){var e=window.webpackHotUpdate;window.webpackHotUpdate=function(t,s){!function(t,e){if(!b[t]||!y[t])return;for(var s in y[t]=!1,e)Object.prototype.hasOwnProperty.call(e,s)&&(m[s]=e[s]);0==--p&&0===v&&C()}(t,s),e&&e(t,s)};var s,i=!0,n="495f1b1cd29114aab5aa",a={},r=[],o=[];function l(t){var e=D[t];if(!e)return M;var i=function(i){return e.hot.active?(D[i]?-1===D[i].parents.indexOf(t)&&D[i].parents.push(t):(r=[t],s=i),-1===e.children.indexOf(i)&&e.children.push(i)):(console.warn("[HMR] unexpected require("+i+") from disposed module "+t),r=[]),M(i)},n=function(t){return{configurable:!0,enumerable:!0,get:function(){return M[t]},set:function(e){M[t]=e}}};for(var a in M)Object.prototype.hasOwnProperty.call(M,a)&&"e"!==a&&"t"!==a&&Object.defineProperty(i,a,n(a));return i.e=function(t){return"ready"===c&&h("prepare"),v++,M.e(t).then(e,(function(t){throw e(),t}));function e(){v--,"prepare"===c&&(g[t]||x(t),0===v&&0===p&&C())}},i.t=function(t,e){return 1&e&&(t=i(t)),M.t(t,-2&e)},i}function u(t){var e={_acceptedDependencies:{},_declinedDependencies:{},_selfAccepted:!1,_selfDeclined:!1,_disposeHandlers:[],_main:s!==t,active:!0,accept:function(t,s){if(void 0===t)e._selfAccepted=!0;else if("function"==typeof t)e._selfAccepted=t;else if("object"==typeof t)for(var i=0;i<t.length;i++)e._acceptedDependencies[t[i]]=s||function(){};else e._acceptedDependencies[t]=s||function(){}},decline:function(t){if(void 0===t)e._selfDeclined=!0;else if("object"==typeof t)for(var s=0;s<t.length;s++)e._declinedDependencies[t[s]]=!0;else e._declinedDependencies[t]=!0},dispose:function(t){e._disposeHandlers.push(t)},addDisposeHandler:function(t){e._disposeHandlers.push(t)},removeDisposeHandler:function(t){var s=e._disposeHandlers.indexOf(t);s>=0&&e._disposeHandlers.splice(s,1)},check:k,apply:S,status:function(t){if(!t)return c;d.push(t)},addStatusHandler:function(t){d.push(t)},removeStatusHandler:function(t){var e=d.indexOf(t);e>=0&&d.splice(e,1)},data:a[t]};return s=void 0,e}var d=[],c="idle";function h(t){c=t;for(var e=0;e<d.length;e++)d[e].call(null,t)}var f,m,_,p=0,v=0,g={},y={},b={};function w(t){return+t+""===t?+t:t}function k(t){if("idle"!==c)throw new Error("check() is only allowed in idle status");return i=t,h("check"),(e=1e4,e=e||1e4,new Promise((function(t,s){if("undefined"==typeof XMLHttpRequest)return s(new Error("No browser support"));try{var i=new XMLHttpRequest,a=M.p+""+n+".hot-update.json";i.open("GET",a,!0),i.timeout=e,i.send(null)}catch(t){return s(t)}i.onreadystatechange=function(){if(4===i.readyState)if(0===i.status)s(new Error("Manifest request to "+a+" timed out."));else if(404===i.status)t();else if(200!==i.status&&304!==i.status)s(new Error("Manifest request to "+a+" failed."));else{try{var e=JSON.parse(i.responseText)}catch(t){return void s(t)}t(e)}}}))).then((function(t){if(!t)return h("idle"),null;y={},g={},b=t.c,_=t.h,h("prepare");var e=new Promise((function(t,e){f={resolve:t,reject:e}}));m={};return x(1),"prepare"===c&&0===v&&0===p&&C(),e}));var e}function x(t){b[t]?(y[t]=!0,p++,function(t){var e=document.createElement("script");e.charset="utf-8",e.src=M.p+""+t+"."+n+".hot-update.js",document.head.appendChild(e)}(t)):g[t]=!0}function C(){h("ready");var t=f;if(f=null,t)if(i)Promise.resolve().then((function(){return S(i)})).then((function(e){t.resolve(e)}),(function(e){t.reject(e)}));else{var e=[];for(var s in m)Object.prototype.hasOwnProperty.call(m,s)&&e.push(w(s));t.resolve(e)}}function S(e){if("ready"!==c)throw new Error("apply() is only allowed in ready status");var s,i,o,l,u;function d(t){for(var e=[t],s={},i=e.map((function(t){return{chain:[t],id:t}}));i.length>0;){var n=i.pop(),a=n.id,r=n.chain;if((l=D[a])&&!l.hot._selfAccepted){if(l.hot._selfDeclined)return{type:"self-declined",chain:r,moduleId:a};if(l.hot._main)return{type:"unaccepted",chain:r,moduleId:a};for(var o=0;o<l.parents.length;o++){var u=l.parents[o],d=D[u];if(d){if(d.hot._declinedDependencies[a])return{type:"declined",chain:r.concat([u]),moduleId:a,parentId:u};-1===e.indexOf(u)&&(d.hot._acceptedDependencies[a]?(s[u]||(s[u]=[]),f(s[u],[a])):(delete s[u],e.push(u),i.push({chain:r.concat([u]),id:u})))}}}}return{type:"accepted",moduleId:t,outdatedModules:e,outdatedDependencies:s}}function f(t,e){for(var s=0;s<e.length;s++){var i=e[s];-1===t.indexOf(i)&&t.push(i)}}e=e||{};var p={},v=[],g={},y=function(){console.warn("[HMR] unexpected require("+x.moduleId+") to disposed module")};for(var k in m)if(Object.prototype.hasOwnProperty.call(m,k)){var x;u=w(k);var C=!1,S=!1,O=!1,Y="";switch((x=m[k]?d(u):{type:"disposed",moduleId:k}).chain&&(Y="\nUpdate propagation: "+x.chain.join(" -> ")),x.type){case"self-declined":e.onDeclined&&e.onDeclined(x),e.ignoreDeclined||(C=new Error("Aborted because of self decline: "+x.moduleId+Y));break;case"declined":e.onDeclined&&e.onDeclined(x),e.ignoreDeclined||(C=new Error("Aborted because of declined dependency: "+x.moduleId+" in "+x.parentId+Y));break;case"unaccepted":e.onUnaccepted&&e.onUnaccepted(x),e.ignoreUnaccepted||(C=new Error("Aborted because "+u+" is not accepted"+Y));break;case"accepted":e.onAccepted&&e.onAccepted(x),S=!0;break;case"disposed":e.onDisposed&&e.onDisposed(x),O=!0;break;default:throw new Error("Unexception type "+x.type)}if(C)return h("abort"),Promise.reject(C);if(S)for(u in g[u]=m[u],f(v,x.outdatedModules),x.outdatedDependencies)Object.prototype.hasOwnProperty.call(x.outdatedDependencies,u)&&(p[u]||(p[u]=[]),f(p[u],x.outdatedDependencies[u]));O&&(f(v,[x.moduleId]),g[u]=y)}var T,P=[];for(i=0;i<v.length;i++)u=v[i],D[u]&&D[u].hot._selfAccepted&&g[u]!==y&&P.push({module:u,errorHandler:D[u].hot._selfAccepted});h("dispose"),Object.keys(b).forEach((function(t){!1===b[t]&&function(t){delete installedChunks[t]}(t)}));for(var j,L,A=v.slice();A.length>0;)if(u=A.pop(),l=D[u]){var E={},R=l.hot._disposeHandlers;for(o=0;o<R.length;o++)(s=R[o])(E);for(a[u]=E,l.hot.active=!1,delete D[u],delete p[u],o=0;o<l.children.length;o++){var N=D[l.children[o]];N&&((T=N.parents.indexOf(u))>=0&&N.parents.splice(T,1))}}for(u in p)if(Object.prototype.hasOwnProperty.call(p,u)&&(l=D[u]))for(L=p[u],o=0;o<L.length;o++)j=L[o],(T=l.children.indexOf(j))>=0&&l.children.splice(T,1);for(u in h("apply"),n=_,g)Object.prototype.hasOwnProperty.call(g,u)&&(t[u]=g[u]);var H=null;for(u in p)if(Object.prototype.hasOwnProperty.call(p,u)&&(l=D[u])){L=p[u];var I=[];for(i=0;i<L.length;i++)if(j=L[i],s=l.hot._acceptedDependencies[j]){if(-1!==I.indexOf(s))continue;I.push(s)}for(i=0;i<I.length;i++){s=I[i];try{s(L)}catch(t){e.onErrored&&e.onErrored({type:"accept-errored",moduleId:u,dependencyId:L[i],error:t}),e.ignoreErrored||H||(H=t)}}}for(i=0;i<P.length;i++){var U=P[i];u=U.module,r=[u];try{M(u)}catch(t){if("function"==typeof U.errorHandler)try{U.errorHandler(t)}catch(s){e.onErrored&&e.onErrored({type:"self-accept-error-handler-errored",moduleId:u,error:s,originalError:t}),e.ignoreErrored||H||(H=s),H||(H=t)}else e.onErrored&&e.onErrored({type:"self-accept-errored",moduleId:u,error:t}),e.ignoreErrored||H||(H=t)}}return H?(h("fail"),Promise.reject(H)):(h("idle"),new Promise((function(t){t(v)})))}var D={};function M(e){if(D[e])return D[e].exports;var s=D[e]={i:e,l:!1,exports:{},hot:u(e),parents:(o=r,r=[],o),children:[]};return t[e].call(s.exports,s,s.exports,l(e)),s.l=!0,s.exports}M.m=t,M.c=D,M.d=function(t,e,s){M.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:s})},M.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},M.t=function(t,e){if(1&e&&(t=M(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var s=Object.create(null);if(M.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)M.d(s,i,function(e){return t[e]}.bind(null,i));return s},M.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return M.d(e,"a",e),e},M.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},M.p="",M.h=function(){return n},l("./src/audit.js")(M.s="./src/audit.js")}({"./node_modules/cssfilter/lib/css.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/default.js"),n=s("./node_modules/cssfilter/lib/parser.js");s("./node_modules/cssfilter/lib/util.js");function a(t){return null==t}function r(t){(t=function(t){var e={};for(var s in t)e[s]=t[s];return e}(t||{})).whiteList=t.whiteList||i.whiteList,t.onAttr=t.onAttr||i.onAttr,t.onIgnoreAttr=t.onIgnoreAttr||i.onIgnoreAttr,t.safeAttrValue=t.safeAttrValue||i.safeAttrValue,this.options=t}r.prototype.process=function(t){if(!(t=(t=t||"").toString()))return"";var e=this.options,s=e.whiteList,i=e.onAttr,r=e.onIgnoreAttr,o=e.safeAttrValue;return n(t,(function(t,e,n,l,u){var d=s[n],c=!1;if(!0===d?c=d:"function"==typeof d?c=d(l):d instanceof RegExp&&(c=d.test(l)),!0!==c&&(c=!1),l=o(n,l)){var h,f={position:e,sourcePosition:t,source:u,isWhite:c};return c?a(h=i(n,l,f))?n+":"+l:h:a(h=r(n,l,f))?void 0:h}}))},t.exports=r},"./node_modules/cssfilter/lib/default.js":function(t,e){function s(){var t={"align-content":!1,"align-items":!1,"align-self":!1,"alignment-adjust":!1,"alignment-baseline":!1,all:!1,"anchor-point":!1,animation:!1,"animation-delay":!1,"animation-direction":!1,"animation-duration":!1,"animation-fill-mode":!1,"animation-iteration-count":!1,"animation-name":!1,"animation-play-state":!1,"animation-timing-function":!1,azimuth:!1,"backface-visibility":!1,background:!0,"background-attachment":!0,"background-clip":!0,"background-color":!0,"background-image":!0,"background-origin":!0,"background-position":!0,"background-repeat":!0,"background-size":!0,"baseline-shift":!1,binding:!1,bleed:!1,"bookmark-label":!1,"bookmark-level":!1,"bookmark-state":!1,border:!0,"border-bottom":!0,"border-bottom-color":!0,"border-bottom-left-radius":!0,"border-bottom-right-radius":!0,"border-bottom-style":!0,"border-bottom-width":!0,"border-collapse":!0,"border-color":!0,"border-image":!0,"border-image-outset":!0,"border-image-repeat":!0,"border-image-slice":!0,"border-image-source":!0,"border-image-width":!0,"border-left":!0,"border-left-color":!0,"border-left-style":!0,"border-left-width":!0,"border-radius":!0,"border-right":!0,"border-right-color":!0,"border-right-style":!0,"border-right-width":!0,"border-spacing":!0,"border-style":!0,"border-top":!0,"border-top-color":!0,"border-top-left-radius":!0,"border-top-right-radius":!0,"border-top-style":!0,"border-top-width":!0,"border-width":!0,bottom:!1,"box-decoration-break":!0,"box-shadow":!0,"box-sizing":!0,"box-snap":!0,"box-suppress":!0,"break-after":!0,"break-before":!0,"break-inside":!0,"caption-side":!1,chains:!1,clear:!0,clip:!1,"clip-path":!1,"clip-rule":!1,color:!0,"color-interpolation-filters":!0,"column-count":!1,"column-fill":!1,"column-gap":!1,"column-rule":!1,"column-rule-color":!1,"column-rule-style":!1,"column-rule-width":!1,"column-span":!1,"column-width":!1,columns:!1,contain:!1,content:!1,"counter-increment":!1,"counter-reset":!1,"counter-set":!1,crop:!1,cue:!1,"cue-after":!1,"cue-before":!1,cursor:!1,direction:!1,display:!0,"display-inside":!0,"display-list":!0,"display-outside":!0,"dominant-baseline":!1,elevation:!1,"empty-cells":!1,filter:!1,flex:!1,"flex-basis":!1,"flex-direction":!1,"flex-flow":!1,"flex-grow":!1,"flex-shrink":!1,"flex-wrap":!1,float:!1,"float-offset":!1,"flood-color":!1,"flood-opacity":!1,"flow-from":!1,"flow-into":!1,font:!0,"font-family":!0,"font-feature-settings":!0,"font-kerning":!0,"font-language-override":!0,"font-size":!0,"font-size-adjust":!0,"font-stretch":!0,"font-style":!0,"font-synthesis":!0,"font-variant":!0,"font-variant-alternates":!0,"font-variant-caps":!0,"font-variant-east-asian":!0,"font-variant-ligatures":!0,"font-variant-numeric":!0,"font-variant-position":!0,"font-weight":!0,grid:!1,"grid-area":!1,"grid-auto-columns":!1,"grid-auto-flow":!1,"grid-auto-rows":!1,"grid-column":!1,"grid-column-end":!1,"grid-column-start":!1,"grid-row":!1,"grid-row-end":!1,"grid-row-start":!1,"grid-template":!1,"grid-template-areas":!1,"grid-template-columns":!1,"grid-template-rows":!1,"hanging-punctuation":!1,height:!0,hyphens:!1,icon:!1,"image-orientation":!1,"image-resolution":!1,"ime-mode":!1,"initial-letters":!1,"inline-box-align":!1,"justify-content":!1,"justify-items":!1,"justify-self":!1,left:!1,"letter-spacing":!0,"lighting-color":!0,"line-box-contain":!1,"line-break":!1,"line-grid":!1,"line-height":!1,"line-snap":!1,"line-stacking":!1,"line-stacking-ruby":!1,"line-stacking-shift":!1,"line-stacking-strategy":!1,"list-style":!0,"list-style-image":!0,"list-style-position":!0,"list-style-type":!0,margin:!0,"margin-bottom":!0,"margin-left":!0,"margin-right":!0,"margin-top":!0,"marker-offset":!1,"marker-side":!1,marks:!1,mask:!1,"mask-box":!1,"mask-box-outset":!1,"mask-box-repeat":!1,"mask-box-slice":!1,"mask-box-source":!1,"mask-box-width":!1,"mask-clip":!1,"mask-image":!1,"mask-origin":!1,"mask-position":!1,"mask-repeat":!1,"mask-size":!1,"mask-source-type":!1,"mask-type":!1,"max-height":!0,"max-lines":!1,"max-width":!0,"min-height":!0,"min-width":!0,"move-to":!1,"nav-down":!1,"nav-index":!1,"nav-left":!1,"nav-right":!1,"nav-up":!1,"object-fit":!1,"object-position":!1,opacity:!1,order:!1,orphans:!1,outline:!1,"outline-color":!1,"outline-offset":!1,"outline-style":!1,"outline-width":!1,overflow:!1,"overflow-wrap":!1,"overflow-x":!1,"overflow-y":!1,padding:!0,"padding-bottom":!0,"padding-left":!0,"padding-right":!0,"padding-top":!0,page:!1,"page-break-after":!1,"page-break-before":!1,"page-break-inside":!1,"page-policy":!1,pause:!1,"pause-after":!1,"pause-before":!1,perspective:!1,"perspective-origin":!1,pitch:!1,"pitch-range":!1,"play-during":!1,position:!1,"presentation-level":!1,quotes:!1,"region-fragment":!1,resize:!1,rest:!1,"rest-after":!1,"rest-before":!1,richness:!1,right:!1,rotation:!1,"rotation-point":!1,"ruby-align":!1,"ruby-merge":!1,"ruby-position":!1,"shape-image-threshold":!1,"shape-outside":!1,"shape-margin":!1,size:!1,speak:!1,"speak-as":!1,"speak-header":!1,"speak-numeral":!1,"speak-punctuation":!1,"speech-rate":!1,stress:!1,"string-set":!1,"tab-size":!1,"table-layout":!1,"text-align":!0,"text-align-last":!0,"text-combine-upright":!0,"text-decoration":!0,"text-decoration-color":!0,"text-decoration-line":!0,"text-decoration-skip":!0,"text-decoration-style":!0,"text-emphasis":!0,"text-emphasis-color":!0,"text-emphasis-position":!0,"text-emphasis-style":!0,"text-height":!0,"text-indent":!0,"text-justify":!0,"text-orientation":!0,"text-overflow":!0,"text-shadow":!0,"text-space-collapse":!0,"text-transform":!0,"text-underline-position":!0,"text-wrap":!0,top:!1,transform:!1,"transform-origin":!1,"transform-style":!1,transition:!1,"transition-delay":!1,"transition-duration":!1,"transition-property":!1,"transition-timing-function":!1,"unicode-bidi":!1,"vertical-align":!1,visibility:!1,"voice-balance":!1,"voice-duration":!1,"voice-family":!1,"voice-pitch":!1,"voice-range":!1,"voice-rate":!1,"voice-stress":!1,"voice-volume":!1,volume:!1,"white-space":!1,widows:!1,width:!0,"will-change":!1,"word-break":!0,"word-spacing":!0,"word-wrap":!0,"wrap-flow":!1,"wrap-through":!1,"writing-mode":!1,"z-index":!1};return t}var i=/javascript\s*\:/gim;e.whiteList=s(),e.getDefaultWhiteList=s,e.onAttr=function(t,e,s){},e.onIgnoreAttr=function(t,e,s){},e.safeAttrValue=function(t,e){return i.test(e)?"":e}},"./node_modules/cssfilter/lib/index.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/default.js"),n=s("./node_modules/cssfilter/lib/css.js");for(var a in(e=t.exports=function(t,e){return new n(e).process(t)}).FilterCSS=n,i)e[a]=i[a];"undefined"!=typeof window&&(window.filterCSS=t.exports)},"./node_modules/cssfilter/lib/parser.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/util.js");t.exports=function(t,e){";"!==(t=i.trimRight(t))[t.length-1]&&(t+=";");var s=t.length,n=!1,a=0,r=0,o="";function l(){if(!n){var s=i.trim(t.slice(a,r)),l=s.indexOf(":");if(-1!==l){var u=i.trim(s.slice(0,l)),d=i.trim(s.slice(l+1));if(u){var c=e(a,o.length,u,d,s);c&&(o+=c+"; ")}}}a=r+1}for(;r<s;r++){var u=t[r];if("/"===u&&"*"===t[r+1]){var d=t.indexOf("*/",r+2);if(-1===d)break;a=(r=d+1)+1,n=!1}else"("===u?n=!0:")"===u?n=!1:";"===u?n||l():"\n"===u&&l()}return i.trim(o)}},"./node_modules/cssfilter/lib/util.js":function(t,e){t.exports={indexOf:function(t,e){var s,i;if(Array.prototype.indexOf)return t.indexOf(e);for(s=0,i=t.length;s<i;s++)if(t[s]===e)return s;return-1},forEach:function(t,e,s){var i,n;if(Array.prototype.forEach)return t.forEach(e,s);for(i=0,n=t.length;i<n;i++)e.call(s,t[i],i,t)},trim:function(t){return String.prototype.trim?t.trim():t.replace(/(^\s*)|(\s*$)/g,"")},trimRight:function(t){return String.prototype.trimRight?t.trimRight():t.replace(/(\s*$)/g,"")}}},"./node_modules/lodash/_Symbol.js":function(t,e,s){var i=s("./node_modules/lodash/_root.js").Symbol;t.exports=i},"./node_modules/lodash/_baseGetTag.js":function(t,e,s){var i=s("./node_modules/lodash/_Symbol.js"),n=s("./node_modules/lodash/_getRawTag.js"),a=s("./node_modules/lodash/_objectToString.js"),r=i?i.toStringTag:void 0;t.exports=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":r&&r in Object(t)?n(t):a(t)}},"./node_modules/lodash/_baseSlice.js":function(t,e){t.exports=function(t,e,s){var i=-1,n=t.length;e<0&&(e=-e>n?0:n+e),(s=s>n?n:s)<0&&(s+=n),n=e>s?0:s-e>>>0,e>>>=0;for(var a=Array(n);++i<n;)a[i]=t[i+e];return a}},"./node_modules/lodash/_freeGlobal.js":function(t,e,s){(function(e){var s="object"==typeof e&&e&&e.Object===Object&&e;t.exports=s}).call(this,s("./node_modules/webpack/buildin/global.js"))},"./node_modules/lodash/_getRawTag.js":function(t,e,s){var i=s("./node_modules/lodash/_Symbol.js"),n=Object.prototype,a=n.hasOwnProperty,r=n.toString,o=i?i.toStringTag:void 0;t.exports=function(t){var e=a.call(t,o),s=t[o];try{t[o]=void 0;var i=!0}catch(t){}var n=r.call(t);return i&&(e?t[o]=s:delete t[o]),n}},"./node_modules/lodash/_isIndex.js":function(t,e){var s=/^(?:0|[1-9]\d*)$/;t.exports=function(t,e){var i=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==i||"symbol"!=i&&s.test(t))&&t>-1&&t%1==0&&t<e}},"./node_modules/lodash/_isIterateeCall.js":function(t,e,s){var i=s("./node_modules/lodash/eq.js"),n=s("./node_modules/lodash/isArrayLike.js"),a=s("./node_modules/lodash/_isIndex.js"),r=s("./node_modules/lodash/isObject.js");t.exports=function(t,e,s){if(!r(s))return!1;var o=typeof e;return!!("number"==o?n(s)&&a(e,s.length):"string"==o&&e in s)&&i(s[e],t)}},"./node_modules/lodash/_objectToString.js":function(t,e){var s=Object.prototype.toString;t.exports=function(t){return s.call(t)}},"./node_modules/lodash/_root.js":function(t,e,s){var i=s("./node_modules/lodash/_freeGlobal.js"),n="object"==typeof self&&self&&self.Object===Object&&self,a=i||n||Function("return this")();t.exports=a},"./node_modules/lodash/chunk.js":function(t,e,s){var i=s("./node_modules/lodash/_baseSlice.js"),n=s("./node_modules/lodash/_isIterateeCall.js"),a=s("./node_modules/lodash/toInteger.js"),r=Math.ceil,o=Math.max;t.exports=function(t,e,s){e=(s?n(t,e,s):void 0===e)?1:o(a(e),0);var l=null==t?0:t.length;if(!l||e<1)return[];for(var u=0,d=0,c=Array(r(l/e));u<l;)c[d++]=i(t,u,u+=e);return c}},"./node_modules/lodash/eq.js":function(t,e){t.exports=function(t,e){return t===e||t!=t&&e!=e}},"./node_modules/lodash/isArrayLike.js":function(t,e,s){var i=s("./node_modules/lodash/isFunction.js"),n=s("./node_modules/lodash/isLength.js");t.exports=function(t){return null!=t&&n(t.length)&&!i(t)}},"./node_modules/lodash/isFunction.js":function(t,e,s){var i=s("./node_modules/lodash/_baseGetTag.js"),n=s("./node_modules/lodash/isObject.js");t.exports=function(t){if(!n(t))return!1;var e=i(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}},"./node_modules/lodash/isLength.js":function(t,e){t.exports=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}},"./node_modules/lodash/isObject.js":function(t,e){t.exports=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},"./node_modules/lodash/isObjectLike.js":function(t,e){t.exports=function(t){return null!=t&&"object"==typeof t}},"./node_modules/lodash/isSymbol.js":function(t,e,s){var i=s("./node_modules/lodash/_baseGetTag.js"),n=s("./node_modules/lodash/isObjectLike.js");t.exports=function(t){return"symbol"==typeof t||n(t)&&"[object Symbol]"==i(t)}},"./node_modules/lodash/toFinite.js":function(t,e,s){var i=s("./node_modules/lodash/toNumber.js");t.exports=function(t){return t?(t=i(t))===1/0||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}},"./node_modules/lodash/toInteger.js":function(t,e,s){var i=s("./node_modules/lodash/toFinite.js");t.exports=function(t){var e=i(t),s=e%1;return e==e?s?e-s:e:0}},"./node_modules/lodash/toNumber.js":function(t,e,s){var i=s("./node_modules/lodash/isObject.js"),n=s("./node_modules/lodash/isSymbol.js"),a=/^\s+|\s+$/g,r=/^[-+]0x[0-9a-f]+$/i,o=/^0b[01]+$/i,l=/^0o[0-7]+$/i,u=parseInt;t.exports=function(t){if("number"==typeof t)return t;if(n(t))return NaN;if(i(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=i(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(a,"");var s=o.test(t);return s||l.test(t)?u(t.slice(2),s?2:8):r.test(t)?NaN:+t}},"./node_modules/moment/moment.js":function(t,e,s){(function(t){t.exports=function(){"use strict";var e,s;function i(){return e.apply(null,arguments)}function n(t){return t instanceof Array||"[object Array]"===Object.prototype.toString.call(t)}function a(t){return null!=t&&"[object Object]"===Object.prototype.toString.call(t)}function r(t){return void 0===t}function o(t){return"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t)}function l(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function u(t,e){var s,i=[];for(s=0;s<t.length;++s)i.push(e(t[s],s));return i}function d(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function c(t,e){for(var s in e)d(e,s)&&(t[s]=e[s]);return d(e,"toString")&&(t.toString=e.toString),d(e,"valueOf")&&(t.valueOf=e.valueOf),t}function h(t,e,s,i){return xe(t,e,s,i,!0).utc()}function f(t){return null==t._pf&&(t._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null,rfc2822:!1,weekdayMismatch:!1}),t._pf}function m(t){if(null==t._isValid){var e=f(t),i=s.call(e.parsedDateParts,(function(t){return null!=t})),n=!isNaN(t._d.getTime())&&e.overflow<0&&!e.empty&&!e.invalidMonth&&!e.invalidWeekday&&!e.weekdayMismatch&&!e.nullInput&&!e.invalidFormat&&!e.userInvalidated&&(!e.meridiem||e.meridiem&&i);if(t._strict&&(n=n&&0===e.charsLeftOver&&0===e.unusedTokens.length&&void 0===e.bigHour),null!=Object.isFrozen&&Object.isFrozen(t))return n;t._isValid=n}return t._isValid}function _(t){var e=h(NaN);return null!=t?c(f(e),t):f(e).userInvalidated=!0,e}s=Array.prototype.some?Array.prototype.some:function(t){for(var e=Object(this),s=e.length>>>0,i=0;i<s;i++)if(i in e&&t.call(this,e[i],i,e))return!0;return!1};var p=i.momentProperties=[];function v(t,e){var s,i,n;if(r(e._isAMomentObject)||(t._isAMomentObject=e._isAMomentObject),r(e._i)||(t._i=e._i),r(e._f)||(t._f=e._f),r(e._l)||(t._l=e._l),r(e._strict)||(t._strict=e._strict),r(e._tzm)||(t._tzm=e._tzm),r(e._isUTC)||(t._isUTC=e._isUTC),r(e._offset)||(t._offset=e._offset),r(e._pf)||(t._pf=f(e)),r(e._locale)||(t._locale=e._locale),p.length>0)for(s=0;s<p.length;s++)r(n=e[i=p[s]])||(t[i]=n);return t}var g=!1;function y(t){v(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===g&&(g=!0,i.updateOffset(this),g=!1)}function b(t){return t instanceof y||null!=t&&null!=t._isAMomentObject}function w(t){return t<0?Math.ceil(t)||0:Math.floor(t)}function k(t){var e=+t,s=0;return 0!==e&&isFinite(e)&&(s=w(e)),s}function x(t,e,s){var i,n=Math.min(t.length,e.length),a=Math.abs(t.length-e.length),r=0;for(i=0;i<n;i++)(s&&t[i]!==e[i]||!s&&k(t[i])!==k(e[i]))&&r++;return r+a}function C(t){!1===i.suppressDeprecationWarnings&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function S(t,e){var s=!0;return c((function(){if(null!=i.deprecationHandler&&i.deprecationHandler(null,t),s){for(var n,a=[],r=0;r<arguments.length;r++){if(n="","object"==typeof arguments[r]){for(var o in n+="\n["+r+"] ",arguments[0])n+=o+": "+arguments[0][o]+", ";n=n.slice(0,-2)}else n=arguments[r];a.push(n)}C(t+"\nArguments: "+Array.prototype.slice.call(a).join("")+"\n"+(new Error).stack),s=!1}return e.apply(this,arguments)}),e)}var D,M={};function O(t,e){null!=i.deprecationHandler&&i.deprecationHandler(t,e),M[t]||(C(e),M[t]=!0)}function Y(t){return t instanceof Function||"[object Function]"===Object.prototype.toString.call(t)}function T(t,e){var s,i=c({},t);for(s in e)d(e,s)&&(a(t[s])&&a(e[s])?(i[s]={},c(i[s],t[s]),c(i[s],e[s])):null!=e[s]?i[s]=e[s]:delete i[s]);for(s in t)d(t,s)&&!d(e,s)&&a(t[s])&&(i[s]=c({},i[s]));return i}function P(t){null!=t&&this.set(t)}i.suppressDeprecationWarnings=!1,i.deprecationHandler=null,D=Object.keys?Object.keys:function(t){var e,s=[];for(e in t)d(t,e)&&s.push(e);return s};var j={};function L(t,e){var s=t.toLowerCase();j[s]=j[s+"s"]=j[e]=t}function A(t){return"string"==typeof t?j[t]||j[t.toLowerCase()]:void 0}function E(t){var e,s,i={};for(s in t)d(t,s)&&(e=A(s))&&(i[e]=t[s]);return i}var R={};function N(t,e){R[t]=e}function H(t,e,s){var i=""+Math.abs(t),n=e-i.length;return(t>=0?s?"+":"":"-")+Math.pow(10,Math.max(0,n)).toString().substr(1)+i}var I=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,U=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,W={},F={};function V(t,e,s,i){var n=i;"string"==typeof i&&(n=function(){return this[i]()}),t&&(F[t]=n),e&&(F[e[0]]=function(){return H(n.apply(this,arguments),e[1],e[2])}),s&&(F[s]=function(){return this.localeData().ordinal(n.apply(this,arguments),t)})}function $(t,e){return t.isValid()?(e=G(e,t.localeData()),W[e]=W[e]||function(t){var e,s,i,n=t.match(I);for(e=0,s=n.length;e<s;e++)F[n[e]]?n[e]=F[n[e]]:n[e]=(i=n[e]).match(/\[[\s\S]/)?i.replace(/^\[|\]$/g,""):i.replace(/\\/g,"");return function(e){var i,a="";for(i=0;i<s;i++)a+=Y(n[i])?n[i].call(e,t):n[i];return a}}(e),W[e](t)):t.localeData().invalidDate()}function G(t,e){var s=5;function i(t){return e.longDateFormat(t)||t}for(U.lastIndex=0;s>=0&&U.test(t);)t=t.replace(U,i),U.lastIndex=0,s-=1;return t}var z=/\d/,q=/\d\d/,Z=/\d{3}/,B=/\d{4}/,Q=/[+-]?\d{6}/,J=/\d\d?/,X=/\d\d\d\d?/,K=/\d\d\d\d\d\d?/,tt=/\d{1,3}/,et=/\d{1,4}/,st=/[+-]?\d{1,6}/,it=/\d+/,nt=/[+-]?\d+/,at=/Z|[+-]\d\d:?\d\d/gi,rt=/Z|[+-]\d\d(?::?\d\d)?/gi,ot=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,lt={};function ut(t,e,s){lt[t]=Y(e)?e:function(t,i){return t&&s?s:e}}function dt(t,e){return d(lt,t)?lt[t](e._strict,e._locale):new RegExp(ct(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,(function(t,e,s,i,n){return e||s||i||n}))))}function ct(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var ht={};function ft(t,e){var s,i=e;for("string"==typeof t&&(t=[t]),o(e)&&(i=function(t,s){s[e]=k(t)}),s=0;s<t.length;s++)ht[t[s]]=i}function mt(t,e){ft(t,(function(t,s,i,n){i._w=i._w||{},e(t,i._w,i,n)}))}function _t(t,e,s){null!=e&&d(ht,t)&&ht[t](e,s._a,s,t)}function pt(t){return vt(t)?366:365}function vt(t){return t%4==0&&t%100!=0||t%400==0}V("Y",0,0,(function(){var t=this.year();return t<=9999?""+t:"+"+t})),V(0,["YY",2],0,(function(){return this.year()%100})),V(0,["YYYY",4],0,"year"),V(0,["YYYYY",5],0,"year"),V(0,["YYYYYY",6,!0],0,"year"),L("year","y"),N("year",1),ut("Y",nt),ut("YY",J,q),ut("YYYY",et,B),ut("YYYYY",st,Q),ut("YYYYYY",st,Q),ft(["YYYYY","YYYYYY"],0),ft("YYYY",(function(t,e){e[0]=2===t.length?i.parseTwoDigitYear(t):k(t)})),ft("YY",(function(t,e){e[0]=i.parseTwoDigitYear(t)})),ft("Y",(function(t,e){e[0]=parseInt(t,10)})),i.parseTwoDigitYear=function(t){return k(t)+(k(t)>68?1900:2e3)};var gt,yt=bt("FullYear",!0);function bt(t,e){return function(s){return null!=s?(kt(this,t,s),i.updateOffset(this,e),this):wt(this,t)}}function wt(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function kt(t,e,s){t.isValid()&&!isNaN(s)&&("FullYear"===e&&vt(t.year())&&1===t.month()&&29===t.date()?t._d["set"+(t._isUTC?"UTC":"")+e](s,t.month(),xt(s,t.month())):t._d["set"+(t._isUTC?"UTC":"")+e](s))}function xt(t,e){if(isNaN(t)||isNaN(e))return NaN;var s,i=(e%(s=12)+s)%s;return t+=(e-i)/12,1===i?vt(t)?29:28:31-i%7%2}gt=Array.prototype.indexOf?Array.prototype.indexOf:function(t){var e;for(e=0;e<this.length;++e)if(this[e]===t)return e;return-1},V("M",["MM",2],"Mo",(function(){return this.month()+1})),V("MMM",0,0,(function(t){return this.localeData().monthsShort(this,t)})),V("MMMM",0,0,(function(t){return this.localeData().months(this,t)})),L("month","M"),N("month",8),ut("M",J),ut("MM",J,q),ut("MMM",(function(t,e){return e.monthsShortRegex(t)})),ut("MMMM",(function(t,e){return e.monthsRegex(t)})),ft(["M","MM"],(function(t,e){e[1]=k(t)-1})),ft(["MMM","MMMM"],(function(t,e,s,i){var n=s._locale.monthsParse(t,i,s._strict);null!=n?e[1]=n:f(s).invalidMonth=t}));var Ct=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,St="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),Dt="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_");function Mt(t,e,s){var i,n,a,r=t.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],i=0;i<12;++i)a=h([2e3,i]),this._shortMonthsParse[i]=this.monthsShort(a,"").toLocaleLowerCase(),this._longMonthsParse[i]=this.months(a,"").toLocaleLowerCase();return s?"MMM"===e?-1!==(n=gt.call(this._shortMonthsParse,r))?n:null:-1!==(n=gt.call(this._longMonthsParse,r))?n:null:"MMM"===e?-1!==(n=gt.call(this._shortMonthsParse,r))?n:-1!==(n=gt.call(this._longMonthsParse,r))?n:null:-1!==(n=gt.call(this._longMonthsParse,r))?n:-1!==(n=gt.call(this._shortMonthsParse,r))?n:null}function Ot(t,e){var s;if(!t.isValid())return t;if("string"==typeof e)if(/^\d+$/.test(e))e=k(e);else if(!o(e=t.localeData().monthsParse(e)))return t;return s=Math.min(t.date(),xt(t.year(),e)),t._d["set"+(t._isUTC?"UTC":"")+"Month"](e,s),t}function Yt(t){return null!=t?(Ot(this,t),i.updateOffset(this,!0),this):wt(this,"Month")}var Tt=ot,Pt=ot;function jt(){function t(t,e){return e.length-t.length}var e,s,i=[],n=[],a=[];for(e=0;e<12;e++)s=h([2e3,e]),i.push(this.monthsShort(s,"")),n.push(this.months(s,"")),a.push(this.months(s,"")),a.push(this.monthsShort(s,""));for(i.sort(t),n.sort(t),a.sort(t),e=0;e<12;e++)i[e]=ct(i[e]),n[e]=ct(n[e]);for(e=0;e<24;e++)a[e]=ct(a[e]);this._monthsRegex=new RegExp("^("+a.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+n.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+i.join("|")+")","i")}function Lt(t,e,s,i,n,a,r){var o;return t<100&&t>=0?(o=new Date(t+400,e,s,i,n,a,r),isFinite(o.getFullYear())&&o.setFullYear(t)):o=new Date(t,e,s,i,n,a,r),o}function At(t){var e;if(t<100&&t>=0){var s=Array.prototype.slice.call(arguments);s[0]=t+400,e=new Date(Date.UTC.apply(null,s)),isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t)}else e=new Date(Date.UTC.apply(null,arguments));return e}function Et(t,e,s){var i=7+e-s;return-(7+At(t,0,i).getUTCDay()-e)%7+i-1}function Rt(t,e,s,i,n){var a,r,o=1+7*(e-1)+(7+s-i)%7+Et(t,i,n);return o<=0?r=pt(a=t-1)+o:o>pt(t)?(a=t+1,r=o-pt(t)):(a=t,r=o),{year:a,dayOfYear:r}}function Nt(t,e,s){var i,n,a=Et(t.year(),e,s),r=Math.floor((t.dayOfYear()-a-1)/7)+1;return r<1?i=r+Ht(n=t.year()-1,e,s):r>Ht(t.year(),e,s)?(i=r-Ht(t.year(),e,s),n=t.year()+1):(n=t.year(),i=r),{week:i,year:n}}function Ht(t,e,s){var i=Et(t,e,s),n=Et(t+1,e,s);return(pt(t)-i+n)/7}function It(t,e){return t.slice(e,7).concat(t.slice(0,e))}V("w",["ww",2],"wo","week"),V("W",["WW",2],"Wo","isoWeek"),L("week","w"),L("isoWeek","W"),N("week",5),N("isoWeek",5),ut("w",J),ut("ww",J,q),ut("W",J),ut("WW",J,q),mt(["w","ww","W","WW"],(function(t,e,s,i){e[i.substr(0,1)]=k(t)})),V("d",0,"do","day"),V("dd",0,0,(function(t){return this.localeData().weekdaysMin(this,t)})),V("ddd",0,0,(function(t){return this.localeData().weekdaysShort(this,t)})),V("dddd",0,0,(function(t){return this.localeData().weekdays(this,t)})),V("e",0,0,"weekday"),V("E",0,0,"isoWeekday"),L("day","d"),L("weekday","e"),L("isoWeekday","E"),N("day",11),N("weekday",11),N("isoWeekday",11),ut("d",J),ut("e",J),ut("E",J),ut("dd",(function(t,e){return e.weekdaysMinRegex(t)})),ut("ddd",(function(t,e){return e.weekdaysShortRegex(t)})),ut("dddd",(function(t,e){return e.weekdaysRegex(t)})),mt(["dd","ddd","dddd"],(function(t,e,s,i){var n=s._locale.weekdaysParse(t,i,s._strict);null!=n?e.d=n:f(s).invalidWeekday=t})),mt(["d","e","E"],(function(t,e,s,i){e[i]=k(t)}));var Ut="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Wt="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Ft="Su_Mo_Tu_We_Th_Fr_Sa".split("_");function Vt(t,e,s){var i,n,a,r=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],i=0;i<7;++i)a=h([2e3,1]).day(i),this._minWeekdaysParse[i]=this.weekdaysMin(a,"").toLocaleLowerCase(),this._shortWeekdaysParse[i]=this.weekdaysShort(a,"").toLocaleLowerCase(),this._weekdaysParse[i]=this.weekdays(a,"").toLocaleLowerCase();return s?"dddd"===e?-1!==(n=gt.call(this._weekdaysParse,r))?n:null:"ddd"===e?-1!==(n=gt.call(this._shortWeekdaysParse,r))?n:null:-1!==(n=gt.call(this._minWeekdaysParse,r))?n:null:"dddd"===e?-1!==(n=gt.call(this._weekdaysParse,r))?n:-1!==(n=gt.call(this._shortWeekdaysParse,r))?n:-1!==(n=gt.call(this._minWeekdaysParse,r))?n:null:"ddd"===e?-1!==(n=gt.call(this._shortWeekdaysParse,r))?n:-1!==(n=gt.call(this._weekdaysParse,r))?n:-1!==(n=gt.call(this._minWeekdaysParse,r))?n:null:-1!==(n=gt.call(this._minWeekdaysParse,r))?n:-1!==(n=gt.call(this._weekdaysParse,r))?n:-1!==(n=gt.call(this._shortWeekdaysParse,r))?n:null}var $t=ot,Gt=ot,zt=ot;function qt(){function t(t,e){return e.length-t.length}var e,s,i,n,a,r=[],o=[],l=[],u=[];for(e=0;e<7;e++)s=h([2e3,1]).day(e),i=this.weekdaysMin(s,""),n=this.weekdaysShort(s,""),a=this.weekdays(s,""),r.push(i),o.push(n),l.push(a),u.push(i),u.push(n),u.push(a);for(r.sort(t),o.sort(t),l.sort(t),u.sort(t),e=0;e<7;e++)o[e]=ct(o[e]),l[e]=ct(l[e]),u[e]=ct(u[e]);this._weekdaysRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+l.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+o.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+r.join("|")+")","i")}function Zt(){return this.hours()%12||12}function Bt(t,e){V(t,0,0,(function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)}))}function Qt(t,e){return e._meridiemParse}V("H",["HH",2],0,"hour"),V("h",["hh",2],0,Zt),V("k",["kk",2],0,(function(){return this.hours()||24})),V("hmm",0,0,(function(){return""+Zt.apply(this)+H(this.minutes(),2)})),V("hmmss",0,0,(function(){return""+Zt.apply(this)+H(this.minutes(),2)+H(this.seconds(),2)})),V("Hmm",0,0,(function(){return""+this.hours()+H(this.minutes(),2)})),V("Hmmss",0,0,(function(){return""+this.hours()+H(this.minutes(),2)+H(this.seconds(),2)})),Bt("a",!0),Bt("A",!1),L("hour","h"),N("hour",13),ut("a",Qt),ut("A",Qt),ut("H",J),ut("h",J),ut("k",J),ut("HH",J,q),ut("hh",J,q),ut("kk",J,q),ut("hmm",X),ut("hmmss",K),ut("Hmm",X),ut("Hmmss",K),ft(["H","HH"],3),ft(["k","kk"],(function(t,e,s){var i=k(t);e[3]=24===i?0:i})),ft(["a","A"],(function(t,e,s){s._isPm=s._locale.isPM(t),s._meridiem=t})),ft(["h","hh"],(function(t,e,s){e[3]=k(t),f(s).bigHour=!0})),ft("hmm",(function(t,e,s){var i=t.length-2;e[3]=k(t.substr(0,i)),e[4]=k(t.substr(i)),f(s).bigHour=!0})),ft("hmmss",(function(t,e,s){var i=t.length-4,n=t.length-2;e[3]=k(t.substr(0,i)),e[4]=k(t.substr(i,2)),e[5]=k(t.substr(n)),f(s).bigHour=!0})),ft("Hmm",(function(t,e,s){var i=t.length-2;e[3]=k(t.substr(0,i)),e[4]=k(t.substr(i))})),ft("Hmmss",(function(t,e,s){var i=t.length-4,n=t.length-2;e[3]=k(t.substr(0,i)),e[4]=k(t.substr(i,2)),e[5]=k(t.substr(n))}));var Jt,Xt=bt("Hours",!0),Kt={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:St,monthsShort:Dt,week:{dow:0,doy:6},weekdays:Ut,weekdaysMin:Ft,weekdaysShort:Wt,meridiemParse:/[ap]\.?m?\.?/i},te={},ee={};function se(t){return t?t.toLowerCase().replace("_","-"):t}function ie(e){var s=null;if(!te[e]&&void 0!==t&&t&&t.exports)try{s=Jt._abbr,!function(){var t=new Error("Cannot find module 'undefined'");throw t.code="MODULE_NOT_FOUND",t}(),ne(s)}catch(t){}return te[e]}function ne(t,e){var s;return t&&((s=r(e)?re(t):ae(t,e))?Jt=s:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+t+" not found. Did you forget to load it?")),Jt._abbr}function ae(t,e){if(null!==e){var s,i=Kt;if(e.abbr=t,null!=te[t])O("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),i=te[t]._config;else if(null!=e.parentLocale)if(null!=te[e.parentLocale])i=te[e.parentLocale]._config;else{if(null==(s=ie(e.parentLocale)))return ee[e.parentLocale]||(ee[e.parentLocale]=[]),ee[e.parentLocale].push({name:t,config:e}),null;i=s._config}return te[t]=new P(T(i,e)),ee[t]&&ee[t].forEach((function(t){ae(t.name,t.config)})),ne(t),te[t]}return delete te[t],null}function re(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Jt;if(!n(t)){if(e=ie(t))return e;t=[t]}return function(t){for(var e,s,i,n,a=0;a<t.length;){for(e=(n=se(t[a]).split("-")).length,s=(s=se(t[a+1]))?s.split("-"):null;e>0;){if(i=ie(n.slice(0,e).join("-")))return i;if(s&&s.length>=e&&x(n,s,!0)>=e-1)break;e--}a++}return Jt}(t)}function oe(t){var e,s=t._a;return s&&-2===f(t).overflow&&(e=s[1]<0||s[1]>11?1:s[2]<1||s[2]>xt(s[0],s[1])?2:s[3]<0||s[3]>24||24===s[3]&&(0!==s[4]||0!==s[5]||0!==s[6])?3:s[4]<0||s[4]>59?4:s[5]<0||s[5]>59?5:s[6]<0||s[6]>999?6:-1,f(t)._overflowDayOfYear&&(e<0||e>2)&&(e=2),f(t)._overflowWeeks&&-1===e&&(e=7),f(t)._overflowWeekday&&-1===e&&(e=8),f(t).overflow=e),t}function le(t,e,s){return null!=t?t:null!=e?e:s}function ue(t){var e,s,n,a,r,o=[];if(!t._d){for(n=function(t){var e=new Date(i.now());return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}(t),t._w&&null==t._a[2]&&null==t._a[1]&&function(t){var e,s,i,n,a,r,o,l;if(null!=(e=t._w).GG||null!=e.W||null!=e.E)a=1,r=4,s=le(e.GG,t._a[0],Nt(Ce(),1,4).year),i=le(e.W,1),((n=le(e.E,1))<1||n>7)&&(l=!0);else{a=t._locale._week.dow,r=t._locale._week.doy;var u=Nt(Ce(),a,r);s=le(e.gg,t._a[0],u.year),i=le(e.w,u.week),null!=e.d?((n=e.d)<0||n>6)&&(l=!0):null!=e.e?(n=e.e+a,(e.e<0||e.e>6)&&(l=!0)):n=a}i<1||i>Ht(s,a,r)?f(t)._overflowWeeks=!0:null!=l?f(t)._overflowWeekday=!0:(o=Rt(s,i,n,a,r),t._a[0]=o.year,t._dayOfYear=o.dayOfYear)}(t),null!=t._dayOfYear&&(r=le(t._a[0],n[0]),(t._dayOfYear>pt(r)||0===t._dayOfYear)&&(f(t)._overflowDayOfYear=!0),s=At(r,0,t._dayOfYear),t._a[1]=s.getUTCMonth(),t._a[2]=s.getUTCDate()),e=0;e<3&&null==t._a[e];++e)t._a[e]=o[e]=n[e];for(;e<7;e++)t._a[e]=o[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[3]&&0===t._a[4]&&0===t._a[5]&&0===t._a[6]&&(t._nextDay=!0,t._a[3]=0),t._d=(t._useUTC?At:Lt).apply(null,o),a=t._useUTC?t._d.getUTCDay():t._d.getDay(),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[3]=24),t._w&&void 0!==t._w.d&&t._w.d!==a&&(f(t).weekdayMismatch=!0)}}var de=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,ce=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,he=/Z|[+-]\d\d(?::?\d\d)?/,fe=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],me=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],_e=/^\/?Date\((\-?\d+)/i;function pe(t){var e,s,i,n,a,r,o=t._i,l=de.exec(o)||ce.exec(o);if(l){for(f(t).iso=!0,e=0,s=fe.length;e<s;e++)if(fe[e][1].exec(l[1])){n=fe[e][0],i=!1!==fe[e][2];break}if(null==n)return void(t._isValid=!1);if(l[3]){for(e=0,s=me.length;e<s;e++)if(me[e][1].exec(l[3])){a=(l[2]||" ")+me[e][0];break}if(null==a)return void(t._isValid=!1)}if(!i&&null!=a)return void(t._isValid=!1);if(l[4]){if(!he.exec(l[4]))return void(t._isValid=!1);r="Z"}t._f=n+(a||"")+(r||""),we(t)}else t._isValid=!1}var ve=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/;function ge(t){var e=parseInt(t,10);return e<=49?2e3+e:e<=999?1900+e:e}var ye={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function be(t){var e,s,i,n,a,r,o,l=ve.exec(t._i.replace(/\([^)]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s\s*/,"").replace(/\s\s*$/,""));if(l){var u=(e=l[4],s=l[3],i=l[2],n=l[5],a=l[6],r=l[7],o=[ge(e),Dt.indexOf(s),parseInt(i,10),parseInt(n,10),parseInt(a,10)],r&&o.push(parseInt(r,10)),o);if(!function(t,e,s){return!t||Wt.indexOf(t)===new Date(e[0],e[1],e[2]).getDay()||(f(s).weekdayMismatch=!0,s._isValid=!1,!1)}(l[1],u,t))return;t._a=u,t._tzm=function(t,e,s){if(t)return ye[t];if(e)return 0;var i=parseInt(s,10),n=i%100;return(i-n)/100*60+n}(l[8],l[9],l[10]),t._d=At.apply(null,t._a),t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),f(t).rfc2822=!0}else t._isValid=!1}function we(t){if(t._f!==i.ISO_8601)if(t._f!==i.RFC_2822){t._a=[],f(t).empty=!0;var e,s,n,a,r,o=""+t._i,l=o.length,u=0;for(n=G(t._f,t._locale).match(I)||[],e=0;e<n.length;e++)a=n[e],(s=(o.match(dt(a,t))||[])[0])&&((r=o.substr(0,o.indexOf(s))).length>0&&f(t).unusedInput.push(r),o=o.slice(o.indexOf(s)+s.length),u+=s.length),F[a]?(s?f(t).empty=!1:f(t).unusedTokens.push(a),_t(a,s,t)):t._strict&&!s&&f(t).unusedTokens.push(a);f(t).charsLeftOver=l-u,o.length>0&&f(t).unusedInput.push(o),t._a[3]<=12&&!0===f(t).bigHour&&t._a[3]>0&&(f(t).bigHour=void 0),f(t).parsedDateParts=t._a.slice(0),f(t).meridiem=t._meridiem,t._a[3]=function(t,e,s){var i;return null==s?e:null!=t.meridiemHour?t.meridiemHour(e,s):null!=t.isPM?((i=t.isPM(s))&&e<12&&(e+=12),i||12!==e||(e=0),e):e}(t._locale,t._a[3],t._meridiem),ue(t),oe(t)}else be(t);else pe(t)}function ke(t){var e=t._i,s=t._f;return t._locale=t._locale||re(t._l),null===e||void 0===s&&""===e?_({nullInput:!0}):("string"==typeof e&&(t._i=e=t._locale.preparse(e)),b(e)?new y(oe(e)):(l(e)?t._d=e:n(s)?function(t){var e,s,i,n,a;if(0===t._f.length)return f(t).invalidFormat=!0,void(t._d=new Date(NaN));for(n=0;n<t._f.length;n++)a=0,e=v({},t),null!=t._useUTC&&(e._useUTC=t._useUTC),e._f=t._f[n],we(e),m(e)&&(a+=f(e).charsLeftOver,a+=10*f(e).unusedTokens.length,f(e).score=a,(null==i||a<i)&&(i=a,s=e));c(t,s||e)}(t):s?we(t):function(t){var e=t._i;r(e)?t._d=new Date(i.now()):l(e)?t._d=new Date(e.valueOf()):"string"==typeof e?function(t){var e=_e.exec(t._i);null===e?(pe(t),!1===t._isValid&&(delete t._isValid,be(t),!1===t._isValid&&(delete t._isValid,i.createFromInputFallback(t)))):t._d=new Date(+e[1])}(t):n(e)?(t._a=u(e.slice(0),(function(t){return parseInt(t,10)})),ue(t)):a(e)?function(t){if(!t._d){var e=E(t._i);t._a=u([e.year,e.month,e.day||e.date,e.hour,e.minute,e.second,e.millisecond],(function(t){return t&&parseInt(t,10)})),ue(t)}}(t):o(e)?t._d=new Date(e):i.createFromInputFallback(t)}(t),m(t)||(t._d=null),t))}function xe(t,e,s,i,r){var o,l={};return!0!==s&&!1!==s||(i=s,s=void 0),(a(t)&&function(t){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(t).length;var e;for(e in t)if(t.hasOwnProperty(e))return!1;return!0}(t)||n(t)&&0===t.length)&&(t=void 0),l._isAMomentObject=!0,l._useUTC=l._isUTC=r,l._l=s,l._i=t,l._f=e,l._strict=i,(o=new y(oe(ke(l))))._nextDay&&(o.add(1,"d"),o._nextDay=void 0),o}function Ce(t,e,s,i){return xe(t,e,s,i,!1)}i.createFromInputFallback=S("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",(function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))})),i.ISO_8601=function(){},i.RFC_2822=function(){};var Se=S("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",(function(){var t=Ce.apply(null,arguments);return this.isValid()&&t.isValid()?t<this?this:t:_()})),De=S("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",(function(){var t=Ce.apply(null,arguments);return this.isValid()&&t.isValid()?t>this?this:t:_()}));function Me(t,e){var s,i;if(1===e.length&&n(e[0])&&(e=e[0]),!e.length)return Ce();for(s=e[0],i=1;i<e.length;++i)e[i].isValid()&&!e[i][t](s)||(s=e[i]);return s}var Oe=["year","quarter","month","week","day","hour","minute","second","millisecond"];function Ye(t){var e=E(t),s=e.year||0,i=e.quarter||0,n=e.month||0,a=e.week||e.isoWeek||0,r=e.day||0,o=e.hour||0,l=e.minute||0,u=e.second||0,d=e.millisecond||0;this._isValid=function(t){for(var e in t)if(-1===gt.call(Oe,e)||null!=t[e]&&isNaN(t[e]))return!1;for(var s=!1,i=0;i<Oe.length;++i)if(t[Oe[i]]){if(s)return!1;parseFloat(t[Oe[i]])!==k(t[Oe[i]])&&(s=!0)}return!0}(e),this._milliseconds=+d+1e3*u+6e4*l+1e3*o*60*60,this._days=+r+7*a,this._months=+n+3*i+12*s,this._data={},this._locale=re(),this._bubble()}function Te(t){return t instanceof Ye}function Pe(t){return t<0?-1*Math.round(-1*t):Math.round(t)}function je(t,e){V(t,0,0,(function(){var t=this.utcOffset(),s="+";return t<0&&(t=-t,s="-"),s+H(~~(t/60),2)+e+H(~~t%60,2)}))}je("Z",":"),je("ZZ",""),ut("Z",rt),ut("ZZ",rt),ft(["Z","ZZ"],(function(t,e,s){s._useUTC=!0,s._tzm=Ae(rt,t)}));var Le=/([\+\-]|\d\d)/gi;function Ae(t,e){var s=(e||"").match(t);if(null===s)return null;var i=((s[s.length-1]||[])+"").match(Le)||["-",0,0],n=60*i[1]+k(i[2]);return 0===n?0:"+"===i[0]?n:-n}function Ee(t,e){var s,n;return e._isUTC?(s=e.clone(),n=(b(t)||l(t)?t.valueOf():Ce(t).valueOf())-s.valueOf(),s._d.setTime(s._d.valueOf()+n),i.updateOffset(s,!1),s):Ce(t).local()}function Re(t){return 15*-Math.round(t._d.getTimezoneOffset()/15)}function Ne(){return!!this.isValid()&&this._isUTC&&0===this._offset}i.updateOffset=function(){};var He=/^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Ie=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function Ue(t,e){var s,i,n,a,r,l,u=t,c=null;return Te(t)?u={ms:t._milliseconds,d:t._days,M:t._months}:o(t)?(u={},e?u[e]=t:u.milliseconds=t):(c=He.exec(t))?(s="-"===c[1]?-1:1,u={y:0,d:k(c[2])*s,h:k(c[3])*s,m:k(c[4])*s,s:k(c[5])*s,ms:k(Pe(1e3*c[6]))*s}):(c=Ie.exec(t))?(s="-"===c[1]?-1:1,u={y:We(c[2],s),M:We(c[3],s),w:We(c[4],s),d:We(c[5],s),h:We(c[6],s),m:We(c[7],s),s:We(c[8],s)}):null==u?u={}:"object"==typeof u&&("from"in u||"to"in u)&&(a=Ce(u.from),r=Ce(u.to),n=a.isValid()&&r.isValid()?(r=Ee(r,a),a.isBefore(r)?l=Fe(a,r):((l=Fe(r,a)).milliseconds=-l.milliseconds,l.months=-l.months),l):{milliseconds:0,months:0},(u={}).ms=n.milliseconds,u.M=n.months),i=new Ye(u),Te(t)&&d(t,"_locale")&&(i._locale=t._locale),i}function We(t,e){var s=t&&parseFloat(t.replace(",","."));return(isNaN(s)?0:s)*e}function Fe(t,e){var s={};return s.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(s.months,"M").isAfter(e)&&--s.months,s.milliseconds=+e-+t.clone().add(s.months,"M"),s}function Ve(t,e){return function(s,i){var n;return null===i||isNaN(+i)||(O(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),n=s,s=i,i=n),$e(this,Ue(s="string"==typeof s?+s:s,i),t),this}}function $e(t,e,s,n){var a=e._milliseconds,r=Pe(e._days),o=Pe(e._months);t.isValid()&&(n=null==n||n,o&&Ot(t,wt(t,"Month")+o*s),r&&kt(t,"Date",wt(t,"Date")+r*s),a&&t._d.setTime(t._d.valueOf()+a*s),n&&i.updateOffset(t,r||o))}Ue.fn=Ye.prototype,Ue.invalid=function(){return Ue(NaN)};var Ge=Ve(1,"add"),ze=Ve(-1,"subtract");function qe(t,e){var s=12*(e.year()-t.year())+(e.month()-t.month()),i=t.clone().add(s,"months");return-(s+(e-i<0?(e-i)/(i-t.clone().add(s-1,"months")):(e-i)/(t.clone().add(s+1,"months")-i)))||0}function Ze(t){var e;return void 0===t?this._locale._abbr:(null!=(e=re(t))&&(this._locale=e),this)}i.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",i.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Be=S("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",(function(t){return void 0===t?this.localeData():this.locale(t)}));function Qe(){return this._locale}function Je(t,e){return(t%e+e)%e}function Xe(t,e,s){return t<100&&t>=0?new Date(t+400,e,s)-126227808e5:new Date(t,e,s).valueOf()}function Ke(t,e,s){return t<100&&t>=0?Date.UTC(t+400,e,s)-126227808e5:Date.UTC(t,e,s)}function ts(t,e){V(0,[t,t.length],0,e)}function es(t,e,s,i,n){var a;return null==t?Nt(this,i,n).year:(e>(a=Ht(t,i,n))&&(e=a),ss.call(this,t,e,s,i,n))}function ss(t,e,s,i,n){var a=Rt(t,e,s,i,n),r=At(a.year,0,a.dayOfYear);return this.year(r.getUTCFullYear()),this.month(r.getUTCMonth()),this.date(r.getUTCDate()),this}V(0,["gg",2],0,(function(){return this.weekYear()%100})),V(0,["GG",2],0,(function(){return this.isoWeekYear()%100})),ts("gggg","weekYear"),ts("ggggg","weekYear"),ts("GGGG","isoWeekYear"),ts("GGGGG","isoWeekYear"),L("weekYear","gg"),L("isoWeekYear","GG"),N("weekYear",1),N("isoWeekYear",1),ut("G",nt),ut("g",nt),ut("GG",J,q),ut("gg",J,q),ut("GGGG",et,B),ut("gggg",et,B),ut("GGGGG",st,Q),ut("ggggg",st,Q),mt(["gggg","ggggg","GGGG","GGGGG"],(function(t,e,s,i){e[i.substr(0,2)]=k(t)})),mt(["gg","GG"],(function(t,e,s,n){e[n]=i.parseTwoDigitYear(t)})),V("Q",0,"Qo","quarter"),L("quarter","Q"),N("quarter",7),ut("Q",z),ft("Q",(function(t,e){e[1]=3*(k(t)-1)})),V("D",["DD",2],"Do","date"),L("date","D"),N("date",9),ut("D",J),ut("DD",J,q),ut("Do",(function(t,e){return t?e._dayOfMonthOrdinalParse||e._ordinalParse:e._dayOfMonthOrdinalParseLenient})),ft(["D","DD"],2),ft("Do",(function(t,e){e[2]=k(t.match(J)[0])}));var is=bt("Date",!0);V("DDD",["DDDD",3],"DDDo","dayOfYear"),L("dayOfYear","DDD"),N("dayOfYear",4),ut("DDD",tt),ut("DDDD",Z),ft(["DDD","DDDD"],(function(t,e,s){s._dayOfYear=k(t)})),V("m",["mm",2],0,"minute"),L("minute","m"),N("minute",14),ut("m",J),ut("mm",J,q),ft(["m","mm"],4);var ns=bt("Minutes",!1);V("s",["ss",2],0,"second"),L("second","s"),N("second",15),ut("s",J),ut("ss",J,q),ft(["s","ss"],5);var as,rs=bt("Seconds",!1);for(V("S",0,0,(function(){return~~(this.millisecond()/100)})),V(0,["SS",2],0,(function(){return~~(this.millisecond()/10)})),V(0,["SSS",3],0,"millisecond"),V(0,["SSSS",4],0,(function(){return 10*this.millisecond()})),V(0,["SSSSS",5],0,(function(){return 100*this.millisecond()})),V(0,["SSSSSS",6],0,(function(){return 1e3*this.millisecond()})),V(0,["SSSSSSS",7],0,(function(){return 1e4*this.millisecond()})),V(0,["SSSSSSSS",8],0,(function(){return 1e5*this.millisecond()})),V(0,["SSSSSSSSS",9],0,(function(){return 1e6*this.millisecond()})),L("millisecond","ms"),N("millisecond",16),ut("S",tt,z),ut("SS",tt,q),ut("SSS",tt,Z),as="SSSS";as.length<=9;as+="S")ut(as,it);function os(t,e){e[6]=k(1e3*("0."+t))}for(as="S";as.length<=9;as+="S")ft(as,os);var ls=bt("Milliseconds",!1);V("z",0,0,"zoneAbbr"),V("zz",0,0,"zoneName");var us=y.prototype;function ds(t){return t}us.add=Ge,us.calendar=function(t,e){var s=t||Ce(),n=Ee(s,this).startOf("day"),a=i.calendarFormat(this,n)||"sameElse",r=e&&(Y(e[a])?e[a].call(this,s):e[a]);return this.format(r||this.localeData().calendar(a,this,Ce(s)))},us.clone=function(){return new y(this)},us.diff=function(t,e,s){var i,n,a;if(!this.isValid())return NaN;if(!(i=Ee(t,this)).isValid())return NaN;switch(n=6e4*(i.utcOffset()-this.utcOffset()),e=A(e)){case"year":a=qe(this,i)/12;break;case"month":a=qe(this,i);break;case"quarter":a=qe(this,i)/3;break;case"second":a=(this-i)/1e3;break;case"minute":a=(this-i)/6e4;break;case"hour":a=(this-i)/36e5;break;case"day":a=(this-i-n)/864e5;break;case"week":a=(this-i-n)/6048e5;break;default:a=this-i}return s?a:w(a)},us.endOf=function(t){var e;if(void 0===(t=A(t))||"millisecond"===t||!this.isValid())return this;var s=this._isUTC?Ke:Xe;switch(t){case"year":e=s(this.year()+1,0,1)-1;break;case"quarter":e=s(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":e=s(this.year(),this.month()+1,1)-1;break;case"week":e=s(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":e=s(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":e=s(this.year(),this.month(),this.date()+1)-1;break;case"hour":e=this._d.valueOf(),e+=36e5-Je(e+(this._isUTC?0:6e4*this.utcOffset()),36e5)-1;break;case"minute":e=this._d.valueOf(),e+=6e4-Je(e,6e4)-1;break;case"second":e=this._d.valueOf(),e+=1e3-Je(e,1e3)-1}return this._d.setTime(e),i.updateOffset(this,!0),this},us.format=function(t){t||(t=this.isUtc()?i.defaultFormatUtc:i.defaultFormat);var e=$(this,t);return this.localeData().postformat(e)},us.from=function(t,e){return this.isValid()&&(b(t)&&t.isValid()||Ce(t).isValid())?Ue({to:this,from:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()},us.fromNow=function(t){return this.from(Ce(),t)},us.to=function(t,e){return this.isValid()&&(b(t)&&t.isValid()||Ce(t).isValid())?Ue({from:this,to:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()},us.toNow=function(t){return this.to(Ce(),t)},us.get=function(t){return Y(this[t=A(t)])?this[t]():this},us.invalidAt=function(){return f(this).overflow},us.isAfter=function(t,e){var s=b(t)?t:Ce(t);return!(!this.isValid()||!s.isValid())&&("millisecond"===(e=A(e)||"millisecond")?this.valueOf()>s.valueOf():s.valueOf()<this.clone().startOf(e).valueOf())},us.isBefore=function(t,e){var s=b(t)?t:Ce(t);return!(!this.isValid()||!s.isValid())&&("millisecond"===(e=A(e)||"millisecond")?this.valueOf()<s.valueOf():this.clone().endOf(e).valueOf()<s.valueOf())},us.isBetween=function(t,e,s,i){var n=b(t)?t:Ce(t),a=b(e)?e:Ce(e);return!!(this.isValid()&&n.isValid()&&a.isValid())&&("("===(i=i||"()")[0]?this.isAfter(n,s):!this.isBefore(n,s))&&(")"===i[1]?this.isBefore(a,s):!this.isAfter(a,s))},us.isSame=function(t,e){var s,i=b(t)?t:Ce(t);return!(!this.isValid()||!i.isValid())&&("millisecond"===(e=A(e)||"millisecond")?this.valueOf()===i.valueOf():(s=i.valueOf(),this.clone().startOf(e).valueOf()<=s&&s<=this.clone().endOf(e).valueOf()))},us.isSameOrAfter=function(t,e){return this.isSame(t,e)||this.isAfter(t,e)},us.isSameOrBefore=function(t,e){return this.isSame(t,e)||this.isBefore(t,e)},us.isValid=function(){return m(this)},us.lang=Be,us.locale=Ze,us.localeData=Qe,us.max=De,us.min=Se,us.parsingFlags=function(){return c({},f(this))},us.set=function(t,e){if("object"==typeof t)for(var s=function(t){var e=[];for(var s in t)e.push({unit:s,priority:R[s]});return e.sort((function(t,e){return t.priority-e.priority})),e}(t=E(t)),i=0;i<s.length;i++)this[s[i].unit](t[s[i].unit]);else if(Y(this[t=A(t)]))return this[t](e);return this},us.startOf=function(t){var e;if(void 0===(t=A(t))||"millisecond"===t||!this.isValid())return this;var s=this._isUTC?Ke:Xe;switch(t){case"year":e=s(this.year(),0,1);break;case"quarter":e=s(this.year(),this.month()-this.month()%3,1);break;case"month":e=s(this.year(),this.month(),1);break;case"week":e=s(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":e=s(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":e=s(this.year(),this.month(),this.date());break;case"hour":e=this._d.valueOf(),e-=Je(e+(this._isUTC?0:6e4*this.utcOffset()),36e5);break;case"minute":e=this._d.valueOf(),e-=Je(e,6e4);break;case"second":e=this._d.valueOf(),e-=Je(e,1e3)}return this._d.setTime(e),i.updateOffset(this,!0),this},us.subtract=ze,us.toArray=function(){var t=this;return[t.year(),t.month(),t.date(),t.hour(),t.minute(),t.second(),t.millisecond()]},us.toObject=function(){var t=this;return{years:t.year(),months:t.month(),date:t.date(),hours:t.hours(),minutes:t.minutes(),seconds:t.seconds(),milliseconds:t.milliseconds()}},us.toDate=function(){return new Date(this.valueOf())},us.toISOString=function(t){if(!this.isValid())return null;var e=!0!==t,s=e?this.clone().utc():this;return s.year()<0||s.year()>9999?$(s,e?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):Y(Date.prototype.toISOString)?e?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",$(s,"Z")):$(s,e?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},us.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var t="moment",e="";this.isLocal()||(t=0===this.utcOffset()?"moment.utc":"moment.parseZone",e="Z");var s="["+t+'("]',i=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",n=e+'[")]';return this.format(s+i+"-MM-DD[T]HH:mm:ss.SSS"+n)},us.toJSON=function(){return this.isValid()?this.toISOString():null},us.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},us.unix=function(){return Math.floor(this.valueOf()/1e3)},us.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},us.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},us.year=yt,us.isLeapYear=function(){return vt(this.year())},us.weekYear=function(t){return es.call(this,t,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},us.isoWeekYear=function(t){return es.call(this,t,this.isoWeek(),this.isoWeekday(),1,4)},us.quarter=us.quarters=function(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)},us.month=Yt,us.daysInMonth=function(){return xt(this.year(),this.month())},us.week=us.weeks=function(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")},us.isoWeek=us.isoWeeks=function(t){var e=Nt(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")},us.weeksInYear=function(){var t=this.localeData()._week;return Ht(this.year(),t.dow,t.doy)},us.isoWeeksInYear=function(){return Ht(this.year(),1,4)},us.date=is,us.day=us.days=function(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=function(t,e){return"string"!=typeof t?t:isNaN(t)?"number"==typeof(t=e.weekdaysParse(t))?t:null:parseInt(t,10)}(t,this.localeData()),this.add(t-e,"d")):e},us.weekday=function(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")},us.isoWeekday=function(t){if(!this.isValid())return null!=t?this:NaN;if(null!=t){var e=function(t,e){return"string"==typeof t?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}(t,this.localeData());return this.day(this.day()%7?e:e-7)}return this.day()||7},us.dayOfYear=function(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")},us.hour=us.hours=Xt,us.minute=us.minutes=ns,us.second=us.seconds=rs,us.millisecond=us.milliseconds=ls,us.utcOffset=function(t,e,s){var n,a=this._offset||0;if(!this.isValid())return null!=t?this:NaN;if(null!=t){if("string"==typeof t){if(null===(t=Ae(rt,t)))return this}else Math.abs(t)<16&&!s&&(t*=60);return!this._isUTC&&e&&(n=Re(this)),this._offset=t,this._isUTC=!0,null!=n&&this.add(n,"m"),a!==t&&(!e||this._changeInProgress?$e(this,Ue(t-a,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,i.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?a:Re(this)},us.utc=function(t){return this.utcOffset(0,t)},us.local=function(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(Re(this),"m")),this},us.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var t=Ae(at,this._i);null!=t?this.utcOffset(t):this.utcOffset(0,!0)}return this},us.hasAlignedHourOffset=function(t){return!!this.isValid()&&(t=t?Ce(t).utcOffset():0,(this.utcOffset()-t)%60==0)},us.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},us.isLocal=function(){return!!this.isValid()&&!this._isUTC},us.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},us.isUtc=Ne,us.isUTC=Ne,us.zoneAbbr=function(){return this._isUTC?"UTC":""},us.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},us.dates=S("dates accessor is deprecated. Use date instead.",is),us.months=S("months accessor is deprecated. Use month instead",Yt),us.years=S("years accessor is deprecated. Use year instead",yt),us.zone=S("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",(function(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()})),us.isDSTShifted=S("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",(function(){if(!r(this._isDSTShifted))return this._isDSTShifted;var t={};if(v(t,this),(t=ke(t))._a){var e=t._isUTC?h(t._a):Ce(t._a);this._isDSTShifted=this.isValid()&&x(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}));var cs=P.prototype;function hs(t,e,s,i){var n=re(),a=h().set(i,e);return n[s](a,t)}function fs(t,e,s){if(o(t)&&(e=t,t=void 0),t=t||"",null!=e)return hs(t,e,s,"month");var i,n=[];for(i=0;i<12;i++)n[i]=hs(t,i,s,"month");return n}function ms(t,e,s,i){"boolean"==typeof t?(o(e)&&(s=e,e=void 0),e=e||""):(s=e=t,t=!1,o(e)&&(s=e,e=void 0),e=e||"");var n,a=re(),r=t?a._week.dow:0;if(null!=s)return hs(e,(s+r)%7,i,"day");var l=[];for(n=0;n<7;n++)l[n]=hs(e,(n+r)%7,i,"day");return l}cs.calendar=function(t,e,s){var i=this._calendar[t]||this._calendar.sameElse;return Y(i)?i.call(e,s):i},cs.longDateFormat=function(t){var e=this._longDateFormat[t],s=this._longDateFormat[t.toUpperCase()];return e||!s?e:(this._longDateFormat[t]=s.replace(/MMMM|MM|DD|dddd/g,(function(t){return t.slice(1)})),this._longDateFormat[t])},cs.invalidDate=function(){return this._invalidDate},cs.ordinal=function(t){return this._ordinal.replace("%d",t)},cs.preparse=ds,cs.postformat=ds,cs.relativeTime=function(t,e,s,i){var n=this._relativeTime[s];return Y(n)?n(t,e,s,i):n.replace(/%d/i,t)},cs.pastFuture=function(t,e){var s=this._relativeTime[t>0?"future":"past"];return Y(s)?s(e):s.replace(/%s/i,e)},cs.set=function(t){var e,s;for(s in t)Y(e=t[s])?this[s]=e:this["_"+s]=e;this._config=t,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},cs.months=function(t,e){return t?n(this._months)?this._months[t.month()]:this._months[(this._months.isFormat||Ct).test(e)?"format":"standalone"][t.month()]:n(this._months)?this._months:this._months.standalone},cs.monthsShort=function(t,e){return t?n(this._monthsShort)?this._monthsShort[t.month()]:this._monthsShort[Ct.test(e)?"format":"standalone"][t.month()]:n(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},cs.monthsParse=function(t,e,s){var i,n,a;if(this._monthsParseExact)return Mt.call(this,t,e,s);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),i=0;i<12;i++){if(n=h([2e3,i]),s&&!this._longMonthsParse[i]&&(this._longMonthsParse[i]=new RegExp("^"+this.months(n,"").replace(".","")+"$","i"),this._shortMonthsParse[i]=new RegExp("^"+this.monthsShort(n,"").replace(".","")+"$","i")),s||this._monthsParse[i]||(a="^"+this.months(n,"")+"|^"+this.monthsShort(n,""),this._monthsParse[i]=new RegExp(a.replace(".",""),"i")),s&&"MMMM"===e&&this._longMonthsParse[i].test(t))return i;if(s&&"MMM"===e&&this._shortMonthsParse[i].test(t))return i;if(!s&&this._monthsParse[i].test(t))return i}},cs.monthsRegex=function(t){return this._monthsParseExact?(d(this,"_monthsRegex")||jt.call(this),t?this._monthsStrictRegex:this._monthsRegex):(d(this,"_monthsRegex")||(this._monthsRegex=Pt),this._monthsStrictRegex&&t?this._monthsStrictRegex:this._monthsRegex)},cs.monthsShortRegex=function(t){return this._monthsParseExact?(d(this,"_monthsRegex")||jt.call(this),t?this._monthsShortStrictRegex:this._monthsShortRegex):(d(this,"_monthsShortRegex")||(this._monthsShortRegex=Tt),this._monthsShortStrictRegex&&t?this._monthsShortStrictRegex:this._monthsShortRegex)},cs.week=function(t){return Nt(t,this._week.dow,this._week.doy).week},cs.firstDayOfYear=function(){return this._week.doy},cs.firstDayOfWeek=function(){return this._week.dow},cs.weekdays=function(t,e){var s=n(this._weekdays)?this._weekdays:this._weekdays[t&&!0!==t&&this._weekdays.isFormat.test(e)?"format":"standalone"];return!0===t?It(s,this._week.dow):t?s[t.day()]:s},cs.weekdaysMin=function(t){return!0===t?It(this._weekdaysMin,this._week.dow):t?this._weekdaysMin[t.day()]:this._weekdaysMin},cs.weekdaysShort=function(t){return!0===t?It(this._weekdaysShort,this._week.dow):t?this._weekdaysShort[t.day()]:this._weekdaysShort},cs.weekdaysParse=function(t,e,s){var i,n,a;if(this._weekdaysParseExact)return Vt.call(this,t,e,s);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),i=0;i<7;i++){if(n=h([2e3,1]).day(i),s&&!this._fullWeekdaysParse[i]&&(this._fullWeekdaysParse[i]=new RegExp("^"+this.weekdays(n,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[i]=new RegExp("^"+this.weekdaysShort(n,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[i]=new RegExp("^"+this.weekdaysMin(n,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[i]||(a="^"+this.weekdays(n,"")+"|^"+this.weekdaysShort(n,"")+"|^"+this.weekdaysMin(n,""),this._weekdaysParse[i]=new RegExp(a.replace(".",""),"i")),s&&"dddd"===e&&this._fullWeekdaysParse[i].test(t))return i;if(s&&"ddd"===e&&this._shortWeekdaysParse[i].test(t))return i;if(s&&"dd"===e&&this._minWeekdaysParse[i].test(t))return i;if(!s&&this._weekdaysParse[i].test(t))return i}},cs.weekdaysRegex=function(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||qt.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(d(this,"_weekdaysRegex")||(this._weekdaysRegex=$t),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)},cs.weekdaysShortRegex=function(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||qt.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(d(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Gt),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},cs.weekdaysMinRegex=function(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||qt.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(d(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=zt),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},cs.isPM=function(t){return"p"===(t+"").toLowerCase().charAt(0)},cs.meridiem=function(t,e,s){return t>11?s?"pm":"PM":s?"am":"AM"},ne("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10;return t+(1===k(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")}}),i.lang=S("moment.lang is deprecated. Use moment.locale instead.",ne),i.langData=S("moment.langData is deprecated. Use moment.localeData instead.",re);var _s=Math.abs;function ps(t,e,s,i){var n=Ue(e,s);return t._milliseconds+=i*n._milliseconds,t._days+=i*n._days,t._months+=i*n._months,t._bubble()}function vs(t){return t<0?Math.floor(t):Math.ceil(t)}function gs(t){return 4800*t/146097}function ys(t){return 146097*t/4800}function bs(t){return function(){return this.as(t)}}var ws=bs("ms"),ks=bs("s"),xs=bs("m"),Cs=bs("h"),Ss=bs("d"),Ds=bs("w"),Ms=bs("M"),Os=bs("Q"),Ys=bs("y");function Ts(t){return function(){return this.isValid()?this._data[t]:NaN}}var Ps=Ts("milliseconds"),js=Ts("seconds"),Ls=Ts("minutes"),As=Ts("hours"),Es=Ts("days"),Rs=Ts("months"),Ns=Ts("years"),Hs=Math.round,Is={ss:44,s:45,m:45,h:22,d:26,M:11};function Us(t,e,s,i,n){return n.relativeTime(e||1,!!s,t,i)}var Ws=Math.abs;function Fs(t){return(t>0)-(t<0)||+t}function Vs(){if(!this.isValid())return this.localeData().invalidDate();var t,e,s=Ws(this._milliseconds)/1e3,i=Ws(this._days),n=Ws(this._months);t=w(s/60),e=w(t/60),s%=60,t%=60;var a=w(n/12),r=n%=12,o=i,l=e,u=t,d=s?s.toFixed(3).replace(/\.?0+$/,""):"",c=this.asSeconds();if(!c)return"P0D";var h=c<0?"-":"",f=Fs(this._months)!==Fs(c)?"-":"",m=Fs(this._days)!==Fs(c)?"-":"",_=Fs(this._milliseconds)!==Fs(c)?"-":"";return h+"P"+(a?f+a+"Y":"")+(r?f+r+"M":"")+(o?m+o+"D":"")+(l||u||d?"T":"")+(l?_+l+"H":"")+(u?_+u+"M":"")+(d?_+d+"S":"")}var $s=Ye.prototype;return $s.isValid=function(){return this._isValid},$s.abs=function(){var t=this._data;return this._milliseconds=_s(this._milliseconds),this._days=_s(this._days),this._months=_s(this._months),t.milliseconds=_s(t.milliseconds),t.seconds=_s(t.seconds),t.minutes=_s(t.minutes),t.hours=_s(t.hours),t.months=_s(t.months),t.years=_s(t.years),this},$s.add=function(t,e){return ps(this,t,e,1)},$s.subtract=function(t,e){return ps(this,t,e,-1)},$s.as=function(t){if(!this.isValid())return NaN;var e,s,i=this._milliseconds;if("month"===(t=A(t))||"quarter"===t||"year"===t)switch(e=this._days+i/864e5,s=this._months+gs(e),t){case"month":return s;case"quarter":return s/3;case"year":return s/12}else switch(e=this._days+Math.round(ys(this._months)),t){case"week":return e/7+i/6048e5;case"day":return e+i/864e5;case"hour":return 24*e+i/36e5;case"minute":return 1440*e+i/6e4;case"second":return 86400*e+i/1e3;case"millisecond":return Math.floor(864e5*e)+i;default:throw new Error("Unknown unit "+t)}},$s.asMilliseconds=ws,$s.asSeconds=ks,$s.asMinutes=xs,$s.asHours=Cs,$s.asDays=Ss,$s.asWeeks=Ds,$s.asMonths=Ms,$s.asQuarters=Os,$s.asYears=Ys,$s.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*k(this._months/12):NaN},$s._bubble=function(){var t,e,s,i,n,a=this._milliseconds,r=this._days,o=this._months,l=this._data;return a>=0&&r>=0&&o>=0||a<=0&&r<=0&&o<=0||(a+=864e5*vs(ys(o)+r),r=0,o=0),l.milliseconds=a%1e3,t=w(a/1e3),l.seconds=t%60,e=w(t/60),l.minutes=e%60,s=w(e/60),l.hours=s%24,r+=w(s/24),n=w(gs(r)),o+=n,r-=vs(ys(n)),i=w(o/12),o%=12,l.days=r,l.months=o,l.years=i,this},$s.clone=function(){return Ue(this)},$s.get=function(t){return t=A(t),this.isValid()?this[t+"s"]():NaN},$s.milliseconds=Ps,$s.seconds=js,$s.minutes=Ls,$s.hours=As,$s.days=Es,$s.weeks=function(){return w(this.days()/7)},$s.months=Rs,$s.years=Ns,$s.humanize=function(t){if(!this.isValid())return this.localeData().invalidDate();var e=this.localeData(),s=function(t,e,s){var i=Ue(t).abs(),n=Hs(i.as("s")),a=Hs(i.as("m")),r=Hs(i.as("h")),o=Hs(i.as("d")),l=Hs(i.as("M")),u=Hs(i.as("y")),d=n<=Is.ss&&["s",n]||n<Is.s&&["ss",n]||a<=1&&["m"]||a<Is.m&&["mm",a]||r<=1&&["h"]||r<Is.h&&["hh",r]||o<=1&&["d"]||o<Is.d&&["dd",o]||l<=1&&["M"]||l<Is.M&&["MM",l]||u<=1&&["y"]||["yy",u];return d[2]=e,d[3]=+t>0,d[4]=s,Us.apply(null,d)}(this,!t,e);return t&&(s=e.pastFuture(+this,s)),e.postformat(s)},$s.toISOString=Vs,$s.toString=Vs,$s.toJSON=Vs,$s.locale=Ze,$s.localeData=Qe,$s.toIsoString=S("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Vs),$s.lang=Be,V("X",0,0,"unix"),V("x",0,0,"valueOf"),ut("x",nt),ut("X",/[+-]?\d+(\.\d{1,3})?/),ft("X",(function(t,e,s){s._d=new Date(1e3*parseFloat(t,10))})),ft("x",(function(t,e,s){s._d=new Date(k(t))})),i.version="2.24.0",e=Ce,i.fn=us,i.min=function(){var t=[].slice.call(arguments,0);return Me("isBefore",t)},i.max=function(){var t=[].slice.call(arguments,0);return Me("isAfter",t)},i.now=function(){return Date.now?Date.now():+new Date},i.utc=h,i.unix=function(t){return Ce(1e3*t)},i.months=function(t,e){return fs(t,e,"months")},i.isDate=l,i.locale=ne,i.invalid=_,i.duration=Ue,i.isMoment=b,i.weekdays=function(t,e,s){return ms(t,e,s,"weekdays")},i.parseZone=function(){return Ce.apply(null,arguments).parseZone()},i.localeData=re,i.isDuration=Te,i.monthsShort=function(t,e){return fs(t,e,"monthsShort")},i.weekdaysMin=function(t,e,s){return ms(t,e,s,"weekdaysMin")},i.defineLocale=ae,i.updateLocale=function(t,e){if(null!=e){var s,i,n=Kt;null!=(i=ie(t))&&(n=i._config),e=T(n,e),(s=new P(e)).parentLocale=te[t],te[t]=s,ne(t)}else null!=te[t]&&(null!=te[t].parentLocale?te[t]=te[t].parentLocale:null!=te[t]&&delete te[t]);return te[t]},i.locales=function(){return D(te)},i.weekdaysShort=function(t,e,s){return ms(t,e,s,"weekdaysShort")},i.normalizeUnits=A,i.relativeTimeRounding=function(t){return void 0===t?Hs:"function"==typeof t&&(Hs=t,!0)},i.relativeTimeThreshold=function(t,e){return void 0!==Is[t]&&(void 0===e?Is[t]:(Is[t]=e,"s"===t&&(Is.ss=e-1),!0))},i.calendarFormat=function(t,e){var s=t.diff(e,"days",!0);return s<-6?"sameElse":s<-1?"lastWeek":s<0?"lastDay":s<1?"sameDay":s<2?"nextDay":s<7?"nextWeek":"sameElse"},i.prototype=us,i.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},i}()}).call(this,s("./node_modules/webpack/buildin/module.js")(t))},"./node_modules/vue-loader/lib/runtime/componentNormalizer.js":function(t,e,s){"use strict";function i(t,e,s,i,n,a,r,o){var l,u="function"==typeof t?t.options:t;if(e&&(u.render=e,u.staticRenderFns=s,u._compiled=!0),i&&(u.functional=!0),a&&(u._scopeId="data-v-"+a),r?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),n&&n.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(r)},u._ssrRegister=l):n&&(l=o?function(){n.call(this,this.$root.$options.shadowRoot)}:n),l)if(u.functional){u._injectStyles=l;var d=u.render;u.render=function(t,e){return l.call(e),d(t,e)}}else{var c=u.beforeCreate;u.beforeCreate=c?[].concat(c,l):[l]}return{exports:t,options:u}}s.d(e,"a",(function(){return i}))},"./node_modules/webpack/buildin/global.js":function(t,e){var s;s=function(){return this}();try{s=s||new Function("return this")()}catch(t){"object"==typeof window&&(s=window)}t.exports=s},"./node_modules/webpack/buildin/module.js":function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},"./node_modules/xss/lib/default.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/index.js").FilterCSS,n=s("./node_modules/cssfilter/lib/index.js").getDefaultWhiteList,a=s("./node_modules/xss/lib/util.js");function r(){return{a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","loop","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height"],ins:["datetime"],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],sup:[],strong:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","loop","preload","src","height","width"]}}var o=new i;function l(t){return t.replace(u,"&lt;").replace(d,"&gt;")}var u=/</g,d=/>/g,c=/"/g,h=/&quot;/g,f=/&#([a-zA-Z0-9]*);?/gim,m=/&colon;?/gim,_=/&newline;?/gim,p=/((j\s*a\s*v\s*a|v\s*b|l\s*i\s*v\s*e)\s*s\s*c\s*r\s*i\s*p\s*t\s*|m\s*o\s*c\s*h\s*a)\:/gi,v=/e\s*x\s*p\s*r\s*e\s*s\s*s\s*i\s*o\s*n\s*\(.*/gi,g=/u\s*r\s*l\s*\(.*/gi;function y(t){return t.replace(c,"&quot;")}function b(t){return t.replace(h,'"')}function w(t){return t.replace(f,(function(t,e){return"x"===e[0]||"X"===e[0]?String.fromCharCode(parseInt(e.substr(1),16)):String.fromCharCode(parseInt(e,10))}))}function k(t){return t.replace(m,":").replace(_," ")}function x(t){for(var e="",s=0,i=t.length;s<i;s++)e+=t.charCodeAt(s)<32?" ":t.charAt(s);return a.trim(e)}function C(t){return t=x(t=k(t=w(t=b(t))))}function S(t){return t=l(t=y(t))}var D=/<!--[\s\S]*?-->/g;e.whiteList={a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","loop","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height"],ins:["datetime"],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],sup:[],strong:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","loop","preload","src","height","width"]},e.getDefaultWhiteList=r,e.onTag=function(t,e,s){},e.onIgnoreTag=function(t,e,s){},e.onTagAttr=function(t,e,s){},e.onIgnoreTagAttr=function(t,e,s){},e.safeAttrValue=function(t,e,s,i){if(s=C(s),"href"===e||"src"===e){if("#"===(s=a.trim(s)))return"#";if("http://"!==s.substr(0,7)&&"https://"!==s.substr(0,8)&&"mailto:"!==s.substr(0,7)&&"tel:"!==s.substr(0,4)&&"#"!==s[0]&&"/"!==s[0])return""}else if("background"===e){if(p.lastIndex=0,p.test(s))return""}else if("style"===e){if(v.lastIndex=0,v.test(s))return"";if(g.lastIndex=0,g.test(s)&&(p.lastIndex=0,p.test(s)))return"";!1!==i&&(s=(i=i||o).process(s))}return s=S(s)},e.escapeHtml=l,e.escapeQuote=y,e.unescapeQuote=b,e.escapeHtmlEntities=w,e.escapeDangerHtml5Entities=k,e.clearNonPrintableCharacter=x,e.friendlyAttrValue=C,e.escapeAttrValue=S,e.onIgnoreTagStripAll=function(){return""},e.StripTagBody=function(t,e){"function"!=typeof e&&(e=function(){});var s=!Array.isArray(t),i=[],n=!1;return{onIgnoreTag:function(r,o,l){if(function(e){return!!s||-1!==a.indexOf(t,e)}(r)){if(l.isClosing){var u="[/removed]",d=l.position+u.length;return i.push([!1!==n?n:l.position,d]),n=!1,u}return n||(n=l.position),"[removed]"}return e(r,o,l)},remove:function(t){var e="",s=0;return a.forEach(i,(function(i){e+=t.slice(s,i[0]),s=i[1]})),e+=t.slice(s)}}},e.stripCommentTag=function(t){return t.replace(D,"")},e.stripBlankChar=function(t){var e=t.split("");return(e=e.filter((function(t){var e=t.charCodeAt(0);return 127!==e&&(!(e<=31)||(10===e||13===e))}))).join("")},e.cssFilter=o,e.getDefaultCSSWhiteList=n},"./node_modules/xss/lib/index.js":function(t,e,s){var i=s("./node_modules/xss/lib/default.js"),n=s("./node_modules/xss/lib/parser.js"),a=s("./node_modules/xss/lib/xss.js");function r(t,e){return new a(e).process(t)}for(var o in(e=t.exports=r).filterXSS=r,e.FilterXSS=a,i)e[o]=i[o];for(var o in n)e[o]=n[o];"undefined"!=typeof window&&(window.filterXSS=t.exports),"undefined"!=typeof self&&"undefined"!=typeof DedicatedWorkerGlobalScope&&self instanceof DedicatedWorkerGlobalScope&&(self.filterXSS=t.exports)},"./node_modules/xss/lib/parser.js":function(t,e,s){var i=s("./node_modules/xss/lib/util.js");function n(t){var e=i.spaceIndex(t);if(-1===e)var s=t.slice(1,-1);else s=t.slice(1,e+1);return"/"===(s=i.trim(s).toLowerCase()).slice(0,1)&&(s=s.slice(1)),"/"===s.slice(-1)&&(s=s.slice(0,-1)),s}function a(t){return"</"===t.slice(0,2)}var r=/[^a-zA-Z0-9_:\.\-]/gim;function o(t,e){for(;e<t.length;e++){var s=t[e];if(" "!==s)return"="===s?e:-1}}function l(t,e){for(;e>0;e--){var s=t[e];if(" "!==s)return"="===s?e:-1}}function u(t){return function(t){return'"'===t[0]&&'"'===t[t.length-1]||"'"===t[0]&&"'"===t[t.length-1]}(t)?t.substr(1,t.length-2):t}e.parseTag=function(t,e,s){var i="",r=0,o=!1,l=!1,u=0,d=t.length,c="",h="";for(u=0;u<d;u++){var f=t.charAt(u);if(!1===o){if("<"===f){o=u;continue}}else if(!1===l){if("<"===f){i+=s(t.slice(r,u)),o=u,r=u;continue}if(">"===f){i+=s(t.slice(r,o)),c=n(h=t.slice(o,u+1)),i+=e(o,i.length,c,h,a(h)),r=u+1,o=!1;continue}if(('"'===f||"'"===f)&&"="===t.charAt(u-1)){l=f;continue}}else if(f===l){l=!1;continue}}return r<t.length&&(i+=s(t.substr(r))),i},e.parseAttr=function(t,e){var s=0,n=[],a=!1,d=t.length;function c(t,s){if(!((t=(t=i.trim(t)).replace(r,"").toLowerCase()).length<1)){var a=e(t,s||"");a&&n.push(a)}}for(var h=0;h<d;h++){var f,m=t.charAt(h);if(!1!==a||"="!==m)if(!1===a||h!==s||'"'!==m&&"'"!==m||"="!==t.charAt(h-1))if(/\s|\n|\t/.test(m)){if(t=t.replace(/\s|\n|\t/g," "),!1===a){if(-1===(f=o(t,h))){c(i.trim(t.slice(s,h))),a=!1,s=h+1;continue}h=f-1;continue}if(-1===(f=l(t,h-1))){c(a,u(i.trim(t.slice(s,h)))),a=!1,s=h+1;continue}}else;else{if(-1===(f=t.indexOf(m,h+1)))break;c(a,i.trim(t.slice(s+1,f))),a=!1,s=(h=f)+1}else a=t.slice(s,h),s=h+1}return s<t.length&&(!1===a?c(t.slice(s)):c(a,u(i.trim(t.slice(s))))),i.trim(n.join(" "))}},"./node_modules/xss/lib/util.js":function(t,e){t.exports={indexOf:function(t,e){var s,i;if(Array.prototype.indexOf)return t.indexOf(e);for(s=0,i=t.length;s<i;s++)if(t[s]===e)return s;return-1},forEach:function(t,e,s){var i,n;if(Array.prototype.forEach)return t.forEach(e,s);for(i=0,n=t.length;i<n;i++)e.call(s,t[i],i,t)},trim:function(t){return String.prototype.trim?t.trim():t.replace(/(^\s*)|(\s*$)/g,"")},spaceIndex:function(t){var e=/\s|\n|\t/.exec(t);return e?e.index:-1}}},"./node_modules/xss/lib/xss.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/index.js").FilterCSS,n=s("./node_modules/xss/lib/default.js"),a=s("./node_modules/xss/lib/parser.js"),r=a.parseTag,o=a.parseAttr,l=s("./node_modules/xss/lib/util.js");function u(t){return null==t}function d(t){(t=function(t){var e={};for(var s in t)e[s]=t[s];return e}(t||{})).stripIgnoreTag&&(t.onIgnoreTag&&console.error('Notes: cannot use these two options "stripIgnoreTag" and "onIgnoreTag" at the same time'),t.onIgnoreTag=n.onIgnoreTagStripAll),t.whiteList=t.whiteList||n.whiteList,t.onTag=t.onTag||n.onTag,t.onTagAttr=t.onTagAttr||n.onTagAttr,t.onIgnoreTag=t.onIgnoreTag||n.onIgnoreTag,t.onIgnoreTagAttr=t.onIgnoreTagAttr||n.onIgnoreTagAttr,t.safeAttrValue=t.safeAttrValue||n.safeAttrValue,t.escapeHtml=t.escapeHtml||n.escapeHtml,this.options=t,!1===t.css?this.cssFilter=!1:(t.css=t.css||{},this.cssFilter=new i(t.css))}d.prototype.process=function(t){if(!(t=(t=t||"").toString()))return"";var e=this.options,s=e.whiteList,i=e.onTag,a=e.onIgnoreTag,d=e.onTagAttr,c=e.onIgnoreTagAttr,h=e.safeAttrValue,f=e.escapeHtml,m=this.cssFilter;e.stripBlankChar&&(t=n.stripBlankChar(t)),e.allowCommentTag||(t=n.stripCommentTag(t));var _=!1;if(e.stripIgnoreTagBody){_=n.StripTagBody(e.stripIgnoreTagBody,a);a=_.onIgnoreTag}var p=r(t,(function(t,e,n,r,_){var p,v={sourcePosition:t,position:e,isClosing:_,isWhite:s.hasOwnProperty(n)};if(!u(p=i(n,r,v)))return p;if(v.isWhite){if(v.isClosing)return"</"+n+">";var g=function(t){var e=l.spaceIndex(t);if(-1===e)return{html:"",closing:"/"===t[t.length-2]};var s="/"===(t=l.trim(t.slice(e+1,-1)))[t.length-1];return s&&(t=l.trim(t.slice(0,-1))),{html:t,closing:s}}(r),y=s[n],b=o(g.html,(function(t,e){var s,i=-1!==l.indexOf(y,t);return u(s=d(n,t,e,i))?i?(e=h(n,t,e,m))?t+'="'+e+'"':t:u(s=c(n,t,e,i))?void 0:s:s}));r="<"+n;return b&&(r+=" "+b),g.closing&&(r+=" /"),r+=">"}return u(p=a(n,r,v))?f(r):p}),f);return _&&(p=_.remove(p)),p},t.exports=d},"./src/audit.js":function(t,e,s){"use strict";s.r(e);var i=s("vue"),n=s.n(i),a=s("./src/helper/base_hepler.js"),r=s("./src/component/footer.vue"),o=s("./node_modules/lodash/chunk.js"),l=s.n(o),u=s("./src/component/pagination.vue"),d=s("./node_modules/moment/moment.js"),c={mixins:[a.a],name:"logs",data:function(){return{filter:{date_range:null,username:"",ip_address:"",events:[],event_all:!0,is_open:!1,date_from:null,date_to:null},event_types:auditData.filters.types,data:{logs:[],chunks:[],total_items:0,total_pages:0,paged:1},misc:auditData.misc,endpoints:auditData.endpoints,nonces:auditData.nonces,state:{on_saving:!1,is_fetching:!1}}},methods:{date_range:function(){},build_filter_url:function(t){},paging:function(t){this.data.paged=t},do_filter:function(){var t=this,e=this.data.logs.filter((function(e){return(""===t.filter.username||-1!==e.user.indexOf(t.filter.username))&&((null===t.filter.ip_address||-1!==e.ip.indexOf(t.filter.ip_address))&&(!1!==t.filter.event_all||-1!==t.filter.events.indexOf(e.event_type)))}));t.data.chunks=l()(e,40),t.data.total_items=e.length,t.data.total_pages=Math.ceil(t.data.total_items/40),t.data.paged=1},fetch_data:function(t){var e=this;this.state.is_fetching=!0;var s=JSON.parse(JSON.stringify(this.filter));delete s.is_open,delete s.event_all,delete s.date_range,this.httpGetRequest("loadData",s,(function(s){!0===s.success?(e.data.logs=Object.values(s.data.logs),e.data.total_items=s.data.total_items,e.data.total_pages=s.data.total_pages,e.data.chunks=l()(e.data.logs,40),e.data.paged=1,e.state.is_fetching=!1,void 0!==t&&t()):Defender.showNotification("error",s.message)}),!1)},format_time:function(t){return Array.isArray(t)?this.$options.filters.moment(new Date(1e3*t[1]),this.misc.date_format):this.$options.filters.moment(new Date(1e3*t),this.misc.date_format)}},computed:{get_logs:function(){var t=[];return this.data.chunks.length>0&&void 0!==this.data.chunks[this.data.paged-1]&&(t=this.data.chunks[this.data.paged-1]),t},get_count:function(){return this.vsprintf(this.__("%s results"),this.data.total_items)},next_icon:function(){return'<i class="sui-icon-chevron-right" aria-hidden="true"></i>'},prev_icon:function(){return'<i class="sui-icon-chevron-left" aria-hidden="true"></i>'},min_date:function(){return d().format()},max_date:function(){return d().subtract(30,"days").format()},get_export_url:function(){return ajaxurl+"?action="+this.endpoints.exportAsCvs+"&_wpnonce="+this.nonces.exportAsCvs}},watch:{"filter.date_range":function(t,e){null!==t&&null!==e&&t!==e&&this.fetch_data()}},components:{pagination:u.a},created:function(){var t=new URLSearchParams(window.location.search),e=null!==t.get("date_from")?t.get("date_from"):d().subtract(7,"day").format("MM/DD/YYYY"),s=null!==t.get("date_to")?t.get("date_to"):d().format("MM/DD/YYYY");this.filter.date_range=e+" - "+s;var i=this;this.fetch_data((function(){i.$parent.$emit("events_in_7_days",i.data.logs.length)}))},mounted:function(){var t=this;this.$nextTick((function(){jQuery("#date-range-picker").daterangepicker({autoApply:!0,maxDate:d().format("MM/DD/YYYY"),minDate:d().subtract(1,"year").format("MM/DD/YYYY"),locale:{format:"MM/DD/YYYY",separator:"-"},ranges:{Today:[d(),d()],"7 Days":[d().subtract(6,"days"),d()],"30 Days":[d().subtract(29,"days"),d()]},template:'<div class="daterangepicker wd-calendar"><div class="ranges"></div><div class="drp-calendar left"><div class="calendar-table"></div><div class="calendar-time"></div></div><div class="drp-calendar right"><div class="calendar-table"></div><div class="calendar-time"></div></div></div>',showCustomRangeLabel:!1,alwaysShowCalendars:!0}),jQuery("#date-range-picker").on("apply.daterangepicker",(function(e,s){t.filter.date_range=s.startDate.format("MM/DD/YYYY")+"-"+s.endDate.format("MM/DD/YYYY"),t.filter.date_from=s.startDate.format("MM/DD/YYYY"),t.filter.date_to=s.endDate.format("MM/DD/YYYY")}))}))}},h=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),f=Object(h.a)(c,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"sui-box"},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n\t\t\t"+t._s(t.__("Event Logs"))+"\n\t\t")]),t._v(" "),s("div",{staticClass:"sui-actions-right"},[s("a",{staticClass:"sui-button sui-button-ghost",attrs:{href:t.get_export_url}},[s("i",{staticClass:"sui-icon-upload-cloud",attrs:{"aria-hidden":"true"}}),t._v("\n\t\t\t\t"+t._s(t.__("Export CSV"))+"\n\t\t\t")])])]),t._v(" "),s("div",{staticClass:"sui-box-body"},[s("p",[t._v("\n\t\t\t"+t._s(t.__("Here are your latest event logs showing what's been happening behind the scenes."))+"\n\t\t")]),t._v(" "),s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col-md-5"},[s("div",{staticClass:"inline-form"},[s("label",[t._v(t._s(t.__("Date range")))]),t._v(" "),s("div",{staticClass:"sui-date"},[s("i",{staticClass:"sui-icon-calendar",attrs:{"aria-hidden":"true"}}),t._v(" "),s("input",{staticClass:"sui-form-control",attrs:{id:"date-range-picker",name:"date_from",type:"text"},domProps:{value:t.filter.date_range}})])])]),t._v(" "),s("div",{staticClass:"sui-col-md-7"},[s("div",{staticClass:"sui-pagination-wrap"},[s("span",{staticClass:"sui-pagination-results",domProps:{textContent:t._s(t.get_count)}}),t._v(" "),t.data.total_items>0?s("pagination",{attrs:{"page-count":t.data.total_pages,"click-handler":t.paging,"prev-text":t.prev_icon,"next-text":t.next_icon,value:t.data.paged,"container-class":"sui-pagination"}}):t._e(),t._v(" "),s("button",{staticClass:"sui-button-icon sui-button-outlined sui-tooltip",attrs:{"data-tooltip":"Filter"},on:{click:function(e){t.filter.is_open=!t.filter.is_open}}},[s("i",{staticClass:"sui-icon-filter",attrs:{"aria-hidden":"true"}}),t._v(" "),s("span",{staticClass:"sui-screen-reader-text"},[t._v("Open search filter")])])],1)])]),t._v(" "),s("div",{staticClass:"sui-pagination-filter",class:{"sui-open":t.filter.is_open}},[s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col-md-4"},[s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("Username")))]),t._v(" "),s("div",{staticClass:"sui-control-with-icon sui-right-icon"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.filter.username,expression:"filter.username"}],staticClass:"sui-form-control",attrs:{type:"text"},domProps:{value:t.filter.username},on:{input:function(e){e.target.composing||t.$set(t.filter,"username",e.target.value)}}}),t._v(" "),s("i",{staticClass:"sui-icon-magnifying-glass-search",attrs:{"aria-hidden":"true"}})])])]),t._v(" "),s("div",{staticClass:"sui-col-md-3"},[s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("IP Address")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.filter.ip_address,expression:"filter.ip_address"}],staticClass:"sui-form-control",attrs:{type:"text","data-name":"ip",placeholder:"E.g. 192.168.1.1"},domProps:{value:t.filter.ip_address},on:{input:function(e){e.target.composing||t.$set(t.filter,"ip_address",e.target.value)}}})])])]),t._v(" "),s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col"},[s("div",{staticClass:"sui-form-field"},[s("div",{staticClass:"sui-side-tabs"},[s("div",{staticClass:"sui-tabs-menu"},[s("label",{staticClass:"sui-tab-item",class:{active:!0===t.filter.event_all},attrs:{for:"event_filter_all"}},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.filter.event_all,expression:"filter.event_all"}],attrs:{type:"radio",id:"event_filter_all","data-tab-menu":""},domProps:{value:!0,checked:t._q(t.filter.event_all,!0)},on:{change:function(e){return t.$set(t.filter,"event_all",!0)}}}),t._v("\n\t\t\t\t\t\t\t\t\t"+t._s(t.__("All"))+"\n\t\t\t\t\t\t\t\t")]),t._v(" "),s("label",{staticClass:"sui-tab-item",class:{active:!1===t.filter.event_all},attrs:{for:"event_filter"}},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.filter.event_all,expression:"filter.event_all"}],attrs:{type:"radio","data-tab-menu":"events-box",id:"event_filter"},domProps:{value:!1,checked:t._q(t.filter.event_all,!1)},on:{change:function(e){return t.$set(t.filter,"event_all",!1)}}}),t._v("\n\t\t\t\t\t\t\t\t\t"+t._s(t.__("Specific"))+"\n\t\t\t\t\t\t\t\t")])]),t._v(" "),s("div",{staticClass:"sui-tabs-content"},[s("div",{staticClass:"sui-tab-content sui-tab-boxed",class:{active:!1===t.filter.event_all},attrs:{id:"events-box","data-tab-content":"events-box"}},[s("div",{staticClass:"sui-row"},t._l(t.event_types,(function(e){return s("label",{staticClass:"sui-checkbox",attrs:{for:"chk_"+e}},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.filter.events,expression:"filter.events"}],staticClass:"filterable",attrs:{id:"chk_"+e,type:"checkbox"},domProps:{value:e,checked:Array.isArray(t.filter.events)?t._i(t.filter.events,e)>-1:t.filter.events},on:{change:function(s){var i=t.filter.events,n=s.target,a=!!n.checked;if(Array.isArray(i)){var r=e,o=t._i(i,r);n.checked?o<0&&t.$set(t.filter,"events",i.concat([r])):o>-1&&t.$set(t.filter,"events",i.slice(0,o).concat(i.slice(o+1)))}else t.$set(t.filter,"events",a)}}}),t._v(" "),s("span",{attrs:{"aria-hidden":"true"}}),t._v(" "),s("span",[t._v(t._s(e))])])})),0)])])])])])]),t._v(" "),s("hr"),t._v(" "),s("div",{staticClass:"float-r"},[s("button",{staticClass:"sui-button sui-button-blue",attrs:{type:"submit"},on:{click:t.do_filter}},[t._v("\n\t\t\t\t\t"+t._s(t.__("Apply"))+"\n\t\t\t\t")])]),t._v(" "),s("div",{staticClass:"clear"})])]),t._v(" "),s("div",{staticClass:"sui-accordion sui-accordion-flushed no-border-top"},[s("div",{staticClass:"sui-accordion-header"},[s("div",[t._v(t._s(t.__("Event summary")))]),t._v(" "),s("div",[t._v(t._s(t.__("Date")))]),t._v(" "),s("div")]),t._v(" "),t._l(t.get_logs,(function(e){return s("div",{staticClass:"sui-accordion-item sui-default"},[s("div",{staticClass:"sui-accordion-item-header"},[s("div",{staticClass:"sui-accordion-item-title",domProps:{textContent:t._s(t.xss(e.msg))}}),t._v(" "),s("div",{domProps:{innerHTML:t._s(t.format_time(e.timestamp))}}),t._v(" "),t._m(0,!0)]),t._v(" "),s("div",{staticClass:"sui-accordion-item-body"},[s("div",{staticClass:"sui-box"},[s("div",{staticClass:"sui-box-body"},[s("strong",[t._v(t._s(t.__("Description")))]),t._v(" "),s("p",{domProps:{textContent:t._s(t.xss(e.msg))}}),t._v(" "),s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col"},[s("strong",{staticClass:"block"},[t._v(t._s(t.__("Context")))]),t._v(" "),s("a",{staticClass:"block",attrs:{href:t.build_filter_url(e.context)},domProps:{textContent:t._s(t.xss(e.context))}})]),t._v(" "),s("div",{staticClass:"sui-col"},[s("strong",{staticClass:"block"},[t._v(t._s(t.__("Type")))]),t._v(" "),s("a",{staticClass:"block",attrs:{href:t.build_filter_url(e.event_type)},domProps:{textContent:t._s(t.xss(e.event_type))}})]),t._v(" "),s("div",{staticClass:"sui-col"},[s("strong",{staticClass:"block"},[t._v(t._s(t.__("Ip Address")))]),t._v(" "),s("a",{staticClass:"block",attrs:{href:t.build_filter_url(e.ip)},domProps:{textContent:t._s(t.xss(e.ip))}})]),t._v(" "),s("div",{staticClass:"sui-col"},[s("strong",{staticClass:"block"},[t._v(t._s(t.__("User")))]),t._v(" "),s("a",{staticClass:"block",attrs:{href:t.build_filter_url(e.user)},domProps:{textContent:t._s(t.xss(e.user))}})]),t._v(" "),s("div",{staticClass:"sui-col"},[s("strong",{staticClass:"block"},[t._v(t._s(t.__("Date / Time")))]),t._v(" "),s("a",{staticClass:"block",attrs:{href:t.build_filter_url(e.timestamp)}},[t._v("\n\t\t\t\t\t\t\t\t\t"+t._s(t._f("moment")(new Date(1e3*e.timestamp),t.misc.date_format))+"\n\t\t\t\t\t\t\t\t")])])])])])])])}))],2),t._v(" "),0===t.data.chunks.length?s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col"},[s("div",{staticClass:"sui-notice"},[!0===t.state.is_fetching?s("p",[t._v("\n\t\t\t\t\t"+t._s(t.__("Loading events..."))+"\n\t\t\t\t")]):s("p",[t._v("\n\t\t\t\t\t"+t._s(t.__("There have been no events logged in the selected time period."))+"\n\t\t\t\t")])])])]):t._e(),t._v(" "),s("div",{staticClass:"sui-center-box"},[s("div",{staticClass:"sui-pagination-wrap"},[t.data.total_items>0?s("pagination",{attrs:{"page-count":t.data.total_pages,"click-handler":t.paging,"prev-text":t.prev_icon,"next-text":t.next_icon,value:t.data.paged,"container-class":"sui-pagination"}}):t._e()],1)]),t._v(" "),t.state.is_fetching?s("overlay"):t._e()],1)}),[function(){var t=this.$createElement,e=this._self._c||t;return e("div",[e("button",{staticClass:"sui-button-icon sui-accordion-open-indicator",attrs:{"aria-label":"Open item"}},[e("i",{staticClass:"sui-icon-chevron-down",attrs:{"aria-hidden":"true"}})])])}],!1,null,null,null).exports,m={mixins:[a.a],name:"settings",data:function(){return{model:auditData.model.settings,state:{on_saving:!1},nonces:auditData.nonces,endpoints:auditData.endpoints}},methods:{toggle:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"enabled",s=this,i={};i[e]=t,this.httpPostRequest("updateSettings",{data:JSON.stringify(i)},(function(){s.$parent.$emit("enable_state",t)}))},updateSettings:function(){var t=this.model;this.httpPostRequest("updateSettings",{data:JSON.stringify(t)})}},mounted:function(){var t=this;jQuery("#storage_days").change((function(){t.model.storage_days=jQuery(this).val()}))}},_=Object(h.a)(m,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"sui-box audit-settings"},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n\t\t\t\t"+t._s(t.__("Settings"))+"\n\t\t\t")])]),t._v(" "),s("form",{attrs:{method:"post"},on:{submit:function(e){return e.preventDefault(),t.updateSettings(e)}}},[s("div",{staticClass:"sui-box-body"},[s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v(t._s(t.__("Storage")))]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Events are stored in our API. You can choose how many days to keep logs for before they are removed."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("div",{staticClass:"sui-form-field"},[s("select",{directives:[{name:"model",rawName:"v-model",value:t.model.storage_days,expression:"model.storage_days"}],attrs:{name:"storage_days",id:"storage_days"},on:{change:function(e){var s=Array.prototype.filter.call(e.target.options,(function(t){return t.selected})).map((function(t){return"_value"in t?t._value:t.value}));t.$set(t.model,"storage_days",e.target.multiple?s:s[0])}}},[s("option",{attrs:{value:"24 hours"}},[t._v(t._s(t.__("24 hours")))]),t._v(" "),s("option",{attrs:{value:"7 days"}},[t._v(t._s(t.__("7 days")))]),t._v(" "),s("option",{attrs:{value:"30 days"}},[t._v(t._s(t.__("30 days")))]),t._v(" "),s("option",{attrs:{value:"3 months"}},[t._v(t._s(t.__("3 months")))]),t._v(" "),s("option",{attrs:{value:"6 months"}},[t._v(t._s(t.__("6 months")))]),t._v(" "),s("option",{attrs:{value:"12 months"}},[t._v(t._s(t.__("12 months")))])]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Choose how long you'd like to store your event logs locally before wiping the oldest."))+"\n ")])])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Deactivate"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("If you no longer want to use this feature you can turn it off at any time."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("submit-button",{attrs:{type:"button","css-class":"sui-button-ghost",state:t.state},on:{click:function(e){return t.toggle(!1)}}},[s("i",{staticClass:"sui-icon-save",attrs:{"aria-hidden":"true"}}),t._v("\n\t\t\t\t\t\t\t"+t._s(t.__("Deactivate"))+"\n\t\t\t\t\t\t")])],1)])]),t._v(" "),s("div",{staticClass:"sui-box-footer"},[s("div",{staticClass:"sui-actions-right"},[s("submit-button",{attrs:{type:"submit","css-class":"sui-button-blue",state:t.state}},[s("i",{staticClass:"sui-icon-save",attrs:{"aria-hidden":"true"}}),t._v("\n\t\t\t\t\t\t"+t._s(t.__("Save Changes"))+"\n\t\t\t\t\t")])],1)])])])}),[],!1,null,null,null).exports,p=s("./src/component/recipients.vue"),v={mixins:[a.a],name:"report",data:function(){return{model:auditData.model.report,misc:auditData.misc,nonces:auditData.nonces,endpoints:auditData.endpoints,state:{on_saving:!1,show_day:!0}}},components:{recipients:p.a},methods:{updateRecipients:function(t){this.model.receipts=t},updateSettings:function(){var t=this.model,e=this;this.httpPostRequest("updateSettings",{data:JSON.stringify(t)},(function(t){e.$parent.$emit("update_report_time",t.data.summary)}))}},mounted:function(){var t=this;jQuery(".report-select").change((function(){var e=jQuery(this).attr("name");t.model[e]=jQuery(this).val()})),this.model.day=this.model.day.toLowerCase()},watch:{"model.frequency":function(){this.state.show_day=this.model.frequency>1}},created:function(){this.state.show_day=this.model.frequency>1},computed:{timezone_text:function(){return this.vsprintf(this.__("Your timezone is set to UTC %s, so your current time is %s."),this.misc.tz,this.misc.current_time)}}},g=Object(h.a)(v,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"sui-box"},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n\t\t\t\t"+t._s(t.__("Notification"))+"\n\t\t\t")])]),t._v(" "),s("form",{attrs:{method:"post"},on:{submit:function(e){return e.preventDefault(),t.updateSettings(e)}}},[s("div",{staticClass:"sui-box-body"},[s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Scheduled Reports"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Schedule Defender to automatically email you a summary of all your website events."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("label",{staticClass:"sui-toggle"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.notification,expression:"model.notification"}],attrs:{type:"checkbox",name:"notification",id:"toggle_notification"},domProps:{checked:Array.isArray(t.model.notification)?t._i(t.model.notification,null)>-1:t.model.notification},on:{change:function(e){var s=t.model.notification,i=e.target,n=!!i.checked;if(Array.isArray(s)){var a=t._i(s,null);i.checked?a<0&&t.$set(t.model,"notification",s.concat([null])):a>-1&&t.$set(t.model,"notification",s.slice(0,a).concat(s.slice(a+1)))}else t.$set(t.model,"notification",n)}}}),t._v(" "),s("span",{staticClass:"sui-toggle-slider"})]),t._v(" "),s("label",{staticClass:"sui-toggle-label",attrs:{for:"toggle_notification"}},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.__("Send regular email report"))+"\n\t\t\t\t\t\t")]),t._v(" "),s("div",{staticClass:"sui-border-frame sui-toggle-content"},[s("div",{staticClass:"margin-top-30"},[s("recipients",{attrs:{id:"report_dialog",recipients:t.model.receipts},on:{"update:recipients":t.updateRecipients}})],1),t._v(" "),s("div",{staticClass:"sui-form-field margin-top-30 schedule-box"},[s("label",{staticClass:"sui-label"},[t._v("\n\t\t\t\t\t\t\t\t\t"+t._s(t.__("Frequency"))+"\n\t\t\t\t\t\t\t\t")]),t._v(" "),s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col"},[s("select",{directives:[{name:"model",rawName:"v-model",value:t.model.frequency,expression:"model.frequency"}],staticClass:"report-select",attrs:{name:"frequency"},on:{change:function(e){var s=Array.prototype.filter.call(e.target.options,(function(t){return t.selected})).map((function(t){return"_value"in t?t._value:t.value}));t.$set(t.model,"frequency",e.target.multiple?s:s[0])}}},[s("option",{attrs:{value:"1"}},[t._v(t._s(t.__("Daily")))]),t._v(" "),s("option",{attrs:{value:"7"}},[t._v(t._s(t.__("Weekly")))]),t._v(" "),s("option",{attrs:{value:"30"}},[t._v(t._s(t.__("Monthly")))])])])]),t._v(" "),s("div",{staticClass:"sui-row"},[s("div",{directives:[{name:"show",rawName:"v-show",value:t.state.show_day,expression:"state.show_day"}],staticClass:"sui-col days-container"},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("Day of the week")))]),t._v(" "),s("select",{directives:[{name:"model",rawName:"v-model",value:t.model.day,expression:"model.day"}],staticClass:"report-select",attrs:{name:"day"},on:{change:function(e){var s=Array.prototype.filter.call(e.target.options,(function(t){return t.selected})).map((function(t){return"_value"in t?t._value:t.value}));t.$set(t.model,"day",e.target.multiple?s:s[0])}}},t._l(t.misc.days_of_week,(function(e){return s("option",{domProps:{value:e.toLowerCase()}},[t._v(t._s(e)+"\n\t\t\t\t\t\t\t\t\t\t\t")])})),0)]),t._v(" "),s("div",{staticClass:"sui-col"},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("Time of day")))]),t._v(" "),s("select",{directives:[{name:"model",rawName:"v-model",value:t.model.time,expression:"model.time"}],staticClass:"report-select",attrs:{name:"time"},on:{change:function(e){var s=Array.prototype.filter.call(e.target.options,(function(t){return t.selected})).map((function(t){return"_value"in t?t._value:t.value}));t.$set(t.model,"time",e.target.multiple?s:s[0])}}},t._l(t.misc.times_of_day,(function(e,i){return s("option",{domProps:{value:i}},[t._v(t._s(e)+"\n\t\t\t\t\t\t\t\t\t\t\t")])})),0)]),t._v(" "),s("div",{staticClass:"sui-col-md-12"},[s("span",{staticClass:"sui-p-small",domProps:{innerHTML:t._s(t.timezone_text)}})])])])])])])]),t._v(" "),s("div",{staticClass:"sui-box-footer"},[s("div",{staticClass:"sui-actions-right"},[s("submit-button",{attrs:{type:"submit","css-class":"sui-button-blue",state:t.state}},[s("i",{staticClass:"sui-icon-save",attrs:{"aria-hidden":"true"}}),t._v("\n\t\t\t\t\t\t"+t._s(t.__("Save Changes"))+"\n\t\t\t\t\t")])],1)])])])}),[],!1,null,null,null).exports,y={mixins:[a.a],name:"audit",data:function(){return{view:"",summary:{report_time:auditData.summary.report_time,events_in_7_days:"-"},enabled:auditData.enabled,state:{on_saving:!1},nonces:auditData.nonces,endpoints:auditData.endpoints}},components:{"app-footer":r.a,logs:f,settings:_,report:g},methods:{updateSummary:function(t){this.summary.events_in_7_days=t},toggle:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"enabled",s=this,i={};i[e]=t,this.httpPostRequest("updateSettings",{data:JSON.stringify(i)},(function(){s.enabled=t,s.$nextTick((function(){s.rebindSUI()}))}))}},created:function(){var t=new URLSearchParams(window.location.search).get("view");null===t&&(t="logs"),this.view=t,this.$on("events_in_7_days",(function(t){this.summary.events_in_7_days=t})),this.$on("update_report_time",(function(t){this.summary.report_time=t.report_time})),this.$on("enable_state",(function(t){this.enabled=t}))},watch:{view:function(t,e){history.replaceState({},null,this.adminUrl()+"admin.php?page=wdf-logging&view="+this.view)}},mounted:function(){self=this,jQuery(".sui-mobile-nav").change((function(){self.view=jQuery(this).val()}))}},b=Object(h.a)(y,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"sui-wrap",class:t.maybeHighContrast()},[t.enabled?s("div",{staticClass:"auditing"},[s("div",{staticClass:"sui-header"},[s("h1",{staticClass:"sui-header-title"},[t._v("\n "+t._s(t.__("Audit Logging"))+"\n ")]),t._v(" "),s("doc-link",{attrs:{link:"https://premium.wpmudev.org/docs/wpmu-dev-plugins/defender/#audit-logging"}})],1),t._v(" "),s("summary-box",{attrs:{"css-class":"sui-summary-sm"}},[s("div",{staticClass:"sui-summary-segment"},[s("div",{staticClass:"sui-summary-details"},[s("span",{staticClass:"sui-summary-large",domProps:{textContent:t._s(t.summary.events_in_7_days)}}),t._v(" "),s("span",{staticClass:"sui-summary-sub"},[t._v("\n "+t._s(t.__("Events logged in the past 7 days"))+"\n ")])])]),t._v(" "),s("div",{staticClass:"sui-summary-segment"},[s("ul",{staticClass:"sui-list"},[s("li",[s("span",{staticClass:"sui-list-label"},[t._v(t._s(t.__("Reporting")))]),t._v(" "),s("span",{staticClass:"sui-list-detail",domProps:{textContent:t._s(t.summary.report_time)}})])])])]),t._v(" "),s("div",{staticClass:"sui-row-with-sidenav"},[s("div",{staticClass:"sui-sidenav"},[s("ul",{staticClass:"sui-vertical-tabs sui-sidenav-hide-md"},[s("li",{staticClass:"sui-vertical-tab",class:{current:"logs"===t.view}},[s("a",{attrs:{href:t.adminUrl("admin.php?page=wdf-logging")},on:{click:function(e){e.preventDefault(),t.view="logs"}}},[t._v(t._s(t.__("Event Logs")))])]),t._v(" "),s("li",{staticClass:"sui-vertical-tab",class:{current:"settings"===t.view}},[s("a",{attrs:{href:t.adminUrl("admin.php?page=wdf-logging&view=settings")},on:{click:function(e){e.preventDefault(),t.view="settings"}}},[t._v(t._s(t.__("Settings")))])]),t._v(" "),s("li",{staticClass:"sui-vertical-tab",class:{current:"report"===t.view}},[s("a",{attrs:{href:t.adminUrl("admin.php?page=wdf-logging&view=report")},on:{click:function(e){e.preventDefault(),t.view="report"}}},[t._v(t._s(t.__("Reports")))])])]),t._v(" "),s("div",{staticClass:"sui-sidenav-hide-lg"},[s("select",{staticClass:"sui-mobile-nav",staticStyle:{display:"none"}},[s("option",{attrs:{value:"logs"}},[t._v(t._s(t.__("Event Logs")))]),t._v(" "),s("option",{attrs:{value:"settings"}},[t._v(t._s(t.__("Settings")))]),t._v(" "),s("option",{attrs:{value:"report"}},[t._v(t._s(t.__("Reports")))])])])]),t._v(" "),s("logs",{directives:[{name:"show",rawName:"v-show",value:"logs"===t.view,expression:"view==='logs'"}]}),t._v(" "),s("settings",{directives:[{name:"show",rawName:"v-show",value:"settings"===t.view,expression:"view==='settings'"}]}),t._v(" "),s("report",{directives:[{name:"show",rawName:"v-show",value:"report"===t.view,expression:"view==='report'"}]})],1),t._v(" "),s("app-footer")],1):s("div",{staticClass:"auditing"},[s("div",{staticClass:"sui-header"},[s("h1",{staticClass:"sui-header-title"},[t._v("\n "+t._s(t.__("Audit Logging"))+"\n ")]),t._v(" "),s("div",{staticClass:"sui-actions-right"},[s("doc-link",{attrs:{link:"https://premium.wpmudev.org/docs/wpmu-dev-plugins/defender/#audit-logging"}})],1)]),t._v(" "),s("div",{staticClass:"sui-box"},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n "+t._s(t.__("Activate"))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-message"},[!1===t.maybeHideBranding()?s("img",{staticClass:"sui-image",attrs:{src:t.assetUrl("assets/img/audit-disabled-man.svg"),"aria-hidden":"true"}}):t._e(),t._v(" "),s("div",{staticClass:"sui-message-content"},[s("p",[t._v("\n "+t._s(t.__("Track and log each and every event when changes are made to your website and getdetailed reports on what's going on behind the scenes, including any hacking attempts onyour site."))+"\n ")]),t._v(" "),s("submit-button",{attrs:{type:"button","css-class":"sui-button-blue",state:t.state},on:{click:function(e){return t.toggle(!0)}}},[s("i",{staticClass:"sui-icon-save",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("Activate"))+"\n ")])],1)])])])])}),[],!1,null,null,null).exports,w={mixins:[a.a],name:"audit-free"},k=Object(h.a)(w,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"sui-wrap",class:t.maybeHighContrast},[s("div",{staticClass:"sui-box"},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n "+t._s(t.__("Audit Logging"))+"\n ")]),t._v(" "),t._m(0)]),t._v(" "),s("div",{staticClass:"sui-message"},[s("img",{staticClass:"sui-image",attrs:{src:t.assetUrl("assets/img/audit-disabled-man.svg")}}),t._v(" "),s("div",{staticClass:"sui-message-content"},[s("p",[t._v("\n "+t._s(t.__("Track and log each and every event when changes are made to your website and get detailed reports on what's going on behind the scenes, including any hacking attempts on your site. This is a pro feature that requires an active WPMU DEV membership. Try it free today!"))+"\n ")]),t._v(" "),s("a",{staticClass:"sui-button sui-button-purple",attrs:{href:t.campaign_url("defender_auditlogging_upgrade_button"),target:"_blank"}},[t._v("Upgrade to Pro")])])])])])}),[function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"sui-actions-left"},[e("span",{staticClass:"sui-tag sui-tag-pro"},[this._v("Pro")])])}],!1,null,null,null).exports,x=s("./src/component/overlay.vue"),C=s("./src/component/submit-button.vue"),S=s("./src/component/doc-link.vue"),D=s("./src/component/summary-box.vue");n.a.filter("moment",(function(t,e){return t?d(t).format(e):d().format(e)})),n.a.component("overlay",x.a),n.a.component("submit-button",C.a),n.a.component("app-footer",r.a),n.a.component("doc-link",S.a),n.a.component("summary-box",D.a);new n.a({el:"#defender",components:{audit:b,audit_free:k},render:function(t){return 0===parseInt(defender.is_free)?t(b):t(k)}})},"./src/component/doc-link.vue":function(t,e,s){"use strict";var i={mixins:[s("./src/helper/base_hepler.js").a],name:"doc-link",props:["link"],data:function(){return{whitelabel:defender.whitelabel}}},n=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),a=Object(n.a)(i,(function(){var t=this.$createElement,e=this._self._c||t;return!1===this.whitelabel.hide_doc_link?e("div",{staticClass:"sui-actions-right"},[e("a",{staticClass:"sui-button sui-button-ghost",attrs:{href:this.link,target:"_blank"}},[e("i",{staticClass:"sui-icon-academy"}),this._v(" "+this._s(this.__("View Documentation"))+"\n ")])]):this._e()}),[],!1,null,null,null);e.a=a.exports},"./src/component/footer.vue":function(t,e,s){"use strict";var i={data:function(){return{whitelabel:defender.whitelabel,is_free:defender.is_free}}},n=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),a=Object(n.a)(i,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",[!0===t.whitelabel.change_footer?s("div",{staticClass:"sui-footer"},[t._v("\n "+t._s(t.whitelabel.footer_text)+"\n ")]):s("div",{staticClass:"sui-footer"},[t._v("Made with "),s("i",{staticClass:"sui-icon-heart"}),t._v(" by WPMU DEV")]),t._v(" "),!1===t.whitelabel.hide_doc_link?s("div",[t.is_free?s("ul",{staticClass:"sui-footer-nav"},[t._m(0),t._v(" "),t._m(1),t._v(" "),t._m(2),t._v(" "),t._m(3),t._v(" "),t._m(4),t._v(" "),t._m(5),t._v(" "),t._m(6),t._v(" "),t._m(7)]):s("ul",{staticClass:"sui-footer-nav"},[t._m(8),t._v(" "),t._m(9),t._v(" "),t._m(10),t._v(" "),t._m(11),t._v(" "),t._m(12),t._v(" "),t._m(13),t._v(" "),t._m(14),t._v(" "),t._m(15)]),t._v(" "),t._m(16)]):t._e()])}),[function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://profiles.wordpress.org/wpmudev#content-plugins",target:"_blank"}},[this._v("Free\n Plugins")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/features/",target:"_blank"}},[this._v("Membership")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/roadmap/",target:"_blank"}},[this._v("Roadmap")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://wordpress.org/support/plugin/plugin-name",target:"_blank"}},[this._v("Support")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/docs/",target:"_blank"}},[this._v("Docs")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/hub/",target:"_blank"}},[this._v("The Hub")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/terms-of-service/",target:"_blank"}},[this._v("Terms of Service")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://incsub.com/privacy-policy/",target:"_blank"}},[this._v("Privacy Policy")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/hub/",target:"_blank"}},[this._v("The Hub")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/projects/category/plugins/",target:"_blank"}},[this._v("Plugins")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/roadmap/",target:"_blank"}},[this._v("Roadmap")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/hub/support/",target:"_blank"}},[this._v("Support")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/docs/",target:"_blank"}},[this._v("Docs")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/hub/community/",target:"_blank"}},[this._v("Community")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/terms-of-service/",target:"_blank"}},[this._v("Terms of Service")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://incsub.com/privacy-policy/",target:"_blank"}},[this._v("Privacy Policy")])])},function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("ul",{staticClass:"sui-footer-social"},[s("li",[s("a",{attrs:{href:"https://www.facebook.com/wpmudev",target:"_blank"}},[s("i",{staticClass:"sui-icon-social-facebook",attrs:{"aria-hidden":"true"}}),t._v(" "),s("span",{staticClass:"sui-screen-reader-text"},[t._v("Facebook")])])]),t._v(" "),s("li",[s("a",{attrs:{href:"https://twitter.com/wpmudev",target:"_blank"}},[s("i",{staticClass:"sui-icon-social-twitter",attrs:{"aria-hidden":"true"}})]),t._v(" "),s("span",{staticClass:"sui-screen-reader-text"},[t._v("Twitter")])]),t._v(" "),s("li",[s("a",{attrs:{href:"https://www.instagram.com/wpmu_dev/",target:"_blank"}},[s("i",{staticClass:"sui-icon-instagram",attrs:{"aria-hidden":"true"}}),t._v(" "),s("span",{staticClass:"sui-screen-reader-text"},[t._v("Instagram")])])])])}],!1,null,null,null);e.a=a.exports},"./src/component/overlay.vue":function(t,e,s){"use strict";var i={name:"overlay"},n=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),a=Object(n.a)(i,(function(){var t=this.$createElement;this._self._c;return this._m(0)}),[function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"wd-overlay"},[e("i",{staticClass:"sui-icon-loader sui-loading",attrs:{"aria-hidden":"true"}})])}],!1,null,null,null);e.a=a.exports},"./src/component/pagination.vue":function(t,e,s){"use strict";var i={props:{value:{type:Number},pageCount:{type:Number,required:!0},forcePage:{type:Number},clickHandler:{type:Function,default:function(){}},pageRange:{type:Number,default:3},marginPages:{type:Number,default:1},prevText:{type:String,default:"Prev"},nextText:{type:String,default:"Next"},breakViewText:{type:String,default:"…"},containerClass:{type:String},pageClass:{type:String},pageLinkClass:{type:String},prevClass:{type:String},prevLinkClass:{type:String},nextClass:{type:String},nextLinkClass:{type:String},breakViewClass:{type:String},breakViewLinkClass:{type:String},activeClass:{type:String,default:"active"},disabledClass:{type:String,default:"disabled"},noLiSurround:{type:Boolean,default:!1},firstLastButton:{type:Boolean,default:!1},firstButtonText:{type:String,default:"First"},lastButtonText:{type:String,default:"Last"},hidePrevNext:{type:Boolean,default:!1}},beforeUpdate:function(){void 0!==this.forcePage&&this.forcePage!==this.selected&&(this.selected=this.forcePage)},computed:{selected:{get:function(){return this.value||this.innerValue},set:function(t){this.innerValue=t}},pages:function(){var t=this,e={};if(this.pageCount<=this.pageRange)for(var s=0;s<this.pageCount;s++){var i={index:s,content:s+1,selected:s===this.selected-1};e[s]=i}else{for(var n=Math.floor(this.pageRange/2),a=function(s){var i={index:s,content:s+1,selected:s===t.selected-1};e[s]=i},r=function(t){e[t]={disabled:!0,breakView:!0}},o=0;o<this.marginPages;o++)a(o);var l=0;this.selected-n>0&&(l=this.selected-1-n);var u=l+this.pageRange-1;u>=this.pageCount&&(l=(u=this.pageCount-1)-this.pageRange+1);for(var d=l;d<=u&&d<=this.pageCount-1;d++)a(d);l>this.marginPages&&r(l-1),u+1<this.pageCount-this.marginPages&&r(u+1);for(var c=this.pageCount-1;c>=this.pageCount-this.marginPages;c--)a(c)}return e}},data:function(){return{innerValue:1}},methods:{handlePageSelected:function(t){this.selected!==t&&(this.innerValue=t,this.$emit("input",t),this.clickHandler(t))},prevPage:function(){this.selected<=1||this.handlePageSelected(this.selected-1)},nextPage:function(){this.selected>=this.pageCount||this.handlePageSelected(this.selected+1)},firstPageSelected:function(){return 1===this.selected},lastPageSelected:function(){return this.selected===this.pageCount||0===this.pageCount},selectFirstPage:function(){this.selected<=1||this.handlePageSelected(1)},selectLastPage:function(){this.selected>=this.pageCount||this.handlePageSelected(this.pageCount)}}},n=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),a=Object(n.a)(i,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return t.noLiSurround?s("div",{class:t.containerClass},[t.firstLastButton?s("a",{class:[t.pageLinkClass,t.firstPageSelected()?t.disabledClass:""],attrs:{tabindex:"0"},domProps:{innerHTML:t._s(t.firstButtonText)},on:{click:function(e){return t.selectFirstPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.selectFirstPage()}}}):t._e(),t._v(" "),t.firstPageSelected()&&t.hidePrevNext?t._e():s("a",{class:[t.prevLinkClass,t.firstPageSelected()?t.disabledClass:""],attrs:{tabindex:"0"},domProps:{innerHTML:t._s(t.prevText)},on:{click:function(e){return t.prevPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.prevPage()}}}),t._v(" "),t._l(t.pages,(function(e){return[e.breakView?s("a",{class:[t.pageLinkClass,t.breakViewLinkClass,e.disabled?t.disabledClass:""],attrs:{tabindex:"0"}},[t._t("breakViewContent",[t._v(t._s(t.breakViewText))])],2):e.disabled?s("a",{class:[t.pageLinkClass,e.selected?t.activeClass:"",t.disabledClass],attrs:{tabindex:"0"}},[t._v(t._s(e.content))]):s("a",{class:[t.pageLinkClass,e.selected?t.activeClass:""],attrs:{tabindex:"0"},on:{click:function(s){return t.handlePageSelected(e.index+1)},keyup:function(s){return!s.type.indexOf("key")&&t._k(s.keyCode,"enter",13,s.key,"Enter")?null:t.handlePageSelected(e.index+1)}}},[t._v(t._s(e.content))])]})),t._v(" "),t.lastPageSelected()&&t.hidePrevNext?t._e():s("a",{class:[t.nextLinkClass,t.lastPageSelected()?t.disabledClass:""],attrs:{tabindex:"0"},domProps:{innerHTML:t._s(t.nextText)},on:{click:function(e){return t.nextPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.nextPage()}}}),t._v(" "),t.firstLastButton?s("a",{class:[t.pageLinkClass,t.lastPageSelected()?t.disabledClass:""],attrs:{tabindex:"0"},domProps:{innerHTML:t._s(t.lastButtonText)},on:{click:function(e){return t.selectLastPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.selectLastPage()}}}):t._e()],2):s("ul",{class:t.containerClass},[t.firstLastButton?s("li",{class:[t.pageClass,t.firstPageSelected()?t.disabledClass:""]},[s("a",{class:t.pageLinkClass,attrs:{tabindex:t.firstPageSelected()?-1:0},domProps:{innerHTML:t._s(t.firstButtonText)},on:{click:function(e){return t.selectFirstPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.selectFirstPage()}}})]):t._e(),t._v(" "),t.firstPageSelected()&&t.hidePrevNext?t._e():s("li",{class:[t.prevClass,t.firstPageSelected()?t.disabledClass:""]},[s("a",{class:t.prevLinkClass,attrs:{tabindex:t.firstPageSelected()?-1:0},domProps:{innerHTML:t._s(t.prevText)},on:{click:function(e){return t.prevPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.prevPage()}}})]),t._v(" "),t._l(t.pages,(function(e){return s("li",{class:[t.pageClass,e.selected?t.activeClass:"",e.disabled?t.disabledClass:"",e.breakView?t.breakViewClass:""]},[e.breakView?s("a",{class:[t.pageLinkClass,t.breakViewLinkClass],attrs:{tabindex:"0"}},[t._t("breakViewContent",[t._v(t._s(t.breakViewText))])],2):e.disabled?s("a",{class:t.pageLinkClass,attrs:{tabindex:"0"}},[t._v(t._s(e.content))]):s("a",{class:t.pageLinkClass,attrs:{disabled:e.selected,tabindex:"0"},on:{click:function(s){return t.handlePageSelected(e.index+1)},keyup:function(s){return!s.type.indexOf("key")&&t._k(s.keyCode,"enter",13,s.key,"Enter")?null:t.handlePageSelected(e.index+1)}}},[t._v(t._s(e.content))])])})),t._v(" "),t.lastPageSelected()&&t.hidePrevNext?t._e():s("li",{class:[t.nextClass,t.lastPageSelected()?t.disabledClass:""]},[s("a",{class:t.nextLinkClass,attrs:{tabindex:t.lastPageSelected()?-1:0},domProps:{innerHTML:t._s(t.nextText)},on:{click:function(e){return t.nextPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.nextPage()}}})]),t._v(" "),t.firstLastButton?s("li",{class:[t.pageClass,t.lastPageSelected()?t.disabledClass:""]},[s("a",{class:t.pageLinkClass,attrs:{tabindex:t.lastPageSelected()?-1:0},domProps:{innerHTML:t._s(t.lastButtonText)},on:{click:function(e){return t.selectLastPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.selectLastPage()}}})]):t._e()],2)}),[],!1,null,null,null);e.a=a.exports},"./src/component/recipients.vue":function(t,e,s){"use strict";var i={mixins:[s("./src/helper/base_hepler.js").a],props:["recipients","id"],data:function(){return{first_name:"",email:"",observers:[],can_add:!1,saving_warning:!1,validate:{email:""}}},created:function(){this.observers=this.recipients},watch:{email:function(){if(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(this.email)){var t=!0,e=this;this.observers.forEach((function(s,i){if(s.email===e.email)return t=!1,void(e.validate.email=e.__("This email address is already in use"))})),this.can_add=t,!0===t&&(this.validate.email="")}else this.can_add=!1,this.validate.email=this.__("Invalid email address")},observers:function(){0===this.observers.length?this.saving_warning=!0:this.saving_warning=!1,void 0!==this.event&&this.$emit("update:recipients",this.observers)}},methods:{addRecipient:function(){this.observers.push({first_name:this.first_name,email:this.email}),jQuery.each(SUI.dialogs,(function(t,e){e.hide()})),this.first_name="",this.email=""},removeRecipient:function(t){this.observers.splice(t,1)}}},n=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),a=Object(n.a)(i,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",[s("div",{directives:[{name:"show",rawName:"v-show",value:t.saving_warning,expression:"saving_warning"}],staticClass:"sui-notice sui-notice-warning"},[s("p",[t._v("\n "+t._s(t.__("You've removed all recipients. If you save without a recipient, we'll automatically turn of reports"))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-recipients"},[t._l(t.observers,(function(e,i){return s("div",{staticClass:"sui-recipient"},[s("span",{staticClass:"sui-recipient-name"},[t._v(t._s(e.first_name))]),t._v(" "),s("span",{staticClass:"sui-recipient-email"},[t._v(t._s(e.email))]),t._v(" "),s("button",{staticClass:"sui-button-icon",attrs:{type:"button"},on:{click:function(e){return t.removeRecipient(i)}}},[s("i",{staticClass:"sui-icon-trash",attrs:{"aria-hidden":"true"}})])])})),t._v(" "),s("button",{staticClass:"sui-button sui-button-ghost",attrs:{"data-a11y-dialog-show":t.id,type:"button"}},[s("i",{staticClass:"sui-icon-plus",attrs:{"aria-hidden":"true"}}),t._v(" "+t._s(t.__("Add Recipient"))+"\n ")])],2),t._v(" "),s("div",{staticClass:"sui-dialog sui-dialog-sm",attrs:{"aria-hidden":"true",tabindex:"-1",id:t.id}},[s("div",{staticClass:"sui-dialog-overlay"}),t._v(" "),s("div",{staticClass:"sui-dialog-content",attrs:{"aria-labelledby":"dialogTitle","aria-describedby":"dialogDescription",role:"dialog"}},[s("div",{staticClass:"sui-box",attrs:{role:"document"}},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n "+t._s(t.__("Add Recipient"))+"\n ")]),t._v(" "),t._m(0)]),t._v(" "),s("div",{staticClass:"sui-box-body"},[s("p",[t._v("\n "+t._s(t.__("Add as many recipients as you like, they will receive email reports as per the schedule you set."))+"\n ")]),t._v(" "),s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("First name")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.first_name,expression:"first_name"}],staticClass:"sui-form-control",attrs:{type:"text"},domProps:{value:t.first_name},on:{input:function(e){e.target.composing||(t.first_name=e.target.value)}}})]),t._v(" "),s("div",{staticClass:"sui-form-field",class:{"sui-form-field-error":t.validate.email.length>0}},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("Email")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.email,expression:"email"}],staticClass:"sui-form-control",attrs:{type:"text"},domProps:{value:t.email},on:{input:function(e){e.target.composing||(t.email=e.target.value)}}}),t._v(" "),s("span",{directives:[{name:"show",rawName:"v-show",value:t.validate.email.length>0,expression:"validate.email.length > 0"}],staticClass:"sui-error-message",domProps:{textContent:t._s(this.validate.email)}})])]),t._v(" "),s("div",{staticClass:"sui-box-footer"},[s("button",{staticClass:"sui-button sui-button-ghost",attrs:{type:"button","data-a11y-dialog-hide":"recipient-dialog"}},[t._v("\n "+t._s(t.__("Cancel"))+"\n ")]),t._v(" "),s("button",{staticClass:"sui-modal-close sui-button",attrs:{type:"button",disabled:!1===t.can_add},on:{click:t.addRecipient}},[t._v(t._s(t.__("Add"))+"\n ")])])])])])])}),[function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"sui-actions-right"},[e("button",{staticClass:"sui-dialog-close",attrs:{type:"button","data-a11y-dialog-hide":"","aria-label":"Close this dialog window"}})])}],!1,null,null,null);e.a=a.exports},"./src/component/submit-button.vue":function(t,e,s){"use strict";var i={name:"submit-button",props:["id","state","text","css-class","type"],computed:{getClass:function(){return"sui-button "+this.cssClass}}},n=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),a=Object(n.a)(i,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("button",{staticClass:"sui-button",class:[t.getClass,{"sui-button-onload":t.state.on_saving}],attrs:{id:t.id,type:t.type,disabled:t.state.on_saving},on:{click:function(e){return t.$emit("click")}}},[s("span",{staticClass:"sui-loading-text"},[t._t("default")],2),t._v(" "),s("i",{staticClass:"sui-icon-loader sui-loading",attrs:{"aria-hidden":"true"}})])}),[],!1,null,null,null);e.a=a.exports},"./src/component/summary-box.vue":function(t,e,s){"use strict";var i={mixins:[s("./src/helper/base_hepler.js").a],props:["css-class"],name:"summary-box",data:function(){return{whitelabel:defender.whitelabel}},computed:{summary_class:function(){return{"sui-unbranded":!0===this.whitelabel.hide_branding&&0===this.whitelabel.hero_image.length,"sui-rebranded":!0===this.whitelabel.hide_branding&&this.whitelabel.hero_image.length>0}},css_class:function(){return this.cssClass},rebrand_img:function(){if(this.whitelabel.hero_image.length>0)return console.log({"background-image":"url('"+this.whitelabel.hero_image+"')"}),{"background-image":"url('"+this.whitelabel.hero_image+"')"}}}},n=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),a=Object(n.a)(i,(function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"sui-box sui-summary",class:[this.summary_class,this.css_class],style:this.rebrand_img},[e("div",{staticClass:"sui-summary-image-space",attrs:{"aria-hidden":"true"}}),this._v(" "),this._t("default")],2)}),[],!1,null,null,null);e.a=a.exports},"./src/helper/base_hepler.js":function(t,e,s){"use strict";var i=s("./node_modules/xss/lib/index.js"),n=s.n(i),a=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var s=[],i=!0,n=!1,a=void 0;try{for(var r,o=t[Symbol.iterator]();!(i=(r=o.next()).done)&&(s.push(r.value),!e||s.length!==e);i=!0);}catch(t){n=!0,a=t}finally{try{!i&&o.return&&o.return()}finally{if(n)throw a}}return s}(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")},r=wp.i18n,o=r.sprintf,l=r.__,u=[];e.a={methods:{__:function(t){return n()(l(t,"wpdef"))},xss:function(t){return n()(t)},vsprintf:function(t){return o.apply(null,arguments)},siteUrl:function(t){return void 0!==t?defender.site_url+t:defender.site_url},adminUrl:function(t){return void 0!==t?defender.admin_url+t:defender.admin_url},assetUrl:function(t){return defender.defender_url+t},maybeHighContrast:function(){return{"sui-color-accessible":!0===defender.misc.high_contrast}},maybeHideBranding:function(){return defender.whitelabel.hide_branding},campaign_url:function(t){return"https://premium.wpmudev.org/project/wp-defender/?utm_source=defender&utm_medium=plugin&utm_campaign="+t},httpRequest:function(t,e,s,i,n){var a=this;void 0===n&&(this.state.on_saving=!0);var r=ajaxurl+"?action="+this.endpoints[e]+"&_wpnonce="+this.nonces[e],o=jQuery.ajax({url:r,method:t,data:s,success:function(t){var e=t.data;a.state.on_saving=!1,void 0!==e&&void 0!==e.message&&(t.success?Defender.showNotification("success",e.message):Defender.showNotification("error",e.message)),void 0!==i&&i(t)}});u.push(o)},httpGetRequest:function(t,e,s,i){this.httpRequest("get",t,e,s,i)},httpPostRequest:function(t,e,s,i){this.httpRequest("post",t,e,s,i)},abortAllRequests:function(){for(var t=0;t<u.length;t++)u[t].abort()},getQueryStringParams:function(t){return t?(/^[?#]/.test(t)?t.slice(1):t).split("&").reduce((function(t,e){var s=e.split("="),i=a(s,2),n=i[0],r=i[1];return t[n]=r?decodeURIComponent(r.replace(/\+/g," ")):"",t}),{}):{}},rebindSUI:function(){jQuery("select:not([multiple])").each((function(){SUI.suiSelect(this)})),jQuery(".sui-accordion").each((function(){SUI.suiAccordion(this)}));var t=jQuery(".sui-wrap");SUI.dialogs={},jQuery(".sui-dialog").each((function(){SUI.dialogs[this.id]=new A11yDialog(this,t)}))}}}},vue:function(t,e){t.exports=Vue}});
1
+ !function(t){var e=window.webpackHotUpdate;window.webpackHotUpdate=function(t,s){!function(t,e){if(!b[t]||!y[t])return;for(var s in y[t]=!1,e)Object.prototype.hasOwnProperty.call(e,s)&&(m[s]=e[s]);0==--p&&0===v&&C()}(t,s),e&&e(t,s)};var s,i=!0,n="d0b3332498cfafc2e0f1",a={},r=[],o=[];function l(t){var e=D[t];if(!e)return M;var i=function(i){return e.hot.active?(D[i]?-1===D[i].parents.indexOf(t)&&D[i].parents.push(t):(r=[t],s=i),-1===e.children.indexOf(i)&&e.children.push(i)):(console.warn("[HMR] unexpected require("+i+") from disposed module "+t),r=[]),M(i)},n=function(t){return{configurable:!0,enumerable:!0,get:function(){return M[t]},set:function(e){M[t]=e}}};for(var a in M)Object.prototype.hasOwnProperty.call(M,a)&&"e"!==a&&"t"!==a&&Object.defineProperty(i,a,n(a));return i.e=function(t){return"ready"===c&&h("prepare"),v++,M.e(t).then(e,(function(t){throw e(),t}));function e(){v--,"prepare"===c&&(g[t]||x(t),0===v&&0===p&&C())}},i.t=function(t,e){return 1&e&&(t=i(t)),M.t(t,-2&e)},i}function u(t){var e={_acceptedDependencies:{},_declinedDependencies:{},_selfAccepted:!1,_selfDeclined:!1,_disposeHandlers:[],_main:s!==t,active:!0,accept:function(t,s){if(void 0===t)e._selfAccepted=!0;else if("function"==typeof t)e._selfAccepted=t;else if("object"==typeof t)for(var i=0;i<t.length;i++)e._acceptedDependencies[t[i]]=s||function(){};else e._acceptedDependencies[t]=s||function(){}},decline:function(t){if(void 0===t)e._selfDeclined=!0;else if("object"==typeof t)for(var s=0;s<t.length;s++)e._declinedDependencies[t[s]]=!0;else e._declinedDependencies[t]=!0},dispose:function(t){e._disposeHandlers.push(t)},addDisposeHandler:function(t){e._disposeHandlers.push(t)},removeDisposeHandler:function(t){var s=e._disposeHandlers.indexOf(t);s>=0&&e._disposeHandlers.splice(s,1)},check:k,apply:S,status:function(t){if(!t)return c;d.push(t)},addStatusHandler:function(t){d.push(t)},removeStatusHandler:function(t){var e=d.indexOf(t);e>=0&&d.splice(e,1)},data:a[t]};return s=void 0,e}var d=[],c="idle";function h(t){c=t;for(var e=0;e<d.length;e++)d[e].call(null,t)}var f,m,_,p=0,v=0,g={},y={},b={};function w(t){return+t+""===t?+t:t}function k(t){if("idle"!==c)throw new Error("check() is only allowed in idle status");return i=t,h("check"),(e=1e4,e=e||1e4,new Promise((function(t,s){if("undefined"==typeof XMLHttpRequest)return s(new Error("No browser support"));try{var i=new XMLHttpRequest,a=M.p+""+n+".hot-update.json";i.open("GET",a,!0),i.timeout=e,i.send(null)}catch(t){return s(t)}i.onreadystatechange=function(){if(4===i.readyState)if(0===i.status)s(new Error("Manifest request to "+a+" timed out."));else if(404===i.status)t();else if(200!==i.status&&304!==i.status)s(new Error("Manifest request to "+a+" failed."));else{try{var e=JSON.parse(i.responseText)}catch(t){return void s(t)}t(e)}}}))).then((function(t){if(!t)return h("idle"),null;y={},g={},b=t.c,_=t.h,h("prepare");var e=new Promise((function(t,e){f={resolve:t,reject:e}}));m={};return x(1),"prepare"===c&&0===v&&0===p&&C(),e}));var e}function x(t){b[t]?(y[t]=!0,p++,function(t){var e=document.createElement("script");e.charset="utf-8",e.src=M.p+""+t+"."+n+".hot-update.js",document.head.appendChild(e)}(t)):g[t]=!0}function C(){h("ready");var t=f;if(f=null,t)if(i)Promise.resolve().then((function(){return S(i)})).then((function(e){t.resolve(e)}),(function(e){t.reject(e)}));else{var e=[];for(var s in m)Object.prototype.hasOwnProperty.call(m,s)&&e.push(w(s));t.resolve(e)}}function S(e){if("ready"!==c)throw new Error("apply() is only allowed in ready status");var s,i,o,l,u;function d(t){for(var e=[t],s={},i=e.map((function(t){return{chain:[t],id:t}}));i.length>0;){var n=i.pop(),a=n.id,r=n.chain;if((l=D[a])&&!l.hot._selfAccepted){if(l.hot._selfDeclined)return{type:"self-declined",chain:r,moduleId:a};if(l.hot._main)return{type:"unaccepted",chain:r,moduleId:a};for(var o=0;o<l.parents.length;o++){var u=l.parents[o],d=D[u];if(d){if(d.hot._declinedDependencies[a])return{type:"declined",chain:r.concat([u]),moduleId:a,parentId:u};-1===e.indexOf(u)&&(d.hot._acceptedDependencies[a]?(s[u]||(s[u]=[]),f(s[u],[a])):(delete s[u],e.push(u),i.push({chain:r.concat([u]),id:u})))}}}}return{type:"accepted",moduleId:t,outdatedModules:e,outdatedDependencies:s}}function f(t,e){for(var s=0;s<e.length;s++){var i=e[s];-1===t.indexOf(i)&&t.push(i)}}e=e||{};var p={},v=[],g={},y=function(){console.warn("[HMR] unexpected require("+x.moduleId+") to disposed module")};for(var k in m)if(Object.prototype.hasOwnProperty.call(m,k)){var x;u=w(k);var C=!1,S=!1,O=!1,Y="";switch((x=m[k]?d(u):{type:"disposed",moduleId:k}).chain&&(Y="\nUpdate propagation: "+x.chain.join(" -> ")),x.type){case"self-declined":e.onDeclined&&e.onDeclined(x),e.ignoreDeclined||(C=new Error("Aborted because of self decline: "+x.moduleId+Y));break;case"declined":e.onDeclined&&e.onDeclined(x),e.ignoreDeclined||(C=new Error("Aborted because of declined dependency: "+x.moduleId+" in "+x.parentId+Y));break;case"unaccepted":e.onUnaccepted&&e.onUnaccepted(x),e.ignoreUnaccepted||(C=new Error("Aborted because "+u+" is not accepted"+Y));break;case"accepted":e.onAccepted&&e.onAccepted(x),S=!0;break;case"disposed":e.onDisposed&&e.onDisposed(x),O=!0;break;default:throw new Error("Unexception type "+x.type)}if(C)return h("abort"),Promise.reject(C);if(S)for(u in g[u]=m[u],f(v,x.outdatedModules),x.outdatedDependencies)Object.prototype.hasOwnProperty.call(x.outdatedDependencies,u)&&(p[u]||(p[u]=[]),f(p[u],x.outdatedDependencies[u]));O&&(f(v,[x.moduleId]),g[u]=y)}var T,P=[];for(i=0;i<v.length;i++)u=v[i],D[u]&&D[u].hot._selfAccepted&&g[u]!==y&&P.push({module:u,errorHandler:D[u].hot._selfAccepted});h("dispose"),Object.keys(b).forEach((function(t){!1===b[t]&&function(t){delete installedChunks[t]}(t)}));for(var j,A,L=v.slice();L.length>0;)if(u=L.pop(),l=D[u]){var E={},R=l.hot._disposeHandlers;for(o=0;o<R.length;o++)(s=R[o])(E);for(a[u]=E,l.hot.active=!1,delete D[u],delete p[u],o=0;o<l.children.length;o++){var N=D[l.children[o]];N&&((T=N.parents.indexOf(u))>=0&&N.parents.splice(T,1))}}for(u in p)if(Object.prototype.hasOwnProperty.call(p,u)&&(l=D[u]))for(A=p[u],o=0;o<A.length;o++)j=A[o],(T=l.children.indexOf(j))>=0&&l.children.splice(T,1);for(u in h("apply"),n=_,g)Object.prototype.hasOwnProperty.call(g,u)&&(t[u]=g[u]);var H=null;for(u in p)if(Object.prototype.hasOwnProperty.call(p,u)&&(l=D[u])){A=p[u];var I=[];for(i=0;i<A.length;i++)if(j=A[i],s=l.hot._acceptedDependencies[j]){if(-1!==I.indexOf(s))continue;I.push(s)}for(i=0;i<I.length;i++){s=I[i];try{s(A)}catch(t){e.onErrored&&e.onErrored({type:"accept-errored",moduleId:u,dependencyId:A[i],error:t}),e.ignoreErrored||H||(H=t)}}}for(i=0;i<P.length;i++){var U=P[i];u=U.module,r=[u];try{M(u)}catch(t){if("function"==typeof U.errorHandler)try{U.errorHandler(t)}catch(s){e.onErrored&&e.onErrored({type:"self-accept-error-handler-errored",moduleId:u,error:s,originalError:t}),e.ignoreErrored||H||(H=s),H||(H=t)}else e.onErrored&&e.onErrored({type:"self-accept-errored",moduleId:u,error:t}),e.ignoreErrored||H||(H=t)}}return H?(h("fail"),Promise.reject(H)):(h("idle"),new Promise((function(t){t(v)})))}var D={};function M(e){if(D[e])return D[e].exports;var s=D[e]={i:e,l:!1,exports:{},hot:u(e),parents:(o=r,r=[],o),children:[]};return t[e].call(s.exports,s,s.exports,l(e)),s.l=!0,s.exports}M.m=t,M.c=D,M.d=function(t,e,s){M.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:s})},M.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},M.t=function(t,e){if(1&e&&(t=M(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var s=Object.create(null);if(M.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)M.d(s,i,function(e){return t[e]}.bind(null,i));return s},M.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return M.d(e,"a",e),e},M.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},M.p="",M.h=function(){return n},l("./src/audit.js")(M.s="./src/audit.js")}({"./node_modules/cssfilter/lib/css.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/default.js"),n=s("./node_modules/cssfilter/lib/parser.js");s("./node_modules/cssfilter/lib/util.js");function a(t){return null==t}function r(t){(t=function(t){var e={};for(var s in t)e[s]=t[s];return e}(t||{})).whiteList=t.whiteList||i.whiteList,t.onAttr=t.onAttr||i.onAttr,t.onIgnoreAttr=t.onIgnoreAttr||i.onIgnoreAttr,t.safeAttrValue=t.safeAttrValue||i.safeAttrValue,this.options=t}r.prototype.process=function(t){if(!(t=(t=t||"").toString()))return"";var e=this.options,s=e.whiteList,i=e.onAttr,r=e.onIgnoreAttr,o=e.safeAttrValue;return n(t,(function(t,e,n,l,u){var d=s[n],c=!1;if(!0===d?c=d:"function"==typeof d?c=d(l):d instanceof RegExp&&(c=d.test(l)),!0!==c&&(c=!1),l=o(n,l)){var h,f={position:e,sourcePosition:t,source:u,isWhite:c};return c?a(h=i(n,l,f))?n+":"+l:h:a(h=r(n,l,f))?void 0:h}}))},t.exports=r},"./node_modules/cssfilter/lib/default.js":function(t,e){function s(){var t={"align-content":!1,"align-items":!1,"align-self":!1,"alignment-adjust":!1,"alignment-baseline":!1,all:!1,"anchor-point":!1,animation:!1,"animation-delay":!1,"animation-direction":!1,"animation-duration":!1,"animation-fill-mode":!1,"animation-iteration-count":!1,"animation-name":!1,"animation-play-state":!1,"animation-timing-function":!1,azimuth:!1,"backface-visibility":!1,background:!0,"background-attachment":!0,"background-clip":!0,"background-color":!0,"background-image":!0,"background-origin":!0,"background-position":!0,"background-repeat":!0,"background-size":!0,"baseline-shift":!1,binding:!1,bleed:!1,"bookmark-label":!1,"bookmark-level":!1,"bookmark-state":!1,border:!0,"border-bottom":!0,"border-bottom-color":!0,"border-bottom-left-radius":!0,"border-bottom-right-radius":!0,"border-bottom-style":!0,"border-bottom-width":!0,"border-collapse":!0,"border-color":!0,"border-image":!0,"border-image-outset":!0,"border-image-repeat":!0,"border-image-slice":!0,"border-image-source":!0,"border-image-width":!0,"border-left":!0,"border-left-color":!0,"border-left-style":!0,"border-left-width":!0,"border-radius":!0,"border-right":!0,"border-right-color":!0,"border-right-style":!0,"border-right-width":!0,"border-spacing":!0,"border-style":!0,"border-top":!0,"border-top-color":!0,"border-top-left-radius":!0,"border-top-right-radius":!0,"border-top-style":!0,"border-top-width":!0,"border-width":!0,bottom:!1,"box-decoration-break":!0,"box-shadow":!0,"box-sizing":!0,"box-snap":!0,"box-suppress":!0,"break-after":!0,"break-before":!0,"break-inside":!0,"caption-side":!1,chains:!1,clear:!0,clip:!1,"clip-path":!1,"clip-rule":!1,color:!0,"color-interpolation-filters":!0,"column-count":!1,"column-fill":!1,"column-gap":!1,"column-rule":!1,"column-rule-color":!1,"column-rule-style":!1,"column-rule-width":!1,"column-span":!1,"column-width":!1,columns:!1,contain:!1,content:!1,"counter-increment":!1,"counter-reset":!1,"counter-set":!1,crop:!1,cue:!1,"cue-after":!1,"cue-before":!1,cursor:!1,direction:!1,display:!0,"display-inside":!0,"display-list":!0,"display-outside":!0,"dominant-baseline":!1,elevation:!1,"empty-cells":!1,filter:!1,flex:!1,"flex-basis":!1,"flex-direction":!1,"flex-flow":!1,"flex-grow":!1,"flex-shrink":!1,"flex-wrap":!1,float:!1,"float-offset":!1,"flood-color":!1,"flood-opacity":!1,"flow-from":!1,"flow-into":!1,font:!0,"font-family":!0,"font-feature-settings":!0,"font-kerning":!0,"font-language-override":!0,"font-size":!0,"font-size-adjust":!0,"font-stretch":!0,"font-style":!0,"font-synthesis":!0,"font-variant":!0,"font-variant-alternates":!0,"font-variant-caps":!0,"font-variant-east-asian":!0,"font-variant-ligatures":!0,"font-variant-numeric":!0,"font-variant-position":!0,"font-weight":!0,grid:!1,"grid-area":!1,"grid-auto-columns":!1,"grid-auto-flow":!1,"grid-auto-rows":!1,"grid-column":!1,"grid-column-end":!1,"grid-column-start":!1,"grid-row":!1,"grid-row-end":!1,"grid-row-start":!1,"grid-template":!1,"grid-template-areas":!1,"grid-template-columns":!1,"grid-template-rows":!1,"hanging-punctuation":!1,height:!0,hyphens:!1,icon:!1,"image-orientation":!1,"image-resolution":!1,"ime-mode":!1,"initial-letters":!1,"inline-box-align":!1,"justify-content":!1,"justify-items":!1,"justify-self":!1,left:!1,"letter-spacing":!0,"lighting-color":!0,"line-box-contain":!1,"line-break":!1,"line-grid":!1,"line-height":!1,"line-snap":!1,"line-stacking":!1,"line-stacking-ruby":!1,"line-stacking-shift":!1,"line-stacking-strategy":!1,"list-style":!0,"list-style-image":!0,"list-style-position":!0,"list-style-type":!0,margin:!0,"margin-bottom":!0,"margin-left":!0,"margin-right":!0,"margin-top":!0,"marker-offset":!1,"marker-side":!1,marks:!1,mask:!1,"mask-box":!1,"mask-box-outset":!1,"mask-box-repeat":!1,"mask-box-slice":!1,"mask-box-source":!1,"mask-box-width":!1,"mask-clip":!1,"mask-image":!1,"mask-origin":!1,"mask-position":!1,"mask-repeat":!1,"mask-size":!1,"mask-source-type":!1,"mask-type":!1,"max-height":!0,"max-lines":!1,"max-width":!0,"min-height":!0,"min-width":!0,"move-to":!1,"nav-down":!1,"nav-index":!1,"nav-left":!1,"nav-right":!1,"nav-up":!1,"object-fit":!1,"object-position":!1,opacity:!1,order:!1,orphans:!1,outline:!1,"outline-color":!1,"outline-offset":!1,"outline-style":!1,"outline-width":!1,overflow:!1,"overflow-wrap":!1,"overflow-x":!1,"overflow-y":!1,padding:!0,"padding-bottom":!0,"padding-left":!0,"padding-right":!0,"padding-top":!0,page:!1,"page-break-after":!1,"page-break-before":!1,"page-break-inside":!1,"page-policy":!1,pause:!1,"pause-after":!1,"pause-before":!1,perspective:!1,"perspective-origin":!1,pitch:!1,"pitch-range":!1,"play-during":!1,position:!1,"presentation-level":!1,quotes:!1,"region-fragment":!1,resize:!1,rest:!1,"rest-after":!1,"rest-before":!1,richness:!1,right:!1,rotation:!1,"rotation-point":!1,"ruby-align":!1,"ruby-merge":!1,"ruby-position":!1,"shape-image-threshold":!1,"shape-outside":!1,"shape-margin":!1,size:!1,speak:!1,"speak-as":!1,"speak-header":!1,"speak-numeral":!1,"speak-punctuation":!1,"speech-rate":!1,stress:!1,"string-set":!1,"tab-size":!1,"table-layout":!1,"text-align":!0,"text-align-last":!0,"text-combine-upright":!0,"text-decoration":!0,"text-decoration-color":!0,"text-decoration-line":!0,"text-decoration-skip":!0,"text-decoration-style":!0,"text-emphasis":!0,"text-emphasis-color":!0,"text-emphasis-position":!0,"text-emphasis-style":!0,"text-height":!0,"text-indent":!0,"text-justify":!0,"text-orientation":!0,"text-overflow":!0,"text-shadow":!0,"text-space-collapse":!0,"text-transform":!0,"text-underline-position":!0,"text-wrap":!0,top:!1,transform:!1,"transform-origin":!1,"transform-style":!1,transition:!1,"transition-delay":!1,"transition-duration":!1,"transition-property":!1,"transition-timing-function":!1,"unicode-bidi":!1,"vertical-align":!1,visibility:!1,"voice-balance":!1,"voice-duration":!1,"voice-family":!1,"voice-pitch":!1,"voice-range":!1,"voice-rate":!1,"voice-stress":!1,"voice-volume":!1,volume:!1,"white-space":!1,widows:!1,width:!0,"will-change":!1,"word-break":!0,"word-spacing":!0,"word-wrap":!0,"wrap-flow":!1,"wrap-through":!1,"writing-mode":!1,"z-index":!1};return t}var i=/javascript\s*\:/gim;e.whiteList=s(),e.getDefaultWhiteList=s,e.onAttr=function(t,e,s){},e.onIgnoreAttr=function(t,e,s){},e.safeAttrValue=function(t,e){return i.test(e)?"":e}},"./node_modules/cssfilter/lib/index.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/default.js"),n=s("./node_modules/cssfilter/lib/css.js");for(var a in(e=t.exports=function(t,e){return new n(e).process(t)}).FilterCSS=n,i)e[a]=i[a];"undefined"!=typeof window&&(window.filterCSS=t.exports)},"./node_modules/cssfilter/lib/parser.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/util.js");t.exports=function(t,e){";"!==(t=i.trimRight(t))[t.length-1]&&(t+=";");var s=t.length,n=!1,a=0,r=0,o="";function l(){if(!n){var s=i.trim(t.slice(a,r)),l=s.indexOf(":");if(-1!==l){var u=i.trim(s.slice(0,l)),d=i.trim(s.slice(l+1));if(u){var c=e(a,o.length,u,d,s);c&&(o+=c+"; ")}}}a=r+1}for(;r<s;r++){var u=t[r];if("/"===u&&"*"===t[r+1]){var d=t.indexOf("*/",r+2);if(-1===d)break;a=(r=d+1)+1,n=!1}else"("===u?n=!0:")"===u?n=!1:";"===u?n||l():"\n"===u&&l()}return i.trim(o)}},"./node_modules/cssfilter/lib/util.js":function(t,e){t.exports={indexOf:function(t,e){var s,i;if(Array.prototype.indexOf)return t.indexOf(e);for(s=0,i=t.length;s<i;s++)if(t[s]===e)return s;return-1},forEach:function(t,e,s){var i,n;if(Array.prototype.forEach)return t.forEach(e,s);for(i=0,n=t.length;i<n;i++)e.call(s,t[i],i,t)},trim:function(t){return String.prototype.trim?t.trim():t.replace(/(^\s*)|(\s*$)/g,"")},trimRight:function(t){return String.prototype.trimRight?t.trimRight():t.replace(/(\s*$)/g,"")}}},"./node_modules/lodash/_Symbol.js":function(t,e,s){var i=s("./node_modules/lodash/_root.js").Symbol;t.exports=i},"./node_modules/lodash/_baseGetTag.js":function(t,e,s){var i=s("./node_modules/lodash/_Symbol.js"),n=s("./node_modules/lodash/_getRawTag.js"),a=s("./node_modules/lodash/_objectToString.js"),r=i?i.toStringTag:void 0;t.exports=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":r&&r in Object(t)?n(t):a(t)}},"./node_modules/lodash/_baseSlice.js":function(t,e){t.exports=function(t,e,s){var i=-1,n=t.length;e<0&&(e=-e>n?0:n+e),(s=s>n?n:s)<0&&(s+=n),n=e>s?0:s-e>>>0,e>>>=0;for(var a=Array(n);++i<n;)a[i]=t[i+e];return a}},"./node_modules/lodash/_freeGlobal.js":function(t,e,s){(function(e){var s="object"==typeof e&&e&&e.Object===Object&&e;t.exports=s}).call(this,s("./node_modules/webpack/buildin/global.js"))},"./node_modules/lodash/_getRawTag.js":function(t,e,s){var i=s("./node_modules/lodash/_Symbol.js"),n=Object.prototype,a=n.hasOwnProperty,r=n.toString,o=i?i.toStringTag:void 0;t.exports=function(t){var e=a.call(t,o),s=t[o];try{t[o]=void 0;var i=!0}catch(t){}var n=r.call(t);return i&&(e?t[o]=s:delete t[o]),n}},"./node_modules/lodash/_isIndex.js":function(t,e){var s=/^(?:0|[1-9]\d*)$/;t.exports=function(t,e){var i=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==i||"symbol"!=i&&s.test(t))&&t>-1&&t%1==0&&t<e}},"./node_modules/lodash/_isIterateeCall.js":function(t,e,s){var i=s("./node_modules/lodash/eq.js"),n=s("./node_modules/lodash/isArrayLike.js"),a=s("./node_modules/lodash/_isIndex.js"),r=s("./node_modules/lodash/isObject.js");t.exports=function(t,e,s){if(!r(s))return!1;var o=typeof e;return!!("number"==o?n(s)&&a(e,s.length):"string"==o&&e in s)&&i(s[e],t)}},"./node_modules/lodash/_objectToString.js":function(t,e){var s=Object.prototype.toString;t.exports=function(t){return s.call(t)}},"./node_modules/lodash/_root.js":function(t,e,s){var i=s("./node_modules/lodash/_freeGlobal.js"),n="object"==typeof self&&self&&self.Object===Object&&self,a=i||n||Function("return this")();t.exports=a},"./node_modules/lodash/chunk.js":function(t,e,s){var i=s("./node_modules/lodash/_baseSlice.js"),n=s("./node_modules/lodash/_isIterateeCall.js"),a=s("./node_modules/lodash/toInteger.js"),r=Math.ceil,o=Math.max;t.exports=function(t,e,s){e=(s?n(t,e,s):void 0===e)?1:o(a(e),0);var l=null==t?0:t.length;if(!l||e<1)return[];for(var u=0,d=0,c=Array(r(l/e));u<l;)c[d++]=i(t,u,u+=e);return c}},"./node_modules/lodash/eq.js":function(t,e){t.exports=function(t,e){return t===e||t!=t&&e!=e}},"./node_modules/lodash/isArrayLike.js":function(t,e,s){var i=s("./node_modules/lodash/isFunction.js"),n=s("./node_modules/lodash/isLength.js");t.exports=function(t){return null!=t&&n(t.length)&&!i(t)}},"./node_modules/lodash/isFunction.js":function(t,e,s){var i=s("./node_modules/lodash/_baseGetTag.js"),n=s("./node_modules/lodash/isObject.js");t.exports=function(t){if(!n(t))return!1;var e=i(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}},"./node_modules/lodash/isLength.js":function(t,e){t.exports=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}},"./node_modules/lodash/isObject.js":function(t,e){t.exports=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},"./node_modules/lodash/isObjectLike.js":function(t,e){t.exports=function(t){return null!=t&&"object"==typeof t}},"./node_modules/lodash/isSymbol.js":function(t,e,s){var i=s("./node_modules/lodash/_baseGetTag.js"),n=s("./node_modules/lodash/isObjectLike.js");t.exports=function(t){return"symbol"==typeof t||n(t)&&"[object Symbol]"==i(t)}},"./node_modules/lodash/toFinite.js":function(t,e,s){var i=s("./node_modules/lodash/toNumber.js");t.exports=function(t){return t?(t=i(t))===1/0||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}},"./node_modules/lodash/toInteger.js":function(t,e,s){var i=s("./node_modules/lodash/toFinite.js");t.exports=function(t){var e=i(t),s=e%1;return e==e?s?e-s:e:0}},"./node_modules/lodash/toNumber.js":function(t,e,s){var i=s("./node_modules/lodash/isObject.js"),n=s("./node_modules/lodash/isSymbol.js"),a=/^\s+|\s+$/g,r=/^[-+]0x[0-9a-f]+$/i,o=/^0b[01]+$/i,l=/^0o[0-7]+$/i,u=parseInt;t.exports=function(t){if("number"==typeof t)return t;if(n(t))return NaN;if(i(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=i(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(a,"");var s=o.test(t);return s||l.test(t)?u(t.slice(2),s?2:8):r.test(t)?NaN:+t}},"./node_modules/moment/moment.js":function(t,e,s){(function(t){t.exports=function(){"use strict";var e,s;function i(){return e.apply(null,arguments)}function n(t){return t instanceof Array||"[object Array]"===Object.prototype.toString.call(t)}function a(t){return null!=t&&"[object Object]"===Object.prototype.toString.call(t)}function r(t){return void 0===t}function o(t){return"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t)}function l(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function u(t,e){var s,i=[];for(s=0;s<t.length;++s)i.push(e(t[s],s));return i}function d(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function c(t,e){for(var s in e)d(e,s)&&(t[s]=e[s]);return d(e,"toString")&&(t.toString=e.toString),d(e,"valueOf")&&(t.valueOf=e.valueOf),t}function h(t,e,s,i){return xe(t,e,s,i,!0).utc()}function f(t){return null==t._pf&&(t._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null,rfc2822:!1,weekdayMismatch:!1}),t._pf}function m(t){if(null==t._isValid){var e=f(t),i=s.call(e.parsedDateParts,(function(t){return null!=t})),n=!isNaN(t._d.getTime())&&e.overflow<0&&!e.empty&&!e.invalidMonth&&!e.invalidWeekday&&!e.weekdayMismatch&&!e.nullInput&&!e.invalidFormat&&!e.userInvalidated&&(!e.meridiem||e.meridiem&&i);if(t._strict&&(n=n&&0===e.charsLeftOver&&0===e.unusedTokens.length&&void 0===e.bigHour),null!=Object.isFrozen&&Object.isFrozen(t))return n;t._isValid=n}return t._isValid}function _(t){var e=h(NaN);return null!=t?c(f(e),t):f(e).userInvalidated=!0,e}s=Array.prototype.some?Array.prototype.some:function(t){for(var e=Object(this),s=e.length>>>0,i=0;i<s;i++)if(i in e&&t.call(this,e[i],i,e))return!0;return!1};var p=i.momentProperties=[];function v(t,e){var s,i,n;if(r(e._isAMomentObject)||(t._isAMomentObject=e._isAMomentObject),r(e._i)||(t._i=e._i),r(e._f)||(t._f=e._f),r(e._l)||(t._l=e._l),r(e._strict)||(t._strict=e._strict),r(e._tzm)||(t._tzm=e._tzm),r(e._isUTC)||(t._isUTC=e._isUTC),r(e._offset)||(t._offset=e._offset),r(e._pf)||(t._pf=f(e)),r(e._locale)||(t._locale=e._locale),p.length>0)for(s=0;s<p.length;s++)r(n=e[i=p[s]])||(t[i]=n);return t}var g=!1;function y(t){v(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===g&&(g=!0,i.updateOffset(this),g=!1)}function b(t){return t instanceof y||null!=t&&null!=t._isAMomentObject}function w(t){return t<0?Math.ceil(t)||0:Math.floor(t)}function k(t){var e=+t,s=0;return 0!==e&&isFinite(e)&&(s=w(e)),s}function x(t,e,s){var i,n=Math.min(t.length,e.length),a=Math.abs(t.length-e.length),r=0;for(i=0;i<n;i++)(s&&t[i]!==e[i]||!s&&k(t[i])!==k(e[i]))&&r++;return r+a}function C(t){!1===i.suppressDeprecationWarnings&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function S(t,e){var s=!0;return c((function(){if(null!=i.deprecationHandler&&i.deprecationHandler(null,t),s){for(var n,a=[],r=0;r<arguments.length;r++){if(n="","object"==typeof arguments[r]){for(var o in n+="\n["+r+"] ",arguments[0])n+=o+": "+arguments[0][o]+", ";n=n.slice(0,-2)}else n=arguments[r];a.push(n)}C(t+"\nArguments: "+Array.prototype.slice.call(a).join("")+"\n"+(new Error).stack),s=!1}return e.apply(this,arguments)}),e)}var D,M={};function O(t,e){null!=i.deprecationHandler&&i.deprecationHandler(t,e),M[t]||(C(e),M[t]=!0)}function Y(t){return t instanceof Function||"[object Function]"===Object.prototype.toString.call(t)}function T(t,e){var s,i=c({},t);for(s in e)d(e,s)&&(a(t[s])&&a(e[s])?(i[s]={},c(i[s],t[s]),c(i[s],e[s])):null!=e[s]?i[s]=e[s]:delete i[s]);for(s in t)d(t,s)&&!d(e,s)&&a(t[s])&&(i[s]=c({},i[s]));return i}function P(t){null!=t&&this.set(t)}i.suppressDeprecationWarnings=!1,i.deprecationHandler=null,D=Object.keys?Object.keys:function(t){var e,s=[];for(e in t)d(t,e)&&s.push(e);return s};var j={};function A(t,e){var s=t.toLowerCase();j[s]=j[s+"s"]=j[e]=t}function L(t){return"string"==typeof t?j[t]||j[t.toLowerCase()]:void 0}function E(t){var e,s,i={};for(s in t)d(t,s)&&(e=L(s))&&(i[e]=t[s]);return i}var R={};function N(t,e){R[t]=e}function H(t,e,s){var i=""+Math.abs(t),n=e-i.length;return(t>=0?s?"+":"":"-")+Math.pow(10,Math.max(0,n)).toString().substr(1)+i}var I=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,U=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,W={},F={};function V(t,e,s,i){var n=i;"string"==typeof i&&(n=function(){return this[i]()}),t&&(F[t]=n),e&&(F[e[0]]=function(){return H(n.apply(this,arguments),e[1],e[2])}),s&&(F[s]=function(){return this.localeData().ordinal(n.apply(this,arguments),t)})}function $(t,e){return t.isValid()?(e=G(e,t.localeData()),W[e]=W[e]||function(t){var e,s,i,n=t.match(I);for(e=0,s=n.length;e<s;e++)F[n[e]]?n[e]=F[n[e]]:n[e]=(i=n[e]).match(/\[[\s\S]/)?i.replace(/^\[|\]$/g,""):i.replace(/\\/g,"");return function(e){var i,a="";for(i=0;i<s;i++)a+=Y(n[i])?n[i].call(e,t):n[i];return a}}(e),W[e](t)):t.localeData().invalidDate()}function G(t,e){var s=5;function i(t){return e.longDateFormat(t)||t}for(U.lastIndex=0;s>=0&&U.test(t);)t=t.replace(U,i),U.lastIndex=0,s-=1;return t}var z=/\d/,q=/\d\d/,Z=/\d{3}/,B=/\d{4}/,Q=/[+-]?\d{6}/,J=/\d\d?/,X=/\d\d\d\d?/,K=/\d\d\d\d\d\d?/,tt=/\d{1,3}/,et=/\d{1,4}/,st=/[+-]?\d{1,6}/,it=/\d+/,nt=/[+-]?\d+/,at=/Z|[+-]\d\d:?\d\d/gi,rt=/Z|[+-]\d\d(?::?\d\d)?/gi,ot=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,lt={};function ut(t,e,s){lt[t]=Y(e)?e:function(t,i){return t&&s?s:e}}function dt(t,e){return d(lt,t)?lt[t](e._strict,e._locale):new RegExp(ct(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,(function(t,e,s,i,n){return e||s||i||n}))))}function ct(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var ht={};function ft(t,e){var s,i=e;for("string"==typeof t&&(t=[t]),o(e)&&(i=function(t,s){s[e]=k(t)}),s=0;s<t.length;s++)ht[t[s]]=i}function mt(t,e){ft(t,(function(t,s,i,n){i._w=i._w||{},e(t,i._w,i,n)}))}function _t(t,e,s){null!=e&&d(ht,t)&&ht[t](e,s._a,s,t)}function pt(t){return vt(t)?366:365}function vt(t){return t%4==0&&t%100!=0||t%400==0}V("Y",0,0,(function(){var t=this.year();return t<=9999?""+t:"+"+t})),V(0,["YY",2],0,(function(){return this.year()%100})),V(0,["YYYY",4],0,"year"),V(0,["YYYYY",5],0,"year"),V(0,["YYYYYY",6,!0],0,"year"),A("year","y"),N("year",1),ut("Y",nt),ut("YY",J,q),ut("YYYY",et,B),ut("YYYYY",st,Q),ut("YYYYYY",st,Q),ft(["YYYYY","YYYYYY"],0),ft("YYYY",(function(t,e){e[0]=2===t.length?i.parseTwoDigitYear(t):k(t)})),ft("YY",(function(t,e){e[0]=i.parseTwoDigitYear(t)})),ft("Y",(function(t,e){e[0]=parseInt(t,10)})),i.parseTwoDigitYear=function(t){return k(t)+(k(t)>68?1900:2e3)};var gt,yt=bt("FullYear",!0);function bt(t,e){return function(s){return null!=s?(kt(this,t,s),i.updateOffset(this,e),this):wt(this,t)}}function wt(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function kt(t,e,s){t.isValid()&&!isNaN(s)&&("FullYear"===e&&vt(t.year())&&1===t.month()&&29===t.date()?t._d["set"+(t._isUTC?"UTC":"")+e](s,t.month(),xt(s,t.month())):t._d["set"+(t._isUTC?"UTC":"")+e](s))}function xt(t,e){if(isNaN(t)||isNaN(e))return NaN;var s,i=(e%(s=12)+s)%s;return t+=(e-i)/12,1===i?vt(t)?29:28:31-i%7%2}gt=Array.prototype.indexOf?Array.prototype.indexOf:function(t){var e;for(e=0;e<this.length;++e)if(this[e]===t)return e;return-1},V("M",["MM",2],"Mo",(function(){return this.month()+1})),V("MMM",0,0,(function(t){return this.localeData().monthsShort(this,t)})),V("MMMM",0,0,(function(t){return this.localeData().months(this,t)})),A("month","M"),N("month",8),ut("M",J),ut("MM",J,q),ut("MMM",(function(t,e){return e.monthsShortRegex(t)})),ut("MMMM",(function(t,e){return e.monthsRegex(t)})),ft(["M","MM"],(function(t,e){e[1]=k(t)-1})),ft(["MMM","MMMM"],(function(t,e,s,i){var n=s._locale.monthsParse(t,i,s._strict);null!=n?e[1]=n:f(s).invalidMonth=t}));var Ct=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,St="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),Dt="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_");function Mt(t,e,s){var i,n,a,r=t.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],i=0;i<12;++i)a=h([2e3,i]),this._shortMonthsParse[i]=this.monthsShort(a,"").toLocaleLowerCase(),this._longMonthsParse[i]=this.months(a,"").toLocaleLowerCase();return s?"MMM"===e?-1!==(n=gt.call(this._shortMonthsParse,r))?n:null:-1!==(n=gt.call(this._longMonthsParse,r))?n:null:"MMM"===e?-1!==(n=gt.call(this._shortMonthsParse,r))?n:-1!==(n=gt.call(this._longMonthsParse,r))?n:null:-1!==(n=gt.call(this._longMonthsParse,r))?n:-1!==(n=gt.call(this._shortMonthsParse,r))?n:null}function Ot(t,e){var s;if(!t.isValid())return t;if("string"==typeof e)if(/^\d+$/.test(e))e=k(e);else if(!o(e=t.localeData().monthsParse(e)))return t;return s=Math.min(t.date(),xt(t.year(),e)),t._d["set"+(t._isUTC?"UTC":"")+"Month"](e,s),t}function Yt(t){return null!=t?(Ot(this,t),i.updateOffset(this,!0),this):wt(this,"Month")}var Tt=ot,Pt=ot;function jt(){function t(t,e){return e.length-t.length}var e,s,i=[],n=[],a=[];for(e=0;e<12;e++)s=h([2e3,e]),i.push(this.monthsShort(s,"")),n.push(this.months(s,"")),a.push(this.months(s,"")),a.push(this.monthsShort(s,""));for(i.sort(t),n.sort(t),a.sort(t),e=0;e<12;e++)i[e]=ct(i[e]),n[e]=ct(n[e]);for(e=0;e<24;e++)a[e]=ct(a[e]);this._monthsRegex=new RegExp("^("+a.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+n.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+i.join("|")+")","i")}function At(t,e,s,i,n,a,r){var o;return t<100&&t>=0?(o=new Date(t+400,e,s,i,n,a,r),isFinite(o.getFullYear())&&o.setFullYear(t)):o=new Date(t,e,s,i,n,a,r),o}function Lt(t){var e;if(t<100&&t>=0){var s=Array.prototype.slice.call(arguments);s[0]=t+400,e=new Date(Date.UTC.apply(null,s)),isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t)}else e=new Date(Date.UTC.apply(null,arguments));return e}function Et(t,e,s){var i=7+e-s;return-(7+Lt(t,0,i).getUTCDay()-e)%7+i-1}function Rt(t,e,s,i,n){var a,r,o=1+7*(e-1)+(7+s-i)%7+Et(t,i,n);return o<=0?r=pt(a=t-1)+o:o>pt(t)?(a=t+1,r=o-pt(t)):(a=t,r=o),{year:a,dayOfYear:r}}function Nt(t,e,s){var i,n,a=Et(t.year(),e,s),r=Math.floor((t.dayOfYear()-a-1)/7)+1;return r<1?i=r+Ht(n=t.year()-1,e,s):r>Ht(t.year(),e,s)?(i=r-Ht(t.year(),e,s),n=t.year()+1):(n=t.year(),i=r),{week:i,year:n}}function Ht(t,e,s){var i=Et(t,e,s),n=Et(t+1,e,s);return(pt(t)-i+n)/7}function It(t,e){return t.slice(e,7).concat(t.slice(0,e))}V("w",["ww",2],"wo","week"),V("W",["WW",2],"Wo","isoWeek"),A("week","w"),A("isoWeek","W"),N("week",5),N("isoWeek",5),ut("w",J),ut("ww",J,q),ut("W",J),ut("WW",J,q),mt(["w","ww","W","WW"],(function(t,e,s,i){e[i.substr(0,1)]=k(t)})),V("d",0,"do","day"),V("dd",0,0,(function(t){return this.localeData().weekdaysMin(this,t)})),V("ddd",0,0,(function(t){return this.localeData().weekdaysShort(this,t)})),V("dddd",0,0,(function(t){return this.localeData().weekdays(this,t)})),V("e",0,0,"weekday"),V("E",0,0,"isoWeekday"),A("day","d"),A("weekday","e"),A("isoWeekday","E"),N("day",11),N("weekday",11),N("isoWeekday",11),ut("d",J),ut("e",J),ut("E",J),ut("dd",(function(t,e){return e.weekdaysMinRegex(t)})),ut("ddd",(function(t,e){return e.weekdaysShortRegex(t)})),ut("dddd",(function(t,e){return e.weekdaysRegex(t)})),mt(["dd","ddd","dddd"],(function(t,e,s,i){var n=s._locale.weekdaysParse(t,i,s._strict);null!=n?e.d=n:f(s).invalidWeekday=t})),mt(["d","e","E"],(function(t,e,s,i){e[i]=k(t)}));var Ut="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Wt="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Ft="Su_Mo_Tu_We_Th_Fr_Sa".split("_");function Vt(t,e,s){var i,n,a,r=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],i=0;i<7;++i)a=h([2e3,1]).day(i),this._minWeekdaysParse[i]=this.weekdaysMin(a,"").toLocaleLowerCase(),this._shortWeekdaysParse[i]=this.weekdaysShort(a,"").toLocaleLowerCase(),this._weekdaysParse[i]=this.weekdays(a,"").toLocaleLowerCase();return s?"dddd"===e?-1!==(n=gt.call(this._weekdaysParse,r))?n:null:"ddd"===e?-1!==(n=gt.call(this._shortWeekdaysParse,r))?n:null:-1!==(n=gt.call(this._minWeekdaysParse,r))?n:null:"dddd"===e?-1!==(n=gt.call(this._weekdaysParse,r))?n:-1!==(n=gt.call(this._shortWeekdaysParse,r))?n:-1!==(n=gt.call(this._minWeekdaysParse,r))?n:null:"ddd"===e?-1!==(n=gt.call(this._shortWeekdaysParse,r))?n:-1!==(n=gt.call(this._weekdaysParse,r))?n:-1!==(n=gt.call(this._minWeekdaysParse,r))?n:null:-1!==(n=gt.call(this._minWeekdaysParse,r))?n:-1!==(n=gt.call(this._weekdaysParse,r))?n:-1!==(n=gt.call(this._shortWeekdaysParse,r))?n:null}var $t=ot,Gt=ot,zt=ot;function qt(){function t(t,e){return e.length-t.length}var e,s,i,n,a,r=[],o=[],l=[],u=[];for(e=0;e<7;e++)s=h([2e3,1]).day(e),i=this.weekdaysMin(s,""),n=this.weekdaysShort(s,""),a=this.weekdays(s,""),r.push(i),o.push(n),l.push(a),u.push(i),u.push(n),u.push(a);for(r.sort(t),o.sort(t),l.sort(t),u.sort(t),e=0;e<7;e++)o[e]=ct(o[e]),l[e]=ct(l[e]),u[e]=ct(u[e]);this._weekdaysRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+l.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+o.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+r.join("|")+")","i")}function Zt(){return this.hours()%12||12}function Bt(t,e){V(t,0,0,(function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)}))}function Qt(t,e){return e._meridiemParse}V("H",["HH",2],0,"hour"),V("h",["hh",2],0,Zt),V("k",["kk",2],0,(function(){return this.hours()||24})),V("hmm",0,0,(function(){return""+Zt.apply(this)+H(this.minutes(),2)})),V("hmmss",0,0,(function(){return""+Zt.apply(this)+H(this.minutes(),2)+H(this.seconds(),2)})),V("Hmm",0,0,(function(){return""+this.hours()+H(this.minutes(),2)})),V("Hmmss",0,0,(function(){return""+this.hours()+H(this.minutes(),2)+H(this.seconds(),2)})),Bt("a",!0),Bt("A",!1),A("hour","h"),N("hour",13),ut("a",Qt),ut("A",Qt),ut("H",J),ut("h",J),ut("k",J),ut("HH",J,q),ut("hh",J,q),ut("kk",J,q),ut("hmm",X),ut("hmmss",K),ut("Hmm",X),ut("Hmmss",K),ft(["H","HH"],3),ft(["k","kk"],(function(t,e,s){var i=k(t);e[3]=24===i?0:i})),ft(["a","A"],(function(t,e,s){s._isPm=s._locale.isPM(t),s._meridiem=t})),ft(["h","hh"],(function(t,e,s){e[3]=k(t),f(s).bigHour=!0})),ft("hmm",(function(t,e,s){var i=t.length-2;e[3]=k(t.substr(0,i)),e[4]=k(t.substr(i)),f(s).bigHour=!0})),ft("hmmss",(function(t,e,s){var i=t.length-4,n=t.length-2;e[3]=k(t.substr(0,i)),e[4]=k(t.substr(i,2)),e[5]=k(t.substr(n)),f(s).bigHour=!0})),ft("Hmm",(function(t,e,s){var i=t.length-2;e[3]=k(t.substr(0,i)),e[4]=k(t.substr(i))})),ft("Hmmss",(function(t,e,s){var i=t.length-4,n=t.length-2;e[3]=k(t.substr(0,i)),e[4]=k(t.substr(i,2)),e[5]=k(t.substr(n))}));var Jt,Xt=bt("Hours",!0),Kt={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:St,monthsShort:Dt,week:{dow:0,doy:6},weekdays:Ut,weekdaysMin:Ft,weekdaysShort:Wt,meridiemParse:/[ap]\.?m?\.?/i},te={},ee={};function se(t){return t?t.toLowerCase().replace("_","-"):t}function ie(e){var s=null;if(!te[e]&&void 0!==t&&t&&t.exports)try{s=Jt._abbr,!function(){var t=new Error("Cannot find module 'undefined'");throw t.code="MODULE_NOT_FOUND",t}(),ne(s)}catch(t){}return te[e]}function ne(t,e){var s;return t&&((s=r(e)?re(t):ae(t,e))?Jt=s:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+t+" not found. Did you forget to load it?")),Jt._abbr}function ae(t,e){if(null!==e){var s,i=Kt;if(e.abbr=t,null!=te[t])O("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),i=te[t]._config;else if(null!=e.parentLocale)if(null!=te[e.parentLocale])i=te[e.parentLocale]._config;else{if(null==(s=ie(e.parentLocale)))return ee[e.parentLocale]||(ee[e.parentLocale]=[]),ee[e.parentLocale].push({name:t,config:e}),null;i=s._config}return te[t]=new P(T(i,e)),ee[t]&&ee[t].forEach((function(t){ae(t.name,t.config)})),ne(t),te[t]}return delete te[t],null}function re(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Jt;if(!n(t)){if(e=ie(t))return e;t=[t]}return function(t){for(var e,s,i,n,a=0;a<t.length;){for(e=(n=se(t[a]).split("-")).length,s=(s=se(t[a+1]))?s.split("-"):null;e>0;){if(i=ie(n.slice(0,e).join("-")))return i;if(s&&s.length>=e&&x(n,s,!0)>=e-1)break;e--}a++}return Jt}(t)}function oe(t){var e,s=t._a;return s&&-2===f(t).overflow&&(e=s[1]<0||s[1]>11?1:s[2]<1||s[2]>xt(s[0],s[1])?2:s[3]<0||s[3]>24||24===s[3]&&(0!==s[4]||0!==s[5]||0!==s[6])?3:s[4]<0||s[4]>59?4:s[5]<0||s[5]>59?5:s[6]<0||s[6]>999?6:-1,f(t)._overflowDayOfYear&&(e<0||e>2)&&(e=2),f(t)._overflowWeeks&&-1===e&&(e=7),f(t)._overflowWeekday&&-1===e&&(e=8),f(t).overflow=e),t}function le(t,e,s){return null!=t?t:null!=e?e:s}function ue(t){var e,s,n,a,r,o=[];if(!t._d){for(n=function(t){var e=new Date(i.now());return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}(t),t._w&&null==t._a[2]&&null==t._a[1]&&function(t){var e,s,i,n,a,r,o,l;if(null!=(e=t._w).GG||null!=e.W||null!=e.E)a=1,r=4,s=le(e.GG,t._a[0],Nt(Ce(),1,4).year),i=le(e.W,1),((n=le(e.E,1))<1||n>7)&&(l=!0);else{a=t._locale._week.dow,r=t._locale._week.doy;var u=Nt(Ce(),a,r);s=le(e.gg,t._a[0],u.year),i=le(e.w,u.week),null!=e.d?((n=e.d)<0||n>6)&&(l=!0):null!=e.e?(n=e.e+a,(e.e<0||e.e>6)&&(l=!0)):n=a}i<1||i>Ht(s,a,r)?f(t)._overflowWeeks=!0:null!=l?f(t)._overflowWeekday=!0:(o=Rt(s,i,n,a,r),t._a[0]=o.year,t._dayOfYear=o.dayOfYear)}(t),null!=t._dayOfYear&&(r=le(t._a[0],n[0]),(t._dayOfYear>pt(r)||0===t._dayOfYear)&&(f(t)._overflowDayOfYear=!0),s=Lt(r,0,t._dayOfYear),t._a[1]=s.getUTCMonth(),t._a[2]=s.getUTCDate()),e=0;e<3&&null==t._a[e];++e)t._a[e]=o[e]=n[e];for(;e<7;e++)t._a[e]=o[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[3]&&0===t._a[4]&&0===t._a[5]&&0===t._a[6]&&(t._nextDay=!0,t._a[3]=0),t._d=(t._useUTC?Lt:At).apply(null,o),a=t._useUTC?t._d.getUTCDay():t._d.getDay(),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[3]=24),t._w&&void 0!==t._w.d&&t._w.d!==a&&(f(t).weekdayMismatch=!0)}}var de=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,ce=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,he=/Z|[+-]\d\d(?::?\d\d)?/,fe=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],me=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],_e=/^\/?Date\((\-?\d+)/i;function pe(t){var e,s,i,n,a,r,o=t._i,l=de.exec(o)||ce.exec(o);if(l){for(f(t).iso=!0,e=0,s=fe.length;e<s;e++)if(fe[e][1].exec(l[1])){n=fe[e][0],i=!1!==fe[e][2];break}if(null==n)return void(t._isValid=!1);if(l[3]){for(e=0,s=me.length;e<s;e++)if(me[e][1].exec(l[3])){a=(l[2]||" ")+me[e][0];break}if(null==a)return void(t._isValid=!1)}if(!i&&null!=a)return void(t._isValid=!1);if(l[4]){if(!he.exec(l[4]))return void(t._isValid=!1);r="Z"}t._f=n+(a||"")+(r||""),we(t)}else t._isValid=!1}var ve=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/;function ge(t){var e=parseInt(t,10);return e<=49?2e3+e:e<=999?1900+e:e}var ye={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function be(t){var e,s,i,n,a,r,o,l=ve.exec(t._i.replace(/\([^)]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s\s*/,"").replace(/\s\s*$/,""));if(l){var u=(e=l[4],s=l[3],i=l[2],n=l[5],a=l[6],r=l[7],o=[ge(e),Dt.indexOf(s),parseInt(i,10),parseInt(n,10),parseInt(a,10)],r&&o.push(parseInt(r,10)),o);if(!function(t,e,s){return!t||Wt.indexOf(t)===new Date(e[0],e[1],e[2]).getDay()||(f(s).weekdayMismatch=!0,s._isValid=!1,!1)}(l[1],u,t))return;t._a=u,t._tzm=function(t,e,s){if(t)return ye[t];if(e)return 0;var i=parseInt(s,10),n=i%100;return(i-n)/100*60+n}(l[8],l[9],l[10]),t._d=Lt.apply(null,t._a),t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),f(t).rfc2822=!0}else t._isValid=!1}function we(t){if(t._f!==i.ISO_8601)if(t._f!==i.RFC_2822){t._a=[],f(t).empty=!0;var e,s,n,a,r,o=""+t._i,l=o.length,u=0;for(n=G(t._f,t._locale).match(I)||[],e=0;e<n.length;e++)a=n[e],(s=(o.match(dt(a,t))||[])[0])&&((r=o.substr(0,o.indexOf(s))).length>0&&f(t).unusedInput.push(r),o=o.slice(o.indexOf(s)+s.length),u+=s.length),F[a]?(s?f(t).empty=!1:f(t).unusedTokens.push(a),_t(a,s,t)):t._strict&&!s&&f(t).unusedTokens.push(a);f(t).charsLeftOver=l-u,o.length>0&&f(t).unusedInput.push(o),t._a[3]<=12&&!0===f(t).bigHour&&t._a[3]>0&&(f(t).bigHour=void 0),f(t).parsedDateParts=t._a.slice(0),f(t).meridiem=t._meridiem,t._a[3]=function(t,e,s){var i;return null==s?e:null!=t.meridiemHour?t.meridiemHour(e,s):null!=t.isPM?((i=t.isPM(s))&&e<12&&(e+=12),i||12!==e||(e=0),e):e}(t._locale,t._a[3],t._meridiem),ue(t),oe(t)}else be(t);else pe(t)}function ke(t){var e=t._i,s=t._f;return t._locale=t._locale||re(t._l),null===e||void 0===s&&""===e?_({nullInput:!0}):("string"==typeof e&&(t._i=e=t._locale.preparse(e)),b(e)?new y(oe(e)):(l(e)?t._d=e:n(s)?function(t){var e,s,i,n,a;if(0===t._f.length)return f(t).invalidFormat=!0,void(t._d=new Date(NaN));for(n=0;n<t._f.length;n++)a=0,e=v({},t),null!=t._useUTC&&(e._useUTC=t._useUTC),e._f=t._f[n],we(e),m(e)&&(a+=f(e).charsLeftOver,a+=10*f(e).unusedTokens.length,f(e).score=a,(null==i||a<i)&&(i=a,s=e));c(t,s||e)}(t):s?we(t):function(t){var e=t._i;r(e)?t._d=new Date(i.now()):l(e)?t._d=new Date(e.valueOf()):"string"==typeof e?function(t){var e=_e.exec(t._i);null===e?(pe(t),!1===t._isValid&&(delete t._isValid,be(t),!1===t._isValid&&(delete t._isValid,i.createFromInputFallback(t)))):t._d=new Date(+e[1])}(t):n(e)?(t._a=u(e.slice(0),(function(t){return parseInt(t,10)})),ue(t)):a(e)?function(t){if(!t._d){var e=E(t._i);t._a=u([e.year,e.month,e.day||e.date,e.hour,e.minute,e.second,e.millisecond],(function(t){return t&&parseInt(t,10)})),ue(t)}}(t):o(e)?t._d=new Date(e):i.createFromInputFallback(t)}(t),m(t)||(t._d=null),t))}function xe(t,e,s,i,r){var o,l={};return!0!==s&&!1!==s||(i=s,s=void 0),(a(t)&&function(t){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(t).length;var e;for(e in t)if(t.hasOwnProperty(e))return!1;return!0}(t)||n(t)&&0===t.length)&&(t=void 0),l._isAMomentObject=!0,l._useUTC=l._isUTC=r,l._l=s,l._i=t,l._f=e,l._strict=i,(o=new y(oe(ke(l))))._nextDay&&(o.add(1,"d"),o._nextDay=void 0),o}function Ce(t,e,s,i){return xe(t,e,s,i,!1)}i.createFromInputFallback=S("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",(function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))})),i.ISO_8601=function(){},i.RFC_2822=function(){};var Se=S("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",(function(){var t=Ce.apply(null,arguments);return this.isValid()&&t.isValid()?t<this?this:t:_()})),De=S("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",(function(){var t=Ce.apply(null,arguments);return this.isValid()&&t.isValid()?t>this?this:t:_()}));function Me(t,e){var s,i;if(1===e.length&&n(e[0])&&(e=e[0]),!e.length)return Ce();for(s=e[0],i=1;i<e.length;++i)e[i].isValid()&&!e[i][t](s)||(s=e[i]);return s}var Oe=["year","quarter","month","week","day","hour","minute","second","millisecond"];function Ye(t){var e=E(t),s=e.year||0,i=e.quarter||0,n=e.month||0,a=e.week||e.isoWeek||0,r=e.day||0,o=e.hour||0,l=e.minute||0,u=e.second||0,d=e.millisecond||0;this._isValid=function(t){for(var e in t)if(-1===gt.call(Oe,e)||null!=t[e]&&isNaN(t[e]))return!1;for(var s=!1,i=0;i<Oe.length;++i)if(t[Oe[i]]){if(s)return!1;parseFloat(t[Oe[i]])!==k(t[Oe[i]])&&(s=!0)}return!0}(e),this._milliseconds=+d+1e3*u+6e4*l+1e3*o*60*60,this._days=+r+7*a,this._months=+n+3*i+12*s,this._data={},this._locale=re(),this._bubble()}function Te(t){return t instanceof Ye}function Pe(t){return t<0?-1*Math.round(-1*t):Math.round(t)}function je(t,e){V(t,0,0,(function(){var t=this.utcOffset(),s="+";return t<0&&(t=-t,s="-"),s+H(~~(t/60),2)+e+H(~~t%60,2)}))}je("Z",":"),je("ZZ",""),ut("Z",rt),ut("ZZ",rt),ft(["Z","ZZ"],(function(t,e,s){s._useUTC=!0,s._tzm=Le(rt,t)}));var Ae=/([\+\-]|\d\d)/gi;function Le(t,e){var s=(e||"").match(t);if(null===s)return null;var i=((s[s.length-1]||[])+"").match(Ae)||["-",0,0],n=60*i[1]+k(i[2]);return 0===n?0:"+"===i[0]?n:-n}function Ee(t,e){var s,n;return e._isUTC?(s=e.clone(),n=(b(t)||l(t)?t.valueOf():Ce(t).valueOf())-s.valueOf(),s._d.setTime(s._d.valueOf()+n),i.updateOffset(s,!1),s):Ce(t).local()}function Re(t){return 15*-Math.round(t._d.getTimezoneOffset()/15)}function Ne(){return!!this.isValid()&&this._isUTC&&0===this._offset}i.updateOffset=function(){};var He=/^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Ie=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function Ue(t,e){var s,i,n,a,r,l,u=t,c=null;return Te(t)?u={ms:t._milliseconds,d:t._days,M:t._months}:o(t)?(u={},e?u[e]=t:u.milliseconds=t):(c=He.exec(t))?(s="-"===c[1]?-1:1,u={y:0,d:k(c[2])*s,h:k(c[3])*s,m:k(c[4])*s,s:k(c[5])*s,ms:k(Pe(1e3*c[6]))*s}):(c=Ie.exec(t))?(s="-"===c[1]?-1:1,u={y:We(c[2],s),M:We(c[3],s),w:We(c[4],s),d:We(c[5],s),h:We(c[6],s),m:We(c[7],s),s:We(c[8],s)}):null==u?u={}:"object"==typeof u&&("from"in u||"to"in u)&&(a=Ce(u.from),r=Ce(u.to),n=a.isValid()&&r.isValid()?(r=Ee(r,a),a.isBefore(r)?l=Fe(a,r):((l=Fe(r,a)).milliseconds=-l.milliseconds,l.months=-l.months),l):{milliseconds:0,months:0},(u={}).ms=n.milliseconds,u.M=n.months),i=new Ye(u),Te(t)&&d(t,"_locale")&&(i._locale=t._locale),i}function We(t,e){var s=t&&parseFloat(t.replace(",","."));return(isNaN(s)?0:s)*e}function Fe(t,e){var s={};return s.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(s.months,"M").isAfter(e)&&--s.months,s.milliseconds=+e-+t.clone().add(s.months,"M"),s}function Ve(t,e){return function(s,i){var n;return null===i||isNaN(+i)||(O(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),n=s,s=i,i=n),$e(this,Ue(s="string"==typeof s?+s:s,i),t),this}}function $e(t,e,s,n){var a=e._milliseconds,r=Pe(e._days),o=Pe(e._months);t.isValid()&&(n=null==n||n,o&&Ot(t,wt(t,"Month")+o*s),r&&kt(t,"Date",wt(t,"Date")+r*s),a&&t._d.setTime(t._d.valueOf()+a*s),n&&i.updateOffset(t,r||o))}Ue.fn=Ye.prototype,Ue.invalid=function(){return Ue(NaN)};var Ge=Ve(1,"add"),ze=Ve(-1,"subtract");function qe(t,e){var s=12*(e.year()-t.year())+(e.month()-t.month()),i=t.clone().add(s,"months");return-(s+(e-i<0?(e-i)/(i-t.clone().add(s-1,"months")):(e-i)/(t.clone().add(s+1,"months")-i)))||0}function Ze(t){var e;return void 0===t?this._locale._abbr:(null!=(e=re(t))&&(this._locale=e),this)}i.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",i.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Be=S("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",(function(t){return void 0===t?this.localeData():this.locale(t)}));function Qe(){return this._locale}function Je(t,e){return(t%e+e)%e}function Xe(t,e,s){return t<100&&t>=0?new Date(t+400,e,s)-126227808e5:new Date(t,e,s).valueOf()}function Ke(t,e,s){return t<100&&t>=0?Date.UTC(t+400,e,s)-126227808e5:Date.UTC(t,e,s)}function ts(t,e){V(0,[t,t.length],0,e)}function es(t,e,s,i,n){var a;return null==t?Nt(this,i,n).year:(e>(a=Ht(t,i,n))&&(e=a),ss.call(this,t,e,s,i,n))}function ss(t,e,s,i,n){var a=Rt(t,e,s,i,n),r=Lt(a.year,0,a.dayOfYear);return this.year(r.getUTCFullYear()),this.month(r.getUTCMonth()),this.date(r.getUTCDate()),this}V(0,["gg",2],0,(function(){return this.weekYear()%100})),V(0,["GG",2],0,(function(){return this.isoWeekYear()%100})),ts("gggg","weekYear"),ts("ggggg","weekYear"),ts("GGGG","isoWeekYear"),ts("GGGGG","isoWeekYear"),A("weekYear","gg"),A("isoWeekYear","GG"),N("weekYear",1),N("isoWeekYear",1),ut("G",nt),ut("g",nt),ut("GG",J,q),ut("gg",J,q),ut("GGGG",et,B),ut("gggg",et,B),ut("GGGGG",st,Q),ut("ggggg",st,Q),mt(["gggg","ggggg","GGGG","GGGGG"],(function(t,e,s,i){e[i.substr(0,2)]=k(t)})),mt(["gg","GG"],(function(t,e,s,n){e[n]=i.parseTwoDigitYear(t)})),V("Q",0,"Qo","quarter"),A("quarter","Q"),N("quarter",7),ut("Q",z),ft("Q",(function(t,e){e[1]=3*(k(t)-1)})),V("D",["DD",2],"Do","date"),A("date","D"),N("date",9),ut("D",J),ut("DD",J,q),ut("Do",(function(t,e){return t?e._dayOfMonthOrdinalParse||e._ordinalParse:e._dayOfMonthOrdinalParseLenient})),ft(["D","DD"],2),ft("Do",(function(t,e){e[2]=k(t.match(J)[0])}));var is=bt("Date",!0);V("DDD",["DDDD",3],"DDDo","dayOfYear"),A("dayOfYear","DDD"),N("dayOfYear",4),ut("DDD",tt),ut("DDDD",Z),ft(["DDD","DDDD"],(function(t,e,s){s._dayOfYear=k(t)})),V("m",["mm",2],0,"minute"),A("minute","m"),N("minute",14),ut("m",J),ut("mm",J,q),ft(["m","mm"],4);var ns=bt("Minutes",!1);V("s",["ss",2],0,"second"),A("second","s"),N("second",15),ut("s",J),ut("ss",J,q),ft(["s","ss"],5);var as,rs=bt("Seconds",!1);for(V("S",0,0,(function(){return~~(this.millisecond()/100)})),V(0,["SS",2],0,(function(){return~~(this.millisecond()/10)})),V(0,["SSS",3],0,"millisecond"),V(0,["SSSS",4],0,(function(){return 10*this.millisecond()})),V(0,["SSSSS",5],0,(function(){return 100*this.millisecond()})),V(0,["SSSSSS",6],0,(function(){return 1e3*this.millisecond()})),V(0,["SSSSSSS",7],0,(function(){return 1e4*this.millisecond()})),V(0,["SSSSSSSS",8],0,(function(){return 1e5*this.millisecond()})),V(0,["SSSSSSSSS",9],0,(function(){return 1e6*this.millisecond()})),A("millisecond","ms"),N("millisecond",16),ut("S",tt,z),ut("SS",tt,q),ut("SSS",tt,Z),as="SSSS";as.length<=9;as+="S")ut(as,it);function os(t,e){e[6]=k(1e3*("0."+t))}for(as="S";as.length<=9;as+="S")ft(as,os);var ls=bt("Milliseconds",!1);V("z",0,0,"zoneAbbr"),V("zz",0,0,"zoneName");var us=y.prototype;function ds(t){return t}us.add=Ge,us.calendar=function(t,e){var s=t||Ce(),n=Ee(s,this).startOf("day"),a=i.calendarFormat(this,n)||"sameElse",r=e&&(Y(e[a])?e[a].call(this,s):e[a]);return this.format(r||this.localeData().calendar(a,this,Ce(s)))},us.clone=function(){return new y(this)},us.diff=function(t,e,s){var i,n,a;if(!this.isValid())return NaN;if(!(i=Ee(t,this)).isValid())return NaN;switch(n=6e4*(i.utcOffset()-this.utcOffset()),e=L(e)){case"year":a=qe(this,i)/12;break;case"month":a=qe(this,i);break;case"quarter":a=qe(this,i)/3;break;case"second":a=(this-i)/1e3;break;case"minute":a=(this-i)/6e4;break;case"hour":a=(this-i)/36e5;break;case"day":a=(this-i-n)/864e5;break;case"week":a=(this-i-n)/6048e5;break;default:a=this-i}return s?a:w(a)},us.endOf=function(t){var e;if(void 0===(t=L(t))||"millisecond"===t||!this.isValid())return this;var s=this._isUTC?Ke:Xe;switch(t){case"year":e=s(this.year()+1,0,1)-1;break;case"quarter":e=s(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":e=s(this.year(),this.month()+1,1)-1;break;case"week":e=s(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":e=s(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":e=s(this.year(),this.month(),this.date()+1)-1;break;case"hour":e=this._d.valueOf(),e+=36e5-Je(e+(this._isUTC?0:6e4*this.utcOffset()),36e5)-1;break;case"minute":e=this._d.valueOf(),e+=6e4-Je(e,6e4)-1;break;case"second":e=this._d.valueOf(),e+=1e3-Je(e,1e3)-1}return this._d.setTime(e),i.updateOffset(this,!0),this},us.format=function(t){t||(t=this.isUtc()?i.defaultFormatUtc:i.defaultFormat);var e=$(this,t);return this.localeData().postformat(e)},us.from=function(t,e){return this.isValid()&&(b(t)&&t.isValid()||Ce(t).isValid())?Ue({to:this,from:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()},us.fromNow=function(t){return this.from(Ce(),t)},us.to=function(t,e){return this.isValid()&&(b(t)&&t.isValid()||Ce(t).isValid())?Ue({from:this,to:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()},us.toNow=function(t){return this.to(Ce(),t)},us.get=function(t){return Y(this[t=L(t)])?this[t]():this},us.invalidAt=function(){return f(this).overflow},us.isAfter=function(t,e){var s=b(t)?t:Ce(t);return!(!this.isValid()||!s.isValid())&&("millisecond"===(e=L(e)||"millisecond")?this.valueOf()>s.valueOf():s.valueOf()<this.clone().startOf(e).valueOf())},us.isBefore=function(t,e){var s=b(t)?t:Ce(t);return!(!this.isValid()||!s.isValid())&&("millisecond"===(e=L(e)||"millisecond")?this.valueOf()<s.valueOf():this.clone().endOf(e).valueOf()<s.valueOf())},us.isBetween=function(t,e,s,i){var n=b(t)?t:Ce(t),a=b(e)?e:Ce(e);return!!(this.isValid()&&n.isValid()&&a.isValid())&&("("===(i=i||"()")[0]?this.isAfter(n,s):!this.isBefore(n,s))&&(")"===i[1]?this.isBefore(a,s):!this.isAfter(a,s))},us.isSame=function(t,e){var s,i=b(t)?t:Ce(t);return!(!this.isValid()||!i.isValid())&&("millisecond"===(e=L(e)||"millisecond")?this.valueOf()===i.valueOf():(s=i.valueOf(),this.clone().startOf(e).valueOf()<=s&&s<=this.clone().endOf(e).valueOf()))},us.isSameOrAfter=function(t,e){return this.isSame(t,e)||this.isAfter(t,e)},us.isSameOrBefore=function(t,e){return this.isSame(t,e)||this.isBefore(t,e)},us.isValid=function(){return m(this)},us.lang=Be,us.locale=Ze,us.localeData=Qe,us.max=De,us.min=Se,us.parsingFlags=function(){return c({},f(this))},us.set=function(t,e){if("object"==typeof t)for(var s=function(t){var e=[];for(var s in t)e.push({unit:s,priority:R[s]});return e.sort((function(t,e){return t.priority-e.priority})),e}(t=E(t)),i=0;i<s.length;i++)this[s[i].unit](t[s[i].unit]);else if(Y(this[t=L(t)]))return this[t](e);return this},us.startOf=function(t){var e;if(void 0===(t=L(t))||"millisecond"===t||!this.isValid())return this;var s=this._isUTC?Ke:Xe;switch(t){case"year":e=s(this.year(),0,1);break;case"quarter":e=s(this.year(),this.month()-this.month()%3,1);break;case"month":e=s(this.year(),this.month(),1);break;case"week":e=s(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":e=s(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":e=s(this.year(),this.month(),this.date());break;case"hour":e=this._d.valueOf(),e-=Je(e+(this._isUTC?0:6e4*this.utcOffset()),36e5);break;case"minute":e=this._d.valueOf(),e-=Je(e,6e4);break;case"second":e=this._d.valueOf(),e-=Je(e,1e3)}return this._d.setTime(e),i.updateOffset(this,!0),this},us.subtract=ze,us.toArray=function(){var t=this;return[t.year(),t.month(),t.date(),t.hour(),t.minute(),t.second(),t.millisecond()]},us.toObject=function(){var t=this;return{years:t.year(),months:t.month(),date:t.date(),hours:t.hours(),minutes:t.minutes(),seconds:t.seconds(),milliseconds:t.milliseconds()}},us.toDate=function(){return new Date(this.valueOf())},us.toISOString=function(t){if(!this.isValid())return null;var e=!0!==t,s=e?this.clone().utc():this;return s.year()<0||s.year()>9999?$(s,e?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):Y(Date.prototype.toISOString)?e?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",$(s,"Z")):$(s,e?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},us.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var t="moment",e="";this.isLocal()||(t=0===this.utcOffset()?"moment.utc":"moment.parseZone",e="Z");var s="["+t+'("]',i=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",n=e+'[")]';return this.format(s+i+"-MM-DD[T]HH:mm:ss.SSS"+n)},us.toJSON=function(){return this.isValid()?this.toISOString():null},us.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},us.unix=function(){return Math.floor(this.valueOf()/1e3)},us.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},us.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},us.year=yt,us.isLeapYear=function(){return vt(this.year())},us.weekYear=function(t){return es.call(this,t,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},us.isoWeekYear=function(t){return es.call(this,t,this.isoWeek(),this.isoWeekday(),1,4)},us.quarter=us.quarters=function(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)},us.month=Yt,us.daysInMonth=function(){return xt(this.year(),this.month())},us.week=us.weeks=function(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")},us.isoWeek=us.isoWeeks=function(t){var e=Nt(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")},us.weeksInYear=function(){var t=this.localeData()._week;return Ht(this.year(),t.dow,t.doy)},us.isoWeeksInYear=function(){return Ht(this.year(),1,4)},us.date=is,us.day=us.days=function(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=function(t,e){return"string"!=typeof t?t:isNaN(t)?"number"==typeof(t=e.weekdaysParse(t))?t:null:parseInt(t,10)}(t,this.localeData()),this.add(t-e,"d")):e},us.weekday=function(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")},us.isoWeekday=function(t){if(!this.isValid())return null!=t?this:NaN;if(null!=t){var e=function(t,e){return"string"==typeof t?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}(t,this.localeData());return this.day(this.day()%7?e:e-7)}return this.day()||7},us.dayOfYear=function(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")},us.hour=us.hours=Xt,us.minute=us.minutes=ns,us.second=us.seconds=rs,us.millisecond=us.milliseconds=ls,us.utcOffset=function(t,e,s){var n,a=this._offset||0;if(!this.isValid())return null!=t?this:NaN;if(null!=t){if("string"==typeof t){if(null===(t=Le(rt,t)))return this}else Math.abs(t)<16&&!s&&(t*=60);return!this._isUTC&&e&&(n=Re(this)),this._offset=t,this._isUTC=!0,null!=n&&this.add(n,"m"),a!==t&&(!e||this._changeInProgress?$e(this,Ue(t-a,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,i.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?a:Re(this)},us.utc=function(t){return this.utcOffset(0,t)},us.local=function(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(Re(this),"m")),this},us.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var t=Le(at,this._i);null!=t?this.utcOffset(t):this.utcOffset(0,!0)}return this},us.hasAlignedHourOffset=function(t){return!!this.isValid()&&(t=t?Ce(t).utcOffset():0,(this.utcOffset()-t)%60==0)},us.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},us.isLocal=function(){return!!this.isValid()&&!this._isUTC},us.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},us.isUtc=Ne,us.isUTC=Ne,us.zoneAbbr=function(){return this._isUTC?"UTC":""},us.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},us.dates=S("dates accessor is deprecated. Use date instead.",is),us.months=S("months accessor is deprecated. Use month instead",Yt),us.years=S("years accessor is deprecated. Use year instead",yt),us.zone=S("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",(function(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()})),us.isDSTShifted=S("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",(function(){if(!r(this._isDSTShifted))return this._isDSTShifted;var t={};if(v(t,this),(t=ke(t))._a){var e=t._isUTC?h(t._a):Ce(t._a);this._isDSTShifted=this.isValid()&&x(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}));var cs=P.prototype;function hs(t,e,s,i){var n=re(),a=h().set(i,e);return n[s](a,t)}function fs(t,e,s){if(o(t)&&(e=t,t=void 0),t=t||"",null!=e)return hs(t,e,s,"month");var i,n=[];for(i=0;i<12;i++)n[i]=hs(t,i,s,"month");return n}function ms(t,e,s,i){"boolean"==typeof t?(o(e)&&(s=e,e=void 0),e=e||""):(s=e=t,t=!1,o(e)&&(s=e,e=void 0),e=e||"");var n,a=re(),r=t?a._week.dow:0;if(null!=s)return hs(e,(s+r)%7,i,"day");var l=[];for(n=0;n<7;n++)l[n]=hs(e,(n+r)%7,i,"day");return l}cs.calendar=function(t,e,s){var i=this._calendar[t]||this._calendar.sameElse;return Y(i)?i.call(e,s):i},cs.longDateFormat=function(t){var e=this._longDateFormat[t],s=this._longDateFormat[t.toUpperCase()];return e||!s?e:(this._longDateFormat[t]=s.replace(/MMMM|MM|DD|dddd/g,(function(t){return t.slice(1)})),this._longDateFormat[t])},cs.invalidDate=function(){return this._invalidDate},cs.ordinal=function(t){return this._ordinal.replace("%d",t)},cs.preparse=ds,cs.postformat=ds,cs.relativeTime=function(t,e,s,i){var n=this._relativeTime[s];return Y(n)?n(t,e,s,i):n.replace(/%d/i,t)},cs.pastFuture=function(t,e){var s=this._relativeTime[t>0?"future":"past"];return Y(s)?s(e):s.replace(/%s/i,e)},cs.set=function(t){var e,s;for(s in t)Y(e=t[s])?this[s]=e:this["_"+s]=e;this._config=t,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},cs.months=function(t,e){return t?n(this._months)?this._months[t.month()]:this._months[(this._months.isFormat||Ct).test(e)?"format":"standalone"][t.month()]:n(this._months)?this._months:this._months.standalone},cs.monthsShort=function(t,e){return t?n(this._monthsShort)?this._monthsShort[t.month()]:this._monthsShort[Ct.test(e)?"format":"standalone"][t.month()]:n(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},cs.monthsParse=function(t,e,s){var i,n,a;if(this._monthsParseExact)return Mt.call(this,t,e,s);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),i=0;i<12;i++){if(n=h([2e3,i]),s&&!this._longMonthsParse[i]&&(this._longMonthsParse[i]=new RegExp("^"+this.months(n,"").replace(".","")+"$","i"),this._shortMonthsParse[i]=new RegExp("^"+this.monthsShort(n,"").replace(".","")+"$","i")),s||this._monthsParse[i]||(a="^"+this.months(n,"")+"|^"+this.monthsShort(n,""),this._monthsParse[i]=new RegExp(a.replace(".",""),"i")),s&&"MMMM"===e&&this._longMonthsParse[i].test(t))return i;if(s&&"MMM"===e&&this._shortMonthsParse[i].test(t))return i;if(!s&&this._monthsParse[i].test(t))return i}},cs.monthsRegex=function(t){return this._monthsParseExact?(d(this,"_monthsRegex")||jt.call(this),t?this._monthsStrictRegex:this._monthsRegex):(d(this,"_monthsRegex")||(this._monthsRegex=Pt),this._monthsStrictRegex&&t?this._monthsStrictRegex:this._monthsRegex)},cs.monthsShortRegex=function(t){return this._monthsParseExact?(d(this,"_monthsRegex")||jt.call(this),t?this._monthsShortStrictRegex:this._monthsShortRegex):(d(this,"_monthsShortRegex")||(this._monthsShortRegex=Tt),this._monthsShortStrictRegex&&t?this._monthsShortStrictRegex:this._monthsShortRegex)},cs.week=function(t){return Nt(t,this._week.dow,this._week.doy).week},cs.firstDayOfYear=function(){return this._week.doy},cs.firstDayOfWeek=function(){return this._week.dow},cs.weekdays=function(t,e){var s=n(this._weekdays)?this._weekdays:this._weekdays[t&&!0!==t&&this._weekdays.isFormat.test(e)?"format":"standalone"];return!0===t?It(s,this._week.dow):t?s[t.day()]:s},cs.weekdaysMin=function(t){return!0===t?It(this._weekdaysMin,this._week.dow):t?this._weekdaysMin[t.day()]:this._weekdaysMin},cs.weekdaysShort=function(t){return!0===t?It(this._weekdaysShort,this._week.dow):t?this._weekdaysShort[t.day()]:this._weekdaysShort},cs.weekdaysParse=function(t,e,s){var i,n,a;if(this._weekdaysParseExact)return Vt.call(this,t,e,s);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),i=0;i<7;i++){if(n=h([2e3,1]).day(i),s&&!this._fullWeekdaysParse[i]&&(this._fullWeekdaysParse[i]=new RegExp("^"+this.weekdays(n,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[i]=new RegExp("^"+this.weekdaysShort(n,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[i]=new RegExp("^"+this.weekdaysMin(n,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[i]||(a="^"+this.weekdays(n,"")+"|^"+this.weekdaysShort(n,"")+"|^"+this.weekdaysMin(n,""),this._weekdaysParse[i]=new RegExp(a.replace(".",""),"i")),s&&"dddd"===e&&this._fullWeekdaysParse[i].test(t))return i;if(s&&"ddd"===e&&this._shortWeekdaysParse[i].test(t))return i;if(s&&"dd"===e&&this._minWeekdaysParse[i].test(t))return i;if(!s&&this._weekdaysParse[i].test(t))return i}},cs.weekdaysRegex=function(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||qt.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(d(this,"_weekdaysRegex")||(this._weekdaysRegex=$t),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)},cs.weekdaysShortRegex=function(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||qt.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(d(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Gt),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},cs.weekdaysMinRegex=function(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||qt.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(d(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=zt),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},cs.isPM=function(t){return"p"===(t+"").toLowerCase().charAt(0)},cs.meridiem=function(t,e,s){return t>11?s?"pm":"PM":s?"am":"AM"},ne("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10;return t+(1===k(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")}}),i.lang=S("moment.lang is deprecated. Use moment.locale instead.",ne),i.langData=S("moment.langData is deprecated. Use moment.localeData instead.",re);var _s=Math.abs;function ps(t,e,s,i){var n=Ue(e,s);return t._milliseconds+=i*n._milliseconds,t._days+=i*n._days,t._months+=i*n._months,t._bubble()}function vs(t){return t<0?Math.floor(t):Math.ceil(t)}function gs(t){return 4800*t/146097}function ys(t){return 146097*t/4800}function bs(t){return function(){return this.as(t)}}var ws=bs("ms"),ks=bs("s"),xs=bs("m"),Cs=bs("h"),Ss=bs("d"),Ds=bs("w"),Ms=bs("M"),Os=bs("Q"),Ys=bs("y");function Ts(t){return function(){return this.isValid()?this._data[t]:NaN}}var Ps=Ts("milliseconds"),js=Ts("seconds"),As=Ts("minutes"),Ls=Ts("hours"),Es=Ts("days"),Rs=Ts("months"),Ns=Ts("years"),Hs=Math.round,Is={ss:44,s:45,m:45,h:22,d:26,M:11};function Us(t,e,s,i,n){return n.relativeTime(e||1,!!s,t,i)}var Ws=Math.abs;function Fs(t){return(t>0)-(t<0)||+t}function Vs(){if(!this.isValid())return this.localeData().invalidDate();var t,e,s=Ws(this._milliseconds)/1e3,i=Ws(this._days),n=Ws(this._months);t=w(s/60),e=w(t/60),s%=60,t%=60;var a=w(n/12),r=n%=12,o=i,l=e,u=t,d=s?s.toFixed(3).replace(/\.?0+$/,""):"",c=this.asSeconds();if(!c)return"P0D";var h=c<0?"-":"",f=Fs(this._months)!==Fs(c)?"-":"",m=Fs(this._days)!==Fs(c)?"-":"",_=Fs(this._milliseconds)!==Fs(c)?"-":"";return h+"P"+(a?f+a+"Y":"")+(r?f+r+"M":"")+(o?m+o+"D":"")+(l||u||d?"T":"")+(l?_+l+"H":"")+(u?_+u+"M":"")+(d?_+d+"S":"")}var $s=Ye.prototype;return $s.isValid=function(){return this._isValid},$s.abs=function(){var t=this._data;return this._milliseconds=_s(this._milliseconds),this._days=_s(this._days),this._months=_s(this._months),t.milliseconds=_s(t.milliseconds),t.seconds=_s(t.seconds),t.minutes=_s(t.minutes),t.hours=_s(t.hours),t.months=_s(t.months),t.years=_s(t.years),this},$s.add=function(t,e){return ps(this,t,e,1)},$s.subtract=function(t,e){return ps(this,t,e,-1)},$s.as=function(t){if(!this.isValid())return NaN;var e,s,i=this._milliseconds;if("month"===(t=L(t))||"quarter"===t||"year"===t)switch(e=this._days+i/864e5,s=this._months+gs(e),t){case"month":return s;case"quarter":return s/3;case"year":return s/12}else switch(e=this._days+Math.round(ys(this._months)),t){case"week":return e/7+i/6048e5;case"day":return e+i/864e5;case"hour":return 24*e+i/36e5;case"minute":return 1440*e+i/6e4;case"second":return 86400*e+i/1e3;case"millisecond":return Math.floor(864e5*e)+i;default:throw new Error("Unknown unit "+t)}},$s.asMilliseconds=ws,$s.asSeconds=ks,$s.asMinutes=xs,$s.asHours=Cs,$s.asDays=Ss,$s.asWeeks=Ds,$s.asMonths=Ms,$s.asQuarters=Os,$s.asYears=Ys,$s.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*k(this._months/12):NaN},$s._bubble=function(){var t,e,s,i,n,a=this._milliseconds,r=this._days,o=this._months,l=this._data;return a>=0&&r>=0&&o>=0||a<=0&&r<=0&&o<=0||(a+=864e5*vs(ys(o)+r),r=0,o=0),l.milliseconds=a%1e3,t=w(a/1e3),l.seconds=t%60,e=w(t/60),l.minutes=e%60,s=w(e/60),l.hours=s%24,r+=w(s/24),n=w(gs(r)),o+=n,r-=vs(ys(n)),i=w(o/12),o%=12,l.days=r,l.months=o,l.years=i,this},$s.clone=function(){return Ue(this)},$s.get=function(t){return t=L(t),this.isValid()?this[t+"s"]():NaN},$s.milliseconds=Ps,$s.seconds=js,$s.minutes=As,$s.hours=Ls,$s.days=Es,$s.weeks=function(){return w(this.days()/7)},$s.months=Rs,$s.years=Ns,$s.humanize=function(t){if(!this.isValid())return this.localeData().invalidDate();var e=this.localeData(),s=function(t,e,s){var i=Ue(t).abs(),n=Hs(i.as("s")),a=Hs(i.as("m")),r=Hs(i.as("h")),o=Hs(i.as("d")),l=Hs(i.as("M")),u=Hs(i.as("y")),d=n<=Is.ss&&["s",n]||n<Is.s&&["ss",n]||a<=1&&["m"]||a<Is.m&&["mm",a]||r<=1&&["h"]||r<Is.h&&["hh",r]||o<=1&&["d"]||o<Is.d&&["dd",o]||l<=1&&["M"]||l<Is.M&&["MM",l]||u<=1&&["y"]||["yy",u];return d[2]=e,d[3]=+t>0,d[4]=s,Us.apply(null,d)}(this,!t,e);return t&&(s=e.pastFuture(+this,s)),e.postformat(s)},$s.toISOString=Vs,$s.toString=Vs,$s.toJSON=Vs,$s.locale=Ze,$s.localeData=Qe,$s.toIsoString=S("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Vs),$s.lang=Be,V("X",0,0,"unix"),V("x",0,0,"valueOf"),ut("x",nt),ut("X",/[+-]?\d+(\.\d{1,3})?/),ft("X",(function(t,e,s){s._d=new Date(1e3*parseFloat(t,10))})),ft("x",(function(t,e,s){s._d=new Date(k(t))})),i.version="2.24.0",e=Ce,i.fn=us,i.min=function(){var t=[].slice.call(arguments,0);return Me("isBefore",t)},i.max=function(){var t=[].slice.call(arguments,0);return Me("isAfter",t)},i.now=function(){return Date.now?Date.now():+new Date},i.utc=h,i.unix=function(t){return Ce(1e3*t)},i.months=function(t,e){return fs(t,e,"months")},i.isDate=l,i.locale=ne,i.invalid=_,i.duration=Ue,i.isMoment=b,i.weekdays=function(t,e,s){return ms(t,e,s,"weekdays")},i.parseZone=function(){return Ce.apply(null,arguments).parseZone()},i.localeData=re,i.isDuration=Te,i.monthsShort=function(t,e){return fs(t,e,"monthsShort")},i.weekdaysMin=function(t,e,s){return ms(t,e,s,"weekdaysMin")},i.defineLocale=ae,i.updateLocale=function(t,e){if(null!=e){var s,i,n=Kt;null!=(i=ie(t))&&(n=i._config),e=T(n,e),(s=new P(e)).parentLocale=te[t],te[t]=s,ne(t)}else null!=te[t]&&(null!=te[t].parentLocale?te[t]=te[t].parentLocale:null!=te[t]&&delete te[t]);return te[t]},i.locales=function(){return D(te)},i.weekdaysShort=function(t,e,s){return ms(t,e,s,"weekdaysShort")},i.normalizeUnits=L,i.relativeTimeRounding=function(t){return void 0===t?Hs:"function"==typeof t&&(Hs=t,!0)},i.relativeTimeThreshold=function(t,e){return void 0!==Is[t]&&(void 0===e?Is[t]:(Is[t]=e,"s"===t&&(Is.ss=e-1),!0))},i.calendarFormat=function(t,e){var s=t.diff(e,"days",!0);return s<-6?"sameElse":s<-1?"lastWeek":s<0?"lastDay":s<1?"sameDay":s<2?"nextDay":s<7?"nextWeek":"sameElse"},i.prototype=us,i.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},i}()}).call(this,s("./node_modules/webpack/buildin/module.js")(t))},"./node_modules/vue-loader/lib/runtime/componentNormalizer.js":function(t,e,s){"use strict";function i(t,e,s,i,n,a,r,o){var l,u="function"==typeof t?t.options:t;if(e&&(u.render=e,u.staticRenderFns=s,u._compiled=!0),i&&(u.functional=!0),a&&(u._scopeId="data-v-"+a),r?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),n&&n.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(r)},u._ssrRegister=l):n&&(l=o?function(){n.call(this,this.$root.$options.shadowRoot)}:n),l)if(u.functional){u._injectStyles=l;var d=u.render;u.render=function(t,e){return l.call(e),d(t,e)}}else{var c=u.beforeCreate;u.beforeCreate=c?[].concat(c,l):[l]}return{exports:t,options:u}}s.d(e,"a",(function(){return i}))},"./node_modules/webpack/buildin/global.js":function(t,e){var s;s=function(){return this}();try{s=s||new Function("return this")()}catch(t){"object"==typeof window&&(s=window)}t.exports=s},"./node_modules/webpack/buildin/module.js":function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},"./node_modules/xss/lib/default.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/index.js").FilterCSS,n=s("./node_modules/cssfilter/lib/index.js").getDefaultWhiteList,a=s("./node_modules/xss/lib/util.js");function r(){return{a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","loop","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height"],ins:["datetime"],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],sup:[],strong:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","loop","preload","src","height","width"]}}var o=new i;function l(t){return t.replace(u,"&lt;").replace(d,"&gt;")}var u=/</g,d=/>/g,c=/"/g,h=/&quot;/g,f=/&#([a-zA-Z0-9]*);?/gim,m=/&colon;?/gim,_=/&newline;?/gim,p=/((j\s*a\s*v\s*a|v\s*b|l\s*i\s*v\s*e)\s*s\s*c\s*r\s*i\s*p\s*t\s*|m\s*o\s*c\s*h\s*a)\:/gi,v=/e\s*x\s*p\s*r\s*e\s*s\s*s\s*i\s*o\s*n\s*\(.*/gi,g=/u\s*r\s*l\s*\(.*/gi;function y(t){return t.replace(c,"&quot;")}function b(t){return t.replace(h,'"')}function w(t){return t.replace(f,(function(t,e){return"x"===e[0]||"X"===e[0]?String.fromCharCode(parseInt(e.substr(1),16)):String.fromCharCode(parseInt(e,10))}))}function k(t){return t.replace(m,":").replace(_," ")}function x(t){for(var e="",s=0,i=t.length;s<i;s++)e+=t.charCodeAt(s)<32?" ":t.charAt(s);return a.trim(e)}function C(t){return t=x(t=k(t=w(t=b(t))))}function S(t){return t=l(t=y(t))}var D=/<!--[\s\S]*?-->/g;e.whiteList={a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","loop","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height"],ins:["datetime"],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],sup:[],strong:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","loop","preload","src","height","width"]},e.getDefaultWhiteList=r,e.onTag=function(t,e,s){},e.onIgnoreTag=function(t,e,s){},e.onTagAttr=function(t,e,s){},e.onIgnoreTagAttr=function(t,e,s){},e.safeAttrValue=function(t,e,s,i){if(s=C(s),"href"===e||"src"===e){if("#"===(s=a.trim(s)))return"#";if("http://"!==s.substr(0,7)&&"https://"!==s.substr(0,8)&&"mailto:"!==s.substr(0,7)&&"tel:"!==s.substr(0,4)&&"#"!==s[0]&&"/"!==s[0])return""}else if("background"===e){if(p.lastIndex=0,p.test(s))return""}else if("style"===e){if(v.lastIndex=0,v.test(s))return"";if(g.lastIndex=0,g.test(s)&&(p.lastIndex=0,p.test(s)))return"";!1!==i&&(s=(i=i||o).process(s))}return s=S(s)},e.escapeHtml=l,e.escapeQuote=y,e.unescapeQuote=b,e.escapeHtmlEntities=w,e.escapeDangerHtml5Entities=k,e.clearNonPrintableCharacter=x,e.friendlyAttrValue=C,e.escapeAttrValue=S,e.onIgnoreTagStripAll=function(){return""},e.StripTagBody=function(t,e){"function"!=typeof e&&(e=function(){});var s=!Array.isArray(t),i=[],n=!1;return{onIgnoreTag:function(r,o,l){if(function(e){return!!s||-1!==a.indexOf(t,e)}(r)){if(l.isClosing){var u="[/removed]",d=l.position+u.length;return i.push([!1!==n?n:l.position,d]),n=!1,u}return n||(n=l.position),"[removed]"}return e(r,o,l)},remove:function(t){var e="",s=0;return a.forEach(i,(function(i){e+=t.slice(s,i[0]),s=i[1]})),e+=t.slice(s)}}},e.stripCommentTag=function(t){return t.replace(D,"")},e.stripBlankChar=function(t){var e=t.split("");return(e=e.filter((function(t){var e=t.charCodeAt(0);return 127!==e&&(!(e<=31)||(10===e||13===e))}))).join("")},e.cssFilter=o,e.getDefaultCSSWhiteList=n},"./node_modules/xss/lib/index.js":function(t,e,s){var i=s("./node_modules/xss/lib/default.js"),n=s("./node_modules/xss/lib/parser.js"),a=s("./node_modules/xss/lib/xss.js");function r(t,e){return new a(e).process(t)}for(var o in(e=t.exports=r).filterXSS=r,e.FilterXSS=a,i)e[o]=i[o];for(var o in n)e[o]=n[o];"undefined"!=typeof window&&(window.filterXSS=t.exports),"undefined"!=typeof self&&"undefined"!=typeof DedicatedWorkerGlobalScope&&self instanceof DedicatedWorkerGlobalScope&&(self.filterXSS=t.exports)},"./node_modules/xss/lib/parser.js":function(t,e,s){var i=s("./node_modules/xss/lib/util.js");function n(t){var e=i.spaceIndex(t);if(-1===e)var s=t.slice(1,-1);else s=t.slice(1,e+1);return"/"===(s=i.trim(s).toLowerCase()).slice(0,1)&&(s=s.slice(1)),"/"===s.slice(-1)&&(s=s.slice(0,-1)),s}function a(t){return"</"===t.slice(0,2)}var r=/[^a-zA-Z0-9_:\.\-]/gim;function o(t,e){for(;e<t.length;e++){var s=t[e];if(" "!==s)return"="===s?e:-1}}function l(t,e){for(;e>0;e--){var s=t[e];if(" "!==s)return"="===s?e:-1}}function u(t){return function(t){return'"'===t[0]&&'"'===t[t.length-1]||"'"===t[0]&&"'"===t[t.length-1]}(t)?t.substr(1,t.length-2):t}e.parseTag=function(t,e,s){var i="",r=0,o=!1,l=!1,u=0,d=t.length,c="",h="";for(u=0;u<d;u++){var f=t.charAt(u);if(!1===o){if("<"===f){o=u;continue}}else if(!1===l){if("<"===f){i+=s(t.slice(r,u)),o=u,r=u;continue}if(">"===f){i+=s(t.slice(r,o)),c=n(h=t.slice(o,u+1)),i+=e(o,i.length,c,h,a(h)),r=u+1,o=!1;continue}if(('"'===f||"'"===f)&&"="===t.charAt(u-1)){l=f;continue}}else if(f===l){l=!1;continue}}return r<t.length&&(i+=s(t.substr(r))),i},e.parseAttr=function(t,e){var s=0,n=[],a=!1,d=t.length;function c(t,s){if(!((t=(t=i.trim(t)).replace(r,"").toLowerCase()).length<1)){var a=e(t,s||"");a&&n.push(a)}}for(var h=0;h<d;h++){var f,m=t.charAt(h);if(!1!==a||"="!==m)if(!1===a||h!==s||'"'!==m&&"'"!==m||"="!==t.charAt(h-1))if(/\s|\n|\t/.test(m)){if(t=t.replace(/\s|\n|\t/g," "),!1===a){if(-1===(f=o(t,h))){c(i.trim(t.slice(s,h))),a=!1,s=h+1;continue}h=f-1;continue}if(-1===(f=l(t,h-1))){c(a,u(i.trim(t.slice(s,h)))),a=!1,s=h+1;continue}}else;else{if(-1===(f=t.indexOf(m,h+1)))break;c(a,i.trim(t.slice(s+1,f))),a=!1,s=(h=f)+1}else a=t.slice(s,h),s=h+1}return s<t.length&&(!1===a?c(t.slice(s)):c(a,u(i.trim(t.slice(s))))),i.trim(n.join(" "))}},"./node_modules/xss/lib/util.js":function(t,e){t.exports={indexOf:function(t,e){var s,i;if(Array.prototype.indexOf)return t.indexOf(e);for(s=0,i=t.length;s<i;s++)if(t[s]===e)return s;return-1},forEach:function(t,e,s){var i,n;if(Array.prototype.forEach)return t.forEach(e,s);for(i=0,n=t.length;i<n;i++)e.call(s,t[i],i,t)},trim:function(t){return String.prototype.trim?t.trim():t.replace(/(^\s*)|(\s*$)/g,"")},spaceIndex:function(t){var e=/\s|\n|\t/.exec(t);return e?e.index:-1}}},"./node_modules/xss/lib/xss.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/index.js").FilterCSS,n=s("./node_modules/xss/lib/default.js"),a=s("./node_modules/xss/lib/parser.js"),r=a.parseTag,o=a.parseAttr,l=s("./node_modules/xss/lib/util.js");function u(t){return null==t}function d(t){(t=function(t){var e={};for(var s in t)e[s]=t[s];return e}(t||{})).stripIgnoreTag&&(t.onIgnoreTag&&console.error('Notes: cannot use these two options "stripIgnoreTag" and "onIgnoreTag" at the same time'),t.onIgnoreTag=n.onIgnoreTagStripAll),t.whiteList=t.whiteList||n.whiteList,t.onTag=t.onTag||n.onTag,t.onTagAttr=t.onTagAttr||n.onTagAttr,t.onIgnoreTag=t.onIgnoreTag||n.onIgnoreTag,t.onIgnoreTagAttr=t.onIgnoreTagAttr||n.onIgnoreTagAttr,t.safeAttrValue=t.safeAttrValue||n.safeAttrValue,t.escapeHtml=t.escapeHtml||n.escapeHtml,this.options=t,!1===t.css?this.cssFilter=!1:(t.css=t.css||{},this.cssFilter=new i(t.css))}d.prototype.process=function(t){if(!(t=(t=t||"").toString()))return"";var e=this.options,s=e.whiteList,i=e.onTag,a=e.onIgnoreTag,d=e.onTagAttr,c=e.onIgnoreTagAttr,h=e.safeAttrValue,f=e.escapeHtml,m=this.cssFilter;e.stripBlankChar&&(t=n.stripBlankChar(t)),e.allowCommentTag||(t=n.stripCommentTag(t));var _=!1;if(e.stripIgnoreTagBody){_=n.StripTagBody(e.stripIgnoreTagBody,a);a=_.onIgnoreTag}var p=r(t,(function(t,e,n,r,_){var p,v={sourcePosition:t,position:e,isClosing:_,isWhite:s.hasOwnProperty(n)};if(!u(p=i(n,r,v)))return p;if(v.isWhite){if(v.isClosing)return"</"+n+">";var g=function(t){var e=l.spaceIndex(t);if(-1===e)return{html:"",closing:"/"===t[t.length-2]};var s="/"===(t=l.trim(t.slice(e+1,-1)))[t.length-1];return s&&(t=l.trim(t.slice(0,-1))),{html:t,closing:s}}(r),y=s[n],b=o(g.html,(function(t,e){var s,i=-1!==l.indexOf(y,t);return u(s=d(n,t,e,i))?i?(e=h(n,t,e,m))?t+'="'+e+'"':t:u(s=c(n,t,e,i))?void 0:s:s}));r="<"+n;return b&&(r+=" "+b),g.closing&&(r+=" /"),r+=">"}return u(p=a(n,r,v))?f(r):p}),f);return _&&(p=_.remove(p)),p},t.exports=d},"./src/audit.js":function(t,e,s){"use strict";s.r(e);var i=s("vue"),n=s.n(i),a=s("./src/helper/base_hepler.js"),r=s("./src/component/footer.vue"),o=s("./node_modules/lodash/chunk.js"),l=s.n(o),u=s("./src/component/pagination.vue"),d=s("./node_modules/moment/moment.js"),c={mixins:[a.a],name:"logs",data:function(){return{filter:{date_range:null,username:"",ip_address:"",events:[],event_all:!0,is_open:!1,date_from:null,date_to:null},event_types:auditData.filters.types,data:{logs:[],chunks:[],total_items:0,total_pages:0,paged:1},misc:auditData.misc,endpoints:auditData.endpoints,nonces:auditData.nonces,state:{on_saving:!1,is_fetching:!1}}},methods:{date_range:function(){},build_filter_url:function(t){},paging:function(t){this.data.paged=t},do_filter:function(){var t=this,e=this.data.logs.filter((function(e){return(""===t.filter.username||-1!==e.user.indexOf(t.filter.username))&&((null===t.filter.ip_address||-1!==e.ip.indexOf(t.filter.ip_address))&&(!1!==t.filter.event_all||-1!==t.filter.events.indexOf(e.event_type)))}));t.data.chunks=l()(e,40),t.data.total_items=e.length,t.data.total_pages=Math.ceil(t.data.total_items/40),t.data.paged=1},fetch_data:function(t){var e=this;this.state.is_fetching=!0;var s=JSON.parse(JSON.stringify(this.filter));delete s.is_open,delete s.event_all,delete s.date_range,this.httpGetRequest("loadData",s,(function(s){!0===s.success?(e.data.logs=Object.values(s.data.logs),e.data.total_items=s.data.total_items,e.data.total_pages=s.data.total_pages,e.data.chunks=l()(e.data.logs,40),e.data.paged=1,e.state.is_fetching=!1,void 0!==t&&t()):Defender.showNotification("error",s.message)}),!1)},format_time:function(t){return Array.isArray(t)?this.$options.filters.moment(new Date(1e3*t[1]),this.misc.date_format):this.$options.filters.moment(new Date(1e3*t),this.misc.date_format)}},computed:{get_logs:function(){var t=[];return this.data.chunks.length>0&&void 0!==this.data.chunks[this.data.paged-1]&&(t=this.data.chunks[this.data.paged-1]),t},get_count:function(){return this.vsprintf(this.__("%s results"),this.data.total_items)},next_icon:function(){return'<i class="sui-icon-chevron-right" aria-hidden="true"></i>'},prev_icon:function(){return'<i class="sui-icon-chevron-left" aria-hidden="true"></i>'},min_date:function(){return d().format()},max_date:function(){return d().subtract(30,"days").format()},get_export_url:function(){var t=ajaxurl+"?action="+this.endpoints.exportAsCvs+"&_wpnonce="+this.nonces.exportAsCvs;return t+="&date_from="+this.filter.date_from,t+="&date_to="+this.filter.date_to,this.filter.events.forEach((function(e){t+="&event_type[]="+e})),t+="&term="+this.filter.username,t+="&ip="+this.filter.ip_address}},watch:{"filter.date_range":function(t,e){null!==t&&null!==e&&t!==e&&this.fetch_data()}},components:{pagination:u.a},created:function(){var t=new URLSearchParams(window.location.search),e=null!==t.get("date_from")?t.get("date_from"):d().subtract(7,"day").format("MM/DD/YYYY"),s=null!==t.get("date_to")?t.get("date_to"):d().format("MM/DD/YYYY");this.filter.date_range=e+" - "+s,this.filter.date_from=e,this.filter.date_to=s;var i=this;this.fetch_data((function(){i.$parent.$emit("events_in_7_days",i.data.logs.length)}))},mounted:function(){var t=this;this.$nextTick((function(){jQuery("#date-range-picker").daterangepicker({autoApply:!0,maxDate:d().format("MM/DD/YYYY"),minDate:d().subtract(1,"year").format("MM/DD/YYYY"),locale:{format:"MM/DD/YYYY",separator:"-"},ranges:{Today:[d(),d()],"7 Days":[d().subtract(6,"days"),d()],"30 Days":[d().subtract(29,"days"),d()]},template:'<div class="daterangepicker wd-calendar"><div class="ranges"></div><div class="drp-calendar left"><div class="calendar-table"></div><div class="calendar-time"></div></div><div class="drp-calendar right"><div class="calendar-table"></div><div class="calendar-time"></div></div></div>',showCustomRangeLabel:!1,alwaysShowCalendars:!0}),jQuery("#date-range-picker").on("apply.daterangepicker",(function(e,s){t.filter.date_range=s.startDate.format("MM/DD/YYYY")+"-"+s.endDate.format("MM/DD/YYYY"),t.filter.date_from=s.startDate.format("MM/DD/YYYY"),t.filter.date_to=s.endDate.format("MM/DD/YYYY")}))}))}},h=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),f=Object(h.a)(c,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"sui-box"},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n\t\t\t"+t._s(t.__("Event Logs"))+"\n\t\t")]),t._v(" "),s("div",{staticClass:"sui-actions-right"},[s("a",{staticClass:"sui-button sui-button-ghost",attrs:{href:t.get_export_url}},[s("i",{staticClass:"sui-icon-upload-cloud",attrs:{"aria-hidden":"true"}}),t._v("\n\t\t\t\t"+t._s(t.__("Export CSV"))+"\n\t\t\t")])])]),t._v(" "),s("div",{staticClass:"sui-box-body"},[s("p",[t._v("\n\t\t\t"+t._s(t.__("Here are your latest event logs showing what's been happening behind the scenes."))+"\n\t\t")]),t._v(" "),s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col-md-5"},[s("div",{staticClass:"inline-form"},[s("label",[t._v(t._s(t.__("Date range")))]),t._v(" "),s("div",{staticClass:"sui-date"},[s("i",{staticClass:"sui-icon-calendar",attrs:{"aria-hidden":"true"}}),t._v(" "),s("input",{staticClass:"sui-form-control",attrs:{id:"date-range-picker",name:"date_from",type:"text"},domProps:{value:t.filter.date_range}})])])]),t._v(" "),s("div",{staticClass:"sui-col-md-7"},[s("div",{staticClass:"sui-pagination-wrap"},[s("span",{staticClass:"sui-pagination-results",domProps:{textContent:t._s(t.get_count)}}),t._v(" "),t.data.total_items>0?s("pagination",{attrs:{"page-count":t.data.total_pages,"click-handler":t.paging,"prev-text":t.prev_icon,"next-text":t.next_icon,value:t.data.paged,"container-class":"sui-pagination"}}):t._e(),t._v(" "),s("button",{staticClass:"sui-button-icon sui-button-outlined sui-tooltip",attrs:{"data-tooltip":"Filter"},on:{click:function(e){t.filter.is_open=!t.filter.is_open}}},[s("i",{staticClass:"sui-icon-filter",attrs:{"aria-hidden":"true"}}),t._v(" "),s("span",{staticClass:"sui-screen-reader-text"},[t._v("Open search filter")])])],1)])]),t._v(" "),s("div",{staticClass:"sui-pagination-filter",class:{"sui-open":t.filter.is_open}},[s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col-md-4"},[s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("Username")))]),t._v(" "),s("div",{staticClass:"sui-control-with-icon sui-right-icon"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.filter.username,expression:"filter.username"}],staticClass:"sui-form-control",attrs:{type:"text"},domProps:{value:t.filter.username},on:{input:function(e){e.target.composing||t.$set(t.filter,"username",e.target.value)}}}),t._v(" "),s("i",{staticClass:"sui-icon-magnifying-glass-search",attrs:{"aria-hidden":"true"}})])])]),t._v(" "),s("div",{staticClass:"sui-col-md-3"},[s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("IP Address")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.filter.ip_address,expression:"filter.ip_address"}],staticClass:"sui-form-control",attrs:{type:"text","data-name":"ip",placeholder:"E.g. 192.168.1.1"},domProps:{value:t.filter.ip_address},on:{input:function(e){e.target.composing||t.$set(t.filter,"ip_address",e.target.value)}}})])])]),t._v(" "),s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col"},[s("div",{staticClass:"sui-form-field"},[s("div",{staticClass:"sui-side-tabs"},[s("div",{staticClass:"sui-tabs-menu"},[s("label",{staticClass:"sui-tab-item",class:{active:!0===t.filter.event_all},attrs:{for:"event_filter_all"}},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.filter.event_all,expression:"filter.event_all"}],attrs:{type:"radio",id:"event_filter_all","data-tab-menu":""},domProps:{value:!0,checked:t._q(t.filter.event_all,!0)},on:{change:function(e){return t.$set(t.filter,"event_all",!0)}}}),t._v("\n\t\t\t\t\t\t\t\t\t"+t._s(t.__("All"))+"\n\t\t\t\t\t\t\t\t")]),t._v(" "),s("label",{staticClass:"sui-tab-item",class:{active:!1===t.filter.event_all},attrs:{for:"event_filter"}},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.filter.event_all,expression:"filter.event_all"}],attrs:{type:"radio","data-tab-menu":"events-box",id:"event_filter"},domProps:{value:!1,checked:t._q(t.filter.event_all,!1)},on:{change:function(e){return t.$set(t.filter,"event_all",!1)}}}),t._v("\n\t\t\t\t\t\t\t\t\t"+t._s(t.__("Specific"))+"\n\t\t\t\t\t\t\t\t")])]),t._v(" "),s("div",{staticClass:"sui-tabs-content"},[s("div",{staticClass:"sui-tab-content sui-tab-boxed",class:{active:!1===t.filter.event_all},attrs:{id:"events-box","data-tab-content":"events-box"}},[s("div",{staticClass:"sui-row"},t._l(t.event_types,(function(e){return s("label",{staticClass:"sui-checkbox",attrs:{for:"chk_"+e}},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.filter.events,expression:"filter.events"}],staticClass:"filterable",attrs:{id:"chk_"+e,type:"checkbox"},domProps:{value:e,checked:Array.isArray(t.filter.events)?t._i(t.filter.events,e)>-1:t.filter.events},on:{change:function(s){var i=t.filter.events,n=s.target,a=!!n.checked;if(Array.isArray(i)){var r=e,o=t._i(i,r);n.checked?o<0&&t.$set(t.filter,"events",i.concat([r])):o>-1&&t.$set(t.filter,"events",i.slice(0,o).concat(i.slice(o+1)))}else t.$set(t.filter,"events",a)}}}),t._v(" "),s("span",{attrs:{"aria-hidden":"true"}}),t._v(" "),s("span",[t._v(t._s(e))])])})),0)])])])])])]),t._v(" "),s("hr"),t._v(" "),s("div",{staticClass:"float-r"},[s("button",{staticClass:"sui-button sui-button-blue",attrs:{type:"submit"},on:{click:t.do_filter}},[t._v("\n\t\t\t\t\t"+t._s(t.__("Apply"))+"\n\t\t\t\t")])]),t._v(" "),s("div",{staticClass:"clear"})])]),t._v(" "),s("div",{staticClass:"sui-accordion sui-accordion-flushed no-border-top"},[s("div",{staticClass:"sui-accordion-header"},[s("div",[t._v(t._s(t.__("Event summary")))]),t._v(" "),s("div",[t._v(t._s(t.__("Date")))]),t._v(" "),s("div")]),t._v(" "),t._l(t.get_logs,(function(e){return s("div",{staticClass:"sui-accordion-item sui-default"},[s("div",{staticClass:"sui-accordion-item-header"},[s("div",{staticClass:"sui-accordion-item-title",domProps:{textContent:t._s(t.xss(e.msg))}}),t._v(" "),s("div",{domProps:{innerHTML:t._s(t.format_time(e.timestamp))}}),t._v(" "),t._m(0,!0)]),t._v(" "),s("div",{staticClass:"sui-accordion-item-body"},[s("div",{staticClass:"sui-box"},[s("div",{staticClass:"sui-box-body"},[s("strong",[t._v(t._s(t.__("Description")))]),t._v(" "),s("p",{domProps:{textContent:t._s(e.msg)}}),t._v(" "),s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col"},[s("strong",{staticClass:"block"},[t._v(t._s(t.__("Context")))]),t._v(" "),s("a",{staticClass:"block",attrs:{href:t.build_filter_url(e.context)},domProps:{textContent:t._s(t.xss(e.context))}})]),t._v(" "),s("div",{staticClass:"sui-col"},[s("strong",{staticClass:"block"},[t._v(t._s(t.__("Type")))]),t._v(" "),s("a",{staticClass:"block",attrs:{href:t.build_filter_url(e.event_type)},domProps:{textContent:t._s(t.xss(e.event_type))}})]),t._v(" "),s("div",{staticClass:"sui-col"},[s("strong",{staticClass:"block"},[t._v(t._s(t.__("Ip Address")))]),t._v(" "),s("a",{staticClass:"block",attrs:{href:t.build_filter_url(e.ip)},domProps:{textContent:t._s(t.xss(e.ip))}})]),t._v(" "),s("div",{staticClass:"sui-col"},[s("strong",{staticClass:"block"},[t._v(t._s(t.__("User")))]),t._v(" "),s("a",{staticClass:"block",attrs:{href:t.build_filter_url(e.user)},domProps:{textContent:t._s(t.xss(e.user))}})]),t._v(" "),s("div",{staticClass:"sui-col"},[s("strong",{staticClass:"block"},[t._v(t._s(t.__("Date / Time")))]),t._v(" "),s("a",{staticClass:"block",attrs:{href:t.build_filter_url(e.timestamp)}},[t._v("\n\t\t\t\t\t\t\t\t\t"+t._s(t._f("moment")(new Date(1e3*e.timestamp),t.misc.date_format))+"\n\t\t\t\t\t\t\t\t")])])])])])])])}))],2),t._v(" "),0===t.data.chunks.length?s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col"},[s("div",{staticClass:"sui-notice"},[!0===t.state.is_fetching?s("p",[t._v("\n\t\t\t\t\t"+t._s(t.__("Loading events..."))+"\n\t\t\t\t")]):s("p",[t._v("\n\t\t\t\t\t"+t._s(t.__("There have been no events logged in the selected time period."))+"\n\t\t\t\t")])])])]):t._e(),t._v(" "),s("div",{staticClass:"sui-center-box"},[s("div",{staticClass:"sui-pagination-wrap"},[t.data.total_items>0?s("pagination",{attrs:{"page-count":t.data.total_pages,"click-handler":t.paging,"prev-text":t.prev_icon,"next-text":t.next_icon,value:t.data.paged,"container-class":"sui-pagination"}}):t._e()],1)]),t._v(" "),t.state.is_fetching?s("overlay"):t._e()],1)}),[function(){var t=this.$createElement,e=this._self._c||t;return e("div",[e("button",{staticClass:"sui-button-icon sui-accordion-open-indicator",attrs:{"aria-label":"Open item"}},[e("i",{staticClass:"sui-icon-chevron-down",attrs:{"aria-hidden":"true"}})])])}],!1,null,null,null).exports,m={mixins:[a.a],name:"settings",data:function(){return{model:auditData.model.settings,state:{on_saving:!1},nonces:auditData.nonces,endpoints:auditData.endpoints}},methods:{toggle:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"enabled",s=this,i={};i[e]=t,this.httpPostRequest("updateSettings",{data:JSON.stringify(i)},(function(){s.$parent.$emit("enable_state",t)}))},updateSettings:function(){var t=this.model;this.httpPostRequest("updateSettings",{data:JSON.stringify(t)})}},mounted:function(){var t=this;jQuery("#storage_days").change((function(){t.model.storage_days=jQuery(this).val()}))}},_=Object(h.a)(m,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"sui-box audit-settings"},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n\t\t\t\t"+t._s(t.__("Settings"))+"\n\t\t\t")])]),t._v(" "),s("form",{attrs:{method:"post"},on:{submit:function(e){return e.preventDefault(),t.updateSettings(e)}}},[s("div",{staticClass:"sui-box-body"},[s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v(t._s(t.__("Storage")))]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Events are stored in our API. You can choose how many days to keep logs for before they are removed."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("div",{staticClass:"sui-form-field"},[s("select",{directives:[{name:"model",rawName:"v-model",value:t.model.storage_days,expression:"model.storage_days"}],attrs:{name:"storage_days",id:"storage_days"},on:{change:function(e){var s=Array.prototype.filter.call(e.target.options,(function(t){return t.selected})).map((function(t){return"_value"in t?t._value:t.value}));t.$set(t.model,"storage_days",e.target.multiple?s:s[0])}}},[s("option",{attrs:{value:"24 hours"}},[t._v(t._s(t.__("24 hours")))]),t._v(" "),s("option",{attrs:{value:"7 days"}},[t._v(t._s(t.__("7 days")))]),t._v(" "),s("option",{attrs:{value:"30 days"}},[t._v(t._s(t.__("30 days")))]),t._v(" "),s("option",{attrs:{value:"3 months"}},[t._v(t._s(t.__("3 months")))]),t._v(" "),s("option",{attrs:{value:"6 months"}},[t._v(t._s(t.__("6 months")))]),t._v(" "),s("option",{attrs:{value:"12 months"}},[t._v(t._s(t.__("12 months")))])]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Choose how long you'd like to store your event logs locally before wiping the oldest."))+"\n ")])])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Deactivate"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("If you no longer want to use this feature you can turn it off at any time."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("submit-button",{attrs:{type:"button","css-class":"sui-button-ghost",state:t.state},on:{click:function(e){return t.toggle(!1)}}},[s("i",{staticClass:"sui-icon-save",attrs:{"aria-hidden":"true"}}),t._v("\n\t\t\t\t\t\t\t"+t._s(t.__("Deactivate"))+"\n\t\t\t\t\t\t")])],1)])]),t._v(" "),s("div",{staticClass:"sui-box-footer"},[s("div",{staticClass:"sui-actions-right"},[s("submit-button",{attrs:{type:"submit","css-class":"sui-button-blue",state:t.state}},[s("i",{staticClass:"sui-icon-save",attrs:{"aria-hidden":"true"}}),t._v("\n\t\t\t\t\t\t"+t._s(t.__("Save Changes"))+"\n\t\t\t\t\t")])],1)])])])}),[],!1,null,null,null).exports,p=s("./src/component/recipients.vue"),v={mixins:[a.a],name:"report",data:function(){return{model:auditData.model.report,misc:auditData.misc,nonces:auditData.nonces,endpoints:auditData.endpoints,state:{on_saving:!1,show_day:!0}}},components:{recipients:p.a},methods:{updateRecipients:function(t){this.model.receipts=t},updateSettings:function(){var t=this.model,e=this;this.httpPostRequest("updateSettings",{data:JSON.stringify(t)},(function(t){e.$parent.$emit("update_report_time",t.data.summary)}))}},mounted:function(){var t=this;jQuery(".report-select").change((function(){var e=jQuery(this).attr("name");t.model[e]=jQuery(this).val()})),this.model.day=this.model.day.toLowerCase()},watch:{"model.frequency":function(){this.state.show_day=this.model.frequency>1}},created:function(){this.state.show_day=this.model.frequency>1},computed:{timezone_text:function(){return this.vsprintf(this.__("Your timezone is set to UTC %s, so your current time is %s."),this.misc.tz,this.misc.current_time)}}},g=Object(h.a)(v,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"sui-box"},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n\t\t\t\t"+t._s(t.__("Notification"))+"\n\t\t\t")])]),t._v(" "),s("form",{attrs:{method:"post"},on:{submit:function(e){return e.preventDefault(),t.updateSettings(e)}}},[s("div",{staticClass:"sui-box-body"},[s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Scheduled Reports"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Schedule Defender to automatically email you a summary of all your website events."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("label",{staticClass:"sui-toggle"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.notification,expression:"model.notification"}],attrs:{type:"checkbox",name:"notification",id:"toggle_notification"},domProps:{checked:Array.isArray(t.model.notification)?t._i(t.model.notification,null)>-1:t.model.notification},on:{change:function(e){var s=t.model.notification,i=e.target,n=!!i.checked;if(Array.isArray(s)){var a=t._i(s,null);i.checked?a<0&&t.$set(t.model,"notification",s.concat([null])):a>-1&&t.$set(t.model,"notification",s.slice(0,a).concat(s.slice(a+1)))}else t.$set(t.model,"notification",n)}}}),t._v(" "),s("span",{staticClass:"sui-toggle-slider"})]),t._v(" "),s("label",{staticClass:"sui-toggle-label",attrs:{for:"toggle_notification"}},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.__("Send regular email report"))+"\n\t\t\t\t\t\t")]),t._v(" "),s("div",{staticClass:"sui-border-frame sui-toggle-content"},[s("div",{staticClass:"margin-top-30"},[s("recipients",{attrs:{id:"report_dialog",recipients:t.model.receipts},on:{"update:recipients":t.updateRecipients}})],1),t._v(" "),s("div",{staticClass:"sui-form-field margin-top-30 schedule-box"},[s("label",{staticClass:"sui-label"},[t._v("\n\t\t\t\t\t\t\t\t\t"+t._s(t.__("Frequency"))+"\n\t\t\t\t\t\t\t\t")]),t._v(" "),s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col"},[s("select",{directives:[{name:"model",rawName:"v-model",value:t.model.frequency,expression:"model.frequency"}],staticClass:"report-select",attrs:{name:"frequency"},on:{change:function(e){var s=Array.prototype.filter.call(e.target.options,(function(t){return t.selected})).map((function(t){return"_value"in t?t._value:t.value}));t.$set(t.model,"frequency",e.target.multiple?s:s[0])}}},[s("option",{attrs:{value:"1"}},[t._v(t._s(t.__("Daily")))]),t._v(" "),s("option",{attrs:{value:"7"}},[t._v(t._s(t.__("Weekly")))]),t._v(" "),s("option",{attrs:{value:"30"}},[t._v(t._s(t.__("Monthly")))])])])]),t._v(" "),s("div",{staticClass:"sui-row"},[s("div",{directives:[{name:"show",rawName:"v-show",value:t.state.show_day,expression:"state.show_day"}],staticClass:"sui-col days-container"},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("Day of the week")))]),t._v(" "),s("select",{directives:[{name:"model",rawName:"v-model",value:t.model.day,expression:"model.day"}],staticClass:"report-select",attrs:{name:"day"},on:{change:function(e){var s=Array.prototype.filter.call(e.target.options,(function(t){return t.selected})).map((function(t){return"_value"in t?t._value:t.value}));t.$set(t.model,"day",e.target.multiple?s:s[0])}}},t._l(t.misc.days_of_week,(function(e){return s("option",{domProps:{value:e.toLowerCase()}},[t._v(t._s(e)+"\n\t\t\t\t\t\t\t\t\t\t\t")])})),0)]),t._v(" "),s("div",{staticClass:"sui-col"},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("Time of day")))]),t._v(" "),s("select",{directives:[{name:"model",rawName:"v-model",value:t.model.time,expression:"model.time"}],staticClass:"report-select",attrs:{name:"time"},on:{change:function(e){var s=Array.prototype.filter.call(e.target.options,(function(t){return t.selected})).map((function(t){return"_value"in t?t._value:t.value}));t.$set(t.model,"time",e.target.multiple?s:s[0])}}},t._l(t.misc.times_of_day,(function(e,i){return s("option",{domProps:{value:i}},[t._v(t._s(e)+"\n\t\t\t\t\t\t\t\t\t\t\t")])})),0)]),t._v(" "),s("div",{staticClass:"sui-col-md-12"},[s("span",{staticClass:"sui-p-small",domProps:{innerHTML:t._s(t.timezone_text)}})])])])])])])]),t._v(" "),s("div",{staticClass:"sui-box-footer"},[s("div",{staticClass:"sui-actions-right"},[s("submit-button",{attrs:{type:"submit","css-class":"sui-button-blue save-changes",state:t.state}},[s("i",{staticClass:"sui-icon-save",attrs:{"aria-hidden":"true"}}),t._v("\n\t\t\t\t\t\t"+t._s(t.__("Save Changes"))+"\n\t\t\t\t\t")])],1)])])])}),[],!1,null,null,null).exports,y={mixins:[a.a],name:"audit",data:function(){return{view:"",summary:{report_time:auditData.summary.report_time,events_in_7_days:"-"},enabled:auditData.enabled,state:{on_saving:!1},nonces:auditData.nonces,endpoints:auditData.endpoints}},components:{"app-footer":r.a,logs:f,settings:_,report:g},methods:{updateSummary:function(t){this.summary.events_in_7_days=t},toggle:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"enabled",s=this,i={};i[e]=t,this.httpPostRequest("updateSettings",{data:JSON.stringify(i)},(function(){s.enabled=t,s.$nextTick((function(){s.rebindSUI()}))}))}},created:function(){var t=new URLSearchParams(window.location.search).get("view");null===t&&(t="logs"),this.view=t,this.$on("events_in_7_days",(function(t){this.summary.events_in_7_days=t})),this.$on("update_report_time",(function(t){this.summary.report_time=t.report_time})),this.$on("enable_state",(function(t){this.enabled=t}))},watch:{view:function(t,e){history.replaceState({},null,this.adminUrl()+"admin.php?page=wdf-logging&view="+this.view)}},mounted:function(){self=this,jQuery(".sui-mobile-nav").change((function(){self.view=jQuery(this).val()}))}},b=Object(h.a)(y,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"sui-wrap",class:t.maybeHighContrast()},[t.enabled?s("div",{staticClass:"auditing"},[s("div",{staticClass:"sui-header"},[s("h1",{staticClass:"sui-header-title"},[t._v("\n "+t._s(t.__("Audit Logging"))+"\n ")]),t._v(" "),s("doc-link",{attrs:{link:"https://premium.wpmudev.org/docs/wpmu-dev-plugins/defender/#audit-logging"}})],1),t._v(" "),s("summary-box",{attrs:{"css-class":"sui-summary-sm"}},[s("div",{staticClass:"sui-summary-segment"},[s("div",{staticClass:"sui-summary-details"},[s("span",{staticClass:"sui-summary-large",domProps:{textContent:t._s(t.summary.events_in_7_days)}}),t._v(" "),s("span",{staticClass:"sui-summary-sub"},[t._v("\n "+t._s(t.__("Events logged in the past 7 days"))+"\n ")])])]),t._v(" "),s("div",{staticClass:"sui-summary-segment"},[s("ul",{staticClass:"sui-list"},[s("li",[s("span",{staticClass:"sui-list-label"},[t._v(t._s(t.__("Reporting")))]),t._v(" "),s("span",{staticClass:"sui-list-detail",domProps:{textContent:t._s(t.summary.report_time)}})])])])]),t._v(" "),s("div",{staticClass:"sui-row-with-sidenav"},[s("div",{staticClass:"sui-sidenav"},[s("ul",{staticClass:"sui-vertical-tabs sui-sidenav-hide-md"},[s("li",{staticClass:"sui-vertical-tab",class:{current:"logs"===t.view},attrs:{id:"tab_log"}},[s("a",{attrs:{href:t.adminUrl("admin.php?page=wdf-logging")},on:{click:function(e){e.preventDefault(),t.view="logs"}}},[t._v(t._s(t.__("Event Logs")))])]),t._v(" "),s("li",{staticClass:"sui-vertical-tab",class:{current:"settings"===t.view},attrs:{id:"tab_settings"}},[s("a",{attrs:{href:t.adminUrl("admin.php?page=wdf-logging&view=settings")},on:{click:function(e){e.preventDefault(),t.view="settings"}}},[t._v(t._s(t.__("Settings")))])]),t._v(" "),s("li",{staticClass:"sui-vertical-tab",class:{current:"report"===t.view},attrs:{id:"tab_report"}},[s("a",{attrs:{href:t.adminUrl("admin.php?page=wdf-logging&view=report")},on:{click:function(e){e.preventDefault(),t.view="report"}}},[t._v(t._s(t.__("Reports")))])])]),t._v(" "),s("div",{staticClass:"sui-sidenav-hide-lg"},[s("select",{staticClass:"sui-mobile-nav",staticStyle:{display:"none"}},[s("option",{attrs:{value:"logs"}},[t._v(t._s(t.__("Event Logs")))]),t._v(" "),s("option",{attrs:{value:"settings"}},[t._v(t._s(t.__("Settings")))]),t._v(" "),s("option",{attrs:{value:"report"}},[t._v(t._s(t.__("Reports")))])])])]),t._v(" "),s("logs",{directives:[{name:"show",rawName:"v-show",value:"logs"===t.view,expression:"view==='logs'"}]}),t._v(" "),s("settings",{directives:[{name:"show",rawName:"v-show",value:"settings"===t.view,expression:"view==='settings'"}]}),t._v(" "),s("report",{directives:[{name:"show",rawName:"v-show",value:"report"===t.view,expression:"view==='report'"}]})],1),t._v(" "),s("app-footer")],1):s("div",{staticClass:"auditing"},[s("div",{staticClass:"sui-header"},[s("h1",{staticClass:"sui-header-title"},[t._v("\n "+t._s(t.__("Audit Logging"))+"\n ")]),t._v(" "),s("div",{staticClass:"sui-actions-right"},[s("doc-link",{attrs:{link:"https://premium.wpmudev.org/docs/wpmu-dev-plugins/defender/#audit-logging"}})],1)]),t._v(" "),s("div",{staticClass:"sui-box"},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n "+t._s(t.__("Activate"))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-message"},[!1===t.maybeHideBranding()?s("img",{staticClass:"sui-image",attrs:{src:t.assetUrl("assets/img/audit-disabled-man.svg"),"aria-hidden":"true"}}):t._e(),t._v(" "),s("div",{staticClass:"sui-message-content"},[s("p",[t._v("\n "+t._s(t.__("Track and log each and every event when changes are made to your website and getdetailed reports on what's going on behind the scenes, including any hacking attempts onyour site."))+"\n ")]),t._v(" "),s("submit-button",{attrs:{type:"button","css-class":"sui-button-blue activate",state:t.state},on:{click:function(e){return t.toggle(!0)}}},[t._v("\n "+t._s(t.__("Activate"))+"\n ")])],1)])])])])}),[],!1,null,null,null).exports,w={mixins:[a.a],name:"audit-free"},k=Object(h.a)(w,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"sui-wrap",class:t.maybeHighContrast},[s("div",{staticClass:"sui-box"},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n "+t._s(t.__("Audit Logging"))+"\n ")]),t._v(" "),t._m(0)]),t._v(" "),s("div",{staticClass:"sui-message"},[s("img",{staticClass:"sui-image",attrs:{src:t.assetUrl("assets/img/audit-disabled-man.svg")}}),t._v(" "),s("div",{staticClass:"sui-message-content"},[s("p",[t._v("\n "+t._s(t.__("Track and log each and every event when changes are made to your website and get detailed reports on what's going on behind the scenes, including any hacking attempts on your site. This is a pro feature that requires an active WPMU DEV membership. Try it free today!"))+"\n ")]),t._v(" "),s("a",{staticClass:"sui-button sui-button-purple",attrs:{href:t.campaign_url("defender_auditlogging_upgrade_button"),target:"_blank"}},[t._v("Upgrade to Pro")])])])])])}),[function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"sui-actions-left"},[e("span",{staticClass:"sui-tag sui-tag-pro"},[this._v("Pro")])])}],!1,null,null,null).exports,x=s("./src/component/overlay.vue"),C=s("./src/component/submit-button.vue"),S=s("./src/component/doc-link.vue"),D=s("./src/component/summary-box.vue");n.a.filter("moment",(function(t,e){return t?d(t).format(e):d().format(e)})),n.a.component("overlay",x.a),n.a.component("submit-button",C.a),n.a.component("app-footer",r.a),n.a.component("doc-link",S.a),n.a.component("summary-box",D.a);new n.a({el:"#defender",components:{audit:b,audit_free:k},render:function(t){return 0===parseInt(defender.is_free)?t(b):t(k)}})},"./src/component/doc-link.vue":function(t,e,s){"use strict";var i={mixins:[s("./src/helper/base_hepler.js").a],name:"doc-link",props:["link"],data:function(){return{whitelabel:defender.whitelabel}}},n=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),a=Object(n.a)(i,(function(){var t=this.$createElement,e=this._self._c||t;return!1===this.whitelabel.hide_doc_link?e("div",{staticClass:"sui-actions-right"},[e("a",{staticClass:"sui-button sui-button-ghost",attrs:{href:this.link,target:"_blank"}},[e("i",{staticClass:"sui-icon-academy"}),this._v(" "+this._s(this.__("View Documentation"))+"\n ")])]):this._e()}),[],!1,null,null,null);e.a=a.exports},"./src/component/footer.vue":function(t,e,s){"use strict";var i={data:function(){return{whitelabel:defender.whitelabel,is_free:defender.is_free}}},n=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),a=Object(n.a)(i,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",[!0===t.whitelabel.change_footer?s("div",{staticClass:"sui-footer"},[t._v("\n "+t._s(t.whitelabel.footer_text)+"\n ")]):s("div",{staticClass:"sui-footer"},[t._v("Made with "),s("i",{staticClass:"sui-icon-heart"}),t._v(" by WPMU DEV")]),t._v(" "),!1===t.whitelabel.hide_doc_link?s("div",[t.is_free?s("ul",{staticClass:"sui-footer-nav"},[t._m(0),t._v(" "),t._m(1),t._v(" "),t._m(2),t._v(" "),t._m(3),t._v(" "),t._m(4),t._v(" "),t._m(5),t._v(" "),t._m(6),t._v(" "),t._m(7)]):s("ul",{staticClass:"sui-footer-nav"},[t._m(8),t._v(" "),t._m(9),t._v(" "),t._m(10),t._v(" "),t._m(11),t._v(" "),t._m(12),t._v(" "),t._m(13),t._v(" "),t._m(14),t._v(" "),t._m(15)]),t._v(" "),t._m(16)]):t._e()])}),[function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://profiles.wordpress.org/wpmudev#content-plugins",target:"_blank"}},[this._v("Free\n Plugins")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/features/",target:"_blank"}},[this._v("Membership")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/roadmap/",target:"_blank"}},[this._v("Roadmap")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://wordpress.org/support/plugin/plugin-name",target:"_blank"}},[this._v("Support")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/docs/",target:"_blank"}},[this._v("Docs")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/hub/",target:"_blank"}},[this._v("The Hub")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/terms-of-service/",target:"_blank"}},[this._v("Terms of Service")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://incsub.com/privacy-policy/",target:"_blank"}},[this._v("Privacy Policy")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/hub/",target:"_blank"}},[this._v("The Hub")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/projects/category/plugins/",target:"_blank"}},[this._v("Plugins")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/roadmap/",target:"_blank"}},[this._v("Roadmap")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/hub/support/",target:"_blank"}},[this._v("Support")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/docs/",target:"_blank"}},[this._v("Docs")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/hub/community/",target:"_blank"}},[this._v("Community")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/terms-of-service/",target:"_blank"}},[this._v("Terms of Service")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://incsub.com/privacy-policy/",target:"_blank"}},[this._v("Privacy Policy")])])},function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("ul",{staticClass:"sui-footer-social"},[s("li",[s("a",{attrs:{href:"https://www.facebook.com/wpmudev",target:"_blank"}},[s("i",{staticClass:"sui-icon-social-facebook",attrs:{"aria-hidden":"true"}}),t._v(" "),s("span",{staticClass:"sui-screen-reader-text"},[t._v("Facebook")])])]),t._v(" "),s("li",[s("a",{attrs:{href:"https://twitter.com/wpmudev",target:"_blank"}},[s("i",{staticClass:"sui-icon-social-twitter",attrs:{"aria-hidden":"true"}})]),t._v(" "),s("span",{staticClass:"sui-screen-reader-text"},[t._v("Twitter")])]),t._v(" "),s("li",[s("a",{attrs:{href:"https://www.instagram.com/wpmu_dev/",target:"_blank"}},[s("i",{staticClass:"sui-icon-instagram",attrs:{"aria-hidden":"true"}}),t._v(" "),s("span",{staticClass:"sui-screen-reader-text"},[t._v("Instagram")])])])])}],!1,null,null,null);e.a=a.exports},"./src/component/overlay.vue":function(t,e,s){"use strict";var i={name:"overlay"},n=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),a=Object(n.a)(i,(function(){var t=this.$createElement;this._self._c;return this._m(0)}),[function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"wd-overlay"},[e("i",{staticClass:"sui-icon-loader sui-loading",attrs:{"aria-hidden":"true"}})])}],!1,null,null,null);e.a=a.exports},"./src/component/pagination.vue":function(t,e,s){"use strict";var i={props:{value:{type:Number},pageCount:{type:Number,required:!0},forcePage:{type:Number},clickHandler:{type:Function,default:function(){}},pageRange:{type:Number,default:3},marginPages:{type:Number,default:1},prevText:{type:String,default:"Prev"},nextText:{type:String,default:"Next"},breakViewText:{type:String,default:"…"},containerClass:{type:String},pageClass:{type:String},pageLinkClass:{type:String},prevClass:{type:String},prevLinkClass:{type:String},nextClass:{type:String},nextLinkClass:{type:String},breakViewClass:{type:String},breakViewLinkClass:{type:String},activeClass:{type:String,default:"active"},disabledClass:{type:String,default:"disabled"},noLiSurround:{type:Boolean,default:!1},firstLastButton:{type:Boolean,default:!1},firstButtonText:{type:String,default:"First"},lastButtonText:{type:String,default:"Last"},hidePrevNext:{type:Boolean,default:!1}},beforeUpdate:function(){void 0!==this.forcePage&&this.forcePage!==this.selected&&(this.selected=this.forcePage)},computed:{selected:{get:function(){return this.value||this.innerValue},set:function(t){this.innerValue=t}},pages:function(){var t=this,e={};if(this.pageCount<=this.pageRange)for(var s=0;s<this.pageCount;s++){var i={index:s,content:s+1,selected:s===this.selected-1};e[s]=i}else{for(var n=Math.floor(this.pageRange/2),a=function(s){var i={index:s,content:s+1,selected:s===t.selected-1};e[s]=i},r=function(t){e[t]={disabled:!0,breakView:!0}},o=0;o<this.marginPages;o++)a(o);var l=0;this.selected-n>0&&(l=this.selected-1-n);var u=l+this.pageRange-1;u>=this.pageCount&&(l=(u=this.pageCount-1)-this.pageRange+1);for(var d=l;d<=u&&d<=this.pageCount-1;d++)a(d);l>this.marginPages&&r(l-1),u+1<this.pageCount-this.marginPages&&r(u+1);for(var c=this.pageCount-1;c>=this.pageCount-this.marginPages;c--)a(c)}return e}},data:function(){return{innerValue:1}},methods:{handlePageSelected:function(t){this.selected!==t&&(this.innerValue=t,this.$emit("input",t),this.clickHandler(t))},prevPage:function(){this.selected<=1||this.handlePageSelected(this.selected-1)},nextPage:function(){this.selected>=this.pageCount||this.handlePageSelected(this.selected+1)},firstPageSelected:function(){return 1===this.selected},lastPageSelected:function(){return this.selected===this.pageCount||0===this.pageCount},selectFirstPage:function(){this.selected<=1||this.handlePageSelected(1)},selectLastPage:function(){this.selected>=this.pageCount||this.handlePageSelected(this.pageCount)}}},n=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),a=Object(n.a)(i,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return t.noLiSurround?s("div",{class:t.containerClass},[t.firstLastButton?s("a",{class:[t.pageLinkClass,t.firstPageSelected()?t.disabledClass:""],attrs:{tabindex:"0"},domProps:{innerHTML:t._s(t.firstButtonText)},on:{click:function(e){return t.selectFirstPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.selectFirstPage()}}}):t._e(),t._v(" "),t.firstPageSelected()&&t.hidePrevNext?t._e():s("a",{class:[t.prevLinkClass,t.firstPageSelected()?t.disabledClass:""],attrs:{tabindex:"0"},domProps:{innerHTML:t._s(t.prevText)},on:{click:function(e){return t.prevPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.prevPage()}}}),t._v(" "),t._l(t.pages,(function(e){return[e.breakView?s("a",{class:[t.pageLinkClass,t.breakViewLinkClass,e.disabled?t.disabledClass:""],attrs:{tabindex:"0"}},[t._t("breakViewContent",[t._v(t._s(t.breakViewText))])],2):e.disabled?s("a",{class:[t.pageLinkClass,e.selected?t.activeClass:"",t.disabledClass],attrs:{tabindex:"0"}},[t._v(t._s(e.content))]):s("a",{class:[t.pageLinkClass,e.selected?t.activeClass:""],attrs:{tabindex:"0"},on:{click:function(s){return t.handlePageSelected(e.index+1)},keyup:function(s){return!s.type.indexOf("key")&&t._k(s.keyCode,"enter",13,s.key,"Enter")?null:t.handlePageSelected(e.index+1)}}},[t._v(t._s(e.content))])]})),t._v(" "),t.lastPageSelected()&&t.hidePrevNext?t._e():s("a",{class:[t.nextLinkClass,t.lastPageSelected()?t.disabledClass:""],attrs:{tabindex:"0"},domProps:{innerHTML:t._s(t.nextText)},on:{click:function(e){return t.nextPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.nextPage()}}}),t._v(" "),t.firstLastButton?s("a",{class:[t.pageLinkClass,t.lastPageSelected()?t.disabledClass:""],attrs:{tabindex:"0"},domProps:{innerHTML:t._s(t.lastButtonText)},on:{click:function(e){return t.selectLastPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.selectLastPage()}}}):t._e()],2):s("ul",{class:t.containerClass},[t.firstLastButton?s("li",{class:[t.pageClass,t.firstPageSelected()?t.disabledClass:""]},[s("a",{class:t.pageLinkClass,attrs:{tabindex:t.firstPageSelected()?-1:0},domProps:{innerHTML:t._s(t.firstButtonText)},on:{click:function(e){return t.selectFirstPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.selectFirstPage()}}})]):t._e(),t._v(" "),t.firstPageSelected()&&t.hidePrevNext?t._e():s("li",{class:[t.prevClass,t.firstPageSelected()?t.disabledClass:""]},[s("a",{class:t.prevLinkClass,attrs:{tabindex:t.firstPageSelected()?-1:0},domProps:{innerHTML:t._s(t.prevText)},on:{click:function(e){return t.prevPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.prevPage()}}})]),t._v(" "),t._l(t.pages,(function(e){return s("li",{class:[t.pageClass,e.selected?t.activeClass:"",e.disabled?t.disabledClass:"",e.breakView?t.breakViewClass:""]},[e.breakView?s("a",{class:[t.pageLinkClass,t.breakViewLinkClass],attrs:{tabindex:"0"}},[t._t("breakViewContent",[t._v(t._s(t.breakViewText))])],2):e.disabled?s("a",{class:t.pageLinkClass,attrs:{tabindex:"0"}},[t._v(t._s(e.content))]):s("a",{class:t.pageLinkClass,attrs:{disabled:e.selected,tabindex:"0"},on:{click:function(s){return t.handlePageSelected(e.index+1)},keyup:function(s){return!s.type.indexOf("key")&&t._k(s.keyCode,"enter",13,s.key,"Enter")?null:t.handlePageSelected(e.index+1)}}},[t._v(t._s(e.content))])])})),t._v(" "),t.lastPageSelected()&&t.hidePrevNext?t._e():s("li",{class:[t.nextClass,t.lastPageSelected()?t.disabledClass:""]},[s("a",{class:t.nextLinkClass,attrs:{tabindex:t.lastPageSelected()?-1:0},domProps:{innerHTML:t._s(t.nextText)},on:{click:function(e){return t.nextPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.nextPage()}}})]),t._v(" "),t.firstLastButton?s("li",{class:[t.pageClass,t.lastPageSelected()?t.disabledClass:""]},[s("a",{class:t.pageLinkClass,attrs:{tabindex:t.lastPageSelected()?-1:0},domProps:{innerHTML:t._s(t.lastButtonText)},on:{click:function(e){return t.selectLastPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.selectLastPage()}}})]):t._e()],2)}),[],!1,null,null,null);e.a=a.exports},"./src/component/recipients.vue":function(t,e,s){"use strict";var i={mixins:[s("./src/helper/base_hepler.js").a],props:["recipients","id"],data:function(){return{first_name:"",email:"",observers:[],can_add:!1,saving_warning:!1,validate:{email:""}}},created:function(){this.observers=this.recipients},watch:{email:function(){if(this.validateEmail(this.email)){var t=!0,e=this;this.observers.forEach((function(s,i){if(s.email===e.email)return t=!1,void(e.validate.email=e.__("This email address is already in use"))})),this.can_add=t,!0===t&&(this.validate.email="")}else this.can_add=!1,this.validate.email=this.__("Invalid email address")},observers:function(){0===this.observers.length?this.saving_warning=!0:this.saving_warning=!1,void 0!==this.event&&this.$emit("update:recipients",this.observers)}},methods:{addRecipient:function(){this.observers.push({first_name:this.first_name,email:this.email}),jQuery.each(SUI.dialogs,(function(t,e){e.hide()})),this.first_name="",this.email=""},removeRecipient:function(t){this.observers.splice(t,1)},validateEmail:function(t){return/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(String(t).toLowerCase())}}},n=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),a=Object(n.a)(i,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",[s("div",{directives:[{name:"show",rawName:"v-show",value:t.saving_warning,expression:"saving_warning"}],staticClass:"sui-notice sui-notice-warning"},[s("p",[t._v("\n\t\t\t"+t._s(t.__("You've removed all recipients. If you save without a recipient, we'll automatically turn of reports"))+"\n\t\t")])]),t._v(" "),s("div",{staticClass:"sui-recipients"},[t._l(t.observers,(function(e,i){return s("div",{staticClass:"sui-recipient"},[s("span",{staticClass:"sui-recipient-name"},[t._v(t._s(e.first_name))]),t._v(" "),s("span",{staticClass:"sui-recipient-email"},[t._v(t._s(e.email))]),t._v(" "),s("button",{staticClass:"sui-button-icon",attrs:{type:"button"},on:{click:function(e){return t.removeRecipient(i)}}},[s("i",{staticClass:"sui-icon-trash",attrs:{"aria-hidden":"true"}})])])})),t._v(" "),s("button",{staticClass:"sui-button sui-button-ghost add-recipient",attrs:{"data-a11y-dialog-show":t.id,type:"button"}},[s("i",{staticClass:"sui-icon-plus",attrs:{"aria-hidden":"true"}}),t._v(" "+t._s(t.__("Add Recipient"))+"\n\t\t")])],2),t._v(" "),s("div",{staticClass:"sui-dialog sui-dialog-sm",attrs:{"aria-hidden":"true",tabindex:"-1",id:t.id}},[s("div",{staticClass:"sui-dialog-overlay"}),t._v(" "),s("div",{staticClass:"sui-dialog-content",attrs:{"aria-labelledby":"dialogTitle","aria-describedby":"dialogDescription",role:"dialog"}},[s("div",{staticClass:"sui-box",attrs:{role:"document"}},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n\t\t\t\t\t\t"+t._s(t.__("Add Recipient"))+"\n\t\t\t\t\t")]),t._v(" "),t._m(0)]),t._v(" "),s("div",{staticClass:"sui-box-body"},[s("p",[t._v("\n\t\t\t\t\t\t"+t._s(t.__("Add as many recipients as you like, they will receive email reports as per the schedule you set."))+"\n\t\t\t\t\t")]),t._v(" "),s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("First name")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.first_name,expression:"first_name"}],staticClass:"sui-form-control recipient_name",attrs:{type:"text"},domProps:{value:t.first_name},on:{input:function(e){e.target.composing||(t.first_name=e.target.value)}}})]),t._v(" "),s("div",{staticClass:"sui-form-field",class:{"sui-form-field-error":t.validate.email.length>0}},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("Email")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.email,expression:"email"}],staticClass:"sui-form-control recipient_email",attrs:{type:"text"},domProps:{value:t.email},on:{input:function(e){e.target.composing||(t.email=e.target.value)}}}),t._v(" "),s("span",{directives:[{name:"show",rawName:"v-show",value:t.validate.email.length>0,expression:"validate.email.length > 0"}],staticClass:"sui-error-message",domProps:{textContent:t._s(this.validate.email)}})])]),t._v(" "),s("div",{staticClass:"sui-box-footer"},[s("button",{staticClass:"sui-button sui-button-ghost",attrs:{type:"button","data-a11y-dialog-hide":"recipient-dialog"}},[t._v("\n\t\t\t\t\t\t"+t._s(t.__("Cancel"))+"\n\t\t\t\t\t")]),t._v(" "),s("button",{staticClass:"sui-modal-close sui-button recipient_save",attrs:{type:"button",disabled:!1===t.can_add},on:{click:t.addRecipient}},[t._v(t._s(t.__("Add"))+"\n\t\t\t\t\t")])])])])])])}),[function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"sui-actions-right"},[e("button",{staticClass:"sui-dialog-close",attrs:{type:"button","data-a11y-dialog-hide":"","aria-label":"Close this dialog window"}})])}],!1,null,null,null);e.a=a.exports},"./src/component/submit-button.vue":function(t,e,s){"use strict";var i={name:"submit-button",props:["id","state","text","css-class","type"],computed:{getClass:function(){return"sui-button "+this.cssClass}}},n=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),a=Object(n.a)(i,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("button",{staticClass:"sui-button",class:[t.getClass,{"sui-button-onload":t.state.on_saving}],attrs:{id:t.id,type:t.type,disabled:t.state.on_saving},on:{click:function(e){return t.$emit("click")}}},[s("span",{staticClass:"sui-loading-text"},[t._t("default")],2),t._v(" "),s("i",{staticClass:"sui-icon-loader sui-loading",attrs:{"aria-hidden":"true"}})])}),[],!1,null,null,null);e.a=a.exports},"./src/component/summary-box.vue":function(t,e,s){"use strict";var i={mixins:[s("./src/helper/base_hepler.js").a],props:["css-class"],name:"summary-box",data:function(){return{whitelabel:defender.whitelabel}},computed:{summary_class:function(){return{"sui-unbranded":!0===this.whitelabel.hide_branding&&0===this.whitelabel.hero_image.length,"sui-rebranded":!0===this.whitelabel.hide_branding&&this.whitelabel.hero_image.length>0}},css_class:function(){return this.cssClass},rebrand_img:function(){if(this.whitelabel.hero_image.length>0)return{"background-image":"url('"+this.whitelabel.hero_image+"')"}}}},n=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),a=Object(n.a)(i,(function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"sui-box sui-summary",class:[this.summary_class,this.css_class],style:this.rebrand_img},[e("div",{staticClass:"sui-summary-image-space",attrs:{"aria-hidden":"true"}}),this._v(" "),this._t("default")],2)}),[],!1,null,null,null);e.a=a.exports},"./src/helper/base_hepler.js":function(t,e,s){"use strict";var i=s("./node_modules/xss/lib/index.js"),n=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var s=[],i=!0,n=!1,a=void 0;try{for(var r,o=t[Symbol.iterator]();!(i=(r=o.next()).done)&&(s.push(r.value),!e||s.length!==e);i=!0);}catch(t){n=!0,a=t}finally{try{!i&&o.return&&o.return()}finally{if(n)throw a}}return s}(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")},a=wp.i18n,r={whiteList:{a:["href","title","target"],span:["class"],strong:["*"]},safeAttrValue:function(t,e,s,n){return"a"===t&&"href"===e&&"%s"===s?"%s":Object(i.safeAttrValue)(t,e,s,n)}},o=new i.FilterXSS(r),l=[];e.a={methods:{__:function(t){var e=a.__(t,"wpdef");return o.process(e)},xss:function(t){return o.process(t)},vsprintf:function(t){return a.sprintf.apply(null,arguments)},siteUrl:function(t){return void 0!==t?defender.site_url+t:defender.site_url},adminUrl:function(t){return void 0!==t?defender.admin_url+t:defender.admin_url},assetUrl:function(t){return defender.defender_url+t},maybeHighContrast:function(){return{"sui-color-accessible":!0===defender.misc.high_contrast}},maybeHideBranding:function(){return defender.whitelabel.hide_branding},campaign_url:function(t){return"https://premium.wpmudev.org/project/wp-defender/?utm_source=defender&utm_medium=plugin&utm_campaign="+t},httpRequest:function(t,e,s,i,n){var a=this;void 0===n&&(this.state.on_saving=!0);var r=ajaxurl+"?action="+this.endpoints[e]+"&_wpnonce="+this.nonces[e],o=jQuery.ajax({url:r,method:t,data:s,success:function(t){var e=t.data;a.state.on_saving=!1,void 0!==e&&void 0!==e.message&&(t.success?Defender.showNotification("success",e.message):Defender.showNotification("error",e.message)),void 0!==i&&i(t)}});l.push(o)},httpGetRequest:function(t,e,s,i){this.httpRequest("get",t,e,s,i)},httpPostRequest:function(t,e,s,i){this.httpRequest("post",t,e,s,i)},abortAllRequests:function(){for(var t=0;t<l.length;t++)l[t].abort()},getQueryStringParams:function(t){return t?(/^[?#]/.test(t)?t.slice(1):t).split("&").reduce((function(t,e){var s=e.split("="),i=n(s,2),a=i[0],r=i[1];return t[a]=r?decodeURIComponent(r.replace(/\+/g," ")):"",t}),{}):{}},rebindSUI:function(){jQuery("select:not([multiple])").each((function(){SUI.suiSelect(this)})),jQuery(".sui-accordion").each((function(){SUI.suiAccordion(this)}));var t=jQuery(".sui-wrap");SUI.dialogs={},jQuery(".sui-dialog").each((function(){SUI.dialogs[this.id]=new A11yDialog(this,t)}))}}}},vue:function(t,e){t.exports=Vue}});
assets/app/dashboard.js CHANGED
@@ -1 +1 @@
1
- !function(t){var s=window.webpackHotUpdate;window.webpackHotUpdate=function(t,e){!function(t,s){if(!y[t]||!b[t])return;for(var e in b[t]=!1,s)Object.prototype.hasOwnProperty.call(s,e)&&(v[e]=s[e]);0==--f&&0===m&&x()}(t,e),s&&s(t,e)};var e,i=!0,a="495f1b1cd29114aab5aa",n={},o=[],r=[];function c(t){var s=A[t];if(!s)return j;var i=function(i){return s.hot.active?(A[i]?-1===A[i].parents.indexOf(t)&&A[i].parents.push(t):(o=[t],e=i),-1===s.children.indexOf(i)&&s.children.push(i)):(console.warn("[HMR] unexpected require("+i+") from disposed module "+t),o=[]),j(i)},a=function(t){return{configurable:!0,enumerable:!0,get:function(){return j[t]},set:function(s){j[t]=s}}};for(var n in j)Object.prototype.hasOwnProperty.call(j,n)&&"e"!==n&&"t"!==n&&Object.defineProperty(i,n,a(n));return i.e=function(t){return"ready"===d&&_("prepare"),m++,j.e(t).then(s,(function(t){throw s(),t}));function s(){m--,"prepare"===d&&(g[t]||w(t),0===m&&0===f&&x())}},i.t=function(t,s){return 1&s&&(t=i(t)),j.t(t,-2&s)},i}function l(t){var s={_acceptedDependencies:{},_declinedDependencies:{},_selfAccepted:!1,_selfDeclined:!1,_disposeHandlers:[],_main:e!==t,active:!0,accept:function(t,e){if(void 0===t)s._selfAccepted=!0;else if("function"==typeof t)s._selfAccepted=t;else if("object"==typeof t)for(var i=0;i<t.length;i++)s._acceptedDependencies[t[i]]=e||function(){};else s._acceptedDependencies[t]=e||function(){}},decline:function(t){if(void 0===t)s._selfDeclined=!0;else if("object"==typeof t)for(var e=0;e<t.length;e++)s._declinedDependencies[t[e]]=!0;else s._declinedDependencies[t]=!0},dispose:function(t){s._disposeHandlers.push(t)},addDisposeHandler:function(t){s._disposeHandlers.push(t)},removeDisposeHandler:function(t){var e=s._disposeHandlers.indexOf(t);e>=0&&s._disposeHandlers.splice(e,1)},check:k,apply:S,status:function(t){if(!t)return d;u.push(t)},addStatusHandler:function(t){u.push(t)},removeStatusHandler:function(t){var s=u.indexOf(t);s>=0&&u.splice(s,1)},data:n[t]};return e=void 0,s}var u=[],d="idle";function _(t){d=t;for(var s=0;s<u.length;s++)u[s].call(null,t)}var p,v,h,f=0,m=0,g={},b={},y={};function C(t){return+t+""===t?+t:t}function k(t){if("idle"!==d)throw new Error("check() is only allowed in idle status");return i=t,_("check"),(s=1e4,s=s||1e4,new Promise((function(t,e){if("undefined"==typeof XMLHttpRequest)return e(new Error("No browser support"));try{var i=new XMLHttpRequest,n=j.p+""+a+".hot-update.json";i.open("GET",n,!0),i.timeout=s,i.send(null)}catch(t){return e(t)}i.onreadystatechange=function(){if(4===i.readyState)if(0===i.status)e(new Error("Manifest request to "+n+" timed out."));else if(404===i.status)t();else if(200!==i.status&&304!==i.status)e(new Error("Manifest request to "+n+" failed."));else{try{var s=JSON.parse(i.responseText)}catch(t){return void e(t)}t(s)}}}))).then((function(t){if(!t)return _("idle"),null;b={},g={},y=t.c,h=t.h,_("prepare");var s=new Promise((function(t,s){p={resolve:t,reject:s}}));v={};return w(2),"prepare"===d&&0===m&&0===f&&x(),s}));var s}function w(t){y[t]?(b[t]=!0,f++,function(t){var s=document.createElement("script");s.charset="utf-8",s.src=j.p+""+t+"."+a+".hot-update.js",document.head.appendChild(s)}(t)):g[t]=!0}function x(){_("ready");var t=p;if(p=null,t)if(i)Promise.resolve().then((function(){return S(i)})).then((function(s){t.resolve(s)}),(function(s){t.reject(s)}));else{var s=[];for(var e in v)Object.prototype.hasOwnProperty.call(v,e)&&s.push(C(e));t.resolve(s)}}function S(s){if("ready"!==d)throw new Error("apply() is only allowed in ready status");var e,i,r,c,l;function u(t){for(var s=[t],e={},i=s.map((function(t){return{chain:[t],id:t}}));i.length>0;){var a=i.pop(),n=a.id,o=a.chain;if((c=A[n])&&!c.hot._selfAccepted){if(c.hot._selfDeclined)return{type:"self-declined",chain:o,moduleId:n};if(c.hot._main)return{type:"unaccepted",chain:o,moduleId:n};for(var r=0;r<c.parents.length;r++){var l=c.parents[r],u=A[l];if(u){if(u.hot._declinedDependencies[n])return{type:"declined",chain:o.concat([l]),moduleId:n,parentId:l};-1===s.indexOf(l)&&(u.hot._acceptedDependencies[n]?(e[l]||(e[l]=[]),p(e[l],[n])):(delete e[l],s.push(l),i.push({chain:o.concat([l]),id:l})))}}}}return{type:"accepted",moduleId:t,outdatedModules:s,outdatedDependencies:e}}function p(t,s){for(var e=0;e<s.length;e++){var i=s[e];-1===t.indexOf(i)&&t.push(i)}}s=s||{};var f={},m=[],g={},b=function(){console.warn("[HMR] unexpected require("+w.moduleId+") to disposed module")};for(var k in v)if(Object.prototype.hasOwnProperty.call(v,k)){var w;l=C(k);var x=!1,S=!1,P=!1,T="";switch((w=v[k]?u(l):{type:"disposed",moduleId:k}).chain&&(T="\nUpdate propagation: "+w.chain.join(" -> ")),w.type){case"self-declined":s.onDeclined&&s.onDeclined(w),s.ignoreDeclined||(x=new Error("Aborted because of self decline: "+w.moduleId+T));break;case"declined":s.onDeclined&&s.onDeclined(w),s.ignoreDeclined||(x=new Error("Aborted because of declined dependency: "+w.moduleId+" in "+w.parentId+T));break;case"unaccepted":s.onUnaccepted&&s.onUnaccepted(w),s.ignoreUnaccepted||(x=new Error("Aborted because "+l+" is not accepted"+T));break;case"accepted":s.onAccepted&&s.onAccepted(w),S=!0;break;case"disposed":s.onDisposed&&s.onDisposed(w),P=!0;break;default:throw new Error("Unexception type "+w.type)}if(x)return _("abort"),Promise.reject(x);if(S)for(l in g[l]=v[l],p(m,w.outdatedModules),w.outdatedDependencies)Object.prototype.hasOwnProperty.call(w.outdatedDependencies,l)&&(f[l]||(f[l]=[]),p(f[l],w.outdatedDependencies[l]));P&&(p(m,[w.moduleId]),g[l]=b)}var I,E=[];for(i=0;i<m.length;i++)l=m[i],A[l]&&A[l].hot._selfAccepted&&g[l]!==b&&E.push({module:l,errorHandler:A[l].hot._selfAccepted});_("dispose"),Object.keys(y).forEach((function(t){!1===y[t]&&function(t){delete installedChunks[t]}(t)}));for(var $,O,D=m.slice();D.length>0;)if(l=D.pop(),c=A[l]){var R={},q=c.hot._disposeHandlers;for(r=0;r<q.length;r++)(e=q[r])(R);for(n[l]=R,c.hot.active=!1,delete A[l],delete f[l],r=0;r<c.children.length;r++){var L=A[c.children[r]];L&&((I=L.parents.indexOf(l))>=0&&L.parents.splice(I,1))}}for(l in f)if(Object.prototype.hasOwnProperty.call(f,l)&&(c=A[l]))for(O=f[l],r=0;r<O.length;r++)$=O[r],(I=c.children.indexOf($))>=0&&c.children.splice(I,1);for(l in _("apply"),a=h,g)Object.prototype.hasOwnProperty.call(g,l)&&(t[l]=g[l]);var U=null;for(l in f)if(Object.prototype.hasOwnProperty.call(f,l)&&(c=A[l])){O=f[l];var H=[];for(i=0;i<O.length;i++)if($=O[i],e=c.hot._acceptedDependencies[$]){if(-1!==H.indexOf(e))continue;H.push(e)}for(i=0;i<H.length;i++){e=H[i];try{e(O)}catch(t){s.onErrored&&s.onErrored({type:"accept-errored",moduleId:l,dependencyId:O[i],error:t}),s.ignoreErrored||U||(U=t)}}}for(i=0;i<E.length;i++){var W=E[i];l=W.module,o=[l];try{j(l)}catch(t){if("function"==typeof W.errorHandler)try{W.errorHandler(t)}catch(e){s.onErrored&&s.onErrored({type:"self-accept-error-handler-errored",moduleId:l,error:e,originalError:t}),s.ignoreErrored||U||(U=e),U||(U=t)}else s.onErrored&&s.onErrored({type:"self-accept-errored",moduleId:l,error:t}),s.ignoreErrored||U||(U=t)}}return U?(_("fail"),Promise.reject(U)):(_("idle"),new Promise((function(t){t(m)})))}var A={};function j(s){if(A[s])return A[s].exports;var e=A[s]={i:s,l:!1,exports:{},hot:l(s),parents:(r=o,o=[],r),children:[]};return t[s].call(e.exports,e,e.exports,c(s)),e.l=!0,e.exports}j.m=t,j.c=A,j.d=function(t,s,e){j.o(t,s)||Object.defineProperty(t,s,{enumerable:!0,get:e})},j.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},j.t=function(t,s){if(1&s&&(t=j(t)),8&s)return t;if(4&s&&"object"==typeof t&&t&&t.__esModule)return t;var e=Object.create(null);if(j.r(e),Object.defineProperty(e,"default",{enumerable:!0,value:t}),2&s&&"string"!=typeof t)for(var i in t)j.d(e,i,function(s){return t[s]}.bind(null,i));return e},j.n=function(t){var s=t&&t.__esModule?function(){return t.default}:function(){return t};return j.d(s,"a",s),s},j.o=function(t,s){return Object.prototype.hasOwnProperty.call(t,s)},j.p="",j.h=function(){return a},c("./src/dashboard.js")(j.s="./src/dashboard.js")}({"./node_modules/cssfilter/lib/css.js":function(t,s,e){var i=e("./node_modules/cssfilter/lib/default.js"),a=e("./node_modules/cssfilter/lib/parser.js");e("./node_modules/cssfilter/lib/util.js");function n(t){return null==t}function o(t){(t=function(t){var s={};for(var e in t)s[e]=t[e];return s}(t||{})).whiteList=t.whiteList||i.whiteList,t.onAttr=t.onAttr||i.onAttr,t.onIgnoreAttr=t.onIgnoreAttr||i.onIgnoreAttr,t.safeAttrValue=t.safeAttrValue||i.safeAttrValue,this.options=t}o.prototype.process=function(t){if(!(t=(t=t||"").toString()))return"";var s=this.options,e=s.whiteList,i=s.onAttr,o=s.onIgnoreAttr,r=s.safeAttrValue;return a(t,(function(t,s,a,c,l){var u=e[a],d=!1;if(!0===u?d=u:"function"==typeof u?d=u(c):u instanceof RegExp&&(d=u.test(c)),!0!==d&&(d=!1),c=r(a,c)){var _,p={position:s,sourcePosition:t,source:l,isWhite:d};return d?n(_=i(a,c,p))?a+":"+c:_:n(_=o(a,c,p))?void 0:_}}))},t.exports=o},"./node_modules/cssfilter/lib/default.js":function(t,s){function e(){var t={"align-content":!1,"align-items":!1,"align-self":!1,"alignment-adjust":!1,"alignment-baseline":!1,all:!1,"anchor-point":!1,animation:!1,"animation-delay":!1,"animation-direction":!1,"animation-duration":!1,"animation-fill-mode":!1,"animation-iteration-count":!1,"animation-name":!1,"animation-play-state":!1,"animation-timing-function":!1,azimuth:!1,"backface-visibility":!1,background:!0,"background-attachment":!0,"background-clip":!0,"background-color":!0,"background-image":!0,"background-origin":!0,"background-position":!0,"background-repeat":!0,"background-size":!0,"baseline-shift":!1,binding:!1,bleed:!1,"bookmark-label":!1,"bookmark-level":!1,"bookmark-state":!1,border:!0,"border-bottom":!0,"border-bottom-color":!0,"border-bottom-left-radius":!0,"border-bottom-right-radius":!0,"border-bottom-style":!0,"border-bottom-width":!0,"border-collapse":!0,"border-color":!0,"border-image":!0,"border-image-outset":!0,"border-image-repeat":!0,"border-image-slice":!0,"border-image-source":!0,"border-image-width":!0,"border-left":!0,"border-left-color":!0,"border-left-style":!0,"border-left-width":!0,"border-radius":!0,"border-right":!0,"border-right-color":!0,"border-right-style":!0,"border-right-width":!0,"border-spacing":!0,"border-style":!0,"border-top":!0,"border-top-color":!0,"border-top-left-radius":!0,"border-top-right-radius":!0,"border-top-style":!0,"border-top-width":!0,"border-width":!0,bottom:!1,"box-decoration-break":!0,"box-shadow":!0,"box-sizing":!0,"box-snap":!0,"box-suppress":!0,"break-after":!0,"break-before":!0,"break-inside":!0,"caption-side":!1,chains:!1,clear:!0,clip:!1,"clip-path":!1,"clip-rule":!1,color:!0,"color-interpolation-filters":!0,"column-count":!1,"column-fill":!1,"column-gap":!1,"column-rule":!1,"column-rule-color":!1,"column-rule-style":!1,"column-rule-width":!1,"column-span":!1,"column-width":!1,columns:!1,contain:!1,content:!1,"counter-increment":!1,"counter-reset":!1,"counter-set":!1,crop:!1,cue:!1,"cue-after":!1,"cue-before":!1,cursor:!1,direction:!1,display:!0,"display-inside":!0,"display-list":!0,"display-outside":!0,"dominant-baseline":!1,elevation:!1,"empty-cells":!1,filter:!1,flex:!1,"flex-basis":!1,"flex-direction":!1,"flex-flow":!1,"flex-grow":!1,"flex-shrink":!1,"flex-wrap":!1,float:!1,"float-offset":!1,"flood-color":!1,"flood-opacity":!1,"flow-from":!1,"flow-into":!1,font:!0,"font-family":!0,"font-feature-settings":!0,"font-kerning":!0,"font-language-override":!0,"font-size":!0,"font-size-adjust":!0,"font-stretch":!0,"font-style":!0,"font-synthesis":!0,"font-variant":!0,"font-variant-alternates":!0,"font-variant-caps":!0,"font-variant-east-asian":!0,"font-variant-ligatures":!0,"font-variant-numeric":!0,"font-variant-position":!0,"font-weight":!0,grid:!1,"grid-area":!1,"grid-auto-columns":!1,"grid-auto-flow":!1,"grid-auto-rows":!1,"grid-column":!1,"grid-column-end":!1,"grid-column-start":!1,"grid-row":!1,"grid-row-end":!1,"grid-row-start":!1,"grid-template":!1,"grid-template-areas":!1,"grid-template-columns":!1,"grid-template-rows":!1,"hanging-punctuation":!1,height:!0,hyphens:!1,icon:!1,"image-orientation":!1,"image-resolution":!1,"ime-mode":!1,"initial-letters":!1,"inline-box-align":!1,"justify-content":!1,"justify-items":!1,"justify-self":!1,left:!1,"letter-spacing":!0,"lighting-color":!0,"line-box-contain":!1,"line-break":!1,"line-grid":!1,"line-height":!1,"line-snap":!1,"line-stacking":!1,"line-stacking-ruby":!1,"line-stacking-shift":!1,"line-stacking-strategy":!1,"list-style":!0,"list-style-image":!0,"list-style-position":!0,"list-style-type":!0,margin:!0,"margin-bottom":!0,"margin-left":!0,"margin-right":!0,"margin-top":!0,"marker-offset":!1,"marker-side":!1,marks:!1,mask:!1,"mask-box":!1,"mask-box-outset":!1,"mask-box-repeat":!1,"mask-box-slice":!1,"mask-box-source":!1,"mask-box-width":!1,"mask-clip":!1,"mask-image":!1,"mask-origin":!1,"mask-position":!1,"mask-repeat":!1,"mask-size":!1,"mask-source-type":!1,"mask-type":!1,"max-height":!0,"max-lines":!1,"max-width":!0,"min-height":!0,"min-width":!0,"move-to":!1,"nav-down":!1,"nav-index":!1,"nav-left":!1,"nav-right":!1,"nav-up":!1,"object-fit":!1,"object-position":!1,opacity:!1,order:!1,orphans:!1,outline:!1,"outline-color":!1,"outline-offset":!1,"outline-style":!1,"outline-width":!1,overflow:!1,"overflow-wrap":!1,"overflow-x":!1,"overflow-y":!1,padding:!0,"padding-bottom":!0,"padding-left":!0,"padding-right":!0,"padding-top":!0,page:!1,"page-break-after":!1,"page-break-before":!1,"page-break-inside":!1,"page-policy":!1,pause:!1,"pause-after":!1,"pause-before":!1,perspective:!1,"perspective-origin":!1,pitch:!1,"pitch-range":!1,"play-during":!1,position:!1,"presentation-level":!1,quotes:!1,"region-fragment":!1,resize:!1,rest:!1,"rest-after":!1,"rest-before":!1,richness:!1,right:!1,rotation:!1,"rotation-point":!1,"ruby-align":!1,"ruby-merge":!1,"ruby-position":!1,"shape-image-threshold":!1,"shape-outside":!1,"shape-margin":!1,size:!1,speak:!1,"speak-as":!1,"speak-header":!1,"speak-numeral":!1,"speak-punctuation":!1,"speech-rate":!1,stress:!1,"string-set":!1,"tab-size":!1,"table-layout":!1,"text-align":!0,"text-align-last":!0,"text-combine-upright":!0,"text-decoration":!0,"text-decoration-color":!0,"text-decoration-line":!0,"text-decoration-skip":!0,"text-decoration-style":!0,"text-emphasis":!0,"text-emphasis-color":!0,"text-emphasis-position":!0,"text-emphasis-style":!0,"text-height":!0,"text-indent":!0,"text-justify":!0,"text-orientation":!0,"text-overflow":!0,"text-shadow":!0,"text-space-collapse":!0,"text-transform":!0,"text-underline-position":!0,"text-wrap":!0,top:!1,transform:!1,"transform-origin":!1,"transform-style":!1,transition:!1,"transition-delay":!1,"transition-duration":!1,"transition-property":!1,"transition-timing-function":!1,"unicode-bidi":!1,"vertical-align":!1,visibility:!1,"voice-balance":!1,"voice-duration":!1,"voice-family":!1,"voice-pitch":!1,"voice-range":!1,"voice-rate":!1,"voice-stress":!1,"voice-volume":!1,volume:!1,"white-space":!1,widows:!1,width:!0,"will-change":!1,"word-break":!0,"word-spacing":!0,"word-wrap":!0,"wrap-flow":!1,"wrap-through":!1,"writing-mode":!1,"z-index":!1};return t}var i=/javascript\s*\:/gim;s.whiteList=e(),s.getDefaultWhiteList=e,s.onAttr=function(t,s,e){},s.onIgnoreAttr=function(t,s,e){},s.safeAttrValue=function(t,s){return i.test(s)?"":s}},"./node_modules/cssfilter/lib/index.js":function(t,s,e){var i=e("./node_modules/cssfilter/lib/default.js"),a=e("./node_modules/cssfilter/lib/css.js");for(var n in(s=t.exports=function(t,s){return new a(s).process(t)}).FilterCSS=a,i)s[n]=i[n];"undefined"!=typeof window&&(window.filterCSS=t.exports)},"./node_modules/cssfilter/lib/parser.js":function(t,s,e){var i=e("./node_modules/cssfilter/lib/util.js");t.exports=function(t,s){";"!==(t=i.trimRight(t))[t.length-1]&&(t+=";");var e=t.length,a=!1,n=0,o=0,r="";function c(){if(!a){var e=i.trim(t.slice(n,o)),c=e.indexOf(":");if(-1!==c){var l=i.trim(e.slice(0,c)),u=i.trim(e.slice(c+1));if(l){var d=s(n,r.length,l,u,e);d&&(r+=d+"; ")}}}n=o+1}for(;o<e;o++){var l=t[o];if("/"===l&&"*"===t[o+1]){var u=t.indexOf("*/",o+2);if(-1===u)break;n=(o=u+1)+1,a=!1}else"("===l?a=!0:")"===l?a=!1:";"===l?a||c():"\n"===l&&c()}return i.trim(r)}},"./node_modules/cssfilter/lib/util.js":function(t,s){t.exports={indexOf:function(t,s){var e,i;if(Array.prototype.indexOf)return t.indexOf(s);for(e=0,i=t.length;e<i;e++)if(t[e]===s)return e;return-1},forEach:function(t,s,e){var i,a;if(Array.prototype.forEach)return t.forEach(s,e);for(i=0,a=t.length;i<a;i++)s.call(e,t[i],i,t)},trim:function(t){return String.prototype.trim?t.trim():t.replace(/(^\s*)|(\s*$)/g,"")},trimRight:function(t){return String.prototype.trimRight?t.trimRight():t.replace(/(\s*$)/g,"")}}},"./node_modules/vue-loader/lib/runtime/componentNormalizer.js":function(t,s,e){"use strict";function i(t,s,e,i,a,n,o,r){var c,l="function"==typeof t?t.options:t;if(s&&(l.render=s,l.staticRenderFns=e,l._compiled=!0),i&&(l.functional=!0),n&&(l._scopeId="data-v-"+n),o?(c=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),a&&a.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},l._ssrRegister=c):a&&(c=r?function(){a.call(this,this.$root.$options.shadowRoot)}:a),c)if(l.functional){l._injectStyles=c;var u=l.render;l.render=function(t,s){return c.call(s),u(t,s)}}else{var d=l.beforeCreate;l.beforeCreate=d?[].concat(d,c):[c]}return{exports:t,options:l}}e.d(s,"a",(function(){return i}))},"./node_modules/xss/lib/default.js":function(t,s,e){var i=e("./node_modules/cssfilter/lib/index.js").FilterCSS,a=e("./node_modules/cssfilter/lib/index.js").getDefaultWhiteList,n=e("./node_modules/xss/lib/util.js");function o(){return{a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","loop","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height"],ins:["datetime"],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],sup:[],strong:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","loop","preload","src","height","width"]}}var r=new i;function c(t){return t.replace(l,"&lt;").replace(u,"&gt;")}var l=/</g,u=/>/g,d=/"/g,_=/&quot;/g,p=/&#([a-zA-Z0-9]*);?/gim,v=/&colon;?/gim,h=/&newline;?/gim,f=/((j\s*a\s*v\s*a|v\s*b|l\s*i\s*v\s*e)\s*s\s*c\s*r\s*i\s*p\s*t\s*|m\s*o\s*c\s*h\s*a)\:/gi,m=/e\s*x\s*p\s*r\s*e\s*s\s*s\s*i\s*o\s*n\s*\(.*/gi,g=/u\s*r\s*l\s*\(.*/gi;function b(t){return t.replace(d,"&quot;")}function y(t){return t.replace(_,'"')}function C(t){return t.replace(p,(function(t,s){return"x"===s[0]||"X"===s[0]?String.fromCharCode(parseInt(s.substr(1),16)):String.fromCharCode(parseInt(s,10))}))}function k(t){return t.replace(v,":").replace(h," ")}function w(t){for(var s="",e=0,i=t.length;e<i;e++)s+=t.charCodeAt(e)<32?" ":t.charAt(e);return n.trim(s)}function x(t){return t=w(t=k(t=C(t=y(t))))}function S(t){return t=c(t=b(t))}var A=/<!--[\s\S]*?-->/g;s.whiteList={a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","loop","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height"],ins:["datetime"],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],sup:[],strong:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","loop","preload","src","height","width"]},s.getDefaultWhiteList=o,s.onTag=function(t,s,e){},s.onIgnoreTag=function(t,s,e){},s.onTagAttr=function(t,s,e){},s.onIgnoreTagAttr=function(t,s,e){},s.safeAttrValue=function(t,s,e,i){if(e=x(e),"href"===s||"src"===s){if("#"===(e=n.trim(e)))return"#";if("http://"!==e.substr(0,7)&&"https://"!==e.substr(0,8)&&"mailto:"!==e.substr(0,7)&&"tel:"!==e.substr(0,4)&&"#"!==e[0]&&"/"!==e[0])return""}else if("background"===s){if(f.lastIndex=0,f.test(e))return""}else if("style"===s){if(m.lastIndex=0,m.test(e))return"";if(g.lastIndex=0,g.test(e)&&(f.lastIndex=0,f.test(e)))return"";!1!==i&&(e=(i=i||r).process(e))}return e=S(e)},s.escapeHtml=c,s.escapeQuote=b,s.unescapeQuote=y,s.escapeHtmlEntities=C,s.escapeDangerHtml5Entities=k,s.clearNonPrintableCharacter=w,s.friendlyAttrValue=x,s.escapeAttrValue=S,s.onIgnoreTagStripAll=function(){return""},s.StripTagBody=function(t,s){"function"!=typeof s&&(s=function(){});var e=!Array.isArray(t),i=[],a=!1;return{onIgnoreTag:function(o,r,c){if(function(s){return!!e||-1!==n.indexOf(t,s)}(o)){if(c.isClosing){var l="[/removed]",u=c.position+l.length;return i.push([!1!==a?a:c.position,u]),a=!1,l}return a||(a=c.position),"[removed]"}return s(o,r,c)},remove:function(t){var s="",e=0;return n.forEach(i,(function(i){s+=t.slice(e,i[0]),e=i[1]})),s+=t.slice(e)}}},s.stripCommentTag=function(t){return t.replace(A,"")},s.stripBlankChar=function(t){var s=t.split("");return(s=s.filter((function(t){var s=t.charCodeAt(0);return 127!==s&&(!(s<=31)||(10===s||13===s))}))).join("")},s.cssFilter=r,s.getDefaultCSSWhiteList=a},"./node_modules/xss/lib/index.js":function(t,s,e){var i=e("./node_modules/xss/lib/default.js"),a=e("./node_modules/xss/lib/parser.js"),n=e("./node_modules/xss/lib/xss.js");function o(t,s){return new n(s).process(t)}for(var r in(s=t.exports=o).filterXSS=o,s.FilterXSS=n,i)s[r]=i[r];for(var r in a)s[r]=a[r];"undefined"!=typeof window&&(window.filterXSS=t.exports),"undefined"!=typeof self&&"undefined"!=typeof DedicatedWorkerGlobalScope&&self instanceof DedicatedWorkerGlobalScope&&(self.filterXSS=t.exports)},"./node_modules/xss/lib/parser.js":function(t,s,e){var i=e("./node_modules/xss/lib/util.js");function a(t){var s=i.spaceIndex(t);if(-1===s)var e=t.slice(1,-1);else e=t.slice(1,s+1);return"/"===(e=i.trim(e).toLowerCase()).slice(0,1)&&(e=e.slice(1)),"/"===e.slice(-1)&&(e=e.slice(0,-1)),e}function n(t){return"</"===t.slice(0,2)}var o=/[^a-zA-Z0-9_:\.\-]/gim;function r(t,s){for(;s<t.length;s++){var e=t[s];if(" "!==e)return"="===e?s:-1}}function c(t,s){for(;s>0;s--){var e=t[s];if(" "!==e)return"="===e?s:-1}}function l(t){return function(t){return'"'===t[0]&&'"'===t[t.length-1]||"'"===t[0]&&"'"===t[t.length-1]}(t)?t.substr(1,t.length-2):t}s.parseTag=function(t,s,e){var i="",o=0,r=!1,c=!1,l=0,u=t.length,d="",_="";for(l=0;l<u;l++){var p=t.charAt(l);if(!1===r){if("<"===p){r=l;continue}}else if(!1===c){if("<"===p){i+=e(t.slice(o,l)),r=l,o=l;continue}if(">"===p){i+=e(t.slice(o,r)),d=a(_=t.slice(r,l+1)),i+=s(r,i.length,d,_,n(_)),o=l+1,r=!1;continue}if(('"'===p||"'"===p)&&"="===t.charAt(l-1)){c=p;continue}}else if(p===c){c=!1;continue}}return o<t.length&&(i+=e(t.substr(o))),i},s.parseAttr=function(t,s){var e=0,a=[],n=!1,u=t.length;function d(t,e){if(!((t=(t=i.trim(t)).replace(o,"").toLowerCase()).length<1)){var n=s(t,e||"");n&&a.push(n)}}for(var _=0;_<u;_++){var p,v=t.charAt(_);if(!1!==n||"="!==v)if(!1===n||_!==e||'"'!==v&&"'"!==v||"="!==t.charAt(_-1))if(/\s|\n|\t/.test(v)){if(t=t.replace(/\s|\n|\t/g," "),!1===n){if(-1===(p=r(t,_))){d(i.trim(t.slice(e,_))),n=!1,e=_+1;continue}_=p-1;continue}if(-1===(p=c(t,_-1))){d(n,l(i.trim(t.slice(e,_)))),n=!1,e=_+1;continue}}else;else{if(-1===(p=t.indexOf(v,_+1)))break;d(n,i.trim(t.slice(e+1,p))),n=!1,e=(_=p)+1}else n=t.slice(e,_),e=_+1}return e<t.length&&(!1===n?d(t.slice(e)):d(n,l(i.trim(t.slice(e))))),i.trim(a.join(" "))}},"./node_modules/xss/lib/util.js":function(t,s){t.exports={indexOf:function(t,s){var e,i;if(Array.prototype.indexOf)return t.indexOf(s);for(e=0,i=t.length;e<i;e++)if(t[e]===s)return e;return-1},forEach:function(t,s,e){var i,a;if(Array.prototype.forEach)return t.forEach(s,e);for(i=0,a=t.length;i<a;i++)s.call(e,t[i],i,t)},trim:function(t){return String.prototype.trim?t.trim():t.replace(/(^\s*)|(\s*$)/g,"")},spaceIndex:function(t){var s=/\s|\n|\t/.exec(t);return s?s.index:-1}}},"./node_modules/xss/lib/xss.js":function(t,s,e){var i=e("./node_modules/cssfilter/lib/index.js").FilterCSS,a=e("./node_modules/xss/lib/default.js"),n=e("./node_modules/xss/lib/parser.js"),o=n.parseTag,r=n.parseAttr,c=e("./node_modules/xss/lib/util.js");function l(t){return null==t}function u(t){(t=function(t){var s={};for(var e in t)s[e]=t[e];return s}(t||{})).stripIgnoreTag&&(t.onIgnoreTag&&console.error('Notes: cannot use these two options "stripIgnoreTag" and "onIgnoreTag" at the same time'),t.onIgnoreTag=a.onIgnoreTagStripAll),t.whiteList=t.whiteList||a.whiteList,t.onTag=t.onTag||a.onTag,t.onTagAttr=t.onTagAttr||a.onTagAttr,t.onIgnoreTag=t.onIgnoreTag||a.onIgnoreTag,t.onIgnoreTagAttr=t.onIgnoreTagAttr||a.onIgnoreTagAttr,t.safeAttrValue=t.safeAttrValue||a.safeAttrValue,t.escapeHtml=t.escapeHtml||a.escapeHtml,this.options=t,!1===t.css?this.cssFilter=!1:(t.css=t.css||{},this.cssFilter=new i(t.css))}u.prototype.process=function(t){if(!(t=(t=t||"").toString()))return"";var s=this.options,e=s.whiteList,i=s.onTag,n=s.onIgnoreTag,u=s.onTagAttr,d=s.onIgnoreTagAttr,_=s.safeAttrValue,p=s.escapeHtml,v=this.cssFilter;s.stripBlankChar&&(t=a.stripBlankChar(t)),s.allowCommentTag||(t=a.stripCommentTag(t));var h=!1;if(s.stripIgnoreTagBody){h=a.StripTagBody(s.stripIgnoreTagBody,n);n=h.onIgnoreTag}var f=o(t,(function(t,s,a,o,h){var f,m={sourcePosition:t,position:s,isClosing:h,isWhite:e.hasOwnProperty(a)};if(!l(f=i(a,o,m)))return f;if(m.isWhite){if(m.isClosing)return"</"+a+">";var g=function(t){var s=c.spaceIndex(t);if(-1===s)return{html:"",closing:"/"===t[t.length-2]};var e="/"===(t=c.trim(t.slice(s+1,-1)))[t.length-1];return e&&(t=c.trim(t.slice(0,-1))),{html:t,closing:e}}(o),b=e[a],y=r(g.html,(function(t,s){var e,i=-1!==c.indexOf(b,t);return l(e=u(a,t,s,i))?i?(s=_(a,t,s,v))?t+'="'+s+'"':t:l(e=d(a,t,s,i))?void 0:e:e}));o="<"+a;return y&&(o+=" "+y),g.closing&&(o+=" /"),o+=">"}return l(f=n(a,o,m))?p(o):f}),p);return h&&(f=h.remove(f)),f},t.exports=u},"./src/component/doc-link.vue":function(t,s,e){"use strict";var i={mixins:[e("./src/helper/base_hepler.js").a],name:"doc-link",props:["link"],data:function(){return{whitelabel:defender.whitelabel}}},a=e("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),n=Object(a.a)(i,(function(){var t=this.$createElement,s=this._self._c||t;return!1===this.whitelabel.hide_doc_link?s("div",{staticClass:"sui-actions-right"},[s("a",{staticClass:"sui-button sui-button-ghost",attrs:{href:this.link,target:"_blank"}},[s("i",{staticClass:"sui-icon-academy"}),this._v(" "+this._s(this.__("View Documentation"))+"\n ")])]):this._e()}),[],!1,null,null,null);s.a=n.exports},"./src/component/footer.vue":function(t,s,e){"use strict";var i={data:function(){return{whitelabel:defender.whitelabel,is_free:defender.is_free}}},a=e("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),n=Object(a.a)(i,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",[!0===t.whitelabel.change_footer?e("div",{staticClass:"sui-footer"},[t._v("\n "+t._s(t.whitelabel.footer_text)+"\n ")]):e("div",{staticClass:"sui-footer"},[t._v("Made with "),e("i",{staticClass:"sui-icon-heart"}),t._v(" by WPMU DEV")]),t._v(" "),!1===t.whitelabel.hide_doc_link?e("div",[t.is_free?e("ul",{staticClass:"sui-footer-nav"},[t._m(0),t._v(" "),t._m(1),t._v(" "),t._m(2),t._v(" "),t._m(3),t._v(" "),t._m(4),t._v(" "),t._m(5),t._v(" "),t._m(6),t._v(" "),t._m(7)]):e("ul",{staticClass:"sui-footer-nav"},[t._m(8),t._v(" "),t._m(9),t._v(" "),t._m(10),t._v(" "),t._m(11),t._v(" "),t._m(12),t._v(" "),t._m(13),t._v(" "),t._m(14),t._v(" "),t._m(15)]),t._v(" "),t._m(16)]):t._e()])}),[function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://profiles.wordpress.org/wpmudev#content-plugins",target:"_blank"}},[this._v("Free\n Plugins")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://premium.wpmudev.org/features/",target:"_blank"}},[this._v("Membership")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://premium.wpmudev.org/roadmap/",target:"_blank"}},[this._v("Roadmap")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://wordpress.org/support/plugin/plugin-name",target:"_blank"}},[this._v("Support")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://premium.wpmudev.org/docs/",target:"_blank"}},[this._v("Docs")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://premium.wpmudev.org/hub/",target:"_blank"}},[this._v("The Hub")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://premium.wpmudev.org/terms-of-service/",target:"_blank"}},[this._v("Terms of Service")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://incsub.com/privacy-policy/",target:"_blank"}},[this._v("Privacy Policy")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://premium.wpmudev.org/hub/",target:"_blank"}},[this._v("The Hub")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://premium.wpmudev.org/projects/category/plugins/",target:"_blank"}},[this._v("Plugins")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://premium.wpmudev.org/roadmap/",target:"_blank"}},[this._v("Roadmap")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://premium.wpmudev.org/hub/support/",target:"_blank"}},[this._v("Support")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://premium.wpmudev.org/docs/",target:"_blank"}},[this._v("Docs")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://premium.wpmudev.org/hub/community/",target:"_blank"}},[this._v("Community")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://premium.wpmudev.org/terms-of-service/",target:"_blank"}},[this._v("Terms of Service")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://incsub.com/privacy-policy/",target:"_blank"}},[this._v("Privacy Policy")])])},function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("ul",{staticClass:"sui-footer-social"},[e("li",[e("a",{attrs:{href:"https://www.facebook.com/wpmudev",target:"_blank"}},[e("i",{staticClass:"sui-icon-social-facebook",attrs:{"aria-hidden":"true"}}),t._v(" "),e("span",{staticClass:"sui-screen-reader-text"},[t._v("Facebook")])])]),t._v(" "),e("li",[e("a",{attrs:{href:"https://twitter.com/wpmudev",target:"_blank"}},[e("i",{staticClass:"sui-icon-social-twitter",attrs:{"aria-hidden":"true"}})]),t._v(" "),e("span",{staticClass:"sui-screen-reader-text"},[t._v("Twitter")])]),t._v(" "),e("li",[e("a",{attrs:{href:"https://www.instagram.com/wpmu_dev/",target:"_blank"}},[e("i",{staticClass:"sui-icon-instagram",attrs:{"aria-hidden":"true"}}),t._v(" "),e("span",{staticClass:"sui-screen-reader-text"},[t._v("Instagram")])])])])}],!1,null,null,null);s.a=n.exports},"./src/component/overlay.vue":function(t,s,e){"use strict";var i={name:"overlay"},a=e("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),n=Object(a.a)(i,(function(){var t=this.$createElement;this._self._c;return this._m(0)}),[function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"wd-overlay"},[s("i",{staticClass:"sui-icon-loader sui-loading",attrs:{"aria-hidden":"true"}})])}],!1,null,null,null);s.a=n.exports},"./src/component/submit-button.vue":function(t,s,e){"use strict";var i={name:"submit-button",props:["id","state","text","css-class","type"],computed:{getClass:function(){return"sui-button "+this.cssClass}}},a=e("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),n=Object(a.a)(i,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("button",{staticClass:"sui-button",class:[t.getClass,{"sui-button-onload":t.state.on_saving}],attrs:{id:t.id,type:t.type,disabled:t.state.on_saving},on:{click:function(s){return t.$emit("click")}}},[e("span",{staticClass:"sui-loading-text"},[t._t("default")],2),t._v(" "),e("i",{staticClass:"sui-icon-loader sui-loading",attrs:{"aria-hidden":"true"}})])}),[],!1,null,null,null);s.a=n.exports},"./src/component/summary-box.vue":function(t,s,e){"use strict";var i={mixins:[e("./src/helper/base_hepler.js").a],props:["css-class"],name:"summary-box",data:function(){return{whitelabel:defender.whitelabel}},computed:{summary_class:function(){return{"sui-unbranded":!0===this.whitelabel.hide_branding&&0===this.whitelabel.hero_image.length,"sui-rebranded":!0===this.whitelabel.hide_branding&&this.whitelabel.hero_image.length>0}},css_class:function(){return this.cssClass},rebrand_img:function(){if(this.whitelabel.hero_image.length>0)return console.log({"background-image":"url('"+this.whitelabel.hero_image+"')"}),{"background-image":"url('"+this.whitelabel.hero_image+"')"}}}},a=e("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),n=Object(a.a)(i,(function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"sui-box sui-summary",class:[this.summary_class,this.css_class],style:this.rebrand_img},[s("div",{staticClass:"sui-summary-image-space",attrs:{"aria-hidden":"true"}}),this._v(" "),this._t("default")],2)}),[],!1,null,null,null);s.a=n.exports},"./src/dashboard.js":function(t,s,e){"use strict";e.r(s);var i=e("vue"),a=e.n(i),n=e("./src/helper/base_hepler.js"),o={mixins:[n.a],name:"security-tweaks",data:function(){return{rules:dashboard.security_tweaks.rules,count:dashboard.security_tweaks.count.issues}},methods:{handleRedirect:function(t){window.location.href=this.adminUrl("admin.php?page=wdf-hardener#"+t.slug)}}},r=e("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),c=Object(r.a)(o,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-box hardener-widget"},[e("div",{staticClass:"sui-box-header"},[e("h3",{staticClass:"sui-box-title"},[e("i",{staticClass:"sui-icon-wrench-tool",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("Security Tweaks"))+"\n ")]),t._v(" "),t.count>0?e("div",{staticClass:"sui-actions-left"},[e("div",{staticClass:"sui-tag sui-tag-warning",domProps:{textContent:t._s(t.count)}})]):t._e()]),t._v(" "),e("div",{staticClass:"sui-box-body"},[e("p",[t._v("\n "+t._s(t.__("Defender checks for basic security tweaks you can make to enhance your website’s defense against hackers and bots."))+"\n ")]),t._v(" "),0===t.count?e("div",{staticClass:"sui-notice sui-notice-success"},[e("p",[t._v("\n "+t._s(t.__("You’ve actioned all of the recommended security tweaks."))+"\n ")])]):t._e()]),t._v(" "),t.count>0?e("div",{staticClass:"sui-accordion sui-accordion-flushed no-border-bottom"},t._l(t.rules,(function(s){return e("div",{staticClass:"sui-accordion-item sui-warning",on:{click:function(e){return t.handleRedirect(s)}}},[e("div",{staticClass:"sui-accordion-item-header"},[e("div",{staticClass:"sui-accordion-item-title"},[e("i",{staticClass:"sui-icon-warning-alert sui-warning",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(s.title)+"\n "),t._m(0,!0)])])])})),0):t._e(),t._v(" "),e("div",{staticClass:"sui-box-footer"},[e("div",{staticClass:"sui-actions-left"},[e("a",{staticClass:"sui-button sui-button-ghost",attrs:{href:t.adminUrl("admin.php?page=wdf-hardener")}},[e("i",{staticClass:"sui-icon-eye",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("View All"))+"\n ")])])])])}),[function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"sui-actions-right"},[s("i",{staticClass:"sui-icon-chevron-right",attrs:{"aria-hidden":"true"}})])}],!1,null,null,null).exports,l={mixins:[n.a],name:"file-scanning",data:function(){return{scan:dashboard.scan.scan,state:{on_saving:!1,canceling:!1},nonces:dashboard.scan.nonces,endpoints:dashboard.scan.endpoints,polling_state:null,report:dashboard.scan.report}},methods:{newScan:function(){var t=this;this.httpPostRequest("newScan",{},(function(s){t.$nextTick((function(){t.scan={},t.scan.status=s.data.status,t.scan.percent=s.data.percent,t.scan.status_text=s.data.status_text,t.polling()}))}))},cancelScan:function(){if(!0!==this.state.canceling){this.abortAllRequests();var t=this;clearTimeout(this.polling_state),this.state.canceling=!0,this.httpPostRequest("cancelScan",{},(function(s){t.$nextTick((function(){t.scan=s.data.scan,t.state.canceling=!1,t.$emit("scanCanceled",t.scan)}))}))}},refreshStatus:function(){var t=this;this.httpPostRequest("processScan",{},(function(s){!1===s.success?(t.scan=s.data,t.polling()):(t.scan=s.data.scan,t.$emit("scanCompleted",t.scan,s.data.scan.count.total))}))},polling:function(){!1===this.state.canceling&&(this.polling_state=setTimeout(this.refreshStatus(),500))},resultIndicator:function(t){return t>0?'<span class="sui-tag sui-tag-error">'+t+"</span>":'<i aria-hidden="true" class="sui-icon-check-tick sui-success"></i>'}},computed:{statusText:function(){return this.scan.status_text},reportText:function(){if(!1!==this.report.enabled){var t=void 0;switch(parseInt(this.report.frequency)){case 1:t="daily";break;case 7:t="weekly";break;case 30:t="monthly"}return this.vsprintf(this.__("Automatic scans are running %s"),t)}},percent:function(){return this.scan.percent}},mounted:function(){null===this.scan||"process"!==this.scan.status&&"init"!==this.scan.status||this.polling()}},u=Object(r.a)(l,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-box"},[e("div",{staticClass:"sui-box-header"},[e("h3",{staticClass:"sui-box-title"},[e("i",{staticClass:"sui-icon-layers",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("File Scanning"))+"\n ")]),t._v(" "),null!==t.scan&&"finish"===t.scan.status?e("div",{staticClass:"sui-actions-left"},[null!==t.scan&&t.scan.count.total>0?e("span",{staticClass:"sui-tag sui-tag-error"},[t._v(t._s(t.scan.count.total))]):t._e()]):t._e()]),t._v(" "),e("div",{staticClass:"sui-box-body",class:{"no-padding-bottom":null!==t.scan&&"finish"===t.scan.status}},[e("p",[t._v("\n "+t._s(t.__("Scan your website for file changes, vulnerabilities and injected code and get and get notified about anything suspicious."))+"\n ")]),t._v(" "),null===t.scan?e("div",[e("submit-button",{attrs:{type:"button","css-class":"sui-button-blue",state:t.state},on:{click:t.newScan}},[t._v("\n "+t._s(t.__("Run scan"))+"\n ")])],1):"process"===t.scan.status||"init"===t.scan.status?e("div",[e("div",{staticClass:"sui-progress-block"},[e("div",{staticClass:"sui-progress"},[t._m(0),t._v(" "),e("span",{staticClass:"sui-progress-text"},[e("span",{domProps:{textContent:t._s(t.percent+"%")}})]),t._v(" "),e("div",{staticClass:"sui-progress-bar",attrs:{"aria-hidden":"true"}},[e("span",{style:{width:t.percent+"%"}})])]),t._v(" "),e("button",{staticClass:"sui-button-icon sui-tooltip",attrs:{type:"button",disabled:t.state.canceling,"data-tooltip":"Cancel"},on:{click:t.cancelScan}},[e("i",{staticClass:"sui-icon-close",attrs:{"aria-hidden":"true"}})])]),t._v(" "),e("div",{staticClass:"sui-progress-state"},[e("span",{domProps:{textContent:t._s(t.statusText)}})])]):e("div",{staticClass:"sui-field-list sui-flushed no-border"},[e("div",{staticClass:"sui-field-list-body"},[e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("strong",[t._v("\n "+t._s(t.__("WordPress Core"))+"\n ")])]),t._v(" "),e("span",{domProps:{innerHTML:t._s(t.resultIndicator(t.scan.count.core))}})]),t._v(" "),e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("strong",[t._v("\n "+t._s(t.__("Plugins & Themes"))+"\n ")])]),t._v(" "),e("span",{domProps:{innerHTML:t._s(t.resultIndicator(t.scan.count.vuln))}})]),t._v(" "),e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("strong",[t._v(t._s(t.__("Suspicious Code")))])]),t._v(" "),e("span",{domProps:{innerHTML:t._s(t.resultIndicator(t.scan.count.content))}})])])])]),t._v(" "),null!==t.scan&&"finish"===t.scan.status?e("div",{staticClass:"sui-box-footer"},[e("div",{staticClass:"sui-actions-left"},[e("a",{staticClass:"sui-button sui-button-ghost",attrs:{href:t.adminUrl("admin.php?page=wdf-scan")}},[e("i",{staticClass:"sui-icon-eye",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("View Report"))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-actions-right"},[e("p",{staticClass:"sui-p-small",domProps:{textContent:t._s(t.reportText)}})])]):t._e()])}),[function(){var t=this.$createElement,s=this._self._c||t;return s("span",{staticClass:"sui-progress-icon",attrs:{"aria-hidden":"true"}},[s("i",{staticClass:"sui-icon-loader sui-loading"})])}],!1,null,null,null).exports,d={mixins:[n.a],name:"file-scanning",data:function(){return{scan:dashboard.scan.scan,state:{on_saving:!1,canceling:!1},nonces:dashboard.scan.nonces,endpoints:dashboard.scan.endpoints,polling_state:null,report:dashboard.scan.report}},methods:{newScan:function(){var t=this;this.httpPostRequest("newScan",{},(function(s){t.$nextTick((function(){t.scan={},t.scan.status=s.data.status,t.scan.percent=s.data.percent,t.scan.status_text=s.data.status_text,t.polling()}))}))},cancelScan:function(){if(!0!==this.state.canceling){this.abortAllRequests();var t=this;clearTimeout(this.polling_state),this.state.canceling=!0,this.httpPostRequest("cancelScan",{},(function(s){t.$nextTick((function(){t.scan=s.data.scan,t.state.canceling=!1}))}))}},refreshStatus:function(){var t=this;this.httpPostRequest("processScan",{},(function(s){!1===s.success?(t.scan=s.data,t.polling()):t.scan=s.data.scan}))},polling:function(){!1===this.state.canceling&&(this.polling_state=setTimeout(this.refreshStatus(),500))},resultIndicator:function(t){return t>0?'<span class="sui-tag sui-tag-error">'+t+"</span>":'<i aria-hidden="true" class="sui-icon-check-tick sui-success"></i>'}},computed:{statusText:function(){return this.scan.status_text},percent:function(){return this.scan.percent}},mounted:function(){null===this.scan||"process"!==this.scan.status&&"init"!==this.scan.status||this.polling()}},_=Object(r.a)(d,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-box"},[e("div",{staticClass:"sui-box-header"},[e("h3",{staticClass:"sui-box-title"},[e("i",{staticClass:"sui-icon-layers",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("File Scanning"))+"\n ")]),t._v(" "),null!==t.scan&&"finish"===t.scan.status?e("div",{staticClass:"sui-actions-left"},[t.scan.count.total>0?e("span",{staticClass:"sui-tag sui-tag-error"},[t._v(t._s(t.scan.count.total))]):t._e()]):t._e()]),t._v(" "),e("div",{staticClass:"sui-box-body",class:{"no-padding-bottom":null!==t.scan&&"finish"===t.scan.status}},[e("p",[t._v("\n "+t._s(t.__("Scan your website for file changes, vulnerabilities and injected code and get and get notified about anything suspicious."))+"\n ")]),t._v(" "),null===t.scan?e("div",[e("submit-button",{attrs:{type:"button","css-class":"sui-button-blue",state:t.state},on:{click:t.newScan}},[t._v("\n "+t._s(t.__("Run scan"))+"\n ")])],1):"process"===t.scan.status||"init"===t.scan.status?e("div",[e("div",{staticClass:"sui-progress-block"},[e("div",{staticClass:"sui-progress"},[t._m(0),t._v(" "),e("span",{staticClass:"sui-progress-text"},[e("span",{domProps:{textContent:t._s(t.percent+"%")}})]),t._v(" "),e("div",{staticClass:"sui-progress-bar",attrs:{"aria-hidden":"true"}},[e("span",{style:{width:t.percent+"%"}})])]),t._v(" "),e("button",{staticClass:"sui-button-icon sui-tooltip",attrs:{type:"button",disabled:t.state.canceling,"data-tooltip":"Cancel"},on:{click:t.cancelScan}},[e("i",{staticClass:"sui-icon-close",attrs:{"aria-hidden":"true"}})])]),t._v(" "),e("div",{staticClass:"sui-progress-state"},[e("span",{domProps:{textContent:t._s(t.statusText)}})])]):e("div",{staticClass:"sui-field-list sui-flushed no-border"},[e("div",{staticClass:"sui-field-list-body"},[e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("strong",[t._v("\n "+t._s(t.__("WordPress Core"))+"\n ")])]),t._v(" "),e("span",{domProps:{innerHTML:t._s(t.resultIndicator(t.scan.count.core))}})]),t._v(" "),e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("strong",[t._v("\n "+t._s(t.__("Plugins & Themes"))+"\n ")])]),t._v(" "),e("a",{staticClass:"sui-button sui-button-purple sui-tooltip",attrs:{href:t.campaign_url("defender_dash_filescan_pro_tag"),target:"_blank","data-tooltip":"Try Defender Pro free today"}},[t._v("\n "+t._s(t.__("Pro Feature"))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("strong",[t._v(t._s(t.__("Suspicious Code")))])]),t._v(" "),e("a",{staticClass:"sui-button sui-button-purple sui-tooltip",attrs:{href:t.campaign_url("defender_dash_filescan_pro_tag"),target:"_blank","data-tooltip":"Try Defender Pro free today"}},[t._v("\n "+t._s(t.__("Pro Feature"))+"\n ")])])])])]),t._v(" "),null!==t.scan&&"finish"===t.scan.status?e("div",{staticClass:"sui-box-footer"},[e("div",{staticClass:"sui-actions-left"},[e("a",{staticClass:"sui-button sui-button-ghost",attrs:{href:t.adminUrl("admin.php?page=wdf-scan")}},[e("i",{staticClass:"sui-icon-eye",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("View Report"))+"\n ")])])]):t._e()])}),[function(){var t=this.$createElement,s=this._self._c||t;return s("span",{staticClass:"sui-progress-icon",attrs:{"aria-hidden":"true"}},[s("i",{staticClass:"sui-icon-loader sui-loading"})])}],!1,null,null,null).exports,p={mixins:[n.a],name:"blacklist",data:function(){return{state:{on_saving:!1},status:"fetching",nonces:dashboard.blacklist.nonces,endpoints:dashboard.blacklist.endpoints}},methods:{toggle:function(){var t=this;this.httpGetRequest("toggleBlacklistWidget",{},(function(s){switch(parseInt(s.data.status)){case-1:t.status="new";break;case 0:t.status="blacklisted";break;case 1:t.status="good"}}))}},mounted:function(){var t=this;this.httpGetRequest("blacklistWidgetStatus",{},(function(s){switch(parseInt(s.data.status)){case-1:t.status="new";break;case 0:t.status="blacklisted";break;case 1:t.status="good"}}))}},v=Object(r.a)(p,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-box"},[e("div",{staticClass:"sui-box-header"},[e("h3",{staticClass:"sui-box-title"},[e("i",{staticClass:"sui-icon-target",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("Blacklist Monitor"))+"\n ")]),t._v(" "),"blacklisted"===t.status||"good"===t.status?e("div",{staticClass:"sui-actions-right"},[e("label",{staticClass:"sui-toggle"},[e("input",{staticClass:"toggle-checkbox",attrs:{type:"checkbox",checked:"checked"},on:{click:t.toggle}}),t._v(" "),e("span",{staticClass:"sui-toggle-slider"})])]):t._e()]),t._v(" "),e("div",{staticClass:"sui-box-body"},[e("div",[t._v("\n "+t._s(t.__("Automatically check if you’re on Google’s blacklist every 6 hours. If something’swrong, we’ll let you know via email."))+"\n ")]),t._v(" "),"fetching"===t.status?e("div",{staticClass:"sui-notice sui-notice-info"},[e("p",[t._v("\n "+t._s(t.__("Fetching your domain info..."))+"\n ")])]):"new"===t.status?e("form",{staticClass:"margin-top-30",attrs:{method:"post"}},[e("submit-button",{attrs:{type:"button","css-class":"sui-button-blue",state:t.state},on:{click:function(s){return t.toggle(!0)}}},[t._v("\n "+t._s(t.__("Activate"))+"\n ")])],1):"blacklisted"===t.status?e("div",{staticClass:"sui-notice sui-notice-error"},[e("p",[t._v("\n "+t._s(t.__("Your domain is currently on Google’s blacklist. Check out the article below to find out how to fix up your domain."))+"\n ")])]):"good"===t.status?e("div",{staticClass:"sui-notice sui-notice-success"},[e("p",[t._v("\n "+t._s(t.__("Your domain is currently clean."))+"\n ")])]):t._e(),t._v(" "),"new"!==t.status?e("div",{staticClass:"sui-center-box no-padding-bottom"},[e("p",{staticClass:"sui-p-small"},[t._v("\n "+t._s(t.__("Want to know more about blacklisting?"))+" "),e("a",{attrs:{href:"https://premium.wpmudev.org/blog/get-off-googles-blacklist/"}},[t._v(t._s(t.__("Read this article.")))])])]):t._e()]),t._v(" "),e("overlay",{directives:[{name:"show",rawName:"v-show",value:!0===t.state.on_saving,expression:"state.on_saving===true"}]})],1)}),[],!1,null,null,null).exports,h={mixins:[n.a],name:"blacklist-free"},f=Object(r.a)(h,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-box"},[e("div",{staticClass:"sui-box-header"},[e("h3",{staticClass:"sui-box-title"},[e("i",{staticClass:"sui-icon-target",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("Blacklist Monitor"))+"\n ")]),t._v(" "),e("div",{staticClass:"sui-actions-left"},[e("span",{staticClass:"sui-tag sui-tag-pro"},[t._v(t._s(t.__("Pro")))])])]),t._v(" "),e("div",{staticClass:"sui-box-body sui-upsell-items"},[e("div",{staticClass:"sui-box-settings-row no-margin-bottom no-padding-bottom"},[e("p",[t._v("\n "+t._s(t.__("Automatically check if you’re on Google’s blacklist every 6 hours. If something’s wrong, we’ll let you know via email."))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-box-settings-row sui-upsell-row"},[e("img",{staticClass:"sui-image sui-upsell-image",attrs:{src:t.assetUrl("assets/img/dashboard-blacklist.svg")}}),t._v(" "),e("div",{staticClass:"sui-upsell-notice"},[e("p",[t._v("\n "+t._s(t.__("Defender will warn you if your site has been flagged as unsafe. Get blacklist Monitor as part of a WPMU DEV membership."))),e("br"),t._v(" "),e("a",{staticClass:"premium-button sui-button sui-button-purple",attrs:{target:"_blank",href:t.campaign_url("defender_dash_blacklist_upgrade_button")}},[t._v(t._s(t.__("Try Pro Free Today")))]),t._v(".\n ")])])])])])}),[],!1,null,null,null).exports,m={mixins:[n.a],name:"ip-lockout",data:function(){return{state:{on_saving:!1},nonces:dashboard.ip_lockout.nonces,endpoints:dashboard.ip_lockout.endpoints,summary:dashboard.ip_lockout.summary,notification:dashboard.ip_lockout.notification,enabled:dashboard.ip_lockout.enabled}},methods:{updateSettings:function(){var t=this;this.httpPostRequest("updateSettings",{data:JSON.stringify({login_protection:!0,detect_404:!0})},(function(){t.enabled=!0}))}},computed:{notificationText:function(){return this.notification?this.__("Lockout notifications are enabled"):this.__("Lockout notifications are disabled")}}},g=Object(r.a)(m,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-box"},[e("div",{staticClass:"sui-box-header"},[e("h3",{staticClass:"sui-box-title"},[e("i",{staticClass:"sui-icon-lock",attrs:{"aria-hidden":"true"}}),t._v("\n\t\t\t"+t._s(t.__("IP Lockouts"))+"\n\t\t")])]),t._v(" "),e("div",{staticClass:"sui-box-body",class:{"no-padding-bottom":!0===t.enabled}},[e("p",[t._v("\n\t\t\t"+t._s(t.__("Protect to your login area and have Defender automatically lockout any suspicious behaviour."))+"\n\t\t")]),t._v(" "),!1===t.enabled?e("form",{attrs:{method:"post"},on:{submit:function(s){return s.preventDefault(),t.updateSettings(s)}}},[e("submit-button",{attrs:{type:"submit","css-class":"sui-button-blue",state:t.state}},[t._v("\n\t\t\t\t"+t._s(t.__("Activate"))+"\n\t\t\t")])],1):e("div",{staticClass:"sui-field-list sui-flushed no-border"},[e("div",{staticClass:"sui-field-list-body"},[e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("strong",[t._v(t._s(t.__("Last lockout")))])]),t._v(" "),e("span",{domProps:{textContent:t._s(t.summary.lastLockout)}})]),t._v(" "),e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("strong",[t._v(t._s(t.__("Login lockouts this week")))])]),t._v(" "),e("span",{domProps:{textContent:t._s(t.summary.ip.week)}})]),t._v(" "),e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("strong",[t._v(t._s(t.__("404 lockouts this week")))])]),t._v(" "),e("span",{domProps:{textContent:t._s(t.summary.nf.week)}})])])])]),t._v(" "),!0===t.enabled?e("div",{staticClass:"sui-box-footer"},[e("div",{staticClass:"sui-actions-left"},[e("a",{staticClass:"sui-button sui-button-ghost",attrs:{href:t.adminUrl("admin.php?page=wdf-ip-lockout&view=logs")}},[e("i",{staticClass:"sui-icon-eye",attrs:{"aria-hidden":"true"}}),t._v("\n\t\t\t\t"+t._s(t.__("View logs"))+"\n\t\t\t")])]),t._v(" "),e("div",{staticClass:"sui-actions-right"},[e("p",{staticClass:"sui-p-small",domProps:{textContent:t._s(t.notificationText)}})])]):t._e()])}),[],!1,null,null,null).exports,b={mixins:[n.a],name:"audit",data:function(){return{state:{on_saving:!1},nonces:dashboard.audit.nonces,endpoints:dashboard.audit.endpoints,enabled:dashboard.audit.enabled,report:dashboard.audit.report,summary:{monthCount:"-",dayCount:"-",weekCount:"n/a",lastEvent:"-"}}},methods:{updateSettings:function(){var t=this;this.httpPostRequest("updateSettings",{data:JSON.stringify({enabled:!0})},(function(){t.enabled=!0,t.$nextTick((function(){t.loadData()}))}))},loadData:function(){var t=this;this.httpGetRequest("summary",{},(function(s){t.summary=s.data}))}},computed:{reportText:function(){return this.report?this.__("Audit log reports are enabled"):this.__("Audit log reports are disabled")}},mounted:function(){!0===this.enabled&&this.loadData()}},y=Object(r.a)(b,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-box"},[e("div",{staticClass:"sui-box-header"},[e("h3",{staticClass:"sui-box-title"},[e("i",{staticClass:"sui-icon-eye",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("Audit Logging"))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-box-body",class:{"no-padding-bottom":t.enabled}},[e("p",[t._v("\n "+t._s(t.__("Track and log events when changes are made to your website, giving you full visibility over what's going on behind the scenes."))+"\n ")]),t._v(" "),!1===t.enabled?e("form",{attrs:{method:"post"},on:{submit:function(s){return s.preventDefault(),t.updateSettings(s)}}},[e("submit-button",{attrs:{type:"submit","css-class":"sui-button-blue",state:t.state}},[t._v("\n "+t._s(t.__("Activate"))+"\n ")])],1):e("div",[e("div",{staticClass:"sui-notice"},[e("p",[t._v("\n "+t._s(t.summary.weekCount)+" "+t._s(t.__(" events logged in the past 7 days."))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-field-list sui-flushed no-border"},[e("div",{staticClass:"sui-field-list-body"},[e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("strong",[t._v(t._s(t.__("Last event logged")))])]),t._v(" "),e("span",[t._v("\n "+t._s(t.summary.lastEvent)+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("strong",[t._v(t._s(t.__("Events logged this month")))])]),t._v(" "),e("span",[t._v(t._s(t.summary.monthCount))])])])])])]),t._v(" "),!0===t.enabled?e("div",{staticClass:"sui-box-footer"},[e("div",{staticClass:"sui-actions-left"},[e("a",{staticClass:"sui-button sui-button-ghost",attrs:{href:t.adminUrl("admin.php?page=wdf-logging")}},[e("i",{staticClass:"sui-icon-eye",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("View Logs"))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-actions-right"},[e("p",{staticClass:"sui-p-small",domProps:{textContent:t._s(t.reportText)}})])]):t._e(),t._v(" "),t.state.on_saving?e("overlay"):t._e()],1)}),[],!1,null,null,null).exports,C={mixins:[n.a],name:"audit-free"},k=Object(r.a)(C,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-box"},[e("div",{staticClass:"sui-box-header"},[e("h3",{staticClass:"sui-box-title"},[e("i",{staticClass:"sui-icon-eye",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("Audit Logging"))+"\n ")]),t._v(" "),e("div",{staticClass:"sui-actions-left"},[e("span",{staticClass:"sui-tag sui-tag-pro"},[t._v(t._s(t.__("Pro")))])])]),t._v(" "),e("div",{staticClass:"sui-box-body sui-upsell-items"},[e("div",{staticClass:"sui-box-settings-row no-margin-bottom no-padding-bottom"},[e("p",[t._v("\n "+t._s(t.__("Track and log events when changes are made to your website giving you full visibility of what's going on behind the scenes."))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-box-settings-row sui-upsell-row"},[e("img",{staticClass:"sui-image sui-upsell-image",attrs:{src:t.assetUrl("assets/img/audit-presale.svg")}}),t._v(" "),e("div",{staticClass:"sui-upsell-notice"},[e("p",[t._v("\n "+t._s(t.__("Get an automatic report about the changes made on your website with Audit Logging. Get Audit Logging as part of a WPMU DEV membership."))),e("br"),t._v(" "),e("a",{staticClass:"premium-button sui-button sui-button-purple",attrs:{target:"_blank",href:t.campaign_url("defender_dash_auditlogging_upsell_link")}},[t._v(t._s(t.__("Try Pro Free Today")))])])])])])])}),[],!1,null,null,null).exports,w={mixins:[n.a],name:"report",data:function(){return{scan:dashboard.report.scan,ip_lockout:dashboard.report.ip_lockout,audit:dashboard.report.audit}},methods:{statusText:function(t){if(-1===t)return'<span class="sui-tag sui-tag-disabled">'+this.__("Inactive")+"</span>";var s=void 0;switch(parseInt(t)){case 1:s=this.__("Daily");break;case 7:s=this.__("Weekly");break;case 30:s=this.__("Monthly")}return'<span class="sui-tag sui-tag-blue">'+s+"</span>"}}},x=Object(r.a)(w,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-box"},[e("div",{staticClass:"sui-box-header"},[e("h3",{staticClass:"sui-box-title"},[e("i",{staticClass:"sui-icon-graph-line",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("Reporting"))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-box-body no-padding-bottom"},[e("p",[t._v(t._s(t.__("Get tailored security reports delivered to your inbox so you don't have to worry about checking in.")))]),t._v(" "),e("div",{staticClass:"sui-field-list sui-flushed no-border"},[e("div",{staticClass:"sui-field-list-body"},[e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("small",[e("strong",[t._v(t._s(t.__("File Scanning")))])])]),t._v(" "),e("span",{domProps:{innerHTML:t._s(t.statusText(t.scan))}})]),t._v(" "),e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("small",[e("strong",[t._v(t._s(t.__("IP Lockouts")))])])]),t._v(" "),e("span",{domProps:{innerHTML:t._s(t.statusText(t.ip_lockout))}})]),t._v(" "),e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("small",[e("strong",[t._v(t._s(t.__("Audit Logging")))])])]),t._v(" "),e("span",{domProps:{innerHTML:t._s(t.statusText(t.audit))}})])])])]),t._v(" "),e("div",{staticClass:"sui-box-footer"},[e("p",{staticClass:"sui-p-small text-center"},[t._v("\n "+t._s(t.__("You can also"))+" "),e("a",{attrs:{target:"_blank",href:"https://premium.wpmudev.org/reports/"}},[t._v(t._s(t.__("create PDF reports")))]),t._v(" "+t._s(t.__("to send to your clients via The Hub."))+"\n ")])])])}),[],!1,null,null,null).exports,S={mixins:[n.a],name:"report",data:function(){return{scan:dashboard.report.scan,ip_lockout:dashboard.report.ip_lockout,audit:dashboard.report.audit}},methods:{statusText:function(t){if(-1===t)return'<span class="sui-tag sui-tag-disabled">'+this.__("Inactive")+"</span>";var s=void 0;switch(parseInt(t)){case 1:s=this.__("Daily");break;case 7:s=this.__("Weekly");break;case 30:s=this.__("Monthly")}return'<span class="sui-tag sui-tag-blue">'+s+"</span>"}}},A=Object(r.a)(S,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-box"},[e("div",{staticClass:"sui-box-header"},[e("h3",{staticClass:"sui-box-title"},[e("i",{staticClass:"sui-icon-graph-line",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("Reporting"))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-box-body sui-upsell-items"},[e("div",{staticClass:"sui-box-settings-row no-padding-bottom"},[e("p",[t._v(t._s(t.__("Get tailored security reports delivered to your inbox so you don't have to worry about checking in.")))])]),t._v(" "),e("div",{staticClass:"sui-field-list no-border"},[e("div",{staticClass:"sui-field-list-body"},[e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("small",[e("strong",[t._v(t._s(t.__("File Scanning")))])])]),t._v(" "),e("span",{staticClass:"sui-tag sui-tag-disabled"},[t._v(t._s(t.__("Inactive")))])]),t._v(" "),e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("small",[e("strong",[t._v(t._s(t.__("IP Lockouts")))])])]),t._v(" "),e("span",{staticClass:"sui-tag sui-tag-disabled"},[t._v(t._s(t.__("Inactive")))])]),t._v(" "),e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("small",[e("strong",[t._v(t._s(t.__("Audit Logging")))])])]),t._v(" "),e("span",{staticClass:"sui-tag sui-tag-disabled"},[t._v(t._s(t.__("Inactive")))])])])]),t._v(" "),e("div",{staticClass:"sui-box-settings-row sui-upsell-row"},[e("img",{staticClass:"sui-image sui-upsell-image",attrs:{src:t.assetUrl("/assets/img/dev-man-pre.svg")}}),t._v(" "),e("div",{staticClass:"sui-upsell-notice"},[e("p",[t._v("\n "+t._s(t.__("Schedule automatic reports and recieve directly to your inbox. Get reporting as part of a WPMU DEV membership."))),e("br"),t._v(" "),e("a",{staticClass:"premium-button sui-button sui-button-purple",attrs:{target:"_blank",href:t.campaign_url("defender_dash_reports_upsell_link")}},[t._v(t._s(t.__("Try Pro Free Today")))])])])])])])}),[],!1,null,null,null).exports,j={mixins:[n.a],name:"advanced-tools",data:function(){return{state:{on_saving:!1},nonces:dashboard.advanced_tools.nonces,endpoints:dashboard.advanced_tools.endpoints,two_factor:dashboard.advanced_tools.two_factors,mask_login:dashboard.advanced_tools.mask_login}},methods:{updateSettings:function(t){var s=this;this.httpPostRequest("updateSettings",{data:JSON.stringify({settings:{enabled:!0},module:t})},(function(){"auth"===t?s.two_factor.enabled=!0:s.mask_login.enabled=!0}))}}},P=Object(r.a)(j,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-box advanced-tools"},[e("div",{staticClass:"sui-box-header"},[e("h3",{staticClass:"sui-box-title"},[e("i",{staticClass:"sui-icon-wand-magic",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("Advanced Tools"))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-box-body no-padding-bottom"},[e("p",[t._v("\n "+t._s(t.__("Enable advanced tools for enhanced protection against even the most aggressive of hackers and bots."))+"\n ")])]),t._v(" "),e("hr"),t._v(" "),e("table",{staticClass:"sui-table sui-table-flushed margin-top-30"},[e("tbody",[e("tr",[e("td",[e("small",[e("strong",[t._v(t._s(t.__("Two-Factor Authentication")))])]),t._v(" "),e("br"),t._v(" "),e("small",[t._v("\n "+t._s(t.__("Add an extra layer of security to your WordPress account to ensure that you're the only person who can log in, even if someone else knows your password."))+"\n ")]),t._v(" "),!1===t.two_factor.enabled?e("form",{staticClass:"margin-top-10 margin-bottom-10",attrs:{method:"post"},on:{submit:function(s){return s.preventDefault(),t.updateSettings("auth")}}},[e("submit-button",{attrs:{type:"submit","css-class":"sui-button-blue",state:t.state}},[t._v("\n "+t._s(t.__("Active"))+"\n ")])],1):!1===t.two_factor.useable?e("div",{staticClass:"sui-notice sui-notice-warning margin-bottom-30 margin-top-10"},[e("p",[t._v("\n "+t._s(t.__("Two-factor authentication is currently inactive. Configure and save your settings to finish setup."))+"\n "),e("br"),t._v(" "),e("a",{staticClass:"sui-button margin-top-10",attrs:{href:t.adminUrl("admin.php?page=wdf-advanced-tools")}},[t._v("\n "+t._s(t.__("Finish Setup"))+"\n ")])])]):!0===t.two_factor.useable?e("div",{staticClass:"sui-notice sui-notice-success margin-top-10 margin-bottom-30"},[e("p",[t._v("\n "+t._s(t.__("Two-factor authentication is now active. User roles with this feature enabled must visit their Profile page to complete setup and sync their account with the Authenticator app."))+"\n ")])]):t._e(),t._v(" "),!0===t.two_factor.useable?e("small",[t._v(t._s(t.__("Note: Each user on your website must individually enable two-factor authentication via their user profile in order to enable and use this security feature.")))]):t._e()])]),t._v(" "),e("tr",[e("td",[e("small",{staticClass:"margin-top-30"},[e("strong",[t._v(t._s(t.__("Mask Login Area")))])]),t._v(" "),e("br"),t._v(" "),e("small",[t._v("\n "+t._s(t.__("Change the location of WordPress's default login area."))+"\n ")]),t._v(" "),!1===t.mask_login.enabled?e("form",{staticClass:"margin-top-10 margin-bottom-30",attrs:{method:"post"},on:{submit:function(s){return s.preventDefault(),t.updateSettings("mask-login")}}},[e("submit-button",{attrs:{type:"submit","css-class":"sui-button-blue",state:t.state}},[t._v("\n "+t._s(t.__("Active"))+"\n ")])],1):!1===t.mask_login.useable?e("div",{staticClass:"sui-notice sui-notice-warning margin-bottom-30 margin-top-10"},[e("p",[t._v("\n "+t._s(t.__("Masking is currently inactive. Choose your URL and save your settings to finish setup."))+"\n "),e("br"),t._v(" "),e("a",{staticClass:"sui-button margin-top-10",attrs:{href:t.adminUrl("admin.php?page=wdf-advanced-tools&view=mask-login")}},[t._v("\n "+t._s(t.__("Finish Setup"))+"\n ")])])]):!0===t.mask_login.useable?e("div",{staticClass:"sui-notice sui-notice-success margin-top-10 margin-bottom-30"},[e("p",[t._v("\n "+t._s(t.__("Masking is currently active at "))+" "),e("a",{attrs:{target:"_blank",href:t.mask_login.login_url}},[t._v(t._s(t.mask_login.login_url))])])]):t._e()])])])])])}),[],!1,null,null,null).exports,T={mixins:[n.a],name:"quick-setup",data:function(){return{state:{on_saving:!1},model:{activate_scan:!0,activate_audit:!0,activate_lockout:!0,activate_blacklist:!0},status:"normal",nonces:dashboard.quick_setup.nonces,endpoints:dashboard.quick_setup.endpoints}},methods:{activate:function(){this.httpPostRequest("activate",this.model,(function(t){window.location.reload()}))},skip:function(){this.httpPostRequest("skip",this.model,(function(t){SUI.dialogs.activator.hide()}))}},mounted:function(){document.onreadystatechange=function(){"complete"===document.readyState&&void 0!==SUI.dialogs.activator&&SUI.dialogs.activator.show()}}},I=Object(r.a)(T,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-dialog",attrs:{"aria-hidden":"true",tabindex:"-1",id:"activator"}},[e("div",{staticClass:"sui-dialog-overlay",attrs:{"data-a11y-dialog-hide":""}}),t._v(" "),e("div",{staticClass:"sui-dialog-content",attrs:{"aria-labelledby":"Quick setup","aria-describedby":"",role:"dialog"}},["normal"===t.status?e("div",{staticClass:"sui-box",attrs:{role:"document"}},[e("div",{staticClass:"sui-box-header"},[e("h3",{staticClass:"sui-box-title"},[t._v("\n "+t._s(t.__("Quick Setup"))+"\n ")]),t._v(" "),e("div",{staticClass:"sui-actions-right"},[e("form",{attrs:{method:"post"},on:{submit:function(s){return s.preventDefault(),t.skip(s)}}},[e("submit-button",{staticClass:"sui-button-ghost",attrs:{type:"submit",state:t.state}},[t._v("\n "+t._s(t.__("Skip"))+"\n ")])],1)])]),t._v(" "),e("form",{attrs:{method:"post"},on:{submit:function(s){return s.preventDefault(),t.activate(s)}}},[e("div",{staticClass:"sui-box-body"},[e("p",[t._v("\n "+t._s(t.__("Welcome to Defender, the hottest security plugin for WordPress! Let’s quickly set up the basics for you, then you can fine tweak each setting as you go – our recommendations are on by default."))+"\n ")]),t._v(" "),e("hr",{staticClass:"sui-flushed"}),t._v(" "),e("div",{staticClass:"sui-row"},[e("div",{staticClass:"sui-col-md-10"},[e("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Automatic File Scans & Reporting"))+"\n ")]),t._v(" "),e("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Scan your website for file changes, vulnerabilities and injected code and get notified about anything suspicious."))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-col-md-2"},[e("div",{staticClass:"sui-form-field tr"},[e("label",{staticClass:"sui-toggle"},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.model.activate_scan,expression:"model.activate_scan"}],staticClass:"toggle-checkbox",attrs:{type:"checkbox",name:"activator[]",checked:"",id:"active_scan",value:"activate_scan"},domProps:{checked:Array.isArray(t.model.activate_scan)?t._i(t.model.activate_scan,"activate_scan")>-1:t.model.activate_scan},on:{change:function(s){var e=t.model.activate_scan,i=s.target,a=!!i.checked;if(Array.isArray(e)){var n="activate_scan",o=t._i(e,n);i.checked?o<0&&t.$set(t.model,"activate_scan",e.concat([n])):o>-1&&t.$set(t.model,"activate_scan",e.slice(0,o).concat(e.slice(o+1)))}else t.$set(t.model,"activate_scan",a)}}}),t._v(" "),e("span",{staticClass:"sui-toggle-slider"})])])])]),t._v(" "),e("hr",{staticClass:"sui-flushed"}),t._v(" "),e("div",{staticClass:"sui-row"},[e("div",{staticClass:"sui-col-md-10"},[e("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Audit Logging"))+"\n ")]),t._v(" "),e("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Track and log events when changes are made to your website giving you full visibility of what’s going on behind the scenes."))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-col-md-2"},[e("div",{staticClass:"sui-form-field tr"},[e("label",{staticClass:"sui-toggle"},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.model.activate_audit,expression:"model.activate_audit"}],staticClass:"toggle-checkbox",attrs:{type:"checkbox",name:"activator[]",checked:"",id:"active_audit",value:"activate_audit"},domProps:{checked:Array.isArray(t.model.activate_audit)?t._i(t.model.activate_audit,"activate_audit")>-1:t.model.activate_audit},on:{change:function(s){var e=t.model.activate_audit,i=s.target,a=!!i.checked;if(Array.isArray(e)){var n="activate_audit",o=t._i(e,n);i.checked?o<0&&t.$set(t.model,"activate_audit",e.concat([n])):o>-1&&t.$set(t.model,"activate_audit",e.slice(0,o).concat(e.slice(o+1)))}else t.$set(t.model,"activate_audit",a)}}}),t._v(" "),e("span",{staticClass:"sui-toggle-slider"})])])])]),t._v(" "),e("hr",{staticClass:"sui-flushed"}),t._v(" "),e("div",{staticClass:"sui-row"},[e("div",{staticClass:"sui-col-md-10"},[e("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("IP Lockouts"))+"\n ")]),t._v(" "),e("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Protect your login area and have Defender automatically lockout any suspicious behaviour."))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-col-md-2"},[e("div",{staticClass:"sui-form-field tr"},[e("label",{staticClass:"sui-toggle"},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.model.activate_lockout,expression:"model.activate_lockout"}],staticClass:"toggle-checkbox",attrs:{type:"checkbox",checked:"",name:"activator[]",id:"activate_lockout",value:"activate_lockout"},domProps:{checked:Array.isArray(t.model.activate_lockout)?t._i(t.model.activate_lockout,"activate_lockout")>-1:t.model.activate_lockout},on:{change:function(s){var e=t.model.activate_lockout,i=s.target,a=!!i.checked;if(Array.isArray(e)){var n="activate_lockout",o=t._i(e,n);i.checked?o<0&&t.$set(t.model,"activate_lockout",e.concat([n])):o>-1&&t.$set(t.model,"activate_lockout",e.slice(0,o).concat(e.slice(o+1)))}else t.$set(t.model,"activate_lockout",a)}}}),t._v(" "),e("span",{staticClass:"sui-toggle-slider"})])])])]),t._v(" "),e("hr",{staticClass:"sui-flushed"}),t._v(" "),e("div",{staticClass:"sui-row"},[e("div",{staticClass:"sui-col-md-10"},[e("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Blacklist Monitor"))+"\n ")]),t._v(" "),e("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Automatically check if you’re on Google’s blacklist every 6 hours. If something’s wrong, we’ll let you know via email."))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-col-md-2"},[e("div",{staticClass:"sui-form-field tr"},[e("label",{staticClass:"sui-toggle"},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.model.activate_blacklist,expression:"model.activate_blacklist"}],staticClass:"toggle-checkbox",attrs:{type:"checkbox",checked:"",name:"activator[]",id:"activate_blacklist",value:"activate_blacklist"},domProps:{checked:Array.isArray(t.model.activate_blacklist)?t._i(t.model.activate_blacklist,"activate_blacklist")>-1:t.model.activate_blacklist},on:{change:function(s){var e=t.model.activate_blacklist,i=s.target,a=!!i.checked;if(Array.isArray(e)){var n="activate_blacklist",o=t._i(e,n);i.checked?o<0&&t.$set(t.model,"activate_blacklist",e.concat([n])):o>-1&&t.$set(t.model,"activate_blacklist",e.slice(0,o).concat(e.slice(o+1)))}else t.$set(t.model,"activate_blacklist",a)}}}),t._v(" "),e("span",{staticClass:"sui-toggle-slider"})])])])])]),t._v(" "),e("div",{staticClass:"sui-box-footer"},[e("div",{staticClass:"sui-row"},[e("div",{staticClass:"sui-col-md-9"},[e("small",[t._v("\n "+t._s(t.__("Note: These services will be configured with our recommended settings. You can change these at any time."))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-col-md-3"},[e("submit-button",{staticClass:"sui-button sui-button-blue",attrs:{type:"submit",state:t.state}},[t._v("\n "+t._s(t.__("Get Started"))+"\n ")])],1)])])]),t._v(" "),t.maybeHideBranding?e("img",{staticClass:"sui-image sui-image-center",attrs:{src:t.assetUrl("/assets/img/defender-activator.svg")}}):t._e()]):e("div",{staticClass:"sui-box"},[e("div",{staticClass:"sui-box-body"},[e("p",[t._v("\n "+t._s(t.__("Just a moment while Defender activates those services for you.."))+"\n ")]),t._v(" "),t._m(0),t._v(" "),t._m(1)])])])])}),[function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"sui-progress-block"},[s("div",{staticClass:"sui-progress"},[s("div",{staticClass:"sui-progress-text scan-progress-text sui-icon-loader sui-loading"},[s("span",[this._v("0%")])]),this._v(" "),s("div",{staticClass:"sui-progress-bar scan-progress-bar"},[s("span",{staticStyle:{width:"0%"}})])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"sui-progress-state"},[s("span",{staticClass:"status-text"})])}],!1,null,null,null).exports,E={mixins:[n.a],name:"quick-setup",data:function(){return{state:{on_saving:!1},model:{activate_scan:!0,activate_lockout:!0},status:"normal",nonces:dashboard.quick_setup.nonces,endpoints:dashboard.quick_setup.endpoints}},methods:{activate:function(){this.httpPostRequest("activate",this.model,(function(t){window.location.reload()}))},skip:function(){this.httpPostRequest("skip",this.model,(function(t){SUI.dialogs.activator.hide()}))}},mounted:function(){document.onreadystatechange=function(){"complete"===document.readyState&&void 0!==SUI.dialogs.activator&&SUI.dialogs.activator.show()}}},$=Object(r.a)(E,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-dialog",attrs:{"aria-hidden":"true",tabindex:"-1",id:"activator"}},[e("div",{staticClass:"sui-dialog-overlay",attrs:{"data-a11y-dialog-hide":""}}),t._v(" "),e("div",{staticClass:"sui-dialog-content",attrs:{"aria-labelledby":"Quick setup","aria-describedby":"",role:"dialog"}},["normal"===t.status?e("div",{staticClass:"sui-box",attrs:{role:"document"}},[e("div",{staticClass:"sui-box-header"},[e("h3",{staticClass:"sui-box-title"},[t._v("\n "+t._s(t.__("Quick Setup"))+"\n ")]),t._v(" "),e("div",{staticClass:"sui-actions-right"},[e("form",{attrs:{method:"post"},on:{submit:function(s){return s.preventDefault(),t.skip(s)}}},[e("submit-button",{staticClass:"sui-button-ghost",attrs:{type:"submit",state:t.state}},[t._v("\n "+t._s(t.__("Skip"))+"\n ")])],1)])]),t._v(" "),e("form",{attrs:{method:"post"},on:{submit:function(s){return s.preventDefault(),t.activate(s)}}},[e("div",{staticClass:"sui-box-body"},[e("p",[t._v("\n "+t._s(t.__("Welcome to Defender, the hottest security plugin for WordPress! Let’s quickly set up the basics for you, then you can fine tweak each setting as you go – our recommendations are on by default."))+"\n ")]),t._v(" "),e("hr",{staticClass:"sui-flushed"}),t._v(" "),e("div",{staticClass:"sui-row"},[e("div",{staticClass:"sui-col-md-10"},[e("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("File Scanning"))+"\n ")]),t._v(" "),e("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Scan your website for file changes, vulnerabilities and injected code and get notified about anything suspicious."))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-col-md-2"},[e("div",{staticClass:"sui-form-field tr"},[e("label",{staticClass:"sui-toggle"},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.model.activate_scan,expression:"model.activate_scan"}],staticClass:"toggle-checkbox",attrs:{type:"checkbox",name:"activator[]",checked:"",id:"active_scan",value:"activate_scan"},domProps:{checked:Array.isArray(t.model.activate_scan)?t._i(t.model.activate_scan,"activate_scan")>-1:t.model.activate_scan},on:{change:function(s){var e=t.model.activate_scan,i=s.target,a=!!i.checked;if(Array.isArray(e)){var n="activate_scan",o=t._i(e,n);i.checked?o<0&&t.$set(t.model,"activate_scan",e.concat([n])):o>-1&&t.$set(t.model,"activate_scan",e.slice(0,o).concat(e.slice(o+1)))}else t.$set(t.model,"activate_scan",a)}}}),t._v(" "),e("span",{staticClass:"sui-toggle-slider"})])])])]),t._v(" "),e("hr",{staticClass:"sui-flushed"}),t._v(" "),e("div",{staticClass:"sui-row"},[e("div",{staticClass:"sui-col-md-10"},[e("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("IP Lockouts"))+"\n ")]),t._v(" "),e("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Protect your login area and have Defender automatically lockout any suspicious behaviour."))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-col-md-2"},[e("div",{staticClass:"sui-form-field tr"},[e("label",{staticClass:"sui-toggle"},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.model.activate_lockout,expression:"model.activate_lockout"}],staticClass:"toggle-checkbox",attrs:{type:"checkbox",checked:"",name:"activator[]",id:"activate_lockout",value:"activate_lockout"},domProps:{checked:Array.isArray(t.model.activate_lockout)?t._i(t.model.activate_lockout,"activate_lockout")>-1:t.model.activate_lockout},on:{change:function(s){var e=t.model.activate_lockout,i=s.target,a=!!i.checked;if(Array.isArray(e)){var n="activate_lockout",o=t._i(e,n);i.checked?o<0&&t.$set(t.model,"activate_lockout",e.concat([n])):o>-1&&t.$set(t.model,"activate_lockout",e.slice(0,o).concat(e.slice(o+1)))}else t.$set(t.model,"activate_lockout",a)}}}),t._v(" "),e("span",{staticClass:"sui-toggle-slider"})])])])])]),t._v(" "),e("div",{staticClass:"sui-box-footer"},[e("div",{staticClass:"sui-row"},[e("div",{staticClass:"sui-col-md-9"},[e("small",[t._v("\n "+t._s(t.__("Note: These services will be configured with our recommended settings. You can change these at any time."))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-col-md-3"},[e("submit-button",{staticClass:"sui-button sui-button-blue",attrs:{type:"submit",state:t.state}},[t._v("\n "+t._s(t.__("Get Started"))+"\n ")])],1)])])]),t._v(" "),t.maybeHideBranding?e("img",{staticClass:"sui-image sui-image-center",attrs:{src:t.assetUrl("/assets/img/defender-activator.svg")}}):t._e()]):e("div",{staticClass:"sui-box"},[e("div",{staticClass:"sui-box-body"},[e("p",[t._v("\n "+t._s(t.__("Just a moment while Defender activates those services for you.."))+"\n ")]),t._v(" "),t._m(0),t._v(" "),t._m(1)])])])])}),[function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"sui-progress-block"},[s("div",{staticClass:"sui-progress"},[s("div",{staticClass:"sui-progress-text scan-progress-text sui-icon-loader sui-loading"},[s("span",[this._v("0%")])]),this._v(" "),s("div",{staticClass:"sui-progress-bar scan-progress-bar"},[s("span",{staticStyle:{width:"0%"}})])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"sui-progress-state"},[s("span",{staticClass:"status-text"})])}],!1,null,null,null).exports,O={mixins:[n.a],name:"cross-sale"},D=Object(r.a)(O,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("section",[e("div",{staticClass:"sui-row",attrs:{id:"sui-cross-sell-footer"}},[t._m(0),t._v(" "),e("h3",[t._v(t._s(t.__("Check out our other free wordpress.org plugins!")))])]),t._v(" "),e("div",{staticClass:"sui-row sui-cross-sell-modules"},[e("div",{staticClass:"sui-col-md-4"},[t._m(1),t._v(" "),e("div",{staticClass:"sui-box"},[e("div",{staticClass:"sui-box-body"},[e("h3",[t._v(t._s(t.__("Smush Image Compression and Optimization")))]),t._v(" "),e("p",[t._v(t._s(t.__("Resize, optimize and compress all of your images with the incredibly powerful and award-winning, 100% free WordPress image optimizer.")))]),t._v(" "),e("a",{staticClass:"sui-button sui-button-ghost",attrs:{href:"https://wordpress.org/plugins/wp-smushit/",target:"_blank"}},[t._v("\n "+t._s(t.__("View features"))+" "),e("i",{staticClass:"sui-icon-arrow-right",attrs:{"aria-hidden":"true"}})])])])]),t._v(" "),e("div",{staticClass:"sui-col-md-4"},[t._m(2),t._v(" "),e("div",{staticClass:"sui-box"},[e("div",{staticClass:"sui-box-body"},[e("h3",[t._v(t._s(t.__("Hummingbird Page Speed Optimization")))]),t._v(" "),e("p",[t._v(t._s(t.__("Performance Tests, File Optimization & Compression, Page, Browser & Gravatar Caching, GZIP Compression, CloudFlare Integration & more.")))]),t._v(" "),e("a",{staticClass:"sui-button sui-button-ghost",attrs:{href:"https://wordpress.org/plugins/hummingbird-performance/",target:"_blank"}},[t._v("\n "+t._s(t.__("View features"))+" "),e("i",{staticClass:"sui-icon-arrow-right",attrs:{"aria-hidden":"true"}})])])])]),t._v(" "),e("div",{staticClass:"sui-col-md-4"},[t._m(3),t._v(" "),e("div",{staticClass:"sui-box"},[e("div",{staticClass:"sui-box-body"},[e("h3",[t._v(t._s(t.__("SmartCrawl Search Engine Optimization")))]),t._v(" "),e("p",[t._v(t._s(t.__("Customize Titles & Meta Data, OpenGraph, Twitter & Pinterest Support, Auto-Keyword Linking, SEO & Readability Analysis, Sitemaps, URL Crawler & more.")))]),t._v(" "),e("a",{staticClass:"sui-button sui-button-ghost",attrs:{href:"https://wordpress.org/plugins/smartcrawl-seo/",target:"_blank"}},[t._v("\n "+t._s(t.__("View features"))+" "),e("i",{staticClass:"sui-icon-arrow-right",attrs:{"aria-hidden":"true"}})])])])])]),t._v(" "),e("div",{staticClass:"sui-cross-sell-bottom"},[e("h3",[t._v(t._s(t.__("WPMU DEV - Your All-in-One WordPress Platform")))]),t._v(" "),e("p",[t._v(t._s(t.__("Pretty much everything you need for developing and managing WordPress based websites, and then some")))]),t._v(" "),e("a",{staticClass:"sui-button sui-button-green",attrs:{href:"https://premium.wpmudev.org/?utm_source=defender&utm_medium=plugin&utm_campaign=defender_dash_footer_upsell_notice",target:"_blank",role:"button"}},[t._v(t._s(t.__("Learn more"))+"\n ")]),t._v(" "),e("img",{staticClass:"sui-image",attrs:{src:t.assetUrl("assets/img/dev-team.png"),srcset:t.assetUrl("assets/img/dev-team@2x.png 2x"),"aria-hidden":"true"}})])])}),[function(){var t=this.$createElement,s=this._self._c||t;return s("div",[s("span",{staticClass:"sui-icon-plugin-2"})])},function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"sui-cross-1",attrs:{"aria-hidden":"true"}},[s("span")])},function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"sui-cross-2",attrs:{"aria-hidden":"true"}},[s("span")])},function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"sui-cross-3",attrs:{"aria-hidden":"true"}},[s("span")])}],!1,null,null,null).exports,R={mixins:[n.a],name:"dashboard",data:function(){return{quick_setup:parseInt(dashboard.quick_setup.show),is_free:parseInt(defender.is_free),security_tweaks:{count:{issues:dashboard.security_tweaks.count.issues,resolved:dashboard.security_tweaks.count.resolved,total:dashboard.security_tweaks.count.total}},scan:{count:0,scan:dashboard.scan.scan},nonces:dashboard.scan.nonces,endpoints:dashboard.scan.endpoints,state:{on_saving:!1}}},components:{"security-tweaks":c,"file-scanning":u,"file-scanning-free":_,blacklist:v,"blacklist-free":f,"ip-lockout":g,audit:y,"audit-free":k,report:x,"report-free":A,"advanced-tools":P,"quick-setup":I,"quick-setup-free":$,"cross-sale":D},methods:{countScanIssues:function(){var t=dashboard.scan.scan;return null===t||"init"===t.status||"progress"===t.status?0:t.count.total},newScan:function(){var t=this;this.httpPostRequest("newScan",{},(function(s){t.$nextTick((function(){var e=t.$refs["file-scanning"];e.scan={},t.scan.scan={},t.scan.scan.status=s.data.status,e.scan.status=s.data.status,e.scan.percent=s.data.percent,e.scan.status_text=s.data.status_text,e.polling()}))}))},scanCanceled:function(t){this.scan.scan=t},scanCompleted:function(t,s){this.scan.count=s,this.scan.scan=t}},computed:{tooltips:function(){var t=this.__("You don't have any outstanding security issues, nice work!");return 1===this.security_tweaks.count.issues&&0===this.scan.count?t=this.__("You have one security tweak left to do. We recommend you action it, or ignore it if it's irrelevant."):0===this.security_tweaks.count.issues&&1===this.scan.count?t=this.__("We've detected a potential security risk in your file system. We recommend you take a look and action a fix, or ignore the file if it's harmless."):1===this.security_tweaks.count.issues&&1===this.scan.count?t=this.__("You have one security tweak left to do, and one potential security risk in your file system. We recommend you take a look and action fixes, or ignore the issues if they are harmless."):1===this.security_tweaks.count.issues&&this.scan.count>1?t=this.vsprintf(this.__("You have one security tweak left to do, and %s potential security risks in your file system. We recommend you take a look and action fixes, or ignore the issues if they are harmless"),this.scan.count):this.security_tweaks.count.issues>1&&1===this.scan.count?t=this.vsprintf(this.__("You have %s security tweaks left to do, and one potential security risk in your file system. We recommend you take a look and action fixes, or ignore the issues if they are harmless."),this.security_tweaks.count.issues):this.security_tweaks.count.issues>1&&this.scan.count>1?t=this.vsprintf(this.__("You have %s security tweaks left to do, and %s potential security risks in your file system. We recommend you take a look and action fixes, or ignore the issues if they are harmless."),this.security_tweaks.count.issues,this.scan.count):this.security_tweaks.count.issues>1&&0===this.scan.count?t=this.vsprintf(this.__("You have %d security tweaks left to do. We recommend you action it, or ignore it if it's irrelevant."),this.security_tweaks.count.issues):0===this.security_tweaks.count.issues&&this.scan.count>1&&(t=this.vsprintf(this.__("We've detected %d potential security risks in your file system. We recommend you take a look and action a fix, or ignore the file if it's harmless."),this.scan.count)),t},securityTweaksIndicator:function(){return this.security_tweaks.count.resolved+"/"+this.security_tweaks.count.total},countTotalIssues:function(){return this.scan.count+this.security_tweaks.count.issues}},mounted:function(){var t=this;this.$nextTick((function(){t.scan.count=t.countScanIssues()}))}},q=Object(r.a)(R,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-wrap",class:t.maybeHighContrast()},[e("div",{staticClass:"defender-dashboard"},[e("div",{staticClass:"sui-header"},[e("h1",{staticClass:"sui-header-title"},[t._v(t._s(t.__("Dashboard")))]),t._v(" "),e("div",{staticClass:"sui-actions-right"},[e("doc-link",{attrs:{link:"https://premium.wpmudev.org/docs/wpmu-dev-plugins/defender"}})],1)]),t._v(" "),e("summary-box",[e("div",{staticClass:"sui-summary-segment"},[e("div",{staticClass:"sui-summary-details"},[e("span",{staticClass:"sui-summary-large",domProps:{textContent:t._s(t.countTotalIssues)}}),t._v(" "),e("span",{staticClass:"sui-tooltip sui-tooltip-top-left sui-tooltip-constrained",attrs:{"data-tooltip":t.tooltips}},[0===this.security_tweaks.count.issues&&0===this.scan.count?e("i",{staticClass:"sui-icon-check-tick sui-success",attrs:{"aria-hidden":"true"}}):e("i",{staticClass:"sui-icon-info sui-warning",attrs:{"aria-hidden":"true"}})]),t._v(" "),e("span",{staticClass:"sui-summary-sub"},[t._v(t._s(t.__("Security Issue")))])])]),t._v(" "),e("div",{staticClass:"sui-summary-segment"},[e("ul",{staticClass:"sui-list"},[e("li",[e("span",{staticClass:"sui-list-label"},[t._v(t._s(t.__("Security Tweaks Actioned")))]),t._v(" "),e("span",{staticClass:"sui-list-detail",domProps:{textContent:t._s(t.securityTweaksIndicator)}})]),t._v(" "),e("li",[e("span",{staticClass:"sui-list-label"},[t._v(t._s(t.__("File Scan Issues")))]),t._v(" "),e("span",{staticClass:"sui-list-detail"},[null===t.scan.scan?e("submit-button",{attrs:{type:"button","css-class":"sui-button-blue",state:t.state},on:{click:t.newScan}},[t._v("\n "+t._s(t.__("New Scan"))+"\n ")]):"init"===t.scan.scan.status||"progress"===t.scan.scan.status?e("i",{staticClass:"sui-icon-loader sui-loading"}):0===t.scan.count?e("i",{staticClass:"sui-icon-check-tick sui-success"}):e("span",{staticClass:"sui-tag sui-tag-error"},[t._v(t._s(t.scan.count))])],1)]),t._v(" "),e("li",[e("span",{staticClass:"sui-list-label"},[t._v(t._s(t.__("Last Lockout")))]),t._v(" "),e("span",{staticClass:"sui-list-detail"},[t._v(t._s(t.__("Never")))])])])])]),t._v(" "),e("div",{staticClass:"sui-row"},[e("div",{staticClass:"sui-col-md-6"},[e("security-tweaks"),t._v(" "),0===t.is_free?e("blacklist"):1===t.is_free?e("blacklist-free"):t._e(),t._v(" "),e("advanced-tools")],1),t._v(" "),e("div",{staticClass:"sui-col-md-6"},[0===t.is_free?e("file-scanning",{ref:"file-scanning",on:{scanCanceled:t.scanCanceled,scanCompleted:t.scanCompleted}}):1===t.is_free?e("file-scanning-free",{ref:"file-scanning",attrs:{scanCompleted:"scanCompleted"},on:{scanCanceled:t.scanCanceled}}):t._e(),t._v(" "),e("ip-lockout"),t._v(" "),0===t.is_free?e("audit"):1===t.is_free?e("audit-free"):t._e(),t._v(" "),0===t.is_free?e("report"):1===t.is_free?e("report-free"):t._e()],1)]),t._v(" "),1===t.is_free?e("cross-sale"):t._e(),t._v(" "),e("app-footer")],1),t._v(" "),1===t.quick_setup&&0===t.is_free?e("quick-setup"):1===t.quick_setup&&1===t.is_free?e("quick-setup-free"):t._e()],1)}),[],!1,null,null,null).exports,L=e("./src/component/overlay.vue"),U=e("./src/component/submit-button.vue"),H=e("./src/component/footer.vue"),W=e("./src/component/doc-link.vue"),M=e("./src/component/summary-box.vue");a.a.component("overlay",L.a),a.a.component("submit-button",U.a),a.a.component("app-footer",H.a),a.a.component("doc-link",W.a),a.a.component("summary-box",M.a);new a.a({el:"#defender",components:{dashboard:q},render:function(t){return t(q)}})},"./src/helper/base_hepler.js":function(t,s,e){"use strict";var i=e("./node_modules/xss/lib/index.js"),a=e.n(i),n=function(t,s){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,s){var e=[],i=!0,a=!1,n=void 0;try{for(var o,r=t[Symbol.iterator]();!(i=(o=r.next()).done)&&(e.push(o.value),!s||e.length!==s);i=!0);}catch(t){a=!0,n=t}finally{try{!i&&r.return&&r.return()}finally{if(a)throw n}}return e}(t,s);throw new TypeError("Invalid attempt to destructure non-iterable instance")},o=wp.i18n,r=o.sprintf,c=o.__,l=[];s.a={methods:{__:function(t){return a()(c(t,"wpdef"))},xss:function(t){return a()(t)},vsprintf:function(t){return r.apply(null,arguments)},siteUrl:function(t){return void 0!==t?defender.site_url+t:defender.site_url},adminUrl:function(t){return void 0!==t?defender.admin_url+t:defender.admin_url},assetUrl:function(t){return defender.defender_url+t},maybeHighContrast:function(){return{"sui-color-accessible":!0===defender.misc.high_contrast}},maybeHideBranding:function(){return defender.whitelabel.hide_branding},campaign_url:function(t){return"https://premium.wpmudev.org/project/wp-defender/?utm_source=defender&utm_medium=plugin&utm_campaign="+t},httpRequest:function(t,s,e,i,a){var n=this;void 0===a&&(this.state.on_saving=!0);var o=ajaxurl+"?action="+this.endpoints[s]+"&_wpnonce="+this.nonces[s],r=jQuery.ajax({url:o,method:t,data:e,success:function(t){var s=t.data;n.state.on_saving=!1,void 0!==s&&void 0!==s.message&&(t.success?Defender.showNotification("success",s.message):Defender.showNotification("error",s.message)),void 0!==i&&i(t)}});l.push(r)},httpGetRequest:function(t,s,e,i){this.httpRequest("get",t,s,e,i)},httpPostRequest:function(t,s,e,i){this.httpRequest("post",t,s,e,i)},abortAllRequests:function(){for(var t=0;t<l.length;t++)l[t].abort()},getQueryStringParams:function(t){return t?(/^[?#]/.test(t)?t.slice(1):t).split("&").reduce((function(t,s){var e=s.split("="),i=n(e,2),a=i[0],o=i[1];return t[a]=o?decodeURIComponent(o.replace(/\+/g," ")):"",t}),{}):{}},rebindSUI:function(){jQuery("select:not([multiple])").each((function(){SUI.suiSelect(this)})),jQuery(".sui-accordion").each((function(){SUI.suiAccordion(this)}));var t=jQuery(".sui-wrap");SUI.dialogs={},jQuery(".sui-dialog").each((function(){SUI.dialogs[this.id]=new A11yDialog(this,t)}))}}}},vue:function(t,s){t.exports=Vue}});
1
+ !function(t){var s=window.webpackHotUpdate;window.webpackHotUpdate=function(t,e){!function(t,s){if(!y[t]||!b[t])return;for(var e in b[t]=!1,s)Object.prototype.hasOwnProperty.call(s,e)&&(v[e]=s[e]);0==--f&&0===m&&x()}(t,e),s&&s(t,e)};var e,i=!0,a="d0b3332498cfafc2e0f1",n={},o=[],r=[];function c(t){var s=A[t];if(!s)return j;var i=function(i){return s.hot.active?(A[i]?-1===A[i].parents.indexOf(t)&&A[i].parents.push(t):(o=[t],e=i),-1===s.children.indexOf(i)&&s.children.push(i)):(console.warn("[HMR] unexpected require("+i+") from disposed module "+t),o=[]),j(i)},a=function(t){return{configurable:!0,enumerable:!0,get:function(){return j[t]},set:function(s){j[t]=s}}};for(var n in j)Object.prototype.hasOwnProperty.call(j,n)&&"e"!==n&&"t"!==n&&Object.defineProperty(i,n,a(n));return i.e=function(t){return"ready"===d&&_("prepare"),m++,j.e(t).then(s,(function(t){throw s(),t}));function s(){m--,"prepare"===d&&(g[t]||w(t),0===m&&0===f&&x())}},i.t=function(t,s){return 1&s&&(t=i(t)),j.t(t,-2&s)},i}function l(t){var s={_acceptedDependencies:{},_declinedDependencies:{},_selfAccepted:!1,_selfDeclined:!1,_disposeHandlers:[],_main:e!==t,active:!0,accept:function(t,e){if(void 0===t)s._selfAccepted=!0;else if("function"==typeof t)s._selfAccepted=t;else if("object"==typeof t)for(var i=0;i<t.length;i++)s._acceptedDependencies[t[i]]=e||function(){};else s._acceptedDependencies[t]=e||function(){}},decline:function(t){if(void 0===t)s._selfDeclined=!0;else if("object"==typeof t)for(var e=0;e<t.length;e++)s._declinedDependencies[t[e]]=!0;else s._declinedDependencies[t]=!0},dispose:function(t){s._disposeHandlers.push(t)},addDisposeHandler:function(t){s._disposeHandlers.push(t)},removeDisposeHandler:function(t){var e=s._disposeHandlers.indexOf(t);e>=0&&s._disposeHandlers.splice(e,1)},check:k,apply:S,status:function(t){if(!t)return d;u.push(t)},addStatusHandler:function(t){u.push(t)},removeStatusHandler:function(t){var s=u.indexOf(t);s>=0&&u.splice(s,1)},data:n[t]};return e=void 0,s}var u=[],d="idle";function _(t){d=t;for(var s=0;s<u.length;s++)u[s].call(null,t)}var p,v,h,f=0,m=0,g={},b={},y={};function C(t){return+t+""===t?+t:t}function k(t){if("idle"!==d)throw new Error("check() is only allowed in idle status");return i=t,_("check"),(s=1e4,s=s||1e4,new Promise((function(t,e){if("undefined"==typeof XMLHttpRequest)return e(new Error("No browser support"));try{var i=new XMLHttpRequest,n=j.p+""+a+".hot-update.json";i.open("GET",n,!0),i.timeout=s,i.send(null)}catch(t){return e(t)}i.onreadystatechange=function(){if(4===i.readyState)if(0===i.status)e(new Error("Manifest request to "+n+" timed out."));else if(404===i.status)t();else if(200!==i.status&&304!==i.status)e(new Error("Manifest request to "+n+" failed."));else{try{var s=JSON.parse(i.responseText)}catch(t){return void e(t)}t(s)}}}))).then((function(t){if(!t)return _("idle"),null;b={},g={},y=t.c,h=t.h,_("prepare");var s=new Promise((function(t,s){p={resolve:t,reject:s}}));v={};return w(2),"prepare"===d&&0===m&&0===f&&x(),s}));var s}function w(t){y[t]?(b[t]=!0,f++,function(t){var s=document.createElement("script");s.charset="utf-8",s.src=j.p+""+t+"."+a+".hot-update.js",document.head.appendChild(s)}(t)):g[t]=!0}function x(){_("ready");var t=p;if(p=null,t)if(i)Promise.resolve().then((function(){return S(i)})).then((function(s){t.resolve(s)}),(function(s){t.reject(s)}));else{var s=[];for(var e in v)Object.prototype.hasOwnProperty.call(v,e)&&s.push(C(e));t.resolve(s)}}function S(s){if("ready"!==d)throw new Error("apply() is only allowed in ready status");var e,i,r,c,l;function u(t){for(var s=[t],e={},i=s.map((function(t){return{chain:[t],id:t}}));i.length>0;){var a=i.pop(),n=a.id,o=a.chain;if((c=A[n])&&!c.hot._selfAccepted){if(c.hot._selfDeclined)return{type:"self-declined",chain:o,moduleId:n};if(c.hot._main)return{type:"unaccepted",chain:o,moduleId:n};for(var r=0;r<c.parents.length;r++){var l=c.parents[r],u=A[l];if(u){if(u.hot._declinedDependencies[n])return{type:"declined",chain:o.concat([l]),moduleId:n,parentId:l};-1===s.indexOf(l)&&(u.hot._acceptedDependencies[n]?(e[l]||(e[l]=[]),p(e[l],[n])):(delete e[l],s.push(l),i.push({chain:o.concat([l]),id:l})))}}}}return{type:"accepted",moduleId:t,outdatedModules:s,outdatedDependencies:e}}function p(t,s){for(var e=0;e<s.length;e++){var i=s[e];-1===t.indexOf(i)&&t.push(i)}}s=s||{};var f={},m=[],g={},b=function(){console.warn("[HMR] unexpected require("+w.moduleId+") to disposed module")};for(var k in v)if(Object.prototype.hasOwnProperty.call(v,k)){var w;l=C(k);var x=!1,S=!1,P=!1,T="";switch((w=v[k]?u(l):{type:"disposed",moduleId:k}).chain&&(T="\nUpdate propagation: "+w.chain.join(" -> ")),w.type){case"self-declined":s.onDeclined&&s.onDeclined(w),s.ignoreDeclined||(x=new Error("Aborted because of self decline: "+w.moduleId+T));break;case"declined":s.onDeclined&&s.onDeclined(w),s.ignoreDeclined||(x=new Error("Aborted because of declined dependency: "+w.moduleId+" in "+w.parentId+T));break;case"unaccepted":s.onUnaccepted&&s.onUnaccepted(w),s.ignoreUnaccepted||(x=new Error("Aborted because "+l+" is not accepted"+T));break;case"accepted":s.onAccepted&&s.onAccepted(w),S=!0;break;case"disposed":s.onDisposed&&s.onDisposed(w),P=!0;break;default:throw new Error("Unexception type "+w.type)}if(x)return _("abort"),Promise.reject(x);if(S)for(l in g[l]=v[l],p(m,w.outdatedModules),w.outdatedDependencies)Object.prototype.hasOwnProperty.call(w.outdatedDependencies,l)&&(f[l]||(f[l]=[]),p(f[l],w.outdatedDependencies[l]));P&&(p(m,[w.moduleId]),g[l]=b)}var I,E=[];for(i=0;i<m.length;i++)l=m[i],A[l]&&A[l].hot._selfAccepted&&g[l]!==b&&E.push({module:l,errorHandler:A[l].hot._selfAccepted});_("dispose"),Object.keys(y).forEach((function(t){!1===y[t]&&function(t){delete installedChunks[t]}(t)}));for(var $,O,D=m.slice();D.length>0;)if(l=D.pop(),c=A[l]){var R={},q=c.hot._disposeHandlers;for(r=0;r<q.length;r++)(e=q[r])(R);for(n[l]=R,c.hot.active=!1,delete A[l],delete f[l],r=0;r<c.children.length;r++){var L=A[c.children[r]];L&&((I=L.parents.indexOf(l))>=0&&L.parents.splice(I,1))}}for(l in f)if(Object.prototype.hasOwnProperty.call(f,l)&&(c=A[l]))for(O=f[l],r=0;r<O.length;r++)$=O[r],(I=c.children.indexOf($))>=0&&c.children.splice(I,1);for(l in _("apply"),a=h,g)Object.prototype.hasOwnProperty.call(g,l)&&(t[l]=g[l]);var U=null;for(l in f)if(Object.prototype.hasOwnProperty.call(f,l)&&(c=A[l])){O=f[l];var H=[];for(i=0;i<O.length;i++)if($=O[i],e=c.hot._acceptedDependencies[$]){if(-1!==H.indexOf(e))continue;H.push(e)}for(i=0;i<H.length;i++){e=H[i];try{e(O)}catch(t){s.onErrored&&s.onErrored({type:"accept-errored",moduleId:l,dependencyId:O[i],error:t}),s.ignoreErrored||U||(U=t)}}}for(i=0;i<E.length;i++){var W=E[i];l=W.module,o=[l];try{j(l)}catch(t){if("function"==typeof W.errorHandler)try{W.errorHandler(t)}catch(e){s.onErrored&&s.onErrored({type:"self-accept-error-handler-errored",moduleId:l,error:e,originalError:t}),s.ignoreErrored||U||(U=e),U||(U=t)}else s.onErrored&&s.onErrored({type:"self-accept-errored",moduleId:l,error:t}),s.ignoreErrored||U||(U=t)}}return U?(_("fail"),Promise.reject(U)):(_("idle"),new Promise((function(t){t(m)})))}var A={};function j(s){if(A[s])return A[s].exports;var e=A[s]={i:s,l:!1,exports:{},hot:l(s),parents:(r=o,o=[],r),children:[]};return t[s].call(e.exports,e,e.exports,c(s)),e.l=!0,e.exports}j.m=t,j.c=A,j.d=function(t,s,e){j.o(t,s)||Object.defineProperty(t,s,{enumerable:!0,get:e})},j.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},j.t=function(t,s){if(1&s&&(t=j(t)),8&s)return t;if(4&s&&"object"==typeof t&&t&&t.__esModule)return t;var e=Object.create(null);if(j.r(e),Object.defineProperty(e,"default",{enumerable:!0,value:t}),2&s&&"string"!=typeof t)for(var i in t)j.d(e,i,function(s){return t[s]}.bind(null,i));return e},j.n=function(t){var s=t&&t.__esModule?function(){return t.default}:function(){return t};return j.d(s,"a",s),s},j.o=function(t,s){return Object.prototype.hasOwnProperty.call(t,s)},j.p="",j.h=function(){return a},c("./src/dashboard.js")(j.s="./src/dashboard.js")}({"./node_modules/cssfilter/lib/css.js":function(t,s,e){var i=e("./node_modules/cssfilter/lib/default.js"),a=e("./node_modules/cssfilter/lib/parser.js");e("./node_modules/cssfilter/lib/util.js");function n(t){return null==t}function o(t){(t=function(t){var s={};for(var e in t)s[e]=t[e];return s}(t||{})).whiteList=t.whiteList||i.whiteList,t.onAttr=t.onAttr||i.onAttr,t.onIgnoreAttr=t.onIgnoreAttr||i.onIgnoreAttr,t.safeAttrValue=t.safeAttrValue||i.safeAttrValue,this.options=t}o.prototype.process=function(t){if(!(t=(t=t||"").toString()))return"";var s=this.options,e=s.whiteList,i=s.onAttr,o=s.onIgnoreAttr,r=s.safeAttrValue;return a(t,(function(t,s,a,c,l){var u=e[a],d=!1;if(!0===u?d=u:"function"==typeof u?d=u(c):u instanceof RegExp&&(d=u.test(c)),!0!==d&&(d=!1),c=r(a,c)){var _,p={position:s,sourcePosition:t,source:l,isWhite:d};return d?n(_=i(a,c,p))?a+":"+c:_:n(_=o(a,c,p))?void 0:_}}))},t.exports=o},"./node_modules/cssfilter/lib/default.js":function(t,s){function e(){var t={"align-content":!1,"align-items":!1,"align-self":!1,"alignment-adjust":!1,"alignment-baseline":!1,all:!1,"anchor-point":!1,animation:!1,"animation-delay":!1,"animation-direction":!1,"animation-duration":!1,"animation-fill-mode":!1,"animation-iteration-count":!1,"animation-name":!1,"animation-play-state":!1,"animation-timing-function":!1,azimuth:!1,"backface-visibility":!1,background:!0,"background-attachment":!0,"background-clip":!0,"background-color":!0,"background-image":!0,"background-origin":!0,"background-position":!0,"background-repeat":!0,"background-size":!0,"baseline-shift":!1,binding:!1,bleed:!1,"bookmark-label":!1,"bookmark-level":!1,"bookmark-state":!1,border:!0,"border-bottom":!0,"border-bottom-color":!0,"border-bottom-left-radius":!0,"border-bottom-right-radius":!0,"border-bottom-style":!0,"border-bottom-width":!0,"border-collapse":!0,"border-color":!0,"border-image":!0,"border-image-outset":!0,"border-image-repeat":!0,"border-image-slice":!0,"border-image-source":!0,"border-image-width":!0,"border-left":!0,"border-left-color":!0,"border-left-style":!0,"border-left-width":!0,"border-radius":!0,"border-right":!0,"border-right-color":!0,"border-right-style":!0,"border-right-width":!0,"border-spacing":!0,"border-style":!0,"border-top":!0,"border-top-color":!0,"border-top-left-radius":!0,"border-top-right-radius":!0,"border-top-style":!0,"border-top-width":!0,"border-width":!0,bottom:!1,"box-decoration-break":!0,"box-shadow":!0,"box-sizing":!0,"box-snap":!0,"box-suppress":!0,"break-after":!0,"break-before":!0,"break-inside":!0,"caption-side":!1,chains:!1,clear:!0,clip:!1,"clip-path":!1,"clip-rule":!1,color:!0,"color-interpolation-filters":!0,"column-count":!1,"column-fill":!1,"column-gap":!1,"column-rule":!1,"column-rule-color":!1,"column-rule-style":!1,"column-rule-width":!1,"column-span":!1,"column-width":!1,columns:!1,contain:!1,content:!1,"counter-increment":!1,"counter-reset":!1,"counter-set":!1,crop:!1,cue:!1,"cue-after":!1,"cue-before":!1,cursor:!1,direction:!1,display:!0,"display-inside":!0,"display-list":!0,"display-outside":!0,"dominant-baseline":!1,elevation:!1,"empty-cells":!1,filter:!1,flex:!1,"flex-basis":!1,"flex-direction":!1,"flex-flow":!1,"flex-grow":!1,"flex-shrink":!1,"flex-wrap":!1,float:!1,"float-offset":!1,"flood-color":!1,"flood-opacity":!1,"flow-from":!1,"flow-into":!1,font:!0,"font-family":!0,"font-feature-settings":!0,"font-kerning":!0,"font-language-override":!0,"font-size":!0,"font-size-adjust":!0,"font-stretch":!0,"font-style":!0,"font-synthesis":!0,"font-variant":!0,"font-variant-alternates":!0,"font-variant-caps":!0,"font-variant-east-asian":!0,"font-variant-ligatures":!0,"font-variant-numeric":!0,"font-variant-position":!0,"font-weight":!0,grid:!1,"grid-area":!1,"grid-auto-columns":!1,"grid-auto-flow":!1,"grid-auto-rows":!1,"grid-column":!1,"grid-column-end":!1,"grid-column-start":!1,"grid-row":!1,"grid-row-end":!1,"grid-row-start":!1,"grid-template":!1,"grid-template-areas":!1,"grid-template-columns":!1,"grid-template-rows":!1,"hanging-punctuation":!1,height:!0,hyphens:!1,icon:!1,"image-orientation":!1,"image-resolution":!1,"ime-mode":!1,"initial-letters":!1,"inline-box-align":!1,"justify-content":!1,"justify-items":!1,"justify-self":!1,left:!1,"letter-spacing":!0,"lighting-color":!0,"line-box-contain":!1,"line-break":!1,"line-grid":!1,"line-height":!1,"line-snap":!1,"line-stacking":!1,"line-stacking-ruby":!1,"line-stacking-shift":!1,"line-stacking-strategy":!1,"list-style":!0,"list-style-image":!0,"list-style-position":!0,"list-style-type":!0,margin:!0,"margin-bottom":!0,"margin-left":!0,"margin-right":!0,"margin-top":!0,"marker-offset":!1,"marker-side":!1,marks:!1,mask:!1,"mask-box":!1,"mask-box-outset":!1,"mask-box-repeat":!1,"mask-box-slice":!1,"mask-box-source":!1,"mask-box-width":!1,"mask-clip":!1,"mask-image":!1,"mask-origin":!1,"mask-position":!1,"mask-repeat":!1,"mask-size":!1,"mask-source-type":!1,"mask-type":!1,"max-height":!0,"max-lines":!1,"max-width":!0,"min-height":!0,"min-width":!0,"move-to":!1,"nav-down":!1,"nav-index":!1,"nav-left":!1,"nav-right":!1,"nav-up":!1,"object-fit":!1,"object-position":!1,opacity:!1,order:!1,orphans:!1,outline:!1,"outline-color":!1,"outline-offset":!1,"outline-style":!1,"outline-width":!1,overflow:!1,"overflow-wrap":!1,"overflow-x":!1,"overflow-y":!1,padding:!0,"padding-bottom":!0,"padding-left":!0,"padding-right":!0,"padding-top":!0,page:!1,"page-break-after":!1,"page-break-before":!1,"page-break-inside":!1,"page-policy":!1,pause:!1,"pause-after":!1,"pause-before":!1,perspective:!1,"perspective-origin":!1,pitch:!1,"pitch-range":!1,"play-during":!1,position:!1,"presentation-level":!1,quotes:!1,"region-fragment":!1,resize:!1,rest:!1,"rest-after":!1,"rest-before":!1,richness:!1,right:!1,rotation:!1,"rotation-point":!1,"ruby-align":!1,"ruby-merge":!1,"ruby-position":!1,"shape-image-threshold":!1,"shape-outside":!1,"shape-margin":!1,size:!1,speak:!1,"speak-as":!1,"speak-header":!1,"speak-numeral":!1,"speak-punctuation":!1,"speech-rate":!1,stress:!1,"string-set":!1,"tab-size":!1,"table-layout":!1,"text-align":!0,"text-align-last":!0,"text-combine-upright":!0,"text-decoration":!0,"text-decoration-color":!0,"text-decoration-line":!0,"text-decoration-skip":!0,"text-decoration-style":!0,"text-emphasis":!0,"text-emphasis-color":!0,"text-emphasis-position":!0,"text-emphasis-style":!0,"text-height":!0,"text-indent":!0,"text-justify":!0,"text-orientation":!0,"text-overflow":!0,"text-shadow":!0,"text-space-collapse":!0,"text-transform":!0,"text-underline-position":!0,"text-wrap":!0,top:!1,transform:!1,"transform-origin":!1,"transform-style":!1,transition:!1,"transition-delay":!1,"transition-duration":!1,"transition-property":!1,"transition-timing-function":!1,"unicode-bidi":!1,"vertical-align":!1,visibility:!1,"voice-balance":!1,"voice-duration":!1,"voice-family":!1,"voice-pitch":!1,"voice-range":!1,"voice-rate":!1,"voice-stress":!1,"voice-volume":!1,volume:!1,"white-space":!1,widows:!1,width:!0,"will-change":!1,"word-break":!0,"word-spacing":!0,"word-wrap":!0,"wrap-flow":!1,"wrap-through":!1,"writing-mode":!1,"z-index":!1};return t}var i=/javascript\s*\:/gim;s.whiteList=e(),s.getDefaultWhiteList=e,s.onAttr=function(t,s,e){},s.onIgnoreAttr=function(t,s,e){},s.safeAttrValue=function(t,s){return i.test(s)?"":s}},"./node_modules/cssfilter/lib/index.js":function(t,s,e){var i=e("./node_modules/cssfilter/lib/default.js"),a=e("./node_modules/cssfilter/lib/css.js");for(var n in(s=t.exports=function(t,s){return new a(s).process(t)}).FilterCSS=a,i)s[n]=i[n];"undefined"!=typeof window&&(window.filterCSS=t.exports)},"./node_modules/cssfilter/lib/parser.js":function(t,s,e){var i=e("./node_modules/cssfilter/lib/util.js");t.exports=function(t,s){";"!==(t=i.trimRight(t))[t.length-1]&&(t+=";");var e=t.length,a=!1,n=0,o=0,r="";function c(){if(!a){var e=i.trim(t.slice(n,o)),c=e.indexOf(":");if(-1!==c){var l=i.trim(e.slice(0,c)),u=i.trim(e.slice(c+1));if(l){var d=s(n,r.length,l,u,e);d&&(r+=d+"; ")}}}n=o+1}for(;o<e;o++){var l=t[o];if("/"===l&&"*"===t[o+1]){var u=t.indexOf("*/",o+2);if(-1===u)break;n=(o=u+1)+1,a=!1}else"("===l?a=!0:")"===l?a=!1:";"===l?a||c():"\n"===l&&c()}return i.trim(r)}},"./node_modules/cssfilter/lib/util.js":function(t,s){t.exports={indexOf:function(t,s){var e,i;if(Array.prototype.indexOf)return t.indexOf(s);for(e=0,i=t.length;e<i;e++)if(t[e]===s)return e;return-1},forEach:function(t,s,e){var i,a;if(Array.prototype.forEach)return t.forEach(s,e);for(i=0,a=t.length;i<a;i++)s.call(e,t[i],i,t)},trim:function(t){return String.prototype.trim?t.trim():t.replace(/(^\s*)|(\s*$)/g,"")},trimRight:function(t){return String.prototype.trimRight?t.trimRight():t.replace(/(\s*$)/g,"")}}},"./node_modules/vue-loader/lib/runtime/componentNormalizer.js":function(t,s,e){"use strict";function i(t,s,e,i,a,n,o,r){var c,l="function"==typeof t?t.options:t;if(s&&(l.render=s,l.staticRenderFns=e,l._compiled=!0),i&&(l.functional=!0),n&&(l._scopeId="data-v-"+n),o?(c=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),a&&a.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},l._ssrRegister=c):a&&(c=r?function(){a.call(this,this.$root.$options.shadowRoot)}:a),c)if(l.functional){l._injectStyles=c;var u=l.render;l.render=function(t,s){return c.call(s),u(t,s)}}else{var d=l.beforeCreate;l.beforeCreate=d?[].concat(d,c):[c]}return{exports:t,options:l}}e.d(s,"a",(function(){return i}))},"./node_modules/xss/lib/default.js":function(t,s,e){var i=e("./node_modules/cssfilter/lib/index.js").FilterCSS,a=e("./node_modules/cssfilter/lib/index.js").getDefaultWhiteList,n=e("./node_modules/xss/lib/util.js");function o(){return{a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","loop","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height"],ins:["datetime"],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],sup:[],strong:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","loop","preload","src","height","width"]}}var r=new i;function c(t){return t.replace(l,"&lt;").replace(u,"&gt;")}var l=/</g,u=/>/g,d=/"/g,_=/&quot;/g,p=/&#([a-zA-Z0-9]*);?/gim,v=/&colon;?/gim,h=/&newline;?/gim,f=/((j\s*a\s*v\s*a|v\s*b|l\s*i\s*v\s*e)\s*s\s*c\s*r\s*i\s*p\s*t\s*|m\s*o\s*c\s*h\s*a)\:/gi,m=/e\s*x\s*p\s*r\s*e\s*s\s*s\s*i\s*o\s*n\s*\(.*/gi,g=/u\s*r\s*l\s*\(.*/gi;function b(t){return t.replace(d,"&quot;")}function y(t){return t.replace(_,'"')}function C(t){return t.replace(p,(function(t,s){return"x"===s[0]||"X"===s[0]?String.fromCharCode(parseInt(s.substr(1),16)):String.fromCharCode(parseInt(s,10))}))}function k(t){return t.replace(v,":").replace(h," ")}function w(t){for(var s="",e=0,i=t.length;e<i;e++)s+=t.charCodeAt(e)<32?" ":t.charAt(e);return n.trim(s)}function x(t){return t=w(t=k(t=C(t=y(t))))}function S(t){return t=c(t=b(t))}var A=/<!--[\s\S]*?-->/g;s.whiteList={a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","loop","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height"],ins:["datetime"],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],sup:[],strong:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","loop","preload","src","height","width"]},s.getDefaultWhiteList=o,s.onTag=function(t,s,e){},s.onIgnoreTag=function(t,s,e){},s.onTagAttr=function(t,s,e){},s.onIgnoreTagAttr=function(t,s,e){},s.safeAttrValue=function(t,s,e,i){if(e=x(e),"href"===s||"src"===s){if("#"===(e=n.trim(e)))return"#";if("http://"!==e.substr(0,7)&&"https://"!==e.substr(0,8)&&"mailto:"!==e.substr(0,7)&&"tel:"!==e.substr(0,4)&&"#"!==e[0]&&"/"!==e[0])return""}else if("background"===s){if(f.lastIndex=0,f.test(e))return""}else if("style"===s){if(m.lastIndex=0,m.test(e))return"";if(g.lastIndex=0,g.test(e)&&(f.lastIndex=0,f.test(e)))return"";!1!==i&&(e=(i=i||r).process(e))}return e=S(e)},s.escapeHtml=c,s.escapeQuote=b,s.unescapeQuote=y,s.escapeHtmlEntities=C,s.escapeDangerHtml5Entities=k,s.clearNonPrintableCharacter=w,s.friendlyAttrValue=x,s.escapeAttrValue=S,s.onIgnoreTagStripAll=function(){return""},s.StripTagBody=function(t,s){"function"!=typeof s&&(s=function(){});var e=!Array.isArray(t),i=[],a=!1;return{onIgnoreTag:function(o,r,c){if(function(s){return!!e||-1!==n.indexOf(t,s)}(o)){if(c.isClosing){var l="[/removed]",u=c.position+l.length;return i.push([!1!==a?a:c.position,u]),a=!1,l}return a||(a=c.position),"[removed]"}return s(o,r,c)},remove:function(t){var s="",e=0;return n.forEach(i,(function(i){s+=t.slice(e,i[0]),e=i[1]})),s+=t.slice(e)}}},s.stripCommentTag=function(t){return t.replace(A,"")},s.stripBlankChar=function(t){var s=t.split("");return(s=s.filter((function(t){var s=t.charCodeAt(0);return 127!==s&&(!(s<=31)||(10===s||13===s))}))).join("")},s.cssFilter=r,s.getDefaultCSSWhiteList=a},"./node_modules/xss/lib/index.js":function(t,s,e){var i=e("./node_modules/xss/lib/default.js"),a=e("./node_modules/xss/lib/parser.js"),n=e("./node_modules/xss/lib/xss.js");function o(t,s){return new n(s).process(t)}for(var r in(s=t.exports=o).filterXSS=o,s.FilterXSS=n,i)s[r]=i[r];for(var r in a)s[r]=a[r];"undefined"!=typeof window&&(window.filterXSS=t.exports),"undefined"!=typeof self&&"undefined"!=typeof DedicatedWorkerGlobalScope&&self instanceof DedicatedWorkerGlobalScope&&(self.filterXSS=t.exports)},"./node_modules/xss/lib/parser.js":function(t,s,e){var i=e("./node_modules/xss/lib/util.js");function a(t){var s=i.spaceIndex(t);if(-1===s)var e=t.slice(1,-1);else e=t.slice(1,s+1);return"/"===(e=i.trim(e).toLowerCase()).slice(0,1)&&(e=e.slice(1)),"/"===e.slice(-1)&&(e=e.slice(0,-1)),e}function n(t){return"</"===t.slice(0,2)}var o=/[^a-zA-Z0-9_:\.\-]/gim;function r(t,s){for(;s<t.length;s++){var e=t[s];if(" "!==e)return"="===e?s:-1}}function c(t,s){for(;s>0;s--){var e=t[s];if(" "!==e)return"="===e?s:-1}}function l(t){return function(t){return'"'===t[0]&&'"'===t[t.length-1]||"'"===t[0]&&"'"===t[t.length-1]}(t)?t.substr(1,t.length-2):t}s.parseTag=function(t,s,e){var i="",o=0,r=!1,c=!1,l=0,u=t.length,d="",_="";for(l=0;l<u;l++){var p=t.charAt(l);if(!1===r){if("<"===p){r=l;continue}}else if(!1===c){if("<"===p){i+=e(t.slice(o,l)),r=l,o=l;continue}if(">"===p){i+=e(t.slice(o,r)),d=a(_=t.slice(r,l+1)),i+=s(r,i.length,d,_,n(_)),o=l+1,r=!1;continue}if(('"'===p||"'"===p)&&"="===t.charAt(l-1)){c=p;continue}}else if(p===c){c=!1;continue}}return o<t.length&&(i+=e(t.substr(o))),i},s.parseAttr=function(t,s){var e=0,a=[],n=!1,u=t.length;function d(t,e){if(!((t=(t=i.trim(t)).replace(o,"").toLowerCase()).length<1)){var n=s(t,e||"");n&&a.push(n)}}for(var _=0;_<u;_++){var p,v=t.charAt(_);if(!1!==n||"="!==v)if(!1===n||_!==e||'"'!==v&&"'"!==v||"="!==t.charAt(_-1))if(/\s|\n|\t/.test(v)){if(t=t.replace(/\s|\n|\t/g," "),!1===n){if(-1===(p=r(t,_))){d(i.trim(t.slice(e,_))),n=!1,e=_+1;continue}_=p-1;continue}if(-1===(p=c(t,_-1))){d(n,l(i.trim(t.slice(e,_)))),n=!1,e=_+1;continue}}else;else{if(-1===(p=t.indexOf(v,_+1)))break;d(n,i.trim(t.slice(e+1,p))),n=!1,e=(_=p)+1}else n=t.slice(e,_),e=_+1}return e<t.length&&(!1===n?d(t.slice(e)):d(n,l(i.trim(t.slice(e))))),i.trim(a.join(" "))}},"./node_modules/xss/lib/util.js":function(t,s){t.exports={indexOf:function(t,s){var e,i;if(Array.prototype.indexOf)return t.indexOf(s);for(e=0,i=t.length;e<i;e++)if(t[e]===s)return e;return-1},forEach:function(t,s,e){var i,a;if(Array.prototype.forEach)return t.forEach(s,e);for(i=0,a=t.length;i<a;i++)s.call(e,t[i],i,t)},trim:function(t){return String.prototype.trim?t.trim():t.replace(/(^\s*)|(\s*$)/g,"")},spaceIndex:function(t){var s=/\s|\n|\t/.exec(t);return s?s.index:-1}}},"./node_modules/xss/lib/xss.js":function(t,s,e){var i=e("./node_modules/cssfilter/lib/index.js").FilterCSS,a=e("./node_modules/xss/lib/default.js"),n=e("./node_modules/xss/lib/parser.js"),o=n.parseTag,r=n.parseAttr,c=e("./node_modules/xss/lib/util.js");function l(t){return null==t}function u(t){(t=function(t){var s={};for(var e in t)s[e]=t[e];return s}(t||{})).stripIgnoreTag&&(t.onIgnoreTag&&console.error('Notes: cannot use these two options "stripIgnoreTag" and "onIgnoreTag" at the same time'),t.onIgnoreTag=a.onIgnoreTagStripAll),t.whiteList=t.whiteList||a.whiteList,t.onTag=t.onTag||a.onTag,t.onTagAttr=t.onTagAttr||a.onTagAttr,t.onIgnoreTag=t.onIgnoreTag||a.onIgnoreTag,t.onIgnoreTagAttr=t.onIgnoreTagAttr||a.onIgnoreTagAttr,t.safeAttrValue=t.safeAttrValue||a.safeAttrValue,t.escapeHtml=t.escapeHtml||a.escapeHtml,this.options=t,!1===t.css?this.cssFilter=!1:(t.css=t.css||{},this.cssFilter=new i(t.css))}u.prototype.process=function(t){if(!(t=(t=t||"").toString()))return"";var s=this.options,e=s.whiteList,i=s.onTag,n=s.onIgnoreTag,u=s.onTagAttr,d=s.onIgnoreTagAttr,_=s.safeAttrValue,p=s.escapeHtml,v=this.cssFilter;s.stripBlankChar&&(t=a.stripBlankChar(t)),s.allowCommentTag||(t=a.stripCommentTag(t));var h=!1;if(s.stripIgnoreTagBody){h=a.StripTagBody(s.stripIgnoreTagBody,n);n=h.onIgnoreTag}var f=o(t,(function(t,s,a,o,h){var f,m={sourcePosition:t,position:s,isClosing:h,isWhite:e.hasOwnProperty(a)};if(!l(f=i(a,o,m)))return f;if(m.isWhite){if(m.isClosing)return"</"+a+">";var g=function(t){var s=c.spaceIndex(t);if(-1===s)return{html:"",closing:"/"===t[t.length-2]};var e="/"===(t=c.trim(t.slice(s+1,-1)))[t.length-1];return e&&(t=c.trim(t.slice(0,-1))),{html:t,closing:e}}(o),b=e[a],y=r(g.html,(function(t,s){var e,i=-1!==c.indexOf(b,t);return l(e=u(a,t,s,i))?i?(s=_(a,t,s,v))?t+'="'+s+'"':t:l(e=d(a,t,s,i))?void 0:e:e}));o="<"+a;return y&&(o+=" "+y),g.closing&&(o+=" /"),o+=">"}return l(f=n(a,o,m))?p(o):f}),p);return h&&(f=h.remove(f)),f},t.exports=u},"./src/component/doc-link.vue":function(t,s,e){"use strict";var i={mixins:[e("./src/helper/base_hepler.js").a],name:"doc-link",props:["link"],data:function(){return{whitelabel:defender.whitelabel}}},a=e("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),n=Object(a.a)(i,(function(){var t=this.$createElement,s=this._self._c||t;return!1===this.whitelabel.hide_doc_link?s("div",{staticClass:"sui-actions-right"},[s("a",{staticClass:"sui-button sui-button-ghost",attrs:{href:this.link,target:"_blank"}},[s("i",{staticClass:"sui-icon-academy"}),this._v(" "+this._s(this.__("View Documentation"))+"\n ")])]):this._e()}),[],!1,null,null,null);s.a=n.exports},"./src/component/footer.vue":function(t,s,e){"use strict";var i={data:function(){return{whitelabel:defender.whitelabel,is_free:defender.is_free}}},a=e("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),n=Object(a.a)(i,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",[!0===t.whitelabel.change_footer?e("div",{staticClass:"sui-footer"},[t._v("\n "+t._s(t.whitelabel.footer_text)+"\n ")]):e("div",{staticClass:"sui-footer"},[t._v("Made with "),e("i",{staticClass:"sui-icon-heart"}),t._v(" by WPMU DEV")]),t._v(" "),!1===t.whitelabel.hide_doc_link?e("div",[t.is_free?e("ul",{staticClass:"sui-footer-nav"},[t._m(0),t._v(" "),t._m(1),t._v(" "),t._m(2),t._v(" "),t._m(3),t._v(" "),t._m(4),t._v(" "),t._m(5),t._v(" "),t._m(6),t._v(" "),t._m(7)]):e("ul",{staticClass:"sui-footer-nav"},[t._m(8),t._v(" "),t._m(9),t._v(" "),t._m(10),t._v(" "),t._m(11),t._v(" "),t._m(12),t._v(" "),t._m(13),t._v(" "),t._m(14),t._v(" "),t._m(15)]),t._v(" "),t._m(16)]):t._e()])}),[function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://profiles.wordpress.org/wpmudev#content-plugins",target:"_blank"}},[this._v("Free\n Plugins")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://premium.wpmudev.org/features/",target:"_blank"}},[this._v("Membership")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://premium.wpmudev.org/roadmap/",target:"_blank"}},[this._v("Roadmap")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://wordpress.org/support/plugin/plugin-name",target:"_blank"}},[this._v("Support")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://premium.wpmudev.org/docs/",target:"_blank"}},[this._v("Docs")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://premium.wpmudev.org/hub/",target:"_blank"}},[this._v("The Hub")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://premium.wpmudev.org/terms-of-service/",target:"_blank"}},[this._v("Terms of Service")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://incsub.com/privacy-policy/",target:"_blank"}},[this._v("Privacy Policy")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://premium.wpmudev.org/hub/",target:"_blank"}},[this._v("The Hub")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://premium.wpmudev.org/projects/category/plugins/",target:"_blank"}},[this._v("Plugins")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://premium.wpmudev.org/roadmap/",target:"_blank"}},[this._v("Roadmap")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://premium.wpmudev.org/hub/support/",target:"_blank"}},[this._v("Support")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://premium.wpmudev.org/docs/",target:"_blank"}},[this._v("Docs")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://premium.wpmudev.org/hub/community/",target:"_blank"}},[this._v("Community")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://premium.wpmudev.org/terms-of-service/",target:"_blank"}},[this._v("Terms of Service")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"https://incsub.com/privacy-policy/",target:"_blank"}},[this._v("Privacy Policy")])])},function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("ul",{staticClass:"sui-footer-social"},[e("li",[e("a",{attrs:{href:"https://www.facebook.com/wpmudev",target:"_blank"}},[e("i",{staticClass:"sui-icon-social-facebook",attrs:{"aria-hidden":"true"}}),t._v(" "),e("span",{staticClass:"sui-screen-reader-text"},[t._v("Facebook")])])]),t._v(" "),e("li",[e("a",{attrs:{href:"https://twitter.com/wpmudev",target:"_blank"}},[e("i",{staticClass:"sui-icon-social-twitter",attrs:{"aria-hidden":"true"}})]),t._v(" "),e("span",{staticClass:"sui-screen-reader-text"},[t._v("Twitter")])]),t._v(" "),e("li",[e("a",{attrs:{href:"https://www.instagram.com/wpmu_dev/",target:"_blank"}},[e("i",{staticClass:"sui-icon-instagram",attrs:{"aria-hidden":"true"}}),t._v(" "),e("span",{staticClass:"sui-screen-reader-text"},[t._v("Instagram")])])])])}],!1,null,null,null);s.a=n.exports},"./src/component/overlay.vue":function(t,s,e){"use strict";var i={name:"overlay"},a=e("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),n=Object(a.a)(i,(function(){var t=this.$createElement;this._self._c;return this._m(0)}),[function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"wd-overlay"},[s("i",{staticClass:"sui-icon-loader sui-loading",attrs:{"aria-hidden":"true"}})])}],!1,null,null,null);s.a=n.exports},"./src/component/submit-button.vue":function(t,s,e){"use strict";var i={name:"submit-button",props:["id","state","text","css-class","type"],computed:{getClass:function(){return"sui-button "+this.cssClass}}},a=e("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),n=Object(a.a)(i,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("button",{staticClass:"sui-button",class:[t.getClass,{"sui-button-onload":t.state.on_saving}],attrs:{id:t.id,type:t.type,disabled:t.state.on_saving},on:{click:function(s){return t.$emit("click")}}},[e("span",{staticClass:"sui-loading-text"},[t._t("default")],2),t._v(" "),e("i",{staticClass:"sui-icon-loader sui-loading",attrs:{"aria-hidden":"true"}})])}),[],!1,null,null,null);s.a=n.exports},"./src/component/summary-box.vue":function(t,s,e){"use strict";var i={mixins:[e("./src/helper/base_hepler.js").a],props:["css-class"],name:"summary-box",data:function(){return{whitelabel:defender.whitelabel}},computed:{summary_class:function(){return{"sui-unbranded":!0===this.whitelabel.hide_branding&&0===this.whitelabel.hero_image.length,"sui-rebranded":!0===this.whitelabel.hide_branding&&this.whitelabel.hero_image.length>0}},css_class:function(){return this.cssClass},rebrand_img:function(){if(this.whitelabel.hero_image.length>0)return{"background-image":"url('"+this.whitelabel.hero_image+"')"}}}},a=e("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),n=Object(a.a)(i,(function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"sui-box sui-summary",class:[this.summary_class,this.css_class],style:this.rebrand_img},[s("div",{staticClass:"sui-summary-image-space",attrs:{"aria-hidden":"true"}}),this._v(" "),this._t("default")],2)}),[],!1,null,null,null);s.a=n.exports},"./src/dashboard.js":function(t,s,e){"use strict";e.r(s);var i=e("vue"),a=e.n(i),n=e("./src/helper/base_hepler.js"),o={mixins:[n.a],name:"security-tweaks",data:function(){return{rules:dashboard.security_tweaks.rules,count:dashboard.security_tweaks.count.issues}},methods:{handleRedirect:function(t){window.location.href=this.adminUrl("admin.php?page=wdf-hardener#"+t.slug)}}},r=e("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),c=Object(r.a)(o,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-box hardener-widget"},[e("div",{staticClass:"sui-box-header"},[e("h3",{staticClass:"sui-box-title"},[e("i",{staticClass:"sui-icon-wrench-tool",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("Security Tweaks"))+"\n ")]),t._v(" "),t.count>0?e("div",{staticClass:"sui-actions-left"},[e("div",{staticClass:"sui-tag sui-tag-warning",domProps:{textContent:t._s(t.count)}})]):t._e()]),t._v(" "),e("div",{staticClass:"sui-box-body"},[e("p",[t._v("\n "+t._s(t.__("Defender checks for basic security tweaks you can make to enhance your website’s defense against hackers and bots."))+"\n ")]),t._v(" "),0===t.count?e("div",{staticClass:"sui-notice sui-notice-success"},[e("p",[t._v("\n "+t._s(t.__("You’ve actioned all of the recommended security tweaks."))+"\n ")])]):t._e()]),t._v(" "),t.count>0?e("div",{staticClass:"sui-accordion sui-accordion-flushed no-border-bottom"},t._l(t.rules,(function(s){return e("div",{staticClass:"sui-accordion-item sui-warning",on:{click:function(e){return t.handleRedirect(s)}}},[e("div",{staticClass:"sui-accordion-item-header"},[e("div",{staticClass:"sui-accordion-item-title"},[e("i",{staticClass:"sui-icon-warning-alert sui-warning",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(s.title)+"\n "),t._m(0,!0)])])])})),0):t._e(),t._v(" "),e("div",{staticClass:"sui-box-footer"},[e("div",{staticClass:"sui-actions-left"},[e("a",{staticClass:"sui-button sui-button-ghost",attrs:{href:t.adminUrl("admin.php?page=wdf-hardener")}},[e("i",{staticClass:"sui-icon-eye",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("View All"))+"\n ")])])])])}),[function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"sui-actions-right"},[s("i",{staticClass:"sui-icon-chevron-right",attrs:{"aria-hidden":"true"}})])}],!1,null,null,null).exports,l={mixins:[n.a],name:"file-scanning",data:function(){return{scan:dashboard.scan.scan,state:{on_saving:!1,canceling:!1},nonces:dashboard.scan.nonces,endpoints:dashboard.scan.endpoints,polling_state:null,report:dashboard.scan.report}},methods:{newScan:function(){var t=this;this.httpPostRequest("newScan",{},(function(s){t.$nextTick((function(){t.scan={},t.scan.status=s.data.status,t.scan.percent=s.data.percent,t.scan.status_text=s.data.status_text,t.polling()}))}))},cancelScan:function(){if(!0!==this.state.canceling){this.abortAllRequests();var t=this;clearTimeout(this.polling_state),this.state.canceling=!0,this.httpPostRequest("cancelScan",{},(function(s){t.$nextTick((function(){t.scan=s.data.scan,t.state.canceling=!1,t.$emit("scanCanceled",t.scan)}))}))}},refreshStatus:function(){var t=this;this.httpPostRequest("processScan",{},(function(s){!1===s.success?(t.scan=s.data,t.polling()):(t.scan=s.data.scan,t.$emit("scanCompleted",t.scan,s.data.scan.count.total))}))},polling:function(){!1===this.state.canceling&&(this.polling_state=setTimeout(this.refreshStatus(),500))},resultIndicator:function(t){return t>0?'<span class="sui-tag sui-tag-error">'+t+"</span>":'<i aria-hidden="true" class="sui-icon-check-tick sui-success"></i>'}},computed:{statusText:function(){return this.scan.status_text},reportText:function(){if(!1!==this.report.enabled){var t=void 0;switch(parseInt(this.report.frequency)){case 1:t="daily";break;case 7:t="weekly";break;case 30:t="monthly"}return this.vsprintf(this.__("Automatic scans are running %s"),t)}},percent:function(){return this.scan.percent}},mounted:function(){null===this.scan||"process"!==this.scan.status&&"init"!==this.scan.status||this.polling()}},u=Object(r.a)(l,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-box"},[e("div",{staticClass:"sui-box-header"},[e("h3",{staticClass:"sui-box-title"},[e("i",{staticClass:"sui-icon-layers",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("File Scanning"))+"\n ")]),t._v(" "),null!==t.scan&&"finish"===t.scan.status?e("div",{staticClass:"sui-actions-left"},[null!==t.scan&&t.scan.count.total>0?e("span",{staticClass:"sui-tag sui-tag-error"},[t._v(t._s(t.scan.count.total))]):t._e()]):t._e()]),t._v(" "),e("div",{staticClass:"sui-box-body",class:{"no-padding-bottom":null!==t.scan&&"finish"===t.scan.status}},[e("p",[t._v("\n "+t._s(t.__("Scan your website for file changes, vulnerabilities and injected code and get notified about anything suspicious."))+"\n ")]),t._v(" "),null===t.scan?e("div",[e("submit-button",{attrs:{type:"button","css-class":"sui-button-blue",state:t.state},on:{click:t.newScan}},[t._v("\n "+t._s(t.__("Run scan"))+"\n ")])],1):"process"===t.scan.status||"init"===t.scan.status?e("div",[e("div",{staticClass:"sui-progress-block"},[e("div",{staticClass:"sui-progress"},[t._m(0),t._v(" "),e("span",{staticClass:"sui-progress-text"},[e("span",{domProps:{textContent:t._s(t.percent+"%")}})]),t._v(" "),e("div",{staticClass:"sui-progress-bar",attrs:{"aria-hidden":"true"}},[e("span",{style:{width:t.percent+"%"}})])]),t._v(" "),e("button",{staticClass:"sui-button-icon sui-tooltip",attrs:{type:"button",disabled:t.state.canceling,"data-tooltip":"Cancel"},on:{click:t.cancelScan}},[e("i",{staticClass:"sui-icon-close",attrs:{"aria-hidden":"true"}})])]),t._v(" "),e("div",{staticClass:"sui-progress-state"},[e("span",{domProps:{textContent:t._s(t.statusText)}})])]):e("div",{staticClass:"sui-field-list sui-flushed no-border"},[e("div",{staticClass:"sui-field-list-body"},[e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("strong",[t._v("\n "+t._s(t.__("WordPress Core"))+"\n ")])]),t._v(" "),e("span",{domProps:{innerHTML:t._s(t.resultIndicator(t.scan.count.core))}})]),t._v(" "),e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("strong",[t._v("\n "+t._s(t.__("Plugins & Themes"))+"\n ")])]),t._v(" "),e("span",{domProps:{innerHTML:t._s(t.resultIndicator(t.scan.count.vuln))}})]),t._v(" "),e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("strong",[t._v(t._s(t.__("Suspicious Code")))])]),t._v(" "),e("span",{domProps:{innerHTML:t._s(t.resultIndicator(t.scan.count.content))}})])])])]),t._v(" "),null!==t.scan&&"finish"===t.scan.status?e("div",{staticClass:"sui-box-footer"},[e("div",{staticClass:"sui-actions-left"},[e("a",{staticClass:"sui-button sui-button-ghost",attrs:{href:t.adminUrl("admin.php?page=wdf-scan")}},[e("i",{staticClass:"sui-icon-eye",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("View Report"))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-actions-right"},[e("p",{staticClass:"sui-p-small",domProps:{textContent:t._s(t.reportText)}})])]):t._e()])}),[function(){var t=this.$createElement,s=this._self._c||t;return s("span",{staticClass:"sui-progress-icon",attrs:{"aria-hidden":"true"}},[s("i",{staticClass:"sui-icon-loader sui-loading"})])}],!1,null,null,null).exports,d={mixins:[n.a],name:"file-scanning",data:function(){return{scan:dashboard.scan.scan,state:{on_saving:!1,canceling:!1},nonces:dashboard.scan.nonces,endpoints:dashboard.scan.endpoints,polling_state:null,report:dashboard.scan.report}},methods:{newScan:function(){var t=this;this.httpPostRequest("newScan",{},(function(s){t.$nextTick((function(){t.scan={},t.scan.status=s.data.status,t.scan.percent=s.data.percent,t.scan.status_text=s.data.status_text,t.polling()}))}))},cancelScan:function(){if(!0!==this.state.canceling){this.abortAllRequests();var t=this;clearTimeout(this.polling_state),this.state.canceling=!0,this.httpPostRequest("cancelScan",{},(function(s){t.$nextTick((function(){t.scan=s.data.scan,t.state.canceling=!1}))}))}},refreshStatus:function(){var t=this;this.httpPostRequest("processScan",{},(function(s){!1===s.success?(t.scan=s.data,t.polling()):t.scan=s.data.scan}))},polling:function(){!1===this.state.canceling&&(this.polling_state=setTimeout(this.refreshStatus(),500))},resultIndicator:function(t){return t>0?'<span class="sui-tag sui-tag-error">'+t+"</span>":'<i aria-hidden="true" class="sui-icon-check-tick sui-success"></i>'}},computed:{statusText:function(){return this.scan.status_text},percent:function(){return this.scan.percent}},mounted:function(){null===this.scan||"process"!==this.scan.status&&"init"!==this.scan.status||this.polling()}},_=Object(r.a)(d,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-box"},[e("div",{staticClass:"sui-box-header"},[e("h3",{staticClass:"sui-box-title"},[e("i",{staticClass:"sui-icon-layers",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("File Scanning"))+"\n ")]),t._v(" "),null!==t.scan&&"finish"===t.scan.status?e("div",{staticClass:"sui-actions-left"},[t.scan.count.total>0?e("span",{staticClass:"sui-tag sui-tag-error"},[t._v(t._s(t.scan.count.total))]):t._e()]):t._e()]),t._v(" "),e("div",{staticClass:"sui-box-body",class:{"no-padding-bottom":null!==t.scan&&"finish"===t.scan.status}},[e("p",[t._v("\n "+t._s(t.__("Scan your website for file changes, vulnerabilities and injected code and get and get notified about anything suspicious."))+"\n ")]),t._v(" "),null===t.scan?e("div",[e("submit-button",{attrs:{type:"button","css-class":"sui-button-blue",state:t.state},on:{click:t.newScan}},[t._v("\n "+t._s(t.__("Run scan"))+"\n ")])],1):"process"===t.scan.status||"init"===t.scan.status?e("div",[e("div",{staticClass:"sui-progress-block"},[e("div",{staticClass:"sui-progress"},[t._m(0),t._v(" "),e("span",{staticClass:"sui-progress-text"},[e("span",{domProps:{textContent:t._s(t.percent+"%")}})]),t._v(" "),e("div",{staticClass:"sui-progress-bar",attrs:{"aria-hidden":"true"}},[e("span",{style:{width:t.percent+"%"}})])]),t._v(" "),e("button",{staticClass:"sui-button-icon sui-tooltip",attrs:{type:"button",disabled:t.state.canceling,"data-tooltip":"Cancel"},on:{click:t.cancelScan}},[e("i",{staticClass:"sui-icon-close",attrs:{"aria-hidden":"true"}})])]),t._v(" "),e("div",{staticClass:"sui-progress-state"},[e("span",{domProps:{textContent:t._s(t.statusText)}})])]):e("div",{staticClass:"sui-field-list sui-flushed no-border"},[e("div",{staticClass:"sui-field-list-body"},[e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("strong",[t._v("\n "+t._s(t.__("WordPress Core"))+"\n ")])]),t._v(" "),e("span",{domProps:{innerHTML:t._s(t.resultIndicator(t.scan.count.core))}})]),t._v(" "),e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("strong",[t._v("\n "+t._s(t.__("Plugins & Themes"))+"\n ")])]),t._v(" "),e("a",{staticClass:"sui-button sui-button-purple sui-tooltip",attrs:{href:t.campaign_url("defender_dash_filescan_pro_tag"),target:"_blank","data-tooltip":"Try Defender Pro free today"}},[t._v("\n "+t._s(t.__("Pro Feature"))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("strong",[t._v(t._s(t.__("Suspicious Code")))])]),t._v(" "),e("a",{staticClass:"sui-button sui-button-purple sui-tooltip",attrs:{href:t.campaign_url("defender_dash_filescan_pro_tag"),target:"_blank","data-tooltip":"Try Defender Pro free today"}},[t._v("\n "+t._s(t.__("Pro Feature"))+"\n ")])])])])]),t._v(" "),null!==t.scan&&"finish"===t.scan.status?e("div",{staticClass:"sui-box-footer"},[e("div",{staticClass:"sui-actions-left"},[e("a",{staticClass:"sui-button sui-button-ghost",attrs:{href:t.adminUrl("admin.php?page=wdf-scan")}},[e("i",{staticClass:"sui-icon-eye",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("View Report"))+"\n ")])])]):t._e()])}),[function(){var t=this.$createElement,s=this._self._c||t;return s("span",{staticClass:"sui-progress-icon",attrs:{"aria-hidden":"true"}},[s("i",{staticClass:"sui-icon-loader sui-loading"})])}],!1,null,null,null).exports,p={mixins:[n.a],name:"blacklist",data:function(){return{state:{on_saving:!1},status:"fetching",nonces:dashboard.blacklist.nonces,endpoints:dashboard.blacklist.endpoints}},methods:{toggle:function(){var t=this;this.httpGetRequest("toggleBlacklistWidget",{},(function(s){switch(parseInt(s.data.status)){case-1:t.status="new";break;case 0:t.status="blacklisted";break;case 1:t.status="good"}}))}},mounted:function(){var t=this;this.httpGetRequest("blacklistWidgetStatus",{},(function(s){switch(parseInt(s.data.status)){case-1:t.status="new";break;case 0:t.status="blacklisted";break;case 1:t.status="good"}}))}},v=Object(r.a)(p,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-box"},[e("div",{staticClass:"sui-box-header"},[e("h3",{staticClass:"sui-box-title"},[e("i",{staticClass:"sui-icon-target",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("Blacklist Monitor"))+"\n ")]),t._v(" "),"blacklisted"===t.status||"good"===t.status?e("div",{staticClass:"sui-actions-right"},[e("label",{staticClass:"sui-toggle"},[e("input",{staticClass:"toggle-checkbox",attrs:{type:"checkbox",checked:"checked"},on:{click:t.toggle}}),t._v(" "),e("span",{staticClass:"sui-toggle-slider"})])]):t._e()]),t._v(" "),e("div",{staticClass:"sui-box-body"},[e("div",[t._v("\n "+t._s(t.__("Automatically check if you’re on Google’s blacklist every 6 hours. If something’swrong, we’ll let you know via email."))+"\n ")]),t._v(" "),"fetching"===t.status?e("div",{staticClass:"sui-notice sui-notice-info"},[e("p",[t._v("\n "+t._s(t.__("Fetching your domain info..."))+"\n ")])]):"new"===t.status?e("form",{staticClass:"margin-top-30",attrs:{method:"post"}},[e("submit-button",{attrs:{type:"button","css-class":"sui-button-blue",state:t.state},on:{click:function(s){return t.toggle(!0)}}},[t._v("\n "+t._s(t.__("Activate"))+"\n ")])],1):"blacklisted"===t.status?e("div",{staticClass:"sui-notice sui-notice-error"},[e("p",[t._v("\n "+t._s(t.__("Your domain is currently on Google’s blacklist. Check out the article below to find out how to fix up your domain."))+"\n ")])]):"good"===t.status?e("div",{staticClass:"sui-notice sui-notice-success"},[e("p",[t._v("\n "+t._s(t.__("Your domain is currently clean."))+"\n ")])]):t._e(),t._v(" "),"new"!==t.status?e("div",{staticClass:"sui-center-box no-padding-bottom"},[e("p",{staticClass:"sui-p-small"},[t._v("\n "+t._s(t.__("Want to know more about blacklisting?"))+" "),e("a",{attrs:{href:"https://premium.wpmudev.org/blog/get-off-googles-blacklist/"}},[t._v(t._s(t.__("Read this article.")))])])]):t._e()]),t._v(" "),e("overlay",{directives:[{name:"show",rawName:"v-show",value:!0===t.state.on_saving,expression:"state.on_saving===true"}]})],1)}),[],!1,null,null,null).exports,h={mixins:[n.a],name:"blacklist-free"},f=Object(r.a)(h,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-box"},[e("div",{staticClass:"sui-box-header"},[e("h3",{staticClass:"sui-box-title"},[e("i",{staticClass:"sui-icon-target",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("Blacklist Monitor"))+"\n ")]),t._v(" "),e("div",{staticClass:"sui-actions-left"},[e("span",{staticClass:"sui-tag sui-tag-pro"},[t._v(t._s(t.__("Pro")))])])]),t._v(" "),e("div",{staticClass:"sui-box-body sui-upsell-items"},[e("div",{staticClass:"sui-box-settings-row no-margin-bottom no-padding-bottom"},[e("p",[t._v("\n "+t._s(t.__("Automatically check if you’re on Google’s blacklist every 6 hours. If something’s wrong, we’ll let you know via email."))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-box-settings-row sui-upsell-row"},[e("img",{staticClass:"sui-image sui-upsell-image",attrs:{src:t.assetUrl("assets/img/dashboard-blacklist.svg")}}),t._v(" "),e("div",{staticClass:"sui-upsell-notice"},[e("p",[t._v("\n "+t._s(t.__("Defender will warn you if your site has been flagged as unsafe. Get blacklist Monitor as part of a WPMU DEV membership."))),e("br"),t._v(" "),e("a",{staticClass:"premium-button sui-button sui-button-purple",attrs:{target:"_blank",href:t.campaign_url("defender_dash_blacklist_upgrade_button")}},[t._v(t._s(t.__("Try Pro Free Today")))]),t._v(".\n ")])])])])])}),[],!1,null,null,null).exports,m={mixins:[n.a],name:"ip-lockout",data:function(){return{state:{on_saving:!1},nonces:dashboard.ip_lockout.nonces,endpoints:dashboard.ip_lockout.endpoints,summary:dashboard.ip_lockout.summary,notification:dashboard.ip_lockout.notification,enabled:dashboard.ip_lockout.enabled}},methods:{updateSettings:function(){var t=this;this.httpPostRequest("updateSettings",{data:JSON.stringify({login_protection:!0,detect_404:!0})},(function(){t.enabled=!0}))}},computed:{notificationText:function(){return this.notification?this.__("Lockout notifications are enabled"):this.__("Lockout notifications are disabled")}}},g=Object(r.a)(m,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-box",attrs:{id:"ip-lockout"}},[e("div",{staticClass:"sui-box-header"},[e("h3",{staticClass:"sui-box-title"},[e("i",{staticClass:"sui-icon-lock",attrs:{"aria-hidden":"true"}}),t._v("\n\t\t\t"+t._s(t.__("IP Lockouts"))+"\n\t\t")])]),t._v(" "),e("div",{staticClass:"sui-box-body",class:{"no-padding-bottom":!0===t.enabled}},[e("p",[t._v("\n\t\t\t"+t._s(t.__("Protect to your login area and have Defender automatically lockout any suspicious behaviour."))+"\n\t\t")]),t._v(" "),!1===t.enabled?e("form",{attrs:{method:"post"},on:{submit:function(s){return s.preventDefault(),t.updateSettings(s)}}},[e("submit-button",{attrs:{type:"submit","css-class":"sui-button-blue activate",state:t.state}},[t._v("\n\t\t\t\t"+t._s(t.__("Activate"))+"\n\t\t\t")])],1):e("div",{staticClass:"sui-field-list sui-flushed no-border"},[e("div",{staticClass:"sui-field-list-body"},[e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("strong",[t._v(t._s(t.__("Last lockout")))])]),t._v(" "),e("span",{domProps:{textContent:t._s(t.summary.lastLockout)}})]),t._v(" "),e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("strong",[t._v(t._s(t.__("Login lockouts this week")))])]),t._v(" "),e("span",{domProps:{textContent:t._s(t.summary.ip.week)}})]),t._v(" "),e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("strong",[t._v(t._s(t.__("404 lockouts this week")))])]),t._v(" "),e("span",{domProps:{textContent:t._s(t.summary.nf.week)}})])])])]),t._v(" "),!0===t.enabled?e("div",{staticClass:"sui-box-footer"},[e("div",{staticClass:"sui-actions-left"},[e("a",{staticClass:"sui-button sui-button-ghost",attrs:{href:t.adminUrl("admin.php?page=wdf-ip-lockout&view=logs")}},[e("i",{staticClass:"sui-icon-eye",attrs:{"aria-hidden":"true"}}),t._v("\n\t\t\t\t"+t._s(t.__("View logs"))+"\n\t\t\t")])]),t._v(" "),e("div",{staticClass:"sui-actions-right"},[e("p",{staticClass:"sui-p-small",domProps:{textContent:t._s(t.notificationText)}})])]):t._e()])}),[],!1,null,null,null).exports,b={mixins:[n.a],name:"audit",data:function(){return{state:{on_saving:!1},nonces:dashboard.audit.nonces,endpoints:dashboard.audit.endpoints,enabled:dashboard.audit.enabled,report:dashboard.audit.report,summary:{monthCount:"-",dayCount:"-",weekCount:"n/a",lastEvent:"-"}}},methods:{updateSettings:function(){var t=this;this.httpPostRequest("updateSettings",{data:JSON.stringify({enabled:!0})},(function(){t.enabled=!0,t.$nextTick((function(){t.loadData()}))}))},loadData:function(){var t=this;this.httpGetRequest("summary",{},(function(s){t.summary=s.data}))}},computed:{reportText:function(){return this.report?this.__("Audit log reports are enabled"):this.__("Audit log reports are disabled")}},mounted:function(){!0===this.enabled&&this.loadData()}},y=Object(r.a)(b,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-box",attrs:{id:"audit-logging"}},[e("div",{staticClass:"sui-box-header"},[e("h3",{staticClass:"sui-box-title"},[e("i",{staticClass:"sui-icon-eye",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("Audit Logging"))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-box-body",class:{"no-padding-bottom":t.enabled}},[e("p",[t._v("\n "+t._s(t.__("Track and log events when changes are made to your website, giving you full visibility over what's going on behind the scenes."))+"\n ")]),t._v(" "),!1===t.enabled?e("form",{attrs:{method:"post"},on:{submit:function(s){return s.preventDefault(),t.updateSettings(s)}}},[e("submit-button",{attrs:{type:"submit","css-class":"sui-button-blue activate",state:t.state}},[t._v("\n "+t._s(t.__("Activate"))+"\n ")])],1):e("div",[e("div",{staticClass:"sui-notice"},[e("p",[t._v("\n "+t._s(t.summary.weekCount)+" "+t._s(t.__(" events logged in the past 7 days."))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-field-list sui-flushed no-border"},[e("div",{staticClass:"sui-field-list-body"},[e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("strong",[t._v(t._s(t.__("Last event logged")))])]),t._v(" "),e("span",[t._v("\n "+t._s(t.summary.lastEvent)+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("strong",[t._v(t._s(t.__("Events logged this month")))])]),t._v(" "),e("span",[t._v(t._s(t.summary.monthCount))])])])])])]),t._v(" "),!0===t.enabled?e("div",{staticClass:"sui-box-footer"},[e("div",{staticClass:"sui-actions-left"},[e("a",{staticClass:"sui-button sui-button-ghost",attrs:{href:t.adminUrl("admin.php?page=wdf-logging")}},[e("i",{staticClass:"sui-icon-eye",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("View Logs"))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-actions-right"},[e("p",{staticClass:"sui-p-small",domProps:{textContent:t._s(t.reportText)}})])]):t._e(),t._v(" "),t.state.on_saving?e("overlay"):t._e()],1)}),[],!1,null,null,null).exports,C={mixins:[n.a],name:"audit-free"},k=Object(r.a)(C,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-box"},[e("div",{staticClass:"sui-box-header"},[e("h3",{staticClass:"sui-box-title"},[e("i",{staticClass:"sui-icon-eye",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("Audit Logging"))+"\n ")]),t._v(" "),e("div",{staticClass:"sui-actions-left"},[e("span",{staticClass:"sui-tag sui-tag-pro"},[t._v(t._s(t.__("Pro")))])])]),t._v(" "),e("div",{staticClass:"sui-box-body sui-upsell-items"},[e("div",{staticClass:"sui-box-settings-row no-margin-bottom no-padding-bottom"},[e("p",[t._v("\n "+t._s(t.__("Track and log events when changes are made to your website giving you full visibility of what's going on behind the scenes."))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-box-settings-row sui-upsell-row"},[e("img",{staticClass:"sui-image sui-upsell-image",attrs:{src:t.assetUrl("assets/img/audit-presale.svg")}}),t._v(" "),e("div",{staticClass:"sui-upsell-notice"},[e("p",[t._v("\n "+t._s(t.__("Get an automatic report about the changes made on your website with Audit Logging. Get Audit Logging as part of a WPMU DEV membership."))),e("br"),t._v(" "),e("a",{staticClass:"premium-button sui-button sui-button-purple",attrs:{target:"_blank",href:t.campaign_url("defender_dash_auditlogging_upsell_link")}},[t._v(t._s(t.__("Try Pro Free Today")))])])])])])])}),[],!1,null,null,null).exports,w={mixins:[n.a],name:"report",data:function(){return{scan:dashboard.report.scan,ip_lockout:dashboard.report.ip_lockout,audit:dashboard.report.audit}},methods:{statusText:function(t){if(-1===t)return'<span class="sui-tag sui-tag-disabled">'+this.__("Inactive")+"</span>";var s=void 0;switch(parseInt(t)){case 1:s=this.__("Daily");break;case 7:s=this.__("Weekly");break;case 30:s=this.__("Monthly")}return'<span class="sui-tag sui-tag-blue">'+s+"</span>"}}},x=Object(r.a)(w,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-box"},[e("div",{staticClass:"sui-box-header"},[e("h3",{staticClass:"sui-box-title"},[e("i",{staticClass:"sui-icon-graph-line",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("Reporting"))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-box-body no-padding-bottom"},[e("p",[t._v(t._s(t.__("Get tailored security reports delivered to your inbox so you don't have to worry about checking in.")))]),t._v(" "),e("div",{staticClass:"sui-field-list sui-flushed no-border"},[e("div",{staticClass:"sui-field-list-body"},[e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("small",[e("strong",[t._v(t._s(t.__("File Scanning")))])])]),t._v(" "),e("span",{domProps:{innerHTML:t._s(t.statusText(t.scan))}})]),t._v(" "),e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("small",[e("strong",[t._v(t._s(t.__("IP Lockouts")))])])]),t._v(" "),e("span",{domProps:{innerHTML:t._s(t.statusText(t.ip_lockout))}})]),t._v(" "),e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("small",[e("strong",[t._v(t._s(t.__("Audit Logging")))])])]),t._v(" "),e("span",{domProps:{innerHTML:t._s(t.statusText(t.audit))}})])])])]),t._v(" "),e("div",{staticClass:"sui-box-footer"},[e("p",{staticClass:"sui-p-small text-center"},[t._v("\n "+t._s(t.__("You can also"))+" "),e("a",{attrs:{target:"_blank",href:"https://premium.wpmudev.org/reports/"}},[t._v(t._s(t.__("create PDF reports")))]),t._v(" "+t._s(t.__("to send to your clients via The Hub."))+"\n ")])])])}),[],!1,null,null,null).exports,S={mixins:[n.a],name:"report",data:function(){return{scan:dashboard.report.scan,ip_lockout:dashboard.report.ip_lockout,audit:dashboard.report.audit}},methods:{statusText:function(t){if(-1===t)return'<span class="sui-tag sui-tag-disabled">'+this.__("Inactive")+"</span>";var s=void 0;switch(parseInt(t)){case 1:s=this.__("Daily");break;case 7:s=this.__("Weekly");break;case 30:s=this.__("Monthly")}return'<span class="sui-tag sui-tag-blue">'+s+"</span>"}}},A=Object(r.a)(S,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-box"},[e("div",{staticClass:"sui-box-header"},[e("h3",{staticClass:"sui-box-title"},[e("i",{staticClass:"sui-icon-graph-line",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("Reporting"))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-box-body sui-upsell-items"},[e("div",{staticClass:"sui-box-settings-row no-padding-bottom"},[e("p",[t._v(t._s(t.__("Get tailored security reports delivered to your inbox so you don't have to worry about checking in.")))])]),t._v(" "),e("div",{staticClass:"sui-field-list no-border"},[e("div",{staticClass:"sui-field-list-body"},[e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("small",[e("strong",[t._v(t._s(t.__("File Scanning")))])])]),t._v(" "),e("span",{staticClass:"sui-tag sui-tag-disabled"},[t._v(t._s(t.__("Inactive")))])]),t._v(" "),e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("small",[e("strong",[t._v(t._s(t.__("IP Lockouts")))])])]),t._v(" "),e("span",{staticClass:"sui-tag sui-tag-disabled"},[t._v(t._s(t.__("Inactive")))])]),t._v(" "),e("div",{staticClass:"sui-field-list-item"},[e("label",{staticClass:"sui-field-list-item-label"},[e("small",[e("strong",[t._v(t._s(t.__("Audit Logging")))])])]),t._v(" "),e("span",{staticClass:"sui-tag sui-tag-disabled"},[t._v(t._s(t.__("Inactive")))])])])]),t._v(" "),e("div",{staticClass:"sui-box-settings-row sui-upsell-row"},[e("img",{staticClass:"sui-image sui-upsell-image",attrs:{src:t.assetUrl("/assets/img/dev-man-pre.svg")}}),t._v(" "),e("div",{staticClass:"sui-upsell-notice"},[e("p",[t._v("\n "+t._s(t.__("Schedule automatic reports and recieve directly to your inbox. Get reporting as part of a WPMU DEV membership."))),e("br"),t._v(" "),e("a",{staticClass:"premium-button sui-button sui-button-purple",attrs:{target:"_blank",href:t.campaign_url("defender_dash_reports_upsell_link")}},[t._v(t._s(t.__("Try Pro Free Today")))])])])])])])}),[],!1,null,null,null).exports,j={mixins:[n.a],name:"advanced-tools",data:function(){return{state:{on_saving:!1},nonces:dashboard.advanced_tools.nonces,endpoints:dashboard.advanced_tools.endpoints,two_factor:dashboard.advanced_tools.two_factors,mask_login:dashboard.advanced_tools.mask_login}},methods:{updateSettings:function(t){var s=this;this.httpPostRequest("updateSettings",{data:JSON.stringify({settings:{enabled:!0},module:t})},(function(){"auth"===t?s.two_factor.enabled=!0:s.mask_login.enabled=!0}))}}},P=Object(r.a)(j,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-box advanced-tools"},[e("div",{staticClass:"sui-box-header"},[e("h3",{staticClass:"sui-box-title"},[e("i",{staticClass:"sui-icon-wand-magic",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("Advanced Tools"))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-box-body no-padding-bottom"},[e("p",[t._v("\n "+t._s(t.__("Enable advanced tools for enhanced protection against even the most aggressive of hackers and bots."))+"\n ")])]),t._v(" "),e("hr"),t._v(" "),e("table",{staticClass:"sui-table sui-table-flushed margin-top-30"},[e("tbody",[e("tr",[e("td",[e("small",[e("strong",[t._v(t._s(t.__("Two-Factor Authentication")))])]),t._v(" "),e("br"),t._v(" "),e("small",[t._v("\n "+t._s(t.__("Add an extra layer of security to your WordPress account to ensure that you're the only person who can log in, even if someone else knows your password."))+"\n ")]),t._v(" "),!1===t.two_factor.enabled?e("form",{staticClass:"margin-top-10 margin-bottom-10",attrs:{method:"post"},on:{submit:function(s){return s.preventDefault(),t.updateSettings("auth")}}},[e("submit-button",{attrs:{type:"submit","css-class":"sui-button-blue",state:t.state}},[t._v("\n "+t._s(t.__("Activate"))+"\n ")])],1):!1===t.two_factor.useable?e("div",{staticClass:"sui-notice sui-notice-warning margin-bottom-30 margin-top-10"},[e("p",[t._v("\n "+t._s(t.__("Two-factor authentication is currently inactive. Configure and save your settings to finish setup."))+"\n "),e("br"),t._v(" "),e("a",{staticClass:"sui-button margin-top-10",attrs:{href:t.adminUrl("admin.php?page=wdf-advanced-tools")}},[t._v("\n "+t._s(t.__("Finish Setup"))+"\n ")])])]):!0===t.two_factor.useable?e("div",{staticClass:"sui-notice sui-notice-success margin-top-10 margin-bottom-30"},[e("p",[t._v("\n "+t._s(t.__("Two-factor authentication is now active. User roles with this feature enabled must visit their Profile page to complete setup and sync their account with the Authenticator app."))+"\n ")])]):t._e(),t._v(" "),!0===t.two_factor.useable?e("small",[t._v(t._s(t.__("Note: Each user on your website must individually enable two-factor authentication via their user profile in order to enable and use this security feature.")))]):t._e()])]),t._v(" "),e("tr",[e("td",[e("small",{staticClass:"margin-top-30"},[e("strong",[t._v(t._s(t.__("Mask Login Area")))])]),t._v(" "),e("br"),t._v(" "),e("small",[t._v("\n "+t._s(t.__("Change the location of WordPress's default login area."))+"\n ")]),t._v(" "),!1===t.mask_login.enabled?e("form",{staticClass:"margin-top-10 margin-bottom-30",attrs:{method:"post"},on:{submit:function(s){return s.preventDefault(),t.updateSettings("mask-login")}}},[e("submit-button",{attrs:{type:"submit","css-class":"sui-button-blue",state:t.state}},[t._v("\n "+t._s(t.__("Activate"))+"\n ")])],1):!1===t.mask_login.useable?e("div",{staticClass:"sui-notice sui-notice-warning margin-bottom-30 margin-top-10"},[e("p",[t._v("\n "+t._s(t.__("Masking is currently inactive. Choose your URL and save your settings to finish setup."))+"\n "),e("br"),t._v(" "),e("a",{staticClass:"sui-button margin-top-10",attrs:{href:t.adminUrl("admin.php?page=wdf-advanced-tools&view=mask-login")}},[t._v("\n "+t._s(t.__("Finish Setup"))+"\n ")])])]):!0===t.mask_login.useable?e("div",{staticClass:"sui-notice sui-notice-success margin-top-10 margin-bottom-30"},[e("p",[t._v("\n "+t._s(t.__("Masking is currently active at "))+" "),e("a",{attrs:{target:"_blank",href:t.mask_login.login_url}},[t._v(t._s(t.mask_login.login_url))])])]):t._e()])])])])])}),[],!1,null,null,null).exports,T={mixins:[n.a],name:"quick-setup",data:function(){return{state:{on_saving:!1},model:{activate_scan:!0,activate_audit:!0,activate_lockout:!0,activate_blacklist:!0},status:"normal",nonces:dashboard.quick_setup.nonces,endpoints:dashboard.quick_setup.endpoints}},methods:{activate:function(){this.httpPostRequest("activate",this.model,(function(t){window.location.reload()}))},skip:function(){this.httpPostRequest("skip",this.model,(function(t){SUI.dialogs.activator.hide()}))}},mounted:function(){document.onreadystatechange=function(){"complete"===document.readyState&&void 0!==SUI.dialogs.activator&&SUI.dialogs.activator.show()}}},I=Object(r.a)(T,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-dialog",attrs:{"aria-hidden":"true",tabindex:"-1",id:"activator"}},[e("div",{staticClass:"sui-dialog-overlay",attrs:{"data-a11y-dialog-hide":""}}),t._v(" "),e("div",{staticClass:"sui-dialog-content",attrs:{"aria-labelledby":"Quick setup","aria-describedby":"",role:"dialog"}},["normal"===t.status?e("div",{staticClass:"sui-box",attrs:{role:"document"}},[e("div",{staticClass:"sui-box-header"},[e("h3",{staticClass:"sui-box-title"},[t._v("\n "+t._s(t.__("Quick Setup"))+"\n ")]),t._v(" "),e("div",{staticClass:"sui-actions-right"},[e("form",{attrs:{method:"post"},on:{submit:function(s){return s.preventDefault(),t.skip(s)}}},[e("submit-button",{staticClass:"sui-button-ghost quicksetup-skip",attrs:{type:"submit",state:t.state}},[t._v("\n "+t._s(t.__("Skip"))+"\n ")])],1)])]),t._v(" "),e("form",{attrs:{method:"post"},on:{submit:function(s){return s.preventDefault(),t.activate(s)}}},[e("div",{staticClass:"sui-box-body"},[e("p",[t._v("\n "+t._s(t.__("Welcome to Defender, the hottest security plugin for WordPress! Let’s quickly set up the basics for you, then you can fine tweak each setting as you go – our recommendations are on by default."))+"\n ")]),t._v(" "),e("hr",{staticClass:"sui-flushed"}),t._v(" "),e("div",{staticClass:"sui-row"},[e("div",{staticClass:"sui-col-md-10"},[e("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Automatic File Scans & Reporting"))+"\n ")]),t._v(" "),e("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Scan your website for file changes, vulnerabilities and injected code and get notified about anything suspicious."))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-col-md-2"},[e("div",{staticClass:"sui-form-field tr"},[e("label",{staticClass:"sui-toggle"},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.model.activate_scan,expression:"model.activate_scan"}],staticClass:"toggle-checkbox",attrs:{type:"checkbox",name:"activator[]",checked:"",id:"active_scan",value:"activate_scan"},domProps:{checked:Array.isArray(t.model.activate_scan)?t._i(t.model.activate_scan,"activate_scan")>-1:t.model.activate_scan},on:{change:function(s){var e=t.model.activate_scan,i=s.target,a=!!i.checked;if(Array.isArray(e)){var n="activate_scan",o=t._i(e,n);i.checked?o<0&&t.$set(t.model,"activate_scan",e.concat([n])):o>-1&&t.$set(t.model,"activate_scan",e.slice(0,o).concat(e.slice(o+1)))}else t.$set(t.model,"activate_scan",a)}}}),t._v(" "),e("span",{staticClass:"sui-toggle-slider"})])])])]),t._v(" "),e("hr",{staticClass:"sui-flushed"}),t._v(" "),e("div",{staticClass:"sui-row"},[e("div",{staticClass:"sui-col-md-10"},[e("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Audit Logging"))+"\n ")]),t._v(" "),e("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Track and log events when changes are made to your website giving you full visibility of what’s going on behind the scenes."))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-col-md-2"},[e("div",{staticClass:"sui-form-field tr"},[e("label",{staticClass:"sui-toggle"},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.model.activate_audit,expression:"model.activate_audit"}],staticClass:"toggle-checkbox",attrs:{type:"checkbox",name:"activator[]",checked:"",id:"active_audit",value:"activate_audit"},domProps:{checked:Array.isArray(t.model.activate_audit)?t._i(t.model.activate_audit,"activate_audit")>-1:t.model.activate_audit},on:{change:function(s){var e=t.model.activate_audit,i=s.target,a=!!i.checked;if(Array.isArray(e)){var n="activate_audit",o=t._i(e,n);i.checked?o<0&&t.$set(t.model,"activate_audit",e.concat([n])):o>-1&&t.$set(t.model,"activate_audit",e.slice(0,o).concat(e.slice(o+1)))}else t.$set(t.model,"activate_audit",a)}}}),t._v(" "),e("span",{staticClass:"sui-toggle-slider"})])])])]),t._v(" "),e("hr",{staticClass:"sui-flushed"}),t._v(" "),e("div",{staticClass:"sui-row"},[e("div",{staticClass:"sui-col-md-10"},[e("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("IP Lockouts"))+"\n ")]),t._v(" "),e("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Protect your login area and have Defender automatically lockout any suspicious behaviour."))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-col-md-2"},[e("div",{staticClass:"sui-form-field tr"},[e("label",{staticClass:"sui-toggle"},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.model.activate_lockout,expression:"model.activate_lockout"}],staticClass:"toggle-checkbox",attrs:{type:"checkbox",checked:"",name:"activator[]",id:"activate_lockout",value:"activate_lockout"},domProps:{checked:Array.isArray(t.model.activate_lockout)?t._i(t.model.activate_lockout,"activate_lockout")>-1:t.model.activate_lockout},on:{change:function(s){var e=t.model.activate_lockout,i=s.target,a=!!i.checked;if(Array.isArray(e)){var n="activate_lockout",o=t._i(e,n);i.checked?o<0&&t.$set(t.model,"activate_lockout",e.concat([n])):o>-1&&t.$set(t.model,"activate_lockout",e.slice(0,o).concat(e.slice(o+1)))}else t.$set(t.model,"activate_lockout",a)}}}),t._v(" "),e("span",{staticClass:"sui-toggle-slider"})])])])]),t._v(" "),e("hr",{staticClass:"sui-flushed"}),t._v(" "),e("div",{staticClass:"sui-row"},[e("div",{staticClass:"sui-col-md-10"},[e("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Blacklist Monitor"))+"\n ")]),t._v(" "),e("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Automatically check if you’re on Google’s blacklist every 6 hours. If something’s wrong, we’ll let you know via email."))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-col-md-2"},[e("div",{staticClass:"sui-form-field tr"},[e("label",{staticClass:"sui-toggle"},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.model.activate_blacklist,expression:"model.activate_blacklist"}],staticClass:"toggle-checkbox",attrs:{type:"checkbox",checked:"",name:"activator[]",id:"activate_blacklist",value:"activate_blacklist"},domProps:{checked:Array.isArray(t.model.activate_blacklist)?t._i(t.model.activate_blacklist,"activate_blacklist")>-1:t.model.activate_blacklist},on:{change:function(s){var e=t.model.activate_blacklist,i=s.target,a=!!i.checked;if(Array.isArray(e)){var n="activate_blacklist",o=t._i(e,n);i.checked?o<0&&t.$set(t.model,"activate_blacklist",e.concat([n])):o>-1&&t.$set(t.model,"activate_blacklist",e.slice(0,o).concat(e.slice(o+1)))}else t.$set(t.model,"activate_blacklist",a)}}}),t._v(" "),e("span",{staticClass:"sui-toggle-slider"})])])])])]),t._v(" "),e("div",{staticClass:"sui-box-footer"},[e("div",{staticClass:"sui-row"},[e("div",{staticClass:"sui-col-md-9"},[e("small",[t._v("\n "+t._s(t.__("Note: These services will be configured with our recommended settings. You can change these at any time."))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-col-md-3"},[e("submit-button",{staticClass:"sui-button sui-button-blue quicksetup-apply",attrs:{type:"submit",state:t.state}},[t._v("\n "+t._s(t.__("Get Started"))+"\n ")])],1)])])]),t._v(" "),t.maybeHideBranding?e("img",{staticClass:"sui-image sui-image-center",attrs:{src:t.assetUrl("/assets/img/defender-activator.svg")}}):t._e()]):e("div",{staticClass:"sui-box"},[e("div",{staticClass:"sui-box-body"},[e("p",[t._v("\n "+t._s(t.__("Just a moment while Defender activates those services for you.."))+"\n ")]),t._v(" "),t._m(0),t._v(" "),t._m(1)])])])])}),[function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"sui-progress-block"},[s("div",{staticClass:"sui-progress"},[s("div",{staticClass:"sui-progress-text scan-progress-text sui-icon-loader sui-loading"},[s("span",[this._v("0%")])]),this._v(" "),s("div",{staticClass:"sui-progress-bar scan-progress-bar"},[s("span",{staticStyle:{width:"0%"}})])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"sui-progress-state"},[s("span",{staticClass:"status-text"})])}],!1,null,null,null).exports,E={mixins:[n.a],name:"quick-setup",data:function(){return{state:{on_saving:!1},model:{activate_scan:!0,activate_lockout:!0},status:"normal",nonces:dashboard.quick_setup.nonces,endpoints:dashboard.quick_setup.endpoints}},methods:{activate:function(){this.httpPostRequest("activate",this.model,(function(t){window.location.reload()}))},skip:function(){this.httpPostRequest("skip",this.model,(function(t){SUI.dialogs.activator.hide()}))}},mounted:function(){document.onreadystatechange=function(){"complete"===document.readyState&&void 0!==SUI.dialogs.activator&&SUI.dialogs.activator.show()}}},$=Object(r.a)(E,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-dialog",attrs:{"aria-hidden":"true",tabindex:"-1",id:"activator"}},[e("div",{staticClass:"sui-dialog-overlay",attrs:{"data-a11y-dialog-hide":""}}),t._v(" "),e("div",{staticClass:"sui-dialog-content",attrs:{"aria-labelledby":"Quick setup","aria-describedby":"",role:"dialog"}},["normal"===t.status?e("div",{staticClass:"sui-box",attrs:{role:"document"}},[e("div",{staticClass:"sui-box-header"},[e("h3",{staticClass:"sui-box-title"},[t._v("\n "+t._s(t.__("Quick Setup"))+"\n ")]),t._v(" "),e("div",{staticClass:"sui-actions-right"},[e("form",{attrs:{method:"post"},on:{submit:function(s){return s.preventDefault(),t.skip(s)}}},[e("submit-button",{staticClass:"sui-button-ghost",attrs:{type:"submit",state:t.state}},[t._v("\n "+t._s(t.__("Skip"))+"\n ")])],1)])]),t._v(" "),e("form",{attrs:{method:"post"},on:{submit:function(s){return s.preventDefault(),t.activate(s)}}},[e("div",{staticClass:"sui-box-body"},[e("p",[t._v("\n "+t._s(t.__("Welcome to Defender, the hottest security plugin for WordPress! Let’s quickly set up the basics for you, then you can fine tweak each setting as you go – our recommendations are on by default."))+"\n ")]),t._v(" "),e("hr",{staticClass:"sui-flushed"}),t._v(" "),e("div",{staticClass:"sui-row"},[e("div",{staticClass:"sui-col-md-10"},[e("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("File Scanning"))+"\n ")]),t._v(" "),e("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Scan your website for file changes, vulnerabilities and injected code and get notified about anything suspicious."))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-col-md-2"},[e("div",{staticClass:"sui-form-field tr"},[e("label",{staticClass:"sui-toggle"},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.model.activate_scan,expression:"model.activate_scan"}],staticClass:"toggle-checkbox",attrs:{type:"checkbox",name:"activator[]",checked:"",id:"active_scan",value:"activate_scan"},domProps:{checked:Array.isArray(t.model.activate_scan)?t._i(t.model.activate_scan,"activate_scan")>-1:t.model.activate_scan},on:{change:function(s){var e=t.model.activate_scan,i=s.target,a=!!i.checked;if(Array.isArray(e)){var n="activate_scan",o=t._i(e,n);i.checked?o<0&&t.$set(t.model,"activate_scan",e.concat([n])):o>-1&&t.$set(t.model,"activate_scan",e.slice(0,o).concat(e.slice(o+1)))}else t.$set(t.model,"activate_scan",a)}}}),t._v(" "),e("span",{staticClass:"sui-toggle-slider"})])])])]),t._v(" "),e("hr",{staticClass:"sui-flushed"}),t._v(" "),e("div",{staticClass:"sui-row"},[e("div",{staticClass:"sui-col-md-10"},[e("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("IP Lockouts"))+"\n ")]),t._v(" "),e("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Protect your login area and have Defender automatically lockout any suspicious behaviour."))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-col-md-2"},[e("div",{staticClass:"sui-form-field tr"},[e("label",{staticClass:"sui-toggle"},[e("input",{directives:[{name:"model",rawName:"v-model",value:t.model.activate_lockout,expression:"model.activate_lockout"}],staticClass:"toggle-checkbox",attrs:{type:"checkbox",checked:"",name:"activator[]",id:"activate_lockout",value:"activate_lockout"},domProps:{checked:Array.isArray(t.model.activate_lockout)?t._i(t.model.activate_lockout,"activate_lockout")>-1:t.model.activate_lockout},on:{change:function(s){var e=t.model.activate_lockout,i=s.target,a=!!i.checked;if(Array.isArray(e)){var n="activate_lockout",o=t._i(e,n);i.checked?o<0&&t.$set(t.model,"activate_lockout",e.concat([n])):o>-1&&t.$set(t.model,"activate_lockout",e.slice(0,o).concat(e.slice(o+1)))}else t.$set(t.model,"activate_lockout",a)}}}),t._v(" "),e("span",{staticClass:"sui-toggle-slider"})])])])])]),t._v(" "),e("div",{staticClass:"sui-box-footer"},[e("div",{staticClass:"sui-row"},[e("div",{staticClass:"sui-col-md-9"},[e("small",[t._v("\n "+t._s(t.__("Note: These services will be configured with our recommended settings. You can change these at any time."))+"\n ")])]),t._v(" "),e("div",{staticClass:"sui-col-md-3"},[e("submit-button",{staticClass:"sui-button sui-button-blue",attrs:{type:"submit",state:t.state}},[t._v("\n "+t._s(t.__("Get Started"))+"\n ")])],1)])])]),t._v(" "),t.maybeHideBranding?e("img",{staticClass:"sui-image sui-image-center",attrs:{src:t.assetUrl("/assets/img/defender-activator.svg")}}):t._e()]):e("div",{staticClass:"sui-box"},[e("div",{staticClass:"sui-box-body"},[e("p",[t._v("\n "+t._s(t.__("Just a moment while Defender activates those services for you.."))+"\n ")]),t._v(" "),t._m(0),t._v(" "),t._m(1)])])])])}),[function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"sui-progress-block"},[s("div",{staticClass:"sui-progress"},[s("div",{staticClass:"sui-progress-text scan-progress-text sui-icon-loader sui-loading"},[s("span",[this._v("0%")])]),this._v(" "),s("div",{staticClass:"sui-progress-bar scan-progress-bar"},[s("span",{staticStyle:{width:"0%"}})])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"sui-progress-state"},[s("span",{staticClass:"status-text"})])}],!1,null,null,null).exports,O={mixins:[n.a],name:"cross-sale"},D=Object(r.a)(O,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("section",[e("div",{staticClass:"sui-row",attrs:{id:"sui-cross-sell-footer"}},[t._m(0),t._v(" "),e("h3",[t._v(t._s(t.__("Check out our other free wordpress.org plugins!")))])]),t._v(" "),e("div",{staticClass:"sui-row sui-cross-sell-modules"},[e("div",{staticClass:"sui-col-md-4"},[t._m(1),t._v(" "),e("div",{staticClass:"sui-box"},[e("div",{staticClass:"sui-box-body"},[e("h3",[t._v(t._s(t.__("Smush Image Compression and Optimization")))]),t._v(" "),e("p",[t._v(t._s(t.__("Resize, optimize and compress all of your images with the incredibly powerful and award-winning, 100% free WordPress image optimizer.")))]),t._v(" "),e("a",{staticClass:"sui-button sui-button-ghost",attrs:{href:"https://wordpress.org/plugins/wp-smushit/",target:"_blank"}},[t._v("\n "+t._s(t.__("View features"))+" "),e("i",{staticClass:"sui-icon-arrow-right",attrs:{"aria-hidden":"true"}})])])])]),t._v(" "),e("div",{staticClass:"sui-col-md-4"},[t._m(2),t._v(" "),e("div",{staticClass:"sui-box"},[e("div",{staticClass:"sui-box-body"},[e("h3",[t._v(t._s(t.__("Hummingbird Page Speed Optimization")))]),t._v(" "),e("p",[t._v(t._s(t.__("Performance Tests, File Optimization & Compression, Page, Browser & Gravatar Caching, GZIP Compression, CloudFlare Integration & more.")))]),t._v(" "),e("a",{staticClass:"sui-button sui-button-ghost",attrs:{href:"https://wordpress.org/plugins/hummingbird-performance/",target:"_blank"}},[t._v("\n "+t._s(t.__("View features"))+" "),e("i",{staticClass:"sui-icon-arrow-right",attrs:{"aria-hidden":"true"}})])])])]),t._v(" "),e("div",{staticClass:"sui-col-md-4"},[t._m(3),t._v(" "),e("div",{staticClass:"sui-box"},[e("div",{staticClass:"sui-box-body"},[e("h3",[t._v(t._s(t.__("SmartCrawl Search Engine Optimization")))]),t._v(" "),e("p",[t._v(t._s(t.__("Customize Titles & Meta Data, OpenGraph, Twitter & Pinterest Support, Auto-Keyword Linking, SEO & Readability Analysis, Sitemaps, URL Crawler & more.")))]),t._v(" "),e("a",{staticClass:"sui-button sui-button-ghost",attrs:{href:"https://wordpress.org/plugins/smartcrawl-seo/",target:"_blank"}},[t._v("\n "+t._s(t.__("View features"))+" "),e("i",{staticClass:"sui-icon-arrow-right",attrs:{"aria-hidden":"true"}})])])])])]),t._v(" "),e("div",{staticClass:"sui-cross-sell-bottom"},[e("h3",[t._v(t._s(t.__("WPMU DEV - Your All-in-One WordPress Platform")))]),t._v(" "),e("p",[t._v(t._s(t.__("Pretty much everything you need for developing and managing WordPress based websites, and then some")))]),t._v(" "),e("a",{staticClass:"sui-button sui-button-green",attrs:{href:"https://premium.wpmudev.org/?utm_source=defender&utm_medium=plugin&utm_campaign=defender_dash_footer_upsell_notice",target:"_blank",role:"button"}},[t._v(t._s(t.__("Learn more"))+"\n ")]),t._v(" "),e("img",{staticClass:"sui-image",attrs:{src:t.assetUrl("assets/img/dev-team.png"),srcset:t.assetUrl("assets/img/dev-team@2x.png 2x"),"aria-hidden":"true"}})])])}),[function(){var t=this.$createElement,s=this._self._c||t;return s("div",[s("span",{staticClass:"sui-icon-plugin-2"})])},function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"sui-cross-1",attrs:{"aria-hidden":"true"}},[s("span")])},function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"sui-cross-2",attrs:{"aria-hidden":"true"}},[s("span")])},function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"sui-cross-3",attrs:{"aria-hidden":"true"}},[s("span")])}],!1,null,null,null).exports,R={mixins:[n.a],name:"dashboard",data:function(){return{quick_setup:parseInt(dashboard.quick_setup.show),is_free:parseInt(defender.is_free),security_tweaks:{count:{issues:dashboard.security_tweaks.count.issues,resolved:dashboard.security_tweaks.count.resolved,total:dashboard.security_tweaks.count.total}},scan:{count:0,scan:dashboard.scan.scan},ip_lockout:{last_lockout:dashboard.ip_lockout.summary.lastLockout},nonces:dashboard.scan.nonces,endpoints:dashboard.scan.endpoints,state:{on_saving:!1}}},components:{"security-tweaks":c,"file-scanning":u,"file-scanning-free":_,blacklist:v,"blacklist-free":f,"ip-lockout":g,audit:y,"audit-free":k,report:x,"report-free":A,"advanced-tools":P,"quick-setup":I,"quick-setup-free":$,"cross-sale":D},methods:{countScanIssues:function(){var t=dashboard.scan.scan;return null===t||"init"===t.status||"progress"===t.status?0:t.count.total},newScan:function(){var t=this;this.httpPostRequest("newScan",{},(function(s){t.$nextTick((function(){var e=t.$refs["file-scanning"];e.scan={},t.scan.scan={},t.scan.scan.status=s.data.status,e.scan.status=s.data.status,e.scan.percent=s.data.percent,e.scan.status_text=s.data.status_text,e.polling()}))}))},scanCanceled:function(t){this.scan.scan=t},scanCompleted:function(t,s){this.scan.count=s,this.scan.scan=t}},computed:{tooltips:function(){var t=this.__("You don't have any outstanding security issues, nice work!");return 1===this.security_tweaks.count.issues&&0===this.scan.count?t=this.__("You have one security tweak left to do. We recommend you action it, or ignore it if it's irrelevant."):0===this.security_tweaks.count.issues&&1===this.scan.count?t=this.__("We've detected a potential security risk in your file system. We recommend you take a look and action a fix, or ignore the file if it's harmless."):1===this.security_tweaks.count.issues&&1===this.scan.count?t=this.__("You have one security tweak left to do, and one potential security risk in your file system. We recommend you take a look and action fixes, or ignore the issues if they are harmless."):1===this.security_tweaks.count.issues&&this.scan.count>1?t=this.vsprintf(this.__("You have one security tweak left to do, and %s potential security risks in your file system. We recommend you take a look and action fixes, or ignore the issues if they are harmless"),this.scan.count):this.security_tweaks.count.issues>1&&1===this.scan.count?t=this.vsprintf(this.__("You have %s security tweaks left to do, and one potential security risk in your file system. We recommend you take a look and action fixes, or ignore the issues if they are harmless."),this.security_tweaks.count.issues):this.security_tweaks.count.issues>1&&this.scan.count>1?t=this.vsprintf(this.__("You have %s security tweaks left to do, and %s potential security risks in your file system. We recommend you take a look and action fixes, or ignore the issues if they are harmless."),this.security_tweaks.count.issues,this.scan.count):this.security_tweaks.count.issues>1&&0===this.scan.count?t=this.vsprintf(this.__("You have %d security tweaks left to do. We recommend you action it, or ignore it if it's irrelevant."),this.security_tweaks.count.issues):0===this.security_tweaks.count.issues&&this.scan.count>1&&(t=this.vsprintf(this.__("We've detected %d potential security risks in your file system. We recommend you take a look and action a fix, or ignore the file if it's harmless."),this.scan.count)),t},securityTweaksIndicator:function(){return this.security_tweaks.count.resolved+"/"+this.security_tweaks.count.total},countTotalIssues:function(){return this.scan.count+this.security_tweaks.count.issues}},mounted:function(){var t=this;this.$nextTick((function(){t.scan.count=t.countScanIssues()}))}},q=Object(r.a)(R,(function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"sui-wrap",class:t.maybeHighContrast()},[e("div",{staticClass:"defender-dashboard"},[e("div",{staticClass:"sui-header"},[e("h1",{staticClass:"sui-header-title"},[t._v(t._s(t.__("Dashboard")))]),t._v(" "),e("div",{staticClass:"sui-actions-right"},[e("doc-link",{attrs:{link:"https://premium.wpmudev.org/docs/wpmu-dev-plugins/defender"}})],1)]),t._v(" "),e("summary-box",[e("div",{staticClass:"sui-summary-segment"},[e("div",{staticClass:"sui-summary-details"},[e("span",{staticClass:"sui-summary-large",domProps:{textContent:t._s(t.countTotalIssues)}}),t._v(" "),e("span",{staticClass:"sui-tooltip sui-tooltip-top-left sui-tooltip-constrained",attrs:{"data-tooltip":t.tooltips}},[0===this.security_tweaks.count.issues&&0===this.scan.count?e("i",{staticClass:"sui-icon-check-tick sui-success",attrs:{"aria-hidden":"true"}}):e("i",{staticClass:"sui-icon-info sui-warning",attrs:{"aria-hidden":"true"}})]),t._v(" "),e("span",{staticClass:"sui-summary-sub"},[t._v(t._s(t.__("Security Issue")))])])]),t._v(" "),e("div",{staticClass:"sui-summary-segment"},[e("ul",{staticClass:"sui-list"},[e("li",[e("span",{staticClass:"sui-list-label"},[t._v(t._s(t.__("Security Tweaks Actioned")))]),t._v(" "),e("span",{staticClass:"sui-list-detail",domProps:{textContent:t._s(t.securityTweaksIndicator)}})]),t._v(" "),e("li",[e("span",{staticClass:"sui-list-label"},[t._v(t._s(t.__("File Scan Issues")))]),t._v(" "),e("span",{staticClass:"sui-list-detail"},[null===t.scan.scan?e("submit-button",{attrs:{type:"button","css-class":"sui-button-blue",state:t.state},on:{click:t.newScan}},[t._v("\n "+t._s(t.__("New Scan"))+"\n ")]):"init"===t.scan.scan.status||"progress"===t.scan.scan.status?e("i",{staticClass:"sui-icon-loader sui-loading"}):0===t.scan.count?e("i",{staticClass:"sui-icon-check-tick sui-success"}):e("span",{staticClass:"sui-tag sui-tag-error"},[t._v(t._s(t.scan.count))])],1)]),t._v(" "),e("li",[e("span",{staticClass:"sui-list-label"},[t._v(t._s(t.__("Last Lockout")))]),t._v(" "),e("span",{staticClass:"sui-list-detail"},[t._v(t._s(t.ip_lockout.last_lockout))])])])])]),t._v(" "),e("div",{staticClass:"sui-row"},[e("div",{staticClass:"sui-col-md-6"},[e("security-tweaks"),t._v(" "),0===t.is_free?e("blacklist"):1===t.is_free?e("blacklist-free"):t._e(),t._v(" "),e("advanced-tools")],1),t._v(" "),e("div",{staticClass:"sui-col-md-6"},[0===t.is_free?e("file-scanning",{ref:"file-scanning",on:{scanCanceled:t.scanCanceled,scanCompleted:t.scanCompleted}}):1===t.is_free?e("file-scanning-free",{ref:"file-scanning",attrs:{scanCompleted:"scanCompleted"},on:{scanCanceled:t.scanCanceled}}):t._e(),t._v(" "),e("ip-lockout"),t._v(" "),0===t.is_free?e("audit"):1===t.is_free?e("audit-free"):t._e(),t._v(" "),0===t.is_free?e("report"):1===t.is_free?e("report-free"):t._e()],1)]),t._v(" "),1===t.is_free?e("cross-sale"):t._e(),t._v(" "),e("app-footer")],1),t._v(" "),1===t.quick_setup&&0===t.is_free?e("quick-setup"):1===t.quick_setup&&1===t.is_free?e("quick-setup-free"):t._e()],1)}),[],!1,null,null,null).exports,L=e("./src/component/overlay.vue"),U=e("./src/component/submit-button.vue"),H=e("./src/component/footer.vue"),W=e("./src/component/doc-link.vue"),M=e("./src/component/summary-box.vue");a.a.component("overlay",L.a),a.a.component("submit-button",U.a),a.a.component("app-footer",H.a),a.a.component("doc-link",W.a),a.a.component("summary-box",M.a);new a.a({el:"#defender",components:{dashboard:q},render:function(t){return t(q)}})},"./src/helper/base_hepler.js":function(t,s,e){"use strict";var i=e("./node_modules/xss/lib/index.js"),a=function(t,s){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,s){var e=[],i=!0,a=!1,n=void 0;try{for(var o,r=t[Symbol.iterator]();!(i=(o=r.next()).done)&&(e.push(o.value),!s||e.length!==s);i=!0);}catch(t){a=!0,n=t}finally{try{!i&&r.return&&r.return()}finally{if(a)throw n}}return e}(t,s);throw new TypeError("Invalid attempt to destructure non-iterable instance")},n=wp.i18n,o={whiteList:{a:["href","title","target"],span:["class"],strong:["*"]},safeAttrValue:function(t,s,e,a){return"a"===t&&"href"===s&&"%s"===e?"%s":Object(i.safeAttrValue)(t,s,e,a)}},r=new i.FilterXSS(o),c=[];s.a={methods:{__:function(t){var s=n.__(t,"wpdef");return r.process(s)},xss:function(t){return r.process(t)},vsprintf:function(t){return n.sprintf.apply(null,arguments)},siteUrl:function(t){return void 0!==t?defender.site_url+t:defender.site_url},adminUrl:function(t){return void 0!==t?defender.admin_url+t:defender.admin_url},assetUrl:function(t){return defender.defender_url+t},maybeHighContrast:function(){return{"sui-color-accessible":!0===defender.misc.high_contrast}},maybeHideBranding:function(){return defender.whitelabel.hide_branding},campaign_url:function(t){return"https://premium.wpmudev.org/project/wp-defender/?utm_source=defender&utm_medium=plugin&utm_campaign="+t},httpRequest:function(t,s,e,i,a){var n=this;void 0===a&&(this.state.on_saving=!0);var o=ajaxurl+"?action="+this.endpoints[s]+"&_wpnonce="+this.nonces[s],r=jQuery.ajax({url:o,method:t,data:e,success:function(t){var s=t.data;n.state.on_saving=!1,void 0!==s&&void 0!==s.message&&(t.success?Defender.showNotification("success",s.message):Defender.showNotification("error",s.message)),void 0!==i&&i(t)}});c.push(r)},httpGetRequest:function(t,s,e,i){this.httpRequest("get",t,s,e,i)},httpPostRequest:function(t,s,e,i){this.httpRequest("post",t,s,e,i)},abortAllRequests:function(){for(var t=0;t<c.length;t++)c[t].abort()},getQueryStringParams:function(t){return t?(/^[?#]/.test(t)?t.slice(1):t).split("&").reduce((function(t,s){var e=s.split("="),i=a(e,2),n=i[0],o=i[1];return t[n]=o?decodeURIComponent(o.replace(/\+/g," ")):"",t}),{}):{}},rebindSUI:function(){jQuery("select:not([multiple])").each((function(){SUI.suiSelect(this)})),jQuery(".sui-accordion").each((function(){SUI.suiAccordion(this)}));var t=jQuery(".sui-wrap");SUI.dialogs={},jQuery(".sui-dialog").each((function(){SUI.dialogs[this.id]=new A11yDialog(this,t)}))}}}},vue:function(t,s){t.exports=Vue}});
assets/app/ip-lockout.js CHANGED
@@ -1 +1 @@
1
- !function(t){var e=window.webpackHotUpdate;window.webpackHotUpdate=function(t,s){!function(t,e){if(!y[t]||!b[t])return;for(var s in b[t]=!1,e)Object.prototype.hasOwnProperty.call(e,s)&&(h[s]=e[s]);0==--f&&0===v&&x()}(t,s),e&&e(t,s)};var s,i=!0,n="495f1b1cd29114aab5aa",a={},o=[],r=[];function l(t){var e=D[t];if(!e)return P;var i=function(i){return e.hot.active?(D[i]?-1===D[i].parents.indexOf(t)&&D[i].parents.push(t):(o=[t],s=i),-1===e.children.indexOf(i)&&e.children.push(i)):(console.warn("[HMR] unexpected require("+i+") from disposed module "+t),o=[]),P(i)},n=function(t){return{configurable:!0,enumerable:!0,get:function(){return P[t]},set:function(e){P[t]=e}}};for(var a in P)Object.prototype.hasOwnProperty.call(P,a)&&"e"!==a&&"t"!==a&&Object.defineProperty(i,a,n(a));return i.e=function(t){return"ready"===d&&_("prepare"),v++,P.e(t).then(e,(function(t){throw e(),t}));function e(){v--,"prepare"===d&&(g[t]||C(t),0===v&&0===f&&x())}},i.t=function(t,e){return 1&e&&(t=i(t)),P.t(t,-2&e)},i}function u(t){var e={_acceptedDependencies:{},_declinedDependencies:{},_selfAccepted:!1,_selfDeclined:!1,_disposeHandlers:[],_main:s!==t,active:!0,accept:function(t,s){if(void 0===t)e._selfAccepted=!0;else if("function"==typeof t)e._selfAccepted=t;else if("object"==typeof t)for(var i=0;i<t.length;i++)e._acceptedDependencies[t[i]]=s||function(){};else e._acceptedDependencies[t]=s||function(){}},decline:function(t){if(void 0===t)e._selfDeclined=!0;else if("object"==typeof t)for(var s=0;s<t.length;s++)e._declinedDependencies[t[s]]=!0;else e._declinedDependencies[t]=!0},dispose:function(t){e._disposeHandlers.push(t)},addDisposeHandler:function(t){e._disposeHandlers.push(t)},removeDisposeHandler:function(t){var s=e._disposeHandlers.indexOf(t);s>=0&&e._disposeHandlers.splice(s,1)},check:w,apply:S,status:function(t){if(!t)return d;c.push(t)},addStatusHandler:function(t){c.push(t)},removeStatusHandler:function(t){var e=c.indexOf(t);e>=0&&c.splice(e,1)},data:a[t]};return s=void 0,e}var c=[],d="idle";function _(t){d=t;for(var e=0;e<c.length;e++)c[e].call(null,t)}var m,h,p,f=0,v=0,g={},b={},y={};function k(t){return+t+""===t?+t:t}function w(t){if("idle"!==d)throw new Error("check() is only allowed in idle status");return i=t,_("check"),(e=1e4,e=e||1e4,new Promise((function(t,s){if("undefined"==typeof XMLHttpRequest)return s(new Error("No browser support"));try{var i=new XMLHttpRequest,a=P.p+""+n+".hot-update.json";i.open("GET",a,!0),i.timeout=e,i.send(null)}catch(t){return s(t)}i.onreadystatechange=function(){if(4===i.readyState)if(0===i.status)s(new Error("Manifest request to "+a+" timed out."));else if(404===i.status)t();else if(200!==i.status&&304!==i.status)s(new Error("Manifest request to "+a+" failed."));else{try{var e=JSON.parse(i.responseText)}catch(t){return void s(t)}t(e)}}}))).then((function(t){if(!t)return _("idle"),null;b={},g={},y=t.c,p=t.h,_("prepare");var e=new Promise((function(t,e){m={resolve:t,reject:e}}));h={};return C(3),"prepare"===d&&0===v&&0===f&&x(),e}));var e}function C(t){y[t]?(b[t]=!0,f++,function(t){var e=document.createElement("script");e.charset="utf-8",e.src=P.p+""+t+"."+n+".hot-update.js",document.head.appendChild(e)}(t)):g[t]=!0}function x(){_("ready");var t=m;if(m=null,t)if(i)Promise.resolve().then((function(){return S(i)})).then((function(e){t.resolve(e)}),(function(e){t.reject(e)}));else{var e=[];for(var s in h)Object.prototype.hasOwnProperty.call(h,s)&&e.push(k(s));t.resolve(e)}}function S(e){if("ready"!==d)throw new Error("apply() is only allowed in ready status");var s,i,r,l,u;function c(t){for(var e=[t],s={},i=e.map((function(t){return{chain:[t],id:t}}));i.length>0;){var n=i.pop(),a=n.id,o=n.chain;if((l=D[a])&&!l.hot._selfAccepted){if(l.hot._selfDeclined)return{type:"self-declined",chain:o,moduleId:a};if(l.hot._main)return{type:"unaccepted",chain:o,moduleId:a};for(var r=0;r<l.parents.length;r++){var u=l.parents[r],c=D[u];if(c){if(c.hot._declinedDependencies[a])return{type:"declined",chain:o.concat([u]),moduleId:a,parentId:u};-1===e.indexOf(u)&&(c.hot._acceptedDependencies[a]?(s[u]||(s[u]=[]),m(s[u],[a])):(delete s[u],e.push(u),i.push({chain:o.concat([u]),id:u})))}}}}return{type:"accepted",moduleId:t,outdatedModules:e,outdatedDependencies:s}}function m(t,e){for(var s=0;s<e.length;s++){var i=e[s];-1===t.indexOf(i)&&t.push(i)}}e=e||{};var f={},v=[],g={},b=function(){console.warn("[HMR] unexpected require("+C.moduleId+") to disposed module")};for(var w in h)if(Object.prototype.hasOwnProperty.call(h,w)){var C;u=k(w);var x=!1,S=!1,M=!1,T="";switch((C=h[w]?c(u):{type:"disposed",moduleId:w}).chain&&(T="\nUpdate propagation: "+C.chain.join(" -> ")),C.type){case"self-declined":e.onDeclined&&e.onDeclined(C),e.ignoreDeclined||(x=new Error("Aborted because of self decline: "+C.moduleId+T));break;case"declined":e.onDeclined&&e.onDeclined(C),e.ignoreDeclined||(x=new Error("Aborted because of declined dependency: "+C.moduleId+" in "+C.parentId+T));break;case"unaccepted":e.onUnaccepted&&e.onUnaccepted(C),e.ignoreUnaccepted||(x=new Error("Aborted because "+u+" is not accepted"+T));break;case"accepted":e.onAccepted&&e.onAccepted(C),S=!0;break;case"disposed":e.onDisposed&&e.onDisposed(C),M=!0;break;default:throw new Error("Unexception type "+C.type)}if(x)return _("abort"),Promise.reject(x);if(S)for(u in g[u]=h[u],m(v,C.outdatedModules),C.outdatedDependencies)Object.prototype.hasOwnProperty.call(C.outdatedDependencies,u)&&(f[u]||(f[u]=[]),m(f[u],C.outdatedDependencies[u]));M&&(m(v,[C.moduleId]),g[u]=b)}var O,j=[];for(i=0;i<v.length;i++)u=v[i],D[u]&&D[u].hot._selfAccepted&&g[u]!==b&&j.push({module:u,errorHandler:D[u].hot._selfAccepted});_("dispose"),Object.keys(y).forEach((function(t){!1===y[t]&&function(t){delete installedChunks[t]}(t)}));for(var Y,I,L=v.slice();L.length>0;)if(u=L.pop(),l=D[u]){var A={},N=l.hot._disposeHandlers;for(r=0;r<N.length;r++)(s=N[r])(A);for(a[u]=A,l.hot.active=!1,delete D[u],delete f[u],r=0;r<l.children.length;r++){var E=D[l.children[r]];E&&((O=E.parents.indexOf(u))>=0&&E.parents.splice(O,1))}}for(u in f)if(Object.prototype.hasOwnProperty.call(f,u)&&(l=D[u]))for(I=f[u],r=0;r<I.length;r++)Y=I[r],(O=l.children.indexOf(Y))>=0&&l.children.splice(O,1);for(u in _("apply"),n=p,g)Object.prototype.hasOwnProperty.call(g,u)&&(t[u]=g[u]);var R=null;for(u in f)if(Object.prototype.hasOwnProperty.call(f,u)&&(l=D[u])){I=f[u];var U=[];for(i=0;i<I.length;i++)if(Y=I[i],s=l.hot._acceptedDependencies[Y]){if(-1!==U.indexOf(s))continue;U.push(s)}for(i=0;i<U.length;i++){s=U[i];try{s(I)}catch(t){e.onErrored&&e.onErrored({type:"accept-errored",moduleId:u,dependencyId:I[i],error:t}),e.ignoreErrored||R||(R=t)}}}for(i=0;i<j.length;i++){var H=j[i];u=H.module,o=[u];try{P(u)}catch(t){if("function"==typeof H.errorHandler)try{H.errorHandler(t)}catch(s){e.onErrored&&e.onErrored({type:"self-accept-error-handler-errored",moduleId:u,error:s,originalError:t}),e.ignoreErrored||R||(R=s),R||(R=t)}else e.onErrored&&e.onErrored({type:"self-accept-errored",moduleId:u,error:t}),e.ignoreErrored||R||(R=t)}}return R?(_("fail"),Promise.reject(R)):(_("idle"),new Promise((function(t){t(v)})))}var D={};function P(e){if(D[e])return D[e].exports;var s=D[e]={i:e,l:!1,exports:{},hot:u(e),parents:(r=o,o=[],r),children:[]};return t[e].call(s.exports,s,s.exports,l(e)),s.l=!0,s.exports}P.m=t,P.c=D,P.d=function(t,e,s){P.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:s})},P.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},P.t=function(t,e){if(1&e&&(t=P(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var s=Object.create(null);if(P.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)P.d(s,i,function(e){return t[e]}.bind(null,i));return s},P.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return P.d(e,"a",e),e},P.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},P.p="",P.h=function(){return n},l("./src/ip-lockout.js")(P.s="./src/ip-lockout.js")}({"./node_modules/cssfilter/lib/css.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/default.js"),n=s("./node_modules/cssfilter/lib/parser.js");s("./node_modules/cssfilter/lib/util.js");function a(t){return null==t}function o(t){(t=function(t){var e={};for(var s in t)e[s]=t[s];return e}(t||{})).whiteList=t.whiteList||i.whiteList,t.onAttr=t.onAttr||i.onAttr,t.onIgnoreAttr=t.onIgnoreAttr||i.onIgnoreAttr,t.safeAttrValue=t.safeAttrValue||i.safeAttrValue,this.options=t}o.prototype.process=function(t){if(!(t=(t=t||"").toString()))return"";var e=this.options,s=e.whiteList,i=e.onAttr,o=e.onIgnoreAttr,r=e.safeAttrValue;return n(t,(function(t,e,n,l,u){var c=s[n],d=!1;if(!0===c?d=c:"function"==typeof c?d=c(l):c instanceof RegExp&&(d=c.test(l)),!0!==d&&(d=!1),l=r(n,l)){var _,m={position:e,sourcePosition:t,source:u,isWhite:d};return d?a(_=i(n,l,m))?n+":"+l:_:a(_=o(n,l,m))?void 0:_}}))},t.exports=o},"./node_modules/cssfilter/lib/default.js":function(t,e){function s(){var t={"align-content":!1,"align-items":!1,"align-self":!1,"alignment-adjust":!1,"alignment-baseline":!1,all:!1,"anchor-point":!1,animation:!1,"animation-delay":!1,"animation-direction":!1,"animation-duration":!1,"animation-fill-mode":!1,"animation-iteration-count":!1,"animation-name":!1,"animation-play-state":!1,"animation-timing-function":!1,azimuth:!1,"backface-visibility":!1,background:!0,"background-attachment":!0,"background-clip":!0,"background-color":!0,"background-image":!0,"background-origin":!0,"background-position":!0,"background-repeat":!0,"background-size":!0,"baseline-shift":!1,binding:!1,bleed:!1,"bookmark-label":!1,"bookmark-level":!1,"bookmark-state":!1,border:!0,"border-bottom":!0,"border-bottom-color":!0,"border-bottom-left-radius":!0,"border-bottom-right-radius":!0,"border-bottom-style":!0,"border-bottom-width":!0,"border-collapse":!0,"border-color":!0,"border-image":!0,"border-image-outset":!0,"border-image-repeat":!0,"border-image-slice":!0,"border-image-source":!0,"border-image-width":!0,"border-left":!0,"border-left-color":!0,"border-left-style":!0,"border-left-width":!0,"border-radius":!0,"border-right":!0,"border-right-color":!0,"border-right-style":!0,"border-right-width":!0,"border-spacing":!0,"border-style":!0,"border-top":!0,"border-top-color":!0,"border-top-left-radius":!0,"border-top-right-radius":!0,"border-top-style":!0,"border-top-width":!0,"border-width":!0,bottom:!1,"box-decoration-break":!0,"box-shadow":!0,"box-sizing":!0,"box-snap":!0,"box-suppress":!0,"break-after":!0,"break-before":!0,"break-inside":!0,"caption-side":!1,chains:!1,clear:!0,clip:!1,"clip-path":!1,"clip-rule":!1,color:!0,"color-interpolation-filters":!0,"column-count":!1,"column-fill":!1,"column-gap":!1,"column-rule":!1,"column-rule-color":!1,"column-rule-style":!1,"column-rule-width":!1,"column-span":!1,"column-width":!1,columns:!1,contain:!1,content:!1,"counter-increment":!1,"counter-reset":!1,"counter-set":!1,crop:!1,cue:!1,"cue-after":!1,"cue-before":!1,cursor:!1,direction:!1,display:!0,"display-inside":!0,"display-list":!0,"display-outside":!0,"dominant-baseline":!1,elevation:!1,"empty-cells":!1,filter:!1,flex:!1,"flex-basis":!1,"flex-direction":!1,"flex-flow":!1,"flex-grow":!1,"flex-shrink":!1,"flex-wrap":!1,float:!1,"float-offset":!1,"flood-color":!1,"flood-opacity":!1,"flow-from":!1,"flow-into":!1,font:!0,"font-family":!0,"font-feature-settings":!0,"font-kerning":!0,"font-language-override":!0,"font-size":!0,"font-size-adjust":!0,"font-stretch":!0,"font-style":!0,"font-synthesis":!0,"font-variant":!0,"font-variant-alternates":!0,"font-variant-caps":!0,"font-variant-east-asian":!0,"font-variant-ligatures":!0,"font-variant-numeric":!0,"font-variant-position":!0,"font-weight":!0,grid:!1,"grid-area":!1,"grid-auto-columns":!1,"grid-auto-flow":!1,"grid-auto-rows":!1,"grid-column":!1,"grid-column-end":!1,"grid-column-start":!1,"grid-row":!1,"grid-row-end":!1,"grid-row-start":!1,"grid-template":!1,"grid-template-areas":!1,"grid-template-columns":!1,"grid-template-rows":!1,"hanging-punctuation":!1,height:!0,hyphens:!1,icon:!1,"image-orientation":!1,"image-resolution":!1,"ime-mode":!1,"initial-letters":!1,"inline-box-align":!1,"justify-content":!1,"justify-items":!1,"justify-self":!1,left:!1,"letter-spacing":!0,"lighting-color":!0,"line-box-contain":!1,"line-break":!1,"line-grid":!1,"line-height":!1,"line-snap":!1,"line-stacking":!1,"line-stacking-ruby":!1,"line-stacking-shift":!1,"line-stacking-strategy":!1,"list-style":!0,"list-style-image":!0,"list-style-position":!0,"list-style-type":!0,margin:!0,"margin-bottom":!0,"margin-left":!0,"margin-right":!0,"margin-top":!0,"marker-offset":!1,"marker-side":!1,marks:!1,mask:!1,"mask-box":!1,"mask-box-outset":!1,"mask-box-repeat":!1,"mask-box-slice":!1,"mask-box-source":!1,"mask-box-width":!1,"mask-clip":!1,"mask-image":!1,"mask-origin":!1,"mask-position":!1,"mask-repeat":!1,"mask-size":!1,"mask-source-type":!1,"mask-type":!1,"max-height":!0,"max-lines":!1,"max-width":!0,"min-height":!0,"min-width":!0,"move-to":!1,"nav-down":!1,"nav-index":!1,"nav-left":!1,"nav-right":!1,"nav-up":!1,"object-fit":!1,"object-position":!1,opacity:!1,order:!1,orphans:!1,outline:!1,"outline-color":!1,"outline-offset":!1,"outline-style":!1,"outline-width":!1,overflow:!1,"overflow-wrap":!1,"overflow-x":!1,"overflow-y":!1,padding:!0,"padding-bottom":!0,"padding-left":!0,"padding-right":!0,"padding-top":!0,page:!1,"page-break-after":!1,"page-break-before":!1,"page-break-inside":!1,"page-policy":!1,pause:!1,"pause-after":!1,"pause-before":!1,perspective:!1,"perspective-origin":!1,pitch:!1,"pitch-range":!1,"play-during":!1,position:!1,"presentation-level":!1,quotes:!1,"region-fragment":!1,resize:!1,rest:!1,"rest-after":!1,"rest-before":!1,richness:!1,right:!1,rotation:!1,"rotation-point":!1,"ruby-align":!1,"ruby-merge":!1,"ruby-position":!1,"shape-image-threshold":!1,"shape-outside":!1,"shape-margin":!1,size:!1,speak:!1,"speak-as":!1,"speak-header":!1,"speak-numeral":!1,"speak-punctuation":!1,"speech-rate":!1,stress:!1,"string-set":!1,"tab-size":!1,"table-layout":!1,"text-align":!0,"text-align-last":!0,"text-combine-upright":!0,"text-decoration":!0,"text-decoration-color":!0,"text-decoration-line":!0,"text-decoration-skip":!0,"text-decoration-style":!0,"text-emphasis":!0,"text-emphasis-color":!0,"text-emphasis-position":!0,"text-emphasis-style":!0,"text-height":!0,"text-indent":!0,"text-justify":!0,"text-orientation":!0,"text-overflow":!0,"text-shadow":!0,"text-space-collapse":!0,"text-transform":!0,"text-underline-position":!0,"text-wrap":!0,top:!1,transform:!1,"transform-origin":!1,"transform-style":!1,transition:!1,"transition-delay":!1,"transition-duration":!1,"transition-property":!1,"transition-timing-function":!1,"unicode-bidi":!1,"vertical-align":!1,visibility:!1,"voice-balance":!1,"voice-duration":!1,"voice-family":!1,"voice-pitch":!1,"voice-range":!1,"voice-rate":!1,"voice-stress":!1,"voice-volume":!1,volume:!1,"white-space":!1,widows:!1,width:!0,"will-change":!1,"word-break":!0,"word-spacing":!0,"word-wrap":!0,"wrap-flow":!1,"wrap-through":!1,"writing-mode":!1,"z-index":!1};return t}var i=/javascript\s*\:/gim;e.whiteList=s(),e.getDefaultWhiteList=s,e.onAttr=function(t,e,s){},e.onIgnoreAttr=function(t,e,s){},e.safeAttrValue=function(t,e){return i.test(e)?"":e}},"./node_modules/cssfilter/lib/index.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/default.js"),n=s("./node_modules/cssfilter/lib/css.js");for(var a in(e=t.exports=function(t,e){return new n(e).process(t)}).FilterCSS=n,i)e[a]=i[a];"undefined"!=typeof window&&(window.filterCSS=t.exports)},"./node_modules/cssfilter/lib/parser.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/util.js");t.exports=function(t,e){";"!==(t=i.trimRight(t))[t.length-1]&&(t+=";");var s=t.length,n=!1,a=0,o=0,r="";function l(){if(!n){var s=i.trim(t.slice(a,o)),l=s.indexOf(":");if(-1!==l){var u=i.trim(s.slice(0,l)),c=i.trim(s.slice(l+1));if(u){var d=e(a,r.length,u,c,s);d&&(r+=d+"; ")}}}a=o+1}for(;o<s;o++){var u=t[o];if("/"===u&&"*"===t[o+1]){var c=t.indexOf("*/",o+2);if(-1===c)break;a=(o=c+1)+1,n=!1}else"("===u?n=!0:")"===u?n=!1:";"===u?n||l():"\n"===u&&l()}return i.trim(r)}},"./node_modules/cssfilter/lib/util.js":function(t,e){t.exports={indexOf:function(t,e){var s,i;if(Array.prototype.indexOf)return t.indexOf(e);for(s=0,i=t.length;s<i;s++)if(t[s]===e)return s;return-1},forEach:function(t,e,s){var i,n;if(Array.prototype.forEach)return t.forEach(e,s);for(i=0,n=t.length;i<n;i++)e.call(s,t[i],i,t)},trim:function(t){return String.prototype.trim?t.trim():t.replace(/(^\s*)|(\s*$)/g,"")},trimRight:function(t){return String.prototype.trimRight?t.trimRight():t.replace(/(\s*$)/g,"")}}},"./node_modules/lodash/_Symbol.js":function(t,e,s){var i=s("./node_modules/lodash/_root.js").Symbol;t.exports=i},"./node_modules/lodash/_baseGetTag.js":function(t,e,s){var i=s("./node_modules/lodash/_Symbol.js"),n=s("./node_modules/lodash/_getRawTag.js"),a=s("./node_modules/lodash/_objectToString.js"),o=i?i.toStringTag:void 0;t.exports=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":o&&o in Object(t)?n(t):a(t)}},"./node_modules/lodash/_baseSlice.js":function(t,e){t.exports=function(t,e,s){var i=-1,n=t.length;e<0&&(e=-e>n?0:n+e),(s=s>n?n:s)<0&&(s+=n),n=e>s?0:s-e>>>0,e>>>=0;for(var a=Array(n);++i<n;)a[i]=t[i+e];return a}},"./node_modules/lodash/_freeGlobal.js":function(t,e,s){(function(e){var s="object"==typeof e&&e&&e.Object===Object&&e;t.exports=s}).call(this,s("./node_modules/webpack/buildin/global.js"))},"./node_modules/lodash/_getRawTag.js":function(t,e,s){var i=s("./node_modules/lodash/_Symbol.js"),n=Object.prototype,a=n.hasOwnProperty,o=n.toString,r=i?i.toStringTag:void 0;t.exports=function(t){var e=a.call(t,r),s=t[r];try{t[r]=void 0;var i=!0}catch(t){}var n=o.call(t);return i&&(e?t[r]=s:delete t[r]),n}},"./node_modules/lodash/_isIndex.js":function(t,e){var s=/^(?:0|[1-9]\d*)$/;t.exports=function(t,e){var i=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==i||"symbol"!=i&&s.test(t))&&t>-1&&t%1==0&&t<e}},"./node_modules/lodash/_isIterateeCall.js":function(t,e,s){var i=s("./node_modules/lodash/eq.js"),n=s("./node_modules/lodash/isArrayLike.js"),a=s("./node_modules/lodash/_isIndex.js"),o=s("./node_modules/lodash/isObject.js");t.exports=function(t,e,s){if(!o(s))return!1;var r=typeof e;return!!("number"==r?n(s)&&a(e,s.length):"string"==r&&e in s)&&i(s[e],t)}},"./node_modules/lodash/_objectToString.js":function(t,e){var s=Object.prototype.toString;t.exports=function(t){return s.call(t)}},"./node_modules/lodash/_root.js":function(t,e,s){var i=s("./node_modules/lodash/_freeGlobal.js"),n="object"==typeof self&&self&&self.Object===Object&&self,a=i||n||Function("return this")();t.exports=a},"./node_modules/lodash/chunk.js":function(t,e,s){var i=s("./node_modules/lodash/_baseSlice.js"),n=s("./node_modules/lodash/_isIterateeCall.js"),a=s("./node_modules/lodash/toInteger.js"),o=Math.ceil,r=Math.max;t.exports=function(t,e,s){e=(s?n(t,e,s):void 0===e)?1:r(a(e),0);var l=null==t?0:t.length;if(!l||e<1)return[];for(var u=0,c=0,d=Array(o(l/e));u<l;)d[c++]=i(t,u,u+=e);return d}},"./node_modules/lodash/eq.js":function(t,e){t.exports=function(t,e){return t===e||t!=t&&e!=e}},"./node_modules/lodash/isArrayLike.js":function(t,e,s){var i=s("./node_modules/lodash/isFunction.js"),n=s("./node_modules/lodash/isLength.js");t.exports=function(t){return null!=t&&n(t.length)&&!i(t)}},"./node_modules/lodash/isFunction.js":function(t,e,s){var i=s("./node_modules/lodash/_baseGetTag.js"),n=s("./node_modules/lodash/isObject.js");t.exports=function(t){if(!n(t))return!1;var e=i(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}},"./node_modules/lodash/isLength.js":function(t,e){t.exports=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}},"./node_modules/lodash/isObject.js":function(t,e){t.exports=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},"./node_modules/lodash/isObjectLike.js":function(t,e){t.exports=function(t){return null!=t&&"object"==typeof t}},"./node_modules/lodash/isSymbol.js":function(t,e,s){var i=s("./node_modules/lodash/_baseGetTag.js"),n=s("./node_modules/lodash/isObjectLike.js");t.exports=function(t){return"symbol"==typeof t||n(t)&&"[object Symbol]"==i(t)}},"./node_modules/lodash/toFinite.js":function(t,e,s){var i=s("./node_modules/lodash/toNumber.js");t.exports=function(t){return t?(t=i(t))===1/0||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}},"./node_modules/lodash/toInteger.js":function(t,e,s){var i=s("./node_modules/lodash/toFinite.js");t.exports=function(t){var e=i(t),s=e%1;return e==e?s?e-s:e:0}},"./node_modules/lodash/toNumber.js":function(t,e,s){var i=s("./node_modules/lodash/isObject.js"),n=s("./node_modules/lodash/isSymbol.js"),a=/^\s+|\s+$/g,o=/^[-+]0x[0-9a-f]+$/i,r=/^0b[01]+$/i,l=/^0o[0-7]+$/i,u=parseInt;t.exports=function(t){if("number"==typeof t)return t;if(n(t))return NaN;if(i(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=i(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(a,"");var s=r.test(t);return s||l.test(t)?u(t.slice(2),s?2:8):o.test(t)?NaN:+t}},"./node_modules/moment/moment.js":function(t,e,s){(function(t){t.exports=function(){"use strict";var e,s;function i(){return e.apply(null,arguments)}function n(t){return t instanceof Array||"[object Array]"===Object.prototype.toString.call(t)}function a(t){return null!=t&&"[object Object]"===Object.prototype.toString.call(t)}function o(t){return void 0===t}function r(t){return"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t)}function l(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function u(t,e){var s,i=[];for(s=0;s<t.length;++s)i.push(e(t[s],s));return i}function c(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function d(t,e){for(var s in e)c(e,s)&&(t[s]=e[s]);return c(e,"toString")&&(t.toString=e.toString),c(e,"valueOf")&&(t.valueOf=e.valueOf),t}function _(t,e,s,i){return Ce(t,e,s,i,!0).utc()}function m(t){return null==t._pf&&(t._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null,rfc2822:!1,weekdayMismatch:!1}),t._pf}function h(t){if(null==t._isValid){var e=m(t),i=s.call(e.parsedDateParts,(function(t){return null!=t})),n=!isNaN(t._d.getTime())&&e.overflow<0&&!e.empty&&!e.invalidMonth&&!e.invalidWeekday&&!e.weekdayMismatch&&!e.nullInput&&!e.invalidFormat&&!e.userInvalidated&&(!e.meridiem||e.meridiem&&i);if(t._strict&&(n=n&&0===e.charsLeftOver&&0===e.unusedTokens.length&&void 0===e.bigHour),null!=Object.isFrozen&&Object.isFrozen(t))return n;t._isValid=n}return t._isValid}function p(t){var e=_(NaN);return null!=t?d(m(e),t):m(e).userInvalidated=!0,e}s=Array.prototype.some?Array.prototype.some:function(t){for(var e=Object(this),s=e.length>>>0,i=0;i<s;i++)if(i in e&&t.call(this,e[i],i,e))return!0;return!1};var f=i.momentProperties=[];function v(t,e){var s,i,n;if(o(e._isAMomentObject)||(t._isAMomentObject=e._isAMomentObject),o(e._i)||(t._i=e._i),o(e._f)||(t._f=e._f),o(e._l)||(t._l=e._l),o(e._strict)||(t._strict=e._strict),o(e._tzm)||(t._tzm=e._tzm),o(e._isUTC)||(t._isUTC=e._isUTC),o(e._offset)||(t._offset=e._offset),o(e._pf)||(t._pf=m(e)),o(e._locale)||(t._locale=e._locale),f.length>0)for(s=0;s<f.length;s++)o(n=e[i=f[s]])||(t[i]=n);return t}var g=!1;function b(t){v(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===g&&(g=!0,i.updateOffset(this),g=!1)}function y(t){return t instanceof b||null!=t&&null!=t._isAMomentObject}function k(t){return t<0?Math.ceil(t)||0:Math.floor(t)}function w(t){var e=+t,s=0;return 0!==e&&isFinite(e)&&(s=k(e)),s}function C(t,e,s){var i,n=Math.min(t.length,e.length),a=Math.abs(t.length-e.length),o=0;for(i=0;i<n;i++)(s&&t[i]!==e[i]||!s&&w(t[i])!==w(e[i]))&&o++;return o+a}function x(t){!1===i.suppressDeprecationWarnings&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function S(t,e){var s=!0;return d((function(){if(null!=i.deprecationHandler&&i.deprecationHandler(null,t),s){for(var n,a=[],o=0;o<arguments.length;o++){if(n="","object"==typeof arguments[o]){for(var r in n+="\n["+o+"] ",arguments[0])n+=r+": "+arguments[0][r]+", ";n=n.slice(0,-2)}else n=arguments[o];a.push(n)}x(t+"\nArguments: "+Array.prototype.slice.call(a).join("")+"\n"+(new Error).stack),s=!1}return e.apply(this,arguments)}),e)}var D,P={};function M(t,e){null!=i.deprecationHandler&&i.deprecationHandler(t,e),P[t]||(x(e),P[t]=!0)}function T(t){return t instanceof Function||"[object Function]"===Object.prototype.toString.call(t)}function O(t,e){var s,i=d({},t);for(s in e)c(e,s)&&(a(t[s])&&a(e[s])?(i[s]={},d(i[s],t[s]),d(i[s],e[s])):null!=e[s]?i[s]=e[s]:delete i[s]);for(s in t)c(t,s)&&!c(e,s)&&a(t[s])&&(i[s]=d({},i[s]));return i}function j(t){null!=t&&this.set(t)}i.suppressDeprecationWarnings=!1,i.deprecationHandler=null,D=Object.keys?Object.keys:function(t){var e,s=[];for(e in t)c(t,e)&&s.push(e);return s};var Y={};function I(t,e){var s=t.toLowerCase();Y[s]=Y[s+"s"]=Y[e]=t}function L(t){return"string"==typeof t?Y[t]||Y[t.toLowerCase()]:void 0}function A(t){var e,s,i={};for(s in t)c(t,s)&&(e=L(s))&&(i[e]=t[s]);return i}var N={};function E(t,e){N[t]=e}function R(t,e,s){var i=""+Math.abs(t),n=e-i.length;return(t>=0?s?"+":"":"-")+Math.pow(10,Math.max(0,n)).toString().substr(1)+i}var U=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,H=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,W={},$={};function F(t,e,s,i){var n=i;"string"==typeof i&&(n=function(){return this[i]()}),t&&($[t]=n),e&&($[e[0]]=function(){return R(n.apply(this,arguments),e[1],e[2])}),s&&($[s]=function(){return this.localeData().ordinal(n.apply(this,arguments),t)})}function q(t,e){return t.isValid()?(e=V(e,t.localeData()),W[e]=W[e]||function(t){var e,s,i,n=t.match(U);for(e=0,s=n.length;e<s;e++)$[n[e]]?n[e]=$[n[e]]:n[e]=(i=n[e]).match(/\[[\s\S]/)?i.replace(/^\[|\]$/g,""):i.replace(/\\/g,"");return function(e){var i,a="";for(i=0;i<s;i++)a+=T(n[i])?n[i].call(e,t):n[i];return a}}(e),W[e](t)):t.localeData().invalidDate()}function V(t,e){var s=5;function i(t){return e.longDateFormat(t)||t}for(H.lastIndex=0;s>=0&&H.test(t);)t=t.replace(H,i),H.lastIndex=0,s-=1;return t}var G=/\d/,z=/\d\d/,B=/\d{3}/,Q=/\d{4}/,Z=/[+-]?\d{6}/,J=/\d\d?/,X=/\d\d\d\d?/,K=/\d\d\d\d\d\d?/,tt=/\d{1,3}/,et=/\d{1,4}/,st=/[+-]?\d{1,6}/,it=/\d+/,nt=/[+-]?\d+/,at=/Z|[+-]\d\d:?\d\d/gi,ot=/Z|[+-]\d\d(?::?\d\d)?/gi,rt=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,lt={};function ut(t,e,s){lt[t]=T(e)?e:function(t,i){return t&&s?s:e}}function ct(t,e){return c(lt,t)?lt[t](e._strict,e._locale):new RegExp(dt(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,(function(t,e,s,i,n){return e||s||i||n}))))}function dt(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var _t={};function mt(t,e){var s,i=e;for("string"==typeof t&&(t=[t]),r(e)&&(i=function(t,s){s[e]=w(t)}),s=0;s<t.length;s++)_t[t[s]]=i}function ht(t,e){mt(t,(function(t,s,i,n){i._w=i._w||{},e(t,i._w,i,n)}))}function pt(t,e,s){null!=e&&c(_t,t)&&_t[t](e,s._a,s,t)}function ft(t){return vt(t)?366:365}function vt(t){return t%4==0&&t%100!=0||t%400==0}F("Y",0,0,(function(){var t=this.year();return t<=9999?""+t:"+"+t})),F(0,["YY",2],0,(function(){return this.year()%100})),F(0,["YYYY",4],0,"year"),F(0,["YYYYY",5],0,"year"),F(0,["YYYYYY",6,!0],0,"year"),I("year","y"),E("year",1),ut("Y",nt),ut("YY",J,z),ut("YYYY",et,Q),ut("YYYYY",st,Z),ut("YYYYYY",st,Z),mt(["YYYYY","YYYYYY"],0),mt("YYYY",(function(t,e){e[0]=2===t.length?i.parseTwoDigitYear(t):w(t)})),mt("YY",(function(t,e){e[0]=i.parseTwoDigitYear(t)})),mt("Y",(function(t,e){e[0]=parseInt(t,10)})),i.parseTwoDigitYear=function(t){return w(t)+(w(t)>68?1900:2e3)};var gt,bt=yt("FullYear",!0);function yt(t,e){return function(s){return null!=s?(wt(this,t,s),i.updateOffset(this,e),this):kt(this,t)}}function kt(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function wt(t,e,s){t.isValid()&&!isNaN(s)&&("FullYear"===e&&vt(t.year())&&1===t.month()&&29===t.date()?t._d["set"+(t._isUTC?"UTC":"")+e](s,t.month(),Ct(s,t.month())):t._d["set"+(t._isUTC?"UTC":"")+e](s))}function Ct(t,e){if(isNaN(t)||isNaN(e))return NaN;var s,i=(e%(s=12)+s)%s;return t+=(e-i)/12,1===i?vt(t)?29:28:31-i%7%2}gt=Array.prototype.indexOf?Array.prototype.indexOf:function(t){var e;for(e=0;e<this.length;++e)if(this[e]===t)return e;return-1},F("M",["MM",2],"Mo",(function(){return this.month()+1})),F("MMM",0,0,(function(t){return this.localeData().monthsShort(this,t)})),F("MMMM",0,0,(function(t){return this.localeData().months(this,t)})),I("month","M"),E("month",8),ut("M",J),ut("MM",J,z),ut("MMM",(function(t,e){return e.monthsShortRegex(t)})),ut("MMMM",(function(t,e){return e.monthsRegex(t)})),mt(["M","MM"],(function(t,e){e[1]=w(t)-1})),mt(["MMM","MMMM"],(function(t,e,s,i){var n=s._locale.monthsParse(t,i,s._strict);null!=n?e[1]=n:m(s).invalidMonth=t}));var xt=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,St="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),Dt="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_");function Pt(t,e,s){var i,n,a,o=t.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],i=0;i<12;++i)a=_([2e3,i]),this._shortMonthsParse[i]=this.monthsShort(a,"").toLocaleLowerCase(),this._longMonthsParse[i]=this.months(a,"").toLocaleLowerCase();return s?"MMM"===e?-1!==(n=gt.call(this._shortMonthsParse,o))?n:null:-1!==(n=gt.call(this._longMonthsParse,o))?n:null:"MMM"===e?-1!==(n=gt.call(this._shortMonthsParse,o))?n:-1!==(n=gt.call(this._longMonthsParse,o))?n:null:-1!==(n=gt.call(this._longMonthsParse,o))?n:-1!==(n=gt.call(this._shortMonthsParse,o))?n:null}function Mt(t,e){var s;if(!t.isValid())return t;if("string"==typeof e)if(/^\d+$/.test(e))e=w(e);else if(!r(e=t.localeData().monthsParse(e)))return t;return s=Math.min(t.date(),Ct(t.year(),e)),t._d["set"+(t._isUTC?"UTC":"")+"Month"](e,s),t}function Tt(t){return null!=t?(Mt(this,t),i.updateOffset(this,!0),this):kt(this,"Month")}var Ot=rt,jt=rt;function Yt(){function t(t,e){return e.length-t.length}var e,s,i=[],n=[],a=[];for(e=0;e<12;e++)s=_([2e3,e]),i.push(this.monthsShort(s,"")),n.push(this.months(s,"")),a.push(this.months(s,"")),a.push(this.monthsShort(s,""));for(i.sort(t),n.sort(t),a.sort(t),e=0;e<12;e++)i[e]=dt(i[e]),n[e]=dt(n[e]);for(e=0;e<24;e++)a[e]=dt(a[e]);this._monthsRegex=new RegExp("^("+a.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+n.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+i.join("|")+")","i")}function It(t,e,s,i,n,a,o){var r;return t<100&&t>=0?(r=new Date(t+400,e,s,i,n,a,o),isFinite(r.getFullYear())&&r.setFullYear(t)):r=new Date(t,e,s,i,n,a,o),r}function Lt(t){var e;if(t<100&&t>=0){var s=Array.prototype.slice.call(arguments);s[0]=t+400,e=new Date(Date.UTC.apply(null,s)),isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t)}else e=new Date(Date.UTC.apply(null,arguments));return e}function At(t,e,s){var i=7+e-s;return-(7+Lt(t,0,i).getUTCDay()-e)%7+i-1}function Nt(t,e,s,i,n){var a,o,r=1+7*(e-1)+(7+s-i)%7+At(t,i,n);return r<=0?o=ft(a=t-1)+r:r>ft(t)?(a=t+1,o=r-ft(t)):(a=t,o=r),{year:a,dayOfYear:o}}function Et(t,e,s){var i,n,a=At(t.year(),e,s),o=Math.floor((t.dayOfYear()-a-1)/7)+1;return o<1?i=o+Rt(n=t.year()-1,e,s):o>Rt(t.year(),e,s)?(i=o-Rt(t.year(),e,s),n=t.year()+1):(n=t.year(),i=o),{week:i,year:n}}function Rt(t,e,s){var i=At(t,e,s),n=At(t+1,e,s);return(ft(t)-i+n)/7}function Ut(t,e){return t.slice(e,7).concat(t.slice(0,e))}F("w",["ww",2],"wo","week"),F("W",["WW",2],"Wo","isoWeek"),I("week","w"),I("isoWeek","W"),E("week",5),E("isoWeek",5),ut("w",J),ut("ww",J,z),ut("W",J),ut("WW",J,z),ht(["w","ww","W","WW"],(function(t,e,s,i){e[i.substr(0,1)]=w(t)})),F("d",0,"do","day"),F("dd",0,0,(function(t){return this.localeData().weekdaysMin(this,t)})),F("ddd",0,0,(function(t){return this.localeData().weekdaysShort(this,t)})),F("dddd",0,0,(function(t){return this.localeData().weekdays(this,t)})),F("e",0,0,"weekday"),F("E",0,0,"isoWeekday"),I("day","d"),I("weekday","e"),I("isoWeekday","E"),E("day",11),E("weekday",11),E("isoWeekday",11),ut("d",J),ut("e",J),ut("E",J),ut("dd",(function(t,e){return e.weekdaysMinRegex(t)})),ut("ddd",(function(t,e){return e.weekdaysShortRegex(t)})),ut("dddd",(function(t,e){return e.weekdaysRegex(t)})),ht(["dd","ddd","dddd"],(function(t,e,s,i){var n=s._locale.weekdaysParse(t,i,s._strict);null!=n?e.d=n:m(s).invalidWeekday=t})),ht(["d","e","E"],(function(t,e,s,i){e[i]=w(t)}));var Ht="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Wt="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),$t="Su_Mo_Tu_We_Th_Fr_Sa".split("_");function Ft(t,e,s){var i,n,a,o=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],i=0;i<7;++i)a=_([2e3,1]).day(i),this._minWeekdaysParse[i]=this.weekdaysMin(a,"").toLocaleLowerCase(),this._shortWeekdaysParse[i]=this.weekdaysShort(a,"").toLocaleLowerCase(),this._weekdaysParse[i]=this.weekdays(a,"").toLocaleLowerCase();return s?"dddd"===e?-1!==(n=gt.call(this._weekdaysParse,o))?n:null:"ddd"===e?-1!==(n=gt.call(this._shortWeekdaysParse,o))?n:null:-1!==(n=gt.call(this._minWeekdaysParse,o))?n:null:"dddd"===e?-1!==(n=gt.call(this._weekdaysParse,o))?n:-1!==(n=gt.call(this._shortWeekdaysParse,o))?n:-1!==(n=gt.call(this._minWeekdaysParse,o))?n:null:"ddd"===e?-1!==(n=gt.call(this._shortWeekdaysParse,o))?n:-1!==(n=gt.call(this._weekdaysParse,o))?n:-1!==(n=gt.call(this._minWeekdaysParse,o))?n:null:-1!==(n=gt.call(this._minWeekdaysParse,o))?n:-1!==(n=gt.call(this._weekdaysParse,o))?n:-1!==(n=gt.call(this._shortWeekdaysParse,o))?n:null}var qt=rt,Vt=rt,Gt=rt;function zt(){function t(t,e){return e.length-t.length}var e,s,i,n,a,o=[],r=[],l=[],u=[];for(e=0;e<7;e++)s=_([2e3,1]).day(e),i=this.weekdaysMin(s,""),n=this.weekdaysShort(s,""),a=this.weekdays(s,""),o.push(i),r.push(n),l.push(a),u.push(i),u.push(n),u.push(a);for(o.sort(t),r.sort(t),l.sort(t),u.sort(t),e=0;e<7;e++)r[e]=dt(r[e]),l[e]=dt(l[e]),u[e]=dt(u[e]);this._weekdaysRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+l.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+r.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+o.join("|")+")","i")}function Bt(){return this.hours()%12||12}function Qt(t,e){F(t,0,0,(function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)}))}function Zt(t,e){return e._meridiemParse}F("H",["HH",2],0,"hour"),F("h",["hh",2],0,Bt),F("k",["kk",2],0,(function(){return this.hours()||24})),F("hmm",0,0,(function(){return""+Bt.apply(this)+R(this.minutes(),2)})),F("hmmss",0,0,(function(){return""+Bt.apply(this)+R(this.minutes(),2)+R(this.seconds(),2)})),F("Hmm",0,0,(function(){return""+this.hours()+R(this.minutes(),2)})),F("Hmmss",0,0,(function(){return""+this.hours()+R(this.minutes(),2)+R(this.seconds(),2)})),Qt("a",!0),Qt("A",!1),I("hour","h"),E("hour",13),ut("a",Zt),ut("A",Zt),ut("H",J),ut("h",J),ut("k",J),ut("HH",J,z),ut("hh",J,z),ut("kk",J,z),ut("hmm",X),ut("hmmss",K),ut("Hmm",X),ut("Hmmss",K),mt(["H","HH"],3),mt(["k","kk"],(function(t,e,s){var i=w(t);e[3]=24===i?0:i})),mt(["a","A"],(function(t,e,s){s._isPm=s._locale.isPM(t),s._meridiem=t})),mt(["h","hh"],(function(t,e,s){e[3]=w(t),m(s).bigHour=!0})),mt("hmm",(function(t,e,s){var i=t.length-2;e[3]=w(t.substr(0,i)),e[4]=w(t.substr(i)),m(s).bigHour=!0})),mt("hmmss",(function(t,e,s){var i=t.length-4,n=t.length-2;e[3]=w(t.substr(0,i)),e[4]=w(t.substr(i,2)),e[5]=w(t.substr(n)),m(s).bigHour=!0})),mt("Hmm",(function(t,e,s){var i=t.length-2;e[3]=w(t.substr(0,i)),e[4]=w(t.substr(i))})),mt("Hmmss",(function(t,e,s){var i=t.length-4,n=t.length-2;e[3]=w(t.substr(0,i)),e[4]=w(t.substr(i,2)),e[5]=w(t.substr(n))}));var Jt,Xt=yt("Hours",!0),Kt={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:St,monthsShort:Dt,week:{dow:0,doy:6},weekdays:Ht,weekdaysMin:$t,weekdaysShort:Wt,meridiemParse:/[ap]\.?m?\.?/i},te={},ee={};function se(t){return t?t.toLowerCase().replace("_","-"):t}function ie(e){var s=null;if(!te[e]&&void 0!==t&&t&&t.exports)try{s=Jt._abbr,!function(){var t=new Error("Cannot find module 'undefined'");throw t.code="MODULE_NOT_FOUND",t}(),ne(s)}catch(t){}return te[e]}function ne(t,e){var s;return t&&((s=o(e)?oe(t):ae(t,e))?Jt=s:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+t+" not found. Did you forget to load it?")),Jt._abbr}function ae(t,e){if(null!==e){var s,i=Kt;if(e.abbr=t,null!=te[t])M("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),i=te[t]._config;else if(null!=e.parentLocale)if(null!=te[e.parentLocale])i=te[e.parentLocale]._config;else{if(null==(s=ie(e.parentLocale)))return ee[e.parentLocale]||(ee[e.parentLocale]=[]),ee[e.parentLocale].push({name:t,config:e}),null;i=s._config}return te[t]=new j(O(i,e)),ee[t]&&ee[t].forEach((function(t){ae(t.name,t.config)})),ne(t),te[t]}return delete te[t],null}function oe(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Jt;if(!n(t)){if(e=ie(t))return e;t=[t]}return function(t){for(var e,s,i,n,a=0;a<t.length;){for(e=(n=se(t[a]).split("-")).length,s=(s=se(t[a+1]))?s.split("-"):null;e>0;){if(i=ie(n.slice(0,e).join("-")))return i;if(s&&s.length>=e&&C(n,s,!0)>=e-1)break;e--}a++}return Jt}(t)}function re(t){var e,s=t._a;return s&&-2===m(t).overflow&&(e=s[1]<0||s[1]>11?1:s[2]<1||s[2]>Ct(s[0],s[1])?2:s[3]<0||s[3]>24||24===s[3]&&(0!==s[4]||0!==s[5]||0!==s[6])?3:s[4]<0||s[4]>59?4:s[5]<0||s[5]>59?5:s[6]<0||s[6]>999?6:-1,m(t)._overflowDayOfYear&&(e<0||e>2)&&(e=2),m(t)._overflowWeeks&&-1===e&&(e=7),m(t)._overflowWeekday&&-1===e&&(e=8),m(t).overflow=e),t}function le(t,e,s){return null!=t?t:null!=e?e:s}function ue(t){var e,s,n,a,o,r=[];if(!t._d){for(n=function(t){var e=new Date(i.now());return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}(t),t._w&&null==t._a[2]&&null==t._a[1]&&function(t){var e,s,i,n,a,o,r,l;if(null!=(e=t._w).GG||null!=e.W||null!=e.E)a=1,o=4,s=le(e.GG,t._a[0],Et(xe(),1,4).year),i=le(e.W,1),((n=le(e.E,1))<1||n>7)&&(l=!0);else{a=t._locale._week.dow,o=t._locale._week.doy;var u=Et(xe(),a,o);s=le(e.gg,t._a[0],u.year),i=le(e.w,u.week),null!=e.d?((n=e.d)<0||n>6)&&(l=!0):null!=e.e?(n=e.e+a,(e.e<0||e.e>6)&&(l=!0)):n=a}i<1||i>Rt(s,a,o)?m(t)._overflowWeeks=!0:null!=l?m(t)._overflowWeekday=!0:(r=Nt(s,i,n,a,o),t._a[0]=r.year,t._dayOfYear=r.dayOfYear)}(t),null!=t._dayOfYear&&(o=le(t._a[0],n[0]),(t._dayOfYear>ft(o)||0===t._dayOfYear)&&(m(t)._overflowDayOfYear=!0),s=Lt(o,0,t._dayOfYear),t._a[1]=s.getUTCMonth(),t._a[2]=s.getUTCDate()),e=0;e<3&&null==t._a[e];++e)t._a[e]=r[e]=n[e];for(;e<7;e++)t._a[e]=r[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[3]&&0===t._a[4]&&0===t._a[5]&&0===t._a[6]&&(t._nextDay=!0,t._a[3]=0),t._d=(t._useUTC?Lt:It).apply(null,r),a=t._useUTC?t._d.getUTCDay():t._d.getDay(),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[3]=24),t._w&&void 0!==t._w.d&&t._w.d!==a&&(m(t).weekdayMismatch=!0)}}var ce=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,de=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,_e=/Z|[+-]\d\d(?::?\d\d)?/,me=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],he=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],pe=/^\/?Date\((\-?\d+)/i;function fe(t){var e,s,i,n,a,o,r=t._i,l=ce.exec(r)||de.exec(r);if(l){for(m(t).iso=!0,e=0,s=me.length;e<s;e++)if(me[e][1].exec(l[1])){n=me[e][0],i=!1!==me[e][2];break}if(null==n)return void(t._isValid=!1);if(l[3]){for(e=0,s=he.length;e<s;e++)if(he[e][1].exec(l[3])){a=(l[2]||" ")+he[e][0];break}if(null==a)return void(t._isValid=!1)}if(!i&&null!=a)return void(t._isValid=!1);if(l[4]){if(!_e.exec(l[4]))return void(t._isValid=!1);o="Z"}t._f=n+(a||"")+(o||""),ke(t)}else t._isValid=!1}var ve=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/;function ge(t){var e=parseInt(t,10);return e<=49?2e3+e:e<=999?1900+e:e}var be={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function ye(t){var e,s,i,n,a,o,r,l=ve.exec(t._i.replace(/\([^)]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s\s*/,"").replace(/\s\s*$/,""));if(l){var u=(e=l[4],s=l[3],i=l[2],n=l[5],a=l[6],o=l[7],r=[ge(e),Dt.indexOf(s),parseInt(i,10),parseInt(n,10),parseInt(a,10)],o&&r.push(parseInt(o,10)),r);if(!function(t,e,s){return!t||Wt.indexOf(t)===new Date(e[0],e[1],e[2]).getDay()||(m(s).weekdayMismatch=!0,s._isValid=!1,!1)}(l[1],u,t))return;t._a=u,t._tzm=function(t,e,s){if(t)return be[t];if(e)return 0;var i=parseInt(s,10),n=i%100;return(i-n)/100*60+n}(l[8],l[9],l[10]),t._d=Lt.apply(null,t._a),t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),m(t).rfc2822=!0}else t._isValid=!1}function ke(t){if(t._f!==i.ISO_8601)if(t._f!==i.RFC_2822){t._a=[],m(t).empty=!0;var e,s,n,a,o,r=""+t._i,l=r.length,u=0;for(n=V(t._f,t._locale).match(U)||[],e=0;e<n.length;e++)a=n[e],(s=(r.match(ct(a,t))||[])[0])&&((o=r.substr(0,r.indexOf(s))).length>0&&m(t).unusedInput.push(o),r=r.slice(r.indexOf(s)+s.length),u+=s.length),$[a]?(s?m(t).empty=!1:m(t).unusedTokens.push(a),pt(a,s,t)):t._strict&&!s&&m(t).unusedTokens.push(a);m(t).charsLeftOver=l-u,r.length>0&&m(t).unusedInput.push(r),t._a[3]<=12&&!0===m(t).bigHour&&t._a[3]>0&&(m(t).bigHour=void 0),m(t).parsedDateParts=t._a.slice(0),m(t).meridiem=t._meridiem,t._a[3]=function(t,e,s){var i;return null==s?e:null!=t.meridiemHour?t.meridiemHour(e,s):null!=t.isPM?((i=t.isPM(s))&&e<12&&(e+=12),i||12!==e||(e=0),e):e}(t._locale,t._a[3],t._meridiem),ue(t),re(t)}else ye(t);else fe(t)}function we(t){var e=t._i,s=t._f;return t._locale=t._locale||oe(t._l),null===e||void 0===s&&""===e?p({nullInput:!0}):("string"==typeof e&&(t._i=e=t._locale.preparse(e)),y(e)?new b(re(e)):(l(e)?t._d=e:n(s)?function(t){var e,s,i,n,a;if(0===t._f.length)return m(t).invalidFormat=!0,void(t._d=new Date(NaN));for(n=0;n<t._f.length;n++)a=0,e=v({},t),null!=t._useUTC&&(e._useUTC=t._useUTC),e._f=t._f[n],ke(e),h(e)&&(a+=m(e).charsLeftOver,a+=10*m(e).unusedTokens.length,m(e).score=a,(null==i||a<i)&&(i=a,s=e));d(t,s||e)}(t):s?ke(t):function(t){var e=t._i;o(e)?t._d=new Date(i.now()):l(e)?t._d=new Date(e.valueOf()):"string"==typeof e?function(t){var e=pe.exec(t._i);null===e?(fe(t),!1===t._isValid&&(delete t._isValid,ye(t),!1===t._isValid&&(delete t._isValid,i.createFromInputFallback(t)))):t._d=new Date(+e[1])}(t):n(e)?(t._a=u(e.slice(0),(function(t){return parseInt(t,10)})),ue(t)):a(e)?function(t){if(!t._d){var e=A(t._i);t._a=u([e.year,e.month,e.day||e.date,e.hour,e.minute,e.second,e.millisecond],(function(t){return t&&parseInt(t,10)})),ue(t)}}(t):r(e)?t._d=new Date(e):i.createFromInputFallback(t)}(t),h(t)||(t._d=null),t))}function Ce(t,e,s,i,o){var r,l={};return!0!==s&&!1!==s||(i=s,s=void 0),(a(t)&&function(t){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(t).length;var e;for(e in t)if(t.hasOwnProperty(e))return!1;return!0}(t)||n(t)&&0===t.length)&&(t=void 0),l._isAMomentObject=!0,l._useUTC=l._isUTC=o,l._l=s,l._i=t,l._f=e,l._strict=i,(r=new b(re(we(l))))._nextDay&&(r.add(1,"d"),r._nextDay=void 0),r}function xe(t,e,s,i){return Ce(t,e,s,i,!1)}i.createFromInputFallback=S("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",(function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))})),i.ISO_8601=function(){},i.RFC_2822=function(){};var Se=S("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",(function(){var t=xe.apply(null,arguments);return this.isValid()&&t.isValid()?t<this?this:t:p()})),De=S("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",(function(){var t=xe.apply(null,arguments);return this.isValid()&&t.isValid()?t>this?this:t:p()}));function Pe(t,e){var s,i;if(1===e.length&&n(e[0])&&(e=e[0]),!e.length)return xe();for(s=e[0],i=1;i<e.length;++i)e[i].isValid()&&!e[i][t](s)||(s=e[i]);return s}var Me=["year","quarter","month","week","day","hour","minute","second","millisecond"];function Te(t){var e=A(t),s=e.year||0,i=e.quarter||0,n=e.month||0,a=e.week||e.isoWeek||0,o=e.day||0,r=e.hour||0,l=e.minute||0,u=e.second||0,c=e.millisecond||0;this._isValid=function(t){for(var e in t)if(-1===gt.call(Me,e)||null!=t[e]&&isNaN(t[e]))return!1;for(var s=!1,i=0;i<Me.length;++i)if(t[Me[i]]){if(s)return!1;parseFloat(t[Me[i]])!==w(t[Me[i]])&&(s=!0)}return!0}(e),this._milliseconds=+c+1e3*u+6e4*l+1e3*r*60*60,this._days=+o+7*a,this._months=+n+3*i+12*s,this._data={},this._locale=oe(),this._bubble()}function Oe(t){return t instanceof Te}function je(t){return t<0?-1*Math.round(-1*t):Math.round(t)}function Ye(t,e){F(t,0,0,(function(){var t=this.utcOffset(),s="+";return t<0&&(t=-t,s="-"),s+R(~~(t/60),2)+e+R(~~t%60,2)}))}Ye("Z",":"),Ye("ZZ",""),ut("Z",ot),ut("ZZ",ot),mt(["Z","ZZ"],(function(t,e,s){s._useUTC=!0,s._tzm=Le(ot,t)}));var Ie=/([\+\-]|\d\d)/gi;function Le(t,e){var s=(e||"").match(t);if(null===s)return null;var i=((s[s.length-1]||[])+"").match(Ie)||["-",0,0],n=60*i[1]+w(i[2]);return 0===n?0:"+"===i[0]?n:-n}function Ae(t,e){var s,n;return e._isUTC?(s=e.clone(),n=(y(t)||l(t)?t.valueOf():xe(t).valueOf())-s.valueOf(),s._d.setTime(s._d.valueOf()+n),i.updateOffset(s,!1),s):xe(t).local()}function Ne(t){return 15*-Math.round(t._d.getTimezoneOffset()/15)}function Ee(){return!!this.isValid()&&this._isUTC&&0===this._offset}i.updateOffset=function(){};var Re=/^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Ue=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function He(t,e){var s,i,n,a,o,l,u=t,d=null;return Oe(t)?u={ms:t._milliseconds,d:t._days,M:t._months}:r(t)?(u={},e?u[e]=t:u.milliseconds=t):(d=Re.exec(t))?(s="-"===d[1]?-1:1,u={y:0,d:w(d[2])*s,h:w(d[3])*s,m:w(d[4])*s,s:w(d[5])*s,ms:w(je(1e3*d[6]))*s}):(d=Ue.exec(t))?(s="-"===d[1]?-1:1,u={y:We(d[2],s),M:We(d[3],s),w:We(d[4],s),d:We(d[5],s),h:We(d[6],s),m:We(d[7],s),s:We(d[8],s)}):null==u?u={}:"object"==typeof u&&("from"in u||"to"in u)&&(a=xe(u.from),o=xe(u.to),n=a.isValid()&&o.isValid()?(o=Ae(o,a),a.isBefore(o)?l=$e(a,o):((l=$e(o,a)).milliseconds=-l.milliseconds,l.months=-l.months),l):{milliseconds:0,months:0},(u={}).ms=n.milliseconds,u.M=n.months),i=new Te(u),Oe(t)&&c(t,"_locale")&&(i._locale=t._locale),i}function We(t,e){var s=t&&parseFloat(t.replace(",","."));return(isNaN(s)?0:s)*e}function $e(t,e){var s={};return s.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(s.months,"M").isAfter(e)&&--s.months,s.milliseconds=+e-+t.clone().add(s.months,"M"),s}function Fe(t,e){return function(s,i){var n;return null===i||isNaN(+i)||(M(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),n=s,s=i,i=n),qe(this,He(s="string"==typeof s?+s:s,i),t),this}}function qe(t,e,s,n){var a=e._milliseconds,o=je(e._days),r=je(e._months);t.isValid()&&(n=null==n||n,r&&Mt(t,kt(t,"Month")+r*s),o&&wt(t,"Date",kt(t,"Date")+o*s),a&&t._d.setTime(t._d.valueOf()+a*s),n&&i.updateOffset(t,o||r))}He.fn=Te.prototype,He.invalid=function(){return He(NaN)};var Ve=Fe(1,"add"),Ge=Fe(-1,"subtract");function ze(t,e){var s=12*(e.year()-t.year())+(e.month()-t.month()),i=t.clone().add(s,"months");return-(s+(e-i<0?(e-i)/(i-t.clone().add(s-1,"months")):(e-i)/(t.clone().add(s+1,"months")-i)))||0}function Be(t){var e;return void 0===t?this._locale._abbr:(null!=(e=oe(t))&&(this._locale=e),this)}i.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",i.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Qe=S("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",(function(t){return void 0===t?this.localeData():this.locale(t)}));function Ze(){return this._locale}function Je(t,e){return(t%e+e)%e}function Xe(t,e,s){return t<100&&t>=0?new Date(t+400,e,s)-126227808e5:new Date(t,e,s).valueOf()}function Ke(t,e,s){return t<100&&t>=0?Date.UTC(t+400,e,s)-126227808e5:Date.UTC(t,e,s)}function ts(t,e){F(0,[t,t.length],0,e)}function es(t,e,s,i,n){var a;return null==t?Et(this,i,n).year:(e>(a=Rt(t,i,n))&&(e=a),ss.call(this,t,e,s,i,n))}function ss(t,e,s,i,n){var a=Nt(t,e,s,i,n),o=Lt(a.year,0,a.dayOfYear);return this.year(o.getUTCFullYear()),this.month(o.getUTCMonth()),this.date(o.getUTCDate()),this}F(0,["gg",2],0,(function(){return this.weekYear()%100})),F(0,["GG",2],0,(function(){return this.isoWeekYear()%100})),ts("gggg","weekYear"),ts("ggggg","weekYear"),ts("GGGG","isoWeekYear"),ts("GGGGG","isoWeekYear"),I("weekYear","gg"),I("isoWeekYear","GG"),E("weekYear",1),E("isoWeekYear",1),ut("G",nt),ut("g",nt),ut("GG",J,z),ut("gg",J,z),ut("GGGG",et,Q),ut("gggg",et,Q),ut("GGGGG",st,Z),ut("ggggg",st,Z),ht(["gggg","ggggg","GGGG","GGGGG"],(function(t,e,s,i){e[i.substr(0,2)]=w(t)})),ht(["gg","GG"],(function(t,e,s,n){e[n]=i.parseTwoDigitYear(t)})),F("Q",0,"Qo","quarter"),I("quarter","Q"),E("quarter",7),ut("Q",G),mt("Q",(function(t,e){e[1]=3*(w(t)-1)})),F("D",["DD",2],"Do","date"),I("date","D"),E("date",9),ut("D",J),ut("DD",J,z),ut("Do",(function(t,e){return t?e._dayOfMonthOrdinalParse||e._ordinalParse:e._dayOfMonthOrdinalParseLenient})),mt(["D","DD"],2),mt("Do",(function(t,e){e[2]=w(t.match(J)[0])}));var is=yt("Date",!0);F("DDD",["DDDD",3],"DDDo","dayOfYear"),I("dayOfYear","DDD"),E("dayOfYear",4),ut("DDD",tt),ut("DDDD",B),mt(["DDD","DDDD"],(function(t,e,s){s._dayOfYear=w(t)})),F("m",["mm",2],0,"minute"),I("minute","m"),E("minute",14),ut("m",J),ut("mm",J,z),mt(["m","mm"],4);var ns=yt("Minutes",!1);F("s",["ss",2],0,"second"),I("second","s"),E("second",15),ut("s",J),ut("ss",J,z),mt(["s","ss"],5);var as,os=yt("Seconds",!1);for(F("S",0,0,(function(){return~~(this.millisecond()/100)})),F(0,["SS",2],0,(function(){return~~(this.millisecond()/10)})),F(0,["SSS",3],0,"millisecond"),F(0,["SSSS",4],0,(function(){return 10*this.millisecond()})),F(0,["SSSSS",5],0,(function(){return 100*this.millisecond()})),F(0,["SSSSSS",6],0,(function(){return 1e3*this.millisecond()})),F(0,["SSSSSSS",7],0,(function(){return 1e4*this.millisecond()})),F(0,["SSSSSSSS",8],0,(function(){return 1e5*this.millisecond()})),F(0,["SSSSSSSSS",9],0,(function(){return 1e6*this.millisecond()})),I("millisecond","ms"),E("millisecond",16),ut("S",tt,G),ut("SS",tt,z),ut("SSS",tt,B),as="SSSS";as.length<=9;as+="S")ut(as,it);function rs(t,e){e[6]=w(1e3*("0."+t))}for(as="S";as.length<=9;as+="S")mt(as,rs);var ls=yt("Milliseconds",!1);F("z",0,0,"zoneAbbr"),F("zz",0,0,"zoneName");var us=b.prototype;function cs(t){return t}us.add=Ve,us.calendar=function(t,e){var s=t||xe(),n=Ae(s,this).startOf("day"),a=i.calendarFormat(this,n)||"sameElse",o=e&&(T(e[a])?e[a].call(this,s):e[a]);return this.format(o||this.localeData().calendar(a,this,xe(s)))},us.clone=function(){return new b(this)},us.diff=function(t,e,s){var i,n,a;if(!this.isValid())return NaN;if(!(i=Ae(t,this)).isValid())return NaN;switch(n=6e4*(i.utcOffset()-this.utcOffset()),e=L(e)){case"year":a=ze(this,i)/12;break;case"month":a=ze(this,i);break;case"quarter":a=ze(this,i)/3;break;case"second":a=(this-i)/1e3;break;case"minute":a=(this-i)/6e4;break;case"hour":a=(this-i)/36e5;break;case"day":a=(this-i-n)/864e5;break;case"week":a=(this-i-n)/6048e5;break;default:a=this-i}return s?a:k(a)},us.endOf=function(t){var e;if(void 0===(t=L(t))||"millisecond"===t||!this.isValid())return this;var s=this._isUTC?Ke:Xe;switch(t){case"year":e=s(this.year()+1,0,1)-1;break;case"quarter":e=s(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":e=s(this.year(),this.month()+1,1)-1;break;case"week":e=s(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":e=s(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":e=s(this.year(),this.month(),this.date()+1)-1;break;case"hour":e=this._d.valueOf(),e+=36e5-Je(e+(this._isUTC?0:6e4*this.utcOffset()),36e5)-1;break;case"minute":e=this._d.valueOf(),e+=6e4-Je(e,6e4)-1;break;case"second":e=this._d.valueOf(),e+=1e3-Je(e,1e3)-1}return this._d.setTime(e),i.updateOffset(this,!0),this},us.format=function(t){t||(t=this.isUtc()?i.defaultFormatUtc:i.defaultFormat);var e=q(this,t);return this.localeData().postformat(e)},us.from=function(t,e){return this.isValid()&&(y(t)&&t.isValid()||xe(t).isValid())?He({to:this,from:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()},us.fromNow=function(t){return this.from(xe(),t)},us.to=function(t,e){return this.isValid()&&(y(t)&&t.isValid()||xe(t).isValid())?He({from:this,to:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()},us.toNow=function(t){return this.to(xe(),t)},us.get=function(t){return T(this[t=L(t)])?this[t]():this},us.invalidAt=function(){return m(this).overflow},us.isAfter=function(t,e){var s=y(t)?t:xe(t);return!(!this.isValid()||!s.isValid())&&("millisecond"===(e=L(e)||"millisecond")?this.valueOf()>s.valueOf():s.valueOf()<this.clone().startOf(e).valueOf())},us.isBefore=function(t,e){var s=y(t)?t:xe(t);return!(!this.isValid()||!s.isValid())&&("millisecond"===(e=L(e)||"millisecond")?this.valueOf()<s.valueOf():this.clone().endOf(e).valueOf()<s.valueOf())},us.isBetween=function(t,e,s,i){var n=y(t)?t:xe(t),a=y(e)?e:xe(e);return!!(this.isValid()&&n.isValid()&&a.isValid())&&("("===(i=i||"()")[0]?this.isAfter(n,s):!this.isBefore(n,s))&&(")"===i[1]?this.isBefore(a,s):!this.isAfter(a,s))},us.isSame=function(t,e){var s,i=y(t)?t:xe(t);return!(!this.isValid()||!i.isValid())&&("millisecond"===(e=L(e)||"millisecond")?this.valueOf()===i.valueOf():(s=i.valueOf(),this.clone().startOf(e).valueOf()<=s&&s<=this.clone().endOf(e).valueOf()))},us.isSameOrAfter=function(t,e){return this.isSame(t,e)||this.isAfter(t,e)},us.isSameOrBefore=function(t,e){return this.isSame(t,e)||this.isBefore(t,e)},us.isValid=function(){return h(this)},us.lang=Qe,us.locale=Be,us.localeData=Ze,us.max=De,us.min=Se,us.parsingFlags=function(){return d({},m(this))},us.set=function(t,e){if("object"==typeof t)for(var s=function(t){var e=[];for(var s in t)e.push({unit:s,priority:N[s]});return e.sort((function(t,e){return t.priority-e.priority})),e}(t=A(t)),i=0;i<s.length;i++)this[s[i].unit](t[s[i].unit]);else if(T(this[t=L(t)]))return this[t](e);return this},us.startOf=function(t){var e;if(void 0===(t=L(t))||"millisecond"===t||!this.isValid())return this;var s=this._isUTC?Ke:Xe;switch(t){case"year":e=s(this.year(),0,1);break;case"quarter":e=s(this.year(),this.month()-this.month()%3,1);break;case"month":e=s(this.year(),this.month(),1);break;case"week":e=s(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":e=s(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":e=s(this.year(),this.month(),this.date());break;case"hour":e=this._d.valueOf(),e-=Je(e+(this._isUTC?0:6e4*this.utcOffset()),36e5);break;case"minute":e=this._d.valueOf(),e-=Je(e,6e4);break;case"second":e=this._d.valueOf(),e-=Je(e,1e3)}return this._d.setTime(e),i.updateOffset(this,!0),this},us.subtract=Ge,us.toArray=function(){var t=this;return[t.year(),t.month(),t.date(),t.hour(),t.minute(),t.second(),t.millisecond()]},us.toObject=function(){var t=this;return{years:t.year(),months:t.month(),date:t.date(),hours:t.hours(),minutes:t.minutes(),seconds:t.seconds(),milliseconds:t.milliseconds()}},us.toDate=function(){return new Date(this.valueOf())},us.toISOString=function(t){if(!this.isValid())return null;var e=!0!==t,s=e?this.clone().utc():this;return s.year()<0||s.year()>9999?q(s,e?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):T(Date.prototype.toISOString)?e?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",q(s,"Z")):q(s,e?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},us.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var t="moment",e="";this.isLocal()||(t=0===this.utcOffset()?"moment.utc":"moment.parseZone",e="Z");var s="["+t+'("]',i=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",n=e+'[")]';return this.format(s+i+"-MM-DD[T]HH:mm:ss.SSS"+n)},us.toJSON=function(){return this.isValid()?this.toISOString():null},us.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},us.unix=function(){return Math.floor(this.valueOf()/1e3)},us.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},us.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},us.year=bt,us.isLeapYear=function(){return vt(this.year())},us.weekYear=function(t){return es.call(this,t,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},us.isoWeekYear=function(t){return es.call(this,t,this.isoWeek(),this.isoWeekday(),1,4)},us.quarter=us.quarters=function(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)},us.month=Tt,us.daysInMonth=function(){return Ct(this.year(),this.month())},us.week=us.weeks=function(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")},us.isoWeek=us.isoWeeks=function(t){var e=Et(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")},us.weeksInYear=function(){var t=this.localeData()._week;return Rt(this.year(),t.dow,t.doy)},us.isoWeeksInYear=function(){return Rt(this.year(),1,4)},us.date=is,us.day=us.days=function(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=function(t,e){return"string"!=typeof t?t:isNaN(t)?"number"==typeof(t=e.weekdaysParse(t))?t:null:parseInt(t,10)}(t,this.localeData()),this.add(t-e,"d")):e},us.weekday=function(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")},us.isoWeekday=function(t){if(!this.isValid())return null!=t?this:NaN;if(null!=t){var e=function(t,e){return"string"==typeof t?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}(t,this.localeData());return this.day(this.day()%7?e:e-7)}return this.day()||7},us.dayOfYear=function(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")},us.hour=us.hours=Xt,us.minute=us.minutes=ns,us.second=us.seconds=os,us.millisecond=us.milliseconds=ls,us.utcOffset=function(t,e,s){var n,a=this._offset||0;if(!this.isValid())return null!=t?this:NaN;if(null!=t){if("string"==typeof t){if(null===(t=Le(ot,t)))return this}else Math.abs(t)<16&&!s&&(t*=60);return!this._isUTC&&e&&(n=Ne(this)),this._offset=t,this._isUTC=!0,null!=n&&this.add(n,"m"),a!==t&&(!e||this._changeInProgress?qe(this,He(t-a,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,i.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?a:Ne(this)},us.utc=function(t){return this.utcOffset(0,t)},us.local=function(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(Ne(this),"m")),this},us.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var t=Le(at,this._i);null!=t?this.utcOffset(t):this.utcOffset(0,!0)}return this},us.hasAlignedHourOffset=function(t){return!!this.isValid()&&(t=t?xe(t).utcOffset():0,(this.utcOffset()-t)%60==0)},us.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},us.isLocal=function(){return!!this.isValid()&&!this._isUTC},us.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},us.isUtc=Ee,us.isUTC=Ee,us.zoneAbbr=function(){return this._isUTC?"UTC":""},us.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},us.dates=S("dates accessor is deprecated. Use date instead.",is),us.months=S("months accessor is deprecated. Use month instead",Tt),us.years=S("years accessor is deprecated. Use year instead",bt),us.zone=S("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",(function(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()})),us.isDSTShifted=S("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",(function(){if(!o(this._isDSTShifted))return this._isDSTShifted;var t={};if(v(t,this),(t=we(t))._a){var e=t._isUTC?_(t._a):xe(t._a);this._isDSTShifted=this.isValid()&&C(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}));var ds=j.prototype;function _s(t,e,s,i){var n=oe(),a=_().set(i,e);return n[s](a,t)}function ms(t,e,s){if(r(t)&&(e=t,t=void 0),t=t||"",null!=e)return _s(t,e,s,"month");var i,n=[];for(i=0;i<12;i++)n[i]=_s(t,i,s,"month");return n}function hs(t,e,s,i){"boolean"==typeof t?(r(e)&&(s=e,e=void 0),e=e||""):(s=e=t,t=!1,r(e)&&(s=e,e=void 0),e=e||"");var n,a=oe(),o=t?a._week.dow:0;if(null!=s)return _s(e,(s+o)%7,i,"day");var l=[];for(n=0;n<7;n++)l[n]=_s(e,(n+o)%7,i,"day");return l}ds.calendar=function(t,e,s){var i=this._calendar[t]||this._calendar.sameElse;return T(i)?i.call(e,s):i},ds.longDateFormat=function(t){var e=this._longDateFormat[t],s=this._longDateFormat[t.toUpperCase()];return e||!s?e:(this._longDateFormat[t]=s.replace(/MMMM|MM|DD|dddd/g,(function(t){return t.slice(1)})),this._longDateFormat[t])},ds.invalidDate=function(){return this._invalidDate},ds.ordinal=function(t){return this._ordinal.replace("%d",t)},ds.preparse=cs,ds.postformat=cs,ds.relativeTime=function(t,e,s,i){var n=this._relativeTime[s];return T(n)?n(t,e,s,i):n.replace(/%d/i,t)},ds.pastFuture=function(t,e){var s=this._relativeTime[t>0?"future":"past"];return T(s)?s(e):s.replace(/%s/i,e)},ds.set=function(t){var e,s;for(s in t)T(e=t[s])?this[s]=e:this["_"+s]=e;this._config=t,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},ds.months=function(t,e){return t?n(this._months)?this._months[t.month()]:this._months[(this._months.isFormat||xt).test(e)?"format":"standalone"][t.month()]:n(this._months)?this._months:this._months.standalone},ds.monthsShort=function(t,e){return t?n(this._monthsShort)?this._monthsShort[t.month()]:this._monthsShort[xt.test(e)?"format":"standalone"][t.month()]:n(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},ds.monthsParse=function(t,e,s){var i,n,a;if(this._monthsParseExact)return Pt.call(this,t,e,s);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),i=0;i<12;i++){if(n=_([2e3,i]),s&&!this._longMonthsParse[i]&&(this._longMonthsParse[i]=new RegExp("^"+this.months(n,"").replace(".","")+"$","i"),this._shortMonthsParse[i]=new RegExp("^"+this.monthsShort(n,"").replace(".","")+"$","i")),s||this._monthsParse[i]||(a="^"+this.months(n,"")+"|^"+this.monthsShort(n,""),this._monthsParse[i]=new RegExp(a.replace(".",""),"i")),s&&"MMMM"===e&&this._longMonthsParse[i].test(t))return i;if(s&&"MMM"===e&&this._shortMonthsParse[i].test(t))return i;if(!s&&this._monthsParse[i].test(t))return i}},ds.monthsRegex=function(t){return this._monthsParseExact?(c(this,"_monthsRegex")||Yt.call(this),t?this._monthsStrictRegex:this._monthsRegex):(c(this,"_monthsRegex")||(this._monthsRegex=jt),this._monthsStrictRegex&&t?this._monthsStrictRegex:this._monthsRegex)},ds.monthsShortRegex=function(t){return this._monthsParseExact?(c(this,"_monthsRegex")||Yt.call(this),t?this._monthsShortStrictRegex:this._monthsShortRegex):(c(this,"_monthsShortRegex")||(this._monthsShortRegex=Ot),this._monthsShortStrictRegex&&t?this._monthsShortStrictRegex:this._monthsShortRegex)},ds.week=function(t){return Et(t,this._week.dow,this._week.doy).week},ds.firstDayOfYear=function(){return this._week.doy},ds.firstDayOfWeek=function(){return this._week.dow},ds.weekdays=function(t,e){var s=n(this._weekdays)?this._weekdays:this._weekdays[t&&!0!==t&&this._weekdays.isFormat.test(e)?"format":"standalone"];return!0===t?Ut(s,this._week.dow):t?s[t.day()]:s},ds.weekdaysMin=function(t){return!0===t?Ut(this._weekdaysMin,this._week.dow):t?this._weekdaysMin[t.day()]:this._weekdaysMin},ds.weekdaysShort=function(t){return!0===t?Ut(this._weekdaysShort,this._week.dow):t?this._weekdaysShort[t.day()]:this._weekdaysShort},ds.weekdaysParse=function(t,e,s){var i,n,a;if(this._weekdaysParseExact)return Ft.call(this,t,e,s);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),i=0;i<7;i++){if(n=_([2e3,1]).day(i),s&&!this._fullWeekdaysParse[i]&&(this._fullWeekdaysParse[i]=new RegExp("^"+this.weekdays(n,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[i]=new RegExp("^"+this.weekdaysShort(n,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[i]=new RegExp("^"+this.weekdaysMin(n,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[i]||(a="^"+this.weekdays(n,"")+"|^"+this.weekdaysShort(n,"")+"|^"+this.weekdaysMin(n,""),this._weekdaysParse[i]=new RegExp(a.replace(".",""),"i")),s&&"dddd"===e&&this._fullWeekdaysParse[i].test(t))return i;if(s&&"ddd"===e&&this._shortWeekdaysParse[i].test(t))return i;if(s&&"dd"===e&&this._minWeekdaysParse[i].test(t))return i;if(!s&&this._weekdaysParse[i].test(t))return i}},ds.weekdaysRegex=function(t){return this._weekdaysParseExact?(c(this,"_weekdaysRegex")||zt.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(c(this,"_weekdaysRegex")||(this._weekdaysRegex=qt),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)},ds.weekdaysShortRegex=function(t){return this._weekdaysParseExact?(c(this,"_weekdaysRegex")||zt.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(c(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Vt),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},ds.weekdaysMinRegex=function(t){return this._weekdaysParseExact?(c(this,"_weekdaysRegex")||zt.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(c(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Gt),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},ds.isPM=function(t){return"p"===(t+"").toLowerCase().charAt(0)},ds.meridiem=function(t,e,s){return t>11?s?"pm":"PM":s?"am":"AM"},ne("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10;return t+(1===w(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")}}),i.lang=S("moment.lang is deprecated. Use moment.locale instead.",ne),i.langData=S("moment.langData is deprecated. Use moment.localeData instead.",oe);var ps=Math.abs;function fs(t,e,s,i){var n=He(e,s);return t._milliseconds+=i*n._milliseconds,t._days+=i*n._days,t._months+=i*n._months,t._bubble()}function vs(t){return t<0?Math.floor(t):Math.ceil(t)}function gs(t){return 4800*t/146097}function bs(t){return 146097*t/4800}function ys(t){return function(){return this.as(t)}}var ks=ys("ms"),ws=ys("s"),Cs=ys("m"),xs=ys("h"),Ss=ys("d"),Ds=ys("w"),Ps=ys("M"),Ms=ys("Q"),Ts=ys("y");function Os(t){return function(){return this.isValid()?this._data[t]:NaN}}var js=Os("milliseconds"),Ys=Os("seconds"),Is=Os("minutes"),Ls=Os("hours"),As=Os("days"),Ns=Os("months"),Es=Os("years"),Rs=Math.round,Us={ss:44,s:45,m:45,h:22,d:26,M:11};function Hs(t,e,s,i,n){return n.relativeTime(e||1,!!s,t,i)}var Ws=Math.abs;function $s(t){return(t>0)-(t<0)||+t}function Fs(){if(!this.isValid())return this.localeData().invalidDate();var t,e,s=Ws(this._milliseconds)/1e3,i=Ws(this._days),n=Ws(this._months);t=k(s/60),e=k(t/60),s%=60,t%=60;var a=k(n/12),o=n%=12,r=i,l=e,u=t,c=s?s.toFixed(3).replace(/\.?0+$/,""):"",d=this.asSeconds();if(!d)return"P0D";var _=d<0?"-":"",m=$s(this._months)!==$s(d)?"-":"",h=$s(this._days)!==$s(d)?"-":"",p=$s(this._milliseconds)!==$s(d)?"-":"";return _+"P"+(a?m+a+"Y":"")+(o?m+o+"M":"")+(r?h+r+"D":"")+(l||u||c?"T":"")+(l?p+l+"H":"")+(u?p+u+"M":"")+(c?p+c+"S":"")}var qs=Te.prototype;return qs.isValid=function(){return this._isValid},qs.abs=function(){var t=this._data;return this._milliseconds=ps(this._milliseconds),this._days=ps(this._days),this._months=ps(this._months),t.milliseconds=ps(t.milliseconds),t.seconds=ps(t.seconds),t.minutes=ps(t.minutes),t.hours=ps(t.hours),t.months=ps(t.months),t.years=ps(t.years),this},qs.add=function(t,e){return fs(this,t,e,1)},qs.subtract=function(t,e){return fs(this,t,e,-1)},qs.as=function(t){if(!this.isValid())return NaN;var e,s,i=this._milliseconds;if("month"===(t=L(t))||"quarter"===t||"year"===t)switch(e=this._days+i/864e5,s=this._months+gs(e),t){case"month":return s;case"quarter":return s/3;case"year":return s/12}else switch(e=this._days+Math.round(bs(this._months)),t){case"week":return e/7+i/6048e5;case"day":return e+i/864e5;case"hour":return 24*e+i/36e5;case"minute":return 1440*e+i/6e4;case"second":return 86400*e+i/1e3;case"millisecond":return Math.floor(864e5*e)+i;default:throw new Error("Unknown unit "+t)}},qs.asMilliseconds=ks,qs.asSeconds=ws,qs.asMinutes=Cs,qs.asHours=xs,qs.asDays=Ss,qs.asWeeks=Ds,qs.asMonths=Ps,qs.asQuarters=Ms,qs.asYears=Ts,qs.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*w(this._months/12):NaN},qs._bubble=function(){var t,e,s,i,n,a=this._milliseconds,o=this._days,r=this._months,l=this._data;return a>=0&&o>=0&&r>=0||a<=0&&o<=0&&r<=0||(a+=864e5*vs(bs(r)+o),o=0,r=0),l.milliseconds=a%1e3,t=k(a/1e3),l.seconds=t%60,e=k(t/60),l.minutes=e%60,s=k(e/60),l.hours=s%24,o+=k(s/24),n=k(gs(o)),r+=n,o-=vs(bs(n)),i=k(r/12),r%=12,l.days=o,l.months=r,l.years=i,this},qs.clone=function(){return He(this)},qs.get=function(t){return t=L(t),this.isValid()?this[t+"s"]():NaN},qs.milliseconds=js,qs.seconds=Ys,qs.minutes=Is,qs.hours=Ls,qs.days=As,qs.weeks=function(){return k(this.days()/7)},qs.months=Ns,qs.years=Es,qs.humanize=function(t){if(!this.isValid())return this.localeData().invalidDate();var e=this.localeData(),s=function(t,e,s){var i=He(t).abs(),n=Rs(i.as("s")),a=Rs(i.as("m")),o=Rs(i.as("h")),r=Rs(i.as("d")),l=Rs(i.as("M")),u=Rs(i.as("y")),c=n<=Us.ss&&["s",n]||n<Us.s&&["ss",n]||a<=1&&["m"]||a<Us.m&&["mm",a]||o<=1&&["h"]||o<Us.h&&["hh",o]||r<=1&&["d"]||r<Us.d&&["dd",r]||l<=1&&["M"]||l<Us.M&&["MM",l]||u<=1&&["y"]||["yy",u];return c[2]=e,c[3]=+t>0,c[4]=s,Hs.apply(null,c)}(this,!t,e);return t&&(s=e.pastFuture(+this,s)),e.postformat(s)},qs.toISOString=Fs,qs.toString=Fs,qs.toJSON=Fs,qs.locale=Be,qs.localeData=Ze,qs.toIsoString=S("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Fs),qs.lang=Qe,F("X",0,0,"unix"),F("x",0,0,"valueOf"),ut("x",nt),ut("X",/[+-]?\d+(\.\d{1,3})?/),mt("X",(function(t,e,s){s._d=new Date(1e3*parseFloat(t,10))})),mt("x",(function(t,e,s){s._d=new Date(w(t))})),i.version="2.24.0",e=xe,i.fn=us,i.min=function(){var t=[].slice.call(arguments,0);return Pe("isBefore",t)},i.max=function(){var t=[].slice.call(arguments,0);return Pe("isAfter",t)},i.now=function(){return Date.now?Date.now():+new Date},i.utc=_,i.unix=function(t){return xe(1e3*t)},i.months=function(t,e){return ms(t,e,"months")},i.isDate=l,i.locale=ne,i.invalid=p,i.duration=He,i.isMoment=y,i.weekdays=function(t,e,s){return hs(t,e,s,"weekdays")},i.parseZone=function(){return xe.apply(null,arguments).parseZone()},i.localeData=oe,i.isDuration=Oe,i.monthsShort=function(t,e){return ms(t,e,"monthsShort")},i.weekdaysMin=function(t,e,s){return hs(t,e,s,"weekdaysMin")},i.defineLocale=ae,i.updateLocale=function(t,e){if(null!=e){var s,i,n=Kt;null!=(i=ie(t))&&(n=i._config),e=O(n,e),(s=new j(e)).parentLocale=te[t],te[t]=s,ne(t)}else null!=te[t]&&(null!=te[t].parentLocale?te[t]=te[t].parentLocale:null!=te[t]&&delete te[t]);return te[t]},i.locales=function(){return D(te)},i.weekdaysShort=function(t,e,s){return hs(t,e,s,"weekdaysShort")},i.normalizeUnits=L,i.relativeTimeRounding=function(t){return void 0===t?Rs:"function"==typeof t&&(Rs=t,!0)},i.relativeTimeThreshold=function(t,e){return void 0!==Us[t]&&(void 0===e?Us[t]:(Us[t]=e,"s"===t&&(Us.ss=e-1),!0))},i.calendarFormat=function(t,e){var s=t.diff(e,"days",!0);return s<-6?"sameElse":s<-1?"lastWeek":s<0?"lastDay":s<1?"sameDay":s<2?"nextDay":s<7?"nextWeek":"sameElse"},i.prototype=us,i.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},i}()}).call(this,s("./node_modules/webpack/buildin/module.js")(t))},"./node_modules/vue-loader/lib/runtime/componentNormalizer.js":function(t,e,s){"use strict";function i(t,e,s,i,n,a,o,r){var l,u="function"==typeof t?t.options:t;if(e&&(u.render=e,u.staticRenderFns=s,u._compiled=!0),i&&(u.functional=!0),a&&(u._scopeId="data-v-"+a),o?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),n&&n.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},u._ssrRegister=l):n&&(l=r?function(){n.call(this,this.$root.$options.shadowRoot)}:n),l)if(u.functional){u._injectStyles=l;var c=u.render;u.render=function(t,e){return l.call(e),c(t,e)}}else{var d=u.beforeCreate;u.beforeCreate=d?[].concat(d,l):[l]}return{exports:t,options:u}}s.d(e,"a",(function(){return i}))},"./node_modules/webpack/buildin/global.js":function(t,e){var s;s=function(){return this}();try{s=s||new Function("return this")()}catch(t){"object"==typeof window&&(s=window)}t.exports=s},"./node_modules/webpack/buildin/module.js":function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},"./node_modules/xss/lib/default.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/index.js").FilterCSS,n=s("./node_modules/cssfilter/lib/index.js").getDefaultWhiteList,a=s("./node_modules/xss/lib/util.js");function o(){return{a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","loop","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height"],ins:["datetime"],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],sup:[],strong:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","loop","preload","src","height","width"]}}var r=new i;function l(t){return t.replace(u,"&lt;").replace(c,"&gt;")}var u=/</g,c=/>/g,d=/"/g,_=/&quot;/g,m=/&#([a-zA-Z0-9]*);?/gim,h=/&colon;?/gim,p=/&newline;?/gim,f=/((j\s*a\s*v\s*a|v\s*b|l\s*i\s*v\s*e)\s*s\s*c\s*r\s*i\s*p\s*t\s*|m\s*o\s*c\s*h\s*a)\:/gi,v=/e\s*x\s*p\s*r\s*e\s*s\s*s\s*i\s*o\s*n\s*\(.*/gi,g=/u\s*r\s*l\s*\(.*/gi;function b(t){return t.replace(d,"&quot;")}function y(t){return t.replace(_,'"')}function k(t){return t.replace(m,(function(t,e){return"x"===e[0]||"X"===e[0]?String.fromCharCode(parseInt(e.substr(1),16)):String.fromCharCode(parseInt(e,10))}))}function w(t){return t.replace(h,":").replace(p," ")}function C(t){for(var e="",s=0,i=t.length;s<i;s++)e+=t.charCodeAt(s)<32?" ":t.charAt(s);return a.trim(e)}function x(t){return t=C(t=w(t=k(t=y(t))))}function S(t){return t=l(t=b(t))}var D=/<!--[\s\S]*?-->/g;e.whiteList={a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","loop","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height"],ins:["datetime"],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],sup:[],strong:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","loop","preload","src","height","width"]},e.getDefaultWhiteList=o,e.onTag=function(t,e,s){},e.onIgnoreTag=function(t,e,s){},e.onTagAttr=function(t,e,s){},e.onIgnoreTagAttr=function(t,e,s){},e.safeAttrValue=function(t,e,s,i){if(s=x(s),"href"===e||"src"===e){if("#"===(s=a.trim(s)))return"#";if("http://"!==s.substr(0,7)&&"https://"!==s.substr(0,8)&&"mailto:"!==s.substr(0,7)&&"tel:"!==s.substr(0,4)&&"#"!==s[0]&&"/"!==s[0])return""}else if("background"===e){if(f.lastIndex=0,f.test(s))return""}else if("style"===e){if(v.lastIndex=0,v.test(s))return"";if(g.lastIndex=0,g.test(s)&&(f.lastIndex=0,f.test(s)))return"";!1!==i&&(s=(i=i||r).process(s))}return s=S(s)},e.escapeHtml=l,e.escapeQuote=b,e.unescapeQuote=y,e.escapeHtmlEntities=k,e.escapeDangerHtml5Entities=w,e.clearNonPrintableCharacter=C,e.friendlyAttrValue=x,e.escapeAttrValue=S,e.onIgnoreTagStripAll=function(){return""},e.StripTagBody=function(t,e){"function"!=typeof e&&(e=function(){});var s=!Array.isArray(t),i=[],n=!1;return{onIgnoreTag:function(o,r,l){if(function(e){return!!s||-1!==a.indexOf(t,e)}(o)){if(l.isClosing){var u="[/removed]",c=l.position+u.length;return i.push([!1!==n?n:l.position,c]),n=!1,u}return n||(n=l.position),"[removed]"}return e(o,r,l)},remove:function(t){var e="",s=0;return a.forEach(i,(function(i){e+=t.slice(s,i[0]),s=i[1]})),e+=t.slice(s)}}},e.stripCommentTag=function(t){return t.replace(D,"")},e.stripBlankChar=function(t){var e=t.split("");return(e=e.filter((function(t){var e=t.charCodeAt(0);return 127!==e&&(!(e<=31)||(10===e||13===e))}))).join("")},e.cssFilter=r,e.getDefaultCSSWhiteList=n},"./node_modules/xss/lib/index.js":function(t,e,s){var i=s("./node_modules/xss/lib/default.js"),n=s("./node_modules/xss/lib/parser.js"),a=s("./node_modules/xss/lib/xss.js");function o(t,e){return new a(e).process(t)}for(var r in(e=t.exports=o).filterXSS=o,e.FilterXSS=a,i)e[r]=i[r];for(var r in n)e[r]=n[r];"undefined"!=typeof window&&(window.filterXSS=t.exports),"undefined"!=typeof self&&"undefined"!=typeof DedicatedWorkerGlobalScope&&self instanceof DedicatedWorkerGlobalScope&&(self.filterXSS=t.exports)},"./node_modules/xss/lib/parser.js":function(t,e,s){var i=s("./node_modules/xss/lib/util.js");function n(t){var e=i.spaceIndex(t);if(-1===e)var s=t.slice(1,-1);else s=t.slice(1,e+1);return"/"===(s=i.trim(s).toLowerCase()).slice(0,1)&&(s=s.slice(1)),"/"===s.slice(-1)&&(s=s.slice(0,-1)),s}function a(t){return"</"===t.slice(0,2)}var o=/[^a-zA-Z0-9_:\.\-]/gim;function r(t,e){for(;e<t.length;e++){var s=t[e];if(" "!==s)return"="===s?e:-1}}function l(t,e){for(;e>0;e--){var s=t[e];if(" "!==s)return"="===s?e:-1}}function u(t){return function(t){return'"'===t[0]&&'"'===t[t.length-1]||"'"===t[0]&&"'"===t[t.length-1]}(t)?t.substr(1,t.length-2):t}e.parseTag=function(t,e,s){var i="",o=0,r=!1,l=!1,u=0,c=t.length,d="",_="";for(u=0;u<c;u++){var m=t.charAt(u);if(!1===r){if("<"===m){r=u;continue}}else if(!1===l){if("<"===m){i+=s(t.slice(o,u)),r=u,o=u;continue}if(">"===m){i+=s(t.slice(o,r)),d=n(_=t.slice(r,u+1)),i+=e(r,i.length,d,_,a(_)),o=u+1,r=!1;continue}if(('"'===m||"'"===m)&&"="===t.charAt(u-1)){l=m;continue}}else if(m===l){l=!1;continue}}return o<t.length&&(i+=s(t.substr(o))),i},e.parseAttr=function(t,e){var s=0,n=[],a=!1,c=t.length;function d(t,s){if(!((t=(t=i.trim(t)).replace(o,"").toLowerCase()).length<1)){var a=e(t,s||"");a&&n.push(a)}}for(var _=0;_<c;_++){var m,h=t.charAt(_);if(!1!==a||"="!==h)if(!1===a||_!==s||'"'!==h&&"'"!==h||"="!==t.charAt(_-1))if(/\s|\n|\t/.test(h)){if(t=t.replace(/\s|\n|\t/g," "),!1===a){if(-1===(m=r(t,_))){d(i.trim(t.slice(s,_))),a=!1,s=_+1;continue}_=m-1;continue}if(-1===(m=l(t,_-1))){d(a,u(i.trim(t.slice(s,_)))),a=!1,s=_+1;continue}}else;else{if(-1===(m=t.indexOf(h,_+1)))break;d(a,i.trim(t.slice(s+1,m))),a=!1,s=(_=m)+1}else a=t.slice(s,_),s=_+1}return s<t.length&&(!1===a?d(t.slice(s)):d(a,u(i.trim(t.slice(s))))),i.trim(n.join(" "))}},"./node_modules/xss/lib/util.js":function(t,e){t.exports={indexOf:function(t,e){var s,i;if(Array.prototype.indexOf)return t.indexOf(e);for(s=0,i=t.length;s<i;s++)if(t[s]===e)return s;return-1},forEach:function(t,e,s){var i,n;if(Array.prototype.forEach)return t.forEach(e,s);for(i=0,n=t.length;i<n;i++)e.call(s,t[i],i,t)},trim:function(t){return String.prototype.trim?t.trim():t.replace(/(^\s*)|(\s*$)/g,"")},spaceIndex:function(t){var e=/\s|\n|\t/.exec(t);return e?e.index:-1}}},"./node_modules/xss/lib/xss.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/index.js").FilterCSS,n=s("./node_modules/xss/lib/default.js"),a=s("./node_modules/xss/lib/parser.js"),o=a.parseTag,r=a.parseAttr,l=s("./node_modules/xss/lib/util.js");function u(t){return null==t}function c(t){(t=function(t){var e={};for(var s in t)e[s]=t[s];return e}(t||{})).stripIgnoreTag&&(t.onIgnoreTag&&console.error('Notes: cannot use these two options "stripIgnoreTag" and "onIgnoreTag" at the same time'),t.onIgnoreTag=n.onIgnoreTagStripAll),t.whiteList=t.whiteList||n.whiteList,t.onTag=t.onTag||n.onTag,t.onTagAttr=t.onTagAttr||n.onTagAttr,t.onIgnoreTag=t.onIgnoreTag||n.onIgnoreTag,t.onIgnoreTagAttr=t.onIgnoreTagAttr||n.onIgnoreTagAttr,t.safeAttrValue=t.safeAttrValue||n.safeAttrValue,t.escapeHtml=t.escapeHtml||n.escapeHtml,this.options=t,!1===t.css?this.cssFilter=!1:(t.css=t.css||{},this.cssFilter=new i(t.css))}c.prototype.process=function(t){if(!(t=(t=t||"").toString()))return"";var e=this.options,s=e.whiteList,i=e.onTag,a=e.onIgnoreTag,c=e.onTagAttr,d=e.onIgnoreTagAttr,_=e.safeAttrValue,m=e.escapeHtml,h=this.cssFilter;e.stripBlankChar&&(t=n.stripBlankChar(t)),e.allowCommentTag||(t=n.stripCommentTag(t));var p=!1;if(e.stripIgnoreTagBody){p=n.StripTagBody(e.stripIgnoreTagBody,a);a=p.onIgnoreTag}var f=o(t,(function(t,e,n,o,p){var f,v={sourcePosition:t,position:e,isClosing:p,isWhite:s.hasOwnProperty(n)};if(!u(f=i(n,o,v)))return f;if(v.isWhite){if(v.isClosing)return"</"+n+">";var g=function(t){var e=l.spaceIndex(t);if(-1===e)return{html:"",closing:"/"===t[t.length-2]};var s="/"===(t=l.trim(t.slice(e+1,-1)))[t.length-1];return s&&(t=l.trim(t.slice(0,-1))),{html:t,closing:s}}(o),b=s[n],y=r(g.html,(function(t,e){var s,i=-1!==l.indexOf(b,t);return u(s=c(n,t,e,i))?i?(e=_(n,t,e,h))?t+'="'+e+'"':t:u(s=d(n,t,e,i))?void 0:s:s}));o="<"+n;return y&&(o+=" "+y),g.closing&&(o+=" /"),o+=">"}return u(f=a(n,o,v))?m(o):f}),m);return p&&(f=p.remove(f)),f},t.exports=c},"./src/component/doc-link.vue":function(t,e,s){"use strict";var i={mixins:[s("./src/helper/base_hepler.js").a],name:"doc-link",props:["link"],data:function(){return{whitelabel:defender.whitelabel}}},n=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),a=Object(n.a)(i,(function(){var t=this.$createElement,e=this._self._c||t;return!1===this.whitelabel.hide_doc_link?e("div",{staticClass:"sui-actions-right"},[e("a",{staticClass:"sui-button sui-button-ghost",attrs:{href:this.link,target:"_blank"}},[e("i",{staticClass:"sui-icon-academy"}),this._v(" "+this._s(this.__("View Documentation"))+"\n ")])]):this._e()}),[],!1,null,null,null);e.a=a.exports},"./src/component/footer.vue":function(t,e,s){"use strict";var i={data:function(){return{whitelabel:defender.whitelabel,is_free:defender.is_free}}},n=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),a=Object(n.a)(i,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",[!0===t.whitelabel.change_footer?s("div",{staticClass:"sui-footer"},[t._v("\n "+t._s(t.whitelabel.footer_text)+"\n ")]):s("div",{staticClass:"sui-footer"},[t._v("Made with "),s("i",{staticClass:"sui-icon-heart"}),t._v(" by WPMU DEV")]),t._v(" "),!1===t.whitelabel.hide_doc_link?s("div",[t.is_free?s("ul",{staticClass:"sui-footer-nav"},[t._m(0),t._v(" "),t._m(1),t._v(" "),t._m(2),t._v(" "),t._m(3),t._v(" "),t._m(4),t._v(" "),t._m(5),t._v(" "),t._m(6),t._v(" "),t._m(7)]):s("ul",{staticClass:"sui-footer-nav"},[t._m(8),t._v(" "),t._m(9),t._v(" "),t._m(10),t._v(" "),t._m(11),t._v(" "),t._m(12),t._v(" "),t._m(13),t._v(" "),t._m(14),t._v(" "),t._m(15)]),t._v(" "),t._m(16)]):t._e()])}),[function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://profiles.wordpress.org/wpmudev#content-plugins",target:"_blank"}},[this._v("Free\n Plugins")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/features/",target:"_blank"}},[this._v("Membership")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/roadmap/",target:"_blank"}},[this._v("Roadmap")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://wordpress.org/support/plugin/plugin-name",target:"_blank"}},[this._v("Support")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/docs/",target:"_blank"}},[this._v("Docs")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/hub/",target:"_blank"}},[this._v("The Hub")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/terms-of-service/",target:"_blank"}},[this._v("Terms of Service")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://incsub.com/privacy-policy/",target:"_blank"}},[this._v("Privacy Policy")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/hub/",target:"_blank"}},[this._v("The Hub")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/projects/category/plugins/",target:"_blank"}},[this._v("Plugins")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/roadmap/",target:"_blank"}},[this._v("Roadmap")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/hub/support/",target:"_blank"}},[this._v("Support")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/docs/",target:"_blank"}},[this._v("Docs")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/hub/community/",target:"_blank"}},[this._v("Community")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/terms-of-service/",target:"_blank"}},[this._v("Terms of Service")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://incsub.com/privacy-policy/",target:"_blank"}},[this._v("Privacy Policy")])])},function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("ul",{staticClass:"sui-footer-social"},[s("li",[s("a",{attrs:{href:"https://www.facebook.com/wpmudev",target:"_blank"}},[s("i",{staticClass:"sui-icon-social-facebook",attrs:{"aria-hidden":"true"}}),t._v(" "),s("span",{staticClass:"sui-screen-reader-text"},[t._v("Facebook")])])]),t._v(" "),s("li",[s("a",{attrs:{href:"https://twitter.com/wpmudev",target:"_blank"}},[s("i",{staticClass:"sui-icon-social-twitter",attrs:{"aria-hidden":"true"}})]),t._v(" "),s("span",{staticClass:"sui-screen-reader-text"},[t._v("Twitter")])]),t._v(" "),s("li",[s("a",{attrs:{href:"https://www.instagram.com/wpmu_dev/",target:"_blank"}},[s("i",{staticClass:"sui-icon-instagram",attrs:{"aria-hidden":"true"}}),t._v(" "),s("span",{staticClass:"sui-screen-reader-text"},[t._v("Instagram")])])])])}],!1,null,null,null);e.a=a.exports},"./src/component/overlay.vue":function(t,e,s){"use strict";var i={name:"overlay"},n=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),a=Object(n.a)(i,(function(){var t=this.$createElement;this._self._c;return this._m(0)}),[function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"wd-overlay"},[e("i",{staticClass:"sui-icon-loader sui-loading",attrs:{"aria-hidden":"true"}})])}],!1,null,null,null);e.a=a.exports},"./src/component/pagination.vue":function(t,e,s){"use strict";var i={props:{value:{type:Number},pageCount:{type:Number,required:!0},forcePage:{type:Number},clickHandler:{type:Function,default:function(){}},pageRange:{type:Number,default:3},marginPages:{type:Number,default:1},prevText:{type:String,default:"Prev"},nextText:{type:String,default:"Next"},breakViewText:{type:String,default:"…"},containerClass:{type:String},pageClass:{type:String},pageLinkClass:{type:String},prevClass:{type:String},prevLinkClass:{type:String},nextClass:{type:String},nextLinkClass:{type:String},breakViewClass:{type:String},breakViewLinkClass:{type:String},activeClass:{type:String,default:"active"},disabledClass:{type:String,default:"disabled"},noLiSurround:{type:Boolean,default:!1},firstLastButton:{type:Boolean,default:!1},firstButtonText:{type:String,default:"First"},lastButtonText:{type:String,default:"Last"},hidePrevNext:{type:Boolean,default:!1}},beforeUpdate:function(){void 0!==this.forcePage&&this.forcePage!==this.selected&&(this.selected=this.forcePage)},computed:{selected:{get:function(){return this.value||this.innerValue},set:function(t){this.innerValue=t}},pages:function(){var t=this,e={};if(this.pageCount<=this.pageRange)for(var s=0;s<this.pageCount;s++){var i={index:s,content:s+1,selected:s===this.selected-1};e[s]=i}else{for(var n=Math.floor(this.pageRange/2),a=function(s){var i={index:s,content:s+1,selected:s===t.selected-1};e[s]=i},o=function(t){e[t]={disabled:!0,breakView:!0}},r=0;r<this.marginPages;r++)a(r);var l=0;this.selected-n>0&&(l=this.selected-1-n);var u=l+this.pageRange-1;u>=this.pageCount&&(l=(u=this.pageCount-1)-this.pageRange+1);for(var c=l;c<=u&&c<=this.pageCount-1;c++)a(c);l>this.marginPages&&o(l-1),u+1<this.pageCount-this.marginPages&&o(u+1);for(var d=this.pageCount-1;d>=this.pageCount-this.marginPages;d--)a(d)}return e}},data:function(){return{innerValue:1}},methods:{handlePageSelected:function(t){this.selected!==t&&(this.innerValue=t,this.$emit("input",t),this.clickHandler(t))},prevPage:function(){this.selected<=1||this.handlePageSelected(this.selected-1)},nextPage:function(){this.selected>=this.pageCount||this.handlePageSelected(this.selected+1)},firstPageSelected:function(){return 1===this.selected},lastPageSelected:function(){return this.selected===this.pageCount||0===this.pageCount},selectFirstPage:function(){this.selected<=1||this.handlePageSelected(1)},selectLastPage:function(){this.selected>=this.pageCount||this.handlePageSelected(this.pageCount)}}},n=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),a=Object(n.a)(i,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return t.noLiSurround?s("div",{class:t.containerClass},[t.firstLastButton?s("a",{class:[t.pageLinkClass,t.firstPageSelected()?t.disabledClass:""],attrs:{tabindex:"0"},domProps:{innerHTML:t._s(t.firstButtonText)},on:{click:function(e){return t.selectFirstPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.selectFirstPage()}}}):t._e(),t._v(" "),t.firstPageSelected()&&t.hidePrevNext?t._e():s("a",{class:[t.prevLinkClass,t.firstPageSelected()?t.disabledClass:""],attrs:{tabindex:"0"},domProps:{innerHTML:t._s(t.prevText)},on:{click:function(e){return t.prevPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.prevPage()}}}),t._v(" "),t._l(t.pages,(function(e){return[e.breakView?s("a",{class:[t.pageLinkClass,t.breakViewLinkClass,e.disabled?t.disabledClass:""],attrs:{tabindex:"0"}},[t._t("breakViewContent",[t._v(t._s(t.breakViewText))])],2):e.disabled?s("a",{class:[t.pageLinkClass,e.selected?t.activeClass:"",t.disabledClass],attrs:{tabindex:"0"}},[t._v(t._s(e.content))]):s("a",{class:[t.pageLinkClass,e.selected?t.activeClass:""],attrs:{tabindex:"0"},on:{click:function(s){return t.handlePageSelected(e.index+1)},keyup:function(s){return!s.type.indexOf("key")&&t._k(s.keyCode,"enter",13,s.key,"Enter")?null:t.handlePageSelected(e.index+1)}}},[t._v(t._s(e.content))])]})),t._v(" "),t.lastPageSelected()&&t.hidePrevNext?t._e():s("a",{class:[t.nextLinkClass,t.lastPageSelected()?t.disabledClass:""],attrs:{tabindex:"0"},domProps:{innerHTML:t._s(t.nextText)},on:{click:function(e){return t.nextPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.nextPage()}}}),t._v(" "),t.firstLastButton?s("a",{class:[t.pageLinkClass,t.lastPageSelected()?t.disabledClass:""],attrs:{tabindex:"0"},domProps:{innerHTML:t._s(t.lastButtonText)},on:{click:function(e){return t.selectLastPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.selectLastPage()}}}):t._e()],2):s("ul",{class:t.containerClass},[t.firstLastButton?s("li",{class:[t.pageClass,t.firstPageSelected()?t.disabledClass:""]},[s("a",{class:t.pageLinkClass,attrs:{tabindex:t.firstPageSelected()?-1:0},domProps:{innerHTML:t._s(t.firstButtonText)},on:{click:function(e){return t.selectFirstPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.selectFirstPage()}}})]):t._e(),t._v(" "),t.firstPageSelected()&&t.hidePrevNext?t._e():s("li",{class:[t.prevClass,t.firstPageSelected()?t.disabledClass:""]},[s("a",{class:t.prevLinkClass,attrs:{tabindex:t.firstPageSelected()?-1:0},domProps:{innerHTML:t._s(t.prevText)},on:{click:function(e){return t.prevPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.prevPage()}}})]),t._v(" "),t._l(t.pages,(function(e){return s("li",{class:[t.pageClass,e.selected?t.activeClass:"",e.disabled?t.disabledClass:"",e.breakView?t.breakViewClass:""]},[e.breakView?s("a",{class:[t.pageLinkClass,t.breakViewLinkClass],attrs:{tabindex:"0"}},[t._t("breakViewContent",[t._v(t._s(t.breakViewText))])],2):e.disabled?s("a",{class:t.pageLinkClass,attrs:{tabindex:"0"}},[t._v(t._s(e.content))]):s("a",{class:t.pageLinkClass,attrs:{disabled:e.selected,tabindex:"0"},on:{click:function(s){return t.handlePageSelected(e.index+1)},keyup:function(s){return!s.type.indexOf("key")&&t._k(s.keyCode,"enter",13,s.key,"Enter")?null:t.handlePageSelected(e.index+1)}}},[t._v(t._s(e.content))])])})),t._v(" "),t.lastPageSelected()&&t.hidePrevNext?t._e():s("li",{class:[t.nextClass,t.lastPageSelected()?t.disabledClass:""]},[s("a",{class:t.nextLinkClass,attrs:{tabindex:t.lastPageSelected()?-1:0},domProps:{innerHTML:t._s(t.nextText)},on:{click:function(e){return t.nextPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.nextPage()}}})]),t._v(" "),t.firstLastButton?s("li",{class:[t.pageClass,t.lastPageSelected()?t.disabledClass:""]},[s("a",{class:t.pageLinkClass,attrs:{tabindex:t.lastPageSelected()?-1:0},domProps:{innerHTML:t._s(t.lastButtonText)},on:{click:function(e){return t.selectLastPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.selectLastPage()}}})]):t._e()],2)}),[],!1,null,null,null);e.a=a.exports},"./src/component/recipients.vue":function(t,e,s){"use strict";var i={mixins:[s("./src/helper/base_hepler.js").a],props:["recipients","id"],data:function(){return{first_name:"",email:"",observers:[],can_add:!1,saving_warning:!1,validate:{email:""}}},created:function(){this.observers=this.recipients},watch:{email:function(){if(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(this.email)){var t=!0,e=this;this.observers.forEach((function(s,i){if(s.email===e.email)return t=!1,void(e.validate.email=e.__("This email address is already in use"))})),this.can_add=t,!0===t&&(this.validate.email="")}else this.can_add=!1,this.validate.email=this.__("Invalid email address")},observers:function(){0===this.observers.length?this.saving_warning=!0:this.saving_warning=!1,void 0!==this.event&&this.$emit("update:recipients",this.observers)}},methods:{addRecipient:function(){this.observers.push({first_name:this.first_name,email:this.email}),jQuery.each(SUI.dialogs,(function(t,e){e.hide()})),this.first_name="",this.email=""},removeRecipient:function(t){this.observers.splice(t,1)}}},n=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),a=Object(n.a)(i,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",[s("div",{directives:[{name:"show",rawName:"v-show",value:t.saving_warning,expression:"saving_warning"}],staticClass:"sui-notice sui-notice-warning"},[s("p",[t._v("\n "+t._s(t.__("You've removed all recipients. If you save without a recipient, we'll automatically turn of reports"))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-recipients"},[t._l(t.observers,(function(e,i){return s("div",{staticClass:"sui-recipient"},[s("span",{staticClass:"sui-recipient-name"},[t._v(t._s(e.first_name))]),t._v(" "),s("span",{staticClass:"sui-recipient-email"},[t._v(t._s(e.email))]),t._v(" "),s("button",{staticClass:"sui-button-icon",attrs:{type:"button"},on:{click:function(e){return t.removeRecipient(i)}}},[s("i",{staticClass:"sui-icon-trash",attrs:{"aria-hidden":"true"}})])])})),t._v(" "),s("button",{staticClass:"sui-button sui-button-ghost",attrs:{"data-a11y-dialog-show":t.id,type:"button"}},[s("i",{staticClass:"sui-icon-plus",attrs:{"aria-hidden":"true"}}),t._v(" "+t._s(t.__("Add Recipient"))+"\n ")])],2),t._v(" "),s("div",{staticClass:"sui-dialog sui-dialog-sm",attrs:{"aria-hidden":"true",tabindex:"-1",id:t.id}},[s("div",{staticClass:"sui-dialog-overlay"}),t._v(" "),s("div",{staticClass:"sui-dialog-content",attrs:{"aria-labelledby":"dialogTitle","aria-describedby":"dialogDescription",role:"dialog"}},[s("div",{staticClass:"sui-box",attrs:{role:"document"}},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n "+t._s(t.__("Add Recipient"))+"\n ")]),t._v(" "),t._m(0)]),t._v(" "),s("div",{staticClass:"sui-box-body"},[s("p",[t._v("\n "+t._s(t.__("Add as many recipients as you like, they will receive email reports as per the schedule you set."))+"\n ")]),t._v(" "),s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("First name")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.first_name,expression:"first_name"}],staticClass:"sui-form-control",attrs:{type:"text"},domProps:{value:t.first_name},on:{input:function(e){e.target.composing||(t.first_name=e.target.value)}}})]),t._v(" "),s("div",{staticClass:"sui-form-field",class:{"sui-form-field-error":t.validate.email.length>0}},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("Email")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.email,expression:"email"}],staticClass:"sui-form-control",attrs:{type:"text"},domProps:{value:t.email},on:{input:function(e){e.target.composing||(t.email=e.target.value)}}}),t._v(" "),s("span",{directives:[{name:"show",rawName:"v-show",value:t.validate.email.length>0,expression:"validate.email.length > 0"}],staticClass:"sui-error-message",domProps:{textContent:t._s(this.validate.email)}})])]),t._v(" "),s("div",{staticClass:"sui-box-footer"},[s("button",{staticClass:"sui-button sui-button-ghost",attrs:{type:"button","data-a11y-dialog-hide":"recipient-dialog"}},[t._v("\n "+t._s(t.__("Cancel"))+"\n ")]),t._v(" "),s("button",{staticClass:"sui-modal-close sui-button",attrs:{type:"button",disabled:!1===t.can_add},on:{click:t.addRecipient}},[t._v(t._s(t.__("Add"))+"\n ")])])])])])])}),[function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"sui-actions-right"},[e("button",{staticClass:"sui-dialog-close",attrs:{type:"button","data-a11y-dialog-hide":"","aria-label":"Close this dialog window"}})])}],!1,null,null,null);e.a=a.exports},"./src/component/submit-button.vue":function(t,e,s){"use strict";var i={name:"submit-button",props:["id","state","text","css-class","type"],computed:{getClass:function(){return"sui-button "+this.cssClass}}},n=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),a=Object(n.a)(i,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("button",{staticClass:"sui-button",class:[t.getClass,{"sui-button-onload":t.state.on_saving}],attrs:{id:t.id,type:t.type,disabled:t.state.on_saving},on:{click:function(e){return t.$emit("click")}}},[s("span",{staticClass:"sui-loading-text"},[t._t("default")],2),t._v(" "),s("i",{staticClass:"sui-icon-loader sui-loading",attrs:{"aria-hidden":"true"}})])}),[],!1,null,null,null);e.a=a.exports},"./src/component/summary-box.vue":function(t,e,s){"use strict";var i={mixins:[s("./src/helper/base_hepler.js").a],props:["css-class"],name:"summary-box",data:function(){return{whitelabel:defender.whitelabel}},computed:{summary_class:function(){return{"sui-unbranded":!0===this.whitelabel.hide_branding&&0===this.whitelabel.hero_image.length,"sui-rebranded":!0===this.whitelabel.hide_branding&&this.whitelabel.hero_image.length>0}},css_class:function(){return this.cssClass},rebrand_img:function(){if(this.whitelabel.hero_image.length>0)return console.log({"background-image":"url('"+this.whitelabel.hero_image+"')"}),{"background-image":"url('"+this.whitelabel.hero_image+"')"}}}},n=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),a=Object(n.a)(i,(function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"sui-box sui-summary",class:[this.summary_class,this.css_class],style:this.rebrand_img},[e("div",{staticClass:"sui-summary-image-space",attrs:{"aria-hidden":"true"}}),this._v(" "),this._t("default")],2)}),[],!1,null,null,null);e.a=a.exports},"./src/helper/base_hepler.js":function(t,e,s){"use strict";var i=s("./node_modules/xss/lib/index.js"),n=s.n(i),a=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var s=[],i=!0,n=!1,a=void 0;try{for(var o,r=t[Symbol.iterator]();!(i=(o=r.next()).done)&&(s.push(o.value),!e||s.length!==e);i=!0);}catch(t){n=!0,a=t}finally{try{!i&&r.return&&r.return()}finally{if(n)throw a}}return s}(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")},o=wp.i18n,r=o.sprintf,l=o.__,u=[];e.a={methods:{__:function(t){return n()(l(t,"wpdef"))},xss:function(t){return n()(t)},vsprintf:function(t){return r.apply(null,arguments)},siteUrl:function(t){return void 0!==t?defender.site_url+t:defender.site_url},adminUrl:function(t){return void 0!==t?defender.admin_url+t:defender.admin_url},assetUrl:function(t){return defender.defender_url+t},maybeHighContrast:function(){return{"sui-color-accessible":!0===defender.misc.high_contrast}},maybeHideBranding:function(){return defender.whitelabel.hide_branding},campaign_url:function(t){return"https://premium.wpmudev.org/project/wp-defender/?utm_source=defender&utm_medium=plugin&utm_campaign="+t},httpRequest:function(t,e,s,i,n){var a=this;void 0===n&&(this.state.on_saving=!0);var o=ajaxurl+"?action="+this.endpoints[e]+"&_wpnonce="+this.nonces[e],r=jQuery.ajax({url:o,method:t,data:s,success:function(t){var e=t.data;a.state.on_saving=!1,void 0!==e&&void 0!==e.message&&(t.success?Defender.showNotification("success",e.message):Defender.showNotification("error",e.message)),void 0!==i&&i(t)}});u.push(r)},httpGetRequest:function(t,e,s,i){this.httpRequest("get",t,e,s,i)},httpPostRequest:function(t,e,s,i){this.httpRequest("post",t,e,s,i)},abortAllRequests:function(){for(var t=0;t<u.length;t++)u[t].abort()},getQueryStringParams:function(t){return t?(/^[?#]/.test(t)?t.slice(1):t).split("&").reduce((function(t,e){var s=e.split("="),i=a(s,2),n=i[0],o=i[1];return t[n]=o?decodeURIComponent(o.replace(/\+/g," ")):"",t}),{}):{}},rebindSUI:function(){jQuery("select:not([multiple])").each((function(){SUI.suiSelect(this)})),jQuery(".sui-accordion").each((function(){SUI.suiAccordion(this)}));var t=jQuery(".sui-wrap");SUI.dialogs={},jQuery(".sui-dialog").each((function(){SUI.dialogs[this.id]=new A11yDialog(this,t)}))}}}},"./src/ip-lockout.js":function(t,e,s){"use strict";s.r(e);var i=s("vue"),n=s.n(i),a=s("./src/helper/base_hepler.js"),o={mixins:[a.a],name:"ip-lockout",props:["view"],data:function(){return{model:iplockout.model.ip_lockout,summary_data:iplockout.summaryData,state:{on_saving:!1},nonces:iplockout.nonces,endpoints:iplockout.endpoints,misc:iplockout.misc}},methods:{toggle:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"login_protection",s=this,i={};i[e]=t,this.httpPostRequest("updateSettings",{data:JSON.stringify(i)},(function(){s.model[e]=t,!0===t&&s.$nextTick((function(){s.rebindSUI()}))}))},updateSettings:function(){var t=this.model;this.httpPostRequest("updateSettings",{data:JSON.stringify(t)})}},computed:{notification:function(){return 0===this.summary_data.ip.day?this.__("Login protection is enabled. There are no lockouts logged yet."):this.vsprintf(this.__('There have been %s lockouts in the last 24 hours. <a href="%s"><strong>View log</strong></a>.'),this.summary_data.ip.day,this.adminUrl("admin.php?page=wdf-ip-lockout&view=logs"))},banned_username:function(){return this.vsprintf(this.__("We recommend adding the usernames <strong>admin</strong>, <strong>administrator</strong> and your hostname <strong>%s</strong> as these are common for bots to try logging in with. One username per line"),this.misc.host)},demo_link:function(){return this.vsprintf(this.__('This message will be displayed across your website during the lockout period. See a quick preview <a href="%s">here</a>.'),this.siteUrl("?def-lockout-demo=1&type=demo"))}},mounted:function(){var t=this;jQuery(".jquery-select").change((function(){var e=jQuery(this).val(),s=jQuery(this).attr("name");t.model[s]=e}))}},r=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),l=Object(r.a)(o,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return!1===t.model.login_protection||0===t.model.login_protection?s("div",{staticClass:"sui-box",attrs:{"data-tab":"login_lockout"}},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n "+t._s(t.__("Login Protection"))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-message"},[t.maybeHideBranding()?t._e():s("img",{staticClass:"sui-image",attrs:{src:t.assetUrl("assets/img/lockout-man.svg")}}),t._v(" "),s("div",{staticClass:"sui-message-content"},[s("p",[t._v("\n "+t._s(t.__("Put a stop to hackers trying to randomly guess your login credentials. Defender will lock out users after a set number of failed login attempts."))+"\n ")]),t._v(" "),s("form",{staticClass:"ip-frm",attrs:{method:"post"},on:{submit:function(e){return e.preventDefault(),t.toggle(!0,"login_protection")}}},[s("submit-button",{attrs:{type:"submit","css-class":"sui-button-blue",state:t.state}},[t._v("\n "+t._s(t.__("Activate"))+"\n ")])],1)])])]):!0===t.model.login_protection||1===t.model.login_protection?s("div",{staticClass:"sui-box"},[s("form",{staticClass:"ip-frm",attrs:{method:"post",id:"settings-frm"},on:{submit:function(e){return e.preventDefault(),t.updateSettings(e)}}},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n "+t._s(t.__("Login Protection"))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-body"},[s("p",[t._v("\n "+t._s(t.__("Put a stop to hackers trying to randomly guess your login credentials. Defender will lock out users after a set number of failed login attempts."))+"\n ")]),t._v(" "),t.summary_data.ip.day>0?s("div",{staticClass:"sui-notice sui-notice-error"},[s("p",{domProps:{innerHTML:t._s(t.notification)}})]):s("div",{staticClass:"sui-notice sui-notice-info"},[s("p",{domProps:{innerHTML:t._s(t.notification)}})]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v(t._s(t.__("Threshold")))]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v(t._s(t.__("Specify how many failed login attempts within a specific time period will trigger a lockout.")))])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("div",{staticClass:"sui-form-field"},[s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col-md-2"},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("Failed logins")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.login_protection_login_attempt,expression:"model.login_protection_login_attempt"}],staticClass:"sui-form-control sui-input-sm sui-field-has-suffix",attrs:{size:"8",type:"text",id:"login_protection_login_attempt",name:"login_protection_login_attempt"},domProps:{value:t.model.login_protection_login_attempt},on:{input:function(e){e.target.composing||t.$set(t.model,"login_protection_login_attempt",e.target.value)}}})]),t._v(" "),s("div",{staticClass:"sui-col-md-3"},[s("label",{staticClass:"sui-label"},[t._v("\n "+t._s(t.__("Timeframe"))+"\n ")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.login_protection_lockout_timeframe,expression:"model.login_protection_lockout_timeframe"}],staticClass:"sui-form-control sui-input-sm sui-field-has-suffix",attrs:{size:"8",id:"login_lockout_timeframe",name:"login_protection_lockout_timeframe",type:"text"},domProps:{value:t.model.login_protection_lockout_timeframe},on:{input:function(e){e.target.composing||t.$set(t.model,"login_protection_lockout_timeframe",e.target.value)}}}),t._v(" "),s("span",{staticClass:"sui-field-suffix"},[t._v(t._s(t.__("seconds")))])])])])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v(t._s(t.__("Duration")))]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v(t._s(t.__("Choose how long you'd like to ban the locked out user for.")))])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("div",{staticClass:"sui-side-tabs"},[s("div",{staticClass:"sui-tabs-menu"},[s("label",{staticClass:"sui-tab-item",class:{active:!1===t.model.login_protection_lockout_ban},attrs:{for:"timeframe"}},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.login_protection_lockout_ban,expression:"model.login_protection_lockout_ban"}],attrs:{type:"radio",name:"login_protection_lockout_ban",id:"timeframe","data-tab-menu":"timeframe-box"},domProps:{value:!1,checked:t._q(t.model.login_protection_lockout_ban,!1)},on:{change:function(e){return t.$set(t.model,"login_protection_lockout_ban",!1)}}}),t._v("\n "+t._s(t.__("Timeframe"))+"\n ")]),t._v(" "),s("label",{staticClass:"sui-tab-item",class:{active:!0===t.model.login_protection_lockout_ban},attrs:{for:"permanent"}},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.login_protection_lockout_ban,expression:"model.login_protection_lockout_ban"}],attrs:{type:"radio",name:"login_protection_lockout_ban","data-tab-menu":"",id:"permanent"},domProps:{value:!0,checked:t._q(t.model.login_protection_lockout_ban,!0)},on:{change:function(e){return t.$set(t.model,"login_protection_lockout_ban",!0)}}}),t._v("\n "+t._s(t.__("Permanent"))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-tabs-content"},[s("div",{staticClass:"sui-tab-content sui-tab-boxed",class:{active:!1===t.model.login_protection_lockout_ban},attrs:{id:"timeframe-box","data-tab-content":"timeframe-box"}},[s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col-md-3"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.login_protection_lockout_duration,expression:"model.login_protection_lockout_duration"}],staticClass:"sui-form-control",attrs:{size:"4",name:"login_protection_lockout_duration",id:"login_protection_lockout_duration",type:"text"},domProps:{value:t.model.login_protection_lockout_duration},on:{input:function(e){e.target.composing||t.$set(t.model,"login_protection_lockout_duration",e.target.value)}}})]),t._v(" "),s("div",{staticClass:"sui-col-md-4"},[s("select",{directives:[{name:"model",rawName:"v-model",value:t.model.login_protection_lockout_duration_unit,expression:"model.login_protection_lockout_duration_unit"}],staticClass:"jquery-select sui-select",attrs:{id:"lockout-duration-unit",name:"login_protection_lockout_duration_unit","data-minimum-results-for-search":"Infinity"},on:{change:function(e){var s=Array.prototype.filter.call(e.target.options,(function(t){return t.selected})).map((function(t){return"_value"in t?t._value:t.value}));t.$set(t.model,"login_protection_lockout_duration_unit",e.target.multiple?s:s[0])}}},[s("option",{attrs:{value:"seconds"}},[t._v(t._s(t.__("Seconds")))]),t._v(" "),s("option",{attrs:{value:"minutes"}},[t._v(t._s(t.__("Minutes")))]),t._v(" "),s("option",{attrs:{value:"hours"}},[t._v(t._s(t.__("Hours")))])])])])])])])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v(t._s(t.__("Message")))]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v(t._s(t.__("Customize the message locked out users will see.")))])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("Custom message")))]),t._v(" "),s("textarea",{directives:[{name:"model",rawName:"v-model",value:t.model.login_protection_lockout_message,expression:"model.login_protection_lockout_message"}],staticClass:"sui-form-control",attrs:{name:"login_protection_lockout_message",id:"login_protection_lockout_message"},domProps:{value:t.model.login_protection_lockout_message},on:{input:function(e){e.target.composing||t.$set(t.model,"login_protection_lockout_message",e.target.value)}}}),t._v(" "),s("span",{staticClass:"sui-description",domProps:{innerHTML:t._s(t.demo_link)}})])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v(t._s(t.__("Banned usernames")))]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("It is highly recommended you avoid using the default username ‘admin'. Use this tool to automatically lockout and ban users who try to login with common usernames."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("Banned usernames")))]),t._v(" "),s("textarea",{directives:[{name:"model",rawName:"v-model",value:t.model.username_blacklist,expression:"model.username_blacklist"}],staticClass:"sui-form-control",attrs:{placeholder:t.__("Type usernames, one per line"),id:"username_blacklist",name:"username_blacklist",rows:"8"},domProps:{value:t.model.username_blacklist},on:{input:function(e){e.target.composing||t.$set(t.model,"username_blacklist",e.target.value)}}}),t._v(" "),s("span",{staticClass:"sui-description",domProps:{innerHTML:t._s(t.banned_username)}})])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Deactivate"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("If you no longer want to use this feature you can turn it off at any time."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("submit-button",{attrs:{type:"button","css-class":"sui-button-ghost",state:t.state},on:{click:function(e){return t.toggle(!1,"login_protection")}}},[t._v("\n "+t._s(t.__("Deactivate"))+"\n ")])],1)])]),t._v(" "),s("div",{staticClass:"sui-box-footer"},[s("div",{staticClass:"sui-actions-right"},[s("submit-button",{attrs:{type:"submit",state:t.state,"css-class":"sui-button-blue"}},[s("i",{staticClass:"sui-icon-save",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("Save Changes"))+"\n ")])],1)])])]):t._e()}),[],!1,null,null,null).exports,u={mixins:[a.a],name:"nf-lockout",props:["view"],data:function(){return{model:iplockout.model.nf_lockout,summary_data:iplockout.summaryData,state:{on_saving:!1},nonces:iplockout.nonces,endpoints:iplockout.endpoints,misc:iplockout.misc}},methods:{toggle:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"login_protection",s=this,i={};i[e]=t,this.httpPostRequest("updateSettings",{data:JSON.stringify(i)},(function(){s.model[e]=t,!0===t&&s.$nextTick((function(){s.rebindSUI()}))}))},updateSettings:function(){var t=this.model;this.httpPostRequest("updateSettings",{data:JSON.stringify(t)})}},computed:{notification:function(){return 0===this.summary_data.nf.day?this.__("404 detection is enabled. There are no lockouts logged yet."):this.vsprintf(this.__('There have been %s lockouts in the last 24 hours. <a href="%s"><strong>View log</strong></a>.'),this.summary_data.nf.day,this.adminUrl("admin.php?page=wdf-ip-lockout&view=logs"))},demo_link:function(){return this.vsprintf(this.__('This message will be displayed across your website during the lockout period. See a quick preview <a href="%s">here</a>.'),this.siteUrl("?def-lockout-demo=1&type=404"))}},mounted:function(){var t=this;jQuery(".jquery-select").change((function(){var e=jQuery(this).val(),s=jQuery(this).attr("name");t.model[s]=e}))}},c=Object(r.a)(u,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return!1===t.model.detect_404||0===t.model.detect_404?s("div",{staticClass:"sui-box"},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n\t\t\t\t"+t._s(t.__("404 Detection"))+"\n\t\t\t")])]),t._v(" "),s("div",{staticClass:"sui-message"},[!1===t.maybeHideBranding()?s("img",{staticClass:"sui-image",attrs:{src:t.assetUrl("assets/img/lockout-man.svg")}}):t._e(),t._v(" "),s("div",{staticClass:"sui-message-content"},[s("p",[t._v("\n\t\t\t\t\t"+t._s(t.__("With 404 detection enabled, Defender will keep an eye out for IP addresses that repeatedly request pages on your website that don't exist and then temporarily block them from accessing your site."))+"\n\t\t\t\t")]),t._v(" "),s("form",{attrs:{method:"post"},on:{submit:function(e){return e.preventDefault(),t.toggle(!0,"detect_404")}}},[s("submit-button",{staticClass:"sui-button-blue",attrs:{type:"submit",state:t.state}},[t._v("\n\t\t\t\t\t\t"+t._s(t.__("Activate"))+"\n\t\t\t\t\t")])],1)])])]):!0===t.model.detect_404||1===t.model.detect_404?s("div",{staticClass:"sui-box",attrs:{"data-tab":"notfound_lockout"}},[s("form",{staticClass:"ip-frm",attrs:{method:"post",id:"settings-frm"},on:{submit:function(e){return e.preventDefault(),t.updateSettings(e)}}},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n\t\t\t\t\t"+t._s(t.__("404 Detection"))+"\n\t\t\t\t")])]),t._v(" "),s("div",{staticClass:"sui-box-body"},[s("p",[t._v("\n\t\t\t\t\t"+t._s(t.__("With 404 detection enabled, Defender will keep an eye out for IP addresses that repeatedly request pages on your website that don't exist and then temporarily block them from accessing your site."))+"\n\t\t\t\t")]),t._v(" "),s("div",{staticClass:"sui-notice",class:{"sui-notice-error":t.summary_data.nf.day>0,"sui-notice-info":0===t.summary_data.nf.day}},[s("p",{domProps:{innerHTML:t._s(t.notification)}})]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v(t._s(t.__("Threshold")))]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Specify how many 404 errors within a specific time period will trigger a lockout."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col-md-2"},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("404 hits")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.detect_404_threshold,expression:"model.detect_404_threshold"}],staticClass:"sui-form-control sui-input-sm sui-field-has-suffix",attrs:{size:"8",type:"text",id:"detect_404_threshold",name:"detect_404_threshold"},domProps:{value:t.model.detect_404_threshold},on:{input:function(e){e.target.composing||t.$set(t.model,"detect_404_threshold",e.target.value)}}})]),t._v(" "),s("div",{staticClass:"sui-col"},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("Timeframe")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.detect_404_timeframe,expression:"model.detect_404_timeframe"}],staticClass:"sui-form-control sui-input-sm sui-field-has-suffix",attrs:{size:"8",id:"detect_404_timeframe",name:"detect_404_timeframe",type:"text"},domProps:{value:t.model.detect_404_timeframe},on:{input:function(e){e.target.composing||t.$set(t.model,"detect_404_timeframe",e.target.value)}}}),t._v(" "),s("span",{staticClass:"sui-field-suffix"},[t._v(t._s(t.__("seconds")))])])])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v(t._s(t.__("Duration")))]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v(t._s(t.__("Choose how long you'd like to ban the locked out user for.")))])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("div",{staticClass:"sui-side-tabs"},[s("div",{staticClass:"sui-tabs-menu"},[s("label",{staticClass:"sui-tab-item",class:{active:!1===t.model.detect_404_lockout_ban},attrs:{for:"nf_timeframe"}},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.detect_404_lockout_ban,expression:"model.detect_404_lockout_ban"}],attrs:{type:"radio",name:"detect_404_lockout_ban",id:"nf_timeframe","data-tab-menu":"nf-timeframe-box"},domProps:{value:!1,checked:t._q(t.model.detect_404_lockout_ban,!1)},on:{change:function(e){return t.$set(t.model,"detect_404_lockout_ban",!1)}}}),t._v("\n\t\t\t\t\t\t\t\t\t"+t._s(t.__("Timeframe"))+"\n\t\t\t\t\t\t\t\t")]),t._v(" "),s("label",{staticClass:"sui-tab-item",class:{active:!0===t.model.detect_404_lockout_ban},attrs:{for:"nf_permanent"}},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.detect_404_lockout_ban,expression:"model.detect_404_lockout_ban"}],attrs:{type:"radio",name:"detect_404_lockout_ban","data-tab-menu":"",id:"nf_permanent"},domProps:{value:!0,checked:t._q(t.model.detect_404_lockout_ban,!0)},on:{change:function(e){return t.$set(t.model,"detect_404_lockout_ban",!0)}}}),t._v("\n\t\t\t\t\t\t\t\t\t"+t._s(t.__("Permanent"))+"\n\t\t\t\t\t\t\t\t")])]),t._v(" "),s("div",{staticClass:"sui-tabs-content"},[s("div",{staticClass:"sui-tab-content sui-tab-boxed",class:{active:!1===t.model.detect_404_lockout_ban},attrs:{id:"nf-timeframe-box","data-tab-content":"nf-timeframe-box"}},[s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col-md-3"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.detect_404_lockout_duration,expression:"model.detect_404_lockout_duration"}],staticClass:"sui-form-control",attrs:{size:"4",name:"detect_404_lockout_duration",id:"detect_404_lockout_duration",type:"text"},domProps:{value:t.model.detect_404_lockout_duration},on:{input:function(e){e.target.composing||t.$set(t.model,"detect_404_lockout_duration",e.target.value)}}})]),t._v(" "),s("div",{staticClass:"sui-col-md-4"},[s("select",{directives:[{name:"model",rawName:"v-model",value:t.model.detect_404_lockout_duration_unit,expression:"model.detect_404_lockout_duration_unit"}],staticClass:"jquery-select sui-select",attrs:{id:"detect_404_lockout_duration_unit",name:"detect_404_lockout_duration_unit","data-minimum-results-for-search":"Infinity"},on:{change:function(e){var s=Array.prototype.filter.call(e.target.options,(function(t){return t.selected})).map((function(t){return"_value"in t?t._value:t.value}));t.$set(t.model,"detect_404_lockout_duration_unit",e.target.multiple?s:s[0])}}},[s("option",{attrs:{value:"seconds"}},[t._v(t._s(t.__("Seconds")))]),t._v(" "),s("option",{attrs:{value:"minutes"}},[t._v(t._s(t.__("Minutes")))]),t._v(" "),s("option",{attrs:{value:"hours"}},[t._v(t._s(t.__("Hours")))])])])])])])])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v(t._s(t.__("Message")))]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v(t._s(t.__("Customize the message locked out users will see.")))])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("div",{staticClass:"sui-form-field"},[s("textarea",{directives:[{name:"model",rawName:"v-model",value:t.model.detect_404_lockout_message,expression:"model.detect_404_lockout_message"}],staticClass:"sui-form-control",attrs:{name:"detect_404_lockout_message",id:"detect_404_lockout_message"},domProps:{value:t.model.detect_404_lockout_message},on:{input:function(e){e.target.composing||t.$set(t.model,"detect_404_lockout_message",e.target.value)}}}),t._v(" "),s("span",{staticClass:"sui-description",domProps:{innerHTML:t._s(t.demo_link)}})])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Files & Folders"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Choose specific files and folders that you want to automatically ban users/bots from accessing, or whitelist access to."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("strong",[t._v(t._s(t.__("Blacklist")))]),t._v(" "),s("p",{staticClass:"sui-description"},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.__("Add file or folder URLs you want to automatically ban. Users or bots who request blacklisted them will be locked out as per your 404 rules above."))+"\n\t\t\t\t\t\t")]),t._v(" "),s("div",{staticClass:"sui-border-frame"},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("Blaclisted files & folders")))]),t._v(" "),s("textarea",{directives:[{name:"model",rawName:"v-model",value:t.model.detect_404_blacklist,expression:"model.detect_404_blacklist"}],staticClass:"sui-form-control",attrs:{name:"detect_404_blacklist",rows:"8"},domProps:{value:t.model.detect_404_blacklist},on:{input:function(e){e.target.composing||t.$set(t.model,"detect_404_blacklist",e.target.value)}}}),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("One URL per line. You must list the full path beginning with a /."))+"\n ")])]),t._v(" "),s("strong",[t._v(t._s(t.__("Whitelist")))]),t._v(" "),s("p",{staticClass:"sui-description"},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.__("If you know a common file or folder on your website is missing, you can record it here so it doesn't count towards a lockout record."))+"\n\t\t\t\t\t\t")]),t._v(" "),s("div",{staticClass:"sui-border-frame"},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("Whitelisted files & folders")))]),t._v(" "),s("textarea",{directives:[{name:"model",rawName:"v-model",value:t.model.detect_404_whitelist,expression:"model.detect_404_whitelist"}],staticClass:"sui-form-control",attrs:{id:"detect_404_whitelist",name:"detect_404_whitelist",rows:"8"},domProps:{value:t.model.detect_404_whitelist},on:{input:function(e){e.target.composing||t.$set(t.model,"detect_404_whitelist",e.target.value)}}}),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("One URL per line. You must list the full path beginning with a /."))+"\n ")])])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Filetypes & Extensions"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Choose which types of files or extentions you want to auto-ban or whitelist."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("strong",[t._v(t._s(t.__("Blacklist")))]),t._v(" "),s("p",{staticClass:"sui-description"},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.__("Add a common filetype or extention you want to auto-ban. Users or bots who request blacklisted filetypes or extensions will be locked out as per your 404 rules above."))+"\n\t\t\t\t\t\t")]),t._v(" "),s("div",{staticClass:"sui-border-frame"},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("Blaclisted filetypes & extensions")))]),t._v(" "),s("textarea",{directives:[{name:"model",rawName:"v-model",value:t.model.detect_404_filetypes_blacklist,expression:"model.detect_404_filetypes_blacklist"}],staticClass:"sui-form-control",attrs:{name:"detect_404_filetypes_blacklist",rows:"8"},domProps:{value:t.model.detect_404_filetypes_blacklist},on:{input:function(e){e.target.composing||t.$set(t.model,"detect_404_filetypes_blacklist",e.target.value)}}})]),t._v(" "),s("strong",[t._v(t._s(t.__("Whitelist")))]),t._v(" "),s("p",{staticClass:"sui-description"},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.__("Defender will log the 404 error, but won't lockout the user for these filetypes."))+"\n\t\t\t\t\t\t")]),t._v(" "),s("div",{staticClass:"sui-border-frame"},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("Whitelisted filetypes & extentions")))]),t._v(" "),s("textarea",{directives:[{name:"model",rawName:"v-model",value:t.model.detect_404_ignored_filetypes,expression:"model.detect_404_ignored_filetypes"}],staticClass:"sui-form-control",attrs:{id:"detect_404_blacklist",name:"detect_404_ignored_filetypes",rows:"8"},domProps:{value:t.model.detect_404_ignored_filetypes},on:{input:function(e){e.target.composing||t.$set(t.model,"detect_404_ignored_filetypes",e.target.value)}}})])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Exclusions"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("By default, Defender will monitor all interactions with your website but you can choose to disable 404 detection for specific areas of your site."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-toggle"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.detect_404_logged,expression:"model.detect_404_logged"}],attrs:{id:"detect_404_logged",type:"checkbox","true-value":"true","false-value":"false",name:"detect_404_logged"},domProps:{checked:Array.isArray(t.model.detect_404_logged)?t._i(t.model.detect_404_logged,null)>-1:t._q(t.model.detect_404_logged,"true")},on:{change:function(e){var s=t.model.detect_404_logged,i=e.target,n=i.checked?"true":"false";if(Array.isArray(s)){var a=t._i(s,null);i.checked?a<0&&t.$set(t.model,"detect_404_logged",s.concat([null])):a>-1&&t.$set(t.model,"detect_404_logged",s.slice(0,a).concat(s.slice(a+1)))}else t.$set(t.model,"detect_404_logged",n)}}}),t._v(" "),s("span",{staticClass:"sui-toggle-slider"})]),t._v(" "),s("label",{staticClass:"sui-toggle-label",attrs:{for:"detect_404_logged"}},[t._v("\n\t\t\t\t\t\t\t\t"+t._s(t.__("Monitor 404s from logged in users"))+"\n\t\t\t\t\t\t\t")])])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Deactivate"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("If you no longer want to use this feature you can turn it off at any time."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("submit-button",{attrs:{type:"button","css-class":"sui-button-ghost",state:t.state},on:{click:function(e){return t.toggle(!1,"detect_404")}}},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.__("Deactivate"))+"\n\t\t\t\t\t\t")])],1)])]),t._v(" "),s("div",{staticClass:"sui-box-footer"},[s("div",{staticClass:"sui-actions-right"},[s("submit-button",{attrs:{type:"submit","css-class":"sui-button-blue",state:t.state}},[s("i",{staticClass:"sui-icon-save",attrs:{"aria-hidden":"true"}}),t._v("\n\t\t\t\t\t\t"+t._s(t.__("Save Changes"))+"\n\t\t\t\t\t")])],1)])])]):t._e()}),[],!1,null,null,null).exports,d=s("./node_modules/lodash/chunk.js"),_=s.n(d),m={mixins:[a.a],name:"locked-ips-dialog",data:function(){return{nonces:iplockout.nonces,endpoints:iplockout.endpoints,blacklist:{ips_locked:[],chunks:[],ip:"",paged:1,count:0},state:{ip_actioning:[],on_saving:!1}}},methods:{query_locked_ips:function(){var t=this;this.httpPostRequest("queryLockedIps",{},(function(e){t.blacklist.ips_locked=Object.values(e.data.ips_locked),t.blacklist.chunks=_()(t.blacklist.ips_locked,20),t.blacklist.count=t.blacklist.ips_locked.length,t.$emit("fetched",t.blacklist.ips_locked.length)}),!0)},ip_action:function(t,e,s){var i=this;this.state.ip_actioning.push(t),this.httpPostRequest("ipAction",{ip:t,behavior:e},(function(n){var a=i.state.ip_actioning.indexOf(t);if(-1!==a&&i.state.ip_actioning.splice(a,1),!0===n.success){var o="unban"===e?"normal":"blocked";i.blacklist.ips_locked[s].status=o}}),!0)}},computed:{filtered_locked_ips:function(){if(this.blacklist.ip.length>0){var t=this.blacklist.ip,e=this.blacklist.ips_locked.filter((function(e){return e.ip.indexOf(t)>-1}));this.blacklist.chunks=_()(e,20)}return this.blacklist.chunks[this.blacklist.paged-1]}},created:function(){this.query_locked_ips()}},h=Object(r.a)(m,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"sui-dialog sui-dialog-sm locked-ips-dialog",attrs:{"aria-hidden":"true",tabindex:"-1",id:"ips-modal"}},[s("div",{staticClass:"sui-dialog-overlay",attrs:{"data-a11y-dialog-hide":""}}),t._v(" "),s("div",{staticClass:"sui-dialog-content",attrs:{role:"dialog"}},[s("div",{staticClass:"sui-box",attrs:{role:"document"}},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title",attrs:{id:"dialogTitle"}},[t._v(t._s(t.__("Temporary IP Block List")))]),t._v(" "),t._m(0)]),t._v(" "),s("div",{staticClass:"sui-box-body no-padding-bottom"},[s("p",[t._v("\n "+t._s(t.__("Here's a list of IP addresses that are currently temporarily blocked for bad behaviour. Select the IPs you want to unblock below."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-selectors sui-box-selectors-col-1"},[s("ul",{staticClass:"ul-ips"},[s("li",[s("div",{staticClass:"sui-with-button sui-with-button-icon"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.blacklist.ip,expression:"blacklist.ip"}],staticClass:"sui-form-control",attrs:{type:"text",placeholder:t.__("Type IP Address")},domProps:{value:t.blacklist.ip},on:{input:function(e){e.target.composing||t.$set(t.blacklist,"ip",e.target.value)}}}),t._v(" "),t._m(1)])]),t._v(" "),t._l(t.filtered_locked_ips,(function(e,i){return s("li",["blocked"===e.status?s("label",{staticClass:"sui-box-selector"},[s("span",[s("i",{staticClass:"sui-icon-lock",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(e.ip)+"\n "),s("button",{staticClass:"sui-tooltip sui-button-icon",class:{"sui-button-onload":t.state.ip_actioning.indexOf(e.ip)>-1},attrs:{type:"button","data-tooltip":"Unblock"},on:{click:function(s){return t.ip_action(e.ip,"unban",i)}}},[s("span",{staticClass:"sui-loading-text",attrs:{"aria-hidden":"true"}},[s("i",{staticClass:"sui-icon-unlock",attrs:{"aria-hidden":"true"}}),t._v(" "),s("span",{staticClass:"sui-screen-reader-text"},[t._v(t._s(t.__("Unlock")))])]),t._v(" "),s("i",{staticClass:"sui-icon-loader sui-loading",attrs:{"aria-hidden":"true"}})])])]):s("label",{staticClass:"sui-box-selector-selected"},[s("span",[s("i",{staticClass:"sui-icon-unlock",attrs:{"aria-hidden":"true"}}),t._v("\n IP "),s("strong",[t._v(t._s(e.ip))]),t._v(" is unblocked\n "),s("button",{staticClass:"sui-tooltip sui-button-icon",class:{"sui-button-onload":t.state.ip_actioning.indexOf(e.ip)>-1},attrs:{type:"button","data-tooltip":"Undo"},on:{click:function(s){return t.ip_action(e.ip,"ban",i)}}},[s("span",{staticClass:"sui-loading-text",attrs:{"aria-hidden":"true"}},[s("i",{staticClass:"sui-icon-undo",attrs:{"aria-hidden":"true"}}),t._v(" "),s("span",{staticClass:"sui-screen-reader-text"},[t._v(t._s(t.__("Undo")))])]),t._v(" "),s("i",{staticClass:"sui-icon-loader sui-loading",attrs:{"aria-hidden":"true"}})])])])])}))],2)]),t._v(" "),s("div",{staticClass:"sui-box-body"},[s("div",{staticClass:"sui-pagination-wrap"},[s("span",{staticClass:"sui-tag"},[t._v(t._s(t.blacklist.ips_locked.length)+" "+t._s(t.__("results")))]),t._v(" "),s("ul",{staticClass:"sui-pagination"},[s("li",[s("a",{staticClass:"prev",attrs:{href:"#",disabled:1===t.blacklist.paged||!0===t.state.ip_actioning,"data-paged":"1"},on:{click:function(e){e.preventDefault(),t.blacklist.paged-=1}}},[s("i",{staticClass:"sui-icon-chevron-left",attrs:{"aria-hidden":"true"}})])]),t._v(" "),s("li",[s("a",{staticClass:"next",attrs:{href:"#",disabled:t.blacklist.paged===Math.ceil(t.blacklist.ips_locked.length/20)||!0===t.state.ip_actioning,"data-paged":"2"},on:{click:function(e){t.blacklist.paged+=1}}},[s("i",{staticClass:"sui-icon-chevron-right",attrs:{"aria-hidden":"true"}})])])])])])])])])}),[function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"sui-actions-right"},[e("button",{staticClass:"sui-dialog-close",attrs:{type:"button","data-a11y-dialog-hide":"","aria-label":"Close this dialog window"}})])},function(){var t=this.$createElement,e=this._self._c||t;return e("button",{staticClass:"sui-button-icon",attrs:{type:"button"}},[e("i",{staticClass:"sui-icon-magnifying-glass-search",attrs:{"aria-hidden":"true"}})])}],!1,null,null,null).exports,p={mixins:[a.a],name:"ip_blacklist",props:["view"],data:function(){return{model:iplockout.model.blacklist,state:{on_saving:!1},nonces:iplockout.nonces,endpoints:iplockout.endpoints,misc:iplockout.misc,ip_import:{id:!1,name:null},blacklist:{count:null}}},components:{"locked-ips-dialog":h},methods:{download_geodb:function(){var t=this;this.httpGetRequest("downloadGeoDB",{},(function(){t.misc.geo_db_downloaded=!0,t.$nextTick((function(){jQuery("#country_whitelist").SUIselect2({dropdownCssClass:"sui-select-dropdown"}),jQuery("#country_blacklist").SUIselect2({dropdownCssClass:"sui-select-dropdown"}),location.reload()}))}))},import_ip:function(){var t=this;this.httpPostRequest("importIPs",{id:t.ip_import.id},(function(){t.ip_import={id:!1,name:null}}))},remove_import_file:function(){this.ip_import.id=!1,this.ip_import.name=null},update_settings:function(){var t=this.model;this.httpPostRequest("updateSettings",{data:JSON.stringify(t)})}},computed:{user_ip_notice:function(){return this.vsprintf(this.__("We recommend you add your own IP to avoid getting locked out accidentally! Your current IP is <span class='admin-ip'>%s</span>"),this.misc.user_ip)},log_status:function(){return null===this.blacklist.count?this.__("Loading data..."):0===this.blacklist.count?this.__("There are no IP addresses being blocked at the moment."):1===this.blacklist.count?this.__("There is one IP address being blocked temporary."):this.vsprintf(this.__("There are %d IP address being blocked temporary."),this.blacklist.count)},demo_link:function(){return this.vsprintf(this.__('This message will be displayed across your website during the lockout period. See a quick preview <a href="%s">here</a>.'),this.siteUrl("?def-lockout-demo=1&type=blacklist"))},ip_block_count:function(){return this.vsprintf(this.__("%s results"),this.blacklist.count)},export_url:function(){return this.adminUrl("admin.php?page=wdf-ip-lockout&view=export&_wpnonce="+this.nonces.exportIps)}},mounted:function(){var t=void 0,e=this;console.log("here"),jQuery(".file-picker").click((function(){t?t.open():((t=wp.media.frames.file_frame=wp.media({title:"Choose an Import file",button:{text:"Choose File"},multiple:!1})).on("select",(function(){var s=t.state().get("selection").first().toJSON();e.ip_import.id=s.id,e.ip_import.name=s.filename,jQuery(".upload-input").addClass("sui-has_file"),jQuery(".upload-input .sui-upload-file span").text(s.filename)})),t.open())}));var s=this;jQuery(".jquery-select").change((function(){var t=jQuery(this).val(),e=jQuery(this).attr("name");s.model[e]=t})),"string"==typeof this.model.country_blacklist&&(this.model.country_blacklist.length?this.model.country_blacklist=this.model.country_blacklist.split(","):this.model.country_blacklist=[]),"string"==typeof this.model.country_whitelist&&(this.model.country_whitelist.length?this.model.country_whitelist=this.model.country_whitelist.split(","):this.model.country_whitelist=[])}},f=Object(r.a)(p,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"sui-box"},[s("form",{attrs:{method:"post"},on:{submit:function(e){return e.preventDefault(),t.update_settings(e)}}},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n\t\t\t\t\t"+t._s(t.__("IP Banning"))+"\n\t\t\t\t")])]),t._v(" "),s("div",{staticClass:"sui-box-body"},[s("p",[t._v("\n\t\t\t\t\t"+t._s(t.__("Choose which IP addresses you wish to permanently ban from accessing your website."))+"\n\t\t\t\t")]),t._v(" "),s("hr"),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("IP Addresses"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Add IP addresses you want to permanently ban from, or always allow access to your website."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("strong",[t._v(t._s(t.__("Blacklist")))]),t._v(" "),s("p",{staticClass:"sui-description"},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.__("Any IP addresses you list here will be completely blocked from accessing your website, including admins."))+"\n\t\t\t\t\t\t")]),t._v(" "),s("div",{staticClass:"sui-border-frame"},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("Blacklisted IPs")))]),t._v(" "),s("textarea",{directives:[{name:"model",rawName:"v-model",value:t.model.ip_blacklist,expression:"model.ip_blacklist"}],staticClass:"sui-form-control",attrs:{id:"ip_blacklist",name:"ip_blacklist",placeholder:t.__("Add IP addresses here, one per line"),rows:"8"},domProps:{value:t.model.ip_blacklist},on:{input:function(e){e.target.composing||t.$set(t.model,"ip_blacklist",e.target.value)}}}),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Both IPv4 and IPv6 are supported. IP ranges are also accepted in format xxx.xxx.xxx.xxx-xxx.xxx.xxx.xxx."))+"\n ")])]),t._v(" "),s("strong",[t._v(t._s(t.__("Whitelist")))]),t._v(" "),s("p",{staticClass:"sui-description"},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.__("Any IP addresses you list here will be exempt any existing or new ban rules outlined in login protection, 404 detection or IP ban lists."))+"\n\t\t\t\t\t\t")]),t._v(" "),s("div",{staticClass:"sui-border-frame"},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("Allowed IPs")))]),t._v(" "),s("textarea",{directives:[{name:"model",rawName:"v-model",value:t.model.ip_whitelist,expression:"model.ip_whitelist"}],staticClass:"sui-form-control",attrs:{id:"ip_whitelist",name:"ip_whitelist",placeholder:t.__("Add IP addresses here, one per line"),rows:"8"},domProps:{value:t.model.ip_whitelist},on:{input:function(e){e.target.composing||t.$set(t.model,"ip_whitelist",e.target.value)}}}),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("One IP address per line. Both IPv4 and IPv6 are supported. IP ranges are also accepted in format xxx.xxx.xxx.xxx-xxx.xxx.xxx.xxx."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-notice"},[s("p",{domProps:{innerHTML:t._s(t.user_ip_notice)}})])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v(t._s(t.__("Active Lockouts")))]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("View IP addresses that are temporarily blocked from accessing your site according to your lockout rules. You can release IP addresses from the temporarily block here."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("div",{staticClass:"sui-notice sui-notice-info margin-bottom-10"},[s("p",{domProps:{innerHTML:t._s(t.log_status)}})]),t._v(" "),s("button",{directives:[{name:"show",rawName:"v-show",value:t.blacklist.count>0,expression:"blacklist.count > 0"}],staticClass:"sui-button sui-button-gray",attrs:{type:"button","data-a11y-dialog-show":"ips-modal"}},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.__("Unlock ips"))+"\n\t\t\t\t\t\t")])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v(t._s(t.__("Locations")))]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v(t._s(t.__("Use this feature to ban any countries you don't expect/want traffic from to protect your site entirely from unwanted hackers and bots.")))])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2 geo-ip-block"},[!1===t.misc.geo_db_downloaded?s("div",{staticClass:"sui-notice sui-notice-info"},[s("p",[t._v("\n\t\t\t\t\t\t\t\t"+t._s(t.__("To use this feature you must first download the latest Geo IP Database."))+"\n\t\t\t\t\t\t\t")]),t._v(" "),s("div",{staticClass:"sui-notice-buttons"},[s("submit-button",{attrs:{id:"download-geodb",type:"button","css-class":"sui-button-ghost",state:t.state},on:{click:t.download_geodb}},[t._v("\n\t\t\t\t\t\t\t\t\t"+t._s(t.__("Download"))+"\n\t\t\t\t\t\t\t\t")])],1)]):s("div",[!1===t.misc.current_country?s("div",[s("div",{staticClass:"sui-notice sui-notice-warning"},[s("p",[t._v("\n\t\t\t\t\t\t\t\t\t\t"+t._s(t.__("Can't detect current country, it seem your site setup in localhost environment"))+"\n\t\t\t\t\t\t\t\t\t")])])]):s("div",[s("strong",[t._v(t._s(t.__("Blacklist")))]),t._v(" "),s("p",{staticClass:"sui-description no-margin-bottom"},[t._v("\n\t\t\t\t\t\t\t\t\t"+t._s(t.__("Any countries you select will not be able to access any area of your website."))+"\n\t\t\t\t\t\t\t\t")]),t._v(" "),s("div",{staticClass:"sui-border-frame"},[s("div",{staticClass:"sui-control-with-icon"},[s("select",{directives:[{name:"model",rawName:"v-model",value:t.model.country_blacklist,expression:"model.country_blacklist"}],staticClass:"sui-select jquery-select sui-form-control",attrs:{name:"country_blacklist",id:"country_blacklist",placeholder:t.__("Type country name"),multiple:""},on:{change:function(e){var s=Array.prototype.filter.call(e.target.options,(function(t){return t.selected})).map((function(t){return"_value"in t?t._value:t.value}));t.$set(t.model,"country_blacklist",e.target.multiple?s:s[0])}}},t._l(t.misc.blacklist_countries,(function(e,i){return s("option",{domProps:{value:i}},[t._v("\n\t\t\t\t\t\t\t\t\t\t\t\t"+t._s(e)+"\n\t\t\t\t\t\t\t\t\t\t\t")])})),0),t._v(" "),s("i",{staticClass:"sui-icon-web-globe-world",attrs:{"aria-hidden":"true"}})])]),t._v(" "),s("strong",[t._v(t._s(t.__("Whitelist")))]),t._v(" "),s("p",{staticClass:"sui-description no-margin-bottom"},[t._v("\n\t\t\t\t\t\t\t\t\t"+t._s(t.__("Any countries you select will always be able to view your website. Note: We've added your default country by default."))+"\n\t\t\t\t\t\t\t\t")]),t._v(" "),s("div",{staticClass:"sui-border-frame"},[s("div",{staticClass:"sui-control-with-icon"},[s("select",{directives:[{name:"model",rawName:"v-model",value:t.model.country_whitelist,expression:"model.country_whitelist"}],staticClass:"sui-select sui-select jquery-select sui-form-control",attrs:{name:"country_whitelist",id:"country_whitelist",placeholder:t.__("Type country name"),multiple:""},on:{change:function(e){var s=Array.prototype.filter.call(e.target.options,(function(t){return t.selected})).map((function(t){return"_value"in t?t._value:t.value}));t.$set(t.model,"country_whitelist",e.target.multiple?s:s[0])}}},t._l(t.misc.whitelist_countries,(function(e,i){return s("option",{domProps:{value:i}},[t._v("\n\t\t\t\t\t\t\t\t\t\t\t\t"+t._s(e)+"\n\t\t\t\t\t\t\t\t\t\t\t")])})),0),t._v(" "),s("i",{staticClass:"sui-icon-web-globe-world",attrs:{"aria-hidden":"true"}})]),t._v(" "),s("p",{staticClass:"sui-description"},[t._v("\n\t\t\t\t\t\t\t\t\t\t"+t._s(t.__("Note: your whitelist will override any country ban, but will still follow your 404 and login lockout rules."))+"\n\t\t\t\t\t\t\t\t\t")])]),t._v(" "),t._m(0)])])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v(t._s(t.__("Message")))]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v(t._s(t.__("Customize the message locked out users will see.")))])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("label",{staticClass:"sui-label"},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.__("Custom message"))+"\n\t\t\t\t\t\t")]),t._v(" "),s("div",{staticClass:"sui-form-field"},[s("textarea",{directives:[{name:"model",rawName:"v-model",value:t.model.ip_lockout_message,expression:"model.ip_lockout_message"}],staticClass:"sui-form-control",attrs:{name:"ip_lockout_message",placeholder:t.__("The administrator has blocked your IP from accessing this website."),id:"ip_lockout_message"},domProps:{value:t.model.ip_lockout_message},on:{input:function(e){e.target.composing||t.$set(t.model,"ip_lockout_message",e.target.value)}}}),t._v(" "),s("span",{staticClass:"sui-description",domProps:{innerHTML:t._s(t.demo_link)}})])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Import"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Use this tool to import both your blacklist and whitelist from another website."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("div",{staticClass:"sui-form-field"},[s("span",[t._v(t._s(t.__("Upload your exported blacklist.")))]),t._v(" "),s("div",{staticClass:"upload-input sui-upload",class:{"sui-has_file":!1!==t.ip_import.id}},[s("div",{staticClass:"sui-upload-file"},[s("span",[t._v(t._s(t.ip_import.name))]),t._v(" "),s("button",{staticClass:"file-picker-remove",attrs:{"aria-label":"Remove file",type:"button"},on:{click:t.remove_import_file}},[s("i",{staticClass:"sui-icon-close",attrs:{"aria-hidden":"true"}})])]),t._v(" "),s("button",{staticClass:"sui-upload-button file-picker",attrs:{type:"button"}},[s("i",{staticClass:"sui-icon-upload-cloud",attrs:{"aria-hidden":"true"}}),t._v(" "+t._s(t.__("Upload file"))+"\n\t\t\t\t\t\t\t\t")])]),t._v(" "),s("div",{staticClass:"clear margin-top-10"}),t._v(" "),s("submit-button",{attrs:{type:"button","css-class":"sui-button-ghost",state:t.state},on:{click:t.import_ip}},[s("i",{staticClass:"sui-icon-download-cloud",attrs:{"aria-hidden":"true"}}),t._v("\n\t\t\t\t\t\t\t\t"+t._s(t.__("Import"))+"\n\t\t\t\t\t\t\t")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Note: Existing IPs will not be removed - only new IPs added."))+"\n ")])],1)])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Export"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Export both your blacklist and whitelist to use on another website."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("a",{staticClass:"sui-button sui-button-outlined export",attrs:{href:t.export_url}},[s("i",{staticClass:"sui-icon-upload-cloud",attrs:{"aria-hidden":"true"}}),t._v("\n\t\t\t\t\t\t\t"+t._s(t.__("Export"))+"\n\t\t\t\t\t\t")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("The export will include both the blacklist and whitelist."))+"\n ")])])])]),t._v(" "),s("div",{staticClass:"sui-box-footer"},[s("div",{staticClass:"sui-actions-right"},[s("submit-button",{attrs:{type:"submit","css-class":"sui-button-blue",state:t.state}},[s("i",{staticClass:"sui-icon-save",attrs:{"aria-hidden":"true"}}),t._v("\n\t\t\t\t\t\t"+t._s(t.__("Save Changes"))+"\n\t\t\t\t\t")])],1)])]),t._v(" "),s("locked-ips-dialog",{on:{fetched:function(e){t.blacklist.count=e}}})],1)}),[function(){var t=this.$createElement,e=this._self._c||t;return e("p",{staticClass:"sui-description"},[this._v("\n\t\t\t\t\t\t\t\t\tThis product includes GeoLite2 data created by MaxMind, available from\n\t\t\t\t\t\t\t\t\t"),e("a",{attrs:{href:"https://www.maxmind.com"}},[this._v("https://www.maxmind.com")]),this._v(".\n\t\t\t\t\t\t\t\t")])}],!1,null,null,null).exports,v=s("./src/component/pagination.vue"),g={mixins:[a.a],props:["id","headers","table","sort"],data:function(){return{logs:[],cached:[],countAll:0,totalPages:0,ranges:{Today:[moment(),moment()],"7 Days":[moment().subtract(6,"days"),moment()],"30 Days":[moment().subtract(29,"days"),moment()]},nonces:iplockout.nonces,endpoints:iplockout.endpoints,filters:{date:this.table.date_from+"-"+this.table.date_to,paged:1,type:"",ip:""},state:{show_filter:!1,on_saving:!1,on_querying:!1,show_empty_logs_text:!1,show_init_text:!0,querying:!1},ids:[],allSelected:!1}},components:{paginate:v.a},methods:{paging:function(t){this.filters.paged=t},clearFilter:function(){this.filters.type="",this.filters.ip=""},doFilter:function(){this.state.on_saving=!0;var t=this.filters.date.split("-");this.filters.date_from=t[0],this.filters.date_to=t[1],this._queryLogs(this.filters,1)},bulkSelect:function(){if(!1===this.allSelected)this.ids=[];else for(var t in this.logs)-1===this.ids.indexOf(this.logs[t].id)&&this.ids.push(this.logs[t].id)},addIpToList:function(t,e,s){var i=this;i.state.on_saving=!0,this.httpPostRequest("toggleIpAction",{ip:t,type:e},(function(){i.state.on_saving=!1;var t="";t="unblacklist"===e||"unwhitelist"===e?"na":e,i.logs[s].ip_status=t}))},bulkUpdate:function(){var t=jQuery("#bulk-action").val(),e=this;e.state.on_saving=!0,this.httpPostRequest("bulkAction",{type:t,ids:e.ids},(function(){e.state.on_saving=!1,"delete"===t&&e._queryLogs(e.filters,e.filters.paged)}))},_queryLogs:function(t,e){var s=this,i=this.filters.date.split("-");return t.date_from=i[0],t.date_to=i[1],t.paged=e,s.state.querying=!0,this.httpPostRequest("queryLogs",t,(function(t){var e=t.data;s.state.on_saving=!1,s.logs=e.logs,s.countAll=e.countAll,s.totalPages=e.totalPages,s.state.show_init_text=!1,s.state.querying=!1,0===s.logs.length?s.state.show_empty_logs_text=!0:s.state.show_empty_logs_text=!1}),!0)}},watch:{"filters.date":{handler:function(){this._queryLogs(this.filters,this.filters.paged)}},"filters.paged":function(){this._queryLogs(this.filters,this.filters.paged)},sort:function(t){var e=void 0;"latest"===t&&(e={orbder:"DESC",orderBy:"date"}),"oldest"===t&&(e={order:"ASC",orderBy:"date"}),"ip"===t&&(e={order:"DESC",orderBy:"ip"}),this._queryLogs(e,1)}},computed:{dateRange:function(){return this.filters.date},nextIcon:function(){return'<i class="sui-icon-chevron-right" aria-hidden="true"></i>'},prevIcon:function(){return'<i class="sui-icon-chevron-left" aria-hidden="true"></i>'},badgeClass:function(){return function(t){var e="";return"auth_lock"!==t.type&&"404_lockout"!==t.type&&"404_lockout_ignore"!==t.type||(e="locked"),"auth_lock"!==t.type&&"auth_fail"!==t.type||(e+=" login"),"404_error"!==t.type&&"404_lockout"!==t.type&&"404_lockout_ignore"!==t.type||(e+=" 404"),e}},badgeText:function(){return function(t){return"auth_lock"===t.type||"auth_fail"===t.type?"login":"404"}},eventType:function(){var t=this;return function(e){if(void 0!==e)return e.indexOf("404")>-1?t.__("404 error"):t.__("Login failed")}},logClass:function(){return function(t){if(void 0!==t)return"404_error"===t.type||"auth_fail"===t.type?"sui-warning":"sui-error"}}},created:function(){this._queryLogs({date_from:this.table.date_from,date_to:this.table.date_to},1)},mounted:function(){var t=this;this.$nextTick((function(){jQuery("#date-range-picker").daterangepicker({autoApply:!0,maxDate:moment().format("MM/DD/YYYY"),minDate:moment().subtract(1,"year").format("MM/DD/YYYY"),locale:{format:"MM/DD/YYYY",separator:"-"},ranges:{Today:[moment(),moment()],"7 Days":[moment().subtract(6,"days"),moment()],"30 Days":[moment().subtract(29,"days"),moment()]},template:'<div class="daterangepicker wd-calendar"><div class="ranges"></div><div class="drp-calendar left"><div class="calendar-table"></div><div class="calendar-time"></div></div><div class="drp-calendar right"><div class="calendar-table"></div><div class="calendar-time"></div></div></div>',showCustomRangeLabel:!1,alwaysShowCalendars:!0}),jQuery("#date-range-picker").on("apply.daterangepicker",(function(e,s){t.filters.date=s.startDate.format("MM/DD/YYYY")+"-"+s.endDate.format("MM/DD/YYYY")})),jQuery("#filter_type").change((function(){t.filters.type=jQuery(this).val()}))}))}},b=Object(r.a)(g,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",[s("div",{staticClass:"sui-box-body no-padding-bottom"},[s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col-md-5"},[s("div",{staticClass:"inline-form"},[s("label",[t._v(t._s(t.__("Date range")))]),t._v(" "),s("div",{staticClass:"sui-date"},[s("i",{staticClass:"sui-icon-calendar",attrs:{"aria-hidden":"true"}}),t._v(" "),s("input",{staticClass:"sui-form-control",attrs:{id:"date-range-picker",name:"date_from",type:"text"},domProps:{value:t.dateRange}})])])]),t._v(" "),s("div",{staticClass:"sui-col"},[s("div",{staticClass:"sui-pagination-wrap"},[t.countAll>0?s("span",{staticClass:"sui-pagination-results"},[t._v(t._s(t.vsprintf(t.__("%s results"),t.countAll)))]):t._e(),t._v(" "),t.countAll>0?s("paginate",{attrs:{"page-count":t.totalPages,"click-handler":t.paging,"prev-text":t.prevIcon,"next-text":t.nextIcon,"container-class":"sui-pagination"}}):t._e(),t._v(" "),s("button",{staticClass:"sui-button-icon sui-button-outlined sui-pagination-open-filter",on:{click:function(e){t.state.show_filter=!t.state.show_filter}}},[s("i",{staticClass:"sui-icon-filter",attrs:{"aria-hidden":"true"}}),t._v(" "),s("span",{staticClass:"sui-screen-reader-text"},[t._v("Open search filters")])])],1)])]),t._v(" "),s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col-md-5"},[s("form",{staticClass:"inline-form",attrs:{method:"post"},on:{submit:function(e){return e.preventDefault(),t.bulkUpdate(e)}}},[s("label",{staticClass:"sui-checkbox apply-all"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.allSelected,expression:"allSelected"}],attrs:{type:"checkbox","true-value":!0,"false-value":!1},domProps:{checked:Array.isArray(t.allSelected)?t._i(t.allSelected,null)>-1:t.allSelected},on:{change:[function(e){var s=t.allSelected,i=e.target,n=!!i.checked;if(Array.isArray(s)){var a=t._i(s,null);i.checked?a<0&&(t.allSelected=s.concat([null])):a>-1&&(t.allSelected=s.slice(0,a).concat(s.slice(a+1)))}else t.allSelected=n},t.bulkSelect]}}),t._v(" "),s("span",{attrs:{"aria-hidden":"true"}})]),t._v(" "),s("select",{staticClass:"sui-select-sm",attrs:{id:"bulk-action"}},[s("option",{attrs:{value:""}},[t._v(t._s(t.__("Bulk action")))]),t._v(" "),s("option",{attrs:{value:"ban"}},[t._v(t._s(t.__("Ban")))]),t._v(" "),s("option",{attrs:{value:"whitelist"}},[t._v(t._s(t.__("Whitelist")))]),t._v(" "),s("option",{attrs:{value:"delete"}},[t._v(t._s(t.__("Delete")))])]),t._v(" "),s("button",{staticClass:"sui-button",class:{"sui-button-onload":t.state.on_saving},attrs:{type:"submit"}},[s("span",{staticClass:"sui-loading-text"},[t._v("\n "+t._s(t.__("Bulk Update"))+"\n ")]),t._v(" "),s("i",{staticClass:"sui-icon-loader sui-loading",attrs:{"aria-hidden":"true"}})])])])]),t._v(" "),s("div",{staticClass:"sui-pagination-filter",class:{"sui-open":t.state.show_filter}},[s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col"},[s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-label"},[t._v("\n\t\t\t\t\t\t\t\t"+t._s(t.__("Lockout Type"))+"\n\t\t\t\t\t\t\t")]),t._v(" "),s("select",{attrs:{id:"filter_type",name:"type"}},[s("option",{attrs:{value:""}},[t._v(t._s(t.__("All")))]),t._v(" "),s("option",{attrs:{value:"auth_fail"}},[t._v(t._s(t.__("Failed login attempts")))]),t._v(" "),s("option",{attrs:{value:"auth_lock"}},[t._v(t._s(t.__("Login lockout")))]),t._v(" "),s("option",{attrs:{value:"404_error"}},[t._v(t._s(t.__("404 error")))]),t._v(" "),s("option",{attrs:{value:"404_lockout"}},[t._v(t._s(t.__("404 lockout")))])])])]),t._v(" "),s("div",{staticClass:"sui-col"},[s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-label"},[t._v("\n\t\t\t\t\t\t\t\t"+t._s(t.__("IP Address"))+"\n\t\t\t\t\t\t\t")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.filters.ip,expression:"filters.ip"}],staticClass:"sui-form-control",attrs:{type:"text",placeholder:"Enter an IP address"},domProps:{value:t.filters.ip},on:{input:function(e){e.target.composing||t.$set(t.filters,"ip",e.target.value)}}})])]),t._v(" "),s("div",{staticClass:"sui-col"})]),t._v(" "),s("hr"),t._v(" "),s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col"}),t._v(" "),s("div",{staticClass:"sui-col"},[s("button",{staticClass:"sui-button float-r",class:{"sui-button-onload":t.state.on_saving},attrs:{type:"button",disabled:t.state.on_saving},on:{click:t.doFilter}},[s("span",{staticClass:"sui-loading-text"},[t._v("\n "+t._s(t.__("Apply"))+"\n ")]),t._v(" "),s("i",{staticClass:"sui-icon-loader sui-loading",attrs:{"aria-hidden":"true"}})])])])])]),t._v(" "),t.state.show_empty_logs_text?s("div",{staticClass:"sui-box-body"},[s("table",{staticClass:"sui-table no-border margin-bottom-20"},[s("tr",[s("td",[s("div",{staticClass:"sui-notice"},[s("p",[t._v("\n\t\t\t\t\t\t\t\t"+t._s(t.__("No lockout events have been logged within the selected time period."))+"\n\t\t\t\t\t\t\t")])])])])])]):t._e(),t._v(" "),t.state.show_init_text?s("div",{staticClass:"sui-box-body"},[s("table",{staticClass:"sui-table no-border margin-bottom-20"},[s("tr",[s("td",[s("div",{staticClass:"sui-notice"},[s("p",[t._v("\n\t\t\t\t\t\t\t\t"+t._s(t.__("Loading logs...."))+"\n\t\t\t\t\t\t\t")])])])])])]):t._e(),t._v(" "),s("div",{directives:[{name:"show",rawName:"v-show",value:!1===t.state.show_init_text&&!1===t.state.show_empty_logs_text,expression:"state.show_init_text===false && state.show_empty_logs_text===false"}]},[t.state.querying?s("overlay"):t._e(),t._v(" "),s("table",{staticClass:"sui-table sui-accordion no-border",attrs:{id:t.id}},[s("thead",[s("tr",t._l(t.headers,(function(e){return s("th",[t._v("\n\t\t\t\t\t\t"+t._s(e)+"\n\t\t\t\t\t")])})),0)]),t._v(" "),s("tbody",[t._l(t.logs,(function(e,i){return[s("tr",{staticClass:"sui-accordion-item",class:t.logClass(e)},[s("td",{staticClass:"sui-table-item-title"},[s("label",{staticClass:"sui-checkbox"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.ids,expression:"ids"}],staticClass:"single-select",attrs:{type:"checkbox"},domProps:{value:e.id,checked:Array.isArray(t.ids)?t._i(t.ids,e.id)>-1:t.ids},on:{change:function(s){var i=t.ids,n=s.target,a=!!n.checked;if(Array.isArray(i)){var o=e.id,r=t._i(i,o);n.checked?r<0&&(t.ids=i.concat([o])):r>-1&&(t.ids=i.slice(0,r).concat(i.slice(r+1)))}else t.ids=a}}}),t._v(" "),s("span",{attrs:{"aria-hidden":"true"}})]),t._v(" "),s("span",{staticClass:"badge",class:t.badgeClass(e)},[t._v(t._s(t.badgeText(e)))]),t._v("\n\t\t\t\t\t\t\t"+t._s(e.log)+"\n\t\t\t\t\t\t")]),t._v(" "),s("td",[t._v("\n\t\t\t\t\t\t\t"+t._s(e.date)+"\n\t\t\t\t\t\t")]),t._v(" "),t._m(0,!0)]),t._v(" "),s("tr",{staticClass:"sui-accordion-item-content"},[s("td",{attrs:{colSpan:"3"}},[s("div",{staticClass:"sui-box"},[s("div",{staticClass:"sui-box-body margin-bottom-30"},[s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col"},[s("p",[s("strong",[t._v(t._s(t.__("Description")))])]),t._v(" "),s("p",[t._v(t._s(e.log))])]),t._v(" "),s("div",{staticClass:"sui-col"},[s("p",[s("strong",[t._v(t._s(t.__("Type")))])]),t._v(" "),s("p",[s("a",{attrs:{href:""},domProps:{textContent:t._s(t.eventType(e.type))}})])])]),t._v(" "),s("div",{staticClass:"sui-row"},[s("div",{staticClass:"sui-col"},[s("p",[s("strong",[t._v(t._s(t.__("IP Address")))])]),t._v(" "),s("p",[s("a",{attrs:{href:""}},[t._v(t._s(e.ip))])])]),t._v(" "),s("div",{staticClass:"sui-col"},[s("p",[s("strong",[t._v(t._s(t.__("Date/Time")))])]),t._v(" "),s("p",[t._v(t._s(e.date))])]),t._v(" "),s("div",{staticClass:"sui-col"},[s("p",[s("strong",[t._v(t._s(t.__("Ban Status")))])]),t._v(" "),s("p",[t._v(t._s(e.statusText))])])]),t._v(" "),s("div",{staticClass:"sui-border-frame"},["na"===e.ip_status?s("button",{staticClass:"sui-button sui-button-ghost",class:{"sui-button-onload":t.state.on_saving},attrs:{type:"button"},on:{click:function(s){return t.addIpToList(e.ip,"whitelist",i)}}},[s("span",{staticClass:"sui-loading-text"},[s("i",{staticClass:"sui-icon-check-tick",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("Add whitelist"))+"\n ")]),t._v(" "),s("i",{staticClass:"sui-icon-loader sui-loading",attrs:{"aria-hidden":"true"}})]):t._e(),t._v(" "),"whitelist"===e.ip_status?s("button",{staticClass:"sui-button sui-button-ghost",class:{"sui-button-onload":t.state.on_saving},attrs:{type:"button"},on:{click:function(s){return t.addIpToList(e.ip,"unwhitelist",i)}}},[s("span",{staticClass:"sui-loading-text"},[t._v("\n "+t._s(t.__("Unwhitelist"))+"\n ")]),t._v(" "),s("i",{staticClass:"sui-icon-loader sui-loading",attrs:{"aria-hidden":"true"}})]):t._e(),t._v(" "),!1===e.is_mine&&"na"===e.ip_status?s("button",{staticClass:"sui-button sui-button-red",class:{"sui-button-onload":t.state.on_saving},attrs:{type:"button"},on:{click:function(s){return t.addIpToList(e.ip,"blacklist",i)}}},[s("span",{staticClass:"sui-loading-text"},[s("i",{staticClass:"sui-icon-cross-close",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("Ban IP"))+"\n ")]),t._v(" "),s("i",{staticClass:"sui-icon-loader sui-loading",attrs:{"aria-hidden":"true"}})]):t._e(),t._v(" "),"blacklist"===e.ip_status?s("button",{staticClass:"sui-button sui-button-blue",class:{"sui-button-onload":t.state.on_saving},attrs:{type:"button"},on:{click:function(s){return t.addIpToList(e.ip,"unblacklist",i)}}},[s("span",{staticClass:"sui-loading-text"},[t._v("\n "+t._s(t.__("Unban IP"))+"\n ")]),t._v(" "),s("i",{staticClass:"sui-icon-loader sui-loading",attrs:{"aria-hidden":"true"}})]):t._e(),t._v(" "),s("p",[t._v("\n\t\t\t\t\t\t\t\t\t\t\t"+t._s(t.__("Note: Make sure this IP is not a legitimate operation, banning the IP will result in being permanently locked out from accessing your website."))+"\n\t\t\t\t\t\t\t\t\t\t")])])])])])])]}))],2)])],1)])}),[function(){var t=this.$createElement,e=this._self._c||t;return e("td",[e("button",{staticClass:"sui-button-icon sui-accordion-open-indicator"},[e("i",{staticClass:"sui-icon-chevron-down",attrs:{"aria-hidden":"true"}})])])}],!1,null,null,null).exports,y={mixins:[a.a],name:"logs",props:["view"],data:function(){return{table:iplockout.table,sort:"latest"}},components:{"lockout-table":b},mounted:function(){var t=this;jQuery(".jquery-select").change((function(){var e=jQuery(this).val(),s=jQuery(this).attr("name");t[s]=e}))}},k=Object(r.a)(y,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"sui-box",attrs:{"data-tab":"logs"}},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v(t._s(t.__("Logs")))]),t._v(" "),s("div",{staticClass:"sui-actions-right"},[s("div",{staticClass:"box-filter"},[s("span",[t._v("\n "+t._s(t.__("Sort by"))+"\n ")]),t._v(" "),s("select",{directives:[{name:"model",rawName:"v-model",value:t.sort,expression:"sort"}],staticClass:"sui-select-sm jquery-select",attrs:{name:"sort"},on:{change:function(e){var s=Array.prototype.filter.call(e.target.options,(function(t){return t.selected})).map((function(t){return"_value"in t?t._value:t.value}));t.sort=e.target.multiple?s:s[0]}}},[s("option",{attrs:{value:"latest"}},[t._v(t._s(t.__("Latest")))]),t._v(" "),s("option",{attrs:{value:"oldest"}},[t._v(t._s(t.__("Oldest")))]),t._v(" "),s("option",{attrs:{value:"ip"}},[t._v(t._s(t.__("IP Address")))])])]),t._v(" "),s("a",{staticClass:"sui-button sui-button-outlined",attrs:{href:t.adminUrl("admin-ajax.php?action=lockoutExportAsCsv")}},[t._v("\n\t\t\t\t\t"+t._s(t.__("Export CSV"))+"\n\t\t\t\t")])])]),t._v(" "),s("div",{staticClass:"sui-box-body"},[s("p",[t._v("\n\t\t\t\t"+t._s(t.__("Here's your comprehensive IP lockout log. You can whitelist and ban IPs from there."))+"\n\t\t\t")])]),t._v(" "),s("lockout-table",{attrs:{id:"iplockout-table",headers:["Details","Time",""],table:t.table,sort:t.sort}})],1)}),[],!1,null,null,null).exports,w=s("./src/component/recipients.vue"),C={mixins:[a.a],name:"notification",props:["view"],data:function(){return{model:iplockout.model.notification,nonces:iplockout.nonces,endpoints:iplockout.endpoints,state:{on_saving:!1}}},components:{recipients:w.a},methods:{updateSettings:function(){var t=this.model;this.httpPostRequest("updateSettings",{data:JSON.stringify(t)})},updateRecipients:function(t){this.model.receipts=t}},computed:{},mounted:function(){var t=this;jQuery(".jquery-select").change((function(){var e=jQuery(this).val(),s=jQuery(this).attr("name");t.model[s]=e}))}},x=Object(r.a)(C,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"sui-box",attrs:{"data-tab":"notification"}},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v(t._s(t.__("Notification")))])]),t._v(" "),s("form",{attrs:{method:"post"},on:{submit:function(e){return e.preventDefault(),t.updateSettings(e)}}},[s("div",{staticClass:"sui-box-body"},[s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Email Notifications"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Choose which lockout notifications you wish to be notified about. These are sent instantly."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-toggle"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.login_lockout_notification,expression:"model.login_lockout_notification"}],staticClass:"toggle-checkbox",attrs:{role:"presentation",type:"checkbox",id:"login_lockout_notification","true-value":!0,"false-value":!1},domProps:{checked:Array.isArray(t.model.login_lockout_notification)?t._i(t.model.login_lockout_notification,null)>-1:t.model.login_lockout_notification},on:{change:function(e){var s=t.model.login_lockout_notification,i=e.target,n=!!i.checked;if(Array.isArray(s)){var a=t._i(s,null);i.checked?a<0&&t.$set(t.model,"login_lockout_notification",s.concat([null])):a>-1&&t.$set(t.model,"login_lockout_notification",s.slice(0,a).concat(s.slice(a+1)))}else t.$set(t.model,"login_lockout_notification",n)}}}),t._v(" "),s("span",{staticClass:"sui-toggle-slider"})]),t._v(" "),s("label",{staticClass:"sui-toggle-label",attrs:{for:"login_lockout_notification"}},[t._v("\n "+t._s(t.__("Login Protection Lockout"))+"\n ")]),t._v(" "),s("p",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("When a user or IP is locked out for trying to access your login area."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-toggle"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.ip_lockout_notification,expression:"model.ip_lockout_notification"}],staticClass:"toggle-checkbox",attrs:{role:"presentation",type:"checkbox",id:"ip_lockout_notification","true-value":!0,"false-value":!1},domProps:{checked:Array.isArray(t.model.ip_lockout_notification)?t._i(t.model.ip_lockout_notification,null)>-1:t.model.ip_lockout_notification},on:{change:function(e){var s=t.model.ip_lockout_notification,i=e.target,n=!!i.checked;if(Array.isArray(s)){var a=t._i(s,null);i.checked?a<0&&t.$set(t.model,"ip_lockout_notification",s.concat([null])):a>-1&&t.$set(t.model,"ip_lockout_notification",s.slice(0,a).concat(s.slice(a+1)))}else t.$set(t.model,"ip_lockout_notification",n)}}}),t._v(" "),s("span",{staticClass:"sui-toggle-slider"})]),t._v(" "),s("label",{staticClass:"sui-toggle-label",attrs:{for:"ip_lockout_notification"}},[t._v("\n "+t._s(t.__("404 Detection Lockout"))+"\n ")]),t._v(" "),s("p",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("When a user or IP is locked out for repeated hits on non-existent files."))+"\n ")])])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Email Recipients"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Choose which of your website’s users will receive lockout notifications via email."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("recipients",{attrs:{id:"notification_dialog",recipients:t.model.receipts},on:{"update:recipients":t.updateRecipients}})],1)]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Repeat Lockouts"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("If you’re getting too many emails from IPs who are repeatedly being locked out you can turn them off for a period of time."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("label",{staticClass:"sui-toggle"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.cooldown_enabled,expression:"model.cooldown_enabled"}],staticClass:"toggle-checkbox",attrs:{role:"presentation",type:"checkbox","true-value":!0,"false-value":!1,id:"cooldown_enabled"},domProps:{checked:Array.isArray(t.model.cooldown_enabled)?t._i(t.model.cooldown_enabled,null)>-1:t.model.cooldown_enabled},on:{change:function(e){var s=t.model.cooldown_enabled,i=e.target,n=!!i.checked;if(Array.isArray(s)){var a=t._i(s,null);i.checked?a<0&&t.$set(t.model,"cooldown_enabled",s.concat([null])):a>-1&&t.$set(t.model,"cooldown_enabled",s.slice(0,a).concat(s.slice(a+1)))}else t.$set(t.model,"cooldown_enabled",n)}}}),t._v(" "),s("span",{staticClass:"sui-toggle-slider"})]),t._v(" "),s("label",{staticClass:"sui-toggle-label",attrs:{for:"cooldown_enabled"}},[t._v("\n "+t._s(t.__("Limit email notifications for repeat lockouts"))+"\n ")]),t._v(" "),s("div",{staticClass:"sui-border-frame sui-toggle-content"},[s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-label"},[s("strong",[t._v(t._s(t.__("Threshold")))]),t._v(" "+t._s(t.__("- The number of lockouts before we turn off emails")))]),t._v(" "),s("select",{directives:[{name:"model",rawName:"v-model",value:t.model.cooldown_number_lockout,expression:"model.cooldown_number_lockout"}],staticClass:"jquery-select sui-select",attrs:{id:"cooldown_number_lockout",name:"cooldown_number_lockout","data-minimum-results-for-search":"Infinity"},on:{change:function(e){var s=Array.prototype.filter.call(e.target.options,(function(t){return t.selected})).map((function(t){return"_value"in t?t._value:t.value}));t.$set(t.model,"cooldown_number_lockout",e.target.multiple?s:s[0])}}},[s("option",{attrs:{value:"1"}},[t._v("1")]),t._v(" "),s("option",{attrs:{value:"3"}},[t._v("3")]),t._v(" "),s("option",{attrs:{value:"5"}},[t._v("5")]),t._v(" "),s("option",{attrs:{value:"10"}},[t._v("10")])])]),t._v(" "),s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-label"},[s("strong",[t._v(t._s(t.__("Cool Off Period")))]),t._v(" "+t._s(t.__("- For how long should we turn them off?")))]),t._v(" "),s("select",{directives:[{name:"model",rawName:"v-model",value:t.model.cooldown_period,expression:"model.cooldown_period"}],staticClass:"jquery-select sui-select",attrs:{id:"cooldown_period",name:"cooldown_period","data-minimum-results-for-search":"Infinity"},on:{change:function(e){var s=Array.prototype.filter.call(e.target.options,(function(t){return t.selected})).map((function(t){return"_value"in t?t._value:t.value}));t.$set(t.model,"cooldown_period",e.target.multiple?s:s[0])}}},[s("option",{attrs:{value:"1"}},[t._v(t._s(t.__("1 hour")))]),t._v(" "),s("option",{attrs:{value:"2"}},[t._v(t._s(t.__("2 hours")))]),t._v(" "),s("option",{attrs:{value:"6"}},[t._v(t._s(t.__("6 hours")))]),t._v(" "),s("option",{attrs:{value:"12"}},[t._v(t._s(t.__("12 hours")))]),t._v(" "),s("option",{attrs:{value:"24"}},[t._v(t._s(t.__("24 hours")))]),t._v(" "),s("option",{attrs:{value:"36"}},[t._v(t._s(t.__("36 hours")))]),t._v(" "),s("option",{attrs:{value:"48"}},[t._v(t._s(t.__("48 hours")))]),t._v(" "),s("option",{attrs:{value:"168"}},[t._v(t._s(t.__("7 days")))]),t._v(" "),s("option",{attrs:{value:"720"}},[t._v(t._s(t.__("30 days")))])])])])])])]),t._v(" "),s("div",{staticClass:"sui-box-footer"},[s("div",{staticClass:"sui-actions-right"},[s("submit-button",{attrs:{type:"submit","css-class":"sui-button-blue",state:t.state}},[s("i",{staticClass:"sui-icon-save",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("Save Changes"))+"\n ")])],1)])])])}),[],!1,null,null,null).exports,S={mixins:[a.a],name:"settings",props:["view"],data:function(){return{model:iplockout.model.settings,state:{on_saving:!1,ip_actioning:[]},nonces:iplockout.nonces,endpoints:iplockout.endpoints}},methods:{updateSettings:function(){var t=this.model;this.httpPostRequest("updateSettings",{data:JSON.stringify(t)})},emptyLogs:function(){var t=this;t.state.on_saving=!0;var e=!1,s=setInterval((function(){!1===e&&(e=!0,t.httpPostRequest("emptyLogs",{},(function(i){!1===i.success?e=!1:(clearInterval(s),t.state.on_saving=!1)})))}),1e3)}}},D=Object(r.a)(S,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"sui-box",attrs:{"data-tab":"settings"}},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v(t._s(t.__("Settings")))])]),t._v(" "),s("form",{attrs:{method:"post"},on:{submit:function(e){return e.preventDefault(),t.updateSettings(e)}}},[s("div",{staticClass:"sui-box-body"},[s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v(t._s(t.__("Storage")))]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Event logs are cached on your local server to speed up load times. You can choose how many days to keep logs for before they are removed."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("div",{staticClass:"sui-form-field"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.storage_days,expression:"model.storage_days"}],staticClass:"sui-form-control sui-field-has-suffix",attrs:{size:"8",type:"text",id:"storage_days",name:"storage_days"},domProps:{value:t.model.storage_days},on:{input:function(e){e.target.composing||t.$set(t.model,"storage_days",e.target.value)}}}),t._v(" "),s("span",{staticClass:"sui-field-suffix"},[t._v(t._s(t.__("days")))]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Choose how many days of event logs you'd like to store locally."))+"\n ")])])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v(t._s(t.__("Delete logs")))]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("If you wish to delete your current logs simply hit delete and this will wipe your logs clean."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("submit-button",{attrs:{type:"button","css-class":"sui-button-ghost",state:t.state},on:{click:t.emptyLogs}},[s("i",{staticClass:"sui-icon-save",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("Delete Logs"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Note: Defender will instantly remove all past event logs, you will not be able to get them back."))+"\n ")])],1)])]),t._v(" "),s("div",{staticClass:"sui-box-footer"},[s("div",{staticClass:"sui-actions-right"},[s("submit-button",{attrs:{type:"submit",state:t.state,"css-class":"sui-button-blue"}},[s("i",{staticClass:"sui-icon-save",attrs:{"aria-hidden":"true"}}),t._v("\n "+t._s(t.__("Save Changes"))+"\n ")])],1)])])])}),[],!1,null,null,null).exports,P={mixins:[a.a],name:"report",props:["view"],data:function(){return{model:iplockout.model.report,state:{on_saving:!1,ip_actioning:[]},nonces:iplockout.nonces,endpoints:iplockout.endpoints,misc:iplockout.misc}},components:{recipients:w.a},methods:{updateRecipients:function(t){this.model.report_receipts=t},updateSettings:function(){var t=this.model;this.httpPostRequest("updateSettings",{data:JSON.stringify(t)})}},mounted:function(){var t=this;jQuery(".jquery-select").change((function(){var e=jQuery(this).val(),s=jQuery(this).attr("name");t.model[s]=e})),t.model.report_day=t.model.report_day.toLowerCase()},computed:{timezone_text:function(){return this.vsprintf(this.__("Your timezone is set to UTC %s, so your current time is %s."),this.misc.tz,this.misc.current_time)}}},M=Object(r.a)(P,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"sui-box"},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n\t\t\t\t"+t._s(t.__("Reporting"))+"\n\t\t\t")])]),t._v(" "),s("form",{attrs:{method:"post"},on:{submit:function(e){return e.preventDefault(),t.updateSettings(e)}}},[s("div",{staticClass:"sui-box-body"},[s("div",{staticClass:"sui-box-settings-row"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v("\n "+t._s(t.__("Lockouts Report"))+"\n ")]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Configure Defender to automatically email you a lockout report for this website."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-toggle"},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.report,expression:"model.report"}],staticClass:"toggle-checkbox",attrs:{role:"presentation",type:"checkbox",name:"report",id:"report","true-value":!0,"false-value":!1},domProps:{checked:Array.isArray(t.model.report)?t._i(t.model.report,null)>-1:t.model.report},on:{change:function(e){var s=t.model.report,i=e.target,n=!!i.checked;if(Array.isArray(s)){var a=t._i(s,null);i.checked?a<0&&t.$set(t.model,"report",s.concat([null])):a>-1&&t.$set(t.model,"report",s.slice(0,a).concat(s.slice(a+1)))}else t.$set(t.model,"report",n)}}}),t._v(" "),s("span",{staticClass:"sui-toggle-slider"})]),t._v(" "),s("label",{staticClass:"sui-toggle-label",attrs:{for:"report"}},[t._v("\n\t\t\t\t\t\t\t\t"+t._s(t.__("Send regular email report"))+"\n\t\t\t\t\t\t\t")]),t._v(" "),s("div",{directives:[{name:"show",rawName:"v-show",value:!0===t.model.report,expression:"model.report===true"}],staticClass:"sui-border-frame sui-toggle-content"},[s("strong",[t._v("\n\t\t\t\t\t\t\t\t\t"+t._s(t.__("Recipients"))+"\n\t\t\t\t\t\t\t\t")]),t._v(" "),s("recipients",{attrs:{id:"report_receipts",recipients:t.model.report_receipts},on:{"update:recipients":t.updateRecipients}}),t._v(" "),s("div",{staticClass:"sui-form-field schedule-box"},[s("strong",[t._v("\n\t\t\t\t\t\t\t\t\t\t"+t._s(t.__("Schedule"))+"\n\t\t\t\t\t\t\t\t\t")]),s("br"),t._v(" "),s("label",{staticClass:"sui-label"},[t._v("\n\t\t\t\t\t\t\t\t\t\t"+t._s(t.__("Frequency"))+"\n\t\t\t\t\t\t\t\t\t")]),t._v(" "),s("div",{staticClass:"sui-side-tabs"},[s("div",{staticClass:"sui-tabs-menu"},[s("label",{staticClass:"sui-tab-item",class:{active:1===parseInt(t.model.report_frequency)},attrs:{for:"report-daily"}},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.report_frequency,expression:"model.report_frequency"}],attrs:{type:"radio",name:"report_frequency","data-attribute":"feature_image_fit",id:"report-daily","data-tab-menu":"report-config-box"},domProps:{value:1,checked:t._q(t.model.report_frequency,1)},on:{change:function(e){return t.$set(t.model,"report_frequency",1)}}}),t._v("\n\t\t\t\t\t\t\t\t\t\t\t\t"+t._s(t.__("Daily"))+"\n\t\t\t\t\t\t\t\t\t\t\t")]),t._v(" "),s("label",{staticClass:"sui-tab-item",class:{active:7===parseInt(t.model.report_frequency)},attrs:{for:"report-weekly"}},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.report_frequency,expression:"model.report_frequency"}],attrs:{type:"radio",name:"report_frequency","data-attribute":"feature_image_fit","data-tab-menu":"report-config-box",id:"report-weekly"},domProps:{value:7,checked:t._q(t.model.report_frequency,7)},on:{change:function(e){return t.$set(t.model,"report_frequency",7)}}}),t._v("\n\t\t\t\t\t\t\t\t\t\t\t\t"+t._s(t.__("Weekly"))+"\n\t\t\t\t\t\t\t\t\t\t\t")]),t._v(" "),s("label",{staticClass:"sui-tab-item",class:{active:30===parseInt(t.model.report_frequency)},attrs:{for:"report-monthly"}},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.model.report_frequency,expression:"model.report_frequency"}],attrs:{type:"radio",name:"report_frequency","data-attribute":"feature_image_fit",id:"report-monthly","data-tab-menu":"report-config-box"},domProps:{value:30,checked:t._q(t.model.report_frequency,30)},on:{change:function(e){return t.$set(t.model,"report_frequency",30)}}}),t._v("\n\t\t\t\t\t\t\t\t\t\t\t\t"+t._s(t.__("Monthly"))+"\n\t\t\t\t\t\t\t\t\t\t\t")])]),t._v(" "),s("div",{staticClass:"sui-tabs-content"},[s("div",{staticClass:"sui-tab-content sui-tab-boxed active",attrs:{id:"report-config-box","data-tab-content":"report-config-box"}},[s("div",{staticClass:"sui-row"},[s("div",{directives:[{name:"show",rawName:"v-show",value:1!==parseInt(t.model.report_frequency),expression:"parseInt(model.report_frequency) !== 1"}],staticClass:"sui-col"},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("Day of the week")))]),t._v(" "),s("select",{directives:[{name:"model",rawName:"v-model",value:t.model.report_day,expression:"model.report_day"}],staticClass:"jquery-select sui-select",attrs:{name:"report_day",id:"report_day"},on:{change:function(e){var s=Array.prototype.filter.call(e.target.options,(function(t){return t.selected})).map((function(t){return"_value"in t?t._value:t.value}));t.$set(t.model,"report_day",e.target.multiple?s:s[0])}}},t._l(t.misc.days_of_weeks,(function(e){return s("option",{domProps:{value:e.toLowerCase()}},[t._v(t._s(e)+"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t")])})),0)]),t._v(" "),s("div",{staticClass:"sui-col"},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("Time of day")))]),t._v(" "),s("select",{directives:[{name:"model",rawName:"v-model",value:t.model.report_time,expression:"model.report_time"}],staticClass:"jquery-select sui-select",attrs:{name:"report_time",id:"report_time"},on:{change:function(e){var s=Array.prototype.filter.call(e.target.options,(function(t){return t.selected})).map((function(t){return"_value"in t?t._value:t.value}));t.$set(t.model,"report_time",e.target.multiple?s:s[0])}}},t._l(t.misc.times_of_days,(function(e,i){return s("option",{domProps:{value:i}},[t._v(t._s(e)+"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t")])})),0)]),t._v(" "),s("div",{staticClass:"sui-col-md-12"},[s("span",{staticClass:"sui-p-small",domProps:{innerHTML:t._s(t.timezone_text)}})])])])])])])],1)])])])]),t._v(" "),s("div",{staticClass:"sui-box-footer"},[s("div",{staticClass:"sui-actions-right"},[s("submit-button",{attrs:{type:"submit","css-class":"sui-button-blue",state:t.state}},[s("i",{staticClass:"sui-icon-save",attrs:{"aria-hidden":"true"}}),t._v("\n\t\t\t\t\t\t"+t._s(t.__("Save Changes"))+"\n\t\t\t\t\t")])],1)])])])}),[],!1,null,null,null).exports,T={name:"report-free",mixins:[a.a],props:["view"],computed:{upsell_img:function(){return this.assetUrl("assets/img/scanning-free-man.svg")},upsell_text:function(){return this.vsprintf(this.__("Schedule daily, weekly or monthly lockout summary reports for all your websites. This feature is included in a WPMU DEV membership along with 100+ plugins & themes, 24/7 support and lots of handy site management tools – <a href='%s'>Try it all FREE today</a>!"),this.campaign_url("defender_iplockout_reports_upsell_link"))}}},O=Object(r.a)(T,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"sui-box",attrs:{"data-tab":"reporting"}},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n "+t._s(t.__("Reporting"))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-body sui-upsell-items"},[s("div",{staticClass:"sui-box-settings-row sui-disabled no-padding-bottom no-margin-bottom"},[s("div",{staticClass:"sui-box-settings-col-1"},[s("span",{staticClass:"sui-settings-label"},[t._v(t._s(t.__("Lockouts Report")))]),t._v(" "),s("span",{staticClass:"sui-description"},[t._v("\n "+t._s(t.__("Configure Defender to automatically email you a lockout report for this website."))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-box-settings-col-2"},[s("div",{staticClass:"sui-side-tabs sui-tabs"},[s("div",{attrs:{"data-tabs":""}},[s("div",[t._v(t._s(t.__("On")))]),t._v(" "),s("div",{staticClass:"active"},[t._v(t._s(t.__("Off")))])])])])]),t._v(" "),s("div",{staticClass:"sui-box-settings-row sui-upsell-row"},[s("img",{staticClass:"sui-image sui-upsell-image",attrs:{src:t.upsell_img}}),t._v(" "),s("div",{staticClass:"sui-upsell-notice"},[s("p",{domProps:{innerHTML:t._s(t.upsell_text)}})])])])])}),[],!1,null,null,null).exports,j={name:"ip-lockout",mixins:[a.a],data:function(){return{state:{on_saving:!1},summary_data:iplockout.summaryData,is_free:parseInt(defender.is_free),view:""}},components:{lockout:l,"nf-lockout":c,"ip-blacklist":f,logs:k,notification:x,settings:D,report:M,report_free:O},created:function(){var t=new URLSearchParams(window.location.search).get("view");null===t&&(t="login"),this.view=t},watch:{view:function(){history.replaceState({},null,this.adminUrl()+"admin.php?page=wdf-ip-lockout&view="+this.view)}},mounted:function(){self=this,jQuery(".sui-mobile-nav").change((function(){self.view=jQuery(this).val()}))}},Y=Object(r.a)(j,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"sui-wrap",class:t.maybeHighContrast(),attrs:{id:"defender-app"}},[s("div",{staticClass:"wp-defender",attrs:{id:"wp-defender"}},[s("div",{staticClass:"iplockout"},[s("div",{staticClass:"sui-header"},[s("h1",{staticClass:"sui-header-title"},[t._v(t._s(t.__("IP Lockout")))]),t._v(" "),s("doc-link",{attrs:{link:"https://premium.wpmudev.org/docs/wpmu-dev-plugins/defender/#ip-lockouts"}})],1),t._v(" "),s("summary-box",[s("div",{staticClass:"sui-summary-segment"},[s("div",{staticClass:"sui-summary-details"},[s("span",{staticClass:"sui-summary-large lockoutToday"},[t._v(t._s(t.summary_data.day))]),t._v(" "),s("span",{staticClass:"sui-summary-sub"},[t._v(t._s(t.__("Lockouts in the past 24 hours")))]),t._v(" "),s("span",{staticClass:"sui-summary-detail lockoutThisMonth"},[t._v(t._s(t.summary_data.month))]),t._v(" "),s("span",{staticClass:"sui-summary-sub"},[t._v(t._s(t.__("Total lockouts in the past 30 days")))])])]),t._v(" "),s("div",{staticClass:"sui-summary-segment"},[s("ul",{staticClass:"sui-list"},[s("li",[s("span",{staticClass:"sui-list-label"},[t._v(t._s(t.__("Last lockout")))]),t._v(" "),s("span",{staticClass:"sui-list-detail"},[t._v(" "+t._s(t.summary_data.lastLockout))])]),t._v(" "),s("li",[s("span",{staticClass:"sui-list-label"},[t._v(t._s(t.__("Login lockouts in the past 7 days")))]),t._v(" "),s("span",{staticClass:"sui-list-detail"},[t._v(t._s(t.summary_data.ip.week))])]),t._v(" "),s("li",[s("span",{staticClass:"sui-list-label"},[t._v(t._s(t.__("404 lockouts in the past 7 days")))]),t._v(" "),s("span",{staticClass:"sui-list-detail"},[t._v(t._s(t.summary_data.nf.week))])])])])]),t._v(" "),s("div",{staticClass:"sui-row-with-sidenav"},[s("div",{staticClass:"sui-sidenav"},[s("ul",{staticClass:"sui-vertical-tabs sui-sidenav-hide-md"},[s("li",{staticClass:"sui-vertical-tab",class:{current:"login"===t.view}},[s("a",{attrs:{"data-tab":"login_lockout",href:t.adminUrl("admin.php?page=wdf-ip-lockout")},on:{click:function(e){e.preventDefault(),t.view="login"}}},[t._v(t._s(t.__("Login Protection")))])]),t._v(" "),s("li",{staticClass:"sui-vertical-tab",class:{current:"404"===t.view}},[s("a",{attrs:{"data-tab":"notfound_lockout",href:t.adminUrl("admin.php?page=wdf-ip-lockout&view=404")},on:{click:function(e){e.preventDefault(),t.view="404"}}},[t._v(t._s(t.__("404 Detection")))])]),t._v(" "),s("li",{staticClass:"sui-vertical-tab",class:{current:"blacklist"===t.view}},[s("a",{attrs:{"data-tab":"blacklist",href:t.adminUrl("admin.php?page=wdf-ip-lockout&view=blacklist")},on:{click:function(e){e.preventDefault(),t.view="blacklist"}}},[t._v(t._s(t.__("IP Banning")))])]),t._v(" "),s("li",{staticClass:"sui-vertical-tab",class:{current:"logs"===t.view}},[s("a",{attrs:{"data-tab":"logs",href:t.adminUrl("admin.php?page=wdf-ip-lockout&view=logs")},on:{click:function(e){e.preventDefault(),t.view="logs"}}},[t._v(t._s(t.__("Logs")))])]),t._v(" "),s("li",{staticClass:"sui-vertical-tab",class:{current:"notification"===t.view}},[s("a",{attrs:{"data-tab":"notification",href:t.adminUrl("admin.php?page=wdf-ip-lockout&view=notification")},on:{click:function(e){e.preventDefault(),t.view="notification"}}},[t._v(t._s(t.__("Notifications")))])]),t._v(" "),s("li",{staticClass:"sui-vertical-tab",class:{current:"settings"===t.view}},[s("a",{attrs:{"data-tab":"settings",href:t.adminUrl("admin.php?page=wdf-ip-lockout&view=settings")},on:{click:function(e){e.preventDefault(),t.view="settings"}}},[t._v(t._s(t.__("Settings")))])]),t._v(" "),s("li",{staticClass:"sui-vertical-tab",class:{current:"reporting"===t.view}},[s("a",{attrs:{"data-tab":"reporting",href:t.adminUrl("admin.php?page=wdf-ip-lockout&view=reporting")},on:{click:function(e){e.preventDefault(),t.view="reporting"}}},[t._v(t._s(t.__("Reporting")))])])]),t._v(" "),s("div",{staticClass:"sui-sidenav-hide-lg"},[s("select",{staticClass:"sui-mobile-nav",staticStyle:{display:"none"}},[s("option",{attrs:{value:"login"}},[t._v(t._s(t.__("Login Protection")))]),t._v(" "),s("option",{attrs:{value:"404"}},[t._v(t._s(t.__("404 Detection")))]),t._v(" "),s("option",{attrs:{value:"blacklist"}},[t._v(t._s(t.__("IP Banning")))]),t._v(" "),s("option",{attrs:{value:"logs"}},[t._v(t._s(t.__("Logs")))]),t._v(" "),s("option",{attrs:{value:"notification"}},[t._v(t._s(t.__("Notifications")))]),t._v(" "),s("option",{attrs:{value:"settings"}},[t._v(t._s(t.__("Settings")))]),t._v(" "),s("option",{attrs:{value:"reporting"}},[t._v(t._s(t.__("Reporting")))])])])]),t._v(" "),s("lockout",{directives:[{name:"show",rawName:"v-show",value:"login"===t.view,expression:"view==='login'"}]}),t._v(" "),s("nf-lockout",{directives:[{name:"show",rawName:"v-show",value:"404"===t.view,expression:"view==='404'"}]}),t._v(" "),s("ip-blacklist",{directives:[{name:"show",rawName:"v-show",value:"blacklist"===t.view,expression:"view==='blacklist'"}]}),t._v(" "),s("logs",{directives:[{name:"show",rawName:"v-show",value:"logs"===t.view,expression:"view==='logs'"}]}),t._v(" "),s("notification",{directives:[{name:"show",rawName:"v-show",value:"notification"===t.view,expression:"view==='notification'"}]}),t._v(" "),s("settings",{directives:[{name:"show",rawName:"v-show",value:"settings"===t.view,expression:"view==='settings'"}]}),t._v(" "),1===t.is_free?s("report_free",{directives:[{name:"show",rawName:"v-show",value:"reporting"===t.view,expression:"view==='reporting'"}]}):s("report",{directives:[{name:"show",rawName:"v-show",value:"reporting"===t.view,expression:"view==='reporting'"}]})],1)],1),t._v(" "),s("app-footer")],1)])}),[],!1,null,null,null).exports,I=s("./node_modules/moment/moment.js"),L=s("./src/component/overlay.vue"),A=s("./src/component/submit-button.vue"),N=s("./src/component/footer.vue"),E=s("./src/component/doc-link.vue"),R=s("./src/component/summary-box.vue");n.a.filter("moment",(function(t,e){return t?I(t).format(e):I().format(e)})),n.a.component("overlay",L.a),n.a.component("submit-button",A.a),n.a.component("app-footer",N.a),n.a.component("doc-link",E.a),n.a.component("summary-box",R.a);new n.a({el:"#defender",components:{ip_lockout:Y},render:function(t){return t(Y)}})},vue:function(t,e){t.exports=Vue}});
1
+ !function(t){var e=window.webpackHotUpdate;window.webpackHotUpdate=function(t,s){!function(t,e){if(!y[t]||!b[t])return;for(var s in b[t]=!1,e)Object.prototype.hasOwnProperty.call(e,s)&&(h[s]=e[s]);0==--f&&0===v&&x()}(t,s),e&&e(t,s)};var s,i=!0,a="d0b3332498cfafc2e0f1",n={},o=[],r=[];function l(t){var e=D[t];if(!e)return P;var i=function(i){return e.hot.active?(D[i]?-1===D[i].parents.indexOf(t)&&D[i].parents.push(t):(o=[t],s=i),-1===e.children.indexOf(i)&&e.children.push(i)):(console.warn("[HMR] unexpected require("+i+") from disposed module "+t),o=[]),P(i)},a=function(t){return{configurable:!0,enumerable:!0,get:function(){return P[t]},set:function(e){P[t]=e}}};for(var n in P)Object.prototype.hasOwnProperty.call(P,n)&&"e"!==n&&"t"!==n&&Object.defineProperty(i,n,a(n));return i.e=function(t){return"ready"===d&&_("prepare"),v++,P.e(t).then(e,(function(t){throw e(),t}));function e(){v--,"prepare"===d&&(g[t]||C(t),0===v&&0===f&&x())}},i.t=function(t,e){return 1&e&&(t=i(t)),P.t(t,-2&e)},i}function c(t){var e={_acceptedDependencies:{},_declinedDependencies:{},_selfAccepted:!1,_selfDeclined:!1,_disposeHandlers:[],_main:s!==t,active:!0,accept:function(t,s){if(void 0===t)e._selfAccepted=!0;else if("function"==typeof t)e._selfAccepted=t;else if("object"==typeof t)for(var i=0;i<t.length;i++)e._acceptedDependencies[t[i]]=s||function(){};else e._acceptedDependencies[t]=s||function(){}},decline:function(t){if(void 0===t)e._selfDeclined=!0;else if("object"==typeof t)for(var s=0;s<t.length;s++)e._declinedDependencies[t[s]]=!0;else e._declinedDependencies[t]=!0},dispose:function(t){e._disposeHandlers.push(t)},addDisposeHandler:function(t){e._disposeHandlers.push(t)},removeDisposeHandler:function(t){var s=e._disposeHandlers.indexOf(t);s>=0&&e._disposeHandlers.splice(s,1)},check:w,apply:S,status:function(t){if(!t)return d;u.push(t)},addStatusHandler:function(t){u.push(t)},removeStatusHandler:function(t){var e=u.indexOf(t);e>=0&&u.splice(e,1)},data:n[t]};return s=void 0,e}var u=[],d="idle";function _(t){d=t;for(var e=0;e<u.length;e++)u[e].call(null,t)}var m,h,p,f=0,v=0,g={},b={},y={};function k(t){return+t+""===t?+t:t}function w(t){if("idle"!==d)throw new Error("check() is only allowed in idle status");return i=t,_("check"),(e=1e4,e=e||1e4,new Promise((function(t,s){if("undefined"==typeof XMLHttpRequest)return s(new Error("No browser support"));try{var i=new XMLHttpRequest,n=P.p+""+a+".hot-update.json";i.open("GET",n,!0),i.timeout=e,i.send(null)}catch(t){return s(t)}i.onreadystatechange=function(){if(4===i.readyState)if(0===i.status)s(new Error("Manifest request to "+n+" timed out."));else if(404===i.status)t();else if(200!==i.status&&304!==i.status)s(new Error("Manifest request to "+n+" failed."));else{try{var e=JSON.parse(i.responseText)}catch(t){return void s(t)}t(e)}}}))).then((function(t){if(!t)return _("idle"),null;b={},g={},y=t.c,p=t.h,_("prepare");var e=new Promise((function(t,e){m={resolve:t,reject:e}}));h={};return C(3),"prepare"===d&&0===v&&0===f&&x(),e}));var e}function C(t){y[t]?(b[t]=!0,f++,function(t){var e=document.createElement("script");e.charset="utf-8",e.src=P.p+""+t+"."+a+".hot-update.js",document.head.appendChild(e)}(t)):g[t]=!0}function x(){_("ready");var t=m;if(m=null,t)if(i)Promise.resolve().then((function(){return S(i)})).then((function(e){t.resolve(e)}),(function(e){t.reject(e)}));else{var e=[];for(var s in h)Object.prototype.hasOwnProperty.call(h,s)&&e.push(k(s));t.resolve(e)}}function S(e){if("ready"!==d)throw new Error("apply() is only allowed in ready status");var s,i,r,l,c;function u(t){for(var e=[t],s={},i=e.map((function(t){return{chain:[t],id:t}}));i.length>0;){var a=i.pop(),n=a.id,o=a.chain;if((l=D[n])&&!l.hot._selfAccepted){if(l.hot._selfDeclined)return{type:"self-declined",chain:o,moduleId:n};if(l.hot._main)return{type:"unaccepted",chain:o,moduleId:n};for(var r=0;r<l.parents.length;r++){var c=l.parents[r],u=D[c];if(u){if(u.hot._declinedDependencies[n])return{type:"declined",chain:o.concat([c]),moduleId:n,parentId:c};-1===e.indexOf(c)&&(u.hot._acceptedDependencies[n]?(s[c]||(s[c]=[]),m(s[c],[n])):(delete s[c],e.push(c),i.push({chain:o.concat([c]),id:c})))}}}}return{type:"accepted",moduleId:t,outdatedModules:e,outdatedDependencies:s}}function m(t,e){for(var s=0;s<e.length;s++){var i=e[s];-1===t.indexOf(i)&&t.push(i)}}e=e||{};var f={},v=[],g={},b=function(){console.warn("[HMR] unexpected require("+C.moduleId+") to disposed module")};for(var w in h)if(Object.prototype.hasOwnProperty.call(h,w)){var C;c=k(w);var x=!1,S=!1,M=!1,T="";switch((C=h[w]?u(c):{type:"disposed",moduleId:w}).chain&&(T="\nUpdate propagation: "+C.chain.join(" -> ")),C.type){case"self-declined":e.onDeclined&&e.onDeclined(C),e.ignoreDeclined||(x=new Error("Aborted because of self decline: "+C.moduleId+T));break;case"declined":e.onDeclined&&e.onDeclined(C),e.ignoreDeclined||(x=new Error("Aborted because of declined dependency: "+C.moduleId+" in "+C.parentId+T));break;case"unaccepted":e.onUnaccepted&&e.onUnaccepted(C),e.ignoreUnaccepted||(x=new Error("Aborted because "+c+" is not accepted"+T));break;case"accepted":e.onAccepted&&e.onAccepted(C),S=!0;break;case"disposed":e.onDisposed&&e.onDisposed(C),M=!0;break;default:throw new Error("Unexception type "+C.type)}if(x)return _("abort"),Promise.reject(x);if(S)for(c in g[c]=h[c],m(v,C.outdatedModules),C.outdatedDependencies)Object.prototype.hasOwnProperty.call(C.outdatedDependencies,c)&&(f[c]||(f[c]=[]),m(f[c],C.outdatedDependencies[c]));M&&(m(v,[C.moduleId]),g[c]=b)}var O,j=[];for(i=0;i<v.length;i++)c=v[i],D[c]&&D[c].hot._selfAccepted&&g[c]!==b&&j.push({module:c,errorHandler:D[c].hot._selfAccepted});_("dispose"),Object.keys(y).forEach((function(t){!1===y[t]&&function(t){delete installedChunks[t]}(t)}));for(var Y,I,L=v.slice();L.length>0;)if(c=L.pop(),l=D[c]){var A={},N=l.hot._disposeHandlers;for(r=0;r<N.length;r++)(s=N[r])(A);for(n[c]=A,l.hot.active=!1,delete D[c],delete f[c],r=0;r<l.children.length;r++){var E=D[l.children[r]];E&&((O=E.parents.indexOf(c))>=0&&E.parents.splice(O,1))}}for(c in f)if(Object.prototype.hasOwnProperty.call(f,c)&&(l=D[c]))for(I=f[c],r=0;r<I.length;r++)Y=I[r],(O=l.children.indexOf(Y))>=0&&l.children.splice(O,1);for(c in _("apply"),a=p,g)Object.prototype.hasOwnProperty.call(g,c)&&(t[c]=g[c]);var R=null;for(c in f)if(Object.prototype.hasOwnProperty.call(f,c)&&(l=D[c])){I=f[c];var U=[];for(i=0;i<I.length;i++)if(Y=I[i],s=l.hot._acceptedDependencies[Y]){if(-1!==U.indexOf(s))continue;U.push(s)}for(i=0;i<U.length;i++){s=U[i];try{s(I)}catch(t){e.onErrored&&e.onErrored({type:"accept-errored",moduleId:c,dependencyId:I[i],error:t}),e.ignoreErrored||R||(R=t)}}}for(i=0;i<j.length;i++){var H=j[i];c=H.module,o=[c];try{P(c)}catch(t){if("function"==typeof H.errorHandler)try{H.errorHandler(t)}catch(s){e.onErrored&&e.onErrored({type:"self-accept-error-handler-errored",moduleId:c,error:s,originalError:t}),e.ignoreErrored||R||(R=s),R||(R=t)}else e.onErrored&&e.onErrored({type:"self-accept-errored",moduleId:c,error:t}),e.ignoreErrored||R||(R=t)}}return R?(_("fail"),Promise.reject(R)):(_("idle"),new Promise((function(t){t(v)})))}var D={};function P(e){if(D[e])return D[e].exports;var s=D[e]={i:e,l:!1,exports:{},hot:c(e),parents:(r=o,o=[],r),children:[]};return t[e].call(s.exports,s,s.exports,l(e)),s.l=!0,s.exports}P.m=t,P.c=D,P.d=function(t,e,s){P.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:s})},P.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},P.t=function(t,e){if(1&e&&(t=P(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var s=Object.create(null);if(P.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)P.d(s,i,function(e){return t[e]}.bind(null,i));return s},P.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return P.d(e,"a",e),e},P.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},P.p="",P.h=function(){return a},l("./src/ip-lockout.js")(P.s="./src/ip-lockout.js")}({"./node_modules/cssfilter/lib/css.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/default.js"),a=s("./node_modules/cssfilter/lib/parser.js");s("./node_modules/cssfilter/lib/util.js");function n(t){return null==t}function o(t){(t=function(t){var e={};for(var s in t)e[s]=t[s];return e}(t||{})).whiteList=t.whiteList||i.whiteList,t.onAttr=t.onAttr||i.onAttr,t.onIgnoreAttr=t.onIgnoreAttr||i.onIgnoreAttr,t.safeAttrValue=t.safeAttrValue||i.safeAttrValue,this.options=t}o.prototype.process=function(t){if(!(t=(t=t||"").toString()))return"";var e=this.options,s=e.whiteList,i=e.onAttr,o=e.onIgnoreAttr,r=e.safeAttrValue;return a(t,(function(t,e,a,l,c){var u=s[a],d=!1;if(!0===u?d=u:"function"==typeof u?d=u(l):u instanceof RegExp&&(d=u.test(l)),!0!==d&&(d=!1),l=r(a,l)){var _,m={position:e,sourcePosition:t,source:c,isWhite:d};return d?n(_=i(a,l,m))?a+":"+l:_:n(_=o(a,l,m))?void 0:_}}))},t.exports=o},"./node_modules/cssfilter/lib/default.js":function(t,e){function s(){var t={"align-content":!1,"align-items":!1,"align-self":!1,"alignment-adjust":!1,"alignment-baseline":!1,all:!1,"anchor-point":!1,animation:!1,"animation-delay":!1,"animation-direction":!1,"animation-duration":!1,"animation-fill-mode":!1,"animation-iteration-count":!1,"animation-name":!1,"animation-play-state":!1,"animation-timing-function":!1,azimuth:!1,"backface-visibility":!1,background:!0,"background-attachment":!0,"background-clip":!0,"background-color":!0,"background-image":!0,"background-origin":!0,"background-position":!0,"background-repeat":!0,"background-size":!0,"baseline-shift":!1,binding:!1,bleed:!1,"bookmark-label":!1,"bookmark-level":!1,"bookmark-state":!1,border:!0,"border-bottom":!0,"border-bottom-color":!0,"border-bottom-left-radius":!0,"border-bottom-right-radius":!0,"border-bottom-style":!0,"border-bottom-width":!0,"border-collapse":!0,"border-color":!0,"border-image":!0,"border-image-outset":!0,"border-image-repeat":!0,"border-image-slice":!0,"border-image-source":!0,"border-image-width":!0,"border-left":!0,"border-left-color":!0,"border-left-style":!0,"border-left-width":!0,"border-radius":!0,"border-right":!0,"border-right-color":!0,"border-right-style":!0,"border-right-width":!0,"border-spacing":!0,"border-style":!0,"border-top":!0,"border-top-color":!0,"border-top-left-radius":!0,"border-top-right-radius":!0,"border-top-style":!0,"border-top-width":!0,"border-width":!0,bottom:!1,"box-decoration-break":!0,"box-shadow":!0,"box-sizing":!0,"box-snap":!0,"box-suppress":!0,"break-after":!0,"break-before":!0,"break-inside":!0,"caption-side":!1,chains:!1,clear:!0,clip:!1,"clip-path":!1,"clip-rule":!1,color:!0,"color-interpolation-filters":!0,"column-count":!1,"column-fill":!1,"column-gap":!1,"column-rule":!1,"column-rule-color":!1,"column-rule-style":!1,"column-rule-width":!1,"column-span":!1,"column-width":!1,columns:!1,contain:!1,content:!1,"counter-increment":!1,"counter-reset":!1,"counter-set":!1,crop:!1,cue:!1,"cue-after":!1,"cue-before":!1,cursor:!1,direction:!1,display:!0,"display-inside":!0,"display-list":!0,"display-outside":!0,"dominant-baseline":!1,elevation:!1,"empty-cells":!1,filter:!1,flex:!1,"flex-basis":!1,"flex-direction":!1,"flex-flow":!1,"flex-grow":!1,"flex-shrink":!1,"flex-wrap":!1,float:!1,"float-offset":!1,"flood-color":!1,"flood-opacity":!1,"flow-from":!1,"flow-into":!1,font:!0,"font-family":!0,"font-feature-settings":!0,"font-kerning":!0,"font-language-override":!0,"font-size":!0,"font-size-adjust":!0,"font-stretch":!0,"font-style":!0,"font-synthesis":!0,"font-variant":!0,"font-variant-alternates":!0,"font-variant-caps":!0,"font-variant-east-asian":!0,"font-variant-ligatures":!0,"font-variant-numeric":!0,"font-variant-position":!0,"font-weight":!0,grid:!1,"grid-area":!1,"grid-auto-columns":!1,"grid-auto-flow":!1,"grid-auto-rows":!1,"grid-column":!1,"grid-column-end":!1,"grid-column-start":!1,"grid-row":!1,"grid-row-end":!1,"grid-row-start":!1,"grid-template":!1,"grid-template-areas":!1,"grid-template-columns":!1,"grid-template-rows":!1,"hanging-punctuation":!1,height:!0,hyphens:!1,icon:!1,"image-orientation":!1,"image-resolution":!1,"ime-mode":!1,"initial-letters":!1,"inline-box-align":!1,"justify-content":!1,"justify-items":!1,"justify-self":!1,left:!1,"letter-spacing":!0,"lighting-color":!0,"line-box-contain":!1,"line-break":!1,"line-grid":!1,"line-height":!1,"line-snap":!1,"line-stacking":!1,"line-stacking-ruby":!1,"line-stacking-shift":!1,"line-stacking-strategy":!1,"list-style":!0,"list-style-image":!0,"list-style-position":!0,"list-style-type":!0,margin:!0,"margin-bottom":!0,"margin-left":!0,"margin-right":!0,"margin-top":!0,"marker-offset":!1,"marker-side":!1,marks:!1,mask:!1,"mask-box":!1,"mask-box-outset":!1,"mask-box-repeat":!1,"mask-box-slice":!1,"mask-box-source":!1,"mask-box-width":!1,"mask-clip":!1,"mask-image":!1,"mask-origin":!1,"mask-position":!1,"mask-repeat":!1,"mask-size":!1,"mask-source-type":!1,"mask-type":!1,"max-height":!0,"max-lines":!1,"max-width":!0,"min-height":!0,"min-width":!0,"move-to":!1,"nav-down":!1,"nav-index":!1,"nav-left":!1,"nav-right":!1,"nav-up":!1,"object-fit":!1,"object-position":!1,opacity:!1,order:!1,orphans:!1,outline:!1,"outline-color":!1,"outline-offset":!1,"outline-style":!1,"outline-width":!1,overflow:!1,"overflow-wrap":!1,"overflow-x":!1,"overflow-y":!1,padding:!0,"padding-bottom":!0,"padding-left":!0,"padding-right":!0,"padding-top":!0,page:!1,"page-break-after":!1,"page-break-before":!1,"page-break-inside":!1,"page-policy":!1,pause:!1,"pause-after":!1,"pause-before":!1,perspective:!1,"perspective-origin":!1,pitch:!1,"pitch-range":!1,"play-during":!1,position:!1,"presentation-level":!1,quotes:!1,"region-fragment":!1,resize:!1,rest:!1,"rest-after":!1,"rest-before":!1,richness:!1,right:!1,rotation:!1,"rotation-point":!1,"ruby-align":!1,"ruby-merge":!1,"ruby-position":!1,"shape-image-threshold":!1,"shape-outside":!1,"shape-margin":!1,size:!1,speak:!1,"speak-as":!1,"speak-header":!1,"speak-numeral":!1,"speak-punctuation":!1,"speech-rate":!1,stress:!1,"string-set":!1,"tab-size":!1,"table-layout":!1,"text-align":!0,"text-align-last":!0,"text-combine-upright":!0,"text-decoration":!0,"text-decoration-color":!0,"text-decoration-line":!0,"text-decoration-skip":!0,"text-decoration-style":!0,"text-emphasis":!0,"text-emphasis-color":!0,"text-emphasis-position":!0,"text-emphasis-style":!0,"text-height":!0,"text-indent":!0,"text-justify":!0,"text-orientation":!0,"text-overflow":!0,"text-shadow":!0,"text-space-collapse":!0,"text-transform":!0,"text-underline-position":!0,"text-wrap":!0,top:!1,transform:!1,"transform-origin":!1,"transform-style":!1,transition:!1,"transition-delay":!1,"transition-duration":!1,"transition-property":!1,"transition-timing-function":!1,"unicode-bidi":!1,"vertical-align":!1,visibility:!1,"voice-balance":!1,"voice-duration":!1,"voice-family":!1,"voice-pitch":!1,"voice-range":!1,"voice-rate":!1,"voice-stress":!1,"voice-volume":!1,volume:!1,"white-space":!1,widows:!1,width:!0,"will-change":!1,"word-break":!0,"word-spacing":!0,"word-wrap":!0,"wrap-flow":!1,"wrap-through":!1,"writing-mode":!1,"z-index":!1};return t}var i=/javascript\s*\:/gim;e.whiteList=s(),e.getDefaultWhiteList=s,e.onAttr=function(t,e,s){},e.onIgnoreAttr=function(t,e,s){},e.safeAttrValue=function(t,e){return i.test(e)?"":e}},"./node_modules/cssfilter/lib/index.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/default.js"),a=s("./node_modules/cssfilter/lib/css.js");for(var n in(e=t.exports=function(t,e){return new a(e).process(t)}).FilterCSS=a,i)e[n]=i[n];"undefined"!=typeof window&&(window.filterCSS=t.exports)},"./node_modules/cssfilter/lib/parser.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/util.js");t.exports=function(t,e){";"!==(t=i.trimRight(t))[t.length-1]&&(t+=";");var s=t.length,a=!1,n=0,o=0,r="";function l(){if(!a){var s=i.trim(t.slice(n,o)),l=s.indexOf(":");if(-1!==l){var c=i.trim(s.slice(0,l)),u=i.trim(s.slice(l+1));if(c){var d=e(n,r.length,c,u,s);d&&(r+=d+"; ")}}}n=o+1}for(;o<s;o++){var c=t[o];if("/"===c&&"*"===t[o+1]){var u=t.indexOf("*/",o+2);if(-1===u)break;n=(o=u+1)+1,a=!1}else"("===c?a=!0:")"===c?a=!1:";"===c?a||l():"\n"===c&&l()}return i.trim(r)}},"./node_modules/cssfilter/lib/util.js":function(t,e){t.exports={indexOf:function(t,e){var s,i;if(Array.prototype.indexOf)return t.indexOf(e);for(s=0,i=t.length;s<i;s++)if(t[s]===e)return s;return-1},forEach:function(t,e,s){var i,a;if(Array.prototype.forEach)return t.forEach(e,s);for(i=0,a=t.length;i<a;i++)e.call(s,t[i],i,t)},trim:function(t){return String.prototype.trim?t.trim():t.replace(/(^\s*)|(\s*$)/g,"")},trimRight:function(t){return String.prototype.trimRight?t.trimRight():t.replace(/(\s*$)/g,"")}}},"./node_modules/lodash/_Symbol.js":function(t,e,s){var i=s("./node_modules/lodash/_root.js").Symbol;t.exports=i},"./node_modules/lodash/_baseGetTag.js":function(t,e,s){var i=s("./node_modules/lodash/_Symbol.js"),a=s("./node_modules/lodash/_getRawTag.js"),n=s("./node_modules/lodash/_objectToString.js"),o=i?i.toStringTag:void 0;t.exports=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":o&&o in Object(t)?a(t):n(t)}},"./node_modules/lodash/_baseSlice.js":function(t,e){t.exports=function(t,e,s){var i=-1,a=t.length;e<0&&(e=-e>a?0:a+e),(s=s>a?a:s)<0&&(s+=a),a=e>s?0:s-e>>>0,e>>>=0;for(var n=Array(a);++i<a;)n[i]=t[i+e];return n}},"./node_modules/lodash/_freeGlobal.js":function(t,e,s){(function(e){var s="object"==typeof e&&e&&e.Object===Object&&e;t.exports=s}).call(this,s("./node_modules/webpack/buildin/global.js"))},"./node_modules/lodash/_getRawTag.js":function(t,e,s){var i=s("./node_modules/lodash/_Symbol.js"),a=Object.prototype,n=a.hasOwnProperty,o=a.toString,r=i?i.toStringTag:void 0;t.exports=function(t){var e=n.call(t,r),s=t[r];try{t[r]=void 0;var i=!0}catch(t){}var a=o.call(t);return i&&(e?t[r]=s:delete t[r]),a}},"./node_modules/lodash/_isIndex.js":function(t,e){var s=/^(?:0|[1-9]\d*)$/;t.exports=function(t,e){var i=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==i||"symbol"!=i&&s.test(t))&&t>-1&&t%1==0&&t<e}},"./node_modules/lodash/_isIterateeCall.js":function(t,e,s){var i=s("./node_modules/lodash/eq.js"),a=s("./node_modules/lodash/isArrayLike.js"),n=s("./node_modules/lodash/_isIndex.js"),o=s("./node_modules/lodash/isObject.js");t.exports=function(t,e,s){if(!o(s))return!1;var r=typeof e;return!!("number"==r?a(s)&&n(e,s.length):"string"==r&&e in s)&&i(s[e],t)}},"./node_modules/lodash/_objectToString.js":function(t,e){var s=Object.prototype.toString;t.exports=function(t){return s.call(t)}},"./node_modules/lodash/_root.js":function(t,e,s){var i=s("./node_modules/lodash/_freeGlobal.js"),a="object"==typeof self&&self&&self.Object===Object&&self,n=i||a||Function("return this")();t.exports=n},"./node_modules/lodash/chunk.js":function(t,e,s){var i=s("./node_modules/lodash/_baseSlice.js"),a=s("./node_modules/lodash/_isIterateeCall.js"),n=s("./node_modules/lodash/toInteger.js"),o=Math.ceil,r=Math.max;t.exports=function(t,e,s){e=(s?a(t,e,s):void 0===e)?1:r(n(e),0);var l=null==t?0:t.length;if(!l||e<1)return[];for(var c=0,u=0,d=Array(o(l/e));c<l;)d[u++]=i(t,c,c+=e);return d}},"./node_modules/lodash/eq.js":function(t,e){t.exports=function(t,e){return t===e||t!=t&&e!=e}},"./node_modules/lodash/isArrayLike.js":function(t,e,s){var i=s("./node_modules/lodash/isFunction.js"),a=s("./node_modules/lodash/isLength.js");t.exports=function(t){return null!=t&&a(t.length)&&!i(t)}},"./node_modules/lodash/isFunction.js":function(t,e,s){var i=s("./node_modules/lodash/_baseGetTag.js"),a=s("./node_modules/lodash/isObject.js");t.exports=function(t){if(!a(t))return!1;var e=i(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}},"./node_modules/lodash/isLength.js":function(t,e){t.exports=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}},"./node_modules/lodash/isObject.js":function(t,e){t.exports=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},"./node_modules/lodash/isObjectLike.js":function(t,e){t.exports=function(t){return null!=t&&"object"==typeof t}},"./node_modules/lodash/isSymbol.js":function(t,e,s){var i=s("./node_modules/lodash/_baseGetTag.js"),a=s("./node_modules/lodash/isObjectLike.js");t.exports=function(t){return"symbol"==typeof t||a(t)&&"[object Symbol]"==i(t)}},"./node_modules/lodash/toFinite.js":function(t,e,s){var i=s("./node_modules/lodash/toNumber.js");t.exports=function(t){return t?(t=i(t))===1/0||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}},"./node_modules/lodash/toInteger.js":function(t,e,s){var i=s("./node_modules/lodash/toFinite.js");t.exports=function(t){var e=i(t),s=e%1;return e==e?s?e-s:e:0}},"./node_modules/lodash/toNumber.js":function(t,e,s){var i=s("./node_modules/lodash/isObject.js"),a=s("./node_modules/lodash/isSymbol.js"),n=/^\s+|\s+$/g,o=/^[-+]0x[0-9a-f]+$/i,r=/^0b[01]+$/i,l=/^0o[0-7]+$/i,c=parseInt;t.exports=function(t){if("number"==typeof t)return t;if(a(t))return NaN;if(i(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=i(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(n,"");var s=r.test(t);return s||l.test(t)?c(t.slice(2),s?2:8):o.test(t)?NaN:+t}},"./node_modules/moment/moment.js":function(t,e,s){(function(t){t.exports=function(){"use strict";var e,s;function i(){return e.apply(null,arguments)}function a(t){return t instanceof Array||"[object Array]"===Object.prototype.toString.call(t)}function n(t){return null!=t&&"[object Object]"===Object.prototype.toString.call(t)}function o(t){return void 0===t}function r(t){return"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t)}function l(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function c(t,e){var s,i=[];for(s=0;s<t.length;++s)i.push(e(t[s],s));return i}function u(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function d(t,e){for(var s in e)u(e,s)&&(t[s]=e[s]);return u(e,"toString")&&(t.toString=e.toString),u(e,"valueOf")&&(t.valueOf=e.valueOf),t}function _(t,e,s,i){return Ce(t,e,s,i,!0).utc()}function m(t){return null==t._pf&&(t._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null,rfc2822:!1,weekdayMismatch:!1}),t._pf}function h(t){if(null==t._isValid){var e=m(t),i=s.call(e.parsedDateParts,(function(t){return null!=t})),a=!isNaN(t._d.getTime())&&e.overflow<0&&!e.empty&&!e.invalidMonth&&!e.invalidWeekday&&!e.weekdayMismatch&&!e.nullInput&&!e.invalidFormat&&!e.userInvalidated&&(!e.meridiem||e.meridiem&&i);if(t._strict&&(a=a&&0===e.charsLeftOver&&0===e.unusedTokens.length&&void 0===e.bigHour),null!=Object.isFrozen&&Object.isFrozen(t))return a;t._isValid=a}return t._isValid}function p(t){var e=_(NaN);return null!=t?d(m(e),t):m(e).userInvalidated=!0,e}s=Array.prototype.some?Array.prototype.some:function(t){for(var e=Object(this),s=e.length>>>0,i=0;i<s;i++)if(i in e&&t.call(this,e[i],i,e))return!0;return!1};var f=i.momentProperties=[];function v(t,e){var s,i,a;if(o(e._isAMomentObject)||(t._isAMomentObject=e._isAMomentObject),o(e._i)||(t._i=e._i),o(e._f)||(t._f=e._f),o(e._l)||(t._l=e._l),o(e._strict)||(t._strict=e._strict),o(e._tzm)||(t._tzm=e._tzm),o(e._isUTC)||(t._isUTC=e._isUTC),o(e._offset)||(t._offset=e._offset),o(e._pf)||(t._pf=m(e)),o(e._locale)||(t._locale=e._locale),f.length>0)for(s=0;s<f.length;s++)o(a=e[i=f[s]])||(t[i]=a);return t}var g=!1;function b(t){v(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===g&&(g=!0,i.updateOffset(this),g=!1)}function y(t){return t instanceof b||null!=t&&null!=t._isAMomentObject}function k(t){return t<0?Math.ceil(t)||0:Math.floor(t)}function w(t){var e=+t,s=0;return 0!==e&&isFinite(e)&&(s=k(e)),s}function C(t,e,s){var i,a=Math.min(t.length,e.length),n=Math.abs(t.length-e.length),o=0;for(i=0;i<a;i++)(s&&t[i]!==e[i]||!s&&w(t[i])!==w(e[i]))&&o++;return o+n}function x(t){!1===i.suppressDeprecationWarnings&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function S(t,e){var s=!0;return d((function(){if(null!=i.deprecationHandler&&i.deprecationHandler(null,t),s){for(var a,n=[],o=0;o<arguments.length;o++){if(a="","object"==typeof arguments[o]){for(var r in a+="\n["+o+"] ",arguments[0])a+=r+": "+arguments[0][r]+", ";a=a.slice(0,-2)}else a=arguments[o];n.push(a)}x(t+"\nArguments: "+Array.prototype.slice.call(n).join("")+"\n"+(new Error).stack),s=!1}return e.apply(this,arguments)}),e)}var D,P={};function M(t,e){null!=i.deprecationHandler&&i.deprecationHandler(t,e),P[t]||(x(e),P[t]=!0)}function T(t){return t instanceof Function||"[object Function]"===Object.prototype.toString.call(t)}function O(t,e){var s,i=d({},t);for(s in e)u(e,s)&&(n(t[s])&&n(e[s])?(i[s]={},d(i[s],t[s]),d(i[s],e[s])):null!=e[s]?i[s]=e[s]:delete i[s]);for(s in t)u(t,s)&&!u(e,s)&&n(t[s])&&(i[s]=d({},i[s]));return i}function j(t){null!=t&&this.set(t)}i.suppressDeprecationWarnings=!1,i.deprecationHandler=null,D=Object.keys?Object.keys:function(t){var e,s=[];for(e in t)u(t,e)&&s.push(e);return s};var Y={};function I(t,e){var s=t.toLowerCase();Y[s]=Y[s+"s"]=Y[e]=t}function L(t){return"string"==typeof t?Y[t]||Y[t.toLowerCase()]:void 0}function A(t){var e,s,i={};for(s in t)u(t,s)&&(e=L(s))&&(i[e]=t[s]);return i}var N={};function E(t,e){N[t]=e}function R(t,e,s){var i=""+Math.abs(t),a=e-i.length;return(t>=0?s?"+":"":"-")+Math.pow(10,Math.max(0,a)).toString().substr(1)+i}var U=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,H=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,$={},W={};function F(t,e,s,i){var a=i;"string"==typeof i&&(a=function(){return this[i]()}),t&&(W[t]=a),e&&(W[e[0]]=function(){return R(a.apply(this,arguments),e[1],e[2])}),s&&(W[s]=function(){return this.localeData().ordinal(a.apply(this,arguments),t)})}function q(t,e){return t.isValid()?(e=V(e,t.localeData()),$[e]=$[e]||function(t){var e,s,i,a=t.match(U);for(e=0,s=a.length;e<s;e++)W[a[e]]?a[e]=W[a[e]]:a[e]=(i=a[e]).match(/\[[\s\S]/)?i.replace(/^\[|\]$/g,""):i.replace(/\\/g,"");return function(e){var i,n="";for(i=0;i<s;i++)n+=T(a[i])?a[i].call(e,t):a[i];return n}}(e),$[e](t)):t.localeData().invalidDate()}function V(t,e){var s=5;function i(t){return e.longDateFormat(t)||t}for(H.lastIndex=0;s>=0&&H.test(t);)t=t.replace(H,i),H.lastIndex=0,s-=1;return t}var G=/\d/,z=/\d\d/,B=/\d{3}/,Q=/\d{4}/,Z=/[+-]?\d{6}/,J=/\d\d?/,X=/\d\d\d\d?/,K=/\d\d\d\d\d\d?/,tt=/\d{1,3}/,et=/\d{1,4}/,st=/[+-]?\d{1,6}/,it=/\d+/,at=/[+-]?\d+/,nt=/Z|[+-]\d\d:?\d\d/gi,ot=/Z|[+-]\d\d(?::?\d\d)?/gi,rt=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,lt={};function ct(t,e,s){lt[t]=T(e)?e:function(t,i){return t&&s?s:e}}function ut(t,e){return u(lt,t)?lt[t](e._strict,e._locale):new RegExp(dt(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,(function(t,e,s,i,a){return e||s||i||a}))))}function dt(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var _t={};function mt(t,e){var s,i=e;for("string"==typeof t&&(t=[t]),r(e)&&(i=function(t,s){s[e]=w(t)}),s=0;s<t.length;s++)_t[t[s]]=i}function ht(t,e){mt(t,(function(t,s,i,a){i._w=i._w||{},e(t,i._w,i,a)}))}function pt(t,e,s){null!=e&&u(_t,t)&&_t[t](e,s._a,s,t)}function ft(t){return vt(t)?366:365}function vt(t){return t%4==0&&t%100!=0||t%400==0}F("Y",0,0,(function(){var t=this.year();return t<=9999?""+t:"+"+t})),F(0,["YY",2],0,(function(){return this.year()%100})),F(0,["YYYY",4],0,"year"),F(0,["YYYYY",5],0,"year"),F(0,["YYYYYY",6,!0],0,"year"),I("year","y"),E("year",1),ct("Y",at),ct("YY",J,z),ct("YYYY",et,Q),ct("YYYYY",st,Z),ct("YYYYYY",st,Z),mt(["YYYYY","YYYYYY"],0),mt("YYYY",(function(t,e){e[0]=2===t.length?i.parseTwoDigitYear(t):w(t)})),mt("YY",(function(t,e){e[0]=i.parseTwoDigitYear(t)})),mt("Y",(function(t,e){e[0]=parseInt(t,10)})),i.parseTwoDigitYear=function(t){return w(t)+(w(t)>68?1900:2e3)};var gt,bt=yt("FullYear",!0);function yt(t,e){return function(s){return null!=s?(wt(this,t,s),i.updateOffset(this,e),this):kt(this,t)}}function kt(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function wt(t,e,s){t.isValid()&&!isNaN(s)&&("FullYear"===e&&vt(t.year())&&1===t.month()&&29===t.date()?t._d["set"+(t._isUTC?"UTC":"")+e](s,t.month(),Ct(s,t.month())):t._d["set"+(t._isUTC?"UTC":"")+e](s))}function Ct(t,e){if(isNaN(t)||isNaN(e))return NaN;var s,i=(e%(s=12)+s)%s;return t+=(e-i)/12,1===i?vt(t)?29:28:31-i%7%2}gt=Array.prototype.indexOf?Array.prototype.indexOf:function(t){var e;for(e=0;e<this.length;++e)if(this[e]===t)return e;return-1},F("M",["MM",2],"Mo",(function(){return this.month()+1})),F("MMM",0,0,(function(t){return this.localeData().monthsShort(this,t)})),F("MMMM",0,0,(function(t){return this.localeData().months(this,t)})),I("month","M"),E("month",8),ct("M",J),ct("MM",J,z),ct("MMM",(function(t,e){return e.monthsShortRegex(t)})),ct("MMMM",(function(t,e){return e.monthsRegex(t)})),mt(["M","MM"],(function(t,e){e[1]=w(t)-1})),mt(["MMM","MMMM"],(function(t,e,s,i){var a=s._locale.monthsParse(t,i,s._strict);null!=a?e[1]=a:m(s).invalidMonth=t}));var xt=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,St="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),Dt="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_");function Pt(t,e,s){var i,a,n,o=t.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],i=0;i<12;++i)n=_([2e3,i]),this._shortMonthsParse[i]=this.monthsShort(n,"").toLocaleLowerCase(),this._longMonthsParse[i]=this.months(n,"").toLocaleLowerCase();return s?"MMM"===e?-1!==(a=gt.call(this._shortMonthsParse,o))?a:null:-1!==(a=gt.call(this._longMonthsParse,o))?a:null:"MMM"===e?-1!==(a=gt.call(this._shortMonthsParse,o))?a:-1!==(a=gt.call(this._longMonthsParse,o))?a:null:-1!==(a=gt.call(this._longMonthsParse,o))?a:-1!==(a=gt.call(this._shortMonthsParse,o))?a:null}function Mt(t,e){var s;if(!t.isValid())return t;if("string"==typeof e)if(/^\d+$/.test(e))e=w(e);else if(!r(e=t.localeData().monthsParse(e)))return t;return s=Math.min(t.date(),Ct(t.year(),e)),t._d["set"+(t._isUTC?"UTC":"")+"Month"](e,s),t}function Tt(t){return null!=t?(Mt(this,t),i.updateOffset(this,!0),this):kt(this,"Month")}var Ot=rt,jt=rt;function Yt(){function t(t,e){return e.length-t.length}var e,s,i=[],a=[],n=[];for(e=0;e<12;e++)s=_([2e3,e]),i.push(this.monthsShort(s,"")),a.push(this.months(s,"")),n.push(this.months(s,"")),n.push(this.monthsShort(s,""));for(i.sort(t),a.sort(t),n.sort(t),e=0;e<12;e++)i[e]=dt(i[e]),a[e]=dt(a[e]);for(e=0;e<24;e++)n[e]=dt(n[e]);this._monthsRegex=new RegExp("^("+n.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+a.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+i.join("|")+")","i")}function It(t,e,s,i,a,n,o){var r;return t<100&&t>=0?(r=new Date(t+400,e,s,i,a,n,o),isFinite(r.getFullYear())&&r.setFullYear(t)):r=new Date(t,e,s,i,a,n,o),r}function Lt(t){var e;if(t<100&&t>=0){var s=Array.prototype.slice.call(arguments);s[0]=t+400,e=new Date(Date.UTC.apply(null,s)),isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t)}else e=new Date(Date.UTC.apply(null,arguments));return e}function At(t,e,s){var i=7+e-s;return-(7+Lt(t,0,i).getUTCDay()-e)%7+i-1}function Nt(t,e,s,i,a){var n,o,r=1+7*(e-1)+(7+s-i)%7+At(t,i,a);return r<=0?o=ft(n=t-1)+r:r>ft(t)?(n=t+1,o=r-ft(t)):(n=t,o=r),{year:n,dayOfYear:o}}function Et(t,e,s){var i,a,n=At(t.year(),e,s),o=Math.floor((t.dayOfYear()-n-1)/7)+1;return o<1?i=o+Rt(a=t.year()-1,e,s):o>Rt(t.year(),e,s)?(i=o-Rt(t.year(),e,s),a=t.year()+1):(a=t.year(),i=o),{week:i,year:a}}function Rt(t,e,s){var i=At(t,e,s),a=At(t+1,e,s);return(ft(t)-i+a)/7}function Ut(t,e){return t.slice(e,7).concat(t.slice(0,e))}F("w",["ww",2],"wo","week"),F("W",["WW",2],"Wo","isoWeek"),I("week","w"),I("isoWeek","W"),E("week",5),E("isoWeek",5),ct("w",J),ct("ww",J,z),ct("W",J),ct("WW",J,z),ht(["w","ww","W","WW"],(function(t,e,s,i){e[i.substr(0,1)]=w(t)})),F("d",0,"do","day"),F("dd",0,0,(function(t){return this.localeData().weekdaysMin(this,t)})),F("ddd",0,0,(function(t){return this.localeData().weekdaysShort(this,t)})),F("dddd",0,0,(function(t){return this.localeData().weekdays(this,t)})),F("e",0,0,"weekday"),F("E",0,0,"isoWeekday"),I("day","d"),I("weekday","e"),I("isoWeekday","E"),E("day",11),E("weekday",11),E("isoWeekday",11),ct("d",J),ct("e",J),ct("E",J),ct("dd",(function(t,e){return e.weekdaysMinRegex(t)})),ct("ddd",(function(t,e){return e.weekdaysShortRegex(t)})),ct("dddd",(function(t,e){return e.weekdaysRegex(t)})),ht(["dd","ddd","dddd"],(function(t,e,s,i){var a=s._locale.weekdaysParse(t,i,s._strict);null!=a?e.d=a:m(s).invalidWeekday=t})),ht(["d","e","E"],(function(t,e,s,i){e[i]=w(t)}));var Ht="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),$t="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Wt="Su_Mo_Tu_We_Th_Fr_Sa".split("_");function Ft(t,e,s){var i,a,n,o=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],i=0;i<7;++i)n=_([2e3,1]).day(i),this._minWeekdaysParse[i]=this.weekdaysMin(n,"").toLocaleLowerCase(),this._shortWeekdaysParse[i]=this.weekdaysShort(n,"").toLocaleLowerCase(),this._weekdaysParse[i]=this.weekdays(n,"").toLocaleLowerCase();return s?"dddd"===e?-1!==(a=gt.call(this._weekdaysParse,o))?a:null:"ddd"===e?-1!==(a=gt.call(this._shortWeekdaysParse,o))?a:null:-1!==(a=gt.call(this._minWeekdaysParse,o))?a:null:"dddd"===e?-1!==(a=gt.call(this._weekdaysParse,o))?a:-1!==(a=gt.call(this._shortWeekdaysParse,o))?a:-1!==(a=gt.call(this._minWeekdaysParse,o))?a:null:"ddd"===e?-1!==(a=gt.call(this._shortWeekdaysParse,o))?a:-1!==(a=gt.call(this._weekdaysParse,o))?a:-1!==(a=gt.call(this._minWeekdaysParse,o))?a:null:-1!==(a=gt.call(this._minWeekdaysParse,o))?a:-1!==(a=gt.call(this._weekdaysParse,o))?a:-1!==(a=gt.call(this._shortWeekdaysParse,o))?a:null}var qt=rt,Vt=rt,Gt=rt;function zt(){function t(t,e){return e.length-t.length}var e,s,i,a,n,o=[],r=[],l=[],c=[];for(e=0;e<7;e++)s=_([2e3,1]).day(e),i=this.weekdaysMin(s,""),a=this.weekdaysShort(s,""),n=this.weekdays(s,""),o.push(i),r.push(a),l.push(n),c.push(i),c.push(a),c.push(n);for(o.sort(t),r.sort(t),l.sort(t),c.sort(t),e=0;e<7;e++)r[e]=dt(r[e]),l[e]=dt(l[e]),c[e]=dt(c[e]);this._weekdaysRegex=new RegExp("^("+c.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+l.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+r.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+o.join("|")+")","i")}function Bt(){return this.hours()%12||12}function Qt(t,e){F(t,0,0,(function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)}))}function Zt(t,e){return e._meridiemParse}F("H",["HH",2],0,"hour"),F("h",["hh",2],0,Bt),F("k",["kk",2],0,(function(){return this.hours()||24})),F("hmm",0,0,(function(){return""+Bt.apply(this)+R(this.minutes(),2)})),F("hmmss",0,0,(function(){return""+Bt.apply(this)+R(this.minutes(),2)+R(this.seconds(),2)})),F("Hmm",0,0,(function(){return""+this.hours()+R(this.minutes(),2)})),F("Hmmss",0,0,(function(){return""+this.hours()+R(this.minutes(),2)+R(this.seconds(),2)})),Qt("a",!0),Qt("A",!1),I("hour","h"),E("hour",13),ct("a",Zt),ct("A",Zt),ct("H",J),ct("h",J),ct("k",J),ct("HH",J,z),ct("hh",J,z),ct("kk",J,z),ct("hmm",X),ct("hmmss",K),ct("Hmm",X),ct("Hmmss",K),mt(["H","HH"],3),mt(["k","kk"],(function(t,e,s){var i=w(t);e[3]=24===i?0:i})),mt(["a","A"],(function(t,e,s){s._isPm=s._locale.isPM(t),s._meridiem=t})),mt(["h","hh"],(function(t,e,s){e[3]=w(t),m(s).bigHour=!0})),mt("hmm",(function(t,e,s){var i=t.length-2;e[3]=w(t.substr(0,i)),e[4]=w(t.substr(i)),m(s).bigHour=!0})),mt("hmmss",(function(t,e,s){var i=t.length-4,a=t.length-2;e[3]=w(t.substr(0,i)),e[4]=w(t.substr(i,2)),e[5]=w(t.substr(a)),m(s).bigHour=!0})),mt("Hmm",(function(t,e,s){var i=t.length-2;e[3]=w(t.substr(0,i)),e[4]=w(t.substr(i))})),mt("Hmmss",(function(t,e,s){var i=t.length-4,a=t.length-2;e[3]=w(t.substr(0,i)),e[4]=w(t.substr(i,2)),e[5]=w(t.substr(a))}));var Jt,Xt=yt("Hours",!0),Kt={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:St,monthsShort:Dt,week:{dow:0,doy:6},weekdays:Ht,weekdaysMin:Wt,weekdaysShort:$t,meridiemParse:/[ap]\.?m?\.?/i},te={},ee={};function se(t){return t?t.toLowerCase().replace("_","-"):t}function ie(e){var s=null;if(!te[e]&&void 0!==t&&t&&t.exports)try{s=Jt._abbr,!function(){var t=new Error("Cannot find module 'undefined'");throw t.code="MODULE_NOT_FOUND",t}(),ae(s)}catch(t){}return te[e]}function ae(t,e){var s;return t&&((s=o(e)?oe(t):ne(t,e))?Jt=s:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+t+" not found. Did you forget to load it?")),Jt._abbr}function ne(t,e){if(null!==e){var s,i=Kt;if(e.abbr=t,null!=te[t])M("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),i=te[t]._config;else if(null!=e.parentLocale)if(null!=te[e.parentLocale])i=te[e.parentLocale]._config;else{if(null==(s=ie(e.parentLocale)))return ee[e.parentLocale]||(ee[e.parentLocale]=[]),ee[e.parentLocale].push({name:t,config:e}),null;i=s._config}return te[t]=new j(O(i,e)),ee[t]&&ee[t].forEach((function(t){ne(t.name,t.config)})),ae(t),te[t]}return delete te[t],null}function oe(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Jt;if(!a(t)){if(e=ie(t))return e;t=[t]}return function(t){for(var e,s,i,a,n=0;n<t.length;){for(e=(a=se(t[n]).split("-")).length,s=(s=se(t[n+1]))?s.split("-"):null;e>0;){if(i=ie(a.slice(0,e).join("-")))return i;if(s&&s.length>=e&&C(a,s,!0)>=e-1)break;e--}n++}return Jt}(t)}function re(t){var e,s=t._a;return s&&-2===m(t).overflow&&(e=s[1]<0||s[1]>11?1:s[2]<1||s[2]>Ct(s[0],s[1])?2:s[3]<0||s[3]>24||24===s[3]&&(0!==s[4]||0!==s[5]||0!==s[6])?3:s[4]<0||s[4]>59?4:s[5]<0||s[5]>59?5:s[6]<0||s[6]>999?6:-1,m(t)._overflowDayOfYear&&(e<0||e>2)&&(e=2),m(t)._overflowWeeks&&-1===e&&(e=7),m(t)._overflowWeekday&&-1===e&&(e=8),m(t).overflow=e),t}function le(t,e,s){return null!=t?t:null!=e?e:s}function ce(t){var e,s,a,n,o,r=[];if(!t._d){for(a=function(t){var e=new Date(i.now());return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}(t),t._w&&null==t._a[2]&&null==t._a[1]&&function(t){var e,s,i,a,n,o,r,l;if(null!=(e=t._w).GG||null!=e.W||null!=e.E)n=1,o=4,s=le(e.GG,t._a[0],Et(xe(),1,4).year),i=le(e.W,1),((a=le(e.E,1))<1||a>7)&&(l=!0);else{n=t._locale._week.dow,o=t._locale._week.doy;var c=Et(xe(),n,o);s=le(e.gg,t._a[0],c.year),i=le(e.w,c.week),null!=e.d?((a=e.d)<0||a>6)&&(l=!0):null!=e.e?(a=e.e+n,(e.e<0||e.e>6)&&(l=!0)):a=n}i<1||i>Rt(s,n,o)?m(t)._overflowWeeks=!0:null!=l?m(t)._overflowWeekday=!0:(r=Nt(s,i,a,n,o),t._a[0]=r.year,t._dayOfYear=r.dayOfYear)}(t),null!=t._dayOfYear&&(o=le(t._a[0],a[0]),(t._dayOfYear>ft(o)||0===t._dayOfYear)&&(m(t)._overflowDayOfYear=!0),s=Lt(o,0,t._dayOfYear),t._a[1]=s.getUTCMonth(),t._a[2]=s.getUTCDate()),e=0;e<3&&null==t._a[e];++e)t._a[e]=r[e]=a[e];for(;e<7;e++)t._a[e]=r[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[3]&&0===t._a[4]&&0===t._a[5]&&0===t._a[6]&&(t._nextDay=!0,t._a[3]=0),t._d=(t._useUTC?Lt:It).apply(null,r),n=t._useUTC?t._d.getUTCDay():t._d.getDay(),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[3]=24),t._w&&void 0!==t._w.d&&t._w.d!==n&&(m(t).weekdayMismatch=!0)}}var ue=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,de=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,_e=/Z|[+-]\d\d(?::?\d\d)?/,me=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],he=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],pe=/^\/?Date\((\-?\d+)/i;function fe(t){var e,s,i,a,n,o,r=t._i,l=ue.exec(r)||de.exec(r);if(l){for(m(t).iso=!0,e=0,s=me.length;e<s;e++)if(me[e][1].exec(l[1])){a=me[e][0],i=!1!==me[e][2];break}if(null==a)return void(t._isValid=!1);if(l[3]){for(e=0,s=he.length;e<s;e++)if(he[e][1].exec(l[3])){n=(l[2]||" ")+he[e][0];break}if(null==n)return void(t._isValid=!1)}if(!i&&null!=n)return void(t._isValid=!1);if(l[4]){if(!_e.exec(l[4]))return void(t._isValid=!1);o="Z"}t._f=a+(n||"")+(o||""),ke(t)}else t._isValid=!1}var ve=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/;function ge(t){var e=parseInt(t,10);return e<=49?2e3+e:e<=999?1900+e:e}var be={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function ye(t){var e,s,i,a,n,o,r,l=ve.exec(t._i.replace(/\([^)]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s\s*/,"").replace(/\s\s*$/,""));if(l){var c=(e=l[4],s=l[3],i=l[2],a=l[5],n=l[6],o=l[7],r=[ge(e),Dt.indexOf(s),parseInt(i,10),parseInt(a,10),parseInt(n,10)],o&&r.push(parseInt(o,10)),r);if(!function(t,e,s){return!t||$t.indexOf(t)===new Date(e[0],e[1],e[2]).getDay()||(m(s).weekdayMismatch=!0,s._isValid=!1,!1)}(l[1],c,t))return;t._a=c,t._tzm=function(t,e,s){if(t)return be[t];if(e)return 0;var i=parseInt(s,10),a=i%100;return(i-a)/100*60+a}(l[8],l[9],l[10]),t._d=Lt.apply(null,t._a),t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),m(t).rfc2822=!0}else t._isValid=!1}function ke(t){if(t._f!==i.ISO_8601)if(t._f!==i.RFC_2822){t._a=[],m(t).empty=!0;var e,s,a,n,o,r=""+t._i,l=r.length,c=0;for(a=V(t._f,t._locale).match(U)||[],e=0;e<a.length;e++)n=a[e],(s=(r.match(ut(n,t))||[])[0])&&((o=r.substr(0,r.indexOf(s))).length>0&&m(t).unusedInput.push(o),r=r.slice(r.indexOf(s)+s.length),c+=s.length),W[n]?(s?m(t).empty=!1:m(t).unusedTokens.push(n),pt(n,s,t)):t._strict&&!s&&m(t).unusedTokens.push(n);m(t).charsLeftOver=l-c,r.length>0&&m(t).unusedInput.push(r),t._a[3]<=12&&!0===m(t).bigHour&&t._a[3]>0&&(m(t).bigHour=void 0),m(t).parsedDateParts=t._a.slice(0),m(t).meridiem=t._meridiem,t._a[3]=function(t,e,s){var i;return null==s?e:null!=t.meridiemHour?t.meridiemHour(e,s):null!=t.isPM?((i=t.isPM(s))&&e<12&&(e+=12),i||12!==e||(e=0),e):e}(t._locale,t._a[3],t._meridiem),ce(t),re(t)}else ye(t);else fe(t)}function we(t){var e=t._i,s=t._f;return t._locale=t._locale||oe(t._l),null===e||void 0===s&&""===e?p({nullInput:!0}):("string"==typeof e&&(t._i=e=t._locale.preparse(e)),y(e)?new b(re(e)):(l(e)?t._d=e:a(s)?function(t){var e,s,i,a,n;if(0===t._f.length)return m(t).invalidFormat=!0,void(t._d=new Date(NaN));for(a=0;a<t._f.length;a++)n=0,e=v({},t),null!=t._useUTC&&(e._useUTC=t._useUTC),e._f=t._f[a],ke(e),h(e)&&(n+=m(e).charsLeftOver,n+=10*m(e).unusedTokens.length,m(e).score=n,(null==i||n<i)&&(i=n,s=e));d(t,s||e)}(t):s?ke(t):function(t){var e=t._i;o(e)?t._d=new Date(i.now()):l(e)?t._d=new Date(e.valueOf()):"string"==typeof e?function(t){var e=pe.exec(t._i);null===e?(fe(t),!1===t._isValid&&(delete t._isValid,ye(t),!1===t._isValid&&(delete t._isValid,i.createFromInputFallback(t)))):t._d=new Date(+e[1])}(t):a(e)?(t._a=c(e.slice(0),(function(t){return parseInt(t,10)})),ce(t)):n(e)?function(t){if(!t._d){var e=A(t._i);t._a=c([e.year,e.month,e.day||e.date,e.hour,e.minute,e.second,e.millisecond],(function(t){return t&&parseInt(t,10)})),ce(t)}}(t):r(e)?t._d=new Date(e):i.createFromInputFallback(t)}(t),h(t)||(t._d=null),t))}function Ce(t,e,s,i,o){var r,l={};return!0!==s&&!1!==s||(i=s,s=void 0),(n(t)&&function(t){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(t).length;var e;for(e in t)if(t.hasOwnProperty(e))return!1;return!0}(t)||a(t)&&0===t.length)&&(t=void 0),l._isAMomentObject=!0,l._useUTC=l._isUTC=o,l._l=s,l._i=t,l._f=e,l._strict=i,(r=new b(re(we(l))))._nextDay&&(r.add(1,"d"),r._nextDay=void 0),r}function xe(t,e,s,i){return Ce(t,e,s,i,!1)}i.createFromInputFallback=S("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",(function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))})),i.ISO_8601=function(){},i.RFC_2822=function(){};var Se=S("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",(function(){var t=xe.apply(null,arguments);return this.isValid()&&t.isValid()?t<this?this:t:p()})),De=S("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",(function(){var t=xe.apply(null,arguments);return this.isValid()&&t.isValid()?t>this?this:t:p()}));function Pe(t,e){var s,i;if(1===e.length&&a(e[0])&&(e=e[0]),!e.length)return xe();for(s=e[0],i=1;i<e.length;++i)e[i].isValid()&&!e[i][t](s)||(s=e[i]);return s}var Me=["year","quarter","month","week","day","hour","minute","second","millisecond"];function Te(t){var e=A(t),s=e.year||0,i=e.quarter||0,a=e.month||0,n=e.week||e.isoWeek||0,o=e.day||0,r=e.hour||0,l=e.minute||0,c=e.second||0,u=e.millisecond||0;this._isValid=function(t){for(var e in t)if(-1===gt.call(Me,e)||null!=t[e]&&isNaN(t[e]))return!1;for(var s=!1,i=0;i<Me.length;++i)if(t[Me[i]]){if(s)return!1;parseFloat(t[Me[i]])!==w(t[Me[i]])&&(s=!0)}return!0}(e),this._milliseconds=+u+1e3*c+6e4*l+1e3*r*60*60,this._days=+o+7*n,this._months=+a+3*i+12*s,this._data={},this._locale=oe(),this._bubble()}function Oe(t){return t instanceof Te}function je(t){return t<0?-1*Math.round(-1*t):Math.round(t)}function Ye(t,e){F(t,0,0,(function(){var t=this.utcOffset(),s="+";return t<0&&(t=-t,s="-"),s+R(~~(t/60),2)+e+R(~~t%60,2)}))}Ye("Z",":"),Ye("ZZ",""),ct("Z",ot),ct("ZZ",ot),mt(["Z","ZZ"],(function(t,e,s){s._useUTC=!0,s._tzm=Le(ot,t)}));var Ie=/([\+\-]|\d\d)/gi;function Le(t,e){var s=(e||"").match(t);if(null===s)return null;var i=((s[s.length-1]||[])+"").match(Ie)||["-",0,0],a=60*i[1]+w(i[2]);return 0===a?0:"+"===i[0]?a:-a}function Ae(t,e){var s,a;return e._isUTC?(s=e.clone(),a=(y(t)||l(t)?t.valueOf():xe(t).valueOf())-s.valueOf(),s._d.setTime(s._d.valueOf()+a),i.updateOffset(s,!1),s):xe(t).local()}function Ne(t){return 15*-Math.round(t._d.getTimezoneOffset()/15)}function Ee(){return!!this.isValid()&&this._isUTC&&0===this._offset}i.updateOffset=function(){};var Re=/^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Ue=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function He(t,e){var s,i,a,n,o,l,c=t,d=null;return Oe(t)?c={ms:t._milliseconds,d:t._days,M:t._months}:r(t)?(c={},e?c[e]=t:c.milliseconds=t):(d=Re.exec(t))?(s="-"===d[1]?-1:1,c={y:0,d:w(d[2])*s,h:w(d[3])*s,m:w(d[4])*s,s:w(d[5])*s,ms:w(je(1e3*d[6]))*s}):(d=Ue.exec(t))?(s="-"===d[1]?-1:1,c={y:$e(d[2],s),M:$e(d[3],s),w:$e(d[4],s),d:$e(d[5],s),h:$e(d[6],s),m:$e(d[7],s),s:$e(d[8],s)}):null==c?c={}:"object"==typeof c&&("from"in c||"to"in c)&&(n=xe(c.from),o=xe(c.to),a=n.isValid()&&o.isValid()?(o=Ae(o,n),n.isBefore(o)?l=We(n,o):((l=We(o,n)).milliseconds=-l.milliseconds,l.months=-l.months),l):{milliseconds:0,months:0},(c={}).ms=a.milliseconds,c.M=a.months),i=new Te(c),Oe(t)&&u(t,"_locale")&&(i._locale=t._locale),i}function $e(t,e){var s=t&&parseFloat(t.replace(",","."));return(isNaN(s)?0:s)*e}function We(t,e){var s={};return s.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(s.months,"M").isAfter(e)&&--s.months,s.milliseconds=+e-+t.clone().add(s.months,"M"),s}function Fe(t,e){return function(s,i){var a;return null===i||isNaN(+i)||(M(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),a=s,s=i,i=a),qe(this,He(s="string"==typeof s?+s:s,i),t),this}}function qe(t,e,s,a){var n=e._milliseconds,o=je(e._days),r=je(e._months);t.isValid()&&(a=null==a||a,r&&Mt(t,kt(t,"Month")+r*s),o&&wt(t,"Date",kt(t,"Date")+o*s),n&&t._d.setTime(t._d.valueOf()+n*s),a&&i.updateOffset(t,o||r))}He.fn=Te.prototype,He.invalid=function(){return He(NaN)};var Ve=Fe(1,"add"),Ge=Fe(-1,"subtract");function ze(t,e){var s=12*(e.year()-t.year())+(e.month()-t.month()),i=t.clone().add(s,"months");return-(s+(e-i<0?(e-i)/(i-t.clone().add(s-1,"months")):(e-i)/(t.clone().add(s+1,"months")-i)))||0}function Be(t){var e;return void 0===t?this._locale._abbr:(null!=(e=oe(t))&&(this._locale=e),this)}i.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",i.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Qe=S("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",(function(t){return void 0===t?this.localeData():this.locale(t)}));function Ze(){return this._locale}function Je(t,e){return(t%e+e)%e}function Xe(t,e,s){return t<100&&t>=0?new Date(t+400,e,s)-126227808e5:new Date(t,e,s).valueOf()}function Ke(t,e,s){return t<100&&t>=0?Date.UTC(t+400,e,s)-126227808e5:Date.UTC(t,e,s)}function ts(t,e){F(0,[t,t.length],0,e)}function es(t,e,s,i,a){var n;return null==t?Et(this,i,a).year:(e>(n=Rt(t,i,a))&&(e=n),ss.call(this,t,e,s,i,a))}function ss(t,e,s,i,a){var n=Nt(t,e,s,i,a),o=Lt(n.year,0,n.dayOfYear);return this.year(o.getUTCFullYear()),this.month(o.getUTCMonth()),this.date(o.getUTCDate()),this}F(0,["gg",2],0,(function(){return this.weekYear()%100})),F(0,["GG",2],0,(function(){return this.isoWeekYear()%100})),ts("gggg","weekYear"),ts("ggggg","weekYear"),ts("GGGG","isoWeekYear"),ts("GGGGG","isoWeekYear"),I("weekYear","gg"),I("isoWeekYear","GG"),E("weekYear",1),E("isoWeekYear",1),ct("G",at),ct("g",at),ct("GG",J,z),ct("gg",J,z),ct("GGGG",et,Q),ct("gggg",et,Q),ct("GGGGG",st,Z),ct("ggggg",st,Z),ht(["gggg","ggggg","GGGG","GGGGG"],(function(t,e,s,i){e[i.substr(0,2)]=w(t)})),ht(["gg","GG"],(function(t,e,s,a){e[a]=i.parseTwoDigitYear(t)})),F("Q",0,"Qo","quarter"),I("quarter","Q"),E("quarter",7),ct("Q",G),mt("Q",(function(t,e){e[1]=3*(w(t)-1)})),F("D",["DD",2],"Do","date"),I("date","D"),E("date",9),ct("D",J),ct("DD",J,z),ct("Do",(function(t,e){return t?e._dayOfMonthOrdinalParse||e._ordinalParse:e._dayOfMonthOrdinalParseLenient})),mt(["D","DD"],2),mt("Do",(function(t,e){e[2]=w(t.match(J)[0])}));var is=yt("Date",!0);F("DDD",["DDDD",3],"DDDo","dayOfYear"),I("dayOfYear","DDD"),E("dayOfYear",4),ct("DDD",tt),ct("DDDD",B),mt(["DDD","DDDD"],(function(t,e,s){s._dayOfYear=w(t)})),F("m",["mm",2],0,"minute"),I("minute","m"),E("minute",14),ct("m",J),ct("mm",J,z),mt(["m","mm"],4);var as=yt("Minutes",!1);F("s",["ss",2],0,"second"),I("second","s"),E("second",15),ct("s",J),ct("ss",J,z),mt(["s","ss"],5);var ns,os=yt("Seconds",!1);for(F("S",0,0,(function(){return~~(this.millisecond()/100)})),F(0,["SS",2],0,(function(){return~~(this.millisecond()/10)})),F(0,["SSS",3],0,"millisecond"),F(0,["SSSS",4],0,(function(){return 10*this.millisecond()})),F(0,["SSSSS",5],0,(function(){return 100*this.millisecond()})),F(0,["SSSSSS",6],0,(function(){return 1e3*this.millisecond()})),F(0,["SSSSSSS",7],0,(function(){return 1e4*this.millisecond()})),F(0,["SSSSSSSS",8],0,(function(){return 1e5*this.millisecond()})),F(0,["SSSSSSSSS",9],0,(function(){return 1e6*this.millisecond()})),I("millisecond","ms"),E("millisecond",16),ct("S",tt,G),ct("SS",tt,z),ct("SSS",tt,B),ns="SSSS";ns.length<=9;ns+="S")ct(ns,it);function rs(t,e){e[6]=w(1e3*("0."+t))}for(ns="S";ns.length<=9;ns+="S")mt(ns,rs);var ls=yt("Milliseconds",!1);F("z",0,0,"zoneAbbr"),F("zz",0,0,"zoneName");var cs=b.prototype;function us(t){return t}cs.add=Ve,cs.calendar=function(t,e){var s=t||xe(),a=Ae(s,this).startOf("day"),n=i.calendarFormat(this,a)||"sameElse",o=e&&(T(e[n])?e[n].call(this,s):e[n]);return this.format(o||this.localeData().calendar(n,this,xe(s)))},cs.clone=function(){return new b(this)},cs.diff=function(t,e,s){var i,a,n;if(!this.isValid())return NaN;if(!(i=Ae(t,this)).isValid())return NaN;switch(a=6e4*(i.utcOffset()-this.utcOffset()),e=L(e)){case"year":n=ze(this,i)/12;break;case"month":n=ze(this,i);break;case"quarter":n=ze(this,i)/3;break;case"second":n=(this-i)/1e3;break;case"minute":n=(this-i)/6e4;break;case"hour":n=(this-i)/36e5;break;case"day":n=(this-i-a)/864e5;break;case"week":n=(this-i-a)/6048e5;break;default:n=this-i}return s?n:k(n)},cs.endOf=function(t){var e;if(void 0===(t=L(t))||"millisecond"===t||!this.isValid())return this;var s=this._isUTC?Ke:Xe;switch(t){case"year":e=s(this.year()+1,0,1)-1;break;case"quarter":e=s(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":e=s(this.year(),this.month()+1,1)-1;break;case"week":e=s(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":e=s(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":e=s(this.year(),this.month(),this.date()+1)-1;break;case"hour":e=this._d.valueOf(),e+=36e5-Je(e+(this._isUTC?0:6e4*this.utcOffset()),36e5)-1;break;case"minute":e=this._d.valueOf(),e+=6e4-Je(e,6e4)-1;break;case"second":e=this._d.valueOf(),e+=1e3-Je(e,1e3)-1}return this._d.setTime(e),i.updateOffset(this,!0),this},cs.format=function(t){t||(t=this.isUtc()?i.defaultFormatUtc:i.defaultFormat);var e=q(this,t);return this.localeData().postformat(e)},cs.from=function(t,e){return this.isValid()&&(y(t)&&t.isValid()||xe(t).isValid())?He({to:this,from:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()},cs.fromNow=function(t){return this.from(xe(),t)},cs.to=function(t,e){return this.isValid()&&(y(t)&&t.isValid()||xe(t).isValid())?He({from:this,to:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()},cs.toNow=function(t){return this.to(xe(),t)},cs.get=function(t){return T(this[t=L(t)])?this[t]():this},cs.invalidAt=function(){return m(this).overflow},cs.isAfter=function(t,e){var s=y(t)?t:xe(t);return!(!this.isValid()||!s.isValid())&&("millisecond"===(e=L(e)||"millisecond")?this.valueOf()>s.valueOf():s.valueOf()<this.clone().startOf(e).valueOf())},cs.isBefore=function(t,e){var s=y(t)?t:xe(t);return!(!this.isValid()||!s.isValid())&&("millisecond"===(e=L(e)||"millisecond")?this.valueOf()<s.valueOf():this.clone().endOf(e).valueOf()<s.valueOf())},cs.isBetween=function(t,e,s,i){var a=y(t)?t:xe(t),n=y(e)?e:xe(e);return!!(this.isValid()&&a.isValid()&&n.isValid())&&("("===(i=i||"()")[0]?this.isAfter(a,s):!this.isBefore(a,s))&&(")"===i[1]?this.isBefore(n,s):!this.isAfter(n,s))},cs.isSame=function(t,e){var s,i=y(t)?t:xe(t);return!(!this.isValid()||!i.isValid())&&("millisecond"===(e=L(e)||"millisecond")?this.valueOf()===i.valueOf():(s=i.valueOf(),this.clone().startOf(e).valueOf()<=s&&s<=this.clone().endOf(e).valueOf()))},cs.isSameOrAfter=function(t,e){return this.isSame(t,e)||this.isAfter(t,e)},cs.isSameOrBefore=function(t,e){return this.isSame(t,e)||this.isBefore(t,e)},cs.isValid=function(){return h(this)},cs.lang=Qe,cs.locale=Be,cs.localeData=Ze,cs.max=De,cs.min=Se,cs.parsingFlags=function(){return d({},m(this))},cs.set=function(t,e){if("object"==typeof t)for(var s=function(t){var e=[];for(var s in t)e.push({unit:s,priority:N[s]});return e.sort((function(t,e){return t.priority-e.priority})),e}(t=A(t)),i=0;i<s.length;i++)this[s[i].unit](t[s[i].unit]);else if(T(this[t=L(t)]))return this[t](e);return this},cs.startOf=function(t){var e;if(void 0===(t=L(t))||"millisecond"===t||!this.isValid())return this;var s=this._isUTC?Ke:Xe;switch(t){case"year":e=s(this.year(),0,1);break;case"quarter":e=s(this.year(),this.month()-this.month()%3,1);break;case"month":e=s(this.year(),this.month(),1);break;case"week":e=s(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":e=s(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":e=s(this.year(),this.month(),this.date());break;case"hour":e=this._d.valueOf(),e-=Je(e+(this._isUTC?0:6e4*this.utcOffset()),36e5);break;case"minute":e=this._d.valueOf(),e-=Je(e,6e4);break;case"second":e=this._d.valueOf(),e-=Je(e,1e3)}return this._d.setTime(e),i.updateOffset(this,!0),this},cs.subtract=Ge,cs.toArray=function(){var t=this;return[t.year(),t.month(),t.date(),t.hour(),t.minute(),t.second(),t.millisecond()]},cs.toObject=function(){var t=this;return{years:t.year(),months:t.month(),date:t.date(),hours:t.hours(),minutes:t.minutes(),seconds:t.seconds(),milliseconds:t.milliseconds()}},cs.toDate=function(){return new Date(this.valueOf())},cs.toISOString=function(t){if(!this.isValid())return null;var e=!0!==t,s=e?this.clone().utc():this;return s.year()<0||s.year()>9999?q(s,e?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):T(Date.prototype.toISOString)?e?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",q(s,"Z")):q(s,e?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},cs.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var t="moment",e="";this.isLocal()||(t=0===this.utcOffset()?"moment.utc":"moment.parseZone",e="Z");var s="["+t+'("]',i=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",a=e+'[")]';return this.format(s+i+"-MM-DD[T]HH:mm:ss.SSS"+a)},cs.toJSON=function(){return this.isValid()?this.toISOString():null},cs.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},cs.unix=function(){return Math.floor(this.valueOf()/1e3)},cs.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},cs.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},cs.year=bt,cs.isLeapYear=function(){return vt(this.year())},cs.weekYear=function(t){return es.call(this,t,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},cs.isoWeekYear=function(t){return es.call(this,t,this.isoWeek(),this.isoWeekday(),1,4)},cs.quarter=cs.quarters=function(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)},cs.month=Tt,cs.daysInMonth=function(){return Ct(this.year(),this.month())},cs.week=cs.weeks=function(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")},cs.isoWeek=cs.isoWeeks=function(t){var e=Et(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")},cs.weeksInYear=function(){var t=this.localeData()._week;return Rt(this.year(),t.dow,t.doy)},cs.isoWeeksInYear=function(){return Rt(this.year(),1,4)},cs.date=is,cs.day=cs.days=function(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=function(t,e){return"string"!=typeof t?t:isNaN(t)?"number"==typeof(t=e.weekdaysParse(t))?t:null:parseInt(t,10)}(t,this.localeData()),this.add(t-e,"d")):e},cs.weekday=function(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")},cs.isoWeekday=function(t){if(!this.isValid())return null!=t?this:NaN;if(null!=t){var e=function(t,e){return"string"==typeof t?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}(t,this.localeData());return this.day(this.day()%7?e:e-7)}return this.day()||7},cs.dayOfYear=function(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")},cs.hour=cs.hours=Xt,cs.minute=cs.minutes=as,cs.second=cs.seconds=os,cs.millisecond=cs.milliseconds=ls,cs.utcOffset=function(t,e,s){var a,n=this._offset||0;if(!this.isValid())return null!=t?this:NaN;if(null!=t){if("string"==typeof t){if(null===(t=Le(ot,t)))return this}else Math.abs(t)<16&&!s&&(t*=60);return!this._isUTC&&e&&(a=Ne(this)),this._offset=t,this._isUTC=!0,null!=a&&this.add(a,"m"),n!==t&&(!e||this._changeInProgress?qe(this,He(t-n,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,i.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?n:Ne(this)},cs.utc=function(t){return this.utcOffset(0,t)},cs.local=function(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(Ne(this),"m")),this},cs.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var t=Le(nt,this._i);null!=t?this.utcOffset(t):this.utcOffset(0,!0)}return this},cs.hasAlignedHourOffset=function(t){return!!this.isValid()&&(t=t?xe(t).utcOffset():0,(this.utcOffset()-t)%60==0)},cs.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},cs.isLocal=function(){return!!this.isValid()&&!this._isUTC},cs.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},cs.isUtc=Ee,cs.isUTC=Ee,cs.zoneAbbr=function(){return this._isUTC?"UTC":""},cs.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},cs.dates=S("dates accessor is deprecated. Use date instead.",is),cs.months=S("months accessor is deprecated. Use month instead",Tt),cs.years=S("years accessor is deprecated. Use year instead",bt),cs.zone=S("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",(function(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()})),cs.isDSTShifted=S("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",(function(){if(!o(this._isDSTShifted))return this._isDSTShifted;var t={};if(v(t,this),(t=we(t))._a){var e=t._isUTC?_(t._a):xe(t._a);this._isDSTShifted=this.isValid()&&C(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}));var ds=j.prototype;function _s(t,e,s,i){var a=oe(),n=_().set(i,e);return a[s](n,t)}function ms(t,e,s){if(r(t)&&(e=t,t=void 0),t=t||"",null!=e)return _s(t,e,s,"month");var i,a=[];for(i=0;i<12;i++)a[i]=_s(t,i,s,"month");return a}function hs(t,e,s,i){"boolean"==typeof t?(r(e)&&(s=e,e=void 0),e=e||""):(s=e=t,t=!1,r(e)&&(s=e,e=void 0),e=e||"");var a,n=oe(),o=t?n._week.dow:0;if(null!=s)return _s(e,(s+o)%7,i,"day");var l=[];for(a=0;a<7;a++)l[a]=_s(e,(a+o)%7,i,"day");return l}ds.calendar=function(t,e,s){var i=this._calendar[t]||this._calendar.sameElse;return T(i)?i.call(e,s):i},ds.longDateFormat=function(t){var e=this._longDateFormat[t],s=this._longDateFormat[t.toUpperCase()];return e||!s?e:(this._longDateFormat[t]=s.replace(/MMMM|MM|DD|dddd/g,(function(t){return t.slice(1)})),this._longDateFormat[t])},ds.invalidDate=function(){return this._invalidDate},ds.ordinal=function(t){return this._ordinal.replace("%d",t)},ds.preparse=us,ds.postformat=us,ds.relativeTime=function(t,e,s,i){var a=this._relativeTime[s];return T(a)?a(t,e,s,i):a.replace(/%d/i,t)},ds.pastFuture=function(t,e){var s=this._relativeTime[t>0?"future":"past"];return T(s)?s(e):s.replace(/%s/i,e)},ds.set=function(t){var e,s;for(s in t)T(e=t[s])?this[s]=e:this["_"+s]=e;this._config=t,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},ds.months=function(t,e){return t?a(this._months)?this._months[t.month()]:this._months[(this._months.isFormat||xt).test(e)?"format":"standalone"][t.month()]:a(this._months)?this._months:this._months.standalone},ds.monthsShort=function(t,e){return t?a(this._monthsShort)?this._monthsShort[t.month()]:this._monthsShort[xt.test(e)?"format":"standalone"][t.month()]:a(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},ds.monthsParse=function(t,e,s){var i,a,n;if(this._monthsParseExact)return Pt.call(this,t,e,s);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),i=0;i<12;i++){if(a=_([2e3,i]),s&&!this._longMonthsParse[i]&&(this._longMonthsParse[i]=new RegExp("^"+this.months(a,"").replace(".","")+"$","i"),this._shortMonthsParse[i]=new RegExp("^"+this.monthsShort(a,"").replace(".","")+"$","i")),s||this._monthsParse[i]||(n="^"+this.months(a,"")+"|^"+this.monthsShort(a,""),this._monthsParse[i]=new RegExp(n.replace(".",""),"i")),s&&"MMMM"===e&&this._longMonthsParse[i].test(t))return i;if(s&&"MMM"===e&&this._shortMonthsParse[i].test(t))return i;if(!s&&this._monthsParse[i].test(t))return i}},ds.monthsRegex=function(t){return this._monthsParseExact?(u(this,"_monthsRegex")||Yt.call(this),t?this._monthsStrictRegex:this._monthsRegex):(u(this,"_monthsRegex")||(this._monthsRegex=jt),this._monthsStrictRegex&&t?this._monthsStrictRegex:this._monthsRegex)},ds.monthsShortRegex=function(t){return this._monthsParseExact?(u(this,"_monthsRegex")||Yt.call(this),t?this._monthsShortStrictRegex:this._monthsShortRegex):(u(this,"_monthsShortRegex")||(this._monthsShortRegex=Ot),this._monthsShortStrictRegex&&t?this._monthsShortStrictRegex:this._monthsShortRegex)},ds.week=function(t){return Et(t,this._week.dow,this._week.doy).week},ds.firstDayOfYear=function(){return this._week.doy},ds.firstDayOfWeek=function(){return this._week.dow},ds.weekdays=function(t,e){var s=a(this._weekdays)?this._weekdays:this._weekdays[t&&!0!==t&&this._weekdays.isFormat.test(e)?"format":"standalone"];return!0===t?Ut(s,this._week.dow):t?s[t.day()]:s},ds.weekdaysMin=function(t){return!0===t?Ut(this._weekdaysMin,this._week.dow):t?this._weekdaysMin[t.day()]:this._weekdaysMin},ds.weekdaysShort=function(t){return!0===t?Ut(this._weekdaysShort,this._week.dow):t?this._weekdaysShort[t.day()]:this._weekdaysShort},ds.weekdaysParse=function(t,e,s){var i,a,n;if(this._weekdaysParseExact)return Ft.call(this,t,e,s);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),i=0;i<7;i++){if(a=_([2e3,1]).day(i),s&&!this._fullWeekdaysParse[i]&&(this._fullWeekdaysParse[i]=new RegExp("^"+this.weekdays(a,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[i]=new RegExp("^"+this.weekdaysShort(a,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[i]=new RegExp("^"+this.weekdaysMin(a,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[i]||(n="^"+this.weekdays(a,"")+"|^"+this.weekdaysShort(a,"")+"|^"+this.weekdaysMin(a,""),this._weekdaysParse[i]=new RegExp(n.replace(".",""),"i")),s&&"dddd"===e&&this._fullWeekdaysParse[i].test(t))return i;if(s&&"ddd"===e&&this._shortWeekdaysParse[i].test(t))return i;if(s&&"dd"===e&&this._minWeekdaysParse[i].test(t))return i;if(!s&&this._weekdaysParse[i].test(t))return i}},ds.weekdaysRegex=function(t){return this._weekdaysParseExact?(u(this,"_weekdaysRegex")||zt.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(u(this,"_weekdaysRegex")||(this._weekdaysRegex=qt),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)},ds.weekdaysShortRegex=function(t){return this._weekdaysParseExact?(u(this,"_weekdaysRegex")||zt.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(u(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Vt),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},ds.weekdaysMinRegex=function(t){return this._weekdaysParseExact?(u(this,"_weekdaysRegex")||zt.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(u(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Gt),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},ds.isPM=function(t){return"p"===(t+"").toLowerCase().charAt(0)},ds.meridiem=function(t,e,s){return t>11?s?"pm":"PM":s?"am":"AM"},ae("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10;return t+(1===w(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")}}),i.lang=S("moment.lang is deprecated. Use moment.locale instead.",ae),i.langData=S("moment.langData is deprecated. Use moment.localeData instead.",oe);var ps=Math.abs;function fs(t,e,s,i){var a=He(e,s);return t._milliseconds+=i*a._milliseconds,t._days+=i*a._days,t._months+=i*a._months,t._bubble()}function vs(t){return t<0?Math.floor(t):Math.ceil(t)}function gs(t){return 4800*t/146097}function bs(t){return 146097*t/4800}function ys(t){return function(){return this.as(t)}}var ks=ys("ms"),ws=ys("s"),Cs=ys("m"),xs=ys("h"),Ss=ys("d"),Ds=ys("w"),Ps=ys("M"),Ms=ys("Q"),Ts=ys("y");function Os(t){return function(){return this.isValid()?this._data[t]:NaN}}var js=Os("milliseconds"),Ys=Os("seconds"),Is=Os("minutes"),Ls=Os("hours"),As=Os("days"),Ns=Os("months"),Es=Os("years"),Rs=Math.round,Us={ss:44,s:45,m:45,h:22,d:26,M:11};function Hs(t,e,s,i,a){return a.relativeTime(e||1,!!s,t,i)}var $s=Math.abs;function Ws(t){return(t>0)-(t<0)||+t}function Fs(){if(!this.isValid())return this.localeData().invalidDate();var t,e,s=$s(this._milliseconds)/1e3,i=$s(this._days),a=$s(this._months);t=k(s/60),e=k(t/60),s%=60,t%=60;var n=k(a/12),o=a%=12,r=i,l=e,c=t,u=s?s.toFixed(3).replace(/\.?0+$/,""):"",d=this.asSeconds();if(!d)return"P0D";var _=d<0?"-":"",m=Ws(this._months)!==Ws(d)?"-":"",h=Ws(this._days)!==Ws(d)?"-":"",p=Ws(this._milliseconds)!==Ws(d)?"-":"";return _+"P"+(n?m+n+"Y":"")+(o?m+o+"M":"")+(r?h+r+"D":"")+(l||c||u?"T":"")+(l?p+l+"H":"")+(c?p+c+"M":"")+(u?p+u+"S":"")}var qs=Te.prototype;return qs.isValid=function(){return this._isValid},qs.abs=function(){var t=this._data;return this._milliseconds=ps(this._milliseconds),this._days=ps(this._days),this._months=ps(this._months),t.milliseconds=ps(t.milliseconds),t.seconds=ps(t.seconds),t.minutes=ps(t.minutes),t.hours=ps(t.hours),t.months=ps(t.months),t.years=ps(t.years),this},qs.add=function(t,e){return fs(this,t,e,1)},qs.subtract=function(t,e){return fs(this,t,e,-1)},qs.as=function(t){if(!this.isValid())return NaN;var e,s,i=this._milliseconds;if("month"===(t=L(t))||"quarter"===t||"year"===t)switch(e=this._days+i/864e5,s=this._months+gs(e),t){case"month":return s;case"quarter":return s/3;case"year":return s/12}else switch(e=this._days+Math.round(bs(this._months)),t){case"week":return e/7+i/6048e5;case"day":return e+i/864e5;case"hour":return 24*e+i/36e5;case"minute":return 1440*e+i/6e4;case"second":return 86400*e+i/1e3;case"millisecond":return Math.floor(864e5*e)+i;default:throw new Error("Unknown unit "+t)}},qs.asMilliseconds=ks,qs.asSeconds=ws,qs.asMinutes=Cs,qs.asHours=xs,qs.asDays=Ss,qs.asWeeks=Ds,qs.asMonths=Ps,qs.asQuarters=Ms,qs.asYears=Ts,qs.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*w(this._months/12):NaN},qs._bubble=function(){var t,e,s,i,a,n=this._milliseconds,o=this._days,r=this._months,l=this._data;return n>=0&&o>=0&&r>=0||n<=0&&o<=0&&r<=0||(n+=864e5*vs(bs(r)+o),o=0,r=0),l.milliseconds=n%1e3,t=k(n/1e3),l.seconds=t%60,e=k(t/60),l.minutes=e%60,s=k(e/60),l.hours=s%24,o+=k(s/24),a=k(gs(o)),r+=a,o-=vs(bs(a)),i=k(r/12),r%=12,l.days=o,l.months=r,l.years=i,this},qs.clone=function(){return He(this)},qs.get=function(t){return t=L(t),this.isValid()?this[t+"s"]():NaN},qs.milliseconds=js,qs.seconds=Ys,qs.minutes=Is,qs.hours=Ls,qs.days=As,qs.weeks=function(){return k(this.days()/7)},qs.months=Ns,qs.years=Es,qs.humanize=function(t){if(!this.isValid())return this.localeData().invalidDate();var e=this.localeData(),s=function(t,e,s){var i=He(t).abs(),a=Rs(i.as("s")),n=Rs(i.as("m")),o=Rs(i.as("h")),r=Rs(i.as("d")),l=Rs(i.as("M")),c=Rs(i.as("y")),u=a<=Us.ss&&["s",a]||a<Us.s&&["ss",a]||n<=1&&["m"]||n<Us.m&&["mm",n]||o<=1&&["h"]||o<Us.h&&["hh",o]||r<=1&&["d"]||r<Us.d&&["dd",r]||l<=1&&["M"]||l<Us.M&&["MM",l]||c<=1&&["y"]||["yy",c];return u[2]=e,u[3]=+t>0,u[4]=s,Hs.apply(null,u)}(this,!t,e);return t&&(s=e.pastFuture(+this,s)),e.postformat(s)},qs.toISOString=Fs,qs.toString=Fs,qs.toJSON=Fs,qs.locale=Be,qs.localeData=Ze,qs.toIsoString=S("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Fs),qs.lang=Qe,F("X",0,0,"unix"),F("x",0,0,"valueOf"),ct("x",at),ct("X",/[+-]?\d+(\.\d{1,3})?/),mt("X",(function(t,e,s){s._d=new Date(1e3*parseFloat(t,10))})),mt("x",(function(t,e,s){s._d=new Date(w(t))})),i.version="2.24.0",e=xe,i.fn=cs,i.min=function(){var t=[].slice.call(arguments,0);return Pe("isBefore",t)},i.max=function(){var t=[].slice.call(arguments,0);return Pe("isAfter",t)},i.now=function(){return Date.now?Date.now():+new Date},i.utc=_,i.unix=function(t){return xe(1e3*t)},i.months=function(t,e){return ms(t,e,"months")},i.isDate=l,i.locale=ae,i.invalid=p,i.duration=He,i.isMoment=y,i.weekdays=function(t,e,s){return hs(t,e,s,"weekdays")},i.parseZone=function(){return xe.apply(null,arguments).parseZone()},i.localeData=oe,i.isDuration=Oe,i.monthsShort=function(t,e){return ms(t,e,"monthsShort")},i.weekdaysMin=function(t,e,s){return hs(t,e,s,"weekdaysMin")},i.defineLocale=ne,i.updateLocale=function(t,e){if(null!=e){var s,i,a=Kt;null!=(i=ie(t))&&(a=i._config),e=O(a,e),(s=new j(e)).parentLocale=te[t],te[t]=s,ae(t)}else null!=te[t]&&(null!=te[t].parentLocale?te[t]=te[t].parentLocale:null!=te[t]&&delete te[t]);return te[t]},i.locales=function(){return D(te)},i.weekdaysShort=function(t,e,s){return hs(t,e,s,"weekdaysShort")},i.normalizeUnits=L,i.relativeTimeRounding=function(t){return void 0===t?Rs:"function"==typeof t&&(Rs=t,!0)},i.relativeTimeThreshold=function(t,e){return void 0!==Us[t]&&(void 0===e?Us[t]:(Us[t]=e,"s"===t&&(Us.ss=e-1),!0))},i.calendarFormat=function(t,e){var s=t.diff(e,"days",!0);return s<-6?"sameElse":s<-1?"lastWeek":s<0?"lastDay":s<1?"sameDay":s<2?"nextDay":s<7?"nextWeek":"sameElse"},i.prototype=cs,i.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},i}()}).call(this,s("./node_modules/webpack/buildin/module.js")(t))},"./node_modules/vue-loader/lib/runtime/componentNormalizer.js":function(t,e,s){"use strict";function i(t,e,s,i,a,n,o,r){var l,c="function"==typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=s,c._compiled=!0),i&&(c.functional=!0),n&&(c._scopeId="data-v-"+n),o?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),a&&a.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},c._ssrRegister=l):a&&(l=r?function(){a.call(this,this.$root.$options.shadowRoot)}:a),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(t,e){return l.call(e),u(t,e)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,l):[l]}return{exports:t,options:c}}s.d(e,"a",(function(){return i}))},"./node_modules/webpack/buildin/global.js":function(t,e){var s;s=function(){return this}();try{s=s||new Function("return this")()}catch(t){"object"==typeof window&&(s=window)}t.exports=s},"./node_modules/webpack/buildin/module.js":function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},"./node_modules/xss/lib/default.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/index.js").FilterCSS,a=s("./node_modules/cssfilter/lib/index.js").getDefaultWhiteList,n=s("./node_modules/xss/lib/util.js");function o(){return{a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","loop","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height"],ins:["datetime"],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],sup:[],strong:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","loop","preload","src","height","width"]}}var r=new i;function l(t){return t.replace(c,"&lt;").replace(u,"&gt;")}var c=/</g,u=/>/g,d=/"/g,_=/&quot;/g,m=/&#([a-zA-Z0-9]*);?/gim,h=/&colon;?/gim,p=/&newline;?/gim,f=/((j\s*a\s*v\s*a|v\s*b|l\s*i\s*v\s*e)\s*s\s*c\s*r\s*i\s*p\s*t\s*|m\s*o\s*c\s*h\s*a)\:/gi,v=/e\s*x\s*p\s*r\s*e\s*s\s*s\s*i\s*o\s*n\s*\(.*/gi,g=/u\s*r\s*l\s*\(.*/gi;function b(t){return t.replace(d,"&quot;")}function y(t){return t.replace(_,'"')}function k(t){return t.replace(m,(function(t,e){return"x"===e[0]||"X"===e[0]?String.fromCharCode(parseInt(e.substr(1),16)):String.fromCharCode(parseInt(e,10))}))}function w(t){return t.replace(h,":").replace(p," ")}function C(t){for(var e="",s=0,i=t.length;s<i;s++)e+=t.charCodeAt(s)<32?" ":t.charAt(s);return n.trim(e)}function x(t){return t=C(t=w(t=k(t=y(t))))}function S(t){return t=l(t=b(t))}var D=/<!--[\s\S]*?-->/g;e.whiteList={a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","loop","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height"],ins:["datetime"],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],sup:[],strong:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","loop","preload","src","height","width"]},e.getDefaultWhiteList=o,e.onTag=function(t,e,s){},e.onIgnoreTag=function(t,e,s){},e.onTagAttr=function(t,e,s){},e.onIgnoreTagAttr=function(t,e,s){},e.safeAttrValue=function(t,e,s,i){if(s=x(s),"href"===e||"src"===e){if("#"===(s=n.trim(s)))return"#";if("http://"!==s.substr(0,7)&&"https://"!==s.substr(0,8)&&"mailto:"!==s.substr(0,7)&&"tel:"!==s.substr(0,4)&&"#"!==s[0]&&"/"!==s[0])return""}else if("background"===e){if(f.lastIndex=0,f.test(s))return""}else if("style"===e){if(v.lastIndex=0,v.test(s))return"";if(g.lastIndex=0,g.test(s)&&(f.lastIndex=0,f.test(s)))return"";!1!==i&&(s=(i=i||r).process(s))}return s=S(s)},e.escapeHtml=l,e.escapeQuote=b,e.unescapeQuote=y,e.escapeHtmlEntities=k,e.escapeDangerHtml5Entities=w,e.clearNonPrintableCharacter=C,e.friendlyAttrValue=x,e.escapeAttrValue=S,e.onIgnoreTagStripAll=function(){return""},e.StripTagBody=function(t,e){"function"!=typeof e&&(e=function(){});var s=!Array.isArray(t),i=[],a=!1;return{onIgnoreTag:function(o,r,l){if(function(e){return!!s||-1!==n.indexOf(t,e)}(o)){if(l.isClosing){var c="[/removed]",u=l.position+c.length;return i.push([!1!==a?a:l.position,u]),a=!1,c}return a||(a=l.position),"[removed]"}return e(o,r,l)},remove:function(t){var e="",s=0;return n.forEach(i,(function(i){e+=t.slice(s,i[0]),s=i[1]})),e+=t.slice(s)}}},e.stripCommentTag=function(t){return t.replace(D,"")},e.stripBlankChar=function(t){var e=t.split("");return(e=e.filter((function(t){var e=t.charCodeAt(0);return 127!==e&&(!(e<=31)||(10===e||13===e))}))).join("")},e.cssFilter=r,e.getDefaultCSSWhiteList=a},"./node_modules/xss/lib/index.js":function(t,e,s){var i=s("./node_modules/xss/lib/default.js"),a=s("./node_modules/xss/lib/parser.js"),n=s("./node_modules/xss/lib/xss.js");function o(t,e){return new n(e).process(t)}for(var r in(e=t.exports=o).filterXSS=o,e.FilterXSS=n,i)e[r]=i[r];for(var r in a)e[r]=a[r];"undefined"!=typeof window&&(window.filterXSS=t.exports),"undefined"!=typeof self&&"undefined"!=typeof DedicatedWorkerGlobalScope&&self instanceof DedicatedWorkerGlobalScope&&(self.filterXSS=t.exports)},"./node_modules/xss/lib/parser.js":function(t,e,s){var i=s("./node_modules/xss/lib/util.js");function a(t){var e=i.spaceIndex(t);if(-1===e)var s=t.slice(1,-1);else s=t.slice(1,e+1);return"/"===(s=i.trim(s).toLowerCase()).slice(0,1)&&(s=s.slice(1)),"/"===s.slice(-1)&&(s=s.slice(0,-1)),s}function n(t){return"</"===t.slice(0,2)}var o=/[^a-zA-Z0-9_:\.\-]/gim;function r(t,e){for(;e<t.length;e++){var s=t[e];if(" "!==s)return"="===s?e:-1}}function l(t,e){for(;e>0;e--){var s=t[e];if(" "!==s)return"="===s?e:-1}}function c(t){return function(t){return'"'===t[0]&&'"'===t[t.length-1]||"'"===t[0]&&"'"===t[t.length-1]}(t)?t.substr(1,t.length-2):t}e.parseTag=function(t,e,s){var i="",o=0,r=!1,l=!1,c=0,u=t.length,d="",_="";for(c=0;c<u;c++){var m=t.charAt(c);if(!1===r){if("<"===m){r=c;continue}}else if(!1===l){if("<"===m){i+=s(t.slice(o,c)),r=c,o=c;continue}if(">"===m){i+=s(t.slice(o,r)),d=a(_=t.slice(r,c+1)),i+=e(r,i.length,d,_,n(_)),o=c+1,r=!1;continue}if(('"'===m||"'"===m)&&"="===t.charAt(c-1)){l=m;continue}}else if(m===l){l=!1;continue}}return o<t.length&&(i+=s(t.substr(o))),i},e.parseAttr=function(t,e){var s=0,a=[],n=!1,u=t.length;function d(t,s){if(!((t=(t=i.trim(t)).replace(o,"").toLowerCase()).length<1)){var n=e(t,s||"");n&&a.push(n)}}for(var _=0;_<u;_++){var m,h=t.charAt(_);if(!1!==n||"="!==h)if(!1===n||_!==s||'"'!==h&&"'"!==h||"="!==t.charAt(_-1))if(/\s|\n|\t/.test(h)){if(t=t.replace(/\s|\n|\t/g," "),!1===n){if(-1===(m=r(t,_))){d(i.trim(t.slice(s,_))),n=!1,s=_+1;continue}_=m-1;continue}if(-1===(m=l(t,_-1))){d(n,c(i.trim(t.slice(s,_)))),n=!1,s=_+1;continue}}else;else{if(-1===(m=t.indexOf(h,_+1)))break;d(n,i.trim(t.slice(s+1,m))),n=!1,s=(_=m)+1}else n=t.slice(s,_),s=_+1}return s<t.length&&(!1===n?d(t.slice(s)):d(n,c(i.trim(t.slice(s))))),i.trim(a.join(" "))}},"./node_modules/xss/lib/util.js":function(t,e){t.exports={indexOf:function(t,e){var s,i;if(Array.prototype.indexOf)return t.indexOf(e);for(s=0,i=t.length;s<i;s++)if(t[s]===e)return s;return-1},forEach:function(t,e,s){var i,a;if(Array.prototype.forEach)return t.forEach(e,s);for(i=0,a=t.length;i<a;i++)e.call(s,t[i],i,t)},trim:function(t){return String.prototype.trim?t.trim():t.replace(/(^\s*)|(\s*$)/g,"")},spaceIndex:function(t){var e=/\s|\n|\t/.exec(t);return e?e.index:-1}}},"./node_modules/xss/lib/xss.js":function(t,e,s){var i=s("./node_modules/cssfilter/lib/index.js").FilterCSS,a=s("./node_modules/xss/lib/default.js"),n=s("./node_modules/xss/lib/parser.js"),o=n.parseTag,r=n.parseAttr,l=s("./node_modules/xss/lib/util.js");function c(t){return null==t}function u(t){(t=function(t){var e={};for(var s in t)e[s]=t[s];return e}(t||{})).stripIgnoreTag&&(t.onIgnoreTag&&console.error('Notes: cannot use these two options "stripIgnoreTag" and "onIgnoreTag" at the same time'),t.onIgnoreTag=a.onIgnoreTagStripAll),t.whiteList=t.whiteList||a.whiteList,t.onTag=t.onTag||a.onTag,t.onTagAttr=t.onTagAttr||a.onTagAttr,t.onIgnoreTag=t.onIgnoreTag||a.onIgnoreTag,t.onIgnoreTagAttr=t.onIgnoreTagAttr||a.onIgnoreTagAttr,t.safeAttrValue=t.safeAttrValue||a.safeAttrValue,t.escapeHtml=t.escapeHtml||a.escapeHtml,this.options=t,!1===t.css?this.cssFilter=!1:(t.css=t.css||{},this.cssFilter=new i(t.css))}u.prototype.process=function(t){if(!(t=(t=t||"").toString()))return"";var e=this.options,s=e.whiteList,i=e.onTag,n=e.onIgnoreTag,u=e.onTagAttr,d=e.onIgnoreTagAttr,_=e.safeAttrValue,m=e.escapeHtml,h=this.cssFilter;e.stripBlankChar&&(t=a.stripBlankChar(t)),e.allowCommentTag||(t=a.stripCommentTag(t));var p=!1;if(e.stripIgnoreTagBody){p=a.StripTagBody(e.stripIgnoreTagBody,n);n=p.onIgnoreTag}var f=o(t,(function(t,e,a,o,p){var f,v={sourcePosition:t,position:e,isClosing:p,isWhite:s.hasOwnProperty(a)};if(!c(f=i(a,o,v)))return f;if(v.isWhite){if(v.isClosing)return"</"+a+">";var g=function(t){var e=l.spaceIndex(t);if(-1===e)return{html:"",closing:"/"===t[t.length-2]};var s="/"===(t=l.trim(t.slice(e+1,-1)))[t.length-1];return s&&(t=l.trim(t.slice(0,-1))),{html:t,closing:s}}(o),b=s[a],y=r(g.html,(function(t,e){var s,i=-1!==l.indexOf(b,t);return c(s=u(a,t,e,i))?i?(e=_(a,t,e,h))?t+'="'+e+'"':t:c(s=d(a,t,e,i))?void 0:s:s}));o="<"+a;return y&&(o+=" "+y),g.closing&&(o+=" /"),o+=">"}return c(f=n(a,o,v))?m(o):f}),m);return p&&(f=p.remove(f)),f},t.exports=u},"./src/component/doc-link.vue":function(t,e,s){"use strict";var i={mixins:[s("./src/helper/base_hepler.js").a],name:"doc-link",props:["link"],data:function(){return{whitelabel:defender.whitelabel}}},a=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),n=Object(a.a)(i,(function(){var t=this.$createElement,e=this._self._c||t;return!1===this.whitelabel.hide_doc_link?e("div",{staticClass:"sui-actions-right"},[e("a",{staticClass:"sui-button sui-button-ghost",attrs:{href:this.link,target:"_blank"}},[e("i",{staticClass:"sui-icon-academy"}),this._v(" "+this._s(this.__("View Documentation"))+"\n ")])]):this._e()}),[],!1,null,null,null);e.a=n.exports},"./src/component/footer.vue":function(t,e,s){"use strict";var i={data:function(){return{whitelabel:defender.whitelabel,is_free:defender.is_free}}},a=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),n=Object(a.a)(i,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",[!0===t.whitelabel.change_footer?s("div",{staticClass:"sui-footer"},[t._v("\n "+t._s(t.whitelabel.footer_text)+"\n ")]):s("div",{staticClass:"sui-footer"},[t._v("Made with "),s("i",{staticClass:"sui-icon-heart"}),t._v(" by WPMU DEV")]),t._v(" "),!1===t.whitelabel.hide_doc_link?s("div",[t.is_free?s("ul",{staticClass:"sui-footer-nav"},[t._m(0),t._v(" "),t._m(1),t._v(" "),t._m(2),t._v(" "),t._m(3),t._v(" "),t._m(4),t._v(" "),t._m(5),t._v(" "),t._m(6),t._v(" "),t._m(7)]):s("ul",{staticClass:"sui-footer-nav"},[t._m(8),t._v(" "),t._m(9),t._v(" "),t._m(10),t._v(" "),t._m(11),t._v(" "),t._m(12),t._v(" "),t._m(13),t._v(" "),t._m(14),t._v(" "),t._m(15)]),t._v(" "),t._m(16)]):t._e()])}),[function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://profiles.wordpress.org/wpmudev#content-plugins",target:"_blank"}},[this._v("Free\n Plugins")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/features/",target:"_blank"}},[this._v("Membership")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/roadmap/",target:"_blank"}},[this._v("Roadmap")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://wordpress.org/support/plugin/plugin-name",target:"_blank"}},[this._v("Support")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/docs/",target:"_blank"}},[this._v("Docs")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/hub/",target:"_blank"}},[this._v("The Hub")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/terms-of-service/",target:"_blank"}},[this._v("Terms of Service")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://incsub.com/privacy-policy/",target:"_blank"}},[this._v("Privacy Policy")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/hub/",target:"_blank"}},[this._v("The Hub")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/projects/category/plugins/",target:"_blank"}},[this._v("Plugins")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/roadmap/",target:"_blank"}},[this._v("Roadmap")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/hub/support/",target:"_blank"}},[this._v("Support")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/docs/",target:"_blank"}},[this._v("Docs")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/hub/community/",target:"_blank"}},[this._v("Community")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://premium.wpmudev.org/terms-of-service/",target:"_blank"}},[this._v("Terms of Service")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[e("a",{attrs:{href:"https://incsub.com/privacy-policy/",target:"_blank"}},[this._v("Privacy Policy")])])},function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("ul",{staticClass:"sui-footer-social"},[s("li",[s("a",{attrs:{href:"https://www.facebook.com/wpmudev",target:"_blank"}},[s("i",{staticClass:"sui-icon-social-facebook",attrs:{"aria-hidden":"true"}}),t._v(" "),s("span",{staticClass:"sui-screen-reader-text"},[t._v("Facebook")])])]),t._v(" "),s("li",[s("a",{attrs:{href:"https://twitter.com/wpmudev",target:"_blank"}},[s("i",{staticClass:"sui-icon-social-twitter",attrs:{"aria-hidden":"true"}})]),t._v(" "),s("span",{staticClass:"sui-screen-reader-text"},[t._v("Twitter")])]),t._v(" "),s("li",[s("a",{attrs:{href:"https://www.instagram.com/wpmu_dev/",target:"_blank"}},[s("i",{staticClass:"sui-icon-instagram",attrs:{"aria-hidden":"true"}}),t._v(" "),s("span",{staticClass:"sui-screen-reader-text"},[t._v("Instagram")])])])])}],!1,null,null,null);e.a=n.exports},"./src/component/overlay.vue":function(t,e,s){"use strict";var i={name:"overlay"},a=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),n=Object(a.a)(i,(function(){var t=this.$createElement;this._self._c;return this._m(0)}),[function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"wd-overlay"},[e("i",{staticClass:"sui-icon-loader sui-loading",attrs:{"aria-hidden":"true"}})])}],!1,null,null,null);e.a=n.exports},"./src/component/pagination.vue":function(t,e,s){"use strict";var i={props:{value:{type:Number},pageCount:{type:Number,required:!0},forcePage:{type:Number},clickHandler:{type:Function,default:function(){}},pageRange:{type:Number,default:3},marginPages:{type:Number,default:1},prevText:{type:String,default:"Prev"},nextText:{type:String,default:"Next"},breakViewText:{type:String,default:"…"},containerClass:{type:String},pageClass:{type:String},pageLinkClass:{type:String},prevClass:{type:String},prevLinkClass:{type:String},nextClass:{type:String},nextLinkClass:{type:String},breakViewClass:{type:String},breakViewLinkClass:{type:String},activeClass:{type:String,default:"active"},disabledClass:{type:String,default:"disabled"},noLiSurround:{type:Boolean,default:!1},firstLastButton:{type:Boolean,default:!1},firstButtonText:{type:String,default:"First"},lastButtonText:{type:String,default:"Last"},hidePrevNext:{type:Boolean,default:!1}},beforeUpdate:function(){void 0!==this.forcePage&&this.forcePage!==this.selected&&(this.selected=this.forcePage)},computed:{selected:{get:function(){return this.value||this.innerValue},set:function(t){this.innerValue=t}},pages:function(){var t=this,e={};if(this.pageCount<=this.pageRange)for(var s=0;s<this.pageCount;s++){var i={index:s,content:s+1,selected:s===this.selected-1};e[s]=i}else{for(var a=Math.floor(this.pageRange/2),n=function(s){var i={index:s,content:s+1,selected:s===t.selected-1};e[s]=i},o=function(t){e[t]={disabled:!0,breakView:!0}},r=0;r<this.marginPages;r++)n(r);var l=0;this.selected-a>0&&(l=this.selected-1-a);var c=l+this.pageRange-1;c>=this.pageCount&&(l=(c=this.pageCount-1)-this.pageRange+1);for(var u=l;u<=c&&u<=this.pageCount-1;u++)n(u);l>this.marginPages&&o(l-1),c+1<this.pageCount-this.marginPages&&o(c+1);for(var d=this.pageCount-1;d>=this.pageCount-this.marginPages;d--)n(d)}return e}},data:function(){return{innerValue:1}},methods:{handlePageSelected:function(t){this.selected!==t&&(this.innerValue=t,this.$emit("input",t),this.clickHandler(t))},prevPage:function(){this.selected<=1||this.handlePageSelected(this.selected-1)},nextPage:function(){this.selected>=this.pageCount||this.handlePageSelected(this.selected+1)},firstPageSelected:function(){return 1===this.selected},lastPageSelected:function(){return this.selected===this.pageCount||0===this.pageCount},selectFirstPage:function(){this.selected<=1||this.handlePageSelected(1)},selectLastPage:function(){this.selected>=this.pageCount||this.handlePageSelected(this.pageCount)}}},a=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),n=Object(a.a)(i,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return t.noLiSurround?s("div",{class:t.containerClass},[t.firstLastButton?s("a",{class:[t.pageLinkClass,t.firstPageSelected()?t.disabledClass:""],attrs:{tabindex:"0"},domProps:{innerHTML:t._s(t.firstButtonText)},on:{click:function(e){return t.selectFirstPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.selectFirstPage()}}}):t._e(),t._v(" "),t.firstPageSelected()&&t.hidePrevNext?t._e():s("a",{class:[t.prevLinkClass,t.firstPageSelected()?t.disabledClass:""],attrs:{tabindex:"0"},domProps:{innerHTML:t._s(t.prevText)},on:{click:function(e){return t.prevPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.prevPage()}}}),t._v(" "),t._l(t.pages,(function(e){return[e.breakView?s("a",{class:[t.pageLinkClass,t.breakViewLinkClass,e.disabled?t.disabledClass:""],attrs:{tabindex:"0"}},[t._t("breakViewContent",[t._v(t._s(t.breakViewText))])],2):e.disabled?s("a",{class:[t.pageLinkClass,e.selected?t.activeClass:"",t.disabledClass],attrs:{tabindex:"0"}},[t._v(t._s(e.content))]):s("a",{class:[t.pageLinkClass,e.selected?t.activeClass:""],attrs:{tabindex:"0"},on:{click:function(s){return t.handlePageSelected(e.index+1)},keyup:function(s){return!s.type.indexOf("key")&&t._k(s.keyCode,"enter",13,s.key,"Enter")?null:t.handlePageSelected(e.index+1)}}},[t._v(t._s(e.content))])]})),t._v(" "),t.lastPageSelected()&&t.hidePrevNext?t._e():s("a",{class:[t.nextLinkClass,t.lastPageSelected()?t.disabledClass:""],attrs:{tabindex:"0"},domProps:{innerHTML:t._s(t.nextText)},on:{click:function(e){return t.nextPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.nextPage()}}}),t._v(" "),t.firstLastButton?s("a",{class:[t.pageLinkClass,t.lastPageSelected()?t.disabledClass:""],attrs:{tabindex:"0"},domProps:{innerHTML:t._s(t.lastButtonText)},on:{click:function(e){return t.selectLastPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.selectLastPage()}}}):t._e()],2):s("ul",{class:t.containerClass},[t.firstLastButton?s("li",{class:[t.pageClass,t.firstPageSelected()?t.disabledClass:""]},[s("a",{class:t.pageLinkClass,attrs:{tabindex:t.firstPageSelected()?-1:0},domProps:{innerHTML:t._s(t.firstButtonText)},on:{click:function(e){return t.selectFirstPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.selectFirstPage()}}})]):t._e(),t._v(" "),t.firstPageSelected()&&t.hidePrevNext?t._e():s("li",{class:[t.prevClass,t.firstPageSelected()?t.disabledClass:""]},[s("a",{class:t.prevLinkClass,attrs:{tabindex:t.firstPageSelected()?-1:0},domProps:{innerHTML:t._s(t.prevText)},on:{click:function(e){return t.prevPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.prevPage()}}})]),t._v(" "),t._l(t.pages,(function(e){return s("li",{class:[t.pageClass,e.selected?t.activeClass:"",e.disabled?t.disabledClass:"",e.breakView?t.breakViewClass:""]},[e.breakView?s("a",{class:[t.pageLinkClass,t.breakViewLinkClass],attrs:{tabindex:"0"}},[t._t("breakViewContent",[t._v(t._s(t.breakViewText))])],2):e.disabled?s("a",{class:t.pageLinkClass,attrs:{tabindex:"0"}},[t._v(t._s(e.content))]):s("a",{class:t.pageLinkClass,attrs:{disabled:e.selected,tabindex:"0"},on:{click:function(s){return t.handlePageSelected(e.index+1)},keyup:function(s){return!s.type.indexOf("key")&&t._k(s.keyCode,"enter",13,s.key,"Enter")?null:t.handlePageSelected(e.index+1)}}},[t._v(t._s(e.content))])])})),t._v(" "),t.lastPageSelected()&&t.hidePrevNext?t._e():s("li",{class:[t.nextClass,t.lastPageSelected()?t.disabledClass:""]},[s("a",{class:t.nextLinkClass,attrs:{tabindex:t.lastPageSelected()?-1:0},domProps:{innerHTML:t._s(t.nextText)},on:{click:function(e){return t.nextPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.nextPage()}}})]),t._v(" "),t.firstLastButton?s("li",{class:[t.pageClass,t.lastPageSelected()?t.disabledClass:""]},[s("a",{class:t.pageLinkClass,attrs:{tabindex:t.lastPageSelected()?-1:0},domProps:{innerHTML:t._s(t.lastButtonText)},on:{click:function(e){return t.selectLastPage()},keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.selectLastPage()}}})]):t._e()],2)}),[],!1,null,null,null);e.a=n.exports},"./src/component/recipients.vue":function(t,e,s){"use strict";var i={mixins:[s("./src/helper/base_hepler.js").a],props:["recipients","id"],data:function(){return{first_name:"",email:"",observers:[],can_add:!1,saving_warning:!1,validate:{email:""}}},created:function(){this.observers=this.recipients},watch:{email:function(){if(this.validateEmail(this.email)){var t=!0,e=this;this.observers.forEach((function(s,i){if(s.email===e.email)return t=!1,void(e.validate.email=e.__("This email address is already in use"))})),this.can_add=t,!0===t&&(this.validate.email="")}else this.can_add=!1,this.validate.email=this.__("Invalid email address")},observers:function(){0===this.observers.length?this.saving_warning=!0:this.saving_warning=!1,void 0!==this.event&&this.$emit("update:recipients",this.observers)}},methods:{addRecipient:function(){this.observers.push({first_name:this.first_name,email:this.email}),jQuery.each(SUI.dialogs,(function(t,e){e.hide()})),this.first_name="",this.email=""},removeRecipient:function(t){this.observers.splice(t,1)},validateEmail:function(t){return/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(String(t).toLowerCase())}}},a=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),n=Object(a.a)(i,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",[s("div",{directives:[{name:"show",rawName:"v-show",value:t.saving_warning,expression:"saving_warning"}],staticClass:"sui-notice sui-notice-warning"},[s("p",[t._v("\n\t\t\t"+t._s(t.__("You've removed all recipients. If you save without a recipient, we'll automatically turn of reports"))+"\n\t\t")])]),t._v(" "),s("div",{staticClass:"sui-recipients"},[t._l(t.observers,(function(e,i){return s("div",{staticClass:"sui-recipient"},[s("span",{staticClass:"sui-recipient-name"},[t._v(t._s(e.first_name))]),t._v(" "),s("span",{staticClass:"sui-recipient-email"},[t._v(t._s(e.email))]),t._v(" "),s("button",{staticClass:"sui-button-icon",attrs:{type:"button"},on:{click:function(e){return t.removeRecipient(i)}}},[s("i",{staticClass:"sui-icon-trash",attrs:{"aria-hidden":"true"}})])])})),t._v(" "),s("button",{staticClass:"sui-button sui-button-ghost add-recipient",attrs:{"data-a11y-dialog-show":t.id,type:"button"}},[s("i",{staticClass:"sui-icon-plus",attrs:{"aria-hidden":"true"}}),t._v(" "+t._s(t.__("Add Recipient"))+"\n\t\t")])],2),t._v(" "),s("div",{staticClass:"sui-dialog sui-dialog-sm",attrs:{"aria-hidden":"true",tabindex:"-1",id:t.id}},[s("div",{staticClass:"sui-dialog-overlay"}),t._v(" "),s("div",{staticClass:"sui-dialog-content",attrs:{"aria-labelledby":"dialogTitle","aria-describedby":"dialogDescription",role:"dialog"}},[s("div",{staticClass:"sui-box",attrs:{role:"document"}},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n\t\t\t\t\t\t"+t._s(t.__("Add Recipient"))+"\n\t\t\t\t\t")]),t._v(" "),t._m(0)]),t._v(" "),s("div",{staticClass:"sui-box-body"},[s("p",[t._v("\n\t\t\t\t\t\t"+t._s(t.__("Add as many recipients as you like, they will receive email reports as per the schedule you set."))+"\n\t\t\t\t\t")]),t._v(" "),s("div",{staticClass:"sui-form-field"},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("First name")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.first_name,expression:"first_name"}],staticClass:"sui-form-control recipient_name",attrs:{type:"text"},domProps:{value:t.first_name},on:{input:function(e){e.target.composing||(t.first_name=e.target.value)}}})]),t._v(" "),s("div",{staticClass:"sui-form-field",class:{"sui-form-field-error":t.validate.email.length>0}},[s("label",{staticClass:"sui-label"},[t._v(t._s(t.__("Email")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.email,expression:"email"}],staticClass:"sui-form-control recipient_email",attrs:{type:"text"},domProps:{value:t.email},on:{input:function(e){e.target.composing||(t.email=e.target.value)}}}),t._v(" "),s("span",{directives:[{name:"show",rawName:"v-show",value:t.validate.email.length>0,expression:"validate.email.length > 0"}],staticClass:"sui-error-message",domProps:{textContent:t._s(this.validate.email)}})])]),t._v(" "),s("div",{staticClass:"sui-box-footer"},[s("button",{staticClass:"sui-button sui-button-ghost",attrs:{type:"button","data-a11y-dialog-hide":"recipient-dialog"}},[t._v("\n\t\t\t\t\t\t"+t._s(t.__("Cancel"))+"\n\t\t\t\t\t")]),t._v(" "),s("button",{staticClass:"sui-modal-close sui-button recipient_save",attrs:{type:"button",disabled:!1===t.can_add},on:{click:t.addRecipient}},[t._v(t._s(t.__("Add"))+"\n\t\t\t\t\t")])])])])])])}),[function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"sui-actions-right"},[e("button",{staticClass:"sui-dialog-close",attrs:{type:"button","data-a11y-dialog-hide":"","aria-label":"Close this dialog window"}})])}],!1,null,null,null);e.a=n.exports},"./src/component/submit-button.vue":function(t,e,s){"use strict";var i={name:"submit-button",props:["id","state","text","css-class","type"],computed:{getClass:function(){return"sui-button "+this.cssClass}}},a=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),n=Object(a.a)(i,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("button",{staticClass:"sui-button",class:[t.getClass,{"sui-button-onload":t.state.on_saving}],attrs:{id:t.id,type:t.type,disabled:t.state.on_saving},on:{click:function(e){return t.$emit("click")}}},[s("span",{staticClass:"sui-loading-text"},[t._t("default")],2),t._v(" "),s("i",{staticClass:"sui-icon-loader sui-loading",attrs:{"aria-hidden":"true"}})])}),[],!1,null,null,null);e.a=n.exports},"./src/component/summary-box.vue":function(t,e,s){"use strict";var i={mixins:[s("./src/helper/base_hepler.js").a],props:["css-class"],name:"summary-box",data:function(){return{whitelabel:defender.whitelabel}},computed:{summary_class:function(){return{"sui-unbranded":!0===this.whitelabel.hide_branding&&0===this.whitelabel.hero_image.length,"sui-rebranded":!0===this.whitelabel.hide_branding&&this.whitelabel.hero_image.length>0}},css_class:function(){return this.cssClass},rebrand_img:function(){if(this.whitelabel.hero_image.length>0)return{"background-image":"url('"+this.whitelabel.hero_image+"')"}}}},a=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),n=Object(a.a)(i,(function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"sui-box sui-summary",class:[this.summary_class,this.css_class],style:this.rebrand_img},[e("div",{staticClass:"sui-summary-image-space",attrs:{"aria-hidden":"true"}}),this._v(" "),this._t("default")],2)}),[],!1,null,null,null);e.a=n.exports},"./src/helper/base_hepler.js":function(t,e,s){"use strict";var i=s("./node_modules/xss/lib/index.js"),a=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var s=[],i=!0,a=!1,n=void 0;try{for(var o,r=t[Symbol.iterator]();!(i=(o=r.next()).done)&&(s.push(o.value),!e||s.length!==e);i=!0);}catch(t){a=!0,n=t}finally{try{!i&&r.return&&r.return()}finally{if(a)throw n}}return s}(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")},n=wp.i18n,o={whiteList:{a:["href","title","target"],span:["class"],strong:["*"]},safeAttrValue:function(t,e,s,a){return"a"===t&&"href"===e&&"%s"===s?"%s":Object(i.safeAttrValue)(t,e,s,a)}},r=new i.FilterXSS(o),l=[];e.a={methods:{__:function(t){var e=n.__(t,"wpdef");return r.process(e)},xss:function(t){return r.process(t)},vsprintf:function(t){return n.sprintf.apply(null,arguments)},siteUrl:function(t){return void 0!==t?defender.site_url+t:defender.site_url},adminUrl:function(t){return void 0!==t?defender.admin_url+t:defender.admin_url},assetUrl:function(t){return defender.defender_url+t},maybeHighContrast:function(){return{"sui-color-accessible":!0===defender.misc.high_contrast}},maybeHideBranding:function(){return defender.whitelabel.hide_branding},campaign_url:function(t){return"https://premium.wpmudev.org/project/wp-defender/?utm_source=defender&utm_medium=plugin&utm_campaign="+t},httpRequest:function(t,e,s,i,a){var n=this;void 0===a&&(this.state.on_saving=!0);var o=ajaxurl+"?action="+this.endpoints[e]+"&_wpnonce="+this.nonces[e],r=jQuery.ajax({url:o,method:t,data:s,success:function(t){var e=t.data;n.state.on_saving=!1,void 0!==e&&void 0!==e.message&&(t.success?Defender.showNotification("success",e.message):Defender.showNotification("error",e.message)),void 0!==i&&i(t)}});l.push(r)},httpGetRequest:function(t,e,s,i){this.httpRequest("get",t,e,s,i)},httpPostRequest:function(t,e,s,i){this.httpRequest("post",t,e,s,i)},abortAllRequests:function(){for(var t=0;t<l.length;t++)l[t].abort()},getQueryStringParams:function(t){return t?(/^[?#]/.test(t)?t.slice(1):t).split("&").reduce((function(t,e){var s=e.split("="),i=a(s,2),n=i[0],o=i[1];return t[n]=o?decodeURIComponent(o.replace(/\+/g," ")):"",t}),{}):{}},rebindSUI:function(){jQuery("select:not([multiple])").each((function(){SUI.suiSelect(this)})),jQuery(".sui-accordion").each((function(){SUI.suiAccordion(this)}));var t=jQuery(".sui-wrap");SUI.dialogs={},jQuery(".sui-dialog").each((function(){SUI.dialogs[this.id]=new A11yDialog(this,t)}))}}}},"./src/ip-lockout.js":function(t,e,s){"use strict";s.r(e);var i=s("vue"),a=s.n(i),n=s("./src/helper/base_hepler.js"),o={mixins:[n.a],name:"ip-lockout",props:["view"],data:function(){return{model:iplockout.model.ip_lockout,summary_data:iplockout.summaryData,state:{on_saving:!1},nonces:iplockout.nonces,endpoints:iplockout.endpoints,misc:iplockout.misc}},methods:{toggle:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"login_protection",s=this,i={};i[e]=t,this.httpPostRequest("updateSettings",{data:JSON.stringify(i)},(function(){s.model[e]=t,!0===t&&s.$nextTick((function(){s.rebindSUI()}))}))},updateSettings:function(){var t=this.model;this.httpPostRequest("updateSettings",{data:JSON.stringify(t)})}},computed:{notification:function(){return 0===this.summary_data.ip.day?this.__("Login protection is enabled. There are no lockouts logged yet."):this.vsprintf(this.__('There have been %s lockouts in the last 24 hours. <a href="%s"><strong>View log</strong></a>.'),this.summary_data.ip.day,this.adminUrl("admin.php?page=wdf-ip-lockout&view=logs"))},banned_username:function(){return this.vsprintf(this.__("We recommend adding the usernames <strong>admin</strong>, <strong>administrator</strong> and your hostname <strong>%s</strong> as these are common for bots to try logging in with. One username per line"),this.misc.host)},demo_link:function(){return this.vsprintf(this.__('This message will be displayed across your website during the lockout period. See a quick preview <a href="%s">here</a>.'),this.siteUrl("?def-lockout-demo=1&type=demo"))}},mounted:function(){var t=this;jQuery(".jquery-select").change((function(){var e=jQuery(this).val(),s=jQuery(this).attr("name");t.model[s]=e}))}},r=s("./node_modules/vue-loader/lib/runtime/componentNormalizer.js"),l=Object(r.a)(o,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return!1===t.model.login_protection||0===t.model.login_protection?s("div",{staticClass:"sui-box",attrs:{"data-tab":"login_lockout"}},[s("div",{staticClass:"sui-box-header"},[s("h3",{staticClass:"sui-box-title"},[t._v("\n "+t._s(t.__("Login Protection"))+"\n ")])]),t._v(" "),s("div",{staticClass:"sui-message"},[t.maybeHideBranding()?t._e():s("img",{staticClass:"sui-image",attrs:{src:t.assetUrl("assets/img/lockout-man.svg")}}),t._v(" "),s("div"