GDPR - Version 2.1.1

Version Description

  • Updating dependencies.
  • Fixing some code standards errors.
  • Fix tooltip styles affecting other parts of the admin panel.
  • Fixed a W3C validation error.
  • Fixed a "Headers Already Sent" error while doing cron jobs.
  • Added more accents to the array of replacements
  • Made possible to sort by consent in the admin users page.
  • Added "move up" and "move down" buttons for each cookies category.
  • Detect current language code and load correct recaptcha based on it.
  • Moved partials to templates so they can be overwritten by themes.
  • Fix issue where some modals would not close.
  • Fix issue where tapping the X on modals would jump.
Download this release

Release Info

Developer fclaussen
Plugin Icon 128x128 GDPR
Version 2.1.1
Comparing to
See all releases

Code changes from version 2.1.0 to 2.1.1

Files changed (61) hide show
  1. .eslintrc.json +40 -0
  2. README.md +164 -0
  3. README.txt +21 -19
  4. admin/class-gdpr-admin.php +99 -76
  5. admin/class-gdpr-requests-admin.php +32 -29
  6. admin/class-gdpr-telemetry.php +0 -522
  7. admin/partials/requests.php +5 -1
  8. admin/partials/settings.php +42 -43
  9. admin/partials/templates/tmpl-consents.php +6 -6
  10. admin/partials/templates/tmpl-cookies.php +11 -11
  11. admin/partials/templates/tmpl-tools.php +1 -1
  12. admin/partials/tools.php +4 -4
  13. assets/css/gdpr-admin.css +0 -1
  14. assets/css/gdpr-public.css +0 -1
  15. assets/js/gdpr-admin.js +0 -1
  16. assets/js/gdpr-public.js +0 -1
  17. changelog.txt +14 -2
  18. composer.json +7 -0
  19. composer.lock +3217 -0
  20. dist/css/admin.css +1 -0
  21. dist/css/public.css +1 -0
  22. dist/js/admin.js +1 -0
  23. dist/js/public.js +8 -0
  24. gdpr.php +3 -3
  25. gulpfile.js +100 -0
  26. includes/class-gdpr-activator.php +3 -4
  27. includes/class-gdpr-audit-log.php +11 -3
  28. includes/class-gdpr-deactivator.php +0 -2
  29. includes/class-gdpr-email.php +5 -60
  30. includes/class-gdpr-help.php +1 -26
  31. includes/class-gdpr-requests.php +25 -5
  32. includes/class-gdpr-templates.php +62 -0
  33. includes/class-gdpr.php +62 -44
  34. includes/compatibility-functions.php +12 -0
  35. includes/helper-functions.php +11 -7
  36. languages/gdpr.pot +528 -577
  37. package-lock.json +12014 -0
  38. package.json +57 -0
  39. public/class-gdpr-public.php +85 -34
  40. public/class-gdpr-requests-public.php +21 -15
  41. public/partials/confirmation-screens.php +15 -15
  42. templates/email/complaint-request.php +3 -2
  43. templates/email/complaint-resolved.php +3 -2
  44. templates/email/data-breach-notification.php +3 -2
  45. templates/email/data-breach-request.php +3 -2
  46. templates/email/delete-request.php +3 -2
  47. templates/email/delete-resolved.php +3 -2
  48. templates/email/export-data-request.php +3 -2
  49. templates/email/new-request.php +3 -2
  50. templates/email/rectify-request.php +3 -2
  51. templates/email/rectify-resolved.php +3 -2
  52. {public/partials → templates/forms}/complaint-form.php +1 -1
  53. {public/partials → templates/forms}/delete-form.php +1 -1
  54. {public/partials → templates/forms}/export-data-form.php +1 -1
  55. templates/forms/index.php +1 -0
  56. {public/partials → templates/forms}/rectify-form.php +1 -1
  57. templates/index.php +1 -0
  58. {public/partials → templates}/privacy-bar.php +4 -4
  59. {public/partials → templates}/privacy-preferences-modal.php +36 -36
  60. {public/partials → templates}/reconsent-bar.php +1 -1
  61. templates/reconsent-modal.php +83 -0
.eslintrc.json ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "extends": "wordpress",
3
+ "parserOptions": {
4
+ "ecmaVersion": 6,
5
+ "ecmaFeatures": {
6
+ "jsx": true,
7
+ "arrowFunctions": true,
8
+ "blockBindings": true,
9
+ "classes": true,
10
+ "defaultParams": true,
11
+ "modules": true
12
+ },
13
+ "sourceType": "module"
14
+ },
15
+ "env": {
16
+ "es6": true,
17
+ "browser": true,
18
+ "node": true,
19
+ "commonjs": true,
20
+ "jquery": true
21
+ },
22
+ "rules": {
23
+ "camelcase": [1],
24
+ "space-in-parens": [1, "always"],
25
+ "no-trailing-spaces": [1],
26
+ "spaced-comment": [0],
27
+ "padded-blocks": [0],
28
+ "prefer-template": [0],
29
+ "max-len": [0],
30
+ "no-else-return": [0],
31
+ "func-names": [0],
32
+ "object-shorthand": [0],
33
+ "indent": ["error", "tab"],
34
+ "space-before-function-paren": 0,
35
+ "no-tabs": 0,
36
+ "prefer-destructuring": 0,
37
+ "no-undef": 0,
38
+ "no-param-reassign": 0
39
+ }
40
+ }
README.md ADDED
@@ -0,0 +1,164 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # GDPR
2
+
3
+ [![license](https://img.shields.io/github/license/trewknowledge/gdpr.svg?style=flat)](https://www.gnu.org/licenses/old-licenses/gpl-2.0.html)
4
+ ![Tested up to](https://img.shields.io/wordpress/v/gdpr.svg)
5
+ ![Minimum PHP version](https://img.shields.io/badge/PHP-%5E5.6-blue.svg)
6
+ [![WordPress plugin](https://img.shields.io/wordpress/plugin/dt/gdpr.svg)](https://wordpress.org/plugins/gdpr/)
7
+ [![WordPress plugin rating](https://img.shields.io/wordpress/plugin/r/gdpr.svg)](https://wordpress.org/support/plugin/gdpr/reviews/#new-post)
8
+ ![Translations](https://img.shields.io/badge/dynamic/json.svg?label=Translations&url=https%3A%2F%2Fapi.wordpress.org%2Ftranslations%2Fplugins%2F1.0%2F%3Fslug%3Dgdpr&query=%24.translations.length&colorB=%23ff69b4)
9
+
10
+
11
+
12
+ This plugin is meant to assist a Controller, Data Processor, and Data Protection Officer (DPO) with efforts to meet the obligations and rights enacted under the GDPR.
13
+
14
+ ## Documentation
15
+ [https://github.com/trewknowledge/GDPR/wiki/](https://github.com/trewknowledge/GDPR/wiki/)
16
+
17
+ ## Installation
18
+ 1. Upload the plugin to the `/wp-content/plugins/` directory or install directly from the [https://wordpress.org/plugins/gdpr](WordPress Plugin Repository).
19
+ 1. Activate the plugin through the 'Plugins' menu in WordPress
20
+ 1. Fill out all sections of the settings page.
21
+
22
+ ## Shortcodes & helper functions
23
+ [https://github.com/trewknowledge/GDPR/wiki/Functions-&-Shortcodes](https://github.com/trewknowledge/GDPR/wiki/Functions-&-Shortcodes)
24
+
25
+ ## Features
26
+
27
+ * Consent management
28
+ * Privacy Preference management for Cookies with front-end preference UI & banner notifications
29
+ * Privacy Policy page configurations with version control and re-consent management
30
+ * Rights to erasure & deletion of website data with a double opt-in confirmation email
31
+ * Re-assignment of user data on erasure requests & pseudonymization of user website data
32
+ * Data Processor settings and publishing of contact information
33
+ * Right to access data by admin dashboard with email look up and export
34
+ * Right to access data by Data Subject with front-end requests button & double opt-in confirmation email
35
+ * Right to portability & export of data by Admin or Data Subject in XML or JSON formats
36
+ * Encrypted audit logs for the lifetime of Data Subject compliance activity
37
+ * Data Subject Secret Token for two-factor decryption and recovery of data
38
+ * Data breach notification logs and batch email notifications to Data Subjects
39
+ * Telemetry Tracker for visualizing plugins and website data
40
+
41
+ ## Settings
42
+ **General**
43
+ From the Settings options in the dashboard, you can select the Privacy Policy page for tracking and logging consent.
44
+
45
+ On login, the user must consent to the Privacy Policy outlined on the site. If the user does not consent, the user will not be registered or logged in.
46
+
47
+ If the site owner updates the Privacy Policy page content, the change will be logged and flagged to the admin that they must notify users on next login to seek re-consent. Additionally, the warning message can be dismissed in the event of a minor correction or mistake.
48
+
49
+ Additionally, under General Settings the Admin can set the outgoing email limitation which would set the batch notification email limit per hour in the event of a Breach Notification.
50
+
51
+ **Cookie Preference Management**
52
+ Similar to consent management, users can opt in or out of cookies that are being used on the site. There are 3 formats of cookies that can be created which include:
53
+
54
+ * **Always Active:** Cookies that are always active or are required for the site to function.
55
+ * **Toggled:** Cookies that can be activated or blocked based on the user preference
56
+ * **Opt-Out Link:** Cookies that require configuration from a third-party source in order to opt-out
57
+
58
+ Depending on the user preference setting, you can use the `is_allowed_cookie( $cookie )` function to save and set the cookies. The cookie with the user approved cookies can be found at another cookie named `gdpr_approved_cookies`. There's also a helper function called `is_allowed_cookie( $cookie )` that you can use to prevent setting up a cookie.
59
+
60
+ **Consent Management**
61
+
62
+ Consents can be registered on the settings page. They can be optional or not. By default, this plugin comes with a Privacy Policy consent that users need to agree with on registration.
63
+
64
+ For optional consents, there's a wrapper function `have_consent( $consent_id )` to help you display or hide something on the site depending if the user gave consent or not.
65
+
66
+ Consents are logged to the user record for auditing or for access purposes.
67
+
68
+ ## Requests Table & Rights of Data Subject
69
+ **Right to Erasure Requests**
70
+
71
+ 1. The Data Subject is able to submit a request to be erased from the site using a shortcode.
72
+ 1. When a request is made, the Data Subject will receive an email confirmation to confirm the deletion request.
73
+
74
+ 1. After email confirmation, the user request is added to the requests table for review by the Administrator. The Administrator can also add a user manually with an email look up and review.
75
+ 1. If the Data Subject has content published on the site for any post types or comments, they will be added to this table. If they do not have any content, they will receive a confirmation of erasure request and be provided a 6 digit Token for safekeeping after erasure in case of recover data needs.
76
+ 1. The requests table allows the Administrator to reassign any content to another user or delete it.
77
+ 1. In the event of comments, the Data Subject’s content would be made anonymous.
78
+
79
+ 1. Admin can also manually add users to the erasure requests table with a manual email search
80
+
81
+ **Right to Access Data Request & User Data Portability**
82
+
83
+ 1. The Data Subject can place a request to download their data with the shortcode.
84
+ 1. After requesting their data, the user will receive a double opt-in confirmation email then the plugin will generate an XML or JSON file, which will be emailed to them for download with an expiration time of 48 hours.
85
+
86
+ **Right to Rectify & Complaint Requests**
87
+
88
+ 1. The Data Subject can place a request to rectify data or file a complaint with the shortcode.
89
+ 1. After making their request, the user will receive a double opt-in confirmation email and then add them to the table for admin to handle the request.
90
+
91
+ ## Tools
92
+ **Access Data**
93
+
94
+ The Access Data tool allows the Admin to look up a user email and view the data of a particular user. The Admin can download and export the data in a JSON or XML format and provide to the Data Subject if manually requested.
95
+
96
+ NOTE: This method should not be used without the Data Subject confirming their identity.
97
+
98
+ **Audit Log**
99
+
100
+ Everything the Data Subject does from registration, providing consent to the privacy policy, terms of service and other requests are logged and encrypted in a database. Data breach notifications are also logged to all Data Subjects upon confirmation by Controller.
101
+
102
+ 1. Using the Data Subject's email, you can look up and retrieve the user information and display it.
103
+ 1. If the Data Subject has been removed from the site, this encrypted log is deleted from the database and saved as an encrypted file inside the plugin folder.
104
+
105
+ If in the future, the Data Subject makes a complaint or there is a need to recover the data, the user can provide their email address and the 6 digit token they received from the deletion confirmation email to decrypt and retrieve the file.
106
+
107
+ **Data Breach & Notifications**
108
+
109
+ In case of a data breach, the Admin can generate a Data Breach Notification to users by logging the information and confirm the breach through a double opt-in confirmation email. The following information would be recorded in the audit log:
110
+
111
+ 1. Nature of the personal data breach
112
+ 1. Name and contact details of the data protection officer
113
+ 1. Likely consequences of the personal data breach
114
+ 1. Measures were taken or proposed to be taken
115
+
116
+ Once the confirmation of the breach has been confirmed via email, the website will begin a batch email notification process to all users every hour until all users receive the notification.
117
+
118
+ ## Telemetry Tracker
119
+ The Telemetry Tracker feature will display all data that is being sent outside of your server to another destination. It will indicate the plugin or theme responsible, file and line where the data is being sent.
120
+
121
+ WordPress Core and some plugins gather data from your install and send this data to an outside server.
122
+
123
+ WordPress Plugin Repository does not allow plugins to do that, but premium plugins are able to do this because they are not bound by the Plugin repository rules. If you did not explicitly opt-in for this feature you should make a complaint.
124
+
125
+ # Important!
126
+
127
+ Activating this plugin does not guarantee that an organization is successfully meeting its responsibilities and obligations of GDPR. Individual organizations should assess their unique responsibilities and ensure extra measures are taken to meet any obligations required by law and based on a data protection impact assessment (DPIA).
128
+
129
+
130
+ ## Frequently Asked Questions
131
+
132
+ #### What is GDPR
133
+ This Regulation lays down rules relating to the protection of natural persons with regard to the processing of personal data and rules relating to the free movement of personal data.
134
+
135
+ This Regulation protects fundamental rights and freedoms of natural persons and in particular their right to the protection of personal data.
136
+
137
+ The free movement of personal data within the Union shall be neither restricted nor prohibited for reasons connected with the protection of natural persons with regard to the processing of personal data.
138
+
139
+ #### How do Businesses benefit from GDPR?
140
+ * Build stronger customer relationships and trust
141
+ * Improve the brand image of the organization and its brand reputation
142
+ * Improve the governance and responsibility of data
143
+ * Enhance the security and commitment to the privacy of the brand
144
+ * Create value-added competitive advantages
145
+
146
+ #### Who does the GDPR affect?
147
+ The GDPR applies to all EU organisations – whether commercial business, charity or public authority – that collect, store or process EU residents’ personal data, even if they’re not EU citizens.
148
+
149
+ The GDPR applies to all organisations located within the EU, whether you are a commercial business, charity or public authority, institution and collect, store or process EU citizen data. It also applies to any organisation located outside of the EU if they also collect store or process EU citizen data.
150
+
151
+ #### What is considered personal data?
152
+ The GDPR defines personal data as any information or type of data that can directly or indirectly identify a natural person’s identity. This can include information such as Name, Address, Email, Photos, System Data, IP addresses, Location data, Phone numbers, and Cookies.
153
+
154
+ For other special categories of personal data, there are more strict regulations for categories such as Race, Religion, Political Views, Sexual Orientation, Health Information, Biometric and Genetic data.
155
+
156
+ #### What are the penalties for non-compliance?
157
+ Organizations can be fined up to 4% of annual global turnover for breaching GDPR or €20 Million. This is the maximum fine that can be imposed for the most serious infringements.
158
+
159
+ There is a tiered approach to the fines whereby a company can be fined 2% for not having their records in order (Article 28), not notifying the supervising authority and Data Subject about a security breach or for investigating and assessing the breach.
160
+
161
+ #### Am I compliant just by activating this plugin?
162
+ No, this plugin is meant to assist a Controller, Data Processor, and Data Protection Officer (DPO) with efforts to meet the obligations and rights enacted under the GDPR.
163
+
164
+ Activating this plugin does not guarantee that an organisation is successfully meeting its responsibilities and obligations of GDPR. Organisations should assess their unique responsibilities and ensure extra measures are taken to meet any obligations required by law and based on a data protection impact assessment (DPIA).
README.txt CHANGED
@@ -1,13 +1,13 @@
1
  === GDPR ===
2
  Contributors: fclaussen, matthewfarlymn, trewknowledge
3
- Donate link: http://gdpr-wp.com/donate/
4
  Tags: gdpr, compliance, privacy, law, general data protection regulation
5
  Requires at least: 4.7
6
  Requires PHP: 5.6
7
- Tested up to: 4.9
8
- Stable tag: 2.1.0
9
  License: GPLv2 or later
10
- License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
12
  This plugin is meant to assist with the GDPR obligations of a Data processor and Controller.
13
 
@@ -16,14 +16,14 @@ This plugin is meant to assist with the GDPR obligations of a Data processor and
16
  This plugin is meant to assist a Controller, Data Processor, and Data Protection Officer (DPO) with efforts to meet the obligations and rights enacted under the GDPR.
17
 
18
  == Documentation ==
19
- [http://gdpr-wp.com/knowledge-base/](http://gdpr-wp.com/knowledge-base/)
20
 
21
  == Collaboration ==
22
 
23
  You can send your pull request at [https://github.com/trewknowledge/gdpr](https://github.com/trewknowledge/gdpr)
24
 
25
  == Shortcodes & helper functions ==
26
- [http://gdpr-wp.com/knowledge-base/functions-shortcodes/](http://gdpr-wp.com/knowledge-base/functions-shortcodes/)
27
 
28
  == Features ==
29
 
@@ -206,6 +206,21 @@ Activating this plugin does not guarantee that an organisation is successfully m
206
 
207
  == Changelog ==
208
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
209
  = 2.1.0 =
210
  * Wrapping checkboxes in labels so they stay in the same line.
211
  * Adding initial WPML and Polylang translation config file.
@@ -236,19 +251,6 @@ Activating this plugin does not guarantee that an organisation is successfully m
236
  * Small style and markup enhancement.
237
  * A little cleanup to reduce WP server stress.
238
 
239
-
240
- = 2.0.7 =
241
- * Changing some texts to be consistent.
242
- * Cleaned up code with VIP Code Standard.
243
- * Improved security.
244
- * Fix internet explorer bug.
245
- * Fix JS function with wrong variable name when an AJAX error happened.
246
- * Fix Warning on woocommerce consent checkboxes.
247
- * Renaming buttons and translating placeholders.
248
- * Added another parameter to the request forms function and shortcode to allow users to customize the button text.
249
- * Fix a bug in the privacy preferences center when you moved to a different page without accepting cookies it would uncheck fields that should continue being checked.
250
- * Fix settings tooltips z-index to sit on top of other elements.
251
-
252
  == Upgrade Notice ==
253
 
254
  = 2.0.0 =
1
  === GDPR ===
2
  Contributors: fclaussen, matthewfarlymn, trewknowledge
3
+ Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=S3P8NHLF4DLZN&source=url
4
  Tags: gdpr, compliance, privacy, law, general data protection regulation
5
  Requires at least: 4.7
6
  Requires PHP: 5.6
7
+ Tested up to: 5.4
8
+ Stable tag: 2.1.1
9
  License: GPLv2 or later
10
+ License URI: https://www.gnu.org/licenses/gpl-2.0.html
11
 
12
  This plugin is meant to assist with the GDPR obligations of a Data processor and Controller.
13
 
16
  This plugin is meant to assist a Controller, Data Processor, and Data Protection Officer (DPO) with efforts to meet the obligations and rights enacted under the GDPR.
17
 
18
  == Documentation ==
19
+ [https://github.com/trewknowledge/GDPR/wiki](https://github.com/trewknowledge/GDPR/wiki)
20
 
21
  == Collaboration ==
22
 
23
  You can send your pull request at [https://github.com/trewknowledge/gdpr](https://github.com/trewknowledge/gdpr)
24
 
25
  == Shortcodes & helper functions ==
26
+ [https://github.com/trewknowledge/GDPR/wiki/Functions-&-Shortcodes](https://github.com/trewknowledge/GDPR/wiki/Functions-&-Shortcodes)
27
 
28
  == Features ==
29
 
206
 
207
  == Changelog ==
208
 
209
+ = 2.1.1 =
210
+ * Updating dependencies.
211
+ * Fixing some code standards errors.
212
+ * Fix tooltip styles affecting other parts of the admin panel.
213
+ * Fixed a W3C validation error.
214
+ * Fixed a "Headers Already Sent" error while doing cron jobs.
215
+ * Added more accents to the array of replacements
216
+ * Made possible to sort by consent in the admin users page.
217
+ * Added "move up" and "move down" buttons for each cookies category.
218
+ * Detect current language code and load correct recaptcha based on it.
219
+ * Moved partials to templates so they can be overwritten by themes.
220
+ * Fix issue where some modals would not close.
221
+ * Fix issue where tapping the X on modals would jump.
222
+
223
+
224
  = 2.1.0 =
225
  * Wrapping checkboxes in labels so they stay in the same line.
226
  * Adding initial WPML and Polylang translation config file.
251
  * Small style and markup enhancement.
252
  * A little cleanup to reduce WP server stress.
253
 
 
 
 
 
 
 
 
 
 
 
 
 
 
254
  == Upgrade Notice ==
255
 
256
  = 2.0.0 =
admin/class-gdpr-admin.php CHANGED
@@ -77,7 +77,7 @@ class GDPR_Admin {
77
  */
78
  public function enqueue_styles() {
79
  add_thickbox();
80
- wp_enqueue_style( $this->plugin_name, plugin_dir_url( dirname( __FILE__ ) ) . 'assets/css/gdpr-admin.css', array(), $this->version, 'all' );
81
  }
82
 
83
  /**
@@ -87,7 +87,7 @@ class GDPR_Admin {
87
  * @author Fernando Claussen <fernandoclaussen@gmail.com>
88
  */
89
  public function enqueue_scripts() {
90
- wp_enqueue_script( $this->plugin_name, plugin_dir_url( dirname( __FILE__ ) ) . 'assets/js/gdpr-admin.js', array( 'jquery', 'wp-util', 'jquery-ui-sortable' ), $this->version, false );
91
  }
92
 
93
  /**
@@ -135,19 +135,9 @@ class GDPR_Admin {
135
 
136
  $settings_hook = add_submenu_page( $parent_slug, $menu_title, $menu_title, $capability, $menu_slug, $function );
137
 
138
- $menu_slug = 'edit.php?post_type=telemetry';
139
-
140
- $cpt = 'telemetry';
141
- $cpt_obj = get_post_type_object( $cpt );
142
-
143
- if ( $cpt_obj ) {
144
- add_submenu_page( $parent_slug, $cpt_obj->labels->name, $cpt_obj->labels->menu_name, $capability, $menu_slug );
145
- }
146
-
147
  add_action( "load-{$requests_hook}", array( 'GDPR_Help', 'add_requests_help' ) );
148
  add_action( "load-{$tools_hook}", array( 'GDPR_Help', 'add_tools_help' ) );
149
  add_action( "load-{$settings_hook}", array( 'GDPR_Help', 'add_settings_help' ) );
150
- add_action( 'load-edit.php', array( 'GDPR_Help', 'add_telemetry_help' ) );
151
  }
152
 
153
  /**
@@ -201,7 +191,6 @@ class GDPR_Admin {
201
  'gdpr_consent_types' => array( $this, 'sanitize_consents' ),
202
  'gdpr_deletion_needs_review' => 'boolval',
203
  'gdpr_disable_css' => 'boolval',
204
- 'gdpr_enable_telemetry_tracker' => 'boolval',
205
  'gdpr_use_recaptcha' => 'boolval',
206
  'gdpr_recaptcha_site_key' => 'sanitize_text_field',
207
  'gdpr_recaptcha_secret_key' => 'sanitize_text_field',
@@ -325,6 +314,8 @@ class GDPR_Admin {
325
  'audit-log' => esc_html__( 'Audit Log', 'gdpr' ),
326
  );
327
 
 
 
328
  include plugin_dir_path( __FILE__ ) . 'partials/tools.php';
329
  }
330
 
@@ -334,25 +325,29 @@ class GDPR_Admin {
334
  * @author Fernando Claussen <fernandoclaussen@gmail.com>
335
  */
336
  public function access_data() {
337
- if ( ! isset( $_POST['nonce'], $_POST['email'] ) || ! wp_verify_nonce( sanitize_key( wp_unslash( $_POST['nonce'] ) ), 'gdpr-access-data' ) ) { // WPCS: Input var ok.
338
  wp_send_json_error();
339
  }
340
 
341
- $email = sanitize_email( wp_unslash( $_POST['email'] ) ); // WPCS: Input var ok.
342
  $user = get_user_by( 'email', $email );
343
 
344
  if ( ! $user instanceof WP_User ) {
345
  wp_send_json_error();
346
  }
347
 
348
- $usermeta = GDPR::get_user_meta( $user->ID );
349
- $comments = get_comments(
350
  array(
351
  'author_email' => $user->user_email,
352
  'include_unapproved' => true,
353
  )
354
  );
355
- $user_consents = get_user_meta( $user->ID, 'gdpr_consents' );
 
 
 
 
356
 
357
  ob_start();
358
  echo '<h2>' . esc_html( $user->display_name ) . '<span>( ' . esc_html( $email ) . ' )</span></h2>';
@@ -499,15 +494,15 @@ class GDPR_Admin {
499
  * @author Fernando Claussen <fernandoclaussen@gmail.com>
500
  */
501
  public function audit_log() {
502
- if ( ! isset( $_POST['nonce'], $_POST['email'] ) || ! wp_verify_nonce( sanitize_key( wp_unslash( $_POST['nonce'] ) ), 'gdpr-audit-log' ) ) { // WPCS: Input var ok.
503
  wp_send_json_error();
504
  }
505
 
506
- $email = sanitize_email( wp_unslash( $_POST['email'] ) ); // WPCS: Input var ok.
507
  $token = null;
508
 
509
- if ( isset( $_POST['token'] ) ) { // WPCS: Input var ok.
510
- $token = sanitize_text_field( wp_unslash( $_POST['token'] ) ); // WPCS: Input var ok.
511
  }
512
 
513
  $log = GDPR_Audit_log::get_log( $email, $token );
@@ -563,11 +558,12 @@ class GDPR_Admin {
563
  }
564
 
565
  public function version_check_notice() {
566
- if( -1 === version_compare( phpversion(), GDPR_REQUIRED_PHP_VERSION ) ) {
567
  ?>
568
  <div class="notice notice-error">
569
  <p><strong><?php esc_html_e( 'GDPR', 'gdpr' ); ?></strong></p>
570
- <p><?php echo sprintf( esc_html__( 'Your current PHP version (%1$s) is below the plugin required version of %2$s.', 'gdpr' ), phpversion(), GDPR_REQUIRED_PHP_VERSION ) ?></p>
 
571
  </div>
572
  <?php
573
  deactivate_plugins( 'gdpr/gdpr.php' );
@@ -623,17 +619,17 @@ class GDPR_Admin {
623
  * @author Fernando Claussen <fernandoclaussen@gmail.com>
624
  */
625
  public function send_data_breach_confirmation_email() {
626
- if ( ! isset( $_POST['gdpr_data_breach_nonce'] ) || ! wp_verify_nonce( sanitize_key( $_POST['gdpr_data_breach_nonce'] ), 'gdpr-data-breach' ) ) { // WPCS: Input var ok.
627
- wp_die( esc_html__( 'We could not verify the the security token. Please try again.', 'gdpr' ) );
628
  }
629
 
630
  if (
631
  ! isset(
632
- $_POST['gdpr-data-breach-email-content'], // WPCS: Input var ok.
633
- $_POST['gdpr-data-breach-nature'], // WPCS: Input var ok.
634
- $_POST['gdpr-name-contact-details-protection-officer'], // WPCS: Input var ok.
635
- $_POST['gdpr-likely-consequences'], // WPCS: Input var ok.
636
- $_POST['gdpr-measures-taken'] // WPCS: Input var ok.
637
  )
638
  ) {
639
  wp_die( esc_html__( 'One or more required fields are missing. Please try again.', 'gdpr' ) );
@@ -641,11 +637,11 @@ class GDPR_Admin {
641
 
642
  $email = get_bloginfo( 'admin_email' );
643
  $user = wp_get_current_user();
644
- $content = sanitize_textarea_field( wp_unslash( $_POST['gdpr-data-breach-email-content'] ) ); // WPCS: Input var ok.
645
- $nature = sanitize_textarea_field( wp_unslash( $_POST['gdpr-data-breach-nature'] ) ); // WPCS: Input var ok.
646
- $office_contact = sanitize_textarea_field( wp_unslash( $_POST['gdpr-name-contact-details-protection-officer'] ) ); // WPCS: Input var ok.
647
- $consequences = sanitize_textarea_field( wp_unslash( $_POST['gdpr-likely-consequences'] ) ); // WPCS: Input var ok.
648
- $measures = sanitize_textarea_field( wp_unslash( $_POST['gdpr-measures-taken'] ) ); // WPCS: Input var ok.
649
 
650
  $key = wp_generate_password( 20, false );
651
  update_option(
@@ -710,25 +706,6 @@ class GDPR_Admin {
710
  delete_option( 'gdpr_data_breach_initiated' );
711
  }
712
 
713
- /**
714
- * CRON job runs this to clean up the telemetry post type every 12 hours.
715
- * @since 1.0.0
716
- * @author Fernando Claussen <fernandoclaussen@gmail.com>
717
- */
718
- public function telemetry_cleanup() {
719
- $args = array(
720
- 'post_type' => 'telemetry',
721
- 'posts_per_page' => -1,
722
- 'fields' => 'ids',
723
- );
724
-
725
- $telemetry_posts = get_posts( $args );
726
-
727
- foreach ( $telemetry_posts as $post ) {
728
- wp_delete_post( $post, true );
729
- }
730
- }
731
-
732
  /**
733
  * Sanitizes the consents during WordPress registration.
734
  * @since 1.0.0
@@ -746,7 +723,7 @@ class GDPR_Admin {
746
 
747
  foreach ( $consent_types as $key => $consent ) {
748
  if ( $consent['policy-page'] ) {
749
- if ( ! isset( $_POST['user_consents'][ $key ] ) ) { // WPCS: Input var ok, CSRF ok.
750
  $errors->add(
751
  'missing_required_consents', sprintf(
752
  '<strong>%s</strong>: %s %s.',
@@ -767,12 +744,12 @@ class GDPR_Admin {
767
  * @author Fernando Claussen <fernandoclaussen@gmail.com>
768
  */
769
  public function seek_consent() {
770
- if ( ! isset( $_POST['nonce'] ) || ! wp_verify_nonce( sanitize_key( $_POST['nonce'] ), 'gdpr-seek-consent' ) ) { // WPCS: Input var ok.
771
- wp_send_json_error( esc_html__( 'We could not verify the the security token. Please try again.', 'gdpr' ) );
772
  }
773
 
774
- $policy_id = isset( $_POST['policy_id'] ) ? sanitize_text_field( wp_unslash( $_POST['policy_id'] ) ) : ''; // WPCS: Input var ok.
775
- $policy_name = isset( $_POST['policy_name'] ) ? sanitize_text_field( wp_unslash( $_POST['policy_name'] ) ) : ''; // WPCS: Input var ok.
776
  $policies_updated = get_option( 'gdpr_policies_updated', array() );
777
 
778
  unset( $policies_updated[ $policy_id ] );
@@ -785,11 +762,19 @@ class GDPR_Admin {
785
  );
786
 
787
  foreach ( $users as $user ) {
788
- $usermeta = get_user_meta( $user->ID, 'gdpr_consents' );
789
- if ( in_array( $policy_id, $usermeta ) ) {
 
 
 
 
790
  /* translators: 1: The name of the policy that was updated. */
791
  GDPR_Audit_Log::log( $user->ID, sprintf( esc_html__( '%1$s has been updated. Removing the %1$s consent and requesting new consent.', 'gdpr' ), esc_html( $policy_name ) ) );
792
- delete_user_meta( $user->ID, 'gdpr_consents', $policy_id );
 
 
 
 
793
  }
794
  }
795
 
@@ -804,8 +789,8 @@ class GDPR_Admin {
804
  * @param WP_Post $post The post object.
805
  */
806
  public function policy_updated( $id, $post ) {
807
- $policies_updated = get_option( 'gdpr_policies_updated', array() );
808
- $consents = get_option( 'gdpr_consent_types', array() );
809
 
810
  if ( empty( $consents ) ) {
811
  return;
@@ -843,11 +828,11 @@ class GDPR_Admin {
843
  * @author Fernando Claussen <fernandoclaussen@gmail.com>
844
  */
845
  public function ignore_policy_update() {
846
- if ( ! isset( $_POST['nonce'] ) || ! wp_verify_nonce( sanitize_key( $_POST['nonce'] ), 'gdpr-ignore-update' ) ) { // WPCS: Input var ok.
847
- wp_send_json_error( esc_html__( 'We could not verify the the security token. Please try again.', 'gdpr' ) );
848
  }
849
 
850
- $policy = isset( $_POST['policy_id'] ) ? sanitize_text_field( wp_unslash( $_POST['policy_id'] ) ) : ''; // WPCS: Input var ok.
851
  $policies_updated = get_option( 'gdpr_policies_updated', array() );
852
  unset( $policies_updated[ $policy ] );
853
  update_option( 'gdpr_policies_updated', $policies_updated );
@@ -862,7 +847,11 @@ class GDPR_Admin {
862
  */
863
  public function edit_user_profile( $user ) {
864
  $consent_types = get_option( 'gdpr_consent_types', array() );
865
- $user_consents = get_user_meta( $user->ID, 'gdpr_consents' );
 
 
 
 
866
  if ( empty( $consent_types ) ) {
867
  return;
868
  }
@@ -898,23 +887,31 @@ class GDPR_Admin {
898
  * @param int $user_id The user ID.
899
  */
900
  public function user_profile_update( $user_id ) {
901
- if ( ! isset( $_POST['user_consents'] ) ) { // WPCS: Input var ok, CSRF ok.
902
  return;
903
  }
904
 
905
- $consents = array_map( 'sanitize_text_field', (array) wp_unslash( $_POST['user_consents'] ) ); // WPCS: Input var ok, CSRF ok.
906
 
907
  GDPR_Audit_Log::log( $user_id, esc_html__( 'Profile Updated. These are the user consents after the save:', 'gdpr' ) );
908
 
909
- delete_user_meta( $user_id, 'gdpr_consents' );
 
 
 
 
910
 
911
  foreach ( (array) $consents as $consent ) {
912
  $consent = sanitize_text_field( wp_unslash( $consent ) );
913
- add_user_meta( $user_id, 'gdpr_consents', $consent );
 
 
 
 
914
  GDPR_Audit_Log::log( $user_id, $consent );
915
  }
916
 
917
- setcookie( 'gdpr[consent_types]', json_encode( $consents ), time() + YEAR_IN_SECONDS, '/' );
918
  }
919
 
920
  /**
@@ -959,7 +956,11 @@ class GDPR_Admin {
959
 
960
  foreach ( $consent_arr as $key => $value ) {
961
  $consent = str_replace( 'user_consents_', '', $value );
962
- add_user_meta( $customer_id, 'gdpr_consents', $consent );
 
 
 
 
963
  }
964
  }
965
 
@@ -975,7 +976,11 @@ class GDPR_Admin {
975
  */
976
  public function add_consents_to_consents_column( $val, $column_name, $user_id ) {
977
  if ( 'consents' === $column_name ) {
978
- $user_consents = get_user_meta( $user_id, 'gdpr_consents' );
 
 
 
 
979
  return implode( ', ', $user_consents );
980
  }
981
 
@@ -987,4 +992,22 @@ class GDPR_Admin {
987
  return $column_headers;
988
  }
989
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
990
  }
77
  */
78
  public function enqueue_styles() {
79
  add_thickbox();
80
+ wp_enqueue_style( $this->plugin_name, plugin_dir_url( dirname( __FILE__ ) ) . 'dist/css/admin.css', array(), $this->version, 'all' );
81
  }
82
 
83
  /**
87
  * @author Fernando Claussen <fernandoclaussen@gmail.com>
88
  */
89
  public function enqueue_scripts() {
90
+ wp_enqueue_script( $this->plugin_name, plugin_dir_url( dirname( __FILE__ ) ) . 'dist/js/admin.js', array( 'jquery', 'wp-util', 'jquery-ui-sortable' ), $this->version, false );
91
  }
92
 
93
  /**
135
 
136
  $settings_hook = add_submenu_page( $parent_slug, $menu_title, $menu_title, $capability, $menu_slug, $function );
137
 
 
 
 
 
 
 
 
 
 
138
  add_action( "load-{$requests_hook}", array( 'GDPR_Help', 'add_requests_help' ) );
139
  add_action( "load-{$tools_hook}", array( 'GDPR_Help', 'add_tools_help' ) );
140
  add_action( "load-{$settings_hook}", array( 'GDPR_Help', 'add_settings_help' ) );
 
141
  }
142
 
143
  /**
191
  'gdpr_consent_types' => array( $this, 'sanitize_consents' ),
192
  'gdpr_deletion_needs_review' => 'boolval',
193
  'gdpr_disable_css' => 'boolval',
 
194
  'gdpr_use_recaptcha' => 'boolval',
195
  'gdpr_recaptcha_site_key' => 'sanitize_text_field',
196
  'gdpr_recaptcha_secret_key' => 'sanitize_text_field',
314
  'audit-log' => esc_html__( 'Audit Log', 'gdpr' ),
315
  );
316
 
317
+ $tabs = apply_filters( 'gdpr_tools_tabs', $tabs );
318
+
319
  include plugin_dir_path( __FILE__ ) . 'partials/tools.php';
320
  }
321
 
325
  * @author Fernando Claussen <fernandoclaussen@gmail.com>
326
  */
327
  public function access_data() {
328
+ if ( ! isset( $_POST['nonce'], $_POST['email'] ) || ! wp_verify_nonce( sanitize_key( wp_unslash( $_POST['nonce'] ) ), 'gdpr-access-data' ) ) { // phpcs:ignore
329
  wp_send_json_error();
330
  }
331
 
332
+ $email = sanitize_email( wp_unslash( $_POST['email'] ) ); // phpcs:ignore
333
  $user = get_user_by( 'email', $email );
334
 
335
  if ( ! $user instanceof WP_User ) {
336
  wp_send_json_error();
337
  }
338
 
339
+ $usermeta = GDPR::get_user_meta( $user->ID );
340
+ $comments = get_comments(
341
  array(
342
  'author_email' => $user->user_email,
343
  'include_unapproved' => true,
344
  )
345
  );
346
+ if ( defined( 'WPCOM_IS_VIP_ENV' ) && WPCOM_IS_VIP_ENV ) {
347
+ $user_consents = get_user_attribute( $user->ID, 'gdpr_consents' );
348
+ } else {
349
+ $user_consents = get_user_meta( $user->ID, 'gdpr_consents' );
350
+ }
351
 
352
  ob_start();
353
  echo '<h2>' . esc_html( $user->display_name ) . '<span>( ' . esc_html( $email ) . ' )</span></h2>';
494
  * @author Fernando Claussen <fernandoclaussen@gmail.com>
495
  */
496
  public function audit_log() {
497
+ if ( ! isset( $_POST['nonce'], $_POST['email'] ) || ! wp_verify_nonce( sanitize_key( wp_unslash( $_POST['nonce'] ) ), 'gdpr-audit-log' ) ) { // phpcs:ignore
498
  wp_send_json_error();
499
  }
500
 
501
+ $email = sanitize_email( wp_unslash( $_POST['email'] ) ); // phpcs:ignore
502
  $token = null;
503
 
504
+ if ( isset( $_POST['token'] ) ) { // phpcs:ignore
505
+ $token = sanitize_text_field( wp_unslash( $_POST['token'] ) ); // phpcs:ignore
506
  }
507
 
508
  $log = GDPR_Audit_log::get_log( $email, $token );
558
  }
559
 
560
  public function version_check_notice() {
561
+ if ( -1 === version_compare( phpversion(), GDPR_REQUIRED_PHP_VERSION ) ) {
562
  ?>
563
  <div class="notice notice-error">
564
  <p><strong><?php esc_html_e( 'GDPR', 'gdpr' ); ?></strong></p>
565
+ <?php /* translators: 1: Current PHP version 2: Required PHP version. */ ?>
566
+ <p><?php echo sprintf( esc_html__( 'Your current PHP version (%1$s) is below the plugin required version of %2$s.', 'gdpr' ), esc_html( phpversion() ), esc_html( GDPR_REQUIRED_PHP_VERSION ) ); ?></p>
567
  </div>
568
  <?php
569
  deactivate_plugins( 'gdpr/gdpr.php' );
619
  * @author Fernando Claussen <fernandoclaussen@gmail.com>
620
  */
621
  public function send_data_breach_confirmation_email() {
622
+ if ( ! isset( $_POST['gdpr_data_breach_nonce'] ) || ! wp_verify_nonce( sanitize_key( $_POST['gdpr_data_breach_nonce'] ), 'gdpr-data-breach' ) ) { // phpcs:ignore
623
+ wp_die( esc_html__( 'We could not verify the security token. Please try again.', 'gdpr' ) );
624
  }
625
 
626
  if (
627
  ! isset(
628
+ $_POST['gdpr-data-breach-email-content'], // phpcs:ignore
629
+ $_POST['gdpr-data-breach-nature'], // phpcs:ignore
630
+ $_POST['gdpr-name-contact-details-protection-officer'], // phpcs:ignore
631
+ $_POST['gdpr-likely-consequences'], // phpcs:ignore
632
+ $_POST['gdpr-measures-taken'] // phpcs:ignore
633
  )
634
  ) {
635
  wp_die( esc_html__( 'One or more required fields are missing. Please try again.', 'gdpr' ) );
637
 
638
  $email = get_bloginfo( 'admin_email' );
639
  $user = wp_get_current_user();
640
+ $content = sanitize_textarea_field( wp_unslash( $_POST['gdpr-data-breach-email-content'] ) ); // phpcs:ignore
641
+ $nature = sanitize_textarea_field( wp_unslash( $_POST['gdpr-data-breach-nature'] ) ); // phpcs:ignore
642
+ $office_contact = sanitize_textarea_field( wp_unslash( $_POST['gdpr-name-contact-details-protection-officer'] ) ); // phpcs:ignore
643
+ $consequences = sanitize_textarea_field( wp_unslash( $_POST['gdpr-likely-consequences'] ) ); // phpcs:ignore
644
+ $measures = sanitize_textarea_field( wp_unslash( $_POST['gdpr-measures-taken'] ) ); // phpcs:ignore
645
 
646
  $key = wp_generate_password( 20, false );
647
  update_option(
706
  delete_option( 'gdpr_data_breach_initiated' );
707
  }
708
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
709
  /**
710
  * Sanitizes the consents during WordPress registration.
711
  * @since 1.0.0
723
 
724
  foreach ( $consent_types as $key => $consent ) {
725
  if ( $consent['policy-page'] ) {
726
+ if ( ! isset( $_POST['user_consents'][ $key ] ) ) { // phpcs:ignore
727
  $errors->add(
728
  'missing_required_consents', sprintf(
729
  '<strong>%s</strong>: %s %s.',
744
  * @author Fernando Claussen <fernandoclaussen@gmail.com>
745
  */
746
  public function seek_consent() {
747
+ if ( ! isset( $_POST['nonce'] ) || ! wp_verify_nonce( sanitize_key( $_POST['nonce'] ), 'gdpr-seek-consent' ) ) { // phpcs:ignore
748
+ wp_send_json_error( esc_html__( 'We could not verify the security token. Please try again.', 'gdpr' ) );
749
  }
750
 
751
+ $policy_id = isset( $_POST['policyId'] ) ? sanitize_text_field( wp_unslash( $_POST['policyId'] ) ) : ''; // phpcs:ignore
752
+ $policy_name = isset( $_POST['policyName'] ) ? sanitize_text_field( wp_unslash( $_POST['policyName'] ) ) : ''; // phpcs:ignore
753
  $policies_updated = get_option( 'gdpr_policies_updated', array() );
754
 
755
  unset( $policies_updated[ $policy_id ] );
762
  );
763
 
764
  foreach ( $users as $user ) {
765
+ if ( defined( 'WPCOM_IS_VIP_ENV' ) && WPCOM_IS_VIP_ENV ) {
766
+ $usermeta = get_user_attribute( $user->ID, 'gdpr_consents' );
767
+ } else {
768
+ $usermeta = get_user_meta( $user->ID, 'gdpr_consents' );
769
+ }
770
+ if ( in_array( $policy_id, $usermeta, true ) ) {
771
  /* translators: 1: The name of the policy that was updated. */
772
  GDPR_Audit_Log::log( $user->ID, sprintf( esc_html__( '%1$s has been updated. Removing the %1$s consent and requesting new consent.', 'gdpr' ), esc_html( $policy_name ) ) );
773
+ if ( defined( 'WPCOM_IS_VIP_ENV' ) && WPCOM_IS_VIP_ENV ) {
774
+ delete_user_attribute( $user->ID, 'gdpr_consents', $policy_id );
775
+ } else {
776
+ delete_user_meta( $user->ID, 'gdpr_consents', $policy_id );
777
+ }
778
  }
779
  }
780
 
789
  * @param WP_Post $post The post object.
790
  */
791
  public function policy_updated( $id, $post ) {
792
+ $policies_updated = get_option( 'gdpr_policies_updated', array() );
793
+ $consents = get_option( 'gdpr_consent_types', array() );
794
 
795
  if ( empty( $consents ) ) {
796
  return;
828
  * @author Fernando Claussen <fernandoclaussen@gmail.com>
829
  */
830
  public function ignore_policy_update() {
831
+ if ( ! isset( $_POST['nonce'] ) || ! wp_verify_nonce( sanitize_key( $_POST['nonce'] ), 'gdpr-ignore-update' ) ) { // phpcs:ignore
832
+ wp_send_json_error( esc_html__( 'We could not verify the security token. Please try again.', 'gdpr' ) );
833
  }
834
 
835
+ $policy = isset( $_POST['policyId'] ) ? sanitize_text_field( wp_unslash( $_POST['policyId'] ) ) : ''; // phpcs:ignore
836
  $policies_updated = get_option( 'gdpr_policies_updated', array() );
837
  unset( $policies_updated[ $policy ] );
838
  update_option( 'gdpr_policies_updated', $policies_updated );
847
  */
848
  public function edit_user_profile( $user ) {
849
  $consent_types = get_option( 'gdpr_consent_types', array() );
850
+ if ( defined( 'WPCOM_IS_VIP_ENV' ) && WPCOM_IS_VIP_ENV ) {
851
+ $user_consents = get_user_attribute( $user->ID, 'gdpr_consents' );
852
+ } else {
853
+ $user_consents = get_user_meta( $user->ID, 'gdpr_consents' );
854
+ }
855
  if ( empty( $consent_types ) ) {
856
  return;
857
  }
887
  * @param int $user_id The user ID.
888
  */
889
  public function user_profile_update( $user_id ) {
890
+ if ( ! isset( $_POST['user_consents'] ) ) { // phpcs:ignore
891
  return;
892
  }
893
 
894
+ $consents = array_map( 'sanitize_text_field', (array) wp_unslash( $_POST['user_consents'] ) ); // phpcs:ignore
895
 
896
  GDPR_Audit_Log::log( $user_id, esc_html__( 'Profile Updated. These are the user consents after the save:', 'gdpr' ) );
897
 
898
+ if ( defined( 'WPCOM_IS_VIP_ENV' ) && WPCOM_IS_VIP_ENV ) {
899
+ delete_user_attribute( $user_id, 'gdpr_consents' );
900
+ } else {
901
+ delete_user_meta( $user_id, 'gdpr_consents' );
902
+ }
903
 
904
  foreach ( (array) $consents as $consent ) {
905
  $consent = sanitize_text_field( wp_unslash( $consent ) );
906
+ if ( defined( 'WPCOM_IS_VIP_ENV' ) && WPCOM_IS_VIP_ENV ) {
907
+ add_user_attribute( $user_id, 'gdpr_consents', $consent );
908
+ } else {
909
+ add_user_meta( $user_id, 'gdpr_consents', $consent );
910
+ }
911
  GDPR_Audit_Log::log( $user_id, $consent );
912
  }
913
 
914
+ setcookie( 'gdpr[consent_types]', wp_json_encode( $consents ), time() + YEAR_IN_SECONDS, '/' );
915
  }
916
 
917
  /**
956
 
957
  foreach ( $consent_arr as $key => $value ) {
958
  $consent = str_replace( 'user_consents_', '', $value );
959
+ if ( defined( 'WPCOM_IS_VIP_ENV' ) && WPCOM_IS_VIP_ENV ) {
960
+ add_user_attribute( $customer_id, 'gdpr_consents', $consent );
961
+ } else {
962
+ add_user_meta( $customer_id, 'gdpr_consents', $consent );
963
+ }
964
  }
965
  }
966
 
976
  */
977
  public function add_consents_to_consents_column( $val, $column_name, $user_id ) {
978
  if ( 'consents' === $column_name ) {
979
+ if ( defined( 'WPCOM_IS_VIP_ENV' ) && WPCOM_IS_VIP_ENV ) {
980
+ $user_consents = get_user_attribute( $user_id, 'gdpr_consents' );
981
+ } else {
982
+ $user_consents = get_user_meta( $user_id, 'gdpr_consents' );
983
+ }
984
  return implode( ', ', $user_consents );
985
  }
986
 
992
  return $column_headers;
993
  }
994
 
995
+ public function sort_consents_column_from_user_table( $columns ) {
996
+ $columns['consents'] = 'consent';
997
+ return $columns;
998
+ }
999
+
1000
+ public function sort_logic_for_consents_from_user_table( $query ) {
1001
+ if ( ! is_admin() ) {
1002
+ return;
1003
+ }
1004
+
1005
+ $orderby = $query->get( 'orderby' );
1006
+
1007
+ if ( 'consent' === $orderby ) {
1008
+ $query->set( 'meta_key', 'gdpr_consents' );
1009
+ $query->set( 'orderby', 'meta_value' );
1010
+ }
1011
+ }
1012
+
1013
  }
admin/class-gdpr-requests-admin.php CHANGED
@@ -26,11 +26,11 @@ class GDPR_Requests_Admin extends GDPR_Requests {
26
  * @author Fernando Claussen <fernandoclaussen@gmail.com>
27
  */
28
  public function add_to_deletion_requests() {
29
- if ( ! isset( $_POST['gdpr_deletion_requests_nonce'] ) || ! wp_verify_nonce( sanitize_key( $_POST['gdpr_deletion_requests_nonce'] ), 'gdpr-add-to-deletion-requests' ) ) { // WPCS: Input var ok.
30
  wp_die( esc_html__( 'We could not verify the user email or the security token. Please try again.', 'gdpr' ) );
31
  }
32
 
33
- $email = isset( $_POST['user_email'] ) ? sanitize_email( wp_unslash( $_POST['user_email'] ) ) : ''; // WPCS: Input var ok.
34
  $user = get_user_by( 'email', $email );
35
 
36
  if ( ! $user instanceof WP_User ) {
@@ -141,11 +141,11 @@ class GDPR_Requests_Admin extends GDPR_Requests {
141
  * @author Fernando Claussen <fernandoclaussen@gmail.com>
142
  */
143
  public function cancel_request() {
144
- if ( ! isset( $_POST['type'] ) ) { // WPCS: Input var ok.
145
  wp_die( esc_html__( 'We could not verify the type of request you want to cancel.', 'gdpr' ) );
146
  }
147
 
148
- $type = trim( strtolower( sanitize_text_field( wp_unslash( $_POST['type'] ) ) ) ); // WPCS: Input var ok, CSRF ok.
149
  $allowed_types = parent::get_allowed_types();
150
 
151
  if ( ! in_array( $type, $allowed_types, true ) ) {
@@ -155,12 +155,12 @@ class GDPR_Requests_Admin extends GDPR_Requests {
155
 
156
  $nonce_field = 'gdpr_cancel_' . $type . '_nonce';
157
 
158
- if ( ! isset( $_POST[ $nonce_field ], $_POST['user_email'], $_POST['index'] ) || ! wp_verify_nonce( sanitize_key( $_POST[ $nonce_field ] ), 'gdpr-request-nonce' ) ) { // WPCS: Input var ok.
159
  wp_die( esc_html__( 'We could not verify the user email or the security token. Please try again.', 'gdpr' ) );
160
  }
161
 
162
- $email = sanitize_email( wp_unslash( $_POST['user_email'] ) ); // WPCS: Input var ok.
163
- $index = sanitize_text_field( wp_unslash( $_POST['index'] ) ); // WPCS: Input var ok.
164
 
165
  parent::remove_from_requests( $index );
166
  $user = get_user_by( 'email', $email );
@@ -189,11 +189,11 @@ class GDPR_Requests_Admin extends GDPR_Requests {
189
  * @author Fernando Claussen <fernandoclaussen@gmail.com>
190
  */
191
  public function mark_resolved() {
192
- if ( ! isset( $_POST['type'] ) ) { // WPCS: Input var ok.
193
  wp_die( esc_html__( 'We could not verify the type of request you want to cancel.', 'gdpr' ) );
194
  }
195
 
196
- $type = isset( $_POST['type'] ) ? trim( strtolower( sanitize_text_field( wp_unslash( $_POST['type'] ) ) ) ) : ''; // WPCS: Input var ok, CSRF ok.
197
  $allowed_types = parent::get_allowed_types();
198
 
199
  if ( ! in_array( $type, $allowed_types, true ) ) {
@@ -203,21 +203,22 @@ class GDPR_Requests_Admin extends GDPR_Requests {
203
 
204
  $nonce_field = 'gdpr_' . $type . '_mark_resolved_nonce';
205
 
206
- if ( ! isset( $_POST[ $nonce_field ], $_POST['user_email'], $_POST['index'] ) || ! wp_verify_nonce( sanitize_key( $_POST[ $nonce_field ] ), 'gdpr-mark-as-resolved' ) ) { // WPCS: Input var ok.
207
  wp_die( esc_html__( 'We could not verify the user email or the security token. Please try again.', 'gdpr' ) );
208
  }
209
 
210
- $email = sanitize_email( wp_unslash( $_POST['user_email'] ) ); // WPCS: Input var ok.
211
- $index = sanitize_text_field( wp_unslash( $_POST['index'] ) ); // WPCS: Input var ok.
212
 
213
  parent::remove_from_requests( $index );
214
 
215
  GDPR_Email::send( $email, $type . '-resolved' );
216
 
217
  $user = get_user_by( 'email', $email );
218
- /* translators: User email */
219
  GDPR_Audit_Log::log( $user->ID, sprintf( esc_html__( 'User %s request was marked as resolved by admin.', 'gdpr' ), $user->user_email ) );
220
 
 
221
  add_settings_error( 'gdpr-requests', 'resolved', sprintf( esc_html__( 'Request was resolved. User %s has been notified.', 'gdpr' ), $email ), 'updated' );
222
  set_transient( 'settings_errors', get_settings_errors(), 30 );
223
  wp_safe_redirect(
@@ -239,13 +240,13 @@ class GDPR_Requests_Admin extends GDPR_Requests {
239
  * @author Fernando Claussen <fernandoclaussen@gmail.com>
240
  */
241
  public function delete_user() {
242
- if ( ! isset( $_POST['gdpr_delete_user'], $_POST['user_email'], $_POST['index'] ) || ! wp_verify_nonce( sanitize_key( $_POST['gdpr_delete_user'] ), 'gdpr-request-delete-user' ) ) { // WPCS: Input var ok.
243
  wp_die( esc_html__( 'We could not verify the user email or the security token. Please try again.', 'gdpr' ) );
244
  }
245
 
246
- $email = sanitize_email( wp_unslash( $_POST['user_email'] ) ); // WPCS: Input var ok.
247
  $user = get_user_by( 'email', $email );
248
- $index = sanitize_text_field( wp_unslash( $_POST['index'] ) ); // WPCS: Input var ok.
249
  parent::remove_from_requests( $index );
250
 
251
  $token = GDPR::generate_pin();
@@ -277,12 +278,12 @@ class GDPR_Requests_Admin extends GDPR_Requests {
277
  * @author Fernando Claussen <fernandoclaussen@gmail.com>
278
  */
279
  public function anonymize_comments() {
280
- if ( ! isset( $_POST['nonce'] ) || ! wp_verify_nonce( sanitize_key( wp_unslash( $_POST['nonce'] ) ), 'gdpr-anonymize-comments-action' ) ) { // WPCS: Input var ok.
281
  wp_send_json_error( esc_html__( 'We could not verify the security token. Please try again.', 'gdpr' ) );
282
  }
283
 
284
- $email = isset( $_POST['user_email'] ) ? sanitize_email( wp_unslash( $_POST['user_email'] ) ) : ''; // WPCS: Input var ok.
285
- $comment_count = isset( $_POST['comment_count'] ) ? (int) $_POST['comment_count'] : 0; // WPCS: Input var ok.
286
 
287
  $user = get_user_by( 'email', $email );
288
  if ( ! $user instanceof WP_User ) {
@@ -318,18 +319,18 @@ class GDPR_Requests_Admin extends GDPR_Requests {
318
  * @author Fernando Claussen <fernandoclaussen@gmail.com>
319
  */
320
  public function reassign_content() {
321
- if ( ! isset( $_POST['nonce'] ) || ! wp_verify_nonce( sanitize_key( wp_unslash( $_POST['nonce'] ) ), 'gdpr-reassign-content-action' ) ) { // WPCS: Input var ok.
322
  wp_send_json_error( esc_html__( 'We could not verify the security token. Please try again.', 'gdpr' ) );
323
  }
324
 
325
- if ( ! isset( $_POST['user_email'], $_POST['reassign_to'], $_POST['post_type'], $_POST['post_count'] ) ) { // WPCS: Input var ok.
326
  wp_send_json_error( esc_html__( 'Essential data missing. Please try again.', 'gdpr' ) );
327
  }
328
 
329
- $email = sanitize_email( wp_unslash( $_POST['user_email'] ) ); // WPCS: Input var ok.
330
- $reassign_to = (int) $_POST['reassign_to']; // WPCS: Input var ok.
331
- $post_type = sanitize_text_field( wp_unslash( $_POST['post_type'] ) ); // WPCS: Input var ok.
332
- $post_count = (int) $_POST['post_count']; // WPCS: Input var ok.
333
 
334
  $user = get_user_by( 'email', $email );
335
  if ( ! $user instanceof WP_User ) {
@@ -342,17 +343,19 @@ class GDPR_Requests_Admin extends GDPR_Requests {
342
  'posts_per_page' => $post_count,
343
  );
344
 
345
- $posts = get_posts( $args );
346
 
347
- if ( ! empty( $posts ) ) {
348
- foreach ( $posts as $post ) {
 
349
  wp_update_post(
350
  array(
351
- 'ID' => $post->ID,
352
  'post_author' => $reassign_to,
353
  )
354
  );
355
  }
 
356
 
357
  $reassign_to_user = get_user_by( 'ID', $reassign_to );
358
  /* translators: 1: The post type, 2: The user the posts were reassigned to */
26
  * @author Fernando Claussen <fernandoclaussen@gmail.com>
27
  */
28
  public function add_to_deletion_requests() {
29
+ if ( ! isset( $_POST['gdpr_deletion_requests_nonce'] ) || ! wp_verify_nonce( sanitize_key( $_POST['gdpr_deletion_requests_nonce'] ), 'gdpr-add-to-deletion-requests' ) ) { // phpcs:ignore
30
  wp_die( esc_html__( 'We could not verify the user email or the security token. Please try again.', 'gdpr' ) );
31
  }
32
 
33
+ $email = isset( $_POST['user_email'] ) ? sanitize_email( wp_unslash( $_POST['user_email'] ) ) : ''; // phpcs:ignore
34
  $user = get_user_by( 'email', $email );
35
 
36
  if ( ! $user instanceof WP_User ) {
141
  * @author Fernando Claussen <fernandoclaussen@gmail.com>
142
  */
143
  public function cancel_request() {
144
+ if ( ! isset( $_POST['type'] ) ) { // phpcs:ignore
145
  wp_die( esc_html__( 'We could not verify the type of request you want to cancel.', 'gdpr' ) );
146
  }
147
 
148
+ $type = trim( strtolower( sanitize_text_field( wp_unslash( $_POST['type'] ) ) ) ); // phpcs:ignore
149
  $allowed_types = parent::get_allowed_types();
150
 
151
  if ( ! in_array( $type, $allowed_types, true ) ) {
155
 
156
  $nonce_field = 'gdpr_cancel_' . $type . '_nonce';
157
 
158
+ if ( ! isset( $_POST[ $nonce_field ], $_POST['user_email'], $_POST['index'] ) || ! wp_verify_nonce( sanitize_key( $_POST[ $nonce_field ] ), 'gdpr-request-nonce' ) ) { // phpcs:ignore
159
  wp_die( esc_html__( 'We could not verify the user email or the security token. Please try again.', 'gdpr' ) );
160
  }
161
 
162
+ $email = sanitize_email( wp_unslash( $_POST['user_email'] ) ); // phpcs:ignore
163
+ $index = sanitize_text_field( wp_unslash( $_POST['index'] ) ); // phpcs:ignore
164
 
165
  parent::remove_from_requests( $index );
166
  $user = get_user_by( 'email', $email );
189
  * @author Fernando Claussen <fernandoclaussen@gmail.com>
190
  */
191
  public function mark_resolved() {
192
+ if ( ! isset( $_POST['type'] ) ) { // phpcs:ignore
193
  wp_die( esc_html__( 'We could not verify the type of request you want to cancel.', 'gdpr' ) );
194
  }
195
 
196
+ $type = isset( $_POST['type'] ) ? trim( strtolower( sanitize_text_field( wp_unslash( $_POST['type'] ) ) ) ) : ''; // phpcs:ignore
197
  $allowed_types = parent::get_allowed_types();
198
 
199
  if ( ! in_array( $type, $allowed_types, true ) ) {
203
 
204
  $nonce_field = 'gdpr_' . $type . '_mark_resolved_nonce';
205
 
206
+ if ( ! isset( $_POST[ $nonce_field ], $_POST['user_email'], $_POST['index'] ) || ! wp_verify_nonce( sanitize_key( $_POST[ $nonce_field ] ), 'gdpr-mark-as-resolved' ) ) { // phpcs:ignore
207
  wp_die( esc_html__( 'We could not verify the user email or the security token. Please try again.', 'gdpr' ) );
208
  }
209
 
210
+ $email = sanitize_email( wp_unslash( $_POST['user_email'] ) ); // phpcs:ignore
211
+ $index = sanitize_text_field( wp_unslash( $_POST['index'] ) ); // phpcs:ignore
212
 
213
  parent::remove_from_requests( $index );
214
 
215
  GDPR_Email::send( $email, $type . '-resolved' );
216
 
217
  $user = get_user_by( 'email', $email );
218
+ /* translators: User email. */
219
  GDPR_Audit_Log::log( $user->ID, sprintf( esc_html__( 'User %s request was marked as resolved by admin.', 'gdpr' ), $user->user_email ) );
220
 
221
+ /* translators: User email. */
222
  add_settings_error( 'gdpr-requests', 'resolved', sprintf( esc_html__( 'Request was resolved. User %s has been notified.', 'gdpr' ), $email ), 'updated' );
223
  set_transient( 'settings_errors', get_settings_errors(), 30 );
224
  wp_safe_redirect(
240
  * @author Fernando Claussen <fernandoclaussen@gmail.com>
241
  */
242
  public function delete_user() {
243
+ if ( ! isset( $_POST['gdpr_delete_user'], $_POST['user_email'], $_POST['index'] ) || ! wp_verify_nonce( sanitize_key( $_POST['gdpr_delete_user'] ), 'gdpr-request-delete-user' ) ) { // phpcs:ignore
244
  wp_die( esc_html__( 'We could not verify the user email or the security token. Please try again.', 'gdpr' ) );
245
  }
246
 
247
+ $email = sanitize_email( wp_unslash( $_POST['user_email'] ) ); // phpcs:ignore
248
  $user = get_user_by( 'email', $email );
249
+ $index = sanitize_text_field( wp_unslash( $_POST['index'] ) ); // phpcs:ignore
250
  parent::remove_from_requests( $index );
251
 
252
  $token = GDPR::generate_pin();
278
  * @author Fernando Claussen <fernandoclaussen@gmail.com>
279
  */
280
  public function anonymize_comments() {
281
+ if ( ! isset( $_POST['nonce'] ) || ! wp_verify_nonce( sanitize_key( wp_unslash( $_POST['nonce'] ) ), 'gdpr-anonymize-comments-action' ) ) { // phpcs:ignore
282
  wp_send_json_error( esc_html__( 'We could not verify the security token. Please try again.', 'gdpr' ) );
283
  }
284
 
285
+ $email = isset( $_POST['userEmail'] ) ? sanitize_email( wp_unslash( $_POST['userEmail'] ) ) : ''; // phpcs:ignore
286
+ $comment_count = isset( $_POST['commentCount'] ) ? (int) $_POST['commentCount'] : 0; // phpcs:ignore
287
 
288
  $user = get_user_by( 'email', $email );
289
  if ( ! $user instanceof WP_User ) {
319
  * @author Fernando Claussen <fernandoclaussen@gmail.com>
320
  */
321
  public function reassign_content() {
322
+ if ( ! isset( $_POST['nonce'] ) || ! wp_verify_nonce( sanitize_key( wp_unslash( $_POST['nonce'] ) ), 'gdpr-reassign-content-action' ) ) { // phpcs:ignore
323
  wp_send_json_error( esc_html__( 'We could not verify the security token. Please try again.', 'gdpr' ) );
324
  }
325
 
326
+ if ( ! isset( $_POST['userEmail'], $_POST['reassignTo'], $_POST['postType'], $_POST['postCount'] ) ) { // phpcs:ignore
327
  wp_send_json_error( esc_html__( 'Essential data missing. Please try again.', 'gdpr' ) );
328
  }
329
 
330
+ $email = sanitize_email( wp_unslash( $_POST['userEmail'] ) ); // phpcs:ignore
331
+ $reassign_to = (int) $_POST['reassignTo']; // phpcs:ignore
332
+ $post_type = sanitize_text_field( wp_unslash( $_POST['postType'] ) ); // phpcs:ignore
333
+ $post_count = (int) $_POST['postCount']; // phpcs:ignore
334
 
335
  $user = get_user_by( 'email', $email );
336
  if ( ! $user instanceof WP_User ) {
343
  'posts_per_page' => $post_count,
344
  );
345
 
346
+ $posts = new WP_Query( $args );
347
 
348
+ if ( $posts->have_posts() ) {
349
+ while ( $posts->have_posts() ) {
350
+ $posts->the_post();
351
  wp_update_post(
352
  array(
353
+ 'ID' => get_the_ID(),
354
  'post_author' => $reassign_to,
355
  )
356
  );
357
  }
358
+ wp_reset_postdata();
359
 
360
  $reassign_to_user = get_user_by( 'ID', $reassign_to );
361
  /* translators: 1: The post type, 2: The user the posts were reassigned to */
admin/class-gdpr-telemetry.php DELETED
@@ -1,522 +0,0 @@
1
- <?php
2
- /**
3
- * The telemetry post type registration file.
4
- *
5
- * @link https://trewknowledge.com
6
- * @since 1.0.0
7
- *
8
- * @package GDPR
9
- * @subpackage admin
10
- * @author Fernando Claussen <fernandoclaussen@gmail.com>
11
- */
12
-
13
- /**
14
- * The telemetry post type registration file.
15
- *
16
- * Defines the custom post type and edit the look and feel of the page.
17
- *
18
- * @package GDPR
19
- * @subpackage admin
20
- * @author Fernando Claussen <fernandoclaussen@gmail.com>
21
- */
22
- class GDPR_Telemetry {
23
-
24
- /**
25
- * Registers the telemetry post type.
26
- * @since 1.0.0
27
- * @author Fernando Claussen <fernandoclaussen@gmail.com>
28
- */
29
- public function register_post_type() {
30
- $telemetry_enabled = get_option( 'gdpr_enable_telemetry_tracker', false );
31
- if ( ! $telemetry_enabled ) {
32
- wp_clear_scheduled_hook( 'telemetry_cleanup' );
33
- return;
34
- }
35
-
36
- if ( ! wp_next_scheduled( 'telemetry_cleanup' ) ) {
37
- wp_schedule_event(
38
- time(),
39
- 'hourly',
40
- 'telemetry_cleanup'
41
- );
42
- }
43
-
44
- register_post_type(
45
- 'telemetry',
46
- array(
47
- 'label' => esc_html__( 'Telemetry', 'gdpr' ),
48
- 'labels' => array(
49
- 'not_found' => esc_html__( 'No items found. Future connections will be shown at this place.', 'gdpr' ),
50
- 'not_found_in_trash' => esc_html__( 'No items found in trash.', 'gdpr' ),
51
- 'search_items' => esc_html__( 'Search in destination', 'gdpr' ),
52
- ),
53
- 'public' => false,
54
- 'show_ui' => true,
55
- 'show_in_menu' => false,
56
- 'show_in_nav_menus' => false,
57
- 'query_var' => true, // try setting to false
58
- 'hierarchical' => false,
59
- 'capability_type' => 'post',
60
- 'publicly_queryable' => false,
61
- 'exclude_from_search' => true,
62
- )
63
- );
64
- }
65
-
66
- /**
67
- * Log the call request.
68
- * @param object $response The call response.
69
- * @param [type] $type Context under which the hook is fired.
70
- * @param [type] $class HTTP transport used.
71
- * @param [type] $args HTTP request arguments.
72
- * @param [type] $url The request URL.
73
- * @since 1.0.0
74
- */
75
- public function log_request( $response, $type, $class, $args, $url ) {
76
- $telemetry_enabled = get_option( 'gdpr_enable_telemetry_tracker', false );
77
- if ( ! $telemetry_enabled ) {
78
- return;
79
- }
80
- /* Only response type */
81
- if ( 'response' !== $type ) {
82
- return false;
83
- }
84
-
85
- /* Empty url */
86
- if ( empty( $url ) ) {
87
- return false;
88
- }
89
-
90
- /* Validate host */
91
- $host = parse_url( $url, PHP_URL_HOST );
92
-
93
- if ( ! $host ) {
94
- return false;
95
- }
96
-
97
- /* Backtrace data */
98
- $backtrace = self::_debug_backtrace();
99
-
100
- /* No reference file found */
101
- if ( empty( $backtrace['file'] ) ) {
102
- return false;
103
- }
104
-
105
- /* Show your face, file */
106
- $meta = self::_face_detect( $backtrace['file'] );
107
-
108
- /* Extract backtrace data */
109
- $file = str_replace( ABSPATH, '', $backtrace['file'] );
110
- $line = (int) $backtrace['line'];
111
-
112
- /* Response code */
113
- $code = ( is_wp_error( $response ) ? -1 : wp_remote_retrieve_response_code( $response ) );
114
-
115
- $postdata = self::_get_postdata( $args );
116
-
117
- if ( ! $postdata ) {
118
- return false;
119
- }
120
-
121
- /* Insert CPT */
122
- $this->insert_post(
123
- array(
124
- 'url' => esc_url_raw( $url ),
125
- 'code' => $code,
126
- 'host' => $host,
127
- 'file' => $file,
128
- 'line' => $line,
129
- 'meta' => $meta,
130
- 'postdata' => $postdata,
131
- )
132
- );
133
- }
134
-
135
- /**
136
- * Insert the telemetry post.
137
- * @since 1.0.0
138
- * @access private
139
- * @param array $meta Meta values.
140
- * @return int The post ID.
141
- */
142
- private function insert_post( $meta ) {
143
- /* Empty? */
144
- if ( empty( $meta ) ) {
145
- return;
146
- }
147
-
148
- /* Create post */
149
- $post_id = wp_insert_post(
150
- array(
151
- 'post_status' => 'publish',
152
- 'post_type' => 'telemetry',
153
- )
154
- );
155
-
156
- /* Add meta values */
157
- foreach ( (array) $meta as $key => $value ) {
158
- add_post_meta( $post_id, '_gdpr_telemetry_' . $key, $value, true );
159
- }
160
-
161
- return $post_id;
162
- }
163
-
164
- /**
165
- * Add a Delete All button on top of the table.
166
- * @param string $post_type The post type.
167
- * @static
168
- * @since 1.0.0
169
- */
170
- public static function actions_above_table( $post_type ) {
171
- if ( 'telemetry' !== $post_type ) {
172
- return;
173
- }
174
-
175
- $url = wp_nonce_url(
176
- add_query_arg(
177
- array(
178
- 'action' => 'delete_all',
179
- 'post_type' => 'telemetry',
180
- 'post_status' => 'publish',
181
- ),
182
- admin_url( 'edit.php' )
183
- ),
184
- 'bulk-posts'
185
- );
186
- ?>
187
- <a href="<?php echo esc_url( $url ); ?>" class="button"><?php echo esc_html__( 'Delete all', 'gdpr' ); ?></a>
188
- <?php
189
- }
190
-
191
- /**
192
- * Adding custom columns.
193
- * @since 1.0.0
194
- * @param array $columns The columns array.
195
- * @return array The new columns.
196
- */
197
- public function manage_columns( $columns ) {
198
- return array(
199
- 'url' => esc_html__( 'Destination', 'gdpr' ),
200
- 'file' => esc_html__( 'File', 'gdpr' ),
201
- 'code' => esc_html__( 'Code', 'gdpr' ),
202
- 'created' => esc_html__( 'Time', 'gdpr' ),
203
- 'postdata' => esc_html__( 'Data', 'gdpr' ),
204
- );
205
- }
206
-
207
- /**
208
- * Custom columns hook.
209
- * @since 1.0.0
210
- * @static
211
- * @param string $column The column ID.
212
- * @param int $post_id The post ID.
213
- */
214
- public static function custom_column( $column, $post_id ) {
215
- /* Column types */
216
- $types = array(
217
- 'url' => array( __CLASS__, '_html_url' ),
218
- 'file' => array( __CLASS__, '_html_file' ),
219
- 'code' => array( __CLASS__, '_html_code' ),
220
- 'created' => array( __CLASS__, '_html_created' ),
221
- 'postdata' => array( __CLASS__, '_html_postdata' ),
222
- );
223
-
224
- /* If type exists */
225
- if ( ! empty( $types[ $column ] ) ) {
226
- /* Callback */
227
- $callback = $types[ $column ];
228
-
229
- /* Execute */
230
- if ( is_callable( $callback ) ) {
231
- call_user_func( $callback, $post_id );
232
- }
233
- }
234
- }
235
-
236
- /**
237
- * The URL column callback.
238
- * @since 1.0.0
239
- * @static
240
- * @access private
241
- * @param int $post_id The post ID.
242
- */
243
- private static function _html_url( $post_id ) {
244
- /* Init data */
245
- $url = self::_get_post_meta( $post_id, 'url' );
246
- $host = self::_get_post_meta( $post_id, 'host' );
247
-
248
- /* Print output */
249
- echo sprintf(
250
- '<div>%s</div>',
251
- str_replace( $host, '<code>' . $host . '</code>', esc_url( $url ) )
252
- ); // WPCS: XSS ok.
253
- }
254
-
255
- /**
256
- * The file column callback.
257
- * @since 1.0.0
258
- * @access private
259
- * @static
260
- * @param int $post_id The post ID.
261
- */
262
- private static function _html_file( $post_id ) {
263
- $file = self::_get_post_meta( $post_id, 'file' );
264
- $line = self::_get_post_meta( $post_id, 'line' );
265
- $meta = self::_get_post_meta( $post_id, 'meta' );
266
-
267
- /* Print output */
268
- echo sprintf(
269
- '<div>%s: %s<br /><code>/%s:%d</code></div>',
270
- esc_html( $meta['type'] ),
271
- esc_html( $meta['name'] ),
272
- esc_html( $file ),
273
- esc_html( $line )
274
- );
275
- }
276
-
277
- /**
278
- * The response code column callback.
279
- * @since 1.0.0
280
- * @access private
281
- * @static
282
- * @param int $post_id The post ID.
283
- */
284
- private static function _html_code( $post_id ) {
285
- echo esc_html( self::_get_post_meta( $post_id, 'code' ) );
286
- }
287
-
288
- /**
289
- * The created column callback.
290
- * @since 1.0.0
291
- * @access private
292
- * @static
293
- * @param int $post_id The post ID.
294
- */
295
- private static function _html_created( $post_id ) {
296
- /* translators: Amount of time */
297
- echo sprintf(
298
- esc_html__( '%s ago' ),
299
- esc_html( human_time_diff( get_post_time( 'G', true, $post_id ) ) )
300
- );
301
- }
302
-
303
- /**
304
- * The post data column callback.
305
- * @since 1.0.0
306
- * @access private
307
- * @static
308
- * @param int $post_id The post ID.
309
- */
310
- private static function _html_postdata( $post_id ) {
311
- /* Item post data */
312
- $postdata = self::_get_post_meta( $post_id, 'postdata' );
313
-
314
- /* Empty data? */
315
- if ( empty( $postdata ) ) {
316
- return;
317
- }
318
-
319
- /* Parse POST data */
320
- if ( ! is_array( $postdata ) ) {
321
- wp_parse_str( $postdata, $postdata );
322
- }
323
-
324
- /* Empty array? */
325
- if ( empty( $postdata ) ) {
326
- return;
327
- }
328
-
329
- /* Thickbox content start */
330
- echo sprintf(
331
- '<div id="gdpr-telemetry-thickbox-%d" class="gdpr-hidden"><pre>',
332
- absint( $post_id )
333
- );
334
-
335
- /* POST data */
336
- print_r( $postdata );
337
-
338
- /* Thickbox content end */
339
- echo '</pre></div>';
340
-
341
- /* Thickbox button */
342
- echo sprintf(
343
- '<a href="#TB_inline?width=400&height=300&inlineId=gdpr-telemetry-thickbox-%d" class="button thickbox">%s</a>',
344
- absint( $post_id ),
345
- esc_html__( 'Show', 'gdpr' )
346
- );
347
- }
348
-
349
- /**
350
- * Get the post meta we care about.
351
- * @since 1.0.0
352
- * @access private
353
- * @static
354
- * @param int $post_id The post ID.
355
- * @param string $key The key that matters to us.
356
- * @return mixed The post meta.
357
- */
358
- private static function _get_post_meta( $post_id, $key ) {
359
- $value = get_post_meta( $post_id, '_gdpr_telemetry_' . $key, true );
360
- if ( $value ) {
361
- return $value;
362
- }
363
-
364
- return get_post_meta( $post_id, $key, true );
365
- }
366
-
367
- /**
368
- * The debug backtrace of the call. This gives us the file and line of origin of the call.
369
- * @since 1.0.0
370
- * @access private
371
- * @static
372
- * @return array Extra information about the call like File and Line.
373
- */
374
- private static function _debug_backtrace() {
375
- /* Reverse items */
376
- $trace = array_reverse( debug_backtrace() );
377
-
378
- /* Loop items */
379
- foreach ( $trace as $index => $item ) {
380
- if ( ! empty( $item['function'] ) && strpos( $item['function'], 'wp_remote_' ) !== false ) {
381
- /* Use prev item */
382
- if ( empty( $item['file'] ) ) {
383
- $item = $trace[ -- $index ];
384
- }
385
-
386
- /* Get file and line */
387
- if ( ! empty( $item['file'] ) && ! empty( $item['line'] ) ) {
388
- return $item;
389
- }
390
- }
391
- }
392
- }
393
-
394
- /**
395
- * Is the call coming from a theme or plugin?
396
- * @since 1.0.0
397
- * @access private
398
- * @static
399
- * @param string $path Path to the file.
400
- * @return array The name of the plugin or theme that made the call.
401
- */
402
- private static function _face_detect( $path ) {
403
- /* Default */
404
- $meta = array(
405
- 'type' => 'WordPress',
406
- 'name' => 'Core',
407
- );
408
-
409
- /* Empty path */
410
- if ( empty( $path ) ) {
411
- return $meta;
412
- }
413
-
414
- /* Search for plugin */
415
- if ( self::_localize_plugin( $path ) ) {
416
- $data = self::_localize_plugin( $path );
417
- return array(
418
- 'type' => 'Plugin',
419
- 'name' => $data['Name'],
420
- );
421
-
422
- /* Search for theme */
423
- } elseif ( self::_localize_theme( $path ) ) {
424
- $data = self::_localize_theme( $path );
425
- return array(
426
- 'type' => 'Theme',
427
- 'name' => $data->get( 'Name' ),
428
- );
429
- }
430
-
431
- return $meta;
432
- }
433
-
434
- /**
435
- * Figures out if the file that made the call belongs to a plugin.
436
- * @since 1.0.0
437
- * @access private
438
- * @static
439
- * @param string $path The path to the file that made the call.
440
- * @return string The plugin name.
441
- */
442
- private static function _localize_plugin( $path ) {
443
- /* Check path */
444
- if ( false === strpos( $path, WP_PLUGIN_DIR ) ) {
445
- return false;
446
- }
447
-
448
- /* Reduce path */
449
- $path = ltrim( str_replace( WP_PLUGIN_DIR, '', $path ), DIRECTORY_SEPARATOR );
450
-
451
- /* Get plugin folder */
452
- $folder = substr( $path, 0, strpos( $path, DIRECTORY_SEPARATOR ) ) . DIRECTORY_SEPARATOR;
453
-
454
- /* Frontend */
455
- if ( ! function_exists( 'get_plugins' ) ) {
456
- require_once( ABSPATH . 'wp-admin/includes/plugin.php' );
457
- }
458
-
459
- /* All active plugins */
460
- $plugins = get_plugins();
461
-
462
- /* Loop plugins */
463
- foreach ( $plugins as $path => $plugin ) {
464
- if ( 0 === strpos( $path, $folder ) ) {
465
- return $plugin;
466
- }
467
- }
468
- }
469
-
470
- /**
471
- * Figures out if the file that made the call belongs to a theme.
472
- * @since 1.0.0
473
- * @access private
474
- * @static
475
- * @param string $path The path to the file that made the call.
476
- * @return string The theme name.
477
- */
478
- private static function _localize_theme( $path ) {
479
- /* Check path */
480
- if ( false === strpos( $path, get_theme_root() ) ) {
481
- return false;
482
- }
483
-
484
- /* Reduce path */
485
- $path = ltrim( str_replace( get_theme_root(), '', $path ), DIRECTORY_SEPARATOR );
486
-
487
- /* Get theme folder */
488
- $folder = substr( $path, 0, strpos( $path, DIRECTORY_SEPARATOR ) );
489
-
490
- /* Get theme */
491
- $theme = wp_get_theme( $folder );
492
-
493
- /* Check & return theme */
494
- if ( $theme->exists() ) {
495
- return $theme;
496
- }
497
-
498
- return false;
499
- }
500
-
501
- /**
502
- * The data that was transmitted.
503
- * @since 1.0.0
504
- * @access private
505
- * @static
506
- * @param array $args The http call arguments.
507
- * @return mixed The request body.
508
- */
509
- private static function _get_postdata( $args ) {
510
- /* No POST data? */
511
- if ( empty( $args['method'] ) or 'POST' !== $args['method'] ) {
512
- return null;
513
- }
514
-
515
- /* No body data? */
516
- if ( empty( $args['body'] ) ) {
517
- return null;
518
- }
519
-
520
- return $args['body'];
521
- }
522
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/partials/requests.php CHANGED
@@ -19,7 +19,7 @@
19
  <?php settings_errors(); ?>
20
  <div class="nav-tab-wrapper">
21
  <?php foreach ( $tabs as $key => $value ) : ?>
22
- <a href="<?php echo esc_html( '#' . $key ); ?>" class="nav-tab">
23
  <?php echo esc_html( $value['name'] ); ?>
24
  <?php if ( $value['count'] ) : ?>
25
  <span class="gdpr-pending-requests-badge"><?php echo esc_html( $value['count'] ); ?></span>
@@ -235,7 +235,11 @@
235
  if ( $uid && $uid instanceof WP_User ) {
236
  $uid = $uid->ID;
237
  }
 
 
 
238
  $count = count_user_posts( $uid, $pt->name );
 
239
  if ( '0' === $count ) {
240
  continue;
241
  }
19
  <?php settings_errors(); ?>
20
  <div class="nav-tab-wrapper">
21
  <?php foreach ( $tabs as $key => $value ) : ?>
22
+ <a href="<?php echo esc_url( '#' . $key ); ?>" class="nav-tab">
23
  <?php echo esc_html( $value['name'] ); ?>
24
  <?php if ( $value['count'] ) : ?>
25
  <span class="gdpr-pending-requests-badge"><?php echo esc_html( $value['count'] ); ?></span>
235
  if ( $uid && $uid instanceof WP_User ) {
236
  $uid = $uid->ID;
237
  }
238
+ if ( defined( 'WPCOM_IS_VIP_ENV' ) && WPCOM_IS_VIP_ENV ) {
239
+ $count = wpcom_vip_count_user_posts( $uid, $pt->name );
240
+ } else {
241
  $count = count_user_posts( $uid, $pt->name );
242
+ }
243
  if ( '0' === $count ) {
244
  continue;
245
  }
admin/partials/settings.php CHANGED
@@ -13,7 +13,7 @@
13
  <th scope="row">
14
  <label for="gdpr_email_limit"><?php esc_html_e( 'Outgoing email limit', 'gdpr' ); ?>:</label>
15
  <span class="screen-reader-text"><?php esc_attr_e( 'This is the hourly outgoing email limit set by your server.', 'gdpr' ); ?></span>
16
- <span data-tooltip="<?php esc_attr_e( 'This is the hourly outgoing email limit set by your server.', 'gdpr' ); ?>">
17
  <span class="dashicons dashicons-info"></span>
18
  </span>
19
  </th>
@@ -27,7 +27,7 @@
27
  <th scope="row">
28
  <label for="gdpr_deletion_needs_review"><?php esc_html_e( 'User deletion', 'gdpr' ); ?>:</label>
29
  <span class="screen-reader-text"><?php esc_attr_e( 'Useful if you need to remove the user from third-party services.', 'gdpr' ); ?></span>
30
- <span data-tooltip="<?php esc_attr_e( 'Useful if you need to remove the user from third-party services.', 'gdpr' ); ?>">
31
  <span class="dashicons dashicons-info"></span>
32
  </span>
33
  </th>
@@ -59,20 +59,19 @@
59
  <th scope="row">
60
  <label for="gdpr_enable_telemetry_tracker"><?php esc_html_e( 'Enable the Telemetry Tracker', 'gdpr' ); ?>:</label>
61
  <span class="screen-reader-text"><?php esc_attr_e( 'This tracks data that is being sent to outside servers.', 'gdpr' ); ?></span>
62
- <span data-tooltip="<?php esc_attr_e( 'This tracks data that is being sent to outside servers.', 'gdpr' ); ?>">
63
  <span class="dashicons dashicons-info"></span>
64
  </span>
65
  </th>
66
  <td>
67
- <?php $enable_telemetry = get_option( 'gdpr_enable_telemetry_tracker', false ); ?>
68
- <input type="checkbox" name="gdpr_enable_telemetry_tracker" id="gdpr_enable_telemetry_tracker" value="1" <?php checked( $enable_telemetry, true ); ?>><label for="gdpr_enable_telemetry_tracker"><span class="description"><?php esc_html_e( 'Toggles the Telemetry Tracker On/Off. (experimental)', 'gdpr' ); ?></span></label>
69
  </td>
70
  </tr>
71
  <tr>
72
  <th scope="row">
73
  <label for="gdpr_hide_from_bots"><?php esc_html_e( 'Hide plugin content from bots', 'gdpr' ); ?>:</label>
74
  <span class="screen-reader-text"><?php esc_attr_e( 'We detect if the user agent is a bot like Googlebot and hide our added content from it. Displaying this content might be harmful for SEO.', 'gdpr' ); ?></span>
75
- <span data-tooltip="<?php esc_attr_e( 'We detect if the user agent is a bot like Googlebot and hide our added content from it. Displaying this content might be harmful for SEO.', 'gdpr' ); ?>">
76
  <span class="dashicons dashicons-info"></span>
77
  </span>
78
  </th>
@@ -85,15 +84,15 @@
85
  <th scope="row">
86
  <label for="gdpr_reconsent_template"><?php esc_html_e( 'Template to use when asking for re-consent', 'gdpr' ); ?>:</label>
87
  <span class="screen-reader-text"><?php esc_attr_e( 'Users can choose between a bar similar to the privacy bar that does not prevent navigation and a modal that displays the new policy content and prevents navigation until accepted.', 'gdpr' ); ?></span>
88
- <span data-tooltip="<?php esc_attr_e( 'Users can choose between a bar similar to the privacy bar that does not prevent navigation and a modal that displays the new policy content and prevents navigation until accepted.', 'gdpr' ); ?>">
89
  <span class="dashicons dashicons-info"></span>
90
  </span>
91
  </th>
92
  <td>
93
  <?php $reconsent_template = get_option( 'gdpr_reconsent_template', 'modal' ); ?>
94
  <select name="gdpr_reconsent_template" id="gdpr_reconsent_template">
95
- <option value="bar" <?php selected( 'bar', $reconsent_template ) ?>><?php esc_html_e( 'Bar', 'gdpr' ); ?></option>
96
- <option value="modal" <?php selected( 'modal', $reconsent_template ) ?>><?php esc_html_e( 'Modal', 'gdpr' ); ?></option>
97
  </select>
98
  </td>
99
  </tr>
@@ -127,7 +126,7 @@
127
  <th scope="row">
128
  <label for="gdpr_cookie_banner_content"><?php esc_html_e( 'Privacy Bar Content', 'gdpr' ); ?>:</label>
129
  <span class="screen-reader-text"><?php esc_attr_e( 'Add a brief explanation of how your site collects user data. This will show up in the privacy bar.', 'gdpr' ); ?></span>
130
- <span data-tooltip="<?php esc_attr_e( 'Add a brief explanation of how your site collects user data. This will show up in the privacy bar.', 'gdpr' ); ?>">
131
  <span class="dashicons dashicons-info"></span>
132
  </span>
133
  </th>
@@ -140,7 +139,7 @@
140
  <th scope="row">
141
  <label for="gdpr_cookie_privacy_excerpt"><?php esc_html_e( 'Privacy Excerpt', 'gdpr' ); ?>:</label>
142
  <span class="screen-reader-text"><?php esc_attr_e( 'This will show up in the privacy preferences window.', 'gdpr' ); ?></span>
143
- <span data-tooltip="<?php esc_attr_e( 'This will show up in the privacy preferences window.', 'gdpr' ); ?>">
144
  <span class="dashicons dashicons-info"></span>
145
  </span>
146
  </th>
@@ -227,94 +226,94 @@
227
  <input type="text" id="cookie-tabs" class="regular-text" placeholder="<?php esc_attr_e( 'Category name', 'gdpr' ); ?>">
228
  <button class="button button-primary add-tab"><?php esc_html_e( 'Add cookie category', 'gdpr' ); ?></button>
229
  <div id="gdpr-cookie-categories">
230
- <?php foreach ( $registered_cookies as $cat_id => $cookie_cat ) : ?>
231
- <div class="postbox" id="cookie-tab-content-<?php echo esc_attr( $cat_id ); ?>">
232
- <h2 class="hndle"><?php echo esc_html( $cookie_cat['name'] ); ?> <span>(id: <?php echo esc_html( $cat_id ); ?>)</span><button class="notice-dismiss" type="button"><span class="screen-reader-text"><?php esc_html_e( 'Remove this tab.', 'gdpr' ); ?></span></button></h2>
233
  <div class="inside">
234
  <table class="form-table">
235
  <tr>
236
  <th>
237
- <label for="rename-<?php echo esc_attr( $cat_id ); ?>">
238
  <?php esc_html_e( 'Category Name', 'gdpr' ); ?>:<span class="gdpr-required">*</span>
239
  <span class="screen-reader-text"><?php esc_attr_e( 'Change this value if you want to name it something different.', 'gdpr' ); ?></span>
240
- <span data-tooltip="<?php esc_attr_e( 'Change this value if you want to name it something different.', 'gdpr' ); ?>">
241
  <span class="dashicons dashicons-info"></span>
242
  </span>
243
  </label>
244
  </th>
245
  <td>
246
- <input type="text" name="gdpr_cookie_popup_content[<?php echo esc_attr( $cat_id ); ?>][name]" value="<?php echo esc_attr( $cookie_cat['name'] ); ?>" required>
247
  </td>
248
  </tr>
249
  <tr>
250
  <th>
251
- <label for="status-<?php echo esc_attr( $cat_id ); ?>">
252
  <?php esc_html_e( 'Status', 'gdpr' ); ?>:<span class="gdpr-required">*</span>
253
  <span class="screen-reader-text"><?php esc_attr_e( 'Required cookies are cookies that cannot be opted out of and are needed for the site to function properly. Soft opt-in will allow cookies on first landing but can be opted-out of. Checked means that the cookie category will be checked by default and will be set after the user agrees to them. Unchecked means the user needs to manually toggle the category on to allow these cookies.', 'gdpr' ); ?></span>
254
- <span data-tooltip="<?php esc_attr_e( 'Required cookies are cookies that cannot be opted out of and are needed for the site to function properly. Soft opt-in will allow cookies on first landing but can be opted-out of. Checked means that the cookie category will be checked by default and will be set after the user agrees to them. Unchecked means the user needs to manually toggle the category on to allow these cookies.', 'gdpr' ); ?>">
255
  <span class="dashicons dashicons-info"></span>
256
  </span>
257
  </label>
258
  </th>
259
  <td>
260
- <select name="gdpr_cookie_popup_content[<?php echo esc_attr( $cat_id ); ?>][status]" id="status-<?php echo esc_attr( $cat_id ); ?>" required>
261
  <option value=""></option>
262
- <option value="required" <?php selected( isset( $registered_cookies[ $cat_id ]['status'] ) ? $registered_cookies[ $cat_id ]['status'] : '', 'required' ); ?>><?php esc_html_e( 'Required', 'gdpr' ); ?></option>
263
- <option value="soft" <?php selected( isset( $registered_cookies[ $cat_id ]['status'] ) ? $registered_cookies[ $cat_id ]['status'] : '', 'soft' ); ?>><?php esc_html_e( 'Soft Opt-in', 'gdpr' ); ?></option>
264
- <option value="on" <?php selected( isset( $registered_cookies[ $cat_id ]['status'] ) ? $registered_cookies[ $cat_id ]['status'] : '', 'on' ); ?>><?php esc_html_e( 'Checked', 'gdpr' ); ?></option>
265
- <option value="off" <?php selected( isset( $registered_cookies[ $cat_id ]['status'] ) ? $registered_cookies[ $cat_id ]['status'] : '', 'off' ); ?>><?php esc_html_e( 'Unchecked', 'gdpr' ); ?></option>
266
  </select>
267
  </td>
268
  </tr>
269
  <tr>
270
  <th>
271
- <label for="cookies-used-<?php echo esc_attr( $cat_id ); ?>">
272
  <?php esc_html_e( 'Cookies used', 'gdpr' ); ?>:
273
  <span class="screen-reader-text"><?php esc_attr_e( 'A comma-separated list of cookies that your site is using that fit this category.', 'gdpr' ); ?></span>
274
- <span data-tooltip="<?php esc_attr_e( 'A comma-separated list of cookies that your site is using that fit this category.', 'gdpr' ); ?>">
275
  <span class="dashicons dashicons-info"></span>
276
  </span>
277
  </label>
278
  </th>
279
  <td>
280
- <textarea cols="53" rows="3" name="gdpr_cookie_popup_content[<?php echo esc_attr( $cat_id ); ?>][cookies_used]" id="cookies-used-<?php echo esc_attr( $cat_id ); ?>"><?php echo esc_attr( $registered_cookies[ $cat_id ]['cookies_used'] ); ?></textarea>
281
  <br>
282
  <span class="description"><?php esc_html_e( 'Comma separated list.', 'gdpr' ); ?></span>
283
  </td>
284
  </tr>
285
  <tr>
286
  <th>
287
- <label for="tab-how-we-use-<?php echo esc_attr( $cat_id ); ?>">
288
  <?php esc_html_e( 'How are these used', 'gdpr' ); ?>:
289
  <span class="screen-reader-text"><?php esc_attr_e( 'A brief explanation of why you are requesting to use these cookies, what they are for, and how you process them.', 'gdpr' ); ?></span>
290
- <span data-tooltip="<?php esc_attr_e( 'A brief explanation of why you are requesting to use these cookies, what they are for, and how you process them.', 'gdpr' ); ?>">
291
  <span class="dashicons dashicons-info"></span>
292
  </span>
293
  </label>
294
  </th>
295
- <td><textarea name="gdpr_cookie_popup_content[<?php echo esc_attr( $cat_id ); ?>][how_we_use]" id="tab-how-we-use-<?php echo esc_attr( $cat_id ); ?>" cols="53" rows="3"><?php echo esc_html( $registered_cookies[ $cat_id ]['how_we_use'] ); ?></textarea></td>
296
  </tr>
297
  <tr>
298
  <th>
299
- <label for="hosts-<?php echo esc_attr( $cat_id ); ?>">
300
  <?php esc_html_e( 'Third party domain', 'gdpr' ); ?>:
301
  <span class="screen-reader-text"><?php esc_attr_e( 'E.g. facebook.com', 'gdpr' ); ?></span>
302
- <span data-tooltip="<?php esc_attr_e( 'E.g. facebook.com', 'gdpr' ); ?>">
303
  <span class="dashicons dashicons-info"></span>
304
  </span>
305
  </label>
306
  </th>
307
  <td>
308
- <input type="text" id="hosts-<?php echo esc_attr( $cat_id ); ?>" class="regular-text" placeholder="<?php esc_attr_e( 'domain.com', 'gdpr' ); ?>" />
309
- <button class="button button-primary add-host" data-tabid="<?php echo esc_attr( $cat_id ); ?>"><?php esc_html_e( 'Add', 'gdpr' ); ?></button>
310
  <br>
311
  <span class="description"><?php esc_html_e( 'Cookies that are set by a third party, like facebook.com.', 'gdpr' ); ?></span>
312
  </td>
313
  </tr>
314
  </table>
315
- <div class="tab-hosts" data-tabid="<?php echo esc_attr( $cat_id ); ?>">
316
  <?php if ( isset( $cookie_cat['hosts'] ) && $cookie_cat['hosts'] ) : ?>
317
- <?php foreach ( $cookie_cat['hosts'] as $domain_id => $domain ) : ?>
318
  <div class="postbox">
319
  <h2 class="hndle"><?php echo esc_attr( $domain_id ); ?><button class="notice-dismiss" type="button" aria-label="<?php esc_attr_e( 'Remove this domain.', 'gdpr' ); ?>"></button></h2>
320
  <div class="inside">
@@ -324,13 +323,13 @@
324
  <label for="hosts-cookies-used-<?php echo esc_attr( $domain_id ); ?>">
325
  <?php esc_html_e( 'Cookies used', 'gdpr' ); ?>:
326
  <span class="screen-reader-text"><?php esc_attr_e( 'A comma separated list of cookies that your site is using from this third-party provider.', 'gdpr' ); ?></span>
327
- <span data-tooltip="<?php esc_attr_e( 'A comma separated list of cookies that your site is using from this third-party provider.', 'gdpr' ); ?>">
328
  <span class="dashicons dashicons-info"></span>
329
  </span>
330
  </label>
331
  </th>
332
  <td>
333
- <textarea cols="53" rows="3" name="gdpr_cookie_popup_content[<?php echo esc_attr( $cat_id ); ?>][hosts][<?php echo esc_attr( $domain_id ); ?>][cookies_used]" id="hosts-cookies-used-<?php echo esc_attr( $domain_id ); ?>"><?php echo esc_attr( $domain['cookies_used'] ); ?></textarea>
334
  </td>
335
  </tr>
336
  <tr>
@@ -338,13 +337,13 @@
338
  <label for="hosts-cookies-optout-<?php echo esc_attr( $domain_id ); ?>">
339
  <?php esc_html_e( 'Opt Out Link', 'gdpr' ); ?>:
340
  <span class="screen-reader-text"><?php esc_attr_e( 'Add a link with the third-party instructions on how to opt out of their cookies.', 'gdpr' ); ?></span>
341
- <span data-tooltip="<?php esc_attr_e( 'Add a link with the third-party instructions on how to opt out of their cookies.', 'gdpr' ); ?>">
342
  <span class="dashicons dashicons-info"></span>
343
  </span>
344
  </label>
345
  </th>
346
  <td>
347
- <input type="text" name="gdpr_cookie_popup_content[<?php echo esc_attr( $cat_id ); ?>][hosts][<?php echo esc_attr( $domain_id ); ?>][optout]" value="<?php echo esc_attr( $domain['optout'] ); ?>" id="hosts-cookies-optout-<?php echo esc_attr( $domain_id ); ?>" class="regular-text" />
348
  <br>
349
  <span class="description"><?php esc_html_e( 'Url with instructions on how to opt out.', 'gdpr' ); ?></span>
350
  </td>
@@ -377,7 +376,7 @@
377
  <label for="consent-policy-page-<?php echo esc_attr( $consent_id ); ?>">
378
  <?php esc_html_e( 'Policy Page', 'gdpr' ); ?>:
379
  <span class="screen-reader-text"><?php esc_attr_e( 'This page will be tracked for changes and you will be prompted to ask users to re-consent to the new policy. Selecting a page will make this consent required.', 'gdpr' ); ?></span>
380
- <span data-tooltip="<?php esc_attr_e( 'This page will be tracked for changes and you will be prompted to ask users to re-consent to the new policy. Selecting a page will make this consent required.', 'gdpr' ); ?>">
381
  <span class="dashicons dashicons-info"></span>
382
  </span>
383
  </label>
@@ -396,7 +395,7 @@
396
  <label for="consent-description-<?php echo esc_attr( $consent_id ); ?>">
397
  <?php esc_html_e( 'Long description', 'gdpr' ); ?>:<span class="gdpr-required">*</span>
398
  <span class="screen-reader-text"><?php esc_attr_e( 'This will show up at the privacy preferences center, under the name of the consent.', 'gdpr' ); ?></span>
399
- <span data-tooltip="<?php esc_attr_e( 'This will show up at the privacy preferences center, under the name of the consent.', 'gdpr' ); ?>">
400
  <span class="dashicons dashicons-info"></span>
401
  </span>
402
  </label>
@@ -408,7 +407,7 @@
408
  <label for="consent-registration-<?php echo esc_attr( $consent_id ); ?>">
409
  <?php esc_html_e( 'Short description', 'gdpr' ); ?>:<span class="gdpr-required">*</span>
410
  <span class="screen-reader-text"><?php esc_attr_e( 'This will show up at registration forms next to checkboxes.', 'gdpr' ); ?></span>
411
- <span data-tooltip="<?php esc_attr_e( 'This will show up at registration forms next to checkboxes.', 'gdpr' ); ?>">
412
  <span class="dashicons dashicons-info"></span>
413
  </span>
414
  </label>
13
  <th scope="row">
14
  <label for="gdpr_email_limit"><?php esc_html_e( 'Outgoing email limit', 'gdpr' ); ?>:</label>
15
  <span class="screen-reader-text"><?php esc_attr_e( 'This is the hourly outgoing email limit set by your server.', 'gdpr' ); ?></span>
16
+ <span data-gdprtooltip="<?php esc_attr_e( 'This is the hourly outgoing email limit set by your server.', 'gdpr' ); ?>">
17
  <span class="dashicons dashicons-info"></span>
18
  </span>
19
  </th>
27
  <th scope="row">
28
  <label for="gdpr_deletion_needs_review"><?php esc_html_e( 'User deletion', 'gdpr' ); ?>:</label>
29
  <span class="screen-reader-text"><?php esc_attr_e( 'Useful if you need to remove the user from third-party services.', 'gdpr' ); ?></span>
30
+ <span data-gdprtooltip="<?php esc_attr_e( 'Useful if you need to remove the user from third-party services.', 'gdpr' ); ?>">
31
  <span class="dashicons dashicons-info"></span>
32
  </span>
33
  </th>
59
  <th scope="row">
60
  <label for="gdpr_enable_telemetry_tracker"><?php esc_html_e( 'Enable the Telemetry Tracker', 'gdpr' ); ?>:</label>
61
  <span class="screen-reader-text"><?php esc_attr_e( 'This tracks data that is being sent to outside servers.', 'gdpr' ); ?></span>
62
+ <span data-gdprtooltip="<?php esc_attr_e( 'This tracks data that is being sent to outside servers.', 'gdpr' ); ?>">
63
  <span class="dashicons dashicons-info"></span>
64
  </span>
65
  </th>
66
  <td>
67
+ <input type="checkbox" name="gdpr_enable_telemetry_tracker" id="gdpr_enable_telemetry_tracker" value="1" disabled><label for="gdpr_enable_telemetry_tracker"><span class="description"><?php echo sprintf( esc_html( 'The telemetry component has been discontinued. If you liked that feature and wants to use it, I recommend that you install this plugin: %s', 'gdpr' ), '<a href="https://wordpress.org/plugins/snitch/" target="_blank">Snitch</a>' ); ?></span></label>
 
68
  </td>
69
  </tr>
70
  <tr>
71
  <th scope="row">
72
  <label for="gdpr_hide_from_bots"><?php esc_html_e( 'Hide plugin content from bots', 'gdpr' ); ?>:</label>
73
  <span class="screen-reader-text"><?php esc_attr_e( 'We detect if the user agent is a bot like Googlebot and hide our added content from it. Displaying this content might be harmful for SEO.', 'gdpr' ); ?></span>
74
+ <span data-gdprtooltip="<?php esc_attr_e( 'We detect if the user agent is a bot like Googlebot and hide our added content from it. Displaying this content might be harmful for SEO.', 'gdpr' ); ?>">
75
  <span class="dashicons dashicons-info"></span>
76
  </span>
77
  </th>
84
  <th scope="row">
85
  <label for="gdpr_reconsent_template"><?php esc_html_e( 'Template to use when asking for re-consent', 'gdpr' ); ?>:</label>
86
  <span class="screen-reader-text"><?php esc_attr_e( 'Users can choose between a bar similar to the privacy bar that does not prevent navigation and a modal that displays the new policy content and prevents navigation until accepted.', 'gdpr' ); ?></span>
87
+ <span data-gdprtooltip="<?php esc_attr_e( 'Users can choose between a bar similar to the privacy bar that does not prevent navigation and a modal that displays the new policy content and prevents navigation until accepted.', 'gdpr' ); ?>">
88
  <span class="dashicons dashicons-info"></span>
89
  </span>
90
  </th>
91
  <td>
92
  <?php $reconsent_template = get_option( 'gdpr_reconsent_template', 'modal' ); ?>
93
  <select name="gdpr_reconsent_template" id="gdpr_reconsent_template">
94
+ <option value="bar" <?php selected( 'bar', $reconsent_template ); ?>><?php esc_html_e( 'Bar', 'gdpr' ); ?></option>
95
+ <option value="modal" <?php selected( 'modal', $reconsent_template ); ?>><?php esc_html_e( 'Modal', 'gdpr' ); ?></option>
96
  </select>
97
  </td>
98
  </tr>
126
  <th scope="row">
127
  <label for="gdpr_cookie_banner_content"><?php esc_html_e( 'Privacy Bar Content', 'gdpr' ); ?>:</label>
128
  <span class="screen-reader-text"><?php esc_attr_e( 'Add a brief explanation of how your site collects user data. This will show up in the privacy bar.', 'gdpr' ); ?></span>
129
+ <span data-gdprtooltip="<?php esc_attr_e( 'Add a brief explanation of how your site collects user data. This will show up in the privacy bar.', 'gdpr' ); ?>">
130
  <span class="dashicons dashicons-info"></span>
131
  </span>
132
  </th>
139
  <th scope="row">
140
  <label for="gdpr_cookie_privacy_excerpt"><?php esc_html_e( 'Privacy Excerpt', 'gdpr' ); ?>:</label>
141
  <span class="screen-reader-text"><?php esc_attr_e( 'This will show up in the privacy preferences window.', 'gdpr' ); ?></span>
142
+ <span data-gdprtooltip="<?php esc_attr_e( 'This will show up in the privacy preferences window.', 'gdpr' ); ?>">
143
  <span class="dashicons dashicons-info"></span>
144
  </span>
145
  </th>
226
  <input type="text" id="cookie-tabs" class="regular-text" placeholder="<?php esc_attr_e( 'Category name', 'gdpr' ); ?>">
227
  <button class="button button-primary add-tab"><?php esc_html_e( 'Add cookie category', 'gdpr' ); ?></button>
228
  <div id="gdpr-cookie-categories">
229
+ <?php foreach ( $registered_cookies as $cookie_cat_id => $cookie_cat ) : ?>
230
+ <div class="postbox" id="cookie-tab-content-<?php echo esc_attr( $cookie_cat_id ); ?>">
231
+ <h2 class="hndle"><?php echo esc_html( $cookie_cat['name'] ); ?> <span>(id: <?php echo esc_html( $cookie_cat_id ); ?>)</span><button class="notice-dismiss" type="button"><span class="screen-reader-text"><?php esc_html_e( 'Remove this tab.', 'gdpr' ); ?></span></button></h2>
232
  <div class="inside">
233
  <table class="form-table">
234
  <tr>
235
  <th>
236
+ <label for="rename-<?php echo esc_attr( $cookie_cat_id ); ?>">
237
  <?php esc_html_e( 'Category Name', 'gdpr' ); ?>:<span class="gdpr-required">*</span>
238
  <span class="screen-reader-text"><?php esc_attr_e( 'Change this value if you want to name it something different.', 'gdpr' ); ?></span>
239
+ <span data-gdprtooltip="<?php esc_attr_e( 'Change this value if you want to name it something different.', 'gdpr' ); ?>">
240
  <span class="dashicons dashicons-info"></span>
241
  </span>
242
  </label>
243
  </th>
244
  <td>
245
+ <input type="text" name="gdpr_cookie_popup_content[<?php echo esc_attr( $cookie_cat_id ); ?>][name]" value="<?php echo esc_attr( $cookie_cat['name'] ); ?>" required>
246
  </td>
247
  </tr>
248
  <tr>
249
  <th>
250
+ <label for="status-<?php echo esc_attr( $cookie_cat_id ); ?>">
251
  <?php esc_html_e( 'Status', 'gdpr' ); ?>:<span class="gdpr-required">*</span>
252
  <span class="screen-reader-text"><?php esc_attr_e( 'Required cookies are cookies that cannot be opted out of and are needed for the site to function properly. Soft opt-in will allow cookies on first landing but can be opted-out of. Checked means that the cookie category will be checked by default and will be set after the user agrees to them. Unchecked means the user needs to manually toggle the category on to allow these cookies.', 'gdpr' ); ?></span>
253
+ <span data-gdprtooltip="<?php esc_attr_e( 'Required cookies are cookies that cannot be opted out of and are needed for the site to function properly. Soft opt-in will allow cookies on first landing but can be opted-out of. Checked means that the cookie category will be checked by default and will be set after the user agrees to them. Unchecked means the user needs to manually toggle the category on to allow these cookies.', 'gdpr' ); ?>">
254
  <span class="dashicons dashicons-info"></span>
255
  </span>
256
  </label>
257
  </th>
258
  <td>
259
+ <select name="gdpr_cookie_popup_content[<?php echo esc_attr( $cookie_cat_id ); ?>][status]" id="status-<?php echo esc_attr( $cookie_cat_id ); ?>" required>
260
  <option value=""></option>
261
+ <option value="required" <?php selected( isset( $registered_cookies[ $cookie_cat_id ]['status'] ) ? $registered_cookies[ $cookie_cat_id ]['status'] : '', 'required' ); ?>><?php esc_html_e( 'Required', 'gdpr' ); ?></option>
262
+ <option value="soft" <?php selected( isset( $registered_cookies[ $cookie_cat_id ]['status'] ) ? $registered_cookies[ $cookie_cat_id ]['status'] : '', 'soft' ); ?>><?php esc_html_e( 'Soft Opt-in', 'gdpr' ); ?></option>
263
+ <option value="on" <?php selected( isset( $registered_cookies[ $cookie_cat_id ]['status'] ) ? $registered_cookies[ $cookie_cat_id ]['status'] : '', 'on' ); ?>><?php esc_html_e( 'Checked', 'gdpr' ); ?></option>
264
+ <option value="off" <?php selected( isset( $registered_cookies[ $cookie_cat_id ]['status'] ) ? $registered_cookies[ $cookie_cat_id ]['status'] : '', 'off' ); ?>><?php esc_html_e( 'Unchecked', 'gdpr' ); ?></option>
265
  </select>
266
  </td>
267
  </tr>
268
  <tr>
269
  <th>
270
+ <label for="cookies-used-<?php echo esc_attr( $cookie_cat_id ); ?>">
271
  <?php esc_html_e( 'Cookies used', 'gdpr' ); ?>:
272
  <span class="screen-reader-text"><?php esc_attr_e( 'A comma-separated list of cookies that your site is using that fit this category.', 'gdpr' ); ?></span>
273
+ <span data-gdprtooltip="<?php esc_attr_e( 'A comma-separated list of cookies that your site is using that fit this category.', 'gdpr' ); ?>">
274
  <span class="dashicons dashicons-info"></span>
275
  </span>
276
  </label>
277
  </th>
278
  <td>
279
+ <textarea cols="53" rows="3" name="gdpr_cookie_popup_content[<?php echo esc_attr( $cookie_cat_id ); ?>][cookies_used]" id="cookies-used-<?php echo esc_attr( $cookie_cat_id ); ?>"><?php echo esc_attr( $registered_cookies[ $cookie_cat_id ]['cookies_used'] ); ?></textarea>
280
  <br>
281
  <span class="description"><?php esc_html_e( 'Comma separated list.', 'gdpr' ); ?></span>
282
  </td>
283
  </tr>
284
  <tr>
285
  <th>
286
+ <label for="tab-how-we-use-<?php echo esc_attr( $cookie_cat_id ); ?>">
287
  <?php esc_html_e( 'How are these used', 'gdpr' ); ?>:
288
  <span class="screen-reader-text"><?php esc_attr_e( 'A brief explanation of why you are requesting to use these cookies, what they are for, and how you process them.', 'gdpr' ); ?></span>
289
+ <span data-gdprtooltip="<?php esc_attr_e( 'A brief explanation of why you are requesting to use these cookies, what they are for, and how you process them.', 'gdpr' ); ?>">
290
  <span class="dashicons dashicons-info"></span>
291
  </span>
292
  </label>
293
  </th>
294
+ <td><textarea name="gdpr_cookie_popup_content[<?php echo esc_attr( $cookie_cat_id ); ?>][how_we_use]" id="tab-how-we-use-<?php echo esc_attr( $cookie_cat_id ); ?>" cols="53" rows="3"><?php echo esc_html( $registered_cookies[ $cookie_cat_id ]['how_we_use'] ); ?></textarea></td>
295
  </tr>
296
  <tr>
297
  <th>
298
+ <label for="hosts-<?php echo esc_attr( $cookie_cat_id ); ?>">
299
  <?php esc_html_e( 'Third party domain', 'gdpr' ); ?>:
300
  <span class="screen-reader-text"><?php esc_attr_e( 'E.g. facebook.com', 'gdpr' ); ?></span>
301
+ <span data-gdprtooltip="<?php esc_attr_e( 'E.g. facebook.com', 'gdpr' ); ?>">
302
  <span class="dashicons dashicons-info"></span>
303
  </span>
304
  </label>
305
  </th>
306
  <td>
307
+ <input type="text" id="hosts-<?php echo esc_attr( $cookie_cat_id ); ?>" class="regular-text" placeholder="<?php esc_attr_e( 'domain.com', 'gdpr' ); ?>" />
308
+ <button class="button button-primary add-host" data-tabid="<?php echo esc_attr( $cookie_cat_id ); ?>"><?php esc_html_e( 'Add', 'gdpr' ); ?></button>
309
  <br>
310
  <span class="description"><?php esc_html_e( 'Cookies that are set by a third party, like facebook.com.', 'gdpr' ); ?></span>
311
  </td>
312
  </tr>
313
  </table>
314
+ <div class="tab-hosts" data-tabid="<?php echo esc_attr( $cookie_cat_id ); ?>">
315
  <?php if ( isset( $cookie_cat['hosts'] ) && $cookie_cat['hosts'] ) : ?>
316
+ <?php foreach ( $cookie_cat['hosts'] as $domain_id => $domain_arr ) : ?>
317
  <div class="postbox">
318
  <h2 class="hndle"><?php echo esc_attr( $domain_id ); ?><button class="notice-dismiss" type="button" aria-label="<?php esc_attr_e( 'Remove this domain.', 'gdpr' ); ?>"></button></h2>
319
  <div class="inside">
323
  <label for="hosts-cookies-used-<?php echo esc_attr( $domain_id ); ?>">
324
  <?php esc_html_e( 'Cookies used', 'gdpr' ); ?>:
325
  <span class="screen-reader-text"><?php esc_attr_e( 'A comma separated list of cookies that your site is using from this third-party provider.', 'gdpr' ); ?></span>
326
+ <span data-gdprtooltip="<?php esc_attr_e( 'A comma separated list of cookies that your site is using from this third-party provider.', 'gdpr' ); ?>">
327
  <span class="dashicons dashicons-info"></span>
328
  </span>
329
  </label>
330
  </th>
331
  <td>
332
+ <textarea cols="53" rows="3" name="gdpr_cookie_popup_content[<?php echo esc_attr( $cookie_cat_id ); ?>][hosts][<?php echo esc_attr( $domain_id ); ?>][cookies_used]" id="hosts-cookies-used-<?php echo esc_attr( $domain_id ); ?>"><?php echo esc_attr( $domain_arr['cookies_used'] ); ?></textarea>
333
  </td>
334
  </tr>
335
  <tr>
337
  <label for="hosts-cookies-optout-<?php echo esc_attr( $domain_id ); ?>">
338
  <?php esc_html_e( 'Opt Out Link', 'gdpr' ); ?>:
339
  <span class="screen-reader-text"><?php esc_attr_e( 'Add a link with the third-party instructions on how to opt out of their cookies.', 'gdpr' ); ?></span>
340
+ <span data-gdprtooltip="<?php esc_attr_e( 'Add a link with the third-party instructions on how to opt out of their cookies.', 'gdpr' ); ?>">
341
  <span class="dashicons dashicons-info"></span>
342
  </span>
343
  </label>
344
  </th>
345
  <td>
346
+ <input type="text" name="gdpr_cookie_popup_content[<?php echo esc_attr( $cookie_cat_id ); ?>][hosts][<?php echo esc_attr( $domain_id ); ?>][optout]" value="<?php echo esc_attr( $domain_arr['optout'] ); ?>" id="hosts-cookies-optout-<?php echo esc_attr( $domain_id ); ?>" class="regular-text" />
347
  <br>
348
  <span class="description"><?php esc_html_e( 'Url with instructions on how to opt out.', 'gdpr' ); ?></span>
349
  </td>
376
  <label for="consent-policy-page-<?php echo esc_attr( $consent_id ); ?>">
377
  <?php esc_html_e( 'Policy Page', 'gdpr' ); ?>:
378
  <span class="screen-reader-text"><?php esc_attr_e( 'This page will be tracked for changes and you will be prompted to ask users to re-consent to the new policy. Selecting a page will make this consent required.', 'gdpr' ); ?></span>
379
+ <span data-gdprtooltip="<?php esc_attr_e( 'This page will be tracked for changes and you will be prompted to ask users to re-consent to the new policy. Selecting a page will make this consent required.', 'gdpr' ); ?>">
380
  <span class="dashicons dashicons-info"></span>
381
  </span>
382
  </label>
395
  <label for="consent-description-<?php echo esc_attr( $consent_id ); ?>">
396
  <?php esc_html_e( 'Long description', 'gdpr' ); ?>:<span class="gdpr-required">*</span>
397
  <span class="screen-reader-text"><?php esc_attr_e( 'This will show up at the privacy preferences center, under the name of the consent.', 'gdpr' ); ?></span>
398
+ <span data-gdprtooltip="<?php esc_attr_e( 'This will show up at the privacy preferences center, under the name of the consent.', 'gdpr' ); ?>">
399
  <span class="dashicons dashicons-info"></span>
400
  </span>
401
  </label>
407
  <label for="consent-registration-<?php echo esc_attr( $consent_id ); ?>">
408
  <?php esc_html_e( 'Short description', 'gdpr' ); ?>:<span class="gdpr-required">*</span>
409
  <span class="screen-reader-text"><?php esc_attr_e( 'This will show up at registration forms next to checkboxes.', 'gdpr' ); ?></span>
410
+ <span data-gdprtooltip="<?php esc_attr_e( 'This will show up at registration forms next to checkboxes.', 'gdpr' ); ?>">
411
  <span class="dashicons dashicons-info"></span>
412
  </span>
413
  </label>
admin/partials/templates/tmpl-consents.php CHANGED
@@ -1,7 +1,7 @@
1
  <script type="text/html" id="tmpl-consents">
2
  <div class="postbox" id="consent-type-content-{{data.key}}">
3
  <h2 class="hndle">{{data.name}} <span>(id: {{data.key}})</span><button class="notice-dismiss" type="button"><span class="screen-reader-text"><?php esc_html_e( 'Unregister this consent.', 'gdpr' ); ?></span></button></h2>
4
- <input type="hidden" name="{{data.option_name}}[{{data.key}}][name]" value="{{data.name}}" />
5
  <div class="inside">
6
  <table class="form-table">
7
  <tr>
@@ -9,7 +9,7 @@
9
  <label for="consent-policy-page-{{data.key}}">
10
  <?php esc_html_e( 'Policy Page', 'gdpr' ); ?>:
11
  <span class="screen-reader-text"><?php esc_attr_e( 'This page will be tracked for changes and you will be prompted to ask users to re-consent to the new policy. Selecting a page will make this consent required.', 'gdpr' ); ?></span>
12
- <span data-tooltip="<?php esc_attr_e( 'This page will be tracked for changes and you will be prompted to ask users to re-consent to the new policy. Selecting a page will make this consent required.', 'gdpr' ); ?>">
13
  <span class="dashicons dashicons-info"></span>
14
  </span>
15
  </label>
@@ -17,8 +17,8 @@
17
  <td>
18
  <select name="gdpr_consent_types[{{data.key}}][policy-page]" id="consent-policy-page-{{data.key}}">
19
  <option value=""></option>
20
- <?php foreach ( $pages as $page ) : ?>
21
- <option value="<?php echo esc_attr( $page->ID ); ?>"><?php echo esc_html( $page->post_title ); ?></option>
22
  <?php endforeach ?>
23
  </select>
24
  </td>
@@ -28,7 +28,7 @@
28
  <label for="consent-description-{{data.key}}">
29
  <?php esc_html_e( 'Long description', 'gdpr' ); ?>:<span class="gdpr-required">*</span>
30
  <span class="screen-reader-text"><?php esc_attr_e( 'This will show up at the privacy preferences center, under the name of the consent.', 'gdpr' ); ?></span>
31
- <span data-tooltip="<?php esc_attr_e( 'This will show up at the privacy preferences center, under the name of the consent.', 'gdpr' ); ?>">
32
  <span class="dashicons dashicons-info"></span>
33
  </span>
34
  </label>
@@ -40,7 +40,7 @@
40
  <label for="consent-registration-{{data.key}}">
41
  <?php esc_html_e( 'Short description', 'gdpr' ); ?>:<span class="gdpr-required">*</span>
42
  <span class="screen-reader-text"><?php esc_attr_e( 'This will show up at registration forms next to checkboxes.', 'gdpr' ); ?></span>
43
- <span data-tooltip="<?php esc_attr_e( 'This will show up at registration forms next to checkboxes.', 'gdpr' ); ?>">
44
  <span class="dashicons dashicons-info"></span>
45
  </span>
46
  </label>
1
  <script type="text/html" id="tmpl-consents">
2
  <div class="postbox" id="consent-type-content-{{data.key}}">
3
  <h2 class="hndle">{{data.name}} <span>(id: {{data.key}})</span><button class="notice-dismiss" type="button"><span class="screen-reader-text"><?php esc_html_e( 'Unregister this consent.', 'gdpr' ); ?></span></button></h2>
4
+ <input type="hidden" name="{{data.optionName}}[{{data.key}}][name]" value="{{data.name}}" />
5
  <div class="inside">
6
  <table class="form-table">
7
  <tr>
9
  <label for="consent-policy-page-{{data.key}}">
10
  <?php esc_html_e( 'Policy Page', 'gdpr' ); ?>:
11
  <span class="screen-reader-text"><?php esc_attr_e( 'This page will be tracked for changes and you will be prompted to ask users to re-consent to the new policy. Selecting a page will make this consent required.', 'gdpr' ); ?></span>
12
+ <span data-gdprtooltip="<?php esc_attr_e( 'This page will be tracked for changes and you will be prompted to ask users to re-consent to the new policy. Selecting a page will make this consent required.', 'gdpr' ); ?>">
13
  <span class="dashicons dashicons-info"></span>
14
  </span>
15
  </label>
17
  <td>
18
  <select name="gdpr_consent_types[{{data.key}}][policy-page]" id="consent-policy-page-{{data.key}}">
19
  <option value=""></option>
20
+ <?php foreach ( $pages as $cpage ) : ?>
21
+ <option value="<?php echo esc_attr( $cpage->ID ); ?>"><?php echo esc_html( $cpage->post_title ); ?></option>
22
  <?php endforeach ?>
23
  </select>
24
  </td>
28
  <label for="consent-description-{{data.key}}">
29
  <?php esc_html_e( 'Long description', 'gdpr' ); ?>:<span class="gdpr-required">*</span>
30
  <span class="screen-reader-text"><?php esc_attr_e( 'This will show up at the privacy preferences center, under the name of the consent.', 'gdpr' ); ?></span>
31
+ <span data-gdprtooltip="<?php esc_attr_e( 'This will show up at the privacy preferences center, under the name of the consent.', 'gdpr' ); ?>">
32
  <span class="dashicons dashicons-info"></span>
33
  </span>
34
  </label>
40
  <label for="consent-registration-{{data.key}}">
41
  <?php esc_html_e( 'Short description', 'gdpr' ); ?>:<span class="gdpr-required">*</span>
42
  <span class="screen-reader-text"><?php esc_attr_e( 'This will show up at registration forms next to checkboxes.', 'gdpr' ); ?></span>
43
+ <span data-gdprtooltip="<?php esc_attr_e( 'This will show up at registration forms next to checkboxes.', 'gdpr' ); ?>">
44
  <span class="dashicons dashicons-info"></span>
45
  </span>
46
  </label>
admin/partials/templates/tmpl-cookies.php CHANGED
@@ -8,7 +8,7 @@
8
  <label for="rename-{{data.key}}">
9
  <?php esc_html_e( 'Category Name', 'gdpr' ); ?>:<span class="gdpr-required">*</span>
10
  <span class="screen-reader-text"><?php esc_attr_e( 'Change this value if you want to rename this category something different.', 'gdpr' ); ?></span>
11
- <span data-tooltip="<?php esc_attr_e( 'Change this value if you want to rename this category something different.', 'gdpr' ); ?>">
12
  <span class="dashicons dashicons-info"></span>
13
  </span>
14
  </label>
@@ -22,7 +22,7 @@
22
  <label for="status-{{data.key}}">
23
  <?php esc_html_e( 'Status', 'gdpr' ); ?>:<span class="gdpr-required">*</span>
24
  <span class="screen-reader-text"><?php esc_attr_e( 'Required cookies are cookies that cannot be opted out of and are needed for the site to function properly. Soft opt-in will allow cookies on first landing but can be opted-out of. Checked means that the cookie category will be checked by default and will be set after the user agrees to them. Unchecked means the user needs to manually toggle the category on to allow these cookies.', 'gdpr' ); ?></span>
25
- <span data-tooltip="<?php esc_attr_e( 'Required cookies are cookies that cannot be opted out of and are needed for the site to function properly. Soft opt-in will allow cookies on first landing but can be opted-out of. Checked means that the cookie category will be checked by default and will be set after the user agrees to them. Unchecked means the user needs to manually toggle the category on to allow these cookies.', 'gdpr' ); ?>">
26
  <span class="dashicons dashicons-info"></span>
27
  </span>
28
  </label>
@@ -42,7 +42,7 @@
42
  <label for="cookies-used-{{data.key}}">
43
  <?php esc_html_e( 'Cookies used', 'gdpr' ); ?>:
44
  <span class="screen-reader-text"><?php esc_attr_e( 'A comma-separated list of cookies that your site is using that fit this category.', 'gdpr' ); ?></span>
45
- <span data-tooltip="<?php esc_attr_e( 'A comma-separated list of cookies that your site is using that fit this category.', 'gdpr' ); ?>">
46
  <span class="dashicons dashicons-info"></span>
47
  </span>
48
  </label>
@@ -58,7 +58,7 @@
58
  <label for="tab-how-we-use-{{data.key}}">
59
  <?php esc_html_e( 'How are these used', 'gdpr' ); ?>:
60
  <span class="screen-reader-text"><?php esc_attr_e( 'A brief explanation on why you are requesting to use these cookies, what they are for and how you process them.', 'gdpr' ); ?></span>
61
- <span data-tooltip="<?php esc_attr_e( 'A brief explanation on why you are requesting to use these cookies, what they are for and how you process them.', 'gdpr' ); ?>">
62
  <span class="dashicons dashicons-info"></span>
63
  </span>
64
  </label>
@@ -70,7 +70,7 @@
70
  <label for="hosts-{{data.key}}">
71
  <?php esc_html_e( 'Third party domain', 'gdpr' ); ?>:
72
  <span class="screen-reader-text"><?php esc_attr_e( 'E.g. youtube.com', 'gdpr' ); ?></span>
73
- <span data-tooltip="<?php esc_attr_e( 'E.g. youtube.com', 'gdpr' ); ?>">
74
  <span class="dashicons dashicons-info"></span>
75
  </span>
76
  </label>
@@ -92,22 +92,22 @@
92
 
93
  <script type="text/html" id="tmpl-cookie-tabs-hosts">
94
  <div class="postbox">
95
- <h2 class="hndle">{{data.host_key}}<button class="notice-dismiss" type="button"><span class="screen-reader-text"><?php esc_html_e( 'Remove this domain.', 'gdpr' ); ?></span></button></h2>
96
- <input type="hidden" name="{{data.option_name}}[{{data.tab_key}}][hosts][{{data.host_key}}][name]" value="{{data.host_key}}" />
97
  <div class="inside">
98
  <table class="form-table">
99
  <tr>
100
- <th><label for="hosts-cookies-used-{{data.host_key}}"><?php esc_html_e( 'Cookies used', 'gdpr' ); ?></label></th>
101
  <td>
102
- <textarea cols="53" rows="3" name="{{data.option_name}}[{{data.tab_key}}][hosts][{{data.host_key}}][cookies_used]" id="hosts-cookies-used-{{data.host_key}}" required></textarea>
103
  <br>
104
  <span class="description"><?php esc_html_e( 'Comma separated list.', 'gdpr' ); ?></span>
105
  </td>
106
  </tr>
107
  <tr>
108
- <th><label for="hosts-cookies-optout-{{data.host_key}}"><?php esc_html_e( 'How to Opt Out', 'gdpr' ); ?></label></th>
109
  <td>
110
- <input type="text" name="{{data.option_name}}[{{data.tab_key}}][hosts][{{data.host_key}}][optout]" id="hosts-cookies-optout-{{data.host_key}}" class="regular-text" required />
111
  <br>
112
  <span class="description"><?php esc_html_e( 'Url with instructions on how to opt out.', 'gdpr' ); ?></span>
113
  </td>
8
  <label for="rename-{{data.key}}">
9
  <?php esc_html_e( 'Category Name', 'gdpr' ); ?>:<span class="gdpr-required">*</span>
10
  <span class="screen-reader-text"><?php esc_attr_e( 'Change this value if you want to rename this category something different.', 'gdpr' ); ?></span>
11
+ <span data-gdprtooltip="<?php esc_attr_e( 'Change this value if you want to rename this category something different.', 'gdpr' ); ?>">
12
  <span class="dashicons dashicons-info"></span>
13
  </span>
14
  </label>
22
  <label for="status-{{data.key}}">
23
  <?php esc_html_e( 'Status', 'gdpr' ); ?>:<span class="gdpr-required">*</span>
24
  <span class="screen-reader-text"><?php esc_attr_e( 'Required cookies are cookies that cannot be opted out of and are needed for the site to function properly. Soft opt-in will allow cookies on first landing but can be opted-out of. Checked means that the cookie category will be checked by default and will be set after the user agrees to them. Unchecked means the user needs to manually toggle the category on to allow these cookies.', 'gdpr' ); ?></span>
25
+ <span data-gdprtooltip="<?php esc_attr_e( 'Required cookies are cookies that cannot be opted out of and are needed for the site to function properly. Soft opt-in will allow cookies on first landing but can be opted-out of. Checked means that the cookie category will be checked by default and will be set after the user agrees to them. Unchecked means the user needs to manually toggle the category on to allow these cookies.', 'gdpr' ); ?>">
26
  <span class="dashicons dashicons-info"></span>
27
  </span>
28
  </label>
42
  <label for="cookies-used-{{data.key}}">
43
  <?php esc_html_e( 'Cookies used', 'gdpr' ); ?>:
44
  <span class="screen-reader-text"><?php esc_attr_e( 'A comma-separated list of cookies that your site is using that fit this category.', 'gdpr' ); ?></span>
45
+ <span data-gdprtooltip="<?php esc_attr_e( 'A comma-separated list of cookies that your site is using that fit this category.', 'gdpr' ); ?>">
46
  <span class="dashicons dashicons-info"></span>
47
  </span>
48
  </label>
58
  <label for="tab-how-we-use-{{data.key}}">
59
  <?php esc_html_e( 'How are these used', 'gdpr' ); ?>:
60
  <span class="screen-reader-text"><?php esc_attr_e( 'A brief explanation on why you are requesting to use these cookies, what they are for and how you process them.', 'gdpr' ); ?></span>
61
+ <span data-gdprtooltip="<?php esc_attr_e( 'A brief explanation on why you are requesting to use these cookies, what they are for and how you process them.', 'gdpr' ); ?>">
62
  <span class="dashicons dashicons-info"></span>
63
  </span>
64
  </label>
70
  <label for="hosts-{{data.key}}">
71
  <?php esc_html_e( 'Third party domain', 'gdpr' ); ?>:
72
  <span class="screen-reader-text"><?php esc_attr_e( 'E.g. youtube.com', 'gdpr' ); ?></span>
73
+ <span data-gdprtooltip="<?php esc_attr_e( 'E.g. youtube.com', 'gdpr' ); ?>">
74
  <span class="dashicons dashicons-info"></span>
75
  </span>
76
  </label>
92
 
93
  <script type="text/html" id="tmpl-cookie-tabs-hosts">
94
  <div class="postbox">
95
+ <h2 class="hndle">{{data.hostKey}}<button class="notice-dismiss" type="button"><span class="screen-reader-text"><?php esc_html_e( 'Remove this domain.', 'gdpr' ); ?></span></button></h2>
96
+ <input type="hidden" name="{{data.optionName}}[{{data.tabKey}}][hosts][{{data.hostKey}}][name]" value="{{data.hostKey}}" />
97
  <div class="inside">
98
  <table class="form-table">
99
  <tr>
100
+ <th><label for="hosts-cookies-used-{{data.hostKey}}"><?php esc_html_e( 'Cookies used', 'gdpr' ); ?></label></th>
101
  <td>
102
+ <textarea cols="53" rows="3" name="{{data.optionName}}[{{data.tabKey}}][hosts][{{data.hostKey}}][cookies_used]" id="hosts-cookies-used-{{data.hostKey}}" required></textarea>
103
  <br>
104
  <span class="description"><?php esc_html_e( 'Comma separated list.', 'gdpr' ); ?></span>
105
  </td>
106
  </tr>
107
  <tr>
108
+ <th><label for="hosts-cookies-optout-{{data.hostKey}}"><?php esc_html_e( 'How to Opt Out', 'gdpr' ); ?></label></th>
109
  <td>
110
+ <input type="text" name="{{data.optionName}}[{{data.tabKey}}][hosts][{{data.hostKey}}][optout]" id="hosts-cookies-optout-{{data.hostKey}}" class="regular-text" required />
111
  <br>
112
  <span class="description"><?php esc_html_e( 'Url with instructions on how to opt out.', 'gdpr' ); ?></span>
113
  </td>
admin/partials/templates/tmpl-tools.php CHANGED
@@ -24,7 +24,7 @@
24
  <p>
25
  <form method="post" class="frm-export-data">
26
  <?php wp_nonce_field( 'gdpr-export-data', 'gdpr_export_data_nonce' ); ?>
27
- <input type="hidden" name="user_email" value="{{data.user_email}}">
28
  <?php submit_button( 'XML', 'primary', 'download-data-xml', false ); ?>
29
  <?php submit_button( 'JSON', 'primary', 'download-data-json', false ); ?>
30
  </form>
24
  <p>
25
  <form method="post" class="frm-export-data">
26
  <?php wp_nonce_field( 'gdpr-export-data', 'gdpr_export_data_nonce' ); ?>
27
+ <input type="hidden" name="user_email" value="{{data.userEmail}}">
28
  <?php submit_button( 'XML', 'primary', 'download-data-xml', false ); ?>
29
  <?php submit_button( 'JSON', 'primary', 'download-data-json', false ); ?>
30
  </form>
admin/partials/tools.php CHANGED
@@ -14,10 +14,10 @@
14
 
15
  include_once plugin_dir_path( __FILE__ ) . 'templates/tmpl-tools.php';
16
 
17
- if ( isset( $_GET['type'], $_GET['key'] ) ) { // WPCS: CSRF ok.
18
 
19
- if ( 'data-breach-confirmed' === $_GET['type'] ) { // WPCS: CSRF ok.
20
- $key = sanitize_text_field( wp_unslash( $_GET['key'] ) ); // WPCS: Input var ok, CSRF ok.
21
 
22
  $data_breach = get_option( 'gdpr_data_breach_initiated', array( 'key' => '' ) );
23
  if ( ! empty( $data_breach ) ) {
@@ -43,7 +43,7 @@ if ( isset( $_GET['type'], $_GET['key'] ) ) { // WPCS: CSRF ok.
43
  <?php settings_errors(); ?>
44
  <div class="nav-tab-wrapper">
45
  <?php foreach ( $tabs as $key => $value ) : ?>
46
- <a href="<?php echo esc_html( '#' . $key ); ?>" class="nav-tab">
47
  <?php echo esc_html( $value ); ?>
48
  </a>
49
  <?php endforeach; ?>
14
 
15
  include_once plugin_dir_path( __FILE__ ) . 'templates/tmpl-tools.php';
16
 
17
+ if ( isset( $_GET['type'], $_GET['key'] ) ) { // phpcs:ignore
18
 
19
+ if ( 'data-breach-confirmed' === $_GET['type'] ) { // phpcs:ignore
20
+ $key = sanitize_text_field( wp_unslash( $_GET['key'] ) ); // phpcs:ignore
21
 
22
  $data_breach = get_option( 'gdpr_data_breach_initiated', array( 'key' => '' ) );
23
  if ( ! empty( $data_breach ) ) {
43
  <?php settings_errors(); ?>
44
  <div class="nav-tab-wrapper">
45
  <?php foreach ( $tabs as $key => $value ) : ?>
46
+ <a href="<?php echo esc_url( '#' . $key ); ?>" class="nav-tab">
47
  <?php echo esc_html( $value ); ?>
48
  </a>
49
  <?php endforeach; ?>
assets/css/gdpr-admin.css DELETED
@@ -1 +0,0 @@
1
- [data-tooltip]{position:relative;z-index:9999;cursor:pointer;display:inline-block;width:21px}[data-tooltip]:before,[data-tooltip]:after{visibility:hidden;opacity:0;pointer-events:none}[data-tooltip]:before{position:absolute;bottom:150%;left:50%;margin-bottom:5px;margin-left:-80px;padding:7px;width:160px;border-radius:3px;background-color:#000;background-color:rgba(51,51,51,0.9);color:#fff;content:attr(data-tooltip);text-align:center;font-size:14px;line-height:1.2}[data-tooltip]:after{position:absolute;bottom:150%;left:50%;margin-left:-5px;width:0;border-top:5px solid #000;border-top:5px solid rgba(51,51,51,0.9);border-right:5px solid transparent;border-left:5px solid transparent;content:" ";font-size:0;line-height:0}[data-tooltip]:hover:before,[data-tooltip]:hover:after,[data-tooltip]:focus:before,[data-tooltip]:focus:after{visibility:visible;opacity:1}.gdpr-required{color:#f00}.gdpr-settings-form #gdpr-cookie-categories,.gdpr-settings-form #consent-tabs{margin-top:20px}.gdpr-settings-form #gdpr-cookie-categories .hndle,.gdpr-settings-form #consent-tabs .hndle{font-size:16px;padding:8px 12px;margin:0;line-height:1.4}.gdpr-settings-form #gdpr-cookie-categories .hndle span,.gdpr-settings-form #consent-tabs .hndle span{font-size:12px}.policy-page-updated-notice .spinner{margin:13px 0}.policy-page-updated-notice form{display:inline-block}.policy-page-updated-notice form .button-secondary{vertical-align:baseline}.policy-page-updated-notice form .button-primary:active{vertical-align:baseline}.gdpr-pending-requests-badge{display:inline-block;vertical-align:text-bottom;margin:1px 0 0 2px;padding:0 5px;min-width:7px;height:17px;border-radius:11px;background-color:#ca4a1f;color:#fff;font-size:9px;line-height:17px;text-align:center}.gdpr-request-table .spinner,.gdpr-manual-email-lookup .spinner{float:none;display:none}.gdpr-manual-email-lookup .inside{margin-bottom:0}.gdpr-request-table td{vertical-align:middle}.gdpr-request-table form{display:inline-block}.gdpr-request-table .text-center{text-align:center}.gdpr-request-table tr.review>td{padding-top:0;padding-bottom:0}.gdpr-request-table tr.review table{margin-bottom:10px}.gdpr-switch{position:relative;display:inline-block;width:45px;height:24px}.gdpr-switch input{display:none}.gdpr-switch .gdpr-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;-webkit-transition:.4s;-o-transition:.4s;transition:.4s}.gdpr-switch .gdpr-slider:before{position:absolute;content:"";height:16px;width:16px;left:4px;bottom:4px;background-color:white;-webkit-transition:.4s;-o-transition:.4s;transition:.4s}.gdpr-switch .gdpr-slider.round{border-radius:34px}.gdpr-switch .gdpr-slider.round:before{border-radius:50%}.gdpr-switch input:checked+.gdpr-slider{background-color:#00b9eb}.gdpr-switch input:checked+.gdpr-slider:before{-webkit-transform:translateX(21px);-ms-transform:translateX(21px);transform:translateX(21px)}.gdpr-switch input:focus+.gdpr-slider{-webkit-box-shadow:0 0 1px #00b9eb;box-shadow:0 0 1px #00b9eb}#TB_ajaxContent pre{white-space:pre-wrap;word-wrap:break-word}.gdpr-hidden{display:none}.post-type-telemetry .page-title-action{display:none}.post-type-telemetry .row-actions{display:none}.post-type-telemetry .search-box{display:none}.post-type-telemetry .actions #filter-by-date,.post-type-telemetry .actions #post-query-submit,.post-type-telemetry .actions.bulkactions{display:none}.gdpr .not-full{display:inline-block}.gdpr .spinner{display:none;visibility:visible}.gdpr .gdpr-access-data-result h2 span{font-size:16px}#gdpr-cookie-categories .postbox .inside{margin:0 !important;padding:0 20px 20px 20px}#gdpr-cookie-categories .postbox .inside .form-table{margin-top:0}#gdpr-cookie-categories .postbox .inside .tab-hosts .postbox .inside{padding-bottom:0;background-color:#f9f9f9}@media screen and (max-width: 1024px){.tab-hosts .postbox{margin-top:15px}.tab-hosts .postbox .inside{padding:10px 20px 20px 20px !important}.form-table td{padding-right:0}.form-table td .button{margin-top:5px;margin-bottom:10px}.type-telemetry *{word-wrap:break-word !important}}@media screen and (max-width: 640px){.postbox{width:100%}.postbox .notice-dismiss{padding:8px}.inside .regular-text{width:100%}.inside .button{margin-top:5px}}
 
assets/css/gdpr-public.css DELETED
@@ -1 +0,0 @@
1
- .gdpr-noscroll{overflow:hidden;position:fixed;width:100%}.gdpr-hidden{display:none}.gdpr-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.8);z-index:99999999;display:none}.gdpr *:not(textarea):not(input):not(select){font-family:Helvetica, Arial, sans-serif !important;text-transform:none !important;letter-spacing:0 !important;color:#455561;background:none;-webkit-box-shadow:none;box-shadow:none;text-shadow:none;outline:none;border:none;margin:0;padding:0}.gdpr .h5{font-size:18px;font-weight:bold;color:#fff}.gdpr button,.gdpr input[type="submit"]{color:#000;font-weight:normal;font-size:14px;margin:0;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);line-height:1.5;display:block;min-width:auto;max-width:auto;cursor:pointer}.gdpr button:before,.gdpr button:after,.gdpr input[type="submit"]:before,.gdpr input[type="submit"]:after{display:inline-block;margin:0;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);top:auto;right:auto;bottom:auto;left:auto;background:none}.gdpr button:hover,.gdpr button:active,.gdpr button:focus,.gdpr input[type="submit"]:hover,.gdpr input[type="submit"]:active,.gdpr input[type="submit"]:focus{margin:0;border:none;-webkit-box-shadow:none;box-shadow:none}.gdpr img{width:100% !important}.gdpr .gdpr-contained-wrapper{max-width:600px;margin:0 auto;padding:20px 40px;-webkit-box-sizing:border-box;box-sizing:border-box}@media screen and (max-width: 1024px){.gdpr .gdpr-contained-wrapper{padding:20px}}.gdpr.gdpr-privacy-bar,.gdpr.gdpr-reconsent-bar{position:fixed;bottom:0;left:0;background:rgba(0,0,0,0.9);width:100%;color:#fff;z-index:9999999}.gdpr.gdpr-privacy-bar .gdpr-wrapper,.gdpr.gdpr-reconsent-bar .gdpr-wrapper{padding:20px 60px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;align-items:center}@media screen and (min-width: 1440px){.gdpr.gdpr-privacy-bar .gdpr-wrapper,.gdpr.gdpr-reconsent-bar .gdpr-wrapper{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}}.gdpr.gdpr-privacy-bar .gdpr-wrapper:after,.gdpr.gdpr-reconsent-bar .gdpr-wrapper:after{content:"";display:table;clear:both}.gdpr.gdpr-privacy-bar .gdpr-wrapper p,.gdpr.gdpr-reconsent-bar .gdpr-wrapper p{margin:0;font-size:14px;font-weight:normal}.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-content,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-content{width:100%;padding:0 0 20px 0;text-align:center}@media screen and (min-width: 1440px){.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-content,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-content{-webkit-box-flex:1;-ms-flex:1;flex:1;padding:0 100px 0 0;text-align:left}}.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-content p,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-content p{color:#ffffff;font-size:14px}@media screen and (max-width: 1024px){.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-content,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-content{padding-right:0;padding-bottom:20px}}.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-content .gdpr-policy-pages .gdpr-policy-pages-item:after,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-content .gdpr-policy-pages .gdpr-policy-pages-item:after{content:',';margin-right:5px}.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-content .gdpr-policy-pages .gdpr-policy-pages-item:last-of-type:after,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-content .gdpr-policy-pages .gdpr-policy-pages-item:last-of-type:after{content:'';margin-right:0}.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}@media screen and (max-width: 1024px){.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories,.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list{list-style:none;padding:0 20px 0 0;margin:0 20px 0 0;border-right:1px solid #808080}@media screen and (max-width: 1024px){.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories,.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list{padding:0 0 10px 0;margin:0 0 20px 0;border-right:none;border-bottom:1px solid #808080;text-align:center}}.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories .gdpr-cookie-categories-item,.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories .gdpr-policy-list-item,.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list .gdpr-cookie-categories-item,.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list .gdpr-policy-list-item,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories .gdpr-cookie-categories-item,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories .gdpr-policy-list-item,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list .gdpr-cookie-categories-item,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list .gdpr-policy-list-item{display:inline-block;margin:0 10px;padding-top:5px}@media screen and (max-width: 1024px){.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories .gdpr-cookie-categories-item,.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories .gdpr-policy-list-item,.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list .gdpr-cookie-categories-item,.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list .gdpr-policy-list-item,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories .gdpr-cookie-categories-item,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories .gdpr-policy-list-item,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list .gdpr-cookie-categories-item,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list .gdpr-policy-list-item{padding-top:0}}.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories .gdpr-cookie-categories-item *,.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories .gdpr-policy-list-item *,.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list .gdpr-cookie-categories-item *,.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list .gdpr-policy-list-item *,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories .gdpr-cookie-categories-item *,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories .gdpr-policy-list-item *,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list .gdpr-cookie-categories-item *,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list .gdpr-policy-list-item *{float:left}.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories .gdpr-cookie-categories-item input,.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories .gdpr-policy-list-item input,.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list .gdpr-cookie-categories-item input,.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list .gdpr-policy-list-item input,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories .gdpr-cookie-categories-item input,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories .gdpr-policy-list-item input,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list .gdpr-cookie-categories-item input,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list .gdpr-policy-list-item input{margin-top:3px}.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories .gdpr-cookie-categories-item label,.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories .gdpr-policy-list-item label,.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list .gdpr-cookie-categories-item label,.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list .gdpr-policy-list-item label,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories .gdpr-cookie-categories-item label,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories .gdpr-policy-list-item label,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list .gdpr-cookie-categories-item label,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list .gdpr-policy-list-item label{color:#fff;margin:0 5px;font-size:14px}.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories .gdpr-cookie-categories-item .gdpr-policy-link,.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories .gdpr-policy-list-item .gdpr-policy-link,.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list .gdpr-cookie-categories-item .gdpr-policy-link,.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list .gdpr-policy-list-item .gdpr-policy-link,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories .gdpr-cookie-categories-item .gdpr-policy-link,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories .gdpr-policy-list-item .gdpr-policy-link,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list .gdpr-cookie-categories-item .gdpr-policy-link,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list .gdpr-policy-list-item .gdpr-policy-link{color:#fff;font-size:14px;text-decoration:underline}@media screen and (max-width: 640px){.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories{margin-bottom:5px}}@media screen and (max-width: 640px){.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-buttons,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-buttons{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-buttons button,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-buttons button{white-space:nowrap}.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-buttons button.gdpr-preferences,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-buttons button.gdpr-preferences{margin-left:10px;margin-right:20px}@media screen and (max-width: 640px){.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-buttons button.gdpr-preferences,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-buttons button.gdpr-preferences{margin:0 0 10px 15px}.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-buttons button.gdpr-preferences:before,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-buttons button.gdpr-preferences:before{left:-7px}}.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-buttons button.gdpr-agreement,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-buttons button.gdpr-agreement{margin:0 10px;-ms-flex-item-align:center;align-self:center}@media screen and (min-width: 1440px){.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-buttons button.gdpr-agreement,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-buttons button.gdpr-agreement{margin:0 0 0 10px}}.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-close,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-close{color:#fff;position:absolute;top:0;right:0;cursor:pointer;-webkit-transition:all 0.2s ease-in-out;-o-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;padding:15px 15px;line-height:0}.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-close:hover:before,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-close:hover:before{-webkit-transform:scale(1.5);-ms-transform:scale(1.5);transform:scale(1.5)}.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-close:before,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-close:before{content:'\00D7';line-height:12.5px;font-size:25px;display:inline-block;-webkit-transition:all 0.2s ease-in-out;-o-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.gdpr.gdpr-privacy-bar .gdpr-preferences,.gdpr.gdpr-reconsent-bar .gdpr-preferences{font-weight:normal;font-size:14px;text-decoration:underline;position:relative;margin-left:9px;color:#fff;float:left}.gdpr.gdpr-privacy-bar .gdpr-preferences:before,.gdpr.gdpr-reconsent-bar .gdpr-preferences:before{content:'\276F';font-size:1.1em;font-weight:normal;padding-right:5px;color:#fff;position:absolute;left:-7px;top:5px}.gdpr.gdpr-privacy-bar .gdpr-preferences:hover,.gdpr.gdpr-privacy-bar .gdpr-preferences:active,.gdpr.gdpr-privacy-bar .gdpr-preferences:focus,.gdpr.gdpr-privacy-bar .gdpr-preferences:focus-within,.gdpr.gdpr-privacy-bar .gdpr-preferences:visited,.gdpr.gdpr-reconsent-bar .gdpr-preferences:hover,.gdpr.gdpr-reconsent-bar .gdpr-preferences:active,.gdpr.gdpr-reconsent-bar .gdpr-preferences:focus,.gdpr.gdpr-reconsent-bar .gdpr-preferences:focus-within,.gdpr.gdpr-reconsent-bar .gdpr-preferences:visited{background:none}.gdpr.gdpr-privacy-bar button,.gdpr.gdpr-reconsent-bar button{margin:0 5px;padding:5px 10px}@media screen and (max-width: 640px){.gdpr.gdpr-privacy-bar button,.gdpr.gdpr-reconsent-bar button{margin:0}}.gdpr.gdpr-privacy-bar .gdpr-agreement,.gdpr.gdpr-reconsent-bar .gdpr-agreement{position:relative;font-size:13px;font-weight:normal;padding:0 10px 1px;height:auto;line-height:26px;white-space:normal;margin:0;border-width:1px;border-style:solid;border-radius:3px;-webkit-box-sizing:border-box;box-sizing:border-box;background:#0085ba;border-color:#0073aa #006799 #006799;-webkit-box-shadow:0 1px 0 #006799;box-shadow:0 1px 0 #006799;color:#fff;text-decoration:none;text-shadow:0 -1px 1px #006799, 1px 0 1px #006799, 0 1px 1px #006799, -1px 0 1px #006799}.gdpr.gdpr-privacy-bar .gdpr-agreement:hover,.gdpr.gdpr-reconsent-bar .gdpr-agreement:hover{background:#008ec2;border-color:#006799}.gdpr.gdpr-privacy-bar .gdpr-agreement:active,.gdpr.gdpr-privacy-bar .gdpr-agreement:focus,.gdpr.gdpr-reconsent-bar .gdpr-agreement:active,.gdpr.gdpr-reconsent-bar .gdpr-agreement:focus{background:#0073aa;border-color:#006799;-webkit-box-shadow:inset 0 2px 0 #006799;box-shadow:inset 0 2px 0 #006799;vertical-align:top}.gdpr.gdpr-privacy-preferences .gdpr-wrapper,.gdpr.gdpr-reconsent .gdpr-wrapper,.gdpr.gdpr-general-confirmation .gdpr-wrapper{position:fixed;top:50%;left:50%;-webkit-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%);z-index:999999999;width:100%;max-width:768px;height:100%;max-height:500px;overflow:hidden;display:none;border-radius:2.5px;padding:15px;-webkit-box-sizing:border-box;box-sizing:border-box}.gdpr.gdpr-privacy-preferences .gdpr-wrapper>form,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .reconsent-form,.gdpr.gdpr-reconsent .gdpr-wrapper>form,.gdpr.gdpr-reconsent .gdpr-wrapper .reconsent-form,.gdpr.gdpr-general-confirmation .gdpr-wrapper>form,.gdpr.gdpr-general-confirmation .gdpr-wrapper .reconsent-form{height:100%;position:relative}.gdpr.gdpr-privacy-preferences .gdpr-wrapper>form>header,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .reconsent-form>header,.gdpr.gdpr-reconsent .gdpr-wrapper>form>header,.gdpr.gdpr-reconsent .gdpr-wrapper .reconsent-form>header,.gdpr.gdpr-general-confirmation .gdpr-wrapper>form>header,.gdpr.gdpr-general-confirmation .gdpr-wrapper .reconsent-form>header{display:-webkit-box;display:-ms-flexbox;display:flex;height:75px}.gdpr.gdpr-privacy-preferences .gdpr-wrapper>form>header .logo,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .reconsent-form>header .logo,.gdpr.gdpr-reconsent .gdpr-wrapper>form>header .logo,.gdpr.gdpr-reconsent .gdpr-wrapper .reconsent-form>header .logo,.gdpr.gdpr-general-confirmation .gdpr-wrapper>form>header .logo,.gdpr.gdpr-general-confirmation .gdpr-wrapper .reconsent-form>header .logo{max-width:30%}.gdpr.gdpr-privacy-preferences .gdpr-wrapper>form>header .logo a,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .reconsent-form>header .logo a,.gdpr.gdpr-reconsent .gdpr-wrapper>form>header .logo a,.gdpr.gdpr-reconsent .gdpr-wrapper .reconsent-form>header .logo a,.gdpr.gdpr-general-confirmation .gdpr-wrapper>form>header .logo a,.gdpr.gdpr-general-confirmation .gdpr-wrapper .reconsent-form>header .logo a{padding:0;margin:0}.gdpr.gdpr-privacy-preferences .gdpr-wrapper>form>header .logo a img,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .reconsent-form>header .logo a img,.gdpr.gdpr-reconsent .gdpr-wrapper>form>header .logo a img,.gdpr.gdpr-reconsent .gdpr-wrapper .reconsent-form>header .logo a img,.gdpr.gdpr-general-confirmation .gdpr-wrapper>form>header .logo a img,.gdpr.gdpr-general-confirmation .gdpr-wrapper .reconsent-form>header .logo a img{display:block}.gdpr.gdpr-privacy-preferences .gdpr-wrapper>form>header .gdpr-box-title,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .reconsent-form>header .gdpr-box-title,.gdpr.gdpr-reconsent .gdpr-wrapper>form>header .gdpr-box-title,.gdpr.gdpr-reconsent .gdpr-wrapper .reconsent-form>header .gdpr-box-title,.gdpr.gdpr-general-confirmation .gdpr-wrapper>form>header .gdpr-box-title,.gdpr.gdpr-general-confirmation .gdpr-wrapper .reconsent-form>header .gdpr-box-title{background:#23282d;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:relative}.gdpr.gdpr-privacy-preferences .gdpr-wrapper>form>header .gdpr-box-title h3,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .reconsent-form>header .gdpr-box-title h3,.gdpr.gdpr-reconsent .gdpr-wrapper>form>header .gdpr-box-title h3,.gdpr.gdpr-reconsent .gdpr-wrapper .reconsent-form>header .gdpr-box-title h3,.gdpr.gdpr-general-confirmation .gdpr-wrapper>form>header .gdpr-box-title h3,.gdpr.gdpr-general-confirmation .gdpr-wrapper .reconsent-form>header .gdpr-box-title h3{margin:0 !important;padding:0 !important;text-align:center !important;color:#fff !important;font-weight:600 !important;font-size:22px !important}@media screen and (max-width: 640px){.gdpr.gdpr-privacy-preferences .gdpr-wrapper>form>header .gdpr-box-title h3,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .reconsent-form>header .gdpr-box-title h3,.gdpr.gdpr-reconsent .gdpr-wrapper>form>header .gdpr-box-title h3,.gdpr.gdpr-reconsent .gdpr-wrapper .reconsent-form>header .gdpr-box-title h3,.gdpr.gdpr-general-confirmation .gdpr-wrapper>form>header .gdpr-box-title h3,.gdpr.gdpr-general-confirmation .gdpr-wrapper .reconsent-form>header .gdpr-box-title h3{font-size:18px !important}}.gdpr.gdpr-privacy-preferences .gdpr-wrapper>form>header .gdpr-box-title .gdpr-close,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .reconsent-form>header .gdpr-box-title .gdpr-close,.gdpr.gdpr-reconsent .gdpr-wrapper>form>header .gdpr-box-title .gdpr-close,.gdpr.gdpr-reconsent .gdpr-wrapper .reconsent-form>header .gdpr-box-title .gdpr-close,.gdpr.gdpr-general-confirmation .gdpr-wrapper>form>header .gdpr-box-title .gdpr-close,.gdpr.gdpr-general-confirmation .gdpr-wrapper .reconsent-form>header .gdpr-box-title .gdpr-close{color:#fff;position:absolute;top:0;right:0;cursor:pointer;-webkit-transition:all 0.2s ease-in-out;-o-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;padding:15px 15px;line-height:0}.gdpr.gdpr-privacy-preferences .gdpr-wrapper>form>header .gdpr-box-title .gdpr-close:hover:before,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .reconsent-form>header .gdpr-box-title .gdpr-close:hover:before,.gdpr.gdpr-reconsent .gdpr-wrapper>form>header .gdpr-box-title .gdpr-close:hover:before,.gdpr.gdpr-reconsent .gdpr-wrapper .reconsent-form>header .gdpr-box-title .gdpr-close:hover:before,.gdpr.gdpr-general-confirmation .gdpr-wrapper>form>header .gdpr-box-title .gdpr-close:hover:before,.gdpr.gdpr-general-confirmation .gdpr-wrapper .reconsent-form>header .gdpr-box-title .gdpr-close:hover:before{-webkit-transform:scale(1.5);-ms-transform:scale(1.5);transform:scale(1.5)}.gdpr.gdpr-privacy-preferences .gdpr-wrapper>form>header .gdpr-box-title .gdpr-close:before,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .reconsent-form>header .gdpr-box-title .gdpr-close:before,.gdpr.gdpr-reconsent .gdpr-wrapper>form>header .gdpr-box-title .gdpr-close:before,.gdpr.gdpr-reconsent .gdpr-wrapper .reconsent-form>header .gdpr-box-title .gdpr-close:before,.gdpr.gdpr-general-confirmation .gdpr-wrapper>form>header .gdpr-box-title .gdpr-close:before,.gdpr.gdpr-general-confirmation .gdpr-wrapper .reconsent-form>header .gdpr-box-title .gdpr-close:before{content:'\00D7';line-height:12.5px;font-size:25px;display:inline-block;-webkit-transition:all 0.2s ease-in-out;-o-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.gdpr.gdpr-privacy-preferences .gdpr-wrapper>form>footer,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .reconsent-form>footer,.gdpr.gdpr-reconsent .gdpr-wrapper>form>footer,.gdpr.gdpr-reconsent .gdpr-wrapper .reconsent-form>footer,.gdpr.gdpr-general-confirmation .gdpr-wrapper>form>footer,.gdpr.gdpr-general-confirmation .gdpr-wrapper .reconsent-form>footer{position:absolute;padding:0 20px 20px 20px;bottom:0;left:160px;right:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}@media screen and (max-width: 640px){.gdpr.gdpr-privacy-preferences .gdpr-wrapper>form>footer,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .reconsent-form>footer,.gdpr.gdpr-reconsent .gdpr-wrapper>form>footer,.gdpr.gdpr-reconsent .gdpr-wrapper .reconsent-form>footer,.gdpr.gdpr-general-confirmation .gdpr-wrapper>form>footer,.gdpr.gdpr-general-confirmation .gdpr-wrapper .reconsent-form>footer{left:0;bottom:5px}}.gdpr.gdpr-privacy-preferences .gdpr-wrapper>form>footer .gdpr-buttons,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .reconsent-form>footer .gdpr-buttons,.gdpr.gdpr-reconsent .gdpr-wrapper>form>footer .gdpr-buttons,.gdpr.gdpr-reconsent .gdpr-wrapper .reconsent-form>footer .gdpr-buttons,.gdpr.gdpr-general-confirmation .gdpr-wrapper>form>footer .gdpr-buttons,.gdpr.gdpr-general-confirmation .gdpr-wrapper .reconsent-form>footer .gdpr-buttons{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.gdpr.gdpr-privacy-preferences .gdpr-wrapper>form>footer .gdpr-buttons>form,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .reconsent-form>footer .gdpr-buttons>form,.gdpr.gdpr-reconsent .gdpr-wrapper>form>footer .gdpr-buttons>form,.gdpr.gdpr-reconsent .gdpr-wrapper .reconsent-form>footer .gdpr-buttons>form,.gdpr.gdpr-general-confirmation .gdpr-wrapper>form>footer .gdpr-buttons>form,.gdpr.gdpr-general-confirmation .gdpr-wrapper .reconsent-form>footer .gdpr-buttons>form{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.gdpr.gdpr-privacy-preferences .gdpr-wrapper>form>footer input[type="submit"],.gdpr.gdpr-privacy-preferences .gdpr-wrapper .reconsent-form>footer input[type="submit"],.gdpr.gdpr-reconsent .gdpr-wrapper>form>footer input[type="submit"],.gdpr.gdpr-reconsent .gdpr-wrapper .reconsent-form>footer input[type="submit"],.gdpr.gdpr-general-confirmation .gdpr-wrapper>form>footer input[type="submit"],.gdpr.gdpr-general-confirmation .gdpr-wrapper .reconsent-form>footer input[type="submit"]{font-size:13px;font-weight:normal;line-height:26px;height:28px;margin:0;padding:0 10px 1px;border-width:1px;border-style:solid;border-radius:3px;white-space:nowrap;-webkit-box-sizing:border-box;box-sizing:border-box;background:#0085ba;border-color:#0073aa #006799 #006799;-webkit-box-shadow:0 1px 0 #006799;box-shadow:0 1px 0 #006799;color:#fff;text-decoration:none;text-shadow:0 -1px 1px #006799, 1px 0 1px #006799, 0 1px 1px #006799, -1px 0 1px #006799;margin-right:15px}.gdpr.gdpr-privacy-preferences .gdpr-wrapper>form>footer input[type="submit"]:hover,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .reconsent-form>footer input[type="submit"]:hover,.gdpr.gdpr-reconsent .gdpr-wrapper>form>footer input[type="submit"]:hover,.gdpr.gdpr-reconsent .gdpr-wrapper .reconsent-form>footer input[type="submit"]:hover,.gdpr.gdpr-general-confirmation .gdpr-wrapper>form>footer input[type="submit"]:hover,.gdpr.gdpr-general-confirmation .gdpr-wrapper .reconsent-form>footer input[type="submit"]:hover{background:#008ec2;border-color:#006799}.gdpr.gdpr-privacy-preferences .gdpr-wrapper>form>footer input[type="submit"]:active,.gdpr.gdpr-privacy-preferences .gdpr-wrapper>form>footer input[type="submit"].focus,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .reconsent-form>footer input[type="submit"]:active,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .reconsent-form>footer input[type="submit"].focus,.gdpr.gdpr-reconsent .gdpr-wrapper>form>footer input[type="submit"]:active,.gdpr.gdpr-reconsent .gdpr-wrapper>form>footer input[type="submit"].focus,.gdpr.gdpr-reconsent .gdpr-wrapper .reconsent-form>footer input[type="submit"]:active,.gdpr.gdpr-reconsent .gdpr-wrapper .reconsent-form>footer input[type="submit"].focus,.gdpr.gdpr-general-confirmation .gdpr-wrapper>form>footer input[type="submit"]:active,.gdpr.gdpr-general-confirmation .gdpr-wrapper>form>footer input[type="submit"].focus,.gdpr.gdpr-general-confirmation .gdpr-wrapper .reconsent-form>footer input[type="submit"]:active,.gdpr.gdpr-general-confirmation .gdpr-wrapper .reconsent-form>footer input[type="submit"].focus{background:#0073aa;border-color:#006799;-webkit-box-shadow:inset 0 2px 0 #006799;box-shadow:inset 0 2px 0 #006799;vertical-align:top}.gdpr.gdpr-privacy-preferences .gdpr-wrapper>form>footer span,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .reconsent-form>footer span,.gdpr.gdpr-reconsent .gdpr-wrapper>form>footer span,.gdpr.gdpr-reconsent .gdpr-wrapper .reconsent-form>footer span,.gdpr.gdpr-general-confirmation .gdpr-wrapper>form>footer span,.gdpr.gdpr-general-confirmation .gdpr-wrapper .reconsent-form>footer span{font-size:13px;line-height:20px;color:#555d66;font-style:italic}.gdpr.gdpr-privacy-preferences .gdpr-wrapper>form>footer span a,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .reconsent-form>footer span a,.gdpr.gdpr-reconsent .gdpr-wrapper>form>footer span a,.gdpr.gdpr-reconsent .gdpr-wrapper .reconsent-form>footer span a,.gdpr.gdpr-general-confirmation .gdpr-wrapper>form>footer span a,.gdpr.gdpr-general-confirmation .gdpr-wrapper .reconsent-form>footer span a{color:#0073aa;-webkit-transition-property:border,background,color;-o-transition-property:border,background,color;transition-property:border,background,color;-webkit-transition-duration:.05s;-o-transition-duration:.05s;transition-duration:.05s;-webkit-transition-timing-function:ease-in-out;-o-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;text-decoration:underline}.gdpr.gdpr-privacy-preferences .gdpr-wrapper>form>footer span a:hover,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .reconsent-form>footer span a:hover,.gdpr.gdpr-reconsent .gdpr-wrapper>form>footer span a:hover,.gdpr.gdpr-reconsent .gdpr-wrapper .reconsent-form>footer span a:hover,.gdpr.gdpr-general-confirmation .gdpr-wrapper>form>footer span a:hover,.gdpr.gdpr-general-confirmation .gdpr-wrapper .reconsent-form>footer span a:hover{color:#00a0d2}.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-mobile-menu,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-mobile-menu,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-mobile-menu{display:none}@media screen and (max-width: 640px){.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-mobile-menu,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-mobile-menu,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-mobile-menu{display:block}}.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-mobile-menu button,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-mobile-menu button,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-mobile-menu button{width:100%;background-color:#191e23;color:#fff;font-size:14px;text-align:left;padding:15px;border-radius:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;line-height:0}.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-mobile-menu button:hover,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-mobile-menu button:hover,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-mobile-menu button:hover{color:#00b9eb}.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-mobile-menu button:hover:after,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-mobile-menu button:hover:after,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-mobile-menu button:hover:after{border-top-color:#00b9eb}.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-mobile-menu button:after,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-mobile-menu button:after,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-mobile-menu button:after{content:'';width:0;height:0;border-left:7.5px solid transparent;border-right:7.5px solid transparent;border-top:7.5px solid #fff;-webkit-transition:all 0.2s;-o-transition:all 0.2s;transition:all 0.2s;right:15px;top:12px;position:absolute}.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-mobile-menu button.gdpr-active:after,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-mobile-menu button.gdpr-active:after,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-mobile-menu button.gdpr-active:after{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content{display:-webkit-box;display:-ms-flexbox;display:flex;height:calc( 100% - 75px);background:#f1f1f1}@media screen and (max-width: 640px){.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content{position:relative;height:calc( 100% - 119px)}}.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-policies li a,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-policies li a,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-policies li a{font-style:italic;font-size:12px !important;color:#ababab !important;-webkit-box-sizing:border-box;box-sizing:border-box}.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tabs,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tabs,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tabs{border:none !important;min-width:160px;max-width:160px;padding:0;margin:0;overflow-y:auto;background-color:#23282d;position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}@media screen and (max-width: 640px){.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tabs,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tabs,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tabs{position:absolute;height:100%;width:100%;max-width:100%;display:none;z-index:1}}.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tabs li,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tabs li,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tabs li{list-style:none}.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tabs li button,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tabs li a,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tabs li button,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tabs li a,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tabs li button,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tabs li a{display:block;width:100%;background:#23282d;color:#fff;font-size:14px;text-align:left;text-decoration:none;padding:8px;border-radius:0;position:relative}@media screen and (max-width: 640px){.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tabs li button,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tabs li a,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tabs li button,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tabs li a,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tabs li button,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tabs li a{padding:15px;line-height:1}}.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tabs li button:hover,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tabs li a:hover,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tabs li button:hover,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tabs li a:hover,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tabs li button:hover,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tabs li a:hover{background-color:#191e23;color:#00b9eb}.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tabs li button.gdpr-active,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tabs li a.gdpr-active,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tabs li button.gdpr-active,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tabs li a.gdpr-active,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tabs li button.gdpr-active,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tabs li a.gdpr-active{background-color:#0073aa}.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tabs li button.gdpr-active:hover,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tabs li a.gdpr-active:hover,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tabs li button.gdpr-active:hover,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tabs li a.gdpr-active:hover,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tabs li button.gdpr-active:hover,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tabs li a.gdpr-active:hover{color:#fff}.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tabs li button.gdpr-active:after,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tabs li a.gdpr-active:after,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tabs li button.gdpr-active:after,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tabs li a.gdpr-active:after,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tabs li button.gdpr-active:after,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tabs li a.gdpr-active:after{right:0;border:8px solid transparent;content:'';height:0;width:0;position:absolute;pointer-events:none;border-right-color:#f1f1f1;top:50%;margin-top:-8px}@media screen and (max-width: 640px){.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tabs li button.gdpr-active:after,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tabs li a.gdpr-active:after,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tabs li button.gdpr-active:after,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tabs li a.gdpr-active:after,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tabs li button.gdpr-active:after,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tabs li a.gdpr-active:after{display:none}}.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tabs li .gdpr-subtabs,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tabs li .gdpr-subtabs,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tabs li .gdpr-subtabs{position:relative;padding:8px 0;top:auto;left:auto;right:auto;bottom:auto;border:0;margin:0 0 0 0;-webkit-box-shadow:none;box-shadow:none;background-color:#32373c}.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tabs li .gdpr-subtabs li button,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tabs li .gdpr-subtabs li button,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tabs li .gdpr-subtabs li button{background-color:transparent;font-size:13px;line-height:18px;padding:5px 8px}.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tabs li .gdpr-subtabs li button.gdpr-active,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tabs li .gdpr-subtabs li button.gdpr-active,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tabs li .gdpr-subtabs li button.gdpr-active{font-weight:600}.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tabs li .gdpr-subtabs li button.gdpr-active:after,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tabs li .gdpr-subtabs li button.gdpr-active:after,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tabs li .gdpr-subtabs li button.gdpr-active:after{border:none;content:''}.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tab-content,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tab-content,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tab-content{width:100%;margin-bottom:68px;overflow-y:auto}.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tab-content>div,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tab-content>div,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tab-content>div{display:none;padding:20px 20px 0 20px;overflow-y:auto;font-size:13px;height:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tab-content>div header,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tab-content>div header,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tab-content>div header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tab-content>div header h4,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tab-content>div header label,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tab-content>div header h4,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tab-content>div header label,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tab-content>div header h4,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tab-content>div header label{margin:0}.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tab-content>div header h4,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tab-content>div header h4,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tab-content>div header h4{font-weight:600 !important;padding-right:10px}.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info{height:100%;overflow-y:auto;-webkit-box-flex:1;-ms-flex:1;flex:1;margin-top:20px;position:relative}.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-policy-content,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-policy-content,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-policy-content{padding:10px;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.04);box-shadow:0 1px 1px rgba(0,0,0,0.04);background-color:#fff}.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-policy-content>p,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-policy-content>p,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-policy-content>p{margin-bottom:16px}.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info>p,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info>p,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info>p{margin-bottom:16px}.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info strong,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info strong,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info strong{border-bottom:1px solid rgba(0,0,0,0.4);display:block}.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used{font-family:Helvetica, Arial, sans-serif;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.04);box-shadow:0 1px 1px rgba(0,0,0,0.04);margin-bottom:10px;background-color:#fff;font-size:13px}.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used:first-of-type,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used:first-of-type,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used:first-of-type{padding-top:0}.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used .gdpr-cookie-title,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used .gdpr-cookie-title,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used .gdpr-cookie-title{padding:10px;border-bottom:1px solid #e1e1e1;color:#32373c;position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used .gdpr-cookie-title p,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used .gdpr-cookie-title p,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used .gdpr-cookie-title p{margin:0;font-weight:600 !important}.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used .gdpr-cookie-title .gdpr-always-active,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used .gdpr-cookie-title .gdpr-always-active,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used .gdpr-cookie-title .gdpr-always-active{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:0 10px;min-height:24px;text-align:center;border-radius:50px;line-height:16px;background-color:#00b9eb;color:#fff;font-style:normal}.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used .gdpr-cookie-title a,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used .gdpr-cookie-title a,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used .gdpr-cookie-title a{color:#0073aa}.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used .gdpr-cookie-title a:hover,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used .gdpr-cookie-title a:hover,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used .gdpr-cookie-title a:hover{color:#00a0d2}.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used .gdpr-cookies,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used .gdpr-cookies,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used .gdpr-cookies{color:#555;background-color:#f9f9f9;padding:10px}.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used .gdpr-cookies span,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used .gdpr-cookies span,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used .gdpr-cookies span{font-style:italic}.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tab-content .gdpr-active,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tab-content .gdpr-active,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tab-content .gdpr-active{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.gdpr.gdpr-general-confirmation .gdpr-wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;max-width:400px;min-height:250px}.gdpr.gdpr-general-confirmation .gdpr-wrapper>header{display:-webkit-box;display:-ms-flexbox;display:flex;height:75px}.gdpr.gdpr-general-confirmation .gdpr-wrapper>header .logo{max-width:30%}.gdpr.gdpr-general-confirmation .gdpr-wrapper>header .logo a{padding:0;margin:0}.gdpr.gdpr-general-confirmation .gdpr-wrapper>header .logo a img{display:block}.gdpr.gdpr-general-confirmation .gdpr-wrapper>header .gdpr-box-title{background:#23282d;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:relative}.gdpr.gdpr-general-confirmation .gdpr-wrapper>header .gdpr-box-title h3{margin:0 !important;padding:0 !important;text-align:center !important;color:#fff !important;font-weight:600 !important;font-size:22px !important}@media screen and (max-width: 640px){.gdpr.gdpr-general-confirmation .gdpr-wrapper>header .gdpr-box-title h3{font-size:18px !important}}.gdpr.gdpr-general-confirmation .gdpr-wrapper>header .gdpr-box-title .gdpr-close{color:#fff;position:absolute;top:0;right:0;cursor:pointer;-webkit-transition:all 0.2s ease-in-out;-o-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;padding:15px 15px;line-height:0}.gdpr.gdpr-general-confirmation .gdpr-wrapper>header .gdpr-box-title .gdpr-close:hover:before{-webkit-transform:scale(1.5);-ms-transform:scale(1.5);transform:scale(1.5)}.gdpr.gdpr-general-confirmation .gdpr-wrapper>header .gdpr-box-title .gdpr-close:before{content:'\00D7';line-height:12.5px;font-size:25px;display:inline-block;-webkit-transition:all 0.2s ease-in-out;-o-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.gdpr.gdpr-general-confirmation .gdpr-wrapper>footer{background:#f1f1f1;padding:20px}.gdpr.gdpr-general-confirmation .gdpr-wrapper>footer button{font-size:13px;font-weight:normal;line-height:26px;height:28px;margin:0;padding:0 10px 1px;border-width:1px;border-style:solid;border-radius:3px;white-space:nowrap;-webkit-box-sizing:border-box;box-sizing:border-box;background:#0085ba;border-color:#0073aa #006799 #006799;-webkit-box-shadow:0 1px 0 #006799;box-shadow:0 1px 0 #006799;color:#fff;text-decoration:none;text-shadow:0 -1px 1px #006799, 1px 0 1px #006799, 0 1px 1px #006799, -1px 0 1px #006799;display:inline}.gdpr.gdpr-general-confirmation .gdpr-wrapper>footer button:hover{background:#008ec2;border-color:#006799}.gdpr.gdpr-general-confirmation .gdpr-wrapper>footer button:active,.gdpr.gdpr-general-confirmation .gdpr-wrapper>footer button.focus{background:#0073aa;border-color:#006799;-webkit-box-shadow:inset 0 2px 0 #006799;box-shadow:inset 0 2px 0 #006799;vertical-align:top}.gdpr.gdpr-general-confirmation .gdpr-wrapper>footer button.gdpr-cancel{color:#555;border-color:#ccc;background:#f7f7f7;-webkit-box-shadow:0 1px 0 #ccc;box-shadow:0 1px 0 #ccc;text-shadow:none}.gdpr.gdpr-general-confirmation .gdpr-wrapper>footer button.gdpr-cancel:hover{background:#fafafa;border-color:#999;color:#23282d;-webkit-box-shadow:0 1px 0 #ccc;box-shadow:0 1px 0 #ccc}.gdpr.gdpr-general-confirmation .gdpr-wrapper>footer button.gdpr-cancel:active,.gdpr.gdpr-general-confirmation .gdpr-wrapper>footer button.gdpr-cancel:focus{background:#eee;border-color:#999;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,0.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,0.5);-webkit-transform:translateY(1px);-ms-transform:translateY(1px);transform:translateY(1px);color:#23282d}.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content{padding:20px 20px 0 20px;height:auto}.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content p{margin:0}.gdpr-switch{position:relative;display:inline-block;min-width:45px;height:24px;margin-bottom:0}.gdpr-switch input{position:absolute;left:-999em}.gdpr-switch .gdpr-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;-webkit-transition:.4s;-o-transition:.4s;transition:.4s}.gdpr-switch .gdpr-slider:before{position:absolute;content:"";height:16px;width:16px;left:4px;bottom:4px;background-color:white;-webkit-transition:.4s;-o-transition:.4s;transition:.4s}.gdpr-switch .gdpr-slider.round{border-radius:34px}.gdpr-switch .gdpr-slider.round:before{border-radius:50%}.gdpr-switch .gdpr-switch-indicator,.gdpr-switch .gdpr-switch-indicator-on,.gdpr-switch .gdpr-switch-indicator-off,.gdpr-switch input:checked+.gdpr-slider+.gdpr-switch-indicator-on,.gdpr-switch input:checked+.gdpr-slider+.gdpr-switch-indicator-on+.gdpr-switch-indicator-off{position:absolute;bottom:2px;right:50px;color:#ccc}.gdpr-switch .gdpr-switch-indicator-on{display:none}.gdpr-switch .gdpr-switch-indicator-off{display:block}.gdpr-switch input:checked+.gdpr-slider{background-color:#00b9eb}.gdpr-switch input:checked+.gdpr-slider:before{-webkit-transform:translateX(21px);-ms-transform:translateX(21px);transform:translateX(21px)}.gdpr-switch input:checked+.gdpr-slider+.gdpr-switch-indicator-on{color:#00b9eb;display:block}.gdpr-switch input:checked+.gdpr-slider+.gdpr-switch-indicator-on+.gdpr-switch-indicator-off{display:none}.gdpr-switch input:focus+.gdpr-slider{-webkit-box-shadow:0 0 1px #00b9eb;box-shadow:0 0 1px #00b9eb}
 
assets/js/gdpr-admin.js DELETED
@@ -1 +0,0 @@
1
- !function(t){"use strict";t(function(){function a(t){t=(t=t.replace(/^\s+|\s+$/g,"")).toLowerCase();for(var a="àáäâèéëêìíïîòóöôùúüûñç·/_,:;",e=0,n=a.length;e<n;e++)t=t.replace(new RegExp(a.charAt(e),"g"),"aaaaeeeeiiiioooouuuunc------".charAt(e));return t=t.replace(/[^a-z0-9 -]/g,"").replace(/\s+/g,"-").replace(/-+/g,"-")}t(document).on("click",".gdpr-settings-form .notice-dismiss",function(){t(this).parent().parent().remove()}),t(".add-consent").click(function(e){e.preventDefault();var n=t("#type-of-consent");if(""!==n.val()){var i=a(n.val()),s=n.val(),d=wp.template("consents");t("#consent-tabs").append(d({key:i,name:s,option_name:"gdpr_consent_types"})),n.val("")}}),t("#consent-tabs, #tabs").sortable(),t(".add-tab").click(function(e){e.preventDefault();var n=t("#cookie-tabs");if(""!==n.val()){var i=a(n.val()),s=n.val(),d=wp.template("cookie-tabs");t("#gdpr-cookie-categories").append(d({key:i,name:s})),n.val("")}}),t(document).on("click",".add-host",function(a){a.preventDefault();var e=t(this).siblings("input");if(""!==e.val()){var n=t(this).data("tabid"),i=e.val().toLowerCase().replace(" ","-"),s=wp.template("cookie-tabs-hosts");t('.tab-hosts[data-tabid="'+n+'"]').append(s({host_key:i,tab_key:n,option_name:"gdpr_cookie_popup_content"})),e.val("")}}),t(document).on("click","#tabs .notice-dismiss",function(a){a.preventDefault(),t(this).closest(".postbox").remove()}),t(document).on("click",".gdpr-request-table .gdpr-review",function(a){a.preventDefault();var e=t(this).data("index");t("tr[data-index="+e+"] div").slideToggle()}),t(document).on("click",".gdpr .nav-tab-wrapper a",function(a){var e=t(this).attr("href");if(e=e.replace("#",""),t(this).addClass("nav-tab-active"),t(this).siblings().removeClass("nav-tab-active"),t(".gdpr .gdpr-tab").addClass("hidden"),t(".gdpr .gdpr-tab[data-id="+e+"]").removeClass("hidden"),-1!==location.search.indexOf("page=gdpr-settings")){var n=t('.gdpr form input[name="_wp_http_referer"]'),i=n.val().split("#")[0];n.val(i+"#"+e)}});var e=window.location.hash;if(e){if(t('.gdpr .nav-tab-wrapper a[href="'+e+'"]').addClass("nav-tab-active"),t('.gdpr .gdpr-tab[data-id="'+e.replace("#","")+'"]').removeClass("hidden"),-1!==location.search.indexOf("page=gdpr-settings")){var n=t('.gdpr form input[name="_wp_http_referer"]'),i=n.val().split("#")[0];n.val(i+e)}}else t(".gdpr .nav-tab-wrapper a:eq(0)").addClass("nav-tab-active"),t(".gdpr .gdpr-tab:eq(0)").removeClass("hidden");t(document).on("change",".gdpr-reassign",function(){0!=t(this).val()?(t(this).closest("tr").find("td:last .button-primary").attr("disabled",!1),t(this).closest("tr").find('td:last input[name="reassign_to"]').val(t(this).val())):(t(this).closest("tr").find("td:last .button-primary").attr("disabled",!0),t(this).closest("tr").find('td:last input[name="reassign_to"]').val(""))}),t(document).on("submit",".gdpr-reassign-content",function(a){a.preventDefault();var e=t(this).find('input[name="user_email"]').val(),n=t(this).find('input[name="reassign_to"]').val(),i=t(this).find('input[name="post_type"]').val(),s=t(this).find('input[name="post_count"]').val(),d=t(this).find('input[name="gdpr_reassign_content_nonce"]').val(),o=t(this).find(".button-primary"),r=t(this).find(".spinner"),p=t(this).find("p.hidden");n&&(o.addClass("hidden"),r.addClass("is-active"),r.css("display","block"),t.post(ajaxurl,{action:"gdpr_reassign_content",user_email:e,reassign_to:n,post_type:i,post_count:s,nonce:d},function(t){r.removeClass("is-active"),r.hide(),p.removeClass("hidden"),t.success||p.text(t.data)}))}),t(document).on("submit",".gdpr-anonymize-comments",function(a){a.preventDefault();var e=t(this).find('input[name="user_email"]').val(),n=t(this).find('input[name="comment_count"]').val(),i=t(this).find('input[name="gdpr_anonymize_comments_nonce"]').val(),s=t(this).find(".button-primary"),d=t(this).find(".spinner"),o=t(this).find("p.hidden");s.addClass("hidden"),d.addClass("is-active"),d.css("display","block"),t.post(ajaxurl,{action:"gdpr_anonymize_comments",user_email:e,comment_count:n,nonce:i},function(t){d.removeClass("is-active"),d.hide(),o.removeClass("hidden"),t.success||o.text(t.data)})}),t(document).on("submit",".gdpr-access-data-lookup",function(a){a.preventDefault();var e=t(this).find('input[name="user_email"]'),n=e.val(),i=t(this).find('input[name="gdpr_access_data_nonce"]').val(),s=t(this).find(".button-primary"),d=t(this).find(".spinner"),o=t(".gdpr-access-data-result");s.addClass("hidden"),d.show(),o.remove(),e.val(""),t.post(ajaxurl,{action:"gdpr_access_data",nonce:i,email:n},function(a){if(s.removeClass("hidden"),d.hide(),a.success){var e=wp.template("access-data-result-success");t('.gdpr div[data-id="access"]').append(e({result:a.data.result,user_email:a.data.user_email}))}else{e=wp.template("access-data-result-error");t('.gdpr div[data-id="access"]').append(e())}})}),t(document).on("submit",".gdpr-audit-log-lookup",function(a){a.preventDefault();var e=t(this).find('input[name="user_email"]'),n=e.val(),i=t(this).find('input[name="token"]'),s=i.val(),d=t(this).find('input[name="gdpr_audit_log_nonce"]').val(),o=t(this).find(".button-primary"),r=t(this).find(".spinner"),p=t(".gdpr-audit-log-result");o.addClass("hidden"),r.show(),p.remove(),e.val(""),i.val(""),t.post(ajaxurl,{action:"gdpr_audit_log",nonce:d,email:n,token:s},function(a){if(o.removeClass("hidden"),r.hide(),a.success){var e=wp.template("audit-log-result-success");t('.gdpr div[data-id="audit-log"]').append(e({result:a.data}))}else{e=wp.template("audit-log-result-error");t('.gdpr div[data-id="audit-log"]').append(e())}})}),t(document).on("click",'.frm-export-data input[type="submit"]',function(a){a.preventDefault();var e=t(this).parents("form"),n=t(this).val(),i=e.find("#gdpr_export_data_nonce").val(),s=e.find('input[name="user_email"]').val(),d=n.toLowerCase();t.post(ajaxurl,{action:"gdpr_generate_data_export",nonce:i,type:n,email:s},function(a){a.success&&t("<a />",{href:"data:text/plain;charset=utf-8,"+encodeURIComponent(a.data),download:s+"."+d,text:"click"}).hide().appendTo("body")[0].click()})}),t(document).on("submit",".frm-policy-updated",function(a){a.preventDefault();var e=t(this).find('input[name="action"]').val(),n=t(this).find('input[name="policy_id"]').val(),i=t(this).find('input[name="policy_name"]').val(),s=t(this).find('[id$="nonce"]').val(),d=t(this).parent().find(".spinner"),o=t(this);d.addClass("is-active"),t.post(ajaxurl,{action:e,nonce:s,policy_id:n,policy_name:i},function(t){d.removeClass("is-active"),o.parent().fadeOut()})})})}(jQuery);
 
assets/js/gdpr-public.js DELETED
@@ -1 +0,0 @@
1
- !function(e){"use strict";var r=location.search,o=location.protocol+"//"+location.host+location.pathname;function n(r,o,n,t){t=void 0!==t,n=void 0!==n?n:[{title:GDPR.i18n.ok,buttonClass:"gdpr-ok",callback:"closeNotification"}];var d=e(window).scrollTop();e(".gdpr-general-confirmation .gdpr-box-title h3").html(r),e(".gdpr-general-confirmation .gdpr-content p").html(o),e(".gdpr-general-confirmation .gdpr-close").show(),t&&e(".gdpr-general-confirmation .gdpr-close").hide();var a="";n.forEach(function(e){a+='<button class="'+e.buttonClass+'" data-callback="'+e.callback+'">'+e.title+"</button>"}),e(".gdpr-general-confirmation footer").html(a),e(".gdpr-overlay").fadeIn(400,function(){e(".gdpr.gdpr-general-confirmation .gdpr-wrapper").css({display:"flex"}).hide().fadeIn(),e("body").addClass("gdpr-noscroll").css("top",-d)})}window.has_consent=function(e){if(Cookies.get("gdpr[consent_types]")&&JSON.parse(Cookies.get("gdpr[consent_types]")).indexOf(e)>-1)return!0;return!1},window.is_allowed_cookie=function(e){if(Cookies.get("gdpr[allowed_cookies]")&&JSON.parse(Cookies.get("gdpr[allowed_cookies]")).indexOf(e)>-1)return!0;return!1},e(function(){var t={closeNotification:function(){var r=e("body").css("top");e(".gdpr-overlay").fadeOut(),e("body").removeClass("gdpr-noscroll"),e(window).scrollTop(Math.abs(parseInt(r,10))),e(".gdpr.gdpr-general-confirmation .gdpr-wrapper").fadeOut()},addToDeletionConfirmed:function(){e("form.gdpr-add-to-deletion-requests").addClass("confirmed"),e('form.gdpr-add-to-deletion-requests.confirmed input[type="submit"]').click(),t.closeNotification()},policyDisagreeOk:function(){e(".gdpr.gdpr-general-confirmation .gdpr-wrapper header .gdpr-box-title h3").html(GDPR.i18n.aborting),e(".gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content p").html(GDPR.i18n.logging_out),e(".gdpr.gdpr-general-confirmation .gdpr-wrapper footer button").hide(),window.location.href=GDPR.logouturl},policyDisagreeCancel:function(){e(".gdpr.gdpr-general-confirmation .gdpr-wrapper").fadeOut(),e(".gdpr.gdpr-reconsent .gdpr-wrapper").fadeIn()}};if(-1!==r.indexOf("notify=1")&&(window.history.replaceState({},document.title,o),e("body").addClass("gdpr-notification")),e(document).on("click",".gdpr.gdpr-general-confirmation button",function(r){var o=e(this).data("callback");t[o]()}),e(document).on("submit",".gdpr-privacy-preferences-frm",function(r){r.preventDefault();e(this);var o=e(this).serialize();e.post(GDPR.ajaxurl,o,function(r){if(r.success)if(Cookies.set("gdpr[privacy_bar]",1,{expires:365}),GDPR.refresh)window.location.reload();else{var o=e("body").css("top");e(".gdpr-overlay").fadeOut(),e("body").removeClass("gdpr-noscroll"),e(window).scrollTop(Math.abs(parseInt(o,10))),e(".gdpr.gdpr-privacy-preferences .gdpr-wrapper").fadeOut(),e(".gdpr-privacy-bar").fadeOut()}else n(r.data.title,r.data.content)})}),e(document).on("submit",".gdpr-request-form",function(r){if(r.preventDefault(),e(this).hasClass("confirmed")){var o=e(this).serialize();e.post(GDPR.ajaxurl,o,function(e){n(e.data.title,e.data.content)})}}),e(document).on("change",".gdpr-cookie-category",function(){var r=e(this).data("category"),o=e(this).prop("checked");e('[data-category="'+r+'"]').prop("checked",o)}),Cookies.get("gdpr[privacy_bar]")||0==e(".gdpr-reconsent-bar, .gdpr-reconsent").length&&e(".gdpr.gdpr-privacy-bar").delay(1e3).slideDown(600),e(".gdpr-reconsent-bar").length>0&&e(".gdpr.gdpr-reconsent-bar").delay(1e3).slideDown(600),e(".gdpr-reconsent").length>0&&e(".gdpr-overlay").fadeIn(400,function(){e(".gdpr.gdpr-reconsent .gdpr-wrapper").fadeIn(),e("body").addClass("gdpr-noscroll").delay(1e3)}),e(document).on("click",".gdpr.gdpr-privacy-bar .gdpr-agreement",function(){e(".gdpr-privacy-preferences-frm").submit()}),e(document).on("click",".gdpr.gdpr-reconsent-bar .gdpr-agreement",function(){var r=[];e('.gdpr-policy-list input[type="hidden"]').each(function(){r.push(e(this).val())}),e.post(GDPR.ajaxurl,{action:"agree_with_new_policies",nonce:e(this).data("nonce"),consents:r},function(r){r.success?GDPR.refresh?window.location.reload():(e(".gdpr-reconsent-bar").slideUp(600),Cookies.get("gdpr[privacy_bar]")||e(".gdpr.gdpr-privacy-bar").delay(1e3).slideDown(600)):n(r.data.title,r.data.content)})}),e(document).on("submit",".gdpr-reconsent-frm",function(r){r.preventDefault();var o=[],t=e(this).find("#agree-with-new-policies-nonce").val();e(this).find('[name="gdpr-updated-policy"]').each(function(){o.push(e(this).val())}),e.post(GDPR.ajaxurl,{action:"agree_with_new_policies",nonce:t,consents:o},function(r){if(r.success)if(GDPR.refresh)window.location.reload();else{var o=e("body").css("top");e(".gdpr-overlay").fadeOut(),e("body").removeClass("gdpr-noscroll"),e(window).scrollTop(Math.abs(parseInt(o,10))),e(".gdpr.gdpr-reconsent .gdpr-wrapper").fadeOut(),Cookies.get("gdpr[privacy_bar]")||e(".gdpr.gdpr-privacy-bar").delay(1e3).slideDown(600)}else n(r.data.title,r.data.content)})}),e(document).on("click",".gdpr.gdpr-privacy-bar .gdpr-close, .gdpr.gdpr-reconsent-bar .gdpr-close",function(){var r=e("body").css("top");e(".gdpr-overlay").fadeOut(),e("body").removeClass("gdpr-noscroll"),e(window).scrollTop(Math.abs(parseInt(r,10))),e(".gdpr.gdpr-privacy-bar, .gdpr.gdpr-reconsent-bar").slideUp(600)}),e(document).on("click",".gdpr.gdpr-general-confirmation .gdpr-close",function(){var r=e("body").css("top");e(".gdpr-overlay").fadeOut(),e("body").removeClass("gdpr-noscroll"),e(window).scrollTop(Math.abs(parseInt(r,10))),e(".gdpr.gdpr-general-confirmation .gdpr-wrapper").fadeOut()}),e(document).on("click",".gdpr-preferences",function(r){r.preventDefault();var o=e(window).scrollTop(),n=e(this).data("tab");e(".gdpr-overlay").fadeIn(),e("body").addClass("gdpr-noscroll").css("top",-o),e(".gdpr.gdpr-privacy-preferences .gdpr-wrapper").fadeIn(),n&&e('.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-tabs [data-target="'+n+'"]').click()}),e(document).on("click",".gdpr.gdpr-privacy-preferences .gdpr-close",function(r){r.preventDefault();var o=e("body").css("top");e(".gdpr-reconsent .gdpr-wrapper").is(":visible")||(e(".gdpr-overlay").fadeOut(),e("body").removeClass("gdpr-noscroll"),e(window).scrollTop(Math.abs(parseInt(o,10)))),e(".gdpr.gdpr-privacy-preferences .gdpr-wrapper").fadeOut()}),e(document).on("click",".gdpr.gdpr-privacy-preferences .gdpr-tabs button, .gdpr.gdpr-reconsent .gdpr-tabs button",function(){var r="."+e(this).data("target");e(".gdpr.gdpr-privacy-preferences .gdpr-tab-content > div, .gdpr.gdpr-reconsent .gdpr-tab-content > div").removeClass("gdpr-active"),e(".gdpr.gdpr-privacy-preferences .gdpr-tab-content "+r+", .gdpr.gdpr-reconsent .gdpr-tab-content "+r).addClass("gdpr-active"),e(".gdpr.gdpr-privacy-preferences .gdpr-tabs, .gdpr.gdpr-reconsent .gdpr-tabs").hasClass("gdpr-mobile-expanded")&&(e(".gdpr.gdpr-privacy-preferences .gdpr-mobile-menu button, .gdpr.gdpr-reconsent .gdpr-mobile-menu button").removeClass("gdpr-active"),e(".gdpr.gdpr-privacy-preferences .gdpr-tabs, .gdpr.gdpr-reconsent .gdpr-tabs").toggle()),e(".gdpr.gdpr-privacy-preferences .gdpr-tabs button, .gdpr.gdpr-reconsent .gdpr-tabs button").removeClass("gdpr-active"),e(".gdpr-subtabs li button").removeClass("gdpr-active"),e(this).hasClass("gdpr-tab-button")?(e(this).addClass("gdpr-active"),e(this).hasClass("gdpr-cookie-settings")&&e(".gdpr-subtabs").find("li button").first().addClass("gdpr-active")):(e(".gdpr-cookie-settings").addClass("gdpr-active"),e(this).addClass("gdpr-active"))}),e(document).on("click",".gdpr.gdpr-privacy-preferences .gdpr-mobile-menu button, .gdpr.gdpr-reconsent .gdpr-mobile-menu button",function(r){e(this).toggleClass("gdpr-active"),e(".gdpr.gdpr-privacy-preferences .gdpr-tabs, .gdpr.gdpr-reconsent .gdpr-tabs").toggle().addClass("gdpr-mobile-expanded")}),e(window).resize(function(){e(window).width()>640&&e(".gdpr.gdpr-privacy-preferences .gdpr-tabs, .gdpr.gdpr-reconsent .gdpr-tabs").hasClass("gdpr-mobile-expanded")&&(e(".gdpr.gdpr-privacy-preferences .gdpr-mobile-menu button, .gdpr.gdpr-reconsent .gdpr-mobile-menu button").removeClass("gdpr-active"),e(".gdpr.gdpr-privacy-preferences .gdpr-tabs, .gdpr.gdpr-reconsent .gdpr-tabs").removeClass("gdpr-mobile-expanded").removeAttr("style"))}),e("form.gdpr-add-to-deletion-requests").on("submit",function(r){if(!e(this).hasClass("confirmed")){r.preventDefault();var o=[{title:GDPR.i18n.ok,buttonClass:"gdpr-ok",callback:"addToDeletionConfirmed"},{title:GDPR.i18n.cancel,buttonClass:"gdpr-cancel",callback:"closeNotification"}];n(GDPR.i18n.close_account,GDPR.i18n.close_account_warning,o)}}),e("body").hasClass("gdpr-notification")){var d=e(window).scrollTop();e(".gdpr-overlay").fadeIn(400,function(){e(".gdpr.gdpr-general-confirmation .gdpr-wrapper").css({display:"flex"}).hide().fadeIn(),e("body").addClass("gdpr-noscroll").css("top",-d)})}e(document).on("click",".gdpr-disagree a",function(r){e(".gdpr.gdpr-reconsent .gdpr-wrapper").fadeOut();var o=[{title:GDPR.i18n.ok,buttonClass:"gdpr-ok",callback:"policyDisagreeOk"},{title:GDPR.i18n.cancel,buttonClass:"gdpr-cancel",callback:"policyDisagreeCancel"}];n(GDPR.i18n.are_you_sure,GDPR.i18n.policy_disagree,o,!0)})})}(jQuery),function(e){var r=!1;if("function"==typeof define&&define.amd&&(define(e),r=!0),"object"==typeof exports&&(module.exports=e(),r=!0),!r){var o=window.Cookies,n=window.Cookies=e();n.noConflict=function(){return window.Cookies=o,n}}}(function(){function e(){for(var e=0,r={};e<arguments.length;e++){var o=arguments[e];for(var n in o)r[n]=o[n]}return r}return function r(o){function n(r,t,d){var a;if("undefined"!=typeof document){if(arguments.length>1){if("number"==typeof(d=e({path:"/"},n.defaults,d)).expires){var p=new Date;p.setMilliseconds(p.getMilliseconds()+864e5*d.expires),d.expires=p}d.expires=d.expires?d.expires.toUTCString():"";try{a=JSON.stringify(t),/^[\{\[]/.test(a)&&(t=a)}catch(e){}t=o.write?o.write(t,r):encodeURIComponent(String(t)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),r=(r=(r=encodeURIComponent(String(r))).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent)).replace(/[\(\)]/g,escape);var i="";for(var c in d)d[c]&&(i+="; "+c,!0!==d[c]&&(i+="="+d[c]));return document.cookie=r+"="+t+i}r||(a={});for(var s=document.cookie?document.cookie.split("; "):[],g=/(%[0-9A-Z]{2})+/g,l=0;l<s.length;l++){var f=s[l].split("="),u=f.slice(1).join("=");this.json||'"'!==u.charAt(0)||(u=u.slice(1,-1));try{var b=f[0].replace(g,decodeURIComponent);if(u=o.read?o.read(u,b):o(u,b)||u.replace(g,decodeURIComponent),this.json)try{u=JSON.parse(u)}catch(e){}if(r===b){a=u;break}r||(a[b]=u)}catch(e){}}return a}}return n.set=n,n.get=function(e){return n.call(n,e)},n.getJSON=function(){return n.apply({json:!0},[].slice.call(arguments))},n.defaults={},n.remove=function(r,o){n(r,"",e(o,{expires:-1}))},n.withConverter=r,n}(function(){})});
 
changelog.txt CHANGED
@@ -1,3 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
  = 2.0.6 =
2
  * Fix XML export error.
3
 
@@ -48,8 +60,8 @@
48
  * Delete cookies when users change their preferences and disable some cookies.
49
  * Changed cookies used field to textarea for easier reading when lots of cookies are set.
50
  * Added a text to the settings page explaining that even if cookies are registered, if the user does not input some text for the privacy banner, it won't show up.
51
- * Adding filters for the admin notification email. [https://gdpr-wp.com/knowledge-base/actions-filters/](https://gdpr-wp.com/knowledge-base/actions-filters/)
52
- * Adding filters for the request forms button label. [https://gdpr-wp.com/knowledge-base/actions-filters/](https://gdpr-wp.com/knowledge-base/actions-filters/)
53
 
54
  = 1.4.2 =
55
  * Fix privacy bar reapearing. Cookie was not set to expire in a year.
1
+ = 2.0.7 =
2
+ * Changing some texts to be consistent.
3
+ * Cleaned up code with VIP Code Standard.
4
+ * Improved security.
5
+ * Fix internet explorer bug.
6
+ * Fix JS function with wrong variable name when an AJAX error happened.
7
+ * Fix Warning on woocommerce consent checkboxes.
8
+ * Renaming buttons and translating placeholders.
9
+ * Added another parameter to the request forms function and shortcode to allow users to customize the button text.
10
+ * Fix a bug in the privacy preferences center when you moved to a different page without accepting cookies it would uncheck fields that should continue being checked.
11
+ * Fix settings tooltips z-index to sit on top of other elements.
12
+
13
  = 2.0.6 =
14
  * Fix XML export error.
15
 
60
  * Delete cookies when users change their preferences and disable some cookies.
61
  * Changed cookies used field to textarea for easier reading when lots of cookies are set.
62
  * Added a text to the settings page explaining that even if cookies are registered, if the user does not input some text for the privacy banner, it won't show up.
63
+ * Adding filters for the admin notification email. [https://github.com/trewknowledge/GDPR/wiki/Actions-&-Filters](https://github.com/trewknowledge/GDPR/wiki/Actions-&-Filters)
64
+ * Adding filters for the request forms button label. [https://github.com/trewknowledge/GDPR/wiki/Actions-&-Filters](https://github.com/trewknowledge/GDPR/wiki/Actions-&-Filters)
65
 
66
  = 1.4.2 =
67
  * Fix privacy bar reapearing. Cookie was not set to expire in a year.
composer.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
1
+ {
2
+ "require-dev": {
3
+ "phpdocumentor/phpdocumentor": "2.*",
4
+ "automattic/vipwpcs": "^2.0",
5
+ "dealerdirect/phpcodesniffer-composer-installer": "^0.6.2"
6
+ }
7
+ }
composer.lock ADDED
@@ -0,0 +1,3217 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_readme": [
3
+ "This file locks the dependencies of your project to a known state",
4
+ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
5
+ "This file is @generated automatically"
6
+ ],
7
+ "content-hash": "cf6a1fa8ed24eb1c8225133f971a90a5",
8
+ "packages": [],
9
+ "packages-dev": [
10
+ {
11
+ "name": "automattic/vipwpcs",
12
+ "version": "2.0.0",
13
+ "source": {
14
+ "type": "git",
15
+ "url": "https://github.com/Automattic/VIP-Coding-Standards.git",
16
+ "reference": "fc02f491dc9f51da7c32941ac579f70b9ed300c5"
17
+ },
18
+ "dist": {
19
+ "type": "zip",
20
+ "url": "https://api.github.com/repos/Automattic/VIP-Coding-Standards/zipball/fc02f491dc9f51da7c32941ac579f70b9ed300c5",
21
+ "reference": "fc02f491dc9f51da7c32941ac579f70b9ed300c5",
22
+ "shasum": ""
23
+ },
24
+ "require": {
25
+ "php": ">=5.6",
26
+ "squizlabs/php_codesniffer": "^3.3.1",
27
+ "wp-coding-standards/wpcs": "^2.1"
28
+ },
29
+ "require-dev": {
30
+ "dealerdirect/phpcodesniffer-composer-installer": "^0.5",
31
+ "phpcompatibility/php-compatibility": "^9",
32
+ "phpunit/phpunit": "^5 || ^6 || ^7"
33
+ },
34
+ "suggest": {
35
+ "dealerdirect/phpcodesniffer-composer-installer": "^0.5 || This Composer plugin will sort out the PHPCS 'installed_paths' automatically."
36
+ },
37
+ "type": "phpcodesniffer-standard",
38
+ "notification-url": "https://packagist.org/downloads/",
39
+ "license": [
40
+ "MIT"
41
+ ],
42
+ "authors": [
43
+ {
44
+ "name": "Contributors",
45
+ "homepage": "https://github.com/Automattic/VIP-Coding-Standards/graphs/contributors"
46
+ }
47
+ ],
48
+ "description": "PHP_CodeSniffer rules (sniffs) to enforce WordPress VIP minimum coding conventions",
49
+ "keywords": [
50
+ "phpcs",
51
+ "standards",
52
+ "wordpress"
53
+ ],
54
+ "time": "2019-07-12T08:47:36+00:00"
55
+ },
56
+ {
57
+ "name": "cilex/cilex",
58
+ "version": "1.1.0",
59
+ "source": {
60
+ "type": "git",
61
+ "url": "https://github.com/Cilex/Cilex.git",
62
+ "reference": "7acd965a609a56d0345e8b6071c261fbdb926cb5"
63
+ },
64
+ "dist": {
65
+ "type": "zip",
66
+ "url": "https://api.github.com/repos/Cilex/Cilex/zipball/7acd965a609a56d0345e8b6071c261fbdb926cb5",
67
+ "reference": "7acd965a609a56d0345e8b6071c261fbdb926cb5",
68
+ "shasum": ""
69
+ },
70
+ "require": {
71
+ "cilex/console-service-provider": "1.*",
72
+ "php": ">=5.3.3",
73
+ "pimple/pimple": "~1.0",
74
+ "symfony/finder": "~2.1",
75
+ "symfony/process": "~2.1"
76
+ },
77
+ "require-dev": {
78
+ "phpunit/phpunit": "3.7.*",
79
+ "symfony/validator": "~2.1"
80
+ },
81
+ "suggest": {
82
+ "monolog/monolog": ">=1.0.0",
83
+ "symfony/validator": ">=1.0.0",
84
+ "symfony/yaml": ">=1.0.0"
85
+ },
86
+ "type": "library",
87
+ "extra": {
88
+ "branch-alias": {
89
+ "dev-master": "1.0-dev"
90
+ }
91
+ },
92
+ "autoload": {
93
+ "psr-0": {
94
+ "Cilex": "src/"
95
+ }
96
+ },
97
+ "notification-url": "https://packagist.org/downloads/",
98
+ "license": [
99
+ "MIT"
100
+ ],
101
+ "authors": [
102
+ {
103
+ "name": "Mike van Riel",
104
+ "email": "mike.vanriel@naenius.com"
105
+ }
106
+ ],
107
+ "description": "The PHP micro-framework for Command line tools based on the Symfony2 Components",
108
+ "homepage": "http://cilex.github.com",
109
+ "keywords": [
110
+ "cli",
111
+ "microframework"
112
+ ],
113
+ "time": "2014-03-29T14:03:13+00:00"
114
+ },
115
+ {
116
+ "name": "cilex/console-service-provider",
117
+ "version": "1.0.0",
118
+ "source": {
119
+ "type": "git",
120
+ "url": "https://github.com/Cilex/console-service-provider.git",
121
+ "reference": "25ee3d1875243d38e1a3448ff94bdf944f70d24e"
122
+ },
123
+ "dist": {
124
+ "type": "zip",
125
+ "url": "https://api.github.com/repos/Cilex/console-service-provider/zipball/25ee3d1875243d38e1a3448ff94bdf944f70d24e",
126
+ "reference": "25ee3d1875243d38e1a3448ff94bdf944f70d24e",
127
+ "shasum": ""
128
+ },
129
+ "require": {
130
+ "php": ">=5.3.3",
131
+ "pimple/pimple": "1.*@dev",
132
+ "symfony/console": "~2.1"
133
+ },
134
+ "require-dev": {
135
+ "cilex/cilex": "1.*@dev",
136
+ "silex/silex": "1.*@dev"
137
+ },
138
+ "type": "library",
139
+ "extra": {
140
+ "branch-alias": {
141
+ "dev-master": "1.0-dev"
142
+ }
143
+ },
144
+ "autoload": {
145
+ "psr-0": {
146
+ "Cilex\\Provider\\Console": "src"
147
+ }
148
+ },
149
+ "notification-url": "https://packagist.org/downloads/",
150
+ "license": [
151
+ "MIT"
152
+ ],
153
+ "authors": [
154
+ {
155
+ "name": "Beau Simensen",
156
+ "email": "beau@dflydev.com",
157
+ "homepage": "http://beausimensen.com"
158
+ },
159
+ {
160
+ "name": "Mike van Riel",
161
+ "email": "mike.vanriel@naenius.com"
162
+ }
163
+ ],
164
+ "description": "Console Service Provider",
165
+ "keywords": [
166
+ "cilex",
167
+ "console",
168
+ "pimple",
169
+ "service-provider",
170
+ "silex"
171
+ ],
172
+ "time": "2012-12-19T10:50:58+00:00"
173
+ },
174
+ {
175
+ "name": "composer/ca-bundle",
176
+ "version": "1.2.7",
177
+ "source": {
178
+ "type": "git",
179
+ "url": "https://github.com/composer/ca-bundle.git",
180
+ "reference": "95c63ab2117a72f48f5a55da9740a3273d45b7fd"
181
+ },
182
+ "dist": {
183
+ "type": "zip",
184
+ "url": "https://api.github.com/repos/composer/ca-bundle/zipball/95c63ab2117a72f48f5a55da9740a3273d45b7fd",
185
+ "reference": "95c63ab2117a72f48f5a55da9740a3273d45b7fd",
186
+ "shasum": ""
187
+ },
188
+ "require": {
189
+ "ext-openssl": "*",
190
+ "ext-pcre": "*",
191
+ "php": "^5.3.2 || ^7.0 || ^8.0"
192
+ },
193
+ "require-dev": {
194
+ "phpunit/phpunit": "^4.8.35 || ^5.7 || 6.5 - 8",
195
+ "psr/log": "^1.0",
196
+ "symfony/process": "^2.5 || ^3.0 || ^4.0 || ^5.0"
197
+ },
198
+ "type": "library",
199
+ "extra": {
200
+ "branch-alias": {
201
+ "dev-master": "1.x-dev"
202
+ }
203
+ },
204
+ "autoload": {
205
+ "psr-4": {
206
+ "Composer\\CaBundle\\": "src"
207
+ }
208
+ },
209
+ "notification-url": "https://packagist.org/downloads/",
210
+ "license": [
211
+ "MIT"
212
+ ],
213
+ "authors": [
214
+ {
215
+ "name": "Jordi Boggiano",
216
+ "email": "j.boggiano@seld.be",
217
+ "homepage": "http://seld.be"
218
+ }
219
+ ],
220
+ "description": "Lets you find a path to the system CA bundle, and includes a fallback to the Mozilla CA bundle.",
221
+ "keywords": [
222
+ "cabundle",
223
+ "cacert",
224
+ "certificate",
225
+ "ssl",
226
+ "tls"
227
+ ],
228
+ "time": "2020-04-08T08:27:21+00:00"
229
+ },
230
+ {
231
+ "name": "container-interop/container-interop",
232
+ "version": "1.2.0",
233
+ "source": {
234
+ "type": "git",
235
+ "url": "https://github.com/container-interop/container-interop.git",
236
+ "reference": "79cbf1341c22ec75643d841642dd5d6acd83bdb8"
237
+ },
238
+ "dist": {
239
+ "type": "zip",
240
+ "url": "https://api.github.com/repos/container-interop/container-interop/zipball/79cbf1341c22ec75643d841642dd5d6acd83bdb8",
241
+ "reference": "79cbf1341c22ec75643d841642dd5d6acd83bdb8",
242
+ "shasum": ""
243
+ },
244
+ "require": {
245
+ "psr/container": "^1.0"
246
+ },
247
+ "type": "library",
248
+ "autoload": {
249
+ "psr-4": {
250
+ "Interop\\Container\\": "src/Interop/Container/"
251
+ }
252
+ },
253
+ "notification-url": "https://packagist.org/downloads/",
254
+ "license": [
255
+ "MIT"
256
+ ],
257
+ "description": "Promoting the interoperability of container objects (DIC, SL, etc.)",
258
+ "homepage": "https://github.com/container-interop/container-interop",
259
+ "abandoned": "psr/container",
260
+ "time": "2017-02-14T19:40:03+00:00"
261
+ },
262
+ {
263
+ "name": "dealerdirect/phpcodesniffer-composer-installer",
264
+ "version": "v0.6.2",
265
+ "source": {
266
+ "type": "git",
267
+ "url": "https://github.com/Dealerdirect/phpcodesniffer-composer-installer.git",
268
+ "reference": "8001af8eb107fbfcedc31a8b51e20b07d85b457a"
269
+ },
270
+ "dist": {
271
+ "type": "zip",
272
+ "url": "https://api.github.com/repos/Dealerdirect/phpcodesniffer-composer-installer/zipball/8001af8eb107fbfcedc31a8b51e20b07d85b457a",
273
+ "reference": "8001af8eb107fbfcedc31a8b51e20b07d85b457a",
274
+ "shasum": ""
275
+ },
276
+ "require": {
277
+ "composer-plugin-api": "^1.0",
278
+ "php": "^5.3|^7",
279
+ "squizlabs/php_codesniffer": "^2|^3"
280
+ },
281
+ "require-dev": {
282
+ "composer/composer": "*",
283
+ "phpcompatibility/php-compatibility": "^9.0",
284
+ "sensiolabs/security-checker": "^4.1.0"
285
+ },
286
+ "type": "composer-plugin",
287
+ "extra": {
288
+ "class": "Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\Plugin"
289
+ },
290
+ "autoload": {
291
+ "psr-4": {
292
+ "Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\": "src/"
293
+ }
294
+ },
295
+ "notification-url": "https://packagist.org/downloads/",
296
+ "license": [
297
+ "MIT"
298
+ ],
299
+ "authors": [
300
+ {
301
+ "name": "Franck Nijhof",
302
+ "email": "franck.nijhof@dealerdirect.com",
303
+ "homepage": "http://www.frenck.nl",
304
+ "role": "Developer / IT Manager"
305
+ }
306
+ ],
307
+ "description": "PHP_CodeSniffer Standards Composer Installer Plugin",
308
+ "homepage": "http://www.dealerdirect.com",
309
+ "keywords": [
310
+ "PHPCodeSniffer",
311
+ "PHP_CodeSniffer",
312
+ "code quality",
313
+ "codesniffer",
314
+ "composer",
315
+ "installer",
316
+ "phpcs",
317
+ "plugin",
318
+ "qa",
319
+ "quality",
320
+ "standard",
321
+ "standards",
322
+ "style guide",
323
+ "stylecheck",
324
+ "tests"
325
+ ],
326
+ "time": "2020-01-29T20:22:20+00:00"
327
+ },
328
+ {
329
+ "name": "doctrine/annotations",
330
+ "version": "1.10.2",
331
+ "source": {
332
+ "type": "git",
333
+ "url": "https://github.com/doctrine/annotations.git",
334
+ "reference": "b9d758e831c70751155c698c2f7df4665314a1cb"
335
+ },
336
+ "dist": {
337
+ "type": "zip",
338
+ "url": "https://api.github.com/repos/doctrine/annotations/zipball/b9d758e831c70751155c698c2f7df4665314a1cb",
339
+ "reference": "b9d758e831c70751155c698c2f7df4665314a1cb",
340
+ "shasum": ""
341
+ },
342
+ "require": {
343
+ "doctrine/lexer": "1.*",
344
+ "ext-tokenizer": "*",
345
+ "php": "^7.1"
346
+ },
347
+ "require-dev": {
348
+ "doctrine/cache": "1.*",
349
+ "phpunit/phpunit": "^7.5"
350
+ },
351
+ "type": "library",
352
+ "extra": {
353
+ "branch-alias": {
354
+ "dev-master": "1.9.x-dev"
355
+ }
356
+ },
357
+ "autoload": {
358
+ "psr-4": {
359
+ "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations"
360
+ }
361
+ },
362
+ "notification-url": "https://packagist.org/downloads/",
363
+ "license": [
364
+ "MIT"
365
+ ],
366
+ "authors": [
367
+ {
368
+ "name": "Guilherme Blanco",
369
+ "email": "guilhermeblanco@gmail.com"
370
+ },
371
+ {
372
+ "name": "Roman Borschel",
373
+ "email": "roman@code-factory.org"
374
+ },
375
+ {
376
+ "name": "Benjamin Eberlei",
377
+ "email": "kontakt@beberlei.de"
378
+ },
379
+ {
380
+ "name": "Jonathan Wage",
381
+ "email": "jonwage@gmail.com"
382
+ },
383
+ {
384
+ "name": "Johannes Schmitt",
385
+ "email": "schmittjoh@gmail.com"
386
+ }
387
+ ],
388
+ "description": "Docblock Annotations Parser",
389
+ "homepage": "http://www.doctrine-project.org",
390
+ "keywords": [
391
+ "annotations",
392
+ "docblock",
393
+ "parser"
394
+ ],
395
+ "time": "2020-04-20T09:18:32+00:00"
396
+ },
397
+ {
398
+ "name": "doctrine/instantiator",
399
+ "version": "1.3.0",
400
+ "source": {
401
+ "type": "git",
402
+ "url": "https://github.com/doctrine/instantiator.git",
403
+ "reference": "ae466f726242e637cebdd526a7d991b9433bacf1"
404
+ },
405
+ "dist": {
406
+ "type": "zip",
407
+ "url": "https://api.github.com/repos/doctrine/instantiator/zipball/ae466f726242e637cebdd526a7d991b9433bacf1",
408
+ "reference": "ae466f726242e637cebdd526a7d991b9433bacf1",
409
+ "shasum": ""
410
+ },
411
+ "require": {
412
+ "php": "^7.1"
413
+ },
414
+ "require-dev": {
415
+ "doctrine/coding-standard": "^6.0",
416
+ "ext-pdo": "*",
417
+ "ext-phar": "*",
418
+ "phpbench/phpbench": "^0.13",
419
+ "phpstan/phpstan-phpunit": "^0.11",
420
+ "phpstan/phpstan-shim": "^0.11",
421
+ "phpunit/phpunit": "^7.0"
422
+ },
423
+ "type": "library",
424
+ "extra": {
425
+ "branch-alias": {
426
+ "dev-master": "1.2.x-dev"
427
+ }
428
+ },
429
+ "autoload": {
430
+ "psr-4": {
431
+ "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
432
+ }
433
+ },
434
+ "notification-url": "https://packagist.org/downloads/",
435
+ "license": [
436
+ "MIT"
437
+ ],
438
+ "authors": [
439
+ {
440
+ "name": "Marco Pivetta",
441
+ "email": "ocramius@gmail.com",
442
+ "homepage": "http://ocramius.github.com/"
443
+ }
444
+ ],
445
+ "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
446
+ "homepage": "https://www.doctrine-project.org/projects/instantiator.html",
447
+ "keywords": [
448
+ "constructor",
449
+ "instantiate"
450
+ ],
451
+ "time": "2019-10-21T16:45:58+00:00"
452
+ },
453
+ {
454
+ "name": "doctrine/lexer",
455
+ "version": "1.0.2",
456
+ "source": {
457
+ "type": "git",
458
+ "url": "https://github.com/doctrine/lexer.git",
459
+ "reference": "1febd6c3ef84253d7c815bed85fc622ad207a9f8"
460
+ },
461
+ "dist": {
462
+ "type": "zip",
463
+ "url": "https://api.github.com/repos/doctrine/lexer/zipball/1febd6c3ef84253d7c815bed85fc622ad207a9f8",
464
+ "reference": "1febd6c3ef84253d7c815bed85fc622ad207a9f8",
465
+ "shasum": ""
466
+ },
467
+ "require": {
468
+ "php": ">=5.3.2"
469
+ },
470
+ "require-dev": {
471
+ "phpunit/phpunit": "^4.5"
472
+ },
473
+ "type": "library",
474
+ "extra": {
475
+ "branch-alias": {
476
+ "dev-master": "1.0.x-dev"
477
+ }
478
+ },
479
+ "autoload": {
480
+ "psr-4": {
481
+ "Doctrine\\Common\\Lexer\\": "lib/Doctrine/Common/Lexer"
482
+ }
483
+ },
484
+ "notification-url": "https://packagist.org/downloads/",
485
+ "license": [
486
+ "MIT"
487
+ ],
488
+ "authors": [
489
+ {
490
+ "name": "Roman Borschel",
491
+ "email": "roman@code-factory.org"
492
+ },
493
+ {
494
+ "name": "Guilherme Blanco",
495
+ "email": "guilhermeblanco@gmail.com"
496
+ },
497
+ {
498
+ "name": "Johannes Schmitt",
499
+ "email": "schmittjoh@gmail.com"
500
+ }
501
+ ],
502
+ "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.",
503
+ "homepage": "https://www.doctrine-project.org/projects/lexer.html",
504
+ "keywords": [
505
+ "annotations",
506
+ "docblock",
507
+ "lexer",
508
+ "parser",
509
+ "php"
510
+ ],
511
+ "time": "2019-06-08T11:03:04+00:00"
512
+ },
513
+ {
514
+ "name": "erusev/parsedown",
515
+ "version": "1.7.4",
516
+ "source": {
517
+ "type": "git",
518
+ "url": "https://github.com/erusev/parsedown.git",
519
+ "reference": "cb17b6477dfff935958ba01325f2e8a2bfa6dab3"
520
+ },
521
+ "dist": {
522
+ "type": "zip",
523
+ "url": "https://api.github.com/repos/erusev/parsedown/zipball/cb17b6477dfff935958ba01325f2e8a2bfa6dab3",
524
+ "reference": "cb17b6477dfff935958ba01325f2e8a2bfa6dab3",
525
+ "shasum": ""
526
+ },
527
+ "require": {
528
+ "ext-mbstring": "*",
529
+ "php": ">=5.3.0"
530
+ },
531
+ "require-dev": {
532
+ "phpunit/phpunit": "^4.8.35"
533
+ },
534
+ "type": "library",
535
+ "autoload": {
536
+ "psr-0": {
537
+ "Parsedown": ""
538
+ }
539
+ },
540
+ "notification-url": "https://packagist.org/downloads/",
541
+ "license": [
542
+ "MIT"
543
+ ],
544
+ "authors": [
545
+ {
546
+ "name": "Emanuil Rusev",
547
+ "email": "hello@erusev.com",
548
+ "homepage": "http://erusev.com"
549
+ }
550
+ ],
551
+ "description": "Parser for Markdown.",
552
+ "homepage": "http://parsedown.org",
553
+ "keywords": [
554
+ "markdown",
555
+ "parser"
556
+ ],
557
+ "time": "2019-12-30T22:54:17+00:00"
558
+ },
559
+ {
560
+ "name": "jms/metadata",
561
+ "version": "1.7.0",
562
+ "source": {
563
+ "type": "git",
564
+ "url": "https://github.com/schmittjoh/metadata.git",
565
+ "reference": "e5854ab1aa643623dc64adde718a8eec32b957a8"
566
+ },
567
+ "dist": {
568
+ "type": "zip",
569
+ "url": "https://api.github.com/repos/schmittjoh/metadata/zipball/e5854ab1aa643623dc64adde718a8eec32b957a8",
570
+ "reference": "e5854ab1aa643623dc64adde718a8eec32b957a8",
571
+ "shasum": ""
572
+ },
573
+ "require": {
574
+ "php": ">=5.3.0"
575
+ },
576
+ "require-dev": {
577
+ "doctrine/cache": "~1.0",
578
+ "symfony/cache": "~3.1"
579
+ },
580
+ "type": "library",
581
+ "extra": {
582
+ "branch-alias": {
583
+ "dev-master": "1.5.x-dev"
584
+ }
585
+ },
586
+ "autoload": {
587
+ "psr-0": {
588
+ "Metadata\\": "src/"
589
+ }
590
+ },
591
+ "notification-url": "https://packagist.org/downloads/",
592
+ "license": [
593
+ "MIT"
594
+ ],
595
+ "authors": [
596
+ {
597
+ "name": "Asmir Mustafic",
598
+ "email": "goetas@gmail.com"
599
+ },
600
+ {
601
+ "name": "Johannes M. Schmitt",
602
+ "email": "schmittjoh@gmail.com"
603
+ }
604
+ ],
605
+ "description": "Class/method/property metadata management in PHP",
606
+ "keywords": [
607
+ "annotations",
608
+ "metadata",
609
+ "xml",
610
+ "yaml"
611
+ ],
612
+ "time": "2018-10-26T12:40:10+00:00"
613
+ },
614
+ {
615
+ "name": "jms/parser-lib",
616
+ "version": "1.0.0",
617
+ "source": {
618
+ "type": "git",
619
+ "url": "https://github.com/schmittjoh/parser-lib.git",
620
+ "reference": "c509473bc1b4866415627af0e1c6cc8ac97fa51d"
621
+ },
622
+ "dist": {
623
+ "type": "zip",
624
+ "url": "https://api.github.com/repos/schmittjoh/parser-lib/zipball/c509473bc1b4866415627af0e1c6cc8ac97fa51d",
625
+ "reference": "c509473bc1b4866415627af0e1c6cc8ac97fa51d",
626
+ "shasum": ""
627
+ },
628
+ "require": {
629
+ "phpoption/phpoption": ">=0.9,<2.0-dev"
630
+ },
631
+ "type": "library",
632
+ "extra": {
633
+ "branch-alias": {
634
+ "dev-master": "1.0-dev"
635
+ }
636
+ },
637
+ "autoload": {
638
+ "psr-0": {
639
+ "JMS\\": "src/"
640
+ }
641
+ },
642
+ "notification-url": "https://packagist.org/downloads/",
643
+ "license": [
644
+ "Apache2"
645
+ ],
646
+ "description": "A library for easily creating recursive-descent parsers.",
647
+ "time": "2012-11-18T18:08:43+00:00"
648
+ },
649
+ {
650
+ "name": "jms/serializer",
651
+ "version": "1.7.1",
652
+ "source": {
653
+ "type": "git",
654
+ "url": "https://github.com/schmittjoh/serializer.git",
655
+ "reference": "4fad8bbbe76e05de3b79ffa3db027058ed3813ff"
656
+ },
657
+ "dist": {
658
+ "type": "zip",
659
+ "url": "https://api.github.com/repos/schmittjoh/serializer/zipball/4fad8bbbe76e05de3b79ffa3db027058ed3813ff",
660
+ "reference": "4fad8bbbe76e05de3b79ffa3db027058ed3813ff",
661
+ "shasum": ""
662
+ },
663
+ "require": {
664
+ "doctrine/annotations": "^1.0",
665
+ "doctrine/instantiator": "^1.0.3",
666
+ "jms/metadata": "~1.1",
667
+ "jms/parser-lib": "1.*",
668
+ "php": ">=5.5.0",
669
+ "phpcollection/phpcollection": "~0.1",
670
+ "phpoption/phpoption": "^1.1"
671
+ },
672
+ "conflict": {
673
+ "jms/serializer-bundle": "<1.2.1",
674
+ "twig/twig": "<1.12"
675
+ },
676
+ "require-dev": {
677
+ "doctrine/orm": "~2.1",
678
+ "doctrine/phpcr-odm": "^1.3|^2.0",
679
+ "ext-pdo_sqlite": "*",
680
+ "jackalope/jackalope-doctrine-dbal": "^1.1.5",
681
+ "phpunit/phpunit": "^4.8|^5.0",
682
+ "propel/propel1": "~1.7",
683
+ "symfony/expression-language": "^2.6|^3.0",
684
+ "symfony/filesystem": "^2.1",
685
+ "symfony/form": "~2.1|^3.0",
686
+ "symfony/translation": "^2.1|^3.0",
687
+ "symfony/validator": "^2.2|^3.0",
688
+ "symfony/yaml": "^2.1|^3.0",
689
+ "twig/twig": "~1.12|~2.0"
690
+ },
691
+ "suggest": {
692
+ "doctrine/cache": "Required if you like to use cache functionality.",
693
+ "doctrine/collections": "Required if you like to use doctrine collection types as ArrayCollection.",
694
+ "symfony/yaml": "Required if you'd like to serialize data to YAML format."
695
+ },
696
+ "type": "library",
697
+ "extra": {
698
+ "branch-alias": {
699
+ "dev-master": "1.8-dev"
700
+ }
701
+ },
702
+ "autoload": {
703
+ "psr-0": {
704
+ "JMS\\Serializer": "src/"
705
+ }
706
+ },
707
+ "notification-url": "https://packagist.org/downloads/",
708
+ "license": [
709
+ "Apache-2.0"
710
+ ],
711
+ "authors": [
712
+ {
713
+ "name": "Johannes M. Schmitt",
714
+ "email": "schmittjoh@gmail.com"
715
+ }
716
+ ],
717
+ "description": "Library for (de-)serializing data of any complexity; supports XML, JSON, and YAML.",
718
+ "homepage": "http://jmsyst.com/libs/serializer",
719
+ "keywords": [
720
+ "deserialization",
721
+ "jaxb",
722
+ "json",
723
+ "serialization",
724
+ "xml"
725
+ ],
726
+ "time": "2017-05-15T08:35:42+00:00"
727
+ },
728
+ {
729
+ "name": "monolog/monolog",
730
+ "version": "1.25.3",
731
+ "source": {
732
+ "type": "git",
733
+ "url": "https://github.com/Seldaek/monolog.git",
734
+ "reference": "fa82921994db851a8becaf3787a9e73c5976b6f1"
735
+ },
736
+ "dist": {
737
+ "type": "zip",
738
+ "url": "https://api.github.com/repos/Seldaek/monolog/zipball/fa82921994db851a8becaf3787a9e73c5976b6f1",
739
+ "reference": "fa82921994db851a8becaf3787a9e73c5976b6f1",
740
+ "shasum": ""
741
+ },
742
+ "require": {
743
+ "php": ">=5.3.0",
744
+ "psr/log": "~1.0"
745
+ },
746
+ "provide": {
747
+ "psr/log-implementation": "1.0.0"
748
+ },
749
+ "require-dev": {
750
+ "aws/aws-sdk-php": "^2.4.9 || ^3.0",
751
+ "doctrine/couchdb": "~1.0@dev",
752
+ "graylog2/gelf-php": "~1.0",
753
+ "jakub-onderka/php-parallel-lint": "0.9",
754
+ "php-amqplib/php-amqplib": "~2.4",
755
+ "php-console/php-console": "^3.1.3",
756
+ "phpunit/phpunit": "~4.5",
757
+ "phpunit/phpunit-mock-objects": "2.3.0",
758
+ "ruflin/elastica": ">=0.90 <3.0",
759
+ "sentry/sentry": "^0.13",
760
+ "swiftmailer/swiftmailer": "^5.3|^6.0"
761
+ },
762
+ "suggest": {
763
+ "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB",
764
+ "doctrine/couchdb": "Allow sending log messages to a CouchDB server",
765
+ "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)",
766
+ "ext-mongo": "Allow sending log messages to a MongoDB server",
767
+ "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server",
768
+ "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver",
769
+ "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib",
770
+ "php-console/php-console": "Allow sending log messages to Google Chrome",
771
+ "rollbar/rollbar": "Allow sending log messages to Rollbar",
772
+ "ruflin/elastica": "Allow sending log messages to an Elastic Search server",
773
+ "sentry/sentry": "Allow sending log messages to a Sentry server"
774
+ },
775
+ "type": "library",
776
+ "extra": {
777
+ "branch-alias": {
778
+ "dev-master": "2.0.x-dev"
779
+ }
780
+ },
781
+ "autoload": {
782
+ "psr-4": {
783
+ "Monolog\\": "src/Monolog"
784
+ }
785
+ },
786
+ "notification-url": "https://packagist.org/downloads/",
787
+ "license": [
788
+ "MIT"
789
+ ],
790
+ "authors": [
791
+ {
792
+ "name": "Jordi Boggiano",
793
+ "email": "j.boggiano@seld.be",
794
+ "homepage": "http://seld.be"
795
+ }
796
+ ],
797
+ "description": "Sends your logs to files, sockets, inboxes, databases and various web services",
798
+ "homepage": "http://github.com/Seldaek/monolog",
799
+ "keywords": [
800
+ "log",
801
+ "logging",
802
+ "psr-3"
803
+ ],
804
+ "time": "2019-12-20T14:15:16+00:00"
805
+ },
806
+ {
807
+ "name": "nikic/php-parser",
808
+ "version": "v1.4.1",
809
+ "source": {
810
+ "type": "git",
811
+ "url": "https://github.com/nikic/PHP-Parser.git",
812
+ "reference": "f78af2c9c86107aa1a34cd1dbb5bbe9eeb0d9f51"
813
+ },
814
+ "dist": {
815
+ "type": "zip",
816
+ "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/f78af2c9c86107aa1a34cd1dbb5bbe9eeb0d9f51",
817
+ "reference": "f78af2c9c86107aa1a34cd1dbb5bbe9eeb0d9f51",
818
+ "shasum": ""
819
+ },
820
+ "require": {
821
+ "ext-tokenizer": "*",
822
+ "php": ">=5.3"
823
+ },
824
+ "type": "library",
825
+ "extra": {
826
+ "branch-alias": {
827
+ "dev-master": "1.4-dev"
828
+ }
829
+ },
830
+ "autoload": {
831
+ "files": [
832
+ "lib/bootstrap.php"
833
+ ]
834
+ },
835
+ "notification-url": "https://packagist.org/downloads/",
836
+ "license": [
837
+ "BSD-3-Clause"
838
+ ],
839
+ "authors": [
840
+ {
841
+ "name": "Nikita Popov"
842
+ }
843
+ ],
844
+ "description": "A PHP parser written in PHP",
845
+ "keywords": [
846
+ "parser",
847
+ "php"
848
+ ],
849
+ "time": "2015-09-19T14:15:08+00:00"
850
+ },
851
+ {
852
+ "name": "padraic/humbug_get_contents",
853
+ "version": "1.1.2",
854
+ "source": {
855
+ "type": "git",
856
+ "url": "https://github.com/humbug/file_get_contents.git",
857
+ "reference": "dcb086060c9dd6b2f51d8f7a895500307110b7a7"
858
+ },
859
+ "dist": {
860
+ "type": "zip",
861
+ "url": "https://api.github.com/repos/humbug/file_get_contents/zipball/dcb086060c9dd6b2f51d8f7a895500307110b7a7",
862
+ "reference": "dcb086060c9dd6b2f51d8f7a895500307110b7a7",
863
+ "shasum": ""
864
+ },
865
+ "require": {
866
+ "composer/ca-bundle": "^1.0",
867
+ "ext-openssl": "*",
868
+ "php": "^5.3 || ^7.0 || ^7.1 || ^7.2"
869
+ },
870
+ "require-dev": {
871
+ "bamarni/composer-bin-plugin": "^1.1",
872
+ "mikey179/vfsstream": "^1.6",
873
+ "phpunit/phpunit": "^4.8 || ^5.7 || ^6.5"
874
+ },
875
+ "type": "library",
876
+ "extra": {
877
+ "bamarni-bin": {
878
+ "bin-links": false
879
+ },
880
+ "branch-alias": {
881
+ "dev-master": "2.0-dev"
882
+ }
883
+ },
884
+ "autoload": {
885
+ "psr-4": {
886
+ "Humbug\\": "src/"
887
+ },
888
+ "files": [
889
+ "src/function.php",
890
+ "src/functions.php"
891
+ ]
892
+ },
893
+ "notification-url": "https://packagist.org/downloads/",
894
+ "license": [
895
+ "BSD-3-Clause"
896
+ ],
897
+ "authors": [
898
+ {
899
+ "name": "Pádraic Brady",
900
+ "email": "padraic.brady@gmail.com",
901
+ "homepage": "http://blog.astrumfutura.com"
902
+ },
903
+ {
904
+ "name": "Théo Fidry",
905
+ "email": "theo.fidry@gmail.com"
906
+ }
907
+ ],
908
+ "description": "Secure wrapper for accessing HTTPS resources with file_get_contents for PHP 5.3+",
909
+ "homepage": "https://github.com/padraic/file_get_contents",
910
+ "keywords": [
911
+ "download",
912
+ "file_get_contents",
913
+ "http",
914
+ "https",
915
+ "ssl",
916
+ "tls"
917
+ ],
918
+ "time": "2018-02-12T18:47:17+00:00"
919
+ },
920
+ {
921
+ "name": "padraic/phar-updater",
922
+ "version": "v1.0.6",
923
+ "source": {
924
+ "type": "git",
925
+ "url": "https://github.com/humbug/phar-updater.git",
926
+ "reference": "d01d3b8f26e541ac9b9eeba1e18d005d852f7ff1"
927
+ },
928
+ "dist": {
929
+ "type": "zip",
930
+ "url": "https://api.github.com/repos/humbug/phar-updater/zipball/d01d3b8f26e541ac9b9eeba1e18d005d852f7ff1",
931
+ "reference": "d01d3b8f26e541ac9b9eeba1e18d005d852f7ff1",
932
+ "shasum": ""
933
+ },
934
+ "require": {
935
+ "padraic/humbug_get_contents": "^1.0",
936
+ "php": ">=5.3.3"
937
+ },
938
+ "require-dev": {
939
+ "phpunit/phpunit": "~4.0"
940
+ },
941
+ "type": "library",
942
+ "extra": {
943
+ "branch-alias": {
944
+ "dev-master": "1.0-dev"
945
+ }
946
+ },
947
+ "autoload": {
948
+ "psr-4": {
949
+ "Humbug\\SelfUpdate\\": "src/"
950
+ }
951
+ },
952
+ "notification-url": "https://packagist.org/downloads/",
953
+ "license": [
954
+ "BSD-3-Clause"
955
+ ],
956
+ "authors": [
957
+ {
958
+ "name": "Pádraic Brady",
959
+ "email": "padraic.brady@gmail.com",
960
+ "homepage": "http://blog.astrumfutura.com"
961
+ }
962
+ ],
963
+ "description": "A thing to make PHAR self-updating easy and secure.",
964
+ "keywords": [
965
+ "humbug",
966
+ "phar",
967
+ "self-update",
968
+ "update"
969
+ ],
970
+ "time": "2018-03-30T12:52:15+00:00"
971
+ },
972
+ {
973
+ "name": "phpcollection/phpcollection",
974
+ "version": "0.5.0",
975
+ "source": {
976
+ "type": "git",
977
+ "url": "https://github.com/schmittjoh/php-collection.git",
978
+ "reference": "f2bcff45c0da7c27991bbc1f90f47c4b7fb434a6"
979
+ },
980
+ "dist": {
981
+ "type": "zip",
982
+ "url": "https://api.github.com/repos/schmittjoh/php-collection/zipball/f2bcff45c0da7c27991bbc1f90f47c4b7fb434a6",
983
+ "reference": "f2bcff45c0da7c27991bbc1f90f47c4b7fb434a6",
984
+ "shasum": ""
985
+ },
986
+ "require": {
987
+ "phpoption/phpoption": "1.*"
988
+ },
989
+ "type": "library",
990
+ "extra": {
991
+ "branch-alias": {
992
+ "dev-master": "0.4-dev"
993
+ }
994
+ },
995
+ "autoload": {
996
+ "psr-0": {
997
+ "PhpCollection": "src/"
998
+ }
999
+ },
1000
+ "notification-url": "https://packagist.org/downloads/",
1001
+ "license": [
1002
+ "Apache2"
1003
+ ],
1004
+ "authors": [
1005
+ {
1006
+ "name": "Johannes M. Schmitt",
1007
+ "email": "schmittjoh@gmail.com"
1008
+ }
1009
+ ],
1010
+ "description": "General-Purpose Collection Library for PHP",
1011
+ "keywords": [
1012
+ "collection",
1013
+ "list",
1014
+ "map",
1015
+ "sequence",
1016
+ "set"
1017
+ ],
1018
+ "time": "2015-05-17T12:39:23+00:00"
1019
+ },
1020
+ {
1021
+ "name": "phpdocumentor/fileset",
1022
+ "version": "1.0.0",
1023
+ "source": {
1024
+ "type": "git",
1025
+ "url": "https://github.com/phpDocumentor/Fileset.git",
1026
+ "reference": "bfa78d8fa9763dfce6d0e5d3730c1d8ab25d34b0"
1027
+ },
1028
+ "dist": {
1029
+ "type": "zip",
1030
+ "url": "https://api.github.com/repos/phpDocumentor/Fileset/zipball/bfa78d8fa9763dfce6d0e5d3730c1d8ab25d34b0",
1031
+ "reference": "bfa78d8fa9763dfce6d0e5d3730c1d8ab25d34b0",
1032
+ "shasum": ""
1033
+ },
1034
+ "require": {
1035
+ "php": ">=5.3.3",
1036
+ "symfony/finder": "~2.1"
1037
+ },
1038
+ "require-dev": {
1039
+ "phpunit/phpunit": "~3.7"
1040
+ },
1041
+ "type": "library",
1042
+ "autoload": {
1043
+ "psr-0": {
1044
+ "phpDocumentor": [
1045
+ "src/",
1046
+ "tests/unit/"
1047
+ ]
1048
+ }
1049
+ },
1050
+ "notification-url": "https://packagist.org/downloads/",
1051
+ "license": [
1052
+ "MIT"
1053
+ ],
1054
+ "description": "Fileset component for collecting a set of files given directories and file paths",
1055
+ "homepage": "http://www.phpdoc.org",
1056
+ "keywords": [
1057
+ "files",
1058
+ "fileset",
1059
+ "phpdoc"
1060
+ ],
1061
+ "time": "2013-08-06T21:07:42+00:00"
1062
+ },
1063
+ {
1064
+ "name": "phpdocumentor/graphviz",
1065
+ "version": "1.0.4",
1066
+ "source": {
1067
+ "type": "git",
1068
+ "url": "https://github.com/phpDocumentor/GraphViz.git",
1069
+ "reference": "a906a90a9f230535f25ea31caf81b2323956283f"
1070
+ },
1071
+ "dist": {
1072
+ "type": "zip",
1073
+ "url": "https://api.github.com/repos/phpDocumentor/GraphViz/zipball/a906a90a9f230535f25ea31caf81b2323956283f",
1074
+ "reference": "a906a90a9f230535f25ea31caf81b2323956283f",
1075
+ "shasum": ""
1076
+ },
1077
+ "require": {
1078
+ "php": ">=5.3.3"
1079
+ },
1080
+ "require-dev": {
1081
+ "phpunit/phpunit": "~4.0"
1082
+ },
1083
+ "type": "library",
1084
+ "autoload": {
1085
+ "psr-0": {
1086
+ "phpDocumentor": [
1087
+ "src/",
1088
+ "tests/unit"
1089
+ ]
1090
+ }
1091
+ },
1092
+ "notification-url": "https://packagist.org/downloads/",
1093
+ "license": [
1094
+ "MIT"
1095
+ ],
1096
+ "authors": [
1097
+ {
1098
+ "name": "Mike van Riel",
1099
+ "email": "mike.vanriel@naenius.com"
1100
+ }
1101
+ ],
1102
+ "time": "2016-02-02T13:00:08+00:00"
1103
+ },
1104
+ {
1105
+ "name": "phpdocumentor/phpdocumentor",
1106
+ "version": "v2.9.1",
1107
+ "source": {
1108
+ "type": "git",
1109
+ "url": "https://github.com/phpDocumentor/phpDocumentor.git",
1110
+ "reference": "2e4f981a55ebe6f5db592d7da892d13d5b3c7816"
1111
+ },
1112
+ "dist": {
1113
+ "type": "zip",
1114
+ "url": "https://api.github.com/repos/phpDocumentor/phpDocumentor/zipball/2e4f981a55ebe6f5db592d7da892d13d5b3c7816",
1115
+ "reference": "2e4f981a55ebe6f5db592d7da892d13d5b3c7816",
1116
+ "shasum": ""
1117
+ },
1118
+ "require": {
1119
+ "cilex/cilex": "~1.0",
1120
+ "erusev/parsedown": "~1.0",
1121
+ "jms/serializer": ">=0.12 < 1.8.0",
1122
+ "monolog/monolog": "~1.6",
1123
+ "padraic/phar-updater": "^1.0",
1124
+ "php": ">=5.3.3",
1125
+ "phpdocumentor/fileset": "~1.0",
1126
+ "phpdocumentor/graphviz": "~1.0",
1127
+ "phpdocumentor/reflection": "^3.0",
1128
+ "phpdocumentor/reflection-docblock": "~2.0",
1129
+ "symfony/config": "~2.3",
1130
+ "symfony/console": "~2.3",
1131
+ "symfony/event-dispatcher": "~2.1",
1132
+ "symfony/process": "~2.0",
1133
+ "symfony/stopwatch": "~2.3",
1134
+ "symfony/validator": "~2.2",
1135
+ "twig/twig": "~1.3",
1136
+ "webmozart/assert": "^1.2",
1137
+ "zendframework/zend-cache": "~2.1",
1138
+ "zendframework/zend-config": "~2.1",
1139
+ "zendframework/zend-filter": "~2.1",
1140
+ "zendframework/zend-i18n": "~2.1",
1141
+ "zendframework/zend-serializer": "~2.1",
1142
+ "zendframework/zend-servicemanager": "~2.1",
1143
+ "zendframework/zend-stdlib": "~2.1",
1144
+ "zetacomponents/document": ">=1.3.1"
1145
+ },
1146
+ "require-dev": {
1147
+ "behat/behat": "^3.0",
1148
+ "mikey179/vfsstream": "~1.2",
1149
+ "mockery/mockery": "^0.9@dev",
1150
+ "phpunit/phpunit": "^4.0",
1151
+ "squizlabs/php_codesniffer": "^1.4",
1152
+ "symfony/expression-language": "^2.4"
1153
+ },
1154
+ "suggest": {
1155
+ "ext-twig": "Enabling the twig extension improves the generation of twig based templates.",
1156
+ "ext-xslcache": "Enabling the XSLCache extension improves the generation of xml based templates."
1157
+ },
1158
+ "bin": [
1159
+ "bin/phpdoc.php",
1160
+ "bin/phpdoc"
1161
+ ],
1162
+ "type": "library",
1163
+ "extra": {
1164
+ "branch-alias": {
1165
+ "dev-develop": "2.9-dev"
1166
+ }
1167
+ },
1168
+ "autoload": {
1169
+ "psr-0": {
1170
+ "phpDocumentor": [
1171
+ "src/",
1172
+ "tests/unit/"
1173
+ ],
1174
+ "Cilex\\Provider": [
1175
+ "src/"
1176
+ ]
1177
+ }
1178
+ },
1179
+ "notification-url": "https://packagist.org/downloads/",
1180
+ "license": [
1181
+ "MIT"
1182
+ ],
1183
+ "description": "Documentation Generator for PHP",
1184
+ "homepage": "http://www.phpdoc.org",
1185
+ "keywords": [
1186
+ "api",
1187
+ "application",
1188
+ "dga",
1189
+ "documentation",
1190
+ "phpdoc"
1191
+ ],
1192
+ "time": "2020-01-12T19:44:16+00:00"
1193
+ },
1194
+ {
1195
+ "name": "phpdocumentor/reflection",
1196
+ "version": "3.0.1",
1197
+ "source": {
1198
+ "type": "git",
1199
+ "url": "https://github.com/phpDocumentor/Reflection.git",
1200
+ "reference": "793bfd92d9a0fc96ae9608fb3e947c3f59fb3a0d"
1201
+ },
1202
+ "dist": {
1203
+ "type": "zip",
1204
+ "url": "https://api.github.com/repos/phpDocumentor/Reflection/zipball/793bfd92d9a0fc96ae9608fb3e947c3f59fb3a0d",
1205
+ "reference": "793bfd92d9a0fc96ae9608fb3e947c3f59fb3a0d",
1206
+ "shasum": ""
1207
+ },
1208
+ "require": {
1209
+ "nikic/php-parser": "^1.0",
1210
+ "php": ">=5.3.3",
1211
+ "phpdocumentor/reflection-docblock": "~2.0",
1212
+ "psr/log": "~1.0"
1213
+ },
1214
+ "require-dev": {
1215
+ "behat/behat": "~2.4",
1216
+ "mockery/mockery": "~0.8",
1217
+ "phpunit/phpunit": "~4.0"
1218
+ },
1219
+ "type": "library",
1220
+ "extra": {
1221
+ "branch-alias": {
1222
+ "dev-master": "1.0.x-dev"
1223
+ }
1224
+ },
1225
+ "autoload": {
1226
+ "psr-0": {
1227
+ "phpDocumentor": [
1228
+ "src/",
1229
+ "tests/unit/",
1230
+ "tests/mocks/"
1231
+ ]
1232
+ }
1233
+ },
1234
+ "notification-url": "https://packagist.org/downloads/",
1235
+ "license": [
1236
+ "MIT"
1237
+ ],
1238
+ "description": "Reflection library to do Static Analysis for PHP Projects",
1239
+ "homepage": "http://www.phpdoc.org",
1240
+ "keywords": [
1241
+ "phpDocumentor",
1242
+ "phpdoc",
1243
+ "reflection",
1244
+ "static analysis"
1245
+ ],
1246
+ "time": "2016-05-21T08:42:32+00:00"
1247
+ },
1248
+ {
1249
+ "name": "phpdocumentor/reflection-docblock",
1250
+ "version": "2.0.5",
1251
+ "source": {
1252
+ "type": "git",
1253
+ "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
1254
+ "reference": "e6a969a640b00d8daa3c66518b0405fb41ae0c4b"
1255
+ },
1256
+ "dist": {
1257
+ "type": "zip",
1258
+ "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/e6a969a640b00d8daa3c66518b0405fb41ae0c4b",
1259
+ "reference": "e6a969a640b00d8daa3c66518b0405fb41ae0c4b",
1260
+ "shasum": ""
1261
+ },
1262
+ "require": {
1263
+ "php": ">=5.3.3"
1264
+ },
1265
+ "require-dev": {
1266
+ "phpunit/phpunit": "~4.0"
1267
+ },
1268
+ "suggest": {
1269
+ "dflydev/markdown": "~1.0",
1270
+ "erusev/parsedown": "~1.0"
1271
+ },
1272
+ "type": "library",
1273
+ "extra": {
1274
+ "branch-alias": {
1275
+ "dev-master": "2.0.x-dev"
1276
+ }
1277
+ },
1278
+ "autoload": {
1279
+ "psr-0": {
1280
+ "phpDocumentor": [
1281
+ "src/"
1282
+ ]
1283
+ }
1284
+ },
1285
+ "notification-url": "https://packagist.org/downloads/",
1286
+ "license": [
1287
+ "MIT"
1288
+ ],
1289
+ "authors": [
1290
+ {
1291
+ "name": "Mike van Riel",
1292
+ "email": "mike.vanriel@naenius.com"
1293
+ }
1294
+ ],
1295
+ "time": "2016-01-25T08:17:30+00:00"
1296
+ },
1297
+ {
1298
+ "name": "phpoption/phpoption",
1299
+ "version": "1.7.3",
1300
+ "source": {
1301
+ "type": "git",
1302
+ "url": "https://github.com/schmittjoh/php-option.git",
1303
+ "reference": "4acfd6a4b33a509d8c88f50e5222f734b6aeebae"
1304
+ },
1305
+ "dist": {
1306
+ "type": "zip",
1307
+ "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/4acfd6a4b33a509d8c88f50e5222f734b6aeebae",
1308
+ "reference": "4acfd6a4b33a509d8c88f50e5222f734b6aeebae",
1309
+ "shasum": ""
1310
+ },
1311
+ "require": {
1312
+ "php": "^5.5.9 || ^7.0 || ^8.0"
1313
+ },
1314
+ "require-dev": {
1315
+ "bamarni/composer-bin-plugin": "^1.3",
1316
+ "phpunit/phpunit": "^4.8.35 || ^5.0 || ^6.0 || ^7.0"
1317
+ },
1318
+ "type": "library",
1319
+ "extra": {
1320
+ "branch-alias": {
1321
+ "dev-master": "1.7-dev"
1322
+ }
1323
+ },
1324
+ "autoload": {
1325
+ "psr-4": {
1326
+ "PhpOption\\": "src/PhpOption/"
1327
+ }
1328
+ },
1329
+ "notification-url": "https://packagist.org/downloads/",
1330
+ "license": [
1331
+ "Apache-2.0"
1332
+ ],
1333
+ "authors": [
1334
+ {
1335
+ "name": "Johannes M. Schmitt",
1336
+ "email": "schmittjoh@gmail.com"
1337
+ },
1338
+ {
1339
+ "name": "Graham Campbell",
1340
+ "email": "graham@alt-three.com"
1341
+ }
1342
+ ],
1343
+ "description": "Option Type for PHP",
1344
+ "keywords": [
1345
+ "language",
1346
+ "option",
1347
+ "php",
1348
+ "type"
1349
+ ],
1350
+ "time": "2020-03-21T18:07:53+00:00"
1351
+ },
1352
+ {
1353
+ "name": "pimple/pimple",
1354
+ "version": "v1.1.1",
1355
+ "source": {
1356
+ "type": "git",
1357
+ "url": "https://github.com/silexphp/Pimple.git",
1358
+ "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d"
1359
+ },
1360
+ "dist": {
1361
+ "type": "zip",
1362
+ "url": "https://api.github.com/repos/silexphp/Pimple/zipball/2019c145fe393923f3441b23f29bbdfaa5c58c4d",
1363
+ "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d",
1364
+ "shasum": ""
1365
+ },
1366
+ "require": {
1367
+ "php": ">=5.3.0"
1368
+ },
1369
+ "type": "library",
1370
+ "extra": {
1371
+ "branch-alias": {
1372
+ "dev-master": "1.1.x-dev"
1373
+ }
1374
+ },
1375
+ "autoload": {
1376
+ "psr-0": {
1377
+ "Pimple": "lib/"
1378
+ }
1379
+ },
1380
+ "notification-url": "https://packagist.org/downloads/",
1381
+ "license": [
1382
+ "MIT"
1383
+ ],
1384
+ "authors": [
1385
+ {
1386
+ "name": "Fabien Potencier",
1387
+ "email": "fabien@symfony.com"
1388
+ }
1389
+ ],
1390
+ "description": "Pimple is a simple Dependency Injection Container for PHP 5.3",
1391
+ "homepage": "http://pimple.sensiolabs.org",
1392
+ "keywords": [
1393
+ "container",
1394
+ "dependency injection"
1395
+ ],
1396
+ "time": "2013-11-22T08:30:29+00:00"
1397
+ },
1398
+ {
1399
+ "name": "psr/cache",
1400
+ "version": "1.0.1",
1401
+ "source": {
1402
+ "type": "git",
1403
+ "url": "https://github.com/php-fig/cache.git",
1404
+ "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8"
1405
+ },
1406
+ "dist": {
1407
+ "type": "zip",
1408
+ "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8",
1409
+ "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8",
1410
+ "shasum": ""
1411
+ },
1412
+ "require": {
1413
+ "php": ">=5.3.0"
1414
+ },
1415
+ "type": "library",
1416
+ "extra": {
1417
+ "branch-alias": {
1418
+ "dev-master": "1.0.x-dev"
1419
+ }
1420
+ },
1421
+ "autoload": {
1422
+ "psr-4": {
1423
+ "Psr\\Cache\\": "src/"
1424
+ }
1425
+ },
1426
+ "notification-url": "https://packagist.org/downloads/",
1427
+ "license": [
1428
+ "MIT"
1429
+ ],
1430
+ "authors": [
1431
+ {
1432
+ "name": "PHP-FIG",
1433
+ "homepage": "http://www.php-fig.org/"
1434
+ }
1435
+ ],
1436
+ "description": "Common interface for caching libraries",
1437
+ "keywords": [
1438
+ "cache",
1439
+ "psr",
1440
+ "psr-6"
1441
+ ],
1442
+ "time": "2016-08-06T20:24:11+00:00"
1443
+ },
1444
+ {
1445
+ "name": "psr/container",
1446
+ "version": "1.0.0",
1447
+ "source": {
1448
+ "type": "git",
1449
+ "url": "https://github.com/php-fig/container.git",
1450
+ "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f"
1451
+ },
1452
+ "dist": {
1453
+ "type": "zip",
1454
+ "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f",
1455
+ "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f",
1456
+ "shasum": ""
1457
+ },
1458
+ "require": {
1459
+ "php": ">=5.3.0"
1460
+ },
1461
+ "type": "library",
1462
+ "extra": {
1463
+ "branch-alias": {
1464
+ "dev-master": "1.0.x-dev"
1465
+ }
1466
+ },
1467
+ "autoload": {
1468
+ "psr-4": {
1469
+ "Psr\\Container\\": "src/"
1470
+ }
1471
+ },
1472
+ "notification-url": "https://packagist.org/downloads/",
1473
+ "license": [
1474
+ "MIT"
1475
+ ],
1476
+ "authors": [
1477
+ {
1478
+ "name": "PHP-FIG",
1479
+ "homepage": "http://www.php-fig.org/"
1480
+ }
1481
+ ],
1482
+ "description": "Common Container Interface (PHP FIG PSR-11)",
1483
+ "homepage": "https://github.com/php-fig/container",
1484
+ "keywords": [
1485
+ "PSR-11",
1486
+ "container",
1487
+ "container-interface",
1488
+ "container-interop",
1489
+ "psr"
1490
+ ],
1491
+ "time": "2017-02-14T16:28:37+00:00"
1492
+ },
1493
+ {
1494
+ "name": "psr/log",
1495
+ "version": "1.1.3",
1496
+ "source": {
1497
+ "type": "git",
1498
+ "url": "https://github.com/php-fig/log.git",
1499
+ "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc"
1500
+ },
1501
+ "dist": {
1502
+ "type": "zip",
1503
+ "url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc",
1504
+ "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc",
1505
+ "shasum": ""
1506
+ },
1507
+ "require": {
1508
+ "php": ">=5.3.0"
1509
+ },
1510
+ "type": "library",
1511
+ "extra": {
1512
+ "branch-alias": {
1513
+ "dev-master": "1.1.x-dev"
1514
+ }
1515
+ },
1516
+ "autoload": {
1517
+ "psr-4": {
1518
+ "Psr\\Log\\": "Psr/Log/"
1519
+ }
1520
+ },
1521
+ "notification-url": "https://packagist.org/downloads/",
1522
+ "license": [
1523
+ "MIT"
1524
+ ],
1525
+ "authors": [
1526
+ {
1527
+ "name": "PHP-FIG",
1528
+ "homepage": "http://www.php-fig.org/"
1529
+ }
1530
+ ],
1531
+ "description": "Common interface for logging libraries",
1532
+ "homepage": "https://github.com/php-fig/log",
1533
+ "keywords": [
1534
+ "log",
1535
+ "psr",
1536
+ "psr-3"
1537
+ ],
1538
+ "time": "2020-03-23T09:12:05+00:00"
1539
+ },
1540
+ {
1541
+ "name": "psr/simple-cache",
1542
+ "version": "1.0.1",
1543
+ "source": {
1544
+ "type": "git",
1545
+ "url": "https://github.com/php-fig/simple-cache.git",
1546
+ "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b"
1547
+ },
1548
+ "dist": {
1549
+ "type": "zip",
1550
+ "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b",
1551
+ "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b",
1552
+ "shasum": ""
1553
+ },
1554
+ "require": {
1555
+ "php": ">=5.3.0"
1556
+ },
1557
+ "type": "library",
1558
+ "extra": {
1559
+ "branch-alias": {
1560
+ "dev-master": "1.0.x-dev"
1561
+ }
1562
+ },
1563
+ "autoload": {
1564
+ "psr-4": {
1565
+ "Psr\\SimpleCache\\": "src/"
1566
+ }
1567
+ },
1568
+ "notification-url": "https://packagist.org/downloads/",
1569
+ "license": [
1570
+ "MIT"
1571
+ ],
1572
+ "authors": [
1573
+ {
1574
+ "name": "PHP-FIG",
1575
+ "homepage": "http://www.php-fig.org/"
1576
+ }
1577
+ ],
1578
+ "description": "Common interfaces for simple caching",
1579
+ "keywords": [
1580
+ "cache",
1581
+ "caching",
1582
+ "psr",
1583
+ "psr-16",
1584
+ "simple-cache"
1585
+ ],
1586
+ "time": "2017-10-23T01:57:42+00:00"
1587
+ },
1588
+ {
1589
+ "name": "squizlabs/php_codesniffer",
1590
+ "version": "3.5.5",
1591
+ "source": {
1592
+ "type": "git",
1593
+ "url": "https://github.com/squizlabs/PHP_CodeSniffer.git",
1594
+ "reference": "73e2e7f57d958e7228fce50dc0c61f58f017f9f6"
1595
+ },
1596
+ "dist": {
1597
+ "type": "zip",
1598
+ "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/73e2e7f57d958e7228fce50dc0c61f58f017f9f6",
1599
+ "reference": "73e2e7f57d958e7228fce50dc0c61f58f017f9f6",
1600
+ "shasum": ""
1601
+ },
1602
+ "require": {
1603
+ "ext-simplexml": "*",
1604
+ "ext-tokenizer": "*",
1605
+ "ext-xmlwriter": "*",
1606
+ "php": ">=5.4.0"
1607
+ },
1608
+ "require-dev": {
1609
+ "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0"
1610
+ },
1611
+ "bin": [
1612
+ "bin/phpcs",
1613
+ "bin/phpcbf"
1614
+ ],
1615
+ "type": "library",
1616
+ "extra": {
1617
+ "branch-alias": {
1618
+ "dev-master": "3.x-dev"
1619
+ }
1620
+ },
1621
+ "notification-url": "https://packagist.org/downloads/",
1622
+ "license": [
1623
+ "BSD-3-Clause"
1624
+ ],
1625
+ "authors": [
1626
+ {
1627
+ "name": "Greg Sherwood",
1628
+ "role": "lead"
1629
+ }
1630
+ ],
1631
+ "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.",
1632
+ "homepage": "https://github.com/squizlabs/PHP_CodeSniffer",
1633
+ "keywords": [
1634
+ "phpcs",
1635
+ "standards"
1636
+ ],
1637
+ "time": "2020-04-17T01:09:41+00:00"
1638
+ },
1639
+ {
1640
+ "name": "symfony/config",
1641
+ "version": "v2.8.52",
1642
+ "source": {
1643
+ "type": "git",
1644
+ "url": "https://github.com/symfony/config.git",
1645
+ "reference": "7dd5f5040dc04c118d057fb5886563963eb70011"
1646
+ },
1647
+ "dist": {
1648
+ "type": "zip",
1649
+ "url": "https://api.github.com/repos/symfony/config/zipball/7dd5f5040dc04c118d057fb5886563963eb70011",
1650
+ "reference": "7dd5f5040dc04c118d057fb5886563963eb70011",
1651
+ "shasum": ""
1652
+ },
1653
+ "require": {
1654
+ "php": ">=5.3.9",
1655
+ "symfony/filesystem": "~2.3|~3.0.0",
1656
+ "symfony/polyfill-ctype": "~1.8"
1657
+ },
1658
+ "require-dev": {
1659
+ "symfony/yaml": "~2.7|~3.0.0"
1660
+ },
1661
+ "suggest": {
1662
+ "symfony/yaml": "To use the yaml reference dumper"
1663
+ },
1664
+ "type": "library",
1665
+ "extra": {
1666
+ "branch-alias": {
1667
+ "dev-master": "2.8-dev"
1668
+ }
1669
+ },
1670
+ "autoload": {
1671
+ "psr-4": {
1672
+ "Symfony\\Component\\Config\\": ""
1673
+ },
1674
+ "exclude-from-classmap": [
1675
+ "/Tests/"
1676
+ ]
1677
+ },
1678
+ "notification-url": "https://packagist.org/downloads/",
1679
+ "license": [
1680
+ "MIT"
1681
+ ],
1682
+ "authors": [
1683
+ {
1684
+ "name": "Fabien Potencier",
1685
+ "email": "fabien@symfony.com"
1686
+ },
1687
+ {
1688
+ "name": "Symfony Community",
1689
+ "homepage": "https://symfony.com/contributors"
1690
+ }
1691
+ ],
1692
+ "description": "Symfony Config Component",
1693
+ "homepage": "https://symfony.com",
1694
+ "time": "2018-11-26T09:38:12+00:00"
1695
+ },
1696
+ {
1697
+ "name": "symfony/console",
1698
+ "version": "v2.8.52",
1699
+ "source": {
1700
+ "type": "git",
1701
+ "url": "https://github.com/symfony/console.git",
1702
+ "reference": "cbcf4b5e233af15cd2bbd50dee1ccc9b7927dc12"
1703
+ },
1704
+ "dist": {
1705
+ "type": "zip",
1706
+ "url": "https://api.github.com/repos/symfony/console/zipball/cbcf4b5e233af15cd2bbd50dee1ccc9b7927dc12",
1707
+ "reference": "cbcf4b5e233af15cd2bbd50dee1ccc9b7927dc12",
1708
+ "shasum": ""
1709
+ },
1710
+ "require": {
1711
+ "php": ">=5.3.9",
1712
+ "symfony/debug": "^2.7.2|~3.0.0",
1713
+ "symfony/polyfill-mbstring": "~1.0"
1714
+ },
1715
+ "require-dev": {
1716
+ "psr/log": "~1.0",
1717
+ "symfony/event-dispatcher": "~2.1|~3.0.0",
1718
+ "symfony/process": "~2.1|~3.0.0"
1719
+ },
1720
+ "suggest": {
1721
+ "psr/log-implementation": "For using the console logger",
1722
+ "symfony/event-dispatcher": "",
1723
+ "symfony/process": ""
1724
+ },
1725
+ "type": "library",
1726
+ "extra": {
1727
+ "branch-alias": {
1728
+ "dev-master": "2.8-dev"
1729
+ }
1730
+ },
1731
+ "autoload": {
1732
+ "psr-4": {
1733
+ "Symfony\\Component\\Console\\": ""
1734
+ },
1735
+ "exclude-from-classmap": [
1736
+ "/Tests/"
1737
+ ]
1738
+ },
1739
+ "notification-url": "https://packagist.org/downloads/",
1740
+ "license": [
1741
+ "MIT"
1742
+ ],
1743
+ "authors": [
1744
+ {
1745
+ "name": "Fabien Potencier",
1746
+ "email": "fabien@symfony.com"
1747
+ },
1748
+ {
1749
+ "name": "Symfony Community",
1750
+ "homepage": "https://symfony.com/contributors"
1751
+ }
1752
+ ],
1753
+ "description": "Symfony Console Component",
1754
+ "homepage": "https://symfony.com",
1755
+ "time": "2018-11-20T15:55:20+00:00"
1756
+ },
1757
+ {
1758
+ "name": "symfony/debug",
1759
+ "version": "v3.0.9",
1760
+ "source": {
1761
+ "type": "git",
1762
+ "url": "https://github.com/symfony/debug.git",
1763
+ "reference": "697c527acd9ea1b2d3efac34d9806bf255278b0a"
1764
+ },
1765
+ "dist": {
1766
+ "type": "zip",
1767
+ "url": "https://api.github.com/repos/symfony/debug/zipball/697c527acd9ea1b2d3efac34d9806bf255278b0a",
1768
+ "reference": "697c527acd9ea1b2d3efac34d9806bf255278b0a",
1769
+ "shasum": ""
1770
+ },
1771
+ "require": {
1772
+ "php": ">=5.5.9",
1773
+ "psr/log": "~1.0"
1774
+ },
1775
+ "conflict": {
1776
+ "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2"
1777
+ },
1778
+ "require-dev": {
1779
+ "symfony/class-loader": "~2.8|~3.0",
1780
+ "symfony/http-kernel": "~2.8|~3.0"
1781
+ },
1782
+ "type": "library",
1783
+ "extra": {
1784
+ "branch-alias": {
1785
+ "dev-master": "3.0-dev"
1786
+ }
1787
+ },
1788
+ "autoload": {
1789
+ "psr-4": {
1790
+ "Symfony\\Component\\Debug\\": ""
1791
+ },
1792
+ "exclude-from-classmap": [
1793
+ "/Tests/"
1794
+ ]
1795
+ },
1796
+ "notification-url": "https://packagist.org/downloads/",
1797
+ "license": [
1798
+ "MIT"
1799
+ ],
1800
+ "authors": [
1801
+ {
1802
+ "name": "Fabien Potencier",
1803
+ "email": "fabien@symfony.com"
1804
+ },
1805
+ {
1806
+ "name": "Symfony Community",
1807
+ "homepage": "https://symfony.com/contributors"
1808
+ }
1809
+ ],
1810
+ "description": "Symfony Debug Component",
1811
+ "homepage": "https://symfony.com",
1812
+ "time": "2016-07-30T07:22:48+00:00"
1813
+ },
1814
+ {
1815
+ "name": "symfony/event-dispatcher",
1816
+ "version": "v2.8.52",
1817
+ "source": {
1818
+ "type": "git",
1819
+ "url": "https://github.com/symfony/event-dispatcher.git",
1820
+ "reference": "a77e974a5fecb4398833b0709210e3d5e334ffb0"
1821
+ },
1822
+ "dist": {
1823
+ "type": "zip",
1824
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/a77e974a5fecb4398833b0709210e3d5e334ffb0",
1825
+ "reference": "a77e974a5fecb4398833b0709210e3d5e334ffb0",
1826
+ "shasum": ""
1827
+ },
1828
+ "require": {
1829
+ "php": ">=5.3.9"
1830
+ },
1831
+ "require-dev": {
1832
+ "psr/log": "~1.0",
1833
+ "symfony/config": "^2.0.5|~3.0.0",
1834
+ "symfony/dependency-injection": "~2.6|~3.0.0",
1835
+ "symfony/expression-language": "~2.6|~3.0.0",
1836
+ "symfony/stopwatch": "~2.3|~3.0.0"
1837
+ },
1838
+ "suggest": {
1839
+ "symfony/dependency-injection": "",
1840
+ "symfony/http-kernel": ""
1841
+ },
1842
+ "type": "library",
1843
+ "extra": {
1844
+ "branch-alias": {
1845
+ "dev-master": "2.8-dev"
1846
+ }
1847
+ },
1848
+ "autoload": {
1849
+ "psr-4": {
1850
+ "Symfony\\Component\\EventDispatcher\\": ""
1851
+ },
1852
+ "exclude-from-classmap": [
1853
+ "/Tests/"
1854
+ ]
1855
+ },
1856
+ "notification-url": "https://packagist.org/downloads/",
1857
+ "license": [
1858
+ "MIT"
1859
+ ],
1860
+ "authors": [
1861
+ {
1862
+ "name": "Fabien Potencier",
1863
+ "email": "fabien@symfony.com"
1864
+ },
1865
+ {
1866
+ "name": "Symfony Community",
1867
+ "homepage": "https://symfony.com/contributors"
1868
+ }
1869
+ ],
1870
+ "description": "Symfony EventDispatcher Component",
1871
+ "homepage": "https://symfony.com",
1872
+ "time": "2018-11-21T14:20:20+00:00"
1873
+ },
1874
+ {
1875
+ "name": "symfony/filesystem",
1876
+ "version": "v3.0.9",
1877
+ "source": {
1878
+ "type": "git",
1879
+ "url": "https://github.com/symfony/filesystem.git",
1880
+ "reference": "b2da5009d9bacbd91d83486aa1f44c793a8c380d"
1881
+ },
1882
+ "dist": {
1883
+ "type": "zip",
1884
+ "url": "https://api.github.com/repos/symfony/filesystem/zipball/b2da5009d9bacbd91d83486aa1f44c793a8c380d",
1885
+ "reference": "b2da5009d9bacbd91d83486aa1f44c793a8c380d",
1886
+ "shasum": ""
1887
+ },
1888
+ "require": {
1889
+ "php": ">=5.5.9"
1890
+ },
1891
+ "type": "library",
1892
+ "extra": {
1893
+ "branch-alias": {
1894
+ "dev-master": "3.0-dev"
1895
+ }
1896
+ },
1897
+ "autoload": {
1898
+ "psr-4": {
1899
+ "Symfony\\Component\\Filesystem\\": ""
1900
+ },
1901
+ "exclude-from-classmap": [
1902
+ "/Tests/"
1903
+ ]
1904
+ },
1905
+ "notification-url": "https://packagist.org/downloads/",
1906
+ "license": [
1907
+ "MIT"
1908
+ ],
1909
+ "authors": [
1910
+ {
1911
+ "name": "Fabien Potencier",
1912
+ "email": "fabien@symfony.com"
1913
+ },
1914
+ {
1915
+ "name": "Symfony Community",
1916
+ "homepage": "https://symfony.com/contributors"
1917
+ }
1918
+ ],
1919
+ "description": "Symfony Filesystem Component",
1920
+ "homepage": "https://symfony.com",
1921
+ "time": "2016-07-20T05:43:46+00:00"
1922
+ },
1923
+ {
1924
+ "name": "symfony/finder",
1925
+ "version": "v2.8.52",
1926
+ "source": {
1927
+ "type": "git",
1928
+ "url": "https://github.com/symfony/finder.git",
1929
+ "reference": "1444eac52273e345d9b95129bf914639305a9ba4"
1930
+ },
1931
+ "dist": {
1932
+ "type": "zip",
1933
+ "url": "https://api.github.com/repos/symfony/finder/zipball/1444eac52273e345d9b95129bf914639305a9ba4",
1934
+ "reference": "1444eac52273e345d9b95129bf914639305a9ba4",
1935
+ "shasum": ""
1936
+ },
1937
+ "require": {
1938
+ "php": ">=5.3.9"
1939
+ },
1940
+ "type": "library",
1941
+ "extra": {
1942
+ "branch-alias": {
1943
+ "dev-master": "2.8-dev"
1944
+ }
1945
+ },
1946
+ "autoload": {
1947
+ "psr-4": {
1948
+ "Symfony\\Component\\Finder\\": ""
1949
+ },
1950
+ "exclude-from-classmap": [
1951
+ "/Tests/"
1952
+ ]
1953
+ },
1954
+ "notification-url": "https://packagist.org/downloads/",
1955
+ "license": [
1956
+ "MIT"
1957
+ ],
1958
+ "authors": [
1959
+ {
1960
+ "name": "Fabien Potencier",
1961
+ "email": "fabien@symfony.com"
1962
+ },
1963
+ {
1964
+ "name": "Symfony Community",
1965
+ "homepage": "https://symfony.com/contributors"
1966
+ }
1967
+ ],
1968
+ "description": "Symfony Finder Component",
1969
+ "homepage": "https://symfony.com",
1970
+ "time": "2018-11-11T11:18:13+00:00"
1971
+ },
1972
+ {
1973
+ "name": "symfony/polyfill-ctype",
1974
+ "version": "v1.17.0",
1975
+ "source": {
1976
+ "type": "git",
1977
+ "url": "https://github.com/symfony/polyfill-ctype.git",
1978
+ "reference": "e94c8b1bbe2bc77507a1056cdb06451c75b427f9"
1979
+ },
1980
+ "dist": {
1981
+ "type": "zip",
1982
+ "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/e94c8b1bbe2bc77507a1056cdb06451c75b427f9",
1983
+ "reference": "e94c8b1bbe2bc77507a1056cdb06451c75b427f9",
1984
+ "shasum": ""
1985
+ },
1986
+ "require": {
1987
+ "php": ">=5.3.3"
1988
+ },
1989
+ "suggest": {
1990
+ "ext-ctype": "For best performance"
1991
+ },
1992
+ "type": "library",
1993
+ "extra": {
1994
+ "branch-alias": {
1995
+ "dev-master": "1.17-dev"
1996
+ }
1997
+ },
1998
+ "autoload": {
1999
+ "psr-4": {
2000
+ "Symfony\\Polyfill\\Ctype\\": ""
2001
+ },
2002
+ "files": [
2003
+ "bootstrap.php"
2004
+ ]
2005
+ },
2006
+ "notification-url": "https://packagist.org/downloads/",
2007
+ "license": [
2008
+ "MIT"
2009
+ ],
2010
+ "authors": [
2011
+ {
2012
+ "name": "Gert de Pagter",
2013
+ "email": "BackEndTea@gmail.com"
2014
+ },
2015
+ {
2016
+ "name": "Symfony Community",
2017
+ "homepage": "https://symfony.com/contributors"
2018
+ }
2019
+ ],
2020
+ "description": "Symfony polyfill for ctype functions",
2021
+ "homepage": "https://symfony.com",
2022
+ "keywords": [
2023
+ "compatibility",
2024
+ "ctype",
2025
+ "polyfill",
2026
+ "portable"
2027
+ ],
2028
+ "time": "2020-05-12T16:14:59+00:00"
2029
+ },
2030
+ {
2031
+ "name": "symfony/polyfill-mbstring",
2032
+ "version": "v1.17.0",
2033
+ "source": {
2034
+ "type": "git",
2035
+ "url": "https://github.com/symfony/polyfill-mbstring.git",
2036
+ "reference": "fa79b11539418b02fc5e1897267673ba2c19419c"
2037
+ },
2038
+ "dist": {
2039
+ "type": "zip",
2040
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fa79b11539418b02fc5e1897267673ba2c19419c",
2041
+ "reference": "fa79b11539418b02fc5e1897267673ba2c19419c",
2042
+ "shasum": ""
2043
+ },
2044
+ "require": {
2045
+ "php": ">=5.3.3"
2046
+ },
2047
+ "suggest": {
2048
+ "ext-mbstring": "For best performance"
2049
+ },
2050
+ "type": "library",
2051
+ "extra": {
2052
+ "branch-alias": {
2053
+ "dev-master": "1.17-dev"
2054
+ }
2055
+ },
2056
+ "autoload": {
2057
+ "psr-4": {
2058
+ "Symfony\\Polyfill\\Mbstring\\": ""
2059
+ },
2060
+ "files": [
2061
+ "bootstrap.php"
2062
+ ]
2063
+ },
2064
+ "notification-url": "https://packagist.org/downloads/",
2065
+ "license": [
2066
+ "MIT"
2067
+ ],
2068
+ "authors": [
2069
+ {
2070
+ "name": "Nicolas Grekas",
2071
+ "email": "p@tchwork.com"
2072
+ },
2073
+ {
2074
+ "name": "Symfony Community",
2075
+ "homepage": "https://symfony.com/contributors"
2076
+ }
2077
+ ],
2078
+ "description": "Symfony polyfill for the Mbstring extension",
2079
+ "homepage": "https://symfony.com",
2080
+ "keywords": [
2081
+ "compatibility",
2082
+ "mbstring",
2083
+ "polyfill",
2084
+ "portable",
2085
+ "shim"
2086
+ ],
2087
+ "time": "2020-05-12T16:47:27+00:00"
2088
+ },
2089
+ {
2090
+ "name": "symfony/process",
2091
+ "version": "v2.8.52",
2092
+ "source": {
2093
+ "type": "git",
2094
+ "url": "https://github.com/symfony/process.git",
2095
+ "reference": "c3591a09c78639822b0b290d44edb69bf9f05dc8"
2096
+ },
2097
+ "dist": {
2098
+ "type": "zip",
2099
+ "url": "https://api.github.com/repos/symfony/process/zipball/c3591a09c78639822b0b290d44edb69bf9f05dc8",
2100
+ "reference": "c3591a09c78639822b0b290d44edb69bf9f05dc8",
2101
+ "shasum": ""
2102
+ },
2103
+ "require": {
2104
+ "php": ">=5.3.9"
2105
+ },
2106
+ "type": "library",
2107
+ "extra": {
2108
+ "branch-alias": {
2109
+ "dev-master": "2.8-dev"
2110
+ }
2111
+ },
2112
+ "autoload": {
2113
+ "psr-4": {
2114
+ "Symfony\\Component\\Process\\": ""
2115
+ },
2116
+ "exclude-from-classmap": [
2117
+ "/Tests/"
2118
+ ]
2119
+ },
2120
+ "notification-url": "https://packagist.org/downloads/",
2121
+ "license": [
2122
+ "MIT"
2123
+ ],
2124
+ "authors": [
2125
+ {
2126
+ "name": "Fabien Potencier",
2127
+ "email": "fabien@symfony.com"
2128
+ },
2129
+ {
2130
+ "name": "Symfony Community",
2131
+ "homepage": "https://symfony.com/contributors"
2132
+ }
2133
+ ],
2134
+ "description": "Symfony Process Component",
2135
+ "homepage": "https://symfony.com",
2136
+ "time": "2018-11-11T11:18:13+00:00"
2137
+ },
2138
+ {
2139
+ "name": "symfony/stopwatch",
2140
+ "version": "v2.8.52",
2141
+ "source": {
2142
+ "type": "git",
2143
+ "url": "https://github.com/symfony/stopwatch.git",
2144
+ "reference": "752586c80af8a85aeb74d1ae8202411c68836663"
2145
+ },
2146
+ "dist": {
2147
+ "type": "zip",
2148
+ "url": "https://api.github.com/repos/symfony/stopwatch/zipball/752586c80af8a85aeb74d1ae8202411c68836663",
2149
+ "reference": "752586c80af8a85aeb74d1ae8202411c68836663",
2150
+ "shasum": ""
2151
+ },
2152
+ "require": {
2153
+ "php": ">=5.3.9"
2154
+ },
2155
+ "type": "library",
2156
+ "extra": {
2157
+ "branch-alias": {
2158
+ "dev-master": "2.8-dev"
2159
+ }
2160
+ },
2161
+ "autoload": {
2162
+ "psr-4": {
2163
+ "Symfony\\Component\\Stopwatch\\": ""
2164
+ },
2165
+ "exclude-from-classmap": [
2166
+ "/Tests/"
2167
+ ]
2168
+ },
2169
+ "notification-url": "https://packagist.org/downloads/",
2170
+ "license": [
2171
+ "MIT"
2172
+ ],
2173
+ "authors": [
2174
+ {
2175
+ "name": "Fabien Potencier",
2176
+ "email": "fabien@symfony.com"
2177
+ },
2178
+ {
2179
+ "name": "Symfony Community",
2180
+ "homepage": "https://symfony.com/contributors"
2181
+ }
2182
+ ],
2183
+ "description": "Symfony Stopwatch Component",
2184
+ "homepage": "https://symfony.com",
2185
+ "time": "2018-11-11T11:18:13+00:00"
2186
+ },
2187
+ {
2188
+ "name": "symfony/translation",
2189
+ "version": "v3.0.9",
2190
+ "source": {
2191
+ "type": "git",
2192
+ "url": "https://github.com/symfony/translation.git",
2193
+ "reference": "eee6c664853fd0576f21ae25725cfffeafe83f26"
2194
+ },
2195
+ "dist": {
2196
+ "type": "zip",
2197
+ "url": "https://api.github.com/repos/symfony/translation/zipball/eee6c664853fd0576f21ae25725cfffeafe83f26",
2198
+ "reference": "eee6c664853fd0576f21ae25725cfffeafe83f26",
2199
+ "shasum": ""
2200
+ },
2201
+ "require": {
2202
+ "php": ">=5.5.9",
2203
+ "symfony/polyfill-mbstring": "~1.0"
2204
+ },
2205
+ "conflict": {
2206
+ "symfony/config": "<2.8"
2207
+ },
2208
+ "require-dev": {
2209
+ "psr/log": "~1.0",
2210
+ "symfony/config": "~2.8|~3.0",
2211
+ "symfony/intl": "~2.8|~3.0",
2212
+ "symfony/yaml": "~2.8|~3.0"
2213
+ },
2214
+ "suggest": {
2215
+ "psr/log": "To use logging capability in translator",
2216
+ "symfony/config": "",
2217
+ "symfony/yaml": ""
2218
+ },
2219
+ "type": "library",
2220
+ "extra": {
2221
+ "branch-alias": {
2222
+ "dev-master": "3.0-dev"
2223
+ }
2224
+ },
2225
+ "autoload": {
2226
+ "psr-4": {
2227
+ "Symfony\\Component\\Translation\\": ""
2228
+ },
2229
+ "exclude-from-classmap": [
2230
+ "/Tests/"
2231
+ ]
2232
+ },
2233
+ "notification-url": "https://packagist.org/downloads/",
2234
+ "license": [
2235
+ "MIT"
2236
+ ],
2237
+ "authors": [
2238
+ {
2239
+ "name": "Fabien Potencier",
2240
+ "email": "fabien@symfony.com"
2241
+ },
2242
+ {
2243
+ "name": "Symfony Community",
2244
+ "homepage": "https://symfony.com/contributors"
2245
+ }
2246
+ ],
2247
+ "description": "Symfony Translation Component",
2248
+ "homepage": "https://symfony.com",
2249
+ "time": "2016-07-30T07:22:48+00:00"
2250
+ },
2251
+ {
2252
+ "name": "symfony/validator",
2253
+ "version": "v2.8.52",
2254
+ "source": {
2255
+ "type": "git",
2256
+ "url": "https://github.com/symfony/validator.git",
2257
+ "reference": "d5d2090bba3139d8ddb79959fbf516e87238fe3a"
2258
+ },
2259
+ "dist": {
2260
+ "type": "zip",
2261
+ "url": "https://api.github.com/repos/symfony/validator/zipball/d5d2090bba3139d8ddb79959fbf516e87238fe3a",
2262
+ "reference": "d5d2090bba3139d8ddb79959fbf516e87238fe3a",
2263
+ "shasum": ""
2264
+ },
2265
+ "require": {
2266
+ "php": ">=5.3.9",
2267
+ "symfony/polyfill-ctype": "~1.8",
2268
+ "symfony/polyfill-mbstring": "~1.0",
2269
+ "symfony/translation": "~2.4|~3.0.0"
2270
+ },
2271
+ "require-dev": {
2272
+ "doctrine/annotations": "~1.0",
2273
+ "doctrine/cache": "~1.0",
2274
+ "egulias/email-validator": "^1.2.1",
2275
+ "symfony/config": "~2.2|~3.0.0",
2276
+ "symfony/expression-language": "~2.4|~3.0.0",
2277
+ "symfony/http-foundation": "~2.3|~3.0.0",
2278
+ "symfony/intl": "~2.7.25|^2.8.18|~3.2.5",
2279
+ "symfony/property-access": "~2.3|~3.0.0",
2280
+ "symfony/yaml": "^2.0.5|~3.0.0"
2281
+ },
2282
+ "suggest": {
2283
+ "doctrine/annotations": "For using the annotation mapping. You will also need doctrine/cache.",
2284
+ "doctrine/cache": "For using the default cached annotation reader and metadata cache.",
2285
+ "egulias/email-validator": "Strict (RFC compliant) email validation",
2286
+ "symfony/config": "",
2287
+ "symfony/expression-language": "For using the 2.4 Expression validator",
2288
+ "symfony/http-foundation": "",
2289
+ "symfony/intl": "",
2290
+ "symfony/property-access": "For using the 2.4 Validator API",
2291
+ "symfony/yaml": ""
2292
+ },
2293
+ "type": "library",
2294
+ "extra": {
2295
+ "branch-alias": {
2296
+ "dev-master": "2.8-dev"
2297
+ }
2298
+ },
2299
+ "autoload": {
2300
+ "psr-4": {
2301
+ "Symfony\\Component\\Validator\\": ""
2302
+ },
2303
+ "exclude-from-classmap": [
2304
+ "/Tests/"
2305
+ ]
2306
+ },
2307
+ "notification-url": "https://packagist.org/downloads/",
2308
+ "license": [
2309
+ "MIT"
2310
+ ],
2311
+ "authors": [
2312
+ {
2313
+ "name": "Fabien Potencier",
2314
+ "email": "fabien@symfony.com"
2315
+ },
2316
+ {
2317
+ "name": "Symfony Community",
2318
+ "homepage": "https://symfony.com/contributors"
2319
+ }
2320
+ ],
2321
+ "description": "Symfony Validator Component",
2322
+ "homepage": "https://symfony.com",
2323
+ "time": "2018-11-14T14:06:48+00:00"
2324
+ },
2325
+ {
2326
+ "name": "twig/twig",
2327
+ "version": "v1.42.5",
2328
+ "source": {
2329
+ "type": "git",
2330
+ "url": "https://github.com/twigphp/Twig.git",
2331
+ "reference": "87b2ea9d8f6fd014d0621ca089bb1b3769ea3f8e"
2332
+ },
2333
+ "dist": {
2334
+ "type": "zip",
2335
+ "url": "https://api.github.com/repos/twigphp/Twig/zipball/87b2ea9d8f6fd014d0621ca089bb1b3769ea3f8e",
2336
+ "reference": "87b2ea9d8f6fd014d0621ca089bb1b3769ea3f8e",
2337
+ "shasum": ""
2338
+ },
2339
+ "require": {
2340
+ "php": ">=5.5.0",
2341
+ "symfony/polyfill-ctype": "^1.8"
2342
+ },
2343
+ "require-dev": {
2344
+ "psr/container": "^1.0",
2345
+ "symfony/phpunit-bridge": "^4.4|^5.0"
2346
+ },
2347
+ "type": "library",
2348
+ "extra": {
2349
+ "branch-alias": {
2350
+ "dev-master": "1.42-dev"
2351
+ }
2352
+ },
2353
+ "autoload": {
2354
+ "psr-0": {
2355
+ "Twig_": "lib/"
2356
+ },
2357
+ "psr-4": {
2358
+ "Twig\\": "src/"
2359
+ }
2360
+ },
2361
+ "notification-url": "https://packagist.org/downloads/",
2362
+ "license": [
2363
+ "BSD-3-Clause"
2364
+ ],
2365
+ "authors": [
2366
+ {
2367
+ "name": "Fabien Potencier",
2368
+ "email": "fabien@symfony.com",
2369
+ "homepage": "http://fabien.potencier.org",
2370
+ "role": "Lead Developer"
2371
+ },
2372
+ {
2373
+ "name": "Twig Team",
2374
+ "role": "Contributors"
2375
+ },
2376
+ {
2377
+ "name": "Armin Ronacher",
2378
+ "email": "armin.ronacher@active-4.com",
2379
+ "role": "Project Founder"
2380
+ }
2381
+ ],
2382
+ "description": "Twig, the flexible, fast, and secure template language for PHP",
2383
+ "homepage": "https://twig.symfony.com",
2384
+ "keywords": [
2385
+ "templating"
2386
+ ],
2387
+ "time": "2020-02-11T05:59:23+00:00"
2388
+ },
2389
+ {
2390
+ "name": "webmozart/assert",
2391
+ "version": "1.8.0",
2392
+ "source": {
2393
+ "type": "git",
2394
+ "url": "https://github.com/webmozart/assert.git",
2395
+ "reference": "ab2cb0b3b559010b75981b1bdce728da3ee90ad6"
2396
+ },
2397
+ "dist": {
2398
+ "type": "zip",
2399
+ "url": "https://api.github.com/repos/webmozart/assert/zipball/ab2cb0b3b559010b75981b1bdce728da3ee90ad6",
2400
+ "reference": "ab2cb0b3b559010b75981b1bdce728da3ee90ad6",
2401
+ "shasum": ""
2402
+ },
2403
+ "require": {
2404
+ "php": "^5.3.3 || ^7.0",
2405
+ "symfony/polyfill-ctype": "^1.8"
2406
+ },
2407
+ "conflict": {
2408
+ "vimeo/psalm": "<3.9.1"
2409
+ },
2410
+ "require-dev": {
2411
+ "phpunit/phpunit": "^4.8.36 || ^7.5.13"
2412
+ },
2413
+ "type": "library",
2414
+ "autoload": {
2415
+ "psr-4": {
2416
+ "Webmozart\\Assert\\": "src/"
2417
+ }
2418
+ },
2419
+ "notification-url": "https://packagist.org/downloads/",
2420
+ "license": [
2421
+ "MIT"
2422
+ ],
2423
+ "authors": [
2424
+ {
2425
+ "name": "Bernhard Schussek",
2426
+ "email": "bschussek@gmail.com"
2427
+ }
2428
+ ],
2429
+ "description": "Assertions to validate method input/output with nice error messages.",
2430
+ "keywords": [
2431
+ "assert",
2432
+ "check",
2433
+ "validate"
2434
+ ],
2435
+ "time": "2020-04-18T12:12:48+00:00"
2436
+ },
2437
+ {
2438
+ "name": "wp-coding-standards/wpcs",
2439
+ "version": "2.2.1",
2440
+ "source": {
2441
+ "type": "git",
2442
+ "url": "https://github.com/WordPress/WordPress-Coding-Standards.git",
2443
+ "reference": "b5a453203114cc2284b1a614c4953456fbe4f546"
2444
+ },
2445
+ "dist": {
2446
+ "type": "zip",
2447
+ "url": "https://api.github.com/repos/WordPress/WordPress-Coding-Standards/zipball/b5a453203114cc2284b1a614c4953456fbe4f546",
2448
+ "reference": "b5a453203114cc2284b1a614c4953456fbe4f546",
2449
+ "shasum": ""
2450
+ },
2451
+ "require": {
2452
+ "php": ">=5.4",
2453
+ "squizlabs/php_codesniffer": "^3.3.1"
2454
+ },
2455
+ "require-dev": {
2456
+ "dealerdirect/phpcodesniffer-composer-installer": "^0.5 || ^0.6",
2457
+ "phpcompatibility/php-compatibility": "^9.0",
2458
+ "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0"
2459
+ },
2460
+ "suggest": {
2461
+ "dealerdirect/phpcodesniffer-composer-installer": "^0.6 || This Composer plugin will sort out the PHPCS 'installed_paths' automatically."
2462
+ },
2463
+ "type": "phpcodesniffer-standard",
2464
+ "notification-url": "https://packagist.org/downloads/",
2465
+ "license": [
2466
+ "MIT"
2467
+ ],
2468
+ "authors": [
2469
+ {
2470
+ "name": "Contributors",
2471
+ "homepage": "https://github.com/WordPress/WordPress-Coding-Standards/graphs/contributors"
2472
+ }
2473
+ ],
2474
+ "description": "PHP_CodeSniffer rules (sniffs) to enforce WordPress coding conventions",
2475
+ "keywords": [
2476
+ "phpcs",
2477
+ "standards",
2478
+ "wordpress"
2479
+ ],
2480
+ "time": "2020-02-04T02:52:06+00:00"
2481
+ },
2482
+ {
2483
+ "name": "zendframework/zend-cache",
2484
+ "version": "2.8.3",
2485
+ "source": {
2486
+ "type": "git",
2487
+ "url": "https://github.com/zendframework/zend-cache.git",
2488
+ "reference": "edde41f1ee5c28e01701a032f434d03751b65df4"
2489
+ },
2490
+ "dist": {
2491
+ "type": "zip",
2492
+ "url": "https://api.github.com/repos/zendframework/zend-cache/zipball/edde41f1ee5c28e01701a032f434d03751b65df4",
2493
+ "reference": "edde41f1ee5c28e01701a032f434d03751b65df4",
2494
+ "shasum": ""
2495
+ },
2496
+ "require": {
2497
+ "php": "^5.6 || ^7.0",
2498
+ "psr/cache": "^1.0",
2499
+ "psr/simple-cache": "^1.0",
2500
+ "zendframework/zend-eventmanager": "^2.6.3 || ^3.2",
2501
+ "zendframework/zend-servicemanager": "^2.7.8 || ^3.3",
2502
+ "zendframework/zend-stdlib": "^2.7.7 || ^3.1"
2503
+ },
2504
+ "provide": {
2505
+ "psr/cache-implementation": "1.0",
2506
+ "psr/simple-cache-implementation": "1.0"
2507
+ },
2508
+ "require-dev": {
2509
+ "cache/integration-tests": "^0.16",
2510
+ "phpbench/phpbench": "^0.13",
2511
+ "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.2",
2512
+ "zendframework/zend-coding-standard": "~1.0.0",
2513
+ "zendframework/zend-serializer": "^2.6",
2514
+ "zendframework/zend-session": "^2.7.4"
2515
+ },
2516
+ "suggest": {
2517
+ "ext-apc": "APC or compatible extension, to use the APC storage adapter",
2518
+ "ext-apcu": "APCU >= 5.1.0, to use the APCu storage adapter",
2519
+ "ext-dba": "DBA, to use the DBA storage adapter",
2520
+ "ext-memcache": "Memcache >= 2.0.0 to use the Memcache storage adapter",
2521
+ "ext-memcached": "Memcached >= 1.0.0 to use the Memcached storage adapter",
2522
+ "ext-mongo": "Mongo, to use MongoDb storage adapter",
2523
+ "ext-mongodb": "MongoDB, to use the ExtMongoDb storage adapter",
2524
+ "ext-redis": "Redis, to use Redis storage adapter",
2525
+ "ext-wincache": "WinCache, to use the WinCache storage adapter",
2526
+ "ext-xcache": "XCache, to use the XCache storage adapter",
2527
+ "mongodb/mongodb": "Required for use with the ext-mongodb adapter",
2528
+ "mongofill/mongofill": "Alternative to ext-mongo - a pure PHP implementation designed as a drop in replacement",
2529
+ "zendframework/zend-serializer": "Zend\\Serializer component",
2530
+ "zendframework/zend-session": "Zend\\Session component"
2531
+ },
2532
+ "type": "library",
2533
+ "extra": {
2534
+ "branch-alias": {
2535
+ "dev-master": "2.8.x-dev",
2536
+ "dev-develop": "2.9.x-dev"
2537
+ },
2538
+ "zf": {
2539
+ "component": "Zend\\Cache",
2540
+ "config-provider": "Zend\\Cache\\ConfigProvider"
2541
+ }
2542
+ },
2543
+ "autoload": {
2544
+ "files": [
2545
+ "autoload/patternPluginManagerPolyfill.php"
2546
+ ],
2547
+ "psr-4": {
2548
+ "Zend\\Cache\\": "src/"
2549
+ }
2550
+ },
2551
+ "notification-url": "https://packagist.org/downloads/",
2552
+ "license": [
2553
+ "BSD-3-Clause"
2554
+ ],
2555
+ "description": "Caching implementation with a variety of storage options, as well as codified caching strategies for callbacks, classes, and output",
2556
+ "keywords": [
2557
+ "ZendFramework",
2558
+ "cache",
2559
+ "psr-16",
2560
+ "psr-6",
2561
+ "zf"
2562
+ ],
2563
+ "abandoned": "laminas/laminas-cache",
2564
+ "time": "2019-08-28T21:34:32+00:00"
2565
+ },
2566
+ {
2567
+ "name": "zendframework/zend-config",
2568
+ "version": "2.6.0",
2569
+ "source": {
2570
+ "type": "git",
2571
+ "url": "https://github.com/zendframework/zend-config.git",
2572
+ "reference": "2920e877a9f6dca9fa8f6bd3b1ffc2e19bb1e30d"
2573
+ },
2574
+ "dist": {
2575
+ "type": "zip",
2576
+ "url": "https://api.github.com/repos/zendframework/zend-config/zipball/2920e877a9f6dca9fa8f6bd3b1ffc2e19bb1e30d",
2577
+ "reference": "2920e877a9f6dca9fa8f6bd3b1ffc2e19bb1e30d",
2578
+ "shasum": ""
2579
+ },
2580
+ "require": {
2581
+ "php": "^5.5 || ^7.0",
2582
+ "zendframework/zend-stdlib": "^2.7 || ^3.0"
2583
+ },
2584
+ "require-dev": {
2585
+ "fabpot/php-cs-fixer": "1.7.*",
2586
+ "phpunit/phpunit": "~4.0",
2587
+ "zendframework/zend-filter": "^2.6",
2588
+ "zendframework/zend-i18n": "^2.5",
2589
+ "zendframework/zend-json": "^2.6.1",
2590
+ "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3"
2591
+ },
2592
+ "suggest": {
2593
+ "zendframework/zend-filter": "Zend\\Filter component",
2594
+ "zendframework/zend-i18n": "Zend\\I18n component",
2595
+ "zendframework/zend-json": "Zend\\Json to use the Json reader or writer classes",
2596
+ "zendframework/zend-servicemanager": "Zend\\ServiceManager for use with the Config Factory to retrieve reader and writer instances"
2597
+ },
2598
+ "type": "library",
2599
+ "extra": {
2600
+ "branch-alias": {
2601
+ "dev-master": "2.6-dev",
2602
+ "dev-develop": "2.7-dev"
2603
+ }
2604
+ },
2605
+ "autoload": {
2606
+ "psr-4": {
2607
+ "Zend\\Config\\": "src/"
2608
+ }
2609
+ },
2610
+ "notification-url": "https://packagist.org/downloads/",
2611
+ "license": [
2612
+ "BSD-3-Clause"
2613
+ ],
2614
+ "description": "provides a nested object property based user interface for accessing this configuration data within application code",
2615
+ "homepage": "https://github.com/zendframework/zend-config",
2616
+ "keywords": [
2617
+ "config",
2618
+ "zf2"
2619
+ ],
2620
+ "abandoned": "laminas/laminas-config",
2621
+ "time": "2016-02-04T23:01:10+00:00"
2622
+ },
2623
+ {
2624
+ "name": "zendframework/zend-eventmanager",
2625
+ "version": "3.2.1",
2626
+ "source": {
2627
+ "type": "git",
2628
+ "url": "https://github.com/zendframework/zend-eventmanager.git",
2629
+ "reference": "a5e2583a211f73604691586b8406ff7296a946dd"
2630
+ },
2631
+ "dist": {
2632
+ "type": "zip",
2633
+ "url": "https://api.github.com/repos/zendframework/zend-eventmanager/zipball/a5e2583a211f73604691586b8406ff7296a946dd",
2634
+ "reference": "a5e2583a211f73604691586b8406ff7296a946dd",
2635
+ "shasum": ""
2636
+ },
2637
+ "require": {
2638
+ "php": "^5.6 || ^7.0"
2639
+ },
2640
+ "require-dev": {
2641
+ "athletic/athletic": "^0.1",
2642
+ "container-interop/container-interop": "^1.1.0",
2643
+ "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.2",
2644
+ "zendframework/zend-coding-standard": "~1.0.0",
2645
+ "zendframework/zend-stdlib": "^2.7.3 || ^3.0"
2646
+ },
2647
+ "suggest": {
2648
+ "container-interop/container-interop": "^1.1.0, to use the lazy listeners feature",
2649
+ "zendframework/zend-stdlib": "^2.7.3 || ^3.0, to use the FilterChain feature"
2650
+ },
2651
+ "type": "library",
2652
+ "extra": {
2653
+ "branch-alias": {
2654
+ "dev-master": "3.2-dev",
2655
+ "dev-develop": "3.3-dev"
2656
+ }
2657
+ },
2658
+ "autoload": {
2659
+ "psr-4": {
2660
+ "Zend\\EventManager\\": "src/"
2661
+ }
2662
+ },
2663
+ "notification-url": "https://packagist.org/downloads/",
2664
+ "license": [
2665
+ "BSD-3-Clause"
2666
+ ],
2667
+ "description": "Trigger and listen to events within a PHP application",
2668
+ "homepage": "https://github.com/zendframework/zend-eventmanager",
2669
+ "keywords": [
2670
+ "event",
2671
+ "eventmanager",
2672
+ "events",
2673
+ "zf2"
2674
+ ],
2675
+ "abandoned": "laminas/laminas-eventmanager",
2676
+ "time": "2018-04-25T15:33:34+00:00"
2677
+ },
2678
+ {
2679
+ "name": "zendframework/zend-filter",
2680
+ "version": "2.9.2",
2681
+ "source": {
2682
+ "type": "git",
2683
+ "url": "https://github.com/zendframework/zend-filter.git",
2684
+ "reference": "d78f2cdde1c31975e18b2a0753381ed7b61118ef"
2685
+ },
2686
+ "dist": {
2687
+ "type": "zip",
2688
+ "url": "https://api.github.com/repos/zendframework/zend-filter/zipball/d78f2cdde1c31975e18b2a0753381ed7b61118ef",
2689
+ "reference": "d78f2cdde1c31975e18b2a0753381ed7b61118ef",
2690
+ "shasum": ""
2691
+ },
2692
+ "require": {
2693
+ "php": "^5.6 || ^7.0",
2694
+ "zendframework/zend-stdlib": "^2.7.7 || ^3.1"
2695
+ },
2696
+ "conflict": {
2697
+ "zendframework/zend-validator": "<2.10.1"
2698
+ },
2699
+ "require-dev": {
2700
+ "pear/archive_tar": "^1.4.3",
2701
+ "phpunit/phpunit": "^5.7.23 || ^6.4.3",
2702
+ "psr/http-factory": "^1.0",
2703
+ "zendframework/zend-coding-standard": "~1.0.0",
2704
+ "zendframework/zend-crypt": "^3.2.1",
2705
+ "zendframework/zend-servicemanager": "^2.7.8 || ^3.3",
2706
+ "zendframework/zend-uri": "^2.6"
2707
+ },
2708
+ "suggest": {
2709
+ "psr/http-factory-implementation": "psr/http-factory-implementation, for creating file upload instances when consuming PSR-7 in file upload filters",
2710
+ "zendframework/zend-crypt": "Zend\\Crypt component, for encryption filters",
2711
+ "zendframework/zend-i18n": "Zend\\I18n component for filters depending on i18n functionality",
2712
+ "zendframework/zend-servicemanager": "Zend\\ServiceManager component, for using the filter chain functionality",
2713
+ "zendframework/zend-uri": "Zend\\Uri component, for the UriNormalize filter"
2714
+ },
2715
+ "type": "library",
2716
+ "extra": {
2717
+ "branch-alias": {
2718
+ "dev-master": "2.9.x-dev",
2719
+ "dev-develop": "2.10.x-dev"
2720
+ },
2721
+ "zf": {
2722
+ "component": "Zend\\Filter",
2723
+ "config-provider": "Zend\\Filter\\ConfigProvider"
2724
+ }
2725
+ },
2726
+ "autoload": {
2727
+ "psr-4": {
2728
+ "Zend\\Filter\\": "src/"
2729
+ }
2730
+ },
2731
+ "notification-url": "https://packagist.org/downloads/",
2732
+ "license": [
2733
+ "BSD-3-Clause"
2734
+ ],
2735
+ "description": "Programmatically filter and normalize data and files",
2736
+ "keywords": [
2737
+ "ZendFramework",
2738
+ "filter",
2739
+ "zf"
2740
+ ],
2741
+ "abandoned": "laminas/laminas-filter",
2742
+ "time": "2019-08-19T07:08:04+00:00"
2743
+ },
2744
+ {
2745
+ "name": "zendframework/zend-hydrator",
2746
+ "version": "1.1.0",
2747
+ "source": {
2748
+ "type": "git",
2749
+ "url": "https://github.com/zendframework/zend-hydrator.git",
2750
+ "reference": "22652e1661a5a10b3f564cf7824a2206cf5a4a65"
2751
+ },
2752
+ "dist": {
2753
+ "type": "zip",
2754
+ "url": "https://api.github.com/repos/zendframework/zend-hydrator/zipball/22652e1661a5a10b3f564cf7824a2206cf5a4a65",
2755
+ "reference": "22652e1661a5a10b3f564cf7824a2206cf5a4a65",
2756
+ "shasum": ""
2757
+ },
2758
+ "require": {
2759
+ "php": "^5.5 || ^7.0",
2760
+ "zendframework/zend-stdlib": "^2.7 || ^3.0"
2761
+ },
2762
+ "require-dev": {
2763
+ "phpunit/phpunit": "~4.0",
2764
+ "squizlabs/php_codesniffer": "^2.0@dev",
2765
+ "zendframework/zend-eventmanager": "^2.6.2 || ^3.0",
2766
+ "zendframework/zend-filter": "^2.6",
2767
+ "zendframework/zend-inputfilter": "^2.6",
2768
+ "zendframework/zend-serializer": "^2.6.1",
2769
+ "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3"
2770
+ },
2771
+ "suggest": {
2772
+ "zendframework/zend-eventmanager": "^2.6.2 || ^3.0, to support aggregate hydrator usage",
2773
+ "zendframework/zend-filter": "^2.6, to support naming strategy hydrator usage",
2774
+ "zendframework/zend-serializer": "^2.6.1, to use the SerializableStrategy",
2775
+ "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3, to support hydrator plugin manager usage"
2776
+ },
2777
+ "type": "library",
2778
+ "extra": {
2779
+ "branch-alias": {
2780
+ "dev-release-1.0": "1.0-dev",
2781
+ "dev-release-1.1": "1.1-dev",
2782
+ "dev-master": "2.0-dev",
2783
+ "dev-develop": "2.1-dev"
2784
+ }
2785
+ },
2786
+ "autoload": {
2787
+ "psr-4": {
2788
+ "Zend\\Hydrator\\": "src/"
2789
+ }
2790
+ },
2791
+ "notification-url": "https://packagist.org/downloads/",
2792
+ "license": [
2793
+ "BSD-3-Clause"
2794
+ ],
2795
+ "homepage": "https://github.com/zendframework/zend-hydrator",
2796
+ "keywords": [
2797
+ "hydrator",
2798
+ "zf2"
2799
+ ],
2800
+ "abandoned": "laminas/laminas-hydrator",
2801
+ "time": "2016-02-18T22:38:26+00:00"
2802
+ },
2803
+ {
2804
+ "name": "zendframework/zend-i18n",
2805
+ "version": "2.9.2",
2806
+ "source": {
2807
+ "type": "git",
2808
+ "url": "https://github.com/zendframework/zend-i18n.git",
2809
+ "reference": "e17a54b3aee333ab156958f570cde630acee8b07"
2810
+ },
2811
+ "dist": {
2812
+ "type": "zip",
2813
+ "url": "https://api.github.com/repos/zendframework/zend-i18n/zipball/e17a54b3aee333ab156958f570cde630acee8b07",
2814
+ "reference": "e17a54b3aee333ab156958f570cde630acee8b07",
2815
+ "shasum": ""
2816
+ },
2817
+ "require": {
2818
+ "php": "^5.6 || ^7.0",
2819
+ "zendframework/zend-stdlib": "^2.7 || ^3.0"
2820
+ },
2821
+ "require-dev": {
2822
+ "phpunit/phpunit": "^5.7.27 || ^6.5.14 || ^7.5.16",
2823
+ "zendframework/zend-cache": "^2.6.1",
2824
+ "zendframework/zend-coding-standard": "~1.0.0",
2825
+ "zendframework/zend-config": "^2.6",
2826
+ "zendframework/zend-eventmanager": "^2.6.2 || ^3.0",
2827
+ "zendframework/zend-filter": "^2.6.1",
2828
+ "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3",
2829
+ "zendframework/zend-validator": "^2.6",
2830
+ "zendframework/zend-view": "^2.6.3"
2831
+ },
2832
+ "suggest": {
2833
+ "ext-intl": "Required for most features of Zend\\I18n; included in default builds of PHP",
2834
+ "zendframework/zend-cache": "Zend\\Cache component",
2835
+ "zendframework/zend-config": "Zend\\Config component",
2836
+ "zendframework/zend-eventmanager": "You should install this package to use the events in the translator",
2837
+ "zendframework/zend-filter": "You should install this package to use the provided filters",
2838
+ "zendframework/zend-i18n-resources": "Translation resources",
2839
+ "zendframework/zend-servicemanager": "Zend\\ServiceManager component",
2840
+ "zendframework/zend-validator": "You should install this package to use the provided validators",
2841
+ "zendframework/zend-view": "You should install this package to use the provided view helpers"
2842
+ },
2843
+ "type": "library",
2844
+ "extra": {
2845
+ "branch-alias": {
2846
+ "dev-master": "2.9.x-dev",
2847
+ "dev-develop": "2.10.x-dev"
2848
+ },
2849
+ "zf": {
2850
+ "component": "Zend\\I18n",
2851
+ "config-provider": "Zend\\I18n\\ConfigProvider"
2852
+ }
2853
+ },
2854
+ "autoload": {
2855
+ "psr-4": {
2856
+ "Zend\\I18n\\": "src/"
2857
+ }
2858
+ },
2859
+ "notification-url": "https://packagist.org/downloads/",
2860
+ "license": [
2861
+ "BSD-3-Clause"
2862
+ ],
2863
+ "description": "Provide translations for your application, and filter and validate internationalized values",
2864
+ "keywords": [
2865
+ "ZendFramework",
2866
+ "i18n",
2867
+ "zf"
2868
+ ],
2869
+ "abandoned": "laminas/laminas-i18n",
2870
+ "time": "2019-09-30T12:04:37+00:00"
2871
+ },
2872
+ {
2873
+ "name": "zendframework/zend-json",
2874
+ "version": "3.1.2",
2875
+ "source": {
2876
+ "type": "git",
2877
+ "url": "https://github.com/zendframework/zend-json.git",
2878
+ "reference": "e9ddb1192d93fe7fff846ac895249c39db75132b"
2879
+ },
2880
+ "dist": {
2881
+ "type": "zip",
2882
+ "url": "https://api.github.com/repos/zendframework/zend-json/zipball/e9ddb1192d93fe7fff846ac895249c39db75132b",
2883
+ "reference": "e9ddb1192d93fe7fff846ac895249c39db75132b",
2884
+ "shasum": ""
2885
+ },
2886
+ "require": {
2887
+ "php": "^5.6 || ^7.0"
2888
+ },
2889
+ "require-dev": {
2890
+ "phpunit/phpunit": "^5.7.23 || ^6.4.3",
2891
+ "zendframework/zend-coding-standard": "~1.0.0",
2892
+ "zendframework/zend-stdlib": "^2.7.7 || ^3.1"
2893
+ },
2894
+ "suggest": {
2895
+ "zendframework/zend-json-server": "For implementing JSON-RPC servers",
2896
+ "zendframework/zend-xml2json": "For converting XML documents to JSON"
2897
+ },
2898
+ "type": "library",
2899
+ "extra": {
2900
+ "branch-alias": {
2901
+ "dev-master": "3.1.x-dev",
2902
+ "dev-develop": "3.2.x-dev"
2903
+ }
2904
+ },
2905
+ "autoload": {
2906
+ "psr-4": {
2907
+ "Zend\\Json\\": "src/"
2908
+ }
2909
+ },
2910
+ "notification-url": "https://packagist.org/downloads/",
2911
+ "license": [
2912
+ "BSD-3-Clause"
2913
+ ],
2914
+ "description": "provides convenience methods for serializing native PHP to JSON and decoding JSON to native PHP",
2915
+ "keywords": [
2916
+ "ZendFramework",
2917
+ "json",
2918
+ "zf"
2919
+ ],
2920
+ "abandoned": "laminas/laminas-json",
2921
+ "time": "2019-10-09T13:56:13+00:00"
2922
+ },
2923
+ {
2924
+ "name": "zendframework/zend-serializer",
2925
+ "version": "2.9.1",
2926
+ "source": {
2927
+ "type": "git",
2928
+ "url": "https://github.com/zendframework/zend-serializer.git",
2929
+ "reference": "6fb7ae016cfdf0cfcdfa2b989e6a65f351170e21"
2930
+ },
2931
+ "dist": {
2932
+ "type": "zip",
2933
+ "url": "https://api.github.com/repos/zendframework/zend-serializer/zipball/6fb7ae016cfdf0cfcdfa2b989e6a65f351170e21",
2934
+ "reference": "6fb7ae016cfdf0cfcdfa2b989e6a65f351170e21",
2935
+ "shasum": ""
2936
+ },
2937
+ "require": {
2938
+ "php": "^5.6 || ^7.0",
2939
+ "zendframework/zend-json": "^2.5 || ^3.0",
2940
+ "zendframework/zend-stdlib": "^2.7 || ^3.0"
2941
+ },
2942
+ "require-dev": {
2943
+ "phpunit/phpunit": "^5.7.27 || ^6.5.14 || ^7.5.16",
2944
+ "zendframework/zend-coding-standard": "~1.0.0",
2945
+ "zendframework/zend-math": "^2.6 || ^3.0",
2946
+ "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3"
2947
+ },
2948
+ "suggest": {
2949
+ "zendframework/zend-math": "(^2.6 || ^3.0) To support Python Pickle serialization",
2950
+ "zendframework/zend-servicemanager": "(^2.7.5 || ^3.0.3) To support plugin manager support"
2951
+ },
2952
+ "type": "library",
2953
+ "extra": {
2954
+ "branch-alias": {
2955
+ "dev-master": "2.9.x-dev",
2956
+ "dev-develop": "2.10.x-dev"
2957
+ },
2958
+ "zf": {
2959
+ "component": "Zend\\Serializer",
2960
+ "config-provider": "Zend\\Serializer\\ConfigProvider"
2961
+ }
2962
+ },
2963
+ "autoload": {
2964
+ "psr-4": {
2965
+ "Zend\\Serializer\\": "src/"
2966
+ }
2967
+ },
2968
+ "notification-url": "https://packagist.org/downloads/",
2969
+ "license": [
2970
+ "BSD-3-Clause"
2971
+ ],
2972
+ "description": "Serialize and deserialize PHP structures to a variety of representations",
2973
+ "keywords": [
2974
+ "ZendFramework",
2975
+ "serializer",
2976
+ "zf"
2977
+ ],
2978
+ "abandoned": "laminas/laminas-serializer",
2979
+ "time": "2019-10-19T08:06:30+00:00"
2980
+ },
2981
+ {
2982
+ "name": "zendframework/zend-servicemanager",
2983
+ "version": "2.7.11",
2984
+ "source": {
2985
+ "type": "git",
2986
+ "url": "https://github.com/zendframework/zend-servicemanager.git",
2987
+ "reference": "99ec9ed5d0f15aed9876433c74c2709eb933d4c7"
2988
+ },
2989
+ "dist": {
2990
+ "type": "zip",
2991
+ "url": "https://api.github.com/repos/zendframework/zend-servicemanager/zipball/99ec9ed5d0f15aed9876433c74c2709eb933d4c7",
2992
+ "reference": "99ec9ed5d0f15aed9876433c74c2709eb933d4c7",
2993
+ "shasum": ""
2994
+ },
2995
+ "require": {
2996
+ "container-interop/container-interop": "~1.0",
2997
+ "php": "^5.5 || ^7.0"
2998
+ },
2999
+ "require-dev": {
3000
+ "athletic/athletic": "dev-master",
3001
+ "fabpot/php-cs-fixer": "1.7.*",
3002
+ "phpunit/phpunit": "~4.0",
3003
+ "zendframework/zend-di": "~2.5",
3004
+ "zendframework/zend-mvc": "~2.5"
3005
+ },
3006
+ "suggest": {
3007
+ "ocramius/proxy-manager": "ProxyManager 0.5.* to handle lazy initialization of services",
3008
+ "zendframework/zend-di": "Zend\\Di component"
3009
+ },
3010
+ "type": "library",
3011
+ "extra": {
3012
+ "branch-alias": {
3013
+ "dev-master": "2.7-dev",
3014
+ "dev-develop": "3.0-dev"
3015
+ }
3016
+ },
3017
+ "autoload": {
3018
+ "psr-4": {
3019
+ "Zend\\ServiceManager\\": "src/"
3020
+ }
3021
+ },
3022
+ "notification-url": "https://packagist.org/downloads/",
3023
+ "license": [
3024
+ "BSD-3-Clause"
3025
+ ],
3026
+ "homepage": "https://github.com/zendframework/zend-servicemanager",
3027
+ "keywords": [
3028
+ "servicemanager",
3029
+ "zf2"
3030
+ ],
3031
+ "abandoned": "laminas/laminas-servicemanager",
3032
+ "time": "2018-06-22T14:49:54+00:00"
3033
+ },
3034
+ {
3035
+ "name": "zendframework/zend-stdlib",
3036
+ "version": "2.7.7",
3037
+ "source": {
3038
+ "type": "git",
3039
+ "url": "https://github.com/zendframework/zend-stdlib.git",
3040
+ "reference": "0e44eb46788f65e09e077eb7f44d2659143bcc1f"
3041
+ },
3042
+ "dist": {
3043
+ "type": "zip",
3044
+ "url": "https://api.github.com/repos/zendframework/zend-stdlib/zipball/0e44eb46788f65e09e077eb7f44d2659143bcc1f",
3045
+ "reference": "0e44eb46788f65e09e077eb7f44d2659143bcc1f",
3046
+ "shasum": ""
3047
+ },
3048
+ "require": {
3049
+ "php": "^5.5 || ^7.0",
3050
+ "zendframework/zend-hydrator": "~1.1"
3051
+ },
3052
+ "require-dev": {
3053
+ "athletic/athletic": "~0.1",
3054
+ "fabpot/php-cs-fixer": "1.7.*",
3055
+ "phpunit/phpunit": "~4.0",
3056
+ "zendframework/zend-config": "~2.5",
3057
+ "zendframework/zend-eventmanager": "~2.5",
3058
+ "zendframework/zend-filter": "~2.5",
3059
+ "zendframework/zend-inputfilter": "~2.5",
3060
+ "zendframework/zend-serializer": "~2.5",
3061
+ "zendframework/zend-servicemanager": "~2.5"
3062
+ },
3063
+ "suggest": {
3064
+ "zendframework/zend-eventmanager": "To support aggregate hydrator usage",
3065
+ "zendframework/zend-filter": "To support naming strategy hydrator usage",
3066
+ "zendframework/zend-serializer": "Zend\\Serializer component",
3067
+ "zendframework/zend-servicemanager": "To support hydrator plugin manager usage"
3068
+ },
3069
+ "type": "library",
3070
+ "extra": {
3071
+ "branch-alias": {
3072
+ "dev-release-2.7": "2.7-dev",
3073
+ "dev-master": "3.0-dev",
3074
+ "dev-develop": "3.1-dev"
3075
+ }
3076
+ },
3077
+ "autoload": {
3078
+ "psr-4": {
3079
+ "Zend\\Stdlib\\": "src/"
3080
+ }
3081
+ },
3082
+ "notification-url": "https://packagist.org/downloads/",
3083
+ "license": [
3084
+ "BSD-3-Clause"
3085
+ ],
3086
+ "homepage": "https://github.com/zendframework/zend-stdlib",
3087
+ "keywords": [
3088
+ "stdlib",
3089
+ "zf2"
3090
+ ],
3091
+ "abandoned": "laminas/laminas-stdlib",
3092
+ "time": "2016-04-12T21:17:31+00:00"
3093
+ },
3094
+ {
3095
+ "name": "zetacomponents/base",
3096
+ "version": "1.9.1",
3097
+ "source": {
3098
+ "type": "git",
3099
+ "url": "https://github.com/zetacomponents/Base.git",
3100
+ "reference": "489e20235989ddc97fdd793af31ac803972454f1"
3101
+ },
3102
+ "dist": {
3103
+ "type": "zip",
3104
+ "url": "https://api.github.com/repos/zetacomponents/Base/zipball/489e20235989ddc97fdd793af31ac803972454f1",
3105
+ "reference": "489e20235989ddc97fdd793af31ac803972454f1",
3106
+ "shasum": ""
3107
+ },
3108
+ "require-dev": {
3109
+ "phpunit/phpunit": "~5.7",
3110
+ "zetacomponents/unit-test": "*"
3111
+ },
3112
+ "type": "library",
3113
+ "autoload": {
3114
+ "classmap": [
3115
+ "src"
3116
+ ]
3117
+ },
3118
+ "notification-url": "https://packagist.org/downloads/",
3119
+ "license": [
3120
+ "Apache-2.0"
3121
+ ],
3122
+ "authors": [
3123
+ {
3124
+ "name": "Sergey Alexeev"
3125
+ },
3126
+ {
3127
+ "name": "Sebastian Bergmann"
3128
+ },
3129
+ {
3130
+ "name": "Jan Borsodi"
3131
+ },
3132
+ {
3133
+ "name": "Raymond Bosman"
3134
+ },
3135
+ {
3136
+ "name": "Frederik Holljen"
3137
+ },
3138
+ {
3139
+ "name": "Kore Nordmann"
3140
+ },
3141
+ {
3142
+ "name": "Derick Rethans"
3143
+ },
3144
+ {
3145
+ "name": "Vadym Savchuk"
3146
+ },
3147
+ {
3148
+ "name": "Tobias Schlitt"
3149
+ },
3150
+ {
3151
+ "name": "Alexandru Stanoi"
3152
+ }
3153
+ ],
3154
+ "description": "The Base package provides the basic infrastructure that all packages rely on. Therefore every component relies on this package.",
3155
+ "homepage": "https://github.com/zetacomponents",
3156
+ "time": "2017-11-28T11:30:00+00:00"
3157
+ },
3158
+ {
3159
+ "name": "zetacomponents/document",
3160
+ "version": "1.3.1",
3161
+ "source": {
3162
+ "type": "git",
3163
+ "url": "https://github.com/zetacomponents/Document.git",
3164
+ "reference": "688abfde573cf3fe0730f82538fbd7aa9fc95bc8"
3165
+ },
3166
+ "dist": {
3167
+ "type": "zip",
3168
+ "url": "https://api.github.com/repos/zetacomponents/Document/zipball/688abfde573cf3fe0730f82538fbd7aa9fc95bc8",
3169
+ "reference": "688abfde573cf3fe0730f82538fbd7aa9fc95bc8",
3170
+ "shasum": ""
3171
+ },
3172
+ "require": {
3173
+ "zetacomponents/base": "*"
3174
+ },
3175
+ "require-dev": {
3176
+ "zetacomponents/unit-test": "dev-master"
3177
+ },
3178
+ "type": "library",
3179
+ "autoload": {
3180
+ "classmap": [
3181
+ "src"
3182
+ ]
3183
+ },
3184
+ "notification-url": "https://packagist.org/downloads/",
3185
+ "license": [
3186
+ "Apache-2.0"
3187
+ ],
3188
+ "authors": [
3189
+ {
3190
+ "name": "Sebastian Bergmann"
3191
+ },
3192
+ {
3193
+ "name": "Kore Nordmann"
3194
+ },
3195
+ {
3196
+ "name": "Derick Rethans"
3197
+ },
3198
+ {
3199
+ "name": "Tobias Schlitt"
3200
+ },
3201
+ {
3202
+ "name": "Alexandru Stanoi"
3203
+ }
3204
+ ],
3205
+ "description": "The Document components provides a general conversion framework for different semantic document markup languages like XHTML, Docbook, RST and similar.",
3206
+ "homepage": "https://github.com/zetacomponents",
3207
+ "time": "2013-12-19T11:40:00+00:00"
3208
+ }
3209
+ ],
3210
+ "aliases": [],
3211
+ "minimum-stability": "stable",
3212
+ "stability-flags": [],
3213
+ "prefer-stable": false,
3214
+ "prefer-lowest": false,
3215
+ "platform": [],
3216
+ "platform-dev": []
3217
+ }
dist/css/admin.css ADDED
@@ -0,0 +1 @@
 
1
+ [data-gdprtooltip]{position:relative;z-index:9999;cursor:pointer;display:inline-block;width:21px}[data-gdprtooltip]:after,[data-gdprtooltip]:before{visibility:hidden;opacity:0;pointer-events:none}[data-gdprtooltip]:before{position:absolute;bottom:150%;left:50%;margin-bottom:5px;margin-left:-80px;padding:7px;width:160px;border-radius:3px;background-color:#000;background-color:rgba(51,51,51,.9);color:#fff;content:attr(data-gdprtooltip);text-align:center;font-size:14px;line-height:1.2}[data-gdprtooltip]:after{position:absolute;bottom:150%;left:50%;margin-left:-5px;width:0;border-top:5px solid #000;border-top:5px solid rgba(51,51,51,.9);border-right:5px solid transparent;border-left:5px solid transparent;content:" ";font-size:0;line-height:0}[data-gdprtooltip]:focus:after,[data-gdprtooltip]:focus:before,[data-gdprtooltip]:hover:after,[data-gdprtooltip]:hover:before{visibility:visible;opacity:1}.gdpr-required{color:red}.gdpr-settings-form #consent-tabs,.gdpr-settings-form #gdpr-cookie-categories{margin-top:20px}.gdpr-settings-form #consent-tabs .hndle,.gdpr-settings-form #gdpr-cookie-categories .hndle{font-size:16px;padding:8px 12px;margin:0;line-height:1.4}.gdpr-settings-form #consent-tabs .hndle span,.gdpr-settings-form #gdpr-cookie-categories .hndle span{font-size:12px}.policy-page-updated-notice .spinner{margin:13px 0}.policy-page-updated-notice form{display:inline-block}.policy-page-updated-notice form .button-primary:active,.policy-page-updated-notice form .button-secondary{vertical-align:baseline}.gdpr-pending-requests-badge{display:inline-block;vertical-align:text-bottom;margin:1px 0 0 2px;padding:0 5px;min-width:7px;height:17px;border-radius:11px;background-color:#ca4a1f;color:#fff;font-size:9px;line-height:17px;text-align:center}.gdpr-manual-email-lookup .spinner,.gdpr-request-table .spinner{float:none;display:none}.gdpr-manual-email-lookup .inside{margin-bottom:0}.gdpr-request-table td{vertical-align:middle}.gdpr-request-table form{display:inline-block}.gdpr-request-table .text-center{text-align:center}.gdpr-request-table tr.review>td{padding-top:0;padding-bottom:0}.gdpr-request-table tr.review table{margin-bottom:10px}.gdpr-switch{position:relative;display:inline-block;width:45px;height:24px}.gdpr-switch input{display:none}.gdpr-switch .gdpr-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.4s}.gdpr-switch .gdpr-slider:before{position:absolute;content:"";height:16px;width:16px;left:4px;bottom:4px;background-color:#fff;transition:.4s}.gdpr-switch .gdpr-slider.round{border-radius:34px}.gdpr-switch .gdpr-slider.round:before{border-radius:50%}.gdpr-switch input:checked+.gdpr-slider{background-color:#00b9eb}.gdpr-switch input:checked+.gdpr-slider:before{transform:translateX(21px)}.gdpr-switch input:focus+.gdpr-slider{box-shadow:0 0 1px #00b9eb}#TB_ajaxContent pre{white-space:pre-wrap;word-wrap:break-word}.gdpr-hidden{display:none}.gdpr .not-full{display:inline-block}.gdpr .spinner{display:none;visibility:visible}.gdpr .gdpr-access-data-result h2 span{font-size:16px}#gdpr-cookie-categories .postbox .inside{margin:0!important;padding:0 20px 20px}#gdpr-cookie-categories .postbox .inside .form-table{margin-top:0}#gdpr-cookie-categories .postbox .inside .tab-hosts .postbox .inside{padding-bottom:0;background-color:#f9f9f9}@media screen and (max-width:1024px){.tab-hosts .postbox{margin-top:15px}.tab-hosts .postbox .inside{padding:10px 20px 20px!important}.form-table td{padding-right:0}.form-table td .button{margin-top:5px;margin-bottom:10px}}@media screen and (max-width:640px){.postbox{width:100%}.postbox .notice-dismiss{padding:8px}.inside .regular-text{width:100%}.inside .button{margin-top:5px}}
dist/css/public.css ADDED
@@ -0,0 +1 @@
 
1
+ .gdpr-noscroll{overflow:hidden}.gdpr-hidden{display:none}.gdpr-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.8);z-index:99999999;display:none}.gdpr :not(textarea):not(input):not(select){font-family:Helvetica,Arial,sans-serif!important;text-transform:none!important;letter-spacing:0!important;color:#455561;background:none;box-shadow:none;text-shadow:none;outline:none;border:none;margin:0;padding:0;word-break:normal;word-wrap:normal}.gdpr .h5{font-size:18px;font-weight:700;color:#fff}.gdpr button,.gdpr input[type=submit]{color:#000;font-weight:400;font-size:14px;margin:0;transform:scale(1);line-height:1.5;display:block;min-width:auto;max-width:auto;cursor:pointer}.gdpr button:after,.gdpr button:before,.gdpr input[type=submit]:after,.gdpr input[type=submit]:before{display:inline-block;margin:0;transform:scale(1);top:auto;right:auto;bottom:auto;left:auto;background:none}.gdpr button:active,.gdpr button:focus,.gdpr button:hover,.gdpr input[type=submit]:active,.gdpr input[type=submit]:focus,.gdpr input[type=submit]:hover{margin:0;border:none;box-shadow:none}.gdpr img{width:100%!important}.gdpr .gdpr-contained-wrapper{max-width:600px;margin:0 auto;padding:20px 40px;box-sizing:border-box}@media screen and (max-width:1024px){.gdpr .gdpr-contained-wrapper{padding:20px}}.gdpr.gdpr-privacy-bar,.gdpr.gdpr-reconsent-bar{position:fixed;bottom:0;left:0;background:rgba(0,0,0,.9);width:100%;color:#fff;z-index:9999999}.gdpr.gdpr-privacy-bar .gdpr-wrapper,.gdpr.gdpr-reconsent-bar .gdpr-wrapper{padding:20px 60px;display:flex;justify-content:space-between;box-sizing:border-box;flex-direction:column;align-items:center}@media screen and (min-width:1440px){.gdpr.gdpr-privacy-bar .gdpr-wrapper,.gdpr.gdpr-reconsent-bar .gdpr-wrapper{flex-direction:row}}.gdpr.gdpr-privacy-bar .gdpr-wrapper:after,.gdpr.gdpr-reconsent-bar .gdpr-wrapper:after{content:"";display:table;clear:both}.gdpr.gdpr-privacy-bar .gdpr-wrapper p,.gdpr.gdpr-reconsent-bar .gdpr-wrapper p{margin:0;font-size:14px;font-weight:400}.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-content,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-content{width:100%;padding:0 0 20px;text-align:center}@media screen and (min-width:1440px){.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-content,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-content{flex:1;padding:0 100px 0 0;text-align:left}}.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-content p,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-content p{color:#fff;font-size:14px}@media screen and (max-width:1024px){.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-content,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-content{padding-right:0;padding-bottom:20px}}.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-content .gdpr-policy-pages .gdpr-policy-pages-item:after,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-content .gdpr-policy-pages .gdpr-policy-pages-item:after{content:",";margin-right:5px}.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-content .gdpr-policy-pages .gdpr-policy-pages-item:last-of-type:after,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-content .gdpr-policy-pages .gdpr-policy-pages-item:last-of-type:after{content:"";margin-right:0}.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right{display:flex;align-items:center}@media screen and (max-width:1024px){.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right{flex-direction:column}}.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories,.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list{list-style:none;padding:0 20px 0 0;margin:0 20px 0 0;border-right:1px solid grey}@media screen and (max-width:1024px){.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories,.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list{padding:0 0 10px;margin:0 0 20px;border-right:none;border-bottom:1px solid grey;text-align:center}}.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories .gdpr-cookie-categories-item,.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories .gdpr-policy-list-item,.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list .gdpr-cookie-categories-item,.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list .gdpr-policy-list-item,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories .gdpr-cookie-categories-item,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories .gdpr-policy-list-item,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list .gdpr-cookie-categories-item,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list .gdpr-policy-list-item{display:inline-block;margin:0 10px;padding-top:5px}@media screen and (max-width:1024px){.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories .gdpr-cookie-categories-item,.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories .gdpr-policy-list-item,.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list .gdpr-cookie-categories-item,.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list .gdpr-policy-list-item,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories .gdpr-cookie-categories-item,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories .gdpr-policy-list-item,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list .gdpr-cookie-categories-item,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list .gdpr-policy-list-item{padding-top:0}}.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories .gdpr-cookie-categories-item *,.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories .gdpr-policy-list-item *,.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list .gdpr-cookie-categories-item *,.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list .gdpr-policy-list-item *,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories .gdpr-cookie-categories-item *,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories .gdpr-policy-list-item *,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list .gdpr-cookie-categories-item *,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list .gdpr-policy-list-item *{float:left}.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories .gdpr-cookie-categories-item input,.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories .gdpr-policy-list-item input,.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list .gdpr-cookie-categories-item input,.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list .gdpr-policy-list-item input,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories .gdpr-cookie-categories-item input,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories .gdpr-policy-list-item input,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list .gdpr-cookie-categories-item input,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list .gdpr-policy-list-item input{margin-top:3px}.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories .gdpr-cookie-categories-item label,.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories .gdpr-policy-list-item label,.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list .gdpr-cookie-categories-item label,.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list .gdpr-policy-list-item label,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories .gdpr-cookie-categories-item label,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories .gdpr-policy-list-item label,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list .gdpr-cookie-categories-item label,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list .gdpr-policy-list-item label{color:#fff;margin:0 5px;font-size:14px}.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories .gdpr-cookie-categories-item .gdpr-policy-link,.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories .gdpr-policy-list-item .gdpr-policy-link,.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list .gdpr-cookie-categories-item .gdpr-policy-link,.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list .gdpr-policy-list-item .gdpr-policy-link,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories .gdpr-cookie-categories-item .gdpr-policy-link,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories .gdpr-policy-list-item .gdpr-policy-link,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list .gdpr-cookie-categories-item .gdpr-policy-link,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-policy-list .gdpr-policy-list-item .gdpr-policy-link{color:#fff;font-size:14px;text-decoration:underline}@media screen and (max-width:640px){.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-cookie-categories{margin-bottom:5px}}@media screen and (max-width:640px){.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-buttons,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-buttons{display:flex;flex-direction:column}}.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-buttons button,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-buttons button{white-space:nowrap}.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-buttons button.gdpr-preferences,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-buttons button.gdpr-preferences{margin-left:10px;margin-right:20px}@media screen and (max-width:640px){.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-buttons button.gdpr-preferences,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-buttons button.gdpr-preferences{margin:0 0 10px 15px}.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-buttons button.gdpr-preferences:before,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-buttons button.gdpr-preferences:before{left:-7px}}.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-buttons button.gdpr-agreement,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-buttons button.gdpr-agreement{margin:0 10px;align-self:center}@media screen and (min-width:1440px){.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-right .gdpr-buttons button.gdpr-agreement,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-right .gdpr-buttons button.gdpr-agreement{margin:0 0 0 10px}}.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-close,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-close{color:#fff;position:absolute;top:0;right:0;cursor:pointer;transition:all .2s ease-in-out;padding:15px;line-height:0}.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-close:hover:before,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-close:hover:before{transform:scale(1.5)}.gdpr.gdpr-privacy-bar .gdpr-wrapper .gdpr-close:before,.gdpr.gdpr-reconsent-bar .gdpr-wrapper .gdpr-close:before{content:"\D7";line-height:12.5px;font-size:25px;display:inline-block;transition:all .2s ease-in-out;transform:translateZ(0);backface-visibility:hidden}.gdpr.gdpr-privacy-bar .gdpr-preferences,.gdpr.gdpr-reconsent-bar .gdpr-preferences{font-weight:400;font-size:14px;text-decoration:underline;position:relative;margin-left:9px;color:#fff;float:left}.gdpr.gdpr-privacy-bar .gdpr-preferences:before,.gdpr.gdpr-reconsent-bar .gdpr-preferences:before{content:"\276F";font-size:1.1em;font-weight:400;padding-right:5px;color:#fff;position:absolute;left:-7px;top:5px}.gdpr.gdpr-privacy-bar .gdpr-preferences:active,.gdpr.gdpr-privacy-bar .gdpr-preferences:focus,.gdpr.gdpr-privacy-bar .gdpr-preferences:focus-within,.gdpr.gdpr-privacy-bar .gdpr-preferences:hover,.gdpr.gdpr-privacy-bar .gdpr-preferences:visited,.gdpr.gdpr-reconsent-bar .gdpr-preferences:active,.gdpr.gdpr-reconsent-bar .gdpr-preferences:focus,.gdpr.gdpr-reconsent-bar .gdpr-preferences:focus-within,.gdpr.gdpr-reconsent-bar .gdpr-preferences:hover,.gdpr.gdpr-reconsent-bar .gdpr-preferences:visited{background:none}.gdpr.gdpr-privacy-bar button,.gdpr.gdpr-reconsent-bar button{margin:0 5px;padding:5px 10px}@media screen and (max-width:640px){.gdpr.gdpr-privacy-bar button,.gdpr.gdpr-reconsent-bar button{margin:0}}.gdpr.gdpr-privacy-bar .gdpr-agreement,.gdpr.gdpr-reconsent-bar .gdpr-agreement{position:relative;font-size:13px;font-weight:400;padding:0 10px 1px;height:auto;line-height:26px;white-space:normal;margin:0;border-radius:3px;box-sizing:border-box;background:#0085ba;border:1px solid #006799;border-top-color:#0073aa;box-shadow:0 1px 0 #006799;color:#fff;text-decoration:none;text-shadow:0 -1px 1px #006799,1px 0 1px #006799,0 1px 1px #006799,-1px 0 1px #006799}.gdpr.gdpr-privacy-bar .gdpr-agreement:hover,.gdpr.gdpr-reconsent-bar .gdpr-agreement:hover{background:#008ec2;border-color:#006799}.gdpr.gdpr-privacy-bar .gdpr-agreement:active,.gdpr.gdpr-privacy-bar .gdpr-agreement:focus,.gdpr.gdpr-reconsent-bar .gdpr-agreement:active,.gdpr.gdpr-reconsent-bar .gdpr-agreement:focus{background:#0073aa;border-color:#006799;box-shadow:inset 0 2px 0 #006799;vertical-align:top}.gdpr.gdpr-general-confirmation .gdpr-wrapper,.gdpr.gdpr-privacy-preferences .gdpr-wrapper,.gdpr.gdpr-reconsent .gdpr-wrapper{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:999999999;width:100%;max-width:768px;height:100%;max-height:500px;overflow:hidden;display:none;border-radius:2.5px;padding:15px;box-sizing:border-box}.gdpr.gdpr-general-confirmation .gdpr-wrapper .reconsent-form,.gdpr.gdpr-general-confirmation .gdpr-wrapper>form,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .reconsent-form,.gdpr.gdpr-privacy-preferences .gdpr-wrapper>form,.gdpr.gdpr-reconsent .gdpr-wrapper .reconsent-form,.gdpr.gdpr-reconsent .gdpr-wrapper>form{height:100%;position:relative}.gdpr.gdpr-general-confirmation .gdpr-wrapper .reconsent-form>header,.gdpr.gdpr-general-confirmation .gdpr-wrapper>form>header,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .reconsent-form>header,.gdpr.gdpr-privacy-preferences .gdpr-wrapper>form>header,.gdpr.gdpr-reconsent .gdpr-wrapper .reconsent-form>header,.gdpr.gdpr-reconsent .gdpr-wrapper>form>header{display:flex;height:75px}.gdpr.gdpr-general-confirmation .gdpr-wrapper .reconsent-form>header .logo,.gdpr.gdpr-general-confirmation .gdpr-wrapper>form>header .logo,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .reconsent-form>header .logo,.gdpr.gdpr-privacy-preferences .gdpr-wrapper>form>header .logo,.gdpr.gdpr-reconsent .gdpr-wrapper .reconsent-form>header .logo,.gdpr.gdpr-reconsent .gdpr-wrapper>form>header .logo{max-width:30%}.gdpr.gdpr-general-confirmation .gdpr-wrapper .reconsent-form>header .logo a,.gdpr.gdpr-general-confirmation .gdpr-wrapper>form>header .logo a,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .reconsent-form>header .logo a,.gdpr.gdpr-privacy-preferences .gdpr-wrapper>form>header .logo a,.gdpr.gdpr-reconsent .gdpr-wrapper .reconsent-form>header .logo a,.gdpr.gdpr-reconsent .gdpr-wrapper>form>header .logo a{padding:0;margin:0}.gdpr.gdpr-general-confirmation .gdpr-wrapper .reconsent-form>header .logo a img,.gdpr.gdpr-general-confirmation .gdpr-wrapper>form>header .logo a img,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .reconsent-form>header .logo a img,.gdpr.gdpr-privacy-preferences .gdpr-wrapper>form>header .logo a img,.gdpr.gdpr-reconsent .gdpr-wrapper .reconsent-form>header .logo a img,.gdpr.gdpr-reconsent .gdpr-wrapper>form>header .logo a img{display:block}.gdpr.gdpr-general-confirmation .gdpr-wrapper .reconsent-form>header .gdpr-box-title,.gdpr.gdpr-general-confirmation .gdpr-wrapper>form>header .gdpr-box-title,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .reconsent-form>header .gdpr-box-title,.gdpr.gdpr-privacy-preferences .gdpr-wrapper>form>header .gdpr-box-title,.gdpr.gdpr-reconsent .gdpr-wrapper .reconsent-form>header .gdpr-box-title,.gdpr.gdpr-reconsent .gdpr-wrapper>form>header .gdpr-box-title{background:#23282d;flex-grow:1;display:flex;align-items:center;justify-content:center;position:relative}.gdpr.gdpr-general-confirmation .gdpr-wrapper .reconsent-form>header .gdpr-box-title h3,.gdpr.gdpr-general-confirmation .gdpr-wrapper>form>header .gdpr-box-title h3,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .reconsent-form>header .gdpr-box-title h3,.gdpr.gdpr-privacy-preferences .gdpr-wrapper>form>header .gdpr-box-title h3,.gdpr.gdpr-reconsent .gdpr-wrapper .reconsent-form>header .gdpr-box-title h3,.gdpr.gdpr-reconsent .gdpr-wrapper>form>header .gdpr-box-title h3{margin:0!important;padding:0!important;text-align:center!important;color:#fff!important;font-weight:600!important;font-size:22px!important}@media screen and (max-width:640px){.gdpr.gdpr-general-confirmation .gdpr-wrapper .reconsent-form>header .gdpr-box-title h3,.gdpr.gdpr-general-confirmation .gdpr-wrapper>form>header .gdpr-box-title h3,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .reconsent-form>header .gdpr-box-title h3,.gdpr.gdpr-privacy-preferences .gdpr-wrapper>form>header .gdpr-box-title h3,.gdpr.gdpr-reconsent .gdpr-wrapper .reconsent-form>header .gdpr-box-title h3,.gdpr.gdpr-reconsent .gdpr-wrapper>form>header .gdpr-box-title h3{font-size:18px!important}}.gdpr.gdpr-general-confirmation .gdpr-wrapper .reconsent-form>header .gdpr-box-title .gdpr-close,.gdpr.gdpr-general-confirmation .gdpr-wrapper>form>header .gdpr-box-title .gdpr-close,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .reconsent-form>header .gdpr-box-title .gdpr-close,.gdpr.gdpr-privacy-preferences .gdpr-wrapper>form>header .gdpr-box-title .gdpr-close,.gdpr.gdpr-reconsent .gdpr-wrapper .reconsent-form>header .gdpr-box-title .gdpr-close,.gdpr.gdpr-reconsent .gdpr-wrapper>form>header .gdpr-box-title .gdpr-close{color:#fff;position:absolute;top:0;right:0;cursor:pointer;transition:all .2s ease-in-out;padding:15px;line-height:0}.gdpr.gdpr-general-confirmation .gdpr-wrapper .reconsent-form>header .gdpr-box-title .gdpr-close:hover:before,.gdpr.gdpr-general-confirmation .gdpr-wrapper>form>header .gdpr-box-title .gdpr-close:hover:before,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .reconsent-form>header .gdpr-box-title .gdpr-close:hover:before,.gdpr.gdpr-privacy-preferences .gdpr-wrapper>form>header .gdpr-box-title .gdpr-close:hover:before,.gdpr.gdpr-reconsent .gdpr-wrapper .reconsent-form>header .gdpr-box-title .gdpr-close:hover:before,.gdpr.gdpr-reconsent .gdpr-wrapper>form>header .gdpr-box-title .gdpr-close:hover:before{transform:scale(1.5)}.gdpr.gdpr-general-confirmation .gdpr-wrapper .reconsent-form>header .gdpr-box-title .gdpr-close:before,.gdpr.gdpr-general-confirmation .gdpr-wrapper>form>header .gdpr-box-title .gdpr-close:before,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .reconsent-form>header .gdpr-box-title .gdpr-close:before,.gdpr.gdpr-privacy-preferences .gdpr-wrapper>form>header .gdpr-box-title .gdpr-close:before,.gdpr.gdpr-reconsent .gdpr-wrapper .reconsent-form>header .gdpr-box-title .gdpr-close:before,.gdpr.gdpr-reconsent .gdpr-wrapper>form>header .gdpr-box-title .gdpr-close:before{content:"\D7";line-height:12.5px;font-size:25px;display:inline-block;transition:all .2s ease-in-out;transform:translateZ(0);backface-visibility:hidden}.gdpr.gdpr-general-confirmation .gdpr-wrapper .reconsent-form>footer,.gdpr.gdpr-general-confirmation .gdpr-wrapper>form>footer,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .reconsent-form>footer,.gdpr.gdpr-privacy-preferences .gdpr-wrapper>form>footer,.gdpr.gdpr-reconsent .gdpr-wrapper .reconsent-form>footer,.gdpr.gdpr-reconsent .gdpr-wrapper>form>footer{position:absolute;padding:0 20px 20px;bottom:0;left:160px;right:0;display:flex;justify-content:space-between;align-items:flex-end}@media screen and (max-width:640px){.gdpr.gdpr-general-confirmation .gdpr-wrapper .reconsent-form>footer,.gdpr.gdpr-general-confirmation .gdpr-wrapper>form>footer,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .reconsent-form>footer,.gdpr.gdpr-privacy-preferences .gdpr-wrapper>form>footer,.gdpr.gdpr-reconsent .gdpr-wrapper .reconsent-form>footer,.gdpr.gdpr-reconsent .gdpr-wrapper>form>footer{left:0;bottom:5px}}.gdpr.gdpr-general-confirmation .gdpr-wrapper .reconsent-form>footer .gdpr-buttons,.gdpr.gdpr-general-confirmation .gdpr-wrapper .reconsent-form>footer .gdpr-buttons>form,.gdpr.gdpr-general-confirmation .gdpr-wrapper>form>footer .gdpr-buttons,.gdpr.gdpr-general-confirmation .gdpr-wrapper>form>footer .gdpr-buttons>form,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .reconsent-form>footer .gdpr-buttons,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .reconsent-form>footer .gdpr-buttons>form,.gdpr.gdpr-privacy-preferences .gdpr-wrapper>form>footer .gdpr-buttons,.gdpr.gdpr-privacy-preferences .gdpr-wrapper>form>footer .gdpr-buttons>form,.gdpr.gdpr-reconsent .gdpr-wrapper .reconsent-form>footer .gdpr-buttons,.gdpr.gdpr-reconsent .gdpr-wrapper .reconsent-form>footer .gdpr-buttons>form,.gdpr.gdpr-reconsent .gdpr-wrapper>form>footer .gdpr-buttons,.gdpr.gdpr-reconsent .gdpr-wrapper>form>footer .gdpr-buttons>form{display:flex;align-items:flex-end}.gdpr.gdpr-general-confirmation .gdpr-wrapper .reconsent-form>footer input[type=submit],.gdpr.gdpr-general-confirmation .gdpr-wrapper>form>footer input[type=submit],.gdpr.gdpr-privacy-preferences .gdpr-wrapper .reconsent-form>footer input[type=submit],.gdpr.gdpr-privacy-preferences .gdpr-wrapper>form>footer input[type=submit],.gdpr.gdpr-reconsent .gdpr-wrapper .reconsent-form>footer input[type=submit],.gdpr.gdpr-reconsent .gdpr-wrapper>form>footer input[type=submit]{font-size:13px;font-weight:400;line-height:26px;height:28px;padding:0 10px 1px;border-radius:3px;white-space:nowrap;box-sizing:border-box;background:#0085ba;border:1px solid #006799;border-top-color:#0073aa;box-shadow:0 1px 0 #006799;color:#fff;text-decoration:none;text-shadow:0 -1px 1px #006799,1px 0 1px #006799,0 1px 1px #006799,-1px 0 1px #006799;margin:0 15px 0 0}.gdpr.gdpr-general-confirmation .gdpr-wrapper .reconsent-form>footer input[type=submit]:hover,.gdpr.gdpr-general-confirmation .gdpr-wrapper>form>footer input[type=submit]:hover,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .reconsent-form>footer input[type=submit]:hover,.gdpr.gdpr-privacy-preferences .gdpr-wrapper>form>footer input[type=submit]:hover,.gdpr.gdpr-reconsent .gdpr-wrapper .reconsent-form>footer input[type=submit]:hover,.gdpr.gdpr-reconsent .gdpr-wrapper>form>footer input[type=submit]:hover{background:#008ec2;border-color:#006799}.gdpr.gdpr-general-confirmation .gdpr-wrapper .reconsent-form>footer input[type=submit].focus,.gdpr.gdpr-general-confirmation .gdpr-wrapper .reconsent-form>footer input[type=submit]:active,.gdpr.gdpr-general-confirmation .gdpr-wrapper>form>footer input[type=submit].focus,.gdpr.gdpr-general-confirmation .gdpr-wrapper>form>footer input[type=submit]:active,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .reconsent-form>footer input[type=submit].focus,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .reconsent-form>footer input[type=submit]:active,.gdpr.gdpr-privacy-preferences .gdpr-wrapper>form>footer input[type=submit].focus,.gdpr.gdpr-privacy-preferences .gdpr-wrapper>form>footer input[type=submit]:active,.gdpr.gdpr-reconsent .gdpr-wrapper .reconsent-form>footer input[type=submit].focus,.gdpr.gdpr-reconsent .gdpr-wrapper .reconsent-form>footer input[type=submit]:active,.gdpr.gdpr-reconsent .gdpr-wrapper>form>footer input[type=submit].focus,.gdpr.gdpr-reconsent .gdpr-wrapper>form>footer input[type=submit]:active{background:#0073aa;border-color:#006799;box-shadow:inset 0 2px 0 #006799;vertical-align:top}.gdpr.gdpr-general-confirmation .gdpr-wrapper .reconsent-form>footer span,.gdpr.gdpr-general-confirmation .gdpr-wrapper>form>footer span,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .reconsent-form>footer span,.gdpr.gdpr-privacy-preferences .gdpr-wrapper>form>footer span,.gdpr.gdpr-reconsent .gdpr-wrapper .reconsent-form>footer span,.gdpr.gdpr-reconsent .gdpr-wrapper>form>footer span{font-size:13px;line-height:20px;color:#555d66;font-style:italic}.gdpr.gdpr-general-confirmation .gdpr-wrapper .reconsent-form>footer span a,.gdpr.gdpr-general-confirmation .gdpr-wrapper>form>footer span a,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .reconsent-form>footer span a,.gdpr.gdpr-privacy-preferences .gdpr-wrapper>form>footer span a,.gdpr.gdpr-reconsent .gdpr-wrapper .reconsent-form>footer span a,.gdpr.gdpr-reconsent .gdpr-wrapper>form>footer span a{color:#0073aa;transition-property:border,background,color;transition-duration:.05s;transition-timing-function:ease-in-out;text-decoration:underline}.gdpr.gdpr-general-confirmation .gdpr-wrapper .reconsent-form>footer span a:hover,.gdpr.gdpr-general-confirmation .gdpr-wrapper>form>footer span a:hover,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .reconsent-form>footer span a:hover,.gdpr.gdpr-privacy-preferences .gdpr-wrapper>form>footer span a:hover,.gdpr.gdpr-reconsent .gdpr-wrapper .reconsent-form>footer span a:hover,.gdpr.gdpr-reconsent .gdpr-wrapper>form>footer span a:hover{color:#00a0d2}.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-mobile-menu,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-mobile-menu,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-mobile-menu{display:none}@media screen and (max-width:640px){.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-mobile-menu,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-mobile-menu,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-mobile-menu{display:block}}.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-mobile-menu button,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-mobile-menu button,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-mobile-menu button{width:100%;background-color:#191e23;color:#fff;font-size:14px;text-align:left;padding:15px;border-radius:0;display:flex;justify-content:space-between;align-items:center;line-height:0}.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-mobile-menu button:hover,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-mobile-menu button:hover,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-mobile-menu button:hover{color:#00b9eb}.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-mobile-menu button:hover:after,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-mobile-menu button:hover:after,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-mobile-menu button:hover:after{border-top-color:#00b9eb}.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-mobile-menu button:after,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-mobile-menu button:after,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-mobile-menu button:after{content:"";width:0;height:0;border-left:7.5px solid transparent;border-right:7.5px solid transparent;border-top:7.5px solid #fff;transition:all .2s;right:15px;top:12px;position:absolute}.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-mobile-menu button.gdpr-active:after,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-mobile-menu button.gdpr-active:after,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-mobile-menu button.gdpr-active:after{transform:rotate(180deg)}.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content{display:flex;height:calc(100% - 75px);background:#f1f1f1}@media screen and (max-width:640px){.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content{position:relative;height:calc(100% - 119px)}}.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-policies li a,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-policies li a,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-policies li a{font-style:italic;font-size:12px!important;color:#ababab!important;box-sizing:border-box}.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tabs,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tabs,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tabs{border:none!important;min-width:160px;max-width:160px;padding:0;margin:0;overflow-y:auto;background-color:#23282d;position:relative;display:flex;flex-direction:column;justify-content:space-between}@media screen and (max-width:640px){.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tabs,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tabs,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tabs{position:absolute;height:100%;width:100%;max-width:100%;display:none;z-index:1}}.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tabs li,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tabs li,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tabs li{list-style:none}.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tabs li a,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tabs li button,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tabs li a,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tabs li button,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tabs li a,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tabs li button{display:block;width:100%;background:#23282d;color:#fff;font-size:14px;text-align:left;text-decoration:none;padding:8px;border-radius:0;position:relative}@media screen and (max-width:640px){.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tabs li a,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tabs li button,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tabs li a,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tabs li button,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tabs li a,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tabs li button{padding:15px;line-height:1}}.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tabs li a:hover,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tabs li button:hover,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tabs li a:hover,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tabs li button:hover,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tabs li a:hover,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tabs li button:hover{background-color:#191e23;color:#00b9eb}.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tabs li a.gdpr-active,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tabs li button.gdpr-active,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tabs li a.gdpr-active,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tabs li button.gdpr-active,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tabs li a.gdpr-active,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tabs li button.gdpr-active{background-color:#0073aa}.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tabs li a.gdpr-active:hover,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tabs li button.gdpr-active:hover,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tabs li a.gdpr-active:hover,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tabs li button.gdpr-active:hover,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tabs li a.gdpr-active:hover,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tabs li button.gdpr-active:hover{color:#fff}.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tabs li a.gdpr-active:after,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tabs li button.gdpr-active:after,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tabs li a.gdpr-active:after,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tabs li button.gdpr-active:after,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tabs li a.gdpr-active:after,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tabs li button.gdpr-active:after{right:0;content:"";height:0;width:0;position:absolute;pointer-events:none;border:8px solid transparent;border-right-color:#f1f1f1;top:50%;margin-top:-8px}@media screen and (max-width:640px){.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tabs li a.gdpr-active:after,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tabs li button.gdpr-active:after,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tabs li a.gdpr-active:after,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tabs li button.gdpr-active:after,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tabs li a.gdpr-active:after,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tabs li button.gdpr-active:after{display:none}}.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tabs li .gdpr-subtabs,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tabs li .gdpr-subtabs,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tabs li .gdpr-subtabs{position:relative;padding:8px 0;top:auto;left:auto;right:auto;bottom:auto;border:0;margin:0;box-shadow:none;background-color:#32373c}.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tabs li .gdpr-subtabs li button,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tabs li .gdpr-subtabs li button,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tabs li .gdpr-subtabs li button{background-color:transparent;font-size:13px;line-height:18px;padding:5px 8px}.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tabs li .gdpr-subtabs li button.gdpr-active,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tabs li .gdpr-subtabs li button.gdpr-active,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tabs li .gdpr-subtabs li button.gdpr-active{font-weight:600}.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tabs li .gdpr-subtabs li button.gdpr-active:after,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tabs li .gdpr-subtabs li button.gdpr-active:after,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tabs li .gdpr-subtabs li button.gdpr-active:after{border:none;content:""}.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tab-content,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tab-content,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tab-content{width:100%;margin-bottom:68px;overflow-y:auto}.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tab-content>div,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tab-content>div,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tab-content>div{display:none;padding:20px 20px 0;overflow-y:auto;font-size:13px;height:100%;box-sizing:border-box}.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tab-content>div header,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tab-content>div header,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tab-content>div header{display:flex;justify-content:space-between}.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tab-content>div header h4,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tab-content>div header label,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tab-content>div header h4,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tab-content>div header label,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tab-content>div header h4,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tab-content>div header label{margin:0}.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tab-content>div header h4,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tab-content>div header h4,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tab-content>div header h4{font-weight:600!important;padding-right:10px}.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info{height:100%;overflow-y:auto;flex:1;margin-top:20px;position:relative}.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-policy-content,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-policy-content,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-policy-content{padding:10px;border:1px solid #e5e5e5;box-shadow:0 1px 1px rgba(0,0,0,.04);background-color:#fff}.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-policy-content>p,.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info>p,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-policy-content>p,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info>p,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-policy-content>p,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info>p{margin-bottom:16px}.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info strong,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info strong,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info strong{border-bottom:1px solid rgba(0,0,0,.4);display:block}.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used{font-family:Helvetica,Arial,sans-serif;border:1px solid #e5e5e5;box-shadow:0 1px 1px rgba(0,0,0,.04);margin-bottom:10px;background-color:#fff;font-size:13px}.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used:first-of-type,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used:first-of-type,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used:first-of-type{padding-top:0}.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used .gdpr-cookie-title,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used .gdpr-cookie-title,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used .gdpr-cookie-title{padding:10px;border-bottom:1px solid #e1e1e1;color:#32373c;position:relative;display:flex;justify-content:space-between;align-items:flex-end}.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used .gdpr-cookie-title p,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used .gdpr-cookie-title p,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used .gdpr-cookie-title p{margin:0;font-weight:600!important}.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used .gdpr-cookie-title .gdpr-always-active,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used .gdpr-cookie-title .gdpr-always-active,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used .gdpr-cookie-title .gdpr-always-active{display:flex;align-items:center;justify-content:center;padding:0 10px;min-height:24px;text-align:center;border-radius:50px;line-height:16px;background-color:#00b9eb;color:#fff;font-style:normal}.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used .gdpr-cookie-title a,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used .gdpr-cookie-title a,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used .gdpr-cookie-title a{color:#0073aa}.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used .gdpr-cookie-title a:hover,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used .gdpr-cookie-title a:hover,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used .gdpr-cookie-title a:hover{color:#00a0d2}.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used .gdpr-cookies,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used .gdpr-cookies,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used .gdpr-cookies{color:#555;background-color:#f9f9f9;padding:10px}.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used .gdpr-cookies span,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used .gdpr-cookies span,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tab-content>div .gdpr-info .gdpr-cookies-used .gdpr-cookies span{font-style:italic}.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content .gdpr-tab-content .gdpr-active,.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-content .gdpr-tab-content .gdpr-active,.gdpr.gdpr-reconsent .gdpr-wrapper .gdpr-content .gdpr-tab-content .gdpr-active{display:flex;flex-direction:column}.gdpr.gdpr-general-confirmation .gdpr-wrapper{flex-direction:column;justify-content:center;max-width:400px;min-height:250px}.gdpr.gdpr-general-confirmation .gdpr-wrapper>header{display:flex;height:75px}.gdpr.gdpr-general-confirmation .gdpr-wrapper>header .logo{max-width:30%}.gdpr.gdpr-general-confirmation .gdpr-wrapper>header .logo a{padding:0;margin:0}.gdpr.gdpr-general-confirmation .gdpr-wrapper>header .logo a img{display:block}.gdpr.gdpr-general-confirmation .gdpr-wrapper>header .gdpr-box-title{background:#23282d;flex-grow:1;display:flex;align-items:center;justify-content:center;position:relative}.gdpr.gdpr-general-confirmation .gdpr-wrapper>header .gdpr-box-title h3{margin:0!important;padding:0!important;text-align:center!important;color:#fff!important;font-weight:600!important;font-size:22px!important}@media screen and (max-width:640px){.gdpr.gdpr-general-confirmation .gdpr-wrapper>header .gdpr-box-title h3{font-size:18px!important}}.gdpr.gdpr-general-confirmation .gdpr-wrapper>header .gdpr-box-title .gdpr-close{color:#fff;position:absolute;top:0;right:0;cursor:pointer;transition:all .2s ease-in-out;padding:15px;line-height:0}.gdpr.gdpr-general-confirmation .gdpr-wrapper>header .gdpr-box-title .gdpr-close:hover:before{transform:scale(1.5)}.gdpr.gdpr-general-confirmation .gdpr-wrapper>header .gdpr-box-title .gdpr-close:before{content:"\D7";line-height:12.5px;font-size:25px;display:inline-block;transition:all .2s ease-in-out;transform:translateZ(0);backface-visibility:hidden}.gdpr.gdpr-general-confirmation .gdpr-wrapper>footer{background:#f1f1f1;padding:20px}.gdpr.gdpr-general-confirmation .gdpr-wrapper>footer button{font-size:13px;font-weight:400;line-height:26px;height:28px;margin:0;padding:0 10px 1px;border-radius:3px;white-space:nowrap;box-sizing:border-box;background:#0085ba;border:1px solid #006799;border-top-color:#0073aa;box-shadow:0 1px 0 #006799;color:#fff;text-decoration:none;text-shadow:0 -1px 1px #006799,1px 0 1px #006799,0 1px 1px #006799,-1px 0 1px #006799;display:inline}.gdpr.gdpr-general-confirmation .gdpr-wrapper>footer button:hover{background:#008ec2;border-color:#006799}.gdpr.gdpr-general-confirmation .gdpr-wrapper>footer button.focus,.gdpr.gdpr-general-confirmation .gdpr-wrapper>footer button:active{background:#0073aa;border-color:#006799;box-shadow:inset 0 2px 0 #006799;vertical-align:top}.gdpr.gdpr-general-confirmation .gdpr-wrapper>footer button.gdpr-cancel{color:#555;border-color:#ccc;background:#f7f7f7;box-shadow:0 1px 0 #ccc;text-shadow:none}.gdpr.gdpr-general-confirmation .gdpr-wrapper>footer button.gdpr-cancel:hover{background:#fafafa;border-color:#999;color:#23282d;box-shadow:0 1px 0 #ccc}.gdpr.gdpr-general-confirmation .gdpr-wrapper>footer button.gdpr-cancel:active,.gdpr.gdpr-general-confirmation .gdpr-wrapper>footer button.gdpr-cancel:focus{background:#eee;border-color:#999;box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);transform:translateY(1px);color:#23282d}.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content{padding:20px 20px 0;height:auto}.gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content p{margin:0}.gdpr-switch{position:relative;display:inline-block;min-width:45px;height:24px;margin-bottom:0}.gdpr-switch input{position:absolute;left:-999em}.gdpr-switch .gdpr-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.4s}.gdpr-switch .gdpr-slider:before{position:absolute;content:"";height:16px;width:16px;left:4px;bottom:4px;background-color:#fff;transition:.4s}.gdpr-switch .gdpr-slider.round{border-radius:34px}.gdpr-switch .gdpr-slider.round:before{border-radius:50%}.gdpr-switch .gdpr-switch-indicator,.gdpr-switch .gdpr-switch-indicator-off,.gdpr-switch .gdpr-switch-indicator-on,.gdpr-switch input:checked+.gdpr-slider+.gdpr-switch-indicator-on,.gdpr-switch input:checked+.gdpr-slider+.gdpr-switch-indicator-on+.gdpr-switch-indicator-off{position:absolute;bottom:2px;right:50px;color:#ccc}.gdpr-switch .gdpr-switch-indicator-on{display:none}.gdpr-switch .gdpr-switch-indicator-off{display:block}.gdpr-switch input:checked+.gdpr-slider{background-color:#00b9eb}.gdpr-switch input:checked+.gdpr-slider:before{transform:translateX(21px)}.gdpr-switch input:checked+.gdpr-slider+.gdpr-switch-indicator-on{color:#00b9eb;display:block}.gdpr-switch input:checked+.gdpr-slider+.gdpr-switch-indicator-on+.gdpr-switch-indicator-off{display:none}.gdpr-switch input:focus+.gdpr-slider{box-shadow:0 0 1px #00b9eb}
dist/js/admin.js ADDED
@@ -0,0 +1 @@
 
1
+ !function(e){var t={};function a(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,a),i.l=!0,i.exports}a.m=e,a.c=t,a.d=function(e,t,n){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(a.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)a.d(n,i,function(t){return e[t]}.bind(null,i));return n},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="",a(a.s=3)}([function(e,t){e.exports=jQuery},function(e,t,a){"use strict";a.d(t,"c",(function(){return r})),a.d(t,"a",(function(){return o})),a.d(t,"b",(function(){return d}));var n=a(0),i=a.n(n),r=function(e){e=(e=e.replace(/^\s+|\s+$/g,"")).toLowerCase();for(var t="àáäâèéëêìíïîòóöôùúüûñňçčľĺšťžýďąćęłńóśźż·/_,:;",a=0,n=t.length;a<n;a++)e=e.replace(new RegExp(t.charAt(a),"g"),"aaaaeeeeiiiioooouuuunnccllstzydacelnoszz------".charAt(a));return e=e.replace(/[^a-z0-9 -]/g,"").replace(/\s+/g,"-").replace(/-+/g,"-")},o=function(e,t,a,n){n=void 0!==n,a=void 0!==a?a:[{title:GDPR.i18n.ok,buttonClass:"gdpr-ok",callback:"closeNotification"}];var r=i()(window).scrollTop();i()(".gdpr-general-confirmation .gdpr-box-title h3").html(e),i()(".gdpr-general-confirmation .gdpr-content p").html(t),i()(".gdpr-general-confirmation .gdpr-close").show(),n&&i()(".gdpr-general-confirmation .gdpr-close").hide();var o="";a.forEach((function(e){o+='<button class="'+e.buttonClass+'" data-callback="'+e.callback+'">'+e.title+"</button>"})),i()(".gdpr-general-confirmation footer").html(o),i()(".gdpr-overlay").fadeIn(400,(function(){i()(".gdpr.gdpr-general-confirmation .gdpr-wrapper").css({display:"flex"}).hide().fadeIn(),i()("body").addClass("gdpr-noscroll").css("top",-r)}))},d={closeNotification:function(){var e=i()("body").css("top");i()(".gdpr-overlay").fadeOut(),i()("body").removeClass("gdpr-noscroll"),i()(window).scrollTop(Math.abs(parseInt(e,10))),i()(".gdpr.gdpr-general-confirmation .gdpr-wrapper").fadeOut()},addToDeletionConfirmed:function(){i()("form.gdpr-add-to-deletion-requests").addClass("confirmed"),i()('form.gdpr-add-to-deletion-requests.confirmed input[type="submit"]').click(),d.closeNotification()},policyDisagreeOk:function(){i()(".gdpr.gdpr-general-confirmation .gdpr-wrapper header .gdpr-box-title h3").html(GDPR.i18n.aborting),i()(".gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content p").html(GDPR.i18n.logging_out),i()(".gdpr.gdpr-general-confirmation .gdpr-wrapper footer button").hide(),window.location.href=GDPR.logouturl},policyDisagreeCancel:function(){i()(".gdpr.gdpr-general-confirmation .gdpr-wrapper").fadeOut(),i()(".gdpr.gdpr-reconsent .gdpr-wrapper").fadeIn()}}},,function(e,t,a){"use strict";a.r(t);var n=a(0),i=a.n(n),r=a(1);a(4);i()((function(){i()(document).on("click",".gdpr-settings-form .notice-dismiss",(function(){i()(this).parent().parent().remove()})),i()(document).on("click",".add-consent",(function(e){e.preventDefault();var t=i()("#type-of-consent");if(""!==t.val()){var a=Object(r.c)(t.val()),n=t.val(),o=wp.template("consents");i()("#consent-tabs").append(o({key:a,name:n,optionName:"gdpr_consent_types"})),t.val("")}})),i()("#consent-tabs, #gdpr-cookie-categories").sortable(),i()(document).on("click",".add-tab",(function(e){e.preventDefault();var t=i()("#cookie-tabs");if(""!==t.val()){var a=Object(r.c)(t.val()),n=t.val(),o=wp.template("cookie-tabs");i()("#gdpr-cookie-categories").append(o({key:a,name:n})),t.val("")}})),i()(document).on("click",".add-host",(function(e){e.preventDefault();var t=i()(this).siblings("input");if(""!==t.val()){var a=i()(this).data("tabid"),n=t.val().toLowerCase().replace(" ","-"),r=wp.template("cookie-tabs-hosts");i()('.tab-hosts[data-tabid="'+a+'"]').append(r({hostKey:n,tabKey:a,optionName:"gdpr_cookie_popup_content"})),t.val("")}})),i()(document).on("click","#tabs .notice-dismiss",(function(e){e.preventDefault(),i()(this).closest(".postbox").remove()})),i()(document).on("click",".gdpr-request-table .gdpr-review",(function(e){e.preventDefault();var t=i()(this).data("index");i()("tr[data-index="+t+"] div").slideToggle()})),i()(document).on("click",".gdpr .nav-tab-wrapper a",(function(e){var t=i()(this).attr("href");if(t=t.replace("#",""),i()(this).addClass("nav-tab-active"),i()(this).siblings().removeClass("nav-tab-active"),i()(".gdpr .gdpr-tab").addClass("hidden"),i()(".gdpr .gdpr-tab[data-id="+t+"]").removeClass("hidden"),-1!==location.search.indexOf("page=gdpr-settings")){var a=i()('.gdpr form input[name="_wp_http_referer"]'),n=a.val().split("#")[0];a.val(n+"#"+t)}}));var e=window.location.hash;if(e){if(i()('.gdpr .nav-tab-wrapper a[href="'+e+'"]').addClass("nav-tab-active"),i()('.gdpr .gdpr-tab[data-id="'+e.replace("#","")+'"]').removeClass("hidden"),-1!==location.search.indexOf("page=gdpr-settings")){var t=i()('.gdpr form input[name="_wp_http_referer"]'),a=t.val().split("#")[0];t.val(a+e)}}else i()(".gdpr .nav-tab-wrapper a:eq(0)").addClass("nav-tab-active"),i()(".gdpr .gdpr-tab:eq(0)").removeClass("hidden");i()(document).on("change",".gdpr-reassign",(function(){0!=i()(this).val()?(i()(this).closest("tr").find("td:last .button-primary").attr("disabled",!1),i()(this).closest("tr").find('td:last input[name="reassign_to"]').val(i()(this).val())):(i()(this).closest("tr").find("td:last .button-primary").attr("disabled",!0),i()(this).closest("tr").find('td:last input[name="reassign_to"]').val(""))})),i()(document).on("submit",".gdpr-reassign-content",(function(e){e.preventDefault();var t=i()(this).find('input[name="user_email"]').val(),a=i()(this).find('input[name="reassign_to"]').val(),n=i()(this).find('input[name="post_type"]').val(),r=i()(this).find('input[name="post_count"]').val(),o=i()(this).find('input[name="gdpr_reassign_content_nonce"]').val(),d=i()(this).find(".button-primary"),s=i()(this).find(".spinner"),p=i()(this).find("p.hidden");a&&(d.addClass("hidden"),s.addClass("is-active"),s.css("display","block"),i.a.post(ajaxurl,{action:"gdpr_reassign_content",userEmail:t,reassignTo:a,postType:n,postCount:r,nonce:o},(function(e){s.removeClass("is-active"),s.hide(),p.removeClass("hidden"),e.success||p.text(e.data)})))})),i()(document).on("submit",".gdpr-anonymize-comments",(function(e){e.preventDefault();var t=i()(this).find('input[name="user_email"]').val(),a=i()(this).find('input[name="comment_count"]').val(),n=i()(this).find('input[name="gdpr_anonymize_comments_nonce"]').val(),r=i()(this).find(".button-primary"),o=i()(this).find(".spinner"),d=i()(this).find("p.hidden");r.addClass("hidden"),o.addClass("is-active"),o.css("display","block"),i.a.post(ajaxurl,{action:"gdpr_anonymize_comments",userEmail:t,commentCount:a,nonce:n},(function(e){o.removeClass("is-active"),o.hide(),d.removeClass("hidden"),e.success||d.text(e.data)}))})),i()(document).on("submit",".gdpr-access-data-lookup",(function(e){e.preventDefault();var t=i()(this).find('input[name="user_email"]'),a=t.val(),n=i()(this).find('input[name="gdpr_access_data_nonce"]').val(),r=i()(this).find(".button-primary"),o=i()(this).find(".spinner"),d=i()(".gdpr-access-data-result");r.addClass("hidden"),o.show(),d.remove(),t.val(""),i.a.post(ajaxurl,{action:"gdpr_access_data",nonce:n,email:a},(function(e){if(r.removeClass("hidden"),o.hide(),e.success){var t=wp.template("access-data-result-success");i()('.gdpr div[data-id="access"]').append(t({result:e.data.result,userEmail:e.data.user_email}))}else{var a=wp.template("access-data-result-error");i()('.gdpr div[data-id="access"]').append(a())}}))})),i()(document).on("submit",".gdpr-audit-log-lookup",(function(e){e.preventDefault();var t=i()(this).find('input[name="user_email"]'),a=t.val(),n=i()(this).find('input[name="token"]'),r=n.val(),o=i()(this).find('input[name="gdpr_audit_log_nonce"]').val(),d=i()(this).find(".button-primary"),s=i()(this).find(".spinner"),p=i()(".gdpr-audit-log-result");d.addClass("hidden"),s.show(),p.remove(),t.val(""),n.val(""),i.a.post(ajaxurl,{action:"gdpr_audit_log",nonce:o,email:a,token:r},(function(e){if(d.removeClass("hidden"),s.hide(),e.success){var t=wp.template("audit-log-result-success");i()('.gdpr div[data-id="audit-log"]').append(t({result:e.data}))}else{var a=wp.template("audit-log-result-error");i()('.gdpr div[data-id="audit-log"]').append(a())}}))})),i()(document).on("click",'.frm-export-data input[type="submit"]',(function(e){e.preventDefault();var t=i()(this).parents("form"),a=i()(this).val(),n=t.find("#gdpr_export_data_nonce").val(),r=t.find('input[name="user_email"]').val(),o=a.toLowerCase();i.a.post(ajaxurl,{action:"gdpr_generate_data_export",nonce:n,type:a,email:r},(function(e){e.success&&i()("<a />",{href:"data:text/plain;charset=utf-8,"+encodeURIComponent(e.data),download:r+"."+o,text:"click"}).hide().appendTo("body")[0].click()}))})),i()(document).on("submit",".frm-policy-updated",(function(e){e.preventDefault();var t=i()(this).find('input[name="action"]').val(),a=i()(this).find('input[name="policy_id"]').val(),n=i()(this).find('input[name="policy_name"]').val(),r=i()(this).find('[id$="nonce"]').val(),o=i()(this).parent().find(".spinner"),d=i()(this);o.addClass("is-active"),i.a.post(ajaxurl,{action:t,nonce:r,policyId:a,policyName:n},(function(e){o.removeClass("is-active"),d.parent().fadeOut()}))}))}))},function(e,t,a){}]);
dist/js/public.js ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
1
+ !function(e){var r={};function n(t){if(r[t])return r[t].exports;var o=r[t]={i:t,l:!1,exports:{}};return e[t].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=r,n.d=function(e,r,t){n.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,r){if(1&r&&(e=n(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(n.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var o in e)n.d(t,o,function(r){return e[r]}.bind(null,o));return t},n.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(r,"a",r),r},n.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},n.p="",n(n.s=5)}([function(e,r){e.exports=jQuery},function(e,r,n){"use strict";n.d(r,"c",(function(){return a})),n.d(r,"a",(function(){return d})),n.d(r,"b",(function(){return p}));var t=n(0),o=n.n(t),a=function(e){e=(e=e.replace(/^\s+|\s+$/g,"")).toLowerCase();for(var r="àáäâèéëêìíïîòóöôùúüûñňçčľĺšťžýďąćęłńóśźż·/_,:;",n=0,t=r.length;n<t;n++)e=e.replace(new RegExp(r.charAt(n),"g"),"aaaaeeeeiiiioooouuuunnccllstzydacelnoszz------".charAt(n));return e=e.replace(/[^a-z0-9 -]/g,"").replace(/\s+/g,"-").replace(/-+/g,"-")},d=function(e,r,n,t){t=void 0!==t,n=void 0!==n?n:[{title:GDPR.i18n.ok,buttonClass:"gdpr-ok",callback:"closeNotification"}];var a=o()(window).scrollTop();o()(".gdpr-general-confirmation .gdpr-box-title h3").html(e),o()(".gdpr-general-confirmation .gdpr-content p").html(r),o()(".gdpr-general-confirmation .gdpr-close").show(),t&&o()(".gdpr-general-confirmation .gdpr-close").hide();var d="";n.forEach((function(e){d+='<button class="'+e.buttonClass+'" data-callback="'+e.callback+'">'+e.title+"</button>"})),o()(".gdpr-general-confirmation footer").html(d),o()(".gdpr-overlay").fadeIn(400,(function(){o()(".gdpr.gdpr-general-confirmation .gdpr-wrapper").css({display:"flex"}).hide().fadeIn(),o()("body").addClass("gdpr-noscroll").css("top",-a)}))},p={closeNotification:function(){var e=o()("body").css("top");o()(".gdpr-overlay").fadeOut(),o()("body").removeClass("gdpr-noscroll"),o()(window).scrollTop(Math.abs(parseInt(e,10))),o()(".gdpr.gdpr-general-confirmation .gdpr-wrapper").fadeOut()},addToDeletionConfirmed:function(){o()("form.gdpr-add-to-deletion-requests").addClass("confirmed"),o()('form.gdpr-add-to-deletion-requests.confirmed input[type="submit"]').click(),p.closeNotification()},policyDisagreeOk:function(){o()(".gdpr.gdpr-general-confirmation .gdpr-wrapper header .gdpr-box-title h3").html(GDPR.i18n.aborting),o()(".gdpr.gdpr-general-confirmation .gdpr-wrapper .gdpr-content p").html(GDPR.i18n.logging_out),o()(".gdpr.gdpr-general-confirmation .gdpr-wrapper footer button").hide(),window.location.href=GDPR.logouturl},policyDisagreeCancel:function(){o()(".gdpr.gdpr-general-confirmation .gdpr-wrapper").fadeOut(),o()(".gdpr.gdpr-reconsent .gdpr-wrapper").fadeIn()}}},function(e,r,n){var t,o;
2
+ /*!
3
+ * JavaScript Cookie v2.2.1
4
+ * https://github.com/js-cookie/js-cookie
5
+ *
6
+ * Copyright 2006, 2015 Klaus Hartl & Fagner Brack
7
+ * Released under the MIT license
8
+ */!function(a){if(void 0===(o="function"==typeof(t=a)?t.call(r,n,r,e):t)||(e.exports=o),!0,e.exports=a(),!!0){var d=window.Cookies,p=window.Cookies=a();p.noConflict=function(){return window.Cookies=d,p}}}((function(){function e(){for(var e=0,r={};e<arguments.length;e++){var n=arguments[e];for(var t in n)r[t]=n[t]}return r}function r(e){return e.replace(/(%[0-9A-Z]{2})+/g,decodeURIComponent)}return function n(t){function o(){}function a(r,n,a){if("undefined"!=typeof document){"number"==typeof(a=e({path:"/"},o.defaults,a)).expires&&(a.expires=new Date(1*new Date+864e5*a.expires)),a.expires=a.expires?a.expires.toUTCString():"";try{var d=JSON.stringify(n);/^[\{\[]/.test(d)&&(n=d)}catch(e){}n=t.write?t.write(n,r):encodeURIComponent(String(n)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),r=encodeURIComponent(String(r)).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent).replace(/[\(\)]/g,escape);var p="";for(var c in a)a[c]&&(p+="; "+c,!0!==a[c]&&(p+="="+a[c].split(";")[0]));return document.cookie=r+"="+n+p}}function d(e,n){if("undefined"!=typeof document){for(var o={},a=document.cookie?document.cookie.split("; "):[],d=0;d<a.length;d++){var p=a[d].split("="),c=p.slice(1).join("=");n||'"'!==c.charAt(0)||(c=c.slice(1,-1));try{var i=r(p[0]);if(c=(t.read||t)(c,i)||r(c),n)try{c=JSON.parse(c)}catch(e){}if(o[i]=c,e===i)break}catch(e){}}return e?o[e]:o}}return o.set=a,o.get=function(e){return d(e,!1)},o.getJSON=function(e){return d(e,!0)},o.remove=function(r,n){a(r,"",e(n,{expires:-1}))},o.defaults={},o.withConverter=n,o}((function(){}))}))},,,function(e,r,n){"use strict";n.r(r);var t=n(0),o=n.n(t),a=n(2),d=n.n(a),p=n(1),c=(n(6),location.search),i=location.protocol+"//"+location.host+location.pathname;window.has_consent=function(e){if(d.a.get("gdpr[consent_types]")&&-1<JSON.parse(d.a.get("gdpr[consent_types]")).indexOf(e))return!0;return!1},window.is_allowed_cookie=function(e){if(d.a.get("gdpr[allowed_cookies]")&&-1<JSON.parse(d.a.get("gdpr[allowed_cookies]")).indexOf(e))return!0;return!1},o()((function(){if(-1!==c.indexOf("notify=1")&&(window.history.replaceState({},document.title,i),o()("body").addClass("gdpr-notification")),o()(document).on("click",".gdpr.gdpr-general-confirmation button",(function(e){var r=o()(this).data("callback");p.b[r]()})),o()(document).on("submit",".gdpr-privacy-preferences-frm",(function(e){e.preventDefault();o()(this);var r=o()(this).serialize();o.a.post(GDPR.ajaxurl,r,(function(e){if(e.success)if(d.a.set("gdpr[privacy_bar]",1,{expires:365}),GDPR.refresh)window.location.reload();else{var r=o()("body").css("top");o()(".gdpr-overlay").fadeOut(),o()("body").removeClass("gdpr-noscroll"),o()(window).scrollTop(Math.abs(parseInt(r,10))),o()(".gdpr.gdpr-privacy-preferences .gdpr-wrapper").fadeOut(),o()(".gdpr-privacy-bar").fadeOut()}else Object(p.a)(e.data.title,e.data.content)}))})),o()(document).on("submit",".gdpr-request-form",(function(e){if(e.preventDefault(),o()(this).hasClass("confirmed")){var r=o()(this).serialize();o.a.post(GDPR.ajaxurl,r,(function(e){Object(p.a)(e.data.title,e.data.content)}))}})),o()(document).on("change",".gdpr-cookie-category",(function(){var e=o()(this).data("category"),r=o()(this).prop("checked");o()('[data-category="'+e+'"]').prop("checked",r)})),d.a.get("gdpr[privacy_bar]")||0==o()(".gdpr-reconsent-bar, .gdpr-reconsent").length&&o()(".gdpr.gdpr-privacy-bar").delay(1e3).slideDown(600),0<o()(".gdpr-reconsent-bar").length&&o()(".gdpr.gdpr-reconsent-bar").delay(1e3).slideDown(600),0<o()(".gdpr-reconsent").length&&o()(".gdpr-overlay").fadeIn(400,(function(){o()(".gdpr.gdpr-reconsent .gdpr-wrapper").fadeIn(),o()("body").addClass("gdpr-noscroll").delay(1e3)})),o()(document).on("click",".gdpr.gdpr-privacy-bar .gdpr-agreement",(function(){o()(".gdpr-privacy-preferences-frm").submit()})),o()(document).on("click",".gdpr.gdpr-reconsent-bar .gdpr-agreement",(function(){var e=[];o()('.gdpr-policy-list input[type="hidden"]').each((function(){e.push(o()(this).val())}));var r=o()(this).data("nonce");o.a.post(GDPR.ajaxurl,{action:"agree_with_new_policies",nonce:r,consents:e},(function(e){e.success?GDPR.refresh?window.location.reload():(o()(".gdpr-reconsent-bar").slideUp(600),d.a.get("gdpr[privacy_bar]")||o()(".gdpr.gdpr-privacy-bar").delay(1e3).slideDown(600)):Object(p.a)(e.data.title,e.data.content)}))})),o()(document).on("submit",".gdpr-reconsent-frm",(function(e){e.preventDefault();var r=[],n=o()(this).find("#agree-with-new-policies-nonce").val();o()(this).find('[name="gdpr-updated-policy"]').each((function(){r.push(o()(this).val())})),o.a.post(GDPR.ajaxurl,{action:"agree_with_new_policies",nonce:n,consents:r},(function(e){if(e.success)if(GDPR.refresh)window.location.reload();else{var r=o()("body").css("top");o()(".gdpr-overlay").fadeOut(),o()("body").removeClass("gdpr-noscroll"),o()(window).scrollTop(Math.abs(parseInt(r,10))),o()(".gdpr.gdpr-reconsent .gdpr-wrapper").fadeOut(),d.a.get("gdpr[privacy_bar]")||o()(".gdpr.gdpr-privacy-bar").delay(1e3).slideDown(600)}else Object(p.a)(e.data.title,e.data.content)}))})),o()(document).on("click",".gdpr.gdpr-privacy-bar .gdpr-close, .gdpr.gdpr-reconsent-bar .gdpr-close",(function(){var e=o()("body").css("top");o()(".gdpr-overlay").fadeOut(),o()("body").removeClass("gdpr-noscroll"),o()(window).scrollTop(Math.abs(parseInt(e,10))),o()(".gdpr.gdpr-privacy-bar, .gdpr.gdpr-reconsent-bar").slideUp(600)})),o()(document).on("click",".gdpr.gdpr-general-confirmation .gdpr-close",(function(){o()(".gdpr-overlay").fadeOut(),o()("body").removeClass("gdpr-noscroll"),o()(".gdpr.gdpr-general-confirmation .gdpr-wrapper").fadeOut()})),o()(document).on("click",".gdpr-preferences",(function(e){e.preventDefault();var r=o()(window).scrollTop(),n=o()(this).data("tab");o()(".gdpr-overlay").fadeIn(),o()("body").addClass("gdpr-noscroll").css("top",-r),o()(".gdpr.gdpr-privacy-preferences .gdpr-wrapper").fadeIn(),n&&o()('.gdpr.gdpr-privacy-preferences .gdpr-wrapper .gdpr-tabs [data-target="'+n+'"]').click()})),o()(document).on("click",".gdpr.gdpr-privacy-preferences .gdpr-close",(function(e){e.preventDefault();var r=o()("body").css("top");o()(".gdpr-reconsent .gdpr-wrapper").is(":visible")||(o()(".gdpr-overlay").fadeOut(),o()("body").removeClass("gdpr-noscroll"),o()(window).scrollTop(Math.abs(parseInt(r,10)))),o()(".gdpr.gdpr-privacy-preferences .gdpr-wrapper").fadeOut()})),o()(document).on("click",".gdpr.gdpr-privacy-preferences .gdpr-tabs button, .gdpr.gdpr-reconsent .gdpr-tabs button",(function(){var e="."+o()(this).data("target");o()(".gdpr.gdpr-privacy-preferences .gdpr-tab-content > div, .gdpr.gdpr-reconsent .gdpr-tab-content > div").removeClass("gdpr-active"),o()(".gdpr.gdpr-privacy-preferences .gdpr-tab-content "+e+", .gdpr.gdpr-reconsent .gdpr-tab-content "+e).addClass("gdpr-active"),o()(".gdpr.gdpr-privacy-preferences .gdpr-tabs, .gdpr.gdpr-reconsent .gdpr-tabs").hasClass("gdpr-mobile-expanded")&&(o()(".gdpr.gdpr-privacy-preferences .gdpr-mobile-menu button, .gdpr.gdpr-reconsent .gdpr-mobile-menu button").removeClass("gdpr-active"),o()(".gdpr.gdpr-privacy-preferences .gdpr-tabs, .gdpr.gdpr-reconsent .gdpr-tabs").toggle()),o()(".gdpr.gdpr-privacy-preferences .gdpr-tabs button, .gdpr.gdpr-reconsent .gdpr-tabs button").removeClass("gdpr-active"),o()(".gdpr-subtabs li button").removeClass("gdpr-active"),o()(this).hasClass("gdpr-tab-button")?(o()(this).addClass("gdpr-active"),o()(this).hasClass("gdpr-cookie-settings")&&o()(".gdpr-subtabs").find("li button").first().addClass("gdpr-active")):(o()(".gdpr-cookie-settings").addClass("gdpr-active"),o()(this).addClass("gdpr-active"))})),o()(document).on("click",".gdpr.gdpr-privacy-preferences .gdpr-mobile-menu button, .gdpr.gdpr-reconsent .gdpr-mobile-menu button",(function(e){o()(this).toggleClass("gdpr-active"),o()(".gdpr.gdpr-privacy-preferences .gdpr-tabs, .gdpr.gdpr-reconsent .gdpr-tabs").toggle().addClass("gdpr-mobile-expanded")})),o()(window).resize((function(){640<o()(window).width()&&o()(".gdpr.gdpr-privacy-preferences .gdpr-tabs, .gdpr.gdpr-reconsent .gdpr-tabs").hasClass("gdpr-mobile-expanded")&&(o()(".gdpr.gdpr-privacy-preferences .gdpr-mobile-menu button, .gdpr.gdpr-reconsent .gdpr-mobile-menu button").removeClass("gdpr-active"),o()(".gdpr.gdpr-privacy-preferences .gdpr-tabs, .gdpr.gdpr-reconsent .gdpr-tabs").removeClass("gdpr-mobile-expanded").removeAttr("style"))})),o()("form.gdpr-add-to-deletion-requests").on("submit",(function(e){if(!o()(this).hasClass("confirmed")){e.preventDefault();var r=[{title:GDPR.i18n.ok,buttonClass:"gdpr-ok",callback:"addToDeletionConfirmed"},{title:GDPR.i18n.cancel,buttonClass:"gdpr-cancel",callback:"closeNotification"}];Object(p.a)(GDPR.i18n.close_account,GDPR.i18n.close_account_warning,r)}})),o()("body").hasClass("gdpr-notification")){var e=o()(window).scrollTop();o()(".gdpr-overlay").fadeIn(400,(function(){o()(".gdpr.gdpr-general-confirmation .gdpr-wrapper").css({display:"flex"}).hide().fadeIn(),o()("body").addClass("gdpr-noscroll").css("top",-e)}))}o()(document).on("click",".gdpr-disagree a",(function(e){o()(".gdpr.gdpr-reconsent .gdpr-wrapper").fadeOut();var r=[{title:GDPR.i18n.ok,buttonClass:"gdpr-ok",callback:"policyDisagreeOk"},{title:GDPR.i18n.cancel,buttonClass:"gdpr-cancel",callback:"policyDisagreeCancel"}];Object(p.a)(GDPR.i18n.are_you_sure,GDPR.i18n.policy_disagree,r,!0)}))}))},function(e,r,n){}]);
gdpr.php CHANGED
@@ -16,11 +16,11 @@
16
  * Plugin Name: GDPR
17
  * Plugin URI: https://trewknowledge.com
18
  * Description: This plugin is meant to assist a Controller, Data Processor, and Data Protection Officer (DPO) with efforts to meet the obligations and rights enacted under the GDPR.
19
- * Version: 2.1.0
20
  * Author: Trew Knowledge
21
  * Author URI: https://trewknowledge.com
22
  * License: GPL-2.0+
23
- * License URI: http://www.gnu.org/licenses/gpl-2.0.txt
24
  * Text Domain: gdpr
25
  * Domain Path: /languages
26
  */
@@ -35,7 +35,7 @@ if ( ! defined( 'WPINC' ) ) {
35
  * Start at version 1.0.0 and use SemVer - https://semver.org
36
  * Rename this for your plugin and update it as you release new versions.
37
  */
38
- define( 'GDPR_VERSION', '2.1.0' );
39
 
40
  /**
41
  * The minimum PHP version required to run the plugin.
16
  * Plugin Name: GDPR
17
  * Plugin URI: https://trewknowledge.com
18
  * Description: This plugin is meant to assist a Controller, Data Processor, and Data Protection Officer (DPO) with efforts to meet the obligations and rights enacted under the GDPR.
19
+ * Version: 2.1.1
20
  * Author: Trew Knowledge
21
  * Author URI: https://trewknowledge.com
22
  * License: GPL-2.0+
23
+ * License URI: https://www.gnu.org/licenses/gpl-2.0.txt
24
  * Text Domain: gdpr
25
  * Domain Path: /languages
26
  */
35
  * Start at version 1.0.0 and use SemVer - https://semver.org
36
  * Rename this for your plugin and update it as you release new versions.
37
  */
38
+ define( 'GDPR_VERSION', '2.1.1' );
39
 
40
  /**
41
  * The minimum PHP version required to run the plugin.
gulpfile.js ADDED
@@ -0,0 +1,100 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ var gulp = require('gulp');
2
+ var uglify = require('gulp-uglify-es').default;
3
+ var $ = require('gulp-load-plugins')();
4
+
5
+ var paths = {
6
+ src: {
7
+ php: './**/*.php',
8
+ admin: {
9
+ js: './src/js/admin/*.js',
10
+ css: './src/css/admin/*.scss'
11
+ },
12
+ public: {
13
+ js: './src/js/public/*.js',
14
+ css: './src/css/public/*.scss'
15
+ }
16
+ },
17
+ dest: {
18
+ css: './assets/css/',
19
+ js: './assets/js/',
20
+ pot: './languages/'
21
+ }
22
+ };
23
+
24
+ function errorLog(error) {
25
+ console.log(error.message);
26
+ this.emit('end');
27
+ }
28
+
29
+ gulp.task('pot', function() {
30
+ return gulp.src( paths.src.php )
31
+ .pipe( $.wpPot( {
32
+ domain: 'gdpr'
33
+ } ) )
34
+ .pipe( gulp.dest( paths.dest.pot + 'gdpr.pot' ) );
35
+ });
36
+
37
+ gulp.task('admin-css', function() {
38
+ return gulp.src( paths.src.admin.css )
39
+ .pipe( $.sass( {
40
+ outputStyle: 'compressed'
41
+ } ) )
42
+ .on('error', errorLog)
43
+ .pipe( $.autoprefixer( 'last 4 versions' ) )
44
+ .pipe( $.rename( 'gdpr-admin.css' ) )
45
+ .pipe( gulp.dest( paths.dest.css ) )
46
+ .pipe( $.livereload() )
47
+ .pipe( $.notify( {
48
+ message: 'Admin SASS style task complete'
49
+ } ) );
50
+ });
51
+
52
+ gulp.task('public-css', function() {
53
+ return gulp.src( paths.src.public.css )
54
+ .pipe( $.sass( {
55
+ outputStyle: 'compressed'
56
+ } ) )
57
+ .on('error', errorLog)
58
+ .pipe( $.autoprefixer( 'last 4 versions' ) )
59
+ .pipe( $.rename( 'gdpr-public.css' ) )
60
+ .pipe( gulp.dest( paths.dest.css ) )
61
+ .pipe( $.livereload() )
62
+ .pipe( $.notify( {
63
+ message: 'Admin SASS style task complete'
64
+ } ) );
65
+ });
66
+
67
+ gulp.task('admin-js', function() {
68
+ return gulp.src( paths.src.admin.js )
69
+ .pipe( $.concat( 'gdpr-admin.js' ) )
70
+ .pipe( uglify() )
71
+ .on('error', errorLog)
72
+ .pipe( gulp.dest( paths.dest.js ) )
73
+ .pipe($.livereload())
74
+ .pipe( $.notify( {
75
+ message: 'Admin JS script task complete'
76
+ } ) );
77
+ });
78
+
79
+ gulp.task('public-js', function() {
80
+ return gulp.src( paths.src.public.js )
81
+ .pipe( $.concat( 'gdpr-public.js' ) )
82
+ .pipe( uglify() )
83
+ .on('error', errorLog)
84
+ .pipe( gulp.dest( paths.dest.js ) )
85
+ .pipe($.livereload())
86
+ .pipe( $.notify( {
87
+ message: 'Public JS script task complete'
88
+ } ) );
89
+ });
90
+
91
+ gulp.task('watch', function(){
92
+ $.livereload.listen();
93
+ gulp.watch( paths.src.php, $.livereload.reload);
94
+ gulp.watch( paths.src.admin.css, ['admin-css']);
95
+ gulp.watch( paths.src.public.css, ['public-css']);
96
+ gulp.watch( paths.src.admin.js, ['admin-js']);
97
+ gulp.watch( paths.src.public.js, ['public-js']);
98
+ });
99
+
100
+ gulp.task('default', ['admin-css', 'public-css', 'admin-js', 'public-js', 'pot', 'watch']);
includes/class-gdpr-activator.php CHANGED
@@ -25,19 +25,18 @@ class GDPR_Activator {
25
 
26
  /**
27
  * Runs when the user first activates the plugin.
28
- * Sets a CRON jo to clean up the telemetry post type every 12 hours.
29
  *
30
  * @since 1.0.0
31
  * @static
32
  * @author Fernando Claussen <fernandoclaussen@gmail.com>
33
  */
34
  public static function activate() {
35
- if( -1 === version_compare( phpversion(), GDPR_REQUIRED_PHP_VERSION ) ) {
36
- die(sprintf( esc_html__( 'Your current PHP version (%1$s) is below the plugin required version of %2$s.', 'gdpr' ), phpversion(), GDPR_REQUIRED_PHP_VERSION ));
 
37
  }
38
 
39
  add_option( 'gdpr_disable_css', false );
40
- add_option( 'gdpr_enable_telemetry_tracker', false );
41
  add_option( 'gdpr_use_recaptcha', false );
42
  add_option( 'gdpr_recaptcha_site_key', '' );
43
  add_option( 'gdpr_recaptcha_secret_key', '' );
25
 
26
  /**
27
  * Runs when the user first activates the plugin.
 
28
  *
29
  * @since 1.0.0
30
  * @static
31
  * @author Fernando Claussen <fernandoclaussen@gmail.com>
32
  */
33
  public static function activate() {
34
+ if ( -1 === version_compare( phpversion(), GDPR_REQUIRED_PHP_VERSION ) ) {
35
+ /* translators: 1: Current PHP version 2: Required PHP version. */
36
+ die( sprintf( esc_html__( 'Your current PHP version (%1$s) is below the plugin required version of %2$s.', 'gdpr' ), esc_html( phpversion() ), esc_html( GDPR_REQUIRED_PHP_VERSION ) ) );
37
  }
38
 
39
  add_option( 'gdpr_disable_css', false );
 
40
  add_option( 'gdpr_use_recaptcha', false );
41
  add_option( 'gdpr_recaptcha_site_key', '' );
42
  add_option( 'gdpr_recaptcha_secret_key', '' );
includes/class-gdpr-audit-log.php CHANGED
@@ -6,7 +6,7 @@
6
  * A class definition that includes attributes and functions used across both the
7
  * public-facing side of the site and the admin area.
8
  *
9
- * @link http://trewknowledge.com
10
  * @since 1.0.0
11
  *
12
  * @package GDPR
@@ -70,7 +70,11 @@ class GDPR_Audit_Log {
70
  $user = get_user_by( 'ID', $user_id );
71
  $date = '[' . date( 'Y/m/d H:i:s' ) . '] ';
72
  $encrypted = self::crypt( $user->user_email, $date . $input );
73
- add_user_meta( $user_id, 'gdpr_audit_log', $encrypted );
 
 
 
 
74
  }
75
 
76
  /**
@@ -86,7 +90,11 @@ class GDPR_Audit_Log {
86
  // Try getting an existing user
87
  $user = get_user_by( 'email', $email );
88
  if ( $user instanceof WP_User ) {
89
- $user_log = get_user_meta( $user->ID, 'gdpr_audit_log', false );
 
 
 
 
90
  ob_start();
91
  foreach ( $user_log as $log ) {
92
  echo esc_html( self::decrypt( $email, $log ) ) . "\n";
6
  * A class definition that includes attributes and functions used across both the
7
  * public-facing side of the site and the admin area.
8
  *
9
+ * @link https://trewknowledge.com
10
  * @since 1.0.0
11
  *
12
  * @package GDPR
70
  $user = get_user_by( 'ID', $user_id );
71
  $date = '[' . date( 'Y/m/d H:i:s' ) . '] ';
72
  $encrypted = self::crypt( $user->user_email, $date . $input );
73
+ if ( defined( 'WPCOM_IS_VIP_ENV' ) && WPCOM_IS_VIP_ENV ) {
74
+ add_user_attribute( $user_id, 'gdpr_audit_log', $encrypted );
75
+ } else {
76
+ add_user_meta( $user_id, 'gdpr_audit_log', $encrypted );
77
+ }
78
  }
79
 
80
  /**
90
  // Try getting an existing user
91
  $user = get_user_by( 'email', $email );
92
  if ( $user instanceof WP_User ) {
93
+ if ( defined( 'WPCOM_IS_VIP_ENV' ) && WPCOM_IS_VIP_ENV ) {
94
+ $user_log = get_user_attribute( $user->ID, 'gdpr_audit_log', false );
95
+ } else {
96
+ $user_log = get_user_meta( $user->ID, 'gdpr_audit_log', false );
97
+ }
98
  ob_start();
99
  foreach ( $user_log as $log ) {
100
  echo esc_html( self::decrypt( $email, $log ) ) . "\n";
includes/class-gdpr-deactivator.php CHANGED
@@ -25,14 +25,12 @@ class GDPR_Deactivator {
25
 
26
  /**
27
  * Runs when the user deactivates the plugin.
28
- * Clears the CRON job that deletes telemetry posts every 12 hours.
29
  *
30
  * @since 1.0.0
31
  * @static
32
  * @author Fernando Claussen <fernandoclaussen@gmail.com>
33
  */
34
  public static function deactivate() {
35
- wp_clear_scheduled_hook( 'telemetry_cleanup' );
36
  }
37
 
38
  }
25
 
26
  /**
27
  * Runs when the user deactivates the plugin.
 
28
  *
29
  * @since 1.0.0
30
  * @static
31
  * @author Fernando Claussen <fernandoclaussen@gmail.com>
32
  */
33
  public static function deactivate() {
 
34
  }
35
 
36
  }
includes/class-gdpr-email.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * This file handle emailing users.
4
  *
5
- * @link http://trewknowledge.com
6
  * @since 1.0.0
7
  *
8
  * @package GDPR
@@ -10,6 +10,8 @@
10
  * @author Fernando Claussen <fernandoclaussen@gmail.com>
11
  */
12
 
 
 
13
  /**
14
  * Handles emailing users.
15
  *
@@ -19,63 +21,6 @@
19
  * @author Fernando Claussen <fernandoclaussen@gmail.com>
20
  */
21
  class GDPR_Email {
22
- /**
23
- * Locate template.
24
- *
25
- * Locate the called template.
26
- * Search Order:
27
- * 1. /themes/theme/gdpr/templates/email/$template_name
28
- * 2. /plugins/gdpr/templates/$template_name.
29
- *
30
- * @since 1.0.0
31
- * @author Fernando Claussen <fernandoclaussen@gmail.com>
32
- * @access private
33
- * @static
34
- * @param string $template_name Template to load.
35
- * @return string Path to the template file.
36
- */
37
- private static function locate_template( $template_name ) {
38
- // Set variable to search in gdpr folder of theme.
39
- $theme_path = 'gdpr/email/';
40
-
41
- // Set default plugin templates path.
42
- $plugin_path = plugin_dir_path( dirname( __FILE__ ) ) . 'templates/email/'; // Path to the template folder
43
-
44
- // Search template file in theme folder.
45
- $template = locate_template(
46
- array(
47
- $theme_path . $template_name,
48
- )
49
- );
50
-
51
- // Get plugins template file.
52
- if ( ! $template ) {
53
- $template = $plugin_path . $template_name;
54
- }
55
- return $template;
56
- }
57
-
58
- /**
59
- * Get template.
60
- *
61
- * Search for the template and include the file.
62
- *
63
- * @since 1.0.0
64
- * @author Fernando Claussen <fernandoclaussen@gmail.com>
65
- * @access private
66
- * @static
67
- * @param string $template_name Template to load.
68
- * @param array $args Arguments passed to the template file.
69
- */
70
- private static function get_template( $template_name, $args = array() ) {
71
- $template_file = self::locate_template( $template_name );
72
-
73
- if ( ! file_exists( $template_file ) ) {
74
- return;
75
- }
76
- include $template_file;
77
- }
78
-
79
  /**
80
  * Get the email content from the correct file.
81
  * @since 1.0.0
@@ -87,7 +32,7 @@ class GDPR_Email {
87
  */
88
  public static function get_email_content( $template_name, $args = array() ) {
89
  ob_start();
90
- self::get_template( $template_name, $args );
91
  return ob_get_clean();
92
  }
93
 
@@ -224,7 +169,7 @@ class GDPR_Email {
224
  $headers[] = 'Bcc: ' . sanitize_email( $email );
225
  }
226
 
227
- $content = self::get_email_content( $type . '.php', $args );
228
 
229
  return wp_mail(
230
  $no_reply,
2
  /**
3
  * This file handle emailing users.
4
  *
5
+ * @link https://trewknowledge.com
6
  * @since 1.0.0
7
  *
8
  * @package GDPR
10
  * @author Fernando Claussen <fernandoclaussen@gmail.com>
11
  */
12
 
13
+ require_once plugin_dir_path( dirname( __FILE__ ) ) . 'includes/class-gdpr-templates.php';
14
+
15
  /**
16
  * Handles emailing users.
17
  *
21
  * @author Fernando Claussen <fernandoclaussen@gmail.com>
22
  */
23
  class GDPR_Email {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
24
  /**
25
  * Get the email content from the correct file.
26
  * @since 1.0.0
32
  */
33
  public static function get_email_content( $template_name, $args = array() ) {
34
  ob_start();
35
+ GDPR_Templates::get_template( $template_name, $args );
36
  return ob_get_clean();
37
  }
38
 
169
  $headers[] = 'Bcc: ' . sanitize_email( $email );
170
  }
171
 
172
+ $content = self::get_email_content( 'email/' . $type . '.php', $args );
173
 
174
  return wp_mail(
175
  $no_reply,
includes/class-gdpr-help.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * This file is responsible for adding help sections to the plugin pages.
4
  *
5
- * @link http://trewknowledge.com
6
  * @since 0.1.0
7
  *
8
  * @package GDPR
@@ -186,29 +186,4 @@ class GDPR_Help {
186
  )
187
  );
188
  }
189
-
190
- /**
191
- * Add the telemetry page help tabs.
192
- * @since 1.0.0
193
- * @author Fernando Claussen <fernandoclaussen@gmail.com>
194
- * @static
195
- */
196
- public static function add_telemetry_help() {
197
- if ( 'edit-telemetry' !== get_current_screen()->id ) {
198
- return;
199
- }
200
-
201
- $telemetry_help = '<h2>' . esc_html__( 'Overview', 'gdpr' ) . '</h2>' .
202
- '<p>' . esc_html__( 'This is all data that are being sent outside of your site. WordPress send some data to it\'s servers to be able to do automatic updates. You can reduce the amount of data being sent using filters.', 'gdpr' ) . '</p>' .
203
- '<p>' . esc_html__( 'Some plugins also capture data and send it to their servers. Such practice is not allowed for plugins hosted on wordpress.org plugin repository. In case this is a Premium plugin, you should have been given the option to choose which type of data you want to send.', 'gdpr' ) . '</p>' .
204
- '<p>' . esc_html__( 'Use this tool to identify plugins or themes sending potential personal data outside of your server and take action if necessary.', 'gdpr' ) . '</p>' .
205
- '<p>' . esc_html__( 'All information on this page is automatically deleted every 12 hours so this doesn\'t grow too large and slow your site.' ) . '</p>';
206
- get_current_screen()->add_help_tab(
207
- array(
208
- 'id' => 'overview',
209
- 'title' => esc_html__( 'Overview', 'gdpr' ),
210
- 'content' => $telemetry_help,
211
- )
212
- );
213
- }
214
  }
2
  /**
3
  * This file is responsible for adding help sections to the plugin pages.
4
  *
5
+ * @link https://trewknowledge.com
6
  * @since 0.1.0
7
  *
8
  * @package GDPR
186
  )
187
  );
188
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
189
  }
includes/class-gdpr-requests.php CHANGED
@@ -96,7 +96,11 @@ class GDPR_Requests {
96
 
97
  $post_types = get_post_types( array( 'public' => true ) );
98
  foreach ( $post_types as $pt ) {
99
- $post_count = count_user_posts( $user->ID, $pt );
 
 
 
 
100
  if ( $post_count > 0 ) {
101
  return true;
102
  }
@@ -167,7 +171,11 @@ class GDPR_Requests {
167
  if ( $user instanceof WP_User ) {
168
  $meta_key = self::$plugin_name . "_{$type}_key";
169
  update_option( 'gdpr_requests', $requests );
170
- delete_user_meta( $user->ID, $meta_key );
 
 
 
 
171
  $time = wp_next_scheduled(
172
  'clean_gdpr_user_request_key', array(
173
  'user_id' => $user->ID,
@@ -217,10 +225,18 @@ class GDPR_Requests {
217
  $user_id = (int) $user_id;
218
  $meta_key = sanitize_text_field( $meta_key );
219
 
220
- $meta = get_user_meta( $user_id, $meta_key, true );
 
 
 
 
221
 
222
  if ( $meta ) {
223
- delete_user_meta( $user_id, $meta_key );
 
 
 
 
224
  }
225
 
226
  /* translators: Name of the usermeta */
@@ -263,7 +279,11 @@ class GDPR_Requests {
263
  $user = get_user_by( 'email', $email );
264
  if ( $user instanceof WP_User ) {
265
  $meta_key = self::$plugin_name . '_' . $type . '_key';
266
- update_user_meta( $user->ID, $meta_key, $key );
 
 
 
 
267
  $time = wp_next_scheduled(
268
  'clean_gdpr_user_request_key', array(
269
  'user_id' => $user->ID,
96
 
97
  $post_types = get_post_types( array( 'public' => true ) );
98
  foreach ( $post_types as $pt ) {
99
+ if ( defined( 'WPCOM_IS_VIP_ENV' ) && WPCOM_IS_VIP_ENV ) {
100
+ $post_count = wpcom_vip_count_user_posts( $user->ID, $pt );
101
+ } else {
102
+ $post_count = count_user_posts( $user->ID, $pt );
103
+ }
104
  if ( $post_count > 0 ) {
105
  return true;
106
  }
171
  if ( $user instanceof WP_User ) {
172
  $meta_key = self::$plugin_name . "_{$type}_key";
173
  update_option( 'gdpr_requests', $requests );
174
+ if ( defined( 'WPCOM_IS_VIP_ENV' ) && WPCOM_IS_VIP_ENV ) {
175
+ delete_user_attribute( $user->ID, $meta_key );
176
+ } else {
177
+ delete_user_meta( $user->ID, $meta_key );
178
+ }
179
  $time = wp_next_scheduled(
180
  'clean_gdpr_user_request_key', array(
181
  'user_id' => $user->ID,
225
  $user_id = (int) $user_id;
226
  $meta_key = sanitize_text_field( $meta_key );
227
 
228
+ if ( defined( 'WPCOM_IS_VIP_ENV' ) && WPCOM_IS_VIP_ENV ) {
229
+ $meta = get_user_attribute( $user_id, $meta_key, true );
230
+ } else {
231
+ $meta = get_user_meta( $user_id, $meta_key, true );
232
+ }
233
 
234
  if ( $meta ) {
235
+ if ( defined( 'WPCOM_IS_VIP_ENV' ) && WPCOM_IS_VIP_ENV ) {
236
+ delete_user_attribute( $user_id, $meta_key );
237
+ } else {
238
+ delete_user_meta( $user_id, $meta_key );
239
+ }
240
  }
241
 
242
  /* translators: Name of the usermeta */
279
  $user = get_user_by( 'email', $email );
280
  if ( $user instanceof WP_User ) {
281
  $meta_key = self::$plugin_name . '_' . $type . '_key';
282
+ if ( defined( 'WPCOM_IS_VIP_ENV' ) && WPCOM_IS_VIP_ENV ) {
283
+ update_user_attribute( $user->ID, $meta_key, $key );
284
+ } else {
285
+ update_user_meta( $user->ID, $meta_key, $key );
286
+ }
287
  $time = wp_next_scheduled(
288
  'clean_gdpr_user_request_key', array(
289
  'user_id' => $user->ID,
includes/class-gdpr-templates.php ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+
4
+ class GDPR_Templates {
5
+ /**
6
+ * Locate template.
7
+ *
8
+ * Locate the called template.
9
+ * Search Order:
10
+ * 1. /themes/theme/gdpr/{folder}/$template_name.
11
+ * 2. /plugins/gdpr/templates/{folder}/$template_name.
12
+ *
13
+ * @since 1.0.0
14
+ * @author Fernando Claussen <fernandoclaussen@gmail.com>
15
+ * @access private
16
+ * @static
17
+ * @param string $template_name Template to load.
18
+ * @return string Path to the template file.
19
+ */
20
+ private static function locate_template( $template_name ) {
21
+ // Set variable to search in gdpr folder of theme.
22
+ $theme_path = 'gdpr/';
23
+
24
+ // Set default plugin templates path.
25
+ $plugin_path = plugin_dir_path( dirname( __FILE__ ) ) . 'templates/'; // Path to the template folder
26
+
27
+ // Search template file in theme folder.
28
+ $template = locate_template(
29
+ array(
30
+ $theme_path . $template_name,
31
+ )
32
+ );
33
+
34
+ // Get plugins template file.
35
+ if ( ! $template ) {
36
+ $template = $plugin_path . $template_name;
37
+ }
38
+ return $template;
39
+ }
40
+
41
+ /**
42
+ * Get template.
43
+ *
44
+ * Search for the template and include the file.
45
+ *
46
+ * @since 1.0.0
47
+ * @author Fernando Claussen <fernandoclaussen@gmail.com>
48
+ * @access private
49
+ * @static
50
+ * @param string $template_name Template to load.
51
+ * @param array $args Arguments passed to the template file.
52
+ */
53
+ public static function get_template( $template_name, $args = array() ) {
54
+ $template_file = self::locate_template( $template_name );
55
+
56
+ if ( ! file_exists( $template_file ) ) {
57
+ return;
58
+ }
59
+ include $template_file;
60
+ }
61
+
62
+ }
includes/class-gdpr.php CHANGED
@@ -96,11 +96,6 @@ class GDPR {
96
  */
97
  require_once plugin_dir_path( dirname( __FILE__ ) ) . 'includes/class-gdpr-audit-log.php';
98
 
99
- /**
100
- * The class responsible for defining the telemetry post type.
101
- */
102
- require_once plugin_dir_path( dirname( __FILE__ ) ) . 'admin/class-gdpr-telemetry.php';
103
-
104
  /**
105
  * The class responsible for defining the requests section of the plugin.
106
  */
@@ -131,6 +126,10 @@ class GDPR {
131
  * side of the site.
132
  */
133
  require_once plugin_dir_path( dirname( __FILE__ ) ) . 'public/class-gdpr-public.php';
 
 
 
 
134
 
135
  }
136
 
@@ -171,7 +170,6 @@ class GDPR {
171
 
172
  $plugin_admin = new GDPR_Admin( $this->get_plugin_name(), $this->get_version() );
173
  $requests_admin = new GDPR_Requests_Admin( $this->get_plugin_name(), $this->get_version() );
174
- $telemetry = new GDPR_Telemetry( $this->get_plugin_name(), $this->get_version() );
175
  $requests = new GDPR_Requests( $this->get_plugin_name(), $this->get_version() );
176
  $plugin_emails = new GDPR_Email();
177
  $woo_add_to_registration = get_option( 'gdpr_add_consent_checkboxes_registration', false );
@@ -189,6 +187,8 @@ class GDPR {
189
  }
190
  add_filter( 'manage_users_custom_column', array( $plugin_admin, 'add_consents_to_consents_column' ), 10, 3 );
191
  add_filter( 'manage_users_columns', array( $plugin_admin, 'add_consents_column_to_user_table' ) );
 
 
192
  add_action( 'show_user_profile', array( $plugin_admin, 'edit_user_profile' ) );
193
  add_action( 'personal_options_update', array( $plugin_admin, 'user_profile_update' ) );
194
  add_action( 'admin_notices', array( $plugin_admin, 'policy_updated_notice' ) );
@@ -209,7 +209,6 @@ class GDPR {
209
  add_action( 'wp_ajax_gdpr_audit_log', array( $plugin_admin, 'audit_log' ) );
210
  add_action( 'admin_post_gdpr_data_breach', array( $plugin_admin, 'send_data_breach_confirmation_email' ) );
211
  add_action( 'clean_gdpr_data_breach_request', array( $plugin_admin, 'clean_data_breach_request' ), 10, 2 ); // CRON JOB
212
- add_action( 'telemetry_cleanup', array( $plugin_admin, 'telemetry_cleanup' ) ); // CRON JOB
213
 
214
  add_action( 'admin_post_gdpr_delete_user', array( $requests_admin, 'delete_user' ) );
215
  add_action( 'admin_post_gdpr_cancel_request', array( $requests_admin, 'cancel_request' ) );
@@ -218,13 +217,6 @@ class GDPR {
218
  add_action( 'wp_ajax_gdpr_anonymize_comments', array( $requests_admin, 'anonymize_comments' ) );
219
  add_action( 'wp_ajax_gdpr_reassign_content', array( $requests_admin, 'reassign_content' ) );
220
 
221
- add_action( 'init', array( $telemetry, 'register_post_type' ) );
222
- add_filter( 'http_api_debug', array( $telemetry, 'log_request' ), 10, 5 );
223
- add_filter( 'manage_telemetry_posts_columns', array( $telemetry, 'manage_columns' ) );
224
- add_filter( 'manage_telemetry_posts_custom_column', array( $telemetry, 'custom_column' ), 10, 2 );
225
- add_filter( 'restrict_manage_posts', array( $telemetry, 'actions_above_table' ) );
226
- add_filter( 'views_edit-telemetry', '__return_null' );
227
-
228
  // CRON JOBS
229
  add_action( 'clean_gdpr_requests', array( $requests, 'clean_requests' ) );
230
  add_action( 'clean_gdpr_user_request_key', array( $requests, 'clean_user_request_key' ), 10, 2 );
@@ -301,18 +293,22 @@ class GDPR {
301
  * @author Fernando Claussen <fernandoclaussen@gmail.com>
302
  * @param int $user_id The user ID.
303
  */
304
- public static function save_user_consent_on_registration( $user_id ) {
305
  GDPR_Audit_Log::log( $user_id, esc_html__( 'User registered to the site.', 'gdpr' ) );
306
 
307
  if ( isset( $_POST['user_consents'] ) && is_array( $_POST['user_consents'] ) ) {
308
 
309
- $consents = array_map( 'sanitize_text_field', array_keys( wp_unslash( $_POST['user_consents'] ) ) ); // WPCS: Input var ok, CSRF ok, XSS ok.
310
  foreach ( $consents as $consent ) {
311
  /* translators: Name of consent */
312
  GDPR_Audit_Log::log( $user_id, sprintf( esc_html__( 'User gave explicit consent to %s', 'gdpr' ), $consent ) );
313
- add_user_meta( $user_id, 'gdpr_consents', $consent );
 
 
 
 
314
  }
315
- setcookie( 'gdpr[consent_types]', json_encode( $consents ), time() + YEAR_IN_SECONDS, '/' );
316
  }
317
  }
318
 
@@ -326,11 +322,9 @@ class GDPR {
326
  if ( empty( $consent_types ) ) {
327
  return;
328
  }
329
- $sent_extras = ( isset( $_POST['user_consents'] ) ) ? wp_unslash( $_POST['user_consents'] ) : array(); // WPCS: Input var ok, CSRF ok.
330
- if ( ! empty( $sent_extras ) ) {
331
- $sent_extras = array_map( 'sanitize_text_field', $_POST['user_consents'] );
332
- }
333
- $allowed_html = array(
334
  'a' => array(
335
  'href' => true,
336
  'title' => true,
@@ -351,9 +345,9 @@ class GDPR {
351
  $required = ( isset( $consent['policy-page'] ) && $consent['policy-page'] ) ? 'required' : '';
352
  $checked = ( isset( $sent_extras[ $key ] ) ) ? checked( $sent_extras[ $key ], 1, false ) : '';
353
  echo '<p>' .
354
- '<label class="gdpr-label">' .
355
  '<input type="checkbox" name="user_consents[' . esc_attr( $key ) . ']" id="' . esc_attr( $key ) . '-consent" value="1" ' . esc_html( $required ) . ' ' . esc_html( $checked ) . '>' .
356
- wp_kses( $consent['registration'], $allowed_html ) .'</label>' .
357
  '</p>';
358
  }
359
 
@@ -366,7 +360,7 @@ class GDPR {
366
  * @author Fernando Claussen <fernandoclaussen@gmail.com>
367
  */
368
  public static function consent_checkboxes( $consent_key = false ) {
369
- echo self::get_consent_checkboxes( $consent_key ); // WPCS: XSS ok.
370
  }
371
 
372
  /**
@@ -378,7 +372,11 @@ class GDPR {
378
  * @return array The user meta minus not important metas.
379
  */
380
  static function get_user_meta( $user_id ) {
381
- $usermeta = get_user_meta( $user_id );
 
 
 
 
382
  $remove_metadata = array(
383
  'nickname',
384
  'first_name',
@@ -423,14 +421,18 @@ class GDPR {
423
  return false;
424
  }
425
 
426
- $usermeta = self::get_user_meta( $user->ID );
427
- $comments = get_comments(
428
  array(
429
  'author_email' => $user->user_email,
430
  'include_unapproved' => true,
431
  )
432
  );
433
- $user_consents = get_user_meta( $user->ID, 'gdpr_consents' );
 
 
 
 
434
  $extra_content = apply_filters( 'gdpr_export_data_extra_tables', '', $email );
435
 
436
  switch ( strtolower( $format ) ) {
@@ -482,7 +484,7 @@ class GDPR {
482
  if ( $extra_content ) {
483
  $json[ $extra_content['name'] ] = $extra_content['content'];
484
  }
485
- return json_encode( $json );
486
  break;
487
  case 'md':
488
  case 'markdown':
@@ -546,7 +548,7 @@ class GDPR {
546
  foreach ( $extra_content['content'] as $key => $obj ) {
547
  $item = $extra->appendChild( $dom->createElement( 'item' ) );
548
  foreach ( $obj as $k => $value ) {
549
- $item->appendChild( $dom->createElement( $k, ( is_object( $value ) || is_array( $value ) ) ? json_encode( (array) $value ) : $value ) );
550
  }
551
  }
552
  }
@@ -567,12 +569,12 @@ class GDPR {
567
  * @author Fernando Claussen <fernandoclaussen@gmail.com>
568
  */
569
  function export_data() {
570
- if ( ! isset( $_POST['nonce'], $_POST['email'], $_POST['type'] ) || ! wp_verify_nonce( sanitize_key( wp_unslash( $_POST['nonce'] ) ), 'gdpr-export-data' ) ) { // WPCS: Input var ok.
571
  wp_send_json_error();
572
  }
573
 
574
- $type = sanitize_text_field( wp_unslash( $_POST['type'] ) ); // WPCS: Input var ok.
575
- $email = sanitize_email( wp_unslash( $_POST['email'] ) ); // WPCS: Input var ok.
576
  $user = get_user_by( 'email', $email );
577
 
578
  if ( ! $user instanceof WP_User ) {
@@ -600,16 +602,24 @@ class GDPR {
600
  if ( empty( $registered_consent ) ) {
601
  return false;
602
  }
603
- $consent_ids = array_keys( $registered_consent );
604
- $user = get_user_by( 'ID', $user_id );
605
- $consent = sanitize_text_field( wp_unslash( $consent ) );
606
 
607
  if ( $user ) {
608
- $user_consent = get_user_meta( $user_id, 'gdpr_consents' );
 
 
 
 
609
  if ( in_array( $consent, $consent_ids, true ) && ! in_array( $consent, $user_consent, true ) ) {
610
- add_user_meta( $user_id, 'gdpr_consents', $consent );
 
 
 
 
611
  $user_consent[] = $consent;
612
- setcookie( 'gdpr[consent_types]', json_encode( $user_consent ), time() + YEAR_IN_SECONDS, '/' );
613
  return true;
614
  }
615
  }
@@ -629,14 +639,22 @@ class GDPR {
629
  $user = get_user_by( 'ID', $user_id );
630
 
631
  if ( $user ) {
632
- $user_consent = get_user_meta( $user_id, 'gdpr_consents' );
 
 
 
 
633
 
634
  $consent = sanitize_text_field( wp_unslash( $consent ) );
635
  $key = array_search( $consent, $user_consent, true );
636
  if ( false !== $key ) {
637
- delete_user_meta( $user_id, 'gdpr_consents', $consent );
 
 
 
 
638
  unset( $user_consent[ $key ] );
639
- setcookie( 'gdpr[consent_types]', json_encode( $user_consent ), time() + YEAR_IN_SECONDS, '/' );
640
  return true;
641
  }
642
  }
96
  */
97
  require_once plugin_dir_path( dirname( __FILE__ ) ) . 'includes/class-gdpr-audit-log.php';
98
 
 
 
 
 
 
99
  /**
100
  * The class responsible for defining the requests section of the plugin.
101
  */
126
  * side of the site.
127
  */
128
  require_once plugin_dir_path( dirname( __FILE__ ) ) . 'public/class-gdpr-public.php';
129
+ /**
130
+ * The class responsible for defining compatibility to olp php versions.
131
+ */
132
+ require_once plugin_dir_path( dirname( __FILE__ ) ) . 'includes/compatibility-functions.php';
133
 
134
  }
135
 
170
 
171
  $plugin_admin = new GDPR_Admin( $this->get_plugin_name(), $this->get_version() );
172
  $requests_admin = new GDPR_Requests_Admin( $this->get_plugin_name(), $this->get_version() );
 
173
  $requests = new GDPR_Requests( $this->get_plugin_name(), $this->get_version() );
174
  $plugin_emails = new GDPR_Email();
175
  $woo_add_to_registration = get_option( 'gdpr_add_consent_checkboxes_registration', false );
187
  }
188
  add_filter( 'manage_users_custom_column', array( $plugin_admin, 'add_consents_to_consents_column' ), 10, 3 );
189
  add_filter( 'manage_users_columns', array( $plugin_admin, 'add_consents_column_to_user_table' ) );
190
+ add_filter( 'manage_users_sortable_columns', array( $plugin_admin, 'sort_consents_column_from_user_table' ) );
191
+ add_action( 'pre_get_users', array( $plugin_admin, 'sort_logic_for_consents_from_user_table' ) );
192
  add_action( 'show_user_profile', array( $plugin_admin, 'edit_user_profile' ) );
193
  add_action( 'personal_options_update', array( $plugin_admin, 'user_profile_update' ) );
194
  add_action( 'admin_notices', array( $plugin_admin, 'policy_updated_notice' ) );
209
  add_action( 'wp_ajax_gdpr_audit_log', array( $plugin_admin, 'audit_log' ) );
210
  add_action( 'admin_post_gdpr_data_breach', array( $plugin_admin, 'send_data_breach_confirmation_email' ) );
211
  add_action( 'clean_gdpr_data_breach_request', array( $plugin_admin, 'clean_data_breach_request' ), 10, 2 ); // CRON JOB
 
212
 
213
  add_action( 'admin_post_gdpr_delete_user', array( $requests_admin, 'delete_user' ) );
214
  add_action( 'admin_post_gdpr_cancel_request', array( $requests_admin, 'cancel_request' ) );
217
  add_action( 'wp_ajax_gdpr_anonymize_comments', array( $requests_admin, 'anonymize_comments' ) );
218
  add_action( 'wp_ajax_gdpr_reassign_content', array( $requests_admin, 'reassign_content' ) );
219
 
 
 
 
 
 
 
 
220
  // CRON JOBS
221
  add_action( 'clean_gdpr_requests', array( $requests, 'clean_requests' ) );
222
  add_action( 'clean_gdpr_user_request_key', array( $requests, 'clean_user_request_key' ), 10, 2 );
293
  * @author Fernando Claussen <fernandoclaussen@gmail.com>
294
  * @param int $user_id The user ID.
295
  */
296
+ public static function save_user_consent_on_registration( $user_id ) { // phpcs:ignore
297
  GDPR_Audit_Log::log( $user_id, esc_html__( 'User registered to the site.', 'gdpr' ) );
298
 
299
  if ( isset( $_POST['user_consents'] ) && is_array( $_POST['user_consents'] ) ) {
300
 
301
+ $consents = array_map( 'sanitize_text_field', array_keys( wp_unslash( $_POST['user_consents'] ) ) ); // phpcs:ignore
302
  foreach ( $consents as $consent ) {
303
  /* translators: Name of consent */
304
  GDPR_Audit_Log::log( $user_id, sprintf( esc_html__( 'User gave explicit consent to %s', 'gdpr' ), $consent ) );
305
+ if ( defined( 'WPCOM_IS_VIP_ENV' ) && WPCOM_IS_VIP_ENV ) {
306
+ add_user_attribute( $user_id, 'gdpr_consents', $consent );
307
+ } else {
308
+ add_user_meta( $user_id, 'gdpr_consents', $consent );
309
+ }
310
  }
311
+ setcookie( 'gdpr[consent_types]', wp_json_encode( $consents ), time() + YEAR_IN_SECONDS, '/' );
312
  }
313
  }
314
 
322
  if ( empty( $consent_types ) ) {
323
  return;
324
  }
325
+ $sent_extras = ( isset( $_POST['user_consents'] ) ) ? array_map( 'sanitize_text_field', wp_unslash( $_POST['user_consents'] ) ) : array(); // phpcs:ignore
326
+
327
+ $allowed_html = array(
 
 
328
  'a' => array(
329
  'href' => true,
330
  'title' => true,
345
  $required = ( isset( $consent['policy-page'] ) && $consent['policy-page'] ) ? 'required' : '';
346
  $checked = ( isset( $sent_extras[ $key ] ) ) ? checked( $sent_extras[ $key ], 1, false ) : '';
347
  echo '<p>' .
348
+ '<label class="gdpr-label">' .
349
  '<input type="checkbox" name="user_consents[' . esc_attr( $key ) . ']" id="' . esc_attr( $key ) . '-consent" value="1" ' . esc_html( $required ) . ' ' . esc_html( $checked ) . '>' .
350
+ wp_kses( $consent['registration'], $allowed_html ) . '</label>' .
351
  '</p>';
352
  }
353
 
360
  * @author Fernando Claussen <fernandoclaussen@gmail.com>
361
  */
362
  public static function consent_checkboxes( $consent_key = false ) {
363
+ echo self::get_consent_checkboxes( $consent_key ); // phpcs:ignore
364
  }
365
 
366
  /**
372
  * @return array The user meta minus not important metas.
373
  */
374
  static function get_user_meta( $user_id ) {
375
+ if ( defined( 'WPCOM_IS_VIP_ENV' ) && WPCOM_IS_VIP_ENV ) {
376
+ $usermeta = get_user_attribute( $user_id );
377
+ } else {
378
+ $usermeta = get_user_meta( $user_id );
379
+ }
380
  $remove_metadata = array(
381
  'nickname',
382
  'first_name',
421
  return false;
422
  }
423
 
424
+ $usermeta = self::get_user_meta( $user->ID );
425
+ $comments = get_comments(
426
  array(
427
  'author_email' => $user->user_email,
428
  'include_unapproved' => true,
429
  )
430
  );
431
+ if ( defined( 'WPCOM_IS_VIP_ENV' ) && WPCOM_IS_VIP_ENV ) {
432
+ $user_consents = get_user_attribute( $user->ID, 'gdpr_consents' );
433
+ } else {
434
+ $user_consents = get_user_meta( $user->ID, 'gdpr_consents' );
435
+ }
436
  $extra_content = apply_filters( 'gdpr_export_data_extra_tables', '', $email );
437
 
438
  switch ( strtolower( $format ) ) {
484
  if ( $extra_content ) {
485
  $json[ $extra_content['name'] ] = $extra_content['content'];
486
  }
487
+ return wp_json_encode( $json );
488
  break;
489
  case 'md':
490
  case 'markdown':
548
  foreach ( $extra_content['content'] as $key => $obj ) {
549
  $item = $extra->appendChild( $dom->createElement( 'item' ) );
550
  foreach ( $obj as $k => $value ) {
551
+ $item->appendChild( $dom->createElement( $k, ( is_object( $value ) || is_array( $value ) ) ? wp_json_encode( (array) $value ) : $value ) );
552
  }
553
  }
554
  }
569
  * @author Fernando Claussen <fernandoclaussen@gmail.com>
570
  */
571
  function export_data() {
572
+ if ( ! isset( $_POST['nonce'], $_POST['email'], $_POST['type'] ) || ! wp_verify_nonce( sanitize_key( wp_unslash( $_POST['nonce'] ) ), 'gdpr-export-data' ) ) { // phpcs:ignore
573
  wp_send_json_error();
574
  }
575
 
576
+ $type = sanitize_text_field( wp_unslash( $_POST['type'] ) ); // phpcs:ignore
577
+ $email = sanitize_email( wp_unslash( $_POST['email'] ) ); // phpcs:ignore
578
  $user = get_user_by( 'email', $email );
579
 
580
  if ( ! $user instanceof WP_User ) {
602
  if ( empty( $registered_consent ) ) {
603
  return false;
604
  }
605
+ $consent_ids = array_keys( $registered_consent );
606
+ $user = get_user_by( 'ID', $user_id );
607
+ $consent = sanitize_text_field( wp_unslash( $consent ) );
608
 
609
  if ( $user ) {
610
+ if ( defined( 'WPCOM_IS_VIP_ENV' ) && WPCOM_IS_VIP_ENV ) {
611
+ $user_consent = get_user_attribute( $user_id, 'gdpr_consents' );
612
+ } else {
613
+ $user_consent = get_user_meta( $user_id, 'gdpr_consents' );
614
+ }
615
  if ( in_array( $consent, $consent_ids, true ) && ! in_array( $consent, $user_consent, true ) ) {
616
+ if ( defined( 'WPCOM_IS_VIP_ENV' ) && WPCOM_IS_VIP_ENV ) {
617
+ add_user_attribute( $user_id, 'gdpr_consents', $consent );
618
+ } else {
619
+ add_user_meta( $user_id, 'gdpr_consents', $consent );
620
+ }
621
  $user_consent[] = $consent;
622
+ setcookie( 'gdpr[consent_types]', wp_json_encode( $user_consent ), time() + YEAR_IN_SECONDS, '/' );
623
  return true;
624
  }
625
  }
639
  $user = get_user_by( 'ID', $user_id );
640
 
641
  if ( $user ) {
642
+ if ( defined( 'WPCOM_IS_VIP_ENV' ) && WPCOM_IS_VIP_ENV ) {
643
+ $user_consent = get_user_attribute( $user_id, 'gdpr_consents' );
644
+ } else {
645
+ $user_consent = get_user_meta( $user_id, 'gdpr_consents' );
646
+ }
647
 
648
  $consent = sanitize_text_field( wp_unslash( $consent ) );
649
  $key = array_search( $consent, $user_consent, true );
650
  if ( false !== $key ) {
651
+ if ( defined( 'WPCOM_IS_VIP_ENV' ) && WPCOM_IS_VIP_ENV ) {
652
+ delete_user_attribute( $user_id, 'gdpr_consents', $consent );
653
+ } else {
654
+ delete_user_meta( $user_id, 'gdpr_consents', $consent );
655
+ }
656
  unset( $user_consent[ $key ] );
657
+ setcookie( 'gdpr[consent_types]', wp_json_encode( $user_consent ), time() + YEAR_IN_SECONDS, '/' );
658
  return true;
659
  }
660
  }
includes/compatibility-functions.php ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * The plugin compatibility functions
4
+ *
5
+ * @package GDPR
6
+ */
7
+
8
+ if ( ! function_exists( 'boolval' ) ) {
9
+ function boolval( $var ) {
10
+ return (bool) $var;
11
+ }
12
+ }
includes/helper-functions.php CHANGED
@@ -44,7 +44,7 @@ add_shortcode( 'gdpr_preferences', 'gdpr_preferences_shortcode' );
44
  * @param string $button_text The submit button text.
45
  */
46
  function gdpr_request_form( $type, $button_text = '' ) {
47
- echo GDPR_Requests_Public::request_form( $type, $button_text ); // WPCS: XSS ok.
48
  }
49
 
50
  /**
@@ -85,7 +85,7 @@ function gdpr_get_consent_checkboxes( $atts ) {
85
  */
86
  function is_allowed_cookie( $cookie_name ) {
87
  if ( isset( $_COOKIE['gdpr']['allowed_cookies'] ) ) {
88
- $allowed_cookies = array_map( 'sanitize_text_field', json_decode( wp_unslash( $_COOKIE['gdpr']['allowed_cookies'] ), true ) ); // WPCS: Input var ok, sanitization ok.
89
  $name = preg_quote( $cookie_name, '~' );
90
  $result = preg_grep( '~' . $name . '~', $allowed_cookies );
91
  if ( in_array( $cookie_name, $allowed_cookies, true ) || ! empty( $result ) ) {
@@ -121,10 +121,14 @@ function have_consent( $consent ) {
121
  function has_consent( $consent ) {
122
 
123
  if ( is_user_logged_in() ) {
124
- $user = wp_get_current_user();
125
- $consents = (array) get_user_meta( $user->ID, 'gdpr_consents' );
126
- } elseif ( isset( $_COOKIE['gdpr']['consent_types'] ) && ! empty( $_COOKIE['gdpr']['consent_types'] ) ) { // WPCS: Input var ok.
127
- $consents = array_map( 'sanitize_text_field', (array) json_decode( wp_unslash( $_COOKIE['gdpr']['consent_types'] ) ) ); // WPCS: Input var ok, sanitization ok.
 
 
 
 
128
  }
129
 
130
  if ( isset( $consents ) && ! empty( $consents ) ) {
@@ -137,5 +141,5 @@ function has_consent( $consent ) {
137
  }
138
 
139
  function is_dnt() {
140
- return ( isset( $_SERVER['HTTP_DNT'] ) && '1' === $_SERVER['HTTP_DNT'] ); // WPCS: Input var ok.
141
  }
44
  * @param string $button_text The submit button text.
45
  */
46
  function gdpr_request_form( $type, $button_text = '' ) {
47
+ echo GDPR_Requests_Public::request_form( $type, $button_text ); // phpcs:ignore
48
  }
49
 
50
  /**
85
  */
86
  function is_allowed_cookie( $cookie_name ) {
87
  if ( isset( $_COOKIE['gdpr']['allowed_cookies'] ) ) {
88
+ $allowed_cookies = array_map( 'sanitize_text_field', json_decode( wp_unslash( $_COOKIE['gdpr']['allowed_cookies'] ), true ) ); // phpcs:ignore
89
  $name = preg_quote( $cookie_name, '~' );
90
  $result = preg_grep( '~' . $name . '~', $allowed_cookies );
91
  if ( in_array( $cookie_name, $allowed_cookies, true ) || ! empty( $result ) ) {
121
  function has_consent( $consent ) {
122
 
123
  if ( is_user_logged_in() ) {
124
+ $user = wp_get_current_user();
125
+ if ( defined( 'WPCOM_IS_VIP_ENV' ) && WPCOM_IS_VIP_ENV ) {
126
+ $consents = (array) get_user_attribute( $user->ID, 'gdpr_consents' );
127
+ } else {
128
+ $consents = (array) get_user_meta( $user->ID, 'gdpr_consents' );
129
+ }
130
+ } elseif ( isset( $_COOKIE['gdpr']['consent_types'] ) && ! empty( $_COOKIE['gdpr']['consent_types'] ) ) { // phpcs:ignore
131
+ $consents = array_map( 'sanitize_text_field', (array) json_decode( wp_unslash( $_COOKIE['gdpr']['consent_types'] ) ) ); // phpcs:ignore
132
  }
133
 
134
  if ( isset( $consents ) && ! empty( $consents ) ) {
141
  }
142
 
143
  function is_dnt() {
144
+ return ( isset( $_SERVER['HTTP_DNT'] ) && '1' === $_SERVER['HTTP_DNT'] ); // phpcs:ignore
145
  }
languages/gdpr.pot CHANGED
@@ -1,8 +1,8 @@
1
- # Copyright (C) 2018 gdpr
2
- # This file is distributed under the same license as the gdpr package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: gdpr\n"
6
  "MIME-Version: 1.0\n"
7
  "Content-Type: text/plain; charset=UTF-8\n"
8
  "Content-Transfer-Encoding: 8bit\n"
@@ -13,1167 +13,1135 @@ msgstr ""
13
  "X-Poedit-SourceCharset: UTF-8\n"
14
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
15
 
16
- #: admin/class-gdpr-admin.php:100, admin/class-gdpr-admin.php:113, admin/class-gdpr-admin.php:569
17
  msgid "GDPR"
18
  msgstr ""
19
 
20
- #: admin/class-gdpr-admin.php:120, admin/partials/requests.php:18
21
  msgid "Requests"
22
  msgstr ""
23
 
24
- #: admin/class-gdpr-admin.php:126, admin/partials/tools.php:42
25
  msgid "Tools"
26
  msgstr ""
27
 
28
- #: admin/class-gdpr-admin.php:132
29
  msgid "Settings"
30
  msgstr ""
31
 
32
- #: admin/class-gdpr-admin.php:298, includes/class-gdpr-help.php:40, includes/class-gdpr-help.php:46, admin/partials/requests.php:32
33
  msgid "Rectify Data"
34
  msgstr ""
35
 
36
- #: admin/class-gdpr-admin.php:302
37
  msgid "Complaint"
38
  msgstr ""
39
 
40
- #: admin/class-gdpr-admin.php:306, includes/class-gdpr-help.php:62
41
  msgid "Erasure"
42
  msgstr ""
43
 
44
- #: admin/class-gdpr-admin.php:323, includes/class-gdpr-help.php:91, includes/class-gdpr-help.php:96, admin/partials/tools.php:53
45
  msgid "Access Data"
46
  msgstr ""
47
 
48
- #: admin/class-gdpr-admin.php:324, includes/class-gdpr-help.php:108, admin/partials/tools.php:70
49
  msgid "Data Breach"
50
  msgstr ""
51
 
52
- #: admin/class-gdpr-admin.php:325, includes/class-gdpr-help.php:113, includes/class-gdpr-help.php:121, admin/partials/tools.php:115
53
  msgid "Audit Log"
54
  msgstr ""
55
 
56
- #: admin/class-gdpr-admin.php:399
57
  msgid "Consent Given"
58
  msgstr ""
59
 
60
- #: admin/class-gdpr-admin.php:403
61
  msgid "Consent ID"
62
  msgstr ""
63
 
64
- #: admin/class-gdpr-admin.php:415, admin/partials/requests.php:285
65
  msgid "Comments"
66
  msgstr ""
67
 
68
- #: admin/class-gdpr-admin.php:420
69
  msgid "Comment Field"
70
  msgstr ""
71
 
72
- #: admin/class-gdpr-admin.php:421
73
  msgid "Comment Data"
74
  msgstr ""
75
 
76
- #: admin/class-gdpr-admin.php:457
77
  msgid "Metadata"
78
  msgstr ""
79
 
80
- #: admin/class-gdpr-admin.php:461
81
  msgid "Name"
82
  msgstr ""
83
 
84
- #: admin/class-gdpr-admin.php:462
85
  msgid "Value"
86
  msgstr ""
87
 
88
- #: admin/class-gdpr-admin.php:516
89
  msgid "No logs found for this email."
90
  msgstr ""
91
 
92
- #: admin/class-gdpr-admin.php:528
93
  msgid "Review your settings"
94
  msgstr ""
95
 
96
- #: admin/class-gdpr-admin.php:529
97
  msgid "We have added a few new options which must be reviewed before continuing to use the plugin."
98
  msgstr ""
99
 
100
- #: admin/class-gdpr-admin.php:530
101
  msgid "For cookies, we have added a status which allows you to set them as ON, OFF or Required. For consents, we moved the policy selector into each consent. All policies can now be tracked through this."
102
  msgstr ""
103
 
104
- #: admin/class-gdpr-admin.php:531
105
  msgid "Please keep in mind the plugin might not work as intended until these settings are reviewed."
106
  msgstr ""
107
 
108
- #: admin/class-gdpr-admin.php:570, includes/class-gdpr-activator.php:36
 
 
109
  msgid "Your current PHP version (%1$s) is below the plugin required version of %2$s."
110
  msgstr ""
111
 
112
- #: admin/class-gdpr-admin.php:592
 
113
  msgid "Your %s page has been updated."
114
  msgstr ""
115
 
116
- #: admin/class-gdpr-admin.php:594
117
  msgid "In case this was not a small typo fix, you must ask users for explicit consent again."
118
  msgstr ""
119
 
120
- #: admin/class-gdpr-admin.php:603
121
  msgid "Ask for consent"
122
  msgstr ""
123
 
124
- #: admin/class-gdpr-admin.php:612
125
  msgid "Ignore"
126
  msgstr ""
127
 
128
- #: admin/class-gdpr-admin.php:627, admin/class-gdpr-admin.php:771, admin/class-gdpr-admin.php:847, public/class-gdpr-public.php:214, public/class-gdpr-public.php:380
129
- msgid "We could not verify the the security token. Please try again."
130
  msgstr ""
131
 
132
- #: admin/class-gdpr-admin.php:639
133
  msgid "One or more required fields are missing. Please try again."
134
  msgstr ""
135
 
136
- #: admin/class-gdpr-admin.php:689
137
  msgid "Data breach notification has been initialized. An email confirmation has been sent to the website controller."
138
  msgstr ""
139
 
140
- #: admin/class-gdpr-admin.php:753
141
  msgid "ERROR"
142
  msgstr ""
143
 
144
- #: admin/class-gdpr-admin.php:755
145
  msgid "is a required consent"
146
  msgstr ""
147
 
148
  #. translators: 1: The name of the policy that was updated.
149
- #: admin/class-gdpr-admin.php:791
150
  msgid "%1$s has been updated. Removing the %1$s consent and requesting new consent."
151
  msgstr ""
152
 
153
- #: admin/class-gdpr-admin.php:870, includes/class-gdpr-help.php:184, public/partials/privacy-preferences-modal.php:32, public/partials/privacy-preferences-modal.php:65, public/partials/reconsent-modal.php:31
154
  msgid "Consent Management"
155
  msgstr ""
156
 
157
- #: admin/class-gdpr-admin.php:907
158
  msgid "Profile Updated. These are the user consents after the save:"
159
  msgstr ""
160
 
161
- #: admin/class-gdpr-admin.php:986, admin/partials/settings.php:364
162
  msgid "Consents"
163
  msgstr ""
164
 
165
- #: admin/class-gdpr-requests-admin.php:30, admin/class-gdpr-requests-admin.php:159, admin/class-gdpr-requests-admin.php:207, admin/class-gdpr-requests-admin.php:243
166
  msgid "We could not verify the user email or the security token. Please try again."
167
  msgstr ""
168
 
169
- #: admin/class-gdpr-requests-admin.php:37, admin/class-gdpr-requests-admin.php:289, admin/class-gdpr-requests-admin.php:336, public/partials/confirmation-screens.php:34
170
- msgid "User not found."
 
171
  msgstr ""
172
 
173
- #: admin/class-gdpr-requests-admin.php:59
174
- msgid "User %s is the only admin of the site. It cannot be deleted."
175
  msgstr ""
176
 
177
- #: admin/class-gdpr-requests-admin.php:80, admin/class-gdpr-requests-admin.php:121
178
  msgid "User added to the deletion requests list by admin."
179
  msgstr ""
180
 
181
- #: admin/class-gdpr-requests-admin.php:82, admin/class-gdpr-requests-admin.php:123
 
 
182
  msgid "User %s was added to the deletion table."
183
  msgstr ""
184
 
185
- #: admin/class-gdpr-requests-admin.php:105
186
  msgid "User already placed a deletion request."
187
  msgstr ""
188
 
189
- #: admin/class-gdpr-requests-admin.php:145, admin/class-gdpr-requests-admin.php:193
190
  msgid "We could not verify the type of request you want to cancel."
191
  msgstr ""
192
 
193
  #. translators: The type of request
194
- #: admin/class-gdpr-requests-admin.php:153, admin/class-gdpr-requests-admin.php:201
 
195
  msgid "Type of request '%s' is not an allowed type."
196
  msgstr ""
197
 
198
  #. translators: The type of request i.e 'delete'
199
- #: admin/class-gdpr-requests-admin.php:168
200
  msgid "User was removed from the %s request list by admin."
201
  msgstr ""
202
 
203
- #: admin/class-gdpr-requests-admin.php:171
 
204
  msgid "User %s was removed from this request table."
205
  msgstr ""
206
 
207
- #. translators: User email
208
- #: admin/class-gdpr-requests-admin.php:219
209
  msgid "User %s request was marked as resolved by admin."
210
  msgstr ""
211
 
212
- #: admin/class-gdpr-requests-admin.php:221
 
213
  msgid "Request was resolved. User %s has been notified."
214
  msgstr ""
215
 
216
- #: admin/class-gdpr-requests-admin.php:254, public/class-gdpr-requests-public.php:44
217
  msgid "User was removed from the site."
218
  msgstr ""
219
 
220
- #: admin/class-gdpr-requests-admin.php:259
 
221
  msgid "User %s was deleted from the site."
222
  msgstr ""
223
 
224
- #: admin/class-gdpr-requests-admin.php:281, admin/class-gdpr-requests-admin.php:322, public/class-gdpr-requests-public.php:82
225
- msgid "We could not verify the security token. Please try again."
226
- msgstr ""
227
-
228
- #: admin/class-gdpr-requests-admin.php:307
229
  msgid "Guest"
230
  msgstr ""
231
 
232
- #: admin/class-gdpr-requests-admin.php:311
233
  msgid "User comments were anonymized."
234
  msgstr ""
235
 
236
- #: admin/class-gdpr-requests-admin.php:326
237
  msgid "Essential data missing. Please try again."
238
  msgstr ""
239
 
240
  #. translators: 1: The post type, 2: The user the posts were reassigned to
241
- #: admin/class-gdpr-requests-admin.php:359
242
  msgid "User %1$s were reassigned to %2$s."
243
  msgstr ""
244
 
245
- #: admin/class-gdpr-requests-admin.php:363
246
  msgid "Something went wrong. Please try again."
247
  msgstr ""
248
 
249
- #: admin/class-gdpr-telemetry.php:47
250
- msgid "Telemetry"
251
- msgstr ""
252
-
253
- #: admin/class-gdpr-telemetry.php:49
254
- msgid "No items found. Future connections will be shown at this place."
255
- msgstr ""
256
-
257
- #: admin/class-gdpr-telemetry.php:50
258
- msgid "No items found in trash."
259
- msgstr ""
260
-
261
- #: admin/class-gdpr-telemetry.php:51
262
- msgid "Search in destination"
263
- msgstr ""
264
-
265
- #: admin/class-gdpr-telemetry.php:187
266
- msgid "Delete all"
267
- msgstr ""
268
-
269
- #: admin/class-gdpr-telemetry.php:199
270
- msgid "Destination"
271
- msgstr ""
272
-
273
- #: admin/class-gdpr-telemetry.php:200
274
- msgid "File"
275
- msgstr ""
276
-
277
- #: admin/class-gdpr-telemetry.php:201
278
- msgid "Code"
279
- msgstr ""
280
-
281
- #: admin/class-gdpr-telemetry.php:202
282
- msgid "Time"
283
  msgstr ""
284
 
285
- #: admin/class-gdpr-telemetry.php:203
286
- msgid "Data"
287
  msgstr ""
288
 
289
- #: admin/class-gdpr-telemetry.php:345
290
- msgid "Show"
291
  msgstr ""
292
 
293
- #: includes/class-gdpr-email.php:162
294
- msgid "Data breach notification sent to user."
295
  msgstr ""
296
 
297
- #. translators: email content
298
- #: includes/class-gdpr-email.php:164
299
- msgid "Email content: %s"
300
  msgstr ""
301
 
302
- #. translators: nature of the data breach
303
- #: includes/class-gdpr-email.php:166
304
- msgid "Nature of data breach: %s"
305
  msgstr ""
306
 
307
- #. translators: data protection officer contact information
308
- #: includes/class-gdpr-email.php:168
309
- msgid "Data protection officer contact: %s"
310
  msgstr ""
311
 
312
- #. translators: likely consequences
313
- #: includes/class-gdpr-email.php:170
314
- msgid "Likely consequences of breach: %s"
315
  msgstr ""
316
 
317
- #. translators: measures taken
318
- #: includes/class-gdpr-email.php:172
319
- msgid "Measures taken or proposed to be taken: %s"
320
  msgstr ""
321
 
322
- #: includes/class-gdpr-email.php:203
323
- msgid "GDPR Notification: There is a new request waiting to be reviewed."
324
  msgstr ""
325
 
326
- #: includes/class-gdpr-email.php:204
327
- msgid "Someone requested to close your account."
328
  msgstr ""
329
 
330
- #: includes/class-gdpr-email.php:205
331
- msgid "Your account has been closed."
332
  msgstr ""
333
 
334
- #: includes/class-gdpr-email.php:206
335
- msgid "Someone requested that we rectify data of your account."
336
  msgstr ""
337
 
338
- #: includes/class-gdpr-email.php:207, includes/class-gdpr-email.php:209, includes/class-gdpr-email.php:211
339
- msgid "Your request has been completed."
340
  msgstr ""
341
 
342
- #: includes/class-gdpr-email.php:208
343
- msgid "Someone made complaint on behalf of your account."
344
  msgstr ""
345
 
346
- #: includes/class-gdpr-email.php:210
347
- msgid "Someone requested to download your data."
348
  msgstr ""
349
 
350
- #: includes/class-gdpr-email.php:212
351
- msgid "Someone requested to send a data breach notification."
352
  msgstr ""
353
 
354
- #: includes/class-gdpr-email.php:213
355
- msgid "Data Breach Notification."
356
  msgstr ""
357
 
358
- #: includes/class-gdpr-help.php:30, includes/class-gdpr-help.php:35, includes/class-gdpr-help.php:81, includes/class-gdpr-help.php:86, includes/class-gdpr-help.php:201, includes/class-gdpr-help.php:209
359
- msgid "Overview"
360
  msgstr ""
361
 
362
- #: includes/class-gdpr-help.php:31
363
- msgid "This page has multiple request tables. Users can request multiple things like getting deleted from the site or having their data rectified. All requests will come to these tables."
364
  msgstr ""
365
 
366
- #: includes/class-gdpr-help.php:41
367
- msgid "Users may request to have their data rectified. They can place a request somewhere on your site and those requests will show up here."
368
  msgstr ""
369
 
370
- #: includes/class-gdpr-help.php:42
371
- msgid "When you complete the request, mark it as resolved and the requester will get a notification email confirming that their request was resolved."
372
  msgstr ""
373
 
374
- #: includes/class-gdpr-help.php:51, includes/class-gdpr-help.php:57, admin/partials/requests.php:98
375
- msgid "Complaints"
376
  msgstr ""
377
 
378
- #: includes/class-gdpr-help.php:52
379
- msgid "Users may complain about something that happened. They can place a complaint somewhere on your site and those complaints will show up here."
380
  msgstr ""
381
 
382
- #: includes/class-gdpr-help.php:53
383
- msgid "When you resolve the problem, mark it as resolved and the requester will get a notification email confirming that his complaint was resolved."
384
  msgstr ""
385
 
386
- #: includes/class-gdpr-help.php:63
387
- msgid "Users may request to be deleted from the site. If they don't have any content published on the site (including comments) they will be removed from the site automatically. Otherwise, they will show up at this review table where you can reassign or delete their published content and anonymize his comments."
388
  msgstr ""
389
 
390
- #: includes/class-gdpr-help.php:64
391
- msgid "User may request their data to be deleted. The controller has, according to GDPR, 30 days to fulfill the request. On some occasions, you can ask to extend this time limit. When the request has been resolved the user will receive a notification that their account has been closed."
392
  msgstr ""
393
 
394
- #: includes/class-gdpr-help.php:68
395
- msgid "Erasures"
396
  msgstr ""
397
 
398
- #: includes/class-gdpr-help.php:82
399
- msgid "We added tools to make your life easier when you need to perform administrative tasks like notify all your users of a possible data breach."
400
  msgstr ""
401
 
402
- #: includes/class-gdpr-help.php:92
403
- msgid "Use this page to look for all known data about a user. You can look it up using the user's email address and are able to download it in XML and JSON formats."
404
  msgstr ""
405
 
406
- #: includes/class-gdpr-help.php:101
407
- msgid "Data Breach Notification"
408
  msgstr ""
409
 
410
- #: includes/class-gdpr-help.php:102
411
- msgid "Use this carefully."
412
  msgstr ""
413
 
414
- #: includes/class-gdpr-help.php:103
415
- msgid "This will send a mass email to all your users with the information provided on these fields. This email is throttled based on the hourly limit set on the plugin settings page. "
416
  msgstr ""
417
 
418
- #: includes/class-gdpr-help.php:104
419
- msgid "Only use this tool if you believe your site has been compromised and that your user's personal data might have been leaked."
420
  msgstr ""
421
 
422
- #: includes/class-gdpr-help.php:114
423
- msgid "We do not log any of the user's personal data."
424
  msgstr ""
425
 
426
- #: includes/class-gdpr-help.php:115
427
- msgid "All logs are encrypted before saving to the database. An encrypted log file is created whenever a user gets removed from the site."
428
  msgstr ""
429
 
430
- #: includes/class-gdpr-help.php:116
431
- msgid "This tool will keep a record of some actions such as changing consent preferences, placing a request, data breach notifications received, etc…"
432
  msgstr ""
433
 
434
- #: includes/class-gdpr-help.php:117
435
- msgid "The only way to read the logs is to search for the user email. If the data subject is not a registered site user anymore, you need to ask for the 6 digit token that was provided during deletion. That will allow this tool to look for a log file with his information."
436
  msgstr ""
437
 
438
- #: includes/class-gdpr-help.php:134, includes/class-gdpr-help.php:140
439
- msgid "General Settings"
440
  msgstr ""
441
 
442
- #: includes/class-gdpr-help.php:135
443
- msgid "This plugin needs to know your privacy policy page to track updates to it and ask users to re-consent to your new terms."
444
  msgstr ""
445
 
446
- #: includes/class-gdpr-help.php:136
447
- msgid "When sending a data breach notification to your users, we need to throttle the emails because of server limitations. This is an hourly limit. Check with your hosting provider before changing this value."
448
  msgstr ""
449
 
450
- #: includes/class-gdpr-help.php:146, includes/class-gdpr-help.php:160
451
- msgid "Cookie Management"
452
  msgstr ""
453
 
454
- #: includes/class-gdpr-help.php:147
455
- msgid "Fill out every information you can about the cookies your site uses. Set the cookies that you set under Cookies Used and cookies used and set by third parties under the Third party domains."
456
  msgstr ""
457
 
458
- #: includes/class-gdpr-help.php:149
459
- msgid "You must ask your developer to wrap the code that sets the cookies with our helper function %s."
460
  msgstr ""
461
 
462
- #: includes/class-gdpr-help.php:150
463
- msgid "Some services like Google Analytics provide a way to opt out from their code with an extra parameter to their snippet."
464
  msgstr ""
465
 
466
- #: includes/class-gdpr-help.php:151, includes/class-gdpr-help.php:171
467
- msgid "External Links"
468
  msgstr ""
469
 
470
- #: includes/class-gdpr-help.php:153, includes/class-gdpr-help.php:153
471
- msgid "WordPress cookies"
472
  msgstr ""
473
 
474
- #: includes/class-gdpr-help.php:166
475
- msgid "Consent Management ( Coming Soon )"
476
  msgstr ""
477
 
478
- #: includes/class-gdpr-help.php:167
479
- msgid "All consents are disabled by default. On first registration, your users will need to consent to your privacy policy. Depending on your privacy policy you should register multiple types of consent on this page and allow them to be toggled on/off."
480
  msgstr ""
481
 
482
- #: includes/class-gdpr-help.php:169
483
- msgid "If you have an optional consent type, you must have a developer wrap the functionality in our helper function %s."
484
  msgstr ""
485
 
486
- #: includes/class-gdpr-help.php:170
487
- msgid "i.e."
488
  msgstr ""
489
 
490
- #: includes/class-gdpr-help.php:170
491
- msgid "You registered email marketing as an optional consent but the user did not actively opt into it on their profile page. You should have your email capture form wrapped in our helper function to block registration or better yet, not even display the email capture form. Same goes for blocking adding the user to your mailing system on registration if consent is not given."
492
  msgstr ""
493
 
494
- #: includes/class-gdpr-help.php:173, includes/class-gdpr-help.php:173
495
- msgid "Article 7 - Conditions for consent"
496
  msgstr ""
497
 
498
- #: includes/class-gdpr-help.php:174, includes/class-gdpr-help.php:174
499
- msgid "Article 8 - conditions applicable to child's consent in relation to information society services"
500
  msgstr ""
501
 
502
- #: includes/class-gdpr-help.php:175, includes/class-gdpr-help.php:175
503
- msgid "Recital 42 - Burden of proof and requirements for consent"
 
504
  msgstr ""
505
 
506
- #: includes/class-gdpr-help.php:176, includes/class-gdpr-help.php:176
507
- msgid "Recital 43 - Freely Given consent"
508
  msgstr ""
509
 
510
- #: includes/class-gdpr-help.php:202
511
- msgid "This is all data that are being sent outside of your site. WordPress send some data to it's servers to be able to do automatic updates. You can reduce the amount of data being sent using filters."
512
  msgstr ""
513
 
514
- #: includes/class-gdpr-help.php:203
515
- msgid "Some plugins also capture data and send it to their servers. Such practice is not allowed for plugins hosted on wordpress.org plugin repository. In case this is a Premium plugin, you should have been given the option to choose which type of data you want to send."
516
  msgstr ""
517
 
518
- #: includes/class-gdpr-help.php:204
519
- msgid "Use this tool to identify plugins or themes sending potential personal data outside of your server and take action if necessary."
520
  msgstr ""
521
 
522
- #: includes/class-gdpr-requests.php:227
523
- msgid "User request expired. Removing %s user_meta."
524
  msgstr ""
525
 
526
- #: includes/class-gdpr.php:305
527
- msgid "User registered to the site."
528
  msgstr ""
529
 
530
- #. translators: Name of consent
531
- #: includes/class-gdpr.php:312
532
- msgid "User gave explicit consent to %s"
533
  msgstr ""
534
 
535
- #: includes/helper-functions.php:27, public/partials/privacy-bar.php:38
536
- msgid "Privacy Preferences"
537
  msgstr ""
538
 
539
- #: public/class-gdpr-public.php:127
540
- msgid "Aborting"
541
  msgstr ""
542
 
543
- #: public/class-gdpr-public.php:128
544
- msgid "You are being logged out."
545
  msgstr ""
546
 
547
- #: public/class-gdpr-public.php:129
548
- msgid "Continue"
549
  msgstr ""
550
 
551
- #: public/class-gdpr-public.php:130
552
- msgid "Cancel"
553
  msgstr ""
554
 
555
- #: public/class-gdpr-public.php:131, public/partials/confirmation-screens.php:58
556
- msgid "OK"
557
  msgstr ""
558
 
559
- #: public/class-gdpr-public.php:132
560
- msgid "Close your account?"
561
  msgstr ""
562
 
563
- #: public/class-gdpr-public.php:133
564
- msgid "Your account will be closed and all data will be permanently deleted and cannot be recovered. Are you sure?"
565
  msgstr ""
566
 
567
- #: public/class-gdpr-public.php:134
568
- msgid "Are you sure?"
569
  msgstr ""
570
 
571
- #: public/class-gdpr-public.php:135
572
- msgid "By disagreeing you will no longer have access to our site and will be logged out."
573
  msgstr ""
574
 
575
- #: public/class-gdpr-public.php:153, public/partials/reconsent-bar.php:31, public/partials/reconsent-modal.php:88
576
- msgid "I Agree"
577
  msgstr ""
578
 
579
- #: public/class-gdpr-public.php:213, public/class-gdpr-public.php:379, public/class-gdpr-requests-public.php:81, public/class-gdpr-requests-public.php:90, public/class-gdpr-requests-public.php:105, public/class-gdpr-requests-public.php:125, public/class-gdpr-requests-public.php:188, public/class-gdpr-requests-public.php:243, public/partials/confirmation-screens.php:33, public/partials/confirmation-screens.php:37, public/partials/confirmation-screens.php:41
580
- msgid "Error!"
581
  msgstr ""
582
 
583
- #: public/class-gdpr-public.php:252
584
- msgid "User updated their privacy preferences. These are the new approved cookies and consent preferences:"
585
  msgstr ""
586
 
587
- #: public/class-gdpr-public.php:389
588
- msgid "User provided new consent for %1$s."
589
  msgstr ""
590
 
591
- #: public/class-gdpr-requests-public.php:91
592
- msgid "Invalid type of request. Please try again."
593
  msgstr ""
594
 
595
- #: public/class-gdpr-requests-public.php:106, public/class-gdpr-requests-public.php:126
596
- msgid "Please verify that you are not a robot."
597
  msgstr ""
598
 
599
- #: public/class-gdpr-requests-public.php:145, public/class-gdpr-requests-public.php:175, public/class-gdpr-requests-public.php:236
600
- msgid "Email confirmation"
601
  msgstr ""
602
 
603
- #: public/class-gdpr-requests-public.php:146, public/class-gdpr-requests-public.php:176, public/class-gdpr-requests-public.php:237
604
- msgid "If this email is connected to an existing user, you should receive an email confirmation soon."
605
  msgstr ""
606
 
607
- #: public/class-gdpr-requests-public.php:189
608
- msgid "Required information is missing from the form."
609
  msgstr ""
610
 
611
- #: public/class-gdpr-requests-public.php:244
612
- msgid "There was a problem with your request. Please try again later."
613
  msgstr ""
614
 
615
- #: public/class-gdpr-requests-public.php:323
616
- msgid "User confirmed a request to be deleted."
617
  msgstr ""
618
 
619
- #: public/class-gdpr-requests-public.php:325
620
- msgid "Content was found for that user."
621
  msgstr ""
622
 
623
- #: public/class-gdpr-requests-public.php:327
624
- msgid "User added to the erasure review table."
625
  msgstr ""
626
 
627
- #: public/class-gdpr-requests-public.php:361
628
- msgid "User placed a request for rectification or a complaint."
629
  msgstr ""
630
 
631
- #. translators: File format. Can be XML or JSON
632
- #: public/class-gdpr-requests-public.php:378
633
- msgid "User downloaded all their data in %s format."
634
  msgstr ""
635
 
636
- #: admin/partials/requests.php:36, admin/partials/requests.php:88, admin/partials/requests.php:102, admin/partials/requests.php:145, admin/partials/requests.php:172, admin/partials/requests.php:323
637
- msgid "Email"
638
  msgstr ""
639
 
640
- #: admin/partials/requests.php:37, admin/partials/requests.php:89, admin/partials/requests.php:173, admin/partials/requests.php:324
641
- msgid "Date of Request"
642
  msgstr ""
643
 
644
- #: admin/partials/requests.php:38, admin/partials/requests.php:90, admin/partials/requests.php:104, admin/partials/requests.php:147
645
- msgid "Information"
646
  msgstr ""
647
 
648
- #: admin/partials/requests.php:39, admin/partials/requests.php:91, admin/partials/requests.php:105, admin/partials/requests.php:148, admin/partials/requests.php:175, admin/partials/requests.php:326
649
- msgid "Actions"
650
  msgstr ""
651
 
652
- #: admin/partials/requests.php:65, admin/partials/requests.php:122, admin/partials/requests.php:205
653
- msgid "Cancel Request"
654
  msgstr ""
655
 
656
- #: admin/partials/requests.php:73, admin/partials/requests.php:130
657
- msgid "Mark as Resolved"
658
  msgstr ""
659
 
660
- #: admin/partials/requests.php:81, admin/partials/requests.php:138, admin/partials/requests.php:316
661
- msgid "No pending requests"
662
  msgstr ""
663
 
664
- #: admin/partials/requests.php:103, admin/partials/requests.php:146
665
- msgid "Date of Complaint"
666
  msgstr ""
667
 
668
- #: admin/partials/requests.php:155
669
- msgid "Right to erasure"
670
  msgstr ""
671
 
672
- #: admin/partials/requests.php:162
673
- msgid "Manually add a user"
674
  msgstr ""
675
 
676
- #: admin/partials/requests.php:164, admin/partials/tools.php:61, admin/partials/tools.php:123, public/partials/complaint-form.php:6, public/partials/delete-form.php:19, public/partials/export-data-form.php:6, public/partials/rectify-form.php:6
677
- msgid "email@domain.com"
678
  msgstr ""
679
 
680
- #: admin/partials/requests.php:165, public/partials/complaint-form.php:11, public/partials/rectify-form.php:10
681
- msgid "Submit"
682
  msgstr ""
683
 
684
- #: admin/partials/requests.php:174, admin/partials/requests.php:189, admin/partials/requests.php:225, admin/partials/requests.php:325
685
- msgid "Review"
686
  msgstr ""
687
 
688
- #: admin/partials/requests.php:191
689
- msgid "No content to review"
690
  msgstr ""
691
 
692
- #: admin/partials/requests.php:212
693
- msgid "Delete User"
694
  msgstr ""
695
 
696
- #: admin/partials/requests.php:223
697
- msgid "Content Type"
698
  msgstr ""
699
 
700
- #: admin/partials/requests.php:224
701
- msgid "Count"
702
  msgstr ""
703
 
704
- #: admin/partials/requests.php:226, admin/partials/requests.php:265
705
- msgid "Reassign"
706
  msgstr ""
707
 
708
- #: admin/partials/requests.php:227
709
- msgid "Action"
710
  msgstr ""
711
 
712
- #: admin/partials/requests.php:267, admin/partials/requests.php:296
713
- msgid "Resolved"
714
  msgstr ""
715
 
716
- #: admin/partials/requests.php:287
717
- msgid "View Comments"
718
  msgstr ""
719
 
720
- #: admin/partials/requests.php:294
721
- msgid "Anonymize"
722
  msgstr ""
723
 
724
- #: admin/partials/settings.php:2
725
- msgid "GDPR Settings"
726
  msgstr ""
727
 
728
- #: admin/partials/settings.php:14
729
- msgid "Outgoing email limit"
730
  msgstr ""
731
 
732
- #: admin/partials/settings.php:15, admin/partials/settings.php:16
733
- msgid "This is the hourly outgoing email limit set by your server."
734
  msgstr ""
735
 
736
- #: admin/partials/settings.php:23
737
- msgid "Emails/hour"
738
  msgstr ""
739
 
740
- #: admin/partials/settings.php:28
741
- msgid "User deletion"
742
  msgstr ""
743
 
744
- #: admin/partials/settings.php:29, admin/partials/settings.php:30
745
- msgid "Useful if you need to remove the user from third-party services."
746
  msgstr ""
747
 
748
- #: admin/partials/settings.php:36
749
- msgid "Send all deletion requests to the review table."
750
  msgstr ""
751
 
752
- #: admin/partials/settings.php:41
753
- msgid "Refresh page after updating preferences"
754
  msgstr ""
755
 
756
- #: admin/partials/settings.php:46
757
- msgid "Useful for landing pages or to track a visit with Google Analytics."
758
  msgstr ""
759
 
760
- #: admin/partials/settings.php:51
761
- msgid "Disable CSS"
762
  msgstr ""
763
 
764
- #: admin/partials/settings.php:55
765
- msgid "Make sure you know what you are doing before checking this."
766
  msgstr ""
767
 
768
- #: admin/partials/settings.php:60
769
- msgid "Enable the Telemetry Tracker"
770
  msgstr ""
771
 
772
- #: admin/partials/settings.php:61, admin/partials/settings.php:62
773
- msgid "This tracks data that is being sent to outside servers."
 
774
  msgstr ""
775
 
776
- #: admin/partials/settings.php:68
777
- msgid "Toggles the Telemetry Tracker On/Off. (experimental)"
 
778
  msgstr ""
779
 
780
- #: admin/partials/settings.php:73
781
- msgid "Hide plugin content from bots"
 
782
  msgstr ""
783
 
784
- #: admin/partials/settings.php:74, admin/partials/settings.php:75
785
- msgid "We detect if the user agent is a bot like Googlebot and hide our added content from it. Displaying this content might be harmful for SEO."
 
786
  msgstr ""
787
 
788
- #: admin/partials/settings.php:86
789
- msgid "Template to use when asking for re-consent"
 
790
  msgstr ""
791
 
792
- #: admin/partials/settings.php:87, admin/partials/settings.php:88
793
- msgid "Users can choose between a bar similar to the privacy bar that does not prevent navigation and a modal that displays the new policy content and prevents navigation until accepted."
794
  msgstr ""
795
 
796
- #: admin/partials/settings.php:95
797
- msgid "Bar"
798
  msgstr ""
799
 
800
- #: admin/partials/settings.php:96
801
- msgid "Modal"
802
  msgstr ""
803
 
804
- #: admin/partials/settings.php:103
805
- msgid "Privacy Center"
806
  msgstr ""
807
 
808
- #: admin/partials/settings.php:105
809
- msgid "This section handles the privacy bar and some of the privacy preferences window."
810
  msgstr ""
811
 
812
- #: admin/partials/settings.php:110
813
- msgid "Enable the Privacy Bar"
814
  msgstr ""
815
 
816
- #: admin/partials/settings.php:114
817
- msgid "Toggles the Privacy Bar On/Off."
818
  msgstr ""
819
 
820
- #: admin/partials/settings.php:119
821
- msgid "Display the cookie categories in the privacy bar"
822
  msgstr ""
823
 
824
- #: admin/partials/settings.php:128
825
- msgid "Privacy Bar Content"
826
  msgstr ""
827
 
828
- #: admin/partials/settings.php:129, admin/partials/settings.php:130
829
- msgid "Add a brief explanation of how your site collects user data. This will show up in the privacy bar."
830
  msgstr ""
831
 
832
- #: admin/partials/settings.php:141
833
- msgid "Privacy Excerpt"
834
  msgstr ""
835
 
836
- #: admin/partials/settings.php:142, admin/partials/settings.php:143
837
- msgid "This will show up in the privacy preferences window."
838
  msgstr ""
839
 
840
- #: admin/partials/settings.php:150
841
- msgid "This will appear in the consent section of the privacy preference window."
842
  msgstr ""
843
 
844
- #: admin/partials/settings.php:156
845
- msgid "Request Forms reCAPTCHA"
846
  msgstr ""
847
 
848
- #: admin/partials/settings.php:157
849
- msgid "To prevent spam attacks, you have the option to enable reCAPTCHA. Configure your keys below to make it work with our request forms."
850
  msgstr ""
851
 
852
- #: admin/partials/settings.php:162
853
- msgid "You can find the necessary information %s."
854
  msgstr ""
855
 
856
- #: admin/partials/settings.php:163
857
- msgid "here"
858
  msgstr ""
859
 
860
- #: admin/partials/settings.php:171
861
- msgid "Enable reCAPTCHA"
862
  msgstr ""
863
 
864
- #: admin/partials/settings.php:180
865
- msgid "Site Key"
866
  msgstr ""
867
 
868
- #: admin/partials/settings.php:189
869
- msgid "Secret Key"
870
  msgstr ""
871
 
872
- #: admin/partials/settings.php:200
873
- msgid "WooCommerce"
874
  msgstr ""
875
 
876
- #: admin/partials/settings.php:205
877
- msgid "Add consent checkboxes to the registration page"
878
  msgstr ""
879
 
880
- #: admin/partials/settings.php:214
881
- msgid "Add consent checkboxes to the checkout registration form"
882
  msgstr ""
883
 
884
- #: admin/partials/settings.php:226
885
- msgid "Cookies"
886
  msgstr ""
887
 
888
- #: admin/partials/settings.php:227
889
- msgid "Category name"
890
  msgstr ""
891
 
892
- #: admin/partials/settings.php:228
893
- msgid "Add cookie category"
894
  msgstr ""
895
 
896
- #: admin/partials/settings.php:232, admin/partials/templates/tmpl-cookies.php:3
897
- msgid "Remove this tab."
898
  msgstr ""
899
 
900
- #: admin/partials/settings.php:238, admin/partials/templates/tmpl-cookies.php:9
901
- msgid "Category Name"
902
  msgstr ""
903
 
904
- #: admin/partials/settings.php:239, admin/partials/settings.php:240
905
- msgid "Change this value if you want to name it something different."
906
  msgstr ""
907
 
908
- #: admin/partials/settings.php:252, admin/partials/templates/tmpl-cookies.php:23
909
- msgid "Status"
910
  msgstr ""
911
 
912
- #: admin/partials/settings.php:253, admin/partials/settings.php:254, admin/partials/templates/tmpl-cookies.php:24, admin/partials/templates/tmpl-cookies.php:25
913
- msgid "Required cookies are cookies that cannot be opted out of and are needed for the site to function properly. Soft opt-in will allow cookies on first landing but can be opted-out of. Checked means that the cookie category will be checked by default and will be set after the user agrees to them. Unchecked means the user needs to manually toggle the category on to allow these cookies."
914
  msgstr ""
915
 
916
- #: admin/partials/settings.php:262, public/partials/privacy-preferences-modal.php:75, public/partials/privacy-preferences-modal.php:124, admin/partials/templates/tmpl-cookies.php:33
917
- msgid "Required"
918
  msgstr ""
919
 
920
- #: admin/partials/settings.php:263, admin/partials/templates/tmpl-cookies.php:34
921
- msgid "Soft Opt-in"
922
  msgstr ""
923
 
924
- #: admin/partials/settings.php:264, admin/partials/templates/tmpl-cookies.php:35
925
- msgid "Checked"
 
926
  msgstr ""
927
 
928
- #: admin/partials/settings.php:265, admin/partials/templates/tmpl-cookies.php:36
929
- msgid "Unchecked"
930
  msgstr ""
931
 
932
- #: admin/partials/settings.php:272, admin/partials/settings.php:325, admin/partials/templates/tmpl-cookies.php:43, admin/partials/templates/tmpl-cookies.php:100
933
- msgid "Cookies used"
934
  msgstr ""
935
 
936
- #: admin/partials/settings.php:273, admin/partials/settings.php:274, admin/partials/templates/tmpl-cookies.php:44, admin/partials/templates/tmpl-cookies.php:45
937
- msgid "A comma-separated list of cookies that your site is using that fit this category."
938
  msgstr ""
939
 
940
- #: admin/partials/settings.php:282, admin/partials/templates/tmpl-cookies.php:53, admin/partials/templates/tmpl-cookies.php:104
941
- msgid "Comma separated list."
942
  msgstr ""
943
 
944
- #: admin/partials/settings.php:288, admin/partials/templates/tmpl-cookies.php:59
945
- msgid "How are these used"
946
  msgstr ""
947
 
948
- #: admin/partials/settings.php:289, admin/partials/settings.php:290
949
- msgid "A brief explanation of why you are requesting to use these cookies, what they are for, and how you process them."
 
950
  msgstr ""
951
 
952
- #: admin/partials/settings.php:300, admin/partials/templates/tmpl-cookies.php:71
953
- msgid "Third party domain"
954
  msgstr ""
955
 
956
- #: admin/partials/settings.php:301, admin/partials/settings.php:302
957
- msgid "E.g. facebook.com"
958
  msgstr ""
959
 
960
- #: admin/partials/settings.php:308, admin/partials/templates/tmpl-cookies.php:79
961
- msgid "domain.com"
962
  msgstr ""
963
 
964
- #: admin/partials/settings.php:309, admin/partials/templates/tmpl-cookies.php:80
965
- msgid "Add"
966
  msgstr ""
967
 
968
- #: admin/partials/settings.php:311, admin/partials/templates/tmpl-cookies.php:82
969
- msgid "Cookies that are set by a third party, like facebook.com."
970
  msgstr ""
971
 
972
- #: admin/partials/settings.php:319, admin/partials/templates/tmpl-cookies.php:95
973
- msgid "Remove this domain."
974
  msgstr ""
975
 
976
- #: admin/partials/settings.php:326, admin/partials/settings.php:327
977
- msgid "A comma separated list of cookies that your site is using from this third-party provider."
 
978
  msgstr ""
979
 
980
- #: admin/partials/settings.php:339
981
- msgid "Opt Out Link"
982
  msgstr ""
983
 
984
- #: admin/partials/settings.php:340, admin/partials/settings.php:341
985
- msgid "Add a link with the third-party instructions on how to opt out of their cookies."
 
986
  msgstr ""
987
 
988
- #: admin/partials/settings.php:349, admin/partials/templates/tmpl-cookies.php:112
989
- msgid "Url with instructions on how to opt out."
990
  msgstr ""
991
 
992
- #: admin/partials/settings.php:365
993
- msgid "E.g. Privacy Policy or Cookie Policy"
994
  msgstr ""
995
 
996
- #: admin/partials/settings.php:366
997
- msgid "Add consent"
998
  msgstr ""
999
 
1000
- #: admin/partials/settings.php:371, admin/partials/templates/tmpl-consents.php:3
1001
- msgid "Unregister this consent."
1002
  msgstr ""
1003
 
1004
- #: admin/partials/settings.php:378, admin/partials/templates/tmpl-consents.php:10
1005
- msgid "Policy Page"
1006
  msgstr ""
1007
 
1008
- #: admin/partials/settings.php:379, admin/partials/settings.php:380, admin/partials/templates/tmpl-consents.php:11, admin/partials/templates/tmpl-consents.php:12
1009
- msgid "This page will be tracked for changes and you will be prompted to ask users to re-consent to the new policy. Selecting a page will make this consent required."
1010
  msgstr ""
1011
 
1012
- #: admin/partials/settings.php:397, admin/partials/templates/tmpl-consents.php:29
1013
- msgid "Long description"
1014
  msgstr ""
1015
 
1016
- #: admin/partials/settings.php:398, admin/partials/settings.php:399, admin/partials/templates/tmpl-consents.php:30, admin/partials/templates/tmpl-consents.php:31
1017
- msgid "This will show up at the privacy preferences center, under the name of the consent."
1018
  msgstr ""
1019
 
1020
- #: admin/partials/settings.php:409, admin/partials/templates/tmpl-consents.php:41
1021
- msgid "Short description"
1022
  msgstr ""
1023
 
1024
- #: admin/partials/settings.php:410, admin/partials/settings.php:411, admin/partials/templates/tmpl-consents.php:42, admin/partials/templates/tmpl-consents.php:43
1025
- msgid "This will show up at registration forms next to checkboxes."
1026
  msgstr ""
1027
 
1028
- #: admin/partials/tools.php:33
1029
- msgid "Data Breach confirmed. Preparing bulk emails."
1030
  msgstr ""
1031
 
1032
- #: admin/partials/tools.php:59, admin/partials/tools.php:121
1033
- msgid "Search by email"
1034
  msgstr ""
1035
 
1036
- #: admin/partials/tools.php:62, admin/partials/tools.php:125
1037
- msgid "Search"
1038
  msgstr ""
1039
 
1040
- #: admin/partials/tools.php:76
1041
- msgid "Email content"
 
1042
  msgstr ""
1043
 
1044
- #: admin/partials/tools.php:79
1045
- msgid "The content that the end user will see before the below information."
1046
  msgstr ""
1047
 
1048
- #: admin/partials/tools.php:83
1049
- msgid "Nature of the personal data breach"
1050
  msgstr ""
1051
 
1052
- #: admin/partials/tools.php:86
1053
- msgid "Describe the nature of the personal data breach including where possible, the categories and the approximate number of data subjects concerned and the categories and the approximate number of personal data records concerned."
1054
  msgstr ""
1055
 
1056
- #: admin/partials/tools.php:90
1057
- msgid "Name and contact details of the data protection officer"
1058
  msgstr ""
1059
 
1060
- #: admin/partials/tools.php:93
1061
- msgid "Communicate the name and contact details of the data protection officer or another point of contact where more information can be obtained."
1062
  msgstr ""
1063
 
1064
- #: admin/partials/tools.php:97
1065
- msgid "Likely consequences of the personal data breach"
1066
  msgstr ""
1067
 
1068
- #: admin/partials/tools.php:103
1069
- msgid "Measures taken or proposed to be taken"
1070
  msgstr ""
1071
 
1072
- #: admin/partials/tools.php:106
1073
- msgid "Describe the measures taken or proposed to be taken by the controller to address the personal data breach, including, where appropriate, measures to mitigate its possible adverse effects."
1074
  msgstr ""
1075
 
1076
- #: admin/partials/tools.php:110
1077
- msgid "Send confirmation email"
1078
  msgstr ""
1079
 
1080
- #: admin/partials/tools.php:124
1081
- msgid "6 digit token (optional)"
1082
  msgstr ""
1083
 
1084
- #: public/partials/complaint-form.php:8
1085
- msgid "Type your complaint here"
 
1086
  msgstr ""
1087
 
1088
- #: public/partials/confirmation-screens.php:21
1089
  msgid "Your account"
1090
  msgstr ""
1091
 
1092
- #: public/partials/confirmation-screens.php:23
1093
- msgid "Your account has been closed. We are sorry to see you go."
1094
  msgstr ""
1095
 
1096
- #: public/partials/confirmation-screens.php:25
1097
- msgid "Your request has been received and is being reviewed. You will receive an email when we are done."
1098
  msgstr ""
1099
 
1100
- #: public/partials/confirmation-screens.php:29
1101
  msgid "Request Received"
1102
  msgstr ""
1103
 
1104
- #: public/partials/confirmation-screens.php:30
1105
  msgid "Your request has been received. We will be in touch soon."
1106
  msgstr ""
1107
 
1108
- #: public/partials/confirmation-screens.php:38
1109
  msgid "We could not confirm the request key. It may be expired."
1110
  msgstr ""
1111
 
1112
- #: public/partials/confirmation-screens.php:42
1113
  msgid "The key used does not match the request key we have stored."
1114
  msgstr ""
1115
 
1116
- #: public/partials/delete-form.php:22
1117
- msgid "Close my account"
1118
- msgstr ""
1119
-
1120
- #: public/partials/export-data-form.php:9
1121
- msgid "Download my data"
1122
- msgstr ""
1123
-
1124
- #: public/partials/privacy-preferences-modal.php:22
1125
  msgid "Privacy Preference Center"
1126
  msgstr ""
1127
 
1128
- #: public/partials/privacy-preferences-modal.php:27, public/partials/reconsent-modal.php:24
1129
  msgid "Options"
1130
  msgstr ""
1131
 
1132
- #: public/partials/privacy-preferences-modal.php:35
1133
  msgid "Cookie Settings"
1134
  msgstr ""
1135
 
1136
- #: public/partials/privacy-preferences-modal.php:81, public/partials/privacy-preferences-modal.php:130
1137
  msgid "ON"
1138
  msgstr ""
1139
 
1140
- #: public/partials/privacy-preferences-modal.php:82, public/partials/privacy-preferences-modal.php:131
1141
  msgid "OFF"
1142
  msgstr ""
1143
 
1144
- #: public/partials/privacy-preferences-modal.php:105
1145
  msgid "Cookies Used"
1146
  msgstr ""
1147
 
1148
- #: public/partials/privacy-preferences-modal.php:145
1149
  msgid "Opt Out"
1150
  msgstr ""
1151
 
1152
- #: public/partials/privacy-preferences-modal.php:160
1153
  msgid "Save Preferences"
1154
  msgstr ""
1155
 
1156
- #: public/partials/reconsent-bar.php:18
1157
  msgid "Some of our policies have been updated. Please make sure to select the \"View\" link next to each item in order to view changes before agreeing."
1158
  msgstr ""
1159
 
1160
- #: public/partials/reconsent-bar.php:26
1161
  msgid "View"
1162
  msgstr ""
1163
 
1164
- #: public/partials/reconsent-modal.php:20
1165
  msgid "Some of our policies have been updated."
1166
  msgstr ""
1167
 
1168
- #: public/partials/reconsent-modal.php:89
1169
  msgid "Disagree"
1170
  msgstr ""
1171
 
1172
- #: public/partials/rectify-form.php:8
1173
- msgid "Type your rectification request here"
1174
- msgstr ""
1175
-
1176
- #: templates/email/complaint-request.php:4
1177
  msgid ""
1178
  "Someone placed a complaint on your behalf on our site.\n"
1179
  "By clicking confirm a request will be made and we will do our best to fulfil it.\n"
@@ -1195,13 +1163,14 @@ msgid ""
1195
  ""
1196
  msgstr ""
1197
 
1198
- #: templates/email/complaint-resolved.php:3
1199
  msgid ""
1200
  "We resolved your complaint request.\n"
1201
  "If you have any problems or questions, don't hesitate to contact us."
1202
  msgstr ""
1203
 
1204
- #: templates/email/data-breach-notification.php:4
 
1205
  msgid ""
1206
  "%1$s\n"
1207
  "\n"
@@ -1227,7 +1196,8 @@ msgid ""
1227
  ""
1228
  msgstr ""
1229
 
1230
- #: templates/email/data-breach-request.php:4
 
1231
  msgid ""
1232
  "A request to send a mass email notification to all users regarding a data breach has been made by %1$s.\n"
1233
  "\n"
@@ -1260,7 +1230,8 @@ msgid ""
1260
  ""
1261
  msgstr ""
1262
 
1263
- #: templates/email/delete-request.php:4
 
1264
  msgid ""
1265
  "Someone placed a request for your information to be removed from our site.\n"
1266
  "By clicking confirm your account will be removed from our site and all data we collected\n"
@@ -1278,7 +1249,8 @@ msgid ""
1278
  ""
1279
  msgstr ""
1280
 
1281
- #: templates/email/delete-resolved.php:5
 
1282
  msgid ""
1283
  "Your account has been closed.\n"
1284
  "\n"
@@ -1289,7 +1261,8 @@ msgid ""
1289
  "%s"
1290
  msgstr ""
1291
 
1292
- #: templates/email/export-data-request.php:4
 
1293
  msgid ""
1294
  "Someone requested to download your data from our site.\n"
1295
  "By clicking confirm we will redirect you back to our site where a download will begin.\n"
@@ -1304,14 +1277,16 @@ msgid ""
1304
  ""
1305
  msgstr ""
1306
 
1307
- #: templates/email/new-request.php:5
 
1308
  msgid ""
1309
  "There is a new %1$s request waiting for review.\n"
1310
  "\n"
1311
  "Review your requests: %2$s"
1312
  msgstr ""
1313
 
1314
- #: templates/email/rectify-request.php:4
 
1315
  msgid ""
1316
  "Someone placed a request for your information to be rectified on our site.\n"
1317
  "By clicking confirm a request will be made and we will do our best to fulfil it.\n"
@@ -1333,40 +1308,16 @@ msgid ""
1333
  ""
1334
  msgstr ""
1335
 
1336
- #: templates/email/rectify-resolved.php:3
1337
  msgid ""
1338
  "We resolved your rectification request.\n"
1339
  "If you have any problems or questions, don't hesitate to contact us."
1340
  msgstr ""
1341
 
1342
- #: admin/partials/templates/tmpl-cookies.php:10, admin/partials/templates/tmpl-cookies.php:11
1343
- msgid "Change this value if you want to rename this category something different."
1344
- msgstr ""
1345
-
1346
- #: admin/partials/templates/tmpl-cookies.php:60, admin/partials/templates/tmpl-cookies.php:61
1347
- msgid "A brief explanation on why you are requesting to use these cookies, what they are for and how you process them."
1348
- msgstr ""
1349
-
1350
- #: admin/partials/templates/tmpl-cookies.php:72, admin/partials/templates/tmpl-cookies.php:73
1351
- msgid "E.g. youtube.com"
1352
- msgstr ""
1353
-
1354
- #: admin/partials/templates/tmpl-cookies.php:108
1355
- msgid "How to Opt Out"
1356
- msgstr ""
1357
-
1358
- #: admin/partials/templates/tmpl-tools.php:3, admin/partials/templates/tmpl-tools.php:23
1359
- msgid "Result"
1360
- msgstr ""
1361
-
1362
- #: admin/partials/templates/tmpl-tools.php:14, admin/partials/templates/tmpl-tools.php:44
1363
- msgid "Error"
1364
- msgstr ""
1365
-
1366
- #: admin/partials/templates/tmpl-tools.php:16
1367
- msgid "We could not find a any logs for that email and token combination."
1368
  msgstr ""
1369
 
1370
- #: admin/partials/templates/tmpl-tools.php:46
1371
- msgid "We could not find a user with that email."
1372
  msgstr ""
1
+ # Copyright (C) 2020 GDPR
2
+ # This file is distributed under the same license as the GDPR package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: GDPR\n"
6
  "MIME-Version: 1.0\n"
7
  "Content-Type: text/plain; charset=UTF-8\n"
8
  "Content-Transfer-Encoding: 8bit\n"
13
  "X-Poedit-SourceCharset: UTF-8\n"
14
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
15
 
16
+ #: ../admin/class-gdpr-admin.php:100, ../admin/class-gdpr-admin.php:113, ../admin/class-gdpr-admin.php:564
17
  msgid "GDPR"
18
  msgstr ""
19
 
20
+ #: ../admin/class-gdpr-admin.php:120, ../admin/partials/requests.php:18
21
  msgid "Requests"
22
  msgstr ""
23
 
24
+ #: ../admin/class-gdpr-admin.php:126, ../admin/partials/tools.php:42
25
  msgid "Tools"
26
  msgstr ""
27
 
28
+ #: ../admin/class-gdpr-admin.php:132
29
  msgid "Settings"
30
  msgstr ""
31
 
32
+ #: ../admin/class-gdpr-admin.php:287, ../admin/partials/requests.php:32, ../includes/class-gdpr-help.php:40, ../includes/class-gdpr-help.php:46
33
  msgid "Rectify Data"
34
  msgstr ""
35
 
36
+ #: ../admin/class-gdpr-admin.php:291
37
  msgid "Complaint"
38
  msgstr ""
39
 
40
+ #: ../admin/class-gdpr-admin.php:295, ../includes/class-gdpr-help.php:62
41
  msgid "Erasure"
42
  msgstr ""
43
 
44
+ #: ../admin/class-gdpr-admin.php:312, ../admin/partials/tools.php:53, ../includes/class-gdpr-help.php:91, ../includes/class-gdpr-help.php:96
45
  msgid "Access Data"
46
  msgstr ""
47
 
48
+ #: ../admin/class-gdpr-admin.php:313, ../admin/partials/tools.php:70, ../includes/class-gdpr-help.php:108
49
  msgid "Data Breach"
50
  msgstr ""
51
 
52
+ #: ../admin/class-gdpr-admin.php:314, ../admin/partials/tools.php:115, ../includes/class-gdpr-help.php:113, ../includes/class-gdpr-help.php:121
53
  msgid "Audit Log"
54
  msgstr ""
55
 
56
+ #: ../admin/class-gdpr-admin.php:394
57
  msgid "Consent Given"
58
  msgstr ""
59
 
60
+ #: ../admin/class-gdpr-admin.php:398
61
  msgid "Consent ID"
62
  msgstr ""
63
 
64
+ #: ../admin/class-gdpr-admin.php:410, ../admin/partials/requests.php:289
65
  msgid "Comments"
66
  msgstr ""
67
 
68
+ #: ../admin/class-gdpr-admin.php:415
69
  msgid "Comment Field"
70
  msgstr ""
71
 
72
+ #: ../admin/class-gdpr-admin.php:416
73
  msgid "Comment Data"
74
  msgstr ""
75
 
76
+ #: ../admin/class-gdpr-admin.php:452
77
  msgid "Metadata"
78
  msgstr ""
79
 
80
+ #: ../admin/class-gdpr-admin.php:456
81
  msgid "Name"
82
  msgstr ""
83
 
84
+ #: ../admin/class-gdpr-admin.php:457
85
  msgid "Value"
86
  msgstr ""
87
 
88
+ #: ../admin/class-gdpr-admin.php:511
89
  msgid "No logs found for this email."
90
  msgstr ""
91
 
92
+ #: ../admin/class-gdpr-admin.php:523
93
  msgid "Review your settings"
94
  msgstr ""
95
 
96
+ #: ../admin/class-gdpr-admin.php:524
97
  msgid "We have added a few new options which must be reviewed before continuing to use the plugin."
98
  msgstr ""
99
 
100
+ #: ../admin/class-gdpr-admin.php:525
101
  msgid "For cookies, we have added a status which allows you to set them as ON, OFF or Required. For consents, we moved the policy selector into each consent. All policies can now be tracked through this."
102
  msgstr ""
103
 
104
+ #: ../admin/class-gdpr-admin.php:526
105
  msgid "Please keep in mind the plugin might not work as intended until these settings are reviewed."
106
  msgstr ""
107
 
108
+ #. translators: 1: Current PHP version 2: Required PHP version.
109
+ #. translators: 1: Current PHP version 2: Required PHP version.
110
+ #: ../admin/class-gdpr-admin.php:566, ../includes/class-gdpr-activator.php:36
111
  msgid "Your current PHP version (%1$s) is below the plugin required version of %2$s."
112
  msgstr ""
113
 
114
+ #. translators: Name of the page that was updated.
115
+ #: ../admin/class-gdpr-admin.php:588
116
  msgid "Your %s page has been updated."
117
  msgstr ""
118
 
119
+ #: ../admin/class-gdpr-admin.php:590
120
  msgid "In case this was not a small typo fix, you must ask users for explicit consent again."
121
  msgstr ""
122
 
123
+ #: ../admin/class-gdpr-admin.php:599
124
  msgid "Ask for consent"
125
  msgstr ""
126
 
127
+ #: ../admin/class-gdpr-admin.php:608
128
  msgid "Ignore"
129
  msgstr ""
130
 
131
+ #: ../admin/class-gdpr-admin.php:623, ../admin/class-gdpr-admin.php:748, ../admin/class-gdpr-admin.php:832, ../admin/class-gdpr-requests-admin.php:282, ../admin/class-gdpr-requests-admin.php:323, ../public/class-gdpr-public.php:233, ../public/class-gdpr-public.php:426, ../public/class-gdpr-requests-public.php:84
132
+ msgid "We could not verify the security token. Please try again."
133
  msgstr ""
134
 
135
+ #: ../admin/class-gdpr-admin.php:635
136
  msgid "One or more required fields are missing. Please try again."
137
  msgstr ""
138
 
139
+ #: ../admin/class-gdpr-admin.php:685
140
  msgid "Data breach notification has been initialized. An email confirmation has been sent to the website controller."
141
  msgstr ""
142
 
143
+ #: ../admin/class-gdpr-admin.php:730
144
  msgid "ERROR"
145
  msgstr ""
146
 
147
+ #: ../admin/class-gdpr-admin.php:732
148
  msgid "is a required consent"
149
  msgstr ""
150
 
151
  #. translators: 1: The name of the policy that was updated.
152
+ #: ../admin/class-gdpr-admin.php:772
153
  msgid "%1$s has been updated. Removing the %1$s consent and requesting new consent."
154
  msgstr ""
155
 
156
+ #: ../admin/class-gdpr-admin.php:859, ../includes/class-gdpr-help.php:184, ../templates/privacy-preferences-modal.php:32, ../templates/privacy-preferences-modal.php:65, ../templates/reconsent-modal.php:31
157
  msgid "Consent Management"
158
  msgstr ""
159
 
160
+ #: ../admin/class-gdpr-admin.php:896
161
  msgid "Profile Updated. These are the user consents after the save:"
162
  msgstr ""
163
 
164
+ #: ../admin/class-gdpr-admin.php:991, ../admin/partials/settings.php:363
165
  msgid "Consents"
166
  msgstr ""
167
 
168
+ #: ../admin/class-gdpr-requests-admin.php:30, ../admin/class-gdpr-requests-admin.php:159, ../admin/class-gdpr-requests-admin.php:207, ../admin/class-gdpr-requests-admin.php:244
169
  msgid "We could not verify the user email or the security token. Please try again."
170
  msgstr ""
171
 
172
+ #. translators: User email
173
+ #: ../admin/class-gdpr-requests-admin.php:59
174
+ msgid "User %s is the only admin of the site. It cannot be deleted."
175
  msgstr ""
176
 
177
+ #: ../admin/class-gdpr-requests-admin.php:37, ../admin/class-gdpr-requests-admin.php:290, ../admin/class-gdpr-requests-admin.php:337, ../public/partials/confirmation-screens.php:34
178
+ msgid "User not found."
179
  msgstr ""
180
 
181
+ #: ../admin/class-gdpr-requests-admin.php:80, ../admin/class-gdpr-requests-admin.php:121
182
  msgid "User added to the deletion requests list by admin."
183
  msgstr ""
184
 
185
+ #. translators: User email
186
+ #. translators: User email
187
+ #: ../admin/class-gdpr-requests-admin.php:82, ../admin/class-gdpr-requests-admin.php:123
188
  msgid "User %s was added to the deletion table."
189
  msgstr ""
190
 
191
+ #: ../admin/class-gdpr-requests-admin.php:105
192
  msgid "User already placed a deletion request."
193
  msgstr ""
194
 
195
+ #: ../admin/class-gdpr-requests-admin.php:145, ../admin/class-gdpr-requests-admin.php:193
196
  msgid "We could not verify the type of request you want to cancel."
197
  msgstr ""
198
 
199
  #. translators: The type of request
200
+ #. translators: The type of request i.e. 'delete'
201
+ #: ../admin/class-gdpr-requests-admin.php:153, ../admin/class-gdpr-requests-admin.php:201
202
  msgid "Type of request '%s' is not an allowed type."
203
  msgstr ""
204
 
205
  #. translators: The type of request i.e 'delete'
206
+ #: ../admin/class-gdpr-requests-admin.php:168
207
  msgid "User was removed from the %s request list by admin."
208
  msgstr ""
209
 
210
+ #. translators: User email
211
+ #: ../admin/class-gdpr-requests-admin.php:171
212
  msgid "User %s was removed from this request table."
213
  msgstr ""
214
 
215
+ #. translators: User email.
216
+ #: ../admin/class-gdpr-requests-admin.php:219
217
  msgid "User %s request was marked as resolved by admin."
218
  msgstr ""
219
 
220
+ #. translators: User email.
221
+ #: ../admin/class-gdpr-requests-admin.php:222
222
  msgid "Request was resolved. User %s has been notified."
223
  msgstr ""
224
 
225
+ #: ../admin/class-gdpr-requests-admin.php:255, ../public/class-gdpr-requests-public.php:46
226
  msgid "User was removed from the site."
227
  msgstr ""
228
 
229
+ #. translators: User email
230
+ #: ../admin/class-gdpr-requests-admin.php:260
231
  msgid "User %s was deleted from the site."
232
  msgstr ""
233
 
234
+ #: ../admin/class-gdpr-requests-admin.php:308
 
 
 
 
235
  msgid "Guest"
236
  msgstr ""
237
 
238
+ #: ../admin/class-gdpr-requests-admin.php:312
239
  msgid "User comments were anonymized."
240
  msgstr ""
241
 
242
+ #: ../admin/class-gdpr-requests-admin.php:327
243
  msgid "Essential data missing. Please try again."
244
  msgstr ""
245
 
246
  #. translators: 1: The post type, 2: The user the posts were reassigned to
247
+ #: ../admin/class-gdpr-requests-admin.php:362
248
  msgid "User %1$s were reassigned to %2$s."
249
  msgstr ""
250
 
251
+ #: ../admin/class-gdpr-requests-admin.php:366
252
  msgid "Something went wrong. Please try again."
253
  msgstr ""
254
 
255
+ #: ../admin/partials/requests.php:36, ../admin/partials/requests.php:88, ../admin/partials/requests.php:102, ../admin/partials/requests.php:145, ../admin/partials/requests.php:172, ../admin/partials/requests.php:327
256
+ msgid "Email"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
257
  msgstr ""
258
 
259
+ #: ../admin/partials/requests.php:37, ../admin/partials/requests.php:89, ../admin/partials/requests.php:173, ../admin/partials/requests.php:328
260
+ msgid "Date of Request"
261
  msgstr ""
262
 
263
+ #: ../admin/partials/requests.php:38, ../admin/partials/requests.php:90, ../admin/partials/requests.php:104, ../admin/partials/requests.php:147
264
+ msgid "Information"
265
  msgstr ""
266
 
267
+ #: ../admin/partials/requests.php:39, ../admin/partials/requests.php:91, ../admin/partials/requests.php:105, ../admin/partials/requests.php:148, ../admin/partials/requests.php:175, ../admin/partials/requests.php:330
268
+ msgid "Actions"
269
  msgstr ""
270
 
271
+ #: ../admin/partials/requests.php:81, ../admin/partials/requests.php:138, ../admin/partials/requests.php:320
272
+ msgid "No pending requests"
 
273
  msgstr ""
274
 
275
+ #: ../admin/partials/requests.php:65, ../admin/partials/requests.php:122, ../admin/partials/requests.php:205
276
+ msgid "Cancel Request"
 
277
  msgstr ""
278
 
279
+ #: ../admin/partials/requests.php:73, ../admin/partials/requests.php:130
280
+ msgid "Mark as Resolved"
 
281
  msgstr ""
282
 
283
+ #: ../admin/partials/requests.php:98, ../includes/class-gdpr-help.php:51, ../includes/class-gdpr-help.php:57
284
+ msgid "Complaints"
 
285
  msgstr ""
286
 
287
+ #: ../admin/partials/requests.php:103, ../admin/partials/requests.php:146
288
+ msgid "Date of Complaint"
 
289
  msgstr ""
290
 
291
+ #: ../admin/partials/requests.php:155
292
+ msgid "Right to erasure"
293
  msgstr ""
294
 
295
+ #: ../admin/partials/requests.php:162
296
+ msgid "Manually add a user"
297
  msgstr ""
298
 
299
+ #: ../admin/partials/requests.php:164, ../admin/partials/tools.php:61, ../admin/partials/tools.php:123, ../templates/forms/complaint-form.php:6, ../templates/forms/delete-form.php:19, ../templates/forms/export-data-form.php:6, ../templates/forms/rectify-form.php:6
300
+ msgid "email@domain.com"
301
  msgstr ""
302
 
303
+ #: ../admin/partials/requests.php:165
304
+ msgid "Submit"
305
  msgstr ""
306
 
307
+ #: ../admin/partials/requests.php:174, ../admin/partials/requests.php:189, ../admin/partials/requests.php:225, ../admin/partials/requests.php:329
308
+ msgid "Review"
309
  msgstr ""
310
 
311
+ #: ../admin/partials/requests.php:191
312
+ msgid "No content to review"
313
  msgstr ""
314
 
315
+ #: ../admin/partials/requests.php:212
316
+ msgid "Delete User"
317
  msgstr ""
318
 
319
+ #: ../admin/partials/requests.php:223
320
+ msgid "Content Type"
321
  msgstr ""
322
 
323
+ #: ../admin/partials/requests.php:224
324
+ msgid "Count"
325
  msgstr ""
326
 
327
+ #: ../admin/partials/requests.php:226, ../admin/partials/requests.php:269
328
+ msgid "Reassign"
329
  msgstr ""
330
 
331
+ #: ../admin/partials/requests.php:227
332
+ msgid "Action"
333
  msgstr ""
334
 
335
+ #: ../admin/partials/requests.php:271, ../admin/partials/requests.php:300
336
+ msgid "Resolved"
337
  msgstr ""
338
 
339
+ #: ../admin/partials/requests.php:291
340
+ msgid "View Comments"
341
  msgstr ""
342
 
343
+ #: ../admin/partials/requests.php:298
344
+ msgid "Anonymize"
345
  msgstr ""
346
 
347
+ #: ../admin/partials/settings.php:2
348
+ msgid "GDPR Settings"
349
  msgstr ""
350
 
351
+ #: ../admin/partials/settings.php:14
352
+ msgid "Outgoing email limit"
353
  msgstr ""
354
 
355
+ #: ../admin/partials/settings.php:15, ../admin/partials/settings.php:16
356
+ msgid "This is the hourly outgoing email limit set by your server."
357
  msgstr ""
358
 
359
+ #: ../admin/partials/settings.php:23
360
+ msgid "Emails/hour"
361
  msgstr ""
362
 
363
+ #: ../admin/partials/settings.php:28
364
+ msgid "User deletion"
365
  msgstr ""
366
 
367
+ #: ../admin/partials/settings.php:29, ../admin/partials/settings.php:30
368
+ msgid "Useful if you need to remove the user from third-party services."
369
  msgstr ""
370
 
371
+ #: ../admin/partials/settings.php:36
372
+ msgid "Send all deletion requests to the review table."
373
  msgstr ""
374
 
375
+ #: ../admin/partials/settings.php:41
376
+ msgid "Refresh page after updating preferences"
377
  msgstr ""
378
 
379
+ #: ../admin/partials/settings.php:46
380
+ msgid "Useful for landing pages or to track a visit with Google Analytics."
381
  msgstr ""
382
 
383
+ #: ../admin/partials/settings.php:51
384
+ msgid "Disable CSS"
385
  msgstr ""
386
 
387
+ #: ../admin/partials/settings.php:55
388
+ msgid "Make sure you know what you are doing before checking this."
389
  msgstr ""
390
 
391
+ #: ../admin/partials/settings.php:60
392
+ msgid "Enable the Telemetry Tracker"
393
  msgstr ""
394
 
395
+ #: ../admin/partials/settings.php:61, ../admin/partials/settings.php:62
396
+ msgid "This tracks data that is being sent to outside servers."
397
  msgstr ""
398
 
399
+ #: ../admin/partials/settings.php:72
400
+ msgid "Hide plugin content from bots"
401
  msgstr ""
402
 
403
+ #: ../admin/partials/settings.php:73, ../admin/partials/settings.php:74
404
+ msgid "We detect if the user agent is a bot like Googlebot and hide our added content from it. Displaying this content might be harmful for SEO."
405
  msgstr ""
406
 
407
+ #: ../admin/partials/settings.php:85
408
+ msgid "Template to use when asking for re-consent"
409
  msgstr ""
410
 
411
+ #: ../admin/partials/settings.php:86, ../admin/partials/settings.php:87
412
+ msgid "Users can choose between a bar similar to the privacy bar that does not prevent navigation and a modal that displays the new policy content and prevents navigation until accepted."
413
  msgstr ""
414
 
415
+ #: ../admin/partials/settings.php:94
416
+ msgid "Bar"
417
  msgstr ""
418
 
419
+ #: ../admin/partials/settings.php:95
420
+ msgid "Modal"
421
  msgstr ""
422
 
423
+ #: ../admin/partials/settings.php:102
424
+ msgid "Privacy Center"
425
  msgstr ""
426
 
427
+ #: ../admin/partials/settings.php:104
428
+ msgid "This section handles the privacy bar and some of the privacy preferences window."
429
  msgstr ""
430
 
431
+ #: ../admin/partials/settings.php:109
432
+ msgid "Enable the Privacy Bar"
433
  msgstr ""
434
 
435
+ #: ../admin/partials/settings.php:113
436
+ msgid "Toggles the Privacy Bar On/Off."
437
  msgstr ""
438
 
439
+ #: ../admin/partials/settings.php:118
440
+ msgid "Display the cookie categories in the privacy bar"
441
  msgstr ""
442
 
443
+ #: ../admin/partials/settings.php:127
444
+ msgid "Privacy Bar Content"
445
  msgstr ""
446
 
447
+ #: ../admin/partials/settings.php:128, ../admin/partials/settings.php:129
448
+ msgid "Add a brief explanation of how your site collects user data. This will show up in the privacy bar."
449
  msgstr ""
450
 
451
+ #: ../admin/partials/settings.php:140
452
+ msgid "Privacy Excerpt"
453
  msgstr ""
454
 
455
+ #: ../admin/partials/settings.php:141, ../admin/partials/settings.php:142
456
+ msgid "This will show up in the privacy preferences window."
457
  msgstr ""
458
 
459
+ #: ../admin/partials/settings.php:149
460
+ msgid "This will appear in the consent section of the privacy preference window."
461
  msgstr ""
462
 
463
+ #: ../admin/partials/settings.php:155
464
+ msgid "Request Forms reCAPTCHA"
465
  msgstr ""
466
 
467
+ #: ../admin/partials/settings.php:156
468
+ msgid "To prevent spam attacks, you have the option to enable reCAPTCHA. Configure your keys below to make it work with our request forms."
469
  msgstr ""
470
 
471
+ #. translators: External link with instructions on how to proceed.
472
+ #: ../admin/partials/settings.php:161
473
+ msgid "You can find the necessary information %s."
474
  msgstr ""
475
 
476
+ #: ../admin/partials/settings.php:162
477
+ msgid "here"
478
  msgstr ""
479
 
480
+ #: ../admin/partials/settings.php:170
481
+ msgid "Enable reCAPTCHA"
482
  msgstr ""
483
 
484
+ #: ../admin/partials/settings.php:179
485
+ msgid "Site Key"
486
  msgstr ""
487
 
488
+ #: ../admin/partials/settings.php:188
489
+ msgid "Secret Key"
490
  msgstr ""
491
 
492
+ #: ../admin/partials/settings.php:199
493
+ msgid "WooCommerce"
494
  msgstr ""
495
 
496
+ #: ../admin/partials/settings.php:204
497
+ msgid "Add consent checkboxes to the registration page"
498
  msgstr ""
499
 
500
+ #: ../admin/partials/settings.php:213
501
+ msgid "Add consent checkboxes to the checkout registration form"
 
502
  msgstr ""
503
 
504
+ #: ../admin/partials/settings.php:225
505
+ msgid "Cookies"
506
  msgstr ""
507
 
508
+ #: ../admin/partials/settings.php:226
509
+ msgid "Category name"
510
  msgstr ""
511
 
512
+ #: ../admin/partials/settings.php:227
513
+ msgid "Add cookie category"
514
  msgstr ""
515
 
516
+ #: ../admin/partials/settings.php:231, ../admin/partials/templates/tmpl-cookies.php:3
517
+ msgid "Remove this tab."
518
  msgstr ""
519
 
520
+ #: ../admin/partials/settings.php:237, ../admin/partials/templates/tmpl-cookies.php:9
521
+ msgid "Category Name"
522
  msgstr ""
523
 
524
+ #: ../admin/partials/settings.php:238, ../admin/partials/settings.php:239
525
+ msgid "Change this value if you want to name it something different."
526
  msgstr ""
527
 
528
+ #: ../admin/partials/settings.php:251, ../admin/partials/templates/tmpl-cookies.php:23
529
+ msgid "Status"
530
  msgstr ""
531
 
532
+ #: ../admin/partials/settings.php:252, ../admin/partials/settings.php:253, ../admin/partials/templates/tmpl-cookies.php:24, ../admin/partials/templates/tmpl-cookies.php:25
533
+ msgid "Required cookies are cookies that cannot be opted out of and are needed for the site to function properly. Soft opt-in will allow cookies on first landing but can be opted-out of. Checked means that the cookie category will be checked by default and will be set after the user agrees to them. Unchecked means the user needs to manually toggle the category on to allow these cookies."
534
  msgstr ""
535
 
536
+ #: ../admin/partials/settings.php:261, ../admin/partials/templates/tmpl-cookies.php:33, ../templates/privacy-preferences-modal.php:75, ../templates/privacy-preferences-modal.php:124
537
+ msgid "Required"
538
  msgstr ""
539
 
540
+ #: ../admin/partials/settings.php:262, ../admin/partials/templates/tmpl-cookies.php:34
541
+ msgid "Soft Opt-in"
542
  msgstr ""
543
 
544
+ #: ../admin/partials/settings.php:263, ../admin/partials/templates/tmpl-cookies.php:35
545
+ msgid "Checked"
546
  msgstr ""
547
 
548
+ #: ../admin/partials/settings.php:264, ../admin/partials/templates/tmpl-cookies.php:36
549
+ msgid "Unchecked"
550
  msgstr ""
551
 
552
+ #: ../admin/partials/settings.php:271, ../admin/partials/settings.php:324, ../admin/partials/templates/tmpl-cookies.php:43, ../admin/partials/templates/tmpl-cookies.php:100
553
+ msgid "Cookies used"
554
  msgstr ""
555
 
556
+ #: ../admin/partials/settings.php:272, ../admin/partials/settings.php:273, ../admin/partials/templates/tmpl-cookies.php:44, ../admin/partials/templates/tmpl-cookies.php:45
557
+ msgid "A comma-separated list of cookies that your site is using that fit this category."
558
  msgstr ""
559
 
560
+ #: ../admin/partials/settings.php:281, ../admin/partials/templates/tmpl-cookies.php:53, ../admin/partials/templates/tmpl-cookies.php:104
561
+ msgid "Comma separated list."
562
  msgstr ""
563
 
564
+ #: ../admin/partials/settings.php:287, ../admin/partials/templates/tmpl-cookies.php:59
565
+ msgid "How are these used"
566
  msgstr ""
567
 
568
+ #: ../admin/partials/settings.php:288, ../admin/partials/settings.php:289
569
+ msgid "A brief explanation of why you are requesting to use these cookies, what they are for, and how you process them."
570
  msgstr ""
571
 
572
+ #: ../admin/partials/settings.php:299, ../admin/partials/templates/tmpl-cookies.php:71
573
+ msgid "Third party domain"
574
  msgstr ""
575
 
576
+ #: ../admin/partials/settings.php:300, ../admin/partials/settings.php:301
577
+ msgid "E.g. facebook.com"
578
  msgstr ""
579
 
580
+ #: ../admin/partials/settings.php:307, ../admin/partials/templates/tmpl-cookies.php:79
581
+ msgid "domain.com"
582
  msgstr ""
583
 
584
+ #: ../admin/partials/settings.php:308, ../admin/partials/templates/tmpl-cookies.php:80
585
+ msgid "Add"
586
  msgstr ""
587
 
588
+ #: ../admin/partials/settings.php:310, ../admin/partials/templates/tmpl-cookies.php:82
589
+ msgid "Cookies that are set by a third party, like facebook.com."
590
  msgstr ""
591
 
592
+ #: ../admin/partials/settings.php:318, ../admin/partials/templates/tmpl-cookies.php:95
593
+ msgid "Remove this domain."
594
  msgstr ""
595
 
596
+ #: ../admin/partials/settings.php:325, ../admin/partials/settings.php:326
597
+ msgid "A comma separated list of cookies that your site is using from this third-party provider."
598
  msgstr ""
599
 
600
+ #: ../admin/partials/settings.php:338
601
+ msgid "Opt Out Link"
 
602
  msgstr ""
603
 
604
+ #: ../admin/partials/settings.php:339, ../admin/partials/settings.php:340
605
+ msgid "Add a link with the third-party instructions on how to opt out of their cookies."
606
  msgstr ""
607
 
608
+ #: ../admin/partials/settings.php:348, ../admin/partials/templates/tmpl-cookies.php:112
609
+ msgid "Url with instructions on how to opt out."
610
  msgstr ""
611
 
612
+ #: ../admin/partials/settings.php:364
613
+ msgid "E.g. Privacy Policy or Cookie Policy"
614
  msgstr ""
615
 
616
+ #: ../admin/partials/settings.php:365
617
+ msgid "Add consent"
618
  msgstr ""
619
 
620
+ #: ../admin/partials/settings.php:370, ../admin/partials/templates/tmpl-consents.php:3
621
+ msgid "Unregister this consent."
622
  msgstr ""
623
 
624
+ #: ../admin/partials/settings.php:377, ../admin/partials/templates/tmpl-consents.php:10
625
+ msgid "Policy Page"
626
  msgstr ""
627
 
628
+ #: ../admin/partials/settings.php:378, ../admin/partials/settings.php:379, ../admin/partials/templates/tmpl-consents.php:11, ../admin/partials/templates/tmpl-consents.php:12
629
+ msgid "This page will be tracked for changes and you will be prompted to ask users to re-consent to the new policy. Selecting a page will make this consent required."
630
  msgstr ""
631
 
632
+ #: ../admin/partials/settings.php:396, ../admin/partials/templates/tmpl-consents.php:29
633
+ msgid "Long description"
634
  msgstr ""
635
 
636
+ #: ../admin/partials/settings.php:397, ../admin/partials/settings.php:398, ../admin/partials/templates/tmpl-consents.php:30, ../admin/partials/templates/tmpl-consents.php:31
637
+ msgid "This will show up at the privacy preferences center, under the name of the consent."
638
  msgstr ""
639
 
640
+ #: ../admin/partials/settings.php:408, ../admin/partials/templates/tmpl-consents.php:41
641
+ msgid "Short description"
642
  msgstr ""
643
 
644
+ #: ../admin/partials/settings.php:409, ../admin/partials/settings.php:410, ../admin/partials/templates/tmpl-consents.php:42, ../admin/partials/templates/tmpl-consents.php:43
645
+ msgid "This will show up at registration forms next to checkboxes."
646
  msgstr ""
647
 
648
+ #: ../admin/partials/tools.php:33
649
+ msgid "Data Breach confirmed. Preparing bulk emails."
650
  msgstr ""
651
 
652
+ #: ../admin/partials/tools.php:59, ../admin/partials/tools.php:121
653
+ msgid "Search by email"
654
  msgstr ""
655
 
656
+ #: ../admin/partials/tools.php:62, ../admin/partials/tools.php:125
657
+ msgid "Search"
658
  msgstr ""
659
 
660
+ #: ../admin/partials/tools.php:76
661
+ msgid "Email content"
662
  msgstr ""
663
 
664
+ #: ../admin/partials/tools.php:79
665
+ msgid "The content that the end user will see before the below information."
666
  msgstr ""
667
 
668
+ #: ../admin/partials/tools.php:83
669
+ msgid "Nature of the personal data breach"
670
  msgstr ""
671
 
672
+ #: ../admin/partials/tools.php:86
673
+ msgid "Describe the nature of the personal data breach including where possible, the categories and the approximate number of data subjects concerned and the categories and the approximate number of personal data records concerned."
674
  msgstr ""
675
 
676
+ #: ../admin/partials/tools.php:90
677
+ msgid "Name and contact details of the data protection officer"
678
  msgstr ""
679
 
680
+ #: ../admin/partials/tools.php:93
681
+ msgid "Communicate the name and contact details of the data protection officer or another point of contact where more information can be obtained."
682
  msgstr ""
683
 
684
+ #: ../admin/partials/tools.php:97
685
+ msgid "Likely consequences of the personal data breach"
686
  msgstr ""
687
 
688
+ #: ../admin/partials/tools.php:103
689
+ msgid "Measures taken or proposed to be taken"
690
  msgstr ""
691
 
692
+ #: ../admin/partials/tools.php:106
693
+ msgid "Describe the measures taken or proposed to be taken by the controller to address the personal data breach, including, where appropriate, measures to mitigate its possible adverse effects."
694
  msgstr ""
695
 
696
+ #: ../admin/partials/tools.php:110
697
+ msgid "Send confirmation email"
698
  msgstr ""
699
 
700
+ #: ../admin/partials/tools.php:124
701
+ msgid "6 digit token (optional)"
702
  msgstr ""
703
 
704
+ #: ../admin/partials/templates/tmpl-cookies.php:10, ../admin/partials/templates/tmpl-cookies.php:11
705
+ msgid "Change this value if you want to rename this category something different."
706
  msgstr ""
707
 
708
+ #: ../admin/partials/templates/tmpl-cookies.php:60, ../admin/partials/templates/tmpl-cookies.php:61
709
+ msgid "A brief explanation on why you are requesting to use these cookies, what they are for and how you process them."
710
  msgstr ""
711
 
712
+ #: ../admin/partials/templates/tmpl-cookies.php:72, ../admin/partials/templates/tmpl-cookies.php:73
713
+ msgid "E.g. youtube.com"
714
  msgstr ""
715
 
716
+ #: ../admin/partials/templates/tmpl-cookies.php:108
717
+ msgid "How to Opt Out"
718
  msgstr ""
719
 
720
+ #: ../admin/partials/templates/tmpl-tools.php:3, ../admin/partials/templates/tmpl-tools.php:23
721
+ msgid "Result"
722
  msgstr ""
723
 
724
+ #: ../admin/partials/templates/tmpl-tools.php:14, ../admin/partials/templates/tmpl-tools.php:44
725
+ msgid "Error"
726
  msgstr ""
727
 
728
+ #: ../admin/partials/templates/tmpl-tools.php:16
729
+ msgid "We could not find a any logs for that email and token combination."
730
  msgstr ""
731
 
732
+ #: ../admin/partials/templates/tmpl-tools.php:46
733
+ msgid "We could not find a user with that email."
734
  msgstr ""
735
 
736
+ #: ../includes/class-gdpr-email.php:107
737
+ msgid "Data breach notification sent to user."
738
  msgstr ""
739
 
740
+ #. translators: email content
741
+ #: ../includes/class-gdpr-email.php:109
742
+ msgid "Email content: %s"
743
  msgstr ""
744
 
745
+ #. translators: nature of the data breach
746
+ #: ../includes/class-gdpr-email.php:111
747
+ msgid "Nature of data breach: %s"
748
  msgstr ""
749
 
750
+ #. translators: data protection officer contact information
751
+ #: ../includes/class-gdpr-email.php:113
752
+ msgid "Data protection officer contact: %s"
753
  msgstr ""
754
 
755
+ #. translators: likely consequences
756
+ #: ../includes/class-gdpr-email.php:115
757
+ msgid "Likely consequences of breach: %s"
758
  msgstr ""
759
 
760
+ #. translators: measures taken
761
+ #: ../includes/class-gdpr-email.php:117
762
+ msgid "Measures taken or proposed to be taken: %s"
763
  msgstr ""
764
 
765
+ #: ../includes/class-gdpr-email.php:148
766
+ msgid "GDPR Notification: There is a new request waiting to be reviewed."
767
  msgstr ""
768
 
769
+ #: ../includes/class-gdpr-email.php:149
770
+ msgid "Someone requested to close your account."
771
  msgstr ""
772
 
773
+ #: ../includes/class-gdpr-email.php:150
774
+ msgid "Your account has been closed."
775
  msgstr ""
776
 
777
+ #: ../includes/class-gdpr-email.php:151
778
+ msgid "Someone requested that we rectify data of your account."
779
  msgstr ""
780
 
781
+ #: ../includes/class-gdpr-email.php:152, ../includes/class-gdpr-email.php:154, ../includes/class-gdpr-email.php:156
782
+ msgid "Your request has been completed."
783
  msgstr ""
784
 
785
+ #: ../includes/class-gdpr-email.php:153
786
+ msgid "Someone made complaint on behalf of your account."
787
  msgstr ""
788
 
789
+ #: ../includes/class-gdpr-email.php:155
790
+ msgid "Someone requested to download your data."
791
  msgstr ""
792
 
793
+ #: ../includes/class-gdpr-email.php:157
794
+ msgid "Someone requested to send a data breach notification."
795
  msgstr ""
796
 
797
+ #: ../includes/class-gdpr-email.php:158
798
+ msgid "Data Breach Notification."
799
  msgstr ""
800
 
801
+ #: ../includes/class-gdpr-help.php:30, ../includes/class-gdpr-help.php:35, ../includes/class-gdpr-help.php:81, ../includes/class-gdpr-help.php:86
802
+ msgid "Overview"
803
  msgstr ""
804
 
805
+ #: ../includes/class-gdpr-help.php:31
806
+ msgid "This page has multiple request tables. Users can request multiple things like getting deleted from the site or having their data rectified. All requests will come to these tables."
807
  msgstr ""
808
 
809
+ #: ../includes/class-gdpr-help.php:41
810
+ msgid "Users may request to have their data rectified. They can place a request somewhere on your site and those requests will show up here."
811
  msgstr ""
812
 
813
+ #: ../includes/class-gdpr-help.php:42
814
+ msgid "When you complete the request, mark it as resolved and the requester will get a notification email confirming that their request was resolved."
815
  msgstr ""
816
 
817
+ #: ../includes/class-gdpr-help.php:52
818
+ msgid "Users may complain about something that happened. They can place a complaint somewhere on your site and those complaints will show up here."
819
  msgstr ""
820
 
821
+ #: ../includes/class-gdpr-help.php:53
822
+ msgid "When you resolve the problem, mark it as resolved and the requester will get a notification email confirming that his complaint was resolved."
823
  msgstr ""
824
 
825
+ #: ../includes/class-gdpr-help.php:63
826
+ msgid "Users may request to be deleted from the site. If they don't have any content published on the site (including comments) they will be removed from the site automatically. Otherwise, they will show up at this review table where you can reassign or delete their published content and anonymize his comments."
827
  msgstr ""
828
 
829
+ #: ../includes/class-gdpr-help.php:64
830
+ msgid "User may request their data to be deleted. The controller has, according to GDPR, 30 days to fulfill the request. On some occasions, you can ask to extend this time limit. When the request has been resolved the user will receive a notification that their account has been closed."
831
  msgstr ""
832
 
833
+ #: ../includes/class-gdpr-help.php:68
834
+ msgid "Erasures"
835
  msgstr ""
836
 
837
+ #: ../includes/class-gdpr-help.php:82
838
+ msgid "We added tools to make your life easier when you need to perform administrative tasks like notify all your users of a possible data breach."
839
  msgstr ""
840
 
841
+ #: ../includes/class-gdpr-help.php:92
842
+ msgid "Use this page to look for all known data about a user. You can look it up using the user's email address and are able to download it in XML and JSON formats."
843
  msgstr ""
844
 
845
+ #: ../includes/class-gdpr-help.php:101
846
+ msgid "Data Breach Notification"
847
  msgstr ""
848
 
849
+ #: ../includes/class-gdpr-help.php:102
850
+ msgid "Use this carefully."
851
  msgstr ""
852
 
853
+ #: ../includes/class-gdpr-help.php:103
854
+ msgid "This will send a mass email to all your users with the information provided on these fields. This email is throttled based on the hourly limit set on the plugin settings page. "
855
  msgstr ""
856
 
857
+ #: ../includes/class-gdpr-help.php:104
858
+ msgid "Only use this tool if you believe your site has been compromised and that your user's personal data might have been leaked."
859
  msgstr ""
860
 
861
+ #: ../includes/class-gdpr-help.php:114
862
+ msgid "We do not log any of the user's personal data."
863
  msgstr ""
864
 
865
+ #: ../includes/class-gdpr-help.php:115
866
+ msgid "All logs are encrypted before saving to the database. An encrypted log file is created whenever a user gets removed from the site."
867
  msgstr ""
868
 
869
+ #: ../includes/class-gdpr-help.php:116
870
+ msgid "This tool will keep a record of some actions such as changing consent preferences, placing a request, data breach notifications received, etc…"
871
  msgstr ""
872
 
873
+ #: ../includes/class-gdpr-help.php:117
874
+ msgid "The only way to read the logs is to search for the user email. If the data subject is not a registered site user anymore, you need to ask for the 6 digit token that was provided during deletion. That will allow this tool to look for a log file with his information."
875
  msgstr ""
876
 
877
+ #: ../includes/class-gdpr-help.php:134, ../includes/class-gdpr-help.php:140
878
+ msgid "General Settings"
879
  msgstr ""
880
 
881
+ #: ../includes/class-gdpr-help.php:135
882
+ msgid "This plugin needs to know your privacy policy page to track updates to it and ask users to re-consent to your new terms."
883
  msgstr ""
884
 
885
+ #: ../includes/class-gdpr-help.php:136
886
+ msgid "When sending a data breach notification to your users, we need to throttle the emails because of server limitations. This is an hourly limit. Check with your hosting provider before changing this value."
887
  msgstr ""
888
 
889
+ #: ../includes/class-gdpr-help.php:146, ../includes/class-gdpr-help.php:160
890
+ msgid "Cookie Management"
891
  msgstr ""
892
 
893
+ #: ../includes/class-gdpr-help.php:147
894
+ msgid "Fill out every information you can about the cookies your site uses. Set the cookies that you set under Cookies Used and cookies used and set by third parties under the Third party domains."
895
  msgstr ""
896
 
897
+ #. translators: the function
898
+ #: ../includes/class-gdpr-help.php:149
899
+ msgid "You must ask your developer to wrap the code that sets the cookies with our helper function %s."
900
  msgstr ""
901
 
902
+ #: ../includes/class-gdpr-help.php:150
903
+ msgid "Some services like Google Analytics provide a way to opt out from their code with an extra parameter to their snippet."
904
  msgstr ""
905
 
906
+ #: ../includes/class-gdpr-help.php:151, ../includes/class-gdpr-help.php:171
907
+ msgid "External Links"
908
  msgstr ""
909
 
910
+ #: ../includes/class-gdpr-help.php:153, ../includes/class-gdpr-help.php:153
911
+ msgid "WordPress cookies"
912
  msgstr ""
913
 
914
+ #: ../includes/class-gdpr-help.php:166
915
+ msgid "Consent Management ( Coming Soon )"
916
  msgstr ""
917
 
918
+ #: ../includes/class-gdpr-help.php:167
919
+ msgid "All consents are disabled by default. On first registration, your users will need to consent to your privacy policy. Depending on your privacy policy you should register multiple types of consent on this page and allow them to be toggled on/off."
920
  msgstr ""
921
 
922
+ #. translators: the function
923
+ #: ../includes/class-gdpr-help.php:169
924
+ msgid "If you have an optional consent type, you must have a developer wrap the functionality in our helper function %s."
925
  msgstr ""
926
 
927
+ #: ../includes/class-gdpr-help.php:170
928
+ msgid "i.e."
929
  msgstr ""
930
 
931
+ #: ../includes/class-gdpr-help.php:170
932
+ msgid "You registered email marketing as an optional consent but the user did not actively opt into it on their profile page. You should have your email capture form wrapped in our helper function to block registration or better yet, not even display the email capture form. Same goes for blocking adding the user to your mailing system on registration if consent is not given."
933
  msgstr ""
934
 
935
+ #: ../includes/class-gdpr-help.php:173, ../includes/class-gdpr-help.php:173
936
+ msgid "Article 7 - Conditions for consent"
937
  msgstr ""
938
 
939
+ #: ../includes/class-gdpr-help.php:174, ../includes/class-gdpr-help.php:174
940
+ msgid "Article 8 - conditions applicable to child's consent in relation to information society services"
941
  msgstr ""
942
 
943
+ #: ../includes/class-gdpr-help.php:175, ../includes/class-gdpr-help.php:175
944
+ msgid "Recital 42 - Burden of proof and requirements for consent"
945
  msgstr ""
946
 
947
+ #: ../includes/class-gdpr-help.php:176, ../includes/class-gdpr-help.php:176
948
+ msgid "Recital 43 - Freely Given consent"
949
  msgstr ""
950
 
951
+ #. translators: Name of the usermeta
952
+ #: ../includes/class-gdpr-requests.php:243
953
+ msgid "User request expired. Removing %s user_meta."
954
  msgstr ""
955
 
956
+ #: ../includes/class-gdpr.php:297
957
+ msgid "User registered to the site."
958
  msgstr ""
959
 
960
+ #. translators: Name of consent
961
+ #: ../includes/class-gdpr.php:304
962
+ msgid "User gave explicit consent to %s"
963
  msgstr ""
964
 
965
+ #: ../includes/helper-functions.php:27, ../templates/privacy-bar.php:38
966
+ msgid "Privacy Preferences"
967
  msgstr ""
968
 
969
+ #: ../public/class-gdpr-public.php:130
970
+ msgid "Aborting"
971
  msgstr ""
972
 
973
+ #: ../public/class-gdpr-public.php:131
974
+ msgid "You are being logged out."
975
  msgstr ""
976
 
977
+ #: ../public/class-gdpr-public.php:132
978
+ msgid "Continue"
979
  msgstr ""
980
 
981
+ #: ../public/class-gdpr-public.php:133
982
+ msgid "Cancel"
983
  msgstr ""
984
 
985
+ #: ../public/class-gdpr-public.php:134, ../public/partials/confirmation-screens.php:58
986
+ msgid "OK"
987
  msgstr ""
988
 
989
+ #: ../public/class-gdpr-public.php:135
990
+ msgid "Close your account?"
991
  msgstr ""
992
 
993
+ #: ../public/class-gdpr-public.php:136
994
+ msgid "Your account will be closed and all data will be permanently deleted and cannot be recovered. Are you sure?"
995
  msgstr ""
996
 
997
+ #: ../public/class-gdpr-public.php:137
998
+ msgid "Are you sure?"
999
  msgstr ""
1000
 
1001
+ #: ../public/class-gdpr-public.php:138
1002
+ msgid "By disagreeing you will no longer have access to our site and will be logged out."
1003
  msgstr ""
1004
 
1005
+ #: ../public/class-gdpr-public.php:156, ../templates/reconsent-bar.php:31, ../templates/reconsent-modal.php:76
1006
+ msgid "I Agree"
1007
  msgstr ""
1008
 
1009
+ #: ../public/class-gdpr-public.php:232, ../public/class-gdpr-public.php:425, ../public/class-gdpr-requests-public.php:83, ../public/class-gdpr-requests-public.php:92, ../public/class-gdpr-requests-public.php:107, ../public/class-gdpr-requests-public.php:127, ../public/class-gdpr-requests-public.php:190, ../public/class-gdpr-requests-public.php:245, ../public/partials/confirmation-screens.php:33, ../public/partials/confirmation-screens.php:37, ../public/partials/confirmation-screens.php:41
1010
+ msgid "Error!"
1011
  msgstr ""
1012
 
1013
+ #: ../public/class-gdpr-public.php:271
1014
+ msgid "User updated their privacy preferences. These are the new approved cookies and consent preferences:"
1015
  msgstr ""
1016
 
1017
+ #. translators: 1: Consent name.
1018
+ #: ../public/class-gdpr-public.php:440
1019
+ msgid "User provided new consent for %1$s."
1020
  msgstr ""
1021
 
1022
+ #: ../public/class-gdpr-requests-public.php:93
1023
+ msgid "Invalid type of request. Please try again."
1024
  msgstr ""
1025
 
1026
+ #: ../public/class-gdpr-requests-public.php:108, ../public/class-gdpr-requests-public.php:128
1027
+ msgid "Please verify that you are not a robot."
1028
  msgstr ""
1029
 
1030
+ #: ../public/class-gdpr-requests-public.php:147, ../public/class-gdpr-requests-public.php:177, ../public/class-gdpr-requests-public.php:238
1031
+ msgid "Email confirmation"
1032
  msgstr ""
1033
 
1034
+ #: ../public/class-gdpr-requests-public.php:148, ../public/class-gdpr-requests-public.php:178, ../public/class-gdpr-requests-public.php:239
1035
+ msgid "If this email is connected to an existing user, you should receive an email confirmation soon."
1036
  msgstr ""
1037
 
1038
+ #: ../public/class-gdpr-requests-public.php:191
1039
+ msgid "Required information is missing from the form."
1040
  msgstr ""
1041
 
1042
+ #: ../public/class-gdpr-requests-public.php:246
1043
+ msgid "There was a problem with your request. Please try again later."
1044
  msgstr ""
1045
 
1046
+ #: ../public/class-gdpr-requests-public.php:329
1047
+ msgid "User confirmed a request to be deleted."
1048
  msgstr ""
1049
 
1050
+ #: ../public/class-gdpr-requests-public.php:331
1051
+ msgid "Content was found for that user."
1052
  msgstr ""
1053
 
1054
+ #: ../public/class-gdpr-requests-public.php:333
1055
+ msgid "User added to the erasure review table."
1056
  msgstr ""
1057
 
1058
+ #: ../public/class-gdpr-requests-public.php:367
1059
+ msgid "User placed a request for rectification or a complaint."
1060
  msgstr ""
1061
 
1062
+ #. translators: File format. Can be XML or JSON
1063
+ #: ../public/class-gdpr-requests-public.php:384
1064
+ msgid "User downloaded all their data in %s format."
1065
  msgstr ""
1066
 
1067
+ #: ../public/partials/confirmation-screens.php:21
1068
  msgid "Your account"
1069
  msgstr ""
1070
 
1071
+ #: ../public/partials/confirmation-screens.php:25
1072
+ msgid "Your request has been received and is being reviewed. You will receive an email when we are done."
1073
  msgstr ""
1074
 
1075
+ #: ../public/partials/confirmation-screens.php:23
1076
+ msgid "Your account has been closed. We are sorry to see you go."
1077
  msgstr ""
1078
 
1079
+ #: ../public/partials/confirmation-screens.php:29
1080
  msgid "Request Received"
1081
  msgstr ""
1082
 
1083
+ #: ../public/partials/confirmation-screens.php:30
1084
  msgid "Your request has been received. We will be in touch soon."
1085
  msgstr ""
1086
 
1087
+ #: ../public/partials/confirmation-screens.php:38
1088
  msgid "We could not confirm the request key. It may be expired."
1089
  msgstr ""
1090
 
1091
+ #: ../public/partials/confirmation-screens.php:42
1092
  msgid "The key used does not match the request key we have stored."
1093
  msgstr ""
1094
 
1095
+ #: ../templates/privacy-preferences-modal.php:22
 
 
 
 
 
 
 
 
1096
  msgid "Privacy Preference Center"
1097
  msgstr ""
1098
 
1099
+ #: ../templates/privacy-preferences-modal.php:27, ../templates/reconsent-modal.php:24
1100
  msgid "Options"
1101
  msgstr ""
1102
 
1103
+ #: ../templates/privacy-preferences-modal.php:35
1104
  msgid "Cookie Settings"
1105
  msgstr ""
1106
 
1107
+ #: ../templates/privacy-preferences-modal.php:81, ../templates/privacy-preferences-modal.php:130
1108
  msgid "ON"
1109
  msgstr ""
1110
 
1111
+ #: ../templates/privacy-preferences-modal.php:82, ../templates/privacy-preferences-modal.php:131
1112
  msgid "OFF"
1113
  msgstr ""
1114
 
1115
+ #: ../templates/privacy-preferences-modal.php:105
1116
  msgid "Cookies Used"
1117
  msgstr ""
1118
 
1119
+ #: ../templates/privacy-preferences-modal.php:145
1120
  msgid "Opt Out"
1121
  msgstr ""
1122
 
1123
+ #: ../templates/privacy-preferences-modal.php:160
1124
  msgid "Save Preferences"
1125
  msgstr ""
1126
 
1127
+ #: ../templates/reconsent-bar.php:18
1128
  msgid "Some of our policies have been updated. Please make sure to select the \"View\" link next to each item in order to view changes before agreeing."
1129
  msgstr ""
1130
 
1131
+ #: ../templates/reconsent-bar.php:26
1132
  msgid "View"
1133
  msgstr ""
1134
 
1135
+ #: ../templates/reconsent-modal.php:20
1136
  msgid "Some of our policies have been updated."
1137
  msgstr ""
1138
 
1139
+ #: ../templates/reconsent-modal.php:77
1140
  msgid "Disagree"
1141
  msgstr ""
1142
 
1143
+ #. translators: 1: The complaint content, 2: confirmation link, 3: reset password link
1144
+ #: ../templates/email/complaint-request.php:4
 
 
 
1145
  msgid ""
1146
  "Someone placed a complaint on your behalf on our site.\n"
1147
  "By clicking confirm a request will be made and we will do our best to fulfil it.\n"
1163
  ""
1164
  msgstr ""
1165
 
1166
+ #: ../templates/email/complaint-resolved.php:3
1167
  msgid ""
1168
  "We resolved your complaint request.\n"
1169
  "If you have any problems or questions, don't hesitate to contact us."
1170
  msgstr ""
1171
 
1172
+ #. translators: 1: Email content, 2: Nature of data breach, 3: Contact details for data protection officer, 4: Likely consequences of breach, 5: Measures taken
1173
+ #: ../templates/email/data-breach-notification.php:4
1174
  msgid ""
1175
  "%1$s\n"
1176
  "\n"
1196
  ""
1197
  msgstr ""
1198
 
1199
+ #. translators: 1: User who requested the notification, 2: Nature of data breach, 3: Contact details for data protection officer, 4: Likely consequences of breach, 5: Measures taken, 6: Confirmation link
1200
+ #: ../templates/email/data-breach-request.php:4
1201
  msgid ""
1202
  "A request to send a mass email notification to all users regarding a data breach has been made by %1$s.\n"
1203
  "\n"
1230
  ""
1231
  msgstr ""
1232
 
1233
+ #. translators: 1: Confirmation link, 2: Reset password link
1234
+ #: ../templates/email/delete-request.php:4
1235
  msgid ""
1236
  "Someone placed a request for your information to be removed from our site.\n"
1237
  "By clicking confirm your account will be removed from our site and all data we collected\n"
1249
  ""
1250
  msgstr ""
1251
 
1252
+ #. translators: 6-digit token for audit log
1253
+ #: ../templates/email/delete-resolved.php:5
1254
  msgid ""
1255
  "Your account has been closed.\n"
1256
  "\n"
1261
  "%s"
1262
  msgstr ""
1263
 
1264
+ #. translators: 1: XML download link, 2: JSON download link, 3: reset password link
1265
+ #: ../templates/email/export-data-request.php:4
1266
  msgid ""
1267
  "Someone requested to download your data from our site.\n"
1268
  "By clicking confirm we will redirect you back to our site where a download will begin.\n"
1277
  ""
1278
  msgstr ""
1279
 
1280
+ #. translators: 1: The type of request. 2: Link to where the request can be reviewed.
1281
+ #: ../templates/email/new-request.php:5
1282
  msgid ""
1283
  "There is a new %1$s request waiting for review.\n"
1284
  "\n"
1285
  "Review your requests: %2$s"
1286
  msgstr ""
1287
 
1288
+ #. translators: 1: The request content, 2: confirmation link, 3: reset password link
1289
+ #: ../templates/email/rectify-request.php:4
1290
  msgid ""
1291
  "Someone placed a request for your information to be rectified on our site.\n"
1292
  "By clicking confirm a request will be made and we will do our best to fulfil it.\n"
1308
  ""
1309
  msgstr ""
1310
 
1311
+ #: ../templates/email/rectify-resolved.php:3
1312
  msgid ""
1313
  "We resolved your rectification request.\n"
1314
  "If you have any problems or questions, don't hesitate to contact us."
1315
  msgstr ""
1316
 
1317
+ #: ../templates/forms/complaint-form.php:8
1318
+ msgid "Type your complaint here"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1319
  msgstr ""
1320
 
1321
+ #: ../templates/forms/rectify-form.php:8
1322
+ msgid "Type your rectification request here"
1323
  msgstr ""
package-lock.json ADDED
@@ -0,0 +1,12014 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "gdpr-wordpress-plugin",
3
+ "version": "1.0.0",
4
+ "lockfileVersion": 1,
5
+ "requires": true,
6
+ "dependencies": {
7
+ "@babel/code-frame": {
8
+ "version": "7.8.3",
9
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
10
+ "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
11
+ "dev": true,
12
+ "requires": {
13
+ "@babel/highlight": "^7.8.3"
14
+ }
15
+ },
16
+ "@babel/compat-data": {
17
+ "version": "7.9.6",
18
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.9.6.tgz",
19
+ "integrity": "sha512-5QPTrNen2bm7RBc7dsOmcA5hbrS4O2Vhmk5XOL4zWW/zD/hV0iinpefDlkm+tBBy8kDtFaaeEvmAqt+nURAV2g==",
20
+ "dev": true,
21
+ "requires": {
22
+ "browserslist": "^4.11.1",
23
+ "invariant": "^2.2.4",
24
+ "semver": "^5.5.0"
25
+ }
26
+ },
27
+ "@babel/core": {
28
+ "version": "7.9.6",
29
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.9.6.tgz",
30
+ "integrity": "sha512-nD3deLvbsApbHAHttzIssYqgb883yU/d9roe4RZymBCDaZryMJDbptVpEpeQuRh4BJ+SYI8le9YGxKvFEvl1Wg==",
31
+ "dev": true,
32
+ "requires": {
33
+ "@babel/code-frame": "^7.8.3",
34
+ "@babel/generator": "^7.9.6",
35
+ "@babel/helper-module-transforms": "^7.9.0",
36
+ "@babel/helpers": "^7.9.6",
37
+ "@babel/parser": "^7.9.6",
38
+ "@babel/template": "^7.8.6",
39
+ "@babel/traverse": "^7.9.6",
40
+ "@babel/types": "^7.9.6",
41
+ "convert-source-map": "^1.7.0",
42
+ "debug": "^4.1.0",
43
+ "gensync": "^1.0.0-beta.1",
44
+ "json5": "^2.1.2",
45
+ "lodash": "^4.17.13",
46
+ "resolve": "^1.3.2",
47
+ "semver": "^5.4.1",
48
+ "source-map": "^0.5.0"
49
+ }
50
+ },
51
+ "@babel/generator": {
52
+ "version": "7.9.6",
53
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.9.6.tgz",
54
+ "integrity": "sha512-+htwWKJbH2bL72HRluF8zumBxzuX0ZZUFl3JLNyoUjM/Ho8wnVpPXM6aUz8cfKDqQ/h7zHqKt4xzJteUosckqQ==",
55
+ "dev": true,
56
+ "requires": {
57
+ "@babel/types": "^7.9.6",
58
+ "jsesc": "^2.5.1",
59
+ "lodash": "^4.17.13",
60
+ "source-map": "^0.5.0"
61
+ }
62
+ },
63
+ "@babel/helper-annotate-as-pure": {
64
+ "version": "7.8.3",
65
+ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz",
66
+ "integrity": "sha512-6o+mJrZBxOoEX77Ezv9zwW7WV8DdluouRKNY/IR5u/YTMuKHgugHOzYWlYvYLpLA9nPsQCAAASpCIbjI9Mv+Uw==",
67
+ "dev": true,
68
+ "requires": {
69
+ "@babel/types": "^7.8.3"
70
+ }
71
+ },
72
+ "@babel/helper-builder-binary-assignment-operator-visitor": {
73
+ "version": "7.8.3",
74
+ "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.8.3.tgz",
75
+ "integrity": "sha512-5eFOm2SyFPK4Rh3XMMRDjN7lBH0orh3ss0g3rTYZnBQ+r6YPj7lgDyCvPphynHvUrobJmeMignBr6Acw9mAPlw==",
76
+ "dev": true,
77
+ "requires": {
78
+ "@babel/helper-explode-assignable-expression": "^7.8.3",
79
+ "@babel/types": "^7.8.3"
80
+ }
81
+ },
82
+ "@babel/helper-compilation-targets": {
83
+ "version": "7.9.6",
84
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.9.6.tgz",
85
+ "integrity": "sha512-x2Nvu0igO0ejXzx09B/1fGBxY9NXQlBW2kZsSxCJft+KHN8t9XWzIvFxtPHnBOAXpVsdxZKZFbRUC8TsNKajMw==",
86
+ "dev": true,
87
+ "requires": {
88
+ "@babel/compat-data": "^7.9.6",
89
+ "browserslist": "^4.11.1",
90
+ "invariant": "^2.2.4",
91
+ "levenary": "^1.1.1",
92
+ "semver": "^5.5.0"
93
+ }
94
+ },
95
+ "@babel/helper-create-regexp-features-plugin": {
96
+ "version": "7.8.8",
97
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.8.tgz",
98
+ "integrity": "sha512-LYVPdwkrQEiX9+1R29Ld/wTrmQu1SSKYnuOk3g0CkcZMA1p0gsNxJFj/3gBdaJ7Cg0Fnek5z0DsMULePP7Lrqg==",
99
+ "dev": true,
100
+ "requires": {
101
+ "@babel/helper-annotate-as-pure": "^7.8.3",
102
+ "@babel/helper-regex": "^7.8.3",
103
+ "regexpu-core": "^4.7.0"
104
+ }
105
+ },
106
+ "@babel/helper-define-map": {
107
+ "version": "7.8.3",
108
+ "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.8.3.tgz",
109
+ "integrity": "sha512-PoeBYtxoZGtct3md6xZOCWPcKuMuk3IHhgxsRRNtnNShebf4C8YonTSblsK4tvDbm+eJAw2HAPOfCr+Q/YRG/g==",
110
+ "dev": true,
111
+ "requires": {
112
+ "@babel/helper-function-name": "^7.8.3",
113
+ "@babel/types": "^7.8.3",
114
+ "lodash": "^4.17.13"
115
+ }
116
+ },
117
+ "@babel/helper-explode-assignable-expression": {
118
+ "version": "7.8.3",
119
+ "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.8.3.tgz",
120
+ "integrity": "sha512-N+8eW86/Kj147bO9G2uclsg5pwfs/fqqY5rwgIL7eTBklgXjcOJ3btzS5iM6AitJcftnY7pm2lGsrJVYLGjzIw==",
121
+ "dev": true,
122
+ "requires": {
123
+ "@babel/traverse": "^7.8.3",
124
+ "@babel/types": "^7.8.3"
125
+ }
126
+ },
127
+ "@babel/helper-function-name": {
128
+ "version": "7.9.5",
129
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.9.5.tgz",
130
+ "integrity": "sha512-JVcQZeXM59Cd1qanDUxv9fgJpt3NeKUaqBqUEvfmQ+BCOKq2xUgaWZW2hr0dkbyJgezYuplEoh5knmrnS68efw==",
131
+ "dev": true,
132
+ "requires": {
133
+ "@babel/helper-get-function-arity": "^7.8.3",
134
+ "@babel/template": "^7.8.3",
135
+ "@babel/types": "^7.9.5"
136
+ }
137
+ },
138
+ "@babel/helper-get-function-arity": {
139
+ "version": "7.8.3",
140
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
141
+ "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
142
+ "dev": true,
143
+ "requires": {
144
+ "@babel/types": "^7.8.3"
145
+ }
146
+ },
147
+ "@babel/helper-hoist-variables": {
148
+ "version": "7.8.3",
149
+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.8.3.tgz",
150
+ "integrity": "sha512-ky1JLOjcDUtSc+xkt0xhYff7Z6ILTAHKmZLHPxAhOP0Nd77O+3nCsd6uSVYur6nJnCI029CrNbYlc0LoPfAPQg==",
151
+ "dev": true,
152
+ "requires": {
153
+ "@babel/types": "^7.8.3"
154
+ }
155
+ },
156
+ "@babel/helper-member-expression-to-functions": {
157
+ "version": "7.8.3",
158
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz",
159
+ "integrity": "sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA==",
160
+ "dev": true,
161
+ "requires": {
162
+ "@babel/types": "^7.8.3"
163
+ }
164
+ },
165
+ "@babel/helper-module-imports": {
166
+ "version": "7.8.3",
167
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz",
168
+ "integrity": "sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==",
169
+ "dev": true,
170
+ "requires": {
171
+ "@babel/types": "^7.8.3"
172
+ }
173
+ },
174
+ "@babel/helper-module-transforms": {
175
+ "version": "7.9.0",
176
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.9.0.tgz",
177
+ "integrity": "sha512-0FvKyu0gpPfIQ8EkxlrAydOWROdHpBmiCiRwLkUiBGhCUPRRbVD2/tm3sFr/c/GWFrQ/ffutGUAnx7V0FzT2wA==",
178
+ "dev": true,
179
+ "requires": {
180
+ "@babel/helper-module-imports": "^7.8.3",
181
+ "@babel/helper-replace-supers": "^7.8.6",
182
+ "@babel/helper-simple-access": "^7.8.3",
183
+ "@babel/helper-split-export-declaration": "^7.8.3",
184
+ "@babel/template": "^7.8.6",
185
+ "@babel/types": "^7.9.0",
186
+ "lodash": "^4.17.13"
187
+ }
188
+ },
189
+ "@babel/helper-optimise-call-expression": {
190
+ "version": "7.8.3",
191
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz",
192
+ "integrity": "sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ==",
193
+ "dev": true,
194
+ "requires": {
195
+ "@babel/types": "^7.8.3"
196
+ }
197
+ },
198
+ "@babel/helper-plugin-utils": {
199
+ "version": "7.8.3",
200
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
201
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
202
+ "dev": true
203
+ },
204
+ "@babel/helper-regex": {
205
+ "version": "7.8.3",
206
+ "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.8.3.tgz",
207
+ "integrity": "sha512-BWt0QtYv/cg/NecOAZMdcn/waj/5P26DR4mVLXfFtDokSR6fyuG0Pj+e2FqtSME+MqED1khnSMulkmGl8qWiUQ==",
208
+ "dev": true,
209
+ "requires": {
210
+ "lodash": "^4.17.13"
211
+ }
212
+ },
213
+ "@babel/helper-remap-async-to-generator": {
214
+ "version": "7.8.3",
215
+ "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.8.3.tgz",
216
+ "integrity": "sha512-kgwDmw4fCg7AVgS4DukQR/roGp+jP+XluJE5hsRZwxCYGg+Rv9wSGErDWhlI90FODdYfd4xG4AQRiMDjjN0GzA==",
217
+ "dev": true,
218
+ "requires": {
219
+ "@babel/helper-annotate-as-pure": "^7.8.3",
220
+ "@babel/helper-wrap-function": "^7.8.3",
221
+ "@babel/template": "^7.8.3",
222
+ "@babel/traverse": "^7.8.3",
223
+ "@babel/types": "^7.8.3"
224
+ }
225
+ },
226
+ "@babel/helper-replace-supers": {
227
+ "version": "7.9.6",
228
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.9.6.tgz",
229
+ "integrity": "sha512-qX+chbxkbArLyCImk3bWV+jB5gTNU/rsze+JlcF6Nf8tVTigPJSI1o1oBow/9Resa1yehUO9lIipsmu9oG4RzA==",
230
+ "dev": true,
231
+ "requires": {
232
+ "@babel/helper-member-expression-to-functions": "^7.8.3",
233
+ "@babel/helper-optimise-call-expression": "^7.8.3",
234
+ "@babel/traverse": "^7.9.6",
235
+ "@babel/types": "^7.9.6"
236
+ }
237
+ },
238
+ "@babel/helper-simple-access": {
239
+ "version": "7.8.3",
240
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz",
241
+ "integrity": "sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw==",
242
+ "dev": true,
243
+ "requires": {
244
+ "@babel/template": "^7.8.3",
245
+ "@babel/types": "^7.8.3"
246
+ }
247
+ },
248
+ "@babel/helper-split-export-declaration": {
249
+ "version": "7.8.3",
250
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz",
251
+ "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==",
252
+ "dev": true,
253
+ "requires": {
254
+ "@babel/types": "^7.8.3"
255
+ }
256
+ },
257
+ "@babel/helper-validator-identifier": {
258
+ "version": "7.9.5",
259
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz",
260
+ "integrity": "sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==",
261
+ "dev": true
262
+ },
263
+ "@babel/helper-wrap-function": {
264
+ "version": "7.8.3",
265
+ "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.8.3.tgz",
266
+ "integrity": "sha512-LACJrbUET9cQDzb6kG7EeD7+7doC3JNvUgTEQOx2qaO1fKlzE/Bf05qs9w1oXQMmXlPO65lC3Tq9S6gZpTErEQ==",
267
+ "dev": true,
268
+ "requires": {
269
+ "@babel/helper-function-name": "^7.8.3",
270
+ "@babel/template": "^7.8.3",
271
+ "@babel/traverse": "^7.8.3",
272
+ "@babel/types": "^7.8.3"
273
+ }
274
+ },
275
+ "@babel/helpers": {
276
+ "version": "7.9.6",
277
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.9.6.tgz",
278
+ "integrity": "sha512-tI4bUbldloLcHWoRUMAj4g1bF313M/o6fBKhIsb3QnGVPwRm9JsNf/gqMkQ7zjqReABiffPV6RWj7hEglID5Iw==",
279
+ "dev": true,
280
+ "requires": {
281
+ "@babel/template": "^7.8.3",
282
+ "@babel/traverse": "^7.9.6",
283
+ "@babel/types": "^7.9.6"
284
+ }
285
+ },
286
+ "@babel/highlight": {
287
+ "version": "7.9.0",
288
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz",
289
+ "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==",
290
+ "dev": true,
291
+ "requires": {
292
+ "@babel/helper-validator-identifier": "^7.9.0",
293
+ "chalk": "^2.0.0",
294
+ "js-tokens": "^4.0.0"
295
+ }
296
+ },
297
+ "@babel/parser": {
298
+ "version": "7.9.6",
299
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.9.6.tgz",
300
+ "integrity": "sha512-AoeIEJn8vt+d/6+PXDRPaksYhnlbMIiejioBZvvMQsOjW/JYK6k/0dKnvvP3EhK5GfMBWDPtrxRtegWdAcdq9Q==",
301
+ "dev": true
302
+ },
303
+ "@babel/plugin-proposal-async-generator-functions": {
304
+ "version": "7.8.3",
305
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.8.3.tgz",
306
+ "integrity": "sha512-NZ9zLv848JsV3hs8ryEh7Uaz/0KsmPLqv0+PdkDJL1cJy0K4kOCFa8zc1E3mp+RHPQcpdfb/6GovEsW4VDrOMw==",
307
+ "dev": true,
308
+ "requires": {
309
+ "@babel/helper-plugin-utils": "^7.8.3",
310
+ "@babel/helper-remap-async-to-generator": "^7.8.3",
311
+ "@babel/plugin-syntax-async-generators": "^7.8.0"
312
+ }
313
+ },
314
+ "@babel/plugin-proposal-dynamic-import": {
315
+ "version": "7.8.3",
316
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.8.3.tgz",
317
+ "integrity": "sha512-NyaBbyLFXFLT9FP+zk0kYlUlA8XtCUbehs67F0nnEg7KICgMc2mNkIeu9TYhKzyXMkrapZFwAhXLdnt4IYHy1w==",
318
+ "dev": true,
319
+ "requires": {
320
+ "@babel/helper-plugin-utils": "^7.8.3",
321
+ "@babel/plugin-syntax-dynamic-import": "^7.8.0"
322
+ }
323
+ },
324
+ "@babel/plugin-proposal-json-strings": {
325
+ "version": "7.8.3",
326
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.8.3.tgz",
327
+ "integrity": "sha512-KGhQNZ3TVCQG/MjRbAUwuH+14y9q0tpxs1nWWs3pbSleRdDro9SAMMDyye8HhY1gqZ7/NqIc8SKhya0wRDgP1Q==",
328
+ "dev": true,
329
+ "requires": {
330
+ "@babel/helper-plugin-utils": "^7.8.3",
331
+ "@babel/plugin-syntax-json-strings": "^7.8.0"
332
+ }
333
+ },
334
+ "@babel/plugin-proposal-nullish-coalescing-operator": {
335
+ "version": "7.8.3",
336
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.8.3.tgz",
337
+ "integrity": "sha512-TS9MlfzXpXKt6YYomudb/KU7nQI6/xnapG6in1uZxoxDghuSMZsPb6D2fyUwNYSAp4l1iR7QtFOjkqcRYcUsfw==",
338
+ "dev": true,
339
+ "requires": {
340
+ "@babel/helper-plugin-utils": "^7.8.3",
341
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0"
342
+ }
343
+ },
344
+ "@babel/plugin-proposal-numeric-separator": {
345
+ "version": "7.8.3",
346
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.8.3.tgz",
347
+ "integrity": "sha512-jWioO1s6R/R+wEHizfaScNsAx+xKgwTLNXSh7tTC4Usj3ItsPEhYkEpU4h+lpnBwq7NBVOJXfO6cRFYcX69JUQ==",
348
+ "dev": true,
349
+ "requires": {
350
+ "@babel/helper-plugin-utils": "^7.8.3",
351
+ "@babel/plugin-syntax-numeric-separator": "^7.8.3"
352
+ }
353
+ },
354
+ "@babel/plugin-proposal-object-rest-spread": {
355
+ "version": "7.9.6",
356
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.9.6.tgz",
357
+ "integrity": "sha512-Ga6/fhGqA9Hj+y6whNpPv8psyaK5xzrQwSPsGPloVkvmH+PqW1ixdnfJ9uIO06OjQNYol3PMnfmJ8vfZtkzF+A==",
358
+ "dev": true,
359
+ "requires": {
360
+ "@babel/helper-plugin-utils": "^7.8.3",
361
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.0",
362
+ "@babel/plugin-transform-parameters": "^7.9.5"
363
+ }
364
+ },
365
+ "@babel/plugin-proposal-optional-catch-binding": {
366
+ "version": "7.8.3",
367
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.8.3.tgz",
368
+ "integrity": "sha512-0gkX7J7E+AtAw9fcwlVQj8peP61qhdg/89D5swOkjYbkboA2CVckn3kiyum1DE0wskGb7KJJxBdyEBApDLLVdw==",
369
+ "dev": true,
370
+ "requires": {
371
+ "@babel/helper-plugin-utils": "^7.8.3",
372
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.0"
373
+ }
374
+ },
375
+ "@babel/plugin-proposal-optional-chaining": {
376
+ "version": "7.9.0",
377
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.9.0.tgz",
378
+ "integrity": "sha512-NDn5tu3tcv4W30jNhmc2hyD5c56G6cXx4TesJubhxrJeCvuuMpttxr0OnNCqbZGhFjLrg+NIhxxC+BK5F6yS3w==",
379
+ "dev": true,
380
+ "requires": {
381
+ "@babel/helper-plugin-utils": "^7.8.3",
382
+ "@babel/plugin-syntax-optional-chaining": "^7.8.0"
383
+ }
384
+ },
385
+ "@babel/plugin-proposal-unicode-property-regex": {
386
+ "version": "7.8.8",
387
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.8.tgz",
388
+ "integrity": "sha512-EVhjVsMpbhLw9ZfHWSx2iy13Q8Z/eg8e8ccVWt23sWQK5l1UdkoLJPN5w69UA4uITGBnEZD2JOe4QOHycYKv8A==",
389
+ "dev": true,
390
+ "requires": {
391
+ "@babel/helper-create-regexp-features-plugin": "^7.8.8",
392
+ "@babel/helper-plugin-utils": "^7.8.3"
393
+ }
394
+ },
395
+ "@babel/plugin-syntax-async-generators": {
396
+ "version": "7.8.4",
397
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
398
+ "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
399
+ "dev": true,
400
+ "requires": {
401
+ "@babel/helper-plugin-utils": "^7.8.0"
402
+ }
403
+ },
404
+ "@babel/plugin-syntax-dynamic-import": {
405
+ "version": "7.8.3",
406
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz",
407
+ "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==",
408
+ "dev": true,
409
+ "requires": {
410
+ "@babel/helper-plugin-utils": "^7.8.0"
411
+ }
412
+ },
413
+ "@babel/plugin-syntax-json-strings": {
414
+ "version": "7.8.3",
415
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
416
+ "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
417
+ "dev": true,
418
+ "requires": {
419
+ "@babel/helper-plugin-utils": "^7.8.0"
420
+ }
421
+ },
422
+ "@babel/plugin-syntax-nullish-coalescing-operator": {
423
+ "version": "7.8.3",
424
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
425
+ "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
426
+ "dev": true,
427
+ "requires": {
428
+ "@babel/helper-plugin-utils": "^7.8.0"
429
+ }
430
+ },
431
+ "@babel/plugin-syntax-numeric-separator": {
432
+ "version": "7.8.3",
433
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.8.3.tgz",
434
+ "integrity": "sha512-H7dCMAdN83PcCmqmkHB5dtp+Xa9a6LKSvA2hiFBC/5alSHxM5VgWZXFqDi0YFe8XNGT6iCa+z4V4zSt/PdZ7Dw==",
435
+ "dev": true,
436
+ "requires": {
437
+ "@babel/helper-plugin-utils": "^7.8.3"
438
+ }
439
+ },
440
+ "@babel/plugin-syntax-object-rest-spread": {
441
+ "version": "7.8.3",
442
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
443
+ "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
444
+ "dev": true,
445
+ "requires": {
446
+ "@babel/helper-plugin-utils": "^7.8.0"
447
+ }
448
+ },
449
+ "@babel/plugin-syntax-optional-catch-binding": {
450
+ "version": "7.8.3",
451
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
452
+ "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
453
+ "dev": true,
454
+ "requires": {
455
+ "@babel/helper-plugin-utils": "^7.8.0"
456
+ }
457
+ },
458
+ "@babel/plugin-syntax-optional-chaining": {
459
+ "version": "7.8.3",
460
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
461
+ "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
462
+ "dev": true,
463
+ "requires": {
464
+ "@babel/helper-plugin-utils": "^7.8.0"
465
+ }
466
+ },
467
+ "@babel/plugin-syntax-top-level-await": {
468
+ "version": "7.8.3",
469
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.8.3.tgz",
470
+ "integrity": "sha512-kwj1j9lL/6Wd0hROD3b/OZZ7MSrZLqqn9RAZ5+cYYsflQ9HZBIKCUkr3+uL1MEJ1NePiUbf98jjiMQSv0NMR9g==",
471
+ "dev": true,
472
+ "requires": {
473
+ "@babel/helper-plugin-utils": "^7.8.3"
474
+ }
475
+ },
476
+ "@babel/plugin-transform-arrow-functions": {
477
+ "version": "7.8.3",
478
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.8.3.tgz",
479
+ "integrity": "sha512-0MRF+KC8EqH4dbuITCWwPSzsyO3HIWWlm30v8BbbpOrS1B++isGxPnnuq/IZvOX5J2D/p7DQalQm+/2PnlKGxg==",
480
+ "dev": true,
481
+ "requires": {
482
+ "@babel/helper-plugin-utils": "^7.8.3"
483
+ }
484
+ },
485
+ "@babel/plugin-transform-async-to-generator": {
486
+ "version": "7.8.3",
487
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.8.3.tgz",
488
+ "integrity": "sha512-imt9tFLD9ogt56Dd5CI/6XgpukMwd/fLGSrix2httihVe7LOGVPhyhMh1BU5kDM7iHD08i8uUtmV2sWaBFlHVQ==",
489
+ "dev": true,
490
+ "requires": {
491
+ "@babel/helper-module-imports": "^7.8.3",
492
+ "@babel/helper-plugin-utils": "^7.8.3",
493
+ "@babel/helper-remap-async-to-generator": "^7.8.3"
494
+ }
495
+ },
496
+ "@babel/plugin-transform-block-scoped-functions": {
497
+ "version": "7.8.3",
498
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.8.3.tgz",
499
+ "integrity": "sha512-vo4F2OewqjbB1+yaJ7k2EJFHlTP3jR634Z9Cj9itpqNjuLXvhlVxgnjsHsdRgASR8xYDrx6onw4vW5H6We0Jmg==",
500
+ "dev": true,
501
+ "requires": {
502
+ "@babel/helper-plugin-utils": "^7.8.3"
503
+ }
504
+ },
505
+ "@babel/plugin-transform-block-scoping": {
506
+ "version": "7.8.3",
507
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.8.3.tgz",
508
+ "integrity": "sha512-pGnYfm7RNRgYRi7bids5bHluENHqJhrV4bCZRwc5GamaWIIs07N4rZECcmJL6ZClwjDz1GbdMZFtPs27hTB06w==",
509
+ "dev": true,
510
+ "requires": {
511
+ "@babel/helper-plugin-utils": "^7.8.3",
512
+ "lodash": "^4.17.13"
513
+ }
514
+ },
515
+ "@babel/plugin-transform-classes": {
516
+ "version": "7.9.5",
517
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.9.5.tgz",
518
+ "integrity": "sha512-x2kZoIuLC//O5iA7PEvecB105o7TLzZo8ofBVhP79N+DO3jaX+KYfww9TQcfBEZD0nikNyYcGB1IKtRq36rdmg==",
519
+ "dev": true,
520
+ "requires": {
521
+ "@babel/helper-annotate-as-pure": "^7.8.3",
522
+ "@babel/helper-define-map": "^7.8.3",
523
+ "@babel/helper-function-name": "^7.9.5",
524
+ "@babel/helper-optimise-call-expression": "^7.8.3",
525
+ "@babel/helper-plugin-utils": "^7.8.3",
526
+ "@babel/helper-replace-supers": "^7.8.6",
527
+ "@babel/helper-split-export-declaration": "^7.8.3",
528
+ "globals": "^11.1.0"
529
+ }
530
+ },
531
+ "@babel/plugin-transform-computed-properties": {
532
+ "version": "7.8.3",
533
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.8.3.tgz",
534
+ "integrity": "sha512-O5hiIpSyOGdrQZRQ2ccwtTVkgUDBBiCuK//4RJ6UfePllUTCENOzKxfh6ulckXKc0DixTFLCfb2HVkNA7aDpzA==",
535
+ "dev": true,
536
+ "requires": {
537
+ "@babel/helper-plugin-utils": "^7.8.3"
538
+ }
539
+ },
540
+ "@babel/plugin-transform-destructuring": {
541
+ "version": "7.9.5",
542
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.9.5.tgz",
543
+ "integrity": "sha512-j3OEsGel8nHL/iusv/mRd5fYZ3DrOxWC82x0ogmdN/vHfAP4MYw+AFKYanzWlktNwikKvlzUV//afBW5FTp17Q==",
544
+ "dev": true,
545
+ "requires": {
546
+ "@babel/helper-plugin-utils": "^7.8.3"
547
+ }
548
+ },
549
+ "@babel/plugin-transform-dotall-regex": {
550
+ "version": "7.8.3",
551
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.8.3.tgz",
552
+ "integrity": "sha512-kLs1j9Nn4MQoBYdRXH6AeaXMbEJFaFu/v1nQkvib6QzTj8MZI5OQzqmD83/2jEM1z0DLilra5aWO5YpyC0ALIw==",
553
+ "dev": true,
554
+ "requires": {
555
+ "@babel/helper-create-regexp-features-plugin": "^7.8.3",
556
+ "@babel/helper-plugin-utils": "^7.8.3"
557
+ }
558
+ },
559
+ "@babel/plugin-transform-duplicate-keys": {
560
+ "version": "7.8.3",
561
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.8.3.tgz",
562
+ "integrity": "sha512-s8dHiBUbcbSgipS4SMFuWGqCvyge5V2ZeAWzR6INTVC3Ltjig/Vw1G2Gztv0vU/hRG9X8IvKvYdoksnUfgXOEQ==",
563
+ "dev": true,
564
+ "requires": {
565
+ "@babel/helper-plugin-utils": "^7.8.3"
566
+ }
567
+ },
568
+ "@babel/plugin-transform-exponentiation-operator": {
569
+ "version": "7.8.3",
570
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.8.3.tgz",
571
+ "integrity": "sha512-zwIpuIymb3ACcInbksHaNcR12S++0MDLKkiqXHl3AzpgdKlFNhog+z/K0+TGW+b0w5pgTq4H6IwV/WhxbGYSjQ==",
572
+ "dev": true,
573
+ "requires": {
574
+ "@babel/helper-builder-binary-assignment-operator-visitor": "^7.8.3",
575
+ "@babel/helper-plugin-utils": "^7.8.3"
576
+ }
577
+ },
578
+ "@babel/plugin-transform-for-of": {
579
+ "version": "7.9.0",
580
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.9.0.tgz",
581
+ "integrity": "sha512-lTAnWOpMwOXpyDx06N+ywmF3jNbafZEqZ96CGYabxHrxNX8l5ny7dt4bK/rGwAh9utyP2b2Hv7PlZh1AAS54FQ==",
582
+ "dev": true,
583
+ "requires": {
584
+ "@babel/helper-plugin-utils": "^7.8.3"
585
+ }
586
+ },
587
+ "@babel/plugin-transform-function-name": {
588
+ "version": "7.8.3",
589
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.8.3.tgz",
590
+ "integrity": "sha512-rO/OnDS78Eifbjn5Py9v8y0aR+aSYhDhqAwVfsTl0ERuMZyr05L1aFSCJnbv2mmsLkit/4ReeQ9N2BgLnOcPCQ==",
591
+ "dev": true,
592
+ "requires": {
593
+ "@babel/helper-function-name": "^7.8.3",
594
+ "@babel/helper-plugin-utils": "^7.8.3"
595
+ }
596
+ },
597
+ "@babel/plugin-transform-literals": {
598
+ "version": "7.8.3",
599
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.8.3.tgz",
600
+ "integrity": "sha512-3Tqf8JJ/qB7TeldGl+TT55+uQei9JfYaregDcEAyBZ7akutriFrt6C/wLYIer6OYhleVQvH/ntEhjE/xMmy10A==",
601
+ "dev": true,
602
+ "requires": {
603
+ "@babel/helper-plugin-utils": "^7.8.3"
604
+ }
605
+ },
606
+ "@babel/plugin-transform-member-expression-literals": {
607
+ "version": "7.8.3",
608
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.8.3.tgz",
609
+ "integrity": "sha512-3Wk2EXhnw+rP+IDkK6BdtPKsUE5IeZ6QOGrPYvw52NwBStw9V1ZVzxgK6fSKSxqUvH9eQPR3tm3cOq79HlsKYA==",
610
+ "dev": true,
611
+ "requires": {
612
+ "@babel/helper-plugin-utils": "^7.8.3"
613
+ }
614
+ },
615
+ "@babel/plugin-transform-modules-amd": {
616
+ "version": "7.9.6",
617
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.9.6.tgz",
618
+ "integrity": "sha512-zoT0kgC3EixAyIAU+9vfaUVKTv9IxBDSabgHoUCBP6FqEJ+iNiN7ip7NBKcYqbfUDfuC2mFCbM7vbu4qJgOnDw==",
619
+ "dev": true,
620
+ "requires": {
621
+ "@babel/helper-module-transforms": "^7.9.0",
622
+ "@babel/helper-plugin-utils": "^7.8.3",
623
+ "babel-plugin-dynamic-import-node": "^2.3.3"
624
+ }
625
+ },
626
+ "@babel/plugin-transform-modules-commonjs": {
627
+ "version": "7.9.6",
628
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.9.6.tgz",
629
+ "integrity": "sha512-7H25fSlLcn+iYimmsNe3uK1at79IE6SKW9q0/QeEHTMC9MdOZ+4bA+T1VFB5fgOqBWoqlifXRzYD0JPdmIrgSQ==",
630
+ "dev": true,
631
+ "requires": {
632
+ "@babel/helper-module-transforms": "^7.9.0",
633
+ "@babel/helper-plugin-utils": "^7.8.3",
634
+ "@babel/helper-simple-access": "^7.8.3",
635
+ "babel-plugin-dynamic-import-node": "^2.3.3"
636
+ }
637
+ },
638
+ "@babel/plugin-transform-modules-systemjs": {
639
+ "version": "7.9.6",
640
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.9.6.tgz",
641
+ "integrity": "sha512-NW5XQuW3N2tTHim8e1b7qGy7s0kZ2OH3m5octc49K1SdAKGxYxeIx7hiIz05kS1R2R+hOWcsr1eYwcGhrdHsrg==",
642
+ "dev": true,
643
+ "requires": {
644
+ "@babel/helper-hoist-variables": "^7.8.3",
645
+ "@babel/helper-module-transforms": "^7.9.0",
646
+ "@babel/helper-plugin-utils": "^7.8.3",
647
+ "babel-plugin-dynamic-import-node": "^2.3.3"
648
+ }
649
+ },
650
+ "@babel/plugin-transform-modules-umd": {
651
+ "version": "7.9.0",
652
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.9.0.tgz",
653
+ "integrity": "sha512-uTWkXkIVtg/JGRSIABdBoMsoIeoHQHPTL0Y2E7xf5Oj7sLqwVsNXOkNk0VJc7vF0IMBsPeikHxFjGe+qmwPtTQ==",
654
+ "dev": true,
655
+ "requires": {
656
+ "@babel/helper-module-transforms": "^7.9.0",
657
+ "@babel/helper-plugin-utils": "^7.8.3"
658
+ }
659
+ },
660
+ "@babel/plugin-transform-named-capturing-groups-regex": {
661
+ "version": "7.8.3",
662
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.3.tgz",
663
+ "integrity": "sha512-f+tF/8UVPU86TrCb06JoPWIdDpTNSGGcAtaD9mLP0aYGA0OS0j7j7DHJR0GTFrUZPUU6loZhbsVZgTh0N+Qdnw==",
664
+ "dev": true,
665
+ "requires": {
666
+ "@babel/helper-create-regexp-features-plugin": "^7.8.3"
667
+ }
668
+ },
669
+ "@babel/plugin-transform-new-target": {
670
+ "version": "7.8.3",
671
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.8.3.tgz",
672
+ "integrity": "sha512-QuSGysibQpyxexRyui2vca+Cmbljo8bcRckgzYV4kRIsHpVeyeC3JDO63pY+xFZ6bWOBn7pfKZTqV4o/ix9sFw==",
673
+ "dev": true,
674
+ "requires": {
675
+ "@babel/helper-plugin-utils": "^7.8.3"
676
+ }
677
+ },
678
+ "@babel/plugin-transform-object-super": {
679
+ "version": "7.8.3",
680
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.8.3.tgz",
681
+ "integrity": "sha512-57FXk+gItG/GejofIyLIgBKTas4+pEU47IXKDBWFTxdPd7F80H8zybyAY7UoblVfBhBGs2EKM+bJUu2+iUYPDQ==",
682
+ "dev": true,
683
+ "requires": {
684
+ "@babel/helper-plugin-utils": "^7.8.3",
685
+ "@babel/helper-replace-supers": "^7.8.3"
686
+ }
687
+ },
688
+ "@babel/plugin-transform-parameters": {
689
+ "version": "7.9.5",
690
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.9.5.tgz",
691
+ "integrity": "sha512-0+1FhHnMfj6lIIhVvS4KGQJeuhe1GI//h5uptK4PvLt+BGBxsoUJbd3/IW002yk//6sZPlFgsG1hY6OHLcy6kA==",
692
+ "dev": true,
693
+ "requires": {
694
+ "@babel/helper-get-function-arity": "^7.8.3",
695
+ "@babel/helper-plugin-utils": "^7.8.3"
696
+ }
697
+ },
698
+ "@babel/plugin-transform-property-literals": {
699
+ "version": "7.8.3",
700
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.8.3.tgz",
701
+ "integrity": "sha512-uGiiXAZMqEoQhRWMK17VospMZh5sXWg+dlh2soffpkAl96KAm+WZuJfa6lcELotSRmooLqg0MWdH6UUq85nmmg==",
702
+ "dev": true,
703
+ "requires": {
704
+ "@babel/helper-plugin-utils": "^7.8.3"
705
+ }
706
+ },
707
+ "@babel/plugin-transform-regenerator": {
708
+ "version": "7.8.7",
709
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.8.7.tgz",
710
+ "integrity": "sha512-TIg+gAl4Z0a3WmD3mbYSk+J9ZUH6n/Yc57rtKRnlA/7rcCvpekHXe0CMZHP1gYp7/KLe9GHTuIba0vXmls6drA==",
711
+ "dev": true,
712
+ "requires": {
713
+ "regenerator-transform": "^0.14.2"
714
+ }
715
+ },
716
+ "@babel/plugin-transform-reserved-words": {
717
+ "version": "7.8.3",
718
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.8.3.tgz",
719
+ "integrity": "sha512-mwMxcycN3omKFDjDQUl+8zyMsBfjRFr0Zn/64I41pmjv4NJuqcYlEtezwYtw9TFd9WR1vN5kiM+O0gMZzO6L0A==",
720
+ "dev": true,
721
+ "requires": {
722
+ "@babel/helper-plugin-utils": "^7.8.3"
723
+ }
724
+ },
725
+ "@babel/plugin-transform-shorthand-properties": {
726
+ "version": "7.8.3",
727
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.8.3.tgz",
728
+ "integrity": "sha512-I9DI6Odg0JJwxCHzbzW08ggMdCezoWcuQRz3ptdudgwaHxTjxw5HgdFJmZIkIMlRymL6YiZcped4TTCB0JcC8w==",
729
+ "dev": true,
730
+ "requires": {
731
+ "@babel/helper-plugin-utils": "^7.8.3"
732
+ }
733
+ },
734
+ "@babel/plugin-transform-spread": {
735
+ "version": "7.8.3",
736
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.8.3.tgz",
737
+ "integrity": "sha512-CkuTU9mbmAoFOI1tklFWYYbzX5qCIZVXPVy0jpXgGwkplCndQAa58s2jr66fTeQnA64bDox0HL4U56CFYoyC7g==",
738
+ "dev": true,
739
+ "requires": {
740
+ "@babel/helper-plugin-utils": "^7.8.3"
741
+ }
742
+ },
743
+ "@babel/plugin-transform-sticky-regex": {
744
+ "version": "7.8.3",
745
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.8.3.tgz",
746
+ "integrity": "sha512-9Spq0vGCD5Bb4Z/ZXXSK5wbbLFMG085qd2vhL1JYu1WcQ5bXqZBAYRzU1d+p79GcHs2szYv5pVQCX13QgldaWw==",
747
+ "dev": true,
748
+ "requires": {
749
+ "@babel/helper-plugin-utils": "^7.8.3",
750
+ "@babel/helper-regex": "^7.8.3"
751
+ }
752
+ },
753
+ "@babel/plugin-transform-template-literals": {
754
+ "version": "7.8.3",
755
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.8.3.tgz",
756
+ "integrity": "sha512-820QBtykIQOLFT8NZOcTRJ1UNuztIELe4p9DCgvj4NK+PwluSJ49we7s9FB1HIGNIYT7wFUJ0ar2QpCDj0escQ==",
757
+ "dev": true,
758
+ "requires": {
759
+ "@babel/helper-annotate-as-pure": "^7.8.3",
760
+ "@babel/helper-plugin-utils": "^7.8.3"
761
+ }
762
+ },
763
+ "@babel/plugin-transform-typeof-symbol": {
764
+ "version": "7.8.4",
765
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.8.4.tgz",
766
+ "integrity": "sha512-2QKyfjGdvuNfHsb7qnBBlKclbD4CfshH2KvDabiijLMGXPHJXGxtDzwIF7bQP+T0ysw8fYTtxPafgfs/c1Lrqg==",
767
+ "dev": true,
768
+ "requires": {
769
+ "@babel/helper-plugin-utils": "^7.8.3"
770
+ }
771
+ },
772
+ "@babel/plugin-transform-unicode-regex": {
773
+ "version": "7.8.3",
774
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.8.3.tgz",
775
+ "integrity": "sha512-+ufgJjYdmWfSQ+6NS9VGUR2ns8cjJjYbrbi11mZBTaWm+Fui/ncTLFF28Ei1okavY+xkojGr1eJxNsWYeA5aZw==",
776
+ "dev": true,
777
+ "requires": {
778
+ "@babel/helper-create-regexp-features-plugin": "^7.8.3",
779
+ "@babel/helper-plugin-utils": "^7.8.3"
780
+ }
781
+ },
782
+ "@babel/preset-env": {
783
+ "version": "7.9.6",
784
+ "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.9.6.tgz",
785
+ "integrity": "sha512-0gQJ9RTzO0heXOhzftog+a/WyOuqMrAIugVYxMYf83gh1CQaQDjMtsOpqOwXyDL/5JcWsrCm8l4ju8QC97O7EQ==",
786
+ "dev": true,
787
+ "requires": {
788
+ "@babel/compat-data": "^7.9.6",
789
+ "@babel/helper-compilation-targets": "^7.9.6",
790
+ "@babel/helper-module-imports": "^7.8.3",
791
+ "@babel/helper-plugin-utils": "^7.8.3",
792
+ "@babel/plugin-proposal-async-generator-functions": "^7.8.3",
793
+ "@babel/plugin-proposal-dynamic-import": "^7.8.3",
794
+ "@babel/plugin-proposal-json-strings": "^7.8.3",
795
+ "@babel/plugin-proposal-nullish-coalescing-operator": "^7.8.3",
796
+ "@babel/plugin-proposal-numeric-separator": "^7.8.3",
797
+ "@babel/plugin-proposal-object-rest-spread": "^7.9.6",
798
+ "@babel/plugin-proposal-optional-catch-binding": "^7.8.3",
799
+ "@babel/plugin-proposal-optional-chaining": "^7.9.0",
800
+ "@babel/plugin-proposal-unicode-property-regex": "^7.8.3",
801
+ "@babel/plugin-syntax-async-generators": "^7.8.0",
802
+ "@babel/plugin-syntax-dynamic-import": "^7.8.0",
803
+ "@babel/plugin-syntax-json-strings": "^7.8.0",
804
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0",
805
+ "@babel/plugin-syntax-numeric-separator": "^7.8.0",
806
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.0",
807
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.0",
808
+ "@babel/plugin-syntax-optional-chaining": "^7.8.0",
809
+ "@babel/plugin-syntax-top-level-await": "^7.8.3",
810
+ "@babel/plugin-transform-arrow-functions": "^7.8.3",
811
+ "@babel/plugin-transform-async-to-generator": "^7.8.3",
812
+ "@babel/plugin-transform-block-scoped-functions": "^7.8.3",
813
+ "@babel/plugin-transform-block-scoping": "^7.8.3",
814
+ "@babel/plugin-transform-classes": "^7.9.5",
815
+ "@babel/plugin-transform-computed-properties": "^7.8.3",
816
+ "@babel/plugin-transform-destructuring": "^7.9.5",
817
+ "@babel/plugin-transform-dotall-regex": "^7.8.3",
818
+ "@babel/plugin-transform-duplicate-keys": "^7.8.3",
819
+ "@babel/plugin-transform-exponentiation-operator": "^7.8.3",
820
+ "@babel/plugin-transform-for-of": "^7.9.0",
821
+ "@babel/plugin-transform-function-name": "^7.8.3",
822
+ "@babel/plugin-transform-literals": "^7.8.3",
823
+ "@babel/plugin-transform-member-expression-literals": "^7.8.3",
824
+ "@babel/plugin-transform-modules-amd": "^7.9.6",
825
+ "@babel/plugin-transform-modules-commonjs": "^7.9.6",
826
+ "@babel/plugin-transform-modules-systemjs": "^7.9.6",
827
+ "@babel/plugin-transform-modules-umd": "^7.9.0",
828
+ "@babel/plugin-transform-named-capturing-groups-regex": "^7.8.3",
829
+ "@babel/plugin-transform-new-target": "^7.8.3",
830
+ "@babel/plugin-transform-object-super": "^7.8.3",
831
+ "@babel/plugin-transform-parameters": "^7.9.5",
832
+ "@babel/plugin-transform-property-literals": "^7.8.3",
833
+ "@babel/plugin-transform-regenerator": "^7.8.7",
834
+ "@babel/plugin-transform-reserved-words": "^7.8.3",
835
+ "@babel/plugin-transform-shorthand-properties": "^7.8.3",
836
+ "@babel/plugin-transform-spread": "^7.8.3",
837
+ "@babel/plugin-transform-sticky-regex": "^7.8.3",
838
+ "@babel/plugin-transform-template-literals": "^7.8.3",
839
+ "@babel/plugin-transform-typeof-symbol": "^7.8.4",
840
+ "@babel/plugin-transform-unicode-regex": "^7.8.3",
841
+ "@babel/preset-modules": "^0.1.3",
842
+ "@babel/types": "^7.9.6",
843
+ "browserslist": "^4.11.1",
844
+ "core-js-compat": "^3.6.2",
845
+ "invariant": "^2.2.2",
846
+ "levenary": "^1.1.1",
847
+ "semver": "^5.5.0"
848
+ }
849
+ },
850
+ "@babel/preset-modules": {
851
+ "version": "0.1.3",
852
+ "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.3.tgz",
853
+ "integrity": "sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg==",
854
+ "dev": true,
855
+ "requires": {
856
+ "@babel/helper-plugin-utils": "^7.0.0",
857
+ "@babel/plugin-proposal-unicode-property-regex": "^7.4.4",
858
+ "@babel/plugin-transform-dotall-regex": "^7.4.4",
859
+ "@babel/types": "^7.4.4",
860
+ "esutils": "^2.0.2"
861
+ }
862
+ },
863
+ "@babel/runtime": {
864
+ "version": "7.9.6",
865
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.9.6.tgz",
866
+ "integrity": "sha512-64AF1xY3OAkFHqOb9s4jpgk1Mm5vDZ4L3acHvAml+53nO1XbXLuDodsVpO4OIUsmemlUHMxNdYMNJmsvOwLrvQ==",
867
+ "dev": true,
868
+ "requires": {
869
+ "regenerator-runtime": "^0.13.4"
870
+ }
871
+ },
872
+ "@babel/template": {
873
+ "version": "7.8.6",
874
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz",
875
+ "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==",
876
+ "dev": true,
877
+ "requires": {
878
+ "@babel/code-frame": "^7.8.3",
879
+ "@babel/parser": "^7.8.6",
880
+ "@babel/types": "^7.8.6"
881
+ }
882
+ },
883
+ "@babel/traverse": {
884
+ "version": "7.9.6",
885
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.9.6.tgz",
886
+ "integrity": "sha512-b3rAHSjbxy6VEAvlxM8OV/0X4XrG72zoxme6q1MOoe2vd0bEc+TwayhuC1+Dfgqh1QEG+pj7atQqvUprHIccsg==",
887
+ "dev": true,
888
+ "requires": {
889
+ "@babel/code-frame": "^7.8.3",
890
+ "@babel/generator": "^7.9.6",
891
+ "@babel/helper-function-name": "^7.9.5",
892
+ "@babel/helper-split-export-declaration": "^7.8.3",
893
+ "@babel/parser": "^7.9.6",
894
+ "@babel/types": "^7.9.6",
895
+ "debug": "^4.1.0",
896
+ "globals": "^11.1.0",
897
+ "lodash": "^4.17.13"
898
+ }
899
+ },
900
+ "@babel/types": {
901
+ "version": "7.9.6",
902
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.6.tgz",
903
+ "integrity": "sha512-qxXzvBO//jO9ZnoasKF1uJzHd2+M6Q2ZPIVfnFps8JJvXy0ZBbwbNOmE6SGIY5XOY6d1Bo5lb9d9RJ8nv3WSeA==",
904
+ "dev": true,
905
+ "requires": {
906
+ "@babel/helper-validator-identifier": "^7.9.5",
907
+ "lodash": "^4.17.13",
908
+ "to-fast-properties": "^2.0.0"
909
+ }
910
+ },
911
+ "@cnakazawa/watch": {
912
+ "version": "1.0.4",
913
+ "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz",
914
+ "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==",
915
+ "dev": true,
916
+ "requires": {
917
+ "exec-sh": "^0.3.2",
918
+ "minimist": "^1.2.0"
919
+ }
920
+ },
921
+ "@jest/console": {
922
+ "version": "24.9.0",
923
+ "resolved": "https://registry.npmjs.org/@jest/console/-/console-24.9.0.tgz",
924
+ "integrity": "sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ==",
925
+ "dev": true,
926
+ "requires": {
927
+ "@jest/source-map": "^24.9.0",
928
+ "chalk": "^2.0.1",
929
+ "slash": "^2.0.0"
930
+ }
931
+ },
932
+ "@jest/core": {
933
+ "version": "24.9.0",
934
+ "resolved": "https://registry.npmjs.org/@jest/core/-/core-24.9.0.tgz",
935
+ "integrity": "sha512-Fogg3s4wlAr1VX7q+rhV9RVnUv5tD7VuWfYy1+whMiWUrvl7U3QJSJyWcDio9Lq2prqYsZaeTv2Rz24pWGkJ2A==",
936
+ "dev": true,
937
+ "requires": {
938
+ "@jest/console": "^24.7.1",
939
+ "@jest/reporters": "^24.9.0",
940
+ "@jest/test-result": "^24.9.0",
941
+ "@jest/transform": "^24.9.0",
942
+ "@jest/types": "^24.9.0",
943
+ "ansi-escapes": "^3.0.0",
944
+ "chalk": "^2.0.1",
945
+ "exit": "^0.1.2",
946
+ "graceful-fs": "^4.1.15",
947
+ "jest-changed-files": "^24.9.0",
948
+ "jest-config": "^24.9.0",
949
+ "jest-haste-map": "^24.9.0",
950
+ "jest-message-util": "^24.9.0",
951
+ "jest-regex-util": "^24.3.0",
952
+ "jest-resolve": "^24.9.0",
953
+ "jest-resolve-dependencies": "^24.9.0",
954
+ "jest-runner": "^24.9.0",
955
+ "jest-runtime": "^24.9.0",
956
+ "jest-snapshot": "^24.9.0",
957
+ "jest-util": "^24.9.0",
958
+ "jest-validate": "^24.9.0",
959
+ "jest-watcher": "^24.9.0",
960
+ "micromatch": "^3.1.10",
961
+ "p-each-series": "^1.0.0",
962
+ "realpath-native": "^1.1.0",
963
+ "rimraf": "^2.5.4",
964
+ "slash": "^2.0.0",
965
+ "strip-ansi": "^5.0.0"
966
+ },
967
+ "dependencies": {
968
+ "ansi-regex": {
969
+ "version": "4.1.0",
970
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
971
+ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
972
+ "dev": true
973
+ },
974
+ "strip-ansi": {
975
+ "version": "5.2.0",
976
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
977
+ "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
978
+ "dev": true,
979
+ "requires": {
980
+ "ansi-regex": "^4.1.0"
981
+ }
982
+ }
983
+ }
984
+ },
985
+ "@jest/environment": {
986
+ "version": "24.9.0",
987
+ "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-24.9.0.tgz",
988
+ "integrity": "sha512-5A1QluTPhvdIPFYnO3sZC3smkNeXPVELz7ikPbhUj0bQjB07EoE9qtLrem14ZUYWdVayYbsjVwIiL4WBIMV4aQ==",
989
+ "dev": true,
990
+ "requires": {
991
+ "@jest/fake-timers": "^24.9.0",
992
+ "@jest/transform": "^24.9.0",
993
+ "@jest/types": "^24.9.0",
994
+ "jest-mock": "^24.9.0"
995
+ }
996
+ },
997
+ "@jest/fake-timers": {
998
+ "version": "24.9.0",
999
+ "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-24.9.0.tgz",
1000
+ "integrity": "sha512-eWQcNa2YSwzXWIMC5KufBh3oWRIijrQFROsIqt6v/NS9Io/gknw1jsAC9c+ih/RQX4A3O7SeWAhQeN0goKhT9A==",
1001
+ "dev": true,
1002
+ "requires": {
1003
+ "@jest/types": "^24.9.0",
1004
+ "jest-message-util": "^24.9.0",
1005
+ "jest-mock": "^24.9.0"
1006
+ }
1007
+ },
1008
+ "@jest/reporters": {
1009
+ "version": "24.9.0",
1010
+ "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-24.9.0.tgz",
1011
+ "integrity": "sha512-mu4X0yjaHrffOsWmVLzitKmmmWSQ3GGuefgNscUSWNiUNcEOSEQk9k3pERKEQVBb0Cnn88+UESIsZEMH3o88Gw==",
1012
+ "dev": true,
1013
+ "requires": {
1014
+ "@jest/environment": "^24.9.0",
1015
+ "@jest/test-result": "^24.9.0",
1016
+ "@jest/transform": "^24.9.0",
1017
+ "@jest/types": "^24.9.0",
1018
+ "chalk": "^2.0.1",
1019
+ "exit": "^0.1.2",
1020
+ "glob": "^7.1.2",
1021
+ "istanbul-lib-coverage": "^2.0.2",
1022
+ "istanbul-lib-instrument": "^3.0.1",
1023
+ "istanbul-lib-report": "^2.0.4",
1024
+ "istanbul-lib-source-maps": "^3.0.1",
1025
+ "istanbul-reports": "^2.2.6",
1026
+ "jest-haste-map": "^24.9.0",
1027
+ "jest-resolve": "^24.9.0",
1028
+ "jest-runtime": "^24.9.0",
1029
+ "jest-util": "^24.9.0",
1030
+ "jest-worker": "^24.6.0",
1031
+ "node-notifier": "^5.4.2",
1032
+ "slash": "^2.0.0",
1033
+ "source-map": "^0.6.0",
1034
+ "string-length": "^2.0.0"
1035
+ },
1036
+ "dependencies": {
1037
+ "source-map": {
1038
+ "version": "0.6.1",
1039
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
1040
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
1041
+ "dev": true
1042
+ }
1043
+ }
1044
+ },
1045
+ "@jest/source-map": {
1046
+ "version": "24.9.0",
1047
+ "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-24.9.0.tgz",
1048
+ "integrity": "sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg==",
1049
+ "dev": true,
1050
+ "requires": {
1051
+ "callsites": "^3.0.0",
1052
+ "graceful-fs": "^4.1.15",
1053
+ "source-map": "^0.6.0"
1054
+ },
1055
+ "dependencies": {
1056
+ "callsites": {
1057
+ "version": "3.1.0",
1058
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
1059
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
1060
+ "dev": true
1061
+ },
1062
+ "source-map": {
1063
+ "version": "0.6.1",
1064
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
1065
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
1066
+ "dev": true
1067
+ }
1068
+ }
1069
+ },
1070
+ "@jest/test-result": {
1071
+ "version": "24.9.0",
1072
+ "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-24.9.0.tgz",
1073
+ "integrity": "sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA==",
1074
+ "dev": true,
1075
+ "requires": {
1076
+ "@jest/console": "^24.9.0",
1077
+ "@jest/types": "^24.9.0",
1078
+ "@types/istanbul-lib-coverage": "^2.0.0"
1079
+ }
1080
+ },
1081
+ "@jest/test-sequencer": {
1082
+ "version": "24.9.0",
1083
+ "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz",
1084
+ "integrity": "sha512-6qqsU4o0kW1dvA95qfNog8v8gkRN9ph6Lz7r96IvZpHdNipP2cBcb07J1Z45mz/VIS01OHJ3pY8T5fUY38tg4A==",
1085
+ "dev": true,
1086
+ "requires": {
1087
+ "@jest/test-result": "^24.9.0",
1088
+ "jest-haste-map": "^24.9.0",
1089
+ "jest-runner": "^24.9.0",
1090
+ "jest-runtime": "^24.9.0"
1091
+ }
1092
+ },
1093
+ "@jest/transform": {
1094
+ "version": "24.9.0",
1095
+ "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-24.9.0.tgz",
1096
+ "integrity": "sha512-TcQUmyNRxV94S0QpMOnZl0++6RMiqpbH/ZMccFB/amku6Uwvyb1cjYX7xkp5nGNkbX4QPH/FcB6q1HBTHynLmQ==",
1097
+ "dev": true,
1098
+ "requires": {
1099
+ "@babel/core": "^7.1.0",
1100
+ "@jest/types": "^24.9.0",
1101
+ "babel-plugin-istanbul": "^5.1.0",
1102
+ "chalk": "^2.0.1",
1103
+ "convert-source-map": "^1.4.0",
1104
+ "fast-json-stable-stringify": "^2.0.0",
1105
+ "graceful-fs": "^4.1.15",
1106
+ "jest-haste-map": "^24.9.0",
1107
+ "jest-regex-util": "^24.9.0",
1108
+ "jest-util": "^24.9.0",
1109
+ "micromatch": "^3.1.10",
1110
+ "pirates": "^4.0.1",
1111
+ "realpath-native": "^1.1.0",
1112
+ "slash": "^2.0.0",
1113
+ "source-map": "^0.6.1",
1114
+ "write-file-atomic": "2.4.1"
1115
+ },
1116
+ "dependencies": {
1117
+ "source-map": {
1118
+ "version": "0.6.1",
1119
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
1120
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
1121
+ "dev": true
1122
+ }
1123
+ }
1124
+ },
1125
+ "@jest/types": {
1126
+ "version": "24.9.0",
1127
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz",
1128
+ "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==",
1129
+ "dev": true,
1130
+ "requires": {
1131
+ "@types/istanbul-lib-coverage": "^2.0.0",
1132
+ "@types/istanbul-reports": "^1.1.1",
1133
+ "@types/yargs": "^13.0.0"
1134
+ }
1135
+ },
1136
+ "@mrmlnc/readdir-enhanced": {
1137
+ "version": "2.2.1",
1138
+ "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz",
1139
+ "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==",
1140
+ "dev": true,
1141
+ "requires": {
1142
+ "call-me-maybe": "^1.0.1",
1143
+ "glob-to-regexp": "^0.3.0"
1144
+ }
1145
+ },
1146
+ "@nodelib/fs.stat": {
1147
+ "version": "1.1.3",
1148
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz",
1149
+ "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==",
1150
+ "dev": true
1151
+ },
1152
+ "@types/babel__core": {
1153
+ "version": "7.1.7",
1154
+ "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.7.tgz",
1155
+ "integrity": "sha512-RL62NqSFPCDK2FM1pSDH0scHpJvsXtZNiYlMB73DgPBaG1E38ZYVL+ei5EkWRbr+KC4YNiAUNBnRj+bgwpgjMw==",
1156
+ "dev": true,
1157
+ "requires": {
1158
+ "@babel/parser": "^7.1.0",
1159
+ "@babel/types": "^7.0.0",
1160
+ "@types/babel__generator": "*",
1161
+ "@types/babel__template": "*",
1162
+ "@types/babel__traverse": "*"
1163
+ }
1164
+ },
1165
+ "@types/babel__generator": {
1166
+ "version": "7.6.1",
1167
+ "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.1.tgz",
1168
+ "integrity": "sha512-bBKm+2VPJcMRVwNhxKu8W+5/zT7pwNEqeokFOmbvVSqGzFneNxYcEBro9Ac7/N9tlsaPYnZLK8J1LWKkMsLAew==",
1169
+ "dev": true,
1170
+ "requires": {
1171
+ "@babel/types": "^7.0.0"
1172
+ }
1173
+ },
1174
+ "@types/babel__template": {
1175
+ "version": "7.0.2",
1176
+ "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.0.2.tgz",
1177
+ "integrity": "sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg==",
1178
+ "dev": true,
1179
+ "requires": {
1180
+ "@babel/parser": "^7.1.0",
1181
+ "@babel/types": "^7.0.0"
1182
+ }
1183
+ },
1184
+ "@types/babel__traverse": {
1185
+ "version": "7.0.11",
1186
+ "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.11.tgz",
1187
+ "integrity": "sha512-ddHK5icION5U6q11+tV2f9Mo6CZVuT8GJKld2q9LqHSZbvLbH34Kcu2yFGckZut453+eQU6btIA3RihmnRgI+Q==",
1188
+ "dev": true,
1189
+ "requires": {
1190
+ "@babel/types": "^7.3.0"
1191
+ }
1192
+ },
1193
+ "@types/events": {
1194
+ "version": "3.0.0",
1195
+ "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz",
1196
+ "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==",
1197
+ "dev": true
1198
+ },
1199
+ "@types/glob": {
1200
+ "version": "7.1.1",
1201
+ "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz",
1202
+ "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==",
1203
+ "dev": true,
1204
+ "requires": {
1205
+ "@types/events": "*",
1206
+ "@types/minimatch": "*",
1207
+ "@types/node": "*"
1208
+ }
1209
+ },
1210
+ "@types/istanbul-lib-coverage": {
1211
+ "version": "2.0.1",
1212
+ "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz",
1213
+ "integrity": "sha512-hRJD2ahnnpLgsj6KWMYSrmXkM3rm2Dl1qkx6IOFD5FnuNPXJIG5L0dhgKXCYTRMGzU4n0wImQ/xfmRc4POUFlg==",
1214
+ "dev": true
1215
+ },
1216
+ "@types/istanbul-lib-report": {
1217
+ "version": "3.0.0",
1218
+ "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
1219
+ "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==",
1220
+ "dev": true,
1221
+ "requires": {
1222
+ "@types/istanbul-lib-coverage": "*"
1223
+ }
1224
+ },
1225
+ "@types/istanbul-reports": {
1226
+ "version": "1.1.1",
1227
+ "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.1.tgz",
1228
+ "integrity": "sha512-UpYjBi8xefVChsCoBpKShdxTllC9pwISirfoZsUa2AAdQg/Jd2KQGtSbw+ya7GPo7x/wAPlH6JBhKhAsXUEZNA==",
1229
+ "dev": true,
1230
+ "requires": {
1231
+ "@types/istanbul-lib-coverage": "*",
1232
+ "@types/istanbul-lib-report": "*"
1233
+ }
1234
+ },
1235
+ "@types/minimatch": {
1236
+ "version": "3.0.3",
1237
+ "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz",
1238
+ "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==",
1239
+ "dev": true
1240
+ },
1241
+ "@types/minimist": {
1242
+ "version": "1.2.0",
1243
+ "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.0.tgz",
1244
+ "integrity": "sha1-aaI6OtKcrwCX8G7aWbNh7i8GOfY=",
1245
+ "dev": true
1246
+ },
1247
+ "@types/node": {
1248
+ "version": "14.0.1",
1249
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.1.tgz",
1250
+ "integrity": "sha512-FAYBGwC+W6F9+huFIDtn43cpy7+SzG+atzRiTfdp3inUKL2hXnd4rG8hylJLIh4+hqrQy1P17kvJByE/z825hA==",
1251
+ "dev": true
1252
+ },
1253
+ "@types/normalize-package-data": {
1254
+ "version": "2.4.0",
1255
+ "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
1256
+ "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==",
1257
+ "dev": true
1258
+ },
1259
+ "@types/q": {
1260
+ "version": "1.5.2",
1261
+ "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.2.tgz",
1262
+ "integrity": "sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==",
1263
+ "dev": true
1264
+ },
1265
+ "@types/stack-utils": {
1266
+ "version": "1.0.1",
1267
+ "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz",
1268
+ "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==",
1269
+ "dev": true
1270
+ },
1271
+ "@types/unist": {
1272
+ "version": "2.0.3",
1273
+ "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.3.tgz",
1274
+ "integrity": "sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==",
1275
+ "dev": true
1276
+ },
1277
+ "@types/vfile": {
1278
+ "version": "3.0.2",
1279
+ "resolved": "https://registry.npmjs.org/@types/vfile/-/vfile-3.0.2.tgz",
1280
+ "integrity": "sha512-b3nLFGaGkJ9rzOcuXRfHkZMdjsawuDD0ENL9fzTophtBg8FJHSGbH7daXkEpcwy3v7Xol3pAvsmlYyFhR4pqJw==",
1281
+ "dev": true,
1282
+ "requires": {
1283
+ "@types/node": "*",
1284
+ "@types/unist": "*",
1285
+ "@types/vfile-message": "*"
1286
+ }
1287
+ },
1288
+ "@types/vfile-message": {
1289
+ "version": "2.0.0",
1290
+ "resolved": "https://registry.npmjs.org/@types/vfile-message/-/vfile-message-2.0.0.tgz",
1291
+ "integrity": "sha512-GpTIuDpb9u4zIO165fUy9+fXcULdD8HFRNli04GehoMVbeNq7D6OBnqSmg3lxZnC+UvgUhEWKxdKiwYUkGltIw==",
1292
+ "dev": true,
1293
+ "requires": {
1294
+ "vfile-message": "*"
1295
+ }
1296
+ },
1297
+ "@types/yargs": {
1298
+ "version": "13.0.9",
1299
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.9.tgz",
1300
+ "integrity": "sha512-xrvhZ4DZewMDhoH1utLtOAwYQy60eYFoXeje30TzM3VOvQlBwQaEpKFq5m34k1wOw2AKIi2pwtiAjdmhvlBUzg==",
1301
+ "dev": true,
1302
+ "requires": {
1303
+ "@types/yargs-parser": "*"
1304
+ }
1305
+ },
1306
+ "@types/yargs-parser": {
1307
+ "version": "15.0.0",
1308
+ "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz",
1309
+ "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==",
1310
+ "dev": true
1311
+ },
1312
+ "@webassemblyjs/ast": {
1313
+ "version": "1.9.0",
1314
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz",
1315
+ "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==",
1316
+ "dev": true,
1317
+ "requires": {
1318
+ "@webassemblyjs/helper-module-context": "1.9.0",
1319
+ "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
1320
+ "@webassemblyjs/wast-parser": "1.9.0"
1321
+ }
1322
+ },
1323
+ "@webassemblyjs/floating-point-hex-parser": {
1324
+ "version": "1.9.0",
1325
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz",
1326
+ "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==",
1327
+ "dev": true
1328
+ },
1329
+ "@webassemblyjs/helper-api-error": {
1330
+ "version": "1.9.0",
1331
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz",
1332
+ "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==",
1333
+ "dev": true
1334
+ },
1335
+ "@webassemblyjs/helper-buffer": {
1336
+ "version": "1.9.0",
1337
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz",
1338
+ "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==",
1339
+ "dev": true
1340
+ },
1341
+ "@webassemblyjs/helper-code-frame": {
1342
+ "version": "1.9.0",
1343
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz",
1344
+ "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==",
1345
+ "dev": true,
1346
+ "requires": {
1347
+ "@webassemblyjs/wast-printer": "1.9.0"
1348
+ }
1349
+ },
1350
+ "@webassemblyjs/helper-fsm": {
1351
+ "version": "1.9.0",
1352
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz",
1353
+ "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==",
1354
+ "dev": true
1355
+ },
1356
+ "@webassemblyjs/helper-module-context": {
1357
+ "version": "1.9.0",
1358
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz",
1359
+ "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==",
1360
+ "dev": true,
1361
+ "requires": {
1362
+ "@webassemblyjs/ast": "1.9.0"
1363
+ }
1364
+ },
1365
+ "@webassemblyjs/helper-wasm-bytecode": {
1366
+ "version": "1.9.0",
1367
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz",
1368
+ "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==",
1369
+ "dev": true
1370
+ },
1371
+ "@webassemblyjs/helper-wasm-section": {
1372
+ "version": "1.9.0",
1373
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz",
1374
+ "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==",
1375
+ "dev": true,
1376
+ "requires": {
1377
+ "@webassemblyjs/ast": "1.9.0",
1378
+ "@webassemblyjs/helper-buffer": "1.9.0",
1379
+ "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
1380
+ "@webassemblyjs/wasm-gen": "1.9.0"
1381
+ }
1382
+ },
1383
+ "@webassemblyjs/ieee754": {
1384
+ "version": "1.9.0",
1385
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz",
1386
+ "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==",
1387
+ "dev": true,
1388
+ "requires": {
1389
+ "@xtuc/ieee754": "^1.2.0"
1390
+ }
1391
+ },
1392
+ "@webassemblyjs/leb128": {
1393
+ "version": "1.9.0",
1394
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz",
1395
+ "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==",
1396
+ "dev": true,
1397
+ "requires": {
1398
+ "@xtuc/long": "4.2.2"
1399
+ }
1400
+ },
1401
+ "@webassemblyjs/utf8": {
1402
+ "version": "1.9.0",
1403
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz",
1404
+ "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==",
1405
+ "dev": true
1406
+ },
1407
+ "@webassemblyjs/wasm-edit": {
1408
+ "version": "1.9.0",
1409
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz",
1410
+ "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==",
1411
+ "dev": true,
1412
+ "requires": {
1413
+ "@webassemblyjs/ast": "1.9.0",
1414
+ "@webassemblyjs/helper-buffer": "1.9.0",
1415
+ "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
1416
+ "@webassemblyjs/helper-wasm-section": "1.9.0",
1417
+ "@webassemblyjs/wasm-gen": "1.9.0",
1418
+ "@webassemblyjs/wasm-opt": "1.9.0",
1419
+ "@webassemblyjs/wasm-parser": "1.9.0",
1420
+ "@webassemblyjs/wast-printer": "1.9.0"
1421
+ }
1422
+ },
1423
+ "@webassemblyjs/wasm-gen": {
1424
+ "version": "1.9.0",
1425
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz",
1426
+ "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==",
1427
+ "dev": true,
1428
+ "requires": {
1429
+ "@webassemblyjs/ast": "1.9.0",
1430
+ "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
1431
+ "@webassemblyjs/ieee754": "1.9.0",
1432
+ "@webassemblyjs/leb128": "1.9.0",
1433
+ "@webassemblyjs/utf8": "1.9.0"
1434
+ }
1435
+ },
1436
+ "@webassemblyjs/wasm-opt": {
1437
+ "version": "1.9.0",
1438
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz",
1439
+ "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==",
1440
+ "dev": true,
1441
+ "requires": {
1442
+ "@webassemblyjs/ast": "1.9.0",
1443
+ "@webassemblyjs/helper-buffer": "1.9.0",
1444
+ "@webassemblyjs/wasm-gen": "1.9.0",
1445
+ "@webassemblyjs/wasm-parser": "1.9.0"
1446
+ }
1447
+ },
1448
+ "@webassemblyjs/wasm-parser": {
1449
+ "version": "1.9.0",
1450
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz",
1451
+ "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==",
1452
+ "dev": true,
1453
+ "requires": {
1454
+ "@webassemblyjs/ast": "1.9.0",
1455
+ "@webassemblyjs/helper-api-error": "1.9.0",
1456
+ "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
1457
+ "@webassemblyjs/ieee754": "1.9.0",
1458
+ "@webassemblyjs/leb128": "1.9.0",
1459
+ "@webassemblyjs/utf8": "1.9.0"
1460
+ }
1461
+ },
1462
+ "@webassemblyjs/wast-parser": {
1463
+ "version": "1.9.0",
1464
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz",
1465
+ "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==",
1466
+ "dev": true,
1467
+ "requires": {
1468
+ "@webassemblyjs/ast": "1.9.0",
1469
+ "@webassemblyjs/floating-point-hex-parser": "1.9.0",
1470
+ "@webassemblyjs/helper-api-error": "1.9.0",
1471
+ "@webassemblyjs/helper-code-frame": "1.9.0",
1472
+ "@webassemblyjs/helper-fsm": "1.9.0",
1473
+ "@xtuc/long": "4.2.2"
1474
+ }
1475
+ },
1476
+ "@webassemblyjs/wast-printer": {
1477
+ "version": "1.9.0",
1478
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz",
1479
+ "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==",
1480
+ "dev": true,
1481
+ "requires": {
1482
+ "@webassemblyjs/ast": "1.9.0",
1483
+ "@webassemblyjs/wast-parser": "1.9.0",
1484
+ "@xtuc/long": "4.2.2"
1485
+ }
1486
+ },
1487
+ "@xtuc/ieee754": {
1488
+ "version": "1.2.0",
1489
+ "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
1490
+ "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
1491
+ "dev": true
1492
+ },
1493
+ "@xtuc/long": {
1494
+ "version": "4.2.2",
1495
+ "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
1496
+ "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
1497
+ "dev": true
1498
+ },
1499
+ "abab": {
1500
+ "version": "2.0.3",
1501
+ "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.3.tgz",
1502
+ "integrity": "sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg==",
1503
+ "dev": true
1504
+ },
1505
+ "abbrev": {
1506
+ "version": "1.1.1",
1507
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
1508
+ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
1509
+ "dev": true
1510
+ },
1511
+ "acorn": {
1512
+ "version": "6.4.1",
1513
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz",
1514
+ "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==",
1515
+ "dev": true
1516
+ },
1517
+ "acorn-globals": {
1518
+ "version": "4.3.4",
1519
+ "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz",
1520
+ "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==",
1521
+ "dev": true,
1522
+ "requires": {
1523
+ "acorn": "^6.0.1",
1524
+ "acorn-walk": "^6.0.1"
1525
+ }
1526
+ },
1527
+ "acorn-jsx": {
1528
+ "version": "5.2.0",
1529
+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.2.0.tgz",
1530
+ "integrity": "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==",
1531
+ "dev": true
1532
+ },
1533
+ "acorn-walk": {
1534
+ "version": "6.2.0",
1535
+ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz",
1536
+ "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==",
1537
+ "dev": true
1538
+ },
1539
+ "aggregate-error": {
1540
+ "version": "3.0.1",
1541
+ "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz",
1542
+ "integrity": "sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==",
1543
+ "dev": true,
1544
+ "requires": {
1545
+ "clean-stack": "^2.0.0",
1546
+ "indent-string": "^4.0.0"
1547
+ },
1548
+ "dependencies": {
1549
+ "indent-string": {
1550
+ "version": "4.0.0",
1551
+ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
1552
+ "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
1553
+ "dev": true
1554
+ }
1555
+ }
1556
+ },
1557
+ "ajv": {
1558
+ "version": "6.12.2",
1559
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz",
1560
+ "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==",
1561
+ "dev": true,
1562
+ "requires": {
1563
+ "fast-deep-equal": "^3.1.1",
1564
+ "fast-json-stable-stringify": "^2.0.0",
1565
+ "json-schema-traverse": "^0.4.1",
1566
+ "uri-js": "^4.2.2"
1567
+ }
1568
+ },
1569
+ "ajv-errors": {
1570
+ "version": "1.0.1",
1571
+ "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz",
1572
+ "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==",
1573
+ "dev": true
1574
+ },
1575
+ "ajv-keywords": {
1576
+ "version": "3.4.1",
1577
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz",
1578
+ "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==",
1579
+ "dev": true
1580
+ },
1581
+ "alphanum-sort": {
1582
+ "version": "1.0.2",
1583
+ "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz",
1584
+ "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=",
1585
+ "dev": true
1586
+ },
1587
+ "amdefine": {
1588
+ "version": "1.0.1",
1589
+ "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
1590
+ "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
1591
+ "dev": true
1592
+ },
1593
+ "ansi-escapes": {
1594
+ "version": "3.2.0",
1595
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz",
1596
+ "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==",
1597
+ "dev": true
1598
+ },
1599
+ "ansi-regex": {
1600
+ "version": "2.1.1",
1601
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
1602
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
1603
+ "dev": true
1604
+ },
1605
+ "ansi-styles": {
1606
+ "version": "3.2.1",
1607
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
1608
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
1609
+ "dev": true,
1610
+ "requires": {
1611
+ "color-convert": "^1.9.0"
1612
+ }
1613
+ },
1614
+ "anymatch": {
1615
+ "version": "2.0.0",
1616
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
1617
+ "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
1618
+ "dev": true,
1619
+ "requires": {
1620
+ "micromatch": "^3.1.4",
1621
+ "normalize-path": "^2.1.1"
1622
+ }
1623
+ },
1624
+ "aproba": {
1625
+ "version": "1.2.0",
1626
+ "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
1627
+ "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
1628
+ "dev": true
1629
+ },
1630
+ "are-we-there-yet": {
1631
+ "version": "1.1.5",
1632
+ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz",
1633
+ "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==",
1634
+ "dev": true,
1635
+ "requires": {
1636
+ "delegates": "^1.0.0",
1637
+ "readable-stream": "^2.0.6"
1638
+ }
1639
+ },
1640
+ "argparse": {
1641
+ "version": "1.0.10",
1642
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
1643
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
1644
+ "dev": true,
1645
+ "requires": {
1646
+ "sprintf-js": "~1.0.2"
1647
+ }
1648
+ },
1649
+ "arr-diff": {
1650
+ "version": "4.0.0",
1651
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
1652
+ "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
1653
+ "dev": true
1654
+ },
1655
+ "arr-flatten": {
1656
+ "version": "1.1.0",
1657
+ "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
1658
+ "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
1659
+ "dev": true
1660
+ },
1661
+ "arr-union": {
1662
+ "version": "3.1.0",
1663
+ "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
1664
+ "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
1665
+ "dev": true
1666
+ },
1667
+ "array-equal": {
1668
+ "version": "1.0.0",
1669
+ "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz",
1670
+ "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=",
1671
+ "dev": true
1672
+ },
1673
+ "array-find-index": {
1674
+ "version": "1.0.2",
1675
+ "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
1676
+ "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
1677
+ "dev": true
1678
+ },
1679
+ "array-union": {
1680
+ "version": "1.0.2",
1681
+ "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
1682
+ "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
1683
+ "dev": true,
1684
+ "requires": {
1685
+ "array-uniq": "^1.0.1"
1686
+ }
1687
+ },
1688
+ "array-uniq": {
1689
+ "version": "1.0.3",
1690
+ "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
1691
+ "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
1692
+ "dev": true
1693
+ },
1694
+ "array-unique": {
1695
+ "version": "0.3.2",
1696
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
1697
+ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
1698
+ "dev": true
1699
+ },
1700
+ "arrify": {
1701
+ "version": "1.0.1",
1702
+ "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
1703
+ "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
1704
+ "dev": true
1705
+ },
1706
+ "asn1": {
1707
+ "version": "0.2.4",
1708
+ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
1709
+ "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
1710
+ "dev": true,
1711
+ "requires": {
1712
+ "safer-buffer": "~2.1.0"
1713
+ }
1714
+ },
1715
+ "asn1.js": {
1716
+ "version": "4.10.1",
1717
+ "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz",
1718
+ "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==",
1719
+ "dev": true,
1720
+ "requires": {
1721
+ "bn.js": "^4.0.0",
1722
+ "inherits": "^2.0.1",
1723
+ "minimalistic-assert": "^1.0.0"
1724
+ },
1725
+ "dependencies": {
1726
+ "bn.js": {
1727
+ "version": "4.11.8",
1728
+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
1729
+ "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==",
1730
+ "dev": true
1731
+ }
1732
+ }
1733
+ },
1734
+ "assert": {
1735
+ "version": "1.5.0",
1736
+ "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz",
1737
+ "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==",
1738
+ "dev": true,
1739
+ "requires": {
1740
+ "object-assign": "^4.1.1",
1741
+ "util": "0.10.3"
1742
+ },
1743
+ "dependencies": {
1744
+ "inherits": {
1745
+ "version": "2.0.1",
1746
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
1747
+ "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
1748
+ "dev": true
1749
+ },
1750
+ "util": {
1751
+ "version": "0.10.3",
1752
+ "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
1753
+ "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
1754
+ "dev": true,
1755
+ "requires": {
1756
+ "inherits": "2.0.1"
1757
+ }
1758
+ }
1759
+ }
1760
+ },
1761
+ "assert-plus": {
1762
+ "version": "1.0.0",
1763
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
1764
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
1765
+ "dev": true
1766
+ },
1767
+ "assign-symbols": {
1768
+ "version": "1.0.0",
1769
+ "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
1770
+ "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
1771
+ "dev": true
1772
+ },
1773
+ "astral-regex": {
1774
+ "version": "1.0.0",
1775
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
1776
+ "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
1777
+ "dev": true
1778
+ },
1779
+ "async-each": {
1780
+ "version": "1.0.3",
1781
+ "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz",
1782
+ "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==",
1783
+ "dev": true
1784
+ },
1785
+ "async-foreach": {
1786
+ "version": "0.1.3",
1787
+ "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz",
1788
+ "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=",
1789
+ "dev": true
1790
+ },
1791
+ "async-limiter": {
1792
+ "version": "1.0.1",
1793
+ "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz",
1794
+ "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==",
1795
+ "dev": true
1796
+ },
1797
+ "asynckit": {
1798
+ "version": "0.4.0",
1799
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
1800
+ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
1801
+ "dev": true
1802
+ },
1803
+ "atob": {
1804
+ "version": "2.1.2",
1805
+ "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
1806
+ "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
1807
+ "dev": true
1808
+ },
1809
+ "autoprefixer": {
1810
+ "version": "9.7.6",
1811
+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.7.6.tgz",
1812
+ "integrity": "sha512-F7cYpbN7uVVhACZTeeIeealwdGM6wMtfWARVLTy5xmKtgVdBNJvbDRoCK3YO1orcs7gv/KwYlb3iXwu9Ug9BkQ==",
1813
+ "dev": true,
1814
+ "requires": {
1815
+ "browserslist": "^4.11.1",
1816
+ "caniuse-lite": "^1.0.30001039",
1817
+ "chalk": "^2.4.2",
1818
+ "normalize-range": "^0.1.2",
1819
+ "num2fraction": "^1.2.2",
1820
+ "postcss": "^7.0.27",
1821
+ "postcss-value-parser": "^4.0.3"
1822
+ }
1823
+ },
1824
+ "aws-sign2": {
1825
+ "version": "0.7.0",
1826
+ "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
1827
+ "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
1828
+ "dev": true
1829
+ },
1830
+ "aws4": {
1831
+ "version": "1.9.1",
1832
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz",
1833
+ "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==",
1834
+ "dev": true
1835
+ },
1836
+ "babel-code-frame": {
1837
+ "version": "6.26.0",
1838
+ "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
1839
+ "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
1840
+ "dev": true,
1841
+ "requires": {
1842
+ "chalk": "^1.1.3",
1843
+ "esutils": "^2.0.2",
1844
+ "js-tokens": "^3.0.2"
1845
+ },
1846
+ "dependencies": {
1847
+ "ansi-styles": {
1848
+ "version": "2.2.1",
1849
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
1850
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
1851
+ "dev": true
1852
+ },
1853
+ "chalk": {
1854
+ "version": "1.1.3",
1855
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
1856
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
1857
+ "dev": true,
1858
+ "requires": {
1859
+ "ansi-styles": "^2.2.1",
1860
+ "escape-string-regexp": "^1.0.2",
1861
+ "has-ansi": "^2.0.0",
1862
+ "strip-ansi": "^3.0.0",
1863
+ "supports-color": "^2.0.0"
1864
+ }
1865
+ },
1866
+ "js-tokens": {
1867
+ "version": "3.0.2",
1868
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
1869
+ "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=",
1870
+ "dev": true
1871
+ },
1872
+ "supports-color": {
1873
+ "version": "2.0.0",
1874
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
1875
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
1876
+ "dev": true
1877
+ }
1878
+ }
1879
+ },
1880
+ "babel-jest": {
1881
+ "version": "24.9.0",
1882
+ "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-24.9.0.tgz",
1883
+ "integrity": "sha512-ntuddfyiN+EhMw58PTNL1ph4C9rECiQXjI4nMMBKBaNjXvqLdkXpPRcMSr4iyBrJg/+wz9brFUD6RhOAT6r4Iw==",
1884
+ "dev": true,
1885
+ "requires": {
1886
+ "@jest/transform": "^24.9.0",
1887
+ "@jest/types": "^24.9.0",
1888
+ "@types/babel__core": "^7.1.0",
1889
+ "babel-plugin-istanbul": "^5.1.0",
1890
+ "babel-preset-jest": "^24.9.0",
1891
+ "chalk": "^2.4.2",
1892
+ "slash": "^2.0.0"
1893
+ }
1894
+ },
1895
+ "babel-loader": {
1896
+ "version": "8.1.0",
1897
+ "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.1.0.tgz",
1898
+ "integrity": "sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw==",
1899
+ "dev": true,
1900
+ "requires": {
1901
+ "find-cache-dir": "^2.1.0",
1902
+ "loader-utils": "^1.4.0",
1903
+ "mkdirp": "^0.5.3",
1904
+ "pify": "^4.0.1",
1905
+ "schema-utils": "^2.6.5"
1906
+ }
1907
+ },
1908
+ "babel-plugin-dynamic-import-node": {
1909
+ "version": "2.3.3",
1910
+ "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz",
1911
+ "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==",
1912
+ "dev": true,
1913
+ "requires": {
1914
+ "object.assign": "^4.1.0"
1915
+ }
1916
+ },
1917
+ "babel-plugin-istanbul": {
1918
+ "version": "5.2.0",
1919
+ "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz",
1920
+ "integrity": "sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw==",
1921
+ "dev": true,
1922
+ "requires": {
1923
+ "@babel/helper-plugin-utils": "^7.0.0",
1924
+ "find-up": "^3.0.0",
1925
+ "istanbul-lib-instrument": "^3.3.0",
1926
+ "test-exclude": "^5.2.3"
1927
+ },
1928
+ "dependencies": {
1929
+ "find-up": {
1930
+ "version": "3.0.0",
1931
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
1932
+ "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
1933
+ "dev": true,
1934
+ "requires": {
1935
+ "locate-path": "^3.0.0"
1936
+ }
1937
+ },
1938
+ "locate-path": {
1939
+ "version": "3.0.0",
1940
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
1941
+ "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
1942
+ "dev": true,
1943
+ "requires": {
1944
+ "p-locate": "^3.0.0",
1945
+ "path-exists": "^3.0.0"
1946
+ }
1947
+ },
1948
+ "p-limit": {
1949
+ "version": "2.3.0",
1950
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
1951
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
1952
+ "dev": true,
1953
+ "requires": {
1954
+ "p-try": "^2.0.0"
1955
+ }
1956
+ },
1957
+ "p-locate": {
1958
+ "version": "3.0.0",
1959
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
1960
+ "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
1961
+ "dev": true,
1962
+ "requires": {
1963
+ "p-limit": "^2.0.0"
1964
+ }
1965
+ },
1966
+ "p-try": {
1967
+ "version": "2.2.0",
1968
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
1969
+ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
1970
+ "dev": true
1971
+ }
1972
+ }
1973
+ },
1974
+ "babel-plugin-jest-hoist": {
1975
+ "version": "24.9.0",
1976
+ "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz",
1977
+ "integrity": "sha512-2EMA2P8Vp7lG0RAzr4HXqtYwacfMErOuv1U3wrvxHX6rD1sV6xS3WXG3r8TRQ2r6w8OhvSdWt+z41hQNwNm3Xw==",
1978
+ "dev": true,
1979
+ "requires": {
1980
+ "@types/babel__traverse": "^7.0.6"
1981
+ }
1982
+ },
1983
+ "babel-preset-jest": {
1984
+ "version": "24.9.0",
1985
+ "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz",
1986
+ "integrity": "sha512-izTUuhE4TMfTRPF92fFwD2QfdXaZW08qvWTFCI51V8rW5x00UuPgc3ajRoWofXOuxjfcOM5zzSYsQS3H8KGCAg==",
1987
+ "dev": true,
1988
+ "requires": {
1989
+ "@babel/plugin-syntax-object-rest-spread": "^7.0.0",
1990
+ "babel-plugin-jest-hoist": "^24.9.0"
1991
+ }
1992
+ },
1993
+ "bail": {
1994
+ "version": "1.0.5",
1995
+ "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz",
1996
+ "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==",
1997
+ "dev": true
1998
+ },
1999
+ "balanced-match": {
2000
+ "version": "1.0.0",
2001
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
2002
+ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
2003
+ "dev": true
2004
+ },
2005
+ "base": {
2006
+ "version": "0.11.2",
2007
+ "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
2008
+ "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
2009
+ "dev": true,
2010
+ "requires": {
2011
+ "cache-base": "^1.0.1",
2012
+ "class-utils": "^0.3.5",
2013
+ "component-emitter": "^1.2.1",
2014
+ "define-property": "^1.0.0",
2015
+ "isobject": "^3.0.1",
2016
+ "mixin-deep": "^1.2.0",
2017
+ "pascalcase": "^0.1.1"
2018
+ },
2019
+ "dependencies": {
2020
+ "define-property": {
2021
+ "version": "1.0.0",
2022
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
2023
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
2024
+ "dev": true,
2025
+ "requires": {
2026
+ "is-descriptor": "^1.0.0"
2027
+ }
2028
+ },
2029
+ "is-accessor-descriptor": {
2030
+ "version": "1.0.0",
2031
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
2032
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
2033
+ "dev": true,
2034
+ "requires": {
2035
+ "kind-of": "^6.0.0"
2036
+ }
2037
+ },
2038
+ "is-data-descriptor": {
2039
+ "version": "1.0.0",
2040
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
2041
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
2042
+ "dev": true,
2043
+ "requires": {
2044
+ "kind-of": "^6.0.0"
2045
+ }
2046
+ },
2047
+ "is-descriptor": {
2048
+ "version": "1.0.2",
2049
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
2050
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
2051
+ "dev": true,
2052
+ "requires": {
2053
+ "is-accessor-descriptor": "^1.0.0",
2054
+ "is-data-descriptor": "^1.0.0",
2055
+ "kind-of": "^6.0.2"
2056
+ }
2057
+ }
2058
+ }
2059
+ },
2060
+ "base64-js": {
2061
+ "version": "1.3.1",
2062
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz",
2063
+ "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==",
2064
+ "dev": true
2065
+ },
2066
+ "bcrypt-pbkdf": {
2067
+ "version": "1.0.2",
2068
+ "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
2069
+ "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
2070
+ "dev": true,
2071
+ "requires": {
2072
+ "tweetnacl": "^0.14.3"
2073
+ }
2074
+ },
2075
+ "big.js": {
2076
+ "version": "5.2.2",
2077
+ "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
2078
+ "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
2079
+ "dev": true
2080
+ },
2081
+ "binary-extensions": {
2082
+ "version": "1.13.1",
2083
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
2084
+ "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
2085
+ "dev": true
2086
+ },
2087
+ "bindings": {
2088
+ "version": "1.5.0",
2089
+ "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
2090
+ "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
2091
+ "dev": true,
2092
+ "optional": true,
2093
+ "requires": {
2094
+ "file-uri-to-path": "1.0.0"
2095
+ }
2096
+ },
2097
+ "block-stream": {
2098
+ "version": "0.0.9",
2099
+ "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz",
2100
+ "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=",
2101
+ "dev": true,
2102
+ "requires": {
2103
+ "inherits": "~2.0.0"
2104
+ }
2105
+ },
2106
+ "bluebird": {
2107
+ "version": "3.7.2",
2108
+ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
2109
+ "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==",
2110
+ "dev": true
2111
+ },
2112
+ "bn.js": {
2113
+ "version": "5.1.1",
2114
+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.1.tgz",
2115
+ "integrity": "sha512-IUTD/REb78Z2eodka1QZyyEk66pciRcP6Sroka0aI3tG/iwIdYLrBD62RsubR7vqdt3WyX8p4jxeatzmRSphtA==",
2116
+ "dev": true
2117
+ },
2118
+ "boolbase": {
2119
+ "version": "1.0.0",
2120
+ "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
2121
+ "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=",
2122
+ "dev": true
2123
+ },
2124
+ "brace-expansion": {
2125
+ "version": "1.1.11",
2126
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
2127
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
2128
+ "dev": true,
2129
+ "requires": {
2130
+ "balanced-match": "^1.0.0",
2131
+ "concat-map": "0.0.1"
2132
+ }
2133
+ },
2134
+ "braces": {
2135
+ "version": "2.3.2",
2136
+ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
2137
+ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
2138
+ "dev": true,
2139
+ "requires": {
2140
+ "arr-flatten": "^1.1.0",
2141
+ "array-unique": "^0.3.2",
2142
+ "extend-shallow": "^2.0.1",
2143
+ "fill-range": "^4.0.0",
2144
+ "isobject": "^3.0.1",
2145
+ "repeat-element": "^1.1.2",
2146
+ "snapdragon": "^0.8.1",
2147
+ "snapdragon-node": "^2.0.1",
2148
+ "split-string": "^3.0.2",
2149
+ "to-regex": "^3.0.1"
2150
+ },
2151
+ "dependencies": {
2152
+ "extend-shallow": {
2153
+ "version": "2.0.1",
2154
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
2155
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
2156
+ "dev": true,
2157
+ "requires": {
2158
+ "is-extendable": "^0.1.0"
2159
+ }
2160
+ }
2161
+ }
2162
+ },
2163
+ "brorand": {
2164
+ "version": "1.1.0",
2165
+ "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
2166
+ "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=",
2167
+ "dev": true
2168
+ },
2169
+ "browser-process-hrtime": {
2170
+ "version": "1.0.0",
2171
+ "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz",
2172
+ "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==",
2173
+ "dev": true
2174
+ },
2175
+ "browser-resolve": {
2176
+ "version": "1.11.3",
2177
+ "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz",
2178
+ "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==",
2179
+ "dev": true,
2180
+ "requires": {
2181
+ "resolve": "1.1.7"
2182
+ },
2183
+ "dependencies": {
2184
+ "resolve": {
2185
+ "version": "1.1.7",
2186
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
2187
+ "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
2188
+ "dev": true
2189
+ }
2190
+ }
2191
+ },
2192
+ "browserify-aes": {
2193
+ "version": "1.2.0",
2194
+ "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
2195
+ "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
2196
+ "dev": true,
2197
+ "requires": {
2198
+ "buffer-xor": "^1.0.3",
2199
+ "cipher-base": "^1.0.0",
2200
+ "create-hash": "^1.1.0",
2201
+ "evp_bytestokey": "^1.0.3",
2202
+ "inherits": "^2.0.1",
2203
+ "safe-buffer": "^5.0.1"
2204
+ }
2205
+ },
2206
+ "browserify-cipher": {
2207
+ "version": "1.0.1",
2208
+ "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
2209
+ "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
2210
+ "dev": true,
2211
+ "requires": {
2212
+ "browserify-aes": "^1.0.4",
2213
+ "browserify-des": "^1.0.0",
2214
+ "evp_bytestokey": "^1.0.0"
2215
+ }
2216
+ },
2217
+ "browserify-des": {
2218
+ "version": "1.0.2",
2219
+ "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz",
2220
+ "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
2221
+ "dev": true,
2222
+ "requires": {
2223
+ "cipher-base": "^1.0.1",
2224
+ "des.js": "^1.0.0",
2225
+ "inherits": "^2.0.1",
2226
+ "safe-buffer": "^5.1.2"
2227
+ }
2228
+ },
2229
+ "browserify-rsa": {
2230
+ "version": "4.0.1",
2231
+ "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
2232
+ "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
2233
+ "dev": true,
2234
+ "requires": {
2235
+ "bn.js": "^4.1.0",
2236
+ "randombytes": "^2.0.1"
2237
+ },
2238
+ "dependencies": {
2239
+ "bn.js": {
2240
+ "version": "4.11.8",
2241
+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
2242
+ "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==",
2243
+ "dev": true
2244
+ }
2245
+ }
2246
+ },
2247
+ "browserify-sign": {
2248
+ "version": "4.1.0",
2249
+ "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.1.0.tgz",
2250
+ "integrity": "sha512-VYxo7cDCeYUoBZ0ZCy4UyEUCP3smyBd4DRQM5nrFS1jJjPJjX7rP3oLRpPoWfkhQfyJ0I9ZbHbKafrFD/SGlrg==",
2251
+ "dev": true,
2252
+ "requires": {
2253
+ "bn.js": "^5.1.1",
2254
+ "browserify-rsa": "^4.0.1",
2255
+ "create-hash": "^1.2.0",
2256
+ "create-hmac": "^1.1.7",
2257
+ "elliptic": "^6.5.2",
2258
+ "inherits": "^2.0.4",
2259
+ "parse-asn1": "^5.1.5",
2260
+ "readable-stream": "^3.6.0"
2261
+ },
2262
+ "dependencies": {
2263
+ "readable-stream": {
2264
+ "version": "3.6.0",
2265
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
2266
+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
2267
+ "dev": true,
2268
+ "requires": {
2269
+ "inherits": "^2.0.3",
2270
+ "string_decoder": "^1.1.1",
2271
+ "util-deprecate": "^1.0.1"
2272
+ }
2273
+ }
2274
+ }
2275
+ },
2276
+ "browserify-zlib": {
2277
+ "version": "0.2.0",
2278
+ "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
2279
+ "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
2280
+ "dev": true,
2281
+ "requires": {
2282
+ "pako": "~1.0.5"
2283
+ }
2284
+ },
2285
+ "browserslist": {
2286
+ "version": "4.12.0",
2287
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.0.tgz",
2288
+ "integrity": "sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg==",
2289
+ "dev": true,
2290
+ "requires": {
2291
+ "caniuse-lite": "^1.0.30001043",
2292
+ "electron-to-chromium": "^1.3.413",
2293
+ "node-releases": "^1.1.53",
2294
+ "pkg-up": "^2.0.0"
2295
+ }
2296
+ },
2297
+ "bser": {
2298
+ "version": "2.1.1",
2299
+ "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz",
2300
+ "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==",
2301
+ "dev": true,
2302
+ "requires": {
2303
+ "node-int64": "^0.4.0"
2304
+ }
2305
+ },
2306
+ "buffer": {
2307
+ "version": "4.9.2",
2308
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz",
2309
+ "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==",
2310
+ "dev": true,
2311
+ "requires": {
2312
+ "base64-js": "^1.0.2",
2313
+ "ieee754": "^1.1.4",
2314
+ "isarray": "^1.0.0"
2315
+ }
2316
+ },
2317
+ "buffer-from": {
2318
+ "version": "1.1.1",
2319
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
2320
+ "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
2321
+ "dev": true
2322
+ },
2323
+ "buffer-xor": {
2324
+ "version": "1.0.3",
2325
+ "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
2326
+ "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=",
2327
+ "dev": true
2328
+ },
2329
+ "builtin-status-codes": {
2330
+ "version": "3.0.0",
2331
+ "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
2332
+ "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=",
2333
+ "dev": true
2334
+ },
2335
+ "cacache": {
2336
+ "version": "15.0.3",
2337
+ "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.3.tgz",
2338
+ "integrity": "sha512-bc3jKYjqv7k4pWh7I/ixIjfcjPul4V4jme/WbjvwGS5LzoPL/GzXr4C5EgPNLO/QEZl9Oi61iGitYEdwcrwLCQ==",
2339
+ "dev": true,
2340
+ "requires": {
2341
+ "chownr": "^2.0.0",
2342
+ "fs-minipass": "^2.0.0",
2343
+ "glob": "^7.1.4",
2344
+ "infer-owner": "^1.0.4",
2345
+ "lru-cache": "^5.1.1",
2346
+ "minipass": "^3.1.1",
2347
+ "minipass-collect": "^1.0.2",
2348
+ "minipass-flush": "^1.0.5",
2349
+ "minipass-pipeline": "^1.2.2",
2350
+ "mkdirp": "^1.0.3",
2351
+ "move-file": "^2.0.0",
2352
+ "p-map": "^4.0.0",
2353
+ "promise-inflight": "^1.0.1",
2354
+ "rimraf": "^3.0.2",
2355
+ "ssri": "^8.0.0",
2356
+ "tar": "^6.0.2",
2357
+ "unique-filename": "^1.1.1"
2358
+ },
2359
+ "dependencies": {
2360
+ "lru-cache": {
2361
+ "version": "5.1.1",
2362
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
2363
+ "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
2364
+ "dev": true,
2365
+ "requires": {
2366
+ "yallist": "^3.0.2"
2367
+ }
2368
+ },
2369
+ "mkdirp": {
2370
+ "version": "1.0.4",
2371
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
2372
+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
2373
+ "dev": true
2374
+ },
2375
+ "rimraf": {
2376
+ "version": "3.0.2",
2377
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
2378
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
2379
+ "dev": true,
2380
+ "requires": {
2381
+ "glob": "^7.1.3"
2382
+ }
2383
+ },
2384
+ "tar": {
2385
+ "version": "6.0.2",
2386
+ "resolved": "https://registry.npmjs.org/tar/-/tar-6.0.2.tgz",
2387
+ "integrity": "sha512-Glo3jkRtPcvpDlAs/0+hozav78yoXKFr+c4wgw62NNMO3oo4AaJdCo21Uu7lcwr55h39W2XD1LMERc64wtbItg==",
2388
+ "dev": true,
2389
+ "requires": {
2390
+ "chownr": "^2.0.0",
2391
+ "fs-minipass": "^2.0.0",
2392
+ "minipass": "^3.0.0",
2393
+ "minizlib": "^2.1.0",
2394
+ "mkdirp": "^1.0.3",
2395
+ "yallist": "^4.0.0"
2396
+ },
2397
+ "dependencies": {
2398
+ "yallist": {
2399
+ "version": "4.0.0",
2400
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
2401
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
2402
+ "dev": true
2403
+ }
2404
+ }
2405
+ },
2406
+ "yallist": {
2407
+ "version": "3.1.1",
2408
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
2409
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
2410
+ "dev": true
2411
+ }
2412
+ }
2413
+ },
2414
+ "cache-base": {
2415
+ "version": "1.0.1",
2416
+ "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
2417
+ "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
2418
+ "dev": true,
2419
+ "requires": {
2420
+ "collection-visit": "^1.0.0",
2421
+ "component-emitter": "^1.2.1",
2422
+ "get-value": "^2.0.6",
2423
+ "has-value": "^1.0.0",
2424
+ "isobject": "^3.0.1",
2425
+ "set-value": "^2.0.0",
2426
+ "to-object-path": "^0.3.0",
2427
+ "union-value": "^1.0.0",
2428
+ "unset-value": "^1.0.0"
2429
+ }
2430
+ },
2431
+ "call-me-maybe": {
2432
+ "version": "1.0.1",
2433
+ "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz",
2434
+ "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=",
2435
+ "dev": true
2436
+ },
2437
+ "caller-callsite": {
2438
+ "version": "2.0.0",
2439
+ "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz",
2440
+ "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=",
2441
+ "dev": true,
2442
+ "requires": {
2443
+ "callsites": "^2.0.0"
2444
+ }
2445
+ },
2446
+ "caller-path": {
2447
+ "version": "2.0.0",
2448
+ "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz",
2449
+ "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=",
2450
+ "dev": true,
2451
+ "requires": {
2452
+ "caller-callsite": "^2.0.0"
2453
+ }
2454
+ },
2455
+ "callsites": {
2456
+ "version": "2.0.0",
2457
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz",
2458
+ "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=",
2459
+ "dev": true
2460
+ },
2461
+ "camelcase": {
2462
+ "version": "5.3.1",
2463
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
2464
+ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
2465
+ "dev": true
2466
+ },
2467
+ "camelcase-keys": {
2468
+ "version": "2.1.0",
2469
+ "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
2470
+ "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
2471
+ "dev": true,
2472
+ "requires": {
2473
+ "camelcase": "^2.0.0",
2474
+ "map-obj": "^1.0.0"
2475
+ },
2476
+ "dependencies": {
2477
+ "camelcase": {
2478
+ "version": "2.1.1",
2479
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
2480
+ "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",
2481
+ "dev": true
2482
+ }
2483
+ }
2484
+ },
2485
+ "caniuse-api": {
2486
+ "version": "3.0.0",
2487
+ "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz",
2488
+ "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==",
2489
+ "dev": true,
2490
+ "requires": {
2491
+ "browserslist": "^4.0.0",
2492
+ "caniuse-lite": "^1.0.0",
2493
+ "lodash.memoize": "^4.1.2",
2494
+ "lodash.uniq": "^4.5.0"
2495
+ }
2496
+ },
2497
+ "caniuse-lite": {
2498
+ "version": "1.0.30001055",
2499
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001055.tgz",
2500
+ "integrity": "sha512-MbwsBmKrBSKIWldfdIagO5OJWZclpJtS4h0Jrk/4HFrXJxTdVdH23Fd+xCiHriVGvYcWyW8mR/CPsYajlH8Iuw==",
2501
+ "dev": true
2502
+ },
2503
+ "capture-exit": {
2504
+ "version": "2.0.0",
2505
+ "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz",
2506
+ "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==",
2507
+ "dev": true,
2508
+ "requires": {
2509
+ "rsvp": "^4.8.4"
2510
+ }
2511
+ },
2512
+ "caseless": {
2513
+ "version": "0.12.0",
2514
+ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
2515
+ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
2516
+ "dev": true
2517
+ },
2518
+ "ccount": {
2519
+ "version": "1.0.5",
2520
+ "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.0.5.tgz",
2521
+ "integrity": "sha512-MOli1W+nfbPLlKEhInaxhRdp7KVLFxLN5ykwzHgLsLI3H3gs5jjFAK4Eoj3OzzcxCtumDaI8onoVDeQyWaNTkw==",
2522
+ "dev": true
2523
+ },
2524
+ "chalk": {
2525
+ "version": "2.4.2",
2526
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
2527
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
2528
+ "dev": true,
2529
+ "requires": {
2530
+ "ansi-styles": "^3.2.1",
2531
+ "escape-string-regexp": "^1.0.5",
2532
+ "supports-color": "^5.3.0"
2533
+ }
2534
+ },
2535
+ "character-entities": {
2536
+ "version": "1.2.4",
2537
+ "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz",
2538
+ "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==",
2539
+ "dev": true
2540
+ },
2541
+ "character-entities-html4": {
2542
+ "version": "1.1.4",
2543
+ "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.4.tgz",
2544
+ "integrity": "sha512-HRcDxZuZqMx3/a+qrzxdBKBPUpxWEq9xw2OPZ3a/174ihfrQKVsFhqtthBInFy1zZ9GgZyFXOatNujm8M+El3g==",
2545
+ "dev": true
2546
+ },
2547
+ "character-entities-legacy": {
2548
+ "version": "1.1.4",
2549
+ "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz",
2550
+ "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==",
2551
+ "dev": true
2552
+ },
2553
+ "character-reference-invalid": {
2554
+ "version": "1.1.4",
2555
+ "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz",
2556
+ "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==",
2557
+ "dev": true
2558
+ },
2559
+ "chardet": {
2560
+ "version": "0.7.0",
2561
+ "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
2562
+ "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
2563
+ "dev": true
2564
+ },
2565
+ "chokidar": {
2566
+ "version": "2.1.8",
2567
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
2568
+ "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
2569
+ "dev": true,
2570
+ "requires": {
2571
+ "anymatch": "^2.0.0",
2572
+ "async-each": "^1.0.1",
2573
+ "braces": "^2.3.2",
2574
+ "fsevents": "^1.2.7",
2575
+ "glob-parent": "^3.1.0",
2576
+ "inherits": "^2.0.3",
2577
+ "is-binary-path": "^1.0.0",
2578
+ "is-glob": "^4.0.0",
2579
+ "normalize-path": "^3.0.0",
2580
+ "path-is-absolute": "^1.0.0",
2581
+ "readdirp": "^2.2.1",
2582
+ "upath": "^1.1.1"
2583
+ },
2584
+ "dependencies": {
2585
+ "normalize-path": {
2586
+ "version": "3.0.0",
2587
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
2588
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
2589
+ "dev": true
2590
+ }
2591
+ }
2592
+ },
2593
+ "chownr": {
2594
+ "version": "2.0.0",
2595
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
2596
+ "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
2597
+ "dev": true
2598
+ },
2599
+ "chrome-trace-event": {
2600
+ "version": "1.0.2",
2601
+ "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz",
2602
+ "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==",
2603
+ "dev": true,
2604
+ "requires": {
2605
+ "tslib": "^1.9.0"
2606
+ }
2607
+ },
2608
+ "ci-info": {
2609
+ "version": "2.0.0",
2610
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
2611
+ "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==",
2612
+ "dev": true
2613
+ },
2614
+ "cipher-base": {
2615
+ "version": "1.0.4",
2616
+ "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
2617
+ "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
2618
+ "dev": true,
2619
+ "requires": {
2620
+ "inherits": "^2.0.1",
2621
+ "safe-buffer": "^5.0.1"
2622
+ }
2623
+ },
2624
+ "class-utils": {
2625
+ "version": "0.3.6",
2626
+ "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
2627
+ "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
2628
+ "dev": true,
2629
+ "requires": {
2630
+ "arr-union": "^3.1.0",
2631
+ "define-property": "^0.2.5",
2632
+ "isobject": "^3.0.0",
2633
+ "static-extend": "^0.1.1"
2634
+ },
2635
+ "dependencies": {
2636
+ "define-property": {
2637
+ "version": "0.2.5",
2638
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
2639
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
2640
+ "dev": true,
2641
+ "requires": {
2642
+ "is-descriptor": "^0.1.0"
2643
+ }
2644
+ }
2645
+ }
2646
+ },
2647
+ "clean-stack": {
2648
+ "version": "2.2.0",
2649
+ "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
2650
+ "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
2651
+ "dev": true
2652
+ },
2653
+ "clean-webpack-plugin": {
2654
+ "version": "0.1.19",
2655
+ "resolved": "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-0.1.19.tgz",
2656
+ "integrity": "sha512-M1Li5yLHECcN2MahoreuODul5LkjohJGFxLPTjl3j1ttKrF5rgjZET1SJduuqxLAuT1gAPOdkhg03qcaaU1KeA==",
2657
+ "dev": true,
2658
+ "requires": {
2659
+ "rimraf": "^2.6.1"
2660
+ }
2661
+ },
2662
+ "cli-cursor": {
2663
+ "version": "2.1.0",
2664
+ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
2665
+ "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
2666
+ "dev": true,
2667
+ "requires": {
2668
+ "restore-cursor": "^2.0.0"
2669
+ }
2670
+ },
2671
+ "cli-width": {
2672
+ "version": "2.2.1",
2673
+ "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz",
2674
+ "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==",
2675
+ "dev": true
2676
+ },
2677
+ "cliui": {
2678
+ "version": "5.0.0",
2679
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
2680
+ "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
2681
+ "dev": true,
2682
+ "requires": {
2683
+ "string-width": "^3.1.0",
2684
+ "strip-ansi": "^5.2.0",
2685
+ "wrap-ansi": "^5.1.0"
2686
+ },
2687
+ "dependencies": {
2688
+ "ansi-regex": {
2689
+ "version": "4.1.0",
2690
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
2691
+ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
2692
+ "dev": true
2693
+ },
2694
+ "string-width": {
2695
+ "version": "3.1.0",
2696
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
2697
+ "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
2698
+ "dev": true,
2699
+ "requires": {
2700
+ "emoji-regex": "^7.0.1",
2701
+ "is-fullwidth-code-point": "^2.0.0",
2702
+ "strip-ansi": "^5.1.0"
2703
+ }
2704
+ },
2705
+ "strip-ansi": {
2706
+ "version": "5.2.0",
2707
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
2708
+ "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
2709
+ "dev": true,
2710
+ "requires": {
2711
+ "ansi-regex": "^4.1.0"
2712
+ }
2713
+ }
2714
+ }
2715
+ },
2716
+ "clone-deep": {
2717
+ "version": "4.0.1",
2718
+ "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
2719
+ "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==",
2720
+ "dev": true,
2721
+ "requires": {
2722
+ "is-plain-object": "^2.0.4",
2723
+ "kind-of": "^6.0.2",
2724
+ "shallow-clone": "^3.0.0"
2725
+ }
2726
+ },
2727
+ "clone-regexp": {
2728
+ "version": "1.0.1",
2729
+ "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-1.0.1.tgz",
2730
+ "integrity": "sha512-Fcij9IwRW27XedRIJnSOEupS7RVcXtObJXbcUOX93UCLqqOdRpkvzKywOOSizmEK/Is3S/RHX9dLdfo6R1Q1mw==",
2731
+ "dev": true,
2732
+ "requires": {
2733
+ "is-regexp": "^1.0.0",
2734
+ "is-supported-regexp-flag": "^1.0.0"
2735
+ }
2736
+ },
2737
+ "co": {
2738
+ "version": "4.6.0",
2739
+ "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
2740
+ "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
2741
+ "dev": true
2742
+ },
2743
+ "coa": {
2744
+ "version": "2.0.2",
2745
+ "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz",
2746
+ "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==",
2747
+ "dev": true,
2748
+ "requires": {
2749
+ "@types/q": "^1.5.1",
2750
+ "chalk": "^2.4.1",
2751
+ "q": "^1.1.2"
2752
+ }
2753
+ },
2754
+ "code-point-at": {
2755
+ "version": "1.1.0",
2756
+ "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
2757
+ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
2758
+ "dev": true
2759
+ },
2760
+ "collapse-white-space": {
2761
+ "version": "1.0.6",
2762
+ "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz",
2763
+ "integrity": "sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==",
2764
+ "dev": true
2765
+ },
2766
+ "collection-visit": {
2767
+ "version": "1.0.0",
2768
+ "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
2769
+ "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
2770
+ "dev": true,
2771
+ "requires": {
2772
+ "map-visit": "^1.0.0",
2773
+ "object-visit": "^1.0.0"
2774
+ }
2775
+ },
2776
+ "color": {
2777
+ "version": "3.1.2",
2778
+ "resolved": "https://registry.npmjs.org/color/-/color-3.1.2.tgz",
2779
+ "integrity": "sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==",
2780
+ "dev": true,
2781
+ "requires": {
2782
+ "color-convert": "^1.9.1",
2783
+ "color-string": "^1.5.2"
2784
+ }
2785
+ },
2786
+ "color-convert": {
2787
+ "version": "1.9.3",
2788
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
2789
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
2790
+ "dev": true,
2791
+ "requires": {
2792
+ "color-name": "1.1.3"
2793
+ }
2794
+ },
2795
+ "color-name": {
2796
+ "version": "1.1.3",
2797
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
2798
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
2799
+ "dev": true
2800
+ },
2801
+ "color-string": {
2802
+ "version": "1.5.3",
2803
+ "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz",
2804
+ "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==",
2805
+ "dev": true,
2806
+ "requires": {
2807
+ "color-name": "^1.0.0",
2808
+ "simple-swizzle": "^0.2.2"
2809
+ }
2810
+ },
2811
+ "combined-stream": {
2812
+ "version": "1.0.8",
2813
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
2814
+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
2815
+ "dev": true,
2816
+ "requires": {
2817
+ "delayed-stream": "~1.0.0"
2818
+ }
2819
+ },
2820
+ "commander": {
2821
+ "version": "2.20.3",
2822
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
2823
+ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
2824
+ "dev": true
2825
+ },
2826
+ "commondir": {
2827
+ "version": "1.0.1",
2828
+ "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
2829
+ "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
2830
+ "dev": true
2831
+ },
2832
+ "component-emitter": {
2833
+ "version": "1.3.0",
2834
+ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
2835
+ "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
2836
+ "dev": true
2837
+ },
2838
+ "concat-map": {
2839
+ "version": "0.0.1",
2840
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
2841
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
2842
+ "dev": true
2843
+ },
2844
+ "concat-stream": {
2845
+ "version": "1.6.2",
2846
+ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
2847
+ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
2848
+ "dev": true,
2849
+ "requires": {
2850
+ "buffer-from": "^1.0.0",
2851
+ "inherits": "^2.0.3",
2852
+ "readable-stream": "^2.2.2",
2853
+ "typedarray": "^0.0.6"
2854
+ }
2855
+ },
2856
+ "console-browserify": {
2857
+ "version": "1.2.0",
2858
+ "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz",
2859
+ "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==",
2860
+ "dev": true
2861
+ },
2862
+ "console-control-strings": {
2863
+ "version": "1.1.0",
2864
+ "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
2865
+ "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
2866
+ "dev": true
2867
+ },
2868
+ "constants-browserify": {
2869
+ "version": "1.0.0",
2870
+ "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
2871
+ "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=",
2872
+ "dev": true
2873
+ },
2874
+ "convert-source-map": {
2875
+ "version": "1.7.0",
2876
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz",
2877
+ "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==",
2878
+ "dev": true,
2879
+ "requires": {
2880
+ "safe-buffer": "~5.1.1"
2881
+ }
2882
+ },
2883
+ "copy-concurrently": {
2884
+ "version": "1.0.5",
2885
+ "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz",
2886
+ "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==",
2887
+ "dev": true,
2888
+ "requires": {
2889
+ "aproba": "^1.1.1",
2890
+ "fs-write-stream-atomic": "^1.0.8",
2891
+ "iferr": "^0.1.5",
2892
+ "mkdirp": "^0.5.1",
2893
+ "rimraf": "^2.5.4",
2894
+ "run-queue": "^1.0.0"
2895
+ }
2896
+ },
2897
+ "copy-descriptor": {
2898
+ "version": "0.1.1",
2899
+ "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
2900
+ "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
2901
+ "dev": true
2902
+ },
2903
+ "core-js-compat": {
2904
+ "version": "3.6.5",
2905
+ "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.5.tgz",
2906
+ "integrity": "sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng==",
2907
+ "dev": true,
2908
+ "requires": {
2909
+ "browserslist": "^4.8.5",
2910
+ "semver": "7.0.0"
2911
+ },
2912
+ "dependencies": {
2913
+ "semver": {
2914
+ "version": "7.0.0",
2915
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz",
2916
+ "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==",
2917
+ "dev": true
2918
+ }
2919
+ }
2920
+ },
2921
+ "core-util-is": {
2922
+ "version": "1.0.2",
2923
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
2924
+ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
2925
+ "dev": true
2926
+ },
2927
+ "cosmiconfig": {
2928
+ "version": "5.2.1",
2929
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz",
2930
+ "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==",
2931
+ "dev": true,
2932
+ "requires": {
2933
+ "import-fresh": "^2.0.0",
2934
+ "is-directory": "^0.3.1",
2935
+ "js-yaml": "^3.13.1",
2936
+ "parse-json": "^4.0.0"
2937
+ }
2938
+ },
2939
+ "create-ecdh": {
2940
+ "version": "4.0.3",
2941
+ "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz",
2942
+ "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==",
2943
+ "dev": true,
2944
+ "requires": {
2945
+ "bn.js": "^4.1.0",
2946
+ "elliptic": "^6.0.0"
2947
+ },
2948
+ "dependencies": {
2949
+ "bn.js": {
2950
+ "version": "4.11.8",
2951
+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
2952
+ "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==",
2953
+ "dev": true
2954
+ }
2955
+ }
2956
+ },
2957
+ "create-hash": {
2958
+ "version": "1.2.0",
2959
+ "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
2960
+ "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
2961
+ "dev": true,
2962
+ "requires": {
2963
+ "cipher-base": "^1.0.1",
2964
+ "inherits": "^2.0.1",
2965
+ "md5.js": "^1.3.4",
2966
+ "ripemd160": "^2.0.1",
2967
+ "sha.js": "^2.4.0"
2968
+ }
2969
+ },
2970
+ "create-hmac": {
2971
+ "version": "1.1.7",
2972
+ "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
2973
+ "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
2974
+ "dev": true,
2975
+ "requires": {
2976
+ "cipher-base": "^1.0.3",
2977
+ "create-hash": "^1.1.0",
2978
+ "inherits": "^2.0.1",
2979
+ "ripemd160": "^2.0.0",
2980
+ "safe-buffer": "^5.0.1",
2981
+ "sha.js": "^2.4.8"
2982
+ }
2983
+ },
2984
+ "cross-env": {
2985
+ "version": "5.2.1",
2986
+ "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-5.2.1.tgz",
2987
+ "integrity": "sha512-1yHhtcfAd1r4nwQgknowuUNfIT9E8dOMMspC36g45dN+iD1blloi7xp8X/xAIDnjHWyt1uQ8PHk2fkNaym7soQ==",
2988
+ "dev": true,
2989
+ "requires": {
2990
+ "cross-spawn": "^6.0.5"
2991
+ }
2992
+ },
2993
+ "cross-spawn": {
2994
+ "version": "6.0.5",
2995
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
2996
+ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
2997
+ "dev": true,
2998
+ "requires": {
2999
+ "nice-try": "^1.0.4",
3000
+ "path-key": "^2.0.1",
3001
+ "semver": "^5.5.0",
3002
+ "shebang-command": "^1.2.0",
3003
+ "which": "^1.2.9"
3004
+ }
3005
+ },
3006
+ "crypto-browserify": {
3007
+ "version": "3.12.0",
3008
+ "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
3009
+ "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
3010
+ "dev": true,
3011
+ "requires": {
3012
+ "browserify-cipher": "^1.0.0",
3013
+ "browserify-sign": "^4.0.0",
3014
+ "create-ecdh": "^4.0.0",
3015
+ "create-hash": "^1.1.0",
3016
+ "create-hmac": "^1.1.0",
3017
+ "diffie-hellman": "^5.0.0",
3018
+ "inherits": "^2.0.1",
3019
+ "pbkdf2": "^3.0.3",
3020
+ "public-encrypt": "^4.0.0",
3021
+ "randombytes": "^2.0.0",
3022
+ "randomfill": "^1.0.3"
3023
+ }
3024
+ },
3025
+ "css-color-names": {
3026
+ "version": "0.0.4",
3027
+ "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz",
3028
+ "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=",
3029
+ "dev": true
3030
+ },
3031
+ "css-declaration-sorter": {
3032
+ "version": "4.0.1",
3033
+ "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz",
3034
+ "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==",
3035
+ "dev": true,
3036
+ "requires": {
3037
+ "postcss": "^7.0.1",
3038
+ "timsort": "^0.3.0"
3039
+ }
3040
+ },
3041
+ "css-loader": {
3042
+ "version": "1.0.1",
3043
+ "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-1.0.1.tgz",
3044
+ "integrity": "sha512-+ZHAZm/yqvJ2kDtPne3uX0C+Vr3Zn5jFn2N4HywtS5ujwvsVkyg0VArEXpl3BgczDA8anieki1FIzhchX4yrDw==",
3045
+ "dev": true,
3046
+ "requires": {
3047
+ "babel-code-frame": "^6.26.0",
3048
+ "css-selector-tokenizer": "^0.7.0",
3049
+ "icss-utils": "^2.1.0",
3050
+ "loader-utils": "^1.0.2",
3051
+ "lodash": "^4.17.11",
3052
+ "postcss": "^6.0.23",
3053
+ "postcss-modules-extract-imports": "^1.2.0",
3054
+ "postcss-modules-local-by-default": "^1.2.0",
3055
+ "postcss-modules-scope": "^1.1.0",
3056
+ "postcss-modules-values": "^1.3.0",
3057
+ "postcss-value-parser": "^3.3.0",
3058
+ "source-list-map": "^2.0.0"
3059
+ },
3060
+ "dependencies": {
3061
+ "postcss": {
3062
+ "version": "6.0.23",
3063
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
3064
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
3065
+ "dev": true,
3066
+ "requires": {
3067
+ "chalk": "^2.4.1",
3068
+ "source-map": "^0.6.1",
3069
+ "supports-color": "^5.4.0"
3070
+ }
3071
+ },
3072
+ "postcss-value-parser": {
3073
+ "version": "3.3.1",
3074
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
3075
+ "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
3076
+ "dev": true
3077
+ },
3078
+ "source-map": {
3079
+ "version": "0.6.1",
3080
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
3081
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
3082
+ "dev": true
3083
+ }
3084
+ }
3085
+ },
3086
+ "css-select": {
3087
+ "version": "2.1.0",
3088
+ "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz",
3089
+ "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==",
3090
+ "dev": true,
3091
+ "requires": {
3092
+ "boolbase": "^1.0.0",
3093
+ "css-what": "^3.2.1",
3094
+ "domutils": "^1.7.0",
3095
+ "nth-check": "^1.0.2"
3096
+ }
3097
+ },
3098
+ "css-select-base-adapter": {
3099
+ "version": "0.1.1",
3100
+ "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz",
3101
+ "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==",
3102
+ "dev": true
3103
+ },
3104
+ "css-selector-tokenizer": {
3105
+ "version": "0.7.2",
3106
+ "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.2.tgz",
3107
+ "integrity": "sha512-yj856NGuAymN6r8bn8/Jl46pR+OC3eEvAhfGYDUe7YPtTPAYrSSw4oAniZ9Y8T5B92hjhwTBLUen0/vKPxf6pw==",
3108
+ "dev": true,
3109
+ "requires": {
3110
+ "cssesc": "^3.0.0",
3111
+ "fastparse": "^1.1.2",
3112
+ "regexpu-core": "^4.6.0"
3113
+ }
3114
+ },
3115
+ "css-tree": {
3116
+ "version": "1.0.0-alpha.37",
3117
+ "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz",
3118
+ "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==",
3119
+ "dev": true,
3120
+ "requires": {
3121
+ "mdn-data": "2.0.4",
3122
+ "source-map": "^0.6.1"
3123
+ },
3124
+ "dependencies": {
3125
+ "source-map": {
3126
+ "version": "0.6.1",
3127
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
3128
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
3129
+ "dev": true
3130
+ }
3131
+ }
3132
+ },
3133
+ "css-what": {
3134
+ "version": "3.2.1",
3135
+ "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.2.1.tgz",
3136
+ "integrity": "sha512-WwOrosiQTvyms+Ti5ZC5vGEK0Vod3FTt1ca+payZqvKuGJF+dq7bG63DstxtN0dpm6FxY27a/zS3Wten+gEtGw==",
3137
+ "dev": true
3138
+ },
3139
+ "cssesc": {
3140
+ "version": "3.0.0",
3141
+ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
3142
+ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
3143
+ "dev": true
3144
+ },
3145
+ "cssnano": {
3146
+ "version": "4.1.10",
3147
+ "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz",
3148
+ "integrity": "sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==",
3149
+ "dev": true,
3150
+ "requires": {
3151
+ "cosmiconfig": "^5.0.0",
3152
+ "cssnano-preset-default": "^4.0.7",
3153
+ "is-resolvable": "^1.0.0",
3154
+ "postcss": "^7.0.0"
3155
+ }
3156
+ },
3157
+ "cssnano-preset-default": {
3158
+ "version": "4.0.7",
3159
+ "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz",
3160
+ "integrity": "sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==",
3161
+ "dev": true,
3162
+ "requires": {
3163
+ "css-declaration-sorter": "^4.0.1",
3164
+ "cssnano-util-raw-cache": "^4.0.1",
3165
+ "postcss": "^7.0.0",
3166
+ "postcss-calc": "^7.0.1",
3167
+ "postcss-colormin": "^4.0.3",
3168
+ "postcss-convert-values": "^4.0.1",
3169
+ "postcss-discard-comments": "^4.0.2",
3170
+ "postcss-discard-duplicates": "^4.0.2",
3171
+ "postcss-discard-empty": "^4.0.1",
3172
+ "postcss-discard-overridden": "^4.0.1",
3173
+ "postcss-merge-longhand": "^4.0.11",
3174
+ "postcss-merge-rules": "^4.0.3",
3175
+ "postcss-minify-font-values": "^4.0.2",
3176
+ "postcss-minify-gradients": "^4.0.2",
3177
+ "postcss-minify-params": "^4.0.2",
3178
+ "postcss-minify-selectors": "^4.0.2",
3179
+ "postcss-normalize-charset": "^4.0.1",
3180
+ "postcss-normalize-display-values": "^4.0.2",
3181
+ "postcss-normalize-positions": "^4.0.2",
3182
+ "postcss-normalize-repeat-style": "^4.0.2",
3183
+ "postcss-normalize-string": "^4.0.2",
3184
+ "postcss-normalize-timing-functions": "^4.0.2",
3185
+ "postcss-normalize-unicode": "^4.0.1",
3186
+ "postcss-normalize-url": "^4.0.1",
3187
+ "postcss-normalize-whitespace": "^4.0.2",
3188
+ "postcss-ordered-values": "^4.1.2",
3189
+ "postcss-reduce-initial": "^4.0.3",
3190
+ "postcss-reduce-transforms": "^4.0.2",
3191
+ "postcss-svgo": "^4.0.2",
3192
+ "postcss-unique-selectors": "^4.0.1"
3193
+ }
3194
+ },
3195
+ "cssnano-util-get-arguments": {
3196
+ "version": "4.0.0",
3197
+ "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz",
3198
+ "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=",
3199
+ "dev": true
3200
+ },
3201
+ "cssnano-util-get-match": {
3202
+ "version": "4.0.0",
3203
+ "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz",
3204
+ "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=",
3205
+ "dev": true
3206
+ },
3207
+ "cssnano-util-raw-cache": {
3208
+ "version": "4.0.1",
3209
+ "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz",
3210
+ "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==",
3211
+ "dev": true,
3212
+ "requires": {
3213
+ "postcss": "^7.0.0"
3214
+ }
3215
+ },
3216
+ "cssnano-util-same-parent": {
3217
+ "version": "4.0.1",
3218
+ "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz",
3219
+ "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==",
3220
+ "dev": true
3221
+ },
3222
+ "csso": {
3223
+ "version": "4.0.3",
3224
+ "resolved": "https://registry.npmjs.org/csso/-/csso-4.0.3.tgz",
3225
+ "integrity": "sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ==",
3226
+ "dev": true,
3227
+ "requires": {
3228
+ "css-tree": "1.0.0-alpha.39"
3229
+ },
3230
+ "dependencies": {
3231
+ "css-tree": {
3232
+ "version": "1.0.0-alpha.39",
3233
+ "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.39.tgz",
3234
+ "integrity": "sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA==",
3235
+ "dev": true,
3236
+ "requires": {
3237
+ "mdn-data": "2.0.6",
3238
+ "source-map": "^0.6.1"
3239
+ }
3240
+ },
3241
+ "mdn-data": {
3242
+ "version": "2.0.6",
3243
+ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.6.tgz",
3244
+ "integrity": "sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==",
3245
+ "dev": true
3246
+ },
3247
+ "source-map": {
3248
+ "version": "0.6.1",
3249
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
3250
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
3251
+ "dev": true
3252
+ }
3253
+ }
3254
+ },
3255
+ "cssom": {
3256
+ "version": "0.3.8",
3257
+ "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
3258
+ "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==",
3259
+ "dev": true
3260
+ },
3261
+ "cssstyle": {
3262
+ "version": "1.4.0",
3263
+ "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz",
3264
+ "integrity": "sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==",
3265
+ "dev": true,
3266
+ "requires": {
3267
+ "cssom": "0.3.x"
3268
+ }
3269
+ },
3270
+ "currently-unhandled": {
3271
+ "version": "0.4.1",
3272
+ "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
3273
+ "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
3274
+ "dev": true,
3275
+ "requires": {
3276
+ "array-find-index": "^1.0.1"
3277
+ }
3278
+ },
3279
+ "cyclist": {
3280
+ "version": "1.0.1",
3281
+ "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz",
3282
+ "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=",
3283
+ "dev": true
3284
+ },
3285
+ "dashdash": {
3286
+ "version": "1.14.1",
3287
+ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
3288
+ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
3289
+ "dev": true,
3290
+ "requires": {
3291
+ "assert-plus": "^1.0.0"
3292
+ }
3293
+ },
3294
+ "data-urls": {
3295
+ "version": "1.1.0",
3296
+ "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz",
3297
+ "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==",
3298
+ "dev": true,
3299
+ "requires": {
3300
+ "abab": "^2.0.0",
3301
+ "whatwg-mimetype": "^2.2.0",
3302
+ "whatwg-url": "^7.0.0"
3303
+ },
3304
+ "dependencies": {
3305
+ "whatwg-url": {
3306
+ "version": "7.1.0",
3307
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz",
3308
+ "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==",
3309
+ "dev": true,
3310
+ "requires": {
3311
+ "lodash.sortby": "^4.7.0",
3312
+ "tr46": "^1.0.1",
3313
+ "webidl-conversions": "^4.0.2"
3314
+ }
3315
+ }
3316
+ }
3317
+ },
3318
+ "debug": {
3319
+ "version": "4.1.1",
3320
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
3321
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
3322
+ "dev": true,
3323
+ "requires": {
3324
+ "ms": "^2.1.1"
3325
+ }
3326
+ },
3327
+ "decamelize": {
3328
+ "version": "1.2.0",
3329
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
3330
+ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
3331
+ "dev": true
3332
+ },
3333
+ "decamelize-keys": {
3334
+ "version": "1.1.0",
3335
+ "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz",
3336
+ "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=",
3337
+ "dev": true,
3338
+ "requires": {
3339
+ "decamelize": "^1.1.0",
3340
+ "map-obj": "^1.0.0"
3341
+ }
3342
+ },
3343
+ "decode-uri-component": {
3344
+ "version": "0.2.0",
3345
+ "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
3346
+ "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
3347
+ "dev": true
3348
+ },
3349
+ "deep-is": {
3350
+ "version": "0.1.3",
3351
+ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
3352
+ "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
3353
+ "dev": true
3354
+ },
3355
+ "define-properties": {
3356
+ "version": "1.1.3",
3357
+ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
3358
+ "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
3359
+ "dev": true,
3360
+ "requires": {
3361
+ "object-keys": "^1.0.12"
3362
+ }
3363
+ },
3364
+ "define-property": {
3365
+ "version": "2.0.2",
3366
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
3367
+ "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
3368
+ "dev": true,
3369
+ "requires": {
3370
+ "is-descriptor": "^1.0.2",
3371
+ "isobject": "^3.0.1"
3372
+ },
3373
+ "dependencies": {
3374
+ "is-accessor-descriptor": {
3375
+ "version": "1.0.0",
3376
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
3377
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
3378
+ "dev": true,
3379
+ "requires": {
3380
+ "kind-of": "^6.0.0"
3381
+ }
3382
+ },
3383
+ "is-data-descriptor": {
3384
+ "version": "1.0.0",
3385
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
3386
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
3387
+ "dev": true,
3388
+ "requires": {
3389
+ "kind-of": "^6.0.0"
3390
+ }
3391
+ },
3392
+ "is-descriptor": {
3393
+ "version": "1.0.2",
3394
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
3395
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
3396
+ "dev": true,
3397
+ "requires": {
3398
+ "is-accessor-descriptor": "^1.0.0",
3399
+ "is-data-descriptor": "^1.0.0",
3400
+ "kind-of": "^6.0.2"
3401
+ }
3402
+ }
3403
+ }
3404
+ },
3405
+ "delayed-stream": {
3406
+ "version": "1.0.0",
3407
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
3408
+ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
3409
+ "dev": true
3410
+ },
3411
+ "delegates": {
3412
+ "version": "1.0.0",
3413
+ "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
3414
+ "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
3415
+ "dev": true
3416
+ },
3417
+ "des.js": {
3418
+ "version": "1.0.1",
3419
+ "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz",
3420
+ "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==",
3421
+ "dev": true,
3422
+ "requires": {
3423
+ "inherits": "^2.0.1",
3424
+ "minimalistic-assert": "^1.0.0"
3425
+ }
3426
+ },
3427
+ "detect-file": {
3428
+ "version": "1.0.0",
3429
+ "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz",
3430
+ "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=",
3431
+ "dev": true
3432
+ },
3433
+ "detect-newline": {
3434
+ "version": "2.1.0",
3435
+ "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz",
3436
+ "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=",
3437
+ "dev": true
3438
+ },
3439
+ "diff-sequences": {
3440
+ "version": "24.9.0",
3441
+ "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz",
3442
+ "integrity": "sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==",
3443
+ "dev": true
3444
+ },
3445
+ "diffie-hellman": {
3446
+ "version": "5.0.3",
3447
+ "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
3448
+ "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
3449
+ "dev": true,
3450
+ "requires": {
3451
+ "bn.js": "^4.1.0",
3452
+ "miller-rabin": "^4.0.0",
3453
+ "randombytes": "^2.0.0"
3454
+ },
3455
+ "dependencies": {
3456
+ "bn.js": {
3457
+ "version": "4.11.8",
3458
+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
3459
+ "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==",
3460
+ "dev": true
3461
+ }
3462
+ }
3463
+ },
3464
+ "dir-glob": {
3465
+ "version": "2.2.2",
3466
+ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz",
3467
+ "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==",
3468
+ "dev": true,
3469
+ "requires": {
3470
+ "path-type": "^3.0.0"
3471
+ }
3472
+ },
3473
+ "doctrine": {
3474
+ "version": "3.0.0",
3475
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
3476
+ "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
3477
+ "dev": true,
3478
+ "requires": {
3479
+ "esutils": "^2.0.2"
3480
+ }
3481
+ },
3482
+ "dom-serializer": {
3483
+ "version": "0.2.2",
3484
+ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz",
3485
+ "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==",
3486
+ "dev": true,
3487
+ "requires": {
3488
+ "domelementtype": "^2.0.1",
3489
+ "entities": "^2.0.0"
3490
+ },
3491
+ "dependencies": {
3492
+ "domelementtype": {
3493
+ "version": "2.0.1",
3494
+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz",
3495
+ "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==",
3496
+ "dev": true
3497
+ }
3498
+ }
3499
+ },
3500
+ "domain-browser": {
3501
+ "version": "1.2.0",
3502
+ "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
3503
+ "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==",
3504
+ "dev": true
3505
+ },
3506
+ "domelementtype": {
3507
+ "version": "1.3.1",
3508
+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz",
3509
+ "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==",
3510
+ "dev": true
3511
+ },
3512
+ "domexception": {
3513
+ "version": "1.0.1",
3514
+ "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz",
3515
+ "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==",
3516
+ "dev": true,
3517
+ "requires": {
3518
+ "webidl-conversions": "^4.0.2"
3519
+ }
3520
+ },
3521
+ "domhandler": {
3522
+ "version": "2.4.2",
3523
+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz",
3524
+ "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==",
3525
+ "dev": true,
3526
+ "requires": {
3527
+ "domelementtype": "1"
3528
+ }
3529
+ },
3530
+ "domutils": {
3531
+ "version": "1.7.0",
3532
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz",
3533
+ "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==",
3534
+ "dev": true,
3535
+ "requires": {
3536
+ "dom-serializer": "0",
3537
+ "domelementtype": "1"
3538
+ }
3539
+ },
3540
+ "dot-prop": {
3541
+ "version": "5.2.0",
3542
+ "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz",
3543
+ "integrity": "sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==",
3544
+ "dev": true,
3545
+ "requires": {
3546
+ "is-obj": "^2.0.0"
3547
+ }
3548
+ },
3549
+ "duplexify": {
3550
+ "version": "3.7.1",
3551
+ "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz",
3552
+ "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==",
3553
+ "dev": true,
3554
+ "requires": {
3555
+ "end-of-stream": "^1.0.0",
3556
+ "inherits": "^2.0.1",
3557
+ "readable-stream": "^2.0.0",
3558
+ "stream-shift": "^1.0.0"
3559
+ }
3560
+ },
3561
+ "ecc-jsbn": {
3562
+ "version": "0.1.2",
3563
+ "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
3564
+ "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
3565
+ "dev": true,
3566
+ "requires": {
3567
+ "jsbn": "~0.1.0",
3568
+ "safer-buffer": "^2.1.0"
3569
+ }
3570
+ },
3571
+ "electron-to-chromium": {
3572
+ "version": "1.3.435",
3573
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.435.tgz",
3574
+ "integrity": "sha512-BVXnq+NCefidU7GOFPx4CPBfPcccLCRBKZYSbvBJMSn2kwGD7ML+eUA9tqfHAumRqy3oX5zaeTI1Bpt7qVat0Q==",
3575
+ "dev": true
3576
+ },
3577
+ "elliptic": {
3578
+ "version": "6.5.2",
3579
+ "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz",
3580
+ "integrity": "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==",
3581
+ "dev": true,
3582
+ "requires": {
3583
+ "bn.js": "^4.4.0",
3584
+ "brorand": "^1.0.1",
3585
+ "hash.js": "^1.0.0",
3586
+ "hmac-drbg": "^1.0.0",
3587
+ "inherits": "^2.0.1",
3588
+ "minimalistic-assert": "^1.0.0",
3589
+ "minimalistic-crypto-utils": "^1.0.0"
3590
+ },
3591
+ "dependencies": {
3592
+ "bn.js": {
3593
+ "version": "4.11.8",
3594
+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
3595
+ "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==",
3596
+ "dev": true
3597
+ }
3598
+ }
3599
+ },
3600
+ "emoji-regex": {
3601
+ "version": "7.0.3",
3602
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
3603
+ "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
3604
+ "dev": true
3605
+ },
3606
+ "emojis-list": {
3607
+ "version": "3.0.0",
3608
+ "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
3609
+ "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
3610
+ "dev": true
3611
+ },
3612
+ "end-of-stream": {
3613
+ "version": "1.4.4",
3614
+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
3615
+ "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
3616
+ "dev": true,
3617
+ "requires": {
3618
+ "once": "^1.4.0"
3619
+ }
3620
+ },
3621
+ "enhanced-resolve": {
3622
+ "version": "4.1.1",
3623
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz",
3624
+ "integrity": "sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA==",
3625
+ "dev": true,
3626
+ "requires": {
3627
+ "graceful-fs": "^4.1.2",
3628
+ "memory-fs": "^0.5.0",
3629
+ "tapable": "^1.0.0"
3630
+ },
3631
+ "dependencies": {
3632
+ "memory-fs": {
3633
+ "version": "0.5.0",
3634
+ "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz",
3635
+ "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==",
3636
+ "dev": true,
3637
+ "requires": {
3638
+ "errno": "^0.1.3",
3639
+ "readable-stream": "^2.0.1"
3640
+ }
3641
+ }
3642
+ }
3643
+ },
3644
+ "entities": {
3645
+ "version": "2.0.2",
3646
+ "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.2.tgz",
3647
+ "integrity": "sha512-dmD3AvJQBUjKpcNkoqr+x+IF0SdRtPz9Vk0uTy4yWqga9ibB6s4v++QFWNohjiUGoMlF552ZvNyXDxz5iW0qmw==",
3648
+ "dev": true
3649
+ },
3650
+ "errno": {
3651
+ "version": "0.1.7",
3652
+ "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
3653
+ "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==",
3654
+ "dev": true,
3655
+ "requires": {
3656
+ "prr": "~1.0.1"
3657
+ }
3658
+ },
3659
+ "error-ex": {
3660
+ "version": "1.3.2",
3661
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
3662
+ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
3663
+ "dev": true,
3664
+ "requires": {
3665
+ "is-arrayish": "^0.2.1"
3666
+ }
3667
+ },
3668
+ "error-stack-parser": {
3669
+ "version": "2.0.6",
3670
+ "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.6.tgz",
3671
+ "integrity": "sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ==",
3672
+ "dev": true,
3673
+ "requires": {
3674
+ "stackframe": "^1.1.1"
3675
+ }
3676
+ },
3677
+ "es-abstract": {
3678
+ "version": "1.17.5",
3679
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz",
3680
+ "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==",
3681
+ "dev": true,
3682
+ "requires": {
3683
+ "es-to-primitive": "^1.2.1",
3684
+ "function-bind": "^1.1.1",
3685
+ "has": "^1.0.3",
3686
+ "has-symbols": "^1.0.1",
3687
+ "is-callable": "^1.1.5",
3688
+ "is-regex": "^1.0.5",
3689
+ "object-inspect": "^1.7.0",
3690
+ "object-keys": "^1.1.1",
3691
+ "object.assign": "^4.1.0",
3692
+ "string.prototype.trimleft": "^2.1.1",
3693
+ "string.prototype.trimright": "^2.1.1"
3694
+ }
3695
+ },
3696
+ "es-to-primitive": {
3697
+ "version": "1.2.1",
3698
+ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
3699
+ "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
3700
+ "dev": true,
3701
+ "requires": {
3702
+ "is-callable": "^1.1.4",
3703
+ "is-date-object": "^1.0.1",
3704
+ "is-symbol": "^1.0.2"
3705
+ }
3706
+ },
3707
+ "escape-string-regexp": {
3708
+ "version": "1.0.5",
3709
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
3710
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
3711
+ "dev": true
3712
+ },
3713
+ "escodegen": {
3714
+ "version": "1.14.1",
3715
+ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.1.tgz",
3716
+ "integrity": "sha512-Bmt7NcRySdIfNPfU2ZoXDrrXsG9ZjvDxcAlMfDUgRBjLOWTuIACXPBFJH7Z+cLb40JeQco5toikyc9t9P8E9SQ==",
3717
+ "dev": true,
3718
+ "requires": {
3719
+ "esprima": "^4.0.1",
3720
+ "estraverse": "^4.2.0",
3721
+ "esutils": "^2.0.2",
3722
+ "optionator": "^0.8.1",
3723
+ "source-map": "~0.6.1"
3724
+ },
3725
+ "dependencies": {
3726
+ "source-map": {
3727
+ "version": "0.6.1",
3728
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
3729
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
3730
+ "dev": true,
3731
+ "optional": true
3732
+ }
3733
+ }
3734
+ },
3735
+ "eslint": {
3736
+ "version": "5.16.0",
3737
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.16.0.tgz",
3738
+ "integrity": "sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==",
3739
+ "dev": true,
3740
+ "requires": {
3741
+ "@babel/code-frame": "^7.0.0",
3742
+ "ajv": "^6.9.1",
3743
+ "chalk": "^2.1.0",
3744
+ "cross-spawn": "^6.0.5",
3745
+ "debug": "^4.0.1",
3746
+ "doctrine": "^3.0.0",
3747
+ "eslint-scope": "^4.0.3",
3748
+ "eslint-utils": "^1.3.1",
3749
+ "eslint-visitor-keys": "^1.0.0",
3750
+ "espree": "^5.0.1",
3751
+ "esquery": "^1.0.1",
3752
+ "esutils": "^2.0.2",
3753
+ "file-entry-cache": "^5.0.1",
3754
+ "functional-red-black-tree": "^1.0.1",
3755
+ "glob": "^7.1.2",
3756
+ "globals": "^11.7.0",
3757
+ "ignore": "^4.0.6",
3758
+ "import-fresh": "^3.0.0",
3759
+ "imurmurhash": "^0.1.4",
3760
+ "inquirer": "^6.2.2",
3761
+ "js-yaml": "^3.13.0",
3762
+ "json-stable-stringify-without-jsonify": "^1.0.1",
3763
+ "levn": "^0.3.0",
3764
+ "lodash": "^4.17.11",
3765
+ "minimatch": "^3.0.4",
3766
+ "mkdirp": "^0.5.1",
3767
+ "natural-compare": "^1.4.0",
3768
+ "optionator": "^0.8.2",
3769
+ "path-is-inside": "^1.0.2",
3770
+ "progress": "^2.0.0",
3771
+ "regexpp": "^2.0.1",
3772
+ "semver": "^5.5.1",
3773
+ "strip-ansi": "^4.0.0",
3774
+ "strip-json-comments": "^2.0.1",
3775
+ "table": "^5.2.3",
3776
+ "text-table": "^0.2.0"
3777
+ },
3778
+ "dependencies": {
3779
+ "ansi-regex": {
3780
+ "version": "3.0.0",
3781
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
3782
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
3783
+ "dev": true
3784
+ },
3785
+ "import-fresh": {
3786
+ "version": "3.2.1",
3787
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz",
3788
+ "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==",
3789
+ "dev": true,
3790
+ "requires": {
3791
+ "parent-module": "^1.0.0",
3792
+ "resolve-from": "^4.0.0"
3793
+ }
3794
+ },
3795
+ "resolve-from": {
3796
+ "version": "4.0.0",
3797
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
3798
+ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
3799
+ "dev": true
3800
+ },
3801
+ "strip-ansi": {
3802
+ "version": "4.0.0",
3803
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
3804
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
3805
+ "dev": true,
3806
+ "requires": {
3807
+ "ansi-regex": "^3.0.0"
3808
+ }
3809
+ }
3810
+ }
3811
+ },
3812
+ "eslint-config-wordpress": {
3813
+ "version": "2.0.0",
3814
+ "resolved": "https://registry.npmjs.org/eslint-config-wordpress/-/eslint-config-wordpress-2.0.0.tgz",
3815
+ "integrity": "sha1-UgEgbGlk1kgxUjLt9t+9LpJeTNY=",
3816
+ "dev": true
3817
+ },
3818
+ "eslint-loader": {
3819
+ "version": "2.2.1",
3820
+ "resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-2.2.1.tgz",
3821
+ "integrity": "sha512-RLgV9hoCVsMLvOxCuNjdqOrUqIj9oJg8hF44vzJaYqsAHuY9G2YAeN3joQ9nxP0p5Th9iFSIpKo+SD8KISxXRg==",
3822
+ "dev": true,
3823
+ "requires": {
3824
+ "loader-fs-cache": "^1.0.0",
3825
+ "loader-utils": "^1.0.2",
3826
+ "object-assign": "^4.0.1",
3827
+ "object-hash": "^1.1.4",
3828
+ "rimraf": "^2.6.1"
3829
+ }
3830
+ },
3831
+ "eslint-scope": {
3832
+ "version": "4.0.3",
3833
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz",
3834
+ "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==",
3835
+ "dev": true,
3836
+ "requires": {
3837
+ "esrecurse": "^4.1.0",
3838
+ "estraverse": "^4.1.1"
3839
+ }
3840
+ },
3841
+ "eslint-utils": {
3842
+ "version": "1.4.3",
3843
+ "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz",
3844
+ "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==",
3845
+ "dev": true,
3846
+ "requires": {
3847
+ "eslint-visitor-keys": "^1.1.0"
3848
+ }
3849
+ },
3850
+ "eslint-visitor-keys": {
3851
+ "version": "1.1.0",
3852
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz",
3853
+ "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==",
3854
+ "dev": true
3855
+ },
3856
+ "espree": {
3857
+ "version": "5.0.1",
3858
+ "resolved": "https://registry.npmjs.org/espree/-/espree-5.0.1.tgz",
3859
+ "integrity": "sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==",
3860
+ "dev": true,
3861
+ "requires": {
3862
+ "acorn": "^6.0.7",
3863
+ "acorn-jsx": "^5.0.0",
3864
+ "eslint-visitor-keys": "^1.0.0"
3865
+ }
3866
+ },
3867
+ "esprima": {
3868
+ "version": "4.0.1",
3869
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
3870
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
3871
+ "dev": true
3872
+ },
3873
+ "esquery": {
3874
+ "version": "1.3.1",
3875
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz",
3876
+ "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==",
3877
+ "dev": true,
3878
+ "requires": {
3879
+ "estraverse": "^5.1.0"
3880
+ },
3881
+ "dependencies": {
3882
+ "estraverse": {
3883
+ "version": "5.1.0",
3884
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.1.0.tgz",
3885
+ "integrity": "sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw==",
3886
+ "dev": true
3887
+ }
3888
+ }
3889
+ },
3890
+ "esrecurse": {
3891
+ "version": "4.2.1",
3892
+ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
3893
+ "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
3894
+ "dev": true,
3895
+ "requires": {
3896
+ "estraverse": "^4.1.0"
3897
+ }
3898
+ },
3899
+ "estraverse": {
3900
+ "version": "4.3.0",
3901
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
3902
+ "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
3903
+ "dev": true
3904
+ },
3905
+ "esutils": {
3906
+ "version": "2.0.3",
3907
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
3908
+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
3909
+ "dev": true
3910
+ },
3911
+ "events": {
3912
+ "version": "3.1.0",
3913
+ "resolved": "https://registry.npmjs.org/events/-/events-3.1.0.tgz",
3914
+ "integrity": "sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg==",
3915
+ "dev": true
3916
+ },
3917
+ "evp_bytestokey": {
3918
+ "version": "1.0.3",
3919
+ "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
3920
+ "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
3921
+ "dev": true,
3922
+ "requires": {
3923
+ "md5.js": "^1.3.4",
3924
+ "safe-buffer": "^5.1.1"
3925
+ }
3926
+ },
3927
+ "exec-sh": {
3928
+ "version": "0.3.4",
3929
+ "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.4.tgz",
3930
+ "integrity": "sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A==",
3931
+ "dev": true
3932
+ },
3933
+ "execa": {
3934
+ "version": "1.0.0",
3935
+ "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
3936
+ "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
3937
+ "dev": true,
3938
+ "requires": {
3939
+ "cross-spawn": "^6.0.0",
3940
+ "get-stream": "^4.0.0",
3941
+ "is-stream": "^1.1.0",
3942
+ "npm-run-path": "^2.0.0",
3943
+ "p-finally": "^1.0.0",
3944
+ "signal-exit": "^3.0.0",
3945
+ "strip-eof": "^1.0.0"
3946
+ }
3947
+ },
3948
+ "execall": {
3949
+ "version": "1.0.0",
3950
+ "resolved": "https://registry.npmjs.org/execall/-/execall-1.0.0.tgz",
3951
+ "integrity": "sha1-c9CQTjlbPKsGWLCNCewlMH8pu3M=",
3952
+ "dev": true,
3953
+ "requires": {
3954
+ "clone-regexp": "^1.0.0"
3955
+ }
3956
+ },
3957
+ "exit": {
3958
+ "version": "0.1.2",
3959
+ "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
3960
+ "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
3961
+ "dev": true
3962
+ },
3963
+ "expand-brackets": {
3964
+ "version": "2.1.4",
3965
+ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
3966
+ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
3967
+ "dev": true,
3968
+ "requires": {
3969
+ "debug": "^2.3.3",
3970
+ "define-property": "^0.2.5",
3971
+ "extend-shallow": "^2.0.1",
3972
+ "posix-character-classes": "^0.1.0",
3973
+ "regex-not": "^1.0.0",
3974
+ "snapdragon": "^0.8.1",
3975
+ "to-regex": "^3.0.1"
3976
+ },
3977
+ "dependencies": {
3978
+ "debug": {
3979
+ "version": "2.6.9",
3980
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
3981
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
3982
+ "dev": true,
3983
+ "requires": {
3984
+ "ms": "2.0.0"
3985
+ }
3986
+ },
3987
+ "define-property": {
3988
+ "version": "0.2.5",
3989
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
3990
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
3991
+ "dev": true,
3992
+ "requires": {
3993
+ "is-descriptor": "^0.1.0"
3994
+ }
3995
+ },
3996
+ "extend-shallow": {
3997
+ "version": "2.0.1",
3998
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
3999
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
4000
+ "dev": true,
4001
+ "requires": {
4002
+ "is-extendable": "^0.1.0"
4003
+ }
4004
+ },
4005
+ "ms": {
4006
+ "version": "2.0.0",
4007
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
4008
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
4009
+ "dev": true
4010
+ }
4011
+ }
4012
+ },
4013
+ "expand-tilde": {
4014
+ "version": "2.0.2",
4015
+ "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
4016
+ "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=",
4017
+ "dev": true,
4018
+ "requires": {
4019
+ "homedir-polyfill": "^1.0.1"
4020
+ }
4021
+ },
4022
+ "expect": {
4023
+ "version": "24.9.0",
4024
+ "resolved": "https://registry.npmjs.org/expect/-/expect-24.9.0.tgz",
4025
+ "integrity": "sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q==",
4026
+ "dev": true,
4027
+ "requires": {
4028
+ "@jest/types": "^24.9.0",
4029
+ "ansi-styles": "^3.2.0",
4030
+ "jest-get-type": "^24.9.0",
4031
+ "jest-matcher-utils": "^24.9.0",
4032
+ "jest-message-util": "^24.9.0",
4033
+ "jest-regex-util": "^24.9.0"
4034
+ }
4035
+ },
4036
+ "extend": {
4037
+ "version": "3.0.2",
4038
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
4039
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
4040
+ "dev": true
4041
+ },
4042
+ "extend-shallow": {
4043
+ "version": "3.0.2",
4044
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
4045
+ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
4046
+ "dev": true,
4047
+ "requires": {
4048
+ "assign-symbols": "^1.0.0",
4049
+ "is-extendable": "^1.0.1"
4050
+ },
4051
+ "dependencies": {
4052
+ "is-extendable": {
4053
+ "version": "1.0.1",
4054
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
4055
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
4056
+ "dev": true,
4057
+ "requires": {
4058
+ "is-plain-object": "^2.0.4"
4059
+ }
4060
+ }
4061
+ }
4062
+ },
4063
+ "external-editor": {
4064
+ "version": "3.1.0",
4065
+ "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
4066
+ "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
4067
+ "dev": true,
4068
+ "requires": {
4069
+ "chardet": "^0.7.0",
4070
+ "iconv-lite": "^0.4.24",
4071
+ "tmp": "^0.0.33"
4072
+ }
4073
+ },
4074
+ "extglob": {
4075
+ "version": "2.0.4",
4076
+ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
4077
+ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
4078
+ "dev": true,
4079
+ "requires": {
4080
+ "array-unique": "^0.3.2",
4081
+ "define-property": "^1.0.0",
4082
+ "expand-brackets": "^2.1.4",
4083
+ "extend-shallow": "^2.0.1",
4084
+ "fragment-cache": "^0.2.1",
4085
+ "regex-not": "^1.0.0",
4086
+ "snapdragon": "^0.8.1",
4087
+ "to-regex": "^3.0.1"
4088
+ },
4089
+ "dependencies": {
4090
+ "define-property": {
4091
+ "version": "1.0.0",
4092
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
4093
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
4094
+ "dev": true,
4095
+ "requires": {
4096
+ "is-descriptor": "^1.0.0"
4097
+ }
4098
+ },
4099
+ "extend-shallow": {
4100
+ "version": "2.0.1",
4101
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
4102
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
4103
+ "dev": true,
4104
+ "requires": {
4105
+ "is-extendable": "^0.1.0"
4106
+ }
4107
+ },
4108
+ "is-accessor-descriptor": {
4109
+ "version": "1.0.0",
4110
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
4111
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
4112
+ "dev": true,
4113
+ "requires": {
4114
+ "kind-of": "^6.0.0"
4115
+ }
4116
+ },
4117
+ "is-data-descriptor": {
4118
+ "version": "1.0.0",
4119
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
4120
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
4121
+ "dev": true,
4122
+ "requires": {
4123
+ "kind-of": "^6.0.0"
4124
+ }
4125
+ },
4126
+ "is-descriptor": {
4127
+ "version": "1.0.2",
4128
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
4129
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
4130
+ "dev": true,
4131
+ "requires": {
4132
+ "is-accessor-descriptor": "^1.0.0",
4133
+ "is-data-descriptor": "^1.0.0",
4134
+ "kind-of": "^6.0.2"
4135
+ }
4136
+ }
4137
+ }
4138
+ },
4139
+ "extsprintf": {
4140
+ "version": "1.3.0",
4141
+ "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
4142
+ "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
4143
+ "dev": true
4144
+ },
4145
+ "fast-deep-equal": {
4146
+ "version": "3.1.1",
4147
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz",
4148
+ "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==",
4149
+ "dev": true
4150
+ },
4151
+ "fast-glob": {
4152
+ "version": "2.2.7",
4153
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz",
4154
+ "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==",
4155
+ "dev": true,
4156
+ "requires": {
4157
+ "@mrmlnc/readdir-enhanced": "^2.2.1",
4158
+ "@nodelib/fs.stat": "^1.1.2",
4159
+ "glob-parent": "^3.1.0",
4160
+ "is-glob": "^4.0.0",
4161
+ "merge2": "^1.2.3",
4162
+ "micromatch": "^3.1.10"
4163
+ }
4164
+ },
4165
+ "fast-json-stable-stringify": {
4166
+ "version": "2.1.0",
4167
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
4168
+ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
4169
+ "dev": true
4170
+ },
4171
+ "fast-levenshtein": {
4172
+ "version": "2.0.6",
4173
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
4174
+ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
4175
+ "dev": true
4176
+ },
4177
+ "fastparse": {
4178
+ "version": "1.1.2",
4179
+ "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz",
4180
+ "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==",
4181
+ "dev": true
4182
+ },
4183
+ "fb-watchman": {
4184
+ "version": "2.0.1",
4185
+ "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz",
4186
+ "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==",
4187
+ "dev": true,
4188
+ "requires": {
4189
+ "bser": "2.1.1"
4190
+ }
4191
+ },
4192
+ "figgy-pudding": {
4193
+ "version": "3.5.2",
4194
+ "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz",
4195
+ "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==",
4196
+ "dev": true
4197
+ },
4198
+ "figures": {
4199
+ "version": "2.0.0",
4200
+ "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
4201
+ "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
4202
+ "dev": true,
4203
+ "requires": {
4204
+ "escape-string-regexp": "^1.0.5"
4205
+ }
4206
+ },
4207
+ "file-entry-cache": {
4208
+ "version": "5.0.1",
4209
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz",
4210
+ "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==",
4211
+ "dev": true,
4212
+ "requires": {
4213
+ "flat-cache": "^2.0.1"
4214
+ }
4215
+ },
4216
+ "file-loader": {
4217
+ "version": "2.0.0",
4218
+ "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-2.0.0.tgz",
4219
+ "integrity": "sha512-YCsBfd1ZGCyonOKLxPiKPdu+8ld9HAaMEvJewzz+b2eTF7uL5Zm/HdBF6FjCrpCMRq25Mi0U1gl4pwn2TlH7hQ==",
4220
+ "dev": true,
4221
+ "requires": {
4222
+ "loader-utils": "^1.0.2",
4223
+ "schema-utils": "^1.0.0"
4224
+ },
4225
+ "dependencies": {
4226
+ "schema-utils": {
4227
+ "version": "1.0.0",
4228
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
4229
+ "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
4230
+ "dev": true,
4231
+ "requires": {
4232
+ "ajv": "^6.1.0",
4233
+ "ajv-errors": "^1.0.0",
4234
+ "ajv-keywords": "^3.1.0"
4235
+ }
4236
+ }
4237
+ }
4238
+ },
4239
+ "file-uri-to-path": {
4240
+ "version": "1.0.0",
4241
+ "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
4242
+ "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
4243
+ "dev": true,
4244
+ "optional": true
4245
+ },
4246
+ "fill-range": {
4247
+ "version": "4.0.0",
4248
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
4249
+ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
4250
+ "dev": true,
4251
+ "requires": {
4252
+ "extend-shallow": "^2.0.1",
4253
+ "is-number": "^3.0.0",
4254
+ "repeat-string": "^1.6.1",
4255
+ "to-regex-range": "^2.1.0"
4256
+ },
4257
+ "dependencies": {
4258
+ "extend-shallow": {
4259
+ "version": "2.0.1",
4260
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
4261
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
4262
+ "dev": true,
4263
+ "requires": {
4264
+ "is-extendable": "^0.1.0"
4265
+ }
4266
+ }
4267
+ }
4268
+ },
4269
+ "find-cache-dir": {
4270
+ "version": "2.1.0",
4271
+ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
4272
+ "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==",
4273
+ "dev": true,
4274
+ "requires": {
4275
+ "commondir": "^1.0.1",
4276
+ "make-dir": "^2.0.0",
4277
+ "pkg-dir": "^3.0.0"
4278
+ }
4279
+ },
4280
+ "find-up": {
4281
+ "version": "2.1.0",
4282
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
4283
+ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
4284
+ "dev": true,
4285
+ "requires": {
4286
+ "locate-path": "^2.0.0"
4287
+ }
4288
+ },
4289
+ "findup-sync": {
4290
+ "version": "3.0.0",
4291
+ "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz",
4292
+ "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==",
4293
+ "dev": true,
4294
+ "requires": {
4295
+ "detect-file": "^1.0.0",
4296
+ "is-glob": "^4.0.0",
4297
+ "micromatch": "^3.0.4",
4298
+ "resolve-dir": "^1.0.1"
4299
+ }
4300
+ },
4301
+ "flat-cache": {
4302
+ "version": "2.0.1",
4303
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz",
4304
+ "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==",
4305
+ "dev": true,
4306
+ "requires": {
4307
+ "flatted": "^2.0.0",
4308
+ "rimraf": "2.6.3",
4309
+ "write": "1.0.3"
4310
+ },
4311
+ "dependencies": {
4312
+ "rimraf": {
4313
+ "version": "2.6.3",
4314
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
4315
+ "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
4316
+ "dev": true,
4317
+ "requires": {
4318
+ "glob": "^7.1.3"
4319
+ }
4320
+ }
4321
+ }
4322
+ },
4323
+ "flatted": {
4324
+ "version": "2.0.2",
4325
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz",
4326
+ "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==",
4327
+ "dev": true
4328
+ },
4329
+ "flush-write-stream": {
4330
+ "version": "1.1.1",
4331
+ "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz",
4332
+ "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==",
4333
+ "dev": true,
4334
+ "requires": {
4335
+ "inherits": "^2.0.3",
4336
+ "readable-stream": "^2.3.6"
4337
+ }
4338
+ },
4339
+ "for-in": {
4340
+ "version": "1.0.2",
4341
+ "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
4342
+ "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
4343
+ "dev": true
4344
+ },
4345
+ "forever-agent": {
4346
+ "version": "0.6.1",
4347
+ "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
4348
+ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
4349
+ "dev": true
4350
+ },
4351
+ "form-data": {
4352
+ "version": "2.3.3",
4353
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
4354
+ "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
4355
+ "dev": true,
4356
+ "requires": {
4357
+ "asynckit": "^0.4.0",
4358
+ "combined-stream": "^1.0.6",
4359
+ "mime-types": "^2.1.12"
4360
+ }
4361
+ },
4362
+ "foundation-sites": {
4363
+ "version": "6.6.3",
4364
+ "resolved": "https://registry.npmjs.org/foundation-sites/-/foundation-sites-6.6.3.tgz",
4365
+ "integrity": "sha512-8X93wUAmUg1HhVv8uWMWnwoBLSQWSmFImJencneIZDctswn724Bq/MV1cbPZN/GFWGOB/9ngoQHztfzd4+ovCg==",
4366
+ "dev": true
4367
+ },
4368
+ "fragment-cache": {
4369
+ "version": "0.2.1",
4370
+ "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
4371
+ "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
4372
+ "dev": true,
4373
+ "requires": {
4374
+ "map-cache": "^0.2.2"
4375
+ }
4376
+ },
4377
+ "friendly-errors-webpack-plugin": {
4378
+ "version": "1.7.0",
4379
+ "resolved": "https://registry.npmjs.org/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.7.0.tgz",
4380
+ "integrity": "sha512-K27M3VK30wVoOarP651zDmb93R9zF28usW4ocaK3mfQeIEI5BPht/EzZs5E8QLLwbLRJQMwscAjDxYPb1FuNiw==",
4381
+ "dev": true,
4382
+ "requires": {
4383
+ "chalk": "^1.1.3",
4384
+ "error-stack-parser": "^2.0.0",
4385
+ "string-width": "^2.0.0"
4386
+ },
4387
+ "dependencies": {
4388
+ "ansi-styles": {
4389
+ "version": "2.2.1",
4390
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
4391
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
4392
+ "dev": true
4393
+ },
4394
+ "chalk": {
4395
+ "version": "1.1.3",
4396
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
4397
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
4398
+ "dev": true,
4399
+ "requires": {
4400
+ "ansi-styles": "^2.2.1",
4401
+ "escape-string-regexp": "^1.0.2",
4402
+ "has-ansi": "^2.0.0",
4403
+ "strip-ansi": "^3.0.0",
4404
+ "supports-color": "^2.0.0"
4405
+ }
4406
+ },
4407
+ "supports-color": {
4408
+ "version": "2.0.0",
4409
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
4410
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
4411
+ "dev": true
4412
+ }
4413
+ }
4414
+ },
4415
+ "from2": {
4416
+ "version": "2.3.0",
4417
+ "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
4418
+ "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
4419
+ "dev": true,
4420
+ "requires": {
4421
+ "inherits": "^2.0.1",
4422
+ "readable-stream": "^2.0.0"
4423
+ }
4424
+ },
4425
+ "fs-extra": {
4426
+ "version": "7.0.1",
4427
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
4428
+ "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
4429
+ "dev": true,
4430
+ "requires": {
4431
+ "graceful-fs": "^4.1.2",
4432
+ "jsonfile": "^4.0.0",
4433
+ "universalify": "^0.1.0"
4434
+ }
4435
+ },
4436
+ "fs-minipass": {
4437
+ "version": "2.1.0",
4438
+ "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
4439
+ "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
4440
+ "dev": true,
4441
+ "requires": {
4442
+ "minipass": "^3.0.0"
4443
+ }
4444
+ },
4445
+ "fs-write-stream-atomic": {
4446
+ "version": "1.0.10",
4447
+ "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",
4448
+ "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=",
4449
+ "dev": true,
4450
+ "requires": {
4451
+ "graceful-fs": "^4.1.2",
4452
+ "iferr": "^0.1.5",
4453
+ "imurmurhash": "^0.1.4",
4454
+ "readable-stream": "1 || 2"
4455
+ }
4456
+ },
4457
+ "fs.realpath": {
4458
+ "version": "1.0.0",
4459
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
4460
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
4461
+ "dev": true
4462
+ },
4463
+ "fsevents": {
4464
+ "version": "1.2.13",
4465
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz",
4466
+ "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
4467
+ "dev": true,
4468
+ "optional": true,
4469
+ "requires": {
4470
+ "bindings": "^1.5.0",
4471
+ "nan": "^2.12.1"
4472
+ }
4473
+ },
4474
+ "fstream": {
4475
+ "version": "1.0.12",
4476
+ "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz",
4477
+ "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==",
4478
+ "dev": true,
4479
+ "requires": {
4480
+ "graceful-fs": "^4.1.2",
4481
+ "inherits": "~2.0.0",
4482
+ "mkdirp": ">=0.5 0",
4483
+ "rimraf": "2"
4484
+ }
4485
+ },
4486
+ "function-bind": {
4487
+ "version": "1.1.1",
4488
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
4489
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
4490
+ "dev": true
4491
+ },
4492
+ "functional-red-black-tree": {
4493
+ "version": "1.0.1",
4494
+ "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
4495
+ "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
4496
+ "dev": true
4497
+ },
4498
+ "gauge": {
4499
+ "version": "2.7.4",
4500
+ "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
4501
+ "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
4502
+ "dev": true,
4503
+ "requires": {
4504
+ "aproba": "^1.0.3",
4505
+ "console-control-strings": "^1.0.0",
4506
+ "has-unicode": "^2.0.0",
4507
+ "object-assign": "^4.1.0",
4508
+ "signal-exit": "^3.0.0",
4509
+ "string-width": "^1.0.1",
4510
+ "strip-ansi": "^3.0.1",
4511
+ "wide-align": "^1.1.0"
4512
+ },
4513
+ "dependencies": {
4514
+ "is-fullwidth-code-point": {
4515
+ "version": "1.0.0",
4516
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
4517
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
4518
+ "dev": true,
4519
+ "requires": {
4520
+ "number-is-nan": "^1.0.0"
4521
+ }
4522
+ },
4523
+ "string-width": {
4524
+ "version": "1.0.2",
4525
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
4526
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
4527
+ "dev": true,
4528
+ "requires": {
4529
+ "code-point-at": "^1.0.0",
4530
+ "is-fullwidth-code-point": "^1.0.0",
4531
+ "strip-ansi": "^3.0.0"
4532
+ }
4533
+ }
4534
+ }
4535
+ },
4536
+ "gaze": {
4537
+ "version": "1.1.3",
4538
+ "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz",
4539
+ "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==",
4540
+ "dev": true,
4541
+ "requires": {
4542
+ "globule": "^1.0.0"
4543
+ }
4544
+ },
4545
+ "gensync": {
4546
+ "version": "1.0.0-beta.1",
4547
+ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz",
4548
+ "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==",
4549
+ "dev": true
4550
+ },
4551
+ "get-caller-file": {
4552
+ "version": "2.0.5",
4553
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
4554
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
4555
+ "dev": true
4556
+ },
4557
+ "get-stdin": {
4558
+ "version": "4.0.1",
4559
+ "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
4560
+ "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
4561
+ "dev": true
4562
+ },
4563
+ "get-stream": {
4564
+ "version": "4.1.0",
4565
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
4566
+ "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
4567
+ "dev": true,
4568
+ "requires": {
4569
+ "pump": "^3.0.0"
4570
+ }
4571
+ },
4572
+ "get-value": {
4573
+ "version": "2.0.6",
4574
+ "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
4575
+ "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
4576
+ "dev": true
4577
+ },
4578
+ "getpass": {
4579
+ "version": "0.1.7",
4580
+ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
4581
+ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
4582
+ "dev": true,
4583
+ "requires": {
4584
+ "assert-plus": "^1.0.0"
4585
+ }
4586
+ },
4587
+ "glob": {
4588
+ "version": "7.1.6",
4589
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
4590
+ "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
4591
+ "dev": true,
4592
+ "requires": {
4593
+ "fs.realpath": "^1.0.0",
4594
+ "inflight": "^1.0.4",
4595
+ "inherits": "2",
4596
+ "minimatch": "^3.0.4",
4597
+ "once": "^1.3.0",
4598
+ "path-is-absolute": "^1.0.0"
4599
+ }
4600
+ },
4601
+ "glob-parent": {
4602
+ "version": "3.1.0",
4603
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
4604
+ "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
4605
+ "dev": true,
4606
+ "requires": {
4607
+ "is-glob": "^3.1.0",
4608
+ "path-dirname": "^1.0.0"
4609
+ },
4610
+ "dependencies": {
4611
+ "is-glob": {
4612
+ "version": "3.1.0",
4613
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
4614
+ "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
4615
+ "dev": true,
4616
+ "requires": {
4617
+ "is-extglob": "^2.1.0"
4618
+ }
4619
+ }
4620
+ }
4621
+ },
4622
+ "glob-to-regexp": {
4623
+ "version": "0.3.0",
4624
+ "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz",
4625
+ "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=",
4626
+ "dev": true
4627
+ },
4628
+ "global-modules": {
4629
+ "version": "2.0.0",
4630
+ "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz",
4631
+ "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==",
4632
+ "dev": true,
4633
+ "requires": {
4634
+ "global-prefix": "^3.0.0"
4635
+ }
4636
+ },
4637
+ "global-prefix": {
4638
+ "version": "3.0.0",
4639
+ "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz",
4640
+ "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==",
4641
+ "dev": true,
4642
+ "requires": {
4643
+ "ini": "^1.3.5",
4644
+ "kind-of": "^6.0.2",
4645
+ "which": "^1.3.1"
4646
+ }
4647
+ },
4648
+ "globals": {
4649
+ "version": "11.12.0",
4650
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
4651
+ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
4652
+ "dev": true
4653
+ },
4654
+ "globby": {
4655
+ "version": "9.2.0",
4656
+ "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz",
4657
+ "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==",
4658
+ "dev": true,
4659
+ "requires": {
4660
+ "@types/glob": "^7.1.1",
4661
+ "array-union": "^1.0.2",
4662
+ "dir-glob": "^2.2.2",
4663
+ "fast-glob": "^2.2.6",
4664
+ "glob": "^7.1.3",
4665
+ "ignore": "^4.0.3",
4666
+ "pify": "^4.0.1",
4667
+ "slash": "^2.0.0"
4668
+ }
4669
+ },
4670
+ "globjoin": {
4671
+ "version": "0.1.4",
4672
+ "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz",
4673
+ "integrity": "sha1-L0SUrIkZ43Z8XLtpHp9GMyQoXUM=",
4674
+ "dev": true
4675
+ },
4676
+ "globule": {
4677
+ "version": "1.3.1",
4678
+ "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.1.tgz",
4679
+ "integrity": "sha512-OVyWOHgw29yosRHCHo7NncwR1hW5ew0W/UrvtwvjefVJeQ26q4/8r8FmPsSF1hJ93IgWkyv16pCTz6WblMzm/g==",
4680
+ "dev": true,
4681
+ "requires": {
4682
+ "glob": "~7.1.1",
4683
+ "lodash": "~4.17.12",
4684
+ "minimatch": "~3.0.2"
4685
+ }
4686
+ },
4687
+ "gonzales-pe": {
4688
+ "version": "4.3.0",
4689
+ "resolved": "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-4.3.0.tgz",
4690
+ "integrity": "sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==",
4691
+ "dev": true,
4692
+ "requires": {
4693
+ "minimist": "^1.2.5"
4694
+ }
4695
+ },
4696
+ "graceful-fs": {
4697
+ "version": "4.2.4",
4698
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
4699
+ "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==",
4700
+ "dev": true
4701
+ },
4702
+ "growly": {
4703
+ "version": "1.3.0",
4704
+ "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz",
4705
+ "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=",
4706
+ "dev": true
4707
+ },
4708
+ "har-schema": {
4709
+ "version": "2.0.0",
4710
+ "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
4711
+ "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
4712
+ "dev": true
4713
+ },
4714
+ "har-validator": {
4715
+ "version": "5.1.3",
4716
+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
4717
+ "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
4718
+ "dev": true,
4719
+ "requires": {
4720
+ "ajv": "^6.5.5",
4721
+ "har-schema": "^2.0.0"
4722
+ }
4723
+ },
4724
+ "hard-rejection": {
4725
+ "version": "2.1.0",
4726
+ "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz",
4727
+ "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==",
4728
+ "dev": true
4729
+ },
4730
+ "has": {
4731
+ "version": "1.0.3",
4732
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
4733
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
4734
+ "dev": true,
4735
+ "requires": {
4736
+ "function-bind": "^1.1.1"
4737
+ }
4738
+ },
4739
+ "has-ansi": {
4740
+ "version": "2.0.0",
4741
+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
4742
+ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
4743
+ "dev": true,
4744
+ "requires": {
4745
+ "ansi-regex": "^2.0.0"
4746
+ }
4747
+ },
4748
+ "has-flag": {
4749
+ "version": "3.0.0",
4750
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
4751
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
4752
+ "dev": true
4753
+ },
4754
+ "has-symbols": {
4755
+ "version": "1.0.1",
4756
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
4757
+ "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
4758
+ "dev": true
4759
+ },
4760
+ "has-unicode": {
4761
+ "version": "2.0.1",
4762
+ "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
4763
+ "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=",
4764
+ "dev": true
4765
+ },
4766
+ "has-value": {
4767
+ "version": "1.0.0",
4768
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
4769
+ "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
4770
+ "dev": true,
4771
+ "requires": {
4772
+ "get-value": "^2.0.6",
4773
+ "has-values": "^1.0.0",
4774
+ "isobject": "^3.0.0"
4775
+ }
4776
+ },
4777
+ "has-values": {
4778
+ "version": "1.0.0",
4779
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
4780
+ "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
4781
+ "dev": true,
4782
+ "requires": {
4783
+ "is-number": "^3.0.0",
4784
+ "kind-of": "^4.0.0"
4785
+ },
4786
+ "dependencies": {
4787
+ "kind-of": {
4788
+ "version": "4.0.0",
4789
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
4790
+ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
4791
+ "dev": true,
4792
+ "requires": {
4793
+ "is-buffer": "^1.1.5"
4794
+ }
4795
+ }
4796
+ }
4797
+ },
4798
+ "hash-base": {
4799
+ "version": "3.1.0",
4800
+ "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz",
4801
+ "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==",
4802
+ "dev": true,
4803
+ "requires": {
4804
+ "inherits": "^2.0.4",
4805
+ "readable-stream": "^3.6.0",
4806
+ "safe-buffer": "^5.2.0"
4807
+ },
4808
+ "dependencies": {
4809
+ "readable-stream": {
4810
+ "version": "3.6.0",
4811
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
4812
+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
4813
+ "dev": true,
4814
+ "requires": {
4815
+ "inherits": "^2.0.3",
4816
+ "string_decoder": "^1.1.1",
4817
+ "util-deprecate": "^1.0.1"
4818
+ }
4819
+ },
4820
+ "safe-buffer": {
4821
+ "version": "5.2.1",
4822
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
4823
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
4824
+ "dev": true
4825
+ }
4826
+ }
4827
+ },
4828
+ "hash.js": {
4829
+ "version": "1.1.7",
4830
+ "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz",
4831
+ "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==",
4832
+ "dev": true,
4833
+ "requires": {
4834
+ "inherits": "^2.0.3",
4835
+ "minimalistic-assert": "^1.0.1"
4836
+ }
4837
+ },
4838
+ "hex-color-regex": {
4839
+ "version": "1.1.0",
4840
+ "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz",
4841
+ "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==",
4842
+ "dev": true
4843
+ },
4844
+ "hmac-drbg": {
4845
+ "version": "1.0.1",
4846
+ "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
4847
+ "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
4848
+ "dev": true,
4849
+ "requires": {
4850
+ "hash.js": "^1.0.3",
4851
+ "minimalistic-assert": "^1.0.0",
4852
+ "minimalistic-crypto-utils": "^1.0.1"
4853
+ }
4854
+ },
4855
+ "homedir-polyfill": {
4856
+ "version": "1.0.3",
4857
+ "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz",
4858
+ "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==",
4859
+ "dev": true,
4860
+ "requires": {
4861
+ "parse-passwd": "^1.0.0"
4862
+ }
4863
+ },
4864
+ "hosted-git-info": {
4865
+ "version": "2.8.8",
4866
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz",
4867
+ "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==",
4868
+ "dev": true
4869
+ },
4870
+ "hsl-regex": {
4871
+ "version": "1.0.0",
4872
+ "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz",
4873
+ "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=",
4874
+ "dev": true
4875
+ },
4876
+ "hsla-regex": {
4877
+ "version": "1.0.0",
4878
+ "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz",
4879
+ "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=",
4880
+ "dev": true
4881
+ },
4882
+ "html-comment-regex": {
4883
+ "version": "1.1.2",
4884
+ "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz",
4885
+ "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==",
4886
+ "dev": true
4887
+ },
4888
+ "html-encoding-sniffer": {
4889
+ "version": "1.0.2",
4890
+ "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz",
4891
+ "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==",
4892
+ "dev": true,
4893
+ "requires": {
4894
+ "whatwg-encoding": "^1.0.1"
4895
+ }
4896
+ },
4897
+ "html-escaper": {
4898
+ "version": "2.0.2",
4899
+ "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
4900
+ "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
4901
+ "dev": true
4902
+ },
4903
+ "html-tags": {
4904
+ "version": "2.0.0",
4905
+ "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz",
4906
+ "integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=",
4907
+ "dev": true
4908
+ },
4909
+ "htmlparser2": {
4910
+ "version": "3.10.1",
4911
+ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz",
4912
+ "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==",
4913
+ "dev": true,
4914
+ "requires": {
4915
+ "domelementtype": "^1.3.1",
4916
+ "domhandler": "^2.3.0",
4917
+ "domutils": "^1.5.1",
4918
+ "entities": "^1.1.1",
4919
+ "inherits": "^2.0.1",
4920
+ "readable-stream": "^3.1.1"
4921
+ },
4922
+ "dependencies": {
4923
+ "entities": {
4924
+ "version": "1.1.2",
4925
+ "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
4926
+ "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==",
4927
+ "dev": true
4928
+ },
4929
+ "readable-stream": {
4930
+ "version": "3.6.0",
4931
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
4932
+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
4933
+ "dev": true,
4934
+ "requires": {
4935
+ "inherits": "^2.0.3",
4936
+ "string_decoder": "^1.1.1",
4937
+ "util-deprecate": "^1.0.1"
4938
+ }
4939
+ }
4940
+ }
4941
+ },
4942
+ "http-signature": {
4943
+ "version": "1.2.0",
4944
+ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
4945
+ "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
4946
+ "dev": true,
4947
+ "requires": {
4948
+ "assert-plus": "^1.0.0",
4949
+ "jsprim": "^1.2.2",
4950
+ "sshpk": "^1.7.0"
4951
+ }
4952
+ },
4953
+ "https-browserify": {
4954
+ "version": "1.0.0",
4955
+ "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
4956
+ "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=",
4957
+ "dev": true
4958
+ },
4959
+ "iconv-lite": {
4960
+ "version": "0.4.24",
4961
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
4962
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
4963
+ "dev": true,
4964
+ "requires": {
4965
+ "safer-buffer": ">= 2.1.2 < 3"
4966
+ }
4967
+ },
4968
+ "icss-replace-symbols": {
4969
+ "version": "1.1.0",
4970
+ "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz",
4971
+ "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=",
4972
+ "dev": true
4973
+ },
4974
+ "icss-utils": {
4975
+ "version": "2.1.0",
4976
+ "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz",
4977
+ "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=",
4978
+ "dev": true,
4979
+ "requires": {
4980
+ "postcss": "^6.0.1"
4981
+ },
4982
+ "dependencies": {
4983
+ "postcss": {
4984
+ "version": "6.0.23",
4985
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
4986
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
4987
+ "dev": true,
4988
+ "requires": {
4989
+ "chalk": "^2.4.1",
4990
+ "source-map": "^0.6.1",
4991
+ "supports-color": "^5.4.0"
4992
+ }
4993
+ },
4994
+ "source-map": {
4995
+ "version": "0.6.1",
4996
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
4997
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
4998
+ "dev": true
4999
+ }
5000
+ }
5001
+ },
5002
+ "ieee754": {
5003
+ "version": "1.1.13",
5004
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz",
5005
+ "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==",
5006
+ "dev": true
5007
+ },
5008
+ "iferr": {
5009
+ "version": "0.1.5",
5010
+ "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz",
5011
+ "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=",
5012
+ "dev": true
5013
+ },
5014
+ "ignore": {
5015
+ "version": "4.0.6",
5016
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
5017
+ "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
5018
+ "dev": true
5019
+ },
5020
+ "import-fresh": {
5021
+ "version": "2.0.0",
5022
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz",
5023
+ "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=",
5024
+ "dev": true,
5025
+ "requires": {
5026
+ "caller-path": "^2.0.0",
5027
+ "resolve-from": "^3.0.0"
5028
+ }
5029
+ },
5030
+ "import-lazy": {
5031
+ "version": "3.1.0",
5032
+ "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-3.1.0.tgz",
5033
+ "integrity": "sha512-8/gvXvX2JMn0F+CDlSC4l6kOmVaLOO3XLkksI7CI3Ud95KDYJuYur2b9P/PUt/i/pDAMd/DulQsNbbbmRRsDIQ==",
5034
+ "dev": true
5035
+ },
5036
+ "import-local": {
5037
+ "version": "2.0.0",
5038
+ "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz",
5039
+ "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==",
5040
+ "dev": true,
5041
+ "requires": {
5042
+ "pkg-dir": "^3.0.0",
5043
+ "resolve-cwd": "^2.0.0"
5044
+ }
5045
+ },
5046
+ "imurmurhash": {
5047
+ "version": "0.1.4",
5048
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
5049
+ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
5050
+ "dev": true
5051
+ },
5052
+ "in-publish": {
5053
+ "version": "2.0.1",
5054
+ "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.1.tgz",
5055
+ "integrity": "sha512-oDM0kUSNFC31ShNxHKUyfZKy8ZeXZBWMjMdZHKLOk13uvT27VTL/QzRGfRUcevJhpkZAvlhPYuXkF7eNWrtyxQ==",
5056
+ "dev": true
5057
+ },
5058
+ "indent-string": {
5059
+ "version": "2.1.0",
5060
+ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
5061
+ "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
5062
+ "dev": true,
5063
+ "requires": {
5064
+ "repeating": "^2.0.0"
5065
+ }
5066
+ },
5067
+ "indexes-of": {
5068
+ "version": "1.0.1",
5069
+ "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz",
5070
+ "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=",
5071
+ "dev": true
5072
+ },
5073
+ "infer-owner": {
5074
+ "version": "1.0.4",
5075
+ "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz",
5076
+ "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==",
5077
+ "dev": true
5078
+ },
5079
+ "inflight": {
5080
+ "version": "1.0.6",
5081
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
5082
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
5083
+ "dev": true,
5084
+ "requires": {
5085
+ "once": "^1.3.0",
5086
+ "wrappy": "1"
5087
+ }
5088
+ },
5089
+ "inherits": {
5090
+ "version": "2.0.4",
5091
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
5092
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
5093
+ "dev": true
5094
+ },
5095
+ "ini": {
5096
+ "version": "1.3.5",
5097
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
5098
+ "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
5099
+ "dev": true
5100
+ },
5101
+ "inquirer": {
5102
+ "version": "6.5.2",
5103
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz",
5104
+ "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==",
5105
+ "dev": true,
5106
+ "requires": {
5107
+ "ansi-escapes": "^3.2.0",
5108
+ "chalk": "^2.4.2",
5109
+ "cli-cursor": "^2.1.0",
5110
+ "cli-width": "^2.0.0",
5111
+ "external-editor": "^3.0.3",
5112
+ "figures": "^2.0.0",
5113
+ "lodash": "^4.17.12",
5114
+ "mute-stream": "0.0.7",
5115
+ "run-async": "^2.2.0",
5116
+ "rxjs": "^6.4.0",
5117
+ "string-width": "^2.1.0",
5118
+ "strip-ansi": "^5.1.0",
5119
+ "through": "^2.3.6"
5120
+ },
5121
+ "dependencies": {
5122
+ "ansi-regex": {
5123
+ "version": "4.1.0",
5124
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
5125
+ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
5126
+ "dev": true
5127
+ },
5128
+ "strip-ansi": {
5129
+ "version": "5.2.0",
5130
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
5131
+ "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
5132
+ "dev": true,
5133
+ "requires": {
5134
+ "ansi-regex": "^4.1.0"
5135
+ }
5136
+ }
5137
+ }
5138
+ },
5139
+ "interpret": {
5140
+ "version": "1.2.0",
5141
+ "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz",
5142
+ "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==",
5143
+ "dev": true
5144
+ },
5145
+ "invariant": {
5146
+ "version": "2.2.4",
5147
+ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
5148
+ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
5149
+ "dev": true,
5150
+ "requires": {
5151
+ "loose-envify": "^1.0.0"
5152
+ }
5153
+ },
5154
+ "invert-kv": {
5155
+ "version": "2.0.0",
5156
+ "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz",
5157
+ "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==",
5158
+ "dev": true
5159
+ },
5160
+ "is-absolute-url": {
5161
+ "version": "2.1.0",
5162
+ "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz",
5163
+ "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=",
5164
+ "dev": true
5165
+ },
5166
+ "is-accessor-descriptor": {
5167
+ "version": "0.1.6",
5168
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
5169
+ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
5170
+ "dev": true,
5171
+ "requires": {
5172
+ "kind-of": "^3.0.2"
5173
+ },
5174
+ "dependencies": {
5175
+ "kind-of": {
5176
+ "version": "3.2.2",
5177
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
5178
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
5179
+ "dev": true,
5180
+ "requires": {
5181
+ "is-buffer": "^1.1.5"
5182
+ }
5183
+ }
5184
+ }
5185
+ },
5186
+ "is-alphabetical": {
5187
+ "version": "1.0.4",
5188
+ "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz",
5189
+ "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==",
5190
+ "dev": true
5191
+ },
5192
+ "is-alphanumeric": {
5193
+ "version": "1.0.0",
5194
+ "resolved": "https://registry.npmjs.org/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz",
5195
+ "integrity": "sha1-Spzvcdr0wAHB2B1j0UDPU/1oifQ=",
5196
+ "dev": true
5197
+ },
5198
+ "is-alphanumerical": {
5199
+ "version": "1.0.4",
5200
+ "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz",
5201
+ "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==",
5202
+ "dev": true,
5203
+ "requires": {
5204
+ "is-alphabetical": "^1.0.0",
5205
+ "is-decimal": "^1.0.0"
5206
+ }
5207
+ },
5208
+ "is-arrayish": {
5209
+ "version": "0.2.1",
5210
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
5211
+ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
5212
+ "dev": true
5213
+ },
5214
+ "is-binary-path": {
5215
+ "version": "1.0.1",
5216
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
5217
+ "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
5218
+ "dev": true,
5219
+ "requires": {
5220
+ "binary-extensions": "^1.0.0"
5221
+ }
5222
+ },
5223
+ "is-buffer": {
5224
+ "version": "1.1.6",
5225
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
5226
+ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
5227
+ "dev": true
5228
+ },
5229
+ "is-callable": {
5230
+ "version": "1.1.5",
5231
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz",
5232
+ "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==",
5233
+ "dev": true
5234
+ },
5235
+ "is-ci": {
5236
+ "version": "2.0.0",
5237
+ "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz",
5238
+ "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==",
5239
+ "dev": true,
5240
+ "requires": {
5241
+ "ci-info": "^2.0.0"
5242
+ }
5243
+ },
5244
+ "is-color-stop": {
5245
+ "version": "1.1.0",
5246
+ "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz",
5247
+ "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=",
5248
+ "dev": true,
5249
+ "requires": {
5250
+ "css-color-names": "^0.0.4",
5251
+ "hex-color-regex": "^1.1.0",
5252
+ "hsl-regex": "^1.0.0",
5253
+ "hsla-regex": "^1.0.0",
5254
+ "rgb-regex": "^1.0.1",
5255
+ "rgba-regex": "^1.0.0"
5256
+ }
5257
+ },
5258
+ "is-data-descriptor": {
5259
+ "version": "0.1.4",
5260
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
5261
+ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
5262
+ "dev": true,
5263
+ "requires": {
5264
+ "kind-of": "^3.0.2"
5265
+ },
5266
+ "dependencies": {
5267
+ "kind-of": {
5268
+ "version": "3.2.2",
5269
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
5270
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
5271
+ "dev": true,
5272
+ "requires": {
5273
+ "is-buffer": "^1.1.5"
5274
+ }
5275
+ }
5276
+ }
5277
+ },
5278
+ "is-date-object": {
5279
+ "version": "1.0.2",
5280
+ "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz",
5281
+ "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==",
5282
+ "dev": true
5283
+ },
5284
+ "is-decimal": {
5285
+ "version": "1.0.4",
5286
+ "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz",
5287
+ "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==",
5288
+ "dev": true
5289
+ },
5290
+ "is-descriptor": {
5291
+ "version": "0.1.6",
5292
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
5293
+ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
5294
+ "dev": true,
5295
+ "requires": {
5296
+ "is-accessor-descriptor": "^0.1.6",
5297
+ "is-data-descriptor": "^0.1.4",
5298
+ "kind-of": "^5.0.0"
5299
+ },
5300
+ "dependencies": {
5301
+ "kind-of": {
5302
+ "version": "5.1.0",
5303
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
5304
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
5305
+ "dev": true
5306
+ }
5307
+ }
5308
+ },
5309
+ "is-directory": {
5310
+ "version": "0.3.1",
5311
+ "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz",
5312
+ "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=",
5313
+ "dev": true
5314
+ },
5315
+ "is-extendable": {
5316
+ "version": "0.1.1",
5317
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
5318
+ "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
5319
+ "dev": true
5320
+ },
5321
+ "is-extglob": {
5322
+ "version": "2.1.1",
5323
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
5324
+ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
5325
+ "dev": true
5326
+ },
5327
+ "is-finite": {
5328
+ "version": "1.1.0",
5329
+ "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz",
5330
+ "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==",
5331
+ "dev": true
5332
+ },
5333
+ "is-fullwidth-code-point": {
5334
+ "version": "2.0.0",
5335
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
5336
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
5337
+ "dev": true
5338
+ },
5339
+ "is-generator-fn": {
5340
+ "version": "2.1.0",
5341
+ "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz",
5342
+ "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==",
5343
+ "dev": true
5344
+ },
5345
+ "is-glob": {
5346
+ "version": "4.0.1",
5347
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
5348
+ "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
5349
+ "dev": true,
5350
+ "requires": {
5351
+ "is-extglob": "^2.1.1"
5352
+ }
5353
+ },
5354
+ "is-hexadecimal": {
5355
+ "version": "1.0.4",
5356
+ "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz",
5357
+ "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==",
5358
+ "dev": true
5359
+ },
5360
+ "is-number": {
5361
+ "version": "3.0.0",
5362
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
5363
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
5364
+ "dev": true,
5365
+ "requires": {
5366
+ "kind-of": "^3.0.2"
5367
+ },
5368
+ "dependencies": {
5369
+ "kind-of": {
5370
+ "version": "3.2.2",
5371
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
5372
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
5373
+ "dev": true,
5374
+ "requires": {
5375
+ "is-buffer": "^1.1.5"
5376
+ }
5377
+ }
5378
+ }
5379
+ },
5380
+ "is-obj": {
5381
+ "version": "2.0.0",
5382
+ "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz",
5383
+ "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==",
5384
+ "dev": true
5385
+ },
5386
+ "is-plain-obj": {
5387
+ "version": "1.1.0",
5388
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
5389
+ "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
5390
+ "dev": true
5391
+ },
5392
+ "is-plain-object": {
5393
+ "version": "2.0.4",
5394
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
5395
+ "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
5396
+ "dev": true,
5397
+ "requires": {
5398
+ "isobject": "^3.0.1"
5399
+ }
5400
+ },
5401
+ "is-regex": {
5402
+ "version": "1.0.5",
5403
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz",
5404
+ "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==",
5405
+ "dev": true,
5406
+ "requires": {
5407
+ "has": "^1.0.3"
5408
+ }
5409
+ },
5410
+ "is-regexp": {
5411
+ "version": "1.0.0",
5412
+ "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz",
5413
+ "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=",
5414
+ "dev": true
5415
+ },
5416
+ "is-resolvable": {
5417
+ "version": "1.1.0",
5418
+ "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz",
5419
+ "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==",
5420
+ "dev": true
5421
+ },
5422
+ "is-stream": {
5423
+ "version": "1.1.0",
5424
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
5425
+ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
5426
+ "dev": true
5427
+ },
5428
+ "is-supported-regexp-flag": {
5429
+ "version": "1.0.1",
5430
+ "resolved": "https://registry.npmjs.org/is-supported-regexp-flag/-/is-supported-regexp-flag-1.0.1.tgz",
5431
+ "integrity": "sha512-3vcJecUUrpgCqc/ca0aWeNu64UGgxcvO60K/Fkr1N6RSvfGCTU60UKN68JDmKokgba0rFFJs12EnzOQa14ubKQ==",
5432
+ "dev": true
5433
+ },
5434
+ "is-svg": {
5435
+ "version": "3.0.0",
5436
+ "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz",
5437
+ "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==",
5438
+ "dev": true,
5439
+ "requires": {
5440
+ "html-comment-regex": "^1.1.0"
5441
+ }
5442
+ },
5443
+ "is-symbol": {
5444
+ "version": "1.0.3",
5445
+ "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz",
5446
+ "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==",
5447
+ "dev": true,
5448
+ "requires": {
5449
+ "has-symbols": "^1.0.1"
5450
+ }
5451
+ },
5452
+ "is-typedarray": {
5453
+ "version": "1.0.0",
5454
+ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
5455
+ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
5456
+ "dev": true
5457
+ },
5458
+ "is-utf8": {
5459
+ "version": "0.2.1",
5460
+ "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
5461
+ "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
5462
+ "dev": true
5463
+ },
5464
+ "is-whitespace-character": {
5465
+ "version": "1.0.4",
5466
+ "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz",
5467
+ "integrity": "sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==",
5468
+ "dev": true
5469
+ },
5470
+ "is-windows": {
5471
+ "version": "1.0.2",
5472
+ "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
5473
+ "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
5474
+ "dev": true
5475
+ },
5476
+ "is-word-character": {
5477
+ "version": "1.0.4",
5478
+ "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.4.tgz",
5479
+ "integrity": "sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==",
5480
+ "dev": true
5481
+ },
5482
+ "is-wsl": {
5483
+ "version": "1.1.0",
5484
+ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
5485
+ "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=",
5486
+ "dev": true
5487
+ },
5488
+ "isarray": {
5489
+ "version": "1.0.0",
5490
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
5491
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
5492
+ "dev": true
5493
+ },
5494
+ "isexe": {
5495
+ "version": "2.0.0",
5496
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
5497
+ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
5498
+ "dev": true
5499
+ },
5500
+ "isobject": {
5501
+ "version": "3.0.1",
5502
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
5503
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
5504
+ "dev": true
5505
+ },
5506
+ "isstream": {
5507
+ "version": "0.1.2",
5508
+ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
5509
+ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
5510
+ "dev": true
5511
+ },
5512
+ "istanbul-lib-coverage": {
5513
+ "version": "2.0.5",
5514
+ "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz",
5515
+ "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==",
5516
+ "dev": true
5517
+ },
5518
+ "istanbul-lib-instrument": {
5519
+ "version": "3.3.0",
5520
+ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz",
5521
+ "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==",
5522
+ "dev": true,
5523
+ "requires": {
5524
+ "@babel/generator": "^7.4.0",
5525
+ "@babel/parser": "^7.4.3",
5526
+ "@babel/template": "^7.4.0",
5527
+ "@babel/traverse": "^7.4.3",
5528
+ "@babel/types": "^7.4.0",
5529
+ "istanbul-lib-coverage": "^2.0.5",
5530
+ "semver": "^6.0.0"
5531
+ },
5532
+ "dependencies": {
5533
+ "semver": {
5534
+ "version": "6.3.0",
5535
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
5536
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
5537
+ "dev": true
5538
+ }
5539
+ }
5540
+ },
5541
+ "istanbul-lib-report": {
5542
+ "version": "2.0.8",
5543
+ "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz",
5544
+ "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==",
5545
+ "dev": true,
5546
+ "requires": {
5547
+ "istanbul-lib-coverage": "^2.0.5",
5548
+ "make-dir": "^2.1.0",
5549
+ "supports-color": "^6.1.0"
5550
+ },
5551
+ "dependencies": {
5552
+ "supports-color": {
5553
+ "version": "6.1.0",
5554
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
5555
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
5556
+ "dev": true,
5557
+ "requires": {
5558
+ "has-flag": "^3.0.0"
5559
+ }
5560
+ }
5561
+ }
5562
+ },
5563
+ "istanbul-lib-source-maps": {
5564
+ "version": "3.0.6",
5565
+ "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz",
5566
+ "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==",
5567
+ "dev": true,
5568
+ "requires": {
5569
+ "debug": "^4.1.1",
5570
+ "istanbul-lib-coverage": "^2.0.5",
5571
+ "make-dir": "^2.1.0",
5572
+ "rimraf": "^2.6.3",
5573
+ "source-map": "^0.6.1"
5574
+ },
5575
+ "dependencies": {
5576
+ "source-map": {
5577
+ "version": "0.6.1",
5578
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
5579
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
5580
+ "dev": true
5581
+ }
5582
+ }
5583
+ },
5584
+ "istanbul-reports": {
5585
+ "version": "2.2.7",
5586
+ "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.7.tgz",
5587
+ "integrity": "sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg==",
5588
+ "dev": true,
5589
+ "requires": {
5590
+ "html-escaper": "^2.0.0"
5591
+ }
5592
+ },
5593
+ "jest": {
5594
+ "version": "24.9.0",
5595
+ "resolved": "https://registry.npmjs.org/jest/-/jest-24.9.0.tgz",
5596
+ "integrity": "sha512-YvkBL1Zm7d2B1+h5fHEOdyjCG+sGMz4f8D86/0HiqJ6MB4MnDc8FgP5vdWsGnemOQro7lnYo8UakZ3+5A0jxGw==",
5597
+ "dev": true,
5598
+ "requires": {
5599
+ "import-local": "^2.0.0",
5600
+ "jest-cli": "^24.9.0"
5601
+ },
5602
+ "dependencies": {
5603
+ "jest-cli": {
5604
+ "version": "24.9.0",
5605
+ "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-24.9.0.tgz",
5606
+ "integrity": "sha512-+VLRKyitT3BWoMeSUIHRxV/2g8y9gw91Jh5z2UmXZzkZKpbC08CSehVxgHUwTpy+HwGcns/tqafQDJW7imYvGg==",
5607
+ "dev": true,
5608
+ "requires": {
5609
+ "@jest/core": "^24.9.0",
5610
+ "@jest/test-result": "^24.9.0",
5611
+ "@jest/types": "^24.9.0",
5612
+ "chalk": "^2.0.1",
5613
+ "exit": "^0.1.2",
5614
+ "import-local": "^2.0.0",
5615
+ "is-ci": "^2.0.0",
5616
+ "jest-config": "^24.9.0",
5617
+ "jest-util": "^24.9.0",
5618
+ "jest-validate": "^24.9.0",
5619
+ "prompts": "^2.0.1",
5620
+ "realpath-native": "^1.1.0",
5621
+ "yargs": "^13.3.0"
5622
+ }
5623
+ }
5624
+ }
5625
+ },
5626
+ "jest-changed-files": {
5627
+ "version": "24.9.0",
5628
+ "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-24.9.0.tgz",
5629
+ "integrity": "sha512-6aTWpe2mHF0DhL28WjdkO8LyGjs3zItPET4bMSeXU6T3ub4FPMw+mcOcbdGXQOAfmLcxofD23/5Bl9Z4AkFwqg==",
5630
+ "dev": true,
5631
+ "requires": {
5632
+ "@jest/types": "^24.9.0",
5633
+ "execa": "^1.0.0",
5634
+ "throat": "^4.0.0"
5635
+ }
5636
+ },
5637
+ "jest-config": {
5638
+ "version": "24.9.0",
5639
+ "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-24.9.0.tgz",
5640
+ "integrity": "sha512-RATtQJtVYQrp7fvWg6f5y3pEFj9I+H8sWw4aKxnDZ96mob5i5SD6ZEGWgMLXQ4LE8UurrjbdlLWdUeo+28QpfQ==",
5641
+ "dev": true,
5642
+ "requires": {
5643
+ "@babel/core": "^7.1.0",
5644
+ "@jest/test-sequencer": "^24.9.0",
5645
+ "@jest/types": "^24.9.0",
5646
+ "babel-jest": "^24.9.0",
5647
+ "chalk": "^2.0.1",
5648
+ "glob": "^7.1.1",
5649
+ "jest-environment-jsdom": "^24.9.0",
5650
+ "jest-environment-node": "^24.9.0",
5651
+ "jest-get-type": "^24.9.0",
5652
+ "jest-jasmine2": "^24.9.0",
5653
+ "jest-regex-util": "^24.3.0",
5654
+ "jest-resolve": "^24.9.0",
5655
+ "jest-util": "^24.9.0",
5656
+ "jest-validate": "^24.9.0",
5657
+ "micromatch": "^3.1.10",
5658
+ "pretty-format": "^24.9.0",
5659
+ "realpath-native": "^1.1.0"
5660
+ }
5661
+ },
5662
+ "jest-diff": {
5663
+ "version": "24.9.0",
5664
+ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz",
5665
+ "integrity": "sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==",
5666
+ "dev": true,
5667
+ "requires": {
5668
+ "chalk": "^2.0.1",
5669
+ "diff-sequences": "^24.9.0",
5670
+ "jest-get-type": "^24.9.0",
5671
+ "pretty-format": "^24.9.0"
5672
+ }
5673
+ },
5674
+ "jest-docblock": {
5675
+ "version": "24.9.0",
5676
+ "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-24.9.0.tgz",
5677
+ "integrity": "sha512-F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L/IvXvvgsG8OsqhLPXTpfmZAA==",
5678
+ "dev": true,
5679
+ "requires": {
5680
+ "detect-newline": "^2.1.0"
5681
+ }
5682
+ },
5683
+ "jest-each": {
5684
+ "version": "24.9.0",
5685
+ "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-24.9.0.tgz",
5686
+ "integrity": "sha512-ONi0R4BvW45cw8s2Lrx8YgbeXL1oCQ/wIDwmsM3CqM/nlblNCPmnC3IPQlMbRFZu3wKdQ2U8BqM6lh3LJ5Bsog==",
5687
+ "dev": true,
5688
+ "requires": {
5689
+ "@jest/types": "^24.9.0",
5690
+ "chalk": "^2.0.1",
5691
+ "jest-get-type": "^24.9.0",
5692
+ "jest-util": "^24.9.0",
5693
+ "pretty-format": "^24.9.0"
5694
+ }
5695
+ },
5696
+ "jest-environment-jsdom": {
5697
+ "version": "24.9.0",
5698
+ "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-24.9.0.tgz",
5699
+ "integrity": "sha512-Zv9FV9NBRzLuALXjvRijO2351DRQeLYXtpD4xNvfoVFw21IOKNhZAEUKcbiEtjTkm2GsJ3boMVgkaR7rN8qetA==",
5700
+ "dev": true,
5701
+ "requires": {
5702
+ "@jest/environment": "^24.9.0",
5703
+ "@jest/fake-timers": "^24.9.0",
5704
+ "@jest/types": "^24.9.0",
5705
+ "jest-mock": "^24.9.0",
5706
+ "jest-util": "^24.9.0",
5707
+ "jsdom": "^11.5.1"
5708
+ }
5709
+ },
5710
+ "jest-environment-node": {
5711
+ "version": "24.9.0",
5712
+ "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-24.9.0.tgz",
5713
+ "integrity": "sha512-6d4V2f4nxzIzwendo27Tr0aFm+IXWa0XEUnaH6nU0FMaozxovt+sfRvh4J47wL1OvF83I3SSTu0XK+i4Bqe7uA==",
5714
+ "dev": true,
5715
+ "requires": {
5716
+ "@jest/environment": "^24.9.0",
5717
+ "@jest/fake-timers": "^24.9.0",
5718
+ "@jest/types": "^24.9.0",
5719
+ "jest-mock": "^24.9.0",
5720
+ "jest-util": "^24.9.0"
5721
+ }
5722
+ },
5723
+ "jest-get-type": {
5724
+ "version": "24.9.0",
5725
+ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz",
5726
+ "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==",
5727
+ "dev": true
5728
+ },
5729
+ "jest-haste-map": {
5730
+ "version": "24.9.0",
5731
+ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-24.9.0.tgz",
5732
+ "integrity": "sha512-kfVFmsuWui2Sj1Rp1AJ4D9HqJwE4uwTlS/vO+eRUaMmd54BFpli2XhMQnPC2k4cHFVbB2Q2C+jtI1AGLgEnCjQ==",
5733
+ "dev": true,
5734
+ "requires": {
5735
+ "@jest/types": "^24.9.0",
5736
+ "anymatch": "^2.0.0",
5737
+ "fb-watchman": "^2.0.0",
5738
+ "fsevents": "^1.2.7",
5739
+ "graceful-fs": "^4.1.15",
5740
+ "invariant": "^2.2.4",
5741
+ "jest-serializer": "^24.9.0",
5742
+ "jest-util": "^24.9.0",
5743
+ "jest-worker": "^24.9.0",
5744
+ "micromatch": "^3.1.10",
5745
+ "sane": "^4.0.3",
5746
+ "walker": "^1.0.7"
5747
+ }
5748
+ },
5749
+ "jest-jasmine2": {
5750
+ "version": "24.9.0",
5751
+ "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz",
5752
+ "integrity": "sha512-Cq7vkAgaYKp+PsX+2/JbTarrk0DmNhsEtqBXNwUHkdlbrTBLtMJINADf2mf5FkowNsq8evbPc07/qFO0AdKTzw==",
5753
+ "dev": true,
5754
+ "requires": {
5755
+ "@babel/traverse": "^7.1.0",
5756
+ "@jest/environment": "^24.9.0",
5757
+ "@jest/test-result": "^24.9.0",
5758
+ "@jest/types": "^24.9.0",
5759
+ "chalk": "^2.0.1",
5760
+ "co": "^4.6.0",
5761
+ "expect": "^24.9.0",
5762
+ "is-generator-fn": "^2.0.0",
5763
+ "jest-each": "^24.9.0",
5764
+ "jest-matcher-utils": "^24.9.0",
5765
+ "jest-message-util": "^24.9.0",
5766
+ "jest-runtime": "^24.9.0",
5767
+ "jest-snapshot": "^24.9.0",
5768
+ "jest-util": "^24.9.0",
5769
+ "pretty-format": "^24.9.0",
5770
+ "throat": "^4.0.0"
5771
+ }
5772
+ },
5773
+ "jest-leak-detector": {
5774
+ "version": "24.9.0",
5775
+ "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz",
5776
+ "integrity": "sha512-tYkFIDsiKTGwb2FG1w8hX9V0aUb2ot8zY/2nFg087dUageonw1zrLMP4W6zsRO59dPkTSKie+D4rhMuP9nRmrA==",
5777
+ "dev": true,
5778
+ "requires": {
5779
+ "jest-get-type": "^24.9.0",
5780
+ "pretty-format": "^24.9.0"
5781
+ }
5782
+ },
5783
+ "jest-matcher-utils": {
5784
+ "version": "24.9.0",
5785
+ "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz",
5786
+ "integrity": "sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA==",
5787
+ "dev": true,
5788
+ "requires": {
5789
+ "chalk": "^2.0.1",
5790
+ "jest-diff": "^24.9.0",
5791
+ "jest-get-type": "^24.9.0",
5792
+ "pretty-format": "^24.9.0"
5793
+ }
5794
+ },
5795
+ "jest-message-util": {
5796
+ "version": "24.9.0",
5797
+ "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.9.0.tgz",
5798
+ "integrity": "sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw==",
5799
+ "dev": true,
5800
+ "requires": {
5801
+ "@babel/code-frame": "^7.0.0",
5802
+ "@jest/test-result": "^24.9.0",
5803
+ "@jest/types": "^24.9.0",
5804
+ "@types/stack-utils": "^1.0.1",
5805
+ "chalk": "^2.0.1",
5806
+ "micromatch": "^3.1.10",
5807
+ "slash": "^2.0.0",
5808
+ "stack-utils": "^1.0.1"
5809
+ }
5810
+ },
5811
+ "jest-mock": {
5812
+ "version": "24.9.0",
5813
+ "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-24.9.0.tgz",
5814
+ "integrity": "sha512-3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w==",
5815
+ "dev": true,
5816
+ "requires": {
5817
+ "@jest/types": "^24.9.0"
5818
+ }
5819
+ },
5820
+ "jest-pnp-resolver": {
5821
+ "version": "1.2.1",
5822
+ "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz",
5823
+ "integrity": "sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ==",
5824
+ "dev": true
5825
+ },
5826
+ "jest-regex-util": {
5827
+ "version": "24.9.0",
5828
+ "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.9.0.tgz",
5829
+ "integrity": "sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA==",
5830
+ "dev": true
5831
+ },
5832
+ "jest-resolve": {
5833
+ "version": "24.9.0",
5834
+ "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-24.9.0.tgz",
5835
+ "integrity": "sha512-TaLeLVL1l08YFZAt3zaPtjiVvyy4oSA6CRe+0AFPPVX3Q/VI0giIWWoAvoS5L96vj9Dqxj4fB5p2qrHCmTU/MQ==",
5836
+ "dev": true,
5837
+ "requires": {
5838
+ "@jest/types": "^24.9.0",
5839
+ "browser-resolve": "^1.11.3",
5840
+ "chalk": "^2.0.1",
5841
+ "jest-pnp-resolver": "^1.2.1",
5842
+ "realpath-native": "^1.1.0"
5843
+ }
5844
+ },
5845
+ "jest-resolve-dependencies": {
5846
+ "version": "24.9.0",
5847
+ "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-24.9.0.tgz",
5848
+ "integrity": "sha512-Fm7b6AlWnYhT0BXy4hXpactHIqER7erNgIsIozDXWl5dVm+k8XdGVe1oTg1JyaFnOxarMEbax3wyRJqGP2Pq+g==",
5849
+ "dev": true,
5850
+ "requires": {
5851
+ "@jest/types": "^24.9.0",
5852
+ "jest-regex-util": "^24.3.0",
5853
+ "jest-snapshot": "^24.9.0"
5854
+ }
5855
+ },
5856
+ "jest-runner": {
5857
+ "version": "24.9.0",
5858
+ "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-24.9.0.tgz",
5859
+ "integrity": "sha512-KksJQyI3/0mhcfspnxxEOBueGrd5E4vV7ADQLT9ESaCzz02WnbdbKWIf5Mkaucoaj7obQckYPVX6JJhgUcoWWg==",
5860
+ "dev": true,
5861
+ "requires": {
5862
+ "@jest/console": "^24.7.1",
5863
+ "@jest/environment": "^24.9.0",
5864
+ "@jest/test-result": "^24.9.0",
5865
+ "@jest/types": "^24.9.0",
5866
+ "chalk": "^2.4.2",
5867
+ "exit": "^0.1.2",
5868
+ "graceful-fs": "^4.1.15",
5869
+ "jest-config": "^24.9.0",
5870
+ "jest-docblock": "^24.3.0",
5871
+ "jest-haste-map": "^24.9.0",
5872
+ "jest-jasmine2": "^24.9.0",
5873
+ "jest-leak-detector": "^24.9.0",
5874
+ "jest-message-util": "^24.9.0",
5875
+ "jest-resolve": "^24.9.0",
5876
+ "jest-runtime": "^24.9.0",
5877
+ "jest-util": "^24.9.0",
5878
+ "jest-worker": "^24.6.0",
5879
+ "source-map-support": "^0.5.6",
5880
+ "throat": "^4.0.0"
5881
+ }
5882
+ },
5883
+ "jest-runtime": {
5884
+ "version": "24.9.0",
5885
+ "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-24.9.0.tgz",
5886
+ "integrity": "sha512-8oNqgnmF3v2J6PVRM2Jfuj8oX3syKmaynlDMMKQ4iyzbQzIG6th5ub/lM2bCMTmoTKM3ykcUYI2Pw9xwNtjMnw==",
5887
+ "dev": true,
5888
+ "requires": {
5889
+ "@jest/console": "^24.7.1",
5890
+ "@jest/environment": "^24.9.0",
5891
+ "@jest/source-map": "^24.3.0",
5892
+ "@jest/transform": "^24.9.0",
5893
+ "@jest/types": "^24.9.0",
5894
+ "@types/yargs": "^13.0.0",
5895
+ "chalk": "^2.0.1",
5896
+ "exit": "^0.1.2",
5897
+ "glob": "^7.1.3",
5898
+ "graceful-fs": "^4.1.15",
5899
+ "jest-config": "^24.9.0",
5900
+ "jest-haste-map": "^24.9.0",
5901
+ "jest-message-util": "^24.9.0",
5902
+ "jest-mock": "^24.9.0",
5903
+ "jest-regex-util": "^24.3.0",
5904
+ "jest-resolve": "^24.9.0",
5905
+ "jest-snapshot": "^24.9.0",
5906
+ "jest-util": "^24.9.0",
5907
+ "jest-validate": "^24.9.0",
5908
+ "realpath-native": "^1.1.0",
5909
+ "slash": "^2.0.0",
5910
+ "strip-bom": "^3.0.0",
5911
+ "yargs": "^13.3.0"
5912
+ }
5913
+ },
5914
+ "jest-serializer": {
5915
+ "version": "24.9.0",
5916
+ "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-24.9.0.tgz",
5917
+ "integrity": "sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ==",
5918
+ "dev": true
5919
+ },
5920
+ "jest-snapshot": {
5921
+ "version": "24.9.0",
5922
+ "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-24.9.0.tgz",
5923
+ "integrity": "sha512-uI/rszGSs73xCM0l+up7O7a40o90cnrk429LOiK3aeTvfC0HHmldbd81/B7Ix81KSFe1lwkbl7GnBGG4UfuDew==",
5924
+ "dev": true,
5925
+ "requires": {
5926
+ "@babel/types": "^7.0.0",
5927
+ "@jest/types": "^24.9.0",
5928
+ "chalk": "^2.0.1",
5929
+ "expect": "^24.9.0",
5930
+ "jest-diff": "^24.9.0",
5931
+ "jest-get-type": "^24.9.0",
5932
+ "jest-matcher-utils": "^24.9.0",
5933
+ "jest-message-util": "^24.9.0",
5934
+ "jest-resolve": "^24.9.0",
5935
+ "mkdirp": "^0.5.1",
5936
+ "natural-compare": "^1.4.0",
5937
+ "pretty-format": "^24.9.0",
5938
+ "semver": "^6.2.0"
5939
+ },
5940
+ "dependencies": {
5941
+ "semver": {
5942
+ "version": "6.3.0",
5943
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
5944
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
5945
+ "dev": true
5946
+ }
5947
+ }
5948
+ },
5949
+ "jest-util": {
5950
+ "version": "24.9.0",
5951
+ "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-24.9.0.tgz",
5952
+ "integrity": "sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg==",
5953
+ "dev": true,
5954
+ "requires": {
5955
+ "@jest/console": "^24.9.0",
5956
+ "@jest/fake-timers": "^24.9.0",
5957
+ "@jest/source-map": "^24.9.0",
5958
+ "@jest/test-result": "^24.9.0",
5959
+ "@jest/types": "^24.9.0",
5960
+ "callsites": "^3.0.0",
5961
+ "chalk": "^2.0.1",
5962
+ "graceful-fs": "^4.1.15",
5963
+ "is-ci": "^2.0.0",
5964
+ "mkdirp": "^0.5.1",
5965
+ "slash": "^2.0.0",
5966
+ "source-map": "^0.6.0"
5967
+ },
5968
+ "dependencies": {
5969
+ "callsites": {
5970
+ "version": "3.1.0",
5971
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
5972
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
5973
+ "dev": true
5974
+ },
5975
+ "source-map": {
5976
+ "version": "0.6.1",
5977
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
5978
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
5979
+ "dev": true
5980
+ }
5981
+ }
5982
+ },
5983
+ "jest-validate": {
5984
+ "version": "24.9.0",
5985
+ "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-24.9.0.tgz",
5986
+ "integrity": "sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ==",
5987
+ "dev": true,
5988
+ "requires": {
5989
+ "@jest/types": "^24.9.0",
5990
+ "camelcase": "^5.3.1",
5991
+ "chalk": "^2.0.1",
5992
+ "jest-get-type": "^24.9.0",
5993
+ "leven": "^3.1.0",
5994
+ "pretty-format": "^24.9.0"
5995
+ }
5996
+ },
5997
+ "jest-watcher": {
5998
+ "version": "24.9.0",
5999
+ "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-24.9.0.tgz",
6000
+ "integrity": "sha512-+/fLOfKPXXYJDYlks62/4R4GoT+GU1tYZed99JSCOsmzkkF7727RqKrjNAxtfO4YpGv11wybgRvCjR73lK2GZw==",
6001
+ "dev": true,
6002
+ "requires": {
6003
+ "@jest/test-result": "^24.9.0",
6004
+ "@jest/types": "^24.9.0",
6005
+ "@types/yargs": "^13.0.0",
6006
+ "ansi-escapes": "^3.0.0",
6007
+ "chalk": "^2.0.1",
6008
+ "jest-util": "^24.9.0",
6009
+ "string-length": "^2.0.0"
6010
+ }
6011
+ },
6012
+ "jest-worker": {
6013
+ "version": "24.9.0",
6014
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz",
6015
+ "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==",
6016
+ "dev": true,
6017
+ "requires": {
6018
+ "merge-stream": "^2.0.0",
6019
+ "supports-color": "^6.1.0"
6020
+ },
6021
+ "dependencies": {
6022
+ "supports-color": {
6023
+ "version": "6.1.0",
6024
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
6025
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
6026
+ "dev": true,
6027
+ "requires": {
6028
+ "has-flag": "^3.0.0"
6029
+ }
6030
+ }
6031
+ }
6032
+ },
6033
+ "jquery": {
6034
+ "version": "3.5.1",
6035
+ "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.5.1.tgz",
6036
+ "integrity": "sha512-XwIBPqcMn57FxfT+Go5pzySnm4KWkT1Tv7gjrpT1srtf8Weynl6R273VJ5GjkRb51IzMp5nbaPjJXMWeju2MKg==",
6037
+ "dev": true
6038
+ },
6039
+ "js-base64": {
6040
+ "version": "2.5.2",
6041
+ "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.2.tgz",
6042
+ "integrity": "sha512-Vg8czh0Q7sFBSUMWWArX/miJeBWYBPpdU/3M/DKSaekLMqrqVPaedp+5mZhie/r0lgrcaYBfwXatEew6gwgiQQ==",
6043
+ "dev": true
6044
+ },
6045
+ "js-cookie": {
6046
+ "version": "2.2.1",
6047
+ "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-2.2.1.tgz",
6048
+ "integrity": "sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ==",
6049
+ "dev": true
6050
+ },
6051
+ "js-tokens": {
6052
+ "version": "4.0.0",
6053
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
6054
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
6055
+ "dev": true
6056
+ },
6057
+ "js-yaml": {
6058
+ "version": "3.13.1",
6059
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
6060
+ "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
6061
+ "dev": true,
6062
+ "requires": {
6063
+ "argparse": "^1.0.7",
6064
+ "esprima": "^4.0.0"
6065
+ }
6066
+ },
6067
+ "jsbn": {
6068
+ "version": "0.1.1",
6069
+ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
6070
+ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
6071
+ "dev": true
6072
+ },
6073
+ "jsdom": {
6074
+ "version": "11.12.0",
6075
+ "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz",
6076
+ "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==",
6077
+ "dev": true,
6078
+ "requires": {
6079
+ "abab": "^2.0.0",
6080
+ "acorn": "^5.5.3",
6081
+ "acorn-globals": "^4.1.0",
6082
+ "array-equal": "^1.0.0",
6083
+ "cssom": ">= 0.3.2 < 0.4.0",
6084
+ "cssstyle": "^1.0.0",
6085
+ "data-urls": "^1.0.0",
6086
+ "domexception": "^1.0.1",
6087
+ "escodegen": "^1.9.1",
6088
+ "html-encoding-sniffer": "^1.0.2",
6089
+ "left-pad": "^1.3.0",
6090
+ "nwsapi": "^2.0.7",
6091
+ "parse5": "4.0.0",
6092
+ "pn": "^1.1.0",
6093
+ "request": "^2.87.0",
6094
+ "request-promise-native": "^1.0.5",
6095
+ "sax": "^1.2.4",
6096
+ "symbol-tree": "^3.2.2",
6097
+ "tough-cookie": "^2.3.4",
6098
+ "w3c-hr-time": "^1.0.1",
6099
+ "webidl-conversions": "^4.0.2",
6100
+ "whatwg-encoding": "^1.0.3",
6101
+ "whatwg-mimetype": "^2.1.0",
6102
+ "whatwg-url": "^6.4.1",
6103
+ "ws": "^5.2.0",
6104
+ "xml-name-validator": "^3.0.0"
6105
+ },
6106
+ "dependencies": {
6107
+ "acorn": {
6108
+ "version": "5.7.4",
6109
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz",
6110
+ "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==",
6111
+ "dev": true
6112
+ }
6113
+ }
6114
+ },
6115
+ "jsesc": {
6116
+ "version": "2.5.2",
6117
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
6118
+ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
6119
+ "dev": true
6120
+ },
6121
+ "json-parse-better-errors": {
6122
+ "version": "1.0.2",
6123
+ "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
6124
+ "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
6125
+ "dev": true
6126
+ },
6127
+ "json-schema": {
6128
+ "version": "0.2.3",
6129
+ "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
6130
+ "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
6131
+ "dev": true
6132
+ },
6133
+ "json-schema-traverse": {
6134
+ "version": "0.4.1",
6135
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
6136
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
6137
+ "dev": true
6138
+ },
6139
+ "json-stable-stringify-without-jsonify": {
6140
+ "version": "1.0.1",
6141
+ "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
6142
+ "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
6143
+ "dev": true
6144
+ },
6145
+ "json-stringify-safe": {
6146
+ "version": "5.0.1",
6147
+ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
6148
+ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
6149
+ "dev": true
6150
+ },
6151
+ "json5": {
6152
+ "version": "2.1.3",
6153
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz",
6154
+ "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==",
6155
+ "dev": true,
6156
+ "requires": {
6157
+ "minimist": "^1.2.5"
6158
+ }
6159
+ },
6160
+ "jsonfile": {
6161
+ "version": "4.0.0",
6162
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
6163
+ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
6164
+ "dev": true,
6165
+ "requires": {
6166
+ "graceful-fs": "^4.1.6"
6167
+ }
6168
+ },
6169
+ "jsprim": {
6170
+ "version": "1.4.1",
6171
+ "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
6172
+ "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
6173
+ "dev": true,
6174
+ "requires": {
6175
+ "assert-plus": "1.0.0",
6176
+ "extsprintf": "1.3.0",
6177
+ "json-schema": "0.2.3",
6178
+ "verror": "1.10.0"
6179
+ }
6180
+ },
6181
+ "kind-of": {
6182
+ "version": "6.0.3",
6183
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
6184
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
6185
+ "dev": true
6186
+ },
6187
+ "kleur": {
6188
+ "version": "3.0.3",
6189
+ "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz",
6190
+ "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==",
6191
+ "dev": true
6192
+ },
6193
+ "known-css-properties": {
6194
+ "version": "0.11.0",
6195
+ "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.11.0.tgz",
6196
+ "integrity": "sha512-bEZlJzXo5V/ApNNa5z375mJC6Nrz4vG43UgcSCrg2OHC+yuB6j0iDSrY7RQ/+PRofFB03wNIIt9iXIVLr4wc7w==",
6197
+ "dev": true
6198
+ },
6199
+ "last-call-webpack-plugin": {
6200
+ "version": "3.0.0",
6201
+ "resolved": "https://registry.npmjs.org/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz",
6202
+ "integrity": "sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w==",
6203
+ "dev": true,
6204
+ "requires": {
6205
+ "lodash": "^4.17.5",
6206
+ "webpack-sources": "^1.1.0"
6207
+ }
6208
+ },
6209
+ "lcid": {
6210
+ "version": "2.0.0",
6211
+ "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz",
6212
+ "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==",
6213
+ "dev": true,
6214
+ "requires": {
6215
+ "invert-kv": "^2.0.0"
6216
+ }
6217
+ },
6218
+ "left-pad": {
6219
+ "version": "1.3.0",
6220
+ "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz",
6221
+ "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==",
6222
+ "dev": true
6223
+ },
6224
+ "leven": {
6225
+ "version": "3.1.0",
6226
+ "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
6227
+ "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
6228
+ "dev": true
6229
+ },
6230
+ "levenary": {
6231
+ "version": "1.1.1",
6232
+ "resolved": "https://registry.npmjs.org/levenary/-/levenary-1.1.1.tgz",
6233
+ "integrity": "sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ==",
6234
+ "dev": true,
6235
+ "requires": {
6236
+ "leven": "^3.1.0"
6237
+ }
6238
+ },
6239
+ "levn": {
6240
+ "version": "0.3.0",
6241
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
6242
+ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
6243
+ "dev": true,
6244
+ "requires": {
6245
+ "prelude-ls": "~1.1.2",
6246
+ "type-check": "~0.3.2"
6247
+ }
6248
+ },
6249
+ "lines-and-columns": {
6250
+ "version": "1.1.6",
6251
+ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz",
6252
+ "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=",
6253
+ "dev": true
6254
+ },
6255
+ "load-json-file": {
6256
+ "version": "4.0.0",
6257
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
6258
+ "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
6259
+ "dev": true,
6260
+ "requires": {
6261
+ "graceful-fs": "^4.1.2",
6262
+ "parse-json": "^4.0.0",
6263
+ "pify": "^3.0.0",
6264
+ "strip-bom": "^3.0.0"
6265
+ },
6266
+ "dependencies": {
6267
+ "pify": {
6268
+ "version": "3.0.0",
6269
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
6270
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
6271
+ "dev": true
6272
+ }
6273
+ }
6274
+ },
6275
+ "loader-fs-cache": {
6276
+ "version": "1.0.3",
6277
+ "resolved": "https://registry.npmjs.org/loader-fs-cache/-/loader-fs-cache-1.0.3.tgz",
6278
+ "integrity": "sha512-ldcgZpjNJj71n+2Mf6yetz+c9bM4xpKtNds4LbqXzU/PTdeAX0g3ytnU1AJMEcTk2Lex4Smpe3Q/eCTsvUBxbA==",
6279
+ "dev": true,
6280
+ "requires": {
6281
+ "find-cache-dir": "^0.1.1",
6282
+ "mkdirp": "^0.5.1"
6283
+ },
6284
+ "dependencies": {
6285
+ "find-cache-dir": {
6286
+ "version": "0.1.1",
6287
+ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz",
6288
+ "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=",
6289
+ "dev": true,
6290
+ "requires": {
6291
+ "commondir": "^1.0.1",
6292
+ "mkdirp": "^0.5.1",
6293
+ "pkg-dir": "^1.0.0"
6294
+ }
6295
+ },
6296
+ "find-up": {
6297
+ "version": "1.1.2",
6298
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
6299
+ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
6300
+ "dev": true,
6301
+ "requires": {
6302
+ "path-exists": "^2.0.0",
6303
+ "pinkie-promise": "^2.0.0"
6304
+ }
6305
+ },
6306
+ "path-exists": {
6307
+ "version": "2.1.0",
6308
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
6309
+ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
6310
+ "dev": true,
6311
+ "requires": {
6312
+ "pinkie-promise": "^2.0.0"
6313
+ }
6314
+ },
6315
+ "pkg-dir": {
6316
+ "version": "1.0.0",
6317
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz",
6318
+ "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=",
6319
+ "dev": true,
6320
+ "requires": {
6321
+ "find-up": "^1.0.0"
6322
+ }
6323
+ }
6324
+ }
6325
+ },
6326
+ "loader-runner": {
6327
+ "version": "2.4.0",
6328
+ "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz",
6329
+ "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==",
6330
+ "dev": true
6331
+ },
6332
+ "loader-utils": {
6333
+ "version": "1.4.0",
6334
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
6335
+ "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
6336
+ "dev": true,
6337
+ "requires": {
6338
+ "big.js": "^5.2.2",
6339
+ "emojis-list": "^3.0.0",
6340
+ "json5": "^1.0.1"
6341
+ },
6342
+ "dependencies": {
6343
+ "json5": {
6344
+ "version": "1.0.1",
6345
+ "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
6346
+ "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
6347
+ "dev": true,
6348
+ "requires": {
6349
+ "minimist": "^1.2.0"
6350
+ }
6351
+ }
6352
+ }
6353
+ },
6354
+ "locate-path": {
6355
+ "version": "2.0.0",
6356
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
6357
+ "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
6358
+ "dev": true,
6359
+ "requires": {
6360
+ "p-locate": "^2.0.0",
6361
+ "path-exists": "^3.0.0"
6362
+ }
6363
+ },
6364
+ "lodash": {
6365
+ "version": "4.17.15",
6366
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
6367
+ "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
6368
+ "dev": true
6369
+ },
6370
+ "lodash.memoize": {
6371
+ "version": "4.1.2",
6372
+ "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
6373
+ "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=",
6374
+ "dev": true
6375
+ },
6376
+ "lodash.sortby": {
6377
+ "version": "4.7.0",
6378
+ "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz",
6379
+ "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=",
6380
+ "dev": true
6381
+ },
6382
+ "lodash.uniq": {
6383
+ "version": "4.5.0",
6384
+ "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
6385
+ "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=",
6386
+ "dev": true
6387
+ },
6388
+ "log-symbols": {
6389
+ "version": "2.2.0",
6390
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz",
6391
+ "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==",
6392
+ "dev": true,
6393
+ "requires": {
6394
+ "chalk": "^2.0.1"
6395
+ }
6396
+ },
6397
+ "longest-streak": {
6398
+ "version": "2.0.4",
6399
+ "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.4.tgz",
6400
+ "integrity": "sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==",
6401
+ "dev": true
6402
+ },
6403
+ "loose-envify": {
6404
+ "version": "1.4.0",
6405
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
6406
+ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
6407
+ "dev": true,
6408
+ "requires": {
6409
+ "js-tokens": "^3.0.0 || ^4.0.0"
6410
+ }
6411
+ },
6412
+ "loud-rejection": {
6413
+ "version": "1.6.0",
6414
+ "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
6415
+ "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
6416
+ "dev": true,
6417
+ "requires": {
6418
+ "currently-unhandled": "^0.4.1",
6419
+ "signal-exit": "^3.0.0"
6420
+ }
6421
+ },
6422
+ "lru-cache": {
6423
+ "version": "4.1.5",
6424
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
6425
+ "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
6426
+ "dev": true,
6427
+ "requires": {
6428
+ "pseudomap": "^1.0.2",
6429
+ "yallist": "^2.1.2"
6430
+ }
6431
+ },
6432
+ "make-dir": {
6433
+ "version": "2.1.0",
6434
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
6435
+ "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
6436
+ "dev": true,
6437
+ "requires": {
6438
+ "pify": "^4.0.1",
6439
+ "semver": "^5.6.0"
6440
+ }
6441
+ },
6442
+ "makeerror": {
6443
+ "version": "1.0.11",
6444
+ "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz",
6445
+ "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=",
6446
+ "dev": true,
6447
+ "requires": {
6448
+ "tmpl": "1.0.x"
6449
+ }
6450
+ },
6451
+ "map-age-cleaner": {
6452
+ "version": "0.1.3",
6453
+ "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz",
6454
+ "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==",
6455
+ "dev": true,
6456
+ "requires": {
6457
+ "p-defer": "^1.0.0"
6458
+ }
6459
+ },
6460
+ "map-cache": {
6461
+ "version": "0.2.2",
6462
+ "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
6463
+ "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
6464
+ "dev": true
6465
+ },
6466
+ "map-obj": {
6467
+ "version": "1.0.1",
6468
+ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
6469
+ "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
6470
+ "dev": true
6471
+ },
6472
+ "map-visit": {
6473
+ "version": "1.0.0",
6474
+ "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
6475
+ "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
6476
+ "dev": true,
6477
+ "requires": {
6478
+ "object-visit": "^1.0.0"
6479
+ }
6480
+ },
6481
+ "markdown-escapes": {
6482
+ "version": "1.0.4",
6483
+ "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz",
6484
+ "integrity": "sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==",
6485
+ "dev": true
6486
+ },
6487
+ "markdown-table": {
6488
+ "version": "1.1.3",
6489
+ "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.3.tgz",
6490
+ "integrity": "sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==",
6491
+ "dev": true
6492
+ },
6493
+ "matched": {
6494
+ "version": "5.0.0",
6495
+ "resolved": "https://registry.npmjs.org/matched/-/matched-5.0.0.tgz",
6496
+ "integrity": "sha512-O0LCuxYYBNBjP2dmAg0i6PME0Mb0dvjulpMC0tTIeMRh6kXYsugOT5GOWpFkSzqjQjgOUs/eiyvpVhXdN2La4g==",
6497
+ "dev": true,
6498
+ "requires": {
6499
+ "glob": "^7.1.6",
6500
+ "picomatch": "^2.2.1"
6501
+ }
6502
+ },
6503
+ "mathml-tag-names": {
6504
+ "version": "2.1.3",
6505
+ "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz",
6506
+ "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==",
6507
+ "dev": true
6508
+ },
6509
+ "md5.js": {
6510
+ "version": "1.3.5",
6511
+ "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
6512
+ "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
6513
+ "dev": true,
6514
+ "requires": {
6515
+ "hash-base": "^3.0.0",
6516
+ "inherits": "^2.0.1",
6517
+ "safe-buffer": "^5.1.2"
6518
+ }
6519
+ },
6520
+ "mdast-util-compact": {
6521
+ "version": "1.0.4",
6522
+ "resolved": "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-1.0.4.tgz",
6523
+ "integrity": "sha512-3YDMQHI5vRiS2uygEFYaqckibpJtKq5Sj2c8JioeOQBU6INpKbdWzfyLqFFnDwEcEnRFIdMsguzs5pC1Jp4Isg==",
6524
+ "dev": true,
6525
+ "requires": {
6526
+ "unist-util-visit": "^1.1.0"
6527
+ }
6528
+ },
6529
+ "mdn-data": {
6530
+ "version": "2.0.4",
6531
+ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz",
6532
+ "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==",
6533
+ "dev": true
6534
+ },
6535
+ "mem": {
6536
+ "version": "4.3.0",
6537
+ "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz",
6538
+ "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==",
6539
+ "dev": true,
6540
+ "requires": {
6541
+ "map-age-cleaner": "^0.1.1",
6542
+ "mimic-fn": "^2.0.0",
6543
+ "p-is-promise": "^2.0.0"
6544
+ },
6545
+ "dependencies": {
6546
+ "mimic-fn": {
6547
+ "version": "2.1.0",
6548
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
6549
+ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
6550
+ "dev": true
6551
+ }
6552
+ }
6553
+ },
6554
+ "memory-fs": {
6555
+ "version": "0.4.1",
6556
+ "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
6557
+ "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
6558
+ "dev": true,
6559
+ "requires": {
6560
+ "errno": "^0.1.3",
6561
+ "readable-stream": "^2.0.1"
6562
+ }
6563
+ },
6564
+ "meow": {
6565
+ "version": "3.7.0",
6566
+ "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
6567
+ "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
6568
+ "dev": true,
6569
+ "requires": {
6570
+ "camelcase-keys": "^2.0.0",
6571
+ "decamelize": "^1.1.2",
6572
+ "loud-rejection": "^1.0.0",
6573
+ "map-obj": "^1.0.1",
6574
+ "minimist": "^1.1.3",
6575
+ "normalize-package-data": "^2.3.4",
6576
+ "object-assign": "^4.0.1",
6577
+ "read-pkg-up": "^1.0.1",
6578
+ "redent": "^1.0.0",
6579
+ "trim-newlines": "^1.0.0"
6580
+ },
6581
+ "dependencies": {
6582
+ "find-up": {
6583
+ "version": "1.1.2",
6584
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
6585
+ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
6586
+ "dev": true,
6587
+ "requires": {
6588
+ "path-exists": "^2.0.0",
6589
+ "pinkie-promise": "^2.0.0"
6590
+ }
6591
+ },
6592
+ "load-json-file": {
6593
+ "version": "1.1.0",
6594
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
6595
+ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
6596
+ "dev": true,
6597
+ "requires": {
6598
+ "graceful-fs": "^4.1.2",
6599
+ "parse-json": "^2.2.0",
6600
+ "pify": "^2.0.0",
6601
+ "pinkie-promise": "^2.0.0",
6602
+ "strip-bom": "^2.0.0"
6603
+ }
6604
+ },
6605
+ "parse-json": {
6606
+ "version": "2.2.0",
6607
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
6608
+ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
6609
+ "dev": true,
6610
+ "requires": {
6611
+ "error-ex": "^1.2.0"
6612
+ }
6613
+ },
6614
+ "path-exists": {
6615
+ "version": "2.1.0",
6616
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
6617
+ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
6618
+ "dev": true,
6619
+ "requires": {
6620
+ "pinkie-promise": "^2.0.0"
6621
+ }
6622
+ },
6623
+ "path-type": {
6624
+ "version": "1.1.0",
6625
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
6626
+ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
6627
+ "dev": true,
6628
+ "requires": {
6629
+ "graceful-fs": "^4.1.2",
6630
+ "pify": "^2.0.0",
6631
+ "pinkie-promise": "^2.0.0"
6632
+ }
6633
+ },
6634
+ "pify": {
6635
+ "version": "2.3.0",
6636
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
6637
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
6638
+ "dev": true
6639
+ },
6640
+ "read-pkg": {
6641
+ "version": "1.1.0",
6642
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
6643
+ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
6644
+ "dev": true,
6645
+ "requires": {
6646
+ "load-json-file": "^1.0.0",
6647
+ "normalize-package-data": "^2.3.2",
6648
+ "path-type": "^1.0.0"
6649
+ }
6650
+ },
6651
+ "read-pkg-up": {
6652
+ "version": "1.0.1",
6653
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
6654
+ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
6655
+ "dev": true,
6656
+ "requires": {
6657
+ "find-up": "^1.0.0",
6658
+ "read-pkg": "^1.0.0"
6659
+ }
6660
+ },
6661
+ "strip-bom": {
6662
+ "version": "2.0.0",
6663
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
6664
+ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
6665
+ "dev": true,
6666
+ "requires": {
6667
+ "is-utf8": "^0.2.0"
6668
+ }
6669
+ }
6670
+ }
6671
+ },
6672
+ "merge-stream": {
6673
+ "version": "2.0.0",
6674
+ "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
6675
+ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
6676
+ "dev": true
6677
+ },
6678
+ "merge2": {
6679
+ "version": "1.3.0",
6680
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.3.0.tgz",
6681
+ "integrity": "sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw==",
6682
+ "dev": true
6683
+ },
6684
+ "micromatch": {
6685
+ "version": "3.1.10",
6686
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
6687
+ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
6688
+ "dev": true,
6689
+ "requires": {
6690
+ "arr-diff": "^4.0.0",
6691
+ "array-unique": "^0.3.2",
6692
+ "braces": "^2.3.1",
6693
+ "define-property": "^2.0.2",
6694
+ "extend-shallow": "^3.0.2",
6695
+ "extglob": "^2.0.4",
6696
+ "fragment-cache": "^0.2.1",
6697
+ "kind-of": "^6.0.2",
6698
+ "nanomatch": "^1.2.9",
6699
+ "object.pick": "^1.3.0",
6700
+ "regex-not": "^1.0.0",
6701
+ "snapdragon": "^0.8.1",
6702
+ "to-regex": "^3.0.2"
6703
+ }
6704
+ },
6705
+ "miller-rabin": {
6706
+ "version": "4.0.1",
6707
+ "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
6708
+ "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
6709
+ "dev": true,
6710
+ "requires": {
6711
+ "bn.js": "^4.0.0",
6712
+ "brorand": "^1.0.1"
6713
+ },
6714
+ "dependencies": {
6715
+ "bn.js": {
6716
+ "version": "4.11.8",
6717
+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
6718
+ "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==",
6719
+ "dev": true
6720
+ }
6721
+ }
6722
+ },
6723
+ "mime-db": {
6724
+ "version": "1.44.0",
6725
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz",
6726
+ "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==",
6727
+ "dev": true
6728
+ },
6729
+ "mime-types": {
6730
+ "version": "2.1.27",
6731
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz",
6732
+ "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==",
6733
+ "dev": true,
6734
+ "requires": {
6735
+ "mime-db": "1.44.0"
6736
+ }
6737
+ },
6738
+ "mimic-fn": {
6739
+ "version": "1.2.0",
6740
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
6741
+ "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
6742
+ "dev": true
6743
+ },
6744
+ "min-indent": {
6745
+ "version": "1.0.0",
6746
+ "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.0.tgz",
6747
+ "integrity": "sha1-z8RcN+nsDY8KDsPdTvf3w6vjklY=",
6748
+ "dev": true
6749
+ },
6750
+ "mini-css-extract-plugin": {
6751
+ "version": "0.4.5",
6752
+ "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.4.5.tgz",
6753
+ "integrity": "sha512-dqBanNfktnp2hwL2YguV9Jh91PFX7gu7nRLs4TGsbAfAG6WOtlynFRYzwDwmmeSb5uIwHo9nx1ta0f7vAZVp2w==",
6754
+ "dev": true,
6755
+ "requires": {
6756
+ "loader-utils": "^1.1.0",
6757
+ "schema-utils": "^1.0.0",
6758
+ "webpack-sources": "^1.1.0"
6759
+ },
6760
+ "dependencies": {
6761
+ "schema-utils": {
6762
+ "version": "1.0.0",
6763
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
6764
+ "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
6765
+ "dev": true,
6766
+ "requires": {
6767
+ "ajv": "^6.1.0",
6768
+ "ajv-errors": "^1.0.0",
6769
+ "ajv-keywords": "^3.1.0"
6770
+ }
6771
+ }
6772
+ }
6773
+ },
6774
+ "minimalistic-assert": {
6775
+ "version": "1.0.1",
6776
+ "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
6777
+ "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
6778
+ "dev": true
6779
+ },
6780
+ "minimalistic-crypto-utils": {
6781
+ "version": "1.0.1",
6782
+ "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
6783
+ "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=",
6784
+ "dev": true
6785
+ },
6786
+ "minimatch": {
6787
+ "version": "3.0.4",
6788
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
6789
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
6790
+ "dev": true,
6791
+ "requires": {
6792
+ "brace-expansion": "^1.1.7"
6793
+ }
6794
+ },
6795
+ "minimist": {
6796
+ "version": "1.2.5",
6797
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
6798
+ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
6799
+ "dev": true
6800
+ },
6801
+ "minimist-options": {
6802
+ "version": "3.0.2",
6803
+ "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz",
6804
+ "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==",
6805
+ "dev": true,
6806
+ "requires": {
6807
+ "arrify": "^1.0.1",
6808
+ "is-plain-obj": "^1.1.0"
6809
+ }
6810
+ },
6811
+ "minipass": {
6812
+ "version": "3.1.3",
6813
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz",
6814
+ "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==",
6815
+ "dev": true,
6816
+ "requires": {
6817
+ "yallist": "^4.0.0"
6818
+ },
6819
+ "dependencies": {
6820
+ "yallist": {
6821
+ "version": "4.0.0",
6822
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
6823
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
6824
+ "dev": true
6825
+ }
6826
+ }
6827
+ },
6828
+ "minipass-collect": {
6829
+ "version": "1.0.2",
6830
+ "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz",
6831
+ "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==",
6832
+ "dev": true,
6833
+ "requires": {
6834
+ "minipass": "^3.0.0"
6835
+ }
6836
+ },
6837
+ "minipass-flush": {
6838
+ "version": "1.0.5",
6839
+ "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz",
6840
+ "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==",
6841
+ "dev": true,
6842
+ "requires": {
6843
+ "minipass": "^3.0.0"
6844
+ }
6845
+ },
6846
+ "minipass-pipeline": {
6847
+ "version": "1.2.3",
6848
+ "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.3.tgz",
6849
+ "integrity": "sha512-cFOknTvng5vqnwOpDsZTWhNll6Jf8o2x+/diplafmxpuIymAjzoOolZG0VvQf3V2HgqzJNhnuKHYp2BqDgz8IQ==",
6850
+ "dev": true,
6851
+ "requires": {
6852
+ "minipass": "^3.0.0"
6853
+ }
6854
+ },
6855
+ "minizlib": {
6856
+ "version": "2.1.0",
6857
+ "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.0.tgz",
6858
+ "integrity": "sha512-EzTZN/fjSvifSX0SlqUERCN39o6T40AMarPbv0MrarSFtIITCBh7bi+dU8nxGFHuqs9jdIAeoYoKuQAAASsPPA==",
6859
+ "dev": true,
6860
+ "requires": {
6861
+ "minipass": "^3.0.0",
6862
+ "yallist": "^4.0.0"
6863
+ },
6864
+ "dependencies": {
6865
+ "yallist": {
6866
+ "version": "4.0.0",
6867
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
6868
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
6869
+ "dev": true
6870
+ }
6871
+ }
6872
+ },
6873
+ "mississippi": {
6874
+ "version": "3.0.0",
6875
+ "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz",
6876
+ "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==",
6877
+ "dev": true,
6878
+ "requires": {
6879
+ "concat-stream": "^1.5.0",
6880
+ "duplexify": "^3.4.2",
6881
+ "end-of-stream": "^1.1.0",
6882
+ "flush-write-stream": "^1.0.0",
6883
+ "from2": "^2.1.0",
6884
+ "parallel-transform": "^1.1.0",
6885
+ "pump": "^3.0.0",
6886
+ "pumpify": "^1.3.3",
6887
+ "stream-each": "^1.1.0",
6888
+ "through2": "^2.0.0"
6889
+ }
6890
+ },
6891
+ "mixin-deep": {
6892
+ "version": "1.3.2",
6893
+ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
6894
+ "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
6895
+ "dev": true,
6896
+ "requires": {
6897
+ "for-in": "^1.0.2",
6898
+ "is-extendable": "^1.0.1"
6899
+ },
6900
+ "dependencies": {
6901
+ "is-extendable": {
6902
+ "version": "1.0.1",
6903
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
6904
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
6905
+ "dev": true,
6906
+ "requires": {
6907
+ "is-plain-object": "^2.0.4"
6908
+ }
6909
+ }
6910
+ }
6911
+ },
6912
+ "mkdirp": {
6913
+ "version": "0.5.5",
6914
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
6915
+ "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
6916
+ "dev": true,
6917
+ "requires": {
6918
+ "minimist": "^1.2.5"
6919
+ }
6920
+ },
6921
+ "move-concurrently": {
6922
+ "version": "1.0.1",
6923
+ "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
6924
+ "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=",
6925
+ "dev": true,
6926
+ "requires": {
6927
+ "aproba": "^1.1.1",
6928
+ "copy-concurrently": "^1.0.0",
6929
+ "fs-write-stream-atomic": "^1.0.8",
6930
+ "mkdirp": "^0.5.1",
6931
+ "rimraf": "^2.5.4",
6932
+ "run-queue": "^1.0.3"
6933
+ }
6934
+ },
6935
+ "move-file": {
6936
+ "version": "2.0.0",
6937
+ "resolved": "https://registry.npmjs.org/move-file/-/move-file-2.0.0.tgz",
6938
+ "integrity": "sha512-cdkdhNCgbP5dvS4tlGxZbD+nloio9GIimP57EjqFhwLcMjnU+XJKAZzlmg/TN/AK1LuNAdTSvm3CPPP4Xkv0iQ==",
6939
+ "dev": true,
6940
+ "requires": {
6941
+ "path-exists": "^4.0.0"
6942
+ },
6943
+ "dependencies": {
6944
+ "path-exists": {
6945
+ "version": "4.0.0",
6946
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
6947
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
6948
+ "dev": true
6949
+ }
6950
+ }
6951
+ },
6952
+ "ms": {
6953
+ "version": "2.1.2",
6954
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
6955
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
6956
+ "dev": true
6957
+ },
6958
+ "mute-stream": {
6959
+ "version": "0.0.7",
6960
+ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
6961
+ "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=",
6962
+ "dev": true
6963
+ },
6964
+ "nan": {
6965
+ "version": "2.14.1",
6966
+ "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz",
6967
+ "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==",
6968
+ "dev": true
6969
+ },
6970
+ "nanomatch": {
6971
+ "version": "1.2.13",
6972
+ "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
6973
+ "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
6974
+ "dev": true,
6975
+ "requires": {
6976
+ "arr-diff": "^4.0.0",
6977
+ "array-unique": "^0.3.2",
6978
+ "define-property": "^2.0.2",
6979
+ "extend-shallow": "^3.0.2",
6980
+ "fragment-cache": "^0.2.1",
6981
+ "is-windows": "^1.0.2",
6982
+ "kind-of": "^6.0.2",
6983
+ "object.pick": "^1.3.0",
6984
+ "regex-not": "^1.0.0",
6985
+ "snapdragon": "^0.8.1",
6986
+ "to-regex": "^3.0.1"
6987
+ }
6988
+ },
6989
+ "natural-compare": {
6990
+ "version": "1.4.0",
6991
+ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
6992
+ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
6993
+ "dev": true
6994
+ },
6995
+ "neo-async": {
6996
+ "version": "2.6.1",
6997
+ "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz",
6998
+ "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==",
6999
+ "dev": true
7000
+ },
7001
+ "nice-try": {
7002
+ "version": "1.0.5",
7003
+ "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
7004
+ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
7005
+ "dev": true
7006
+ },
7007
+ "node-gyp": {
7008
+ "version": "3.8.0",
7009
+ "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz",
7010
+ "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==",
7011
+ "dev": true,
7012
+ "requires": {
7013
+ "fstream": "^1.0.0",
7014
+ "glob": "^7.0.3",
7015
+ "graceful-fs": "^4.1.2",
7016
+ "mkdirp": "^0.5.0",
7017
+ "nopt": "2 || 3",
7018
+ "npmlog": "0 || 1 || 2 || 3 || 4",
7019
+ "osenv": "0",
7020
+ "request": "^2.87.0",
7021
+ "rimraf": "2",
7022
+ "semver": "~5.3.0",
7023
+ "tar": "^2.0.0",
7024
+ "which": "1"
7025
+ },
7026
+ "dependencies": {
7027
+ "semver": {
7028
+ "version": "5.3.0",
7029
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
7030
+ "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
7031
+ "dev": true
7032
+ }
7033
+ }
7034
+ },
7035
+ "node-int64": {
7036
+ "version": "0.4.0",
7037
+ "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
7038
+ "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=",
7039
+ "dev": true
7040
+ },
7041
+ "node-libs-browser": {
7042
+ "version": "2.2.1",
7043
+ "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz",
7044
+ "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==",
7045
+ "dev": true,
7046
+ "requires": {
7047
+ "assert": "^1.1.1",
7048
+ "browserify-zlib": "^0.2.0",
7049
+ "buffer": "^4.3.0",
7050
+ "console-browserify": "^1.1.0",
7051
+ "constants-browserify": "^1.0.0",
7052
+ "crypto-browserify": "^3.11.0",
7053
+ "domain-browser": "^1.1.1",
7054
+ "events": "^3.0.0",
7055
+ "https-browserify": "^1.0.0",
7056
+ "os-browserify": "^0.3.0",
7057
+ "path-browserify": "0.0.1",
7058
+ "process": "^0.11.10",
7059
+ "punycode": "^1.2.4",
7060
+ "querystring-es3": "^0.2.0",
7061
+ "readable-stream": "^2.3.3",
7062
+ "stream-browserify": "^2.0.1",
7063
+ "stream-http": "^2.7.2",
7064
+ "string_decoder": "^1.0.0",
7065
+ "timers-browserify": "^2.0.4",
7066
+ "tty-browserify": "0.0.0",
7067
+ "url": "^0.11.0",
7068
+ "util": "^0.11.0",
7069
+ "vm-browserify": "^1.0.1"
7070
+ },
7071
+ "dependencies": {
7072
+ "punycode": {
7073
+ "version": "1.4.1",
7074
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
7075
+ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
7076
+ "dev": true
7077
+ }
7078
+ }
7079
+ },
7080
+ "node-modules-regexp": {
7081
+ "version": "1.0.0",
7082
+ "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz",
7083
+ "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=",
7084
+ "dev": true
7085
+ },
7086
+ "node-notifier": {
7087
+ "version": "5.4.3",
7088
+ "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.3.tgz",
7089
+ "integrity": "sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q==",
7090
+ "dev": true,
7091
+ "requires": {
7092
+ "growly": "^1.3.0",
7093
+ "is-wsl": "^1.1.0",
7094
+ "semver": "^5.5.0",
7095
+ "shellwords": "^0.1.1",
7096
+ "which": "^1.3.0"
7097
+ }
7098
+ },
7099
+ "node-releases": {
7100
+ "version": "1.1.55",
7101
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.55.tgz",
7102
+ "integrity": "sha512-H3R3YR/8TjT5WPin/wOoHOUPHgvj8leuU/Keta/rwelEQN9pA/S2Dx8/se4pZ2LBxSd0nAGzsNzhqwa77v7F1w==",
7103
+ "dev": true
7104
+ },
7105
+ "node-sass": {
7106
+ "version": "4.14.1",
7107
+ "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.14.1.tgz",
7108
+ "integrity": "sha512-sjCuOlvGyCJS40R8BscF5vhVlQjNN069NtQ1gSxyK1u9iqvn6tf7O1R4GNowVZfiZUCRt5MmMs1xd+4V/7Yr0g==",
7109
+ "dev": true,
7110
+ "requires": {
7111
+ "async-foreach": "^0.1.3",
7112
+ "chalk": "^1.1.1",
7113
+ "cross-spawn": "^3.0.0",
7114
+ "gaze": "^1.0.0",
7115
+ "get-stdin": "^4.0.1",
7116
+ "glob": "^7.0.3",
7117
+ "in-publish": "^2.0.0",
7118
+ "lodash": "^4.17.15",
7119
+ "meow": "^3.7.0",
7120
+ "mkdirp": "^0.5.1",
7121
+ "nan": "^2.13.2",
7122
+ "node-gyp": "^3.8.0",
7123
+ "npmlog": "^4.0.0",
7124
+ "request": "^2.88.0",
7125
+ "sass-graph": "2.2.5",
7126
+ "stdout-stream": "^1.4.0",
7127
+ "true-case-path": "^1.0.2"
7128
+ },
7129
+ "dependencies": {
7130
+ "ansi-styles": {
7131
+ "version": "2.2.1",
7132
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
7133
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
7134
+ "dev": true
7135
+ },
7136
+ "chalk": {
7137
+ "version": "1.1.3",
7138
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
7139
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
7140
+ "dev": true,
7141
+ "requires": {
7142
+ "ansi-styles": "^2.2.1",
7143
+ "escape-string-regexp": "^1.0.2",
7144
+ "has-ansi": "^2.0.0",
7145
+ "strip-ansi": "^3.0.0",
7146
+ "supports-color": "^2.0.0"
7147
+ }
7148
+ },
7149
+ "cross-spawn": {
7150
+ "version": "3.0.1",
7151
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz",
7152
+ "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=",
7153
+ "dev": true,
7154
+ "requires": {
7155
+ "lru-cache": "^4.0.1",
7156
+ "which": "^1.2.9"
7157
+ }
7158
+ },
7159
+ "supports-color": {
7160
+ "version": "2.0.0",
7161
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
7162
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
7163
+ "dev": true
7164
+ }
7165
+ }
7166
+ },
7167
+ "nopt": {
7168
+ "version": "3.0.6",
7169
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
7170
+ "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
7171
+ "dev": true,
7172
+ "requires": {
7173
+ "abbrev": "1"
7174
+ }
7175
+ },
7176
+ "normalize-package-data": {
7177
+ "version": "2.5.0",
7178
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
7179
+ "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
7180
+ "dev": true,
7181
+ "requires": {
7182
+ "hosted-git-info": "^2.1.4",
7183
+ "resolve": "^1.10.0",
7184
+ "semver": "2 || 3 || 4 || 5",
7185
+ "validate-npm-package-license": "^3.0.1"
7186
+ }
7187
+ },
7188
+ "normalize-path": {
7189
+ "version": "2.1.1",
7190
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
7191
+ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
7192
+ "dev": true,
7193
+ "requires": {
7194
+ "remove-trailing-separator": "^1.0.1"
7195
+ }
7196
+ },
7197
+ "normalize-range": {
7198
+ "version": "0.1.2",
7199
+ "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
7200
+ "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=",
7201
+ "dev": true
7202
+ },
7203
+ "normalize-selector": {
7204
+ "version": "0.2.0",
7205
+ "resolved": "https://registry.npmjs.org/normalize-selector/-/normalize-selector-0.2.0.tgz",
7206
+ "integrity": "sha1-0LFF62kRicY6eNIB3E/bEpPvDAM=",
7207
+ "dev": true
7208
+ },
7209
+ "normalize-url": {
7210
+ "version": "3.3.0",
7211
+ "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz",
7212
+ "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==",
7213
+ "dev": true
7214
+ },
7215
+ "npm-run-path": {
7216
+ "version": "2.0.2",
7217
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
7218
+ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
7219
+ "dev": true,
7220
+ "requires": {
7221
+ "path-key": "^2.0.0"
7222
+ }
7223
+ },
7224
+ "npmlog": {
7225
+ "version": "4.1.2",
7226
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
7227
+ "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
7228
+ "dev": true,
7229
+ "requires": {
7230
+ "are-we-there-yet": "~1.1.2",
7231
+ "console-control-strings": "~1.1.0",
7232
+ "gauge": "~2.7.3",
7233
+ "set-blocking": "~2.0.0"
7234
+ }
7235
+ },
7236
+ "nth-check": {
7237
+ "version": "1.0.2",
7238
+ "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz",
7239
+ "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==",
7240
+ "dev": true,
7241
+ "requires": {
7242
+ "boolbase": "~1.0.0"
7243
+ }
7244
+ },
7245
+ "num2fraction": {
7246
+ "version": "1.2.2",
7247
+ "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz",
7248
+ "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=",
7249
+ "dev": true
7250
+ },
7251
+ "number-is-nan": {
7252
+ "version": "1.0.1",
7253
+ "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
7254
+ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
7255
+ "dev": true
7256
+ },
7257
+ "nwsapi": {
7258
+ "version": "2.2.0",
7259
+ "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz",
7260
+ "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==",
7261
+ "dev": true
7262
+ },
7263
+ "oauth-sign": {
7264
+ "version": "0.9.0",
7265
+ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
7266
+ "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
7267
+ "dev": true
7268
+ },
7269
+ "object-assign": {
7270
+ "version": "4.1.1",
7271
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
7272
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
7273
+ "dev": true
7274
+ },
7275
+ "object-copy": {
7276
+ "version": "0.1.0",
7277
+ "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
7278
+ "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
7279
+ "dev": true,
7280
+ "requires": {
7281
+ "copy-descriptor": "^0.1.0",
7282
+ "define-property": "^0.2.5",
7283
+ "kind-of": "^3.0.3"
7284
+ },
7285
+ "dependencies": {
7286
+ "define-property": {
7287
+ "version": "0.2.5",
7288
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
7289
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
7290
+ "dev": true,
7291
+ "requires": {
7292
+ "is-descriptor": "^0.1.0"
7293
+ }
7294
+ },
7295
+ "kind-of": {
7296
+ "version": "3.2.2",
7297
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
7298
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
7299
+ "dev": true,
7300
+ "requires": {
7301
+ "is-buffer": "^1.1.5"
7302
+ }
7303
+ }
7304
+ }
7305
+ },
7306
+ "object-hash": {
7307
+ "version": "1.3.1",
7308
+ "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-1.3.1.tgz",
7309
+ "integrity": "sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==",
7310
+ "dev": true
7311
+ },
7312
+ "object-inspect": {
7313
+ "version": "1.7.0",
7314
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz",
7315
+ "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==",
7316
+ "dev": true
7317
+ },
7318
+ "object-keys": {
7319
+ "version": "1.1.1",
7320
+ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
7321
+ "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
7322
+ "dev": true
7323
+ },
7324
+ "object-visit": {
7325
+ "version": "1.0.1",
7326
+ "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
7327
+ "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
7328
+ "dev": true,
7329
+ "requires": {
7330
+ "isobject": "^3.0.0"
7331
+ }
7332
+ },
7333
+ "object.assign": {
7334
+ "version": "4.1.0",
7335
+ "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz",
7336
+ "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==",
7337
+ "dev": true,
7338
+ "requires": {
7339
+ "define-properties": "^1.1.2",
7340
+ "function-bind": "^1.1.1",
7341
+ "has-symbols": "^1.0.0",
7342
+ "object-keys": "^1.0.11"
7343
+ }
7344
+ },
7345
+ "object.getownpropertydescriptors": {
7346
+ "version": "2.1.0",
7347
+ "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz",
7348
+ "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==",
7349
+ "dev": true,
7350
+ "requires": {
7351
+ "define-properties": "^1.1.3",
7352
+ "es-abstract": "^1.17.0-next.1"
7353
+ }
7354
+ },
7355
+ "object.pick": {
7356
+ "version": "1.3.0",
7357
+ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
7358
+ "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
7359
+ "dev": true,
7360
+ "requires": {
7361
+ "isobject": "^3.0.1"
7362
+ }
7363
+ },
7364
+ "object.values": {
7365
+ "version": "1.1.1",
7366
+ "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz",
7367
+ "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==",
7368
+ "dev": true,
7369
+ "requires": {
7370
+ "define-properties": "^1.1.3",
7371
+ "es-abstract": "^1.17.0-next.1",
7372
+ "function-bind": "^1.1.1",
7373
+ "has": "^1.0.3"
7374
+ }
7375
+ },
7376
+ "once": {
7377
+ "version": "1.4.0",
7378
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
7379
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
7380
+ "dev": true,
7381
+ "requires": {
7382
+ "wrappy": "1"
7383
+ }
7384
+ },
7385
+ "onetime": {
7386
+ "version": "2.0.1",
7387
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
7388
+ "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
7389
+ "dev": true,
7390
+ "requires": {
7391
+ "mimic-fn": "^1.0.0"
7392
+ }
7393
+ },
7394
+ "optimize-css-assets-webpack-plugin": {
7395
+ "version": "5.0.3",
7396
+ "resolved": "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.3.tgz",
7397
+ "integrity": "sha512-q9fbvCRS6EYtUKKSwI87qm2IxlyJK5b4dygW1rKUBT6mMDhdG5e5bZT63v6tnJR9F9FB/H5a0HTmtw+laUBxKA==",
7398
+ "dev": true,
7399
+ "requires": {
7400
+ "cssnano": "^4.1.10",
7401
+ "last-call-webpack-plugin": "^3.0.0"
7402
+ }
7403
+ },
7404
+ "optionator": {
7405
+ "version": "0.8.3",
7406
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
7407
+ "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
7408
+ "dev": true,
7409
+ "requires": {
7410
+ "deep-is": "~0.1.3",
7411
+ "fast-levenshtein": "~2.0.6",
7412
+ "levn": "~0.3.0",
7413
+ "prelude-ls": "~1.1.2",
7414
+ "type-check": "~0.3.2",
7415
+ "word-wrap": "~1.2.3"
7416
+ }
7417
+ },
7418
+ "os-browserify": {
7419
+ "version": "0.3.0",
7420
+ "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
7421
+ "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=",
7422
+ "dev": true
7423
+ },
7424
+ "os-homedir": {
7425
+ "version": "1.0.2",
7426
+ "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
7427
+ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
7428
+ "dev": true
7429
+ },
7430
+ "os-locale": {
7431
+ "version": "3.1.0",
7432
+ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz",
7433
+ "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==",
7434
+ "dev": true,
7435
+ "requires": {
7436
+ "execa": "^1.0.0",
7437
+ "lcid": "^2.0.0",
7438
+ "mem": "^4.0.0"
7439
+ }
7440
+ },
7441
+ "os-tmpdir": {
7442
+ "version": "1.0.2",
7443
+ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
7444
+ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
7445
+ "dev": true
7446
+ },
7447
+ "osenv": {
7448
+ "version": "0.1.5",
7449
+ "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
7450
+ "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
7451
+ "dev": true,
7452
+ "requires": {
7453
+ "os-homedir": "^1.0.0",
7454
+ "os-tmpdir": "^1.0.0"
7455
+ }
7456
+ },
7457
+ "p-defer": {
7458
+ "version": "1.0.0",
7459
+ "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz",
7460
+ "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=",
7461
+ "dev": true
7462
+ },
7463
+ "p-each-series": {
7464
+ "version": "1.0.0",
7465
+ "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-1.0.0.tgz",
7466
+ "integrity": "sha1-kw89Et0fUOdDRFeiLNbwSsatf3E=",
7467
+ "dev": true,
7468
+ "requires": {
7469
+ "p-reduce": "^1.0.0"
7470
+ }
7471
+ },
7472
+ "p-finally": {
7473
+ "version": "1.0.0",
7474
+ "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
7475
+ "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
7476
+ "dev": true
7477
+ },
7478
+ "p-is-promise": {
7479
+ "version": "2.1.0",
7480
+ "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz",
7481
+ "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==",
7482
+ "dev": true
7483
+ },
7484
+ "p-limit": {
7485
+ "version": "1.3.0",
7486
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
7487
+ "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
7488
+ "dev": true,
7489
+ "requires": {
7490
+ "p-try": "^1.0.0"
7491
+ }
7492
+ },
7493
+ "p-locate": {
7494
+ "version": "2.0.0",
7495
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
7496
+ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
7497
+ "dev": true,
7498
+ "requires": {
7499
+ "p-limit": "^1.1.0"
7500
+ }
7501
+ },
7502
+ "p-map": {
7503
+ "version": "4.0.0",
7504
+ "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
7505
+ "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
7506
+ "dev": true,
7507
+ "requires": {
7508
+ "aggregate-error": "^3.0.0"
7509
+ }
7510
+ },
7511
+ "p-reduce": {
7512
+ "version": "1.0.0",
7513
+ "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz",
7514
+ "integrity": "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=",
7515
+ "dev": true
7516
+ },
7517
+ "p-try": {
7518
+ "version": "1.0.0",
7519
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
7520
+ "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
7521
+ "dev": true
7522
+ },
7523
+ "pako": {
7524
+ "version": "1.0.11",
7525
+ "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
7526
+ "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==",
7527
+ "dev": true
7528
+ },
7529
+ "parallel-transform": {
7530
+ "version": "1.2.0",
7531
+ "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz",
7532
+ "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==",
7533
+ "dev": true,
7534
+ "requires": {
7535
+ "cyclist": "^1.0.1",
7536
+ "inherits": "^2.0.3",
7537
+ "readable-stream": "^2.1.5"
7538
+ }
7539
+ },
7540
+ "parent-module": {
7541
+ "version": "1.0.1",
7542
+ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
7543
+ "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
7544
+ "dev": true,
7545
+ "requires": {
7546
+ "callsites": "^3.0.0"
7547
+ },
7548
+ "dependencies": {
7549
+ "callsites": {
7550
+ "version": "3.1.0",
7551
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
7552
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
7553
+ "dev": true
7554
+ }
7555
+ }
7556
+ },
7557
+ "parse-asn1": {
7558
+ "version": "5.1.5",
7559
+ "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz",
7560
+ "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==",
7561
+ "dev": true,
7562
+ "requires": {
7563
+ "asn1.js": "^4.0.0",
7564
+ "browserify-aes": "^1.0.0",
7565
+ "create-hash": "^1.1.0",
7566
+ "evp_bytestokey": "^1.0.0",
7567
+ "pbkdf2": "^3.0.3",
7568
+ "safe-buffer": "^5.1.1"
7569
+ }
7570
+ },
7571
+ "parse-entities": {
7572
+ "version": "1.2.2",
7573
+ "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.2.2.tgz",
7574
+ "integrity": "sha512-NzfpbxW/NPrzZ/yYSoQxyqUZMZXIdCfE0OIN4ESsnptHJECoUk3FZktxNuzQf4tjt5UEopnxpYJbvYuxIFDdsg==",
7575
+ "dev": true,
7576
+ "requires": {
7577
+ "character-entities": "^1.0.0",
7578
+ "character-entities-legacy": "^1.0.0",
7579
+ "character-reference-invalid": "^1.0.0",
7580
+ "is-alphanumerical": "^1.0.0",
7581
+ "is-decimal": "^1.0.0",
7582
+ "is-hexadecimal": "^1.0.0"
7583
+ }
7584
+ },
7585
+ "parse-json": {
7586
+ "version": "4.0.0",
7587
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
7588
+ "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
7589
+ "dev": true,
7590
+ "requires": {
7591
+ "error-ex": "^1.3.1",
7592
+ "json-parse-better-errors": "^1.0.1"
7593
+ }
7594
+ },
7595
+ "parse-passwd": {
7596
+ "version": "1.0.0",
7597
+ "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
7598
+ "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=",
7599
+ "dev": true
7600
+ },
7601
+ "parse5": {
7602
+ "version": "4.0.0",
7603
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz",
7604
+ "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==",
7605
+ "dev": true
7606
+ },
7607
+ "pascalcase": {
7608
+ "version": "0.1.1",
7609
+ "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
7610
+ "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
7611
+ "dev": true
7612
+ },
7613
+ "path-browserify": {
7614
+ "version": "0.0.1",
7615
+ "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz",
7616
+ "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==",
7617
+ "dev": true
7618
+ },
7619
+ "path-dirname": {
7620
+ "version": "1.0.2",
7621
+ "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
7622
+ "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
7623
+ "dev": true
7624
+ },
7625
+ "path-exists": {
7626
+ "version": "3.0.0",
7627
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
7628
+ "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
7629
+ "dev": true
7630
+ },
7631
+ "path-is-absolute": {
7632
+ "version": "1.0.1",
7633
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
7634
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
7635
+ "dev": true
7636
+ },
7637
+ "path-is-inside": {
7638
+ "version": "1.0.2",
7639
+ "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
7640
+ "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
7641
+ "dev": true
7642
+ },
7643
+ "path-key": {
7644
+ "version": "2.0.1",
7645
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
7646
+ "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
7647
+ "dev": true
7648
+ },
7649
+ "path-parse": {
7650
+ "version": "1.0.6",
7651
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
7652
+ "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
7653
+ "dev": true
7654
+ },
7655
+ "path-sort": {
7656
+ "version": "0.1.0",
7657
+ "resolved": "https://registry.npmjs.org/path-sort/-/path-sort-0.1.0.tgz",
7658
+ "integrity": "sha1-ywF11Oy/paGP5nTMbXIL/hXguAU=",
7659
+ "dev": true
7660
+ },
7661
+ "path-type": {
7662
+ "version": "3.0.0",
7663
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
7664
+ "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
7665
+ "dev": true,
7666
+ "requires": {
7667
+ "pify": "^3.0.0"
7668
+ },
7669
+ "dependencies": {
7670
+ "pify": {
7671
+ "version": "3.0.0",
7672
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
7673
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
7674
+ "dev": true
7675
+ }
7676
+ }
7677
+ },
7678
+ "pbkdf2": {
7679
+ "version": "3.0.17",
7680
+ "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz",
7681
+ "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==",
7682
+ "dev": true,
7683
+ "requires": {
7684
+ "create-hash": "^1.1.2",
7685
+ "create-hmac": "^1.1.4",
7686
+ "ripemd160": "^2.0.1",
7687
+ "safe-buffer": "^5.0.1",
7688
+ "sha.js": "^2.4.8"
7689
+ }
7690
+ },
7691
+ "performance-now": {
7692
+ "version": "2.1.0",
7693
+ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
7694
+ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
7695
+ "dev": true
7696
+ },
7697
+ "php-parser": {
7698
+ "version": "3.0.1",
7699
+ "resolved": "https://registry.npmjs.org/php-parser/-/php-parser-3.0.1.tgz",
7700
+ "integrity": "sha512-m6CBPHOoMkzEHoXG0rhEg/VegSNemUNQepHnYtrRgTAh8rsqoO65KqQ32KJ5xe2iplhO0jdwd1UJ9Ea0yHsgYQ==",
7701
+ "dev": true
7702
+ },
7703
+ "picomatch": {
7704
+ "version": "2.2.2",
7705
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
7706
+ "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
7707
+ "dev": true
7708
+ },
7709
+ "pify": {
7710
+ "version": "4.0.1",
7711
+ "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
7712
+ "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
7713
+ "dev": true
7714
+ },
7715
+ "pinkie": {
7716
+ "version": "2.0.4",
7717
+ "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
7718
+ "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
7719
+ "dev": true
7720
+ },
7721
+ "pinkie-promise": {
7722
+ "version": "2.0.1",
7723
+ "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
7724
+ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
7725
+ "dev": true,
7726
+ "requires": {
7727
+ "pinkie": "^2.0.0"
7728
+ }
7729
+ },
7730
+ "pirates": {
7731
+ "version": "4.0.1",
7732
+ "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz",
7733
+ "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==",
7734
+ "dev": true,
7735
+ "requires": {
7736
+ "node-modules-regexp": "^1.0.0"
7737
+ }
7738
+ },
7739
+ "pkg-dir": {
7740
+ "version": "3.0.0",
7741
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
7742
+ "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
7743
+ "dev": true,
7744
+ "requires": {
7745
+ "find-up": "^3.0.0"
7746
+ },
7747
+ "dependencies": {
7748
+ "find-up": {
7749
+ "version": "3.0.0",
7750
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
7751
+ "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
7752
+ "dev": true,
7753
+ "requires": {
7754
+ "locate-path": "^3.0.0"
7755
+ }
7756
+ },
7757
+ "locate-path": {
7758
+ "version": "3.0.0",
7759
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
7760
+ "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
7761
+ "dev": true,
7762
+ "requires": {
7763
+ "p-locate": "^3.0.0",
7764
+ "path-exists": "^3.0.0"
7765
+ }
7766
+ },
7767
+ "p-limit": {
7768
+ "version": "2.3.0",
7769
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
7770
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
7771
+ "dev": true,
7772
+ "requires": {
7773
+ "p-try": "^2.0.0"
7774
+ }
7775
+ },
7776
+ "p-locate": {
7777
+ "version": "3.0.0",
7778
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
7779
+ "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
7780
+ "dev": true,
7781
+ "requires": {
7782
+ "p-limit": "^2.0.0"
7783
+ }
7784
+ },
7785
+ "p-try": {
7786
+ "version": "2.2.0",
7787
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
7788
+ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
7789
+ "dev": true
7790
+ }
7791
+ }
7792
+ },
7793
+ "pkg-up": {
7794
+ "version": "2.0.0",
7795
+ "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz",
7796
+ "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=",
7797
+ "dev": true,
7798
+ "requires": {
7799
+ "find-up": "^2.1.0"
7800
+ }
7801
+ },
7802
+ "pn": {
7803
+ "version": "1.1.0",
7804
+ "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz",
7805
+ "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==",
7806
+ "dev": true
7807
+ },
7808
+ "posix-character-classes": {
7809
+ "version": "0.1.1",
7810
+ "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
7811
+ "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
7812
+ "dev": true
7813
+ },
7814
+ "postcss": {
7815
+ "version": "7.0.30",
7816
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.30.tgz",
7817
+ "integrity": "sha512-nu/0m+NtIzoubO+xdAlwZl/u5S5vi/y6BCsoL8D+8IxsD3XvBS8X4YEADNIVXKVuQvduiucnRv+vPIqj56EGMQ==",
7818
+ "dev": true,
7819
+ "requires": {
7820
+ "chalk": "^2.4.2",
7821
+ "source-map": "^0.6.1",
7822
+ "supports-color": "^6.1.0"
7823
+ },
7824
+ "dependencies": {
7825
+ "source-map": {
7826
+ "version": "0.6.1",
7827
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
7828
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
7829
+ "dev": true
7830
+ },
7831
+ "supports-color": {
7832
+ "version": "6.1.0",
7833
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
7834
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
7835
+ "dev": true,
7836
+ "requires": {
7837
+ "has-flag": "^3.0.0"
7838
+ }
7839
+ }
7840
+ }
7841
+ },
7842
+ "postcss-calc": {
7843
+ "version": "7.0.2",
7844
+ "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.2.tgz",
7845
+ "integrity": "sha512-rofZFHUg6ZIrvRwPeFktv06GdbDYLcGqh9EwiMutZg+a0oePCCw1zHOEiji6LCpyRcjTREtPASuUqeAvYlEVvQ==",
7846
+ "dev": true,
7847
+ "requires": {
7848
+ "postcss": "^7.0.27",
7849
+ "postcss-selector-parser": "^6.0.2",
7850
+ "postcss-value-parser": "^4.0.2"
7851
+ }
7852
+ },
7853
+ "postcss-colormin": {
7854
+ "version": "4.0.3",
7855
+ "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz",
7856
+ "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==",
7857
+ "dev": true,
7858
+ "requires": {
7859
+ "browserslist": "^4.0.0",
7860
+ "color": "^3.0.0",
7861
+ "has": "^1.0.0",
7862
+ "postcss": "^7.0.0",
7863
+ "postcss-value-parser": "^3.0.0"
7864
+ },
7865
+ "dependencies": {
7866
+ "postcss-value-parser": {
7867
+ "version": "3.3.1",
7868
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
7869
+ "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
7870
+ "dev": true
7871
+ }
7872
+ }
7873
+ },
7874
+ "postcss-convert-values": {
7875
+ "version": "4.0.1",
7876
+ "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz",
7877
+ "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==",
7878
+ "dev": true,
7879
+ "requires": {
7880
+ "postcss": "^7.0.0",
7881
+ "postcss-value-parser": "^3.0.0"
7882
+ },
7883
+ "dependencies": {
7884
+ "postcss-value-parser": {
7885
+ "version": "3.3.1",
7886
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
7887
+ "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
7888
+ "dev": true
7889
+ }
7890
+ }
7891
+ },
7892
+ "postcss-discard-comments": {
7893
+ "version": "4.0.2",
7894
+ "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz",
7895
+ "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==",
7896
+ "dev": true,
7897
+ "requires": {
7898
+ "postcss": "^7.0.0"
7899
+ }
7900
+ },
7901
+ "postcss-discard-duplicates": {
7902
+ "version": "4.0.2",
7903
+ "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz",
7904
+ "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==",
7905
+ "dev": true,
7906
+ "requires": {
7907
+ "postcss": "^7.0.0"
7908
+ }
7909
+ },
7910
+ "postcss-discard-empty": {
7911
+ "version": "4.0.1",
7912
+ "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz",
7913
+ "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==",
7914
+ "dev": true,
7915
+ "requires": {
7916
+ "postcss": "^7.0.0"
7917
+ }
7918
+ },
7919
+ "postcss-discard-overridden": {
7920
+ "version": "4.0.1",
7921
+ "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz",
7922
+ "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==",
7923
+ "dev": true,
7924
+ "requires": {
7925
+ "postcss": "^7.0.0"
7926
+ }
7927
+ },
7928
+ "postcss-html": {
7929
+ "version": "0.36.0",
7930
+ "resolved": "https://registry.npmjs.org/postcss-html/-/postcss-html-0.36.0.tgz",
7931
+ "integrity": "sha512-HeiOxGcuwID0AFsNAL0ox3mW6MHH5cstWN1Z3Y+n6H+g12ih7LHdYxWwEA/QmrebctLjo79xz9ouK3MroHwOJw==",
7932
+ "dev": true,
7933
+ "requires": {
7934
+ "htmlparser2": "^3.10.0"
7935
+ }
7936
+ },
7937
+ "postcss-jsx": {
7938
+ "version": "0.36.4",
7939
+ "resolved": "https://registry.npmjs.org/postcss-jsx/-/postcss-jsx-0.36.4.tgz",
7940
+ "integrity": "sha512-jwO/7qWUvYuWYnpOb0+4bIIgJt7003pgU3P6nETBLaOyBXuTD55ho21xnals5nBrlpTIFodyd3/jBi6UO3dHvA==",
7941
+ "dev": true,
7942
+ "requires": {
7943
+ "@babel/core": ">=7.2.2"
7944
+ }
7945
+ },
7946
+ "postcss-less": {
7947
+ "version": "3.1.4",
7948
+ "resolved": "https://registry.npmjs.org/postcss-less/-/postcss-less-3.1.4.tgz",
7949
+ "integrity": "sha512-7TvleQWNM2QLcHqvudt3VYjULVB49uiW6XzEUFmvwHzvsOEF5MwBrIXZDJQvJNFGjJQTzSzZnDoCJ8h/ljyGXA==",
7950
+ "dev": true,
7951
+ "requires": {
7952
+ "postcss": "^7.0.14"
7953
+ }
7954
+ },
7955
+ "postcss-markdown": {
7956
+ "version": "0.36.0",
7957
+ "resolved": "https://registry.npmjs.org/postcss-markdown/-/postcss-markdown-0.36.0.tgz",
7958
+ "integrity": "sha512-rl7fs1r/LNSB2bWRhyZ+lM/0bwKv9fhl38/06gF6mKMo/NPnp55+K1dSTosSVjFZc0e1ppBlu+WT91ba0PMBfQ==",
7959
+ "dev": true,
7960
+ "requires": {
7961
+ "remark": "^10.0.1",
7962
+ "unist-util-find-all-after": "^1.0.2"
7963
+ }
7964
+ },
7965
+ "postcss-media-query-parser": {
7966
+ "version": "0.2.3",
7967
+ "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz",
7968
+ "integrity": "sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ=",
7969
+ "dev": true
7970
+ },
7971
+ "postcss-merge-longhand": {
7972
+ "version": "4.0.11",
7973
+ "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz",
7974
+ "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==",
7975
+ "dev": true,
7976
+ "requires": {
7977
+ "css-color-names": "0.0.4",
7978
+ "postcss": "^7.0.0",
7979
+ "postcss-value-parser": "^3.0.0",
7980
+ "stylehacks": "^4.0.0"
7981
+ },
7982
+ "dependencies": {
7983
+ "postcss-value-parser": {
7984
+ "version": "3.3.1",
7985
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
7986
+ "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
7987
+ "dev": true
7988
+ }
7989
+ }
7990
+ },
7991
+ "postcss-merge-rules": {
7992
+ "version": "4.0.3",
7993
+ "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz",
7994
+ "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==",
7995
+ "dev": true,
7996
+ "requires": {
7997
+ "browserslist": "^4.0.0",
7998
+ "caniuse-api": "^3.0.0",
7999
+ "cssnano-util-same-parent": "^4.0.0",
8000
+ "postcss": "^7.0.0",
8001
+ "postcss-selector-parser": "^3.0.0",
8002
+ "vendors": "^1.0.0"
8003
+ },
8004
+ "dependencies": {
8005
+ "postcss-selector-parser": {
8006
+ "version": "3.1.2",
8007
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz",
8008
+ "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==",
8009
+ "dev": true,
8010
+ "requires": {
8011
+ "dot-prop": "^5.2.0",
8012
+ "indexes-of": "^1.0.1",
8013
+ "uniq": "^1.0.1"
8014
+ }
8015
+ }
8016
+ }
8017
+ },
8018
+ "postcss-minify-font-values": {
8019
+ "version": "4.0.2",
8020
+ "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz",
8021
+ "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==",
8022
+ "dev": true,
8023
+ "requires": {
8024
+ "postcss": "^7.0.0",
8025
+ "postcss-value-parser": "^3.0.0"
8026
+ },
8027
+ "dependencies": {
8028
+ "postcss-value-parser": {
8029
+ "version": "3.3.1",
8030
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
8031
+ "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
8032
+ "dev": true
8033
+ }
8034
+ }
8035
+ },
8036
+ "postcss-minify-gradients": {
8037
+ "version": "4.0.2",
8038
+ "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz",
8039
+ "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==",
8040
+ "dev": true,
8041
+ "requires": {
8042
+ "cssnano-util-get-arguments": "^4.0.0",
8043
+ "is-color-stop": "^1.0.0",
8044
+ "postcss": "^7.0.0",
8045
+ "postcss-value-parser": "^3.0.0"
8046
+ },
8047
+ "dependencies": {
8048
+ "postcss-value-parser": {
8049
+ "version": "3.3.1",
8050
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
8051
+ "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
8052
+ "dev": true
8053
+ }
8054
+ }
8055
+ },
8056
+ "postcss-minify-params": {
8057
+ "version": "4.0.2",
8058
+ "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz",
8059
+ "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==",
8060
+ "dev": true,
8061
+ "requires": {
8062
+ "alphanum-sort": "^1.0.0",
8063
+ "browserslist": "^4.0.0",
8064
+ "cssnano-util-get-arguments": "^4.0.0",
8065
+ "postcss": "^7.0.0",
8066
+ "postcss-value-parser": "^3.0.0",
8067
+ "uniqs": "^2.0.0"
8068
+ },
8069
+ "dependencies": {
8070
+ "postcss-value-parser": {
8071
+ "version": "3.3.1",
8072
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
8073
+ "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
8074
+ "dev": true
8075
+ }
8076
+ }
8077
+ },
8078
+ "postcss-minify-selectors": {
8079
+ "version": "4.0.2",
8080
+ "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz",
8081
+ "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==",
8082
+ "dev": true,
8083
+ "requires": {
8084
+ "alphanum-sort": "^1.0.0",
8085
+ "has": "^1.0.0",
8086
+ "postcss": "^7.0.0",
8087
+ "postcss-selector-parser": "^3.0.0"
8088
+ },
8089
+ "dependencies": {
8090
+ "postcss-selector-parser": {
8091
+ "version": "3.1.2",
8092
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz",
8093
+ "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==",
8094
+ "dev": true,
8095
+ "requires": {
8096
+ "dot-prop": "^5.2.0",
8097
+ "indexes-of": "^1.0.1",
8098
+ "uniq": "^1.0.1"
8099
+ }
8100
+ }
8101
+ }
8102
+ },
8103
+ "postcss-modules-extract-imports": {
8104
+ "version": "1.2.1",
8105
+ "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.1.tgz",
8106
+ "integrity": "sha512-6jt9XZwUhwmRUhb/CkyJY020PYaPJsCyt3UjbaWo6XEbH/94Hmv6MP7fG2C5NDU/BcHzyGYxNtHvM+LTf9HrYw==",
8107
+ "dev": true,
8108
+ "requires": {
8109
+ "postcss": "^6.0.1"
8110
+ },
8111
+ "dependencies": {
8112
+ "postcss": {
8113
+ "version": "6.0.23",
8114
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
8115
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
8116
+ "dev": true,
8117
+ "requires": {
8118
+ "chalk": "^2.4.1",
8119
+ "source-map": "^0.6.1",
8120
+ "supports-color": "^5.4.0"
8121
+ }
8122
+ },
8123
+ "source-map": {
8124
+ "version": "0.6.1",
8125
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
8126
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
8127
+ "dev": true
8128
+ }
8129
+ }
8130
+ },
8131
+ "postcss-modules-local-by-default": {
8132
+ "version": "1.2.0",
8133
+ "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz",
8134
+ "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=",
8135
+ "dev": true,
8136
+ "requires": {
8137
+ "css-selector-tokenizer": "^0.7.0",
8138
+ "postcss": "^6.0.1"
8139
+ },
8140
+ "dependencies": {
8141
+ "postcss": {
8142
+ "version": "6.0.23",
8143
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
8144
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
8145
+ "dev": true,
8146
+ "requires": {
8147
+ "chalk": "^2.4.1",
8148
+ "source-map": "^0.6.1",
8149
+ "supports-color": "^5.4.0"
8150
+ }
8151
+ },
8152
+ "source-map": {
8153
+ "version": "0.6.1",
8154
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
8155
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
8156
+ "dev": true
8157
+ }
8158
+ }
8159
+ },
8160
+ "postcss-modules-scope": {
8161
+ "version": "1.1.0",
8162
+ "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz",
8163
+ "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=",
8164
+ "dev": true,
8165
+ "requires": {
8166
+ "css-selector-tokenizer": "^0.7.0",
8167
+ "postcss": "^6.0.1"
8168
+ },
8169
+ "dependencies": {
8170
+ "postcss": {
8171
+ "version": "6.0.23",
8172
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
8173
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
8174
+ "dev": true,
8175
+ "requires": {
8176
+ "chalk": "^2.4.1",
8177
+ "source-map": "^0.6.1",
8178
+ "supports-color": "^5.4.0"
8179
+ }
8180
+ },
8181
+ "source-map": {
8182
+ "version": "0.6.1",
8183
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
8184
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
8185
+ "dev": true
8186
+ }
8187
+ }
8188
+ },
8189
+ "postcss-modules-values": {
8190
+ "version": "1.3.0",
8191
+ "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz",
8192
+ "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=",
8193
+ "dev": true,
8194
+ "requires": {
8195
+ "icss-replace-symbols": "^1.1.0",
8196
+ "postcss": "^6.0.1"
8197
+ },
8198
+ "dependencies": {
8199
+ "postcss": {
8200
+ "version": "6.0.23",
8201
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
8202
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
8203
+ "dev": true,
8204
+ "requires": {
8205
+ "chalk": "^2.4.1",
8206
+ "source-map": "^0.6.1",
8207
+ "supports-color": "^5.4.0"
8208
+ }
8209
+ },
8210
+ "source-map": {
8211
+ "version": "0.6.1",
8212
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
8213
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
8214
+ "dev": true
8215
+ }
8216
+ }
8217
+ },
8218
+ "postcss-normalize-charset": {
8219
+ "version": "4.0.1",
8220
+ "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz",
8221
+ "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==",
8222
+ "dev": true,
8223
+ "requires": {
8224
+ "postcss": "^7.0.0"
8225
+ }
8226
+ },
8227
+ "postcss-normalize-display-values": {
8228
+ "version": "4.0.2",
8229
+ "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz",
8230
+ "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==",
8231
+ "dev": true,
8232
+ "requires": {
8233
+ "cssnano-util-get-match": "^4.0.0",
8234
+ "postcss": "^7.0.0",
8235
+ "postcss-value-parser": "^3.0.0"
8236
+ },
8237
+ "dependencies": {
8238
+ "postcss-value-parser": {
8239
+ "version": "3.3.1",
8240
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
8241
+ "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
8242
+ "dev": true
8243
+ }
8244
+ }
8245
+ },
8246
+ "postcss-normalize-positions": {
8247
+ "version": "4.0.2",
8248
+ "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz",
8249
+ "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==",
8250
+ "dev": true,
8251
+ "requires": {
8252
+ "cssnano-util-get-arguments": "^4.0.0",
8253
+ "has": "^1.0.0",
8254
+ "postcss": "^7.0.0",
8255
+ "postcss-value-parser": "^3.0.0"
8256
+ },
8257
+ "dependencies": {
8258
+ "postcss-value-parser": {
8259
+ "version": "3.3.1",
8260
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
8261
+ "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
8262
+ "dev": true
8263
+ }
8264
+ }
8265
+ },
8266
+ "postcss-normalize-repeat-style": {
8267
+ "version": "4.0.2",
8268
+ "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz",
8269
+ "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==",
8270
+ "dev": true,
8271
+ "requires": {
8272
+ "cssnano-util-get-arguments": "^4.0.0",
8273
+ "cssnano-util-get-match": "^4.0.0",
8274
+ "postcss": "^7.0.0",
8275
+ "postcss-value-parser": "^3.0.0"
8276
+ },
8277
+ "dependencies": {
8278
+ "postcss-value-parser": {
8279
+ "version": "3.3.1",
8280
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
8281
+ "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
8282
+ "dev": true
8283
+ }
8284
+ }
8285
+ },
8286
+ "postcss-normalize-string": {
8287
+ "version": "4.0.2",
8288
+ "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz",
8289
+ "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==",
8290
+ "dev": true,
8291
+ "requires": {
8292
+ "has": "^1.0.0",
8293
+ "postcss": "^7.0.0",
8294
+ "postcss-value-parser": "^3.0.0"
8295
+ },
8296
+ "dependencies": {
8297
+ "postcss-value-parser": {
8298
+ "version": "3.3.1",
8299
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
8300
+ "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
8301
+ "dev": true
8302
+ }
8303
+ }
8304
+ },
8305
+ "postcss-normalize-timing-functions": {
8306
+ "version": "4.0.2",
8307
+ "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz",
8308
+ "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==",
8309
+ "dev": true,
8310
+ "requires": {
8311
+ "cssnano-util-get-match": "^4.0.0",
8312
+ "postcss": "^7.0.0",
8313
+ "postcss-value-parser": "^3.0.0"
8314
+ },
8315
+ "dependencies": {
8316
+ "postcss-value-parser": {
8317
+ "version": "3.3.1",
8318
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
8319
+ "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
8320
+ "dev": true
8321
+ }
8322
+ }
8323
+ },
8324
+ "postcss-normalize-unicode": {
8325
+ "version": "4.0.1",
8326
+ "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz",
8327
+ "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==",
8328
+ "dev": true,
8329
+ "requires": {
8330
+ "browserslist": "^4.0.0",
8331
+ "postcss": "^7.0.0",
8332
+ "postcss-value-parser": "^3.0.0"
8333
+ },
8334
+ "dependencies": {
8335
+ "postcss-value-parser": {
8336
+ "version": "3.3.1",
8337
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
8338
+ "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
8339
+ "dev": true
8340
+ }
8341
+ }
8342
+ },
8343
+ "postcss-normalize-url": {
8344
+ "version": "4.0.1",
8345
+ "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz",
8346
+ "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==",
8347
+ "dev": true,
8348
+ "requires": {
8349
+ "is-absolute-url": "^2.0.0",
8350
+ "normalize-url": "^3.0.0",
8351
+ "postcss": "^7.0.0",
8352
+ "postcss-value-parser": "^3.0.0"
8353
+ },
8354
+ "dependencies": {
8355
+ "postcss-value-parser": {
8356
+ "version": "3.3.1",
8357
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
8358
+ "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
8359
+ "dev": true
8360
+ }
8361
+ }
8362
+ },
8363
+ "postcss-normalize-whitespace": {
8364
+ "version": "4.0.2",
8365
+ "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz",
8366
+ "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==",
8367
+ "dev": true,
8368
+ "requires": {
8369
+ "postcss": "^7.0.0",
8370
+ "postcss-value-parser": "^3.0.0"
8371
+ },
8372
+ "dependencies": {
8373
+ "postcss-value-parser": {
8374
+ "version": "3.3.1",
8375
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
8376
+ "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
8377
+ "dev": true
8378
+ }
8379
+ }
8380
+ },
8381
+ "postcss-ordered-values": {
8382
+ "version": "4.1.2",
8383
+ "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz",
8384
+ "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==",
8385
+ "dev": true,
8386
+ "requires": {
8387
+ "cssnano-util-get-arguments": "^4.0.0",
8388
+ "postcss": "^7.0.0",
8389
+ "postcss-value-parser": "^3.0.0"
8390
+ },
8391
+ "dependencies": {
8392
+ "postcss-value-parser": {
8393
+ "version": "3.3.1",
8394
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
8395
+ "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
8396
+ "dev": true
8397
+ }
8398
+ }
8399
+ },
8400
+ "postcss-reduce-initial": {
8401
+ "version": "4.0.3",
8402
+ "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz",
8403
+ "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==",
8404
+ "dev": true,
8405
+ "requires": {
8406
+ "browserslist": "^4.0.0",
8407
+ "caniuse-api": "^3.0.0",
8408
+ "has": "^1.0.0",
8409
+ "postcss": "^7.0.0"
8410
+ }
8411
+ },
8412
+ "postcss-reduce-transforms": {
8413
+ "version": "4.0.2",
8414
+ "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz",
8415
+ "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==",
8416
+ "dev": true,
8417
+ "requires": {
8418
+ "cssnano-util-get-match": "^4.0.0",
8419
+ "has": "^1.0.0",
8420
+ "postcss": "^7.0.0",
8421
+ "postcss-value-parser": "^3.0.0"
8422
+ },
8423
+ "dependencies": {
8424
+ "postcss-value-parser": {
8425
+ "version": "3.3.1",
8426
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
8427
+ "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
8428
+ "dev": true
8429
+ }
8430
+ }
8431
+ },
8432
+ "postcss-reporter": {
8433
+ "version": "6.0.1",
8434
+ "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-6.0.1.tgz",
8435
+ "integrity": "sha512-LpmQjfRWyabc+fRygxZjpRxfhRf9u/fdlKf4VHG4TSPbV2XNsuISzYW1KL+1aQzx53CAppa1bKG4APIB/DOXXw==",
8436
+ "dev": true,
8437
+ "requires": {
8438
+ "chalk": "^2.4.1",
8439
+ "lodash": "^4.17.11",
8440
+ "log-symbols": "^2.2.0",
8441
+ "postcss": "^7.0.7"
8442
+ }
8443
+ },
8444
+ "postcss-resolve-nested-selector": {
8445
+ "version": "0.1.1",
8446
+ "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz",
8447
+ "integrity": "sha1-Kcy8fDfe36wwTp//C/FZaz9qDk4=",
8448
+ "dev": true
8449
+ },
8450
+ "postcss-safe-parser": {
8451
+ "version": "4.0.2",
8452
+ "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-4.0.2.tgz",
8453
+ "integrity": "sha512-Uw6ekxSWNLCPesSv/cmqf2bY/77z11O7jZGPax3ycZMFU/oi2DMH9i89AdHc1tRwFg/arFoEwX0IS3LCUxJh1g==",
8454
+ "dev": true,
8455
+ "requires": {
8456
+ "postcss": "^7.0.26"
8457
+ }
8458
+ },
8459
+ "postcss-sass": {
8460
+ "version": "0.3.5",
8461
+ "resolved": "https://registry.npmjs.org/postcss-sass/-/postcss-sass-0.3.5.tgz",
8462
+ "integrity": "sha512-B5z2Kob4xBxFjcufFnhQ2HqJQ2y/Zs/ic5EZbCywCkxKd756Q40cIQ/veRDwSrw1BF6+4wUgmpm0sBASqVi65A==",
8463
+ "dev": true,
8464
+ "requires": {
8465
+ "gonzales-pe": "^4.2.3",
8466
+ "postcss": "^7.0.1"
8467
+ }
8468
+ },
8469
+ "postcss-scss": {
8470
+ "version": "2.0.0",
8471
+ "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-2.0.0.tgz",
8472
+ "integrity": "sha512-um9zdGKaDZirMm+kZFKKVsnKPF7zF7qBAtIfTSnZXD1jZ0JNZIxdB6TxQOjCnlSzLRInVl2v3YdBh/M881C4ug==",
8473
+ "dev": true,
8474
+ "requires": {
8475
+ "postcss": "^7.0.0"
8476
+ }
8477
+ },
8478
+ "postcss-selector-parser": {
8479
+ "version": "6.0.2",
8480
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz",
8481
+ "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==",
8482
+ "dev": true,
8483
+ "requires": {
8484
+ "cssesc": "^3.0.0",
8485
+ "indexes-of": "^1.0.1",
8486
+ "uniq": "^1.0.1"
8487
+ }
8488
+ },
8489
+ "postcss-svgo": {
8490
+ "version": "4.0.2",
8491
+ "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz",
8492
+ "integrity": "sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==",
8493
+ "dev": true,
8494
+ "requires": {
8495
+ "is-svg": "^3.0.0",
8496
+ "postcss": "^7.0.0",
8497
+ "postcss-value-parser": "^3.0.0",
8498
+ "svgo": "^1.0.0"
8499
+ },
8500
+ "dependencies": {
8501
+ "postcss-value-parser": {
8502
+ "version": "3.3.1",
8503
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
8504
+ "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
8505
+ "dev": true
8506
+ }
8507
+ }
8508
+ },
8509
+ "postcss-syntax": {
8510
+ "version": "0.36.2",
8511
+ "resolved": "https://registry.npmjs.org/postcss-syntax/-/postcss-syntax-0.36.2.tgz",
8512
+ "integrity": "sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w==",
8513
+ "dev": true
8514
+ },
8515
+ "postcss-unique-selectors": {
8516
+ "version": "4.0.1",
8517
+ "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz",
8518
+ "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==",
8519
+ "dev": true,
8520
+ "requires": {
8521
+ "alphanum-sort": "^1.0.0",
8522
+ "postcss": "^7.0.0",
8523
+ "uniqs": "^2.0.0"
8524
+ }
8525
+ },
8526
+ "postcss-value-parser": {
8527
+ "version": "4.1.0",
8528
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz",
8529
+ "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==",
8530
+ "dev": true
8531
+ },
8532
+ "prelude-ls": {
8533
+ "version": "1.1.2",
8534
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
8535
+ "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
8536
+ "dev": true
8537
+ },
8538
+ "pretty-format": {
8539
+ "version": "24.9.0",
8540
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz",
8541
+ "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==",
8542
+ "dev": true,
8543
+ "requires": {
8544
+ "@jest/types": "^24.9.0",
8545
+ "ansi-regex": "^4.0.0",
8546
+ "ansi-styles": "^3.2.0",
8547
+ "react-is": "^16.8.4"
8548
+ },
8549
+ "dependencies": {
8550
+ "ansi-regex": {
8551
+ "version": "4.1.0",
8552
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
8553
+ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
8554
+ "dev": true
8555
+ }
8556
+ }
8557
+ },
8558
+ "private": {
8559
+ "version": "0.1.8",
8560
+ "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
8561
+ "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
8562
+ "dev": true
8563
+ },
8564
+ "process": {
8565
+ "version": "0.11.10",
8566
+ "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
8567
+ "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
8568
+ "dev": true
8569
+ },
8570
+ "process-nextick-args": {
8571
+ "version": "2.0.1",
8572
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
8573
+ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
8574
+ "dev": true
8575
+ },
8576
+ "progress": {
8577
+ "version": "2.0.3",
8578
+ "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
8579
+ "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
8580
+ "dev": true
8581
+ },
8582
+ "promise-inflight": {
8583
+ "version": "1.0.1",
8584
+ "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
8585
+ "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=",
8586
+ "dev": true
8587
+ },
8588
+ "prompt-sync": {
8589
+ "version": "4.2.0",
8590
+ "resolved": "https://registry.npmjs.org/prompt-sync/-/prompt-sync-4.2.0.tgz",
8591
+ "integrity": "sha512-BuEzzc5zptP5LsgV5MZETjDaKSWfchl5U9Luiu8SKp7iZWD5tZalOxvNcZRwv+d2phNFr8xlbxmFNcRKfJOzJw==",
8592
+ "dev": true,
8593
+ "requires": {
8594
+ "strip-ansi": "^5.0.0"
8595
+ },
8596
+ "dependencies": {
8597
+ "ansi-regex": {
8598
+ "version": "4.1.0",
8599
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
8600
+ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
8601
+ "dev": true
8602
+ },
8603
+ "strip-ansi": {
8604
+ "version": "5.2.0",
8605
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
8606
+ "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
8607
+ "dev": true,
8608
+ "requires": {
8609
+ "ansi-regex": "^4.1.0"
8610
+ }
8611
+ }
8612
+ }
8613
+ },
8614
+ "prompts": {
8615
+ "version": "2.3.2",
8616
+ "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.3.2.tgz",
8617
+ "integrity": "sha512-Q06uKs2CkNYVID0VqwfAl9mipo99zkBv/n2JtWY89Yxa3ZabWSrs0e2KTudKVa3peLUvYXMefDqIleLPVUBZMA==",
8618
+ "dev": true,
8619
+ "requires": {
8620
+ "kleur": "^3.0.3",
8621
+ "sisteransi": "^1.0.4"
8622
+ }
8623
+ },
8624
+ "prr": {
8625
+ "version": "1.0.1",
8626
+ "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
8627
+ "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
8628
+ "dev": true
8629
+ },
8630
+ "pseudomap": {
8631
+ "version": "1.0.2",
8632
+ "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
8633
+ "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
8634
+ "dev": true
8635
+ },
8636
+ "psl": {
8637
+ "version": "1.8.0",
8638
+ "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
8639
+ "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==",
8640
+ "dev": true
8641
+ },
8642
+ "public-encrypt": {
8643
+ "version": "4.0.3",
8644
+ "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
8645
+ "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
8646
+ "dev": true,
8647
+ "requires": {
8648
+ "bn.js": "^4.1.0",
8649
+ "browserify-rsa": "^4.0.0",
8650
+ "create-hash": "^1.1.0",
8651
+ "parse-asn1": "^5.0.0",
8652
+ "randombytes": "^2.0.1",
8653
+ "safe-buffer": "^5.1.2"
8654
+ },
8655
+ "dependencies": {
8656
+ "bn.js": {
8657
+ "version": "4.11.8",
8658
+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
8659
+ "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==",
8660
+ "dev": true
8661
+ }
8662
+ }
8663
+ },
8664
+ "pump": {
8665
+ "version": "3.0.0",
8666
+ "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
8667
+ "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
8668
+ "dev": true,
8669
+ "requires": {
8670
+ "end-of-stream": "^1.1.0",
8671
+ "once": "^1.3.1"
8672
+ }
8673
+ },
8674
+ "pumpify": {
8675
+ "version": "1.5.1",
8676
+ "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz",
8677
+ "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==",
8678
+ "dev": true,
8679
+ "requires": {
8680
+ "duplexify": "^3.6.0",
8681
+ "inherits": "^2.0.3",
8682
+ "pump": "^2.0.0"
8683
+ },
8684
+ "dependencies": {
8685
+ "pump": {
8686
+ "version": "2.0.1",
8687
+ "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
8688
+ "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
8689
+ "dev": true,
8690
+ "requires": {
8691
+ "end-of-stream": "^1.1.0",
8692
+ "once": "^1.3.1"
8693
+ }
8694
+ }
8695
+ }
8696
+ },
8697
+ "punycode": {
8698
+ "version": "2.1.1",
8699
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
8700
+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
8701
+ "dev": true
8702
+ },
8703
+ "q": {
8704
+ "version": "1.5.1",
8705
+ "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
8706
+ "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=",
8707
+ "dev": true
8708
+ },
8709
+ "qs": {
8710
+ "version": "6.5.2",
8711
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
8712
+ "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
8713
+ "dev": true
8714
+ },
8715
+ "querystring": {
8716
+ "version": "0.2.0",
8717
+ "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
8718
+ "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=",
8719
+ "dev": true
8720
+ },
8721
+ "querystring-es3": {
8722
+ "version": "0.2.1",
8723
+ "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
8724
+ "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=",
8725
+ "dev": true
8726
+ },
8727
+ "quick-lru": {
8728
+ "version": "1.1.0",
8729
+ "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz",
8730
+ "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=",
8731
+ "dev": true
8732
+ },
8733
+ "ramda": {
8734
+ "version": "0.25.0",
8735
+ "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.25.0.tgz",
8736
+ "integrity": "sha512-GXpfrYVPwx3K7RQ6aYT8KPS8XViSXUVJT1ONhoKPE9VAleW42YE+U+8VEyGWt41EnEQW7gwecYJriTI0pKoecQ==",
8737
+ "dev": true
8738
+ },
8739
+ "randombytes": {
8740
+ "version": "2.1.0",
8741
+ "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
8742
+ "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
8743
+ "dev": true,
8744
+ "requires": {
8745
+ "safe-buffer": "^5.1.0"
8746
+ }
8747
+ },
8748
+ "randomfill": {
8749
+ "version": "1.0.4",
8750
+ "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
8751
+ "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
8752
+ "dev": true,
8753
+ "requires": {
8754
+ "randombytes": "^2.0.5",
8755
+ "safe-buffer": "^5.1.0"
8756
+ }
8757
+ },
8758
+ "react-is": {
8759
+ "version": "16.13.1",
8760
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
8761
+ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
8762
+ "dev": true
8763
+ },
8764
+ "read-pkg": {
8765
+ "version": "3.0.0",
8766
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
8767
+ "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
8768
+ "dev": true,
8769
+ "requires": {
8770
+ "load-json-file": "^4.0.0",
8771
+ "normalize-package-data": "^2.3.2",
8772
+ "path-type": "^3.0.0"
8773
+ }
8774
+ },
8775
+ "read-pkg-up": {
8776
+ "version": "4.0.0",
8777
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz",
8778
+ "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==",
8779
+ "dev": true,
8780
+ "requires": {
8781
+ "find-up": "^3.0.0",
8782
+ "read-pkg": "^3.0.0"
8783
+ },
8784
+ "dependencies": {
8785
+ "find-up": {
8786
+ "version": "3.0.0",
8787
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
8788
+ "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
8789
+ "dev": true,
8790
+ "requires": {
8791
+ "locate-path": "^3.0.0"
8792
+ }
8793
+ },
8794
+ "locate-path": {
8795
+ "version": "3.0.0",
8796
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
8797
+ "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
8798
+ "dev": true,
8799
+ "requires": {
8800
+ "p-locate": "^3.0.0",
8801
+ "path-exists": "^3.0.0"
8802
+ }
8803
+ },
8804
+ "p-limit": {
8805
+ "version": "2.3.0",
8806
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
8807
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
8808
+ "dev": true,
8809
+ "requires": {
8810
+ "p-try": "^2.0.0"
8811
+ }
8812
+ },
8813
+ "p-locate": {
8814
+ "version": "3.0.0",
8815
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
8816
+ "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
8817
+ "dev": true,
8818
+ "requires": {
8819
+ "p-limit": "^2.0.0"
8820
+ }
8821
+ },
8822
+ "p-try": {
8823
+ "version": "2.2.0",
8824
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
8825
+ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
8826
+ "dev": true
8827
+ }
8828
+ }
8829
+ },
8830
+ "readable-stream": {
8831
+ "version": "2.3.7",
8832
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
8833
+ "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
8834
+ "dev": true,
8835
+ "requires": {
8836
+ "core-util-is": "~1.0.0",
8837
+ "inherits": "~2.0.3",
8838
+ "isarray": "~1.0.0",
8839
+ "process-nextick-args": "~2.0.0",
8840
+ "safe-buffer": "~5.1.1",
8841
+ "string_decoder": "~1.1.1",
8842
+ "util-deprecate": "~1.0.1"
8843
+ }
8844
+ },
8845
+ "readdirp": {
8846
+ "version": "2.2.1",
8847
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
8848
+ "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
8849
+ "dev": true,
8850
+ "requires": {
8851
+ "graceful-fs": "^4.1.11",
8852
+ "micromatch": "^3.1.10",
8853
+ "readable-stream": "^2.0.2"
8854
+ }
8855
+ },
8856
+ "realpath-native": {
8857
+ "version": "1.1.0",
8858
+ "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.1.0.tgz",
8859
+ "integrity": "sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA==",
8860
+ "dev": true,
8861
+ "requires": {
8862
+ "util.promisify": "^1.0.0"
8863
+ }
8864
+ },
8865
+ "redent": {
8866
+ "version": "1.0.0",
8867
+ "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
8868
+ "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
8869
+ "dev": true,
8870
+ "requires": {
8871
+ "indent-string": "^2.1.0",
8872
+ "strip-indent": "^1.0.1"
8873
+ }
8874
+ },
8875
+ "regenerate": {
8876
+ "version": "1.4.0",
8877
+ "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz",
8878
+ "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==",
8879
+ "dev": true
8880
+ },
8881
+ "regenerate-unicode-properties": {
8882
+ "version": "8.2.0",
8883
+ "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz",
8884
+ "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==",
8885
+ "dev": true,
8886
+ "requires": {
8887
+ "regenerate": "^1.4.0"
8888
+ }
8889
+ },
8890
+ "regenerator-runtime": {
8891
+ "version": "0.13.5",
8892
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz",
8893
+ "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==",
8894
+ "dev": true
8895
+ },
8896
+ "regenerator-transform": {
8897
+ "version": "0.14.4",
8898
+ "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.4.tgz",
8899
+ "integrity": "sha512-EaJaKPBI9GvKpvUz2mz4fhx7WPgvwRLY9v3hlNHWmAuJHI13T4nwKnNvm5RWJzEdnI5g5UwtOww+S8IdoUC2bw==",
8900
+ "dev": true,
8901
+ "requires": {
8902
+ "@babel/runtime": "^7.8.4",
8903
+ "private": "^0.1.8"
8904
+ }
8905
+ },
8906
+ "regex-not": {
8907
+ "version": "1.0.2",
8908
+ "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
8909
+ "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
8910
+ "dev": true,
8911
+ "requires": {
8912
+ "extend-shallow": "^3.0.2",
8913
+ "safe-regex": "^1.1.0"
8914
+ }
8915
+ },
8916
+ "regexpp": {
8917
+ "version": "2.0.1",
8918
+ "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz",
8919
+ "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==",
8920
+ "dev": true
8921
+ },
8922
+ "regexpu-core": {
8923
+ "version": "4.7.0",
8924
+ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz",
8925
+ "integrity": "sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==",
8926
+ "dev": true,
8927
+ "requires": {
8928
+ "regenerate": "^1.4.0",
8929
+ "regenerate-unicode-properties": "^8.2.0",
8930
+ "regjsgen": "^0.5.1",
8931
+ "regjsparser": "^0.6.4",
8932
+ "unicode-match-property-ecmascript": "^1.0.4",
8933
+ "unicode-match-property-value-ecmascript": "^1.2.0"
8934
+ }
8935
+ },
8936
+ "regjsgen": {
8937
+ "version": "0.5.1",
8938
+ "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.1.tgz",
8939
+ "integrity": "sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg==",
8940
+ "dev": true
8941
+ },
8942
+ "regjsparser": {
8943
+ "version": "0.6.4",
8944
+ "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz",
8945
+ "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==",
8946
+ "dev": true,
8947
+ "requires": {
8948
+ "jsesc": "~0.5.0"
8949
+ },
8950
+ "dependencies": {
8951
+ "jsesc": {
8952
+ "version": "0.5.0",
8953
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
8954
+ "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
8955
+ "dev": true
8956
+ }
8957
+ }
8958
+ },
8959
+ "remark": {
8960
+ "version": "10.0.1",
8961
+ "resolved": "https://registry.npmjs.org/remark/-/remark-10.0.1.tgz",
8962
+ "integrity": "sha512-E6lMuoLIy2TyiokHprMjcWNJ5UxfGQjaMSMhV+f4idM625UjjK4j798+gPs5mfjzDE6vL0oFKVeZM6gZVSVrzQ==",
8963
+ "dev": true,
8964
+ "requires": {
8965
+ "remark-parse": "^6.0.0",
8966
+ "remark-stringify": "^6.0.0",
8967
+ "unified": "^7.0.0"
8968
+ }
8969
+ },
8970
+ "remark-parse": {
8971
+ "version": "6.0.3",
8972
+ "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-6.0.3.tgz",
8973
+ "integrity": "sha512-QbDXWN4HfKTUC0hHa4teU463KclLAnwpn/FBn87j9cKYJWWawbiLgMfP2Q4XwhxxuuuOxHlw+pSN0OKuJwyVvg==",
8974
+ "dev": true,
8975
+ "requires": {
8976
+ "collapse-white-space": "^1.0.2",
8977
+ "is-alphabetical": "^1.0.0",
8978
+ "is-decimal": "^1.0.0",
8979
+ "is-whitespace-character": "^1.0.0",
8980
+ "is-word-character": "^1.0.0",
8981
+ "markdown-escapes": "^1.0.0",
8982
+ "parse-entities": "^1.1.0",
8983
+ "repeat-string": "^1.5.4",
8984
+ "state-toggle": "^1.0.0",
8985
+ "trim": "0.0.1",
8986
+ "trim-trailing-lines": "^1.0.0",
8987
+ "unherit": "^1.0.4",
8988
+ "unist-util-remove-position": "^1.0.0",
8989
+ "vfile-location": "^2.0.0",
8990
+ "xtend": "^4.0.1"
8991
+ }
8992
+ },
8993
+ "remark-stringify": {
8994
+ "version": "6.0.4",
8995
+ "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-6.0.4.tgz",
8996
+ "integrity": "sha512-eRWGdEPMVudijE/psbIDNcnJLRVx3xhfuEsTDGgH4GsFF91dVhw5nhmnBppafJ7+NWINW6C7ZwWbi30ImJzqWg==",
8997
+ "dev": true,
8998
+ "requires": {
8999
+ "ccount": "^1.0.0",
9000
+ "is-alphanumeric": "^1.0.0",
9001
+ "is-decimal": "^1.0.0",
9002
+ "is-whitespace-character": "^1.0.0",
9003
+ "longest-streak": "^2.0.1",
9004
+ "markdown-escapes": "^1.0.0",
9005
+ "markdown-table": "^1.1.0",
9006
+ "mdast-util-compact": "^1.0.0",
9007
+ "parse-entities": "^1.0.2",
9008
+ "repeat-string": "^1.5.4",
9009
+ "state-toggle": "^1.0.0",
9010
+ "stringify-entities": "^1.0.1",
9011
+ "unherit": "^1.0.4",
9012
+ "xtend": "^4.0.1"
9013
+ }
9014
+ },
9015
+ "remove-trailing-separator": {
9016
+ "version": "1.1.0",
9017
+ "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
9018
+ "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
9019
+ "dev": true
9020
+ },
9021
+ "repeat-element": {
9022
+ "version": "1.1.3",
9023
+ "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
9024
+ "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
9025
+ "dev": true
9026
+ },
9027
+ "repeat-string": {
9028
+ "version": "1.6.1",
9029
+ "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
9030
+ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
9031
+ "dev": true
9032
+ },
9033
+ "repeating": {
9034
+ "version": "2.0.1",
9035
+ "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
9036
+ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
9037
+ "dev": true,
9038
+ "requires": {
9039
+ "is-finite": "^1.0.0"
9040
+ }
9041
+ },
9042
+ "replace-ext": {
9043
+ "version": "1.0.0",
9044
+ "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz",
9045
+ "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=",
9046
+ "dev": true
9047
+ },
9048
+ "replace-in-file": {
9049
+ "version": "3.4.4",
9050
+ "resolved": "https://registry.npmjs.org/replace-in-file/-/replace-in-file-3.4.4.tgz",
9051
+ "integrity": "sha512-ehq0dFsxSpfPiPLBU5kli38Ud8bZL0CQKG8WQVbvhmyilXaMJ8y4LtDZs/K3MD8C0+rHbsfW8c9r2bUEy0B/6Q==",
9052
+ "dev": true,
9053
+ "requires": {
9054
+ "chalk": "^2.4.2",
9055
+ "glob": "^7.1.3",
9056
+ "yargs": "^13.2.2"
9057
+ }
9058
+ },
9059
+ "request": {
9060
+ "version": "2.88.2",
9061
+ "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
9062
+ "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
9063
+ "dev": true,
9064
+ "requires": {
9065
+ "aws-sign2": "~0.7.0",
9066
+ "aws4": "^1.8.0",
9067
+ "caseless": "~0.12.0",
9068
+ "combined-stream": "~1.0.6",
9069
+ "extend": "~3.0.2",
9070
+ "forever-agent": "~0.6.1",
9071
+ "form-data": "~2.3.2",
9072
+ "har-validator": "~5.1.3",
9073
+ "http-signature": "~1.2.0",
9074
+ "is-typedarray": "~1.0.0",
9075
+ "isstream": "~0.1.2",
9076
+ "json-stringify-safe": "~5.0.1",
9077
+ "mime-types": "~2.1.19",
9078
+ "oauth-sign": "~0.9.0",
9079
+ "performance-now": "^2.1.0",
9080
+ "qs": "~6.5.2",
9081
+ "safe-buffer": "^5.1.2",
9082
+ "tough-cookie": "~2.5.0",
9083
+ "tunnel-agent": "^0.6.0",
9084
+ "uuid": "^3.3.2"
9085
+ }
9086
+ },
9087
+ "request-promise-core": {
9088
+ "version": "1.1.3",
9089
+ "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.3.tgz",
9090
+ "integrity": "sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ==",
9091
+ "dev": true,
9092
+ "requires": {
9093
+ "lodash": "^4.17.15"
9094
+ }
9095
+ },
9096
+ "request-promise-native": {
9097
+ "version": "1.0.8",
9098
+ "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.8.tgz",
9099
+ "integrity": "sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ==",
9100
+ "dev": true,
9101
+ "requires": {
9102
+ "request-promise-core": "1.1.3",
9103
+ "stealthy-require": "^1.1.1",
9104
+ "tough-cookie": "^2.3.3"
9105
+ }
9106
+ },
9107
+ "require-directory": {
9108
+ "version": "2.1.1",
9109
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
9110
+ "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
9111
+ "dev": true
9112
+ },
9113
+ "require-main-filename": {
9114
+ "version": "2.0.0",
9115
+ "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
9116
+ "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
9117
+ "dev": true
9118
+ },
9119
+ "resolve": {
9120
+ "version": "1.17.0",
9121
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz",
9122
+ "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==",
9123
+ "dev": true,
9124
+ "requires": {
9125
+ "path-parse": "^1.0.6"
9126
+ }
9127
+ },
9128
+ "resolve-cwd": {
9129
+ "version": "2.0.0",
9130
+ "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz",
9131
+ "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=",
9132
+ "dev": true,
9133
+ "requires": {
9134
+ "resolve-from": "^3.0.0"
9135
+ }
9136
+ },
9137
+ "resolve-dir": {
9138
+ "version": "1.0.1",
9139
+ "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz",
9140
+ "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=",
9141
+ "dev": true,
9142
+ "requires": {
9143
+ "expand-tilde": "^2.0.0",
9144
+ "global-modules": "^1.0.0"
9145
+ },
9146
+ "dependencies": {
9147
+ "global-modules": {
9148
+ "version": "1.0.0",
9149
+ "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz",
9150
+ "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==",
9151
+ "dev": true,
9152
+ "requires": {
9153
+ "global-prefix": "^1.0.1",
9154
+ "is-windows": "^1.0.1",
9155
+ "resolve-dir": "^1.0.0"
9156
+ }
9157
+ },
9158
+ "global-prefix": {
9159
+ "version": "1.0.2",
9160
+ "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz",
9161
+ "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=",
9162
+ "dev": true,
9163
+ "requires": {
9164
+ "expand-tilde": "^2.0.2",
9165
+ "homedir-polyfill": "^1.0.1",
9166
+ "ini": "^1.3.4",
9167
+ "is-windows": "^1.0.1",
9168
+ "which": "^1.2.14"
9169
+ }
9170
+ }
9171
+ }
9172
+ },
9173
+ "resolve-from": {
9174
+ "version": "3.0.0",
9175
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
9176
+ "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
9177
+ "dev": true
9178
+ },
9179
+ "resolve-url": {
9180
+ "version": "0.2.1",
9181
+ "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
9182
+ "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
9183
+ "dev": true
9184
+ },
9185
+ "restore-cursor": {
9186
+ "version": "2.0.0",
9187
+ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
9188
+ "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
9189
+ "dev": true,
9190
+ "requires": {
9191
+ "onetime": "^2.0.0",
9192
+ "signal-exit": "^3.0.2"
9193
+ }
9194
+ },
9195
+ "ret": {
9196
+ "version": "0.1.15",
9197
+ "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
9198
+ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
9199
+ "dev": true
9200
+ },
9201
+ "rgb-regex": {
9202
+ "version": "1.0.1",
9203
+ "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz",
9204
+ "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=",
9205
+ "dev": true
9206
+ },
9207
+ "rgba-regex": {
9208
+ "version": "1.0.0",
9209
+ "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz",
9210
+ "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=",
9211
+ "dev": true
9212
+ },
9213
+ "rimraf": {
9214
+ "version": "2.7.1",
9215
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
9216
+ "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
9217
+ "dev": true,
9218
+ "requires": {
9219
+ "glob": "^7.1.3"
9220
+ }
9221
+ },
9222
+ "ripemd160": {
9223
+ "version": "2.0.2",
9224
+ "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
9225
+ "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
9226
+ "dev": true,
9227
+ "requires": {
9228
+ "hash-base": "^3.0.0",
9229
+ "inherits": "^2.0.1"
9230
+ }
9231
+ },
9232
+ "rsvp": {
9233
+ "version": "4.8.5",
9234
+ "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz",
9235
+ "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==",
9236
+ "dev": true
9237
+ },
9238
+ "run-async": {
9239
+ "version": "2.4.1",
9240
+ "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
9241
+ "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==",
9242
+ "dev": true
9243
+ },
9244
+ "run-queue": {
9245
+ "version": "1.0.3",
9246
+ "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz",
9247
+ "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=",
9248
+ "dev": true,
9249
+ "requires": {
9250
+ "aproba": "^1.1.1"
9251
+ }
9252
+ },
9253
+ "rxjs": {
9254
+ "version": "6.5.5",
9255
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz",
9256
+ "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==",
9257
+ "dev": true,
9258
+ "requires": {
9259
+ "tslib": "^1.9.0"
9260
+ }
9261
+ },
9262
+ "safe-buffer": {
9263
+ "version": "5.1.2",
9264
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
9265
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
9266
+ "dev": true
9267
+ },
9268
+ "safe-regex": {
9269
+ "version": "1.1.0",
9270
+ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
9271
+ "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
9272
+ "dev": true,
9273
+ "requires": {
9274
+ "ret": "~0.1.10"
9275
+ }
9276
+ },
9277
+ "safer-buffer": {
9278
+ "version": "2.1.2",
9279
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
9280
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
9281
+ "dev": true
9282
+ },
9283
+ "sane": {
9284
+ "version": "4.1.0",
9285
+ "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz",
9286
+ "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==",
9287
+ "dev": true,
9288
+ "requires": {
9289
+ "@cnakazawa/watch": "^1.0.3",
9290
+ "anymatch": "^2.0.0",
9291
+ "capture-exit": "^2.0.0",
9292
+ "exec-sh": "^0.3.2",
9293
+ "execa": "^1.0.0",
9294
+ "fb-watchman": "^2.0.0",
9295
+ "micromatch": "^3.1.4",
9296
+ "minimist": "^1.1.1",
9297
+ "walker": "~1.0.5"
9298
+ }
9299
+ },
9300
+ "sass-graph": {
9301
+ "version": "2.2.5",
9302
+ "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.5.tgz",
9303
+ "integrity": "sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag==",
9304
+ "dev": true,
9305
+ "requires": {
9306
+ "glob": "^7.0.0",
9307
+ "lodash": "^4.0.0",
9308
+ "scss-tokenizer": "^0.2.3",
9309
+ "yargs": "^13.3.2"
9310
+ }
9311
+ },
9312
+ "sass-loader": {
9313
+ "version": "7.3.1",
9314
+ "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-7.3.1.tgz",
9315
+ "integrity": "sha512-tuU7+zm0pTCynKYHpdqaPpe+MMTQ76I9TPZ7i4/5dZsigE350shQWe5EZNl5dBidM49TPET75tNqRbcsUZWeNA==",
9316
+ "dev": true,
9317
+ "requires": {
9318
+ "clone-deep": "^4.0.1",
9319
+ "loader-utils": "^1.0.1",
9320
+ "neo-async": "^2.5.0",
9321
+ "pify": "^4.0.1",
9322
+ "semver": "^6.3.0"
9323
+ },
9324
+ "dependencies": {
9325
+ "semver": {
9326
+ "version": "6.3.0",
9327
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
9328
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
9329
+ "dev": true
9330
+ }
9331
+ }
9332
+ },
9333
+ "sax": {
9334
+ "version": "1.2.4",
9335
+ "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
9336
+ "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
9337
+ "dev": true
9338
+ },
9339
+ "schema-utils": {
9340
+ "version": "2.6.6",
9341
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.6.tgz",
9342
+ "integrity": "sha512-wHutF/WPSbIi9x6ctjGGk2Hvl0VOz5l3EKEuKbjPlB30mKZUzb9A5k9yEXRX3pwyqVLPvpfZZEllaFq/M718hA==",
9343
+ "dev": true,
9344
+ "requires": {
9345
+ "ajv": "^6.12.0",
9346
+ "ajv-keywords": "^3.4.1"
9347
+ }
9348
+ },
9349
+ "scss-tokenizer": {
9350
+ "version": "0.2.3",
9351
+ "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz",
9352
+ "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=",
9353
+ "dev": true,
9354
+ "requires": {
9355
+ "js-base64": "^2.1.8",
9356
+ "source-map": "^0.4.2"
9357
+ },
9358
+ "dependencies": {
9359
+ "source-map": {
9360
+ "version": "0.4.4",
9361
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
9362
+ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
9363
+ "dev": true,
9364
+ "requires": {
9365
+ "amdefine": ">=0.0.4"
9366
+ }
9367
+ }
9368
+ }
9369
+ },
9370
+ "semver": {
9371
+ "version": "5.7.1",
9372
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
9373
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
9374
+ "dev": true
9375
+ },
9376
+ "serialize-javascript": {
9377
+ "version": "3.0.0",
9378
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.0.0.tgz",
9379
+ "integrity": "sha512-skZcHYw2vEX4bw90nAr2iTTsz6x2SrHEnfxgKYmZlvJYBEZrvbKtobJWlQ20zczKb3bsHHXXTYt48zBA7ni9cw==",
9380
+ "dev": true
9381
+ },
9382
+ "set-blocking": {
9383
+ "version": "2.0.0",
9384
+ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
9385
+ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
9386
+ "dev": true
9387
+ },
9388
+ "set-value": {
9389
+ "version": "2.0.1",
9390
+ "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
9391
+ "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
9392
+ "dev": true,
9393
+ "requires": {
9394
+ "extend-shallow": "^2.0.1",
9395
+ "is-extendable": "^0.1.1",
9396
+ "is-plain-object": "^2.0.3",
9397
+ "split-string": "^3.0.1"
9398
+ },
9399
+ "dependencies": {
9400
+ "extend-shallow": {
9401
+ "version": "2.0.1",
9402
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
9403
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
9404
+ "dev": true,
9405
+ "requires": {
9406
+ "is-extendable": "^0.1.0"
9407
+ }
9408
+ }
9409
+ }
9410
+ },
9411
+ "setimmediate": {
9412
+ "version": "1.0.5",
9413
+ "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
9414
+ "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=",
9415
+ "dev": true
9416
+ },
9417
+ "sha.js": {
9418
+ "version": "2.4.11",
9419
+ "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
9420
+ "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
9421
+ "dev": true,
9422
+ "requires": {
9423
+ "inherits": "^2.0.1",
9424
+ "safe-buffer": "^5.0.1"
9425
+ }
9426
+ },
9427
+ "shallow-clone": {
9428
+ "version": "3.0.1",
9429
+ "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz",
9430
+ "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==",
9431
+ "dev": true,
9432
+ "requires": {
9433
+ "kind-of": "^6.0.2"
9434
+ }
9435
+ },
9436
+ "shebang-command": {
9437
+ "version": "1.2.0",
9438
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
9439
+ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
9440
+ "dev": true,
9441
+ "requires": {
9442
+ "shebang-regex": "^1.0.0"
9443
+ }
9444
+ },
9445
+ "shebang-regex": {
9446
+ "version": "1.0.0",
9447
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
9448
+ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
9449
+ "dev": true
9450
+ },
9451
+ "shellwords": {
9452
+ "version": "0.1.1",
9453
+ "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz",
9454
+ "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==",
9455
+ "dev": true
9456
+ },
9457
+ "signal-exit": {
9458
+ "version": "3.0.3",
9459
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
9460
+ "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==",
9461
+ "dev": true
9462
+ },
9463
+ "simple-swizzle": {
9464
+ "version": "0.2.2",
9465
+ "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
9466
+ "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=",
9467
+ "dev": true,
9468
+ "requires": {
9469
+ "is-arrayish": "^0.3.1"
9470
+ },
9471
+ "dependencies": {
9472
+ "is-arrayish": {
9473
+ "version": "0.3.2",
9474
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
9475
+ "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==",
9476
+ "dev": true
9477
+ }
9478
+ }
9479
+ },
9480
+ "sisteransi": {
9481
+ "version": "1.0.5",
9482
+ "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz",
9483
+ "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==",
9484
+ "dev": true
9485
+ },
9486
+ "slash": {
9487
+ "version": "2.0.0",
9488
+ "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz",
9489
+ "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==",
9490
+ "dev": true
9491
+ },
9492
+ "slice-ansi": {
9493
+ "version": "2.1.0",
9494
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
9495
+ "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
9496
+ "dev": true,
9497
+ "requires": {
9498
+ "ansi-styles": "^3.2.0",
9499
+ "astral-regex": "^1.0.0",
9500
+ "is-fullwidth-code-point": "^2.0.0"
9501
+ }
9502
+ },
9503
+ "slick-carousel": {
9504
+ "version": "1.8.1",
9505
+ "resolved": "https://registry.npmjs.org/slick-carousel/-/slick-carousel-1.8.1.tgz",
9506
+ "integrity": "sha512-XB9Ftrf2EEKfzoQXt3Nitrt/IPbT+f1fgqBdoxO3W/+JYvtEOW6EgxnWfr9GH6nmULv7Y2tPmEX3koxThVmebA==",
9507
+ "dev": true
9508
+ },
9509
+ "snapdragon": {
9510
+ "version": "0.8.2",
9511
+ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
9512
+ "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
9513
+ "dev": true,
9514
+ "requires": {
9515
+ "base": "^0.11.1",
9516
+ "debug": "^2.2.0",
9517
+ "define-property": "^0.2.5",
9518
+ "extend-shallow": "^2.0.1",
9519
+ "map-cache": "^0.2.2",
9520
+ "source-map": "^0.5.6",
9521
+ "source-map-resolve": "^0.5.0",
9522
+ "use": "^3.1.0"
9523
+ },
9524
+ "dependencies": {
9525
+ "debug": {
9526
+ "version": "2.6.9",
9527
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
9528
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
9529
+ "dev": true,
9530
+ "requires": {
9531
+ "ms": "2.0.0"
9532
+ }
9533
+ },
9534
+ "define-property": {
9535
+ "version": "0.2.5",
9536
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
9537
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
9538
+ "dev": true,
9539
+ "requires": {
9540
+ "is-descriptor": "^0.1.0"
9541
+ }
9542
+ },
9543
+ "extend-shallow": {
9544
+ "version": "2.0.1",
9545
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
9546
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
9547
+ "dev": true,
9548
+ "requires": {
9549
+ "is-extendable": "^0.1.0"
9550
+ }
9551
+ },
9552
+ "ms": {
9553
+ "version": "2.0.0",
9554
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
9555
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
9556
+ "dev": true
9557
+ }
9558
+ }
9559
+ },
9560
+ "snapdragon-node": {
9561
+ "version": "2.1.1",
9562
+ "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
9563
+ "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
9564
+ "dev": true,
9565
+ "requires": {
9566
+ "define-property": "^1.0.0",
9567
+ "isobject": "^3.0.0",
9568
+ "snapdragon-util": "^3.0.1"
9569
+ },
9570
+ "dependencies": {
9571
+ "define-property": {
9572
+ "version": "1.0.0",
9573
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
9574
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
9575
+ "dev": true,
9576
+ "requires": {
9577
+ "is-descriptor": "^1.0.0"
9578
+ }
9579
+ },
9580
+ "is-accessor-descriptor": {
9581
+ "version": "1.0.0",
9582
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
9583
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
9584
+ "dev": true,
9585
+ "requires": {
9586
+ "kind-of": "^6.0.0"
9587
+ }
9588
+ },
9589
+ "is-data-descriptor": {
9590
+ "version": "1.0.0",
9591
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
9592
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
9593
+ "dev": true,
9594
+ "requires": {
9595
+ "kind-of": "^6.0.0"
9596
+ }
9597
+ },
9598
+ "is-descriptor": {
9599
+ "version": "1.0.2",
9600
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
9601
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
9602
+ "dev": true,
9603
+ "requires": {
9604
+ "is-accessor-descriptor": "^1.0.0",
9605
+ "is-data-descriptor": "^1.0.0",
9606
+ "kind-of": "^6.0.2"
9607
+ }
9608
+ }
9609
+ }
9610
+ },
9611
+ "snapdragon-util": {
9612
+ "version": "3.0.1",
9613
+ "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
9614
+ "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
9615
+ "dev": true,
9616
+ "requires": {
9617
+ "kind-of": "^3.2.0"
9618
+ },
9619
+ "dependencies": {
9620
+ "kind-of": {
9621
+ "version": "3.2.2",
9622
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
9623
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
9624
+ "dev": true,
9625
+ "requires": {
9626
+ "is-buffer": "^1.1.5"
9627
+ }
9628
+ }
9629
+ }
9630
+ },
9631
+ "source-list-map": {
9632
+ "version": "2.0.1",
9633
+ "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz",
9634
+ "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==",
9635
+ "dev": true
9636
+ },
9637
+ "source-map": {
9638
+ "version": "0.5.7",
9639
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
9640
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
9641
+ "dev": true
9642
+ },
9643
+ "source-map-resolve": {
9644
+ "version": "0.5.3",
9645
+ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
9646
+ "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
9647
+ "dev": true,
9648
+ "requires": {
9649
+ "atob": "^2.1.2",
9650
+ "decode-uri-component": "^0.2.0",
9651
+ "resolve-url": "^0.2.1",
9652
+ "source-map-url": "^0.4.0",
9653
+ "urix": "^0.1.0"
9654
+ }
9655
+ },
9656
+ "source-map-support": {
9657
+ "version": "0.5.19",
9658
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz",
9659
+ "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==",
9660
+ "dev": true,
9661
+ "requires": {
9662
+ "buffer-from": "^1.0.0",
9663
+ "source-map": "^0.6.0"
9664
+ },
9665
+ "dependencies": {
9666
+ "source-map": {
9667
+ "version": "0.6.1",
9668
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
9669
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
9670
+ "dev": true
9671
+ }
9672
+ }
9673
+ },
9674
+ "source-map-url": {
9675
+ "version": "0.4.0",
9676
+ "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
9677
+ "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
9678
+ "dev": true
9679
+ },
9680
+ "spdx-correct": {
9681
+ "version": "3.1.0",
9682
+ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz",
9683
+ "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==",
9684
+ "dev": true,
9685
+ "requires": {
9686
+ "spdx-expression-parse": "^3.0.0",
9687
+ "spdx-license-ids": "^3.0.0"
9688
+ }
9689
+ },
9690
+ "spdx-exceptions": {
9691
+ "version": "2.3.0",
9692
+ "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
9693
+ "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==",
9694
+ "dev": true
9695
+ },
9696
+ "spdx-expression-parse": {
9697
+ "version": "3.0.1",
9698
+ "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
9699
+ "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
9700
+ "dev": true,
9701
+ "requires": {
9702
+ "spdx-exceptions": "^2.1.0",
9703
+ "spdx-license-ids": "^3.0.0"
9704
+ }
9705
+ },
9706
+ "spdx-license-ids": {
9707
+ "version": "3.0.5",
9708
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz",
9709
+ "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==",
9710
+ "dev": true
9711
+ },
9712
+ "specificity": {
9713
+ "version": "0.4.1",
9714
+ "resolved": "https://registry.npmjs.org/specificity/-/specificity-0.4.1.tgz",
9715
+ "integrity": "sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg==",
9716
+ "dev": true
9717
+ },
9718
+ "split-string": {
9719
+ "version": "3.1.0",
9720
+ "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
9721
+ "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
9722
+ "dev": true,
9723
+ "requires": {
9724
+ "extend-shallow": "^3.0.0"
9725
+ }
9726
+ },
9727
+ "sprintf-js": {
9728
+ "version": "1.0.3",
9729
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
9730
+ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
9731
+ "dev": true
9732
+ },
9733
+ "sshpk": {
9734
+ "version": "1.16.1",
9735
+ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
9736
+ "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
9737
+ "dev": true,
9738
+ "requires": {
9739
+ "asn1": "~0.2.3",
9740
+ "assert-plus": "^1.0.0",
9741
+ "bcrypt-pbkdf": "^1.0.0",
9742
+ "dashdash": "^1.12.0",
9743
+ "ecc-jsbn": "~0.1.1",
9744
+ "getpass": "^0.1.1",
9745
+ "jsbn": "~0.1.0",
9746
+ "safer-buffer": "^2.0.2",
9747
+ "tweetnacl": "~0.14.0"
9748
+ }
9749
+ },
9750
+ "ssri": {
9751
+ "version": "8.0.0",
9752
+ "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.0.tgz",
9753
+ "integrity": "sha512-aq/pz989nxVYwn16Tsbj1TqFpD5LLrQxHf5zaHuieFV+R0Bbr4y8qUsOA45hXT/N4/9UNXTarBjnjVmjSOVaAA==",
9754
+ "dev": true,
9755
+ "requires": {
9756
+ "minipass": "^3.1.1"
9757
+ }
9758
+ },
9759
+ "stable": {
9760
+ "version": "0.1.8",
9761
+ "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz",
9762
+ "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==",
9763
+ "dev": true
9764
+ },
9765
+ "stack-utils": {
9766
+ "version": "1.0.2",
9767
+ "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz",
9768
+ "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==",
9769
+ "dev": true
9770
+ },
9771
+ "stackframe": {
9772
+ "version": "1.1.1",
9773
+ "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.1.1.tgz",
9774
+ "integrity": "sha512-0PlYhdKh6AfFxRyK/v+6/k+/mMfyiEBbTM5L94D0ZytQnJ166wuwoTYLHFWGbs2dpA8Rgq763KGWmN1EQEYHRQ==",
9775
+ "dev": true
9776
+ },
9777
+ "state-toggle": {
9778
+ "version": "1.0.3",
9779
+ "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz",
9780
+ "integrity": "sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==",
9781
+ "dev": true
9782
+ },
9783
+ "static-extend": {
9784
+ "version": "0.1.2",
9785
+ "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
9786
+ "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
9787
+ "dev": true,
9788
+ "requires": {
9789
+ "define-property": "^0.2.5",
9790
+ "object-copy": "^0.1.0"
9791
+ },
9792
+ "dependencies": {
9793
+ "define-property": {
9794
+ "version": "0.2.5",
9795
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
9796
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
9797
+ "dev": true,
9798
+ "requires": {
9799
+ "is-descriptor": "^0.1.0"
9800
+ }
9801
+ }
9802
+ }
9803
+ },
9804
+ "stdout-stream": {
9805
+ "version": "1.4.1",
9806
+ "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz",
9807
+ "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==",
9808
+ "dev": true,
9809
+ "requires": {
9810
+ "readable-stream": "^2.0.1"
9811
+ }
9812
+ },
9813
+ "stealthy-require": {
9814
+ "version": "1.1.1",
9815
+ "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz",
9816
+ "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=",
9817
+ "dev": true
9818
+ },
9819
+ "stream-browserify": {
9820
+ "version": "2.0.2",
9821
+ "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz",
9822
+ "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==",
9823
+ "dev": true,
9824
+ "requires": {
9825
+ "inherits": "~2.0.1",
9826
+ "readable-stream": "^2.0.2"
9827
+ }
9828
+ },
9829
+ "stream-each": {
9830
+ "version": "1.2.3",
9831
+ "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz",
9832
+ "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==",
9833
+ "dev": true,
9834
+ "requires": {
9835
+ "end-of-stream": "^1.1.0",
9836
+ "stream-shift": "^1.0.0"
9837
+ }
9838
+ },
9839
+ "stream-http": {
9840
+ "version": "2.8.3",
9841
+ "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz",
9842
+ "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==",
9843
+ "dev": true,
9844
+ "requires": {
9845
+ "builtin-status-codes": "^3.0.0",
9846
+ "inherits": "^2.0.1",
9847
+ "readable-stream": "^2.3.6",
9848
+ "to-arraybuffer": "^1.0.0",
9849
+ "xtend": "^4.0.0"
9850
+ }
9851
+ },
9852
+ "stream-shift": {
9853
+ "version": "1.0.1",
9854
+ "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz",
9855
+ "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==",
9856
+ "dev": true
9857
+ },
9858
+ "string-length": {
9859
+ "version": "2.0.0",
9860
+ "resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz",
9861
+ "integrity": "sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=",
9862
+ "dev": true,
9863
+ "requires": {
9864
+ "astral-regex": "^1.0.0",
9865
+ "strip-ansi": "^4.0.0"
9866
+ },
9867
+ "dependencies": {
9868
+ "ansi-regex": {
9869
+ "version": "3.0.0",
9870
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
9871
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
9872
+ "dev": true
9873
+ },
9874
+ "strip-ansi": {
9875
+ "version": "4.0.0",
9876
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
9877
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
9878
+ "dev": true,
9879
+ "requires": {
9880
+ "ansi-regex": "^3.0.0"
9881
+ }
9882
+ }
9883
+ }
9884
+ },
9885
+ "string-width": {
9886
+ "version": "2.1.1",
9887
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
9888
+ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
9889
+ "dev": true,
9890
+ "requires": {
9891
+ "is-fullwidth-code-point": "^2.0.0",
9892
+ "strip-ansi": "^4.0.0"
9893
+ },
9894
+ "dependencies": {
9895
+ "ansi-regex": {
9896
+ "version": "3.0.0",
9897
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
9898
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
9899
+ "dev": true
9900
+ },
9901
+ "strip-ansi": {
9902
+ "version": "4.0.0",
9903
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
9904
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
9905
+ "dev": true,
9906
+ "requires": {
9907
+ "ansi-regex": "^3.0.0"
9908
+ }
9909
+ }
9910
+ }
9911
+ },
9912
+ "string.prototype.trimend": {
9913
+ "version": "1.0.1",
9914
+ "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz",
9915
+ "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==",
9916
+ "dev": true,
9917
+ "requires": {
9918
+ "define-properties": "^1.1.3",
9919
+ "es-abstract": "^1.17.5"
9920
+ }
9921
+ },
9922
+ "string.prototype.trimleft": {
9923
+ "version": "2.1.2",
9924
+ "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz",
9925
+ "integrity": "sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==",
9926
+ "dev": true,
9927
+ "requires": {
9928
+ "define-properties": "^1.1.3",
9929
+ "es-abstract": "^1.17.5",
9930
+ "string.prototype.trimstart": "^1.0.0"
9931
+ }
9932
+ },
9933
+ "string.prototype.trimright": {
9934
+ "version": "2.1.2",
9935
+ "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz",
9936
+ "integrity": "sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==",
9937
+ "dev": true,
9938
+ "requires": {
9939
+ "define-properties": "^1.1.3",
9940
+ "es-abstract": "^1.17.5",
9941
+ "string.prototype.trimend": "^1.0.0"
9942
+ }
9943
+ },
9944
+ "string.prototype.trimstart": {
9945
+ "version": "1.0.1",
9946
+ "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz",
9947
+ "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==",
9948
+ "dev": true,
9949
+ "requires": {
9950
+ "define-properties": "^1.1.3",
9951
+ "es-abstract": "^1.17.5"
9952
+ }
9953
+ },
9954
+ "string_decoder": {
9955
+ "version": "1.1.1",
9956
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
9957
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
9958
+ "dev": true,
9959
+ "requires": {
9960
+ "safe-buffer": "~5.1.0"
9961
+ }
9962
+ },
9963
+ "stringify-entities": {
9964
+ "version": "1.3.2",
9965
+ "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-1.3.2.tgz",
9966
+ "integrity": "sha512-nrBAQClJAPN2p+uGCVJRPIPakKeKWZ9GtBCmormE7pWOSlHat7+x5A8gx85M7HM5Dt0BP3pP5RhVW77WdbJJ3A==",
9967
+ "dev": true,
9968
+ "requires": {
9969
+ "character-entities-html4": "^1.0.0",
9970
+ "character-entities-legacy": "^1.0.0",
9971
+ "is-alphanumerical": "^1.0.0",
9972
+ "is-hexadecimal": "^1.0.0"
9973
+ }
9974
+ },
9975
+ "strip-ansi": {
9976
+ "version": "3.0.1",
9977
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
9978
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
9979
+ "dev": true,
9980
+ "requires": {
9981
+ "ansi-regex": "^2.0.0"
9982
+ }
9983
+ },
9984
+ "strip-bom": {
9985
+ "version": "3.0.0",
9986
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
9987
+ "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
9988
+ "dev": true
9989
+ },
9990
+ "strip-eof": {
9991
+ "version": "1.0.0",
9992
+ "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
9993
+ "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
9994
+ "dev": true
9995
+ },
9996
+ "strip-indent": {
9997
+ "version": "1.0.1",
9998
+ "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",
9999
+ "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
10000
+ "dev": true,
10001
+ "requires": {
10002
+ "get-stdin": "^4.0.1"
10003
+ }
10004
+ },
10005
+ "strip-json-comments": {
10006
+ "version": "2.0.1",
10007
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
10008
+ "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
10009
+ "dev": true
10010
+ },
10011
+ "style-loader": {
10012
+ "version": "0.23.1",
10013
+ "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.23.1.tgz",
10014
+ "integrity": "sha512-XK+uv9kWwhZMZ1y7mysB+zoihsEj4wneFWAS5qoiLwzW0WzSqMrrsIy+a3zkQJq0ipFtBpX5W3MqyRIBF/WFGg==",
10015
+ "dev": true,
10016
+ "requires": {
10017
+ "loader-utils": "^1.1.0",
10018
+ "schema-utils": "^1.0.0"
10019
+ },
10020
+ "dependencies": {
10021
+ "schema-utils": {
10022
+ "version": "1.0.0",
10023
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
10024
+ "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
10025
+ "dev": true,
10026
+ "requires": {
10027
+ "ajv": "^6.1.0",
10028
+ "ajv-errors": "^1.0.0",
10029
+ "ajv-keywords": "^3.1.0"
10030
+ }
10031
+ }
10032
+ }
10033
+ },
10034
+ "style-search": {
10035
+ "version": "0.1.0",
10036
+ "resolved": "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz",
10037
+ "integrity": "sha1-eVjHk+R+MuB9K1yv5cC/jhLneQI=",
10038
+ "dev": true
10039
+ },
10040
+ "stylehacks": {
10041
+ "version": "4.0.3",
10042
+ "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz",
10043
+ "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==",
10044
+ "dev": true,
10045
+ "requires": {
10046
+ "browserslist": "^4.0.0",
10047
+ "postcss": "^7.0.0",
10048
+ "postcss-selector-parser": "^3.0.0"
10049
+ },
10050
+ "dependencies": {
10051
+ "postcss-selector-parser": {
10052
+ "version": "3.1.2",
10053
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz",
10054
+ "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==",
10055
+ "dev": true,
10056
+ "requires": {
10057
+ "dot-prop": "^5.2.0",
10058
+ "indexes-of": "^1.0.1",
10059
+ "uniq": "^1.0.1"
10060
+ }
10061
+ }
10062
+ }
10063
+ },
10064
+ "stylelint": {
10065
+ "version": "9.10.1",
10066
+ "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-9.10.1.tgz",
10067
+ "integrity": "sha512-9UiHxZhOAHEgeQ7oLGwrwoDR8vclBKlSX7r4fH0iuu0SfPwFaLkb1c7Q2j1cqg9P7IDXeAV2TvQML/fRQzGBBQ==",
10068
+ "dev": true,
10069
+ "requires": {
10070
+ "autoprefixer": "^9.0.0",
10071
+ "balanced-match": "^1.0.0",
10072
+ "chalk": "^2.4.1",
10073
+ "cosmiconfig": "^5.0.0",
10074
+ "debug": "^4.0.0",
10075
+ "execall": "^1.0.0",
10076
+ "file-entry-cache": "^4.0.0",
10077
+ "get-stdin": "^6.0.0",
10078
+ "global-modules": "^2.0.0",
10079
+ "globby": "^9.0.0",
10080
+ "globjoin": "^0.1.4",
10081
+ "html-tags": "^2.0.0",
10082
+ "ignore": "^5.0.4",
10083
+ "import-lazy": "^3.1.0",
10084
+ "imurmurhash": "^0.1.4",
10085
+ "known-css-properties": "^0.11.0",
10086
+ "leven": "^2.1.0",
10087
+ "lodash": "^4.17.4",
10088
+ "log-symbols": "^2.0.0",
10089
+ "mathml-tag-names": "^2.0.1",
10090
+ "meow": "^5.0.0",
10091
+ "micromatch": "^3.1.10",
10092
+ "normalize-selector": "^0.2.0",
10093
+ "pify": "^4.0.0",
10094
+ "postcss": "^7.0.13",
10095
+ "postcss-html": "^0.36.0",
10096
+ "postcss-jsx": "^0.36.0",
10097
+ "postcss-less": "^3.1.0",
10098
+ "postcss-markdown": "^0.36.0",
10099
+ "postcss-media-query-parser": "^0.2.3",
10100
+ "postcss-reporter": "^6.0.0",
10101
+ "postcss-resolve-nested-selector": "^0.1.1",
10102
+ "postcss-safe-parser": "^4.0.0",
10103
+ "postcss-sass": "^0.3.5",
10104
+ "postcss-scss": "^2.0.0",
10105
+ "postcss-selector-parser": "^3.1.0",
10106
+ "postcss-syntax": "^0.36.2",
10107
+ "postcss-value-parser": "^3.3.0",
10108
+ "resolve-from": "^4.0.0",
10109
+ "signal-exit": "^3.0.2",
10110
+ "slash": "^2.0.0",
10111
+ "specificity": "^0.4.1",
10112
+ "string-width": "^3.0.0",
10113
+ "style-search": "^0.1.0",
10114
+ "sugarss": "^2.0.0",
10115
+ "svg-tags": "^1.0.0",
10116
+ "table": "^5.0.0"
10117
+ },
10118
+ "dependencies": {
10119
+ "ansi-regex": {
10120
+ "version": "4.1.0",
10121
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
10122
+ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
10123
+ "dev": true
10124
+ },
10125
+ "camelcase": {
10126
+ "version": "4.1.0",
10127
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
10128
+ "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
10129
+ "dev": true
10130
+ },
10131
+ "camelcase-keys": {
10132
+ "version": "4.2.0",
10133
+ "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz",
10134
+ "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=",
10135
+ "dev": true,
10136
+ "requires": {
10137
+ "camelcase": "^4.1.0",
10138
+ "map-obj": "^2.0.0",
10139
+ "quick-lru": "^1.0.0"
10140
+ }
10141
+ },
10142
+ "file-entry-cache": {
10143
+ "version": "4.0.0",
10144
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-4.0.0.tgz",
10145
+ "integrity": "sha512-AVSwsnbV8vH/UVbvgEhf3saVQXORNv0ZzSkvkhQIaia5Tia+JhGTaa/ePUSVoPHQyGayQNmYfkzFi3WZV5zcpA==",
10146
+ "dev": true,
10147
+ "requires": {
10148
+ "flat-cache": "^2.0.1"
10149
+ }
10150
+ },
10151
+ "get-stdin": {
10152
+ "version": "6.0.0",
10153
+ "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz",
10154
+ "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==",
10155
+ "dev": true
10156
+ },
10157
+ "ignore": {
10158
+ "version": "5.1.4",
10159
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.4.tgz",
10160
+ "integrity": "sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A==",
10161
+ "dev": true
10162
+ },
10163
+ "indent-string": {
10164
+ "version": "3.2.0",
10165
+ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz",
10166
+ "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=",
10167
+ "dev": true
10168
+ },
10169
+ "leven": {
10170
+ "version": "2.1.0",
10171
+ "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz",
10172
+ "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=",
10173
+ "dev": true
10174
+ },
10175
+ "map-obj": {
10176
+ "version": "2.0.0",
10177
+ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz",
10178
+ "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=",
10179
+ "dev": true
10180
+ },
10181
+ "meow": {
10182
+ "version": "5.0.0",
10183
+ "resolved": "https://registry.npmjs.org/meow/-/meow-5.0.0.tgz",
10184
+ "integrity": "sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig==",
10185
+ "dev": true,
10186
+ "requires": {
10187
+ "camelcase-keys": "^4.0.0",
10188
+ "decamelize-keys": "^1.0.0",
10189
+ "loud-rejection": "^1.0.0",
10190
+ "minimist-options": "^3.0.1",
10191
+ "normalize-package-data": "^2.3.4",
10192
+ "read-pkg-up": "^3.0.0",
10193
+ "redent": "^2.0.0",
10194
+ "trim-newlines": "^2.0.0",
10195
+ "yargs-parser": "^10.0.0"
10196
+ }
10197
+ },
10198
+ "postcss-selector-parser": {
10199
+ "version": "3.1.2",
10200
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz",
10201
+ "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==",
10202
+ "dev": true,
10203
+ "requires": {
10204
+ "dot-prop": "^5.2.0",
10205
+ "indexes-of": "^1.0.1",
10206
+ "uniq": "^1.0.1"
10207
+ }
10208
+ },
10209
+ "postcss-value-parser": {
10210
+ "version": "3.3.1",
10211
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
10212
+ "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
10213
+ "dev": true
10214
+ },
10215
+ "read-pkg-up": {
10216
+ "version": "3.0.0",
10217
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz",
10218
+ "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=",
10219
+ "dev": true,
10220
+ "requires": {
10221
+ "find-up": "^2.0.0",
10222
+ "read-pkg": "^3.0.0"
10223
+ }
10224
+ },
10225
+ "redent": {
10226
+ "version": "2.0.0",
10227
+ "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz",
10228
+ "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=",
10229
+ "dev": true,
10230
+ "requires": {
10231
+ "indent-string": "^3.0.0",
10232
+ "strip-indent": "^2.0.0"
10233
+ }
10234
+ },
10235
+ "resolve-from": {
10236
+ "version": "4.0.0",
10237
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
10238
+ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
10239
+ "dev": true
10240
+ },
10241
+ "string-width": {
10242
+ "version": "3.1.0",
10243
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
10244
+ "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
10245
+ "dev": true,
10246
+ "requires": {
10247
+ "emoji-regex": "^7.0.1",
10248
+ "is-fullwidth-code-point": "^2.0.0",
10249
+ "strip-ansi": "^5.1.0"
10250
+ }
10251
+ },
10252
+ "strip-ansi": {
10253
+ "version": "5.2.0",
10254
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
10255
+ "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
10256
+ "dev": true,
10257
+ "requires": {
10258
+ "ansi-regex": "^4.1.0"
10259
+ }
10260
+ },
10261
+ "strip-indent": {
10262
+ "version": "2.0.0",
10263
+ "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz",
10264
+ "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=",
10265
+ "dev": true
10266
+ },
10267
+ "trim-newlines": {
10268
+ "version": "2.0.0",
10269
+ "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz",
10270
+ "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=",
10271
+ "dev": true
10272
+ },
10273
+ "yargs-parser": {
10274
+ "version": "10.1.0",
10275
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz",
10276
+ "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==",
10277
+ "dev": true,
10278
+ "requires": {
10279
+ "camelcase": "^4.1.0"
10280
+ }
10281
+ }
10282
+ }
10283
+ },
10284
+ "stylelint-config-recommended": {
10285
+ "version": "2.2.0",
10286
+ "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-2.2.0.tgz",
10287
+ "integrity": "sha512-bZ+d4RiNEfmoR74KZtCKmsABdBJr4iXRiCso+6LtMJPw5rd/KnxUWTxht7TbafrTJK1YRjNgnN0iVZaJfc3xJA==",
10288
+ "dev": true
10289
+ },
10290
+ "stylelint-config-recommended-scss": {
10291
+ "version": "3.3.0",
10292
+ "resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-3.3.0.tgz",
10293
+ "integrity": "sha512-BvuuLYwoet8JutOP7K1a8YaiENN+0HQn390eDi0SWe1h7Uhx6O3GUQ6Ubgie9b/AmHX4Btmp+ZzVGbzriFTBcA==",
10294
+ "dev": true,
10295
+ "requires": {
10296
+ "stylelint-config-recommended": "^2.2.0"
10297
+ }
10298
+ },
10299
+ "stylelint-config-wordpress": {
10300
+ "version": "13.1.0",
10301
+ "resolved": "https://registry.npmjs.org/stylelint-config-wordpress/-/stylelint-config-wordpress-13.1.0.tgz",
10302
+ "integrity": "sha512-dpKj2/d3/XjDVoOvQzd54GoM8Rj5zldluOZKkVhBCc4JYMc6r1VYL5hpcgIjqy/i2Hyqg4Rh7zTafE/2AWq//w==",
10303
+ "dev": true,
10304
+ "requires": {
10305
+ "stylelint-config-recommended": "^2.1.0",
10306
+ "stylelint-config-recommended-scss": "^3.2.0",
10307
+ "stylelint-scss": "^3.3.0"
10308
+ }
10309
+ },
10310
+ "stylelint-scss": {
10311
+ "version": "3.17.2",
10312
+ "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-3.17.2.tgz",
10313
+ "integrity": "sha512-e0dmxqsofy/HZj4urcGSJw4S6yHDJxiQdT20/1ciCsd5lomisa7YM4+Qtt1EG4hsqEG1dbEeF855tec1UyqcSA==",
10314
+ "dev": true,
10315
+ "requires": {
10316
+ "lodash": "^4.17.15",
10317
+ "postcss-media-query-parser": "^0.2.3",
10318
+ "postcss-resolve-nested-selector": "^0.1.1",
10319
+ "postcss-selector-parser": "^6.0.2",
10320
+ "postcss-value-parser": "^4.1.0"
10321
+ }
10322
+ },
10323
+ "stylelint-webpack-plugin": {
10324
+ "version": "0.10.5",
10325
+ "resolved": "https://registry.npmjs.org/stylelint-webpack-plugin/-/stylelint-webpack-plugin-0.10.5.tgz",
10326
+ "integrity": "sha512-jtYx3aJ2qDMvBMswe5NRPTO7kJgAKafc6GilAkWDp/ewoAmnoxA6TsYMnIPtLECRLwXevaCPvlh2JEUMGZCoUQ==",
10327
+ "dev": true,
10328
+ "requires": {
10329
+ "arrify": "^1.0.1",
10330
+ "micromatch": "^3.1.8",
10331
+ "object-assign": "^4.1.0",
10332
+ "ramda": "^0.25.0"
10333
+ }
10334
+ },
10335
+ "sugarss": {
10336
+ "version": "2.0.0",
10337
+ "resolved": "https://registry.npmjs.org/sugarss/-/sugarss-2.0.0.tgz",
10338
+ "integrity": "sha512-WfxjozUk0UVA4jm+U1d736AUpzSrNsQcIbyOkoE364GrtWmIrFdk5lksEupgWMD4VaT/0kVx1dobpiDumSgmJQ==",
10339
+ "dev": true,
10340
+ "requires": {
10341
+ "postcss": "^7.0.2"
10342
+ }
10343
+ },
10344
+ "supports-color": {
10345
+ "version": "5.5.0",
10346
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
10347
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
10348
+ "dev": true,
10349
+ "requires": {
10350
+ "has-flag": "^3.0.0"
10351
+ }
10352
+ },
10353
+ "svg-tags": {
10354
+ "version": "1.0.0",
10355
+ "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz",
10356
+ "integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=",
10357
+ "dev": true
10358
+ },
10359
+ "svgo": {
10360
+ "version": "1.3.2",
10361
+ "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz",
10362
+ "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==",
10363
+ "dev": true,
10364
+ "requires": {
10365
+ "chalk": "^2.4.1",
10366
+ "coa": "^2.0.2",
10367
+ "css-select": "^2.0.0",
10368
+ "css-select-base-adapter": "^0.1.1",
10369
+ "css-tree": "1.0.0-alpha.37",
10370
+ "csso": "^4.0.2",
10371
+ "js-yaml": "^3.13.1",
10372
+ "mkdirp": "~0.5.1",
10373
+ "object.values": "^1.1.0",
10374
+ "sax": "~1.2.4",
10375
+ "stable": "^0.1.8",
10376
+ "unquote": "~1.1.1",
10377
+ "util.promisify": "~1.0.0"
10378
+ }
10379
+ },
10380
+ "symbol-tree": {
10381
+ "version": "3.2.4",
10382
+ "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
10383
+ "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==",
10384
+ "dev": true
10385
+ },
10386
+ "table": {
10387
+ "version": "5.4.6",
10388
+ "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
10389
+ "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
10390
+ "dev": true,
10391
+ "requires": {
10392
+ "ajv": "^6.10.2",
10393
+ "lodash": "^4.17.14",
10394
+ "slice-ansi": "^2.1.0",
10395
+ "string-width": "^3.0.0"
10396
+ },
10397
+ "dependencies": {
10398
+ "ansi-regex": {
10399
+ "version": "4.1.0",
10400
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
10401
+ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
10402
+ "dev": true
10403
+ },
10404
+ "string-width": {
10405
+ "version": "3.1.0",
10406
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
10407
+ "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
10408
+ "dev": true,
10409
+ "requires": {
10410
+ "emoji-regex": "^7.0.1",
10411
+ "is-fullwidth-code-point": "^2.0.0",
10412
+ "strip-ansi": "^5.1.0"
10413
+ }
10414
+ },
10415
+ "strip-ansi": {
10416
+ "version": "5.2.0",
10417
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
10418
+ "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
10419
+ "dev": true,
10420
+ "requires": {
10421
+ "ansi-regex": "^4.1.0"
10422
+ }
10423
+ }
10424
+ }
10425
+ },
10426
+ "tapable": {
10427
+ "version": "1.1.3",
10428
+ "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz",
10429
+ "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==",
10430
+ "dev": true
10431
+ },
10432
+ "tar": {
10433
+ "version": "2.2.2",
10434
+ "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz",
10435
+ "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==",
10436
+ "dev": true,
10437
+ "requires": {
10438
+ "block-stream": "*",
10439
+ "fstream": "^1.0.12",
10440
+ "inherits": "2"
10441
+ }
10442
+ },
10443
+ "terser": {
10444
+ "version": "4.6.13",
10445
+ "resolved": "https://registry.npmjs.org/terser/-/terser-4.6.13.tgz",
10446
+ "integrity": "sha512-wMvqukYgVpQlymbnNbabVZbtM6PN63AzqexpwJL8tbh/mRT9LE5o+ruVduAGL7D6Fpjl+Q+06U5I9Ul82odAhw==",
10447
+ "dev": true,
10448
+ "requires": {
10449
+ "commander": "^2.20.0",
10450
+ "source-map": "~0.6.1",
10451
+ "source-map-support": "~0.5.12"
10452
+ },
10453
+ "dependencies": {
10454
+ "source-map": {
10455
+ "version": "0.6.1",
10456
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
10457
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
10458
+ "dev": true
10459
+ }
10460
+ }
10461
+ },
10462
+ "terser-webpack-plugin": {
10463
+ "version": "3.0.1",
10464
+ "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-3.0.1.tgz",
10465
+ "integrity": "sha512-eFDtq8qPUEa9hXcUzTwKXTnugIVtlqc1Z/ZVhG8LmRT3lgRY13+pQTnFLY2N7ATB6TKCHuW/IGjoAnZz9wOIqw==",
10466
+ "dev": true,
10467
+ "requires": {
10468
+ "cacache": "^15.0.3",
10469
+ "find-cache-dir": "^3.3.1",
10470
+ "jest-worker": "^26.0.0",
10471
+ "p-limit": "^2.3.0",
10472
+ "schema-utils": "^2.6.6",
10473
+ "serialize-javascript": "^3.0.0",
10474
+ "source-map": "^0.6.1",
10475
+ "terser": "^4.6.13",
10476
+ "webpack-sources": "^1.4.3"
10477
+ },
10478
+ "dependencies": {
10479
+ "find-cache-dir": {
10480
+ "version": "3.3.1",
10481
+ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz",
10482
+ "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==",
10483
+ "dev": true,
10484
+ "requires": {
10485
+ "commondir": "^1.0.1",
10486
+ "make-dir": "^3.0.2",
10487
+ "pkg-dir": "^4.1.0"
10488
+ }
10489
+ },
10490
+ "find-up": {
10491
+ "version": "4.1.0",
10492
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
10493
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
10494
+ "dev": true,
10495
+ "requires": {
10496
+ "locate-path": "^5.0.0",
10497
+ "path-exists": "^4.0.0"
10498
+ }
10499
+ },
10500
+ "has-flag": {
10501
+ "version": "4.0.0",
10502
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
10503
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
10504
+ "dev": true
10505
+ },
10506
+ "jest-worker": {
10507
+ "version": "26.0.0",
10508
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.0.0.tgz",
10509
+ "integrity": "sha512-pPaYa2+JnwmiZjK9x7p9BoZht+47ecFCDFA/CJxspHzeDvQcfVBLWzCiWyo+EGrSiQMWZtCFo9iSvMZnAAo8vw==",
10510
+ "dev": true,
10511
+ "requires": {
10512
+ "merge-stream": "^2.0.0",
10513
+ "supports-color": "^7.0.0"
10514
+ }
10515
+ },
10516
+ "locate-path": {
10517
+ "version": "5.0.0",
10518
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
10519
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
10520
+ "dev": true,
10521
+ "requires": {
10522
+ "p-locate": "^4.1.0"
10523
+ }
10524
+ },
10525
+ "make-dir": {
10526
+ "version": "3.1.0",
10527
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
10528
+ "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
10529
+ "dev": true,
10530
+ "requires": {
10531
+ "semver": "^6.0.0"
10532
+ }
10533
+ },
10534
+ "p-limit": {
10535
+ "version": "2.3.0",
10536
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
10537
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
10538
+ "dev": true,
10539
+ "requires": {
10540
+ "p-try": "^2.0.0"
10541
+ }
10542
+ },
10543
+ "p-locate": {
10544
+ "version": "4.1.0",
10545
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
10546
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
10547
+ "dev": true,
10548
+ "requires": {
10549
+ "p-limit": "^2.2.0"
10550
+ }
10551
+ },
10552
+ "p-try": {
10553
+ "version": "2.2.0",
10554
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
10555
+ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
10556
+ "dev": true
10557
+ },
10558
+ "path-exists": {
10559
+ "version": "4.0.0",
10560
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
10561
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
10562
+ "dev": true
10563
+ },
10564
+ "pkg-dir": {
10565
+ "version": "4.2.0",
10566
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
10567
+ "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
10568
+ "dev": true,
10569
+ "requires": {
10570
+ "find-up": "^4.0.0"
10571
+ }
10572
+ },
10573
+ "semver": {
10574
+ "version": "6.3.0",
10575
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
10576
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
10577
+ "dev": true
10578
+ },
10579
+ "source-map": {
10580
+ "version": "0.6.1",
10581
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
10582
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
10583
+ "dev": true
10584
+ },
10585
+ "supports-color": {
10586
+ "version": "7.1.0",
10587
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
10588
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
10589
+ "dev": true,
10590
+ "requires": {
10591
+ "has-flag": "^4.0.0"
10592
+ }
10593
+ }
10594
+ }
10595
+ },
10596
+ "test-exclude": {
10597
+ "version": "5.2.3",
10598
+ "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz",
10599
+ "integrity": "sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==",
10600
+ "dev": true,
10601
+ "requires": {
10602
+ "glob": "^7.1.3",
10603
+ "minimatch": "^3.0.4",
10604
+ "read-pkg-up": "^4.0.0",
10605
+ "require-main-filename": "^2.0.0"
10606
+ }
10607
+ },
10608
+ "text-table": {
10609
+ "version": "0.2.0",
10610
+ "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
10611
+ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
10612
+ "dev": true
10613
+ },
10614
+ "throat": {
10615
+ "version": "4.1.0",
10616
+ "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz",
10617
+ "integrity": "sha1-iQN8vJLFarGJJua6TLsgDhVnKmo=",
10618
+ "dev": true
10619
+ },
10620
+ "through": {
10621
+ "version": "2.3.8",
10622
+ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
10623
+ "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
10624
+ "dev": true
10625
+ },
10626
+ "through2": {
10627
+ "version": "2.0.5",
10628
+ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
10629
+ "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
10630
+ "dev": true,
10631
+ "requires": {
10632
+ "readable-stream": "~2.3.6",
10633
+ "xtend": "~4.0.1"
10634
+ }
10635
+ },
10636
+ "timers-browserify": {
10637
+ "version": "2.0.11",
10638
+ "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz",
10639
+ "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==",
10640
+ "dev": true,
10641
+ "requires": {
10642
+ "setimmediate": "^1.0.4"
10643
+ }
10644
+ },
10645
+ "timsort": {
10646
+ "version": "0.3.0",
10647
+ "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz",
10648
+ "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=",
10649
+ "dev": true
10650
+ },
10651
+ "tmp": {
10652
+ "version": "0.0.33",
10653
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
10654
+ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
10655
+ "dev": true,
10656
+ "requires": {
10657
+ "os-tmpdir": "~1.0.2"
10658
+ }
10659
+ },
10660
+ "tmpl": {
10661
+ "version": "1.0.4",
10662
+ "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz",
10663
+ "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=",
10664
+ "dev": true
10665
+ },
10666
+ "to-arraybuffer": {
10667
+ "version": "1.0.1",
10668
+ "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
10669
+ "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=",
10670
+ "dev": true
10671
+ },
10672
+ "to-fast-properties": {
10673
+ "version": "2.0.0",
10674
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
10675
+ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
10676
+ "dev": true
10677
+ },
10678
+ "to-object-path": {
10679
+ "version": "0.3.0",
10680
+ "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
10681
+ "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
10682
+ "dev": true,
10683
+ "requires": {
10684
+ "kind-of": "^3.0.2"
10685
+ },
10686
+ "dependencies": {
10687
+ "kind-of": {
10688
+ "version": "3.2.2",
10689
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
10690
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
10691
+ "dev": true,
10692
+ "requires": {
10693
+ "is-buffer": "^1.1.5"
10694
+ }
10695
+ }
10696
+ }
10697
+ },
10698
+ "to-regex": {
10699
+ "version": "3.0.2",
10700
+ "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
10701
+ "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
10702
+ "dev": true,
10703
+ "requires": {
10704
+ "define-property": "^2.0.2",
10705
+ "extend-shallow": "^3.0.2",
10706
+ "regex-not": "^1.0.2",
10707
+ "safe-regex": "^1.1.0"
10708
+ }
10709
+ },
10710
+ "to-regex-range": {
10711
+ "version": "2.1.1",
10712
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
10713
+ "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
10714
+ "dev": true,
10715
+ "requires": {
10716
+ "is-number": "^3.0.0",
10717
+ "repeat-string": "^1.6.1"
10718
+ }
10719
+ },
10720
+ "tough-cookie": {
10721
+ "version": "2.5.0",
10722
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
10723
+ "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
10724
+ "dev": true,
10725
+ "requires": {
10726
+ "psl": "^1.1.28",
10727
+ "punycode": "^2.1.1"
10728
+ }
10729
+ },
10730
+ "tr46": {
10731
+ "version": "1.0.1",
10732
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz",
10733
+ "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=",
10734
+ "dev": true,
10735
+ "requires": {
10736
+ "punycode": "^2.1.0"
10737
+ }
10738
+ },
10739
+ "trim": {
10740
+ "version": "0.0.1",
10741
+ "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz",
10742
+ "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=",
10743
+ "dev": true
10744
+ },
10745
+ "trim-newlines": {
10746
+ "version": "1.0.0",
10747
+ "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
10748
+ "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=",
10749
+ "dev": true
10750
+ },
10751
+ "trim-trailing-lines": {
10752
+ "version": "1.1.3",
10753
+ "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.3.tgz",
10754
+ "integrity": "sha512-4ku0mmjXifQcTVfYDfR5lpgV7zVqPg6zV9rdZmwOPqq0+Zq19xDqEgagqVbc4pOOShbncuAOIs59R3+3gcF3ZA==",
10755
+ "dev": true
10756
+ },
10757
+ "trough": {
10758
+ "version": "1.0.5",
10759
+ "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz",
10760
+ "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==",
10761
+ "dev": true
10762
+ },
10763
+ "true-case-path": {
10764
+ "version": "1.0.3",
10765
+ "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz",
10766
+ "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==",
10767
+ "dev": true,
10768
+ "requires": {
10769
+ "glob": "^7.1.2"
10770
+ }
10771
+ },
10772
+ "tslib": {
10773
+ "version": "1.12.0",
10774
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.12.0.tgz",
10775
+ "integrity": "sha512-5rxCQkP0kytf4H1T4xz1imjxaUUPMvc5aWp0rJ/VMIN7ClRiH1FwFvBt8wOeMasp/epeUnmSW6CixSIePtiLqA==",
10776
+ "dev": true
10777
+ },
10778
+ "tty-browserify": {
10779
+ "version": "0.0.0",
10780
+ "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
10781
+ "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=",
10782
+ "dev": true
10783
+ },
10784
+ "tunnel-agent": {
10785
+ "version": "0.6.0",
10786
+ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
10787
+ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
10788
+ "dev": true,
10789
+ "requires": {
10790
+ "safe-buffer": "^5.0.1"
10791
+ }
10792
+ },
10793
+ "tweetnacl": {
10794
+ "version": "0.14.5",
10795
+ "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
10796
+ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
10797
+ "dev": true
10798
+ },
10799
+ "type-check": {
10800
+ "version": "0.3.2",
10801
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
10802
+ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
10803
+ "dev": true,
10804
+ "requires": {
10805
+ "prelude-ls": "~1.1.2"
10806
+ }
10807
+ },
10808
+ "type-fest": {
10809
+ "version": "0.13.1",
10810
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz",
10811
+ "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==",
10812
+ "dev": true
10813
+ },
10814
+ "typedarray": {
10815
+ "version": "0.0.6",
10816
+ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
10817
+ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
10818
+ "dev": true
10819
+ },
10820
+ "unherit": {
10821
+ "version": "1.1.3",
10822
+ "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz",
10823
+ "integrity": "sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==",
10824
+ "dev": true,
10825
+ "requires": {
10826
+ "inherits": "^2.0.0",
10827
+ "xtend": "^4.0.0"
10828
+ }
10829
+ },
10830
+ "unicode-canonical-property-names-ecmascript": {
10831
+ "version": "1.0.4",
10832
+ "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz",
10833
+ "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==",
10834
+ "dev": true
10835
+ },
10836
+ "unicode-match-property-ecmascript": {
10837
+ "version": "1.0.4",
10838
+ "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz",
10839
+ "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==",
10840
+ "dev": true,
10841
+ "requires": {
10842
+ "unicode-canonical-property-names-ecmascript": "^1.0.4",
10843
+ "unicode-property-aliases-ecmascript": "^1.0.4"
10844
+ }
10845
+ },
10846
+ "unicode-match-property-value-ecmascript": {
10847
+ "version": "1.2.0",
10848
+ "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz",
10849
+ "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==",
10850
+ "dev": true
10851
+ },
10852
+ "unicode-property-aliases-ecmascript": {
10853
+ "version": "1.1.0",
10854
+ "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz",
10855
+ "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==",
10856
+ "dev": true
10857
+ },
10858
+ "unified": {
10859
+ "version": "7.1.0",
10860
+ "resolved": "https://registry.npmjs.org/unified/-/unified-7.1.0.tgz",
10861
+ "integrity": "sha512-lbk82UOIGuCEsZhPj8rNAkXSDXd6p0QLzIuSsCdxrqnqU56St4eyOB+AlXsVgVeRmetPTYydIuvFfpDIed8mqw==",
10862
+ "dev": true,
10863
+ "requires": {
10864
+ "@types/unist": "^2.0.0",
10865
+ "@types/vfile": "^3.0.0",
10866
+ "bail": "^1.0.0",
10867
+ "extend": "^3.0.0",
10868
+ "is-plain-obj": "^1.1.0",
10869
+ "trough": "^1.0.0",
10870
+ "vfile": "^3.0.0",
10871
+ "x-is-string": "^0.1.0"
10872
+ }
10873
+ },
10874
+ "union-value": {
10875
+ "version": "1.0.1",
10876
+ "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
10877
+ "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
10878
+ "dev": true,
10879
+ "requires": {
10880
+ "arr-union": "^3.1.0",
10881
+ "get-value": "^2.0.6",
10882
+ "is-extendable": "^0.1.1",
10883
+ "set-value": "^2.0.1"
10884
+ }
10885
+ },
10886
+ "uniq": {
10887
+ "version": "1.0.1",
10888
+ "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz",
10889
+ "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=",
10890
+ "dev": true
10891
+ },
10892
+ "uniqs": {
10893
+ "version": "2.0.0",
10894
+ "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz",
10895
+ "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=",
10896
+ "dev": true
10897
+ },
10898
+ "unique-filename": {
10899
+ "version": "1.1.1",
10900
+ "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
10901
+ "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
10902
+ "dev": true,
10903
+ "requires": {
10904
+ "unique-slug": "^2.0.0"
10905
+ }
10906
+ },
10907
+ "unique-slug": {
10908
+ "version": "2.0.2",
10909
+ "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz",
10910
+ "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==",
10911
+ "dev": true,
10912
+ "requires": {
10913
+ "imurmurhash": "^0.1.4"
10914
+ }
10915
+ },
10916
+ "unist-util-find-all-after": {
10917
+ "version": "1.0.5",
10918
+ "resolved": "https://registry.npmjs.org/unist-util-find-all-after/-/unist-util-find-all-after-1.0.5.tgz",
10919
+ "integrity": "sha512-lWgIc3rrTMTlK1Y0hEuL+k+ApzFk78h+lsaa2gHf63Gp5Ww+mt11huDniuaoq1H+XMK2lIIjjPkncxXcDp3QDw==",
10920
+ "dev": true,
10921
+ "requires": {
10922
+ "unist-util-is": "^3.0.0"
10923
+ }
10924
+ },
10925
+ "unist-util-is": {
10926
+ "version": "3.0.0",
10927
+ "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-3.0.0.tgz",
10928
+ "integrity": "sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A==",
10929
+ "dev": true
10930
+ },
10931
+ "unist-util-remove-position": {
10932
+ "version": "1.1.4",
10933
+ "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.4.tgz",
10934
+ "integrity": "sha512-tLqd653ArxJIPnKII6LMZwH+mb5q+n/GtXQZo6S6csPRs5zB0u79Yw8ouR3wTw8wxvdJFhpP6Y7jorWdCgLO0A==",
10935
+ "dev": true,
10936
+ "requires": {
10937
+ "unist-util-visit": "^1.1.0"
10938
+ }
10939
+ },
10940
+ "unist-util-stringify-position": {
10941
+ "version": "2.0.3",
10942
+ "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz",
10943
+ "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==",
10944
+ "dev": true,
10945
+ "requires": {
10946
+ "@types/unist": "^2.0.2"
10947
+ }
10948
+ },
10949
+ "unist-util-visit": {
10950
+ "version": "1.4.1",
10951
+ "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.4.1.tgz",
10952
+ "integrity": "sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==",
10953
+ "dev": true,
10954
+ "requires": {
10955
+ "unist-util-visit-parents": "^2.0.0"
10956
+ }
10957
+ },
10958
+ "unist-util-visit-parents": {
10959
+ "version": "2.1.2",
10960
+ "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz",
10961
+ "integrity": "sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g==",
10962
+ "dev": true,
10963
+ "requires": {
10964
+ "unist-util-is": "^3.0.0"
10965
+ }
10966
+ },
10967
+ "universalify": {
10968
+ "version": "0.1.2",
10969
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
10970
+ "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
10971
+ "dev": true
10972
+ },
10973
+ "unquote": {
10974
+ "version": "1.1.1",
10975
+ "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz",
10976
+ "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=",
10977
+ "dev": true
10978
+ },
10979
+ "unset-value": {
10980
+ "version": "1.0.0",
10981
+ "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
10982
+ "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
10983
+ "dev": true,
10984
+ "requires": {
10985
+ "has-value": "^0.3.1",
10986
+ "isobject": "^3.0.0"
10987
+ },
10988
+ "dependencies": {
10989
+ "has-value": {
10990
+ "version": "0.3.1",
10991
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
10992
+ "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
10993
+ "dev": true,
10994
+ "requires": {
10995
+ "get-value": "^2.0.3",
10996
+ "has-values": "^0.1.4",
10997
+ "isobject": "^2.0.0"
10998
+ },
10999
+ "dependencies": {
11000
+ "isobject": {
11001
+ "version": "2.1.0",
11002
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
11003
+ "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
11004
+ "dev": true,
11005
+ "requires": {
11006
+ "isarray": "1.0.0"
11007
+ }
11008
+ }
11009
+ }
11010
+ },
11011
+ "has-values": {
11012
+ "version": "0.1.4",
11013
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
11014
+ "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
11015
+ "dev": true
11016
+ }
11017
+ }
11018
+ },
11019
+ "upath": {
11020
+ "version": "1.2.0",
11021
+ "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz",
11022
+ "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==",
11023
+ "dev": true
11024
+ },
11025
+ "uri-js": {
11026
+ "version": "4.2.2",
11027
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
11028
+ "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
11029
+ "dev": true,
11030
+ "requires": {
11031
+ "punycode": "^2.1.0"
11032
+ }
11033
+ },
11034
+ "urix": {
11035
+ "version": "0.1.0",
11036
+ "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
11037
+ "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
11038
+ "dev": true
11039
+ },
11040
+ "url": {
11041
+ "version": "0.11.0",
11042
+ "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
11043
+ "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
11044
+ "dev": true,
11045
+ "requires": {
11046
+ "punycode": "1.3.2",
11047
+ "querystring": "0.2.0"
11048
+ },
11049
+ "dependencies": {
11050
+ "punycode": {
11051
+ "version": "1.3.2",
11052
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
11053
+ "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
11054
+ "dev": true
11055
+ }
11056
+ }
11057
+ },
11058
+ "use": {
11059
+ "version": "3.1.1",
11060
+ "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
11061
+ "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
11062
+ "dev": true
11063
+ },
11064
+ "util": {
11065
+ "version": "0.11.1",
11066
+ "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz",
11067
+ "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==",
11068
+ "dev": true,
11069
+ "requires": {
11070
+ "inherits": "2.0.3"
11071
+ },
11072
+ "dependencies": {
11073
+ "inherits": {
11074
+ "version": "2.0.3",
11075
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
11076
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
11077
+ "dev": true
11078
+ }
11079
+ }
11080
+ },
11081
+ "util-deprecate": {
11082
+ "version": "1.0.2",
11083
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
11084
+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
11085
+ "dev": true
11086
+ },
11087
+ "util.promisify": {
11088
+ "version": "1.0.1",
11089
+ "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz",
11090
+ "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==",
11091
+ "dev": true,
11092
+ "requires": {
11093
+ "define-properties": "^1.1.3",
11094
+ "es-abstract": "^1.17.2",
11095
+ "has-symbols": "^1.0.1",
11096
+ "object.getownpropertydescriptors": "^2.1.0"
11097
+ }
11098
+ },
11099
+ "uuid": {
11100
+ "version": "3.4.0",
11101
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
11102
+ "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
11103
+ "dev": true
11104
+ },
11105
+ "v8-compile-cache": {
11106
+ "version": "2.0.3",
11107
+ "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz",
11108
+ "integrity": "sha512-CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w==",
11109
+ "dev": true
11110
+ },
11111
+ "validate-npm-package-license": {
11112
+ "version": "3.0.4",
11113
+ "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
11114
+ "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
11115
+ "dev": true,
11116
+ "requires": {
11117
+ "spdx-correct": "^3.0.0",
11118
+ "spdx-expression-parse": "^3.0.0"
11119
+ }
11120
+ },
11121
+ "vendors": {
11122
+ "version": "1.0.4",
11123
+ "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz",
11124
+ "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==",
11125
+ "dev": true
11126
+ },
11127
+ "verror": {
11128
+ "version": "1.10.0",
11129
+ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
11130
+ "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
11131
+ "dev": true,
11132
+ "requires": {
11133
+ "assert-plus": "^1.0.0",
11134
+ "core-util-is": "1.0.2",
11135
+ "extsprintf": "^1.2.0"
11136
+ }
11137
+ },
11138
+ "vfile": {
11139
+ "version": "3.0.1",
11140
+ "resolved": "https://registry.npmjs.org/vfile/-/vfile-3.0.1.tgz",
11141
+ "integrity": "sha512-y7Y3gH9BsUSdD4KzHsuMaCzRjglXN0W2EcMf0gpvu6+SbsGhMje7xDc8AEoeXy6mIwCKMI6BkjMsRjzQbhMEjQ==",
11142
+ "dev": true,
11143
+ "requires": {
11144
+ "is-buffer": "^2.0.0",
11145
+ "replace-ext": "1.0.0",
11146
+ "unist-util-stringify-position": "^1.0.0",
11147
+ "vfile-message": "^1.0.0"
11148
+ },
11149
+ "dependencies": {
11150
+ "is-buffer": {
11151
+ "version": "2.0.4",
11152
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz",
11153
+ "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==",
11154
+ "dev": true
11155
+ },
11156
+ "unist-util-stringify-position": {
11157
+ "version": "1.1.2",
11158
+ "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz",
11159
+ "integrity": "sha512-pNCVrk64LZv1kElr0N1wPiHEUoXNVFERp+mlTg/s9R5Lwg87f9bM/3sQB99w+N9D/qnM9ar3+AKDBwo/gm/iQQ==",
11160
+ "dev": true
11161
+ },
11162
+ "vfile-message": {
11163
+ "version": "1.1.1",
11164
+ "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-1.1.1.tgz",
11165
+ "integrity": "sha512-1WmsopSGhWt5laNir+633LszXvZ+Z/lxveBf6yhGsqnQIhlhzooZae7zV6YVM1Sdkw68dtAW3ow0pOdPANugvA==",
11166
+ "dev": true,
11167
+ "requires": {
11168
+ "unist-util-stringify-position": "^1.1.1"
11169
+ }
11170
+ }
11171
+ }
11172
+ },
11173
+ "vfile-location": {
11174
+ "version": "2.0.6",
11175
+ "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.6.tgz",
11176
+ "integrity": "sha512-sSFdyCP3G6Ka0CEmN83A2YCMKIieHx0EDaj5IDP4g1pa5ZJ4FJDvpO0WODLxo4LUX4oe52gmSCK7Jw4SBghqxA==",
11177
+ "dev": true
11178
+ },
11179
+ "vfile-message": {
11180
+ "version": "2.0.4",
11181
+ "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz",
11182
+ "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==",
11183
+ "dev": true,
11184
+ "requires": {
11185
+ "@types/unist": "^2.0.0",
11186
+ "unist-util-stringify-position": "^2.0.0"
11187
+ }
11188
+ },
11189
+ "vm-browserify": {
11190
+ "version": "1.1.2",
11191
+ "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz",
11192
+ "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==",
11193
+ "dev": true
11194
+ },
11195
+ "w3c-hr-time": {
11196
+ "version": "1.0.2",
11197
+ "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz",
11198
+ "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==",
11199
+ "dev": true,
11200
+ "requires": {
11201
+ "browser-process-hrtime": "^1.0.0"
11202
+ }
11203
+ },
11204
+ "walker": {
11205
+ "version": "1.0.7",
11206
+ "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz",
11207
+ "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=",
11208
+ "dev": true,
11209
+ "requires": {
11210
+ "makeerror": "1.0.x"
11211
+ }
11212
+ },
11213
+ "watchpack": {
11214
+ "version": "1.6.1",
11215
+ "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.1.tgz",
11216
+ "integrity": "sha512-+IF9hfUFOrYOOaKyfaI7h7dquUIOgyEMoQMLA7OP5FxegKA2+XdXThAZ9TU2kucfhDH7rfMHs1oPYziVGWRnZA==",
11217
+ "dev": true,
11218
+ "requires": {
11219
+ "chokidar": "^2.1.8",
11220
+ "graceful-fs": "^4.1.2",
11221
+ "neo-async": "^2.5.0"
11222
+ }
11223
+ },
11224
+ "webidl-conversions": {
11225
+ "version": "4.0.2",
11226
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz",
11227
+ "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==",
11228
+ "dev": true
11229
+ },
11230
+ "webpack": {
11231
+ "version": "4.43.0",
11232
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.43.0.tgz",
11233
+ "integrity": "sha512-GW1LjnPipFW2Y78OOab8NJlCflB7EFskMih2AHdvjbpKMeDJqEgSx24cXXXiPS65+WSwVyxtDsJH6jGX2czy+g==",
11234
+ "dev": true,
11235
+ "requires": {
11236
+ "@webassemblyjs/ast": "1.9.0",
11237
+ "@webassemblyjs/helper-module-context": "1.9.0",
11238
+ "@webassemblyjs/wasm-edit": "1.9.0",
11239
+ "@webassemblyjs/wasm-parser": "1.9.0",
11240
+ "acorn": "^6.4.1",
11241
+ "ajv": "^6.10.2",
11242
+ "ajv-keywords": "^3.4.1",
11243
+ "chrome-trace-event": "^1.0.2",
11244
+ "enhanced-resolve": "^4.1.0",
11245
+ "eslint-scope": "^4.0.3",
11246
+ "json-parse-better-errors": "^1.0.2",
11247
+ "loader-runner": "^2.4.0",
11248
+ "loader-utils": "^1.2.3",
11249
+ "memory-fs": "^0.4.1",
11250
+ "micromatch": "^3.1.10",
11251
+ "mkdirp": "^0.5.3",
11252
+ "neo-async": "^2.6.1",
11253
+ "node-libs-browser": "^2.2.1",
11254
+ "schema-utils": "^1.0.0",
11255
+ "tapable": "^1.1.3",
11256
+ "terser-webpack-plugin": "^1.4.3",
11257
+ "watchpack": "^1.6.1",
11258
+ "webpack-sources": "^1.4.1"
11259
+ },
11260
+ "dependencies": {
11261
+ "cacache": {
11262
+ "version": "12.0.4",
11263
+ "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz",
11264
+ "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==",
11265
+ "dev": true,
11266
+ "requires": {
11267
+ "bluebird": "^3.5.5",
11268
+ "chownr": "^1.1.1",
11269
+ "figgy-pudding": "^3.5.1",
11270
+ "glob": "^7.1.4",
11271
+ "graceful-fs": "^4.1.15",
11272
+ "infer-owner": "^1.0.3",
11273
+ "lru-cache": "^5.1.1",
11274
+ "mississippi": "^3.0.0",
11275
+ "mkdirp": "^0.5.1",
11276
+ "move-concurrently": "^1.0.1",
11277
+ "promise-inflight": "^1.0.1",
11278
+ "rimraf": "^2.6.3",
11279
+ "ssri": "^6.0.1",
11280
+ "unique-filename": "^1.1.1",
11281
+ "y18n": "^4.0.0"
11282
+ }
11283
+ },
11284
+ "chownr": {
11285
+ "version": "1.1.4",
11286
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
11287
+ "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
11288
+ "dev": true
11289
+ },
11290
+ "lru-cache": {
11291
+ "version": "5.1.1",
11292
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
11293
+ "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
11294
+ "dev": true,
11295
+ "requires": {
11296
+ "yallist": "^3.0.2"
11297
+ }
11298
+ },
11299
+ "schema-utils": {
11300
+ "version": "1.0.0",
11301
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
11302
+ "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
11303
+ "dev": true,
11304
+ "requires": {
11305
+ "ajv": "^6.1.0",
11306
+ "ajv-errors": "^1.0.0",
11307
+ "ajv-keywords": "^3.1.0"
11308
+ }
11309
+ },
11310
+ "serialize-javascript": {
11311
+ "version": "2.1.2",
11312
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz",
11313
+ "integrity": "sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==",
11314
+ "dev": true
11315
+ },
11316
+ "source-map": {
11317
+ "version": "0.6.1",
11318
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
11319
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
11320
+ "dev": true
11321
+ },
11322
+ "ssri": {
11323
+ "version": "6.0.1",
11324
+ "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz",
11325
+ "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==",
11326
+ "dev": true,
11327
+ "requires": {
11328
+ "figgy-pudding": "^3.5.1"
11329
+ }
11330
+ },
11331
+ "terser-webpack-plugin": {
11332
+ "version": "1.4.3",
11333
+ "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.3.tgz",
11334
+ "integrity": "sha512-QMxecFz/gHQwteWwSo5nTc6UaICqN1bMedC5sMtUc7y3Ha3Q8y6ZO0iCR8pq4RJC8Hjf0FEPEHZqcMB/+DFCrA==",
11335
+ "dev": true,
11336
+ "requires": {
11337
+ "cacache": "^12.0.2",
11338
+ "find-cache-dir": "^2.1.0",
11339
+ "is-wsl": "^1.1.0",
11340
+ "schema-utils": "^1.0.0",
11341
+ "serialize-javascript": "^2.1.2",
11342
+ "source-map": "^0.6.1",
11343
+ "terser": "^4.1.2",
11344
+ "webpack-sources": "^1.4.0",
11345
+ "worker-farm": "^1.7.0"
11346
+ }
11347
+ },
11348
+ "yallist": {
11349
+ "version": "3.1.1",
11350
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
11351
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
11352
+ "dev": true
11353
+ }
11354
+ }
11355
+ },
11356
+ "webpack-cli": {
11357
+ "version": "3.3.11",
11358
+ "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.11.tgz",
11359
+ "integrity": "sha512-dXlfuml7xvAFwYUPsrtQAA9e4DOe58gnzSxhgrO/ZM/gyXTBowrsYeubyN4mqGhYdpXMFNyQ6emjJS9M7OBd4g==",
11360
+ "dev": true,
11361
+ "requires": {
11362
+ "chalk": "2.4.2",
11363
+ "cross-spawn": "6.0.5",
11364
+ "enhanced-resolve": "4.1.0",
11365
+ "findup-sync": "3.0.0",
11366
+ "global-modules": "2.0.0",
11367
+ "import-local": "2.0.0",
11368
+ "interpret": "1.2.0",
11369
+ "loader-utils": "1.2.3",
11370
+ "supports-color": "6.1.0",
11371
+ "v8-compile-cache": "2.0.3",
11372
+ "yargs": "13.2.4"
11373
+ },
11374
+ "dependencies": {
11375
+ "ansi-regex": {
11376
+ "version": "4.1.0",
11377
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
11378
+ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
11379
+ "dev": true
11380
+ },
11381
+ "emojis-list": {
11382
+ "version": "2.1.0",
11383
+ "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
11384
+ "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=",
11385
+ "dev": true
11386
+ },
11387
+ "enhanced-resolve": {
11388
+ "version": "4.1.0",
11389
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz",
11390
+ "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==",
11391
+ "dev": true,
11392
+ "requires": {
11393
+ "graceful-fs": "^4.1.2",
11394
+ "memory-fs": "^0.4.0",
11395
+ "tapable": "^1.0.0"
11396
+ }
11397
+ },
11398
+ "find-up": {
11399
+ "version": "3.0.0",
11400
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
11401
+ "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
11402
+ "dev": true,
11403
+ "requires": {
11404
+ "locate-path": "^3.0.0"
11405
+ }
11406
+ },
11407
+ "json5": {
11408
+ "version": "1.0.1",
11409
+ "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
11410
+ "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
11411
+ "dev": true,
11412
+ "requires": {
11413
+ "minimist": "^1.2.0"
11414
+ }
11415
+ },
11416
+ "loader-utils": {
11417
+ "version": "1.2.3",
11418
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz",
11419
+ "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==",
11420
+ "dev": true,
11421
+ "requires": {
11422
+ "big.js": "^5.2.2",
11423
+ "emojis-list": "^2.0.0",
11424
+ "json5": "^1.0.1"
11425
+ }
11426
+ },
11427
+ "locate-path": {
11428
+ "version": "3.0.0",
11429
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
11430
+ "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
11431
+ "dev": true,
11432
+ "requires": {
11433
+ "p-locate": "^3.0.0",
11434
+ "path-exists": "^3.0.0"
11435
+ }
11436
+ },
11437
+ "p-limit": {
11438
+ "version": "2.3.0",
11439
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
11440
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
11441
+ "dev": true,
11442
+ "requires": {
11443
+ "p-try": "^2.0.0"
11444
+ }
11445
+ },
11446
+ "p-locate": {
11447
+ "version": "3.0.0",
11448
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
11449
+ "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
11450
+ "dev": true,
11451
+ "requires": {
11452
+ "p-limit": "^2.0.0"
11453
+ }
11454
+ },
11455
+ "p-try": {
11456
+ "version": "2.2.0",
11457
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
11458
+ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
11459
+ "dev": true
11460
+ },
11461
+ "string-width": {
11462
+ "version": "3.1.0",
11463
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
11464
+ "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
11465
+ "dev": true,
11466
+ "requires": {
11467
+ "emoji-regex": "^7.0.1",
11468
+ "is-fullwidth-code-point": "^2.0.0",
11469
+ "strip-ansi": "^5.1.0"
11470
+ }
11471
+ },
11472
+ "strip-ansi": {
11473
+ "version": "5.2.0",
11474
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
11475
+ "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
11476
+ "dev": true,
11477
+ "requires": {
11478
+ "ansi-regex": "^4.1.0"
11479
+ }
11480
+ },
11481
+ "supports-color": {
11482
+ "version": "6.1.0",
11483
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
11484
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
11485
+ "dev": true,
11486
+ "requires": {
11487
+ "has-flag": "^3.0.0"
11488
+ }
11489
+ },
11490
+ "yargs": {
11491
+ "version": "13.2.4",
11492
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.4.tgz",
11493
+ "integrity": "sha512-HG/DWAJa1PAnHT9JAhNa8AbAv3FPaiLzioSjCcmuXXhP8MlpHO5vwls4g4j6n30Z74GVQj8Xa62dWVx1QCGklg==",
11494
+ "dev": true,
11495
+ "requires": {
11496
+ "cliui": "^5.0.0",
11497
+ "find-up": "^3.0.0",
11498
+ "get-caller-file": "^2.0.1",
11499
+ "os-locale": "^3.1.0",
11500
+ "require-directory": "^2.1.1",
11501
+ "require-main-filename": "^2.0.0",
11502
+ "set-blocking": "^2.0.0",
11503
+ "string-width": "^3.0.0",
11504
+ "which-module": "^2.0.0",
11505
+ "y18n": "^4.0.0",
11506
+ "yargs-parser": "^13.1.0"
11507
+ }
11508
+ }
11509
+ }
11510
+ },
11511
+ "webpack-sources": {
11512
+ "version": "1.4.3",
11513
+ "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz",
11514
+ "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==",
11515
+ "dev": true,
11516
+ "requires": {
11517
+ "source-list-map": "^2.0.0",
11518
+ "source-map": "~0.6.1"
11519
+ },
11520
+ "dependencies": {
11521
+ "source-map": {
11522
+ "version": "0.6.1",
11523
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
11524
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
11525
+ "dev": true
11526
+ }
11527
+ }
11528
+ },
11529
+ "whatwg-encoding": {
11530
+ "version": "1.0.5",
11531
+ "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz",
11532
+ "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==",
11533
+ "dev": true,
11534
+ "requires": {
11535
+ "iconv-lite": "0.4.24"
11536
+ }
11537
+ },
11538
+ "whatwg-mimetype": {
11539
+ "version": "2.3.0",
11540
+ "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz",
11541
+ "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==",
11542
+ "dev": true
11543
+ },
11544
+ "whatwg-url": {
11545
+ "version": "6.5.0",
11546
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz",
11547
+ "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==",
11548
+ "dev": true,
11549
+ "requires": {
11550
+ "lodash.sortby": "^4.7.0",
11551
+ "tr46": "^1.0.1",
11552
+ "webidl-conversions": "^4.0.2"
11553
+ }
11554
+ },
11555
+ "which": {
11556
+ "version": "1.3.1",
11557
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
11558
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
11559
+ "dev": true,
11560
+ "requires": {
11561
+ "isexe": "^2.0.0"
11562
+ }
11563
+ },
11564
+ "which-module": {
11565
+ "version": "2.0.0",
11566
+ "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
11567
+ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
11568
+ "dev": true
11569
+ },
11570
+ "wide-align": {
11571
+ "version": "1.1.3",
11572
+ "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
11573
+ "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
11574
+ "dev": true,
11575
+ "requires": {
11576
+ "string-width": "^1.0.2 || 2"
11577
+ }
11578
+ },
11579
+ "word-wrap": {
11580
+ "version": "1.2.3",
11581
+ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
11582
+ "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
11583
+ "dev": true
11584
+ },
11585
+ "worker-farm": {
11586
+ "version": "1.7.0",
11587
+ "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz",
11588
+ "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==",
11589
+ "dev": true,
11590
+ "requires": {
11591
+ "errno": "~0.1.7"
11592
+ }
11593
+ },
11594
+ "wp-pot": {
11595
+ "version": "1.9.2",
11596
+ "resolved": "https://registry.npmjs.org/wp-pot/-/wp-pot-1.9.2.tgz",
11597
+ "integrity": "sha512-B4lKZfgo8mDrNDGm9fRXChzc3t/Isqm7Yu9QrdXzZw9JzS9Pqqf40DRpSQcwaGuGI6aIVt6om8LX207xw8VRng==",
11598
+ "dev": true,
11599
+ "requires": {
11600
+ "matched": "^5.0.0",
11601
+ "path-sort": "^0.1.0",
11602
+ "php-parser": "^3.0.0"
11603
+ }
11604
+ },
11605
+ "wp-pot-cli": {
11606
+ "version": "1.4.2",
11607
+ "resolved": "https://registry.npmjs.org/wp-pot-cli/-/wp-pot-cli-1.4.2.tgz",
11608
+ "integrity": "sha512-71lKlxLCIBNXnIYT1kWLBnTd0rN1wMIYFkh04jwLiCFRjU/0XZLccvUQmuIDEixXSar4tLjfsCW2a8e5lt2KEw==",
11609
+ "dev": true,
11610
+ "requires": {
11611
+ "meow": "^6.1.0",
11612
+ "wp-pot": "^1.9.2"
11613
+ },
11614
+ "dependencies": {
11615
+ "camelcase-keys": {
11616
+ "version": "6.2.2",
11617
+ "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz",
11618
+ "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==",
11619
+ "dev": true,
11620
+ "requires": {
11621
+ "camelcase": "^5.3.1",
11622
+ "map-obj": "^4.0.0",
11623
+ "quick-lru": "^4.0.1"
11624
+ }
11625
+ },
11626
+ "find-up": {
11627
+ "version": "4.1.0",
11628
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
11629
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
11630
+ "dev": true,
11631
+ "requires": {
11632
+ "locate-path": "^5.0.0",
11633
+ "path-exists": "^4.0.0"
11634
+ }
11635
+ },
11636
+ "indent-string": {
11637
+ "version": "4.0.0",
11638
+ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
11639
+ "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
11640
+ "dev": true
11641
+ },
11642
+ "locate-path": {
11643
+ "version": "5.0.0",
11644
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
11645
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
11646
+ "dev": true,
11647
+ "requires": {
11648
+ "p-locate": "^4.1.0"
11649
+ }
11650
+ },
11651
+ "map-obj": {
11652
+ "version": "4.1.0",
11653
+ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.1.0.tgz",
11654
+ "integrity": "sha512-glc9y00wgtwcDmp7GaE/0b0OnxpNJsVf3ael/An6Fe2Q51LLwN1er6sdomLRzz5h0+yMpiYLhWYF5R7HeqVd4g==",
11655
+ "dev": true
11656
+ },
11657
+ "meow": {
11658
+ "version": "6.1.1",
11659
+ "resolved": "https://registry.npmjs.org/meow/-/meow-6.1.1.tgz",
11660
+ "integrity": "sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==",
11661
+ "dev": true,
11662
+ "requires": {
11663
+ "@types/minimist": "^1.2.0",
11664
+ "camelcase-keys": "^6.2.2",
11665
+ "decamelize-keys": "^1.1.0",
11666
+ "hard-rejection": "^2.1.0",
11667
+ "minimist-options": "^4.0.2",
11668
+ "normalize-package-data": "^2.5.0",
11669
+ "read-pkg-up": "^7.0.1",
11670
+ "redent": "^3.0.0",
11671
+ "trim-newlines": "^3.0.0",
11672
+ "type-fest": "^0.13.1",
11673
+ "yargs-parser": "^18.1.3"
11674
+ }
11675
+ },
11676
+ "minimist-options": {
11677
+ "version": "4.0.2",
11678
+ "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.0.2.tgz",
11679
+ "integrity": "sha512-seq4hpWkYSUh1y7NXxzucwAN9yVlBc3Upgdjz8vLCP97jG8kaOmzYrVH/m7tQ1NYD1wdtZbSLfdy4zFmRWuc/w==",
11680
+ "dev": true,
11681
+ "requires": {
11682
+ "arrify": "^1.0.1",
11683
+ "is-plain-obj": "^1.1.0"
11684
+ }
11685
+ },
11686
+ "p-limit": {
11687
+ "version": "2.3.0",
11688
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
11689
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
11690
+ "dev": true,
11691
+ "requires": {
11692
+ "p-try": "^2.0.0"
11693
+ }
11694
+ },
11695
+ "p-locate": {
11696
+ "version": "4.1.0",
11697
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
11698
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
11699
+ "dev": true,
11700
+ "requires": {
11701
+ "p-limit": "^2.2.0"
11702
+ }
11703
+ },
11704
+ "p-try": {
11705
+ "version": "2.2.0",
11706
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
11707
+ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
11708
+ "dev": true
11709
+ },
11710
+ "parse-json": {
11711
+ "version": "5.0.0",
11712
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz",
11713
+ "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==",
11714
+ "dev": true,
11715
+ "requires": {
11716
+ "@babel/code-frame": "^7.0.0",
11717
+ "error-ex": "^1.3.1",
11718
+ "json-parse-better-errors": "^1.0.1",
11719
+ "lines-and-columns": "^1.1.6"
11720
+ }
11721
+ },
11722
+ "path-exists": {
11723
+ "version": "4.0.0",
11724
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
11725
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
11726
+ "dev": true
11727
+ },
11728
+ "quick-lru": {
11729
+ "version": "4.0.1",
11730
+ "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz",
11731
+ "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==",
11732
+ "dev": true
11733
+ },
11734
+ "read-pkg": {
11735
+ "version": "5.2.0",
11736
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
11737
+ "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
11738
+ "dev": true,
11739
+ "requires": {
11740
+ "@types/normalize-package-data": "^2.4.0",
11741
+ "normalize-package-data": "^2.5.0",
11742
+ "parse-json": "^5.0.0",
11743
+ "type-fest": "^0.6.0"
11744
+ },
11745
+ "dependencies": {
11746
+ "type-fest": {
11747
+ "version": "0.6.0",
11748
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
11749
+ "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
11750
+ "dev": true
11751
+ }
11752
+ }
11753
+ },
11754
+ "read-pkg-up": {
11755
+ "version": "7.0.1",
11756
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
11757
+ "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
11758
+ "dev": true,
11759
+ "requires": {
11760
+ "find-up": "^4.1.0",
11761
+ "read-pkg": "^5.2.0",
11762
+ "type-fest": "^0.8.1"
11763
+ },
11764
+ "dependencies": {
11765
+ "type-fest": {
11766
+ "version": "0.8.1",
11767
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
11768
+ "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
11769
+ "dev": true
11770
+ }
11771
+ }
11772
+ },
11773
+ "redent": {
11774
+ "version": "3.0.0",
11775
+ "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz",
11776
+ "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==",
11777
+ "dev": true,
11778
+ "requires": {
11779
+ "indent-string": "^4.0.0",
11780
+ "strip-indent": "^3.0.0"
11781
+ }
11782
+ },
11783
+ "strip-indent": {
11784
+ "version": "3.0.0",
11785
+ "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz",
11786
+ "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==",
11787
+ "dev": true,
11788
+ "requires": {
11789
+ "min-indent": "^1.0.0"
11790
+ }
11791
+ },
11792
+ "trim-newlines": {
11793
+ "version": "3.0.0",
11794
+ "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.0.tgz",
11795
+ "integrity": "sha512-C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA==",
11796
+ "dev": true
11797
+ },
11798
+ "yargs-parser": {
11799
+ "version": "18.1.3",
11800
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
11801
+ "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
11802
+ "dev": true,
11803
+ "requires": {
11804
+ "camelcase": "^5.0.0",
11805
+ "decamelize": "^1.2.0"
11806
+ }
11807
+ }
11808
+ }
11809
+ },
11810
+ "wrap-ansi": {
11811
+ "version": "5.1.0",
11812
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
11813
+ "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
11814
+ "dev": true,
11815
+ "requires": {
11816
+ "ansi-styles": "^3.2.0",
11817
+ "string-width": "^3.0.0",
11818
+ "strip-ansi": "^5.0.0"
11819
+ },
11820
+ "dependencies": {
11821
+ "ansi-regex": {
11822
+ "version": "4.1.0",
11823
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
11824
+ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
11825
+ "dev": true
11826
+ },
11827
+ "string-width": {
11828
+ "version": "3.1.0",
11829
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
11830
+ "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
11831
+ "dev": true,
11832
+ "requires": {
11833
+ "emoji-regex": "^7.0.1",
11834
+ "is-fullwidth-code-point": "^2.0.0",
11835
+ "strip-ansi": "^5.1.0"
11836
+ }
11837
+ },
11838
+ "strip-ansi": {
11839
+ "version": "5.2.0",
11840
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
11841
+ "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
11842
+ "dev": true,
11843
+ "requires": {
11844
+ "ansi-regex": "^4.1.0"
11845
+ }
11846
+ }
11847
+ }
11848
+ },
11849
+ "wrappy": {
11850
+ "version": "1.0.2",
11851
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
11852
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
11853
+ "dev": true
11854
+ },
11855
+ "write": {
11856
+ "version": "1.0.3",
11857
+ "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz",
11858
+ "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==",
11859
+ "dev": true,
11860
+ "requires": {
11861
+ "mkdirp": "^0.5.1"
11862
+ }
11863
+ },
11864
+ "write-file-atomic": {
11865
+ "version": "2.4.1",
11866
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.1.tgz",
11867
+ "integrity": "sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg==",
11868
+ "dev": true,
11869
+ "requires": {
11870
+ "graceful-fs": "^4.1.11",
11871
+ "imurmurhash": "^0.1.4",
11872
+ "signal-exit": "^3.0.2"
11873
+ }
11874
+ },
11875
+ "ws": {
11876
+ "version": "5.2.2",
11877
+ "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz",
11878
+ "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==",
11879
+ "dev": true,
11880
+ "requires": {
11881
+ "async-limiter": "~1.0.0"
11882
+ }
11883
+ },
11884
+ "x-is-string": {
11885
+ "version": "0.1.0",
11886
+ "resolved": "https://registry.npmjs.org/x-is-string/-/x-is-string-0.1.0.tgz",
11887
+ "integrity": "sha1-R0tQhlrzpJqcRlfwWs0UVFj3fYI=",
11888
+ "dev": true
11889
+ },
11890
+ "xml-name-validator": {
11891
+ "version": "3.0.0",
11892
+ "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz",
11893
+ "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==",
11894
+ "dev": true
11895
+ },
11896
+ "xtend": {
11897
+ "version": "4.0.2",
11898
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
11899
+ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
11900
+ "dev": true
11901
+ },
11902
+ "y18n": {
11903
+ "version": "4.0.0",
11904
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
11905
+ "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
11906
+ "dev": true
11907
+ },
11908
+ "yallist": {
11909
+ "version": "2.1.2",
11910
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
11911
+ "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
11912
+ "dev": true
11913
+ },
11914
+ "yargs": {
11915
+ "version": "13.3.2",
11916
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz",
11917
+ "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==",
11918
+ "dev": true,
11919
+ "requires": {
11920
+ "cliui": "^5.0.0",
11921
+ "find-up": "^3.0.0",
11922
+ "get-caller-file": "^2.0.1",
11923
+ "require-directory": "^2.1.1",
11924
+ "require-main-filename": "^2.0.0",
11925
+ "set-blocking": "^2.0.0",
11926
+ "string-width": "^3.0.0",
11927
+ "which-module": "^2.0.0",
11928
+ "y18n": "^4.0.0",
11929
+ "yargs-parser": "^13.1.2"
11930
+ },
11931
+ "dependencies": {
11932
+ "ansi-regex": {
11933
+ "version": "4.1.0",
11934
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
11935
+ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
11936
+ "dev": true
11937
+ },
11938
+ "find-up": {
11939
+ "version": "3.0.0",
11940
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
11941
+ "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
11942
+ "dev": true,
11943
+ "requires": {
11944
+ "locate-path": "^3.0.0"
11945
+ }
11946
+ },
11947
+ "locate-path": {
11948
+ "version": "3.0.0",
11949
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
11950
+ "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
11951
+ "dev": true,
11952
+ "requires": {
11953
+ "p-locate": "^3.0.0",
11954
+ "path-exists": "^3.0.0"
11955
+ }
11956
+ },
11957
+ "p-limit": {
11958
+ "version": "2.3.0",
11959
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
11960
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
11961
+ "dev": true,
11962
+ "requires": {
11963
+ "p-try": "^2.0.0"
11964
+ }
11965
+ },
11966
+ "p-locate": {
11967
+ "version": "3.0.0",
11968
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
11969
+ "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
11970
+ "dev": true,
11971
+ "requires": {
11972
+ "p-limit": "^2.0.0"
11973
+ }
11974
+ },
11975
+ "p-try": {
11976
+ "version": "2.2.0",
11977
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
11978
+ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
11979
+ "dev": true
11980
+ },
11981
+ "string-width": {
11982
+ "version": "3.1.0",
11983
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
11984
+ "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
11985
+ "dev": true,
11986
+ "requires": {
11987
+ "emoji-regex": "^7.0.1",
11988
+ "is-fullwidth-code-point": "^2.0.0",
11989
+ "strip-ansi": "^5.1.0"
11990
+ }
11991
+ },
11992
+ "strip-ansi": {
11993
+ "version": "5.2.0",
11994
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
11995
+ "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
11996
+ "dev": true,
11997
+ "requires": {
11998
+ "ansi-regex": "^4.1.0"
11999
+ }
12000
+ }
12001
+ }
12002
+ },
12003
+ "yargs-parser": {
12004
+ "version": "13.1.2",
12005
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz",
12006
+ "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==",
12007
+ "dev": true,
12008
+ "requires": {
12009
+ "camelcase": "^5.0.0",
12010
+ "decamelize": "^1.2.0"
12011
+ }
12012
+ }
12013
+ }
12014
+ }
package.json ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "gdpr-wordpress-plugin",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "themeName": "gigya",
6
+ "themeURI": "https://trewknowledge.com",
7
+ "author": "Trew Knowledge",
8
+ "authorURI": "https://trewknowledge.com",
9
+ "textDomain": "gdpr",
10
+ "scripts": {
11
+ "prod": "cross-env NODE_ENV=production webpack --mode production --progress",
12
+ "dev": "cross-env NODE_ENV=development webpack --watch --mode development --progress",
13
+ "clean": "rm -rf dist/*",
14
+ "lint-css": "stylelint 'src/scss/**/*.scss' --syntax scss; exit 0",
15
+ "lint-css-fix": "stylelint 'src/scss/**/*.scss' --syntax scss --fix; exit 0",
16
+ "lint-js": "eslint src/js/; exit 0",
17
+ "lint-js-fix": "eslint src/js/ --fix; exit 0",
18
+ "pot": "wp-pot --src '**/*.php' --dest-file 'languages/gdpr.pot' --domain 'gdpr' --package 'GDPR' ",
19
+ "precommit": "npm run lint-css && npm run lint-js && npm run pot",
20
+ "update-deps": "rm -rf node_modules && rm package-lock.json && npm install"
21
+ },
22
+ "devDependencies": {
23
+ "@babel/core": "^7.1.2",
24
+ "@babel/preset-env": "^7.1.0",
25
+ "autoprefixer": "^9.1.5",
26
+ "babel-loader": "^8.0.4",
27
+ "clean-webpack-plugin": "^0.1.19",
28
+ "cross-env": "^5.2.0",
29
+ "css-loader": "^1.0.0",
30
+ "cssnano": "^4.1.4",
31
+ "eslint": "^5.6.1",
32
+ "eslint-config-wordpress": "^2.0.0",
33
+ "eslint-loader": "^2.1.1",
34
+ "file-loader": "^2.0.0",
35
+ "foundation-sites": "^6.5.0-rc.3",
36
+ "friendly-errors-webpack-plugin": "^1.7.0",
37
+ "fs-extra": "^7.0.0",
38
+ "jest": "^24.7.1",
39
+ "jquery": "^3.5.1",
40
+ "js-cookie": "^2.2.1",
41
+ "mini-css-extract-plugin": "^0.4.3",
42
+ "node-sass": "^4.9.3",
43
+ "optimize-css-assets-webpack-plugin": "^5.0.1",
44
+ "prompt-sync": "^4.1.6",
45
+ "replace-in-file": "^3.4.2",
46
+ "sass-loader": "^7.1.0",
47
+ "slick-carousel": "^1.8.1",
48
+ "style-loader": "^0.23.1",
49
+ "stylelint": "^9.6.0",
50
+ "stylelint-config-wordpress": "^13.1.0",
51
+ "stylelint-webpack-plugin": "^0.10.5",
52
+ "terser-webpack-plugin": "^3.0.0",
53
+ "webpack": "^4.20.2",
54
+ "webpack-cli": "^3.1.2",
55
+ "wp-pot-cli": "^1.2.1"
56
+ }
57
+ }
public/class-gdpr-public.php CHANGED
@@ -11,6 +11,8 @@
11
  * @author Fernando Claussen <fernandoclaussen@gmail.com>
12
  */
13
 
 
 
14
  /**
15
  * The public-facing functionality of the plugin.
16
  *
@@ -98,7 +100,7 @@ class GDPR_Public {
98
  public function enqueue_styles() {
99
  $disable_css = get_option( 'gdpr_disable_css', false );
100
  if ( ! $disable_css ) {
101
- wp_enqueue_style( $this->plugin_name, plugin_dir_url( dirname( __FILE__ ) ) . 'assets/css/gdpr-public.css', array(), $this->version, 'all' );
102
  }
103
  }
104
 
@@ -115,10 +117,11 @@ class GDPR_Public {
115
  $secret_key = get_option( 'gdpr_recaptcha_secret_key', '' );
116
 
117
  if ( $site_key && $secret_key ) {
118
- wp_enqueue_script( $this->plugin_name . '-recaptcha', 'https://www.google.com/recaptcha/api.js' );
 
119
  }
120
  }
121
- wp_enqueue_script( $this->plugin_name, plugin_dir_url( dirname( __FILE__ ) ) . 'assets/js/gdpr-public.js', array( 'jquery' ), $this->version, false );
122
  wp_localize_script(
123
  $this->plugin_name, 'GDPR', array(
124
  'ajaxurl' => admin_url( 'admin-ajax.php' ),
@@ -158,7 +161,14 @@ class GDPR_Public {
158
  return;
159
  }
160
 
161
- include plugin_dir_path( __FILE__ ) . 'partials/privacy-bar.php';
 
 
 
 
 
 
 
162
  }
163
 
164
  /**
@@ -169,8 +179,8 @@ class GDPR_Public {
169
  public function privacy_preferences_modal() {
170
  $cookie_privacy_excerpt = get_option( 'gdpr_cookie_privacy_excerpt', '' );
171
  $consent_types = get_option( 'gdpr_consent_types', array() );
172
- $approved_cookies = isset( $_COOKIE['gdpr']['allowed_cookies'] ) ? json_decode( wp_unslash( $_COOKIE['gdpr']['allowed_cookies'] ) ) : array(); // WPCS: Input var ok, sanitization ok..
173
- $user_consents = isset( $_COOKIE['gdpr']['consent_types'] ) ? json_decode( wp_unslash( $_COOKIE['gdpr']['consent_types'] ) ) : array(); // WPCS: Input var ok, sanitization ok.
174
  $tabs = get_option( 'gdpr_cookie_popup_content', array() );
175
  $hide_from_bots = get_option( 'gdpr_hide_from_bots', true );
176
 
@@ -178,7 +188,16 @@ class GDPR_Public {
178
  return;
179
  }
180
 
181
- include plugin_dir_path( __FILE__ ) . 'partials/privacy-preferences-modal.php';
 
 
 
 
 
 
 
 
 
182
  }
183
 
184
  /**
@@ -207,17 +226,17 @@ class GDPR_Public {
207
  * @author Fernando Claussen <fernandoclaussen@gmail.com>
208
  */
209
  public function update_privacy_preferences() {
210
- if ( ! isset( $_POST['update-privacy-preferences-nonce'] ) || ! wp_verify_nonce( sanitize_key( $_POST['update-privacy-preferences-nonce'] ), 'gdpr-update-privacy-preferences' ) ) { // WPCS: Input var ok.
211
  wp_send_json_error(
212
  array(
213
  'title' => esc_html__( 'Error!', 'gdpr' ),
214
- 'content' => esc_html__( 'We could not verify the the security token. Please try again.', 'gdpr' ),
215
  )
216
  );
217
  }
218
- $consents = isset( $_POST['user_consents'] ) ? array_map( 'sanitize_text_field', (array) wp_unslash( $_POST['user_consents'] ) ) : array(); // WPCS: Input var ok.
219
- $cookies = isset( $_POST['approved_cookies'] ) ? array_map( 'sanitize_text_field', (array) wp_unslash( $_POST['approved_cookies'] ) ) : array(); // WPCS: Input var ok.
220
- $all_cookies = isset( $_POST['all_cookies'] ) ? array_map( 'sanitize_text_field', (array) json_decode( wp_unslash( $_POST['all_cookies'] ) ) ) : array(); // WPCS: Input var ok, sanitization ok.
221
 
222
  $approved_cookies = array();
223
  if ( ! empty( $cookies ) ) {
@@ -231,17 +250,17 @@ class GDPR_Public {
231
 
232
  $cookies_to_remove = array_diff( $all_cookies, $approved_cookies );
233
 
234
- $cookies_as_json = json_encode( $approved_cookies );
235
- $consents_as_json = json_encode( $consents );
236
 
237
  setcookie( 'gdpr[allowed_cookies]', $cookies_as_json, time() + YEAR_IN_SECONDS, '/' );
238
  setcookie( 'gdpr[consent_types]', $consents_as_json, time() + YEAR_IN_SECONDS, '/' );
239
 
240
  foreach ( $cookies_to_remove as $cookie ) {
241
- if ( GDPR::similar_in_array( $cookie, array_keys( $_COOKIE ) ) ) { // WPCS: Input var ok.
242
  $domain = get_site_url();
243
  $domain = wp_parse_url( $domain, PHP_URL_HOST );
244
- unset( $_COOKIE[ $cookie ] ); // WPCS: Input var ok.
245
  setcookie( $cookie, null, -1, '/', $domain );
246
  setcookie( $cookie, null, -1, '/', '.' . $domain );
247
  }
@@ -251,7 +270,11 @@ class GDPR_Public {
251
  $user = wp_get_current_user();
252
  GDPR_Audit_Log::log( $user->ID, esc_html__( 'User updated their privacy preferences. These are the new approved cookies and consent preferences:', 'gdpr' ) );
253
  if ( ! empty( $consents ) ) {
254
- delete_user_meta( $user->ID, 'gdpr_consents' );
 
 
 
 
255
  foreach ( $consents as $consent ) {
256
  $consent = sanitize_text_field( wp_unslash( $consent ) );
257
  add_user_meta( $user->ID, 'gdpr_consents', $consent );
@@ -290,8 +313,12 @@ class GDPR_Public {
290
  return;
291
  }
292
 
293
- $user = wp_get_current_user();
294
- $user_consents = get_user_meta( $user->ID, 'gdpr_consents' );
 
 
 
 
295
 
296
  if ( ! is_array( $user_consents ) ) {
297
  return;
@@ -310,42 +337,61 @@ class GDPR_Public {
310
  $reconsent_template = get_option( 'gdpr_reconsent_template', 'modal' );
311
 
312
  if ( 'bar' === $reconsent_template ) {
313
- include plugin_dir_path( __FILE__ ) . 'partials/reconsent-bar.php';
 
 
 
 
314
  } else {
315
- include plugin_dir_path( __FILE__ ) . 'partials/reconsent-modal.php';
 
 
 
 
316
  }
317
 
318
  }
319
 
320
  protected function is_crawler() {
321
- return ( isset( $_SERVER['HTTP_USER_AGENT'] ) && preg_match('/bot|crawl|slurp|spider|mediapartners/i', $_SERVER['HTTP_USER_AGENT'] ) );
322
  }
323
 
324
  public function set_plugin_cookies() {
 
 
 
325
  $user_id = get_current_user_id();
326
 
327
- if ( ! isset( $_COOKIE['gdpr']['consent_types'] ) ) { // WPCS: Input var ok.
328
  if ( ! $user_id ) {
329
  setcookie( 'gdpr[consent_types]', '[]', time() + YEAR_IN_SECONDS, '/' );
330
  } else {
331
- $user_consents = get_user_meta( $user_id, 'gdpr_consents' );
332
- setcookie( 'gdpr[consent_types]', json_encode( $user_consents ), time() + YEAR_IN_SECONDS, '/' );
 
 
 
 
333
  }
334
  } else {
335
  if ( $user_id ) {
336
- $user_consents = (array) get_user_meta( $user_id, 'gdpr_consents' );
337
- $cookie_consents = (array) json_decode( wp_unslash( $_COOKIE['gdpr']['consent_types'] ) ); // WPCS: Input var ok, sanitization ok.
 
 
 
 
338
 
339
  $intersect = array_intersect( $user_consents, $cookie_consents );
340
  $diff = array_merge( array_diff( $user_consents, $intersect ), array_diff( $cookie_consents, $intersect ) );
341
 
342
  if ( ! empty( $diff ) ) {
343
- setcookie( 'gdpr[consent_types]', json_encode( $user_consents ), time() + YEAR_IN_SECONDS, '/' );
344
  }
345
  }
346
  }
347
 
348
- if ( ! isset( $_COOKIE['gdpr']['allowed_cookies'] ) ) { // WPCS: Input var ok.
349
  $registered_cookies = get_option( 'gdpr_cookie_popup_content', array() );
350
  $cookies = array();
351
  if ( ! empty( $registered_cookies ) ) {
@@ -365,7 +411,7 @@ class GDPR_Public {
365
  }
366
 
367
  if ( ! empty( $cookies ) ) {
368
- setcookie( 'gdpr[allowed_cookies]', json_encode( $cookies ), time() + YEAR_IN_SECONDS, '/' );
369
  } else {
370
  setcookie( 'gdpr[allowed_cookies]', '[]', time() + YEAR_IN_SECONDS, '/' );
371
  }
@@ -373,19 +419,24 @@ class GDPR_Public {
373
  }
374
 
375
  public function agree_with_new_policies() {
376
- if ( ! isset( $_POST['nonce'] ) || ! wp_verify_nonce( sanitize_key( $_POST['nonce'] ), 'gdpr-agree-with-new-policies' ) ) { // WPCS: Input var ok.
377
  wp_send_json_error(
378
  array(
379
  'title' => esc_html__( 'Error!', 'gdpr' ),
380
- 'content' => esc_html__( 'We could not verify the the security token. Please try again.', 'gdpr' ),
381
  )
382
  );
383
  }
384
- $consents = isset( $_POST['consents'] ) ? array_map( 'sanitize_text_field', (array) wp_unslash( $_POST['consents'] ) ) : array(); // WPCS: Input var ok.
385
  $user_id = get_current_user_id();
386
 
387
  foreach ( $consents as $consent ) {
388
- add_user_meta( $user_id, 'gdpr_consents', $consent );
 
 
 
 
 
389
  GDPR_Audit_Log::log( $user_id, sprintf( esc_html__( 'User provided new consent for %1$s.', 'gdpr' ), esc_html( $consent ) ) );
390
  }
391
 
11
  * @author Fernando Claussen <fernandoclaussen@gmail.com>
12
  */
13
 
14
+ require_once plugin_dir_path( dirname( __FILE__ ) ) . 'includes/class-gdpr-templates.php';
15
+
16
  /**
17
  * The public-facing functionality of the plugin.
18
  *
100
  public function enqueue_styles() {
101
  $disable_css = get_option( 'gdpr_disable_css', false );
102
  if ( ! $disable_css ) {
103
+ wp_enqueue_style( $this->plugin_name, plugin_dir_url( dirname( __FILE__ ) ) . 'dist/css/public.css', array(), $this->version, 'all' );
104
  }
105
  }
106
 
117
  $secret_key = get_option( 'gdpr_recaptcha_secret_key', '' );
118
 
119
  if ( $site_key && $secret_key ) {
120
+ $lang = get_locale();
121
+ wp_enqueue_script( $this->plugin_name . '-recaptcha', 'https://www.google.com/recaptcha/api.js?hl=' . $lang );
122
  }
123
  }
124
+ wp_enqueue_script( $this->plugin_name, plugin_dir_url( dirname( __FILE__ ) ) . 'dist/js/public.js', array( 'jquery' ), $this->version, false );
125
  wp_localize_script(
126
  $this->plugin_name, 'GDPR', array(
127
  'ajaxurl' => admin_url( 'admin-ajax.php' ),
161
  return;
162
  }
163
 
164
+ GDPR_Templates::get_template(
165
+ 'privacy-bar.php', array(
166
+ 'content' => $content,
167
+ 'registered_cookies' => $registered_cookies,
168
+ 'show_cookie_cat_checkboxes' => $show_cookie_cat_checkboxes,
169
+ 'button_text' => $button_text,
170
+ )
171
+ );
172
  }
173
 
174
  /**
179
  public function privacy_preferences_modal() {
180
  $cookie_privacy_excerpt = get_option( 'gdpr_cookie_privacy_excerpt', '' );
181
  $consent_types = get_option( 'gdpr_consent_types', array() );
182
+ $approved_cookies = isset( $_COOKIE['gdpr']['allowed_cookies'] ) ? json_decode( wp_unslash( $_COOKIE['gdpr']['allowed_cookies'] ) ) : array(); // phpcs:ignore
183
+ $user_consents = isset( $_COOKIE['gdpr']['consent_types'] ) ? json_decode( wp_unslash( $_COOKIE['gdpr']['consent_types'] ) ) : array(); // phpcs:ignore
184
  $tabs = get_option( 'gdpr_cookie_popup_content', array() );
185
  $hide_from_bots = get_option( 'gdpr_hide_from_bots', true );
186
 
188
  return;
189
  }
190
 
191
+ GDPR_Templates::get_template(
192
+ 'privacy-preferences-modal.php', array(
193
+ 'cookie_privacy_excerpt' => $cookie_privacy_excerpt,
194
+ 'consent_types' => $consent_types,
195
+ 'approved_cookies' => $approved_cookies,
196
+ 'user_consents' => $user_consents,
197
+ 'tabs' => $tabs,
198
+ 'allowed_html' => $this->allowed_html,
199
+ )
200
+ );
201
  }
202
 
203
  /**
226
  * @author Fernando Claussen <fernandoclaussen@gmail.com>
227
  */
228
  public function update_privacy_preferences() {
229
+ if ( ! isset( $_POST['update-privacy-preferences-nonce'] ) || ! wp_verify_nonce( sanitize_key( $_POST['update-privacy-preferences-nonce'] ), 'gdpr-update-privacy-preferences' ) ) { // phpcs:ignore
230
  wp_send_json_error(
231
  array(
232
  'title' => esc_html__( 'Error!', 'gdpr' ),
233
+ 'content' => esc_html__( 'We could not verify the security token. Please try again.', 'gdpr' ),
234
  )
235
  );
236
  }
237
+ $consents = isset( $_POST['user_consents'] ) ? array_map( 'sanitize_text_field', (array) wp_unslash( $_POST['user_consents'] ) ) : array(); // phpcs:ignore
238
+ $cookies = isset( $_POST['approved_cookies'] ) ? array_map( 'sanitize_text_field', (array) wp_unslash( $_POST['approved_cookies'] ) ) : array(); // phpcs:ignore
239
+ $all_cookies = isset( $_POST['all_cookies'] ) ? array_map( 'sanitize_text_field', (array) json_decode( wp_unslash( $_POST['all_cookies'] ) ) ) : array(); // phpcs:ignore
240
 
241
  $approved_cookies = array();
242
  if ( ! empty( $cookies ) ) {
250
 
251
  $cookies_to_remove = array_diff( $all_cookies, $approved_cookies );
252
 
253
+ $cookies_as_json = wp_json_encode( $approved_cookies );
254
+ $consents_as_json = wp_json_encode( $consents );
255
 
256
  setcookie( 'gdpr[allowed_cookies]', $cookies_as_json, time() + YEAR_IN_SECONDS, '/' );
257
  setcookie( 'gdpr[consent_types]', $consents_as_json, time() + YEAR_IN_SECONDS, '/' );
258
 
259
  foreach ( $cookies_to_remove as $cookie ) {
260
+ if ( GDPR::similar_in_array( $cookie, array_keys( $_COOKIE ) ) ) { // phpcs:ignore
261
  $domain = get_site_url();
262
  $domain = wp_parse_url( $domain, PHP_URL_HOST );
263
+ unset( $_COOKIE[ $cookie ] ); // phpcs:ignore
264
  setcookie( $cookie, null, -1, '/', $domain );
265
  setcookie( $cookie, null, -1, '/', '.' . $domain );
266
  }
270
  $user = wp_get_current_user();
271
  GDPR_Audit_Log::log( $user->ID, esc_html__( 'User updated their privacy preferences. These are the new approved cookies and consent preferences:', 'gdpr' ) );
272
  if ( ! empty( $consents ) ) {
273
+ if ( defined( 'WPCOM_IS_VIP_ENV' ) && WPCOM_IS_VIP_ENV ) {
274
+ delete_user_attribute( $user->ID, 'gdpr_consents' );
275
+ } else {
276
+ delete_user_meta( $user->ID, 'gdpr_consents' );
277
+ }
278
  foreach ( $consents as $consent ) {
279
  $consent = sanitize_text_field( wp_unslash( $consent ) );
280
  add_user_meta( $user->ID, 'gdpr_consents', $consent );
313
  return;
314
  }
315
 
316
+ $user = wp_get_current_user();
317
+ if ( defined( 'WPCOM_IS_VIP_ENV' ) && WPCOM_IS_VIP_ENV ) {
318
+ $user_consents = get_user_attribute( $user->ID, 'gdpr_consents' );
319
+ } else {
320
+ $user_consents = get_user_meta( $user->ID, 'gdpr_consents' );
321
+ }
322
 
323
  if ( ! is_array( $user_consents ) ) {
324
  return;
337
  $reconsent_template = get_option( 'gdpr_reconsent_template', 'modal' );
338
 
339
  if ( 'bar' === $reconsent_template ) {
340
+ GDPR_Templates::get_template(
341
+ 'reconsent-bar.php', array(
342
+ 'updated_consents' => $updated_consents,
343
+ )
344
+ );
345
  } else {
346
+ GDPR_Templates::get_template(
347
+ 'reconsent-modal.php', array(
348
+ 'updated_consents' => $updated_consents,
349
+ )
350
+ );
351
  }
352
 
353
  }
354
 
355
  protected function is_crawler() {
356
+ return ( isset( $_SERVER['HTTP_USER_AGENT'] ) && preg_match( '/bot|crawl|slurp|spider|mediapartners/i', sanitize_text_field( wp_unslash( $_SERVER['HTTP_USER_AGENT'] ) ) ) );
357
  }
358
 
359
  public function set_plugin_cookies() {
360
+
361
+ if ( wp_doing_cron() ) return;
362
+
363
  $user_id = get_current_user_id();
364
 
365
+ if ( ! isset( $_COOKIE['gdpr']['consent_types'] ) ) { // phpcs:ignore
366
  if ( ! $user_id ) {
367
  setcookie( 'gdpr[consent_types]', '[]', time() + YEAR_IN_SECONDS, '/' );
368
  } else {
369
+ if ( defined( 'WPCOM_IS_VIP_ENV' ) && WPCOM_IS_VIP_ENV ) {
370
+ $user_consents = get_user_attribute( $user_id, 'gdpr_consents' );
371
+ } else {
372
+ $user_consents = get_user_meta( $user_id, 'gdpr_consents' );
373
+ }
374
+ setcookie( 'gdpr[consent_types]', wp_json_encode( $user_consents ), time() + YEAR_IN_SECONDS, '/' );
375
  }
376
  } else {
377
  if ( $user_id ) {
378
+ if ( defined( 'WPCOM_IS_VIP_ENV' ) && WPCOM_IS_VIP_ENV ) {
379
+ $user_consents = (array) get_user_attribute( $user_id, 'gdpr_consents' );
380
+ } else {
381
+ $user_consents = (array) get_user_meta( $user_id, 'gdpr_consents' );
382
+ }
383
+ $cookie_consents = (array) json_decode( wp_unslash( $_COOKIE['gdpr']['consent_types'] ) ); // phpcs:ignore
384
 
385
  $intersect = array_intersect( $user_consents, $cookie_consents );
386
  $diff = array_merge( array_diff( $user_consents, $intersect ), array_diff( $cookie_consents, $intersect ) );
387
 
388
  if ( ! empty( $diff ) ) {
389
+ setcookie( 'gdpr[consent_types]', wp_json_encode( $user_consents ), time() + YEAR_IN_SECONDS, '/' );
390
  }
391
  }
392
  }
393
 
394
+ if ( ! isset( $_COOKIE['gdpr']['allowed_cookies'] ) ) { // phpcs:ignore
395
  $registered_cookies = get_option( 'gdpr_cookie_popup_content', array() );
396
  $cookies = array();
397
  if ( ! empty( $registered_cookies ) ) {
411
  }
412
 
413
  if ( ! empty( $cookies ) ) {
414
+ setcookie( 'gdpr[allowed_cookies]', wp_json_encode( $cookies ), time() + YEAR_IN_SECONDS, '/' );
415
  } else {
416
  setcookie( 'gdpr[allowed_cookies]', '[]', time() + YEAR_IN_SECONDS, '/' );
417
  }
419
  }
420
 
421
  public function agree_with_new_policies() {
422
+ if ( ! isset( $_POST['nonce'] ) || ! wp_verify_nonce( sanitize_key( $_POST['nonce'] ), 'gdpr-agree-with-new-policies' ) ) { // phpcs:ignore
423
  wp_send_json_error(
424
  array(
425
  'title' => esc_html__( 'Error!', 'gdpr' ),
426
+ 'content' => esc_html__( 'We could not verify the security token. Please try again.', 'gdpr' ),
427
  )
428
  );
429
  }
430
+ $consents = isset( $_POST['consents'] ) ? array_map( 'sanitize_text_field', (array) wp_unslash( $_POST['consents'] ) ) : array(); // phpcs:ignore
431
  $user_id = get_current_user_id();
432
 
433
  foreach ( $consents as $consent ) {
434
+ if ( defined( 'WPCOM_IS_VIP_ENV' ) && WPCOM_IS_VIP_ENV ) {
435
+ add_user_attribute( $user_id, 'gdpr_consents', $consent );
436
+ } else {
437
+ add_user_meta( $user_id, 'gdpr_consents', $consent );
438
+ }
439
+ /* translators: 1: Consent name. */
440
  GDPR_Audit_Log::log( $user_id, sprintf( esc_html__( 'User provided new consent for %1$s.', 'gdpr' ), esc_html( $consent ) ) );
441
  }
442
 
public/class-gdpr-requests-public.php CHANGED
@@ -11,6 +11,8 @@
11
  * @author Fernando Claussen <fernandoclaussen@gmail.com>
12
  */
13
 
 
 
14
  /**
15
  * The public facing requests functionality of the plugin.
16
  *
@@ -64,7 +66,7 @@ class GDPR_Requests_Public extends GDPR_Requests {
64
  }
65
 
66
  ob_start();
67
- include plugin_dir_path( dirname( __FILE__ ) ) . 'public/partials/' . $type . '-form.php';
68
  return ob_get_clean();
69
  }
70
 
@@ -75,7 +77,7 @@ class GDPR_Requests_Public extends GDPR_Requests {
75
  * @author Fernando Claussen <fernandoclaussen@gmail.com>
76
  */
77
  public function send_request_email() {
78
- if ( ! isset( $_POST['gdpr_request_nonce'] ) || ! wp_verify_nonce( sanitize_key( $_POST['gdpr_request_nonce'] ), 'gdpr-add-to-requests' ) ) { // WPCS: Input var ok.
79
  wp_send_json_error(
80
  array(
81
  'title' => esc_html__( 'Error!', 'gdpr' ),
@@ -84,7 +86,7 @@ class GDPR_Requests_Public extends GDPR_Requests {
84
  );
85
  }
86
 
87
- if ( ! isset( $_POST['type'] ) || ! in_array( sanitize_text_field( wp_unslash( $_POST['type'] ) ), parent::$allowed_types, true ) ) { // WPCS: Input var ok.
88
  wp_send_json_error(
89
  array(
90
  'title' => esc_html__( 'Error!', 'gdpr' ),
@@ -99,7 +101,7 @@ class GDPR_Requests_Public extends GDPR_Requests {
99
  $secret_key = get_option( 'gdpr_recaptcha_secret_key', '' );
100
 
101
  if ( $site_key && $secret_key ) {
102
- if ( ! isset( $_POST['g-recaptcha-response'] ) || ! sanitize_text_field( wp_unslash( $_POST['g-recaptcha-response'] ) ) ) { // WPCS: Input var ok.
103
  wp_send_json_error(
104
  array(
105
  'title' => esc_html__( 'Error!', 'gdpr' ),
@@ -112,7 +114,7 @@ class GDPR_Requests_Public extends GDPR_Requests {
112
  'https://www.google.com/recaptcha/api/siteverify', array(
113
  'body' => array(
114
  'secret' => $secret_key,
115
- 'response' => sanitize_text_field( wp_unslash( $_POST['g-recaptcha-response'] ) ), // WPCS: Input var ok.
116
  ),
117
  )
118
  );
@@ -130,13 +132,13 @@ class GDPR_Requests_Public extends GDPR_Requests {
130
  }
131
  }
132
 
133
- $type = sanitize_text_field( wp_unslash( $_POST['type'] ) ); // WPCS: Input var ok.
134
- $data = isset( $_POST['data'] ) ? sanitize_textarea_field( wp_unslash( $_POST['data'] ) ) : ''; // WPCS: Input var ok.
135
 
136
  if ( is_user_logged_in() ) {
137
  $user = wp_get_current_user();
138
  } else {
139
- $user = isset( $_POST['user_email'] ) ? get_user_by( 'email', sanitize_email( wp_unslash( $_POST['user_email'] ) ) ) : null; // WPCS: Input var ok.
140
  }
141
 
142
  if ( ! $user instanceof WP_User ) {
@@ -254,13 +256,13 @@ class GDPR_Requests_Public extends GDPR_Requests {
254
  * @author Fernando Claussen <fernandoclaussen@gmail.com>
255
  */
256
  public function request_confirmed() {
257
- if ( is_admin() || ! isset( $_GET['type'], $_GET['key'], $_GET['email'] ) ) { // WPCS: Input var ok CSRF ok.
258
  return;
259
  }
260
 
261
- $type = sanitize_text_field( wp_unslash( $_GET['type'] ) ); // WPCS: Input var ok, CSRF ok.
262
- $key = sanitize_text_field( wp_unslash( $_GET['key'] ) ); // WPCS: Input var ok, CSRF ok.
263
- $email = sanitize_email( wp_unslash( $_GET['email'] ) ); // WPCS: Input var ok, CSRF ok.
264
  $notification_email = sanitize_email( apply_filters( 'gdpr_admin_notification_email', get_option( 'admin_email' ) ) );
265
 
266
  $user = get_user_by( 'email', $email );
@@ -279,7 +281,11 @@ class GDPR_Requests_Public extends GDPR_Requests {
279
  exit;
280
  }
281
 
282
- $meta_key = get_user_meta( $user->ID, self::$plugin_name . "_{$type}_key", true );
 
 
 
 
283
  if ( empty( $meta_key ) ) {
284
  wp_safe_redirect(
285
  esc_url_raw(
@@ -373,7 +379,7 @@ class GDPR_Requests_Public extends GDPR_Requests {
373
  exit;
374
  break;
375
  case 'export-data':
376
- $format = isset( $_GET['format'] ) ? sanitize_text_field( wp_unslash( $_GET['format'] ) ) : 'xml'; // WPCS: Input var ok, CSRF ok.
377
  /* translators: File format. Can be XML or JSON */
378
  GDPR_Audit_Log::log( $user->ID, sprintf( esc_html__( 'User downloaded all their data in %s format.', 'gdpr' ), $format ) );
379
  $this->file_export_data( $user->user_email, $format, $key );
@@ -400,7 +406,7 @@ class GDPR_Requests_Public extends GDPR_Requests {
400
  header( 'Content-Type: application/octet-stream' );
401
  header( 'Content-Description: File Transfer' );
402
  header( 'Content-Disposition: attachment; filename=' . $email . '.' . $format );
403
- echo $export; // WPCS: XSS ok.
404
  }
405
  die();
406
  }
11
  * @author Fernando Claussen <fernandoclaussen@gmail.com>
12
  */
13
 
14
+ require_once plugin_dir_path( dirname( __FILE__ ) ) . 'includes/class-gdpr-templates.php';
15
+
16
  /**
17
  * The public facing requests functionality of the plugin.
18
  *
66
  }
67
 
68
  ob_start();
69
+ GDPR_Templates::get_template( 'forms/' . $type . '-form.php', array( 'submit_button_text' => $submit_button_text ) );
70
  return ob_get_clean();
71
  }
72
 
77
  * @author Fernando Claussen <fernandoclaussen@gmail.com>
78
  */
79
  public function send_request_email() {
80
+ if ( ! isset( $_POST['gdpr_request_nonce'] ) || ! wp_verify_nonce( sanitize_key( $_POST['gdpr_request_nonce'] ), 'gdpr-add-to-requests' ) ) { // phpcs:ignore
81
  wp_send_json_error(
82
  array(
83
  'title' => esc_html__( 'Error!', 'gdpr' ),
86
  );
87
  }
88
 
89
+ if ( ! isset( $_POST['type'] ) || ! in_array( sanitize_text_field( wp_unslash( $_POST['type'] ) ), parent::$allowed_types, true ) ) { // phpcs:ignore
90
  wp_send_json_error(
91
  array(
92
  'title' => esc_html__( 'Error!', 'gdpr' ),
101
  $secret_key = get_option( 'gdpr_recaptcha_secret_key', '' );
102
 
103
  if ( $site_key && $secret_key ) {
104
+ if ( ! isset( $_POST['g-recaptcha-response'] ) || ! sanitize_text_field( wp_unslash( $_POST['g-recaptcha-response'] ) ) ) { // phpcs:ignore
105
  wp_send_json_error(
106
  array(
107
  'title' => esc_html__( 'Error!', 'gdpr' ),
114
  'https://www.google.com/recaptcha/api/siteverify', array(
115
  'body' => array(
116
  'secret' => $secret_key,
117
+ 'response' => sanitize_text_field( wp_unslash( $_POST['g-recaptcha-response'] ) ), // phpcs:ignore
118
  ),
119
  )
120
  );
132
  }
133
  }
134
 
135
+ $type = sanitize_text_field( wp_unslash( $_POST['type'] ) ); // phpcs:ignore
136
+ $data = isset( $_POST['data'] ) ? sanitize_textarea_field( wp_unslash( $_POST['data'] ) ) : ''; // phpcs:ignore
137
 
138
  if ( is_user_logged_in() ) {
139
  $user = wp_get_current_user();
140
  } else {
141
+ $user = isset( $_POST['user_email'] ) ? get_user_by( 'email', sanitize_email( wp_unslash( $_POST['user_email'] ) ) ) : null; // phpcs:ignore
142
  }
143
 
144
  if ( ! $user instanceof WP_User ) {
256
  * @author Fernando Claussen <fernandoclaussen@gmail.com>
257
  */
258
  public function request_confirmed() {
259
+ if ( is_admin() || ! isset( $_GET['type'], $_GET['key'], $_GET['email'] ) ) { // phpcs:ignore
260
  return;
261
  }
262
 
263
+ $type = sanitize_text_field( wp_unslash( $_GET['type'] ) ); // phpcs:ignore
264
+ $key = sanitize_text_field( wp_unslash( $_GET['key'] ) ); // phpcs:ignore
265
+ $email = sanitize_email( wp_unslash( $_GET['email'] ) ); // phpcs:ignore
266
  $notification_email = sanitize_email( apply_filters( 'gdpr_admin_notification_email', get_option( 'admin_email' ) ) );
267
 
268
  $user = get_user_by( 'email', $email );
281
  exit;
282
  }
283
 
284
+ if ( defined( 'WPCOM_IS_VIP_ENV' ) && WPCOM_IS_VIP_ENV ) {
285
+ $meta_key = get_user_attribute( $user->ID, self::$plugin_name . "_{$type}_key", true );
286
+ } else {
287
+ $meta_key = get_user_meta( $user->ID, self::$plugin_name . "_{$type}_key", true );
288
+ }
289
  if ( empty( $meta_key ) ) {
290
  wp_safe_redirect(
291
  esc_url_raw(
379
  exit;
380
  break;
381
  case 'export-data':
382
+ $format = isset( $_GET['format'] ) ? sanitize_text_field( wp_unslash( $_GET['format'] ) ) : 'xml'; // phpcs:ignore
383
  /* translators: File format. Can be XML or JSON */
384
  GDPR_Audit_Log::log( $user->ID, sprintf( esc_html__( 'User downloaded all their data in %s format.', 'gdpr' ), $format ) );
385
  $this->file_export_data( $user->user_email, $format, $key );
406
  header( 'Content-Type: application/octet-stream' );
407
  header( 'Content-Description: File Transfer' );
408
  header( 'Content-Disposition: attachment; filename=' . $email . '.' . $format );
409
+ echo $export; // phpcs:ignore
410
  }
411
  die();
412
  }
public/partials/confirmation-screens.php CHANGED
@@ -12,33 +12,33 @@
12
  ?>
13
 
14
  <?php
15
- $title = '';
16
  $text = '';
17
- if ( isset( $_GET['notify'] ) && absint( $_GET['notify'] ) ) : // WPCS: Input var ok, CSRF ok.
18
  ?>
19
  <?php
20
- if ( isset( $_GET['user-deleted'] ) ) { // WPCS: Input var ok, CSRF ok.
21
- $title = __( 'Your account', 'gdpr' );
22
- if ( absint( $_GET['user-deleted'] ) ) { // WPCS: Input var ok, CSRF ok.
23
  $text = __( 'Your account has been closed. We are sorry to see you go.', 'gdpr' );
24
  } else {
25
  $text = __( 'Your request has been received and is being reviewed. You will receive an email when we are done.', 'gdpr' );
26
  }
27
  }
28
- if ( isset( $_GET['request-confirmed'] ) && absint( $_GET['request-confirmed'] ) ) { // WPCS: Input var ok, CSRF ok.
29
- $title = __( 'Request Received', 'gdpr' );
30
  $text = __( 'Your request has been received. We will be in touch soon.', 'gdpr' );
31
  }
32
- if ( isset( $_GET['user-not-found'] ) && absint( $_GET['user-not-found'] ) ) { // WPCS: Input var ok CSRF ok.
33
- $title = __( 'Error!', 'gdpr' );
34
  $text = __( 'User not found.', 'gdpr' );
35
  }
36
- if ( isset( $_GET['request-key-not-found'] ) && absint( $_GET['request-key-not-found'] ) ) { // WPCS: Input var ok, CSRF ok.
37
- $title = __( 'Error!', 'gdpr' );
38
  $text = __( 'We could not confirm the request key. It may be expired.', 'gdpr' );
39
  }
40
- if ( isset( $_GET['request-key-not-match'] ) && absint( $_GET['request-key-not-match'] ) ) { // WPCS: Input var ok, CSRF ok.
41
- $title = __( 'Error!', 'gdpr' );
42
  $text = __( 'The key used does not match the request key we have stored.', 'gdpr' );
43
  }
44
  ?>
@@ -47,7 +47,7 @@ if ( isset( $_GET['notify'] ) && absint( $_GET['notify'] ) ) : // WPCS: Input va
47
  <div class="gdpr-wrapper">
48
  <header>
49
  <div class="gdpr-box-title">
50
- <h3><?php echo esc_attr( $title ); ?></h3>
51
  <span class="gdpr-close"></span>
52
  </div>
53
  </header>
@@ -55,7 +55,7 @@ if ( isset( $_GET['notify'] ) && absint( $_GET['notify'] ) ) : // WPCS: Input va
55
  <p><?php echo esc_html( $text ); ?></p>
56
  </div>
57
  <footer>
58
- <button class="gdpr-ok"><?php esc_html_e( 'OK', 'gdpr' ); ?></button>
59
  </footer>
60
  </div>
61
  </div>
12
  ?>
13
 
14
  <?php
15
+ $gdpr_title = '';
16
  $text = '';
17
+ if ( isset( $_GET['notify'] ) && absint( $_GET['notify'] ) ) : // phpcs:ignore
18
  ?>
19
  <?php
20
+ if ( isset( $_GET['user-deleted'] ) ) { // phpcs:ignore
21
+ $gdpr_title = __( 'Your account', 'gdpr' );
22
+ if ( absint( $_GET['user-deleted'] ) ) { // phpcs:ignore
23
  $text = __( 'Your account has been closed. We are sorry to see you go.', 'gdpr' );
24
  } else {
25
  $text = __( 'Your request has been received and is being reviewed. You will receive an email when we are done.', 'gdpr' );
26
  }
27
  }
28
+ if ( isset( $_GET['request-confirmed'] ) && absint( $_GET['request-confirmed'] ) ) { // phpcs:ignore
29
+ $gdpr_title = __( 'Request Received', 'gdpr' );
30
  $text = __( 'Your request has been received. We will be in touch soon.', 'gdpr' );
31
  }
32
+ if ( isset( $_GET['user-not-found'] ) && absint( $_GET['user-not-found'] ) ) { // phpcs:ignore
33
+ $gdpr_title = __( 'Error!', 'gdpr' );
34
  $text = __( 'User not found.', 'gdpr' );
35
  }
36
+ if ( isset( $_GET['request-key-not-found'] ) && absint( $_GET['request-key-not-found'] ) ) { // phpcs:ignore
37
+ $gdpr_title = __( 'Error!', 'gdpr' );
38
  $text = __( 'We could not confirm the request key. It may be expired.', 'gdpr' );
39
  }
40
+ if ( isset( $_GET['request-key-not-match'] ) && absint( $_GET['request-key-not-match'] ) ) { // phpcs:ignore
41
+ $gdpr_title = __( 'Error!', 'gdpr' );
42
  $text = __( 'The key used does not match the request key we have stored.', 'gdpr' );
43
  }
44
  ?>
47
  <div class="gdpr-wrapper">
48
  <header>
49
  <div class="gdpr-box-title">
50
+ <h3><?php echo esc_attr( $gdpr_title ); ?></h3>
51
  <span class="gdpr-close"></span>
52
  </div>
53
  </header>
55
  <p><?php echo esc_html( $text ); ?></p>
56
  </div>
57
  <footer>
58
+ <button class="gdpr-ok" data-callback="closeNotification"><?php esc_html_e( 'OK', 'gdpr' ); ?></button>
59
  </footer>
60
  </div>
61
  </div>
templates/email/complaint-request.php CHANGED
@@ -2,7 +2,7 @@
2
  echo sprintf(
3
  /* translators: 1: The complaint content, 2: confirmation link, 3: reset password link */
4
  esc_html__(
5
- 'Someone placed a complaint on your behalf on our site.
6
  By clicking confirm a request will be made and we will do our best to fulfil it.
7
 
8
  --------------------------------------------------------
@@ -19,7 +19,8 @@ To confirm this request, click here: %2$s
19
 
20
  ---------------------------------------------------------------------------------
21
  If that wasn\'t you, reset your password: %3$s
22
- ', 'gdpr' ),
 
23
  esc_html( $args['data'] ),
24
  esc_url_raw( $args['confirm_url'] ),
25
  esc_url_raw( $args['forgot_password_url'] )
2
  echo sprintf(
3
  /* translators: 1: The complaint content, 2: confirmation link, 3: reset password link */
4
  esc_html__(
5
+ 'Someone placed a complaint on your behalf on our site.
6
  By clicking confirm a request will be made and we will do our best to fulfil it.
7
 
8
  --------------------------------------------------------
19
 
20
  ---------------------------------------------------------------------------------
21
  If that wasn\'t you, reset your password: %3$s
22
+ ', 'gdpr'
23
+ ),
24
  esc_html( $args['data'] ),
25
  esc_url_raw( $args['confirm_url'] ),
26
  esc_url_raw( $args['forgot_password_url'] )
templates/email/complaint-resolved.php CHANGED
@@ -1,5 +1,6 @@
1
  <?php
2
 
3
  echo esc_html__(
4
- 'We resolved your complaint request.
5
- If you have any problems or questions, don\'t hesitate to contact us.', 'gdpr' );
 
1
  <?php
2
 
3
  echo esc_html__(
4
+ 'We resolved your complaint request.
5
+ If you have any problems or questions, don\'t hesitate to contact us.', 'gdpr'
6
+ );
templates/email/data-breach-notification.php CHANGED
@@ -2,7 +2,7 @@
2
  echo sprintf(
3
  /* translators: 1: Email content, 2: Nature of data breach, 3: Contact details for data protection officer, 4: Likely consequences of breach, 5: Measures taken */
4
  esc_html__(
5
- '%1$s
6
 
7
  --------------------------------------------------------
8
  Nature of the personal data breach:
@@ -23,7 +23,8 @@ Likely consequences of the personal data breach:
23
  Measures taken or proposed to be taken:
24
  --------------------------------------------------------
25
  %5$s
26
- ', 'gdpr' ),
 
27
  esc_html( $args['content'] ),
28
  esc_html( $args['nature'] ),
29
  esc_html( $args['office_contact'] ),
2
  echo sprintf(
3
  /* translators: 1: Email content, 2: Nature of data breach, 3: Contact details for data protection officer, 4: Likely consequences of breach, 5: Measures taken */
4
  esc_html__(
5
+ '%1$s
6
 
7
  --------------------------------------------------------
8
  Nature of the personal data breach:
23
  Measures taken or proposed to be taken:
24
  --------------------------------------------------------
25
  %5$s
26
+ ', 'gdpr'
27
+ ),
28
  esc_html( $args['content'] ),
29
  esc_html( $args['nature'] ),
30
  esc_html( $args['office_contact'] ),
templates/email/data-breach-request.php CHANGED
@@ -2,7 +2,7 @@
2
  echo sprintf(
3
  /* translators: 1: User who requested the notification, 2: Nature of data breach, 3: Contact details for data protection officer, 4: Likely consequences of breach, 5: Measures taken, 6: Confirmation link */
4
  esc_html__(
5
- 'A request to send a mass email notification to all users regarding a data breach has been made by %1$s.
6
 
7
  --------------------------------------------------------
8
  Nature of the personal data breach:
@@ -30,7 +30,8 @@ To confirm this request, click here: %6$s
30
  ---------------------------------------------------------------------------------
31
  If that is not intended, have the person who requested it change their password.
32
  ---------------------------------------------------------------------------------
33
- ', 'gdpr' ),
 
34
  esc_html( $args['requester'] ),
35
  esc_html( $args['nature'] ),
36
  esc_html( $args['office_contact'] ),
2
  echo sprintf(
3
  /* translators: 1: User who requested the notification, 2: Nature of data breach, 3: Contact details for data protection officer, 4: Likely consequences of breach, 5: Measures taken, 6: Confirmation link */
4
  esc_html__(
5
+ 'A request to send a mass email notification to all users regarding a data breach has been made by %1$s.
6
 
7
  --------------------------------------------------------
8
  Nature of the personal data breach:
30
  ---------------------------------------------------------------------------------
31
  If that is not intended, have the person who requested it change their password.
32
  ---------------------------------------------------------------------------------
33
+ ', 'gdpr'
34
+ ),
35
  esc_html( $args['requester'] ),
36
  esc_html( $args['nature'] ),
37
  esc_html( $args['office_contact'] ),
templates/email/delete-request.php CHANGED
@@ -2,7 +2,7 @@
2
  echo sprintf(
3
  /* translators: 1: Confirmation link, 2: Reset password link */
4
  esc_html__(
5
- 'Someone placed a request for your information to be removed from our site.
6
  By clicking confirm your account will be removed from our site and all data we collected
7
  over time will be erased from our database. It will be impossible for us to retrieve that
8
  information in the future.
@@ -15,7 +15,8 @@ To confirm this request, click here: %1$s
15
 
16
  ---------------------------------------------------------------------------------
17
  If that wasn\'t you, reset your password: %2$s
18
- ', 'gdpr' ),
 
19
  esc_url_raw( $args['confirm_url'] ),
20
  esc_url_raw( $args['forgot_password_url'] )
21
  );
2
  echo sprintf(
3
  /* translators: 1: Confirmation link, 2: Reset password link */
4
  esc_html__(
5
+ 'Someone placed a request for your information to be removed from our site.
6
  By clicking confirm your account will be removed from our site and all data we collected
7
  over time will be erased from our database. It will be impossible for us to retrieve that
8
  information in the future.
15
 
16
  ---------------------------------------------------------------------------------
17
  If that wasn\'t you, reset your password: %2$s
18
+ ', 'gdpr'
19
+ ),
20
  esc_url_raw( $args['confirm_url'] ),
21
  esc_url_raw( $args['forgot_password_url'] )
22
  );
templates/email/delete-resolved.php CHANGED
@@ -3,12 +3,13 @@
3
  echo sprintf(
4
  /* translators: 6-digit token for audit log */
5
  esc_html__(
6
- 'Your account has been closed.
7
 
8
  We no longer hold any information about you.
9
  If you ever need to make a complaint you can email us and we will try to help you.
10
  To be able to make a complaint you will be requested to provide your email address and the token below.
11
 
12
- %s', 'gdpr' ),
 
13
  esc_html( $args['token'] )
14
  );
3
  echo sprintf(
4
  /* translators: 6-digit token for audit log */
5
  esc_html__(
6
+ 'Your account has been closed.
7
 
8
  We no longer hold any information about you.
9
  If you ever need to make a complaint you can email us and we will try to help you.
10
  To be able to make a complaint you will be requested to provide your email address and the token below.
11
 
12
+ %s', 'gdpr'
13
+ ),
14
  esc_html( $args['token'] )
15
  );
templates/email/export-data-request.php CHANGED
@@ -2,7 +2,7 @@
2
  echo sprintf(
3
  /* translators: 1: XML download link, 2: JSON download link, 3: reset password link */
4
  esc_html__(
5
- 'Someone requested to download your data from our site.
6
  By clicking confirm we will redirect you back to our site where a download will begin.
7
 
8
  To download it in a XML format, click here: %1$s
@@ -12,7 +12,8 @@ To download it in a JSON format, click here: %2$s
12
 
13
  ---------------------------------------------------------------------------------
14
  If that wasn\'t you, reset your password: %3$s
15
- ', 'gdpr' ),
 
16
  esc_url_raw( $args['confirm_url_xml'] ),
17
  esc_url_raw( $args['confirm_url_json'] ),
18
  esc_url_raw( $args['forgot_password_url'] )
2
  echo sprintf(
3
  /* translators: 1: XML download link, 2: JSON download link, 3: reset password link */
4
  esc_html__(
5
+ 'Someone requested to download your data from our site.
6
  By clicking confirm we will redirect you back to our site where a download will begin.
7
 
8
  To download it in a XML format, click here: %1$s
12
 
13
  ---------------------------------------------------------------------------------
14
  If that wasn\'t you, reset your password: %3$s
15
+ ', 'gdpr'
16
+ ),
17
  esc_url_raw( $args['confirm_url_xml'] ),
18
  esc_url_raw( $args['confirm_url_json'] ),
19
  esc_url_raw( $args['forgot_password_url'] )
templates/email/new-request.php CHANGED
@@ -3,9 +3,10 @@
3
  echo sprintf(
4
  /* translators: 1: The type of request. 2: Link to where the request can be reviewed. */
5
  esc_html__(
6
- 'There is a new %1$s request waiting for review.
7
 
8
- Review your requests: %2$s', 'gdpr' ),
 
9
  esc_html( $args['type'] ),
10
  esc_url_raw( $args['review_url'] )
11
  );
3
  echo sprintf(
4
  /* translators: 1: The type of request. 2: Link to where the request can be reviewed. */
5
  esc_html__(
6
+ 'There is a new %1$s request waiting for review.
7
 
8
+ Review your requests: %2$s', 'gdpr'
9
+ ),
10
  esc_html( $args['type'] ),
11
  esc_url_raw( $args['review_url'] )
12
  );
templates/email/rectify-request.php CHANGED
@@ -2,7 +2,7 @@
2
  echo sprintf(
3
  /* translators: 1: The request content, 2: confirmation link, 3: reset password link */
4
  esc_html__(
5
- 'Someone placed a request for your information to be rectified on our site.
6
  By clicking confirm a request will be made and we will do our best to fulfil it.
7
 
8
  --------------------------------------------------------
@@ -19,7 +19,8 @@ To confirm this request, click here: %2$s
19
 
20
  ---------------------------------------------------------------------------------
21
  If that wasn\'t you, reset your password: %3$s
22
- ', 'gdpr' ),
 
23
  esc_html( $args['data'] ),
24
  esc_url_raw( $args['confirm_url'] ),
25
  esc_url_raw( $args['forgot_password_url'] )
2
  echo sprintf(
3
  /* translators: 1: The request content, 2: confirmation link, 3: reset password link */
4
  esc_html__(
5
+ 'Someone placed a request for your information to be rectified on our site.
6
  By clicking confirm a request will be made and we will do our best to fulfil it.
7
 
8
  --------------------------------------------------------
19
 
20
  ---------------------------------------------------------------------------------
21
  If that wasn\'t you, reset your password: %3$s
22
+ ', 'gdpr'
23
+ ),
24
  esc_html( $args['data'] ),
25
  esc_url_raw( $args['confirm_url'] ),
26
  esc_url_raw( $args['forgot_password_url'] )
templates/email/rectify-resolved.php CHANGED
@@ -1,5 +1,6 @@
1
  <?php
2
 
3
  echo esc_html__(
4
- 'We resolved your rectification request.
5
- If you have any problems or questions, don\'t hesitate to contact us.', 'gdpr' );
 
1
  <?php
2
 
3
  echo esc_html__(
4
+ 'We resolved your rectification request.
5
+ If you have any problems or questions, don\'t hesitate to contact us.', 'gdpr'
6
+ );
{public/partials → templates/forms}/complaint-form.php RENAMED
@@ -8,6 +8,6 @@
8
  <textarea name="data" rows="5" required placeholder="<?php esc_attr_e( 'Type your complaint here', 'gdpr' ); ?>"></textarea>
9
 
10
  <?php GDPR_Public::add_recaptcha(); ?>
11
- <?php $submit_button_text = ( $submit_button_text ?: esc_attr__( 'Submit', 'gdpr' ) ); ?>
12
  <input type="submit" value="<?php echo esc_attr( $submit_button_text ); ?>">
13
  </form>
8
  <textarea name="data" rows="5" required placeholder="<?php esc_attr_e( 'Type your complaint here', 'gdpr' ); ?>"></textarea>
9
 
10
  <?php GDPR_Public::add_recaptcha(); ?>
11
+ <?php $submit_button_text = ( $args['submit_button_text'] ?: esc_attr__( 'Submit', 'gdpr' ) ); ?>
12
  <input type="submit" value="<?php echo esc_attr( $submit_button_text ); ?>">
13
  </form>
{public/partials → templates/forms}/delete-form.php RENAMED
@@ -19,6 +19,6 @@
19
  <input type="email" name="user_email" placeholder="<?php esc_attr_e( 'email@domain.com', 'gdpr' ); ?>" required>
20
  <?php endif ?>
21
  <?php GDPR_Public::add_recaptcha(); ?>
22
- <?php $submit_button_text = ( $submit_button_text ?: esc_attr__( 'Close my account', 'gdpr' ) ); ?>
23
  <input type="submit" value="<?php echo esc_attr( $submit_button_text ); ?>">
24
  </form>
19
  <input type="email" name="user_email" placeholder="<?php esc_attr_e( 'email@domain.com', 'gdpr' ); ?>" required>
20
  <?php endif ?>
21
  <?php GDPR_Public::add_recaptcha(); ?>
22
+ <?php $submit_button_text = ( $args['submit_button_text'] ?: esc_attr__( 'Close my account', 'gdpr' ) ); ?>
23
  <input type="submit" value="<?php echo esc_attr( $submit_button_text ); ?>">
24
  </form>
{public/partials → templates/forms}/export-data-form.php RENAMED
@@ -6,6 +6,6 @@
6
  <input type="email" name="user_email" placeholder="<?php esc_attr_e( 'email@domain.com', 'gdpr' ); ?>" required>
7
  <?php endif ?>
8
  <?php GDPR_Public::add_recaptcha(); ?>
9
- <?php $submit_button_text = ( $submit_button_text ?: esc_attr__( 'Download my data', 'gdpr' ) ); ?>
10
  <input type="submit" value="<?php echo esc_attr( $submit_button_text ); ?>">
11
  </form>
6
  <input type="email" name="user_email" placeholder="<?php esc_attr_e( 'email@domain.com', 'gdpr' ); ?>" required>
7
  <?php endif ?>
8
  <?php GDPR_Public::add_recaptcha(); ?>
9
+ <?php $submit_button_text = ( $args['submit_button_text'] ?: esc_attr__( 'Download my data', 'gdpr' ) ); ?>
10
  <input type="submit" value="<?php echo esc_attr( $submit_button_text ); ?>">
11
  </form>
templates/forms/index.php ADDED
@@ -0,0 +1 @@
 
1
+ <?php // Silence is golden
{public/partials → templates/forms}/rectify-form.php RENAMED
@@ -7,6 +7,6 @@
7
  <?php endif ?>
8
  <textarea name="data" rows="5" required placeholder="<?php esc_attr_e( 'Type your rectification request here', 'gdpr' ); ?>"></textarea>
9
  <?php GDPR_Public::add_recaptcha(); ?>
10
- <?php $submit_button_text = ( $submit_button_text ?: esc_attr__( 'Submit', 'gdpr' ) ); ?>
11
  <input type="submit" value="<?php echo esc_attr( $submit_button_text ); ?>">
12
  </form>
7
  <?php endif ?>
8
  <textarea name="data" rows="5" required placeholder="<?php esc_attr_e( 'Type your rectification request here', 'gdpr' ); ?>"></textarea>
9
  <?php GDPR_Public::add_recaptcha(); ?>
10
+ <?php $submit_button_text = ( $args['submit_button_text'] ?: esc_attr__( 'Submit', 'gdpr' ) ); ?>
11
  <input type="submit" value="<?php echo esc_attr( $submit_button_text ); ?>">
12
  </form>
templates/index.php ADDED
@@ -0,0 +1 @@
 
1
+ <?php // Silence is golden
{public/partials → templates}/privacy-bar.php RENAMED
@@ -15,12 +15,12 @@
15
  <div class="gdpr gdpr-privacy-bar" style="display:none;">
16
  <div class="gdpr-wrapper">
17
  <div class="gdpr-content">
18
- <p><?php echo nl2br( wp_kses_post( $content ) ); ?></p>
19
  </div>
20
  <div class="gdpr-right">
21
- <?php if ( $show_cookie_cat_checkboxes ) : ?>
22
  <ul class="gdpr-cookie-categories">
23
- <?php foreach ( $registered_cookies as $cookie_cat_id => $cookie_cat ) : ?>
24
  <?php
25
  $enabled = ( 'off' === $cookie_cat['status'] ) ? false : true;
26
  if ( empty( $cookie_cat['cookies_used'] ) ) {
@@ -36,7 +36,7 @@
36
  <?php endif ?>
37
  <div class="gdpr-buttons">
38
  <button class="gdpr-preferences" type="button"><?php esc_html_e( 'Privacy Preferences', 'gdpr' ); ?></button>
39
- <button class="gdpr-agreement" type="button"><?php echo esc_html( $button_text ); ?></button>
40
  </div>
41
  <span class="gdpr-close"></span>
42
  </div>
15
  <div class="gdpr gdpr-privacy-bar" style="display:none;">
16
  <div class="gdpr-wrapper">
17
  <div class="gdpr-content">
18
+ <p><?php echo nl2br( wp_kses_post( $args['content'] ) ); ?></p>
19
  </div>
20
  <div class="gdpr-right">
21
+ <?php if ( $args['show_cookie_cat_checkboxes'] ) : ?>
22
  <ul class="gdpr-cookie-categories">
23
+ <?php foreach ( $args['registered_cookies'] as $cookie_cat_id => $cookie_cat ) : ?>
24
  <?php
25
  $enabled = ( 'off' === $cookie_cat['status'] ) ? false : true;
26
  if ( empty( $cookie_cat['cookies_used'] ) ) {
36
  <?php endif ?>
37
  <div class="gdpr-buttons">
38
  <button class="gdpr-preferences" type="button"><?php esc_html_e( 'Privacy Preferences', 'gdpr' ); ?></button>
39
+ <button class="gdpr-agreement" type="button"><?php echo esc_html( $args['button_text'] ); ?></button>
40
  </div>
41
  <span class="gdpr-close"></span>
42
  </div>
{public/partials → templates}/privacy-preferences-modal.php RENAMED
@@ -30,16 +30,16 @@
30
  <div class="gdpr-tabs">
31
  <ul class="">
32
  <li><button type="button" class="gdpr-tab-button gdpr-active" data-target="gdpr-consent-management"><?php esc_html_e( 'Consent Management', 'gdpr' ); ?></button></li>
33
- <?php reset( $tabs ); ?>
34
- <?php if ( ! empty( $tabs ) ) : ?>
35
- <li><button type="button" class="gdpr-tab-button gdpr-cookie-settings" data-target="<?php echo esc_attr( key( $tabs ) ); ?>"><?php esc_html_e( 'Cookie Settings', 'gdpr' ); ?></button>
36
  <ul class="gdpr-subtabs">
37
  <?php
38
- foreach ( $tabs as $key => $tab ) {
39
- if ( ( isset( $tab['cookies_used'] ) && empty( $tab['cookies_used'] ) ) && ( isset( $tab['hosts'] ) && empty( $tab['hosts'] ) ) ) {
40
  continue;
41
  }
42
- echo '<li><button type="button" data-target="' . esc_attr( $key ) . '" ' . '>' . esc_html( $tab['name'] ) . '</button></li>';
43
  }
44
  ?>
45
  </ul>
@@ -47,14 +47,14 @@
47
  <?php endif ?>
48
  </ul>
49
  <ul class="gdpr-policies">
50
- <?php if ( ! empty( $consent_types ) ) : ?>
51
- <?php foreach ( $consent_types as $consent_key => $type ) : ?>
52
  <?php
53
- if ( ! $type['policy-page'] ) {
54
  continue;
55
  }
56
  ?>
57
- <li><a href="<?php echo esc_url( get_permalink( $type['policy-page'] ) ); ?>" target="_blank"><?php echo esc_html( $type['name'] ); ?></a></li>
58
  <?php endforeach; ?>
59
  <?php endif; ?>
60
  </ul>
@@ -65,18 +65,18 @@
65
  <h4><?php esc_html_e( 'Consent Management', 'gdpr' ); ?></h4>
66
  </header>
67
  <div class="gdpr-info">
68
- <p><?php echo nl2br( esc_html( $cookie_privacy_excerpt ) ); ?></p>
69
- <?php if ( ! empty( $consent_types ) ) : ?>
70
- <?php foreach ( $consent_types as $consent_key => $type ) : ?>
71
  <div class="gdpr-cookies-used">
72
  <div class="gdpr-cookie-title">
73
- <p><?php echo esc_html( $type['name'] ); ?></p>
74
- <?php if ( $type['policy-page'] ) : ?>
75
  <span class="gdpr-always-active"><?php esc_html_e( 'Required', 'gdpr' ); ?></span>
76
- <input type="hidden" name="user_consents[]" value="<?php echo esc_attr( $consent_key ); ?>" checked style="display:none;">
77
  <?php else : ?>
78
  <label class="gdpr-switch">
79
- <input type="checkbox" name="user_consents[]" value="<?php echo esc_attr( $consent_key ); ?>" <?php echo ! empty( $user_consents ) ? checked( in_array( $consent_key, $user_consents, true ), 1, false ) : 'checked'; ?>>
80
  <span class="gdpr-slider round"></span>
81
  <span class="gdpr-switch-indicator-on"><?php echo esc_html__( 'ON', 'gdpr' ); ?></span>
82
  <span class="gdpr-switch-indicator-off"><?php echo esc_html__( 'OFF', 'gdpr' ); ?></span>
@@ -84,7 +84,7 @@
84
  <?php endif; ?>
85
  </div>
86
  <div class="gdpr-cookies">
87
- <span><?php echo wp_kses( $type['description'], $this->allowed_html ); ?></span>
88
  </div>
89
  </div>
90
  <?php endforeach; ?>
@@ -92,27 +92,27 @@
92
  </div>
93
  </div>
94
  <?php $all_cookies = array(); ?>
95
- <?php foreach ( $tabs as $key => $tab ) : ?>
96
  <div class="<?php echo esc_attr( $key ); ?>">
97
  <header>
98
- <h4><?php echo esc_html( $tab['name'] ); ?></h4>
99
  </header><!-- /header -->
100
  <div class="gdpr-info">
101
- <p><?php echo nl2br( wp_kses_post( $tab['how_we_use'] ) ); ?></p>
102
- <?php if ( isset( $tab['cookies_used'] ) && $tab['cookies_used'] ) : ?>
103
  <div class="gdpr-cookies-used">
104
  <div class="gdpr-cookie-title">
105
  <p><?php esc_html_e( 'Cookies Used', 'gdpr' ); ?></p>
106
  <?php
107
- $site_cookies = array();
108
- $enabled = ( 'off' === $tab['status'] ) ? false : true;
109
- $cookies_used = explode( ',', $tab['cookies_used'] );
110
- $approved_cookies = isset( $_COOKIE['gdpr']['allowed_cookies'] ) ? json_decode( sanitize_text_field( wp_unslash( $_COOKIE['gdpr']['allowed_cookies'] ) ) ) : array(); // WPCS: input var ok.
111
  foreach ( $cookies_used as $cookie ) {
112
  $site_cookies[] = trim( $cookie );
113
  $all_cookies[] = trim( $cookie );
114
- if ( ! empty( $approved_cookies ) && isset( $_COOKIE['gdpr']['privacy_bar'] ) ) {
115
- if ( in_array( trim( $cookie ), $approved_cookies, true ) ) {
116
  $enabled = true;
117
  } else {
118
  $enabled = false;
@@ -120,12 +120,12 @@
120
  }
121
  }
122
  ?>
123
- <?php if ( 'required' === $tab['status'] ) : ?>
124
  <span class="gdpr-always-active"><?php esc_html_e( 'Required', 'gdpr' ); ?></span>
125
- <input type="hidden" name="approved_cookies[]" value="<?php echo esc_attr( json_encode( $site_cookies ) ); ?>">
126
- <?php else : ?>
127
  <label class="gdpr-switch">
128
- <input type="checkbox" class="gdpr-cookie-category" data-category="<?php echo esc_attr( $key ); ?>" name="approved_cookies[]" value="<?php echo esc_attr( json_encode( $site_cookies ) ); ?>" <?php checked( $enabled, true ); ?>>
129
  <span class="gdpr-slider round"></span>
130
  <span class="gdpr-switch-indicator-on"><?php echo esc_html__( 'ON', 'gdpr' ); ?></span>
131
  <span class="gdpr-switch-indicator-off"><?php echo esc_html__( 'OFF', 'gdpr' ); ?></span>
@@ -133,12 +133,12 @@
133
  <?php endif; ?>
134
  </div>
135
  <div class="gdpr-cookies">
136
- <span><?php echo esc_html( $tab['cookies_used'] ); ?></span>
137
  </div>
138
  </div>
139
  <?php endif ?>
140
- <?php if ( isset( $tab['hosts'] ) && ! empty( $tab['hosts'] ) ) : ?>
141
- <?php foreach ( $tab['hosts'] as $host_key => $host ) : ?>
142
  <div class="gdpr-cookies-used">
143
  <div class="gdpr-cookie-title">
144
  <p><?php echo esc_html( $host_key ); ?></p>
@@ -154,7 +154,7 @@
154
  </div>
155
  <?php endforeach; ?>
156
  </div>
157
- <input type="hidden" name="all_cookies" value="<?php echo esc_attr( json_encode( $all_cookies ) ); ?>">
158
  </div>
159
  <footer>
160
  <input type="submit" value="<?php esc_attr_e( 'Save Preferences', 'gdpr' ); ?>">
30
  <div class="gdpr-tabs">
31
  <ul class="">
32
  <li><button type="button" class="gdpr-tab-button gdpr-active" data-target="gdpr-consent-management"><?php esc_html_e( 'Consent Management', 'gdpr' ); ?></button></li>
33
+ <?php reset( $args['tabs'] ); ?>
34
+ <?php if ( ! empty( $args['tabs'] ) ) : ?>
35
+ <li><button type="button" class="gdpr-tab-button gdpr-cookie-settings" data-target="<?php echo esc_attr( key( $args['tabs'] ) ); ?>"><?php esc_html_e( 'Cookie Settings', 'gdpr' ); ?></button>
36
  <ul class="gdpr-subtabs">
37
  <?php
38
+ foreach ( $args['tabs'] as $key => $gdpr_tab ) {
39
+ if ( ( isset( $gdpr_tab['cookies_used'] ) && empty( $gdpr_tab['cookies_used'] ) ) && ( isset( $gdpr_tab['hosts'] ) && empty( $gdpr_tab['hosts'] ) ) ) {
40
  continue;
41
  }
42
+ echo '<li><button type="button" data-target="' . esc_attr( $key ) . '" ' . '>' . esc_html( $gdpr_tab['name'] ) . '</button></li>';
43
  }
44
  ?>
45
  </ul>
47
  <?php endif ?>
48
  </ul>
49
  <ul class="gdpr-policies">
50
+ <?php if ( ! empty( $args['consent_types'] ) ) : ?>
51
+ <?php foreach ( $args['consent_types'] as $consent_key => $gdpr_type ) : ?>
52
  <?php
53
+ if ( ! $gdpr_type['policy-page'] ) {
54
  continue;
55
  }
56
  ?>
57
+ <li><a href="<?php echo esc_url( get_permalink( $gdpr_type['policy-page'] ) ); ?>" target="_blank"><?php echo esc_html( $gdpr_type['name'] ); ?></a></li>
58
  <?php endforeach; ?>
59
  <?php endif; ?>
60
  </ul>
65
  <h4><?php esc_html_e( 'Consent Management', 'gdpr' ); ?></h4>
66
  </header>
67
  <div class="gdpr-info">
68
+ <p><?php echo nl2br( esc_html( $args['cookie_privacy_excerpt'] ) ); ?></p>
69
+ <?php if ( ! empty( $args['consent_types'] ) ) : ?>
70
+ <?php foreach ( $args['consent_types'] as $consent_key => $gdpr_type ) : ?>
71
  <div class="gdpr-cookies-used">
72
  <div class="gdpr-cookie-title">
73
+ <p><?php echo esc_html( $gdpr_type['name'] ); ?></p>
74
+ <?php if ( $gdpr_type['policy-page'] ) : ?>
75
  <span class="gdpr-always-active"><?php esc_html_e( 'Required', 'gdpr' ); ?></span>
76
+ <input type="hidden" name="user_consents[]" value="<?php echo esc_attr( $consent_key ); ?>" style="display:none;">
77
  <?php else : ?>
78
  <label class="gdpr-switch">
79
+ <input type="checkbox" name="user_consents[]" value="<?php echo esc_attr( $consent_key ); ?>" <?php echo ! empty( $args['user_consents'] ) ? checked( in_array( $consent_key, $args['user_consents'], true ), 1, false ) : 'checked'; ?>>
80
  <span class="gdpr-slider round"></span>
81
  <span class="gdpr-switch-indicator-on"><?php echo esc_html__( 'ON', 'gdpr' ); ?></span>
82
  <span class="gdpr-switch-indicator-off"><?php echo esc_html__( 'OFF', 'gdpr' ); ?></span>
84
  <?php endif; ?>
85
  </div>
86
  <div class="gdpr-cookies">
87
+ <span><?php echo wp_kses( $type['description'], $args['allowed_html'] ); ?></span>
88
  </div>
89
  </div>
90
  <?php endforeach; ?>
92
  </div>
93
  </div>
94
  <?php $all_cookies = array(); ?>
95
+ <?php foreach ( $args['tabs'] as $key => $gdpr_tab ) : ?>
96
  <div class="<?php echo esc_attr( $key ); ?>">
97
  <header>
98
+ <h4><?php echo esc_html( $gdpr_tab['name'] ); ?></h4>
99
  </header><!-- /header -->
100
  <div class="gdpr-info">
101
+ <p><?php echo nl2br( wp_kses_post( $gdpr_tab['how_we_use'] ) ); ?></p>
102
+ <?php if ( isset( $gdpr_tab['cookies_used'] ) && $gdpr_tab['cookies_used'] ) : ?>
103
  <div class="gdpr-cookies-used">
104
  <div class="gdpr-cookie-title">
105
  <p><?php esc_html_e( 'Cookies Used', 'gdpr' ); ?></p>
106
  <?php
107
+ $site_cookies = array();
108
+ $enabled = ( 'off' === $gdpr_tab['status'] ) ? false : true;
109
+ $cookies_used = explode( ',', $gdpr_tab['cookies_used'] );
110
+ $args['approved_cookies'] = isset( $_COOKIE['gdpr']['allowed_cookies'] ) ? json_decode( sanitize_text_field( wp_unslash( $_COOKIE['gdpr']['allowed_cookies'] ) ) ) : array(); // WPCS: input var ok.
111
  foreach ( $cookies_used as $cookie ) {
112
  $site_cookies[] = trim( $cookie );
113
  $all_cookies[] = trim( $cookie );
114
+ if ( ! empty( $args['approved_cookies'] ) && isset( $_COOKIE['gdpr']['privacy_bar'] ) ) {
115
+ if ( in_array( trim( $cookie ), $args['approved_cookies'], true ) ) {
116
  $enabled = true;
117
  } else {
118
  $enabled = false;
120
  }
121
  }
122
  ?>
123
+ <?php if ( 'required' === $gdpr_tab['status'] ) : ?>
124
  <span class="gdpr-always-active"><?php esc_html_e( 'Required', 'gdpr' ); ?></span>
125
+ <input type="hidden" name="approved_cookies[]" value="<?php echo esc_attr( wp_json_encode( $site_cookies ) ); ?>">
126
+ <?php else : ?>
127
  <label class="gdpr-switch">
128
+ <input type="checkbox" class="gdpr-cookie-category" data-category="<?php echo esc_attr( $key ); ?>" name="approved_cookies[]" value="<?php echo esc_attr( wp_json_encode( $site_cookies ) ); ?>" <?php checked( $enabled, true ); ?>>
129
  <span class="gdpr-slider round"></span>
130
  <span class="gdpr-switch-indicator-on"><?php echo esc_html__( 'ON', 'gdpr' ); ?></span>
131
  <span class="gdpr-switch-indicator-off"><?php echo esc_html__( 'OFF', 'gdpr' ); ?></span>
133
  <?php endif; ?>
134
  </div>
135
  <div class="gdpr-cookies">
136
+ <span><?php echo esc_html( $gdpr_tab['cookies_used'] ); ?></span>
137
  </div>
138
  </div>
139
  <?php endif ?>
140
+ <?php if ( isset( $gdpr_tab['hosts'] ) && ! empty( $gdpr_tab['hosts'] ) ) : ?>
141
+ <?php foreach ( $gdpr_tab['hosts'] as $host_key => $host ) : ?>
142
  <div class="gdpr-cookies-used">
143
  <div class="gdpr-cookie-title">
144
  <p><?php echo esc_html( $host_key ); ?></p>
154
  </div>
155
  <?php endforeach; ?>
156
  </div>
157
+ <input type="hidden" name="all_cookies" value="<?php echo esc_attr( wp_json_encode( $all_cookies ) ); ?>">
158
  </div>
159
  <footer>
160
  <input type="submit" value="<?php esc_attr_e( 'Save Preferences', 'gdpr' ); ?>">
{public/partials → templates}/reconsent-bar.php RENAMED
@@ -19,7 +19,7 @@
19
  </div>
20
  <div class="gdpr-right">
21
  <ul class="gdpr-policy-list">
22
- <?php foreach ( $updated_consents as $consent_id => $consent ) : ?>
23
  <li class="gdpr-policy-list-item">
24
  <input type="hidden" value="<?php echo esc_attr( $consent_id ); ?>">
25
  <label><?php echo esc_html( $consent['name'] ); ?></label>
19
  </div>
20
  <div class="gdpr-right">
21
  <ul class="gdpr-policy-list">
22
+ <?php foreach ( $args['updated_consents'] as $consent_id => $consent ) : ?>
23
  <li class="gdpr-policy-list-item">
24
  <input type="hidden" value="<?php echo esc_attr( $consent_id ); ?>">
25
  <label><?php echo esc_html( $consent['name'] ); ?></label>
templates/reconsent-modal.php ADDED
@@ -0,0 +1,83 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * This file is used to markup the cookie preferences window.
5
+ *
6
+ *
7
+ * @link https://trewknowledge.com
8
+ * @since 1.0.0
9
+ *
10
+ * @package GDPR
11
+ * @subpackage public/partials
12
+ */
13
+ ?>
14
+
15
+ <div class="gdpr gdpr-reconsent">
16
+ <div class="gdpr-wrapper">
17
+ <div class="reconsent-form">
18
+ <header>
19
+ <div class="gdpr-box-title">
20
+ <h3><?php esc_html_e( 'Some of our policies have been updated.', 'gdpr' ); ?></h3>
21
+ </div>
22
+ </header>
23
+ <div class="gdpr-mobile-menu">
24
+ <button type="button"><?php esc_html_e( 'Options', 'gdpr' ); ?></button>
25
+ </div>
26
+ <div class="gdpr-content">
27
+ <div class="gdpr-tabs">
28
+ <ul class="">
29
+ <?php reset( $args['updated_consents'] ); ?>
30
+ <?php if ( ! empty( $args['updated_consents'] ) ) : ?>
31
+ <li><button type="button" class="gdpr-tab-button gdpr-cookie-settings gdpr-active" data-target="<?php echo esc_attr( key( $args['updated_consents'] ) ); ?>"><?php esc_html_e( 'Consent Management', 'gdpr' ); ?></button>
32
+ <ul class="gdpr-subtabs">
33
+ <?php
34
+ $policy_counter = 1;
35
+ foreach ( $args['updated_consents'] as $consent_id => $consent ) :
36
+ echo '<li><button' . ( 1 === $policy_counter ? ' class="gdpr-active"' : '' ) . ' type="button" data-target="' . esc_attr( $consent_id ) . '" ' . '>' . esc_html( $consent['name'] ) . '</button></li>';
37
+ $policy_counter++;
38
+ endforeach;
39
+ ?>
40
+ </ul>
41
+ </li>
42
+ <?php endif; ?>
43
+ </ul>
44
+ </div>
45
+ <div class="gdpr-tab-content">
46
+ <?php $counter = 0; ?>
47
+ <?php foreach ( $args['updated_consents'] as $consent_id => $consent ) : ?>
48
+ <div class="<?php echo esc_attr( $consent_id ); ?> <?php echo ( 0 === $counter ? 'gdpr-active' : '' ); ?>">
49
+ <header>
50
+ <h4><?php echo esc_html( $consent['name'] ); ?></h4>
51
+ </header><!-- /header -->
52
+ <div class="gdpr-info">
53
+ <div class="gdpr-policy-content">
54
+ <?php
55
+ $page_obj = get_post( $consent['policy-page'] );
56
+ if ( class_exists( 'SiteOrigin_Panels' ) && get_post_meta( $page_obj->ID, 'panels_data', true ) ) {
57
+ echo wp_kses_post( SiteOrigin_Panels::renderer()->render( $page_obj->ID ) );
58
+ } else {
59
+ echo wp_kses_post( apply_filters( 'the_content', $page_obj->post_content ) );
60
+ }
61
+ ?>
62
+ </div>
63
+ </div>
64
+ </div>
65
+ <?php $counter = 1; ?>
66
+ <?php endforeach; ?>
67
+ </div>
68
+ </div>
69
+ <footer>
70
+ <div class="gdpr-buttons">
71
+ <form method="post" class="gdpr-reconsent-frm">
72
+ <?php foreach ( $args['updated_consents'] as $consent_id => $consent ) : ?>
73
+ <input type="hidden" name="gdpr-updated-policy" value="<?php echo esc_attr( $consent_id ); ?>">
74
+ <?php endforeach; ?>
75
+ <?php wp_nonce_field( 'gdpr-agree-with-new-policies', 'agree-with-new-policies-nonce' ); ?>
76
+ <input type="submit" class="gdpr-agreement" value="<?php esc_attr_e( 'I Agree', 'gdpr' ); ?>">
77
+ <span class="gdpr-disagree"><a href="#"><?php esc_attr_e( 'Disagree', 'gdpr' ); ?></a></span>
78
+ </form>
79
+ </div>
80
+ </footer>
81
+ </div>
82
+ </div>
83
+ </div>