Changeset 3442111
- Timestamp:
- 01/18/2026 09:17:06 PM (7 weeks ago)
- Location:
- forms-bridge/trunk
- Files:
-
- 66 edited
-
addons/bigin/class-bigin-addon.php (modified) (1 diff)
-
addons/bigin/hooks.php (modified) (1 diff)
-
addons/bigin/templates/companies.php (modified) (1 diff)
-
addons/bigin/templates/contacts.php (modified) (1 diff)
-
addons/bigin/templates/deals.php (modified) (1 diff)
-
addons/bigin/templates/meetings.php (modified) (1 diff)
-
addons/brevo/class-brevo-addon.php (modified) (3 diffs)
-
addons/brevo/templates/companies.php (modified) (1 diff)
-
addons/brevo/templates/company-deals.php (modified) (1 diff)
-
addons/dolibarr/class-dolibarr-addon.php (modified) (1 diff)
-
addons/dolibarr/templates/individual-leads.php (modified) (1 diff)
-
addons/dolibarr/templates/individual-proposals.php (modified) (1 diff)
-
addons/dolibarr/templates/individual-prospects.php (modified) (1 diff)
-
addons/dolibarr/templates/thirdparties.php (modified) (1 diff)
-
addons/financoop/class-financoop-addon.php (modified) (1 diff)
-
addons/financoop/templates/donation-requests.php (modified) (1 diff)
-
addons/financoop/templates/loan-requests.php (modified) (1 diff)
-
addons/financoop/templates/subscription-requests.php (modified) (1 diff)
-
addons/gcalendar/class-gcalendar-addon.php (modified) (1 diff)
-
addons/gsheets/class-gsheets-addon.php (modified) (1 diff)
-
addons/gsheets/templates/spreadsheet-contacts.json (modified) (1 diff)
-
addons/holded/class-holded-addon.php (modified) (1 diff)
-
addons/holded/templates/appointments.php (modified) (1 diff)
-
addons/holded/templates/company-contacts.php (modified) (1 diff)
-
addons/holded/templates/company-leads.php (modified) (1 diff)
-
addons/holded/templates/contacts.php (modified) (1 diff)
-
addons/holded/templates/leads.php (modified) (1 diff)
-
addons/holded/templates/product-company-quotations.php (modified) (1 diff)
-
addons/holded/templates/product-quotations.php (modified) (1 diff)
-
addons/holded/templates/service-company-quotations.php (modified) (1 diff)
-
addons/holded/templates/service-quotations.php (modified) (1 diff)
-
addons/listmonk/class-listmonk-addon.php (modified) (3 diffs)
-
addons/mailchimp/class-mailchimp-addon.php (modified) (1 diff)
-
addons/nextcloud/templates/spreadsheet-contacts.json (modified) (1 diff)
-
addons/odoo/class-odoo-addon.php (modified) (2 diffs)
-
addons/odoo/templates/appointments.php (modified) (1 diff)
-
addons/odoo/templates/company-contacts.php (modified) (1 diff)
-
addons/odoo/templates/company-quotations.php (modified) (1 diff)
-
addons/odoo/templates/contacts.php (modified) (1 diff)
-
addons/odoo/templates/crm-company-leads.php (modified) (1 diff)
-
addons/odoo/templates/crm-leads.php (modified) (1 diff)
-
addons/odoo/templates/crm-team-leads.php (modified) (1 diff)
-
addons/odoo/templates/helpdesk-tickets.php (modified) (1 diff)
-
addons/odoo/templates/job-applicants.php (modified) (2 diffs)
-
addons/odoo/templates/quotations.php (modified) (1 diff)
-
addons/rocketchat/class-rocketchat-addon.php (modified) (1 diff)
-
addons/slack/class-slack-addon.php (modified) (1 diff)
-
addons/suitecrm/class-suitecrm-addon.php (modified) (1 diff)
-
addons/vtiger/class-vtiger-addon.php (modified) (1 diff)
-
addons/zoho/class-zoho-addon.php (modified) (1 diff)
-
addons/zoho/hooks.php (modified) (2 diffs)
-
addons/zoho/templates/accounts.php (modified) (1 diff)
-
addons/zoho/templates/company-leads.php (modified) (1 diff)
-
addons/zoho/templates/contacts.php (modified) (1 diff)
-
addons/zoho/templates/leads.php (modified) (1 diff)
-
addons/zoho/templates/meetings.php (modified) (1 diff)
-
addons/zulip/class-zulip-addon.php (modified) (1 diff)
-
assets/plugin.bundle.js (modified) (6 diffs)
-
forms-bridge.php (modified) (1 diff)
-
includes/class-addon.php (modified) (1 diff)
-
includes/class-rest-settings-controller.php (modified) (5 diffs)
-
includes/jobs/date-fields-to-date.php (modified) (1 diff)
-
integrations/formidable/class-formidable-integration.php (modified) (15 diffs)
-
integrations/ninja/class-ninja-integration.php (modified) (2 diffs)
-
integrations/wpforms/class-wpforms-integration.php (modified) (14 diffs)
-
readme.txt (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
forms-bridge/trunk/addons/bigin/class-bigin-addon.php
r3411530 r3442111 102 102 103 103 return true; 104 } 105 106 /** 107 * Performs an introspection of the backend API and returns a list of available endpoints. 108 * 109 * @param string $backend Target backend name. 110 * @param string|null $method HTTP method. 111 * 112 * @return array|WP_Error 113 */ 114 public function get_endpoints( $backend, $method = null ) { 115 $bridge = new Bigin_Form_Bridge( 116 array( 117 'name' => '__bigin-' . time(), 118 'endpoint' => '/bigin/v2/settings/modules', 119 'method' => 'GET', 120 'backend' => $backend, 121 ) 122 ); 123 124 $response = $bridge->submit(); 125 126 if ( is_wp_error( $response ) ) { 127 return array(); 128 } 129 130 return array_map( 131 function ( $module ) { 132 return '/bigin/v2/' . $module['api_name']; 133 }, 134 $response['data']['modules'], 135 ); 104 136 } 105 137 -
forms-bridge/trunk/addons/bigin/hooks.php
r3400099 r3442111 44 44 'name' => 'scope', 45 45 'value' => 46 'ZohoBigin.modules.ALL,ZohoBigin.settings. layouts.READ,ZohoBigin.users.READ',46 'ZohoBigin.modules.ALL,ZohoBigin.settings.modules.READ,ZohoBigin.settings.layouts.READ,ZohoBigin.users.READ', 47 47 ), 48 48 ), 49 49 'credential' => array( 50 50 'scope' => 51 'ZohoBigin.modules.ALL,ZohoBigin.settings. layouts.READ,ZohoBigin.users.READ',51 'ZohoBigin.modules.ALL,ZohoBigin.settings.modules.READ,ZohoBigin.settings.layouts.READ,ZohoBigin.users.READ', 52 52 ), 53 53 ), -
forms-bridge/trunk/addons/bigin/templates/companies.php
r3400099 r3442111 105 105 'name' => 'Phone', 106 106 'label' => __( 'Phone', 'forms-bridge' ), 107 'type' => 'te xt',107 'type' => 'tel', 108 108 ), 109 109 array( -
forms-bridge/trunk/addons/bigin/templates/contacts.php
r3400099 r3442111 68 68 'name' => 'Phone', 69 69 'label' => __( 'Phone', 'forms-bridge' ), 70 'type' => 'te xt',70 'type' => 'tel', 71 71 ), 72 72 array( -
forms-bridge/trunk/addons/bigin/templates/deals.php
r3400099 r3442111 169 169 'name' => 'Phone', 170 170 'label' => __( 'Phone', 'forms-bridge' ), 171 'type' => 'te xt',171 'type' => 'tel', 172 172 ), 173 173 array( -
forms-bridge/trunk/addons/bigin/templates/meetings.php
r3400099 r3442111 94 94 'name' => 'Phone', 95 95 'label' => __( 'Phone', 'forms-bridge' ), 96 'type' => 'te xt',96 'type' => 'tel', 97 97 ), 98 98 array( -
forms-bridge/trunk/addons/brevo/class-brevo-addon.php
r3400099 r3442111 47 47 * @var string 48 48 */ 49 public const OAS_URL = 'https://developers.brevo.com/reference/get_companies?json=on'; 49 // public const OAS_URL = 'https://developers.brevo.com/reference/get_companies?json=on'; 50 public const OAS_URL = 'https://api.brevo.com/v3/swagger_definition_v3.yml'; 50 51 51 52 /** … … 80 81 * Fetch available models from the OAS spec. 81 82 * 82 * @param Backend $backend HTTP backend object. 83 * @param string $backend Backend name. 84 * @param string|null $method HTTP method. 83 85 * 84 86 * @return array … … 86 88 * @todo Implementar el endpoint de consulta de endpoints disponibles. 87 89 */ 88 public function get_endpoints( $backend ) { 89 $response = wp_remote_get( 90 self::OAS_URL, 91 array( 92 'headers' => array( 93 'Accept' => 'application/json', 94 'Host' => 'developers.brevo.com', 95 'Referer' => 'https://developers.brevo.com/reference/get_companies', 96 'Alt-Used' => 'developers.brevo.com', 97 'User-Agent' => 'Mozilla/5.0 (X11; Linux x86_64; rv:144.0) Gecko/20100101 Firefox/144.0', 98 ), 99 ) 100 ); 90 public function get_endpoints( $backend, $method = null ) { 91 if ( function_exists( 'yaml_parse' ) ) { 92 $response = wp_remote_get( self::OAS_URL ); 101 93 102 if ( is_wp_error( $response ) ) { 103 return array(); 94 if ( ! is_wp_error( $response ) ) { 95 $data = yaml_parse( $response['body'] ); 96 97 if ( $data ) { 98 $oa_explorer = new OpenAPI( $data ); 99 100 $paths = $oa_explorer->paths(); 101 102 if ( $method ) { 103 $method = strtolower( $method ); 104 $method_paths = array(); 105 106 foreach ( $paths as $path ) { 107 $path_obj = $oa_explorer->path_obj( $path ); 108 109 if ( $path_obj && isset( $path_obj[ $method ] ) ) { 110 $method_paths[] = $path; 111 } 112 } 113 114 $paths = $method_paths; 115 } 116 117 return array_map( 118 function ( $path ) { 119 return '/v3' . $path; 120 }, 121 $paths, 122 ); 123 } 124 } 125 126 return array( '/v3/contacts' ); 104 127 } 105 106 $data = json_decode( $response['body'], true );107 $oa_explorer = new OpenAPI( $data['oasDefinition'] );108 109 $paths = $oa_explorer->paths();110 111 return array_map(112 function ( $path ) {113 return '/v3' . $path;114 },115 $paths,116 );117 128 } 118 129 -
forms-bridge/trunk/addons/brevo/templates/companies.php
r3395308 r3442111 66 66 'name' => 'phone', 67 67 'label' => __( 'Phone', 'forms-bridge' ), 68 'type' => 'te xt',68 'type' => 'tel', 69 69 ), 70 70 array( -
forms-bridge/trunk/addons/brevo/templates/company-deals.php
r3395308 r3442111 94 94 'name' => 'phone', 95 95 'label' => __( 'Phone', 'forms-bridge' ), 96 'type' => 'te xt',96 'type' => 'tel', 97 97 ), 98 98 array( -
forms-bridge/trunk/addons/dolibarr/class-dolibarr-addon.php
r3400031 r3442111 158 158 return $fields; 159 159 } 160 161 /** 162 * Performs an introspection of the backend API and returns a list of available endpoints. 163 * 164 * @param string $backend Backend name. 165 * @param string|null $method HTTP method. 166 * 167 * @return array|WP_Error 168 */ 169 public function get_endpoints( $backend, $method = null ) { 170 $bridge = new Dolibarr_Form_Bridge( 171 array( 172 'name' => '__dolibarr-' . time(), 173 'endpoint' => self::SWAGGER_ENDPOINT, 174 'backend' => $backend, 175 'method' => 'GET', 176 ) 177 ); 178 179 $response = $bridge->submit(); 180 181 if ( is_wp_error( $response ) ) { 182 return array(); 183 } 184 185 $version = $response['data']['swagger'] ?? null; 186 if ( ! $version ) { 187 return array(); 188 } 189 190 $oa_explorer = new OpenAPI( $response['data'] ); 191 192 $paths = $oa_explorer->paths(); 193 194 if ( $method ) { 195 $method = strtolower( $method ); 196 $method_paths = array(); 197 198 foreach ( $paths as $path ) { 199 $path_obj = $oa_explorer->path_obj( $path ); 200 201 if ( $path_obj && isset( $path_obj[ $method ] ) ) { 202 $method_paths[] = $path; 203 } 204 } 205 206 $paths = $method_paths; 207 } 208 209 return array_map( 210 function ( $path ) { 211 return '/api/index.php' . $path; 212 }, 213 $paths, 214 ); 215 } 160 216 } 161 217 -
forms-bridge/trunk/addons/dolibarr/templates/individual-leads.php
r3400099 r3442111 129 129 'name' => 'phone', 130 130 'label' => __( 'Phone', 'forms-bridge' ), 131 'type' => 'te xt',131 'type' => 'tel', 132 132 ), 133 133 array( -
forms-bridge/trunk/addons/dolibarr/templates/individual-proposals.php
r3400099 r3442111 112 112 'name' => 'phone', 113 113 'label' => __( 'Phone', 'forms-bridge' ), 114 'type' => 'te xt',114 'type' => 'tel', 115 115 ), 116 116 array( -
forms-bridge/trunk/addons/dolibarr/templates/individual-prospects.php
r3400099 r3442111 82 82 'name' => 'phone', 83 83 'label' => __( 'Phone', 'forms-bridge' ), 84 'type' => 'te xt',84 'type' => 'tel', 85 85 ), 86 86 array( -
forms-bridge/trunk/addons/dolibarr/templates/thirdparties.php
r3400099 r3442111 129 129 'name' => 'phone', 130 130 'label' => __( 'Phone', 'forms-bridge' ), 131 'type' => 'te xt',131 'type' => 'tel', 132 132 'required' => true, 133 133 ), -
forms-bridge/trunk/addons/financoop/class-financoop-addon.php
r3400031 r3442111 68 68 69 69 return true; 70 } 71 72 /** 73 * Performs an introspection of the backend API and returns a list of available endpoints. 74 * 75 * @param string $backend Target backend name. 76 * @param string|null $method HTTP method. 77 * 78 * @return array|WP_Error 79 */ 80 public function get_endpoints( $backend, $method = null ) { 81 return array( 82 '/api/campaign/{campaign_id}/subscription_request', 83 '/api/campaign/{campaign_id}/donation_request', 84 '/api/campaign/{campaign_id}/loan_request', 85 ); 70 86 } 71 87 -
forms-bridge/trunk/addons/financoop/templates/donation-requests.php
r3400031 r3442111 126 126 'label' => __( 'Phone', 'forms-bridge' ), 127 127 'name' => 'phone', 128 'type' => 'te xt',128 'type' => 'tel', 129 129 'required' => true, 130 130 ), -
forms-bridge/trunk/addons/financoop/templates/loan-requests.php
r3400031 r3442111 109 109 'label' => __( 'Phone', 'forms-bridge' ), 110 110 'name' => 'phone', 111 'type' => 'te xt',111 'type' => 'tel', 112 112 'required' => true, 113 113 ), -
forms-bridge/trunk/addons/financoop/templates/subscription-requests.php
r3400031 r3442111 129 129 'label' => __( 'Phone', 'forms-bridge' ), 130 130 'name' => 'phone', 131 'type' => 'te xt',131 'type' => 'tel', 132 132 'required' => true, 133 133 ), -
forms-bridge/trunk/addons/gcalendar/class-gcalendar-addon.php
r3403338 r3442111 132 132 133 133 /** 134 * Performs an introspection of the backend API and returns a list of available endpoints. 135 * 136 * @param string $backend Target backend name. 137 * @param string|null $method HTTP method. 138 * 139 * @return array|WP_Error 140 */ 141 public function get_endpoints( $backend, $method = null ) { 142 $response = $this->fetch( null, $backend ); 143 144 if ( is_wp_error( $response ) || empty( $response['data']['items'] ) ) { 145 return array(); 146 } 147 148 return array_map( 149 function ( $calendar ) { 150 return '/calendar/v3/calendars/' . $calendar['id'] . '/events'; 151 }, 152 $response['data']['items'] 153 ); 154 } 155 156 /** 134 157 * Performs an introspection of the backend endpoint and returns API fields 135 158 * and accepted content type. -
forms-bridge/trunk/addons/gsheets/class-gsheets-addon.php
r3400031 r3442111 151 151 152 152 return $response; 153 } 154 155 /** 156 * Performs an introspection of the backend API and returns a list of available endpoints. 157 * 158 * @param string $backend Target backend name. 159 * @param string|null $method HTTP method. 160 * 161 * @return array|WP_Error 162 */ 163 public function get_endpoints( $backend, $method = null ) { 164 $response = $this->fetch( null, $backend ); 165 166 if ( is_wp_error( $response ) || empty( $response['data']['files'] ) ) { 167 return array(); 168 } 169 170 return array_map( 171 function ( $file ) { 172 return '/v4/spreadsheets/' . $file['id']; 173 }, 174 $response['data']['files'] 175 ); 153 176 } 154 177 -
forms-bridge/trunk/addons/gsheets/templates/spreadsheet-contacts.json
r3278577 r3442111 33 33 "name": "phone", 34 34 "label": "Your phone", 35 "type": "te xt"35 "type": "tel" 36 36 } 37 37 ] -
forms-bridge/trunk/addons/holded/class-holded-addon.php
r3400031 r3442111 90 90 91 91 return true; 92 } 93 94 /** 95 * Performs an introspection of the backend API and returns a list of available endpoints. 96 * 97 * @param string $backend Target backend name. 98 * @param string|null $method HTTP method. 99 * 100 * @return array|WP_Error 101 */ 102 public function get_endpoints( $backend, $method = null ) { 103 $paths = array(); 104 105 foreach ( self::OAS_URLS as $module => $oas_path ) { 106 $oas_url = self::OAS_BASE_URL . $oas_path . '?dereference=false&reduce=false'; 107 108 $response = wp_remote_get( 109 $oas_url, 110 array( 111 'headers' => array( 112 'Accept' => 'application/json', 113 'Host' => 'developers.holded.com', 114 'Alt-Used' => 'developers.holded.com', 115 'Referer' => 'https://developers.holded.com/reference/list-contacts-1', 116 'User-Agent' => 'Mozilla/5.0 (X11; Linux x86_64; rv:144.0) Gecko/20100101 Firefox/144.0', 117 ), 118 ), 119 ); 120 121 if ( is_wp_error( $response ) ) { 122 continue; 123 } 124 125 $data = json_decode( $response['body'], true ); 126 if ( ! $data ) { 127 continue; 128 } 129 130 $oa_explorer = new OpenAPI( $data['data']['api']['schema'] ); 131 132 $module_paths = $oa_explorer->paths(); 133 134 if ( $method ) { 135 $method = strtolower( $method ); 136 $method_paths = array(); 137 138 foreach ( $module_paths as $path ) { 139 $path_obj = $oa_explorer->path_obj( $path ); 140 141 if ( $path_obj && isset( $path_obj[ $method ] ) ) { 142 $method_paths[] = $path; 143 } 144 } 145 146 $module_paths = $method_paths; 147 } 148 149 $module_paths = array_map( 150 function ( $path ) use ( $module ) { 151 return '/api/' . $module . '/v1' . $path; 152 }, 153 $module_paths, 154 ); 155 156 $paths = array_merge( $paths, $module_paths ); 157 } 158 159 return $paths; 92 160 } 93 161 -
forms-bridge/trunk/addons/holded/templates/appointments.php
r3395308 r3442111 229 229 'label' => __( 'Your phone', 'forms-bridge' ), 230 230 'name' => 'phone', 231 'type' => 'te xt',231 'type' => 'tel', 232 232 'required' => true, 233 233 ), -
forms-bridge/trunk/addons/holded/templates/company-contacts.php
r3395308 r3442111 199 199 'label' => __( 'Your phone', 'forms-bridge' ), 200 200 'name' => 'phone', 201 'type' => 'te xt',201 'type' => 'tel', 202 202 'required' => true, 203 203 ), -
forms-bridge/trunk/addons/holded/templates/company-leads.php
r3395308 r3442111 210 210 'label' => __( 'Your phone', 'forms-bridge' ), 211 211 'name' => 'phone', 212 'type' => 'te xt',212 'type' => 'tel', 213 213 'required' => true, 214 214 ), -
forms-bridge/trunk/addons/holded/templates/contacts.php
r3395308 r3442111 156 156 'label' => __( 'Your phone', 'forms-bridge' ), 157 157 'name' => 'phone', 158 'type' => 'te xt',158 'type' => 'tel', 159 159 'required' => true, 160 160 ), -
forms-bridge/trunk/addons/holded/templates/leads.php
r3395308 r3442111 169 169 'label' => __( 'Your phone', 'forms-bridge' ), 170 170 'name' => 'phone', 171 'type' => 'te xt',171 'type' => 'tel', 172 172 'required' => true, 173 173 ), -
forms-bridge/trunk/addons/holded/templates/product-company-quotations.php
r3395308 r3442111 215 215 'label' => __( 'Your phone', 'forms-bridge' ), 216 216 'name' => 'phone', 217 'type' => 'te xt',217 'type' => 'tel', 218 218 'required' => true, 219 219 ), -
forms-bridge/trunk/addons/holded/templates/product-quotations.php
r3395308 r3442111 169 169 'label' => __( 'Your phone', 'forms-bridge' ), 170 170 'name' => 'phone', 171 'type' => 'te xt',171 'type' => 'tel', 172 172 'required' => true, 173 173 ), -
forms-bridge/trunk/addons/holded/templates/service-company-quotations.php
r3395308 r3442111 215 215 'label' => __( 'Your phone', 'forms-bridge' ), 216 216 'name' => 'phone', 217 'type' => 'te xt',217 'type' => 'tel', 218 218 'required' => true, 219 219 ), -
forms-bridge/trunk/addons/holded/templates/service-quotations.php
r3395308 r3442111 169 169 'label' => __( 'Your phone', 'forms-bridge' ), 170 170 'name' => 'phone', 171 'type' => 'te xt',171 'type' => 'tel', 172 172 'required' => true, 173 173 ), -
forms-bridge/trunk/addons/listmonk/class-listmonk-addon.php
r3400031 r3442111 79 79 * Fetch available models from the OAS spec. 80 80 * 81 * @param Backend $backend HTTP backend object. 81 * @param string $backend Backend name. 82 * @param string|null $method HTTP method. 82 83 * 83 84 * @return array … … 85 86 * @todo Implementar el endpoint de consulta de endpoints disponibles. 86 87 */ 87 public function get_endpoints( $backend ) {88 public function get_endpoints( $backend, $method = null ) { 88 89 if ( function_exists( 'yaml_parse' ) ) { 89 90 $response = wp_remote_get( self::OAS_URL ); … … 92 93 $data = yaml_parse( $response['body'] ); 93 94 94 $oa_explorer = new OpenAPI( $data ); 95 $paths = $oa_explorer->paths(); 95 if ( $data ) { 96 $oa_explorer = new OpenAPI( $data ); 97 $paths = $oa_explorer->paths(); 96 98 97 return array_map( 98 function ( $path ) { 99 return '/api' . $path; 100 }, 101 $paths 102 ); 99 if ( $method ) { 100 $method = strtolower( $method ); 101 $method_paths = array(); 102 103 foreach ( $paths as $path ) { 104 $path_obj = $oa_explorer->path_obj( $path ); 105 106 if ( $path_obj && isset( $path_obj[ $method ] ) ) { 107 $method_paths[] = $path; 108 } 109 } 110 111 $paths = $method_paths; 112 } 113 114 return array_map( 115 function ( $path ) { 116 return '/api' . $path; 117 }, 118 $paths 119 ); 120 } 103 121 } 104 122 } 105 123 106 return array( 107 '/api/subscribers', 108 ); 124 return array( '/api/subscribers' ); 109 125 } 110 126 -
forms-bridge/trunk/addons/mailchimp/class-mailchimp-addon.php
r3400031 r3442111 78 78 79 79 /** 80 * Performs an introspection of the backend API and returns a list of available endpoints. 81 * 82 * @param string $backend Target backend name. 83 * @param string|null $method HTTP method. 84 * 85 * @return array|WP_Error 86 */ 87 public function get_endpoints( $backend, $method = null ) { 88 $response = wp_remote_get( 89 self::SWAGGER_URL, 90 array( 91 'headers' => array( 92 'Accept' => 'application/json', 93 'Host' => 'mailchimp.com', 94 'Referer' => 'https://mailchimp.com/developer/marketing/api/', 95 'User-Agent' => 'Mozilla/5.0 (X11; Linux x86_64; rv:144.0) Gecko/20100101 Firefox/144.0', 96 ), 97 ), 98 ); 99 100 if ( ! is_wp_error( $response ) ) { 101 $data = json_decode( $response['body'], true ); 102 103 if ( $data ) { 104 $oa_explorer = new OpenAPI( $data ); 105 106 $paths = $oa_explorer->paths(); 107 108 if ( $method ) { 109 $method = strtolower( $method ); 110 $method_paths = array(); 111 112 foreach ( $paths as $path ) { 113 $path_obj = $oa_explorer->path_obj( $path ); 114 115 if ( $path_obj && isset( $path_obj[ $method ] ) ) { 116 $method_paths[] = $path; 117 } 118 } 119 120 $paths = $method_paths; 121 } 122 123 return array_map( 124 function ( $path ) { 125 return '/3.0' . $path; 126 }, 127 $paths, 128 ); 129 } 130 } 131 132 return array( '/3.0/lists/{list_id}/members' ); 133 } 134 135 /** 80 136 * Performs an introspection of the backend endpoint and returns API fields 81 137 * and accepted content type. -
forms-bridge/trunk/addons/nextcloud/templates/spreadsheet-contacts.json
r3335568 r3442111 33 33 "name": "phone", 34 34 "label": "Your phone", 35 "type": "te xt"35 "type": "tel" 36 36 } 37 37 ] -
forms-bridge/trunk/addons/odoo/class-odoo-addon.php
r3400031 r3442111 94 94 * Fetch available models from the backend 95 95 * 96 * @param Backend $backend HTTP backend object. 96 * @param string $backend Backend name. 97 * @param string|null $method RPC method. 97 98 * 98 99 * @return array … … 100 101 * @todo Implementar el endpoint de consulta de endpoints disponibles. 101 102 */ 102 public function get_endpoints( $backend ) {103 public function get_endpoints( $backend, $method = null ) { 103 104 $bridge = new Odoo_Form_Bridge( 104 105 array( -
forms-bridge/trunk/addons/odoo/templates/appointments.php
r3395308 r3442111 141 141 'name' => 'phone', 142 142 'label' => __( 'Your phone', 'forms-bridge' ), 143 'type' => 'te xt',143 'type' => 'tel', 144 144 ), 145 145 array( -
forms-bridge/trunk/addons/odoo/templates/company-contacts.php
r3395308 r3442111 145 145 'label' => __( 'Your phone', 'forms-bridge' ), 146 146 'name' => 'phone', 147 'type' => 'te xt',147 'type' => 'tel', 148 148 ), 149 149 ), -
forms-bridge/trunk/addons/odoo/templates/company-quotations.php
r3395308 r3442111 206 206 'label' => __( 'Your phone', 'forms-bridge' ), 207 207 'name' => 'phone', 208 'type' => 'te xt',208 'type' => 'tel', 209 209 ), 210 210 ), -
forms-bridge/trunk/addons/odoo/templates/contacts.php
r3395308 r3442111 71 71 'label' => __( 'Your phone', 'forms-bridge' ), 72 72 'name' => 'phone', 73 'type' => 'te xt',73 'type' => 'tel', 74 74 ), 75 75 array( -
forms-bridge/trunk/addons/odoo/templates/crm-company-leads.php
r3395308 r3442111 222 222 'label' => __( 'Your phone', 'forms-bridge' ), 223 223 'name' => 'phone', 224 'type' => 'te xt',224 'type' => 'tel', 225 225 ), 226 226 array( -
forms-bridge/trunk/addons/odoo/templates/crm-leads.php
r3395308 r3442111 131 131 'label' => __( 'Your phone', 'forms-bridge' ), 132 132 'name' => 'phone', 133 'type' => 'te xt',133 'type' => 'tel', 134 134 ), 135 135 array( -
forms-bridge/trunk/addons/odoo/templates/crm-team-leads.php
r3395308 r3442111 132 132 'label' => __( 'Your phone', 'forms-bridge' ), 133 133 'name' => 'phone', 134 'type' => 'te xt',134 'type' => 'tel', 135 135 ), 136 136 array( -
forms-bridge/trunk/addons/odoo/templates/helpdesk-tickets.php
r3395992 r3442111 110 110 'name' => 'your-email', 111 111 'label' => __( 'Your email', 'forms-bridge' ), 112 'type' => ' text',112 'type' => 'email', 113 113 'required' => true, 114 114 ), -
forms-bridge/trunk/addons/odoo/templates/job-applicants.php
r3395308 r3442111 123 123 'name' => 'your-email', 124 124 'label' => __( 'Your email', 'forms-bridge' ), 125 'type' => ' text',125 'type' => 'email', 126 126 'required' => true, 127 127 ), … … 129 129 'name' => 'your-phone', 130 130 'label' => __( 'Your phone', 'forms-bridge' ), 131 'type' => 'te xt',131 'type' => 'tel', 132 132 'required' => true, 133 133 ), -
forms-bridge/trunk/addons/odoo/templates/quotations.php
r3395308 r3442111 117 117 'label' => __( 'Your phone', 'forms-bridge' ), 118 118 'name' => 'phone', 119 'type' => 'te xt',119 'type' => 'tel', 120 120 'required' => true, 121 121 ), -
forms-bridge/trunk/addons/rocketchat/class-rocketchat-addon.php
r3400031 r3442111 75 75 76 76 return true; 77 } 78 79 /** 80 * Fetch available models from the OAS spec. 81 * 82 * @param string $backend Backend name. 83 * @param string|null $method HTTP method. 84 * 85 * @return array 86 * 87 * @todo Implementar el endpoint de consulta de endpoints disponibles. 88 */ 89 public function get_endpoints( $backend, $method = null ) { 90 if ( function_exists( 'yaml_parse' ) ) { 91 $response = wp_remote_get( self::OAS_URL ); 92 93 if ( ! is_wp_error( $response ) ) { 94 $data = yaml_parse( $response['body'] ); 95 96 if ( $data ) { 97 $oa_explorer = new OpenAPI( $data ); 98 $paths = $oa_explorer->paths(); 99 100 if ( $method ) { 101 $method = strtolower( $method ); 102 $method_paths = array(); 103 104 foreach ( $paths as $path ) { 105 $path_obj = $oa_explorer->path_obj( $path ); 106 107 if ( $path_obj && isset( $path_obj[ $method ] ) ) { 108 $method_paths[] = $path; 109 } 110 } 111 112 $paths = $method_paths; 113 } 114 115 return $paths; 116 } 117 } 118 } 119 120 return array( '/api/v1/chat.postMessage' ); 77 121 } 78 122 -
forms-bridge/trunk/addons/slack/class-slack-addon.php
r3400031 r3442111 78 78 79 79 /** 80 * Fetch available models from the OAS spec. 81 * 82 * @param string $backend Backend name. 83 * @param string|null $method HTTP method. 84 * 85 * @return array 86 * 87 * @todo Implementar el endpoint de consulta de endpoints disponibles. 88 */ 89 public function get_endpoints( $backend, $method = null ) { 90 $response = wp_remote_get( self::OAS_URL ); 91 92 if ( ! is_wp_error( $response ) ) { 93 $data = json_decode( $response['body'], true ); 94 95 if ( $data ) { 96 $oa_explorer = new OpenAPI( $data ); 97 $paths = $oa_explorer->paths(); 98 99 if ( $method ) { 100 $method = strtolower( $method ); 101 $method_paths = array(); 102 103 foreach ( $paths as $path ) { 104 $path_obj = $oa_explorer->path_obj( $path ); 105 106 if ( $path_obj && isset( $path_obj[ $method ] ) ) { 107 $method_paths[] = $path; 108 } 109 } 110 111 $paths = $method_paths; 112 } 113 114 return array_map( 115 function ( $path ) { 116 return '/api' . $path; 117 }, 118 $paths, 119 ); 120 } 121 } 122 123 return array( '/api/chat.postMessage' ); 124 } 125 126 /** 80 127 * Performs an introspection of the backend endpoint and returns API fields. 81 128 * -
forms-bridge/trunk/addons/suitecrm/class-suitecrm-addon.php
r3403338 r3442111 95 95 * Fetch available modules from the backend. 96 96 * 97 * @param Backend $backend HTTP backend object. 97 * @param string $backend Backend name. 98 * @param string|null $method API method. 98 99 * 99 100 * @return array 100 101 */ 101 public function get_endpoints( $backend ) {102 public function get_endpoints( $backend, $method = null ) { 102 103 $bridge = new SuiteCRM_Form_Bridge( 103 104 array( -
forms-bridge/trunk/addons/vtiger/class-vtiger-addon.php
r3403338 r3442111 99 99 * Fetch available modules from the backend. 100 100 * 101 * @param Backend $backend HTTP backend object. 101 * @param string $backend HTTP backend object. 102 * @param string|null $method API method. 102 103 * 103 104 * @return array 104 105 */ 105 public function get_endpoints( $backend ) {106 public function get_endpoints( $backend, $method = null ) { 106 107 $bridge = new Vtiger_Form_Bridge( 107 108 array( -
forms-bridge/trunk/addons/zoho/class-zoho-addon.php
r3411530 r3442111 101 101 102 102 return true; 103 } 104 105 /** 106 * Performs an introspection of the backend API and returns a list of available endpoints. 107 * 108 * @param string $backend Target backend name. 109 * @param string|null $method HTTP method. 110 * 111 * @return array|WP_Error 112 */ 113 public function get_endpoints( $backend, $method = null ) { 114 $bridge = new Zoho_Form_Bridge( 115 array( 116 'name' => '__zoho-' . time(), 117 'endpoint' => '/crm/v7/settings/modules', 118 'method' => 'GET', 119 'backend' => $backend, 120 ) 121 ); 122 123 $response = $bridge->submit(); 124 125 if ( is_wp_error( $response ) ) { 126 return array(); 127 } 128 129 return array_map( 130 function ( $module ) { 131 return '/crm/v7/' . $module['api_name']; 132 }, 133 $response['data']['modules'], 134 ); 103 135 } 104 136 -
forms-bridge/trunk/addons/zoho/hooks.php
r3400099 r3442111 108 108 'label' => __( 'Scope', 'forms-bridge' ), 109 109 'type' => 'text', 110 'value' => 'ZohoCRM.modules.ALL,ZohoCRM.settings. layouts.READ,ZohoCRM.users.READ',110 'value' => 'ZohoCRM.modules.ALL,ZohoCRM.settings.modules.READ,ZohoCRM.settings.layouts.READ,ZohoCRM.users.READ', 111 111 'required' => true, 112 112 ), … … 175 175 'schema' => 'Bearer', 176 176 'oauth_url' => 'https://accounts.{region}/oauth/v2', 177 'scope' => 'ZohoCRM.modules.ALL,ZohoCRM.settings. layouts.READ,ZohoCRM.users.READ',177 'scope' => 'ZohoCRM.modules.ALL,ZohoCRM.settings.modules.READ,ZohoCRM.settings.layouts.READ,ZohoCRM.users.READ', 178 178 'client_id' => '', 179 179 'client_secret' => '', -
forms-bridge/trunk/addons/zoho/templates/accounts.php
r3400099 r3442111 104 104 'name' => 'Phone', 105 105 'label' => __( 'Phone', 'forms-bridge' ), 106 'type' => 'te xt',106 'type' => 'tel', 107 107 ), 108 108 array( -
forms-bridge/trunk/addons/zoho/templates/company-leads.php
r3400099 r3442111 162 162 'name' => 'Phone', 163 163 'label' => __( 'Phone', 'forms-bridge' ), 164 'type' => 'te xt',164 'type' => 'tel', 165 165 ), 166 166 array( -
forms-bridge/trunk/addons/zoho/templates/contacts.php
r3400099 r3442111 69 69 'name' => 'Phone', 70 70 'label' => __( 'Phone', 'forms-bridge' ), 71 'type' => 'te xt',71 'type' => 'tel', 72 72 ), 73 73 array( -
forms-bridge/trunk/addons/zoho/templates/leads.php
r3400099 r3442111 130 130 'name' => 'Phone', 131 131 'label' => __( 'Phone', 'forms-bridge' ), 132 'type' => 'te xt',132 'type' => 'tel', 133 133 ), 134 134 array( -
forms-bridge/trunk/addons/zoho/templates/meetings.php
r3400099 r3442111 147 147 'name' => 'Phone', 148 148 'label' => __( 'Phone', 'forms-bridge' ), 149 'type' => 'te xt',149 'type' => 'tel', 150 150 ), 151 151 array( -
forms-bridge/trunk/addons/zulip/class-zulip-addon.php
r3400031 r3442111 76 76 77 77 return true; 78 } 79 80 /** 81 * Fetch available models from the OAS spec. 82 * 83 * @param string $backend Backend name. 84 * @param string|null $method HTTP method. 85 * 86 * @return array 87 * 88 * @todo Implementar el endpoint de consulta de endpoints disponibles. 89 */ 90 public function get_endpoints( $backend, $method = null ) { 91 if ( function_exists( 'yaml_parse' ) ) { 92 $response = wp_remote_get( self::OAS_URL ); 93 94 if ( ! is_wp_error( $response ) ) { 95 $data = yaml_parse( $response['body'] ); 96 97 if ( $data ) { 98 $oa_explorer = new OpenAPI( $data ); 99 $paths = $oa_explorer->paths(); 100 101 if ( $method ) { 102 $method = strtolower( $method ); 103 $method_paths = array(); 104 105 foreach ( $paths as $path ) { 106 $path_obj = $oa_explorer->path_obj( $path ); 107 108 if ( $path_obj && isset( $path_obj[ $method ] ) ) { 109 $method_paths[] = $path; 110 } 111 } 112 113 $paths = $method_paths; 114 } 115 116 return array_map( 117 function ( $path ) { 118 return '/api/v1' . $path; 119 }, 120 $paths, 121 ); 122 } 123 } 124 } 125 126 return array( '/api/v1/messages' ); 78 127 } 79 128 -
forms-bridge/trunk/assets/plugin.bundle.js
r3411530 r3442111 1 (()=>{var{Component: Y0}=wp.element,ll=class extends Y0{constructor(e){super(e),this.state={hasError:!1,err:null}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(e,t){console.error(e,t.componentStack)}render(){return this.state.hasError?this.props.fallback:this.props.children}},Cu=ll;var{createContext:U0,useContext:M0,useState:E0,useEffect:D0}=wp.element,{Notice:L0}=wp.components,Wu=U0([]);function Ol({children:i}){let[e,t]=E0([]),n=r=>{t(r?[...e,r]:e.slice(1))};return D0(()=>{e.length&&window.scrollTo({left:0,top:0,behavior:"smooth"})},[e]),React.createElement(Wu.Provider,{value:[e[0],n]},e.length&&React.createElement("div",{style:{marginBottom:"calc(-8px)"}},React.createElement(L0,{status:"error",onRemove:()=>n(null),politeness:"assertive"},e[0]))||null,i)}function N(){return M0(Wu)}function cl({show:i}){if(i)return React.createElement("div",{style:{position:"absolute",zIndex:10,top:"0px",left:"0px",right:"0px",bottom:"0px",margin:"auto",backdropFilter:"blur(0.5px)",backgroundColor:"#ffffff1f",display:"flex",justifyContent:"center",alignItems:"center"}},React.createElement("img",{src:"/wp-content/plugins/forms-bridge/assets/spinner.gif",height:"67px",width:"67px"}))}var{createContext:G0,useContext:B0,useState:I0}=wp.element,Zu=G0([]);function hl({children:i}){let[e,t]=I0([]),n=r=>{t(r?[...e,!!r]:e.slice(1))};return React.createElement(Zu.Provider,{value:[e.length>0,n]},i,React.createElement(cl,{show:e.length}))}function fe(){return B0(Zu)}var{useEffect:Vu,useState:N0,useRef:F0}=wp.element;function K(){let i=F0(document.querySelector("#forms-bridge")).current,[e,t]=N0(()=>new URLSearchParams(window.location.search).get("tab")||"general");return Vu(()=>{let n=({detail:r})=>{e!==r&&t(r)};return i.addEventListener("tab",n),()=>i.removeEventListener("tab",n)},[e]),Vu(()=>{let n=new URLSearchParams(window.location.search);if(n.get("tab")===e)return;let r=new URLSearchParams(n.toString());r.set("tab",e),window.history.replaceState({from:`${window.location.pathname}?${n.toString()}`},"",`${window.location.pathname}?${r.toString()}`),i.dispatchEvent(new CustomEvent("tab",{detail:e}))},[e]),[e,t]}var{createContext:H0,useContext:K0,useMemo:J0,useEffect:Au,useRef:eS,useState:tS,useCallback:iS}=wp.element,nS=wp.apiFetch,{__:rS}=wp.i18n,ju=H0({backend:{},credential:{},bridge:{}});function fl({children:i}){let[e]=K(),[t,n]=tS({}),r=eS(t);r.current=t;let[,s]=fe(),[,o]=N(),a=iS(O=>{!O||r.current[O]||(s(!0),nS({path:`forms-bridge/v1/${O}/schemas`}).then(c=>n({...r.current,[O]:c})).catch(()=>o(rS("Schema loading error","forms-bridge"))).finally(()=>s(!1)))},[t]);Au(()=>{a("http")},[]),Au(()=>{e&&e!=="general"&&e!=="http"&&a(e)},[a,e]);let l=J0(()=>{let{bridge:O}=r.current[e]||{},{backend:c,credential:h}=r.current.http||{};return{bridge:O,credential:h,backend:c}},[e,t]);return React.createElement(ju.Provider,{value:l},i)}function ri(){return K0(ju)}function ki(i,e=!1){try{i=new URL(i)}catch{return!1}return e===!0&&(i.hash!==""||i.search!=="")||/[^-a-zA-Z0-9._+]+/.test(i.hostname)?!1:i.protocol==="http:"||i.protocol==="https:"}function tr(i){if(!i?.name)return!1;let e=ki(i.base_url)&&Array.isArray(i.headers);return!e||!i.headers.find(({name:n})=>n==="Content-Type")?.value?!1:(i.authentication?.type&&(e=e&&i.authentication.client_secret,i.authentication.type!=="Bearer"&&(e=e&&i.authentication.client_id)),e)}function si(i,e){return i.sort((t,n)=>e.includes(t.name)?e.includes(n.name)?e.indexOf(t.name)-e.indexOf(n.name):-1:1)}function Ce(i){return i[0]?.value===""?i:[{label:"",value:""}].concat(i)}function sn(i,e="forms-bridge-export"){let t=JSON.stringify(i),n=new Blob([t],{type:"application/json"}),r=URL.createObjectURL(n),s=document.createElement("a");s.href=r,s.download=e+".json",document.body.appendChild(s),s.click(),document.body.removeChild(s)}function oi(){return new Promise((i,e)=>{let t=document.createElement("input");t.type="file",t.accept="application/json",t.addEventListener("cancel",function(){document.body.removeChild(t),e()}),t.addEventListener("change",function(){if(t.files.length===1){let n=new FileReader;n.onerror=function(r){document.body.removeChild(t),e(r)},n.onload=function(){let r;try{r=JSON.parse(n.result),i(r)}catch(s){e(s)}finally{document.body.removeChild(t)}},n.readAsText(t.files[0])}else document.body.removeChild(t)}),document.body.appendChild(t),t.click()})}function ul(i){return i===null||typeof i!="object"?i:Array.isArray(i)?[...i]:{...i}}function E(i,e){return!i||typeof i!="object"?!1:Array.isArray(i)?i.length>e:Object.prototype.hasOwnProperty.call(i,e)}function Us(i="",e={}){let t=new URL(wpApiSettings.root.replace(/wp-json/,"wp-admin"));return t.pathname+=i.replace(/^\/+/,""),t.search=new URLSearchParams(e).toString(),t.toString()}function Ms(i="",e={}){let t=new URL(wpApiSettings.root);return t.pathname+=i.replace(/^\/+/,""),t.search=new URLSearchParams(e).toString(),t.toString()}function Se(i,e,t=!0){try{let n=Eu(i,e,t);return Du(n)>0}catch(n){return(!t||n!=="change")&&console.warn(n),!0}}function sS(i){return Object.prototype.toString.call(i)==="[object Date]"}function Uu(i){return Object.prototype.toString.call(i)==="[object Array]"}function Mu(i){return Object.prototype.toString.call(i)==="[object Object]"}function oS(i){return!Mu(i)&&!Uu(i)}function dl(i){if(Mu(i))return"object";if(sS(i))return"date";if(Uu(i))return"array";if(oS(i))return"value"}function Eu(i,e,t={},n=!0){return t=Yu(i,e,t,n),t=Yu(e,i,t,n),t}function Yu(i,e,t,n){for(let r in i){if(E(t,r))continue;if(!E(e,r)){if(n)throw"change";t[r]=!0;continue}let s=dl(i[r]),o=dl(e[r]);if(!s||!o)throw"Invalid argument: Only serializable data can be diffed";if(s!==o){if(n)throw"change";t[r]=!0;continue}if(s==="object"||s==="array")t={...t,[r]:Eu(i[r],e[r],{},n)};else if(i[r]!==e[r]){if(n)throw"change";t[r]=!0}else t[r]=!1}return t}function Du(i,e=0){return Object.keys(i).reduce((t,n)=>dl(i[n])==="object"?Du(i[n],t):i[n]?t+1:t,e)}var{createContext:aS,useContext:nr,useState:lS,useEffect:Lu,useRef:ir,useMemo:OS,useCallback:cS}=wp.element,Gu=wp.apiFetch,{__:Bu}=wp.i18n,Iu=Object.freeze({state:{general:{loading:!0,notification_receiver:"",addons:[],integrations:null,debug:!1},http:{backends:[],credentials:[]}},patch:()=>{},submit:()=>Promise.resolve(),fetch:()=>Promise.resolve()}),on=aS(Iu);function pl({children:i}){let[,e]=fe(),[,t]=N(),n=ir(null),[r,s]=lS(null),o=ir(r);o.current=r;let a=ir(()=>(e(!0),Gu({path:"forms-bridge/v1/settings"}).then(f=>{n.current=f,o.current=f,s(f)}).catch(()=>t(Bu("Settings loading error","forms-bridge"))).finally(()=>e(!1)))).current,l=ir(f=>{Se(o.current,n.current)&&(f.preventDefault(),f.returnValue=!0)}).current;Lu(()=>(window.addEventListener("beforeunload",l),a(),()=>{window.removeEventListener("beforeunload",l)}),[]),Lu(()=>{window.__wpfbInvalidated===!0&&(c(r).then(()=>{window.__wpfbReload&&window.location.reload()}).finally(()=>{window.__wpfbReload=!1}),window.__wpfbInvalidated=!1)},[r]);let O=cS(f=>s({...r,...f}),[r]),c=ir(f=>(e(!0),Gu({path:"forms-bridge/v1/settings",method:"POST",headers:{"Content-Type":"application/json"},data:f}).catch(()=>(t(Bu("Settings submission error","forms-bridge")),{success:!1})).then(u=>{n.current=u,o.current=u,s(u)}).finally(()=>e(!1)))).current,h=r||Iu.state;return React.createElement(on.Provider,{value:{state:h,patch:O,submit:c,fetch:a}},i)}function an(){let{state:i,submit:e}=nr(on);return[i,t=>e(t)]}function ot(){let{fetch:i}=nr(on);return i}function rr(){let{state:{general:i},patch:e}=nr(on);return[i,t=>e({general:t})]}function Es(){let{state:{http:i},patch:e}=nr(on);return[i,t=>e({http:t})]}function Nu(){let{state:i,patch:e}=nr(on);return[OS(()=>Object.keys(i).reduce((n,r)=>(r!=="general"&&r!=="http"&&(n[r]=i[r]),n),{}),[i]),e]}var Fu=rr;function Hu(i,e){return i.map(t=>{let n=!!e.find(({name:r})=>r===t.name)?.enabled;return{...t,enabled:n}})}function ln(){let[i,e]=rr();return[i.addons||[],t=>{e({...i,addons:Hu(i.addons||[],t)})}]}function On(){let[i,e]=rr();return[i.integrations||[],t=>{e({...i,integrations:Hu(i.integrations||[],t)})}]}function Ku(){let[i,e]=rr();return[i.debug,t=>{window.__wpfbInvalidated=!0,e({...i,debug:t})}]}var{createContext:hS,useContext:fS,useState:uS,useEffect:Ju,useRef:ml}=wp.element,dS=wp.apiFetch,{__:pS}=wp.i18n,ed=hS([]);function gl({children:i}){let[e,t]=fe(),[,n]=N(),[r,s]=uS([]),o=ml(!1),[a]=On(),l=ml(a);Ju(()=>(o.current||(o.current=Se(a,l.current)),()=>{l.current=a}),[a]),Ju(()=>{e||o.current&&O().then(()=>o.current=!1)},[e,a]);let O=ml(()=>(t(!0),dS({path:"forms-bridge/v1/forms"}).then(s).catch(()=>n(pS("Forms loading error","forms-bridge"))).finally(()=>t(!1)))).current;return React.createElement(ed.Provider,{value:[r,O]},i)}function bt(){return fS(ed)}var{PanelBody:td,ToggleControl:mS,__experimentalSpacer:gS}=wp.components,{useMemo:$l,useCallback:$S}=wp.element,{__:Ds}=wp.i18n;function yl({loading:i}){let[e,t]=On(),n=$S(a=>{let l=e.map(({name:O,enabled:c})=>(a===O&&(c=!c),{name:O,enabled:c}));window.__wpfbInvalidated=!0,t(l)},[e]),r=$l(()=>e.length===0,[e]),s=$l(()=>e.length>1,[e]),o=$l(()=>e.reduce((a,{enabled:l})=>a&&!l,!0),[e]);if(s||r)return i?React.createElement(td,{title:Ds("Form builders","forms-bridge"),initialOpen:!1}):React.createElement(td,{title:Ds("Form builders","forms-bridge"),initialOpen:r||o},r&&React.createElement(React.Fragment,null,React.createElement("p",null,Ds("It seems you have no available form builders. If you want to use Forms Bridge, you should install, at least one of the following plugins before you can create form bridges.","forms-bridge")),React.createElement("ul",null,React.createElement("li",null,React.createElement("a",{href:Us("plugin-install.php",{s:"contact form 7",tab:"search",type:"term"})},"Contact Form 7")),React.createElement("li",null,React.createElement("a",{href:"https://www.gravityforms.com/",target:"_blank"},"GravityForms")),React.createElement("li",null,React.createElement("a",{href:"https://wpforms.com/",target:"_blank"},"WPForms")),React.createElement("li",null,React.createElement("a",{href:Us("plugin-install.php",{s:"ninja forms",tab:"search",type:"term"})},"NinjaForms")),React.createElement("li",null,React.createElement("a",{href:Us("plugin-install.php",{s:"woocommerce",tab:"search",type:"term"})},"WooCommerce"))))||React.createElement("p",null,Ds("Select which form builder plugins you want Forms Bridge to work","forms-bridge")),React.createElement(gS,{paddingBottom:"5px"}),e.map(({name:a,title:l,enabled:O})=>React.createElement("div",{key:a,style:{display:"flex",justifyContent:"left",height:"2em"}},React.createElement(mS,{__nextHasNoMarginBottom:!0,label:l,checked:O,onChange:()=>n(a)}))))}var{useMemo:yS,useCallback:QS}=wp.element,{PanelBody:SS,__experimentalSpacer:id}=wp.components,{__:nd}=wp.i18n;function Ql(){let[i,e]=ln(),t=QS(r=>{let s=i.map(({name:o,enabled:a})=>(o===r&&(a=!a),{name:o,enabled:a}));window.__wpfbInvalidated=!0,window.__wpfbReload=!0,e(s)},[i]),n=yS(()=>i.sort((r,s)=>r.name>s.name?1:-1),[i]);return React.createElement(SS,{title:nd("Addons","forms-bridge"),initialOpen:!1},React.createElement("p",null,nd("Each addon allows you to create API specific bridges and comes with a library of bridge templates and workflow jobs","forms-bridge")),React.createElement(id,{paddingBottom:"5px"}),React.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"20px"}},n.map(({name:r,title:s,enabled:o,logo:a})=>React.createElement("button",{key:r,tabIndex:0,style:{width:"200px",height:"180px",borderRadius:"5px",display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",cursor:"pointer",padding:"20px",color:o?"var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))":"inherit",border:o?"2px solid":"none"},onClick:()=>t(r)},React.createElement("div",{style:{flex:1,display:"flex",alignItems:"center"}},React.createElement("img",{alt:r,src:a,width:"100px",height:"50px",style:{marginTop:"-8px",objectFit:"contain",objectPosition:"center",marginLeft:"5px"}})),React.createElement("h4",{style:{margin:0,fontSize:"1rem"}},s)))),React.createElement(id,{paddingY:"calc(10px)"}))}var bS=wp.apiFetch,{useState:Sl,useEffect:rd,useRef:xS}=wp.element;function bl({debug:i}){let[e,t]=Sl([]),[n,r]=Sl(!1),[s,o]=Sl(!1),a=xS(null),l=()=>(r(!0),bS({path:"forms-bridge/v1/logs?lines=1000",signal:AbortSignal.timeout(3e3)}).then(O=>{o(!1),t(O)}).catch(()=>o(!0)).finally(()=>r(!1)));return rd(()=>{if(i)return setTimeout(l,1e3),a.current=setInterval(()=>l(),1e4),()=>{clearInterval(a.current)}},[i]),rd(()=>{s&&t([])},[s]),{loading:n,error:s,logs:e}}var{useEffect:sd,useRef:od}=wp.element,{__experimentalSpacer:ad,ToggleControl:vS,PanelBody:wS,PanelRow:ld}=wp.components,{__:cn}=wp.i18n;function xl(){let[i,e]=Ku(),{logs:t,loading:n,error:r}=bl({debug:i}),s=od(!0),o=od(null);return sd(()=>{if(!i||!o.current)return;let a=O=>{let c=O.target.children[0].offsetHeight-O.target.clientHeight;s.current=O.target.scrollTop===Math.max(0,c)},l=o.current;return l.addEventListener("scroll",a),()=>{l.removeEventListener("scroll",a)}},[i]),sd(()=>{!o.current||!s.current||o.current.scrollTo(0,o.current.scrollHeight)},[t]),React.createElement(wS,{title:cn("Debug","forms-bridge"),initialOpen:!!i},React.createElement("p",null,cn("Activate the debug mode and open the loggin console to see bridged form submissions' logs","forms-bridge")),React.createElement(ad,{paddingBottom:"5px"}),React.createElement(ld,null,React.createElement(vS,{label:cn("Logging","forms-bridge"),help:cn("When debug mode is activated, logs will be write to the log file and readed from there. Make sure to deactivate the debug mode once you've done to erase this file contents.","forms-bridge"),checked:!!i,onChange:()=>e(!i),__nextHasNoMarginBottom:!0})),i&&React.createElement(React.Fragment,null,React.createElement(ad,{paddingY:"calc(8px)"}),React.createElement(ld,null,React.createElement("div",{ref:o,style:{height:"500px",width:"100%",background:"black",color:r?"red":"white",overflowY:"auto",fontFamily:"monospace"}},React.createElement(PS,{logs:t,error:r,loading:n})))))}function PS({loading:i,error:e,logs:t}){return e?React.createElement("p",{style:{textAlign:"center"}},cn("Log lines loading error \u{1F915}","forms-bridge")):i&&!t.length?React.createElement("p",{style:{textAlign:"center"}},cn("Loading...","forms-bridge")):React.createElement("pre",{style:{width:"max-content",paddingLeft:"1.5em",paddingRight:"1em",margin:0}},t.map((n,r)=>React.createElement("p",{key:r,style:{margin:0,fontSize:"12px"}},n)))}var kS=wp.apiFetch,{useState:Od,useEffect:TS,useCallback:vl}=wp.element,{__experimentalSpacer:zS,Button:Ti,Modal:cd}=wp.components,{__:ce}=wp.i18n;function wl(){let[i,e]=fe(),[t,n]=N(),[r,s]=an(),o=ot(),[a,l]=Od(!1),[O,c]=Od(!1),h=vl(()=>{let d=new Blob([JSON.stringify(r)],{type:"application/json"}),p=URL.createObjectURL(d),m=document.createElement("a"),g=new Date,y=String(g.getFullYear()),S=String(g.getMonth()+1);S.length===1&&(S="0"+S);let x=String(g.getDate());x.length===1&&(x="0"+x),m.download=`${y}${S}${x}-forms-bridge.json`,m.href=p,document.body.appendChild(m),m.click(),document.body.removeChild(m)},[r]),f=vl(()=>{oi().then(d=>{s(d).catch(()=>{n(ce("It has been an error with config import","forms-bridge"))})}).catch(d=>{d.name==="SyntaxError"?n(ce("JSON syntax error","forms-bridge")):n(ce("Something went wrong with the file upload","forms-bridge"))})},[s]),u=vl(()=>{e(!0),kS({path:"forms-bridge/v1/settings",method:"DELETE"}).then(o).catch(()=>{n(ce("Wipe config error","forms-bridge"))}).finally(()=>e(!1))},[o]);return TS(()=>()=>{a&&(l(!1),O&&(a==="import"?f():u(),c(!1)))},[a,O]),React.createElement(React.Fragment,null,React.createElement("p",null,ce("Export or import your configuration as a JSON to migrate your bridges to, or from, any other WordPress instance","forms-bridge")),React.createElement(zS,{paddingBottom:"5px"}),React.createElement("div",{style:{display:"flex",gap:"0.5rem"}},React.createElement(Ti,{disabled:!!t||i,variant:"secondary",description:ce("Export Forms Bridge config as JSON","forms-bridge"),onClick:h,style:{width:"150px",justifyContent:"center"},__next40pxDefaultSize:!0},ce("Download config","forms-bridge")),React.createElement(Ti,{disabled:!!t||i,variant:"primary",description:ce("Import Forms Bridge JSON config","forms-bridge"),onClick:()=>l("import"),style:{width:"150px",justifyContent:"center"},__next40pxDefaultSize:!0},ce("Import config","forms-bridge")),React.createElement(Ti,{disabled:!!t||i,variant:"primary",description:ce("Wipe Forms Bridge settings","forms-bridge"),onClick:()=>l("wipe"),style:{width:"150px",justifyContent:"center"},isDestructive:!0,__next40pxDefaultSize:!0},ce("Wipe config","forms-bridge"))),a==="import"&&React.createElement(cd,{title:ce("Config import warning","forms-bridge"),onRequestClose:()=>l(!1),size:"small"},React.createElement("p",null,ce("Import a new configuration is a destructive action. Your current configuration will be replaced with the new one. If there are some errors on the new config, Forms Bridge will filter it to avoid bugs.","forms-bridge")),React.createElement("p",null,ce("Are you sure to continue?","forms-bridge")),React.createElement("div",{style:{display:"flex",gap:"0.5rem",justifyContent:"center"}},React.createElement(Ti,{variant:"primary",description:ce("Continue","forms-bridge"),onClick:()=>c(!0)},ce("Continue","forms-bridge")),React.createElement(Ti,{variant:"primary",isDestructive:!0,description:ce("Cancel","forms-bridge"),onClick:()=>c(!1)},ce("Cancel","forms-bridge")))),a==="wipe"&&React.createElement(cd,{title:ce("Wipe config warning","forms-bridge"),onRequestClose:()=>l(!1),size:"small"},React.createElement("p",null,ce("You are going to wipe Forms Bridge config. After that, Forms Bridge will be reset to factory defaults. All your data will be lost.","forms-bridge")),React.createElement("p",null,ce("Are you sure to continue?","forms-bridge")),React.createElement("div",{style:{display:"flex",gap:"0.5rem",justifyContent:"center"}},React.createElement(Ti,{variant:"primary",description:ce("Continue","forms-bridge"),onClick:()=>c(!0)},ce("Continue","forms-bridge")),React.createElement(Ti,{variant:"primary",isDestructive:!0,description:ce("Cancel","forms-bridge"),onClick:()=>c(!1)},ce("Cancel","forms-bridge")))))}var{PanelBody:hd,PanelRow:XS,TextControl:RS,__experimentalSpacer:qS}=wp.components,{useEffect:_S}=wp.element,{__:ai}=wp.i18n;function Pl(){let[{loading:i,notification_receiver:e,debug:t,...n},r]=Fu(),s=o=>r({notification_receiver:e,debug:t,...n,...o});return _S(()=>{let o=document.querySelector("#general .addon-logo");o&&o.removeAttribute("src")},[]),React.createElement(React.Fragment,null,React.createElement(XS,null,React.createElement(RS,{label:ai("Error notification receiver","forms-bridge"),help:ai("Email address where submission errors will be sent with the error log and the submission data","forms-bridge"),onChange:o=>s({notification_receiver:o}),value:e||"",style:{width:"300px"},__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0})),React.createElement(qS,{paddingY:"calc(8px)"}),React.createElement(yl,{loading:i}),React.createElement(Ql,null),React.createElement(xl,null),React.createElement(hd,{title:ai("Import / Export","forms-bridge"),initialOpen:!1},React.createElement(wl,null)),React.createElement(hd,{title:ai("Credits","forms-bridge"),initialOpen:!1},React.createElement("ul",null,React.createElement("li",null,"\u{1F3E0}"," ",React.createElement("a",{href:"https://formsbridge.codeccoop.org",target:"_blank"},ai("Website","forms-bridge"))),React.createElement("li",null,"\u{1F4D4}"," ",React.createElement("a",{href:"https://formsbridge.codeccoop.org/documentation/",target:"_blank"},ai("Documentation","forms-bridge"))),React.createElement("li",null,"\u{1F4AC}"," ",React.createElement("a",{href:"https://wordpress.org/support/plugin/forms-bridge/",target:"_blank"},ai("Support","forms-bridge"))),React.createElement("li",null,"\u{1F4B5}"," ",React.createElement("a",{href:"https://buymeacoffee.com/codeccoop",target:"_blank"},ai("Donate","forms-bridge")))),React.createElement("p",null,React.createElement("strong",null,"Forms Bridge")," has been created by"," ",React.createElement("a",{href:"https://www.codeccoop.org",target:"_blank"},"C\xF2dec"),", a cooperative web development studio based on Barcelona."),React.createElement("p",null,"Please rate our plugin on"," ",React.createElement("a",{href:"https://wordpress.org/support/plugin/forms-bridge/reviews/?new-post",target:"_blank"},"WordPress.org")," ","and help us to maintain this plugin alive \u{1F496}")))}var fd=Es;function at(){let[i,e]=Es();return[i.backends||[],t=>e({...i,backends:t})]}function li(){let[i,e]=Es();return[i.credentials||[],t=>e({...i,credentials:t})]}var{useMemo:CS}=wp.element;function Yt(){let[i]=at();return CS(()=>new Set(i.map(({name:e})=>e)),[i])}function kl({width:i=40,height:e=58.5}){return React.createElement("svg",{width:i,height:e,viewBox:"0 0 40 58.5"},React.createElement("rect",{width:"40",height:"7.5808687",x:"0",y:"0",style:{fill:"#ffffff",strokeWidth:4.99998,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:9}}),React.createElement("path",{d:"M 0.43682956,9.0838308 3.2975745,53.79041 h 0.011404 c 0.2208728,2.623009 2.202482,4.721113 4.8482263,4.721113 H 31.69339 c 2.645747,0 4.627355,-2.098104 4.848227,-4.721113 h 0.0114 L 39.413767,9.0838308 H 34.077348 5.7732537 Z",style:{fill:"#ffffff",strokeWidth:4.99998,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:9}}))}var{useRef:WS}=wp.element,{Button:ZS}=wp.components,{__:ud}=wp.i18n;function Ut({onClick:i,variant:e="primary",isDestructive:t=!0,disabled:n=!1,size:r="default",style:s={},children:o,icon:a=!1,label:l}){s={justifyContent:"center",...s},r=="compact"&&(s.width="40px");let O=WS();function c(){clearTimeout(O.current),O.current=setTimeout(()=>alert(ud("Double click to remove","forms-bridge")),300)}return React.createElement(ZS,{variant:e,onClick:c,onDoubleClick:h=>{i(h),clearTimeout(O.current),window.__wpfbInvalidated=!!t},style:s,showTooltip:!0,label:l||ud("Double click to remove","forms-bridge"),disabled:n,isDestructive:!0,__next40pxDefaultSize:!0},a&&React.createElement("div",{style:{opacity:n?.5:1}},React.createElement(kl,{width:"12",height:"20"}))||o)}function be({children:i,style:e={},min:t="200px",max:n="300px",isResponsive:r=!1}){let s=r?"100%":"15vw";return r&&(n=s),React.createElement("div",{style:{maxWidth:"100%",width:`clamp(${t}, ${s}, ${n})`,...e}},i)}var{useEffect:VS,useMemo:AS}=wp.element,{SelectControl:jS}=wp.components,{__:sr}=wp.i18n,or={"application/json":sr("JSON","forms-bridge"),"application/x-www-form-urlencoded":sr("URL Encoded","forms-bridge"),"multipart/form-data":sr("Binary files","forms-bridge")},dt="Content-Type",Ls="application/json";function Tl({headers:i,setHeaders:e}){let t=AS(()=>i.find(({name:r})=>r===dt)?.value,[i]),n=r=>{i[0]?.name!==dt?e([{name:dt,value:r},...i]):e([{name:dt,value:r},...i.slice(1)])};return VS(()=>{t===void 0&&i.length&&e([{name:dt,value:Ls},...i])},[t]),React.createElement(be,null,React.createElement(jS,{label:sr("Content encoding"),value:or[t]?t:"",onChange:n,options:Object.keys(or).map(r=>({label:or[r],value:r})).concat([{label:sr("Custom encoding","forms-bridge"),value:""}]),__next40pxDefaultSize:!0,__nextHasNoMarginBottom:!0}))}var{TextControl:dd,Button:pd}=wp.components,{useEffect:YS,useMemo:US}=wp.element,{__:zl}=wp.i18n;function ar({headers:i,setHeaders:e}){let t=(o,a,l)=>{let O=i.map((c,h)=>(a===h&&(c[o]=l),{...c}));e(O)},n=(o,a="Accept",l=Ls)=>{let O=i.slice(0,o).concat([{name:a,value:l}]).concat(i.slice(o,i.length));e(O)},r=o=>{let a=i.slice(0,o).concat(i.slice(o+1));e(a)};YS(()=>{i.length&&i.find(o=>o.name===dt)||n(0,dt,Ls)},[i]);let s=US(()=>i.sort((o,a)=>o.name===dt?-1:a.name===dt?1:0),[i]);return React.createElement(React.Fragment,null,React.createElement("div",{className:"components-base-control__label"},React.createElement("label",{className:"components-base-control__label",style:{fontSize:"11px",textTransform:"uppercase",fontWeight:500,marginBottom:"calc(8px)"}},zl("HTTP Headers","forms-bridge")),React.createElement("table",{style:{width:"calc(100% + 10px)",maxWidth:"900px",borderSpacing:"5px",margin:"0 -5px"}},React.createElement("colgroup",null,React.createElement("col",{span:"1",style:{width:"clamp(150px, 15vw, 300px)"}}),React.createElement("col",{span:"1",style:{width:"auto"}}),React.createElement("col",{span:"1",style:{width:"85px"}})),React.createElement("tbody",null,s.map(({name:o,value:a},l)=>React.createElement("tr",{key:l},React.createElement("td",null,React.createElement(dd,{disabled:o==="Content-Type"&&l===0,placeholder:zl("Header-Name","forms-bridge"),value:o,onChange:O=>t("name",l,O),__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0})),React.createElement("td",null,React.createElement(dd,{disabled:o===dt&&or[a]&&l===0,placeholder:zl("Value","forms-bridge"),value:a,onChange:O=>t("value",l,O),__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0})),React.createElement("td",null,React.createElement("div",{style:{display:"flex",marginLeft:"0.45em",gap:"0.45em"}},React.createElement(pd,{size:"compact",variant:"secondary",disabled:!o||!a,onClick:()=>n(l+1),style:{width:"40px",height:"40px",justifyContent:"center"},__next40pxDefaultSize:!0},"+"),React.createElement(pd,{disabled:o==="Content-Type"&&l===0,variant:"secondary",onClick:()=>r(l),style:{width:"40px",height:"40px",justifyContent:"center"},isDestructive:!0,__next40pxDefaultSize:!0},"-")))))))))}var{useState:MS,useEffect:ES,useRef:md}=wp.element;function ze(i=1080){let[e,t]=MS(window.innerWidth<=i),n=md(),r=md(()=>{clearTimeout(n.current),n.current=setTimeout(()=>t(window.innerWidth<=i),100)}).current;return ES(()=>(window.addEventListener("resize",r),()=>{window.removeEventListener("resize",r)}),[]),e}function Mt({width:i=26,height:e=26,color:t="#000000"}){return React.createElement("svg",{width:i,height:e,viewBox:"-1 0 26 26",fill:"none"},React.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M17.676 14.248C17.676 15.8651 16.3651 17.176 14.748 17.176H7.428C5.81091 17.176 4.5 15.8651 4.5 14.248V6.928C4.5 5.31091 5.81091 4 7.428 4H14.748C16.3651 4 17.676 5.31091 17.676 6.928V14.248Z",stroke:t,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",fill:"#ffffff00"}),React.createElement("path",{d:"M10.252 20H17.572C19.1891 20 20.5 18.689 20.5 17.072V9.75195",stroke:t,strokeWidth:"1",strokeLinecap:"round",strokeLinejoin:"round",fill:"#ffffff00"}))}function Et({width:i=100,height:e=145,color:t="#000000"}){return React.createElement("svg",{width:i,height:e,viewBox:"0 0 100 145"},React.createElement("g",{transform:"translate(-582.90398,-1448.5647)"},React.createElement("path",{style:{fill:t,strokeWidth:1},d:"m 669.08313,1526.3787 h -13.82086 v 33.5929 33.5931 h -22.37222 -22.37221 v -33.5931 -33.5929 h -13.83073 c -11.61145,0 -13.82303,-0.02 -13.78259,-0.1256 0.0391,-0.1018 19.69892,-30.7023 45.71154,-71.15 2.31274,-3.5961 4.23104,-6.5384 4.26292,-6.5384 0.0319,0 5.49256,8.4526 12.13488,18.7835 6.64231,10.3309 17.88488,27.8169 24.98352,38.8577 7.09864,11.0409 12.9066,20.0965 12.9066,20.1235 0,0.027 -6.21938,0.049 -13.82085,0.049 z"})))}function zi({width:i=100,height:e=145,color:t="#000000"}){return React.createElement("div",{style:{transform:"translateY(-2px) rotate(180deg)"}},React.createElement(Et,{width:i,height:e,color:t}))}var{useMemo:DS}=wp.element,{TextControl:gd,SelectControl:LS}=wp.components,{__:lr}=wp.i18n;function Or({state:i,setState:e,errors:t}){let[n]=li(),r=DS(()=>Ce(n.map(({name:s})=>({value:s,label:s})).sort((s,o)=>s.name>o.name?1:-1)),[n]);return React.createElement(React.Fragment,null,React.createElement(be,null,React.createElement(gd,{label:lr("Name","forms-bridge"),help:t.name&&lr("This name is already in use","forms-bridge"),value:i.name,onChange:s=>e({...i,name:s}),__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0})),React.createElement(be,null,React.createElement(gd,{label:lr("Base URL","forms-bridge"),help:t.base_url&&lr("Invalid base URL","forms-bridge"),value:i.base_url,onChange:s=>e({...i,base_url:s}),__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0})),React.createElement(Tl,{headers:i.headers,setHeaders:s=>e({...i,headers:s})}),React.createElement(be,null,React.createElement(LS,{label:lr("Authentication","forms-bridge"),value:i.credential||"",onChange:s=>e({...i,credential:s}),options:r,__next40pxDefaultSize:!0,__nextHasNoMarginBottom:!0})))}var{Button:$d}=wp.components,{useState:GS,useEffect:Xl,useMemo:Rl,useRef:ql}=wp.element,{__:_l}=wp.i18n;function Cl({update:i,remove:e,data:t,copy:n}){let[r]=fe(),s=ze(),o=ql(t.name),[a,l]=GS({...t}),O=Yt(),c=Rl(()=>!a.name||a.name.trim()===o.current.trim()?!1:a.name!==o.current&&O.has(a.name.trim()),[O,a.name]),h=Rl(()=>!ki(a.base_url,!0),[a.base_url]),f=Rl(()=>!c&&!h&&tr(a),[a,c,h]),u=ql();Xl(()=>{clearTimeout(u.current),f&&(a.name!==t.name?u.current=setTimeout(()=>{o.current=a.name,i(a)},1e3):Se(a,t)&&i(a))},[f,a]),Xl(()=>{t.name!==o.current&&(o.current=t.name,l(t))},[t.name]);let d=ql(!1);Xl(()=>(!r&&d.current&&Se(t,a)&&l(t),()=>{d.current=r}),[r,t,a]);function p(){let m={...t};sn(m,t.name+" backend config")}return React.createElement("div",{style:{padding:"calc(24px) calc(32px)",width:"calc(100% - 64px)",backgroundColor:"rgb(245, 245, 245)",display:"flex",flexDirection:s?"column":"row",gap:"2rem"}},React.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"0.5rem"}},React.createElement(Or,{state:a,setState:l,errors:{name:c,base_url:h}}),React.createElement("div",{style:{marginTop:"0.5rem",display:"flex",gap:"0.5rem"}},React.createElement(Ut,{label:_l("Delete","forms-bridge"),onClick:()=>e(t),icon:!0}),React.createElement($d,{variant:"tertiary",style:{height:"40px",width:"40px",justifyContent:"center",fontSize:"1.5em",border:"1px solid",padding:"6px 6px"},onClick:n,label:_l("Duplaicate","forms-bridge"),showTooltip:!0,__next40pxDefaultSize:!0},React.createElement(Mt,{width:"25",height:"25",color:"var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))"})),React.createElement($d,{variant:"tertiary",style:{height:"40px",width:"40px",justifyContent:"center",fontSize:"1.5em",border:"1px solid",color:"gray"},onClick:p,label:_l("Download","forms-bridge"),showTooltip:!0,__next40pxDefaultSize:!0},React.createElement(zi,{width:"12",height:"20",color:"gray"})))),React.createElement("div",{style:s?{paddingTop:"2rem",borderTop:"1px solid"}:{paddingLeft:"2rem",borderLeft:"1px solid",flex:1}},React.createElement(ar,{headers:a.headers,setHeaders:m=>l({...a,headers:m})})))}var{Button:yd}=wp.components,{useState:BS,useMemo:Wl,useCallback:IS}=wp.element,{__:Gs}=wp.i18n,Qd={name:"",base_url:"https://",headers:[{name:"Content-Type",value:"application/json"}],authentication:{}};function Zl({add:i}){let e=ze(),[t,n]=BS(Qd),[r,s]=N(),o=Yt(),a=Wl(()=>t.name?o.has(t.name.trim()):!1,[o,t.name]),l=Wl(()=>!ki(t.base_url,!0),[t.base_url]),O=()=>{window.__wpfbInvalidated=!0,n(Qd),i({...t})},c=Wl(()=>!a&&!l&&tr(t),[t,a,l]),h=IS(()=>{oi().then(f=>{if(!tr(f)){s(Gs("Invalid backend config","forms-bridge"));return}let d=1;for(;o.has(f.name);)f.name=f.name.replace(/\([0-9]+\)/,"")+` (${d})`,d++;f.headers=Array.isArray(f.headers)&&f.headers.filter(p=>p&&p.name&&p.value)||[],i(f)}).catch(f=>{f&&(console.error(f),s(Gs("An error has ocurred while uploading the backend config","forms-bridge")))})},[o]);return React.createElement("div",{style:{padding:"calc(24px) calc(32px)",width:"calc(100% - 64px)",backgroundColor:"rgb(245, 245, 245)",display:"flex",flexDirection:e?"column":"row",gap:"2rem"}},React.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"0.5rem"}},React.createElement(Or,{state:t,setState:n,errors:{name:a,base_url:l}}),React.createElement("div",{style:{marginTop:"0.5rem",display:"flex",gap:"0.5rem"}},React.createElement(yd,{variant:"primary",onClick:O,style:{width:"100px",justifyContent:"center"},disabled:a||!c,__next40pxDefaultSize:!0},Gs("Add","forms-bridge")),React.createElement(yd,{disabled:!!r,variant:"tertiary",size:"compact",style:{width:"40px",height:"40px",justifyContent:"center",fontSize:"1.5em",border:"1px solid",color:"gray"},onClick:h,__next40pxDefaultSize:!0,label:Gs("Upload","forms-bridge"),showTooltip:!0},React.createElement(Et,{width:"12",height:"20",color:"gray"})))),React.createElement("div",{style:e?{paddingTop:"2rem",borderTop:"1px solid"}:{paddingLeft:"2rem",borderLeft:"1px solid",flex:1}},React.createElement(ar,{headers:t.headers,setHeaders:f=>n({...t,headers:f})})))}function Xi({name:i}){return React.createElement("div",{style:{position:"relative",padding:"0px 5px"}},React.createElement("span",null,i))}function Ri({width:i=30,height:e=30}){return React.createElement("svg",{width:i,height:e,viewBox:"0 0 30 30"},React.createElement("path",{d:"M 2.622057,29.862373 C 1.828663,29.690276 1.123542,29.19942 0.655787,28.493598 -0.033852,27.452962 -0.001626,28.119212 9.16e-4,14.954001 0.003016,4.075681 0.012016,3.372831 0.157468,2.730124 0.469143,1.352914 1.392042,0.445513 2.777525,0.154064 3.411524,0.020696 3.979927,0.002724 7.604454,0.001448 L 11.712762,4.8e-5 V 1.685006 3.369963 H 7.54125 3.369737 v 11.626209 11.626209 h 11.587535 c 6.373144,0 11.607885,-2e-6 11.632757,-4e-6 0.02487,-1e-6 0.04316,-1.857667 0.04063,-4.128146 l -0.0046,-4.128143 h 1.686967 1.686968 v 4.206886 c 0,4.848747 -0.02041,5.049055 -0.604115,5.927982 -0.468374,0.705269 -1.186385,1.192115 -2.015216,1.366413 -0.855959,0.180003 -23.927215,0.175391 -24.758611,-0.0049 z M 19.971514,13.353291 V 10.0255 H 16.64095 13.310386 l 0.02285,-1.663896 0.02285,-1.663896 3.307715,-0.02204 3.307714,-0.02204 V 3.326814 0 h 1.68546 1.685459 V 3.327791 6.655583 H 26.671217 30 v 1.684958 1.684958 h -3.328783 -3.328783 v 3.327791 3.327792 h -1.68546 -1.68546 z",style:{strokeWidth:1}}))}var{useRef:NS,useEffect:FS}=wp.element,{TabPanel:HS}=wp.components,{__:Sd}=wp.i18n,KS=`.backends-tabs-panel .components-tab-panel__tabs{overflow-x:auto;}2 .backends-tabs-panel .components-tab-panel__tabs>button{flex-shrink:0;}`;function Vl({backends:i,setBackends:e}){let t=Yt(),n=i.map(({name:l},O)=>({index:O,name:String(O),title:l,icon:React.createElement(Xi,{name:l})})).concat([{index:-1,name:"new",title:Sd("Add a backend","forms-bridge"),icon:React.createElement("div",{style:{marginBottom:"-2px"}},React.createElement(Ri,{width:"15",height:"15"}))}]),r=(l,O)=>{l===-1&&(l=i.length),O.headers?.length||(O.headers=[{name:"Content-Type",value:"application/json"}]),O.name=O.name.trim(),O.base_url=O.base_url.trim();let c=i.slice(0,l).concat([O]).concat(i.slice(l+1,i.length));e(c)},s=({name:l})=>{let O=i.findIndex(h=>h.name===l),c=i.slice(0,O).concat(i.slice(O+1));e(c)},o=l=>{let O=i.findIndex(f=>f.name===l),h={...i[O]};for(h.name=h.name.trim(),h.base_url=h.base_url.trim();t.has(h.name);)h.name+="-copy";window.__wpfbInvalidated=!0,e(i.concat(h))},a=NS(document.createElement("style"));return FS(()=>(a.current.appendChild(document.createTextNode(KS)),document.head.appendChild(a.current),()=>{document.head.removeChild(a.current)}),[]),React.createElement("div",{style:{width:"100%"}},React.createElement("h3",{style:{marginTop:0,fontSize:"13px"}},Sd("Backends","forms-bridge")),React.createElement(HS,{tabs:n,className:"backends-tabs-panel"},l=>{let O=i[l.index];return O?React.createElement(Cl,{data:O,remove:s,update:c=>r(l.index,c),copy:()=>o(O.name)}):React.createElement(Zl,{add:c=>r(l.index,c)})}))}var{TextControl:JS,SelectControl:eb}=wp.components,{useEffect:tb,useMemo:Al}=wp.element,cr=["enabled","is_valid","workflow","custom_fields","mutations"],Bs=["name","form_id","backend","endpoint","method"];function hr({data:i,setData:e,schema:t,errors:n={}}){let[r]=at(),s=Al(()=>r.length?r.map(({name:O})=>({label:O,value:O})).sort((O,c)=>O.label>c.label?1:-1):[{label:"",value:""}],[r]),[o]=bt(),a=Al(()=>o.length?o.map(({_id:O,title:c})=>({label:c,value:O})).sort((O,c)=>O.label>c.label?1:-1):[{label:"",value:""}],[o]),l=Al(()=>t?Object.keys(t.properties).filter(O=>!cr.includes(O)).map(O=>({...t.properties[O],label:t.properties[O].title||O,name:O,value:t.properties[O].const})).map(O=>O.name==="form_id"?{...O,type:"select",options:a}:O.name==="backend"?{...O,type:"select",options:s}:O.enum?{...O,type:"select",options:O.enum.map(c=>({label:c,value:c}))}:O):[],[t,a,s]);return tb(()=>{let O=l.reduce((c,h)=>{if(h.default&&!E(i,h.name))c[h.name]=h.default;else if(h.value&&h.value!==i[h.name])c[h.name]=h.value;else if(h.type==="select"){if(!h.options.length&&i[h.name])c[h.name]="";else if(!i[h.name]||h.options.length===1){let f=h.options[0]?.value||"";f!==i[h.name]&&(c[h.name]=f)}}else h.enum&&h.enum.length===1&&i[h.name]!==h.enum[0]&&(c[h.name]=h.enum[0]);return!o.length&&i.form_id&&(c.form_id=""),!r.length&&i.backend&&(c.backend=""),c},{});Object.keys(O).length&&e({...i,...O})},[i,l]),l.filter(O=>!O.value).sort((O,c)=>Bs.includes(O.name)&&Bs.includes(c.name)?Bs.indexOf(O.name)-Bs.indexOf(c.name):0).map(O=>{switch(O.type){case"string":return React.createElement(jl,{key:O.name,error:n[O.name],label:O.label,value:i[O.name]||"",setValue:c=>e({...i,[O.name]:c})});case"select":return React.createElement(Yl,{key:O.name,error:n[O.name],label:O.label,value:i[O.name]||"",setValue:c=>e({...i,[O.name]:c}),options:O.options})}})}function jl({label:i,value:e,setValue:t,error:n,disabled:r}){return React.createElement(be,null,React.createElement(JS,{disabled:r,label:i,value:e,onChange:t,help:n,__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0}))}function Yl({label:i,options:e,value:t,setValue:n,optional:r,error:s,disabled:o}){return r&&(e=Ce(e)),React.createElement(be,null,React.createElement(eb,{disabled:o,label:i,value:t,onChange:n,options:e,help:s,__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0}))}var{useEffect:ib,useMemo:bd}=wp.element,fr=["refresh_token","refresh_token_expires_at"];function ur({data:i,setData:e,schema:t,schemas:n,disabled:r=!1,errors:s}){let o=bd(()=>n.oneOf.reduce((l,O)=>O.properties.schema.const?l.concat(O.properties.schema.const):l.concat(O.properties.schema.enum||[]),[]).map(l=>({value:l,label:l})),[n]),a=bd(()=>t?Object.keys(t.properties).filter(l=>t.properties[l].public!==!1).map(l=>({...t.properties[l],label:t.properties[l].title||l,name:l,value:t.properties[l].const})).map(l=>l.name==="schema"?{...l,type:"select",options:o}:l.enum?{...l,type:"select",options:l.enum.map(O=>({label:O,value:O}))}:l):[],[t]);return ib(()=>{let l=a.reduce((O,c)=>{if((c.name==="realm"||c.name==="scope"||c.name==="database")&&!E(i,c.name)&&(O[c.name]=i.realm||i.scope||i.database||"",c.name!=="realm"&&delete i.realm,c.name!=="scope"&&delete i.scope,c.name!=="database"&&delete i.database),c.default&&!E(i,c.name))O[c.name]=c.default;else if(c.value&&c.value!==i[c.name])O[c.name]=c.value;else if(c.type==="select"){if(!c.options.length&&i[c.name])O[c.name]="";else if(!i[c.name]||c.options.length===1){let h=c.options[0]?.value||"";h!==i[c.name]&&(O[c.name]=h)}}else c.enum&&c.enum.length===1&&i[c.name]!==c.enum[0]&&(i[c.name]=c.enum[0]);return O},{});Object.keys(l).length&&e({...i,...l})},[i,a]),a.filter(l=>!l.value).sort(l=>l.name==="name"?-1:0).map(l=>{switch(l.type){case"string":return React.createElement(jl,{key:l.name,label:l.label,value:i[l.name]||"",setValue:O=>e({...i,[l.name]:O}),error:s[l.name],disabled:r});case"select":return React.createElement(Yl,{key:l.name,label:l.label,value:i[l.name]||"",setValue:O=>e({...i,[l.name]:O}),options:l.options,optional:!t.required.includes(l.name),error:s[l.name],disabled:r})}})}var{useMemo:nb}=wp.element,{Button:xd}=wp.components,vd=wp.apiFetch,{__:wd}=wp.i18n;function Ul({addon:i,data:e}){let[t,n]=fe(),[r,s]=N(),o=ot(),a=nb(()=>{if(e.refresh_token)return!0;if(!(e.access_token&&e.expires_at))return!1;let c=new Date(e.expires_at);return c.getFullYear()===1970&&(c=new Date(e.expires_at*1e3)),Date.now()<c.getTime()},[e.access_token,e.expires_at]),l=()=>{n(!0),vd({path:"forms-bridge/v1/oauth/revoke",method:"POST",data:{credential:e}}).then(()=>o()).catch(()=>s("")).finally(()=>n(!1))},O=()=>{n(!0),vd({path:"forms-bridge/v1/oauth/grant",method:"POST",data:{credential:e}}).then(({success:c,redirect_url:h})=>{if(!c)throw"error";let f=document.createElement("form");f.action=h,f.method="GET",f.target="_blank";let u=`1 (()=>{var{Component:D0}=wp.element,cl=class extends D0{constructor(e){super(e),this.state={hasError:!1,err:null}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(e,t){console.error(e,t.componentStack)}render(){return this.state.hasError?this.props.fallback:this.props.children}},Au=cl;var{createContext:L0,useContext:G0,useState:B0,useEffect:I0}=wp.element,{Notice:N0}=wp.components,ju=L0([]);function hl({children:i}){let[e,t]=B0([]),n=r=>{t(r?[...e,r]:e.slice(1))};return I0(()=>{e.length&&window.scrollTo({left:0,top:0,behavior:"smooth"})},[e]),React.createElement(ju.Provider,{value:[e[0],n]},e.length&&React.createElement("div",{style:{marginBottom:"calc(-8px)"}},React.createElement(N0,{status:"error",onRemove:()=>n(null),politeness:"assertive"},e[0]))||null,i)}function N(){return G0(ju)}function fl({show:i}){if(i)return React.createElement("div",{style:{position:"absolute",zIndex:10,top:"0px",left:"0px",right:"0px",bottom:"0px",margin:"auto",backdropFilter:"blur(0.5px)",backgroundColor:"#ffffff1f",display:"flex",justifyContent:"center",alignItems:"center"}},React.createElement("img",{src:"/wp-content/plugins/forms-bridge/assets/spinner.gif",height:"67px",width:"67px"}))}var{createContext:F0,useContext:H0,useState:K0}=wp.element,Yu=F0([]);function ul({children:i}){let[e,t]=K0([]),n=r=>{t(r?[...e,!!r]:e.slice(1))};return React.createElement(Yu.Provider,{value:[e.length>0,n]},i,React.createElement(fl,{show:e.length}))}function fe(){return H0(Yu)}var{useEffect:Uu,useState:J0,useRef:eS}=wp.element;function K(){let i=eS(document.querySelector("#forms-bridge")).current,[e,t]=J0(()=>new URLSearchParams(window.location.search).get("tab")||"general");return Uu(()=>{let n=({detail:r})=>{e!==r&&t(r)};return i.addEventListener("tab",n),()=>i.removeEventListener("tab",n)},[e]),Uu(()=>{let n=new URLSearchParams(window.location.search);if(n.get("tab")===e)return;let r=new URLSearchParams(n.toString());r.set("tab",e),window.history.replaceState({from:`${window.location.pathname}?${n.toString()}`},"",`${window.location.pathname}?${r.toString()}`),i.dispatchEvent(new CustomEvent("tab",{detail:e}))},[e]),[e,t]}var{createContext:tS,useContext:iS,useMemo:nS,useEffect:Mu,useRef:rS,useState:sS,useCallback:oS}=wp.element,aS=wp.apiFetch,{__:lS}=wp.i18n,Eu=tS({backend:{},credential:{},bridge:{}});function dl({children:i}){let[e]=K(),[t,n]=sS({}),r=rS(t);r.current=t;let[,s]=fe(),[,o]=N(),a=oS(c=>{!c||r.current[c]||(s(!0),aS({path:`forms-bridge/v1/${c}/schemas`}).then(O=>n({...r.current,[c]:O})).catch(()=>o(lS("Schema loading error","forms-bridge"))).finally(()=>s(!1)))},[t]);Mu(()=>{a("http")},[]),Mu(()=>{e&&e!=="general"&&e!=="http"&&a(e)},[a,e]);let l=nS(()=>{let{bridge:c}=r.current[e]||{},{backend:O,credential:h}=r.current.http||{};return{bridge:c,credential:h,backend:O}},[e,t]);return React.createElement(Eu.Provider,{value:l},i)}function ri(){return iS(Eu)}function ki(i,e=!1){try{i=new URL(i)}catch{return!1}return e===!0&&(i.hash!==""||i.search!=="")||/[^-a-zA-Z0-9._+]+/.test(i.hostname)?!1:i.protocol==="http:"||i.protocol==="https:"}function tr(i){if(!i?.name)return!1;let e=ki(i.base_url)&&Array.isArray(i.headers);return!e||!i.headers.find(({name:n})=>n==="Content-Type")?.value?!1:(i.authentication?.type&&(e=e&&i.authentication.client_secret,i.authentication.type!=="Bearer"&&(e=e&&i.authentication.client_id)),e)}function si(i,e){return i.sort((t,n)=>e.includes(t.name)?e.includes(n.name)?e.indexOf(t.name)-e.indexOf(n.name):-1:1)}function Ce(i){return i[0]?.value===""?i:[{label:"",value:""}].concat(i)}function sn(i,e="forms-bridge-export"){let t=JSON.stringify(i),n=new Blob([t],{type:"application/json"}),r=URL.createObjectURL(n),s=document.createElement("a");s.href=r,s.download=e+".json",document.body.appendChild(s),s.click(),document.body.removeChild(s)}function oi(){return new Promise((i,e)=>{let t=document.createElement("input");t.type="file",t.accept="application/json",t.addEventListener("cancel",function(){document.body.removeChild(t),e()}),t.addEventListener("change",function(){if(t.files.length===1){let n=new FileReader;n.onerror=function(r){document.body.removeChild(t),e(r)},n.onload=function(){let r;try{r=JSON.parse(n.result),i(r)}catch(s){e(s)}finally{document.body.removeChild(t)}},n.readAsText(t.files[0])}else document.body.removeChild(t)}),document.body.appendChild(t),t.click()})}function pl(i){return i===null||typeof i!="object"?i:Array.isArray(i)?[...i]:{...i}}function E(i,e){return!i||typeof i!="object"?!1:Array.isArray(i)?i.length>e:Object.prototype.hasOwnProperty.call(i,e)}function Us(i="",e={}){let t=new URL(wpApiSettings.root.replace(/wp-json/,"wp-admin"));return t.pathname+=i.replace(/^\/+/,""),t.search=new URLSearchParams(e).toString(),t.toString()}function Ms(i="",e={}){let t=new URL(wpApiSettings.root);return t.pathname+=i.replace(/^\/+/,""),t.search=new URLSearchParams(e).toString(),t.toString()}function Se(i,e,t=!0){try{let n=Bu(i,e,t);return Iu(n)>0}catch(n){return(!t||n!=="change")&&console.warn(n),!0}}function OS(i){return Object.prototype.toString.call(i)==="[object Date]"}function Lu(i){return Object.prototype.toString.call(i)==="[object Array]"}function Gu(i){return Object.prototype.toString.call(i)==="[object Object]"}function cS(i){return!Gu(i)&&!Lu(i)}function ml(i){if(Gu(i))return"object";if(OS(i))return"date";if(Lu(i))return"array";if(cS(i))return"value"}function Bu(i,e,t={},n=!0){return t=Du(i,e,t,n),t=Du(e,i,t,n),t}function Du(i,e,t,n){for(let r in i){if(E(t,r))continue;if(!E(e,r)){if(n)throw"change";t[r]=!0;continue}let s=ml(i[r]),o=ml(e[r]);if(!s||!o)throw"Invalid argument: Only serializable data can be diffed";if(s!==o){if(n)throw"change";t[r]=!0;continue}if(s==="object"||s==="array")t={...t,[r]:Bu(i[r],e[r],{},n)};else if(i[r]!==e[r]){if(n)throw"change";t[r]=!0}else t[r]=!1}return t}function Iu(i,e=0){return Object.keys(i).reduce((t,n)=>ml(i[n])==="object"?Iu(i[n],t):i[n]?t+1:t,e)}var{createContext:hS,useContext:nr,useState:fS,useEffect:Nu,useRef:ir,useMemo:uS,useCallback:dS}=wp.element,Fu=wp.apiFetch,{__:Hu}=wp.i18n,Ku=Object.freeze({state:{general:{loading:!0,notification_receiver:"",addons:[],integrations:null,debug:!1},http:{backends:[],credentials:[]}},patch:()=>{},submit:()=>Promise.resolve(),fetch:()=>Promise.resolve()}),on=hS(Ku);function gl({children:i}){let[,e]=fe(),[,t]=N(),n=ir(null),[r,s]=fS(null),o=ir(r);o.current=r;let a=ir(()=>(e(!0),Fu({path:"forms-bridge/v1/settings"}).then(f=>{n.current=f,o.current=f,s(f)}).catch(()=>t(Hu("Settings loading error","forms-bridge"))).finally(()=>e(!1)))).current,l=ir(f=>{Se(o.current,n.current)&&(f.preventDefault(),f.returnValue=!0)}).current;Nu(()=>(window.addEventListener("beforeunload",l),a(),()=>{window.removeEventListener("beforeunload",l)}),[]),Nu(()=>{window.__wpfbInvalidated===!0&&(O(r).then(()=>{window.__wpfbReload&&window.location.reload()}).finally(()=>{window.__wpfbReload=!1}),window.__wpfbInvalidated=!1)},[r]);let c=dS(f=>s({...r,...f}),[r]),O=ir(f=>(e(!0),Fu({path:"forms-bridge/v1/settings",method:"POST",headers:{"Content-Type":"application/json"},data:f}).catch(()=>(t(Hu("Settings submission error","forms-bridge")),{success:!1})).then(u=>{n.current=u,o.current=u,s(u)}).finally(()=>e(!1)))).current,h=r||Ku.state;return React.createElement(on.Provider,{value:{state:h,patch:c,submit:O,fetch:a}},i)}function an(){let{state:i,submit:e}=nr(on);return[i,t=>e(t)]}function ot(){let{fetch:i}=nr(on);return i}function rr(){let{state:{general:i},patch:e}=nr(on);return[i,t=>e({general:t})]}function Es(){let{state:{http:i},patch:e}=nr(on);return[i,t=>e({http:t})]}function Ju(){let{state:i,patch:e}=nr(on);return[uS(()=>Object.keys(i).reduce((n,r)=>(r!=="general"&&r!=="http"&&(n[r]=i[r]),n),{}),[i]),e]}var ed=rr;function td(i,e){return i.map(t=>{let n=!!e.find(({name:r})=>r===t.name)?.enabled;return{...t,enabled:n}})}function ln(){let[i,e]=rr();return[i.addons||[],t=>{e({...i,addons:td(i.addons||[],t)})}]}function On(){let[i,e]=rr();return[i.integrations||[],t=>{e({...i,integrations:td(i.integrations||[],t)})}]}function id(){let[i,e]=rr();return[i.debug,t=>{window.__wpfbInvalidated=!0,e({...i,debug:t})}]}var{createContext:pS,useContext:mS,useState:gS,useEffect:nd,useRef:$l}=wp.element,$S=wp.apiFetch,{__:yS}=wp.i18n,rd=pS([]);function yl({children:i}){let[e,t]=fe(),[,n]=N(),[r,s]=gS([]),o=$l(!1),[a]=On(),l=$l(a);nd(()=>(o.current||(o.current=Se(a,l.current)),()=>{l.current=a}),[a]),nd(()=>{e||o.current&&c().then(()=>o.current=!1)},[e,a]);let c=$l(()=>(t(!0),$S({path:"forms-bridge/v1/forms"}).then(s).catch(()=>n(yS("Forms loading error","forms-bridge"))).finally(()=>t(!1)))).current;return React.createElement(rd.Provider,{value:[r,c]},i)}function bt(){return mS(rd)}var{PanelBody:sd,ToggleControl:QS,__experimentalSpacer:SS}=wp.components,{useMemo:Ql,useCallback:bS}=wp.element,{__:Ds}=wp.i18n;function Sl({loading:i}){let[e,t]=On(),n=bS(a=>{let l=e.map(({name:c,enabled:O})=>(a===c&&(O=!O),{name:c,enabled:O}));window.__wpfbInvalidated=!0,t(l)},[e]),r=Ql(()=>e.length===0,[e]),s=Ql(()=>e.length>1,[e]),o=Ql(()=>e.reduce((a,{enabled:l})=>a&&!l,!0),[e]);if(s||r)return i?React.createElement(sd,{title:Ds("Form builders","forms-bridge"),initialOpen:!1}):React.createElement(sd,{title:Ds("Form builders","forms-bridge"),initialOpen:r||o},r&&React.createElement(React.Fragment,null,React.createElement("p",null,Ds("It seems you have no available form builders. If you want to use Forms Bridge, you should install, at least one of the following plugins before you can create form bridges.","forms-bridge")),React.createElement("ul",null,React.createElement("li",null,React.createElement("a",{href:Us("plugin-install.php",{s:"contact form 7",tab:"search",type:"term"})},"Contact Form 7")),React.createElement("li",null,React.createElement("a",{href:"https://www.gravityforms.com/",target:"_blank"},"GravityForms")),React.createElement("li",null,React.createElement("a",{href:"https://wpforms.com/",target:"_blank"},"WPForms")),React.createElement("li",null,React.createElement("a",{href:Us("plugin-install.php",{s:"ninja forms",tab:"search",type:"term"})},"NinjaForms")),React.createElement("li",null,React.createElement("a",{href:Us("plugin-install.php",{s:"woocommerce",tab:"search",type:"term"})},"WooCommerce"))))||React.createElement("p",null,Ds("Select which form builder plugins you want Forms Bridge to work","forms-bridge")),React.createElement(SS,{paddingBottom:"5px"}),e.map(({name:a,title:l,enabled:c})=>React.createElement("div",{key:a,style:{display:"flex",justifyContent:"left",height:"2em"}},React.createElement(QS,{__nextHasNoMarginBottom:!0,label:l,checked:c,onChange:()=>n(a)}))))}var{useMemo:xS,useCallback:vS}=wp.element,{PanelBody:wS,__experimentalSpacer:od}=wp.components,{__:ad}=wp.i18n;function bl(){let[i,e]=ln(),t=vS(r=>{let s=i.map(({name:o,enabled:a})=>(o===r&&(a=!a),{name:o,enabled:a}));window.__wpfbInvalidated=!0,window.__wpfbReload=!0,e(s)},[i]),n=xS(()=>i.sort((r,s)=>r.name>s.name?1:-1),[i]);return React.createElement(wS,{title:ad("Addons","forms-bridge"),initialOpen:!1},React.createElement("p",null,ad("Each addon allows you to create API specific bridges and comes with a library of bridge templates and workflow jobs","forms-bridge")),React.createElement(od,{paddingBottom:"5px"}),React.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"20px"}},n.map(({name:r,title:s,enabled:o,logo:a})=>React.createElement("button",{key:r,tabIndex:0,style:{width:"200px",height:"180px",borderRadius:"5px",display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",cursor:"pointer",padding:"20px",color:o?"var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))":"inherit",border:o?"2px solid":"none"},onClick:()=>t(r)},React.createElement("div",{style:{flex:1,display:"flex",alignItems:"center"}},React.createElement("img",{alt:r,src:a,width:"100px",height:"50px",style:{marginTop:"-8px",objectFit:"contain",objectPosition:"center",marginLeft:"5px"}})),React.createElement("h4",{style:{margin:0,fontSize:"1rem"}},s)))),React.createElement(od,{paddingY:"calc(10px)"}))}var PS=wp.apiFetch,{useState:xl,useEffect:ld,useRef:kS}=wp.element;function vl({debug:i}){let[e,t]=xl([]),[n,r]=xl(!1),[s,o]=xl(!1),a=kS(null),l=()=>(r(!0),PS({path:"forms-bridge/v1/logs?lines=1000",signal:AbortSignal.timeout(3e3)}).then(c=>{o(!1),t(c)}).catch(()=>o(!0)).finally(()=>r(!1)));return ld(()=>{if(i)return setTimeout(l,1e3),a.current=setInterval(()=>l(),1e4),()=>{clearInterval(a.current)}},[i]),ld(()=>{s&&t([])},[s]),{loading:n,error:s,logs:e}}var{useEffect:Od,useRef:cd}=wp.element,{__experimentalSpacer:hd,ToggleControl:TS,PanelBody:zS,PanelRow:fd}=wp.components,{__:cn}=wp.i18n;function wl(){let[i,e]=id(),{logs:t,loading:n,error:r}=vl({debug:i}),s=cd(!0),o=cd(null);return Od(()=>{if(!i||!o.current)return;let a=c=>{let O=c.target.children[0].offsetHeight-c.target.clientHeight;s.current=c.target.scrollTop===Math.max(0,O)},l=o.current;return l.addEventListener("scroll",a),()=>{l.removeEventListener("scroll",a)}},[i]),Od(()=>{!o.current||!s.current||o.current.scrollTo(0,o.current.scrollHeight)},[t]),React.createElement(zS,{title:cn("Debug","forms-bridge"),initialOpen:!!i},React.createElement("p",null,cn("Activate the debug mode and open the loggin console to see bridged form submissions' logs","forms-bridge")),React.createElement(hd,{paddingBottom:"5px"}),React.createElement(fd,null,React.createElement(TS,{label:cn("Logging","forms-bridge"),help:cn("When debug mode is activated, logs will be write to the log file and readed from there. Make sure to deactivate the debug mode once you've done to erase this file contents.","forms-bridge"),checked:!!i,onChange:()=>e(!i),__nextHasNoMarginBottom:!0})),i&&React.createElement(React.Fragment,null,React.createElement(hd,{paddingY:"calc(8px)"}),React.createElement(fd,null,React.createElement("div",{ref:o,style:{height:"500px",width:"100%",background:"black",color:r?"red":"white",overflowY:"auto",fontFamily:"monospace"}},React.createElement(XS,{logs:t,error:r,loading:n})))))}function XS({loading:i,error:e,logs:t}){return e?React.createElement("p",{style:{textAlign:"center"}},cn("Log lines loading error \u{1F915}","forms-bridge")):i&&!t.length?React.createElement("p",{style:{textAlign:"center"}},cn("Loading...","forms-bridge")):React.createElement("pre",{style:{width:"max-content",paddingLeft:"1.5em",paddingRight:"1em",margin:0}},t.map((n,r)=>React.createElement("p",{key:r,style:{margin:0,fontSize:"12px"}},n)))}var RS=wp.apiFetch,{useState:ud,useEffect:qS,useCallback:Pl}=wp.element,{__experimentalSpacer:_S,Button:Ti,Modal:dd}=wp.components,{__:ce}=wp.i18n;function kl(){let[i,e]=fe(),[t,n]=N(),[r,s]=an(),o=ot(),[a,l]=ud(!1),[c,O]=ud(!1),h=Pl(()=>{let d=new Blob([JSON.stringify(r)],{type:"application/json"}),p=URL.createObjectURL(d),m=document.createElement("a"),g=new Date,y=String(g.getFullYear()),S=String(g.getMonth()+1);S.length===1&&(S="0"+S);let v=String(g.getDate());v.length===1&&(v="0"+v),m.download=`${y}${S}${v}-forms-bridge.json`,m.href=p,document.body.appendChild(m),m.click(),document.body.removeChild(m)},[r]),f=Pl(()=>{oi().then(d=>{s(d).catch(()=>{n(ce("It has been an error with config import","forms-bridge"))})}).catch(d=>{d.name==="SyntaxError"?n(ce("JSON syntax error","forms-bridge")):n(ce("Something went wrong with the file upload","forms-bridge"))})},[s]),u=Pl(()=>{e(!0),RS({path:"forms-bridge/v1/settings",method:"DELETE"}).then(o).catch(()=>{n(ce("Wipe config error","forms-bridge"))}).finally(()=>e(!1))},[o]);return qS(()=>()=>{a&&(l(!1),c&&(a==="import"?f():u(),O(!1)))},[a,c]),React.createElement(React.Fragment,null,React.createElement("p",null,ce("Export or import your configuration as a JSON to migrate your bridges to, or from, any other WordPress instance","forms-bridge")),React.createElement(_S,{paddingBottom:"5px"}),React.createElement("div",{style:{display:"flex",gap:"0.5rem"}},React.createElement(Ti,{disabled:!!t||i,variant:"secondary",description:ce("Export Forms Bridge config as JSON","forms-bridge"),onClick:h,style:{width:"150px",justifyContent:"center"},__next40pxDefaultSize:!0},ce("Download config","forms-bridge")),React.createElement(Ti,{disabled:!!t||i,variant:"primary",description:ce("Import Forms Bridge JSON config","forms-bridge"),onClick:()=>l("import"),style:{width:"150px",justifyContent:"center"},__next40pxDefaultSize:!0},ce("Import config","forms-bridge")),React.createElement(Ti,{disabled:!!t||i,variant:"primary",description:ce("Wipe Forms Bridge settings","forms-bridge"),onClick:()=>l("wipe"),style:{width:"150px",justifyContent:"center"},isDestructive:!0,__next40pxDefaultSize:!0},ce("Wipe config","forms-bridge"))),a==="import"&&React.createElement(dd,{title:ce("Config import warning","forms-bridge"),onRequestClose:()=>l(!1),size:"small"},React.createElement("p",null,ce("Import a new configuration is a destructive action. Your current configuration will be replaced with the new one. If there are some errors on the new config, Forms Bridge will filter it to avoid bugs.","forms-bridge")),React.createElement("p",null,ce("Are you sure to continue?","forms-bridge")),React.createElement("div",{style:{display:"flex",gap:"0.5rem",justifyContent:"center"}},React.createElement(Ti,{variant:"primary",description:ce("Continue","forms-bridge"),onClick:()=>O(!0)},ce("Continue","forms-bridge")),React.createElement(Ti,{variant:"primary",isDestructive:!0,description:ce("Cancel","forms-bridge"),onClick:()=>O(!1)},ce("Cancel","forms-bridge")))),a==="wipe"&&React.createElement(dd,{title:ce("Wipe config warning","forms-bridge"),onRequestClose:()=>l(!1),size:"small"},React.createElement("p",null,ce("You are going to wipe Forms Bridge config. After that, Forms Bridge will be reset to factory defaults. All your data will be lost.","forms-bridge")),React.createElement("p",null,ce("Are you sure to continue?","forms-bridge")),React.createElement("div",{style:{display:"flex",gap:"0.5rem",justifyContent:"center"}},React.createElement(Ti,{variant:"primary",description:ce("Continue","forms-bridge"),onClick:()=>O(!0)},ce("Continue","forms-bridge")),React.createElement(Ti,{variant:"primary",isDestructive:!0,description:ce("Cancel","forms-bridge"),onClick:()=>O(!1)},ce("Cancel","forms-bridge")))))}var{PanelBody:pd,PanelRow:CS,TextControl:WS,__experimentalSpacer:ZS}=wp.components,{useEffect:VS}=wp.element,{__:ai}=wp.i18n;function Tl(){let[{loading:i,notification_receiver:e,debug:t,...n},r]=ed(),s=o=>r({notification_receiver:e,debug:t,...n,...o});return VS(()=>{let o=document.querySelector("#general .addon-logo");o&&o.removeAttribute("src")},[]),React.createElement(React.Fragment,null,React.createElement(CS,null,React.createElement(WS,{label:ai("Error notification receiver","forms-bridge"),help:ai("Email address where submission errors will be sent with the error log and the submission data","forms-bridge"),onChange:o=>s({notification_receiver:o}),value:e||"",style:{width:"300px"},__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0})),React.createElement(ZS,{paddingY:"calc(8px)"}),React.createElement(Sl,{loading:i}),React.createElement(bl,null),React.createElement(wl,null),React.createElement(pd,{title:ai("Import / Export","forms-bridge"),initialOpen:!1},React.createElement(kl,null)),React.createElement(pd,{title:ai("Credits","forms-bridge"),initialOpen:!1},React.createElement("ul",null,React.createElement("li",null,"\u{1F3E0}"," ",React.createElement("a",{href:"https://formsbridge.codeccoop.org",target:"_blank"},ai("Website","forms-bridge"))),React.createElement("li",null,"\u{1F4D4}"," ",React.createElement("a",{href:"https://formsbridge.codeccoop.org/documentation/",target:"_blank"},ai("Documentation","forms-bridge"))),React.createElement("li",null,"\u{1F4AC}"," ",React.createElement("a",{href:"https://wordpress.org/support/plugin/forms-bridge/",target:"_blank"},ai("Support","forms-bridge"))),React.createElement("li",null,"\u{1F4B5}"," ",React.createElement("a",{href:"https://buymeacoffee.com/codeccoop",target:"_blank"},ai("Donate","forms-bridge")))),React.createElement("p",null,React.createElement("strong",null,"Forms Bridge")," has been created by"," ",React.createElement("a",{href:"https://www.codeccoop.org",target:"_blank"},"C\xF2dec"),", a cooperative web development studio based on Barcelona."),React.createElement("p",null,"Please rate our plugin on"," ",React.createElement("a",{href:"https://wordpress.org/support/plugin/forms-bridge/reviews/?new-post",target:"_blank"},"WordPress.org")," ","and help us to maintain this plugin alive \u{1F496}")))}var md=Es;function at(){let[i,e]=Es();return[i.backends||[],t=>e({...i,backends:t})]}function li(){let[i,e]=Es();return[i.credentials||[],t=>e({...i,credentials:t})]}var{useMemo:AS}=wp.element;function Yt(){let[i]=at();return AS(()=>new Set(i.map(({name:e})=>e)),[i])}function zl({width:i=40,height:e=58.5}){return React.createElement("svg",{width:i,height:e,viewBox:"0 0 40 58.5"},React.createElement("rect",{width:"40",height:"7.5808687",x:"0",y:"0",style:{fill:"#ffffff",strokeWidth:4.99998,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:9}}),React.createElement("path",{d:"M 0.43682956,9.0838308 3.2975745,53.79041 h 0.011404 c 0.2208728,2.623009 2.202482,4.721113 4.8482263,4.721113 H 31.69339 c 2.645747,0 4.627355,-2.098104 4.848227,-4.721113 h 0.0114 L 39.413767,9.0838308 H 34.077348 5.7732537 Z",style:{fill:"#ffffff",strokeWidth:4.99998,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:9}}))}var{useRef:jS}=wp.element,{Button:YS}=wp.components,{__:gd}=wp.i18n;function Ut({onClick:i,variant:e="primary",isDestructive:t=!0,disabled:n=!1,size:r="default",style:s={},children:o,icon:a=!1,label:l}){s={justifyContent:"center",...s},r=="compact"&&(s.width="40px");let c=jS();function O(){clearTimeout(c.current),c.current=setTimeout(()=>alert(gd("Double click to remove","forms-bridge")),300)}return React.createElement(YS,{variant:e,onClick:O,onDoubleClick:h=>{i(h),clearTimeout(c.current),window.__wpfbInvalidated=!!t},style:s,showTooltip:!0,label:l||gd("Double click to remove","forms-bridge"),disabled:n,isDestructive:!0,__next40pxDefaultSize:!0},a&&React.createElement("div",{style:{opacity:n?.5:1}},React.createElement(zl,{width:"12",height:"20"}))||o)}function be({children:i,style:e={},min:t="200px",max:n="300px",isResponsive:r=!1}){let s=r?"100%":"15vw";return r&&(n=s),React.createElement("div",{style:{maxWidth:"100%",width:`clamp(${t}, ${s}, ${n})`,...e}},i)}var{useEffect:US,useMemo:MS}=wp.element,{SelectControl:ES}=wp.components,{__:sr}=wp.i18n,or={"application/json":sr("JSON","forms-bridge"),"application/x-www-form-urlencoded":sr("URL Encoded","forms-bridge"),"multipart/form-data":sr("Binary files","forms-bridge")},dt="Content-Type",Ls="application/json";function Xl({headers:i,setHeaders:e}){let t=MS(()=>i.find(({name:r})=>r===dt)?.value,[i]),n=r=>{i[0]?.name!==dt?e([{name:dt,value:r},...i]):e([{name:dt,value:r},...i.slice(1)])};return US(()=>{t===void 0&&i.length&&e([{name:dt,value:Ls},...i])},[t]),React.createElement(be,null,React.createElement(ES,{label:sr("Content encoding"),value:or[t]?t:"",onChange:n,options:Object.keys(or).map(r=>({label:or[r],value:r})).concat([{label:sr("Custom encoding","forms-bridge"),value:""}]),__next40pxDefaultSize:!0,__nextHasNoMarginBottom:!0}))}var{TextControl:$d,Button:yd}=wp.components,{useEffect:DS,useMemo:LS}=wp.element,{__:Rl}=wp.i18n;function ar({headers:i,setHeaders:e}){let t=(o,a,l)=>{let c=i.map((O,h)=>(a===h&&(O[o]=l),{...O}));e(c)},n=(o,a="Accept",l=Ls)=>{let c=i.slice(0,o).concat([{name:a,value:l}]).concat(i.slice(o,i.length));e(c)},r=o=>{let a=i.slice(0,o).concat(i.slice(o+1));e(a)};DS(()=>{i.length&&i.find(o=>o.name===dt)||n(0,dt,Ls)},[i]);let s=LS(()=>i.sort((o,a)=>o.name===dt?-1:a.name===dt?1:0),[i]);return React.createElement(React.Fragment,null,React.createElement("div",{className:"components-base-control__label"},React.createElement("label",{className:"components-base-control__label",style:{fontSize:"11px",textTransform:"uppercase",fontWeight:500,marginBottom:"calc(8px)"}},Rl("HTTP Headers","forms-bridge")),React.createElement("table",{style:{width:"calc(100% + 10px)",maxWidth:"900px",borderSpacing:"5px",margin:"0 -5px"}},React.createElement("colgroup",null,React.createElement("col",{span:"1",style:{width:"clamp(150px, 15vw, 300px)"}}),React.createElement("col",{span:"1",style:{width:"auto"}}),React.createElement("col",{span:"1",style:{width:"85px"}})),React.createElement("tbody",null,s.map(({name:o,value:a},l)=>React.createElement("tr",{key:l},React.createElement("td",null,React.createElement($d,{disabled:o==="Content-Type"&&l===0,placeholder:Rl("Header-Name","forms-bridge"),value:o,onChange:c=>t("name",l,c),__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0})),React.createElement("td",null,React.createElement($d,{disabled:o===dt&&or[a]&&l===0,placeholder:Rl("Value","forms-bridge"),value:a,onChange:c=>t("value",l,c),__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0})),React.createElement("td",null,React.createElement("div",{style:{display:"flex",marginLeft:"0.45em",gap:"0.45em"}},React.createElement(yd,{size:"compact",variant:"secondary",disabled:!o||!a,onClick:()=>n(l+1),style:{width:"40px",height:"40px",justifyContent:"center"},__next40pxDefaultSize:!0},"+"),React.createElement(yd,{disabled:o==="Content-Type"&&l===0,variant:"secondary",onClick:()=>r(l),style:{width:"40px",height:"40px",justifyContent:"center"},isDestructive:!0,__next40pxDefaultSize:!0},"-")))))))))}var{useState:GS,useEffect:BS,useRef:Qd}=wp.element;function ze(i=1080){let[e,t]=GS(window.innerWidth<=i),n=Qd(),r=Qd(()=>{clearTimeout(n.current),n.current=setTimeout(()=>t(window.innerWidth<=i),100)}).current;return BS(()=>(window.addEventListener("resize",r),()=>{window.removeEventListener("resize",r)}),[]),e}function Mt({width:i=26,height:e=26,color:t="#000000"}){return React.createElement("svg",{width:i,height:e,viewBox:"-1 0 26 26",fill:"none"},React.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M17.676 14.248C17.676 15.8651 16.3651 17.176 14.748 17.176H7.428C5.81091 17.176 4.5 15.8651 4.5 14.248V6.928C4.5 5.31091 5.81091 4 7.428 4H14.748C16.3651 4 17.676 5.31091 17.676 6.928V14.248Z",stroke:t,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",fill:"#ffffff00"}),React.createElement("path",{d:"M10.252 20H17.572C19.1891 20 20.5 18.689 20.5 17.072V9.75195",stroke:t,strokeWidth:"1",strokeLinecap:"round",strokeLinejoin:"round",fill:"#ffffff00"}))}function Et({width:i=100,height:e=145,color:t="#000000"}){return React.createElement("svg",{width:i,height:e,viewBox:"0 0 100 145"},React.createElement("g",{transform:"translate(-582.90398,-1448.5647)"},React.createElement("path",{style:{fill:t,strokeWidth:1},d:"m 669.08313,1526.3787 h -13.82086 v 33.5929 33.5931 h -22.37222 -22.37221 v -33.5931 -33.5929 h -13.83073 c -11.61145,0 -13.82303,-0.02 -13.78259,-0.1256 0.0391,-0.1018 19.69892,-30.7023 45.71154,-71.15 2.31274,-3.5961 4.23104,-6.5384 4.26292,-6.5384 0.0319,0 5.49256,8.4526 12.13488,18.7835 6.64231,10.3309 17.88488,27.8169 24.98352,38.8577 7.09864,11.0409 12.9066,20.0965 12.9066,20.1235 0,0.027 -6.21938,0.049 -13.82085,0.049 z"})))}function zi({width:i=100,height:e=145,color:t="#000000"}){return React.createElement("div",{style:{transform:"translateY(-2px) rotate(180deg)"}},React.createElement(Et,{width:i,height:e,color:t}))}var{useMemo:IS}=wp.element,{TextControl:Sd,SelectControl:NS}=wp.components,{__:lr}=wp.i18n;function Or({state:i,setState:e,errors:t}){let[n]=li(),r=IS(()=>Ce(n.map(({name:s})=>({value:s,label:s})).sort((s,o)=>s.name>o.name?1:-1)),[n]);return React.createElement(React.Fragment,null,React.createElement(be,null,React.createElement(Sd,{label:lr("Name","forms-bridge"),help:t.name&&lr("This name is already in use","forms-bridge"),value:i.name,onChange:s=>e({...i,name:s}),__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0})),React.createElement(be,null,React.createElement(Sd,{label:lr("Base URL","forms-bridge"),help:t.base_url&&lr("Invalid base URL","forms-bridge"),value:i.base_url,onChange:s=>e({...i,base_url:s}),__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0})),React.createElement(Xl,{headers:i.headers,setHeaders:s=>e({...i,headers:s})}),React.createElement(be,null,React.createElement(NS,{label:lr("Authentication","forms-bridge"),value:i.credential||"",onChange:s=>e({...i,credential:s}),options:r,__next40pxDefaultSize:!0,__nextHasNoMarginBottom:!0})))}var{Button:bd}=wp.components,{useState:FS,useEffect:ql,useMemo:_l,useRef:Cl}=wp.element,{__:Wl}=wp.i18n;function Zl({update:i,remove:e,data:t,copy:n}){let[r]=fe(),s=ze(),o=Cl(t.name),[a,l]=FS({...t}),c=Yt(),O=_l(()=>!a.name||a.name.trim()===o.current.trim()?!1:a.name!==o.current&&c.has(a.name.trim()),[c,a.name]),h=_l(()=>!ki(a.base_url,!0),[a.base_url]),f=_l(()=>!O&&!h&&tr(a),[a,O,h]),u=Cl();ql(()=>{clearTimeout(u.current),f&&(a.name!==t.name?u.current=setTimeout(()=>{o.current=a.name,i(a)},1e3):Se(a,t)&&i(a))},[f,a]),ql(()=>{t.name!==o.current&&(o.current=t.name,l(t))},[t.name]);let d=Cl(!1);ql(()=>(!r&&d.current&&Se(t,a)&&l(t),()=>{d.current=r}),[r,t,a]);function p(){let m={...t};sn(m,t.name+" backend config")}return React.createElement("div",{style:{padding:"calc(24px) calc(32px)",width:"calc(100% - 64px)",backgroundColor:"rgb(245, 245, 245)",display:"flex",flexDirection:s?"column":"row",gap:"2rem"}},React.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"0.5rem"}},React.createElement(Or,{state:a,setState:l,errors:{name:O,base_url:h}}),React.createElement("div",{style:{marginTop:"0.5rem",display:"flex",gap:"0.5rem"}},React.createElement(Ut,{label:Wl("Delete","forms-bridge"),onClick:()=>e(t),icon:!0}),React.createElement(bd,{variant:"tertiary",style:{height:"40px",width:"40px",justifyContent:"center",fontSize:"1.5em",border:"1px solid",padding:"6px 6px"},onClick:n,label:Wl("Duplaicate","forms-bridge"),showTooltip:!0,__next40pxDefaultSize:!0},React.createElement(Mt,{width:"25",height:"25",color:"var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))"})),React.createElement(bd,{variant:"tertiary",style:{height:"40px",width:"40px",justifyContent:"center",fontSize:"1.5em",border:"1px solid",color:"gray"},onClick:p,label:Wl("Download","forms-bridge"),showTooltip:!0,__next40pxDefaultSize:!0},React.createElement(zi,{width:"12",height:"20",color:"gray"})))),React.createElement("div",{style:s?{paddingTop:"2rem",borderTop:"1px solid"}:{paddingLeft:"2rem",borderLeft:"1px solid",flex:1}},React.createElement(ar,{headers:a.headers,setHeaders:m=>l({...a,headers:m})})))}var{Button:xd}=wp.components,{useState:HS,useMemo:Vl,useCallback:KS}=wp.element,{__:Gs}=wp.i18n,vd={name:"",base_url:"https://",headers:[{name:"Content-Type",value:"application/json"}],authentication:{}};function Al({add:i}){let e=ze(),[t,n]=HS(vd),[r,s]=N(),o=Yt(),a=Vl(()=>t.name?o.has(t.name.trim()):!1,[o,t.name]),l=Vl(()=>!ki(t.base_url,!0),[t.base_url]),c=()=>{window.__wpfbInvalidated=!0,n(vd),i({...t})},O=Vl(()=>!a&&!l&&tr(t),[t,a,l]),h=KS(()=>{oi().then(f=>{if(!tr(f)){s(Gs("Invalid backend config","forms-bridge"));return}let d=1;for(;o.has(f.name);)f.name=f.name.replace(/\([0-9]+\)/,"")+` (${d})`,d++;f.headers=Array.isArray(f.headers)&&f.headers.filter(p=>p&&p.name&&p.value)||[],i(f)}).catch(f=>{f&&(console.error(f),s(Gs("An error has ocurred while uploading the backend config","forms-bridge")))})},[o]);return React.createElement("div",{style:{padding:"calc(24px) calc(32px)",width:"calc(100% - 64px)",backgroundColor:"rgb(245, 245, 245)",display:"flex",flexDirection:e?"column":"row",gap:"2rem"}},React.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"0.5rem"}},React.createElement(Or,{state:t,setState:n,errors:{name:a,base_url:l}}),React.createElement("div",{style:{marginTop:"0.5rem",display:"flex",gap:"0.5rem"}},React.createElement(xd,{variant:"primary",onClick:c,style:{width:"100px",justifyContent:"center"},disabled:a||!O,__next40pxDefaultSize:!0},Gs("Add","forms-bridge")),React.createElement(xd,{disabled:!!r,variant:"tertiary",size:"compact",style:{width:"40px",height:"40px",justifyContent:"center",fontSize:"1.5em",border:"1px solid",color:"gray"},onClick:h,__next40pxDefaultSize:!0,label:Gs("Upload","forms-bridge"),showTooltip:!0},React.createElement(Et,{width:"12",height:"20",color:"gray"})))),React.createElement("div",{style:e?{paddingTop:"2rem",borderTop:"1px solid"}:{paddingLeft:"2rem",borderLeft:"1px solid",flex:1}},React.createElement(ar,{headers:t.headers,setHeaders:f=>n({...t,headers:f})})))}function Xi({name:i}){return React.createElement("div",{style:{position:"relative",padding:"0px 5px"}},React.createElement("span",null,i))}function Ri({width:i=30,height:e=30}){return React.createElement("svg",{width:i,height:e,viewBox:"0 0 30 30"},React.createElement("path",{d:"M 2.622057,29.862373 C 1.828663,29.690276 1.123542,29.19942 0.655787,28.493598 -0.033852,27.452962 -0.001626,28.119212 9.16e-4,14.954001 0.003016,4.075681 0.012016,3.372831 0.157468,2.730124 0.469143,1.352914 1.392042,0.445513 2.777525,0.154064 3.411524,0.020696 3.979927,0.002724 7.604454,0.001448 L 11.712762,4.8e-5 V 1.685006 3.369963 H 7.54125 3.369737 v 11.626209 11.626209 h 11.587535 c 6.373144,0 11.607885,-2e-6 11.632757,-4e-6 0.02487,-1e-6 0.04316,-1.857667 0.04063,-4.128146 l -0.0046,-4.128143 h 1.686967 1.686968 v 4.206886 c 0,4.848747 -0.02041,5.049055 -0.604115,5.927982 -0.468374,0.705269 -1.186385,1.192115 -2.015216,1.366413 -0.855959,0.180003 -23.927215,0.175391 -24.758611,-0.0049 z M 19.971514,13.353291 V 10.0255 H 16.64095 13.310386 l 0.02285,-1.663896 0.02285,-1.663896 3.307715,-0.02204 3.307714,-0.02204 V 3.326814 0 h 1.68546 1.685459 V 3.327791 6.655583 H 26.671217 30 v 1.684958 1.684958 h -3.328783 -3.328783 v 3.327791 3.327792 h -1.68546 -1.68546 z",style:{strokeWidth:1}}))}var{useRef:JS,useEffect:eb}=wp.element,{TabPanel:tb}=wp.components,{__:wd}=wp.i18n,ib=`.backends-tabs-panel .components-tab-panel__tabs{overflow-x:auto;} 2 .backends-tabs-panel .components-tab-panel__tabs>button{flex-shrink:0;}`;function jl({backends:i,setBackends:e}){let t=Yt(),n=i.map(({name:l},c)=>({index:c,name:String(c),title:l,icon:React.createElement(Xi,{name:l})})).concat([{index:-1,name:"new",title:wd("Add a backend","forms-bridge"),icon:React.createElement("div",{style:{marginBottom:"-2px"}},React.createElement(Ri,{width:"15",height:"15"}))}]),r=(l,c)=>{l===-1&&(l=i.length),c.headers?.length||(c.headers=[{name:"Content-Type",value:"application/json"}]),c.name=c.name.trim(),c.base_url=c.base_url.trim();let O=i.slice(0,l).concat([c]).concat(i.slice(l+1,i.length));e(O)},s=({name:l})=>{let c=i.findIndex(h=>h.name===l),O=i.slice(0,c).concat(i.slice(c+1));e(O)},o=l=>{let c=i.findIndex(f=>f.name===l),h={...i[c]};for(h.name=h.name.trim(),h.base_url=h.base_url.trim();t.has(h.name);)h.name+="-copy";window.__wpfbInvalidated=!0,e(i.concat(h))},a=JS(document.createElement("style"));return eb(()=>(a.current.appendChild(document.createTextNode(ib)),document.head.appendChild(a.current),()=>{document.head.removeChild(a.current)}),[]),React.createElement("div",{style:{width:"100%"}},React.createElement("h3",{style:{marginTop:0,fontSize:"13px"}},wd("Backends","forms-bridge")),React.createElement(tb,{tabs:n,className:"backends-tabs-panel"},l=>{let c=i[l.index];return c?React.createElement(Zl,{data:c,remove:s,update:O=>r(l.index,O),copy:()=>o(c.name)}):React.createElement(Al,{add:O=>r(l.index,O)})}))}var Pd=wp.apiFetch,{createContext:nb,useContext:Td,useRef:Bs,useState:Is,useMemo:Yl,useEffect:kd}=wp.element,Ul=nb([]);function Ml({children:i,bridge:e}){let[t]=K(),[n]=at(),[r,s]=Is(!1),[o,a]=Is(!1),l=Bs(new Map).current,c=Bs(new Map).current,[,O]=Is(0),[,h]=Is(0),f=Yl(()=>n.find(({name:b})=>e?.backend===b),[n,e]),u=Yl(()=>f?.name?JSON.stringify({addon:t,method:e?.method||"",backend:f?.name}):"",[t,e?.method,f?.name]),d=(b,x)=>{l.set(b,x),O(Q=>Q+1)},p=(b,x,Q)=>{s(!0),Pd({path:`forms-bridge/v1/${t}/backend/endpoints`,method:"POST",data:{method:x,backend:Q}}).then(w=>d(b,w)).catch(()=>d(b,[])).finally(()=>s(!1))},m=Bs();kd(()=>{clearTimeout(m.current),!(!e||r||l.get(u))&&(m.current=setTimeout(()=>p(u,e.method,f),400))},[u,e,f]);let g=Yl(()=>!e?.method||!f?.name?"":JSON.stringify({addon:t,method:e.method,endpoint:e.endpoint||"/",backend:f.name}),[t,e?.method,e?.endpoint,f?.name]),y=(b,x)=>{c.set(b,x),h(Q=>Q+1)},S=(b,x,Q,w)=>{a(!0),Pd({path:`forms-bridge/v1/${t}/backend/endpoint/schema`,method:"POST",data:{endpoint:x,method:Q,backend:w}}).then(k=>y(b,k)).catch(()=>y(b,[])).finally(()=>a(!1))},v=Bs();return kd(()=>{clearTimeout(v.current),!(!e||!f||o||c.get(g))&&(v.current=setTimeout(()=>S(g,e.endpoint||"/",e.method,f),400))},[g,e,f]),React.createElement(Ul.Provider,{value:{schema:c.get(g),endpoints:l.get(u)}},i)}function Ns(){let{schema:i}=Td(Ul);return i||[]}function zd(){let{endpoints:i}=Td(Ul);return i||[]}var{BaseControl:rb,SelectControl:sb}=wp.components,{useEffect:ob,useMemo:El}=wp.element,cr=["enabled","is_valid","workflow","custom_fields","mutations"],Fs=["name","form_id","backend","endpoint","method"];function hr({data:i,setData:e,schema:t,errors:n={}}){let[r]=at(),s=El(()=>r.length?r.map(({name:O})=>({label:O,value:O})).sort((O,h)=>O.label>h.label?1:-1):[{label:"",value:""}],[r]),[o]=bt(),a=El(()=>o.length?o.map(({_id:O,title:h})=>({label:h,value:O})).sort((O,h)=>O.label>h.label?1:-1):[{label:"",value:""}],[o]),l=zd(),c=El(()=>t?Object.keys(t.properties).filter(O=>!cr.includes(O)).map(O=>({...t.properties[O],label:t.properties[O].title||O,name:O,value:t.properties[O].const})).map(O=>O.name==="form_id"?{...O,type:"select",options:a}:O.name==="backend"?{...O,type:"select",options:s}:O.enum?{...O,type:"select",options:O.enum.map(h=>({label:h,value:h}))}:O):[],[t,a,s]);return ob(()=>{let O=c.reduce((h,f)=>{if(f.default&&!E(i,f.name))h[f.name]=f.default;else if(f.value&&f.value!==i[f.name])h[f.name]=f.value;else if(f.type==="select"){if(!f.options.length&&i[f.name])h[f.name]="";else if(!i[f.name]||f.options.length===1){let u=f.options[0]?.value||"";u!==i[f.name]&&(h[f.name]=u)}}else f.enum&&f.enum.length===1&&i[f.name]!==f.enum[0]&&(h[f.name]=f.enum[0]);return!o.length&&i.form_id&&(h.form_id=""),!r.length&&i.backend&&(h.backend=""),h},{});Object.keys(O).length&&e({...i,...O})},[i,c]),c.filter(O=>!O.value).sort((O,h)=>Fs.includes(O.name)&&Fs.includes(h.name)?Fs.indexOf(O.name)-Fs.indexOf(h.name):0).map(O=>{switch(O.type){case"string":return React.createElement(Dl,{key:O.name,error:n[O.name],label:O.label,value:i[O.name]||"",setValue:h=>e({...i,[O.name]:h}),datalist:O.name==="endpoint"?l:[]});case"select":return React.createElement(Ll,{key:O.name,error:n[O.name],label:O.label,value:i[O.name]||"",setValue:h=>e({...i,[O.name]:h}),options:O.options})}})}function Dl({label:i,value:e,setValue:t,error:n,disabled:r,datalist:s=[]}){return React.createElement(be,null,React.createElement(rb,{label:i,help:n},React.createElement("input",{name:i,type:"text",list:"datalist-"+i,value:e,onChange:o=>t(o.target.value),disabled:r,style:{height:"40px",paddingRight:"12px",paddingLeft:"12px",borderColor:"var(--wp-components-color-gray-600,#949494)",fontSize:"13px",width:"100%",border:"1px solid #949494",borderRadius:"2px"}}),React.createElement("datalist",{id:"datalist-"+i},s.map(o=>React.createElement("option",{value:o})))))}function Ll({label:i,options:e,value:t,setValue:n,optional:r,error:s,disabled:o}){return r&&(e=Ce(e)),React.createElement(be,null,React.createElement(sb,{disabled:o,label:i,value:t,onChange:n,options:e,help:s,__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0}))}var{useEffect:ab,useMemo:Xd}=wp.element,fr=["refresh_token","refresh_token_expires_at"];function ur({data:i,setData:e,schema:t,schemas:n,disabled:r=!1,errors:s}){let o=Xd(()=>n.oneOf.reduce((l,c)=>c.properties.schema.const?l.concat(c.properties.schema.const):l.concat(c.properties.schema.enum||[]),[]).map(l=>({value:l,label:l})),[n]),a=Xd(()=>t?Object.keys(t.properties).filter(l=>t.properties[l].public!==!1).map(l=>({...t.properties[l],label:t.properties[l].title||l,name:l,value:t.properties[l].const})).map(l=>l.name==="schema"?{...l,type:"select",options:o}:l.enum?{...l,type:"select",options:l.enum.map(c=>({label:c,value:c}))}:l):[],[t]);return ab(()=>{let l=a.reduce((c,O)=>{if((O.name==="realm"||O.name==="scope"||O.name==="database")&&!E(i,O.name)&&(c[O.name]=i.realm||i.scope||i.database||"",O.name!=="realm"&&delete i.realm,O.name!=="scope"&&delete i.scope,O.name!=="database"&&delete i.database),O.default&&!E(i,O.name))c[O.name]=O.default;else if(O.value&&O.value!==i[O.name])c[O.name]=O.value;else if(O.type==="select"){if(!O.options.length&&i[O.name])c[O.name]="";else if(!i[O.name]||O.options.length===1){let h=O.options[0]?.value||"";h!==i[O.name]&&(c[O.name]=h)}}else O.enum&&O.enum.length===1&&i[O.name]!==O.enum[0]&&(i[O.name]=O.enum[0]);return c},{});Object.keys(l).length&&e({...i,...l})},[i,a]),a.filter(l=>!l.value).sort(l=>l.name==="name"?-1:0).map(l=>{switch(l.type){case"string":return React.createElement(Dl,{key:l.name,label:l.label,value:i[l.name]||"",setValue:c=>e({...i,[l.name]:c}),error:s[l.name],disabled:r});case"select":return React.createElement(Ll,{key:l.name,label:l.label,value:i[l.name]||"",setValue:c=>e({...i,[l.name]:c}),options:l.options,optional:!t.required.includes(l.name),error:s[l.name],disabled:r})}})}var{useMemo:lb}=wp.element,{Button:Rd}=wp.components,qd=wp.apiFetch,{__:_d}=wp.i18n;function Gl({addon:i,data:e}){let[t,n]=fe(),[r,s]=N(),o=ot(),a=lb(()=>{if(e.refresh_token)return!0;if(!(e.access_token&&e.expires_at))return!1;let O=new Date(e.expires_at);return O.getFullYear()===1970&&(O=new Date(e.expires_at*1e3)),Date.now()<O.getTime()},[e.access_token,e.expires_at]),l=()=>{n(!0),qd({path:"forms-bridge/v1/oauth/revoke",method:"POST",data:{credential:e}}).then(()=>o()).catch(()=>s("")).finally(()=>n(!1))},c=()=>{n(!0),qd({path:"forms-bridge/v1/oauth/grant",method:"POST",data:{credential:e}}).then(({success:O,redirect_url:h})=>{if(!O)throw"error";let f=document.createElement("form");f.action=h,f.method="GET",f.target="_blank";let u=` 3 3 <input name="client_id" value="${e.client_id}" /> 4 4 <input name="response_type" value="code" /> … … 6 6 <input name="access_type" value="offline" /> 7 7 <input name="state" value="${btoa(i)}" /> 8 `;e.scope&&(u+=`<input name="scope" value="${e.scope}" />`),f.innerHTML=u,f.style.visibility="hidden",document.body.appendChild(f),f.submit(),document.body.removeChild(f)}).catch(()=>s("")).finally(()=>n(!1))};return a?React.createElement( xd,{onClick:l,variant:"secondary",isDestructive:!0,disabled:t||r,style:{justifyContent:"center",marginLeft:"auto"},__next40pxDefaultSize:!0},wd("Revoke","forms-bridge")):React.createElement(xd,{variant:"primary",onClick:O,disabled:t||r,style:{justifyContent:"center",marginLeft:"auto"},__next40pxDefaultSize:!0},wd("Authorize","forms-bridge"))}var{Button:Pd}=wp.components,{useState:rb,useEffect:Ml,useMemo:dr,useRef:El,useCallback:sb}=wp.element,{__:Is}=wp.i18n;function Dl({addon:i,data:e,update:t,remove:n,schema:r,copy:s}){let o=ze(780),[a]=fe(),l=El(e.name),[O,c]=rb({...e}),h=dr(()=>r.oneOf.find(v=>v.properties.schema.const===O.schema||v.properties.schema.enum?.includes(O.schema)),[O.schema]),[f]=li(),u=dr(()=>new Set(f.map(v=>v.name)),[f]),d=dr(()=>!O.name||l.current.trim()===O.name.trim()?!1:l.current!==O.name&&u.has(O.name.trim()),[u,O.name]),p=sb(v=>!!Object.keys(h.properties).filter(Q=>!fr.includes(Q)).reduce((Q,w)=>{if(!Q||!h.required.includes(w))return Q;let k=v[w];return h.properties[w].pattern&&(Q=Q&&new RegExp(h.properties[w].pattern).test(k)),Q&&(k||E(h.properties[w],"default"))},!0),[h]),m=dr(()=>p(O),[p,O,d]),g=dr(()=>!!e.refresh_token,[e]),y=El();Ml(()=>{clearTimeout(y.current),m&&(e.name!==O.name?y.current=setTimeout(()=>{l.current=O.name,t({...O})},1e3):Se(e,O)&&t({...O}))},[m,O]),Ml(()=>{e.name!==l.current&&(l.current=e.name,c(e))},[e.name]);let S=El(!1);Ml(()=>(!a&&S.current&&Se(e,O)&&c(e),()=>{S.current=a}),[a,e,O]);let x=()=>{let v={...e};fr.forEach(Q=>delete v[Q]),sn(v,v.name+" credential config")},b=!!h.properties.refresh_token;return React.createElement("div",{style:{padding:"calc(24px) calc(32px)",width:"calc(100% - 64px)",backgroundColor:"rgb(245, 245, 245)",display:"flex",flexDirection:o?"column":"row",gap:"2rem"}},React.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"0.5rem"}},React.createElement(ur,{disabled:g,data:O,setData:c,schema:h,schemas:r,errors:{name:d?Is("This name is already in use","forms-bridge"):!1}}),React.createElement("div",{style:{marginTop:"0.5rem",display:"flex",gap:"0.5rem"}},React.createElement(Ut,{label:Is("Delete","forms-bridge"),onClick:()=>n(e),icon:!0}),React.createElement(Pd,{variant:"tertiary",style:{height:"40px",width:"40px",justifyContent:"center",fontSize:"1.5em",border:"1px solid",padding:"6px 6px"},onClick:s,label:Is("Duplaicate","forms-bridge"),showTooltip:!0,__next40pxDefaultSize:!0},React.createElement(Mt,{width:"25",height:"25",color:"var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))"})),React.createElement(Pd,{size:"compact",variant:"tertiary",style:{height:"40px",width:"40px",justifyContent:"center",fontSize:"1.5em",border:"1px solid",color:"gray"},onClick:x,__next40pxDefaultSize:!0,label:Is("Download bridge config","forms-bridge"),showTooltip:!0},React.createElement(zi,{width:"12",height:"20",color:"gray"})),b&&React.createElement(Ul,{addon:i,data:e})||null)))}var{Button:kd}=wp.components,{useState:ob,useMemo:Ns,useCallback:Td}=wp.element,{__:hn}=wp.i18n;function Ll({add:i,schema:e}){let t=ze(780),[n,r]=N(),[s,o]=ob({schema:"Basic"}),a=Ns(()=>e.oneOf.find(p=>p.properties.schema.const===s.schema||p.properties.schema.enum?.includes(s.schema)),[s.schema]),[l]=li(),O=Ns(()=>new Set(l.map(p=>p.name)),[l]),c=Ns(()=>s.name?O.has(s.name.trim()):!1,[O,s.name]),h=()=>{let p={...s,name:s.name.trim()};Object.keys(a.properties).forEach(m=>{a.required.includes(m)&&!p[m]&&(p[m]=a.properties[m].default)}),window.__wpfbInvalidated=!0,o({}),i(p)},f=Td(p=>!!Object.keys(a.properties).filter(m=>!fr.includes(m)).filter(m=>!["access_token","expires_at"].includes(m)).reduce((m,g)=>{if(!m||!a.required.includes(g))return m;let y=p[g];return a.properties[g].pattern&&(m=m&&new RegExp(a.properties[g].pattern).test(y)),m&&(y||E(a.properties[g],"default"))},!0),[a]),u=Ns(()=>f(s),[s]),d=Td(()=>{oi().then(p=>{if(!f(p)){r(hn("Invalid credential config","forms-bridge"));return}let g=1;for(;O.has(p.name);)p.name=p.name.replace(/ \([0-9]+\)/,"")+` (${g})`,g++;i(p)}).catch(p=>{p?.name==="SyntaxError"?r(hn("JSON syntax error","forms-bridge")):r(hn("An error has ocurred while uploading the credential config","forms-bridge"))})},[O]);return React.createElement("div",{style:{padding:"calc(24px) calc(32px)",width:"calc(100% - 64px)",backgroundColor:"rgb(245, 245, 245)",display:"flex",flexDirection:t?"column":"row",gap:"2rem"}},React.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"0.5rem"}},React.createElement(ur,{data:s,setData:o,schema:a,schemas:e,errors:{name:c?hn("This name is already in use","forms-bridge"):!1}}),React.createElement("div",{style:{marginTop:"0.5rem",display:"flex",gap:"0.5rem"}},React.createElement(kd,{variant:"primary",onClick:h,style:{width:"100px",justifyContent:"center"},disabled:!u||c,__next40pxDefaultSize:!0},hn("Add","forms-bridge")),React.createElement(kd,{variant:"tertiary",size:"compact",style:{width:"40px",height:"40px",justifyContent:"center",fontSize:"1.5em",border:"1px solid",color:"grey"},disabled:!!n,onClick:d,__next40pxDefaultSize:!0,label:hn("Upload","forms-bridge"),showTooltip:!0},React.createElement(Et,{width:"12",height:"20",color:"gray"})))))}var{useEffect:ab,useRef:lb,useMemo:Ob}=wp.element,{PanelBody:cb,TabPanel:hb}=wp.components,{__:Gl}=wp.i18n,fb=`.credentials-tabs-panel .components-tab-panel__tabs{overflow-x:auto;}9 .credentials-tabs-panel .components-tab-panel__tabs>button{flex-shrink:0;}`;function Bl({credentials:i,setCredentials:e}){let[t]=K(),{credential:n}=ri(),r=Ob(()=>new Set(i.map(c=>c.name)),[i]),s=i.map(({name:c},h)=>({index:h,name:String(h),title:c,icon:React.createElement(Xi,{name:c})})).concat([{index:-1,name:"new",title:Gl("Add a credential","forms-bridge"),icon:React.createElement("div",{style:{marginBottom:"-2px"}},React.createElement(Ri,{width:"15",height:"15"}))}]),o=(c,h)=>{c===-1&&(c=i.length),h.name=h.name.trim();let f=i.slice(0,c).concat([h]).concat(i.slice(c+1,i.length));e(f)},a=({name:c})=>{let h=i.findIndex(u=>u.name===c),f=i.slice(0,h).concat(i.slice(h+1));e(f)},l=c=>{let h=i.findIndex(d=>d.name===c),u={...i[h]};for(u.name=u.name.trim();r.has(u.name);)u.name+="-copy";window.__wpfbInvalidated=!0,e(i.concat(u))},O=lb(document.createElement("style"));if(ab(()=>(O.current.appendChild(document.createTextNode(fb)),document.head.appendChild(O.current),()=>{document.head.removeChild(O.current)}),[]),!!n)return React.createElement(cb,{title:Gl("Authentication","forms-bridge"),initialOpen:!1},React.createElement("div",{style:{width:"100%"}},React.createElement("p",null,Gl("HTTP authentication credentials","forms-bridge")),React.createElement(hb,{tabs:s,className:"credentials-tabs-panel"},c=>{let h=i[c.index];return h?React.createElement(Dl,{addon:t,data:h,schema:n,remove:a,update:f=>o(c.index,f),copy:()=>l(h.name)}):React.createElement(Ll,{add:f=>o(c.index,f),schema:n})})))}var{useEffect:ub}=wp.element,{__experimentalSpacer:db}=wp.components;function Il(){let[{backends:i=[],credentials:e=[]},t]=fd(),n=r=>{t({backends:i,credentials:e,...r})};return ub(()=>{let r=document.querySelector("#http .addon-logo");r&&r.removeAttribute("src")},[]),React.createElement(React.Fragment,null,React.createElement(Vl,{backends:i,setBackends:r=>n({backends:r})}),React.createElement(db,{paddingY:"calc(8px)"}),React.createElement(Bl,{credentials:e,setCredentials:r=>n({credentials:r})}))}var Nl=wp.apiFetch,{createContext:pb,useContext:Rd,useEffect:zd,useState:Xd,useCallback:Fl}=wp.element,{__:Fs}=wp.i18n,Hl=pb({job:null,setJob:()=>{},config:null,submit:()=>{},reset:()=>{}});function Kl({children:i}){let[,e]=fe(),[,t]=N(),[n]=K(),[r,s]=Xd(null),[o,a]=Xd(null),[l,O]=an();zd(()=>{s(null)},[n]),zd(()=>(r&&c(r),()=>{a(null)}),[r]);let c=Fl(u=>Nl({path:`forms-bridge/v1/${n}/jobs/${u}`}).then(a).catch(()=>t(Fs("Job config load error","forms-bridge"))),[n]),h=Fl(u=>u?.name?(e(!0),Nl({path:`forms-bridge/v1/${n}/jobs/${u.name}`,method:"POST",data:u}).then(d=>{s(d.name),a(d)}).catch(()=>t(Fs("Job submit error","forms-bridge"))).finally(()=>e(!1))):Promise.reject(),[n]),f=Fl(u=>u?(e(!0),Nl({path:`forms-bridge/v1/${n}/jobs/${u}`,method:"DELETE"}).then(d=>{d?.name?(s(d.name),a(d)):(a(null),s(null),O(l))}).catch(d=>{console.log(d),t(Fs("Job reset error","forms-bridge"))}).finally(()=>e(!1))):(t("error",Fs("Job reset error","forms-bridge")),Promise.resolve()),[n,l]);return React.createElement(Hl.Provider,{value:{job:r,setJob:s,config:o,submit:h,reset:f}},i)}function fn(){let{job:i,setJob:e}=Rd(Hl);return[i,e]}function un(){let{config:i,submit:e,reset:t}=Rd(Hl);return[i,e,t]}var Jl=wp.apiFetch,{createContext:mb,useContext:_d,useEffect:gb,useState:qd,useCallback:eO}=wp.element,{__:tO}=wp.i18n,iO=mb({template:null,setTemplate:()=>{},config:null,submit:()=>{},reset:()=>{}});function nO({children:i}){let[,e]=fe(),[,t]=N(),[n]=K(),[r,s]=qd(null),[o,a]=qd(null),[,l]=bt(),O=ot();gb(()=>{r?c(r):a(null)},[r]);let c=eO(u=>Jl({path:`forms-bridge/v1/${n}/templates/${u}`}).then(d=>{u&&a(d)}).catch(()=>t("error",tO("Template config load error","forms-bridge"))),[n]),h=eO(({fields:u,integration:d})=>r?(e(!0),Jl({path:`forms-bridge/v1/${n}/templates/${r}/use`,method:"POST",data:{integration:d,fields:u}}).then(({success:p})=>(p&&l().then(O),p)).catch(()=>t(tO("Template submit error","forms-bridge"))).finally(()=>e(!1))):Promise.reject(),[n,r]),f=eO(()=>r?(e(!0),Jl({path:`forms-bridge/v1/${n}/templates/${r}`,method:"DELETE"}).then(u=>{a(u||null)}).catch(()=>t(tO("Template reset error","forms-bridge"))).finally(()=>e(!1))):Promise.reject(),[n,r]);return React.createElement(iO.Provider,{value:{template:r,setTemplate:s,config:o,submit:h,reset:f}},i)}function Hs(){let{template:i,setTemplate:e}=_d(iO);return[i,e]}function Ee(){let{config:i,submit:e,reset:t}=_d(iO);return[i,e,t]}var{useMemo:$b}=wp.element,Cd={title:"",jobs:[],templates:[],bridges:[]};function Ks(){let[i]=K(),[e,t]=Nu();return[$b(()=>e[i]?{...Cd,...e[i]}:Cd,[e,i]),r=>t({[i]:r})]}function Js(){let[i,e]=Ks();return[i.bridges||[],t=>e({...i,bridges:t})]}function dn(){let[i,e]=Ks();return[i.jobs||[],t=>e({...i,jobs:t})]}function Wd(){let[i,e]=Ks();return[i.templates||[],t=>e({...i,templates:t})]}var{useMemo:yb}=wp.element;function pr(){let[i]=Js();return yb(()=>new Set(i.map(({name:e})=>e)),[i])}var Qb=wp.apiFetch,{createContext:Sb,useContext:bb,useRef:Zd,useState:Vd,useMemo:Ad,useEffect:xb}=wp.element,jd=Sb([]);function rO({children:i,bridge:e}){let[t]=K(),[n]=at(),[r,s]=Vd(!1),o=Zd(new Map).current,[,a]=Vd(0),l=Ad(()=>n.find(({name:d})=>e?.backend===d),[n,e]),O=Ad(()=>JSON.stringify({method:e?.method,endpoint:e?.endpoint,backend:l}),[e?.endpoint,e?.method,l]),c=(d,p)=>{o.set(d,p),a(m=>m+1)},h=(d,{endpoint:p,method:m},g)=>{s(!0),Qb({path:`forms-bridge/v1/${t}/backend/endpoint/schema`,method:"POST",data:{endpoint:p,method:m,backend:g}}).then(y=>c(d,y)).catch(()=>c(d,[])).finally(()=>s(!1))},f=Zd();xb(()=>{clearTimeout(f.current),!(!l||!e?.endpoint||r||o.get(O))&&(f.current=setTimeout(()=>h(O,e,l),400))},[O,e,l]);let u=o.get(O);return React.createElement(jd.Provider,{value:u},i)}function eo(){return bb(jd)||[]}var mr=new Map;function Y(i){if(typeof i!="object"||i===null)throw new Error("Input data isn't a valid object type");this.data=i}Y.isConditional=function(i){return(""+i).indexOf("?")===0};Y.parse=function(i){if(i=""+i,Y.isConditional(i)&&(i=i.slice(1)),mr.has(i))return mr.get(i).map(r=>r);let e=i.length,t=[],n="";for(let r=0;r<e;r++){let s=i[r];if(s===".")n.length&&(t.push(n),n="");else if(s==="["){for(n.length&&(t.push(n),n=""),r=r+1;i[r]!=="]"&&r<e;)n+=i[r],r+=1;if(n.length===0)n=1/0;else if(isNaN(n)){if(!/^"[^"]+"$/.test(n))return mr.set(i,[]),[];n=JSON.parse(n)}else n=+n;if(t.push(n),n="",i.length-1>r&&i[r+1]!=="."&&i[r+1]!=="[")return mr.set(i,[]),[]}else n+=s}return n&&t.push(n),mr.set(i,t),t.map(r=>r)};Y.sanitizeKey=function(i){return i===1/0?i="[]":+i==i?i=`[${i}]`:(i=i.trim(),/( |\.|")/.test(i)&&!/^\["[^"]+"\]$/.test(i)&&(i=`["${i}"]`)),i};Y.validate=function(i=""){return i=""+i,i.length?Y.parse(i).length>0:!1};Y.pointer=function(i,e=!1){if(!Array.isArray(i))return"";let t=i.reduce((n,r)=>(r===1/0?r="[]":+r==r?r=`[${r}]`:(r=Y.sanitizeKey(r),r[0]!=="["&&n.length>0&&(r="."+r)),n+r),"");return e?"?"+t:t};Y.prototype.getData=function(){return this.data};Y.prototype.get=function(i,e=[]){if(i=""+i,!i)return this.data;if(E(this.data,i))return this.data[i];if(i.indexOf("[]")!==-1)return this.getExpanded(i,e);let t=null;try{let n=Y.parse(i);t=this.data;for(let r of n){if(!E(t,r))return;t=t[r]}}catch{return null}return e.push(t),t};Y.prototype.getExpanded=function(i,e=[]){let t=/\[\]$/.test(i),n=i.split("[]"),r=n[0],s=n.slice(1).filter((O,c)=>O||c!==n.length-2).join("[]"),o;if(r)o=this.get(r);else{if(!Array.isArray(this.data))return[];o=this.data}if(!s.length||!Array.isArray(o))return o;let a=Object.isFrozen(o);o=[...o];let l=a?1:o.length;for(let O=0;O<l;O++)i=`${r}[${O}]${s}`,o[O]=this.get(i,e);return t?(a&&Object.freeze(e),e):(a&&Object.freeze(o),o)};Y.prototype.set=function(i,e,t=!1){if(E(this.data,i))return this.data[i]=e,this.data;if(i.indexOf("[]")!==-1)return this.setExpanded(i,e,t);let n=this.data,r=[];try{let s=Y.parse(i);if(s.length===1)return t?delete n[s[0]]:n[s[0]]=e,this.data=n,n;let o=n;for(let h=0;h<s.length-1;h++){if(!o||typeof o!="object")return n;let f=s[h];if(+f==f){if(!Array.isArray(o))return n;f=+f}if(!E(o,f)){let u=s[h+1]===void 0?"no-key":s[h+1];+u===u?o[f]=[]:o[f]={}}r.push({partial:o,key:f}),o=o[f]}let{partial:a,key:l}=r[r.length-1],O=s.pop(),c=Object.isFrozen(o);if(c&&(o=ul(o)),t){Array.isArray(o)?o.splice(O,1):o&&typeof o=="object"&&delete o[O],c&&(a[l]=Object.freeze(o));for(let h=r.length-1;h>=0;h--){let{partial:f,key:u}=r[h-1]||{},{partial:d,key:p}=r[h];if(Object.keys(d[p]).length)break;let m=Object.isFrozen(d);m&&(d=ul(d)),Array.isArray(d)?d.splice(p,1):delete d[p],m&&f&&(f[u]=Object.freeze(d))}}else o[O]=e,c&&(a[l]=Object.freeze(o))}catch(s){return console.error(s),this.data}return this.data=n,n};Y.prototype.setExpanded=function(i,e,t){let n=i.split("[]"),r=n[0],s=n.slice(1).filter((c,h)=>c||h<n.length-1).join("[]"),o=this.get(r);if(t){if(!Array.isArray(o))return s||this.unset(r),this.data;e=o}let a=Array.isArray(e);if(Array.isArray(o)||(a?o=[]:o=[e],this.set(r,o)),!a&&!t){let c=e;e=[];let h=o.length;for(let f=0;f<h;f++)e.push(JSON.parse(JSON.stringify(c)))}let l=Object.isFrozen(e),O=e.length-1;for(let c=O;c>=0;c--)i=`${r}[${c}]${s}`,t?this.unset(i):this.set(i,e[c]);return l&&!t&&(e=this.get(r),this.set(r,Object.freeze(e))),this.data};Y.prototype.unset=function(i){return E(this.data,i)?(+i==i?Array.isArray(this.data)&&this.data.splice(i,1):delete this.data[i],this.data):this.set(i,null,!0)};Y.prototype.isset=function(i){let e,t=Y.parse(i);switch(t.length){case 0:return!1;case 1:return e=t[0],E(this.data,e);default:e=t.pop();let n=Y.pointer(t),r=this.get(n);if(n.indexOf("[]")===-1)return e===1/0&&Array.isArray(r)?!0:E(r,e);if(!Array.isArray(r))return!1;if(e===1/0)return!0;for(let s of r)if(E(s,e))return!0;return!1}};function qi(i){if(!i)return{type:"null"};let e=Array.isArray(i)?"array":typeof i=="object"?"object":i;switch(e){case"array":return{type:"array",items:i.map(t=>qi(t)),additionalItems:Object.isFrozen(i)};case"object":return{type:"object",properties:Object.keys(i).reduce((t,n)=>(t[n]=qi(i[n]),t),{}),additionalProperties:!Object.isFrozen(i)};default:return{type:e}}}function gr(i,e){if(i.type==="object"){let t=Y.parse(e),n=Object.keys(i.properties).reduce((r,s)=>(r[s]=gr(i.properties[s],Y.pointer(t.concat(s))),r),{});return i.additionalProperties===!1&&Object.freeze(n),n}else if(i.type==="array"){let n=(Array.isArray(i.items)?i.items:[i.items]).map((r,s)=>gr(r,`${e}[${s}]`));return i.additionalItems===!0&&Object.freeze(n),n}return i.type}function pn(i,e=[]){if(!Array.isArray(e)||!e.length)return i;let t=new Y(i);for(let n of e){if(!(Y.validate(n.from)&&Y.validate(n.to)))continue;let s;if(t.isset(n.from))s=t.get(n.from);else{if(Y.isConditional(n.from))continue;s={type:"null"}}(n.cast!=="copy"&&n.from!==n.to||n.cast==="null")&&t.unset(n.from),n.cast!=="null"&&t.set(n.to,$r(s,n))}return t.data}function to(i){return Object.entries(i).map(([e,t])=>{let n=qi(t);return{name:e,label:e,schema:n}})}function mn(i){let e=new Y({});return i.forEach(({name:t,schema:n})=>{let r=Y.parse(t),s=Y.pointer(r);e.set(s,gr(n,s))}),e.data}function $r(i,e){if(e.from.indexOf("[]")!==-1)return vb(i,e);switch(e.cast){case"join":case"json":case"concat":case"csv":return"string";case"count":return"integer";case"sum":return"number";case"copy":case"inherit":return i;case"not":case"and":case"or":case"xor":return"boolean";default:return e.cast}}function vb(i,e){if(!Array.isArray(i))return[];let t=Object.isFrozen(i);if(t&&(i=[...i]),!(e.from.replace(/\[\]$/,"").indexOf("[]")!==-1))return i.map(a=>$r(a,{cast:e.cast,from:"",to:""}));let r=e.from.split("[]"),s=r[0],o=r.slice(1).filter((a,l)=>a||l<r.length-1).join("[]");for(let a=0;a<i.length;a++){let l=`${s}[${a}]${o}`;i[a]=$r(i[a],{from:l,to:"",cast:e.cast})}return t?Object.freeze(i):i}var wb={boolean:["integer","null"],integer:["number","boolean","null"],number:["integer","boolean","null"],string:["integer","number","boolean","null"],null:["integer","number","boolean","string","array","object"],array:["integer","number","boolean","string","null"],object:[]};function xt(i,e,t=!0){if(!i||!e)return!1;if(i.type!==e.type){if(t)return!1;if(wb[e.type]?.includes(i.type))if(e.type==="array"&&i.type!=="array")i={type:"array",items:[{type:i.type}]},i.items.type==="null"&&(i.items=[]);else return e.type;else return!1}let n;if(i.type==="object"){let r=Object.keys(i.properties||{}),s=Object.keys(e.properties||{});if(r>s&&e.additionalProperties===!1)return!1;if(e.additionalProperties)return!0;n=r.reduce((o,a)=>o&&(s.includes(a)?o&&xt(i[a],e[a],t):!1),!0)}else if(i.type==="array")if(Array.isArray(i.items))if(Array.isArray(e.items)){if(e.maxItems&&e.maxItems<i.items.length)return!1;n=i.items.reduce((r,s,o)=>r&&r&&xt(s,e.items[o]),!0)}else{if(i.maxItems&&e.items.length>i.maxItems)return!1;n=i.items.reduce((r,s)=>r&&r&&xt(s,i.items,t),!0)}else Array.isArray(e.items)?n=e.items.reduce((r,s)=>r&&r&&xt(i.items,s,t),!0):n=xt(i.items,e.items,t);return n}var Pb=wp.apiFetch,{createContext:kb,useContext:aO,useState:sO,useEffect:oO,useMemo:io,useRef:Tb}=wp.element,{__:yr}=wp.i18n,no=kb({jobs:[],isLoading:!1,step:0,setStep:()=>{},stage:[]});function zb(i,e){let t=new Set,n=new Set,r=new Set,s=new Set;return e?(e.input.filter(o=>o.required).forEach(o=>s.add(o.name)),Object.keys(i).forEach(o=>{if(s.has(o)){s.delete(o);let a=qi(i[o]),l=e.input.find(c=>c.name===o),O=xt(a,l.schema,!1);O&&O!==!0&&n.add(o)}}),Array.from(s).length?[i,{missing:s,exit:t,enter:r,mutated:n}]:(e.output.forEach(o=>{if((Array.isArray(o.requires)?o.requires.filter(h=>!E(i,h)):[]).length)return;let l=e.input.find(h=>h.name===o.name),O=E(i,o.name),c=!1;l?(xt(l.schema,o.schema)||(n.add(o.name),c=!0),O||(r.add(o.name),c=!0)):(c=!0,r.add(o.name)),c&&(i[o.name]=gr(o.schema))}),e.input.forEach(o=>{let a=E(i,o.name);!e.output.find(O=>O.name===o.name)&&a&&(delete i[o.name],t.add(o.name))}),[i,{missing:s,enter:r,exit:t,mutated:n}])):[i,{exit:t,mutated:n,enter:r,missing:s}]}function Qr({children:i,formId:e,includeFiles:t,customFields:n=[],mutations:r=[],workflow:s=[]}){let[o]=K(),[,a]=N(),[l]=un(),[O,c]=sO(!1),[h,f]=sO(0),[u,d]=sO([]),p=Tb(),m=v=>(p.current&&(p.current.abort(),p.current=null),!o||!v.length?Promise.resolve([]):(p.current=new AbortController,c(!0),Pb({path:`forms-bridge/v1/${o}/jobs/workflow`,method:"POST",data:{jobs:v},signal:p.current.signal}).catch(Q=>{if(Q.name==="AbortError"){p.current=null;return}return a(yr("Loading workflow job error","forms-bridge")),[]}).finally(()=>{p.current=null,c(!1)}))),[g]=bt(),y=io(()=>g.find(v=>v._id===e),[g,e]);oO(()=>{p.current&&(p.current.abort(),p.current=null),d([])},[o]),oO(()=>{if(!s.length){u.length&&d([]);return}let v=s.filter(Q=>u.find(w=>w.name===Q)===void 0).reduce((Q,w)=>(Q.includes(w)||Q.push(w),Q),[]);if(v.length)m(v).then(Q=>{Q!==void 0&&(Q=u.filter(w=>s.indexOf(w.name)!==-1).concat(Q).sort((w,k)=>s.indexOf(w.name)-s.indexOf(k.name)),d(Q))});else{let Q=s.map(w=>u.find(k=>k.name===w));Q.length<u.length&&d(Q)}},[u,s]);let S=io(()=>{let v=s.map(Q=>u.find(w=>w.name===Q)).filter(Q=>Q).map(Q=>({...Q}));return[{name:"form-job",title:yr("Form submission","forms-bridge"),description:yr("Form submission after mappers has been applied","forms-bridge"),mappers:r[0]||[],input:[],output:[]}].concat(v.map((Q,w)=>({...Q,mappers:r[w+1]||[]}))).concat([{name:"output-job",title:yr("Output payload","forms-bridge"),description:yr("Workflow output payload","forms-bridge"),mappers:[],input:[],output:[]}])},[s,r,u]),x=io(()=>y?y.fields.filter(({is_file:v})=>t||!v).reduce((v,{name:Q,label:w,is_file:k,schema:A})=>(t&&k?(v.push({name:Q,label:w,schema:{type:"string"}}),v.push({name:Q+"_filename",label:Q+"_filename",schema:{type:"string"}})):v.push({name:Q,label:w,schema:A}),v),[]).concat(n.map(({name:v})=>({name:v,label:v,schema:{type:"string"}}))):[],[y,n,t]),b=io(()=>{let v=mn(x),Q,w;for(w=0;w<=h;w++)Q?.missing&&!Array.from(Q.missing).length&&(v=pn(v,S[w-1]?.mappers||[])),[v,Q]=zb(v,S[w]);let k=to(v);return S[w-1]?.name==="form-job"&&k.forEach(A=>Q.enter.add(A.name)),[k,Q]},[h,S,x]);return oO(()=>{if(!l?.name)return;let v=s.findIndex(k=>l.name===k);if(v===-1)return;let Q={...S[v+1]};delete Q.mappers,Se(l,Q)&&m([l.name]).then(k=>{k!==void 0&&(k=u.slice(0,v).concat(k).concat(u.slice(v+1,u.lenght)),d(k))})},[l,u,S]),React.createElement(no.Provider,{value:{jobs:u,workflow:S,isLoading:O,step:h,setStep:f,stage:b}},i)}function gn(){let{stage:i}=aO(no);return i}function Dt(){let{step:i,setStep:e,workflow:t=[]}=aO(no);return[i,e,t.length-1]}function ro(){let{step:i,workflow:e,isLoading:t}=aO(no);if(!t)return e?.[i]}var{useState:Xb}=wp.element,{Popover:Rb}=wp.components;function $n({title:i,tags:e,onChange:t,onFocusOutside:n}){let[r,s]=Xb(0);return React.createElement(Rb,{onFocusOutside:n,offset:5,placement:"bottom-start"},React.createElement("div",{style:{position:"relative",paddingTop:"2.6em",maxHeight:"350px"}},React.createElement("label",{htmlFor:"bridge-tags-list",style:{position:"fixed",top:"0px",left:"0px",width:"100%",padding:"0.5em 0.75em",borderBottom:"1px solid",backgroundColor:"white"}},React.createElement("strong",null,i)),React.createElement("ul",{id:"bridge-tags-list",style:{width:"max-content",height:"100%",overflowY:"auto",margin:0}},e.map(({label:o,value:a},l)=>React.createElement("li",{key:o,style:{padding:"0.5em 1em",cursor:"pointer"},tabIndex:"0",role:"button",onKeyDown:O=>{r===l&&O.key==="Enter"&&(O.stopPropagation(),O.preventDefault(),t(a))},onFocus:()=>s(l),onClick:O=>{O.preventDefault(),O.stopPropagation(),t(a)}},o)))))}var{BaseControl:qb,TextControl:_b,Button:so}=wp.components,{useEffect:Yd,useState:Ud,useRef:Md,useMemo:Cb}=wp.element,{__:J}=wp.i18n,Wb=[{label:J("Submission ID","forms-bridge"),value:"$submission_id"},{label:J("Form ID","forms-bridge"),value:"$form_id"},{label:J("Form title","forms-bridge"),value:"$form_title"},{label:J("Site title","forms-bridge"),value:"$site_site"},{label:J("Site description","forms-bridge"),value:"$site_description"},{label:J("Site URL","forms-bridge"),value:"$site_url"},{label:J("Blog URL","forms-bridge"),value:"$blog_url"},{label:J("Admin email","forms-bridge"),value:"$admin_email"},{label:J("WP Version","forms-bridge"),value:"$wp_version"},{label:J("IP address","forms-bridge"),value:"$ip_address"},{label:J("Referer","forms-bridge"),value:"$referer"},{label:J("User agent","forms-bridge"),value:"$user_agent"},{label:J("Browser locale","forms-bridge"),value:"$browser_locale"},{label:J("Page locale","forms-bridge"),value:"$locale"},{label:J("Page language","forms-bridge"),value:"$language"},{label:J("Datetime","forms-bridge"),value:"$datetime"},{label:J("GMT Datetime","forms-bridge"),value:"$gmt_datetime"},{label:J("ISO Date","forms-bridge"),value:"$iso_date"},{label:J("ISO GMT Date","forms-bridge"),value:"$gmt_iso_date"},{label:J("UTC Date","forms-bridge"),value:"$utc_date"},{label:J("Timestamp","forms-bridge"),value:"$timestamp"},{label:J("User ID","forms-bridge"),value:"$user_id"},{label:J("user_login","forms-bridge"),value:"$user_login"},{label:J("User name","forms-bridge"),value:"$user_name"},{label:J("User email","forms-bridge"),value:"$user_email"}],Zb=`.scrollbar-hide {8 `;e.scope&&(u+=`<input name="scope" value="${e.scope}" />`),f.innerHTML=u,f.style.visibility="hidden",document.body.appendChild(f),f.submit(),document.body.removeChild(f)}).catch(()=>s("")).finally(()=>n(!1))};return a?React.createElement(Rd,{onClick:l,variant:"secondary",isDestructive:!0,disabled:t||r,style:{justifyContent:"center",marginLeft:"auto"},__next40pxDefaultSize:!0},_d("Revoke","forms-bridge")):React.createElement(Rd,{variant:"primary",onClick:c,disabled:t||r,style:{justifyContent:"center",marginLeft:"auto"},__next40pxDefaultSize:!0},_d("Authorize","forms-bridge"))}var{Button:Cd}=wp.components,{useState:Ob,useEffect:Bl,useMemo:dr,useRef:Il,useCallback:cb}=wp.element,{__:Hs}=wp.i18n;function Nl({addon:i,data:e,update:t,remove:n,schema:r,copy:s}){let o=ze(780),[a]=fe(),l=Il(e.name),[c,O]=Ob({...e}),h=dr(()=>r.oneOf.find(x=>x.properties.schema.const===c.schema||x.properties.schema.enum?.includes(c.schema)),[c.schema]),[f]=li(),u=dr(()=>new Set(f.map(x=>x.name)),[f]),d=dr(()=>!c.name||l.current.trim()===c.name.trim()?!1:l.current!==c.name&&u.has(c.name.trim()),[u,c.name]),p=cb(x=>!!Object.keys(h.properties).filter(Q=>!fr.includes(Q)).reduce((Q,w)=>{if(!Q||!h.required.includes(w))return Q;let k=x[w];return h.properties[w].pattern&&(Q=Q&&new RegExp(h.properties[w].pattern).test(k)),Q&&(k||E(h.properties[w],"default"))},!0),[h]),m=dr(()=>p(c),[p,c,d]),g=dr(()=>!!e.refresh_token,[e]),y=Il();Bl(()=>{clearTimeout(y.current),m&&(e.name!==c.name?y.current=setTimeout(()=>{l.current=c.name,t({...c})},1e3):Se(e,c)&&t({...c}))},[m,c]),Bl(()=>{e.name!==l.current&&(l.current=e.name,O(e))},[e.name]);let S=Il(!1);Bl(()=>(!a&&S.current&&Se(e,c)&&O(e),()=>{S.current=a}),[a,e,c]);let v=()=>{let x={...e};fr.forEach(Q=>delete x[Q]),sn(x,x.name+" credential config")},b=!!h.properties.refresh_token;return React.createElement("div",{style:{padding:"calc(24px) calc(32px)",width:"calc(100% - 64px)",backgroundColor:"rgb(245, 245, 245)",display:"flex",flexDirection:o?"column":"row",gap:"2rem"}},React.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"0.5rem"}},React.createElement(ur,{disabled:g,data:c,setData:O,schema:h,schemas:r,errors:{name:d?Hs("This name is already in use","forms-bridge"):!1}}),React.createElement("div",{style:{marginTop:"0.5rem",display:"flex",gap:"0.5rem"}},React.createElement(Ut,{label:Hs("Delete","forms-bridge"),onClick:()=>n(e),icon:!0}),React.createElement(Cd,{variant:"tertiary",style:{height:"40px",width:"40px",justifyContent:"center",fontSize:"1.5em",border:"1px solid",padding:"6px 6px"},onClick:s,label:Hs("Duplaicate","forms-bridge"),showTooltip:!0,__next40pxDefaultSize:!0},React.createElement(Mt,{width:"25",height:"25",color:"var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))"})),React.createElement(Cd,{size:"compact",variant:"tertiary",style:{height:"40px",width:"40px",justifyContent:"center",fontSize:"1.5em",border:"1px solid",color:"gray"},onClick:v,__next40pxDefaultSize:!0,label:Hs("Download bridge config","forms-bridge"),showTooltip:!0},React.createElement(zi,{width:"12",height:"20",color:"gray"})),b&&React.createElement(Gl,{addon:i,data:e})||null)))}var{Button:Wd}=wp.components,{useState:hb,useMemo:Ks,useCallback:Zd}=wp.element,{__:hn}=wp.i18n;function Fl({add:i,schema:e}){let t=ze(780),[n,r]=N(),[s,o]=hb({schema:"Basic"}),a=Ks(()=>e.oneOf.find(p=>p.properties.schema.const===s.schema||p.properties.schema.enum?.includes(s.schema)),[s.schema]),[l]=li(),c=Ks(()=>new Set(l.map(p=>p.name)),[l]),O=Ks(()=>s.name?c.has(s.name.trim()):!1,[c,s.name]),h=()=>{let p={...s,name:s.name.trim()};Object.keys(a.properties).forEach(m=>{a.required.includes(m)&&!p[m]&&(p[m]=a.properties[m].default)}),window.__wpfbInvalidated=!0,o({}),i(p)},f=Zd(p=>!!Object.keys(a.properties).filter(m=>!fr.includes(m)).filter(m=>!["access_token","expires_at"].includes(m)).reduce((m,g)=>{if(!m||!a.required.includes(g))return m;let y=p[g];return a.properties[g].pattern&&(m=m&&new RegExp(a.properties[g].pattern).test(y)),m&&(y||E(a.properties[g],"default"))},!0),[a]),u=Ks(()=>f(s),[s]),d=Zd(()=>{oi().then(p=>{if(!f(p)){r(hn("Invalid credential config","forms-bridge"));return}let g=1;for(;c.has(p.name);)p.name=p.name.replace(/ \([0-9]+\)/,"")+` (${g})`,g++;i(p)}).catch(p=>{p?.name==="SyntaxError"?r(hn("JSON syntax error","forms-bridge")):r(hn("An error has ocurred while uploading the credential config","forms-bridge"))})},[c]);return React.createElement("div",{style:{padding:"calc(24px) calc(32px)",width:"calc(100% - 64px)",backgroundColor:"rgb(245, 245, 245)",display:"flex",flexDirection:t?"column":"row",gap:"2rem"}},React.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"0.5rem"}},React.createElement(ur,{data:s,setData:o,schema:a,schemas:e,errors:{name:O?hn("This name is already in use","forms-bridge"):!1}}),React.createElement("div",{style:{marginTop:"0.5rem",display:"flex",gap:"0.5rem"}},React.createElement(Wd,{variant:"primary",onClick:h,style:{width:"100px",justifyContent:"center"},disabled:!u||O,__next40pxDefaultSize:!0},hn("Add","forms-bridge")),React.createElement(Wd,{variant:"tertiary",size:"compact",style:{width:"40px",height:"40px",justifyContent:"center",fontSize:"1.5em",border:"1px solid",color:"grey"},disabled:!!n,onClick:d,__next40pxDefaultSize:!0,label:hn("Upload","forms-bridge"),showTooltip:!0},React.createElement(Et,{width:"12",height:"20",color:"gray"})))))}var{useEffect:fb,useRef:ub,useMemo:db}=wp.element,{PanelBody:pb,TabPanel:mb}=wp.components,{__:Hl}=wp.i18n,gb=`.credentials-tabs-panel .components-tab-panel__tabs{overflow-x:auto;} 9 .credentials-tabs-panel .components-tab-panel__tabs>button{flex-shrink:0;}`;function Kl({credentials:i,setCredentials:e}){let[t]=K(),{credential:n}=ri(),r=db(()=>new Set(i.map(O=>O.name)),[i]),s=i.map(({name:O},h)=>({index:h,name:String(h),title:O,icon:React.createElement(Xi,{name:O})})).concat([{index:-1,name:"new",title:Hl("Add a credential","forms-bridge"),icon:React.createElement("div",{style:{marginBottom:"-2px"}},React.createElement(Ri,{width:"15",height:"15"}))}]),o=(O,h)=>{O===-1&&(O=i.length),h.name=h.name.trim();let f=i.slice(0,O).concat([h]).concat(i.slice(O+1,i.length));e(f)},a=({name:O})=>{let h=i.findIndex(u=>u.name===O),f=i.slice(0,h).concat(i.slice(h+1));e(f)},l=O=>{let h=i.findIndex(d=>d.name===O),u={...i[h]};for(u.name=u.name.trim();r.has(u.name);)u.name+="-copy";window.__wpfbInvalidated=!0,e(i.concat(u))},c=ub(document.createElement("style"));if(fb(()=>(c.current.appendChild(document.createTextNode(gb)),document.head.appendChild(c.current),()=>{document.head.removeChild(c.current)}),[]),!!n)return React.createElement(pb,{title:Hl("Authentication","forms-bridge"),initialOpen:!1},React.createElement("div",{style:{width:"100%"}},React.createElement("p",null,Hl("HTTP authentication credentials","forms-bridge")),React.createElement(mb,{tabs:s,className:"credentials-tabs-panel"},O=>{let h=i[O.index];return h?React.createElement(Nl,{addon:t,data:h,schema:n,remove:a,update:f=>o(O.index,f),copy:()=>l(h.name)}):React.createElement(Fl,{add:f=>o(O.index,f),schema:n})})))}var{useEffect:$b}=wp.element,{__experimentalSpacer:yb}=wp.components;function Jl(){let[{backends:i=[],credentials:e=[]},t]=md(),n=r=>{t({backends:i,credentials:e,...r})};return $b(()=>{let r=document.querySelector("#http .addon-logo");r&&r.removeAttribute("src")},[]),React.createElement(React.Fragment,null,React.createElement(jl,{backends:i,setBackends:r=>n({backends:r})}),React.createElement(yb,{paddingY:"calc(8px)"}),React.createElement(Kl,{credentials:e,setCredentials:r=>n({credentials:r})}))}var eO=wp.apiFetch,{createContext:Qb,useContext:jd,useEffect:Vd,useState:Ad,useCallback:tO}=wp.element,{__:Js}=wp.i18n,iO=Qb({job:null,setJob:()=>{},config:null,submit:()=>{},reset:()=>{}});function nO({children:i}){let[,e]=fe(),[,t]=N(),[n]=K(),[r,s]=Ad(null),[o,a]=Ad(null),[l,c]=an();Vd(()=>{s(null)},[n]),Vd(()=>(r&&O(r),()=>{a(null)}),[r]);let O=tO(u=>eO({path:`forms-bridge/v1/${n}/jobs/${u}`}).then(a).catch(()=>t(Js("Job config load error","forms-bridge"))),[n]),h=tO(u=>u?.name?(e(!0),eO({path:`forms-bridge/v1/${n}/jobs/${u.name}`,method:"POST",data:u}).then(d=>{s(d.name),a(d)}).catch(()=>t(Js("Job submit error","forms-bridge"))).finally(()=>e(!1))):Promise.reject(),[n]),f=tO(u=>u?(e(!0),eO({path:`forms-bridge/v1/${n}/jobs/${u}`,method:"DELETE"}).then(d=>{d?.name?(s(d.name),a(d)):(a(null),s(null),c(l))}).catch(d=>{console.log(d),t(Js("Job reset error","forms-bridge"))}).finally(()=>e(!1))):(t("error",Js("Job reset error","forms-bridge")),Promise.resolve()),[n,l]);return React.createElement(iO.Provider,{value:{job:r,setJob:s,config:o,submit:h,reset:f}},i)}function fn(){let{job:i,setJob:e}=jd(iO);return[i,e]}function un(){let{config:i,submit:e,reset:t}=jd(iO);return[i,e,t]}var rO=wp.apiFetch,{createContext:Sb,useContext:Ud,useEffect:bb,useState:Yd,useCallback:sO}=wp.element,{__:oO}=wp.i18n,aO=Sb({template:null,setTemplate:()=>{},config:null,submit:()=>{},reset:()=>{}});function lO({children:i}){let[,e]=fe(),[,t]=N(),[n]=K(),[r,s]=Yd(null),[o,a]=Yd(null),[,l]=bt(),c=ot();bb(()=>{r?O(r):a(null)},[r]);let O=sO(u=>rO({path:`forms-bridge/v1/${n}/templates/${u}`}).then(d=>{u&&a(d)}).catch(()=>t("error",oO("Template config load error","forms-bridge"))),[n]),h=sO(({fields:u,integration:d})=>r?(e(!0),rO({path:`forms-bridge/v1/${n}/templates/${r}/use`,method:"POST",data:{integration:d,fields:u}}).then(({success:p})=>(p&&l().then(c),p)).catch(()=>t(oO("Template submit error","forms-bridge"))).finally(()=>e(!1))):Promise.reject(),[n,r]),f=sO(()=>r?(e(!0),rO({path:`forms-bridge/v1/${n}/templates/${r}`,method:"DELETE"}).then(u=>{a(u||null)}).catch(()=>t(oO("Template reset error","forms-bridge"))).finally(()=>e(!1))):Promise.reject(),[n,r]);return React.createElement(aO.Provider,{value:{template:r,setTemplate:s,config:o,submit:h,reset:f}},i)}function eo(){let{template:i,setTemplate:e}=Ud(aO);return[i,e]}function Ee(){let{config:i,submit:e,reset:t}=Ud(aO);return[i,e,t]}var{useMemo:xb}=wp.element,Md={title:"",jobs:[],templates:[],bridges:[]};function to(){let[i]=K(),[e,t]=Ju();return[xb(()=>e[i]?{...Md,...e[i]}:Md,[e,i]),r=>t({[i]:r})]}function io(){let[i,e]=to();return[i.bridges||[],t=>e({...i,bridges:t})]}function dn(){let[i,e]=to();return[i.jobs||[],t=>e({...i,jobs:t})]}function Ed(){let[i,e]=to();return[i.templates||[],t=>e({...i,templates:t})]}var{useMemo:vb}=wp.element;function pr(){let[i]=io();return vb(()=>new Set(i.map(({name:e})=>e)),[i])}var mr=new Map;function Y(i){if(typeof i!="object"||i===null)throw new Error("Input data isn't a valid object type");this.data=i}Y.isConditional=function(i){return(""+i).indexOf("?")===0};Y.parse=function(i){if(i=""+i,Y.isConditional(i)&&(i=i.slice(1)),mr.has(i))return mr.get(i).map(r=>r);let e=i.length,t=[],n="";for(let r=0;r<e;r++){let s=i[r];if(s===".")n.length&&(t.push(n),n="");else if(s==="["){for(n.length&&(t.push(n),n=""),r=r+1;i[r]!=="]"&&r<e;)n+=i[r],r+=1;if(n.length===0)n=1/0;else if(isNaN(n)){if(!/^"[^"]+"$/.test(n))return mr.set(i,[]),[];n=JSON.parse(n)}else n=+n;if(t.push(n),n="",i.length-1>r&&i[r+1]!=="."&&i[r+1]!=="[")return mr.set(i,[]),[]}else n+=s}return n&&t.push(n),mr.set(i,t),t.map(r=>r)};Y.sanitizeKey=function(i){return i===1/0?i="[]":+i==i?i=`[${i}]`:(i=i.trim(),/( |\.|")/.test(i)&&!/^\["[^"]+"\]$/.test(i)&&(i=`["${i}"]`)),i};Y.validate=function(i=""){return i=""+i,i.length?Y.parse(i).length>0:!1};Y.pointer=function(i,e=!1){if(!Array.isArray(i))return"";let t=i.reduce((n,r)=>(r===1/0?r="[]":+r==r?r=`[${r}]`:(r=Y.sanitizeKey(r),r[0]!=="["&&n.length>0&&(r="."+r)),n+r),"");return e?"?"+t:t};Y.prototype.getData=function(){return this.data};Y.prototype.get=function(i,e=[]){if(i=""+i,!i)return this.data;if(E(this.data,i))return this.data[i];if(i.indexOf("[]")!==-1)return this.getExpanded(i,e);let t=null;try{let n=Y.parse(i);t=this.data;for(let r of n){if(!E(t,r))return;t=t[r]}}catch{return null}return e.push(t),t};Y.prototype.getExpanded=function(i,e=[]){let t=/\[\]$/.test(i),n=i.split("[]"),r=n[0],s=n.slice(1).filter((c,O)=>c||O!==n.length-2).join("[]"),o;if(r)o=this.get(r);else{if(!Array.isArray(this.data))return[];o=this.data}if(!s.length||!Array.isArray(o))return o;let a=Object.isFrozen(o);o=[...o];let l=a?1:o.length;for(let c=0;c<l;c++)i=`${r}[${c}]${s}`,o[c]=this.get(i,e);return t?(a&&Object.freeze(e),e):(a&&Object.freeze(o),o)};Y.prototype.set=function(i,e,t=!1){if(E(this.data,i))return this.data[i]=e,this.data;if(i.indexOf("[]")!==-1)return this.setExpanded(i,e,t);let n=this.data,r=[];try{let s=Y.parse(i);if(s.length===1)return t?delete n[s[0]]:n[s[0]]=e,this.data=n,n;let o=n;for(let h=0;h<s.length-1;h++){if(!o||typeof o!="object")return n;let f=s[h];if(+f==f){if(!Array.isArray(o))return n;f=+f}if(!E(o,f)){let u=s[h+1]===void 0?"no-key":s[h+1];+u===u?o[f]=[]:o[f]={}}r.push({partial:o,key:f}),o=o[f]}let{partial:a,key:l}=r[r.length-1],c=s.pop(),O=Object.isFrozen(o);if(O&&(o=pl(o)),t){Array.isArray(o)?o.splice(c,1):o&&typeof o=="object"&&delete o[c],O&&(a[l]=Object.freeze(o));for(let h=r.length-1;h>=0;h--){let{partial:f,key:u}=r[h-1]||{},{partial:d,key:p}=r[h];if(Object.keys(d[p]).length)break;let m=Object.isFrozen(d);m&&(d=pl(d)),Array.isArray(d)?d.splice(p,1):delete d[p],m&&f&&(f[u]=Object.freeze(d))}}else o[c]=e,O&&(a[l]=Object.freeze(o))}catch(s){return console.error(s),this.data}return this.data=n,n};Y.prototype.setExpanded=function(i,e,t){let n=i.split("[]"),r=n[0],s=n.slice(1).filter((O,h)=>O||h<n.length-1).join("[]"),o=this.get(r);if(t){if(!Array.isArray(o))return s||this.unset(r),this.data;e=o}let a=Array.isArray(e);if(Array.isArray(o)||(a?o=[]:o=[e],this.set(r,o)),!a&&!t){let O=e;e=[];let h=o.length;for(let f=0;f<h;f++)e.push(JSON.parse(JSON.stringify(O)))}let l=Object.isFrozen(e),c=e.length-1;for(let O=c;O>=0;O--)i=`${r}[${O}]${s}`,t?this.unset(i):this.set(i,e[O]);return l&&!t&&(e=this.get(r),this.set(r,Object.freeze(e))),this.data};Y.prototype.unset=function(i){return E(this.data,i)?(+i==i?Array.isArray(this.data)&&this.data.splice(i,1):delete this.data[i],this.data):this.set(i,null,!0)};Y.prototype.isset=function(i){let e,t=Y.parse(i);switch(t.length){case 0:return!1;case 1:return e=t[0],E(this.data,e);default:e=t.pop();let n=Y.pointer(t),r=this.get(n);if(n.indexOf("[]")===-1)return e===1/0&&Array.isArray(r)?!0:E(r,e);if(!Array.isArray(r))return!1;if(e===1/0)return!0;for(let s of r)if(E(s,e))return!0;return!1}};function qi(i){if(!i)return{type:"null"};let e=Array.isArray(i)?"array":typeof i=="object"?"object":i;switch(e){case"array":return{type:"array",items:i.map(t=>qi(t)),additionalItems:Object.isFrozen(i)};case"object":return{type:"object",properties:Object.keys(i).reduce((t,n)=>(t[n]=qi(i[n]),t),{}),additionalProperties:!Object.isFrozen(i)};default:return{type:e}}}function gr(i,e){if(i.type==="object"){let t=Y.parse(e),n=Object.keys(i.properties).reduce((r,s)=>(r[s]=gr(i.properties[s],Y.pointer(t.concat(s))),r),{});return i.additionalProperties===!1&&Object.freeze(n),n}else if(i.type==="array"){let n=(Array.isArray(i.items)?i.items:[i.items]).map((r,s)=>gr(r,`${e}[${s}]`));return i.additionalItems===!0&&Object.freeze(n),n}return i.type}function pn(i,e=[]){if(!Array.isArray(e)||!e.length)return i;let t=new Y(i);for(let n of e){if(!(Y.validate(n.from)&&Y.validate(n.to)))continue;let s;if(t.isset(n.from))s=t.get(n.from);else{if(Y.isConditional(n.from))continue;s={type:"null"}}(n.cast!=="copy"&&n.from!==n.to||n.cast==="null")&&t.unset(n.from),n.cast!=="null"&&t.set(n.to,$r(s,n))}return t.data}function no(i){return Object.entries(i).map(([e,t])=>{let n=qi(t);return{name:e,label:e,schema:n}})}function mn(i){let e=new Y({});return i.forEach(({name:t,schema:n})=>{let r=Y.parse(t),s=Y.pointer(r);e.set(s,gr(n,s))}),e.data}function $r(i,e){if(e.from.indexOf("[]")!==-1)return wb(i,e);switch(e.cast){case"join":case"json":case"concat":case"csv":return"string";case"count":return"integer";case"sum":return"number";case"copy":case"inherit":return i;case"not":case"and":case"or":case"xor":return"boolean";default:return e.cast}}function wb(i,e){if(!Array.isArray(i))return[];let t=Object.isFrozen(i);if(t&&(i=[...i]),!(e.from.replace(/\[\]$/,"").indexOf("[]")!==-1))return i.map(a=>$r(a,{cast:e.cast,from:"",to:""}));let r=e.from.split("[]"),s=r[0],o=r.slice(1).filter((a,l)=>a||l<r.length-1).join("[]");for(let a=0;a<i.length;a++){let l=`${s}[${a}]${o}`;i[a]=$r(i[a],{from:l,to:"",cast:e.cast})}return t?Object.freeze(i):i}var Pb={boolean:["integer","null"],integer:["number","boolean","null"],number:["integer","boolean","null"],string:["integer","number","boolean","null"],null:["integer","number","boolean","string","array","object"],array:["integer","number","boolean","string","null"],object:[]};function xt(i,e,t=!0){if(!i||!e)return!1;if(i.type!==e.type){if(t)return!1;if(Pb[e.type]?.includes(i.type))if(e.type==="array"&&i.type!=="array")i={type:"array",items:[{type:i.type}]},i.items.type==="null"&&(i.items=[]);else return e.type;else return!1}let n;if(i.type==="object"){let r=Object.keys(i.properties||{}),s=Object.keys(e.properties||{});if(r>s&&e.additionalProperties===!1)return!1;if(e.additionalProperties)return!0;n=r.reduce((o,a)=>o&&(s.includes(a)?o&&xt(i[a],e[a],t):!1),!0)}else if(i.type==="array")if(Array.isArray(i.items))if(Array.isArray(e.items)){if(e.maxItems&&e.maxItems<i.items.length)return!1;n=i.items.reduce((r,s,o)=>r&&r&&xt(s,e.items[o]),!0)}else{if(i.maxItems&&e.items.length>i.maxItems)return!1;n=i.items.reduce((r,s)=>r&&r&&xt(s,i.items,t),!0)}else Array.isArray(e.items)?n=e.items.reduce((r,s)=>r&&r&&xt(i.items,s,t),!0):n=xt(i.items,e.items,t);return n}var kb=wp.apiFetch,{createContext:Tb,useContext:hO,useState:OO,useEffect:cO,useMemo:ro,useRef:zb}=wp.element,{__:yr}=wp.i18n,so=Tb({jobs:[],isLoading:!1,step:0,setStep:()=>{},stage:[]});function Xb(i,e){let t=new Set,n=new Set,r=new Set,s=new Set;return e?(e.input.filter(o=>o.required).forEach(o=>s.add(o.name)),Object.keys(i).forEach(o=>{if(s.has(o)){s.delete(o);let a=qi(i[o]),l=e.input.find(O=>O.name===o),c=xt(a,l.schema,!1);c&&c!==!0&&n.add(o)}}),Array.from(s).length?[i,{missing:s,exit:t,enter:r,mutated:n}]:(e.output.forEach(o=>{if((Array.isArray(o.requires)?o.requires.filter(h=>!E(i,h)):[]).length)return;let l=e.input.find(h=>h.name===o.name),c=E(i,o.name),O=!1;l?(xt(l.schema,o.schema)||(n.add(o.name),O=!0),c||(r.add(o.name),O=!0)):(O=!0,r.add(o.name)),O&&(i[o.name]=gr(o.schema))}),e.input.forEach(o=>{let a=E(i,o.name);!e.output.find(c=>c.name===o.name)&&a&&(delete i[o.name],t.add(o.name))}),[i,{missing:s,enter:r,exit:t,mutated:n}])):[i,{exit:t,mutated:n,enter:r,missing:s}]}function Qr({children:i,formId:e,includeFiles:t,customFields:n=[],mutations:r=[],workflow:s=[]}){let[o]=K(),[,a]=N(),[l]=un(),[c,O]=OO(!1),[h,f]=OO(0),[u,d]=OO([]),p=zb(),m=x=>(p.current&&(p.current.abort(),p.current=null),!o||!x.length?Promise.resolve([]):(p.current=new AbortController,O(!0),kb({path:`forms-bridge/v1/${o}/jobs/workflow`,method:"POST",data:{jobs:x},signal:p.current.signal}).catch(Q=>{if(Q.name==="AbortError"){p.current=null;return}return a(yr("Loading workflow job error","forms-bridge")),[]}).finally(()=>{p.current=null,O(!1)}))),[g]=bt(),y=ro(()=>g.find(x=>x._id===e),[g,e]);cO(()=>{p.current&&(p.current.abort(),p.current=null),d([])},[o]),cO(()=>{if(!s.length){u.length&&d([]);return}let x=s.filter(Q=>u.find(w=>w.name===Q)===void 0).reduce((Q,w)=>(Q.includes(w)||Q.push(w),Q),[]);if(x.length)m(x).then(Q=>{Q!==void 0&&(Q=u.filter(w=>s.indexOf(w.name)!==-1).concat(Q).sort((w,k)=>s.indexOf(w.name)-s.indexOf(k.name)),d(Q))});else{let Q=s.map(w=>u.find(k=>k.name===w));Q.length<u.length&&d(Q)}},[u,s]);let S=ro(()=>{let x=s.map(Q=>u.find(w=>w.name===Q)).filter(Q=>Q).map(Q=>({...Q}));return[{name:"form-job",title:yr("Form submission","forms-bridge"),description:yr("Form submission after mappers has been applied","forms-bridge"),mappers:r[0]||[],input:[],output:[]}].concat(x.map((Q,w)=>({...Q,mappers:r[w+1]||[]}))).concat([{name:"output-job",title:yr("Output payload","forms-bridge"),description:yr("Workflow output payload","forms-bridge"),mappers:[],input:[],output:[]}])},[s,r,u]),v=ro(()=>y?y.fields.filter(({is_file:x})=>t||!x).reduce((x,{name:Q,label:w,is_file:k,schema:A})=>(t&&k?(x.push({name:Q,label:w,schema:{type:"string"}}),x.push({name:Q+"_filename",label:Q+"_filename",schema:{type:"string"}})):x.push({name:Q,label:w,schema:A}),x),[]).concat(n.map(({name:x})=>({name:x,label:x,schema:{type:"string"}}))):[],[y,n,t]),b=ro(()=>{let x=mn(v),Q,w;for(w=0;w<=h;w++)Q?.missing&&!Array.from(Q.missing).length&&(x=pn(x,S[w-1]?.mappers||[])),[x,Q]=Xb(x,S[w]);let k=no(x);return S[w-1]?.name==="form-job"&&k.forEach(A=>Q.enter.add(A.name)),[k,Q]},[h,S,v]);return cO(()=>{if(!l?.name)return;let x=s.findIndex(k=>l.name===k);if(x===-1)return;let Q={...S[x+1]};delete Q.mappers,Se(l,Q)&&m([l.name]).then(k=>{k!==void 0&&(k=u.slice(0,x).concat(k).concat(u.slice(x+1,u.lenght)),d(k))})},[l,u,S]),React.createElement(so.Provider,{value:{jobs:u,workflow:S,isLoading:c,step:h,setStep:f,stage:b}},i)}function gn(){let{stage:i}=hO(so);return i}function Dt(){let{step:i,setStep:e,workflow:t=[]}=hO(so);return[i,e,t.length-1]}function oo(){let{step:i,workflow:e,isLoading:t}=hO(so);if(!t)return e?.[i]}var{useState:Rb}=wp.element,{Popover:qb}=wp.components;function $n({title:i,tags:e,onChange:t,onFocusOutside:n}){let[r,s]=Rb(0);return React.createElement(qb,{onFocusOutside:n,offset:5,placement:"bottom-start"},React.createElement("div",{style:{position:"relative",paddingTop:"2.6em",maxHeight:"350px"}},React.createElement("label",{htmlFor:"bridge-tags-list",style:{position:"fixed",top:"0px",left:"0px",width:"100%",padding:"0.5em 0.75em",borderBottom:"1px solid",backgroundColor:"white"}},React.createElement("strong",null,i)),React.createElement("ul",{id:"bridge-tags-list",style:{width:"max-content",height:"100%",overflowY:"auto",margin:0}},e.map(({label:o,value:a},l)=>React.createElement("li",{key:o,style:{padding:"0.5em 1em",cursor:"pointer"},tabIndex:"0",role:"button",onKeyDown:c=>{r===l&&c.key==="Enter"&&(c.stopPropagation(),c.preventDefault(),t(a))},onFocus:()=>s(l),onClick:c=>{c.preventDefault(),c.stopPropagation(),t(a)}},o)))))}var{BaseControl:_b,TextControl:Cb,Button:ao}=wp.components,{useEffect:Dd,useState:Ld,useRef:Gd,useMemo:Wb}=wp.element,{__:J}=wp.i18n,Zb=[{label:J("Submission ID","forms-bridge"),value:"$submission_id"},{label:J("Form ID","forms-bridge"),value:"$form_id"},{label:J("Form title","forms-bridge"),value:"$form_title"},{label:J("Site title","forms-bridge"),value:"$site_site"},{label:J("Site description","forms-bridge"),value:"$site_description"},{label:J("Site URL","forms-bridge"),value:"$site_url"},{label:J("Blog URL","forms-bridge"),value:"$blog_url"},{label:J("Admin email","forms-bridge"),value:"$admin_email"},{label:J("WP Version","forms-bridge"),value:"$wp_version"},{label:J("IP address","forms-bridge"),value:"$ip_address"},{label:J("Referer","forms-bridge"),value:"$referer"},{label:J("User agent","forms-bridge"),value:"$user_agent"},{label:J("Browser locale","forms-bridge"),value:"$browser_locale"},{label:J("Page locale","forms-bridge"),value:"$locale"},{label:J("Page language","forms-bridge"),value:"$language"},{label:J("Datetime","forms-bridge"),value:"$datetime"},{label:J("GMT Datetime","forms-bridge"),value:"$gmt_datetime"},{label:J("ISO Date","forms-bridge"),value:"$iso_date"},{label:J("ISO GMT Date","forms-bridge"),value:"$gmt_iso_date"},{label:J("UTC Date","forms-bridge"),value:"$utc_date"},{label:J("Timestamp","forms-bridge"),value:"$timestamp"},{label:J("User ID","forms-bridge"),value:"$user_id"},{label:J("user_login","forms-bridge"),value:"$user_login"},{label:J("User name","forms-bridge"),value:"$user_name"},{label:J("User email","forms-bridge"),value:"$user_email"}],Vb=`.scrollbar-hide { 10 10 -ms-overflow-style: none; 11 11 scrollbar-width: none; … … 44 44 outline: 1px solid; 45 45 border-radius: 0px; 46 }`, Vb={"--wp-components-color-accent":"#cc1818",color:"var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9))",borderColor:"var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9))"};function Ab(i=""){let e={height:"40px",paddingLeft:"12px",paddingRight:"12px",fontSize:"13px",borderRadius:"2px",width:"100%",display:"block"};return i.length&&(!Y.validate(i)||/\[\]/.test(i))?{...e,...Vb}:e}function lO({customFields:i,setCustomFields:e}){let t=eo(),n=Cb(()=>t.map(u=>({value:u.name,label:`${u.name} | ${u.schema.type}`})),[t]),r=Md(),[s,o]=Ud(-1),[a,l]=Ud(-1),O=(u,d,p)=>{let m=i.map((g,y)=>(d===y&&(g[u]=p),{...g}));e(m)},c=u=>{let d=i.slice(0,u).concat([{name:"",value:""}]).concat(i.slice(u,i.length));u===i.length&&setTimeout(()=>{r.current.scrollTo(0,r.current.children[0].offsetHeight)},100),e(d)},h=u=>{let d=i.slice(0,u).concat(i.slice(u+1));e(d)};Yd(()=>{i.length||c(0)},[i]);let f=Md(document.createElement("style"));return Yd(()=>(f.current.appendChild(document.createTextNode(Zb)),document.head.appendChild(f.current),()=>{document.head.removeChild(f.current)}),[]),React.createElement(React.Fragment,null,React.createElement("div",{ref:r,className:"scrollbar-hide",style:{flex:1}},React.createElement("table",{style:{width:"calc(100% + 10px)",margin:"0 -5px",borderSpacing:"0px"}},React.createElement("thead",null,React.createElement("tr",null,React.createElement("th",{"aria-hidden":"true"}),React.createElement("th",{scope:"col",style:{textAlign:"left",padding:"1em 0 0 0.5em"}},J("Name","forms-bridge")),React.createElement("th",{scope:"col",style:{textAlign:"left",padding:"1em 0 0 0.5em"}},J("Value","forms-bridge")),React.createElement("th",{"aria-hidden":"true"}))),React.createElement("tbody",null,i.map(({name:u,value:d,index:p},m)=>React.createElement("tr",{key:p},React.createElement("td",{style:{width:0}},m+1,"."),React.createElement("td",null,React.createElement("div",{style:{display:"flex"}},React.createElement("div",{style:{flex:1}},React.createElement(qb,{__nextHasNoMarginBottom:!0},React.createElement("input",{type:"text",value:u,onChange:g=>O("name",m,g.target.value),style:Ab(u)}))),React.createElement(so,{style:{height:"40px",width:"40px",justifyContent:"center",marginLeft:"2px"},disabled:n.length===0,size:"compact",variant:"secondary",onClick:()=>o(m),__next40pxDefaultSize:!0},"{...}",s===m&&React.createElement($n,{title:J("Fields","forms-bridge"),tags:n,onChange:g=>{o(-1),O("name",m,g)},onFocusOutside:()=>o(-1)})))),React.createElement("td",null,React.createElement("div",{style:{display:"flex"}},React.createElement("div",{style:{flex:1}},React.createElement(_b,{value:d,onChange:g=>O("value",m,g),__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0})),React.createElement(so,{disabled:!u,style:{height:"40px",width:"40px",justifyContent:"center",marginLeft:"2px"},size:"compact",variant:"secondary",onClick:()=>l(m),__next40pxDefaultSize:!0},"$",a===m&&React.createElement($n,{title:J("Tags","forms-bridge"),tags:Wb,onChange:g=>{l(-1),O("value",m,d+g)},onFocusOutside:()=>l(-1)})))),React.createElement("td",{style:{width:0}},React.createElement("div",{style:{display:"flex",marginLeft:"0.45em",gap:"0.45em"}},React.createElement(so,{size:"compact",variant:"secondary",disabled:!u||d==="",onClick:()=>c(m+1),style:{width:"40px",height:"40px",justifyContent:"center"},__next40pxDefaultSize:!0},"+"),React.createElement(so,{size:"compact",variant:"secondary",onClick:()=>h(m),style:{width:"40px",height:"40px",justifyContent:"center"},isDestructive:!0,__next40pxDefaultSize:!0},"-")))))))))}var{Button:jb,Modal:Yb}=wp.components,{useState:Ed,useEffect:Dd,useRef:Ld,useCallback:Ub}=wp.element,{__:OO}=wp.i18n,Mb=`.components-modal__frame.no-scrollable .components-modal__content {46 }`,Ab={"--wp-components-color-accent":"#cc1818",color:"var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9))",borderColor:"var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9))"};function jb(i=""){let e={height:"40px",paddingLeft:"12px",paddingRight:"12px",fontSize:"13px",borderRadius:"2px",width:"100%",display:"block"};return i.length&&(!Y.validate(i)||/\[\]/.test(i))?{...e,...Ab}:e}function fO({customFields:i,setCustomFields:e}){let t=Ns(),n=Wb(()=>t.map(u=>({value:u.name,label:`${u.name} | ${u.schema.type}`})),[t]),r=Gd(),[s,o]=Ld(-1),[a,l]=Ld(-1),c=(u,d,p)=>{let m=i.map((g,y)=>(d===y&&(g[u]=p),{...g}));e(m)},O=u=>{let d=i.slice(0,u).concat([{name:"",value:""}]).concat(i.slice(u,i.length));u===i.length&&setTimeout(()=>{r.current.scrollTo(0,r.current.children[0].offsetHeight)},100),e(d)},h=u=>{let d=i.slice(0,u).concat(i.slice(u+1));e(d)};Dd(()=>{i.length||O(0)},[i]);let f=Gd(document.createElement("style"));return Dd(()=>(f.current.appendChild(document.createTextNode(Vb)),document.head.appendChild(f.current),()=>{document.head.removeChild(f.current)}),[]),React.createElement(React.Fragment,null,React.createElement("div",{ref:r,className:"scrollbar-hide",style:{flex:1}},React.createElement("table",{style:{width:"calc(100% + 10px)",margin:"0 -5px",borderSpacing:"0px"}},React.createElement("thead",null,React.createElement("tr",null,React.createElement("th",{"aria-hidden":"true"}),React.createElement("th",{scope:"col",style:{textAlign:"left",padding:"1em 0 0 0.5em"}},J("Name","forms-bridge")),React.createElement("th",{scope:"col",style:{textAlign:"left",padding:"1em 0 0 0.5em"}},J("Value","forms-bridge")),React.createElement("th",{"aria-hidden":"true"}))),React.createElement("tbody",null,i.map(({name:u,value:d,index:p},m)=>React.createElement("tr",{key:p},React.createElement("td",{style:{width:0}},m+1,"."),React.createElement("td",null,React.createElement("div",{style:{display:"flex"}},React.createElement("div",{style:{flex:1}},React.createElement(_b,{__nextHasNoMarginBottom:!0},React.createElement("input",{type:"text",value:u,onChange:g=>c("name",m,g.target.value),style:jb(u)}))),React.createElement(ao,{style:{height:"40px",width:"40px",justifyContent:"center",marginLeft:"2px"},disabled:n.length===0,size:"compact",variant:"secondary",onClick:()=>o(m),__next40pxDefaultSize:!0},"{...}",s===m&&React.createElement($n,{title:J("Fields","forms-bridge"),tags:n,onChange:g=>{o(-1),c("name",m,g)},onFocusOutside:()=>o(-1)})))),React.createElement("td",null,React.createElement("div",{style:{display:"flex"}},React.createElement("div",{style:{flex:1}},React.createElement(Cb,{value:d,onChange:g=>c("value",m,g),__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0})),React.createElement(ao,{disabled:!u,style:{height:"40px",width:"40px",justifyContent:"center",marginLeft:"2px"},size:"compact",variant:"secondary",onClick:()=>l(m),__next40pxDefaultSize:!0},"$",a===m&&React.createElement($n,{title:J("Tags","forms-bridge"),tags:Zb,onChange:g=>{l(-1),c("value",m,d+g)},onFocusOutside:()=>l(-1)})))),React.createElement("td",{style:{width:0}},React.createElement("div",{style:{display:"flex",marginLeft:"0.45em",gap:"0.45em"}},React.createElement(ao,{size:"compact",variant:"secondary",disabled:!u||d==="",onClick:()=>O(m+1),style:{width:"40px",height:"40px",justifyContent:"center"},__next40pxDefaultSize:!0},"+"),React.createElement(ao,{size:"compact",variant:"secondary",onClick:()=>h(m),style:{width:"40px",height:"40px",justifyContent:"center"},isDestructive:!0,__next40pxDefaultSize:!0},"-")))))))))}var{Button:Yb,Modal:Ub}=wp.components,{useState:Bd,useEffect:Id,useRef:Nd,useCallback:Mb}=wp.element,{__:uO}=wp.i18n,Eb=`.components-modal__frame.no-scrollable .components-modal__content { 47 47 overflow: hidden; 48 48 } 49 49 .components-modal__frame.no-scrollable .components-modal__content > .components-modal__header + div { 50 50 height: 100%; 51 }`;function cO({customFields:i,setCustomFields:e}){let[t,n]=Ed(!1),[r,s]=Ed(i);Dd(()=>{s(i)},[i]);let o=Ld(O=>{let c=O.map(({name:h,value:f})=>({name:h,value:f}));s(c)}).current,a=Ub(()=>{let O=r.filter(({name:c,value:h})=>c&&h!=="");e(O),n(!1)},[r]),l=Ld(document.createElement("style"));return Dd(()=>(l.current.appendChild(document.createTextNode(Mb)),document.head.appendChild(l.current),()=>{document.head.removeChild(l.current)}),[]),React.createElement(React.Fragment,null,React.createElement(jb,{variant:"secondary",onClick:()=>n(!0),__next40pxDefaultSize:!0},OO("Custom fields","forms-bridge")," (",i.length,")"),t&&React.createElement(Yb,{title:OO("Custom fields","forms-bridge"),onRequestClose:a,className:"no-scrollable"},React.createElement("p",{style:{marginTop:"-3rem",position:"absolute",zIndex:1}},OO("Add custom fields to the form submission payload","forms-bridge")),React.createElement("div",{style:{marginTop:"2rem",width:"760px",maxWidth:"80vw",minHeight:"125px",height:"calc(100% - 2rem)",display:"flex",flexDirection:"column",borderTop:"1px solid",borderBottom:"1px solid"}},React.createElement(lO,{customFields:r.map((O,c)=>({...O,index:c})),setCustomFields:o}))))}var fO=[],Nd=[];(()=>{let i="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,t=0;e<i.length;e++)(e%2?Nd:fO).push(t=t+i[e])})();function Eb(i){if(i<768)return!1;for(let e=0,t=fO.length;;){let n=e+t>>1;if(i<fO[n])t=n;else if(i>=Nd[n])e=n+1;else return!0;if(e==t)return!1}}function Gd(i){return i>=127462&&i<=127487}var Bd=8205;function Fd(i,e,t=!0,n=!0){return(t?Hd:Db)(i,e,n)}function Hd(i,e,t){if(e==i.length)return e;e&&Kd(i.charCodeAt(e))&&Jd(i.charCodeAt(e-1))&&e--;let n=hO(i,e);for(e+=Id(n);e<i.length;){let r=hO(i,e);if(n==Bd||r==Bd||t&&Eb(r))e+=Id(r),n=r;else if(Gd(r)){let s=0,o=e-2;for(;o>=0&&Gd(hO(i,o));)s++,o-=2;if(s%2==0)break;e+=2}else break}return e}function Db(i,e,t){for(;e>0;){let n=Hd(i,e-2,t);if(n<e)return n;e--}return 0}function hO(i,e){let t=i.charCodeAt(e);if(!Jd(t)||e+1==i.length)return t;let n=i.charCodeAt(e+1);return Kd(n)?(t-55296<<10)+(n-56320)+65536:t}function Kd(i){return i>=56320&&i<57344}function Jd(i){return i>=55296&&i<56320}function Id(i){return i<65536?1:2}var U=class i{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,n){[e,t]=xn(this,e,t);let r=[];return this.decompose(0,e,r,2),n.length&&n.decompose(0,n.length,r,3),this.decompose(t,this.length,r,1),Qn.from(r,this.length-(t-e)+n.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=xn(this,e,t);let n=[];return this.decompose(e,t,n,0),Qn.from(n,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),n=this.length-this.scanIdentical(e,-1),r=new Wi(this),s=new Wi(e);for(let o=t,a=t;;){if(r.next(o),s.next(o),o=0,r.lineBreak!=s.lineBreak||r.done!=s.done||r.value!=s.value)return!1;if(a+=r.value.length,r.done||a>=n)return!0}}iter(e=1){return new Wi(this,e)}iterRange(e,t=this.length){return new co(this,e,t)}iterLines(e,t){let n;if(e==null)n=this.iter();else{t==null&&(t=this.lines+1);let r=this.line(e).from;n=this.iterRange(r,Math.max(r,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new ho(n)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?i.empty:e.length<=32?new Fe(e):Qn.from(Fe.split(e,[]))}},Fe=class i extends U{constructor(e,t=Lb(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,n,r){for(let s=0;;s++){let o=this.text[s],a=r+o.length;if((t?n:a)>=e)return new dO(r,a,n,o);r=a+1,n++}}decompose(e,t,n,r){let s=e<=0&&t>=this.length?this:new i(ep(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(r&1){let o=n.pop(),a=Oo(s.text,o.text.slice(),0,s.length);if(a.length<=32)n.push(new i(a,o.length+s.length));else{let l=a.length>>1;n.push(new i(a.slice(0,l)),new i(a.slice(l)))}}else n.push(s)}replace(e,t,n){if(!(n instanceof i))return super.replace(e,t,n);[e,t]=xn(this,e,t);let r=Oo(this.text,Oo(n.text,ep(this.text,0,e)),t),s=this.length+n.length-(t-e);return r.length<=32?new i(r,s):Qn.from(i.split(r,[]),s)}sliceString(e,t=this.length,n=`52 `){[e,t]=xn(this,e,t);let r="";for(let s=0,o=0;s<=t&&o<this.text.length;o++){let a=this.text[o],l=s+a.length;s>e&&o&&(r+=n),e<l&&t>s&&(r+=a.slice(Math.max(0,e-s),t-s)),s=l+1}return r}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let n=[],r=-1;for(let s of e)n.push(s),r+=s.length+1,n.length==32&&(t.push(new i(n,r)),n=[],r=-1);return r>-1&&t.push(new i(n,r)),t}},Qn=class i extends U{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let n of e)this.lines+=n.lines}lineInner(e,t,n,r){for(let s=0;;s++){let o=this.children[s],a=r+o.length,l=n+o.lines-1;if((t?l:a)>=e)return o.lineInner(e,t,n,r);r=a+1,n=l+1}}decompose(e,t,n,r){for(let s=0,o=0;o<=t&&s<this.children.length;s++){let a=this.children[s],l=o+a.length;if(e<=l&&t>=o){let O=r&((o<=e?1:0)|(l>=t?2:0));o>=e&&l<=t&&!O?n.push(a):a.decompose(e-o,t-o,n,O)}o=l+1}}replace(e,t,n){if([e,t]=xn(this,e,t),n.lines<this.lines)for(let r=0,s=0;r<this.children.length;r++){let o=this.children[r],a=s+o.length;if(e>=s&&t<=a){let l=o.replace(e-s,t-s,n),O=this.lines-o.lines+l.lines;if(l.lines<O>>4&&l.lines>O>>6){let c=this.children.slice();return c[r]=l,new i(c,this.length-(t-e)+n.length)}return super.replace(s,a,l)}s=a+1}return super.replace(e,t,n)}sliceString(e,t=this.length,n=`53 `){[e,t]=xn(this,e,t);let r="";for(let s=0,o=0;s<this.children.length&&o<=t;s++){let a=this.children[s],l=o+a.length;o>e&&s&&(r+=n),e<l&&t>o&&(r+=a.sliceString(e-o,t-o,n)),o=l+1}return r}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof i))return 0;let n=0,[r,s,o,a]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;r+=t,s+=t){if(r==o||s==a)return n;let l=this.children[r], O=e.children[s];if(l!=O)return n+l.scanIdentical(O,t);n+=l.length+1}}static from(e,t=e.reduce((n,r)=>n+r.length+1,-1)){let n=0;for(let u of e)n+=u.lines;if(n<32){let u=[];for(let d of e)d.flatten(u);return new Fe(u,t)}let r=Math.max(32,n>>5),s=r<<1,o=r>>1,a=[],l=0,O=-1,c=[];function h(u){let d;if(u.lines>s&&u instanceof i)for(let p of u.children)h(p);else u.lines>o&&(l>o||!l)?(f(),a.push(u)):u instanceof Fe&&l&&(d=c[c.length-1])instanceof Fe&&u.lines+d.lines<=32?(l+=u.lines,O+=u.length+1,c[c.length-1]=new Fe(d.text.concat(u.text),d.length+1+u.length)):(l+u.lines>r&&f(),l+=u.lines,O+=u.length+1,c.push(u))}function f(){l!=0&&(a.push(c.length==1?c[0]:i.from(c,O)),O=-1,l=c.length=0)}for(let u of e)h(u);return f(),a.length==1?a[0]:new i(a,t)}};U.empty=new Fe([""],0);function Lb(i){let e=-1;for(let t of i)e+=t.length+1;return e}function Oo(i,e,t=0,n=1e9){for(let r=0,s=0,o=!0;s<i.length&&r<=n;s++){let a=i[s],l=r+a.length;l>=t&&(l>n&&(a=a.slice(0,n-r)),r<t&&(a=a.slice(t-r)),o?(e[e.length-1]+=a,o=!1):e.push(a)),r=l+1}return e}function ep(i,e,t){return Oo(i,[""],e,t)}var Wi=class{constructor(e,t=1){this.dir=t,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[e],this.offsets=[t>0?1:(e instanceof Fe?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let n=this.nodes.length-1,r=this.nodes[n],s=this.offsets[n],o=s>>1,a=r instanceof Fe?r.text.length:r.children.length;if(o==(t>0?a:0)){if(n==0)return this.done=!0,this.value="",this;t>0&&this.offsets[n-1]++,this.nodes.pop(),this.offsets.pop()}else if((s&1)==(t>0?0:1)){if(this.offsets[n]+=t,e==0)return this.lineBreak=!0,this.value=`54 `,this;e--}else if(r instanceof Fe){let l=r.text[o+(t<0?-1:0)];if(this.offsets[n]+=t,l.length>Math.max(0,e))return this.value=e==0?l:t>0?l.slice(e):l.slice(0,l.length-e),this;e-=l.length}else{let l=r.children[o+(t<0?-1:0)];e>l.length?(e-=l.length,this.offsets[n]+=t):(t<0&&this.offsets[n]--,this.nodes.push(l),this.offsets.push(t>0?1:(l instanceof Fe?l.text.length:l.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}, co=class{constructor(e,t,n){this.value="",this.done=!1,this.cursor=new Wi(e,t>n?-1:1),this.pos=t>n?e.length:0,this.from=Math.min(t,n),this.to=Math.max(t,n)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let n=t<0?this.pos-this.from:this.to-this.pos;e>n&&(e=n),n-=e;let{value:r}=this.cursor.next(e);return this.pos+=(r.length+e)*t,this.value=r.length<=n?r:t<0?r.slice(r.length-n):r.slice(0,n),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}},ho=class{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:n,value:r}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):n?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol<"u"&&(U.prototype[Symbol.iterator]=function(){return this.iter()},Wi.prototype[Symbol.iterator]=co.prototype[Symbol.iterator]=ho.prototype[Symbol.iterator]=function(){return this});var dO=class{constructor(e,t,n,r){this.from=e,this.to=t,this.number=n,this.text=r}get length(){return this.to-this.from}};function xn(i,e,t){return e=Math.max(0,Math.min(i.length,e)),[e,Math.max(e,Math.min(i.length,t))]}function ve(i,e,t=!0,n=!0){return Fd(i,e,t,n)}function Gb(i){return i>=56320&&i<57344}function Bb(i){return i>=55296&&i<56320}function Xe(i,e){let t=i.charCodeAt(e);if(!Bb(t)||e+1==i.length)return t;let n=i.charCodeAt(e+1);return Gb(n)?(t-55296<<10)+(n-56320)+65536:t}function Pr(i){return i<=65535?String.fromCharCode(i):(i-=65536,String.fromCharCode((i>>10)+55296,(i&1023)+56320))}function Ke(i){return i<65536?1:2}var pO=/\r\n?|\n/,Pe=function(i){return i[i.Simple=0]="Simple",i[i.TrackDel=1]="TrackDel",i[i.TrackBefore=2]="TrackBefore",i[i.TrackAfter=3]="TrackAfter",i}(Pe||(Pe={})),Lt=class i{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;t<this.sections.length;t+=2)e+=this.sections[t];return e}get newLength(){let e=0;for(let t=0;t<this.sections.length;t+=2){let n=this.sections[t+1];e+=n<0?this.sections[t]:n}return e}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(e){for(let t=0,n=0,r=0;t<this.sections.length;){let s=this.sections[t++],o=this.sections[t++];o<0?(e(n,r,s),r+=s):r+=o,n+=s}}iterChangedRanges(e,t=!1){mO(this,e,t)}get invertedDesc(){let e=[];for(let t=0;t<this.sections.length;){let n=this.sections[t++],r=this.sections[t++];r<0?e.push(n,r):e.push(r,n)}return new i(e)}composeDesc(e){return this.empty?e:e.empty?this:sp(this,e)}mapDesc(e,t=!1){return e.empty?this:gO(this,e,t)}mapPos(e,t=-1,n=Pe.Simple){let r=0,s=0;for(let o=0;o<this.sections.length;){let a=this.sections[o++],l=this.sections[o++],O=r+a;if(l<0){if(O>e)return s+(e-r);s+=a}else{if(n!=Pe.Simple&&O>=e&&(n==Pe.TrackDel&&r<e&&O>e||n==Pe.TrackBefore&&r<e||n==Pe.TrackAfter&&O>e))return null;if(O>e||O==e&&t<0&&!a)return e==r||t<0?s:s+l;s+=l}r=O}if(e>r)throw new RangeError(`Position ${e} is out of range for changeset of length ${r}`);return s}touchesRange(e,t=e){for(let n=0,r=0;n<this.sections.length&&r<=t;){let s=this.sections[n++],o=this.sections[n++],a=r+s;if(o>=0&&r<=t&&a>=e)return r<e&&a>t?"cover":!0;r=a}return!1}toString(){let e="";for(let t=0;t<this.sections.length;){let n=this.sections[t++],r=this.sections[t++];e+=(e?" ":"")+n+(r>=0?":"+r:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new i(e)}static create(e){return new i(e)}},Ae=class i extends Lt{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return mO(this,(t,n,r,s,o)=>e=e.replace(r,r+(n-t),o),!1),e}mapDesc(e,t=!1){return gO(this,e,t,!0)}invert(e){let t=this.sections.slice(),n=[];for(let r=0,s=0;r<t.length;r+=2){let o=t[r],a=t[r+1];if(a>=0){t[r]=a,t[r+1]=o;let l=r>>1;for(;n.length<l;)n.push(U.empty);n.push(o?e.slice(s,s+o):U.empty)}s+=o}return new i(t,n)}compose(e){return this.empty?e:e.empty?this:sp(this,e,!0)}map(e,t=!1){return e.empty?this:gO(this,e,t,!0)}iterChanges(e,t=!1){mO(this,e,t)}get desc(){return Lt.create(this.sections)}filter(e){let t=[],n=[],r=[],s=new Zi(this);e:for(let o=0,a=0;;){let l=o==e.length?1e9:e[o++];for(;a<l||a==l&&s.len==0;){if(s.done)break e;let c=Math.min(s.len,l-a);We(r,c,-1);let h=s.ins==-1?-1:s.off==0?s.ins:0;We(t,c,h),h>0&&Oi(n,t,s.text),s.forward(c),a+=c}let O=e[o++];for(;a<O;){if(s.done)break e;let c=Math.min(s.len,O-a);We(t,c,-1),We(r,c,s.ins==-1?-1:s.off==0?s.ins:0),s.forward(c),a+=c}}return{changes:new i(t,n),filtered:Lt.create(r)}}toJSON(){let e=[];for(let t=0;t<this.sections.length;t+=2){let n=this.sections[t],r=this.sections[t+1];r<0?e.push(n):r==0?e.push([n]):e.push([n].concat(this.inserted[t>>1].toJSON()))}return e}static of(e,t,n){let r=[],s=[],o=0,a=null;function l(c=!1){if(!c&&!r.length)return;o<t&&We(r,t-o,-1);let h=new i(r,s);a=a?a.compose(h.map(a)):h,r=[],s=[],o=0}function O(c){if(Array.isArray(c))for(let h of c)O(h);else if(c instanceof i){if(c.length!=t)throw new RangeError(`Mismatched change set length (got ${c.length}, expected ${t})`);l(),a=a?a.compose(c.map(a)):c}else{let{from:h,to:f=h,insert:u}=c;if(h>f||h<0||f>t)throw new RangeError(`Invalid change range ${h} to ${f} (in doc of length ${t})`);let d=u?typeof u=="string"?U.of(u.split(n||pO)):u:U.empty,p=d.length;if(h==f&&p==0)return;h<o&&l(),h>o&&We(r,h-o,-1),We(r,f-h,p),Oi(s,r,d),o=f}}return O(e),l(!a),a}static empty(e){return new i(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],n=[];for(let r=0;r<e.length;r++){let s=e[r];if(typeof s=="number")t.push(s,-1);else{if(!Array.isArray(s)||typeof s[0]!="number"||s.some((o,a)=>a&&typeof o!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(s.length==1)t.push(s[0],0);else{for(;n.length<r;)n.push(U.empty);n[r]=U.of(s.slice(1)),t.push(s[0],n[r].length)}}}return new i(t,n)}static createSet(e,t){return new i(e,t)}};function We(i,e,t,n=!1){if(e==0&&t<=0)return;let r=i.length-2;r>=0&&t<=0&&t==i[r+1]?i[r]+=e:r>=0&&e==0&&i[r]==0?i[r+1]+=t:n?(i[r]+=e,i[r+1]+=t):i.push(e,t)}function Oi(i,e,t){if(t.length==0)return;let n=e.length-2>>1;if(n<i.length)i[i.length-1]=i[i.length-1].append(t);else{for(;i.length<n;)i.push(U.empty);i.push(t)}}function mO(i,e,t){let n=i.inserted;for(let r=0,s=0,o=0;o<i.sections.length;){let a=i.sections[o++],l=i.sections[o++];if(l<0)r+=a,s+=a;else{let O=r,c=s,h=U.empty;for(;O+=a,c+=l,l&&n&&(h=h.append(n[o-2>>1])),!(t||o==i.sections.length||i.sections[o+1]<0);)a=i.sections[o++],l=i.sections[o++];e(r,O,s,c,h),r=O,s=c}}}function gO(i,e,t,n=!1){let r=[],s=n?[]:null,o=new Zi(i),a=new Zi(e);for(let l=-1;;){if(o.done&&a.len||a.done&&o.len)throw new Error("Mismatched change set lengths");if(o.ins==-1&&a.ins==-1){let O=Math.min(o.len,a.len);We(r,O,-1),o.forward(O),a.forward(O)}else if(a.ins>=0&&(o.ins<0||l==o.i||o.off==0&&(a.len<o.len||a.len==o.len&&!t))){let O=a.len;for(We(r,a.ins,-1);O;){let c=Math.min(o.len,O);o.ins>=0&&l<o.i&&o.len<=c&&(We(r,0,o.ins),s&&Oi(s,r,o.text),l=o.i),o.forward(c),O-=c}a.next()}else if(o.ins>=0){let O=0,c=o.len;for(;c;)if(a.ins==-1){let h=Math.min(c,a.len);O+=h,c-=h,a.forward(h)}else if(a.ins==0&&a.len<c)c-=a.len,a.next();else break;We(r,O,l<o.i?o.ins:0),s&&l<o.i&&Oi(s,r,o.text),l=o.i,o.forward(o.len-c)}else{if(o.done&&a.done)return s?Ae.createSet(r,s):Lt.create(r);throw new Error("Mismatched change set lengths")}}}function sp(i,e,t=!1){let n=[],r=t?[]:null,s=new Zi(i),o=new Zi(e);for(let a=!1;;){if(s.done&&o.done)return r?Ae.createSet(n,r):Lt.create(n);if(s.ins==0)We(n,s.len,0,a),s.next();else if(o.len==0&&!o.done)We(n,0,o.ins,a),r&&Oi(r,n,o.text),o.next();else{if(s.done||o.done)throw new Error("Mismatched change set lengths");{let l=Math.min(s.len2,o.len),O=n.length;if(s.ins==-1){let c=o.ins==-1?-1:o.off?0:o.ins;We(n,l,c,a),r&&c&&Oi(r,n,o.text)}else o.ins==-1?(We(n,s.off?0:s.len,l,a),r&&Oi(r,n,s.textBit(l))):(We(n,s.off?0:s.len,o.off?0:o.ins,a),r&&!o.off&&Oi(r,n,o.text));a=(s.ins>l||o.ins>=0&&o.len>l)&&(a||n.length>O),s.forward2(l),o.forward(l)}}}}var Zi=class{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i<e.length?(this.len=e[this.i++],this.ins=e[this.i++]):(this.len=0,this.ins=-2),this.off=0}get done(){return this.ins==-2}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:e}=this.set,t=this.i-2>>1;return t>=e.length?U.empty:e[t]}textBit(e){let{inserted:t}=this.set,n=this.i-2>>1;return n>=t.length&&!e?U.empty:t[n].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}},yn=class i{constructor(e,t,n){this.from=e,this.to=t,this.flags=n}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}get goalColumn(){let e=this.flags>>6;return e==16777215?void 0:e}map(e,t=-1){let n,r;return this.empty?n=r=e.mapPos(this.from,t):(n=e.mapPos(this.from,1),r=e.mapPos(this.to,-1)),n==this.from&&r==this.to?this:new i(n,r,this.flags)}extend(e,t=e){if(e<=this.anchor&&t>=this.anchor)return P.range(e,t);let n=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return P.range(this.anchor,n)}eq(e,t=!1){return this.anchor==e.anchor&&this.head==e.head&&(!t||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return P.range(e.anchor,e.head)}static create(e,t,n){return new i(e,t,n)}},P=class i{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:i.create(this.ranges.map(n=>n.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let n=0;n<this.ranges.length;n++)if(!this.ranges[n].eq(e.ranges[n],t))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return this.ranges.length==1?this:new i([this.main],0)}addRange(e,t=!0){return i.create([e].concat(this.ranges),t?0:this.mainIndex+1)}replaceRange(e,t=this.mainIndex){let n=this.ranges.slice();return n[t]=e,i.create(n,this.mainIndex)}toJSON(){return{ranges:this.ranges.map(e=>e.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new i(e.ranges.map(t=>yn.fromJSON(t)),e.main)}static single(e,t=e){return new i([i.range(e,t)],0)}static create(e,t=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let n=0,r=0;r<e.length;r++){let s=e[r];if(s.empty?s.from<=n:s.from<n)return i.normalized(e.slice(),t);n=s.to}return new i(e,t)}static cursor(e,t=0,n,r){return yn.create(e,e,(t==0?0:t<0?8:16)|(n==null?7:Math.min(6,n))|(r??16777215)<<6)}static range(e,t,n,r){let s=(n??16777215)<<6|(r==null?7:Math.min(6,r));return t<e?yn.create(t,e,48|s):yn.create(e,t,(t>e?8:0)|s)}static normalized(e,t=0){let n=e[t];e.sort((r,s)=>r.from-s.from),t=e.indexOf(n);for(let r=1;r<e.length;r++){let s=e[r],o=e[r-1];if(s.empty?s.from<=o.to:s.from<o.to){let a=o.from,l=Math.max(s.to,o.to);r<=t&&t--,e.splice(--r,2,s.anchor>s.head?i.range(l,a):i.range(a,l))}}return new i(e,t)}};function op(i,e){for(let t of i.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}var kO=0,X=class i{constructor(e,t,n,r,s){this.combine=e,this.compareInput=t,this.compare=n,this.isStatic=r,this.id=kO++,this.default=e([]),this.extensions=typeof s=="function"?s(this):s}get reader(){return this}static define(e={}){return new i(e.combine||(t=>t),e.compareInput||((t,n)=>t===n),e.compare||(e.combine?(t,n)=>t===n:TO),!!e.static,e.enables)}of(e){return new Sn([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new Sn(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new Sn(e,this,2,t)}from(e,t){return t||(t=n=>n),this.compute([e],n=>t(n.field(e)))}};function TO(i,e){return i==e||i.length==e.length&&i.every((t,n)=>t===e[n])}var Sn=class{constructor(e,t,n,r){this.dependencies=e,this.facet=t,this.type=n,this.value=r,this.id=kO++}dynamicSlot(e){var t;let n=this.value,r=this.facet.compareInput,s=this.id,o=e[s]>>1,a=this.type==2,l=!1,O=!1,c=[];for(let h of this.dependencies)h=="doc"?l=!0:h=="selection"?O=!0:((t=e[h.id])!==null&&t!==void 0?t:1)&1||c.push(e[h.id]);return{create(h){return h.values[o]=n(h),1},update(h,f){if(l&&f.docChanged||O&&(f.docChanged||f.selection)||$O(h,c)){let u=n(h);if(a?!tp(u,h.values[o],r):!r(u,h.values[o]))return h.values[o]=u,1}return 0},reconfigure:(h,f)=>{let u,d=f.config.address[s];if(d!=null){let p=mo(f,d);if(this.dependencies.every(m=>m instanceof X?f.facet(m)===h.facet(m):m instanceof ue?f.field(m,!1)==h.field(m,!1):!0)||(a?tp(u=n(h),p,r):r(u=n(h),p)))return h.values[o]=p,0}else u=n(h);return h.values[o]=u,1}}}};function tp(i,e,t){if(i.length!=e.length)return!1;for(let n=0;n<i.length;n++)if(!t(i[n],e[n]))return!1;return!0}function $O(i,e){let t=!1;for(let n of e)br(i,n)&1&&(t=!0);return t}function Ib(i,e,t){let n=t.map(l=>i[l.id]),r=t.map(l=>l.type),s=n.filter(l=>!(l&1)),o=i[e.id]>>1;function a(l){let O=[];for(let c=0;c<n.length;c++){let h=mo(l,n[c]);if(r[c]==2)for(let f of h)O.push(f);else O.push(h)}return e.combine(O)}return{create(l){for(let O of n)br(l,O);return l.values[o]=a(l),1},update(l,O){if(!$O(l,s))return 0;let c=a(l);return e.compare(c,l.values[o])?0:(l.values[o]=c,1)},reconfigure(l,O){let c=$O(l,n),h=O.config.facets[e.id],f=O.facet(e);if(h&&!c&&TO(t,h))return l.values[o]=f,0;let u=a(l);return e.compare(u,f)?(l.values[o]=f,0):(l.values[o]=u,1)}}}var oo=X.define({static:!0}),ue=class i{constructor(e,t,n,r,s){this.id=e,this.createF=t,this.updateF=n,this.compareF=r,this.spec=s,this.provides=void 0}static define(e){let t=new i(kO++,e.create,e.update,e.compare||((n,r)=>n===r),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(oo).find(n=>n.field==this);return(t?.create||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:n=>(n.values[t]=this.create(n),1),update:(n,r)=>{let s=n.values[t],o=this.updateF(s,r);return this.compareF(s,o)?0:(n.values[t]=o,1)},reconfigure:(n,r)=>{let s=n.facet(oo),o=r.facet(oo),a;return(a=s.find(l=>l.field==this))&&a!=o.find(l=>l.field==this)?(n.values[t]=a.create(n),1):r.config.address[this.id]!=null?(n.values[t]=r.field(this),0):(n.values[t]=this.create(n),1)}}}init(e){return[this,oo.of({field:this,create:e})]}get extension(){return this}},_i={lowest:4,low:3,default:2,high:1,highest:0};function Sr(i){return e=>new fo(e,i)}var lt={highest:Sr(_i.highest),high:Sr(_i.high),default:Sr(_i.default),low:Sr(_i.low),lowest:Sr(_i.lowest)},fo=class{constructor(e,t){this.inner=e,this.prec=t}},uo=class i{of(e){return new xr(this,e)}reconfigure(e){return i.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}},xr=class{constructor(e,t){this.compartment=e,this.inner=t}},po=class i{constructor(e,t,n,r,s,o){for(this.base=e,this.compartments=t,this.dynamicSlots=n,this.address=r,this.staticValues=s,this.facets=o,this.statusTemplate=[];this.statusTemplate.length<n.length;)this.statusTemplate.push(0)}staticFacet(e){let t=this.address[e.id];return t==null?e.default:this.staticValues[t>>1]}static resolve(e,t,n){let r=[],s=Object.create(null),o=new Map;for(let f of Nb(e,t,o))f instanceof ue?r.push(f):(s[f.facet.id]||(s[f.facet.id]=[])).push(f);let a=Object.create(null),l=[],O=[];for(let f of r)a[f.id]=O.length<<1,O.push(u=>f.slot(u));let c=n?.config.facets;for(let f in s){let u=s[f],d=u[0].facet,p=c&&c[f]||[];if(u.every(m=>m.type==0))if(a[d.id]=l.length<<1|1,TO(p,u))l.push(n.facet(d));else{let m=d.combine(u.map(g=>g.value));l.push(n&&d.compare(m,n.facet(d))?n.facet(d):m)}else{for(let m of u)m.type==0?(a[m.id]=l.length<<1|1,l.push(m.value)):(a[m.id]=O.length<<1,O.push(g=>m.dynamicSlot(g)));a[d.id]=O.length<<1,O.push(m=>Ib(m,d,u))}}let h=O.map(f=>f(a));return new i(e,o,h,a,l,s)}};function Nb(i,e,t){let n=[[],[],[],[],[]],r=new Map;function s(o,a){let l=r.get(o);if(l!=null){if(l<=a)return;let O=n[l].indexOf(o);O>-1&&n[l].splice(O,1),o instanceof xr&&t.delete(o.compartment)}if(r.set(o,a),Array.isArray(o))for(let O of o)s(O,a);else if(o instanceof xr){if(t.has(o.compartment))throw new RangeError("Duplicate use of compartment in extensions");let O=e.get(o.compartment)||o.inner;t.set(o.compartment,O),s(O,a)}else if(o instanceof fo)s(o.inner,o.prec);else if(o instanceof ue)n[a].push(o),o.provides&&s(o.provides,a);else if(o instanceof Sn)n[a].push(o),o.facet.extensions&&s(o.facet.extensions,_i.default);else{let O=o.extension;if(!O)throw new Error(`Unrecognized extension value in extension set (${o}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);s(O,a)}}return s(i,_i.default),n.reduce((o,a)=>o.concat(a))}function br(i,e){if(e&1)return 2;let t=e>>1,n=i.status[t];if(n==4)throw new Error("Cyclic dependency between fields and/or facets");if(n&2)return n;i.status[t]=4;let r=i.computeSlot(i,i.config.dynamicSlots[t]);return i.status[t]=2|r}function mo(i,e){return e&1?i.config.staticValues[e>>1]:i.values[e>>1]}var ap=X.define(),yO=X.define({combine:i=>i.some(e=>e),static:!0}),lp=X.define({combine:i=>i.length?i[0]:void 0,static:!0}),Op=X.define(),cp=X.define(),hp=X.define(),fp=X.define({combine:i=>i.length?i[0]:!1}),De=class{constructor(e,t){this.type=e,this.value=t}static define(){return new QO}},QO=class{of(e){return new De(this,e)}},SO=class{constructor(e){this.map=e}of(e){return new Z(this,e)}},Z=class i{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return t===void 0?void 0:t==this.value?this:new i(this.type,t)}is(e){return this.type==e}static define(e={}){return new SO(e.map||(t=>t))}static mapEffects(e,t){if(!e.length)return e;let n=[];for(let r of e){let s=r.map(t);s&&n.push(s)}return n}};Z.reconfigure=Z.define();Z.appendConfig=Z.define();var xe=class i{constructor(e,t,n,r,s,o){this.startState=e,this.changes=t,this.selection=n,this.effects=r,this.annotations=s,this.scrollIntoView=o,this._doc=null,this._state=null,n&&op(n,t.newLength),s.some(a=>a.type==i.time)||(this.annotations=s.concat(i.time.of(Date.now())))}static create(e,t,n,r,s,o){return new i(e,t,n,r,s,o)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(i.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}};xe.time=De.define();xe.userEvent=De.define();xe.addToHistory=De.define();xe.remote=De.define();function Fb(i,e){let t=[];for(let n=0,r=0;;){let s,o;if(n<i.length&&(r==e.length||e[r]>=i[n]))s=i[n++],o=i[n++];else if(r<e.length)s=e[r++],o=e[r++];else return t;!t.length||t[t.length-1]<s?t.push(s,o):t[t.length-1]<o&&(t[t.length-1]=o)}}function up(i,e,t){var n;let r,s,o;return t?(r=e.changes,s=Ae.empty(e.changes.length),o=i.changes.compose(e.changes)):(r=e.changes.map(i.changes),s=i.changes.mapDesc(e.changes,!0),o=i.changes.compose(r)),{changes:o,selection:e.selection?e.selection.map(s):(n=i.selection)===null||n===void 0?void 0:n.map(r),effects:Z.mapEffects(i.effects,r).concat(Z.mapEffects(e.effects,s)),annotations:i.annotations.length?i.annotations.concat(e.annotations):e.annotations,scrollIntoView:i.scrollIntoView||e.scrollIntoView}}function bO(i,e,t){let n=e.selection,r=bn(e.annotations);return e.userEvent&&(r=r.concat(xe.userEvent.of(e.userEvent))),{changes:e.changes instanceof Ae?e.changes:Ae.of(e.changes||[],t,i.facet(lp)),selection:n&&(n instanceof P?n:P.single(n.anchor,n.head)),effects:bn(e.effects),annotations:r,scrollIntoView:!!e.scrollIntoView}}function dp(i,e,t){let n=bO(i,e.length?e[0]:{},i.doc.length);e.length&&e[0].filter===!1&&(t=!1);for(let s=1;s<e.length;s++){e[s].filter===!1&&(t=!1);let o=!!e[s].sequential;n=up(n,bO(i,e[s],o?n.changes.newLength:i.doc.length),o)}let r=xe.create(i,n.changes,n.selection,n.effects,n.annotations,n.scrollIntoView);return Kb(t?Hb(r):r)}function Hb(i){let e=i.startState,t=!0;for(let r of e.facet(Op)){let s=r(i);if(s===!1){t=!1;break}Array.isArray(s)&&(t=t===!0?s:Fb(t,s))}if(t!==!0){let r,s;if(t===!1)s=i.changes.invertedDesc,r=Ae.empty(e.doc.length);else{let o=i.changes.filter(t);r=o.changes,s=o.filtered.mapDesc(o.changes).invertedDesc}i=xe.create(e,r,i.selection&&i.selection.map(s),Z.mapEffects(i.effects,s),i.annotations,i.scrollIntoView)}let n=e.facet(cp);for(let r=n.length-1;r>=0;r--){let s=n[r](i);s instanceof xe?i=s:Array.isArray(s)&&s.length==1&&s[0]instanceof xe?i=s[0]:i=dp(e,bn(s),!1)}return i}function Kb(i){let e=i.startState,t=e.facet(hp),n=i;for(let r=t.length-1;r>=0;r--){let s=t[r](i);s&&Object.keys(s).length&&(n=up(n,bO(e,s,i.changes.newLength),!0))}return n==i?i:xe.create(e,i.changes,i.selection,n.effects,n.annotations,n.scrollIntoView)}var Jb=[];function bn(i){return i==null?Jb:Array.isArray(i)?i:[i]}var ie=function(i){return i[i.Word=0]="Word",i[i.Space=1]="Space",i[i.Other=2]="Other",i}(ie||(ie={})),ex=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,xO;try{xO=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function tx(i){if(xO)return xO.test(i);for(let e=0;e<i.length;e++){let t=i[e];if(/\w/.test(t)||t>"\x80"&&(t.toUpperCase()!=t.toLowerCase()||ex.test(t)))return!0}return!1}function ix(i){return e=>{if(!/\S/.test(e))return ie.Space;if(tx(e))return ie.Word;for(let t=0;t<i.length;t++)if(e.indexOf(i[t])>-1)return ie.Word;return ie.Other}}var ee=class i{constructor(e,t,n,r,s,o){this.config=e,this.doc=t,this.selection=n,this.values=r,this.status=e.statusTemplate.slice(),this.computeSlot=s,o&&(o._state=this);for(let a=0;a<this.config.dynamicSlots.length;a++)br(this,a<<1);this.computeSlot=null}field(e,t=!0){let n=this.config.address[e.id];if(n==null){if(t)throw new RangeError("Field is not present in this state");return}return br(this,n),mo(this,n)}update(...e){return dp(this,e,!0)}applyTransaction(e){let t=this.config,{base:n,compartments:r}=t;for(let a of e.effects)a.is(uo.reconfigure)?(t&&(r=new Map,t.compartments.forEach((l,O)=>r.set(O,l)),t=null),r.set(a.value.compartment,a.value.extension)):a.is(Z.reconfigure)?(t=null,n=a.value):a.is(Z.appendConfig)&&(t=null,n=bn(n).concat(a.value));let s;t?s=e.startState.values.slice():(t=po.resolve(n,r,this),s=new i(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(l,O)=>O.reconfigure(l,this),null).values);let o=e.startState.facet(yO)?e.newSelection:e.newSelection.asSingle();new i(t,e.newDoc,o,s,(a,l)=>l.update(a,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:P.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,n=e(t.ranges[0]),r=this.changes(n.changes),s=[n.range],o=bn(n.effects);for(let a=1;a<t.ranges.length;a++){let l=e(t.ranges[a]),O=this.changes(l.changes),c=O.map(r);for(let f=0;f<a;f++)s[f]=s[f].map(c);let h=r.mapDesc(O,!0);s.push(l.range.map(h)),r=r.compose(c),o=Z.mapEffects(o,c).concat(Z.mapEffects(bn(l.effects),h))}return{changes:r,selection:P.create(s,t.mainIndex),effects:o}}changes(e=[]){return e instanceof Ae?e:Ae.of(e,this.doc.length,this.facet(i.lineSeparator))}toText(e){return U.of(e.split(this.facet(i.lineSeparator)||pO))}sliceDoc(e=0,t=this.doc.length){return this.doc.sliceString(e,t,this.lineBreak)}facet(e){let t=this.config.address[e.id];return t==null?e.default:(br(this,t),mo(this,t))}toJSON(e){let t={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(e)for(let n in e){let r=e[n];r instanceof ue&&this.config.address[r.id]!=null&&(t[n]=r.spec.toJSON(this.field(e[n]),this))}return t}static fromJSON(e,t={},n){if(!e||typeof e.doc!="string")throw new RangeError("Invalid JSON representation for EditorState");let r=[];if(n){for(let s in n)if(Object.prototype.hasOwnProperty.call(e,s)){let o=n[s],a=e[s];r.push(o.init(l=>o.spec.fromJSON(a,l)))}}return i.create({doc:e.doc,selection:P.fromJSON(e.selection),extensions:t.extensions?r.concat([t.extensions]):r})}static create(e={}){let t=po.resolve(e.extensions||[],new Map),n=e.doc instanceof U?e.doc:U.of((e.doc||"").split(t.staticFacet(i.lineSeparator)||pO)),r=e.selection?e.selection instanceof P?e.selection:P.single(e.selection.anchor,e.selection.head):P.single(0);return op(r,n.length),t.staticFacet(yO)||(r=r.asSingle()),new i(t,n,r,t.dynamicSlots.map(()=>null),(s,o)=>o.create(s),null)}get tabSize(){return this.facet(i.tabSize)}get lineBreak(){return this.facet(i.lineSeparator)||`55 `}get readOnly(){return this.facet( fp)}phrase(e,...t){for(let n of this.facet(i.phrases))if(Object.prototype.hasOwnProperty.call(n,e)){e=n[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(n,r)=>{if(r=="$")return"$";let s=+(r||1);return!s||s>t.length?n:t[s-1]})),e}languageDataAt(e,t,n=-1){let r=[];for(let s of this.facet(ap))for(let o of s(this,t,n))Object.prototype.hasOwnProperty.call(o,e)&&r.push(o[e]);return r}charCategorizer(e){return ix(this.languageDataAt("wordChars",e).join(""))}wordAt(e){let{text:t,from:n,length:r}=this.doc.lineAt(e),s=this.charCategorizer(e),o=e-n,a=e-n;for(;o>0;){let l=ve(t,o,!1);if(s(t.slice(l,o))!=ie.Word)break;o=l}for(;a<r;){let l=ve(t,a);if(s(t.slice(a,l))!=ie.Word)break;a=l}return o==a?null:P.range(o+n,a+n)}};ee.allowMultipleSelections=yO;ee.tabSize=X.define({combine:i=>i.length?i[0]:4});ee.lineSeparator=lp;ee.readOnly=fp;ee.phrases=X.define({compare(i,e){let t=Object.keys(i),n=Object.keys(e);return t.length==n.length&&t.every(r=>i[r]==e[r])}});ee.languageData=ap;ee.changeFilter=Op;ee.transactionFilter=cp;ee.transactionExtender=hp;uo.reconfigure=Z.define();function Ze(i,e,t={}){let n={};for(let r of i)for(let s of Object.keys(r)){let o=r[s],a=n[s];if(a===void 0)n[s]=o;else if(!(a===o||o===void 0))if(Object.hasOwnProperty.call(t,s))n[s]=t[s](a,o);else throw new Error("Config merge conflict for field "+s)}for(let r in e)n[r]===void 0&&(n[r]=e[r]);return n}var pt=class{eq(e){return this==e}range(e,t=e){return vr.create(e,t,this)}};pt.prototype.startSide=pt.prototype.endSide=0;pt.prototype.point=!1;pt.prototype.mapMode=Pe.TrackDel;var vr=class i{constructor(e,t,n){this.from=e,this.to=t,this.value=n}static create(e,t,n){return new i(e,t,n)}};function vO(i,e){return i.from-e.from||i.value.startSide-e.value.startSide}var wO=class i{constructor(e,t,n,r){this.from=e,this.to=t,this.value=n,this.maxPoint=r}get length(){return this.to[this.to.length-1]}findIndex(e,t,n,r=0){let s=n?this.to:this.from;for(let o=r,a=s.length;;){if(o==a)return o;let l=o+a>>1,O=s[l]-e||(n?this.value[l].endSide:this.value[l].startSide)-t;if(l==o)return O>=0?o:a;O>=0?a=l:o=l+1}}between(e,t,n,r){for(let s=this.findIndex(t,-1e9,!0),o=this.findIndex(n,1e9,!1,s);s<o;s++)if(r(this.from[s]+e,this.to[s]+e,this.value[s])===!1)return!1}map(e,t){let n=[],r=[],s=[],o=-1,a=-1;for(let l=0;l<this.value.length;l++){let O=this.value[l],c=this.from[l]+e,h=this.to[l]+e,f,u;if(c==h){let d=t.mapPos(c,O.startSide,O.mapMode);if(d==null||(f=u=d,O.startSide!=O.endSide&&(u=t.mapPos(c,O.endSide),u<f)))continue}else if(f=t.mapPos(c,O.startSide),u=t.mapPos(h,O.endSide),f>u||f==u&&O.startSide>0&&O.endSide<=0)continue;(u-f||O.endSide-O.startSide)<0||(o<0&&(o=f),O.point&&(a=Math.max(a,u-f)),n.push(O),r.push(f-o),s.push(u-o))}return{mapped:n.length?new i(r,s,n,a):null,pos:o}}},F=class i{constructor(e,t,n,r){this.chunkPos=e,this.chunk=t,this.nextLayer=n,this.maxPoint=r}static create(e,t,n,r){return new i(e,t,n,r)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:n=!1,filterFrom:r=0,filterTo:s=this.length}=e,o=e.filter;if(t.length==0&&!o)return this;if(n&&(t=t.slice().sort(vO)),this.isEmpty)return t.length?i.of(t):this;let a=new go(this,null,-1).goto(0),l=0,O=[],c=new He;for(;a.value||l<t.length;)if(l<t.length&&(a.from-t[l].from||a.startSide-t[l].value.startSide)>=0){let h=t[l++];c.addInner(h.from,h.to,h.value)||O.push(h)}else a.rangeIndex==1&&a.chunkIndex<this.chunk.length&&(l==t.length||this.chunkEnd(a.chunkIndex)<t[l].from)&&(!o||r>this.chunkEnd(a.chunkIndex)||s<this.chunkPos[a.chunkIndex])&&c.addChunk(this.chunkPos[a.chunkIndex],this.chunk[a.chunkIndex])?a.nextChunk():((!o||r>a.to||s<a.from||o(a.from,a.to,a.value))&&(c.addInner(a.from,a.to,a.value)||O.push(vr.create(a.from,a.to,a.value))),a.next());return c.finishInner(this.nextLayer.isEmpty&&!O.length?i.empty:this.nextLayer.update({add:O,filter:o,filterFrom:r,filterTo:s}))}map(e){if(e.empty||this.isEmpty)return this;let t=[],n=[],r=-1;for(let o=0;o<this.chunk.length;o++){let a=this.chunkPos[o],l=this.chunk[o],O=e.touchesRange(a,a+l.length);if(O===!1)r=Math.max(r,l.maxPoint),t.push(l),n.push(e.mapPos(a));else if(O===!0){let{mapped:c,pos:h}=l.map(a,e);c&&(r=Math.max(r,c.maxPoint),t.push(c),n.push(h))}}let s=this.nextLayer.map(e);return t.length==0?s:new i(n,t,s||i.empty,r)}between(e,t,n){if(!this.isEmpty){for(let r=0;r<this.chunk.length;r++){let s=this.chunkPos[r],o=this.chunk[r];if(t>=s&&e<=s+o.length&&o.between(s,e-s,t-s,n)===!1)return}this.nextLayer.between(e,t,n)}}iter(e=0){return wr.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return wr.from(e).goto(t)}static compare(e,t,n,r,s=-1){let o=e.filter(h=>h.maxPoint>0||!h.isEmpty&&h.maxPoint>=s),a=t.filter(h=>h.maxPoint>0||!h.isEmpty&&h.maxPoint>=s),l=ip(o,a,n),O=new Ci(o,l,s),c=new Ci(a,l,s);n.iterGaps((h,f,u)=>np(O,h,c,f,u,r)),n.empty&&n.length==0&&np(O,0,c,0,0,r)}static eq(e,t,n=0,r){r==null&&(r=999999999);let s=e.filter(c=>!c.isEmpty&&t.indexOf(c)<0),o=t.filter(c=>!c.isEmpty&&e.indexOf(c)<0);if(s.length!=o.length)return!1;if(!s.length)return!0;let a=ip(s,o),l=new Ci(s,a,0).goto(n),O=new Ci(o,a,0).goto(n);for(;;){if(l.to!=O.to||!PO(l.active,O.active)||l.point&&(!O.point||!l.point.eq(O.point)))return!1;if(l.to>r)return!0;l.next(),O.next()}}static spans(e,t,n,r,s=-1){let o=new Ci(e,null,s).goto(t),a=t,l=o.openStart;for(;;){let O=Math.min(o.to,n);if(o.point){let c=o.activeForPoint(o.to),h=o.pointFrom<t?c.length+1:o.point.startSide<0?c.length:Math.min(c.length,l);r.point(a,O,o.point,c,h,o.pointRank),l=Math.min(o.openEnd(O),c.length)}else O>a&&(r.span(a,O,o.active,l),l=o.openEnd(O));if(o.to>n)return l+(o.point&&o.to>n?1:0);a=o.to,o.next()}}static of(e,t=!1){let n=new He;for(let r of e instanceof vr?[e]:t?nx(e):e)n.add(r.from,r.to,r.value);return n.finish()}static join(e){if(!e.length)return i.empty;let t=e[e.length-1];for(let n=e.length-2;n>=0;n--)for(let r=e[n];r!=i.empty;r=r.nextLayer)t=new i(r.chunkPos,r.chunk,t,Math.max(r.maxPoint,t.maxPoint));return t}};F.empty=new F([],[],null,-1);function nx(i){if(i.length>1)for(let e=i[0],t=1;t<i.length;t++){let n=i[t];if(vO(e,n)>0)return i.slice().sort(vO);e=n}return i}F.empty.nextLayer=F.empty;var He=class i{finishChunk(e){this.chunks.push(new wO(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,n){this.addInner(e,t,n)||(this.nextLayer||(this.nextLayer=new i)).add(e,t,n)}addInner(e,t,n){let r=e-this.lastTo||n.startSide-this.last.endSide;if(r<=0&&(e-this.lastFrom||n.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return r<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=n,this.lastFrom=e,this.lastTo=t,this.value.push(n),n.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let n=t.value.length-1;return this.last=t.value[n],this.lastFrom=t.from[n]+e,this.lastTo=t.to[n]+e,!0}finish(){return this.finishInner(F.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=F.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}};function ip(i,e,t){let n=new Map;for(let s of i)for(let o=0;o<s.chunk.length;o++)s.chunk[o].maxPoint<=0&&n.set(s.chunk[o],s.chunkPos[o]);let r=new Set;for(let s of e)for(let o=0;o<s.chunk.length;o++){let a=n.get(s.chunk[o]);a!=null&&(t?t.mapPos(a):a)==s.chunkPos[o]&&!t?.touchesRange(a,a+s.chunk[o].length)&&r.add(s.chunk[o])}return r}var go=class{constructor(e,t,n,r=0){this.layer=e,this.skip=t,this.minPoint=n,this.rank=r}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(e,t=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(e,t,!1),this}gotoInner(e,t,n){for(;this.chunkIndex<this.layer.chunk.length;){let r=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(r)||this.layer.chunkEnd(this.chunkIndex)<e||r.maxPoint<this.minPoint))break;this.chunkIndex++,n=!1}if(this.chunkIndex<this.layer.chunk.length){let r=this.layer.chunk[this.chunkIndex].findIndex(e-this.layer.chunkPos[this.chunkIndex],t,!0);(!n||this.rangeIndex<r)&&this.setRangeIndex(r)}this.next()}forward(e,t){(this.to-e||this.endSide-t)<0&&this.gotoInner(e,t,!0)}next(){for(;;)if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9,this.value=null;break}else{let e=this.layer.chunkPos[this.chunkIndex],t=this.layer.chunk[this.chunkIndex],n=e+t.from[this.rangeIndex];if(this.from=n,this.to=e+t.to[this.rangeIndex],this.value=t.value[this.rangeIndex],this.setRangeIndex(this.rangeIndex+1),this.minPoint<0||this.value.point&&this.to-this.from>=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex<this.layer.chunk.length&&this.skip.has(this.layer.chunk[this.chunkIndex]);)this.chunkIndex++;this.rangeIndex=0}else this.rangeIndex=e}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(e){return this.from-e.from||this.startSide-e.startSide||this.rank-e.rank||this.to-e.to||this.endSide-e.endSide}},wr=class i{constructor(e){this.heap=e}static from(e,t=null,n=-1){let r=[];for(let s=0;s<e.length;s++)for(let o=e[s];!o.isEmpty;o=o.nextLayer)o.maxPoint>=n&&r.push(new go(o,t,n,s));return r.length==1?r[0]:new i(r)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let n of this.heap)n.goto(e,t);for(let n=this.heap.length>>1;n>=0;n--)uO(this.heap,n);return this.next(),this}forward(e,t){for(let n of this.heap)n.forward(e,t);for(let n=this.heap.length>>1;n>=0;n--)uO(this.heap,n);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),uO(this.heap,0)}}};function uO(i,e){for(let t=i[e];;){let n=(e<<1)+1;if(n>=i.length)break;let r=i[n];if(n+1<i.length&&r.compare(i[n+1])>=0&&(r=i[n+1],n++),t.compare(r)<0)break;i[n]=t,i[e]=r,e=n}}var Ci=class{constructor(e,t,n){this.minPoint=n,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=wr.from(e,t,n)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){ao(this.active,e),ao(this.activeTo,e),ao(this.activeRank,e),this.minActive=rp(this.active,this.activeTo)}addActive(e){let t=0,{value:n,to:r,rank:s}=this.cursor;for(;t<this.activeRank.length&&(s-this.activeRank[t]||r-this.activeTo[t])>0;)t++;lo(this.active,t,n),lo(this.activeTo,t,r),lo(this.activeRank,t,s),e&&lo(e,t,this.cursor.from),this.minActive=rp(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let n=this.openStart<0?[]:null;for(;;){let r=this.minActive;if(r>-1&&(this.activeTo[r]-this.cursor.from||this.active[r].endSide-this.cursor.startSide)<0){if(this.activeTo[r]>e){this.to=this.activeTo[r],this.endSide=this.active[r].endSide;break}this.removeActive(r),n&&ao(n,r)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let s=this.cursor.value;if(!s.point)this.addActive(n),this.cursor.next();else if(t&&this.cursor.to==this.to&&this.cursor.from<this.cursor.to)this.cursor.next();else{this.point=s,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=s.endSide,this.cursor.next(),this.forward(this.to,this.endSide);break}}else{this.to=this.endSide=1e9;break}}if(n){this.openStart=0;for(let r=n.length-1;r>=0&&n[r]<e;r--)this.openStart++}}activeForPoint(e){if(!this.active.length)return this.active;let t=[];for(let n=this.active.length-1;n>=0&&!(this.activeRank[n]<this.pointRank);n--)(this.activeTo[n]>e||this.activeTo[n]==e&&this.active[n].endSide>=this.point.endSide)&&t.push(this.active[n]);return t.reverse()}openEnd(e){let t=0;for(let n=this.activeTo.length-1;n>=0&&this.activeTo[n]>e;n--)t++;return t}};function np(i,e,t,n,r,s){i.goto(e),t.goto(n);let o=n+r,a=n,l=n-e;for(;;){let O=i.to+l-t.to,c=O||i.endSide-t.endSide,h=c<0?i.to+l:t.to,f=Math.min(h,o);if(i.point||t.point?i.point&&t.point&&(i.point==t.point||i.point.eq(t.point))&&PO(i.activeForPoint(i.to),t.activeForPoint(t.to))||s.comparePoint(a,f,i.point,t.point):f>a&&!PO(i.active,t.active)&&s.compareRange(a,f,i.active,t.active),h>o)break;(O||i.openEnd!=t.openEnd)&&s.boundChange&&s.boundChange(h),a=h,c<=0&&i.next(),c>=0&&t.next()}}function PO(i,e){if(i.length!=e.length)return!1;for(let t=0;t<i.length;t++)if(i[t]!=e[t]&&!i[t].eq(e[t]))return!1;return!0}function ao(i,e){for(let t=e,n=i.length-1;t<n;t++)i[t]=i[t+1];i.pop()}function lo(i,e,t){for(let n=i.length-1;n>=e;n--)i[n+1]=i[n];i[e]=t}function rp(i,e){let t=-1,n=1e9;for(let r=0;r<e.length;r++)(e[r]-n||i[r].endSide-i[t].endSide)<0&&(t=r,n=e[r]);return t}function Gt(i,e,t=i.length){let n=0;for(let r=0;r<t&&r<i.length;)i.charCodeAt(r)==9?(n+=e-n%e,r++):(n++,r=ve(i,r));return n}function $o(i,e,t,n){for(let r=0,s=0;;){if(s>=e)return r;if(r==i.length)break;s+=i.charCodeAt(r)==9?t-s%t:1,r=ve(i,r)}return n===!0?-1:i.length}var zO="\u037C",pp=typeof Symbol>"u"?"__"+zO:Symbol.for(zO),XO=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),mp=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{},Ot=class{constructor(e,t){this.rules=[];let{finish:n}=t||{};function r(o){return/^@/.test(o)?[o]:o.split(/,\s*/)}function s(o,a,l,O){let c=[],h=/^@(\w+)\b/.exec(o[0]),f=h&&h[1]=="keyframes";if(h&&a==null)return l.push(o[0]+";");for(let u in a){let d=a[u];if(/&/.test(u))s(u.split(/,\s*/).map(p=>o.map(m=>p.replace(/&/,m))).reduce((p,m)=>p.concat(m)),d,l);else if(d&&typeof d=="object"){if(!h)throw new RangeError("The value of a property ("+u+") should be a primitive value.");s(r(u),d,c,f)}else d!=null&&c.push(u.replace(/_.*/,"").replace(/[A-Z]/g,p=>"-"+p.toLowerCase())+": "+d+";")}(c.length||f)&&l.push((n&&!h&&!O?o.map(n):o).join(", ")+" {"+c.join(" ")+"}")}for(let o in e)s(r(o),e[o],this.rules)}getRules(){return this.rules.join(`56 `)}static newName(){let e= mp[pp]||1;return mp[pp]=e+1,zO+e.toString(36)}static mount(e,t,n){let r=e[XO],s=n&&n.nonce;r?s&&r.setNonce(s):r=new RO(e,s),r.mount(Array.isArray(t)?t:[t],e)}},gp=new Map,RO=class{constructor(e,t){let n=e.ownerDocument||e,r=n.defaultView;if(!e.head&&e.adoptedStyleSheets&&r.CSSStyleSheet){let s=gp.get(n);if(s)return e[XO]=s;this.sheet=new r.CSSStyleSheet,gp.set(n,this)}else this.styleTag=n.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[XO]=this}mount(e,t){let n=this.sheet,r=0,s=0;for(let o=0;o<e.length;o++){let a=e[o],l=this.modules.indexOf(a);if(l<s&&l>-1&&(this.modules.splice(l,1),s--,l=-1),l==-1){if(this.modules.splice(s++,0,a),n)for(let O=0;O<a.rules.length;O++)n.insertRule(a.rules[O],r++)}else{for(;s<l;)r+=this.modules[s++].rules.length;r+=a.rules.length,s++}}if(n)t.adoptedStyleSheets.indexOf(this.sheet)<0&&(t.adoptedStyleSheets=[this.sheet,...t.adoptedStyleSheets]);else{let o="";for(let l=0;l<this.modules.length;l++)o+=this.modules[l].getRules()+`57 `;this.styleTag.textContent=o;let a=t.head||t;this.styleTag.parentNode!=a&&a.insertBefore(this.styleTag,a.firstChild)}}setNonce(e){this.styleTag&&this.styleTag.getAttribute("nonce")!=e&&this.styleTag.setAttribute("nonce",e)}};var Bt={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},vn={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'}, rx=typeof navigator<"u"&&/Mac/.test(navigator.platform),sx=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(we=0;we<10;we++)Bt[48+we]=Bt[96+we]=String(we);var we;for(we=1;we<=24;we++)Bt[we+111]="F"+we;var we;for(we=65;we<=90;we++)Bt[we]=String.fromCharCode(we+32),vn[we]=String.fromCharCode(we);var we;for(yo in Bt)vn.hasOwnProperty(yo)||(vn[yo]=Bt[yo]);var yo;function $p(i){var e=rx&&i.metaKey&&i.shiftKey&&!i.ctrlKey&&!i.altKey||sx&&i.shiftKey&&i.key&&i.key.length==1||i.key=="Unidentified",t=!e&&i.key||(i.shiftKey?vn:Bt)[i.keyCode]||i.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}function B(){var i=arguments[0];typeof i=="string"&&(i=document.createElement(i));var e=1,t=arguments[1];if(t&&typeof t=="object"&&t.nodeType==null&&!Array.isArray(t)){for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n)){var r=t[n];typeof r=="string"?i.setAttribute(n,r):r!=null&&(i[n]=r)}e++}for(;e<arguments.length;e++)yp(i,arguments[e]);return i}function yp(i,e){if(typeof e=="string")i.appendChild(document.createTextNode(e));else if(e!=null)if(e.nodeType!=null)i.appendChild(e);else if(Array.isArray(e))for(var t=0;t<e.length;t++)yp(i,e[t]);else throw new RangeError("Unsupported child node: "+e)}function jr(i){let e;return i.nodeType==11?e=i.getSelection?i:i.ownerDocument:e=i,e.getSelection()}function jO(i,e){return e?i==e||i.contains(e.nodeType!=1?e.parentNode:e):!1}function zo(i,e){if(!e.anchorNode)return!1;try{return jO(i,e.anchorNode)}catch{return!1}}function Yr(i){return i.nodeType==3?ji(i,0,i.nodeValue.length).getClientRects():i.nodeType==1?i.getClientRects():[]}function qr(i,e,t,n){return t?Qp(i,e,t,n,-1)||Qp(i,e,t,n,1):!1}function Ai(i){for(var e=0;;e++)if(i=i.previousSibling,!i)return e}function Zo(i){return i.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(i.nodeName)}function Qp(i,e,t,n,r){for(;;){if(i==t&&e==n)return!0;if(e==(r<0?0:Tt(i))){if(i.nodeName=="DIV")return!1;let s=i.parentNode;if(!s||s.nodeType!=1)return!1;e=Ai(i)+(r<0?0:1),i=s}else if(i.nodeType==1){if(i=i.childNodes[e+(r<0?-1:0)],i.nodeType==1&&i.contentEditable=="false")return!1;e=r<0?Tt(i):0}else return!1}}function Tt(i){return i.nodeType==3?i.nodeValue.length:i.childNodes.length}function Ho(i,e){let t=e?i.left:i.right;return{left:t,right:t,top:i.top,bottom:i.bottom}}function ox(i){let e=i.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:i.innerWidth,top:0,bottom:i.innerHeight}}function Om(i,e){let t=e.width/i.offsetWidth,n=e.height/i.offsetHeight;return(t>.995&&t<1.005||!isFinite(t)||Math.abs(e.width-i.offsetWidth)<1)&&(t=1),(n>.995&&n<1.005||!isFinite(n)||Math.abs(e.height-i.offsetHeight)<1)&&(n=1),{scaleX:t,scaleY:n}}function ax(i,e,t,n,r,s,o,a){let l=i.ownerDocument,O=l.defaultView||window;for(let c=i,h=!1;c&&!h;)if(c.nodeType==1){let f,u=c==l.body,d=1,p=1;if(u)f=ox(O);else{if(/^(fixed|sticky)$/.test(getComputedStyle(c).position)&&(h=!0),c.scrollHeight<=c.clientHeight&&c.scrollWidth<=c.clientWidth){c=c.assignedSlot||c.parentNode;continue}let y=c.getBoundingClientRect();({scaleX:d,scaleY:p}=Om(c,y)),f={left:y.left,right:y.left+c.clientWidth*d,top:y.top,bottom:y.top+c.clientHeight*p}}let m=0,g=0;if(r=="nearest")e.top<f.top?(g=e.top-(f.top+o),t>0&&e.bottom>f.bottom+g&&(g=e.bottom-f.bottom+o)):e.bottom>f.bottom&&(g=e.bottom-f.bottom+o,t<0&&e.top-g<f.top&&(g=e.top-(f.top+o)));else{let y=e.bottom-e.top,S=f.bottom-f.top;g=(r=="center"&&y<=S?e.top+y/2-S/2:r=="start"||r=="center"&&t<0?e.top-o:e.bottom-S+o)-f.top}if(n=="nearest"?e.left<f.left?(m=e.left-(f.left+s),t>0&&e.right>f.right+m&&(m=e.right-f.right+s)):e.right>f.right&&(m=e.right-f.right+s,t<0&&e.left<f.left+m&&(m=e.left-(f.left+s))):m=(n=="center"?e.left+(e.right-e.left)/2-(f.right-f.left)/2:n=="start"==a?e.left-s:e.right-(f.right-f.left)+s)-f.left,m||g)if(u)O.scrollBy(m,g);else{let y=0,S=0;if(g){let x=c.scrollTop;c.scrollTop+=g/p,S=(c.scrollTop-x)*p}if(m){let x=c.scrollLeft;c.scrollLeft+=m/d,y=(c.scrollLeft-x)*d}e={left:e.left-y,top:e.top-S,right:e.right-y,bottom:e.bottom-S},y&&Math.abs(y-m)<1&&(n="nearest"),S&&Math.abs(S-g)<1&&(r="nearest")}if(u)break;(e.top<f.top||e.bottom>f.bottom||e.left<f.left||e.right>f.right)&&(e={left:Math.max(e.left,f.left),right:Math.min(e.right,f.right),top:Math.max(e.top,f.top),bottom:Math.min(e.bottom,f.bottom)}),c=c.assignedSlot||c.parentNode}else if(c.nodeType==11)c=c.host;else break}function lx(i){let e=i.ownerDocument,t,n;for(let r=i.parentNode;r&&!(r==e.body||t&&n);)if(r.nodeType==1)!n&&r.scrollHeight>r.clientHeight&&(n=r),!t&&r.scrollWidth>r.clientWidth&&(t=r),r=r.assignedSlot||r.parentNode;else if(r.nodeType==11)r=r.host;else break;return{x:t,y:n}}var YO=class{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:n}=e;this.set(t,Math.min(e.anchorOffset,t?Tt(t):0),n,Math.min(e.focusOffset,n?Tt(n):0))}set(e,t,n,r){this.anchorNode=e,this.anchorOffset=t,this.focusNode=n,this.focusOffset=r}},wn=null;function cm(i){if(i.setActive)return i.setActive();if(wn)return i.focus(wn);let e=[];for(let t=i;t&&(e.push(t,t.scrollTop,t.scrollLeft),t!=t.ownerDocument);t=t.parentNode);if(i.focus(wn==null?{get preventScroll(){return wn={preventScroll:!0},!0}}:void 0),!wn){wn=!1;for(let t=0;t<e.length;){let n=e[t++],r=e[t++],s=e[t++];n.scrollTop!=r&&(n.scrollTop=r),n.scrollLeft!=s&&(n.scrollLeft=s)}}}var Sp;function ji(i,e,t=e){let n=Sp||(Sp=document.createRange());return n.setEnd(i,t),n.setStart(i,e),n}function Xn(i,e,t,n){let r={key:e,code:e,keyCode:t,which:t,cancelable:!0};n&&({altKey:r.altKey,ctrlKey:r.ctrlKey,shiftKey:r.shiftKey,metaKey:r.metaKey}=n);let s=new KeyboardEvent("keydown",r);s.synthetic=!0,i.dispatchEvent(s);let o=new KeyboardEvent("keyup",r);return o.synthetic=!0,i.dispatchEvent(o),s.defaultPrevented||o.defaultPrevented}function Ox(i){for(;i;){if(i&&(i.nodeType==9||i.nodeType==11&&i.host))return i;i=i.assignedSlot||i.parentNode}return null}function hm(i){for(;i.attributes.length;)i.removeAttributeNode(i.attributes[0])}function cx(i,e){let t=e.focusNode,n=e.focusOffset;if(!t||e.anchorNode!=t||e.anchorOffset!=n)return!1;for(n=Math.min(n,Tt(t));;)if(n){if(t.nodeType!=1)return!1;let r=t.childNodes[n-1];r.contentEditable=="false"?n--:(t=r,n=Tt(t))}else{if(t==i)return!0;n=Ai(t),t=t.parentNode}}function fm(i){return i.scrollTop>Math.max(1,i.scrollHeight-i.clientHeight-4)}function um(i,e){for(let t=i,n=e;;){if(t.nodeType==3&&n>0)return{node:t,offset:n};if(t.nodeType==1&&n>0){if(t.contentEditable=="false")return null;t=t.childNodes[n-1],n=Tt(t)}else if(t.parentNode&&!Zo(t))n=Ai(t),t=t.parentNode;else return null}}function dm(i,e){for(let t=i,n=e;;){if(t.nodeType==3&&n<t.nodeValue.length)return{node:t,offset:n};if(t.nodeType==1&&n<t.childNodes.length){if(t.contentEditable=="false")return null;t=t.childNodes[n],n=0}else if(t.parentNode&&!Zo(t))n=Ai(t)+1,t=t.parentNode;else return null}}var je=class i{constructor(e,t,n=!0){this.node=e,this.offset=t,this.precise=n}static before(e,t){return new i(e.parentNode,Ai(e),t)}static after(e,t){return new i(e.parentNode,Ai(e)+1,t)}},Pc=[],le=class i{constructor(){this.parent=null,this.dom=null,this.flags=2}get overrideDOMText(){return null}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e){let t=this.posAtStart;for(let n of this.children){if(n==e)return t;t+=n.length+n.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}sync(e,t){if(this.flags&2){let n=this.dom,r=null,s;for(let o of this.children){if(o.flags&7){if(!o.dom&&(s=r?r.nextSibling:n.firstChild)){let a=i.get(s);(!a||!a.parent&&a.canReuseDOM(o))&&o.reuseDOM(s)}o.sync(e,t),o.flags&=-8}if(s=r?r.nextSibling:n.firstChild,t&&!t.written&&t.node==n&&s!=o.dom&&(t.written=!0),o.dom.parentNode==n)for(;s&&s!=o.dom;)s=bp(s);else n.insertBefore(o.dom,s);r=o.dom}for(s=r?r.nextSibling:n.firstChild,s&&t&&t.node==n&&(t.written=!0);s;)s=bp(s)}else if(this.flags&1)for(let n of this.children)n.flags&7&&(n.sync(e,t),n.flags&=-8)}reuseDOM(e){}localPosFromDOM(e,t){let n;if(e==this.dom)n=this.dom.childNodes[t];else{let r=Tt(e)==0?0:t==0?-1:1;for(;;){let s=e.parentNode;if(s==this.dom)break;r==0&&s.firstChild!=s.lastChild&&(e==s.firstChild?r=-1:r=1),e=s}r<0?n=e:n=e.nextSibling}if(n==this.dom.firstChild)return 0;for(;n&&!i.get(n);)n=n.nextSibling;if(!n)return this.length;for(let r=0,s=0;;r++){let o=this.children[r];if(o.dom==n)return s;s+=o.length+o.breakAfter}}domBoundsAround(e,t,n=0){let r=-1,s=-1,o=-1,a=-1;for(let l=0,O=n,c=n;l<this.children.length;l++){let h=this.children[l],f=O+h.length;if(O<e&&f>t)return h.domBoundsAround(e,t,O);if(f>=e&&r==-1&&(r=l,s=O),O>t&&h.dom.parentNode==this.dom){o=l,a=c;break}c=f,O=f+h.breakAfter}return{from:s,to:a<0?n+this.length:a,startDOM:(r?this.children[r-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:o<this.children.length&&o>=0?this.children[o].dom:null}}markDirty(e=!1){this.flags|=2,this.markParentsDirty(e)}markParentsDirty(e){for(let t=this.parent;t;t=t.parent){if(e&&(t.flags|=2),t.flags&1)return;t.flags|=1,e=!1}}setParent(e){this.parent!=e&&(this.parent=e,this.flags&7&&this.markParentsDirty(!0))}setDOM(e){this.dom!=e&&(this.dom&&(this.dom.cmView=null),this.dom=e,e.cmView=this)}get rootView(){for(let e=this;;){let t=e.parent;if(!t)return e;e=t}}replaceChildren(e,t,n=Pc){this.markDirty();for(let r=e;r<t;r++){let s=this.children[r];s.parent==this&&n.indexOf(s)<0&&s.destroy()}n.length<250?this.children.splice(e,t-e,...n):this.children=[].concat(this.children.slice(0,e),n,this.children.slice(t));for(let r=0;r<n.length;r++)n[r].setParent(this)}ignoreMutation(e){return!1}ignoreEvent(e){return!1}childCursor(e=this.length){return new Vo(this.children,e,this.children.length)}childPos(e,t=1){return this.childCursor().findPos(e,t)}toString(){let e=this.constructor.name.replace("View","");return e+(this.children.length?"("+this.children.join()+")":this.length?"["+(e=="Text"?this.text:this.length)+"]":"")+(this.breakAfter?"#":"")}static get(e){return e.cmView}get isEditable(){return!0}get isWidget(){return!1}get isHidden(){return!1}merge(e,t,n,r,s,o){return!1}become(e){return!1}canReuseDOM(e){return e.constructor==this.constructor&&!((this.flags|e.flags)&8)}getSide(){return 0}destroy(){for(let e of this.children)e.parent==this&&e.destroy();this.parent=null}};le.prototype.breakAfter=0;function bp(i){let e=i.nextSibling;return i.parentNode.removeChild(i),e}var Vo=class{constructor(e,t,n){this.children=e,this.pos=t,this.i=n,this.off=0}findPos(e,t=1){for(;;){if(e>this.pos||e==this.pos&&(t>0||this.i==0||this.children[this.i-1].breakAfter))return this.off=e-this.pos,this;let n=this.children[--this.i];this.pos-=n.length+n.breakAfter}}};function pm(i,e,t,n,r,s,o,a,l){let{children:O}=i,c=O.length?O[e]:null,h=s.length?s[s.length-1]:null,f=h?h.breakAfter:o;if(!(e==n&&c&&!o&&!f&&s.length<2&&c.merge(t,r,s.length?h:null,t==0,a,l))){if(n<O.length){let u=O[n];u&&(r<u.length||u.breakAfter&&h?.breakAfter)?(e==n&&(u=u.split(r),r=0),!f&&h&&u.merge(0,r,h,!0,0,l)?s[s.length-1]=u:((r||u.children.length&&!u.children[0].length)&&u.merge(0,r,null,!1,0,l),s.push(u))):u?.breakAfter&&(h?h.breakAfter=1:o=1),n++}for(c&&(c.breakAfter=o,t>0&&(!o&&s.length&&c.merge(t,c.length,s[0],!1,a,0)?c.breakAfter=s.shift().breakAfter:(t<c.length||c.children.length&&c.children[c.children.length-1].length==0)&&c.merge(t,c.length,null,!1,a,0),e++));e<n&&s.length;)if(O[n-1].become(s[s.length-1]))n--,s.pop(),l=s.length?0:a;else if(O[e].become(s[0]))e++,s.shift(),a=s.length?0:l;else break;!s.length&&e&&n<O.length&&!O[e-1].breakAfter&&O[n].merge(0,0,O[e-1],!1,a,l)&&e--,(e<n||s.length)&&i.replaceChildren(e,n,s)}}function mm(i,e,t,n,r,s){let o=i.childCursor(),{i:a,off:l}=o.findPos(t,1),{i:O,off:c}=o.findPos(e,-1),h=e-t;for(let f of n)h+=f.length;i.length+=h,pm(i,O,c,a,l,n,0,r,s)}var Le=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},UO=typeof document<"u"?document:{documentElement:{style:{}}},MO=/Edge\/(\d+)/.exec(Le.userAgent),gm=/MSIE \d/.test(Le.userAgent),EO=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Le.userAgent),Ko=!!(gm||EO||MO),xp=!Ko&&/gecko\/(\d+)/i.test(Le.userAgent),qO=!Ko&&/Chrome\/(\d+)/.exec(Le.userAgent),vp="webkitFontSmoothing"in UO.documentElement.style,$m=!Ko&&/Apple Computer/.test(Le.vendor),Pp=$m&&(/Mobile\/\w+/.test(Le.userAgent)||Le.maxTouchPoints>2),R={mac:Pp||/Mac/.test(Le.platform),windows:/Win/.test(Le.platform),linux:/Linux|X11/.test(Le.platform),ie:Ko,ie_version:gm?UO.documentMode||6:EO?+EO[1]:MO?+MO[1]:0,gecko:xp,gecko_version:xp?+(/Firefox\/(\d+)/.exec(Le.userAgent)||[0,0])[1]:0,chrome:!!qO,chrome_version:qO?+qO[1]:0,ios:Pp,android:/Android\b/.test(Le.userAgent),webkit:vp,safari:$m,webkit_version:vp?+(/\bAppleWebKit\/(\d+)/.exec(Le.userAgent)||[0,0])[1]:0,tabSize:UO.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"},hx=256,zt=class i extends le{constructor(e){super(),this.text=e}get length(){return this.text.length}createDOM(e){this.setDOM(e||document.createTextNode(this.text))}sync(e,t){this.dom||this.createDOM(),this.dom.nodeValue!=this.text&&(t&&t.node==this.dom&&(t.written=!0),this.dom.nodeValue=this.text)}reuseDOM(e){e.nodeType==3&&this.createDOM(e)}merge(e,t,n){return this.flags&8||n&&(!(n instanceof i)||this.length-(t-e)+n.length>hx||n.flags&8)?!1:(this.text=this.text.slice(0,e)+(n?n.text:"")+this.text.slice(t),this.markDirty(),!0)}split(e){let t=new i(this.text.slice(e));return this.text=this.text.slice(0,e),this.markDirty(),t.flags|=this.flags&8,t}localPosFromDOM(e,t){return e==this.dom?t:t?this.text.length:0}domAtPos(e){return new je(this.dom,e)}domBoundsAround(e,t,n){return{from:n,to:n+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}}coordsAt(e,t){return fx(this.dom,e,t)}},fi=class i extends le{constructor(e,t=[],n=0){super(),this.mark=e,this.children=t,this.length=n;for(let r of t)r.setParent(this)}setAttrs(e){if(hm(e),this.mark.class&&(e.className=this.mark.class),this.mark.attrs)for(let t in this.mark.attrs)e.setAttribute(t,this.mark.attrs[t]);return e}canReuseDOM(e){return super.canReuseDOM(e)&&!((this.flags|e.flags)&8)}reuseDOM(e){e.nodeName==this.mark.tagName.toUpperCase()&&(this.setDOM(e),this.flags|=6)}sync(e,t){this.dom?this.flags&4&&this.setAttrs(this.dom):this.setDOM(this.setAttrs(document.createElement(this.mark.tagName))),super.sync(e,t)}merge(e,t,n,r,s,o){return n&&(!(n instanceof i&&n.mark.eq(this.mark))||e&&s<=0||t<this.length&&o<=0)?!1:(mm(this,e,t,n?n.children.slice():[],s-1,o-1),this.markDirty(),!0)}split(e){let t=[],n=0,r=-1,s=0;for(let a of this.children){let l=n+a.length;l>e&&t.push(n<e?a.split(e-n):a),r<0&&n>=e&&(r=s),n=l,s++}let o=this.length-e;return this.length=e,r>-1&&(this.children.length=r,this.markDirty()),new i(this.mark,t,o)}domAtPos(e){return ym(this,e)}coordsAt(e,t){return Sm(this,e,t)}};function fx(i,e,t){let n=i.nodeValue.length;e>n&&(e=n);let r=e,s=e,o=0;e==0&&t<0||e==n&&t>=0?R.chrome||R.gecko||(e?(r--,o=1):s<n&&(s++,o=-1)):t<0?r--:s<n&&s++;let a=ji(i,r,s).getClientRects();if(!a.length)return null;let l=a[(o?o<0:t>=0)?0:a.length-1];return R.safari&&!o&&l.width==0&&(l=Array.prototype.find.call(a,O=>O.width)||l),o?Ho(l,o<0):l||null}var Ur=class i extends le{static create(e,t,n){return new i(e,t,n)}constructor(e,t,n){super(),this.widget=e,this.length=t,this.side=n,this.prevWidget=null}split(e){let t=i.create(this.widget,this.length-e,this.side);return this.length-=e,t}sync(e){(!this.dom||!this.widget.updateDOM(this.dom,e))&&(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(e)),this.widget.editable||(this.dom.contentEditable="false"))}getSide(){return this.side}merge(e,t,n,r,s,o){return n&&(!(n instanceof i)||!this.widget.compare(n.widget)||e>0&&s<=0||t<this.length&&o<=0)?!1:(this.length=e+(n?n.length:0)+(this.length-t),!0)}become(e){return e instanceof i&&e.side==this.side&&this.widget.constructor==e.widget.constructor?(this.widget.compare(e.widget)||this.markDirty(!0),this.dom&&!this.prevWidget&&(this.prevWidget=this.widget),this.widget=e.widget,this.length=e.length,!0):!1}ignoreMutation(){return!0}ignoreEvent(e){return this.widget.ignoreEvent(e)}get overrideDOMText(){if(this.length==0)return U.empty;let e=this;for(;e.parent;)e=e.parent;let{view:t}=e,n=t&&t.state.doc,r=this.posAtStart;return n?n.slice(r,r+this.length):U.empty}domAtPos(e){return(this.length?e==0:this.side>0)?je.before(this.dom):je.after(this.dom,e==this.length)}domBoundsAround(){return null}coordsAt(e,t){let n=this.widget.coordsAt(this.dom,e,t);if(n)return n;let r=this.dom.getClientRects(),s=null;if(!r.length)return null;let o=this.side?this.side<0:e>0;for(let a=o?r.length-1:0;s=r[a],!(e>0?a==0:a==r.length-1||s.top<s.bottom);a+=o?-1:1);return Ho(s,!o)}get isEditable(){return!1}get isWidget(){return!0}get isHidden(){return this.widget.isHidden}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}},Mr=class i extends le{constructor(e){super(),this.side=e}get length(){return 0}merge(){return!1}become(e){return e instanceof i&&e.side==this.side}split(){return new i(this.side)}sync(){if(!this.dom){let e=document.createElement("img");e.className="cm-widgetBuffer",e.setAttribute("aria-hidden","true"),this.setDOM(e)}}getSide(){return this.side}domAtPos(e){return this.side>0?je.before(this.dom):je.after(this.dom)}localPosFromDOM(){return 0}domBoundsAround(){return null}coordsAt(e){return this.dom.getBoundingClientRect()}get overrideDOMText(){return U.empty}get isHidden(){return!0}};zt.prototype.children=Ur.prototype.children=Mr.prototype.children=Pc;function ym(i,e){let t=i.dom,{children:n}=i,r=0;for(let s=0;r<n.length;r++){let o=n[r],a=s+o.length;if(!(a==s&&o.getSide()<=0)){if(e>s&&e<a&&o.dom.parentNode==t)return o.domAtPos(e-s);if(e<=s)break;s=a}}for(let s=r;s>0;s--){let o=n[s-1];if(o.dom.parentNode==t)return o.domAtPos(o.length)}for(let s=r;s<n.length;s++){let o=n[s];if(o.dom.parentNode==t)return o.domAtPos(0)}return new je(t,0)}function Qm(i,e,t){let n,{children:r}=i;t>0&&e instanceof fi&&r.length&&(n=r[r.length-1])instanceof fi&&n.mark.eq(e.mark)?Qm(n,e.children[0],t-1):(r.push(e),e.setParent(i)),i.length+=e.length}function Sm(i,e,t){let n=null,r=-1,s=null,o=-1;function a(O,c){for(let h=0,f=0;h<O.children.length&&f<=c;h++){let u=O.children[h],d=f+u.length;d>=c&&(u.children.length?a(u,c-f):(!s||s.isHidden&&(t>0||dx(s,u)))&&(d>c||f==d&&u.getSide()>0)?(s=u,o=c-f):(f<c||f==d&&u.getSide()<0&&!u.isHidden)&&(n=u,r=c-f)),f=d}}a(i,e);let l=(t<0?n:s)||n||s;return l?l.coordsAt(Math.max(0,l==n?r:o),t):ux(i)}function ux(i){let e=i.dom.lastChild;if(!e)return i.dom.getBoundingClientRect();let t=Yr(e);return t[t.length-1]||null}function dx(i,e){let t=i.coordsAt(0,1),n=e.coordsAt(0,1);return t&&n&&n.top<t.bottom}function DO(i,e){for(let t in i)t=="class"&&e.class?e.class+=" "+i.class:t=="style"&&e.style?e.style+=";"+i.style:e[t]=i[t];return e}var kp=Object.create(null);function Ao(i,e,t){if(i==e)return!0;i||(i=kp),e||(e=kp);let n=Object.keys(i),r=Object.keys(e);if(n.length-(t&&n.indexOf(t)>-1?1:0)!=r.length-(t&&r.indexOf(t)>-1?1:0))return!1;for(let s of n)if(s!=t&&(r.indexOf(s)==-1||i[s]!==e[s]))return!1;return!0}function LO(i,e,t){let n=!1;if(e)for(let r in e)t&&r in t||(n=!0,r=="style"?i.style.cssText="":i.removeAttribute(r));if(t)for(let r in t)e&&e[r]==t[r]||(n=!0,r=="style"?i.style.cssText=t[r]:i.setAttribute(r,t[r]));return n}function px(i){let e=Object.create(null);for(let t=0;t<i.attributes.length;t++){let n=i.attributes[t];e[n.name]=n.value}return e}var Ge=class{eq(e){return!1}updateDOM(e,t){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(e){return!0}coordsAt(e,t,n){return null}get isHidden(){return!1}get editable(){return!1}destroy(e){}},Ye=function(i){return i[i.Text=0]="Text",i[i.WidgetBefore=1]="WidgetBefore",i[i.WidgetAfter=2]="WidgetAfter",i[i.WidgetRange=3]="WidgetRange",i}(Ye||(Ye={})),q=class extends pt{constructor(e,t,n,r){super(),this.startSide=e,this.endSide=t,this.widget=n,this.spec=r}get heightRelevant(){return!1}static mark(e){return new Er(e)}static widget(e){let t=Math.max(-1e4,Math.min(1e4,e.side||0)),n=!!e.block;return t+=n&&!e.inlineOrder?t>0?3e8:-4e8:t>0?1e8:-1e8,new ui(e,t,t,n,e.widget||null,!1)}static replace(e){let t=!!e.block,n,r;if(e.isBlockGap)n=-5e8,r=4e8;else{let{start:s,end:o}=bm(e,t);n=(s?t?-3e8:-1:5e8)-1,r=(o?t?2e8:1:-6e8)+1}return new ui(e,n,r,t,e.widget||null,!0)}static line(e){return new Dr(e)}static set(e,t=!1){return F.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}};q.none=F.empty;var Er=class i extends q{constructor(e){let{start:t,end:n}=bm(e);super(t?-1:5e8,n?1:-6e8,null,e),this.tagName=e.tagName||"span",this.class=e.class||"",this.attrs=e.attributes||null}eq(e){var t,n;return this==e||e instanceof i&&this.tagName==e.tagName&&(this.class||((t=this.attrs)===null||t===void 0?void 0:t.class))==(e.class||((n=e.attrs)===null||n===void 0?void 0:n.class))&&Ao(this.attrs,e.attrs,"class")}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}};Er.prototype.point=!1;var Dr=class i extends q{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof i&&this.spec.class==e.spec.class&&Ao(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}};Dr.prototype.mapMode=Pe.TrackBefore;Dr.prototype.point=!0;var ui=class i extends q{constructor(e,t,n,r,s,o){super(t,n,s,e),this.block=r,this.isReplace=o,this.mapMode=r?t<=0?Pe.TrackBefore:Pe.TrackAfter:Pe.TrackDel}get type(){return this.startSide!=this.endSide?Ye.WidgetRange:this.startSide<=0?Ye.WidgetBefore:Ye.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof i&&mx(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}};ui.prototype.point=!0;function bm(i,e=!1){let{inclusiveStart:t,inclusiveEnd:n}=i;return t==null&&(t=i.inclusive),n==null&&(n=i.inclusive),{start:t??e,end:n??e}}function mx(i,e){return i==e||!!(i&&e&&i.compare(e))}function Xo(i,e,t,n=0){let r=t.length-1;r>=0&&t[r]+n>=i?t[r]=Math.max(t[r],e):t.push(i,e)}var Re=class i extends le{constructor(){super(...arguments),this.children=[],this.length=0,this.prevAttrs=void 0,this.attrs=null,this.breakAfter=0}merge(e,t,n,r,s,o){if(n){if(!(n instanceof i))return!1;this.dom||n.transferDOM(this)}return r&&this.setDeco(n?n.attrs:null),mm(this,e,t,n?n.children.slice():[],s,o),!0}split(e){let t=new i;if(t.breakAfter=this.breakAfter,this.length==0)return t;let{i:n,off:r}=this.childPos(e);r&&(t.append(this.children[n].split(r),0),this.children[n].merge(r,this.children[n].length,null,!1,0,0),n++);for(let s=n;s<this.children.length;s++)t.append(this.children[s],0);for(;n>0&&this.children[n-1].length==0;)this.children[--n].destroy();return this.children.length=n,this.markDirty(),this.length=e,t}transferDOM(e){this.dom&&(this.markDirty(),e.setDOM(this.dom),e.prevAttrs=this.prevAttrs===void 0?this.attrs:this.prevAttrs,this.prevAttrs=void 0,this.dom=null)}setDeco(e){Ao(this.attrs,e)||(this.dom&&(this.prevAttrs=this.attrs,this.markDirty()),this.attrs=e)}append(e,t){Qm(this,e,t)}addLineDeco(e){let t=e.spec.attributes,n=e.spec.class;t&&(this.attrs=DO(t,this.attrs||{})),n&&(this.attrs=DO({class:n},this.attrs||{}))}domAtPos(e){return ym(this,e)}reuseDOM(e){e.nodeName=="DIV"&&(this.setDOM(e),this.flags|=6)}sync(e,t){var n;this.dom?this.flags&4&&(hm(this.dom),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0):(this.setDOM(document.createElement("div")),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0),this.prevAttrs!==void 0&&(LO(this.dom,this.prevAttrs,this.attrs),this.dom.classList.add("cm-line"),this.prevAttrs=void 0),super.sync(e,t);let r=this.dom.lastChild;for(;r&&le.get(r)instanceof fi;)r=r.lastChild;if(!r||!this.length||r.nodeName!="BR"&&((n=le.get(r))===null||n===void 0?void 0:n.isEditable)==!1&&(!R.ios||!this.children.some(s=>s instanceof zt))){let s=document.createElement("BR");s.cmIgnore=!0,this.dom.appendChild(s)}}measureTextSize(){if(this.children.length==0||this.length>20)return null;let e=0,t;for(let n of this.children){if(!(n instanceof zt)||/[^ -~]/.test(n.text))return null;let r=Yr(n.dom);if(r.length!=1)return null;e+=r[0].width,t=r[0].height}return e?{lineHeight:this.dom.getBoundingClientRect().height,charWidth:e/this.length,textHeight:t}:null}coordsAt(e,t){let n=Sm(this,e,t);if(!this.children.length&&n&&this.parent){let{heightOracle:r}=this.parent.view.viewState,s=n.bottom-n.top;if(Math.abs(s-r.lineHeight)<2&&r.textHeight<s){let o=(s-r.textHeight)/2;return{top:n.top+o,bottom:n.bottom-o,left:n.left,right:n.left}}}return n}become(e){return e instanceof i&&this.children.length==0&&e.children.length==0&&Ao(this.attrs,e.attrs)&&this.breakAfter==e.breakAfter}covers(){return!0}static find(e,t){for(let n=0,r=0;n<e.children.length;n++){let s=e.children[n],o=r+s.length;if(o>=t){if(s instanceof i)return s;if(o>t)break}r=o+s.breakAfter}return null}},Vi=class i extends le{constructor(e,t,n){super(),this.widget=e,this.length=t,this.deco=n,this.breakAfter=0,this.prevWidget=null}merge(e,t,n,r,s,o){return n&&(!(n instanceof i)||!this.widget.compare(n.widget)||e>0&&s<=0||t<this.length&&o<=0)?!1:(this.length=e+(n?n.length:0)+(this.length-t),!0)}domAtPos(e){return e==0?je.before(this.dom):je.after(this.dom,e==this.length)}split(e){let t=this.length-e;this.length=e;let n=new i(this.widget,t,this.deco);return n.breakAfter=this.breakAfter,n}get children(){return Pc}sync(e){(!this.dom||!this.widget.updateDOM(this.dom,e))&&(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(e)),this.widget.editable||(this.dom.contentEditable="false"))}get overrideDOMText(){return this.parent?this.parent.view.state.doc.slice(this.posAtStart,this.posAtEnd):U.empty}domBoundsAround(){return null}become(e){return e instanceof i&&e.widget.constructor==this.widget.constructor?(e.widget.compare(this.widget)||this.markDirty(!0),this.dom&&!this.prevWidget&&(this.prevWidget=this.widget),this.widget=e.widget,this.length=e.length,this.deco=e.deco,this.breakAfter=e.breakAfter,!0):!1}ignoreMutation(){return!0}ignoreEvent(e){return this.widget.ignoreEvent(e)}get isEditable(){return!1}get isWidget(){return!0}coordsAt(e,t){let n=this.widget.coordsAt(this.dom,e,t);return n||(this.widget instanceof Lr?null:Ho(this.dom.getBoundingClientRect(),this.length?e==0:t<=0))}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}covers(e){let{startSide:t,endSide:n}=this.deco;return t==n?!1:e<0?t<0:n>0}},Lr=class extends Ge{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}},_r=class i{constructor(e,t,n,r){this.doc=e,this.pos=t,this.end=n,this.disallowBlockEffectsFor=r,this.content=[],this.curLine=null,this.breakAtStart=0,this.pendingBuffer=0,this.bufferMarks=[],this.atCursorPos=!0,this.openStart=-1,this.openEnd=-1,this.text="",this.textOff=0,this.cursor=e.iter(),this.skip=t}posCovered(){if(this.content.length==0)return!this.breakAtStart&&this.doc.lineAt(this.pos).from!=this.pos;let e=this.content[this.content.length-1];return!(e.breakAfter||e instanceof Vi&&e.deco.endSide<0)}getLine(){return this.curLine||(this.content.push(this.curLine=new Re),this.atCursorPos=!0),this.curLine}flushBuffer(e=this.bufferMarks){this.pendingBuffer&&(this.curLine.append(Qo(new Mr(-1),e),e.length),this.pendingBuffer=0)}addBlockWidget(e){this.flushBuffer(),this.curLine=null,this.content.push(e)}finish(e){this.pendingBuffer&&e<=this.bufferMarks.length?this.flushBuffer():this.pendingBuffer=0,!this.posCovered()&&!(e&&this.content.length&&this.content[this.content.length-1]instanceof Vi)&&this.getLine()}buildText(e,t,n){for(;e>0;){if(this.textOff==this.text.length){let{value:s,lineBreak:o,done:a}=this.cursor.next(this.skip);if(this.skip=0,a)throw new Error("Ran out of text content when drawing inline views");if(o){this.posCovered()||this.getLine(),this.content.length?this.content[this.content.length-1].breakAfter=1:this.breakAtStart=1,this.flushBuffer(),this.curLine=null,this.atCursorPos=!0,e--;continue}else this.text=s,this.textOff=0}let r=Math.min(this.text.length-this.textOff,e,512);this.flushBuffer(t.slice(t.length-n)),this.getLine().append(Qo(new zt(this.text.slice(this.textOff,this.textOff+r)),t),n),this.atCursorPos=!0,this.textOff+=r,e-=r,n=0}}span(e,t,n,r){this.buildText(t-e,n,r),this.pos=t,this.openStart<0&&(this.openStart=r)}point(e,t,n,r,s,o){if(this.disallowBlockEffectsFor[o]&&n instanceof ui){if(n.block)throw new RangeError("Block decorations may not be specified via plugins");if(t>this.doc.lineAt(this.pos).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}let a=t-e;if(n instanceof ui)if(n.block)n.startSide>0&&!this.posCovered()&&this.getLine(),this.addBlockWidget(new Vi(n.widget||di.block,a,n));else{let l=Ur.create(n.widget||di.inline,a,a?0:n.startSide),O=this.atCursorPos&&!l.isEditable&&s<=r.length&&(e<t||n.startSide>0),c=!l.isEditable&&(e<t||s>r.length||n.startSide<=0),h=this.getLine();this.pendingBuffer==2&&!O&&!l.isEditable&&(this.pendingBuffer=0),this.flushBuffer(r),O&&(h.append(Qo(new Mr(1),r),s),s=r.length+Math.max(0,s-r.length)),h.append(Qo(l,r),s),this.atCursorPos=c,this.pendingBuffer=c?e<t||s>r.length?1:2:0,this.pendingBuffer&&(this.bufferMarks=r.slice())}else this.doc.lineAt(this.pos).from==this.pos&&this.getLine().addLineDeco(n);a&&(this.textOff+a<=this.text.length?this.textOff+=a:(this.skip+=a-(this.text.length-this.textOff),this.text="",this.textOff=0),this.pos=t),this.openStart<0&&(this.openStart=s)}static build(e,t,n,r,s){let o=new i(e,t,n,s);return o.openEnd=F.spans(r,t,n,o),o.openStart<0&&(o.openStart=o.openEnd),o.finish(o.openEnd),o}};function Qo(i,e){for(let t of e)i=new fi(t,[i],i.length);return i}var di=class extends Ge{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}};di.inline=new di("span");di.block=new di("div");var ne=function(i){return i[i.LTR=0]="LTR",i[i.RTL=1]="RTL",i}(ne||(ne={})),Yi=ne.LTR,kc=ne.RTL;function xm(i){let e=[];for(let t=0;t<i.length;t++)e.push(1<<+i[t]);return e}var gx=xm("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),$x=xm("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),GO=Object.create(null),vt=[];for(let i of["()","[]","{}"]){let e=i.charCodeAt(0),t=i.charCodeAt(1);GO[e]=t,GO[t]=-e}function vm(i){return i<=247?gx[i]:1424<=i&&i<=1524?2:1536<=i&&i<=1785?$x[i-1536]:1774<=i&&i<=2220?4:8192<=i&&i<=8204?256:64336<=i&&i<=65023?4:1}var yx=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/,Pt=class{get dir(){return this.level%2?kc:Yi}constructor(e,t,n){this.from=e,this.to=t,this.level=n}side(e,t){return this.dir==t==e?this.to:this.from}forward(e,t){return e==(this.dir==t)}static find(e,t,n,r){let s=-1;for(let o=0;o<e.length;o++){let a=e[o];if(a.from<=t&&a.to>=t){if(a.level==n)return o;(s<0||(r!=0?r<0?a.from<t:a.to>t:e[s].level>a.level))&&(s=o)}}if(s<0)throw new RangeError("Index out of range");return s}};function wm(i,e){if(i.length!=e.length)return!1;for(let t=0;t<i.length;t++){let n=i[t],r=e[t];if(n.from!=r.from||n.to!=r.to||n.direction!=r.direction||!wm(n.inner,r.inner))return!1}return!0}var oe=[];function Qx(i,e,t,n,r){for(let s=0;s<=n.length;s++){let o=s?n[s-1].to:e,a=s<n.length?n[s].from:t,l=s?256:r;for(let O=o,c=l,h=l;O<a;O++){let f=vm(i.charCodeAt(O));f==512?f=c:f==8&&h==4&&(f=16),oe[O]=f==4?2:f,f&7&&(h=f),c=f}for(let O=o,c=l,h=l;O<a;O++){let f=oe[O];if(f==128)O<a-1&&c==oe[O+1]&&c&24?f=oe[O]=c:oe[O]=256;else if(f==64){let u=O+1;for(;u<a&&oe[u]==64;)u++;let d=O&&c==8||u<t&&oe[u]==8?h==1?1:8:256;for(let p=O;p<u;p++)oe[p]=d;O=u-1}else f==8&&h==1&&(oe[O]=1);c=f,f&7&&(h=f)}}}function Sx(i,e,t,n,r){let s=r==1?2:1;for(let o=0,a=0,l=0;o<=n.length;o++){let O=o?n[o-1].to:e,c=o<n.length?n[o].from:t;for(let h=O,f,u,d;h<c;h++)if(u=GO[f=i.charCodeAt(h)])if(u<0){for(let p=a-3;p>=0;p-=3)if(vt[p+1]==-u){let m=vt[p+2],g=m&2?r:m&4?m&1?s:r:0;g&&(oe[h]=oe[vt[p]]=g),a=p;break}}else{if(vt.length==189)break;vt[a++]=h,vt[a++]=f,vt[a++]=l}else if((d=oe[h])==2||d==1){let p=d==r;l=p?0:1;for(let m=a-3;m>=0;m-=3){let g=vt[m+2];if(g&2)break;if(p)vt[m+2]|=2;else{if(g&4)break;vt[m+2]|=4}}}}}function bx(i,e,t,n){for(let r=0,s=n;r<=t.length;r++){let o=r?t[r-1].to:i,a=r<t.length?t[r].from:e;for(let l=o;l<a;){let O=oe[l];if(O==256){let c=l+1;for(;;)if(c==a){if(r==t.length)break;c=t[r++].to,a=r<t.length?t[r].from:e}else if(oe[c]==256)c++;else break;let h=s==1,f=(c<e?oe[c]:n)==1,u=h==f?h?1:2:n;for(let d=c,p=r,m=p?t[p-1].to:i;d>l;)d==m&&(d=t[--p].from,m=p?t[p-1].to:i),oe[--d]=u;l=c}else s=O,l++}}}function BO(i,e,t,n,r,s,o){let a=n%2?2:1;if(n%2==r%2)for(let l=e,O=0;l<t;){let c=!0,h=!1;if(O==s.length||l<s[O].from){let p=oe[l];p!=a&&(c=!1,h=p==16)}let f=!c&&a==1?[]:null,u=c?n:n+1,d=l;e:for(;;)if(O<s.length&&d==s[O].from){if(h)break e;let p=s[O];if(!c)for(let m=p.to,g=O+1;;){if(m==t)break e;if(g<s.length&&s[g].from==m)m=s[g++].to;else{if(oe[m]==a)break e;break}}if(O++,f)f.push(p);else{p.from>l&&o.push(new Pt(l,p.from,u));let m=p.direction==Yi!=!(u%2);IO(i,m?n+1:n,r,p.inner,p.from,p.to,o),l=p.to}d=p.to}else{if(d==t||(c?oe[d]!=a:oe[d]==a))break;d++}f?BO(i,l,d,n+1,r,f,o):l<d&&o.push(new Pt(l,d,u)),l=d}else for(let l=t,O=s.length;l>e;){let c=!0,h=!1;if(!O||l>s[O-1].to){let p=oe[l-1];p!=a&&(c=!1,h=p==16)}let f=!c&&a==1?[]:null,u=c?n:n+1,d=l;e:for(;;)if(O&&d==s[O-1].to){if(h)break e;let p=s[--O];if(!c)for(let m=p.from,g=O;;){if(m==e)break e;if(g&&s[g-1].to==m)m=s[--g].from;else{if(oe[m-1]==a)break e;break}}if(f)f.push(p);else{p.to<l&&o.push(new Pt(p.to,l,u));let m=p.direction==Yi!=!(u%2);IO(i,m?n+1:n,r,p.inner,p.from,p.to,o),l=p.from}d=p.from}else{if(d==e||(c?oe[d-1]!=a:oe[d-1]==a))break;d--}f?BO(i,d,l,n+1,r,f,o):d<l&&o.push(new Pt(d,l,u)),l=d}}function IO(i,e,t,n,r,s,o){let a=e%2?2:1;Qx(i,r,s,n,a),Sx(i,r,s,n,a),bx(r,s,n,a),BO(i,r,s,e,t,n,o)}function xx(i,e,t){if(!i)return[new Pt(0,0,e==kc?1:0)];if(e==Yi&&!t.length&&!yx.test(i))return Pm(i.length);if(t.length)for(;i.length>oe.length;)oe[oe.length]=256;let n=[],r=e==Yi?0:1;return IO(i,r,r,t,0,i.length,n),n}function Pm(i){return[new Pt(0,i,0)]}var km="";function vx(i,e,t,n,r){var s;let o=n.head-i.from,a=Pt.find(e,o,(s=n.bidiLevel)!==null&&s!==void 0?s:-1,n.assoc),l=e[a],O=l.side(r,t);if(o==O){let f=a+=r?1:-1;if(f<0||f>=e.length)return null;l=e[a=f],o=l.side(!r,t),O=l.side(r,t)}let c=ve(i.text,o,l.forward(r,t));(c<l.from||c>l.to)&&(c=O),km=i.text.slice(Math.min(o,c),Math.max(o,c));let h=a==(r?e.length-1:0)?null:e[a+(r?1:-1)];return h&&c==O&&h.level+(r?0:1)<l.level?P.cursor(h.side(!r,t)+i.from,h.forward(r,t)?1:-1,h.level):P.cursor(c+i.from,l.forward(r,t)?-1:1,l.level)}function wx(i,e,t){for(let n=e;n<t;n++){let r=vm(i.charCodeAt(n));if(r==1)return Yi;if(r==2||r==4)return kc}return Yi}var Tm=X.define(),zm=X.define(),Xm=X.define(),Rm=X.define(),NO=X.define(),qm=X.define(),_m=X.define(),Tc=X.define(),zc=X.define(),Cm=X.define({combine:i=>i.some(e=>e)}),Wm=X.define({combine:i=>i.some(e=>e)}),Zm=X.define(),Cr=class i{constructor(e,t="nearest",n="nearest",r=5,s=5,o=!1){this.range=e,this.y=t,this.x=n,this.yMargin=r,this.xMargin=s,this.isSnapshot=o}map(e){return e.empty?this:new i(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new i(P.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}},So=Z.define({map:(i,e)=>i.map(e)}),Vm=Z.define();function qe(i,e,t){let n=i.facet(Rm);n.length?n[0](e):window.onerror&&window.onerror(String(e),t,void 0,void 0,e)||(t?console.error(t+":",e):console.error(e))}var It=X.define({combine:i=>i.length?i[0]:!0}),Px=0,Pn=X.define({combine(i){return i.filter((e,t)=>{for(let n=0;n<t;n++)if(i[n].plugin==e.plugin)return!1;return!0})}}),me=class i{constructor(e,t,n,r,s){this.id=e,this.create=t,this.domEventHandlers=n,this.domEventObservers=r,this.baseExtensions=s(this),this.extension=this.baseExtensions.concat(Pn.of({plugin:this,arg:void 0}))}of(e){return this.baseExtensions.concat(Pn.of({plugin:this,arg:e}))}static define(e,t){let{eventHandlers:n,eventObservers:r,provide:s,decorations:o}=t||{};return new i(Px++,e,n,r,a=>{let l=[];return o&&l.push(Gr.of(O=>{let c=O.plugin(a);return c?o(c):q.none})),s&&l.push(s(a)),l})}static fromClass(e,t){return i.define((n,r)=>new e(n,r),t)}},Wr=class{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(n){if(qe(t.state,n,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(t){qe(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(!((t=this.value)===null||t===void 0)&&t.destroy)try{this.value.destroy()}catch(n){qe(e.state,n,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}},Am=X.define(),Xc=X.define(),Gr=X.define(),jm=X.define(),Rc=X.define(),Ym=X.define();function Tp(i,e){let t=i.state.facet(Ym);if(!t.length)return t;let n=t.map(s=>s instanceof Function?s(i):s),r=[];return F.spans(n,e.from,e.to,{point(){},span(s,o,a,l){let O=s-e.from,c=o-e.from,h=r;for(let f=a.length-1;f>=0;f--,l--){let u=a[f].spec.bidiIsolate,d;if(u==null&&(u=wx(e.text,O,c)),l>0&&h.length&&(d=h[h.length-1]).to==O&&d.direction==u)d.to=c,h=d.inner;else{let p={from:O,to:c,direction:u,inner:[]};h.push(p),h=p.inner}}}}),r}var Um=X.define();function qc(i){let e=0,t=0,n=0,r=0;for(let s of i.state.facet(Um)){let o=s(i);o&&(o.left!=null&&(e=Math.max(e,o.left)),o.right!=null&&(t=Math.max(t,o.right)),o.top!=null&&(n=Math.max(n,o.top)),o.bottom!=null&&(r=Math.max(r,o.bottom)))}return{left:e,right:t,top:n,bottom:r}}var Tr=X.define(),kt=class i{constructor(e,t,n,r){this.fromA=e,this.toA=t,this.fromB=n,this.toB=r}join(e){return new i(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,n=this;for(;t>0;t--){let r=e[t-1];if(!(r.fromA>n.toA)){if(r.toA<n.fromA)break;n=n.join(r),e.splice(t-1,1)}}return e.splice(t,0,n),e}static extendWithRanges(e,t){if(t.length==0)return e;let n=[];for(let r=0,s=0,o=0,a=0;;r++){let l=r==e.length?null:e[r],O=o-a,c=l?l.fromB:1e9;for(;s<t.length&&t[s]<c;){let h=t[s],f=t[s+1],u=Math.max(a,h),d=Math.min(c,f);if(u<=d&&new i(u+O,d+O,u,d).addToSet(n),f>c)break;s+=2}if(!l)return n;new i(l.fromA,l.toA,l.fromB,l.toB).addToSet(n),o=l.toA,a=l.toB}}},jo=class i{constructor(e,t,n){this.view=e,this.state=t,this.transactions=n,this.flags=0,this.startState=e.state,this.changes=Ae.empty(this.startState.doc.length);for(let s of n)this.changes=this.changes.compose(s.changes);let r=[];this.changes.iterChangedRanges((s,o,a,l)=>r.push(new kt(s,o,a,l))),this.changedRanges=r}static create(e,t,n){return new i(e,t,n)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}},Yo=class extends le{get length(){return this.view.state.doc.length}constructor(e){super(),this.view=e,this.decorations=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.markedForComposition=new Set,this.editContextFormatting=q.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.setDOM(e.contentDOM),this.children=[new Re],this.children[0].setParent(this),this.updateDeco(),this.updateInner([new kt(0,0,0,e.state.doc.length)],0,null)}update(e){var t;let n=e.changedRanges;this.minWidth>0&&n.length&&(n.every(({fromA:O,toA:c})=>c<this.minWidthFrom||O>this.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let r=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((t=this.domChanged)===null||t===void 0)&&t.newSel?r=this.domChanged.newSel.head:!_x(e.changes,this.hasComposition)&&!e.selectionSet&&(r=e.state.selection.main.head));let s=r>-1?Tx(this.view,e.changes,r):null;if(this.domChanged=null,this.hasComposition){this.markedForComposition.clear();let{from:O,to:c}=this.hasComposition;n=new kt(O,c,e.changes.mapPos(O,-1),e.changes.mapPos(c,1)).addToSet(n.slice())}this.hasComposition=s?{from:s.range.fromB,to:s.range.toB}:null,(R.ie||R.chrome)&&!s&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let o=this.decorations,a=this.updateDeco(),l=Rx(o,a,e.changes);return n=kt.extendWithRanges(n,l),!(this.flags&7)&&n.length==0?!1:(this.updateInner(n,e.startState.doc.length,s),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t,n){this.view.viewState.mustMeasureContent=!0,this.updateChildren(e,t,n);let{observer:r}=this.view;r.ignore(()=>{this.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let o=R.chrome||R.ios?{node:r.selectionRange.focusNode,written:!1}:void 0;this.sync(this.view,o),this.flags&=-8,o&&(o.written||r.selectionRange.focusNode!=o.node)&&(this.forceSelection=!0),this.dom.style.height=""}),this.markedForComposition.forEach(o=>o.flags&=-9);let s=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let o of this.children)o instanceof Vi&&o.widget instanceof Lr&&s.push(o.dom);r.updateGaps(s)}updateChildren(e,t,n){let r=n?n.range.addToSet(e.slice()):e,s=this.childCursor(t);for(let o=r.length-1;;o--){let a=o>=0?r[o]:null;if(!a)break;let{fromA:l,toA:O,fromB:c,toB:h}=a,f,u,d,p;if(n&&n.range.fromB<h&&n.range.toB>c){let x=_r.build(this.view.state.doc,c,n.range.fromB,this.decorations,this.dynamicDecorationMap),b=_r.build(this.view.state.doc,n.range.toB,h,this.decorations,this.dynamicDecorationMap);u=x.breakAtStart,d=x.openStart,p=b.openEnd;let v=this.compositionView(n);b.breakAtStart?v.breakAfter=1:b.content.length&&v.merge(v.length,v.length,b.content[0],!1,b.openStart,0)&&(v.breakAfter=b.content[0].breakAfter,b.content.shift()),x.content.length&&v.merge(0,0,x.content[x.content.length-1],!0,0,x.openEnd)&&x.content.pop(),f=x.content.concat(v).concat(b.content)}else({content:f,breakAtStart:u,openStart:d,openEnd:p}=_r.build(this.view.state.doc,c,h,this.decorations,this.dynamicDecorationMap));let{i:m,off:g}=s.findPos(O,1),{i:y,off:S}=s.findPos(l,-1);pm(this,y,S,m,g,f,u,d,p)}n&&this.fixCompositionDOM(n)}updateEditContextFormatting(e){this.editContextFormatting=this.editContextFormatting.map(e.changes);for(let t of e.transactions)for(let n of t.effects)n.is(Vm)&&(this.editContextFormatting=n.value)}compositionView(e){let t=new zt(e.text.nodeValue);t.flags|=8;for(let{deco:r}of e.marks)t=new fi(r,[t],t.length);let n=new Re;return n.append(t,0),n}fixCompositionDOM(e){let t=(s,o)=>{o.flags|=8|(o.children.some(l=>l.flags&7)?1:0),this.markedForComposition.add(o);let a=le.get(s);a&&a!=o&&(a.dom=null),o.setDOM(s)},n=this.childPos(e.range.fromB,1),r=this.children[n.i];t(e.line,r);for(let s=e.marks.length-1;s>=-1;s--)n=r.childPos(n.off,1),r=r.children[n.i],t(s>=0?e.marks[s].node:e.text,r)}updateSelection(e=!1,t=!1){(e||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let n=this.view.root.activeElement,r=n==this.dom,s=!r&&!(this.view.state.facet(It)||this.dom.tabIndex>-1)&&zo(this.dom,this.view.observer.selectionRange)&&!(n&&this.dom.contains(n));if(!(r||t||s))return;let o=this.forceSelection;this.forceSelection=!1;let a=this.view.state.selection.main,l=this.moveToLine(this.domAtPos(a.anchor)),O=a.empty?l:this.moveToLine(this.domAtPos(a.head));if(R.gecko&&a.empty&&!this.hasComposition&&kx(l)){let h=document.createTextNode("");this.view.observer.ignore(()=>l.node.insertBefore(h,l.node.childNodes[l.offset]||null)),l=O=new je(h,0),o=!0}let c=this.view.observer.selectionRange;(o||!c.focusNode||(!qr(l.node,l.offset,c.anchorNode,c.anchorOffset)||!qr(O.node,O.offset,c.focusNode,c.focusOffset))&&!this.suppressWidgetCursorChange(c,a))&&(this.view.observer.ignore(()=>{R.android&&R.chrome&&this.dom.contains(c.focusNode)&&qx(c.focusNode,this.dom)&&(this.dom.blur(),this.dom.focus({preventScroll:!0}));let h=jr(this.view.root);if(h)if(a.empty){if(R.gecko){let f=zx(l.node,l.offset);if(f&&f!=3){let u=(f==1?um:dm)(l.node,l.offset);u&&(l=new je(u.node,u.offset))}}h.collapse(l.node,l.offset),a.bidiLevel!=null&&h.caretBidiLevel!==void 0&&(h.caretBidiLevel=a.bidiLevel)}else if(h.extend){h.collapse(l.node,l.offset);try{h.extend(O.node,O.offset)}catch{}}else{let f=document.createRange();a.anchor>a.head&&([l,O]=[O,l]),f.setEnd(O.node,O.offset),f.setStart(l.node,l.offset),h.removeAllRanges(),h.addRange(f)}s&&this.view.root.activeElement==this.dom&&(this.dom.blur(),n&&n.focus())}),this.view.observer.setSelectionRange(l,O)),this.impreciseAnchor=l.precise?null:new je(c.anchorNode,c.anchorOffset),this.impreciseHead=O.precise?null:new je(c.focusNode,c.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&qr(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,n=jr(e.root),{anchorNode:r,anchorOffset:s}=e.observer.selectionRange;if(!n||!t.empty||!t.assoc||!n.modify)return;let o=Re.find(this,t.head);if(!o)return;let a=o.posAtStart;if(t.head==a||t.head==a+o.length)return;let l=this.coordsAt(t.head,-1),O=this.coordsAt(t.head,1);if(!l||!O||l.bottom>O.top)return;let c=this.domAtPos(t.head+t.assoc);n.collapse(c.node,c.offset),n.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let h=e.observer.selectionRange;e.docView.posFromDOM(h.anchorNode,h.anchorOffset)!=t.from&&n.collapse(r,s)}moveToLine(e){let t=this.dom,n;if(e.node!=t)return e;for(let r=e.offset;!n&&r<t.childNodes.length;r++){let s=le.get(t.childNodes[r]);s instanceof Re&&(n=s.domAtPos(0))}for(let r=e.offset-1;!n&&r>=0;r--){let s=le.get(t.childNodes[r]);s instanceof Re&&(n=s.domAtPos(s.length))}return n?new je(n.node,n.offset,!0):e}nearest(e){for(let t=e;t;){let n=le.get(t);if(n&&n.rootView==this)return n;t=t.parentNode}return null}posFromDOM(e,t){let n=this.nearest(e);if(!n)throw new RangeError("Trying to find position for a DOM position outside of the document");return n.localPosFromDOM(e,t)+n.posAtStart}domAtPos(e){let{i:t,off:n}=this.childCursor().findPos(e,-1);for(;t<this.children.length-1;){let r=this.children[t];if(n<r.length||r instanceof Re)break;t++,n=0}return this.children[t].domAtPos(n)}coordsAt(e,t){let n=null,r=0;for(let s=this.length,o=this.children.length-1;o>=0;o--){let a=this.children[o],l=s-a.breakAfter,O=l-a.length;if(l<e)break;if(O<=e&&(O<e||a.covers(-1))&&(l>e||a.covers(1))&&(!n||a instanceof Re&&!(n instanceof Re&&t>=0)))n=a,r=O;else if(n&&O==e&&l==e&&a instanceof Vi&&Math.abs(t)<2){if(a.deco.startSide<0)break;o&&(n=null)}s=O}return n?n.coordsAt(e-r,t):null}coordsForChar(e){let{i:t,off:n}=this.childPos(e,1),r=this.children[t];if(!(r instanceof Re))return null;for(;r.children.length;){let{i:a,off:l}=r.childPos(n,1);for(;;a++){if(a==r.children.length)return null;if((r=r.children[a]).length)break}n=l}if(!(r instanceof zt))return null;let s=ve(r.text,n);if(s==n)return null;let o=ji(r.dom,n,s).getClientRects();for(let a=0;a<o.length;a++){let l=o[a];if(a==o.length-1||l.top<l.bottom&&l.left<l.right)return l}return null}measureVisibleLineHeights(e){let t=[],{from:n,to:r}=e,s=this.view.contentDOM.clientWidth,o=s>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,a=-1,l=this.view.textDirection==ne.LTR;for(let O=0,c=0;c<this.children.length;c++){let h=this.children[c],f=O+h.length;if(f>r)break;if(O>=n){let u=h.dom.getBoundingClientRect();if(t.push(u.height),o){let d=h.dom.lastChild,p=d?Yr(d):[];if(p.length){let m=p[p.length-1],g=l?m.right-u.left:u.right-m.left;g>a&&(a=g,this.minWidth=s,this.minWidthFrom=O,this.minWidthTo=f)}}}O=f+h.breakAfter}return t}textDirectionAt(e){let{i:t}=this.childPos(e,1);return getComputedStyle(this.children[t].dom).direction=="rtl"?ne.RTL:ne.LTR}measureTextSize(){for(let s of this.children)if(s instanceof Re){let o=s.measureTextSize();if(o)return o}let e=document.createElement("div"),t,n,r;return e.className="cm-line",e.style.width="99999px",e.style.position="absolute",e.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.dom.appendChild(e);let s=Yr(e.firstChild)[0];t=e.getBoundingClientRect().height,n=s?s.width/27:7,r=s?s.height:t,e.remove()}),{lineHeight:t,charWidth:n,textHeight:r}}childCursor(e=this.length){let t=this.children.length;return t&&(e-=this.children[--t].length),new Vo(this.children,e,t)}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let n=0,r=0;;r++){let s=r==t.viewports.length?null:t.viewports[r],o=s?s.from-1:this.length;if(o>n){let a=(t.lineBlockAt(o).bottom-t.lineBlockAt(n).top)/this.view.scaleY;e.push(q.replace({widget:new Lr(a),block:!0,inclusive:!0,isBlockGap:!0}).range(n,o))}if(!s)break;n=s.to+1}return q.set(e)}updateDeco(){let e=1,t=this.view.state.facet(Gr).map(s=>(this.dynamicDecorationMap[e++]=typeof s=="function")?s(this.view):s),n=!1,r=this.view.state.facet(jm).map((s,o)=>{let a=typeof s=="function";return a&&(n=!0),a?s(this.view):s});for(r.length&&(this.dynamicDecorationMap[e++]=n,t.push(F.join(r))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];e<this.decorations.length;)this.dynamicDecorationMap[e++]=!1;return this.decorations}scrollIntoView(e){if(e.isSnapshot){let O=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=O.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let O of this.view.state.facet(Zm))try{if(O(this.view,e.range,e))return!0}catch(c){qe(this.view.state,c,"scroll handler")}let{range:t}=e,n=this.coordsAt(t.head,t.empty?t.assoc:t.head>t.anchor?-1:1),r;if(!n)return;!t.empty&&(r=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(n={left:Math.min(n.left,r.left),top:Math.min(n.top,r.top),right:Math.max(n.right,r.right),bottom:Math.max(n.bottom,r.bottom)});let s=qc(this.view),o={left:n.left-s.left,top:n.top-s.top,right:n.right+s.right,bottom:n.bottom+s.bottom},{offsetWidth:a,offsetHeight:l}=this.view.scrollDOM;ax(this.view.scrollDOM,o,t.head<t.anchor?-1:1,e.x,e.y,Math.max(Math.min(e.xMargin,a),-a),Math.max(Math.min(e.yMargin,l),-l),this.view.textDirection==ne.LTR)}};function kx(i){return i.node.nodeType==1&&i.node.firstChild&&(i.offset==0||i.node.childNodes[i.offset-1].contentEditable=="false")&&(i.offset==i.node.childNodes.length||i.node.childNodes[i.offset].contentEditable=="false")}function Mm(i,e){let t=i.observer.selectionRange;if(!t.focusNode)return null;let n=um(t.focusNode,t.focusOffset),r=dm(t.focusNode,t.focusOffset),s=n||r;if(r&&n&&r.node!=n.node){let a=le.get(r.node);if(!a||a instanceof zt&&a.text!=r.node.nodeValue)s=r;else if(i.docView.lastCompositionAfterCursor){let l=le.get(n.node);!l||l instanceof zt&&l.text!=n.node.nodeValue||(s=r)}}if(i.docView.lastCompositionAfterCursor=s!=n,!s)return null;let o=e-s.offset;return{from:o,to:o+s.node.nodeValue.length,node:s.node}}function Tx(i,e,t){let n=Mm(i,t);if(!n)return null;let{node:r,from:s,to:o}=n,a=r.nodeValue;if(/[\n\r]/.test(a)||i.state.doc.sliceString(n.from,n.to)!=a)return null;let l=e.invertedDesc,O=new kt(l.mapPos(s),l.mapPos(o),s,o),c=[];for(let h=r.parentNode;;h=h.parentNode){let f=le.get(h);if(f instanceof fi)c.push({node:h,deco:f.mark});else{if(f instanceof Re||h.nodeName=="DIV"&&h.parentNode==i.contentDOM)return{range:O,text:r,marks:c,line:h};if(h!=i.contentDOM)c.push({node:h,deco:new Er({inclusive:!0,attributes:px(h),tagName:h.tagName.toLowerCase()})});else return null}}}function zx(i,e){return i.nodeType!=1?0:(e&&i.childNodes[e-1].contentEditable=="false"?1:0)|(e<i.childNodes.length&&i.childNodes[e].contentEditable=="false"?2:0)}var Xx=class{constructor(){this.changes=[]}compareRange(e,t){Xo(e,t,this.changes)}comparePoint(e,t){Xo(e,t,this.changes)}boundChange(e){Xo(e,e,this.changes)}};function Rx(i,e,t){let n=new Xx;return F.compare(i,e,t,n),n.changes}function qx(i,e){for(let t=i;t&&t!=e;t=t.assignedSlot||t.parentNode)if(t.nodeType==1&&t.contentEditable=="false")return!0;return!1}function _x(i,e){let t=!1;return e&&i.iterChangedRanges((n,r)=>{n<e.to&&r>e.from&&(t=!0)}),t}function Cx(i,e,t=1){let n=i.charCategorizer(e),r=i.doc.lineAt(e),s=e-r.from;if(r.length==0)return P.cursor(e);s==0?t=1:s==r.length&&(t=-1);let o=s,a=s;t<0?o=ve(r.text,s,!1):a=ve(r.text,s);let l=n(r.text.slice(o,a));for(;o>0;){let O=ve(r.text,o,!1);if(n(r.text.slice(O,o))!=l)break;o=O}for(;a<r.length;){let O=ve(r.text,a);if(n(r.text.slice(a,O))!=l)break;a=O}return P.range(o+r.from,a+r.from)}function Wx(i,e){return e.left>i?e.left-i:Math.max(0,i-e.right)}function Zx(i,e){return e.top>i?e.top-i:Math.max(0,i-e.bottom)}function _O(i,e){return i.top<e.bottom-1&&i.bottom>e.top+1}function zp(i,e){return e<i.top?{top:e,left:i.left,right:i.right,bottom:i.bottom}:i}function Xp(i,e){return e>i.bottom?{top:i.top,left:i.left,right:i.right,bottom:e}:i}function FO(i,e,t){let n,r,s,o,a=!1,l,O,c,h;for(let d=i.firstChild;d;d=d.nextSibling){let p=Yr(d);for(let m=0;m<p.length;m++){let g=p[m];r&&_O(r,g)&&(g=zp(Xp(g,r.bottom),r.top));let y=Wx(e,g),S=Zx(t,g);if(y==0&&S==0)return d.nodeType==3?Rp(d,e,t):FO(d,e,t);(!n||o>S||o==S&&s>y)&&(n=d,r=g,s=y,o=S,a=y?e<g.left?m>0:m<p.length-1:!0),y==0?t>g.bottom&&(!c||c.bottom<g.bottom)?(l=d,c=g):t<g.top&&(!h||h.top>g.top)&&(O=d,h=g):c&&_O(c,g)?c=Xp(c,g.bottom):h&&_O(h,g)&&(h=zp(h,g.top))}}if(c&&c.bottom>=t?(n=l,r=c):h&&h.top<=t&&(n=O,r=h),!n)return{node:i,offset:0};let f=Math.max(r.left,Math.min(r.right,e));if(n.nodeType==3)return Rp(n,f,t);if(a&&n.contentEditable!="false")return FO(n,f,t);let u=Array.prototype.indexOf.call(i.childNodes,n)+(e>=(r.left+r.right)/2?1:0);return{node:i,offset:u}}function Rp(i,e,t){let n=i.nodeValue.length,r=-1,s=1e9,o=0;for(let a=0;a<n;a++){let l=ji(i,a,a+1).getClientRects();for(let O=0;O<l.length;O++){let c=l[O];if(c.top==c.bottom)continue;o||(o=e-c.left);let h=(c.top>t?c.top-t:t-c.bottom)-1;if(c.left-1<=e&&c.right+1>=e&&h<s){let f=e>=(c.left+c.right)/2,u=f;if((R.chrome||R.gecko)&&ji(i,a).getBoundingClientRect().left==c.right&&(u=!f),h<=0)return{node:i,offset:a+(u?1:0)};r=a+(u?1:0),s=h}}}return{node:i,offset:r>-1?r:o>0?i.nodeValue.length:0}}function Em(i,e,t,n=-1){var r,s;let o=i.contentDOM.getBoundingClientRect(),a=o.top+i.viewState.paddingTop,l,{docHeight:O}=i.viewState,{x:c,y:h}=e,f=h-a;if(f<0)return 0;if(f>O)return i.state.doc.length;for(let x=i.viewState.heightOracle.textHeight/2,b=!1;l=i.elementAtHeight(f),l.type!=Ye.Text;)for(;f=n>0?l.bottom+x:l.top-x,!(f>=0&&f<=O);){if(b)return t?null:0;b=!0,n=-n}h=a+f;let u=l.from;if(u<i.viewport.from)return i.viewport.from==0?0:t?null:qp(i,o,l,c,h);if(u>i.viewport.to)return i.viewport.to==i.state.doc.length?i.state.doc.length:t?null:qp(i,o,l,c,h);let d=i.dom.ownerDocument,p=i.root.elementFromPoint?i.root:d,m=p.elementFromPoint(c,h);m&&!i.contentDOM.contains(m)&&(m=null),m||(c=Math.max(o.left+1,Math.min(o.right-1,c)),m=p.elementFromPoint(c,h),m&&!i.contentDOM.contains(m)&&(m=null));let g,y=-1;if(m&&((r=i.docView.nearest(m))===null||r===void 0?void 0:r.isEditable)!=!1){if(d.caretPositionFromPoint){let x=d.caretPositionFromPoint(c,h);x&&({offsetNode:g,offset:y}=x)}else if(d.caretRangeFromPoint){let x=d.caretRangeFromPoint(c,h);x&&({startContainer:g,startOffset:y}=x,(!i.contentDOM.contains(g)||R.safari&&Vx(g,y,c)||R.chrome&&Ax(g,y,c))&&(g=void 0))}g&&(y=Math.min(Tt(g),y))}if(!g||!i.docView.dom.contains(g)){let x=Re.find(i.docView,u);if(!x)return f>l.top+l.height/2?l.to:l.from;({node:g,offset:y}=FO(x.dom,c,h))}let S=i.docView.nearest(g);if(!S)return null;if(S.isWidget&&((s=S.dom)===null||s===void 0?void 0:s.nodeType)==1){let x=S.dom.getBoundingClientRect();return e.y<x.top||e.y<=x.bottom&&e.x<=(x.left+x.right)/2?S.posAtStart:S.posAtEnd}else return S.localPosFromDOM(g,y)+S.posAtStart}function qp(i,e,t,n,r){let s=Math.round((n-e.left)*i.defaultCharacterWidth);if(i.lineWrapping&&t.height>i.defaultLineHeight*1.5){let a=i.viewState.heightOracle.textHeight,l=Math.floor((r-t.top-(i.defaultLineHeight-a)*.5)/a);s+=l*i.viewState.heightOracle.lineLength}let o=i.state.sliceDoc(t.from,t.to);return t.from+$o(o,s,i.state.tabSize)}function Vx(i,e,t){let n,r=i;if(i.nodeType!=3||e!=(n=i.nodeValue.length))return!1;for(;;){let s=r.nextSibling;if(s){if(s.nodeName=="BR")break;return!1}else{let o=r.parentNode;if(!o||o.nodeName=="DIV")break;r=o}}return ji(i,n-1,n).getBoundingClientRect().right>t}function Ax(i,e,t){if(e!=0)return!1;for(let r=i;;){let s=r.parentNode;if(!s||s.nodeType!=1||s.firstChild!=r)return!1;if(s.classList.contains("cm-line"))break;r=s}let n=i.nodeType==1?i.getBoundingClientRect():ji(i,0,Math.max(i.nodeValue.length,1)).getBoundingClientRect();return t-n.left>5}function HO(i,e,t){let n=i.lineBlockAt(e);if(Array.isArray(n.type)){let r;for(let s of n.type){if(s.from>e)break;if(!(s.to<e)){if(s.from<e&&s.to>e)return s;(!r||s.type==Ye.Text&&(r.type!=s.type||(t<0?s.from<e:s.to>e)))&&(r=s)}}return r||n}return n}function jx(i,e,t,n){let r=HO(i,e.head,e.assoc||-1),s=!n||r.type!=Ye.Text||!(i.lineWrapping||r.widgetLineBreaks)?null:i.coordsAtPos(e.assoc<0&&e.head>r.from?e.head-1:e.head);if(s){let o=i.dom.getBoundingClientRect(),a=i.textDirectionAt(r.from),l=i.posAtCoords({x:t==(a==ne.LTR)?o.right-1:o.left+1,y:(s.top+s.bottom)/2});if(l!=null)return P.cursor(l,t?-1:1)}return P.cursor(t?r.to:r.from,t?-1:1)}function _p(i,e,t,n){let r=i.state.doc.lineAt(e.head),s=i.bidiSpans(r),o=i.textDirectionAt(r.from);for(let a=e,l=null;;){let O=vx(r,s,o,a,t),c=km;if(!O){if(r.number==(t?i.state.doc.lines:1))return a;c=`58 `,r=i.state.doc.line(r.number+(t?1:-1)),s=i.bidiSpans(r), O=i.visualLineSide(r,!t)}if(l){if(!l(c))return a}else{if(!n)return O;l=n(c)}a=O}}function Yx(i,e,t){let n=i.state.charCategorizer(e),r=n(t);return s=>{let o=n(s);return r==ie.Space&&(r=o),r==o}}function Ux(i,e,t,n){let r=e.head,s=t?1:-1;if(r==(t?i.state.doc.length:0))return P.cursor(r,e.assoc);let o=e.goalColumn,a,l=i.contentDOM.getBoundingClientRect(),O=i.coordsAtPos(r,e.assoc||-1),c=i.documentTop;if(O)o==null&&(o=O.left-l.left),a=s<0?O.top:O.bottom;else{let u=i.viewState.lineBlockAt(r);o==null&&(o=Math.min(l.right-l.left,i.defaultCharacterWidth*(r-u.from))),a=(s<0?u.top:u.bottom)+c}let h=l.left+o,f=n??i.viewState.heightOracle.textHeight>>1;for(let u=0;;u+=10){let d=a+(f+u)*s,p=Em(i,{x:h,y:d},!1,s);if(d<l.top||d>l.bottom||(s<0?p<r:p>r)){let m=i.docView.coordsForChar(p),g=!m||d<m.top?-1:1;return P.cursor(p,g,void 0,o)}}}function Ro(i,e,t){for(;;){let n=0;for(let r of i)r.between(e-1,e+1,(s,o,a)=>{if(e>s&&e<o){let l=n||t||(e-s<o-e?-1:1);e=l<0?s:o,n=l}});if(!n)return e}}function CO(i,e,t){let n=Ro(i.state.facet(Rc).map(r=>r(i)),t.from,e.head>t.from?-1:1);return n==t.from?t:P.cursor(n,n<t.from?1:-1)}var zr="\uFFFF",KO=class{constructor(e,t){this.points=e,this.text="",this.lineSeparator=t.facet(ee.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=zr}readRange(e,t){if(!e)return this;let n=e.parentNode;for(let r=e;;){this.findPointBefore(n,r);let s=this.text.length;this.readNode(r);let o=r.nextSibling;if(o==t)break;let a=le.get(r),l=le.get(o);(a&&l?a.breakAfter:(a?a.breakAfter:Zo(r))||Zo(o)&&(r.nodeName!="BR"||r.cmIgnore)&&this.text.length>s)&&this.lineBreak(),r=o}return this.findPointBefore(n,t),this}readTextNode(e){let t=e.nodeValue;for(let n of this.points)n.node==e&&(n.pos=this.text.length+Math.min(n.offset,t.length));for(let n=0,r=this.lineSeparator?null:/\r\n?|\n/g;;){let s=-1,o=1,a;if(this.lineSeparator?(s=t.indexOf(this.lineSeparator,n),o=this.lineSeparator.length):(a=r.exec(t))&&(s=a.index,o=a[0].length),this.append(t.slice(n,s<0?t.length:s)),s<0)break;if(this.lineBreak(),o>1)for(let l of this.points)l.node==e&&l.pos>this.text.length&&(l.pos-=o-1);n=s+o}}readNode(e){if(e.cmIgnore)return;let t=le.get(e),n=t&&t.overrideDOMText;if(n!=null){this.findPointInside(e,n.length);for(let r=n.iter();!r.next().done;)r.lineBreak?this.lineBreak():this.append(r.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let n of this.points)n.node==e&&e.childNodes[n.offset]==t&&(n.pos=this.text.length)}findPointInside(e,t){for(let n of this.points)(e.nodeType==3?n.node==e:e.contains(n.node))&&(n.pos=this.text.length+(Mx(e,n.node,n.offset)?t:0))}};function Mx(i,e,t){for(;;){if(!e||t<Tt(e))return!1;if(e==i)return!0;t=Ai(e)+1,e=e.parentNode}}var Uo=class{constructor(e,t){this.node=e,this.offset=t,this.pos=-1}},JO=class{constructor(e,t,n,r){this.typeOver=r,this.bounds=null,this.text="",this.domChanged=t>-1;let{impreciseHead:s,impreciseAnchor:o}=e.docView;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=e.docView.domBoundsAround(t,n,0))){let a=s||o?[]:Lx(e),l=new KO(a,e.state);l.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=l.text,this.newSel=Gx(a,this.bounds.from)}else{let a=e.observer.selectionRange,l=s&&s.node==a.focusNode&&s.offset==a.focusOffset||!jO(e.contentDOM,a.focusNode)?e.state.selection.main.head:e.docView.posFromDOM(a.focusNode,a.focusOffset),O=o&&o.node==a.anchorNode&&o.offset==a.anchorOffset||!jO(e.contentDOM,a.anchorNode)?e.state.selection.main.anchor:e.docView.posFromDOM(a.anchorNode,a.anchorOffset),c=e.viewport;if((R.ios||R.chrome)&&e.state.selection.main.empty&&l!=O&&(c.from>0||c.to<e.state.doc.length)){let h=Math.min(l,O),f=Math.max(l,O),u=c.from-h,d=c.to-f;(u==0||u==1||h==0)&&(d==0||d==-1||f==e.state.doc.length)&&(l=0,O=e.state.doc.length)}this.newSel=P.single(O,l)}}};function Dm(i,e){let t,{newSel:n}=e,r=i.state.selection.main,s=i.inputState.lastKeyTime>Date.now()-100?i.inputState.lastKeyCode:-1;if(e.bounds){let{from:o,to:a}=e.bounds,l=r.from,O=null;(s===8||R.android&&e.text.length<a-o)&&(l=r.to,O="end");let c=Dx(i.state.doc.sliceString(o,a,zr),e.text,l-o,O);c&&(R.chrome&&s==13&&c.toB==c.from+2&&e.text.slice(c.from,c.toB)==zr+zr&&c.toB--,t={from:o+c.from,to:o+c.toA,insert:U.of(e.text.slice(c.from,c.toB).split(zr))})}else n&&(!i.hasFocus&&i.state.facet(It)||n.main.eq(r))&&(n=null);if(!t&&!n)return!1;if(!t&&e.typeOver&&!r.empty&&n&&n.main.empty?t={from:r.from,to:r.to,insert:i.state.doc.slice(r.from,r.to)}:(R.mac||R.android)&&t&&t.from==t.to&&t.from==r.head-1&&/^\. ?$/.test(t.insert.toString())&&i.contentDOM.getAttribute("autocorrect")=="off"?(n&&t.insert.length==2&&(n=P.single(n.main.anchor-1,n.main.head-1)),t={from:t.from,to:t.to,insert:U.of([t.insert.toString().replace("."," ")])}):t&&t.from>=r.from&&t.to<=r.to&&(t.from!=r.from||t.to!=r.to)&&r.to-r.from-(t.to-t.from)<=4?t={from:r.from,to:r.to,insert:i.state.doc.slice(r.from,t.from).append(t.insert).append(i.state.doc.slice(t.to,r.to))}:R.chrome&&t&&t.from==t.to&&t.from==r.head&&t.insert.toString()==`59 `&&i.lineWrapping&&(n&&(n=P.single(n.main.anchor-1,n.main.head-1)),t={from:r.from,to:r.to,insert:U.of([" "])}),t)return _c(i,t,n,s);if(n&&!n.main.eq(r)){let o=!1,a="select";return i.inputState.lastSelectionTime>Date.now()-50&&(i.inputState.lastSelectionOrigin=="select"&&(o=!0),a=i.inputState.lastSelectionOrigin),i.dispatch({selection:n,scrollIntoView:o,userEvent:a}),!0}else return!1}function _c(i,e,t,n=-1){if(R.ios&&i.inputState.flushIOSKey(e))return!0;let r=i.state.selection.main;if(R.android&&(e.to==r.to&&(e.from==r.from||e.from==r.from-1&&i.state.sliceDoc(e.from,r.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&Xn(i.contentDOM,"Enter",13)||(e.from==r.from-1&&e.to==r.to&&e.insert.length==0||n==8&&e.insert.length<e.to-e.from&&e.to>r.head)&&Xn(i.contentDOM,"Backspace",8)||e.from==r.from&&e.to==r.to+1&&e.insert.length==0&&Xn(i.contentDOM,"Delete",46)))return!0;let s=e.insert.toString();i.inputState.composing>=0&&i.inputState.composing++;let o,a=()=>o||(o=Ex(i,e,t));return i.state.facet(qm).some(l=>l(i,e.from,e.to,s,a))||i.dispatch(a()),!0}function Ex(i,e,t){let n,r=i.state,s=r.selection.main;if(e.from>=s.from&&e.to<=s.to&&e.to-e.from>=(s.to-s.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&i.inputState.composing<0){let a=s.from<e.from?r.sliceDoc(s.from,e.from):"",l=s.to>e.to?r.sliceDoc(e.to,s.to):"";n=r.replaceSelection(i.state.toText(a+e.insert.sliceString(0,void 0,i.state.lineBreak)+l))}else{let a=r.changes(e),l=t&&t.main.to<=a.newLength?t.main:void 0;if(r.selection.ranges.length>1&&i.inputState.composing>=0&&e.to<=s.to&&e.to>=s.to-10){let O=i.state.sliceDoc(e.from,e.to),c,h=t&&Mm(i,t.main.head);if(h){let d=e.insert.length-(e.to-e.from);c={from:h.from,to:h.to-d}}else c=i.state.doc.lineAt(s.head);let f=s.to-e.to,u=s.to-s.from;n=r.changeByRange(d=>{if(d.from==s.from&&d.to==s.to)return{changes:a,range:l||d.map(a)};let p=d.to-f,m=p-O.length;if(d.to-d.from!=u||i.state.sliceDoc(m,p)!=O||d.to>=c.from&&d.from<=c.to)return{range:d};let g=r.changes({from:m,to:p,insert:e.insert}),y=d.to-s.to;return{changes:g,range:l?P.range(Math.max(0,l.anchor+y),Math.max(0,l.head+y)):d.map(g)}})}else n={changes:a,selection:l&&r.selection.replaceRange(l)}}let o="input.type";return(i.composing||i.inputState.compositionPendingChange&&i.inputState.compositionEndedAt>Date.now()-50)&&(i.inputState.compositionPendingChange=!1,o+=".compose",i.inputState.compositionFirstChange&&(o+=".start",i.inputState.compositionFirstChange=!1)),r.update(n,{userEvent:o,scrollIntoView:!0})}function Dx(i,e,t,n){let r=Math.min(i.length,e.length),s=0;for(;s<r&&i.charCodeAt(s)==e.charCodeAt(s);)s++;if(s==r&&i.length==e.length)return null;let o=i.length,a=e.length;for(;o>0&&a>0&&i.charCodeAt(o-1)==e.charCodeAt(a-1);)o--,a--;if(n=="end"){let l=Math.max(0,s-Math.min(o,a));t-=o+l-s}if(o<s&&i.length<e.length){let l=t<=s&&t>=o?s-t:0;s-=l,a=s+(a-o),o=s}else if(a<s){let l=t<=s&&t>=a?s-t:0;s-=l,o=s+(o-a),a=s}return{from:s,toA:o,toB:a}}function Lx(i){let e=[];if(i.root.activeElement!=i.contentDOM)return e;let{anchorNode:t,anchorOffset:n,focusNode:r,focusOffset:s}=i.observer.selectionRange;return t&&(e.push(new Uo(t,n)),(r!=t||s!=n)&&e.push(new Uo(r,s))),e}function Gx(i,e){if(i.length==0)return null;let t=i[0].pos,n=i.length==2?i[1].pos:t;return t>-1&&n>-1?P.single(t+e,n+e):null}var ec=class{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.pendingIOSKey=void 0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,R.safari&&e.contentDOM.addEventListener("input",()=>null),R.gecko&&a1(e.contentDOM.ownerDocument)}handleEvent(e){!Jx(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,t){let n=this.handlers[e];if(n){for(let r of n.observers)r(this.view,t);for(let r of n.handlers){if(t.defaultPrevented)break;if(r(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=Bx(e),n=this.handlers,r=this.view.contentDOM;for(let s in t)if(s!="scroll"){let o=!t[s].handlers.length,a=n[s];a&&o!=!a.handlers.length&&(r.removeEventListener(s,this.handleEvent),a=null),a||r.addEventListener(s,this.handleEvent,{passive:o})}for(let s in n)s!="scroll"&&!t[s]&&r.removeEventListener(s,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&Gm.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),R.android&&R.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;let t;return R.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&((t=Lm.find(n=>n.keyCode==e.keyCode))&&!e.ctrlKey||Ix.indexOf(e.key)>-1&&e.ctrlKey&&!e.shiftKey)?(this.pendingIOSKey=t||e,setTimeout(()=>this.flushIOSKey(),250),!0):(e.keyCode!=229&&this.view.observer.forceFlush(),!1)}flushIOSKey(e){let t=this.pendingIOSKey;return!t||t.key=="Enter"&&e&&e.from<e.to&&/^\S+$/.test(e.insert.toString())?!1:(this.pendingIOSKey=void 0,Xn(this.view.contentDOM,t.key,t.keyCode,t instanceof KeyboardEvent?t:void 0))}ignoreDuringComposition(e){return/^key/.test(e.type)?this.composing>0?!0:R.safari&&!R.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1:!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}};function Cp(i,e){return(t,n)=>{try{return e.call(i,n,t)}catch(r){qe(t.state,r)}}}function Bx(i){let e=Object.create(null);function t(n){return e[n]||(e[n]={observers:[],handlers:[]})}for(let n of i){let r=n.spec,s=r&&r.plugin.domEventHandlers,o=r&&r.plugin.domEventObservers;if(s)for(let a in s){let l=s[a];l&&t(a).handlers.push(Cp(n.value,l))}if(o)for(let a in o){let l=o[a];l&&t(a).observers.push(Cp(n.value,l))}}for(let n in mt)t(n).handlers.push(mt[n]);for(let n in ht)t(n).observers.push(ht[n]);return e}var Lm=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],Ix="dthko",Gm=[16,17,18,20,91,92,224,225],bo=6;function xo(i){return Math.max(0,i)*.7+8}function Nx(i,e){return Math.max(Math.abs(i.clientX-e.clientX),Math.abs(i.clientY-e.clientY))}var tc=class{constructor(e,t,n,r){this.view=e,this.startEvent=t,this.style=n,this.mustSelect=r,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=lx(e.contentDOM),this.atoms=e.state.facet(Rc).map(o=>o(e));let s=e.contentDOM.ownerDocument;s.addEventListener("mousemove",this.move=this.move.bind(this)),s.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(ee.allowMultipleSelections)&&Fx(e,t),this.dragging=Kx(e,t)&&Nm(t)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&Nx(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let t=0,n=0,r=0,s=0,o=this.view.win.innerWidth,a=this.view.win.innerHeight;this.scrollParents.x&&({left:r,right:o}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:s,bottom:a}=this.scrollParents.y.getBoundingClientRect());let l=qc(this.view);e.clientX-l.left<=r+bo?t=-xo(r-e.clientX):e.clientX+l.right>=o-bo&&(t=xo(e.clientX-o)),e.clientY-l.top<=s+bo?n=-xo(s-e.clientY):e.clientY+l.bottom>=a-bo&&(n=xo(e.clientY-a)),this.setScrollSpeed(t,n)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:t}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),t&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=t,t=0),(e||t)&&this.view.win.scrollBy(e,t),this.dragging===!1&&this.select(this.lastEvent)}skipAtoms(e){let t=null;for(let n=0;n<e.ranges.length;n++){let r=e.ranges[n],s=null;if(r.empty){let o=Ro(this.atoms,r.from,0);o!=r.from&&(s=P.cursor(o,-1))}else{let o=Ro(this.atoms,r.from,-1),a=Ro(this.atoms,r.to,1);(o!=r.from||a!=r.to)&&(s=P.range(r.from==r.anchor?o:a,r.from==r.head?o:a))}s&&(t||(t=e.ranges.slice()),t[n]=s)}return t?P.create(t,e.mainIndex):e}select(e){let{view:t}=this,n=this.skipAtoms(this.style.get(e,this.extend,this.multiple));(this.mustSelect||!n.eq(t.state.selection,this.dragging===!1))&&this.view.dispatch({selection:n,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(t=>t.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}};function Fx(i,e){let t=i.state.facet(Tm);return t.length?t[0](e):R.mac?e.metaKey:e.ctrlKey}function Hx(i,e){let t=i.state.facet(zm);return t.length?t[0](e):R.mac?!e.altKey:!e.ctrlKey}function Kx(i,e){let{main:t}=i.state.selection;if(t.empty)return!1;let n=jr(i.root);if(!n||n.rangeCount==0)return!0;let r=n.getRangeAt(0).getClientRects();for(let s=0;s<r.length;s++){let o=r[s];if(o.left<=e.clientX&&o.right>=e.clientX&&o.top<=e.clientY&&o.bottom>=e.clientY)return!0}return!1}function Jx(i,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target,n;t!=i.contentDOM;t=t.parentNode)if(!t||t.nodeType==11||(n=le.get(t))&&n.ignoreEvent(e))return!1;return!0}var mt=Object.create(null),ht=Object.create(null),Bm=R.ie&&R.ie_version<15||R.ios&&R.webkit_version<604;function e1(i){let e=i.dom.parentNode;if(!e)return;let t=e.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout(()=>{i.focus(),t.remove(),Im(i,t.value)},50)}function Jo(i,e,t){for(let n of i.facet(e))t=n(t,i);return t}function Im(i,e){e=Jo(i.state,Tc,e);let{state:t}=i,n,r=1,s=t.toText(e),o=s.lines==t.selection.ranges.length;if(ic!=null&&t.selection.ranges.every(l=>l.empty)&&ic==s.toString()){let l=-1;n=t.changeByRange(O=>{let c=t.doc.lineAt(O.from);if(c.from==l)return{range:O};l=c.from;let h=t.toText((o?s.line(r++).text:e)+t.lineBreak);return{changes:{from:c.from,insert:h},range:P.cursor(O.from+h.length)}})}else o?n=t.changeByRange(l=>{let O=s.line(r++);return{changes:{from:l.from,to:l.to,insert:O.text},range:P.cursor(l.from+O.length)}}):n=t.replaceSelection(s);i.dispatch(n,{userEvent:"input.paste",scrollIntoView:!0})}ht.scroll=i=>{i.inputState.lastScrollTop=i.scrollDOM.scrollTop,i.inputState.lastScrollLeft=i.scrollDOM.scrollLeft};mt.keydown=(i,e)=>(i.inputState.setSelectionOrigin("select"),e.keyCode==27&&i.inputState.tabFocusMode!=0&&(i.inputState.tabFocusMode=Date.now()+2e3),!1);ht.touchstart=(i,e)=>{i.inputState.lastTouchTime=Date.now(),i.inputState.setSelectionOrigin("select.pointer")};ht.touchmove=i=>{i.inputState.setSelectionOrigin("select.pointer")};mt.mousedown=(i,e)=>{if(i.observer.flush(),i.inputState.lastTouchTime>Date.now()-2e3)return!1;let t=null;for(let n of i.state.facet(Xm))if(t=n(i,e),t)break;if(!t&&e.button==0&&(t=n1(i,e)),t){let n=!i.hasFocus;i.inputState.startMouseSelection(new tc(i,e,t,n)),n&&i.observer.ignore(()=>{cm(i.contentDOM);let s=i.root.activeElement;s&&!s.contains(i.contentDOM)&&s.blur()});let r=i.inputState.mouseSelection;if(r)return r.start(e),r.dragging===!1}return!1};function Wp(i,e,t,n){if(n==1)return P.cursor(e,t);if(n==2)return Cx(i.state,e,t);{let r=Re.find(i.docView,e),s=i.state.doc.lineAt(r?r.posAtEnd:e),o=r?r.posAtStart:s.from,a=r?r.posAtEnd:s.to;return a<i.state.doc.length&&a==s.to&&a++,P.range(o,a)}}var Zp=(i,e,t)=>e>=t.top&&e<=t.bottom&&i>=t.left&&i<=t.right;function t1(i,e,t,n){let r=Re.find(i.docView,e);if(!r)return 1;let s=e-r.posAtStart;if(s==0)return 1;if(s==r.length)return-1;let o=r.coordsAt(s,-1);if(o&&Zp(t,n,o))return-1;let a=r.coordsAt(s,1);return a&&Zp(t,n,a)?1:o&&o.bottom>=n?-1:1}function Vp(i,e){let t=i.posAtCoords({x:e.clientX,y:e.clientY},!1);return{pos:t,bias:t1(i,t,e.clientX,e.clientY)}}var i1=R.ie&&R.ie_version<=11,Ap=null,jp=0,Yp=0;function Nm(i){if(!i1)return i.detail;let e=Ap,t=Yp;return Ap=i,Yp=Date.now(),jp=!e||t>Date.now()-400&&Math.abs(e.clientX-i.clientX)<2&&Math.abs(e.clientY-i.clientY)<2?(jp+1)%3:1}function n1(i,e){let t=Vp(i,e),n=Nm(e),r=i.state.selection;return{update(s){s.docChanged&&(t.pos=s.changes.mapPos(t.pos),r=r.map(s.changes))},get(s,o,a){let l=Vp(i,s),O,c=Wp(i,l.pos,l.bias,n);if(t.pos!=l.pos&&!o){let h=Wp(i,t.pos,t.bias,n),f=Math.min(h.from,c.from),u=Math.max(h.to,c.to);c=f<c.from?P.range(f,u):P.range(u,f)}return o?r.replaceRange(r.main.extend(c.from,c.to)):a&&n==1&&r.ranges.length>1&&(O=r1(r,l.pos))?O:a?r.addRange(c):P.create([c])}}}function r1(i,e){for(let t=0;t<i.ranges.length;t++){let{from:n,to:r}=i.ranges[t];if(n<=e&&r>=e)return P.create(i.ranges.slice(0,t).concat(i.ranges.slice(t+1)),i.mainIndex==t?0:i.mainIndex-(i.mainIndex>t?1:0))}return null}mt.dragstart=(i,e)=>{let{selection:{main:t}}=i.state;if(e.target.draggable){let r=i.docView.nearest(e.target);if(r&&r.isWidget){let s=r.posAtStart,o=s+r.length;(s>=t.to||o<=t.from)&&(t=P.range(s,o))}}let{inputState:n}=i;return n.mouseSelection&&(n.mouseSelection.dragging=!0),n.draggedContent=t,e.dataTransfer&&(e.dataTransfer.setData("Text",Jo(i.state,zc,i.state.sliceDoc(t.from,t.to))),e.dataTransfer.effectAllowed="copyMove"),!1};mt.dragend=i=>(i.inputState.draggedContent=null,!1);function Up(i,e,t,n){if(t=Jo(i.state,Tc,t),!t)return;let r=i.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:s}=i.inputState,o=n&&s&&Hx(i,e)?{from:s.from,to:s.to}:null,a={from:r,insert:t},l=i.state.changes(o?[o,a]:a);i.focus(),i.dispatch({changes:l,selection:{anchor:l.mapPos(r,-1),head:l.mapPos(r,1)},userEvent:o?"move.drop":"input.drop"}),i.inputState.draggedContent=null}mt.drop=(i,e)=>{if(!e.dataTransfer)return!1;if(i.state.readOnly)return!0;let t=e.dataTransfer.files;if(t&&t.length){let n=Array(t.length),r=0,s=()=>{++r==t.length&&Up(i,e,n.filter(o=>o!=null).join(i.state.lineBreak),!1)};for(let o=0;o<t.length;o++){let a=new FileReader;a.onerror=s,a.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(a.result)||(n[o]=a.result),s()},a.readAsText(t[o])}return!0}else{let n=e.dataTransfer.getData("Text");if(n)return Up(i,e,n,!0),!0}return!1};mt.paste=(i,e)=>{if(i.state.readOnly)return!0;i.observer.flush();let t=Bm?null:e.clipboardData;return t?(Im(i,t.getData("text/plain")||t.getData("text/uri-list")),!0):(e1(i),!1)};function s1(i,e){let t=i.dom.parentNode;if(!t)return;let n=t.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.value=e,n.focus(),n.selectionEnd=e.length,n.selectionStart=0,setTimeout(()=>{n.remove(),i.focus()},50)}function o1(i){let e=[],t=[],n=!1;for(let r of i.selection.ranges)r.empty||(e.push(i.sliceDoc(r.from,r.to)),t.push(r));if(!e.length){let r=-1;for(let{from:s}of i.selection.ranges){let o=i.doc.lineAt(s);o.number>r&&(e.push(o.text),t.push({from:o.from,to:Math.min(i.doc.length,o.to+1)})),r=o.number}n=!0}return{text:Jo(i,zc,e.join(i.lineBreak)),ranges:t,linewise:n}}var ic=null;mt.copy=mt.cut=(i,e)=>{let{text:t,ranges:n,linewise:r}=o1(i.state);if(!t&&!r)return!1;ic=r?t:null,e.type=="cut"&&!i.state.readOnly&&i.dispatch({changes:n,scrollIntoView:!0,userEvent:"delete.cut"});let s=Bm?null:e.clipboardData;return s?(s.clearData(),s.setData("text/plain",t),!0):(s1(i,t),!1)};var Fm=De.define();function Hm(i,e){let t=[];for(let n of i.facet(_m)){let r=n(i,e);r&&t.push(r)}return t.length?i.update({effects:t,annotations:Fm.of(!0)}):null}function Km(i){setTimeout(()=>{let e=i.hasFocus;if(e!=i.inputState.notifiedFocused){let t=Hm(i.state,e);t?i.dispatch(t):i.update([])}},10)}ht.focus=i=>{i.inputState.lastFocusTime=Date.now(),!i.scrollDOM.scrollTop&&(i.inputState.lastScrollTop||i.inputState.lastScrollLeft)&&(i.scrollDOM.scrollTop=i.inputState.lastScrollTop,i.scrollDOM.scrollLeft=i.inputState.lastScrollLeft),Km(i)};ht.blur=i=>{i.observer.clearSelectionRange(),Km(i)};ht.compositionstart=ht.compositionupdate=i=>{i.observer.editContext||(i.inputState.compositionFirstChange==null&&(i.inputState.compositionFirstChange=!0),i.inputState.composing<0&&(i.inputState.composing=0))};ht.compositionend=i=>{i.observer.editContext||(i.inputState.composing=-1,i.inputState.compositionEndedAt=Date.now(),i.inputState.compositionPendingKey=!0,i.inputState.compositionPendingChange=i.observer.pendingRecords().length>0,i.inputState.compositionFirstChange=null,R.chrome&&R.android?i.observer.flushSoon():i.inputState.compositionPendingChange?Promise.resolve().then(()=>i.observer.flush()):setTimeout(()=>{i.inputState.composing<0&&i.docView.hasComposition&&i.update([])},50))};ht.contextmenu=i=>{i.inputState.lastContextMenu=Date.now()};mt.beforeinput=(i,e)=>{var t,n;if(e.inputType=="insertReplacementText"&&i.observer.editContext){let s=(t=e.dataTransfer)===null||t===void 0?void 0:t.getData("text/plain"),o=e.getTargetRanges();if(s&&o.length){let a=o[0],l=i.posAtDOM(a.startContainer,a.startOffset),O=i.posAtDOM(a.endContainer,a.endOffset);return _c(i,{from:l,to:O,insert:i.state.toText(s)},null),!0}}let r;if(R.chrome&&R.android&&(r=Lm.find(s=>s.inputType==e.inputType))&&(i.observer.delayAndroidKey(r.key,r.keyCode),r.key=="Backspace"||r.key=="Delete")){let s=((n=window.visualViewport)===null||n===void 0?void 0:n.height)||0;setTimeout(()=>{var o;(((o=window.visualViewport)===null||o===void 0?void 0:o.height)||0)>s+10&&i.hasFocus&&(i.contentDOM.blur(),i.focus())},100)}return R.ios&&e.inputType=="deleteContentForward"&&i.observer.flushSoon(),R.safari&&e.inputType=="insertText"&&i.inputState.composing>=0&&setTimeout(()=>ht.compositionend(i,e),20),!1};var Mp=new Set;function a1(i){Mp.has(i)||(Mp.add(i),i.addEventListener("copy",()=>{}),i.addEventListener("cut",()=>{}))}var Ep=["pre-wrap","normal","pre-line","break-spaces"],Rn=!1;function Dp(){Rn=!1}var nc=class{constructor(e){this.lineWrapping=e,this.doc=U.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let n=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(n+=Math.max(0,Math.ceil((t-e-n*this.lineLength*.5)/this.lineLength))),this.lineHeight*n}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return Ep.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let n=0;n<e.length;n++){let r=e[n];r<0?n++:this.heightSamples[Math.floor(r*10)]||(t=!0,this.heightSamples[Math.floor(r*10)]=!0)}return t}refresh(e,t,n,r,s,o){let a=Ep.indexOf(e)>-1,l=Math.round(t)!=Math.round(this.lineHeight)||this.lineWrapping!=a;if(this.lineWrapping=a,this.lineHeight=t,this.charWidth=n,this.textHeight=r,this.lineLength=s,l){this.heightSamples={};for(let O=0;O<o.length;O++){let c=o[O];c<0?O++:this.heightSamples[Math.floor(c*10)]=!0}}return l}},rc=class{constructor(e,t){this.from=e,this.heights=t,this.index=0}get more(){return this.index<this.heights.length}},wt=class i{constructor(e,t,n,r,s){this.from=e,this.length=t,this.top=n,this.height=r,this._content=s}get type(){return typeof this._content=="number"?Ye.Text:Array.isArray(this._content)?this._content:this._content.type}get to(){return this.from+this.length}get bottom(){return this.top+this.height}get widget(){return this._content instanceof ui?this._content.widget:null}get widgetLineBreaks(){return typeof this._content=="number"?this._content:0}join(e){let t=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(e._content)?e._content:[e]);return new i(this.from,this.length+e.length,this.top,this.height+e.height,t)}},he=function(i){return i[i.ByPos=0]="ByPos",i[i.ByHeight=1]="ByHeight",i[i.ByPosNoHeight=2]="ByPosNoHeight",i}(he||(he={})),qo=.001,Je=class i{constructor(e,t,n=2){this.length=e,this.height=t,this.flags=n}get outdated(){return(this.flags&2)>0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>qo&&(Rn=!0),this.height=e)}replace(e,t,n){return i.of(n)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,n,r){let s=this,o=n.doc;for(let a=r.length-1;a>=0;a--){let{fromA:l,toA:O,fromB:c,toB:h}=r[a],f=s.lineAt(l,he.ByPosNoHeight,n.setDoc(t),0,0),u=f.to>=O?f:s.lineAt(O,he.ByPosNoHeight,n,0,0);for(h+=u.to-O,O=u.to;a>0&&f.from<=r[a-1].toA;)l=r[a-1].fromA,c=r[a-1].fromB,a--,l<f.from&&(f=s.lineAt(l,he.ByPosNoHeight,n,0,0));c+=f.from-l,l=f.from;let d=oc.build(n.setDoc(o),e,c,h);s=Mo(s,s.replace(l,O,d))}return s.updateHeight(n,0)}static empty(){return new ct(0,0)}static of(e){if(e.length==1)return e[0];let t=0,n=e.length,r=0,s=0;for(;;)if(t==n)if(r>s*2){let a=e[t-1];a.break?e.splice(--t,1,a.left,null,a.right):e.splice(--t,1,a.left,a.right),n+=1+a.break,r-=a.size}else if(s>r*2){let a=e[n];a.break?e.splice(n,1,a.left,null,a.right):e.splice(n,1,a.left,a.right),n+=2+a.break,s-=a.size}else break;else if(r<s){let a=e[t++];a&&(r+=a.size)}else{let a=e[--n];a&&(s+=a.size)}let o=0;return e[t-1]==null?(o=1,t--):e[t]==null&&(o=1,n++),new sc(i.of(e.slice(0,t)),o,i.of(e.slice(n)))}};function Mo(i,e){return i==e?i:(i.constructor!=e.constructor&&(Rn=!0),e)}Je.prototype.size=1;var Eo=class extends Je{constructor(e,t,n){super(e,t),this.deco=n}blockAt(e,t,n,r){return new wt(r,this.length,n,this.height,this.deco||0)}lineAt(e,t,n,r,s){return this.blockAt(0,n,r,s)}forEachLine(e,t,n,r,s,o){e<=s+this.length&&t>=s&&o(this.blockAt(0,n,r,s))}updateHeight(e,t=0,n=!1,r){return r&&r.from<=t&&r.more&&this.setHeight(r.heights[r.index++]),this.outdated=!1,this}toString(){return`block(${this.length})`}},ct=class i extends Eo{constructor(e,t){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0}blockAt(e,t,n,r){return new wt(r,this.length,n,this.height,this.breaks)}replace(e,t,n){let r=n[0];return n.length==1&&(r instanceof i||r instanceof hi&&r.flags&4)&&Math.abs(this.length-r.length)<10?(r instanceof hi?r=new i(r.length,this.height):r.height=this.height,this.outdated||(r.outdated=!1),r):Je.of(n)}updateHeight(e,t=0,n=!1,r){return r&&r.from<=t&&r.more?this.setHeight(r.heights[r.index++]):(n||this.outdated)&&this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}},hi=class i extends Je{constructor(e){super(e,0)}heightMetrics(e,t){let n=e.doc.lineAt(t).number,r=e.doc.lineAt(t+this.length).number,s=r-n+1,o,a=0;if(e.lineWrapping){let l=Math.min(this.height,e.lineHeight*s);o=l/s,this.length>s+1&&(a=(this.height-l)/(this.length-s-1))}else o=this.height/s;return{firstLine:n,lastLine:r,perLine:o,perChar:a}}blockAt(e,t,n,r){let{firstLine:s,lastLine:o,perLine:a,perChar:l}=this.heightMetrics(t,r);if(t.lineWrapping){let O=r+(e<t.lineHeight?0:Math.round(Math.max(0,Math.min(1,(e-n)/this.height))*this.length)),c=t.doc.lineAt(O),h=a+c.length*l,f=Math.max(n,e-h/2);return new wt(c.from,c.length,f,h,0)}else{let O=Math.max(0,Math.min(o-s,Math.floor((e-n)/a))),{from:c,length:h}=t.doc.line(s+O);return new wt(c,h,n+a*O,a,0)}}lineAt(e,t,n,r,s){if(t==he.ByHeight)return this.blockAt(e,n,r,s);if(t==he.ByPosNoHeight){let{from:u,to:d}=n.doc.lineAt(e);return new wt(u,d-u,0,0,0)}let{firstLine:o,perLine:a,perChar:l}=this.heightMetrics(n,s),O=n.doc.lineAt(e),c=a+O.length*l,h=O.number-o,f=r+a*h+l*(O.from-s-h);return new wt(O.from,O.length,Math.max(r,Math.min(f,r+this.height-c)),c,0)}forEachLine(e,t,n,r,s,o){e=Math.max(e,s),t=Math.min(t,s+this.length);let{firstLine:a,perLine:l,perChar:O}=this.heightMetrics(n,s);for(let c=e,h=r;c<=t;){let f=n.doc.lineAt(c);if(c==e){let d=f.number-a;h+=l*d+O*(e-s-d)}let u=l+O*f.length;o(new wt(f.from,f.length,h,u,0)),h+=u,c=f.to+1}}replace(e,t,n){let r=this.length-t;if(r>0){let s=n[n.length-1];s instanceof i?n[n.length-1]=new i(s.length+r):n.push(null,new i(r-1))}if(e>0){let s=n[0];s instanceof i?n[0]=new i(e+s.length):n.unshift(new i(e-1),null)}return Je.of(n)}decomposeLeft(e,t){t.push(new i(e-1),null)}decomposeRight(e,t){t.push(null,new i(this.length-e-1))}updateHeight(e,t=0,n=!1,r){let s=t+this.length;if(r&&r.from<=t+this.length&&r.more){let o=[],a=Math.max(t,r.from),l=-1;for(r.from>t&&o.push(new i(r.from-t-1).updateHeight(e,t));a<=s&&r.more;){let c=e.doc.lineAt(a).length;o.length&&o.push(null);let h=r.heights[r.index++];l==-1?l=h:Math.abs(h-l)>=qo&&(l=-2);let f=new ct(c,h);f.outdated=!1,o.push(f),a+=c+1}a<=s&&o.push(null,new i(s-a).updateHeight(e,a));let O=Je.of(o);return(l<0||Math.abs(O.height-this.height)>=qo||Math.abs(l-this.heightMetrics(e,t).perLine)>=qo)&&(Rn=!0),Mo(this,O)}else(n||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}},sc=class extends Je{constructor(e,t,n){super(e.length+t+n.length,e.height+n.height,t|(e.outdated||n.outdated?2:0)),this.left=e,this.right=n,this.size=e.size+n.size}get break(){return this.flags&1}blockAt(e,t,n,r){let s=n+this.left.height;return e<s?this.left.blockAt(e,t,n,r):this.right.blockAt(e,t,s,r+this.left.length+this.break)}lineAt(e,t,n,r,s){let o=r+this.left.height,a=s+this.left.length+this.break,l=t==he.ByHeight?e<o:e<a,O=l?this.left.lineAt(e,t,n,r,s):this.right.lineAt(e,t,n,o,a);if(this.break||(l?O.to<a:O.from>a))return O;let c=t==he.ByPosNoHeight?he.ByPosNoHeight:he.ByPos;return l?O.join(this.right.lineAt(a,c,n,o,a)):this.left.lineAt(a,c,n,r,s).join(O)}forEachLine(e,t,n,r,s,o){let a=r+this.left.height,l=s+this.left.length+this.break;if(this.break)e<l&&this.left.forEachLine(e,t,n,r,s,o),t>=l&&this.right.forEachLine(e,t,n,a,l,o);else{let O=this.lineAt(l,he.ByPos,n,r,s);e<O.from&&this.left.forEachLine(e,O.from-1,n,r,s,o),O.to>=e&&O.from<=t&&o(O),t>O.to&&this.right.forEachLine(O.to+1,t,n,a,l,o)}}replace(e,t,n){let r=this.left.length+this.break;if(t<r)return this.balanced(this.left.replace(e,t,n),this.right);if(e>this.left.length)return this.balanced(this.left,this.right.replace(e-r,t-r,n));let s=[];e>0&&this.decomposeLeft(e,s);let o=s.length;for(let a of n)s.push(a);if(e>0&&Lp(s,o-1),t<this.length){let a=s.length;this.decomposeRight(t,s),Lp(s,a)}return Je.of(s)}decomposeLeft(e,t){let n=this.left.length;if(e<=n)return this.left.decomposeLeft(e,t);t.push(this.left),this.break&&(n++,e>=n&&t.push(null)),e>n&&this.right.decomposeLeft(e-n,t)}decomposeRight(e,t){let n=this.left.length,r=n+this.break;if(e>=r)return this.right.decomposeRight(e-r,t);e<n&&this.left.decomposeRight(e,t),this.break&&e<r&&t.push(null),t.push(this.right)}balanced(e,t){return e.size>2*t.size||t.size>2*e.size?Je.of(this.break?[e,null,t]:[e,t]):(this.left=Mo(this.left,e),this.right=Mo(this.right,t),this.setHeight(e.height+t.height),this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,n=!1,r){let{left:s,right:o}=this,a=t+s.length+this.break,l=null;return r&&r.from<=t+s.length&&r.more?l=s=s.updateHeight(e,t,n,r):s.updateHeight(e,t,n),r&&r.from<=a+o.length&&r.more?l=o=o.updateHeight(e,a,n,r):o.updateHeight(e,a,n),l?this.balanced(s,o):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}};function Lp(i,e){let t,n;i[e]==null&&(t=i[e-1])instanceof hi&&(n=i[e+1])instanceof hi&&i.splice(e-1,3,new hi(t.length+1+n.length))}var l1=5,oc=class i{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let n=Math.min(t,this.lineEnd),r=this.nodes[this.nodes.length-1];r instanceof ct?r.length+=n-this.pos:(n>this.pos||!this.isCovered)&&this.nodes.push(new ct(n-this.pos,-1)),this.writtenTo=n,t>n&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,n){if(e<t||n.heightRelevant){let r=n.widget?n.widget.estimatedHeight:0,s=n.widget?n.widget.lineBreaks:0;r<0&&(r=this.oracle.lineHeight);let o=t-e;n.block?this.addBlock(new Eo(o,r,n)):(o||s||r>=l1)&&this.addLineDeco(r,s,o)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd<this.pos&&(this.lineEnd=this.oracle.doc.lineAt(this.pos).to)}enterLine(){if(this.lineStart>-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenTo<e&&((this.writtenTo<e-1||this.nodes[this.nodes.length-1]==null)&&this.nodes.push(this.blankContent(this.writtenTo,e-1)),this.nodes.push(null)),this.pos>e&&this.nodes.push(new ct(this.pos-e,-1)),this.writtenTo=this.pos}blankContent(e,t){let n=new hi(t-e);return this.oracle.doc.lineAt(e).to==t&&(n.flags|=4),n}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof ct)return e;let t=new ct(0,-1);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,n){let r=this.ensureLine();r.length+=n,r.collapsed+=n,r.widgetHeight=Math.max(r.widgetHeight,e),r.breaks+=t,this.writtenTo=this.pos=this.pos+n}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof ct)&&!this.isCovered?this.nodes.push(new ct(0,-1)):(this.writtenTo<this.pos||t==null)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos));let n=e;for(let r of this.nodes)r instanceof ct&&r.updateHeight(this.oracle,n),n+=r?r.length:1;return this.nodes}static build(e,t,n,r){let s=new i(n,e);return F.spans(t,n,r,s,0),s.finish(n)}};function O1(i,e,t){let n=new ac;return F.compare(i,e,t,n,0),n.changes}var ac=class{constructor(){this.changes=[]}compareRange(){}comparePoint(e,t,n,r){(e<t||n&&n.heightRelevant||r&&r.heightRelevant)&&Xo(e,t,this.changes,5)}};function c1(i,e){let t=i.getBoundingClientRect(),n=i.ownerDocument,r=n.defaultView||window,s=Math.max(0,t.left),o=Math.min(r.innerWidth,t.right),a=Math.max(0,t.top),l=Math.min(r.innerHeight,t.bottom);for(let O=i.parentNode;O&&O!=n.body;)if(O.nodeType==1){let c=O,h=window.getComputedStyle(c);if((c.scrollHeight>c.clientHeight||c.scrollWidth>c.clientWidth)&&h.overflow!="visible"){let f=c.getBoundingClientRect();s=Math.max(s,f.left),o=Math.min(o,f.right),a=Math.max(a,f.top),l=Math.min(O==i.parentNode?r.innerHeight:l,f.bottom)}O=h.position=="absolute"||h.position=="fixed"?c.offsetParent:c.parentNode}else if(O.nodeType==11)O=O.host;else break;return{left:s-t.left,right:Math.max(s,o)-t.left,top:a-(t.top+e),bottom:Math.max(a,l)-(t.top+e)}}function h1(i){let e=i.getBoundingClientRect(),t=i.ownerDocument.defaultView||window;return e.left<t.innerWidth&&e.right>0&&e.top<t.innerHeight&&e.bottom>0}function f1(i,e){let t=i.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}var Zr=class{constructor(e,t,n,r){this.from=e,this.to=t,this.size=n,this.displaySize=r}static same(e,t){if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++){let r=e[n],s=t[n];if(r.from!=s.from||r.to!=s.to||r.size!=s.size)return!1}return!0}draw(e,t){return q.replace({widget:new lc(this.displaySize*(t?e.scaleY:e.scaleX),t)}).range(this.from,this.to)}},lc=class extends Ge{constructor(e,t){super(),this.size=e,this.vertical=t}eq(e){return e.size==this.size&&e.vertical==this.vertical}toDOM(){let e=document.createElement("div");return this.vertical?e.style.height=this.size+"px":(e.style.width=this.size+"px",e.style.height="2px",e.style.display="inline-block"),e}get estimatedHeight(){return this.vertical?this.size:-1}},Do=class{constructor(e){this.state=e,this.pixelViewport={left:0,right:window.innerWidth,top:0,bottom:0},this.inView=!0,this.paddingTop=0,this.paddingBottom=0,this.contentDOMWidth=0,this.contentDOMHeight=0,this.editorHeight=0,this.editorWidth=0,this.scrollTop=0,this.scrolledToBottom=!1,this.scaleX=1,this.scaleY=1,this.scrollAnchorPos=0,this.scrollAnchorHeight=-1,this.scaler=Gp,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=ne.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let t=e.facet(Xc).some(n=>typeof n!="function"&&n.class=="cm-lineWrapping");this.heightOracle=new nc(t),this.stateDeco=e.facet(Gr).filter(n=>typeof n!="function"),this.heightMap=Je.empty().applyChanges(this.stateDeco,U.empty,this.heightOracle.setDoc(e.doc),[new kt(0,0,0,e.doc.length)]);for(let n=0;n<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());n++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=q.set(this.lineGaps.map(n=>n.draw(this,!1))),this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let n=0;n<=1;n++){let r=n?t.head:t.anchor;if(!e.some(({from:s,to:o})=>r>=s&&r<=o)){let{from:s,to:o}=this.lineBlockAt(r);e.push(new kn(s,o))}}return this.viewports=e.sort((n,r)=>n.from-r.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?Gp:new Oc(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(Xr(e,this.scaler))})}update(e,t=null){this.state=e.state;let n=this.stateDeco;this.stateDeco=this.state.facet(Gr).filter(c=>typeof c!="function");let r=e.changedRanges,s=kt.extendWithRanges(r,O1(n,this.stateDeco,e?e.changes:Ae.empty(this.state.doc.length))),o=this.heightMap.height,a=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);Dp(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),s),(this.heightMap.height!=o||Rn)&&(e.flags|=2),a?(this.scrollAnchorPos=e.changes.mapPos(a.from,-1),this.scrollAnchorHeight=a.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=o);let l=s.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.head<l.from||t.range.head>l.to)||!this.viewportIsAppropriate(l))&&(l=this.getViewport(0,t));let O=l.from!=this.viewport.from||l.to!=this.viewport.to;this.viewport=l,e.flags|=this.updateForViewport(),(O||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&e.selectionSet&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(Wm)&&(this.mustEnforceCursorAssoc=!0)}measure(e){let t=e.contentDOM,n=window.getComputedStyle(t),r=this.heightOracle,s=n.whiteSpace;this.defaultTextDirection=n.direction=="rtl"?ne.RTL:ne.LTR;let o=this.heightOracle.mustRefreshForWrapping(s),a=t.getBoundingClientRect(),l=o||this.mustMeasureContent||this.contentDOMHeight!=a.height;this.contentDOMHeight=a.height,this.mustMeasureContent=!1;let O=0,c=0;if(a.width&&a.height){let{scaleX:x,scaleY:b}=Om(t,a);(x>.005&&Math.abs(this.scaleX-x)>.005||b>.005&&Math.abs(this.scaleY-b)>.005)&&(this.scaleX=x,this.scaleY=b,O|=16,o=l=!0)}let h=(parseInt(n.paddingTop)||0)*this.scaleY,f=(parseInt(n.paddingBottom)||0)*this.scaleY;(this.paddingTop!=h||this.paddingBottom!=f)&&(this.paddingTop=h,this.paddingBottom=f,O|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(r.lineWrapping&&(l=!0),this.editorWidth=e.scrollDOM.clientWidth,O|=16);let u=e.scrollDOM.scrollTop*this.scaleY;this.scrollTop!=u&&(this.scrollAnchorHeight=-1,this.scrollTop=u),this.scrolledToBottom=fm(e.scrollDOM);let d=(this.printing?f1:c1)(t,this.paddingTop),p=d.top-this.pixelViewport.top,m=d.bottom-this.pixelViewport.bottom;this.pixelViewport=d;let g=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(g!=this.inView&&(this.inView=g,g&&(l=!0)),!this.inView&&!this.scrollTarget&&!h1(e.dom))return 0;let y=a.width;if((this.contentDOMWidth!=y||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=a.width,this.editorHeight=e.scrollDOM.clientHeight,O|=16),l){let x=e.docView.measureVisibleLineHeights(this.viewport);if(r.mustRefreshForHeights(x)&&(o=!0),o||r.lineWrapping&&Math.abs(y-this.contentDOMWidth)>r.charWidth){let{lineHeight:b,charWidth:v,textHeight:Q}=e.docView.measureTextSize();o=b>0&&r.refresh(s,b,v,Q,Math.max(5,y/v),x),o&&(e.docView.minWidth=0,O|=16)}p>0&&m>0?c=Math.max(p,m):p<0&&m<0&&(c=Math.min(p,m)),Dp();for(let b of this.viewports){let v=b.from==this.viewport.from?x:e.docView.measureVisibleLineHeights(b);this.heightMap=(o?Je.empty().applyChanges(this.stateDeco,U.empty,this.heightOracle,[new kt(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(r,0,o,new rc(b.from,v))}Rn&&(O|=2)}let S=!this.viewportIsAppropriate(this.viewport,c)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return S&&(O&2&&(O|=this.updateScaler()),this.viewport=this.getViewport(c,this.scrollTarget),O|=this.updateForViewport()),(O&2||S)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(o?[]:this.lineGaps,e)),O|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),O}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let n=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),r=this.heightMap,s=this.heightOracle,{visibleTop:o,visibleBottom:a}=this,l=new kn(r.lineAt(o-n*1e3,he.ByHeight,s,0,0).from,r.lineAt(a+(1-n)*1e3,he.ByHeight,s,0,0).to);if(t){let{head:O}=t.range;if(O<l.from||O>l.to){let c=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),h=r.lineAt(O,he.ByPos,s,0,0),f;t.y=="center"?f=(h.top+h.bottom)/2-c/2:t.y=="start"||t.y=="nearest"&&O<l.from?f=h.top:f=h.bottom-c,l=new kn(r.lineAt(f-1e3/2,he.ByHeight,s,0,0).from,r.lineAt(f+c+1e3/2,he.ByHeight,s,0,0).to)}}return l}mapViewport(e,t){let n=t.mapPos(e.from,-1),r=t.mapPos(e.to,1);return new kn(this.heightMap.lineAt(n,he.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(r,he.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:e,to:t},n=0){if(!this.inView)return!0;let{top:r}=this.heightMap.lineAt(e,he.ByPos,this.heightOracle,0,0),{bottom:s}=this.heightMap.lineAt(t,he.ByPos,this.heightOracle,0,0),{visibleTop:o,visibleBottom:a}=this;return(e==0||r<=o-Math.max(10,Math.min(-n,250)))&&(t==this.state.doc.length||s>=a+Math.max(10,Math.min(n,250)))&&r>o-2*1e3&&s<a+2*1e3}mapLineGaps(e,t){if(!e.length||t.empty)return e;let n=[];for(let r of e)t.touchesRange(r.from,r.to)||n.push(new Zr(t.mapPos(r.from),t.mapPos(r.to),r.size,r.displaySize));return n}ensureLineGaps(e,t){let n=this.heightOracle.lineWrapping,r=n?1e4:2e3,s=r>>1,o=r<<1;if(this.defaultTextDirection!=ne.LTR&&!n)return[];let a=[],l=(c,h,f,u)=>{if(h-c<s)return;let d=this.state.selection.main,p=[d.from];d.empty||p.push(d.to);for(let g of p)if(g>c&&g<h){l(c,g-10,f,u),l(g+10,h,f,u);return}let m=d1(e,g=>g.from>=f.from&&g.to<=f.to&&Math.abs(g.from-c)<s&&Math.abs(g.to-h)<s&&!p.some(y=>g.from<y&&g.to>y));if(!m){if(h<f.to&&t&&n&&t.visibleRanges.some(S=>S.from<=h&&S.to>=h)){let S=t.moveToLineBoundary(P.cursor(h),!1,!0).head;S>c&&(h=S)}let g=this.gapSize(f,c,h,u),y=n||g<2e6?g:2e6;m=new Zr(c,h,g,y)}a.push(m)},O=c=>{if(c.length<o||c.type!=Ye.Text)return;let h=u1(c.from,c.to,this.stateDeco);if(h.total<o)return;let f=this.scrollTarget?this.scrollTarget.range.head:null,u,d;if(n){let p=r/this.heightOracle.lineLength*this.heightOracle.lineHeight,m,g;if(f!=null){let y=wo(h,f),S=((this.visibleBottom-this.visibleTop)/2+p)/c.height;m=y-S,g=y+S}else m=(this.visibleTop-c.top-p)/c.height,g=(this.visibleBottom-c.top+p)/c.height;u=vo(h,m),d=vo(h,g)}else{let p=h.total*this.heightOracle.charWidth,m=r*this.heightOracle.charWidth,g=0;if(p>2e6)for(let v of e)v.from>=c.from&&v.from<c.to&&v.size!=v.displaySize&&v.from*this.heightOracle.charWidth+g<this.pixelViewport.left&&(g=v.size-v.displaySize);let y=this.pixelViewport.left+g,S=this.pixelViewport.right+g,x,b;if(f!=null){let v=wo(h,f),Q=((S-y)/2+m)/p;x=v-Q,b=v+Q}else x=(y-m)/p,b=(S+m)/p;u=vo(h,x),d=vo(h,b)}u>c.from&&l(c.from,u,c,h),d<c.to&&l(d,c.to,c,h)};for(let c of this.viewportLines)Array.isArray(c.type)?c.type.forEach(O):O(c);return a}gapSize(e,t,n,r){let s=wo(r,n)-wo(r,t);return this.heightOracle.lineWrapping?e.height*s:r.total*this.heightOracle.charWidth*s}updateLineGaps(e){Zr.same(e,this.lineGaps)||(this.lineGaps=e,this.lineGapDeco=q.set(e.map(t=>t.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let n=[];F.spans(t,this.viewport.from,this.viewport.to,{span(s,o){n.push({from:s,to:o})},point(){}},20);let r=0;if(n.length!=this.visibleRanges.length)r=12;else for(let s=0;s<n.length&&!(r&8);s++){let o=this.visibleRanges[s],a=n[s];(o.from!=a.from||o.to!=a.to)&&(r|=4,e&&e.mapPos(o.from,-1)==a.from&&e.mapPos(o.to,1)==a.to||(r|=8))}return this.visibleRanges=n,r}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||Xr(this.heightMap.lineAt(e,he.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(t=>t.top<=e&&t.bottom>=e)||Xr(this.heightMap.lineAt(this.scaler.fromDOM(e),he.ByHeight,this.heightOracle,0,0),this.scaler)}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return Xr(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}},kn=class{constructor(e,t){this.from=e,this.to=t}};function u1(i,e,t){let n=[],r=i,s=0;return F.spans(t,i,e,{span(){},point(o,a){o>r&&(n.push({from:r,to:o}),s+=o-r),r=a}},20),r<e&&(n.push({from:r,to:e}),s+=e-r),{total:s,ranges:n}}function vo({total:i,ranges:e},t){if(t<=0)return e[0].from;if(t>=1)return e[e.length-1].to;let n=Math.floor(i*t);for(let r=0;;r++){let{from:s,to:o}=e[r],a=o-s;if(n<=a)return s+n;n-=a}}function wo(i,e){let t=0;for(let{from:n,to:r}of i.ranges){if(e<=r){t+=e-n;break}t+=r-n}return t/i.total}function d1(i,e){for(let t of i)if(e(t))return t}var Gp={toDOM(i){return i},fromDOM(i){return i},scale:1,eq(i){return i==this}},Oc=class i{constructor(e,t,n){let r=0,s=0,o=0;this.viewports=n.map(({from:a,to:l})=>{let O=t.lineAt(a,he.ByPos,e,0,0).top,c=t.lineAt(l,he.ByPos,e,0,0).bottom;return r+=c-O,{from:a,to:l,top:O,bottom:c,domTop:0,domBottom:0}}),this.scale=(7e6-r)/(t.height-r);for(let a of this.viewports)a.domTop=o+(a.top-s)*this.scale,o=a.domBottom=a.domTop+(a.bottom-a.top),s=a.bottom}toDOM(e){for(let t=0,n=0,r=0;;t++){let s=t<this.viewports.length?this.viewports[t]:null;if(!s||e<s.top)return r+(e-n)*this.scale;if(e<=s.bottom)return s.domTop+(e-s.top);n=s.bottom,r=s.domBottom}}fromDOM(e){for(let t=0,n=0,r=0;;t++){let s=t<this.viewports.length?this.viewports[t]:null;if(!s||e<s.domTop)return n+(e-r)/this.scale;if(e<=s.domBottom)return s.top+(e-s.domTop);n=s.bottom,r=s.domBottom}}eq(e){return e instanceof i?this.scale==e.scale&&this.viewports.length==e.viewports.length&&this.viewports.every((t,n)=>t.from==e.viewports[n].from&&t.to==e.viewports[n].to):!1}};function Xr(i,e){if(e.scale==1)return i;let t=e.toDOM(i.top),n=e.toDOM(i.bottom);return new wt(i.from,i.length,t,n-t,Array.isArray(i._content)?i._content.map(r=>Xr(r,e)):i._content)}var Po=X.define({combine:i=>i.join(" ")}),cc=X.define({combine:i=>i.indexOf(!0)>-1}),hc=Ot.newName(),Jm=Ot.newName(),eg=Ot.newName(),tg={"&light":"."+Jm,"&dark":"."+eg};function fc(i,e,t){return new Ot(e,{finish(n){return/&/.test(n)?n.replace(/&\w*/,r=>{if(r=="&")return i;if(!t||!t[r])throw new RangeError(`Unsupported selector: ${r}`);return t[r]}):i+" "+n}})}var p1=fc("."+hc,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="20"><path stroke="%23888" stroke-width="1" fill="none" d="M1 10H196L190 5M190 15L196 10M197 4L197 16"/></svg>')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},tg),m1={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},WO=R.ie&&R.ie_version<=11,uc=class{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new YO,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let n of t)this.queue.push(n);(R.ie&&R.ie_version<=11||R.ios&&e.composing)&&t.some(n=>n.type=="childList"&&n.removedNodes.length||n.type=="characterData"&&n.oldValue.length>n.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&R.android&&e.constructor.EDIT_CONTEXT!==!1&&!(R.chrome&&R.chrome_version<126)&&(this.editContext=new dc(e),e.state.facet(It)&&(e.contentDOM.editContext=this.editContext.editContext)),WO&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var t;((t=this.view.docView)===null||t===void 0?void 0:t.lastUpdate)<Date.now()-75&&this.onResize()}),this.resizeScroll.observe(e.scrollDOM)),this.addWindowListeners(this.win=e.win),this.start(),typeof IntersectionObserver=="function"&&(this.intersection=new IntersectionObserver(t=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(t=>{t.length>0&&t[t.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,n)=>t!=e[n]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:n}=this,r=this.selectionRange;if(n.state.facet(It)?n.root.activeElement!=this.dom:!zo(this.dom,r))return;let s=r.anchorNode&&n.docView.nearest(r.anchorNode);if(s&&s.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(R.ie&&R.ie_version<=11||R.android&&R.chrome)&&!n.state.selection.main.empty&&r.focusNode&&qr(r.focusNode,r.focusOffset,r.anchorNode,r.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=jr(e.root);if(!t)return!1;let n=R.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&g1(this.view,t)||t;if(!n||this.selectionRange.eq(n))return!1;let r=zo(this.dom,n);return r&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime<Date.now()-300&&cx(this.dom,n)?(this.view.inputState.lastFocusTime=0,e.docView.updateSelection(),!1):(this.selectionRange.setRange(n),r&&(this.selectionChanged=!0),!0)}setSelectionRange(e,t){this.selectionRange.set(e.node,e.offset,t.node,t.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let e=0,t=null;for(let n=this.dom;n;)if(n.nodeType==1)!t&&e<this.scrollTargets.length&&this.scrollTargets[e]==n?e++:t||(t=this.scrollTargets.slice(0,e)),t&&t.push(n),n=n.assignedSlot||n.parentNode;else if(n.nodeType==11)n=n.host;else break;if(e<this.scrollTargets.length&&!t&&(t=this.scrollTargets.slice(0,e)),t){for(let n of this.scrollTargets)n.removeEventListener("scroll",this.onScroll);for(let n of this.scrollTargets=t)n.addEventListener("scroll",this.onScroll)}}ignore(e){if(!this.active)return e();try{return this.stop(),e()}finally{this.start(),this.clear()}}start(){this.active||(this.observer.observe(this.dom,m1),WO&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),WO&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(e,t){var n;if(!this.delayedAndroidKey){let r=()=>{let s=this.delayedAndroidKey;s&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=s.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&s.force&&Xn(this.dom,s.key,s.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(r)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange<Date.now()-50||!!(!((n=this.delayedAndroidKey)===null||n===void 0)&&n.force)})}clearDelayedAndroidKey(){this.win.cancelAnimationFrame(this.flushingAndroidKey),this.delayedAndroidKey=null,this.flushingAndroidKey=-1}flushSoon(){this.delayedFlush<0&&(this.delayedFlush=this.view.win.requestAnimationFrame(()=>{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,n=-1,r=!1;for(let s of e){let o=this.readMutation(s);o&&(o.typeOver&&(r=!0),t==-1?{from:t,to:n}=o:(t=Math.min(o.from,t),n=Math.max(o.to,n)))}return{from:t,to:n,typeOver:r}}readChange(){let{from:e,to:t,typeOver:n}=this.processRecords(),r=this.selectionChanged&&zo(this.dom,this.selectionRange);if(e<0&&!r)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let s=new JO(this.view,e,t,n);return this.view.docView.domChanged={newSel:s.newSel?s.newSel.main:null},s}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let n=this.view.state,r=Dm(this.view,t);return this.view.state==n&&(t.domChanged||t.newSel&&!t.newSel.main.eq(this.view.state.selection.main))&&this.view.update([]),r}readMutation(e){let t=this.view.docView.nearest(e.target);if(!t||t.ignoreMutation(e))return null;if(t.markDirty(e.type=="attributes"),e.type=="attributes"&&(t.flags|=4),e.type=="childList"){let n=Bp(t,e.previousSibling||e.target.previousSibling,-1),r=Bp(t,e.nextSibling||e.target.nextSibling,1);return{from:n?t.posAfter(n):t.posAtStart,to:r?t.posBefore(r):t.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(It)!=e.state.facet(It)&&(e.view.contentDOM.editContext=e.state.facet(It)?this.editContext.editContext:null))}destroy(){var e,t,n;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(t=this.gapIntersection)===null||t===void 0||t.disconnect(),(n=this.resizeScroll)===null||n===void 0||n.disconnect();for(let r of this.scrollTargets)r.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}};function Bp(i,e,t){for(;e;){let n=le.get(e);if(n&&n.parent==i)return n;let r=e.parentNode;e=r!=i.dom?r:t>0?e.nextSibling:e.previousSibling}return null}function Ip(i,e){let t=e.startContainer,n=e.startOffset,r=e.endContainer,s=e.endOffset,o=i.docView.domAtPos(i.state.selection.main.anchor);return qr(o.node,o.offset,r,s)&&([t,n,r,s]=[r,s,t,n]),{anchorNode:t,anchorOffset:n,focusNode:r,focusOffset:s}}function g1(i,e){if(e.getComposedRanges){let r=e.getComposedRanges(i.root)[0];if(r)return Ip(i,r)}let t=null;function n(r){r.preventDefault(),r.stopImmediatePropagation(),t=r.getTargetRanges()[0]}return i.contentDOM.addEventListener("beforeinput",n,!0),i.dom.ownerDocument.execCommand("indent"),i.contentDOM.removeEventListener("beforeinput",n,!0),t?Ip(i,t):null}var dc=class{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let t=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=n=>{let r=e.state.selection.main,{anchor:s,head:o}=r,a=this.toEditorPos(n.updateRangeStart),l=this.toEditorPos(n.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:n.updateRangeStart,editorBase:a,drifted:!1});let O={from:a,to:l,insert:U.of(n.text.split(`60 `))};if( O.from==this.from&&s<this.from?O.from=s:O.to==this.to&&s>this.to&&(O.to=s),O.from==O.to&&!O.insert.length){let c=P.single(this.toEditorPos(n.selectionStart),this.toEditorPos(n.selectionEnd));c.main.eq(r)||e.dispatch({selection:c,userEvent:"select"});return}if((R.mac||R.android)&&O.from==o-1&&/^\. ?$/.test(n.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(O={from:a,to:l,insert:U.of([n.text.replace("."," ")])}),this.pendingContextChange=O,!e.state.readOnly){let c=this.to-this.from+(O.to-O.from+O.insert.length);_c(e,O,P.single(this.toEditorPos(n.selectionStart,c),this.toEditorPos(n.selectionEnd,c)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state))},this.handlers.characterboundsupdate=n=>{let r=[],s=null;for(let o=this.toEditorPos(n.rangeStart),a=this.toEditorPos(n.rangeEnd);o<a;o++){let l=e.coordsForChar(o);s=l&&new DOMRect(l.left,l.top,l.right-l.left,l.bottom-l.top)||s||new DOMRect,r.push(s)}t.updateCharacterBounds(n.rangeStart,r)},this.handlers.textformatupdate=n=>{let r=[];for(let s of n.getTextFormats()){let o=s.underlineStyle,a=s.underlineThickness;if(o!="None"&&a!="None"){let l=this.toEditorPos(s.rangeStart),O=this.toEditorPos(s.rangeEnd);if(l<O){let c=`text-decoration: underline ${o=="Dashed"?"dashed ":o=="Squiggle"?"wavy ":""}${a=="Thin"?1:2}px`;r.push(q.mark({attributes:{style:c}}).range(l,O))}}}e.dispatch({effects:Vm.of(q.set(r))})},this.handlers.compositionstart=()=>{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:n}=this.composing;this.composing=null,n&&this.reset(e.state)}};for(let n in this.handlers)t.addEventListener(n,this.handlers[n]);this.measureReq={read:n=>{this.editContext.updateControlBounds(n.contentDOM.getBoundingClientRect());let r=jr(n.root);r&&r.rangeCount&&this.editContext.updateSelectionBounds(r.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,n=!1,r=this.pendingContextChange;return e.changes.iterChanges((s,o,a,l,O)=>{if(n)return;let c=O.length-(o-s);if(r&&o>=r.to)if(r.from==s&&r.to==o&&r.insert.eq(O)){r=this.pendingContextChange=null,t+=c,this.to+=c;return}else r=null,this.revertPending(e.state);if(s+=t,o+=t,o<=this.from)this.from+=c,this.to+=c;else if(s<this.to){if(s<this.from||o>this.to||this.to-this.from+O.length>3e4){n=!0;return}this.editContext.updateText(this.toContextPos(s),this.toContextPos(o),O.toString()),this.to+=c}t+=c}),r&&!n&&this.revertPending(e.state),!n}update(e){let t=this.pendingContextChange,n=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(n.from,n.to)&&e.transactions.some(r=>!r.isUserEvent("input.type")&&r.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,n=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),r=this.toContextPos(t.head);(this.editContext.selectionStart!=n||this.editContext.selectionEnd!=r)&&this.editContext.updateSelection(n,r)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to<e.doc.length&&this.to-t<500||this.to-this.from>1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let n=this.composing;return n&&n.drifted?n.editorBase+(e-n.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}},T=class i{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:n}=e;this.dispatchTransactions=e.dispatchTransactions||n&&(r=>r.forEach(s=>n(s,this)))||(r=>this.update(r)),this.dispatch=this.dispatch.bind(this),this._root=e.root||Ox(e.parent)||document,this.viewState=new Do(e.state||ee.create(e)),e.scrollTo&&e.scrollTo.is(So)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(Pn).map(r=>new Wr(r));for(let r of this.plugins)r.update(this);this.observer=new uc(this),this.inputState=new ec(this),this.inputState.ensureHandlers(this.plugins),this.docView=new Yo(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((t=document.fonts)===null||t===void 0)&&t.ready&&document.fonts.ready.then(()=>this.requestMeasure())}dispatch(...e){let t=e.length==1&&e[0]instanceof xe?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t=!1,n=!1,r,s=this.state;for(let f of e){if(f.startState!=s)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");s=f.state}if(this.destroyed){this.viewState.state=s;return}let o=this.hasFocus,a=0,l=null;e.some(f=>f.annotation(Fm))?(this.inputState.notifiedFocused=o,a=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,l=Hm(s,o),l||(a=1));let O=this.observer.delayedAndroidKey,c=null;if(O?(this.observer.clearDelayedAndroidKey(),c=this.observer.readChange(),(c&&!this.state.doc.eq(s.doc)||!this.state.selection.eq(s.selection))&&(c=null)):this.observer.clear(),s.facet(ee.phrases)!=this.state.facet(ee.phrases))return this.setState(s);r=jo.create(this,s,e),r.flags|=a;let h=this.viewState.scrollTarget;try{this.updateState=2;for(let f of e){if(h&&(h=h.map(f.changes)),f.scrollIntoView){let{main:u}=f.state.selection;h=new Cr(u.empty?u:P.cursor(u.head,u.head>u.anchor?-1:1))}for(let u of f.effects)u.is(So)&&(h=u.value.clip(this.state))}this.viewState.update(r,h),this.bidiCache=Lo.update(this.bidiCache,r.changes),r.empty||(this.updatePlugins(r),this.inputState.update(r)),t=this.docView.update(r),this.state.facet(Tr)!=this.styleModules&&this.mountStyles(),n=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(f=>f.isUserEvent("select.pointer")))}finally{this.updateState=0}if(r.startState.facet(Po)!=r.state.facet(Po)&&(this.viewState.mustMeasureContent=!0),(t||n||h||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!r.empty)for(let f of this.state.facet(NO))try{f(r)}catch(u){qe(this.state,u,"update listener")}(l||c)&&Promise.resolve().then(()=>{l&&this.state==l.startState&&this.dispatch(l),c&&!Dm(this,c)&&O.force&&Xn(this.contentDOM,O.key,O.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let t=this.hasFocus;try{for(let n of this.plugins)n.destroy(this);this.viewState=new Do(e),this.plugins=e.facet(Pn).map(n=>new Wr(n)),this.pluginMap.clear();for(let n of this.plugins)n.update(this);this.docView.destroy(),this.docView=new Yo(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(Pn),n=e.state.facet(Pn);if(t!=n){let r=[];for(let s of n){let o=t.indexOf(s);if(o<0)r.push(new Wr(s));else{let a=this.plugins[o];a.mustUpdate=e,r.push(a)}}for(let s of this.plugins)s.mustUpdate!=e&&s.destroy(this);this.plugins=r,this.pluginMap.clear()}else for(let r of this.plugins)r.mustUpdate=e;for(let r=0;r<this.plugins.length;r++)this.plugins[r].update(this);t!=n&&this.inputState.ensureHandlers(this.plugins)}docViewUpdate(){for(let e of this.plugins){let t=e.value;if(t&&t.docViewUpdate)try{t.docViewUpdate(this)}catch(n){qe(this.state,n,"doc view update listener")}}}measure(e=!0){if(this.destroyed)return;if(this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,n=this.scrollDOM,r=n.scrollTop*this.scaleY,{scrollAnchorPos:s,scrollAnchorHeight:o}=this.viewState;Math.abs(r-this.viewState.scrollTop)>1&&(o=-1),this.viewState.scrollAnchorHeight=-1;try{for(let a=0;;a++){if(o<0)if(fm(n))s=-1,o=this.viewState.heightMap.height;else{let u=this.viewState.scrollAnchorAt(r);s=u.from,o=u.top}this.updateState=1;let l=this.viewState.measure(this);if(!l&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(a>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let O=[];l&4||([this.measureRequests,O]=[O,this.measureRequests]);let c=O.map(u=>{try{return u.read(this)}catch(d){return qe(this.state,d),Np}}),h=jo.create(this,this.state,[]),f=!1;h.flags|=l,t?t.flags|=l:t=h,this.updateState=2,h.empty||(this.updatePlugins(h),this.inputState.update(h),this.updateAttrs(),f=this.docView.update(h),f&&this.docViewUpdate());for(let u=0;u<O.length;u++)if(c[u]!=Np)try{let d=O[u];d.write&&d.write(c[u],this)}catch(d){qe(this.state,d)}if(f&&this.docView.updateSelection(!0),!h.viewportChanged&&this.measureRequests.length==0){if(this.viewState.editorHeight)if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null,o=-1;continue}else{let d=(s<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(s).top)-o;if(d>1||d<-1){r=r+d,n.scrollTop=r/this.scaleY,o=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let a of this.state.facet(NO))a(t)}get themeClasses(){return hc+" "+(this.state.facet(cc)?eg:Jm)+" "+this.state.facet(Po)}updateAttrs(){let e=Fp(this,Am,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(It)?"true":"false",class:"cm-content",style:`${R.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),Fp(this,Xc,t);let n=this.observer.ignore(()=>{let r=LO(this.contentDOM,this.contentAttrs,t),s=LO(this.dom,this.editorAttrs,e);return r||s});return this.editorAttrs=e,this.contentAttrs=t,n}showAnnouncements(e){let t=!0;for(let n of e)for(let r of n.effects)if(r.is(i.announce)){t&&(this.announceDOM.textContent=""),t=!1;let s=this.announceDOM.appendChild(document.createElement("div"));s.textContent=r.value}}mountStyles(){this.styleModules=this.state.facet(Tr);let e=this.state.facet(i.cspNonce);Ot.mount(this.root,this.styleModules.concat(p1).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let t=0;t<this.measureRequests.length;t++)if(this.measureRequests[t].key===e.key){this.measureRequests[t]=e;return}}this.measureRequests.push(e)}}plugin(e){let t=this.pluginMap.get(e);return(t===void 0||t&&t.plugin!=e)&&this.pluginMap.set(e,t=this.plugins.find(n=>n.plugin==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,n){return CO(this,e,_p(this,e,t,n))}moveByGroup(e,t){return CO(this,e,_p(this,e,t,n=>Yx(this,e.head,n)))}visualLineSide(e,t){let n=this.bidiSpans(e),r=this.textDirectionAt(e.from),s=n[t?n.length-1:0];return P.cursor(s.side(t,r)+e.from,s.forward(!t,r)?1:-1)}moveToLineBoundary(e,t,n=!0){return jx(this,e,t,n)}moveVertically(e,t,n){return CO(this,e,Ux(this,e,t,n))}domAtPos(e){return this.docView.domAtPos(e)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){return this.readMeasured(),Em(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let n=this.docView.coordsAt(e,t);if(!n||n.left==n.right)return n;let r=this.state.doc.lineAt(e),s=this.bidiSpans(r),o=s[Pt.find(s,e-r.from,-1,t)];return Ho(n,o.dir==ne.LTR==t>0)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(Cm)||e<this.viewport.from||e>this.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>$1)return Pm(e.length);let t=this.textDirectionAt(e.from),n;for(let s of this.bidiCache)if(s.from==e.from&&s.dir==t&&(s.fresh||wm(s.isolates,n=Tp(this,e))))return s.order;n||(n=Tp(this,e));let r=xx(e.text,t,n);return this.bidiCache.push(new Lo(e.from,e.to,t,n,!0,r)),r}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||R.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{cm(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){return So.of(new Cr(typeof e=="number"?P.cursor(e):e,t.y,t.x,t.yMargin,t.xMargin))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,n=this.viewState.scrollAnchorAt(e);return So.of(new Cr(P.cursor(n.from),"start","start",n.top-e,t,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return me.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return me.define(()=>({}),{eventObservers:e})}static theme(e,t){let n=Ot.newName(),r=[Po.of(n),Tr.of(fc(`.${n}`,e))];return t&&t.dark&&r.push(cc.of(!0)),r}static baseTheme(e){return lt.lowest(Tr.of(fc("."+hc,e,tg)))}static findFromDOM(e){var t;let n=e.querySelector(".cm-content"),r=n&&le.get(n)||le.get(e);return((t=r?.rootView)===null||t===void 0?void 0:t.view)||null}};T.styleModule=Tr;T.inputHandler=qm;T.clipboardInputFilter=Tc;T.clipboardOutputFilter=zc;T.scrollHandler=Zm;T.focusChangeEffect=_m;T.perLineTextDirection=Cm;T.exceptionSink=Rm;T.updateListener=NO;T.editable=It;T.mouseSelectionStyle=Xm;T.dragMovesSelection=zm;T.clickAddsSelectionRange=Tm;T.decorations=Gr;T.outerDecorations=jm;T.atomicRanges=Rc;T.bidiIsolatedRanges=Ym;T.scrollMargins=Um;T.darkTheme=cc;T.cspNonce=X.define({combine:i=>i.length?i[0]:""});T.contentAttributes=Xc;T.editorAttributes=Am;T.lineWrapping=T.contentAttributes.of({class:"cm-lineWrapping"});T.announce=Z.define();var $1=4096,Np={},Lo=class i{constructor(e,t,n,r,s,o){this.from=e,this.to=t,this.dir=n,this.isolates=r,this.fresh=s,this.order=o}static update(e,t){if(t.empty&&!e.some(s=>s.fresh))return e;let n=[],r=e.length?e[e.length-1].dir:ne.LTR;for(let s=Math.max(0,e.length-10);s<e.length;s++){let o=e[s];o.dir==r&&!t.touchesRange(o.from,o.to)&&n.push(new i(t.mapPos(o.from,1),t.mapPos(o.to,-1),o.dir,o.isolates,!1,o.order))}return n}};function Fp(i,e,t){for(let n=i.state.facet(e),r=n.length-1;r>=0;r--){let s=n[r],o=typeof s=="function"?s(i):s;o&&DO(o,t)}return t}var y1=R.mac?"mac":R.windows?"win":R.linux?"linux":"key";function Q1(i,e){let t=i.split(/-(?!$)/),n=t[t.length-1];n=="Space"&&(n=" ");let r,s,o,a;for(let l=0;l<t.length-1;++l){let O=t[l];if(/^(cmd|meta|m)$/i.test(O))a=!0;else if(/^a(lt)?$/i.test(O))r=!0;else if(/^(c|ctrl|control)$/i.test(O))s=!0;else if(/^s(hift)?$/i.test(O))o=!0;else if(/^mod$/i.test(O))e=="mac"?a=!0:s=!0;else throw new Error("Unrecognized modifier name: "+O)}return r&&(n="Alt-"+n),s&&(n="Ctrl-"+n),a&&(n="Meta-"+n),o&&(n="Shift-"+n),n}function ko(i,e,t){return e.altKey&&(i="Alt-"+i),e.ctrlKey&&(i="Ctrl-"+i),e.metaKey&&(i="Meta-"+i),t!==!1&&e.shiftKey&&(i="Shift-"+i),i}var S1=lt.default(T.domEventHandlers({keydown(i,e){return rg(ig(e.state),i,e,"editor")}})),qn=X.define({enables:S1}),Hp=new WeakMap;function ig(i){let e=i.facet(qn),t=Hp.get(e);return t||Hp.set(e,t=x1(e.reduce((n,r)=>n.concat(r),[]))),t}function ng(i,e,t){return rg(ig(i.state),e,i,t)}var ci=null,b1=4e3;function x1(i,e=y1){let t=Object.create(null),n=Object.create(null),r=(o,a)=>{let l=n[o];if(l==null)n[o]=a;else if(l!=a)throw new Error("Key binding "+o+" is used both as a regular binding and as a multi-stroke prefix")},s=(o,a,l,O,c)=>{var h,f;let u=t[o]||(t[o]=Object.create(null)),d=a.split(/ (?!$)/).map(g=>Q1(g,e));for(let g=1;g<d.length;g++){let y=d.slice(0,g).join(" ");r(y,!0),u[y]||(u[y]={preventDefault:!0,stopPropagation:!1,run:[S=>{let x=ci={view:S,prefix:y,scope:o};return setTimeout(()=>{ci==x&&(ci=null)},b1),!0}]})}let p=d.join(" ");r(p,!1);let m=u[p]||(u[p]={preventDefault:!1,stopPropagation:!1,run:((f=(h=u._any)===null||h===void 0?void 0:h.run)===null||f===void 0?void 0:f.slice())||[]});l&&m.run.push(l),O&&(m.preventDefault=!0),c&&(m.stopPropagation=!0)};for(let o of i){let a=o.scope?o.scope.split(" "):["editor"];if(o.any)for(let O of a){let c=t[O]||(t[O]=Object.create(null));c._any||(c._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:h}=o;for(let f in c)c[f].run.push(u=>h(u,pc))}let l=o[e]||o.key;if(l)for(let O of a)s(O,l,o.run,o.preventDefault,o.stopPropagation),o.shift&&s(O,"Shift-"+l,o.shift,o.preventDefault,o.stopPropagation)}return t}var pc=null;function rg(i,e,t,n){pc=e;let r=$p(e),s=Xe(r,0),o=Ke(s)==r.length&&r!=" ",a="",l=!1,O=!1,c=!1;ci&&ci.view==t&&ci.scope==n&&(a=ci.prefix+" ",Gm.indexOf(e.keyCode)<0&&(O=!0,ci=null));let h=new Set,f=m=>{if(m){for(let g of m.run)if(!h.has(g)&&(h.add(g),g(t)))return m.stopPropagation&&(c=!0),!0;m.preventDefault&&(m.stopPropagation&&(c=!0),O=!0)}return!1},u=i[n],d,p;return u&&(f(u[a+ko(r,e,!o)])?l=!0:o&&(e.altKey||e.metaKey||e.ctrlKey)&&!(R.windows&&e.ctrlKey&&e.altKey)&&!(R.mac&&e.altKey&&!e.ctrlKey)&&(d=Bt[e.keyCode])&&d!=r?(f(u[a+ko(d,e,!0)])||e.shiftKey&&(p=vn[e.keyCode])!=r&&p!=d&&f(u[a+ko(p,e,!1)]))&&(l=!0):o&&e.shiftKey&&f(u[a+ko(r,e,!0)])&&(l=!0),!l&&f(u._any)&&(l=!0)),O&&(l=!0),l&&c&&e.stopPropagation(),pc=null,l}var Br=class i{constructor(e,t,n,r,s){this.className=e,this.left=t,this.top=n,this.width=r,this.height=s}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,t){return t.className!=this.className?!1:(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",this.width!=null&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,t,n){if(n.empty){let r=e.coordsAtPos(n.head,n.assoc||1);if(!r)return[];let s=sg(e);return[new i(t,r.left-s.left,r.top-s.top,null,r.bottom-r.top)]}else return v1(e,t,n)}};function sg(i){let e=i.scrollDOM.getBoundingClientRect();return{left:(i.textDirection==ne.LTR?e.left:e.right-i.scrollDOM.clientWidth*i.scaleX)-i.scrollDOM.scrollLeft*i.scaleX,top:e.top-i.scrollDOM.scrollTop*i.scaleY}}function Kp(i,e,t,n){let r=i.coordsAtPos(e,t*2);if(!r)return n;let s=i.dom.getBoundingClientRect(),o=(r.top+r.bottom)/2,a=i.posAtCoords({x:s.left+1,y:o}),l=i.posAtCoords({x:s.right-1,y:o});return a==null||l==null?n:{from:Math.max(n.from,Math.min(a,l)),to:Math.min(n.to,Math.max(a,l))}}function v1(i,e,t){if(t.to<=i.viewport.from||t.from>=i.viewport.to)return[];let n=Math.max(t.from,i.viewport.from),r=Math.min(t.to,i.viewport.to),s=i.textDirection==ne.LTR,o=i.contentDOM,a=o.getBoundingClientRect(),l=sg(i),O=o.querySelector(".cm-line"),c=O&&window.getComputedStyle(O),h=a.left+(c?parseInt(c.paddingLeft)+Math.min(0,parseInt(c.textIndent)):0),f=a.right-(c?parseInt(c.paddingRight):0),u=HO(i,n,1),d=HO(i,r,-1),p=u.type==Ye.Text?u:null,m=d.type==Ye.Text?d:null;if(p&&(i.lineWrapping||u.widgetLineBreaks)&&(p=Kp(i,n,1,p)),m&&(i.lineWrapping||d.widgetLineBreaks)&&(m=Kp(i,r,-1,m)),p&&m&&p.from==m.from&&p.to==m.to)return y(S(t.from,t.to,p));{let b=p?S(t.from,null,p):x(u,!1),v=m?S(null,t.to,m):x(d,!0),Q=[];return(p||u).to<(m||d).from-(p&&m?1:0)||u.widgetLineBreaks>1&&b.bottom+i.defaultLineHeight/2<v.top?Q.push(g(h,b.bottom,f,v.top)):b.bottom<v.top&&i.elementAtHeight((b.bottom+v.top)/2).type==Ye.Text&&(b.bottom=v.top=(b.bottom+v.top)/2),y(b).concat(Q).concat(y(v))}function g(b,v,Q,w){return new Br(e,b-l.left,v-l.top,Q-b,w-v)}function y({top:b,bottom:v,horizontal:Q}){let w=[];for(let k=0;k<Q.length;k+=2)w.push(g(Q[k],b,Q[k+1],v));return w}function S(b,v,Q){let w=1e9,k=-1e9,A=[];function V(L,G,re,$e,Me){let Qe=i.coordsAtPos(L,L==Q.to?-2:2),M=i.coordsAtPos(re,re==Q.from?2:-2);!Qe||!M||(w=Math.min(Qe.top,M.top,w),k=Math.max(Qe.bottom,M.bottom,k),Me==ne.LTR?A.push(s&&G?h:Qe.left,s&&$e?f:M.right):A.push(!s&&$e?h:M.left,!s&&G?f:Qe.right))}let C=b??Q.from,D=v??Q.to;for(let L of i.visibleRanges)if(L.to>C&&L.from<D)for(let G=Math.max(L.from,C),re=Math.min(L.to,D);;){let $e=i.state.doc.lineAt(G);for(let Me of i.bidiSpans($e)){let Qe=Me.from+$e.from,M=Me.to+$e.from;if(Qe>=re)break;M>G&&V(Math.max(Qe,G),b==null&&Qe<=C,Math.min(M,re),v==null&&M>=D,Me.dir)}if(G=$e.to+1,G>=re)break}return A.length==0&&V(C,b==null,D,v==null,i.textDirection),{top:w,bottom:k,horizontal:A}}function x(b,v){let Q=a.top+(v?b.top:b.bottom);return{top:Q,bottom:Q,horizontal:[]}}}function w1(i,e){return i.constructor==e.constructor&&i.eq(e)}var mc=class{constructor(e,t){this.view=e,this.layer=t,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),t.above&&this.dom.classList.add("cm-layer-above"),t.class&&this.dom.classList.add(t.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),t.mount&&t.mount(this.dom,e)}update(e){e.startState.facet(_o)!=e.state.facet(_o)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}docViewUpdate(e){this.layer.updateOnDocViewUpdate!==!1&&e.requestMeasure(this.measureReq)}setOrder(e){let t=0,n=e.facet(_o);for(;t<n.length&&n[t]!=this.layer;)t++;this.dom.style.zIndex=String((this.layer.above?150:-1)-t)}measure(){return this.layer.markers(this.view)}scale(){let{scaleX:e,scaleY:t}=this.view;(e!=this.scaleX||t!=this.scaleY)&&(this.scaleX=e,this.scaleY=t,this.dom.style.transform=`scale(${1/e}, ${1/t})`)}draw(e){if(e.length!=this.drawn.length||e.some((t,n)=>!w1(t,this.drawn[n]))){let t=this.dom.firstChild,n=0;for(let r of e)r.update&&t&&r.constructor&&this.drawn[n].constructor&&r.update(t,this.drawn[n])?(t=t.nextSibling,n++):this.dom.insertBefore(r.draw(),t);for(;t;){let r=t.nextSibling;t.remove(),t=r}this.drawn=e}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}},_o=X.define();function og(i){return[me.define(e=>new mc(e,i)),_o.of(i)]}var Ir=X.define({combine(i){return Ze(i,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})}});function ag(i={}){return[Ir.of(i),P1,k1,T1,Wm.of(!0)]}function lg(i){return i.startState.facet(Ir)!=i.state.facet(Ir)}var P1=og({above:!0,markers(i){let{state:e}=i,t=e.facet(Ir),n=[];for(let r of e.selection.ranges){let s=r==e.selection.main;if(r.empty||t.drawRangeCursor){let o=s?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",a=r.empty?r:P.cursor(r.head,r.head>r.anchor?-1:1);for(let l of Br.forRange(i,o,a))n.push(l)}}return n},update(i,e){i.transactions.some(n=>n.selection)&&(e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let t=lg(i);return t&&Jp(i.state,e),i.docChanged||i.selectionSet||t},mount(i,e){Jp(e.state,i)},class:"cm-cursorLayer"});function Jp(i,e){e.style.animationDuration=i.facet(Ir).cursorBlinkRate+"ms"}var k1=og({above:!1,markers(i){return i.state.selection.ranges.map(e=>e.empty?[]:Br.forRange(i,"cm-selectionBackground",e)).reduce((e,t)=>e.concat(t))},update(i,e){return i.docChanged||i.selectionSet||i.viewportChanged||lg(i)},class:"cm-selectionLayer"}),T1=lt.highest(T.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:"transparent !important"},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}})),Og=Z.define({map(i,e){return i==null?null:e.mapPos(i)}}),Rr=ue.define({create(){return null},update(i,e){return i!=null&&(i=e.changes.mapPos(i)),e.effects.reduce((t,n)=>n.is(Og)?n.value:t,i)}}),z1=me.fromClass(class{constructor(i){this.view=i,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(i){var e;let t=i.state.field(Rr);t==null?this.cursor!=null&&((e=this.cursor)===null||e===void 0||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(i.startState.field(Rr)!=t||i.docChanged||i.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:i}=this,e=i.state.field(Rr),t=e!=null&&i.coordsAtPos(e);if(!t)return null;let n=i.scrollDOM.getBoundingClientRect();return{left:t.left-n.left+i.scrollDOM.scrollLeft*i.scaleX,top:t.top-n.top+i.scrollDOM.scrollTop*i.scaleY,height:t.bottom-t.top}}drawCursor(i){if(this.cursor){let{scaleX:e,scaleY:t}=this.view;i?(this.cursor.style.left=i.left/e+"px",this.cursor.style.top=i.top/t+"px",this.cursor.style.height=i.height/t+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(i){this.view.state.field(Rr)!=i&&this.view.dispatch({effects:Og.of(i)})}},{eventObservers:{dragover(i){this.setDropPos(this.view.posAtCoords({x:i.clientX,y:i.clientY}))},dragleave(i){(i.target==this.view.contentDOM||!this.view.contentDOM.contains(i.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function cg(){return[Rr,z1]}function em(i,e,t,n,r){e.lastIndex=0;for(let s=i.iterRange(t,n),o=t,a;!s.next().done;o+=s.value.length)if(!s.lineBreak)for(;a=e.exec(s.value);)r(o+a.index,a)}function X1(i,e){let t=i.visibleRanges;if(t.length==1&&t[0].from==i.viewport.from&&t[0].to==i.viewport.to)return t;let n=[];for(let{from:r,to:s}of t)r=Math.max(i.state.doc.lineAt(r).from,r-e),s=Math.min(i.state.doc.lineAt(s).to,s+e),n.length&&n[n.length-1].to>=r?n[n.length-1].to=s:n.push({from:r,to:s});return n}var gc=class{constructor(e){let{regexp:t,decoration:n,decorate:r,boundary:s,maxLength:o=1e3}=e;if(!t.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=t,r)this.addMatch=(a,l,O,c)=>r(c,O,O+a[0].length,a,l);else if(typeof n=="function")this.addMatch=(a,l,O,c)=>{let h=n(a,l,O);h&&c(O,O+a[0].length,h)};else if(n)this.addMatch=(a,l,O,c)=>c(O,O+a[0].length,n);else throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.boundary=s,this.maxLength=o}createDeco(e){let t=new He,n=t.add.bind(t);for(let{from:r,to:s}of X1(e,this.maxLength))em(e.state.doc,this.regexp,r,s,(o,a)=>this.addMatch(a,e,o,n));return t.finish()}updateDeco(e,t){let n=1e9,r=-1;return e.docChanged&&e.changes.iterChanges((s,o,a,l)=>{l>=e.view.viewport.from&&a<=e.view.viewport.to&&(n=Math.min(a,n),r=Math.max(l,r))}),e.viewportMoved||r-n>1e3?this.createDeco(e.view):r>-1?this.updateRange(e.view,t.map(e.changes),n,r):t}updateRange(e,t,n,r){for(let s of e.visibleRanges){let o=Math.max(s.from,n),a=Math.min(s.to,r);if(a>=o){let l=e.state.doc.lineAt(o),O=l.to<a?e.state.doc.lineAt(a):l,c=Math.max(s.from,l.from),h=Math.min(s.to,O.to);if(this.boundary){for(;o>l.from;o--)if(this.boundary.test(l.text[o-1-l.from])){c=o;break}for(;a<O.to;a++)if(this.boundary.test(O.text[a-O.from])){h=a;break}}let f=[],u,d=(p,m,g)=>f.push(g.range(p,m));if(l==O)for(this.regexp.lastIndex=c-l.from;(u=this.regexp.exec(l.text))&&u.index<h-l.from;)this.addMatch(u,e,u.index+l.from,d);else em(e.state.doc,this.regexp,c,h,(p,m)=>this.addMatch(m,e,p,d));t=t.update({filterFrom:c,filterTo:h,filter:(p,m)=>p<c||m>h,add:f})}}return t}},$c=/x/.unicode!=null?"gu":"g",R1=new RegExp(`[\0-\b61 -\x7F-\x9F\xAD\u061C\u200B\u200E\u200F\u2028\u2029\u202D\u202E\u2066\u2067\u2069\uFEFF\uFFF9-\uFFFC]`, $c),q1={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"},ZO=null;function _1(){var i;if(ZO==null&&typeof document<"u"&&document.body){let e=document.body.style;ZO=((i=e.tabSize)!==null&&i!==void 0?i:e.MozTabSize)!=null}return ZO||!1}var Co=X.define({combine(i){let e=Ze(i,{render:null,specialChars:R1,addSpecialChars:null});return(e.replaceTabs=!_1())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,$c)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,$c)),e}});function hg(i={}){return[Co.of(i),C1()]}var tm=null;function C1(){return tm||(tm=me.fromClass(class{constructor(i){this.view=i,this.decorations=q.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(i.state.facet(Co)),this.decorations=this.decorator.createDeco(i)}makeDecorator(i){return new gc({regexp:i.specialChars,decoration:(e,t,n)=>{let{doc:r}=t.state,s=Xe(e[0],0);if(s==9){let o=r.lineAt(n),a=t.state.tabSize,l=Gt(o.text,a,n-o.from);return q.replace({widget:new Qc((a-l%a)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[s]||(this.decorationCache[s]=q.replace({widget:new yc(i,s)}))},boundary:i.replaceTabs?void 0:/[^]/})}update(i){let e=i.state.facet(Co);i.startState.facet(Co)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(i.view)):this.decorations=this.decorator.updateDeco(i,this.decorations)}},{decorations:i=>i.decorations}))}var W1="\u2022";function Z1(i){return i>=32?W1:i==10?"\u2424":String.fromCharCode(9216+i)}var yc=class extends Ge{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=Z1(this.code),n=e.state.phrase("Control character")+" "+(q1[this.code]||"0x"+this.code.toString(16)),r=this.options.render&&this.options.render(this.code,n,t);if(r)return r;let s=document.createElement("span");return s.textContent=t,s.title=n,s.setAttribute("aria-label",n),s.className="cm-specialChar",s}ignoreEvent(){return!1}},Qc=class extends Ge{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent=" ",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}};function fg(){return A1}var V1=q.line({class:"cm-activeLine"}),A1=me.fromClass(class{constructor(i){this.decorations=this.getDeco(i)}update(i){(i.docChanged||i.selectionSet)&&(this.decorations=this.getDeco(i.view))}getDeco(i){let e=-1,t=[];for(let n of i.state.selection.ranges){let r=i.lineBlockAt(n.head);r.from>e&&(t.push(V1.range(r.from)),e=r.from)}return q.set(t)}},{decorations:i=>i.decorations});var Sc=2e3;function j1(i,e,t){let n=Math.min(e.line,t.line),r=Math.max(e.line,t.line),s=[];if(e.off>Sc||t.off>Sc||e.col<0||t.col<0){let o=Math.min(e.off,t.off),a=Math.max(e.off,t.off);for(let l=n;l<=r;l++){let O=i.doc.line(l);O.length<=a&&s.push(P.range(O.from+o,O.to+a))}}else{let o=Math.min(e.col,t.col),a=Math.max(e.col,t.col);for(let l=n;l<=r;l++){let O=i.doc.line(l),c=$o(O.text,o,i.tabSize,!0);if(c<0)s.push(P.cursor(O.to));else{let h=$o(O.text,a,i.tabSize);s.push(P.range(O.from+c,O.from+h))}}}return s}function Y1(i,e){let t=i.coordsAtPos(i.viewport.from);return t?Math.round(Math.abs((t.left-e)/i.defaultCharacterWidth)):-1}function im(i,e){let t=i.posAtCoords({x:e.clientX,y:e.clientY},!1),n=i.state.doc.lineAt(t),r=t-n.from,s=r>Sc?-1:r==n.length?Y1(i,e.clientX):Gt(n.text,i.state.tabSize,t-n.from);return{line:n.number,col:s,off:r}}function U1(i,e){let t=im(i,e),n=i.state.selection;return t?{update(r){if(r.docChanged){let s=r.changes.mapPos(r.startState.doc.line(t.line).from),o=r.state.doc.lineAt(s);t={line:o.number,col:t.col,off:Math.min(t.off,o.length)},n=n.map(r.changes)}},get(r,s,o){let a=im(i,r);if(!a)return n;let l=j1(i.state,t,a);return l.length?o?P.create(l.concat(n.ranges)):P.create(l):n}}:null}function ug(i){let e=i?.eventFilter||(t=>t.altKey&&t.button==0);return T.mouseSelectionStyle.of((t,n)=>e(n)?U1(t,n):null)}var M1={Alt:[18,i=>!!i.altKey],Control:[17,i=>!!i.ctrlKey],Shift:[16,i=>!!i.shiftKey],Meta:[91,i=>!!i.metaKey]},E1={style:"cursor: crosshair"};function dg(i={}){let[e,t]=M1[i.key||"Alt"],n=me.fromClass(class{constructor(r){this.view=r,this.isDown=!1}set(r){this.isDown!=r&&(this.isDown=r,this.view.update([]))}},{eventObservers:{keydown(r){this.set(r.keyCode==e||t(r))},keyup(r){(r.keyCode==e||!t(r))&&this.set(!1)},mousemove(r){this.set(t(r))}}});return[n,T.contentAttributes.of(r=>{var s;return!((s=r.plugin(n))===null||s===void 0)&&s.isDown?E1:null})]}var kr="-10000px",Go=class{constructor(e,t,n,r){this.facet=t,this.createTooltipView=n,this.removeTooltipView=r,this.input=e.state.facet(t),this.tooltips=this.input.filter(o=>o);let s=null;this.tooltipViews=this.tooltips.map(o=>s=n(o,s))}update(e,t){var n;let r=e.state.facet(this.facet),s=r.filter(l=>l);if(r===this.input){for(let l of this.tooltipViews)l.update&&l.update(e);return!1}let o=[],a=t?[]:null;for(let l=0;l<s.length;l++){let O=s[l],c=-1;if(O){for(let h=0;h<this.tooltips.length;h++){let f=this.tooltips[h];f&&f.create==O.create&&(c=h)}if(c<0)o[l]=this.createTooltipView(O,l?o[l-1]:null),a&&(a[l]=!!O.above);else{let h=o[l]=this.tooltipViews[c];a&&(a[l]=t[c]),h.update&&h.update(e)}}}for(let l of this.tooltipViews)o.indexOf(l)<0&&(this.removeTooltipView(l),(n=l.destroy)===null||n===void 0||n.call(l));return t&&(a.forEach((l,O)=>t[O]=l),t.length=a.length),this.input=r,this.tooltips=s,this.tooltipViews=o,!0}};function D1(i){let e=i.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:e.clientHeight,right:e.clientWidth}}var VO=X.define({combine:i=>{var e,t,n;return{position:R.ios?"absolute":((e=i.find(r=>r.position))===null||e===void 0?void 0:e.position)||"fixed",parent:((t=i.find(r=>r.parent))===null||t===void 0?void 0:t.parent)||null,tooltipSpace:((n=i.find(r=>r.tooltipSpace))===null||n===void 0?void 0:n.tooltipSpace)||D1}}}),nm=new WeakMap,Cc=me.fromClass(class{constructor(i){this.view=i,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let e=i.state.facet(VO);this.position=e.position,this.parent=e.parent,this.classes=i.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver=typeof ResizeObserver=="function"?new ResizeObserver(()=>this.measureSoon()):null,this.manager=new Go(i,Nr,(t,n)=>this.createTooltip(t,n),t=>{this.resizeObserver&&this.resizeObserver.unobserve(t.dom),t.dom.remove()}),this.above=this.manager.tooltips.map(t=>!!t.above),this.intersectionObserver=typeof IntersectionObserver=="function"?new IntersectionObserver(t=>{Date.now()>this.lastTransaction-50&&t.length>0&&t[t.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),i.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let i of this.manager.tooltipViews)this.intersectionObserver.observe(i.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(i){i.transactions.length&&(this.lastTransaction=Date.now());let e=this.manager.update(i,this.above);e&&this.observeIntersection();let t=e||i.geometryChanged,n=i.state.facet(VO);if(n.position!=this.position&&!this.madeAbsolute){this.position=n.position;for(let r of this.manager.tooltipViews)r.dom.style.position=this.position;t=!0}if(n.parent!=this.parent){this.parent&&this.container.remove(),this.parent=n.parent,this.createContainer();for(let r of this.manager.tooltipViews)this.container.appendChild(r.dom);t=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);t&&this.maybeMeasure()}createTooltip(i,e){let t=i.create(this.view),n=e?e.dom:null;if(t.dom.classList.add("cm-tooltip"),i.arrow&&!t.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let r=document.createElement("div");r.className="cm-tooltip-arrow",t.dom.appendChild(r)}return t.dom.style.position=this.position,t.dom.style.top=kr,t.dom.style.left="0px",this.container.insertBefore(t.dom,n),t.mount&&t.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(t.dom),t}destroy(){var i,e,t;this.view.win.removeEventListener("resize",this.measureSoon);for(let n of this.manager.tooltipViews)n.dom.remove(),(i=n.destroy)===null||i===void 0||i.call(n);this.parent&&this.container.remove(),(e=this.resizeObserver)===null||e===void 0||e.disconnect(),(t=this.intersectionObserver)===null||t===void 0||t.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let i=1,e=1,t=!1;if(this.position=="fixed"&&this.manager.tooltipViews.length){let{dom:s}=this.manager.tooltipViews[0];if(R.gecko)t=s.offsetParent!=this.container.ownerDocument.body;else if(s.style.top==kr&&s.style.left=="0px"){let o=s.getBoundingClientRect();t=Math.abs(o.top+1e4)>1||Math.abs(o.left)>1}}if(t||this.position=="absolute")if(this.parent){let s=this.parent.getBoundingClientRect();s.width&&s.height&&(i=s.width/this.parent.offsetWidth,e=s.height/this.parent.offsetHeight)}else({scaleX:i,scaleY:e}=this.view.viewState);let n=this.view.scrollDOM.getBoundingClientRect(),r=qc(this.view);return{visible:{left:n.left+r.left,top:n.top+r.top,right:n.right-r.right,bottom:n.bottom-r.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((s,o)=>{let a=this.manager.tooltipViews[o];return a.getCoords?a.getCoords(s.pos):this.view.coordsAtPos(s.pos)}),size:this.manager.tooltipViews.map(({dom:s})=>s.getBoundingClientRect()),space:this.view.state.facet(VO).tooltipSpace(this.view),scaleX:i,scaleY:e,makeAbsolute:t}}writeMeasure(i){var e;if(i.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let a of this.manager.tooltipViews)a.dom.style.position="absolute"}let{visible:t,space:n,scaleX:r,scaleY:s}=i,o=[];for(let a=0;a<this.manager.tooltips.length;a++){let l=this.manager.tooltips[a],O=this.manager.tooltipViews[a],{dom:c}=O,h=i.pos[a],f=i.size[a];if(!h||l.clip!==!1&&(h.bottom<=Math.max(t.top,n.top)||h.top>=Math.min(t.bottom,n.bottom)||h.right<Math.max(t.left,n.left)-.1||h.left>Math.min(t.right,n.right)+.1)){c.style.top=kr;continue}let u=l.arrow?O.dom.querySelector(".cm-tooltip-arrow"):null,d=u?7:0,p=f.right-f.left,m=(e=nm.get(O))!==null&&e!==void 0?e:f.bottom-f.top,g=O.offset||G1,y=this.view.textDirection==ne.LTR,S=f.width>n.right-n.left?y?n.left:n.right-f.width:y?Math.max(n.left,Math.min(h.left-(u?14:0)+g.x,n.right-p)):Math.min(Math.max(n.left,h.left-p+(u?14:0)-g.x),n.right-p),x=this.above[a];!l.strictSide&&(x?h.top-m-d-g.y<n.top:h.bottom+m+d+g.y>n.bottom)&&x==n.bottom-h.bottom>h.top-n.top&&(x=this.above[a]=!x);let b=(x?h.top-n.top:n.bottom-h.bottom)-d;if(b<m&&O.resize!==!1){if(b<this.view.defaultLineHeight){c.style.top=kr;continue}nm.set(O,m),c.style.height=(m=b)/s+"px"}else c.style.height&&(c.style.height="");let v=x?h.top-m-d-g.y:h.bottom+d+g.y,Q=S+p;if(O.overlap!==!0)for(let w of o)w.left<Q&&w.right>S&&w.top<v+m&&w.bottom>v&&(v=x?w.top-m-2-d:w.bottom+d+2);if(this.position=="absolute"?(c.style.top=(v-i.parent.top)/s+"px",rm(c,(S-i.parent.left)/r)):(c.style.top=v/s+"px",rm(c,S/r)),u){let w=h.left+(y?g.x:-g.x)-(S+14-7);u.style.left=w/r+"px"}O.overlap!==!0&&o.push({left:S,top:v,right:Q,bottom:v+m}),c.classList.toggle("cm-tooltip-above",x),c.classList.toggle("cm-tooltip-below",!x),O.positioned&&O.positioned(i.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let i of this.manager.tooltipViews)i.dom.style.top=kr}},{eventObservers:{scroll(){this.maybeMeasure()}}});function rm(i,e){let t=parseInt(i.style.left,10);(isNaN(t)||Math.abs(e-t)>1)&&(i.style.left=e+"px")}var L1=T.baseTheme({".cm-tooltip":{zIndex:500,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:`${7*2}px`,position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),G1={x:0,y:0},Nr=X.define({enables:[Cc,L1]}),Bo=X.define({combine:i=>i.reduce((e,t)=>e.concat(t),[])}),Io=class i{static create(e){return new i(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new Go(e,Bo,(t,n)=>this.createHostedView(t,n),t=>t.dom.remove())}createHostedView(e,t){let n=e.create(this.view);return n.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(n.dom,t?t.dom.nextSibling:this.dom.firstChild),this.mounted&&n.mount&&n.mount(this.view),n}mount(e){for(let t of this.manager.tooltipViews)t.mount&&t.mount(e);this.mounted=!0}positioned(e){for(let t of this.manager.tooltipViews)t.positioned&&t.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let t of this.manager.tooltipViews)(e=t.destroy)===null||e===void 0||e.call(t)}passProp(e){let t;for(let n of this.manager.tooltipViews){let r=n[e];if(r!==void 0){if(t===void 0)t=r;else if(t!==r)return}}return t}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}},B1=Nr.compute([Bo],i=>{let e=i.facet(Bo);return e.length===0?null:{pos:Math.min(...e.map(t=>t.pos)),end:Math.max(...e.map(t=>{var n;return(n=t.end)!==null&&n!==void 0?n:t.pos})),create:Io.create,above:e[0].above,arrow:e.some(t=>t.arrow)}}),bc=class{constructor(e,t,n,r,s){this.view=e,this.source=t,this.field=n,this.setHover=r,this.hoverTime=s,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout(()=>this.startHover(),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active.length)return;let e=Date.now()-this.lastMove.time;e<this.hoverTime?this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime-e):this.startHover()}startHover(){clearTimeout(this.restartTimeout);let{view:e,lastMove:t}=this,n=e.docView.nearest(t.target);if(!n)return;let r,s=1;if(n instanceof Ur)r=n.posAtStart;else{if(r=e.posAtCoords(t),r==null)return;let a=e.coordsAtPos(r);if(!a||t.y<a.top||t.y>a.bottom||t.x<a.left-e.defaultCharacterWidth||t.x>a.right+e.defaultCharacterWidth)return;let l=e.bidiSpans(e.state.doc.lineAt(r)).find(c=>c.from<=r&&c.to>=r),O=l&&l.dir==ne.RTL?-1:1;s=t.x<a.left?-O:O}let o=this.source(e,r,s);if(o?.then){let a=this.pending={pos:r};o.then(l=>{this.pending==a&&(this.pending=null,l&&!(Array.isArray(l)&&!l.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(l)?l:[l])}))},l=>qe(e.state,l,"hover tooltip"))}else o&&!(Array.isArray(o)&&!o.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(o)?o:[o])})}get tooltip(){let e=this.view.plugin(Cc),t=e?e.manager.tooltips.findIndex(n=>n.create==Io.create):-1;return t>-1?e.manager.tooltipViews[t]:null}mousemove(e){var t,n;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:r,tooltip:s}=this;if(r.length&&s&&!I1(s.dom,e)||this.pending){let{pos:o}=r[0]||this.pending,a=(n=(t=r[0])===null||t===void 0?void 0:t.end)!==null&&n!==void 0?n:o;(o==a?this.view.posAtCoords(this.lastMove)!=o:!N1(this.view,o,a,e.clientX,e.clientY))&&(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:t}=this;if(t.length){let{tooltip:n}=this;n&&n.dom.contains(e.relatedTarget)?this.watchTooltipLeave(n.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(e){let t=n=>{e.removeEventListener("mouseleave",t),this.active.length&&!this.view.dom.contains(n.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};e.addEventListener("mouseleave",t)}destroy(){clearTimeout(this.hoverTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}},To=4;function I1(i,e){let{left:t,right:n,top:r,bottom:s}=i.getBoundingClientRect(),o;if(o=i.querySelector(".cm-tooltip-arrow")){let a=o.getBoundingClientRect();r=Math.min(a.top,r),s=Math.max(a.bottom,s)}return e.clientX>=t-To&&e.clientX<=n+To&&e.clientY>=r-To&&e.clientY<=s+To}function N1(i,e,t,n,r,s){let o=i.scrollDOM.getBoundingClientRect(),a=i.documentTop+i.documentPadding.top+i.contentHeight;if(o.left>n||o.right<n||o.top>r||Math.min(o.bottom,a)<r)return!1;let l=i.posAtCoords({x:n,y:r},!1);return l>=e&&l<=t}function pg(i,e={}){let t=Z.define(),n=ue.define({create(){return[]},update(r,s){if(r.length&&(e.hideOnChange&&(s.docChanged||s.selection)?r=[]:e.hideOn&&(r=r.filter(o=>!e.hideOn(s,o))),s.docChanged)){let o=[];for(let a of r){let l=s.changes.mapPos(a.pos,-1,Pe.TrackDel);if(l!=null){let O=Object.assign(Object.create(null),a);O.pos=l,O.end!=null&&(O.end=s.changes.mapPos(O.end)),o.push(O)}}r=o}for(let o of s.effects)o.is(t)&&(r=o.value),o.is(F1)&&(r=[]);return r},provide:r=>Bo.from(r)});return{active:n,extension:[n,me.define(r=>new bc(r,i,n,t,e.hoverTime||300)),B1]}}function Wc(i,e){let t=i.plugin(Cc);if(!t)return null;let n=t.manager.tooltips.indexOf(e);return n<0?null:t.manager.tooltipViews[n]}var F1=Z.define();var sm=X.define({combine(i){let e,t;for(let n of i)e=e||n.topContainer,t=t||n.bottomContainer;return{topContainer:e,bottomContainer:t}}});function Mi(i,e){let t=i.plugin(mg),n=t?t.specs.indexOf(e):-1;return n>-1?t.panels[n]:null}var mg=me.fromClass(class{constructor(i){this.input=i.state.facet(Ui),this.specs=this.input.filter(t=>t),this.panels=this.specs.map(t=>t(i));let e=i.state.facet(sm);this.top=new Tn(i,!0,e.topContainer),this.bottom=new Tn(i,!1,e.bottomContainer),this.top.sync(this.panels.filter(t=>t.top)),this.bottom.sync(this.panels.filter(t=>!t.top));for(let t of this.panels)t.dom.classList.add("cm-panel"),t.mount&&t.mount()}update(i){let e=i.state.facet(sm);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new Tn(i.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new Tn(i.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let t=i.state.facet(Ui);if(t!=this.input){let n=t.filter(l=>l),r=[],s=[],o=[],a=[];for(let l of n){let O=this.specs.indexOf(l),c;O<0?(c=l(i.view),a.push(c)):(c=this.panels[O],c.update&&c.update(i)),r.push(c),(c.top?s:o).push(c)}this.specs=n,this.panels=r,this.top.sync(s),this.bottom.sync(o);for(let l of a)l.dom.classList.add("cm-panel"),l.mount&&l.mount()}else for(let n of this.panels)n.update&&n.update(i)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:i=>T.scrollMargins.of(e=>{let t=e.plugin(i);return t&&{top:t.top.scrollMargin(),bottom:t.bottom.scrollMargin()}})}),Tn=class{constructor(e,t,n){this.view=e,this.top=t,this.container=n,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let t of this.panels)t.destroy&&e.indexOf(t)<0&&t.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(this.panels.length==0){this.dom&&(this.dom.remove(),this.dom=void 0);return}if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let t=this.container||this.view.dom;t.insertBefore(this.dom,this.top?t.firstChild:null)}let e=this.dom.firstChild;for(let t of this.panels)if(t.dom.parentNode==this.dom){for(;e!=t.dom;)e=om(e);e=e.nextSibling}else this.dom.insertBefore(t.dom,e);for(;e;)e=om(e)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(!(!this.container||this.classes==this.view.themeClasses)){for(let e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}};function om(i){let e=i.nextSibling;return i.remove(),e}var Ui=X.define({enables:mg});var et=class extends pt{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}};et.prototype.elementClass="";et.prototype.toDOM=void 0;et.prototype.mapMode=Pe.TrackBefore;et.prototype.startSide=et.prototype.endSide=-1;et.prototype.point=!0;var Wo=X.define(),H1=X.define(),K1={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>F.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:"before"},Vr=X.define();function Zc(i){return[gg(),Vr.of({...K1,...i})]}var xc=X.define({combine:i=>i.some(e=>e)});function gg(i){let e=[J1];return i&&i.fixed===!1&&e.push(xc.of(!0)),e}var J1=me.fromClass(class{constructor(i){this.view=i,this.domAfter=null,this.prevViewport=i.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters cm-gutters-before",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=i.state.facet(Vr).map(e=>new No(i,e)),this.fixed=!i.state.facet(xc);for(let e of this.gutters)e.config.side=="after"?this.getDOMAfter().appendChild(e.dom):this.dom.appendChild(e.dom);this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),i.scrollDOM.insertBefore(this.dom,i.contentDOM)}getDOMAfter(){return this.domAfter||(this.domAfter=document.createElement("div"),this.domAfter.className="cm-gutters cm-gutters-after",this.domAfter.setAttribute("aria-hidden","true"),this.domAfter.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.domAfter.style.position=this.fixed?"sticky":"",this.view.scrollDOM.appendChild(this.domAfter)),this.domAfter}update(i){if(this.updateGutters(i)){let e=this.prevViewport,t=i.view.viewport,n=Math.min(e.to,t.to)-Math.max(e.from,t.from);this.syncGutters(n<(t.to-t.from)*.8)}if(i.geometryChanged){let e=this.view.contentHeight/this.view.scaleY+"px";this.dom.style.minHeight=e,this.domAfter&&(this.domAfter.style.minHeight=e)}this.view.state.facet(xc)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=i.view.viewport}syncGutters(i){let e=this.dom.nextSibling;i&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let t=F.iter(this.view.state.facet(Wo),this.view.viewport.from),n=[],r=this.gutters.map(s=>new wc(s,this.view.viewport,-this.view.documentPadding.top));for(let s of this.view.viewportLineBlocks)if(n.length&&(n=[]),Array.isArray(s.type)){let o=!0;for(let a of s.type)if(a.type==Ye.Text&&o){vc(t,n,a.from);for(let l of r)l.line(this.view,a,n);o=!1}else if(a.widget)for(let l of r)l.widget(this.view,a)}else if(s.type==Ye.Text){vc(t,n,s.from);for(let o of r)o.line(this.view,s,n)}else if(s.widget)for(let o of r)o.widget(this.view,s);for(let s of r)s.finish();i&&(this.view.scrollDOM.insertBefore(this.dom,e),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(i){let e=i.startState.facet(Vr),t=i.state.facet(Vr),n=i.docChanged||i.heightChanged||i.viewportChanged||!F.eq(i.startState.facet(Wo),i.state.facet(Wo),i.view.viewport.from,i.view.viewport.to);if(e==t)for(let r of this.gutters)r.update(i)&&(n=!0);else{n=!0;let r=[];for(let s of t){let o=e.indexOf(s);o<0?r.push(new No(this.view,s)):(this.gutters[o].update(i),r.push(this.gutters[o]))}for(let s of this.gutters)s.dom.remove(),r.indexOf(s)<0&&s.destroy();for(let s of r)s.config.side=="after"?this.getDOMAfter().appendChild(s.dom):this.dom.appendChild(s.dom);this.gutters=r}return n}destroy(){for(let i of this.gutters)i.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:i=>T.scrollMargins.of(e=>{let t=e.plugin(i);if(!t||t.gutters.length==0||!t.fixed)return null;let n=t.dom.offsetWidth*e.scaleX,r=t.domAfter?t.domAfter.offsetWidth*e.scaleX:0;return e.textDirection==ne.LTR?{left:n,right:r}:{right:n,left:r}})});function am(i){return Array.isArray(i)?i:[i]}function vc(i,e,t){for(;i.value&&i.from<=t;)i.from==t&&e.push(i.value),i.next()}var wc=class{constructor(e,t,n){this.gutter=e,this.height=n,this.i=0,this.cursor=F.iter(e.markers,t.from)}addElement(e,t,n){let{gutter:r}=this,s=(t.top-this.height)/e.scaleY,o=t.height/e.scaleY;if(this.i==r.elements.length){let a=new Fo(e,o,s,n);r.elements.push(a),r.dom.appendChild(a.dom)}else r.elements[this.i].update(e,o,s,n);this.height=t.bottom,this.i++}line(e,t,n){let r=[];vc(this.cursor,r,t.from),n.length&&(r=r.concat(n));let s=this.gutter.config.lineMarker(e,t,r);s&&r.unshift(s);let o=this.gutter;r.length==0&&!o.config.renderEmptyElements||this.addElement(e,t,r)}widget(e,t){let n=this.gutter.config.widgetMarker(e,t.widget,t),r=n?[n]:null;for(let s of e.state.facet(H1)){let o=s(e,t.widget,t);o&&(r||(r=[])).push(o)}r&&this.addElement(e,t,r)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let t=e.elements.pop();e.dom.removeChild(t.dom),t.destroy()}}},No=class{constructor(e,t){this.view=e,this.config=t,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let n in t.domEventHandlers)this.dom.addEventListener(n,r=>{let s=r.target,o;if(s!=this.dom&&this.dom.contains(s)){for(;s.parentNode!=this.dom;)s=s.parentNode;let l=s.getBoundingClientRect();o=(l.top+l.bottom)/2}else o=r.clientY;let a=e.lineBlockAtHeight(o-e.documentTop);t.domEventHandlers[n](e,a,r)&&r.preventDefault()});this.markers=am(t.markers(e)),t.initialSpacer&&(this.spacer=new Fo(e,0,0,[t.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let t=this.markers;if(this.markers=am(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let r=this.config.updateSpacer(this.spacer.markers[0],e);r!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[r])}let n=e.view.viewport;return!F.eq(this.markers,t,n.from,n.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}},Fo=class{constructor(e,t,n,r){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,t,n,r)}update(e,t,n,r){this.height!=t&&(this.height=t,this.dom.style.height=t+"px"),this.above!=n&&(this.dom.style.marginTop=(this.above=n)?n+"px":""),ev(this.markers,r)||this.setMarkers(e,r)}setMarkers(e,t){let n="cm-gutterElement",r=this.dom.firstChild;for(let s=0,o=0;;){let a=o,l=s<t.length?t[s++]:null,O=!1;if(l){let c=l.elementClass;c&&(n+=" "+c);for(let h=o;h<this.markers.length;h++)if(this.markers[h].compare(l)){a=h,O=!0;break}}else a=this.markers.length;for(;o<a;){let c=this.markers[o++];if(c.toDOM){c.destroy(r);let h=r.nextSibling;r.remove(),r=h}}if(!l)break;l.toDOM&&(O?r=r.nextSibling:this.dom.insertBefore(l.toDOM(e),r)),O&&o++}this.dom.className=n,this.markers=t}destroy(){this.setMarkers(null,[])}};function ev(i,e){if(i.length!=e.length)return!1;for(let t=0;t<i.length;t++)if(!i[t].compare(e[t]))return!1;return!0}var tv=X.define(),iv=X.define(),zn=X.define({combine(i){return Ze(i,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,t){let n=Object.assign({},e);for(let r in t){let s=n[r],o=t[r];n[r]=s?(a,l,O)=>s(a,l,O)||o(a,l,O):o}return n}})}}),Ar=class extends et{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}};function AO(i,e){return i.state.facet(zn).formatNumber(e,i.state)}var nv=Vr.compute([zn],i=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(tv)},lineMarker(e,t,n){return n.some(r=>r.toDOM)?null:new Ar(AO(e,e.state.doc.lineAt(t.from).number))},widgetMarker:(e,t,n)=>{for(let r of e.state.facet(iv)){let s=r(e,t,n);if(s)return s}return null},lineMarkerChange:e=>e.startState.facet(zn)!=e.state.facet(zn),initialSpacer(e){return new Ar(AO(e,lm(e.state.doc.lines)))},updateSpacer(e,t){let n=AO(t.view,lm(t.view.state.doc.lines));return n==e.number?e:new Ar(n)},domEventHandlers:i.facet(zn).domEventHandlers,side:"before"}));function $g(i={}){return[zn.of(i),gg(),nv]}function lm(i){let e=9;for(;e<i;)e=e*10+9;return e}var rv=new class extends et{constructor(){super(...arguments),this.elementClass="cm-activeLineGutter"}},sv=Wo.compute(["selection"],i=>{let e=[],t=-1;for(let n of i.selection.ranges){let r=i.doc.lineAt(n.head).from;r>t&&(t=r,e.push(rv.range(r)))}return F.of(e)});function yg(){return sv}var ov=0,Be=class{constructor(e,t){this.from=e,this.to=t}},j=class{constructor(e={}){this.id=ov++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")})}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=_e.match(e)),t=>{let n=e(t);return n===void 0?null:[this,n]}}};j.closedBy=new j({deserialize:i=>i.split(" ")});j.openedBy=new j({deserialize:i=>i.split(" ")});j.group=new j({deserialize:i=>i.split(" ")});j.isolate=new j({deserialize:i=>{if(i&&i!="rtl"&&i!="ltr"&&i!="auto")throw new RangeError("Invalid value for isolate: "+i);return i||"auto"}});j.contextHash=new j({perNode:!0});j.lookAhead=new j({perNode:!0});j.mounted=new j({perNode:!0});var Ei=class{constructor(e,t,n){this.tree=e,this.overlay=t,this.parser=n}static get(e){return e&&e.props&&e.props[j.mounted.id]}},av=Object.create(null),_e=class i{constructor(e,t,n,r=0){this.name=e,this.props=t,this.id=n,this.flags=r}static define(e){let t=e.props&&e.props.length?Object.create(null):av,n=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),r=new i(e.name||"",t,e.id,n);if(e.props){for(let s of e.props)if(Array.isArray(s)||(s=s(r)),s){if(s[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[s[0].id]=s[1]}}return r}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let t=this.prop(j.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let n in e)for(let r of n.split(" "))t[r]=e[n];return n=>{for(let r=n.prop(j.group),s=-1;s<(r?r.length:0);s++){let o=t[s<0?n.name:r[s]];if(o)return o}}}};_e.none=new _e("",Object.create(null),0,8);var Fr=class i{constructor(e){this.types=e;for(let t=0;t<e.length;t++)if(e[t].id!=t)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...e){let t=[];for(let n of this.types){let r=null;for(let s of e){let o=s(n);o&&(r||(r=Object.assign({},n.props)),r[o[0].id]=o[1])}t.push(r?new _e(n.name,r,n.id,n.flags):n)}return new i(t)}},ea=new WeakMap,Qg=new WeakMap,H;(function(i){i[i.ExcludeBuffers=1]="ExcludeBuffers",i[i.IncludeAnonymous=2]="IncludeAnonymous",i[i.IgnoreMounts=4]="IgnoreMounts",i[i.IgnoreOverlays=8]="IgnoreOverlays"})(H||(H={}));var de=class i{constructor(e,t,n,r,s){if(this.type=e,this.children=t,this.positions=n,this.length=r,this.props=null,s&&s.length){this.props=Object.create(null);for(let[o,a]of s)this.props[typeof o=="number"?o:o.id]=a}}toString(){let e=Ei.get(this);if(e&&!e.overlay)return e.tree.toString();let t="";for(let n of this.children){let r=n.toString();r&&(t&&(t+=","),t+=r)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(t.length?"("+t+")":""):t}cursor(e=0){return new _n(this.topNode,e)}cursorAt(e,t=0,n=0){let r=ea.get(this)||this.topNode,s=new _n(r);return s.moveTo(e,t),ea.set(this,s._tree),s}get topNode(){return new Ie(this,0,0,null)}resolve(e,t=0){let n=Hr(ea.get(this)||this.topNode,e,t,!1);return ea.set(this,n),n}resolveInner(e,t=0){let n=Hr(Qg.get(this)||this.topNode,e,t,!0);return Qg.set(this,n),n}resolveStack(e,t=0){return lv(this,e,t)}iterate(e){let{enter:t,leave:n,from:r=0,to:s=this.length}=e,o=e.mode||0,a=(o&H.IncludeAnonymous)>0;for(let l=this.cursor(o|H.IncludeAnonymous);;){let O=!1;if(l.from<=s&&l.to>=r&&(!a&&l.type.isAnonymous||t(l)!==!1)){if(l.firstChild())continue;O=!0}for(;O&&n&&(a||!l.type.isAnonymous)&&n(l),!l.nextSibling();){if(!l.parent())return;O=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:Bc(_e.none,this.children,this.positions,0,this.children.length,0,this.length,(t,n,r)=>new i(this.type,t,n,r,this.propValues),e.makeTree||((t,n,r)=>new i(_e.none,t,n,r)))}static build(e){return Ov(e)}};de.empty=new de(_e.none,[],[],0);var Vc=class i{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new i(this.buffer,this.index)}},pi=class i{constructor(e,t,n){this.buffer=e,this.length=t,this.set=n}get type(){return _e.none}toString(){let e=[];for(let t=0;t<this.buffer.length;)e.push(this.childString(t)),t=this.buffer[t+3];return e.join(",")}childString(e){let t=this.buffer[e],n=this.buffer[e+3],r=this.set.types[t],s=r.name;if(/\W/.test(s)&&!r.isError&&(s=JSON.stringify(s)),e+=4,n==e)return s;let o=[];for(;e<n;)o.push(this.childString(e)),e=this.buffer[e+3];return s+"("+o.join(",")+")"}findChild(e,t,n,r,s){let{buffer:o}=this,a=-1;for(let l=e;l!=t&&!(kg(s,r,o[l+1],o[l+2])&&(a=l,n>0));l=o[l+3]);return a}slice(e,t,n){let r=this.buffer,s=new Uint16Array(t-e),o=0;for(let a=e,l=0;a<t;){s[l++]=r[a++],s[l++]=r[a++]-n;let O=s[l++]=r[a++]-n;s[l++]=r[a++]-e,o=Math.max(o,O)}return new i(s,o,this.set)}};function kg(i,e,t,n){switch(i){case-2:return t<e;case-1:return n>=e&&t<e;case 0:return t<e&&n>e;case 1:return t<=e&&n>e;case 2:return n>e;case 4:return!0}}function Hr(i,e,t,n){for(var r;i.from==i.to||(t<1?i.from>=e:i.from>e)||(t>-1?i.to<=e:i.to<e);){let o=!n&&i instanceof Ie&&i.index<0?null:i.parent;if(!o)return i;i=o}let s=n?0:H.IgnoreOverlays;if(n)for(let o=i,a=o.parent;a;o=a,a=o.parent)o instanceof Ie&&o.index<0&&((r=a.enter(e,t,s))===null||r===void 0?void 0:r.from)!=o.from&&(i=a);for(;;){let o=i.enter(e,t,s);if(!o)return i;i=o}}var ia=class{cursor(e=0){return new _n(this,e)}getChild(e,t=null,n=null){let r=Sg(this,e,t,n);return r.length?r[0]:null}getChildren(e,t=null,n=null){return Sg(this,e,t,n)}resolve(e,t=0){return Hr(this,e,t,!1)}resolveInner(e,t=0){return Hr(this,e,t,!0)}matchContext(e){return Ac(this.parent,e)}enterUnfinishedNodesBefore(e){let t=this.childBefore(e),n=this;for(;t;){let r=t.lastChild;if(!r||r.to!=t.to)break;r.type.isError&&r.from==r.to?(n=t,t=r.prevSibling):t=r}return n}get node(){return this}get next(){return this.parent}},Ie=class i extends ia{constructor(e,t,n,r){super(),this._tree=e,this.from=t,this.index=n,this._parent=r}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,t,n,r,s=0){for(let o=this;;){for(let{children:a,positions:l}=o._tree,O=t>0?a.length:-1;e!=O;e+=t){let c=a[e],h=l[e]+o.from;if(kg(r,n,h,h+c.length)){if(c instanceof pi){if(s&H.ExcludeBuffers)continue;let f=c.findChild(0,c.buffer.length,t,n-h,r);if(f>-1)return new Di(new jc(o,c,e,h),null,f)}else if(s&H.IncludeAnonymous||!c.type.isAnonymous||Gc(c)){let f;if(!(s&H.IgnoreMounts)&&(f=Ei.get(c))&&!f.overlay)return new i(f.tree,h,e,o);let u=new i(c,h,e,o);return s&H.IncludeAnonymous||!u.type.isAnonymous?u:u.nextChild(t<0?c.children.length-1:0,t,n,r)}}}if(s&H.IncludeAnonymous||!o.type.isAnonymous||(o.index>=0?e=o.index+t:e=t<0?-1:o._parent._tree.children.length,o=o._parent,!o))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}enter(e,t,n=0){let r;if(!(n&H.IgnoreOverlays)&&(r=Ei.get(this._tree))&&r.overlay){let s=e-this.from;for(let{from:o,to:a}of r.overlay)if((t>0?o<=s:o<s)&&(t<0?a>=s:a>s))return new i(r.tree,r.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,n)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}};function Sg(i,e,t,n){let r=i.cursor(),s=[];if(!r.firstChild())return s;if(t!=null){for(let o=!1;!o;)if(o=r.type.is(t),!r.nextSibling())return s}for(;;){if(n!=null&&r.type.is(n))return s;if(r.type.is(e)&&s.push(r.node),!r.nextSibling())return n==null?s:[]}}function Ac(i,e,t=e.length-1){for(let n=i;t>=0;n=n.parent){if(!n)return!1;if(!n.type.isAnonymous){if(e[t]&&e[t]!=n.name)return!1;t--}}return!0}var jc=class{constructor(e,t,n,r){this.parent=e,this.buffer=t,this.index=n,this.start=r}},Di=class i extends ia{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,n){super(),this.context=e,this._parent=t,this.index=n,this.type=e.buffer.set.types[e.buffer.buffer[n]]}child(e,t,n){let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.context.start,n);return s<0?null:new i(this.context,this,s)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}enter(e,t,n=0){if(n&H.ExcludeBuffers)return null;let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return s<0?null:new i(this.context,this,s)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new i(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new i(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:n}=this.context,r=this.index+4,s=n.buffer[this.index+3];if(s>r){let o=n.buffer[this.index+1];e.push(n.slice(r,s,o)),t.push(0)}return new de(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}};function Tg(i){if(!i.length)return null;let e=0,t=i[0];for(let s=1;s<i.length;s++){let o=i[s];(o.from>t.from||o.to<t.to)&&(t=o,e=s)}let n=t instanceof Ie&&t.index<0?null:t.parent,r=i.slice();return n?r[e]=n:r.splice(e,1),new Yc(r,t)}var Yc=class{constructor(e,t){this.heads=e,this.node=t}get next(){return Tg(this.heads)}};function lv(i,e,t){let n=i.resolveInner(e,t),r=null;for(let s=n instanceof Ie?n:n.context.parent;s;s=s.parent)if(s.index<0){let o=s.parent;(r||(r=[n])).push(o.resolve(e,t)),s=o}else{let o=Ei.get(s.tree);if(o&&o.overlay&&o.overlay[0].from<=e&&o.overlay[o.overlay.length-1].to>=e){let a=new Ie(o.tree,o.overlay[0].from+s.from,-1,s);(r||(r=[n])).push(Hr(a,e,t,!1))}}return r?Tg(r):n}var _n=class{get name(){return this.type.name}constructor(e,t=0){if(this.mode=t,this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,e instanceof Ie)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let n=e._parent;n;n=n._parent)this.stack.unshift(n.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:n,buffer:r}=this.buffer;return this.type=t||r.set.types[r.buffer[e]],this.from=n+r.buffer[e+1],this.to=n+r.buffer[e+2],!0}yield(e){return e?e instanceof Ie?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,n){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,n,this.mode));let{buffer:r}=this.buffer,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.buffer.start,n);return s<0?!1:(this.stack.push(this.index),this.yieldBuf(s))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,n=this.mode){return this.buffer?n&H.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,n))}parent(){if(!this.buffer)return this.yieldNode(this.mode&H.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&H.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,n=this.stack.length-1;if(e<0){let r=n<0?0:this.stack[n]+4;if(this.index!=r)return this.yieldBuf(t.findChild(r,this.index,-1,0,4))}else{let r=t.buffer[this.index+3];if(r<(n<0?t.buffer.length:t.buffer[this.stack[n]+3]))return this.yieldBuf(r)}return n<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,n,{buffer:r}=this;if(r){if(e>0){if(this.index<r.buffer.buffer.length)return!1}else for(let s=0;s<this.index;s++)if(r.buffer.buffer[s+3]<this.index)return!1;({index:t,parent:n}=r)}else({index:t,_parent:n}=this._tree);for(;n;{index:t,_parent:n}=n)if(t>-1)for(let s=t+e,o=e<0?-1:n._tree.children.length;s!=o;s+=e){let a=n._tree.children[s];if(this.mode&H.IncludeAnonymous||a instanceof pi||!a.type.isAnonymous||Gc(a))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to<e))&&this.parent(););for(;this.enterChild(1,e,t););return this}get node(){if(!this.buffer)return this._tree;let e=this.bufferNode,t=null,n=0;if(e&&e.context==this.buffer)e:for(let r=this.index,s=this.stack.length;s>=0;){for(let o=e;o;o=o._parent)if(o.index==r){if(r==this.index)return o;t=o,n=s+1;break e}r=this.stack[--s]}for(let r=n;r<this.stack.length;r++)t=new Di(this.buffer,t,this.stack[r]);return this.bufferNode=new Di(this.buffer,t,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,t){for(let n=0;;){let r=!1;if(this.type.isAnonymous||e(this)!==!1){if(this.firstChild()){n++;continue}this.type.isAnonymous||(r=!0)}for(;;){if(r&&t&&t(this),r=this.type.isAnonymous,!n)return;if(this.nextSibling())break;this.parent(),n--,r=!0}}}matchContext(e){if(!this.buffer)return Ac(this.node.parent,e);let{buffer:t}=this.buffer,{types:n}=t.set;for(let r=e.length-1,s=this.stack.length-1;r>=0;s--){if(s<0)return Ac(this._tree,e,r);let o=n[t.buffer[this.stack[s]]];if(!o.isAnonymous){if(e[r]&&e[r]!=o.name)return!1;r--}}return!0}};function Gc(i){return i.children.some(e=>e instanceof pi||!e.type.isAnonymous||Gc(e))}function Ov(i){var e;let{buffer:t,nodeSet:n,maxBufferLength:r=1024,reused:s=[],minRepeatType:o=n.types.length}=i,a=Array.isArray(t)?new Vc(t,t.length):t,l=n.types,O=0,c=0;function h(b,v,Q,w,k,A){let{id:V,start:C,end:D,size:L}=a,G=c,re=O;for(;L<0;)if(a.next(),L==-1){let se=s[V];Q.push(se),w.push(C-b);return}else if(L==-3){O=V;return}else if(L==-4){c=V;return}else throw new RangeError(`Unrecognized record size: ${L}`);let $e=l[V],Me,Qe,M=C-b;if(D-C<=r&&(Qe=m(a.pos-v,k))){let se=new Uint16Array(Qe.size-Qe.skip),I=a.pos-Qe.size,pe=se.length;for(;a.pos>I;)pe=g(Qe.start,se,pe);Me=new pi(se,D-Qe.start,n),M=Qe.start-b}else{let se=a.pos-L;a.next();let I=[],pe=[],W=V>=o?V:-1,te=0,Oe=D;for(;a.pos>se;)W>=0&&a.id==W&&a.size>=0?(a.end<=Oe-r&&(d(I,pe,C,te,a.end,Oe,W,G,re),te=I.length,Oe=a.end),a.next()):A>2500?f(C,se,I,pe):h(C,se,I,pe,W,A+1);if(W>=0&&te>0&&te<I.length&&d(I,pe,C,te,C,Oe,W,G,re),I.reverse(),pe.reverse(),W>-1&&te>0){let Te=u($e,re);Me=Bc($e,I,pe,0,I.length,0,D-C,Te,Te)}else Me=p($e,I,pe,D-C,G-D,re)}Q.push(Me),w.push(M)}function f(b,v,Q,w){let k=[],A=0,V=-1;for(;a.pos>v;){let{id:C,start:D,end:L,size:G}=a;if(G>4)a.next();else{if(V>-1&&D<V)break;V<0&&(V=L-r),k.push(C,D,L),A++,a.next()}}if(A){let C=new Uint16Array(A*4),D=k[k.length-2];for(let L=k.length-3,G=0;L>=0;L-=3)C[G++]=k[L],C[G++]=k[L+1]-D,C[G++]=k[L+2]-D,C[G++]=G;Q.push(new pi(C,k[2]-D,n)),w.push(D-b)}}function u(b,v){return(Q,w,k)=>{let A=0,V=Q.length-1,C,D;if(V>=0&&(C=Q[V])instanceof de){if(!V&&C.type==b&&C.length==k)return C;(D=C.prop(j.lookAhead))&&(A=w[V]+C.length+D)}return p(b,Q,w,k,A,v)}}function d(b,v,Q,w,k,A,V,C,D){let L=[],G=[];for(;b.length>w;)L.push(b.pop()),G.push(v.pop()+Q-k);b.push(p(n.types[V],L,G,A-k,C-A,D)),v.push(k-Q)}function p(b,v,Q,w,k,A,V){if(A){let C=[j.contextHash,A];V=V?[C].concat(V):[C]}if(k>25){let C=[j.lookAhead,k];V=V?[C].concat(V):[C]}return new de(b,v,Q,w,V)}function m(b,v){let Q=a.fork(),w=0,k=0,A=0,V=Q.end-r,C={size:0,start:0,skip:0};e:for(let D=Q.pos-b;Q.pos>D;){let L=Q.size;if(Q.id==v&&L>=0){C.size=w,C.start=k,C.skip=A,A+=4,w+=4,Q.next();continue}let G=Q.pos-L;if(L<0||G<D||Q.start<V)break;let re=Q.id>=o?4:0,$e=Q.start;for(Q.next();Q.pos>G;){if(Q.size<0)if(Q.size==-3)re+=4;else break e;else Q.id>=o&&(re+=4);Q.next()}k=$e,w+=L,A+=re}return(v<0||w==b)&&(C.size=w,C.start=k,C.skip=A),C.size>4?C:void 0}function g(b,v,Q){let{id:w,start:k,end:A,size:V}=a;if(a.next(),V>=0&&w<o){let C=Q;if(V>4){let D=a.pos-(V-4);for(;a.pos>D;)Q=g(b,v,Q)}v[--Q]=C,v[--Q]=A-b,v[--Q]=k-b,v[--Q]=w}else V==-3?O=w:V==-4&&(c=w);return Q}let y=[],S=[];for(;a.pos>0;)h(i.start||0,i.bufferStart||0,y,S,-1,0);let x=(e=i.length)!==null&&e!==void 0?e:y.length?S[0]+y[0].length:0;return new de(l[i.topID],y.reverse(),S.reverse(),x)}var bg=new WeakMap;function ta(i,e){if(!i.isAnonymous||e instanceof pi||e.type!=i)return 1;let t=bg.get(e);if(t==null){t=1;for(let n of e.children){if(n.type!=i||!(n instanceof de)){t=1;break}t+=ta(i,n)}bg.set(e,t)}return t}function Bc(i,e,t,n,r,s,o,a,l){let O=0;for(let d=n;d<r;d++)O+=ta(i,e[d]);let c=Math.ceil(O*1.5/8),h=[],f=[];function u(d,p,m,g,y){for(let S=m;S<g;){let x=S,b=p[S],v=ta(i,d[S]);for(S++;S<g;S++){let Q=ta(i,d[S]);if(v+Q>=c)break;v+=Q}if(S==x+1){if(v>c){let Q=d[x];u(Q.children,Q.positions,0,Q.children.length,p[x]+y);continue}h.push(d[x])}else{let Q=p[S-1]+d[S-1].length-b;h.push(Bc(i,d,p,x,S,b,Q,null,l))}f.push(b+y-s)}}return u(e,t,n,r,0),(a||l)(h,f,o)}var Cn=class{constructor(){this.map=new WeakMap}setBuffer(e,t,n){let r=this.map.get(e);r||this.map.set(e,r=new Map),r.set(t,n)}getBuffer(e,t){let n=this.map.get(e);return n&&n.get(t)}set(e,t){e instanceof Di?this.setBuffer(e.context.buffer,e.index,t):e instanceof Ie&&this.map.set(e.tree,t)}get(e){return e instanceof Di?this.getBuffer(e.context.buffer,e.index):e instanceof Ie?this.map.get(e.tree):void 0}cursorSet(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}},Nt=class i{constructor(e,t,n,r,s=!1,o=!1){this.from=e,this.to=t,this.tree=n,this.offset=r,this.open=(s?1:0)|(o?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],n=!1){let r=[new i(0,e.length,e,0,!1,n)];for(let s of t)s.to>e.length&&r.push(s);return r}static applyChanges(e,t,n=128){if(!t.length)return e;let r=[],s=1,o=e.length?e[0]:null;for(let a=0,l=0,O=0;;a++){let c=a<t.length?t[a]:null,h=c?c.fromA:1e9;if(h-l>=n)for(;o&&o.from<h;){let f=o;if(l>=f.from||h<=f.to||O){let u=Math.max(f.from,l)-O,d=Math.min(f.to,h)-O;f=u>=d?null:new i(u,d,f.tree,f.offset+O,a>0,!!c)}if(f&&r.push(f),o.to>h)break;o=s<e.length?e[s++]:null}if(!c)break;l=c.toA,O=c.toA-c.toB}return r}},Wn=class{startParse(e,t,n){return typeof e=="string"&&(e=new Uc(e)),n=n?n.length?n.map(r=>new Be(r.from,r.to)):[new Be(0,0)]:[new Be(0,e.length)],this.createParse(e,t||[],n)}parse(e,t,n){let r=this.startParse(e,t,n);for(;;){let s=r.advance();if(s)return s}}},Uc=class{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}};function sa(i){return(e,t,n,r)=>new Dc(e,i,t,n,r)}var na=class{constructor(e,t,n,r,s){this.parser=e,this.parse=t,this.overlay=n,this.target=r,this.from=s}};function xg(i){if(!i.length||i.some(e=>e.from>=e.to))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(i))}var Mc=class{constructor(e,t,n,r,s,o,a){this.parser=e,this.predicate=t,this.mounts=n,this.index=r,this.start=s,this.target=o,this.prev=a,this.depth=0,this.ranges=[]}},Ec=new j({perNode:!0}),Dc=class{constructor(e,t,n,r,s){this.nest=t,this.input=n,this.fragments=r,this.ranges=s,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}advance(){if(this.baseParse){let n=this.baseParse.advance();if(!n)return null;if(this.baseParse=null,this.baseTree=n,this.startInner(),this.stoppedAt!=null)for(let r of this.inner)r.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let n=this.baseTree;return this.stoppedAt!=null&&(n=new de(n.type,n.children,n.positions,n.length,n.propValues.concat([[Ec,this.stoppedAt]]))),n}let e=this.inner[this.innerDone],t=e.parse.advance();if(t){this.innerDone++;let n=Object.assign(Object.create(null),e.target.props);n[j.mounted.id]=new Ei(t,e.overlay,e.parser),e.target.props=n}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let t=this.innerDone;t<this.inner.length;t++)this.inner[t].from<e&&(e=Math.min(e,this.inner[t].parse.parsedPos));return e}stopAt(e){if(this.stoppedAt=e,this.baseParse)this.baseParse.stopAt(e);else for(let t=this.innerDone;t<this.inner.length;t++)this.inner[t].parse.stopAt(e)}startInner(){let e=new Lc(this.fragments),t=null,n=null,r=new _n(new Ie(this.baseTree,this.ranges[0].from,0,null),H.IncludeAnonymous|H.IgnoreMounts);e:for(let s,o;;){let a=!0,l;if(this.stoppedAt!=null&&r.from>=this.stoppedAt)a=!1;else if(e.hasNode(r)){if(t){let O=t.mounts.find(c=>c.frag.from<=r.from&&c.frag.to>=r.to&&c.mount.overlay);if(O)for(let c of O.mount.overlay){let h=c.from+O.pos,f=c.to+O.pos;h>=r.from&&f<=r.to&&!t.ranges.some(u=>u.from<f&&u.to>h)&&t.ranges.push({from:h,to:f})}}a=!1}else if(n&&(o=cv(n.ranges,r.from,r.to)))a=o!=2;else if(!r.type.isAnonymous&&(s=this.nest(r,this.input))&&(r.from<r.to||!s.overlay)){r.tree||hv(r);let O=e.findMounts(r.from,s.parser);if(typeof s.overlay=="function")t=new Mc(s.parser,s.overlay,O,this.inner.length,r.from,r.tree,t);else{let c=wg(this.ranges,s.overlay||(r.from<r.to?[new Be(r.from,r.to)]:[]));c.length&&xg(c),(c.length||!s.overlay)&&this.inner.push(new na(s.parser,c.length?s.parser.startParse(this.input,Pg(O,c),c):s.parser.startParse(""),s.overlay?s.overlay.map(h=>new Be(h.from-r.from,h.to-r.from)):null,r.tree,c.length?c[0].from:r.from)),s.overlay?c.length&&(n={ranges:c,depth:0,prev:n}):a=!1}}else if(t&&(l=t.predicate(r))&&(l===!0&&(l=new Be(r.from,r.to)),l.from<l.to)){let O=t.ranges.length-1;O>=0&&t.ranges[O].to==l.from?t.ranges[O]={from:t.ranges[O].from,to:l.to}:t.ranges.push(l)}if(a&&r.firstChild())t&&t.depth++,n&&n.depth++;else for(;!r.nextSibling();){if(!r.parent())break e;if(t&&!--t.depth){let O=wg(this.ranges,t.ranges);O.length&&(xg(O),this.inner.splice(t.index,0,new na(t.parser,t.parser.startParse(this.input,Pg(t.mounts,O),O),t.ranges.map(c=>new Be(c.from-t.start,c.to-t.start)),t.target,O[0].from))),t=t.prev}n&&!--n.depth&&(n=n.prev)}}}};function cv(i,e,t){for(let n of i){if(n.from>=t)break;if(n.to>e)return n.from<=e&&n.to>=t?2:1}return 0}function vg(i,e,t,n,r,s){if(e<t){let o=i.buffer[e+1];n.push(i.slice(e,t,o)),r.push(o-s)}}function hv(i){let{node:e}=i,t=[],n=e.context.buffer;do t.push(i.index),i.parent();while(!i.tree);let r=i.tree,s=r.children.indexOf(n),o=r.children[s],a=o.buffer,l=[s];function O(c,h,f,u,d,p){let m=t[p],g=[],y=[];vg(o,c,m,g,y,u);let S=a[m+1],x=a[m+2];l.push(g.length);let b=p?O(m+4,a[m+3],o.set.types[a[m]],S,x-S,p-1):e.toTree();return g.push(b),y.push(S-u),vg(o,a[m+3],h,g,y,u),new de(f,g,y,d)}r.children[s]=O(0,a.length,_e.none,0,o.length,t.length-1);for(let c of l){let h=i.tree.children[c],f=i.tree.positions[c];i.yield(new Ie(h,f+i.from,c,i._tree))}}var ra=class{constructor(e,t){this.offset=t,this.done=!1,this.cursor=e.cursor(H.IncludeAnonymous|H.IgnoreMounts)}moveTo(e){let{cursor:t}=this,n=e-this.offset;for(;!this.done&&t.from<n;)t.to>=e&&t.enter(n,1,H.IgnoreOverlays|H.ExcludeBuffers)||t.next(!1)||(this.done=!0)}hasNode(e){if(this.moveTo(e.from),!this.done&&this.cursor.from+this.offset==e.from&&this.cursor.tree)for(let t=this.cursor.tree;;){if(t==e.tree)return!0;if(t.children.length&&t.positions[0]==0&&t.children[0]instanceof de)t=t.children[0];else break}return!1}},Lc=class{constructor(e){var t;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let n=this.curFrag=e[0];this.curTo=(t=n.tree.prop(Ec))!==null&&t!==void 0?t:n.to,this.inner=new ra(n.tree,-n.offset)}else this.curFrag=this.inner=null}hasNode(e){for(;this.curFrag&&e.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=e.from&&this.curTo>=e.to&&this.inner.hasNode(e)}nextFrag(){var e;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let t=this.curFrag=this.fragments[this.fragI];this.curTo=(e=t.tree.prop(Ec))!==null&&e!==void 0?e:t.to,this.inner=new ra(t.tree,-t.offset)}}findMounts(e,t){var n;let r=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let s=this.inner.cursor.node;s;s=s.parent){let o=(n=s.tree)===null||n===void 0?void 0:n.prop(j.mounted);if(o&&o.parser==t)for(let a=this.fragI;a<this.fragments.length;a++){let l=this.fragments[a];if(l.from>=s.to)break;l.tree==this.curFrag.tree&&r.push({frag:l,pos:s.from-l.offset,mount:o})}}}return r}};function wg(i,e){let t=null,n=e;for(let r=1,s=0;r<i.length;r++){let o=i[r-1].to,a=i[r].from;for(;s<n.length;s++){let l=n[s];if(l.from>=a)break;l.to<=o||(t||(n=t=e.slice()),l.from<o?(t[s]=new Be(l.from,o),l.to>a&&t.splice(s+1,0,new Be(a,l.to))):l.to>a?t[s--]=new Be(a,l.to):t.splice(s--,1))}}return n}function fv(i,e,t,n){let r=0,s=0,o=!1,a=!1,l=-1e9,O=[];for(;;){let c=r==i.length?1e9:o?i[r].to:i[r].from,h=s==e.length?1e9:a?e[s].to:e[s].from;if(o!=a){let f=Math.max(l,t),u=Math.min(c,h,n);f<u&&O.push(new Be(f,u))}if(l=Math.min(c,h),l==1e9)break;c==l&&(o?(o=!1,r++):o=!0),h==l&&(a?(a=!1,s++):a=!0)}return O}function Pg(i,e){let t=[];for(let{pos:n,mount:r,frag:s}of i){let o=n+(r.overlay?r.overlay[0].from:0),a=o+r.tree.length,l=Math.max(s.from,o),O=Math.min(s.to,a);if(r.overlay){let c=r.overlay.map(f=>new Be(f.from+n,f.to+n)),h=fv(e,c,l,O);for(let f=0,u=l;;f++){let d=f==h.length,p=d?O:h[f].from;if(p>u&&t.push(new Nt(u,p,r.tree,-o,s.from>=u||s.openStart,s.to<=p||s.openEnd)),d)break;u=h[f].to}}else t.push(new Nt(l,O,r.tree,-o,s.from>=o||s.openStart,s.to<=a||s.openEnd))}return t}var uv=0,gt=class i{constructor(e,t,n,r){this.name=e,this.set=t,this.base=n,this.modified=r,this.id=uv++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let n=typeof e=="string"?e:"?";if(e instanceof i&&(t=e),t?.base)throw new Error("Can not derive from a modified tag");let r=new i(n,[],null,[]);if(r.set.push(r),t)for(let s of t.set)r.set.push(s);return r}static defineModifier(e){let t=new Oa(e);return n=>n.modified.indexOf(t)>-1?n:Oa.get(n.base||n,n.modified.concat(t).sort((r,s)=>r.id-s.id))}},dv=0,Oa=class i{constructor(e){this.name=e,this.instances=[],this.id=dv++}static get(e,t){if(!t.length)return e;let n=t[0].instances.find(a=>a.base==e&&pv(t,a.modified));if(n)return n;let r=[],s=new gt(e.name,r,e,t);for(let a of t)a.instances.push(s);let o=mv(t);for(let a of e.set)if(!a.modified.length)for(let l of o)r.push(i.get(a,l));return s}};function pv(i,e){return i.length==e.length&&i.every((t,n)=>t==e[n])}function mv(i){let e=[[]];for(let t=0;t<i.length;t++)for(let n=0,r=e.length;n<r;n++)e.push(e[n].concat(i[t]));return e.sort((t,n)=>n.length-t.length)}function _t(i){let e=Object.create(null);for(let t in i){let n=i[t];Array.isArray(n)||(n=[n]);for(let r of t.split(" "))if(r){let s=[],o=2,a=r;for(let h=0;;){if(a=="..."&&h>0&&h+3==r.length){o=1;break}let f=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(a);if(!f)throw new RangeError("Invalid path: "+r);if(s.push(f[0]=="*"?"":f[0][0]=='"'?JSON.parse(f[0]):f[0]),h+=f[0].length,h==r.length)break;let u=r[h++];if(h==r.length&&u=="!"){o=0;break}if(u!="/")throw new RangeError("Invalid path: "+r);a=r.slice(h)}let l=s.length-1,O=s[l];if(!O)throw new RangeError("Invalid path: "+r);let c=new Zn(n,o,l>0?s.slice(0,l):null);e[O]=c.sort(e[O])}}return Rg.add(e)}var Rg=new j,Zn=class{constructor(e,t,n,r){this.tags=e,this.mode=t,this.context=n,this.next=r}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth<this.depth?(this.next=e,this):(e.next=this.sort(e.next),e)}get depth(){return this.context?this.context.length:0}};Zn.empty=new Zn([],2,null);function Hc(i,e){let t=Object.create(null);for(let s of i)if(!Array.isArray(s.tag))t[s.tag.id]=s.class;else for(let o of s.tag)t[o.id]=s.class;let{scope:n,all:r=null}=e||{};return{style:s=>{let o=r;for(let a of s)for(let l of a.set){let O=t[l.id];if(O){o=o?o+" "+O:O;break}}return o},scope:n}}function gv(i,e){let t=null;for(let n of i){let r=n.style(e);r&&(t=t?t+" "+r:r)}return t}function qg(i,e,t,n=0,r=i.length){let s=new Nc(n,Array.isArray(e)?e:[e],t);s.highlightRange(i.cursor(),n,r,"",s.highlighters),s.flush(r)}var Nc=class{constructor(e,t,n){this.at=e,this.highlighters=t,this.span=n,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,n,r,s){let{type:o,from:a,to:l}=e;if(a>=n||l<=t)return;o.isTop&&(s=this.highlighters.filter(u=>!u.scope||u.scope(o)));let O=r,c=$v(e)||Zn.empty,h=gv(s,c.tags);if(h&&(O&&(O+=" "),O+=h,c.mode==1&&(r+=(r?" ":"")+h)),this.startSpan(Math.max(t,a),O),c.opaque)return;let f=e.tree&&e.tree.prop(j.mounted);if(f&&f.overlay){let u=e.node.enter(f.overlay[0].from+a,1),d=this.highlighters.filter(m=>!m.scope||m.scope(f.tree.type)),p=e.firstChild();for(let m=0,g=a;;m++){let y=m<f.overlay.length?f.overlay[m]:null,S=y?y.from+a:l,x=Math.max(t,g),b=Math.min(n,S);if(x<b&&p)for(;e.from<b&&(this.highlightRange(e,x,b,r,s),this.startSpan(Math.min(b,e.to),O),!(e.to>=S||!e.nextSibling())););if(!y||S>n)break;g=y.to+a,g>t&&(this.highlightRange(u.cursor(),Math.max(t,y.from+a),Math.min(n,g),"",d),this.startSpan(Math.min(n,g),O))}p&&e.parent()}else if(e.firstChild()){f&&(r="");do if(!(e.to<=t)){if(e.from>=n)break;this.highlightRange(e,t,n,r,s),this.startSpan(Math.min(n,e.to),O)}while(e.nextSibling());e.parent()}}};function $v(i){let e=i.type.prop(Rg);for(;e&&e.context&&!i.matchContext(e.context);)e=e.next;return e||null}var z=gt.define,oa=z(),mi=z(),zg=z(mi),Xg=z(mi),gi=z(),aa=z(gi),Ic=z(gi),qt=z(),Li=z(qt),Xt=z(),Rt=z(),Fc=z(),Kr=z(Fc),la=z(),$={comment:oa,lineComment:z(oa),blockComment:z(oa),docComment:z(oa),name:mi,variableName:z(mi),typeName:zg,tagName:z(zg),propertyName:Xg,attributeName:z(Xg),className:z(mi),labelName:z(mi),namespace:z(mi),macroName:z(mi),literal:gi,string:aa,docString:z(aa),character:z(aa),attributeValue:z(aa),number:Ic,integer:z(Ic),float:z(Ic),bool:z(gi),regexp:z(gi),escape:z(gi),color:z(gi),url:z(gi),keyword:Xt,self:z(Xt),null:z(Xt),atom:z(Xt),unit:z(Xt),modifier:z(Xt),operatorKeyword:z(Xt),controlKeyword:z(Xt),definitionKeyword:z(Xt),moduleKeyword:z(Xt),operator:Rt,derefOperator:z(Rt),arithmeticOperator:z(Rt),logicOperator:z(Rt),bitwiseOperator:z(Rt),compareOperator:z(Rt),updateOperator:z(Rt),definitionOperator:z(Rt),typeOperator:z(Rt),controlOperator:z(Rt),punctuation:Fc,separator:z(Fc),bracket:Kr,angleBracket:z(Kr),squareBracket:z(Kr),paren:z(Kr),brace:z(Kr),content:qt,heading:Li,heading1:z(Li),heading2:z(Li),heading3:z(Li),heading4:z(Li),heading5:z(Li),heading6:z(Li),contentSeparator:z(qt),list:z(qt),quote:z(qt),emphasis:z(qt),strong:z(qt),link:z(qt),monospace:z(qt),strikethrough:z(qt),inserted:z(),deleted:z(),changed:z(),invalid:z(),meta:la,documentMeta:z(la),annotation:z(la),processingInstruction:z(la),definition:gt.defineModifier("definition"),constant:gt.defineModifier("constant"),function:gt.defineModifier("function"),standard:gt.defineModifier("standard"),local:gt.defineModifier("local"),special:gt.defineModifier("special")};for(let i in $){let e=$[i];e instanceof gt&&(e.name=i)}var m6=Hc([{tag:$.link,class:"tok-link"},{tag:$.heading,class:"tok-heading"},{tag:$.emphasis,class:"tok-emphasis"},{tag:$.strong,class:"tok-strong"},{tag:$.keyword,class:"tok-keyword"},{tag:$.atom,class:"tok-atom"},{tag:$.bool,class:"tok-bool"},{tag:$.url,class:"tok-url"},{tag:$.labelName,class:"tok-labelName"},{tag:$.inserted,class:"tok-inserted"},{tag:$.deleted,class:"tok-deleted"},{tag:$.literal,class:"tok-literal"},{tag:$.string,class:"tok-string"},{tag:$.number,class:"tok-number"},{tag:[$.regexp,$.escape,$.special($.string)],class:"tok-string2"},{tag:$.variableName,class:"tok-variableName"},{tag:$.local($.variableName),class:"tok-variableName tok-local"},{tag:$.definition($.variableName),class:"tok-variableName tok-definition"},{tag:$.special($.variableName),class:"tok-variableName2"},{tag:$.definition($.propertyName),class:"tok-propertyName tok-definition"},{tag:$.typeName,class:"tok-typeName"},{tag:$.namespace,class:"tok-namespace"},{tag:$.className,class:"tok-className"},{tag:$.macroName,class:"tok-macroName"},{tag:$.propertyName,class:"tok-propertyName"},{tag:$.operator,class:"tok-operator"},{tag:$.comment,class:"tok-comment"},{tag:$.meta,class:"tok-meta"},{tag:$.invalid,class:"tok-invalid"},{tag:$.punctuation,class:"tok-punctuation"}]);var Kc,Vn=new j;function ch(i){return X.define({combine:i?e=>e.concat(i):void 0})}var ua=new j,tt=class{constructor(e,t,n=[],r=""){this.data=e,this.name=r,ee.prototype.hasOwnProperty("tree")||Object.defineProperty(ee.prototype,"tree",{get(){return ae(this)}}),this.parser=t,this.extension=[$i.of(this),ee.languageData.of((s,o,a)=>{let l=_g(s,o,a),O=l.type.prop(Vn);if(!O)return[];let c=s.facet(O),h=l.type.prop(ua);if(h){let f=l.resolve(o-l.from,a);for(let u of h)if(u.test(f,s)){let d=s.facet(u.facet);return u.type=="replace"?d:d.concat(c)}}return c})].concat(n)}isActiveAt(e,t,n=-1){return _g(e,t,n).type.prop(Vn)==this.data}findRegions(e){let t=e.facet($i);if(t?.data==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let n=[],r=(s,o)=>{if(s.prop(Vn)==this.data){n.push({from:o,to:o+s.length});return}let a=s.prop(j.mounted);if(a){if(a.tree.prop(Vn)==this.data){if(a.overlay)for(let l of a.overlay)n.push({from:l.from+o,to:l.to+o});else n.push({from:o,to:o+s.length});return}else if(a.overlay){let l=n.length;if(r(a.tree,a.overlay[0].from+o),n.length>l)return}}for(let l=0;l<s.children.length;l++){let O=s.children[l];O instanceof de&&r(O,s.positions[l]+o)}};return r(ae(e),0),n}get allowsNesting(){return!0}};tt.setState=Z.define();function _g(i,e,t){let n=i.facet($i),r=ae(i).topNode;if(!n||n.allowsNesting)for(let s=r;s;s=s.enter(e,t,H.ExcludeBuffers))s.type.isTop&&(r=s);return r}var Ct=class i extends tt{constructor(e,t,n){super(e,t,[],n),this.parser=t}static define(e){let t=ch(e.languageData);return new i(t,e.parser.configure({props:[Vn.add(n=>n.isTop?t:void 0)]}),e.name)}configure(e,t){return new i(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}};function ae(i){let e=i.field(tt.state,!1);return e?e.tree:de.empty}var ih=class{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let n=this.cursorPos-this.string.length;return e<n||t>=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-n,t-n)}},Jr=null,nh=class i{constructor(e,t,n=[],r,s,o,a,l){this.parser=e,this.state=t,this.fragments=n,this.tree=r,this.treeLen=s,this.viewport=o,this.skipped=a,this.scheduleOn=l,this.parse=null,this.tempSkipped=[]}static create(e,t,n){return new i(e,t,[],de.empty,0,n,[],null)}startParse(){return this.parser.startParse(new ih(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=de.empty&&this.isDone(t??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var n;if(typeof e=="number"){let r=Date.now()+e;e=()=>Date.now()>r}for(this.parse||(this.parse=this.startParse()),t!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&t<this.state.doc.length&&this.parse.stopAt(t);;){let r=this.parse.advance();if(r)if(this.fragments=this.withoutTempSkipped(Nt.addTree(r,this.fragments,this.parse.stoppedAt!=null)),this.treeLen=(n=this.parse.stoppedAt)!==null&&n!==void 0?n:this.state.doc.length,this.tree=r,this.parse=null,this.treeLen<(t??this.state.doc.length))this.parse=this.startParse();else return!0;if(e())return!1}})}takeTree(){let e,t;this.parse&&(e=this.parse.parsedPos)>=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(Nt.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=Jr;Jr=this;try{return e()}finally{Jr=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=Cg(e,t.from,t.to);return e}changes(e,t){let{fragments:n,tree:r,treeLen:s,viewport:o,skipped:a}=this;if(this.takeTree(),!e.empty){let l=[];if(e.iterChangedRanges((O,c,h,f)=>l.push({fromA:O,toA:c,fromB:h,toB:f})),n=Nt.applyChanges(n,l),r=de.empty,s=0,o={from:e.mapPos(o.from,-1),to:e.mapPos(o.to,1)},this.skipped.length){a=[];for(let O of this.skipped){let c=e.mapPos(O.from,1),h=e.mapPos(O.to,-1);c<h&&a.push({from:c,to:h})}}}return new i(this.parser,t,n,r,s,o,a,this.scheduleOn)}updateViewport(e){if(this.viewport.from==e.from&&this.viewport.to==e.to)return!1;this.viewport=e;let t=this.skipped.length;for(let n=0;n<this.skipped.length;n++){let{from:r,to:s}=this.skipped[n];r<e.to&&s>e.from&&(this.fragments=Cg(this.fragments,r,s),this.skipped.splice(n--,1))}return this.skipped.length>=t?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends Wn{createParse(t,n,r){let s=r[0].from,o=r[r.length-1].to;return{parsedPos:s,advance(){let l=Jr;if(l){for(let O of r)l.tempSkipped.push(O);e&&(l.scheduleOn=l.scheduleOn?Promise.all([l.scheduleOn,e]):e)}return this.parsedPos=o,new de(_e.none,[],[],o-s)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&t[0].from==0&&t[0].to>=e}static get(){return Jr}};function Cg(i,e,t){return Nt.applyChanges(i,[{fromA:e,toA:t,fromB:e,toB:t}])}var ts=class i{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),n=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,n)||t.takeTree(),new i(t)}static init(e){let t=Math.min(3e3,e.doc.length),n=nh.create(e.facet($i).parser,e,{from:0,to:t});return n.work(20,t)||n.takeTree(),new i(n)}};tt.state=ue.define({create:ts.init,update(i,e){for(let t of e.effects)if(t.is(tt.setState))return t.value;return e.startState.facet($i)!=e.state.facet($i)?ts.init(e.state):i.apply(e)}});var Yg=i=>{let e=setTimeout(()=>i(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(Yg=i=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(i,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});var Jc=typeof navigator<"u"&&(!((Kc=navigator.scheduling)===null||Kc===void 0)&&Kc.isInputPending)?()=>navigator.scheduling.isInputPending():null,yv=me.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(tt.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(tt.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=Yg(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEnd<t&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=t+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:n,viewport:{to:r}}=this.view,s=n.field(tt.state);if(s.tree==s.context.tree&&s.context.isDone(r+1e5))return;let o=Date.now()+Math.min(this.chunkBudget,100,e&&!Jc?Math.max(25,e.timeRemaining()-5):1e9),a=s.context.treeLen<r&&n.doc.length>r+1e3,l=s.context.work(()=>Jc&&Jc()||Date.now()>o,r+(a?0:1e5));this.chunkBudget-=Date.now()-t,(l||this.chunkBudget<=0)&&(s.context.takeTree(),this.view.dispatch({effects:tt.setState.of(new ts(s.context))})),this.chunkBudget>0&&!(l&&!a)&&this.scheduleWork(),this.checkAsyncSchedule(s.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(t=>qe(this.view.state,t)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),$i=X.define({combine(i){return i.length?i[0]:null},enables:i=>[tt.state,yv,T.contentAttributes.compute([i],e=>{let t=e.facet(i);return t&&t.name?{"data-language":t.name}:{}})]}),Wt=class{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}};var Qv=X.define(),An=X.define({combine:i=>{if(!i.length)return" ";let e=i[0];if(!e||/\S/.test(e)||Array.from(e).some(t=>t!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(i[0]));return e}});function is(i){let e=i.facet(An);return e.charCodeAt(0)==9?i.tabSize*e.length:e.length}function jn(i,e){let t="",n=i.tabSize,r=i.facet(An)[0];if(r==" "){for(;e>=n;)t+=" ",e-=n;r=" "}for(let s=0;s<e;s++)t+=r;return t}function da(i,e){i instanceof ee&&(i=new Gi(i));for(let n of i.state.facet(Qv)){let r=n(i,e);if(r!==void 0)return r}let t=ae(i.state);return t.length>=e?Sv(i,t,e):null}var Gi=class{constructor(e,t={}){this.state=e,this.options=t,this.unit=is(e)}lineAt(e,t=1){let n=this.state.doc.lineAt(e),{simulateBreak:r,simulateDoubleBreak:s}=this.options;return r!=null&&r>=n.from&&r<=n.to?s&&r==e?{text:"",from:e}:(t<0?r<e:r<=e)?{text:n.text.slice(r-n.from),from:r}:{text:n.text.slice(0,r-n.from),from:n.from}:n}textAfterPos(e,t=1){if(this.options.simulateDoubleBreak&&e==this.options.simulateBreak)return"";let{text:n,from:r}=this.lineAt(e,t);return n.slice(e-r,Math.min(n.length,e+100-r))}column(e,t=1){let{text:n,from:r}=this.lineAt(e,t),s=this.countColumn(n,e-r),o=this.options.overrideIndentation?this.options.overrideIndentation(r):-1;return o>-1&&(s+=o-this.countColumn(n,n.search(/\S|$/))),s}countColumn(e,t=e.length){return Gt(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:n,from:r}=this.lineAt(e,t),s=this.options.overrideIndentation;if(s){let o=s(r);if(o>-1)return o}return this.countColumn(n,n.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}},Ft=new j;function Sv(i,e,t){let n=e.resolveStack(t),r=e.resolveInner(t,-1).resolve(t,0).enterUnfinishedNodesBefore(t);if(r!=n.node){let s=[];for(let o=r;o&&!(o.from<n.node.from||o.to>n.node.to||o.from==n.node.from&&o.type==n.node.type);o=o.parent)s.push(o);for(let o=s.length-1;o>=0;o--)n={node:s[o],next:n}}return Ug(n,i,t)}function Ug(i,e,t){for(let n=i;n;n=n.next){let r=xv(n.node);if(r)return r(rh.create(e,t,n))}return 0}function bv(i){return i.pos==i.options.simulateBreak&&i.options.simulateDoubleBreak}function xv(i){let e=i.type.prop(Ft);if(e)return e;let t=i.firstChild,n;if(t&&(n=t.type.prop(j.closedBy))){let r=i.lastChild,s=r&&n.indexOf(r.name)>-1;return o=>Mg(o,!0,1,void 0,s&&!bv(o)?r.from:void 0)}return i.parent==null?vv:null}function vv(){return 0}var rh=class i extends Gi{constructor(e,t,n){super(e.state,e.options),this.base=e,this.pos=t,this.context=n}get node(){return this.context.node}static create(e,t,n){return new i(e,t,n)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let n=e.resolve(t.from);for(;n.parent&&n.parent.from==n.from;)n=n.parent;if(wv(n,e))break;t=this.state.doc.lineAt(n.from)}return this.lineIndent(t.from)}continue(){return Ug(this.context.next,this.base,this.pos)}};function wv(i,e){for(let t=e;t;t=t.parent)if(i==t)return!0;return!1}function Pv(i){let e=i.node,t=e.childAfter(e.from),n=e.lastChild;if(!t)return null;let r=i.options.simulateBreak,s=i.state.doc.lineAt(t.from),o=r==null||r<=s.from?s.to:Math.min(s.to,r);for(let a=t.to;;){let l=e.childAfter(a);if(!l||l==n)return null;if(!l.type.isSkipped){if(l.from>=o)return null;let O=/^ */.exec(s.text.slice(t.to-s.from))[0].length;return{from:t.from,to:t.to+O}}a=l.to}}function pa({closing:i,align:e=!0,units:t=1}){return n=>Mg(n,e,t,i)}function Mg(i,e,t,n,r){let s=i.textAfter,o=s.match(/^\s*/)[0].length,a=n&&s.slice(o,o+n.length)==n||r==i.pos+o,l=e?Pv(i):null;return l?a?i.column(l.from):i.column(l.to):i.baseIndent+(a?0:i.unit*t)}var Eg=i=>i.baseIndent;function Zt({except:i,units:e=1}={}){return t=>{let n=i&&i.test(t.textAfter);return t.baseIndent+(n?0:e*t.unit)}}var kv=200;function Dg(){return ee.transactionFilter.of(i=>{if(!i.docChanged||!i.isUserEvent("input.type")&&!i.isUserEvent("input.complete"))return i;let e=i.startState.languageDataAt("indentOnInput",i.startState.selection.main.head);if(!e.length)return i;let t=i.newDoc,{head:n}=i.newSelection.main,r=t.lineAt(n);if(n>r.from+kv)return i;let s=t.sliceString(r.from,n);if(!e.some(O=>O.test(s)))return i;let{state:o}=i,a=-1,l=[];for(let{head:O}of o.selection.ranges){let c=o.doc.lineAt(O);if(c.from==a)continue;a=c.from;let h=da(o,c.from);if(h==null)continue;let f=/^\s*/.exec(c.text)[0],u=jn(o,h);f!=u&&l.push({from:c.from,to:c.from+f.length,insert:u})}return l.length?[i,{changes:l,sequential:!0}]:i})}var Tv=X.define(),Ht=new j;function Yn(i){let e=i.firstChild,t=i.lastChild;return e&&e.to<t.from?{from:e.to,to:t.type.isError?i.to:t.from}:null}function zv(i,e,t){let n=ae(i);if(n.length<t)return null;let r=n.resolveStack(t,1),s=null;for(let o=r;o;o=o.next){let a=o.node;if(a.to<=t||a.from>t)continue;if(s&&a.from<e)break;let l=a.type.prop(Ht);if(l&&(a.to<n.length-50||n.length==i.doc.length||!Xv(a))){let O=l(a,i);O&&O.from<=t&&O.from>=e&&O.to>t&&(s=O)}}return s}function Xv(i){let e=i.lastChild;return e&&e.to==i.to&&e.type.isError}function ca(i,e,t){for(let n of i.facet(Tv)){let r=n(i,e,t);if(r)return r}return zv(i,e,t)}function Lg(i,e){let t=e.mapPos(i.from,1),n=e.mapPos(i.to,-1);return t>=n?void 0:{from:t,to:n}}var ma=Z.define({map:Lg}),ns=Z.define({map:Lg});function Gg(i){let e=[];for(let{head:t}of i.state.selection.ranges)e.some(n=>n.from<=t&&n.to>=t)||e.push(i.lineBlockAt(t));return e}var Bi=ue.define({create(){return q.none},update(i,e){e.isUserEvent("delete")&&e.changes.iterChangedRanges((t,n)=>i=Wg(i,t,n)),i=i.map(e.changes);for(let t of e.effects)if(t.is(ma)&&!Rv(i,t.value.from,t.value.to)){let{preparePlaceholder:n}=e.state.facet(hh),r=n?q.replace({widget:new sh(n(e.state,t.value))}):Zg;i=i.update({add:[r.range(t.value.from,t.value.to)]})}else t.is(ns)&&(i=i.update({filter:(n,r)=>t.value.from!=n||t.value.to!=r,filterFrom:t.value.from,filterTo:t.value.to}));return e.selection&&(i=Wg(i,e.selection.main.head)),i},provide:i=>T.decorations.from(i),toJSON(i,e){let t=[];return i.between(0,e.doc.length,(n,r)=>{t.push(n,r)}),t},fromJSON(i){if(!Array.isArray(i)||i.length%2)throw new RangeError("Invalid JSON for fold state");let e=[];for(let t=0;t<i.length;){let n=i[t++],r=i[t++];if(typeof n!="number"||typeof r!="number")throw new RangeError("Invalid JSON for fold state");e.push(Zg.range(n,r))}return q.set(e,!0)}});function Wg(i,e,t=e){let n=!1;return i.between(e,t,(r,s)=>{r<t&&s>e&&(n=!0)}),n?i.update({filterFrom:e,filterTo:t,filter:(r,s)=>r>=t||s<=e}):i}function ha(i,e,t){var n;let r=null;return(n=i.field(Bi,!1))===null||n===void 0||n.between(e,t,(s,o)=>{(!r||r.from>s)&&(r={from:s,to:o})}),r}function Rv(i,e,t){let n=!1;return i.between(e,e,(r,s)=>{r==e&&s==t&&(n=!0)}),n}function Bg(i,e){return i.field(Bi,!1)?e:e.concat(Z.appendConfig.of(Fg()))}var qv=i=>{for(let e of Gg(i)){let t=ca(i.state,e.from,e.to);if(t)return i.dispatch({effects:Bg(i.state,[ma.of(t),Ig(i,t)])}),!0}return!1},_v=i=>{if(!i.state.field(Bi,!1))return!1;let e=[];for(let t of Gg(i)){let n=ha(i.state,t.from,t.to);n&&e.push(ns.of(n),Ig(i,n,!1))}return e.length&&i.dispatch({effects:e}),e.length>0};function Ig(i,e,t=!0){let n=i.state.doc.lineAt(e.from).number,r=i.state.doc.lineAt(e.to).number;return T.announce.of(`${i.state.phrase(t?"Folded lines":"Unfolded lines")} ${n} ${i.state.phrase("to")} ${r}.`)}var Cv=i=>{let{state:e}=i,t=[];for(let n=0;n<e.doc.length;){let r=i.lineBlockAt(n),s=ca(e,r.from,r.to);s&&t.push(ma.of(s)),n=(s?i.lineBlockAt(s.to):r).to+1}return t.length&&i.dispatch({effects:Bg(i.state,t)}),!!t.length},Wv=i=>{let e=i.state.field(Bi,!1);if(!e||!e.size)return!1;let t=[];return e.between(0,i.state.doc.length,(n,r)=>{t.push(ns.of({from:n,to:r}))}),i.dispatch({effects:t}),!0};var Ng=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:qv},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:_v},{key:"Ctrl-Alt-[",run:Cv},{key:"Ctrl-Alt-]",run:Wv}],Zv={placeholderDOM:null,preparePlaceholder:null,placeholderText:"\u2026"},hh=X.define({combine(i){return Ze(i,Zv)}});function Fg(i){let e=[Bi,Av];return i&&e.push(hh.of(i)),e}function Hg(i,e){let{state:t}=i,n=t.facet(hh),r=o=>{let a=i.lineBlockAt(i.posAtDOM(o.target)),l=ha(i.state,a.from,a.to);l&&i.dispatch({effects:ns.of(l)}),o.preventDefault()};if(n.placeholderDOM)return n.placeholderDOM(i,r,e);let s=document.createElement("span");return s.textContent=n.placeholderText,s.setAttribute("aria-label",t.phrase("folded code")),s.title=t.phrase("unfold"),s.className="cm-foldPlaceholder",s.onclick=r,s}var Zg=q.replace({widget:new class extends Ge{toDOM(i){return Hg(i,null)}}}),sh=class extends Ge{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return Hg(e,this.value)}},Vv={openText:"\u2304",closedText:"\u203A",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1},es=class extends et{constructor(e,t){super(),this.config=e,this.open=t}eq(e){return this.config==e.config&&this.open==e.open}toDOM(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);let t=document.createElement("span");return t.textContent=this.open?this.config.openText:this.config.closedText,t.title=e.state.phrase(this.open?"Fold line":"Unfold line"),t}};function Kg(i={}){let e={...Vv,...i},t=new es(e,!0),n=new es(e,!1),r=me.fromClass(class{constructor(o){this.from=o.viewport.from,this.markers=this.buildMarkers(o)}update(o){(o.docChanged||o.viewportChanged||o.startState.facet($i)!=o.state.facet($i)||o.startState.field(Bi,!1)!=o.state.field(Bi,!1)||ae(o.startState)!=ae(o.state)||e.foldingChanged(o))&&(this.markers=this.buildMarkers(o.view))}buildMarkers(o){let a=new He;for(let l of o.viewportLineBlocks){let O=ha(o.state,l.from,l.to)?n:ca(o.state,l.from,l.to)?t:null;O&&a.add(l.from,l.from,O)}return a.finish()}}),{domEventHandlers:s}=e;return[r,Zc({class:"cm-foldGutter",markers(o){var a;return((a=o.plugin(r))===null||a===void 0?void 0:a.markers)||F.empty},initialSpacer(){return new es(e,!1)},domEventHandlers:{...s,click:(o,a,l)=>{if(s.click&&s.click(o,a,l))return!0;let O=ha(o.state,a.from,a.to);if(O)return o.dispatch({effects:ns.of(O)}),!0;let c=ca(o.state,a.from,a.to);return c?(o.dispatch({effects:ma.of(c)}),!0):!1}}}),Fg()]}var Av=T.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}}),fa=class i{constructor(e,t){this.specs=e;let n;function r(a){let l=Ot.newName();return(n||(n=Object.create(null)))["."+l]=a,l}let s=typeof t.all=="string"?t.all:t.all?r(t.all):void 0,o=t.scope;this.scope=o instanceof tt?a=>a.prop(Vn)==o.data:o?a=>a==o:void 0,this.style=Hc(e.map(a=>({tag:a.tag,class:a.class||r(Object.assign({},a,{tag:null}))})),{all:s}).style,this.module=n?new Ot(n):null,this.themeType=t.themeType}static define(e,t){return new i(e,t||{})}},oh=X.define(),Jg=X.define({combine(i){return i.length?[i[0]]:null}});function eh(i){let e=i.facet(oh);return e.length?e:i.facet(Jg)}function e$(i,e){let t=[jv],n;return i instanceof fa&&(i.module&&t.push(T.styleModule.of(i.module)),n=i.themeType),e?.fallback?t.push(Jg.of(i)):n?t.push(oh.computeN([T.darkTheme],r=>r.facet(T.darkTheme)==(n=="dark")?[i]:[])):t.push(oh.of(i)),t}var ah=class{constructor(e){this.markCache=Object.create(null),this.tree=ae(e.state),this.decorations=this.buildDeco(e,eh(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=ae(e.state),n=eh(e.state),r=n!=eh(e.startState),{viewport:s}=e.view,o=e.changes.mapPos(this.decoratedTo,1);t.length<s.to&&!r&&t.type==this.tree.type&&o>=s.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=o):(t!=this.tree||e.viewportChanged||r)&&(this.tree=t,this.decorations=this.buildDeco(e.view,n),this.decoratedTo=s.to)}buildDeco(e,t){if(!t||!this.tree.length)return q.none;let n=new He;for(let{from:r,to:s}of e.visibleRanges)qg(this.tree,t,(o,a,l)=>{n.add(o,a,this.markCache[l]||(this.markCache[l]=q.mark({class:l})))},r,s);return n.finish()}},jv=lt.high(me.fromClass(ah,{decorations:i=>i.decorations})),t$=fa.define([{tag:$.meta,color:"#404740"},{tag:$.link,textDecoration:"underline"},{tag:$.heading,textDecoration:"underline",fontWeight:"bold"},{tag:$.emphasis,fontStyle:"italic"},{tag:$.strong,fontWeight:"bold"},{tag:$.strikethrough,textDecoration:"line-through"},{tag:$.keyword,color:"#708"},{tag:[$.atom,$.bool,$.url,$.contentSeparator,$.labelName],color:"#219"},{tag:[$.literal,$.inserted],color:"#164"},{tag:[$.string,$.deleted],color:"#a11"},{tag:[$.regexp,$.escape,$.special($.string)],color:"#e40"},{tag:$.definition($.variableName),color:"#00f"},{tag:$.local($.variableName),color:"#30a"},{tag:[$.typeName,$.namespace],color:"#085"},{tag:$.className,color:"#167"},{tag:[$.special($.variableName),$.macroName],color:"#256"},{tag:$.definition($.propertyName),color:"#00c"},{tag:$.comment,color:"#940"},{tag:$.invalid,color:"#f00"}]),Yv=T.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),i$=1e4,n$="()[]{}",r$=X.define({combine(i){return Ze(i,{afterCursor:!0,brackets:n$,maxScanDistance:i$,renderMatch:Ev})}}),Uv=q.mark({class:"cm-matchingBracket"}),Mv=q.mark({class:"cm-nonmatchingBracket"});function Ev(i){let e=[],t=i.matched?Uv:Mv;return e.push(t.range(i.start.from,i.start.to)),i.end&&e.push(t.range(i.end.from,i.end.to)),e}var Dv=ue.define({create(){return q.none},update(i,e){if(!e.docChanged&&!e.selection)return i;let t=[],n=e.state.facet(r$);for(let r of e.state.selection.ranges){if(!r.empty)continue;let s=$t(e.state,r.head,-1,n)||r.head>0&&$t(e.state,r.head-1,1,n)||n.afterCursor&&($t(e.state,r.head,1,n)||r.head<e.state.doc.length&&$t(e.state,r.head+1,-1,n));s&&(t=t.concat(n.renderMatch(s,e.state)))}return q.set(t,!0)},provide:i=>T.decorations.from(i)}),Lv=[Dv,Yv];function s$(i={}){return[r$.of(i),Lv]}var fh=new j;function lh(i,e,t){let n=i.prop(e<0?j.openedBy:j.closedBy);if(n)return n;if(i.name.length==1){let r=t.indexOf(i.name);if(r>-1&&r%2==(e<0?1:0))return[t[r+e]]}return null}function Oh(i){let e=i.type.prop(fh);return e?e(i.node):i}function $t(i,e,t,n={}){let r=n.maxScanDistance||i$,s=n.brackets||n$,o=ae(i),a=o.resolveInner(e,t);for(let l=a;l;l=l.parent){let O=lh(l.type,t,s);if(O&&l.from<l.to){let c=Oh(l);if(c&&(t>0?e>=c.from&&e<c.to:e>c.from&&e<=c.to))return Gv(i,e,t,l,c,O,s)}}return Bv(i,e,t,o,a.type,r,s)}function Gv(i,e,t,n,r,s,o){let a=n.parent,l={from:r.from,to:r.to},O=0,c=a?.cursor();if(c&&(t<0?c.childBefore(n.from):c.childAfter(n.to)))do if(t<0?c.to<=n.from:c.from>=n.to){if(O==0&&s.indexOf(c.type.name)>-1&&c.from<c.to){let h=Oh(c);return{start:l,end:h?{from:h.from,to:h.to}:void 0,matched:!0}}else if(lh(c.type,t,o))O++;else if(lh(c.type,-t,o)){if(O==0){let h=Oh(c);return{start:l,end:h&&h.from<h.to?{from:h.from,to:h.to}:void 0,matched:!1}}O--}}while(t<0?c.prevSibling():c.nextSibling());return{start:l,matched:!1}}function Bv(i,e,t,n,r,s,o){let a=t<0?i.sliceDoc(e-1,e):i.sliceDoc(e,e+1),l=o.indexOf(a);if(l<0||l%2==0!=t>0)return null;let O={from:t<0?e-1:e,to:t>0?e+1:e},c=i.doc.iterRange(e,t>0?i.doc.length:0),h=0;for(let f=0;!c.next().done&&f<=s;){let u=c.value;t<0&&(f+=u.length);let d=e+f*t;for(let p=t>0?0:u.length-1,m=t>0?u.length:-1;p!=m;p+=t){let g=o.indexOf(u[p]);if(!(g<0||n.resolveInner(d+p,1).type!=r))if(g%2==0==t>0)h++;else{if(h==1)return{start:O,end:{from:d+p,to:d+p+1},matched:g>>1==l>>1};h--}}t>0&&(f+=u.length)}return c.done?{start:O,matched:!1}:null}var Iv=Object.create(null),Vg=[_e.none];var Ag=[],jg=Object.create(null),Nv=Object.create(null);for(let[i,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])Nv[i]=Fv(Iv,e);function th(i,e){Ag.indexOf(i)>-1||(Ag.push(i),console.warn(e))}function Fv(i,e){let t=[];for(let a of e.split(" ")){let l=[];for(let O of a.split(".")){let c=i[O]||$[O];c?typeof c=="function"?l.length?l=l.map(c):th(O,`Modifier ${O} used at start of tag`):l.length?th(O,`Tag ${O} used as modifier`):l=Array.isArray(c)?c:[c]:th(O,`Unknown highlighting tag ${O}`)}for(let O of l)t.push(O)}if(!t.length)return 0;let n=e.replace(/ /g,"_"),r=n+" "+t.map(a=>a.id),s=jg[r];if(s)return s.id;let o=jg[r]=_e.define({id:Vg.length,name:n,props:[_t({[n]:t})]});return Vg.push(o),o.id}var v6={rtl:q.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"rtl"},bidiIsolate:ne.RTL}),ltr:q.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"ltr"},bidiIsolate:ne.LTR}),auto:q.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"auto"},bidiIsolate:null})};var Hv=i=>{let{state:e}=i,t=e.doc.lineAt(e.selection.main.from),n=yh(i.state,t.from);return n.line?Kv(i):n.block?ew(i):!1};function $h(i,e){return({state:t,dispatch:n})=>{if(t.readOnly)return!1;let r=i(e,t);return r?(n(t.update(r)),!0):!1}}var Kv=$h(nw,0);var Jv=$h(d$,0);var ew=$h((i,e)=>d$(i,e,iw(e)),0);function yh(i,e){let t=i.languageDataAt("commentTokens",e,1);return t.length?t[0]:{}}var rs=50;function tw(i,{open:e,close:t},n,r){let s=i.sliceDoc(n-rs,n),o=i.sliceDoc(r,r+rs),a=/\s*$/.exec(s)[0].length,l=/^\s*/.exec(o)[0].length,O=s.length-a;if(s.slice(O-e.length,O)==e&&o.slice(l,l+t.length)==t)return{open:{pos:n-a,margin:a&&1},close:{pos:r+l,margin:l&&1}};let c,h;r-n<=2*rs?c=h=i.sliceDoc(n,r):(c=i.sliceDoc(n,n+rs),h=i.sliceDoc(r-rs,r));let f=/^\s*/.exec(c)[0].length,u=/\s*$/.exec(h)[0].length,d=h.length-u-t.length;return c.slice(f,f+e.length)==e&&h.slice(d,d+t.length)==t?{open:{pos:n+f+e.length,margin:/\s/.test(c.charAt(f+e.length))?1:0},close:{pos:r-u-t.length,margin:/\s/.test(h.charAt(d-1))?1:0}}:null}function iw(i){let e=[];for(let t of i.selection.ranges){let n=i.doc.lineAt(t.from),r=t.to<=n.to?n:i.doc.lineAt(t.to);r.from>n.from&&r.from==t.to&&(r=t.to==n.to+1?n:i.doc.lineAt(t.to-1));let s=e.length-1;s>=0&&e[s].to>n.from?e[s].to=r.to:e.push({from:n.from+/^\s*/.exec(n.text)[0].length,to:r.to})}return e}function d$(i,e,t=e.selection.ranges){let n=t.map(s=>yh(e,s.from).block);if(!n.every(s=>s))return null;let r=t.map((s,o)=>tw(e,n[o],s.from,s.to));if(i!=2&&!r.every(s=>s))return{changes:e.changes(t.map((s,o)=>r[o]?[]:[{from:s.from,insert:n[o].open+" "},{from:s.to,insert:" "+n[o].close}]))};if(i!=1&&r.some(s=>s)){let s=[];for(let o=0,a;o<r.length;o++)if(a=r[o]){let l=n[o],{open:O,close:c}=a;s.push({from:O.pos-l.open.length,to:O.pos+O.margin},{from:c.pos-c.margin,to:c.pos+l.close.length})}return{changes:s}}return null}function nw(i,e,t=e.selection.ranges){let n=[],r=-1;for(let{from:s,to:o}of t){let a=n.length,l=1e9,O=yh(e,s).line;if(O){for(let c=s;c<=o;){let h=e.doc.lineAt(c);if(h.from>r&&(s==o||o>h.from)){r=h.from;let f=/^\s*/.exec(h.text)[0].length,u=f==h.length,d=h.text.slice(f,f+O.length)==O?f:-1;f<h.text.length&&f<l&&(l=f),n.push({line:h,comment:d,token:O,indent:f,empty:u,single:!1})}c=h.to+1}if(l<1e9)for(let c=a;c<n.length;c++)n[c].indent<n[c].line.text.length&&(n[c].indent=l);n.length==a+1&&(n[a].single=!0)}}if(i!=2&&n.some(s=>s.comment<0&&(!s.empty||s.single))){let s=[];for(let{line:a,token:l,indent:O,empty:c,single:h}of n)(h||!c)&&s.push({from:a.from+O,insert:l+" "});let o=e.changes(s);return{changes:o,selection:e.selection.map(o,1)}}else if(i!=1&&n.some(s=>s.comment>=0)){let s=[];for(let{line:o,comment:a,token:l}of n)if(a>=0){let O=o.from+a,c=O+l.length;o.text[c-o.from]==" "&&c++,s.push({from:O,to:c})}return{changes:s}}return null}var dh=De.define(),rw=De.define(),sw=X.define(),p$=X.define({combine(i){return Ze(i,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(n,r)=>e(n,r)||t(n,r)})}}),m$=ue.define({create(){return Ii.empty},update(i,e){let t=e.state.facet(p$),n=e.annotation(dh);if(n){let l=yt.fromTransaction(e,n.selection),O=n.side,c=O==0?i.undone:i.done;return l?c=$a(c,c.length,t.minDepth,l):c=Q$(c,e.startState.selection),new Ii(O==0?n.rest:c,O==0?c:n.rest)}let r=e.annotation(rw);if((r=="full"||r=="before")&&(i=i.isolate()),e.annotation(xe.addToHistory)===!1)return e.changes.empty?i:i.addMapping(e.changes.desc);let s=yt.fromTransaction(e),o=e.annotation(xe.time),a=e.annotation(xe.userEvent);return s?i=i.addChanges(s,o,a,t,e):e.selection&&(i=i.addSelection(e.startState.selection,o,a,t.newGroupDelay)),(r=="full"||r=="after")&&(i=i.isolate()),i},toJSON(i){return{done:i.done.map(e=>e.toJSON()),undone:i.undone.map(e=>e.toJSON())}},fromJSON(i){return new Ii(i.done.map(yt.fromJSON),i.undone.map(yt.fromJSON))}});function g$(i={}){return[m$,p$.of(i),T.domEventHandlers({beforeinput(e,t){let n=e.inputType=="historyUndo"?$$:e.inputType=="historyRedo"?ph:null;return n?(e.preventDefault(),n(t)):!1}})]}function ya(i,e){return function({state:t,dispatch:n}){if(!e&&t.readOnly)return!1;let r=t.field(m$,!1);if(!r)return!1;let s=r.pop(i,t,e);return s?(n(s),!0):!1}}var $$=ya(0,!1),ph=ya(1,!1),ow=ya(0,!0),aw=ya(1,!0);var yt=class i{constructor(e,t,n,r,s){this.changes=e,this.effects=t,this.mapped=n,this.startSelection=r,this.selectionsAfter=s}setSelAfter(e){return new i(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,n;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(t=this.mapped)===null||t===void 0?void 0:t.toJSON(),startSelection:(n=this.startSelection)===null||n===void 0?void 0:n.toJSON(),selectionsAfter:this.selectionsAfter.map(r=>r.toJSON())}}static fromJSON(e){return new i(e.changes&&Ae.fromJSON(e.changes),[],e.mapped&&Lt.fromJSON(e.mapped),e.startSelection&&P.fromJSON(e.startSelection),e.selectionsAfter.map(P.fromJSON))}static fromTransaction(e,t){let n=ft;for(let r of e.startState.facet(sw)){let s=r(e);s.length&&(n=n.concat(s))}return!n.length&&e.changes.empty?null:new i(e.changes.invert(e.startState.doc),n,void 0,t||e.startState.selection,ft)}static selection(e){return new i(void 0,ft,void 0,void 0,e)}};function $a(i,e,t,n){let r=e+1>t+20?e-t-1:0,s=i.slice(r,e);return s.push(n),s}function lw(i,e){let t=[],n=!1;return i.iterChangedRanges((r,s)=>t.push(r,s)),e.iterChangedRanges((r,s,o,a)=>{for(let l=0;l<t.length;){let O=t[l++],c=t[l++];a>=O&&o<=c&&(n=!0)}}),n}function Ow(i,e){return i.ranges.length==e.ranges.length&&i.ranges.filter((t,n)=>t.empty!=e.ranges[n].empty).length===0}function y$(i,e){return i.length?e.length?i.concat(e):i:e}var ft=[],cw=200;function Q$(i,e){if(i.length){let t=i[i.length-1],n=t.selectionsAfter.slice(Math.max(0,t.selectionsAfter.length-cw));return n.length&&n[n.length-1].eq(e)?i:(n.push(e),$a(i,i.length-1,1e9,t.setSelAfter(n)))}else return[yt.selection([e])]}function hw(i){let e=i[i.length-1],t=i.slice();return t[i.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),t}function uh(i,e){if(!i.length)return i;let t=i.length,n=ft;for(;t;){let r=fw(i[t-1],e,n);if(r.changes&&!r.changes.empty||r.effects.length){let s=i.slice(0,t);return s[t-1]=r,s}else e=r.mapped,t--,n=r.selectionsAfter}return n.length?[yt.selection(n)]:ft}function fw(i,e,t){let n=y$(i.selectionsAfter.length?i.selectionsAfter.map(a=>a.map(e)):ft,t);if(!i.changes)return yt.selection(n);let r=i.changes.map(e),s=e.mapDesc(i.changes,!0),o=i.mapped?i.mapped.composeDesc(s):s;return new yt(r,Z.mapEffects(i.effects,e),o,i.startSelection.map(s),n)}var uw=/^(input\.type|delete)($|\.)/,Ii=class i{constructor(e,t,n=0,r=void 0){this.done=e,this.undone=t,this.prevTime=n,this.prevUserEvent=r}isolate(){return this.prevTime?new i(this.done,this.undone):this}addChanges(e,t,n,r,s){let o=this.done,a=o[o.length-1];return a&&a.changes&&!a.changes.empty&&e.changes&&(!n||uw.test(n))&&(!a.selectionsAfter.length&&t-this.prevTime<r.newGroupDelay&&r.joinToEvent(s,lw(a.changes,e.changes))||n=="input.type.compose")?o=$a(o,o.length-1,r.minDepth,new yt(e.changes.compose(a.changes),y$(Z.mapEffects(e.effects,a.changes),a.effects),a.mapped,a.startSelection,ft)):o=$a(o,o.length,r.minDepth,e),new i(o,ft,t,n)}addSelection(e,t,n,r){let s=this.done.length?this.done[this.done.length-1].selectionsAfter:ft;return s.length>0&&t-this.prevTime<r&&n==this.prevUserEvent&&n&&/^select($|\.)/.test(n)&&Ow(s[s.length-1],e)?this:new i(Q$(this.done,e),this.undone,t,n)}addMapping(e){return new i(uh(this.done,e),uh(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,t,n){let r=e==0?this.done:this.undone;if(r.length==0)return null;let s=r[r.length-1],o=s.selectionsAfter[0]||t.selection;if(n&&s.selectionsAfter.length)return t.update({selection:s.selectionsAfter[s.selectionsAfter.length-1],annotations:dh.of({side:e,rest:hw(r),selection:o}),userEvent:e==0?"select.undo":"select.redo",scrollIntoView:!0});if(s.changes){let a=r.length==1?ft:r.slice(0,r.length-1);return s.mapped&&(a=uh(a,s.mapped)),t.update({changes:s.changes,selection:s.startSelection,effects:s.effects,annotations:dh.of({side:e,rest:a,selection:o}),filter:!1,userEvent:e==0?"undo":"redo",scrollIntoView:!0})}else return null}};Ii.empty=new Ii(ft,ft);var S$=[{key:"Mod-z",run:$$,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:ph,preventDefault:!0},{linux:"Ctrl-Shift-z",run:ph,preventDefault:!0},{key:"Mod-u",run:ow,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:aw,preventDefault:!0}];function Un(i,e){return P.create(i.ranges.map(e),i.mainIndex)}function Vt(i,e){return i.update({selection:e,scrollIntoView:!0,userEvent:"select"})}function Qt({state:i,dispatch:e},t){let n=Un(i.selection,t);return n.eq(i.selection,!0)?!1:(e(Vt(i,n)),!0)}function Qa(i,e){return P.cursor(e?i.to:i.from)}function b$(i,e){return Qt(i,t=>t.empty?i.moveByChar(t,e):Qa(t,e))}function Ve(i){return i.textDirectionAt(i.state.selection.main.head)==ne.LTR}var x$=i=>b$(i,!Ve(i)),v$=i=>b$(i,Ve(i));function w$(i,e){return Qt(i,t=>t.empty?i.moveByGroup(t,e):Qa(t,e))}var dw=i=>w$(i,!Ve(i)),pw=i=>w$(i,Ve(i));var _6=typeof Intl<"u"&&Intl.Segmenter?new Intl.Segmenter(void 0,{granularity:"word"}):null;function mw(i,e,t){if(e.type.prop(t))return!0;let n=e.to-e.from;return n&&(n>2||/[^\s,.;:]/.test(i.sliceDoc(e.from,e.to)))||e.firstChild}function Sa(i,e,t){let n=ae(i).resolveInner(e.head),r=t?j.closedBy:j.openedBy;for(let l=e.head;;){let O=t?n.childAfter(l):n.childBefore(l);if(!O)break;mw(i,O,r)?n=O:l=t?O.to:O.from}let s=n.type.prop(r),o,a;return s&&(o=t?$t(i,n.from,1):$t(i,n.to,-1))&&o.matched?a=t?o.end.to:o.end.from:a=t?n.to:n.from,P.cursor(a,t?-1:1)}var gw=i=>Qt(i,e=>Sa(i.state,e,!Ve(i))),$w=i=>Qt(i,e=>Sa(i.state,e,Ve(i)));function P$(i,e){return Qt(i,t=>{if(!t.empty)return Qa(t,e);let n=i.moveVertically(t,e);return n.head!=t.head?n:i.moveToLineBoundary(t,e)})}var k$=i=>P$(i,!1),T$=i=>P$(i,!0);function z$(i){let e=i.scrollDOM.clientHeight<i.scrollDOM.scrollHeight-2,t=0,n=0,r;if(e){for(let s of i.state.facet(T.scrollMargins)){let o=s(i);o?.top&&(t=Math.max(o?.top,t)),o?.bottom&&(n=Math.max(o?.bottom,n))}r=i.scrollDOM.clientHeight-t-n}else r=(i.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:t,marginBottom:n,selfScroll:e,height:Math.max(i.defaultLineHeight,r-5)}}function X$(i,e){let t=z$(i),{state:n}=i,r=Un(n.selection,o=>o.empty?i.moveVertically(o,e,t.height):Qa(o,e));if(r.eq(n.selection))return!1;let s;if(t.selfScroll){let o=i.coordsAtPos(n.selection.main.head),a=i.scrollDOM.getBoundingClientRect(),l=a.top+t.marginTop,O=a.bottom-t.marginBottom;o&&o.top>l&&o.bottom<O&&(s=T.scrollIntoView(r.main.head,{y:"start",yMargin:o.top-l}))}return i.dispatch(Vt(n,r),{effects:s}),!0}var o$=i=>X$(i,!1),mh=i=>X$(i,!0);function yi(i,e,t){let n=i.lineBlockAt(e.head),r=i.moveToLineBoundary(e,t);if(r.head==e.head&&r.head!=(t?n.to:n.from)&&(r=i.moveToLineBoundary(e,t,!1)),!t&&r.head==n.from&&n.length){let s=/^\s*/.exec(i.state.sliceDoc(n.from,Math.min(n.from+100,n.to)))[0].length;s&&e.head!=n.from+s&&(r=P.cursor(n.from+s))}return r}var yw=i=>Qt(i,e=>yi(i,e,!0)),Qw=i=>Qt(i,e=>yi(i,e,!1)),Sw=i=>Qt(i,e=>yi(i,e,!Ve(i))),bw=i=>Qt(i,e=>yi(i,e,Ve(i))),xw=i=>Qt(i,e=>P.cursor(i.lineBlockAt(e.head).from,1)),vw=i=>Qt(i,e=>P.cursor(i.lineBlockAt(e.head).to,-1));function ww(i,e,t){let n=!1,r=Un(i.selection,s=>{let o=$t(i,s.head,-1)||$t(i,s.head,1)||s.head>0&&$t(i,s.head-1,1)||s.head<i.doc.length&&$t(i,s.head+1,-1);if(!o||!o.end)return s;n=!0;let a=o.start.from==s.head?o.end.to:o.end.from;return t?P.range(s.anchor,a):P.cursor(a)});return n?(e(Vt(i,r)),!0):!1}var Pw=({state:i,dispatch:e})=>ww(i,e,!1);function ut(i,e){let t=Un(i.state.selection,n=>{let r=e(n);return P.range(n.anchor,r.head,r.goalColumn,r.bidiLevel||void 0)});return t.eq(i.state.selection)?!1:(i.dispatch(Vt(i.state,t)),!0)}function R$(i,e){return ut(i,t=>i.moveByChar(t,e))}var q$=i=>R$(i,!Ve(i)),_$=i=>R$(i,Ve(i));function C$(i,e){return ut(i,t=>i.moveByGroup(t,e))}var kw=i=>C$(i,!Ve(i)),Tw=i=>C$(i,Ve(i));var zw=i=>ut(i,e=>Sa(i.state,e,!Ve(i))),Xw=i=>ut(i,e=>Sa(i.state,e,Ve(i)));function W$(i,e){return ut(i,t=>i.moveVertically(t,e))}var Z$=i=>W$(i,!1),V$=i=>W$(i,!0);function A$(i,e){return ut(i,t=>i.moveVertically(t,e,z$(i).height))}var a$=i=>A$(i,!1),l$=i=>A$(i,!0),Rw=i=>ut(i,e=>yi(i,e,!0)),qw=i=>ut(i,e=>yi(i,e,!1)),_w=i=>ut(i,e=>yi(i,e,!Ve(i))),Cw=i=>ut(i,e=>yi(i,e,Ve(i))),Ww=i=>ut(i,e=>P.cursor(i.lineBlockAt(e.head).from)),Zw=i=>ut(i,e=>P.cursor(i.lineBlockAt(e.head).to)),O$=({state:i,dispatch:e})=>(e(Vt(i,{anchor:0})),!0),c$=({state:i,dispatch:e})=>(e(Vt(i,{anchor:i.doc.length})),!0),h$=({state:i,dispatch:e})=>(e(Vt(i,{anchor:i.selection.main.anchor,head:0})),!0),f$=({state:i,dispatch:e})=>(e(Vt(i,{anchor:i.selection.main.anchor,head:i.doc.length})),!0),Vw=({state:i,dispatch:e})=>(e(i.update({selection:{anchor:0,head:i.doc.length},userEvent:"select"})),!0),Aw=({state:i,dispatch:e})=>{let t=ba(i).map(({from:n,to:r})=>P.range(n,Math.min(r+1,i.doc.length)));return e(i.update({selection:P.create(t),userEvent:"select"})),!0},jw=({state:i,dispatch:e})=>{let t=Un(i.selection,n=>{let r=ae(i),s=r.resolveStack(n.from,1);if(n.empty){let o=r.resolveStack(n.from,-1);o.node.from>=s.node.from&&o.node.to<=s.node.to&&(s=o)}for(let o=s;o;o=o.next){let{node:a}=o;if((a.from<n.from&&a.to>=n.to||a.to>n.to&&a.from<=n.from)&&o.next)return P.range(a.to,a.from)}return n});return t.eq(i.selection)?!1:(e(Vt(i,t)),!0)},Yw=({state:i,dispatch:e})=>{let t=i.selection,n=null;return t.ranges.length>1?n=P.create([t.main]):t.main.empty||(n=P.create([P.cursor(t.main.head)])),n?(e(Vt(i,n)),!0):!1};function ss(i,e){if(i.state.readOnly)return!1;let t="delete.selection",{state:n}=i,r=n.changeByRange(s=>{let{from:o,to:a}=s;if(o==a){let l=e(s);l<o?(t="delete.backward",l=ga(i,l,!1)):l>o&&(t="delete.forward",l=ga(i,l,!0)),o=Math.min(o,l),a=Math.max(a,l)}else o=ga(i,o,!1),a=ga(i,a,!0);return o==a?{range:s}:{changes:{from:o,to:a},range:P.cursor(o,o<s.head?-1:1)}});return r.changes.empty?!1:(i.dispatch(n.update(r,{scrollIntoView:!0,userEvent:t,effects:t=="delete.selection"?T.announce.of(n.phrase("Selection deleted")):void 0})),!0)}function ga(i,e,t){if(i instanceof T)for(let n of i.state.facet(T.atomicRanges).map(r=>r(i)))n.between(e,e,(r,s)=>{r<e&&s>e&&(e=t?s:r)});return e}var j$=(i,e,t)=>ss(i,n=>{let r=n.from,{state:s}=i,o=s.doc.lineAt(r),a,l;if(t&&!e&&r>o.from&&r<o.from+200&&!/[^ \t]/.test(a=o.text.slice(0,r-o.from))){if(a[a.length-1]==" ")return r-1;let O=Gt(a,s.tabSize),c=O%is(s)||is(s);for(let h=0;h<c&&a[a.length-1-h]==" ";h++)r--;l=r}else l=ve(o.text,r-o.from,e,e)+o.from,l==r&&o.number!=(e?s.doc.lines:1)?l+=e?1:-1:!e&&/[\ufe00-\ufe0f]/.test(o.text.slice(l-o.from,r-o.from))&&(l=ve(o.text,l-o.from,!1,!1)+o.from);return l}),gh=i=>j$(i,!1,!0);var Y$=i=>j$(i,!0,!1),U$=(i,e)=>ss(i,t=>{let n=t.head,{state:r}=i,s=r.doc.lineAt(n),o=r.charCategorizer(n);for(let a=null;;){if(n==(e?s.to:s.from)){n==t.head&&s.number!=(e?r.doc.lines:1)&&(n+=e?1:-1);break}let l=ve(s.text,n-s.from,e)+s.from,O=s.text.slice(Math.min(n,l)-s.from,Math.max(n,l)-s.from),c=o(O);if(a!=null&&c!=a)break;(O!=" "||n!=t.head)&&(a=c),n=l}return n}),M$=i=>U$(i,!1),Uw=i=>U$(i,!0),Mw=i=>ss(i,e=>{let t=i.lineBlockAt(e.head).to;return e.head<t?t:Math.min(i.state.doc.length,e.head+1)});var Ew=i=>ss(i,e=>{let t=i.moveToLineBoundary(e,!1).head;return e.head>t?t:Math.max(0,e.head-1)}),Dw=i=>ss(i,e=>{let t=i.moveToLineBoundary(e,!0).head;return e.head<t?t:Math.min(i.state.doc.length,e.head+1)});var Lw=({state:i,dispatch:e})=>{if(i.readOnly)return!1;let t=i.changeByRange(n=>({changes:{from:n.from,to:n.to,insert:U.of(["",""])},range:P.cursor(n.from)}));return e(i.update(t,{scrollIntoView:!0,userEvent:"input"})),!0},Gw=({state:i,dispatch:e})=>{if(i.readOnly)return!1;let t=i.changeByRange(n=>{if(!n.empty||n.from==0||n.from==i.doc.length)return{range:n};let r=n.from,s=i.doc.lineAt(r),o=r==s.from?r-1:ve(s.text,r-s.from,!1)+s.from,a=r==s.to?r+1:ve(s.text,r-s.from,!0)+s.from;return{changes:{from:o,to:a,insert:i.doc.slice(r,a).append(i.doc.slice(o,r))},range:P.cursor(a)}});return t.changes.empty?!1:(e(i.update(t,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function ba(i){let e=[],t=-1;for(let n of i.selection.ranges){let r=i.doc.lineAt(n.from),s=i.doc.lineAt(n.to);if(!n.empty&&n.to==s.from&&(s=i.doc.lineAt(n.to-1)),t>=r.number){let o=e[e.length-1];o.to=s.to,o.ranges.push(n)}else e.push({from:r.from,to:s.to,ranges:[n]});t=s.number+1}return e}function E$(i,e,t){if(i.readOnly)return!1;let n=[],r=[];for(let s of ba(i)){if(t?s.to==i.doc.length:s.from==0)continue;let o=i.doc.lineAt(t?s.to+1:s.from-1),a=o.length+1;if(t){n.push({from:s.to,to:o.to},{from:s.from,insert:o.text+i.lineBreak});for(let l of s.ranges)r.push(P.range(Math.min(i.doc.length,l.anchor+a),Math.min(i.doc.length,l.head+a)))}else{n.push({from:o.from,to:s.from},{from:s.to,insert:i.lineBreak+o.text});for(let l of s.ranges)r.push(P.range(l.anchor-a,l.head-a))}}return n.length?(e(i.update({changes:n,scrollIntoView:!0,selection:P.create(r,i.selection.mainIndex),userEvent:"move.line"})),!0):!1}var Bw=({state:i,dispatch:e})=>E$(i,e,!1),Iw=({state:i,dispatch:e})=>E$(i,e,!0);function D$(i,e,t){if(i.readOnly)return!1;let n=[];for(let r of ba(i))t?n.push({from:r.from,insert:i.doc.slice(r.from,r.to)+i.lineBreak}):n.push({from:r.to,insert:i.lineBreak+i.doc.slice(r.from,r.to)});return e(i.update({changes:n,scrollIntoView:!0,userEvent:"input.copyline"})),!0}var Nw=({state:i,dispatch:e})=>D$(i,e,!1),Fw=({state:i,dispatch:e})=>D$(i,e,!0),Hw=i=>{if(i.state.readOnly)return!1;let{state:e}=i,t=e.changes(ba(e).map(({from:r,to:s})=>(r>0?r--:s<e.doc.length&&s++,{from:r,to:s}))),n=Un(e.selection,r=>{let s;if(i.lineWrapping){let o=i.lineBlockAt(r.head),a=i.coordsAtPos(r.head,r.assoc||1);a&&(s=o.bottom+i.documentTop-a.bottom+i.defaultLineHeight/2)}return i.moveVertically(r,!0,s)}).map(t);return i.dispatch({changes:t,selection:n,scrollIntoView:!0,userEvent:"delete.line"}),!0};function Kw(i,e){if(/\(\)|\[\]|\{\}/.test(i.sliceDoc(e-1,e+1)))return{from:e,to:e};let t=ae(i).resolveInner(e),n=t.childBefore(e),r=t.childAfter(e),s;return n&&r&&n.to<=e&&r.from>=e&&(s=n.type.prop(j.closedBy))&&s.indexOf(r.name)>-1&&i.doc.lineAt(n.to).from==i.doc.lineAt(r.from).from&&!/\S/.test(i.sliceDoc(n.to,r.from))?{from:n.to,to:r.from}:null}var u$=L$(!1),Jw=L$(!0);function L$(i){return({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(r=>{let{from:s,to:o}=r,a=e.doc.lineAt(s),l=!i&&s==o&&Kw(e,s);i&&(s=o=(o<=a.to?a:e.doc.lineAt(o)).to);let O=new Gi(e,{simulateBreak:s,simulateDoubleBreak:!!l}),c=da(O,s);for(c==null&&(c=Gt(/^\s*/.exec(e.doc.lineAt(s).text)[0],e.tabSize));o<a.to&&/\s/.test(a.text[o-a.from]);)o++;l?{from:s,to:o}=l:s>a.from&&s<a.from+100&&!/\S/.test(a.text.slice(0,s))&&(s=a.from);let h=["",jn(e,c)];return l&&h.push(jn(e,O.lineIndent(a.from,-1))),{changes:{from:s,to:o,insert:U.of(h)},range:P.cursor(s+1+h[1].length)}});return t(e.update(n,{scrollIntoView:!0,userEvent:"input"})),!0}}function Qh(i,e){let t=-1;return i.changeByRange(n=>{let r=[];for(let o=n.from;o<=n.to;){let a=i.doc.lineAt(o);a.number>t&&(n.empty||n.to>a.from)&&(e(a,r,n),t=a.number),o=a.to+1}let s=i.changes(r);return{changes:r,range:P.range(s.mapPos(n.anchor,1),s.mapPos(n.head,1))}})}var eP=({state:i,dispatch:e})=>{if(i.readOnly)return!1;let t=Object.create(null),n=new Gi(i,{overrideIndentation:s=>{let o=t[s];return o??-1}}),r=Qh(i,(s,o,a)=>{let l=da(n,s.from);if(l==null)return;/\S/.test(s.text)||(l=0);let O=/^\s*/.exec(s.text)[0],c=jn(i,l);(O!=c||a.from<s.from+O.length)&&(t[s.from]=l,o.push({from:s.from,to:s.from+O.length,insert:c}))});return r.changes.empty||e(i.update(r,{userEvent:"indent"})),!0},tP=({state:i,dispatch:e})=>i.readOnly?!1:(e(i.update(Qh(i,(t,n)=>{n.push({from:t.from,insert:i.facet(An)})}),{userEvent:"input.indent"})),!0),iP=({state:i,dispatch:e})=>i.readOnly?!1:(e(i.update(Qh(i,(t,n)=>{let r=/^\s*/.exec(t.text)[0];if(!r)return;let s=Gt(r,i.tabSize),o=0,a=jn(i,Math.max(0,s-is(i)));for(;o<r.length&&o<a.length&&r.charCodeAt(o)==a.charCodeAt(o);)o++;n.push({from:t.from+o,to:t.from+r.length,insert:a.slice(o)})}),{userEvent:"delete.dedent"})),!0),nP=i=>(i.setTabFocusMode(),!0);var rP=[{key:"Ctrl-b",run:x$,shift:q$,preventDefault:!0},{key:"Ctrl-f",run:v$,shift:_$},{key:"Ctrl-p",run:k$,shift:Z$},{key:"Ctrl-n",run:T$,shift:V$},{key:"Ctrl-a",run:xw,shift:Ww},{key:"Ctrl-e",run:vw,shift:Zw},{key:"Ctrl-d",run:Y$},{key:"Ctrl-h",run:gh},{key:"Ctrl-k",run:Mw},{key:"Ctrl-Alt-h",run:M$},{key:"Ctrl-o",run:Lw},{key:"Ctrl-t",run:Gw},{key:"Ctrl-v",run:mh}],sP=[{key:"ArrowLeft",run:x$,shift:q$,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:dw,shift:kw,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:Sw,shift:_w,preventDefault:!0},{key:"ArrowRight",run:v$,shift:_$,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:pw,shift:Tw,preventDefault:!0},{mac:"Cmd-ArrowRight",run:bw,shift:Cw,preventDefault:!0},{key:"ArrowUp",run:k$,shift:Z$,preventDefault:!0},{mac:"Cmd-ArrowUp",run:O$,shift:h$},{mac:"Ctrl-ArrowUp",run:o$,shift:a$},{key:"ArrowDown",run:T$,shift:V$,preventDefault:!0},{mac:"Cmd-ArrowDown",run:c$,shift:f$},{mac:"Ctrl-ArrowDown",run:mh,shift:l$},{key:"PageUp",run:o$,shift:a$},{key:"PageDown",run:mh,shift:l$},{key:"Home",run:Qw,shift:qw,preventDefault:!0},{key:"Mod-Home",run:O$,shift:h$},{key:"End",run:yw,shift:Rw,preventDefault:!0},{key:"Mod-End",run:c$,shift:f$},{key:"Enter",run:u$,shift:u$},{key:"Mod-a",run:Vw},{key:"Backspace",run:gh,shift:gh},{key:"Delete",run:Y$},{key:"Mod-Backspace",mac:"Alt-Backspace",run:M$},{key:"Mod-Delete",mac:"Alt-Delete",run:Uw},{mac:"Mod-Backspace",run:Ew},{mac:"Mod-Delete",run:Dw}].concat(rP.map(i=>({mac:i.key,run:i.run,shift:i.shift}))),G$=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:gw,shift:zw},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:$w,shift:Xw},{key:"Alt-ArrowUp",run:Bw},{key:"Shift-Alt-ArrowUp",run:Nw},{key:"Alt-ArrowDown",run:Iw},{key:"Shift-Alt-ArrowDown",run:Fw},{key:"Escape",run:Yw},{key:"Mod-Enter",run:Jw},{key:"Alt-l",mac:"Ctrl-l",run:Aw},{key:"Mod-i",run:jw,preventDefault:!0},{key:"Mod-[",run:iP},{key:"Mod-]",run:tP},{key:"Mod-Alt-\\",run:eP},{key:"Shift-Mod-k",run:Hw},{key:"Shift-Mod-\\",run:Pw},{key:"Mod-/",run:Hv},{key:"Alt-A",run:Jv},{key:"Ctrl-m",mac:"Shift-Alt-m",run:nP}].concat(sP);var B$=typeof String.prototype.normalize=="function"?i=>i.normalize("NFKD"):i=>i,Si=class{constructor(e,t,n=0,r=e.length,s,o){this.test=o,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(n,r),this.bufferStart=n,this.normalize=s?a=>s(B$(a)):B$,this.query=this.normalize(t)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return Xe(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let t=Pr(e),n=this.bufferStart+this.bufferPos;this.bufferPos+=Ke(e);let r=this.normalize(t);if(r.length)for(let s=0,o=n;;s++){let a=r.charCodeAt(s),l=this.match(a,o,this.bufferPos+this.bufferStart);if(s==r.length-1){if(l)return this.value=l,this;break}o==n&&s<t.length&&t.charCodeAt(s)==a&&o++}}}match(e,t,n){let r=null;for(let s=0;s<this.matches.length;s+=2){let o=this.matches[s],a=!1;this.query.charCodeAt(o)==e&&(o==this.query.length-1?r={from:this.matches[s+1],to:n}:(this.matches[s]++,a=!0)),a||(this.matches.splice(s,2),s-=2)}return this.query.charCodeAt(0)==e&&(this.query.length==1?r={from:t,to:n}:this.matches.push(1,t)),r&&this.test&&!this.test(r.from,r.to,this.buffer,this.bufferStart)&&(r=null),r}};typeof Symbol<"u"&&(Si.prototype[Symbol.iterator]=function(){return this});var H$={from:-1,to:-1,match:/.*/.exec("")},kh="gm"+(/x/.unicode==null?"":"u"),wa=class{constructor(e,t,n,r=0,s=e.length){if(this.text=e,this.to=s,this.curLine="",this.done=!1,this.value=H$,/\\[sWDnr]|\n|\r|\[\^/.test(t))return new ka(e,t,n,r,s);this.re=new RegExp(t,kh+(n?.ignoreCase?"i":"")),this.test=n?.test,this.iter=e.iter();let o=e.lineAt(r);this.curLineStart=o.from,this.matchPos=Ta(e,r),this.getLine(this.curLineStart)}getLine(e){this.iter.next(e),this.iter.lineBreak?this.curLine="":(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let t=this.matchPos<=this.to&&this.re.exec(this.curLine);if(t){let n=this.curLineStart+t.index,r=n+t[0].length;if(this.matchPos=Ta(this.text,r+(n==r?1:0)),n==this.curLineStart+this.curLine.length&&this.nextLine(),(n<r||n>this.value.to)&&(!this.test||this.test(n,r,t)))return this.value={from:n,to:r,match:t},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length<this.to)this.nextLine(),e=0;else return this.done=!0,this}}},Sh=new WeakMap,Pa=class i{constructor(e,t){this.from=e,this.text=t}get to(){return this.from+this.text.length}static get(e,t,n){let r=Sh.get(e);if(!r||r.from>=n||r.to<=t){let a=new i(t,e.sliceString(t,n));return Sh.set(e,a),a}if(r.from==t&&r.to==n)return r;let{text:s,from:o}=r;return o>t&&(s=e.sliceString(t,o)+s,o=t),r.to<n&&(s+=e.sliceString(r.to,n)),Sh.set(e,new i(o,s)),new i(t,s.slice(t-o,n-o))}},ka=class{constructor(e,t,n,r,s){this.text=e,this.to=s,this.done=!1,this.value=H$,this.matchPos=Ta(e,r),this.re=new RegExp(t,kh+(n?.ignoreCase?"i":"")),this.test=n?.test,this.flat=Pa.get(e,r,this.chunkEnd(r+5e3))}chunkEnd(e){return e>=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,t=this.re.exec(this.flat.text);if(t&&!t[0]&&t.index==e&&(this.re.lastIndex=e+1,t=this.re.exec(this.flat.text)),t){let n=this.flat.from+t.index,r=n+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(n,r,t)))return this.value={from:n,to:r,match:t},this.matchPos=Ta(this.text,r+(n==r?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=Pa.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}};typeof Symbol<"u"&&(wa.prototype[Symbol.iterator]=ka.prototype[Symbol.iterator]=function(){return this});function oP(i){try{return new RegExp(i,kh),!0}catch{return!1}}function Ta(i,e){if(e>=i.length)return e;let t=i.lineAt(e),n;for(;e<t.to&&(n=t.text.charCodeAt(e-t.from))>=56320&&n<57344;)e++;return e}function bh(i){let e=String(i.state.doc.lineAt(i.state.selection.main.head).number),t=B("input",{class:"cm-textfield",name:"line",value:e}),n=B("form",{class:"cm-gotoLine",onkeydown:s=>{s.keyCode==27?(s.preventDefault(),i.dispatch({effects:os.of(!1)}),i.focus()):s.keyCode==13&&(s.preventDefault(),r())},onsubmit:s=>{s.preventDefault(),r()}},B("label",i.state.phrase("Go to line"),": ",t)," ",B("button",{class:"cm-button",type:"submit"},i.state.phrase("go")),B("button",{name:"close",onclick:()=>{i.dispatch({effects:os.of(!1)}),i.focus()},"aria-label":i.state.phrase("close"),type:"button"},["\xD7"]));function r(){let s=/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(t.value);if(!s)return;let{state:o}=i,a=o.doc.lineAt(o.selection.main.head),[,l,O,c,h]=s,f=c?+c.slice(1):0,u=O?+O:a.number;if(O&&h){let m=u/100;l&&(m=m*(l=="-"?-1:1)+a.number/o.doc.lines),u=Math.round(o.doc.lines*m)}else O&&l&&(u=u*(l=="-"?-1:1)+a.number);let d=o.doc.line(Math.max(1,Math.min(o.doc.lines,u))),p=P.cursor(d.from+Math.max(0,Math.min(f,d.length)));i.dispatch({effects:[os.of(!1),T.scrollIntoView(p.from,{y:"center"})],selection:p}),i.focus()}return{dom:n}}var os=Z.define(),I$=ue.define({create(){return!0},update(i,e){for(let t of e.effects)t.is(os)&&(i=t.value);return i},provide:i=>Ui.from(i,e=>e?bh:null)}),aP=i=>{let e=Mi(i,bh);if(!e){let t=[os.of(!0)];i.state.field(I$,!1)==null&&t.push(Z.appendConfig.of([I$,lP])),i.dispatch({effects:t}),e=Mi(i,bh)}return e&&e.dom.querySelector("input").select(),!0},lP=T.baseTheme({".cm-panel.cm-gotoLine":{padding:"2px 6px 4px",position:"relative","& label":{fontSize:"80%"},"& [name=close]":{position:"absolute",top:"0",bottom:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:"0"}}}),OP={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},K$=X.define({combine(i){return Ze(i,OP,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})}});function J$(i){let e=[dP,uP];return i&&e.push(K$.of(i)),e}var cP=q.mark({class:"cm-selectionMatch"}),hP=q.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function N$(i,e,t,n){return(t==0||i(e.sliceDoc(t-1,t))!=ie.Word)&&(n==e.doc.length||i(e.sliceDoc(n,n+1))!=ie.Word)}function fP(i,e,t,n){return i(e.sliceDoc(t,t+1))==ie.Word&&i(e.sliceDoc(n-1,n))==ie.Word}var uP=me.fromClass(class{constructor(i){this.decorations=this.getDeco(i)}update(i){(i.selectionSet||i.docChanged||i.viewportChanged)&&(this.decorations=this.getDeco(i.view))}getDeco(i){let e=i.state.facet(K$),{state:t}=i,n=t.selection;if(n.ranges.length>1)return q.none;let r=n.main,s,o=null;if(r.empty){if(!e.highlightWordAroundCursor)return q.none;let l=t.wordAt(r.head);if(!l)return q.none;o=t.charCategorizer(r.head),s=t.sliceDoc(l.from,l.to)}else{let l=r.to-r.from;if(l<e.minSelectionLength||l>200)return q.none;if(e.wholeWords){if(s=t.sliceDoc(r.from,r.to),o=t.charCategorizer(r.head),!(N$(o,t,r.from,r.to)&&fP(o,t,r.from,r.to)))return q.none}else if(s=t.sliceDoc(r.from,r.to),!s)return q.none}let a=[];for(let l of i.visibleRanges){let O=new Si(t.doc,s,l.from,l.to);for(;!O.next().done;){let{from:c,to:h}=O.value;if((!o||N$(o,t,c,h))&&(r.empty&&c<=r.from&&h>=r.to?a.push(hP.range(c,h)):(c>=r.to||h<=r.from)&&a.push(cP.range(c,h)),a.length>e.maxMatches))return q.none}}return q.set(a)}},{decorations:i=>i.decorations}),dP=T.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),pP=({state:i,dispatch:e})=>{let{selection:t}=i,n=P.create(t.ranges.map(r=>i.wordAt(r.head)||P.cursor(r.head)),t.mainIndex);return n.eq(t)?!1:(e(i.update({selection:n})),!0)};function mP(i,e){let{main:t,ranges:n}=i.selection,r=i.wordAt(t.head),s=r&&r.from==t.from&&r.to==t.to;for(let o=!1,a=new Si(i.doc,e,n[n.length-1].to);;)if(a.next(),a.done){if(o)return null;a=new Si(i.doc,e,0,Math.max(0,n[n.length-1].from-1)),o=!0}else{if(o&&n.some(l=>l.from==a.value.from))continue;if(s){let l=i.wordAt(a.value.from);if(!l||l.from!=a.value.from||l.to!=a.value.to)continue}return a.value}}var gP=({state:i,dispatch:e})=>{let{ranges:t}=i.selection;if(t.some(s=>s.from===s.to))return pP({state:i,dispatch:e});let n=i.sliceDoc(t[0].from,t[0].to);if(i.selection.ranges.some(s=>i.sliceDoc(s.from,s.to)!=n))return!1;let r=mP(i,n);return r?(e(i.update({selection:i.selection.addRange(P.range(r.from,r.to),!1),effects:T.scrollIntoView(r.to)})),!0):!1},Dn=X.define({combine(i){return Ze(i,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new Ph(e),scrollToMatch:e=>T.scrollIntoView(e)})}});var za=class{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||oP(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(t,n)=>n=="n"?`62 `:n=="r"?"\r":n=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord}create(){return this.regexp?new vh(this):new xh(this)}getCursor(e,t=0,n){let r=e.doc?e:ee.create({doc:e});return n==null&&(n=r.doc.length),this.regexp?En(this,r,t,n):Mn(this,r,t,n)}},Xa=class{constructor(e){this.spec=e}};function Mn(i,e,t,n){return new Si(e.doc,i.unquoted,t,n,i.caseSensitive?void 0:r=>r.toLowerCase(),i.wholeWord?$P(e.doc,e.charCategorizer(e.selection.main.head)):void 0)}function $P(i,e){return(t,n,r,s)=>((s>t||s+r.length<n)&&(s=Math.max(0,t-2),r=i.sliceString(s,Math.min(i.length,n+2))),(e(Ra(r,t-s))!=ie.Word||e(qa(r,t-s))!=ie.Word)&&(e(qa(r,n-s))!=ie.Word||e(Ra(r,n-s))!=ie.Word))}var xh=class extends Xa{constructor(e){super(e)}nextMatch(e,t,n){let r=Mn(this.spec,e,n,e.doc.length).nextOverlapping();if(r.done){let s=Math.min(e.doc.length,t+this.spec.unquoted.length);r=Mn(this.spec,e,0,s).nextOverlapping()}return r.done||r.value.from==t&&r.value.to==n?null:r.value}prevMatchInRange(e,t,n){for(let r=n;;){let s=Math.max(t,r-1e4-this.spec.unquoted.length),o=Mn(this.spec,e,s,r),a=null;for(;!o.nextOverlapping().done;)a=o.value;if(a)return a;if(s==t)return null;r-=1e4}}prevMatch(e,t,n){let r=this.prevMatchInRange(e,0,t);return r||(r=this.prevMatchInRange(e,Math.max(0,n-this.spec.unquoted.length),e.doc.length)),r&&(r.from!=t||r.to!=n)?r:null}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,t){let n=Mn(this.spec,e,0,e.doc.length),r=[];for(;!n.next().done;){if(r.length>=t)return null;r.push(n.value)}return r}highlight(e,t,n,r){let s=Mn(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(n+this.spec.unquoted.length,e.doc.length));for(;!s.next().done;)r(s.value.from,s.value.to)}};function En(i,e,t,n){return new wa(e.doc,i.search,{ignoreCase:!i.caseSensitive,test:i.wholeWord?yP(e.charCategorizer(e.selection.main.head)):void 0},t,n)}function Ra(i,e){return i.slice(ve(i,e,!1),e)}function qa(i,e){return i.slice(e,ve(i,e))}function yP(i){return(e,t,n)=>!n[0].length||(i(Ra(n.input,n.index))!=ie.Word||i(qa(n.input,n.index))!=ie.Word)&&(i(qa(n.input,n.index+n[0].length))!=ie.Word||i(Ra(n.input,n.index+n[0].length))!=ie.Word)}var vh=class extends Xa{nextMatch(e,t,n){let r=En(this.spec,e,n,e.doc.length).next();return r.done&&(r=En(this.spec,e,0,t).next()),r.done?null:r.value}prevMatchInRange(e,t,n){for(let r=1;;r++){let s=Math.max(t,n-r*1e4),o=En(this.spec,e,s,n),a=null;for(;!o.next().done;)a=o.value;if(a&&(s==t||a.from>s+10))return a;if(s==t)return null}}prevMatch(e,t,n){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,n,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(t,n)=>{if(n=="&")return e.match[0];if(n=="$")return"$";for(let r=n.length;r>0;r--){let s=+n.slice(0,r);if(s>0&&s<e.match.length)return e.match[s]+n.slice(r)}return t})}matchAll(e,t){let n=En(this.spec,e,0,e.doc.length),r=[];for(;!n.next().done;){if(r.length>=t)return null;r.push(n.value)}return r}highlight(e,t,n,r){let s=En(this.spec,e,Math.max(0,t-250),Math.min(n+250,e.doc.length));for(;!s.next().done;)r(s.value.from,s.value.to)}},ls=Z.define(),Th=Z.define(),Qi=ue.define({create(i){return new as(wh(i).create(),null)},update(i,e){for(let t of e.effects)t.is(ls)?i=new as(t.value.create(),i.panel):t.is(Th)&&(i=new as(i.query,t.value?zh:null));return i},provide:i=>Ui.from(i,e=>e.panel)});var as=class{constructor(e,t){this.query=e,this.panel=t}},QP=q.mark({class:"cm-searchMatch"}),SP=q.mark({class:"cm-searchMatch cm-searchMatch-selected"}),bP=me.fromClass(class{constructor(i){this.view=i,this.decorations=this.highlight(i.state.field(Qi))}update(i){let e=i.state.field(Qi);(e!=i.startState.field(Qi)||i.docChanged||i.selectionSet||i.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:i,panel:e}){if(!e||!i.spec.valid)return q.none;let{view:t}=this,n=new He;for(let r=0,s=t.visibleRanges,o=s.length;r<o;r++){let{from:a,to:l}=s[r];for(;r<o-1&&l>s[r+1].from-2*250;)l=s[++r].to;i.highlight(t.state,a,l,(O,c)=>{let h=t.state.selection.ranges.some(f=>f.from==O&&f.to==c);n.add(O,c,h?SP:QP)})}return n.finish()}},{decorations:i=>i.decorations});function Os(i){return e=>{let t=e.state.field(Qi,!1);return t&&t.query.spec.valid?i(e,t):iy(e)}}var _a=Os((i,{query:e})=>{let{to:t}=i.state.selection.main,n=e.nextMatch(i.state,t,t);if(!n)return!1;let r=P.single(n.from,n.to),s=i.state.facet(Dn);return i.dispatch({selection:r,effects:[Xh(i,n),s.scrollToMatch(r.main,i)],userEvent:"select.search"}),ty(i),!0}),Ca=Os((i,{query:e})=>{let{state:t}=i,{from:n}=t.selection.main,r=e.prevMatch(t,n,n);if(!r)return!1;let s=P.single(r.from,r.to),o=i.state.facet(Dn);return i.dispatch({selection:s,effects:[Xh(i,r),o.scrollToMatch(s.main,i)],userEvent:"select.search"}),ty(i),!0}),xP=Os((i,{query:e})=>{let t=e.matchAll(i.state,1e3);return!t||!t.length?!1:(i.dispatch({selection:P.create(t.map(n=>P.range(n.from,n.to))),userEvent:"select.search.matches"}),!0)}),vP=({state:i,dispatch:e})=>{let t=i.selection;if(t.ranges.length>1||t.main.empty)return!1;let{from:n,to:r}=t.main,s=[],o=0;for(let a=new Si(i.doc,i.sliceDoc(n,r));!a.next().done;){if(s.length>1e3)return!1;a.value.from==n&&(o=s.length),s.push(P.range(a.value.from,a.value.to))}return e(i.update({selection:P.create(s,o),userEvent:"select.search.matches"})),!0},F$=Os((i,{query:e})=>{let{state:t}=i,{from:n,to:r}=t.selection.main;if(t.readOnly)return!1;let s=e.nextMatch(t,n,n);if(!s)return!1;let o=s,a=[],l,O,c=[];o.from==n&&o.to==r&&(O=t.toText(e.getReplacement(o)),a.push({from:o.from,to:o.to,insert:O}),o=e.nextMatch(t,o.from,o.to),c.push(T.announce.of(t.phrase("replaced match on line $",t.doc.lineAt(n).number)+".")));let h=i.state.changes(a);return o&&(l=P.single(o.from,o.to).map(h),c.push(Xh(i,o)),c.push(t.facet(Dn).scrollToMatch(l.main,i))),i.dispatch({changes:h,selection:l,effects:c,userEvent:"input.replace"}),!0}),wP=Os((i,{query:e})=>{if(i.state.readOnly)return!1;let t=e.matchAll(i.state,1e9).map(r=>{let{from:s,to:o}=r;return{from:s,to:o,insert:e.getReplacement(r)}});if(!t.length)return!1;let n=i.state.phrase("replaced $ matches",t.length)+".";return i.dispatch({changes:t,effects:T.announce.of(n),userEvent:"input.replace.all"}),!0});function zh(i){return i.state.facet(Dn).createPanel(i)}function wh(i,e){var t,n,r,s,o;let a=i.selection.main,l=a.empty||a.to>a.from+100?"":i.sliceDoc(a.from,a.to);if(e&&!l)return e;let O=i.facet(Dn);return new za({search:((t=e?.literal)!==null&&t!==void 0?t:O.literal)?l:l.replace(/\n/g,"\\n"),caseSensitive:(n=e?.caseSensitive)!==null&&n!==void 0?n:O.caseSensitive,literal:(r=e?.literal)!==null&&r!==void 0?r:O.literal,regexp:(s=e?.regexp)!==null&&s!==void 0?s:O.regexp,wholeWord:(o=e?.wholeWord)!==null&&o!==void 0?o:O.wholeWord})}function ey(i){let e=Mi(i,zh);return e&&e.dom.querySelector("[main-field]")}function ty(i){let e=ey(i);e&&e==i.root.activeElement&&e.select()}var iy=i=>{let e=i.state.field(Qi,!1);if(e&&e.panel){let t=ey(i);if(t&&t!=i.root.activeElement){let n=wh(i.state,e.query.spec);n.valid&&i.dispatch({effects:ls.of(n)}),t.focus(),t.select()}}else i.dispatch({effects:[Th.of(!0),e?ls.of(wh(i.state,e.query.spec)):Z.appendConfig.of(kP)]});return!0},ny=i=>{let e=i.state.field(Qi,!1);if(!e||!e.panel)return!1;let t=Mi(i,zh);return t&&t.dom.contains(i.root.activeElement)&&i.focus(),i.dispatch({effects:Th.of(!1)}),!0},ry=[{key:"Mod-f",run:iy,scope:"editor search-panel"},{key:"F3",run:_a,shift:Ca,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:_a,shift:Ca,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:ny,scope:"editor search-panel"},{key:"Mod-Shift-l",run:vP},{key:"Mod-Alt-g",run:aP},{key:"Mod-d",run:gP,preventDefault:!0}],Ph=class{constructor(e){this.view=e;let t=this.query=e.state.field(Qi).query.spec;this.commit=this.commit.bind(this),this.searchField=B("input",{value:t.search,placeholder:it(e,"Find"),"aria-label":it(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=B("input",{value:t.replace,placeholder:it(e,"Replace"),"aria-label":it(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=B("input",{type:"checkbox",name:"case",form:"",checked:t.caseSensitive,onchange:this.commit}),this.reField=B("input",{type:"checkbox",name:"re",form:"",checked:t.regexp,onchange:this.commit}),this.wordField=B("input",{type:"checkbox",name:"word",form:"",checked:t.wholeWord,onchange:this.commit});function n(r,s,o){return B("button",{class:"cm-button",name:r,onclick:s,type:"button"},o)}this.dom=B("div",{onkeydown:r=>this.keydown(r),class:"cm-search"},[this.searchField,n("next",()=>_a(e),[it(e,"next")]),n("prev",()=>Ca(e),[it(e,"previous")]),n("select",()=>xP(e),[it(e,"all")]),B("label",null,[this.caseField,it(e,"match case")]),B("label",null,[this.reField,it(e,"regexp")]),B("label",null,[this.wordField,it(e,"by word")]),...e.state.readOnly?[]:[B("br"),this.replaceField,n("replace",()=>F$(e),[it(e,"replace")]),n("replaceAll",()=>wP(e),[it(e,"replace all")])],B("button",{name:"close",onclick:()=>ny(e),"aria-label":it(e,"close"),type:"button"},["\xD7"])])}commit(){let e=new za({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:ls.of(e)}))}keydown(e){ng(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?Ca:_a)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),F$(this.view))}update(e){for(let t of e.transactions)for(let n of t.effects)n.is(ls)&&!n.value.eq(this.query)&&this.setQuery(n.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(Dn).top}};function it(i,e){return i.state.phrase(e)}var xa=30,va=/[\s\.,:;?!]/;function Xh(i,{from:e,to:t}){let n=i.state.doc.lineAt(e),r=i.state.doc.lineAt(t).to,s=Math.max(n.from,e-xa),o=Math.min(r,t+xa),a=i.state.sliceDoc(s,o);if(s!=n.from){for(let l=0;l<xa;l++)if(!va.test(a[l+1])&&va.test(a[l])){a=a.slice(l);break}}if(o!=r){for(let l=a.length-1;l>a.length-xa;l--)if(!va.test(a[l-1])&&va.test(a[l])){a=a.slice(0,l);break}}return T.announce.of(`${i.state.phrase("current match")}. ${a} ${i.state.phrase("on line")} ${n.number}.`)}var PP=T.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),kP=[Qi,lt.low(bP),PP];var Za=class{constructor(e,t,n,r){this.state=e,this.pos=t,this.explicit=n,this.view=r,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let t=ae(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),n=Math.max(t.from,this.pos-250),r=t.text.slice(n-t.from,this.pos-t.from),s=r.search(py(e,!1));return s<0?null:{from:n+s,to:this.pos,text:r.slice(s)}}get aborted(){return this.abortListeners==null}addEventListener(e,t,n){e=="abort"&&this.abortListeners&&(this.abortListeners.push(t),n&&n.onDocChange&&(this.abortOnDocChange=!0))}};function sy(i){let e=Object.keys(i).join(""),t=/\w/.test(e);return t&&(e=e.replace(/\w/g,"")),`[${t?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function TP(i){let e=Object.create(null),t=Object.create(null);for(let{label:r}of i){e[r[0]]=!0;for(let s=1;s<r.length;s++)t[r[s]]=!0}let n=sy(e)+sy(t)+"*$";return[new RegExp("^"+n),new RegExp(n)]}function Mh(i){let e=i.map(r=>typeof r=="string"?{label:r}:r),[t,n]=e.every(r=>/^\w+$/.test(r.label))?[/\w*$/,/\w+$/]:TP(e);return r=>{let s=r.matchBefore(n);return s||r.explicit?{from:s?s.from:r.pos,options:e,validFor:t}:null}}function dy(i,e){return t=>{for(let n=ae(t.state).resolveInner(t.pos,-1);n;n=n.parent){if(i.indexOf(n.name)>-1)return null;if(n.type.isTop)break}return e(t)}}var Va=class{constructor(e,t,n,r){this.completion=e,this.source=t,this.match=n,this.score=r}};function Fi(i){return i.selection.main.from}function py(i,e){var t;let{source:n}=i,r=e&&n[0]!="^",s=n[n.length-1]!="$";return!r&&!s?i:new RegExp(`${r?"^":""}(?:${n})${s?"$":""}`,(t=i.flags)!==null&&t!==void 0?t:i.ignoreCase?"i":"")}var Eh=De.define();function zP(i,e,t,n){let{main:r}=i.selection,s=t-r.from,o=n-r.from;return Object.assign(Object.assign({},i.changeByRange(a=>{if(a!=r&&t!=n&&i.sliceDoc(a.from+s,a.from+o)!=i.sliceDoc(t,n))return{range:a};let l=i.toText(e);return{changes:{from:a.from+s,to:n==r.from?a.to:a.from+o,insert:l},range:P.cursor(a.from+s+l.length)}})),{scrollIntoView:!0,userEvent:"input.complete"})}var oy=new WeakMap;function XP(i){if(!Array.isArray(i))return i;let e=oy.get(i);return e||oy.set(i,e=Mh(i)),e}var Aa=Z.define(),cs=Z.define(),_h=class{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let t=0;t<e.length;){let n=Xe(e,t),r=Ke(n);this.chars.push(n);let s=e.slice(t,t+r),o=s.toUpperCase();this.folded.push(Xe(o==s?s.toLowerCase():o,0)),t+=r}this.astral=e.length!=this.chars.length}ret(e,t){return this.score=e,this.matched=t,this}match(e){if(this.pattern.length==0)return this.ret(-100,[]);if(e.length<this.pattern.length)return null;let{chars:t,folded:n,any:r,precise:s,byWord:o}=this;if(t.length==1){let y=Xe(e,0),S=Ke(y),x=S==e.length?0:-100;if(y!=t[0])if(y==n[0])x+=-200;else return null;return this.ret(x,[0,S])}let a=e.indexOf(this.pattern);if(a==0)return this.ret(e.length==this.pattern.length?0:-100,[0,this.pattern.length]);let l=t.length,O=0;if(a<0){for(let y=0,S=Math.min(e.length,200);y<S&&O<l;){let x=Xe(e,y);(x==t[O]||x==n[O])&&(r[O++]=y),y+=Ke(x)}if(O<l)return null}let c=0,h=0,f=!1,u=0,d=-1,p=-1,m=/[a-z]/.test(e),g=!0;for(let y=0,S=Math.min(e.length,200),x=0;y<S&&h<l;){let b=Xe(e,y);a<0&&(c<l&&b==t[c]&&(s[c++]=y),u<l&&(b==t[u]||b==n[u]?(u==0&&(d=y),p=y+1,u++):u=0));let v,Q=b<255?b>=48&&b<=57||b>=97&&b<=122?2:b>=65&&b<=90?1:0:(v=Pr(b))!=v.toLowerCase()?1:v!=v.toUpperCase()?2:0;(!y||Q==1&&m||x==0&&Q!=0)&&(t[h]==b||n[h]==b&&(f=!0)?o[h++]=y:o.length&&(g=!1)),x=Q,y+=Ke(b)}return h==l&&o[0]==0&&g?this.result(-100+(f?-200:0),o,e):u==l&&d==0?this.ret(-200-e.length+(p==e.length?0:-100),[0,p]):a>-1?this.ret(-700-e.length,[a,a+this.pattern.length]):u==l?this.ret(-900-e.length,[d,p]):h==l?this.result(-100+(f?-200:0)+-700+(g?0:-1100),o,e):t.length==2?null:this.result((r[0]?-700:0)+-200+-1100,r,e)}result(e,t,n){let r=[],s=0;for(let o of t){let a=o+(this.astral?Ke(Xe(n,o)):1);s&&r[s-1]==o?r[s-1]=a:(r[s++]=o,r[s++]=a)}return this.ret(e-n.length,r)}},Ch=class{constructor(e){this.pattern=e,this.matched=[],this.score=0,this.folded=e.toLowerCase()}match(e){if(e.length<this.pattern.length)return null;let t=e.slice(0,this.pattern.length),n=t==this.pattern?0:t.toLowerCase()==this.folded?-200:null;return n==null?null:(this.matched=[0,t.length],this.score=n+(e.length==this.pattern.length?0:-100),this)}},ke=X.define({combine(i){return Ze(i,{activateOnTyping:!0,activateOnCompletion:()=>!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:RP,filterStrict:!1,compareCompletions:(e,t)=>e.label.localeCompare(t.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,t)=>e&&t,closeOnBlur:(e,t)=>e&&t,icons:(e,t)=>e&&t,tooltipClass:(e,t)=>n=>ay(e(n),t(n)),optionClass:(e,t)=>n=>ay(e(n),t(n)),addToOptions:(e,t)=>e.concat(t),filterStrict:(e,t)=>e||t})}});function ay(i,e){return i?e?i+" "+e:i:e}function RP(i,e,t,n,r,s){let o=i.textDirection==ne.RTL,a=o,l=!1,O="top",c,h,f=e.left-r.left,u=r.right-e.right,d=n.right-n.left,p=n.bottom-n.top;if(a&&f<Math.min(d,u)?a=!1:!a&&u<Math.min(d,f)&&(a=!0),d<=(a?f:u))c=Math.max(r.top,Math.min(t.top,r.bottom-p))-e.top,h=Math.min(400,a?f:u);else{l=!0,h=Math.min(400,(o?e.right:r.right-e.left)-30);let y=r.bottom-e.bottom;y>=p||y>e.top?c=t.bottom-e.top:(O="bottom",c=e.bottom-t.top)}let m=(e.bottom-e.top)/s.offsetHeight,g=(e.right-e.left)/s.offsetWidth;return{style:`${O}: ${c/m}px; max-width: ${h/g}px`,class:"cm-completionInfo-"+(l?o?"left-narrow":"right-narrow":a?"left":"right")}}function qP(i){let e=i.addToOptions.slice();return i.icons&&e.push({render(t){let n=document.createElement("div");return n.classList.add("cm-completionIcon"),t.type&&n.classList.add(...t.type.split(/\s+/g).map(r=>"cm-completionIcon-"+r)),n.setAttribute("aria-hidden","true"),n},position:20}),e.push({render(t,n,r,s){let o=document.createElement("span");o.className="cm-completionLabel";let a=t.displayLabel||t.label,l=0;for(let O=0;O<s.length;){let c=s[O++],h=s[O++];c>l&&o.appendChild(document.createTextNode(a.slice(l,c)));let f=o.appendChild(document.createElement("span"));f.appendChild(document.createTextNode(a.slice(c,h))),f.className="cm-completionMatchedText",l=h}return l<a.length&&o.appendChild(document.createTextNode(a.slice(l))),o},position:50},{render(t){if(!t.detail)return null;let n=document.createElement("span");return n.className="cm-completionDetail",n.textContent=t.detail,n},position:80}),e.sort((t,n)=>t.position-n.position).map(t=>t.render)}function Rh(i,e,t){if(i<=t)return{from:0,to:i};if(e<0&&(e=0),e<=i>>1){let r=Math.floor(e/t);return{from:r*t,to:(r+1)*t}}let n=Math.floor((i-e)/t);return{from:i-(n+1)*t,to:i-n*t}}var Wh=class{constructor(e,t,n){this.view=e,this.stateField=t,this.applyCompletion=n,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:l=>this.placeInfo(l),key:this},this.space=null,this.currentClass="";let r=e.state.field(t),{options:s,selected:o}=r.open,a=e.state.facet(ke);this.optionContent=qP(a),this.optionClass=a.optionClass,this.tooltipClass=a.tooltipClass,this.range=Rh(s.length,o,a.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",l=>{let{options:O}=e.state.field(t).open;for(let c=l.target,h;c&&c!=this.dom;c=c.parentNode)if(c.nodeName=="LI"&&(h=/-(\d+)$/.exec(c.id))&&+h[1]<O.length){this.applyCompletion(e,O[+h[1]]),l.preventDefault();return}}),this.dom.addEventListener("focusout",l=>{let O=e.state.field(this.stateField,!1);O&&O.tooltip&&e.state.facet(ke).closeOnBlur&&l.relatedTarget!=e.contentDOM&&e.dispatch({effects:cs.of(null)})}),this.showOptions(s,r.id)}mount(){this.updateSel()}showOptions(e,t){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,t,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(e){var t;let n=e.state.field(this.stateField),r=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),n!=r){let{options:s,selected:o,disabled:a}=n.open;(!r.open||r.open.options!=s)&&(this.range=Rh(s.length,o,e.state.facet(ke).maxRenderedOptions),this.showOptions(s,n.id)),this.updateSel(),a!=((t=r.open)===null||t===void 0?void 0:t.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!a)}}updateTooltipClass(e){let t=this.tooltipClass(e);if(t!=this.currentClass){for(let n of this.currentClass.split(" "))n&&this.dom.classList.remove(n);for(let n of t.split(" "))n&&this.dom.classList.add(n);this.currentClass=t}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),t=e.open;if((t.selected>-1&&t.selected<this.range.from||t.selected>=this.range.to)&&(this.range=Rh(t.options.length,t.selected,this.view.state.facet(ke).maxRenderedOptions),this.showOptions(t.options,e.id)),this.updateSelectedOption(t.selected)){this.destroyInfo();let{completion:n}=t.options[t.selected],{info:r}=n;if(!r)return;let s=typeof r=="string"?document.createTextNode(r):r(n);if(!s)return;"then"in s?s.then(o=>{o&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(o,n)}).catch(o=>qe(this.view.state,o,"completion info")):this.addInfoPane(s,n)}}addInfoPane(e,t){this.destroyInfo();let n=this.info=document.createElement("div");if(n.className="cm-tooltip cm-completionInfo",e.nodeType!=null)n.appendChild(e),this.infoDestroy=null;else{let{dom:r,destroy:s}=e;n.appendChild(r),this.infoDestroy=s||null}this.dom.appendChild(n),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let t=null;for(let n=this.list.firstChild,r=this.range.from;n;n=n.nextSibling,r++)n.nodeName!="LI"||!n.id?r--:r==e?n.hasAttribute("aria-selected")||(n.setAttribute("aria-selected","true"),t=n):n.hasAttribute("aria-selected")&&n.removeAttribute("aria-selected");return t&&CP(this.list,t),t}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let t=this.dom.getBoundingClientRect(),n=this.info.getBoundingClientRect(),r=e.getBoundingClientRect(),s=this.space;if(!s){let o=this.dom.ownerDocument.documentElement;s={left:0,top:0,right:o.clientWidth,bottom:o.clientHeight}}return r.top>Math.min(s.bottom,t.bottom)-10||r.bottom<Math.max(s.top,t.top)+10?null:this.view.state.facet(ke).positionInfo(this.view,t,r,n,s,this.dom)}placeInfo(e){this.info&&(e?(e.style&&(this.info.style.cssText=e.style),this.info.className="cm-tooltip cm-completionInfo "+(e.class||"")):this.info.style.cssText="top: -1e6px")}createListBox(e,t,n){let r=document.createElement("ul");r.id=t,r.setAttribute("role","listbox"),r.setAttribute("aria-expanded","true"),r.setAttribute("aria-label",this.view.state.phrase("Completions")),r.addEventListener("mousedown",o=>{o.target==r&&o.preventDefault()});let s=null;for(let o=n.from;o<n.to;o++){let{completion:a,match:l}=e[o],{section:O}=a;if(O){let f=typeof O=="string"?O:O.name;if(f!=s&&(o>n.from||n.from==0))if(s=f,typeof O!="string"&&O.header)r.appendChild(O.header(O));else{let u=r.appendChild(document.createElement("completion-section"));u.textContent=f}}let c=r.appendChild(document.createElement("li"));c.id=t+"-"+o,c.setAttribute("role","option");let h=this.optionClass(a);h&&(c.className=h);for(let f of this.optionContent){let u=f(a,this.view.state,this.view,l);u&&c.appendChild(u)}}return n.from&&r.classList.add("cm-completionListIncompleteTop"),n.to<e.length&&r.classList.add("cm-completionListIncompleteBottom"),r}destroyInfo(){this.info&&(this.infoDestroy&&this.infoDestroy(),this.info.remove(),this.info=null)}destroy(){this.destroyInfo()}};function _P(i,e){return t=>new Wh(t,i,e)}function CP(i,e){let t=i.getBoundingClientRect(),n=e.getBoundingClientRect(),r=t.height/i.offsetHeight;n.top<t.top?i.scrollTop-=(t.top-n.top)/r:n.bottom>t.bottom&&(i.scrollTop+=(n.bottom-t.bottom)/r)}function ly(i){return(i.boost||0)*100+(i.apply?10:0)+(i.info?5:0)+(i.type?1:0)}function WP(i,e){let t=[],n=null,r=O=>{t.push(O);let{section:c}=O.completion;if(c){n||(n=[]);let h=typeof c=="string"?c:c.name;n.some(f=>f.name==h)||n.push(typeof c=="string"?{name:h}:c)}},s=e.facet(ke);for(let O of i)if(O.hasResult()){let c=O.result.getMatch;if(O.result.filter===!1)for(let h of O.result.options)r(new Va(h,O.source,c?c(h):[],1e9-t.length));else{let h=e.sliceDoc(O.from,O.to),f,u=s.filterStrict?new Ch(h):new _h(h);for(let d of O.result.options)if(f=u.match(d.label)){let p=d.displayLabel?c?c(d,f.matched):[]:f.matched;r(new Va(d,O.source,p,f.score+(d.boost||0)))}}}if(n){let O=Object.create(null),c=0,h=(f,u)=>{var d,p;return((d=f.rank)!==null&&d!==void 0?d:1e9)-((p=u.rank)!==null&&p!==void 0?p:1e9)||(f.name<u.name?-1:1)};for(let f of n.sort(h))c-=1e5,O[f.name]=c;for(let f of t){let{section:u}=f.completion;u&&(f.score+=O[typeof u=="string"?u:u.name])}}let o=[],a=null,l=s.compareCompletions;for(let O of t.sort((c,h)=>h.score-c.score||l(c.completion,h.completion))){let c=O.completion;!a||a.label!=c.label||a.detail!=c.detail||a.type!=null&&c.type!=null&&a.type!=c.type||a.apply!=c.apply||a.boost!=c.boost?o.push(O):ly(O.completion)>ly(a)&&(o[o.length-1]=O),a=O.completion}return o}var Zh=class i{constructor(e,t,n,r,s,o){this.options=e,this.attrs=t,this.tooltip=n,this.timestamp=r,this.selected=s,this.disabled=o}setSelected(e,t){return e==this.selected||e>=this.options.length?this:new i(this.options,Oy(t,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,t,n,r,s,o){if(r&&!o&&e.some(O=>O.isPending))return r.setDisabled();let a=WP(e,t);if(!a.length)return r&&e.some(O=>O.isPending)?r.setDisabled():null;let l=t.facet(ke).selectOnOpen?0:-1;if(r&&r.selected!=l&&r.selected!=-1){let O=r.options[r.selected].completion;for(let c=0;c<a.length;c++)if(a[c].completion==O){l=c;break}}return new i(a,Oy(n,l),{pos:e.reduce((O,c)=>c.hasResult()?Math.min(O,c.from):O,1e8),create:UP,above:s.aboveCursor},r?r.timestamp:Date.now(),l,!1)}map(e){return new i(this.options,this.attrs,Object.assign(Object.assign({},this.tooltip),{pos:e.mapPos(this.tooltip.pos)}),this.timestamp,this.selected,this.disabled)}setDisabled(){return new i(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}},Vh=class i{constructor(e,t,n){this.active=e,this.id=t,this.open=n}static start(){return new i(jP,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(e){let{state:t}=e,n=t.facet(ke),s=(n.override||t.languageDataAt("autocomplete",Fi(t)).map(XP)).map(l=>(this.active.find(c=>c.source==l)||new Kt(l,this.active.some(c=>c.state!=0)?1:0)).update(e,n));s.length==this.active.length&&s.every((l,O)=>l==this.active[O])&&(s=this.active);let o=this.open,a=e.effects.some(l=>l.is(Dh));o&&e.docChanged&&(o=o.map(e.changes)),e.selection||s.some(l=>l.hasResult()&&e.changes.touchesRange(l.from,l.to))||!ZP(s,this.active)||a?o=Zh.build(s,t,this.id,o,n,a):o&&o.disabled&&!s.some(l=>l.isPending)&&(o=null),!o&&s.every(l=>!l.isPending)&&s.some(l=>l.hasResult())&&(s=s.map(l=>l.hasResult()?new Kt(l.source,0):l));for(let l of e.effects)l.is(gy)&&(o=o&&o.setSelected(l.value,this.id));return s==this.active&&o==this.open?this:new i(s,this.id,o)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?VP:AP}};function ZP(i,e){if(i==e)return!0;for(let t=0,n=0;;){for(;t<i.length&&!i[t].hasResult();)t++;for(;n<e.length&&!e[n].hasResult();)n++;let r=t==i.length,s=n==e.length;if(r||s)return r==s;if(i[t++].result!=e[n++].result)return!1}}var VP={"aria-autocomplete":"list"},AP={};function Oy(i,e){let t={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":i};return e>-1&&(t["aria-activedescendant"]=i+"-"+e),t}var jP=[];function my(i,e){if(i.isUserEvent("input.complete")){let n=i.annotation(Eh);if(n&&e.activateOnCompletion(n))return 12}let t=i.isUserEvent("input.type");return t&&e.activateOnTyping?5:t?1:i.isUserEvent("delete.backward")?2:i.selection?8:i.docChanged?16:0}var Kt=class i{constructor(e,t,n=!1){this.source=e,this.state=t,this.explicit=n}hasResult(){return!1}get isPending(){return this.state==1}update(e,t){let n=my(e,t),r=this;(n&8||n&16&&this.touches(e))&&(r=new i(r.source,0)),n&4&&r.state==0&&(r=new i(this.source,1)),r=r.updateFor(e,n);for(let s of e.effects)if(s.is(Aa))r=new i(r.source,1,s.value);else if(s.is(cs))r=new i(r.source,0);else if(s.is(Dh))for(let o of s.value)o.source==r.source&&(r=o);return r}updateFor(e,t){return this.map(e.changes)}map(e){return this}touches(e){return e.changes.touchesRange(Fi(e.state))}},ja=class i extends Kt{constructor(e,t,n,r,s,o){super(e,3,t),this.limit=n,this.result=r,this.from=s,this.to=o}hasResult(){return!0}updateFor(e,t){var n;if(!(t&3))return this.map(e.changes);let r=this.result;r.map&&!e.changes.empty&&(r=r.map(r,e.changes));let s=e.changes.mapPos(this.from),o=e.changes.mapPos(this.to,1),a=Fi(e.state);if(a>o||!r||t&2&&(Fi(e.startState)==this.from||a<this.limit))return new Kt(this.source,t&4?1:0);let l=e.changes.mapPos(this.limit);return YP(r.validFor,e.state,s,o)?new i(this.source,this.explicit,l,r,s,o):r.update&&(r=r.update(r,s,o,new Za(e.state,a,!1)))?new i(this.source,this.explicit,l,r,r.from,(n=r.to)!==null&&n!==void 0?n:Fi(e.state)):new Kt(this.source,1,this.explicit)}map(e){return e.empty?this:(this.result.map?this.result.map(this.result,e):this.result)?new i(this.source,this.explicit,e.mapPos(this.limit),this.result,e.mapPos(this.from),e.mapPos(this.to,1)):new Kt(this.source,0)}touches(e){return e.changes.touchesRange(this.from,this.to)}};function YP(i,e,t,n){if(!i)return!1;let r=e.sliceDoc(t,n);return typeof i=="function"?i(r,t,n,e):py(i,!0).test(r)}var Dh=Z.define({map(i,e){return i.map(t=>t.map(e))}}),gy=Z.define(),Ne=ue.define({create(){return Vh.start()},update(i,e){return i.update(e)},provide:i=>[Nr.from(i,e=>e.tooltip),T.contentAttributes.from(i,e=>e.attrs)]});function Lh(i,e){let t=e.completion.apply||e.completion.label,n=i.state.field(Ne).active.find(r=>r.source==e.source);return n instanceof ja?(typeof t=="string"?i.dispatch(Object.assign(Object.assign({},zP(i.state,t,n.from,n.to)),{annotations:Eh.of(e.completion)})):t(i,e.completion,n.from,n.to),!0):!1}var UP=_P(Ne,Lh);function Wa(i,e="option"){return t=>{let n=t.state.field(Ne,!1);if(!n||!n.open||n.open.disabled||Date.now()-n.open.timestamp<t.state.facet(ke).interactionDelay)return!1;let r=1,s;e=="page"&&(s=Wc(t,n.open.tooltip))&&(r=Math.max(2,Math.floor(s.dom.offsetHeight/s.dom.querySelector("li").offsetHeight)-1));let{length:o}=n.open.options,a=n.open.selected>-1?n.open.selected+r*(i?1:-1):i?0:o-1;return a<0?a=e=="page"?0:o-1:a>=o&&(a=e=="page"?o-1:0),t.dispatch({effects:gy.of(a)}),!0}}var MP=i=>{let e=i.state.field(Ne,!1);return i.state.readOnly||!e||!e.open||e.open.selected<0||e.open.disabled||Date.now()-e.open.timestamp<i.state.facet(ke).interactionDelay?!1:Lh(i,e.open.options[e.open.selected])},cy=i=>i.state.field(Ne,!1)?(i.dispatch({effects:Aa.of(!0)}),!0):!1,EP=i=>{let e=i.state.field(Ne,!1);return!e||!e.active.some(t=>t.state!=0)?!1:(i.dispatch({effects:cs.of(null)}),!0)},Ah=class{constructor(e,t){this.active=e,this.context=t,this.time=Date.now(),this.updates=[],this.done=void 0}},DP=50,LP=1e3,GP=me.fromClass(class{constructor(i){this.view=i,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let e of i.state.field(Ne).active)e.isPending&&this.startQuery(e)}update(i){let e=i.state.field(Ne),t=i.state.facet(ke);if(!i.selectionSet&&!i.docChanged&&i.startState.field(Ne)==e)return;let n=i.transactions.some(s=>{let o=my(s,t);return o&8||(s.selection||s.docChanged)&&!(o&3)});for(let s=0;s<this.running.length;s++){let o=this.running[s];if(n||o.context.abortOnDocChange&&i.docChanged||o.updates.length+i.transactions.length>DP&&Date.now()-o.time>LP){for(let a of o.context.abortListeners)try{a()}catch(l){qe(this.view.state,l)}o.context.abortListeners=null,this.running.splice(s--,1)}else o.updates.push(...i.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),i.transactions.some(s=>s.effects.some(o=>o.is(Aa)))&&(this.pendingStart=!0);let r=this.pendingStart?50:t.activateOnTypingDelay;if(this.debounceUpdate=e.active.some(s=>s.isPending&&!this.running.some(o=>o.active.source==s.source))?setTimeout(()=>this.startUpdate(),r):-1,this.composing!=0)for(let s of i.transactions)s.isUserEvent("input.type")?this.composing=2:this.composing==2&&s.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:i}=this.view,e=i.field(Ne);for(let t of e.active)t.isPending&&!this.running.some(n=>n.active.source==t.source)&&this.startQuery(t);this.running.length&&e.open&&e.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(ke).updateSyncTime))}startQuery(i){let{state:e}=this.view,t=Fi(e),n=new Za(e,t,i.explicit,this.view),r=new Ah(i,n);this.running.push(r),Promise.resolve(i.source(n)).then(s=>{r.context.aborted||(r.done=s||null,this.scheduleAccept())},s=>{this.view.dispatch({effects:cs.of(null)}),qe(this.view.state,s)})}scheduleAccept(){this.running.every(i=>i.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(ke).updateSyncTime))}accept(){var i;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],t=this.view.state.facet(ke),n=this.view.state.field(Ne);for(let r=0;r<this.running.length;r++){let s=this.running[r];if(s.done===void 0)continue;if(this.running.splice(r--,1),s.done){let a=Fi(s.updates.length?s.updates[0].startState:this.view.state),l=Math.min(a,s.done.from+(s.active.explicit?0:1)),O=new ja(s.active.source,s.active.explicit,l,s.done,s.done.from,(i=s.done.to)!==null&&i!==void 0?i:a);for(let c of s.updates)O=O.update(c,t);if(O.hasResult()){e.push(O);continue}}let o=n.active.find(a=>a.source==s.active.source);if(o&&o.isPending)if(s.done==null){let a=new Kt(s.active.source,0);for(let l of s.updates)a=a.update(l,t);a.isPending||e.push(a)}else this.startQuery(o)}(e.length||n.open&&n.open.disabled)&&this.view.dispatch({effects:Dh.of(e)})}},{eventHandlers:{blur(i){let e=this.view.state.field(Ne,!1);if(e&&e.tooltip&&this.view.state.facet(ke).closeOnBlur){let t=e.open&&Wc(this.view,e.open.tooltip);(!t||!t.dom.contains(i.relatedTarget))&&setTimeout(()=>this.view.dispatch({effects:cs.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:Aa.of(!1)}),20),this.composing=0}}}),BP=typeof navigator=="object"&&/Win/.test(navigator.platform),IP=lt.highest(T.domEventHandlers({keydown(i,e){let t=e.state.field(Ne,!1);if(!t||!t.open||t.open.disabled||t.open.selected<0||i.key.length>1||i.ctrlKey&&!(BP&&i.altKey)||i.metaKey)return!1;let n=t.open.options[t.open.selected],r=t.active.find(o=>o.source==n.source),s=n.completion.commitCharacters||r.result.commitCharacters;return s&&s.indexOf(i.key)>-1&&Lh(e,n),!1}})),$y=T.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"\xB7\xB7\xB7"',opacity:.5,display:"block",textAlign:"center"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'\u0192'"}},".cm-completionIcon-class":{"&:after":{content:"'\u25CB'"}},".cm-completionIcon-interface":{"&:after":{content:"'\u25CC'"}},".cm-completionIcon-variable":{"&:after":{content:"'\u{1D465}'"}},".cm-completionIcon-constant":{"&:after":{content:"'\u{1D436}'"}},".cm-completionIcon-type":{"&:after":{content:"'\u{1D461}'"}},".cm-completionIcon-enum":{"&:after":{content:"'\u222A'"}},".cm-completionIcon-property":{"&:after":{content:"'\u25A1'"}},".cm-completionIcon-keyword":{"&:after":{content:"'\u{1F511}\uFE0E'"}},".cm-completionIcon-namespace":{"&:after":{content:"'\u25A2'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}}),jh=class{constructor(e,t,n,r){this.field=e,this.line=t,this.from=n,this.to=r}},Yh=class i{constructor(e,t,n){this.field=e,this.from=t,this.to=n}map(e){let t=e.mapPos(this.from,-1,Pe.TrackDel),n=e.mapPos(this.to,1,Pe.TrackDel);return t==null||n==null?null:new i(this.field,t,n)}},Uh=class i{constructor(e,t){this.lines=e,this.fieldPositions=t}instantiate(e,t){let n=[],r=[t],s=e.doc.lineAt(t),o=/^\s*/.exec(s.text)[0];for(let l of this.lines){if(n.length){let O=o,c=/^\t*/.exec(l)[0].length;for(let h=0;h<c;h++)O+=e.facet(An);r.push(t+O.length-c),l=O+l.slice(c)}n.push(l),t+=l.length+1}let a=this.fieldPositions.map(l=>new Yh(l.field,r[l.line]+l.from,r[l.line]+l.to));return{text:n,ranges:a}}static parse(e){let t=[],n=[],r=[],s;for(let o of e.split(/\r\n?|\n/)){for(;s=/[#$]\{(?:(\d+)(?::([^}]*))?|((?:\\[{}]|[^}])*))\}/.exec(o);){let a=s[1]?+s[1]:null,l=s[2]||s[3]||"",O=-1,c=l.replace(/\\[{}]/g,h=>h[1]);for(let h=0;h<t.length;h++)(a!=null?t[h].seq==a:c&&t[h].name==c)&&(O=h);if(O<0){let h=0;for(;h<t.length&&(a==null||t[h].seq!=null&&t[h].seq<a);)h++;t.splice(h,0,{seq:a,name:c}),O=h;for(let f of r)f.field>=O&&f.field++}r.push(new jh(O,n.length,s.index,s.index+c.length)),o=o.slice(0,s.index)+l+o.slice(s.index+s[0].length)}o=o.replace(/\\([{}])/g,(a,l,O)=>{for(let c of r)c.line==n.length&&c.from>O&&(c.from--,c.to--);return l}),n.push(o)}return new i(n,r)}},NP=q.widget({widget:new class extends Ge{toDOM(){let i=document.createElement("span");return i.className="cm-snippetFieldPosition",i}ignoreEvent(){return!1}}}),FP=q.mark({class:"cm-snippetField"}),Ln=class i{constructor(e,t){this.ranges=e,this.active=t,this.deco=q.set(e.map(n=>(n.from==n.to?NP:FP).range(n.from,n.to)))}map(e){let t=[];for(let n of this.ranges){let r=n.map(e);if(!r)return null;t.push(r)}return new i(t,this.active)}selectionInsideField(e){return e.ranges.every(t=>this.ranges.some(n=>n.field==this.active&&n.from<=t.from&&n.to>=t.to))}},us=Z.define({map(i,e){return i&&i.map(e)}}),HP=Z.define(),hs=ue.define({create(){return null},update(i,e){for(let t of e.effects){if(t.is(us))return t.value;if(t.is(HP)&&i)return new Ln(i.ranges,t.value)}return i&&e.docChanged&&(i=i.map(e.changes)),i&&e.selection&&!i.selectionInsideField(e.selection)&&(i=null),i},provide:i=>T.decorations.from(i,e=>e?e.deco:q.none)});function Gh(i,e){return P.create(i.filter(t=>t.field==e).map(t=>P.range(t.from,t.to)))}function KP(i){let e=Uh.parse(i);return(t,n,r,s)=>{let{text:o,ranges:a}=e.instantiate(t.state,r),{main:l}=t.state.selection,O={changes:{from:r,to:s==l.from?l.to:s,insert:U.of(o)},scrollIntoView:!0,annotations:n?[Eh.of(n),xe.userEvent.of("input.complete")]:void 0};if(a.length&&(O.selection=Gh(a,0)),a.some(c=>c.field>0)){let c=new Ln(a,0),h=O.effects=[us.of(c)];t.state.field(hs,!1)===void 0&&h.push(Z.appendConfig.of([hs,nk,rk,$y]))}t.dispatch(t.state.update(O))}}function yy(i){return({state:e,dispatch:t})=>{let n=e.field(hs,!1);if(!n||i<0&&n.active==0)return!1;let r=n.active+i,s=i>0&&!n.ranges.some(o=>o.field==r+i);return t(e.update({selection:Gh(n.ranges,r),effects:us.of(s?null:new Ln(n.ranges,r)),scrollIntoView:!0})),!0}}var JP=({state:i,dispatch:e})=>i.field(hs,!1)?(e(i.update({effects:us.of(null)})),!0):!1,ek=yy(1),tk=yy(-1);var ik=[{key:"Tab",run:ek,shift:tk},{key:"Escape",run:JP}],hy=X.define({combine(i){return i.length?i[0]:ik}}),nk=lt.highest(qn.compute([hy],i=>i.facet(hy)));function Ue(i,e){return Object.assign(Object.assign({},e),{apply:KP(i)})}var rk=T.domEventHandlers({mousedown(i,e){let t=e.state.field(hs,!1),n;if(!t||(n=e.posAtCoords({x:i.clientX,y:i.clientY}))==null)return!1;let r=t.ranges.find(s=>s.from<=n&&s.to>=n);return!r||r.field==t.active?!1:(e.dispatch({selection:Gh(t.ranges,r.field),effects:us.of(t.ranges.some(s=>s.field>r.field)?new Ln(t.ranges,r.field):null),scrollIntoView:!0}),!0)}});var fs={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},Ni=Z.define({map(i,e){let t=e.mapPos(i,-1,Pe.TrackAfter);return t??void 0}}),Bh=new class extends pt{};Bh.startSide=1;Bh.endSide=-1;var Qy=ue.define({create(){return F.empty},update(i,e){if(i=i.map(e.changes),e.selection){let t=e.state.doc.lineAt(e.selection.main.head);i=i.update({filter:n=>n>=t.from&&n<=t.to})}for(let t of e.effects)t.is(Ni)&&(i=i.update({add:[Bh.range(t.value,t.value+1)]}));return i}});function Sy(){return[ok,Qy]}var qh="()[]{}<>\xAB\xBB\xBB\xAB\uFF3B\uFF3D\uFF5B\uFF5D";function by(i){for(let e=0;e<qh.length;e+=2)if(qh.charCodeAt(e)==i)return qh.charAt(e+1);return Pr(i<128?i:i+1)}function xy(i,e){return i.languageDataAt("closeBrackets",e)[0]||fs}var sk=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),ok=T.inputHandler.of((i,e,t,n)=>{if((sk?i.composing:i.compositionStarted)||i.state.readOnly)return!1;let r=i.state.selection.main;if(n.length>2||n.length==2&&Ke(Xe(n,0))==1||e!=r.from||t!=r.to)return!1;let s=lk(i.state,n);return s?(i.dispatch(s),!0):!1}),ak=({state:i,dispatch:e})=>{if(i.readOnly)return!1;let n=xy(i,i.selection.main.head).brackets||fs.brackets,r=null,s=i.changeByRange(o=>{if(o.empty){let a=Ok(i.doc,o.head);for(let l of n)if(l==a&&Ya(i.doc,o.head)==by(Xe(l,0)))return{changes:{from:o.head-l.length,to:o.head+l.length},range:P.cursor(o.head-l.length)}}return{range:r=o}});return r||e(i.update(s,{scrollIntoView:!0,userEvent:"delete.backward"})),!r},vy=[{key:"Backspace",run:ak}];function lk(i,e){let t=xy(i,i.selection.main.head),n=t.brackets||fs.brackets;for(let r of n){let s=by(Xe(r,0));if(e==r)return s==r?fk(i,r,n.indexOf(r+r+r)>-1,t):ck(i,r,s,t.before||fs.before);if(e==s&&wy(i,i.selection.main.from))return hk(i,r,s)}return null}function wy(i,e){let t=!1;return i.field(Qy).between(0,i.doc.length,n=>{n==e&&(t=!0)}),t}function Ya(i,e){let t=i.sliceString(e,e+2);return t.slice(0,Ke(Xe(t,0)))}function Ok(i,e){let t=i.sliceString(e-2,e);return Ke(Xe(t,0))==t.length?t:t.slice(1)}function ck(i,e,t,n){let r=null,s=i.changeByRange(o=>{if(!o.empty)return{changes:[{insert:e,from:o.from},{insert:t,from:o.to}],effects:Ni.of(o.to+e.length),range:P.range(o.anchor+e.length,o.head+e.length)};let a=Ya(i.doc,o.head);return!a||/\s/.test(a)||n.indexOf(a)>-1?{changes:{insert:e+t,from:o.head},effects:Ni.of(o.head+e.length),range:P.cursor(o.head+e.length)}:{range:r=o}});return r?null:i.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function hk(i,e,t){let n=null,r=i.changeByRange(s=>s.empty&&Ya(i.doc,s.head)==t?{changes:{from:s.head,to:s.head+t.length,insert:t},range:P.cursor(s.head+t.length)}:n={range:s});return n?null:i.update(r,{scrollIntoView:!0,userEvent:"input.type"})}function fk(i,e,t,n){let r=n.stringPrefixes||fs.stringPrefixes,s=null,o=i.changeByRange(a=>{if(!a.empty)return{changes:[{insert:e,from:a.from},{insert:e,from:a.to}],effects:Ni.of(a.to+e.length),range:P.range(a.anchor+e.length,a.head+e.length)};let l=a.head,O=Ya(i.doc,l),c;if(O==e){if(fy(i,l))return{changes:{insert:e+e,from:l},effects:Ni.of(l+e.length),range:P.cursor(l+e.length)};if(wy(i,l)){let f=t&&i.sliceDoc(l,l+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:l,to:l+f.length,insert:f},range:P.cursor(l+f.length)}}}else{if(t&&i.sliceDoc(l-2*e.length,l)==e+e&&(c=uy(i,l-2*e.length,r))>-1&&fy(i,c))return{changes:{insert:e+e+e+e,from:l},effects:Ni.of(l+e.length),range:P.cursor(l+e.length)};if(i.charCategorizer(l)(O)!=ie.Word&&uy(i,l,r)>-1&&!uk(i,l,e,r))return{changes:{insert:e+e,from:l},effects:Ni.of(l+e.length),range:P.cursor(l+e.length)}}return{range:s=a}});return s?null:i.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function fy(i,e){let t=ae(i).resolveInner(e+1);return t.parent&&t.from==e}function uk(i,e,t,n){let r=ae(i).resolveInner(e,-1),s=n.reduce((o,a)=>Math.max(o,a.length),0);for(let o=0;o<5;o++){let a=i.sliceDoc(r.from,Math.min(r.to,r.from+t.length+s)),l=a.indexOf(t);if(!l||l>-1&&n.indexOf(a.slice(0,l))>-1){let c=r.firstChild;for(;c&&c.from==r.from&&c.to-c.from>t.length+l;){if(i.sliceDoc(c.to-t.length,c.to)==t)return!1;c=c.firstChild}return!0}let O=r.to==e&&r.parent;if(!O)break;r=O}return!1}function uy(i,e,t){let n=i.charCategorizer(e);if(n(i.sliceDoc(e-1,e))!=ie.Word)return e;for(let r of t){let s=e-r.length;if(i.sliceDoc(s,e)==r&&n(i.sliceDoc(s-1,s))!=ie.Word)return s}return-1}function Py(i={}){return[IP,Ne,ke.of(i),GP,dk,$y]}var Ih=[{key:"Ctrl-Space",run:cy},{mac:"Alt-`",run:cy},{key:"Escape",run:EP},{key:"ArrowDown",run:Wa(!0)},{key:"ArrowUp",run:Wa(!1)},{key:"PageDown",run:Wa(!0,"page")},{key:"PageUp",run:Wa(!1,"page")},{key:"Enter",run:MP}],dk=lt.highest(qn.computeN([ke],i=>i.facet(ke).defaultKeymap?[Ih]:[]));var Ma=class{constructor(e,t,n){this.from=e,this.to=t,this.diagnostic=n}},Hi=class i{constructor(e,t,n){this.diagnostics=e,this.panel=t,this.selected=n}static init(e,t,n){let r=n.facet(ds).markerFilter;r&&(e=r(e,n));let s=e.slice().sort((c,h)=>c.from-h.from||c.to-h.to),o=new He,a=[],l=0;for(let c=0;;){let h=c==s.length?null:s[c];if(!h&&!a.length)break;let f,u;for(a.length?(f=l,u=a.reduce((p,m)=>Math.min(p,m.to),h&&h.from>f?h.from:1e8)):(f=h.from,u=h.to,a.push(h),c++);c<s.length;){let p=s[c];if(p.from==f&&(p.to>p.from||p.to==f))a.push(p),c++,u=Math.min(p.to,u);else{u=Math.min(p.from,u);break}}let d=wk(a);if(a.some(p=>p.from==p.to||p.from==p.to-1&&n.doc.lineAt(p.from).to==p.from))o.add(f,f,q.widget({widget:new Nh(d),diagnostics:a.slice()}));else{let p=a.reduce((m,g)=>g.markClass?m+" "+g.markClass:m,"");o.add(f,u,q.mark({class:"cm-lintRange cm-lintRange-"+d+p,diagnostics:a.slice(),inclusiveEnd:a.some(m=>m.to>u)}))}l=u;for(let p=0;p<a.length;p++)a[p].to<=l&&a.splice(p--,1)}let O=o.finish();return new i(O,t,Gn(O))}};function Gn(i,e=null,t=0){let n=null;return i.between(t,1e9,(r,s,{spec:o})=>{if(!(e&&o.diagnostics.indexOf(e)<0))if(!n)n=new Ma(r,s,e||o.diagnostics[0]);else{if(o.diagnostics.indexOf(n.diagnostic)<0)return!1;n=new Ma(n.from,s,n.diagnostic)}}),n}function pk(i,e){let t=e.pos,n=e.end||t,r=i.state.facet(ds).hideOn(i,t,n);if(r!=null)return r;let s=i.startState.doc.lineAt(e.pos);return!!(i.effects.some(o=>o.is(Ty))||i.changes.touchesRange(s.from,Math.max(s.to,n)))}function mk(i,e){return i.field(nt,!1)?e:e.concat(Z.appendConfig.of(Pk))}var Ty=Z.define(),Fh=Z.define(),zy=Z.define(),nt=ue.define({create(){return new Hi(q.none,null,null)},update(i,e){if(e.docChanged&&i.diagnostics.size){let t=i.diagnostics.map(e.changes),n=null,r=i.panel;if(i.selected){let s=e.changes.mapPos(i.selected.from,1);n=Gn(t,i.selected.diagnostic,s)||Gn(t,null,s)}!t.size&&r&&e.state.facet(ds).autoPanel&&(r=null),i=new Hi(t,r,n)}for(let t of e.effects)if(t.is(Ty)){let n=e.state.facet(ds).autoPanel?t.value.length?ps.open:null:i.panel;i=Hi.init(t.value,n,e.state)}else t.is(Fh)?i=new Hi(i.diagnostics,t.value?ps.open:null,i.selected):t.is(zy)&&(i=new Hi(i.diagnostics,i.panel,t.value));return i},provide:i=>[Ui.from(i,e=>e.panel),T.decorations.from(i,e=>e.diagnostics)]});var gk=q.mark({class:"cm-lintRange cm-lintRange-active"});function $k(i,e,t){let{diagnostics:n}=i.state.field(nt),r,s=-1,o=-1;n.between(e-(t<0?1:0),e+(t>0?1:0),(l,O,{spec:c})=>{if(e>=l&&e<=O&&(l==O||(e>l||t>0)&&(e<O||t<0)))return r=c.diagnostics,s=l,o=O,!1});let a=i.state.facet(ds).tooltipFilter;return r&&a&&(r=a(r,i.state)),r?{pos:s,end:o,above:i.state.doc.lineAt(s).to<o,create(){return{dom:yk(i,r)}}}:null}function yk(i,e){return B("ul",{class:"cm-tooltip-lint"},e.map(t=>qy(i,t,!1)))}var Qk=i=>{let e=i.state.field(nt,!1);(!e||!e.panel)&&i.dispatch({effects:mk(i.state,[Fh.of(!0)])});let t=Mi(i,ps.open);return t&&t.dom.querySelector(".cm-panel-lint ul").focus(),!0},ky=i=>{let e=i.state.field(nt,!1);return!e||!e.panel?!1:(i.dispatch({effects:Fh.of(!1)}),!0)},Sk=i=>{let e=i.state.field(nt,!1);if(!e)return!1;let t=i.state.selection.main,n=e.diagnostics.iter(t.to+1);return!n.value&&(n=e.diagnostics.iter(0),!n.value||n.from==t.from&&n.to==t.to)?!1:(i.dispatch({selection:{anchor:n.from,head:n.to},scrollIntoView:!0}),!0)};var Xy=[{key:"Mod-Shift-m",run:Qk,preventDefault:!0},{key:"F8",run:Sk}];var ds=X.define({combine(i){return Object.assign({sources:i.map(e=>e.source).filter(e=>e!=null)},Ze(i.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{needsRefresh:(e,t)=>e?t?n=>e(n)||t(n):e:t}))}});function Ry(i){let e=[];if(i)e:for(let{name:t}of i){for(let n=0;n<t.length;n++){let r=t[n];if(/[a-zA-Z]/.test(r)&&!e.some(s=>s.toLowerCase()==r.toLowerCase())){e.push(r);continue e}}e.push("")}return e}function qy(i,e,t){var n;let r=t?Ry(e.actions):[];return B("li",{class:"cm-diagnostic cm-diagnostic-"+e.severity},B("span",{class:"cm-diagnosticText"},e.renderMessage?e.renderMessage(i):e.message),(n=e.actions)===null||n===void 0?void 0:n.map((s,o)=>{let a=!1,l=f=>{if(f.preventDefault(),a)return;a=!0;let u=Gn(i.state.field(nt).diagnostics,e);u&&s.apply(i,u.from,u.to)},{name:O}=s,c=r[o]?O.indexOf(r[o]):-1,h=c<0?O:[O.slice(0,c),B("u",O.slice(c,c+1)),O.slice(c+1)];return B("button",{type:"button",class:"cm-diagnosticAction",onclick:l,onmousedown:l,"aria-label":` Action: ${O}${c<0?"":` (access key "${r[o]})"`}.`},h)}),e.source&&B("div",{class:"cm-diagnosticSource"},e.source))}var Nh=class extends Ge{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return B("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}},Ea=class{constructor(e,t){this.diagnostic=t,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=qy(e,t,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}},ps=class i{constructor(e){this.view=e,this.items=[];let t=r=>{if(r.keyCode==27)ky(this.view),this.view.focus();else if(r.keyCode==38||r.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(r.keyCode==40||r.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(r.keyCode==36)this.moveSelection(0);else if(r.keyCode==35)this.moveSelection(this.items.length-1);else if(r.keyCode==13)this.view.focus();else if(r.keyCode>=65&&r.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:s}=this.items[this.selectedIndex],o=Ry(s.actions);for(let a=0;a<o.length;a++)if(o[a].toUpperCase().charCodeAt(0)==r.keyCode){let l=Gn(this.view.state.field(nt).diagnostics,s);l&&s.actions[a].apply(e,l.from,l.to)}}else return;r.preventDefault()},n=r=>{for(let s=0;s<this.items.length;s++)this.items[s].dom.contains(r.target)&&this.moveSelection(s)};this.list=B("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:t,onclick:n}),this.dom=B("div",{class:"cm-panel-lint"},this.list,B("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>ky(this.view)},"\xD7")),this.update()}get selectedIndex(){let e=this.view.state.field(nt).selected;if(!e)return-1;for(let t=0;t<this.items.length;t++)if(this.items[t].diagnostic==e.diagnostic)return t;return-1}update(){let{diagnostics:e,selected:t}=this.view.state.field(nt),n=0,r=!1,s=null,o=new Set;for(e.between(0,this.view.state.doc.length,(a,l,{spec:O})=>{for(let c of O.diagnostics){if(o.has(c))continue;o.add(c);let h=-1,f;for(let u=n;u<this.items.length;u++)if(this.items[u].diagnostic==c){h=u;break}h<0?(f=new Ea(this.view,c),this.items.splice(n,0,f),r=!0):(f=this.items[h],h>n&&(this.items.splice(n,h-n),r=!0)),t&&f.diagnostic==t.diagnostic?f.dom.hasAttribute("aria-selected")||(f.dom.setAttribute("aria-selected","true"),s=f):f.dom.hasAttribute("aria-selected")&&f.dom.removeAttribute("aria-selected"),n++}});n<this.items.length&&!(this.items.length==1&&this.items[0].diagnostic.from<0);)r=!0,this.items.pop();this.items.length==0&&(this.items.push(new Ea(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),r=!0),s?(this.list.setAttribute("aria-activedescendant",s.id),this.view.requestMeasure({key:this,read:()=>({sel:s.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:a,panel:l})=>{let O=l.height/this.list.offsetHeight;a.top<l.top?this.list.scrollTop-=(l.top-a.top)/O:a.bottom>l.bottom&&(this.list.scrollTop+=(a.bottom-l.bottom)/O)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),r&&this.sync()}sync(){let e=this.list.firstChild;function t(){let n=e;e=n.nextSibling,n.remove()}for(let n of this.items)if(n.dom.parentNode==this.list){for(;e!=n.dom;)t();e=n.dom.nextSibling}else this.list.insertBefore(n.dom,e);for(;e;)t()}moveSelection(e){if(this.selectedIndex<0)return;let t=this.view.state.field(nt),n=Gn(t.diagnostics,this.items[e].diagnostic);n&&this.view.dispatch({selection:{anchor:n.from,head:n.to},scrollIntoView:!0,effects:zy.of(n)})}static open(e){return new i(e)}};function bk(i,e='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${e}>${encodeURIComponent(i)}</svg>')`}function Ua(i){return bk(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${i}" fill="none" stroke-width=".7"/>`,'width="6" height="3"')}var xk=T.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:Ua("#d11")},".cm-lintRange-warning":{backgroundImage:Ua("orange")},".cm-lintRange-info":{backgroundImage:Ua("#999")},".cm-lintRange-hint":{backgroundImage:Ua("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}}});function vk(i){return i=="error"?4:i=="warning"?3:i=="info"?2:1}function wk(i){let e="hint",t=1;for(let n of i){let r=vk(n.severity);r>t&&(t=r,e=n.severity)}return e}var Pk=[nt,T.decorations.compute([nt],i=>{let{selected:e,panel:t}=i.field(nt);return!e||!t||e.from==e.to?q.none:q.set([gk.range(e.from,e.to)])}),pg($k,{hideOn:pk}),xk];var _y=[$g(),yg(),hg(),g$(),Kg(),ag(),cg(),ee.allowMultipleSelections.of(!0),Dg(),e$(t$,{fallback:!0}),s$(),Sy(),Py(),ug(),dg(),fg(),J$(),qn.of([...vy,...G$,...ry,...S$,...Ng,...Ih,...Xy])];var Jh=class i{constructor(e,t,n,r,s,o,a,l,O,c=0,h){this.p=e,this.stack=t,this.state=n,this.reducePos=r,this.pos=s,this.score=o,this.buffer=a,this.bufferBase=l,this.curContext=O,this.lookAhead=c,this.parent=h}toString(){return`[${this.stack.filter((e,t)=>t%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,n=0){let r=e.parser.context;return new i(e,[],t,n,n,0,[],0,r?new Da(r,r.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let n=e>>19,r=e&65535,{parser:s}=this.p,o=this.reducePos<this.pos-25;o&&this.setLookAhead(this.pos);let a=s.dynamicPrecedence(r);if(a&&(this.score+=a),n==0){this.pushState(s.getGoto(this.state,r,!0),this.reducePos),r<s.minRepeatTerm&&this.storeNode(r,this.reducePos,this.reducePos,o?8:4,!0),this.reduceContext(r,this.reducePos);return}let l=this.stack.length-(n-1)*3-(e&262144?6:0),O=l?this.stack[l-2]:this.p.ranges[0].from,c=this.reducePos-O;c>=2e3&&!(!((t=this.p.parser.nodeSet.types[r])===null||t===void 0)&&t.isAnonymous)&&(O==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=c):this.p.lastBigReductionSize<c&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=O,this.p.lastBigReductionSize=c));let h=l?this.stack[l-1]:0,f=this.bufferBase+this.buffer.length-h;if(r<s.minRepeatTerm||e&131072){let u=s.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(r,O,u,f+4,!0)}if(e&262144)this.state=this.stack[l];else{let u=this.stack[l-3];this.state=s.getGoto(u,r,!0)}for(;this.stack.length>l;)this.stack.pop();this.reduceContext(r,O)}storeNode(e,t,n,r=4,s=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let o=this,a=this.buffer.length;if(a==0&&o.parent&&(a=o.bufferBase-o.parent.bufferBase,o=o.parent),a>0&&o.buffer[a-4]==0&&o.buffer[a-1]>-1){if(t==n)return;if(o.buffer[a-2]>=t){o.buffer[a-2]=n;return}}}if(!s||this.pos==n)this.buffer.push(e,t,n,r);else{let o=this.buffer.length;if(o>0&&this.buffer[o-4]!=0){let a=!1;for(let l=o;l>0&&this.buffer[l-2]>n;l-=4)if(this.buffer[l-1]>=0){a=!0;break}if(a)for(;o>0&&this.buffer[o-2]>n;)this.buffer[o]=this.buffer[o-4],this.buffer[o+1]=this.buffer[o-3],this.buffer[o+2]=this.buffer[o-2],this.buffer[o+3]=this.buffer[o-1],o-=4,r>4&&(r-=4)}this.buffer[o]=e,this.buffer[o+1]=t,this.buffer[o+2]=n,this.buffer[o+3]=r}}shift(e,t,n,r){if(e&131072)this.pushState(e&65535,this.pos);else if(e&262144)this.pos=r,this.shiftContext(t,n),t<=this.p.parser.maxNode&&this.buffer.push(t,n,r,4);else{let s=e,{parser:o}=this.p;(r>this.pos||t<=o.maxNode)&&(this.pos=r,o.stateFlag(s,1)||(this.reducePos=r)),this.pushState(s,n),this.shiftContext(t,n),t<=o.maxNode&&this.buffer.push(t,n,r,4)}}apply(e,t,n,r){e&65536?this.reduce(e):this.shift(e,t,n,r)}useNode(e,t){let n=this.p.reused.length-1;(n<0||this.p.reused[n]!=e)&&(this.p.reused.push(e),n++);let r=this.pos;this.reducePos=this.pos=r+e.length,this.pushState(t,r),this.buffer.push(n,r,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(;t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let n=e.buffer.slice(t),r=e.bufferBase+t;for(;e&&r==e.bufferBase;)e=e.parent;return new i(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,n,r,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let n=e<=this.p.parser.maxNode;n&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,n?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new ef(this);;){let n=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(n==0)return!1;if(!(n&65536))return!0;t.reduce(n)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let r=[];for(let s=0,o;s<t.length;s+=2)(o=t[s+1])!=this.state&&this.p.parser.hasAction(o,e)&&r.push(t[s],o);if(this.stack.length<120)for(let s=0;r.length<8&&s<t.length;s+=2){let o=t[s+1];r.some((a,l)=>l&1&&a==o)||r.push(t[s],o)}t=r}let n=[];for(let r=0;r<t.length&&n.length<4;r+=2){let s=t[r+1];if(s==this.state)continue;let o=this.split();o.pushState(s,this.pos),o.storeNode(0,o.pos,o.pos,4,!0),o.shiftContext(t[r],this.pos),o.reducePos=this.pos,o.score-=200,n.push(o)}return n}forceReduce(){let{parser:e}=this.p,t=e.stateSlot(this.state,5);if(!(t&65536))return!1;if(!e.validAction(this.state,t)){let n=t>>19,r=t&65535,s=this.stack.length-n*3;if(s<0||e.getGoto(this.stack[s],r,!1)<0){let o=this.findForcedReduction();if(o==null)return!1;t=o}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],n=(r,s)=>{if(!t.includes(r))return t.push(r),e.allActions(r,o=>{if(!(o&393216))if(o&65536){let a=(o>>19)-s;if(a>1){let l=o&65535,O=this.stack.length-a*3;if(O>=0&&e.getGoto(this.stack[O],l,!1)>=0)return a<<19|65536|l}}else{let a=n(o,s+1);if(a!=null)return a}})};return n(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;t<this.stack.length;t+=3)if(this.stack[t]!=e.stack[t])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(e){return this.p.parser.dialect.flags[e]}shiftContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,e,this,this.p.stream.reset(t)))}reduceContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,e,this,this.p.stream.reset(t)))}emitContext(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-3)&&this.buffer.push(this.curContext.hash,this.pos,this.pos,-3)}emitLookAhead(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-4)&&this.buffer.push(this.lookAhead,this.pos,this.pos,-4)}updateContext(e){if(e!=this.curContext.context){let t=new Da(this.curContext.tracker,e);t.hash!=this.curContext.hash&&this.emitContext(),this.curContext=t}}setLookAhead(e){e>this.lookAhead&&(this.emitLookAhead(),this.lookAhead=e)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}},Da=class{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}},ef=class{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,n=e>>19;n==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(n-1)*3;let r=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=r}},tf=class i{constructor(e,t,n){this.stack=e,this.pos=t,this.index=n,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new i(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new i(this.stack,this.pos,this.index)}};function ms(i,e=Uint16Array){if(typeof i!="string")return i;let t=null;for(let n=0,r=0;n<i.length;){let s=0;for(;;){let o=i.charCodeAt(n++),a=!1;if(o==126){s=65535;break}o>=92&&o--,o>=34&&o--;let l=o-32;if(l>=46&&(l-=46,a=!0),s+=l,a)break;s*=46}t?t[r++]=s:t=new e(s)}return t}var Bn=class{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},Cy=new Bn,nf=class{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=Cy,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let n=this.range,r=this.rangeIndex,s=this.pos+e;for(;s<n.from;){if(!r)return null;let o=this.ranges[--r];s-=n.from-o.to,n=o}for(;t<0?s>n.to:s>=n.to;){if(r==this.ranges.length-1)return null;let o=this.ranges[++r];s+=o.from-n.to,n=o}return s}clipPos(e){if(e>=this.range.from&&e<this.range.to)return e;for(let t of this.ranges)if(t.to>e)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,n,r;if(t>=0&&t<this.chunk.length)n=this.pos+e,r=this.chunk.charCodeAt(t);else{let s=this.resolveOffset(e,1);if(s==null)return-1;if(n=s,n>=this.chunk2Pos&&n<this.chunk2Pos+this.chunk2.length)r=this.chunk2.charCodeAt(n-this.chunk2Pos);else{let o=this.rangeIndex,a=this.range;for(;a.to<=n;)a=this.ranges[++o];this.chunk2=this.input.chunk(this.chunk2Pos=n),n+this.chunk2.length>a.to&&(this.chunk2=this.chunk2.slice(0,a.to-n)),r=this.chunk2.charCodeAt(0)}}return n>=this.token.lookAhead&&(this.token.lookAhead=n+1),r}acceptToken(e,t=0){let n=t?this.resolveOffset(t,-1):this.pos;if(n==null||n<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=e,this.token.end=n}acceptTokenTo(e,t){this.token.value=e,this.token.end=t}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:e,chunkPos:t}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=e,this.chunk2Pos=t,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let e=this.input.chunk(this.pos),t=this.pos+e.length;this.chunk=t>this.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=Cy,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e<this.range.from;)this.range=this.ranges[--this.rangeIndex];for(;e>=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e<this.chunkPos+this.chunk.length?this.chunkOff=e-this.chunkPos:(this.chunk="",this.chunkOff=0),this.readNext()}return this}read(e,t){if(e>=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let n="";for(let r of this.ranges){if(r.from>=t)break;r.to>e&&(n+=this.input.read(Math.max(r.from,e),Math.min(r.to,t)))}return n}},bi=class{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:n}=t.p;jy(this.data,e,t,this.id,n.data,n.tokenPrecTable)}};bi.prototype.contextual=bi.prototype.fallback=bi.prototype.extend=!1;var xi=class{constructor(e,t,n){this.precTable=t,this.elseToken=n,this.data=typeof e=="string"?ms(e):e}token(e,t){let n=e.pos,r=0;for(;;){let s=e.next<0,o=e.resolveOffset(1,1);if(jy(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(s||r++,o==null)break;e.reset(o,e.token)}r&&(e.reset(n,e.token),e.acceptToken(this.elseToken,r))}};xi.prototype.contextual=bi.prototype.fallback=bi.prototype.extend=!1;var ge=class{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}};function jy(i,e,t,n,r,s){let o=0,a=1<<n,{dialect:l}=t.p.parser;e:for(;a&i[o];){let O=i[o+1];for(let u=o+3;u<O;u+=2)if((i[u+1]&a)>0){let d=i[u];if(l.allows(d)&&(e.token.value==-1||e.token.value==d||Tk(d,e.token.value,r,s))){e.acceptToken(d);break}}let c=e.next,h=0,f=i[o+2];if(e.next<0&&f>h&&i[O+f*3-3]==65535){o=i[O+f*3-1];continue e}for(;h<f;){let u=h+f>>1,d=O+u+(u<<1),p=i[d],m=i[d+1]||65536;if(c<p)f=u;else if(c>=m)h=u+1;else{o=i[d+2],e.advance();continue e}}break}}function Wy(i,e,t){for(let n=e,r;(r=i[n])!=65535;n++)if(r==t)return n-e;return-1}function Tk(i,e,t,n){let r=Wy(t,n,e);return r<0||Wy(t,n,i)<r}var rt=typeof process<"u"&&process.env&&/\bparse\b/.test(process.env.LOG),Hh=null;function Zy(i,e,t){let n=i.cursor(H.IncludeAnonymous);for(n.moveTo(e);;)if(!(t<0?n.childBefore(e):n.childAfter(e)))for(;;){if((t<0?n.to<e:n.from>e)&&!n.type.isError)return t<0?Math.max(0,Math.min(n.to-1,e-25)):Math.min(i.length,Math.max(n.from+1,e+25));if(t<0?n.prevSibling():n.nextSibling())break;if(!n.parent())return t<0?0:i.length}}var rf=class{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?Zy(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?Zy(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(e<this.nextStart)return null;for(;this.fragment&&this.safeTo<=e;)this.nextFragment();if(!this.fragment)return null;for(;;){let t=this.trees.length-1;if(t<0)return this.nextFragment(),null;let n=this.trees[t],r=this.index[t];if(r==n.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let s=n.children[r],o=this.start[t]+n.positions[r];if(o>e)return this.nextStart=o,null;if(s instanceof de){if(o==e){if(o<this.safeFrom)return null;let a=o+s.length;if(a<=this.safeTo){let l=s.prop(j.lookAhead);if(!l||a+l<this.fragment.to)return s}}this.index[t]++,o+s.length>=Math.max(this.safeFrom,e)&&(this.trees.push(s),this.start.push(o),this.index.push(0))}else this.index[t]++,this.nextStart=o+s.length}}},sf=class{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(n=>new Bn)}getActions(e){let t=0,n=null,{parser:r}=e.p,{tokenizers:s}=r,o=r.stateSlot(e.state,3),a=e.curContext?e.curContext.hash:0,l=0;for(let O=0;O<s.length;O++){if(!(1<<O&o))continue;let c=s[O],h=this.tokens[O];if(!(n&&!c.fallback)&&((c.contextual||h.start!=e.pos||h.mask!=o||h.context!=a)&&(this.updateCachedToken(h,c,e),h.mask=o,h.context=a),h.lookAhead>h.end+25&&(l=Math.max(h.lookAhead,l)),h.value!=0)){let f=t;if(h.extended>-1&&(t=this.addActions(e,h.extended,h.end,t)),t=this.addActions(e,h.value,h.end,t),!c.extend&&(n=h,t>f))break}}for(;this.actions.length>t;)this.actions.pop();return l&&e.setLookAhead(l),!n&&e.pos==this.stream.end&&(n=new Bn,n.value=e.p.parser.eofTerm,n.start=n.end=e.pos,t=this.addActions(e,n.value,n.end,t)),this.mainToken=n,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new Bn,{pos:n,p:r}=e;return t.start=n,t.end=Math.min(n+1,r.stream.end),t.value=n==r.stream.end?r.parser.eofTerm:0,t}updateCachedToken(e,t,n){let r=this.stream.clipPos(n.pos);if(t.token(this.stream.reset(r,e),n),e.value>-1){let{parser:s}=n.p;for(let o=0;o<s.specialized.length;o++)if(s.specialized[o]==e.value){let a=s.specializers[o](this.stream.read(e.start,e.end),n);if(a>=0&&n.p.parser.dialect.allows(a>>1)){a&1?e.extended=a>>1:e.value=a>>1;break}}}else e.value=0,e.end=this.stream.clipPos(r+1)}putAction(e,t,n,r){for(let s=0;s<r;s+=3)if(this.actions[s]==e)return r;return this.actions[r++]=e,this.actions[r++]=t,this.actions[r++]=n,r}addActions(e,t,n,r){let{state:s}=e,{parser:o}=e.p,{data:a}=o;for(let l=0;l<2;l++)for(let O=o.stateSlot(s,l?2:1);;O+=3){if(a[O]==65535)if(a[O+1]==1)O=Jt(a,O+2);else{r==0&&a[O+1]==2&&(r=this.putAction(Jt(a,O+2),t,n,r));break}a[O]==t&&(r=this.putAction(Jt(a,O+1),t,n,r))}return r}},of=class{constructor(e,t,n,r){this.parser=e,this.input=t,this.ranges=r,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.lastBigReductionStart=-1,this.lastBigReductionSize=0,this.bigReductionCount=0,this.stream=new nf(t,r),this.tokens=new sf(e,this.stream),this.topTerm=e.top[1];let{from:s}=r[0];this.stacks=[Jh.start(this,e.top[0],s)],this.fragments=n.length&&this.stream.end-s>e.bufferLength*4?new rf(n,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,n=this.stacks=[],r,s;if(this.bigReductionCount>300&&e.length==1){let[o]=e;for(;o.forceReduce()&&o.stack.length&&o.stack[o.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let o=0;o<e.length;o++){let a=e[o];for(;;){if(this.tokens.mainToken=null,a.pos>t)n.push(a);else{if(this.advanceStack(a,n,e))continue;{r||(r=[],s=[]),r.push(a);let l=this.tokens.getMainToken(a);s.push(l.value,l.end)}}break}}if(!n.length){let o=r&&zk(r);if(o)return rt&&console.log("Finish with "+this.stackID(o)),this.stackToTree(o);if(this.parser.strict)throw rt&&r&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+t);this.recovering||(this.recovering=5)}if(this.recovering&&r){let o=this.stoppedAt!=null&&r[0].pos>this.stoppedAt?r[0]:this.runRecovery(r,s,n);if(o)return rt&&console.log("Force-finish "+this.stackID(o)),this.stackToTree(o.forceAll())}if(this.recovering){let o=this.recovering==1?1:this.recovering*3;if(n.length>o)for(n.sort((a,l)=>l.score-a.score);n.length>o;)n.pop();n.some(a=>a.reducePos>t)&&this.recovering--}else if(n.length>1){e:for(let o=0;o<n.length-1;o++){let a=n[o];for(let l=o+1;l<n.length;l++){let O=n[l];if(a.sameState(O)||a.buffer.length>500&&O.buffer.length>500)if((a.score-O.score||a.buffer.length-O.buffer.length)>0)n.splice(l--,1);else{n.splice(o--,1);continue e}}}n.length>12&&n.splice(12,n.length-12)}this.minStackPos=n[0].pos;for(let o=1;o<n.length;o++)n[o].pos<this.minStackPos&&(this.minStackPos=n[o].pos);return null}stopAt(e){if(this.stoppedAt!=null&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}advanceStack(e,t,n){let r=e.pos,{parser:s}=this,o=rt?this.stackID(e)+" -> ":"";if(this.stoppedAt!=null&&r>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let O=e.curContext&&e.curContext.tracker.strict,c=O?e.curContext.hash:0;for(let h=this.fragments.nodeAt(r);h;){let f=this.parser.nodeSet.types[h.type.id]==h.type?s.getGoto(e.state,h.type.id):-1;if(f>-1&&h.length&&(!O||(h.prop(j.contextHash)||0)==c))return e.useNode(h,f),rt&&console.log(o+this.stackID(e)+` (via reuse of ${s.getName(h.type.id)})`),!0;if(!(h instanceof de)||h.children.length==0||h.positions[0]>0)break;let u=h.children[0];if(u instanceof de&&h.positions[0]==0)h=u;else break}}let a=s.stateSlot(e.state,4);if(a>0)return e.reduce(a),rt&&console.log(o+this.stackID(e)+` (via always-reduce ${s.getName(a&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let l=this.tokens.getActions(e);for(let O=0;O<l.length;){let c=l[O++],h=l[O++],f=l[O++],u=O==l.length||!n,d=u?e:e.split(),p=this.tokens.mainToken;if(d.apply(c,h,p?p.start:d.pos,f),rt&&console.log(o+this.stackID(d)+` (via ${c&65536?`reduce of ${s.getName(c&65535)}`:"shift"} for ${s.getName(h)} @ ${r}${d==e?"":", split"})`),u)return!0;d.pos>r?t.push(d):n.push(d)}return!1}advanceFully(e,t){let n=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>n)return Vy(e,t),!0}}runRecovery(e,t,n){let r=null,s=!1;for(let o=0;o<e.length;o++){let a=e[o],l=t[o<<1],O=t[(o<<1)+1],c=rt?this.stackID(a)+" -> ":"";if(a.deadEnd&&(s||(s=!0,a.restart(),rt&&console.log(c+this.stackID(a)+" (restarted)"),this.advanceFully(a,n))))continue;let h=a.split(),f=c;for(let u=0;h.forceReduce()&&u<10&&(rt&&console.log(f+this.stackID(h)+" (via force-reduce)"),!this.advanceFully(h,n));u++)rt&&(f=this.stackID(h)+" -> ");for(let u of a.recoverByInsert(l))rt&&console.log(c+this.stackID(u)+" (via recover-insert)"),this.advanceFully(u,n);this.stream.end>a.pos?(O==a.pos&&(O++,l=0),a.recoverByDelete(l,O),rt&&console.log(c+this.stackID(a)+` (via recover-delete ${this.parser.getName(l)})`),Vy(a,n)):(!r||r.score<a.score)&&(r=a)}return r}stackToTree(e){return e.close(),de.build({buffer:tf.create(e),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:e.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(e){let t=(Hh||(Hh=new WeakMap)).get(e);return t||Hh.set(e,t=String.fromCodePoint(this.nextStackID++)),t+e}};function Vy(i,e){for(let t=0;t<e.length;t++){let n=e[t];if(n.pos==i.pos&&n.sameState(i)){e[t].score<i.score&&(e[t]=i);return}}e.push(i)}var af=class{constructor(e,t,n){this.source=e,this.flags=t,this.disabled=n}allows(e){return!this.disabled||this.disabled[e]==0}},Kh=i=>i,In=class{constructor(e){this.start=e.start,this.shift=e.shift||Kh,this.reduce=e.reduce||Kh,this.reuse=e.reuse||Kh,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}},At=class i extends Wn{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let a=0;a<e.repeatNodeCount;a++)t.push("");let n=Object.keys(e.topRules).map(a=>e.topRules[a][1]),r=[];for(let a=0;a<t.length;a++)r.push([]);function s(a,l,O){r[a].push([l,l.deserialize(String(O))])}if(e.nodeProps)for(let a of e.nodeProps){let l=a[0];typeof l=="string"&&(l=j[l]);for(let O=1;O<a.length;){let c=a[O++];if(c>=0)s(c,l,a[O++]);else{let h=a[O+-c];for(let f=-c;f>0;f--)s(a[O++],l,h);O++}}}this.nodeSet=new Fr(t.map((a,l)=>_e.define({name:l>=this.minRepeatTerm?void 0:a,id:l,props:r[l],top:n.indexOf(l)>-1,error:l==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(l)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=1024;let o=ms(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let a=0;a<this.specializerSpecs.length;a++)this.specialized[a]=this.specializerSpecs[a].term;this.specializers=this.specializerSpecs.map(Ay),this.states=ms(e.states,Uint32Array),this.data=ms(e.stateData),this.goto=ms(e.goto),this.maxTerm=e.maxTerm,this.tokenizers=e.tokenizers.map(a=>typeof a=="number"?new bi(o,a):a),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,n){let r=new of(this,e,t,n);for(let s of this.wrappers)r=s(r,e,t,n);return r}getGoto(e,t,n=!1){let r=this.goto;if(t>=r[0])return-1;for(let s=r[t+1];;){let o=r[s++],a=o&1,l=r[s++];if(a&&n)return l;for(let O=s+(o>>1);s<O;s++)if(r[s]==e)return l;if(a)return-1}}hasAction(e,t){let n=this.data;for(let r=0;r<2;r++)for(let s=this.stateSlot(e,r?2:1),o;;s+=3){if((o=n[s])==65535)if(n[s+1]==1)o=n[s=Jt(n,s+2)];else{if(n[s+1]==2)return Jt(n,s+2);break}if(o==t||o==0)return Jt(n,s+1)}return 0}stateSlot(e,t){return this.states[e*6+t]}stateFlag(e,t){return(this.stateSlot(e,0)&t)>0}validAction(e,t){return!!this.allActions(e,n=>n==t?!0:null)}allActions(e,t){let n=this.stateSlot(e,4),r=n?t(n):void 0;for(let s=this.stateSlot(e,1);r==null;s+=3){if(this.data[s]==65535)if(this.data[s+1]==1)s=Jt(this.data,s+2);else break;r=t(Jt(this.data,s+1))}return r}nextStates(e){let t=[];for(let n=this.stateSlot(e,1);;n+=3){if(this.data[n]==65535)if(this.data[n+1]==1)n=Jt(this.data,n+2);else break;if(!(this.data[n+2]&1)){let r=this.data[n+1];t.some((s,o)=>o&1&&s==r)||t.push(this.data[n],r)}}return t}configure(e){let t=Object.assign(Object.create(i.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let n=this.topRules[e.top];if(!n)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=n}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(n=>{let r=e.tokenizers.find(s=>s.from==n);return r?r.to:n})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((n,r)=>{let s=e.specializers.find(a=>a.from==n.external);if(!s)return n;let o=Object.assign(Object.assign({},n),{external:s.to});return t.specializers[r]=Ay(o),o})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),e.bufferLength!=null&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return t==null?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),n=t.map(()=>!1);if(e)for(let s of e.split(" ")){let o=t.indexOf(s);o>=0&&(n[o]=!0)}let r=null;for(let s=0;s<t.length;s++)if(!n[s])for(let o=this.dialects[t[s]],a;(a=this.data[o++])!=65535;)(r||(r=new Uint8Array(this.maxTerm+1)))[a]=1;return new af(e,n,r)}static deserialize(e){return new i(e)}};function Jt(i,e){return i[e]|i[e+1]<<16}function zk(i){let e=null;for(let t of i){let n=t.p.stoppedAt;(t.pos==t.p.stream.end||n!=null&&t.pos>n)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.score<t.score)&&(e=t)}return e}function Ay(i){if(i.external){let e=i.extend?1:0;return(t,n)=>i.external(t,n)<<1|e}return i.get}var Xk=1,Rk=2,qk=263,_k=3,Ck=264,Yy=265,Wk=266,Zk=4,Vk=5,Ak=6,jk=7,Uy=8,Yk=9,Uk=10,Mk=11,Ek=12,Dk=13,Lk=14,Gk=15,Bk=16,Ik=17,Nk=18,Fk=19,Hk=20,Kk=21,Jk=22,e2=23,t2=24,i2=25,n2=26,r2=27,s2=28,o2=29,a2=30,l2=31,O2=32,c2=33,h2=34,f2=35,u2=36,d2=37,p2=38,m2=39,g2=40,$2=41,y2=42,Q2=43,S2=44,b2=45,x2=46,v2=47,w2=48,P2=49,k2=50,T2=51,z2=52,X2=53,R2=54,q2=55,_2=56,C2=57,W2=58,Z2=59,V2=60,A2=61,lf=62,j2=63,Y2=64,U2=65,M2={abstract:Zk,and:Vk,array:Ak,as:jk,true:Uy,false:Uy,break:Yk,case:Uk,catch:Mk,clone:Ek,const:Dk,continue:Lk,declare:Bk,default:Gk,do:Ik,echo:Nk,else:Fk,elseif:Hk,enddeclare:Kk,endfor:Jk,endforeach:e2,endif:t2,endswitch:i2,endwhile:n2,enum:r2,extends:s2,final:o2,finally:a2,fn:l2,for:O2,foreach:c2,from:h2,function:f2,global:u2,goto:d2,if:p2,implements:m2,include:g2,include_once:$2,instanceof:y2,insteadof:Q2,interface:S2,list:b2,match:x2,namespace:v2,new:w2,null:P2,or:k2,print:T2,require:z2,require_once:X2,return:R2,switch:q2,throw:_2,trait:C2,try:W2,unset:Z2,use:V2,var:A2,public:lf,private:lf,protected:lf,while:j2,xor:Y2,yield:U2,__proto__:null};function My(i){let e=M2[i.toLowerCase()];return e??-1}function Ey(i){return i==9||i==10||i==13||i==32}function Dy(i){return i>=97&&i<=122||i>=65&&i<=90}function gs(i){return i==95||i>=128||Dy(i)}function Of(i){return i>=48&&i<=55||i>=97&&i<=102||i>=65&&i<=70}var E2={int:!0,integer:!0,bool:!0,boolean:!0,float:!0,double:!0,real:!0,string:!0,array:!0,object:!0,unset:!0,__proto__:null},D2=new ge(i=>{if(i.next==40){i.advance();let e=0;for(;Ey(i.peek(e));)e++;let t="",n;for(;Dy(n=i.peek(e));)t+=String.fromCharCode(n),e++;for(;Ey(i.peek(e));)e++;i.peek(e)==41&&E2[t.toLowerCase()]&&i.acceptToken(Xk)}else if(i.next==60&&i.peek(1)==60&&i.peek(2)==60){for(let n=0;n<3;n++)i.advance();for(;i.next==32||i.next==9;)i.advance();let e=i.next==39;if(e&&i.advance(),!gs(i.next))return;let t=String.fromCharCode(i.next);for(;i.advance(),!(!gs(i.next)&&!(i.next>=48&&i.next<=55));)t+=String.fromCharCode(i.next);if(e){if(i.next!=39)return;i.advance()}if(i.next!=10&&i.next!=13)return;for(;;){let n=i.next==10||i.next==13;if(i.advance(),i.next<0)return;if(n){for(;i.next==32||i.next==9;)i.advance();let r=!0;for(let s=0;s<t.length;s++){if(i.next!=t.charCodeAt(s)){r=!1;break}i.advance()}if(r)return i.acceptToken(Rk)}}}}),L2=new ge(i=>{i.next<0&&i.acceptToken(Wk)}),G2=new ge((i,e)=>{i.next==63&&e.canShift(Yy)&&i.peek(1)==62&&i.acceptToken(Yy)});function B2(i){let e=i.peek(1);if(e==110||e==114||e==116||e==118||e==101||e==102||e==92||e==36||e==34||e==123)return 2;if(e>=48&&e<=55){let t=2,n;for(;t<5&&(n=i.peek(t))>=48&&n<=55;)t++;return t}if(e==120&&Of(i.peek(2)))return Of(i.peek(3))?4:3;if(e==117&&i.peek(2)==123)for(let t=3;;t++){let n=i.peek(t);if(n==125)return t==2?0:t+1;if(!Of(n))break}return 0}var I2=new ge((i,e)=>{let t=!1;for(;!(i.next==34||i.next<0||i.next==36&&(gs(i.peek(1))||i.peek(1)==123)||i.next==123&&i.peek(1)==36);t=!0){if(i.next==92){let n=B2(i);if(n){if(t)break;return i.acceptToken(_k,n)}}else if(!t&&(i.next==91||i.next==45&&i.peek(1)==62&&gs(i.peek(2))||i.next==63&&i.peek(1)==45&&i.peek(2)==62&&gs(i.peek(3)))&&e.canShift(Ck))break;i.advance()}t&&i.acceptToken(qk)}),N2=_t({"Visibility abstract final static":$.modifier,"for foreach while do if else elseif switch try catch finally return throw break continue default case":$.controlKeyword,"endif endfor endforeach endswitch endwhile declare enddeclare goto match":$.controlKeyword,"and or xor yield unset clone instanceof insteadof":$.operatorKeyword,"function fn class trait implements extends const enum global interface use var":$.definitionKeyword,"include include_once require require_once namespace":$.moduleKeyword,"new from echo print array list as":$.keyword,null:$.null,Boolean:$.bool,VariableName:$.variableName,"NamespaceName/...":$.namespace,"NamedType/...":$.typeName,Name:$.name,"CallExpression/Name":$.function($.variableName),"LabelStatement/Name":$.labelName,"MemberExpression/Name":$.propertyName,"MemberExpression/VariableName":$.special($.propertyName),"ScopedExpression/ClassMemberName/Name":$.propertyName,"ScopedExpression/ClassMemberName/VariableName":$.special($.propertyName),"CallExpression/MemberExpression/Name":$.function($.propertyName),"CallExpression/ScopedExpression/ClassMemberName/Name":$.function($.propertyName),"MethodDeclaration/Name":$.function($.definition($.variableName)),"FunctionDefinition/Name":$.function($.definition($.variableName)),"ClassDeclaration/Name":$.definition($.className),UpdateOp:$.updateOperator,ArithOp:$.arithmeticOperator,LogicOp:$.logicOperator,BitOp:$.bitwiseOperator,CompareOp:$.compareOperator,ControlOp:$.controlOperator,AssignOp:$.definitionOperator,"$ ConcatOp":$.operator,LineComment:$.lineComment,BlockComment:$.blockComment,Integer:$.integer,Float:$.float,String:$.string,ShellExpression:$.special($.string),"=> ->":$.punctuation,"( )":$.paren,"#[ [ ]":$.squareBracket,"${ { }":$.brace,"-> ?->":$.derefOperator,", ; :: : \\":$.separator,"PhpOpen PhpClose":$.processingInstruction}),F2={__proto__:null,static:311,STATIC:311,class:333,CLASS:333},Ly=At.deserialize({version:14,states:"$FvQ`OWOOQhQaOOP%oO`OOOOO#t'#H_'#H_O%tO#|O'#DtOOO#u'#Dw'#DwQ&SOWO'#DwO&XO$VOOOOQ#u'#Dx'#DxO&lQaO'#D|O(mQdO'#E}O(tQdO'#EQO*kQaO'#EWO,zQ`O'#ETO-PQ`O'#E^O/nQaO'#E^O/uQ`O'#EfO/zQ`O'#EoO*kQaO'#EoO0VQ`O'#HhO0[Q`O'#E{O0[Q`O'#E{OOQS'#Ic'#IcO0aQ`O'#EvOOQS'#IZ'#IZO2oQdO'#IWO6tQeO'#FUO*kQaO'#FeO*kQaO'#FfO*kQaO'#FgO*kQaO'#FhO*kQaO'#FhO*kQaO'#FkOOQO'#Id'#IdO7RQ`O'#FqOOQO'#Hi'#HiO7ZQ`O'#HOO7uQ`O'#FlO8QQ`O'#H]O8]Q`O'#FvO8eQaO'#FwO*kQaO'#GVO*kQaO'#GYO8}OrO'#G]OOQS'#Iq'#IqOOQS'#Ip'#IpOOQS'#IW'#IWO,zQ`O'#GdO,zQ`O'#GfO,zQ`O'#GkOhQaO'#GmO9UQ`O'#GnO9ZQ`O'#GqO9`Q`O'#GtO9eQeO'#GuO9eQeO'#GvO9eQeO'#GwO9oQ`O'#GxO9tQ`O'#GzO9yQaO'#G{O<YQ`O'#G|O<_Q`O'#G}O<dQ`O'#G}O9oQ`O'#HOO<iQ`O'#HQO<nQ`O'#HRO<sQ`O'#HSO<xQ`O'#HVO=TQ`O'#HWO9yQaO'#H[OOQ#u'#IV'#IVOOQ#u'#Ha'#HaQhQaOOO=fQ`O'#HPO7pQ`O'#HPO=kO#|O'#DrPOOO)CCw)CCwOOO#t-E;]-E;]OOO#u,5:c,5:cOOO#u'#H`'#H`O&XO$VOOO=vQ$VO'#IUOOOO'#IU'#IUQOOOOOOOQ#y,5:h,5:hO=}QaO,5:hOOQ#u,5:j,5:jO@eQaO,5:mO@lQaO,5;UO*kQaO,5;UO@sQ`O,5;VOCbQaO'#EsOOQS,5;^,5;^OCiQ`O,5;jOOQP'#F]'#F]O*kQaO,5;qO*kQaO,5;qO*kQaO,5;qO*kQaO,5;qO*kQaO,5;qO*kQaO,5;qO*kQaO,5;qO*kQaO,5;qO*kQaO,5;qO*kQaO,5;qO*kQaO,5;qO*kQaO,5;qO*kQaO,5;qO*kQaO,5;qO*kQaO,5;qO*kQaO,5;qOOQ#u'#Im'#ImOOQS,5<q,5<qOOQ#u,5:l,5:lOEbQ`O,5:rOEiQdO'#E}OF]Q`O'#FlOFeQ`O'#FlOFmQ`O,5:oOFrQaO'#E_OOQS,5:x,5:xOHyQ`O'#I]O9yQaO'#EaO9yQaO'#I]OOQS'#I]'#I]OIQQ`O'#I[OIYQ`O,5:xO-UQaO,5:xOI_QaO'#EgOOQS,5;Q,5;QOOQS,5;Z,5;ZOIiQ`O,5;ZOOQO,5>S,5>SOJ[QdO,5;gOOQO-E;f-E;fOL^Q`O,5;gOLcQpO,5;bO0aQ`O'#EyOLkQtO'#E}OOQS'#Ez'#EzOOQS'#Ib'#IbOM`QaO,5:wO*kQaO,5;nOOQS,5;p,5;pO*kQaO,5;pOMgQdO,5<POMwQdO,5<QONXQdO,5<RONiQdO,5<SO!!sQdO,5<SO!!zQdO,5<VO!#[Q`O'#FrO!#gQ`O'#IgO!#oQ`O,5<]OOQO-E;g-E;gO!#tQ`O'#IoO<_Q`O,5=iO!#|Q`O,5=iO9oQ`O,5=jO!$RQ`O,5=nO!$WQ`O,5=kO!$]Q`O,5=kO!$bQ`O'#FnO!$xQ`O,5<WO!%TQ`O,5<WO!%WQ`O,5?ZO!%]Q`O,5<WO!%eQ`O,5<bO!%mQdO'#GPO!%{QdO'#InO!&WQdO,5=wO!&`Q`O,5<bO!%WQ`O,5<bO!&hQdO,5<cO!&xQ`O,5<cO!'lQdO,5<qO!)nQdO,5<tO!*OOrO'#HsOOOQ'#It'#ItO*kQaO'#GbOOOQ'#Hs'#HsO!*pOrO,5<wOOQS,5<w,5<wO!*wQaO,5=OO!+OQ`O,5=QO!+WQeO,5=VO!+bQ`O,5=XO!+gQaO'#GoO!+WQeO,5=YO9yQaO'#GrO!+WQeO,5=]O!&WQdO,5=`O(tQdO,5=aOOQ#u,5=a,5=aO(tQdO,5=bOOQ#u,5=b,5=bO(tQdO,5=cOOQ#u,5=c,5=cO!+nQ`O,5=dO!+vQ`O,5=fO!+{QdO'#IvOOQS'#Iv'#IvO!&WQdO,5=gO>UQaO,5=hO!-eQ`O'#F}O!-jQdO'#IlO!&WQdO,5=iOOQ#u,5=j,5=jO!-uQ`O,5=lO!-xQ`O,5=mO!-}Q`O,5=nO!.YQdO,5=qOOQ#u,5=q,5=qO!.eQ`O,5=rO!.eQ`O,5=rO!.mQdO'#IwO!.{Q`O'#HXO!&WQdO,5=rO!/ZQ`O,5=rO!/fQdO'#IYO!&WQdO,5=vOOQ#u-E;_-E;_O!1RQ`O,5=kOOO#u,5:^,5:^O!1^O#|O,5:^OOO#u-E;^-E;^OOOO,5>p,5>pOOQ#y1G0S1G0SO!1fQ`O1G0XO*kQaO1G0XO!2xQ`O1G0pOOQS1G0p1G0pO!4[Q`O1G0pOOQS'#I_'#I_O*kQaO'#I_OOQS1G0q1G0qO!4cQ`O'#IaO!7lQ`O'#E}O!7yQaO'#EuOOQO'#Ia'#IaO!8TQ`O'#I`O!8]Q`O,5;_OOQS'#FQ'#FQOOQS1G1U1G1UO!8bQdO1G1]O!:dQdO1G1]O!<PQdO1G1]O!=lQdO1G1]O!?XQdO1G1]O!@tQdO1G1]O!BaQdO1G1]O!C|QdO1G1]O!EiQdO1G1]O!GUQdO1G1]O!HqQdO1G1]O!J^QdO1G1]O!KyQdO1G1]O!MfQdO1G1]O# RQdO1G1]O#!nQdO1G1]OOQT1G0^1G0^O!%WQ`O,5<WO#$ZQaO'#EXOOQS1G0Z1G0ZO#$bQ`O,5:yOFuQaO,5:yO#$gQaO,5:}O#$nQdO,5:{O#&jQdO,5>wO#(fQaO'#HdO#(vQ`O,5>vOOQS1G0d1G0dO#)OQ`O1G0dO#)TQ`O'#I^O#*mQ`O'#I^O#*uQ`O,5;ROIbQaO,5;ROOQS1G0u1G0uPOQO'#E}'#E}O#+fQdO1G1RO0aQ`O'#HgO#-hQtO,5;cO#.YQaO1G0|OOQS,5;e,5;eO#0iQtO,5;gO#0vQdO1G0cO*kQaO1G0cO#2cQdO1G1YO#4OQdO1G1[OOQO,5<^,5<^O#4`Q`O'#HjO#4nQ`O,5?ROOQO1G1w1G1wO#4vQ`O,5?ZO!&WQdO1G3TO<_Q`O1G3TOOQ#u1G3U1G3UO#4{Q`O1G3YO!1RQ`O1G3VO#5WQ`O1G3VO#5]QpO'#FoO#5kQ`O'#FoO#5{Q`O'#FoO#6WQ`O'#FoO#6`Q`O'#FsO#6eQ`O'#FtOOQO'#If'#IfO#6lQ`O'#IeO#6tQ`O,5<YOOQS1G1r1G1rO0aQ`O1G1rO#6yQ`O1G1rO#7OQ`O1G1rO!%WQ`O1G4uO#7ZQdO1G4uO!%WQ`O1G1rO#7iQ`O1G1|O!%WQ`O1G1|O9yQaO,5<kO#7qQdO'#HqO#8PQdO,5?YOOQ#u1G3c1G3cO*kQaO1G1|O0aQ`O1G1|O#8[QdO1G1}O7RQ`O'#FyO7RQ`O'#FzO#:nQ`O'#F{OOQS1G1}1G1}O!-xQ`O1G1}O!1UQ`O1G1}O!1RQ`O1G1}O#;eO`O,5<xO#;jO`O,5<xO#;uO!bO,5<yO#<TQ`O,5<|OOOQ-E;q-E;qOOQS1G2c1G2cO#<[QaO'#GeO#<uQ$VO1G2jO#AuQ`O1G2jO#BQQ`O'#GgO#B]Q`O'#GjOOQ#u1G2l1G2lO#BhQ`O1G2lOOQ#u'#Gl'#GlOOQ#u'#Iu'#IuOOQ#u1G2q1G2qO#BmQ`O1G2qO,zQ`O1G2sO#BrQaO,5=ZO#ByQ`O,5=ZOOQ#u1G2t1G2tO#COQ`O1G2tO#CTQ`O,5=^OOQ#u1G2w1G2wO#DgQ`O1G2wOOQ#u1G2z1G2zOOQ#u1G2{1G2{OOQ#u1G2|1G2|OOQ#u1G2}1G2}O#DlQ`O'#HxO9oQ`O'#HxO#DqQ$VO1G3OO#IwQ`O1G3QO9yQaO'#HwO#I|QdO,5=[OOQ#u1G3R1G3RO#JXQ`O1G3SO9yQaO,5<iO#J^QdO'#HpO#JlQdO,5?WOOQ#u1G3T1G3TOOQ#u1G3W1G3WO!-xQ`O1G3WOOQ#u1G3X1G3XO#JwQ`O'#HTOOQ#u1G3Y1G3YO#KqQ`O1G3YO0aQ`O1G3YOOQ#u1G3]1G3]O!&WQdO1G3^O#KvQ`O1G3^O#LOQdO'#HzO#LaQdO,5?cO#LlQ`O,5?cO#LqQ`O'#HYO7RQ`O'#HYO#L|Q`O'#IxO#MUQ`O,5=sOOQ#u1G3^1G3^O!.eQ`O1G3^O!.eQ`O1G3^O#MZQeO'#HbO#MkQdO,5>tOOQ#u1G3b1G3bOOQ#u1G3V1G3VO!-xQ`O1G3VO!1UQ`O1G3VOOO#u1G/x1G/xO*kQaO7+%sO#MyQdO7+%sOOQS7+&[7+&[O$ fQ`O,5>yO>UQaO,5;`O$ mQ`O,5;aO$#SQaO'#HfO$#^Q`O,5>zOOQS1G0y1G0yO$#fQ`O'#EYO$#kQ`O'#IXO$#sQ`O,5:sOOQS1G0e1G0eO$#xQ`O1G0eO$#}Q`O1G0iO9yQaO1G0iOOQO,5>O,5>OOOQO-E;b-E;bOOQS7+&O7+&OO>UQaO,5;SO$%dQaO'#HeO$%nQ`O,5>xOOQS1G0m1G0mO$%vQ`O1G0mOOQS,5>R,5>ROOQS-E;e-E;eO$%{QdO7+&hO$'}QtO1G1RO$([QdO7+%}OOQS1G0i1G0iOOQO,5>U,5>UOOQO-E;h-E;hOOQ#u7+(o7+(oO!&WQdO7+(oOOQ#u7+(t7+(tO#KqQ`O7+(tO0aQ`O7+(tOOQ#u7+(q7+(qO!-xQ`O7+(qO!1UQ`O7+(qO!1RQ`O7+(qO$)wQ`O,5<ZO$*SQ`O,5<ZO$*[Q`O,5<_O$*aQpO,5<ZO>UQaO,5<ZOOQO,5<_,5<_O$*oQpO,5<`O$*wQ`O,5<`O$+SQ`O'#HkO$+mQ`O,5?POOQS1G1t1G1tO$+uQpO7+'^O$+}Q`O'#FuO$,YQ`O7+'^OOQS7+'^7+'^O0aQ`O7+'^O#6yQ`O7+'^O$,bQdO7+*aO0aQ`O7+*aO$,pQ`O7+'^O*kQaO7+'hO0aQ`O7+'hO$,{Q`O7+'hO$-TQdO1G2VOOQS,5>],5>]OOQS-E;o-E;oO$.mQdO7+'hO$.}QpO7+'hO$/VQdO'#IiOOQO,5<e,5<eOOQO,5<f,5<fO$/hQpO'#GOO$/pQ`O'#GOOOQO'#Ik'#IkOOQO'#Ho'#HoO$0aQ`O'#GOO<_Q`O'#F|O!&WQdO'#GOO!.YQdO'#GQO7RQ`O'#GROOQO'#Ij'#IjOOQO'#Hn'#HnO$0}Q`O,5<gOOQ#y,5<g,5<gOOQS7+'i7+'iO!-xQ`O7+'iO!1UQ`O7+'iOOOQ1G2d1G2dO$1tO`O1G2dO$1yO!bO1G2eO$2XO`O'#G`O$2^O`O1G2eOOOQ1G2h1G2hO$2cQaO,5=PO,zQ`O'#HtO$2|Q$VO7+(UOhQaO7+(UO,zQ`O'#HuO$7|Q`O7+(UO!&WQdO7+(UO$8XQ`O7+(UO$8^QaO'#GhO$:mQ`O'#GiOOQO'#Hv'#HvO$:uQ`O,5=ROOQ#u,5=R,5=RO$;QQ`O,5=UO!&WQdO7+(WO!&WQdO7+(]O!&WQdO7+(_O$;]QaO1G2uO$;dQ`O1G2uO$;iQaO1G2uO!&WQdO7+(`O9yQaO1G2xO!&WQdO7+(cO0aQ`O'#GyO9oQ`O,5>dOOQ#u,5>d,5>dOOQ#u-E;v-E;vO$;pQaO7+(lO$<XQdO,5>cOOQS-E;u-E;uO!&WQdO7+(nO$=qQdO1G2TOOQS,5>[,5>[OOQS-E;n-E;nOOQ#u7+(r7+(rO$?ZQ`O'#GOO$?}Q`O'#HUOOQO'#Hy'#HyO$@SQ`O,5=oOOQ#u,5=o,5=oO$@|QpO7+(tOOQ#u7+(x7+(xO!&WQdO7+(xO$AXQdO,5>fOOQS-E;x-E;xO$AgQdO1G4}O$ArQ`O,5=tO$AwQ`O,5=tO$BSQ`O'#H{O$BhQ`O,5?dOOQS1G3_1G3_O#KvQ`O7+(xO$BpQdO,5=|OOQS-E;`-E;`O$D]QdO<<I_OOQS1G4e1G4eO$ExQ`O1G0zOOQO,5>Q,5>QOOQO-E;d-E;dO$8^QaO,5:tO$G_QaO'#HcO$GlQ`O,5>sOOQS1G0_1G0_OOQS7+&P7+&PO$GtQ`O7+&TO$IZQ`O1G0nO$JpQ`O,5>POOQO,5>P,5>POOQO-E;c-E;cOOQS7+&X7+&XOOQS7+&T7+&TOOQ#u<<LZ<<LZOOQ#u<<L`<<L`O$@|QpO<<L`OOQ#u<<L]<<L]O!-xQ`O<<L]O!1UQ`O<<L]O>UQaO1G1uO$LYQ`O1G1uO$LeQ`O1G1yOOQO1G1y1G1yO$LjQ`O1G1uO$LrQ`O1G1uO$NXQ`O1G1zO>UQaO1G1zOOQO,5>V,5>VOOQO-E;i-E;iOOQS<<Jx<<JxO$NdQ`O'#IhO$NlQ`O'#IhO$NqQ`O,5<aO0aQ`O<<JxO$+uQpO<<JxO$NvQ`O<<JxO0aQ`O<<M{O% OQtO<<M{O#6yQ`O<<JxO% ^QdO<<KSO% nQpO<<KSO*kQaO<<KSO0aQ`O<<KSO% vQdO'#HmO%!_QdO,5?TO!&WQdO,5<jO$/hQpO,5<jO%!pQ`O,5<jO<_Q`O,5<hO!.YQdO,5<lOOQO-E;m-E;mO!&WQdO,5<hOOQO,5<j,5<jOOQO,5<l,5<lO%#^QdO,5<mOOQO-E;l-E;lOOQ#y1G2R1G2ROOQS<<KT<<KTO!-xQ`O<<KTOOOQ7+(O7+(OO%#iO`O7+(POOOO,5<z,5<zOOOQ7+(P7+(POhQaO,5>`OOQ#u-E;r-E;rOhQaO<<KpOOQ#u<<Kp<<KpO$8XQ`O,5>aOOQO-E;s-E;sO!&WQdO<<KpO$8XQ`O<<KpO%#nQ`O<<KpO%#sQ`O,5=SO%%YQaO,5=TOOQO-E;t-E;tOOQ#u1G2m1G2mOOQ#u<<Kr<<KrOOQ#u<<Kw<<KwOOQ#u<<Ky<<KyOOQT7+(a7+(aO%%jQ`O7+(aO%%oQaO7+(aO%%vQ`O7+(aOOQ#u<<Kz<<KzO%%{Q`O7+(dO%'bQ`O7+(dOOQ#u<<K}<<K}O%'gQpO,5=eOOQ#u1G4O1G4OO%'rQ`O<<LWOOQ#u<<LY<<LYO%'wQ`O,5=pO%'|QdO,5=pOOQO-E;w-E;wOOQ#u1G3Z1G3ZO#KqQ`O<<L`OOQ#u<<Ld<<LdO%(XQ`O1G4QO%(^QdO7+*iOOQO1G3`1G3`O%(iQ`O1G3`O%(nQ`O'#HZO7RQ`O'#HZOOQO,5>g,5>gOOQO-E;y-E;yO!&WQdO<<LdO%(yQ`O1G0`OOQO,5=},5=}OOQO-E;a-E;aO>UQaO,5;TOOQ#uANAzANAzO#KqQ`OANAzOOQ#uANAwANAwO!-xQ`OANAwO%*`Q`O7+'aO>UQaO7+'aOOQO7+'e7+'eO%+uQ`O7+'aO%,QQ`O7+'eO>UQaO7+'fO%,VQ`O7+'fO%-lQ`O'#HlO%-zQ`O,5?SO%-zQ`O,5?SOOQO1G1{1G1{O$+uQpOAN@dOOQSAN@dAN@dO0aQ`OAN@dO%.SQtOANCgO%.bQ`OAN@dO*kQaOAN@nO%.jQdOAN@nO%.zQpOAN@nOOQS,5>X,5>XOOQS-E;k-E;kOOQO1G2U1G2UO!&WQdO1G2UO$/hQpO1G2UO<_Q`O1G2SO!.YQdO1G2WO!&WQdO1G2SOOQO1G2W1G2WOOQO1G2S1G2SO%/SQaO'#GSOOQO1G2X1G2XOOQSAN@oAN@oOOOQ<<Kk<<KkOOQ#u1G3z1G3zOOQ#uANA[ANA[OOQO1G3{1G3{O%1RQ`OANA[O!&WQdOANA[O%1WQaO1G2nO%1hQaO1G2oOOQT<<K{<<K{O%1xQ`O<<K{O%1}QaO<<K{O*kQaO,5=_OOQT<<LO<<LOOOQO1G3P1G3PO%2UQ`O1G3PO!+WQeOANArO%2ZQdO1G3[OOQO1G3[1G3[O%2fQ`O1G3[OOQS7+)l7+)lOOQO7+(z7+(zO%2nQ`O,5=uO%2sQ`O,5=uOOQ#uANBOANBOO%3OQ`O1G0oOOQ#uG27fG27fOOQ#uG27cG27cO%4eQ`O<<J{O>UQaO<<J{OOQO<<KP<<KPO%5zQ`O<<KQOOQO,5>W,5>WO%7aQ`O,5>WOOQO-E;j-E;jO%7fQ`O1G4nOOQSG26OG26OO$+uQpOG26OO0aQ`OG26OO%7nQdOG26YO*kQaOG26YOOQO7+'p7+'pO!&WQdO7+'pO!&WQdO7+'nOOQO7+'r7+'rOOQO7+'n7+'nO%8OQ`OLD+tO%9_Q`O'#E}O%9iQ`O'#IZO!&WQdO'#HrO%;fQaO,5<nOOQO,5<n,5<nO!&WQdOG26vOOQ#uG26vG26vO%=eQaO7+(YOOQTANAgANAgO%=uQ`OANAgO%=zQ`O1G2yOOQO7+(k7+(kOOQ#uG27^G27^O%>RQ`OG27^OOQO7+(v7+(vO%>WQ`O7+(vO!&WQdO7+(vOOQO1G3a1G3aO%>`Q`O1G3aO%>eQ`OAN@gOOQO1G3r1G3rOOQSLD+jLD+jO$+uQpOLD+jO%?zQdOLD+tOOQO<<K[<<K[OOQO<<KY<<KYO%@[Q`O,5<oO%@aQ`O,5<pOOQP,5>^,5>^OOQP-E;p-E;pOOQO1G2Y1G2YOOQ#uLD,bLD,bOOQTG27RG27RO!&WQdOLD,xO!&WQdO<<LbOOQO<<Lb<<LbOOQO7+({7+({OOQS!$( U!$( UOOQS1G2Z1G2ZOOQS1G2[1G2[O%@iQdO1G2[OOQ#u!$(!d!$(!dOOQOANA|ANA|OOQS7+'v7+'vO%@tQ`O'#E{O%@tQ`O'#E{O%@yQ`O,5;gO%AOQdO,5<cO%BzQaO,5:}O*kQaO1G0iO%CRQaO'#FwO#.YQaO'#GVO#.YQaO'#GYO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO%CYQdO'#I]O%DxQdO'#I]O#.YQaO'#EaO#.YQaO'#I]O%FzQaO,5:wO#.YQaO,5;nO#.YQaO,5;pO%GRQdO,5<PO%H}QdO,5<QO%JyQdO,5<RO%LuQdO,5<SO%NqQdO,5<SO& XQdO,5<VO&#TQdO,5<tO#.YQaO1G0XO&%PQdO1G1]O&&{QdO1G1]O&(wQdO1G1]O&*sQdO1G1]O&,oQdO1G1]O&.kQdO1G1]O&0gQdO1G1]O&2cQdO1G1]O&4_QdO1G1]O&6ZQdO1G1]O&8VQdO1G1]O&:RQdO1G1]O&;}QdO1G1]O&=yQdO1G1]O&?uQdO1G1]O&AqQdO,5:{O&CmQdO,5>wO&EiQdO1G0cO#.YQaO1G0cO&GeQdO1G1YO&IaQdO1G1[O#.YQaO1G1|O#.YQaO7+%sO&K]QdO7+%sO&MXQdO7+%}O#.YQaO7+'hO' TQdO7+'hO'#PQdO<<I_O'${QdO<<KSO#.YQaO<<KSO#.YQaOAN@nO'&wQdOAN@nO'(sQdOG26YO#.YQaOG26YO'*oQdOLD+tO',kQaO,5:}O'.jQaO1G0iO'0fQdO'#IWO'0yQeO'#FUO'4yQeO'#FUO#.YQaO'#FeO'.jQaO'#FeO#.YQaO'#FfO'.jQaO'#FfO#.YQaO'#FgO'.jQaO'#FgO#.YQaO'#FhO'.jQaO'#FhO#.YQaO'#FhO'.jQaO'#FhO#.YQaO'#FkO'.jQaO'#FkO'9PQaO,5:mO'9WQ`O,5<bO'9`Q`O1G0XO'.jQaO1G0|O':rQ`O1G1|O':zQ`O7+'hO';SQpO7+'hO';[QpO<<KSO';dQpOAN@nO';lQaO'#FwO'.jQaO'#GVO'.jQaO'#GYO'.jQaO,5;qO'.jQaO,5;qO'.jQaO,5;qO'.jQaO,5;qO'.jQaO,5;qO'.jQaO,5;qO'.jQaO,5;qO'.jQaO,5;qO'.jQaO,5;qO'.jQaO,5;qO'.jQaO,5;qO'.jQaO,5;qO'.jQaO,5;qO'.jQaO,5;qO'.jQaO,5;qO'.jQaO,5;qO'.jQaO'#EaO'.jQaO'#I]O'=kQaO,5:wO'.jQaO,5;nO'.jQaO,5;pO'?jQdO,5<PO'AlQdO,5<QO'CnQdO,5<RO'EpQdO,5<SO'GrQdO,5<SO'H`QdO,5<VO'JbQdO,5<tO'.jQaO1G0XO'LdQdO1G1]O'NfQdO1G1]O(!hQdO1G1]O($jQdO1G1]O(&lQdO1G1]O((nQdO1G1]O(*pQdO1G1]O(,rQdO1G1]O(.tQdO1G1]O(0vQdO1G1]O(2xQdO1G1]O(4zQdO1G1]O(6|QdO1G1]O(9OQdO1G1]O(;QQdO1G1]O(=SQdO,5:{O(?UQdO,5>wO(AWQdO1G0cO'.jQaO1G0cO(CYQdO1G1YO(E[QdO1G1[O'.jQaO1G1|O'.jQaO7+%sO(G^QdO7+%sO(I`QdO7+%}O'.jQaO7+'hO(KbQdO7+'hO(MdQdO<<I_O) fQdO<<KSO'.jQaO<<KSO'.jQaOAN@nO)#hQdOAN@nO)%jQdOG26YO'.jQaOG26YO)'lQdOLD+tO))nQaO,5:}O#.YQaO1G0iO))uQ`O'#FvO))}QpO,5;bO)*VQ`O,5<bO!%WQ`O,5<bO!%WQ`O1G1|O0aQ`O1G1|O0aQ`O7+'hO0aQ`O<<KSO)*_QdO,5<cO),aQdO'#I]O).`QdO'#IWO).yQaO,5:mO)/QQ`O,5<bO)/YQ`O1G0XO)0lQ`O1G1|O)0tQ`O7+'hO)0|QpO7+'hO)1UQpO<<KSO)1^QpOAN@nO0aQ`O'#EvO9yQaO'#FeO9yQaO'#FfO9yQaO'#FgO9yQaO'#FhO9yQaO'#FhO9yQaO'#FkO)1fQaO'#FwO9yQaO'#GVO9yQaO'#GYO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO)1mQ`O'#FlO*kQaO'#EaO*kQaO'#I]O)1uQaO,5:wO9yQaO,5;nO9yQaO,5;pO)1|QdO,5<PO)3xQdO,5<QO)5tQdO,5<RO)7pQdO,5<SO)9lQdO,5<SO):SQdO,5<VO)<OQdO,5<cO)=zQdO,5<tO)?vQ`O'#IvO)A]Q`O'#IYO9yQaO1G0XO)BrQdO1G1]O)DnQdO1G1]O)FjQdO1G1]O)HfQdO1G1]O)JbQdO1G1]O)L^QdO1G1]O)NYQdO1G1]O*!UQdO1G1]O*$QQdO1G1]O*%|QdO1G1]O*'xQdO1G1]O*)tQdO1G1]O*+pQdO1G1]O*-lQdO1G1]O*/hQdO1G1]O*1dQaO,5:}O*1kQdO,5:{O*1{QdO,5>wO*2]QaO'#HdO*2mQ`O,5>vO*2uQdO1G0cO9yQaO1G0cO*4qQdO1G1YO*6mQdO1G1[O9yQaO1G1|O>UQaO'#HwO*8iQ`O,5=[O*8qQaO'#HbO*8{Q`O,5>tO9yQaO7+%sO*9TQdO7+%sO*;PQ`O1G0iO>UQaO1G0iO*<fQdO7+%}O9yQaO7+'hO*>bQdO7+'hO*@^Q`O,5>cO*AsQ`O,5=|O*CYQdO<<I_O*EUQ`O7+&TO*FkQdO<<KSO9yQaO<<KSO9yQaOAN@nO*HgQdOAN@nO*JcQdOG26YO9yQaOG26YO*L_QdOLD+tO*NZQaO,5:}O9yQaO1G0iO*NbQdO'#I]O*N{Q`O'#FvO+ TQ`O,5<bO!%WQ`O,5<bO!%WQ`O1G1|O0aQ`O1G1|O0aQ`O7+'hO0aQ`O<<KSO+ ]QdO'#IWO+ vQeO'#FUO+!dQaO'#FUO+$]QaO'#FUO+%xQaO'#FUO>UQaO'#FeO>UQaO'#FfO>UQaO'#FgO>UQaO'#FhO>UQaO'#FhO>UQaO'#FkO+'qQaO'#FwO>UQaO'#GVO>UQaO'#GYO+'xQaO,5:mO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO+(PQ`O'#I]O$8^QaO'#EaO+)iQaOG26YO$8^QaO'#I]O++eQ`O'#I[O++mQaO,5:wO>UQaO,5;nO>UQaO,5;pO++tQ`O,5<PO+-aQ`O,5<QO+.|Q`O,5<RO+0iQ`O,5<SO+2UQ`O,5<SO+3qQ`O,5<VO+5^Q`O,5<bO+5fQ`O,5<cO+7RQ`O,5<tO+8nQ`O1G0XO>UQaO1G0XO+:QQ`O1G1]O+;mQ`O1G1]O+=YQ`O1G1]O+>uQ`O1G1]O+@bQ`O1G1]O+A}Q`O1G1]O+CjQ`O1G1]O+EVQ`O1G1]O+FrQ`O1G1]O+H_Q`O1G1]O+IzQ`O1G1]O+KgQ`O1G1]O+MSQ`O1G1]O+NoQ`O1G1]O,![Q`O1G1]O,#wQ`O1G0cO>UQaO1G0cO,%dQ`O1G1YO,'PQ`O1G1[O,(lQ`O1G1|O>UQaO1G1|O>UQaO7+%sO,(tQ`O7+%sO,*aQ`O7+%}O>UQaO7+'hO,+|Q`O7+'hO,,UQ`O7+'hO,-qQpO7+'hO,-yQ`O<<I_O,/fQ`O<<KSO,1RQpO<<KSO>UQaO<<KSO>UQaOAN@nO,1ZQ`OAN@nO,2vQpOAN@nO,3OQ`OG26YO>UQaOG26YO,4kQ`OLD+tO,6WQaO,5:}O>UQaO1G0iO,6_Q`O'#I]O$8^QaO'#FeO$8^QaO'#FfO$8^QaO'#FgO$8^QaO'#FhO$8^QaO'#FhO+)iQaO'#FhO$8^QaO'#FkO,6lQaO'#FwO,6sQaO'#FwO$8^QaO'#GVO+)iQaO'#GVO$8^QaO'#GYO$8^QaO,5;qO+)iQaO,5;qO$8^QaO,5;qO+)iQaO,5;qO$8^QaO,5;qO+)iQaO,5;qO$8^QaO,5;qO+)iQaO,5;qO$8^QaO,5;qO+)iQaO,5;qO$8^QaO,5;qO+)iQaO,5;qO$8^QaO,5;qO+)iQaO,5;qO$8^QaO,5;qO+)iQaO,5;qO$8^QaO,5;qO+)iQaO,5;qO$8^QaO,5;qO+)iQaO,5;qO$8^QaO,5;qO+)iQaO,5;qO$8^QaO,5;qO+)iQaO,5;qO$8^QaO,5;qO+)iQaO,5;qO$8^QaO,5;qO+)iQaO,5;qO$8^QaO,5;qO+)iQaO,5;qO$8^QaO,5;qO+)iQaO,5;qO,8rQ`O'#FlO>UQaO'#EaO>UQaO'#I]O,8zQaO,5:wO,9RQaO,5:wO$8^QaO,5;nO+)iQaO,5;nO$8^QaO,5;pO,;QQ`O,5<PO,<mQ`O,5<QO,>YQ`O,5<RO,?uQ`O,5<SO,AbQ`O,5<SO,B}Q`O,5<SO,D^Q`O,5<VO,EyQ`O,5<cO%8OQ`O,5<cO,GfQ`O,5<tO$8^QaO1G0XO+)iQaO1G0XO,IRQ`O1G1]O,JnQ`O1G1]O,K}Q`O1G1]O,MjQ`O1G1]O,NyQ`O1G1]O-!fQ`O1G1]O-#uQ`O1G1]O-%bQ`O1G1]O-&qQ`O1G1]O-(^Q`O1G1]O-)mQ`O1G1]O-+YQ`O1G1]O-,iQ`O1G1]O-.UQ`O1G1]O-/eQ`O1G1]O-1QQ`O1G1]O-2aQ`O1G1]O-3|Q`O1G1]O-5]Q`O1G1]O-6xQ`O1G1]O-8XQ`O1G1]O-9tQ`O1G1]O-;TQ`O1G1]O-<pQ`O1G1]O->PQ`O1G1]O-?lQ`O1G1]O-@{Q`O1G1]O-BhQ`O1G1]O-CwQ`O1G1]O-EdQ`O1G1]O-FsQ`O,5:{O-H`Q`O,5>wO-I{Q`O1G0cO-KhQ`O1G0cO$8^QaO1G0cO+)iQaO1G0cO-LwQ`O1G1YO-NdQ`O1G1YO. sQ`O1G1[O$8^QaO1G1|O$8^QaO7+%sO+)iQaO7+%sO.#`Q`O7+%sO.${Q`O7+%sO.&[Q`O7+%}O.'wQ`O7+%}O$8^QaO7+'hO.)WQ`O7+'hO.*sQ`O<<I_O.,`Q`O<<I_O.-oQ`O<<KSO$8^QaO<<KSO$8^QaOAN@nO./[Q`OAN@nO.0wQ`OG26YO$8^QaOG26YO.2dQ`OLD+tO.4PQaO,5:}O.4WQaO,5:}O$8^QaO1G0iO+)iQaO1G0iO.6VQ`O'#I]O.7iQ`O'#I]O.;OQ`O'#IWO.;`Q`O'#FvO.;hQaO,5:mO.;oQ`O,5<bO.;wQ`O,5<bO!%WQ`O,5<bO.<PQ`O1G0XO.=cQ`O,5:{O.?OQ`O,5>wO.@kQ`O1G1|O!%WQ`O1G1|O0aQ`O1G1|O0aQ`O7+'hO.@sQ`O7+'hO.@{QpO7+'hO.ATQpO<<KSO0aQ`O<<KSO.A]QpOAN@nO.AeQ`O'#IWO.AuQ`O'#IWO.ClQaO,5:mO.CsQaO,5:mO.CzQ`O,5<bO.DSQ`O7+'hO.D[Q`O1G0XO.EnQ`O1G0XO.GQQ`O1G1|O.GYQ`O7+'hO.GbQpO7+'hO.GjQpOAN@nO.GrQpO<<KSO.GzQpOAN@nO.HSQ`O'#FvO.H[Q`O'#FlO.HdQ`O,5<bO!%WQ`O,5<bO!%WQ`O1G1|O0aQ`O1G1|O0aQ`O7+'hO0aQ`O<<KSO.HlQ`O'#FvO.HtQ`O,5<bO.H|Q`O,5<bO!%WQ`O,5<bO!%WQ`O1G1|O!%WQ`O1G1|O0aQ`O1G1|O0aQ`O<<KSO0aQ`O7+'hO0aQ`O<<KSO.IUQ`O'#FlO.I^Q`O'#FlO.IfQ`O'#Fl",stateData:".I{~O!dOS!eOS&vOS!gQQ~O!iTO&wRO~OPgOQ|OS!lOU^OW}OX!XO[mO]!_O^!WO`![Oa!SOb!]Ok!dOm!lOowOp!TOq!UOsuOt!gOu!VOv!POxkOykO|!bO}`O!O]O!P!eO!QxO!R}O!TpO!UlO!VlO!W!YO!X!QO!YzO!Z!cO![!ZO!]!^O!^!fO!`!`O!a!RO!cjO!mWO!oXO!sYO!y[O#W_O#bhO#daO#ebO#peO$ToO$]nO$^oO$aqO$drO$l!kO$zyO${!OO$}}O%O}O%V|O'g{O~O!g!mO~O&wRO!i!hX&p!hX&t!hX~O!i!pO~O!d!qO!e!qO!g!mO&t!tO&v!qO~PhO!n!vO~PhOT'VXz'VX!S'VX!b'VX!m'VX!o'VX!v'VX!y'VX#S'VX#W'VX#`'VX#a'VX#p#qX#s'VX#z'VX#{'VX#|'VX#}'VX$O'VX$Q'VX$R'VX$S'VX$T'VX$U'VX$V'VX$W'VX$z'VX&s'VX~O!q!xO~P&sOT#TOz#RO!S#UO!b#VO!m#cO!o!{O!v!yO!y!}O#S#QO#W!zO#`!|O#a!|O#s#PO#z#SO#{#WO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dO&s#cO~OPgOQ|OU^OW}O[mOowOs#hOxkOykO}`O!O]O!QxO!R}O!TpO!UlO!VlO!YzO!cjO!s#gO!y[O#W_O#bhO#daO#ebO#peO$ToO$]nO$^oO$aqO$zyO${!OO$}}O%O}O%V|O'g{O~O!y[O~O!y#kO~OP6ZOQ|OU^OW}O[6^Oo=WOs#hOx6[Oy6[O}`O!O]O!Q6bO!R}O!T6aO!U6]O!V6]O!Y6dO!c8dO!s#gO!y[O#S#oO#U#nO#W_O#bhO#daO#ebO#peO$T6`O$]6_O$^6`O$aqO$z6cO${!OO$}}O%O}O%V|O'g{O#X'OP~O!}#sO~P-UO!y#tO~O#b#vO#daO#ebO~O#p#xO~O!s#yO~OU$PO!R$PO!s$OO!v#}O#p2VO~OT&zXz&zX!S&zX!b&zX!m&zX!o&zX!v&zX!y&zX#S&zX#W&zX#`&zX#a&zX#s&zX#z&zX#{&zX#|&zX#}&zX$O&zX$Q&zX$R&zX$S&zX$T&zX$U&zX$V&zX$W&zX$z&zX&s&zX!x&zX!n&zX~O#u$RO#w$SO~P0rOP6ZOQ|OU^OW}O[6^Oo=WOs#hOx6[Oy6[O}`O!O]O!Q6bO!R}O!T6aO!U6]O!V6]O!Y6dO!c8dO!s#gO!y[O#W_O#bhO#daO#ebO#peO$T6`O$]6_O$^6`O$aqO$z6cO${!OO$}}O%O}O%V|O'g{OT#xXz#xX!S#xX!b#xX!m#xX!o#xX!v#xX#`#xX#a#xX#s#xX#z#xX#{#xX#|#xX#}#xX$O#xX$Q#xX$R#xX$S#xX$U#xX$V#xX$W#xX&s#xX!x#xX!n#xX~Or$UO#S6wO#U6vO~P2yO!s#gO#peO~OS$gO]$bOk$eOm$gOs$aO!`$cO$drO$l$fO~O!s$kO!y$hO#S$jO~Oo$mOs$lO#b$nO~O!y$hO#S$rO~O$l$tO~P*kOR$zO!o$yO#b$xO#e$yO&q$zO~O'f$|O~P8lO!y%RO~O!y%TO~O!s%VO~O!m#cO&s#cO~P*kO!oXO~O!y%_O~OP6ZOQ|OU^OW}O[6^Oo=WOs#hOx6[Oy6[O}`O!O]O!Q6bO!R}O!T6aO!U6]O!V6]O!Y6dO!c8dO!s#gO!y[O#W_O#bhO#daO#ebO#peO$T6`O$]6_O$^6`O$aqO$z6cO${!OO$}}O%O}O%V|O'g{O~O!y%cO~O!s%dO~O]$bO~O!s%hO~O!s%iO~O!s%jO~O!oXO!s#gO#peO~O]%rOs%rO!o%pO!s#gO#p%nO~O!s%vO~O!i%wO&t%wO&wRO~O&t%zO~PhO!n%{O~PhOPgOQ|OU^OW}O[8jOo=wOs#hOx8hOy8hO}`O!O]O!Q8nO!R}O!T8mO!U8iO!V8iO!Y8pO!c8gO!s#gO!y[O#W_O#bhO#daO#ebO#peO$T8lO$]8kO$^8lO$aqO$z8oO${!OO$}}O%O}O%V|O'g{O~O!q%}O~P>UO#X&PO~P>UO!o&SO!s&RO#b&RO~OPgOQ|OU^OW}O[8jOo=wOs#hOx8hOy8hO}`O!O]O!Q8nO!R}O!T8mO!U8iO!V8iO!Y8pO!c8gO!s&VO!y[O#U&WO#W_O#bhO#daO#ebO#peO$T8lO$]8kO$^8lO$aqO$z8oO${!OO$}}O%O}O%V|O'g{O~O!x'SP~PAOO!s&[O#b&[O~OT#TOz#RO!S#UO!b#VO!o!{O!v!yO!y!}O#S#QO#W!zO#`!|O#a!|O#s#PO#z#SO#{#WO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dO~O!x&nO~PCqO!x'VX!}'VX#O'VX#X'VX!n'VXV'VX!q'VX#u'VX#w'VXw'VX~P&sO!y$hO#S&oO~Oo$mOs$lO~O!o&pO~O!}&sO#S;bO#U;aO!x'OP~P9yOT6gOz6eO!S6hO!b6iO!o!{O!v8qO!y!}O#S#QO#W!zO#`!|O#a!|O#s#PO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!}'PX#X'PX~O#O&tO~PGSO!}&wO#X'OX~O#X&yO~O!}'OO!x'QP~P9yO!n'PO~PCqO!m#oa!o#oa#S#oa#p#qX&s#oa!x#oa#O#oaw#oa~OT#oaz#oa!S#oa!b#oa!v#oa!y#oa#W#oa#`#oa#a#oa#s#oa#z#oa#{#oa#|#oa#}#oa$O#oa$Q#oa$R#oa$S#oa$T#oa$U#oa$V#oa$W#oa$z#oa!}#oa#X#oa!n#oaV#oa!q#oa#u#oa#w#oa~PIpO!s'RO~O!x'UO#l'SO~O!x'VX#l'VX#p#qX#S'VX#U'VX#b'VX!o'VX#O'VXw'VX!m'VX&s'VX~O#S'YO~P*kO!m$Xa&s$Xa!x$Xa!n$Xa~PCqO!m$Ya&s$Ya!x$Ya!n$Ya~PCqO!m$Za&s$Za!x$Za!n$Za~PCqO!m$[a&s$[a!x$[a!n$[a~PCqO!o!{O!y!}O#W!zO#`!|O#a!|O#s#PO$z#dOT$[a!S$[a!b$[a!m$[a!v$[a#S$[a#z$[a#{$[a#|$[a#}$[a$O$[a$Q$[a$R$[a$S$[a$T$[a$U$[a$V$[a$W$[a&s$[a!x$[a!n$[a~Oz#RO~PNyO!m$_a&s$_a!x$_a!n$_a~PCqO!y!}O!}$fX#X$fX~O!}'^O#X'ZX~O#X'`O~O!s$kO#S'aO~O]'cO~O!s'eO~O!s'fO~O$l'gO~O!`'mO#S'kO#U'lO#b'jO$drO!x'XP~P0aO!^'sO!oXO!q'rO~O!s'uO!y$hO~O!y$hO#S'wO~O!y$hO#S'yO~O#u'zO!m$sX!}$sX&s$sX~O!}'{O!m'bX&s'bX~O!m#cO&s#cO~O!q(PO#O(OO~O!m$ka&s$ka!x$ka!n$ka~PCqOl(ROw(SO!o(TO!y!}O~O!o!{O!y!}O#W!zO#`!|O#a!|O#s#PO~OT$yaz$ya!S$ya!b$ya!m$ya!v$ya#S$ya#z$ya#{$ya#|$ya#}$ya$O$ya$Q$ya$R$ya$S$ya$T$ya$U$ya$V$ya$W$ya$z$ya&s$ya!x$ya!}$ya#O$ya#X$ya!n$ya!q$yaV$ya#u$ya#w$ya~P!'WO!m$|a&s$|a!x$|a!n$|a~PCqO#W([O#`(YO#a(YO&r(ZOR&gX!o&gX#b&gX#e&gX&q&gX'f&gX~O'f(_O~P8lO!q(`O~PhO!o(cO!q(dO~O!q(`O&s(gO~PhO!a(kO~O!m(lO~P9yOZ(wOn(xO~O!s(zO~OT6gOz6eO!S6hO!b6iO!v8qO!}({O#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!m'jX&s'jX~P!'WO#u)PO~O!})QO!m'`X&s'`X~Ol(RO!o(TO~Ow(SO!o)WO!q)ZO~O!m#cO!oXO&s#cO~O!o%pO!s#yO~OV)aO!})_O!m'kX&s'kX~O])cOs)cO!s#gO#peO~O!o%pO!s#gO#p)hO~OT6gOz6eO!S6hO!b6iO!v8qO!})iO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!m&|X&s&|X#O&|X~P!'WOl(ROw(SO!o(TO~O!i)oO&t)oO~OT8tOz8rO!S8uO!b8vO!q)pO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#X)rO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO~P!'WO!n)rO~PCqOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x'TX!}'TX~P!'WOT'VXz'VX!S'VX!b'VX!o'VX!v'VX!y'VX#S'VX#W'VX#`'VX#a'VX#p#qX#s'VX#z'VX#{'VX#|'VX#}'VX$O'VX$Q'VX$R'VX$S'VX$T'VX$U'VX$V'VX$W'VX$z'VX~O!q)tO!x'VX!}'VX~P!5xO!x#iX!}#iX~P>UO!})vO!x'SX~O!x)xO~O$z#dOT#yiz#yi!S#yi!b#yi!m#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi$V#yi$W#yi&s#yi!x#yi!}#yi#O#yi#X#yi!n#yi!q#yiV#yi#u#yi#w#yi~P!'WOz#RO#S#QO#z#SO#{#WO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi&s#yi!x#yi!n#yi~P!'WOz#RO!v!yO#S#QO#z#SO#{#WO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi&s#yi!x#yi!n#yi~P!'WOT#TOz#RO!b#VO!v!yO#S#QO#z#SO#{#WO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dO!S#yi!m#yi&s#yi!x#yi!n#yi~P!'WOT#TOz#RO!v!yO#S#QO#z#SO#{#WO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dO!S#yi!b#yi!m#yi&s#yi!x#yi!n#yi~P!'WOz#RO#S#QO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#z#yi#{#yi&s#yi!x#yi!n#yi~P!'WOz#RO#S#QO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#z#yi#{#yi#|#yi&s#yi!x#yi!n#yi~P!'WOz#RO#S#QO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#z#yi#{#yi#|#yi#}#yi&s#yi!x#yi!n#yi~P!'WOz#RO#S#QO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#z#yi#{#yi#|#yi#}#yi$O#yi&s#yi!x#yi!n#yi~P!'WOz#RO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi&s#yi!x#yi!n#yi~P!'WOz#RO$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi&s#yi!x#yi!n#yi~P!'WOz#RO$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi&s#yi!x#yi!n#yi~P!'WOz#RO$T#`O$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$U#yi&s#yi!x#yi!n#yi~P!'WOz#RO$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi&s#yi!x#yi!n#yi~P!'WOz#RO$S#_O$T#`O$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$U#yi&s#yi!x#yi!n#yi~P!'WOz#RO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi$V#yi&s#yi!x#yi!n#yi~P!'WO_)yO~P9yO!x)|O~O#S*PO~P9yOT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!}#Ta#X#Ta#O#Ta!m#Ta&s#Ta!x#Ta!n#TaV#Ta!q#Ta~P!'WOT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!}'Pa#X'Pa#O'Pa!m'Pa&s'Pa!x'Pa!n'PaV'Pa!q'Pa~P!'WO#S#oO#U#nO!}&WX#X&WX~P9yO!}&wO#X'Oa~O#X*SO~OT6gOz6eO!S6hO!b6iO!v8qO!}*UO#O*TO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!x'QX~P!'WO!}*UO!x'QX~O!x*WO~O!m#oi!o#oi#S#oi#p#qX&s#oi!x#oi#O#oiw#oi~OT#oiz#oi!S#oi!b#oi!v#oi!y#oi#W#oi#`#oi#a#oi#s#oi#z#oi#{#oi#|#oi#}#oi$O#oi$Q#oi$R#oi$S#oi$T#oi$U#oi$V#oi$W#oi$z#oi!}#oi#X#oi!n#oiV#oi!q#oi#u#oi#w#oi~P#*zO#l'SO!x#ka#S#ka#U#ka#b#ka!o#ka#O#kaw#ka!m#ka&s#ka~OPgOQ|OU^OW}O[3|Oo5vOs#hOx3xOy3xO}`O!O]O!Q2[O!R}O!T4SO!U3zO!V3zO!Y2^O!c3vO!s#gO!y[O#W_O#bhO#daO#ebO#peO$T4QO$]4OO$^4QO$aqO$z2]O${!OO$}}O%O}O%V|O'g{O~O#l#oa#U#oa#b#oa~PIpOz#RO!v!yO#S#QO#z#SO#{#WO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#Pi!S#Pi!b#Pi!m#Pi&s#Pi!x#Pi!n#Pi~P!'WOz#RO!v!yO#S#QO#z#SO#{#WO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#vi!S#vi!b#vi!m#vi&s#vi!x#vi!n#vi~P!'WO!m#xi&s#xi!x#xi!n#xi~PCqO!s#gO#peO!}&^X#X&^X~O!}'^O#X'Za~O!s'uO~Ow(SO!o)WO!q*fO~O!s*jO~O#S*lO#U*mO#b*kO#l'SO~O#S*lO#U*mO#b*kO$drO~P0aO#u*oO!x$cX!}$cX~O#U*mO#b*kO~O#b*pO~O#b*rO~P0aO!}*sO!x'XX~O!x*uO~O!y*wO~O!^*{O!oXO!q*zO~O!q*}O!o'ci!m'ci&s'ci~O!q+QO#O+PO~O#b$nO!m&eX!}&eX&s&eX~O!}'{O!m'ba&s'ba~OT$kiz$ki!S$ki!b$ki!m$ki!o$ki!v$ki!y$ki#S$ki#W$ki#`$ki#a$ki#s$ki#u#fa#w#fa#z$ki#{$ki#|$ki#}$ki$O$ki$Q$ki$R$ki$S$ki$T$ki$U$ki$V$ki$W$ki$z$ki&s$ki!x$ki!}$ki#O$ki#X$ki!n$ki!q$kiV$ki~OS+^O]+aOm+^Os$aO!^+dO!_+^O!`+^O!n+hO#b$nO$aqO$drO~P0aO!s+lO~O#W+nO#`+mO#a+mO~O!s+pO#b+pO$}+pO%T+oO~O!n+qO~PCqOc%XXd%XXh%XXj%XXf%XXg%XXe%XX~PhOc+uOd+sOP%WiQ%WiS%WiU%WiW%WiX%Wi[%Wi]%Wi^%Wi`%Wia%Wib%Wik%Wim%Wio%Wip%Wiq%Wis%Wit%Wiu%Wiv%Wix%Wiy%Wi|%Wi}%Wi!O%Wi!P%Wi!Q%Wi!R%Wi!T%Wi!U%Wi!V%Wi!W%Wi!X%Wi!Y%Wi!Z%Wi![%Wi!]%Wi!^%Wi!`%Wi!a%Wi!c%Wi!m%Wi!o%Wi!s%Wi!y%Wi#W%Wi#b%Wi#d%Wi#e%Wi#p%Wi$T%Wi$]%Wi$^%Wi$a%Wi$d%Wi$l%Wi$z%Wi${%Wi$}%Wi%O%Wi%V%Wi&p%Wi'g%Wi&t%Wi!n%Wih%Wij%Wif%Wig%WiY%Wi_%Wii%Wie%Wi~Oc+yOd+vOh+xO~OY+zO_+{O!n,OO~OY+zO_+{Oi%^X~Oi,QO~Oj,RO~O!m,TO~P9yO!m,VO~Of,WO~OT6gOV,XOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO~P!'WOg,YO~O!y,ZO~OZ(wOn(xOP%liQ%liS%liU%liW%liX%li[%li]%li^%li`%lia%lib%lik%lim%lio%lip%liq%lis%lit%liu%liv%lix%liy%li|%li}%li!O%li!P%li!Q%li!R%li!T%li!U%li!V%li!W%li!X%li!Y%li!Z%li![%li!]%li!^%li!`%li!a%li!c%li!m%li!o%li!s%li!y%li#W%li#b%li#d%li#e%li#p%li$T%li$]%li$^%li$a%li$d%li$l%li$z%li${%li$}%li%O%li%V%li&p%li'g%li&t%li!n%lic%lid%lih%lij%lif%lig%liY%li_%lii%lie%li~O#u,_O~O!}({O!m%da&s%da~O!x,bO~O!s%dO!m&dX!}&dX&s&dX~O!})QO!m'`a&s'`a~OS+^OY,hO]+aOm+^Os$aO!^+dO!_+^O!`+^O!n,kO#b$nO$aqO$drO~P0aO!o)WO~O!o%pO!s'RO~O!s#gO#peO!m&nX!}&nX&s&nX~O!})_O!m'ka&s'ka~O!s,qO~OV,rO!n%|X!}%|X~O!},tO!n'lX~O!n,vO~O!m&UX!}&UX&s&UX#O&UX~P9yO!})iO!m&|a&s&|a#O&|a~Oz#RO#S#QO#z#SO#{#WO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT!uq!S!uq!b!uq!m!uq!v!uq&s!uq!x!uq!n!uq~P!'WO!n,{O~PCqOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x#ia!}#ia~P!'WO!x&YX!}&YX~PAOO!})vO!x'Sa~O#O-PO~O!}-QO!n&{X~O!n-SO~O!x-TO~OT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!}#Vi#X#Vi~P!'WO!x&XX!}&XX~P9yO!}*UO!x'Qa~O!x-ZO~OT#jqz#jq!S#jq!b#jq!m#jq!v#jq#S#jq#u#jq#w#jq#z#jq#{#jq#|#jq#}#jq$O#jq$Q#jq$R#jq$S#jq$T#jq$U#jq$V#jq$W#jq$z#jq&s#jq!x#jq!}#jq#O#jq#X#jq!n#jq!q#jqV#jq~P!'WO#l#oi#U#oi#b#oi~P#*zOz#RO!v!yO#S#QO#z#SO#{#WO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#Pq!S#Pq!b#Pq!m#Pq&s#Pq!x#Pq!n#Pq~P!'WO#u-cO!x$ca!}$ca~O#U-eO#b-dO~O#b-fO~O#S-gO#U-eO#b-dO#l'SO~O#b-iO#l'SO~O#u-jO!x$ha!}$ha~O!`'mO#S'kO#U'lO#b'jO$drO!x&_X!}&_X~P0aO!}*sO!x'Xa~O!oXO#l'SO~O#S-oO#b-nO!x'[P~O!oXO!q-qO~O!q-tO!o'cq!m'cq&s'cq~O!^-vO!oXO!q-qO~O!q-zO#O-yO~OT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!m$si!}$si&s$si~P!'WO!m$jq&s$jq!x$jq!n$jq~PCqO#O-yO#l'SO~O!}-{Ow']X!o']X!m']X&s']X~O#b$nO#l'SO~OS+^O].QOm+^Os$aO!_+^O!`+^O#b$nO$aqO$drO~P0aOS+^O].QOm+^Os$aO!_+^O!`+^O#b$nO$aqO~P0aOS+^O]+aOm+^Os$aO!^+dO!_+^O!`+^O!n.YO#b$nO$aqO$drO~P0aO!s.]O~O!s.^O#b.^O$}.^O%T+oO~O$}._O~O#X.`O~Oc%Xad%Xah%Xaj%Xaf%Xag%Xae%Xa~PhOc.cOd+sOP%WqQ%WqS%WqU%WqW%WqX%Wq[%Wq]%Wq^%Wq`%Wqa%Wqb%Wqk%Wqm%Wqo%Wqp%Wqq%Wqs%Wqt%Wqu%Wqv%Wqx%Wqy%Wq|%Wq}%Wq!O%Wq!P%Wq!Q%Wq!R%Wq!T%Wq!U%Wq!V%Wq!W%Wq!X%Wq!Y%Wq!Z%Wq![%Wq!]%Wq!^%Wq!`%Wq!a%Wq!c%Wq!m%Wq!o%Wq!s%Wq!y%Wq#W%Wq#b%Wq#d%Wq#e%Wq#p%Wq$T%Wq$]%Wq$^%Wq$a%Wq$d%Wq$l%Wq$z%Wq${%Wq$}%Wq%O%Wq%V%Wq&p%Wq'g%Wq&t%Wq!n%Wqh%Wqj%Wqf%Wqg%WqY%Wq_%Wqi%Wqe%Wq~Oc.hOd+vOh.gO~O!q(`O~OP6ZOQ|OU^OW}O[:dOo>POs#hOx:bOy:bO}`O!O]O!Q:iO!R}O!T:hO!U:cO!V:cO!Y:mO!c8eO!s#gO!y[O#W_O#bhO#daO#ebO#peO$T:fO$]:eO$^:fO$aqO$z:kO${!OO$}}O%O}O%V|O'g{O~O!m.kO!q.kO~OY+zO_+{O!n.mO~OY+zO_+{Oi%^a~O!x.qO~P>UO!m.sO~O!m.sO~P9yOQ|OW}O!R}O$}}O%O}O%V|O'g{O~OT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!m&ka!}&ka&s&ka~P!'WOT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!m$qi!}$qi&s$qi~P!'WOS+^OY.}O].QOm+^Os$aO!_+^O!`+^O#b$nO$aqO$drO~P0aO!s/OO~OS+^OY,hO]+aOm+^Os$aO!^+dO!_+^O!`+^O!n/QO#b$nO$aqO$drO~P0aOw(SO!o)WO#l'SO~OV/TO!m&na!}&na&s&na~O!})_O!m'ki&s'ki~O!s/VO~OV/WO!n%|a!}%|a~O]/YOs/YO!s#gO#peO!n&oX!}&oX~O!},tO!n'la~OT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!m&Ua!}&Ua&s&Ua#O&Ua~P!'WOz#RO#S#QO#z#SO#{#WO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT!uy!S!uy!b!uy!m!uy!v!uy&s!uy!x!uy!n!uy~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x#hi!}#hi~P!'WO_)yO!n&VX!}&VX~P9yO!}-QO!n&{a~OT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!}#Vq#X#Vq~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x#[i!}#[i~P!'WOT6gOz6eO!S6hO!b6iO!v8qO#O/aO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!x&Xa!}&Xa~P!'WO#u/gO!x$ci!}$ci~O#b/hO~O#U/jO#b/iO~OT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x$ci!}$ci~P!'WO#u/kO!x$hi!}$hi~O!}/mO!x'[X~O#b/oO~O!x/pO~O!oXO!q/sO~O#l'SO!o'cy!m'cy&s'cy~O!m$jy&s$jy!x$jy!n$jy~PCqO#O/vO#l'SO~O!s#gO#peOw&aX!o&aX!}&aX!m&aX&s&aX~O!}-{Ow']a!o']a!m']a&s']a~OS+^O]0OOm+^Os$aO!_+^O!`+^O#b$nO$aqO~P0aO!m#cO!o0TO&s#cO~O#X0WO~Oh0]O~OT:rOz:nO!S:tO!b:vO!m0^O!q0^O!v=kO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dO~P!'WOY%]a_%]a!n%]ai%]a~PhO!x0`O~O!x0`O~P>UO!m0bO~OT6gOz6eO!S6hO!b6iO!v8qO!x0dO#O0cO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO~P!'WO!x0dO~O!x0eO#b0fO#l'SO~O!x0gO~O!s0hO~O!m#cO#u0jO&s#cO~O!s0kO~O!})_O!m'kq&s'kq~O!s0lO~OV0mO!n%}X!}%}X~OT:rOz:nO!S:tO!b:vO!v=kO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dO!n!|i!}!|i~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x$cq!}$cq~P!'WO#u0tO!x$cq!}$cq~O#b0uO~OT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x$hq!}$hq~P!'WO#S0xO#b0wO!x&`X!}&`X~O!}/mO!x'[a~O#l'SO!o'c!R!m'c!R&s'c!R~O!oXO!q0}O~O!m$j!R&s$j!R!x$j!R!n$j!R~PCqO#O1PO#l'SO~OP6ZOU^O[9UOo>QOs#hOx9UOy9UO}`O!O]O!Q:jO!T9UO!U9UO!V9UO!Y9UO!c8fO!n1[O!s1WO!y[O#W_O#bhO#daO#ebO#peO$T:gO$]9UO$^:gO$aqO$z:lO${!OO~P$;pOh1]O~OY%[i_%[i!n%[ii%[i~PhOY%]i_%]i!n%]ii%]i~PhO!x1`O~O!x1`O~P>UO!x1cO~O!m#cO#u1gO&s#cO~O$}1hO%V1hO~O!s1iO~OV1jO!n%}a!}%}a~OT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x#]i!}#]i~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x$cy!}$cy~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x$hy!}$hy~P!'WO#b1lO~O!}/mO!x'[i~O!m$j!Z&s$j!Z!x$j!Z!n$j!Z~PCqOT:sOz:oO!S:uO!b:wO!v=lO#S#QO#z:qO#{:yO#|:{O#}:}O$O;PO$Q;TO$R;VO$S;XO$T;ZO$U;]O$V;_O$W;_O$z#dO~P!'WOV1sO{1rO~P!5xOV1sO{1rOT&}Xz&}X!S&}X!b&}X!o&}X!v&}X!y&}X#S&}X#W&}X#`&}X#a&}X#s&}X#u&}X#w&}X#z&}X#{&}X#|&}X#}&}X$O&}X$Q&}X$R&}X$S&}X$T&}X$U&}X$V&}X$W&}X$z&}X~OP6ZOU^O[9UOo>QOs#hOx9UOy9UO}`O!O]O!Q:jO!T9UO!U9UO!V9UO!Y9UO!c8fO!n1vO!s1WO!y[O#W_O#bhO#daO#ebO#peO$T:gO$]9UO$^:gO$aqO$z:lO${!OO~P$;pOY%[q_%[q!n%[qi%[q~PhO!x1xO~O!x%gi~PCqOe1yO~O$}1zO%V1zO~O!s1|O~OT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x$c!R!}$c!R~P!'WO!m$j!c&s$j!c!x$j!c!n$j!c~PCqO!s2OO~O!`2QO!s2PO~O!s2TO!m$xi&s$xi~O!s'WO~O!s*]O~OT2aOz2_O!S2bO!b2cO!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dO!m$ka#u$ka#w$ka&s$ka!x$ka!n$ka!q$ka#X$ka!}$ka~P!'WO#S2ZO~P*kO$l$tO~P#.YOT6gOz6eO!S6hO!b6iO!v8qO#O2YO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!m'PX&s'PX!x'PX!n'PX~P!'WOT4dOz4bO!S4eO!b4fO!v6RO#O3sO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!}'PX#X'PX#u'PX#w'PX!m'PX&s'PX!x'PX!n'PXV'PX!q'PX~P!'WO#S3bO~P#.YOT2aOz2_O!S2bO!b2cO!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dO!m$Xa#u$Xa#w$Xa&s$Xa!x$Xa!n$Xa!q$Xa#X$Xa!}$Xa~P!'WOT2aOz2_O!S2bO!b2cO!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dO!m$Ya#u$Ya#w$Ya&s$Ya!x$Ya!n$Ya!q$Ya#X$Ya!}$Ya~P!'WOT2aOz2_O!S2bO!b2cO!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dO!m$Za#u$Za#w$Za&s$Za!x$Za!n$Za!q$Za#X$Za!}$Za~P!'WOT2aOz2_O!S2bO!b2cO!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dO!m$[a#u$[a#w$[a&s$[a!x$[a!n$[a!q$[a#X$[a!}$[a~P!'WOz2_O#u$[a#w$[a!q$[a#X$[a!}$[a~PNyOT2aOz2_O!S2bO!b2cO!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dO!m$_a#u$_a#w$_a&s$_a!x$_a!n$_a!q$_a#X$_a!}$_a~P!'WOT2aOz2_O!S2bO!b2cO!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dO!m$|a#u$|a#w$|a&s$|a!x$|a!n$|a!q$|a#X$|a!}$|a~P!'WOz2_O#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#u#yi#w#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2_O!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dOT#yi!S#yi!b#yi!m#yi#u#yi#w#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOT2aOz2_O!b2cO!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dO!S#yi!m#yi#u#yi#w#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOT2aOz2_O!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dO!S#yi!b#yi!m#yi#u#yi#w#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2_O#S#QO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#u#yi#w#yi#z#yi#{#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2_O#S#QO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#u#yi#w#yi#z#yi#{#yi#|#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2_O#S#QO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2_O#S#QO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2_O$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2_O$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2_O$S2kO$T2lO$U2mO$V2nO$W2nO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2_O$T2lO$V2nO$W2nO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$U#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2_O$V2nO$W2nO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2_O$S2kO$T2lO$V2nO$W2nO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$U#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2_O$W2nO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi$V#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOT2aOz2_O!S2bO!b2cO!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dO!m#Ta#u#Ta#w#Ta&s#Ta!x#Ta!n#Ta!q#Ta#X#Ta!}#Ta~P!'WOT2aOz2_O!S2bO!b2cO!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dO!m'Pa#u'Pa#w'Pa&s'Pa!x'Pa!n'Pa!q'Pa#X'Pa!}'Pa~P!'WOz2_O!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dOT#Pi!S#Pi!b#Pi!m#Pi#u#Pi#w#Pi&s#Pi!x#Pi!n#Pi!q#Pi#X#Pi!}#Pi~P!'WOz2_O!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dOT#vi!S#vi!b#vi!m#vi#u#vi#w#vi&s#vi!x#vi!n#vi!q#vi#X#vi!}#vi~P!'WOT2aOz2_O!S2bO!b2cO!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dO!m#xi#u#xi#w#xi&s#xi!x#xi!n#xi!q#xi#X#xi!}#xi~P!'WOz2_O#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dOT!uq!S!uq!b!uq!m!uq!v!uq#u!uq#w!uq&s!uq!x!uq!n!uq!q!uq#X!uq!}!uq~P!'WOz2_O!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dOT#Pq!S#Pq!b#Pq!m#Pq#u#Pq#w#Pq&s#Pq!x#Pq!n#Pq!q#Pq#X#Pq!}#Pq~P!'WOT2aOz2_O!S2bO!b2cO!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dO!m$jq#u$jq#w$jq&s$jq!x$jq!n$jq!q$jq#X$jq!}$jq~P!'WOz2_O#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dOT!uy!S!uy!b!uy!m!uy!v!uy#u!uy#w!uy&s!uy!x!uy!n!uy!q!uy#X!uy!}!uy~P!'WOT2aOz2_O!S2bO!b2cO!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dO!m$jy#u$jy#w$jy&s$jy!x$jy!n$jy!q$jy#X$jy!}$jy~P!'WOT2aOz2_O!S2bO!b2cO!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dO!m$j!R#u$j!R#w$j!R&s$j!R!x$j!R!n$j!R!q$j!R#X$j!R!}$j!R~P!'WOT2aOz2_O!S2bO!b2cO!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dO!m$j!Z#u$j!Z#w$j!Z&s$j!Z!x$j!Z!n$j!Z!q$j!Z#X$j!Z!}$j!Z~P!'WOT2aOz2_O!S2bO!b2cO!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dO!m$j!c#u$j!c#w$j!c&s$j!c!x$j!c!n$j!c!q$j!c#X$j!c!}$j!c~P!'WOP6ZOU^O[3}Oo8[Os#hOx3yOy3yO}`O!O]O!Q4_O!T4TO!U3{O!V3{O!Y4aO!c3wO!s#gO!y[O#S3tO#W_O#bhO#daO#ebO#peO$T4RO$]4PO$^4RO$aqO$z4`O${!OO~P$;pOP6ZOU^O[3}Oo8[Os#hOx3yOy3yO}`O!O]O!Q4_O!T4TO!U3{O!V3{O!Y4aO!c3wO!s#gO!y[O#W_O#bhO#daO#ebO#peO$T4RO$]4PO$^4RO$aqO$z4`O${!OO~P$;pO#u2sO#w2tO!q&zX#X&zX!}&zX~P0rOP6ZOU^O[3}Oo8[Or2uOs#hOx3yOy3yO}`O!O]O!Q4_O!T4TO!U3{O!V3{O!Y4aO!c3wO!s#gO!y[O#S2rO#U2qO#W_O#bhO#daO#ebO#peO$T4RO$]4PO$^4RO$aqO$z4`O${!OOT#xXz#xX!S#xX!b#xX!m#xX!o#xX!v#xX#`#xX#a#xX#s#xX#u#xX#w#xX#z#xX#{#xX#|#xX#}#xX$O#xX$Q#xX$R#xX$S#xX$U#xX$V#xX$W#xX&s#xX!x#xX!n#xX!q#xX#X#xX!}#xX~P$;pOP6ZOU^O[3}Oo8[Or4vOs#hOx3yOy3yO}`O!O]O!Q4_O!T4TO!U3{O!V3{O!Y4aO!c3wO!s#gO!y[O#S4sO#U4rO#W_O#bhO#daO#ebO#peO$T4RO$]4PO$^4RO$aqO$z4`O${!OOT#xXz#xX!S#xX!b#xX!o#xX!v#xX!}#xX#O#xX#X#xX#`#xX#a#xX#s#xX#u#xX#w#xX#z#xX#{#xX#|#xX#}#xX$O#xX$Q#xX$R#xX$S#xX$U#xX$V#xX$W#xX!m#xX&s#xX!x#xX!n#xXV#xX!q#xX~P$;pO!q2}O~P>UO!q5{O#O3eO~OT8tOz8rO!S8uO!b8vO!q3fO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO~P!'WO!q5|O#O3iO~O!q5}O#O3mO~O#O3mO#l'SO~O#O3nO#l'SO~O#O3qO#l'SO~OP6ZOU^O[3}Oo8[Os#hOx3yOy3yO}`O!O]O!Q4_O!T4TO!U3{O!V3{O!Y4aO!c3wO!s#gO!y[O#W_O#bhO#daO#ebO#peO$T4RO$]4PO$^4RO$aqO$l$tO$z4`O${!OO~P$;pOP6ZOU^O[3}Oo8[Os#hOx3yOy3yO}`O!O]O!Q4_O!T4TO!U3{O!V3{O!Y4aO!c3wO!s#gO!y[O#S5cO#W_O#bhO#daO#ebO#peO$T4RO$]4PO$^4RO$aqO$z4`O${!OO~P$;pOT4dOz4bO!S4eO!b4fO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!}$Xa#O$Xa#X$Xa#u$Xa#w$Xa!m$Xa&s$Xa!x$Xa!n$XaV$Xa!q$Xa~P!'WOT4dOz4bO!S4eO!b4fO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!}$Ya#O$Ya#X$Ya#u$Ya#w$Ya!m$Ya&s$Ya!x$Ya!n$YaV$Ya!q$Ya~P!'WOT4dOz4bO!S4eO!b4fO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!}$Za#O$Za#X$Za#u$Za#w$Za!m$Za&s$Za!x$Za!n$ZaV$Za!q$Za~P!'WOT4dOz4bO!S4eO!b4fO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!}$[a#O$[a#X$[a#u$[a#w$[a!m$[a&s$[a!x$[a!n$[aV$[a!q$[a~P!'WOz4bO!}$[a#O$[a#X$[a#u$[a#w$[aV$[a!q$[a~PNyOT4dOz4bO!S4eO!b4fO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!}$_a#O$_a#X$_a#u$_a#w$_a!m$_a&s$_a!x$_a!n$_aV$_a!q$_a~P!'WOT4dOz4bO!S4eO!b4fO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!}$|a#O$|a#X$|a#u$|a#w$|a!m$|a&s$|a!x$|a!n$|aV$|a!q$|a~P!'WOz4bO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#X#yi#u#yi#w#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4bO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dOT#yi!S#yi!b#yi!}#yi#O#yi#X#yi#u#yi#w#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOT4dOz4bO!b4fO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!S#yi!}#yi#O#yi#X#yi#u#yi#w#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOT4dOz4bO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!S#yi!b#yi!}#yi#O#yi#X#yi#u#yi#w#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4bO#S#QO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#X#yi#u#yi#w#yi#z#yi#{#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4bO#S#QO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#X#yi#u#yi#w#yi#z#yi#{#yi#|#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4bO#S#QO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#X#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4bO#S#QO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#X#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4bO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4bO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4bO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4bO$T4oO$V4qO$W4qO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$U#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4bO$V4qO$W4qO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4bO$S4nO$T4oO$V4qO$W4qO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$U#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4bO$W4qO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi$V#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOT4dOz4bO!S4eO!b4fO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!}#Ta#O#Ta#X#Ta#u#Ta#w#Ta!m#Ta&s#Ta!x#Ta!n#TaV#Ta!q#Ta~P!'WOT4dOz4bO!S4eO!b4fO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!}'Pa#O'Pa#X'Pa#u'Pa#w'Pa!m'Pa&s'Pa!x'Pa!n'PaV'Pa!q'Pa~P!'WOz4bO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dOT#Pi!S#Pi!b#Pi!}#Pi#O#Pi#X#Pi#u#Pi#w#Pi!m#Pi&s#Pi!x#Pi!n#PiV#Pi!q#Pi~P!'WOz4bO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dOT#vi!S#vi!b#vi!}#vi#O#vi#X#vi#u#vi#w#vi!m#vi&s#vi!x#vi!n#viV#vi!q#vi~P!'WOT4dOz4bO!S4eO!b4fO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!}#xi#O#xi#X#xi#u#xi#w#xi!m#xi&s#xi!x#xi!n#xiV#xi!q#xi~P!'WOz4bO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dOT!uq!S!uq!b!uq!v!uq!}!uq#O!uq#X!uq#u!uq#w!uq!m!uq&s!uq!x!uq!n!uqV!uq!q!uq~P!'WOz4bO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dOT#Pq!S#Pq!b#Pq!}#Pq#O#Pq#X#Pq#u#Pq#w#Pq!m#Pq&s#Pq!x#Pq!n#PqV#Pq!q#Pq~P!'WOT4dOz4bO!S4eO!b4fO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!}$jq#O$jq#X$jq#u$jq#w$jq!m$jq&s$jq!x$jq!n$jqV$jq!q$jq~P!'WOz4bO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dOT!uy!S!uy!b!uy!v!uy!}!uy#O!uy#X!uy#u!uy#w!uy!m!uy&s!uy!x!uy!n!uyV!uy!q!uy~P!'WOT4dOz4bO!S4eO!b4fO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!}$jy#O$jy#X$jy#u$jy#w$jy!m$jy&s$jy!x$jy!n$jyV$jy!q$jy~P!'WOT4dOz4bO!S4eO!b4fO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!}$j!R#O$j!R#X$j!R#u$j!R#w$j!R!m$j!R&s$j!R!x$j!R!n$j!RV$j!R!q$j!R~P!'WOT4dOz4bO!S4eO!b4fO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!}$j!Z#O$j!Z#X$j!Z#u$j!Z#w$j!Z!m$j!Z&s$j!Z!x$j!Z!n$j!ZV$j!Z!q$j!Z~P!'WOT4dOz4bO!S4eO!b4fO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!}$j!c#O$j!c#X$j!c#u$j!c#w$j!c!m$j!c&s$j!c!x$j!c!n$j!cV$j!c!q$j!c~P!'WO#S5uO~P#.YO!y$hO#S5yO~O!x4XO#l'SO~O!y$hO#S5zO~OT4dOz4bO!S4eO!b4fO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!}$ka#O$ka#X$ka#u$ka#w$ka!m$ka&s$ka!x$ka!n$kaV$ka!q$ka~P!'WOT4dOz4bO!S4eO!b4fO!v6RO#O5tO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!m'PX#u'PX#w'PX&s'PX!x'PX!n'PX!q'PX#X'PX!}'PX~P!'WO#u4tO#w4uO!}&zX#O&zX#X&zXV&zX!q&zX~P0rO!q5OO~P>UO!q8`O#O5fO~OT8tOz8rO!S8uO!b8vO!q5gO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO~P!'WO!q8aO#O5jO~O!q8bO#O5nO~O#O5nO#l'SO~O#O5oO#l'SO~O#O5rO#l'SO~O$l$tO~P9yOo5xOs$lO~O#S7mO~P9yOT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!}$Xa#O$Xa#X$Xa!m$Xa&s$Xa!x$Xa!n$XaV$Xa!q$Xa~P!'WOT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!}$Ya#O$Ya#X$Ya!m$Ya&s$Ya!x$Ya!n$YaV$Ya!q$Ya~P!'WOT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!}$Za#O$Za#X$Za!m$Za&s$Za!x$Za!n$ZaV$Za!q$Za~P!'WOT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!}$[a#O$[a#X$[a!m$[a&s$[a!x$[a!n$[aV$[a!q$[a~P!'WOz6eO!}$[a#O$[a#X$[aV$[a!q$[a~PNyOT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!}$_a#O$_a#X$_a!m$_a&s$_a!x$_a!n$_aV$_a!q$_a~P!'WOT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!}$ka#O$ka#X$ka!m$ka&s$ka!x$ka!n$kaV$ka!q$ka~P!'WOT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!}$|a#O$|a#X$|a!m$|a&s$|a!x$|a!n$|aV$|a!q$|a~P!'WOT8tOz8rO!S8uO!b8vO!v=XO!}7qO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x'jX~P!'WOT8tOz8rO!S8uO!b8vO!v=XO!}7sO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x&|X~P!'WOz6eO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#X#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6eO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dOT#yi!S#yi!b#yi!}#yi#O#yi#X#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOT6gOz6eO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!S#yi!}#yi#O#yi#X#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOT6gOz6eO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!S#yi!b#yi!}#yi#O#yi#X#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6eO#S#QO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#X#yi#z#yi#{#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6eO#S#QO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#X#yi#z#yi#{#yi#|#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6eO#S#QO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#X#yi#z#yi#{#yi#|#yi#}#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6eO#S#QO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#X#yi#z#yi#{#yi#|#yi#}#yi$O#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6eO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#z#yi#{#yi#|#yi#}#yi$O#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6eO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6eO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6eO$T6rO$V6tO$W6tO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$U#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6eO$V6tO$W6tO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6eO$S6qO$T6rO$V6tO$W6tO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$U#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6eO$W6tO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi$V#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WO#S7xO~P>UO!m#Ta&s#Ta!x#Ta!n#Ta~PCqO!m'Pa&s'Pa!x'Pa!n'Pa~PCqO#S;bO#U;aO!x&WX!}&WX~P9yO!}7jO!x'Oa~Oz6eO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dOT#Pi!S#Pi!b#Pi!}#Pi#O#Pi#X#Pi!m#Pi&s#Pi!x#Pi!n#PiV#Pi!q#Pi~P!'WOz6eO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dOT#vi!S#vi!b#vi!}#vi#O#vi#X#vi!m#vi&s#vi!x#vi!n#viV#vi!q#vi~P!'WOT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!}#xi#O#xi#X#xi!m#xi&s#xi!x#xi!n#xiV#xi!q#xi~P!'WO!}7qO!x%da~O!x&UX!}&UX~P>UO!}7sO!x&|a~Oz6eO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dOT!uq!S!uq!b!uq!v!uq!}!uq#O!uq#X!uq!m!uq&s!uq!x!uq!n!uqV!uq!q!uq~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x#Vi!}#Vi~P!'WOz6eO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dOT#Pq!S#Pq!b#Pq!}#Pq#O#Pq#X#Pq!m#Pq&s#Pq!x#Pq!n#PqV#Pq!q#Pq~P!'WOT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!}$jq#O$jq#X$jq!m$jq&s$jq!x$jq!n$jqV$jq!q$jq~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x&ka!}&ka~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x&Ua!}&Ua~P!'WOz6eO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dOT!uy!S!uy!b!uy!v!uy!}!uy#O!uy#X!uy!m!uy&s!uy!x!uy!n!uyV!uy!q!uy~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x#Vq!}#Vq~P!'WOT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!}$jy#O$jy#X$jy!m$jy&s$jy!x$jy!n$jyV$jy!q$jy~P!'WOT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!}$j!R#O$j!R#X$j!R!m$j!R&s$j!R!x$j!R!n$j!RV$j!R!q$j!R~P!'WOT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!}$j!Z#O$j!Z#X$j!Z!m$j!Z&s$j!Z!x$j!Z!n$j!ZV$j!Z!q$j!Z~P!'WOT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!}$j!c#O$j!c#X$j!c!m$j!c&s$j!c!x$j!c!n$j!cV$j!c!q$j!c~P!'WO#S8YO~P9yO#O8XO!m'PX&s'PX!x'PX!n'PXV'PX!q'PX~PGSO!y$hO#S8^O~O!y$hO#S8_O~O#u6xO#w6yO!}&zX#O&zX#X&zXV&zX!q&zX~P0rOr6zO#S#oO#U#nO!}#xX#O#xX#X#xXV#xX!q#xX~P2yOr;gO#S9VO#U9TOT#xXz#xX!S#xX!b#xX!m#xX!o#xX!q#xX!v#xX#`#xX#a#xX#s#xX#z#xX#{#xX#|#xX#}#xX$O#xX$Q#xX$R#xX$S#xX$U#xX$V#xX$W#xX!n#xX!}#xX~P9yOr9UO#S9UO#U9UOT#xXz#xX!S#xX!b#xX!o#xX!v#xX#`#xX#a#xX#s#xX#z#xX#{#xX#|#xX#}#xX$O#xX$Q#xX$R#xX$S#xX$U#xX$V#xX$W#xX~P9yOr9ZO#S;bO#U;aOT#xXz#xX!S#xX!b#xX!o#xX!q#xX!v#xX#`#xX#a#xX#s#xX#z#xX#{#xX#|#xX#}#xX$O#xX$Q#xX$R#xX$S#xX$U#xX$V#xX$W#xX#X#xX!x#xX!}#xX~P9yO$l$tO~P>UO!q7VO~P>UOT6gOz6eO!S6hO!b6iO!v8qO#O7gO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!x'PX!}'PX~P!'WOP6ZOU^O[9UOo>QOs#hOx9UOy9UO}`O!O]O!Q:jO!T9UO!U9UO!V9UO!Y9UO!c8fO!s#gO!y[O#W_O#bhO#daO#ebO#peO$T:gO$]9UO$^:gO$aqO$z:lO${!OO~P$;pO!}7jO!x'OX~O#S9wO~P>UOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!q$Xa#X$Xa!x$Xa!}$Xa~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!q$Ya#X$Ya!x$Ya!}$Ya~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!q$Za#X$Za!x$Za!}$Za~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!q$[a#X$[a!x$[a!}$[a~P!'WOz8rO$z#dOT$[a!S$[a!b$[a!q$[a!v$[a#S$[a#z$[a#{$[a#|$[a#}$[a$O$[a$Q$[a$R$[a$S$[a$T$[a$U$[a$V$[a$W$[a#X$[a!x$[a!}$[a~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!q$_a#X$_a!x$_a!}$_a~P!'WO!q=bO#O7pO~OT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!q$ka#X$ka!x$ka!}$ka~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!q$|a#X$|a!x$|a!}$|a~P!'WOT8tOz8rO!S8uO!b8vO!q7uO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO~P!'WOz8rO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#X#yi!x#yi!}#yi~P!'WOz8rO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dOT#yi!S#yi!b#yi!q#yi#X#yi!x#yi!}#yi~P!'WOT8tOz8rO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!S#yi!q#yi#X#yi!x#yi!}#yi~P!'WOT8tOz8rO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!S#yi!b#yi!q#yi#X#yi!x#yi!}#yi~P!'WOz8rO#S#QO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#z#yi#{#yi#X#yi!x#yi!}#yi~P!'WOz8rO#S#QO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#z#yi#{#yi#|#yi#X#yi!x#yi!}#yi~P!'WOz8rO#S#QO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#z#yi#{#yi#|#yi#}#yi#X#yi!x#yi!}#yi~P!'WOz8rO#S#QO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#z#yi#{#yi#|#yi#}#yi$O#yi#X#yi!x#yi!}#yi~P!'WOz8rO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi#X#yi!x#yi!}#yi~P!'WOz8rO$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi#X#yi!x#yi!}#yi~P!'WOz8rO$S9OO$T9PO$U9QO$V9RO$W9RO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi#X#yi!x#yi!}#yi~P!'WOz8rO$T9PO$V9RO$W9RO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$U#yi#X#yi!x#yi!}#yi~P!'WOz8rO$V9RO$W9RO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi#X#yi!x#yi!}#yi~P!'WOz8rO$S9OO$T9PO$V9RO$W9RO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$U#yi#X#yi!x#yi!}#yi~P!'WOz8rO$W9RO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi$V#yi#X#yi!x#yi!}#yi~P!'WOz8rO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dOT#Pi!S#Pi!b#Pi!q#Pi#X#Pi!x#Pi!}#Pi~P!'WOz8rO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dOT#vi!S#vi!b#vi!q#vi#X#vi!x#vi!}#vi~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!q#xi#X#xi!x#xi!}#xi~P!'WO!q=cO#O7zO~Oz8rO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dOT!uq!S!uq!b!uq!q!uq!v!uq#X!uq!x!uq!}!uq~P!'WOz8rO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dOT#Pq!S#Pq!b#Pq!q#Pq#X#Pq!x#Pq!}#Pq~P!'WO!q=gO#O8RO~OT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!q$jq#X$jq!x$jq!}$jq~P!'WO#O8RO#l'SO~Oz8rO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dOT!uy!S!uy!b!uy!q!uy!v!uy#X!uy!x!uy!}!uy~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!q$jy#X$jy!x$jy!}$jy~P!'WO#O8SO#l'SO~OT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!q$j!R#X$j!R!x$j!R!}$j!R~P!'WO#O8VO#l'SO~OT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!q$j!Z#X$j!Z!x$j!Z!}$j!Z~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!q$j!c#X$j!c!x$j!c!}$j!c~P!'WO#S:`O~P>UO#O:_O!q'PX!x'PX~PGSO$l$tO~P$8^OP6ZOU^O[9UOo>QOs#hOx9UOy9UO}`O!O]O!Q:jO!T9UO!U9UO!V9UO!Y9UO!c8fO!s#gO!y[O#W_O#bhO#daO#ebO#peO$T:gO$]9UO$^:gO$aqO$l$tO$z:lO${!OO~P$;pOo8]Os$lO~O#S<hO~P$8^OP6ZOU^O[9UOo>QOs#hOx9UOy9UO}`O!O]O!Q:jO!T9UO!U9UO!V9UO!Y9UO!c8fO!s#gO!y[O#S<iO#W_O#bhO#daO#ebO#peO$T:gO$]9UO$^:gO$aqO$z:lO${!OO~P$;pOT:rOz:nO!S:tO!b:vO!v=kO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dO!m$Xa!q$Xa!n$Xa!}$Xa~P!'WOT:rOz:nO!S:tO!b:vO!v=kO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dO!m$Ya!q$Ya!n$Ya!}$Ya~P!'WOT:rOz:nO!S:tO!b:vO!v=kO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dO!m$Za!q$Za!n$Za!}$Za~P!'WOT:rOz:nO!S:tO!b:vO!v=kO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dO!m$[a!q$[a!n$[a!}$[a~P!'WOz:nO$z#dOT$[a!S$[a!b$[a!m$[a!q$[a!v$[a#S$[a#z$[a#{$[a#|$[a#}$[a$O$[a$Q$[a$R$[a$S$[a$T$[a$U$[a$V$[a$W$[a!n$[a!}$[a~P!'WOz:oO$z#dOT$[a!S$[a!b$[a!v$[a#S$[a#z$[a#{$[a#|$[a#}$[a$O$[a$Q$[a$R$[a$S$[a$T$[a$U$[a$V$[a$W$[a~P!'WOT:rOz:nO!S:tO!b:vO!v=kO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dO!m$_a!q$_a!n$_a!}$_a~P!'WOT:rOz:nO!S:tO!b:vO!v=kO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dO!m$ka!q$ka!n$ka!}$ka~P!'WOT:rOz:nO!S:tO!b:vO!v=kO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dO!m$|a!q$|a!n$|a!}$|a~P!'WOz:nO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dOT#yi!S#yi!b#yi!m#yi!q#yi!v#yi!n#yi!}#yi~P!'WOz:oO#S#QO#z:qO#{:yO#|:{O#}:}O$O;PO$Q;TO$R;VO$S;XO$T;ZO$U;]O$V;_O$W;_O$z#dOT#yi!S#yi!b#yi!v#yi~P!'WOz:nO!v=kO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dOT#yi!S#yi!b#yi!m#yi!q#yi!n#yi!}#yi~P!'WOz:oO!v=lO#S#QO#z:qO#{:yO#|:{O#}:}O$O;PO$Q;TO$R;VO$S;XO$T;ZO$U;]O$V;_O$W;_O$z#dOT#yi!S#yi!b#yi~P!'WOT:rOz:nO!b:vO!v=kO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dO!S#yi!m#yi!q#yi!n#yi!}#yi~P!'WOT:sOz:oO!b:wO!v=lO#S#QO#z:qO#{:yO#|:{O#}:}O$O;PO$Q;TO$R;VO$S;XO$T;ZO$U;]O$V;_O$W;_O$z#dO!S#yi~P!'WOT:rOz:nO!v=kO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dO!S#yi!b#yi!m#yi!q#yi!n#yi!}#yi~P!'WOT:sOz:oO!v=lO#S#QO#z:qO#{:yO#|:{O#}:}O$O;PO$Q;TO$R;VO$S;XO$T;ZO$U;]O$V;_O$W;_O$z#dO!S#yi!b#yi~P!'WOz:nO#S#QO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dOT#yi!S#yi!b#yi!m#yi!q#yi!v#yi#z#yi#{#yi!n#yi!}#yi~P!'WOz:oO#S#QO#|:{O#}:}O$O;PO$Q;TO$R;VO$S;XO$T;ZO$U;]O$V;_O$W;_O$z#dOT#yi!S#yi!b#yi!v#yi#z#yi#{#yi~P!'WOz:nO#S#QO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dOT#yi!S#yi!b#yi!m#yi!q#yi!v#yi#z#yi#{#yi#|#yi!n#yi!}#yi~P!'WOz:oO#S#QO#}:}O$O;PO$Q;TO$R;VO$S;XO$T;ZO$U;]O$V;_O$W;_O$z#dOT#yi!S#yi!b#yi!v#yi#z#yi#{#yi#|#yi~P!'WOz:nO#S#QO$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dOT#yi!S#yi!b#yi!m#yi!q#yi!v#yi#z#yi#{#yi#|#yi#}#yi!n#yi!}#yi~P!'WOz:oO#S#QO$O;PO$Q;TO$R;VO$S;XO$T;ZO$U;]O$V;_O$W;_O$z#dOT#yi!S#yi!b#yi!v#yi#z#yi#{#yi#|#yi#}#yi~P!'WOz:nO#S#QO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dOT#yi!S#yi!b#yi!m#yi!q#yi!v#yi#z#yi#{#yi#|#yi#}#yi$O#yi!n#yi!}#yi~P!'WOz:oO#S#QO$Q;TO$R;VO$S;XO$T;ZO$U;]O$V;_O$W;_O$z#dOT#yi!S#yi!b#yi!v#yi#z#yi#{#yi#|#yi#}#yi$O#yi~P!'WOz:nO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dOT#yi!S#yi!b#yi!m#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi!n#yi!}#yi~P!'WOz:oO$Q;TO$R;VO$S;XO$T;ZO$U;]O$V;_O$W;_O$z#dOT#yi!S#yi!b#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi~P!'WOz:nO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dOT#yi!S#yi!b#yi!m#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi!n#yi!}#yi~P!'WOz:oO$R;VO$S;XO$T;ZO$U;]O$V;_O$W;_O$z#dOT#yi!S#yi!b#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi~P!'WOz:nO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dOT#yi!S#yi!b#yi!m#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi!n#yi!}#yi~P!'WOz:oO$S;XO$T;ZO$U;]O$V;_O$W;_O$z#dOT#yi!S#yi!b#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi~P!'WOz:nO$T;YO$V;^O$W;^O$z#dOT#yi!S#yi!b#yi!m#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$U#yi!n#yi!}#yi~P!'WOz:oO$T;ZO$V;_O$W;_O$z#dOT#yi!S#yi!b#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$U#yi~P!'WOz:nO$V;^O$W;^O$z#dOT#yi!S#yi!b#yi!m#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi!n#yi!}#yi~P!'WOz:oO$V;_O$W;_O$z#dOT#yi!S#yi!b#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi~P!'WOz:nO$S;WO$T;YO$V;^O$W;^O$z#dOT#yi!S#yi!b#yi!m#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$U#yi!n#yi!}#yi~P!'WOz:oO$S;XO$T;ZO$V;_O$W;_O$z#dOT#yi!S#yi!b#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$U#yi~P!'WOz:nO$W;^O$z#dOT#yi!S#yi!b#yi!m#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi$V#yi!n#yi!}#yi~P!'WOz:oO$W;_O$z#dOT#yi!S#yi!b#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi$V#yi~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x#Ta!}#Ta!q#Ta#X#Ta~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x'Pa!}'Pa!q'Pa#X'Pa~P!'WOz:nO!v=kO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dOT#Pi!S#Pi!b#Pi!m#Pi!q#Pi!n#Pi!}#Pi~P!'WOz:oO!v=lO#S#QO#z:qO#{:yO#|:{O#}:}O$O;PO$Q;TO$R;VO$S;XO$T;ZO$U;]O$V;_O$W;_O$z#dOT#Pi!S#Pi!b#Pi~P!'WOz:nO!v=kO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dOT#vi!S#vi!b#vi!m#vi!q#vi!n#vi!}#vi~P!'WOz:oO!v=lO#S#QO#z:qO#{:yO#|:{O#}:}O$O;PO$Q;TO$R;VO$S;XO$T;ZO$U;]O$V;_O$W;_O$z#dOT#vi!S#vi!b#vi~P!'WOT:rOz:nO!S:tO!b:vO!v=kO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dO!m#xi!q#xi!n#xi!}#xi~P!'WOz:nO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dOT!uq!S!uq!b!uq!m!uq!q!uq!v!uq!n!uq!}!uq~P!'WOz:oO#S#QO#z:qO#{:yO#|:{O#}:}O$O;PO$Q;TO$R;VO$S;XO$T;ZO$U;]O$V;_O$W;_O$z#dOT!uq!S!uq!b!uq!v!uq~P!'WOz:nO!v=kO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dOT#Pq!S#Pq!b#Pq!m#Pq!q#Pq!n#Pq!}#Pq~P!'WOz:oO!v=lO#S#QO#z:qO#{:yO#|:{O#}:}O$O;PO$Q;TO$R;VO$S;XO$T;ZO$U;]O$V;_O$W;_O$z#dOT#Pq!S#Pq!b#Pq~P!'WOT:rOz:nO!S:tO!b:vO!v=kO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dO!m$jq!q$jq!n$jq!}$jq~P!'WOz:nO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dOT!uy!S!uy!b!uy!m!uy!q!uy!v!uy!n!uy!}!uy~P!'WOz:oO#S#QO#z:qO#{:yO#|:{O#}:}O$O;PO$Q;TO$R;VO$S;XO$T;ZO$U;]O$V;_O$W;_O$z#dOT!uy!S!uy!b!uy!v!uy~P!'WOT:rOz:nO!S:tO!b:vO!v=kO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dO!m$jy!q$jy!n$jy!}$jy~P!'WOT:rOz:nO!S:tO!b:vO!v=kO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dO!m$j!R!q$j!R!n$j!R!}$j!R~P!'WOT:rOz:nO!S:tO!b:vO!v=kO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dO!m$j!Z!q$j!Z!n$j!Z!}$j!Z~P!'WOT:rOz:nO!S:tO!b:vO!v=kO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dO!m$j!c!q$j!c!n$j!c!}$j!c~P!'WO#S=RO~P$8^OP6ZOU^O[9UOo>QOs#hOx9UOy9UO}`O!O]O!Q:jO!T9UO!U9UO!V9UO!Y9UO!c8fO!s#gO!y[O#S=SO#W_O#bhO#daO#ebO#peO$T:gO$]9UO$^:gO$aqO$z:lO${!OO~P$;pOT6gOz6eO!S6hO!b6iO!v8qO#O=QO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO~P!'WOT6gOz6eO!S6hO!b6iO!v8qO#O=PO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!m'PX!q'PX!n'PX!}'PX~P!'WOT&zXz&zX!S&zX!b&zX!o&zX!q&zX!v&zX!y&zX#S&zX#W&zX#`&zX#a&zX#s&zX#z&zX#{&zX#|&zX#}&zX$O&zX$Q&zX$R&zX$S&zX$T&zX$U&zX$V&zX$W&zX$z&zX!}&zX~O#u9XO#w9YO#X&zX!x&zX~P.9XO!y$hO#S=[O~O!q9fO~P>UO!y$hO#S=aO~O!q=|O#O9{O~OT8tOz8rO!S8uO!b8vO!q9|O!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO~P!'WOT:rOz:nO!S:tO!b:vO!v=kO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dO!m#Ta!q#Ta!n#Ta!}#Ta~P!'WOT:rOz:nO!S:tO!b:vO!v=kO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dO!m'Pa!q'Pa!n'Pa!}'Pa~P!'WO!q=}O#O:PO~O!q>OO#O:WO~O#O:WO#l'SO~O#O:XO#l'SO~O#O:]O#l'SO~O#u;cO#w;eO!m&zX!n&zX~P.9XO#u;dO#w;fOT&zXz&zX!S&zX!b&zX!o&zX!v&zX!y&zX#S&zX#W&zX#`&zX#a&zX#s&zX#z&zX#{&zX#|&zX#}&zX$O&zX$Q&zX$R&zX$S&zX$T&zX$U&zX$V&zX$W&zX$z&zX~O!q;rO~P>UO!q;sO~P>UO!q>VO#O<mO~O!q>WO#O9UO~OT8tOz8rO!S8uO!b8vO!q<nO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO~P!'WOT8tOz8rO!S8uO!b8vO!q<oO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO~P!'WO!q>XO#O<tO~O!q>YO#O<yO~O#O<yO#l'SO~O#O9UO#l'SO~O#O<zO#l'SO~O#O<}O#l'SO~O!y$hO#S=zO~Oo=YOs$lO~O!y$hO#S={O~O!y$hO#S>SO~O!y$hO#S>TO~O!y$hO#S>UO~Oo=yOs$lO~Oo>ROs$lO~Oo>QOs$lO~O%O$U$}$d!d$V#b%V#e'g!s#d~",goto:"%'X'mPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP'nP'uPP'{(OPPP(hP(OP(O*ZP*ZPP2W:j:mPP*Z:sBpPBsPBsPP:sCSCVCZ:s:sPPPC^PP:sK^!$S!$S:s!$WP!$W!$W!%XP!.c!7yP!?xP*ZP*Z*ZPPPPP!?{PPPPPPP*Z*Z*Z*ZPP*Z*ZP!Ef!G[P!G`!HS!G[!G[!HY*Z*ZP!Hc!Hu!Ik!Ji!Jo!Ji!Jz!Ji!Ji!K]!K`!K`*ZPP*ZPP!Kd#%b#%b#%fP#%lP(O#%p(O#&Y#&]#&]#&c(O#&f(O(O#&l#&o(O#&x#&{(O(O(O(O(O#'O(O(O(O(O(O(O(O(O(O#'R#'e(O(O#'i#'y#'|(O(OP#(P#(W#(^#(y#)T#)Z#)e#)l#)r#*n#4f#5b#5h#5n#5x#6O#6U#6d#6j#6p#6v#6|#7S#7Y#7d#7n#7t#7z#8UPPPPPPPP#8[#8`#9U#NV#NY#Nd$(m$(y$)`$)f$)i$)l$)r$,c$6T$>j$>m$>s$>v$>y$?S$?[$?f$?x$Bx$C`$DZ$LZPP%&X%&]%&i%'O%'UQ!nQT!qV!rQUOR%x!mRVO}!hPVX!S!j!r!s!w$}%P%S%U(`+r+u.a.c.k0^0_0g1_|!hPVX!S!j!r!s!w$}%P%S%U(`+r+u.a.c.k0^0_0g1_Q%^!ZQ%g!aQ%l!eQ'd$dQ'q$iQ)[%kQ*y'tQ,](xU-m*v*x+OQ.V+cQ.z,[S/r-r-sQ0R.RS0{/q/uQ1T0PQ1m0|R1}1n0u!OPVX[_bjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!{!}#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b#k#n#o#s#t$R$S$U$y$}%P%R%S%T%U%c%}&S&W&p&s&t&w'O'U'Y'z(O(`(l({)P)i)p)t)v*P*T*U*o+P+r+u+z,T,V,X-P-Q-c-j-y.a.c.k.s/a/g/k/v0T0^0_0b0c0g0t1P1Z1_2Y2Z2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2q2r2s2t2u2}3b3e3f3i3m3n3q3s3t3v3w3x3y3z3{3|3}4O4P4Q4R4S4T4U4X4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v5O5c5f5g5j5n5o5r5t5u6R6[6]6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6v6w6x6y6z7V7g7j7m7p7q7s7u7x7z8R8S8V8X8Y8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9T9U9V9X9Y9Z9f9w9{9|:P:W:X:]:_:`:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:};O;P;Q;R;S;T;U;V;W;X;Y;Z;[;];^;_;a;b;c;d;e;f;g;r;s<h<i<m<n<o<t<y<z<}=P=Q=R=S=X=k=l0t!OPVX[_bjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!{!}#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b#k#n#o#s#t$R$S$U$y$}%P%R%S%T%U%c%}&S&W&p&s&t&w'O'U'Y'z(O(`(l({)P)i)p)t)v*P*T*U*o+P+r+u+z,T,V,X-P-Q-c-j-y.a.c.k.s/a/g/k/v0T0^0_0b0c0g0t1P1Z1_2Y2Z2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2q2r2s2t2u2}3b3e3f3i3m3n3q3s3t3v3w3x3y3z3{3|3}4O4P4Q4R4S4T4U4X4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v5O5c5f5g5j5n5o5r5t5u6R6[6]6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6v6w6x6y6z7V7g7j7m7p7q7s7u7x7z8R8S8V8X8Y8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9T9U9V9X9Y9Z9f9w9{9|:P:W:X:]:_:`:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:};O;P;Q;R;S;T;U;V;W;X;Y;Z;[;];^;_;a;b;c;d;e;f;g;r;s<h<i<m<n<o<t<y<z<}=P=Q=R=S=X=k=lQ#j]Q$}!PQ%O!QQ%P!RQ,S(kQ.a+sR.e+vR&q#jQ)z&pR/_-Q0uhPVX[_bjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!{!}#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b#k#n#o#s#t$R$S$U$y$}%P%R%S%T%U%c%}&S&W&p&s&t&w'O'U'Y'z(O(`(l({)P)i)p)t)v*P*T*U*o+P+r+u+z,T,V,X-P-Q-c-j-y.a.c.k.s/a/g/k/v0T0^0_0b0c0g0t1P1Z1_2Y2Z2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2q2r2s2t2u2}3b3e3f3i3m3n3q3s3t3v3w3x3y3z3{3|3}4O4P4Q4R4S4T4U4X4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v5O5c5f5g5j5n5o5r5t5u6R6[6]6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6v6w6x6y6z7V7g7j7m7p7q7s7u7x7z8R8S8V8X8Y8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9T9U9V9X9Y9Z9f9w9{9|:P:W:X:]:_:`:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:};O;P;Q;R;S;T;U;V;W;X;Y;Z;[;];^;_;a;b;c;d;e;f;g;r;s<h<i<m<n<o<t<y<z<}=P=Q=R=S=X=k=lR#l^k#p_j#k#s&s&w3v3w7j8d8e8f8gR#u`T&|#t'OR-X*U0thPVX[_bjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!{!}#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b#k#n#o#s#t$R$S$U$y$}%P%R%S%T%U%c%}&S&W&p&s&t&w'O'U'Y'z(O(`(l({)P)i)p)t)v*P*T*U*o+P+r+u+z,T,V,X-P-Q-c-j-y.a.c.k.s/a/g/k/v0T0^0_0b0c0g0t1P1Z1_2Y2Z2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2q2r2s2t2u2}3b3e3f3i3m3n3q3s3t3v3w3x3y3z3{3|3}4O4P4Q4R4S4T4U4X4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v5O5c5f5g5j5n5o5r5t5u6R6[6]6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6v6w6x6y6z7V7g7j7m7p7q7s7u7x7z8R8S8V8X8Y8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9T9U9V9X9Y9Z9f9w9{9|:P:W:X:]:_:`:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:};O;P;Q;R;S;T;U;V;W;X;Y;Z;[;];^;_;a;b;c;d;e;f;g;r;s<h<i<m<n<o<t<y<z<}=P=Q=R=S=X=k=lR#va-r#OZ#f#m#w$V$W$X$Y$Z$[$u$v%W%Y%[%`%s%|&O&Q&U&^&_&`&a&b&c&d&e&f&g&h&i&j&k&l&m&u&v&{'X'Z'[(](p)q)s)u*O*[*^+S+V,`,c,x,z,|-U-V-W-h-w.j.v/^/f/l/w0p0s0v1O1V1b1k1o2o2p2v2w2x2y2z2{2|3O3P3Q3R3S3T3U3V3W3X3Y3Z3[3]3^3_3`3a3c3d3g3h3j3k3l3o3p3r4W4w4x4y4z4{4|4}5P5Q5R5S5T5U5V5W5X5Y5Z5[5]5^5_5`5a5b5d5e5h5i5k5l5m5p5q5s6P6T6{6|6}7O7P7Q7S7T7U7W7X7Y7Z7[7]7^7_7`7a7b7c7d7e7f7h7i7l7n7o7v7w7y7{7|7}8O8P8Q8T8U8W8Z9S9[9]9^9_9`9a9d9e9g9h9i9j9k9l9m9n9o9p9q9r9s9t9u9v9x9y9}:O:R:T:U:Y:[:^:a;h;i;j;k;l;m;n;q;t;u;v;w;x;y;z;{;|;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<[<]<^<_<`<a<b<c<d<e<f<g<j<k<l<p<q<r<s<u<v<w<x<{<|=O=T=U=]=^=_=o=pQ']$]Y(Q$s7R9c;o;pS(U2X6OR(X$tT&X!})v!}$Qg#}$h'S'i'm'r(P(T)W)Z*f*s*z*}+Q+]+`+g,Z,g,j-q-t-z.P/s0}5{5|5}6Z8`8a8b=b=c=g=|=}>O>V>W>X>Y3afPVX[_bgjklmnoprxyz!S!W!X!Y!]!e!f!g!j!r!s!w!y!z!{!}#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b#k#n#o#s#t#}$R$S$U$h$y$}%P%R%S%T%U%c%p%r%}&S&W&p&s&t&w'O'S'U'Y'^'i'm'r'z(O(P(R(S(T(`(l({)P)W)Z)_)c)i)p)t)v*P*T*U*f*o*s*z*}+P+Q+]+`+d+g+r+u+z,T,V,X,Z,g,j,t-P-Q-c-j-q-t-y-z-{.P.a.c.k.s/Y/a/g/k/s/v0T0^0_0b0c0g0t0}1P1Z1_2Y2Z2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2q2r2s2t2u2}3b3e3f3i3m3n3q3s3t3v3w3x3y3z3{3|3}4O4P4Q4R4S4T4U4X4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v5O5c5f5g5j5n5o5r5t5u5{5|5}6R6Z6[6]6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6v6w6x6y6z7V7g7j7m7p7q7s7u7x7z8R8S8V8X8Y8`8a8b8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9T9U9V9X9Y9Z9f9w9{9|:P:W:X:]:_:`:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:};O;P;Q;R;S;T;U;V;W;X;Y;Z;[;];^;_;a;b;c;d;e;f;g;r;s<h<i<m<n<o<t<y<z<}=P=Q=R=S=X=b=c=g=k=l=|=}>O>V>W>X>Y3ycPVX[_bdegjklmnoprxyz!S!W!X!Y!]!e!f!g!j!r!s!w!y!z!{!}#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b#k#n#o#s#t#{#}$R$S$U$h$y$}%P%R%S%T%U%c%m%n%p%r%}&S&W&p&s&t&w'O'S'U'Y'^'i'm'r'z(O(P(R(S(T(`(l({)P)W)Z)^)_)c)g)h)i)p)t)v*P*T*U*f*o*s*z*}+P+Q+]+`+d+g+r+u+z,T,V,X,Z,g,j,t,w-P-Q-c-j-q-t-y-z-{.P.a.c.k.s/Y/a/g/k/s/v0T0^0_0b0c0g0t0}1P1Z1_2U2V2W2Y2Z2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2q2r2s2t2u2}3b3e3f3i3m3n3q3s3t3v3w3x3y3z3{3|3}4O4P4Q4R4S4T4U4X4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v5O5c5f5g5j5n5o5r5t5u5{5|5}6R6Z6[6]6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6v6w6x6y6z7V7g7j7m7p7q7s7u7x7z8R8S8V8X8Y8`8a8b8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9T9U9V9X9Y9Z9f9w9{9|:P:W:X:]:_:`:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:};O;P;Q;R;S;T;U;V;W;X;Y;Z;[;];^;_;a;b;c;d;e;f;g;r;s<h<i<m<n<o<t<y<z<}=P=Q=R=S=X=b=c=g=k=l=|=}>O>V>W>X>Y0phPVX[_bjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!{!}#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b#k#n#o#s#t$R$S$U$y$}%P%R%S%T%U%c%}&S&W&p&s&t&w'O'U'Y'z(O(`(l({)P)i)p)t)v*P*T*U*o+P+r+u+z,T,V,X-P-Q-c-j-y.a.c.k.s/a/g/k/v0^0_0b0c0g0t1P1_2Y2Z2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2q2r2s2t2u2}3b3e3f3i3m3n3q3s3t3v3w3x3y3z3{3|3}4O4P4Q4R4S4T4U4X4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v5O5c5f5g5j5n5o5r5t5u6R6[6]6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6v6w6x6y6z7V7g7j7m7p7q7s7u7x7z8R8S8V8X8Y8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9T9U9V9X9Y9Z9f9w9{9|:P:W:X:]:_:`:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:};O;P;Q;R;S;T;U;V;W;X;Y;Z;[;];^;_;a;b;c;d;e;f;g;r;s<h<i<m<n<o<t<y<z<}=P=Q=R=S=X=k=lT1X0T1ZR&]#P!n#[Z#f#w$V$W$X$Y$[$s$v%W%Y%[&Q&_&`&a&b&c&d&e&f'X'Z'[(])q)s*^+V,z-w/w1O1b1o7h7i!Y2h2X2v2w2x2y2{2|3O3P3Q3R3S3T3U3V3_3`3a3c3d3g3h3j3k3l3o3p3r!^4k2p4w4x4y4z4|4}5P5Q5R5S5T5U5V5W5`5a5b5d5e5h5i5k5l5m5p5q5s6O6P#Q6n#m%`%s&u&v&{(p*O+S,`,c,x-U-W.v2o6{6|6}7O7Q7R7S7W7X7Y7Z7[7]7^7_7l7n7o7v7y7{8O8Q8T8U8W8Z9S:a=T=U#^8{%|&O&U)u,|-V-h/f/l0p0s0v1k4W6T7T7U7w7|7}8P9[9]9^9_9a9c9d9e9g9h9i9j9k9l9m9n9v9x9y9}:O:R:T:U:Y:[:^<d<e=]=o=p!^;Q.j/^;h;i;j;k;n;o;q;t;v;x;z;|<O<Q<S<f<j<l<p<r<u<v<x<{<|=O=^=_o;R1V;p;u;w;y;{;}<P<R<T<g<k<q<s<wS$iu#hQ$qwU't$j$l&oQ'v$kS'x$m$rQ*|'uQ+O'wQ+R'yQ4V5vS4Y5x5yQ4Z5zQ6S8[S6U8]8^Q6V8_Q9b=WS9z=Y=[Q:Q=aQ=Z=wS=`=y=zQ=d={Q=m>PS=n>Q>TS=q>R>SR=r>UT'n$h*s!csPVXt!S!j!r!s!w$h$}%P%S%U'i(T(`)W*s+]+g+r+u,g,j.a.c.k0^0_0g1_Q$^rR*`'^Q*x'sQ-s*{R/u-vQ(W$tQ)U%hQ)n%vQ*i'fQ+k(XR-b*jQ(V$tQ)Y%jQ)m%vQ*e'eS*h'f)nS+j(W(XS-a*i*jQ.[+kQ/R,lQ/c-_R/e-bQ(U$tQ)T%hQ)V%iQ)l%vU*g'f)m)nU+i(V(W(XQ,f)UU-`*h*i*jS.Z+j+kS/d-a-bQ0V.[R0r/eX+e(T)W+g,j[%e!_$b'c+a.Q0OR,d)Qh$ov(T)W+[+]+`+g,g,j.O.P/}R+T'{R0U.WT1Y0T1Z0w|PVX[_bjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!{!}#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b#k#n#o#s#t$R$S$U$y$}%P%R%S%T%U%c%}&S&W&p&s&t&w'O'U'Y'z(O(`(l({)P)i)p)t)v*P*T*U*o+P+r+u+z,T,V,X,_-P-Q-c-j-y.a.c.k.s/a/g/k/v0T0^0_0b0c0g0t1P1Z1_2Y2Z2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2q2r2s2t2u2}3b3e3f3i3m3n3q3s3t3v3w3x3y3z3{3|3}4O4P4Q4R4S4T4U4X4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v5O5c5f5g5j5n5o5r5t5u6R6[6]6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6v6w6x6y6z7V7g7j7m7p7q7s7u7x7z8R8S8V8X8Y8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9T9U9V9X9Y9Z9f9w9{9|:P:W:X:]:_:`:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:};O;P;Q;R;S;T;U;V;W;X;Y;Z;[;];^;_;a;b;c;d;e;f;g;r;s<h<i<m<n<o<t<y<z<}=P=Q=R=S=X=k=lT$x{${Q+p([R.^+nT$z{${Q(b$}Q(j%PQ(o%SQ(r%UQ.i+yQ0Z.eQ0[.hR1e0gR(e%OX+|(c(d+},PR(f%OX(h%P%S%U0gR%S!T_%a!]%R(l,T,V.s0bR%U!UR.w,XR,[(wQ)X%jS*d'e)YS-^*e,lS/b-_/RR0q/cT,i)W,jQ%q!fU)]%m%n%rU,n)^)g)hR/],wR)d%pR/Z,tSSO!mR!oSQ!rVR%y!rQ!jPS!sV!rQ!wX[%u!j!s!w+r0_1_Q+r(`Q0_.kR1_0^Q)j%sS,y)j7tR7t7UQ-R)zR/`-RQ&x#qS*R&x7kR7k9WS*V&{&|R-Y*VQ)w&YR-O)w!l'T#|'h*n*q*v+W+[,l-_-r-u-x.O.y/q/t/x/}0|1n4[4]4^5w6W6X6Y:S:V:Z=e=f=h=s=t=u=vR*Z'T1^dPVX[_bjklmnoprxyz!S!W!X!Y!]!e!g!j!r!s!w!y!z!{!}#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b#k#n#o#s#t$R$S$U$y$}%P%R%S%T%U%c%p%}&S&W&p&s&t&w'O'U'Y'^'z(O(R(S(`(l({)P)_)c)i)p)t)v*P*T*U*o+P+d+r+u+z,T,V,X,t-P-Q-c-j-y-{.a.c.k.s/Y/a/g/k/v0T0^0_0b0c0g0t1P1Z1_2Y2Z2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2q2r2s2t2u2}3b3e3f3i3m3n3q3s3t3v3w3x3y3z3{3|3}4O4P4Q4R4S4T4U4X4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v5O5c5f5g5j5n5o5r5t5u6R6[6]6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6v6w6x6y6z7V7g7j7m7p7q7s7u7x7z8R8S8V8X8Y8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9T9U9V9X9Y9Z9f9w9{9|:P:W:X:]:_:`:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:};O;P;Q;R;S;T;U;V;W;X;Y;Z;[;];^;_;a;b;c;d;e;f;g;r;s<h<i<m<n<o<t<y<z<}=P=Q=R=S=X=k=l`#zd#{%m)^)g,w2U2WQ#{eQ%m!fQ)^%nQ)g%rQ,w)h!|2Ug#}$h'S'i'm'r(P(T)W)Z*f*s*z*}+Q+]+`+g,Z,g,j-q-t-z.P/s0}5{5|5}6Z8`8a8b=b=c=g=|=}>O>V>W>X>YR2W2V|tPVX!S!j!r!s!w$}%P%S%U(`+r+u.a.c.k0^0_0g1_W$`t'i+],gS'i$h*sS+](T+gT,g)W,jQ'_$^R*a'_Q*t'oR-l*tQ/n-nS0y/n0zR0z/oQ-|+XR/z-|Q+g(TR.X+gW+`(T)W+g,jS.P+],gT.S+`.PQ)R%eR,e)RQ'|$oR+U'|Q1Z0TR1u1ZQ${{R(^${Q+t(aR.b+tQ+w(bR.f+wQ+}(cQ,P(dT.l+},PQ(|%`S,a(|7rR7r7TQ(y%^R,^(yQ,j)WR/P,jQ)`%oS,p)`/UR/U,qQ,u)dR/[,uT!uV!rj!iPVX!j!r!s!w(`+r.k0^0_1_Q%Q!SQ(a$}W(h%P%S%U0gQ.d+uQ0X.aR0Y.c|ZPVX!S!j!r!s!w$}%P%S%U(`+r+u.a.c.k0^0_0g1_Q#f[U#m_#s&wQ#wbQ$VkQ$WlQ$XmQ$YnQ$ZoQ$[pQ$sx^$uy2]4`6c8o:k:lQ$vzQ%W!WQ%Y!XQ%[!YW%`!]%R(l,VU%s!g&p-QQ%|!yQ&O!zQ&Q!{S&U!})v^&^#R2_4b6e8r:n:oQ&_#SQ&`#TQ&a#UQ&b#VQ&c#WQ&d#XQ&e#YQ&f#ZQ&g#[Q&h#]Q&i#^Q&j#_Q&k#`Q&l#aQ&m#bQ&u#nQ&v#oS&{#t'OQ'X$RQ'Z$SQ'[$UQ(]$yQ(p%TQ)q%}Q)s&SQ)u&WQ*O&tS*['U4XQ*^'Y^*_2Y3s5t8X:_=P=QQ+S'zQ+V(OQ,`({Q,c)PQ,x)iQ,z)pQ,|)tQ-U*PQ-V*TQ-W*U^-[2Z3t5u8Y:`=R=SQ-h*oQ-w+PQ.j+zQ.v,XQ/^-PQ/f-cQ/l-jQ/w-yQ0p/aQ0s/gQ0v/kQ1O/vU1V0T1Z9UQ1b0cQ1k0tQ1o1PQ2X2[Q2ojQ2p3wQ2v3xQ2w3zQ2x3|Q2y4OQ2z4QQ2{4SQ2|2^Q3O2`Q3P2aQ3Q2bQ3R2cQ3S2dQ3T2eQ3U2fQ3V2gQ3W2hQ3X2iQ3Y2jQ3Z2kQ3[2lQ3]2mQ3^2nQ3_2qQ3`2rQ3a2sQ3c2tQ3d2uQ3g2}Q3h3bQ3j3eQ3k3fQ3l3iQ3o3mQ3p3nQ3r3qQ4W4UQ4w3yQ4x3{Q4y3}Q4z4PQ4{4RQ4|4TQ4}4aQ5P4cQ5Q4dQ5R4eQ5S4fQ5T4gQ5U4hQ5V4iQ5W4jQ5X4kQ5Y4lQ5Z4mQ5[4nQ5]4oQ5^4pQ5_4qQ5`4rQ5a4sQ5b4tQ5d4uQ5e4vQ5h5OQ5i5cQ5k5fQ5l5gQ5m5jQ5p5nQ5q5oQ5s5rQ6O4_Q6P3vQ6T6RQ6{6[Q6|6]Q6}6^Q7O6_Q7P6`Q7Q6aQ7R6bQ7S6dU7T,T.s0bQ7U%cQ7W6fQ7X6gQ7Y6hQ7Z6iQ7[6jQ7]6kQ7^6lQ7_6mQ7`6nQ7a6oQ7b6pQ7c6qQ7d6rQ7e6sQ7f6tQ7h6vQ7i6wQ7l6xQ7n6yQ7o6zQ7v7VQ7w7gQ7y7mQ7{7pQ7|7qQ7}7sQ8O7uQ8P7xQ8Q7zQ8T8RQ8U8SQ8W8VQ8Z8dU9S#k&s7jQ9[8hQ9]8iQ9^8jQ9_8kQ9`8lQ9a8mQ9c8nQ9d8pQ9e8qQ9g8sQ9h8tQ9i8uQ9j8vQ9k8wQ9l8xQ9m8yQ9n8zQ9o8{Q9p8|Q9q8}Q9r9OQ9s9PQ9t9QQ9u9RQ9v9XQ9x9YQ9y9ZQ9}9fQ:O9wQ:R9{Q:T9|Q:U:PQ:Y:WQ:[:XQ:^:]Q:a8gQ;h:bQ;i:cQ;j:dQ;k:eQ;l:fQ;m:gQ;n:hQ;o:iQ;p:jQ;q:mQ;t:pQ;u:qQ;v:rQ;w:sQ;x:tQ;y:uQ;z:vQ;{:wQ;|:xQ;}:yQ<O:zQ<P:{Q<Q:|Q<R:}Q<S;OQ<T;PQ<U;QQ<V;RQ<W;SQ<X;TQ<Y;UQ<Z;VQ<[;WQ<];XQ<^;YQ<_;ZQ<`;[Q<a;]Q<b;^Q<c;_Q<d;aQ<e;bQ<f;cQ<g;dQ<j;eQ<k;fQ<l;gQ<p;rQ<q;sQ<r<hQ<s<iQ<u<mQ<v<nQ<w<oQ<x<tQ<{<yQ<|<zQ=O<}Q=T8fQ=U8eQ=]=XQ=^9TQ=_9VQ=o=kR=p=lR){&pQ%t!gQ)O%cT)y&p-Q$SiPVX[bklmnopxyz!S!W!X!Y!j!r!s!w!{#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b$R$S$U$y$}%P%S%U%}&S'Y(O(`)p+P+r+u-y.a.c.k/v0^0_0c0g1P1_2Y2Z6v6w!t3u'U2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2q2r2s2t2u2}3b3e3f3i3m3n3q3x3z3|4O4Q4S5t5u!x6Q3s3t3v3w3y3{3}4P4R4T4X4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v5O5c5f5g5j5n5o5r$O8c_j!]!g#k#n#o#s#t%R%T&p&s&t&w'O'z(l({)P)i*P*U,V,X-Q6[6]6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6x6y6z7V7j7m7p7u7z8R8S8V8X8Y8d8e8f8g#|=V!y!z!}%c&W)t)v*T*o,T-c-j.s/a/g/k0b0t4U6R7g7q7s7x8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9X9Y9Z9f9w9{9|:P:W:X:]:_:`;a;b=X=k=l!v=i+z-P9T9V:b:c:d:e:f:h:i:k:m:n:p:r:t:v:x:z:|;O;Q;S;U;W;Y;[;^;c;e;g;r<h<m<n<t<y<z<}=P=R!]=j0T1Z9U:g:j:l:o:q:s:u:w:y:{:};P;R;T;V;X;Z;];_;d;f;s<i<o=Q=SQ#r_Q&r#kQ&z#sR)}&sS#q_#s^$Tj3v3w8d8e8f8gS*Q&w7jT9W#k&sQ&}#tR*X'OR&T!|R&Z!}Q&Y!}R,})vQ#|gQ'V#}S'h$h*sQ*Y'SQ*n'iQ*q'mQ*v'rQ+W(PW+[(T)W+g,jQ,l)ZQ-_*fQ-r*zQ-u*}Q-x+QU.O+]+`,gQ.y,ZQ/q-qQ/t-tQ/x-zQ/}.PQ0|/sQ1n0}Q4[5{Q4]5|Q4^5}Q5w6ZQ6W8`Q6X8aQ6Y8bQ:S=bQ:V=cQ:Z=gQ=e=|Q=f=}Q=h>OQ=s>VQ=t>WQ=u>XR=v>Y0t!OPVX[_bjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!{!}#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b#k#n#o#s#t$R$S$U$y$}%P%R%S%T%U%c%}&S&W&p&s&t&w'O'U'Y'z(O(`(l({)P)i)p)t)v*P*T*U*o+P+r+u+z,T,V,X-P-Q-c-j-y.a.c.k.s/a/g/k/v0T0^0_0b0c0g0t1P1Z1_2Y2Z2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2q2r2s2t2u2}3b3e3f3i3m3n3q3s3t3v3w3x3y3z3{3|3}4O4P4Q4R4S4T4U4X4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v5O5c5f5g5j5n5o5r5t5u6R6[6]6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6v6w6x6y6z7V7g7j7m7p7q7s7u7x7z8R8S8V8X8Y8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9T9U9V9X9Y9Z9f9w9{9|:P:W:X:]:_:`:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:};O;P;Q;R;S;T;U;V;W;X;Y;Z;[;];^;_;a;b;c;d;e;f;g;r;s<h<i<m<n<o<t<y<z<}=P=Q=R=S=X=k=l!|$Pg#}$h'S'i'm'r(P(T)W)Z*f*s*z*}+Q+]+`+g,Z,g,j-q-t-z.P/s0}5{5|5}6Z8`8a8b=b=c=g=|=}>O>V>W>X>YS$]r'^Q%k!eS%o!f%rQ)b%pU+X(R(S+dQ,o)_Q,s)cQ/X,tQ/y-{R0n/Y|vPVX!S!j!r!s!w$}%P%S%U(`+r+u.a.c.k0^0_0g1_#U#i[bklmnopxyz!W!X!Y!{#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b$R$S$U$y%}&S'Y(O)p+P-y/v0c1P2Y2Z6v6w`+^(T)W+]+`+g,g,j.P!t6u'U2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2q2r2s2t2u2}3b3e3f3i3m3n3q3x3z3|4O4Q4S5t5u!x;`3s3t3v3w3y3{3}4P4R4T4X4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v5O5c5f5g5j5n5o5r$O=x_j!]!g#k#n#o#s#t%R%T&p&s&t&w'O'z(l({)P)i*P*U,V,X-Q6[6]6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6x6y6z7V7j7m7p7u7z8R8S8V8X8Y8d8e8f8g#|>Z!y!z!}%c&W)t)v*T*o,T-c-j.s/a/g/k0b0t4U6R7g7q7s7x8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9X9Y9Z9f9w9{9|:P:W:X:]:_:`;a;b=X=k=l!v>[+z-P9T9V:b:c:d:e:f:h:i:k:m:n:p:r:t:v:x:z:|;O;Q;S;U;W;Y;[;^;c;e;g;r<h<m<n<t<y<z<}=P=R!]>]0T1Z9U:g:j:l:o:q:s:u:w:y:{:};P;R;T;V;X;Z;];_;d;f;s<i<o=Q=SR'p$hQ'o$hR-k*sR$_rR-p*wQ+Y(RQ+Z(SR.W+dS+f(T+gT,i)W,ja+_(T)W+]+`+g,g,j.PQ%f!_Q'b$bQ*c'cQ.T+aQ0Q.QR1S0OQ#eZQ%X!WQ%Z!XQ%]!YQ'}$pQ(s%VQ(t%WQ(u%YQ(v%[Q(}%bQ)S%fQ)[%kQ)f%qQ)k%tQ*b'bQ,m)]Q-]*cQ.U+bQ.V+cQ.d+xQ.n,QQ.o,RQ.p,SQ.u,WQ.x,YQ.|,bQ/S,nQ/{-}Q0R.RQ0S.TQ0U.WQ0Y.gQ0i/OQ0o/]Q1Q/|Q1T0PQ1U0QQ1^0]Q1f0hQ1p1RQ1q1SQ1t1YQ1w1]Q1{1hQ2R1yR2S1zQ$pvW+b(T)W+g,jW-}+[+]+`,gS/|.O.PR1R/}|!aPVX!S!j!r!s!w$}%P%S%U(`+r+u.a.c.k0^0_0g1_Q$dtW+c(T)W+g,jU.R+]+`,gR0P.P0t!OPVX[_bjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!{!}#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b#k#n#o#s#t$R$S$U$y$}%P%R%S%T%U%c%}&S&W&p&s&t&w'O'U'Y'z(O(`(l({)P)i)p)t)v*P*T*U*o+P+r+u+z,T,V,X-P-Q-c-j-y.a.c.k.s/a/g/k/v0T0^0_0b0c0g0t1P1Z1_2Y2Z2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2q2r2s2t2u2}3b3e3f3i3m3n3q3s3t3v3w3x3y3z3{3|3}4O4P4Q4R4S4T4U4X4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v5O5c5f5g5j5n5o5r5t5u6R6[6]6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6v6w6x6y6z7V7g7j7m7p7q7s7u7x7z8R8S8V8X8Y8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9T9U9V9X9Y9Z9f9w9{9|:P:W:X:]:_:`:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:};O;P;Q;R;S;T;U;V;W;X;Y;Z;[;];^;_;a;b;c;d;e;f;g;r;s<h<i<m<n<o<t<y<z<}=P=Q=R=S=X=k=lR.{,_0w}PVX[_bjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!{!}#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b#k#n#o#s#t$R$S$U$y$}%P%R%S%T%U%c%}&S&W&p&s&t&w'O'U'Y'z(O(`(l({)P)i)p)t)v*P*T*U*o+P+r+u+z,T,V,X,_-P-Q-c-j-y.a.c.k.s/a/g/k/v0T0^0_0b0c0g0t1P1Z1_2Y2Z2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2q2r2s2t2u2}3b3e3f3i3m3n3q3s3t3v3w3x3y3z3{3|3}4O4P4Q4R4S4T4U4X4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v5O5c5f5g5j5n5o5r5t5u6R6[6]6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6v6w6x6y6z7V7g7j7m7p7q7s7u7x7z8R8S8V8X8Y8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9T9U9V9X9Y9Z9f9w9{9|:P:W:X:]:_:`:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:};O;P;Q;R;S;T;U;V;W;X;Y;Z;[;];^;_;a;b;c;d;e;f;g;r;s<h<i<m<n<o<t<y<z<}=P=Q=R=S=X=k=lT$w{${Q(i%PQ(n%SQ(q%UR1d0gQ%b!]Q(m%RQ,U(lQ.r,TQ.t,VQ0a.sR1a0bQ%q!fR)]%rR)e%p",nodeNames:"\u26A0 ( HeredocString EscapeSequence abstract LogicOp array as Boolean break case catch clone const continue default declare do echo else elseif enddeclare endfor endforeach endif endswitch endwhile enum extends final finally fn for foreach from function global goto if implements include include_once LogicOp insteadof interface list match namespace new null LogicOp print require require_once return switch throw trait try unset use var Visibility while LogicOp yield LineComment BlockComment TextInterpolation PhpClose Text PhpOpen Template TextInterpolation EmptyStatement ; } { Block : LabelStatement Name ExpressionStatement ConditionalExpression LogicOp MatchExpression ) ( ParenthesizedExpression MatchBlock MatchArm , => AssignmentExpression ArrayExpression ValueList & VariadicUnpacking ... Pair [ ] ListExpression ValueList Pair Pair SubscriptExpression MemberExpression -> ?-> VariableName DynamicVariable $ ${ CallExpression ArgList NamedArgument SpreadArgument CastExpression UnionType LogicOp OptionalType NamedType QualifiedName \\ NamespaceName ScopedExpression :: ClassMemberName AssignOp UpdateExpression UpdateOp YieldExpression BinaryExpression LogicOp LogicOp LogicOp BitOp BitOp BitOp CompareOp CompareOp BitOp ArithOp ConcatOp ArithOp ArithOp IncludeExpression RequireExpression CloneExpression UnaryExpression ControlOp LogicOp PrintIntrinsic FunctionExpression static ParamList Parameter #[ Attributes Attribute VariadicParameter PropertyParameter UseList ArrowFunction NewExpression class BaseClause ClassInterfaceClause DeclarationList ConstDeclaration VariableDeclarator PropertyDeclaration VariableDeclarator MethodDeclaration UseDeclaration UseList UseInsteadOfClause UseAsClause UpdateExpression ArithOp ShellExpression ThrowExpression Integer Float String MemberExpression SubscriptExpression UnaryExpression ArithOp Interpolation String IfStatement ColonBlock SwitchStatement Block CaseStatement DefaultStatement ColonBlock WhileStatement EmptyStatement DoStatement ForStatement ForSpec SequenceExpression ForeachStatement ForSpec Pair GotoStatement ContinueStatement BreakStatement ReturnStatement TryStatement CatchDeclarator DeclareStatement EchoStatement UnsetStatement ConstDeclaration FunctionDefinition ClassDeclaration InterfaceDeclaration TraitDeclaration EnumDeclaration EnumBody EnumCase NamespaceDefinition NamespaceUseDeclaration UseGroup UseClause UseClause GlobalDeclaration FunctionStaticDeclaration Program",maxTerm:304,nodeProps:[["group",-36,2,8,49,81,83,85,88,93,94,102,106,107,110,111,114,118,123,126,130,132,133,147,148,149,150,153,154,164,165,179,181,182,183,184,185,191,"Expression",-28,74,78,80,82,192,194,199,201,202,205,208,209,210,211,212,214,215,216,217,218,219,220,221,222,225,226,230,231,"Statement",-3,119,121,122,"Type"],["isolate",-4,66,67,70,191,""],["openedBy",69,"phpOpen",76,"{",86,"(",101,"#["],["closedBy",71,"phpClose",77,"}",87,")",158,"]"]],propSources:[N2],skippedNodes:[0],repeatNodeCount:29,tokenData:"!F|_R!]OX$zXY&^YZ'sZ]$z]^&^^p$zpq&^qr)Rrs+Pst+otu2buv5evw6rwx8Vxy>]yz>yz{?g{|@}|}Bb}!OCO!O!PDh!P!QKT!Q!R!!o!R![!$q![!]!,P!]!^!-a!^!_!-}!_!`!1S!`!a!2d!a!b!3t!b!c!7^!c!d!7z!d!e!9W!e!}!7z!}#O!;^#O#P!;z#P#Q!<h#Q#R!=U#R#S!7z#S#T!=u#T#U!7z#U#V!9W#V#o!7z#o#p!Co#p#q!D]#q#r!Er#r#s!F`#s$f$z$f$g&^$g&j!7z&j$I_$z$I_$I`&^$I`$KW$z$KW$KX&^$KX;'S$z;'S;=`&W<%l?HT$z?HT?HU&^?HUO$zP%PV&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zP%kO&wPP%nWOY$zYZ%fZ!a$z!b;'S$z;'S;=`&W<%l~$z~O$z~~%fP&ZP;=`<%l$zV&ed&wP&vUOX$zXY&^YZ'sZ]$z]^&^^p$zpq&^q!^$z!^!_%k!_$f$z$f$g&^$g$I_$z$I_$I`&^$I`$KW$z$KW$KX&^$KX;'S$z;'S;=`&W<%l?HT$z?HT?HU&^?HUO$zV'zW&wP&vUXY(dYZ(d]^(dpq(d$f$g(d$I_$I`(d$KW$KX(d?HT?HU(dU(iW&vUXY(dYZ(d]^(dpq(d$f$g(d$I_$I`(d$KW$KX(d?HT?HU(dR)YW$^Q&wPOY$zYZ%fZ!^$z!^!_%k!_!`)r!`;'S$z;'S;=`&W<%lO$zR)yW$QQ&wPOY$zYZ%fZ!^$z!^!_%k!_!`*c!`;'S$z;'S;=`&W<%lO$zR*jV$QQ&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV+YV'fS&wP'gQOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV+v]&wP!dUOY,oYZ%fZ],o]^$z^!^,o!^!_-i!_!a,o!a!b/y!b!},o!}#O1f#O;'S,o;'S;=`/s<%lO,oV,vZ&wP!dUOY,oYZ%fZ],o]^$z^!^,o!^!_-i!_!a,o!a!b/y!b;'S,o;'S;=`/s<%lO,oV-nZ!dUOY,oYZ%fZ],o]^$z^!a,o!a!b.a!b;'S,o;'S;=`/s<%l~,o~O,o~~%fU.dWOY.|YZ/nZ].|]^/n^!`.|!a;'S.|;'S;=`/h<%lO.|U/RV!dUOY.|Z].|^!a.|!a!b.a!b;'S.|;'S;=`/h<%lO.|U/kP;=`<%l.|U/sO!dUV/vP;=`<%l,oV0OZ&wPOY,oYZ0qZ],o]^0x^!^,o!^!_-i!_!`,o!`!a$z!a;'S,o;'S;=`/s<%lO,oV0xO&wP!dUV1PV&wP!dUOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV1oZ&wP$dQ!dUOY,oYZ%fZ],o]^$z^!^,o!^!_-i!_!a,o!a!b/y!b;'S,o;'S;=`/s<%lO,o_2i`&wP#dQOY$zYZ%fZ!^$z!^!_%k!_!c$z!c!}3k!}#R$z#R#S3k#S#T$z#T#o3k#o#p4w#p$g$z$g&j3k&j;'S$z;'S;=`&W<%lO$z_3ra&wP#b^OY$zYZ%fZ!Q$z!Q![3k![!^$z!^!_%k!_!c$z!c!}3k!}#R$z#R#S3k#S#T$z#T#o3k#o$g$z$g&j3k&j;'S$z;'S;=`&W<%lO$zV5OV&wP#eUOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR5lW&wP$VQOY$zYZ%fZ!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zR6]V#wQ&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV6yY#SU&wPOY$zYZ%fZv$zvw7iw!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zR7pV#|Q&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR8^Z&wP%VQOY8VYZ9PZw8Vwx;_x!^8V!^!_;{!_#O8V#O#P<y#P;'S8V;'S;=`>V<%lO8VR9WV&wP%VQOw9mwx:Xx#O9m#O#P:^#P;'S9m;'S;=`;X<%lO9mQ9rV%VQOw9mwx:Xx#O9m#O#P:^#P;'S9m;'S;=`;X<%lO9mQ:^O%VQQ:aRO;'S9m;'S;=`:j;=`O9mQ:oW%VQOw9mwx:Xx#O9m#O#P:^#P;'S9m;'S;=`;X;=`<%l9m<%lO9mQ;[P;=`<%l9mR;fV&wP%VQOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR<Q]%VQOY8VYZ9PZw8Vwx;_x!a8V!a!b9m!b#O8V#O#P<y#P;'S8V;'S;=`>V<%l~8V~O8V~~%fR=OW&wPOY8VYZ9PZ!^8V!^!_;{!_;'S8V;'S;=`=h;=`<%l9m<%lO8VR=mW%VQOw9mwx:Xx#O9m#O#P:^#P;'S9m;'S;=`;X;=`<%l8V<%lO9mR>YP;=`<%l8VR>dV!yQ&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV?QV!xU&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR?nY&wP$VQOY$zYZ%fZz$zz{@^{!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zR@eW$WQ&wPOY$zYZ%fZ!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zRAUY$TQ&wPOY$zYZ%fZ{$z{|At|!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zRA{V$zQ&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zRBiV!}Q&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_CXZ$TQ%TW&wPOY$zYZ%fZ}$z}!OAt!O!^$z!^!_%k!_!`6U!`!aCz!a;'S$z;'S;=`&W<%lO$zVDRV#`U&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zVDo[&wP$UQOY$zYZ%fZ!O$z!O!PEe!P!Q$z!Q![Fs![!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zVEjX&wPOY$zYZ%fZ!O$z!O!PFV!P!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zVF^V#UU&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zRFz_&wP%OQOY$zYZ%fZ!Q$z!Q![Fs![!^$z!^!_%k!_!g$z!g!hGy!h#R$z#R#SJc#S#X$z#X#YGy#Y;'S$z;'S;=`&W<%lO$zRHO]&wPOY$zYZ%fZ{$z{|Hw|}$z}!OHw!O!Q$z!Q![Ii![!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zRH|X&wPOY$zYZ%fZ!Q$z!Q![Ii![!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zRIpZ&wP%OQOY$zYZ%fZ!Q$z!Q![Ii![!^$z!^!_%k!_#R$z#R#SHw#S;'S$z;'S;=`&W<%lO$zRJhX&wPOY$zYZ%fZ!Q$z!Q![Fs![!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zVK[[&wP$VQOY$zYZ%fZz$zz{LQ{!P$z!P!Q,o!Q!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zVLVX&wPOYLQYZLrZzLQz{N_{!^LQ!^!_! s!_;'SLQ;'S;=`!!i<%lOLQVLwT&wPOzMWz{Mj{;'SMW;'S;=`NX<%lOMWUMZTOzMWz{Mj{;'SMW;'S;=`NX<%lOMWUMmVOzMWz{Mj{!PMW!P!QNS!Q;'SMW;'S;=`NX<%lOMWUNXO!eUUN[P;=`<%lMWVNdZ&wPOYLQYZLrZzLQz{N_{!PLQ!P!Q! V!Q!^LQ!^!_! s!_;'SLQ;'S;=`!!i<%lOLQV! ^V!eU&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV! vZOYLQYZLrZzLQz{N_{!aLQ!a!bMW!b;'SLQ;'S;=`!!i<%l~LQ~OLQ~~%fV!!lP;=`<%lLQZ!!vm&wP$}YOY$zYZ%fZ!O$z!O!PFs!P!Q$z!Q![!$q![!^$z!^!_%k!_!d$z!d!e!&o!e!g$z!g!hGy!h!q$z!q!r!(a!r!z$z!z!{!){!{#R$z#R#S!%}#S#U$z#U#V!&o#V#X$z#X#YGy#Y#c$z#c#d!(a#d#l$z#l#m!){#m;'S$z;'S;=`&W<%lO$zZ!$xa&wP$}YOY$zYZ%fZ!O$z!O!PFs!P!Q$z!Q![!$q![!^$z!^!_%k!_!g$z!g!hGy!h#R$z#R#S!%}#S#X$z#X#YGy#Y;'S$z;'S;=`&W<%lO$zZ!&SX&wPOY$zYZ%fZ!Q$z!Q![!$q![!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zZ!&tY&wPOY$zYZ%fZ!Q$z!Q!R!'d!R!S!'d!S!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zZ!'k[&wP$}YOY$zYZ%fZ!Q$z!Q!R!'d!R!S!'d!S!^$z!^!_%k!_#R$z#R#S!&o#S;'S$z;'S;=`&W<%lO$zZ!(fX&wPOY$zYZ%fZ!Q$z!Q!Y!)R!Y!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zZ!)YZ&wP$}YOY$zYZ%fZ!Q$z!Q!Y!)R!Y!^$z!^!_%k!_#R$z#R#S!(a#S;'S$z;'S;=`&W<%lO$zZ!*Q]&wPOY$zYZ%fZ!Q$z!Q![!*y![!^$z!^!_%k!_!c$z!c!i!*y!i#T$z#T#Z!*y#Z;'S$z;'S;=`&W<%lO$zZ!+Q_&wP$}YOY$zYZ%fZ!Q$z!Q![!*y![!^$z!^!_%k!_!c$z!c!i!*y!i#R$z#R#S!){#S#T$z#T#Z!*y#Z;'S$z;'S;=`&W<%lO$zR!,WX!qQ&wPOY$zYZ%fZ![$z![!]!,s!]!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!,zV#sQ&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV!-hV!mU&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!.S[$RQOY$zYZ%fZ!^$z!^!_!.x!_!`!/i!`!a*c!a!b!0]!b;'S$z;'S;=`&W<%l~$z~O$z~~%fR!/PW$SQ&wPOY$zYZ%fZ!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zR!/pX$RQ&wPOY$zYZ%fZ!^$z!^!_%k!_!`$z!`!a*c!a;'S$z;'S;=`&W<%lO$zP!0bR!iP!_!`!0k!r!s!0p#d#e!0pP!0pO!iPP!0sQ!j!k!0y#[#]!0yP!0|Q!r!s!0k#d#e!0kV!1ZX#uQ&wPOY$zYZ%fZ!^$z!^!_%k!_!`)r!`!a!1v!a;'S$z;'S;=`&W<%lO$zV!1}V#OU&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!2kX$RQ&wPOY$zYZ%fZ!^$z!^!_%k!_!`!3W!`!a!.x!a;'S$z;'S;=`&W<%lO$zR!3_V$RQ&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV!3{[!vQ&wPOY$zYZ%fZ}$z}!O!4q!O!^$z!^!_%k!_!`$z!`!a!6P!a!b!6m!b;'S$z;'S;=`&W<%lO$zV!4vX&wPOY$zYZ%fZ!^$z!^!_%k!_!`$z!`!a!5c!a;'S$z;'S;=`&W<%lO$zV!5jV#aU&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV!6WV!gU&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!6tW#zQ&wPOY$zYZ%fZ!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zR!7eV$]Q&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_!8Ra&wP!s^OY$zYZ%fZ!Q$z!Q![!7z![!^$z!^!_%k!_!c$z!c!}!7z!}#R$z#R#S!7z#S#T$z#T#o!7z#o$g$z$g&j!7z&j;'S$z;'S;=`&W<%lO$z_!9_e&wP!s^OY$zYZ%fZr$zrs!:psw$zwx8Vx!Q$z!Q![!7z![!^$z!^!_%k!_!c$z!c!}!7z!}#R$z#R#S!7z#S#T$z#T#o!7z#o$g$z$g&j!7z&j;'S$z;'S;=`&W<%lO$zR!:wV&wP'gQOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV!;eV#WU&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV!<RV#pU&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!<oV#XQ&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!=]W$OQ&wPOY$zYZ%fZ!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zR!=zZ&wPOY!=uYZ!>mZ!^!=u!^!_!@u!_#O!=u#O#P!Aq#P#S!=u#S#T!B{#T;'S!=u;'S;=`!Ci<%lO!=uR!>rV&wPO#O!?X#O#P!?q#P#S!?X#S#T!@j#T;'S!?X;'S;=`!@o<%lO!?XQ!?[VO#O!?X#O#P!?q#P#S!?X#S#T!@j#T;'S!?X;'S;=`!@o<%lO!?XQ!?tRO;'S!?X;'S;=`!?};=`O!?XQ!@QWO#O!?X#O#P!?q#P#S!?X#S#T!@j#T;'S!?X;'S;=`!@o;=`<%l!?X<%lO!?XQ!@oO${QQ!@rP;=`<%l!?XR!@x]OY!=uYZ!>mZ!a!=u!a!b!?X!b#O!=u#O#P!Aq#P#S!=u#S#T!B{#T;'S!=u;'S;=`!Ci<%l~!=u~O!=u~~%fR!AvW&wPOY!=uYZ!>mZ!^!=u!^!_!@u!_;'S!=u;'S;=`!B`;=`<%l!?X<%lO!=uR!BcWO#O!?X#O#P!?q#P#S!?X#S#T!@j#T;'S!?X;'S;=`!@o;=`<%l!=u<%lO!?XR!CSV${Q&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!ClP;=`<%l!=uV!CvV!oU&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV!DfY#}Q#lS&wPOY$zYZ%fZ!^$z!^!_%k!_!`6U!`#p$z#p#q!EU#q;'S$z;'S;=`&W<%lO$zR!E]V#{Q&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!EyV!nQ&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!FgV$^Q&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z",tokenizers:[D2,I2,G2,0,1,2,3,L2],topRules:{Template:[0,72],Program:[1,232]},dynamicPrecedences:{284:1},specialized:[{term:81,get:(i,e)=>My(i)<<1,external:My},{term:81,get:i=>F2[i]||-1}],tokenPrec:29378});var H2=54,K2=1,J2=55,eT=2,tT=56,iT=3,Gy=4,nT=5,La=6,eQ=7,tQ=8,iQ=9,nQ=10,rT=11,sT=12,oT=13,cf=57,aT=14,By=58,rQ=20,lT=22,sQ=23,OT=24,ff=26,oQ=27,cT=28,hT=31,fT=34,uT=36,dT=37,pT=0,mT=1,gT={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},$T={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},Iy={dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}};function yT(i){return i==45||i==46||i==58||i>=65&&i<=90||i==95||i>=97&&i<=122||i>=161}function aQ(i){return i==9||i==10||i==13||i==32}var Ny=null,Fy=null,Hy=0;function uf(i,e){let t=i.pos+e;if(Hy==t&&Fy==i)return Ny;let n=i.peek(e);for(;aQ(n);)n=i.peek(++e);let r="";for(;yT(n);)r+=String.fromCharCode(n),n=i.peek(++e);return Fy=i,Hy=t,Ny=r?r.toLowerCase():n==QT||n==ST?void 0:null}var lQ=60,Ga=62,df=47,QT=63,ST=33,bT=45;function Ky(i,e){this.name=i,this.parent=e}var xT=[La,nQ,eQ,tQ,iQ],vT=new In({start:null,shift(i,e,t,n){return xT.indexOf(e)>-1?new Ky(uf(n,1)||"",i):i},reduce(i,e){return e==rQ&&i?i.parent:i},reuse(i,e,t,n){let r=e.type.id;return r==La||r==uT?new Ky(uf(n,1)||"",i):i},strict:!1}),wT=new ge((i,e)=>{if(i.next!=lQ){i.next<0&&e.context&&i.acceptToken(cf);return}i.advance();let t=i.next==df;t&&i.advance();let n=uf(i,0);if(n===void 0)return;if(!n)return i.acceptToken(t?aT:La);let r=e.context?e.context.name:null;if(t){if(n==r)return i.acceptToken(rT);if(r&&$T[r])return i.acceptToken(cf,-2);if(e.dialectEnabled(pT))return i.acceptToken(sT);for(let s=e.context;s;s=s.parent)if(s.name==n)return;i.acceptToken(oT)}else{if(n=="script")return i.acceptToken(eQ);if(n=="style")return i.acceptToken(tQ);if(n=="textarea")return i.acceptToken(iQ);if(gT.hasOwnProperty(n))return i.acceptToken(nQ);r&&Iy[r]&&Iy[r][n]?i.acceptToken(cf,-1):i.acceptToken(La)}},{contextual:!0}),PT=new ge(i=>{for(let e=0,t=0;;t++){if(i.next<0){t&&i.acceptToken(By);break}if(i.next==bT)e++;else if(i.next==Ga&&e>=2){t>=3&&i.acceptToken(By,-2);break}else e=0;i.advance()}});function kT(i){for(;i;i=i.parent)if(i.name=="svg"||i.name=="math")return!0;return!1}var TT=new ge((i,e)=>{if(i.next==df&&i.peek(1)==Ga){let t=e.dialectEnabled(mT)||kT(e.context);i.acceptToken(t?nT:Gy,2)}else i.next==Ga&&i.acceptToken(Gy,1)});function pf(i,e,t){let n=2+i.length;return new ge(r=>{for(let s=0,o=0,a=0;;a++){if(r.next<0){a&&r.acceptToken(e);break}if(s==0&&r.next==lQ||s==1&&r.next==df||s>=2&&s<n&&r.next==i.charCodeAt(s-2))s++,o++;else if((s==2||s==n)&&aQ(r.next))o++;else if(s==n&&r.next==Ga){a>o?r.acceptToken(e,-o):r.acceptToken(t,-(o-2));break}else if((r.next==10||r.next==13)&&a){r.acceptToken(e,1);break}else s=o=0;r.advance()}})}var zT=pf("script",H2,K2),XT=pf("style",J2,eT),RT=pf("textarea",tT,iT),qT=_t({"Text RawText":$.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":$.angleBracket,TagName:$.tagName,"MismatchedCloseTag/TagName":[$.tagName,$.invalid],AttributeName:$.attributeName,"AttributeValue UnquotedAttributeValue":$.attributeValue,Is:$.definitionOperator,"EntityReference CharacterReference":$.character,Comment:$.blockComment,ProcessingInst:$.processingInstruction,DoctypeDecl:$.documentMeta}),OQ=At.deserialize({version:14,states:",xOVO!rOOO!WQ#tO'#CqO!]Q#tO'#CzO!bQ#tO'#C}O!gQ#tO'#DQO!lQ#tO'#DSO!qOaO'#CpO!|ObO'#CpO#XOdO'#CpO$eO!rO'#CpOOO`'#Cp'#CpO$lO$fO'#DTO$tQ#tO'#DVO$yQ#tO'#DWOOO`'#Dk'#DkOOO`'#DY'#DYQVO!rOOO%OQ&rO,59]O%ZQ&rO,59fO%fQ&rO,59iO%qQ&rO,59lO%|Q&rO,59nOOOa'#D^'#D^O&XOaO'#CxO&dOaO,59[OOOb'#D_'#D_O&lObO'#C{O&wObO,59[OOOd'#D`'#D`O'POdO'#DOO'[OdO,59[OOO`'#Da'#DaO'dO!rO,59[O'kQ#tO'#DROOO`,59[,59[OOOp'#Db'#DbO'pO$fO,59oOOO`,59o,59oO'xQ#|O,59qO'}Q#|O,59rOOO`-E7W-E7WO(SQ&rO'#CsOOQW'#DZ'#DZO(bQ&rO1G.wOOOa1G.w1G.wOOO`1G/Y1G/YO(mQ&rO1G/QOOOb1G/Q1G/QO(xQ&rO1G/TOOOd1G/T1G/TO)TQ&rO1G/WOOO`1G/W1G/WO)`Q&rO1G/YOOOa-E7[-E7[O)kQ#tO'#CyOOO`1G.v1G.vOOOb-E7]-E7]O)pQ#tO'#C|OOOd-E7^-E7^O)uQ#tO'#DPOOO`-E7_-E7_O)zQ#|O,59mOOOp-E7`-E7`OOO`1G/Z1G/ZOOO`1G/]1G/]OOO`1G/^1G/^O*PQ,UO,59_OOQW-E7X-E7XOOOa7+$c7+$cOOO`7+$t7+$tOOOb7+$l7+$lOOOd7+$o7+$oOOO`7+$r7+$rO*[Q#|O,59eO*aQ#|O,59hO*fQ#|O,59kOOO`1G/X1G/XO*kO7[O'#CvO*|OMhO'#CvOOQW1G.y1G.yOOO`1G/P1G/POOO`1G/S1G/SOOO`1G/V1G/VOOOO'#D['#D[O+_O7[O,59bOOQW,59b,59bOOOO'#D]'#D]O+pOMhO,59bOOOO-E7Y-E7YOOQW1G.|1G.|OOOO-E7Z-E7Z",stateData:",]~O!^OS~OUSOVPOWQOXROYTO[]O][O^^O`^Oa^Ob^Oc^Ox^O{_O!dZO~OfaO~OfbO~OfcO~OfdO~OfeO~O!WfOPlP!ZlP~O!XiOQoP!ZoP~O!YlORrP!ZrP~OUSOVPOWQOXROYTOZqO[]O][O^^O`^Oa^Ob^Oc^Ox^O!dZO~O!ZrO~P#dO![sO!euO~OfvO~OfwO~OS|OT}OhyO~OS!POT}OhyO~OS!ROT}OhyO~OS!TOT}OhyO~OS}OT}OhyO~O!WfOPlX!ZlX~OP!WO!Z!XO~O!XiOQoX!ZoX~OQ!ZO!Z!XO~O!YlORrX!ZrX~OR!]O!Z!XO~O!Z!XO~P#dOf!_O~O![sO!e!aO~OS!bO~OS!cO~Oi!dOSgXTgXhgX~OS!fOT!gOhyO~OS!hOT!gOhyO~OS!iOT!gOhyO~OS!jOT!gOhyO~OS!gOT!gOhyO~Of!kO~Of!lO~Of!mO~OS!nO~Ok!qO!`!oO!b!pO~OS!rO~OS!sO~OS!tO~Oa!uOb!uOc!uO!`!wO!a!uO~Oa!xOb!xOc!xO!b!wO!c!xO~Oa!uOb!uOc!uO!`!{O!a!uO~Oa!xOb!xOc!xO!b!{O!c!xO~OT~bac!dx{!d~",goto:"%p!`PPPPPPPPPPPPPPPPPPPP!a!gP!mPP!yP!|#P#S#Y#]#`#f#i#l#r#x!aP!a!aP$O$U$l$r$x%O%U%[%bPPPPPPPP%hX^OX`pXUOX`pezabcde{!O!Q!S!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ!ObQ!QcQ!SdQ!UeZ!e{!O!Q!S!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"\u26A0 StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:67,context:vT,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,21,30,33,36,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,29,32,35,37,"OpenTag"],["group",-9,14,17,18,19,20,39,40,41,42,"Entity",16,"Entity TextContent",-3,28,31,34,"TextContent Entity"],["isolate",-11,21,29,30,32,33,35,36,37,38,41,42,"ltr",-3,26,27,39,""]],propSources:[qT],skippedNodes:[0],repeatNodeCount:9,tokenData:"!<p!aR!YOX$qXY,QYZ,QZ[$q[]&X]^,Q^p$qpq,Qqr-_rs3_sv-_vw3}wxHYx}-_}!OH{!O!P-_!P!Q$q!Q![-_![!]Mz!]!^-_!^!_!$S!_!`!;x!`!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4U-_4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!Z$|c`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr$qrs&}sv$qvw+Pwx(tx!^$q!^!_*V!_!a&X!a#S$q#S#T&X#T;'S$q;'S;=`+z<%lO$q!R&bX`P!a`!cpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&Xq'UV`P!cpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}P'pT`POv'kw!^'k!_;'S'k;'S;=`(P<%lO'kP(SP;=`<%l'kp([S!cpOv(Vx;'S(V;'S;=`(h<%lO(Vp(kP;=`<%l(Vq(qP;=`<%l&}a({W`P!a`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t`)jT!a`Or)esv)ew;'S)e;'S;=`)y<%lO)e`)|P;=`<%l)ea*SP;=`<%l(t!Q*^V!a`!cpOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!Q*vP;=`<%l*V!R*|P;=`<%l&XW+UYkWOX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+PW+wP;=`<%l+P!Z+}P;=`<%l$q!a,]``P!a`!cp!^^OX&XXY,QYZ,QZ]&X]^,Q^p&Xpq,Qqr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!_-ljhS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q[/ebhSkWOX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+PS0rXhSqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0mS1bP;=`<%l0m[1hP;=`<%l/^!V1vchS`P!a`!cpOq&Xqr1krs&}sv1kvw0mwx(tx!P1k!P!Q&X!Q!^1k!^!_*V!_!a&X!a#s1k#s$f&X$f;'S1k;'S;=`3R<%l?Ah1k?Ah?BY&X?BY?Mn1k?MnO&X!V3UP;=`<%l1k!_3[P;=`<%l-_!Z3hV!`h`P!cpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}!_4WihSkWc!ROX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst>]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zbkWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOa!R!R7tP;=`<%l7S!Z8OYkWa!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{ihSkWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbhSkWa!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!V<QchSOp7Sqr;{rs7Sst0mtw;{wx7Sx!P;{!P!Q7S!Q!];{!]!^=]!^!a7S!a#s;{#s$f7S$f;'S;{;'S;=`>P<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXhSa!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhhSkWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TakWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOb!R!RAwP;=`<%lAY!ZBRYkWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhhSkWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbhSkWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbhSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXhSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!bx`P!a`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYlhS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_khS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_X`P!a`!cp!eQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZhSfQ`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!a`!cpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!a`!cpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!a`!cpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!a`!cp!dPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!a`!cpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!a`!cpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!a`!cpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!a`!cpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!a`!cpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!a`!cpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!a`!cpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!cpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO{PP!-nP;=`<%l!-Sq!-xS!cp{POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!a`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!a`{POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!a`!cp{POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!a`!cpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!a`!cpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!a`!cpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!a`!cpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!a`!cpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!a`!cpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!a`!cpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!cpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOxPP!7TP;=`<%l!6Vq!7]V!cpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!cpxPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!a`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!a`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!a`xPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!a`!cpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!a`!cpxPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!<TXiS`P!a`!cpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X",tokenizers:[zT,XT,RT,TT,wT,PT,0,1,2,3,4,5],topRules:{Document:[0,15]},dialects:{noMatch:0,selfClosing:509},tokenPrec:511});function cQ(i,e){let t=Object.create(null);for(let n of i.getChildren(sQ)){let r=n.getChild(OT),s=n.getChild(ff)||n.getChild(oQ);r&&(t[e.read(r.from,r.to)]=s?s.type.id==ff?e.read(s.from+1,s.to-1):e.read(s.from,s.to):"")}return t}function Jy(i,e){let t=i.getChild(lT);return t?e.read(t.from,t.to):" "}function hf(i,e,t){let n;for(let r of t)if(!r.attrs||r.attrs(n||(n=cQ(i.node.parent.firstChild,e))))return{parser:r.parser};return null}function mf(i=[],e=[]){let t=[],n=[],r=[],s=[];for(let a of i)(a.tag=="script"?t:a.tag=="style"?n:a.tag=="textarea"?r:s).push(a);let o=e.length?Object.create(null):null;for(let a of e)(o[a.name]||(o[a.name]=[])).push(a);return sa((a,l)=>{let O=a.type.id;if(O==cT)return hf(a,l,t);if(O==hT)return hf(a,l,n);if(O==fT)return hf(a,l,r);if(O==rQ&&s.length){let c=a.node,h=c.firstChild,f=h&&Jy(h,l),u;if(f){for(let d of s)if(d.tag==f&&(!d.attrs||d.attrs(u||(u=cQ(h,l))))){let p=c.lastChild,m=p.type.id==dT?p.from:c.to;if(m>h.to)return{parser:d.parser,overlay:[{from:h.to,to:m}]}}}}if(o&&O==sQ){let c=a.node,h;if(h=c.firstChild){let f=o[l.read(h.from,h.to)];if(f)for(let u of f){if(u.tagName&&u.tagName!=Jy(c.parent,l))continue;let d=c.lastChild;if(d.type.id==ff){let p=d.from+1,m=d.lastChild,g=d.to-(m&&m.isError?0:1);if(g>p)return{parser:u.parser,overlay:[{from:p,to:g}]}}else if(d.type.id==oQ)return{parser:u.parser,overlay:[{from:d.from,to:d.to}]}}}}return null})}var _T=122,hQ=1,CT=123,WT=124,uQ=2,ZT=125,VT=3,AT=4,dQ=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],jT=58,YT=40,pQ=95,UT=91,Ba=45,MT=46,ET=35,DT=37,LT=38,GT=92,BT=10,IT=42;function $s(i){return i>=65&&i<=90||i>=97&&i<=122||i>=161}function gf(i){return i>=48&&i<=57}function fQ(i){return gf(i)||i>=97&&i<=102||i>=65&&i<=70}var mQ=(i,e,t)=>(n,r)=>{for(let s=!1,o=0,a=0;;a++){let{next:l}=n;if($s(l)||l==Ba||l==pQ||s&&gf(l))!s&&(l!=Ba||a>0)&&(s=!0),o===a&&l==Ba&&o++,n.advance();else if(l==GT&&n.peek(1)!=BT){if(n.advance(),fQ(n.next)){do n.advance();while(fQ(n.next));n.next==32&&n.advance()}else n.next>-1&&n.advance();s=!0}else{s&&n.acceptToken(o==2&&r.canShift(uQ)?e:l==YT?t:i);break}}},NT=new ge(mQ(CT,uQ,WT)),FT=new ge(mQ(ZT,VT,AT)),HT=new ge(i=>{if(dQ.includes(i.peek(-1))){let{next:e}=i;($s(e)||e==pQ||e==ET||e==MT||e==IT||e==UT||e==jT&&$s(i.peek(1))||e==Ba||e==LT)&&i.acceptToken(_T)}}),KT=new ge(i=>{if(!dQ.includes(i.peek(-1))){let{next:e}=i;if(e==DT&&(i.advance(),i.acceptToken(hQ)),$s(e)){do i.advance();while($s(i.next)||gf(i.next));i.acceptToken(hQ)}}}),JT=_t({"AtKeyword import charset namespace keyframes media supports":$.definitionKeyword,"from to selector":$.keyword,NamespaceName:$.namespace,KeyframeName:$.labelName,KeyframeRangeName:$.operatorKeyword,TagName:$.tagName,ClassName:$.className,PseudoClassName:$.constant($.className),IdName:$.labelName,"FeatureName PropertyName":$.propertyName,AttributeName:$.attributeName,NumberLiteral:$.number,KeywordQuery:$.keyword,UnaryQueryOp:$.operatorKeyword,"CallTag ValueName":$.atom,VariableName:$.variableName,Callee:$.operatorKeyword,Unit:$.unit,"UniversalSelector NestingSelector":$.definitionOperator,"MatchOp CompareOp":$.compareOperator,"ChildOp SiblingOp, LogicOp":$.logicOperator,BinOp:$.arithmeticOperator,Important:$.modifier,Comment:$.blockComment,ColorLiteral:$.color,"ParenthesizedContent StringLiteral":$.string,":":$.punctuation,"PseudoOp #":$.derefOperator,"; ,":$.separator,"( )":$.paren,"[ ]":$.squareBracket,"{ }":$.brace}),ez={__proto__:null,lang:38,"nth-child":38,"nth-last-child":38,"nth-of-type":38,"nth-last-of-type":38,dir:38,"host-context":38,if:84,url:124,"url-prefix":124,domain:124,regexp:124},tz={__proto__:null,or:98,and:98,not:106,only:106,layer:170},iz={__proto__:null,selector:112,layer:166},nz={__proto__:null,"@import":162,"@media":174,"@charset":178,"@namespace":182,"@keyframes":188,"@supports":200,"@scope":204},rz={__proto__:null,to:207},gQ=At.deserialize({version:14,states:"EbQYQdOOO#qQdOOP#xO`OOOOQP'#Cf'#CfOOQP'#Ce'#CeO#}QdO'#ChO$nQaO'#CcO$xQdO'#CkO%TQdO'#DpO%YQdO'#DrO%_QdO'#DuO%_QdO'#DxOOQP'#FV'#FVO&eQhO'#EhOOQS'#FU'#FUOOQS'#Ek'#EkQYQdOOO&lQdO'#EOO&PQhO'#EUO&lQdO'#EWO'aQdO'#EYO'lQdO'#E]O'tQhO'#EcO(VQdO'#EeO(bQaO'#CfO)VQ`O'#D{O)[Q`O'#F`O)gQdO'#F`QOQ`OOP)qO&jO'#CaPOOO)C@t)C@tOOQP'#Cj'#CjOOQP,59S,59SO#}QdO,59SO)|QdO,59VO%TQdO,5:[O%YQdO,5:^O%_QdO,5:aO%_QdO,5:cO%_QdO,5:dO%_QdO'#ErO*XQ`O,58}O*aQdO'#DzOOQS,58},58}OOQP'#Cn'#CnOOQO'#Dn'#DnOOQP,59V,59VO*hQ`O,59VO*mQ`O,59VOOQP'#Dq'#DqOOQP,5:[,5:[OOQO'#Ds'#DsO*rQpO,5:^O+]QaO,5:aO+sQaO,5:dOOQW'#DZ'#DZO,ZQhO'#DdO,xQhO'#FaO'tQhO'#DbO-WQ`O'#DhOOQW'#F['#F[O-]Q`O,5;SO-eQ`O'#DeOOQS-E8i-E8iOOQ['#Cs'#CsO-jQdO'#CtO.QQdO'#CzO.hQdO'#C}O/OQ!pO'#DPO1RQ!jO,5:jOOQO'#DU'#DUO*mQ`O'#DTO1cQ!nO'#FXO3`Q`O'#DVO3eQ`O'#DkOOQ['#FX'#FXO-`Q`O,5:pO3jQ!bO,5:rOOQS'#E['#E[O3rQ`O,5:tO3wQdO,5:tOOQO'#E_'#E_O4PQ`O,5:wO4UQhO,5:}O%_QdO'#DgOOQS,5;P,5;PO-eQ`O,5;PO4^QdO,5;PO4fQdO,5:gO4vQdO'#EtO5TQ`O,5;zO5TQ`O,5;zPOOO'#Ej'#EjP5`O&jO,58{POOO,58{,58{OOQP1G.n1G.nOOQP1G.q1G.qO*hQ`O1G.qO*mQ`O1G.qOOQP1G/v1G/vO5kQpO1G/xO5sQaO1G/{O6ZQaO1G/}O6qQaO1G0OO7XQaO,5;^OOQO-E8p-E8pOOQS1G.i1G.iO7cQ`O,5:fO7hQdO'#DoO7oQdO'#CrOOQP1G/x1G/xO&lQdO1G/xO7vQ!jO'#DZO8UQ!bO,59vO8^QhO,5:OOOQO'#F]'#F]O8XQ!bO,59zO'tQhO,59xO8fQhO'#EvO8sQ`O,5;{O9OQhO,59|O9uQhO'#DiOOQW,5:S,5:SOOQS1G0n1G0nOOQW,5:P,5:PO9|Q!fO'#FYOOQS'#FY'#FYOOQS'#Em'#EmO;^QdO,59`OOQ[,59`,59`O;tQdO,59fOOQ[,59f,59fO<[QdO,59iOOQ[,59i,59iOOQ[,59k,59kO&lQdO,59mO<rQhO'#EQOOQW'#EQ'#EQO=WQ`O1G0UO1[QhO1G0UOOQ[,59o,59oO'tQhO'#DXOOQ[,59q,59qO=]Q#tO,5:VOOQS1G0[1G0[OOQS1G0^1G0^OOQS1G0`1G0`O=hQ`O1G0`O=mQdO'#E`OOQS1G0c1G0cOOQS1G0i1G0iO=xQaO,5:RO-`Q`O1G0kOOQS1G0k1G0kO-eQ`O1G0kO>PQ!fO1G0ROOQO1G0R1G0ROOQO,5;`,5;`O>gQdO,5;`OOQO-E8r-E8rO>tQ`O1G1fPOOO-E8h-E8hPOOO1G.g1G.gOOQP7+$]7+$]OOQP7+%d7+%dO&lQdO7+%dOOQS1G0Q1G0QO?PQaO'#F_O?ZQ`O,5:ZO?`Q!fO'#ElO@^QdO'#FWO@hQ`O,59^O@mQ!bO7+%dO&lQdO1G/bO@uQhO1G/fOOQW1G/j1G/jOOQW1G/d1G/dOAWQhO,5;bOOQO-E8t-E8tOAfQhO'#DZOAtQhO'#F^OBPQ`O'#F^OBUQ`O,5:TOOQS-E8k-E8kOOQ[1G.z1G.zOOQ[1G/Q1G/QOOQ[1G/T1G/TOOQ[1G/X1G/XOBZQdO,5:lOOQS7+%p7+%pOB`Q`O7+%pOBeQhO'#DYOBmQ`O,59sO'tQhO,59sOOQ[1G/q1G/qOBuQ`O1G/qOOQS7+%z7+%zOBzQbO'#DPOOQO'#Eb'#EbOCYQ`O'#EaOOQO'#Ea'#EaOCeQ`O'#EwOCmQdO,5:zOOQS,5:z,5:zOOQ[1G/m1G/mOOQS7+&V7+&VO-`Q`O7+&VOCxQ!fO'#EsO&lQdO'#EsOEPQdO7+%mOOQO7+%m7+%mOOQO1G0z1G0zOEdQ!bO<<IOOElQdO'#EqOEvQ`O,5;yOOQP1G/u1G/uOOQS-E8j-E8jOFOQdO'#EpOFYQ`O,5;rOOQ]1G.x1G.xOOQP<<IO<<IOOFbQdO7+$|OOQO'#D]'#D]OFiQ!bO7+%QOFqQhO'#EoOF{Q`O,5;xO&lQdO,5;xOOQW1G/o1G/oOOQO'#ES'#ESOGTQ`O1G0WOOQS<<I[<<I[O&lQdO,59tOGnQhO1G/_OOQ[1G/_1G/_OGuQ`O1G/_OOQW-E8l-E8lOOQ[7+%]7+%]OOQO,5:{,5:{O=pQdO'#ExOCeQ`O,5;cOOQS,5;c,5;cOOQS-E8u-E8uOOQS1G0f1G0fOOQS<<Iq<<IqOG}Q!fO,5;_OOQS-E8q-E8qOOQO<<IX<<IXOOQPAN>jAN>jOIUQaO,5;]OOQO-E8o-E8oOI`QdO,5;[OOQO-E8n-E8nOOQW<<Hh<<HhOOQW<<Hl<<HlOIjQhO<<HlOI{QhO,5;ZOJWQ`O,5;ZOOQO-E8m-E8mOJ]QdO1G1dOBZQdO'#EuOJgQ`O7+%rOOQW7+%r7+%rOJoQ!bO1G/`OOQ[7+$y7+$yOJzQhO7+$yPKRQ`O'#EnOOQO,5;d,5;dOOQO-E8v-E8vOOQS1G0}1G0}OKWQ`OAN>WO&lQdO1G0uOK]Q`O7+'OOOQO,5;a,5;aOOQO-E8s-E8sOOQW<<I^<<I^OOQ[<<He<<HePOQW,5;Y,5;YOOQWG23rG23rOKeQdO7+&a",stateData:"Kx~O#sOS#tQQ~OW[OZ[O]TO`VOaVOi]OjWOmXO!jYO!mZO!saO!ybO!{cO!}dO#QeO#WfO#YgO#oRO~OQiOW[OZ[O]TO`VOaVOi]OjWOmXO!jYO!mZO!saO!ybO!{cO!}dO#QeO#WfO#YgO#ohO~O#m$SP~P!dO#tmO~O#ooO~O]qO`rOarOjsOmtO!juO!mwO#nvO~OpzO!^xO~P$SOc!QO#o|O#p}O~O#o!RO~O#o!TO~OW[OZ[O]TO`VOaVOjWOmXO!jYO!mZO#oRO~OS!]Oe!YO!V![O!Y!`O#q!XOp$TP~Ok$TP~P&POQ!jOe!cOm!dOp!eOr!mOt!mOz!kO!`!lO#o!bO#p!hO#}!fO~Ot!qO!`!lO#o!pO~Ot!sO#o!sO~OS!]Oe!YO!V![O!Y!`O#q!XO~Oe!vOpzO#Z!xO~O]YX`YX`!pXaYXjYXmYXpYX!^YX!jYX!mYX#nYX~O`!zO~Ok!{O#m$SXo$SX~O#m$SXo$SX~P!dO#u#OO#v#OO#w#QO~Oc#UO#o|O#p}O~OpzO!^xO~Oo$SP~P!dOe#`O~Oe#aO~Ol#bO!h#cO~O]qO`rOarOjsOmtO~Op!ia!^!ia!j!ia!m!ia#n!iad!ia~P*zOp!la!^!la!j!la!m!la#n!lad!la~P*zOR#gOS!]Oe!YOr#gOt#gO!V![O!Y!`O#q#dO#}!fO~O!R#iO!^#jOk$TXp$TX~Oe#mO~Ok#oOpzO~Oe!vO~O]#rO`#rOd#uOi#rOj#rOk#rO~P&lO]#rO`#rOi#rOj#rOk#rOl#wO~P&lO]#rO`#rOi#rOj#rOk#rOo#yO~P&lOP#zOSsXesXksXvsX!VsX!YsX!usX!wsX#qsX!TsXQsX]sX`sXdsXisXjsXmsXpsXrsXtsXzsX!`sX#osX#psX#}sXlsXosX!^sX!qsX#msX~Ov#{O!u#|O!w#}Ok$TP~P'tOe#aOS#{Xk#{Xv#{X!V#{X!Y#{X!u#{X!w#{X#q#{XQ#{X]#{X`#{Xd#{Xi#{Xj#{Xm#{Xp#{Xr#{Xt#{Xz#{X!`#{X#o#{X#p#{X#}#{Xl#{Xo#{X!^#{X!q#{X#m#{X~Oe$RO~Oe$TO~Ok$VOv#{O~Ok$WO~Ot$XO!`!lO~Op$YO~OpzO!R#iO~OpzO#Z$`O~O!q$bOk!oa#m!oao!oa~P&lOk#hX#m#hXo#hX~P!dOk!{O#m$Sao$Sa~O#u#OO#v#OO#w$hO~Ol$jO!h$kO~Op!ii!^!ii!j!ii!m!ii#n!iid!ii~P*zOp!ki!^!ki!j!ki!m!ki#n!kid!ki~P*zOp!li!^!li!j!li!m!li#n!lid!li~P*zOp#fa!^#fa~P$SOo$lO~Od$RP~P%_Od#zP~P&lO`!PXd}X!R}X!T!PX~O`$sO!T$tO~Od$uO!R#iO~Ok#jXp#jX!^#jX~P'tO!^#jOk$Tap$Ta~O!R#iOk!Uap!Ua!^!Uad!Ua`!Ua~OS!]Oe!YO!V![O!Y!`O#q$yO~Od$QP~P9dOv#{OQ#|X]#|X`#|Xd#|Xe#|Xi#|Xj#|Xk#|Xm#|Xp#|Xr#|Xt#|Xz#|X!`#|X#o#|X#p#|X#}#|Xl#|Xo#|X~O]#rO`#rOd%OOi#rOj#rOk#rO~P&lO]#rO`#rOi#rOj#rOk#rOl%PO~P&lO]#rO`#rOi#rOj#rOk#rOo%QO~P&lOe%SOS!tXk!tX!V!tX!Y!tX#q!tX~Ok%TO~Od%YOt%ZO!a%ZO~Ok%[O~Oo%cO#o%^O#}%]O~Od%dO~P$SOv#{O!^%hO!q%jOk!oi#m!oio!oi~P&lOk#ha#m#hao#ha~P!dOk!{O#m$Sio$Si~O!^%mOd$RX~P$SOd%oO~Ov#{OQ#`Xd#`Xe#`Xm#`Xp#`Xr#`Xt#`Xz#`X!^#`X!`#`X#o#`X#p#`X#}#`X~O!^%qOd#zX~P&lOd%sO~Ol%tOv#{O~OR#gOr#gOt#gO#q%vO#}!fO~O!R#iOk#jap#ja!^#ja~O`!PXd}X!R}X!^}X~O!R#iO!^%xOd$QX~O`%zO~Od%{O~O#o%|O~Ok&OO~O`&PO!R#iO~Od&ROk&QO~Od&UO~OP#zOpsX!^sXdsX~O#}%]Op#TX!^#TX~OpzO!^&WO~Oo&[O#o%^O#}%]O~Ov#{OQ#gXe#gXk#gXm#gXp#gXr#gXt#gXz#gX!^#gX!`#gX!q#gX#m#gX#o#gX#p#gX#}#gXo#gX~O!^%hO!q&`Ok!oq#m!oqo!oq~P&lOl&aOv#{O~Od#eX!^#eX~P%_O!^%mOd$Ra~Od#dX!^#dX~P&lO!^%qOd#za~Od&fO~P&lOd&gO!T&hO~Od#cX!^#cX~P9dO!^%xOd$Qa~O]&mOd&oO~OS#bae#ba!V#ba!Y#ba#q#ba~Od&qO~PG]Od&qOk&rO~Ov#{OQ#gae#gak#gam#gap#gar#gat#gaz#ga!^#ga!`#ga!q#ga#m#ga#o#ga#p#ga#}#gao#ga~Od#ea!^#ea~P$SOd#da!^#da~P&lOR#gOr#gOt#gO#q%vO#}%]O~O!R#iOd#ca!^#ca~O`&xO~O!^%xOd$Qi~P&lO]&mOd&|O~Ov#{Od|ik|i~Od&}O~PG]Ok'OO~Od'PO~O!^%xOd$Qq~Od#cq!^#cq~P&lO#s!a#t#}]#}v!m~",goto:"2h$UPPPPP$VP$YP$c$uP$cP%X$cPP%_PPP%e%o%oPPPPP%oPP%oP&]P%oP%o'W%oP't'w'}'}(^'}P'}P'}P'}'}P(m'}(yP(|PP)p)v$c)|$c*SP$cP$c$cP*Y*{+YP$YP+aP+dP$YP$YP$YP+j$YP+m+p+s+z$YP$YPP$YP,P,V,f,|-[-b-l-r-x.O.U.`.f.l.rPPPPPPPPPPP.x/R/w/z0|P1U1u2O2R2U2[RnQ_^OP`kz!{$dq[OPYZ`kuvwxz!v!{#`$d%mqSOPYZ`kuvwxz!v!{#`$d%mQpTR#RqQ!OVR#SrQ#S!QS$Q!i!jR$i#U!V!mac!c!d!e!z#a#c#t#v#x#{$a$k$p$s%h%i%q%u%z&P&d&l&x'Q!U!mac!c!d!e!z#a#c#t#v#x#{$a$k$p$s%h%i%q%u%z&P&d&l&x'QU#g!Y$t&hU%`$Y%b&WR&V%_!V!iac!c!d!e!z#a#c#t#v#x#{$a$k$p$s%h%i%q%u%z&P&d&l&x'QR$S!kQ%W$RR&S%Xk!^]bf!Y![!g#i#j#m$P$R%X%xQ#e!YQ${#mQ%w$tQ&j%xR&w&hQ!ygQ#p!`Q$^!xR%f$`R#n!]!U!mac!c!d!e!z#a#c#t#v#x#{$a$k$p$s%h%i%q%u%z&P&d&l&x'QQ!qdR$X!rQ!PVR#TrQ#S!PR$i#TQ!SWR#VsQ!UXR#WtQ{UQ!wgQ#^yQ#o!_Q$U!nQ$[!uQ$_!yQ%e$^Q&Y%aQ&]%fR&v&XSjPzQ!}kQ$c!{R%k$dZiPkz!{$dR$P!gQ%}%SR&z&mR!rdR!teR$Z!tS%a$Y%bR&t&WV%_$Y%b&WQ#PmR$g#PQ`OSkPzU!a`k$dR$d!{Q$p#aY%p$p%u&d&l'QQ%u$sQ&d%qQ&l%zR'Q&xQ#t!cQ#v!dQ#x!eV$}#t#v#xQ%X$RR&T%XQ%y$zS&k%y&yR&y&lQ%r$pR&e%rQ%n$mR&c%nQyUR#]yQ%i$aR&_%iQ!|jS$e!|$fR$f!}Q&n%}R&{&nQ#k!ZR$x#kQ%b$YR&Z%bQ&X%aR&u&X__OP`kz!{$d^UOP`kz!{$dQ!VYQ!WZQ#XuQ#YvQ#ZwQ#[xQ$]!vQ$m#`R&b%mR$q#aQ!gaQ!oc[#q!c!d!e#t#v#xQ$a!zd$o#a$p$s%q%u%z&d&l&x'QQ$r#cQ%R#{S%g$a%iQ%l$kQ&^%hR&p&P]#s!c!d!e#t#v#xW!Z]b!g$PQ!ufQ#f!YQ#l![Q$v#iQ$w#jQ$z#mS%V$R%XR&i%xQ#h!YQ%w$tR&w&hR$|#mR$n#`QlPR#_zQ!_]Q!nbQ$O!gR%U$P",nodeNames:"\u26A0 Unit VariableName VariableName QueryCallee Comment StyleSheet RuleSet UniversalSelector TagSelector TagName NestingSelector ClassSelector . ClassName PseudoClassSelector : :: PseudoClassName PseudoClassName ) ( ArgList ValueName ParenthesizedValue AtKeyword # ; ] [ BracketedValue } { BracedValue ColorLiteral NumberLiteral StringLiteral BinaryExpression BinOp CallExpression Callee IfExpression if ArgList IfBranch KeywordQuery FeatureQuery FeatureName BinaryQuery LogicOp ComparisonQuery CompareOp UnaryQuery UnaryQueryOp ParenthesizedQuery SelectorQuery selector ParenthesizedSelector CallQuery ArgList , CallLiteral CallTag ParenthesizedContent PseudoClassName ArgList IdSelector IdName AttributeSelector AttributeName MatchOp ChildSelector ChildOp DescendantSelector SiblingSelector SiblingOp Block Declaration PropertyName Important ImportStatement import Layer layer LayerName layer MediaStatement media CharsetStatement charset NamespaceStatement namespace NamespaceName KeyframesStatement keyframes KeyframeName KeyframeList KeyframeSelector KeyframeRangeName SupportsStatement supports ScopeStatement scope to AtRule Styles",maxTerm:143,nodeProps:[["isolate",-2,5,36,""],["openedBy",20,"(",28,"[",31,"{"],["closedBy",21,")",29,"]",32,"}"]],propSources:[JT],skippedNodes:[0,5,106],repeatNodeCount:15,tokenData:"JQ~R!YOX$qX^%i^p$qpq%iqr({rs-ust/itu6Wuv$qvw7Qwx7cxy9Qyz9cz{9h{|:R|}>t}!O?V!O!P?t!P!Q@]!Q![AU![!]BP!]!^B{!^!_C^!_!`DY!`!aDm!a!b$q!b!cEn!c!}$q!}#OG{#O#P$q#P#QH^#Q#R6W#R#o$q#o#pHo#p#q6W#q#rIQ#r#sIc#s#y$q#y#z%i#z$f$q$f$g%i$g#BY$q#BY#BZ%i#BZ$IS$q$IS$I_%i$I_$I|$q$I|$JO%i$JO$JT$q$JT$JU%i$JU$KV$q$KV$KW%i$KW&FU$q&FU&FV%i&FV;'S$q;'S;=`Iz<%lO$q`$tSOy%Qz;'S%Q;'S;=`%c<%lO%Q`%VS!a`Oy%Qz;'S%Q;'S;=`%c<%lO%Q`%fP;=`<%l%Q~%nh#s~OX%QX^'Y^p%Qpq'Yqy%Qz#y%Q#y#z'Y#z$f%Q$f$g'Y$g#BY%Q#BY#BZ'Y#BZ$IS%Q$IS$I_'Y$I_$I|%Q$I|$JO'Y$JO$JT%Q$JT$JU'Y$JU$KV%Q$KV$KW'Y$KW&FU%Q&FU&FV'Y&FV;'S%Q;'S;=`%c<%lO%Q~'ah#s~!a`OX%QX^'Y^p%Qpq'Yqy%Qz#y%Q#y#z'Y#z$f%Q$f$g'Y$g#BY%Q#BY#BZ'Y#BZ$IS%Q$IS$I_'Y$I_$I|%Q$I|$JO'Y$JO$JT%Q$JT$JU'Y$JU$KV%Q$KV$KW'Y$KW&FU%Q&FU&FV'Y&FV;'S%Q;'S;=`%c<%lO%Qj)OUOy%Qz#]%Q#]#^)b#^;'S%Q;'S;=`%c<%lO%Qj)gU!a`Oy%Qz#a%Q#a#b)y#b;'S%Q;'S;=`%c<%lO%Qj*OU!a`Oy%Qz#d%Q#d#e*b#e;'S%Q;'S;=`%c<%lO%Qj*gU!a`Oy%Qz#c%Q#c#d*y#d;'S%Q;'S;=`%c<%lO%Qj+OU!a`Oy%Qz#f%Q#f#g+b#g;'S%Q;'S;=`%c<%lO%Qj+gU!a`Oy%Qz#h%Q#h#i+y#i;'S%Q;'S;=`%c<%lO%Qj,OU!a`Oy%Qz#T%Q#T#U,b#U;'S%Q;'S;=`%c<%lO%Qj,gU!a`Oy%Qz#b%Q#b#c,y#c;'S%Q;'S;=`%c<%lO%Qj-OU!a`Oy%Qz#h%Q#h#i-b#i;'S%Q;'S;=`%c<%lO%Qj-iS!qY!a`Oy%Qz;'S%Q;'S;=`%c<%lO%Q~-xWOY-uZr-urs.bs#O-u#O#P.g#P;'S-u;'S;=`/c<%lO-u~.gOt~~.jRO;'S-u;'S;=`.s;=`O-u~.vXOY-uZr-urs.bs#O-u#O#P.g#P;'S-u;'S;=`/c;=`<%l-u<%lO-u~/fP;=`<%l-uj/nYjYOy%Qz!Q%Q!Q![0^![!c%Q!c!i0^!i#T%Q#T#Z0^#Z;'S%Q;'S;=`%c<%lO%Qj0cY!a`Oy%Qz!Q%Q!Q![1R![!c%Q!c!i1R!i#T%Q#T#Z1R#Z;'S%Q;'S;=`%c<%lO%Qj1WY!a`Oy%Qz!Q%Q!Q![1v![!c%Q!c!i1v!i#T%Q#T#Z1v#Z;'S%Q;'S;=`%c<%lO%Qj1}YrY!a`Oy%Qz!Q%Q!Q![2m![!c%Q!c!i2m!i#T%Q#T#Z2m#Z;'S%Q;'S;=`%c<%lO%Qj2tYrY!a`Oy%Qz!Q%Q!Q![3d![!c%Q!c!i3d!i#T%Q#T#Z3d#Z;'S%Q;'S;=`%c<%lO%Qj3iY!a`Oy%Qz!Q%Q!Q![4X![!c%Q!c!i4X!i#T%Q#T#Z4X#Z;'S%Q;'S;=`%c<%lO%Qj4`YrY!a`Oy%Qz!Q%Q!Q![5O![!c%Q!c!i5O!i#T%Q#T#Z5O#Z;'S%Q;'S;=`%c<%lO%Qj5TY!a`Oy%Qz!Q%Q!Q![5s![!c%Q!c!i5s!i#T%Q#T#Z5s#Z;'S%Q;'S;=`%c<%lO%Qj5zSrY!a`Oy%Qz;'S%Q;'S;=`%c<%lO%Qd6ZUOy%Qz!_%Q!_!`6m!`;'S%Q;'S;=`%c<%lO%Qd6tS!hS!a`Oy%Qz;'S%Q;'S;=`%c<%lO%Qb7VSZQOy%Qz;'S%Q;'S;=`%c<%lO%Q~7fWOY7cZw7cwx.bx#O7c#O#P8O#P;'S7c;'S;=`8z<%lO7c~8RRO;'S7c;'S;=`8[;=`O7c~8_XOY7cZw7cwx.bx#O7c#O#P8O#P;'S7c;'S;=`8z;=`<%l7c<%lO7c~8}P;=`<%l7cj9VSeYOy%Qz;'S%Q;'S;=`%c<%lO%Q~9hOd~n9oUWQvWOy%Qz!_%Q!_!`6m!`;'S%Q;'S;=`%c<%lO%Qj:YWvW!mQOy%Qz!O%Q!O!P:r!P!Q%Q!Q![=w![;'S%Q;'S;=`%c<%lO%Qj:wU!a`Oy%Qz!Q%Q!Q![;Z![;'S%Q;'S;=`%c<%lO%Qj;bY!a`#}YOy%Qz!Q%Q!Q![;Z![!g%Q!g!h<Q!h#X%Q#X#Y<Q#Y;'S%Q;'S;=`%c<%lO%Qj<VY!a`Oy%Qz{%Q{|<u|}%Q}!O<u!O!Q%Q!Q![=^![;'S%Q;'S;=`%c<%lO%Qj<zU!a`Oy%Qz!Q%Q!Q![=^![;'S%Q;'S;=`%c<%lO%Qj=eU!a`#}YOy%Qz!Q%Q!Q![=^![;'S%Q;'S;=`%c<%lO%Qj>O[!a`#}YOy%Qz!O%Q!O!P;Z!P!Q%Q!Q![=w![!g%Q!g!h<Q!h#X%Q#X#Y<Q#Y;'S%Q;'S;=`%c<%lO%Qj>yS!^YOy%Qz;'S%Q;'S;=`%c<%lO%Qj?[WvWOy%Qz!O%Q!O!P:r!P!Q%Q!Q![=w![;'S%Q;'S;=`%c<%lO%Qj?yU]YOy%Qz!Q%Q!Q![;Z![;'S%Q;'S;=`%c<%lO%Q~@bTvWOy%Qz{@q{;'S%Q;'S;=`%c<%lO%Q~@xS!a`#t~Oy%Qz;'S%Q;'S;=`%c<%lO%QjAZ[#}YOy%Qz!O%Q!O!P;Z!P!Q%Q!Q![=w![!g%Q!g!h<Q!h#X%Q#X#Y<Q#Y;'S%Q;'S;=`%c<%lO%QjBUU`YOy%Qz![%Q![!]Bh!];'S%Q;'S;=`%c<%lO%QbBoSaQ!a`Oy%Qz;'S%Q;'S;=`%c<%lO%QjCQSkYOy%Qz;'S%Q;'S;=`%c<%lO%QhCcU!TWOy%Qz!_%Q!_!`Cu!`;'S%Q;'S;=`%c<%lO%QhC|S!TW!a`Oy%Qz;'S%Q;'S;=`%c<%lO%QlDaS!TW!hSOy%Qz;'S%Q;'S;=`%c<%lO%QjDtV!jQ!TWOy%Qz!_%Q!_!`Cu!`!aEZ!a;'S%Q;'S;=`%c<%lO%QbEbS!jQ!a`Oy%Qz;'S%Q;'S;=`%c<%lO%QjEqYOy%Qz}%Q}!OFa!O!c%Q!c!}GO!}#T%Q#T#oGO#o;'S%Q;'S;=`%c<%lO%QjFfW!a`Oy%Qz!c%Q!c!}GO!}#T%Q#T#oGO#o;'S%Q;'S;=`%c<%lO%QjGV[iY!a`Oy%Qz}%Q}!OGO!O!Q%Q!Q![GO![!c%Q!c!}GO!}#T%Q#T#oGO#o;'S%Q;'S;=`%c<%lO%QjHQSmYOy%Qz;'S%Q;'S;=`%c<%lO%QnHcSl^Oy%Qz;'S%Q;'S;=`%c<%lO%QjHtSpYOy%Qz;'S%Q;'S;=`%c<%lO%QjIVSoYOy%Qz;'S%Q;'S;=`%c<%lO%QfIhU!mQOy%Qz!_%Q!_!`6m!`;'S%Q;'S;=`%c<%lO%Q`I}P;=`<%l$q",tokenizers:[HT,KT,NT,FT,1,2,3,4,new xi("m~RRYZ[z{a~~g~aO#v~~dP!P!Qg~lO#w~~",28,129)],topRules:{StyleSheet:[0,6],Styles:[1,105]},specialized:[{term:124,get:i=>ez[i]||-1},{term:125,get:i=>tz[i]||-1},{term:4,get:i=>iz[i]||-1},{term:25,get:i=>nz[i]||-1},{term:123,get:i=>rz[i]||-1}],tokenPrec:1963});var $f=null;function yf(){if(!$f&&typeof document=="object"&&document.body){let{style:i}=document.body,e=[],t=new Set;for(let n in i)n!="cssText"&&n!="cssFloat"&&typeof i[n]=="string"&&(/[A-Z]/.test(n)&&(n=n.replace(/[A-Z]/g,r=>"-"+r.toLowerCase())),t.has(n)||(e.push(n),t.add(n)));$f=e.sort().map(n=>({type:"property",label:n,apply:n+": "}))}return $f||[]}var $Q=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map(i=>({type:"class",label:i})),yQ=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map(i=>({type:"keyword",label:i})).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map(i=>({type:"constant",label:i}))),sz=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map(i=>({type:"type",label:i})),oz=["@charset","@color-profile","@container","@counter-style","@font-face","@font-feature-values","@font-palette-values","@import","@keyframes","@layer","@media","@namespace","@page","@position-try","@property","@scope","@starting-style","@supports","@view-transition"].map(i=>({type:"keyword",label:i})),ei=/^(\w[\w-]*|-\w[\w-]*|)$/,az=/^-(-[\w-]*)?$/;function lz(i,e){var t;if((i.name=="("||i.type.isError)&&(i=i.parent||i),i.name!="ArgList")return!1;let n=(t=i.parent)===null||t===void 0?void 0:t.firstChild;return n?.name!="Callee"?!1:e.sliceString(n.from,n.to)=="var"}var QQ=new Cn,Oz=["Declaration"];function cz(i){for(let e=i;;){if(e.type.isTop)return e;if(!(e=e.parent))return i}}function SQ(i,e,t){if(e.to-e.from>4096){let n=QQ.get(e);if(n)return n;let r=[],s=new Set,o=e.cursor(H.IncludeAnonymous);if(o.firstChild())do for(let a of SQ(i,o.node,t))s.has(a.label)||(s.add(a.label),r.push(a));while(o.nextSibling());return QQ.set(e,r),r}else{let n=[],r=new Set;return e.cursor().iterate(s=>{var o;if(t(s)&&s.matchContext(Oz)&&((o=s.node.nextSibling)===null||o===void 0?void 0:o.name)==":"){let a=i.sliceString(s.from,s.to);r.has(a)||(r.add(a),n.push({label:a,type:"variable"}))}}),n}}var hz=i=>e=>{let{state:t,pos:n}=e,r=ae(t).resolveInner(n,-1),s=r.type.isError&&r.from==r.to-1&&t.doc.sliceString(r.from,r.to)=="-";if(r.name=="PropertyName"||(s||r.name=="TagName")&&/^(Block|Styles)$/.test(r.resolve(r.to).name))return{from:r.from,options:yf(),validFor:ei};if(r.name=="ValueName")return{from:r.from,options:yQ,validFor:ei};if(r.name=="PseudoClassName")return{from:r.from,options:$Q,validFor:ei};if(i(r)||(e.explicit||s)&&lz(r,t.doc))return{from:i(r)||s?r.from:n,options:SQ(t.doc,cz(r),i),validFor:az};if(r.name=="TagName"){for(let{parent:l}=r;l;l=l.parent)if(l.name=="Block")return{from:r.from,options:yf(),validFor:ei};return{from:r.from,options:sz,validFor:ei}}if(r.name=="AtKeyword")return{from:r.from,options:oz,validFor:ei};if(!e.explicit)return null;let o=r.resolve(n),a=o.childBefore(n);return a&&a.name==":"&&o.name=="PseudoClassSelector"?{from:n,options:$Q,validFor:ei}:a&&a.name==":"&&o.name=="Declaration"||o.name=="ArgList"?{from:n,options:yQ,validFor:ei}:o.name=="Block"||o.name=="Styles"?{from:n,options:yf(),validFor:ei}:null},fz=hz(i=>i.name=="VariableName"),ys=Ct.define({name:"css",parser:gQ.configure({props:[Ft.add({Declaration:Zt()}),Ht.add({"Block KeyframeList":Yn})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function bQ(){return new Wt(ys,ys.data.of({autocomplete:fz}))}var uz=315,dz=316,xQ=1,pz=2,mz=3,gz=4,$z=317,yz=319,Qz=320,Sz=5,bz=6,xz=0,Sf=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],vQ=125,vz=59,bf=47,wz=42,Pz=43,kz=45,Tz=60,zz=44,Xz=63,Rz=46,qz=91,_z=new In({start:!1,shift(i,e){return e==Sz||e==bz||e==yz?i:e==Qz},strict:!1}),Cz=new ge((i,e)=>{let{next:t}=i;(t==vQ||t==-1||e.context)&&i.acceptToken($z)},{contextual:!0,fallback:!0}),Wz=new ge((i,e)=>{let{next:t}=i,n;Sf.indexOf(t)>-1||t==bf&&((n=i.peek(1))==bf||n==wz)||t!=vQ&&t!=vz&&t!=-1&&!e.context&&i.acceptToken(uz)},{contextual:!0}),Zz=new ge((i,e)=>{i.next==qz&&!e.context&&i.acceptToken(dz)},{contextual:!0}),Vz=new ge((i,e)=>{let{next:t}=i;if(t==Pz||t==kz){if(i.advance(),t==i.next){i.advance();let n=!e.context&&e.canShift(xQ);i.acceptToken(n?xQ:pz)}}else t==Xz&&i.peek(1)==Rz&&(i.advance(),i.advance(),(i.next<48||i.next>57)&&i.acceptToken(mz))},{contextual:!0});function Qf(i,e){return i>=65&&i<=90||i>=97&&i<=122||i==95||i>=192||!e&&i>=48&&i<=57}var Az=new ge((i,e)=>{if(i.next!=Tz||!e.dialectEnabled(xz)||(i.advance(),i.next==bf))return;let t=0;for(;Sf.indexOf(i.next)>-1;)i.advance(),t++;if(Qf(i.next,!0)){for(i.advance(),t++;Qf(i.next,!1);)i.advance(),t++;for(;Sf.indexOf(i.next)>-1;)i.advance(),t++;if(i.next==zz)return;for(let n=0;;n++){if(n==7){if(!Qf(i.next,!0))return;break}if(i.next!="extends".charCodeAt(n))break;i.advance(),t++}}i.acceptToken(gz,-t)}),jz=_t({"get set async static":$.modifier,"for while do if else switch try catch finally return throw break continue default case":$.controlKeyword,"in of await yield void typeof delete instanceof as satisfies":$.operatorKeyword,"let var const using function class extends":$.definitionKeyword,"import export from":$.moduleKeyword,"with debugger new":$.keyword,TemplateString:$.special($.string),super:$.atom,BooleanLiteral:$.bool,this:$.self,null:$.null,Star:$.modifier,VariableName:$.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":$.function($.variableName),VariableDefinition:$.definition($.variableName),Label:$.labelName,PropertyName:$.propertyName,PrivatePropertyName:$.special($.propertyName),"CallExpression/MemberExpression/PropertyName":$.function($.propertyName),"FunctionDeclaration/VariableDefinition":$.function($.definition($.variableName)),"ClassDeclaration/VariableDefinition":$.definition($.className),"NewExpression/VariableName":$.className,PropertyDefinition:$.definition($.propertyName),PrivatePropertyDefinition:$.definition($.special($.propertyName)),UpdateOp:$.updateOperator,"LineComment Hashbang":$.lineComment,BlockComment:$.blockComment,Number:$.number,String:$.string,Escape:$.escape,ArithOp:$.arithmeticOperator,LogicOp:$.logicOperator,BitOp:$.bitwiseOperator,CompareOp:$.compareOperator,RegExp:$.regexp,Equals:$.definitionOperator,Arrow:$.function($.punctuation),": Spread":$.punctuation,"( )":$.paren,"[ ]":$.squareBracket,"{ }":$.brace,"InterpolationStart InterpolationEnd":$.special($.brace),".":$.derefOperator,", ;":$.separator,"@":$.meta,TypeName:$.typeName,TypeDefinition:$.definition($.typeName),"type enum interface implements namespace module declare":$.definitionKeyword,"abstract global Privacy readonly override":$.modifier,"is keyof unique infer asserts":$.operatorKeyword,JSXAttributeValue:$.attributeValue,JSXText:$.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":$.angleBracket,"JSXIdentifier JSXNameSpacedName":$.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":$.attributeName,"JSXBuiltin/JSXIdentifier":$.standard($.tagName)}),Yz={__proto__:null,export:20,as:25,from:33,default:36,async:41,function:42,in:52,out:55,const:56,extends:60,this:64,true:72,false:72,null:84,void:88,typeof:92,super:108,new:142,delete:154,yield:163,await:167,class:172,public:235,private:235,protected:235,readonly:237,instanceof:256,satisfies:259,import:292,keyof:349,unique:353,infer:359,asserts:395,is:397,abstract:417,implements:419,type:421,let:424,var:426,using:429,interface:435,enum:439,namespace:445,module:447,declare:451,global:455,for:474,of:483,while:486,with:490,do:494,if:498,else:500,switch:504,case:510,try:516,catch:520,finally:524,return:528,throw:532,break:536,continue:540,debugger:544},Uz={__proto__:null,async:129,get:131,set:133,declare:195,public:197,private:197,protected:197,static:199,abstract:201,override:203,readonly:209,accessor:211,new:401},Mz={__proto__:null,"<":193},wQ=At.deserialize({version:14,states:"$EOQ%TQlOOO%[QlOOO'_QpOOP(lO`OOO*zQ!0MxO'#CiO+RO#tO'#CjO+aO&jO'#CjO+oO#@ItO'#DaO.QQlO'#DgO.bQlO'#DrO%[QlO'#DzO0fQlO'#ESOOQ!0Lf'#E['#E[O1PQ`O'#EXOOQO'#Ep'#EpOOQO'#Ik'#IkO1XQ`O'#GsO1dQ`O'#EoO1iQ`O'#EoO3hQ!0MxO'#JqO6[Q!0MxO'#JrO6uQ`O'#F]O6zQ,UO'#FtOOQ!0Lf'#Ff'#FfO7VO7dO'#FfO7eQMhO'#F|O9[Q`O'#F{OOQ!0Lf'#Jr'#JrOOQ!0Lb'#Jq'#JqO9aQ`O'#GwOOQ['#K^'#K^O9lQ`O'#IXO9qQ!0LrO'#IYOOQ['#J_'#J_OOQ['#I^'#I^Q`QlOOQ`QlOOO9yQ!L^O'#DvO:QQlO'#EOO:XQlO'#EQO9gQ`O'#GsO:`QMhO'#CoO:nQ`O'#EnO:yQ`O'#EyO;OQMhO'#FeO;mQ`O'#GsOOQO'#K_'#K_O;rQ`O'#K_O<QQ`O'#G{O<QQ`O'#G|O<QQ`O'#HOO9gQ`O'#HRO<wQ`O'#HUO>`Q`O'#CeO>pQ`O'#HbO>xQ`O'#HhO>xQ`O'#HjO`QlO'#HlO>xQ`O'#HnO>xQ`O'#HqO>}Q`O'#HwO?SQ!0LsO'#H}O%[QlO'#IPO?_Q!0LsO'#IRO?jQ!0LsO'#ITO9qQ!0LrO'#IVO?uQ!0MxO'#CiO@wQpO'#DlQOQ`OOO%[QlO'#EQOA_Q`O'#ETO:`QMhO'#EnOAjQ`O'#EnOAuQ!bO'#FeOOQ['#Cg'#CgOOQ!0Lb'#Dq'#DqOOQ!0Lb'#Ju'#JuO%[QlO'#JuOOQO'#Jx'#JxOOQO'#Ig'#IgOBuQpO'#EgOOQ!0Lb'#Ef'#EfOOQ!0Lb'#J|'#J|OCqQ!0MSO'#EgOC{QpO'#EWOOQO'#Jw'#JwODaQpO'#JxOEnQpO'#EWOC{QpO'#EgPE{O&2DjO'#CbPOOO)CD|)CD|OOOO'#I_'#I_OFWO#tO,59UOOQ!0Lh,59U,59UOOOO'#I`'#I`OFfO&jO,59UOFtQ!L^O'#DcOOOO'#Ib'#IbOF{O#@ItO,59{OOQ!0Lf,59{,59{OGZQlO'#IcOGnQ`O'#JsOImQ!fO'#JsO+}QlO'#JsOItQ`O,5:ROJ[Q`O'#EpOJiQ`O'#KSOJtQ`O'#KROJtQ`O'#KROJ|Q`O,5;^OKRQ`O'#KQOOQ!0Ln,5:^,5:^OKYQlO,5:^OMWQ!0MxO,5:fOMwQ`O,5:nONbQ!0LrO'#KPONiQ`O'#KOO9aQ`O'#KOON}Q`O'#KOO! VQ`O,5;]O! [Q`O'#KOO!#aQ!fO'#JrOOQ!0Lh'#Ci'#CiO%[QlO'#ESO!$PQ!fO,5:sOOQS'#Jy'#JyOOQO-E<i-E<iO9gQ`O,5=_O!$gQ`O,5=_O!$lQlO,5;ZO!&oQMhO'#EkO!(YQ`O,5;ZO!(_QlO'#DyO!(iQpO,5;dO!(qQpO,5;dO%[QlO,5;dOOQ['#FT'#FTOOQ['#FV'#FVO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eOOQ['#FZ'#FZO!)PQlO,5;tOOQ!0Lf,5;y,5;yOOQ!0Lf,5;z,5;zOOQ!0Lf,5;|,5;|O%[QlO'#IoO!+SQ!0LrO,5<iO%[QlO,5;eO!&oQMhO,5;eO!+qQMhO,5;eO!-cQMhO'#E^O%[QlO,5;wOOQ!0Lf,5;{,5;{O!-jQ,UO'#FjO!.gQ,UO'#KWO!.RQ,UO'#KWO!.nQ,UO'#KWOOQO'#KW'#KWO!/SQ,UO,5<SOOOW,5<`,5<`O!/eQlO'#FvOOOW'#In'#InO7VO7dO,5<QO!/lQ,UO'#FxOOQ!0Lf,5<Q,5<QO!0]Q$IUO'#CyOOQ!0Lh'#C}'#C}O!0pO#@ItO'#DRO!1^QMjO,5<eO!1eQ`O,5<hO!3QQ(CWO'#GXO!3_Q`O'#GYO!3dQ`O'#GYO!5SQ(CWO'#G^O!6XQpO'#GbOOQO'#Gn'#GnO!+xQMhO'#GmOOQO'#Gp'#GpO!+xQMhO'#GoO!6zQ$IUO'#JkOOQ!0Lh'#Jk'#JkO!7UQ`O'#JjO!7dQ`O'#JiO!7lQ`O'#CuOOQ!0Lh'#C{'#C{O!7}Q`O'#C}OOQ!0Lh'#DV'#DVOOQ!0Lh'#DX'#DXO1SQ`O'#DZO!+xQMhO'#GPO!+xQMhO'#GRO!8SQ`O'#GTO!8XQ`O'#GUO!3dQ`O'#G[O!+xQMhO'#GaO<QQ`O'#JjO!8^Q`O'#EqO!8{Q`O,5<gOOQ!0Lb'#Cr'#CrO!9TQ`O'#ErO!9}QpO'#EsOOQ!0Lb'#KQ'#KQO!:UQ!0LrO'#K`O9qQ!0LrO,5=cO`QlO,5>sOOQ['#Jg'#JgOOQ[,5>t,5>tOOQ[-E<[-E<[O!<TQ!0MxO,5:bO!9xQpO,5:`O!>nQ!0MxO,5:jO%[QlO,5:jO!AUQ!0MxO,5:lOOQO,5@y,5@yO!AuQMhO,5=_O!BTQ!0LrO'#JhO9[Q`O'#JhO!BfQ!0LrO,59ZO!BqQpO,59ZO!ByQMhO,59ZO:`QMhO,59ZO!CUQ`O,5;ZO!C^Q`O'#HaO!CrQ`O'#KcO%[QlO,5;}O!9xQpO,5<PO!CzQ`O,5=zO!DPQ`O,5=zO!DUQ`O,5=zO9qQ!0LrO,5=zO<QQ`O,5=jOOQO'#Cy'#CyO!DdQpO,5=gO!DlQMhO,5=hO!DwQ`O,5=jO!D|Q!bO,5=mO!EUQ`O'#K_O>}Q`O'#HWO9gQ`O'#HYO!EZQ`O'#HYO:`QMhO'#H[O!E`Q`O'#H[OOQ[,5=p,5=pO!EeQ`O'#H]O!EvQ`O'#CoO!E{Q`O,59PO!FVQ`O,59PO!H[QlO,59POOQ[,59P,59PO!HlQ!0LrO,59PO%[QlO,59PO!JwQlO'#HdOOQ['#He'#HeOOQ['#Hf'#HfO`QlO,5=|O!K_Q`O,5=|O`QlO,5>SO`QlO,5>UO!KdQ`O,5>WO`QlO,5>YO!KiQ`O,5>]O!KnQlO,5>cOOQ[,5>i,5>iO%[QlO,5>iO9qQ!0LrO,5>kOOQ[,5>m,5>mO# xQ`O,5>mOOQ[,5>o,5>oO# xQ`O,5>oOOQ[,5>q,5>qO#!fQpO'#D_O%[QlO'#JuO##XQpO'#JuO##cQpO'#DmO##tQpO'#DmO#&VQlO'#DmO#&^Q`O'#JtO#&fQ`O,5:WO#&kQ`O'#EtO#&yQ`O'#KTO#'RQ`O,5;_O#'WQpO'#DmO#'eQpO'#EVOOQ!0Lf,5:o,5:oO%[QlO,5:oO#'lQ`O,5:oO>}Q`O,5;YO!BqQpO,5;YO!ByQMhO,5;YO:`QMhO,5;YO#'tQ`O,5@aO#'yQ07dO,5:sOOQO-E<e-E<eO#)PQ!0MSO,5;ROC{QpO,5:rO#)ZQpO,5:rOC{QpO,5;RO!BfQ!0LrO,5:rOOQ!0Lb'#Ej'#EjOOQO,5;R,5;RO%[QlO,5;RO#)hQ!0LrO,5;RO#)sQ!0LrO,5;RO!BqQpO,5:rOOQO,5;X,5;XO#*RQ!0LrO,5;RPOOO'#I]'#I]P#*gO&2DjO,58|POOO,58|,58|OOOO-E<]-E<]OOQ!0Lh1G.p1G.pOOOO-E<^-E<^OOOO,59},59}O#*rQ!bO,59}OOOO-E<`-E<`OOQ!0Lf1G/g1G/gO#*wQ!fO,5>}O+}QlO,5>}OOQO,5?T,5?TO#+RQlO'#IcOOQO-E<a-E<aO#+`Q`O,5@_O#+hQ!fO,5@_O#+oQ`O,5@mOOQ!0Lf1G/m1G/mO%[QlO,5@nO#+wQ`O'#IiOOQO-E<g-E<gO#+oQ`O,5@mOOQ!0Lb1G0x1G0xOOQ!0Ln1G/x1G/xOOQ!0Ln1G0Y1G0YO%[QlO,5@kO#,]Q!0LrO,5@kO#,nQ!0LrO,5@kO#,uQ`O,5@jO9aQ`O,5@jO#,}Q`O,5@jO#-]Q`O'#IlO#,uQ`O,5@jOOQ!0Lb1G0w1G0wO!(iQpO,5:uO!(tQpO,5:uOOQS,5:w,5:wO#-}QdO,5:wO#.VQMhO1G2yO9gQ`O1G2yOOQ!0Lf1G0u1G0uO#.eQ!0MxO1G0uO#/jQ!0MvO,5;VOOQ!0Lh'#GW'#GWO#0WQ!0MzO'#JkO!$lQlO1G0uO#2cQ!fO'#JvO%[QlO'#JvO#2mQ`O,5:eOOQ!0Lh'#D_'#D_OOQ!0Lf1G1O1G1OO%[QlO1G1OOOQ!0Lf1G1f1G1fO#2rQ`O1G1OO#5WQ!0MxO1G1PO#5_Q!0MxO1G1PO#7uQ!0MxO1G1PO#7|Q!0MxO1G1PO#:dQ!0MxO1G1PO#<zQ!0MxO1G1PO#=RQ!0MxO1G1PO#=YQ!0MxO1G1PO#?pQ!0MxO1G1PO#?wQ!0MxO1G1PO#BUQ?MtO'#CiO#DPQ?MtO1G1`O#DWQ?MtO'#JrO#DkQ!0MxO,5?ZOOQ!0Lb-E<m-E<mO#FxQ!0MxO1G1PO#GuQ!0MzO1G1POOQ!0Lf1G1P1G1PO#HxQMjO'#J{O#ISQ`O,5:xO#IXQ!0MxO1G1cO#I{Q,UO,5<WO#JTQ,UO,5<XO#J]Q,UO'#FoO#JtQ`O'#FnOOQO'#KX'#KXOOQO'#Im'#ImO#JyQ,UO1G1nOOQ!0Lf1G1n1G1nOOOW1G1y1G1yO#K[Q?MtO'#JqO#KfQ`O,5<bO!)PQlO,5<bOOOW-E<l-E<lOOQ!0Lf1G1l1G1lO#KkQpO'#KWOOQ!0Lf,5<d,5<dO#KsQpO,5<dO#KxQMhO'#DTOOOO'#Ia'#IaO#LPO#@ItO,59mOOQ!0Lh,59m,59mO%[QlO1G2PO!8XQ`O'#IqO#L[Q`O,5<zOOQ!0Lh,5<w,5<wO!+xQMhO'#ItO#LxQMjO,5=XO!+xQMhO'#IvO#MkQMjO,5=ZO!&oQMhO,5=]OOQO1G2S1G2SO#MuQ!dO'#CrO#NYQ(CWO'#ErO$ _QpO'#GbO$ uQ!dO,5<sO$ |Q`O'#KZO9aQ`O'#KZO$![Q`O,5<uO!+xQMhO,5<tO$!aQ`O'#GZO$!rQ`O,5<tO$!wQ!dO'#GWO$#UQ!dO'#K[O$#`Q`O'#K[O!&oQMhO'#K[O$#eQ`O,5<xO$#jQlO'#JuO$#tQpO'#GcO##tQpO'#GcO$$VQ`O'#GgO!3dQ`O'#GkO$$[Q!0LrO'#IsO$$gQpO,5<|OOQ!0Lp,5<|,5<|O$$nQpO'#GcO$${QpO'#GdO$%^QpO'#GdO$%cQMjO,5=XO$%sQMjO,5=ZOOQ!0Lh,5=^,5=^O!+xQMhO,5@UO!+xQMhO,5@UO$&TQ`O'#IxO$&iQ`O,5@TO$&qQ`O,59aOOQ!0Lh,59i,59iO$'hQ$IYO,59uOOQ!0Lh'#Jo'#JoO$(ZQMjO,5<kO$(|QMjO,5<mO@oQ`O,5<oOOQ!0Lh,5<p,5<pO$)WQ`O,5<vO$)]QMjO,5<{O$)mQ`O,5@UO$){Q`O'#KOO!$lQlO1G2RO$*QQ`O1G2RO9aQ`O'#KRO9aQ`O'#EtO%[QlO'#EtO9aQ`O'#IzO$*VQ!0LrO,5@zOOQ[1G2}1G2}OOQ[1G4_1G4_OOQ!0Lf1G/|1G/|OOQ!0Lf1G/z1G/zO$,XQ!0MxO1G0UOOQ[1G2y1G2yO!&oQMhO1G2yO%[QlO1G2yO#.YQ`O1G2yO$.]QMhO'#EkOOQ!0Lb,5@S,5@SO$.jQ!0LrO,5@SOOQ[1G.u1G.uO!BfQ!0LrO1G.uO!BqQpO1G.uO!ByQMhO1G.uO$.{Q`O1G0uO$/QQ`O'#CiO$/]Q`O'#KdO$/eQ`O,5={O$/jQ`O'#KdO$/oQ`O'#KdO$/}Q`O'#JQO$0]Q`O,5@}O$0eQ!fO1G1iOOQ!0Lf1G1k1G1kO9gQ`O1G3fO@oQ`O1G3fO$0lQ`O1G3fO$0qQ`O1G3fOOQ[1G3f1G3fO!DwQ`O1G3UO!&oQMhO1G3RO$0vQ`O1G3ROOQ[1G3S1G3SO!&oQMhO1G3SO$0{Q`O1G3SO$1TQpO'#HQOOQ[1G3U1G3UO!6SQpO'#I|O!D|Q!bO1G3XOOQ[1G3X1G3XOOQ[,5=r,5=rO$1]QMhO,5=tO9gQ`O,5=tO$$VQ`O,5=vO9[Q`O,5=vO!BqQpO,5=vO!ByQMhO,5=vO:`QMhO,5=vO$1kQ`O'#KbO$1vQ`O,5=wOOQ[1G.k1G.kO$1{Q!0LrO1G.kO@oQ`O1G.kO$2WQ`O1G.kO9qQ!0LrO1G.kO$4`Q!fO,5APO$4mQ`O,5APO9aQ`O,5APO$4xQlO,5>OO$5PQ`O,5>OOOQ[1G3h1G3hO`QlO1G3hOOQ[1G3n1G3nOOQ[1G3p1G3pO>xQ`O1G3rO$5UQlO1G3tO$9YQlO'#HsOOQ[1G3w1G3wO$9gQ`O'#HyO>}Q`O'#H{OOQ[1G3}1G3}O$9oQlO1G3}O9qQ!0LrO1G4TOOQ[1G4V1G4VOOQ!0Lb'#G_'#G_O9qQ!0LrO1G4XO9qQ!0LrO1G4ZO$=vQ`O,5@aO!)PQlO,5;`O9aQ`O,5;`O>}Q`O,5:XO!)PQlO,5:XO!BqQpO,5:XO$={Q?MtO,5:XOOQO,5;`,5;`O$>VQpO'#IdO$>mQ`O,5@`OOQ!0Lf1G/r1G/rO$>uQpO'#IjO$?PQ`O,5@oOOQ!0Lb1G0y1G0yO##tQpO,5:XOOQO'#If'#IfO$?XQpO,5:qOOQ!0Ln,5:q,5:qO#'oQ`O1G0ZOOQ!0Lf1G0Z1G0ZO%[QlO1G0ZOOQ!0Lf1G0t1G0tO>}Q`O1G0tO!BqQpO1G0tO!ByQMhO1G0tOOQ!0Lb1G5{1G5{O!BfQ!0LrO1G0^OOQO1G0m1G0mO%[QlO1G0mO$?`Q!0LrO1G0mO$?kQ!0LrO1G0mO!BqQpO1G0^OC{QpO1G0^O$?yQ!0LrO1G0mOOQO1G0^1G0^O$@_Q!0MxO1G0mPOOO-E<Z-E<ZPOOO1G.h1G.hOOOO1G/i1G/iO$@iQ!bO,5<iO$@qQ!fO1G4iOOQO1G4o1G4oO%[QlO,5>}O$@{Q`O1G5yO$ATQ`O1G6XO$A]Q!fO1G6YO9aQ`O,5?TO$AgQ!0MxO1G6VO%[QlO1G6VO$AwQ!0LrO1G6VO$BYQ`O1G6UO$BYQ`O1G6UO9aQ`O1G6UO$BbQ`O,5?WO9aQ`O,5?WOOQO,5?W,5?WO$BvQ`O,5?WO$){Q`O,5?WOOQO-E<j-E<jOOQS1G0a1G0aOOQS1G0c1G0cO#.QQ`O1G0cOOQ[7+(e7+(eO!&oQMhO7+(eO%[QlO7+(eO$CUQ`O7+(eO$CaQMhO7+(eO$CoQ!0MzO,5=XO$EzQ!0MzO,5=ZO$HVQ!0MzO,5=XO$JhQ!0MzO,5=ZO$LyQ!0MzO,59uO% OQ!0MzO,5<kO%#ZQ!0MzO,5<mO%%fQ!0MzO,5<{OOQ!0Lf7+&a7+&aO%'wQ!0MxO7+&aO%(kQlO'#IeO%(xQ`O,5@bO%)QQ!fO,5@bOOQ!0Lf1G0P1G0PO%)[Q`O7+&jOOQ!0Lf7+&j7+&jO%)aQ?MtO,5:fO%[QlO7+&zO%)kQ?MtO,5:bO%)xQ?MtO,5:jO%*SQ?MtO,5:lO%*^QMhO'#IhO%*hQ`O,5@gOOQ!0Lh1G0d1G0dOOQO1G1r1G1rOOQO1G1s1G1sO%*pQ!jO,5<ZO!)PQlO,5<YOOQO-E<k-E<kOOQ!0Lf7+'Y7+'YOOOW7+'e7+'eOOOW1G1|1G1|O%*{Q`O1G1|OOQ!0Lf1G2O1G2OOOOO,59o,59oO%+QQ!dO,59oOOOO-E<_-E<_OOQ!0Lh1G/X1G/XO%+XQ!0MxO7+'kOOQ!0Lh,5?],5?]O%+{QMhO1G2fP%,SQ`O'#IqPOQ!0Lh-E<o-E<oO%,pQMjO,5?`OOQ!0Lh-E<r-E<rO%-cQMjO,5?bOOQ!0Lh-E<t-E<tO%-mQ!dO1G2wO%-tQ!dO'#CrO%.[QMhO'#KRO$#jQlO'#JuOOQ!0Lh1G2_1G2_O%.cQ`O'#IpO%.wQ`O,5@uO%.wQ`O,5@uO%/PQ`O,5@uO%/[Q`O,5@uOOQO1G2a1G2aO%/jQMjO1G2`O!+xQMhO1G2`O%/zQ(CWO'#IrO%0XQ`O,5@vO!&oQMhO,5@vO%0aQ!dO,5@vOOQ!0Lh1G2d1G2dO%2qQ!fO'#CiO%2{Q`O,5=POOQ!0Lb,5<},5<}O%3TQpO,5<}OOQ!0Lb,5=O,5=OOClQ`O,5<}O%3`QpO,5<}OOQ!0Lb,5=R,5=RO$){Q`O,5=VOOQO,5?_,5?_OOQO-E<q-E<qOOQ!0Lp1G2h1G2hO##tQpO,5<}O$#jQlO,5=PO%3nQ`O,5=OO%3yQpO,5=OO!+xQMhO'#ItO%4sQMjO1G2sO!+xQMhO'#IvO%5fQMjO1G2uO%5pQMjO1G5pO%5zQMjO1G5pOOQO,5?d,5?dOOQO-E<v-E<vOOQO1G.{1G.{O!9xQpO,59wO%[QlO,59wOOQ!0Lh,5<j,5<jO%6XQ`O1G2ZO!+xQMhO1G2bO!+xQMhO1G5pO!+xQMhO1G5pO%6^Q!0MxO7+'mOOQ!0Lf7+'m7+'mO!$lQlO7+'mO%7QQ`O,5;`OOQ!0Lb,5?f,5?fOOQ!0Lb-E<x-E<xO%7VQ!dO'#K]O#'oQ`O7+(eO4UQ!fO7+(eO$CXQ`O7+(eO%7aQ!0MvO'#CiO%7tQ!0MvO,5=SO%8fQ`O,5=SO%8nQ`O,5=SOOQ!0Lb1G5n1G5nOOQ[7+$a7+$aO!BfQ!0LrO7+$aO!BqQpO7+$aO!$lQlO7+&aO%8sQ`O'#JPO%9[Q`O,5AOOOQO1G3g1G3gO9gQ`O,5AOO%9[Q`O,5AOO%9dQ`O,5AOOOQO,5?l,5?lOOQO-E=O-E=OOOQ!0Lf7+'T7+'TO%9iQ`O7+)QO9qQ!0LrO7+)QO9gQ`O7+)QO@oQ`O7+)QOOQ[7+(p7+(pO%9nQ!0MvO7+(mO!&oQMhO7+(mO!DrQ`O7+(nOOQ[7+(n7+(nO!&oQMhO7+(nO%9xQ`O'#KaO%:TQ`O,5=lOOQO,5?h,5?hOOQO-E<z-E<zOOQ[7+(s7+(sO%;gQpO'#HZOOQ[1G3`1G3`O!&oQMhO1G3`O%[QlO1G3`O%;nQ`O1G3`O%;yQMhO1G3`O9qQ!0LrO1G3bO$$VQ`O1G3bO9[Q`O1G3bO!BqQpO1G3bO!ByQMhO1G3bO%<XQ`O'#JOO%<mQ`O,5@|O%<uQpO,5@|OOQ!0Lb1G3c1G3cOOQ[7+$V7+$VO@oQ`O7+$VO9qQ!0LrO7+$VO%=QQ`O7+$VO%[QlO1G6kO%[QlO1G6lO%=VQ!0LrO1G6kO%=aQlO1G3jO%=hQ`O1G3jO%=mQlO1G3jOOQ[7+)S7+)SO9qQ!0LrO7+)^O`QlO7+)`OOQ['#Kg'#KgOOQ['#JR'#JRO%=tQlO,5>_OOQ[,5>_,5>_O%[QlO'#HtO%>RQ`O'#HvOOQ[,5>e,5>eO9aQ`O,5>eOOQ[,5>g,5>gOOQ[7+)i7+)iOOQ[7+)o7+)oOOQ[7+)s7+)sOOQ[7+)u7+)uO%>WQpO1G5{O%>rQ?MtO1G0zO%>|Q`O1G0zOOQO1G/s1G/sO%?XQ?MtO1G/sO>}Q`O1G/sO!)PQlO'#DmOOQO,5?O,5?OOOQO-E<b-E<bOOQO,5?U,5?UOOQO-E<h-E<hO!BqQpO1G/sOOQO-E<d-E<dOOQ!0Ln1G0]1G0]OOQ!0Lf7+%u7+%uO#'oQ`O7+%uOOQ!0Lf7+&`7+&`O>}Q`O7+&`O!BqQpO7+&`OOQO7+%x7+%xO$@_Q!0MxO7+&XOOQO7+&X7+&XO%[QlO7+&XO%?cQ!0LrO7+&XO!BfQ!0LrO7+%xO!BqQpO7+%xO%?nQ!0LrO7+&XO%?|Q!0MxO7++qO%[QlO7++qO%@^Q`O7++pO%@^Q`O7++pOOQO1G4r1G4rO9aQ`O1G4rO%@fQ`O1G4rOOQS7+%}7+%}O#'oQ`O<<LPO4UQ!fO<<LPO%@tQ`O<<LPOOQ[<<LP<<LPO!&oQMhO<<LPO%[QlO<<LPO%@|Q`O<<LPO%AXQ!0MzO,5?`O%CdQ!0MzO,5?bO%EoQ!0MzO1G2`O%HQQ!0MzO1G2sO%J]Q!0MzO1G2uO%LhQ!fO,5?PO%[QlO,5?POOQO-E<c-E<cO%LrQ`O1G5|OOQ!0Lf<<JU<<JUO%LzQ?MtO1G0uO& RQ?MtO1G1PO& YQ?MtO1G1PO&#ZQ?MtO1G1PO&#bQ?MtO1G1PO&%cQ?MtO1G1PO&'dQ?MtO1G1PO&'kQ?MtO1G1PO&'rQ?MtO1G1PO&)sQ?MtO1G1PO&)zQ?MtO1G1PO&*RQ!0MxO<<JfO&+yQ?MtO1G1PO&,vQ?MvO1G1PO&-yQ?MvO'#JkO&0PQ?MtO1G1cO&0^Q?MtO1G0UO&0hQMjO,5?SOOQO-E<f-E<fO!)PQlO'#FqOOQO'#KY'#KYOOQO1G1u1G1uO&0rQ`O1G1tO&0wQ?MtO,5?ZOOOW7+'h7+'hOOOO1G/Z1G/ZO&1RQ!dO1G4wOOQ!0Lh7+(Q7+(QP!&oQMhO,5?]O!+xQMhO7+(cO&1YQ`O,5?[O9aQ`O,5?[OOQO-E<n-E<nO&1hQ`O1G6aO&1hQ`O1G6aO&1pQ`O1G6aO&1{QMjO7+'zO&2]Q!dO,5?^O&2gQ`O,5?^O!&oQMhO,5?^OOQO-E<p-E<pO&2lQ!dO1G6bO&2vQ`O1G6bO&3OQ`O1G2kO!&oQMhO1G2kOOQ!0Lb1G2i1G2iOOQ!0Lb1G2j1G2jO%3TQpO1G2iO!BqQpO1G2iOClQ`O1G2iOOQ!0Lb1G2q1G2qO&3TQpO1G2iO&3cQ`O1G2kO$){Q`O1G2jOClQ`O1G2jO$#jQlO1G2kO&3kQ`O1G2jO&4_QMjO,5?`OOQ!0Lh-E<s-E<sO&5QQMjO,5?bOOQ!0Lh-E<u-E<uO!+xQMhO7++[OOQ!0Lh1G/c1G/cO&5[Q`O1G/cOOQ!0Lh7+'u7+'uO&5aQMjO7+'|O&5qQMjO7++[O&5{QMjO7++[O&6YQ!0MxO<<KXOOQ!0Lf<<KX<<KXO&6|Q`O1G0zO!&oQMhO'#IyO&7RQ`O,5@wO&9TQ!fO<<LPO!&oQMhO1G2nO&9[Q!0LrO1G2nOOQ[<<G{<<G{O!BfQ!0LrO<<G{O&9mQ!0MxO<<I{OOQ!0Lf<<I{<<I{OOQO,5?k,5?kO&:aQ`O,5?kO&:fQ`O,5?kOOQO-E<}-E<}O&:tQ`O1G6jO&:tQ`O1G6jO9gQ`O1G6jO@oQ`O<<LlOOQ[<<Ll<<LlO&:|Q`O<<LlO9qQ!0LrO<<LlOOQ[<<LX<<LXO%9nQ!0MvO<<LXOOQ[<<LY<<LYO!DrQ`O<<LYO&;RQpO'#I{O&;^Q`O,5@{O!)PQlO,5@{OOQ[1G3W1G3WOOQO'#I}'#I}O9qQ!0LrO'#I}O&;fQpO,5=uOOQ[,5=u,5=uO&;mQpO'#EgO&;tQpO'#GeO&;yQ`O7+(zO&<OQ`O7+(zOOQ[7+(z7+(zO!&oQMhO7+(zO%[QlO7+(zO&<WQ`O7+(zOOQ[7+(|7+(|O9qQ!0LrO7+(|O$$VQ`O7+(|O9[Q`O7+(|O!BqQpO7+(|O&<cQ`O,5?jOOQO-E<|-E<|OOQO'#H^'#H^O&<nQ`O1G6hO9qQ!0LrO<<GqOOQ[<<Gq<<GqO@oQ`O<<GqO&<vQ`O7+,VO&<{Q`O7+,WO%[QlO7+,VO%[QlO7+,WOOQ[7+)U7+)UO&=QQ`O7+)UO&=VQlO7+)UO&=^Q`O7+)UOOQ[<<Lx<<LxOOQ[<<Lz<<LzOOQ[-E=P-E=POOQ[1G3y1G3yO&=cQ`O,5>`OOQ[,5>b,5>bO&=hQ`O1G4PO9aQ`O7+&fO!)PQlO7+&fOOQO7+%_7+%_O&=mQ?MtO1G6YO>}Q`O7+%_OOQ!0Lf<<Ia<<IaOOQ!0Lf<<Iz<<IzO>}Q`O<<IzOOQO<<Is<<IsO$@_Q!0MxO<<IsO%[QlO<<IsOOQO<<Id<<IdO!BfQ!0LrO<<IdO&=wQ!0LrO<<IsO&>SQ!0MxO<= ]O&>dQ`O<= [OOQO7+*^7+*^O9aQ`O7+*^OOQ[ANAkANAkO&>lQ!fOANAkO!&oQMhOANAkO#'oQ`OANAkO4UQ!fOANAkO&>sQ`OANAkO%[QlOANAkO&>{Q!0MzO7+'zO&A^Q!0MzO,5?`O&CiQ!0MzO,5?bO&EtQ!0MzO7+'|O&HVQ!fO1G4kO&HaQ?MtO7+&aO&JeQ?MvO,5=XO&LlQ?MvO,5=ZO&L|Q?MvO,5=XO&M^Q?MvO,5=ZO&MnQ?MvO,59uO' tQ?MvO,5<kO'#wQ?MvO,5<mO'&]Q?MvO,5<{O'(RQ?MtO7+'kO'(`Q?MtO7+'mO'(mQ`O,5<]OOQO7+'`7+'`OOQ!0Lh7+*c7+*cO'(rQMjO<<K}OOQO1G4v1G4vO'(yQ`O1G4vO')UQ`O1G4vO')dQ`O7++{O')dQ`O7++{O!&oQMhO1G4xO')lQ!dO1G4xO')vQ`O7++|O'*OQ`O7+(VO'*ZQ!dO7+(VOOQ!0Lb7+(T7+(TOOQ!0Lb7+(U7+(UO!BqQpO7+(TOClQ`O7+(TO'*eQ`O7+(VO!&oQMhO7+(VO$){Q`O7+(UO'*jQ`O7+(VOClQ`O7+(UO'*rQMjO<<NvOOQ!0Lh7+$}7+$}O!+xQMhO<<NvO'*|Q!dO,5?eOOQO-E<w-E<wO'+WQ!0MvO7+(YO!&oQMhO7+(YOOQ[AN=gAN=gO9gQ`O1G5VOOQO1G5V1G5VO'+hQ`O1G5VO'+mQ`O7+,UO'+mQ`O7+,UO9qQ!0LrOANBWO@oQ`OANBWOOQ[ANBWANBWOOQ[ANAsANAsOOQ[ANAtANAtO'+uQ`O,5?gOOQO-E<y-E<yO',QQ?MtO1G6gOOQO,5?i,5?iOOQO-E<{-E<{OOQ[1G3a1G3aO',[Q`O,5=POOQ[<<Lf<<LfO!&oQMhO<<LfO&;yQ`O<<LfO',aQ`O<<LfO%[QlO<<LfOOQ[<<Lh<<LhO9qQ!0LrO<<LhO$$VQ`O<<LhO9[Q`O<<LhO',iQpO1G5UO',tQ`O7+,SOOQ[AN=]AN=]O9qQ!0LrOAN=]OOQ[<= q<= qOOQ[<= r<= rO',|Q`O<= qO'-RQ`O<= rOOQ[<<Lp<<LpO'-WQ`O<<LpO'-]QlO<<LpOOQ[1G3z1G3zO>}Q`O7+)kO'-dQ`O<<JQO'-oQ?MtO<<JQOOQO<<Hy<<HyOOQ!0LfAN?fAN?fOOQOAN?_AN?_O$@_Q!0MxOAN?_OOQOAN?OAN?OO%[QlOAN?_OOQO<<Mx<<MxOOQ[G27VG27VO!&oQMhOG27VO#'oQ`OG27VO'-yQ!fOG27VO4UQ!fOG27VO'.QQ`OG27VO'.YQ?MtO<<JfO'.gQ?MvO1G2`O'0]Q?MvO,5?`O'2`Q?MvO,5?bO'4cQ?MvO1G2sO'6fQ?MvO1G2uO'8iQ?MtO<<KXO'8vQ?MtO<<I{OOQO1G1w1G1wO!+xQMhOANAiOOQO7+*b7+*bO'9TQ`O7+*bO'9`Q`O<= gO'9hQ!dO7+*dOOQ!0Lb<<Kq<<KqO$){Q`O<<KqOClQ`O<<KqO'9rQ`O<<KqO!&oQMhO<<KqOOQ!0Lb<<Ko<<KoO!BqQpO<<KoO'9}Q!dO<<KqOOQ!0Lb<<Kp<<KpO':XQ`O<<KqO!&oQMhO<<KqO$){Q`O<<KpO':^QMjOANDbO':hQ!0MvO<<KtOOQO7+*q7+*qO9gQ`O7+*qO':xQ`O<= pOOQ[G27rG27rO9qQ!0LrOG27rO!)PQlO1G5RO';QQ`O7+,RO';YQ`O1G2kO&;yQ`OANBQOOQ[ANBQANBQO!&oQMhOANBQO';_Q`OANBQOOQ[ANBSANBSO9qQ!0LrOANBSO$$VQ`OANBSOOQO'#H_'#H_OOQO7+*p7+*pOOQ[G22wG22wOOQ[ANE]ANE]OOQ[ANE^ANE^OOQ[ANB[ANB[O';gQ`OANB[OOQ[<<MV<<MVO!)PQlOAN?lOOQOG24yG24yO$@_Q!0MxOG24yO#'oQ`OLD,qOOQ[LD,qLD,qO!&oQMhOLD,qO';lQ!fOLD,qO';sQ?MvO7+'zO'=iQ?MvO,5?`O'?lQ?MvO,5?bO'AoQ?MvO7+'|O'CeQMjOG27TOOQO<<M|<<M|OOQ!0LbANA]ANA]O$){Q`OANA]OClQ`OANA]O'CuQ!dOANA]OOQ!0LbANAZANAZO'C|Q`OANA]O!&oQMhOANA]O'DXQ!dOANA]OOQ!0LbANA[ANA[OOQO<<N]<<N]OOQ[LD-^LD-^O'DcQ?MtO7+*mOOQO'#Gf'#GfOOQ[G27lG27lO&;yQ`OG27lO!&oQMhOG27lOOQ[G27nG27nO9qQ!0LrOG27nOOQ[G27vG27vO'DmQ?MtOG25WOOQOLD*eLD*eOOQ[!$(!]!$(!]O#'oQ`O!$(!]O!&oQMhO!$(!]O'DwQ!0MzOG27TOOQ!0LbG26wG26wO$){Q`OG26wO'GYQ`OG26wOClQ`OG26wO'GeQ!dOG26wO!&oQMhOG26wOOQ[LD-WLD-WO&;yQ`OLD-WOOQ[LD-YLD-YOOQ[!)9Ew!)9EwO#'oQ`O!)9EwOOQ!0LbLD,cLD,cO$){Q`OLD,cOClQ`OLD,cO'GlQ`OLD,cO'GwQ!dOLD,cOOQ[!$(!r!$(!rOOQ[!.K;c!.K;cO'HOQ?MvOG27TOOQ!0Lb!$( }!$( }O$){Q`O!$( }OClQ`O!$( }O'ItQ`O!$( }OOQ!0Lb!)9Ei!)9EiO$){Q`O!)9EiOClQ`O!)9EiOOQ!0Lb!.K;T!.K;TO$){Q`O!.K;TOOQ!0Lb!4/0o!4/0oO!)PQlO'#DzO1PQ`O'#EXO'JPQ!fO'#JqO'JWQ!L^O'#DvO'J_QlO'#EOO'JfQ!fO'#CiO'L|Q!fO'#CiO!)PQlO'#EQO'M^QlO,5;ZO!)PQlO,5;eO!)PQlO,5;eO!)PQlO,5;eO!)PQlO,5;eO!)PQlO,5;eO!)PQlO,5;eO!)PQlO,5;eO!)PQlO,5;eO!)PQlO,5;eO!)PQlO,5;eO!)PQlO'#IoO( aQ`O,5<iO!)PQlO,5;eO( iQMhO,5;eO(#SQMhO,5;eO!)PQlO,5;wO!&oQMhO'#GmO( iQMhO'#GmO!&oQMhO'#GoO( iQMhO'#GoO1SQ`O'#DZO1SQ`O'#DZO!&oQMhO'#GPO( iQMhO'#GPO!&oQMhO'#GRO( iQMhO'#GRO!&oQMhO'#GaO( iQMhO'#GaO!)PQlO,5:jO(#ZQpO'#D_O(#eQpO'#JuO!)PQlO,5@nO'M^QlO1G0uO(#oQ?MtO'#CiO!)PQlO1G2PO!&oQMhO'#ItO( iQMhO'#ItO!&oQMhO'#IvO( iQMhO'#IvO(#yQ!dO'#CrO!&oQMhO,5<tO( iQMhO,5<tO'M^QlO1G2RO!)PQlO7+&zO!&oQMhO1G2`O( iQMhO1G2`O!&oQMhO'#ItO( iQMhO'#ItO!&oQMhO'#IvO( iQMhO'#IvO!&oQMhO1G2bO( iQMhO1G2bO'M^QlO7+'mO'M^QlO7+&aO!&oQMhOANAiO( iQMhOANAiO($^Q`O'#EoO($cQ`O'#EoO($kQ`O'#F]O($pQ`O'#EyO($uQ`O'#KSO(%QQ`O'#KQO(%]Q`O,5;ZO(%bQMjO,5<eO(%iQ`O'#GYO(%nQ`O'#GYO(%sQ`O,5<gO(%{Q`O,5;ZO(&TQ?MtO1G1`O(&[Q`O,5<tO(&aQ`O,5<tO(&fQ`O,5<vO(&kQ`O,5<vO(&pQ`O1G2RO(&uQ`O1G0uO(&zQMjO<<K}O('RQMjO<<K}O7eQMhO'#F|O9[Q`O'#F{OAjQ`O'#EnO!)PQlO,5;tO!3dQ`O'#GYO!3dQ`O'#GYO!3dQ`O'#G[O!3dQ`O'#G[O!+xQMhO7+(cO!+xQMhO7+(cO%-mQ!dO1G2wO%-mQ!dO1G2wO!&oQMhO,5=]O!&oQMhO,5=]",stateData:"((X~O'{OS'|OSTOS'}RQ~OPYOQYOSfOY!VOaqOdzOeyOl!POpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_XO!iuO!lZO!oYO!pYO!qYO!svO!uwO!xxO!|]O$W|O$niO%h}O%j!QO%l!OO%m!OO%n!OO%q!RO%s!SO%v!TO%w!TO%y!UO&V!WO&]!XO&_!YO&a!ZO&c![O&f!]O&l!^O&r!_O&t!`O&v!aO&x!bO&z!cO(SSO(UTO(XUO(`VO(n[O~OWtO~P`OPYOQYOSfOd!jOe!iOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_!eO!iuO!lZO!oYO!pYO!qYO!svO!u!gO!x!hO$W!kO$niO(S!dO(UTO(XUO(`VO(n[O~Oa!wOs!nO!S!oO!b!yO!c!vO!d!vO!|;wO#T!pO#U!pO#V!xO#W!pO#X!pO#[!zO#]!zO(T!lO(UTO(XUO(d!mO(n!sO~O'}!{O~OP]XR]X[]Xa]Xj]Xr]X!Q]X!S]X!]]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X'y]X(`]X(q]X(x]X(y]X~O!g%RX~P(qO_!}O(U#PO(V!}O(W#PO~O_#QO(W#PO(X#PO(Y#QO~Ox#SO!U#TO(a#TO(b#VO~OPYOQYOSfOd!jOe!iOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_!eO!iuO!lZO!oYO!pYO!qYO!svO!u!gO!x!hO$W!kO$niO(S;{O(UTO(XUO(`VO(n[O~O![#ZO!]#WO!Y(gP!Y(uP~P+}O!^#cO~P`OPYOQYOSfOd!jOe!iOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_!eO!iuO!lZO!oYO!pYO!qYO!svO!u!gO!x!hO$W!kO$niO(UTO(XUO(`VO(n[O~Op#mO![#iO!|]O#i#lO#j#iO(S;|O!k(rP~P.iO!l#oO(S#nO~O!x#sO!|]O%h#tO~O#k#uO~O!g#vO#k#uO~OP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!]$_O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO#z$WO#{$XO(`VO(q$YO(x#|O(y#}O~Oa(eX'y(eX'v(eX!k(eX!Y(eX!_(eX%i(eX!g(eX~P1qO#S$dO#`$eO$Q$eOP(fXR(fX[(fXj(fXr(fX!Q(fX!S(fX!](fX!l(fX!p(fX#R(fX#n(fX#o(fX#p(fX#q(fX#r(fX#s(fX#t(fX#u(fX#v(fX#x(fX#z(fX#{(fX(`(fX(q(fX(x(fX(y(fX!_(fX%i(fX~Oa(fX'y(fX'v(fX!Y(fX!k(fXv(fX!g(fX~P4UO#`$eO~O$]$hO$_$gO$f$mO~OSfO!_$nO$i$oO$k$qO~Oh%VOj%cOk%cOl%cOp%WOr%XOs$tOt$tOz%YO|%ZO!O%[O!S${O!_$|O!i%aO!l$xO#j%bO$W%_O$t%]O$v%^O$y%`O(S$sO(UTO(XUO(`$uO(x$}O(y%POg(]P~O!l%dO~O!S%gO!_%hO(S%fO~O!g%lO~Oa%mO'y%mO~O!Q%qO~P%[O(T!lO~P%[O%n%uO~P%[Oh%VO!l%dO(S%fO(T!lO~Oe%|O!l%dO(S%fO~Oj$RO~O!Q&RO!_&OO!l&QO%j&UO(S%fO(T!lO(UTO(XUO`)VP~O!x#sO~O%s&WO!S)RX!_)RX(S)RX~O(S&XO~Ol!PO!u&^O%j!QO%l!OO%m!OO%n!OO%q!RO%s!SO%v!TO%w!TO~Od&cOe&bO!x&`O%h&aO%{&_O~P<VOd&fOeyOl!PO!_&eO!u&^O!xxO!|]O%h}O%l!OO%m!OO%n!OO%q!RO%s!SO%v!TO%w!TO%y!UO~Ob&iO#`&lO%j&gO(T!lO~P=[O!l&mO!u&qO~O!l#oO~O!_XO~Oa%mO'w&yO'y%mO~Oa%mO'w&|O'y%mO~Oa%mO'w'OO'y%mO~O'v]X!Y]Xv]X!k]X&Z]X!_]X%i]X!g]X~P(qO!b']O!c'UO!d'UO(T!lO(UTO(XUO~Os'SO!S'RO!['VO(d'QO!^(hP!^(wP~P@cOn'`O!_'^O(S%fO~Oe'eO!l%dO(S%fO~O!Q&RO!l&QO~Os!nO!S!oO!|;wO#T!pO#U!pO#W!pO#X!pO(T!lO(UTO(XUO(d!mO(n!sO~O!b'kO!c'jO!d'jO#V!pO#['lO#]'lO~PA}Oa%mOh%VO!g#vO!l%dO'y%mO(q'nO~O!p'rO#`'pO~PC]Os!nO!S!oO(UTO(XUO(d!mO(n!sO~O!_XOs(lX!S(lX!b(lX!c(lX!d(lX!|(lX#T(lX#U(lX#V(lX#W(lX#X(lX#[(lX#](lX(T(lX(U(lX(X(lX(d(lX(n(lX~O!c'jO!d'jO(T!lO~PC{O(O'vO(P'vO(Q'xO~O_!}O(U'zO(V!}O(W'zO~O_#QO(W'zO(X'zO(Y#QO~Ov'|O~P%[Ox#SO!U#TO(a#TO(b(PO~O![(RO!Y'VX!Y']X!]'VX!]']X~P+}O!](TO!Y(gX~OP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!](TO!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO#z$WO#{$XO(`VO(q$YO(x#|O(y#}O~O!Y(gX~PGvO!Y(YO~O!Y(tX!](tX!g(tX!k(tX(q(tX~O#`(tX#k#dX!^(tX~PIyO#`(ZO!Y(vX!](vX~O!]([O!Y(uX~O!Y(_O~O#`$eO~PIyO!^(`O~P`OR#zO!Q#yO!S#{O!l#xO(`VOP!na[!naj!nar!na!]!na!p!na#R!na#n!na#o!na#p!na#q!na#r!na#s!na#t!na#u!na#v!na#x!na#z!na#{!na(q!na(x!na(y!na~Oa!na'y!na'v!na!Y!na!k!nav!na!_!na%i!na!g!na~PKaO!k(aO~O!g#vO#`(bO(q'nO!](sXa(sX'y(sX~O!k(sX~PM|O!S%gO!_%hO!|]O#i(gO#j(fO(S%fO~O!](hO!k(rX~O!k(jO~O!S%gO!_%hO#j(fO(S%fO~OP(fXR(fX[(fXj(fXr(fX!Q(fX!S(fX!](fX!l(fX!p(fX#R(fX#n(fX#o(fX#p(fX#q(fX#r(fX#s(fX#t(fX#u(fX#v(fX#x(fX#z(fX#{(fX(`(fX(q(fX(x(fX(y(fX~O!g#vO!k(fX~P! jOR(lO!Q(kO!l#xO#S$dO!|!{a!S!{a~O!x!{a%h!{a!_!{a#i!{a#j!{a(S!{a~P!#kO!x(pO~OPYOQYOSfOd!jOe!iOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_XO!iuO!lZO!oYO!pYO!qYO!svO!u!gO!x!hO$W!kO$niO(S!dO(UTO(XUO(`VO(n[O~Oh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O<eO!S${O!_$|O!i=vO!l$xO#j<kO$W%_O$t<gO$v<iO$y%`O(S(tO(UTO(XUO(`$uO(x$}O(y%PO~O#k(vO~O![(xO!k(jP~P%[O(d(zO(n[O~O!S(|O!l#xO(d(zO(n[O~OP;vOQ;vOSfOd=rOe!iOpkOr;vOskOtkOzkO|;vO!O;vO!SWO!WkO!XkO!_!eO!i;yO!lZO!o;vO!p;vO!q;vO!s;zO!u;}O!x!hO$W!kO$n=pO(S)ZO(UTO(XUO(`VO(n[O~O!]$_Oa$qa'y$qa'v$qa!k$qa!Y$qa!_$qa%i$qa!g$qa~Ol)bO~P!&oOh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O%[O!S${O!_$|O!i%aO!l$xO#j%bO$W%_O$t%]O$v%^O$y%`O(S(tO(UTO(XUO(`$uO(x$}O(y%PO~Og(oP~P!+xO!Q)gO!g)fO!_$^X$Z$^X$]$^X$_$^X$f$^X~O!g)fO!_(zX$Z(zX$](zX$_(zX$f(zX~O!Q)gO~P!.RO!Q)gO!_(zX$Z(zX$](zX$_(zX$f(zX~O!_)iO$Z)mO$])hO$_)hO$f)nO~O![)qO~P!)PO$]$hO$_$gO$f)uO~On$zX!Q$zX#S$zX'x$zX(x$zX(y$zX~OgmXg$zXnmX!]mX#`mX~P!/wOx)wO(a)xO(b)zO~On*TO!Q)|O'x)}O(x$}O(y%PO~Og){O~P!0{Og*UO~Oh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O<eO!S*WO!_*XO!i=vO!l$xO#j<kO$W%_O$t<gO$v<iO$y%`O(UTO(XUO(`$uO(x$}O(y%PO~OSX'y)SX~OP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO#z$WO#{$XO(`VO(q$YO(x#|O(y#}O~Oa!ja!]!ja'y!ja'v!ja!Y!ja!k!jav!ja!_!ja%i!ja!g!ja~P!:aOR#zO!Q#yO!S#{O!l#xO(`VOP!ra[!raj!rar!ra!]!ra!p!ra#R!ra#n!ra#o!ra#p!ra#q!ra#r!ra#s!ra#t!ra#u!ra#v!ra#x!ra#z!ra#{!ra(q!ra(x!ra(y!ra~Oa!ra'y!ra'v!ra!Y!ra!k!rav!ra!_!ra%i!ra!g!ra~P!<wOR#zO!Q#yO!S#{O!l#xO(`VOP!ta[!taj!tar!ta!]!ta!p!ta#R!ta#n!ta#o!ta#p!ta#q!ta#r!ta#s!ta#t!ta#u!ta#v!ta#x!ta#z!ta#{!ta(q!ta(x!ta(y!ta~Oa!ta'y!ta'v!ta!Y!ta!k!tav!ta!_!ta%i!ta!g!ta~P!?_Oh%VOn+dO!_'^O%i+cO~O!g+fOa([X!_([X'y([X!]([X~Oa%mO!_XO'y%mO~Oh%VO!l%dO~Oh%VO!l%dO(S%fO~O!g#vO#k(vO~Ob+qO%j+rO(S+nO(UTO(XUO!^)WP~O!]+sO`)VX~O[+wO~O`+xO~O!_&OO(S%fO(T!lO`)VP~Oh%VO#`+}O~Oh%VOn,QO!_$|O~O!_,SO~O!Q,UO!_XO~O%n%uO~O!x,ZO~Oe,`O~Ob,aO(S#nO(UTO(XUO!^)UP~Oe%|O~O%j!QO(S&XO~P=[O[,fO`,eO~OPYOQYOSfOdzOeyOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!iuO!lZO!oYO!pYO!qYO!svO!xxO!|]O$niO%h}O(UTO(XUO(`VO(n[O~O!_!eO!u!gO$W!kO(S!dO~P!F_O`,eOa%mO'y%mO~OPYOQYOSfOd!jOe!iOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_!eO!iuO!lZO!oYO!pYO!qYO!svO!x!hO$W!kO$niO(S!dO(UTO(XUO(`VO(n[O~Oa,kOl!OO!uwO%l!OO%m!OO%n!OO~P!HwO!l&mO~O&],qO~O!_,sO~O&n,uO&p,vOP&kaQ&kaS&kaY&kaa&kad&kae&kal&kap&kar&kas&kat&kaz&ka|&ka!O&ka!S&ka!W&ka!X&ka!_&ka!i&ka!l&ka!o&ka!p&ka!q&ka!s&ka!u&ka!x&ka!|&ka$W&ka$n&ka%h&ka%j&ka%l&ka%m&ka%n&ka%q&ka%s&ka%v&ka%w&ka%y&ka&V&ka&]&ka&_&ka&a&ka&c&ka&f&ka&l&ka&r&ka&t&ka&v&ka&x&ka&z&ka'v&ka(S&ka(U&ka(X&ka(`&ka(n&ka!^&ka&d&kab&ka&i&ka~O(S,{O~Oh!eX!]!RX!^!RX!g!RX!g!eX!l!eX#`!RX~O!]!eX!^!eX~P# }O!g-QO#`-POh(iX!]#hX!^#hX!g(iX!l(iX~O!](iX!^(iX~P#!pOh%VO!g-SO!l%dO!]!aX!^!aX~Os!nO!S!oO(UTO(XUO(d!mO~OP;vOQ;vOSfOd=rOe!iOpkOr;vOskOtkOzkO|;vO!O;vO!SWO!WkO!XkO!_!eO!i;yO!lZO!o;vO!p;vO!q;vO!s;zO!u;}O!x!hO$W!kO$n=pO(UTO(XUO(`VO(n[O~O(S<rO~P#$VO!]-WO!^(hX~O!^-YO~O!g-QO#`-PO!]#hX!^#hX~O!]-ZO!^(wX~O!^-]O~O!c-^O!d-^O(T!lO~P##tO!^-aO~P'_On-dO!_'^O~O!Y-iO~Os!{a!b!{a!c!{a!d!{a#T!{a#U!{a#V!{a#W!{a#X!{a#[!{a#]!{a(T!{a(U!{a(X!{a(d!{a(n!{a~P!#kO!p-nO#`-lO~PC]O!c-pO!d-pO(T!lO~PC{Oa%mO#`-lO'y%mO~Oa%mO!g#vO#`-lO'y%mO~Oa%mO!g#vO!p-nO#`-lO'y%mO(q'nO~O(O'vO(P'vO(Q-uO~Ov-vO~O!Y'Va!]'Va~P!:aO![-zO!Y'VX!]'VX~P%[O!](TO!Y(ga~O!Y(ga~PGvO!]([O!Y(ua~O!S%gO![.OO!_%hO(S%fO!Y']X!]']X~O#`.QO!](sa!k(saa(sa'y(sa~O!g#vO~P#,]O!](hO!k(ra~O!S%gO!_%hO#j.UO(S%fO~Op.ZO!S%gO![.WO!_%hO!|]O#i.YO#j.WO(S%fO!]'`X!k'`X~OR._O!l#xO~Oh%VOn.bO!_'^O%i.aO~Oa#ci!]#ci'y#ci'v#ci!Y#ci!k#civ#ci!_#ci%i#ci!g#ci~P!:aOn=|O!Q)|O'x)}O(x$}O(y%PO~O#k#_aa#_a#`#_a'y#_a!]#_a!k#_a!_#_a!Y#_a~P#/XO#k(_XP(_XR(_X[(_Xa(_Xj(_Xr(_X!S(_X!l(_X!p(_X#R(_X#n(_X#o(_X#p(_X#q(_X#r(_X#s(_X#t(_X#u(_X#v(_X#x(_X#z(_X#{(_X'y(_X(`(_X(q(_X!k(_X!Y(_X'v(_Xv(_X!_(_X%i(_X!g(_X~P!6`O!].oO!k(jX~P!:aO!k.rO~O!Y.tO~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O(`VO[#mia#mij#mir#mi!]#mi#R#mi#o#mi#p#mi#q#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'y#mi(q#mi(x#mi(y#mi'v#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#n#mi~P#2wO#n$OO~P#2wOP$[OR#zOr$aO!Q#yO!S#{O!l#xO!p$[O#n$OO#o$PO#p$PO#q$PO(`VO[#mia#mij#mi!]#mi#R#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'y#mi(q#mi(x#mi(y#mi'v#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#r#mi~P#5fO#r$QO~P#5fOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO(`VOa#mi!]#mi#x#mi#z#mi#{#mi'y#mi(q#mi(x#mi(y#mi'v#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#v#mi~P#8TOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO(`VO(y#}Oa#mi!]#mi#z#mi#{#mi'y#mi(q#mi(x#mi'v#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#x$UO~P#:kO#x#mi~P#:kO#v$SO~P#8TOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO(`VO(x#|O(y#}Oa#mi!]#mi#{#mi'y#mi(q#mi'v#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#z#mi~P#=aO#z$WO~P#=aOP]XR]X[]Xj]Xr]X!Q]X!S]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(`]X(q]X(x]X(y]X!]]X!^]X~O$O]X~P#@OOP$[OR#zO[<_Oj<SOr<]O!Q#yO!S#{O!l#xO!p$[O#R<SO#n<PO#o<QO#p<QO#q<QO#r<RO#s<SO#t<SO#u<^O#v<TO#x<VO#z<XO#{<YO(`VO(q$YO(x#|O(y#}O~O$O.vO~P#B]O#S$dO#`<`O$Q<`O$O(fX!^(fX~P! jOa'ca!]'ca'y'ca'v'ca!k'ca!Y'cav'ca!_'ca%i'ca!g'ca~P!:aO[#mia#mij#mir#mi!]#mi#R#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'y#mi(q#mi'v#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O#n$OO#o$PO#p$PO#q$PO(`VO(x#mi(y#mi~P#E_On=|O!Q)|O'x)}O(x$}O(y%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(`#mi~P#E_O!].zOg(oX~P!0{Og.|O~Oa$Pi!]$Pi'y$Pi'v$Pi!Y$Pi!k$Piv$Pi!_$Pi%i$Pi!g$Pi~P!:aO$].}O$_.}O~O$]/OO$_/OO~O!g)fO#`/PO!_$cX$Z$cX$]$cX$_$cX$f$cX~O![/QO~O!_)iO$Z/SO$])hO$_)hO$f/TO~O!]<ZO!^(eX~P#B]O!^/UO~O!g)fO$f(zX~O$f/WO~Ov/XO~P!&oOx)wO(a)xO(b/[O~O!S/_O~O(x$}On%aa!Q%aa'x%aa(y%aa!]%aa#`%aa~Og%aa$O%aa~P#LaO(y%POn%ca!Q%ca'x%ca(x%ca!]%ca#`%ca~Og%ca$O%ca~P#MSO!]fX!gfX!kfX!k$zX(qfX~P!/wOOP~P!1jOr*pO!b*nO!c*hO!d*hO!l*_O#[*oO%`*jO(T!lO(UTO(XUO~Os<oO!S/iO![+XO!^*mO(d<nO!^(wP~P#NmO!k/jO~P#/XO!]/kO!g#vO(q'nO!k(}X~O!k/pO~O!S%gO![*[O!_%hO(S%fO!k(}P~O#k/rO~O!Y$zX!]$zX!g%RX~P!/wO!]/sO!Y)OX~P#/XO!g/uO~O!Y/wO~OpkO(S/xO~P.iOh%VOr/}O!g#vO!l%dO(q'nO~O!g+fO~Oa%mO!]0RO'y%mO~O!^0TO~P!5^O!c0UO!d0UO(T!lO~P##tOs!nO!S0VO(UTO(XUO(d!mO~O#[0XO~Og%aa!]%aa#`%aa$O%aa~P!0{Og%ca!]%ca#`%ca$O%ca~P!0{Oj%cOk%cOl%cO(S&XOg'lX!]'lX~O!]*vOg(]a~Og0bO~OR0cO!Q0cO!S0dO#S$dOn}a'x}a(x}a(y}a!]}a#`}a~Og}a$O}a~P$&vO!Q)|O'x)}On$sa(x$sa(y$sa!]$sa#`$sa~Og$sa$O$sa~P$'rO!Q)|O'x)}On$ua(x$ua(y$ua!]$ua#`$ua~Og$ua$O$ua~P$(eO#k0gO~Og%Ta!]%Ta#`%Ta$O%Ta~P!0{On0iO#`0hOg(^a!](^a~O!g#vO~O#k0lO~O!]+ZOa)Sa'y)Sa~OR#zO!Q#yO!S#{O!l#xO(`VOP!ri[!rij!rir!ri!]!ri!p!ri#R!ri#n!ri#o!ri#p!ri#q!ri#r!ri#s!ri#t!ri#u!ri#v!ri#x!ri#z!ri#{!ri(q!ri(x!ri(y!ri~Oa!ri'y!ri'v!ri!Y!ri!k!riv!ri!_!ri%i!ri!g!ri~P$*bOh%VOr%XOs$tOt$tOz%YO|%ZO!O<eO!S${O!_$|O!i=vO!l$xO#j<kO$W%_O$t<gO$v<iO$y%`O(UTO(XUO(`$uO(x$}O(y%PO~Op0uO%]0vO(S0tO~P$,xO!g+fOa([a!_([a'y([a!]([a~O#k0|O~O[]X!]fX!^fX~O!]0}O!^)WX~O!^1PO~O[1QO~Ob1SO(S+nO(UTO(XUO~O!_&OO(S%fO`'tX!]'tX~O!]+sO`)Va~O!k1VO~P!:aO[1YO~O`1ZO~O#`1^O~On1aO!_$|O~O(d(zO!^)TP~Oh%VOn1jO!_1gO%i1iO~O[1tO!]1rO!^)UX~O!^1uO~O`1wOa%mO'y%mO~O(S#nO(UTO(XUO~O#S$dO#`$eO$Q$eOP(fXR(fX[(fXr(fX!Q(fX!S(fX!](fX!l(fX!p(fX#R(fX#n(fX#o(fX#p(fX#q(fX#r(fX#s(fX#t(fX#u(fX#v(fX#x(fX#z(fX#{(fX(`(fX(q(fX(x(fX(y(fX~Oj1zO&Z1{Oa(fX~P$2cOj1zO#`$eO&Z1{O~Oa1}O~P%[Oa2PO~O&d2SOP&biQ&biS&biY&bia&bid&bie&bil&bip&bir&bis&bit&biz&bi|&bi!O&bi!S&bi!W&bi!X&bi!_&bi!i&bi!l&bi!o&bi!p&bi!q&bi!s&bi!u&bi!x&bi!|&bi$W&bi$n&bi%h&bi%j&bi%l&bi%m&bi%n&bi%q&bi%s&bi%v&bi%w&bi%y&bi&V&bi&]&bi&_&bi&a&bi&c&bi&f&bi&l&bi&r&bi&t&bi&v&bi&x&bi&z&bi'v&bi(S&bi(U&bi(X&bi(`&bi(n&bi!^&bib&bi&i&bi~Ob2YO!^2WO&i2XO~P`O!_XO!l2[O~O&p,vOP&kiQ&kiS&kiY&kia&kid&kie&kil&kip&kir&kis&kit&kiz&ki|&ki!O&ki!S&ki!W&ki!X&ki!_&ki!i&ki!l&ki!o&ki!p&ki!q&ki!s&ki!u&ki!x&ki!|&ki$W&ki$n&ki%h&ki%j&ki%l&ki%m&ki%n&ki%q&ki%s&ki%v&ki%w&ki%y&ki&V&ki&]&ki&_&ki&a&ki&c&ki&f&ki&l&ki&r&ki&t&ki&v&ki&x&ki&z&ki'v&ki(S&ki(U&ki(X&ki(`&ki(n&ki!^&ki&d&kib&ki&i&ki~O!Y2bO~O!]!aa!^!aa~P#B]Os!nO!S!oO![2hO(d!mO!]'WX!^'WX~P@cO!]-WO!^(ha~O!]'^X!^'^X~P!9iO!]-ZO!^(wa~O!^2oO~P'_Oa%mO#`2xO'y%mO~Oa%mO!g#vO#`2xO'y%mO~Oa%mO!g#vO!p2|O#`2xO'y%mO(q'nO~Oa%mO'y%mO~P!:aO!]$_Ov$qa~O!Y'Vi!]'Vi~P!:aO!](TO!Y(gi~O!]([O!Y(ui~O!Y(vi!](vi~P!:aO!](si!k(sia(si'y(si~P!:aO#`3OO!](si!k(sia(si'y(si~O!](hO!k(ri~O!S%gO!_%hO!|]O#i3TO#j3SO(S%fO~O!S%gO!_%hO#j3SO(S%fO~On3[O!_'^O%i3ZO~Oh%VOn3[O!_'^O%i3ZO~O#k%aaP%aaR%aa[%aaa%aaj%aar%aa!S%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa'y%aa(`%aa(q%aa!k%aa!Y%aa'v%aav%aa!_%aa%i%aa!g%aa~P#LaO#k%caP%caR%ca[%caa%caj%car%ca!S%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca'y%ca(`%ca(q%ca!k%ca!Y%ca'v%cav%ca!_%ca%i%ca!g%ca~P#MSO#k%aaP%aaR%aa[%aaa%aaj%aar%aa!S%aa!]%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa'y%aa(`%aa(q%aa!k%aa!Y%aa'v%aa#`%aav%aa!_%aa%i%aa!g%aa~P#/XO#k%caP%caR%ca[%caa%caj%car%ca!S%ca!]%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca'y%ca(`%ca(q%ca!k%ca!Y%ca'v%ca#`%cav%ca!_%ca%i%ca!g%ca~P#/XO#k}aP}a[}aa}aj}ar}a!l}a!p}a#R}a#n}a#o}a#p}a#q}a#r}a#s}a#t}a#u}a#v}a#x}a#z}a#{}a'y}a(`}a(q}a!k}a!Y}a'v}av}a!_}a%i}a!g}a~P$&vO#k$saP$saR$sa[$saa$saj$sar$sa!S$sa!l$sa!p$sa#R$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#t$sa#u$sa#v$sa#x$sa#z$sa#{$sa'y$sa(`$sa(q$sa!k$sa!Y$sa'v$sav$sa!_$sa%i$sa!g$sa~P$'rO#k$uaP$uaR$ua[$uaa$uaj$uar$ua!S$ua!l$ua!p$ua#R$ua#n$ua#o$ua#p$ua#q$ua#r$ua#s$ua#t$ua#u$ua#v$ua#x$ua#z$ua#{$ua'y$ua(`$ua(q$ua!k$ua!Y$ua'v$uav$ua!_$ua%i$ua!g$ua~P$(eO#k%TaP%TaR%Ta[%Taa%Taj%Tar%Ta!S%Ta!]%Ta!l%Ta!p%Ta#R%Ta#n%Ta#o%Ta#p%Ta#q%Ta#r%Ta#s%Ta#t%Ta#u%Ta#v%Ta#x%Ta#z%Ta#{%Ta'y%Ta(`%Ta(q%Ta!k%Ta!Y%Ta'v%Ta#`%Tav%Ta!_%Ta%i%Ta!g%Ta~P#/XOa#cq!]#cq'y#cq'v#cq!Y#cq!k#cqv#cq!_#cq%i#cq!g#cq~P!:aO![3dO!]'XX!k'XX~P%[O!].oO!k(ja~O!].oO!k(ja~P!:aO!Y3gO~O$O!na!^!na~PKaO$O!ja!]!ja!^!ja~P#B]O$O!ra!^!ra~P!<wO$O!ta!^!ta~P!?_Og'[X!]'[X~P!+xO!].zOg(oa~OSfO!_3{O$d3|O~O!^4QO~Ov4RO~P#/XOa$mq!]$mq'y$mq'v$mq!Y$mq!k$mqv$mq!_$mq%i$mq!g$mq~P!:aO!Y4TO~P!&oO!S4UO~O!Q)|O'x)}O(y%POn'ha(x'ha!]'ha#`'ha~Og'ha$O'ha~P%,XO!Q)|O'x)}On'ja(x'ja(y'ja!]'ja#`'ja~Og'ja$O'ja~P%,zO(q$YO~P#/XO!YfX!Y$zX!]fX!]$zX!g%RX#`fX~P!/wO(S<xO~P!1jO!S%gO![4XO!_%hO(S%fO!]'dX!k'dX~O!]/kO!k(}a~O!]/kO!g#vO!k(}a~O!]/kO!g#vO(q'nO!k(}a~Og$|i!]$|i#`$|i$O$|i~P!0{O![4aO!Y'fX!]'fX~P!3iO!]/sO!Y)Oa~O!]/sO!Y)Oa~P#/XOP]XR]X[]Xj]Xr]X!Q]X!S]X!Y]X!]]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(`]X(q]X(x]X(y]X~Oj%YX!g%YX~P%0kOj4fO!g#vO~Oh%VO!g#vO!l%dO~Oh%VOr4kO!l%dO(q'nO~Or4pO!g#vO(q'nO~Os!nO!S4qO(UTO(XUO(d!mO~O(x$}On%ai!Q%ai'x%ai(y%ai!]%ai#`%ai~Og%ai$O%ai~P%4[O(y%POn%ci!Q%ci'x%ci(x%ci!]%ci#`%ci~Og%ci$O%ci~P%4}Og(^i!](^i~P!0{O#`4wOg(^i!](^i~P!0{O!k4zO~Oa$oq!]$oq'y$oq'v$oq!Y$oq!k$oqv$oq!_$oq%i$oq!g$oq~P!:aO!Y5QO~O!]5RO!_)PX~P#/XOa$zX!_$zX%^]X'y$zX!]$zX~P!/wO%^5UOaoXnoX!QoX!_oX'xoX'yoX(xoX(yoX!]oX~Op5VO(S#nO~O%^5UO~Ob5]O%j5^O(S+nO(UTO(XUO!]'sX!^'sX~O!]0}O!^)Wa~O[5bO~O`5cO~Oa%mO'y%mO~P#/XO!]5kO#`5mO!^)TX~O!^5nO~Or5tOs!nO!S*fO!b!yO!c!vO!d!vO!|;wO#T!pO#U!pO#V!pO#W!pO#X!pO#[5sO#]!zO(T!lO(UTO(XUO(d!mO(n!sO~O!^5rO~P%:YOn5yO!_1gO%i5xO~Oh%VOn5yO!_1gO%i5xO~Ob6QO(S#nO(UTO(XUO!]'rX!^'rX~O!]1rO!^)Ua~O(UTO(XUO(d6SO~O`6WO~Oj6ZO&Z6[O~PM|O!k6]O~P%[Oa6_O~Oa6_O~P%[Ob2YO!^6dO&i2XO~P`O!g6fO~O!g6hOh(ii!](ii!^(ii!g(ii!l(iir(ii(q(ii~O!]#hi!^#hi~P#B]O#`6iO!]#hi!^#hi~O!]!ai!^!ai~P#B]Oa%mO#`6rO'y%mO~Oa%mO!g#vO#`6rO'y%mO~O!](sq!k(sqa(sq'y(sq~P!:aO!](hO!k(rq~O!S%gO!_%hO#j6yO(S%fO~O!_'^O%i6|O~On7QO!_'^O%i6|O~O#k'haP'haR'ha['haa'haj'har'ha!S'ha!l'ha!p'ha#R'ha#n'ha#o'ha#p'ha#q'ha#r'ha#s'ha#t'ha#u'ha#v'ha#x'ha#z'ha#{'ha'y'ha(`'ha(q'ha!k'ha!Y'ha'v'hav'ha!_'ha%i'ha!g'ha~P%,XO#k'jaP'jaR'ja['jaa'jaj'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja'y'ja(`'ja(q'ja!k'ja!Y'ja'v'jav'ja!_'ja%i'ja!g'ja~P%,zO#k$|iP$|iR$|i[$|ia$|ij$|ir$|i!S$|i!]$|i!l$|i!p$|i#R$|i#n$|i#o$|i#p$|i#q$|i#r$|i#s$|i#t$|i#u$|i#v$|i#x$|i#z$|i#{$|i'y$|i(`$|i(q$|i!k$|i!Y$|i'v$|i#`$|iv$|i!_$|i%i$|i!g$|i~P#/XO#k%aiP%aiR%ai[%aia%aij%air%ai!S%ai!l%ai!p%ai#R%ai#n%ai#o%ai#p%ai#q%ai#r%ai#s%ai#t%ai#u%ai#v%ai#x%ai#z%ai#{%ai'y%ai(`%ai(q%ai!k%ai!Y%ai'v%aiv%ai!_%ai%i%ai!g%ai~P%4[O#k%ciP%ciR%ci[%cia%cij%cir%ci!S%ci!l%ci!p%ci#R%ci#n%ci#o%ci#p%ci#q%ci#r%ci#s%ci#t%ci#u%ci#v%ci#x%ci#z%ci#{%ci'y%ci(`%ci(q%ci!k%ci!Y%ci'v%civ%ci!_%ci%i%ci!g%ci~P%4}O!]'Xa!k'Xa~P!:aO!].oO!k(ji~O$O#ci!]#ci!^#ci~P#B]OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O(`VO[#mij#mir#mi#R#mi#o#mi#p#mi#q#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi$O#mi(q#mi(x#mi(y#mi!]#mi!^#mi~O#n#mi~P%MXO#n<PO~P%MXOP$[OR#zOr<]O!Q#yO!S#{O!l#xO!p$[O#n<PO#o<QO#p<QO#q<QO(`VO[#mij#mi#R#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi$O#mi(q#mi(x#mi(y#mi!]#mi!^#mi~O#r#mi~P& aO#r<RO~P& aOP$[OR#zO[<_Oj<SOr<]O!Q#yO!S#{O!l#xO!p$[O#R<SO#n<PO#o<QO#p<QO#q<QO#r<RO#s<SO#t<SO#u<^O(`VO#x#mi#z#mi#{#mi$O#mi(q#mi(x#mi(y#mi!]#mi!^#mi~O#v#mi~P&#iOP$[OR#zO[<_Oj<SOr<]O!Q#yO!S#{O!l#xO!p$[O#R<SO#n<PO#o<QO#p<QO#q<QO#r<RO#s<SO#t<SO#u<^O#v<TO(`VO(y#}O#z#mi#{#mi$O#mi(q#mi(x#mi!]#mi!^#mi~O#x<VO~P&%jO#x#mi~P&%jO#v<TO~P&#iOP$[OR#zO[<_Oj<SOr<]O!Q#yO!S#{O!l#xO!p$[O#R<SO#n<PO#o<QO#p<QO#q<QO#r<RO#s<SO#t<SO#u<^O#v<TO#x<VO(`VO(x#|O(y#}O#{#mi$O#mi(q#mi!]#mi!^#mi~O#z#mi~P&'yO#z<XO~P&'yOa#|y!]#|y'y#|y'v#|y!Y#|y!k#|yv#|y!_#|y%i#|y!g#|y~P!:aO[#mij#mir#mi#R#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi$O#mi(q#mi!]#mi!^#mi~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O#n<PO#o<QO#p<QO#q<QO(`VO(x#mi(y#mi~P&*uOn=}O!Q)|O'x)}O(x$}O(y%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(`#mi~P&*uO#S$dOP(_XR(_X[(_Xj(_Xn(_Xr(_X!Q(_X!S(_X!l(_X!p(_X#R(_X#n(_X#o(_X#p(_X#q(_X#r(_X#s(_X#t(_X#u(_X#v(_X#x(_X#z(_X#{(_X$O(_X'x(_X(`(_X(q(_X(x(_X(y(_X!](_X!^(_X~O$O$Pi!]$Pi!^$Pi~P#B]O$O!ri!^!ri~P$*bOg'[a!]'[a~P!0{O!^7dO~O!]'ca!^'ca~P#B]O!Y7eO~P#/XO!g#vO(q'nO!]'da!k'da~O!]/kO!k(}i~O!]/kO!g#vO!k(}i~Og$|q!]$|q#`$|q$O$|q~P!0{O!Y'fa!]'fa~P#/XO!g7lO~O!]/sO!Y)Oi~P#/XO!]/sO!Y)Oi~O!Y7oO~Oh%VOr7tO!l%dO(q'nO~Oj7vO!g#vO~Or7yO!g#vO(q'nO~O!Q)|O'x)}O(y%POn'ia(x'ia!]'ia#`'ia~Og'ia$O'ia~P&3vO!Q)|O'x)}On'ka(x'ka(y'ka!]'ka#`'ka~Og'ka$O'ka~P&4iO!Y7{O~Og%Oq!]%Oq#`%Oq$O%Oq~P!0{Og(^q!](^q~P!0{O#`7|Og(^q!](^q~P!0{Oa$oy!]$oy'y$oy'v$oy!Y$oy!k$oyv$oy!_$oy%i$oy!g$oy~P!:aO!g6hO~O!]5RO!_)Pa~O!_'^OP$TaR$Ta[$Taj$Tar$Ta!Q$Ta!S$Ta!]$Ta!l$Ta!p$Ta#R$Ta#n$Ta#o$Ta#p$Ta#q$Ta#r$Ta#s$Ta#t$Ta#u$Ta#v$Ta#x$Ta#z$Ta#{$Ta(`$Ta(q$Ta(x$Ta(y$Ta~O%i6|O~P&7ZO%^8QOa%[i!_%[i'y%[i!]%[i~Oa#cy!]#cy'y#cy'v#cy!Y#cy!k#cyv#cy!_#cy%i#cy!g#cy~P!:aO[8SO~Ob8UO(S+nO(UTO(XUO~O!]0}O!^)Wi~O`8YO~O(d(zO!]'oX!^'oX~O!]5kO!^)Ta~O!^8cO~P%:YO(n!sO~P$${O#[8dO~O!_1gO~O!_1gO%i8fO~On8iO!_1gO%i8fO~O[8nO!]'ra!^'ra~O!]1rO!^)Ui~O!k8rO~O!k8sO~O!k8vO~O!k8vO~P%[Oa8xO~O!g8yO~O!k8zO~O!](vi!^(vi~P#B]Oa%mO#`9SO'y%mO~O!](sy!k(sya(sy'y(sy~P!:aO!](hO!k(ry~O%i9VO~P&7ZO!_'^O%i9VO~O#k$|qP$|qR$|q[$|qa$|qj$|qr$|q!S$|q!]$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q'y$|q(`$|q(q$|q!k$|q!Y$|q'v$|q#`$|qv$|q!_$|q%i$|q!g$|q~P#/XO#k'iaP'iaR'ia['iaa'iaj'iar'ia!S'ia!l'ia!p'ia#R'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#v'ia#x'ia#z'ia#{'ia'y'ia(`'ia(q'ia!k'ia!Y'ia'v'iav'ia!_'ia%i'ia!g'ia~P&3vO#k'kaP'kaR'ka['kaa'kaj'kar'ka!S'ka!l'ka!p'ka#R'ka#n'ka#o'ka#p'ka#q'ka#r'ka#s'ka#t'ka#u'ka#v'ka#x'ka#z'ka#{'ka'y'ka(`'ka(q'ka!k'ka!Y'ka'v'kav'ka!_'ka%i'ka!g'ka~P&4iO#k%OqP%OqR%Oq[%Oqa%Oqj%Oqr%Oq!S%Oq!]%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq'y%Oq(`%Oq(q%Oq!k%Oq!Y%Oq'v%Oq#`%Oqv%Oq!_%Oq%i%Oq!g%Oq~P#/XO!]'Xi!k'Xi~P!:aO$O#cq!]#cq!^#cq~P#B]O(x$}OP%aaR%aa[%aaj%aar%aa!S%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa$O%aa(`%aa(q%aa!]%aa!^%aa~On%aa!Q%aa'x%aa(y%aa~P&HnO(y%POP%caR%ca[%caj%car%ca!S%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca$O%ca(`%ca(q%ca!]%ca!^%ca~On%ca!Q%ca'x%ca(x%ca~P&JuOn=}O!Q)|O'x)}O(y%PO~P&HnOn=}O!Q)|O'x)}O(x$}O~P&JuOR0cO!Q0cO!S0dO#S$dOP}a[}aj}an}ar}a!l}a!p}a#R}a#n}a#o}a#p}a#q}a#r}a#s}a#t}a#u}a#v}a#x}a#z}a#{}a$O}a'x}a(`}a(q}a(x}a(y}a!]}a!^}a~O!Q)|O'x)}OP$saR$sa[$saj$san$sar$sa!S$sa!l$sa!p$sa#R$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#t$sa#u$sa#v$sa#x$sa#z$sa#{$sa$O$sa(`$sa(q$sa(x$sa(y$sa!]$sa!^$sa~O!Q)|O'x)}OP$uaR$ua[$uaj$uan$uar$ua!S$ua!l$ua!p$ua#R$ua#n$ua#o$ua#p$ua#q$ua#r$ua#s$ua#t$ua#u$ua#v$ua#x$ua#z$ua#{$ua$O$ua(`$ua(q$ua(x$ua(y$ua!]$ua!^$ua~On=}O!Q)|O'x)}O(x$}O(y%PO~OP%TaR%Ta[%Taj%Tar%Ta!S%Ta!l%Ta!p%Ta#R%Ta#n%Ta#o%Ta#p%Ta#q%Ta#r%Ta#s%Ta#t%Ta#u%Ta#v%Ta#x%Ta#z%Ta#{%Ta$O%Ta(`%Ta(q%Ta!]%Ta!^%Ta~P'%zO$O$mq!]$mq!^$mq~P#B]O$O$oq!]$oq!^$oq~P#B]O!^9dO~O$O9eO~P!0{O!g#vO!]'di!k'di~O!g#vO(q'nO!]'di!k'di~O!]/kO!k(}q~O!Y'fi!]'fi~P#/XO!]/sO!Y)Oq~Or9lO!g#vO(q'nO~O[9nO!Y9mO~P#/XO!Y9mO~Oj9tO!g#vO~Og(^y!](^y~P!0{O!]'ma!_'ma~P#/XOa%[q!_%[q'y%[q!]%[q~P#/XO[9yO~O!]0}O!^)Wq~O#`9}O!]'oa!^'oa~O!]5kO!^)Ti~P#B]O!S:PO~O!_1gO%i:SO~O(UTO(XUO(d:XO~O!]1rO!^)Uq~O!k:[O~O!k:]O~O!k:^O~O!k:^O~P%[O#`:aO!]#hy!^#hy~O!]#hy!^#hy~P#B]O%i:fO~P&7ZO!_'^O%i:fO~O$O#|y!]#|y!^#|y~P#B]OP$|iR$|i[$|ij$|ir$|i!S$|i!l$|i!p$|i#R$|i#n$|i#o$|i#p$|i#q$|i#r$|i#s$|i#t$|i#u$|i#v$|i#x$|i#z$|i#{$|i$O$|i(`$|i(q$|i!]$|i!^$|i~P'%zO!Q)|O'x)}O(y%POP'haR'ha['haj'han'har'ha!S'ha!l'ha!p'ha#R'ha#n'ha#o'ha#p'ha#q'ha#r'ha#s'ha#t'ha#u'ha#v'ha#x'ha#z'ha#{'ha$O'ha(`'ha(q'ha(x'ha!]'ha!^'ha~O!Q)|O'x)}OP'jaR'ja['jaj'jan'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja$O'ja(`'ja(q'ja(x'ja(y'ja!]'ja!^'ja~O(x$}OP%aiR%ai[%aij%ain%air%ai!Q%ai!S%ai!l%ai!p%ai#R%ai#n%ai#o%ai#p%ai#q%ai#r%ai#s%ai#t%ai#u%ai#v%ai#x%ai#z%ai#{%ai$O%ai'x%ai(`%ai(q%ai(y%ai!]%ai!^%ai~O(y%POP%ciR%ci[%cij%cin%cir%ci!Q%ci!S%ci!l%ci!p%ci#R%ci#n%ci#o%ci#p%ci#q%ci#r%ci#s%ci#t%ci#u%ci#v%ci#x%ci#z%ci#{%ci$O%ci'x%ci(`%ci(q%ci(x%ci!]%ci!^%ci~O$O$oy!]$oy!^$oy~P#B]O$O#cy!]#cy!^#cy~P#B]O!g#vO!]'dq!k'dq~O!]/kO!k(}y~O!Y'fq!]'fq~P#/XOr:pO!g#vO(q'nO~O[:tO!Y:sO~P#/XO!Y:sO~Og(^!R!](^!R~P!0{Oa%[y!_%[y'y%[y!]%[y~P#/XO!]0}O!^)Wy~O!]5kO!^)Tq~O(S:zO~O!_1gO%i:}O~O!k;QO~O%i;VO~P&7ZOP$|qR$|q[$|qj$|qr$|q!S$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q$O$|q(`$|q(q$|q!]$|q!^$|q~P'%zO!Q)|O'x)}O(y%POP'iaR'ia['iaj'ian'iar'ia!S'ia!l'ia!p'ia#R'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#v'ia#x'ia#z'ia#{'ia$O'ia(`'ia(q'ia(x'ia!]'ia!^'ia~O!Q)|O'x)}OP'kaR'ka['kaj'kan'kar'ka!S'ka!l'ka!p'ka#R'ka#n'ka#o'ka#p'ka#q'ka#r'ka#s'ka#t'ka#u'ka#v'ka#x'ka#z'ka#{'ka$O'ka(`'ka(q'ka(x'ka(y'ka!]'ka!^'ka~OP%OqR%Oq[%Oqj%Oqr%Oq!S%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq$O%Oq(`%Oq(q%Oq!]%Oq!^%Oq~P'%zOg%e!Z!]%e!Z#`%e!Z$O%e!Z~P!0{O!Y;ZO~P#/XOr;[O!g#vO(q'nO~O[;^O!Y;ZO~P#/XO!]'oq!^'oq~P#B]O!]#h!Z!^#h!Z~P#B]O#k%e!ZP%e!ZR%e!Z[%e!Za%e!Zj%e!Zr%e!Z!S%e!Z!]%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z'y%e!Z(`%e!Z(q%e!Z!k%e!Z!Y%e!Z'v%e!Z#`%e!Zv%e!Z!_%e!Z%i%e!Z!g%e!Z~P#/XOr;fO!g#vO(q'nO~O!Y;gO~P#/XOr;nO!g#vO(q'nO~O!Y;oO~P#/XOP%e!ZR%e!Z[%e!Zj%e!Zr%e!Z!S%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z$O%e!Z(`%e!Z(q%e!Z!]%e!Z!^%e!Z~P'%zOr;rO!g#vO(q'nO~Ov(eX~P1qO!Q%qO~P!)PO(T!lO~P!)PO!YfX!]fX#`fX~P%0kOP]XR]X[]Xj]Xr]X!Q]X!S]X!]]X!]fX!l]X!p]X#R]X#S]X#`]X#`fX#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(`]X(q]X(x]X(y]X~O!gfX!k]X!kfX(qfX~P'JsOP;vOQ;vOSfOd=rOe!iOpkOr;vOskOtkOzkO|;vO!O;vO!SWO!WkO!XkO!_XO!i;yO!lZO!o;vO!p;vO!q;vO!s;zO!u;}O!x!hO$W!kO$n=pO(S)ZO(UTO(XUO(`VO(n[O~O!]<ZO!^$qa~Oh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O<fO!S${O!_$|O!i=wO!l$xO#j<lO$W%_O$t<hO$v<jO$y%`O(S(tO(UTO(XUO(`$uO(x$}O(y%PO~Ol)bO~P( iOr!eX(q!eX~P# }Or(iX(q(iX~P#!pO!^]X!^fX~P'JsO!YfX!Y$zX!]fX!]$zX#`fX~P!/wO#k<OO~O!g#vO#k<OO~O#`<`O~Oj<SO~O#`<pO!](vX!^(vX~O#`<`O!](tX!^(tX~O#k<qO~Og<sO~P!0{O#k<yO~O#k<zO~O!g#vO#k<{O~O!g#vO#k<qO~O$O<|O~P#B]O#k<}O~O#k=OO~O#k=TO~O#k=UO~O#k=VO~O#k=WO~O$O=XO~P!0{O$O=YO~P!0{Ok#S#T#U#W#X#[#i#j#u$n$t$v$y%]%^%h%i%j%q%s%v%w%y%{~'}T#o!X'{(T#ps#n#qr!Q'|$]'|(S$_(d~",goto:"$8g)[PPPPPP)]PP)`P)qP+R/WPPPP6bPP6xPP<pPPP@dP@zP@zPPP@zPCSP@zP@zP@zPCWPC]PCzPHtPPPHxPPPPHxK{PPPLRLsPHxPHxPP! RHxPPPHxPHxP!#YHxP!&p!'u!(OP!(r!(v!(r!,TPPPPPPP!,t!'uPP!-U!.vP!2SHxHx!2X!5e!:R!:R!>QPPP!>YHxPPPPPPPPP!AiP!BvPPHx!DXPHxPHxHxHxHxHxPHx!EkP!HuP!K{P!LP!LZ!L_!L_P!HrP!Lc!LcP# iP# mHxPHx# s#$xCW@zP@zP@z@zP#&V@z@z#(i@z#+a@z#-m@z@z#.]#0q#0q#0v#1P#0q#1[PP#0qP@z#1t@z#5s@z@z6bPPP#9xPPP#:c#:cP#:cP#:y#:cPP#;PP#:vP#:v#;d#:v#<O#<U#<X)`#<[)`P#<c#<c#<cP)`P)`P)`P)`PP)`P#<i#<lP#<l)`P#<pP#<sP)`P)`P)`P)`P)`P)`)`PP#<y#=P#=[#=b#=h#=n#=t#>S#>Y#>d#>j#>t#>z#?[#?b#@S#@f#@l#@r#AQ#Ag#C[#Cj#Cq#E]#Ek#G]#Gk#Gq#Gw#G}#HX#H_#He#Ho#IR#IXPPPPPPPPPPP#I_PPPPPPP#JS#MZ#Ns#Nz$ SPPP$&nP$&w$)p$0Z$0^$0a$1`$1c$1j$1rP$1x$1{P$2i$2m$3e$4s$4x$5`PP$5e$5k$5o$5r$5v$5z$6v$7_$7v$7z$7}$8Q$8W$8Z$8_$8cR!|RoqOXst!Z#d%l&p&r&s&u,n,s2S2VY!vQ'^-`1g5qQ%svQ%{yQ&S|Q&h!VS'U!e-WQ'd!iS'j!r!yU*h$|*X*lQ+l%|Q+y&UQ,_&bQ-^']Q-h'eQ-p'kQ0U*nQ1q,`R<m;z%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%l%s&Q&i&l&p&r&s&u&y'R'`'p(R(T(Z(b(v(x(|){*f+U+Y,k,n,s-d-l-z.Q.o.v/i0V0d0l0|1j1z1{1}2P2S2V2X2x3O3d4q5y6Z6[6_6r8i8x9SS#q];w!r)]$Z$n'V)q-P-S/Q2h3{5m6i9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sU*{%[<e<fQ+q&OQ,a&eQ,h&mQ0r+dQ0w+fQ1S+rQ1y,fQ3W.bQ5V0vQ5]0}Q6Q1rQ7O3[Q8U5^R9Y7Q'QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%l%s&Q&i&l&m&p&r&s&u&y'R'V'`'p(R(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=s!S!nQ!r!v!y!z$|'U']'^'j'k'l*h*l*n*o-W-^-`-p0U0X1g5q5s%[$ti#v$b$c$d$x${%O%Q%]%^%b)w*P*R*T*W*^*d*t*u+c+f+},Q.a.z/_/h/r/s/u0Y0[0g0h0i1^1a1i3Z4U4V4a4f4w5R5U5x6|7l7v7|8Q8f9V9e9n9t:S:f:t:};V;^<^<_<a<b<c<d<g<h<i<j<k<l<t<u<v<w<y<z<}=O=P=Q=R=S=T=U=X=Y=p=x=y=|=}Q&V|Q'S!eS'Y%h-ZQ+q&OQ,a&eQ0f+OQ1S+rQ1X+xQ1x,eQ1y,fQ5]0}Q5f1ZQ6Q1rQ6T1tQ6U1wQ8U5^Q8X5cQ8q6WQ9|8YQ:Y8nR<o*XrnOXst!V!Z#d%l&g&p&r&s&u,n,s2S2VR,c&i&z^OPXYstuvwz!Z!`!g!j!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%l%s&Q&i&l&m&p&r&s&u&y'R'`'p(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=r=s[#]WZ#W#Z'V(R!b%im#h#i#l$x%d%g([(f(g(h*W*[*_+W+X+Z,j-Q.O.U.V.W.Y/h/k2[3S3T4X6h6yQ%vxQ%zyS&P|&UQ&]!TQ'a!hQ'c!iQ(o#sS+k%{%|Q+o&OQ,Y&`Q,^&bS-g'd'eQ.d(pQ0{+lQ1R+rQ1T+sQ1W+wQ1l,ZS1p,_,`Q2t-hQ5[0}Q5`1QQ5e1YQ6P1qQ8T5^Q8W5bQ9x8SR:w9y!U$zi$d%O%Q%]%^%b*P*R*^*t*u.z/r0Y0[0g0h0i4V4w7|9e=p=x=y!^%xy!i!u%z%{%|'T'c'd'e'i's*g+k+l-T-g-h-o/{0O0{2m2t2{4i4j4m7s9pQ+e%vQ,O&YQ,R&ZQ,]&bQ.c(oQ1k,YU1o,^,_,`Q3].dQ5z1lS6O1p1qQ8m6P#f=t#v$b$c$x${)w*T*W*d+c+f+},Q.a/_/h/s/u1^1a1i3Z4U4a4f5R5U5x6|7l7v8Q8f9V9n9t:S:f:t:};V;^<a<c<g<i<k<t<v<y<}=P=R=T=X=|=}o=u<^<_<b<d<h<j<l<u<w<z=O=Q=S=U=YW%Ti%V*v=pS&Y!Q&gQ&Z!RQ&[!SQ+S%cR+|&W%]%Si#v$b$c$d$x${%O%Q%]%^%b)w*P*R*T*W*^*d*t*u+c+f+},Q.a.z/_/h/r/s/u0Y0[0g0h0i1^1a1i3Z4U4V4a4f4w5R5U5x6|7l7v7|8Q8f9V9e9n9t:S:f:t:};V;^<^<_<a<b<c<d<g<h<i<j<k<l<t<u<v<w<y<z<}=O=P=Q=R=S=T=U=X=Y=p=x=y=|=}T)x$u)yV*{%[<e<fW'Y!e%h*X-ZS({#y#zQ+`%qQ+v&RS.](k(lQ1b,SQ4x0cR8^5k'QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%l%s&Q&i&l&m&p&r&s&u&y'R'V'`'p(R(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=s$i$^c#Y#e%p%r%t(Q(W(r(w)P)Q)R)S)T)U)V)W)X)Y)[)^)`)e)o+a+u-U-s-x-}.P.n.q.u.w.x.y/]0j2c2f2v2}3c3h3i3j3k3l3m3n3o3p3q3r3s3t3w3x4P5O5Y6k6q6v7V7W7a7b8`8|9Q9[9b9c:c:y;R;x=gT#TV#U'RkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%l%s&Q&i&l&m&p&r&s&u&y'R'V'`'p(R(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sQ'W!eR2i-W!W!nQ!e!r!v!y!z$|'U']'^'j'k'l*X*h*l*n*o-W-^-`-p0U0X1g5q5sR1d,UnqOXst!Z#d%l&p&r&s&u,n,s2S2VQ&w!^Q't!xS(q#u<OQ+i%yQ,W&]Q,X&_Q-e'bQ-r'mS.m(v<qS0k+U<{Q0y+jQ1f,VQ2Z,uQ2],vQ2e-RQ2r-fQ2u-jS5P0l=VQ5W0zS5Z0|=WQ6j2gQ6n2sQ6s2zQ8R5XQ8}6lQ9O6oQ9R6tR:`8z$d$]c#Y#e%r%t(Q(W(r(w)P)Q)R)S)T)U)V)W)X)Y)[)^)`)e)o+a+u-U-s-x-}.P.n.q.u.x.y/]0j2c2f2v2}3c3h3i3j3k3l3m3n3o3p3q3r3s3t3w3x4P5O5Y6k6q6v7V7W7a7b8`8|9Q9[9b9c:c:y;R;x=gS(m#p'gQ(}#zS+_%p.wS.^(l(nR3U._'QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%l%s&Q&i&l&m&p&r&s&u&y'R'V'`'p(R(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sS#q];wQ&r!XQ&s!YQ&u![Q&v!]R2R,qQ'_!hQ+b%vQ-c'aS.`(o+eQ2p-bW3Y.c.d0q0sQ6m2qW6z3V3X3]5TU9U6{6}7PU:e9W9X9ZS;T:d:gQ;b;UR;j;cU!wQ'^-`T5o1g5q!Q_OXZ`st!V!Z#d#h%d%l&g&i&p&r&s&u(h,n,s.V2S2V]!pQ!r'^-`1g5qT#q];w%^{OPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%l%s&Q&i&l&m&p&r&s&u&y'R'`'p(R(T(Z(b(v(x(|){*f+U+Y+d,k,n,s-d-l-z.Q.b.o.v/i0V0d0l0|1j1z1{1}2P2S2V2X2x3O3[3d4q5y6Z6[6_6r7Q8i8x9SS({#y#zS.](k(l!s=^$Z$n'V)q-P-S/Q2h3{5m6i9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sU$fd)],hS(n#p'gU*s%R(u3vU0e*z.i7]Q5T0rQ6{3WQ9X7OR:g9Ym!tQ!r!v!y!z'^'j'k'l-`-p1g5q5sQ'r!uS(d#g1|S-n'i'uQ/n*ZQ/{*gQ2|-qQ4]/oQ4i/}Q4j0OQ4o0WQ7h4WS7s4k4mS7w4p4rQ9g7iQ9k7oQ9p7tQ9u7yS:o9l9mS;Y:p:sS;e;Z;[S;m;f;gS;q;n;oR;t;rQ#wbQ'q!uS(c#g1|S(e#m+TQ+V%eQ+g%wQ+m%}U-m'i'r'uQ.R(dQ/m*ZQ/|*gQ0P*iQ0x+hQ1m,[S2y-n-qQ3R.ZS4[/n/oQ4e/yS4h/{0WQ4l0QQ5|1nQ6u2|Q7g4WQ7k4]U7r4i4o4rQ7u4nQ8k5}S9f7h7iQ9j7oQ9r7wQ9s7xQ:V8lQ:m9gS:n9k9mQ:v9uQ;P:WS;X:o:sS;d;Y;ZS;l;e;gS;p;m;oQ;s;qQ;u;tQ=a=[Q=l=eR=m=fV!wQ'^-`%^aOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%l%s&Q&i&l&m&p&r&s&u&y'R'`'p(R(T(Z(b(v(x(|){*f+U+Y+d,k,n,s-d-l-z.Q.b.o.v/i0V0d0l0|1j1z1{1}2P2S2V2X2x3O3[3d4q5y6Z6[6_6r7Q8i8x9SS#wz!j!r=Z$Z$n'V)q-P-S/Q2h3{5m6i9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sR=a=r%^bOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%l%s&Q&i&l&m&p&r&s&u&y'R'`'p(R(T(Z(b(v(x(|){*f+U+Y+d,k,n,s-d-l-z.Q.b.o.v/i0V0d0l0|1j1z1{1}2P2S2V2X2x3O3[3d4q5y6Z6[6_6r7Q8i8x9SQ%ej!^%wy!i!u%z%{%|'T'c'd'e'i's*g+k+l-T-g-h-o/{0O0{2m2t2{4i4j4m7s9pS%}z!jQ+h%xQ,[&bW1n,],^,_,`U5}1o1p1qS8l6O6PQ:W8m!r=[$Z$n'V)q-P-S/Q2h3{5m6i9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sQ=e=qR=f=r%QeOPXYstuvw!Z!`!g!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%l%s&Q&i&l&p&r&s&u&y'R'`'p(T(Z(b(v(x(|){*f+U+Y+d,k,n,s-d-l-z.Q.b.o.v/i0V0d0l0|1j1z1{1}2P2S2V2X2x3O3[3d4q5y6Z6[6_6r7Q8i8x9SY#bWZ#W#Z(R!b%im#h#i#l$x%d%g([(f(g(h*W*[*_+W+X+Z,j-Q.O.U.V.W.Y/h/k2[3S3T4X6h6yQ,i&m!p=]$Z$n)q-P-S/Q2h3{5m6i9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sR=`'VU'Z!e%h*XR2k-Z%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%l%s&Q&i&l&p&r&s&u&y'R'`'p(R(T(Z(b(v(x(|){*f+U+Y,k,n,s-d-l-z.Q.o.v/i0V0d0l0|1j1z1{1}2P2S2V2X2x3O3d4q5y6Z6[6_6r8i8x9S!r)]$Z$n'V)q-P-S/Q2h3{5m6i9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sQ,h&mQ0r+dQ3W.bQ7O3[R9Y7Q!b$Tc#Y%p(Q(W(r(w)X)Y)^)e+u-s-x-}.P.n.q/]0j2v2}3c3s5O5Y6q6v7V9Q:c;x!P<U)[)o-U.w2c2f3h3q3r3w4P6k7W7a7b8`8|9[9b9c:y;R=g!f$Vc#Y%p(Q(W(r(w)U)V)X)Y)^)e+u-s-x-}.P.n.q/]0j2v2}3c3s5O5Y6q6v7V9Q:c;x!T<W)[)o-U.w2c2f3h3n3o3q3r3w4P6k7W7a7b8`8|9[9b9c:y;R=g!^$Zc#Y%p(Q(W(r(w)^)e+u-s-x-}.P.n.q/]0j2v2}3c3s5O5Y6q6v7V9Q:c;xQ4V/fz=s)[)o-U.w2c2f3h3w4P6k7W7a7b8`8|9[9b9c:y;R=gQ=x=zR=y={'QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%l%s&Q&i&l&m&p&r&s&u&y'R'V'`'p(R(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sS$oh$pR3|/P'XgOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%l%s&Q&i&l&m&p&r&s&u&y'R'V'`'p(R(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/P/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sT$kf$qQ$ifS)h$l)lR)t$qT$jf$qT)j$l)l'XhOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%l%s&Q&i&l&m&p&r&s&u&y'R'V'`'p(R(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/P/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sT$oh$pQ$rhR)s$p%^jOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%l%s&Q&i&l&m&p&r&s&u&y'R'`'p(R(T(Z(b(v(x(|){*f+U+Y+d,k,n,s-d-l-z.Q.b.o.v/i0V0d0l0|1j1z1{1}2P2S2V2X2x3O3[3d4q5y6Z6[6_6r7Q8i8x9S!s=q$Z$n'V)q-P-S/Q2h3{5m6i9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=s#glOPXZst!Z!`!o#S#d#o#{$n%l&i&l&m&p&r&s&u&y'R'`(|)q*f+Y+d,k,n,s-d.b/Q/i0V0d1j1z1{1}2P2S2V2X3[3{4q5y6Z6[6_7Q8i8x!U%Ri$d%O%Q%]%^%b*P*R*^*t*u.z/r0Y0[0g0h0i4V4w7|9e=p=x=y#f(u#v$b$c$x${)w*T*W*d+c+f+},Q.a/_/h/s/u1^1a1i3Z4U4a4f5R5U5x6|7l7v8Q8f9V9n9t:S:f:t:};V;^<a<c<g<i<k<t<v<y<}=P=R=T=X=|=}Q+P%`Q/^)|o3v<^<_<b<d<h<j<l<u<w<z=O=Q=S=U=Y!U$yi$d%O%Q%]%^%b*P*R*^*t*u.z/r0Y0[0g0h0i4V4w7|9e=p=x=yQ*`$zU*i$|*X*lQ+Q%aQ0Q*j#f=c#v$b$c$x${)w*T*W*d+c+f+},Q.a/_/h/s/u1^1a1i3Z4U4a4f5R5U5x6|7l7v8Q8f9V9n9t:S:f:t:};V;^<a<c<g<i<k<t<v<y<}=P=R=T=X=|=}n=d<^<_<b<d<h<j<l<u<w<z=O=Q=S=U=YQ=h=tQ=i=uQ=j=vR=k=w!U%Ri$d%O%Q%]%^%b*P*R*^*t*u.z/r0Y0[0g0h0i4V4w7|9e=p=x=y#f(u#v$b$c$x${)w*T*W*d+c+f+},Q.a/_/h/s/u1^1a1i3Z4U4a4f5R5U5x6|7l7v8Q8f9V9n9t:S:f:t:};V;^<a<c<g<i<k<t<v<y<}=P=R=T=X=|=}o3v<^<_<b<d<h<j<l<u<w<z=O=Q=S=U=YnoOXst!Z#d%l&p&r&s&u,n,s2S2VS*c${*WQ,|&|Q,}'OR4`/s%[%Si#v$b$c$d$x${%O%Q%]%^%b)w*P*R*T*W*^*d*t*u+c+f+},Q.a.z/_/h/r/s/u0Y0[0g0h0i1^1a1i3Z4U4V4a4f4w5R5U5x6|7l7v7|8Q8f9V9e9n9t:S:f:t:};V;^<^<_<a<b<c<d<g<h<i<j<k<l<t<u<v<w<y<z<}=O=P=Q=R=S=T=U=X=Y=p=x=y=|=}Q,P&ZQ1`,RQ5i1_R8]5jV*k$|*X*lU*k$|*X*lT5p1g5qS/y*f/iQ4n0VT7x4q:PQ+g%wQ0P*iQ0x+hQ1m,[Q5|1nQ8k5}Q:V8lR;P:W!U%Oi$d%O%Q%]%^%b*P*R*^*t*u.z/r0Y0[0g0h0i4V4w7|9e=p=x=yx*P$v)c*Q*r+R/q0^0_3y4^4{4|4}7f7z9v:l=b=n=oS0Y*q0Z#f<a#v$b$c$x${)w*T*W*d+c+f+},Q.a/_/h/s/u1^1a1i3Z4U4a4f5R5U5x6|7l7v8Q8f9V9n9t:S:f:t:};V;^<a<c<g<i<k<t<v<y<}=P=R=T=X=|=}n<b<^<_<b<d<h<j<l<u<w<z=O=Q=S=U=Y!d<t(s)a*Y*b.e.h.l/Y/f/v0p1]3`4S4_4c5h7R7U7m7p7}8P9i9q9w:q:u;W;];h=z={`<u3u7X7[7`9]:h:k;kS=P.g3aT=Q7Z9`!U%Qi$d%O%Q%]%^%b*P*R*^*t*u.z/r0Y0[0g0h0i4V4w7|9e=p=x=y|*R$v)c*S*q+R/b/q0^0_3y4^4s4{4|4}7f7z9v:l=b=n=oS0[*r0]#f<c#v$b$c$x${)w*T*W*d+c+f+},Q.a/_/h/s/u1^1a1i3Z4U4a4f5R5U5x6|7l7v8Q8f9V9n9t:S:f:t:};V;^<a<c<g<i<k<t<v<y<}=P=R=T=X=|=}n<d<^<_<b<d<h<j<l<u<w<z=O=Q=S=U=Y!h<v(s)a*Y*b.f.g.l/Y/f/v0p1]3^3`4S4_4c5h7R7S7U7m7p7}8P9i9q9w:q:u;W;];h=z={d<w3u7Y7Z7`9]9^:h:i:k;kS=R.h3bT=S7[9arnOXst!V!Z#d%l&g&p&r&s&u,n,s2S2VQ&d!UR,k&mrnOXst!V!Z#d%l&g&p&r&s&u,n,s2S2VR&d!UQ,T&[R1[+|snOXst!V!Z#d%l&g&p&r&s&u,n,s2S2VQ1h,YS5w1k1lU8e5u5v5zS:R8g8hS:{:Q:TQ;_:|R;i;`Q&k!VR,d&gR6T1tR:Y8nS&P|&UR1T+sQ&p!WR,n&qR,t&vT2T,s2VR,x&wQ,w&wR2^,xQ'w!{R-t'wSsOtQ#dXT%os#dQ#OTR'y#OQ#RUR'{#RQ)y$uR/Z)yQ#UVR(O#UQ#XWU(U#X(V-{Q(V#YR-{(WQ-X'WR2j-XQ.p(wS3e.p3fR3f.qQ-`'^R2n-`Y!rQ'^-`1g5qR'h!rQ.{)cR3z.{U#_W%g*WU(]#_(^-|Q(^#`R-|(XQ-['ZR2l-[t`OXst!V!Z#d%l&g&i&p&r&s&u,n,s2S2VS#hZ%dU#r`#h.VR.V(hQ(i#jQ.S(eW.[(i.S3P6wQ3P.TR6w3QQ)l$lR/R)lQ$phR)r$pQ$`cU)_$`-w<[Q-w;xR<[)oQ/l*ZW4Y/l4Z7j9hU4Z/m/n/oS7j4[4]R9h7k$e*O$v(s)a)c*Y*b*q*r*|*}+R.g.h.j.k.l/Y/b/d/f/q/v0^0_0p1]3^3_3`3u3y4S4^4_4c4s4u4{4|4}5h7R7S7T7U7Z7[7^7_7`7f7m7p7z7}8P9]9^9_9i9q9v9w:h:i:j:k:l:q:u;W;];h;k=b=n=o=z={Q/t*bU4b/t4d7nQ4d/vR7n4cS*l$|*XR0S*lx*Q$v)c*q*r+R/q0^0_3y4^4{4|4}7f7z9v:l=b=n=o!d.e(s)a*Y*b.g.h.l/Y/f/v0p1]3`4S4_4c5h7R7U7m7p7}8P9i9q9w:q:u;W;];h=z={U/c*Q.e7Xa7X3u7Z7[7`9]:h:k;kQ0Z*qQ3a.gU4t0Z3a9`R9`7Z|*S$v)c*q*r+R/b/q0^0_3y4^4s4{4|4}7f7z9v:l=b=n=o!h.f(s)a*Y*b.g.h.l/Y/f/v0p1]3^3`4S4_4c5h7R7S7U7m7p7}8P9i9q9w:q:u;W;];h=z={U/e*S.f7Ye7Y3u7Z7[7`9]9^:h:i:k;kQ0]*rQ3b.hU4v0]3b9aR9a7[Q*w%UR0a*wQ5S0pR8O5SQ+[%jR0o+[Q5l1bS8_5l:OR:O8`Q,V&]R1e,VQ5q1gR8b5qQ1s,aS6R1s8oR8o6TQ1O+oW5_1O5a8V9zQ5a1RQ8V5`R9z8WQ+t&PR1U+tQ2V,sR6c2VYrOXst#dQ&t!ZQ+^%lQ,m&pQ,o&rQ,p&sQ,r&uQ2Q,nS2T,s2VR6b2SQ%npQ&x!_Q&{!aQ&}!bQ'P!cQ'o!uQ+]%kQ+i%yQ+{&VQ,c&kQ,z&zW-k'i'q'r'uQ-r'mQ0R*kQ0y+jS1v,d,gQ2_,yQ2`,|Q2a,}Q2u-jW2w-m-n-q-sQ5W0zQ5d1XQ5g1]Q5{1mQ6V1xQ6a2RU6p2v2y2|Q6s2zQ8R5XQ8Z5fQ8[5hQ8a5pQ8j5|Q8p6US9P6q6uQ9R6tQ9{8XQ:U8kQ:Z8qQ:b9QQ:x9|Q;O:VQ;S:cR;a;PQ%yyQ'b!iQ'm!uU+j%z%{%|Q-R'TU-f'c'd'eS-j'i'sQ/z*gS0z+k+lQ2g-TS2s-g-hQ2z-oS4g/{0OQ5X0{Q6l2mQ6o2tQ6t2{U7q4i4j4mQ9o7sR:r9pS$wi=pR*x%VU%Ui%V=pR0`*vQ$viS(s#v+fS)a$b$cQ)c$dQ*Y$xS*b${*WQ*q%OQ*r%QQ*|%]Q*}%^Q+R%bQ.g<aQ.h<cQ.j<gQ.k<iQ.l<kQ/Y)wQ/b*PQ/d*RQ/f*TQ/q*^S/v*d/hQ0^*tQ0_*ul0p+c,Q.a1a1i3Z5x6|8f9V:S:f:};VQ1]+}Q3^<tQ3_<vQ3`<yS3u<^<_Q3y.zS4S/_4UQ4^/rQ4_/sQ4c/uQ4s0YQ4u0[Q4{0gQ4|0hQ4}0iQ5h1^Q7R<}Q7S=PQ7T=RQ7U=TQ7Z<bQ7[<dQ7^<hQ7_<jQ7`<lQ7f4VQ7m4aQ7p4fQ7z4wQ7}5RQ8P5UQ9]<zQ9^<uQ9_<wQ9i7lQ9q7vQ9v7|Q9w8QQ:h=OQ:i=QQ:j=SQ:k=UQ:l9eQ:q9nQ:u9tQ;W=XQ;]:tQ;h;^Q;k=YQ=b=pQ=n=xQ=o=yQ=z=|R={=}Q*z%[Q.i<eR7]<fnpOXst!Z#d%l&p&r&s&u,n,s2S2VQ!fPS#fZ#oQ&z!`W'f!o*f0V4qQ'}#SQ)O#{Q)p$nS,g&i&lQ,l&mQ,y&yS-O'R/iQ-b'`Q.s(|Q/V)qQ0m+YQ0s+dQ2O,kQ2q-dQ3X.bQ4O/QQ4y0dQ5v1jQ6X1zQ6Y1{Q6^1}Q6`2PQ6e2XQ7P3[Q7c3{Q8h5yQ8t6ZQ8u6[Q8w6_Q9Z7QQ:T8iR:_8x#[cOPXZst!Z!`!o#d#o#{%l&i&l&m&p&r&s&u&y'R'`(|*f+Y+d,k,n,s-d.b/i0V0d1j1z1{1}2P2S2V2X3[4q5y6Z6[6_7Q8i8xQ#YWQ#eYQ%puQ%rvS%tw!gS(Q#W(TQ(W#ZQ(r#uQ(w#xQ)P$OQ)Q$PQ)R$QQ)S$RQ)T$SQ)U$TQ)V$UQ)W$VQ)X$WQ)Y$XQ)[$ZQ)^$_Q)`$aQ)e$eW)o$n)q/Q3{Q+a%sQ+u&QS-U'V2hQ-s'pS-x(R-zQ-}(ZQ.P(bQ.n(vQ.q(xQ.u;vQ.w;yQ.x;zQ.y;}Q/]){Q0j+UQ2c-PQ2f-SQ2v-lQ2}.QQ3c.oQ3h<OQ3i<PQ3j<QQ3k<RQ3l<SQ3m<TQ3n<UQ3o<VQ3p<WQ3q<XQ3r<YQ3s.vQ3t<]Q3w<`Q3x<mQ4P<ZQ5O0lQ5Y0|Q6k<pQ6q2xQ6v3OQ7V3dQ7W<qQ7a<sQ7b<{Q8`5mQ8|6iQ9Q6rQ9[<|Q9b=VQ9c=WQ:c9SQ:y9}Q;R:aQ;x#SR=g=sR#[WR'X!el!tQ!r!v!y!z'^'j'k'l-`-p1g5q5sS'T!e-WU*g$|*X*lS-T'U']S0O*h*nQ0W*oQ2m-^Q4m0UR4r0XR(y#xQ!fQT-_'^-`]!qQ!r'^-`1g5qQ#p]R'g;wR)d$dY!uQ'^-`1g5qQ'i!rS's!v!yS'u!z5sS-o'j'kQ-q'lR2{-pT#kZ%dS#jZ%dS%jm,jU(e#h#i#lS.T(f(gQ.X(hQ0n+ZQ3Q.UU3R.V.W.YS6x3S3TR9T6yd#^W#W#Z%g(R([*W+W.O/hr#gZm#h#i#l%d(f(g(h+Z.U.V.W.Y3S3T6yS*Z$x*_Q/o*[Q1|,jQ2d-QQ4W/kQ6g2[Q7i4XQ8{6hT=_'V+XV#aW%g*WU#`W%g*WS(S#W([U(X#Z+W/hS-V'V+XT-y(R.OV'[!e%h*XQ$lfR)v$qT)k$l)lR3}/PT*]$x*_T*e${*WQ0q+cQ1_,QQ3V.aQ5j1aQ5u1iQ6}3ZQ8g5xQ9W6|Q:Q8fQ:d9VQ:|:SQ;U:fQ;`:}R;c;VnqOXst!Z#d%l&p&r&s&u,n,s2S2VQ&j!VR,c>mOXst!U!V!Z#d%l&g&p&r&s&u,n,s2S2VR,j&mT%km,jR1c,SR,b&eQ&T|R+z&UR+p&OT&n!W&qT&o!W&qT2U,s2V",nodeNames:"\u26A0 ArithOp ArithOp ?. JSXStartTag LineComment BlockComment Script Hashbang ExportDeclaration export Star as VariableName String Escape from ; default FunctionDeclaration async function VariableDefinition > < TypeParamList in out const TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewTarget new NewExpression ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression TypeArgList CompareOp < declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression InstantiationExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast < ArrowFunction TypeParamList SequenceExpression InstantiationExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate asserts is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:379,context:_z,nodeProps:[["isolate",-8,5,6,14,37,39,51,53,55,""],["group",-26,9,17,19,68,207,211,215,216,218,221,224,234,236,242,244,246,248,251,257,263,265,267,269,271,273,274,"Statement",-34,13,14,32,35,36,42,51,54,55,57,62,70,72,76,80,82,84,85,110,111,120,121,136,139,141,142,143,144,145,147,148,167,169,171,"Expression",-23,31,33,37,41,43,45,173,175,177,178,180,181,182,184,185,186,188,189,190,201,203,205,206,"Type",-3,88,103,109,"ClassItem"],["openedBy",23,"<",38,"InterpolationStart",56,"[",60,"{",73,"(",160,"JSXStartCloseTag"],["closedBy",-2,24,168,">",40,"InterpolationEnd",50,"]",61,"}",74,")",165,"JSXEndTag"]],propSources:[jz],skippedNodes:[0,5,6,277],repeatNodeCount:37,tokenData:"$Fq07[R!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#:O!R![#<_![!]#I_!]!^#Jk!^!_#Ku!_!`$![!`!a$$v!a!b$*T!b!c$,r!c!}Er!}#O$-|#O#P$/W#P#Q$4o#Q#R$5y#R#SEr#S#T$7W#T#o$8b#o#p$<r#p#q$=h#q#r$>x#r#s$@U#s$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$I|Er$I|$I}$Dk$I}$JO$Dk$JO$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr(n%d_$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$i&j(Y!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(Y!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$i&j(VpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU(VpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX(Vp(Y!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z07[+rq$i&j(Vp(Y!b'{0/lOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z07[.ST(W#S$i&j'|0/lO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c07[.n_$i&j(Vp(Y!b'|0/lOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)3p/x`$i&j!p),Q(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW1V`#v(Ch$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW2d_#v(Ch$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At3l_(U':f$i&j(Y!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k(^4r_$i&j(Y!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k&z5vX$i&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q&z6jT$d`$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c`6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y`7bO$d``7eP;=`<%l6y&z7kP;=`<%l5q(^7w]$d`$i&j(Y!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!r8uZ(Y!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p!r9oU$d`(Y!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!r:UP;=`<%l8p(^:[P;=`<%l4k%9[:hh$i&j(Vp(Y!bOY%ZYZ&cZq%Zqr<Srs&}st%ZtuCruw%Zwx(rx!^%Z!^!_*g!_!c%Z!c!}Cr!}#O%Z#O#P&c#P#R%Z#R#SCr#S#T%Z#T#oCr#o#p*g#p$g%Z$g;'SCr;'S;=`El<%lOCr(r<__WS$i&j(Vp(Y!bOY<SYZ&cZr<Srs=^sw<Swx@nx!^<S!^!_Bm!_#O<S#O#P>`#P#o<S#o#pBm#p;'S<S;'S;=`Cl<%lO<S(Q=g]WS$i&j(Y!bOY=^YZ&cZw=^wx>`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXWS$i&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSWSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWWS(Y!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]WS$i&j(VpOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWWS(VpOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYWS(Vp(Y!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l<S%9[C}i$i&j(n%1l(Vp(Y!bOY%ZYZ&cZr%Zrs&}st%ZtuCruw%Zwx(rx!Q%Z!Q![Cr![!^%Z!^!_*g!_!c%Z!c!}Cr!}#O%Z#O#P&c#P#R%Z#R#SCr#S#T%Z#T#oCr#o#p*g#p$g%Z$g;'SCr;'S;=`El<%lOCr%9[EoP;=`<%lCr07[FRk$i&j(Vp(Y!b$]#t(S,2j(d$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr+dHRk$i&j(Vp(Y!b$]#tOY%ZYZ&cZr%Zrs&}st%ZtuGvuw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Gv![!^%Z!^!_*g!_!c%Z!c!}Gv!}#O%Z#O#P&c#P#R%Z#R#SGv#S#T%Z#T#oGv#o#p*g#p$g%Z$g;'SGv;'S;=`Iv<%lOGv+dIyP;=`<%lGv07[JPP;=`<%lEr(KWJ_`$i&j(Vp(Y!b#p(ChOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KWKl_$i&j$Q(Ch(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z,#xLva(y+JY$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sv%ZvwM{wx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KWNW`$i&j#z(Ch(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At! c_(X';W$i&j(VpOY!!bYZ!#hZr!!brs!#hsw!!bwx!$xx!^!!b!^!_!%z!_#O!!b#O#P!#h#P#o!!b#o#p!%z#p;'S!!b;'S;=`!'c<%lO!!b'l!!i_$i&j(VpOY!!bYZ!#hZr!!brs!#hsw!!bwx!$xx!^!!b!^!_!%z!_#O!!b#O#P!#h#P#o!!b#o#p!%z#p;'S!!b;'S;=`!'c<%lO!!b&z!#mX$i&jOw!#hwx6cx!^!#h!^!_!$Y!_#o!#h#o#p!$Y#p;'S!#h;'S;=`!$r<%lO!#h`!$]TOw!$Ywx7]x;'S!$Y;'S;=`!$l<%lO!$Y`!$oP;=`<%l!$Y&z!$uP;=`<%l!#h'l!%R]$d`$i&j(VpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(r!Q!&PZ(VpOY!%zYZ!$YZr!%zrs!$Ysw!%zwx!&rx#O!%z#O#P!$Y#P;'S!%z;'S;=`!']<%lO!%z!Q!&yU$d`(VpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)r!Q!'`P;=`<%l!%z'l!'fP;=`<%l!!b/5|!'t_!l/.^$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#&U!)O_!k!Lf$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z-!n!*[b$i&j(Vp(Y!b(T%&f#q(ChOY%ZYZ&cZr%Zrs&}sw%Zwx(rxz%Zz{!+d{!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW!+o`$i&j(Vp(Y!b#n(ChOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z+;x!,|`$i&j(Vp(Y!br+4YOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z,$U!.Z_!]+Jf$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[!/ec$i&j(Vp(Y!b!Q.2^OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!0p!P!Q%Z!Q![!3Y![!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#%|!0ya$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!2O!P!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#%|!2Z_![!L^$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!3eg$i&j(Vp(Y!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!3Y![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S!3Y#S#X%Z#X#Y!4|#Y#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!5Vg$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx{%Z{|!6n|}%Z}!O!6n!O!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!6wc$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!8_c$i&j(Vp(Y!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[!9uf$i&j(Vp(Y!b#o(ChOY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcxz!;Zz{#-}{!P!;Z!P!Q#/d!Q!^!;Z!^!_#(i!_!`#7S!`!a#8i!a!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z?O!;fb$i&j(Vp(Y!b!X7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z>^!<w`$i&j(Y!b!X7`OY!<nYZ&cZw!<nwx!=yx!P!<n!P!Q!Eq!Q!^!<n!^!_!Gr!_!}!<n!}#O!KS#O#P!Dy#P#o!<n#o#p!Gr#p;'S!<n;'S;=`!L]<%lO!<n<z!>Q^$i&j!X7`OY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@c!_!}!=y!}#O!CW#O#P!Dy#P#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y<z!?Td$i&j!X7`O!^&c!_#W&c#W#X!>|#X#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#k!>|#k#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&c7`!@hX!X7`OY!@cZ!P!@c!P!Q!AT!Q!}!@c!}#O!Ar#O#P!Bq#P;'S!@c;'S;=`!CQ<%lO!@c7`!AYW!X7`#W#X!AT#Z#[!AT#]#^!AT#a#b!AT#g#h!AT#i#j!AT#j#k!AT#m#n!AT7`!AuVOY!ArZ#O!Ar#O#P!B[#P#Q!@c#Q;'S!Ar;'S;=`!Bk<%lO!Ar7`!B_SOY!ArZ;'S!Ar;'S;=`!Bk<%lO!Ar7`!BnP;=`<%l!Ar7`!BtSOY!@cZ;'S!@c;'S;=`!CQ<%lO!@c7`!CTP;=`<%l!@c<z!C][$i&jOY!CWYZ&cZ!^!CW!^!_!Ar!_#O!CW#O#P!DR#P#Q!=y#Q#o!CW#o#p!Ar#p;'S!CW;'S;=`!Ds<%lO!CW<z!DWX$i&jOY!CWYZ&cZ!^!CW!^!_!Ar!_#o!CW#o#p!Ar#p;'S!CW;'S;=`!Ds<%lO!CW<z!DvP;=`<%l!CW<z!EOX$i&jOY!=yYZ&cZ!^!=y!^!_!@c!_#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y<z!EnP;=`<%l!=y>^!Ezl$i&j(Y!b!X7`OY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#W&}#W#X!Eq#X#Z&}#Z#[!Eq#[#]&}#]#^!Eq#^#a&}#a#b!Eq#b#g&}#g#h!Eq#h#i&}#i#j!Eq#j#k!Eq#k#m&}#m#n!Eq#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}8r!GyZ(Y!b!X7`OY!GrZw!Grwx!@cx!P!Gr!P!Q!Hl!Q!}!Gr!}#O!JU#O#P!Bq#P;'S!Gr;'S;=`!J|<%lO!Gr8r!Hse(Y!b!X7`OY'}Zw'}x#O'}#P#W'}#W#X!Hl#X#Z'}#Z#[!Hl#[#]'}#]#^!Hl#^#a'}#a#b!Hl#b#g'}#g#h!Hl#h#i'}#i#j!Hl#j#k!Hl#k#m'}#m#n!Hl#n;'S'};'S;=`(f<%lO'}8r!JZX(Y!bOY!JUZw!JUwx!Arx#O!JU#O#P!B[#P#Q!Gr#Q;'S!JU;'S;=`!Jv<%lO!JU8r!JyP;=`<%l!JU8r!KPP;=`<%l!Gr>^!KZ^$i&j(Y!bOY!KSYZ&cZw!KSwx!CWx!^!KS!^!_!JU!_#O!KS#O#P!DR#P#Q!<n#Q#o!KS#o#p!JU#p;'S!KS;'S;=`!LV<%lO!KS>^!LYP;=`<%l!KS>^!L`P;=`<%l!<n=l!Ll`$i&j(Vp!X7`OY!LcYZ&cZr!Lcrs!=ys!P!Lc!P!Q!Mn!Q!^!Lc!^!_# o!_!}!Lc!}#O#%P#O#P!Dy#P#o!Lc#o#p# o#p;'S!Lc;'S;=`#&Y<%lO!Lc=l!Mwl$i&j(Vp!X7`OY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#W(r#W#X!Mn#X#Z(r#Z#[!Mn#[#](r#]#^!Mn#^#a(r#a#b!Mn#b#g(r#g#h!Mn#h#i(r#i#j!Mn#j#k!Mn#k#m(r#m#n!Mn#n#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(r8Q# vZ(Vp!X7`OY# oZr# ors!@cs!P# o!P!Q#!i!Q!}# o!}#O#$R#O#P!Bq#P;'S# o;'S;=`#$y<%lO# o8Q#!pe(Vp!X7`OY)rZr)rs#O)r#P#W)r#W#X#!i#X#Z)r#Z#[#!i#[#])r#]#^#!i#^#a)r#a#b#!i#b#g)r#g#h#!i#h#i)r#i#j#!i#j#k#!i#k#m)r#m#n#!i#n;'S)r;'S;=`*Z<%lO)r8Q#$WX(VpOY#$RZr#$Rrs!Ars#O#$R#O#P!B[#P#Q# o#Q;'S#$R;'S;=`#$s<%lO#$R8Q#$vP;=`<%l#$R8Q#$|P;=`<%l# o=l#%W^$i&j(VpOY#%PYZ&cZr#%Prs!CWs!^#%P!^!_#$R!_#O#%P#O#P!DR#P#Q!Lc#Q#o#%P#o#p#$R#p;'S#%P;'S;=`#&S<%lO#%P=l#&VP;=`<%l#%P=l#&]P;=`<%l!Lc?O#&kn$i&j(Vp(Y!b!X7`OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#W%Z#W#X#&`#X#Z%Z#Z#[#&`#[#]%Z#]#^#&`#^#a%Z#a#b#&`#b#g%Z#g#h#&`#h#i%Z#i#j#&`#j#k#&`#k#m%Z#m#n#&`#n#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z9d#(r](Vp(Y!b!X7`OY#(iZr#(irs!Grsw#(iwx# ox!P#(i!P!Q#)k!Q!}#(i!}#O#+`#O#P!Bq#P;'S#(i;'S;=`#,`<%lO#(i9d#)th(Vp(Y!b!X7`OY*gZr*grs'}sw*gwx)rx#O*g#P#W*g#W#X#)k#X#Z*g#Z#[#)k#[#]*g#]#^#)k#^#a*g#a#b#)k#b#g*g#g#h#)k#h#i*g#i#j#)k#j#k#)k#k#m*g#m#n#)k#n;'S*g;'S;=`+Z<%lO*g9d#+gZ(Vp(Y!bOY#+`Zr#+`rs!JUsw#+`wx#$Rx#O#+`#O#P!B[#P#Q#(i#Q;'S#+`;'S;=`#,Y<%lO#+`9d#,]P;=`<%l#+`9d#,cP;=`<%l#(i?O#,o`$i&j(Vp(Y!bOY#,fYZ&cZr#,frs!KSsw#,fwx#%Px!^#,f!^!_#+`!_#O#,f#O#P!DR#P#Q!;Z#Q#o#,f#o#p#+`#p;'S#,f;'S;=`#-q<%lO#,f?O#-tP;=`<%l#,f?O#-zP;=`<%l!;Z07[#.[b$i&j(Vp(Y!b'}0/l!X7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z07[#/o_$i&j(Vp(Y!bT0/lOY#/dYZ&cZr#/drs#0nsw#/dwx#4Ox!^#/d!^!_#5}!_#O#/d#O#P#1p#P#o#/d#o#p#5}#p;'S#/d;'S;=`#6|<%lO#/d06j#0w]$i&j(Y!bT0/lOY#0nYZ&cZw#0nwx#1px!^#0n!^!_#3R!_#O#0n#O#P#1p#P#o#0n#o#p#3R#p;'S#0n;'S;=`#3x<%lO#0n05W#1wX$i&jT0/lOY#1pYZ&cZ!^#1p!^!_#2d!_#o#1p#o#p#2d#p;'S#1p;'S;=`#2{<%lO#1p0/l#2iST0/lOY#2dZ;'S#2d;'S;=`#2u<%lO#2d0/l#2xP;=`<%l#2d05W#3OP;=`<%l#1p01O#3YW(Y!bT0/lOY#3RZw#3Rwx#2dx#O#3R#O#P#2d#P;'S#3R;'S;=`#3r<%lO#3R01O#3uP;=`<%l#3R06j#3{P;=`<%l#0n05x#4X]$i&j(VpT0/lOY#4OYZ&cZr#4Ors#1ps!^#4O!^!_#5Q!_#O#4O#O#P#1p#P#o#4O#o#p#5Q#p;'S#4O;'S;=`#5w<%lO#4O00^#5XW(VpT0/lOY#5QZr#5Qrs#2ds#O#5Q#O#P#2d#P;'S#5Q;'S;=`#5q<%lO#5Q00^#5tP;=`<%l#5Q05x#5zP;=`<%l#4O01p#6WY(Vp(Y!bT0/lOY#5}Zr#5}rs#3Rsw#5}wx#5Qx#O#5}#O#P#2d#P;'S#5};'S;=`#6v<%lO#5}01p#6yP;=`<%l#5}07[#7PP;=`<%l#/d)3h#7ab$i&j$Q(Ch(Vp(Y!b!X7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;ZAt#8vb$Z#t$i&j(Vp(Y!b!X7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z'Ad#:Zp$i&j(Vp(Y!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!3Y!P!Q%Z!Q![#<_![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S#<_#S#U%Z#U#V#?i#V#X%Z#X#Y!4|#Y#b%Z#b#c#>_#c#d#Bq#d#l%Z#l#m#Es#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#<jk$i&j(Vp(Y!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!3Y!P!Q%Z!Q![#<_![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S#<_#S#X%Z#X#Y!4|#Y#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#>j_$i&j(Vp(Y!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#?rd$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#A]f$i&j(Vp(Y!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Bzc$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Dbe$i&j(Vp(Y!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#E|g$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Gpi$i&j(Vp(Y!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x#Il_!g$b$i&j$O)Lv(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#Jv_al$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f#LS^h#)`#R-<U(Vp(Y!b$n7`OY*gZr*grs'}sw*gwx)rx!P*g!P!Q#MO!Q!^*g!^!_#Mt!_!`$ f!`#O*g#P;'S*g;'S;=`+Z<%lO*g(n#MXX$k&j(Vp(Y!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g(El#M}Z#r(Ch(Vp(Y!bOY*gZr*grs'}sw*gwx)rx!_*g!_!`#Np!`#O*g#P;'S*g;'S;=`+Z<%lO*g(El#NyX$Q(Ch(Vp(Y!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g(El$ oX#s(Ch(Vp(Y!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g*)x$!ga#`*!Y$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`!a$#l!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(K[$#w_#k(Cl$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x$%Vag!*r#s(Ch$f#|$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`$&[!`!a$'f!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$&g_#s(Ch$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$'qa#r(Ch$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`!a$(v!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$)R`#r(Ch$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(Kd$*`a(q(Ct$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!a%Z!a!b$+e!b#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$+p`$i&j#{(Ch(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#`$,}_!|$Ip$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f$.X_!S0,v$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(n$/]Z$i&jO!^$0O!^!_$0f!_#i$0O#i#j$0k#j#l$0O#l#m$2^#m#o$0O#o#p$0f#p;'S$0O;'S;=`$4i<%lO$0O(n$0VT_#S$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c#S$0kO_#S(n$0p[$i&jO!Q&c!Q![$1f![!^&c!_!c&c!c!i$1f!i#T&c#T#Z$1f#Z#o&c#o#p$3|#p;'S&c;'S;=`&w<%lO&c(n$1kZ$i&jO!Q&c!Q![$2^![!^&c!_!c&c!c!i$2^!i#T&c#T#Z$2^#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$2cZ$i&jO!Q&c!Q![$3U![!^&c!_!c&c!c!i$3U!i#T&c#T#Z$3U#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$3ZZ$i&jO!Q&c!Q![$0O![!^&c!_!c&c!c!i$0O!i#T&c#T#Z$0O#Z#o&c#p;'S&c;'S;=`&w<%lO&c#S$4PR!Q![$4Y!c!i$4Y#T#Z$4Y#S$4]S!Q![$4Y!c!i$4Y#T#Z$4Y#q#r$0f(n$4lP;=`<%l$0O#1[$4z_!Y#)l$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$6U`#x(Ch$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z+;p$7c_$i&j(Vp(Y!b(`+4QOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$8qk$i&j(Vp(Y!b(S,2j$_#t(d$I[OY%ZYZ&cZr%Zrs&}st%Ztu$8buw%Zwx(rx}%Z}!O$:f!O!Q%Z!Q![$8b![!^%Z!^!_*g!_!c%Z!c!}$8b!}#O%Z#O#P&c#P#R%Z#R#S$8b#S#T%Z#T#o$8b#o#p*g#p$g%Z$g;'S$8b;'S;=`$<l<%lO$8b+d$:qk$i&j(Vp(Y!b$_#tOY%ZYZ&cZr%Zrs&}st%Ztu$:fuw%Zwx(rx}%Z}!O$:f!O!Q%Z!Q![$:f![!^%Z!^!_*g!_!c%Z!c!}$:f!}#O%Z#O#P&c#P#R%Z#R#S$:f#S#T%Z#T#o$:f#o#p*g#p$g%Z$g;'S$:f;'S;=`$<f<%lO$:f+d$<iP;=`<%l$:f07[$<oP;=`<%l$8b#Jf$<{X!_#Hb(Vp(Y!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g,#x$=sa(x+JY$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p#q$+e#q;'S%Z;'S;=`+a<%lO%Z)>v$?V_!^(CdvBr$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z?O$@a_!q7`$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$Aq|$i&j(Vp(Y!b'{0/l$]#t(S,2j(d$I[OX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr07[$D|k$i&j(Vp(Y!b'|0/l$]#t(S,2j(d$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr",tokenizers:[Wz,Zz,Vz,Az,2,3,4,5,6,7,8,9,10,11,12,13,14,Cz,new xi("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOx~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!U~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(b~~",141,339),new xi("j~RQYZXz{^~^O(P~~aP!P!Qd~iO(Q~~",25,322)],topRules:{Script:[0,7],SingleExpression:[1,275],SingleClassItem:[2,276]},dialects:{jsx:0,ts:15098},dynamicPrecedences:{80:1,82:1,94:1,169:1,199:1},specialized:[{term:326,get:i=>Yz[i]||-1},{term:342,get:i=>Uz[i]||-1},{term:95,get:i=>Mz[i]||-1}],tokenPrec:15124});var zQ=[Ue("function ${name}(${params}) {\n ${}\n}",{label:"function",detail:"definition",type:"keyword"}),Ue("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),Ue("for (let ${name} of ${collection}) {\n ${}\n}",{label:"for",detail:"of loop",type:"keyword"}),Ue("do {\n ${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),Ue("while (${}) {\n ${}\n}",{label:"while",detail:"loop",type:"keyword"}),Ue(`try {51 }`;function dO({customFields:i,setCustomFields:e}){let[t,n]=Bd(!1),[r,s]=Bd(i);Id(()=>{s(i)},[i]);let o=Nd(c=>{let O=c.map(({name:h,value:f})=>({name:h,value:f}));s(O)}).current,a=Mb(()=>{let c=r.filter(({name:O,value:h})=>O&&h!=="");e(c),n(!1)},[r]),l=Nd(document.createElement("style"));return Id(()=>(l.current.appendChild(document.createTextNode(Eb)),document.head.appendChild(l.current),()=>{document.head.removeChild(l.current)}),[]),React.createElement(React.Fragment,null,React.createElement(Yb,{variant:"secondary",onClick:()=>n(!0),__next40pxDefaultSize:!0},uO("Custom fields","forms-bridge")," (",i.length,")"),t&&React.createElement(Ub,{title:uO("Custom fields","forms-bridge"),onRequestClose:a,className:"no-scrollable"},React.createElement("p",{style:{marginTop:"-3rem",position:"absolute",zIndex:1}},uO("Add custom fields to the form submission payload","forms-bridge")),React.createElement("div",{style:{marginTop:"2rem",width:"760px",maxWidth:"80vw",minHeight:"125px",height:"calc(100% - 2rem)",display:"flex",flexDirection:"column",borderTop:"1px solid",borderBottom:"1px solid"}},React.createElement(fO,{customFields:r.map((c,O)=>({...c,index:O})),setCustomFields:o}))))}var mO=[],Jd=[];(()=>{let i="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,t=0;e<i.length;e++)(e%2?Jd:mO).push(t=t+i[e])})();function Db(i){if(i<768)return!1;for(let e=0,t=mO.length;;){let n=e+t>>1;if(i<mO[n])t=n;else if(i>=Jd[n])e=n+1;else return!0;if(e==t)return!1}}function Fd(i){return i>=127462&&i<=127487}var Hd=8205;function ep(i,e,t=!0,n=!0){return(t?tp:Lb)(i,e,n)}function tp(i,e,t){if(e==i.length)return e;e&&ip(i.charCodeAt(e))&&np(i.charCodeAt(e-1))&&e--;let n=pO(i,e);for(e+=Kd(n);e<i.length;){let r=pO(i,e);if(n==Hd||r==Hd||t&&Db(r))e+=Kd(r),n=r;else if(Fd(r)){let s=0,o=e-2;for(;o>=0&&Fd(pO(i,o));)s++,o-=2;if(s%2==0)break;e+=2}else break}return e}function Lb(i,e,t){for(;e>0;){let n=tp(i,e-2,t);if(n<e)return n;e--}return 0}function pO(i,e){let t=i.charCodeAt(e);if(!np(t)||e+1==i.length)return t;let n=i.charCodeAt(e+1);return ip(n)?(t-55296<<10)+(n-56320)+65536:t}function ip(i){return i>=56320&&i<57344}function np(i){return i>=55296&&i<56320}function Kd(i){return i<65536?1:2}var U=class i{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,n){[e,t]=xn(this,e,t);let r=[];return this.decompose(0,e,r,2),n.length&&n.decompose(0,n.length,r,3),this.decompose(t,this.length,r,1),Qn.from(r,this.length-(t-e)+n.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=xn(this,e,t);let n=[];return this.decompose(e,t,n,0),Qn.from(n,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),n=this.length-this.scanIdentical(e,-1),r=new Wi(this),s=new Wi(e);for(let o=t,a=t;;){if(r.next(o),s.next(o),o=0,r.lineBreak!=s.lineBreak||r.done!=s.done||r.value!=s.value)return!1;if(a+=r.value.length,r.done||a>=n)return!0}}iter(e=1){return new Wi(this,e)}iterRange(e,t=this.length){return new fo(this,e,t)}iterLines(e,t){let n;if(e==null)n=this.iter();else{t==null&&(t=this.lines+1);let r=this.line(e).from;n=this.iterRange(r,Math.max(r,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new uo(n)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?i.empty:e.length<=32?new Fe(e):Qn.from(Fe.split(e,[]))}},Fe=class i extends U{constructor(e,t=Gb(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,n,r){for(let s=0;;s++){let o=this.text[s],a=r+o.length;if((t?n:a)>=e)return new $O(r,a,n,o);r=a+1,n++}}decompose(e,t,n,r){let s=e<=0&&t>=this.length?this:new i(rp(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(r&1){let o=n.pop(),a=ho(s.text,o.text.slice(),0,s.length);if(a.length<=32)n.push(new i(a,o.length+s.length));else{let l=a.length>>1;n.push(new i(a.slice(0,l)),new i(a.slice(l)))}}else n.push(s)}replace(e,t,n){if(!(n instanceof i))return super.replace(e,t,n);[e,t]=xn(this,e,t);let r=ho(this.text,ho(n.text,rp(this.text,0,e)),t),s=this.length+n.length-(t-e);return r.length<=32?new i(r,s):Qn.from(i.split(r,[]),s)}sliceString(e,t=this.length,n=` 52 `){[e,t]=xn(this,e,t);let r="";for(let s=0,o=0;s<=t&&o<this.text.length;o++){let a=this.text[o],l=s+a.length;s>e&&o&&(r+=n),e<l&&t>s&&(r+=a.slice(Math.max(0,e-s),t-s)),s=l+1}return r}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let n=[],r=-1;for(let s of e)n.push(s),r+=s.length+1,n.length==32&&(t.push(new i(n,r)),n=[],r=-1);return r>-1&&t.push(new i(n,r)),t}},Qn=class i extends U{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let n of e)this.lines+=n.lines}lineInner(e,t,n,r){for(let s=0;;s++){let o=this.children[s],a=r+o.length,l=n+o.lines-1;if((t?l:a)>=e)return o.lineInner(e,t,n,r);r=a+1,n=l+1}}decompose(e,t,n,r){for(let s=0,o=0;o<=t&&s<this.children.length;s++){let a=this.children[s],l=o+a.length;if(e<=l&&t>=o){let c=r&((o<=e?1:0)|(l>=t?2:0));o>=e&&l<=t&&!c?n.push(a):a.decompose(e-o,t-o,n,c)}o=l+1}}replace(e,t,n){if([e,t]=xn(this,e,t),n.lines<this.lines)for(let r=0,s=0;r<this.children.length;r++){let o=this.children[r],a=s+o.length;if(e>=s&&t<=a){let l=o.replace(e-s,t-s,n),c=this.lines-o.lines+l.lines;if(l.lines<c>>4&&l.lines>c>>6){let O=this.children.slice();return O[r]=l,new i(O,this.length-(t-e)+n.length)}return super.replace(s,a,l)}s=a+1}return super.replace(e,t,n)}sliceString(e,t=this.length,n=` 53 `){[e,t]=xn(this,e,t);let r="";for(let s=0,o=0;s<this.children.length&&o<=t;s++){let a=this.children[s],l=o+a.length;o>e&&s&&(r+=n),e<l&&t>o&&(r+=a.sliceString(e-o,t-o,n)),o=l+1}return r}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof i))return 0;let n=0,[r,s,o,a]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;r+=t,s+=t){if(r==o||s==a)return n;let l=this.children[r],c=e.children[s];if(l!=c)return n+l.scanIdentical(c,t);n+=l.length+1}}static from(e,t=e.reduce((n,r)=>n+r.length+1,-1)){let n=0;for(let u of e)n+=u.lines;if(n<32){let u=[];for(let d of e)d.flatten(u);return new Fe(u,t)}let r=Math.max(32,n>>5),s=r<<1,o=r>>1,a=[],l=0,c=-1,O=[];function h(u){let d;if(u.lines>s&&u instanceof i)for(let p of u.children)h(p);else u.lines>o&&(l>o||!l)?(f(),a.push(u)):u instanceof Fe&&l&&(d=O[O.length-1])instanceof Fe&&u.lines+d.lines<=32?(l+=u.lines,c+=u.length+1,O[O.length-1]=new Fe(d.text.concat(u.text),d.length+1+u.length)):(l+u.lines>r&&f(),l+=u.lines,c+=u.length+1,O.push(u))}function f(){l!=0&&(a.push(O.length==1?O[0]:i.from(O,c)),c=-1,l=O.length=0)}for(let u of e)h(u);return f(),a.length==1?a[0]:new i(a,t)}};U.empty=new Fe([""],0);function Gb(i){let e=-1;for(let t of i)e+=t.length+1;return e}function ho(i,e,t=0,n=1e9){for(let r=0,s=0,o=!0;s<i.length&&r<=n;s++){let a=i[s],l=r+a.length;l>=t&&(l>n&&(a=a.slice(0,n-r)),r<t&&(a=a.slice(t-r)),o?(e[e.length-1]+=a,o=!1):e.push(a)),r=l+1}return e}function rp(i,e,t){return ho(i,[""],e,t)}var Wi=class{constructor(e,t=1){this.dir=t,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[e],this.offsets=[t>0?1:(e instanceof Fe?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let n=this.nodes.length-1,r=this.nodes[n],s=this.offsets[n],o=s>>1,a=r instanceof Fe?r.text.length:r.children.length;if(o==(t>0?a:0)){if(n==0)return this.done=!0,this.value="",this;t>0&&this.offsets[n-1]++,this.nodes.pop(),this.offsets.pop()}else if((s&1)==(t>0?0:1)){if(this.offsets[n]+=t,e==0)return this.lineBreak=!0,this.value=` 54 `,this;e--}else if(r instanceof Fe){let l=r.text[o+(t<0?-1:0)];if(this.offsets[n]+=t,l.length>Math.max(0,e))return this.value=e==0?l:t>0?l.slice(e):l.slice(0,l.length-e),this;e-=l.length}else{let l=r.children[o+(t<0?-1:0)];e>l.length?(e-=l.length,this.offsets[n]+=t):(t<0&&this.offsets[n]--,this.nodes.push(l),this.offsets.push(t>0?1:(l instanceof Fe?l.text.length:l.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}},fo=class{constructor(e,t,n){this.value="",this.done=!1,this.cursor=new Wi(e,t>n?-1:1),this.pos=t>n?e.length:0,this.from=Math.min(t,n),this.to=Math.max(t,n)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let n=t<0?this.pos-this.from:this.to-this.pos;e>n&&(e=n),n-=e;let{value:r}=this.cursor.next(e);return this.pos+=(r.length+e)*t,this.value=r.length<=n?r:t<0?r.slice(r.length-n):r.slice(0,n),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}},uo=class{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:n,value:r}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):n?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol<"u"&&(U.prototype[Symbol.iterator]=function(){return this.iter()},Wi.prototype[Symbol.iterator]=fo.prototype[Symbol.iterator]=uo.prototype[Symbol.iterator]=function(){return this});var $O=class{constructor(e,t,n,r){this.from=e,this.to=t,this.number=n,this.text=r}get length(){return this.to-this.from}};function xn(i,e,t){return e=Math.max(0,Math.min(i.length,e)),[e,Math.max(e,Math.min(i.length,t))]}function ve(i,e,t=!0,n=!0){return ep(i,e,t,n)}function Bb(i){return i>=56320&&i<57344}function Ib(i){return i>=55296&&i<56320}function Xe(i,e){let t=i.charCodeAt(e);if(!Ib(t)||e+1==i.length)return t;let n=i.charCodeAt(e+1);return Bb(n)?(t-55296<<10)+(n-56320)+65536:t}function Pr(i){return i<=65535?String.fromCharCode(i):(i-=65536,String.fromCharCode((i>>10)+55296,(i&1023)+56320))}function Ke(i){return i<65536?1:2}var yO=/\r\n?|\n/,Pe=function(i){return i[i.Simple=0]="Simple",i[i.TrackDel=1]="TrackDel",i[i.TrackBefore=2]="TrackBefore",i[i.TrackAfter=3]="TrackAfter",i}(Pe||(Pe={})),Lt=class i{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;t<this.sections.length;t+=2)e+=this.sections[t];return e}get newLength(){let e=0;for(let t=0;t<this.sections.length;t+=2){let n=this.sections[t+1];e+=n<0?this.sections[t]:n}return e}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(e){for(let t=0,n=0,r=0;t<this.sections.length;){let s=this.sections[t++],o=this.sections[t++];o<0?(e(n,r,s),r+=s):r+=o,n+=s}}iterChangedRanges(e,t=!1){QO(this,e,t)}get invertedDesc(){let e=[];for(let t=0;t<this.sections.length;){let n=this.sections[t++],r=this.sections[t++];r<0?e.push(n,r):e.push(r,n)}return new i(e)}composeDesc(e){return this.empty?e:e.empty?this:Op(this,e)}mapDesc(e,t=!1){return e.empty?this:SO(this,e,t)}mapPos(e,t=-1,n=Pe.Simple){let r=0,s=0;for(let o=0;o<this.sections.length;){let a=this.sections[o++],l=this.sections[o++],c=r+a;if(l<0){if(c>e)return s+(e-r);s+=a}else{if(n!=Pe.Simple&&c>=e&&(n==Pe.TrackDel&&r<e&&c>e||n==Pe.TrackBefore&&r<e||n==Pe.TrackAfter&&c>e))return null;if(c>e||c==e&&t<0&&!a)return e==r||t<0?s:s+l;s+=l}r=c}if(e>r)throw new RangeError(`Position ${e} is out of range for changeset of length ${r}`);return s}touchesRange(e,t=e){for(let n=0,r=0;n<this.sections.length&&r<=t;){let s=this.sections[n++],o=this.sections[n++],a=r+s;if(o>=0&&r<=t&&a>=e)return r<e&&a>t?"cover":!0;r=a}return!1}toString(){let e="";for(let t=0;t<this.sections.length;){let n=this.sections[t++],r=this.sections[t++];e+=(e?" ":"")+n+(r>=0?":"+r:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new i(e)}static create(e){return new i(e)}},Ae=class i extends Lt{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return QO(this,(t,n,r,s,o)=>e=e.replace(r,r+(n-t),o),!1),e}mapDesc(e,t=!1){return SO(this,e,t,!0)}invert(e){let t=this.sections.slice(),n=[];for(let r=0,s=0;r<t.length;r+=2){let o=t[r],a=t[r+1];if(a>=0){t[r]=a,t[r+1]=o;let l=r>>1;for(;n.length<l;)n.push(U.empty);n.push(o?e.slice(s,s+o):U.empty)}s+=o}return new i(t,n)}compose(e){return this.empty?e:e.empty?this:Op(this,e,!0)}map(e,t=!1){return e.empty?this:SO(this,e,t,!0)}iterChanges(e,t=!1){QO(this,e,t)}get desc(){return Lt.create(this.sections)}filter(e){let t=[],n=[],r=[],s=new Zi(this);e:for(let o=0,a=0;;){let l=o==e.length?1e9:e[o++];for(;a<l||a==l&&s.len==0;){if(s.done)break e;let O=Math.min(s.len,l-a);We(r,O,-1);let h=s.ins==-1?-1:s.off==0?s.ins:0;We(t,O,h),h>0&&Oi(n,t,s.text),s.forward(O),a+=O}let c=e[o++];for(;a<c;){if(s.done)break e;let O=Math.min(s.len,c-a);We(t,O,-1),We(r,O,s.ins==-1?-1:s.off==0?s.ins:0),s.forward(O),a+=O}}return{changes:new i(t,n),filtered:Lt.create(r)}}toJSON(){let e=[];for(let t=0;t<this.sections.length;t+=2){let n=this.sections[t],r=this.sections[t+1];r<0?e.push(n):r==0?e.push([n]):e.push([n].concat(this.inserted[t>>1].toJSON()))}return e}static of(e,t,n){let r=[],s=[],o=0,a=null;function l(O=!1){if(!O&&!r.length)return;o<t&&We(r,t-o,-1);let h=new i(r,s);a=a?a.compose(h.map(a)):h,r=[],s=[],o=0}function c(O){if(Array.isArray(O))for(let h of O)c(h);else if(O instanceof i){if(O.length!=t)throw new RangeError(`Mismatched change set length (got ${O.length}, expected ${t})`);l(),a=a?a.compose(O.map(a)):O}else{let{from:h,to:f=h,insert:u}=O;if(h>f||h<0||f>t)throw new RangeError(`Invalid change range ${h} to ${f} (in doc of length ${t})`);let d=u?typeof u=="string"?U.of(u.split(n||yO)):u:U.empty,p=d.length;if(h==f&&p==0)return;h<o&&l(),h>o&&We(r,h-o,-1),We(r,f-h,p),Oi(s,r,d),o=f}}return c(e),l(!a),a}static empty(e){return new i(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],n=[];for(let r=0;r<e.length;r++){let s=e[r];if(typeof s=="number")t.push(s,-1);else{if(!Array.isArray(s)||typeof s[0]!="number"||s.some((o,a)=>a&&typeof o!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(s.length==1)t.push(s[0],0);else{for(;n.length<r;)n.push(U.empty);n[r]=U.of(s.slice(1)),t.push(s[0],n[r].length)}}}return new i(t,n)}static createSet(e,t){return new i(e,t)}};function We(i,e,t,n=!1){if(e==0&&t<=0)return;let r=i.length-2;r>=0&&t<=0&&t==i[r+1]?i[r]+=e:r>=0&&e==0&&i[r]==0?i[r+1]+=t:n?(i[r]+=e,i[r+1]+=t):i.push(e,t)}function Oi(i,e,t){if(t.length==0)return;let n=e.length-2>>1;if(n<i.length)i[i.length-1]=i[i.length-1].append(t);else{for(;i.length<n;)i.push(U.empty);i.push(t)}}function QO(i,e,t){let n=i.inserted;for(let r=0,s=0,o=0;o<i.sections.length;){let a=i.sections[o++],l=i.sections[o++];if(l<0)r+=a,s+=a;else{let c=r,O=s,h=U.empty;for(;c+=a,O+=l,l&&n&&(h=h.append(n[o-2>>1])),!(t||o==i.sections.length||i.sections[o+1]<0);)a=i.sections[o++],l=i.sections[o++];e(r,c,s,O,h),r=c,s=O}}}function SO(i,e,t,n=!1){let r=[],s=n?[]:null,o=new Zi(i),a=new Zi(e);for(let l=-1;;){if(o.done&&a.len||a.done&&o.len)throw new Error("Mismatched change set lengths");if(o.ins==-1&&a.ins==-1){let c=Math.min(o.len,a.len);We(r,c,-1),o.forward(c),a.forward(c)}else if(a.ins>=0&&(o.ins<0||l==o.i||o.off==0&&(a.len<o.len||a.len==o.len&&!t))){let c=a.len;for(We(r,a.ins,-1);c;){let O=Math.min(o.len,c);o.ins>=0&&l<o.i&&o.len<=O&&(We(r,0,o.ins),s&&Oi(s,r,o.text),l=o.i),o.forward(O),c-=O}a.next()}else if(o.ins>=0){let c=0,O=o.len;for(;O;)if(a.ins==-1){let h=Math.min(O,a.len);c+=h,O-=h,a.forward(h)}else if(a.ins==0&&a.len<O)O-=a.len,a.next();else break;We(r,c,l<o.i?o.ins:0),s&&l<o.i&&Oi(s,r,o.text),l=o.i,o.forward(o.len-O)}else{if(o.done&&a.done)return s?Ae.createSet(r,s):Lt.create(r);throw new Error("Mismatched change set lengths")}}}function Op(i,e,t=!1){let n=[],r=t?[]:null,s=new Zi(i),o=new Zi(e);for(let a=!1;;){if(s.done&&o.done)return r?Ae.createSet(n,r):Lt.create(n);if(s.ins==0)We(n,s.len,0,a),s.next();else if(o.len==0&&!o.done)We(n,0,o.ins,a),r&&Oi(r,n,o.text),o.next();else{if(s.done||o.done)throw new Error("Mismatched change set lengths");{let l=Math.min(s.len2,o.len),c=n.length;if(s.ins==-1){let O=o.ins==-1?-1:o.off?0:o.ins;We(n,l,O,a),r&&O&&Oi(r,n,o.text)}else o.ins==-1?(We(n,s.off?0:s.len,l,a),r&&Oi(r,n,s.textBit(l))):(We(n,s.off?0:s.len,o.off?0:o.ins,a),r&&!o.off&&Oi(r,n,o.text));a=(s.ins>l||o.ins>=0&&o.len>l)&&(a||n.length>c),s.forward2(l),o.forward(l)}}}}var Zi=class{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i<e.length?(this.len=e[this.i++],this.ins=e[this.i++]):(this.len=0,this.ins=-2),this.off=0}get done(){return this.ins==-2}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:e}=this.set,t=this.i-2>>1;return t>=e.length?U.empty:e[t]}textBit(e){let{inserted:t}=this.set,n=this.i-2>>1;return n>=t.length&&!e?U.empty:t[n].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}},yn=class i{constructor(e,t,n){this.from=e,this.to=t,this.flags=n}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}get goalColumn(){let e=this.flags>>6;return e==16777215?void 0:e}map(e,t=-1){let n,r;return this.empty?n=r=e.mapPos(this.from,t):(n=e.mapPos(this.from,1),r=e.mapPos(this.to,-1)),n==this.from&&r==this.to?this:new i(n,r,this.flags)}extend(e,t=e){if(e<=this.anchor&&t>=this.anchor)return P.range(e,t);let n=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return P.range(this.anchor,n)}eq(e,t=!1){return this.anchor==e.anchor&&this.head==e.head&&(!t||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return P.range(e.anchor,e.head)}static create(e,t,n){return new i(e,t,n)}},P=class i{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:i.create(this.ranges.map(n=>n.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let n=0;n<this.ranges.length;n++)if(!this.ranges[n].eq(e.ranges[n],t))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return this.ranges.length==1?this:new i([this.main],0)}addRange(e,t=!0){return i.create([e].concat(this.ranges),t?0:this.mainIndex+1)}replaceRange(e,t=this.mainIndex){let n=this.ranges.slice();return n[t]=e,i.create(n,this.mainIndex)}toJSON(){return{ranges:this.ranges.map(e=>e.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new i(e.ranges.map(t=>yn.fromJSON(t)),e.main)}static single(e,t=e){return new i([i.range(e,t)],0)}static create(e,t=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let n=0,r=0;r<e.length;r++){let s=e[r];if(s.empty?s.from<=n:s.from<n)return i.normalized(e.slice(),t);n=s.to}return new i(e,t)}static cursor(e,t=0,n,r){return yn.create(e,e,(t==0?0:t<0?8:16)|(n==null?7:Math.min(6,n))|(r??16777215)<<6)}static range(e,t,n,r){let s=(n??16777215)<<6|(r==null?7:Math.min(6,r));return t<e?yn.create(t,e,48|s):yn.create(e,t,(t>e?8:0)|s)}static normalized(e,t=0){let n=e[t];e.sort((r,s)=>r.from-s.from),t=e.indexOf(n);for(let r=1;r<e.length;r++){let s=e[r],o=e[r-1];if(s.empty?s.from<=o.to:s.from<o.to){let a=o.from,l=Math.max(s.to,o.to);r<=t&&t--,e.splice(--r,2,s.anchor>s.head?i.range(l,a):i.range(a,l))}}return new i(e,t)}};function cp(i,e){for(let t of i.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}var RO=0,X=class i{constructor(e,t,n,r,s){this.combine=e,this.compareInput=t,this.compare=n,this.isStatic=r,this.id=RO++,this.default=e([]),this.extensions=typeof s=="function"?s(this):s}get reader(){return this}static define(e={}){return new i(e.combine||(t=>t),e.compareInput||((t,n)=>t===n),e.compare||(e.combine?(t,n)=>t===n:qO),!!e.static,e.enables)}of(e){return new Sn([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new Sn(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new Sn(e,this,2,t)}from(e,t){return t||(t=n=>n),this.compute([e],n=>t(n.field(e)))}};function qO(i,e){return i==e||i.length==e.length&&i.every((t,n)=>t===e[n])}var Sn=class{constructor(e,t,n,r){this.dependencies=e,this.facet=t,this.type=n,this.value=r,this.id=RO++}dynamicSlot(e){var t;let n=this.value,r=this.facet.compareInput,s=this.id,o=e[s]>>1,a=this.type==2,l=!1,c=!1,O=[];for(let h of this.dependencies)h=="doc"?l=!0:h=="selection"?c=!0:((t=e[h.id])!==null&&t!==void 0?t:1)&1||O.push(e[h.id]);return{create(h){return h.values[o]=n(h),1},update(h,f){if(l&&f.docChanged||c&&(f.docChanged||f.selection)||bO(h,O)){let u=n(h);if(a?!sp(u,h.values[o],r):!r(u,h.values[o]))return h.values[o]=u,1}return 0},reconfigure:(h,f)=>{let u,d=f.config.address[s];if(d!=null){let p=$o(f,d);if(this.dependencies.every(m=>m instanceof X?f.facet(m)===h.facet(m):m instanceof ue?f.field(m,!1)==h.field(m,!1):!0)||(a?sp(u=n(h),p,r):r(u=n(h),p)))return h.values[o]=p,0}else u=n(h);return h.values[o]=u,1}}}};function sp(i,e,t){if(i.length!=e.length)return!1;for(let n=0;n<i.length;n++)if(!t(i[n],e[n]))return!1;return!0}function bO(i,e){let t=!1;for(let n of e)br(i,n)&1&&(t=!0);return t}function Nb(i,e,t){let n=t.map(l=>i[l.id]),r=t.map(l=>l.type),s=n.filter(l=>!(l&1)),o=i[e.id]>>1;function a(l){let c=[];for(let O=0;O<n.length;O++){let h=$o(l,n[O]);if(r[O]==2)for(let f of h)c.push(f);else c.push(h)}return e.combine(c)}return{create(l){for(let c of n)br(l,c);return l.values[o]=a(l),1},update(l,c){if(!bO(l,s))return 0;let O=a(l);return e.compare(O,l.values[o])?0:(l.values[o]=O,1)},reconfigure(l,c){let O=bO(l,n),h=c.config.facets[e.id],f=c.facet(e);if(h&&!O&&qO(t,h))return l.values[o]=f,0;let u=a(l);return e.compare(u,f)?(l.values[o]=f,0):(l.values[o]=u,1)}}}var lo=X.define({static:!0}),ue=class i{constructor(e,t,n,r,s){this.id=e,this.createF=t,this.updateF=n,this.compareF=r,this.spec=s,this.provides=void 0}static define(e){let t=new i(RO++,e.create,e.update,e.compare||((n,r)=>n===r),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(lo).find(n=>n.field==this);return(t?.create||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:n=>(n.values[t]=this.create(n),1),update:(n,r)=>{let s=n.values[t],o=this.updateF(s,r);return this.compareF(s,o)?0:(n.values[t]=o,1)},reconfigure:(n,r)=>{let s=n.facet(lo),o=r.facet(lo),a;return(a=s.find(l=>l.field==this))&&a!=o.find(l=>l.field==this)?(n.values[t]=a.create(n),1):r.config.address[this.id]!=null?(n.values[t]=r.field(this),0):(n.values[t]=this.create(n),1)}}}init(e){return[this,lo.of({field:this,create:e})]}get extension(){return this}},_i={lowest:4,low:3,default:2,high:1,highest:0};function Sr(i){return e=>new po(e,i)}var lt={highest:Sr(_i.highest),high:Sr(_i.high),default:Sr(_i.default),low:Sr(_i.low),lowest:Sr(_i.lowest)},po=class{constructor(e,t){this.inner=e,this.prec=t}},mo=class i{of(e){return new xr(this,e)}reconfigure(e){return i.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}},xr=class{constructor(e,t){this.compartment=e,this.inner=t}},go=class i{constructor(e,t,n,r,s,o){for(this.base=e,this.compartments=t,this.dynamicSlots=n,this.address=r,this.staticValues=s,this.facets=o,this.statusTemplate=[];this.statusTemplate.length<n.length;)this.statusTemplate.push(0)}staticFacet(e){let t=this.address[e.id];return t==null?e.default:this.staticValues[t>>1]}static resolve(e,t,n){let r=[],s=Object.create(null),o=new Map;for(let f of Fb(e,t,o))f instanceof ue?r.push(f):(s[f.facet.id]||(s[f.facet.id]=[])).push(f);let a=Object.create(null),l=[],c=[];for(let f of r)a[f.id]=c.length<<1,c.push(u=>f.slot(u));let O=n?.config.facets;for(let f in s){let u=s[f],d=u[0].facet,p=O&&O[f]||[];if(u.every(m=>m.type==0))if(a[d.id]=l.length<<1|1,qO(p,u))l.push(n.facet(d));else{let m=d.combine(u.map(g=>g.value));l.push(n&&d.compare(m,n.facet(d))?n.facet(d):m)}else{for(let m of u)m.type==0?(a[m.id]=l.length<<1|1,l.push(m.value)):(a[m.id]=c.length<<1,c.push(g=>m.dynamicSlot(g)));a[d.id]=c.length<<1,c.push(m=>Nb(m,d,u))}}let h=c.map(f=>f(a));return new i(e,o,h,a,l,s)}};function Fb(i,e,t){let n=[[],[],[],[],[]],r=new Map;function s(o,a){let l=r.get(o);if(l!=null){if(l<=a)return;let c=n[l].indexOf(o);c>-1&&n[l].splice(c,1),o instanceof xr&&t.delete(o.compartment)}if(r.set(o,a),Array.isArray(o))for(let c of o)s(c,a);else if(o instanceof xr){if(t.has(o.compartment))throw new RangeError("Duplicate use of compartment in extensions");let c=e.get(o.compartment)||o.inner;t.set(o.compartment,c),s(c,a)}else if(o instanceof po)s(o.inner,o.prec);else if(o instanceof ue)n[a].push(o),o.provides&&s(o.provides,a);else if(o instanceof Sn)n[a].push(o),o.facet.extensions&&s(o.facet.extensions,_i.default);else{let c=o.extension;if(!c)throw new Error(`Unrecognized extension value in extension set (${o}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);s(c,a)}}return s(i,_i.default),n.reduce((o,a)=>o.concat(a))}function br(i,e){if(e&1)return 2;let t=e>>1,n=i.status[t];if(n==4)throw new Error("Cyclic dependency between fields and/or facets");if(n&2)return n;i.status[t]=4;let r=i.computeSlot(i,i.config.dynamicSlots[t]);return i.status[t]=2|r}function $o(i,e){return e&1?i.config.staticValues[e>>1]:i.values[e>>1]}var hp=X.define(),xO=X.define({combine:i=>i.some(e=>e),static:!0}),fp=X.define({combine:i=>i.length?i[0]:void 0,static:!0}),up=X.define(),dp=X.define(),pp=X.define(),mp=X.define({combine:i=>i.length?i[0]:!1}),De=class{constructor(e,t){this.type=e,this.value=t}static define(){return new vO}},vO=class{of(e){return new De(this,e)}},wO=class{constructor(e){this.map=e}of(e){return new Z(this,e)}},Z=class i{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return t===void 0?void 0:t==this.value?this:new i(this.type,t)}is(e){return this.type==e}static define(e={}){return new wO(e.map||(t=>t))}static mapEffects(e,t){if(!e.length)return e;let n=[];for(let r of e){let s=r.map(t);s&&n.push(s)}return n}};Z.reconfigure=Z.define();Z.appendConfig=Z.define();var xe=class i{constructor(e,t,n,r,s,o){this.startState=e,this.changes=t,this.selection=n,this.effects=r,this.annotations=s,this.scrollIntoView=o,this._doc=null,this._state=null,n&&cp(n,t.newLength),s.some(a=>a.type==i.time)||(this.annotations=s.concat(i.time.of(Date.now())))}static create(e,t,n,r,s,o){return new i(e,t,n,r,s,o)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(i.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}};xe.time=De.define();xe.userEvent=De.define();xe.addToHistory=De.define();xe.remote=De.define();function Hb(i,e){let t=[];for(let n=0,r=0;;){let s,o;if(n<i.length&&(r==e.length||e[r]>=i[n]))s=i[n++],o=i[n++];else if(r<e.length)s=e[r++],o=e[r++];else return t;!t.length||t[t.length-1]<s?t.push(s,o):t[t.length-1]<o&&(t[t.length-1]=o)}}function gp(i,e,t){var n;let r,s,o;return t?(r=e.changes,s=Ae.empty(e.changes.length),o=i.changes.compose(e.changes)):(r=e.changes.map(i.changes),s=i.changes.mapDesc(e.changes,!0),o=i.changes.compose(r)),{changes:o,selection:e.selection?e.selection.map(s):(n=i.selection)===null||n===void 0?void 0:n.map(r),effects:Z.mapEffects(i.effects,r).concat(Z.mapEffects(e.effects,s)),annotations:i.annotations.length?i.annotations.concat(e.annotations):e.annotations,scrollIntoView:i.scrollIntoView||e.scrollIntoView}}function PO(i,e,t){let n=e.selection,r=bn(e.annotations);return e.userEvent&&(r=r.concat(xe.userEvent.of(e.userEvent))),{changes:e.changes instanceof Ae?e.changes:Ae.of(e.changes||[],t,i.facet(fp)),selection:n&&(n instanceof P?n:P.single(n.anchor,n.head)),effects:bn(e.effects),annotations:r,scrollIntoView:!!e.scrollIntoView}}function $p(i,e,t){let n=PO(i,e.length?e[0]:{},i.doc.length);e.length&&e[0].filter===!1&&(t=!1);for(let s=1;s<e.length;s++){e[s].filter===!1&&(t=!1);let o=!!e[s].sequential;n=gp(n,PO(i,e[s],o?n.changes.newLength:i.doc.length),o)}let r=xe.create(i,n.changes,n.selection,n.effects,n.annotations,n.scrollIntoView);return Jb(t?Kb(r):r)}function Kb(i){let e=i.startState,t=!0;for(let r of e.facet(up)){let s=r(i);if(s===!1){t=!1;break}Array.isArray(s)&&(t=t===!0?s:Hb(t,s))}if(t!==!0){let r,s;if(t===!1)s=i.changes.invertedDesc,r=Ae.empty(e.doc.length);else{let o=i.changes.filter(t);r=o.changes,s=o.filtered.mapDesc(o.changes).invertedDesc}i=xe.create(e,r,i.selection&&i.selection.map(s),Z.mapEffects(i.effects,s),i.annotations,i.scrollIntoView)}let n=e.facet(dp);for(let r=n.length-1;r>=0;r--){let s=n[r](i);s instanceof xe?i=s:Array.isArray(s)&&s.length==1&&s[0]instanceof xe?i=s[0]:i=$p(e,bn(s),!1)}return i}function Jb(i){let e=i.startState,t=e.facet(pp),n=i;for(let r=t.length-1;r>=0;r--){let s=t[r](i);s&&Object.keys(s).length&&(n=gp(n,PO(e,s,i.changes.newLength),!0))}return n==i?i:xe.create(e,i.changes,i.selection,n.effects,n.annotations,n.scrollIntoView)}var ex=[];function bn(i){return i==null?ex:Array.isArray(i)?i:[i]}var ie=function(i){return i[i.Word=0]="Word",i[i.Space=1]="Space",i[i.Other=2]="Other",i}(ie||(ie={})),tx=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,kO;try{kO=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function ix(i){if(kO)return kO.test(i);for(let e=0;e<i.length;e++){let t=i[e];if(/\w/.test(t)||t>"\x80"&&(t.toUpperCase()!=t.toLowerCase()||tx.test(t)))return!0}return!1}function nx(i){return e=>{if(!/\S/.test(e))return ie.Space;if(ix(e))return ie.Word;for(let t=0;t<i.length;t++)if(e.indexOf(i[t])>-1)return ie.Word;return ie.Other}}var ee=class i{constructor(e,t,n,r,s,o){this.config=e,this.doc=t,this.selection=n,this.values=r,this.status=e.statusTemplate.slice(),this.computeSlot=s,o&&(o._state=this);for(let a=0;a<this.config.dynamicSlots.length;a++)br(this,a<<1);this.computeSlot=null}field(e,t=!0){let n=this.config.address[e.id];if(n==null){if(t)throw new RangeError("Field is not present in this state");return}return br(this,n),$o(this,n)}update(...e){return $p(this,e,!0)}applyTransaction(e){let t=this.config,{base:n,compartments:r}=t;for(let a of e.effects)a.is(mo.reconfigure)?(t&&(r=new Map,t.compartments.forEach((l,c)=>r.set(c,l)),t=null),r.set(a.value.compartment,a.value.extension)):a.is(Z.reconfigure)?(t=null,n=a.value):a.is(Z.appendConfig)&&(t=null,n=bn(n).concat(a.value));let s;t?s=e.startState.values.slice():(t=go.resolve(n,r,this),s=new i(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(l,c)=>c.reconfigure(l,this),null).values);let o=e.startState.facet(xO)?e.newSelection:e.newSelection.asSingle();new i(t,e.newDoc,o,s,(a,l)=>l.update(a,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:P.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,n=e(t.ranges[0]),r=this.changes(n.changes),s=[n.range],o=bn(n.effects);for(let a=1;a<t.ranges.length;a++){let l=e(t.ranges[a]),c=this.changes(l.changes),O=c.map(r);for(let f=0;f<a;f++)s[f]=s[f].map(O);let h=r.mapDesc(c,!0);s.push(l.range.map(h)),r=r.compose(O),o=Z.mapEffects(o,O).concat(Z.mapEffects(bn(l.effects),h))}return{changes:r,selection:P.create(s,t.mainIndex),effects:o}}changes(e=[]){return e instanceof Ae?e:Ae.of(e,this.doc.length,this.facet(i.lineSeparator))}toText(e){return U.of(e.split(this.facet(i.lineSeparator)||yO))}sliceDoc(e=0,t=this.doc.length){return this.doc.sliceString(e,t,this.lineBreak)}facet(e){let t=this.config.address[e.id];return t==null?e.default:(br(this,t),$o(this,t))}toJSON(e){let t={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(e)for(let n in e){let r=e[n];r instanceof ue&&this.config.address[r.id]!=null&&(t[n]=r.spec.toJSON(this.field(e[n]),this))}return t}static fromJSON(e,t={},n){if(!e||typeof e.doc!="string")throw new RangeError("Invalid JSON representation for EditorState");let r=[];if(n){for(let s in n)if(Object.prototype.hasOwnProperty.call(e,s)){let o=n[s],a=e[s];r.push(o.init(l=>o.spec.fromJSON(a,l)))}}return i.create({doc:e.doc,selection:P.fromJSON(e.selection),extensions:t.extensions?r.concat([t.extensions]):r})}static create(e={}){let t=go.resolve(e.extensions||[],new Map),n=e.doc instanceof U?e.doc:U.of((e.doc||"").split(t.staticFacet(i.lineSeparator)||yO)),r=e.selection?e.selection instanceof P?e.selection:P.single(e.selection.anchor,e.selection.head):P.single(0);return cp(r,n.length),t.staticFacet(xO)||(r=r.asSingle()),new i(t,n,r,t.dynamicSlots.map(()=>null),(s,o)=>o.create(s),null)}get tabSize(){return this.facet(i.tabSize)}get lineBreak(){return this.facet(i.lineSeparator)||` 55 `}get readOnly(){return this.facet(mp)}phrase(e,...t){for(let n of this.facet(i.phrases))if(Object.prototype.hasOwnProperty.call(n,e)){e=n[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(n,r)=>{if(r=="$")return"$";let s=+(r||1);return!s||s>t.length?n:t[s-1]})),e}languageDataAt(e,t,n=-1){let r=[];for(let s of this.facet(hp))for(let o of s(this,t,n))Object.prototype.hasOwnProperty.call(o,e)&&r.push(o[e]);return r}charCategorizer(e){return nx(this.languageDataAt("wordChars",e).join(""))}wordAt(e){let{text:t,from:n,length:r}=this.doc.lineAt(e),s=this.charCategorizer(e),o=e-n,a=e-n;for(;o>0;){let l=ve(t,o,!1);if(s(t.slice(l,o))!=ie.Word)break;o=l}for(;a<r;){let l=ve(t,a);if(s(t.slice(a,l))!=ie.Word)break;a=l}return o==a?null:P.range(o+n,a+n)}};ee.allowMultipleSelections=xO;ee.tabSize=X.define({combine:i=>i.length?i[0]:4});ee.lineSeparator=fp;ee.readOnly=mp;ee.phrases=X.define({compare(i,e){let t=Object.keys(i),n=Object.keys(e);return t.length==n.length&&t.every(r=>i[r]==e[r])}});ee.languageData=hp;ee.changeFilter=up;ee.transactionFilter=dp;ee.transactionExtender=pp;mo.reconfigure=Z.define();function Ze(i,e,t={}){let n={};for(let r of i)for(let s of Object.keys(r)){let o=r[s],a=n[s];if(a===void 0)n[s]=o;else if(!(a===o||o===void 0))if(Object.hasOwnProperty.call(t,s))n[s]=t[s](a,o);else throw new Error("Config merge conflict for field "+s)}for(let r in e)n[r]===void 0&&(n[r]=e[r]);return n}var pt=class{eq(e){return this==e}range(e,t=e){return vr.create(e,t,this)}};pt.prototype.startSide=pt.prototype.endSide=0;pt.prototype.point=!1;pt.prototype.mapMode=Pe.TrackDel;var vr=class i{constructor(e,t,n){this.from=e,this.to=t,this.value=n}static create(e,t,n){return new i(e,t,n)}};function TO(i,e){return i.from-e.from||i.value.startSide-e.value.startSide}var zO=class i{constructor(e,t,n,r){this.from=e,this.to=t,this.value=n,this.maxPoint=r}get length(){return this.to[this.to.length-1]}findIndex(e,t,n,r=0){let s=n?this.to:this.from;for(let o=r,a=s.length;;){if(o==a)return o;let l=o+a>>1,c=s[l]-e||(n?this.value[l].endSide:this.value[l].startSide)-t;if(l==o)return c>=0?o:a;c>=0?a=l:o=l+1}}between(e,t,n,r){for(let s=this.findIndex(t,-1e9,!0),o=this.findIndex(n,1e9,!1,s);s<o;s++)if(r(this.from[s]+e,this.to[s]+e,this.value[s])===!1)return!1}map(e,t){let n=[],r=[],s=[],o=-1,a=-1;for(let l=0;l<this.value.length;l++){let c=this.value[l],O=this.from[l]+e,h=this.to[l]+e,f,u;if(O==h){let d=t.mapPos(O,c.startSide,c.mapMode);if(d==null||(f=u=d,c.startSide!=c.endSide&&(u=t.mapPos(O,c.endSide),u<f)))continue}else if(f=t.mapPos(O,c.startSide),u=t.mapPos(h,c.endSide),f>u||f==u&&c.startSide>0&&c.endSide<=0)continue;(u-f||c.endSide-c.startSide)<0||(o<0&&(o=f),c.point&&(a=Math.max(a,u-f)),n.push(c),r.push(f-o),s.push(u-o))}return{mapped:n.length?new i(r,s,n,a):null,pos:o}}},F=class i{constructor(e,t,n,r){this.chunkPos=e,this.chunk=t,this.nextLayer=n,this.maxPoint=r}static create(e,t,n,r){return new i(e,t,n,r)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:n=!1,filterFrom:r=0,filterTo:s=this.length}=e,o=e.filter;if(t.length==0&&!o)return this;if(n&&(t=t.slice().sort(TO)),this.isEmpty)return t.length?i.of(t):this;let a=new yo(this,null,-1).goto(0),l=0,c=[],O=new He;for(;a.value||l<t.length;)if(l<t.length&&(a.from-t[l].from||a.startSide-t[l].value.startSide)>=0){let h=t[l++];O.addInner(h.from,h.to,h.value)||c.push(h)}else a.rangeIndex==1&&a.chunkIndex<this.chunk.length&&(l==t.length||this.chunkEnd(a.chunkIndex)<t[l].from)&&(!o||r>this.chunkEnd(a.chunkIndex)||s<this.chunkPos[a.chunkIndex])&&O.addChunk(this.chunkPos[a.chunkIndex],this.chunk[a.chunkIndex])?a.nextChunk():((!o||r>a.to||s<a.from||o(a.from,a.to,a.value))&&(O.addInner(a.from,a.to,a.value)||c.push(vr.create(a.from,a.to,a.value))),a.next());return O.finishInner(this.nextLayer.isEmpty&&!c.length?i.empty:this.nextLayer.update({add:c,filter:o,filterFrom:r,filterTo:s}))}map(e){if(e.empty||this.isEmpty)return this;let t=[],n=[],r=-1;for(let o=0;o<this.chunk.length;o++){let a=this.chunkPos[o],l=this.chunk[o],c=e.touchesRange(a,a+l.length);if(c===!1)r=Math.max(r,l.maxPoint),t.push(l),n.push(e.mapPos(a));else if(c===!0){let{mapped:O,pos:h}=l.map(a,e);O&&(r=Math.max(r,O.maxPoint),t.push(O),n.push(h))}}let s=this.nextLayer.map(e);return t.length==0?s:new i(n,t,s||i.empty,r)}between(e,t,n){if(!this.isEmpty){for(let r=0;r<this.chunk.length;r++){let s=this.chunkPos[r],o=this.chunk[r];if(t>=s&&e<=s+o.length&&o.between(s,e-s,t-s,n)===!1)return}this.nextLayer.between(e,t,n)}}iter(e=0){return wr.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return wr.from(e).goto(t)}static compare(e,t,n,r,s=-1){let o=e.filter(h=>h.maxPoint>0||!h.isEmpty&&h.maxPoint>=s),a=t.filter(h=>h.maxPoint>0||!h.isEmpty&&h.maxPoint>=s),l=op(o,a,n),c=new Ci(o,l,s),O=new Ci(a,l,s);n.iterGaps((h,f,u)=>ap(c,h,O,f,u,r)),n.empty&&n.length==0&&ap(c,0,O,0,0,r)}static eq(e,t,n=0,r){r==null&&(r=999999999);let s=e.filter(O=>!O.isEmpty&&t.indexOf(O)<0),o=t.filter(O=>!O.isEmpty&&e.indexOf(O)<0);if(s.length!=o.length)return!1;if(!s.length)return!0;let a=op(s,o),l=new Ci(s,a,0).goto(n),c=new Ci(o,a,0).goto(n);for(;;){if(l.to!=c.to||!XO(l.active,c.active)||l.point&&(!c.point||!l.point.eq(c.point)))return!1;if(l.to>r)return!0;l.next(),c.next()}}static spans(e,t,n,r,s=-1){let o=new Ci(e,null,s).goto(t),a=t,l=o.openStart;for(;;){let c=Math.min(o.to,n);if(o.point){let O=o.activeForPoint(o.to),h=o.pointFrom<t?O.length+1:o.point.startSide<0?O.length:Math.min(O.length,l);r.point(a,c,o.point,O,h,o.pointRank),l=Math.min(o.openEnd(c),O.length)}else c>a&&(r.span(a,c,o.active,l),l=o.openEnd(c));if(o.to>n)return l+(o.point&&o.to>n?1:0);a=o.to,o.next()}}static of(e,t=!1){let n=new He;for(let r of e instanceof vr?[e]:t?rx(e):e)n.add(r.from,r.to,r.value);return n.finish()}static join(e){if(!e.length)return i.empty;let t=e[e.length-1];for(let n=e.length-2;n>=0;n--)for(let r=e[n];r!=i.empty;r=r.nextLayer)t=new i(r.chunkPos,r.chunk,t,Math.max(r.maxPoint,t.maxPoint));return t}};F.empty=new F([],[],null,-1);function rx(i){if(i.length>1)for(let e=i[0],t=1;t<i.length;t++){let n=i[t];if(TO(e,n)>0)return i.slice().sort(TO);e=n}return i}F.empty.nextLayer=F.empty;var He=class i{finishChunk(e){this.chunks.push(new zO(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,n){this.addInner(e,t,n)||(this.nextLayer||(this.nextLayer=new i)).add(e,t,n)}addInner(e,t,n){let r=e-this.lastTo||n.startSide-this.last.endSide;if(r<=0&&(e-this.lastFrom||n.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return r<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=n,this.lastFrom=e,this.lastTo=t,this.value.push(n),n.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let n=t.value.length-1;return this.last=t.value[n],this.lastFrom=t.from[n]+e,this.lastTo=t.to[n]+e,!0}finish(){return this.finishInner(F.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=F.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}};function op(i,e,t){let n=new Map;for(let s of i)for(let o=0;o<s.chunk.length;o++)s.chunk[o].maxPoint<=0&&n.set(s.chunk[o],s.chunkPos[o]);let r=new Set;for(let s of e)for(let o=0;o<s.chunk.length;o++){let a=n.get(s.chunk[o]);a!=null&&(t?t.mapPos(a):a)==s.chunkPos[o]&&!t?.touchesRange(a,a+s.chunk[o].length)&&r.add(s.chunk[o])}return r}var yo=class{constructor(e,t,n,r=0){this.layer=e,this.skip=t,this.minPoint=n,this.rank=r}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(e,t=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(e,t,!1),this}gotoInner(e,t,n){for(;this.chunkIndex<this.layer.chunk.length;){let r=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(r)||this.layer.chunkEnd(this.chunkIndex)<e||r.maxPoint<this.minPoint))break;this.chunkIndex++,n=!1}if(this.chunkIndex<this.layer.chunk.length){let r=this.layer.chunk[this.chunkIndex].findIndex(e-this.layer.chunkPos[this.chunkIndex],t,!0);(!n||this.rangeIndex<r)&&this.setRangeIndex(r)}this.next()}forward(e,t){(this.to-e||this.endSide-t)<0&&this.gotoInner(e,t,!0)}next(){for(;;)if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9,this.value=null;break}else{let e=this.layer.chunkPos[this.chunkIndex],t=this.layer.chunk[this.chunkIndex],n=e+t.from[this.rangeIndex];if(this.from=n,this.to=e+t.to[this.rangeIndex],this.value=t.value[this.rangeIndex],this.setRangeIndex(this.rangeIndex+1),this.minPoint<0||this.value.point&&this.to-this.from>=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex<this.layer.chunk.length&&this.skip.has(this.layer.chunk[this.chunkIndex]);)this.chunkIndex++;this.rangeIndex=0}else this.rangeIndex=e}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(e){return this.from-e.from||this.startSide-e.startSide||this.rank-e.rank||this.to-e.to||this.endSide-e.endSide}},wr=class i{constructor(e){this.heap=e}static from(e,t=null,n=-1){let r=[];for(let s=0;s<e.length;s++)for(let o=e[s];!o.isEmpty;o=o.nextLayer)o.maxPoint>=n&&r.push(new yo(o,t,n,s));return r.length==1?r[0]:new i(r)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let n of this.heap)n.goto(e,t);for(let n=this.heap.length>>1;n>=0;n--)gO(this.heap,n);return this.next(),this}forward(e,t){for(let n of this.heap)n.forward(e,t);for(let n=this.heap.length>>1;n>=0;n--)gO(this.heap,n);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),gO(this.heap,0)}}};function gO(i,e){for(let t=i[e];;){let n=(e<<1)+1;if(n>=i.length)break;let r=i[n];if(n+1<i.length&&r.compare(i[n+1])>=0&&(r=i[n+1],n++),t.compare(r)<0)break;i[n]=t,i[e]=r,e=n}}var Ci=class{constructor(e,t,n){this.minPoint=n,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=wr.from(e,t,n)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){Oo(this.active,e),Oo(this.activeTo,e),Oo(this.activeRank,e),this.minActive=lp(this.active,this.activeTo)}addActive(e){let t=0,{value:n,to:r,rank:s}=this.cursor;for(;t<this.activeRank.length&&(s-this.activeRank[t]||r-this.activeTo[t])>0;)t++;co(this.active,t,n),co(this.activeTo,t,r),co(this.activeRank,t,s),e&&co(e,t,this.cursor.from),this.minActive=lp(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let n=this.openStart<0?[]:null;for(;;){let r=this.minActive;if(r>-1&&(this.activeTo[r]-this.cursor.from||this.active[r].endSide-this.cursor.startSide)<0){if(this.activeTo[r]>e){this.to=this.activeTo[r],this.endSide=this.active[r].endSide;break}this.removeActive(r),n&&Oo(n,r)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let s=this.cursor.value;if(!s.point)this.addActive(n),this.cursor.next();else if(t&&this.cursor.to==this.to&&this.cursor.from<this.cursor.to)this.cursor.next();else{this.point=s,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=s.endSide,this.cursor.next(),this.forward(this.to,this.endSide);break}}else{this.to=this.endSide=1e9;break}}if(n){this.openStart=0;for(let r=n.length-1;r>=0&&n[r]<e;r--)this.openStart++}}activeForPoint(e){if(!this.active.length)return this.active;let t=[];for(let n=this.active.length-1;n>=0&&!(this.activeRank[n]<this.pointRank);n--)(this.activeTo[n]>e||this.activeTo[n]==e&&this.active[n].endSide>=this.point.endSide)&&t.push(this.active[n]);return t.reverse()}openEnd(e){let t=0;for(let n=this.activeTo.length-1;n>=0&&this.activeTo[n]>e;n--)t++;return t}};function ap(i,e,t,n,r,s){i.goto(e),t.goto(n);let o=n+r,a=n,l=n-e;for(;;){let c=i.to+l-t.to,O=c||i.endSide-t.endSide,h=O<0?i.to+l:t.to,f=Math.min(h,o);if(i.point||t.point?i.point&&t.point&&(i.point==t.point||i.point.eq(t.point))&&XO(i.activeForPoint(i.to),t.activeForPoint(t.to))||s.comparePoint(a,f,i.point,t.point):f>a&&!XO(i.active,t.active)&&s.compareRange(a,f,i.active,t.active),h>o)break;(c||i.openEnd!=t.openEnd)&&s.boundChange&&s.boundChange(h),a=h,O<=0&&i.next(),O>=0&&t.next()}}function XO(i,e){if(i.length!=e.length)return!1;for(let t=0;t<i.length;t++)if(i[t]!=e[t]&&!i[t].eq(e[t]))return!1;return!0}function Oo(i,e){for(let t=e,n=i.length-1;t<n;t++)i[t]=i[t+1];i.pop()}function co(i,e,t){for(let n=i.length-1;n>=e;n--)i[n+1]=i[n];i[e]=t}function lp(i,e){let t=-1,n=1e9;for(let r=0;r<e.length;r++)(e[r]-n||i[r].endSide-i[t].endSide)<0&&(t=r,n=e[r]);return t}function Gt(i,e,t=i.length){let n=0;for(let r=0;r<t&&r<i.length;)i.charCodeAt(r)==9?(n+=e-n%e,r++):(n++,r=ve(i,r));return n}function Qo(i,e,t,n){for(let r=0,s=0;;){if(s>=e)return r;if(r==i.length)break;s+=i.charCodeAt(r)==9?t-s%t:1,r=ve(i,r)}return n===!0?-1:i.length}var _O="\u037C",yp=typeof Symbol>"u"?"__"+_O:Symbol.for(_O),CO=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),Qp=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{},Ot=class{constructor(e,t){this.rules=[];let{finish:n}=t||{};function r(o){return/^@/.test(o)?[o]:o.split(/,\s*/)}function s(o,a,l,c){let O=[],h=/^@(\w+)\b/.exec(o[0]),f=h&&h[1]=="keyframes";if(h&&a==null)return l.push(o[0]+";");for(let u in a){let d=a[u];if(/&/.test(u))s(u.split(/,\s*/).map(p=>o.map(m=>p.replace(/&/,m))).reduce((p,m)=>p.concat(m)),d,l);else if(d&&typeof d=="object"){if(!h)throw new RangeError("The value of a property ("+u+") should be a primitive value.");s(r(u),d,O,f)}else d!=null&&O.push(u.replace(/_.*/,"").replace(/[A-Z]/g,p=>"-"+p.toLowerCase())+": "+d+";")}(O.length||f)&&l.push((n&&!h&&!c?o.map(n):o).join(", ")+" {"+O.join(" ")+"}")}for(let o in e)s(r(o),e[o],this.rules)}getRules(){return this.rules.join(` 56 `)}static newName(){let e=Qp[yp]||1;return Qp[yp]=e+1,_O+e.toString(36)}static mount(e,t,n){let r=e[CO],s=n&&n.nonce;r?s&&r.setNonce(s):r=new WO(e,s),r.mount(Array.isArray(t)?t:[t],e)}},Sp=new Map,WO=class{constructor(e,t){let n=e.ownerDocument||e,r=n.defaultView;if(!e.head&&e.adoptedStyleSheets&&r.CSSStyleSheet){let s=Sp.get(n);if(s)return e[CO]=s;this.sheet=new r.CSSStyleSheet,Sp.set(n,this)}else this.styleTag=n.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[CO]=this}mount(e,t){let n=this.sheet,r=0,s=0;for(let o=0;o<e.length;o++){let a=e[o],l=this.modules.indexOf(a);if(l<s&&l>-1&&(this.modules.splice(l,1),s--,l=-1),l==-1){if(this.modules.splice(s++,0,a),n)for(let c=0;c<a.rules.length;c++)n.insertRule(a.rules[c],r++)}else{for(;s<l;)r+=this.modules[s++].rules.length;r+=a.rules.length,s++}}if(n)t.adoptedStyleSheets.indexOf(this.sheet)<0&&(t.adoptedStyleSheets=[this.sheet,...t.adoptedStyleSheets]);else{let o="";for(let l=0;l<this.modules.length;l++)o+=this.modules[l].getRules()+` 57 `;this.styleTag.textContent=o;let a=t.head||t;this.styleTag.parentNode!=a&&a.insertBefore(this.styleTag,a.firstChild)}}setNonce(e){this.styleTag&&this.styleTag.getAttribute("nonce")!=e&&this.styleTag.setAttribute("nonce",e)}};var Bt={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},vn={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},sx=typeof navigator<"u"&&/Mac/.test(navigator.platform),ox=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(we=0;we<10;we++)Bt[48+we]=Bt[96+we]=String(we);var we;for(we=1;we<=24;we++)Bt[we+111]="F"+we;var we;for(we=65;we<=90;we++)Bt[we]=String.fromCharCode(we+32),vn[we]=String.fromCharCode(we);var we;for(So in Bt)vn.hasOwnProperty(So)||(vn[So]=Bt[So]);var So;function bp(i){var e=sx&&i.metaKey&&i.shiftKey&&!i.ctrlKey&&!i.altKey||ox&&i.shiftKey&&i.key&&i.key.length==1||i.key=="Unidentified",t=!e&&i.key||(i.shiftKey?vn:Bt)[i.keyCode]||i.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}function B(){var i=arguments[0];typeof i=="string"&&(i=document.createElement(i));var e=1,t=arguments[1];if(t&&typeof t=="object"&&t.nodeType==null&&!Array.isArray(t)){for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n)){var r=t[n];typeof r=="string"?i.setAttribute(n,r):r!=null&&(i[n]=r)}e++}for(;e<arguments.length;e++)xp(i,arguments[e]);return i}function xp(i,e){if(typeof e=="string")i.appendChild(document.createTextNode(e));else if(e!=null)if(e.nodeType!=null)i.appendChild(e);else if(Array.isArray(e))for(var t=0;t<e.length;t++)xp(i,e[t]);else throw new RangeError("Unsupported child node: "+e)}function jr(i){let e;return i.nodeType==11?e=i.getSelection?i:i.ownerDocument:e=i,e.getSelection()}function EO(i,e){return e?i==e||i.contains(e.nodeType!=1?e.parentNode:e):!1}function Ro(i,e){if(!e.anchorNode)return!1;try{return EO(i,e.anchorNode)}catch{return!1}}function Yr(i){return i.nodeType==3?ji(i,0,i.nodeValue.length).getClientRects():i.nodeType==1?i.getClientRects():[]}function qr(i,e,t,n){return t?vp(i,e,t,n,-1)||vp(i,e,t,n,1):!1}function Ai(i){for(var e=0;;e++)if(i=i.previousSibling,!i)return e}function Ao(i){return i.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(i.nodeName)}function vp(i,e,t,n,r){for(;;){if(i==t&&e==n)return!0;if(e==(r<0?0:Tt(i))){if(i.nodeName=="DIV")return!1;let s=i.parentNode;if(!s||s.nodeType!=1)return!1;e=Ai(i)+(r<0?0:1),i=s}else if(i.nodeType==1){if(i=i.childNodes[e+(r<0?-1:0)],i.nodeType==1&&i.contentEditable=="false")return!1;e=r<0?Tt(i):0}else return!1}}function Tt(i){return i.nodeType==3?i.nodeValue.length:i.childNodes.length}function Jo(i,e){let t=e?i.left:i.right;return{left:t,right:t,top:i.top,bottom:i.bottom}}function ax(i){let e=i.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:i.innerWidth,top:0,bottom:i.innerHeight}}function um(i,e){let t=e.width/i.offsetWidth,n=e.height/i.offsetHeight;return(t>.995&&t<1.005||!isFinite(t)||Math.abs(e.width-i.offsetWidth)<1)&&(t=1),(n>.995&&n<1.005||!isFinite(n)||Math.abs(e.height-i.offsetHeight)<1)&&(n=1),{scaleX:t,scaleY:n}}function lx(i,e,t,n,r,s,o,a){let l=i.ownerDocument,c=l.defaultView||window;for(let O=i,h=!1;O&&!h;)if(O.nodeType==1){let f,u=O==l.body,d=1,p=1;if(u)f=ax(c);else{if(/^(fixed|sticky)$/.test(getComputedStyle(O).position)&&(h=!0),O.scrollHeight<=O.clientHeight&&O.scrollWidth<=O.clientWidth){O=O.assignedSlot||O.parentNode;continue}let y=O.getBoundingClientRect();({scaleX:d,scaleY:p}=um(O,y)),f={left:y.left,right:y.left+O.clientWidth*d,top:y.top,bottom:y.top+O.clientHeight*p}}let m=0,g=0;if(r=="nearest")e.top<f.top?(g=e.top-(f.top+o),t>0&&e.bottom>f.bottom+g&&(g=e.bottom-f.bottom+o)):e.bottom>f.bottom&&(g=e.bottom-f.bottom+o,t<0&&e.top-g<f.top&&(g=e.top-(f.top+o)));else{let y=e.bottom-e.top,S=f.bottom-f.top;g=(r=="center"&&y<=S?e.top+y/2-S/2:r=="start"||r=="center"&&t<0?e.top-o:e.bottom-S+o)-f.top}if(n=="nearest"?e.left<f.left?(m=e.left-(f.left+s),t>0&&e.right>f.right+m&&(m=e.right-f.right+s)):e.right>f.right&&(m=e.right-f.right+s,t<0&&e.left<f.left+m&&(m=e.left-(f.left+s))):m=(n=="center"?e.left+(e.right-e.left)/2-(f.right-f.left)/2:n=="start"==a?e.left-s:e.right-(f.right-f.left)+s)-f.left,m||g)if(u)c.scrollBy(m,g);else{let y=0,S=0;if(g){let v=O.scrollTop;O.scrollTop+=g/p,S=(O.scrollTop-v)*p}if(m){let v=O.scrollLeft;O.scrollLeft+=m/d,y=(O.scrollLeft-v)*d}e={left:e.left-y,top:e.top-S,right:e.right-y,bottom:e.bottom-S},y&&Math.abs(y-m)<1&&(n="nearest"),S&&Math.abs(S-g)<1&&(r="nearest")}if(u)break;(e.top<f.top||e.bottom>f.bottom||e.left<f.left||e.right>f.right)&&(e={left:Math.max(e.left,f.left),right:Math.min(e.right,f.right),top:Math.max(e.top,f.top),bottom:Math.min(e.bottom,f.bottom)}),O=O.assignedSlot||O.parentNode}else if(O.nodeType==11)O=O.host;else break}function Ox(i){let e=i.ownerDocument,t,n;for(let r=i.parentNode;r&&!(r==e.body||t&&n);)if(r.nodeType==1)!n&&r.scrollHeight>r.clientHeight&&(n=r),!t&&r.scrollWidth>r.clientWidth&&(t=r),r=r.assignedSlot||r.parentNode;else if(r.nodeType==11)r=r.host;else break;return{x:t,y:n}}var DO=class{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:n}=e;this.set(t,Math.min(e.anchorOffset,t?Tt(t):0),n,Math.min(e.focusOffset,n?Tt(n):0))}set(e,t,n,r){this.anchorNode=e,this.anchorOffset=t,this.focusNode=n,this.focusOffset=r}},wn=null;function dm(i){if(i.setActive)return i.setActive();if(wn)return i.focus(wn);let e=[];for(let t=i;t&&(e.push(t,t.scrollTop,t.scrollLeft),t!=t.ownerDocument);t=t.parentNode);if(i.focus(wn==null?{get preventScroll(){return wn={preventScroll:!0},!0}}:void 0),!wn){wn=!1;for(let t=0;t<e.length;){let n=e[t++],r=e[t++],s=e[t++];n.scrollTop!=r&&(n.scrollTop=r),n.scrollLeft!=s&&(n.scrollLeft=s)}}}var Pp;function ji(i,e,t=e){let n=Pp||(Pp=document.createRange());return n.setEnd(i,t),n.setStart(i,e),n}function Xn(i,e,t,n){let r={key:e,code:e,keyCode:t,which:t,cancelable:!0};n&&({altKey:r.altKey,ctrlKey:r.ctrlKey,shiftKey:r.shiftKey,metaKey:r.metaKey}=n);let s=new KeyboardEvent("keydown",r);s.synthetic=!0,i.dispatchEvent(s);let o=new KeyboardEvent("keyup",r);return o.synthetic=!0,i.dispatchEvent(o),s.defaultPrevented||o.defaultPrevented}function cx(i){for(;i;){if(i&&(i.nodeType==9||i.nodeType==11&&i.host))return i;i=i.assignedSlot||i.parentNode}return null}function pm(i){for(;i.attributes.length;)i.removeAttributeNode(i.attributes[0])}function hx(i,e){let t=e.focusNode,n=e.focusOffset;if(!t||e.anchorNode!=t||e.anchorOffset!=n)return!1;for(n=Math.min(n,Tt(t));;)if(n){if(t.nodeType!=1)return!1;let r=t.childNodes[n-1];r.contentEditable=="false"?n--:(t=r,n=Tt(t))}else{if(t==i)return!0;n=Ai(t),t=t.parentNode}}function mm(i){return i.scrollTop>Math.max(1,i.scrollHeight-i.clientHeight-4)}function gm(i,e){for(let t=i,n=e;;){if(t.nodeType==3&&n>0)return{node:t,offset:n};if(t.nodeType==1&&n>0){if(t.contentEditable=="false")return null;t=t.childNodes[n-1],n=Tt(t)}else if(t.parentNode&&!Ao(t))n=Ai(t),t=t.parentNode;else return null}}function $m(i,e){for(let t=i,n=e;;){if(t.nodeType==3&&n<t.nodeValue.length)return{node:t,offset:n};if(t.nodeType==1&&n<t.childNodes.length){if(t.contentEditable=="false")return null;t=t.childNodes[n],n=0}else if(t.parentNode&&!Ao(t))n=Ai(t)+1,t=t.parentNode;else return null}}var je=class i{constructor(e,t,n=!0){this.node=e,this.offset=t,this.precise=n}static before(e,t){return new i(e.parentNode,Ai(e),t)}static after(e,t){return new i(e.parentNode,Ai(e)+1,t)}},Xc=[],le=class i{constructor(){this.parent=null,this.dom=null,this.flags=2}get overrideDOMText(){return null}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e){let t=this.posAtStart;for(let n of this.children){if(n==e)return t;t+=n.length+n.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}sync(e,t){if(this.flags&2){let n=this.dom,r=null,s;for(let o of this.children){if(o.flags&7){if(!o.dom&&(s=r?r.nextSibling:n.firstChild)){let a=i.get(s);(!a||!a.parent&&a.canReuseDOM(o))&&o.reuseDOM(s)}o.sync(e,t),o.flags&=-8}if(s=r?r.nextSibling:n.firstChild,t&&!t.written&&t.node==n&&s!=o.dom&&(t.written=!0),o.dom.parentNode==n)for(;s&&s!=o.dom;)s=kp(s);else n.insertBefore(o.dom,s);r=o.dom}for(s=r?r.nextSibling:n.firstChild,s&&t&&t.node==n&&(t.written=!0);s;)s=kp(s)}else if(this.flags&1)for(let n of this.children)n.flags&7&&(n.sync(e,t),n.flags&=-8)}reuseDOM(e){}localPosFromDOM(e,t){let n;if(e==this.dom)n=this.dom.childNodes[t];else{let r=Tt(e)==0?0:t==0?-1:1;for(;;){let s=e.parentNode;if(s==this.dom)break;r==0&&s.firstChild!=s.lastChild&&(e==s.firstChild?r=-1:r=1),e=s}r<0?n=e:n=e.nextSibling}if(n==this.dom.firstChild)return 0;for(;n&&!i.get(n);)n=n.nextSibling;if(!n)return this.length;for(let r=0,s=0;;r++){let o=this.children[r];if(o.dom==n)return s;s+=o.length+o.breakAfter}}domBoundsAround(e,t,n=0){let r=-1,s=-1,o=-1,a=-1;for(let l=0,c=n,O=n;l<this.children.length;l++){let h=this.children[l],f=c+h.length;if(c<e&&f>t)return h.domBoundsAround(e,t,c);if(f>=e&&r==-1&&(r=l,s=c),c>t&&h.dom.parentNode==this.dom){o=l,a=O;break}O=f,c=f+h.breakAfter}return{from:s,to:a<0?n+this.length:a,startDOM:(r?this.children[r-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:o<this.children.length&&o>=0?this.children[o].dom:null}}markDirty(e=!1){this.flags|=2,this.markParentsDirty(e)}markParentsDirty(e){for(let t=this.parent;t;t=t.parent){if(e&&(t.flags|=2),t.flags&1)return;t.flags|=1,e=!1}}setParent(e){this.parent!=e&&(this.parent=e,this.flags&7&&this.markParentsDirty(!0))}setDOM(e){this.dom!=e&&(this.dom&&(this.dom.cmView=null),this.dom=e,e.cmView=this)}get rootView(){for(let e=this;;){let t=e.parent;if(!t)return e;e=t}}replaceChildren(e,t,n=Xc){this.markDirty();for(let r=e;r<t;r++){let s=this.children[r];s.parent==this&&n.indexOf(s)<0&&s.destroy()}n.length<250?this.children.splice(e,t-e,...n):this.children=[].concat(this.children.slice(0,e),n,this.children.slice(t));for(let r=0;r<n.length;r++)n[r].setParent(this)}ignoreMutation(e){return!1}ignoreEvent(e){return!1}childCursor(e=this.length){return new jo(this.children,e,this.children.length)}childPos(e,t=1){return this.childCursor().findPos(e,t)}toString(){let e=this.constructor.name.replace("View","");return e+(this.children.length?"("+this.children.join()+")":this.length?"["+(e=="Text"?this.text:this.length)+"]":"")+(this.breakAfter?"#":"")}static get(e){return e.cmView}get isEditable(){return!0}get isWidget(){return!1}get isHidden(){return!1}merge(e,t,n,r,s,o){return!1}become(e){return!1}canReuseDOM(e){return e.constructor==this.constructor&&!((this.flags|e.flags)&8)}getSide(){return 0}destroy(){for(let e of this.children)e.parent==this&&e.destroy();this.parent=null}};le.prototype.breakAfter=0;function kp(i){let e=i.nextSibling;return i.parentNode.removeChild(i),e}var jo=class{constructor(e,t,n){this.children=e,this.pos=t,this.i=n,this.off=0}findPos(e,t=1){for(;;){if(e>this.pos||e==this.pos&&(t>0||this.i==0||this.children[this.i-1].breakAfter))return this.off=e-this.pos,this;let n=this.children[--this.i];this.pos-=n.length+n.breakAfter}}};function ym(i,e,t,n,r,s,o,a,l){let{children:c}=i,O=c.length?c[e]:null,h=s.length?s[s.length-1]:null,f=h?h.breakAfter:o;if(!(e==n&&O&&!o&&!f&&s.length<2&&O.merge(t,r,s.length?h:null,t==0,a,l))){if(n<c.length){let u=c[n];u&&(r<u.length||u.breakAfter&&h?.breakAfter)?(e==n&&(u=u.split(r),r=0),!f&&h&&u.merge(0,r,h,!0,0,l)?s[s.length-1]=u:((r||u.children.length&&!u.children[0].length)&&u.merge(0,r,null,!1,0,l),s.push(u))):u?.breakAfter&&(h?h.breakAfter=1:o=1),n++}for(O&&(O.breakAfter=o,t>0&&(!o&&s.length&&O.merge(t,O.length,s[0],!1,a,0)?O.breakAfter=s.shift().breakAfter:(t<O.length||O.children.length&&O.children[O.children.length-1].length==0)&&O.merge(t,O.length,null,!1,a,0),e++));e<n&&s.length;)if(c[n-1].become(s[s.length-1]))n--,s.pop(),l=s.length?0:a;else if(c[e].become(s[0]))e++,s.shift(),a=s.length?0:l;else break;!s.length&&e&&n<c.length&&!c[e-1].breakAfter&&c[n].merge(0,0,c[e-1],!1,a,l)&&e--,(e<n||s.length)&&i.replaceChildren(e,n,s)}}function Qm(i,e,t,n,r,s){let o=i.childCursor(),{i:a,off:l}=o.findPos(t,1),{i:c,off:O}=o.findPos(e,-1),h=e-t;for(let f of n)h+=f.length;i.length+=h,ym(i,c,O,a,l,n,0,r,s)}var Le=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},LO=typeof document<"u"?document:{documentElement:{style:{}}},GO=/Edge\/(\d+)/.exec(Le.userAgent),Sm=/MSIE \d/.test(Le.userAgent),BO=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Le.userAgent),ea=!!(Sm||BO||GO),Tp=!ea&&/gecko\/(\d+)/i.test(Le.userAgent),ZO=!ea&&/Chrome\/(\d+)/.exec(Le.userAgent),zp="webkitFontSmoothing"in LO.documentElement.style,bm=!ea&&/Apple Computer/.test(Le.vendor),Xp=bm&&(/Mobile\/\w+/.test(Le.userAgent)||Le.maxTouchPoints>2),R={mac:Xp||/Mac/.test(Le.platform),windows:/Win/.test(Le.platform),linux:/Linux|X11/.test(Le.platform),ie:ea,ie_version:Sm?LO.documentMode||6:BO?+BO[1]:GO?+GO[1]:0,gecko:Tp,gecko_version:Tp?+(/Firefox\/(\d+)/.exec(Le.userAgent)||[0,0])[1]:0,chrome:!!ZO,chrome_version:ZO?+ZO[1]:0,ios:Xp,android:/Android\b/.test(Le.userAgent),webkit:zp,safari:bm,webkit_version:zp?+(/\bAppleWebKit\/(\d+)/.exec(Le.userAgent)||[0,0])[1]:0,tabSize:LO.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"},fx=256,zt=class i extends le{constructor(e){super(),this.text=e}get length(){return this.text.length}createDOM(e){this.setDOM(e||document.createTextNode(this.text))}sync(e,t){this.dom||this.createDOM(),this.dom.nodeValue!=this.text&&(t&&t.node==this.dom&&(t.written=!0),this.dom.nodeValue=this.text)}reuseDOM(e){e.nodeType==3&&this.createDOM(e)}merge(e,t,n){return this.flags&8||n&&(!(n instanceof i)||this.length-(t-e)+n.length>fx||n.flags&8)?!1:(this.text=this.text.slice(0,e)+(n?n.text:"")+this.text.slice(t),this.markDirty(),!0)}split(e){let t=new i(this.text.slice(e));return this.text=this.text.slice(0,e),this.markDirty(),t.flags|=this.flags&8,t}localPosFromDOM(e,t){return e==this.dom?t:t?this.text.length:0}domAtPos(e){return new je(this.dom,e)}domBoundsAround(e,t,n){return{from:n,to:n+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}}coordsAt(e,t){return ux(this.dom,e,t)}},fi=class i extends le{constructor(e,t=[],n=0){super(),this.mark=e,this.children=t,this.length=n;for(let r of t)r.setParent(this)}setAttrs(e){if(pm(e),this.mark.class&&(e.className=this.mark.class),this.mark.attrs)for(let t in this.mark.attrs)e.setAttribute(t,this.mark.attrs[t]);return e}canReuseDOM(e){return super.canReuseDOM(e)&&!((this.flags|e.flags)&8)}reuseDOM(e){e.nodeName==this.mark.tagName.toUpperCase()&&(this.setDOM(e),this.flags|=6)}sync(e,t){this.dom?this.flags&4&&this.setAttrs(this.dom):this.setDOM(this.setAttrs(document.createElement(this.mark.tagName))),super.sync(e,t)}merge(e,t,n,r,s,o){return n&&(!(n instanceof i&&n.mark.eq(this.mark))||e&&s<=0||t<this.length&&o<=0)?!1:(Qm(this,e,t,n?n.children.slice():[],s-1,o-1),this.markDirty(),!0)}split(e){let t=[],n=0,r=-1,s=0;for(let a of this.children){let l=n+a.length;l>e&&t.push(n<e?a.split(e-n):a),r<0&&n>=e&&(r=s),n=l,s++}let o=this.length-e;return this.length=e,r>-1&&(this.children.length=r,this.markDirty()),new i(this.mark,t,o)}domAtPos(e){return xm(this,e)}coordsAt(e,t){return wm(this,e,t)}};function ux(i,e,t){let n=i.nodeValue.length;e>n&&(e=n);let r=e,s=e,o=0;e==0&&t<0||e==n&&t>=0?R.chrome||R.gecko||(e?(r--,o=1):s<n&&(s++,o=-1)):t<0?r--:s<n&&s++;let a=ji(i,r,s).getClientRects();if(!a.length)return null;let l=a[(o?o<0:t>=0)?0:a.length-1];return R.safari&&!o&&l.width==0&&(l=Array.prototype.find.call(a,c=>c.width)||l),o?Jo(l,o<0):l||null}var Ur=class i extends le{static create(e,t,n){return new i(e,t,n)}constructor(e,t,n){super(),this.widget=e,this.length=t,this.side=n,this.prevWidget=null}split(e){let t=i.create(this.widget,this.length-e,this.side);return this.length-=e,t}sync(e){(!this.dom||!this.widget.updateDOM(this.dom,e))&&(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(e)),this.widget.editable||(this.dom.contentEditable="false"))}getSide(){return this.side}merge(e,t,n,r,s,o){return n&&(!(n instanceof i)||!this.widget.compare(n.widget)||e>0&&s<=0||t<this.length&&o<=0)?!1:(this.length=e+(n?n.length:0)+(this.length-t),!0)}become(e){return e instanceof i&&e.side==this.side&&this.widget.constructor==e.widget.constructor?(this.widget.compare(e.widget)||this.markDirty(!0),this.dom&&!this.prevWidget&&(this.prevWidget=this.widget),this.widget=e.widget,this.length=e.length,!0):!1}ignoreMutation(){return!0}ignoreEvent(e){return this.widget.ignoreEvent(e)}get overrideDOMText(){if(this.length==0)return U.empty;let e=this;for(;e.parent;)e=e.parent;let{view:t}=e,n=t&&t.state.doc,r=this.posAtStart;return n?n.slice(r,r+this.length):U.empty}domAtPos(e){return(this.length?e==0:this.side>0)?je.before(this.dom):je.after(this.dom,e==this.length)}domBoundsAround(){return null}coordsAt(e,t){let n=this.widget.coordsAt(this.dom,e,t);if(n)return n;let r=this.dom.getClientRects(),s=null;if(!r.length)return null;let o=this.side?this.side<0:e>0;for(let a=o?r.length-1:0;s=r[a],!(e>0?a==0:a==r.length-1||s.top<s.bottom);a+=o?-1:1);return Jo(s,!o)}get isEditable(){return!1}get isWidget(){return!0}get isHidden(){return this.widget.isHidden}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}},Mr=class i extends le{constructor(e){super(),this.side=e}get length(){return 0}merge(){return!1}become(e){return e instanceof i&&e.side==this.side}split(){return new i(this.side)}sync(){if(!this.dom){let e=document.createElement("img");e.className="cm-widgetBuffer",e.setAttribute("aria-hidden","true"),this.setDOM(e)}}getSide(){return this.side}domAtPos(e){return this.side>0?je.before(this.dom):je.after(this.dom)}localPosFromDOM(){return 0}domBoundsAround(){return null}coordsAt(e){return this.dom.getBoundingClientRect()}get overrideDOMText(){return U.empty}get isHidden(){return!0}};zt.prototype.children=Ur.prototype.children=Mr.prototype.children=Xc;function xm(i,e){let t=i.dom,{children:n}=i,r=0;for(let s=0;r<n.length;r++){let o=n[r],a=s+o.length;if(!(a==s&&o.getSide()<=0)){if(e>s&&e<a&&o.dom.parentNode==t)return o.domAtPos(e-s);if(e<=s)break;s=a}}for(let s=r;s>0;s--){let o=n[s-1];if(o.dom.parentNode==t)return o.domAtPos(o.length)}for(let s=r;s<n.length;s++){let o=n[s];if(o.dom.parentNode==t)return o.domAtPos(0)}return new je(t,0)}function vm(i,e,t){let n,{children:r}=i;t>0&&e instanceof fi&&r.length&&(n=r[r.length-1])instanceof fi&&n.mark.eq(e.mark)?vm(n,e.children[0],t-1):(r.push(e),e.setParent(i)),i.length+=e.length}function wm(i,e,t){let n=null,r=-1,s=null,o=-1;function a(c,O){for(let h=0,f=0;h<c.children.length&&f<=O;h++){let u=c.children[h],d=f+u.length;d>=O&&(u.children.length?a(u,O-f):(!s||s.isHidden&&(t>0||px(s,u)))&&(d>O||f==d&&u.getSide()>0)?(s=u,o=O-f):(f<O||f==d&&u.getSide()<0&&!u.isHidden)&&(n=u,r=O-f)),f=d}}a(i,e);let l=(t<0?n:s)||n||s;return l?l.coordsAt(Math.max(0,l==n?r:o),t):dx(i)}function dx(i){let e=i.dom.lastChild;if(!e)return i.dom.getBoundingClientRect();let t=Yr(e);return t[t.length-1]||null}function px(i,e){let t=i.coordsAt(0,1),n=e.coordsAt(0,1);return t&&n&&n.top<t.bottom}function IO(i,e){for(let t in i)t=="class"&&e.class?e.class+=" "+i.class:t=="style"&&e.style?e.style+=";"+i.style:e[t]=i[t];return e}var Rp=Object.create(null);function Yo(i,e,t){if(i==e)return!0;i||(i=Rp),e||(e=Rp);let n=Object.keys(i),r=Object.keys(e);if(n.length-(t&&n.indexOf(t)>-1?1:0)!=r.length-(t&&r.indexOf(t)>-1?1:0))return!1;for(let s of n)if(s!=t&&(r.indexOf(s)==-1||i[s]!==e[s]))return!1;return!0}function NO(i,e,t){let n=!1;if(e)for(let r in e)t&&r in t||(n=!0,r=="style"?i.style.cssText="":i.removeAttribute(r));if(t)for(let r in t)e&&e[r]==t[r]||(n=!0,r=="style"?i.style.cssText=t[r]:i.setAttribute(r,t[r]));return n}function mx(i){let e=Object.create(null);for(let t=0;t<i.attributes.length;t++){let n=i.attributes[t];e[n.name]=n.value}return e}var Ge=class{eq(e){return!1}updateDOM(e,t){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(e){return!0}coordsAt(e,t,n){return null}get isHidden(){return!1}get editable(){return!1}destroy(e){}},Ye=function(i){return i[i.Text=0]="Text",i[i.WidgetBefore=1]="WidgetBefore",i[i.WidgetAfter=2]="WidgetAfter",i[i.WidgetRange=3]="WidgetRange",i}(Ye||(Ye={})),q=class extends pt{constructor(e,t,n,r){super(),this.startSide=e,this.endSide=t,this.widget=n,this.spec=r}get heightRelevant(){return!1}static mark(e){return new Er(e)}static widget(e){let t=Math.max(-1e4,Math.min(1e4,e.side||0)),n=!!e.block;return t+=n&&!e.inlineOrder?t>0?3e8:-4e8:t>0?1e8:-1e8,new ui(e,t,t,n,e.widget||null,!1)}static replace(e){let t=!!e.block,n,r;if(e.isBlockGap)n=-5e8,r=4e8;else{let{start:s,end:o}=Pm(e,t);n=(s?t?-3e8:-1:5e8)-1,r=(o?t?2e8:1:-6e8)+1}return new ui(e,n,r,t,e.widget||null,!0)}static line(e){return new Dr(e)}static set(e,t=!1){return F.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}};q.none=F.empty;var Er=class i extends q{constructor(e){let{start:t,end:n}=Pm(e);super(t?-1:5e8,n?1:-6e8,null,e),this.tagName=e.tagName||"span",this.class=e.class||"",this.attrs=e.attributes||null}eq(e){var t,n;return this==e||e instanceof i&&this.tagName==e.tagName&&(this.class||((t=this.attrs)===null||t===void 0?void 0:t.class))==(e.class||((n=e.attrs)===null||n===void 0?void 0:n.class))&&Yo(this.attrs,e.attrs,"class")}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}};Er.prototype.point=!1;var Dr=class i extends q{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof i&&this.spec.class==e.spec.class&&Yo(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}};Dr.prototype.mapMode=Pe.TrackBefore;Dr.prototype.point=!0;var ui=class i extends q{constructor(e,t,n,r,s,o){super(t,n,s,e),this.block=r,this.isReplace=o,this.mapMode=r?t<=0?Pe.TrackBefore:Pe.TrackAfter:Pe.TrackDel}get type(){return this.startSide!=this.endSide?Ye.WidgetRange:this.startSide<=0?Ye.WidgetBefore:Ye.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof i&&gx(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}};ui.prototype.point=!0;function Pm(i,e=!1){let{inclusiveStart:t,inclusiveEnd:n}=i;return t==null&&(t=i.inclusive),n==null&&(n=i.inclusive),{start:t??e,end:n??e}}function gx(i,e){return i==e||!!(i&&e&&i.compare(e))}function qo(i,e,t,n=0){let r=t.length-1;r>=0&&t[r]+n>=i?t[r]=Math.max(t[r],e):t.push(i,e)}var Re=class i extends le{constructor(){super(...arguments),this.children=[],this.length=0,this.prevAttrs=void 0,this.attrs=null,this.breakAfter=0}merge(e,t,n,r,s,o){if(n){if(!(n instanceof i))return!1;this.dom||n.transferDOM(this)}return r&&this.setDeco(n?n.attrs:null),Qm(this,e,t,n?n.children.slice():[],s,o),!0}split(e){let t=new i;if(t.breakAfter=this.breakAfter,this.length==0)return t;let{i:n,off:r}=this.childPos(e);r&&(t.append(this.children[n].split(r),0),this.children[n].merge(r,this.children[n].length,null,!1,0,0),n++);for(let s=n;s<this.children.length;s++)t.append(this.children[s],0);for(;n>0&&this.children[n-1].length==0;)this.children[--n].destroy();return this.children.length=n,this.markDirty(),this.length=e,t}transferDOM(e){this.dom&&(this.markDirty(),e.setDOM(this.dom),e.prevAttrs=this.prevAttrs===void 0?this.attrs:this.prevAttrs,this.prevAttrs=void 0,this.dom=null)}setDeco(e){Yo(this.attrs,e)||(this.dom&&(this.prevAttrs=this.attrs,this.markDirty()),this.attrs=e)}append(e,t){vm(this,e,t)}addLineDeco(e){let t=e.spec.attributes,n=e.spec.class;t&&(this.attrs=IO(t,this.attrs||{})),n&&(this.attrs=IO({class:n},this.attrs||{}))}domAtPos(e){return xm(this,e)}reuseDOM(e){e.nodeName=="DIV"&&(this.setDOM(e),this.flags|=6)}sync(e,t){var n;this.dom?this.flags&4&&(pm(this.dom),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0):(this.setDOM(document.createElement("div")),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0),this.prevAttrs!==void 0&&(NO(this.dom,this.prevAttrs,this.attrs),this.dom.classList.add("cm-line"),this.prevAttrs=void 0),super.sync(e,t);let r=this.dom.lastChild;for(;r&&le.get(r)instanceof fi;)r=r.lastChild;if(!r||!this.length||r.nodeName!="BR"&&((n=le.get(r))===null||n===void 0?void 0:n.isEditable)==!1&&(!R.ios||!this.children.some(s=>s instanceof zt))){let s=document.createElement("BR");s.cmIgnore=!0,this.dom.appendChild(s)}}measureTextSize(){if(this.children.length==0||this.length>20)return null;let e=0,t;for(let n of this.children){if(!(n instanceof zt)||/[^ -~]/.test(n.text))return null;let r=Yr(n.dom);if(r.length!=1)return null;e+=r[0].width,t=r[0].height}return e?{lineHeight:this.dom.getBoundingClientRect().height,charWidth:e/this.length,textHeight:t}:null}coordsAt(e,t){let n=wm(this,e,t);if(!this.children.length&&n&&this.parent){let{heightOracle:r}=this.parent.view.viewState,s=n.bottom-n.top;if(Math.abs(s-r.lineHeight)<2&&r.textHeight<s){let o=(s-r.textHeight)/2;return{top:n.top+o,bottom:n.bottom-o,left:n.left,right:n.left}}}return n}become(e){return e instanceof i&&this.children.length==0&&e.children.length==0&&Yo(this.attrs,e.attrs)&&this.breakAfter==e.breakAfter}covers(){return!0}static find(e,t){for(let n=0,r=0;n<e.children.length;n++){let s=e.children[n],o=r+s.length;if(o>=t){if(s instanceof i)return s;if(o>t)break}r=o+s.breakAfter}return null}},Vi=class i extends le{constructor(e,t,n){super(),this.widget=e,this.length=t,this.deco=n,this.breakAfter=0,this.prevWidget=null}merge(e,t,n,r,s,o){return n&&(!(n instanceof i)||!this.widget.compare(n.widget)||e>0&&s<=0||t<this.length&&o<=0)?!1:(this.length=e+(n?n.length:0)+(this.length-t),!0)}domAtPos(e){return e==0?je.before(this.dom):je.after(this.dom,e==this.length)}split(e){let t=this.length-e;this.length=e;let n=new i(this.widget,t,this.deco);return n.breakAfter=this.breakAfter,n}get children(){return Xc}sync(e){(!this.dom||!this.widget.updateDOM(this.dom,e))&&(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(e)),this.widget.editable||(this.dom.contentEditable="false"))}get overrideDOMText(){return this.parent?this.parent.view.state.doc.slice(this.posAtStart,this.posAtEnd):U.empty}domBoundsAround(){return null}become(e){return e instanceof i&&e.widget.constructor==this.widget.constructor?(e.widget.compare(this.widget)||this.markDirty(!0),this.dom&&!this.prevWidget&&(this.prevWidget=this.widget),this.widget=e.widget,this.length=e.length,this.deco=e.deco,this.breakAfter=e.breakAfter,!0):!1}ignoreMutation(){return!0}ignoreEvent(e){return this.widget.ignoreEvent(e)}get isEditable(){return!1}get isWidget(){return!0}coordsAt(e,t){let n=this.widget.coordsAt(this.dom,e,t);return n||(this.widget instanceof Lr?null:Jo(this.dom.getBoundingClientRect(),this.length?e==0:t<=0))}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}covers(e){let{startSide:t,endSide:n}=this.deco;return t==n?!1:e<0?t<0:n>0}},Lr=class extends Ge{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}},_r=class i{constructor(e,t,n,r){this.doc=e,this.pos=t,this.end=n,this.disallowBlockEffectsFor=r,this.content=[],this.curLine=null,this.breakAtStart=0,this.pendingBuffer=0,this.bufferMarks=[],this.atCursorPos=!0,this.openStart=-1,this.openEnd=-1,this.text="",this.textOff=0,this.cursor=e.iter(),this.skip=t}posCovered(){if(this.content.length==0)return!this.breakAtStart&&this.doc.lineAt(this.pos).from!=this.pos;let e=this.content[this.content.length-1];return!(e.breakAfter||e instanceof Vi&&e.deco.endSide<0)}getLine(){return this.curLine||(this.content.push(this.curLine=new Re),this.atCursorPos=!0),this.curLine}flushBuffer(e=this.bufferMarks){this.pendingBuffer&&(this.curLine.append(bo(new Mr(-1),e),e.length),this.pendingBuffer=0)}addBlockWidget(e){this.flushBuffer(),this.curLine=null,this.content.push(e)}finish(e){this.pendingBuffer&&e<=this.bufferMarks.length?this.flushBuffer():this.pendingBuffer=0,!this.posCovered()&&!(e&&this.content.length&&this.content[this.content.length-1]instanceof Vi)&&this.getLine()}buildText(e,t,n){for(;e>0;){if(this.textOff==this.text.length){let{value:s,lineBreak:o,done:a}=this.cursor.next(this.skip);if(this.skip=0,a)throw new Error("Ran out of text content when drawing inline views");if(o){this.posCovered()||this.getLine(),this.content.length?this.content[this.content.length-1].breakAfter=1:this.breakAtStart=1,this.flushBuffer(),this.curLine=null,this.atCursorPos=!0,e--;continue}else this.text=s,this.textOff=0}let r=Math.min(this.text.length-this.textOff,e,512);this.flushBuffer(t.slice(t.length-n)),this.getLine().append(bo(new zt(this.text.slice(this.textOff,this.textOff+r)),t),n),this.atCursorPos=!0,this.textOff+=r,e-=r,n=0}}span(e,t,n,r){this.buildText(t-e,n,r),this.pos=t,this.openStart<0&&(this.openStart=r)}point(e,t,n,r,s,o){if(this.disallowBlockEffectsFor[o]&&n instanceof ui){if(n.block)throw new RangeError("Block decorations may not be specified via plugins");if(t>this.doc.lineAt(this.pos).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}let a=t-e;if(n instanceof ui)if(n.block)n.startSide>0&&!this.posCovered()&&this.getLine(),this.addBlockWidget(new Vi(n.widget||di.block,a,n));else{let l=Ur.create(n.widget||di.inline,a,a?0:n.startSide),c=this.atCursorPos&&!l.isEditable&&s<=r.length&&(e<t||n.startSide>0),O=!l.isEditable&&(e<t||s>r.length||n.startSide<=0),h=this.getLine();this.pendingBuffer==2&&!c&&!l.isEditable&&(this.pendingBuffer=0),this.flushBuffer(r),c&&(h.append(bo(new Mr(1),r),s),s=r.length+Math.max(0,s-r.length)),h.append(bo(l,r),s),this.atCursorPos=O,this.pendingBuffer=O?e<t||s>r.length?1:2:0,this.pendingBuffer&&(this.bufferMarks=r.slice())}else this.doc.lineAt(this.pos).from==this.pos&&this.getLine().addLineDeco(n);a&&(this.textOff+a<=this.text.length?this.textOff+=a:(this.skip+=a-(this.text.length-this.textOff),this.text="",this.textOff=0),this.pos=t),this.openStart<0&&(this.openStart=s)}static build(e,t,n,r,s){let o=new i(e,t,n,s);return o.openEnd=F.spans(r,t,n,o),o.openStart<0&&(o.openStart=o.openEnd),o.finish(o.openEnd),o}};function bo(i,e){for(let t of e)i=new fi(t,[i],i.length);return i}var di=class extends Ge{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}};di.inline=new di("span");di.block=new di("div");var ne=function(i){return i[i.LTR=0]="LTR",i[i.RTL=1]="RTL",i}(ne||(ne={})),Yi=ne.LTR,Rc=ne.RTL;function km(i){let e=[];for(let t=0;t<i.length;t++)e.push(1<<+i[t]);return e}var $x=km("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),yx=km("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),FO=Object.create(null),vt=[];for(let i of["()","[]","{}"]){let e=i.charCodeAt(0),t=i.charCodeAt(1);FO[e]=t,FO[t]=-e}function Tm(i){return i<=247?$x[i]:1424<=i&&i<=1524?2:1536<=i&&i<=1785?yx[i-1536]:1774<=i&&i<=2220?4:8192<=i&&i<=8204?256:64336<=i&&i<=65023?4:1}var Qx=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/,Pt=class{get dir(){return this.level%2?Rc:Yi}constructor(e,t,n){this.from=e,this.to=t,this.level=n}side(e,t){return this.dir==t==e?this.to:this.from}forward(e,t){return e==(this.dir==t)}static find(e,t,n,r){let s=-1;for(let o=0;o<e.length;o++){let a=e[o];if(a.from<=t&&a.to>=t){if(a.level==n)return o;(s<0||(r!=0?r<0?a.from<t:a.to>t:e[s].level>a.level))&&(s=o)}}if(s<0)throw new RangeError("Index out of range");return s}};function zm(i,e){if(i.length!=e.length)return!1;for(let t=0;t<i.length;t++){let n=i[t],r=e[t];if(n.from!=r.from||n.to!=r.to||n.direction!=r.direction||!zm(n.inner,r.inner))return!1}return!0}var oe=[];function Sx(i,e,t,n,r){for(let s=0;s<=n.length;s++){let o=s?n[s-1].to:e,a=s<n.length?n[s].from:t,l=s?256:r;for(let c=o,O=l,h=l;c<a;c++){let f=Tm(i.charCodeAt(c));f==512?f=O:f==8&&h==4&&(f=16),oe[c]=f==4?2:f,f&7&&(h=f),O=f}for(let c=o,O=l,h=l;c<a;c++){let f=oe[c];if(f==128)c<a-1&&O==oe[c+1]&&O&24?f=oe[c]=O:oe[c]=256;else if(f==64){let u=c+1;for(;u<a&&oe[u]==64;)u++;let d=c&&O==8||u<t&&oe[u]==8?h==1?1:8:256;for(let p=c;p<u;p++)oe[p]=d;c=u-1}else f==8&&h==1&&(oe[c]=1);O=f,f&7&&(h=f)}}}function bx(i,e,t,n,r){let s=r==1?2:1;for(let o=0,a=0,l=0;o<=n.length;o++){let c=o?n[o-1].to:e,O=o<n.length?n[o].from:t;for(let h=c,f,u,d;h<O;h++)if(u=FO[f=i.charCodeAt(h)])if(u<0){for(let p=a-3;p>=0;p-=3)if(vt[p+1]==-u){let m=vt[p+2],g=m&2?r:m&4?m&1?s:r:0;g&&(oe[h]=oe[vt[p]]=g),a=p;break}}else{if(vt.length==189)break;vt[a++]=h,vt[a++]=f,vt[a++]=l}else if((d=oe[h])==2||d==1){let p=d==r;l=p?0:1;for(let m=a-3;m>=0;m-=3){let g=vt[m+2];if(g&2)break;if(p)vt[m+2]|=2;else{if(g&4)break;vt[m+2]|=4}}}}}function xx(i,e,t,n){for(let r=0,s=n;r<=t.length;r++){let o=r?t[r-1].to:i,a=r<t.length?t[r].from:e;for(let l=o;l<a;){let c=oe[l];if(c==256){let O=l+1;for(;;)if(O==a){if(r==t.length)break;O=t[r++].to,a=r<t.length?t[r].from:e}else if(oe[O]==256)O++;else break;let h=s==1,f=(O<e?oe[O]:n)==1,u=h==f?h?1:2:n;for(let d=O,p=r,m=p?t[p-1].to:i;d>l;)d==m&&(d=t[--p].from,m=p?t[p-1].to:i),oe[--d]=u;l=O}else s=c,l++}}}function HO(i,e,t,n,r,s,o){let a=n%2?2:1;if(n%2==r%2)for(let l=e,c=0;l<t;){let O=!0,h=!1;if(c==s.length||l<s[c].from){let p=oe[l];p!=a&&(O=!1,h=p==16)}let f=!O&&a==1?[]:null,u=O?n:n+1,d=l;e:for(;;)if(c<s.length&&d==s[c].from){if(h)break e;let p=s[c];if(!O)for(let m=p.to,g=c+1;;){if(m==t)break e;if(g<s.length&&s[g].from==m)m=s[g++].to;else{if(oe[m]==a)break e;break}}if(c++,f)f.push(p);else{p.from>l&&o.push(new Pt(l,p.from,u));let m=p.direction==Yi!=!(u%2);KO(i,m?n+1:n,r,p.inner,p.from,p.to,o),l=p.to}d=p.to}else{if(d==t||(O?oe[d]!=a:oe[d]==a))break;d++}f?HO(i,l,d,n+1,r,f,o):l<d&&o.push(new Pt(l,d,u)),l=d}else for(let l=t,c=s.length;l>e;){let O=!0,h=!1;if(!c||l>s[c-1].to){let p=oe[l-1];p!=a&&(O=!1,h=p==16)}let f=!O&&a==1?[]:null,u=O?n:n+1,d=l;e:for(;;)if(c&&d==s[c-1].to){if(h)break e;let p=s[--c];if(!O)for(let m=p.from,g=c;;){if(m==e)break e;if(g&&s[g-1].to==m)m=s[--g].from;else{if(oe[m-1]==a)break e;break}}if(f)f.push(p);else{p.to<l&&o.push(new Pt(p.to,l,u));let m=p.direction==Yi!=!(u%2);KO(i,m?n+1:n,r,p.inner,p.from,p.to,o),l=p.from}d=p.from}else{if(d==e||(O?oe[d-1]!=a:oe[d-1]==a))break;d--}f?HO(i,d,l,n+1,r,f,o):d<l&&o.push(new Pt(d,l,u)),l=d}}function KO(i,e,t,n,r,s,o){let a=e%2?2:1;Sx(i,r,s,n,a),bx(i,r,s,n,a),xx(r,s,n,a),HO(i,r,s,e,t,n,o)}function vx(i,e,t){if(!i)return[new Pt(0,0,e==Rc?1:0)];if(e==Yi&&!t.length&&!Qx.test(i))return Xm(i.length);if(t.length)for(;i.length>oe.length;)oe[oe.length]=256;let n=[],r=e==Yi?0:1;return KO(i,r,r,t,0,i.length,n),n}function Xm(i){return[new Pt(0,i,0)]}var Rm="";function wx(i,e,t,n,r){var s;let o=n.head-i.from,a=Pt.find(e,o,(s=n.bidiLevel)!==null&&s!==void 0?s:-1,n.assoc),l=e[a],c=l.side(r,t);if(o==c){let f=a+=r?1:-1;if(f<0||f>=e.length)return null;l=e[a=f],o=l.side(!r,t),c=l.side(r,t)}let O=ve(i.text,o,l.forward(r,t));(O<l.from||O>l.to)&&(O=c),Rm=i.text.slice(Math.min(o,O),Math.max(o,O));let h=a==(r?e.length-1:0)?null:e[a+(r?1:-1)];return h&&O==c&&h.level+(r?0:1)<l.level?P.cursor(h.side(!r,t)+i.from,h.forward(r,t)?1:-1,h.level):P.cursor(O+i.from,l.forward(r,t)?-1:1,l.level)}function Px(i,e,t){for(let n=e;n<t;n++){let r=Tm(i.charCodeAt(n));if(r==1)return Yi;if(r==2||r==4)return Rc}return Yi}var qm=X.define(),_m=X.define(),Cm=X.define(),Wm=X.define(),JO=X.define(),Zm=X.define(),Vm=X.define(),qc=X.define(),_c=X.define(),Am=X.define({combine:i=>i.some(e=>e)}),jm=X.define({combine:i=>i.some(e=>e)}),Ym=X.define(),Cr=class i{constructor(e,t="nearest",n="nearest",r=5,s=5,o=!1){this.range=e,this.y=t,this.x=n,this.yMargin=r,this.xMargin=s,this.isSnapshot=o}map(e){return e.empty?this:new i(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new i(P.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}},xo=Z.define({map:(i,e)=>i.map(e)}),Um=Z.define();function qe(i,e,t){let n=i.facet(Wm);n.length?n[0](e):window.onerror&&window.onerror(String(e),t,void 0,void 0,e)||(t?console.error(t+":",e):console.error(e))}var It=X.define({combine:i=>i.length?i[0]:!0}),kx=0,Pn=X.define({combine(i){return i.filter((e,t)=>{for(let n=0;n<t;n++)if(i[n].plugin==e.plugin)return!1;return!0})}}),me=class i{constructor(e,t,n,r,s){this.id=e,this.create=t,this.domEventHandlers=n,this.domEventObservers=r,this.baseExtensions=s(this),this.extension=this.baseExtensions.concat(Pn.of({plugin:this,arg:void 0}))}of(e){return this.baseExtensions.concat(Pn.of({plugin:this,arg:e}))}static define(e,t){let{eventHandlers:n,eventObservers:r,provide:s,decorations:o}=t||{};return new i(kx++,e,n,r,a=>{let l=[];return o&&l.push(Gr.of(c=>{let O=c.plugin(a);return O?o(O):q.none})),s&&l.push(s(a)),l})}static fromClass(e,t){return i.define((n,r)=>new e(n,r),t)}},Wr=class{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(n){if(qe(t.state,n,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(t){qe(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(!((t=this.value)===null||t===void 0)&&t.destroy)try{this.value.destroy()}catch(n){qe(e.state,n,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}},Mm=X.define(),Cc=X.define(),Gr=X.define(),Em=X.define(),Wc=X.define(),Dm=X.define();function qp(i,e){let t=i.state.facet(Dm);if(!t.length)return t;let n=t.map(s=>s instanceof Function?s(i):s),r=[];return F.spans(n,e.from,e.to,{point(){},span(s,o,a,l){let c=s-e.from,O=o-e.from,h=r;for(let f=a.length-1;f>=0;f--,l--){let u=a[f].spec.bidiIsolate,d;if(u==null&&(u=Px(e.text,c,O)),l>0&&h.length&&(d=h[h.length-1]).to==c&&d.direction==u)d.to=O,h=d.inner;else{let p={from:c,to:O,direction:u,inner:[]};h.push(p),h=p.inner}}}}),r}var Lm=X.define();function Zc(i){let e=0,t=0,n=0,r=0;for(let s of i.state.facet(Lm)){let o=s(i);o&&(o.left!=null&&(e=Math.max(e,o.left)),o.right!=null&&(t=Math.max(t,o.right)),o.top!=null&&(n=Math.max(n,o.top)),o.bottom!=null&&(r=Math.max(r,o.bottom)))}return{left:e,right:t,top:n,bottom:r}}var Tr=X.define(),kt=class i{constructor(e,t,n,r){this.fromA=e,this.toA=t,this.fromB=n,this.toB=r}join(e){return new i(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,n=this;for(;t>0;t--){let r=e[t-1];if(!(r.fromA>n.toA)){if(r.toA<n.fromA)break;n=n.join(r),e.splice(t-1,1)}}return e.splice(t,0,n),e}static extendWithRanges(e,t){if(t.length==0)return e;let n=[];for(let r=0,s=0,o=0,a=0;;r++){let l=r==e.length?null:e[r],c=o-a,O=l?l.fromB:1e9;for(;s<t.length&&t[s]<O;){let h=t[s],f=t[s+1],u=Math.max(a,h),d=Math.min(O,f);if(u<=d&&new i(u+c,d+c,u,d).addToSet(n),f>O)break;s+=2}if(!l)return n;new i(l.fromA,l.toA,l.fromB,l.toB).addToSet(n),o=l.toA,a=l.toB}}},Uo=class i{constructor(e,t,n){this.view=e,this.state=t,this.transactions=n,this.flags=0,this.startState=e.state,this.changes=Ae.empty(this.startState.doc.length);for(let s of n)this.changes=this.changes.compose(s.changes);let r=[];this.changes.iterChangedRanges((s,o,a,l)=>r.push(new kt(s,o,a,l))),this.changedRanges=r}static create(e,t,n){return new i(e,t,n)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}},Mo=class extends le{get length(){return this.view.state.doc.length}constructor(e){super(),this.view=e,this.decorations=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.markedForComposition=new Set,this.editContextFormatting=q.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.setDOM(e.contentDOM),this.children=[new Re],this.children[0].setParent(this),this.updateDeco(),this.updateInner([new kt(0,0,0,e.state.doc.length)],0,null)}update(e){var t;let n=e.changedRanges;this.minWidth>0&&n.length&&(n.every(({fromA:c,toA:O})=>O<this.minWidthFrom||c>this.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let r=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((t=this.domChanged)===null||t===void 0)&&t.newSel?r=this.domChanged.newSel.head:!Cx(e.changes,this.hasComposition)&&!e.selectionSet&&(r=e.state.selection.main.head));let s=r>-1?zx(this.view,e.changes,r):null;if(this.domChanged=null,this.hasComposition){this.markedForComposition.clear();let{from:c,to:O}=this.hasComposition;n=new kt(c,O,e.changes.mapPos(c,-1),e.changes.mapPos(O,1)).addToSet(n.slice())}this.hasComposition=s?{from:s.range.fromB,to:s.range.toB}:null,(R.ie||R.chrome)&&!s&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let o=this.decorations,a=this.updateDeco(),l=qx(o,a,e.changes);return n=kt.extendWithRanges(n,l),!(this.flags&7)&&n.length==0?!1:(this.updateInner(n,e.startState.doc.length,s),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t,n){this.view.viewState.mustMeasureContent=!0,this.updateChildren(e,t,n);let{observer:r}=this.view;r.ignore(()=>{this.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let o=R.chrome||R.ios?{node:r.selectionRange.focusNode,written:!1}:void 0;this.sync(this.view,o),this.flags&=-8,o&&(o.written||r.selectionRange.focusNode!=o.node)&&(this.forceSelection=!0),this.dom.style.height=""}),this.markedForComposition.forEach(o=>o.flags&=-9);let s=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let o of this.children)o instanceof Vi&&o.widget instanceof Lr&&s.push(o.dom);r.updateGaps(s)}updateChildren(e,t,n){let r=n?n.range.addToSet(e.slice()):e,s=this.childCursor(t);for(let o=r.length-1;;o--){let a=o>=0?r[o]:null;if(!a)break;let{fromA:l,toA:c,fromB:O,toB:h}=a,f,u,d,p;if(n&&n.range.fromB<h&&n.range.toB>O){let v=_r.build(this.view.state.doc,O,n.range.fromB,this.decorations,this.dynamicDecorationMap),b=_r.build(this.view.state.doc,n.range.toB,h,this.decorations,this.dynamicDecorationMap);u=v.breakAtStart,d=v.openStart,p=b.openEnd;let x=this.compositionView(n);b.breakAtStart?x.breakAfter=1:b.content.length&&x.merge(x.length,x.length,b.content[0],!1,b.openStart,0)&&(x.breakAfter=b.content[0].breakAfter,b.content.shift()),v.content.length&&x.merge(0,0,v.content[v.content.length-1],!0,0,v.openEnd)&&v.content.pop(),f=v.content.concat(x).concat(b.content)}else({content:f,breakAtStart:u,openStart:d,openEnd:p}=_r.build(this.view.state.doc,O,h,this.decorations,this.dynamicDecorationMap));let{i:m,off:g}=s.findPos(c,1),{i:y,off:S}=s.findPos(l,-1);ym(this,y,S,m,g,f,u,d,p)}n&&this.fixCompositionDOM(n)}updateEditContextFormatting(e){this.editContextFormatting=this.editContextFormatting.map(e.changes);for(let t of e.transactions)for(let n of t.effects)n.is(Um)&&(this.editContextFormatting=n.value)}compositionView(e){let t=new zt(e.text.nodeValue);t.flags|=8;for(let{deco:r}of e.marks)t=new fi(r,[t],t.length);let n=new Re;return n.append(t,0),n}fixCompositionDOM(e){let t=(s,o)=>{o.flags|=8|(o.children.some(l=>l.flags&7)?1:0),this.markedForComposition.add(o);let a=le.get(s);a&&a!=o&&(a.dom=null),o.setDOM(s)},n=this.childPos(e.range.fromB,1),r=this.children[n.i];t(e.line,r);for(let s=e.marks.length-1;s>=-1;s--)n=r.childPos(n.off,1),r=r.children[n.i],t(s>=0?e.marks[s].node:e.text,r)}updateSelection(e=!1,t=!1){(e||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let n=this.view.root.activeElement,r=n==this.dom,s=!r&&!(this.view.state.facet(It)||this.dom.tabIndex>-1)&&Ro(this.dom,this.view.observer.selectionRange)&&!(n&&this.dom.contains(n));if(!(r||t||s))return;let o=this.forceSelection;this.forceSelection=!1;let a=this.view.state.selection.main,l=this.moveToLine(this.domAtPos(a.anchor)),c=a.empty?l:this.moveToLine(this.domAtPos(a.head));if(R.gecko&&a.empty&&!this.hasComposition&&Tx(l)){let h=document.createTextNode("");this.view.observer.ignore(()=>l.node.insertBefore(h,l.node.childNodes[l.offset]||null)),l=c=new je(h,0),o=!0}let O=this.view.observer.selectionRange;(o||!O.focusNode||(!qr(l.node,l.offset,O.anchorNode,O.anchorOffset)||!qr(c.node,c.offset,O.focusNode,O.focusOffset))&&!this.suppressWidgetCursorChange(O,a))&&(this.view.observer.ignore(()=>{R.android&&R.chrome&&this.dom.contains(O.focusNode)&&_x(O.focusNode,this.dom)&&(this.dom.blur(),this.dom.focus({preventScroll:!0}));let h=jr(this.view.root);if(h)if(a.empty){if(R.gecko){let f=Xx(l.node,l.offset);if(f&&f!=3){let u=(f==1?gm:$m)(l.node,l.offset);u&&(l=new je(u.node,u.offset))}}h.collapse(l.node,l.offset),a.bidiLevel!=null&&h.caretBidiLevel!==void 0&&(h.caretBidiLevel=a.bidiLevel)}else if(h.extend){h.collapse(l.node,l.offset);try{h.extend(c.node,c.offset)}catch{}}else{let f=document.createRange();a.anchor>a.head&&([l,c]=[c,l]),f.setEnd(c.node,c.offset),f.setStart(l.node,l.offset),h.removeAllRanges(),h.addRange(f)}s&&this.view.root.activeElement==this.dom&&(this.dom.blur(),n&&n.focus())}),this.view.observer.setSelectionRange(l,c)),this.impreciseAnchor=l.precise?null:new je(O.anchorNode,O.anchorOffset),this.impreciseHead=c.precise?null:new je(O.focusNode,O.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&qr(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,n=jr(e.root),{anchorNode:r,anchorOffset:s}=e.observer.selectionRange;if(!n||!t.empty||!t.assoc||!n.modify)return;let o=Re.find(this,t.head);if(!o)return;let a=o.posAtStart;if(t.head==a||t.head==a+o.length)return;let l=this.coordsAt(t.head,-1),c=this.coordsAt(t.head,1);if(!l||!c||l.bottom>c.top)return;let O=this.domAtPos(t.head+t.assoc);n.collapse(O.node,O.offset),n.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let h=e.observer.selectionRange;e.docView.posFromDOM(h.anchorNode,h.anchorOffset)!=t.from&&n.collapse(r,s)}moveToLine(e){let t=this.dom,n;if(e.node!=t)return e;for(let r=e.offset;!n&&r<t.childNodes.length;r++){let s=le.get(t.childNodes[r]);s instanceof Re&&(n=s.domAtPos(0))}for(let r=e.offset-1;!n&&r>=0;r--){let s=le.get(t.childNodes[r]);s instanceof Re&&(n=s.domAtPos(s.length))}return n?new je(n.node,n.offset,!0):e}nearest(e){for(let t=e;t;){let n=le.get(t);if(n&&n.rootView==this)return n;t=t.parentNode}return null}posFromDOM(e,t){let n=this.nearest(e);if(!n)throw new RangeError("Trying to find position for a DOM position outside of the document");return n.localPosFromDOM(e,t)+n.posAtStart}domAtPos(e){let{i:t,off:n}=this.childCursor().findPos(e,-1);for(;t<this.children.length-1;){let r=this.children[t];if(n<r.length||r instanceof Re)break;t++,n=0}return this.children[t].domAtPos(n)}coordsAt(e,t){let n=null,r=0;for(let s=this.length,o=this.children.length-1;o>=0;o--){let a=this.children[o],l=s-a.breakAfter,c=l-a.length;if(l<e)break;if(c<=e&&(c<e||a.covers(-1))&&(l>e||a.covers(1))&&(!n||a instanceof Re&&!(n instanceof Re&&t>=0)))n=a,r=c;else if(n&&c==e&&l==e&&a instanceof Vi&&Math.abs(t)<2){if(a.deco.startSide<0)break;o&&(n=null)}s=c}return n?n.coordsAt(e-r,t):null}coordsForChar(e){let{i:t,off:n}=this.childPos(e,1),r=this.children[t];if(!(r instanceof Re))return null;for(;r.children.length;){let{i:a,off:l}=r.childPos(n,1);for(;;a++){if(a==r.children.length)return null;if((r=r.children[a]).length)break}n=l}if(!(r instanceof zt))return null;let s=ve(r.text,n);if(s==n)return null;let o=ji(r.dom,n,s).getClientRects();for(let a=0;a<o.length;a++){let l=o[a];if(a==o.length-1||l.top<l.bottom&&l.left<l.right)return l}return null}measureVisibleLineHeights(e){let t=[],{from:n,to:r}=e,s=this.view.contentDOM.clientWidth,o=s>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,a=-1,l=this.view.textDirection==ne.LTR;for(let c=0,O=0;O<this.children.length;O++){let h=this.children[O],f=c+h.length;if(f>r)break;if(c>=n){let u=h.dom.getBoundingClientRect();if(t.push(u.height),o){let d=h.dom.lastChild,p=d?Yr(d):[];if(p.length){let m=p[p.length-1],g=l?m.right-u.left:u.right-m.left;g>a&&(a=g,this.minWidth=s,this.minWidthFrom=c,this.minWidthTo=f)}}}c=f+h.breakAfter}return t}textDirectionAt(e){let{i:t}=this.childPos(e,1);return getComputedStyle(this.children[t].dom).direction=="rtl"?ne.RTL:ne.LTR}measureTextSize(){for(let s of this.children)if(s instanceof Re){let o=s.measureTextSize();if(o)return o}let e=document.createElement("div"),t,n,r;return e.className="cm-line",e.style.width="99999px",e.style.position="absolute",e.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.dom.appendChild(e);let s=Yr(e.firstChild)[0];t=e.getBoundingClientRect().height,n=s?s.width/27:7,r=s?s.height:t,e.remove()}),{lineHeight:t,charWidth:n,textHeight:r}}childCursor(e=this.length){let t=this.children.length;return t&&(e-=this.children[--t].length),new jo(this.children,e,t)}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let n=0,r=0;;r++){let s=r==t.viewports.length?null:t.viewports[r],o=s?s.from-1:this.length;if(o>n){let a=(t.lineBlockAt(o).bottom-t.lineBlockAt(n).top)/this.view.scaleY;e.push(q.replace({widget:new Lr(a),block:!0,inclusive:!0,isBlockGap:!0}).range(n,o))}if(!s)break;n=s.to+1}return q.set(e)}updateDeco(){let e=1,t=this.view.state.facet(Gr).map(s=>(this.dynamicDecorationMap[e++]=typeof s=="function")?s(this.view):s),n=!1,r=this.view.state.facet(Em).map((s,o)=>{let a=typeof s=="function";return a&&(n=!0),a?s(this.view):s});for(r.length&&(this.dynamicDecorationMap[e++]=n,t.push(F.join(r))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];e<this.decorations.length;)this.dynamicDecorationMap[e++]=!1;return this.decorations}scrollIntoView(e){if(e.isSnapshot){let c=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=c.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let c of this.view.state.facet(Ym))try{if(c(this.view,e.range,e))return!0}catch(O){qe(this.view.state,O,"scroll handler")}let{range:t}=e,n=this.coordsAt(t.head,t.empty?t.assoc:t.head>t.anchor?-1:1),r;if(!n)return;!t.empty&&(r=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(n={left:Math.min(n.left,r.left),top:Math.min(n.top,r.top),right:Math.max(n.right,r.right),bottom:Math.max(n.bottom,r.bottom)});let s=Zc(this.view),o={left:n.left-s.left,top:n.top-s.top,right:n.right+s.right,bottom:n.bottom+s.bottom},{offsetWidth:a,offsetHeight:l}=this.view.scrollDOM;lx(this.view.scrollDOM,o,t.head<t.anchor?-1:1,e.x,e.y,Math.max(Math.min(e.xMargin,a),-a),Math.max(Math.min(e.yMargin,l),-l),this.view.textDirection==ne.LTR)}};function Tx(i){return i.node.nodeType==1&&i.node.firstChild&&(i.offset==0||i.node.childNodes[i.offset-1].contentEditable=="false")&&(i.offset==i.node.childNodes.length||i.node.childNodes[i.offset].contentEditable=="false")}function Gm(i,e){let t=i.observer.selectionRange;if(!t.focusNode)return null;let n=gm(t.focusNode,t.focusOffset),r=$m(t.focusNode,t.focusOffset),s=n||r;if(r&&n&&r.node!=n.node){let a=le.get(r.node);if(!a||a instanceof zt&&a.text!=r.node.nodeValue)s=r;else if(i.docView.lastCompositionAfterCursor){let l=le.get(n.node);!l||l instanceof zt&&l.text!=n.node.nodeValue||(s=r)}}if(i.docView.lastCompositionAfterCursor=s!=n,!s)return null;let o=e-s.offset;return{from:o,to:o+s.node.nodeValue.length,node:s.node}}function zx(i,e,t){let n=Gm(i,t);if(!n)return null;let{node:r,from:s,to:o}=n,a=r.nodeValue;if(/[\n\r]/.test(a)||i.state.doc.sliceString(n.from,n.to)!=a)return null;let l=e.invertedDesc,c=new kt(l.mapPos(s),l.mapPos(o),s,o),O=[];for(let h=r.parentNode;;h=h.parentNode){let f=le.get(h);if(f instanceof fi)O.push({node:h,deco:f.mark});else{if(f instanceof Re||h.nodeName=="DIV"&&h.parentNode==i.contentDOM)return{range:c,text:r,marks:O,line:h};if(h!=i.contentDOM)O.push({node:h,deco:new Er({inclusive:!0,attributes:mx(h),tagName:h.tagName.toLowerCase()})});else return null}}}function Xx(i,e){return i.nodeType!=1?0:(e&&i.childNodes[e-1].contentEditable=="false"?1:0)|(e<i.childNodes.length&&i.childNodes[e].contentEditable=="false"?2:0)}var Rx=class{constructor(){this.changes=[]}compareRange(e,t){qo(e,t,this.changes)}comparePoint(e,t){qo(e,t,this.changes)}boundChange(e){qo(e,e,this.changes)}};function qx(i,e,t){let n=new Rx;return F.compare(i,e,t,n),n.changes}function _x(i,e){for(let t=i;t&&t!=e;t=t.assignedSlot||t.parentNode)if(t.nodeType==1&&t.contentEditable=="false")return!0;return!1}function Cx(i,e){let t=!1;return e&&i.iterChangedRanges((n,r)=>{n<e.to&&r>e.from&&(t=!0)}),t}function Wx(i,e,t=1){let n=i.charCategorizer(e),r=i.doc.lineAt(e),s=e-r.from;if(r.length==0)return P.cursor(e);s==0?t=1:s==r.length&&(t=-1);let o=s,a=s;t<0?o=ve(r.text,s,!1):a=ve(r.text,s);let l=n(r.text.slice(o,a));for(;o>0;){let c=ve(r.text,o,!1);if(n(r.text.slice(c,o))!=l)break;o=c}for(;a<r.length;){let c=ve(r.text,a);if(n(r.text.slice(a,c))!=l)break;a=c}return P.range(o+r.from,a+r.from)}function Zx(i,e){return e.left>i?e.left-i:Math.max(0,i-e.right)}function Vx(i,e){return e.top>i?e.top-i:Math.max(0,i-e.bottom)}function VO(i,e){return i.top<e.bottom-1&&i.bottom>e.top+1}function _p(i,e){return e<i.top?{top:e,left:i.left,right:i.right,bottom:i.bottom}:i}function Cp(i,e){return e>i.bottom?{top:i.top,left:i.left,right:i.right,bottom:e}:i}function ec(i,e,t){let n,r,s,o,a=!1,l,c,O,h;for(let d=i.firstChild;d;d=d.nextSibling){let p=Yr(d);for(let m=0;m<p.length;m++){let g=p[m];r&&VO(r,g)&&(g=_p(Cp(g,r.bottom),r.top));let y=Zx(e,g),S=Vx(t,g);if(y==0&&S==0)return d.nodeType==3?Wp(d,e,t):ec(d,e,t);(!n||o>S||o==S&&s>y)&&(n=d,r=g,s=y,o=S,a=y?e<g.left?m>0:m<p.length-1:!0),y==0?t>g.bottom&&(!O||O.bottom<g.bottom)?(l=d,O=g):t<g.top&&(!h||h.top>g.top)&&(c=d,h=g):O&&VO(O,g)?O=Cp(O,g.bottom):h&&VO(h,g)&&(h=_p(h,g.top))}}if(O&&O.bottom>=t?(n=l,r=O):h&&h.top<=t&&(n=c,r=h),!n)return{node:i,offset:0};let f=Math.max(r.left,Math.min(r.right,e));if(n.nodeType==3)return Wp(n,f,t);if(a&&n.contentEditable!="false")return ec(n,f,t);let u=Array.prototype.indexOf.call(i.childNodes,n)+(e>=(r.left+r.right)/2?1:0);return{node:i,offset:u}}function Wp(i,e,t){let n=i.nodeValue.length,r=-1,s=1e9,o=0;for(let a=0;a<n;a++){let l=ji(i,a,a+1).getClientRects();for(let c=0;c<l.length;c++){let O=l[c];if(O.top==O.bottom)continue;o||(o=e-O.left);let h=(O.top>t?O.top-t:t-O.bottom)-1;if(O.left-1<=e&&O.right+1>=e&&h<s){let f=e>=(O.left+O.right)/2,u=f;if((R.chrome||R.gecko)&&ji(i,a).getBoundingClientRect().left==O.right&&(u=!f),h<=0)return{node:i,offset:a+(u?1:0)};r=a+(u?1:0),s=h}}}return{node:i,offset:r>-1?r:o>0?i.nodeValue.length:0}}function Bm(i,e,t,n=-1){var r,s;let o=i.contentDOM.getBoundingClientRect(),a=o.top+i.viewState.paddingTop,l,{docHeight:c}=i.viewState,{x:O,y:h}=e,f=h-a;if(f<0)return 0;if(f>c)return i.state.doc.length;for(let v=i.viewState.heightOracle.textHeight/2,b=!1;l=i.elementAtHeight(f),l.type!=Ye.Text;)for(;f=n>0?l.bottom+v:l.top-v,!(f>=0&&f<=c);){if(b)return t?null:0;b=!0,n=-n}h=a+f;let u=l.from;if(u<i.viewport.from)return i.viewport.from==0?0:t?null:Zp(i,o,l,O,h);if(u>i.viewport.to)return i.viewport.to==i.state.doc.length?i.state.doc.length:t?null:Zp(i,o,l,O,h);let d=i.dom.ownerDocument,p=i.root.elementFromPoint?i.root:d,m=p.elementFromPoint(O,h);m&&!i.contentDOM.contains(m)&&(m=null),m||(O=Math.max(o.left+1,Math.min(o.right-1,O)),m=p.elementFromPoint(O,h),m&&!i.contentDOM.contains(m)&&(m=null));let g,y=-1;if(m&&((r=i.docView.nearest(m))===null||r===void 0?void 0:r.isEditable)!=!1){if(d.caretPositionFromPoint){let v=d.caretPositionFromPoint(O,h);v&&({offsetNode:g,offset:y}=v)}else if(d.caretRangeFromPoint){let v=d.caretRangeFromPoint(O,h);v&&({startContainer:g,startOffset:y}=v,(!i.contentDOM.contains(g)||R.safari&&Ax(g,y,O)||R.chrome&&jx(g,y,O))&&(g=void 0))}g&&(y=Math.min(Tt(g),y))}if(!g||!i.docView.dom.contains(g)){let v=Re.find(i.docView,u);if(!v)return f>l.top+l.height/2?l.to:l.from;({node:g,offset:y}=ec(v.dom,O,h))}let S=i.docView.nearest(g);if(!S)return null;if(S.isWidget&&((s=S.dom)===null||s===void 0?void 0:s.nodeType)==1){let v=S.dom.getBoundingClientRect();return e.y<v.top||e.y<=v.bottom&&e.x<=(v.left+v.right)/2?S.posAtStart:S.posAtEnd}else return S.localPosFromDOM(g,y)+S.posAtStart}function Zp(i,e,t,n,r){let s=Math.round((n-e.left)*i.defaultCharacterWidth);if(i.lineWrapping&&t.height>i.defaultLineHeight*1.5){let a=i.viewState.heightOracle.textHeight,l=Math.floor((r-t.top-(i.defaultLineHeight-a)*.5)/a);s+=l*i.viewState.heightOracle.lineLength}let o=i.state.sliceDoc(t.from,t.to);return t.from+Qo(o,s,i.state.tabSize)}function Ax(i,e,t){let n,r=i;if(i.nodeType!=3||e!=(n=i.nodeValue.length))return!1;for(;;){let s=r.nextSibling;if(s){if(s.nodeName=="BR")break;return!1}else{let o=r.parentNode;if(!o||o.nodeName=="DIV")break;r=o}}return ji(i,n-1,n).getBoundingClientRect().right>t}function jx(i,e,t){if(e!=0)return!1;for(let r=i;;){let s=r.parentNode;if(!s||s.nodeType!=1||s.firstChild!=r)return!1;if(s.classList.contains("cm-line"))break;r=s}let n=i.nodeType==1?i.getBoundingClientRect():ji(i,0,Math.max(i.nodeValue.length,1)).getBoundingClientRect();return t-n.left>5}function tc(i,e,t){let n=i.lineBlockAt(e);if(Array.isArray(n.type)){let r;for(let s of n.type){if(s.from>e)break;if(!(s.to<e)){if(s.from<e&&s.to>e)return s;(!r||s.type==Ye.Text&&(r.type!=s.type||(t<0?s.from<e:s.to>e)))&&(r=s)}}return r||n}return n}function Yx(i,e,t,n){let r=tc(i,e.head,e.assoc||-1),s=!n||r.type!=Ye.Text||!(i.lineWrapping||r.widgetLineBreaks)?null:i.coordsAtPos(e.assoc<0&&e.head>r.from?e.head-1:e.head);if(s){let o=i.dom.getBoundingClientRect(),a=i.textDirectionAt(r.from),l=i.posAtCoords({x:t==(a==ne.LTR)?o.right-1:o.left+1,y:(s.top+s.bottom)/2});if(l!=null)return P.cursor(l,t?-1:1)}return P.cursor(t?r.to:r.from,t?-1:1)}function Vp(i,e,t,n){let r=i.state.doc.lineAt(e.head),s=i.bidiSpans(r),o=i.textDirectionAt(r.from);for(let a=e,l=null;;){let c=wx(r,s,o,a,t),O=Rm;if(!c){if(r.number==(t?i.state.doc.lines:1))return a;O=` 58 `,r=i.state.doc.line(r.number+(t?1:-1)),s=i.bidiSpans(r),c=i.visualLineSide(r,!t)}if(l){if(!l(O))return a}else{if(!n)return c;l=n(O)}a=c}}function Ux(i,e,t){let n=i.state.charCategorizer(e),r=n(t);return s=>{let o=n(s);return r==ie.Space&&(r=o),r==o}}function Mx(i,e,t,n){let r=e.head,s=t?1:-1;if(r==(t?i.state.doc.length:0))return P.cursor(r,e.assoc);let o=e.goalColumn,a,l=i.contentDOM.getBoundingClientRect(),c=i.coordsAtPos(r,e.assoc||-1),O=i.documentTop;if(c)o==null&&(o=c.left-l.left),a=s<0?c.top:c.bottom;else{let u=i.viewState.lineBlockAt(r);o==null&&(o=Math.min(l.right-l.left,i.defaultCharacterWidth*(r-u.from))),a=(s<0?u.top:u.bottom)+O}let h=l.left+o,f=n??i.viewState.heightOracle.textHeight>>1;for(let u=0;;u+=10){let d=a+(f+u)*s,p=Bm(i,{x:h,y:d},!1,s);if(d<l.top||d>l.bottom||(s<0?p<r:p>r)){let m=i.docView.coordsForChar(p),g=!m||d<m.top?-1:1;return P.cursor(p,g,void 0,o)}}}function _o(i,e,t){for(;;){let n=0;for(let r of i)r.between(e-1,e+1,(s,o,a)=>{if(e>s&&e<o){let l=n||t||(e-s<o-e?-1:1);e=l<0?s:o,n=l}});if(!n)return e}}function AO(i,e,t){let n=_o(i.state.facet(Wc).map(r=>r(i)),t.from,e.head>t.from?-1:1);return n==t.from?t:P.cursor(n,n<t.from?1:-1)}var zr="\uFFFF",ic=class{constructor(e,t){this.points=e,this.text="",this.lineSeparator=t.facet(ee.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=zr}readRange(e,t){if(!e)return this;let n=e.parentNode;for(let r=e;;){this.findPointBefore(n,r);let s=this.text.length;this.readNode(r);let o=r.nextSibling;if(o==t)break;let a=le.get(r),l=le.get(o);(a&&l?a.breakAfter:(a?a.breakAfter:Ao(r))||Ao(o)&&(r.nodeName!="BR"||r.cmIgnore)&&this.text.length>s)&&this.lineBreak(),r=o}return this.findPointBefore(n,t),this}readTextNode(e){let t=e.nodeValue;for(let n of this.points)n.node==e&&(n.pos=this.text.length+Math.min(n.offset,t.length));for(let n=0,r=this.lineSeparator?null:/\r\n?|\n/g;;){let s=-1,o=1,a;if(this.lineSeparator?(s=t.indexOf(this.lineSeparator,n),o=this.lineSeparator.length):(a=r.exec(t))&&(s=a.index,o=a[0].length),this.append(t.slice(n,s<0?t.length:s)),s<0)break;if(this.lineBreak(),o>1)for(let l of this.points)l.node==e&&l.pos>this.text.length&&(l.pos-=o-1);n=s+o}}readNode(e){if(e.cmIgnore)return;let t=le.get(e),n=t&&t.overrideDOMText;if(n!=null){this.findPointInside(e,n.length);for(let r=n.iter();!r.next().done;)r.lineBreak?this.lineBreak():this.append(r.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let n of this.points)n.node==e&&e.childNodes[n.offset]==t&&(n.pos=this.text.length)}findPointInside(e,t){for(let n of this.points)(e.nodeType==3?n.node==e:e.contains(n.node))&&(n.pos=this.text.length+(Ex(e,n.node,n.offset)?t:0))}};function Ex(i,e,t){for(;;){if(!e||t<Tt(e))return!1;if(e==i)return!0;t=Ai(e)+1,e=e.parentNode}}var Eo=class{constructor(e,t){this.node=e,this.offset=t,this.pos=-1}},nc=class{constructor(e,t,n,r){this.typeOver=r,this.bounds=null,this.text="",this.domChanged=t>-1;let{impreciseHead:s,impreciseAnchor:o}=e.docView;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=e.docView.domBoundsAround(t,n,0))){let a=s||o?[]:Gx(e),l=new ic(a,e.state);l.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=l.text,this.newSel=Bx(a,this.bounds.from)}else{let a=e.observer.selectionRange,l=s&&s.node==a.focusNode&&s.offset==a.focusOffset||!EO(e.contentDOM,a.focusNode)?e.state.selection.main.head:e.docView.posFromDOM(a.focusNode,a.focusOffset),c=o&&o.node==a.anchorNode&&o.offset==a.anchorOffset||!EO(e.contentDOM,a.anchorNode)?e.state.selection.main.anchor:e.docView.posFromDOM(a.anchorNode,a.anchorOffset),O=e.viewport;if((R.ios||R.chrome)&&e.state.selection.main.empty&&l!=c&&(O.from>0||O.to<e.state.doc.length)){let h=Math.min(l,c),f=Math.max(l,c),u=O.from-h,d=O.to-f;(u==0||u==1||h==0)&&(d==0||d==-1||f==e.state.doc.length)&&(l=0,c=e.state.doc.length)}this.newSel=P.single(c,l)}}};function Im(i,e){let t,{newSel:n}=e,r=i.state.selection.main,s=i.inputState.lastKeyTime>Date.now()-100?i.inputState.lastKeyCode:-1;if(e.bounds){let{from:o,to:a}=e.bounds,l=r.from,c=null;(s===8||R.android&&e.text.length<a-o)&&(l=r.to,c="end");let O=Lx(i.state.doc.sliceString(o,a,zr),e.text,l-o,c);O&&(R.chrome&&s==13&&O.toB==O.from+2&&e.text.slice(O.from,O.toB)==zr+zr&&O.toB--,t={from:o+O.from,to:o+O.toA,insert:U.of(e.text.slice(O.from,O.toB).split(zr))})}else n&&(!i.hasFocus&&i.state.facet(It)||n.main.eq(r))&&(n=null);if(!t&&!n)return!1;if(!t&&e.typeOver&&!r.empty&&n&&n.main.empty?t={from:r.from,to:r.to,insert:i.state.doc.slice(r.from,r.to)}:(R.mac||R.android)&&t&&t.from==t.to&&t.from==r.head-1&&/^\. ?$/.test(t.insert.toString())&&i.contentDOM.getAttribute("autocorrect")=="off"?(n&&t.insert.length==2&&(n=P.single(n.main.anchor-1,n.main.head-1)),t={from:t.from,to:t.to,insert:U.of([t.insert.toString().replace("."," ")])}):t&&t.from>=r.from&&t.to<=r.to&&(t.from!=r.from||t.to!=r.to)&&r.to-r.from-(t.to-t.from)<=4?t={from:r.from,to:r.to,insert:i.state.doc.slice(r.from,t.from).append(t.insert).append(i.state.doc.slice(t.to,r.to))}:R.chrome&&t&&t.from==t.to&&t.from==r.head&&t.insert.toString()==` 59 `&&i.lineWrapping&&(n&&(n=P.single(n.main.anchor-1,n.main.head-1)),t={from:r.from,to:r.to,insert:U.of([" "])}),t)return Vc(i,t,n,s);if(n&&!n.main.eq(r)){let o=!1,a="select";return i.inputState.lastSelectionTime>Date.now()-50&&(i.inputState.lastSelectionOrigin=="select"&&(o=!0),a=i.inputState.lastSelectionOrigin),i.dispatch({selection:n,scrollIntoView:o,userEvent:a}),!0}else return!1}function Vc(i,e,t,n=-1){if(R.ios&&i.inputState.flushIOSKey(e))return!0;let r=i.state.selection.main;if(R.android&&(e.to==r.to&&(e.from==r.from||e.from==r.from-1&&i.state.sliceDoc(e.from,r.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&Xn(i.contentDOM,"Enter",13)||(e.from==r.from-1&&e.to==r.to&&e.insert.length==0||n==8&&e.insert.length<e.to-e.from&&e.to>r.head)&&Xn(i.contentDOM,"Backspace",8)||e.from==r.from&&e.to==r.to+1&&e.insert.length==0&&Xn(i.contentDOM,"Delete",46)))return!0;let s=e.insert.toString();i.inputState.composing>=0&&i.inputState.composing++;let o,a=()=>o||(o=Dx(i,e,t));return i.state.facet(Zm).some(l=>l(i,e.from,e.to,s,a))||i.dispatch(a()),!0}function Dx(i,e,t){let n,r=i.state,s=r.selection.main;if(e.from>=s.from&&e.to<=s.to&&e.to-e.from>=(s.to-s.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&i.inputState.composing<0){let a=s.from<e.from?r.sliceDoc(s.from,e.from):"",l=s.to>e.to?r.sliceDoc(e.to,s.to):"";n=r.replaceSelection(i.state.toText(a+e.insert.sliceString(0,void 0,i.state.lineBreak)+l))}else{let a=r.changes(e),l=t&&t.main.to<=a.newLength?t.main:void 0;if(r.selection.ranges.length>1&&i.inputState.composing>=0&&e.to<=s.to&&e.to>=s.to-10){let c=i.state.sliceDoc(e.from,e.to),O,h=t&&Gm(i,t.main.head);if(h){let d=e.insert.length-(e.to-e.from);O={from:h.from,to:h.to-d}}else O=i.state.doc.lineAt(s.head);let f=s.to-e.to,u=s.to-s.from;n=r.changeByRange(d=>{if(d.from==s.from&&d.to==s.to)return{changes:a,range:l||d.map(a)};let p=d.to-f,m=p-c.length;if(d.to-d.from!=u||i.state.sliceDoc(m,p)!=c||d.to>=O.from&&d.from<=O.to)return{range:d};let g=r.changes({from:m,to:p,insert:e.insert}),y=d.to-s.to;return{changes:g,range:l?P.range(Math.max(0,l.anchor+y),Math.max(0,l.head+y)):d.map(g)}})}else n={changes:a,selection:l&&r.selection.replaceRange(l)}}let o="input.type";return(i.composing||i.inputState.compositionPendingChange&&i.inputState.compositionEndedAt>Date.now()-50)&&(i.inputState.compositionPendingChange=!1,o+=".compose",i.inputState.compositionFirstChange&&(o+=".start",i.inputState.compositionFirstChange=!1)),r.update(n,{userEvent:o,scrollIntoView:!0})}function Lx(i,e,t,n){let r=Math.min(i.length,e.length),s=0;for(;s<r&&i.charCodeAt(s)==e.charCodeAt(s);)s++;if(s==r&&i.length==e.length)return null;let o=i.length,a=e.length;for(;o>0&&a>0&&i.charCodeAt(o-1)==e.charCodeAt(a-1);)o--,a--;if(n=="end"){let l=Math.max(0,s-Math.min(o,a));t-=o+l-s}if(o<s&&i.length<e.length){let l=t<=s&&t>=o?s-t:0;s-=l,a=s+(a-o),o=s}else if(a<s){let l=t<=s&&t>=a?s-t:0;s-=l,o=s+(o-a),a=s}return{from:s,toA:o,toB:a}}function Gx(i){let e=[];if(i.root.activeElement!=i.contentDOM)return e;let{anchorNode:t,anchorOffset:n,focusNode:r,focusOffset:s}=i.observer.selectionRange;return t&&(e.push(new Eo(t,n)),(r!=t||s!=n)&&e.push(new Eo(r,s))),e}function Bx(i,e){if(i.length==0)return null;let t=i[0].pos,n=i.length==2?i[1].pos:t;return t>-1&&n>-1?P.single(t+e,n+e):null}var rc=class{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.pendingIOSKey=void 0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,R.safari&&e.contentDOM.addEventListener("input",()=>null),R.gecko&&l1(e.contentDOM.ownerDocument)}handleEvent(e){!e1(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,t){let n=this.handlers[e];if(n){for(let r of n.observers)r(this.view,t);for(let r of n.handlers){if(t.defaultPrevented)break;if(r(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=Ix(e),n=this.handlers,r=this.view.contentDOM;for(let s in t)if(s!="scroll"){let o=!t[s].handlers.length,a=n[s];a&&o!=!a.handlers.length&&(r.removeEventListener(s,this.handleEvent),a=null),a||r.addEventListener(s,this.handleEvent,{passive:o})}for(let s in n)s!="scroll"&&!t[s]&&r.removeEventListener(s,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&Fm.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),R.android&&R.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;let t;return R.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&((t=Nm.find(n=>n.keyCode==e.keyCode))&&!e.ctrlKey||Nx.indexOf(e.key)>-1&&e.ctrlKey&&!e.shiftKey)?(this.pendingIOSKey=t||e,setTimeout(()=>this.flushIOSKey(),250),!0):(e.keyCode!=229&&this.view.observer.forceFlush(),!1)}flushIOSKey(e){let t=this.pendingIOSKey;return!t||t.key=="Enter"&&e&&e.from<e.to&&/^\S+$/.test(e.insert.toString())?!1:(this.pendingIOSKey=void 0,Xn(this.view.contentDOM,t.key,t.keyCode,t instanceof KeyboardEvent?t:void 0))}ignoreDuringComposition(e){return/^key/.test(e.type)?this.composing>0?!0:R.safari&&!R.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1:!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}};function Ap(i,e){return(t,n)=>{try{return e.call(i,n,t)}catch(r){qe(t.state,r)}}}function Ix(i){let e=Object.create(null);function t(n){return e[n]||(e[n]={observers:[],handlers:[]})}for(let n of i){let r=n.spec,s=r&&r.plugin.domEventHandlers,o=r&&r.plugin.domEventObservers;if(s)for(let a in s){let l=s[a];l&&t(a).handlers.push(Ap(n.value,l))}if(o)for(let a in o){let l=o[a];l&&t(a).observers.push(Ap(n.value,l))}}for(let n in mt)t(n).handlers.push(mt[n]);for(let n in ht)t(n).observers.push(ht[n]);return e}var Nm=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],Nx="dthko",Fm=[16,17,18,20,91,92,224,225],vo=6;function wo(i){return Math.max(0,i)*.7+8}function Fx(i,e){return Math.max(Math.abs(i.clientX-e.clientX),Math.abs(i.clientY-e.clientY))}var sc=class{constructor(e,t,n,r){this.view=e,this.startEvent=t,this.style=n,this.mustSelect=r,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=Ox(e.contentDOM),this.atoms=e.state.facet(Wc).map(o=>o(e));let s=e.contentDOM.ownerDocument;s.addEventListener("mousemove",this.move=this.move.bind(this)),s.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(ee.allowMultipleSelections)&&Hx(e,t),this.dragging=Jx(e,t)&&Jm(t)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&Fx(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let t=0,n=0,r=0,s=0,o=this.view.win.innerWidth,a=this.view.win.innerHeight;this.scrollParents.x&&({left:r,right:o}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:s,bottom:a}=this.scrollParents.y.getBoundingClientRect());let l=Zc(this.view);e.clientX-l.left<=r+vo?t=-wo(r-e.clientX):e.clientX+l.right>=o-vo&&(t=wo(e.clientX-o)),e.clientY-l.top<=s+vo?n=-wo(s-e.clientY):e.clientY+l.bottom>=a-vo&&(n=wo(e.clientY-a)),this.setScrollSpeed(t,n)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:t}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),t&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=t,t=0),(e||t)&&this.view.win.scrollBy(e,t),this.dragging===!1&&this.select(this.lastEvent)}skipAtoms(e){let t=null;for(let n=0;n<e.ranges.length;n++){let r=e.ranges[n],s=null;if(r.empty){let o=_o(this.atoms,r.from,0);o!=r.from&&(s=P.cursor(o,-1))}else{let o=_o(this.atoms,r.from,-1),a=_o(this.atoms,r.to,1);(o!=r.from||a!=r.to)&&(s=P.range(r.from==r.anchor?o:a,r.from==r.head?o:a))}s&&(t||(t=e.ranges.slice()),t[n]=s)}return t?P.create(t,e.mainIndex):e}select(e){let{view:t}=this,n=this.skipAtoms(this.style.get(e,this.extend,this.multiple));(this.mustSelect||!n.eq(t.state.selection,this.dragging===!1))&&this.view.dispatch({selection:n,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(t=>t.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}};function Hx(i,e){let t=i.state.facet(qm);return t.length?t[0](e):R.mac?e.metaKey:e.ctrlKey}function Kx(i,e){let t=i.state.facet(_m);return t.length?t[0](e):R.mac?!e.altKey:!e.ctrlKey}function Jx(i,e){let{main:t}=i.state.selection;if(t.empty)return!1;let n=jr(i.root);if(!n||n.rangeCount==0)return!0;let r=n.getRangeAt(0).getClientRects();for(let s=0;s<r.length;s++){let o=r[s];if(o.left<=e.clientX&&o.right>=e.clientX&&o.top<=e.clientY&&o.bottom>=e.clientY)return!0}return!1}function e1(i,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target,n;t!=i.contentDOM;t=t.parentNode)if(!t||t.nodeType==11||(n=le.get(t))&&n.ignoreEvent(e))return!1;return!0}var mt=Object.create(null),ht=Object.create(null),Hm=R.ie&&R.ie_version<15||R.ios&&R.webkit_version<604;function t1(i){let e=i.dom.parentNode;if(!e)return;let t=e.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout(()=>{i.focus(),t.remove(),Km(i,t.value)},50)}function ta(i,e,t){for(let n of i.facet(e))t=n(t,i);return t}function Km(i,e){e=ta(i.state,qc,e);let{state:t}=i,n,r=1,s=t.toText(e),o=s.lines==t.selection.ranges.length;if(oc!=null&&t.selection.ranges.every(l=>l.empty)&&oc==s.toString()){let l=-1;n=t.changeByRange(c=>{let O=t.doc.lineAt(c.from);if(O.from==l)return{range:c};l=O.from;let h=t.toText((o?s.line(r++).text:e)+t.lineBreak);return{changes:{from:O.from,insert:h},range:P.cursor(c.from+h.length)}})}else o?n=t.changeByRange(l=>{let c=s.line(r++);return{changes:{from:l.from,to:l.to,insert:c.text},range:P.cursor(l.from+c.length)}}):n=t.replaceSelection(s);i.dispatch(n,{userEvent:"input.paste",scrollIntoView:!0})}ht.scroll=i=>{i.inputState.lastScrollTop=i.scrollDOM.scrollTop,i.inputState.lastScrollLeft=i.scrollDOM.scrollLeft};mt.keydown=(i,e)=>(i.inputState.setSelectionOrigin("select"),e.keyCode==27&&i.inputState.tabFocusMode!=0&&(i.inputState.tabFocusMode=Date.now()+2e3),!1);ht.touchstart=(i,e)=>{i.inputState.lastTouchTime=Date.now(),i.inputState.setSelectionOrigin("select.pointer")};ht.touchmove=i=>{i.inputState.setSelectionOrigin("select.pointer")};mt.mousedown=(i,e)=>{if(i.observer.flush(),i.inputState.lastTouchTime>Date.now()-2e3)return!1;let t=null;for(let n of i.state.facet(Cm))if(t=n(i,e),t)break;if(!t&&e.button==0&&(t=r1(i,e)),t){let n=!i.hasFocus;i.inputState.startMouseSelection(new sc(i,e,t,n)),n&&i.observer.ignore(()=>{dm(i.contentDOM);let s=i.root.activeElement;s&&!s.contains(i.contentDOM)&&s.blur()});let r=i.inputState.mouseSelection;if(r)return r.start(e),r.dragging===!1}return!1};function jp(i,e,t,n){if(n==1)return P.cursor(e,t);if(n==2)return Wx(i.state,e,t);{let r=Re.find(i.docView,e),s=i.state.doc.lineAt(r?r.posAtEnd:e),o=r?r.posAtStart:s.from,a=r?r.posAtEnd:s.to;return a<i.state.doc.length&&a==s.to&&a++,P.range(o,a)}}var Yp=(i,e,t)=>e>=t.top&&e<=t.bottom&&i>=t.left&&i<=t.right;function i1(i,e,t,n){let r=Re.find(i.docView,e);if(!r)return 1;let s=e-r.posAtStart;if(s==0)return 1;if(s==r.length)return-1;let o=r.coordsAt(s,-1);if(o&&Yp(t,n,o))return-1;let a=r.coordsAt(s,1);return a&&Yp(t,n,a)?1:o&&o.bottom>=n?-1:1}function Up(i,e){let t=i.posAtCoords({x:e.clientX,y:e.clientY},!1);return{pos:t,bias:i1(i,t,e.clientX,e.clientY)}}var n1=R.ie&&R.ie_version<=11,Mp=null,Ep=0,Dp=0;function Jm(i){if(!n1)return i.detail;let e=Mp,t=Dp;return Mp=i,Dp=Date.now(),Ep=!e||t>Date.now()-400&&Math.abs(e.clientX-i.clientX)<2&&Math.abs(e.clientY-i.clientY)<2?(Ep+1)%3:1}function r1(i,e){let t=Up(i,e),n=Jm(e),r=i.state.selection;return{update(s){s.docChanged&&(t.pos=s.changes.mapPos(t.pos),r=r.map(s.changes))},get(s,o,a){let l=Up(i,s),c,O=jp(i,l.pos,l.bias,n);if(t.pos!=l.pos&&!o){let h=jp(i,t.pos,t.bias,n),f=Math.min(h.from,O.from),u=Math.max(h.to,O.to);O=f<O.from?P.range(f,u):P.range(u,f)}return o?r.replaceRange(r.main.extend(O.from,O.to)):a&&n==1&&r.ranges.length>1&&(c=s1(r,l.pos))?c:a?r.addRange(O):P.create([O])}}}function s1(i,e){for(let t=0;t<i.ranges.length;t++){let{from:n,to:r}=i.ranges[t];if(n<=e&&r>=e)return P.create(i.ranges.slice(0,t).concat(i.ranges.slice(t+1)),i.mainIndex==t?0:i.mainIndex-(i.mainIndex>t?1:0))}return null}mt.dragstart=(i,e)=>{let{selection:{main:t}}=i.state;if(e.target.draggable){let r=i.docView.nearest(e.target);if(r&&r.isWidget){let s=r.posAtStart,o=s+r.length;(s>=t.to||o<=t.from)&&(t=P.range(s,o))}}let{inputState:n}=i;return n.mouseSelection&&(n.mouseSelection.dragging=!0),n.draggedContent=t,e.dataTransfer&&(e.dataTransfer.setData("Text",ta(i.state,_c,i.state.sliceDoc(t.from,t.to))),e.dataTransfer.effectAllowed="copyMove"),!1};mt.dragend=i=>(i.inputState.draggedContent=null,!1);function Lp(i,e,t,n){if(t=ta(i.state,qc,t),!t)return;let r=i.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:s}=i.inputState,o=n&&s&&Kx(i,e)?{from:s.from,to:s.to}:null,a={from:r,insert:t},l=i.state.changes(o?[o,a]:a);i.focus(),i.dispatch({changes:l,selection:{anchor:l.mapPos(r,-1),head:l.mapPos(r,1)},userEvent:o?"move.drop":"input.drop"}),i.inputState.draggedContent=null}mt.drop=(i,e)=>{if(!e.dataTransfer)return!1;if(i.state.readOnly)return!0;let t=e.dataTransfer.files;if(t&&t.length){let n=Array(t.length),r=0,s=()=>{++r==t.length&&Lp(i,e,n.filter(o=>o!=null).join(i.state.lineBreak),!1)};for(let o=0;o<t.length;o++){let a=new FileReader;a.onerror=s,a.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(a.result)||(n[o]=a.result),s()},a.readAsText(t[o])}return!0}else{let n=e.dataTransfer.getData("Text");if(n)return Lp(i,e,n,!0),!0}return!1};mt.paste=(i,e)=>{if(i.state.readOnly)return!0;i.observer.flush();let t=Hm?null:e.clipboardData;return t?(Km(i,t.getData("text/plain")||t.getData("text/uri-list")),!0):(t1(i),!1)};function o1(i,e){let t=i.dom.parentNode;if(!t)return;let n=t.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.value=e,n.focus(),n.selectionEnd=e.length,n.selectionStart=0,setTimeout(()=>{n.remove(),i.focus()},50)}function a1(i){let e=[],t=[],n=!1;for(let r of i.selection.ranges)r.empty||(e.push(i.sliceDoc(r.from,r.to)),t.push(r));if(!e.length){let r=-1;for(let{from:s}of i.selection.ranges){let o=i.doc.lineAt(s);o.number>r&&(e.push(o.text),t.push({from:o.from,to:Math.min(i.doc.length,o.to+1)})),r=o.number}n=!0}return{text:ta(i,_c,e.join(i.lineBreak)),ranges:t,linewise:n}}var oc=null;mt.copy=mt.cut=(i,e)=>{let{text:t,ranges:n,linewise:r}=a1(i.state);if(!t&&!r)return!1;oc=r?t:null,e.type=="cut"&&!i.state.readOnly&&i.dispatch({changes:n,scrollIntoView:!0,userEvent:"delete.cut"});let s=Hm?null:e.clipboardData;return s?(s.clearData(),s.setData("text/plain",t),!0):(o1(i,t),!1)};var eg=De.define();function tg(i,e){let t=[];for(let n of i.facet(Vm)){let r=n(i,e);r&&t.push(r)}return t.length?i.update({effects:t,annotations:eg.of(!0)}):null}function ig(i){setTimeout(()=>{let e=i.hasFocus;if(e!=i.inputState.notifiedFocused){let t=tg(i.state,e);t?i.dispatch(t):i.update([])}},10)}ht.focus=i=>{i.inputState.lastFocusTime=Date.now(),!i.scrollDOM.scrollTop&&(i.inputState.lastScrollTop||i.inputState.lastScrollLeft)&&(i.scrollDOM.scrollTop=i.inputState.lastScrollTop,i.scrollDOM.scrollLeft=i.inputState.lastScrollLeft),ig(i)};ht.blur=i=>{i.observer.clearSelectionRange(),ig(i)};ht.compositionstart=ht.compositionupdate=i=>{i.observer.editContext||(i.inputState.compositionFirstChange==null&&(i.inputState.compositionFirstChange=!0),i.inputState.composing<0&&(i.inputState.composing=0))};ht.compositionend=i=>{i.observer.editContext||(i.inputState.composing=-1,i.inputState.compositionEndedAt=Date.now(),i.inputState.compositionPendingKey=!0,i.inputState.compositionPendingChange=i.observer.pendingRecords().length>0,i.inputState.compositionFirstChange=null,R.chrome&&R.android?i.observer.flushSoon():i.inputState.compositionPendingChange?Promise.resolve().then(()=>i.observer.flush()):setTimeout(()=>{i.inputState.composing<0&&i.docView.hasComposition&&i.update([])},50))};ht.contextmenu=i=>{i.inputState.lastContextMenu=Date.now()};mt.beforeinput=(i,e)=>{var t,n;if(e.inputType=="insertReplacementText"&&i.observer.editContext){let s=(t=e.dataTransfer)===null||t===void 0?void 0:t.getData("text/plain"),o=e.getTargetRanges();if(s&&o.length){let a=o[0],l=i.posAtDOM(a.startContainer,a.startOffset),c=i.posAtDOM(a.endContainer,a.endOffset);return Vc(i,{from:l,to:c,insert:i.state.toText(s)},null),!0}}let r;if(R.chrome&&R.android&&(r=Nm.find(s=>s.inputType==e.inputType))&&(i.observer.delayAndroidKey(r.key,r.keyCode),r.key=="Backspace"||r.key=="Delete")){let s=((n=window.visualViewport)===null||n===void 0?void 0:n.height)||0;setTimeout(()=>{var o;(((o=window.visualViewport)===null||o===void 0?void 0:o.height)||0)>s+10&&i.hasFocus&&(i.contentDOM.blur(),i.focus())},100)}return R.ios&&e.inputType=="deleteContentForward"&&i.observer.flushSoon(),R.safari&&e.inputType=="insertText"&&i.inputState.composing>=0&&setTimeout(()=>ht.compositionend(i,e),20),!1};var Gp=new Set;function l1(i){Gp.has(i)||(Gp.add(i),i.addEventListener("copy",()=>{}),i.addEventListener("cut",()=>{}))}var Bp=["pre-wrap","normal","pre-line","break-spaces"],Rn=!1;function Ip(){Rn=!1}var ac=class{constructor(e){this.lineWrapping=e,this.doc=U.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let n=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(n+=Math.max(0,Math.ceil((t-e-n*this.lineLength*.5)/this.lineLength))),this.lineHeight*n}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return Bp.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let n=0;n<e.length;n++){let r=e[n];r<0?n++:this.heightSamples[Math.floor(r*10)]||(t=!0,this.heightSamples[Math.floor(r*10)]=!0)}return t}refresh(e,t,n,r,s,o){let a=Bp.indexOf(e)>-1,l=Math.round(t)!=Math.round(this.lineHeight)||this.lineWrapping!=a;if(this.lineWrapping=a,this.lineHeight=t,this.charWidth=n,this.textHeight=r,this.lineLength=s,l){this.heightSamples={};for(let c=0;c<o.length;c++){let O=o[c];O<0?c++:this.heightSamples[Math.floor(O*10)]=!0}}return l}},lc=class{constructor(e,t){this.from=e,this.heights=t,this.index=0}get more(){return this.index<this.heights.length}},wt=class i{constructor(e,t,n,r,s){this.from=e,this.length=t,this.top=n,this.height=r,this._content=s}get type(){return typeof this._content=="number"?Ye.Text:Array.isArray(this._content)?this._content:this._content.type}get to(){return this.from+this.length}get bottom(){return this.top+this.height}get widget(){return this._content instanceof ui?this._content.widget:null}get widgetLineBreaks(){return typeof this._content=="number"?this._content:0}join(e){let t=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(e._content)?e._content:[e]);return new i(this.from,this.length+e.length,this.top,this.height+e.height,t)}},he=function(i){return i[i.ByPos=0]="ByPos",i[i.ByHeight=1]="ByHeight",i[i.ByPosNoHeight=2]="ByPosNoHeight",i}(he||(he={})),Co=.001,Je=class i{constructor(e,t,n=2){this.length=e,this.height=t,this.flags=n}get outdated(){return(this.flags&2)>0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>Co&&(Rn=!0),this.height=e)}replace(e,t,n){return i.of(n)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,n,r){let s=this,o=n.doc;for(let a=r.length-1;a>=0;a--){let{fromA:l,toA:c,fromB:O,toB:h}=r[a],f=s.lineAt(l,he.ByPosNoHeight,n.setDoc(t),0,0),u=f.to>=c?f:s.lineAt(c,he.ByPosNoHeight,n,0,0);for(h+=u.to-c,c=u.to;a>0&&f.from<=r[a-1].toA;)l=r[a-1].fromA,O=r[a-1].fromB,a--,l<f.from&&(f=s.lineAt(l,he.ByPosNoHeight,n,0,0));O+=f.from-l,l=f.from;let d=cc.build(n.setDoc(o),e,O,h);s=Do(s,s.replace(l,c,d))}return s.updateHeight(n,0)}static empty(){return new ct(0,0)}static of(e){if(e.length==1)return e[0];let t=0,n=e.length,r=0,s=0;for(;;)if(t==n)if(r>s*2){let a=e[t-1];a.break?e.splice(--t,1,a.left,null,a.right):e.splice(--t,1,a.left,a.right),n+=1+a.break,r-=a.size}else if(s>r*2){let a=e[n];a.break?e.splice(n,1,a.left,null,a.right):e.splice(n,1,a.left,a.right),n+=2+a.break,s-=a.size}else break;else if(r<s){let a=e[t++];a&&(r+=a.size)}else{let a=e[--n];a&&(s+=a.size)}let o=0;return e[t-1]==null?(o=1,t--):e[t]==null&&(o=1,n++),new Oc(i.of(e.slice(0,t)),o,i.of(e.slice(n)))}};function Do(i,e){return i==e?i:(i.constructor!=e.constructor&&(Rn=!0),e)}Je.prototype.size=1;var Lo=class extends Je{constructor(e,t,n){super(e,t),this.deco=n}blockAt(e,t,n,r){return new wt(r,this.length,n,this.height,this.deco||0)}lineAt(e,t,n,r,s){return this.blockAt(0,n,r,s)}forEachLine(e,t,n,r,s,o){e<=s+this.length&&t>=s&&o(this.blockAt(0,n,r,s))}updateHeight(e,t=0,n=!1,r){return r&&r.from<=t&&r.more&&this.setHeight(r.heights[r.index++]),this.outdated=!1,this}toString(){return`block(${this.length})`}},ct=class i extends Lo{constructor(e,t){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0}blockAt(e,t,n,r){return new wt(r,this.length,n,this.height,this.breaks)}replace(e,t,n){let r=n[0];return n.length==1&&(r instanceof i||r instanceof hi&&r.flags&4)&&Math.abs(this.length-r.length)<10?(r instanceof hi?r=new i(r.length,this.height):r.height=this.height,this.outdated||(r.outdated=!1),r):Je.of(n)}updateHeight(e,t=0,n=!1,r){return r&&r.from<=t&&r.more?this.setHeight(r.heights[r.index++]):(n||this.outdated)&&this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}},hi=class i extends Je{constructor(e){super(e,0)}heightMetrics(e,t){let n=e.doc.lineAt(t).number,r=e.doc.lineAt(t+this.length).number,s=r-n+1,o,a=0;if(e.lineWrapping){let l=Math.min(this.height,e.lineHeight*s);o=l/s,this.length>s+1&&(a=(this.height-l)/(this.length-s-1))}else o=this.height/s;return{firstLine:n,lastLine:r,perLine:o,perChar:a}}blockAt(e,t,n,r){let{firstLine:s,lastLine:o,perLine:a,perChar:l}=this.heightMetrics(t,r);if(t.lineWrapping){let c=r+(e<t.lineHeight?0:Math.round(Math.max(0,Math.min(1,(e-n)/this.height))*this.length)),O=t.doc.lineAt(c),h=a+O.length*l,f=Math.max(n,e-h/2);return new wt(O.from,O.length,f,h,0)}else{let c=Math.max(0,Math.min(o-s,Math.floor((e-n)/a))),{from:O,length:h}=t.doc.line(s+c);return new wt(O,h,n+a*c,a,0)}}lineAt(e,t,n,r,s){if(t==he.ByHeight)return this.blockAt(e,n,r,s);if(t==he.ByPosNoHeight){let{from:u,to:d}=n.doc.lineAt(e);return new wt(u,d-u,0,0,0)}let{firstLine:o,perLine:a,perChar:l}=this.heightMetrics(n,s),c=n.doc.lineAt(e),O=a+c.length*l,h=c.number-o,f=r+a*h+l*(c.from-s-h);return new wt(c.from,c.length,Math.max(r,Math.min(f,r+this.height-O)),O,0)}forEachLine(e,t,n,r,s,o){e=Math.max(e,s),t=Math.min(t,s+this.length);let{firstLine:a,perLine:l,perChar:c}=this.heightMetrics(n,s);for(let O=e,h=r;O<=t;){let f=n.doc.lineAt(O);if(O==e){let d=f.number-a;h+=l*d+c*(e-s-d)}let u=l+c*f.length;o(new wt(f.from,f.length,h,u,0)),h+=u,O=f.to+1}}replace(e,t,n){let r=this.length-t;if(r>0){let s=n[n.length-1];s instanceof i?n[n.length-1]=new i(s.length+r):n.push(null,new i(r-1))}if(e>0){let s=n[0];s instanceof i?n[0]=new i(e+s.length):n.unshift(new i(e-1),null)}return Je.of(n)}decomposeLeft(e,t){t.push(new i(e-1),null)}decomposeRight(e,t){t.push(null,new i(this.length-e-1))}updateHeight(e,t=0,n=!1,r){let s=t+this.length;if(r&&r.from<=t+this.length&&r.more){let o=[],a=Math.max(t,r.from),l=-1;for(r.from>t&&o.push(new i(r.from-t-1).updateHeight(e,t));a<=s&&r.more;){let O=e.doc.lineAt(a).length;o.length&&o.push(null);let h=r.heights[r.index++];l==-1?l=h:Math.abs(h-l)>=Co&&(l=-2);let f=new ct(O,h);f.outdated=!1,o.push(f),a+=O+1}a<=s&&o.push(null,new i(s-a).updateHeight(e,a));let c=Je.of(o);return(l<0||Math.abs(c.height-this.height)>=Co||Math.abs(l-this.heightMetrics(e,t).perLine)>=Co)&&(Rn=!0),Do(this,c)}else(n||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}},Oc=class extends Je{constructor(e,t,n){super(e.length+t+n.length,e.height+n.height,t|(e.outdated||n.outdated?2:0)),this.left=e,this.right=n,this.size=e.size+n.size}get break(){return this.flags&1}blockAt(e,t,n,r){let s=n+this.left.height;return e<s?this.left.blockAt(e,t,n,r):this.right.blockAt(e,t,s,r+this.left.length+this.break)}lineAt(e,t,n,r,s){let o=r+this.left.height,a=s+this.left.length+this.break,l=t==he.ByHeight?e<o:e<a,c=l?this.left.lineAt(e,t,n,r,s):this.right.lineAt(e,t,n,o,a);if(this.break||(l?c.to<a:c.from>a))return c;let O=t==he.ByPosNoHeight?he.ByPosNoHeight:he.ByPos;return l?c.join(this.right.lineAt(a,O,n,o,a)):this.left.lineAt(a,O,n,r,s).join(c)}forEachLine(e,t,n,r,s,o){let a=r+this.left.height,l=s+this.left.length+this.break;if(this.break)e<l&&this.left.forEachLine(e,t,n,r,s,o),t>=l&&this.right.forEachLine(e,t,n,a,l,o);else{let c=this.lineAt(l,he.ByPos,n,r,s);e<c.from&&this.left.forEachLine(e,c.from-1,n,r,s,o),c.to>=e&&c.from<=t&&o(c),t>c.to&&this.right.forEachLine(c.to+1,t,n,a,l,o)}}replace(e,t,n){let r=this.left.length+this.break;if(t<r)return this.balanced(this.left.replace(e,t,n),this.right);if(e>this.left.length)return this.balanced(this.left,this.right.replace(e-r,t-r,n));let s=[];e>0&&this.decomposeLeft(e,s);let o=s.length;for(let a of n)s.push(a);if(e>0&&Np(s,o-1),t<this.length){let a=s.length;this.decomposeRight(t,s),Np(s,a)}return Je.of(s)}decomposeLeft(e,t){let n=this.left.length;if(e<=n)return this.left.decomposeLeft(e,t);t.push(this.left),this.break&&(n++,e>=n&&t.push(null)),e>n&&this.right.decomposeLeft(e-n,t)}decomposeRight(e,t){let n=this.left.length,r=n+this.break;if(e>=r)return this.right.decomposeRight(e-r,t);e<n&&this.left.decomposeRight(e,t),this.break&&e<r&&t.push(null),t.push(this.right)}balanced(e,t){return e.size>2*t.size||t.size>2*e.size?Je.of(this.break?[e,null,t]:[e,t]):(this.left=Do(this.left,e),this.right=Do(this.right,t),this.setHeight(e.height+t.height),this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,n=!1,r){let{left:s,right:o}=this,a=t+s.length+this.break,l=null;return r&&r.from<=t+s.length&&r.more?l=s=s.updateHeight(e,t,n,r):s.updateHeight(e,t,n),r&&r.from<=a+o.length&&r.more?l=o=o.updateHeight(e,a,n,r):o.updateHeight(e,a,n),l?this.balanced(s,o):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}};function Np(i,e){let t,n;i[e]==null&&(t=i[e-1])instanceof hi&&(n=i[e+1])instanceof hi&&i.splice(e-1,3,new hi(t.length+1+n.length))}var O1=5,cc=class i{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let n=Math.min(t,this.lineEnd),r=this.nodes[this.nodes.length-1];r instanceof ct?r.length+=n-this.pos:(n>this.pos||!this.isCovered)&&this.nodes.push(new ct(n-this.pos,-1)),this.writtenTo=n,t>n&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,n){if(e<t||n.heightRelevant){let r=n.widget?n.widget.estimatedHeight:0,s=n.widget?n.widget.lineBreaks:0;r<0&&(r=this.oracle.lineHeight);let o=t-e;n.block?this.addBlock(new Lo(o,r,n)):(o||s||r>=O1)&&this.addLineDeco(r,s,o)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd<this.pos&&(this.lineEnd=this.oracle.doc.lineAt(this.pos).to)}enterLine(){if(this.lineStart>-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenTo<e&&((this.writtenTo<e-1||this.nodes[this.nodes.length-1]==null)&&this.nodes.push(this.blankContent(this.writtenTo,e-1)),this.nodes.push(null)),this.pos>e&&this.nodes.push(new ct(this.pos-e,-1)),this.writtenTo=this.pos}blankContent(e,t){let n=new hi(t-e);return this.oracle.doc.lineAt(e).to==t&&(n.flags|=4),n}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof ct)return e;let t=new ct(0,-1);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,n){let r=this.ensureLine();r.length+=n,r.collapsed+=n,r.widgetHeight=Math.max(r.widgetHeight,e),r.breaks+=t,this.writtenTo=this.pos=this.pos+n}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof ct)&&!this.isCovered?this.nodes.push(new ct(0,-1)):(this.writtenTo<this.pos||t==null)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos));let n=e;for(let r of this.nodes)r instanceof ct&&r.updateHeight(this.oracle,n),n+=r?r.length:1;return this.nodes}static build(e,t,n,r){let s=new i(n,e);return F.spans(t,n,r,s,0),s.finish(n)}};function c1(i,e,t){let n=new hc;return F.compare(i,e,t,n,0),n.changes}var hc=class{constructor(){this.changes=[]}compareRange(){}comparePoint(e,t,n,r){(e<t||n&&n.heightRelevant||r&&r.heightRelevant)&&qo(e,t,this.changes,5)}};function h1(i,e){let t=i.getBoundingClientRect(),n=i.ownerDocument,r=n.defaultView||window,s=Math.max(0,t.left),o=Math.min(r.innerWidth,t.right),a=Math.max(0,t.top),l=Math.min(r.innerHeight,t.bottom);for(let c=i.parentNode;c&&c!=n.body;)if(c.nodeType==1){let O=c,h=window.getComputedStyle(O);if((O.scrollHeight>O.clientHeight||O.scrollWidth>O.clientWidth)&&h.overflow!="visible"){let f=O.getBoundingClientRect();s=Math.max(s,f.left),o=Math.min(o,f.right),a=Math.max(a,f.top),l=Math.min(c==i.parentNode?r.innerHeight:l,f.bottom)}c=h.position=="absolute"||h.position=="fixed"?O.offsetParent:O.parentNode}else if(c.nodeType==11)c=c.host;else break;return{left:s-t.left,right:Math.max(s,o)-t.left,top:a-(t.top+e),bottom:Math.max(a,l)-(t.top+e)}}function f1(i){let e=i.getBoundingClientRect(),t=i.ownerDocument.defaultView||window;return e.left<t.innerWidth&&e.right>0&&e.top<t.innerHeight&&e.bottom>0}function u1(i,e){let t=i.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}var Zr=class{constructor(e,t,n,r){this.from=e,this.to=t,this.size=n,this.displaySize=r}static same(e,t){if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++){let r=e[n],s=t[n];if(r.from!=s.from||r.to!=s.to||r.size!=s.size)return!1}return!0}draw(e,t){return q.replace({widget:new fc(this.displaySize*(t?e.scaleY:e.scaleX),t)}).range(this.from,this.to)}},fc=class extends Ge{constructor(e,t){super(),this.size=e,this.vertical=t}eq(e){return e.size==this.size&&e.vertical==this.vertical}toDOM(){let e=document.createElement("div");return this.vertical?e.style.height=this.size+"px":(e.style.width=this.size+"px",e.style.height="2px",e.style.display="inline-block"),e}get estimatedHeight(){return this.vertical?this.size:-1}},Go=class{constructor(e){this.state=e,this.pixelViewport={left:0,right:window.innerWidth,top:0,bottom:0},this.inView=!0,this.paddingTop=0,this.paddingBottom=0,this.contentDOMWidth=0,this.contentDOMHeight=0,this.editorHeight=0,this.editorWidth=0,this.scrollTop=0,this.scrolledToBottom=!1,this.scaleX=1,this.scaleY=1,this.scrollAnchorPos=0,this.scrollAnchorHeight=-1,this.scaler=Fp,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=ne.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let t=e.facet(Cc).some(n=>typeof n!="function"&&n.class=="cm-lineWrapping");this.heightOracle=new ac(t),this.stateDeco=e.facet(Gr).filter(n=>typeof n!="function"),this.heightMap=Je.empty().applyChanges(this.stateDeco,U.empty,this.heightOracle.setDoc(e.doc),[new kt(0,0,0,e.doc.length)]);for(let n=0;n<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());n++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=q.set(this.lineGaps.map(n=>n.draw(this,!1))),this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let n=0;n<=1;n++){let r=n?t.head:t.anchor;if(!e.some(({from:s,to:o})=>r>=s&&r<=o)){let{from:s,to:o}=this.lineBlockAt(r);e.push(new kn(s,o))}}return this.viewports=e.sort((n,r)=>n.from-r.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?Fp:new uc(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(Xr(e,this.scaler))})}update(e,t=null){this.state=e.state;let n=this.stateDeco;this.stateDeco=this.state.facet(Gr).filter(O=>typeof O!="function");let r=e.changedRanges,s=kt.extendWithRanges(r,c1(n,this.stateDeco,e?e.changes:Ae.empty(this.state.doc.length))),o=this.heightMap.height,a=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);Ip(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),s),(this.heightMap.height!=o||Rn)&&(e.flags|=2),a?(this.scrollAnchorPos=e.changes.mapPos(a.from,-1),this.scrollAnchorHeight=a.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=o);let l=s.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.head<l.from||t.range.head>l.to)||!this.viewportIsAppropriate(l))&&(l=this.getViewport(0,t));let c=l.from!=this.viewport.from||l.to!=this.viewport.to;this.viewport=l,e.flags|=this.updateForViewport(),(c||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&e.selectionSet&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(jm)&&(this.mustEnforceCursorAssoc=!0)}measure(e){let t=e.contentDOM,n=window.getComputedStyle(t),r=this.heightOracle,s=n.whiteSpace;this.defaultTextDirection=n.direction=="rtl"?ne.RTL:ne.LTR;let o=this.heightOracle.mustRefreshForWrapping(s),a=t.getBoundingClientRect(),l=o||this.mustMeasureContent||this.contentDOMHeight!=a.height;this.contentDOMHeight=a.height,this.mustMeasureContent=!1;let c=0,O=0;if(a.width&&a.height){let{scaleX:v,scaleY:b}=um(t,a);(v>.005&&Math.abs(this.scaleX-v)>.005||b>.005&&Math.abs(this.scaleY-b)>.005)&&(this.scaleX=v,this.scaleY=b,c|=16,o=l=!0)}let h=(parseInt(n.paddingTop)||0)*this.scaleY,f=(parseInt(n.paddingBottom)||0)*this.scaleY;(this.paddingTop!=h||this.paddingBottom!=f)&&(this.paddingTop=h,this.paddingBottom=f,c|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(r.lineWrapping&&(l=!0),this.editorWidth=e.scrollDOM.clientWidth,c|=16);let u=e.scrollDOM.scrollTop*this.scaleY;this.scrollTop!=u&&(this.scrollAnchorHeight=-1,this.scrollTop=u),this.scrolledToBottom=mm(e.scrollDOM);let d=(this.printing?u1:h1)(t,this.paddingTop),p=d.top-this.pixelViewport.top,m=d.bottom-this.pixelViewport.bottom;this.pixelViewport=d;let g=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(g!=this.inView&&(this.inView=g,g&&(l=!0)),!this.inView&&!this.scrollTarget&&!f1(e.dom))return 0;let y=a.width;if((this.contentDOMWidth!=y||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=a.width,this.editorHeight=e.scrollDOM.clientHeight,c|=16),l){let v=e.docView.measureVisibleLineHeights(this.viewport);if(r.mustRefreshForHeights(v)&&(o=!0),o||r.lineWrapping&&Math.abs(y-this.contentDOMWidth)>r.charWidth){let{lineHeight:b,charWidth:x,textHeight:Q}=e.docView.measureTextSize();o=b>0&&r.refresh(s,b,x,Q,Math.max(5,y/x),v),o&&(e.docView.minWidth=0,c|=16)}p>0&&m>0?O=Math.max(p,m):p<0&&m<0&&(O=Math.min(p,m)),Ip();for(let b of this.viewports){let x=b.from==this.viewport.from?v:e.docView.measureVisibleLineHeights(b);this.heightMap=(o?Je.empty().applyChanges(this.stateDeco,U.empty,this.heightOracle,[new kt(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(r,0,o,new lc(b.from,x))}Rn&&(c|=2)}let S=!this.viewportIsAppropriate(this.viewport,O)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return S&&(c&2&&(c|=this.updateScaler()),this.viewport=this.getViewport(O,this.scrollTarget),c|=this.updateForViewport()),(c&2||S)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(o?[]:this.lineGaps,e)),c|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),c}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let n=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),r=this.heightMap,s=this.heightOracle,{visibleTop:o,visibleBottom:a}=this,l=new kn(r.lineAt(o-n*1e3,he.ByHeight,s,0,0).from,r.lineAt(a+(1-n)*1e3,he.ByHeight,s,0,0).to);if(t){let{head:c}=t.range;if(c<l.from||c>l.to){let O=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),h=r.lineAt(c,he.ByPos,s,0,0),f;t.y=="center"?f=(h.top+h.bottom)/2-O/2:t.y=="start"||t.y=="nearest"&&c<l.from?f=h.top:f=h.bottom-O,l=new kn(r.lineAt(f-1e3/2,he.ByHeight,s,0,0).from,r.lineAt(f+O+1e3/2,he.ByHeight,s,0,0).to)}}return l}mapViewport(e,t){let n=t.mapPos(e.from,-1),r=t.mapPos(e.to,1);return new kn(this.heightMap.lineAt(n,he.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(r,he.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:e,to:t},n=0){if(!this.inView)return!0;let{top:r}=this.heightMap.lineAt(e,he.ByPos,this.heightOracle,0,0),{bottom:s}=this.heightMap.lineAt(t,he.ByPos,this.heightOracle,0,0),{visibleTop:o,visibleBottom:a}=this;return(e==0||r<=o-Math.max(10,Math.min(-n,250)))&&(t==this.state.doc.length||s>=a+Math.max(10,Math.min(n,250)))&&r>o-2*1e3&&s<a+2*1e3}mapLineGaps(e,t){if(!e.length||t.empty)return e;let n=[];for(let r of e)t.touchesRange(r.from,r.to)||n.push(new Zr(t.mapPos(r.from),t.mapPos(r.to),r.size,r.displaySize));return n}ensureLineGaps(e,t){let n=this.heightOracle.lineWrapping,r=n?1e4:2e3,s=r>>1,o=r<<1;if(this.defaultTextDirection!=ne.LTR&&!n)return[];let a=[],l=(O,h,f,u)=>{if(h-O<s)return;let d=this.state.selection.main,p=[d.from];d.empty||p.push(d.to);for(let g of p)if(g>O&&g<h){l(O,g-10,f,u),l(g+10,h,f,u);return}let m=p1(e,g=>g.from>=f.from&&g.to<=f.to&&Math.abs(g.from-O)<s&&Math.abs(g.to-h)<s&&!p.some(y=>g.from<y&&g.to>y));if(!m){if(h<f.to&&t&&n&&t.visibleRanges.some(S=>S.from<=h&&S.to>=h)){let S=t.moveToLineBoundary(P.cursor(h),!1,!0).head;S>O&&(h=S)}let g=this.gapSize(f,O,h,u),y=n||g<2e6?g:2e6;m=new Zr(O,h,g,y)}a.push(m)},c=O=>{if(O.length<o||O.type!=Ye.Text)return;let h=d1(O.from,O.to,this.stateDeco);if(h.total<o)return;let f=this.scrollTarget?this.scrollTarget.range.head:null,u,d;if(n){let p=r/this.heightOracle.lineLength*this.heightOracle.lineHeight,m,g;if(f!=null){let y=ko(h,f),S=((this.visibleBottom-this.visibleTop)/2+p)/O.height;m=y-S,g=y+S}else m=(this.visibleTop-O.top-p)/O.height,g=(this.visibleBottom-O.top+p)/O.height;u=Po(h,m),d=Po(h,g)}else{let p=h.total*this.heightOracle.charWidth,m=r*this.heightOracle.charWidth,g=0;if(p>2e6)for(let x of e)x.from>=O.from&&x.from<O.to&&x.size!=x.displaySize&&x.from*this.heightOracle.charWidth+g<this.pixelViewport.left&&(g=x.size-x.displaySize);let y=this.pixelViewport.left+g,S=this.pixelViewport.right+g,v,b;if(f!=null){let x=ko(h,f),Q=((S-y)/2+m)/p;v=x-Q,b=x+Q}else v=(y-m)/p,b=(S+m)/p;u=Po(h,v),d=Po(h,b)}u>O.from&&l(O.from,u,O,h),d<O.to&&l(d,O.to,O,h)};for(let O of this.viewportLines)Array.isArray(O.type)?O.type.forEach(c):c(O);return a}gapSize(e,t,n,r){let s=ko(r,n)-ko(r,t);return this.heightOracle.lineWrapping?e.height*s:r.total*this.heightOracle.charWidth*s}updateLineGaps(e){Zr.same(e,this.lineGaps)||(this.lineGaps=e,this.lineGapDeco=q.set(e.map(t=>t.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let n=[];F.spans(t,this.viewport.from,this.viewport.to,{span(s,o){n.push({from:s,to:o})},point(){}},20);let r=0;if(n.length!=this.visibleRanges.length)r=12;else for(let s=0;s<n.length&&!(r&8);s++){let o=this.visibleRanges[s],a=n[s];(o.from!=a.from||o.to!=a.to)&&(r|=4,e&&e.mapPos(o.from,-1)==a.from&&e.mapPos(o.to,1)==a.to||(r|=8))}return this.visibleRanges=n,r}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||Xr(this.heightMap.lineAt(e,he.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(t=>t.top<=e&&t.bottom>=e)||Xr(this.heightMap.lineAt(this.scaler.fromDOM(e),he.ByHeight,this.heightOracle,0,0),this.scaler)}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return Xr(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}},kn=class{constructor(e,t){this.from=e,this.to=t}};function d1(i,e,t){let n=[],r=i,s=0;return F.spans(t,i,e,{span(){},point(o,a){o>r&&(n.push({from:r,to:o}),s+=o-r),r=a}},20),r<e&&(n.push({from:r,to:e}),s+=e-r),{total:s,ranges:n}}function Po({total:i,ranges:e},t){if(t<=0)return e[0].from;if(t>=1)return e[e.length-1].to;let n=Math.floor(i*t);for(let r=0;;r++){let{from:s,to:o}=e[r],a=o-s;if(n<=a)return s+n;n-=a}}function ko(i,e){let t=0;for(let{from:n,to:r}of i.ranges){if(e<=r){t+=e-n;break}t+=r-n}return t/i.total}function p1(i,e){for(let t of i)if(e(t))return t}var Fp={toDOM(i){return i},fromDOM(i){return i},scale:1,eq(i){return i==this}},uc=class i{constructor(e,t,n){let r=0,s=0,o=0;this.viewports=n.map(({from:a,to:l})=>{let c=t.lineAt(a,he.ByPos,e,0,0).top,O=t.lineAt(l,he.ByPos,e,0,0).bottom;return r+=O-c,{from:a,to:l,top:c,bottom:O,domTop:0,domBottom:0}}),this.scale=(7e6-r)/(t.height-r);for(let a of this.viewports)a.domTop=o+(a.top-s)*this.scale,o=a.domBottom=a.domTop+(a.bottom-a.top),s=a.bottom}toDOM(e){for(let t=0,n=0,r=0;;t++){let s=t<this.viewports.length?this.viewports[t]:null;if(!s||e<s.top)return r+(e-n)*this.scale;if(e<=s.bottom)return s.domTop+(e-s.top);n=s.bottom,r=s.domBottom}}fromDOM(e){for(let t=0,n=0,r=0;;t++){let s=t<this.viewports.length?this.viewports[t]:null;if(!s||e<s.domTop)return n+(e-r)/this.scale;if(e<=s.domBottom)return s.top+(e-s.domTop);n=s.bottom,r=s.domBottom}}eq(e){return e instanceof i?this.scale==e.scale&&this.viewports.length==e.viewports.length&&this.viewports.every((t,n)=>t.from==e.viewports[n].from&&t.to==e.viewports[n].to):!1}};function Xr(i,e){if(e.scale==1)return i;let t=e.toDOM(i.top),n=e.toDOM(i.bottom);return new wt(i.from,i.length,t,n-t,Array.isArray(i._content)?i._content.map(r=>Xr(r,e)):i._content)}var To=X.define({combine:i=>i.join(" ")}),dc=X.define({combine:i=>i.indexOf(!0)>-1}),pc=Ot.newName(),ng=Ot.newName(),rg=Ot.newName(),sg={"&light":"."+ng,"&dark":"."+rg};function mc(i,e,t){return new Ot(e,{finish(n){return/&/.test(n)?n.replace(/&\w*/,r=>{if(r=="&")return i;if(!t||!t[r])throw new RangeError(`Unsupported selector: ${r}`);return t[r]}):i+" "+n}})}var m1=mc("."+pc,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="20"><path stroke="%23888" stroke-width="1" fill="none" d="M1 10H196L190 5M190 15L196 10M197 4L197 16"/></svg>')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},sg),g1={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},jO=R.ie&&R.ie_version<=11,gc=class{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new DO,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let n of t)this.queue.push(n);(R.ie&&R.ie_version<=11||R.ios&&e.composing)&&t.some(n=>n.type=="childList"&&n.removedNodes.length||n.type=="characterData"&&n.oldValue.length>n.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&R.android&&e.constructor.EDIT_CONTEXT!==!1&&!(R.chrome&&R.chrome_version<126)&&(this.editContext=new $c(e),e.state.facet(It)&&(e.contentDOM.editContext=this.editContext.editContext)),jO&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var t;((t=this.view.docView)===null||t===void 0?void 0:t.lastUpdate)<Date.now()-75&&this.onResize()}),this.resizeScroll.observe(e.scrollDOM)),this.addWindowListeners(this.win=e.win),this.start(),typeof IntersectionObserver=="function"&&(this.intersection=new IntersectionObserver(t=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(t=>{t.length>0&&t[t.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,n)=>t!=e[n]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:n}=this,r=this.selectionRange;if(n.state.facet(It)?n.root.activeElement!=this.dom:!Ro(this.dom,r))return;let s=r.anchorNode&&n.docView.nearest(r.anchorNode);if(s&&s.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(R.ie&&R.ie_version<=11||R.android&&R.chrome)&&!n.state.selection.main.empty&&r.focusNode&&qr(r.focusNode,r.focusOffset,r.anchorNode,r.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=jr(e.root);if(!t)return!1;let n=R.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&$1(this.view,t)||t;if(!n||this.selectionRange.eq(n))return!1;let r=Ro(this.dom,n);return r&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime<Date.now()-300&&hx(this.dom,n)?(this.view.inputState.lastFocusTime=0,e.docView.updateSelection(),!1):(this.selectionRange.setRange(n),r&&(this.selectionChanged=!0),!0)}setSelectionRange(e,t){this.selectionRange.set(e.node,e.offset,t.node,t.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let e=0,t=null;for(let n=this.dom;n;)if(n.nodeType==1)!t&&e<this.scrollTargets.length&&this.scrollTargets[e]==n?e++:t||(t=this.scrollTargets.slice(0,e)),t&&t.push(n),n=n.assignedSlot||n.parentNode;else if(n.nodeType==11)n=n.host;else break;if(e<this.scrollTargets.length&&!t&&(t=this.scrollTargets.slice(0,e)),t){for(let n of this.scrollTargets)n.removeEventListener("scroll",this.onScroll);for(let n of this.scrollTargets=t)n.addEventListener("scroll",this.onScroll)}}ignore(e){if(!this.active)return e();try{return this.stop(),e()}finally{this.start(),this.clear()}}start(){this.active||(this.observer.observe(this.dom,g1),jO&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),jO&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(e,t){var n;if(!this.delayedAndroidKey){let r=()=>{let s=this.delayedAndroidKey;s&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=s.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&s.force&&Xn(this.dom,s.key,s.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(r)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange<Date.now()-50||!!(!((n=this.delayedAndroidKey)===null||n===void 0)&&n.force)})}clearDelayedAndroidKey(){this.win.cancelAnimationFrame(this.flushingAndroidKey),this.delayedAndroidKey=null,this.flushingAndroidKey=-1}flushSoon(){this.delayedFlush<0&&(this.delayedFlush=this.view.win.requestAnimationFrame(()=>{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,n=-1,r=!1;for(let s of e){let o=this.readMutation(s);o&&(o.typeOver&&(r=!0),t==-1?{from:t,to:n}=o:(t=Math.min(o.from,t),n=Math.max(o.to,n)))}return{from:t,to:n,typeOver:r}}readChange(){let{from:e,to:t,typeOver:n}=this.processRecords(),r=this.selectionChanged&&Ro(this.dom,this.selectionRange);if(e<0&&!r)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let s=new nc(this.view,e,t,n);return this.view.docView.domChanged={newSel:s.newSel?s.newSel.main:null},s}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let n=this.view.state,r=Im(this.view,t);return this.view.state==n&&(t.domChanged||t.newSel&&!t.newSel.main.eq(this.view.state.selection.main))&&this.view.update([]),r}readMutation(e){let t=this.view.docView.nearest(e.target);if(!t||t.ignoreMutation(e))return null;if(t.markDirty(e.type=="attributes"),e.type=="attributes"&&(t.flags|=4),e.type=="childList"){let n=Hp(t,e.previousSibling||e.target.previousSibling,-1),r=Hp(t,e.nextSibling||e.target.nextSibling,1);return{from:n?t.posAfter(n):t.posAtStart,to:r?t.posBefore(r):t.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(It)!=e.state.facet(It)&&(e.view.contentDOM.editContext=e.state.facet(It)?this.editContext.editContext:null))}destroy(){var e,t,n;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(t=this.gapIntersection)===null||t===void 0||t.disconnect(),(n=this.resizeScroll)===null||n===void 0||n.disconnect();for(let r of this.scrollTargets)r.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}};function Hp(i,e,t){for(;e;){let n=le.get(e);if(n&&n.parent==i)return n;let r=e.parentNode;e=r!=i.dom?r:t>0?e.nextSibling:e.previousSibling}return null}function Kp(i,e){let t=e.startContainer,n=e.startOffset,r=e.endContainer,s=e.endOffset,o=i.docView.domAtPos(i.state.selection.main.anchor);return qr(o.node,o.offset,r,s)&&([t,n,r,s]=[r,s,t,n]),{anchorNode:t,anchorOffset:n,focusNode:r,focusOffset:s}}function $1(i,e){if(e.getComposedRanges){let r=e.getComposedRanges(i.root)[0];if(r)return Kp(i,r)}let t=null;function n(r){r.preventDefault(),r.stopImmediatePropagation(),t=r.getTargetRanges()[0]}return i.contentDOM.addEventListener("beforeinput",n,!0),i.dom.ownerDocument.execCommand("indent"),i.contentDOM.removeEventListener("beforeinput",n,!0),t?Kp(i,t):null}var $c=class{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let t=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=n=>{let r=e.state.selection.main,{anchor:s,head:o}=r,a=this.toEditorPos(n.updateRangeStart),l=this.toEditorPos(n.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:n.updateRangeStart,editorBase:a,drifted:!1});let c={from:a,to:l,insert:U.of(n.text.split(` 60 `))};if(c.from==this.from&&s<this.from?c.from=s:c.to==this.to&&s>this.to&&(c.to=s),c.from==c.to&&!c.insert.length){let O=P.single(this.toEditorPos(n.selectionStart),this.toEditorPos(n.selectionEnd));O.main.eq(r)||e.dispatch({selection:O,userEvent:"select"});return}if((R.mac||R.android)&&c.from==o-1&&/^\. ?$/.test(n.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(c={from:a,to:l,insert:U.of([n.text.replace("."," ")])}),this.pendingContextChange=c,!e.state.readOnly){let O=this.to-this.from+(c.to-c.from+c.insert.length);Vc(e,c,P.single(this.toEditorPos(n.selectionStart,O),this.toEditorPos(n.selectionEnd,O)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state))},this.handlers.characterboundsupdate=n=>{let r=[],s=null;for(let o=this.toEditorPos(n.rangeStart),a=this.toEditorPos(n.rangeEnd);o<a;o++){let l=e.coordsForChar(o);s=l&&new DOMRect(l.left,l.top,l.right-l.left,l.bottom-l.top)||s||new DOMRect,r.push(s)}t.updateCharacterBounds(n.rangeStart,r)},this.handlers.textformatupdate=n=>{let r=[];for(let s of n.getTextFormats()){let o=s.underlineStyle,a=s.underlineThickness;if(o!="None"&&a!="None"){let l=this.toEditorPos(s.rangeStart),c=this.toEditorPos(s.rangeEnd);if(l<c){let O=`text-decoration: underline ${o=="Dashed"?"dashed ":o=="Squiggle"?"wavy ":""}${a=="Thin"?1:2}px`;r.push(q.mark({attributes:{style:O}}).range(l,c))}}}e.dispatch({effects:Um.of(q.set(r))})},this.handlers.compositionstart=()=>{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:n}=this.composing;this.composing=null,n&&this.reset(e.state)}};for(let n in this.handlers)t.addEventListener(n,this.handlers[n]);this.measureReq={read:n=>{this.editContext.updateControlBounds(n.contentDOM.getBoundingClientRect());let r=jr(n.root);r&&r.rangeCount&&this.editContext.updateSelectionBounds(r.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,n=!1,r=this.pendingContextChange;return e.changes.iterChanges((s,o,a,l,c)=>{if(n)return;let O=c.length-(o-s);if(r&&o>=r.to)if(r.from==s&&r.to==o&&r.insert.eq(c)){r=this.pendingContextChange=null,t+=O,this.to+=O;return}else r=null,this.revertPending(e.state);if(s+=t,o+=t,o<=this.from)this.from+=O,this.to+=O;else if(s<this.to){if(s<this.from||o>this.to||this.to-this.from+c.length>3e4){n=!0;return}this.editContext.updateText(this.toContextPos(s),this.toContextPos(o),c.toString()),this.to+=O}t+=O}),r&&!n&&this.revertPending(e.state),!n}update(e){let t=this.pendingContextChange,n=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(n.from,n.to)&&e.transactions.some(r=>!r.isUserEvent("input.type")&&r.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,n=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),r=this.toContextPos(t.head);(this.editContext.selectionStart!=n||this.editContext.selectionEnd!=r)&&this.editContext.updateSelection(n,r)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to<e.doc.length&&this.to-t<500||this.to-this.from>1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let n=this.composing;return n&&n.drifted?n.editorBase+(e-n.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}},T=class i{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:n}=e;this.dispatchTransactions=e.dispatchTransactions||n&&(r=>r.forEach(s=>n(s,this)))||(r=>this.update(r)),this.dispatch=this.dispatch.bind(this),this._root=e.root||cx(e.parent)||document,this.viewState=new Go(e.state||ee.create(e)),e.scrollTo&&e.scrollTo.is(xo)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(Pn).map(r=>new Wr(r));for(let r of this.plugins)r.update(this);this.observer=new gc(this),this.inputState=new rc(this),this.inputState.ensureHandlers(this.plugins),this.docView=new Mo(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((t=document.fonts)===null||t===void 0)&&t.ready&&document.fonts.ready.then(()=>this.requestMeasure())}dispatch(...e){let t=e.length==1&&e[0]instanceof xe?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t=!1,n=!1,r,s=this.state;for(let f of e){if(f.startState!=s)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");s=f.state}if(this.destroyed){this.viewState.state=s;return}let o=this.hasFocus,a=0,l=null;e.some(f=>f.annotation(eg))?(this.inputState.notifiedFocused=o,a=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,l=tg(s,o),l||(a=1));let c=this.observer.delayedAndroidKey,O=null;if(c?(this.observer.clearDelayedAndroidKey(),O=this.observer.readChange(),(O&&!this.state.doc.eq(s.doc)||!this.state.selection.eq(s.selection))&&(O=null)):this.observer.clear(),s.facet(ee.phrases)!=this.state.facet(ee.phrases))return this.setState(s);r=Uo.create(this,s,e),r.flags|=a;let h=this.viewState.scrollTarget;try{this.updateState=2;for(let f of e){if(h&&(h=h.map(f.changes)),f.scrollIntoView){let{main:u}=f.state.selection;h=new Cr(u.empty?u:P.cursor(u.head,u.head>u.anchor?-1:1))}for(let u of f.effects)u.is(xo)&&(h=u.value.clip(this.state))}this.viewState.update(r,h),this.bidiCache=Bo.update(this.bidiCache,r.changes),r.empty||(this.updatePlugins(r),this.inputState.update(r)),t=this.docView.update(r),this.state.facet(Tr)!=this.styleModules&&this.mountStyles(),n=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(f=>f.isUserEvent("select.pointer")))}finally{this.updateState=0}if(r.startState.facet(To)!=r.state.facet(To)&&(this.viewState.mustMeasureContent=!0),(t||n||h||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!r.empty)for(let f of this.state.facet(JO))try{f(r)}catch(u){qe(this.state,u,"update listener")}(l||O)&&Promise.resolve().then(()=>{l&&this.state==l.startState&&this.dispatch(l),O&&!Im(this,O)&&c.force&&Xn(this.contentDOM,c.key,c.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let t=this.hasFocus;try{for(let n of this.plugins)n.destroy(this);this.viewState=new Go(e),this.plugins=e.facet(Pn).map(n=>new Wr(n)),this.pluginMap.clear();for(let n of this.plugins)n.update(this);this.docView.destroy(),this.docView=new Mo(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(Pn),n=e.state.facet(Pn);if(t!=n){let r=[];for(let s of n){let o=t.indexOf(s);if(o<0)r.push(new Wr(s));else{let a=this.plugins[o];a.mustUpdate=e,r.push(a)}}for(let s of this.plugins)s.mustUpdate!=e&&s.destroy(this);this.plugins=r,this.pluginMap.clear()}else for(let r of this.plugins)r.mustUpdate=e;for(let r=0;r<this.plugins.length;r++)this.plugins[r].update(this);t!=n&&this.inputState.ensureHandlers(this.plugins)}docViewUpdate(){for(let e of this.plugins){let t=e.value;if(t&&t.docViewUpdate)try{t.docViewUpdate(this)}catch(n){qe(this.state,n,"doc view update listener")}}}measure(e=!0){if(this.destroyed)return;if(this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,n=this.scrollDOM,r=n.scrollTop*this.scaleY,{scrollAnchorPos:s,scrollAnchorHeight:o}=this.viewState;Math.abs(r-this.viewState.scrollTop)>1&&(o=-1),this.viewState.scrollAnchorHeight=-1;try{for(let a=0;;a++){if(o<0)if(mm(n))s=-1,o=this.viewState.heightMap.height;else{let u=this.viewState.scrollAnchorAt(r);s=u.from,o=u.top}this.updateState=1;let l=this.viewState.measure(this);if(!l&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(a>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let c=[];l&4||([this.measureRequests,c]=[c,this.measureRequests]);let O=c.map(u=>{try{return u.read(this)}catch(d){return qe(this.state,d),Jp}}),h=Uo.create(this,this.state,[]),f=!1;h.flags|=l,t?t.flags|=l:t=h,this.updateState=2,h.empty||(this.updatePlugins(h),this.inputState.update(h),this.updateAttrs(),f=this.docView.update(h),f&&this.docViewUpdate());for(let u=0;u<c.length;u++)if(O[u]!=Jp)try{let d=c[u];d.write&&d.write(O[u],this)}catch(d){qe(this.state,d)}if(f&&this.docView.updateSelection(!0),!h.viewportChanged&&this.measureRequests.length==0){if(this.viewState.editorHeight)if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null,o=-1;continue}else{let d=(s<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(s).top)-o;if(d>1||d<-1){r=r+d,n.scrollTop=r/this.scaleY,o=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let a of this.state.facet(JO))a(t)}get themeClasses(){return pc+" "+(this.state.facet(dc)?rg:ng)+" "+this.state.facet(To)}updateAttrs(){let e=em(this,Mm,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(It)?"true":"false",class:"cm-content",style:`${R.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),em(this,Cc,t);let n=this.observer.ignore(()=>{let r=NO(this.contentDOM,this.contentAttrs,t),s=NO(this.dom,this.editorAttrs,e);return r||s});return this.editorAttrs=e,this.contentAttrs=t,n}showAnnouncements(e){let t=!0;for(let n of e)for(let r of n.effects)if(r.is(i.announce)){t&&(this.announceDOM.textContent=""),t=!1;let s=this.announceDOM.appendChild(document.createElement("div"));s.textContent=r.value}}mountStyles(){this.styleModules=this.state.facet(Tr);let e=this.state.facet(i.cspNonce);Ot.mount(this.root,this.styleModules.concat(m1).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let t=0;t<this.measureRequests.length;t++)if(this.measureRequests[t].key===e.key){this.measureRequests[t]=e;return}}this.measureRequests.push(e)}}plugin(e){let t=this.pluginMap.get(e);return(t===void 0||t&&t.plugin!=e)&&this.pluginMap.set(e,t=this.plugins.find(n=>n.plugin==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,n){return AO(this,e,Vp(this,e,t,n))}moveByGroup(e,t){return AO(this,e,Vp(this,e,t,n=>Ux(this,e.head,n)))}visualLineSide(e,t){let n=this.bidiSpans(e),r=this.textDirectionAt(e.from),s=n[t?n.length-1:0];return P.cursor(s.side(t,r)+e.from,s.forward(!t,r)?1:-1)}moveToLineBoundary(e,t,n=!0){return Yx(this,e,t,n)}moveVertically(e,t,n){return AO(this,e,Mx(this,e,t,n))}domAtPos(e){return this.docView.domAtPos(e)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){return this.readMeasured(),Bm(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let n=this.docView.coordsAt(e,t);if(!n||n.left==n.right)return n;let r=this.state.doc.lineAt(e),s=this.bidiSpans(r),o=s[Pt.find(s,e-r.from,-1,t)];return Jo(n,o.dir==ne.LTR==t>0)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(Am)||e<this.viewport.from||e>this.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>y1)return Xm(e.length);let t=this.textDirectionAt(e.from),n;for(let s of this.bidiCache)if(s.from==e.from&&s.dir==t&&(s.fresh||zm(s.isolates,n=qp(this,e))))return s.order;n||(n=qp(this,e));let r=vx(e.text,t,n);return this.bidiCache.push(new Bo(e.from,e.to,t,n,!0,r)),r}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||R.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{dm(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){return xo.of(new Cr(typeof e=="number"?P.cursor(e):e,t.y,t.x,t.yMargin,t.xMargin))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,n=this.viewState.scrollAnchorAt(e);return xo.of(new Cr(P.cursor(n.from),"start","start",n.top-e,t,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return me.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return me.define(()=>({}),{eventObservers:e})}static theme(e,t){let n=Ot.newName(),r=[To.of(n),Tr.of(mc(`.${n}`,e))];return t&&t.dark&&r.push(dc.of(!0)),r}static baseTheme(e){return lt.lowest(Tr.of(mc("."+pc,e,sg)))}static findFromDOM(e){var t;let n=e.querySelector(".cm-content"),r=n&&le.get(n)||le.get(e);return((t=r?.rootView)===null||t===void 0?void 0:t.view)||null}};T.styleModule=Tr;T.inputHandler=Zm;T.clipboardInputFilter=qc;T.clipboardOutputFilter=_c;T.scrollHandler=Ym;T.focusChangeEffect=Vm;T.perLineTextDirection=Am;T.exceptionSink=Wm;T.updateListener=JO;T.editable=It;T.mouseSelectionStyle=Cm;T.dragMovesSelection=_m;T.clickAddsSelectionRange=qm;T.decorations=Gr;T.outerDecorations=Em;T.atomicRanges=Wc;T.bidiIsolatedRanges=Dm;T.scrollMargins=Lm;T.darkTheme=dc;T.cspNonce=X.define({combine:i=>i.length?i[0]:""});T.contentAttributes=Cc;T.editorAttributes=Mm;T.lineWrapping=T.contentAttributes.of({class:"cm-lineWrapping"});T.announce=Z.define();var y1=4096,Jp={},Bo=class i{constructor(e,t,n,r,s,o){this.from=e,this.to=t,this.dir=n,this.isolates=r,this.fresh=s,this.order=o}static update(e,t){if(t.empty&&!e.some(s=>s.fresh))return e;let n=[],r=e.length?e[e.length-1].dir:ne.LTR;for(let s=Math.max(0,e.length-10);s<e.length;s++){let o=e[s];o.dir==r&&!t.touchesRange(o.from,o.to)&&n.push(new i(t.mapPos(o.from,1),t.mapPos(o.to,-1),o.dir,o.isolates,!1,o.order))}return n}};function em(i,e,t){for(let n=i.state.facet(e),r=n.length-1;r>=0;r--){let s=n[r],o=typeof s=="function"?s(i):s;o&&IO(o,t)}return t}var Q1=R.mac?"mac":R.windows?"win":R.linux?"linux":"key";function S1(i,e){let t=i.split(/-(?!$)/),n=t[t.length-1];n=="Space"&&(n=" ");let r,s,o,a;for(let l=0;l<t.length-1;++l){let c=t[l];if(/^(cmd|meta|m)$/i.test(c))a=!0;else if(/^a(lt)?$/i.test(c))r=!0;else if(/^(c|ctrl|control)$/i.test(c))s=!0;else if(/^s(hift)?$/i.test(c))o=!0;else if(/^mod$/i.test(c))e=="mac"?a=!0:s=!0;else throw new Error("Unrecognized modifier name: "+c)}return r&&(n="Alt-"+n),s&&(n="Ctrl-"+n),a&&(n="Meta-"+n),o&&(n="Shift-"+n),n}function zo(i,e,t){return e.altKey&&(i="Alt-"+i),e.ctrlKey&&(i="Ctrl-"+i),e.metaKey&&(i="Meta-"+i),t!==!1&&e.shiftKey&&(i="Shift-"+i),i}var b1=lt.default(T.domEventHandlers({keydown(i,e){return lg(og(e.state),i,e,"editor")}})),qn=X.define({enables:b1}),tm=new WeakMap;function og(i){let e=i.facet(qn),t=tm.get(e);return t||tm.set(e,t=v1(e.reduce((n,r)=>n.concat(r),[]))),t}function ag(i,e,t){return lg(og(i.state),e,i,t)}var ci=null,x1=4e3;function v1(i,e=Q1){let t=Object.create(null),n=Object.create(null),r=(o,a)=>{let l=n[o];if(l==null)n[o]=a;else if(l!=a)throw new Error("Key binding "+o+" is used both as a regular binding and as a multi-stroke prefix")},s=(o,a,l,c,O)=>{var h,f;let u=t[o]||(t[o]=Object.create(null)),d=a.split(/ (?!$)/).map(g=>S1(g,e));for(let g=1;g<d.length;g++){let y=d.slice(0,g).join(" ");r(y,!0),u[y]||(u[y]={preventDefault:!0,stopPropagation:!1,run:[S=>{let v=ci={view:S,prefix:y,scope:o};return setTimeout(()=>{ci==v&&(ci=null)},x1),!0}]})}let p=d.join(" ");r(p,!1);let m=u[p]||(u[p]={preventDefault:!1,stopPropagation:!1,run:((f=(h=u._any)===null||h===void 0?void 0:h.run)===null||f===void 0?void 0:f.slice())||[]});l&&m.run.push(l),c&&(m.preventDefault=!0),O&&(m.stopPropagation=!0)};for(let o of i){let a=o.scope?o.scope.split(" "):["editor"];if(o.any)for(let c of a){let O=t[c]||(t[c]=Object.create(null));O._any||(O._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:h}=o;for(let f in O)O[f].run.push(u=>h(u,yc))}let l=o[e]||o.key;if(l)for(let c of a)s(c,l,o.run,o.preventDefault,o.stopPropagation),o.shift&&s(c,"Shift-"+l,o.shift,o.preventDefault,o.stopPropagation)}return t}var yc=null;function lg(i,e,t,n){yc=e;let r=bp(e),s=Xe(r,0),o=Ke(s)==r.length&&r!=" ",a="",l=!1,c=!1,O=!1;ci&&ci.view==t&&ci.scope==n&&(a=ci.prefix+" ",Fm.indexOf(e.keyCode)<0&&(c=!0,ci=null));let h=new Set,f=m=>{if(m){for(let g of m.run)if(!h.has(g)&&(h.add(g),g(t)))return m.stopPropagation&&(O=!0),!0;m.preventDefault&&(m.stopPropagation&&(O=!0),c=!0)}return!1},u=i[n],d,p;return u&&(f(u[a+zo(r,e,!o)])?l=!0:o&&(e.altKey||e.metaKey||e.ctrlKey)&&!(R.windows&&e.ctrlKey&&e.altKey)&&!(R.mac&&e.altKey&&!e.ctrlKey)&&(d=Bt[e.keyCode])&&d!=r?(f(u[a+zo(d,e,!0)])||e.shiftKey&&(p=vn[e.keyCode])!=r&&p!=d&&f(u[a+zo(p,e,!1)]))&&(l=!0):o&&e.shiftKey&&f(u[a+zo(r,e,!0)])&&(l=!0),!l&&f(u._any)&&(l=!0)),c&&(l=!0),l&&O&&e.stopPropagation(),yc=null,l}var Br=class i{constructor(e,t,n,r,s){this.className=e,this.left=t,this.top=n,this.width=r,this.height=s}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,t){return t.className!=this.className?!1:(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",this.width!=null&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,t,n){if(n.empty){let r=e.coordsAtPos(n.head,n.assoc||1);if(!r)return[];let s=Og(e);return[new i(t,r.left-s.left,r.top-s.top,null,r.bottom-r.top)]}else return w1(e,t,n)}};function Og(i){let e=i.scrollDOM.getBoundingClientRect();return{left:(i.textDirection==ne.LTR?e.left:e.right-i.scrollDOM.clientWidth*i.scaleX)-i.scrollDOM.scrollLeft*i.scaleX,top:e.top-i.scrollDOM.scrollTop*i.scaleY}}function im(i,e,t,n){let r=i.coordsAtPos(e,t*2);if(!r)return n;let s=i.dom.getBoundingClientRect(),o=(r.top+r.bottom)/2,a=i.posAtCoords({x:s.left+1,y:o}),l=i.posAtCoords({x:s.right-1,y:o});return a==null||l==null?n:{from:Math.max(n.from,Math.min(a,l)),to:Math.min(n.to,Math.max(a,l))}}function w1(i,e,t){if(t.to<=i.viewport.from||t.from>=i.viewport.to)return[];let n=Math.max(t.from,i.viewport.from),r=Math.min(t.to,i.viewport.to),s=i.textDirection==ne.LTR,o=i.contentDOM,a=o.getBoundingClientRect(),l=Og(i),c=o.querySelector(".cm-line"),O=c&&window.getComputedStyle(c),h=a.left+(O?parseInt(O.paddingLeft)+Math.min(0,parseInt(O.textIndent)):0),f=a.right-(O?parseInt(O.paddingRight):0),u=tc(i,n,1),d=tc(i,r,-1),p=u.type==Ye.Text?u:null,m=d.type==Ye.Text?d:null;if(p&&(i.lineWrapping||u.widgetLineBreaks)&&(p=im(i,n,1,p)),m&&(i.lineWrapping||d.widgetLineBreaks)&&(m=im(i,r,-1,m)),p&&m&&p.from==m.from&&p.to==m.to)return y(S(t.from,t.to,p));{let b=p?S(t.from,null,p):v(u,!1),x=m?S(null,t.to,m):v(d,!0),Q=[];return(p||u).to<(m||d).from-(p&&m?1:0)||u.widgetLineBreaks>1&&b.bottom+i.defaultLineHeight/2<x.top?Q.push(g(h,b.bottom,f,x.top)):b.bottom<x.top&&i.elementAtHeight((b.bottom+x.top)/2).type==Ye.Text&&(b.bottom=x.top=(b.bottom+x.top)/2),y(b).concat(Q).concat(y(x))}function g(b,x,Q,w){return new Br(e,b-l.left,x-l.top,Q-b,w-x)}function y({top:b,bottom:x,horizontal:Q}){let w=[];for(let k=0;k<Q.length;k+=2)w.push(g(Q[k],b,Q[k+1],x));return w}function S(b,x,Q){let w=1e9,k=-1e9,A=[];function V(L,G,re,$e,Me){let Qe=i.coordsAtPos(L,L==Q.to?-2:2),M=i.coordsAtPos(re,re==Q.from?2:-2);!Qe||!M||(w=Math.min(Qe.top,M.top,w),k=Math.max(Qe.bottom,M.bottom,k),Me==ne.LTR?A.push(s&&G?h:Qe.left,s&&$e?f:M.right):A.push(!s&&$e?h:M.left,!s&&G?f:Qe.right))}let C=b??Q.from,D=x??Q.to;for(let L of i.visibleRanges)if(L.to>C&&L.from<D)for(let G=Math.max(L.from,C),re=Math.min(L.to,D);;){let $e=i.state.doc.lineAt(G);for(let Me of i.bidiSpans($e)){let Qe=Me.from+$e.from,M=Me.to+$e.from;if(Qe>=re)break;M>G&&V(Math.max(Qe,G),b==null&&Qe<=C,Math.min(M,re),x==null&&M>=D,Me.dir)}if(G=$e.to+1,G>=re)break}return A.length==0&&V(C,b==null,D,x==null,i.textDirection),{top:w,bottom:k,horizontal:A}}function v(b,x){let Q=a.top+(x?b.top:b.bottom);return{top:Q,bottom:Q,horizontal:[]}}}function P1(i,e){return i.constructor==e.constructor&&i.eq(e)}var Qc=class{constructor(e,t){this.view=e,this.layer=t,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),t.above&&this.dom.classList.add("cm-layer-above"),t.class&&this.dom.classList.add(t.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),t.mount&&t.mount(this.dom,e)}update(e){e.startState.facet(Wo)!=e.state.facet(Wo)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}docViewUpdate(e){this.layer.updateOnDocViewUpdate!==!1&&e.requestMeasure(this.measureReq)}setOrder(e){let t=0,n=e.facet(Wo);for(;t<n.length&&n[t]!=this.layer;)t++;this.dom.style.zIndex=String((this.layer.above?150:-1)-t)}measure(){return this.layer.markers(this.view)}scale(){let{scaleX:e,scaleY:t}=this.view;(e!=this.scaleX||t!=this.scaleY)&&(this.scaleX=e,this.scaleY=t,this.dom.style.transform=`scale(${1/e}, ${1/t})`)}draw(e){if(e.length!=this.drawn.length||e.some((t,n)=>!P1(t,this.drawn[n]))){let t=this.dom.firstChild,n=0;for(let r of e)r.update&&t&&r.constructor&&this.drawn[n].constructor&&r.update(t,this.drawn[n])?(t=t.nextSibling,n++):this.dom.insertBefore(r.draw(),t);for(;t;){let r=t.nextSibling;t.remove(),t=r}this.drawn=e}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}},Wo=X.define();function cg(i){return[me.define(e=>new Qc(e,i)),Wo.of(i)]}var Ir=X.define({combine(i){return Ze(i,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})}});function hg(i={}){return[Ir.of(i),k1,T1,z1,jm.of(!0)]}function fg(i){return i.startState.facet(Ir)!=i.state.facet(Ir)}var k1=cg({above:!0,markers(i){let{state:e}=i,t=e.facet(Ir),n=[];for(let r of e.selection.ranges){let s=r==e.selection.main;if(r.empty||t.drawRangeCursor){let o=s?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",a=r.empty?r:P.cursor(r.head,r.head>r.anchor?-1:1);for(let l of Br.forRange(i,o,a))n.push(l)}}return n},update(i,e){i.transactions.some(n=>n.selection)&&(e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let t=fg(i);return t&&nm(i.state,e),i.docChanged||i.selectionSet||t},mount(i,e){nm(e.state,i)},class:"cm-cursorLayer"});function nm(i,e){e.style.animationDuration=i.facet(Ir).cursorBlinkRate+"ms"}var T1=cg({above:!1,markers(i){return i.state.selection.ranges.map(e=>e.empty?[]:Br.forRange(i,"cm-selectionBackground",e)).reduce((e,t)=>e.concat(t))},update(i,e){return i.docChanged||i.selectionSet||i.viewportChanged||fg(i)},class:"cm-selectionLayer"}),z1=lt.highest(T.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:"transparent !important"},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}})),ug=Z.define({map(i,e){return i==null?null:e.mapPos(i)}}),Rr=ue.define({create(){return null},update(i,e){return i!=null&&(i=e.changes.mapPos(i)),e.effects.reduce((t,n)=>n.is(ug)?n.value:t,i)}}),X1=me.fromClass(class{constructor(i){this.view=i,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(i){var e;let t=i.state.field(Rr);t==null?this.cursor!=null&&((e=this.cursor)===null||e===void 0||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(i.startState.field(Rr)!=t||i.docChanged||i.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:i}=this,e=i.state.field(Rr),t=e!=null&&i.coordsAtPos(e);if(!t)return null;let n=i.scrollDOM.getBoundingClientRect();return{left:t.left-n.left+i.scrollDOM.scrollLeft*i.scaleX,top:t.top-n.top+i.scrollDOM.scrollTop*i.scaleY,height:t.bottom-t.top}}drawCursor(i){if(this.cursor){let{scaleX:e,scaleY:t}=this.view;i?(this.cursor.style.left=i.left/e+"px",this.cursor.style.top=i.top/t+"px",this.cursor.style.height=i.height/t+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(i){this.view.state.field(Rr)!=i&&this.view.dispatch({effects:ug.of(i)})}},{eventObservers:{dragover(i){this.setDropPos(this.view.posAtCoords({x:i.clientX,y:i.clientY}))},dragleave(i){(i.target==this.view.contentDOM||!this.view.contentDOM.contains(i.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function dg(){return[Rr,X1]}function rm(i,e,t,n,r){e.lastIndex=0;for(let s=i.iterRange(t,n),o=t,a;!s.next().done;o+=s.value.length)if(!s.lineBreak)for(;a=e.exec(s.value);)r(o+a.index,a)}function R1(i,e){let t=i.visibleRanges;if(t.length==1&&t[0].from==i.viewport.from&&t[0].to==i.viewport.to)return t;let n=[];for(let{from:r,to:s}of t)r=Math.max(i.state.doc.lineAt(r).from,r-e),s=Math.min(i.state.doc.lineAt(s).to,s+e),n.length&&n[n.length-1].to>=r?n[n.length-1].to=s:n.push({from:r,to:s});return n}var Sc=class{constructor(e){let{regexp:t,decoration:n,decorate:r,boundary:s,maxLength:o=1e3}=e;if(!t.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=t,r)this.addMatch=(a,l,c,O)=>r(O,c,c+a[0].length,a,l);else if(typeof n=="function")this.addMatch=(a,l,c,O)=>{let h=n(a,l,c);h&&O(c,c+a[0].length,h)};else if(n)this.addMatch=(a,l,c,O)=>O(c,c+a[0].length,n);else throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.boundary=s,this.maxLength=o}createDeco(e){let t=new He,n=t.add.bind(t);for(let{from:r,to:s}of R1(e,this.maxLength))rm(e.state.doc,this.regexp,r,s,(o,a)=>this.addMatch(a,e,o,n));return t.finish()}updateDeco(e,t){let n=1e9,r=-1;return e.docChanged&&e.changes.iterChanges((s,o,a,l)=>{l>=e.view.viewport.from&&a<=e.view.viewport.to&&(n=Math.min(a,n),r=Math.max(l,r))}),e.viewportMoved||r-n>1e3?this.createDeco(e.view):r>-1?this.updateRange(e.view,t.map(e.changes),n,r):t}updateRange(e,t,n,r){for(let s of e.visibleRanges){let o=Math.max(s.from,n),a=Math.min(s.to,r);if(a>=o){let l=e.state.doc.lineAt(o),c=l.to<a?e.state.doc.lineAt(a):l,O=Math.max(s.from,l.from),h=Math.min(s.to,c.to);if(this.boundary){for(;o>l.from;o--)if(this.boundary.test(l.text[o-1-l.from])){O=o;break}for(;a<c.to;a++)if(this.boundary.test(c.text[a-c.from])){h=a;break}}let f=[],u,d=(p,m,g)=>f.push(g.range(p,m));if(l==c)for(this.regexp.lastIndex=O-l.from;(u=this.regexp.exec(l.text))&&u.index<h-l.from;)this.addMatch(u,e,u.index+l.from,d);else rm(e.state.doc,this.regexp,O,h,(p,m)=>this.addMatch(m,e,p,d));t=t.update({filterFrom:O,filterTo:h,filter:(p,m)=>p<O||m>h,add:f})}}return t}},bc=/x/.unicode!=null?"gu":"g",q1=new RegExp(`[\0-\b 61 -\x7F-\x9F\xAD\u061C\u200B\u200E\u200F\u2028\u2029\u202D\u202E\u2066\u2067\u2069\uFEFF\uFFF9-\uFFFC]`,bc),_1={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"},YO=null;function C1(){var i;if(YO==null&&typeof document<"u"&&document.body){let e=document.body.style;YO=((i=e.tabSize)!==null&&i!==void 0?i:e.MozTabSize)!=null}return YO||!1}var Zo=X.define({combine(i){let e=Ze(i,{render:null,specialChars:q1,addSpecialChars:null});return(e.replaceTabs=!C1())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,bc)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,bc)),e}});function pg(i={}){return[Zo.of(i),W1()]}var sm=null;function W1(){return sm||(sm=me.fromClass(class{constructor(i){this.view=i,this.decorations=q.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(i.state.facet(Zo)),this.decorations=this.decorator.createDeco(i)}makeDecorator(i){return new Sc({regexp:i.specialChars,decoration:(e,t,n)=>{let{doc:r}=t.state,s=Xe(e[0],0);if(s==9){let o=r.lineAt(n),a=t.state.tabSize,l=Gt(o.text,a,n-o.from);return q.replace({widget:new vc((a-l%a)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[s]||(this.decorationCache[s]=q.replace({widget:new xc(i,s)}))},boundary:i.replaceTabs?void 0:/[^]/})}update(i){let e=i.state.facet(Zo);i.startState.facet(Zo)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(i.view)):this.decorations=this.decorator.updateDeco(i,this.decorations)}},{decorations:i=>i.decorations}))}var Z1="\u2022";function V1(i){return i>=32?Z1:i==10?"\u2424":String.fromCharCode(9216+i)}var xc=class extends Ge{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=V1(this.code),n=e.state.phrase("Control character")+" "+(_1[this.code]||"0x"+this.code.toString(16)),r=this.options.render&&this.options.render(this.code,n,t);if(r)return r;let s=document.createElement("span");return s.textContent=t,s.title=n,s.setAttribute("aria-label",n),s.className="cm-specialChar",s}ignoreEvent(){return!1}},vc=class extends Ge{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent=" ",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}};function mg(){return j1}var A1=q.line({class:"cm-activeLine"}),j1=me.fromClass(class{constructor(i){this.decorations=this.getDeco(i)}update(i){(i.docChanged||i.selectionSet)&&(this.decorations=this.getDeco(i.view))}getDeco(i){let e=-1,t=[];for(let n of i.state.selection.ranges){let r=i.lineBlockAt(n.head);r.from>e&&(t.push(A1.range(r.from)),e=r.from)}return q.set(t)}},{decorations:i=>i.decorations});var wc=2e3;function Y1(i,e,t){let n=Math.min(e.line,t.line),r=Math.max(e.line,t.line),s=[];if(e.off>wc||t.off>wc||e.col<0||t.col<0){let o=Math.min(e.off,t.off),a=Math.max(e.off,t.off);for(let l=n;l<=r;l++){let c=i.doc.line(l);c.length<=a&&s.push(P.range(c.from+o,c.to+a))}}else{let o=Math.min(e.col,t.col),a=Math.max(e.col,t.col);for(let l=n;l<=r;l++){let c=i.doc.line(l),O=Qo(c.text,o,i.tabSize,!0);if(O<0)s.push(P.cursor(c.to));else{let h=Qo(c.text,a,i.tabSize);s.push(P.range(c.from+O,c.from+h))}}}return s}function U1(i,e){let t=i.coordsAtPos(i.viewport.from);return t?Math.round(Math.abs((t.left-e)/i.defaultCharacterWidth)):-1}function om(i,e){let t=i.posAtCoords({x:e.clientX,y:e.clientY},!1),n=i.state.doc.lineAt(t),r=t-n.from,s=r>wc?-1:r==n.length?U1(i,e.clientX):Gt(n.text,i.state.tabSize,t-n.from);return{line:n.number,col:s,off:r}}function M1(i,e){let t=om(i,e),n=i.state.selection;return t?{update(r){if(r.docChanged){let s=r.changes.mapPos(r.startState.doc.line(t.line).from),o=r.state.doc.lineAt(s);t={line:o.number,col:t.col,off:Math.min(t.off,o.length)},n=n.map(r.changes)}},get(r,s,o){let a=om(i,r);if(!a)return n;let l=Y1(i.state,t,a);return l.length?o?P.create(l.concat(n.ranges)):P.create(l):n}}:null}function gg(i){let e=i?.eventFilter||(t=>t.altKey&&t.button==0);return T.mouseSelectionStyle.of((t,n)=>e(n)?M1(t,n):null)}var E1={Alt:[18,i=>!!i.altKey],Control:[17,i=>!!i.ctrlKey],Shift:[16,i=>!!i.shiftKey],Meta:[91,i=>!!i.metaKey]},D1={style:"cursor: crosshair"};function $g(i={}){let[e,t]=E1[i.key||"Alt"],n=me.fromClass(class{constructor(r){this.view=r,this.isDown=!1}set(r){this.isDown!=r&&(this.isDown=r,this.view.update([]))}},{eventObservers:{keydown(r){this.set(r.keyCode==e||t(r))},keyup(r){(r.keyCode==e||!t(r))&&this.set(!1)},mousemove(r){this.set(t(r))}}});return[n,T.contentAttributes.of(r=>{var s;return!((s=r.plugin(n))===null||s===void 0)&&s.isDown?D1:null})]}var kr="-10000px",Io=class{constructor(e,t,n,r){this.facet=t,this.createTooltipView=n,this.removeTooltipView=r,this.input=e.state.facet(t),this.tooltips=this.input.filter(o=>o);let s=null;this.tooltipViews=this.tooltips.map(o=>s=n(o,s))}update(e,t){var n;let r=e.state.facet(this.facet),s=r.filter(l=>l);if(r===this.input){for(let l of this.tooltipViews)l.update&&l.update(e);return!1}let o=[],a=t?[]:null;for(let l=0;l<s.length;l++){let c=s[l],O=-1;if(c){for(let h=0;h<this.tooltips.length;h++){let f=this.tooltips[h];f&&f.create==c.create&&(O=h)}if(O<0)o[l]=this.createTooltipView(c,l?o[l-1]:null),a&&(a[l]=!!c.above);else{let h=o[l]=this.tooltipViews[O];a&&(a[l]=t[O]),h.update&&h.update(e)}}}for(let l of this.tooltipViews)o.indexOf(l)<0&&(this.removeTooltipView(l),(n=l.destroy)===null||n===void 0||n.call(l));return t&&(a.forEach((l,c)=>t[c]=l),t.length=a.length),this.input=r,this.tooltips=s,this.tooltipViews=o,!0}};function L1(i){let e=i.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:e.clientHeight,right:e.clientWidth}}var UO=X.define({combine:i=>{var e,t,n;return{position:R.ios?"absolute":((e=i.find(r=>r.position))===null||e===void 0?void 0:e.position)||"fixed",parent:((t=i.find(r=>r.parent))===null||t===void 0?void 0:t.parent)||null,tooltipSpace:((n=i.find(r=>r.tooltipSpace))===null||n===void 0?void 0:n.tooltipSpace)||L1}}}),am=new WeakMap,Ac=me.fromClass(class{constructor(i){this.view=i,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let e=i.state.facet(UO);this.position=e.position,this.parent=e.parent,this.classes=i.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver=typeof ResizeObserver=="function"?new ResizeObserver(()=>this.measureSoon()):null,this.manager=new Io(i,Nr,(t,n)=>this.createTooltip(t,n),t=>{this.resizeObserver&&this.resizeObserver.unobserve(t.dom),t.dom.remove()}),this.above=this.manager.tooltips.map(t=>!!t.above),this.intersectionObserver=typeof IntersectionObserver=="function"?new IntersectionObserver(t=>{Date.now()>this.lastTransaction-50&&t.length>0&&t[t.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),i.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let i of this.manager.tooltipViews)this.intersectionObserver.observe(i.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(i){i.transactions.length&&(this.lastTransaction=Date.now());let e=this.manager.update(i,this.above);e&&this.observeIntersection();let t=e||i.geometryChanged,n=i.state.facet(UO);if(n.position!=this.position&&!this.madeAbsolute){this.position=n.position;for(let r of this.manager.tooltipViews)r.dom.style.position=this.position;t=!0}if(n.parent!=this.parent){this.parent&&this.container.remove(),this.parent=n.parent,this.createContainer();for(let r of this.manager.tooltipViews)this.container.appendChild(r.dom);t=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);t&&this.maybeMeasure()}createTooltip(i,e){let t=i.create(this.view),n=e?e.dom:null;if(t.dom.classList.add("cm-tooltip"),i.arrow&&!t.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let r=document.createElement("div");r.className="cm-tooltip-arrow",t.dom.appendChild(r)}return t.dom.style.position=this.position,t.dom.style.top=kr,t.dom.style.left="0px",this.container.insertBefore(t.dom,n),t.mount&&t.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(t.dom),t}destroy(){var i,e,t;this.view.win.removeEventListener("resize",this.measureSoon);for(let n of this.manager.tooltipViews)n.dom.remove(),(i=n.destroy)===null||i===void 0||i.call(n);this.parent&&this.container.remove(),(e=this.resizeObserver)===null||e===void 0||e.disconnect(),(t=this.intersectionObserver)===null||t===void 0||t.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let i=1,e=1,t=!1;if(this.position=="fixed"&&this.manager.tooltipViews.length){let{dom:s}=this.manager.tooltipViews[0];if(R.gecko)t=s.offsetParent!=this.container.ownerDocument.body;else if(s.style.top==kr&&s.style.left=="0px"){let o=s.getBoundingClientRect();t=Math.abs(o.top+1e4)>1||Math.abs(o.left)>1}}if(t||this.position=="absolute")if(this.parent){let s=this.parent.getBoundingClientRect();s.width&&s.height&&(i=s.width/this.parent.offsetWidth,e=s.height/this.parent.offsetHeight)}else({scaleX:i,scaleY:e}=this.view.viewState);let n=this.view.scrollDOM.getBoundingClientRect(),r=Zc(this.view);return{visible:{left:n.left+r.left,top:n.top+r.top,right:n.right-r.right,bottom:n.bottom-r.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((s,o)=>{let a=this.manager.tooltipViews[o];return a.getCoords?a.getCoords(s.pos):this.view.coordsAtPos(s.pos)}),size:this.manager.tooltipViews.map(({dom:s})=>s.getBoundingClientRect()),space:this.view.state.facet(UO).tooltipSpace(this.view),scaleX:i,scaleY:e,makeAbsolute:t}}writeMeasure(i){var e;if(i.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let a of this.manager.tooltipViews)a.dom.style.position="absolute"}let{visible:t,space:n,scaleX:r,scaleY:s}=i,o=[];for(let a=0;a<this.manager.tooltips.length;a++){let l=this.manager.tooltips[a],c=this.manager.tooltipViews[a],{dom:O}=c,h=i.pos[a],f=i.size[a];if(!h||l.clip!==!1&&(h.bottom<=Math.max(t.top,n.top)||h.top>=Math.min(t.bottom,n.bottom)||h.right<Math.max(t.left,n.left)-.1||h.left>Math.min(t.right,n.right)+.1)){O.style.top=kr;continue}let u=l.arrow?c.dom.querySelector(".cm-tooltip-arrow"):null,d=u?7:0,p=f.right-f.left,m=(e=am.get(c))!==null&&e!==void 0?e:f.bottom-f.top,g=c.offset||B1,y=this.view.textDirection==ne.LTR,S=f.width>n.right-n.left?y?n.left:n.right-f.width:y?Math.max(n.left,Math.min(h.left-(u?14:0)+g.x,n.right-p)):Math.min(Math.max(n.left,h.left-p+(u?14:0)-g.x),n.right-p),v=this.above[a];!l.strictSide&&(v?h.top-m-d-g.y<n.top:h.bottom+m+d+g.y>n.bottom)&&v==n.bottom-h.bottom>h.top-n.top&&(v=this.above[a]=!v);let b=(v?h.top-n.top:n.bottom-h.bottom)-d;if(b<m&&c.resize!==!1){if(b<this.view.defaultLineHeight){O.style.top=kr;continue}am.set(c,m),O.style.height=(m=b)/s+"px"}else O.style.height&&(O.style.height="");let x=v?h.top-m-d-g.y:h.bottom+d+g.y,Q=S+p;if(c.overlap!==!0)for(let w of o)w.left<Q&&w.right>S&&w.top<x+m&&w.bottom>x&&(x=v?w.top-m-2-d:w.bottom+d+2);if(this.position=="absolute"?(O.style.top=(x-i.parent.top)/s+"px",lm(O,(S-i.parent.left)/r)):(O.style.top=x/s+"px",lm(O,S/r)),u){let w=h.left+(y?g.x:-g.x)-(S+14-7);u.style.left=w/r+"px"}c.overlap!==!0&&o.push({left:S,top:x,right:Q,bottom:x+m}),O.classList.toggle("cm-tooltip-above",v),O.classList.toggle("cm-tooltip-below",!v),c.positioned&&c.positioned(i.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let i of this.manager.tooltipViews)i.dom.style.top=kr}},{eventObservers:{scroll(){this.maybeMeasure()}}});function lm(i,e){let t=parseInt(i.style.left,10);(isNaN(t)||Math.abs(e-t)>1)&&(i.style.left=e+"px")}var G1=T.baseTheme({".cm-tooltip":{zIndex:500,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:`${7*2}px`,position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),B1={x:0,y:0},Nr=X.define({enables:[Ac,G1]}),No=X.define({combine:i=>i.reduce((e,t)=>e.concat(t),[])}),Fo=class i{static create(e){return new i(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new Io(e,No,(t,n)=>this.createHostedView(t,n),t=>t.dom.remove())}createHostedView(e,t){let n=e.create(this.view);return n.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(n.dom,t?t.dom.nextSibling:this.dom.firstChild),this.mounted&&n.mount&&n.mount(this.view),n}mount(e){for(let t of this.manager.tooltipViews)t.mount&&t.mount(e);this.mounted=!0}positioned(e){for(let t of this.manager.tooltipViews)t.positioned&&t.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let t of this.manager.tooltipViews)(e=t.destroy)===null||e===void 0||e.call(t)}passProp(e){let t;for(let n of this.manager.tooltipViews){let r=n[e];if(r!==void 0){if(t===void 0)t=r;else if(t!==r)return}}return t}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}},I1=Nr.compute([No],i=>{let e=i.facet(No);return e.length===0?null:{pos:Math.min(...e.map(t=>t.pos)),end:Math.max(...e.map(t=>{var n;return(n=t.end)!==null&&n!==void 0?n:t.pos})),create:Fo.create,above:e[0].above,arrow:e.some(t=>t.arrow)}}),Pc=class{constructor(e,t,n,r,s){this.view=e,this.source=t,this.field=n,this.setHover=r,this.hoverTime=s,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout(()=>this.startHover(),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active.length)return;let e=Date.now()-this.lastMove.time;e<this.hoverTime?this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime-e):this.startHover()}startHover(){clearTimeout(this.restartTimeout);let{view:e,lastMove:t}=this,n=e.docView.nearest(t.target);if(!n)return;let r,s=1;if(n instanceof Ur)r=n.posAtStart;else{if(r=e.posAtCoords(t),r==null)return;let a=e.coordsAtPos(r);if(!a||t.y<a.top||t.y>a.bottom||t.x<a.left-e.defaultCharacterWidth||t.x>a.right+e.defaultCharacterWidth)return;let l=e.bidiSpans(e.state.doc.lineAt(r)).find(O=>O.from<=r&&O.to>=r),c=l&&l.dir==ne.RTL?-1:1;s=t.x<a.left?-c:c}let o=this.source(e,r,s);if(o?.then){let a=this.pending={pos:r};o.then(l=>{this.pending==a&&(this.pending=null,l&&!(Array.isArray(l)&&!l.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(l)?l:[l])}))},l=>qe(e.state,l,"hover tooltip"))}else o&&!(Array.isArray(o)&&!o.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(o)?o:[o])})}get tooltip(){let e=this.view.plugin(Ac),t=e?e.manager.tooltips.findIndex(n=>n.create==Fo.create):-1;return t>-1?e.manager.tooltipViews[t]:null}mousemove(e){var t,n;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:r,tooltip:s}=this;if(r.length&&s&&!N1(s.dom,e)||this.pending){let{pos:o}=r[0]||this.pending,a=(n=(t=r[0])===null||t===void 0?void 0:t.end)!==null&&n!==void 0?n:o;(o==a?this.view.posAtCoords(this.lastMove)!=o:!F1(this.view,o,a,e.clientX,e.clientY))&&(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:t}=this;if(t.length){let{tooltip:n}=this;n&&n.dom.contains(e.relatedTarget)?this.watchTooltipLeave(n.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(e){let t=n=>{e.removeEventListener("mouseleave",t),this.active.length&&!this.view.dom.contains(n.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};e.addEventListener("mouseleave",t)}destroy(){clearTimeout(this.hoverTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}},Xo=4;function N1(i,e){let{left:t,right:n,top:r,bottom:s}=i.getBoundingClientRect(),o;if(o=i.querySelector(".cm-tooltip-arrow")){let a=o.getBoundingClientRect();r=Math.min(a.top,r),s=Math.max(a.bottom,s)}return e.clientX>=t-Xo&&e.clientX<=n+Xo&&e.clientY>=r-Xo&&e.clientY<=s+Xo}function F1(i,e,t,n,r,s){let o=i.scrollDOM.getBoundingClientRect(),a=i.documentTop+i.documentPadding.top+i.contentHeight;if(o.left>n||o.right<n||o.top>r||Math.min(o.bottom,a)<r)return!1;let l=i.posAtCoords({x:n,y:r},!1);return l>=e&&l<=t}function yg(i,e={}){let t=Z.define(),n=ue.define({create(){return[]},update(r,s){if(r.length&&(e.hideOnChange&&(s.docChanged||s.selection)?r=[]:e.hideOn&&(r=r.filter(o=>!e.hideOn(s,o))),s.docChanged)){let o=[];for(let a of r){let l=s.changes.mapPos(a.pos,-1,Pe.TrackDel);if(l!=null){let c=Object.assign(Object.create(null),a);c.pos=l,c.end!=null&&(c.end=s.changes.mapPos(c.end)),o.push(c)}}r=o}for(let o of s.effects)o.is(t)&&(r=o.value),o.is(H1)&&(r=[]);return r},provide:r=>No.from(r)});return{active:n,extension:[n,me.define(r=>new Pc(r,i,n,t,e.hoverTime||300)),I1]}}function jc(i,e){let t=i.plugin(Ac);if(!t)return null;let n=t.manager.tooltips.indexOf(e);return n<0?null:t.manager.tooltipViews[n]}var H1=Z.define();var Om=X.define({combine(i){let e,t;for(let n of i)e=e||n.topContainer,t=t||n.bottomContainer;return{topContainer:e,bottomContainer:t}}});function Mi(i,e){let t=i.plugin(Qg),n=t?t.specs.indexOf(e):-1;return n>-1?t.panels[n]:null}var Qg=me.fromClass(class{constructor(i){this.input=i.state.facet(Ui),this.specs=this.input.filter(t=>t),this.panels=this.specs.map(t=>t(i));let e=i.state.facet(Om);this.top=new Tn(i,!0,e.topContainer),this.bottom=new Tn(i,!1,e.bottomContainer),this.top.sync(this.panels.filter(t=>t.top)),this.bottom.sync(this.panels.filter(t=>!t.top));for(let t of this.panels)t.dom.classList.add("cm-panel"),t.mount&&t.mount()}update(i){let e=i.state.facet(Om);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new Tn(i.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new Tn(i.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let t=i.state.facet(Ui);if(t!=this.input){let n=t.filter(l=>l),r=[],s=[],o=[],a=[];for(let l of n){let c=this.specs.indexOf(l),O;c<0?(O=l(i.view),a.push(O)):(O=this.panels[c],O.update&&O.update(i)),r.push(O),(O.top?s:o).push(O)}this.specs=n,this.panels=r,this.top.sync(s),this.bottom.sync(o);for(let l of a)l.dom.classList.add("cm-panel"),l.mount&&l.mount()}else for(let n of this.panels)n.update&&n.update(i)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:i=>T.scrollMargins.of(e=>{let t=e.plugin(i);return t&&{top:t.top.scrollMargin(),bottom:t.bottom.scrollMargin()}})}),Tn=class{constructor(e,t,n){this.view=e,this.top=t,this.container=n,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let t of this.panels)t.destroy&&e.indexOf(t)<0&&t.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(this.panels.length==0){this.dom&&(this.dom.remove(),this.dom=void 0);return}if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let t=this.container||this.view.dom;t.insertBefore(this.dom,this.top?t.firstChild:null)}let e=this.dom.firstChild;for(let t of this.panels)if(t.dom.parentNode==this.dom){for(;e!=t.dom;)e=cm(e);e=e.nextSibling}else this.dom.insertBefore(t.dom,e);for(;e;)e=cm(e)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(!(!this.container||this.classes==this.view.themeClasses)){for(let e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}};function cm(i){let e=i.nextSibling;return i.remove(),e}var Ui=X.define({enables:Qg});var et=class extends pt{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}};et.prototype.elementClass="";et.prototype.toDOM=void 0;et.prototype.mapMode=Pe.TrackBefore;et.prototype.startSide=et.prototype.endSide=-1;et.prototype.point=!0;var Vo=X.define(),K1=X.define(),J1={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>F.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:"before"},Vr=X.define();function Yc(i){return[Sg(),Vr.of({...J1,...i})]}var kc=X.define({combine:i=>i.some(e=>e)});function Sg(i){let e=[ev];return i&&i.fixed===!1&&e.push(kc.of(!0)),e}var ev=me.fromClass(class{constructor(i){this.view=i,this.domAfter=null,this.prevViewport=i.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters cm-gutters-before",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=i.state.facet(Vr).map(e=>new Ho(i,e)),this.fixed=!i.state.facet(kc);for(let e of this.gutters)e.config.side=="after"?this.getDOMAfter().appendChild(e.dom):this.dom.appendChild(e.dom);this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),i.scrollDOM.insertBefore(this.dom,i.contentDOM)}getDOMAfter(){return this.domAfter||(this.domAfter=document.createElement("div"),this.domAfter.className="cm-gutters cm-gutters-after",this.domAfter.setAttribute("aria-hidden","true"),this.domAfter.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.domAfter.style.position=this.fixed?"sticky":"",this.view.scrollDOM.appendChild(this.domAfter)),this.domAfter}update(i){if(this.updateGutters(i)){let e=this.prevViewport,t=i.view.viewport,n=Math.min(e.to,t.to)-Math.max(e.from,t.from);this.syncGutters(n<(t.to-t.from)*.8)}if(i.geometryChanged){let e=this.view.contentHeight/this.view.scaleY+"px";this.dom.style.minHeight=e,this.domAfter&&(this.domAfter.style.minHeight=e)}this.view.state.facet(kc)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=i.view.viewport}syncGutters(i){let e=this.dom.nextSibling;i&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let t=F.iter(this.view.state.facet(Vo),this.view.viewport.from),n=[],r=this.gutters.map(s=>new zc(s,this.view.viewport,-this.view.documentPadding.top));for(let s of this.view.viewportLineBlocks)if(n.length&&(n=[]),Array.isArray(s.type)){let o=!0;for(let a of s.type)if(a.type==Ye.Text&&o){Tc(t,n,a.from);for(let l of r)l.line(this.view,a,n);o=!1}else if(a.widget)for(let l of r)l.widget(this.view,a)}else if(s.type==Ye.Text){Tc(t,n,s.from);for(let o of r)o.line(this.view,s,n)}else if(s.widget)for(let o of r)o.widget(this.view,s);for(let s of r)s.finish();i&&(this.view.scrollDOM.insertBefore(this.dom,e),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(i){let e=i.startState.facet(Vr),t=i.state.facet(Vr),n=i.docChanged||i.heightChanged||i.viewportChanged||!F.eq(i.startState.facet(Vo),i.state.facet(Vo),i.view.viewport.from,i.view.viewport.to);if(e==t)for(let r of this.gutters)r.update(i)&&(n=!0);else{n=!0;let r=[];for(let s of t){let o=e.indexOf(s);o<0?r.push(new Ho(this.view,s)):(this.gutters[o].update(i),r.push(this.gutters[o]))}for(let s of this.gutters)s.dom.remove(),r.indexOf(s)<0&&s.destroy();for(let s of r)s.config.side=="after"?this.getDOMAfter().appendChild(s.dom):this.dom.appendChild(s.dom);this.gutters=r}return n}destroy(){for(let i of this.gutters)i.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:i=>T.scrollMargins.of(e=>{let t=e.plugin(i);if(!t||t.gutters.length==0||!t.fixed)return null;let n=t.dom.offsetWidth*e.scaleX,r=t.domAfter?t.domAfter.offsetWidth*e.scaleX:0;return e.textDirection==ne.LTR?{left:n,right:r}:{right:n,left:r}})});function hm(i){return Array.isArray(i)?i:[i]}function Tc(i,e,t){for(;i.value&&i.from<=t;)i.from==t&&e.push(i.value),i.next()}var zc=class{constructor(e,t,n){this.gutter=e,this.height=n,this.i=0,this.cursor=F.iter(e.markers,t.from)}addElement(e,t,n){let{gutter:r}=this,s=(t.top-this.height)/e.scaleY,o=t.height/e.scaleY;if(this.i==r.elements.length){let a=new Ko(e,o,s,n);r.elements.push(a),r.dom.appendChild(a.dom)}else r.elements[this.i].update(e,o,s,n);this.height=t.bottom,this.i++}line(e,t,n){let r=[];Tc(this.cursor,r,t.from),n.length&&(r=r.concat(n));let s=this.gutter.config.lineMarker(e,t,r);s&&r.unshift(s);let o=this.gutter;r.length==0&&!o.config.renderEmptyElements||this.addElement(e,t,r)}widget(e,t){let n=this.gutter.config.widgetMarker(e,t.widget,t),r=n?[n]:null;for(let s of e.state.facet(K1)){let o=s(e,t.widget,t);o&&(r||(r=[])).push(o)}r&&this.addElement(e,t,r)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let t=e.elements.pop();e.dom.removeChild(t.dom),t.destroy()}}},Ho=class{constructor(e,t){this.view=e,this.config=t,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let n in t.domEventHandlers)this.dom.addEventListener(n,r=>{let s=r.target,o;if(s!=this.dom&&this.dom.contains(s)){for(;s.parentNode!=this.dom;)s=s.parentNode;let l=s.getBoundingClientRect();o=(l.top+l.bottom)/2}else o=r.clientY;let a=e.lineBlockAtHeight(o-e.documentTop);t.domEventHandlers[n](e,a,r)&&r.preventDefault()});this.markers=hm(t.markers(e)),t.initialSpacer&&(this.spacer=new Ko(e,0,0,[t.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let t=this.markers;if(this.markers=hm(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let r=this.config.updateSpacer(this.spacer.markers[0],e);r!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[r])}let n=e.view.viewport;return!F.eq(this.markers,t,n.from,n.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}},Ko=class{constructor(e,t,n,r){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,t,n,r)}update(e,t,n,r){this.height!=t&&(this.height=t,this.dom.style.height=t+"px"),this.above!=n&&(this.dom.style.marginTop=(this.above=n)?n+"px":""),tv(this.markers,r)||this.setMarkers(e,r)}setMarkers(e,t){let n="cm-gutterElement",r=this.dom.firstChild;for(let s=0,o=0;;){let a=o,l=s<t.length?t[s++]:null,c=!1;if(l){let O=l.elementClass;O&&(n+=" "+O);for(let h=o;h<this.markers.length;h++)if(this.markers[h].compare(l)){a=h,c=!0;break}}else a=this.markers.length;for(;o<a;){let O=this.markers[o++];if(O.toDOM){O.destroy(r);let h=r.nextSibling;r.remove(),r=h}}if(!l)break;l.toDOM&&(c?r=r.nextSibling:this.dom.insertBefore(l.toDOM(e),r)),c&&o++}this.dom.className=n,this.markers=t}destroy(){this.setMarkers(null,[])}};function tv(i,e){if(i.length!=e.length)return!1;for(let t=0;t<i.length;t++)if(!i[t].compare(e[t]))return!1;return!0}var iv=X.define(),nv=X.define(),zn=X.define({combine(i){return Ze(i,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,t){let n=Object.assign({},e);for(let r in t){let s=n[r],o=t[r];n[r]=s?(a,l,c)=>s(a,l,c)||o(a,l,c):o}return n}})}}),Ar=class extends et{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}};function MO(i,e){return i.state.facet(zn).formatNumber(e,i.state)}var rv=Vr.compute([zn],i=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(iv)},lineMarker(e,t,n){return n.some(r=>r.toDOM)?null:new Ar(MO(e,e.state.doc.lineAt(t.from).number))},widgetMarker:(e,t,n)=>{for(let r of e.state.facet(nv)){let s=r(e,t,n);if(s)return s}return null},lineMarkerChange:e=>e.startState.facet(zn)!=e.state.facet(zn),initialSpacer(e){return new Ar(MO(e,fm(e.state.doc.lines)))},updateSpacer(e,t){let n=MO(t.view,fm(t.view.state.doc.lines));return n==e.number?e:new Ar(n)},domEventHandlers:i.facet(zn).domEventHandlers,side:"before"}));function bg(i={}){return[zn.of(i),Sg(),rv]}function fm(i){let e=9;for(;e<i;)e=e*10+9;return e}var sv=new class extends et{constructor(){super(...arguments),this.elementClass="cm-activeLineGutter"}},ov=Vo.compute(["selection"],i=>{let e=[],t=-1;for(let n of i.selection.ranges){let r=i.doc.lineAt(n.head).from;r>t&&(t=r,e.push(sv.range(r)))}return F.of(e)});function xg(){return ov}var av=0,Be=class{constructor(e,t){this.from=e,this.to=t}},j=class{constructor(e={}){this.id=av++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")})}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=_e.match(e)),t=>{let n=e(t);return n===void 0?null:[this,n]}}};j.closedBy=new j({deserialize:i=>i.split(" ")});j.openedBy=new j({deserialize:i=>i.split(" ")});j.group=new j({deserialize:i=>i.split(" ")});j.isolate=new j({deserialize:i=>{if(i&&i!="rtl"&&i!="ltr"&&i!="auto")throw new RangeError("Invalid value for isolate: "+i);return i||"auto"}});j.contextHash=new j({perNode:!0});j.lookAhead=new j({perNode:!0});j.mounted=new j({perNode:!0});var Ei=class{constructor(e,t,n){this.tree=e,this.overlay=t,this.parser=n}static get(e){return e&&e.props&&e.props[j.mounted.id]}},lv=Object.create(null),_e=class i{constructor(e,t,n,r=0){this.name=e,this.props=t,this.id=n,this.flags=r}static define(e){let t=e.props&&e.props.length?Object.create(null):lv,n=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),r=new i(e.name||"",t,e.id,n);if(e.props){for(let s of e.props)if(Array.isArray(s)||(s=s(r)),s){if(s[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[s[0].id]=s[1]}}return r}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let t=this.prop(j.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let n in e)for(let r of n.split(" "))t[r]=e[n];return n=>{for(let r=n.prop(j.group),s=-1;s<(r?r.length:0);s++){let o=t[s<0?n.name:r[s]];if(o)return o}}}};_e.none=new _e("",Object.create(null),0,8);var Fr=class i{constructor(e){this.types=e;for(let t=0;t<e.length;t++)if(e[t].id!=t)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...e){let t=[];for(let n of this.types){let r=null;for(let s of e){let o=s(n);o&&(r||(r=Object.assign({},n.props)),r[o[0].id]=o[1])}t.push(r?new _e(n.name,r,n.id,n.flags):n)}return new i(t)}},ia=new WeakMap,vg=new WeakMap,H;(function(i){i[i.ExcludeBuffers=1]="ExcludeBuffers",i[i.IncludeAnonymous=2]="IncludeAnonymous",i[i.IgnoreMounts=4]="IgnoreMounts",i[i.IgnoreOverlays=8]="IgnoreOverlays"})(H||(H={}));var de=class i{constructor(e,t,n,r,s){if(this.type=e,this.children=t,this.positions=n,this.length=r,this.props=null,s&&s.length){this.props=Object.create(null);for(let[o,a]of s)this.props[typeof o=="number"?o:o.id]=a}}toString(){let e=Ei.get(this);if(e&&!e.overlay)return e.tree.toString();let t="";for(let n of this.children){let r=n.toString();r&&(t&&(t+=","),t+=r)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(t.length?"("+t+")":""):t}cursor(e=0){return new _n(this.topNode,e)}cursorAt(e,t=0,n=0){let r=ia.get(this)||this.topNode,s=new _n(r);return s.moveTo(e,t),ia.set(this,s._tree),s}get topNode(){return new Ie(this,0,0,null)}resolve(e,t=0){let n=Hr(ia.get(this)||this.topNode,e,t,!1);return ia.set(this,n),n}resolveInner(e,t=0){let n=Hr(vg.get(this)||this.topNode,e,t,!0);return vg.set(this,n),n}resolveStack(e,t=0){return Ov(this,e,t)}iterate(e){let{enter:t,leave:n,from:r=0,to:s=this.length}=e,o=e.mode||0,a=(o&H.IncludeAnonymous)>0;for(let l=this.cursor(o|H.IncludeAnonymous);;){let c=!1;if(l.from<=s&&l.to>=r&&(!a&&l.type.isAnonymous||t(l)!==!1)){if(l.firstChild())continue;c=!0}for(;c&&n&&(a||!l.type.isAnonymous)&&n(l),!l.nextSibling();){if(!l.parent())return;c=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:Hc(_e.none,this.children,this.positions,0,this.children.length,0,this.length,(t,n,r)=>new i(this.type,t,n,r,this.propValues),e.makeTree||((t,n,r)=>new i(_e.none,t,n,r)))}static build(e){return cv(e)}};de.empty=new de(_e.none,[],[],0);var Uc=class i{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new i(this.buffer,this.index)}},pi=class i{constructor(e,t,n){this.buffer=e,this.length=t,this.set=n}get type(){return _e.none}toString(){let e=[];for(let t=0;t<this.buffer.length;)e.push(this.childString(t)),t=this.buffer[t+3];return e.join(",")}childString(e){let t=this.buffer[e],n=this.buffer[e+3],r=this.set.types[t],s=r.name;if(/\W/.test(s)&&!r.isError&&(s=JSON.stringify(s)),e+=4,n==e)return s;let o=[];for(;e<n;)o.push(this.childString(e)),e=this.buffer[e+3];return s+"("+o.join(",")+")"}findChild(e,t,n,r,s){let{buffer:o}=this,a=-1;for(let l=e;l!=t&&!(Rg(s,r,o[l+1],o[l+2])&&(a=l,n>0));l=o[l+3]);return a}slice(e,t,n){let r=this.buffer,s=new Uint16Array(t-e),o=0;for(let a=e,l=0;a<t;){s[l++]=r[a++],s[l++]=r[a++]-n;let c=s[l++]=r[a++]-n;s[l++]=r[a++]-e,o=Math.max(o,c)}return new i(s,o,this.set)}};function Rg(i,e,t,n){switch(i){case-2:return t<e;case-1:return n>=e&&t<e;case 0:return t<e&&n>e;case 1:return t<=e&&n>e;case 2:return n>e;case 4:return!0}}function Hr(i,e,t,n){for(var r;i.from==i.to||(t<1?i.from>=e:i.from>e)||(t>-1?i.to<=e:i.to<e);){let o=!n&&i instanceof Ie&&i.index<0?null:i.parent;if(!o)return i;i=o}let s=n?0:H.IgnoreOverlays;if(n)for(let o=i,a=o.parent;a;o=a,a=o.parent)o instanceof Ie&&o.index<0&&((r=a.enter(e,t,s))===null||r===void 0?void 0:r.from)!=o.from&&(i=a);for(;;){let o=i.enter(e,t,s);if(!o)return i;i=o}}var ra=class{cursor(e=0){return new _n(this,e)}getChild(e,t=null,n=null){let r=wg(this,e,t,n);return r.length?r[0]:null}getChildren(e,t=null,n=null){return wg(this,e,t,n)}resolve(e,t=0){return Hr(this,e,t,!1)}resolveInner(e,t=0){return Hr(this,e,t,!0)}matchContext(e){return Mc(this.parent,e)}enterUnfinishedNodesBefore(e){let t=this.childBefore(e),n=this;for(;t;){let r=t.lastChild;if(!r||r.to!=t.to)break;r.type.isError&&r.from==r.to?(n=t,t=r.prevSibling):t=r}return n}get node(){return this}get next(){return this.parent}},Ie=class i extends ra{constructor(e,t,n,r){super(),this._tree=e,this.from=t,this.index=n,this._parent=r}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,t,n,r,s=0){for(let o=this;;){for(let{children:a,positions:l}=o._tree,c=t>0?a.length:-1;e!=c;e+=t){let O=a[e],h=l[e]+o.from;if(Rg(r,n,h,h+O.length)){if(O instanceof pi){if(s&H.ExcludeBuffers)continue;let f=O.findChild(0,O.buffer.length,t,n-h,r);if(f>-1)return new Di(new Ec(o,O,e,h),null,f)}else if(s&H.IncludeAnonymous||!O.type.isAnonymous||Fc(O)){let f;if(!(s&H.IgnoreMounts)&&(f=Ei.get(O))&&!f.overlay)return new i(f.tree,h,e,o);let u=new i(O,h,e,o);return s&H.IncludeAnonymous||!u.type.isAnonymous?u:u.nextChild(t<0?O.children.length-1:0,t,n,r)}}}if(s&H.IncludeAnonymous||!o.type.isAnonymous||(o.index>=0?e=o.index+t:e=t<0?-1:o._parent._tree.children.length,o=o._parent,!o))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}enter(e,t,n=0){let r;if(!(n&H.IgnoreOverlays)&&(r=Ei.get(this._tree))&&r.overlay){let s=e-this.from;for(let{from:o,to:a}of r.overlay)if((t>0?o<=s:o<s)&&(t<0?a>=s:a>s))return new i(r.tree,r.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,n)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}};function wg(i,e,t,n){let r=i.cursor(),s=[];if(!r.firstChild())return s;if(t!=null){for(let o=!1;!o;)if(o=r.type.is(t),!r.nextSibling())return s}for(;;){if(n!=null&&r.type.is(n))return s;if(r.type.is(e)&&s.push(r.node),!r.nextSibling())return n==null?s:[]}}function Mc(i,e,t=e.length-1){for(let n=i;t>=0;n=n.parent){if(!n)return!1;if(!n.type.isAnonymous){if(e[t]&&e[t]!=n.name)return!1;t--}}return!0}var Ec=class{constructor(e,t,n,r){this.parent=e,this.buffer=t,this.index=n,this.start=r}},Di=class i extends ra{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,n){super(),this.context=e,this._parent=t,this.index=n,this.type=e.buffer.set.types[e.buffer.buffer[n]]}child(e,t,n){let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.context.start,n);return s<0?null:new i(this.context,this,s)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}enter(e,t,n=0){if(n&H.ExcludeBuffers)return null;let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return s<0?null:new i(this.context,this,s)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new i(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new i(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:n}=this.context,r=this.index+4,s=n.buffer[this.index+3];if(s>r){let o=n.buffer[this.index+1];e.push(n.slice(r,s,o)),t.push(0)}return new de(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}};function qg(i){if(!i.length)return null;let e=0,t=i[0];for(let s=1;s<i.length;s++){let o=i[s];(o.from>t.from||o.to<t.to)&&(t=o,e=s)}let n=t instanceof Ie&&t.index<0?null:t.parent,r=i.slice();return n?r[e]=n:r.splice(e,1),new Dc(r,t)}var Dc=class{constructor(e,t){this.heads=e,this.node=t}get next(){return qg(this.heads)}};function Ov(i,e,t){let n=i.resolveInner(e,t),r=null;for(let s=n instanceof Ie?n:n.context.parent;s;s=s.parent)if(s.index<0){let o=s.parent;(r||(r=[n])).push(o.resolve(e,t)),s=o}else{let o=Ei.get(s.tree);if(o&&o.overlay&&o.overlay[0].from<=e&&o.overlay[o.overlay.length-1].to>=e){let a=new Ie(o.tree,o.overlay[0].from+s.from,-1,s);(r||(r=[n])).push(Hr(a,e,t,!1))}}return r?qg(r):n}var _n=class{get name(){return this.type.name}constructor(e,t=0){if(this.mode=t,this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,e instanceof Ie)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let n=e._parent;n;n=n._parent)this.stack.unshift(n.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:n,buffer:r}=this.buffer;return this.type=t||r.set.types[r.buffer[e]],this.from=n+r.buffer[e+1],this.to=n+r.buffer[e+2],!0}yield(e){return e?e instanceof Ie?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,n){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,n,this.mode));let{buffer:r}=this.buffer,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.buffer.start,n);return s<0?!1:(this.stack.push(this.index),this.yieldBuf(s))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,n=this.mode){return this.buffer?n&H.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,n))}parent(){if(!this.buffer)return this.yieldNode(this.mode&H.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&H.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,n=this.stack.length-1;if(e<0){let r=n<0?0:this.stack[n]+4;if(this.index!=r)return this.yieldBuf(t.findChild(r,this.index,-1,0,4))}else{let r=t.buffer[this.index+3];if(r<(n<0?t.buffer.length:t.buffer[this.stack[n]+3]))return this.yieldBuf(r)}return n<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,n,{buffer:r}=this;if(r){if(e>0){if(this.index<r.buffer.buffer.length)return!1}else for(let s=0;s<this.index;s++)if(r.buffer.buffer[s+3]<this.index)return!1;({index:t,parent:n}=r)}else({index:t,_parent:n}=this._tree);for(;n;{index:t,_parent:n}=n)if(t>-1)for(let s=t+e,o=e<0?-1:n._tree.children.length;s!=o;s+=e){let a=n._tree.children[s];if(this.mode&H.IncludeAnonymous||a instanceof pi||!a.type.isAnonymous||Fc(a))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to<e))&&this.parent(););for(;this.enterChild(1,e,t););return this}get node(){if(!this.buffer)return this._tree;let e=this.bufferNode,t=null,n=0;if(e&&e.context==this.buffer)e:for(let r=this.index,s=this.stack.length;s>=0;){for(let o=e;o;o=o._parent)if(o.index==r){if(r==this.index)return o;t=o,n=s+1;break e}r=this.stack[--s]}for(let r=n;r<this.stack.length;r++)t=new Di(this.buffer,t,this.stack[r]);return this.bufferNode=new Di(this.buffer,t,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,t){for(let n=0;;){let r=!1;if(this.type.isAnonymous||e(this)!==!1){if(this.firstChild()){n++;continue}this.type.isAnonymous||(r=!0)}for(;;){if(r&&t&&t(this),r=this.type.isAnonymous,!n)return;if(this.nextSibling())break;this.parent(),n--,r=!0}}}matchContext(e){if(!this.buffer)return Mc(this.node.parent,e);let{buffer:t}=this.buffer,{types:n}=t.set;for(let r=e.length-1,s=this.stack.length-1;r>=0;s--){if(s<0)return Mc(this._tree,e,r);let o=n[t.buffer[this.stack[s]]];if(!o.isAnonymous){if(e[r]&&e[r]!=o.name)return!1;r--}}return!0}};function Fc(i){return i.children.some(e=>e instanceof pi||!e.type.isAnonymous||Fc(e))}function cv(i){var e;let{buffer:t,nodeSet:n,maxBufferLength:r=1024,reused:s=[],minRepeatType:o=n.types.length}=i,a=Array.isArray(t)?new Uc(t,t.length):t,l=n.types,c=0,O=0;function h(b,x,Q,w,k,A){let{id:V,start:C,end:D,size:L}=a,G=O,re=c;for(;L<0;)if(a.next(),L==-1){let se=s[V];Q.push(se),w.push(C-b);return}else if(L==-3){c=V;return}else if(L==-4){O=V;return}else throw new RangeError(`Unrecognized record size: ${L}`);let $e=l[V],Me,Qe,M=C-b;if(D-C<=r&&(Qe=m(a.pos-x,k))){let se=new Uint16Array(Qe.size-Qe.skip),I=a.pos-Qe.size,pe=se.length;for(;a.pos>I;)pe=g(Qe.start,se,pe);Me=new pi(se,D-Qe.start,n),M=Qe.start-b}else{let se=a.pos-L;a.next();let I=[],pe=[],W=V>=o?V:-1,te=0,Oe=D;for(;a.pos>se;)W>=0&&a.id==W&&a.size>=0?(a.end<=Oe-r&&(d(I,pe,C,te,a.end,Oe,W,G,re),te=I.length,Oe=a.end),a.next()):A>2500?f(C,se,I,pe):h(C,se,I,pe,W,A+1);if(W>=0&&te>0&&te<I.length&&d(I,pe,C,te,C,Oe,W,G,re),I.reverse(),pe.reverse(),W>-1&&te>0){let Te=u($e,re);Me=Hc($e,I,pe,0,I.length,0,D-C,Te,Te)}else Me=p($e,I,pe,D-C,G-D,re)}Q.push(Me),w.push(M)}function f(b,x,Q,w){let k=[],A=0,V=-1;for(;a.pos>x;){let{id:C,start:D,end:L,size:G}=a;if(G>4)a.next();else{if(V>-1&&D<V)break;V<0&&(V=L-r),k.push(C,D,L),A++,a.next()}}if(A){let C=new Uint16Array(A*4),D=k[k.length-2];for(let L=k.length-3,G=0;L>=0;L-=3)C[G++]=k[L],C[G++]=k[L+1]-D,C[G++]=k[L+2]-D,C[G++]=G;Q.push(new pi(C,k[2]-D,n)),w.push(D-b)}}function u(b,x){return(Q,w,k)=>{let A=0,V=Q.length-1,C,D;if(V>=0&&(C=Q[V])instanceof de){if(!V&&C.type==b&&C.length==k)return C;(D=C.prop(j.lookAhead))&&(A=w[V]+C.length+D)}return p(b,Q,w,k,A,x)}}function d(b,x,Q,w,k,A,V,C,D){let L=[],G=[];for(;b.length>w;)L.push(b.pop()),G.push(x.pop()+Q-k);b.push(p(n.types[V],L,G,A-k,C-A,D)),x.push(k-Q)}function p(b,x,Q,w,k,A,V){if(A){let C=[j.contextHash,A];V=V?[C].concat(V):[C]}if(k>25){let C=[j.lookAhead,k];V=V?[C].concat(V):[C]}return new de(b,x,Q,w,V)}function m(b,x){let Q=a.fork(),w=0,k=0,A=0,V=Q.end-r,C={size:0,start:0,skip:0};e:for(let D=Q.pos-b;Q.pos>D;){let L=Q.size;if(Q.id==x&&L>=0){C.size=w,C.start=k,C.skip=A,A+=4,w+=4,Q.next();continue}let G=Q.pos-L;if(L<0||G<D||Q.start<V)break;let re=Q.id>=o?4:0,$e=Q.start;for(Q.next();Q.pos>G;){if(Q.size<0)if(Q.size==-3)re+=4;else break e;else Q.id>=o&&(re+=4);Q.next()}k=$e,w+=L,A+=re}return(x<0||w==b)&&(C.size=w,C.start=k,C.skip=A),C.size>4?C:void 0}function g(b,x,Q){let{id:w,start:k,end:A,size:V}=a;if(a.next(),V>=0&&w<o){let C=Q;if(V>4){let D=a.pos-(V-4);for(;a.pos>D;)Q=g(b,x,Q)}x[--Q]=C,x[--Q]=A-b,x[--Q]=k-b,x[--Q]=w}else V==-3?c=w:V==-4&&(O=w);return Q}let y=[],S=[];for(;a.pos>0;)h(i.start||0,i.bufferStart||0,y,S,-1,0);let v=(e=i.length)!==null&&e!==void 0?e:y.length?S[0]+y[0].length:0;return new de(l[i.topID],y.reverse(),S.reverse(),v)}var Pg=new WeakMap;function na(i,e){if(!i.isAnonymous||e instanceof pi||e.type!=i)return 1;let t=Pg.get(e);if(t==null){t=1;for(let n of e.children){if(n.type!=i||!(n instanceof de)){t=1;break}t+=na(i,n)}Pg.set(e,t)}return t}function Hc(i,e,t,n,r,s,o,a,l){let c=0;for(let d=n;d<r;d++)c+=na(i,e[d]);let O=Math.ceil(c*1.5/8),h=[],f=[];function u(d,p,m,g,y){for(let S=m;S<g;){let v=S,b=p[S],x=na(i,d[S]);for(S++;S<g;S++){let Q=na(i,d[S]);if(x+Q>=O)break;x+=Q}if(S==v+1){if(x>O){let Q=d[v];u(Q.children,Q.positions,0,Q.children.length,p[v]+y);continue}h.push(d[v])}else{let Q=p[S-1]+d[S-1].length-b;h.push(Hc(i,d,p,v,S,b,Q,null,l))}f.push(b+y-s)}}return u(e,t,n,r,0),(a||l)(h,f,o)}var Cn=class{constructor(){this.map=new WeakMap}setBuffer(e,t,n){let r=this.map.get(e);r||this.map.set(e,r=new Map),r.set(t,n)}getBuffer(e,t){let n=this.map.get(e);return n&&n.get(t)}set(e,t){e instanceof Di?this.setBuffer(e.context.buffer,e.index,t):e instanceof Ie&&this.map.set(e.tree,t)}get(e){return e instanceof Di?this.getBuffer(e.context.buffer,e.index):e instanceof Ie?this.map.get(e.tree):void 0}cursorSet(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}},Nt=class i{constructor(e,t,n,r,s=!1,o=!1){this.from=e,this.to=t,this.tree=n,this.offset=r,this.open=(s?1:0)|(o?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],n=!1){let r=[new i(0,e.length,e,0,!1,n)];for(let s of t)s.to>e.length&&r.push(s);return r}static applyChanges(e,t,n=128){if(!t.length)return e;let r=[],s=1,o=e.length?e[0]:null;for(let a=0,l=0,c=0;;a++){let O=a<t.length?t[a]:null,h=O?O.fromA:1e9;if(h-l>=n)for(;o&&o.from<h;){let f=o;if(l>=f.from||h<=f.to||c){let u=Math.max(f.from,l)-c,d=Math.min(f.to,h)-c;f=u>=d?null:new i(u,d,f.tree,f.offset+c,a>0,!!O)}if(f&&r.push(f),o.to>h)break;o=s<e.length?e[s++]:null}if(!O)break;l=O.toA,c=O.toA-O.toB}return r}},Wn=class{startParse(e,t,n){return typeof e=="string"&&(e=new Lc(e)),n=n?n.length?n.map(r=>new Be(r.from,r.to)):[new Be(0,0)]:[new Be(0,e.length)],this.createParse(e,t||[],n)}parse(e,t,n){let r=this.startParse(e,t,n);for(;;){let s=r.advance();if(s)return s}}},Lc=class{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}};function aa(i){return(e,t,n,r)=>new Ic(e,i,t,n,r)}var sa=class{constructor(e,t,n,r,s){this.parser=e,this.parse=t,this.overlay=n,this.target=r,this.from=s}};function kg(i){if(!i.length||i.some(e=>e.from>=e.to))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(i))}var Gc=class{constructor(e,t,n,r,s,o,a){this.parser=e,this.predicate=t,this.mounts=n,this.index=r,this.start=s,this.target=o,this.prev=a,this.depth=0,this.ranges=[]}},Bc=new j({perNode:!0}),Ic=class{constructor(e,t,n,r,s){this.nest=t,this.input=n,this.fragments=r,this.ranges=s,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}advance(){if(this.baseParse){let n=this.baseParse.advance();if(!n)return null;if(this.baseParse=null,this.baseTree=n,this.startInner(),this.stoppedAt!=null)for(let r of this.inner)r.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let n=this.baseTree;return this.stoppedAt!=null&&(n=new de(n.type,n.children,n.positions,n.length,n.propValues.concat([[Bc,this.stoppedAt]]))),n}let e=this.inner[this.innerDone],t=e.parse.advance();if(t){this.innerDone++;let n=Object.assign(Object.create(null),e.target.props);n[j.mounted.id]=new Ei(t,e.overlay,e.parser),e.target.props=n}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let t=this.innerDone;t<this.inner.length;t++)this.inner[t].from<e&&(e=Math.min(e,this.inner[t].parse.parsedPos));return e}stopAt(e){if(this.stoppedAt=e,this.baseParse)this.baseParse.stopAt(e);else for(let t=this.innerDone;t<this.inner.length;t++)this.inner[t].parse.stopAt(e)}startInner(){let e=new Nc(this.fragments),t=null,n=null,r=new _n(new Ie(this.baseTree,this.ranges[0].from,0,null),H.IncludeAnonymous|H.IgnoreMounts);e:for(let s,o;;){let a=!0,l;if(this.stoppedAt!=null&&r.from>=this.stoppedAt)a=!1;else if(e.hasNode(r)){if(t){let c=t.mounts.find(O=>O.frag.from<=r.from&&O.frag.to>=r.to&&O.mount.overlay);if(c)for(let O of c.mount.overlay){let h=O.from+c.pos,f=O.to+c.pos;h>=r.from&&f<=r.to&&!t.ranges.some(u=>u.from<f&&u.to>h)&&t.ranges.push({from:h,to:f})}}a=!1}else if(n&&(o=hv(n.ranges,r.from,r.to)))a=o!=2;else if(!r.type.isAnonymous&&(s=this.nest(r,this.input))&&(r.from<r.to||!s.overlay)){r.tree||fv(r);let c=e.findMounts(r.from,s.parser);if(typeof s.overlay=="function")t=new Gc(s.parser,s.overlay,c,this.inner.length,r.from,r.tree,t);else{let O=zg(this.ranges,s.overlay||(r.from<r.to?[new Be(r.from,r.to)]:[]));O.length&&kg(O),(O.length||!s.overlay)&&this.inner.push(new sa(s.parser,O.length?s.parser.startParse(this.input,Xg(c,O),O):s.parser.startParse(""),s.overlay?s.overlay.map(h=>new Be(h.from-r.from,h.to-r.from)):null,r.tree,O.length?O[0].from:r.from)),s.overlay?O.length&&(n={ranges:O,depth:0,prev:n}):a=!1}}else if(t&&(l=t.predicate(r))&&(l===!0&&(l=new Be(r.from,r.to)),l.from<l.to)){let c=t.ranges.length-1;c>=0&&t.ranges[c].to==l.from?t.ranges[c]={from:t.ranges[c].from,to:l.to}:t.ranges.push(l)}if(a&&r.firstChild())t&&t.depth++,n&&n.depth++;else for(;!r.nextSibling();){if(!r.parent())break e;if(t&&!--t.depth){let c=zg(this.ranges,t.ranges);c.length&&(kg(c),this.inner.splice(t.index,0,new sa(t.parser,t.parser.startParse(this.input,Xg(t.mounts,c),c),t.ranges.map(O=>new Be(O.from-t.start,O.to-t.start)),t.target,c[0].from))),t=t.prev}n&&!--n.depth&&(n=n.prev)}}}};function hv(i,e,t){for(let n of i){if(n.from>=t)break;if(n.to>e)return n.from<=e&&n.to>=t?2:1}return 0}function Tg(i,e,t,n,r,s){if(e<t){let o=i.buffer[e+1];n.push(i.slice(e,t,o)),r.push(o-s)}}function fv(i){let{node:e}=i,t=[],n=e.context.buffer;do t.push(i.index),i.parent();while(!i.tree);let r=i.tree,s=r.children.indexOf(n),o=r.children[s],a=o.buffer,l=[s];function c(O,h,f,u,d,p){let m=t[p],g=[],y=[];Tg(o,O,m,g,y,u);let S=a[m+1],v=a[m+2];l.push(g.length);let b=p?c(m+4,a[m+3],o.set.types[a[m]],S,v-S,p-1):e.toTree();return g.push(b),y.push(S-u),Tg(o,a[m+3],h,g,y,u),new de(f,g,y,d)}r.children[s]=c(0,a.length,_e.none,0,o.length,t.length-1);for(let O of l){let h=i.tree.children[O],f=i.tree.positions[O];i.yield(new Ie(h,f+i.from,O,i._tree))}}var oa=class{constructor(e,t){this.offset=t,this.done=!1,this.cursor=e.cursor(H.IncludeAnonymous|H.IgnoreMounts)}moveTo(e){let{cursor:t}=this,n=e-this.offset;for(;!this.done&&t.from<n;)t.to>=e&&t.enter(n,1,H.IgnoreOverlays|H.ExcludeBuffers)||t.next(!1)||(this.done=!0)}hasNode(e){if(this.moveTo(e.from),!this.done&&this.cursor.from+this.offset==e.from&&this.cursor.tree)for(let t=this.cursor.tree;;){if(t==e.tree)return!0;if(t.children.length&&t.positions[0]==0&&t.children[0]instanceof de)t=t.children[0];else break}return!1}},Nc=class{constructor(e){var t;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let n=this.curFrag=e[0];this.curTo=(t=n.tree.prop(Bc))!==null&&t!==void 0?t:n.to,this.inner=new oa(n.tree,-n.offset)}else this.curFrag=this.inner=null}hasNode(e){for(;this.curFrag&&e.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=e.from&&this.curTo>=e.to&&this.inner.hasNode(e)}nextFrag(){var e;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let t=this.curFrag=this.fragments[this.fragI];this.curTo=(e=t.tree.prop(Bc))!==null&&e!==void 0?e:t.to,this.inner=new oa(t.tree,-t.offset)}}findMounts(e,t){var n;let r=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let s=this.inner.cursor.node;s;s=s.parent){let o=(n=s.tree)===null||n===void 0?void 0:n.prop(j.mounted);if(o&&o.parser==t)for(let a=this.fragI;a<this.fragments.length;a++){let l=this.fragments[a];if(l.from>=s.to)break;l.tree==this.curFrag.tree&&r.push({frag:l,pos:s.from-l.offset,mount:o})}}}return r}};function zg(i,e){let t=null,n=e;for(let r=1,s=0;r<i.length;r++){let o=i[r-1].to,a=i[r].from;for(;s<n.length;s++){let l=n[s];if(l.from>=a)break;l.to<=o||(t||(n=t=e.slice()),l.from<o?(t[s]=new Be(l.from,o),l.to>a&&t.splice(s+1,0,new Be(a,l.to))):l.to>a?t[s--]=new Be(a,l.to):t.splice(s--,1))}}return n}function uv(i,e,t,n){let r=0,s=0,o=!1,a=!1,l=-1e9,c=[];for(;;){let O=r==i.length?1e9:o?i[r].to:i[r].from,h=s==e.length?1e9:a?e[s].to:e[s].from;if(o!=a){let f=Math.max(l,t),u=Math.min(O,h,n);f<u&&c.push(new Be(f,u))}if(l=Math.min(O,h),l==1e9)break;O==l&&(o?(o=!1,r++):o=!0),h==l&&(a?(a=!1,s++):a=!0)}return c}function Xg(i,e){let t=[];for(let{pos:n,mount:r,frag:s}of i){let o=n+(r.overlay?r.overlay[0].from:0),a=o+r.tree.length,l=Math.max(s.from,o),c=Math.min(s.to,a);if(r.overlay){let O=r.overlay.map(f=>new Be(f.from+n,f.to+n)),h=uv(e,O,l,c);for(let f=0,u=l;;f++){let d=f==h.length,p=d?c:h[f].from;if(p>u&&t.push(new Nt(u,p,r.tree,-o,s.from>=u||s.openStart,s.to<=p||s.openEnd)),d)break;u=h[f].to}}else t.push(new Nt(l,c,r.tree,-o,s.from>=o||s.openStart,s.to<=a||s.openEnd))}return t}var dv=0,gt=class i{constructor(e,t,n,r){this.name=e,this.set=t,this.base=n,this.modified=r,this.id=dv++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let n=typeof e=="string"?e:"?";if(e instanceof i&&(t=e),t?.base)throw new Error("Can not derive from a modified tag");let r=new i(n,[],null,[]);if(r.set.push(r),t)for(let s of t.set)r.set.push(s);return r}static defineModifier(e){let t=new ha(e);return n=>n.modified.indexOf(t)>-1?n:ha.get(n.base||n,n.modified.concat(t).sort((r,s)=>r.id-s.id))}},pv=0,ha=class i{constructor(e){this.name=e,this.instances=[],this.id=pv++}static get(e,t){if(!t.length)return e;let n=t[0].instances.find(a=>a.base==e&&mv(t,a.modified));if(n)return n;let r=[],s=new gt(e.name,r,e,t);for(let a of t)a.instances.push(s);let o=gv(t);for(let a of e.set)if(!a.modified.length)for(let l of o)r.push(i.get(a,l));return s}};function mv(i,e){return i.length==e.length&&i.every((t,n)=>t==e[n])}function gv(i){let e=[[]];for(let t=0;t<i.length;t++)for(let n=0,r=e.length;n<r;n++)e.push(e[n].concat(i[t]));return e.sort((t,n)=>n.length-t.length)}function _t(i){let e=Object.create(null);for(let t in i){let n=i[t];Array.isArray(n)||(n=[n]);for(let r of t.split(" "))if(r){let s=[],o=2,a=r;for(let h=0;;){if(a=="..."&&h>0&&h+3==r.length){o=1;break}let f=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(a);if(!f)throw new RangeError("Invalid path: "+r);if(s.push(f[0]=="*"?"":f[0][0]=='"'?JSON.parse(f[0]):f[0]),h+=f[0].length,h==r.length)break;let u=r[h++];if(h==r.length&&u=="!"){o=0;break}if(u!="/")throw new RangeError("Invalid path: "+r);a=r.slice(h)}let l=s.length-1,c=s[l];if(!c)throw new RangeError("Invalid path: "+r);let O=new Zn(n,o,l>0?s.slice(0,l):null);e[c]=O.sort(e[c])}}return Wg.add(e)}var Wg=new j,Zn=class{constructor(e,t,n,r){this.tags=e,this.mode=t,this.context=n,this.next=r}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth<this.depth?(this.next=e,this):(e.next=this.sort(e.next),e)}get depth(){return this.context?this.context.length:0}};Zn.empty=new Zn([],2,null);function th(i,e){let t=Object.create(null);for(let s of i)if(!Array.isArray(s.tag))t[s.tag.id]=s.class;else for(let o of s.tag)t[o.id]=s.class;let{scope:n,all:r=null}=e||{};return{style:s=>{let o=r;for(let a of s)for(let l of a.set){let c=t[l.id];if(c){o=o?o+" "+c:c;break}}return o},scope:n}}function $v(i,e){let t=null;for(let n of i){let r=n.style(e);r&&(t=t?t+" "+r:r)}return t}function Zg(i,e,t,n=0,r=i.length){let s=new Jc(n,Array.isArray(e)?e:[e],t);s.highlightRange(i.cursor(),n,r,"",s.highlighters),s.flush(r)}var Jc=class{constructor(e,t,n){this.at=e,this.highlighters=t,this.span=n,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,n,r,s){let{type:o,from:a,to:l}=e;if(a>=n||l<=t)return;o.isTop&&(s=this.highlighters.filter(u=>!u.scope||u.scope(o)));let c=r,O=yv(e)||Zn.empty,h=$v(s,O.tags);if(h&&(c&&(c+=" "),c+=h,O.mode==1&&(r+=(r?" ":"")+h)),this.startSpan(Math.max(t,a),c),O.opaque)return;let f=e.tree&&e.tree.prop(j.mounted);if(f&&f.overlay){let u=e.node.enter(f.overlay[0].from+a,1),d=this.highlighters.filter(m=>!m.scope||m.scope(f.tree.type)),p=e.firstChild();for(let m=0,g=a;;m++){let y=m<f.overlay.length?f.overlay[m]:null,S=y?y.from+a:l,v=Math.max(t,g),b=Math.min(n,S);if(v<b&&p)for(;e.from<b&&(this.highlightRange(e,v,b,r,s),this.startSpan(Math.min(b,e.to),c),!(e.to>=S||!e.nextSibling())););if(!y||S>n)break;g=y.to+a,g>t&&(this.highlightRange(u.cursor(),Math.max(t,y.from+a),Math.min(n,g),"",d),this.startSpan(Math.min(n,g),c))}p&&e.parent()}else if(e.firstChild()){f&&(r="");do if(!(e.to<=t)){if(e.from>=n)break;this.highlightRange(e,t,n,r,s),this.startSpan(Math.min(n,e.to),c)}while(e.nextSibling());e.parent()}}};function yv(i){let e=i.type.prop(Wg);for(;e&&e.context&&!i.matchContext(e.context);)e=e.next;return e||null}var z=gt.define,la=z(),mi=z(),_g=z(mi),Cg=z(mi),gi=z(),Oa=z(gi),Kc=z(gi),qt=z(),Li=z(qt),Xt=z(),Rt=z(),eh=z(),Kr=z(eh),ca=z(),$={comment:la,lineComment:z(la),blockComment:z(la),docComment:z(la),name:mi,variableName:z(mi),typeName:_g,tagName:z(_g),propertyName:Cg,attributeName:z(Cg),className:z(mi),labelName:z(mi),namespace:z(mi),macroName:z(mi),literal:gi,string:Oa,docString:z(Oa),character:z(Oa),attributeValue:z(Oa),number:Kc,integer:z(Kc),float:z(Kc),bool:z(gi),regexp:z(gi),escape:z(gi),color:z(gi),url:z(gi),keyword:Xt,self:z(Xt),null:z(Xt),atom:z(Xt),unit:z(Xt),modifier:z(Xt),operatorKeyword:z(Xt),controlKeyword:z(Xt),definitionKeyword:z(Xt),moduleKeyword:z(Xt),operator:Rt,derefOperator:z(Rt),arithmeticOperator:z(Rt),logicOperator:z(Rt),bitwiseOperator:z(Rt),compareOperator:z(Rt),updateOperator:z(Rt),definitionOperator:z(Rt),typeOperator:z(Rt),controlOperator:z(Rt),punctuation:eh,separator:z(eh),bracket:Kr,angleBracket:z(Kr),squareBracket:z(Kr),paren:z(Kr),brace:z(Kr),content:qt,heading:Li,heading1:z(Li),heading2:z(Li),heading3:z(Li),heading4:z(Li),heading5:z(Li),heading6:z(Li),contentSeparator:z(qt),list:z(qt),quote:z(qt),emphasis:z(qt),strong:z(qt),link:z(qt),monospace:z(qt),strikethrough:z(qt),inserted:z(),deleted:z(),changed:z(),invalid:z(),meta:ca,documentMeta:z(ca),annotation:z(ca),processingInstruction:z(ca),definition:gt.defineModifier("definition"),constant:gt.defineModifier("constant"),function:gt.defineModifier("function"),standard:gt.defineModifier("standard"),local:gt.defineModifier("local"),special:gt.defineModifier("special")};for(let i in $){let e=$[i];e instanceof gt&&(e.name=i)}var $6=th([{tag:$.link,class:"tok-link"},{tag:$.heading,class:"tok-heading"},{tag:$.emphasis,class:"tok-emphasis"},{tag:$.strong,class:"tok-strong"},{tag:$.keyword,class:"tok-keyword"},{tag:$.atom,class:"tok-atom"},{tag:$.bool,class:"tok-bool"},{tag:$.url,class:"tok-url"},{tag:$.labelName,class:"tok-labelName"},{tag:$.inserted,class:"tok-inserted"},{tag:$.deleted,class:"tok-deleted"},{tag:$.literal,class:"tok-literal"},{tag:$.string,class:"tok-string"},{tag:$.number,class:"tok-number"},{tag:[$.regexp,$.escape,$.special($.string)],class:"tok-string2"},{tag:$.variableName,class:"tok-variableName"},{tag:$.local($.variableName),class:"tok-variableName tok-local"},{tag:$.definition($.variableName),class:"tok-variableName tok-definition"},{tag:$.special($.variableName),class:"tok-variableName2"},{tag:$.definition($.propertyName),class:"tok-propertyName tok-definition"},{tag:$.typeName,class:"tok-typeName"},{tag:$.namespace,class:"tok-namespace"},{tag:$.className,class:"tok-className"},{tag:$.macroName,class:"tok-macroName"},{tag:$.propertyName,class:"tok-propertyName"},{tag:$.operator,class:"tok-operator"},{tag:$.comment,class:"tok-comment"},{tag:$.meta,class:"tok-meta"},{tag:$.invalid,class:"tok-invalid"},{tag:$.punctuation,class:"tok-punctuation"}]);var ih,Vn=new j;function dh(i){return X.define({combine:i?e=>e.concat(i):void 0})}var pa=new j,tt=class{constructor(e,t,n=[],r=""){this.data=e,this.name=r,ee.prototype.hasOwnProperty("tree")||Object.defineProperty(ee.prototype,"tree",{get(){return ae(this)}}),this.parser=t,this.extension=[$i.of(this),ee.languageData.of((s,o,a)=>{let l=Vg(s,o,a),c=l.type.prop(Vn);if(!c)return[];let O=s.facet(c),h=l.type.prop(pa);if(h){let f=l.resolve(o-l.from,a);for(let u of h)if(u.test(f,s)){let d=s.facet(u.facet);return u.type=="replace"?d:d.concat(O)}}return O})].concat(n)}isActiveAt(e,t,n=-1){return Vg(e,t,n).type.prop(Vn)==this.data}findRegions(e){let t=e.facet($i);if(t?.data==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let n=[],r=(s,o)=>{if(s.prop(Vn)==this.data){n.push({from:o,to:o+s.length});return}let a=s.prop(j.mounted);if(a){if(a.tree.prop(Vn)==this.data){if(a.overlay)for(let l of a.overlay)n.push({from:l.from+o,to:l.to+o});else n.push({from:o,to:o+s.length});return}else if(a.overlay){let l=n.length;if(r(a.tree,a.overlay[0].from+o),n.length>l)return}}for(let l=0;l<s.children.length;l++){let c=s.children[l];c instanceof de&&r(c,s.positions[l]+o)}};return r(ae(e),0),n}get allowsNesting(){return!0}};tt.setState=Z.define();function Vg(i,e,t){let n=i.facet($i),r=ae(i).topNode;if(!n||n.allowsNesting)for(let s=r;s;s=s.enter(e,t,H.ExcludeBuffers))s.type.isTop&&(r=s);return r}var Ct=class i extends tt{constructor(e,t,n){super(e,t,[],n),this.parser=t}static define(e){let t=dh(e.languageData);return new i(t,e.parser.configure({props:[Vn.add(n=>n.isTop?t:void 0)]}),e.name)}configure(e,t){return new i(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}};function ae(i){let e=i.field(tt.state,!1);return e?e.tree:de.empty}var oh=class{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let n=this.cursorPos-this.string.length;return e<n||t>=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-n,t-n)}},Jr=null,ah=class i{constructor(e,t,n=[],r,s,o,a,l){this.parser=e,this.state=t,this.fragments=n,this.tree=r,this.treeLen=s,this.viewport=o,this.skipped=a,this.scheduleOn=l,this.parse=null,this.tempSkipped=[]}static create(e,t,n){return new i(e,t,[],de.empty,0,n,[],null)}startParse(){return this.parser.startParse(new oh(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=de.empty&&this.isDone(t??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var n;if(typeof e=="number"){let r=Date.now()+e;e=()=>Date.now()>r}for(this.parse||(this.parse=this.startParse()),t!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&t<this.state.doc.length&&this.parse.stopAt(t);;){let r=this.parse.advance();if(r)if(this.fragments=this.withoutTempSkipped(Nt.addTree(r,this.fragments,this.parse.stoppedAt!=null)),this.treeLen=(n=this.parse.stoppedAt)!==null&&n!==void 0?n:this.state.doc.length,this.tree=r,this.parse=null,this.treeLen<(t??this.state.doc.length))this.parse=this.startParse();else return!0;if(e())return!1}})}takeTree(){let e,t;this.parse&&(e=this.parse.parsedPos)>=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(Nt.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=Jr;Jr=this;try{return e()}finally{Jr=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=Ag(e,t.from,t.to);return e}changes(e,t){let{fragments:n,tree:r,treeLen:s,viewport:o,skipped:a}=this;if(this.takeTree(),!e.empty){let l=[];if(e.iterChangedRanges((c,O,h,f)=>l.push({fromA:c,toA:O,fromB:h,toB:f})),n=Nt.applyChanges(n,l),r=de.empty,s=0,o={from:e.mapPos(o.from,-1),to:e.mapPos(o.to,1)},this.skipped.length){a=[];for(let c of this.skipped){let O=e.mapPos(c.from,1),h=e.mapPos(c.to,-1);O<h&&a.push({from:O,to:h})}}}return new i(this.parser,t,n,r,s,o,a,this.scheduleOn)}updateViewport(e){if(this.viewport.from==e.from&&this.viewport.to==e.to)return!1;this.viewport=e;let t=this.skipped.length;for(let n=0;n<this.skipped.length;n++){let{from:r,to:s}=this.skipped[n];r<e.to&&s>e.from&&(this.fragments=Ag(this.fragments,r,s),this.skipped.splice(n--,1))}return this.skipped.length>=t?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends Wn{createParse(t,n,r){let s=r[0].from,o=r[r.length-1].to;return{parsedPos:s,advance(){let l=Jr;if(l){for(let c of r)l.tempSkipped.push(c);e&&(l.scheduleOn=l.scheduleOn?Promise.all([l.scheduleOn,e]):e)}return this.parsedPos=o,new de(_e.none,[],[],o-s)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&t[0].from==0&&t[0].to>=e}static get(){return Jr}};function Ag(i,e,t){return Nt.applyChanges(i,[{fromA:e,toA:t,fromB:e,toB:t}])}var ts=class i{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),n=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,n)||t.takeTree(),new i(t)}static init(e){let t=Math.min(3e3,e.doc.length),n=ah.create(e.facet($i).parser,e,{from:0,to:t});return n.work(20,t)||n.takeTree(),new i(n)}};tt.state=ue.define({create:ts.init,update(i,e){for(let t of e.effects)if(t.is(tt.setState))return t.value;return e.startState.facet($i)!=e.state.facet($i)?ts.init(e.state):i.apply(e)}});var Dg=i=>{let e=setTimeout(()=>i(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(Dg=i=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(i,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});var nh=typeof navigator<"u"&&(!((ih=navigator.scheduling)===null||ih===void 0)&&ih.isInputPending)?()=>navigator.scheduling.isInputPending():null,Qv=me.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(tt.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(tt.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=Dg(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEnd<t&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=t+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:n,viewport:{to:r}}=this.view,s=n.field(tt.state);if(s.tree==s.context.tree&&s.context.isDone(r+1e5))return;let o=Date.now()+Math.min(this.chunkBudget,100,e&&!nh?Math.max(25,e.timeRemaining()-5):1e9),a=s.context.treeLen<r&&n.doc.length>r+1e3,l=s.context.work(()=>nh&&nh()||Date.now()>o,r+(a?0:1e5));this.chunkBudget-=Date.now()-t,(l||this.chunkBudget<=0)&&(s.context.takeTree(),this.view.dispatch({effects:tt.setState.of(new ts(s.context))})),this.chunkBudget>0&&!(l&&!a)&&this.scheduleWork(),this.checkAsyncSchedule(s.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(t=>qe(this.view.state,t)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),$i=X.define({combine(i){return i.length?i[0]:null},enables:i=>[tt.state,Qv,T.contentAttributes.compute([i],e=>{let t=e.facet(i);return t&&t.name?{"data-language":t.name}:{}})]}),Wt=class{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}};var Sv=X.define(),An=X.define({combine:i=>{if(!i.length)return" ";let e=i[0];if(!e||/\S/.test(e)||Array.from(e).some(t=>t!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(i[0]));return e}});function is(i){let e=i.facet(An);return e.charCodeAt(0)==9?i.tabSize*e.length:e.length}function jn(i,e){let t="",n=i.tabSize,r=i.facet(An)[0];if(r==" "){for(;e>=n;)t+=" ",e-=n;r=" "}for(let s=0;s<e;s++)t+=r;return t}function ma(i,e){i instanceof ee&&(i=new Gi(i));for(let n of i.state.facet(Sv)){let r=n(i,e);if(r!==void 0)return r}let t=ae(i.state);return t.length>=e?bv(i,t,e):null}var Gi=class{constructor(e,t={}){this.state=e,this.options=t,this.unit=is(e)}lineAt(e,t=1){let n=this.state.doc.lineAt(e),{simulateBreak:r,simulateDoubleBreak:s}=this.options;return r!=null&&r>=n.from&&r<=n.to?s&&r==e?{text:"",from:e}:(t<0?r<e:r<=e)?{text:n.text.slice(r-n.from),from:r}:{text:n.text.slice(0,r-n.from),from:n.from}:n}textAfterPos(e,t=1){if(this.options.simulateDoubleBreak&&e==this.options.simulateBreak)return"";let{text:n,from:r}=this.lineAt(e,t);return n.slice(e-r,Math.min(n.length,e+100-r))}column(e,t=1){let{text:n,from:r}=this.lineAt(e,t),s=this.countColumn(n,e-r),o=this.options.overrideIndentation?this.options.overrideIndentation(r):-1;return o>-1&&(s+=o-this.countColumn(n,n.search(/\S|$/))),s}countColumn(e,t=e.length){return Gt(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:n,from:r}=this.lineAt(e,t),s=this.options.overrideIndentation;if(s){let o=s(r);if(o>-1)return o}return this.countColumn(n,n.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}},Ft=new j;function bv(i,e,t){let n=e.resolveStack(t),r=e.resolveInner(t,-1).resolve(t,0).enterUnfinishedNodesBefore(t);if(r!=n.node){let s=[];for(let o=r;o&&!(o.from<n.node.from||o.to>n.node.to||o.from==n.node.from&&o.type==n.node.type);o=o.parent)s.push(o);for(let o=s.length-1;o>=0;o--)n={node:s[o],next:n}}return Lg(n,i,t)}function Lg(i,e,t){for(let n=i;n;n=n.next){let r=vv(n.node);if(r)return r(lh.create(e,t,n))}return 0}function xv(i){return i.pos==i.options.simulateBreak&&i.options.simulateDoubleBreak}function vv(i){let e=i.type.prop(Ft);if(e)return e;let t=i.firstChild,n;if(t&&(n=t.type.prop(j.closedBy))){let r=i.lastChild,s=r&&n.indexOf(r.name)>-1;return o=>Gg(o,!0,1,void 0,s&&!xv(o)?r.from:void 0)}return i.parent==null?wv:null}function wv(){return 0}var lh=class i extends Gi{constructor(e,t,n){super(e.state,e.options),this.base=e,this.pos=t,this.context=n}get node(){return this.context.node}static create(e,t,n){return new i(e,t,n)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let n=e.resolve(t.from);for(;n.parent&&n.parent.from==n.from;)n=n.parent;if(Pv(n,e))break;t=this.state.doc.lineAt(n.from)}return this.lineIndent(t.from)}continue(){return Lg(this.context.next,this.base,this.pos)}};function Pv(i,e){for(let t=e;t;t=t.parent)if(i==t)return!0;return!1}function kv(i){let e=i.node,t=e.childAfter(e.from),n=e.lastChild;if(!t)return null;let r=i.options.simulateBreak,s=i.state.doc.lineAt(t.from),o=r==null||r<=s.from?s.to:Math.min(s.to,r);for(let a=t.to;;){let l=e.childAfter(a);if(!l||l==n)return null;if(!l.type.isSkipped){if(l.from>=o)return null;let c=/^ */.exec(s.text.slice(t.to-s.from))[0].length;return{from:t.from,to:t.to+c}}a=l.to}}function ga({closing:i,align:e=!0,units:t=1}){return n=>Gg(n,e,t,i)}function Gg(i,e,t,n,r){let s=i.textAfter,o=s.match(/^\s*/)[0].length,a=n&&s.slice(o,o+n.length)==n||r==i.pos+o,l=e?kv(i):null;return l?a?i.column(l.from):i.column(l.to):i.baseIndent+(a?0:i.unit*t)}var Bg=i=>i.baseIndent;function Zt({except:i,units:e=1}={}){return t=>{let n=i&&i.test(t.textAfter);return t.baseIndent+(n?0:e*t.unit)}}var Tv=200;function Ig(){return ee.transactionFilter.of(i=>{if(!i.docChanged||!i.isUserEvent("input.type")&&!i.isUserEvent("input.complete"))return i;let e=i.startState.languageDataAt("indentOnInput",i.startState.selection.main.head);if(!e.length)return i;let t=i.newDoc,{head:n}=i.newSelection.main,r=t.lineAt(n);if(n>r.from+Tv)return i;let s=t.sliceString(r.from,n);if(!e.some(c=>c.test(s)))return i;let{state:o}=i,a=-1,l=[];for(let{head:c}of o.selection.ranges){let O=o.doc.lineAt(c);if(O.from==a)continue;a=O.from;let h=ma(o,O.from);if(h==null)continue;let f=/^\s*/.exec(O.text)[0],u=jn(o,h);f!=u&&l.push({from:O.from,to:O.from+f.length,insert:u})}return l.length?[i,{changes:l,sequential:!0}]:i})}var zv=X.define(),Ht=new j;function Yn(i){let e=i.firstChild,t=i.lastChild;return e&&e.to<t.from?{from:e.to,to:t.type.isError?i.to:t.from}:null}function Xv(i,e,t){let n=ae(i);if(n.length<t)return null;let r=n.resolveStack(t,1),s=null;for(let o=r;o;o=o.next){let a=o.node;if(a.to<=t||a.from>t)continue;if(s&&a.from<e)break;let l=a.type.prop(Ht);if(l&&(a.to<n.length-50||n.length==i.doc.length||!Rv(a))){let c=l(a,i);c&&c.from<=t&&c.from>=e&&c.to>t&&(s=c)}}return s}function Rv(i){let e=i.lastChild;return e&&e.to==i.to&&e.type.isError}function fa(i,e,t){for(let n of i.facet(zv)){let r=n(i,e,t);if(r)return r}return Xv(i,e,t)}function Ng(i,e){let t=e.mapPos(i.from,1),n=e.mapPos(i.to,-1);return t>=n?void 0:{from:t,to:n}}var $a=Z.define({map:Ng}),ns=Z.define({map:Ng});function Fg(i){let e=[];for(let{head:t}of i.state.selection.ranges)e.some(n=>n.from<=t&&n.to>=t)||e.push(i.lineBlockAt(t));return e}var Bi=ue.define({create(){return q.none},update(i,e){e.isUserEvent("delete")&&e.changes.iterChangedRanges((t,n)=>i=jg(i,t,n)),i=i.map(e.changes);for(let t of e.effects)if(t.is($a)&&!qv(i,t.value.from,t.value.to)){let{preparePlaceholder:n}=e.state.facet(ph),r=n?q.replace({widget:new Oh(n(e.state,t.value))}):Yg;i=i.update({add:[r.range(t.value.from,t.value.to)]})}else t.is(ns)&&(i=i.update({filter:(n,r)=>t.value.from!=n||t.value.to!=r,filterFrom:t.value.from,filterTo:t.value.to}));return e.selection&&(i=jg(i,e.selection.main.head)),i},provide:i=>T.decorations.from(i),toJSON(i,e){let t=[];return i.between(0,e.doc.length,(n,r)=>{t.push(n,r)}),t},fromJSON(i){if(!Array.isArray(i)||i.length%2)throw new RangeError("Invalid JSON for fold state");let e=[];for(let t=0;t<i.length;){let n=i[t++],r=i[t++];if(typeof n!="number"||typeof r!="number")throw new RangeError("Invalid JSON for fold state");e.push(Yg.range(n,r))}return q.set(e,!0)}});function jg(i,e,t=e){let n=!1;return i.between(e,t,(r,s)=>{r<t&&s>e&&(n=!0)}),n?i.update({filterFrom:e,filterTo:t,filter:(r,s)=>r>=t||s<=e}):i}function ua(i,e,t){var n;let r=null;return(n=i.field(Bi,!1))===null||n===void 0||n.between(e,t,(s,o)=>{(!r||r.from>s)&&(r={from:s,to:o})}),r}function qv(i,e,t){let n=!1;return i.between(e,e,(r,s)=>{r==e&&s==t&&(n=!0)}),n}function Hg(i,e){return i.field(Bi,!1)?e:e.concat(Z.appendConfig.of(e$()))}var _v=i=>{for(let e of Fg(i)){let t=fa(i.state,e.from,e.to);if(t)return i.dispatch({effects:Hg(i.state,[$a.of(t),Kg(i,t)])}),!0}return!1},Cv=i=>{if(!i.state.field(Bi,!1))return!1;let e=[];for(let t of Fg(i)){let n=ua(i.state,t.from,t.to);n&&e.push(ns.of(n),Kg(i,n,!1))}return e.length&&i.dispatch({effects:e}),e.length>0};function Kg(i,e,t=!0){let n=i.state.doc.lineAt(e.from).number,r=i.state.doc.lineAt(e.to).number;return T.announce.of(`${i.state.phrase(t?"Folded lines":"Unfolded lines")} ${n} ${i.state.phrase("to")} ${r}.`)}var Wv=i=>{let{state:e}=i,t=[];for(let n=0;n<e.doc.length;){let r=i.lineBlockAt(n),s=fa(e,r.from,r.to);s&&t.push($a.of(s)),n=(s?i.lineBlockAt(s.to):r).to+1}return t.length&&i.dispatch({effects:Hg(i.state,t)}),!!t.length},Zv=i=>{let e=i.state.field(Bi,!1);if(!e||!e.size)return!1;let t=[];return e.between(0,i.state.doc.length,(n,r)=>{t.push(ns.of({from:n,to:r}))}),i.dispatch({effects:t}),!0};var Jg=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:_v},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:Cv},{key:"Ctrl-Alt-[",run:Wv},{key:"Ctrl-Alt-]",run:Zv}],Vv={placeholderDOM:null,preparePlaceholder:null,placeholderText:"\u2026"},ph=X.define({combine(i){return Ze(i,Vv)}});function e$(i){let e=[Bi,jv];return i&&e.push(ph.of(i)),e}function t$(i,e){let{state:t}=i,n=t.facet(ph),r=o=>{let a=i.lineBlockAt(i.posAtDOM(o.target)),l=ua(i.state,a.from,a.to);l&&i.dispatch({effects:ns.of(l)}),o.preventDefault()};if(n.placeholderDOM)return n.placeholderDOM(i,r,e);let s=document.createElement("span");return s.textContent=n.placeholderText,s.setAttribute("aria-label",t.phrase("folded code")),s.title=t.phrase("unfold"),s.className="cm-foldPlaceholder",s.onclick=r,s}var Yg=q.replace({widget:new class extends Ge{toDOM(i){return t$(i,null)}}}),Oh=class extends Ge{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return t$(e,this.value)}},Av={openText:"\u2304",closedText:"\u203A",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1},es=class extends et{constructor(e,t){super(),this.config=e,this.open=t}eq(e){return this.config==e.config&&this.open==e.open}toDOM(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);let t=document.createElement("span");return t.textContent=this.open?this.config.openText:this.config.closedText,t.title=e.state.phrase(this.open?"Fold line":"Unfold line"),t}};function i$(i={}){let e={...Av,...i},t=new es(e,!0),n=new es(e,!1),r=me.fromClass(class{constructor(o){this.from=o.viewport.from,this.markers=this.buildMarkers(o)}update(o){(o.docChanged||o.viewportChanged||o.startState.facet($i)!=o.state.facet($i)||o.startState.field(Bi,!1)!=o.state.field(Bi,!1)||ae(o.startState)!=ae(o.state)||e.foldingChanged(o))&&(this.markers=this.buildMarkers(o.view))}buildMarkers(o){let a=new He;for(let l of o.viewportLineBlocks){let c=ua(o.state,l.from,l.to)?n:fa(o.state,l.from,l.to)?t:null;c&&a.add(l.from,l.from,c)}return a.finish()}}),{domEventHandlers:s}=e;return[r,Yc({class:"cm-foldGutter",markers(o){var a;return((a=o.plugin(r))===null||a===void 0?void 0:a.markers)||F.empty},initialSpacer(){return new es(e,!1)},domEventHandlers:{...s,click:(o,a,l)=>{if(s.click&&s.click(o,a,l))return!0;let c=ua(o.state,a.from,a.to);if(c)return o.dispatch({effects:ns.of(c)}),!0;let O=fa(o.state,a.from,a.to);return O?(o.dispatch({effects:$a.of(O)}),!0):!1}}}),e$()]}var jv=T.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}}),da=class i{constructor(e,t){this.specs=e;let n;function r(a){let l=Ot.newName();return(n||(n=Object.create(null)))["."+l]=a,l}let s=typeof t.all=="string"?t.all:t.all?r(t.all):void 0,o=t.scope;this.scope=o instanceof tt?a=>a.prop(Vn)==o.data:o?a=>a==o:void 0,this.style=th(e.map(a=>({tag:a.tag,class:a.class||r(Object.assign({},a,{tag:null}))})),{all:s}).style,this.module=n?new Ot(n):null,this.themeType=t.themeType}static define(e,t){return new i(e,t||{})}},ch=X.define(),n$=X.define({combine(i){return i.length?[i[0]]:null}});function rh(i){let e=i.facet(ch);return e.length?e:i.facet(n$)}function r$(i,e){let t=[Yv],n;return i instanceof da&&(i.module&&t.push(T.styleModule.of(i.module)),n=i.themeType),e?.fallback?t.push(n$.of(i)):n?t.push(ch.computeN([T.darkTheme],r=>r.facet(T.darkTheme)==(n=="dark")?[i]:[])):t.push(ch.of(i)),t}var hh=class{constructor(e){this.markCache=Object.create(null),this.tree=ae(e.state),this.decorations=this.buildDeco(e,rh(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=ae(e.state),n=rh(e.state),r=n!=rh(e.startState),{viewport:s}=e.view,o=e.changes.mapPos(this.decoratedTo,1);t.length<s.to&&!r&&t.type==this.tree.type&&o>=s.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=o):(t!=this.tree||e.viewportChanged||r)&&(this.tree=t,this.decorations=this.buildDeco(e.view,n),this.decoratedTo=s.to)}buildDeco(e,t){if(!t||!this.tree.length)return q.none;let n=new He;for(let{from:r,to:s}of e.visibleRanges)Zg(this.tree,t,(o,a,l)=>{n.add(o,a,this.markCache[l]||(this.markCache[l]=q.mark({class:l})))},r,s);return n.finish()}},Yv=lt.high(me.fromClass(hh,{decorations:i=>i.decorations})),s$=da.define([{tag:$.meta,color:"#404740"},{tag:$.link,textDecoration:"underline"},{tag:$.heading,textDecoration:"underline",fontWeight:"bold"},{tag:$.emphasis,fontStyle:"italic"},{tag:$.strong,fontWeight:"bold"},{tag:$.strikethrough,textDecoration:"line-through"},{tag:$.keyword,color:"#708"},{tag:[$.atom,$.bool,$.url,$.contentSeparator,$.labelName],color:"#219"},{tag:[$.literal,$.inserted],color:"#164"},{tag:[$.string,$.deleted],color:"#a11"},{tag:[$.regexp,$.escape,$.special($.string)],color:"#e40"},{tag:$.definition($.variableName),color:"#00f"},{tag:$.local($.variableName),color:"#30a"},{tag:[$.typeName,$.namespace],color:"#085"},{tag:$.className,color:"#167"},{tag:[$.special($.variableName),$.macroName],color:"#256"},{tag:$.definition($.propertyName),color:"#00c"},{tag:$.comment,color:"#940"},{tag:$.invalid,color:"#f00"}]),Uv=T.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),o$=1e4,a$="()[]{}",l$=X.define({combine(i){return Ze(i,{afterCursor:!0,brackets:a$,maxScanDistance:o$,renderMatch:Dv})}}),Mv=q.mark({class:"cm-matchingBracket"}),Ev=q.mark({class:"cm-nonmatchingBracket"});function Dv(i){let e=[],t=i.matched?Mv:Ev;return e.push(t.range(i.start.from,i.start.to)),i.end&&e.push(t.range(i.end.from,i.end.to)),e}var Lv=ue.define({create(){return q.none},update(i,e){if(!e.docChanged&&!e.selection)return i;let t=[],n=e.state.facet(l$);for(let r of e.state.selection.ranges){if(!r.empty)continue;let s=$t(e.state,r.head,-1,n)||r.head>0&&$t(e.state,r.head-1,1,n)||n.afterCursor&&($t(e.state,r.head,1,n)||r.head<e.state.doc.length&&$t(e.state,r.head+1,-1,n));s&&(t=t.concat(n.renderMatch(s,e.state)))}return q.set(t,!0)},provide:i=>T.decorations.from(i)}),Gv=[Lv,Uv];function O$(i={}){return[l$.of(i),Gv]}var mh=new j;function fh(i,e,t){let n=i.prop(e<0?j.openedBy:j.closedBy);if(n)return n;if(i.name.length==1){let r=t.indexOf(i.name);if(r>-1&&r%2==(e<0?1:0))return[t[r+e]]}return null}function uh(i){let e=i.type.prop(mh);return e?e(i.node):i}function $t(i,e,t,n={}){let r=n.maxScanDistance||o$,s=n.brackets||a$,o=ae(i),a=o.resolveInner(e,t);for(let l=a;l;l=l.parent){let c=fh(l.type,t,s);if(c&&l.from<l.to){let O=uh(l);if(O&&(t>0?e>=O.from&&e<O.to:e>O.from&&e<=O.to))return Bv(i,e,t,l,O,c,s)}}return Iv(i,e,t,o,a.type,r,s)}function Bv(i,e,t,n,r,s,o){let a=n.parent,l={from:r.from,to:r.to},c=0,O=a?.cursor();if(O&&(t<0?O.childBefore(n.from):O.childAfter(n.to)))do if(t<0?O.to<=n.from:O.from>=n.to){if(c==0&&s.indexOf(O.type.name)>-1&&O.from<O.to){let h=uh(O);return{start:l,end:h?{from:h.from,to:h.to}:void 0,matched:!0}}else if(fh(O.type,t,o))c++;else if(fh(O.type,-t,o)){if(c==0){let h=uh(O);return{start:l,end:h&&h.from<h.to?{from:h.from,to:h.to}:void 0,matched:!1}}c--}}while(t<0?O.prevSibling():O.nextSibling());return{start:l,matched:!1}}function Iv(i,e,t,n,r,s,o){let a=t<0?i.sliceDoc(e-1,e):i.sliceDoc(e,e+1),l=o.indexOf(a);if(l<0||l%2==0!=t>0)return null;let c={from:t<0?e-1:e,to:t>0?e+1:e},O=i.doc.iterRange(e,t>0?i.doc.length:0),h=0;for(let f=0;!O.next().done&&f<=s;){let u=O.value;t<0&&(f+=u.length);let d=e+f*t;for(let p=t>0?0:u.length-1,m=t>0?u.length:-1;p!=m;p+=t){let g=o.indexOf(u[p]);if(!(g<0||n.resolveInner(d+p,1).type!=r))if(g%2==0==t>0)h++;else{if(h==1)return{start:c,end:{from:d+p,to:d+p+1},matched:g>>1==l>>1};h--}}t>0&&(f+=u.length)}return O.done?{start:c,matched:!1}:null}var Nv=Object.create(null),Ug=[_e.none];var Mg=[],Eg=Object.create(null),Fv=Object.create(null);for(let[i,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])Fv[i]=Hv(Nv,e);function sh(i,e){Mg.indexOf(i)>-1||(Mg.push(i),console.warn(e))}function Hv(i,e){let t=[];for(let a of e.split(" ")){let l=[];for(let c of a.split(".")){let O=i[c]||$[c];O?typeof O=="function"?l.length?l=l.map(O):sh(c,`Modifier ${c} used at start of tag`):l.length?sh(c,`Tag ${c} used as modifier`):l=Array.isArray(O)?O:[O]:sh(c,`Unknown highlighting tag ${c}`)}for(let c of l)t.push(c)}if(!t.length)return 0;let n=e.replace(/ /g,"_"),r=n+" "+t.map(a=>a.id),s=Eg[r];if(s)return s.id;let o=Eg[r]=_e.define({id:Ug.length,name:n,props:[_t({[n]:t})]});return Ug.push(o),o.id}var P6={rtl:q.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"rtl"},bidiIsolate:ne.RTL}),ltr:q.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"ltr"},bidiIsolate:ne.LTR}),auto:q.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"auto"},bidiIsolate:null})};var Kv=i=>{let{state:e}=i,t=e.doc.lineAt(e.selection.main.from),n=xh(i.state,t.from);return n.line?Jv(i):n.block?tw(i):!1};function bh(i,e){return({state:t,dispatch:n})=>{if(t.readOnly)return!1;let r=i(e,t);return r?(n(t.update(r)),!0):!1}}var Jv=bh(rw,0);var ew=bh($$,0);var tw=bh((i,e)=>$$(i,e,nw(e)),0);function xh(i,e){let t=i.languageDataAt("commentTokens",e,1);return t.length?t[0]:{}}var rs=50;function iw(i,{open:e,close:t},n,r){let s=i.sliceDoc(n-rs,n),o=i.sliceDoc(r,r+rs),a=/\s*$/.exec(s)[0].length,l=/^\s*/.exec(o)[0].length,c=s.length-a;if(s.slice(c-e.length,c)==e&&o.slice(l,l+t.length)==t)return{open:{pos:n-a,margin:a&&1},close:{pos:r+l,margin:l&&1}};let O,h;r-n<=2*rs?O=h=i.sliceDoc(n,r):(O=i.sliceDoc(n,n+rs),h=i.sliceDoc(r-rs,r));let f=/^\s*/.exec(O)[0].length,u=/\s*$/.exec(h)[0].length,d=h.length-u-t.length;return O.slice(f,f+e.length)==e&&h.slice(d,d+t.length)==t?{open:{pos:n+f+e.length,margin:/\s/.test(O.charAt(f+e.length))?1:0},close:{pos:r-u-t.length,margin:/\s/.test(h.charAt(d-1))?1:0}}:null}function nw(i){let e=[];for(let t of i.selection.ranges){let n=i.doc.lineAt(t.from),r=t.to<=n.to?n:i.doc.lineAt(t.to);r.from>n.from&&r.from==t.to&&(r=t.to==n.to+1?n:i.doc.lineAt(t.to-1));let s=e.length-1;s>=0&&e[s].to>n.from?e[s].to=r.to:e.push({from:n.from+/^\s*/.exec(n.text)[0].length,to:r.to})}return e}function $$(i,e,t=e.selection.ranges){let n=t.map(s=>xh(e,s.from).block);if(!n.every(s=>s))return null;let r=t.map((s,o)=>iw(e,n[o],s.from,s.to));if(i!=2&&!r.every(s=>s))return{changes:e.changes(t.map((s,o)=>r[o]?[]:[{from:s.from,insert:n[o].open+" "},{from:s.to,insert:" "+n[o].close}]))};if(i!=1&&r.some(s=>s)){let s=[];for(let o=0,a;o<r.length;o++)if(a=r[o]){let l=n[o],{open:c,close:O}=a;s.push({from:c.pos-l.open.length,to:c.pos+c.margin},{from:O.pos-O.margin,to:O.pos+l.close.length})}return{changes:s}}return null}function rw(i,e,t=e.selection.ranges){let n=[],r=-1;for(let{from:s,to:o}of t){let a=n.length,l=1e9,c=xh(e,s).line;if(c){for(let O=s;O<=o;){let h=e.doc.lineAt(O);if(h.from>r&&(s==o||o>h.from)){r=h.from;let f=/^\s*/.exec(h.text)[0].length,u=f==h.length,d=h.text.slice(f,f+c.length)==c?f:-1;f<h.text.length&&f<l&&(l=f),n.push({line:h,comment:d,token:c,indent:f,empty:u,single:!1})}O=h.to+1}if(l<1e9)for(let O=a;O<n.length;O++)n[O].indent<n[O].line.text.length&&(n[O].indent=l);n.length==a+1&&(n[a].single=!0)}}if(i!=2&&n.some(s=>s.comment<0&&(!s.empty||s.single))){let s=[];for(let{line:a,token:l,indent:c,empty:O,single:h}of n)(h||!O)&&s.push({from:a.from+c,insert:l+" "});let o=e.changes(s);return{changes:o,selection:e.selection.map(o,1)}}else if(i!=1&&n.some(s=>s.comment>=0)){let s=[];for(let{line:o,comment:a,token:l}of n)if(a>=0){let c=o.from+a,O=c+l.length;o.text[O-o.from]==" "&&O++,s.push({from:c,to:O})}return{changes:s}}return null}var $h=De.define(),sw=De.define(),ow=X.define(),y$=X.define({combine(i){return Ze(i,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(n,r)=>e(n,r)||t(n,r)})}}),Q$=ue.define({create(){return Ii.empty},update(i,e){let t=e.state.facet(y$),n=e.annotation($h);if(n){let l=yt.fromTransaction(e,n.selection),c=n.side,O=c==0?i.undone:i.done;return l?O=Qa(O,O.length,t.minDepth,l):O=v$(O,e.startState.selection),new Ii(c==0?n.rest:O,c==0?O:n.rest)}let r=e.annotation(sw);if((r=="full"||r=="before")&&(i=i.isolate()),e.annotation(xe.addToHistory)===!1)return e.changes.empty?i:i.addMapping(e.changes.desc);let s=yt.fromTransaction(e),o=e.annotation(xe.time),a=e.annotation(xe.userEvent);return s?i=i.addChanges(s,o,a,t,e):e.selection&&(i=i.addSelection(e.startState.selection,o,a,t.newGroupDelay)),(r=="full"||r=="after")&&(i=i.isolate()),i},toJSON(i){return{done:i.done.map(e=>e.toJSON()),undone:i.undone.map(e=>e.toJSON())}},fromJSON(i){return new Ii(i.done.map(yt.fromJSON),i.undone.map(yt.fromJSON))}});function S$(i={}){return[Q$,y$.of(i),T.domEventHandlers({beforeinput(e,t){let n=e.inputType=="historyUndo"?b$:e.inputType=="historyRedo"?yh:null;return n?(e.preventDefault(),n(t)):!1}})]}function Sa(i,e){return function({state:t,dispatch:n}){if(!e&&t.readOnly)return!1;let r=t.field(Q$,!1);if(!r)return!1;let s=r.pop(i,t,e);return s?(n(s),!0):!1}}var b$=Sa(0,!1),yh=Sa(1,!1),aw=Sa(0,!0),lw=Sa(1,!0);var yt=class i{constructor(e,t,n,r,s){this.changes=e,this.effects=t,this.mapped=n,this.startSelection=r,this.selectionsAfter=s}setSelAfter(e){return new i(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,n;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(t=this.mapped)===null||t===void 0?void 0:t.toJSON(),startSelection:(n=this.startSelection)===null||n===void 0?void 0:n.toJSON(),selectionsAfter:this.selectionsAfter.map(r=>r.toJSON())}}static fromJSON(e){return new i(e.changes&&Ae.fromJSON(e.changes),[],e.mapped&&Lt.fromJSON(e.mapped),e.startSelection&&P.fromJSON(e.startSelection),e.selectionsAfter.map(P.fromJSON))}static fromTransaction(e,t){let n=ft;for(let r of e.startState.facet(ow)){let s=r(e);s.length&&(n=n.concat(s))}return!n.length&&e.changes.empty?null:new i(e.changes.invert(e.startState.doc),n,void 0,t||e.startState.selection,ft)}static selection(e){return new i(void 0,ft,void 0,void 0,e)}};function Qa(i,e,t,n){let r=e+1>t+20?e-t-1:0,s=i.slice(r,e);return s.push(n),s}function Ow(i,e){let t=[],n=!1;return i.iterChangedRanges((r,s)=>t.push(r,s)),e.iterChangedRanges((r,s,o,a)=>{for(let l=0;l<t.length;){let c=t[l++],O=t[l++];a>=c&&o<=O&&(n=!0)}}),n}function cw(i,e){return i.ranges.length==e.ranges.length&&i.ranges.filter((t,n)=>t.empty!=e.ranges[n].empty).length===0}function x$(i,e){return i.length?e.length?i.concat(e):i:e}var ft=[],hw=200;function v$(i,e){if(i.length){let t=i[i.length-1],n=t.selectionsAfter.slice(Math.max(0,t.selectionsAfter.length-hw));return n.length&&n[n.length-1].eq(e)?i:(n.push(e),Qa(i,i.length-1,1e9,t.setSelAfter(n)))}else return[yt.selection([e])]}function fw(i){let e=i[i.length-1],t=i.slice();return t[i.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),t}function gh(i,e){if(!i.length)return i;let t=i.length,n=ft;for(;t;){let r=uw(i[t-1],e,n);if(r.changes&&!r.changes.empty||r.effects.length){let s=i.slice(0,t);return s[t-1]=r,s}else e=r.mapped,t--,n=r.selectionsAfter}return n.length?[yt.selection(n)]:ft}function uw(i,e,t){let n=x$(i.selectionsAfter.length?i.selectionsAfter.map(a=>a.map(e)):ft,t);if(!i.changes)return yt.selection(n);let r=i.changes.map(e),s=e.mapDesc(i.changes,!0),o=i.mapped?i.mapped.composeDesc(s):s;return new yt(r,Z.mapEffects(i.effects,e),o,i.startSelection.map(s),n)}var dw=/^(input\.type|delete)($|\.)/,Ii=class i{constructor(e,t,n=0,r=void 0){this.done=e,this.undone=t,this.prevTime=n,this.prevUserEvent=r}isolate(){return this.prevTime?new i(this.done,this.undone):this}addChanges(e,t,n,r,s){let o=this.done,a=o[o.length-1];return a&&a.changes&&!a.changes.empty&&e.changes&&(!n||dw.test(n))&&(!a.selectionsAfter.length&&t-this.prevTime<r.newGroupDelay&&r.joinToEvent(s,Ow(a.changes,e.changes))||n=="input.type.compose")?o=Qa(o,o.length-1,r.minDepth,new yt(e.changes.compose(a.changes),x$(Z.mapEffects(e.effects,a.changes),a.effects),a.mapped,a.startSelection,ft)):o=Qa(o,o.length,r.minDepth,e),new i(o,ft,t,n)}addSelection(e,t,n,r){let s=this.done.length?this.done[this.done.length-1].selectionsAfter:ft;return s.length>0&&t-this.prevTime<r&&n==this.prevUserEvent&&n&&/^select($|\.)/.test(n)&&cw(s[s.length-1],e)?this:new i(v$(this.done,e),this.undone,t,n)}addMapping(e){return new i(gh(this.done,e),gh(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,t,n){let r=e==0?this.done:this.undone;if(r.length==0)return null;let s=r[r.length-1],o=s.selectionsAfter[0]||t.selection;if(n&&s.selectionsAfter.length)return t.update({selection:s.selectionsAfter[s.selectionsAfter.length-1],annotations:$h.of({side:e,rest:fw(r),selection:o}),userEvent:e==0?"select.undo":"select.redo",scrollIntoView:!0});if(s.changes){let a=r.length==1?ft:r.slice(0,r.length-1);return s.mapped&&(a=gh(a,s.mapped)),t.update({changes:s.changes,selection:s.startSelection,effects:s.effects,annotations:$h.of({side:e,rest:a,selection:o}),filter:!1,userEvent:e==0?"undo":"redo",scrollIntoView:!0})}else return null}};Ii.empty=new Ii(ft,ft);var w$=[{key:"Mod-z",run:b$,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:yh,preventDefault:!0},{linux:"Ctrl-Shift-z",run:yh,preventDefault:!0},{key:"Mod-u",run:aw,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:lw,preventDefault:!0}];function Un(i,e){return P.create(i.ranges.map(e),i.mainIndex)}function Vt(i,e){return i.update({selection:e,scrollIntoView:!0,userEvent:"select"})}function Qt({state:i,dispatch:e},t){let n=Un(i.selection,t);return n.eq(i.selection,!0)?!1:(e(Vt(i,n)),!0)}function ba(i,e){return P.cursor(e?i.to:i.from)}function P$(i,e){return Qt(i,t=>t.empty?i.moveByChar(t,e):ba(t,e))}function Ve(i){return i.textDirectionAt(i.state.selection.main.head)==ne.LTR}var k$=i=>P$(i,!Ve(i)),T$=i=>P$(i,Ve(i));function z$(i,e){return Qt(i,t=>t.empty?i.moveByGroup(t,e):ba(t,e))}var pw=i=>z$(i,!Ve(i)),mw=i=>z$(i,Ve(i));var W6=typeof Intl<"u"&&Intl.Segmenter?new Intl.Segmenter(void 0,{granularity:"word"}):null;function gw(i,e,t){if(e.type.prop(t))return!0;let n=e.to-e.from;return n&&(n>2||/[^\s,.;:]/.test(i.sliceDoc(e.from,e.to)))||e.firstChild}function xa(i,e,t){let n=ae(i).resolveInner(e.head),r=t?j.closedBy:j.openedBy;for(let l=e.head;;){let c=t?n.childAfter(l):n.childBefore(l);if(!c)break;gw(i,c,r)?n=c:l=t?c.to:c.from}let s=n.type.prop(r),o,a;return s&&(o=t?$t(i,n.from,1):$t(i,n.to,-1))&&o.matched?a=t?o.end.to:o.end.from:a=t?n.to:n.from,P.cursor(a,t?-1:1)}var $w=i=>Qt(i,e=>xa(i.state,e,!Ve(i))),yw=i=>Qt(i,e=>xa(i.state,e,Ve(i)));function X$(i,e){return Qt(i,t=>{if(!t.empty)return ba(t,e);let n=i.moveVertically(t,e);return n.head!=t.head?n:i.moveToLineBoundary(t,e)})}var R$=i=>X$(i,!1),q$=i=>X$(i,!0);function _$(i){let e=i.scrollDOM.clientHeight<i.scrollDOM.scrollHeight-2,t=0,n=0,r;if(e){for(let s of i.state.facet(T.scrollMargins)){let o=s(i);o?.top&&(t=Math.max(o?.top,t)),o?.bottom&&(n=Math.max(o?.bottom,n))}r=i.scrollDOM.clientHeight-t-n}else r=(i.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:t,marginBottom:n,selfScroll:e,height:Math.max(i.defaultLineHeight,r-5)}}function C$(i,e){let t=_$(i),{state:n}=i,r=Un(n.selection,o=>o.empty?i.moveVertically(o,e,t.height):ba(o,e));if(r.eq(n.selection))return!1;let s;if(t.selfScroll){let o=i.coordsAtPos(n.selection.main.head),a=i.scrollDOM.getBoundingClientRect(),l=a.top+t.marginTop,c=a.bottom-t.marginBottom;o&&o.top>l&&o.bottom<c&&(s=T.scrollIntoView(r.main.head,{y:"start",yMargin:o.top-l}))}return i.dispatch(Vt(n,r),{effects:s}),!0}var c$=i=>C$(i,!1),Qh=i=>C$(i,!0);function yi(i,e,t){let n=i.lineBlockAt(e.head),r=i.moveToLineBoundary(e,t);if(r.head==e.head&&r.head!=(t?n.to:n.from)&&(r=i.moveToLineBoundary(e,t,!1)),!t&&r.head==n.from&&n.length){let s=/^\s*/.exec(i.state.sliceDoc(n.from,Math.min(n.from+100,n.to)))[0].length;s&&e.head!=n.from+s&&(r=P.cursor(n.from+s))}return r}var Qw=i=>Qt(i,e=>yi(i,e,!0)),Sw=i=>Qt(i,e=>yi(i,e,!1)),bw=i=>Qt(i,e=>yi(i,e,!Ve(i))),xw=i=>Qt(i,e=>yi(i,e,Ve(i))),vw=i=>Qt(i,e=>P.cursor(i.lineBlockAt(e.head).from,1)),ww=i=>Qt(i,e=>P.cursor(i.lineBlockAt(e.head).to,-1));function Pw(i,e,t){let n=!1,r=Un(i.selection,s=>{let o=$t(i,s.head,-1)||$t(i,s.head,1)||s.head>0&&$t(i,s.head-1,1)||s.head<i.doc.length&&$t(i,s.head+1,-1);if(!o||!o.end)return s;n=!0;let a=o.start.from==s.head?o.end.to:o.end.from;return t?P.range(s.anchor,a):P.cursor(a)});return n?(e(Vt(i,r)),!0):!1}var kw=({state:i,dispatch:e})=>Pw(i,e,!1);function ut(i,e){let t=Un(i.state.selection,n=>{let r=e(n);return P.range(n.anchor,r.head,r.goalColumn,r.bidiLevel||void 0)});return t.eq(i.state.selection)?!1:(i.dispatch(Vt(i.state,t)),!0)}function W$(i,e){return ut(i,t=>i.moveByChar(t,e))}var Z$=i=>W$(i,!Ve(i)),V$=i=>W$(i,Ve(i));function A$(i,e){return ut(i,t=>i.moveByGroup(t,e))}var Tw=i=>A$(i,!Ve(i)),zw=i=>A$(i,Ve(i));var Xw=i=>ut(i,e=>xa(i.state,e,!Ve(i))),Rw=i=>ut(i,e=>xa(i.state,e,Ve(i)));function j$(i,e){return ut(i,t=>i.moveVertically(t,e))}var Y$=i=>j$(i,!1),U$=i=>j$(i,!0);function M$(i,e){return ut(i,t=>i.moveVertically(t,e,_$(i).height))}var h$=i=>M$(i,!1),f$=i=>M$(i,!0),qw=i=>ut(i,e=>yi(i,e,!0)),_w=i=>ut(i,e=>yi(i,e,!1)),Cw=i=>ut(i,e=>yi(i,e,!Ve(i))),Ww=i=>ut(i,e=>yi(i,e,Ve(i))),Zw=i=>ut(i,e=>P.cursor(i.lineBlockAt(e.head).from)),Vw=i=>ut(i,e=>P.cursor(i.lineBlockAt(e.head).to)),u$=({state:i,dispatch:e})=>(e(Vt(i,{anchor:0})),!0),d$=({state:i,dispatch:e})=>(e(Vt(i,{anchor:i.doc.length})),!0),p$=({state:i,dispatch:e})=>(e(Vt(i,{anchor:i.selection.main.anchor,head:0})),!0),m$=({state:i,dispatch:e})=>(e(Vt(i,{anchor:i.selection.main.anchor,head:i.doc.length})),!0),Aw=({state:i,dispatch:e})=>(e(i.update({selection:{anchor:0,head:i.doc.length},userEvent:"select"})),!0),jw=({state:i,dispatch:e})=>{let t=va(i).map(({from:n,to:r})=>P.range(n,Math.min(r+1,i.doc.length)));return e(i.update({selection:P.create(t),userEvent:"select"})),!0},Yw=({state:i,dispatch:e})=>{let t=Un(i.selection,n=>{let r=ae(i),s=r.resolveStack(n.from,1);if(n.empty){let o=r.resolveStack(n.from,-1);o.node.from>=s.node.from&&o.node.to<=s.node.to&&(s=o)}for(let o=s;o;o=o.next){let{node:a}=o;if((a.from<n.from&&a.to>=n.to||a.to>n.to&&a.from<=n.from)&&o.next)return P.range(a.to,a.from)}return n});return t.eq(i.selection)?!1:(e(Vt(i,t)),!0)},Uw=({state:i,dispatch:e})=>{let t=i.selection,n=null;return t.ranges.length>1?n=P.create([t.main]):t.main.empty||(n=P.create([P.cursor(t.main.head)])),n?(e(Vt(i,n)),!0):!1};function ss(i,e){if(i.state.readOnly)return!1;let t="delete.selection",{state:n}=i,r=n.changeByRange(s=>{let{from:o,to:a}=s;if(o==a){let l=e(s);l<o?(t="delete.backward",l=ya(i,l,!1)):l>o&&(t="delete.forward",l=ya(i,l,!0)),o=Math.min(o,l),a=Math.max(a,l)}else o=ya(i,o,!1),a=ya(i,a,!0);return o==a?{range:s}:{changes:{from:o,to:a},range:P.cursor(o,o<s.head?-1:1)}});return r.changes.empty?!1:(i.dispatch(n.update(r,{scrollIntoView:!0,userEvent:t,effects:t=="delete.selection"?T.announce.of(n.phrase("Selection deleted")):void 0})),!0)}function ya(i,e,t){if(i instanceof T)for(let n of i.state.facet(T.atomicRanges).map(r=>r(i)))n.between(e,e,(r,s)=>{r<e&&s>e&&(e=t?s:r)});return e}var E$=(i,e,t)=>ss(i,n=>{let r=n.from,{state:s}=i,o=s.doc.lineAt(r),a,l;if(t&&!e&&r>o.from&&r<o.from+200&&!/[^ \t]/.test(a=o.text.slice(0,r-o.from))){if(a[a.length-1]==" ")return r-1;let c=Gt(a,s.tabSize),O=c%is(s)||is(s);for(let h=0;h<O&&a[a.length-1-h]==" ";h++)r--;l=r}else l=ve(o.text,r-o.from,e,e)+o.from,l==r&&o.number!=(e?s.doc.lines:1)?l+=e?1:-1:!e&&/[\ufe00-\ufe0f]/.test(o.text.slice(l-o.from,r-o.from))&&(l=ve(o.text,l-o.from,!1,!1)+o.from);return l}),Sh=i=>E$(i,!1,!0);var D$=i=>E$(i,!0,!1),L$=(i,e)=>ss(i,t=>{let n=t.head,{state:r}=i,s=r.doc.lineAt(n),o=r.charCategorizer(n);for(let a=null;;){if(n==(e?s.to:s.from)){n==t.head&&s.number!=(e?r.doc.lines:1)&&(n+=e?1:-1);break}let l=ve(s.text,n-s.from,e)+s.from,c=s.text.slice(Math.min(n,l)-s.from,Math.max(n,l)-s.from),O=o(c);if(a!=null&&O!=a)break;(c!=" "||n!=t.head)&&(a=O),n=l}return n}),G$=i=>L$(i,!1),Mw=i=>L$(i,!0),Ew=i=>ss(i,e=>{let t=i.lineBlockAt(e.head).to;return e.head<t?t:Math.min(i.state.doc.length,e.head+1)});var Dw=i=>ss(i,e=>{let t=i.moveToLineBoundary(e,!1).head;return e.head>t?t:Math.max(0,e.head-1)}),Lw=i=>ss(i,e=>{let t=i.moveToLineBoundary(e,!0).head;return e.head<t?t:Math.min(i.state.doc.length,e.head+1)});var Gw=({state:i,dispatch:e})=>{if(i.readOnly)return!1;let t=i.changeByRange(n=>({changes:{from:n.from,to:n.to,insert:U.of(["",""])},range:P.cursor(n.from)}));return e(i.update(t,{scrollIntoView:!0,userEvent:"input"})),!0},Bw=({state:i,dispatch:e})=>{if(i.readOnly)return!1;let t=i.changeByRange(n=>{if(!n.empty||n.from==0||n.from==i.doc.length)return{range:n};let r=n.from,s=i.doc.lineAt(r),o=r==s.from?r-1:ve(s.text,r-s.from,!1)+s.from,a=r==s.to?r+1:ve(s.text,r-s.from,!0)+s.from;return{changes:{from:o,to:a,insert:i.doc.slice(r,a).append(i.doc.slice(o,r))},range:P.cursor(a)}});return t.changes.empty?!1:(e(i.update(t,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function va(i){let e=[],t=-1;for(let n of i.selection.ranges){let r=i.doc.lineAt(n.from),s=i.doc.lineAt(n.to);if(!n.empty&&n.to==s.from&&(s=i.doc.lineAt(n.to-1)),t>=r.number){let o=e[e.length-1];o.to=s.to,o.ranges.push(n)}else e.push({from:r.from,to:s.to,ranges:[n]});t=s.number+1}return e}function B$(i,e,t){if(i.readOnly)return!1;let n=[],r=[];for(let s of va(i)){if(t?s.to==i.doc.length:s.from==0)continue;let o=i.doc.lineAt(t?s.to+1:s.from-1),a=o.length+1;if(t){n.push({from:s.to,to:o.to},{from:s.from,insert:o.text+i.lineBreak});for(let l of s.ranges)r.push(P.range(Math.min(i.doc.length,l.anchor+a),Math.min(i.doc.length,l.head+a)))}else{n.push({from:o.from,to:s.from},{from:s.to,insert:i.lineBreak+o.text});for(let l of s.ranges)r.push(P.range(l.anchor-a,l.head-a))}}return n.length?(e(i.update({changes:n,scrollIntoView:!0,selection:P.create(r,i.selection.mainIndex),userEvent:"move.line"})),!0):!1}var Iw=({state:i,dispatch:e})=>B$(i,e,!1),Nw=({state:i,dispatch:e})=>B$(i,e,!0);function I$(i,e,t){if(i.readOnly)return!1;let n=[];for(let r of va(i))t?n.push({from:r.from,insert:i.doc.slice(r.from,r.to)+i.lineBreak}):n.push({from:r.to,insert:i.lineBreak+i.doc.slice(r.from,r.to)});return e(i.update({changes:n,scrollIntoView:!0,userEvent:"input.copyline"})),!0}var Fw=({state:i,dispatch:e})=>I$(i,e,!1),Hw=({state:i,dispatch:e})=>I$(i,e,!0),Kw=i=>{if(i.state.readOnly)return!1;let{state:e}=i,t=e.changes(va(e).map(({from:r,to:s})=>(r>0?r--:s<e.doc.length&&s++,{from:r,to:s}))),n=Un(e.selection,r=>{let s;if(i.lineWrapping){let o=i.lineBlockAt(r.head),a=i.coordsAtPos(r.head,r.assoc||1);a&&(s=o.bottom+i.documentTop-a.bottom+i.defaultLineHeight/2)}return i.moveVertically(r,!0,s)}).map(t);return i.dispatch({changes:t,selection:n,scrollIntoView:!0,userEvent:"delete.line"}),!0};function Jw(i,e){if(/\(\)|\[\]|\{\}/.test(i.sliceDoc(e-1,e+1)))return{from:e,to:e};let t=ae(i).resolveInner(e),n=t.childBefore(e),r=t.childAfter(e),s;return n&&r&&n.to<=e&&r.from>=e&&(s=n.type.prop(j.closedBy))&&s.indexOf(r.name)>-1&&i.doc.lineAt(n.to).from==i.doc.lineAt(r.from).from&&!/\S/.test(i.sliceDoc(n.to,r.from))?{from:n.to,to:r.from}:null}var g$=N$(!1),eP=N$(!0);function N$(i){return({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(r=>{let{from:s,to:o}=r,a=e.doc.lineAt(s),l=!i&&s==o&&Jw(e,s);i&&(s=o=(o<=a.to?a:e.doc.lineAt(o)).to);let c=new Gi(e,{simulateBreak:s,simulateDoubleBreak:!!l}),O=ma(c,s);for(O==null&&(O=Gt(/^\s*/.exec(e.doc.lineAt(s).text)[0],e.tabSize));o<a.to&&/\s/.test(a.text[o-a.from]);)o++;l?{from:s,to:o}=l:s>a.from&&s<a.from+100&&!/\S/.test(a.text.slice(0,s))&&(s=a.from);let h=["",jn(e,O)];return l&&h.push(jn(e,c.lineIndent(a.from,-1))),{changes:{from:s,to:o,insert:U.of(h)},range:P.cursor(s+1+h[1].length)}});return t(e.update(n,{scrollIntoView:!0,userEvent:"input"})),!0}}function vh(i,e){let t=-1;return i.changeByRange(n=>{let r=[];for(let o=n.from;o<=n.to;){let a=i.doc.lineAt(o);a.number>t&&(n.empty||n.to>a.from)&&(e(a,r,n),t=a.number),o=a.to+1}let s=i.changes(r);return{changes:r,range:P.range(s.mapPos(n.anchor,1),s.mapPos(n.head,1))}})}var tP=({state:i,dispatch:e})=>{if(i.readOnly)return!1;let t=Object.create(null),n=new Gi(i,{overrideIndentation:s=>{let o=t[s];return o??-1}}),r=vh(i,(s,o,a)=>{let l=ma(n,s.from);if(l==null)return;/\S/.test(s.text)||(l=0);let c=/^\s*/.exec(s.text)[0],O=jn(i,l);(c!=O||a.from<s.from+c.length)&&(t[s.from]=l,o.push({from:s.from,to:s.from+c.length,insert:O}))});return r.changes.empty||e(i.update(r,{userEvent:"indent"})),!0},iP=({state:i,dispatch:e})=>i.readOnly?!1:(e(i.update(vh(i,(t,n)=>{n.push({from:t.from,insert:i.facet(An)})}),{userEvent:"input.indent"})),!0),nP=({state:i,dispatch:e})=>i.readOnly?!1:(e(i.update(vh(i,(t,n)=>{let r=/^\s*/.exec(t.text)[0];if(!r)return;let s=Gt(r,i.tabSize),o=0,a=jn(i,Math.max(0,s-is(i)));for(;o<r.length&&o<a.length&&r.charCodeAt(o)==a.charCodeAt(o);)o++;n.push({from:t.from+o,to:t.from+r.length,insert:a.slice(o)})}),{userEvent:"delete.dedent"})),!0),rP=i=>(i.setTabFocusMode(),!0);var sP=[{key:"Ctrl-b",run:k$,shift:Z$,preventDefault:!0},{key:"Ctrl-f",run:T$,shift:V$},{key:"Ctrl-p",run:R$,shift:Y$},{key:"Ctrl-n",run:q$,shift:U$},{key:"Ctrl-a",run:vw,shift:Zw},{key:"Ctrl-e",run:ww,shift:Vw},{key:"Ctrl-d",run:D$},{key:"Ctrl-h",run:Sh},{key:"Ctrl-k",run:Ew},{key:"Ctrl-Alt-h",run:G$},{key:"Ctrl-o",run:Gw},{key:"Ctrl-t",run:Bw},{key:"Ctrl-v",run:Qh}],oP=[{key:"ArrowLeft",run:k$,shift:Z$,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:pw,shift:Tw,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:bw,shift:Cw,preventDefault:!0},{key:"ArrowRight",run:T$,shift:V$,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:mw,shift:zw,preventDefault:!0},{mac:"Cmd-ArrowRight",run:xw,shift:Ww,preventDefault:!0},{key:"ArrowUp",run:R$,shift:Y$,preventDefault:!0},{mac:"Cmd-ArrowUp",run:u$,shift:p$},{mac:"Ctrl-ArrowUp",run:c$,shift:h$},{key:"ArrowDown",run:q$,shift:U$,preventDefault:!0},{mac:"Cmd-ArrowDown",run:d$,shift:m$},{mac:"Ctrl-ArrowDown",run:Qh,shift:f$},{key:"PageUp",run:c$,shift:h$},{key:"PageDown",run:Qh,shift:f$},{key:"Home",run:Sw,shift:_w,preventDefault:!0},{key:"Mod-Home",run:u$,shift:p$},{key:"End",run:Qw,shift:qw,preventDefault:!0},{key:"Mod-End",run:d$,shift:m$},{key:"Enter",run:g$,shift:g$},{key:"Mod-a",run:Aw},{key:"Backspace",run:Sh,shift:Sh},{key:"Delete",run:D$},{key:"Mod-Backspace",mac:"Alt-Backspace",run:G$},{key:"Mod-Delete",mac:"Alt-Delete",run:Mw},{mac:"Mod-Backspace",run:Dw},{mac:"Mod-Delete",run:Lw}].concat(sP.map(i=>({mac:i.key,run:i.run,shift:i.shift}))),F$=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:$w,shift:Xw},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:yw,shift:Rw},{key:"Alt-ArrowUp",run:Iw},{key:"Shift-Alt-ArrowUp",run:Fw},{key:"Alt-ArrowDown",run:Nw},{key:"Shift-Alt-ArrowDown",run:Hw},{key:"Escape",run:Uw},{key:"Mod-Enter",run:eP},{key:"Alt-l",mac:"Ctrl-l",run:jw},{key:"Mod-i",run:Yw,preventDefault:!0},{key:"Mod-[",run:nP},{key:"Mod-]",run:iP},{key:"Mod-Alt-\\",run:tP},{key:"Shift-Mod-k",run:Kw},{key:"Shift-Mod-\\",run:kw},{key:"Mod-/",run:Kv},{key:"Alt-A",run:ew},{key:"Ctrl-m",mac:"Shift-Alt-m",run:rP}].concat(oP);var H$=typeof String.prototype.normalize=="function"?i=>i.normalize("NFKD"):i=>i,Si=class{constructor(e,t,n=0,r=e.length,s,o){this.test=o,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(n,r),this.bufferStart=n,this.normalize=s?a=>s(H$(a)):H$,this.query=this.normalize(t)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return Xe(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let t=Pr(e),n=this.bufferStart+this.bufferPos;this.bufferPos+=Ke(e);let r=this.normalize(t);if(r.length)for(let s=0,o=n;;s++){let a=r.charCodeAt(s),l=this.match(a,o,this.bufferPos+this.bufferStart);if(s==r.length-1){if(l)return this.value=l,this;break}o==n&&s<t.length&&t.charCodeAt(s)==a&&o++}}}match(e,t,n){let r=null;for(let s=0;s<this.matches.length;s+=2){let o=this.matches[s],a=!1;this.query.charCodeAt(o)==e&&(o==this.query.length-1?r={from:this.matches[s+1],to:n}:(this.matches[s]++,a=!0)),a||(this.matches.splice(s,2),s-=2)}return this.query.charCodeAt(0)==e&&(this.query.length==1?r={from:t,to:n}:this.matches.push(1,t)),r&&this.test&&!this.test(r.from,r.to,this.buffer,this.bufferStart)&&(r=null),r}};typeof Symbol<"u"&&(Si.prototype[Symbol.iterator]=function(){return this});var ty={from:-1,to:-1,match:/.*/.exec("")},Rh="gm"+(/x/.unicode==null?"":"u"),ka=class{constructor(e,t,n,r=0,s=e.length){if(this.text=e,this.to=s,this.curLine="",this.done=!1,this.value=ty,/\\[sWDnr]|\n|\r|\[\^/.test(t))return new za(e,t,n,r,s);this.re=new RegExp(t,Rh+(n?.ignoreCase?"i":"")),this.test=n?.test,this.iter=e.iter();let o=e.lineAt(r);this.curLineStart=o.from,this.matchPos=Xa(e,r),this.getLine(this.curLineStart)}getLine(e){this.iter.next(e),this.iter.lineBreak?this.curLine="":(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let t=this.matchPos<=this.to&&this.re.exec(this.curLine);if(t){let n=this.curLineStart+t.index,r=n+t[0].length;if(this.matchPos=Xa(this.text,r+(n==r?1:0)),n==this.curLineStart+this.curLine.length&&this.nextLine(),(n<r||n>this.value.to)&&(!this.test||this.test(n,r,t)))return this.value={from:n,to:r,match:t},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length<this.to)this.nextLine(),e=0;else return this.done=!0,this}}},wh=new WeakMap,Ta=class i{constructor(e,t){this.from=e,this.text=t}get to(){return this.from+this.text.length}static get(e,t,n){let r=wh.get(e);if(!r||r.from>=n||r.to<=t){let a=new i(t,e.sliceString(t,n));return wh.set(e,a),a}if(r.from==t&&r.to==n)return r;let{text:s,from:o}=r;return o>t&&(s=e.sliceString(t,o)+s,o=t),r.to<n&&(s+=e.sliceString(r.to,n)),wh.set(e,new i(o,s)),new i(t,s.slice(t-o,n-o))}},za=class{constructor(e,t,n,r,s){this.text=e,this.to=s,this.done=!1,this.value=ty,this.matchPos=Xa(e,r),this.re=new RegExp(t,Rh+(n?.ignoreCase?"i":"")),this.test=n?.test,this.flat=Ta.get(e,r,this.chunkEnd(r+5e3))}chunkEnd(e){return e>=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,t=this.re.exec(this.flat.text);if(t&&!t[0]&&t.index==e&&(this.re.lastIndex=e+1,t=this.re.exec(this.flat.text)),t){let n=this.flat.from+t.index,r=n+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(n,r,t)))return this.value={from:n,to:r,match:t},this.matchPos=Xa(this.text,r+(n==r?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=Ta.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}};typeof Symbol<"u"&&(ka.prototype[Symbol.iterator]=za.prototype[Symbol.iterator]=function(){return this});function aP(i){try{return new RegExp(i,Rh),!0}catch{return!1}}function Xa(i,e){if(e>=i.length)return e;let t=i.lineAt(e),n;for(;e<t.to&&(n=t.text.charCodeAt(e-t.from))>=56320&&n<57344;)e++;return e}function Ph(i){let e=String(i.state.doc.lineAt(i.state.selection.main.head).number),t=B("input",{class:"cm-textfield",name:"line",value:e}),n=B("form",{class:"cm-gotoLine",onkeydown:s=>{s.keyCode==27?(s.preventDefault(),i.dispatch({effects:os.of(!1)}),i.focus()):s.keyCode==13&&(s.preventDefault(),r())},onsubmit:s=>{s.preventDefault(),r()}},B("label",i.state.phrase("Go to line"),": ",t)," ",B("button",{class:"cm-button",type:"submit"},i.state.phrase("go")),B("button",{name:"close",onclick:()=>{i.dispatch({effects:os.of(!1)}),i.focus()},"aria-label":i.state.phrase("close"),type:"button"},["\xD7"]));function r(){let s=/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(t.value);if(!s)return;let{state:o}=i,a=o.doc.lineAt(o.selection.main.head),[,l,c,O,h]=s,f=O?+O.slice(1):0,u=c?+c:a.number;if(c&&h){let m=u/100;l&&(m=m*(l=="-"?-1:1)+a.number/o.doc.lines),u=Math.round(o.doc.lines*m)}else c&&l&&(u=u*(l=="-"?-1:1)+a.number);let d=o.doc.line(Math.max(1,Math.min(o.doc.lines,u))),p=P.cursor(d.from+Math.max(0,Math.min(f,d.length)));i.dispatch({effects:[os.of(!1),T.scrollIntoView(p.from,{y:"center"})],selection:p}),i.focus()}return{dom:n}}var os=Z.define(),K$=ue.define({create(){return!0},update(i,e){for(let t of e.effects)t.is(os)&&(i=t.value);return i},provide:i=>Ui.from(i,e=>e?Ph:null)}),lP=i=>{let e=Mi(i,Ph);if(!e){let t=[os.of(!0)];i.state.field(K$,!1)==null&&t.push(Z.appendConfig.of([K$,OP])),i.dispatch({effects:t}),e=Mi(i,Ph)}return e&&e.dom.querySelector("input").select(),!0},OP=T.baseTheme({".cm-panel.cm-gotoLine":{padding:"2px 6px 4px",position:"relative","& label":{fontSize:"80%"},"& [name=close]":{position:"absolute",top:"0",bottom:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:"0"}}}),cP={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},iy=X.define({combine(i){return Ze(i,cP,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})}});function ny(i){let e=[pP,dP];return i&&e.push(iy.of(i)),e}var hP=q.mark({class:"cm-selectionMatch"}),fP=q.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function J$(i,e,t,n){return(t==0||i(e.sliceDoc(t-1,t))!=ie.Word)&&(n==e.doc.length||i(e.sliceDoc(n,n+1))!=ie.Word)}function uP(i,e,t,n){return i(e.sliceDoc(t,t+1))==ie.Word&&i(e.sliceDoc(n-1,n))==ie.Word}var dP=me.fromClass(class{constructor(i){this.decorations=this.getDeco(i)}update(i){(i.selectionSet||i.docChanged||i.viewportChanged)&&(this.decorations=this.getDeco(i.view))}getDeco(i){let e=i.state.facet(iy),{state:t}=i,n=t.selection;if(n.ranges.length>1)return q.none;let r=n.main,s,o=null;if(r.empty){if(!e.highlightWordAroundCursor)return q.none;let l=t.wordAt(r.head);if(!l)return q.none;o=t.charCategorizer(r.head),s=t.sliceDoc(l.from,l.to)}else{let l=r.to-r.from;if(l<e.minSelectionLength||l>200)return q.none;if(e.wholeWords){if(s=t.sliceDoc(r.from,r.to),o=t.charCategorizer(r.head),!(J$(o,t,r.from,r.to)&&uP(o,t,r.from,r.to)))return q.none}else if(s=t.sliceDoc(r.from,r.to),!s)return q.none}let a=[];for(let l of i.visibleRanges){let c=new Si(t.doc,s,l.from,l.to);for(;!c.next().done;){let{from:O,to:h}=c.value;if((!o||J$(o,t,O,h))&&(r.empty&&O<=r.from&&h>=r.to?a.push(fP.range(O,h)):(O>=r.to||h<=r.from)&&a.push(hP.range(O,h)),a.length>e.maxMatches))return q.none}}return q.set(a)}},{decorations:i=>i.decorations}),pP=T.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),mP=({state:i,dispatch:e})=>{let{selection:t}=i,n=P.create(t.ranges.map(r=>i.wordAt(r.head)||P.cursor(r.head)),t.mainIndex);return n.eq(t)?!1:(e(i.update({selection:n})),!0)};function gP(i,e){let{main:t,ranges:n}=i.selection,r=i.wordAt(t.head),s=r&&r.from==t.from&&r.to==t.to;for(let o=!1,a=new Si(i.doc,e,n[n.length-1].to);;)if(a.next(),a.done){if(o)return null;a=new Si(i.doc,e,0,Math.max(0,n[n.length-1].from-1)),o=!0}else{if(o&&n.some(l=>l.from==a.value.from))continue;if(s){let l=i.wordAt(a.value.from);if(!l||l.from!=a.value.from||l.to!=a.value.to)continue}return a.value}}var $P=({state:i,dispatch:e})=>{let{ranges:t}=i.selection;if(t.some(s=>s.from===s.to))return mP({state:i,dispatch:e});let n=i.sliceDoc(t[0].from,t[0].to);if(i.selection.ranges.some(s=>i.sliceDoc(s.from,s.to)!=n))return!1;let r=gP(i,n);return r?(e(i.update({selection:i.selection.addRange(P.range(r.from,r.to),!1),effects:T.scrollIntoView(r.to)})),!0):!1},Dn=X.define({combine(i){return Ze(i,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new Xh(e),scrollToMatch:e=>T.scrollIntoView(e)})}});var Ra=class{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||aP(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(t,n)=>n=="n"?` 62 `:n=="r"?"\r":n=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord}create(){return this.regexp?new Th(this):new kh(this)}getCursor(e,t=0,n){let r=e.doc?e:ee.create({doc:e});return n==null&&(n=r.doc.length),this.regexp?En(this,r,t,n):Mn(this,r,t,n)}},qa=class{constructor(e){this.spec=e}};function Mn(i,e,t,n){return new Si(e.doc,i.unquoted,t,n,i.caseSensitive?void 0:r=>r.toLowerCase(),i.wholeWord?yP(e.doc,e.charCategorizer(e.selection.main.head)):void 0)}function yP(i,e){return(t,n,r,s)=>((s>t||s+r.length<n)&&(s=Math.max(0,t-2),r=i.sliceString(s,Math.min(i.length,n+2))),(e(_a(r,t-s))!=ie.Word||e(Ca(r,t-s))!=ie.Word)&&(e(Ca(r,n-s))!=ie.Word||e(_a(r,n-s))!=ie.Word))}var kh=class extends qa{constructor(e){super(e)}nextMatch(e,t,n){let r=Mn(this.spec,e,n,e.doc.length).nextOverlapping();if(r.done){let s=Math.min(e.doc.length,t+this.spec.unquoted.length);r=Mn(this.spec,e,0,s).nextOverlapping()}return r.done||r.value.from==t&&r.value.to==n?null:r.value}prevMatchInRange(e,t,n){for(let r=n;;){let s=Math.max(t,r-1e4-this.spec.unquoted.length),o=Mn(this.spec,e,s,r),a=null;for(;!o.nextOverlapping().done;)a=o.value;if(a)return a;if(s==t)return null;r-=1e4}}prevMatch(e,t,n){let r=this.prevMatchInRange(e,0,t);return r||(r=this.prevMatchInRange(e,Math.max(0,n-this.spec.unquoted.length),e.doc.length)),r&&(r.from!=t||r.to!=n)?r:null}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,t){let n=Mn(this.spec,e,0,e.doc.length),r=[];for(;!n.next().done;){if(r.length>=t)return null;r.push(n.value)}return r}highlight(e,t,n,r){let s=Mn(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(n+this.spec.unquoted.length,e.doc.length));for(;!s.next().done;)r(s.value.from,s.value.to)}};function En(i,e,t,n){return new ka(e.doc,i.search,{ignoreCase:!i.caseSensitive,test:i.wholeWord?QP(e.charCategorizer(e.selection.main.head)):void 0},t,n)}function _a(i,e){return i.slice(ve(i,e,!1),e)}function Ca(i,e){return i.slice(e,ve(i,e))}function QP(i){return(e,t,n)=>!n[0].length||(i(_a(n.input,n.index))!=ie.Word||i(Ca(n.input,n.index))!=ie.Word)&&(i(Ca(n.input,n.index+n[0].length))!=ie.Word||i(_a(n.input,n.index+n[0].length))!=ie.Word)}var Th=class extends qa{nextMatch(e,t,n){let r=En(this.spec,e,n,e.doc.length).next();return r.done&&(r=En(this.spec,e,0,t).next()),r.done?null:r.value}prevMatchInRange(e,t,n){for(let r=1;;r++){let s=Math.max(t,n-r*1e4),o=En(this.spec,e,s,n),a=null;for(;!o.next().done;)a=o.value;if(a&&(s==t||a.from>s+10))return a;if(s==t)return null}}prevMatch(e,t,n){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,n,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(t,n)=>{if(n=="&")return e.match[0];if(n=="$")return"$";for(let r=n.length;r>0;r--){let s=+n.slice(0,r);if(s>0&&s<e.match.length)return e.match[s]+n.slice(r)}return t})}matchAll(e,t){let n=En(this.spec,e,0,e.doc.length),r=[];for(;!n.next().done;){if(r.length>=t)return null;r.push(n.value)}return r}highlight(e,t,n,r){let s=En(this.spec,e,Math.max(0,t-250),Math.min(n+250,e.doc.length));for(;!s.next().done;)r(s.value.from,s.value.to)}},ls=Z.define(),qh=Z.define(),Qi=ue.define({create(i){return new as(zh(i).create(),null)},update(i,e){for(let t of e.effects)t.is(ls)?i=new as(t.value.create(),i.panel):t.is(qh)&&(i=new as(i.query,t.value?_h:null));return i},provide:i=>Ui.from(i,e=>e.panel)});var as=class{constructor(e,t){this.query=e,this.panel=t}},SP=q.mark({class:"cm-searchMatch"}),bP=q.mark({class:"cm-searchMatch cm-searchMatch-selected"}),xP=me.fromClass(class{constructor(i){this.view=i,this.decorations=this.highlight(i.state.field(Qi))}update(i){let e=i.state.field(Qi);(e!=i.startState.field(Qi)||i.docChanged||i.selectionSet||i.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:i,panel:e}){if(!e||!i.spec.valid)return q.none;let{view:t}=this,n=new He;for(let r=0,s=t.visibleRanges,o=s.length;r<o;r++){let{from:a,to:l}=s[r];for(;r<o-1&&l>s[r+1].from-2*250;)l=s[++r].to;i.highlight(t.state,a,l,(c,O)=>{let h=t.state.selection.ranges.some(f=>f.from==c&&f.to==O);n.add(c,O,h?bP:SP)})}return n.finish()}},{decorations:i=>i.decorations});function Os(i){return e=>{let t=e.state.field(Qi,!1);return t&&t.query.spec.valid?i(e,t):oy(e)}}var Wa=Os((i,{query:e})=>{let{to:t}=i.state.selection.main,n=e.nextMatch(i.state,t,t);if(!n)return!1;let r=P.single(n.from,n.to),s=i.state.facet(Dn);return i.dispatch({selection:r,effects:[Ch(i,n),s.scrollToMatch(r.main,i)],userEvent:"select.search"}),sy(i),!0}),Za=Os((i,{query:e})=>{let{state:t}=i,{from:n}=t.selection.main,r=e.prevMatch(t,n,n);if(!r)return!1;let s=P.single(r.from,r.to),o=i.state.facet(Dn);return i.dispatch({selection:s,effects:[Ch(i,r),o.scrollToMatch(s.main,i)],userEvent:"select.search"}),sy(i),!0}),vP=Os((i,{query:e})=>{let t=e.matchAll(i.state,1e3);return!t||!t.length?!1:(i.dispatch({selection:P.create(t.map(n=>P.range(n.from,n.to))),userEvent:"select.search.matches"}),!0)}),wP=({state:i,dispatch:e})=>{let t=i.selection;if(t.ranges.length>1||t.main.empty)return!1;let{from:n,to:r}=t.main,s=[],o=0;for(let a=new Si(i.doc,i.sliceDoc(n,r));!a.next().done;){if(s.length>1e3)return!1;a.value.from==n&&(o=s.length),s.push(P.range(a.value.from,a.value.to))}return e(i.update({selection:P.create(s,o),userEvent:"select.search.matches"})),!0},ey=Os((i,{query:e})=>{let{state:t}=i,{from:n,to:r}=t.selection.main;if(t.readOnly)return!1;let s=e.nextMatch(t,n,n);if(!s)return!1;let o=s,a=[],l,c,O=[];o.from==n&&o.to==r&&(c=t.toText(e.getReplacement(o)),a.push({from:o.from,to:o.to,insert:c}),o=e.nextMatch(t,o.from,o.to),O.push(T.announce.of(t.phrase("replaced match on line $",t.doc.lineAt(n).number)+".")));let h=i.state.changes(a);return o&&(l=P.single(o.from,o.to).map(h),O.push(Ch(i,o)),O.push(t.facet(Dn).scrollToMatch(l.main,i))),i.dispatch({changes:h,selection:l,effects:O,userEvent:"input.replace"}),!0}),PP=Os((i,{query:e})=>{if(i.state.readOnly)return!1;let t=e.matchAll(i.state,1e9).map(r=>{let{from:s,to:o}=r;return{from:s,to:o,insert:e.getReplacement(r)}});if(!t.length)return!1;let n=i.state.phrase("replaced $ matches",t.length)+".";return i.dispatch({changes:t,effects:T.announce.of(n),userEvent:"input.replace.all"}),!0});function _h(i){return i.state.facet(Dn).createPanel(i)}function zh(i,e){var t,n,r,s,o;let a=i.selection.main,l=a.empty||a.to>a.from+100?"":i.sliceDoc(a.from,a.to);if(e&&!l)return e;let c=i.facet(Dn);return new Ra({search:((t=e?.literal)!==null&&t!==void 0?t:c.literal)?l:l.replace(/\n/g,"\\n"),caseSensitive:(n=e?.caseSensitive)!==null&&n!==void 0?n:c.caseSensitive,literal:(r=e?.literal)!==null&&r!==void 0?r:c.literal,regexp:(s=e?.regexp)!==null&&s!==void 0?s:c.regexp,wholeWord:(o=e?.wholeWord)!==null&&o!==void 0?o:c.wholeWord})}function ry(i){let e=Mi(i,_h);return e&&e.dom.querySelector("[main-field]")}function sy(i){let e=ry(i);e&&e==i.root.activeElement&&e.select()}var oy=i=>{let e=i.state.field(Qi,!1);if(e&&e.panel){let t=ry(i);if(t&&t!=i.root.activeElement){let n=zh(i.state,e.query.spec);n.valid&&i.dispatch({effects:ls.of(n)}),t.focus(),t.select()}}else i.dispatch({effects:[qh.of(!0),e?ls.of(zh(i.state,e.query.spec)):Z.appendConfig.of(TP)]});return!0},ay=i=>{let e=i.state.field(Qi,!1);if(!e||!e.panel)return!1;let t=Mi(i,_h);return t&&t.dom.contains(i.root.activeElement)&&i.focus(),i.dispatch({effects:qh.of(!1)}),!0},ly=[{key:"Mod-f",run:oy,scope:"editor search-panel"},{key:"F3",run:Wa,shift:Za,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:Wa,shift:Za,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:ay,scope:"editor search-panel"},{key:"Mod-Shift-l",run:wP},{key:"Mod-Alt-g",run:lP},{key:"Mod-d",run:$P,preventDefault:!0}],Xh=class{constructor(e){this.view=e;let t=this.query=e.state.field(Qi).query.spec;this.commit=this.commit.bind(this),this.searchField=B("input",{value:t.search,placeholder:it(e,"Find"),"aria-label":it(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=B("input",{value:t.replace,placeholder:it(e,"Replace"),"aria-label":it(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=B("input",{type:"checkbox",name:"case",form:"",checked:t.caseSensitive,onchange:this.commit}),this.reField=B("input",{type:"checkbox",name:"re",form:"",checked:t.regexp,onchange:this.commit}),this.wordField=B("input",{type:"checkbox",name:"word",form:"",checked:t.wholeWord,onchange:this.commit});function n(r,s,o){return B("button",{class:"cm-button",name:r,onclick:s,type:"button"},o)}this.dom=B("div",{onkeydown:r=>this.keydown(r),class:"cm-search"},[this.searchField,n("next",()=>Wa(e),[it(e,"next")]),n("prev",()=>Za(e),[it(e,"previous")]),n("select",()=>vP(e),[it(e,"all")]),B("label",null,[this.caseField,it(e,"match case")]),B("label",null,[this.reField,it(e,"regexp")]),B("label",null,[this.wordField,it(e,"by word")]),...e.state.readOnly?[]:[B("br"),this.replaceField,n("replace",()=>ey(e),[it(e,"replace")]),n("replaceAll",()=>PP(e),[it(e,"replace all")])],B("button",{name:"close",onclick:()=>ay(e),"aria-label":it(e,"close"),type:"button"},["\xD7"])])}commit(){let e=new Ra({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:ls.of(e)}))}keydown(e){ag(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?Za:Wa)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),ey(this.view))}update(e){for(let t of e.transactions)for(let n of t.effects)n.is(ls)&&!n.value.eq(this.query)&&this.setQuery(n.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(Dn).top}};function it(i,e){return i.state.phrase(e)}var wa=30,Pa=/[\s\.,:;?!]/;function Ch(i,{from:e,to:t}){let n=i.state.doc.lineAt(e),r=i.state.doc.lineAt(t).to,s=Math.max(n.from,e-wa),o=Math.min(r,t+wa),a=i.state.sliceDoc(s,o);if(s!=n.from){for(let l=0;l<wa;l++)if(!Pa.test(a[l+1])&&Pa.test(a[l])){a=a.slice(l);break}}if(o!=r){for(let l=a.length-1;l>a.length-wa;l--)if(!Pa.test(a[l-1])&&Pa.test(a[l])){a=a.slice(0,l);break}}return T.announce.of(`${i.state.phrase("current match")}. ${a} ${i.state.phrase("on line")} ${n.number}.`)}var kP=T.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),TP=[Qi,lt.low(xP),kP];var Aa=class{constructor(e,t,n,r){this.state=e,this.pos=t,this.explicit=n,this.view=r,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let t=ae(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),n=Math.max(t.from,this.pos-250),r=t.text.slice(n-t.from,this.pos-t.from),s=r.search(yy(e,!1));return s<0?null:{from:n+s,to:this.pos,text:r.slice(s)}}get aborted(){return this.abortListeners==null}addEventListener(e,t,n){e=="abort"&&this.abortListeners&&(this.abortListeners.push(t),n&&n.onDocChange&&(this.abortOnDocChange=!0))}};function Oy(i){let e=Object.keys(i).join(""),t=/\w/.test(e);return t&&(e=e.replace(/\w/g,"")),`[${t?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function zP(i){let e=Object.create(null),t=Object.create(null);for(let{label:r}of i){e[r[0]]=!0;for(let s=1;s<r.length;s++)t[r[s]]=!0}let n=Oy(e)+Oy(t)+"*$";return[new RegExp("^"+n),new RegExp(n)]}function Gh(i){let e=i.map(r=>typeof r=="string"?{label:r}:r),[t,n]=e.every(r=>/^\w+$/.test(r.label))?[/\w*$/,/\w+$/]:zP(e);return r=>{let s=r.matchBefore(n);return s||r.explicit?{from:s?s.from:r.pos,options:e,validFor:t}:null}}function $y(i,e){return t=>{for(let n=ae(t.state).resolveInner(t.pos,-1);n;n=n.parent){if(i.indexOf(n.name)>-1)return null;if(n.type.isTop)break}return e(t)}}var ja=class{constructor(e,t,n,r){this.completion=e,this.source=t,this.match=n,this.score=r}};function Fi(i){return i.selection.main.from}function yy(i,e){var t;let{source:n}=i,r=e&&n[0]!="^",s=n[n.length-1]!="$";return!r&&!s?i:new RegExp(`${r?"^":""}(?:${n})${s?"$":""}`,(t=i.flags)!==null&&t!==void 0?t:i.ignoreCase?"i":"")}var Bh=De.define();function XP(i,e,t,n){let{main:r}=i.selection,s=t-r.from,o=n-r.from;return Object.assign(Object.assign({},i.changeByRange(a=>{if(a!=r&&t!=n&&i.sliceDoc(a.from+s,a.from+o)!=i.sliceDoc(t,n))return{range:a};let l=i.toText(e);return{changes:{from:a.from+s,to:n==r.from?a.to:a.from+o,insert:l},range:P.cursor(a.from+s+l.length)}})),{scrollIntoView:!0,userEvent:"input.complete"})}var cy=new WeakMap;function RP(i){if(!Array.isArray(i))return i;let e=cy.get(i);return e||cy.set(i,e=Gh(i)),e}var Ya=Z.define(),cs=Z.define(),Vh=class{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let t=0;t<e.length;){let n=Xe(e,t),r=Ke(n);this.chars.push(n);let s=e.slice(t,t+r),o=s.toUpperCase();this.folded.push(Xe(o==s?s.toLowerCase():o,0)),t+=r}this.astral=e.length!=this.chars.length}ret(e,t){return this.score=e,this.matched=t,this}match(e){if(this.pattern.length==0)return this.ret(-100,[]);if(e.length<this.pattern.length)return null;let{chars:t,folded:n,any:r,precise:s,byWord:o}=this;if(t.length==1){let y=Xe(e,0),S=Ke(y),v=S==e.length?0:-100;if(y!=t[0])if(y==n[0])v+=-200;else return null;return this.ret(v,[0,S])}let a=e.indexOf(this.pattern);if(a==0)return this.ret(e.length==this.pattern.length?0:-100,[0,this.pattern.length]);let l=t.length,c=0;if(a<0){for(let y=0,S=Math.min(e.length,200);y<S&&c<l;){let v=Xe(e,y);(v==t[c]||v==n[c])&&(r[c++]=y),y+=Ke(v)}if(c<l)return null}let O=0,h=0,f=!1,u=0,d=-1,p=-1,m=/[a-z]/.test(e),g=!0;for(let y=0,S=Math.min(e.length,200),v=0;y<S&&h<l;){let b=Xe(e,y);a<0&&(O<l&&b==t[O]&&(s[O++]=y),u<l&&(b==t[u]||b==n[u]?(u==0&&(d=y),p=y+1,u++):u=0));let x,Q=b<255?b>=48&&b<=57||b>=97&&b<=122?2:b>=65&&b<=90?1:0:(x=Pr(b))!=x.toLowerCase()?1:x!=x.toUpperCase()?2:0;(!y||Q==1&&m||v==0&&Q!=0)&&(t[h]==b||n[h]==b&&(f=!0)?o[h++]=y:o.length&&(g=!1)),v=Q,y+=Ke(b)}return h==l&&o[0]==0&&g?this.result(-100+(f?-200:0),o,e):u==l&&d==0?this.ret(-200-e.length+(p==e.length?0:-100),[0,p]):a>-1?this.ret(-700-e.length,[a,a+this.pattern.length]):u==l?this.ret(-900-e.length,[d,p]):h==l?this.result(-100+(f?-200:0)+-700+(g?0:-1100),o,e):t.length==2?null:this.result((r[0]?-700:0)+-200+-1100,r,e)}result(e,t,n){let r=[],s=0;for(let o of t){let a=o+(this.astral?Ke(Xe(n,o)):1);s&&r[s-1]==o?r[s-1]=a:(r[s++]=o,r[s++]=a)}return this.ret(e-n.length,r)}},Ah=class{constructor(e){this.pattern=e,this.matched=[],this.score=0,this.folded=e.toLowerCase()}match(e){if(e.length<this.pattern.length)return null;let t=e.slice(0,this.pattern.length),n=t==this.pattern?0:t.toLowerCase()==this.folded?-200:null;return n==null?null:(this.matched=[0,t.length],this.score=n+(e.length==this.pattern.length?0:-100),this)}},ke=X.define({combine(i){return Ze(i,{activateOnTyping:!0,activateOnCompletion:()=>!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:qP,filterStrict:!1,compareCompletions:(e,t)=>e.label.localeCompare(t.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,t)=>e&&t,closeOnBlur:(e,t)=>e&&t,icons:(e,t)=>e&&t,tooltipClass:(e,t)=>n=>hy(e(n),t(n)),optionClass:(e,t)=>n=>hy(e(n),t(n)),addToOptions:(e,t)=>e.concat(t),filterStrict:(e,t)=>e||t})}});function hy(i,e){return i?e?i+" "+e:i:e}function qP(i,e,t,n,r,s){let o=i.textDirection==ne.RTL,a=o,l=!1,c="top",O,h,f=e.left-r.left,u=r.right-e.right,d=n.right-n.left,p=n.bottom-n.top;if(a&&f<Math.min(d,u)?a=!1:!a&&u<Math.min(d,f)&&(a=!0),d<=(a?f:u))O=Math.max(r.top,Math.min(t.top,r.bottom-p))-e.top,h=Math.min(400,a?f:u);else{l=!0,h=Math.min(400,(o?e.right:r.right-e.left)-30);let y=r.bottom-e.bottom;y>=p||y>e.top?O=t.bottom-e.top:(c="bottom",O=e.bottom-t.top)}let m=(e.bottom-e.top)/s.offsetHeight,g=(e.right-e.left)/s.offsetWidth;return{style:`${c}: ${O/m}px; max-width: ${h/g}px`,class:"cm-completionInfo-"+(l?o?"left-narrow":"right-narrow":a?"left":"right")}}function _P(i){let e=i.addToOptions.slice();return i.icons&&e.push({render(t){let n=document.createElement("div");return n.classList.add("cm-completionIcon"),t.type&&n.classList.add(...t.type.split(/\s+/g).map(r=>"cm-completionIcon-"+r)),n.setAttribute("aria-hidden","true"),n},position:20}),e.push({render(t,n,r,s){let o=document.createElement("span");o.className="cm-completionLabel";let a=t.displayLabel||t.label,l=0;for(let c=0;c<s.length;){let O=s[c++],h=s[c++];O>l&&o.appendChild(document.createTextNode(a.slice(l,O)));let f=o.appendChild(document.createElement("span"));f.appendChild(document.createTextNode(a.slice(O,h))),f.className="cm-completionMatchedText",l=h}return l<a.length&&o.appendChild(document.createTextNode(a.slice(l))),o},position:50},{render(t){if(!t.detail)return null;let n=document.createElement("span");return n.className="cm-completionDetail",n.textContent=t.detail,n},position:80}),e.sort((t,n)=>t.position-n.position).map(t=>t.render)}function Wh(i,e,t){if(i<=t)return{from:0,to:i};if(e<0&&(e=0),e<=i>>1){let r=Math.floor(e/t);return{from:r*t,to:(r+1)*t}}let n=Math.floor((i-e)/t);return{from:i-(n+1)*t,to:i-n*t}}var jh=class{constructor(e,t,n){this.view=e,this.stateField=t,this.applyCompletion=n,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:l=>this.placeInfo(l),key:this},this.space=null,this.currentClass="";let r=e.state.field(t),{options:s,selected:o}=r.open,a=e.state.facet(ke);this.optionContent=_P(a),this.optionClass=a.optionClass,this.tooltipClass=a.tooltipClass,this.range=Wh(s.length,o,a.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",l=>{let{options:c}=e.state.field(t).open;for(let O=l.target,h;O&&O!=this.dom;O=O.parentNode)if(O.nodeName=="LI"&&(h=/-(\d+)$/.exec(O.id))&&+h[1]<c.length){this.applyCompletion(e,c[+h[1]]),l.preventDefault();return}}),this.dom.addEventListener("focusout",l=>{let c=e.state.field(this.stateField,!1);c&&c.tooltip&&e.state.facet(ke).closeOnBlur&&l.relatedTarget!=e.contentDOM&&e.dispatch({effects:cs.of(null)})}),this.showOptions(s,r.id)}mount(){this.updateSel()}showOptions(e,t){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,t,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(e){var t;let n=e.state.field(this.stateField),r=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),n!=r){let{options:s,selected:o,disabled:a}=n.open;(!r.open||r.open.options!=s)&&(this.range=Wh(s.length,o,e.state.facet(ke).maxRenderedOptions),this.showOptions(s,n.id)),this.updateSel(),a!=((t=r.open)===null||t===void 0?void 0:t.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!a)}}updateTooltipClass(e){let t=this.tooltipClass(e);if(t!=this.currentClass){for(let n of this.currentClass.split(" "))n&&this.dom.classList.remove(n);for(let n of t.split(" "))n&&this.dom.classList.add(n);this.currentClass=t}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),t=e.open;if((t.selected>-1&&t.selected<this.range.from||t.selected>=this.range.to)&&(this.range=Wh(t.options.length,t.selected,this.view.state.facet(ke).maxRenderedOptions),this.showOptions(t.options,e.id)),this.updateSelectedOption(t.selected)){this.destroyInfo();let{completion:n}=t.options[t.selected],{info:r}=n;if(!r)return;let s=typeof r=="string"?document.createTextNode(r):r(n);if(!s)return;"then"in s?s.then(o=>{o&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(o,n)}).catch(o=>qe(this.view.state,o,"completion info")):this.addInfoPane(s,n)}}addInfoPane(e,t){this.destroyInfo();let n=this.info=document.createElement("div");if(n.className="cm-tooltip cm-completionInfo",e.nodeType!=null)n.appendChild(e),this.infoDestroy=null;else{let{dom:r,destroy:s}=e;n.appendChild(r),this.infoDestroy=s||null}this.dom.appendChild(n),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let t=null;for(let n=this.list.firstChild,r=this.range.from;n;n=n.nextSibling,r++)n.nodeName!="LI"||!n.id?r--:r==e?n.hasAttribute("aria-selected")||(n.setAttribute("aria-selected","true"),t=n):n.hasAttribute("aria-selected")&&n.removeAttribute("aria-selected");return t&&WP(this.list,t),t}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let t=this.dom.getBoundingClientRect(),n=this.info.getBoundingClientRect(),r=e.getBoundingClientRect(),s=this.space;if(!s){let o=this.dom.ownerDocument.documentElement;s={left:0,top:0,right:o.clientWidth,bottom:o.clientHeight}}return r.top>Math.min(s.bottom,t.bottom)-10||r.bottom<Math.max(s.top,t.top)+10?null:this.view.state.facet(ke).positionInfo(this.view,t,r,n,s,this.dom)}placeInfo(e){this.info&&(e?(e.style&&(this.info.style.cssText=e.style),this.info.className="cm-tooltip cm-completionInfo "+(e.class||"")):this.info.style.cssText="top: -1e6px")}createListBox(e,t,n){let r=document.createElement("ul");r.id=t,r.setAttribute("role","listbox"),r.setAttribute("aria-expanded","true"),r.setAttribute("aria-label",this.view.state.phrase("Completions")),r.addEventListener("mousedown",o=>{o.target==r&&o.preventDefault()});let s=null;for(let o=n.from;o<n.to;o++){let{completion:a,match:l}=e[o],{section:c}=a;if(c){let f=typeof c=="string"?c:c.name;if(f!=s&&(o>n.from||n.from==0))if(s=f,typeof c!="string"&&c.header)r.appendChild(c.header(c));else{let u=r.appendChild(document.createElement("completion-section"));u.textContent=f}}let O=r.appendChild(document.createElement("li"));O.id=t+"-"+o,O.setAttribute("role","option");let h=this.optionClass(a);h&&(O.className=h);for(let f of this.optionContent){let u=f(a,this.view.state,this.view,l);u&&O.appendChild(u)}}return n.from&&r.classList.add("cm-completionListIncompleteTop"),n.to<e.length&&r.classList.add("cm-completionListIncompleteBottom"),r}destroyInfo(){this.info&&(this.infoDestroy&&this.infoDestroy(),this.info.remove(),this.info=null)}destroy(){this.destroyInfo()}};function CP(i,e){return t=>new jh(t,i,e)}function WP(i,e){let t=i.getBoundingClientRect(),n=e.getBoundingClientRect(),r=t.height/i.offsetHeight;n.top<t.top?i.scrollTop-=(t.top-n.top)/r:n.bottom>t.bottom&&(i.scrollTop+=(n.bottom-t.bottom)/r)}function fy(i){return(i.boost||0)*100+(i.apply?10:0)+(i.info?5:0)+(i.type?1:0)}function ZP(i,e){let t=[],n=null,r=c=>{t.push(c);let{section:O}=c.completion;if(O){n||(n=[]);let h=typeof O=="string"?O:O.name;n.some(f=>f.name==h)||n.push(typeof O=="string"?{name:h}:O)}},s=e.facet(ke);for(let c of i)if(c.hasResult()){let O=c.result.getMatch;if(c.result.filter===!1)for(let h of c.result.options)r(new ja(h,c.source,O?O(h):[],1e9-t.length));else{let h=e.sliceDoc(c.from,c.to),f,u=s.filterStrict?new Ah(h):new Vh(h);for(let d of c.result.options)if(f=u.match(d.label)){let p=d.displayLabel?O?O(d,f.matched):[]:f.matched;r(new ja(d,c.source,p,f.score+(d.boost||0)))}}}if(n){let c=Object.create(null),O=0,h=(f,u)=>{var d,p;return((d=f.rank)!==null&&d!==void 0?d:1e9)-((p=u.rank)!==null&&p!==void 0?p:1e9)||(f.name<u.name?-1:1)};for(let f of n.sort(h))O-=1e5,c[f.name]=O;for(let f of t){let{section:u}=f.completion;u&&(f.score+=c[typeof u=="string"?u:u.name])}}let o=[],a=null,l=s.compareCompletions;for(let c of t.sort((O,h)=>h.score-O.score||l(O.completion,h.completion))){let O=c.completion;!a||a.label!=O.label||a.detail!=O.detail||a.type!=null&&O.type!=null&&a.type!=O.type||a.apply!=O.apply||a.boost!=O.boost?o.push(c):fy(c.completion)>fy(a)&&(o[o.length-1]=c),a=c.completion}return o}var Yh=class i{constructor(e,t,n,r,s,o){this.options=e,this.attrs=t,this.tooltip=n,this.timestamp=r,this.selected=s,this.disabled=o}setSelected(e,t){return e==this.selected||e>=this.options.length?this:new i(this.options,uy(t,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,t,n,r,s,o){if(r&&!o&&e.some(c=>c.isPending))return r.setDisabled();let a=ZP(e,t);if(!a.length)return r&&e.some(c=>c.isPending)?r.setDisabled():null;let l=t.facet(ke).selectOnOpen?0:-1;if(r&&r.selected!=l&&r.selected!=-1){let c=r.options[r.selected].completion;for(let O=0;O<a.length;O++)if(a[O].completion==c){l=O;break}}return new i(a,uy(n,l),{pos:e.reduce((c,O)=>O.hasResult()?Math.min(c,O.from):c,1e8),create:MP,above:s.aboveCursor},r?r.timestamp:Date.now(),l,!1)}map(e){return new i(this.options,this.attrs,Object.assign(Object.assign({},this.tooltip),{pos:e.mapPos(this.tooltip.pos)}),this.timestamp,this.selected,this.disabled)}setDisabled(){return new i(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}},Uh=class i{constructor(e,t,n){this.active=e,this.id=t,this.open=n}static start(){return new i(YP,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(e){let{state:t}=e,n=t.facet(ke),s=(n.override||t.languageDataAt("autocomplete",Fi(t)).map(RP)).map(l=>(this.active.find(O=>O.source==l)||new Kt(l,this.active.some(O=>O.state!=0)?1:0)).update(e,n));s.length==this.active.length&&s.every((l,c)=>l==this.active[c])&&(s=this.active);let o=this.open,a=e.effects.some(l=>l.is(Ih));o&&e.docChanged&&(o=o.map(e.changes)),e.selection||s.some(l=>l.hasResult()&&e.changes.touchesRange(l.from,l.to))||!VP(s,this.active)||a?o=Yh.build(s,t,this.id,o,n,a):o&&o.disabled&&!s.some(l=>l.isPending)&&(o=null),!o&&s.every(l=>!l.isPending)&&s.some(l=>l.hasResult())&&(s=s.map(l=>l.hasResult()?new Kt(l.source,0):l));for(let l of e.effects)l.is(Sy)&&(o=o&&o.setSelected(l.value,this.id));return s==this.active&&o==this.open?this:new i(s,this.id,o)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?AP:jP}};function VP(i,e){if(i==e)return!0;for(let t=0,n=0;;){for(;t<i.length&&!i[t].hasResult();)t++;for(;n<e.length&&!e[n].hasResult();)n++;let r=t==i.length,s=n==e.length;if(r||s)return r==s;if(i[t++].result!=e[n++].result)return!1}}var AP={"aria-autocomplete":"list"},jP={};function uy(i,e){let t={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":i};return e>-1&&(t["aria-activedescendant"]=i+"-"+e),t}var YP=[];function Qy(i,e){if(i.isUserEvent("input.complete")){let n=i.annotation(Bh);if(n&&e.activateOnCompletion(n))return 12}let t=i.isUserEvent("input.type");return t&&e.activateOnTyping?5:t?1:i.isUserEvent("delete.backward")?2:i.selection?8:i.docChanged?16:0}var Kt=class i{constructor(e,t,n=!1){this.source=e,this.state=t,this.explicit=n}hasResult(){return!1}get isPending(){return this.state==1}update(e,t){let n=Qy(e,t),r=this;(n&8||n&16&&this.touches(e))&&(r=new i(r.source,0)),n&4&&r.state==0&&(r=new i(this.source,1)),r=r.updateFor(e,n);for(let s of e.effects)if(s.is(Ya))r=new i(r.source,1,s.value);else if(s.is(cs))r=new i(r.source,0);else if(s.is(Ih))for(let o of s.value)o.source==r.source&&(r=o);return r}updateFor(e,t){return this.map(e.changes)}map(e){return this}touches(e){return e.changes.touchesRange(Fi(e.state))}},Ua=class i extends Kt{constructor(e,t,n,r,s,o){super(e,3,t),this.limit=n,this.result=r,this.from=s,this.to=o}hasResult(){return!0}updateFor(e,t){var n;if(!(t&3))return this.map(e.changes);let r=this.result;r.map&&!e.changes.empty&&(r=r.map(r,e.changes));let s=e.changes.mapPos(this.from),o=e.changes.mapPos(this.to,1),a=Fi(e.state);if(a>o||!r||t&2&&(Fi(e.startState)==this.from||a<this.limit))return new Kt(this.source,t&4?1:0);let l=e.changes.mapPos(this.limit);return UP(r.validFor,e.state,s,o)?new i(this.source,this.explicit,l,r,s,o):r.update&&(r=r.update(r,s,o,new Aa(e.state,a,!1)))?new i(this.source,this.explicit,l,r,r.from,(n=r.to)!==null&&n!==void 0?n:Fi(e.state)):new Kt(this.source,1,this.explicit)}map(e){return e.empty?this:(this.result.map?this.result.map(this.result,e):this.result)?new i(this.source,this.explicit,e.mapPos(this.limit),this.result,e.mapPos(this.from),e.mapPos(this.to,1)):new Kt(this.source,0)}touches(e){return e.changes.touchesRange(this.from,this.to)}};function UP(i,e,t,n){if(!i)return!1;let r=e.sliceDoc(t,n);return typeof i=="function"?i(r,t,n,e):yy(i,!0).test(r)}var Ih=Z.define({map(i,e){return i.map(t=>t.map(e))}}),Sy=Z.define(),Ne=ue.define({create(){return Uh.start()},update(i,e){return i.update(e)},provide:i=>[Nr.from(i,e=>e.tooltip),T.contentAttributes.from(i,e=>e.attrs)]});function Nh(i,e){let t=e.completion.apply||e.completion.label,n=i.state.field(Ne).active.find(r=>r.source==e.source);return n instanceof Ua?(typeof t=="string"?i.dispatch(Object.assign(Object.assign({},XP(i.state,t,n.from,n.to)),{annotations:Bh.of(e.completion)})):t(i,e.completion,n.from,n.to),!0):!1}var MP=CP(Ne,Nh);function Va(i,e="option"){return t=>{let n=t.state.field(Ne,!1);if(!n||!n.open||n.open.disabled||Date.now()-n.open.timestamp<t.state.facet(ke).interactionDelay)return!1;let r=1,s;e=="page"&&(s=jc(t,n.open.tooltip))&&(r=Math.max(2,Math.floor(s.dom.offsetHeight/s.dom.querySelector("li").offsetHeight)-1));let{length:o}=n.open.options,a=n.open.selected>-1?n.open.selected+r*(i?1:-1):i?0:o-1;return a<0?a=e=="page"?0:o-1:a>=o&&(a=e=="page"?o-1:0),t.dispatch({effects:Sy.of(a)}),!0}}var EP=i=>{let e=i.state.field(Ne,!1);return i.state.readOnly||!e||!e.open||e.open.selected<0||e.open.disabled||Date.now()-e.open.timestamp<i.state.facet(ke).interactionDelay?!1:Nh(i,e.open.options[e.open.selected])},dy=i=>i.state.field(Ne,!1)?(i.dispatch({effects:Ya.of(!0)}),!0):!1,DP=i=>{let e=i.state.field(Ne,!1);return!e||!e.active.some(t=>t.state!=0)?!1:(i.dispatch({effects:cs.of(null)}),!0)},Mh=class{constructor(e,t){this.active=e,this.context=t,this.time=Date.now(),this.updates=[],this.done=void 0}},LP=50,GP=1e3,BP=me.fromClass(class{constructor(i){this.view=i,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let e of i.state.field(Ne).active)e.isPending&&this.startQuery(e)}update(i){let e=i.state.field(Ne),t=i.state.facet(ke);if(!i.selectionSet&&!i.docChanged&&i.startState.field(Ne)==e)return;let n=i.transactions.some(s=>{let o=Qy(s,t);return o&8||(s.selection||s.docChanged)&&!(o&3)});for(let s=0;s<this.running.length;s++){let o=this.running[s];if(n||o.context.abortOnDocChange&&i.docChanged||o.updates.length+i.transactions.length>LP&&Date.now()-o.time>GP){for(let a of o.context.abortListeners)try{a()}catch(l){qe(this.view.state,l)}o.context.abortListeners=null,this.running.splice(s--,1)}else o.updates.push(...i.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),i.transactions.some(s=>s.effects.some(o=>o.is(Ya)))&&(this.pendingStart=!0);let r=this.pendingStart?50:t.activateOnTypingDelay;if(this.debounceUpdate=e.active.some(s=>s.isPending&&!this.running.some(o=>o.active.source==s.source))?setTimeout(()=>this.startUpdate(),r):-1,this.composing!=0)for(let s of i.transactions)s.isUserEvent("input.type")?this.composing=2:this.composing==2&&s.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:i}=this.view,e=i.field(Ne);for(let t of e.active)t.isPending&&!this.running.some(n=>n.active.source==t.source)&&this.startQuery(t);this.running.length&&e.open&&e.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(ke).updateSyncTime))}startQuery(i){let{state:e}=this.view,t=Fi(e),n=new Aa(e,t,i.explicit,this.view),r=new Mh(i,n);this.running.push(r),Promise.resolve(i.source(n)).then(s=>{r.context.aborted||(r.done=s||null,this.scheduleAccept())},s=>{this.view.dispatch({effects:cs.of(null)}),qe(this.view.state,s)})}scheduleAccept(){this.running.every(i=>i.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(ke).updateSyncTime))}accept(){var i;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],t=this.view.state.facet(ke),n=this.view.state.field(Ne);for(let r=0;r<this.running.length;r++){let s=this.running[r];if(s.done===void 0)continue;if(this.running.splice(r--,1),s.done){let a=Fi(s.updates.length?s.updates[0].startState:this.view.state),l=Math.min(a,s.done.from+(s.active.explicit?0:1)),c=new Ua(s.active.source,s.active.explicit,l,s.done,s.done.from,(i=s.done.to)!==null&&i!==void 0?i:a);for(let O of s.updates)c=c.update(O,t);if(c.hasResult()){e.push(c);continue}}let o=n.active.find(a=>a.source==s.active.source);if(o&&o.isPending)if(s.done==null){let a=new Kt(s.active.source,0);for(let l of s.updates)a=a.update(l,t);a.isPending||e.push(a)}else this.startQuery(o)}(e.length||n.open&&n.open.disabled)&&this.view.dispatch({effects:Ih.of(e)})}},{eventHandlers:{blur(i){let e=this.view.state.field(Ne,!1);if(e&&e.tooltip&&this.view.state.facet(ke).closeOnBlur){let t=e.open&&jc(this.view,e.open.tooltip);(!t||!t.dom.contains(i.relatedTarget))&&setTimeout(()=>this.view.dispatch({effects:cs.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:Ya.of(!1)}),20),this.composing=0}}}),IP=typeof navigator=="object"&&/Win/.test(navigator.platform),NP=lt.highest(T.domEventHandlers({keydown(i,e){let t=e.state.field(Ne,!1);if(!t||!t.open||t.open.disabled||t.open.selected<0||i.key.length>1||i.ctrlKey&&!(IP&&i.altKey)||i.metaKey)return!1;let n=t.open.options[t.open.selected],r=t.active.find(o=>o.source==n.source),s=n.completion.commitCharacters||r.result.commitCharacters;return s&&s.indexOf(i.key)>-1&&Nh(e,n),!1}})),by=T.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"\xB7\xB7\xB7"',opacity:.5,display:"block",textAlign:"center"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'\u0192'"}},".cm-completionIcon-class":{"&:after":{content:"'\u25CB'"}},".cm-completionIcon-interface":{"&:after":{content:"'\u25CC'"}},".cm-completionIcon-variable":{"&:after":{content:"'\u{1D465}'"}},".cm-completionIcon-constant":{"&:after":{content:"'\u{1D436}'"}},".cm-completionIcon-type":{"&:after":{content:"'\u{1D461}'"}},".cm-completionIcon-enum":{"&:after":{content:"'\u222A'"}},".cm-completionIcon-property":{"&:after":{content:"'\u25A1'"}},".cm-completionIcon-keyword":{"&:after":{content:"'\u{1F511}\uFE0E'"}},".cm-completionIcon-namespace":{"&:after":{content:"'\u25A2'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}}),Eh=class{constructor(e,t,n,r){this.field=e,this.line=t,this.from=n,this.to=r}},Dh=class i{constructor(e,t,n){this.field=e,this.from=t,this.to=n}map(e){let t=e.mapPos(this.from,-1,Pe.TrackDel),n=e.mapPos(this.to,1,Pe.TrackDel);return t==null||n==null?null:new i(this.field,t,n)}},Lh=class i{constructor(e,t){this.lines=e,this.fieldPositions=t}instantiate(e,t){let n=[],r=[t],s=e.doc.lineAt(t),o=/^\s*/.exec(s.text)[0];for(let l of this.lines){if(n.length){let c=o,O=/^\t*/.exec(l)[0].length;for(let h=0;h<O;h++)c+=e.facet(An);r.push(t+c.length-O),l=c+l.slice(O)}n.push(l),t+=l.length+1}let a=this.fieldPositions.map(l=>new Dh(l.field,r[l.line]+l.from,r[l.line]+l.to));return{text:n,ranges:a}}static parse(e){let t=[],n=[],r=[],s;for(let o of e.split(/\r\n?|\n/)){for(;s=/[#$]\{(?:(\d+)(?::([^}]*))?|((?:\\[{}]|[^}])*))\}/.exec(o);){let a=s[1]?+s[1]:null,l=s[2]||s[3]||"",c=-1,O=l.replace(/\\[{}]/g,h=>h[1]);for(let h=0;h<t.length;h++)(a!=null?t[h].seq==a:O&&t[h].name==O)&&(c=h);if(c<0){let h=0;for(;h<t.length&&(a==null||t[h].seq!=null&&t[h].seq<a);)h++;t.splice(h,0,{seq:a,name:O}),c=h;for(let f of r)f.field>=c&&f.field++}r.push(new Eh(c,n.length,s.index,s.index+O.length)),o=o.slice(0,s.index)+l+o.slice(s.index+s[0].length)}o=o.replace(/\\([{}])/g,(a,l,c)=>{for(let O of r)O.line==n.length&&O.from>c&&(O.from--,O.to--);return l}),n.push(o)}return new i(n,r)}},FP=q.widget({widget:new class extends Ge{toDOM(){let i=document.createElement("span");return i.className="cm-snippetFieldPosition",i}ignoreEvent(){return!1}}}),HP=q.mark({class:"cm-snippetField"}),Ln=class i{constructor(e,t){this.ranges=e,this.active=t,this.deco=q.set(e.map(n=>(n.from==n.to?FP:HP).range(n.from,n.to)))}map(e){let t=[];for(let n of this.ranges){let r=n.map(e);if(!r)return null;t.push(r)}return new i(t,this.active)}selectionInsideField(e){return e.ranges.every(t=>this.ranges.some(n=>n.field==this.active&&n.from<=t.from&&n.to>=t.to))}},us=Z.define({map(i,e){return i&&i.map(e)}}),KP=Z.define(),hs=ue.define({create(){return null},update(i,e){for(let t of e.effects){if(t.is(us))return t.value;if(t.is(KP)&&i)return new Ln(i.ranges,t.value)}return i&&e.docChanged&&(i=i.map(e.changes)),i&&e.selection&&!i.selectionInsideField(e.selection)&&(i=null),i},provide:i=>T.decorations.from(i,e=>e?e.deco:q.none)});function Fh(i,e){return P.create(i.filter(t=>t.field==e).map(t=>P.range(t.from,t.to)))}function JP(i){let e=Lh.parse(i);return(t,n,r,s)=>{let{text:o,ranges:a}=e.instantiate(t.state,r),{main:l}=t.state.selection,c={changes:{from:r,to:s==l.from?l.to:s,insert:U.of(o)},scrollIntoView:!0,annotations:n?[Bh.of(n),xe.userEvent.of("input.complete")]:void 0};if(a.length&&(c.selection=Fh(a,0)),a.some(O=>O.field>0)){let O=new Ln(a,0),h=c.effects=[us.of(O)];t.state.field(hs,!1)===void 0&&h.push(Z.appendConfig.of([hs,rk,sk,by]))}t.dispatch(t.state.update(c))}}function xy(i){return({state:e,dispatch:t})=>{let n=e.field(hs,!1);if(!n||i<0&&n.active==0)return!1;let r=n.active+i,s=i>0&&!n.ranges.some(o=>o.field==r+i);return t(e.update({selection:Fh(n.ranges,r),effects:us.of(s?null:new Ln(n.ranges,r)),scrollIntoView:!0})),!0}}var ek=({state:i,dispatch:e})=>i.field(hs,!1)?(e(i.update({effects:us.of(null)})),!0):!1,tk=xy(1),ik=xy(-1);var nk=[{key:"Tab",run:tk,shift:ik},{key:"Escape",run:ek}],py=X.define({combine(i){return i.length?i[0]:nk}}),rk=lt.highest(qn.compute([py],i=>i.facet(py)));function Ue(i,e){return Object.assign(Object.assign({},e),{apply:JP(i)})}var sk=T.domEventHandlers({mousedown(i,e){let t=e.state.field(hs,!1),n;if(!t||(n=e.posAtCoords({x:i.clientX,y:i.clientY}))==null)return!1;let r=t.ranges.find(s=>s.from<=n&&s.to>=n);return!r||r.field==t.active?!1:(e.dispatch({selection:Fh(t.ranges,r.field),effects:us.of(t.ranges.some(s=>s.field>r.field)?new Ln(t.ranges,r.field):null),scrollIntoView:!0}),!0)}});var fs={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},Ni=Z.define({map(i,e){let t=e.mapPos(i,-1,Pe.TrackAfter);return t??void 0}}),Hh=new class extends pt{};Hh.startSide=1;Hh.endSide=-1;var vy=ue.define({create(){return F.empty},update(i,e){if(i=i.map(e.changes),e.selection){let t=e.state.doc.lineAt(e.selection.main.head);i=i.update({filter:n=>n>=t.from&&n<=t.to})}for(let t of e.effects)t.is(Ni)&&(i=i.update({add:[Hh.range(t.value,t.value+1)]}));return i}});function wy(){return[ak,vy]}var Zh="()[]{}<>\xAB\xBB\xBB\xAB\uFF3B\uFF3D\uFF5B\uFF5D";function Py(i){for(let e=0;e<Zh.length;e+=2)if(Zh.charCodeAt(e)==i)return Zh.charAt(e+1);return Pr(i<128?i:i+1)}function ky(i,e){return i.languageDataAt("closeBrackets",e)[0]||fs}var ok=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),ak=T.inputHandler.of((i,e,t,n)=>{if((ok?i.composing:i.compositionStarted)||i.state.readOnly)return!1;let r=i.state.selection.main;if(n.length>2||n.length==2&&Ke(Xe(n,0))==1||e!=r.from||t!=r.to)return!1;let s=Ok(i.state,n);return s?(i.dispatch(s),!0):!1}),lk=({state:i,dispatch:e})=>{if(i.readOnly)return!1;let n=ky(i,i.selection.main.head).brackets||fs.brackets,r=null,s=i.changeByRange(o=>{if(o.empty){let a=ck(i.doc,o.head);for(let l of n)if(l==a&&Ma(i.doc,o.head)==Py(Xe(l,0)))return{changes:{from:o.head-l.length,to:o.head+l.length},range:P.cursor(o.head-l.length)}}return{range:r=o}});return r||e(i.update(s,{scrollIntoView:!0,userEvent:"delete.backward"})),!r},Ty=[{key:"Backspace",run:lk}];function Ok(i,e){let t=ky(i,i.selection.main.head),n=t.brackets||fs.brackets;for(let r of n){let s=Py(Xe(r,0));if(e==r)return s==r?uk(i,r,n.indexOf(r+r+r)>-1,t):hk(i,r,s,t.before||fs.before);if(e==s&&zy(i,i.selection.main.from))return fk(i,r,s)}return null}function zy(i,e){let t=!1;return i.field(vy).between(0,i.doc.length,n=>{n==e&&(t=!0)}),t}function Ma(i,e){let t=i.sliceString(e,e+2);return t.slice(0,Ke(Xe(t,0)))}function ck(i,e){let t=i.sliceString(e-2,e);return Ke(Xe(t,0))==t.length?t:t.slice(1)}function hk(i,e,t,n){let r=null,s=i.changeByRange(o=>{if(!o.empty)return{changes:[{insert:e,from:o.from},{insert:t,from:o.to}],effects:Ni.of(o.to+e.length),range:P.range(o.anchor+e.length,o.head+e.length)};let a=Ma(i.doc,o.head);return!a||/\s/.test(a)||n.indexOf(a)>-1?{changes:{insert:e+t,from:o.head},effects:Ni.of(o.head+e.length),range:P.cursor(o.head+e.length)}:{range:r=o}});return r?null:i.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function fk(i,e,t){let n=null,r=i.changeByRange(s=>s.empty&&Ma(i.doc,s.head)==t?{changes:{from:s.head,to:s.head+t.length,insert:t},range:P.cursor(s.head+t.length)}:n={range:s});return n?null:i.update(r,{scrollIntoView:!0,userEvent:"input.type"})}function uk(i,e,t,n){let r=n.stringPrefixes||fs.stringPrefixes,s=null,o=i.changeByRange(a=>{if(!a.empty)return{changes:[{insert:e,from:a.from},{insert:e,from:a.to}],effects:Ni.of(a.to+e.length),range:P.range(a.anchor+e.length,a.head+e.length)};let l=a.head,c=Ma(i.doc,l),O;if(c==e){if(my(i,l))return{changes:{insert:e+e,from:l},effects:Ni.of(l+e.length),range:P.cursor(l+e.length)};if(zy(i,l)){let f=t&&i.sliceDoc(l,l+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:l,to:l+f.length,insert:f},range:P.cursor(l+f.length)}}}else{if(t&&i.sliceDoc(l-2*e.length,l)==e+e&&(O=gy(i,l-2*e.length,r))>-1&&my(i,O))return{changes:{insert:e+e+e+e,from:l},effects:Ni.of(l+e.length),range:P.cursor(l+e.length)};if(i.charCategorizer(l)(c)!=ie.Word&&gy(i,l,r)>-1&&!dk(i,l,e,r))return{changes:{insert:e+e,from:l},effects:Ni.of(l+e.length),range:P.cursor(l+e.length)}}return{range:s=a}});return s?null:i.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function my(i,e){let t=ae(i).resolveInner(e+1);return t.parent&&t.from==e}function dk(i,e,t,n){let r=ae(i).resolveInner(e,-1),s=n.reduce((o,a)=>Math.max(o,a.length),0);for(let o=0;o<5;o++){let a=i.sliceDoc(r.from,Math.min(r.to,r.from+t.length+s)),l=a.indexOf(t);if(!l||l>-1&&n.indexOf(a.slice(0,l))>-1){let O=r.firstChild;for(;O&&O.from==r.from&&O.to-O.from>t.length+l;){if(i.sliceDoc(O.to-t.length,O.to)==t)return!1;O=O.firstChild}return!0}let c=r.to==e&&r.parent;if(!c)break;r=c}return!1}function gy(i,e,t){let n=i.charCategorizer(e);if(n(i.sliceDoc(e-1,e))!=ie.Word)return e;for(let r of t){let s=e-r.length;if(i.sliceDoc(s,e)==r&&n(i.sliceDoc(s-1,s))!=ie.Word)return s}return-1}function Xy(i={}){return[NP,Ne,ke.of(i),BP,pk,by]}var Kh=[{key:"Ctrl-Space",run:dy},{mac:"Alt-`",run:dy},{key:"Escape",run:DP},{key:"ArrowDown",run:Va(!0)},{key:"ArrowUp",run:Va(!1)},{key:"PageDown",run:Va(!0,"page")},{key:"PageUp",run:Va(!1,"page")},{key:"Enter",run:EP}],pk=lt.highest(qn.computeN([ke],i=>i.facet(ke).defaultKeymap?[Kh]:[]));var Da=class{constructor(e,t,n){this.from=e,this.to=t,this.diagnostic=n}},Hi=class i{constructor(e,t,n){this.diagnostics=e,this.panel=t,this.selected=n}static init(e,t,n){let r=n.facet(ds).markerFilter;r&&(e=r(e,n));let s=e.slice().sort((O,h)=>O.from-h.from||O.to-h.to),o=new He,a=[],l=0;for(let O=0;;){let h=O==s.length?null:s[O];if(!h&&!a.length)break;let f,u;for(a.length?(f=l,u=a.reduce((p,m)=>Math.min(p,m.to),h&&h.from>f?h.from:1e8)):(f=h.from,u=h.to,a.push(h),O++);O<s.length;){let p=s[O];if(p.from==f&&(p.to>p.from||p.to==f))a.push(p),O++,u=Math.min(p.to,u);else{u=Math.min(p.from,u);break}}let d=Pk(a);if(a.some(p=>p.from==p.to||p.from==p.to-1&&n.doc.lineAt(p.from).to==p.from))o.add(f,f,q.widget({widget:new Jh(d),diagnostics:a.slice()}));else{let p=a.reduce((m,g)=>g.markClass?m+" "+g.markClass:m,"");o.add(f,u,q.mark({class:"cm-lintRange cm-lintRange-"+d+p,diagnostics:a.slice(),inclusiveEnd:a.some(m=>m.to>u)}))}l=u;for(let p=0;p<a.length;p++)a[p].to<=l&&a.splice(p--,1)}let c=o.finish();return new i(c,t,Gn(c))}};function Gn(i,e=null,t=0){let n=null;return i.between(t,1e9,(r,s,{spec:o})=>{if(!(e&&o.diagnostics.indexOf(e)<0))if(!n)n=new Da(r,s,e||o.diagnostics[0]);else{if(o.diagnostics.indexOf(n.diagnostic)<0)return!1;n=new Da(n.from,s,n.diagnostic)}}),n}function mk(i,e){let t=e.pos,n=e.end||t,r=i.state.facet(ds).hideOn(i,t,n);if(r!=null)return r;let s=i.startState.doc.lineAt(e.pos);return!!(i.effects.some(o=>o.is(qy))||i.changes.touchesRange(s.from,Math.max(s.to,n)))}function gk(i,e){return i.field(nt,!1)?e:e.concat(Z.appendConfig.of(kk))}var qy=Z.define(),ef=Z.define(),_y=Z.define(),nt=ue.define({create(){return new Hi(q.none,null,null)},update(i,e){if(e.docChanged&&i.diagnostics.size){let t=i.diagnostics.map(e.changes),n=null,r=i.panel;if(i.selected){let s=e.changes.mapPos(i.selected.from,1);n=Gn(t,i.selected.diagnostic,s)||Gn(t,null,s)}!t.size&&r&&e.state.facet(ds).autoPanel&&(r=null),i=new Hi(t,r,n)}for(let t of e.effects)if(t.is(qy)){let n=e.state.facet(ds).autoPanel?t.value.length?ps.open:null:i.panel;i=Hi.init(t.value,n,e.state)}else t.is(ef)?i=new Hi(i.diagnostics,t.value?ps.open:null,i.selected):t.is(_y)&&(i=new Hi(i.diagnostics,i.panel,t.value));return i},provide:i=>[Ui.from(i,e=>e.panel),T.decorations.from(i,e=>e.diagnostics)]});var $k=q.mark({class:"cm-lintRange cm-lintRange-active"});function yk(i,e,t){let{diagnostics:n}=i.state.field(nt),r,s=-1,o=-1;n.between(e-(t<0?1:0),e+(t>0?1:0),(l,c,{spec:O})=>{if(e>=l&&e<=c&&(l==c||(e>l||t>0)&&(e<c||t<0)))return r=O.diagnostics,s=l,o=c,!1});let a=i.state.facet(ds).tooltipFilter;return r&&a&&(r=a(r,i.state)),r?{pos:s,end:o,above:i.state.doc.lineAt(s).to<o,create(){return{dom:Qk(i,r)}}}:null}function Qk(i,e){return B("ul",{class:"cm-tooltip-lint"},e.map(t=>Zy(i,t,!1)))}var Sk=i=>{let e=i.state.field(nt,!1);(!e||!e.panel)&&i.dispatch({effects:gk(i.state,[ef.of(!0)])});let t=Mi(i,ps.open);return t&&t.dom.querySelector(".cm-panel-lint ul").focus(),!0},Ry=i=>{let e=i.state.field(nt,!1);return!e||!e.panel?!1:(i.dispatch({effects:ef.of(!1)}),!0)},bk=i=>{let e=i.state.field(nt,!1);if(!e)return!1;let t=i.state.selection.main,n=e.diagnostics.iter(t.to+1);return!n.value&&(n=e.diagnostics.iter(0),!n.value||n.from==t.from&&n.to==t.to)?!1:(i.dispatch({selection:{anchor:n.from,head:n.to},scrollIntoView:!0}),!0)};var Cy=[{key:"Mod-Shift-m",run:Sk,preventDefault:!0},{key:"F8",run:bk}];var ds=X.define({combine(i){return Object.assign({sources:i.map(e=>e.source).filter(e=>e!=null)},Ze(i.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{needsRefresh:(e,t)=>e?t?n=>e(n)||t(n):e:t}))}});function Wy(i){let e=[];if(i)e:for(let{name:t}of i){for(let n=0;n<t.length;n++){let r=t[n];if(/[a-zA-Z]/.test(r)&&!e.some(s=>s.toLowerCase()==r.toLowerCase())){e.push(r);continue e}}e.push("")}return e}function Zy(i,e,t){var n;let r=t?Wy(e.actions):[];return B("li",{class:"cm-diagnostic cm-diagnostic-"+e.severity},B("span",{class:"cm-diagnosticText"},e.renderMessage?e.renderMessage(i):e.message),(n=e.actions)===null||n===void 0?void 0:n.map((s,o)=>{let a=!1,l=f=>{if(f.preventDefault(),a)return;a=!0;let u=Gn(i.state.field(nt).diagnostics,e);u&&s.apply(i,u.from,u.to)},{name:c}=s,O=r[o]?c.indexOf(r[o]):-1,h=O<0?c:[c.slice(0,O),B("u",c.slice(O,O+1)),c.slice(O+1)];return B("button",{type:"button",class:"cm-diagnosticAction",onclick:l,onmousedown:l,"aria-label":` Action: ${c}${O<0?"":` (access key "${r[o]})"`}.`},h)}),e.source&&B("div",{class:"cm-diagnosticSource"},e.source))}var Jh=class extends Ge{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return B("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}},La=class{constructor(e,t){this.diagnostic=t,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=Zy(e,t,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}},ps=class i{constructor(e){this.view=e,this.items=[];let t=r=>{if(r.keyCode==27)Ry(this.view),this.view.focus();else if(r.keyCode==38||r.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(r.keyCode==40||r.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(r.keyCode==36)this.moveSelection(0);else if(r.keyCode==35)this.moveSelection(this.items.length-1);else if(r.keyCode==13)this.view.focus();else if(r.keyCode>=65&&r.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:s}=this.items[this.selectedIndex],o=Wy(s.actions);for(let a=0;a<o.length;a++)if(o[a].toUpperCase().charCodeAt(0)==r.keyCode){let l=Gn(this.view.state.field(nt).diagnostics,s);l&&s.actions[a].apply(e,l.from,l.to)}}else return;r.preventDefault()},n=r=>{for(let s=0;s<this.items.length;s++)this.items[s].dom.contains(r.target)&&this.moveSelection(s)};this.list=B("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:t,onclick:n}),this.dom=B("div",{class:"cm-panel-lint"},this.list,B("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>Ry(this.view)},"\xD7")),this.update()}get selectedIndex(){let e=this.view.state.field(nt).selected;if(!e)return-1;for(let t=0;t<this.items.length;t++)if(this.items[t].diagnostic==e.diagnostic)return t;return-1}update(){let{diagnostics:e,selected:t}=this.view.state.field(nt),n=0,r=!1,s=null,o=new Set;for(e.between(0,this.view.state.doc.length,(a,l,{spec:c})=>{for(let O of c.diagnostics){if(o.has(O))continue;o.add(O);let h=-1,f;for(let u=n;u<this.items.length;u++)if(this.items[u].diagnostic==O){h=u;break}h<0?(f=new La(this.view,O),this.items.splice(n,0,f),r=!0):(f=this.items[h],h>n&&(this.items.splice(n,h-n),r=!0)),t&&f.diagnostic==t.diagnostic?f.dom.hasAttribute("aria-selected")||(f.dom.setAttribute("aria-selected","true"),s=f):f.dom.hasAttribute("aria-selected")&&f.dom.removeAttribute("aria-selected"),n++}});n<this.items.length&&!(this.items.length==1&&this.items[0].diagnostic.from<0);)r=!0,this.items.pop();this.items.length==0&&(this.items.push(new La(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),r=!0),s?(this.list.setAttribute("aria-activedescendant",s.id),this.view.requestMeasure({key:this,read:()=>({sel:s.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:a,panel:l})=>{let c=l.height/this.list.offsetHeight;a.top<l.top?this.list.scrollTop-=(l.top-a.top)/c:a.bottom>l.bottom&&(this.list.scrollTop+=(a.bottom-l.bottom)/c)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),r&&this.sync()}sync(){let e=this.list.firstChild;function t(){let n=e;e=n.nextSibling,n.remove()}for(let n of this.items)if(n.dom.parentNode==this.list){for(;e!=n.dom;)t();e=n.dom.nextSibling}else this.list.insertBefore(n.dom,e);for(;e;)t()}moveSelection(e){if(this.selectedIndex<0)return;let t=this.view.state.field(nt),n=Gn(t.diagnostics,this.items[e].diagnostic);n&&this.view.dispatch({selection:{anchor:n.from,head:n.to},scrollIntoView:!0,effects:_y.of(n)})}static open(e){return new i(e)}};function xk(i,e='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${e}>${encodeURIComponent(i)}</svg>')`}function Ea(i){return xk(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${i}" fill="none" stroke-width=".7"/>`,'width="6" height="3"')}var vk=T.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:Ea("#d11")},".cm-lintRange-warning":{backgroundImage:Ea("orange")},".cm-lintRange-info":{backgroundImage:Ea("#999")},".cm-lintRange-hint":{backgroundImage:Ea("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}}});function wk(i){return i=="error"?4:i=="warning"?3:i=="info"?2:1}function Pk(i){let e="hint",t=1;for(let n of i){let r=wk(n.severity);r>t&&(t=r,e=n.severity)}return e}var kk=[nt,T.decorations.compute([nt],i=>{let{selected:e,panel:t}=i.field(nt);return!e||!t||e.from==e.to?q.none:q.set([$k.range(e.from,e.to)])}),yg(yk,{hideOn:mk}),vk];var Vy=[bg(),xg(),pg(),S$(),i$(),hg(),dg(),ee.allowMultipleSelections.of(!0),Ig(),r$(s$,{fallback:!0}),O$(),wy(),Xy(),gg(),$g(),mg(),ny(),qn.of([...Ty,...F$,...ly,...w$,...Jg,...Kh,...Cy])];var rf=class i{constructor(e,t,n,r,s,o,a,l,c,O=0,h){this.p=e,this.stack=t,this.state=n,this.reducePos=r,this.pos=s,this.score=o,this.buffer=a,this.bufferBase=l,this.curContext=c,this.lookAhead=O,this.parent=h}toString(){return`[${this.stack.filter((e,t)=>t%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,n=0){let r=e.parser.context;return new i(e,[],t,n,n,0,[],0,r?new Ga(r,r.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let n=e>>19,r=e&65535,{parser:s}=this.p,o=this.reducePos<this.pos-25;o&&this.setLookAhead(this.pos);let a=s.dynamicPrecedence(r);if(a&&(this.score+=a),n==0){this.pushState(s.getGoto(this.state,r,!0),this.reducePos),r<s.minRepeatTerm&&this.storeNode(r,this.reducePos,this.reducePos,o?8:4,!0),this.reduceContext(r,this.reducePos);return}let l=this.stack.length-(n-1)*3-(e&262144?6:0),c=l?this.stack[l-2]:this.p.ranges[0].from,O=this.reducePos-c;O>=2e3&&!(!((t=this.p.parser.nodeSet.types[r])===null||t===void 0)&&t.isAnonymous)&&(c==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=O):this.p.lastBigReductionSize<O&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=c,this.p.lastBigReductionSize=O));let h=l?this.stack[l-1]:0,f=this.bufferBase+this.buffer.length-h;if(r<s.minRepeatTerm||e&131072){let u=s.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(r,c,u,f+4,!0)}if(e&262144)this.state=this.stack[l];else{let u=this.stack[l-3];this.state=s.getGoto(u,r,!0)}for(;this.stack.length>l;)this.stack.pop();this.reduceContext(r,c)}storeNode(e,t,n,r=4,s=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let o=this,a=this.buffer.length;if(a==0&&o.parent&&(a=o.bufferBase-o.parent.bufferBase,o=o.parent),a>0&&o.buffer[a-4]==0&&o.buffer[a-1]>-1){if(t==n)return;if(o.buffer[a-2]>=t){o.buffer[a-2]=n;return}}}if(!s||this.pos==n)this.buffer.push(e,t,n,r);else{let o=this.buffer.length;if(o>0&&this.buffer[o-4]!=0){let a=!1;for(let l=o;l>0&&this.buffer[l-2]>n;l-=4)if(this.buffer[l-1]>=0){a=!0;break}if(a)for(;o>0&&this.buffer[o-2]>n;)this.buffer[o]=this.buffer[o-4],this.buffer[o+1]=this.buffer[o-3],this.buffer[o+2]=this.buffer[o-2],this.buffer[o+3]=this.buffer[o-1],o-=4,r>4&&(r-=4)}this.buffer[o]=e,this.buffer[o+1]=t,this.buffer[o+2]=n,this.buffer[o+3]=r}}shift(e,t,n,r){if(e&131072)this.pushState(e&65535,this.pos);else if(e&262144)this.pos=r,this.shiftContext(t,n),t<=this.p.parser.maxNode&&this.buffer.push(t,n,r,4);else{let s=e,{parser:o}=this.p;(r>this.pos||t<=o.maxNode)&&(this.pos=r,o.stateFlag(s,1)||(this.reducePos=r)),this.pushState(s,n),this.shiftContext(t,n),t<=o.maxNode&&this.buffer.push(t,n,r,4)}}apply(e,t,n,r){e&65536?this.reduce(e):this.shift(e,t,n,r)}useNode(e,t){let n=this.p.reused.length-1;(n<0||this.p.reused[n]!=e)&&(this.p.reused.push(e),n++);let r=this.pos;this.reducePos=this.pos=r+e.length,this.pushState(t,r),this.buffer.push(n,r,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(;t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let n=e.buffer.slice(t),r=e.bufferBase+t;for(;e&&r==e.bufferBase;)e=e.parent;return new i(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,n,r,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let n=e<=this.p.parser.maxNode;n&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,n?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new sf(this);;){let n=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(n==0)return!1;if(!(n&65536))return!0;t.reduce(n)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let r=[];for(let s=0,o;s<t.length;s+=2)(o=t[s+1])!=this.state&&this.p.parser.hasAction(o,e)&&r.push(t[s],o);if(this.stack.length<120)for(let s=0;r.length<8&&s<t.length;s+=2){let o=t[s+1];r.some((a,l)=>l&1&&a==o)||r.push(t[s],o)}t=r}let n=[];for(let r=0;r<t.length&&n.length<4;r+=2){let s=t[r+1];if(s==this.state)continue;let o=this.split();o.pushState(s,this.pos),o.storeNode(0,o.pos,o.pos,4,!0),o.shiftContext(t[r],this.pos),o.reducePos=this.pos,o.score-=200,n.push(o)}return n}forceReduce(){let{parser:e}=this.p,t=e.stateSlot(this.state,5);if(!(t&65536))return!1;if(!e.validAction(this.state,t)){let n=t>>19,r=t&65535,s=this.stack.length-n*3;if(s<0||e.getGoto(this.stack[s],r,!1)<0){let o=this.findForcedReduction();if(o==null)return!1;t=o}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],n=(r,s)=>{if(!t.includes(r))return t.push(r),e.allActions(r,o=>{if(!(o&393216))if(o&65536){let a=(o>>19)-s;if(a>1){let l=o&65535,c=this.stack.length-a*3;if(c>=0&&e.getGoto(this.stack[c],l,!1)>=0)return a<<19|65536|l}}else{let a=n(o,s+1);if(a!=null)return a}})};return n(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;t<this.stack.length;t+=3)if(this.stack[t]!=e.stack[t])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(e){return this.p.parser.dialect.flags[e]}shiftContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,e,this,this.p.stream.reset(t)))}reduceContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,e,this,this.p.stream.reset(t)))}emitContext(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-3)&&this.buffer.push(this.curContext.hash,this.pos,this.pos,-3)}emitLookAhead(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-4)&&this.buffer.push(this.lookAhead,this.pos,this.pos,-4)}updateContext(e){if(e!=this.curContext.context){let t=new Ga(this.curContext.tracker,e);t.hash!=this.curContext.hash&&this.emitContext(),this.curContext=t}}setLookAhead(e){e>this.lookAhead&&(this.emitLookAhead(),this.lookAhead=e)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}},Ga=class{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}},sf=class{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,n=e>>19;n==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(n-1)*3;let r=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=r}},of=class i{constructor(e,t,n){this.stack=e,this.pos=t,this.index=n,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new i(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new i(this.stack,this.pos,this.index)}};function ms(i,e=Uint16Array){if(typeof i!="string")return i;let t=null;for(let n=0,r=0;n<i.length;){let s=0;for(;;){let o=i.charCodeAt(n++),a=!1;if(o==126){s=65535;break}o>=92&&o--,o>=34&&o--;let l=o-32;if(l>=46&&(l-=46,a=!0),s+=l,a)break;s*=46}t?t[r++]=s:t=new e(s)}return t}var Bn=class{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},Ay=new Bn,af=class{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=Ay,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let n=this.range,r=this.rangeIndex,s=this.pos+e;for(;s<n.from;){if(!r)return null;let o=this.ranges[--r];s-=n.from-o.to,n=o}for(;t<0?s>n.to:s>=n.to;){if(r==this.ranges.length-1)return null;let o=this.ranges[++r];s+=o.from-n.to,n=o}return s}clipPos(e){if(e>=this.range.from&&e<this.range.to)return e;for(let t of this.ranges)if(t.to>e)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,n,r;if(t>=0&&t<this.chunk.length)n=this.pos+e,r=this.chunk.charCodeAt(t);else{let s=this.resolveOffset(e,1);if(s==null)return-1;if(n=s,n>=this.chunk2Pos&&n<this.chunk2Pos+this.chunk2.length)r=this.chunk2.charCodeAt(n-this.chunk2Pos);else{let o=this.rangeIndex,a=this.range;for(;a.to<=n;)a=this.ranges[++o];this.chunk2=this.input.chunk(this.chunk2Pos=n),n+this.chunk2.length>a.to&&(this.chunk2=this.chunk2.slice(0,a.to-n)),r=this.chunk2.charCodeAt(0)}}return n>=this.token.lookAhead&&(this.token.lookAhead=n+1),r}acceptToken(e,t=0){let n=t?this.resolveOffset(t,-1):this.pos;if(n==null||n<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=e,this.token.end=n}acceptTokenTo(e,t){this.token.value=e,this.token.end=t}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:e,chunkPos:t}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=e,this.chunk2Pos=t,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let e=this.input.chunk(this.pos),t=this.pos+e.length;this.chunk=t>this.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=Ay,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e<this.range.from;)this.range=this.ranges[--this.rangeIndex];for(;e>=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e<this.chunkPos+this.chunk.length?this.chunkOff=e-this.chunkPos:(this.chunk="",this.chunkOff=0),this.readNext()}return this}read(e,t){if(e>=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let n="";for(let r of this.ranges){if(r.from>=t)break;r.to>e&&(n+=this.input.read(Math.max(r.from,e),Math.min(r.to,t)))}return n}},bi=class{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:n}=t.p;Ey(this.data,e,t,this.id,n.data,n.tokenPrecTable)}};bi.prototype.contextual=bi.prototype.fallback=bi.prototype.extend=!1;var xi=class{constructor(e,t,n){this.precTable=t,this.elseToken=n,this.data=typeof e=="string"?ms(e):e}token(e,t){let n=e.pos,r=0;for(;;){let s=e.next<0,o=e.resolveOffset(1,1);if(Ey(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(s||r++,o==null)break;e.reset(o,e.token)}r&&(e.reset(n,e.token),e.acceptToken(this.elseToken,r))}};xi.prototype.contextual=bi.prototype.fallback=bi.prototype.extend=!1;var ge=class{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}};function Ey(i,e,t,n,r,s){let o=0,a=1<<n,{dialect:l}=t.p.parser;e:for(;a&i[o];){let c=i[o+1];for(let u=o+3;u<c;u+=2)if((i[u+1]&a)>0){let d=i[u];if(l.allows(d)&&(e.token.value==-1||e.token.value==d||zk(d,e.token.value,r,s))){e.acceptToken(d);break}}let O=e.next,h=0,f=i[o+2];if(e.next<0&&f>h&&i[c+f*3-3]==65535){o=i[c+f*3-1];continue e}for(;h<f;){let u=h+f>>1,d=c+u+(u<<1),p=i[d],m=i[d+1]||65536;if(O<p)f=u;else if(O>=m)h=u+1;else{o=i[d+2],e.advance();continue e}}break}}function jy(i,e,t){for(let n=e,r;(r=i[n])!=65535;n++)if(r==t)return n-e;return-1}function zk(i,e,t,n){let r=jy(t,n,e);return r<0||jy(t,n,i)<r}var rt=typeof process<"u"&&process.env&&/\bparse\b/.test(process.env.LOG),tf=null;function Yy(i,e,t){let n=i.cursor(H.IncludeAnonymous);for(n.moveTo(e);;)if(!(t<0?n.childBefore(e):n.childAfter(e)))for(;;){if((t<0?n.to<e:n.from>e)&&!n.type.isError)return t<0?Math.max(0,Math.min(n.to-1,e-25)):Math.min(i.length,Math.max(n.from+1,e+25));if(t<0?n.prevSibling():n.nextSibling())break;if(!n.parent())return t<0?0:i.length}}var lf=class{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?Yy(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?Yy(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(e<this.nextStart)return null;for(;this.fragment&&this.safeTo<=e;)this.nextFragment();if(!this.fragment)return null;for(;;){let t=this.trees.length-1;if(t<0)return this.nextFragment(),null;let n=this.trees[t],r=this.index[t];if(r==n.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let s=n.children[r],o=this.start[t]+n.positions[r];if(o>e)return this.nextStart=o,null;if(s instanceof de){if(o==e){if(o<this.safeFrom)return null;let a=o+s.length;if(a<=this.safeTo){let l=s.prop(j.lookAhead);if(!l||a+l<this.fragment.to)return s}}this.index[t]++,o+s.length>=Math.max(this.safeFrom,e)&&(this.trees.push(s),this.start.push(o),this.index.push(0))}else this.index[t]++,this.nextStart=o+s.length}}},Of=class{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(n=>new Bn)}getActions(e){let t=0,n=null,{parser:r}=e.p,{tokenizers:s}=r,o=r.stateSlot(e.state,3),a=e.curContext?e.curContext.hash:0,l=0;for(let c=0;c<s.length;c++){if(!(1<<c&o))continue;let O=s[c],h=this.tokens[c];if(!(n&&!O.fallback)&&((O.contextual||h.start!=e.pos||h.mask!=o||h.context!=a)&&(this.updateCachedToken(h,O,e),h.mask=o,h.context=a),h.lookAhead>h.end+25&&(l=Math.max(h.lookAhead,l)),h.value!=0)){let f=t;if(h.extended>-1&&(t=this.addActions(e,h.extended,h.end,t)),t=this.addActions(e,h.value,h.end,t),!O.extend&&(n=h,t>f))break}}for(;this.actions.length>t;)this.actions.pop();return l&&e.setLookAhead(l),!n&&e.pos==this.stream.end&&(n=new Bn,n.value=e.p.parser.eofTerm,n.start=n.end=e.pos,t=this.addActions(e,n.value,n.end,t)),this.mainToken=n,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new Bn,{pos:n,p:r}=e;return t.start=n,t.end=Math.min(n+1,r.stream.end),t.value=n==r.stream.end?r.parser.eofTerm:0,t}updateCachedToken(e,t,n){let r=this.stream.clipPos(n.pos);if(t.token(this.stream.reset(r,e),n),e.value>-1){let{parser:s}=n.p;for(let o=0;o<s.specialized.length;o++)if(s.specialized[o]==e.value){let a=s.specializers[o](this.stream.read(e.start,e.end),n);if(a>=0&&n.p.parser.dialect.allows(a>>1)){a&1?e.extended=a>>1:e.value=a>>1;break}}}else e.value=0,e.end=this.stream.clipPos(r+1)}putAction(e,t,n,r){for(let s=0;s<r;s+=3)if(this.actions[s]==e)return r;return this.actions[r++]=e,this.actions[r++]=t,this.actions[r++]=n,r}addActions(e,t,n,r){let{state:s}=e,{parser:o}=e.p,{data:a}=o;for(let l=0;l<2;l++)for(let c=o.stateSlot(s,l?2:1);;c+=3){if(a[c]==65535)if(a[c+1]==1)c=Jt(a,c+2);else{r==0&&a[c+1]==2&&(r=this.putAction(Jt(a,c+2),t,n,r));break}a[c]==t&&(r=this.putAction(Jt(a,c+1),t,n,r))}return r}},cf=class{constructor(e,t,n,r){this.parser=e,this.input=t,this.ranges=r,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.lastBigReductionStart=-1,this.lastBigReductionSize=0,this.bigReductionCount=0,this.stream=new af(t,r),this.tokens=new Of(e,this.stream),this.topTerm=e.top[1];let{from:s}=r[0];this.stacks=[rf.start(this,e.top[0],s)],this.fragments=n.length&&this.stream.end-s>e.bufferLength*4?new lf(n,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,n=this.stacks=[],r,s;if(this.bigReductionCount>300&&e.length==1){let[o]=e;for(;o.forceReduce()&&o.stack.length&&o.stack[o.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let o=0;o<e.length;o++){let a=e[o];for(;;){if(this.tokens.mainToken=null,a.pos>t)n.push(a);else{if(this.advanceStack(a,n,e))continue;{r||(r=[],s=[]),r.push(a);let l=this.tokens.getMainToken(a);s.push(l.value,l.end)}}break}}if(!n.length){let o=r&&Xk(r);if(o)return rt&&console.log("Finish with "+this.stackID(o)),this.stackToTree(o);if(this.parser.strict)throw rt&&r&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+t);this.recovering||(this.recovering=5)}if(this.recovering&&r){let o=this.stoppedAt!=null&&r[0].pos>this.stoppedAt?r[0]:this.runRecovery(r,s,n);if(o)return rt&&console.log("Force-finish "+this.stackID(o)),this.stackToTree(o.forceAll())}if(this.recovering){let o=this.recovering==1?1:this.recovering*3;if(n.length>o)for(n.sort((a,l)=>l.score-a.score);n.length>o;)n.pop();n.some(a=>a.reducePos>t)&&this.recovering--}else if(n.length>1){e:for(let o=0;o<n.length-1;o++){let a=n[o];for(let l=o+1;l<n.length;l++){let c=n[l];if(a.sameState(c)||a.buffer.length>500&&c.buffer.length>500)if((a.score-c.score||a.buffer.length-c.buffer.length)>0)n.splice(l--,1);else{n.splice(o--,1);continue e}}}n.length>12&&n.splice(12,n.length-12)}this.minStackPos=n[0].pos;for(let o=1;o<n.length;o++)n[o].pos<this.minStackPos&&(this.minStackPos=n[o].pos);return null}stopAt(e){if(this.stoppedAt!=null&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}advanceStack(e,t,n){let r=e.pos,{parser:s}=this,o=rt?this.stackID(e)+" -> ":"";if(this.stoppedAt!=null&&r>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let c=e.curContext&&e.curContext.tracker.strict,O=c?e.curContext.hash:0;for(let h=this.fragments.nodeAt(r);h;){let f=this.parser.nodeSet.types[h.type.id]==h.type?s.getGoto(e.state,h.type.id):-1;if(f>-1&&h.length&&(!c||(h.prop(j.contextHash)||0)==O))return e.useNode(h,f),rt&&console.log(o+this.stackID(e)+` (via reuse of ${s.getName(h.type.id)})`),!0;if(!(h instanceof de)||h.children.length==0||h.positions[0]>0)break;let u=h.children[0];if(u instanceof de&&h.positions[0]==0)h=u;else break}}let a=s.stateSlot(e.state,4);if(a>0)return e.reduce(a),rt&&console.log(o+this.stackID(e)+` (via always-reduce ${s.getName(a&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let l=this.tokens.getActions(e);for(let c=0;c<l.length;){let O=l[c++],h=l[c++],f=l[c++],u=c==l.length||!n,d=u?e:e.split(),p=this.tokens.mainToken;if(d.apply(O,h,p?p.start:d.pos,f),rt&&console.log(o+this.stackID(d)+` (via ${O&65536?`reduce of ${s.getName(O&65535)}`:"shift"} for ${s.getName(h)} @ ${r}${d==e?"":", split"})`),u)return!0;d.pos>r?t.push(d):n.push(d)}return!1}advanceFully(e,t){let n=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>n)return Uy(e,t),!0}}runRecovery(e,t,n){let r=null,s=!1;for(let o=0;o<e.length;o++){let a=e[o],l=t[o<<1],c=t[(o<<1)+1],O=rt?this.stackID(a)+" -> ":"";if(a.deadEnd&&(s||(s=!0,a.restart(),rt&&console.log(O+this.stackID(a)+" (restarted)"),this.advanceFully(a,n))))continue;let h=a.split(),f=O;for(let u=0;h.forceReduce()&&u<10&&(rt&&console.log(f+this.stackID(h)+" (via force-reduce)"),!this.advanceFully(h,n));u++)rt&&(f=this.stackID(h)+" -> ");for(let u of a.recoverByInsert(l))rt&&console.log(O+this.stackID(u)+" (via recover-insert)"),this.advanceFully(u,n);this.stream.end>a.pos?(c==a.pos&&(c++,l=0),a.recoverByDelete(l,c),rt&&console.log(O+this.stackID(a)+` (via recover-delete ${this.parser.getName(l)})`),Uy(a,n)):(!r||r.score<a.score)&&(r=a)}return r}stackToTree(e){return e.close(),de.build({buffer:of.create(e),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:e.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(e){let t=(tf||(tf=new WeakMap)).get(e);return t||tf.set(e,t=String.fromCodePoint(this.nextStackID++)),t+e}};function Uy(i,e){for(let t=0;t<e.length;t++){let n=e[t];if(n.pos==i.pos&&n.sameState(i)){e[t].score<i.score&&(e[t]=i);return}}e.push(i)}var hf=class{constructor(e,t,n){this.source=e,this.flags=t,this.disabled=n}allows(e){return!this.disabled||this.disabled[e]==0}},nf=i=>i,In=class{constructor(e){this.start=e.start,this.shift=e.shift||nf,this.reduce=e.reduce||nf,this.reuse=e.reuse||nf,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}},At=class i extends Wn{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let a=0;a<e.repeatNodeCount;a++)t.push("");let n=Object.keys(e.topRules).map(a=>e.topRules[a][1]),r=[];for(let a=0;a<t.length;a++)r.push([]);function s(a,l,c){r[a].push([l,l.deserialize(String(c))])}if(e.nodeProps)for(let a of e.nodeProps){let l=a[0];typeof l=="string"&&(l=j[l]);for(let c=1;c<a.length;){let O=a[c++];if(O>=0)s(O,l,a[c++]);else{let h=a[c+-O];for(let f=-O;f>0;f--)s(a[c++],l,h);c++}}}this.nodeSet=new Fr(t.map((a,l)=>_e.define({name:l>=this.minRepeatTerm?void 0:a,id:l,props:r[l],top:n.indexOf(l)>-1,error:l==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(l)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=1024;let o=ms(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let a=0;a<this.specializerSpecs.length;a++)this.specialized[a]=this.specializerSpecs[a].term;this.specializers=this.specializerSpecs.map(My),this.states=ms(e.states,Uint32Array),this.data=ms(e.stateData),this.goto=ms(e.goto),this.maxTerm=e.maxTerm,this.tokenizers=e.tokenizers.map(a=>typeof a=="number"?new bi(o,a):a),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,n){let r=new cf(this,e,t,n);for(let s of this.wrappers)r=s(r,e,t,n);return r}getGoto(e,t,n=!1){let r=this.goto;if(t>=r[0])return-1;for(let s=r[t+1];;){let o=r[s++],a=o&1,l=r[s++];if(a&&n)return l;for(let c=s+(o>>1);s<c;s++)if(r[s]==e)return l;if(a)return-1}}hasAction(e,t){let n=this.data;for(let r=0;r<2;r++)for(let s=this.stateSlot(e,r?2:1),o;;s+=3){if((o=n[s])==65535)if(n[s+1]==1)o=n[s=Jt(n,s+2)];else{if(n[s+1]==2)return Jt(n,s+2);break}if(o==t||o==0)return Jt(n,s+1)}return 0}stateSlot(e,t){return this.states[e*6+t]}stateFlag(e,t){return(this.stateSlot(e,0)&t)>0}validAction(e,t){return!!this.allActions(e,n=>n==t?!0:null)}allActions(e,t){let n=this.stateSlot(e,4),r=n?t(n):void 0;for(let s=this.stateSlot(e,1);r==null;s+=3){if(this.data[s]==65535)if(this.data[s+1]==1)s=Jt(this.data,s+2);else break;r=t(Jt(this.data,s+1))}return r}nextStates(e){let t=[];for(let n=this.stateSlot(e,1);;n+=3){if(this.data[n]==65535)if(this.data[n+1]==1)n=Jt(this.data,n+2);else break;if(!(this.data[n+2]&1)){let r=this.data[n+1];t.some((s,o)=>o&1&&s==r)||t.push(this.data[n],r)}}return t}configure(e){let t=Object.assign(Object.create(i.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let n=this.topRules[e.top];if(!n)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=n}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(n=>{let r=e.tokenizers.find(s=>s.from==n);return r?r.to:n})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((n,r)=>{let s=e.specializers.find(a=>a.from==n.external);if(!s)return n;let o=Object.assign(Object.assign({},n),{external:s.to});return t.specializers[r]=My(o),o})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),e.bufferLength!=null&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return t==null?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),n=t.map(()=>!1);if(e)for(let s of e.split(" ")){let o=t.indexOf(s);o>=0&&(n[o]=!0)}let r=null;for(let s=0;s<t.length;s++)if(!n[s])for(let o=this.dialects[t[s]],a;(a=this.data[o++])!=65535;)(r||(r=new Uint8Array(this.maxTerm+1)))[a]=1;return new hf(e,n,r)}static deserialize(e){return new i(e)}};function Jt(i,e){return i[e]|i[e+1]<<16}function Xk(i){let e=null;for(let t of i){let n=t.p.stoppedAt;(t.pos==t.p.stream.end||n!=null&&t.pos>n)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.score<t.score)&&(e=t)}return e}function My(i){if(i.external){let e=i.extend?1:0;return(t,n)=>i.external(t,n)<<1|e}return i.get}var Rk=1,qk=2,_k=263,Ck=3,Wk=264,Dy=265,Zk=266,Vk=4,Ak=5,jk=6,Yk=7,Ly=8,Uk=9,Mk=10,Ek=11,Dk=12,Lk=13,Gk=14,Bk=15,Ik=16,Nk=17,Fk=18,Hk=19,Kk=20,Jk=21,e2=22,t2=23,i2=24,n2=25,r2=26,s2=27,o2=28,a2=29,l2=30,O2=31,c2=32,h2=33,f2=34,u2=35,d2=36,p2=37,m2=38,g2=39,$2=40,y2=41,Q2=42,S2=43,b2=44,x2=45,v2=46,w2=47,P2=48,k2=49,T2=50,z2=51,X2=52,R2=53,q2=54,_2=55,C2=56,W2=57,Z2=58,V2=59,A2=60,j2=61,ff=62,Y2=63,U2=64,M2=65,E2={abstract:Vk,and:Ak,array:jk,as:Yk,true:Ly,false:Ly,break:Uk,case:Mk,catch:Ek,clone:Dk,const:Lk,continue:Gk,declare:Ik,default:Bk,do:Nk,echo:Fk,else:Hk,elseif:Kk,enddeclare:Jk,endfor:e2,endforeach:t2,endif:i2,endswitch:n2,endwhile:r2,enum:s2,extends:o2,final:a2,finally:l2,fn:O2,for:c2,foreach:h2,from:f2,function:u2,global:d2,goto:p2,if:m2,implements:g2,include:$2,include_once:y2,instanceof:Q2,insteadof:S2,interface:b2,list:x2,match:v2,namespace:w2,new:P2,null:k2,or:T2,print:z2,require:X2,require_once:R2,return:q2,switch:_2,throw:C2,trait:W2,try:Z2,unset:V2,use:A2,var:j2,public:ff,private:ff,protected:ff,while:Y2,xor:U2,yield:M2,__proto__:null};function Gy(i){let e=E2[i.toLowerCase()];return e??-1}function By(i){return i==9||i==10||i==13||i==32}function Iy(i){return i>=97&&i<=122||i>=65&&i<=90}function gs(i){return i==95||i>=128||Iy(i)}function uf(i){return i>=48&&i<=55||i>=97&&i<=102||i>=65&&i<=70}var D2={int:!0,integer:!0,bool:!0,boolean:!0,float:!0,double:!0,real:!0,string:!0,array:!0,object:!0,unset:!0,__proto__:null},L2=new ge(i=>{if(i.next==40){i.advance();let e=0;for(;By(i.peek(e));)e++;let t="",n;for(;Iy(n=i.peek(e));)t+=String.fromCharCode(n),e++;for(;By(i.peek(e));)e++;i.peek(e)==41&&D2[t.toLowerCase()]&&i.acceptToken(Rk)}else if(i.next==60&&i.peek(1)==60&&i.peek(2)==60){for(let n=0;n<3;n++)i.advance();for(;i.next==32||i.next==9;)i.advance();let e=i.next==39;if(e&&i.advance(),!gs(i.next))return;let t=String.fromCharCode(i.next);for(;i.advance(),!(!gs(i.next)&&!(i.next>=48&&i.next<=55));)t+=String.fromCharCode(i.next);if(e){if(i.next!=39)return;i.advance()}if(i.next!=10&&i.next!=13)return;for(;;){let n=i.next==10||i.next==13;if(i.advance(),i.next<0)return;if(n){for(;i.next==32||i.next==9;)i.advance();let r=!0;for(let s=0;s<t.length;s++){if(i.next!=t.charCodeAt(s)){r=!1;break}i.advance()}if(r)return i.acceptToken(qk)}}}}),G2=new ge(i=>{i.next<0&&i.acceptToken(Zk)}),B2=new ge((i,e)=>{i.next==63&&e.canShift(Dy)&&i.peek(1)==62&&i.acceptToken(Dy)});function I2(i){let e=i.peek(1);if(e==110||e==114||e==116||e==118||e==101||e==102||e==92||e==36||e==34||e==123)return 2;if(e>=48&&e<=55){let t=2,n;for(;t<5&&(n=i.peek(t))>=48&&n<=55;)t++;return t}if(e==120&&uf(i.peek(2)))return uf(i.peek(3))?4:3;if(e==117&&i.peek(2)==123)for(let t=3;;t++){let n=i.peek(t);if(n==125)return t==2?0:t+1;if(!uf(n))break}return 0}var N2=new ge((i,e)=>{let t=!1;for(;!(i.next==34||i.next<0||i.next==36&&(gs(i.peek(1))||i.peek(1)==123)||i.next==123&&i.peek(1)==36);t=!0){if(i.next==92){let n=I2(i);if(n){if(t)break;return i.acceptToken(Ck,n)}}else if(!t&&(i.next==91||i.next==45&&i.peek(1)==62&&gs(i.peek(2))||i.next==63&&i.peek(1)==45&&i.peek(2)==62&&gs(i.peek(3)))&&e.canShift(Wk))break;i.advance()}t&&i.acceptToken(_k)}),F2=_t({"Visibility abstract final static":$.modifier,"for foreach while do if else elseif switch try catch finally return throw break continue default case":$.controlKeyword,"endif endfor endforeach endswitch endwhile declare enddeclare goto match":$.controlKeyword,"and or xor yield unset clone instanceof insteadof":$.operatorKeyword,"function fn class trait implements extends const enum global interface use var":$.definitionKeyword,"include include_once require require_once namespace":$.moduleKeyword,"new from echo print array list as":$.keyword,null:$.null,Boolean:$.bool,VariableName:$.variableName,"NamespaceName/...":$.namespace,"NamedType/...":$.typeName,Name:$.name,"CallExpression/Name":$.function($.variableName),"LabelStatement/Name":$.labelName,"MemberExpression/Name":$.propertyName,"MemberExpression/VariableName":$.special($.propertyName),"ScopedExpression/ClassMemberName/Name":$.propertyName,"ScopedExpression/ClassMemberName/VariableName":$.special($.propertyName),"CallExpression/MemberExpression/Name":$.function($.propertyName),"CallExpression/ScopedExpression/ClassMemberName/Name":$.function($.propertyName),"MethodDeclaration/Name":$.function($.definition($.variableName)),"FunctionDefinition/Name":$.function($.definition($.variableName)),"ClassDeclaration/Name":$.definition($.className),UpdateOp:$.updateOperator,ArithOp:$.arithmeticOperator,LogicOp:$.logicOperator,BitOp:$.bitwiseOperator,CompareOp:$.compareOperator,ControlOp:$.controlOperator,AssignOp:$.definitionOperator,"$ ConcatOp":$.operator,LineComment:$.lineComment,BlockComment:$.blockComment,Integer:$.integer,Float:$.float,String:$.string,ShellExpression:$.special($.string),"=> ->":$.punctuation,"( )":$.paren,"#[ [ ]":$.squareBracket,"${ { }":$.brace,"-> ?->":$.derefOperator,", ; :: : \\":$.separator,"PhpOpen PhpClose":$.processingInstruction}),H2={__proto__:null,static:311,STATIC:311,class:333,CLASS:333},Ny=At.deserialize({version:14,states:"$FvQ`OWOOQhQaOOP%oO`OOOOO#t'#H_'#H_O%tO#|O'#DtOOO#u'#Dw'#DwQ&SOWO'#DwO&XO$VOOOOQ#u'#Dx'#DxO&lQaO'#D|O(mQdO'#E}O(tQdO'#EQO*kQaO'#EWO,zQ`O'#ETO-PQ`O'#E^O/nQaO'#E^O/uQ`O'#EfO/zQ`O'#EoO*kQaO'#EoO0VQ`O'#HhO0[Q`O'#E{O0[Q`O'#E{OOQS'#Ic'#IcO0aQ`O'#EvOOQS'#IZ'#IZO2oQdO'#IWO6tQeO'#FUO*kQaO'#FeO*kQaO'#FfO*kQaO'#FgO*kQaO'#FhO*kQaO'#FhO*kQaO'#FkOOQO'#Id'#IdO7RQ`O'#FqOOQO'#Hi'#HiO7ZQ`O'#HOO7uQ`O'#FlO8QQ`O'#H]O8]Q`O'#FvO8eQaO'#FwO*kQaO'#GVO*kQaO'#GYO8}OrO'#G]OOQS'#Iq'#IqOOQS'#Ip'#IpOOQS'#IW'#IWO,zQ`O'#GdO,zQ`O'#GfO,zQ`O'#GkOhQaO'#GmO9UQ`O'#GnO9ZQ`O'#GqO9`Q`O'#GtO9eQeO'#GuO9eQeO'#GvO9eQeO'#GwO9oQ`O'#GxO9tQ`O'#GzO9yQaO'#G{O<YQ`O'#G|O<_Q`O'#G}O<dQ`O'#G}O9oQ`O'#HOO<iQ`O'#HQO<nQ`O'#HRO<sQ`O'#HSO<xQ`O'#HVO=TQ`O'#HWO9yQaO'#H[OOQ#u'#IV'#IVOOQ#u'#Ha'#HaQhQaOOO=fQ`O'#HPO7pQ`O'#HPO=kO#|O'#DrPOOO)CCw)CCwOOO#t-E;]-E;]OOO#u,5:c,5:cOOO#u'#H`'#H`O&XO$VOOO=vQ$VO'#IUOOOO'#IU'#IUQOOOOOOOQ#y,5:h,5:hO=}QaO,5:hOOQ#u,5:j,5:jO@eQaO,5:mO@lQaO,5;UO*kQaO,5;UO@sQ`O,5;VOCbQaO'#EsOOQS,5;^,5;^OCiQ`O,5;jOOQP'#F]'#F]O*kQaO,5;qO*kQaO,5;qO*kQaO,5;qO*kQaO,5;qO*kQaO,5;qO*kQaO,5;qO*kQaO,5;qO*kQaO,5;qO*kQaO,5;qO*kQaO,5;qO*kQaO,5;qO*kQaO,5;qO*kQaO,5;qO*kQaO,5;qO*kQaO,5;qO*kQaO,5;qOOQ#u'#Im'#ImOOQS,5<q,5<qOOQ#u,5:l,5:lOEbQ`O,5:rOEiQdO'#E}OF]Q`O'#FlOFeQ`O'#FlOFmQ`O,5:oOFrQaO'#E_OOQS,5:x,5:xOHyQ`O'#I]O9yQaO'#EaO9yQaO'#I]OOQS'#I]'#I]OIQQ`O'#I[OIYQ`O,5:xO-UQaO,5:xOI_QaO'#EgOOQS,5;Q,5;QOOQS,5;Z,5;ZOIiQ`O,5;ZOOQO,5>S,5>SOJ[QdO,5;gOOQO-E;f-E;fOL^Q`O,5;gOLcQpO,5;bO0aQ`O'#EyOLkQtO'#E}OOQS'#Ez'#EzOOQS'#Ib'#IbOM`QaO,5:wO*kQaO,5;nOOQS,5;p,5;pO*kQaO,5;pOMgQdO,5<POMwQdO,5<QONXQdO,5<RONiQdO,5<SO!!sQdO,5<SO!!zQdO,5<VO!#[Q`O'#FrO!#gQ`O'#IgO!#oQ`O,5<]OOQO-E;g-E;gO!#tQ`O'#IoO<_Q`O,5=iO!#|Q`O,5=iO9oQ`O,5=jO!$RQ`O,5=nO!$WQ`O,5=kO!$]Q`O,5=kO!$bQ`O'#FnO!$xQ`O,5<WO!%TQ`O,5<WO!%WQ`O,5?ZO!%]Q`O,5<WO!%eQ`O,5<bO!%mQdO'#GPO!%{QdO'#InO!&WQdO,5=wO!&`Q`O,5<bO!%WQ`O,5<bO!&hQdO,5<cO!&xQ`O,5<cO!'lQdO,5<qO!)nQdO,5<tO!*OOrO'#HsOOOQ'#It'#ItO*kQaO'#GbOOOQ'#Hs'#HsO!*pOrO,5<wOOQS,5<w,5<wO!*wQaO,5=OO!+OQ`O,5=QO!+WQeO,5=VO!+bQ`O,5=XO!+gQaO'#GoO!+WQeO,5=YO9yQaO'#GrO!+WQeO,5=]O!&WQdO,5=`O(tQdO,5=aOOQ#u,5=a,5=aO(tQdO,5=bOOQ#u,5=b,5=bO(tQdO,5=cOOQ#u,5=c,5=cO!+nQ`O,5=dO!+vQ`O,5=fO!+{QdO'#IvOOQS'#Iv'#IvO!&WQdO,5=gO>UQaO,5=hO!-eQ`O'#F}O!-jQdO'#IlO!&WQdO,5=iOOQ#u,5=j,5=jO!-uQ`O,5=lO!-xQ`O,5=mO!-}Q`O,5=nO!.YQdO,5=qOOQ#u,5=q,5=qO!.eQ`O,5=rO!.eQ`O,5=rO!.mQdO'#IwO!.{Q`O'#HXO!&WQdO,5=rO!/ZQ`O,5=rO!/fQdO'#IYO!&WQdO,5=vOOQ#u-E;_-E;_O!1RQ`O,5=kOOO#u,5:^,5:^O!1^O#|O,5:^OOO#u-E;^-E;^OOOO,5>p,5>pOOQ#y1G0S1G0SO!1fQ`O1G0XO*kQaO1G0XO!2xQ`O1G0pOOQS1G0p1G0pO!4[Q`O1G0pOOQS'#I_'#I_O*kQaO'#I_OOQS1G0q1G0qO!4cQ`O'#IaO!7lQ`O'#E}O!7yQaO'#EuOOQO'#Ia'#IaO!8TQ`O'#I`O!8]Q`O,5;_OOQS'#FQ'#FQOOQS1G1U1G1UO!8bQdO1G1]O!:dQdO1G1]O!<PQdO1G1]O!=lQdO1G1]O!?XQdO1G1]O!@tQdO1G1]O!BaQdO1G1]O!C|QdO1G1]O!EiQdO1G1]O!GUQdO1G1]O!HqQdO1G1]O!J^QdO1G1]O!KyQdO1G1]O!MfQdO1G1]O# RQdO1G1]O#!nQdO1G1]OOQT1G0^1G0^O!%WQ`O,5<WO#$ZQaO'#EXOOQS1G0Z1G0ZO#$bQ`O,5:yOFuQaO,5:yO#$gQaO,5:}O#$nQdO,5:{O#&jQdO,5>wO#(fQaO'#HdO#(vQ`O,5>vOOQS1G0d1G0dO#)OQ`O1G0dO#)TQ`O'#I^O#*mQ`O'#I^O#*uQ`O,5;ROIbQaO,5;ROOQS1G0u1G0uPOQO'#E}'#E}O#+fQdO1G1RO0aQ`O'#HgO#-hQtO,5;cO#.YQaO1G0|OOQS,5;e,5;eO#0iQtO,5;gO#0vQdO1G0cO*kQaO1G0cO#2cQdO1G1YO#4OQdO1G1[OOQO,5<^,5<^O#4`Q`O'#HjO#4nQ`O,5?ROOQO1G1w1G1wO#4vQ`O,5?ZO!&WQdO1G3TO<_Q`O1G3TOOQ#u1G3U1G3UO#4{Q`O1G3YO!1RQ`O1G3VO#5WQ`O1G3VO#5]QpO'#FoO#5kQ`O'#FoO#5{Q`O'#FoO#6WQ`O'#FoO#6`Q`O'#FsO#6eQ`O'#FtOOQO'#If'#IfO#6lQ`O'#IeO#6tQ`O,5<YOOQS1G1r1G1rO0aQ`O1G1rO#6yQ`O1G1rO#7OQ`O1G1rO!%WQ`O1G4uO#7ZQdO1G4uO!%WQ`O1G1rO#7iQ`O1G1|O!%WQ`O1G1|O9yQaO,5<kO#7qQdO'#HqO#8PQdO,5?YOOQ#u1G3c1G3cO*kQaO1G1|O0aQ`O1G1|O#8[QdO1G1}O7RQ`O'#FyO7RQ`O'#FzO#:nQ`O'#F{OOQS1G1}1G1}O!-xQ`O1G1}O!1UQ`O1G1}O!1RQ`O1G1}O#;eO`O,5<xO#;jO`O,5<xO#;uO!bO,5<yO#<TQ`O,5<|OOOQ-E;q-E;qOOQS1G2c1G2cO#<[QaO'#GeO#<uQ$VO1G2jO#AuQ`O1G2jO#BQQ`O'#GgO#B]Q`O'#GjOOQ#u1G2l1G2lO#BhQ`O1G2lOOQ#u'#Gl'#GlOOQ#u'#Iu'#IuOOQ#u1G2q1G2qO#BmQ`O1G2qO,zQ`O1G2sO#BrQaO,5=ZO#ByQ`O,5=ZOOQ#u1G2t1G2tO#COQ`O1G2tO#CTQ`O,5=^OOQ#u1G2w1G2wO#DgQ`O1G2wOOQ#u1G2z1G2zOOQ#u1G2{1G2{OOQ#u1G2|1G2|OOQ#u1G2}1G2}O#DlQ`O'#HxO9oQ`O'#HxO#DqQ$VO1G3OO#IwQ`O1G3QO9yQaO'#HwO#I|QdO,5=[OOQ#u1G3R1G3RO#JXQ`O1G3SO9yQaO,5<iO#J^QdO'#HpO#JlQdO,5?WOOQ#u1G3T1G3TOOQ#u1G3W1G3WO!-xQ`O1G3WOOQ#u1G3X1G3XO#JwQ`O'#HTOOQ#u1G3Y1G3YO#KqQ`O1G3YO0aQ`O1G3YOOQ#u1G3]1G3]O!&WQdO1G3^O#KvQ`O1G3^O#LOQdO'#HzO#LaQdO,5?cO#LlQ`O,5?cO#LqQ`O'#HYO7RQ`O'#HYO#L|Q`O'#IxO#MUQ`O,5=sOOQ#u1G3^1G3^O!.eQ`O1G3^O!.eQ`O1G3^O#MZQeO'#HbO#MkQdO,5>tOOQ#u1G3b1G3bOOQ#u1G3V1G3VO!-xQ`O1G3VO!1UQ`O1G3VOOO#u1G/x1G/xO*kQaO7+%sO#MyQdO7+%sOOQS7+&[7+&[O$ fQ`O,5>yO>UQaO,5;`O$ mQ`O,5;aO$#SQaO'#HfO$#^Q`O,5>zOOQS1G0y1G0yO$#fQ`O'#EYO$#kQ`O'#IXO$#sQ`O,5:sOOQS1G0e1G0eO$#xQ`O1G0eO$#}Q`O1G0iO9yQaO1G0iOOQO,5>O,5>OOOQO-E;b-E;bOOQS7+&O7+&OO>UQaO,5;SO$%dQaO'#HeO$%nQ`O,5>xOOQS1G0m1G0mO$%vQ`O1G0mOOQS,5>R,5>ROOQS-E;e-E;eO$%{QdO7+&hO$'}QtO1G1RO$([QdO7+%}OOQS1G0i1G0iOOQO,5>U,5>UOOQO-E;h-E;hOOQ#u7+(o7+(oO!&WQdO7+(oOOQ#u7+(t7+(tO#KqQ`O7+(tO0aQ`O7+(tOOQ#u7+(q7+(qO!-xQ`O7+(qO!1UQ`O7+(qO!1RQ`O7+(qO$)wQ`O,5<ZO$*SQ`O,5<ZO$*[Q`O,5<_O$*aQpO,5<ZO>UQaO,5<ZOOQO,5<_,5<_O$*oQpO,5<`O$*wQ`O,5<`O$+SQ`O'#HkO$+mQ`O,5?POOQS1G1t1G1tO$+uQpO7+'^O$+}Q`O'#FuO$,YQ`O7+'^OOQS7+'^7+'^O0aQ`O7+'^O#6yQ`O7+'^O$,bQdO7+*aO0aQ`O7+*aO$,pQ`O7+'^O*kQaO7+'hO0aQ`O7+'hO$,{Q`O7+'hO$-TQdO1G2VOOQS,5>],5>]OOQS-E;o-E;oO$.mQdO7+'hO$.}QpO7+'hO$/VQdO'#IiOOQO,5<e,5<eOOQO,5<f,5<fO$/hQpO'#GOO$/pQ`O'#GOOOQO'#Ik'#IkOOQO'#Ho'#HoO$0aQ`O'#GOO<_Q`O'#F|O!&WQdO'#GOO!.YQdO'#GQO7RQ`O'#GROOQO'#Ij'#IjOOQO'#Hn'#HnO$0}Q`O,5<gOOQ#y,5<g,5<gOOQS7+'i7+'iO!-xQ`O7+'iO!1UQ`O7+'iOOOQ1G2d1G2dO$1tO`O1G2dO$1yO!bO1G2eO$2XO`O'#G`O$2^O`O1G2eOOOQ1G2h1G2hO$2cQaO,5=PO,zQ`O'#HtO$2|Q$VO7+(UOhQaO7+(UO,zQ`O'#HuO$7|Q`O7+(UO!&WQdO7+(UO$8XQ`O7+(UO$8^QaO'#GhO$:mQ`O'#GiOOQO'#Hv'#HvO$:uQ`O,5=ROOQ#u,5=R,5=RO$;QQ`O,5=UO!&WQdO7+(WO!&WQdO7+(]O!&WQdO7+(_O$;]QaO1G2uO$;dQ`O1G2uO$;iQaO1G2uO!&WQdO7+(`O9yQaO1G2xO!&WQdO7+(cO0aQ`O'#GyO9oQ`O,5>dOOQ#u,5>d,5>dOOQ#u-E;v-E;vO$;pQaO7+(lO$<XQdO,5>cOOQS-E;u-E;uO!&WQdO7+(nO$=qQdO1G2TOOQS,5>[,5>[OOQS-E;n-E;nOOQ#u7+(r7+(rO$?ZQ`O'#GOO$?}Q`O'#HUOOQO'#Hy'#HyO$@SQ`O,5=oOOQ#u,5=o,5=oO$@|QpO7+(tOOQ#u7+(x7+(xO!&WQdO7+(xO$AXQdO,5>fOOQS-E;x-E;xO$AgQdO1G4}O$ArQ`O,5=tO$AwQ`O,5=tO$BSQ`O'#H{O$BhQ`O,5?dOOQS1G3_1G3_O#KvQ`O7+(xO$BpQdO,5=|OOQS-E;`-E;`O$D]QdO<<I_OOQS1G4e1G4eO$ExQ`O1G0zOOQO,5>Q,5>QOOQO-E;d-E;dO$8^QaO,5:tO$G_QaO'#HcO$GlQ`O,5>sOOQS1G0_1G0_OOQS7+&P7+&PO$GtQ`O7+&TO$IZQ`O1G0nO$JpQ`O,5>POOQO,5>P,5>POOQO-E;c-E;cOOQS7+&X7+&XOOQS7+&T7+&TOOQ#u<<LZ<<LZOOQ#u<<L`<<L`O$@|QpO<<L`OOQ#u<<L]<<L]O!-xQ`O<<L]O!1UQ`O<<L]O>UQaO1G1uO$LYQ`O1G1uO$LeQ`O1G1yOOQO1G1y1G1yO$LjQ`O1G1uO$LrQ`O1G1uO$NXQ`O1G1zO>UQaO1G1zOOQO,5>V,5>VOOQO-E;i-E;iOOQS<<Jx<<JxO$NdQ`O'#IhO$NlQ`O'#IhO$NqQ`O,5<aO0aQ`O<<JxO$+uQpO<<JxO$NvQ`O<<JxO0aQ`O<<M{O% OQtO<<M{O#6yQ`O<<JxO% ^QdO<<KSO% nQpO<<KSO*kQaO<<KSO0aQ`O<<KSO% vQdO'#HmO%!_QdO,5?TO!&WQdO,5<jO$/hQpO,5<jO%!pQ`O,5<jO<_Q`O,5<hO!.YQdO,5<lOOQO-E;m-E;mO!&WQdO,5<hOOQO,5<j,5<jOOQO,5<l,5<lO%#^QdO,5<mOOQO-E;l-E;lOOQ#y1G2R1G2ROOQS<<KT<<KTO!-xQ`O<<KTOOOQ7+(O7+(OO%#iO`O7+(POOOO,5<z,5<zOOOQ7+(P7+(POhQaO,5>`OOQ#u-E;r-E;rOhQaO<<KpOOQ#u<<Kp<<KpO$8XQ`O,5>aOOQO-E;s-E;sO!&WQdO<<KpO$8XQ`O<<KpO%#nQ`O<<KpO%#sQ`O,5=SO%%YQaO,5=TOOQO-E;t-E;tOOQ#u1G2m1G2mOOQ#u<<Kr<<KrOOQ#u<<Kw<<KwOOQ#u<<Ky<<KyOOQT7+(a7+(aO%%jQ`O7+(aO%%oQaO7+(aO%%vQ`O7+(aOOQ#u<<Kz<<KzO%%{Q`O7+(dO%'bQ`O7+(dOOQ#u<<K}<<K}O%'gQpO,5=eOOQ#u1G4O1G4OO%'rQ`O<<LWOOQ#u<<LY<<LYO%'wQ`O,5=pO%'|QdO,5=pOOQO-E;w-E;wOOQ#u1G3Z1G3ZO#KqQ`O<<L`OOQ#u<<Ld<<LdO%(XQ`O1G4QO%(^QdO7+*iOOQO1G3`1G3`O%(iQ`O1G3`O%(nQ`O'#HZO7RQ`O'#HZOOQO,5>g,5>gOOQO-E;y-E;yO!&WQdO<<LdO%(yQ`O1G0`OOQO,5=},5=}OOQO-E;a-E;aO>UQaO,5;TOOQ#uANAzANAzO#KqQ`OANAzOOQ#uANAwANAwO!-xQ`OANAwO%*`Q`O7+'aO>UQaO7+'aOOQO7+'e7+'eO%+uQ`O7+'aO%,QQ`O7+'eO>UQaO7+'fO%,VQ`O7+'fO%-lQ`O'#HlO%-zQ`O,5?SO%-zQ`O,5?SOOQO1G1{1G1{O$+uQpOAN@dOOQSAN@dAN@dO0aQ`OAN@dO%.SQtOANCgO%.bQ`OAN@dO*kQaOAN@nO%.jQdOAN@nO%.zQpOAN@nOOQS,5>X,5>XOOQS-E;k-E;kOOQO1G2U1G2UO!&WQdO1G2UO$/hQpO1G2UO<_Q`O1G2SO!.YQdO1G2WO!&WQdO1G2SOOQO1G2W1G2WOOQO1G2S1G2SO%/SQaO'#GSOOQO1G2X1G2XOOQSAN@oAN@oOOOQ<<Kk<<KkOOQ#u1G3z1G3zOOQ#uANA[ANA[OOQO1G3{1G3{O%1RQ`OANA[O!&WQdOANA[O%1WQaO1G2nO%1hQaO1G2oOOQT<<K{<<K{O%1xQ`O<<K{O%1}QaO<<K{O*kQaO,5=_OOQT<<LO<<LOOOQO1G3P1G3PO%2UQ`O1G3PO!+WQeOANArO%2ZQdO1G3[OOQO1G3[1G3[O%2fQ`O1G3[OOQS7+)l7+)lOOQO7+(z7+(zO%2nQ`O,5=uO%2sQ`O,5=uOOQ#uANBOANBOO%3OQ`O1G0oOOQ#uG27fG27fOOQ#uG27cG27cO%4eQ`O<<J{O>UQaO<<J{OOQO<<KP<<KPO%5zQ`O<<KQOOQO,5>W,5>WO%7aQ`O,5>WOOQO-E;j-E;jO%7fQ`O1G4nOOQSG26OG26OO$+uQpOG26OO0aQ`OG26OO%7nQdOG26YO*kQaOG26YOOQO7+'p7+'pO!&WQdO7+'pO!&WQdO7+'nOOQO7+'r7+'rOOQO7+'n7+'nO%8OQ`OLD+tO%9_Q`O'#E}O%9iQ`O'#IZO!&WQdO'#HrO%;fQaO,5<nOOQO,5<n,5<nO!&WQdOG26vOOQ#uG26vG26vO%=eQaO7+(YOOQTANAgANAgO%=uQ`OANAgO%=zQ`O1G2yOOQO7+(k7+(kOOQ#uG27^G27^O%>RQ`OG27^OOQO7+(v7+(vO%>WQ`O7+(vO!&WQdO7+(vOOQO1G3a1G3aO%>`Q`O1G3aO%>eQ`OAN@gOOQO1G3r1G3rOOQSLD+jLD+jO$+uQpOLD+jO%?zQdOLD+tOOQO<<K[<<K[OOQO<<KY<<KYO%@[Q`O,5<oO%@aQ`O,5<pOOQP,5>^,5>^OOQP-E;p-E;pOOQO1G2Y1G2YOOQ#uLD,bLD,bOOQTG27RG27RO!&WQdOLD,xO!&WQdO<<LbOOQO<<Lb<<LbOOQO7+({7+({OOQS!$( U!$( UOOQS1G2Z1G2ZOOQS1G2[1G2[O%@iQdO1G2[OOQ#u!$(!d!$(!dOOQOANA|ANA|OOQS7+'v7+'vO%@tQ`O'#E{O%@tQ`O'#E{O%@yQ`O,5;gO%AOQdO,5<cO%BzQaO,5:}O*kQaO1G0iO%CRQaO'#FwO#.YQaO'#GVO#.YQaO'#GYO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO#.YQaO,5;qO%CYQdO'#I]O%DxQdO'#I]O#.YQaO'#EaO#.YQaO'#I]O%FzQaO,5:wO#.YQaO,5;nO#.YQaO,5;pO%GRQdO,5<PO%H}QdO,5<QO%JyQdO,5<RO%LuQdO,5<SO%NqQdO,5<SO& XQdO,5<VO&#TQdO,5<tO#.YQaO1G0XO&%PQdO1G1]O&&{QdO1G1]O&(wQdO1G1]O&*sQdO1G1]O&,oQdO1G1]O&.kQdO1G1]O&0gQdO1G1]O&2cQdO1G1]O&4_QdO1G1]O&6ZQdO1G1]O&8VQdO1G1]O&:RQdO1G1]O&;}QdO1G1]O&=yQdO1G1]O&?uQdO1G1]O&AqQdO,5:{O&CmQdO,5>wO&EiQdO1G0cO#.YQaO1G0cO&GeQdO1G1YO&IaQdO1G1[O#.YQaO1G1|O#.YQaO7+%sO&K]QdO7+%sO&MXQdO7+%}O#.YQaO7+'hO' TQdO7+'hO'#PQdO<<I_O'${QdO<<KSO#.YQaO<<KSO#.YQaOAN@nO'&wQdOAN@nO'(sQdOG26YO#.YQaOG26YO'*oQdOLD+tO',kQaO,5:}O'.jQaO1G0iO'0fQdO'#IWO'0yQeO'#FUO'4yQeO'#FUO#.YQaO'#FeO'.jQaO'#FeO#.YQaO'#FfO'.jQaO'#FfO#.YQaO'#FgO'.jQaO'#FgO#.YQaO'#FhO'.jQaO'#FhO#.YQaO'#FhO'.jQaO'#FhO#.YQaO'#FkO'.jQaO'#FkO'9PQaO,5:mO'9WQ`O,5<bO'9`Q`O1G0XO'.jQaO1G0|O':rQ`O1G1|O':zQ`O7+'hO';SQpO7+'hO';[QpO<<KSO';dQpOAN@nO';lQaO'#FwO'.jQaO'#GVO'.jQaO'#GYO'.jQaO,5;qO'.jQaO,5;qO'.jQaO,5;qO'.jQaO,5;qO'.jQaO,5;qO'.jQaO,5;qO'.jQaO,5;qO'.jQaO,5;qO'.jQaO,5;qO'.jQaO,5;qO'.jQaO,5;qO'.jQaO,5;qO'.jQaO,5;qO'.jQaO,5;qO'.jQaO,5;qO'.jQaO,5;qO'.jQaO'#EaO'.jQaO'#I]O'=kQaO,5:wO'.jQaO,5;nO'.jQaO,5;pO'?jQdO,5<PO'AlQdO,5<QO'CnQdO,5<RO'EpQdO,5<SO'GrQdO,5<SO'H`QdO,5<VO'JbQdO,5<tO'.jQaO1G0XO'LdQdO1G1]O'NfQdO1G1]O(!hQdO1G1]O($jQdO1G1]O(&lQdO1G1]O((nQdO1G1]O(*pQdO1G1]O(,rQdO1G1]O(.tQdO1G1]O(0vQdO1G1]O(2xQdO1G1]O(4zQdO1G1]O(6|QdO1G1]O(9OQdO1G1]O(;QQdO1G1]O(=SQdO,5:{O(?UQdO,5>wO(AWQdO1G0cO'.jQaO1G0cO(CYQdO1G1YO(E[QdO1G1[O'.jQaO1G1|O'.jQaO7+%sO(G^QdO7+%sO(I`QdO7+%}O'.jQaO7+'hO(KbQdO7+'hO(MdQdO<<I_O) fQdO<<KSO'.jQaO<<KSO'.jQaOAN@nO)#hQdOAN@nO)%jQdOG26YO'.jQaOG26YO)'lQdOLD+tO))nQaO,5:}O#.YQaO1G0iO))uQ`O'#FvO))}QpO,5;bO)*VQ`O,5<bO!%WQ`O,5<bO!%WQ`O1G1|O0aQ`O1G1|O0aQ`O7+'hO0aQ`O<<KSO)*_QdO,5<cO),aQdO'#I]O).`QdO'#IWO).yQaO,5:mO)/QQ`O,5<bO)/YQ`O1G0XO)0lQ`O1G1|O)0tQ`O7+'hO)0|QpO7+'hO)1UQpO<<KSO)1^QpOAN@nO0aQ`O'#EvO9yQaO'#FeO9yQaO'#FfO9yQaO'#FgO9yQaO'#FhO9yQaO'#FhO9yQaO'#FkO)1fQaO'#FwO9yQaO'#GVO9yQaO'#GYO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO9yQaO,5;qO)1mQ`O'#FlO*kQaO'#EaO*kQaO'#I]O)1uQaO,5:wO9yQaO,5;nO9yQaO,5;pO)1|QdO,5<PO)3xQdO,5<QO)5tQdO,5<RO)7pQdO,5<SO)9lQdO,5<SO):SQdO,5<VO)<OQdO,5<cO)=zQdO,5<tO)?vQ`O'#IvO)A]Q`O'#IYO9yQaO1G0XO)BrQdO1G1]O)DnQdO1G1]O)FjQdO1G1]O)HfQdO1G1]O)JbQdO1G1]O)L^QdO1G1]O)NYQdO1G1]O*!UQdO1G1]O*$QQdO1G1]O*%|QdO1G1]O*'xQdO1G1]O*)tQdO1G1]O*+pQdO1G1]O*-lQdO1G1]O*/hQdO1G1]O*1dQaO,5:}O*1kQdO,5:{O*1{QdO,5>wO*2]QaO'#HdO*2mQ`O,5>vO*2uQdO1G0cO9yQaO1G0cO*4qQdO1G1YO*6mQdO1G1[O9yQaO1G1|O>UQaO'#HwO*8iQ`O,5=[O*8qQaO'#HbO*8{Q`O,5>tO9yQaO7+%sO*9TQdO7+%sO*;PQ`O1G0iO>UQaO1G0iO*<fQdO7+%}O9yQaO7+'hO*>bQdO7+'hO*@^Q`O,5>cO*AsQ`O,5=|O*CYQdO<<I_O*EUQ`O7+&TO*FkQdO<<KSO9yQaO<<KSO9yQaOAN@nO*HgQdOAN@nO*JcQdOG26YO9yQaOG26YO*L_QdOLD+tO*NZQaO,5:}O9yQaO1G0iO*NbQdO'#I]O*N{Q`O'#FvO+ TQ`O,5<bO!%WQ`O,5<bO!%WQ`O1G1|O0aQ`O1G1|O0aQ`O7+'hO0aQ`O<<KSO+ ]QdO'#IWO+ vQeO'#FUO+!dQaO'#FUO+$]QaO'#FUO+%xQaO'#FUO>UQaO'#FeO>UQaO'#FfO>UQaO'#FgO>UQaO'#FhO>UQaO'#FhO>UQaO'#FkO+'qQaO'#FwO>UQaO'#GVO>UQaO'#GYO+'xQaO,5:mO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO>UQaO,5;qO+(PQ`O'#I]O$8^QaO'#EaO+)iQaOG26YO$8^QaO'#I]O++eQ`O'#I[O++mQaO,5:wO>UQaO,5;nO>UQaO,5;pO++tQ`O,5<PO+-aQ`O,5<QO+.|Q`O,5<RO+0iQ`O,5<SO+2UQ`O,5<SO+3qQ`O,5<VO+5^Q`O,5<bO+5fQ`O,5<cO+7RQ`O,5<tO+8nQ`O1G0XO>UQaO1G0XO+:QQ`O1G1]O+;mQ`O1G1]O+=YQ`O1G1]O+>uQ`O1G1]O+@bQ`O1G1]O+A}Q`O1G1]O+CjQ`O1G1]O+EVQ`O1G1]O+FrQ`O1G1]O+H_Q`O1G1]O+IzQ`O1G1]O+KgQ`O1G1]O+MSQ`O1G1]O+NoQ`O1G1]O,![Q`O1G1]O,#wQ`O1G0cO>UQaO1G0cO,%dQ`O1G1YO,'PQ`O1G1[O,(lQ`O1G1|O>UQaO1G1|O>UQaO7+%sO,(tQ`O7+%sO,*aQ`O7+%}O>UQaO7+'hO,+|Q`O7+'hO,,UQ`O7+'hO,-qQpO7+'hO,-yQ`O<<I_O,/fQ`O<<KSO,1RQpO<<KSO>UQaO<<KSO>UQaOAN@nO,1ZQ`OAN@nO,2vQpOAN@nO,3OQ`OG26YO>UQaOG26YO,4kQ`OLD+tO,6WQaO,5:}O>UQaO1G0iO,6_Q`O'#I]O$8^QaO'#FeO$8^QaO'#FfO$8^QaO'#FgO$8^QaO'#FhO$8^QaO'#FhO+)iQaO'#FhO$8^QaO'#FkO,6lQaO'#FwO,6sQaO'#FwO$8^QaO'#GVO+)iQaO'#GVO$8^QaO'#GYO$8^QaO,5;qO+)iQaO,5;qO$8^QaO,5;qO+)iQaO,5;qO$8^QaO,5;qO+)iQaO,5;qO$8^QaO,5;qO+)iQaO,5;qO$8^QaO,5;qO+)iQaO,5;qO$8^QaO,5;qO+)iQaO,5;qO$8^QaO,5;qO+)iQaO,5;qO$8^QaO,5;qO+)iQaO,5;qO$8^QaO,5;qO+)iQaO,5;qO$8^QaO,5;qO+)iQaO,5;qO$8^QaO,5;qO+)iQaO,5;qO$8^QaO,5;qO+)iQaO,5;qO$8^QaO,5;qO+)iQaO,5;qO$8^QaO,5;qO+)iQaO,5;qO$8^QaO,5;qO+)iQaO,5;qO$8^QaO,5;qO+)iQaO,5;qO,8rQ`O'#FlO>UQaO'#EaO>UQaO'#I]O,8zQaO,5:wO,9RQaO,5:wO$8^QaO,5;nO+)iQaO,5;nO$8^QaO,5;pO,;QQ`O,5<PO,<mQ`O,5<QO,>YQ`O,5<RO,?uQ`O,5<SO,AbQ`O,5<SO,B}Q`O,5<SO,D^Q`O,5<VO,EyQ`O,5<cO%8OQ`O,5<cO,GfQ`O,5<tO$8^QaO1G0XO+)iQaO1G0XO,IRQ`O1G1]O,JnQ`O1G1]O,K}Q`O1G1]O,MjQ`O1G1]O,NyQ`O1G1]O-!fQ`O1G1]O-#uQ`O1G1]O-%bQ`O1G1]O-&qQ`O1G1]O-(^Q`O1G1]O-)mQ`O1G1]O-+YQ`O1G1]O-,iQ`O1G1]O-.UQ`O1G1]O-/eQ`O1G1]O-1QQ`O1G1]O-2aQ`O1G1]O-3|Q`O1G1]O-5]Q`O1G1]O-6xQ`O1G1]O-8XQ`O1G1]O-9tQ`O1G1]O-;TQ`O1G1]O-<pQ`O1G1]O->PQ`O1G1]O-?lQ`O1G1]O-@{Q`O1G1]O-BhQ`O1G1]O-CwQ`O1G1]O-EdQ`O1G1]O-FsQ`O,5:{O-H`Q`O,5>wO-I{Q`O1G0cO-KhQ`O1G0cO$8^QaO1G0cO+)iQaO1G0cO-LwQ`O1G1YO-NdQ`O1G1YO. sQ`O1G1[O$8^QaO1G1|O$8^QaO7+%sO+)iQaO7+%sO.#`Q`O7+%sO.${Q`O7+%sO.&[Q`O7+%}O.'wQ`O7+%}O$8^QaO7+'hO.)WQ`O7+'hO.*sQ`O<<I_O.,`Q`O<<I_O.-oQ`O<<KSO$8^QaO<<KSO$8^QaOAN@nO./[Q`OAN@nO.0wQ`OG26YO$8^QaOG26YO.2dQ`OLD+tO.4PQaO,5:}O.4WQaO,5:}O$8^QaO1G0iO+)iQaO1G0iO.6VQ`O'#I]O.7iQ`O'#I]O.;OQ`O'#IWO.;`Q`O'#FvO.;hQaO,5:mO.;oQ`O,5<bO.;wQ`O,5<bO!%WQ`O,5<bO.<PQ`O1G0XO.=cQ`O,5:{O.?OQ`O,5>wO.@kQ`O1G1|O!%WQ`O1G1|O0aQ`O1G1|O0aQ`O7+'hO.@sQ`O7+'hO.@{QpO7+'hO.ATQpO<<KSO0aQ`O<<KSO.A]QpOAN@nO.AeQ`O'#IWO.AuQ`O'#IWO.ClQaO,5:mO.CsQaO,5:mO.CzQ`O,5<bO.DSQ`O7+'hO.D[Q`O1G0XO.EnQ`O1G0XO.GQQ`O1G1|O.GYQ`O7+'hO.GbQpO7+'hO.GjQpOAN@nO.GrQpO<<KSO.GzQpOAN@nO.HSQ`O'#FvO.H[Q`O'#FlO.HdQ`O,5<bO!%WQ`O,5<bO!%WQ`O1G1|O0aQ`O1G1|O0aQ`O7+'hO0aQ`O<<KSO.HlQ`O'#FvO.HtQ`O,5<bO.H|Q`O,5<bO!%WQ`O,5<bO!%WQ`O1G1|O!%WQ`O1G1|O0aQ`O1G1|O0aQ`O<<KSO0aQ`O7+'hO0aQ`O<<KSO.IUQ`O'#FlO.I^Q`O'#FlO.IfQ`O'#Fl",stateData:".I{~O!dOS!eOS&vOS!gQQ~O!iTO&wRO~OPgOQ|OS!lOU^OW}OX!XO[mO]!_O^!WO`![Oa!SOb!]Ok!dOm!lOowOp!TOq!UOsuOt!gOu!VOv!POxkOykO|!bO}`O!O]O!P!eO!QxO!R}O!TpO!UlO!VlO!W!YO!X!QO!YzO!Z!cO![!ZO!]!^O!^!fO!`!`O!a!RO!cjO!mWO!oXO!sYO!y[O#W_O#bhO#daO#ebO#peO$ToO$]nO$^oO$aqO$drO$l!kO$zyO${!OO$}}O%O}O%V|O'g{O~O!g!mO~O&wRO!i!hX&p!hX&t!hX~O!i!pO~O!d!qO!e!qO!g!mO&t!tO&v!qO~PhO!n!vO~PhOT'VXz'VX!S'VX!b'VX!m'VX!o'VX!v'VX!y'VX#S'VX#W'VX#`'VX#a'VX#p#qX#s'VX#z'VX#{'VX#|'VX#}'VX$O'VX$Q'VX$R'VX$S'VX$T'VX$U'VX$V'VX$W'VX$z'VX&s'VX~O!q!xO~P&sOT#TOz#RO!S#UO!b#VO!m#cO!o!{O!v!yO!y!}O#S#QO#W!zO#`!|O#a!|O#s#PO#z#SO#{#WO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dO&s#cO~OPgOQ|OU^OW}O[mOowOs#hOxkOykO}`O!O]O!QxO!R}O!TpO!UlO!VlO!YzO!cjO!s#gO!y[O#W_O#bhO#daO#ebO#peO$ToO$]nO$^oO$aqO$zyO${!OO$}}O%O}O%V|O'g{O~O!y[O~O!y#kO~OP6ZOQ|OU^OW}O[6^Oo=WOs#hOx6[Oy6[O}`O!O]O!Q6bO!R}O!T6aO!U6]O!V6]O!Y6dO!c8dO!s#gO!y[O#S#oO#U#nO#W_O#bhO#daO#ebO#peO$T6`O$]6_O$^6`O$aqO$z6cO${!OO$}}O%O}O%V|O'g{O#X'OP~O!}#sO~P-UO!y#tO~O#b#vO#daO#ebO~O#p#xO~O!s#yO~OU$PO!R$PO!s$OO!v#}O#p2VO~OT&zXz&zX!S&zX!b&zX!m&zX!o&zX!v&zX!y&zX#S&zX#W&zX#`&zX#a&zX#s&zX#z&zX#{&zX#|&zX#}&zX$O&zX$Q&zX$R&zX$S&zX$T&zX$U&zX$V&zX$W&zX$z&zX&s&zX!x&zX!n&zX~O#u$RO#w$SO~P0rOP6ZOQ|OU^OW}O[6^Oo=WOs#hOx6[Oy6[O}`O!O]O!Q6bO!R}O!T6aO!U6]O!V6]O!Y6dO!c8dO!s#gO!y[O#W_O#bhO#daO#ebO#peO$T6`O$]6_O$^6`O$aqO$z6cO${!OO$}}O%O}O%V|O'g{OT#xXz#xX!S#xX!b#xX!m#xX!o#xX!v#xX#`#xX#a#xX#s#xX#z#xX#{#xX#|#xX#}#xX$O#xX$Q#xX$R#xX$S#xX$U#xX$V#xX$W#xX&s#xX!x#xX!n#xX~Or$UO#S6wO#U6vO~P2yO!s#gO#peO~OS$gO]$bOk$eOm$gOs$aO!`$cO$drO$l$fO~O!s$kO!y$hO#S$jO~Oo$mOs$lO#b$nO~O!y$hO#S$rO~O$l$tO~P*kOR$zO!o$yO#b$xO#e$yO&q$zO~O'f$|O~P8lO!y%RO~O!y%TO~O!s%VO~O!m#cO&s#cO~P*kO!oXO~O!y%_O~OP6ZOQ|OU^OW}O[6^Oo=WOs#hOx6[Oy6[O}`O!O]O!Q6bO!R}O!T6aO!U6]O!V6]O!Y6dO!c8dO!s#gO!y[O#W_O#bhO#daO#ebO#peO$T6`O$]6_O$^6`O$aqO$z6cO${!OO$}}O%O}O%V|O'g{O~O!y%cO~O!s%dO~O]$bO~O!s%hO~O!s%iO~O!s%jO~O!oXO!s#gO#peO~O]%rOs%rO!o%pO!s#gO#p%nO~O!s%vO~O!i%wO&t%wO&wRO~O&t%zO~PhO!n%{O~PhOPgOQ|OU^OW}O[8jOo=wOs#hOx8hOy8hO}`O!O]O!Q8nO!R}O!T8mO!U8iO!V8iO!Y8pO!c8gO!s#gO!y[O#W_O#bhO#daO#ebO#peO$T8lO$]8kO$^8lO$aqO$z8oO${!OO$}}O%O}O%V|O'g{O~O!q%}O~P>UO#X&PO~P>UO!o&SO!s&RO#b&RO~OPgOQ|OU^OW}O[8jOo=wOs#hOx8hOy8hO}`O!O]O!Q8nO!R}O!T8mO!U8iO!V8iO!Y8pO!c8gO!s&VO!y[O#U&WO#W_O#bhO#daO#ebO#peO$T8lO$]8kO$^8lO$aqO$z8oO${!OO$}}O%O}O%V|O'g{O~O!x'SP~PAOO!s&[O#b&[O~OT#TOz#RO!S#UO!b#VO!o!{O!v!yO!y!}O#S#QO#W!zO#`!|O#a!|O#s#PO#z#SO#{#WO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dO~O!x&nO~PCqO!x'VX!}'VX#O'VX#X'VX!n'VXV'VX!q'VX#u'VX#w'VXw'VX~P&sO!y$hO#S&oO~Oo$mOs$lO~O!o&pO~O!}&sO#S;bO#U;aO!x'OP~P9yOT6gOz6eO!S6hO!b6iO!o!{O!v8qO!y!}O#S#QO#W!zO#`!|O#a!|O#s#PO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!}'PX#X'PX~O#O&tO~PGSO!}&wO#X'OX~O#X&yO~O!}'OO!x'QP~P9yO!n'PO~PCqO!m#oa!o#oa#S#oa#p#qX&s#oa!x#oa#O#oaw#oa~OT#oaz#oa!S#oa!b#oa!v#oa!y#oa#W#oa#`#oa#a#oa#s#oa#z#oa#{#oa#|#oa#}#oa$O#oa$Q#oa$R#oa$S#oa$T#oa$U#oa$V#oa$W#oa$z#oa!}#oa#X#oa!n#oaV#oa!q#oa#u#oa#w#oa~PIpO!s'RO~O!x'UO#l'SO~O!x'VX#l'VX#p#qX#S'VX#U'VX#b'VX!o'VX#O'VXw'VX!m'VX&s'VX~O#S'YO~P*kO!m$Xa&s$Xa!x$Xa!n$Xa~PCqO!m$Ya&s$Ya!x$Ya!n$Ya~PCqO!m$Za&s$Za!x$Za!n$Za~PCqO!m$[a&s$[a!x$[a!n$[a~PCqO!o!{O!y!}O#W!zO#`!|O#a!|O#s#PO$z#dOT$[a!S$[a!b$[a!m$[a!v$[a#S$[a#z$[a#{$[a#|$[a#}$[a$O$[a$Q$[a$R$[a$S$[a$T$[a$U$[a$V$[a$W$[a&s$[a!x$[a!n$[a~Oz#RO~PNyO!m$_a&s$_a!x$_a!n$_a~PCqO!y!}O!}$fX#X$fX~O!}'^O#X'ZX~O#X'`O~O!s$kO#S'aO~O]'cO~O!s'eO~O!s'fO~O$l'gO~O!`'mO#S'kO#U'lO#b'jO$drO!x'XP~P0aO!^'sO!oXO!q'rO~O!s'uO!y$hO~O!y$hO#S'wO~O!y$hO#S'yO~O#u'zO!m$sX!}$sX&s$sX~O!}'{O!m'bX&s'bX~O!m#cO&s#cO~O!q(PO#O(OO~O!m$ka&s$ka!x$ka!n$ka~PCqOl(ROw(SO!o(TO!y!}O~O!o!{O!y!}O#W!zO#`!|O#a!|O#s#PO~OT$yaz$ya!S$ya!b$ya!m$ya!v$ya#S$ya#z$ya#{$ya#|$ya#}$ya$O$ya$Q$ya$R$ya$S$ya$T$ya$U$ya$V$ya$W$ya$z$ya&s$ya!x$ya!}$ya#O$ya#X$ya!n$ya!q$yaV$ya#u$ya#w$ya~P!'WO!m$|a&s$|a!x$|a!n$|a~PCqO#W([O#`(YO#a(YO&r(ZOR&gX!o&gX#b&gX#e&gX&q&gX'f&gX~O'f(_O~P8lO!q(`O~PhO!o(cO!q(dO~O!q(`O&s(gO~PhO!a(kO~O!m(lO~P9yOZ(wOn(xO~O!s(zO~OT6gOz6eO!S6hO!b6iO!v8qO!}({O#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!m'jX&s'jX~P!'WO#u)PO~O!})QO!m'`X&s'`X~Ol(RO!o(TO~Ow(SO!o)WO!q)ZO~O!m#cO!oXO&s#cO~O!o%pO!s#yO~OV)aO!})_O!m'kX&s'kX~O])cOs)cO!s#gO#peO~O!o%pO!s#gO#p)hO~OT6gOz6eO!S6hO!b6iO!v8qO!})iO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!m&|X&s&|X#O&|X~P!'WOl(ROw(SO!o(TO~O!i)oO&t)oO~OT8tOz8rO!S8uO!b8vO!q)pO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#X)rO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO~P!'WO!n)rO~PCqOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x'TX!}'TX~P!'WOT'VXz'VX!S'VX!b'VX!o'VX!v'VX!y'VX#S'VX#W'VX#`'VX#a'VX#p#qX#s'VX#z'VX#{'VX#|'VX#}'VX$O'VX$Q'VX$R'VX$S'VX$T'VX$U'VX$V'VX$W'VX$z'VX~O!q)tO!x'VX!}'VX~P!5xO!x#iX!}#iX~P>UO!})vO!x'SX~O!x)xO~O$z#dOT#yiz#yi!S#yi!b#yi!m#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi$V#yi$W#yi&s#yi!x#yi!}#yi#O#yi#X#yi!n#yi!q#yiV#yi#u#yi#w#yi~P!'WOz#RO#S#QO#z#SO#{#WO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi&s#yi!x#yi!n#yi~P!'WOz#RO!v!yO#S#QO#z#SO#{#WO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi&s#yi!x#yi!n#yi~P!'WOT#TOz#RO!b#VO!v!yO#S#QO#z#SO#{#WO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dO!S#yi!m#yi&s#yi!x#yi!n#yi~P!'WOT#TOz#RO!v!yO#S#QO#z#SO#{#WO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dO!S#yi!b#yi!m#yi&s#yi!x#yi!n#yi~P!'WOz#RO#S#QO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#z#yi#{#yi&s#yi!x#yi!n#yi~P!'WOz#RO#S#QO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#z#yi#{#yi#|#yi&s#yi!x#yi!n#yi~P!'WOz#RO#S#QO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#z#yi#{#yi#|#yi#}#yi&s#yi!x#yi!n#yi~P!'WOz#RO#S#QO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#z#yi#{#yi#|#yi#}#yi$O#yi&s#yi!x#yi!n#yi~P!'WOz#RO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi&s#yi!x#yi!n#yi~P!'WOz#RO$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi&s#yi!x#yi!n#yi~P!'WOz#RO$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi&s#yi!x#yi!n#yi~P!'WOz#RO$T#`O$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$U#yi&s#yi!x#yi!n#yi~P!'WOz#RO$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi&s#yi!x#yi!n#yi~P!'WOz#RO$S#_O$T#`O$V#bO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$U#yi&s#yi!x#yi!n#yi~P!'WOz#RO$W#bO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi$V#yi&s#yi!x#yi!n#yi~P!'WO_)yO~P9yO!x)|O~O#S*PO~P9yOT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!}#Ta#X#Ta#O#Ta!m#Ta&s#Ta!x#Ta!n#TaV#Ta!q#Ta~P!'WOT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!}'Pa#X'Pa#O'Pa!m'Pa&s'Pa!x'Pa!n'PaV'Pa!q'Pa~P!'WO#S#oO#U#nO!}&WX#X&WX~P9yO!}&wO#X'Oa~O#X*SO~OT6gOz6eO!S6hO!b6iO!v8qO!}*UO#O*TO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!x'QX~P!'WO!}*UO!x'QX~O!x*WO~O!m#oi!o#oi#S#oi#p#qX&s#oi!x#oi#O#oiw#oi~OT#oiz#oi!S#oi!b#oi!v#oi!y#oi#W#oi#`#oi#a#oi#s#oi#z#oi#{#oi#|#oi#}#oi$O#oi$Q#oi$R#oi$S#oi$T#oi$U#oi$V#oi$W#oi$z#oi!}#oi#X#oi!n#oiV#oi!q#oi#u#oi#w#oi~P#*zO#l'SO!x#ka#S#ka#U#ka#b#ka!o#ka#O#kaw#ka!m#ka&s#ka~OPgOQ|OU^OW}O[3|Oo5vOs#hOx3xOy3xO}`O!O]O!Q2[O!R}O!T4SO!U3zO!V3zO!Y2^O!c3vO!s#gO!y[O#W_O#bhO#daO#ebO#peO$T4QO$]4OO$^4QO$aqO$z2]O${!OO$}}O%O}O%V|O'g{O~O#l#oa#U#oa#b#oa~PIpOz#RO!v!yO#S#QO#z#SO#{#WO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#Pi!S#Pi!b#Pi!m#Pi&s#Pi!x#Pi!n#Pi~P!'WOz#RO!v!yO#S#QO#z#SO#{#WO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#vi!S#vi!b#vi!m#vi&s#vi!x#vi!n#vi~P!'WO!m#xi&s#xi!x#xi!n#xi~PCqO!s#gO#peO!}&^X#X&^X~O!}'^O#X'Za~O!s'uO~Ow(SO!o)WO!q*fO~O!s*jO~O#S*lO#U*mO#b*kO#l'SO~O#S*lO#U*mO#b*kO$drO~P0aO#u*oO!x$cX!}$cX~O#U*mO#b*kO~O#b*pO~O#b*rO~P0aO!}*sO!x'XX~O!x*uO~O!y*wO~O!^*{O!oXO!q*zO~O!q*}O!o'ci!m'ci&s'ci~O!q+QO#O+PO~O#b$nO!m&eX!}&eX&s&eX~O!}'{O!m'ba&s'ba~OT$kiz$ki!S$ki!b$ki!m$ki!o$ki!v$ki!y$ki#S$ki#W$ki#`$ki#a$ki#s$ki#u#fa#w#fa#z$ki#{$ki#|$ki#}$ki$O$ki$Q$ki$R$ki$S$ki$T$ki$U$ki$V$ki$W$ki$z$ki&s$ki!x$ki!}$ki#O$ki#X$ki!n$ki!q$kiV$ki~OS+^O]+aOm+^Os$aO!^+dO!_+^O!`+^O!n+hO#b$nO$aqO$drO~P0aO!s+lO~O#W+nO#`+mO#a+mO~O!s+pO#b+pO$}+pO%T+oO~O!n+qO~PCqOc%XXd%XXh%XXj%XXf%XXg%XXe%XX~PhOc+uOd+sOP%WiQ%WiS%WiU%WiW%WiX%Wi[%Wi]%Wi^%Wi`%Wia%Wib%Wik%Wim%Wio%Wip%Wiq%Wis%Wit%Wiu%Wiv%Wix%Wiy%Wi|%Wi}%Wi!O%Wi!P%Wi!Q%Wi!R%Wi!T%Wi!U%Wi!V%Wi!W%Wi!X%Wi!Y%Wi!Z%Wi![%Wi!]%Wi!^%Wi!`%Wi!a%Wi!c%Wi!m%Wi!o%Wi!s%Wi!y%Wi#W%Wi#b%Wi#d%Wi#e%Wi#p%Wi$T%Wi$]%Wi$^%Wi$a%Wi$d%Wi$l%Wi$z%Wi${%Wi$}%Wi%O%Wi%V%Wi&p%Wi'g%Wi&t%Wi!n%Wih%Wij%Wif%Wig%WiY%Wi_%Wii%Wie%Wi~Oc+yOd+vOh+xO~OY+zO_+{O!n,OO~OY+zO_+{Oi%^X~Oi,QO~Oj,RO~O!m,TO~P9yO!m,VO~Of,WO~OT6gOV,XOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO~P!'WOg,YO~O!y,ZO~OZ(wOn(xOP%liQ%liS%liU%liW%liX%li[%li]%li^%li`%lia%lib%lik%lim%lio%lip%liq%lis%lit%liu%liv%lix%liy%li|%li}%li!O%li!P%li!Q%li!R%li!T%li!U%li!V%li!W%li!X%li!Y%li!Z%li![%li!]%li!^%li!`%li!a%li!c%li!m%li!o%li!s%li!y%li#W%li#b%li#d%li#e%li#p%li$T%li$]%li$^%li$a%li$d%li$l%li$z%li${%li$}%li%O%li%V%li&p%li'g%li&t%li!n%lic%lid%lih%lij%lif%lig%liY%li_%lii%lie%li~O#u,_O~O!}({O!m%da&s%da~O!x,bO~O!s%dO!m&dX!}&dX&s&dX~O!})QO!m'`a&s'`a~OS+^OY,hO]+aOm+^Os$aO!^+dO!_+^O!`+^O!n,kO#b$nO$aqO$drO~P0aO!o)WO~O!o%pO!s'RO~O!s#gO#peO!m&nX!}&nX&s&nX~O!})_O!m'ka&s'ka~O!s,qO~OV,rO!n%|X!}%|X~O!},tO!n'lX~O!n,vO~O!m&UX!}&UX&s&UX#O&UX~P9yO!})iO!m&|a&s&|a#O&|a~Oz#RO#S#QO#z#SO#{#WO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT!uq!S!uq!b!uq!m!uq!v!uq&s!uq!x!uq!n!uq~P!'WO!n,{O~PCqOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x#ia!}#ia~P!'WO!x&YX!}&YX~PAOO!})vO!x'Sa~O#O-PO~O!}-QO!n&{X~O!n-SO~O!x-TO~OT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!}#Vi#X#Vi~P!'WO!x&XX!}&XX~P9yO!}*UO!x'Qa~O!x-ZO~OT#jqz#jq!S#jq!b#jq!m#jq!v#jq#S#jq#u#jq#w#jq#z#jq#{#jq#|#jq#}#jq$O#jq$Q#jq$R#jq$S#jq$T#jq$U#jq$V#jq$W#jq$z#jq&s#jq!x#jq!}#jq#O#jq#X#jq!n#jq!q#jqV#jq~P!'WO#l#oi#U#oi#b#oi~P#*zOz#RO!v!yO#S#QO#z#SO#{#WO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT#Pq!S#Pq!b#Pq!m#Pq&s#Pq!x#Pq!n#Pq~P!'WO#u-cO!x$ca!}$ca~O#U-eO#b-dO~O#b-fO~O#S-gO#U-eO#b-dO#l'SO~O#b-iO#l'SO~O#u-jO!x$ha!}$ha~O!`'mO#S'kO#U'lO#b'jO$drO!x&_X!}&_X~P0aO!}*sO!x'Xa~O!oXO#l'SO~O#S-oO#b-nO!x'[P~O!oXO!q-qO~O!q-tO!o'cq!m'cq&s'cq~O!^-vO!oXO!q-qO~O!q-zO#O-yO~OT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!m$si!}$si&s$si~P!'WO!m$jq&s$jq!x$jq!n$jq~PCqO#O-yO#l'SO~O!}-{Ow']X!o']X!m']X&s']X~O#b$nO#l'SO~OS+^O].QOm+^Os$aO!_+^O!`+^O#b$nO$aqO$drO~P0aOS+^O].QOm+^Os$aO!_+^O!`+^O#b$nO$aqO~P0aOS+^O]+aOm+^Os$aO!^+dO!_+^O!`+^O!n.YO#b$nO$aqO$drO~P0aO!s.]O~O!s.^O#b.^O$}.^O%T+oO~O$}._O~O#X.`O~Oc%Xad%Xah%Xaj%Xaf%Xag%Xae%Xa~PhOc.cOd+sOP%WqQ%WqS%WqU%WqW%WqX%Wq[%Wq]%Wq^%Wq`%Wqa%Wqb%Wqk%Wqm%Wqo%Wqp%Wqq%Wqs%Wqt%Wqu%Wqv%Wqx%Wqy%Wq|%Wq}%Wq!O%Wq!P%Wq!Q%Wq!R%Wq!T%Wq!U%Wq!V%Wq!W%Wq!X%Wq!Y%Wq!Z%Wq![%Wq!]%Wq!^%Wq!`%Wq!a%Wq!c%Wq!m%Wq!o%Wq!s%Wq!y%Wq#W%Wq#b%Wq#d%Wq#e%Wq#p%Wq$T%Wq$]%Wq$^%Wq$a%Wq$d%Wq$l%Wq$z%Wq${%Wq$}%Wq%O%Wq%V%Wq&p%Wq'g%Wq&t%Wq!n%Wqh%Wqj%Wqf%Wqg%WqY%Wq_%Wqi%Wqe%Wq~Oc.hOd+vOh.gO~O!q(`O~OP6ZOQ|OU^OW}O[:dOo>POs#hOx:bOy:bO}`O!O]O!Q:iO!R}O!T:hO!U:cO!V:cO!Y:mO!c8eO!s#gO!y[O#W_O#bhO#daO#ebO#peO$T:fO$]:eO$^:fO$aqO$z:kO${!OO$}}O%O}O%V|O'g{O~O!m.kO!q.kO~OY+zO_+{O!n.mO~OY+zO_+{Oi%^a~O!x.qO~P>UO!m.sO~O!m.sO~P9yOQ|OW}O!R}O$}}O%O}O%V|O'g{O~OT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!m&ka!}&ka&s&ka~P!'WOT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!m$qi!}$qi&s$qi~P!'WOS+^OY.}O].QOm+^Os$aO!_+^O!`+^O#b$nO$aqO$drO~P0aO!s/OO~OS+^OY,hO]+aOm+^Os$aO!^+dO!_+^O!`+^O!n/QO#b$nO$aqO$drO~P0aOw(SO!o)WO#l'SO~OV/TO!m&na!}&na&s&na~O!})_O!m'ki&s'ki~O!s/VO~OV/WO!n%|a!}%|a~O]/YOs/YO!s#gO#peO!n&oX!}&oX~O!},tO!n'la~OT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!m&Ua!}&Ua&s&Ua#O&Ua~P!'WOz#RO#S#QO#z#SO#{#WO#|#XO#}#YO$O#ZO$Q#]O$R#^O$S#_O$T#`O$U#aO$V#bO$W#bO$z#dOT!uy!S!uy!b!uy!m!uy!v!uy&s!uy!x!uy!n!uy~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x#hi!}#hi~P!'WO_)yO!n&VX!}&VX~P9yO!}-QO!n&{a~OT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!}#Vq#X#Vq~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x#[i!}#[i~P!'WOT6gOz6eO!S6hO!b6iO!v8qO#O/aO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!x&Xa!}&Xa~P!'WO#u/gO!x$ci!}$ci~O#b/hO~O#U/jO#b/iO~OT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x$ci!}$ci~P!'WO#u/kO!x$hi!}$hi~O!}/mO!x'[X~O#b/oO~O!x/pO~O!oXO!q/sO~O#l'SO!o'cy!m'cy&s'cy~O!m$jy&s$jy!x$jy!n$jy~PCqO#O/vO#l'SO~O!s#gO#peOw&aX!o&aX!}&aX!m&aX&s&aX~O!}-{Ow']a!o']a!m']a&s']a~OS+^O]0OOm+^Os$aO!_+^O!`+^O#b$nO$aqO~P0aO!m#cO!o0TO&s#cO~O#X0WO~Oh0]O~OT:rOz:nO!S:tO!b:vO!m0^O!q0^O!v=kO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dO~P!'WOY%]a_%]a!n%]ai%]a~PhO!x0`O~O!x0`O~P>UO!m0bO~OT6gOz6eO!S6hO!b6iO!v8qO!x0dO#O0cO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO~P!'WO!x0dO~O!x0eO#b0fO#l'SO~O!x0gO~O!s0hO~O!m#cO#u0jO&s#cO~O!s0kO~O!})_O!m'kq&s'kq~O!s0lO~OV0mO!n%}X!}%}X~OT:rOz:nO!S:tO!b:vO!v=kO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dO!n!|i!}!|i~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x$cq!}$cq~P!'WO#u0tO!x$cq!}$cq~O#b0uO~OT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x$hq!}$hq~P!'WO#S0xO#b0wO!x&`X!}&`X~O!}/mO!x'[a~O#l'SO!o'c!R!m'c!R&s'c!R~O!oXO!q0}O~O!m$j!R&s$j!R!x$j!R!n$j!R~PCqO#O1PO#l'SO~OP6ZOU^O[9UOo>QOs#hOx9UOy9UO}`O!O]O!Q:jO!T9UO!U9UO!V9UO!Y9UO!c8fO!n1[O!s1WO!y[O#W_O#bhO#daO#ebO#peO$T:gO$]9UO$^:gO$aqO$z:lO${!OO~P$;pOh1]O~OY%[i_%[i!n%[ii%[i~PhOY%]i_%]i!n%]ii%]i~PhO!x1`O~O!x1`O~P>UO!x1cO~O!m#cO#u1gO&s#cO~O$}1hO%V1hO~O!s1iO~OV1jO!n%}a!}%}a~OT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x#]i!}#]i~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x$cy!}$cy~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x$hy!}$hy~P!'WO#b1lO~O!}/mO!x'[i~O!m$j!Z&s$j!Z!x$j!Z!n$j!Z~PCqOT:sOz:oO!S:uO!b:wO!v=lO#S#QO#z:qO#{:yO#|:{O#}:}O$O;PO$Q;TO$R;VO$S;XO$T;ZO$U;]O$V;_O$W;_O$z#dO~P!'WOV1sO{1rO~P!5xOV1sO{1rOT&}Xz&}X!S&}X!b&}X!o&}X!v&}X!y&}X#S&}X#W&}X#`&}X#a&}X#s&}X#u&}X#w&}X#z&}X#{&}X#|&}X#}&}X$O&}X$Q&}X$R&}X$S&}X$T&}X$U&}X$V&}X$W&}X$z&}X~OP6ZOU^O[9UOo>QOs#hOx9UOy9UO}`O!O]O!Q:jO!T9UO!U9UO!V9UO!Y9UO!c8fO!n1vO!s1WO!y[O#W_O#bhO#daO#ebO#peO$T:gO$]9UO$^:gO$aqO$z:lO${!OO~P$;pOY%[q_%[q!n%[qi%[q~PhO!x1xO~O!x%gi~PCqOe1yO~O$}1zO%V1zO~O!s1|O~OT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x$c!R!}$c!R~P!'WO!m$j!c&s$j!c!x$j!c!n$j!c~PCqO!s2OO~O!`2QO!s2PO~O!s2TO!m$xi&s$xi~O!s'WO~O!s*]O~OT2aOz2_O!S2bO!b2cO!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dO!m$ka#u$ka#w$ka&s$ka!x$ka!n$ka!q$ka#X$ka!}$ka~P!'WO#S2ZO~P*kO$l$tO~P#.YOT6gOz6eO!S6hO!b6iO!v8qO#O2YO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!m'PX&s'PX!x'PX!n'PX~P!'WOT4dOz4bO!S4eO!b4fO!v6RO#O3sO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!}'PX#X'PX#u'PX#w'PX!m'PX&s'PX!x'PX!n'PXV'PX!q'PX~P!'WO#S3bO~P#.YOT2aOz2_O!S2bO!b2cO!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dO!m$Xa#u$Xa#w$Xa&s$Xa!x$Xa!n$Xa!q$Xa#X$Xa!}$Xa~P!'WOT2aOz2_O!S2bO!b2cO!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dO!m$Ya#u$Ya#w$Ya&s$Ya!x$Ya!n$Ya!q$Ya#X$Ya!}$Ya~P!'WOT2aOz2_O!S2bO!b2cO!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dO!m$Za#u$Za#w$Za&s$Za!x$Za!n$Za!q$Za#X$Za!}$Za~P!'WOT2aOz2_O!S2bO!b2cO!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dO!m$[a#u$[a#w$[a&s$[a!x$[a!n$[a!q$[a#X$[a!}$[a~P!'WOz2_O#u$[a#w$[a!q$[a#X$[a!}$[a~PNyOT2aOz2_O!S2bO!b2cO!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dO!m$_a#u$_a#w$_a&s$_a!x$_a!n$_a!q$_a#X$_a!}$_a~P!'WOT2aOz2_O!S2bO!b2cO!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dO!m$|a#u$|a#w$|a&s$|a!x$|a!n$|a!q$|a#X$|a!}$|a~P!'WOz2_O#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#u#yi#w#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2_O!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dOT#yi!S#yi!b#yi!m#yi#u#yi#w#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOT2aOz2_O!b2cO!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dO!S#yi!m#yi#u#yi#w#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOT2aOz2_O!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dO!S#yi!b#yi!m#yi#u#yi#w#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2_O#S#QO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#u#yi#w#yi#z#yi#{#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2_O#S#QO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#u#yi#w#yi#z#yi#{#yi#|#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2_O#S#QO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2_O#S#QO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2_O$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2_O$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2_O$S2kO$T2lO$U2mO$V2nO$W2nO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2_O$T2lO$V2nO$W2nO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$U#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2_O$V2nO$W2nO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2_O$S2kO$T2lO$V2nO$W2nO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$U#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOz2_O$W2nO$z#dOT#yi!S#yi!b#yi!m#yi!v#yi#S#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi$V#yi&s#yi!x#yi!n#yi!q#yi#X#yi!}#yi~P!'WOT2aOz2_O!S2bO!b2cO!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dO!m#Ta#u#Ta#w#Ta&s#Ta!x#Ta!n#Ta!q#Ta#X#Ta!}#Ta~P!'WOT2aOz2_O!S2bO!b2cO!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dO!m'Pa#u'Pa#w'Pa&s'Pa!x'Pa!n'Pa!q'Pa#X'Pa!}'Pa~P!'WOz2_O!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dOT#Pi!S#Pi!b#Pi!m#Pi#u#Pi#w#Pi&s#Pi!x#Pi!n#Pi!q#Pi#X#Pi!}#Pi~P!'WOz2_O!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dOT#vi!S#vi!b#vi!m#vi#u#vi#w#vi&s#vi!x#vi!n#vi!q#vi#X#vi!}#vi~P!'WOT2aOz2_O!S2bO!b2cO!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dO!m#xi#u#xi#w#xi&s#xi!x#xi!n#xi!q#xi#X#xi!}#xi~P!'WOz2_O#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dOT!uq!S!uq!b!uq!m!uq!v!uq#u!uq#w!uq&s!uq!x!uq!n!uq!q!uq#X!uq!}!uq~P!'WOz2_O!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dOT#Pq!S#Pq!b#Pq!m#Pq#u#Pq#w#Pq&s#Pq!x#Pq!n#Pq!q#Pq#X#Pq!}#Pq~P!'WOT2aOz2_O!S2bO!b2cO!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dO!m$jq#u$jq#w$jq&s$jq!x$jq!n$jq!q$jq#X$jq!}$jq~P!'WOz2_O#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dOT!uy!S!uy!b!uy!m!uy!v!uy#u!uy#w!uy&s!uy!x!uy!n!uy!q!uy#X!uy!}!uy~P!'WOT2aOz2_O!S2bO!b2cO!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dO!m$jy#u$jy#w$jy&s$jy!x$jy!n$jy!q$jy#X$jy!}$jy~P!'WOT2aOz2_O!S2bO!b2cO!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dO!m$j!R#u$j!R#w$j!R&s$j!R!x$j!R!n$j!R!q$j!R#X$j!R!}$j!R~P!'WOT2aOz2_O!S2bO!b2cO!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dO!m$j!Z#u$j!Z#w$j!Z&s$j!Z!x$j!Z!n$j!Z!q$j!Z#X$j!Z!}$j!Z~P!'WOT2aOz2_O!S2bO!b2cO!v4UO#S#QO#z2`O#{2dO#|2eO#}2fO$O2gO$Q2iO$R2jO$S2kO$T2lO$U2mO$V2nO$W2nO$z#dO!m$j!c#u$j!c#w$j!c&s$j!c!x$j!c!n$j!c!q$j!c#X$j!c!}$j!c~P!'WOP6ZOU^O[3}Oo8[Os#hOx3yOy3yO}`O!O]O!Q4_O!T4TO!U3{O!V3{O!Y4aO!c3wO!s#gO!y[O#S3tO#W_O#bhO#daO#ebO#peO$T4RO$]4PO$^4RO$aqO$z4`O${!OO~P$;pOP6ZOU^O[3}Oo8[Os#hOx3yOy3yO}`O!O]O!Q4_O!T4TO!U3{O!V3{O!Y4aO!c3wO!s#gO!y[O#W_O#bhO#daO#ebO#peO$T4RO$]4PO$^4RO$aqO$z4`O${!OO~P$;pO#u2sO#w2tO!q&zX#X&zX!}&zX~P0rOP6ZOU^O[3}Oo8[Or2uOs#hOx3yOy3yO}`O!O]O!Q4_O!T4TO!U3{O!V3{O!Y4aO!c3wO!s#gO!y[O#S2rO#U2qO#W_O#bhO#daO#ebO#peO$T4RO$]4PO$^4RO$aqO$z4`O${!OOT#xXz#xX!S#xX!b#xX!m#xX!o#xX!v#xX#`#xX#a#xX#s#xX#u#xX#w#xX#z#xX#{#xX#|#xX#}#xX$O#xX$Q#xX$R#xX$S#xX$U#xX$V#xX$W#xX&s#xX!x#xX!n#xX!q#xX#X#xX!}#xX~P$;pOP6ZOU^O[3}Oo8[Or4vOs#hOx3yOy3yO}`O!O]O!Q4_O!T4TO!U3{O!V3{O!Y4aO!c3wO!s#gO!y[O#S4sO#U4rO#W_O#bhO#daO#ebO#peO$T4RO$]4PO$^4RO$aqO$z4`O${!OOT#xXz#xX!S#xX!b#xX!o#xX!v#xX!}#xX#O#xX#X#xX#`#xX#a#xX#s#xX#u#xX#w#xX#z#xX#{#xX#|#xX#}#xX$O#xX$Q#xX$R#xX$S#xX$U#xX$V#xX$W#xX!m#xX&s#xX!x#xX!n#xXV#xX!q#xX~P$;pO!q2}O~P>UO!q5{O#O3eO~OT8tOz8rO!S8uO!b8vO!q3fO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO~P!'WO!q5|O#O3iO~O!q5}O#O3mO~O#O3mO#l'SO~O#O3nO#l'SO~O#O3qO#l'SO~OP6ZOU^O[3}Oo8[Os#hOx3yOy3yO}`O!O]O!Q4_O!T4TO!U3{O!V3{O!Y4aO!c3wO!s#gO!y[O#W_O#bhO#daO#ebO#peO$T4RO$]4PO$^4RO$aqO$l$tO$z4`O${!OO~P$;pOP6ZOU^O[3}Oo8[Os#hOx3yOy3yO}`O!O]O!Q4_O!T4TO!U3{O!V3{O!Y4aO!c3wO!s#gO!y[O#S5cO#W_O#bhO#daO#ebO#peO$T4RO$]4PO$^4RO$aqO$z4`O${!OO~P$;pOT4dOz4bO!S4eO!b4fO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!}$Xa#O$Xa#X$Xa#u$Xa#w$Xa!m$Xa&s$Xa!x$Xa!n$XaV$Xa!q$Xa~P!'WOT4dOz4bO!S4eO!b4fO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!}$Ya#O$Ya#X$Ya#u$Ya#w$Ya!m$Ya&s$Ya!x$Ya!n$YaV$Ya!q$Ya~P!'WOT4dOz4bO!S4eO!b4fO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!}$Za#O$Za#X$Za#u$Za#w$Za!m$Za&s$Za!x$Za!n$ZaV$Za!q$Za~P!'WOT4dOz4bO!S4eO!b4fO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!}$[a#O$[a#X$[a#u$[a#w$[a!m$[a&s$[a!x$[a!n$[aV$[a!q$[a~P!'WOz4bO!}$[a#O$[a#X$[a#u$[a#w$[aV$[a!q$[a~PNyOT4dOz4bO!S4eO!b4fO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!}$_a#O$_a#X$_a#u$_a#w$_a!m$_a&s$_a!x$_a!n$_aV$_a!q$_a~P!'WOT4dOz4bO!S4eO!b4fO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!}$|a#O$|a#X$|a#u$|a#w$|a!m$|a&s$|a!x$|a!n$|aV$|a!q$|a~P!'WOz4bO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#X#yi#u#yi#w#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4bO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dOT#yi!S#yi!b#yi!}#yi#O#yi#X#yi#u#yi#w#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOT4dOz4bO!b4fO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!S#yi!}#yi#O#yi#X#yi#u#yi#w#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOT4dOz4bO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!S#yi!b#yi!}#yi#O#yi#X#yi#u#yi#w#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4bO#S#QO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#X#yi#u#yi#w#yi#z#yi#{#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4bO#S#QO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#X#yi#u#yi#w#yi#z#yi#{#yi#|#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4bO#S#QO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#X#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4bO#S#QO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#X#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4bO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4bO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4bO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4bO$T4oO$V4qO$W4qO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$U#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4bO$V4qO$W4qO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4bO$S4nO$T4oO$V4qO$W4qO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$U#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz4bO$W4qO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#u#yi#w#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi$V#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOT4dOz4bO!S4eO!b4fO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!}#Ta#O#Ta#X#Ta#u#Ta#w#Ta!m#Ta&s#Ta!x#Ta!n#TaV#Ta!q#Ta~P!'WOT4dOz4bO!S4eO!b4fO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!}'Pa#O'Pa#X'Pa#u'Pa#w'Pa!m'Pa&s'Pa!x'Pa!n'PaV'Pa!q'Pa~P!'WOz4bO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dOT#Pi!S#Pi!b#Pi!}#Pi#O#Pi#X#Pi#u#Pi#w#Pi!m#Pi&s#Pi!x#Pi!n#PiV#Pi!q#Pi~P!'WOz4bO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dOT#vi!S#vi!b#vi!}#vi#O#vi#X#vi#u#vi#w#vi!m#vi&s#vi!x#vi!n#viV#vi!q#vi~P!'WOT4dOz4bO!S4eO!b4fO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!}#xi#O#xi#X#xi#u#xi#w#xi!m#xi&s#xi!x#xi!n#xiV#xi!q#xi~P!'WOz4bO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dOT!uq!S!uq!b!uq!v!uq!}!uq#O!uq#X!uq#u!uq#w!uq!m!uq&s!uq!x!uq!n!uqV!uq!q!uq~P!'WOz4bO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dOT#Pq!S#Pq!b#Pq!}#Pq#O#Pq#X#Pq#u#Pq#w#Pq!m#Pq&s#Pq!x#Pq!n#PqV#Pq!q#Pq~P!'WOT4dOz4bO!S4eO!b4fO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!}$jq#O$jq#X$jq#u$jq#w$jq!m$jq&s$jq!x$jq!n$jqV$jq!q$jq~P!'WOz4bO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dOT!uy!S!uy!b!uy!v!uy!}!uy#O!uy#X!uy#u!uy#w!uy!m!uy&s!uy!x!uy!n!uyV!uy!q!uy~P!'WOT4dOz4bO!S4eO!b4fO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!}$jy#O$jy#X$jy#u$jy#w$jy!m$jy&s$jy!x$jy!n$jyV$jy!q$jy~P!'WOT4dOz4bO!S4eO!b4fO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!}$j!R#O$j!R#X$j!R#u$j!R#w$j!R!m$j!R&s$j!R!x$j!R!n$j!RV$j!R!q$j!R~P!'WOT4dOz4bO!S4eO!b4fO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!}$j!Z#O$j!Z#X$j!Z#u$j!Z#w$j!Z!m$j!Z&s$j!Z!x$j!Z!n$j!ZV$j!Z!q$j!Z~P!'WOT4dOz4bO!S4eO!b4fO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!}$j!c#O$j!c#X$j!c#u$j!c#w$j!c!m$j!c&s$j!c!x$j!c!n$j!cV$j!c!q$j!c~P!'WO#S5uO~P#.YO!y$hO#S5yO~O!x4XO#l'SO~O!y$hO#S5zO~OT4dOz4bO!S4eO!b4fO!v6RO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!}$ka#O$ka#X$ka#u$ka#w$ka!m$ka&s$ka!x$ka!n$kaV$ka!q$ka~P!'WOT4dOz4bO!S4eO!b4fO!v6RO#O5tO#S#QO#z4cO#{4gO#|4hO#}4iO$O4jO$Q4lO$R4mO$S4nO$T4oO$U4pO$V4qO$W4qO$z#dO!m'PX#u'PX#w'PX&s'PX!x'PX!n'PX!q'PX#X'PX!}'PX~P!'WO#u4tO#w4uO!}&zX#O&zX#X&zXV&zX!q&zX~P0rO!q5OO~P>UO!q8`O#O5fO~OT8tOz8rO!S8uO!b8vO!q5gO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO~P!'WO!q8aO#O5jO~O!q8bO#O5nO~O#O5nO#l'SO~O#O5oO#l'SO~O#O5rO#l'SO~O$l$tO~P9yOo5xOs$lO~O#S7mO~P9yOT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!}$Xa#O$Xa#X$Xa!m$Xa&s$Xa!x$Xa!n$XaV$Xa!q$Xa~P!'WOT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!}$Ya#O$Ya#X$Ya!m$Ya&s$Ya!x$Ya!n$YaV$Ya!q$Ya~P!'WOT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!}$Za#O$Za#X$Za!m$Za&s$Za!x$Za!n$ZaV$Za!q$Za~P!'WOT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!}$[a#O$[a#X$[a!m$[a&s$[a!x$[a!n$[aV$[a!q$[a~P!'WOz6eO!}$[a#O$[a#X$[aV$[a!q$[a~PNyOT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!}$_a#O$_a#X$_a!m$_a&s$_a!x$_a!n$_aV$_a!q$_a~P!'WOT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!}$ka#O$ka#X$ka!m$ka&s$ka!x$ka!n$kaV$ka!q$ka~P!'WOT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!}$|a#O$|a#X$|a!m$|a&s$|a!x$|a!n$|aV$|a!q$|a~P!'WOT8tOz8rO!S8uO!b8vO!v=XO!}7qO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x'jX~P!'WOT8tOz8rO!S8uO!b8vO!v=XO!}7sO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x&|X~P!'WOz6eO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#X#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6eO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dOT#yi!S#yi!b#yi!}#yi#O#yi#X#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOT6gOz6eO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!S#yi!}#yi#O#yi#X#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOT6gOz6eO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!S#yi!b#yi!}#yi#O#yi#X#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6eO#S#QO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#X#yi#z#yi#{#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6eO#S#QO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#X#yi#z#yi#{#yi#|#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6eO#S#QO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#X#yi#z#yi#{#yi#|#yi#}#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6eO#S#QO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#X#yi#z#yi#{#yi#|#yi#}#yi$O#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6eO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#z#yi#{#yi#|#yi#}#yi$O#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6eO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6eO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6eO$T6rO$V6tO$W6tO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$U#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6eO$V6tO$W6tO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6eO$S6qO$T6rO$V6tO$W6tO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$U#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WOz6eO$W6tO$z#dOT#yi!S#yi!b#yi!v#yi!}#yi#O#yi#S#yi#X#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi$V#yi!m#yi&s#yi!x#yi!n#yiV#yi!q#yi~P!'WO#S7xO~P>UO!m#Ta&s#Ta!x#Ta!n#Ta~PCqO!m'Pa&s'Pa!x'Pa!n'Pa~PCqO#S;bO#U;aO!x&WX!}&WX~P9yO!}7jO!x'Oa~Oz6eO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dOT#Pi!S#Pi!b#Pi!}#Pi#O#Pi#X#Pi!m#Pi&s#Pi!x#Pi!n#PiV#Pi!q#Pi~P!'WOz6eO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dOT#vi!S#vi!b#vi!}#vi#O#vi#X#vi!m#vi&s#vi!x#vi!n#viV#vi!q#vi~P!'WOT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!}#xi#O#xi#X#xi!m#xi&s#xi!x#xi!n#xiV#xi!q#xi~P!'WO!}7qO!x%da~O!x&UX!}&UX~P>UO!}7sO!x&|a~Oz6eO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dOT!uq!S!uq!b!uq!v!uq!}!uq#O!uq#X!uq!m!uq&s!uq!x!uq!n!uqV!uq!q!uq~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x#Vi!}#Vi~P!'WOz6eO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dOT#Pq!S#Pq!b#Pq!}#Pq#O#Pq#X#Pq!m#Pq&s#Pq!x#Pq!n#PqV#Pq!q#Pq~P!'WOT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!}$jq#O$jq#X$jq!m$jq&s$jq!x$jq!n$jqV$jq!q$jq~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x&ka!}&ka~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x&Ua!}&Ua~P!'WOz6eO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dOT!uy!S!uy!b!uy!v!uy!}!uy#O!uy#X!uy!m!uy&s!uy!x!uy!n!uyV!uy!q!uy~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x#Vq!}#Vq~P!'WOT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!}$jy#O$jy#X$jy!m$jy&s$jy!x$jy!n$jyV$jy!q$jy~P!'WOT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!}$j!R#O$j!R#X$j!R!m$j!R&s$j!R!x$j!R!n$j!RV$j!R!q$j!R~P!'WOT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!}$j!Z#O$j!Z#X$j!Z!m$j!Z&s$j!Z!x$j!Z!n$j!ZV$j!Z!q$j!Z~P!'WOT6gOz6eO!S6hO!b6iO!v8qO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!}$j!c#O$j!c#X$j!c!m$j!c&s$j!c!x$j!c!n$j!cV$j!c!q$j!c~P!'WO#S8YO~P9yO#O8XO!m'PX&s'PX!x'PX!n'PXV'PX!q'PX~PGSO!y$hO#S8^O~O!y$hO#S8_O~O#u6xO#w6yO!}&zX#O&zX#X&zXV&zX!q&zX~P0rOr6zO#S#oO#U#nO!}#xX#O#xX#X#xXV#xX!q#xX~P2yOr;gO#S9VO#U9TOT#xXz#xX!S#xX!b#xX!m#xX!o#xX!q#xX!v#xX#`#xX#a#xX#s#xX#z#xX#{#xX#|#xX#}#xX$O#xX$Q#xX$R#xX$S#xX$U#xX$V#xX$W#xX!n#xX!}#xX~P9yOr9UO#S9UO#U9UOT#xXz#xX!S#xX!b#xX!o#xX!v#xX#`#xX#a#xX#s#xX#z#xX#{#xX#|#xX#}#xX$O#xX$Q#xX$R#xX$S#xX$U#xX$V#xX$W#xX~P9yOr9ZO#S;bO#U;aOT#xXz#xX!S#xX!b#xX!o#xX!q#xX!v#xX#`#xX#a#xX#s#xX#z#xX#{#xX#|#xX#}#xX$O#xX$Q#xX$R#xX$S#xX$U#xX$V#xX$W#xX#X#xX!x#xX!}#xX~P9yO$l$tO~P>UO!q7VO~P>UOT6gOz6eO!S6hO!b6iO!v8qO#O7gO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!x'PX!}'PX~P!'WOP6ZOU^O[9UOo>QOs#hOx9UOy9UO}`O!O]O!Q:jO!T9UO!U9UO!V9UO!Y9UO!c8fO!s#gO!y[O#W_O#bhO#daO#ebO#peO$T:gO$]9UO$^:gO$aqO$z:lO${!OO~P$;pO!}7jO!x'OX~O#S9wO~P>UOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!q$Xa#X$Xa!x$Xa!}$Xa~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!q$Ya#X$Ya!x$Ya!}$Ya~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!q$Za#X$Za!x$Za!}$Za~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!q$[a#X$[a!x$[a!}$[a~P!'WOz8rO$z#dOT$[a!S$[a!b$[a!q$[a!v$[a#S$[a#z$[a#{$[a#|$[a#}$[a$O$[a$Q$[a$R$[a$S$[a$T$[a$U$[a$V$[a$W$[a#X$[a!x$[a!}$[a~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!q$_a#X$_a!x$_a!}$_a~P!'WO!q=bO#O7pO~OT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!q$ka#X$ka!x$ka!}$ka~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!q$|a#X$|a!x$|a!}$|a~P!'WOT8tOz8rO!S8uO!b8vO!q7uO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO~P!'WOz8rO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#X#yi!x#yi!}#yi~P!'WOz8rO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dOT#yi!S#yi!b#yi!q#yi#X#yi!x#yi!}#yi~P!'WOT8tOz8rO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!S#yi!q#yi#X#yi!x#yi!}#yi~P!'WOT8tOz8rO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!S#yi!b#yi!q#yi#X#yi!x#yi!}#yi~P!'WOz8rO#S#QO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#z#yi#{#yi#X#yi!x#yi!}#yi~P!'WOz8rO#S#QO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#z#yi#{#yi#|#yi#X#yi!x#yi!}#yi~P!'WOz8rO#S#QO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#z#yi#{#yi#|#yi#}#yi#X#yi!x#yi!}#yi~P!'WOz8rO#S#QO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#z#yi#{#yi#|#yi#}#yi$O#yi#X#yi!x#yi!}#yi~P!'WOz8rO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi#X#yi!x#yi!}#yi~P!'WOz8rO$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi#X#yi!x#yi!}#yi~P!'WOz8rO$S9OO$T9PO$U9QO$V9RO$W9RO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi#X#yi!x#yi!}#yi~P!'WOz8rO$T9PO$V9RO$W9RO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$U#yi#X#yi!x#yi!}#yi~P!'WOz8rO$V9RO$W9RO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi#X#yi!x#yi!}#yi~P!'WOz8rO$S9OO$T9PO$V9RO$W9RO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$U#yi#X#yi!x#yi!}#yi~P!'WOz8rO$W9RO$z#dOT#yi!S#yi!b#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi$V#yi#X#yi!x#yi!}#yi~P!'WOz8rO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dOT#Pi!S#Pi!b#Pi!q#Pi#X#Pi!x#Pi!}#Pi~P!'WOz8rO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dOT#vi!S#vi!b#vi!q#vi#X#vi!x#vi!}#vi~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!q#xi#X#xi!x#xi!}#xi~P!'WO!q=cO#O7zO~Oz8rO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dOT!uq!S!uq!b!uq!q!uq!v!uq#X!uq!x!uq!}!uq~P!'WOz8rO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dOT#Pq!S#Pq!b#Pq!q#Pq#X#Pq!x#Pq!}#Pq~P!'WO!q=gO#O8RO~OT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!q$jq#X$jq!x$jq!}$jq~P!'WO#O8RO#l'SO~Oz8rO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dOT!uy!S!uy!b!uy!q!uy!v!uy#X!uy!x!uy!}!uy~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!q$jy#X$jy!x$jy!}$jy~P!'WO#O8SO#l'SO~OT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!q$j!R#X$j!R!x$j!R!}$j!R~P!'WO#O8VO#l'SO~OT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!q$j!Z#X$j!Z!x$j!Z!}$j!Z~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!q$j!c#X$j!c!x$j!c!}$j!c~P!'WO#S:`O~P>UO#O:_O!q'PX!x'PX~PGSO$l$tO~P$8^OP6ZOU^O[9UOo>QOs#hOx9UOy9UO}`O!O]O!Q:jO!T9UO!U9UO!V9UO!Y9UO!c8fO!s#gO!y[O#W_O#bhO#daO#ebO#peO$T:gO$]9UO$^:gO$aqO$l$tO$z:lO${!OO~P$;pOo8]Os$lO~O#S<hO~P$8^OP6ZOU^O[9UOo>QOs#hOx9UOy9UO}`O!O]O!Q:jO!T9UO!U9UO!V9UO!Y9UO!c8fO!s#gO!y[O#S<iO#W_O#bhO#daO#ebO#peO$T:gO$]9UO$^:gO$aqO$z:lO${!OO~P$;pOT:rOz:nO!S:tO!b:vO!v=kO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dO!m$Xa!q$Xa!n$Xa!}$Xa~P!'WOT:rOz:nO!S:tO!b:vO!v=kO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dO!m$Ya!q$Ya!n$Ya!}$Ya~P!'WOT:rOz:nO!S:tO!b:vO!v=kO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dO!m$Za!q$Za!n$Za!}$Za~P!'WOT:rOz:nO!S:tO!b:vO!v=kO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dO!m$[a!q$[a!n$[a!}$[a~P!'WOz:nO$z#dOT$[a!S$[a!b$[a!m$[a!q$[a!v$[a#S$[a#z$[a#{$[a#|$[a#}$[a$O$[a$Q$[a$R$[a$S$[a$T$[a$U$[a$V$[a$W$[a!n$[a!}$[a~P!'WOz:oO$z#dOT$[a!S$[a!b$[a!v$[a#S$[a#z$[a#{$[a#|$[a#}$[a$O$[a$Q$[a$R$[a$S$[a$T$[a$U$[a$V$[a$W$[a~P!'WOT:rOz:nO!S:tO!b:vO!v=kO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dO!m$_a!q$_a!n$_a!}$_a~P!'WOT:rOz:nO!S:tO!b:vO!v=kO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dO!m$ka!q$ka!n$ka!}$ka~P!'WOT:rOz:nO!S:tO!b:vO!v=kO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dO!m$|a!q$|a!n$|a!}$|a~P!'WOz:nO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dOT#yi!S#yi!b#yi!m#yi!q#yi!v#yi!n#yi!}#yi~P!'WOz:oO#S#QO#z:qO#{:yO#|:{O#}:}O$O;PO$Q;TO$R;VO$S;XO$T;ZO$U;]O$V;_O$W;_O$z#dOT#yi!S#yi!b#yi!v#yi~P!'WOz:nO!v=kO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dOT#yi!S#yi!b#yi!m#yi!q#yi!n#yi!}#yi~P!'WOz:oO!v=lO#S#QO#z:qO#{:yO#|:{O#}:}O$O;PO$Q;TO$R;VO$S;XO$T;ZO$U;]O$V;_O$W;_O$z#dOT#yi!S#yi!b#yi~P!'WOT:rOz:nO!b:vO!v=kO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dO!S#yi!m#yi!q#yi!n#yi!}#yi~P!'WOT:sOz:oO!b:wO!v=lO#S#QO#z:qO#{:yO#|:{O#}:}O$O;PO$Q;TO$R;VO$S;XO$T;ZO$U;]O$V;_O$W;_O$z#dO!S#yi~P!'WOT:rOz:nO!v=kO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dO!S#yi!b#yi!m#yi!q#yi!n#yi!}#yi~P!'WOT:sOz:oO!v=lO#S#QO#z:qO#{:yO#|:{O#}:}O$O;PO$Q;TO$R;VO$S;XO$T;ZO$U;]O$V;_O$W;_O$z#dO!S#yi!b#yi~P!'WOz:nO#S#QO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dOT#yi!S#yi!b#yi!m#yi!q#yi!v#yi#z#yi#{#yi!n#yi!}#yi~P!'WOz:oO#S#QO#|:{O#}:}O$O;PO$Q;TO$R;VO$S;XO$T;ZO$U;]O$V;_O$W;_O$z#dOT#yi!S#yi!b#yi!v#yi#z#yi#{#yi~P!'WOz:nO#S#QO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dOT#yi!S#yi!b#yi!m#yi!q#yi!v#yi#z#yi#{#yi#|#yi!n#yi!}#yi~P!'WOz:oO#S#QO#}:}O$O;PO$Q;TO$R;VO$S;XO$T;ZO$U;]O$V;_O$W;_O$z#dOT#yi!S#yi!b#yi!v#yi#z#yi#{#yi#|#yi~P!'WOz:nO#S#QO$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dOT#yi!S#yi!b#yi!m#yi!q#yi!v#yi#z#yi#{#yi#|#yi#}#yi!n#yi!}#yi~P!'WOz:oO#S#QO$O;PO$Q;TO$R;VO$S;XO$T;ZO$U;]O$V;_O$W;_O$z#dOT#yi!S#yi!b#yi!v#yi#z#yi#{#yi#|#yi#}#yi~P!'WOz:nO#S#QO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dOT#yi!S#yi!b#yi!m#yi!q#yi!v#yi#z#yi#{#yi#|#yi#}#yi$O#yi!n#yi!}#yi~P!'WOz:oO#S#QO$Q;TO$R;VO$S;XO$T;ZO$U;]O$V;_O$W;_O$z#dOT#yi!S#yi!b#yi!v#yi#z#yi#{#yi#|#yi#}#yi$O#yi~P!'WOz:nO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dOT#yi!S#yi!b#yi!m#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi!n#yi!}#yi~P!'WOz:oO$Q;TO$R;VO$S;XO$T;ZO$U;]O$V;_O$W;_O$z#dOT#yi!S#yi!b#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi~P!'WOz:nO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dOT#yi!S#yi!b#yi!m#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi!n#yi!}#yi~P!'WOz:oO$R;VO$S;XO$T;ZO$U;]O$V;_O$W;_O$z#dOT#yi!S#yi!b#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi~P!'WOz:nO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dOT#yi!S#yi!b#yi!m#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi!n#yi!}#yi~P!'WOz:oO$S;XO$T;ZO$U;]O$V;_O$W;_O$z#dOT#yi!S#yi!b#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi~P!'WOz:nO$T;YO$V;^O$W;^O$z#dOT#yi!S#yi!b#yi!m#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$U#yi!n#yi!}#yi~P!'WOz:oO$T;ZO$V;_O$W;_O$z#dOT#yi!S#yi!b#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$U#yi~P!'WOz:nO$V;^O$W;^O$z#dOT#yi!S#yi!b#yi!m#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi!n#yi!}#yi~P!'WOz:oO$V;_O$W;_O$z#dOT#yi!S#yi!b#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi~P!'WOz:nO$S;WO$T;YO$V;^O$W;^O$z#dOT#yi!S#yi!b#yi!m#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$U#yi!n#yi!}#yi~P!'WOz:oO$S;XO$T;ZO$V;_O$W;_O$z#dOT#yi!S#yi!b#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$U#yi~P!'WOz:nO$W;^O$z#dOT#yi!S#yi!b#yi!m#yi!q#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi$V#yi!n#yi!}#yi~P!'WOz:oO$W;_O$z#dOT#yi!S#yi!b#yi!v#yi#S#yi#z#yi#{#yi#|#yi#}#yi$O#yi$Q#yi$R#yi$S#yi$T#yi$U#yi$V#yi~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x#Ta!}#Ta!q#Ta#X#Ta~P!'WOT8tOz8rO!S8uO!b8vO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO!x'Pa!}'Pa!q'Pa#X'Pa~P!'WOz:nO!v=kO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dOT#Pi!S#Pi!b#Pi!m#Pi!q#Pi!n#Pi!}#Pi~P!'WOz:oO!v=lO#S#QO#z:qO#{:yO#|:{O#}:}O$O;PO$Q;TO$R;VO$S;XO$T;ZO$U;]O$V;_O$W;_O$z#dOT#Pi!S#Pi!b#Pi~P!'WOz:nO!v=kO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dOT#vi!S#vi!b#vi!m#vi!q#vi!n#vi!}#vi~P!'WOz:oO!v=lO#S#QO#z:qO#{:yO#|:{O#}:}O$O;PO$Q;TO$R;VO$S;XO$T;ZO$U;]O$V;_O$W;_O$z#dOT#vi!S#vi!b#vi~P!'WOT:rOz:nO!S:tO!b:vO!v=kO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dO!m#xi!q#xi!n#xi!}#xi~P!'WOz:nO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dOT!uq!S!uq!b!uq!m!uq!q!uq!v!uq!n!uq!}!uq~P!'WOz:oO#S#QO#z:qO#{:yO#|:{O#}:}O$O;PO$Q;TO$R;VO$S;XO$T;ZO$U;]O$V;_O$W;_O$z#dOT!uq!S!uq!b!uq!v!uq~P!'WOz:nO!v=kO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dOT#Pq!S#Pq!b#Pq!m#Pq!q#Pq!n#Pq!}#Pq~P!'WOz:oO!v=lO#S#QO#z:qO#{:yO#|:{O#}:}O$O;PO$Q;TO$R;VO$S;XO$T;ZO$U;]O$V;_O$W;_O$z#dOT#Pq!S#Pq!b#Pq~P!'WOT:rOz:nO!S:tO!b:vO!v=kO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dO!m$jq!q$jq!n$jq!}$jq~P!'WOz:nO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dOT!uy!S!uy!b!uy!m!uy!q!uy!v!uy!n!uy!}!uy~P!'WOz:oO#S#QO#z:qO#{:yO#|:{O#}:}O$O;PO$Q;TO$R;VO$S;XO$T;ZO$U;]O$V;_O$W;_O$z#dOT!uy!S!uy!b!uy!v!uy~P!'WOT:rOz:nO!S:tO!b:vO!v=kO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dO!m$jy!q$jy!n$jy!}$jy~P!'WOT:rOz:nO!S:tO!b:vO!v=kO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dO!m$j!R!q$j!R!n$j!R!}$j!R~P!'WOT:rOz:nO!S:tO!b:vO!v=kO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dO!m$j!Z!q$j!Z!n$j!Z!}$j!Z~P!'WOT:rOz:nO!S:tO!b:vO!v=kO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dO!m$j!c!q$j!c!n$j!c!}$j!c~P!'WO#S=RO~P$8^OP6ZOU^O[9UOo>QOs#hOx9UOy9UO}`O!O]O!Q:jO!T9UO!U9UO!V9UO!Y9UO!c8fO!s#gO!y[O#S=SO#W_O#bhO#daO#ebO#peO$T:gO$]9UO$^:gO$aqO$z:lO${!OO~P$;pOT6gOz6eO!S6hO!b6iO!v8qO#O=QO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO~P!'WOT6gOz6eO!S6hO!b6iO!v8qO#O=PO#S#QO#z6fO#{6jO#|6kO#}6lO$O6mO$Q6oO$R6pO$S6qO$T6rO$U6sO$V6tO$W6tO$z#dO!m'PX!q'PX!n'PX!}'PX~P!'WOT&zXz&zX!S&zX!b&zX!o&zX!q&zX!v&zX!y&zX#S&zX#W&zX#`&zX#a&zX#s&zX#z&zX#{&zX#|&zX#}&zX$O&zX$Q&zX$R&zX$S&zX$T&zX$U&zX$V&zX$W&zX$z&zX!}&zX~O#u9XO#w9YO#X&zX!x&zX~P.9XO!y$hO#S=[O~O!q9fO~P>UO!y$hO#S=aO~O!q=|O#O9{O~OT8tOz8rO!S8uO!b8vO!q9|O!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO~P!'WOT:rOz:nO!S:tO!b:vO!v=kO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dO!m#Ta!q#Ta!n#Ta!}#Ta~P!'WOT:rOz:nO!S:tO!b:vO!v=kO#S#QO#z:pO#{:xO#|:zO#}:|O$O;OO$Q;SO$R;UO$S;WO$T;YO$U;[O$V;^O$W;^O$z#dO!m'Pa!q'Pa!n'Pa!}'Pa~P!'WO!q=}O#O:PO~O!q>OO#O:WO~O#O:WO#l'SO~O#O:XO#l'SO~O#O:]O#l'SO~O#u;cO#w;eO!m&zX!n&zX~P.9XO#u;dO#w;fOT&zXz&zX!S&zX!b&zX!o&zX!v&zX!y&zX#S&zX#W&zX#`&zX#a&zX#s&zX#z&zX#{&zX#|&zX#}&zX$O&zX$Q&zX$R&zX$S&zX$T&zX$U&zX$V&zX$W&zX$z&zX~O!q;rO~P>UO!q;sO~P>UO!q>VO#O<mO~O!q>WO#O9UO~OT8tOz8rO!S8uO!b8vO!q<nO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO~P!'WOT8tOz8rO!S8uO!b8vO!q<oO!v=XO#S#QO#z8sO#{8wO#|8xO#}8yO$O8zO$Q8|O$R8}O$S9OO$T9PO$U9QO$V9RO$W9RO$z#dO~P!'WO!q>XO#O<tO~O!q>YO#O<yO~O#O<yO#l'SO~O#O9UO#l'SO~O#O<zO#l'SO~O#O<}O#l'SO~O!y$hO#S=zO~Oo=YOs$lO~O!y$hO#S={O~O!y$hO#S>SO~O!y$hO#S>TO~O!y$hO#S>UO~Oo=yOs$lO~Oo>ROs$lO~Oo>QOs$lO~O%O$U$}$d!d$V#b%V#e'g!s#d~",goto:"%'X'mPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP'nP'uPP'{(OPPP(hP(OP(O*ZP*ZPP2W:j:mPP*Z:sBpPBsPBsPP:sCSCVCZ:s:sPPPC^PP:sK^!$S!$S:s!$WP!$W!$W!%XP!.c!7yP!?xP*ZP*Z*ZPPPPP!?{PPPPPPP*Z*Z*Z*ZPP*Z*ZP!Ef!G[P!G`!HS!G[!G[!HY*Z*ZP!Hc!Hu!Ik!Ji!Jo!Ji!Jz!Ji!Ji!K]!K`!K`*ZPP*ZPP!Kd#%b#%b#%fP#%lP(O#%p(O#&Y#&]#&]#&c(O#&f(O(O#&l#&o(O#&x#&{(O(O(O(O(O#'O(O(O(O(O(O(O(O(O(O#'R#'e(O(O#'i#'y#'|(O(OP#(P#(W#(^#(y#)T#)Z#)e#)l#)r#*n#4f#5b#5h#5n#5x#6O#6U#6d#6j#6p#6v#6|#7S#7Y#7d#7n#7t#7z#8UPPPPPPPP#8[#8`#9U#NV#NY#Nd$(m$(y$)`$)f$)i$)l$)r$,c$6T$>j$>m$>s$>v$>y$?S$?[$?f$?x$Bx$C`$DZ$LZPP%&X%&]%&i%'O%'UQ!nQT!qV!rQUOR%x!mRVO}!hPVX!S!j!r!s!w$}%P%S%U(`+r+u.a.c.k0^0_0g1_|!hPVX!S!j!r!s!w$}%P%S%U(`+r+u.a.c.k0^0_0g1_Q%^!ZQ%g!aQ%l!eQ'd$dQ'q$iQ)[%kQ*y'tQ,](xU-m*v*x+OQ.V+cQ.z,[S/r-r-sQ0R.RS0{/q/uQ1T0PQ1m0|R1}1n0u!OPVX[_bjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!{!}#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b#k#n#o#s#t$R$S$U$y$}%P%R%S%T%U%c%}&S&W&p&s&t&w'O'U'Y'z(O(`(l({)P)i)p)t)v*P*T*U*o+P+r+u+z,T,V,X-P-Q-c-j-y.a.c.k.s/a/g/k/v0T0^0_0b0c0g0t1P1Z1_2Y2Z2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2q2r2s2t2u2}3b3e3f3i3m3n3q3s3t3v3w3x3y3z3{3|3}4O4P4Q4R4S4T4U4X4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v5O5c5f5g5j5n5o5r5t5u6R6[6]6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6v6w6x6y6z7V7g7j7m7p7q7s7u7x7z8R8S8V8X8Y8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9T9U9V9X9Y9Z9f9w9{9|:P:W:X:]:_:`:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:};O;P;Q;R;S;T;U;V;W;X;Y;Z;[;];^;_;a;b;c;d;e;f;g;r;s<h<i<m<n<o<t<y<z<}=P=Q=R=S=X=k=l0t!OPVX[_bjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!{!}#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b#k#n#o#s#t$R$S$U$y$}%P%R%S%T%U%c%}&S&W&p&s&t&w'O'U'Y'z(O(`(l({)P)i)p)t)v*P*T*U*o+P+r+u+z,T,V,X-P-Q-c-j-y.a.c.k.s/a/g/k/v0T0^0_0b0c0g0t1P1Z1_2Y2Z2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2q2r2s2t2u2}3b3e3f3i3m3n3q3s3t3v3w3x3y3z3{3|3}4O4P4Q4R4S4T4U4X4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v5O5c5f5g5j5n5o5r5t5u6R6[6]6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6v6w6x6y6z7V7g7j7m7p7q7s7u7x7z8R8S8V8X8Y8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9T9U9V9X9Y9Z9f9w9{9|:P:W:X:]:_:`:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:};O;P;Q;R;S;T;U;V;W;X;Y;Z;[;];^;_;a;b;c;d;e;f;g;r;s<h<i<m<n<o<t<y<z<}=P=Q=R=S=X=k=lQ#j]Q$}!PQ%O!QQ%P!RQ,S(kQ.a+sR.e+vR&q#jQ)z&pR/_-Q0uhPVX[_bjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!{!}#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b#k#n#o#s#t$R$S$U$y$}%P%R%S%T%U%c%}&S&W&p&s&t&w'O'U'Y'z(O(`(l({)P)i)p)t)v*P*T*U*o+P+r+u+z,T,V,X-P-Q-c-j-y.a.c.k.s/a/g/k/v0T0^0_0b0c0g0t1P1Z1_2Y2Z2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2q2r2s2t2u2}3b3e3f3i3m3n3q3s3t3v3w3x3y3z3{3|3}4O4P4Q4R4S4T4U4X4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v5O5c5f5g5j5n5o5r5t5u6R6[6]6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6v6w6x6y6z7V7g7j7m7p7q7s7u7x7z8R8S8V8X8Y8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9T9U9V9X9Y9Z9f9w9{9|:P:W:X:]:_:`:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:};O;P;Q;R;S;T;U;V;W;X;Y;Z;[;];^;_;a;b;c;d;e;f;g;r;s<h<i<m<n<o<t<y<z<}=P=Q=R=S=X=k=lR#l^k#p_j#k#s&s&w3v3w7j8d8e8f8gR#u`T&|#t'OR-X*U0thPVX[_bjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!{!}#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b#k#n#o#s#t$R$S$U$y$}%P%R%S%T%U%c%}&S&W&p&s&t&w'O'U'Y'z(O(`(l({)P)i)p)t)v*P*T*U*o+P+r+u+z,T,V,X-P-Q-c-j-y.a.c.k.s/a/g/k/v0T0^0_0b0c0g0t1P1Z1_2Y2Z2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2q2r2s2t2u2}3b3e3f3i3m3n3q3s3t3v3w3x3y3z3{3|3}4O4P4Q4R4S4T4U4X4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v5O5c5f5g5j5n5o5r5t5u6R6[6]6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6v6w6x6y6z7V7g7j7m7p7q7s7u7x7z8R8S8V8X8Y8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9T9U9V9X9Y9Z9f9w9{9|:P:W:X:]:_:`:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:};O;P;Q;R;S;T;U;V;W;X;Y;Z;[;];^;_;a;b;c;d;e;f;g;r;s<h<i<m<n<o<t<y<z<}=P=Q=R=S=X=k=lR#va-r#OZ#f#m#w$V$W$X$Y$Z$[$u$v%W%Y%[%`%s%|&O&Q&U&^&_&`&a&b&c&d&e&f&g&h&i&j&k&l&m&u&v&{'X'Z'[(](p)q)s)u*O*[*^+S+V,`,c,x,z,|-U-V-W-h-w.j.v/^/f/l/w0p0s0v1O1V1b1k1o2o2p2v2w2x2y2z2{2|3O3P3Q3R3S3T3U3V3W3X3Y3Z3[3]3^3_3`3a3c3d3g3h3j3k3l3o3p3r4W4w4x4y4z4{4|4}5P5Q5R5S5T5U5V5W5X5Y5Z5[5]5^5_5`5a5b5d5e5h5i5k5l5m5p5q5s6P6T6{6|6}7O7P7Q7S7T7U7W7X7Y7Z7[7]7^7_7`7a7b7c7d7e7f7h7i7l7n7o7v7w7y7{7|7}8O8P8Q8T8U8W8Z9S9[9]9^9_9`9a9d9e9g9h9i9j9k9l9m9n9o9p9q9r9s9t9u9v9x9y9}:O:R:T:U:Y:[:^:a;h;i;j;k;l;m;n;q;t;u;v;w;x;y;z;{;|;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<[<]<^<_<`<a<b<c<d<e<f<g<j<k<l<p<q<r<s<u<v<w<x<{<|=O=T=U=]=^=_=o=pQ']$]Y(Q$s7R9c;o;pS(U2X6OR(X$tT&X!})v!}$Qg#}$h'S'i'm'r(P(T)W)Z*f*s*z*}+Q+]+`+g,Z,g,j-q-t-z.P/s0}5{5|5}6Z8`8a8b=b=c=g=|=}>O>V>W>X>Y3afPVX[_bgjklmnoprxyz!S!W!X!Y!]!e!f!g!j!r!s!w!y!z!{!}#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b#k#n#o#s#t#}$R$S$U$h$y$}%P%R%S%T%U%c%p%r%}&S&W&p&s&t&w'O'S'U'Y'^'i'm'r'z(O(P(R(S(T(`(l({)P)W)Z)_)c)i)p)t)v*P*T*U*f*o*s*z*}+P+Q+]+`+d+g+r+u+z,T,V,X,Z,g,j,t-P-Q-c-j-q-t-y-z-{.P.a.c.k.s/Y/a/g/k/s/v0T0^0_0b0c0g0t0}1P1Z1_2Y2Z2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2q2r2s2t2u2}3b3e3f3i3m3n3q3s3t3v3w3x3y3z3{3|3}4O4P4Q4R4S4T4U4X4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v5O5c5f5g5j5n5o5r5t5u5{5|5}6R6Z6[6]6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6v6w6x6y6z7V7g7j7m7p7q7s7u7x7z8R8S8V8X8Y8`8a8b8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9T9U9V9X9Y9Z9f9w9{9|:P:W:X:]:_:`:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:};O;P;Q;R;S;T;U;V;W;X;Y;Z;[;];^;_;a;b;c;d;e;f;g;r;s<h<i<m<n<o<t<y<z<}=P=Q=R=S=X=b=c=g=k=l=|=}>O>V>W>X>Y3ycPVX[_bdegjklmnoprxyz!S!W!X!Y!]!e!f!g!j!r!s!w!y!z!{!}#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b#k#n#o#s#t#{#}$R$S$U$h$y$}%P%R%S%T%U%c%m%n%p%r%}&S&W&p&s&t&w'O'S'U'Y'^'i'm'r'z(O(P(R(S(T(`(l({)P)W)Z)^)_)c)g)h)i)p)t)v*P*T*U*f*o*s*z*}+P+Q+]+`+d+g+r+u+z,T,V,X,Z,g,j,t,w-P-Q-c-j-q-t-y-z-{.P.a.c.k.s/Y/a/g/k/s/v0T0^0_0b0c0g0t0}1P1Z1_2U2V2W2Y2Z2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2q2r2s2t2u2}3b3e3f3i3m3n3q3s3t3v3w3x3y3z3{3|3}4O4P4Q4R4S4T4U4X4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v5O5c5f5g5j5n5o5r5t5u5{5|5}6R6Z6[6]6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6v6w6x6y6z7V7g7j7m7p7q7s7u7x7z8R8S8V8X8Y8`8a8b8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9T9U9V9X9Y9Z9f9w9{9|:P:W:X:]:_:`:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:};O;P;Q;R;S;T;U;V;W;X;Y;Z;[;];^;_;a;b;c;d;e;f;g;r;s<h<i<m<n<o<t<y<z<}=P=Q=R=S=X=b=c=g=k=l=|=}>O>V>W>X>Y0phPVX[_bjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!{!}#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b#k#n#o#s#t$R$S$U$y$}%P%R%S%T%U%c%}&S&W&p&s&t&w'O'U'Y'z(O(`(l({)P)i)p)t)v*P*T*U*o+P+r+u+z,T,V,X-P-Q-c-j-y.a.c.k.s/a/g/k/v0^0_0b0c0g0t1P1_2Y2Z2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2q2r2s2t2u2}3b3e3f3i3m3n3q3s3t3v3w3x3y3z3{3|3}4O4P4Q4R4S4T4U4X4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v5O5c5f5g5j5n5o5r5t5u6R6[6]6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6v6w6x6y6z7V7g7j7m7p7q7s7u7x7z8R8S8V8X8Y8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9T9U9V9X9Y9Z9f9w9{9|:P:W:X:]:_:`:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:};O;P;Q;R;S;T;U;V;W;X;Y;Z;[;];^;_;a;b;c;d;e;f;g;r;s<h<i<m<n<o<t<y<z<}=P=Q=R=S=X=k=lT1X0T1ZR&]#P!n#[Z#f#w$V$W$X$Y$[$s$v%W%Y%[&Q&_&`&a&b&c&d&e&f'X'Z'[(])q)s*^+V,z-w/w1O1b1o7h7i!Y2h2X2v2w2x2y2{2|3O3P3Q3R3S3T3U3V3_3`3a3c3d3g3h3j3k3l3o3p3r!^4k2p4w4x4y4z4|4}5P5Q5R5S5T5U5V5W5`5a5b5d5e5h5i5k5l5m5p5q5s6O6P#Q6n#m%`%s&u&v&{(p*O+S,`,c,x-U-W.v2o6{6|6}7O7Q7R7S7W7X7Y7Z7[7]7^7_7l7n7o7v7y7{8O8Q8T8U8W8Z9S:a=T=U#^8{%|&O&U)u,|-V-h/f/l0p0s0v1k4W6T7T7U7w7|7}8P9[9]9^9_9a9c9d9e9g9h9i9j9k9l9m9n9v9x9y9}:O:R:T:U:Y:[:^<d<e=]=o=p!^;Q.j/^;h;i;j;k;n;o;q;t;v;x;z;|<O<Q<S<f<j<l<p<r<u<v<x<{<|=O=^=_o;R1V;p;u;w;y;{;}<P<R<T<g<k<q<s<wS$iu#hQ$qwU't$j$l&oQ'v$kS'x$m$rQ*|'uQ+O'wQ+R'yQ4V5vS4Y5x5yQ4Z5zQ6S8[S6U8]8^Q6V8_Q9b=WS9z=Y=[Q:Q=aQ=Z=wS=`=y=zQ=d={Q=m>PS=n>Q>TS=q>R>SR=r>UT'n$h*s!csPVXt!S!j!r!s!w$h$}%P%S%U'i(T(`)W*s+]+g+r+u,g,j.a.c.k0^0_0g1_Q$^rR*`'^Q*x'sQ-s*{R/u-vQ(W$tQ)U%hQ)n%vQ*i'fQ+k(XR-b*jQ(V$tQ)Y%jQ)m%vQ*e'eS*h'f)nS+j(W(XS-a*i*jQ.[+kQ/R,lQ/c-_R/e-bQ(U$tQ)T%hQ)V%iQ)l%vU*g'f)m)nU+i(V(W(XQ,f)UU-`*h*i*jS.Z+j+kS/d-a-bQ0V.[R0r/eX+e(T)W+g,j[%e!_$b'c+a.Q0OR,d)Qh$ov(T)W+[+]+`+g,g,j.O.P/}R+T'{R0U.WT1Y0T1Z0w|PVX[_bjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!{!}#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b#k#n#o#s#t$R$S$U$y$}%P%R%S%T%U%c%}&S&W&p&s&t&w'O'U'Y'z(O(`(l({)P)i)p)t)v*P*T*U*o+P+r+u+z,T,V,X,_-P-Q-c-j-y.a.c.k.s/a/g/k/v0T0^0_0b0c0g0t1P1Z1_2Y2Z2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2q2r2s2t2u2}3b3e3f3i3m3n3q3s3t3v3w3x3y3z3{3|3}4O4P4Q4R4S4T4U4X4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v5O5c5f5g5j5n5o5r5t5u6R6[6]6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6v6w6x6y6z7V7g7j7m7p7q7s7u7x7z8R8S8V8X8Y8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9T9U9V9X9Y9Z9f9w9{9|:P:W:X:]:_:`:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:};O;P;Q;R;S;T;U;V;W;X;Y;Z;[;];^;_;a;b;c;d;e;f;g;r;s<h<i<m<n<o<t<y<z<}=P=Q=R=S=X=k=lT$x{${Q+p([R.^+nT$z{${Q(b$}Q(j%PQ(o%SQ(r%UQ.i+yQ0Z.eQ0[.hR1e0gR(e%OX+|(c(d+},PR(f%OX(h%P%S%U0gR%S!T_%a!]%R(l,T,V.s0bR%U!UR.w,XR,[(wQ)X%jS*d'e)YS-^*e,lS/b-_/RR0q/cT,i)W,jQ%q!fU)]%m%n%rU,n)^)g)hR/],wR)d%pR/Z,tSSO!mR!oSQ!rVR%y!rQ!jPS!sV!rQ!wX[%u!j!s!w+r0_1_Q+r(`Q0_.kR1_0^Q)j%sS,y)j7tR7t7UQ-R)zR/`-RQ&x#qS*R&x7kR7k9WS*V&{&|R-Y*VQ)w&YR-O)w!l'T#|'h*n*q*v+W+[,l-_-r-u-x.O.y/q/t/x/}0|1n4[4]4^5w6W6X6Y:S:V:Z=e=f=h=s=t=u=vR*Z'T1^dPVX[_bjklmnoprxyz!S!W!X!Y!]!e!g!j!r!s!w!y!z!{!}#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b#k#n#o#s#t$R$S$U$y$}%P%R%S%T%U%c%p%}&S&W&p&s&t&w'O'U'Y'^'z(O(R(S(`(l({)P)_)c)i)p)t)v*P*T*U*o+P+d+r+u+z,T,V,X,t-P-Q-c-j-y-{.a.c.k.s/Y/a/g/k/v0T0^0_0b0c0g0t1P1Z1_2Y2Z2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2q2r2s2t2u2}3b3e3f3i3m3n3q3s3t3v3w3x3y3z3{3|3}4O4P4Q4R4S4T4U4X4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v5O5c5f5g5j5n5o5r5t5u6R6[6]6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6v6w6x6y6z7V7g7j7m7p7q7s7u7x7z8R8S8V8X8Y8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9T9U9V9X9Y9Z9f9w9{9|:P:W:X:]:_:`:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:};O;P;Q;R;S;T;U;V;W;X;Y;Z;[;];^;_;a;b;c;d;e;f;g;r;s<h<i<m<n<o<t<y<z<}=P=Q=R=S=X=k=l`#zd#{%m)^)g,w2U2WQ#{eQ%m!fQ)^%nQ)g%rQ,w)h!|2Ug#}$h'S'i'm'r(P(T)W)Z*f*s*z*}+Q+]+`+g,Z,g,j-q-t-z.P/s0}5{5|5}6Z8`8a8b=b=c=g=|=}>O>V>W>X>YR2W2V|tPVX!S!j!r!s!w$}%P%S%U(`+r+u.a.c.k0^0_0g1_W$`t'i+],gS'i$h*sS+](T+gT,g)W,jQ'_$^R*a'_Q*t'oR-l*tQ/n-nS0y/n0zR0z/oQ-|+XR/z-|Q+g(TR.X+gW+`(T)W+g,jS.P+],gT.S+`.PQ)R%eR,e)RQ'|$oR+U'|Q1Z0TR1u1ZQ${{R(^${Q+t(aR.b+tQ+w(bR.f+wQ+}(cQ,P(dT.l+},PQ(|%`S,a(|7rR7r7TQ(y%^R,^(yQ,j)WR/P,jQ)`%oS,p)`/UR/U,qQ,u)dR/[,uT!uV!rj!iPVX!j!r!s!w(`+r.k0^0_1_Q%Q!SQ(a$}W(h%P%S%U0gQ.d+uQ0X.aR0Y.c|ZPVX!S!j!r!s!w$}%P%S%U(`+r+u.a.c.k0^0_0g1_Q#f[U#m_#s&wQ#wbQ$VkQ$WlQ$XmQ$YnQ$ZoQ$[pQ$sx^$uy2]4`6c8o:k:lQ$vzQ%W!WQ%Y!XQ%[!YW%`!]%R(l,VU%s!g&p-QQ%|!yQ&O!zQ&Q!{S&U!})v^&^#R2_4b6e8r:n:oQ&_#SQ&`#TQ&a#UQ&b#VQ&c#WQ&d#XQ&e#YQ&f#ZQ&g#[Q&h#]Q&i#^Q&j#_Q&k#`Q&l#aQ&m#bQ&u#nQ&v#oS&{#t'OQ'X$RQ'Z$SQ'[$UQ(]$yQ(p%TQ)q%}Q)s&SQ)u&WQ*O&tS*['U4XQ*^'Y^*_2Y3s5t8X:_=P=QQ+S'zQ+V(OQ,`({Q,c)PQ,x)iQ,z)pQ,|)tQ-U*PQ-V*TQ-W*U^-[2Z3t5u8Y:`=R=SQ-h*oQ-w+PQ.j+zQ.v,XQ/^-PQ/f-cQ/l-jQ/w-yQ0p/aQ0s/gQ0v/kQ1O/vU1V0T1Z9UQ1b0cQ1k0tQ1o1PQ2X2[Q2ojQ2p3wQ2v3xQ2w3zQ2x3|Q2y4OQ2z4QQ2{4SQ2|2^Q3O2`Q3P2aQ3Q2bQ3R2cQ3S2dQ3T2eQ3U2fQ3V2gQ3W2hQ3X2iQ3Y2jQ3Z2kQ3[2lQ3]2mQ3^2nQ3_2qQ3`2rQ3a2sQ3c2tQ3d2uQ3g2}Q3h3bQ3j3eQ3k3fQ3l3iQ3o3mQ3p3nQ3r3qQ4W4UQ4w3yQ4x3{Q4y3}Q4z4PQ4{4RQ4|4TQ4}4aQ5P4cQ5Q4dQ5R4eQ5S4fQ5T4gQ5U4hQ5V4iQ5W4jQ5X4kQ5Y4lQ5Z4mQ5[4nQ5]4oQ5^4pQ5_4qQ5`4rQ5a4sQ5b4tQ5d4uQ5e4vQ5h5OQ5i5cQ5k5fQ5l5gQ5m5jQ5p5nQ5q5oQ5s5rQ6O4_Q6P3vQ6T6RQ6{6[Q6|6]Q6}6^Q7O6_Q7P6`Q7Q6aQ7R6bQ7S6dU7T,T.s0bQ7U%cQ7W6fQ7X6gQ7Y6hQ7Z6iQ7[6jQ7]6kQ7^6lQ7_6mQ7`6nQ7a6oQ7b6pQ7c6qQ7d6rQ7e6sQ7f6tQ7h6vQ7i6wQ7l6xQ7n6yQ7o6zQ7v7VQ7w7gQ7y7mQ7{7pQ7|7qQ7}7sQ8O7uQ8P7xQ8Q7zQ8T8RQ8U8SQ8W8VQ8Z8dU9S#k&s7jQ9[8hQ9]8iQ9^8jQ9_8kQ9`8lQ9a8mQ9c8nQ9d8pQ9e8qQ9g8sQ9h8tQ9i8uQ9j8vQ9k8wQ9l8xQ9m8yQ9n8zQ9o8{Q9p8|Q9q8}Q9r9OQ9s9PQ9t9QQ9u9RQ9v9XQ9x9YQ9y9ZQ9}9fQ:O9wQ:R9{Q:T9|Q:U:PQ:Y:WQ:[:XQ:^:]Q:a8gQ;h:bQ;i:cQ;j:dQ;k:eQ;l:fQ;m:gQ;n:hQ;o:iQ;p:jQ;q:mQ;t:pQ;u:qQ;v:rQ;w:sQ;x:tQ;y:uQ;z:vQ;{:wQ;|:xQ;}:yQ<O:zQ<P:{Q<Q:|Q<R:}Q<S;OQ<T;PQ<U;QQ<V;RQ<W;SQ<X;TQ<Y;UQ<Z;VQ<[;WQ<];XQ<^;YQ<_;ZQ<`;[Q<a;]Q<b;^Q<c;_Q<d;aQ<e;bQ<f;cQ<g;dQ<j;eQ<k;fQ<l;gQ<p;rQ<q;sQ<r<hQ<s<iQ<u<mQ<v<nQ<w<oQ<x<tQ<{<yQ<|<zQ=O<}Q=T8fQ=U8eQ=]=XQ=^9TQ=_9VQ=o=kR=p=lR){&pQ%t!gQ)O%cT)y&p-Q$SiPVX[bklmnopxyz!S!W!X!Y!j!r!s!w!{#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b$R$S$U$y$}%P%S%U%}&S'Y(O(`)p+P+r+u-y.a.c.k/v0^0_0c0g1P1_2Y2Z6v6w!t3u'U2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2q2r2s2t2u2}3b3e3f3i3m3n3q3x3z3|4O4Q4S5t5u!x6Q3s3t3v3w3y3{3}4P4R4T4X4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v5O5c5f5g5j5n5o5r$O8c_j!]!g#k#n#o#s#t%R%T&p&s&t&w'O'z(l({)P)i*P*U,V,X-Q6[6]6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6x6y6z7V7j7m7p7u7z8R8S8V8X8Y8d8e8f8g#|=V!y!z!}%c&W)t)v*T*o,T-c-j.s/a/g/k0b0t4U6R7g7q7s7x8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9X9Y9Z9f9w9{9|:P:W:X:]:_:`;a;b=X=k=l!v=i+z-P9T9V:b:c:d:e:f:h:i:k:m:n:p:r:t:v:x:z:|;O;Q;S;U;W;Y;[;^;c;e;g;r<h<m<n<t<y<z<}=P=R!]=j0T1Z9U:g:j:l:o:q:s:u:w:y:{:};P;R;T;V;X;Z;];_;d;f;s<i<o=Q=SQ#r_Q&r#kQ&z#sR)}&sS#q_#s^$Tj3v3w8d8e8f8gS*Q&w7jT9W#k&sQ&}#tR*X'OR&T!|R&Z!}Q&Y!}R,})vQ#|gQ'V#}S'h$h*sQ*Y'SQ*n'iQ*q'mQ*v'rQ+W(PW+[(T)W+g,jQ,l)ZQ-_*fQ-r*zQ-u*}Q-x+QU.O+]+`,gQ.y,ZQ/q-qQ/t-tQ/x-zQ/}.PQ0|/sQ1n0}Q4[5{Q4]5|Q4^5}Q5w6ZQ6W8`Q6X8aQ6Y8bQ:S=bQ:V=cQ:Z=gQ=e=|Q=f=}Q=h>OQ=s>VQ=t>WQ=u>XR=v>Y0t!OPVX[_bjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!{!}#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b#k#n#o#s#t$R$S$U$y$}%P%R%S%T%U%c%}&S&W&p&s&t&w'O'U'Y'z(O(`(l({)P)i)p)t)v*P*T*U*o+P+r+u+z,T,V,X-P-Q-c-j-y.a.c.k.s/a/g/k/v0T0^0_0b0c0g0t1P1Z1_2Y2Z2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2q2r2s2t2u2}3b3e3f3i3m3n3q3s3t3v3w3x3y3z3{3|3}4O4P4Q4R4S4T4U4X4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v5O5c5f5g5j5n5o5r5t5u6R6[6]6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6v6w6x6y6z7V7g7j7m7p7q7s7u7x7z8R8S8V8X8Y8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9T9U9V9X9Y9Z9f9w9{9|:P:W:X:]:_:`:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:};O;P;Q;R;S;T;U;V;W;X;Y;Z;[;];^;_;a;b;c;d;e;f;g;r;s<h<i<m<n<o<t<y<z<}=P=Q=R=S=X=k=l!|$Pg#}$h'S'i'm'r(P(T)W)Z*f*s*z*}+Q+]+`+g,Z,g,j-q-t-z.P/s0}5{5|5}6Z8`8a8b=b=c=g=|=}>O>V>W>X>YS$]r'^Q%k!eS%o!f%rQ)b%pU+X(R(S+dQ,o)_Q,s)cQ/X,tQ/y-{R0n/Y|vPVX!S!j!r!s!w$}%P%S%U(`+r+u.a.c.k0^0_0g1_#U#i[bklmnopxyz!W!X!Y!{#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b$R$S$U$y%}&S'Y(O)p+P-y/v0c1P2Y2Z6v6w`+^(T)W+]+`+g,g,j.P!t6u'U2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2q2r2s2t2u2}3b3e3f3i3m3n3q3x3z3|4O4Q4S5t5u!x;`3s3t3v3w3y3{3}4P4R4T4X4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v5O5c5f5g5j5n5o5r$O=x_j!]!g#k#n#o#s#t%R%T&p&s&t&w'O'z(l({)P)i*P*U,V,X-Q6[6]6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6x6y6z7V7j7m7p7u7z8R8S8V8X8Y8d8e8f8g#|>Z!y!z!}%c&W)t)v*T*o,T-c-j.s/a/g/k0b0t4U6R7g7q7s7x8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9X9Y9Z9f9w9{9|:P:W:X:]:_:`;a;b=X=k=l!v>[+z-P9T9V:b:c:d:e:f:h:i:k:m:n:p:r:t:v:x:z:|;O;Q;S;U;W;Y;[;^;c;e;g;r<h<m<n<t<y<z<}=P=R!]>]0T1Z9U:g:j:l:o:q:s:u:w:y:{:};P;R;T;V;X;Z;];_;d;f;s<i<o=Q=SR'p$hQ'o$hR-k*sR$_rR-p*wQ+Y(RQ+Z(SR.W+dS+f(T+gT,i)W,ja+_(T)W+]+`+g,g,j.PQ%f!_Q'b$bQ*c'cQ.T+aQ0Q.QR1S0OQ#eZQ%X!WQ%Z!XQ%]!YQ'}$pQ(s%VQ(t%WQ(u%YQ(v%[Q(}%bQ)S%fQ)[%kQ)f%qQ)k%tQ*b'bQ,m)]Q-]*cQ.U+bQ.V+cQ.d+xQ.n,QQ.o,RQ.p,SQ.u,WQ.x,YQ.|,bQ/S,nQ/{-}Q0R.RQ0S.TQ0U.WQ0Y.gQ0i/OQ0o/]Q1Q/|Q1T0PQ1U0QQ1^0]Q1f0hQ1p1RQ1q1SQ1t1YQ1w1]Q1{1hQ2R1yR2S1zQ$pvW+b(T)W+g,jW-}+[+]+`,gS/|.O.PR1R/}|!aPVX!S!j!r!s!w$}%P%S%U(`+r+u.a.c.k0^0_0g1_Q$dtW+c(T)W+g,jU.R+]+`,gR0P.P0t!OPVX[_bjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!{!}#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b#k#n#o#s#t$R$S$U$y$}%P%R%S%T%U%c%}&S&W&p&s&t&w'O'U'Y'z(O(`(l({)P)i)p)t)v*P*T*U*o+P+r+u+z,T,V,X-P-Q-c-j-y.a.c.k.s/a/g/k/v0T0^0_0b0c0g0t1P1Z1_2Y2Z2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2q2r2s2t2u2}3b3e3f3i3m3n3q3s3t3v3w3x3y3z3{3|3}4O4P4Q4R4S4T4U4X4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v5O5c5f5g5j5n5o5r5t5u6R6[6]6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6v6w6x6y6z7V7g7j7m7p7q7s7u7x7z8R8S8V8X8Y8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9T9U9V9X9Y9Z9f9w9{9|:P:W:X:]:_:`:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:};O;P;Q;R;S;T;U;V;W;X;Y;Z;[;];^;_;a;b;c;d;e;f;g;r;s<h<i<m<n<o<t<y<z<}=P=Q=R=S=X=k=lR.{,_0w}PVX[_bjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!{!}#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#b#k#n#o#s#t$R$S$U$y$}%P%R%S%T%U%c%}&S&W&p&s&t&w'O'U'Y'z(O(`(l({)P)i)p)t)v*P*T*U*o+P+r+u+z,T,V,X,_-P-Q-c-j-y.a.c.k.s/a/g/k/v0T0^0_0b0c0g0t1P1Z1_2Y2Z2[2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2q2r2s2t2u2}3b3e3f3i3m3n3q3s3t3v3w3x3y3z3{3|3}4O4P4Q4R4S4T4U4X4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v5O5c5f5g5j5n5o5r5t5u6R6[6]6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6v6w6x6y6z7V7g7j7m7p7q7s7u7x7z8R8S8V8X8Y8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9T9U9V9X9Y9Z9f9w9{9|:P:W:X:]:_:`:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:};O;P;Q;R;S;T;U;V;W;X;Y;Z;[;];^;_;a;b;c;d;e;f;g;r;s<h<i<m<n<o<t<y<z<}=P=Q=R=S=X=k=lT$w{${Q(i%PQ(n%SQ(q%UR1d0gQ%b!]Q(m%RQ,U(lQ.r,TQ.t,VQ0a.sR1a0bQ%q!fR)]%rR)e%p",nodeNames:"\u26A0 ( HeredocString EscapeSequence abstract LogicOp array as Boolean break case catch clone const continue default declare do echo else elseif enddeclare endfor endforeach endif endswitch endwhile enum extends final finally fn for foreach from function global goto if implements include include_once LogicOp insteadof interface list match namespace new null LogicOp print require require_once return switch throw trait try unset use var Visibility while LogicOp yield LineComment BlockComment TextInterpolation PhpClose Text PhpOpen Template TextInterpolation EmptyStatement ; } { Block : LabelStatement Name ExpressionStatement ConditionalExpression LogicOp MatchExpression ) ( ParenthesizedExpression MatchBlock MatchArm , => AssignmentExpression ArrayExpression ValueList & VariadicUnpacking ... Pair [ ] ListExpression ValueList Pair Pair SubscriptExpression MemberExpression -> ?-> VariableName DynamicVariable $ ${ CallExpression ArgList NamedArgument SpreadArgument CastExpression UnionType LogicOp OptionalType NamedType QualifiedName \\ NamespaceName ScopedExpression :: ClassMemberName AssignOp UpdateExpression UpdateOp YieldExpression BinaryExpression LogicOp LogicOp LogicOp BitOp BitOp BitOp CompareOp CompareOp BitOp ArithOp ConcatOp ArithOp ArithOp IncludeExpression RequireExpression CloneExpression UnaryExpression ControlOp LogicOp PrintIntrinsic FunctionExpression static ParamList Parameter #[ Attributes Attribute VariadicParameter PropertyParameter UseList ArrowFunction NewExpression class BaseClause ClassInterfaceClause DeclarationList ConstDeclaration VariableDeclarator PropertyDeclaration VariableDeclarator MethodDeclaration UseDeclaration UseList UseInsteadOfClause UseAsClause UpdateExpression ArithOp ShellExpression ThrowExpression Integer Float String MemberExpression SubscriptExpression UnaryExpression ArithOp Interpolation String IfStatement ColonBlock SwitchStatement Block CaseStatement DefaultStatement ColonBlock WhileStatement EmptyStatement DoStatement ForStatement ForSpec SequenceExpression ForeachStatement ForSpec Pair GotoStatement ContinueStatement BreakStatement ReturnStatement TryStatement CatchDeclarator DeclareStatement EchoStatement UnsetStatement ConstDeclaration FunctionDefinition ClassDeclaration InterfaceDeclaration TraitDeclaration EnumDeclaration EnumBody EnumCase NamespaceDefinition NamespaceUseDeclaration UseGroup UseClause UseClause GlobalDeclaration FunctionStaticDeclaration Program",maxTerm:304,nodeProps:[["group",-36,2,8,49,81,83,85,88,93,94,102,106,107,110,111,114,118,123,126,130,132,133,147,148,149,150,153,154,164,165,179,181,182,183,184,185,191,"Expression",-28,74,78,80,82,192,194,199,201,202,205,208,209,210,211,212,214,215,216,217,218,219,220,221,222,225,226,230,231,"Statement",-3,119,121,122,"Type"],["isolate",-4,66,67,70,191,""],["openedBy",69,"phpOpen",76,"{",86,"(",101,"#["],["closedBy",71,"phpClose",77,"}",87,")",158,"]"]],propSources:[F2],skippedNodes:[0],repeatNodeCount:29,tokenData:"!F|_R!]OX$zXY&^YZ'sZ]$z]^&^^p$zpq&^qr)Rrs+Pst+otu2buv5evw6rwx8Vxy>]yz>yz{?g{|@}|}Bb}!OCO!O!PDh!P!QKT!Q!R!!o!R![!$q![!]!,P!]!^!-a!^!_!-}!_!`!1S!`!a!2d!a!b!3t!b!c!7^!c!d!7z!d!e!9W!e!}!7z!}#O!;^#O#P!;z#P#Q!<h#Q#R!=U#R#S!7z#S#T!=u#T#U!7z#U#V!9W#V#o!7z#o#p!Co#p#q!D]#q#r!Er#r#s!F`#s$f$z$f$g&^$g&j!7z&j$I_$z$I_$I`&^$I`$KW$z$KW$KX&^$KX;'S$z;'S;=`&W<%l?HT$z?HT?HU&^?HUO$zP%PV&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zP%kO&wPP%nWOY$zYZ%fZ!a$z!b;'S$z;'S;=`&W<%l~$z~O$z~~%fP&ZP;=`<%l$zV&ed&wP&vUOX$zXY&^YZ'sZ]$z]^&^^p$zpq&^q!^$z!^!_%k!_$f$z$f$g&^$g$I_$z$I_$I`&^$I`$KW$z$KW$KX&^$KX;'S$z;'S;=`&W<%l?HT$z?HT?HU&^?HUO$zV'zW&wP&vUXY(dYZ(d]^(dpq(d$f$g(d$I_$I`(d$KW$KX(d?HT?HU(dU(iW&vUXY(dYZ(d]^(dpq(d$f$g(d$I_$I`(d$KW$KX(d?HT?HU(dR)YW$^Q&wPOY$zYZ%fZ!^$z!^!_%k!_!`)r!`;'S$z;'S;=`&W<%lO$zR)yW$QQ&wPOY$zYZ%fZ!^$z!^!_%k!_!`*c!`;'S$z;'S;=`&W<%lO$zR*jV$QQ&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV+YV'fS&wP'gQOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV+v]&wP!dUOY,oYZ%fZ],o]^$z^!^,o!^!_-i!_!a,o!a!b/y!b!},o!}#O1f#O;'S,o;'S;=`/s<%lO,oV,vZ&wP!dUOY,oYZ%fZ],o]^$z^!^,o!^!_-i!_!a,o!a!b/y!b;'S,o;'S;=`/s<%lO,oV-nZ!dUOY,oYZ%fZ],o]^$z^!a,o!a!b.a!b;'S,o;'S;=`/s<%l~,o~O,o~~%fU.dWOY.|YZ/nZ].|]^/n^!`.|!a;'S.|;'S;=`/h<%lO.|U/RV!dUOY.|Z].|^!a.|!a!b.a!b;'S.|;'S;=`/h<%lO.|U/kP;=`<%l.|U/sO!dUV/vP;=`<%l,oV0OZ&wPOY,oYZ0qZ],o]^0x^!^,o!^!_-i!_!`,o!`!a$z!a;'S,o;'S;=`/s<%lO,oV0xO&wP!dUV1PV&wP!dUOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV1oZ&wP$dQ!dUOY,oYZ%fZ],o]^$z^!^,o!^!_-i!_!a,o!a!b/y!b;'S,o;'S;=`/s<%lO,o_2i`&wP#dQOY$zYZ%fZ!^$z!^!_%k!_!c$z!c!}3k!}#R$z#R#S3k#S#T$z#T#o3k#o#p4w#p$g$z$g&j3k&j;'S$z;'S;=`&W<%lO$z_3ra&wP#b^OY$zYZ%fZ!Q$z!Q![3k![!^$z!^!_%k!_!c$z!c!}3k!}#R$z#R#S3k#S#T$z#T#o3k#o$g$z$g&j3k&j;'S$z;'S;=`&W<%lO$zV5OV&wP#eUOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR5lW&wP$VQOY$zYZ%fZ!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zR6]V#wQ&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV6yY#SU&wPOY$zYZ%fZv$zvw7iw!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zR7pV#|Q&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR8^Z&wP%VQOY8VYZ9PZw8Vwx;_x!^8V!^!_;{!_#O8V#O#P<y#P;'S8V;'S;=`>V<%lO8VR9WV&wP%VQOw9mwx:Xx#O9m#O#P:^#P;'S9m;'S;=`;X<%lO9mQ9rV%VQOw9mwx:Xx#O9m#O#P:^#P;'S9m;'S;=`;X<%lO9mQ:^O%VQQ:aRO;'S9m;'S;=`:j;=`O9mQ:oW%VQOw9mwx:Xx#O9m#O#P:^#P;'S9m;'S;=`;X;=`<%l9m<%lO9mQ;[P;=`<%l9mR;fV&wP%VQOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR<Q]%VQOY8VYZ9PZw8Vwx;_x!a8V!a!b9m!b#O8V#O#P<y#P;'S8V;'S;=`>V<%l~8V~O8V~~%fR=OW&wPOY8VYZ9PZ!^8V!^!_;{!_;'S8V;'S;=`=h;=`<%l9m<%lO8VR=mW%VQOw9mwx:Xx#O9m#O#P:^#P;'S9m;'S;=`;X;=`<%l8V<%lO9mR>YP;=`<%l8VR>dV!yQ&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV?QV!xU&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR?nY&wP$VQOY$zYZ%fZz$zz{@^{!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zR@eW$WQ&wPOY$zYZ%fZ!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zRAUY$TQ&wPOY$zYZ%fZ{$z{|At|!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zRA{V$zQ&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zRBiV!}Q&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_CXZ$TQ%TW&wPOY$zYZ%fZ}$z}!OAt!O!^$z!^!_%k!_!`6U!`!aCz!a;'S$z;'S;=`&W<%lO$zVDRV#`U&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zVDo[&wP$UQOY$zYZ%fZ!O$z!O!PEe!P!Q$z!Q![Fs![!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zVEjX&wPOY$zYZ%fZ!O$z!O!PFV!P!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zVF^V#UU&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zRFz_&wP%OQOY$zYZ%fZ!Q$z!Q![Fs![!^$z!^!_%k!_!g$z!g!hGy!h#R$z#R#SJc#S#X$z#X#YGy#Y;'S$z;'S;=`&W<%lO$zRHO]&wPOY$zYZ%fZ{$z{|Hw|}$z}!OHw!O!Q$z!Q![Ii![!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zRH|X&wPOY$zYZ%fZ!Q$z!Q![Ii![!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zRIpZ&wP%OQOY$zYZ%fZ!Q$z!Q![Ii![!^$z!^!_%k!_#R$z#R#SHw#S;'S$z;'S;=`&W<%lO$zRJhX&wPOY$zYZ%fZ!Q$z!Q![Fs![!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zVK[[&wP$VQOY$zYZ%fZz$zz{LQ{!P$z!P!Q,o!Q!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zVLVX&wPOYLQYZLrZzLQz{N_{!^LQ!^!_! s!_;'SLQ;'S;=`!!i<%lOLQVLwT&wPOzMWz{Mj{;'SMW;'S;=`NX<%lOMWUMZTOzMWz{Mj{;'SMW;'S;=`NX<%lOMWUMmVOzMWz{Mj{!PMW!P!QNS!Q;'SMW;'S;=`NX<%lOMWUNXO!eUUN[P;=`<%lMWVNdZ&wPOYLQYZLrZzLQz{N_{!PLQ!P!Q! V!Q!^LQ!^!_! s!_;'SLQ;'S;=`!!i<%lOLQV! ^V!eU&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV! vZOYLQYZLrZzLQz{N_{!aLQ!a!bMW!b;'SLQ;'S;=`!!i<%l~LQ~OLQ~~%fV!!lP;=`<%lLQZ!!vm&wP$}YOY$zYZ%fZ!O$z!O!PFs!P!Q$z!Q![!$q![!^$z!^!_%k!_!d$z!d!e!&o!e!g$z!g!hGy!h!q$z!q!r!(a!r!z$z!z!{!){!{#R$z#R#S!%}#S#U$z#U#V!&o#V#X$z#X#YGy#Y#c$z#c#d!(a#d#l$z#l#m!){#m;'S$z;'S;=`&W<%lO$zZ!$xa&wP$}YOY$zYZ%fZ!O$z!O!PFs!P!Q$z!Q![!$q![!^$z!^!_%k!_!g$z!g!hGy!h#R$z#R#S!%}#S#X$z#X#YGy#Y;'S$z;'S;=`&W<%lO$zZ!&SX&wPOY$zYZ%fZ!Q$z!Q![!$q![!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zZ!&tY&wPOY$zYZ%fZ!Q$z!Q!R!'d!R!S!'d!S!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zZ!'k[&wP$}YOY$zYZ%fZ!Q$z!Q!R!'d!R!S!'d!S!^$z!^!_%k!_#R$z#R#S!&o#S;'S$z;'S;=`&W<%lO$zZ!(fX&wPOY$zYZ%fZ!Q$z!Q!Y!)R!Y!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zZ!)YZ&wP$}YOY$zYZ%fZ!Q$z!Q!Y!)R!Y!^$z!^!_%k!_#R$z#R#S!(a#S;'S$z;'S;=`&W<%lO$zZ!*Q]&wPOY$zYZ%fZ!Q$z!Q![!*y![!^$z!^!_%k!_!c$z!c!i!*y!i#T$z#T#Z!*y#Z;'S$z;'S;=`&W<%lO$zZ!+Q_&wP$}YOY$zYZ%fZ!Q$z!Q![!*y![!^$z!^!_%k!_!c$z!c!i!*y!i#R$z#R#S!){#S#T$z#T#Z!*y#Z;'S$z;'S;=`&W<%lO$zR!,WX!qQ&wPOY$zYZ%fZ![$z![!]!,s!]!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!,zV#sQ&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV!-hV!mU&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!.S[$RQOY$zYZ%fZ!^$z!^!_!.x!_!`!/i!`!a*c!a!b!0]!b;'S$z;'S;=`&W<%l~$z~O$z~~%fR!/PW$SQ&wPOY$zYZ%fZ!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zR!/pX$RQ&wPOY$zYZ%fZ!^$z!^!_%k!_!`$z!`!a*c!a;'S$z;'S;=`&W<%lO$zP!0bR!iP!_!`!0k!r!s!0p#d#e!0pP!0pO!iPP!0sQ!j!k!0y#[#]!0yP!0|Q!r!s!0k#d#e!0kV!1ZX#uQ&wPOY$zYZ%fZ!^$z!^!_%k!_!`)r!`!a!1v!a;'S$z;'S;=`&W<%lO$zV!1}V#OU&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!2kX$RQ&wPOY$zYZ%fZ!^$z!^!_%k!_!`!3W!`!a!.x!a;'S$z;'S;=`&W<%lO$zR!3_V$RQ&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV!3{[!vQ&wPOY$zYZ%fZ}$z}!O!4q!O!^$z!^!_%k!_!`$z!`!a!6P!a!b!6m!b;'S$z;'S;=`&W<%lO$zV!4vX&wPOY$zYZ%fZ!^$z!^!_%k!_!`$z!`!a!5c!a;'S$z;'S;=`&W<%lO$zV!5jV#aU&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV!6WV!gU&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!6tW#zQ&wPOY$zYZ%fZ!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zR!7eV$]Q&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_!8Ra&wP!s^OY$zYZ%fZ!Q$z!Q![!7z![!^$z!^!_%k!_!c$z!c!}!7z!}#R$z#R#S!7z#S#T$z#T#o!7z#o$g$z$g&j!7z&j;'S$z;'S;=`&W<%lO$z_!9_e&wP!s^OY$zYZ%fZr$zrs!:psw$zwx8Vx!Q$z!Q![!7z![!^$z!^!_%k!_!c$z!c!}!7z!}#R$z#R#S!7z#S#T$z#T#o!7z#o$g$z$g&j!7z&j;'S$z;'S;=`&W<%lO$zR!:wV&wP'gQOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV!;eV#WU&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV!<RV#pU&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!<oV#XQ&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!=]W$OQ&wPOY$zYZ%fZ!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zR!=zZ&wPOY!=uYZ!>mZ!^!=u!^!_!@u!_#O!=u#O#P!Aq#P#S!=u#S#T!B{#T;'S!=u;'S;=`!Ci<%lO!=uR!>rV&wPO#O!?X#O#P!?q#P#S!?X#S#T!@j#T;'S!?X;'S;=`!@o<%lO!?XQ!?[VO#O!?X#O#P!?q#P#S!?X#S#T!@j#T;'S!?X;'S;=`!@o<%lO!?XQ!?tRO;'S!?X;'S;=`!?};=`O!?XQ!@QWO#O!?X#O#P!?q#P#S!?X#S#T!@j#T;'S!?X;'S;=`!@o;=`<%l!?X<%lO!?XQ!@oO${QQ!@rP;=`<%l!?XR!@x]OY!=uYZ!>mZ!a!=u!a!b!?X!b#O!=u#O#P!Aq#P#S!=u#S#T!B{#T;'S!=u;'S;=`!Ci<%l~!=u~O!=u~~%fR!AvW&wPOY!=uYZ!>mZ!^!=u!^!_!@u!_;'S!=u;'S;=`!B`;=`<%l!?X<%lO!=uR!BcWO#O!?X#O#P!?q#P#S!?X#S#T!@j#T;'S!?X;'S;=`!@o;=`<%l!=u<%lO!?XR!CSV${Q&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!ClP;=`<%l!=uV!CvV!oU&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV!DfY#}Q#lS&wPOY$zYZ%fZ!^$z!^!_%k!_!`6U!`#p$z#p#q!EU#q;'S$z;'S;=`&W<%lO$zR!E]V#{Q&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!EyV!nQ&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!FgV$^Q&wPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z",tokenizers:[L2,N2,B2,0,1,2,3,G2],topRules:{Template:[0,72],Program:[1,232]},dynamicPrecedences:{284:1},specialized:[{term:81,get:(i,e)=>Gy(i)<<1,external:Gy},{term:81,get:i=>H2[i]||-1}],tokenPrec:29378});var K2=54,J2=1,eT=55,tT=2,iT=56,nT=3,Fy=4,rT=5,Ba=6,rQ=7,sQ=8,oQ=9,aQ=10,sT=11,oT=12,aT=13,df=57,lT=14,Hy=58,lQ=20,OT=22,OQ=23,cT=24,mf=26,cQ=27,hT=28,fT=31,uT=34,dT=36,pT=37,mT=0,gT=1,$T={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},yT={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},Ky={dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}};function QT(i){return i==45||i==46||i==58||i>=65&&i<=90||i==95||i>=97&&i<=122||i>=161}function hQ(i){return i==9||i==10||i==13||i==32}var Jy=null,eQ=null,tQ=0;function gf(i,e){let t=i.pos+e;if(tQ==t&&eQ==i)return Jy;let n=i.peek(e);for(;hQ(n);)n=i.peek(++e);let r="";for(;QT(n);)r+=String.fromCharCode(n),n=i.peek(++e);return eQ=i,tQ=t,Jy=r?r.toLowerCase():n==ST||n==bT?void 0:null}var fQ=60,Ia=62,$f=47,ST=63,bT=33,xT=45;function iQ(i,e){this.name=i,this.parent=e}var vT=[Ba,aQ,rQ,sQ,oQ],wT=new In({start:null,shift(i,e,t,n){return vT.indexOf(e)>-1?new iQ(gf(n,1)||"",i):i},reduce(i,e){return e==lQ&&i?i.parent:i},reuse(i,e,t,n){let r=e.type.id;return r==Ba||r==dT?new iQ(gf(n,1)||"",i):i},strict:!1}),PT=new ge((i,e)=>{if(i.next!=fQ){i.next<0&&e.context&&i.acceptToken(df);return}i.advance();let t=i.next==$f;t&&i.advance();let n=gf(i,0);if(n===void 0)return;if(!n)return i.acceptToken(t?lT:Ba);let r=e.context?e.context.name:null;if(t){if(n==r)return i.acceptToken(sT);if(r&&yT[r])return i.acceptToken(df,-2);if(e.dialectEnabled(mT))return i.acceptToken(oT);for(let s=e.context;s;s=s.parent)if(s.name==n)return;i.acceptToken(aT)}else{if(n=="script")return i.acceptToken(rQ);if(n=="style")return i.acceptToken(sQ);if(n=="textarea")return i.acceptToken(oQ);if($T.hasOwnProperty(n))return i.acceptToken(aQ);r&&Ky[r]&&Ky[r][n]?i.acceptToken(df,-1):i.acceptToken(Ba)}},{contextual:!0}),kT=new ge(i=>{for(let e=0,t=0;;t++){if(i.next<0){t&&i.acceptToken(Hy);break}if(i.next==xT)e++;else if(i.next==Ia&&e>=2){t>=3&&i.acceptToken(Hy,-2);break}else e=0;i.advance()}});function TT(i){for(;i;i=i.parent)if(i.name=="svg"||i.name=="math")return!0;return!1}var zT=new ge((i,e)=>{if(i.next==$f&&i.peek(1)==Ia){let t=e.dialectEnabled(gT)||TT(e.context);i.acceptToken(t?rT:Fy,2)}else i.next==Ia&&i.acceptToken(Fy,1)});function yf(i,e,t){let n=2+i.length;return new ge(r=>{for(let s=0,o=0,a=0;;a++){if(r.next<0){a&&r.acceptToken(e);break}if(s==0&&r.next==fQ||s==1&&r.next==$f||s>=2&&s<n&&r.next==i.charCodeAt(s-2))s++,o++;else if((s==2||s==n)&&hQ(r.next))o++;else if(s==n&&r.next==Ia){a>o?r.acceptToken(e,-o):r.acceptToken(t,-(o-2));break}else if((r.next==10||r.next==13)&&a){r.acceptToken(e,1);break}else s=o=0;r.advance()}})}var XT=yf("script",K2,J2),RT=yf("style",eT,tT),qT=yf("textarea",iT,nT),_T=_t({"Text RawText":$.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":$.angleBracket,TagName:$.tagName,"MismatchedCloseTag/TagName":[$.tagName,$.invalid],AttributeName:$.attributeName,"AttributeValue UnquotedAttributeValue":$.attributeValue,Is:$.definitionOperator,"EntityReference CharacterReference":$.character,Comment:$.blockComment,ProcessingInst:$.processingInstruction,DoctypeDecl:$.documentMeta}),uQ=At.deserialize({version:14,states:",xOVO!rOOO!WQ#tO'#CqO!]Q#tO'#CzO!bQ#tO'#C}O!gQ#tO'#DQO!lQ#tO'#DSO!qOaO'#CpO!|ObO'#CpO#XOdO'#CpO$eO!rO'#CpOOO`'#Cp'#CpO$lO$fO'#DTO$tQ#tO'#DVO$yQ#tO'#DWOOO`'#Dk'#DkOOO`'#DY'#DYQVO!rOOO%OQ&rO,59]O%ZQ&rO,59fO%fQ&rO,59iO%qQ&rO,59lO%|Q&rO,59nOOOa'#D^'#D^O&XOaO'#CxO&dOaO,59[OOOb'#D_'#D_O&lObO'#C{O&wObO,59[OOOd'#D`'#D`O'POdO'#DOO'[OdO,59[OOO`'#Da'#DaO'dO!rO,59[O'kQ#tO'#DROOO`,59[,59[OOOp'#Db'#DbO'pO$fO,59oOOO`,59o,59oO'xQ#|O,59qO'}Q#|O,59rOOO`-E7W-E7WO(SQ&rO'#CsOOQW'#DZ'#DZO(bQ&rO1G.wOOOa1G.w1G.wOOO`1G/Y1G/YO(mQ&rO1G/QOOOb1G/Q1G/QO(xQ&rO1G/TOOOd1G/T1G/TO)TQ&rO1G/WOOO`1G/W1G/WO)`Q&rO1G/YOOOa-E7[-E7[O)kQ#tO'#CyOOO`1G.v1G.vOOOb-E7]-E7]O)pQ#tO'#C|OOOd-E7^-E7^O)uQ#tO'#DPOOO`-E7_-E7_O)zQ#|O,59mOOOp-E7`-E7`OOO`1G/Z1G/ZOOO`1G/]1G/]OOO`1G/^1G/^O*PQ,UO,59_OOQW-E7X-E7XOOOa7+$c7+$cOOO`7+$t7+$tOOOb7+$l7+$lOOOd7+$o7+$oOOO`7+$r7+$rO*[Q#|O,59eO*aQ#|O,59hO*fQ#|O,59kOOO`1G/X1G/XO*kO7[O'#CvO*|OMhO'#CvOOQW1G.y1G.yOOO`1G/P1G/POOO`1G/S1G/SOOO`1G/V1G/VOOOO'#D['#D[O+_O7[O,59bOOQW,59b,59bOOOO'#D]'#D]O+pOMhO,59bOOOO-E7Y-E7YOOQW1G.|1G.|OOOO-E7Z-E7Z",stateData:",]~O!^OS~OUSOVPOWQOXROYTO[]O][O^^O`^Oa^Ob^Oc^Ox^O{_O!dZO~OfaO~OfbO~OfcO~OfdO~OfeO~O!WfOPlP!ZlP~O!XiOQoP!ZoP~O!YlORrP!ZrP~OUSOVPOWQOXROYTOZqO[]O][O^^O`^Oa^Ob^Oc^Ox^O!dZO~O!ZrO~P#dO![sO!euO~OfvO~OfwO~OS|OT}OhyO~OS!POT}OhyO~OS!ROT}OhyO~OS!TOT}OhyO~OS}OT}OhyO~O!WfOPlX!ZlX~OP!WO!Z!XO~O!XiOQoX!ZoX~OQ!ZO!Z!XO~O!YlORrX!ZrX~OR!]O!Z!XO~O!Z!XO~P#dOf!_O~O![sO!e!aO~OS!bO~OS!cO~Oi!dOSgXTgXhgX~OS!fOT!gOhyO~OS!hOT!gOhyO~OS!iOT!gOhyO~OS!jOT!gOhyO~OS!gOT!gOhyO~Of!kO~Of!lO~Of!mO~OS!nO~Ok!qO!`!oO!b!pO~OS!rO~OS!sO~OS!tO~Oa!uOb!uOc!uO!`!wO!a!uO~Oa!xOb!xOc!xO!b!wO!c!xO~Oa!uOb!uOc!uO!`!{O!a!uO~Oa!xOb!xOc!xO!b!{O!c!xO~OT~bac!dx{!d~",goto:"%p!`PPPPPPPPPPPPPPPPPPPP!a!gP!mPP!yP!|#P#S#Y#]#`#f#i#l#r#x!aP!a!aP$O$U$l$r$x%O%U%[%bPPPPPPPP%hX^OX`pXUOX`pezabcde{!O!Q!S!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ!ObQ!QcQ!SdQ!UeZ!e{!O!Q!S!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"\u26A0 StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:67,context:wT,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,21,30,33,36,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,29,32,35,37,"OpenTag"],["group",-9,14,17,18,19,20,39,40,41,42,"Entity",16,"Entity TextContent",-3,28,31,34,"TextContent Entity"],["isolate",-11,21,29,30,32,33,35,36,37,38,41,42,"ltr",-3,26,27,39,""]],propSources:[_T],skippedNodes:[0],repeatNodeCount:9,tokenData:"!<p!aR!YOX$qXY,QYZ,QZ[$q[]&X]^,Q^p$qpq,Qqr-_rs3_sv-_vw3}wxHYx}-_}!OH{!O!P-_!P!Q$q!Q![-_![!]Mz!]!^-_!^!_!$S!_!`!;x!`!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4U-_4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!Z$|c`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr$qrs&}sv$qvw+Pwx(tx!^$q!^!_*V!_!a&X!a#S$q#S#T&X#T;'S$q;'S;=`+z<%lO$q!R&bX`P!a`!cpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&Xq'UV`P!cpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}P'pT`POv'kw!^'k!_;'S'k;'S;=`(P<%lO'kP(SP;=`<%l'kp([S!cpOv(Vx;'S(V;'S;=`(h<%lO(Vp(kP;=`<%l(Vq(qP;=`<%l&}a({W`P!a`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t`)jT!a`Or)esv)ew;'S)e;'S;=`)y<%lO)e`)|P;=`<%l)ea*SP;=`<%l(t!Q*^V!a`!cpOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!Q*vP;=`<%l*V!R*|P;=`<%l&XW+UYkWOX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+PW+wP;=`<%l+P!Z+}P;=`<%l$q!a,]``P!a`!cp!^^OX&XXY,QYZ,QZ]&X]^,Q^p&Xpq,Qqr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!_-ljhS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q[/ebhSkWOX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+PS0rXhSqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0mS1bP;=`<%l0m[1hP;=`<%l/^!V1vchS`P!a`!cpOq&Xqr1krs&}sv1kvw0mwx(tx!P1k!P!Q&X!Q!^1k!^!_*V!_!a&X!a#s1k#s$f&X$f;'S1k;'S;=`3R<%l?Ah1k?Ah?BY&X?BY?Mn1k?MnO&X!V3UP;=`<%l1k!_3[P;=`<%l-_!Z3hV!`h`P!cpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}!_4WihSkWc!ROX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst>]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zbkWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOa!R!R7tP;=`<%l7S!Z8OYkWa!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{ihSkWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbhSkWa!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!V<QchSOp7Sqr;{rs7Sst0mtw;{wx7Sx!P;{!P!Q7S!Q!];{!]!^=]!^!a7S!a#s;{#s$f7S$f;'S;{;'S;=`>P<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXhSa!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhhSkWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TakWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOb!R!RAwP;=`<%lAY!ZBRYkWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhhSkWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbhSkWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbhSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXhSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!bx`P!a`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYlhS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_khS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_X`P!a`!cp!eQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZhSfQ`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!a`!cpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!a`!cpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!a`!cpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!a`!cp!dPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!a`!cpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!a`!cpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!a`!cpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!a`!cpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!a`!cpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!a`!cpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!a`!cpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!cpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO{PP!-nP;=`<%l!-Sq!-xS!cp{POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!a`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!a`{POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!a`!cp{POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!a`!cpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!a`!cpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!a`!cpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!a`!cpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!a`!cpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!a`!cpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!a`!cpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!cpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOxPP!7TP;=`<%l!6Vq!7]V!cpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!cpxPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!a`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!a`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!a`xPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!a`!cpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!a`!cpxPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!<TXiS`P!a`!cpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X",tokenizers:[XT,RT,qT,zT,PT,kT,0,1,2,3,4,5],topRules:{Document:[0,15]},dialects:{noMatch:0,selfClosing:509},tokenPrec:511});function dQ(i,e){let t=Object.create(null);for(let n of i.getChildren(OQ)){let r=n.getChild(cT),s=n.getChild(mf)||n.getChild(cQ);r&&(t[e.read(r.from,r.to)]=s?s.type.id==mf?e.read(s.from+1,s.to-1):e.read(s.from,s.to):"")}return t}function nQ(i,e){let t=i.getChild(OT);return t?e.read(t.from,t.to):" "}function pf(i,e,t){let n;for(let r of t)if(!r.attrs||r.attrs(n||(n=dQ(i.node.parent.firstChild,e))))return{parser:r.parser};return null}function Qf(i=[],e=[]){let t=[],n=[],r=[],s=[];for(let a of i)(a.tag=="script"?t:a.tag=="style"?n:a.tag=="textarea"?r:s).push(a);let o=e.length?Object.create(null):null;for(let a of e)(o[a.name]||(o[a.name]=[])).push(a);return aa((a,l)=>{let c=a.type.id;if(c==hT)return pf(a,l,t);if(c==fT)return pf(a,l,n);if(c==uT)return pf(a,l,r);if(c==lQ&&s.length){let O=a.node,h=O.firstChild,f=h&&nQ(h,l),u;if(f){for(let d of s)if(d.tag==f&&(!d.attrs||d.attrs(u||(u=dQ(h,l))))){let p=O.lastChild,m=p.type.id==pT?p.from:O.to;if(m>h.to)return{parser:d.parser,overlay:[{from:h.to,to:m}]}}}}if(o&&c==OQ){let O=a.node,h;if(h=O.firstChild){let f=o[l.read(h.from,h.to)];if(f)for(let u of f){if(u.tagName&&u.tagName!=nQ(O.parent,l))continue;let d=O.lastChild;if(d.type.id==mf){let p=d.from+1,m=d.lastChild,g=d.to-(m&&m.isError?0:1);if(g>p)return{parser:u.parser,overlay:[{from:p,to:g}]}}else if(d.type.id==cQ)return{parser:u.parser,overlay:[{from:d.from,to:d.to}]}}}}return null})}var CT=122,pQ=1,WT=123,ZT=124,gQ=2,VT=125,AT=3,jT=4,$Q=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],YT=58,UT=40,yQ=95,MT=91,Na=45,ET=46,DT=35,LT=37,GT=38,BT=92,IT=10,NT=42;function $s(i){return i>=65&&i<=90||i>=97&&i<=122||i>=161}function Sf(i){return i>=48&&i<=57}function mQ(i){return Sf(i)||i>=97&&i<=102||i>=65&&i<=70}var QQ=(i,e,t)=>(n,r)=>{for(let s=!1,o=0,a=0;;a++){let{next:l}=n;if($s(l)||l==Na||l==yQ||s&&Sf(l))!s&&(l!=Na||a>0)&&(s=!0),o===a&&l==Na&&o++,n.advance();else if(l==BT&&n.peek(1)!=IT){if(n.advance(),mQ(n.next)){do n.advance();while(mQ(n.next));n.next==32&&n.advance()}else n.next>-1&&n.advance();s=!0}else{s&&n.acceptToken(o==2&&r.canShift(gQ)?e:l==UT?t:i);break}}},FT=new ge(QQ(WT,gQ,ZT)),HT=new ge(QQ(VT,AT,jT)),KT=new ge(i=>{if($Q.includes(i.peek(-1))){let{next:e}=i;($s(e)||e==yQ||e==DT||e==ET||e==NT||e==MT||e==YT&&$s(i.peek(1))||e==Na||e==GT)&&i.acceptToken(CT)}}),JT=new ge(i=>{if(!$Q.includes(i.peek(-1))){let{next:e}=i;if(e==LT&&(i.advance(),i.acceptToken(pQ)),$s(e)){do i.advance();while($s(i.next)||Sf(i.next));i.acceptToken(pQ)}}}),ez=_t({"AtKeyword import charset namespace keyframes media supports":$.definitionKeyword,"from to selector":$.keyword,NamespaceName:$.namespace,KeyframeName:$.labelName,KeyframeRangeName:$.operatorKeyword,TagName:$.tagName,ClassName:$.className,PseudoClassName:$.constant($.className),IdName:$.labelName,"FeatureName PropertyName":$.propertyName,AttributeName:$.attributeName,NumberLiteral:$.number,KeywordQuery:$.keyword,UnaryQueryOp:$.operatorKeyword,"CallTag ValueName":$.atom,VariableName:$.variableName,Callee:$.operatorKeyword,Unit:$.unit,"UniversalSelector NestingSelector":$.definitionOperator,"MatchOp CompareOp":$.compareOperator,"ChildOp SiblingOp, LogicOp":$.logicOperator,BinOp:$.arithmeticOperator,Important:$.modifier,Comment:$.blockComment,ColorLiteral:$.color,"ParenthesizedContent StringLiteral":$.string,":":$.punctuation,"PseudoOp #":$.derefOperator,"; ,":$.separator,"( )":$.paren,"[ ]":$.squareBracket,"{ }":$.brace}),tz={__proto__:null,lang:38,"nth-child":38,"nth-last-child":38,"nth-of-type":38,"nth-last-of-type":38,dir:38,"host-context":38,if:84,url:124,"url-prefix":124,domain:124,regexp:124},iz={__proto__:null,or:98,and:98,not:106,only:106,layer:170},nz={__proto__:null,selector:112,layer:166},rz={__proto__:null,"@import":162,"@media":174,"@charset":178,"@namespace":182,"@keyframes":188,"@supports":200,"@scope":204},sz={__proto__:null,to:207},SQ=At.deserialize({version:14,states:"EbQYQdOOO#qQdOOP#xO`OOOOQP'#Cf'#CfOOQP'#Ce'#CeO#}QdO'#ChO$nQaO'#CcO$xQdO'#CkO%TQdO'#DpO%YQdO'#DrO%_QdO'#DuO%_QdO'#DxOOQP'#FV'#FVO&eQhO'#EhOOQS'#FU'#FUOOQS'#Ek'#EkQYQdOOO&lQdO'#EOO&PQhO'#EUO&lQdO'#EWO'aQdO'#EYO'lQdO'#E]O'tQhO'#EcO(VQdO'#EeO(bQaO'#CfO)VQ`O'#D{O)[Q`O'#F`O)gQdO'#F`QOQ`OOP)qO&jO'#CaPOOO)C@t)C@tOOQP'#Cj'#CjOOQP,59S,59SO#}QdO,59SO)|QdO,59VO%TQdO,5:[O%YQdO,5:^O%_QdO,5:aO%_QdO,5:cO%_QdO,5:dO%_QdO'#ErO*XQ`O,58}O*aQdO'#DzOOQS,58},58}OOQP'#Cn'#CnOOQO'#Dn'#DnOOQP,59V,59VO*hQ`O,59VO*mQ`O,59VOOQP'#Dq'#DqOOQP,5:[,5:[OOQO'#Ds'#DsO*rQpO,5:^O+]QaO,5:aO+sQaO,5:dOOQW'#DZ'#DZO,ZQhO'#DdO,xQhO'#FaO'tQhO'#DbO-WQ`O'#DhOOQW'#F['#F[O-]Q`O,5;SO-eQ`O'#DeOOQS-E8i-E8iOOQ['#Cs'#CsO-jQdO'#CtO.QQdO'#CzO.hQdO'#C}O/OQ!pO'#DPO1RQ!jO,5:jOOQO'#DU'#DUO*mQ`O'#DTO1cQ!nO'#FXO3`Q`O'#DVO3eQ`O'#DkOOQ['#FX'#FXO-`Q`O,5:pO3jQ!bO,5:rOOQS'#E['#E[O3rQ`O,5:tO3wQdO,5:tOOQO'#E_'#E_O4PQ`O,5:wO4UQhO,5:}O%_QdO'#DgOOQS,5;P,5;PO-eQ`O,5;PO4^QdO,5;PO4fQdO,5:gO4vQdO'#EtO5TQ`O,5;zO5TQ`O,5;zPOOO'#Ej'#EjP5`O&jO,58{POOO,58{,58{OOQP1G.n1G.nOOQP1G.q1G.qO*hQ`O1G.qO*mQ`O1G.qOOQP1G/v1G/vO5kQpO1G/xO5sQaO1G/{O6ZQaO1G/}O6qQaO1G0OO7XQaO,5;^OOQO-E8p-E8pOOQS1G.i1G.iO7cQ`O,5:fO7hQdO'#DoO7oQdO'#CrOOQP1G/x1G/xO&lQdO1G/xO7vQ!jO'#DZO8UQ!bO,59vO8^QhO,5:OOOQO'#F]'#F]O8XQ!bO,59zO'tQhO,59xO8fQhO'#EvO8sQ`O,5;{O9OQhO,59|O9uQhO'#DiOOQW,5:S,5:SOOQS1G0n1G0nOOQW,5:P,5:PO9|Q!fO'#FYOOQS'#FY'#FYOOQS'#Em'#EmO;^QdO,59`OOQ[,59`,59`O;tQdO,59fOOQ[,59f,59fO<[QdO,59iOOQ[,59i,59iOOQ[,59k,59kO&lQdO,59mO<rQhO'#EQOOQW'#EQ'#EQO=WQ`O1G0UO1[QhO1G0UOOQ[,59o,59oO'tQhO'#DXOOQ[,59q,59qO=]Q#tO,5:VOOQS1G0[1G0[OOQS1G0^1G0^OOQS1G0`1G0`O=hQ`O1G0`O=mQdO'#E`OOQS1G0c1G0cOOQS1G0i1G0iO=xQaO,5:RO-`Q`O1G0kOOQS1G0k1G0kO-eQ`O1G0kO>PQ!fO1G0ROOQO1G0R1G0ROOQO,5;`,5;`O>gQdO,5;`OOQO-E8r-E8rO>tQ`O1G1fPOOO-E8h-E8hPOOO1G.g1G.gOOQP7+$]7+$]OOQP7+%d7+%dO&lQdO7+%dOOQS1G0Q1G0QO?PQaO'#F_O?ZQ`O,5:ZO?`Q!fO'#ElO@^QdO'#FWO@hQ`O,59^O@mQ!bO7+%dO&lQdO1G/bO@uQhO1G/fOOQW1G/j1G/jOOQW1G/d1G/dOAWQhO,5;bOOQO-E8t-E8tOAfQhO'#DZOAtQhO'#F^OBPQ`O'#F^OBUQ`O,5:TOOQS-E8k-E8kOOQ[1G.z1G.zOOQ[1G/Q1G/QOOQ[1G/T1G/TOOQ[1G/X1G/XOBZQdO,5:lOOQS7+%p7+%pOB`Q`O7+%pOBeQhO'#DYOBmQ`O,59sO'tQhO,59sOOQ[1G/q1G/qOBuQ`O1G/qOOQS7+%z7+%zOBzQbO'#DPOOQO'#Eb'#EbOCYQ`O'#EaOOQO'#Ea'#EaOCeQ`O'#EwOCmQdO,5:zOOQS,5:z,5:zOOQ[1G/m1G/mOOQS7+&V7+&VO-`Q`O7+&VOCxQ!fO'#EsO&lQdO'#EsOEPQdO7+%mOOQO7+%m7+%mOOQO1G0z1G0zOEdQ!bO<<IOOElQdO'#EqOEvQ`O,5;yOOQP1G/u1G/uOOQS-E8j-E8jOFOQdO'#EpOFYQ`O,5;rOOQ]1G.x1G.xOOQP<<IO<<IOOFbQdO7+$|OOQO'#D]'#D]OFiQ!bO7+%QOFqQhO'#EoOF{Q`O,5;xO&lQdO,5;xOOQW1G/o1G/oOOQO'#ES'#ESOGTQ`O1G0WOOQS<<I[<<I[O&lQdO,59tOGnQhO1G/_OOQ[1G/_1G/_OGuQ`O1G/_OOQW-E8l-E8lOOQ[7+%]7+%]OOQO,5:{,5:{O=pQdO'#ExOCeQ`O,5;cOOQS,5;c,5;cOOQS-E8u-E8uOOQS1G0f1G0fOOQS<<Iq<<IqOG}Q!fO,5;_OOQS-E8q-E8qOOQO<<IX<<IXOOQPAN>jAN>jOIUQaO,5;]OOQO-E8o-E8oOI`QdO,5;[OOQO-E8n-E8nOOQW<<Hh<<HhOOQW<<Hl<<HlOIjQhO<<HlOI{QhO,5;ZOJWQ`O,5;ZOOQO-E8m-E8mOJ]QdO1G1dOBZQdO'#EuOJgQ`O7+%rOOQW7+%r7+%rOJoQ!bO1G/`OOQ[7+$y7+$yOJzQhO7+$yPKRQ`O'#EnOOQO,5;d,5;dOOQO-E8v-E8vOOQS1G0}1G0}OKWQ`OAN>WO&lQdO1G0uOK]Q`O7+'OOOQO,5;a,5;aOOQO-E8s-E8sOOQW<<I^<<I^OOQ[<<He<<HePOQW,5;Y,5;YOOQWG23rG23rOKeQdO7+&a",stateData:"Kx~O#sOS#tQQ~OW[OZ[O]TO`VOaVOi]OjWOmXO!jYO!mZO!saO!ybO!{cO!}dO#QeO#WfO#YgO#oRO~OQiOW[OZ[O]TO`VOaVOi]OjWOmXO!jYO!mZO!saO!ybO!{cO!}dO#QeO#WfO#YgO#ohO~O#m$SP~P!dO#tmO~O#ooO~O]qO`rOarOjsOmtO!juO!mwO#nvO~OpzO!^xO~P$SOc!QO#o|O#p}O~O#o!RO~O#o!TO~OW[OZ[O]TO`VOaVOjWOmXO!jYO!mZO#oRO~OS!]Oe!YO!V![O!Y!`O#q!XOp$TP~Ok$TP~P&POQ!jOe!cOm!dOp!eOr!mOt!mOz!kO!`!lO#o!bO#p!hO#}!fO~Ot!qO!`!lO#o!pO~Ot!sO#o!sO~OS!]Oe!YO!V![O!Y!`O#q!XO~Oe!vOpzO#Z!xO~O]YX`YX`!pXaYXjYXmYXpYX!^YX!jYX!mYX#nYX~O`!zO~Ok!{O#m$SXo$SX~O#m$SXo$SX~P!dO#u#OO#v#OO#w#QO~Oc#UO#o|O#p}O~OpzO!^xO~Oo$SP~P!dOe#`O~Oe#aO~Ol#bO!h#cO~O]qO`rOarOjsOmtO~Op!ia!^!ia!j!ia!m!ia#n!iad!ia~P*zOp!la!^!la!j!la!m!la#n!lad!la~P*zOR#gOS!]Oe!YOr#gOt#gO!V![O!Y!`O#q#dO#}!fO~O!R#iO!^#jOk$TXp$TX~Oe#mO~Ok#oOpzO~Oe!vO~O]#rO`#rOd#uOi#rOj#rOk#rO~P&lO]#rO`#rOi#rOj#rOk#rOl#wO~P&lO]#rO`#rOi#rOj#rOk#rOo#yO~P&lOP#zOSsXesXksXvsX!VsX!YsX!usX!wsX#qsX!TsXQsX]sX`sXdsXisXjsXmsXpsXrsXtsXzsX!`sX#osX#psX#}sXlsXosX!^sX!qsX#msX~Ov#{O!u#|O!w#}Ok$TP~P'tOe#aOS#{Xk#{Xv#{X!V#{X!Y#{X!u#{X!w#{X#q#{XQ#{X]#{X`#{Xd#{Xi#{Xj#{Xm#{Xp#{Xr#{Xt#{Xz#{X!`#{X#o#{X#p#{X#}#{Xl#{Xo#{X!^#{X!q#{X#m#{X~Oe$RO~Oe$TO~Ok$VOv#{O~Ok$WO~Ot$XO!`!lO~Op$YO~OpzO!R#iO~OpzO#Z$`O~O!q$bOk!oa#m!oao!oa~P&lOk#hX#m#hXo#hX~P!dOk!{O#m$Sao$Sa~O#u#OO#v#OO#w$hO~Ol$jO!h$kO~Op!ii!^!ii!j!ii!m!ii#n!iid!ii~P*zOp!ki!^!ki!j!ki!m!ki#n!kid!ki~P*zOp!li!^!li!j!li!m!li#n!lid!li~P*zOp#fa!^#fa~P$SOo$lO~Od$RP~P%_Od#zP~P&lO`!PXd}X!R}X!T!PX~O`$sO!T$tO~Od$uO!R#iO~Ok#jXp#jX!^#jX~P'tO!^#jOk$Tap$Ta~O!R#iOk!Uap!Ua!^!Uad!Ua`!Ua~OS!]Oe!YO!V![O!Y!`O#q$yO~Od$QP~P9dOv#{OQ#|X]#|X`#|Xd#|Xe#|Xi#|Xj#|Xk#|Xm#|Xp#|Xr#|Xt#|Xz#|X!`#|X#o#|X#p#|X#}#|Xl#|Xo#|X~O]#rO`#rOd%OOi#rOj#rOk#rO~P&lO]#rO`#rOi#rOj#rOk#rOl%PO~P&lO]#rO`#rOi#rOj#rOk#rOo%QO~P&lOe%SOS!tXk!tX!V!tX!Y!tX#q!tX~Ok%TO~Od%YOt%ZO!a%ZO~Ok%[O~Oo%cO#o%^O#}%]O~Od%dO~P$SOv#{O!^%hO!q%jOk!oi#m!oio!oi~P&lOk#ha#m#hao#ha~P!dOk!{O#m$Sio$Si~O!^%mOd$RX~P$SOd%oO~Ov#{OQ#`Xd#`Xe#`Xm#`Xp#`Xr#`Xt#`Xz#`X!^#`X!`#`X#o#`X#p#`X#}#`X~O!^%qOd#zX~P&lOd%sO~Ol%tOv#{O~OR#gOr#gOt#gO#q%vO#}!fO~O!R#iOk#jap#ja!^#ja~O`!PXd}X!R}X!^}X~O!R#iO!^%xOd$QX~O`%zO~Od%{O~O#o%|O~Ok&OO~O`&PO!R#iO~Od&ROk&QO~Od&UO~OP#zOpsX!^sXdsX~O#}%]Op#TX!^#TX~OpzO!^&WO~Oo&[O#o%^O#}%]O~Ov#{OQ#gXe#gXk#gXm#gXp#gXr#gXt#gXz#gX!^#gX!`#gX!q#gX#m#gX#o#gX#p#gX#}#gXo#gX~O!^%hO!q&`Ok!oq#m!oqo!oq~P&lOl&aOv#{O~Od#eX!^#eX~P%_O!^%mOd$Ra~Od#dX!^#dX~P&lO!^%qOd#za~Od&fO~P&lOd&gO!T&hO~Od#cX!^#cX~P9dO!^%xOd$Qa~O]&mOd&oO~OS#bae#ba!V#ba!Y#ba#q#ba~Od&qO~PG]Od&qOk&rO~Ov#{OQ#gae#gak#gam#gap#gar#gat#gaz#ga!^#ga!`#ga!q#ga#m#ga#o#ga#p#ga#}#gao#ga~Od#ea!^#ea~P$SOd#da!^#da~P&lOR#gOr#gOt#gO#q%vO#}%]O~O!R#iOd#ca!^#ca~O`&xO~O!^%xOd$Qi~P&lO]&mOd&|O~Ov#{Od|ik|i~Od&}O~PG]Ok'OO~Od'PO~O!^%xOd$Qq~Od#cq!^#cq~P&lO#s!a#t#}]#}v!m~",goto:"2h$UPPPPP$VP$YP$c$uP$cP%X$cPP%_PPP%e%o%oPPPPP%oPP%oP&]P%oP%o'W%oP't'w'}'}(^'}P'}P'}P'}'}P(m'}(yP(|PP)p)v$c)|$c*SP$cP$c$cP*Y*{+YP$YP+aP+dP$YP$YP$YP+j$YP+m+p+s+z$YP$YPP$YP,P,V,f,|-[-b-l-r-x.O.U.`.f.l.rPPPPPPPPPPP.x/R/w/z0|P1U1u2O2R2U2[RnQ_^OP`kz!{$dq[OPYZ`kuvwxz!v!{#`$d%mqSOPYZ`kuvwxz!v!{#`$d%mQpTR#RqQ!OVR#SrQ#S!QS$Q!i!jR$i#U!V!mac!c!d!e!z#a#c#t#v#x#{$a$k$p$s%h%i%q%u%z&P&d&l&x'Q!U!mac!c!d!e!z#a#c#t#v#x#{$a$k$p$s%h%i%q%u%z&P&d&l&x'QU#g!Y$t&hU%`$Y%b&WR&V%_!V!iac!c!d!e!z#a#c#t#v#x#{$a$k$p$s%h%i%q%u%z&P&d&l&x'QR$S!kQ%W$RR&S%Xk!^]bf!Y![!g#i#j#m$P$R%X%xQ#e!YQ${#mQ%w$tQ&j%xR&w&hQ!ygQ#p!`Q$^!xR%f$`R#n!]!U!mac!c!d!e!z#a#c#t#v#x#{$a$k$p$s%h%i%q%u%z&P&d&l&x'QQ!qdR$X!rQ!PVR#TrQ#S!PR$i#TQ!SWR#VsQ!UXR#WtQ{UQ!wgQ#^yQ#o!_Q$U!nQ$[!uQ$_!yQ%e$^Q&Y%aQ&]%fR&v&XSjPzQ!}kQ$c!{R%k$dZiPkz!{$dR$P!gQ%}%SR&z&mR!rdR!teR$Z!tS%a$Y%bR&t&WV%_$Y%b&WQ#PmR$g#PQ`OSkPzU!a`k$dR$d!{Q$p#aY%p$p%u&d&l'QQ%u$sQ&d%qQ&l%zR'Q&xQ#t!cQ#v!dQ#x!eV$}#t#v#xQ%X$RR&T%XQ%y$zS&k%y&yR&y&lQ%r$pR&e%rQ%n$mR&c%nQyUR#]yQ%i$aR&_%iQ!|jS$e!|$fR$f!}Q&n%}R&{&nQ#k!ZR$x#kQ%b$YR&Z%bQ&X%aR&u&X__OP`kz!{$d^UOP`kz!{$dQ!VYQ!WZQ#XuQ#YvQ#ZwQ#[xQ$]!vQ$m#`R&b%mR$q#aQ!gaQ!oc[#q!c!d!e#t#v#xQ$a!zd$o#a$p$s%q%u%z&d&l&x'QQ$r#cQ%R#{S%g$a%iQ%l$kQ&^%hR&p&P]#s!c!d!e#t#v#xW!Z]b!g$PQ!ufQ#f!YQ#l![Q$v#iQ$w#jQ$z#mS%V$R%XR&i%xQ#h!YQ%w$tR&w&hR$|#mR$n#`QlPR#_zQ!_]Q!nbQ$O!gR%U$P",nodeNames:"\u26A0 Unit VariableName VariableName QueryCallee Comment StyleSheet RuleSet UniversalSelector TagSelector TagName NestingSelector ClassSelector . ClassName PseudoClassSelector : :: PseudoClassName PseudoClassName ) ( ArgList ValueName ParenthesizedValue AtKeyword # ; ] [ BracketedValue } { BracedValue ColorLiteral NumberLiteral StringLiteral BinaryExpression BinOp CallExpression Callee IfExpression if ArgList IfBranch KeywordQuery FeatureQuery FeatureName BinaryQuery LogicOp ComparisonQuery CompareOp UnaryQuery UnaryQueryOp ParenthesizedQuery SelectorQuery selector ParenthesizedSelector CallQuery ArgList , CallLiteral CallTag ParenthesizedContent PseudoClassName ArgList IdSelector IdName AttributeSelector AttributeName MatchOp ChildSelector ChildOp DescendantSelector SiblingSelector SiblingOp Block Declaration PropertyName Important ImportStatement import Layer layer LayerName layer MediaStatement media CharsetStatement charset NamespaceStatement namespace NamespaceName KeyframesStatement keyframes KeyframeName KeyframeList KeyframeSelector KeyframeRangeName SupportsStatement supports ScopeStatement scope to AtRule Styles",maxTerm:143,nodeProps:[["isolate",-2,5,36,""],["openedBy",20,"(",28,"[",31,"{"],["closedBy",21,")",29,"]",32,"}"]],propSources:[ez],skippedNodes:[0,5,106],repeatNodeCount:15,tokenData:"JQ~R!YOX$qX^%i^p$qpq%iqr({rs-ust/itu6Wuv$qvw7Qwx7cxy9Qyz9cz{9h{|:R|}>t}!O?V!O!P?t!P!Q@]!Q![AU![!]BP!]!^B{!^!_C^!_!`DY!`!aDm!a!b$q!b!cEn!c!}$q!}#OG{#O#P$q#P#QH^#Q#R6W#R#o$q#o#pHo#p#q6W#q#rIQ#r#sIc#s#y$q#y#z%i#z$f$q$f$g%i$g#BY$q#BY#BZ%i#BZ$IS$q$IS$I_%i$I_$I|$q$I|$JO%i$JO$JT$q$JT$JU%i$JU$KV$q$KV$KW%i$KW&FU$q&FU&FV%i&FV;'S$q;'S;=`Iz<%lO$q`$tSOy%Qz;'S%Q;'S;=`%c<%lO%Q`%VS!a`Oy%Qz;'S%Q;'S;=`%c<%lO%Q`%fP;=`<%l%Q~%nh#s~OX%QX^'Y^p%Qpq'Yqy%Qz#y%Q#y#z'Y#z$f%Q$f$g'Y$g#BY%Q#BY#BZ'Y#BZ$IS%Q$IS$I_'Y$I_$I|%Q$I|$JO'Y$JO$JT%Q$JT$JU'Y$JU$KV%Q$KV$KW'Y$KW&FU%Q&FU&FV'Y&FV;'S%Q;'S;=`%c<%lO%Q~'ah#s~!a`OX%QX^'Y^p%Qpq'Yqy%Qz#y%Q#y#z'Y#z$f%Q$f$g'Y$g#BY%Q#BY#BZ'Y#BZ$IS%Q$IS$I_'Y$I_$I|%Q$I|$JO'Y$JO$JT%Q$JT$JU'Y$JU$KV%Q$KV$KW'Y$KW&FU%Q&FU&FV'Y&FV;'S%Q;'S;=`%c<%lO%Qj)OUOy%Qz#]%Q#]#^)b#^;'S%Q;'S;=`%c<%lO%Qj)gU!a`Oy%Qz#a%Q#a#b)y#b;'S%Q;'S;=`%c<%lO%Qj*OU!a`Oy%Qz#d%Q#d#e*b#e;'S%Q;'S;=`%c<%lO%Qj*gU!a`Oy%Qz#c%Q#c#d*y#d;'S%Q;'S;=`%c<%lO%Qj+OU!a`Oy%Qz#f%Q#f#g+b#g;'S%Q;'S;=`%c<%lO%Qj+gU!a`Oy%Qz#h%Q#h#i+y#i;'S%Q;'S;=`%c<%lO%Qj,OU!a`Oy%Qz#T%Q#T#U,b#U;'S%Q;'S;=`%c<%lO%Qj,gU!a`Oy%Qz#b%Q#b#c,y#c;'S%Q;'S;=`%c<%lO%Qj-OU!a`Oy%Qz#h%Q#h#i-b#i;'S%Q;'S;=`%c<%lO%Qj-iS!qY!a`Oy%Qz;'S%Q;'S;=`%c<%lO%Q~-xWOY-uZr-urs.bs#O-u#O#P.g#P;'S-u;'S;=`/c<%lO-u~.gOt~~.jRO;'S-u;'S;=`.s;=`O-u~.vXOY-uZr-urs.bs#O-u#O#P.g#P;'S-u;'S;=`/c;=`<%l-u<%lO-u~/fP;=`<%l-uj/nYjYOy%Qz!Q%Q!Q![0^![!c%Q!c!i0^!i#T%Q#T#Z0^#Z;'S%Q;'S;=`%c<%lO%Qj0cY!a`Oy%Qz!Q%Q!Q![1R![!c%Q!c!i1R!i#T%Q#T#Z1R#Z;'S%Q;'S;=`%c<%lO%Qj1WY!a`Oy%Qz!Q%Q!Q![1v![!c%Q!c!i1v!i#T%Q#T#Z1v#Z;'S%Q;'S;=`%c<%lO%Qj1}YrY!a`Oy%Qz!Q%Q!Q![2m![!c%Q!c!i2m!i#T%Q#T#Z2m#Z;'S%Q;'S;=`%c<%lO%Qj2tYrY!a`Oy%Qz!Q%Q!Q![3d![!c%Q!c!i3d!i#T%Q#T#Z3d#Z;'S%Q;'S;=`%c<%lO%Qj3iY!a`Oy%Qz!Q%Q!Q![4X![!c%Q!c!i4X!i#T%Q#T#Z4X#Z;'S%Q;'S;=`%c<%lO%Qj4`YrY!a`Oy%Qz!Q%Q!Q![5O![!c%Q!c!i5O!i#T%Q#T#Z5O#Z;'S%Q;'S;=`%c<%lO%Qj5TY!a`Oy%Qz!Q%Q!Q![5s![!c%Q!c!i5s!i#T%Q#T#Z5s#Z;'S%Q;'S;=`%c<%lO%Qj5zSrY!a`Oy%Qz;'S%Q;'S;=`%c<%lO%Qd6ZUOy%Qz!_%Q!_!`6m!`;'S%Q;'S;=`%c<%lO%Qd6tS!hS!a`Oy%Qz;'S%Q;'S;=`%c<%lO%Qb7VSZQOy%Qz;'S%Q;'S;=`%c<%lO%Q~7fWOY7cZw7cwx.bx#O7c#O#P8O#P;'S7c;'S;=`8z<%lO7c~8RRO;'S7c;'S;=`8[;=`O7c~8_XOY7cZw7cwx.bx#O7c#O#P8O#P;'S7c;'S;=`8z;=`<%l7c<%lO7c~8}P;=`<%l7cj9VSeYOy%Qz;'S%Q;'S;=`%c<%lO%Q~9hOd~n9oUWQvWOy%Qz!_%Q!_!`6m!`;'S%Q;'S;=`%c<%lO%Qj:YWvW!mQOy%Qz!O%Q!O!P:r!P!Q%Q!Q![=w![;'S%Q;'S;=`%c<%lO%Qj:wU!a`Oy%Qz!Q%Q!Q![;Z![;'S%Q;'S;=`%c<%lO%Qj;bY!a`#}YOy%Qz!Q%Q!Q![;Z![!g%Q!g!h<Q!h#X%Q#X#Y<Q#Y;'S%Q;'S;=`%c<%lO%Qj<VY!a`Oy%Qz{%Q{|<u|}%Q}!O<u!O!Q%Q!Q![=^![;'S%Q;'S;=`%c<%lO%Qj<zU!a`Oy%Qz!Q%Q!Q![=^![;'S%Q;'S;=`%c<%lO%Qj=eU!a`#}YOy%Qz!Q%Q!Q![=^![;'S%Q;'S;=`%c<%lO%Qj>O[!a`#}YOy%Qz!O%Q!O!P;Z!P!Q%Q!Q![=w![!g%Q!g!h<Q!h#X%Q#X#Y<Q#Y;'S%Q;'S;=`%c<%lO%Qj>yS!^YOy%Qz;'S%Q;'S;=`%c<%lO%Qj?[WvWOy%Qz!O%Q!O!P:r!P!Q%Q!Q![=w![;'S%Q;'S;=`%c<%lO%Qj?yU]YOy%Qz!Q%Q!Q![;Z![;'S%Q;'S;=`%c<%lO%Q~@bTvWOy%Qz{@q{;'S%Q;'S;=`%c<%lO%Q~@xS!a`#t~Oy%Qz;'S%Q;'S;=`%c<%lO%QjAZ[#}YOy%Qz!O%Q!O!P;Z!P!Q%Q!Q![=w![!g%Q!g!h<Q!h#X%Q#X#Y<Q#Y;'S%Q;'S;=`%c<%lO%QjBUU`YOy%Qz![%Q![!]Bh!];'S%Q;'S;=`%c<%lO%QbBoSaQ!a`Oy%Qz;'S%Q;'S;=`%c<%lO%QjCQSkYOy%Qz;'S%Q;'S;=`%c<%lO%QhCcU!TWOy%Qz!_%Q!_!`Cu!`;'S%Q;'S;=`%c<%lO%QhC|S!TW!a`Oy%Qz;'S%Q;'S;=`%c<%lO%QlDaS!TW!hSOy%Qz;'S%Q;'S;=`%c<%lO%QjDtV!jQ!TWOy%Qz!_%Q!_!`Cu!`!aEZ!a;'S%Q;'S;=`%c<%lO%QbEbS!jQ!a`Oy%Qz;'S%Q;'S;=`%c<%lO%QjEqYOy%Qz}%Q}!OFa!O!c%Q!c!}GO!}#T%Q#T#oGO#o;'S%Q;'S;=`%c<%lO%QjFfW!a`Oy%Qz!c%Q!c!}GO!}#T%Q#T#oGO#o;'S%Q;'S;=`%c<%lO%QjGV[iY!a`Oy%Qz}%Q}!OGO!O!Q%Q!Q![GO![!c%Q!c!}GO!}#T%Q#T#oGO#o;'S%Q;'S;=`%c<%lO%QjHQSmYOy%Qz;'S%Q;'S;=`%c<%lO%QnHcSl^Oy%Qz;'S%Q;'S;=`%c<%lO%QjHtSpYOy%Qz;'S%Q;'S;=`%c<%lO%QjIVSoYOy%Qz;'S%Q;'S;=`%c<%lO%QfIhU!mQOy%Qz!_%Q!_!`6m!`;'S%Q;'S;=`%c<%lO%Q`I}P;=`<%l$q",tokenizers:[KT,JT,FT,HT,1,2,3,4,new xi("m~RRYZ[z{a~~g~aO#v~~dP!P!Qg~lO#w~~",28,129)],topRules:{StyleSheet:[0,6],Styles:[1,105]},specialized:[{term:124,get:i=>tz[i]||-1},{term:125,get:i=>iz[i]||-1},{term:4,get:i=>nz[i]||-1},{term:25,get:i=>rz[i]||-1},{term:123,get:i=>sz[i]||-1}],tokenPrec:1963});var bf=null;function xf(){if(!bf&&typeof document=="object"&&document.body){let{style:i}=document.body,e=[],t=new Set;for(let n in i)n!="cssText"&&n!="cssFloat"&&typeof i[n]=="string"&&(/[A-Z]/.test(n)&&(n=n.replace(/[A-Z]/g,r=>"-"+r.toLowerCase())),t.has(n)||(e.push(n),t.add(n)));bf=e.sort().map(n=>({type:"property",label:n,apply:n+": "}))}return bf||[]}var bQ=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map(i=>({type:"class",label:i})),xQ=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map(i=>({type:"keyword",label:i})).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map(i=>({type:"constant",label:i}))),oz=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map(i=>({type:"type",label:i})),az=["@charset","@color-profile","@container","@counter-style","@font-face","@font-feature-values","@font-palette-values","@import","@keyframes","@layer","@media","@namespace","@page","@position-try","@property","@scope","@starting-style","@supports","@view-transition"].map(i=>({type:"keyword",label:i})),ei=/^(\w[\w-]*|-\w[\w-]*|)$/,lz=/^-(-[\w-]*)?$/;function Oz(i,e){var t;if((i.name=="("||i.type.isError)&&(i=i.parent||i),i.name!="ArgList")return!1;let n=(t=i.parent)===null||t===void 0?void 0:t.firstChild;return n?.name!="Callee"?!1:e.sliceString(n.from,n.to)=="var"}var vQ=new Cn,cz=["Declaration"];function hz(i){for(let e=i;;){if(e.type.isTop)return e;if(!(e=e.parent))return i}}function wQ(i,e,t){if(e.to-e.from>4096){let n=vQ.get(e);if(n)return n;let r=[],s=new Set,o=e.cursor(H.IncludeAnonymous);if(o.firstChild())do for(let a of wQ(i,o.node,t))s.has(a.label)||(s.add(a.label),r.push(a));while(o.nextSibling());return vQ.set(e,r),r}else{let n=[],r=new Set;return e.cursor().iterate(s=>{var o;if(t(s)&&s.matchContext(cz)&&((o=s.node.nextSibling)===null||o===void 0?void 0:o.name)==":"){let a=i.sliceString(s.from,s.to);r.has(a)||(r.add(a),n.push({label:a,type:"variable"}))}}),n}}var fz=i=>e=>{let{state:t,pos:n}=e,r=ae(t).resolveInner(n,-1),s=r.type.isError&&r.from==r.to-1&&t.doc.sliceString(r.from,r.to)=="-";if(r.name=="PropertyName"||(s||r.name=="TagName")&&/^(Block|Styles)$/.test(r.resolve(r.to).name))return{from:r.from,options:xf(),validFor:ei};if(r.name=="ValueName")return{from:r.from,options:xQ,validFor:ei};if(r.name=="PseudoClassName")return{from:r.from,options:bQ,validFor:ei};if(i(r)||(e.explicit||s)&&Oz(r,t.doc))return{from:i(r)||s?r.from:n,options:wQ(t.doc,hz(r),i),validFor:lz};if(r.name=="TagName"){for(let{parent:l}=r;l;l=l.parent)if(l.name=="Block")return{from:r.from,options:xf(),validFor:ei};return{from:r.from,options:oz,validFor:ei}}if(r.name=="AtKeyword")return{from:r.from,options:az,validFor:ei};if(!e.explicit)return null;let o=r.resolve(n),a=o.childBefore(n);return a&&a.name==":"&&o.name=="PseudoClassSelector"?{from:n,options:bQ,validFor:ei}:a&&a.name==":"&&o.name=="Declaration"||o.name=="ArgList"?{from:n,options:xQ,validFor:ei}:o.name=="Block"||o.name=="Styles"?{from:n,options:xf(),validFor:ei}:null},uz=fz(i=>i.name=="VariableName"),ys=Ct.define({name:"css",parser:SQ.configure({props:[Ft.add({Declaration:Zt()}),Ht.add({"Block KeyframeList":Yn})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function PQ(){return new Wt(ys,ys.data.of({autocomplete:uz}))}var dz=315,pz=316,kQ=1,mz=2,gz=3,$z=4,yz=317,Qz=319,Sz=320,bz=5,xz=6,vz=0,wf=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],TQ=125,wz=59,Pf=47,Pz=42,kz=43,Tz=45,zz=60,Xz=44,Rz=63,qz=46,_z=91,Cz=new In({start:!1,shift(i,e){return e==bz||e==xz||e==Qz?i:e==Sz},strict:!1}),Wz=new ge((i,e)=>{let{next:t}=i;(t==TQ||t==-1||e.context)&&i.acceptToken(yz)},{contextual:!0,fallback:!0}),Zz=new ge((i,e)=>{let{next:t}=i,n;wf.indexOf(t)>-1||t==Pf&&((n=i.peek(1))==Pf||n==Pz)||t!=TQ&&t!=wz&&t!=-1&&!e.context&&i.acceptToken(dz)},{contextual:!0}),Vz=new ge((i,e)=>{i.next==_z&&!e.context&&i.acceptToken(pz)},{contextual:!0}),Az=new ge((i,e)=>{let{next:t}=i;if(t==kz||t==Tz){if(i.advance(),t==i.next){i.advance();let n=!e.context&&e.canShift(kQ);i.acceptToken(n?kQ:mz)}}else t==Rz&&i.peek(1)==qz&&(i.advance(),i.advance(),(i.next<48||i.next>57)&&i.acceptToken(gz))},{contextual:!0});function vf(i,e){return i>=65&&i<=90||i>=97&&i<=122||i==95||i>=192||!e&&i>=48&&i<=57}var jz=new ge((i,e)=>{if(i.next!=zz||!e.dialectEnabled(vz)||(i.advance(),i.next==Pf))return;let t=0;for(;wf.indexOf(i.next)>-1;)i.advance(),t++;if(vf(i.next,!0)){for(i.advance(),t++;vf(i.next,!1);)i.advance(),t++;for(;wf.indexOf(i.next)>-1;)i.advance(),t++;if(i.next==Xz)return;for(let n=0;;n++){if(n==7){if(!vf(i.next,!0))return;break}if(i.next!="extends".charCodeAt(n))break;i.advance(),t++}}i.acceptToken($z,-t)}),Yz=_t({"get set async static":$.modifier,"for while do if else switch try catch finally return throw break continue default case":$.controlKeyword,"in of await yield void typeof delete instanceof as satisfies":$.operatorKeyword,"let var const using function class extends":$.definitionKeyword,"import export from":$.moduleKeyword,"with debugger new":$.keyword,TemplateString:$.special($.string),super:$.atom,BooleanLiteral:$.bool,this:$.self,null:$.null,Star:$.modifier,VariableName:$.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":$.function($.variableName),VariableDefinition:$.definition($.variableName),Label:$.labelName,PropertyName:$.propertyName,PrivatePropertyName:$.special($.propertyName),"CallExpression/MemberExpression/PropertyName":$.function($.propertyName),"FunctionDeclaration/VariableDefinition":$.function($.definition($.variableName)),"ClassDeclaration/VariableDefinition":$.definition($.className),"NewExpression/VariableName":$.className,PropertyDefinition:$.definition($.propertyName),PrivatePropertyDefinition:$.definition($.special($.propertyName)),UpdateOp:$.updateOperator,"LineComment Hashbang":$.lineComment,BlockComment:$.blockComment,Number:$.number,String:$.string,Escape:$.escape,ArithOp:$.arithmeticOperator,LogicOp:$.logicOperator,BitOp:$.bitwiseOperator,CompareOp:$.compareOperator,RegExp:$.regexp,Equals:$.definitionOperator,Arrow:$.function($.punctuation),": Spread":$.punctuation,"( )":$.paren,"[ ]":$.squareBracket,"{ }":$.brace,"InterpolationStart InterpolationEnd":$.special($.brace),".":$.derefOperator,", ;":$.separator,"@":$.meta,TypeName:$.typeName,TypeDefinition:$.definition($.typeName),"type enum interface implements namespace module declare":$.definitionKeyword,"abstract global Privacy readonly override":$.modifier,"is keyof unique infer asserts":$.operatorKeyword,JSXAttributeValue:$.attributeValue,JSXText:$.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":$.angleBracket,"JSXIdentifier JSXNameSpacedName":$.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":$.attributeName,"JSXBuiltin/JSXIdentifier":$.standard($.tagName)}),Uz={__proto__:null,export:20,as:25,from:33,default:36,async:41,function:42,in:52,out:55,const:56,extends:60,this:64,true:72,false:72,null:84,void:88,typeof:92,super:108,new:142,delete:154,yield:163,await:167,class:172,public:235,private:235,protected:235,readonly:237,instanceof:256,satisfies:259,import:292,keyof:349,unique:353,infer:359,asserts:395,is:397,abstract:417,implements:419,type:421,let:424,var:426,using:429,interface:435,enum:439,namespace:445,module:447,declare:451,global:455,for:474,of:483,while:486,with:490,do:494,if:498,else:500,switch:504,case:510,try:516,catch:520,finally:524,return:528,throw:532,break:536,continue:540,debugger:544},Mz={__proto__:null,async:129,get:131,set:133,declare:195,public:197,private:197,protected:197,static:199,abstract:201,override:203,readonly:209,accessor:211,new:401},Ez={__proto__:null,"<":193},zQ=At.deserialize({version:14,states:"$EOQ%TQlOOO%[QlOOO'_QpOOP(lO`OOO*zQ!0MxO'#CiO+RO#tO'#CjO+aO&jO'#CjO+oO#@ItO'#DaO.QQlO'#DgO.bQlO'#DrO%[QlO'#DzO0fQlO'#ESOOQ!0Lf'#E['#E[O1PQ`O'#EXOOQO'#Ep'#EpOOQO'#Ik'#IkO1XQ`O'#GsO1dQ`O'#EoO1iQ`O'#EoO3hQ!0MxO'#JqO6[Q!0MxO'#JrO6uQ`O'#F]O6zQ,UO'#FtOOQ!0Lf'#Ff'#FfO7VO7dO'#FfO7eQMhO'#F|O9[Q`O'#F{OOQ!0Lf'#Jr'#JrOOQ!0Lb'#Jq'#JqO9aQ`O'#GwOOQ['#K^'#K^O9lQ`O'#IXO9qQ!0LrO'#IYOOQ['#J_'#J_OOQ['#I^'#I^Q`QlOOQ`QlOOO9yQ!L^O'#DvO:QQlO'#EOO:XQlO'#EQO9gQ`O'#GsO:`QMhO'#CoO:nQ`O'#EnO:yQ`O'#EyO;OQMhO'#FeO;mQ`O'#GsOOQO'#K_'#K_O;rQ`O'#K_O<QQ`O'#G{O<QQ`O'#G|O<QQ`O'#HOO9gQ`O'#HRO<wQ`O'#HUO>`Q`O'#CeO>pQ`O'#HbO>xQ`O'#HhO>xQ`O'#HjO`QlO'#HlO>xQ`O'#HnO>xQ`O'#HqO>}Q`O'#HwO?SQ!0LsO'#H}O%[QlO'#IPO?_Q!0LsO'#IRO?jQ!0LsO'#ITO9qQ!0LrO'#IVO?uQ!0MxO'#CiO@wQpO'#DlQOQ`OOO%[QlO'#EQOA_Q`O'#ETO:`QMhO'#EnOAjQ`O'#EnOAuQ!bO'#FeOOQ['#Cg'#CgOOQ!0Lb'#Dq'#DqOOQ!0Lb'#Ju'#JuO%[QlO'#JuOOQO'#Jx'#JxOOQO'#Ig'#IgOBuQpO'#EgOOQ!0Lb'#Ef'#EfOOQ!0Lb'#J|'#J|OCqQ!0MSO'#EgOC{QpO'#EWOOQO'#Jw'#JwODaQpO'#JxOEnQpO'#EWOC{QpO'#EgPE{O&2DjO'#CbPOOO)CD|)CD|OOOO'#I_'#I_OFWO#tO,59UOOQ!0Lh,59U,59UOOOO'#I`'#I`OFfO&jO,59UOFtQ!L^O'#DcOOOO'#Ib'#IbOF{O#@ItO,59{OOQ!0Lf,59{,59{OGZQlO'#IcOGnQ`O'#JsOImQ!fO'#JsO+}QlO'#JsOItQ`O,5:ROJ[Q`O'#EpOJiQ`O'#KSOJtQ`O'#KROJtQ`O'#KROJ|Q`O,5;^OKRQ`O'#KQOOQ!0Ln,5:^,5:^OKYQlO,5:^OMWQ!0MxO,5:fOMwQ`O,5:nONbQ!0LrO'#KPONiQ`O'#KOO9aQ`O'#KOON}Q`O'#KOO! VQ`O,5;]O! [Q`O'#KOO!#aQ!fO'#JrOOQ!0Lh'#Ci'#CiO%[QlO'#ESO!$PQ!fO,5:sOOQS'#Jy'#JyOOQO-E<i-E<iO9gQ`O,5=_O!$gQ`O,5=_O!$lQlO,5;ZO!&oQMhO'#EkO!(YQ`O,5;ZO!(_QlO'#DyO!(iQpO,5;dO!(qQpO,5;dO%[QlO,5;dOOQ['#FT'#FTOOQ['#FV'#FVO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eOOQ['#FZ'#FZO!)PQlO,5;tOOQ!0Lf,5;y,5;yOOQ!0Lf,5;z,5;zOOQ!0Lf,5;|,5;|O%[QlO'#IoO!+SQ!0LrO,5<iO%[QlO,5;eO!&oQMhO,5;eO!+qQMhO,5;eO!-cQMhO'#E^O%[QlO,5;wOOQ!0Lf,5;{,5;{O!-jQ,UO'#FjO!.gQ,UO'#KWO!.RQ,UO'#KWO!.nQ,UO'#KWOOQO'#KW'#KWO!/SQ,UO,5<SOOOW,5<`,5<`O!/eQlO'#FvOOOW'#In'#InO7VO7dO,5<QO!/lQ,UO'#FxOOQ!0Lf,5<Q,5<QO!0]Q$IUO'#CyOOQ!0Lh'#C}'#C}O!0pO#@ItO'#DRO!1^QMjO,5<eO!1eQ`O,5<hO!3QQ(CWO'#GXO!3_Q`O'#GYO!3dQ`O'#GYO!5SQ(CWO'#G^O!6XQpO'#GbOOQO'#Gn'#GnO!+xQMhO'#GmOOQO'#Gp'#GpO!+xQMhO'#GoO!6zQ$IUO'#JkOOQ!0Lh'#Jk'#JkO!7UQ`O'#JjO!7dQ`O'#JiO!7lQ`O'#CuOOQ!0Lh'#C{'#C{O!7}Q`O'#C}OOQ!0Lh'#DV'#DVOOQ!0Lh'#DX'#DXO1SQ`O'#DZO!+xQMhO'#GPO!+xQMhO'#GRO!8SQ`O'#GTO!8XQ`O'#GUO!3dQ`O'#G[O!+xQMhO'#GaO<QQ`O'#JjO!8^Q`O'#EqO!8{Q`O,5<gOOQ!0Lb'#Cr'#CrO!9TQ`O'#ErO!9}QpO'#EsOOQ!0Lb'#KQ'#KQO!:UQ!0LrO'#K`O9qQ!0LrO,5=cO`QlO,5>sOOQ['#Jg'#JgOOQ[,5>t,5>tOOQ[-E<[-E<[O!<TQ!0MxO,5:bO!9xQpO,5:`O!>nQ!0MxO,5:jO%[QlO,5:jO!AUQ!0MxO,5:lOOQO,5@y,5@yO!AuQMhO,5=_O!BTQ!0LrO'#JhO9[Q`O'#JhO!BfQ!0LrO,59ZO!BqQpO,59ZO!ByQMhO,59ZO:`QMhO,59ZO!CUQ`O,5;ZO!C^Q`O'#HaO!CrQ`O'#KcO%[QlO,5;}O!9xQpO,5<PO!CzQ`O,5=zO!DPQ`O,5=zO!DUQ`O,5=zO9qQ!0LrO,5=zO<QQ`O,5=jOOQO'#Cy'#CyO!DdQpO,5=gO!DlQMhO,5=hO!DwQ`O,5=jO!D|Q!bO,5=mO!EUQ`O'#K_O>}Q`O'#HWO9gQ`O'#HYO!EZQ`O'#HYO:`QMhO'#H[O!E`Q`O'#H[OOQ[,5=p,5=pO!EeQ`O'#H]O!EvQ`O'#CoO!E{Q`O,59PO!FVQ`O,59PO!H[QlO,59POOQ[,59P,59PO!HlQ!0LrO,59PO%[QlO,59PO!JwQlO'#HdOOQ['#He'#HeOOQ['#Hf'#HfO`QlO,5=|O!K_Q`O,5=|O`QlO,5>SO`QlO,5>UO!KdQ`O,5>WO`QlO,5>YO!KiQ`O,5>]O!KnQlO,5>cOOQ[,5>i,5>iO%[QlO,5>iO9qQ!0LrO,5>kOOQ[,5>m,5>mO# xQ`O,5>mOOQ[,5>o,5>oO# xQ`O,5>oOOQ[,5>q,5>qO#!fQpO'#D_O%[QlO'#JuO##XQpO'#JuO##cQpO'#DmO##tQpO'#DmO#&VQlO'#DmO#&^Q`O'#JtO#&fQ`O,5:WO#&kQ`O'#EtO#&yQ`O'#KTO#'RQ`O,5;_O#'WQpO'#DmO#'eQpO'#EVOOQ!0Lf,5:o,5:oO%[QlO,5:oO#'lQ`O,5:oO>}Q`O,5;YO!BqQpO,5;YO!ByQMhO,5;YO:`QMhO,5;YO#'tQ`O,5@aO#'yQ07dO,5:sOOQO-E<e-E<eO#)PQ!0MSO,5;ROC{QpO,5:rO#)ZQpO,5:rOC{QpO,5;RO!BfQ!0LrO,5:rOOQ!0Lb'#Ej'#EjOOQO,5;R,5;RO%[QlO,5;RO#)hQ!0LrO,5;RO#)sQ!0LrO,5;RO!BqQpO,5:rOOQO,5;X,5;XO#*RQ!0LrO,5;RPOOO'#I]'#I]P#*gO&2DjO,58|POOO,58|,58|OOOO-E<]-E<]OOQ!0Lh1G.p1G.pOOOO-E<^-E<^OOOO,59},59}O#*rQ!bO,59}OOOO-E<`-E<`OOQ!0Lf1G/g1G/gO#*wQ!fO,5>}O+}QlO,5>}OOQO,5?T,5?TO#+RQlO'#IcOOQO-E<a-E<aO#+`Q`O,5@_O#+hQ!fO,5@_O#+oQ`O,5@mOOQ!0Lf1G/m1G/mO%[QlO,5@nO#+wQ`O'#IiOOQO-E<g-E<gO#+oQ`O,5@mOOQ!0Lb1G0x1G0xOOQ!0Ln1G/x1G/xOOQ!0Ln1G0Y1G0YO%[QlO,5@kO#,]Q!0LrO,5@kO#,nQ!0LrO,5@kO#,uQ`O,5@jO9aQ`O,5@jO#,}Q`O,5@jO#-]Q`O'#IlO#,uQ`O,5@jOOQ!0Lb1G0w1G0wO!(iQpO,5:uO!(tQpO,5:uOOQS,5:w,5:wO#-}QdO,5:wO#.VQMhO1G2yO9gQ`O1G2yOOQ!0Lf1G0u1G0uO#.eQ!0MxO1G0uO#/jQ!0MvO,5;VOOQ!0Lh'#GW'#GWO#0WQ!0MzO'#JkO!$lQlO1G0uO#2cQ!fO'#JvO%[QlO'#JvO#2mQ`O,5:eOOQ!0Lh'#D_'#D_OOQ!0Lf1G1O1G1OO%[QlO1G1OOOQ!0Lf1G1f1G1fO#2rQ`O1G1OO#5WQ!0MxO1G1PO#5_Q!0MxO1G1PO#7uQ!0MxO1G1PO#7|Q!0MxO1G1PO#:dQ!0MxO1G1PO#<zQ!0MxO1G1PO#=RQ!0MxO1G1PO#=YQ!0MxO1G1PO#?pQ!0MxO1G1PO#?wQ!0MxO1G1PO#BUQ?MtO'#CiO#DPQ?MtO1G1`O#DWQ?MtO'#JrO#DkQ!0MxO,5?ZOOQ!0Lb-E<m-E<mO#FxQ!0MxO1G1PO#GuQ!0MzO1G1POOQ!0Lf1G1P1G1PO#HxQMjO'#J{O#ISQ`O,5:xO#IXQ!0MxO1G1cO#I{Q,UO,5<WO#JTQ,UO,5<XO#J]Q,UO'#FoO#JtQ`O'#FnOOQO'#KX'#KXOOQO'#Im'#ImO#JyQ,UO1G1nOOQ!0Lf1G1n1G1nOOOW1G1y1G1yO#K[Q?MtO'#JqO#KfQ`O,5<bO!)PQlO,5<bOOOW-E<l-E<lOOQ!0Lf1G1l1G1lO#KkQpO'#KWOOQ!0Lf,5<d,5<dO#KsQpO,5<dO#KxQMhO'#DTOOOO'#Ia'#IaO#LPO#@ItO,59mOOQ!0Lh,59m,59mO%[QlO1G2PO!8XQ`O'#IqO#L[Q`O,5<zOOQ!0Lh,5<w,5<wO!+xQMhO'#ItO#LxQMjO,5=XO!+xQMhO'#IvO#MkQMjO,5=ZO!&oQMhO,5=]OOQO1G2S1G2SO#MuQ!dO'#CrO#NYQ(CWO'#ErO$ _QpO'#GbO$ uQ!dO,5<sO$ |Q`O'#KZO9aQ`O'#KZO$![Q`O,5<uO!+xQMhO,5<tO$!aQ`O'#GZO$!rQ`O,5<tO$!wQ!dO'#GWO$#UQ!dO'#K[O$#`Q`O'#K[O!&oQMhO'#K[O$#eQ`O,5<xO$#jQlO'#JuO$#tQpO'#GcO##tQpO'#GcO$$VQ`O'#GgO!3dQ`O'#GkO$$[Q!0LrO'#IsO$$gQpO,5<|OOQ!0Lp,5<|,5<|O$$nQpO'#GcO$${QpO'#GdO$%^QpO'#GdO$%cQMjO,5=XO$%sQMjO,5=ZOOQ!0Lh,5=^,5=^O!+xQMhO,5@UO!+xQMhO,5@UO$&TQ`O'#IxO$&iQ`O,5@TO$&qQ`O,59aOOQ!0Lh,59i,59iO$'hQ$IYO,59uOOQ!0Lh'#Jo'#JoO$(ZQMjO,5<kO$(|QMjO,5<mO@oQ`O,5<oOOQ!0Lh,5<p,5<pO$)WQ`O,5<vO$)]QMjO,5<{O$)mQ`O,5@UO$){Q`O'#KOO!$lQlO1G2RO$*QQ`O1G2RO9aQ`O'#KRO9aQ`O'#EtO%[QlO'#EtO9aQ`O'#IzO$*VQ!0LrO,5@zOOQ[1G2}1G2}OOQ[1G4_1G4_OOQ!0Lf1G/|1G/|OOQ!0Lf1G/z1G/zO$,XQ!0MxO1G0UOOQ[1G2y1G2yO!&oQMhO1G2yO%[QlO1G2yO#.YQ`O1G2yO$.]QMhO'#EkOOQ!0Lb,5@S,5@SO$.jQ!0LrO,5@SOOQ[1G.u1G.uO!BfQ!0LrO1G.uO!BqQpO1G.uO!ByQMhO1G.uO$.{Q`O1G0uO$/QQ`O'#CiO$/]Q`O'#KdO$/eQ`O,5={O$/jQ`O'#KdO$/oQ`O'#KdO$/}Q`O'#JQO$0]Q`O,5@}O$0eQ!fO1G1iOOQ!0Lf1G1k1G1kO9gQ`O1G3fO@oQ`O1G3fO$0lQ`O1G3fO$0qQ`O1G3fOOQ[1G3f1G3fO!DwQ`O1G3UO!&oQMhO1G3RO$0vQ`O1G3ROOQ[1G3S1G3SO!&oQMhO1G3SO$0{Q`O1G3SO$1TQpO'#HQOOQ[1G3U1G3UO!6SQpO'#I|O!D|Q!bO1G3XOOQ[1G3X1G3XOOQ[,5=r,5=rO$1]QMhO,5=tO9gQ`O,5=tO$$VQ`O,5=vO9[Q`O,5=vO!BqQpO,5=vO!ByQMhO,5=vO:`QMhO,5=vO$1kQ`O'#KbO$1vQ`O,5=wOOQ[1G.k1G.kO$1{Q!0LrO1G.kO@oQ`O1G.kO$2WQ`O1G.kO9qQ!0LrO1G.kO$4`Q!fO,5APO$4mQ`O,5APO9aQ`O,5APO$4xQlO,5>OO$5PQ`O,5>OOOQ[1G3h1G3hO`QlO1G3hOOQ[1G3n1G3nOOQ[1G3p1G3pO>xQ`O1G3rO$5UQlO1G3tO$9YQlO'#HsOOQ[1G3w1G3wO$9gQ`O'#HyO>}Q`O'#H{OOQ[1G3}1G3}O$9oQlO1G3}O9qQ!0LrO1G4TOOQ[1G4V1G4VOOQ!0Lb'#G_'#G_O9qQ!0LrO1G4XO9qQ!0LrO1G4ZO$=vQ`O,5@aO!)PQlO,5;`O9aQ`O,5;`O>}Q`O,5:XO!)PQlO,5:XO!BqQpO,5:XO$={Q?MtO,5:XOOQO,5;`,5;`O$>VQpO'#IdO$>mQ`O,5@`OOQ!0Lf1G/r1G/rO$>uQpO'#IjO$?PQ`O,5@oOOQ!0Lb1G0y1G0yO##tQpO,5:XOOQO'#If'#IfO$?XQpO,5:qOOQ!0Ln,5:q,5:qO#'oQ`O1G0ZOOQ!0Lf1G0Z1G0ZO%[QlO1G0ZOOQ!0Lf1G0t1G0tO>}Q`O1G0tO!BqQpO1G0tO!ByQMhO1G0tOOQ!0Lb1G5{1G5{O!BfQ!0LrO1G0^OOQO1G0m1G0mO%[QlO1G0mO$?`Q!0LrO1G0mO$?kQ!0LrO1G0mO!BqQpO1G0^OC{QpO1G0^O$?yQ!0LrO1G0mOOQO1G0^1G0^O$@_Q!0MxO1G0mPOOO-E<Z-E<ZPOOO1G.h1G.hOOOO1G/i1G/iO$@iQ!bO,5<iO$@qQ!fO1G4iOOQO1G4o1G4oO%[QlO,5>}O$@{Q`O1G5yO$ATQ`O1G6XO$A]Q!fO1G6YO9aQ`O,5?TO$AgQ!0MxO1G6VO%[QlO1G6VO$AwQ!0LrO1G6VO$BYQ`O1G6UO$BYQ`O1G6UO9aQ`O1G6UO$BbQ`O,5?WO9aQ`O,5?WOOQO,5?W,5?WO$BvQ`O,5?WO$){Q`O,5?WOOQO-E<j-E<jOOQS1G0a1G0aOOQS1G0c1G0cO#.QQ`O1G0cOOQ[7+(e7+(eO!&oQMhO7+(eO%[QlO7+(eO$CUQ`O7+(eO$CaQMhO7+(eO$CoQ!0MzO,5=XO$EzQ!0MzO,5=ZO$HVQ!0MzO,5=XO$JhQ!0MzO,5=ZO$LyQ!0MzO,59uO% OQ!0MzO,5<kO%#ZQ!0MzO,5<mO%%fQ!0MzO,5<{OOQ!0Lf7+&a7+&aO%'wQ!0MxO7+&aO%(kQlO'#IeO%(xQ`O,5@bO%)QQ!fO,5@bOOQ!0Lf1G0P1G0PO%)[Q`O7+&jOOQ!0Lf7+&j7+&jO%)aQ?MtO,5:fO%[QlO7+&zO%)kQ?MtO,5:bO%)xQ?MtO,5:jO%*SQ?MtO,5:lO%*^QMhO'#IhO%*hQ`O,5@gOOQ!0Lh1G0d1G0dOOQO1G1r1G1rOOQO1G1s1G1sO%*pQ!jO,5<ZO!)PQlO,5<YOOQO-E<k-E<kOOQ!0Lf7+'Y7+'YOOOW7+'e7+'eOOOW1G1|1G1|O%*{Q`O1G1|OOQ!0Lf1G2O1G2OOOOO,59o,59oO%+QQ!dO,59oOOOO-E<_-E<_OOQ!0Lh1G/X1G/XO%+XQ!0MxO7+'kOOQ!0Lh,5?],5?]O%+{QMhO1G2fP%,SQ`O'#IqPOQ!0Lh-E<o-E<oO%,pQMjO,5?`OOQ!0Lh-E<r-E<rO%-cQMjO,5?bOOQ!0Lh-E<t-E<tO%-mQ!dO1G2wO%-tQ!dO'#CrO%.[QMhO'#KRO$#jQlO'#JuOOQ!0Lh1G2_1G2_O%.cQ`O'#IpO%.wQ`O,5@uO%.wQ`O,5@uO%/PQ`O,5@uO%/[Q`O,5@uOOQO1G2a1G2aO%/jQMjO1G2`O!+xQMhO1G2`O%/zQ(CWO'#IrO%0XQ`O,5@vO!&oQMhO,5@vO%0aQ!dO,5@vOOQ!0Lh1G2d1G2dO%2qQ!fO'#CiO%2{Q`O,5=POOQ!0Lb,5<},5<}O%3TQpO,5<}OOQ!0Lb,5=O,5=OOClQ`O,5<}O%3`QpO,5<}OOQ!0Lb,5=R,5=RO$){Q`O,5=VOOQO,5?_,5?_OOQO-E<q-E<qOOQ!0Lp1G2h1G2hO##tQpO,5<}O$#jQlO,5=PO%3nQ`O,5=OO%3yQpO,5=OO!+xQMhO'#ItO%4sQMjO1G2sO!+xQMhO'#IvO%5fQMjO1G2uO%5pQMjO1G5pO%5zQMjO1G5pOOQO,5?d,5?dOOQO-E<v-E<vOOQO1G.{1G.{O!9xQpO,59wO%[QlO,59wOOQ!0Lh,5<j,5<jO%6XQ`O1G2ZO!+xQMhO1G2bO!+xQMhO1G5pO!+xQMhO1G5pO%6^Q!0MxO7+'mOOQ!0Lf7+'m7+'mO!$lQlO7+'mO%7QQ`O,5;`OOQ!0Lb,5?f,5?fOOQ!0Lb-E<x-E<xO%7VQ!dO'#K]O#'oQ`O7+(eO4UQ!fO7+(eO$CXQ`O7+(eO%7aQ!0MvO'#CiO%7tQ!0MvO,5=SO%8fQ`O,5=SO%8nQ`O,5=SOOQ!0Lb1G5n1G5nOOQ[7+$a7+$aO!BfQ!0LrO7+$aO!BqQpO7+$aO!$lQlO7+&aO%8sQ`O'#JPO%9[Q`O,5AOOOQO1G3g1G3gO9gQ`O,5AOO%9[Q`O,5AOO%9dQ`O,5AOOOQO,5?l,5?lOOQO-E=O-E=OOOQ!0Lf7+'T7+'TO%9iQ`O7+)QO9qQ!0LrO7+)QO9gQ`O7+)QO@oQ`O7+)QOOQ[7+(p7+(pO%9nQ!0MvO7+(mO!&oQMhO7+(mO!DrQ`O7+(nOOQ[7+(n7+(nO!&oQMhO7+(nO%9xQ`O'#KaO%:TQ`O,5=lOOQO,5?h,5?hOOQO-E<z-E<zOOQ[7+(s7+(sO%;gQpO'#HZOOQ[1G3`1G3`O!&oQMhO1G3`O%[QlO1G3`O%;nQ`O1G3`O%;yQMhO1G3`O9qQ!0LrO1G3bO$$VQ`O1G3bO9[Q`O1G3bO!BqQpO1G3bO!ByQMhO1G3bO%<XQ`O'#JOO%<mQ`O,5@|O%<uQpO,5@|OOQ!0Lb1G3c1G3cOOQ[7+$V7+$VO@oQ`O7+$VO9qQ!0LrO7+$VO%=QQ`O7+$VO%[QlO1G6kO%[QlO1G6lO%=VQ!0LrO1G6kO%=aQlO1G3jO%=hQ`O1G3jO%=mQlO1G3jOOQ[7+)S7+)SO9qQ!0LrO7+)^O`QlO7+)`OOQ['#Kg'#KgOOQ['#JR'#JRO%=tQlO,5>_OOQ[,5>_,5>_O%[QlO'#HtO%>RQ`O'#HvOOQ[,5>e,5>eO9aQ`O,5>eOOQ[,5>g,5>gOOQ[7+)i7+)iOOQ[7+)o7+)oOOQ[7+)s7+)sOOQ[7+)u7+)uO%>WQpO1G5{O%>rQ?MtO1G0zO%>|Q`O1G0zOOQO1G/s1G/sO%?XQ?MtO1G/sO>}Q`O1G/sO!)PQlO'#DmOOQO,5?O,5?OOOQO-E<b-E<bOOQO,5?U,5?UOOQO-E<h-E<hO!BqQpO1G/sOOQO-E<d-E<dOOQ!0Ln1G0]1G0]OOQ!0Lf7+%u7+%uO#'oQ`O7+%uOOQ!0Lf7+&`7+&`O>}Q`O7+&`O!BqQpO7+&`OOQO7+%x7+%xO$@_Q!0MxO7+&XOOQO7+&X7+&XO%[QlO7+&XO%?cQ!0LrO7+&XO!BfQ!0LrO7+%xO!BqQpO7+%xO%?nQ!0LrO7+&XO%?|Q!0MxO7++qO%[QlO7++qO%@^Q`O7++pO%@^Q`O7++pOOQO1G4r1G4rO9aQ`O1G4rO%@fQ`O1G4rOOQS7+%}7+%}O#'oQ`O<<LPO4UQ!fO<<LPO%@tQ`O<<LPOOQ[<<LP<<LPO!&oQMhO<<LPO%[QlO<<LPO%@|Q`O<<LPO%AXQ!0MzO,5?`O%CdQ!0MzO,5?bO%EoQ!0MzO1G2`O%HQQ!0MzO1G2sO%J]Q!0MzO1G2uO%LhQ!fO,5?PO%[QlO,5?POOQO-E<c-E<cO%LrQ`O1G5|OOQ!0Lf<<JU<<JUO%LzQ?MtO1G0uO& RQ?MtO1G1PO& YQ?MtO1G1PO&#ZQ?MtO1G1PO&#bQ?MtO1G1PO&%cQ?MtO1G1PO&'dQ?MtO1G1PO&'kQ?MtO1G1PO&'rQ?MtO1G1PO&)sQ?MtO1G1PO&)zQ?MtO1G1PO&*RQ!0MxO<<JfO&+yQ?MtO1G1PO&,vQ?MvO1G1PO&-yQ?MvO'#JkO&0PQ?MtO1G1cO&0^Q?MtO1G0UO&0hQMjO,5?SOOQO-E<f-E<fO!)PQlO'#FqOOQO'#KY'#KYOOQO1G1u1G1uO&0rQ`O1G1tO&0wQ?MtO,5?ZOOOW7+'h7+'hOOOO1G/Z1G/ZO&1RQ!dO1G4wOOQ!0Lh7+(Q7+(QP!&oQMhO,5?]O!+xQMhO7+(cO&1YQ`O,5?[O9aQ`O,5?[OOQO-E<n-E<nO&1hQ`O1G6aO&1hQ`O1G6aO&1pQ`O1G6aO&1{QMjO7+'zO&2]Q!dO,5?^O&2gQ`O,5?^O!&oQMhO,5?^OOQO-E<p-E<pO&2lQ!dO1G6bO&2vQ`O1G6bO&3OQ`O1G2kO!&oQMhO1G2kOOQ!0Lb1G2i1G2iOOQ!0Lb1G2j1G2jO%3TQpO1G2iO!BqQpO1G2iOClQ`O1G2iOOQ!0Lb1G2q1G2qO&3TQpO1G2iO&3cQ`O1G2kO$){Q`O1G2jOClQ`O1G2jO$#jQlO1G2kO&3kQ`O1G2jO&4_QMjO,5?`OOQ!0Lh-E<s-E<sO&5QQMjO,5?bOOQ!0Lh-E<u-E<uO!+xQMhO7++[OOQ!0Lh1G/c1G/cO&5[Q`O1G/cOOQ!0Lh7+'u7+'uO&5aQMjO7+'|O&5qQMjO7++[O&5{QMjO7++[O&6YQ!0MxO<<KXOOQ!0Lf<<KX<<KXO&6|Q`O1G0zO!&oQMhO'#IyO&7RQ`O,5@wO&9TQ!fO<<LPO!&oQMhO1G2nO&9[Q!0LrO1G2nOOQ[<<G{<<G{O!BfQ!0LrO<<G{O&9mQ!0MxO<<I{OOQ!0Lf<<I{<<I{OOQO,5?k,5?kO&:aQ`O,5?kO&:fQ`O,5?kOOQO-E<}-E<}O&:tQ`O1G6jO&:tQ`O1G6jO9gQ`O1G6jO@oQ`O<<LlOOQ[<<Ll<<LlO&:|Q`O<<LlO9qQ!0LrO<<LlOOQ[<<LX<<LXO%9nQ!0MvO<<LXOOQ[<<LY<<LYO!DrQ`O<<LYO&;RQpO'#I{O&;^Q`O,5@{O!)PQlO,5@{OOQ[1G3W1G3WOOQO'#I}'#I}O9qQ!0LrO'#I}O&;fQpO,5=uOOQ[,5=u,5=uO&;mQpO'#EgO&;tQpO'#GeO&;yQ`O7+(zO&<OQ`O7+(zOOQ[7+(z7+(zO!&oQMhO7+(zO%[QlO7+(zO&<WQ`O7+(zOOQ[7+(|7+(|O9qQ!0LrO7+(|O$$VQ`O7+(|O9[Q`O7+(|O!BqQpO7+(|O&<cQ`O,5?jOOQO-E<|-E<|OOQO'#H^'#H^O&<nQ`O1G6hO9qQ!0LrO<<GqOOQ[<<Gq<<GqO@oQ`O<<GqO&<vQ`O7+,VO&<{Q`O7+,WO%[QlO7+,VO%[QlO7+,WOOQ[7+)U7+)UO&=QQ`O7+)UO&=VQlO7+)UO&=^Q`O7+)UOOQ[<<Lx<<LxOOQ[<<Lz<<LzOOQ[-E=P-E=POOQ[1G3y1G3yO&=cQ`O,5>`OOQ[,5>b,5>bO&=hQ`O1G4PO9aQ`O7+&fO!)PQlO7+&fOOQO7+%_7+%_O&=mQ?MtO1G6YO>}Q`O7+%_OOQ!0Lf<<Ia<<IaOOQ!0Lf<<Iz<<IzO>}Q`O<<IzOOQO<<Is<<IsO$@_Q!0MxO<<IsO%[QlO<<IsOOQO<<Id<<IdO!BfQ!0LrO<<IdO&=wQ!0LrO<<IsO&>SQ!0MxO<= ]O&>dQ`O<= [OOQO7+*^7+*^O9aQ`O7+*^OOQ[ANAkANAkO&>lQ!fOANAkO!&oQMhOANAkO#'oQ`OANAkO4UQ!fOANAkO&>sQ`OANAkO%[QlOANAkO&>{Q!0MzO7+'zO&A^Q!0MzO,5?`O&CiQ!0MzO,5?bO&EtQ!0MzO7+'|O&HVQ!fO1G4kO&HaQ?MtO7+&aO&JeQ?MvO,5=XO&LlQ?MvO,5=ZO&L|Q?MvO,5=XO&M^Q?MvO,5=ZO&MnQ?MvO,59uO' tQ?MvO,5<kO'#wQ?MvO,5<mO'&]Q?MvO,5<{O'(RQ?MtO7+'kO'(`Q?MtO7+'mO'(mQ`O,5<]OOQO7+'`7+'`OOQ!0Lh7+*c7+*cO'(rQMjO<<K}OOQO1G4v1G4vO'(yQ`O1G4vO')UQ`O1G4vO')dQ`O7++{O')dQ`O7++{O!&oQMhO1G4xO')lQ!dO1G4xO')vQ`O7++|O'*OQ`O7+(VO'*ZQ!dO7+(VOOQ!0Lb7+(T7+(TOOQ!0Lb7+(U7+(UO!BqQpO7+(TOClQ`O7+(TO'*eQ`O7+(VO!&oQMhO7+(VO$){Q`O7+(UO'*jQ`O7+(VOClQ`O7+(UO'*rQMjO<<NvOOQ!0Lh7+$}7+$}O!+xQMhO<<NvO'*|Q!dO,5?eOOQO-E<w-E<wO'+WQ!0MvO7+(YO!&oQMhO7+(YOOQ[AN=gAN=gO9gQ`O1G5VOOQO1G5V1G5VO'+hQ`O1G5VO'+mQ`O7+,UO'+mQ`O7+,UO9qQ!0LrOANBWO@oQ`OANBWOOQ[ANBWANBWOOQ[ANAsANAsOOQ[ANAtANAtO'+uQ`O,5?gOOQO-E<y-E<yO',QQ?MtO1G6gOOQO,5?i,5?iOOQO-E<{-E<{OOQ[1G3a1G3aO',[Q`O,5=POOQ[<<Lf<<LfO!&oQMhO<<LfO&;yQ`O<<LfO',aQ`O<<LfO%[QlO<<LfOOQ[<<Lh<<LhO9qQ!0LrO<<LhO$$VQ`O<<LhO9[Q`O<<LhO',iQpO1G5UO',tQ`O7+,SOOQ[AN=]AN=]O9qQ!0LrOAN=]OOQ[<= q<= qOOQ[<= r<= rO',|Q`O<= qO'-RQ`O<= rOOQ[<<Lp<<LpO'-WQ`O<<LpO'-]QlO<<LpOOQ[1G3z1G3zO>}Q`O7+)kO'-dQ`O<<JQO'-oQ?MtO<<JQOOQO<<Hy<<HyOOQ!0LfAN?fAN?fOOQOAN?_AN?_O$@_Q!0MxOAN?_OOQOAN?OAN?OO%[QlOAN?_OOQO<<Mx<<MxOOQ[G27VG27VO!&oQMhOG27VO#'oQ`OG27VO'-yQ!fOG27VO4UQ!fOG27VO'.QQ`OG27VO'.YQ?MtO<<JfO'.gQ?MvO1G2`O'0]Q?MvO,5?`O'2`Q?MvO,5?bO'4cQ?MvO1G2sO'6fQ?MvO1G2uO'8iQ?MtO<<KXO'8vQ?MtO<<I{OOQO1G1w1G1wO!+xQMhOANAiOOQO7+*b7+*bO'9TQ`O7+*bO'9`Q`O<= gO'9hQ!dO7+*dOOQ!0Lb<<Kq<<KqO$){Q`O<<KqOClQ`O<<KqO'9rQ`O<<KqO!&oQMhO<<KqOOQ!0Lb<<Ko<<KoO!BqQpO<<KoO'9}Q!dO<<KqOOQ!0Lb<<Kp<<KpO':XQ`O<<KqO!&oQMhO<<KqO$){Q`O<<KpO':^QMjOANDbO':hQ!0MvO<<KtOOQO7+*q7+*qO9gQ`O7+*qO':xQ`O<= pOOQ[G27rG27rO9qQ!0LrOG27rO!)PQlO1G5RO';QQ`O7+,RO';YQ`O1G2kO&;yQ`OANBQOOQ[ANBQANBQO!&oQMhOANBQO';_Q`OANBQOOQ[ANBSANBSO9qQ!0LrOANBSO$$VQ`OANBSOOQO'#H_'#H_OOQO7+*p7+*pOOQ[G22wG22wOOQ[ANE]ANE]OOQ[ANE^ANE^OOQ[ANB[ANB[O';gQ`OANB[OOQ[<<MV<<MVO!)PQlOAN?lOOQOG24yG24yO$@_Q!0MxOG24yO#'oQ`OLD,qOOQ[LD,qLD,qO!&oQMhOLD,qO';lQ!fOLD,qO';sQ?MvO7+'zO'=iQ?MvO,5?`O'?lQ?MvO,5?bO'AoQ?MvO7+'|O'CeQMjOG27TOOQO<<M|<<M|OOQ!0LbANA]ANA]O$){Q`OANA]OClQ`OANA]O'CuQ!dOANA]OOQ!0LbANAZANAZO'C|Q`OANA]O!&oQMhOANA]O'DXQ!dOANA]OOQ!0LbANA[ANA[OOQO<<N]<<N]OOQ[LD-^LD-^O'DcQ?MtO7+*mOOQO'#Gf'#GfOOQ[G27lG27lO&;yQ`OG27lO!&oQMhOG27lOOQ[G27nG27nO9qQ!0LrOG27nOOQ[G27vG27vO'DmQ?MtOG25WOOQOLD*eLD*eOOQ[!$(!]!$(!]O#'oQ`O!$(!]O!&oQMhO!$(!]O'DwQ!0MzOG27TOOQ!0LbG26wG26wO$){Q`OG26wO'GYQ`OG26wOClQ`OG26wO'GeQ!dOG26wO!&oQMhOG26wOOQ[LD-WLD-WO&;yQ`OLD-WOOQ[LD-YLD-YOOQ[!)9Ew!)9EwO#'oQ`O!)9EwOOQ!0LbLD,cLD,cO$){Q`OLD,cOClQ`OLD,cO'GlQ`OLD,cO'GwQ!dOLD,cOOQ[!$(!r!$(!rOOQ[!.K;c!.K;cO'HOQ?MvOG27TOOQ!0Lb!$( }!$( }O$){Q`O!$( }OClQ`O!$( }O'ItQ`O!$( }OOQ!0Lb!)9Ei!)9EiO$){Q`O!)9EiOClQ`O!)9EiOOQ!0Lb!.K;T!.K;TO$){Q`O!.K;TOOQ!0Lb!4/0o!4/0oO!)PQlO'#DzO1PQ`O'#EXO'JPQ!fO'#JqO'JWQ!L^O'#DvO'J_QlO'#EOO'JfQ!fO'#CiO'L|Q!fO'#CiO!)PQlO'#EQO'M^QlO,5;ZO!)PQlO,5;eO!)PQlO,5;eO!)PQlO,5;eO!)PQlO,5;eO!)PQlO,5;eO!)PQlO,5;eO!)PQlO,5;eO!)PQlO,5;eO!)PQlO,5;eO!)PQlO,5;eO!)PQlO'#IoO( aQ`O,5<iO!)PQlO,5;eO( iQMhO,5;eO(#SQMhO,5;eO!)PQlO,5;wO!&oQMhO'#GmO( iQMhO'#GmO!&oQMhO'#GoO( iQMhO'#GoO1SQ`O'#DZO1SQ`O'#DZO!&oQMhO'#GPO( iQMhO'#GPO!&oQMhO'#GRO( iQMhO'#GRO!&oQMhO'#GaO( iQMhO'#GaO!)PQlO,5:jO(#ZQpO'#D_O(#eQpO'#JuO!)PQlO,5@nO'M^QlO1G0uO(#oQ?MtO'#CiO!)PQlO1G2PO!&oQMhO'#ItO( iQMhO'#ItO!&oQMhO'#IvO( iQMhO'#IvO(#yQ!dO'#CrO!&oQMhO,5<tO( iQMhO,5<tO'M^QlO1G2RO!)PQlO7+&zO!&oQMhO1G2`O( iQMhO1G2`O!&oQMhO'#ItO( iQMhO'#ItO!&oQMhO'#IvO( iQMhO'#IvO!&oQMhO1G2bO( iQMhO1G2bO'M^QlO7+'mO'M^QlO7+&aO!&oQMhOANAiO( iQMhOANAiO($^Q`O'#EoO($cQ`O'#EoO($kQ`O'#F]O($pQ`O'#EyO($uQ`O'#KSO(%QQ`O'#KQO(%]Q`O,5;ZO(%bQMjO,5<eO(%iQ`O'#GYO(%nQ`O'#GYO(%sQ`O,5<gO(%{Q`O,5;ZO(&TQ?MtO1G1`O(&[Q`O,5<tO(&aQ`O,5<tO(&fQ`O,5<vO(&kQ`O,5<vO(&pQ`O1G2RO(&uQ`O1G0uO(&zQMjO<<K}O('RQMjO<<K}O7eQMhO'#F|O9[Q`O'#F{OAjQ`O'#EnO!)PQlO,5;tO!3dQ`O'#GYO!3dQ`O'#GYO!3dQ`O'#G[O!3dQ`O'#G[O!+xQMhO7+(cO!+xQMhO7+(cO%-mQ!dO1G2wO%-mQ!dO1G2wO!&oQMhO,5=]O!&oQMhO,5=]",stateData:"((X~O'{OS'|OSTOS'}RQ~OPYOQYOSfOY!VOaqOdzOeyOl!POpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_XO!iuO!lZO!oYO!pYO!qYO!svO!uwO!xxO!|]O$W|O$niO%h}O%j!QO%l!OO%m!OO%n!OO%q!RO%s!SO%v!TO%w!TO%y!UO&V!WO&]!XO&_!YO&a!ZO&c![O&f!]O&l!^O&r!_O&t!`O&v!aO&x!bO&z!cO(SSO(UTO(XUO(`VO(n[O~OWtO~P`OPYOQYOSfOd!jOe!iOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_!eO!iuO!lZO!oYO!pYO!qYO!svO!u!gO!x!hO$W!kO$niO(S!dO(UTO(XUO(`VO(n[O~Oa!wOs!nO!S!oO!b!yO!c!vO!d!vO!|;wO#T!pO#U!pO#V!xO#W!pO#X!pO#[!zO#]!zO(T!lO(UTO(XUO(d!mO(n!sO~O'}!{O~OP]XR]X[]Xa]Xj]Xr]X!Q]X!S]X!]]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X'y]X(`]X(q]X(x]X(y]X~O!g%RX~P(qO_!}O(U#PO(V!}O(W#PO~O_#QO(W#PO(X#PO(Y#QO~Ox#SO!U#TO(a#TO(b#VO~OPYOQYOSfOd!jOe!iOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_!eO!iuO!lZO!oYO!pYO!qYO!svO!u!gO!x!hO$W!kO$niO(S;{O(UTO(XUO(`VO(n[O~O![#ZO!]#WO!Y(gP!Y(uP~P+}O!^#cO~P`OPYOQYOSfOd!jOe!iOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_!eO!iuO!lZO!oYO!pYO!qYO!svO!u!gO!x!hO$W!kO$niO(UTO(XUO(`VO(n[O~Op#mO![#iO!|]O#i#lO#j#iO(S;|O!k(rP~P.iO!l#oO(S#nO~O!x#sO!|]O%h#tO~O#k#uO~O!g#vO#k#uO~OP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!]$_O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO#z$WO#{$XO(`VO(q$YO(x#|O(y#}O~Oa(eX'y(eX'v(eX!k(eX!Y(eX!_(eX%i(eX!g(eX~P1qO#S$dO#`$eO$Q$eOP(fXR(fX[(fXj(fXr(fX!Q(fX!S(fX!](fX!l(fX!p(fX#R(fX#n(fX#o(fX#p(fX#q(fX#r(fX#s(fX#t(fX#u(fX#v(fX#x(fX#z(fX#{(fX(`(fX(q(fX(x(fX(y(fX!_(fX%i(fX~Oa(fX'y(fX'v(fX!Y(fX!k(fXv(fX!g(fX~P4UO#`$eO~O$]$hO$_$gO$f$mO~OSfO!_$nO$i$oO$k$qO~Oh%VOj%cOk%cOl%cOp%WOr%XOs$tOt$tOz%YO|%ZO!O%[O!S${O!_$|O!i%aO!l$xO#j%bO$W%_O$t%]O$v%^O$y%`O(S$sO(UTO(XUO(`$uO(x$}O(y%POg(]P~O!l%dO~O!S%gO!_%hO(S%fO~O!g%lO~Oa%mO'y%mO~O!Q%qO~P%[O(T!lO~P%[O%n%uO~P%[Oh%VO!l%dO(S%fO(T!lO~Oe%|O!l%dO(S%fO~Oj$RO~O!Q&RO!_&OO!l&QO%j&UO(S%fO(T!lO(UTO(XUO`)VP~O!x#sO~O%s&WO!S)RX!_)RX(S)RX~O(S&XO~Ol!PO!u&^O%j!QO%l!OO%m!OO%n!OO%q!RO%s!SO%v!TO%w!TO~Od&cOe&bO!x&`O%h&aO%{&_O~P<VOd&fOeyOl!PO!_&eO!u&^O!xxO!|]O%h}O%l!OO%m!OO%n!OO%q!RO%s!SO%v!TO%w!TO%y!UO~Ob&iO#`&lO%j&gO(T!lO~P=[O!l&mO!u&qO~O!l#oO~O!_XO~Oa%mO'w&yO'y%mO~Oa%mO'w&|O'y%mO~Oa%mO'w'OO'y%mO~O'v]X!Y]Xv]X!k]X&Z]X!_]X%i]X!g]X~P(qO!b']O!c'UO!d'UO(T!lO(UTO(XUO~Os'SO!S'RO!['VO(d'QO!^(hP!^(wP~P@cOn'`O!_'^O(S%fO~Oe'eO!l%dO(S%fO~O!Q&RO!l&QO~Os!nO!S!oO!|;wO#T!pO#U!pO#W!pO#X!pO(T!lO(UTO(XUO(d!mO(n!sO~O!b'kO!c'jO!d'jO#V!pO#['lO#]'lO~PA}Oa%mOh%VO!g#vO!l%dO'y%mO(q'nO~O!p'rO#`'pO~PC]Os!nO!S!oO(UTO(XUO(d!mO(n!sO~O!_XOs(lX!S(lX!b(lX!c(lX!d(lX!|(lX#T(lX#U(lX#V(lX#W(lX#X(lX#[(lX#](lX(T(lX(U(lX(X(lX(d(lX(n(lX~O!c'jO!d'jO(T!lO~PC{O(O'vO(P'vO(Q'xO~O_!}O(U'zO(V!}O(W'zO~O_#QO(W'zO(X'zO(Y#QO~Ov'|O~P%[Ox#SO!U#TO(a#TO(b(PO~O![(RO!Y'VX!Y']X!]'VX!]']X~P+}O!](TO!Y(gX~OP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!](TO!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO#z$WO#{$XO(`VO(q$YO(x#|O(y#}O~O!Y(gX~PGvO!Y(YO~O!Y(tX!](tX!g(tX!k(tX(q(tX~O#`(tX#k#dX!^(tX~PIyO#`(ZO!Y(vX!](vX~O!]([O!Y(uX~O!Y(_O~O#`$eO~PIyO!^(`O~P`OR#zO!Q#yO!S#{O!l#xO(`VOP!na[!naj!nar!na!]!na!p!na#R!na#n!na#o!na#p!na#q!na#r!na#s!na#t!na#u!na#v!na#x!na#z!na#{!na(q!na(x!na(y!na~Oa!na'y!na'v!na!Y!na!k!nav!na!_!na%i!na!g!na~PKaO!k(aO~O!g#vO#`(bO(q'nO!](sXa(sX'y(sX~O!k(sX~PM|O!S%gO!_%hO!|]O#i(gO#j(fO(S%fO~O!](hO!k(rX~O!k(jO~O!S%gO!_%hO#j(fO(S%fO~OP(fXR(fX[(fXj(fXr(fX!Q(fX!S(fX!](fX!l(fX!p(fX#R(fX#n(fX#o(fX#p(fX#q(fX#r(fX#s(fX#t(fX#u(fX#v(fX#x(fX#z(fX#{(fX(`(fX(q(fX(x(fX(y(fX~O!g#vO!k(fX~P! jOR(lO!Q(kO!l#xO#S$dO!|!{a!S!{a~O!x!{a%h!{a!_!{a#i!{a#j!{a(S!{a~P!#kO!x(pO~OPYOQYOSfOd!jOe!iOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_XO!iuO!lZO!oYO!pYO!qYO!svO!u!gO!x!hO$W!kO$niO(S!dO(UTO(XUO(`VO(n[O~Oh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O<eO!S${O!_$|O!i=vO!l$xO#j<kO$W%_O$t<gO$v<iO$y%`O(S(tO(UTO(XUO(`$uO(x$}O(y%PO~O#k(vO~O![(xO!k(jP~P%[O(d(zO(n[O~O!S(|O!l#xO(d(zO(n[O~OP;vOQ;vOSfOd=rOe!iOpkOr;vOskOtkOzkO|;vO!O;vO!SWO!WkO!XkO!_!eO!i;yO!lZO!o;vO!p;vO!q;vO!s;zO!u;}O!x!hO$W!kO$n=pO(S)ZO(UTO(XUO(`VO(n[O~O!]$_Oa$qa'y$qa'v$qa!k$qa!Y$qa!_$qa%i$qa!g$qa~Ol)bO~P!&oOh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O%[O!S${O!_$|O!i%aO!l$xO#j%bO$W%_O$t%]O$v%^O$y%`O(S(tO(UTO(XUO(`$uO(x$}O(y%PO~Og(oP~P!+xO!Q)gO!g)fO!_$^X$Z$^X$]$^X$_$^X$f$^X~O!g)fO!_(zX$Z(zX$](zX$_(zX$f(zX~O!Q)gO~P!.RO!Q)gO!_(zX$Z(zX$](zX$_(zX$f(zX~O!_)iO$Z)mO$])hO$_)hO$f)nO~O![)qO~P!)PO$]$hO$_$gO$f)uO~On$zX!Q$zX#S$zX'x$zX(x$zX(y$zX~OgmXg$zXnmX!]mX#`mX~P!/wOx)wO(a)xO(b)zO~On*TO!Q)|O'x)}O(x$}O(y%PO~Og){O~P!0{Og*UO~Oh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O<eO!S*WO!_*XO!i=vO!l$xO#j<kO$W%_O$t<gO$v<iO$y%`O(UTO(XUO(`$uO(x$}O(y%PO~OSX'y)SX~OP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO#z$WO#{$XO(`VO(q$YO(x#|O(y#}O~Oa!ja!]!ja'y!ja'v!ja!Y!ja!k!jav!ja!_!ja%i!ja!g!ja~P!:aOR#zO!Q#yO!S#{O!l#xO(`VOP!ra[!raj!rar!ra!]!ra!p!ra#R!ra#n!ra#o!ra#p!ra#q!ra#r!ra#s!ra#t!ra#u!ra#v!ra#x!ra#z!ra#{!ra(q!ra(x!ra(y!ra~Oa!ra'y!ra'v!ra!Y!ra!k!rav!ra!_!ra%i!ra!g!ra~P!<wOR#zO!Q#yO!S#{O!l#xO(`VOP!ta[!taj!tar!ta!]!ta!p!ta#R!ta#n!ta#o!ta#p!ta#q!ta#r!ta#s!ta#t!ta#u!ta#v!ta#x!ta#z!ta#{!ta(q!ta(x!ta(y!ta~Oa!ta'y!ta'v!ta!Y!ta!k!tav!ta!_!ta%i!ta!g!ta~P!?_Oh%VOn+dO!_'^O%i+cO~O!g+fOa([X!_([X'y([X!]([X~Oa%mO!_XO'y%mO~Oh%VO!l%dO~Oh%VO!l%dO(S%fO~O!g#vO#k(vO~Ob+qO%j+rO(S+nO(UTO(XUO!^)WP~O!]+sO`)VX~O[+wO~O`+xO~O!_&OO(S%fO(T!lO`)VP~Oh%VO#`+}O~Oh%VOn,QO!_$|O~O!_,SO~O!Q,UO!_XO~O%n%uO~O!x,ZO~Oe,`O~Ob,aO(S#nO(UTO(XUO!^)UP~Oe%|O~O%j!QO(S&XO~P=[O[,fO`,eO~OPYOQYOSfOdzOeyOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!iuO!lZO!oYO!pYO!qYO!svO!xxO!|]O$niO%h}O(UTO(XUO(`VO(n[O~O!_!eO!u!gO$W!kO(S!dO~P!F_O`,eOa%mO'y%mO~OPYOQYOSfOd!jOe!iOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_!eO!iuO!lZO!oYO!pYO!qYO!svO!x!hO$W!kO$niO(S!dO(UTO(XUO(`VO(n[O~Oa,kOl!OO!uwO%l!OO%m!OO%n!OO~P!HwO!l&mO~O&],qO~O!_,sO~O&n,uO&p,vOP&kaQ&kaS&kaY&kaa&kad&kae&kal&kap&kar&kas&kat&kaz&ka|&ka!O&ka!S&ka!W&ka!X&ka!_&ka!i&ka!l&ka!o&ka!p&ka!q&ka!s&ka!u&ka!x&ka!|&ka$W&ka$n&ka%h&ka%j&ka%l&ka%m&ka%n&ka%q&ka%s&ka%v&ka%w&ka%y&ka&V&ka&]&ka&_&ka&a&ka&c&ka&f&ka&l&ka&r&ka&t&ka&v&ka&x&ka&z&ka'v&ka(S&ka(U&ka(X&ka(`&ka(n&ka!^&ka&d&kab&ka&i&ka~O(S,{O~Oh!eX!]!RX!^!RX!g!RX!g!eX!l!eX#`!RX~O!]!eX!^!eX~P# }O!g-QO#`-POh(iX!]#hX!^#hX!g(iX!l(iX~O!](iX!^(iX~P#!pOh%VO!g-SO!l%dO!]!aX!^!aX~Os!nO!S!oO(UTO(XUO(d!mO~OP;vOQ;vOSfOd=rOe!iOpkOr;vOskOtkOzkO|;vO!O;vO!SWO!WkO!XkO!_!eO!i;yO!lZO!o;vO!p;vO!q;vO!s;zO!u;}O!x!hO$W!kO$n=pO(UTO(XUO(`VO(n[O~O(S<rO~P#$VO!]-WO!^(hX~O!^-YO~O!g-QO#`-PO!]#hX!^#hX~O!]-ZO!^(wX~O!^-]O~O!c-^O!d-^O(T!lO~P##tO!^-aO~P'_On-dO!_'^O~O!Y-iO~Os!{a!b!{a!c!{a!d!{a#T!{a#U!{a#V!{a#W!{a#X!{a#[!{a#]!{a(T!{a(U!{a(X!{a(d!{a(n!{a~P!#kO!p-nO#`-lO~PC]O!c-pO!d-pO(T!lO~PC{Oa%mO#`-lO'y%mO~Oa%mO!g#vO#`-lO'y%mO~Oa%mO!g#vO!p-nO#`-lO'y%mO(q'nO~O(O'vO(P'vO(Q-uO~Ov-vO~O!Y'Va!]'Va~P!:aO![-zO!Y'VX!]'VX~P%[O!](TO!Y(ga~O!Y(ga~PGvO!]([O!Y(ua~O!S%gO![.OO!_%hO(S%fO!Y']X!]']X~O#`.QO!](sa!k(saa(sa'y(sa~O!g#vO~P#,]O!](hO!k(ra~O!S%gO!_%hO#j.UO(S%fO~Op.ZO!S%gO![.WO!_%hO!|]O#i.YO#j.WO(S%fO!]'`X!k'`X~OR._O!l#xO~Oh%VOn.bO!_'^O%i.aO~Oa#ci!]#ci'y#ci'v#ci!Y#ci!k#civ#ci!_#ci%i#ci!g#ci~P!:aOn=|O!Q)|O'x)}O(x$}O(y%PO~O#k#_aa#_a#`#_a'y#_a!]#_a!k#_a!_#_a!Y#_a~P#/XO#k(_XP(_XR(_X[(_Xa(_Xj(_Xr(_X!S(_X!l(_X!p(_X#R(_X#n(_X#o(_X#p(_X#q(_X#r(_X#s(_X#t(_X#u(_X#v(_X#x(_X#z(_X#{(_X'y(_X(`(_X(q(_X!k(_X!Y(_X'v(_Xv(_X!_(_X%i(_X!g(_X~P!6`O!].oO!k(jX~P!:aO!k.rO~O!Y.tO~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O(`VO[#mia#mij#mir#mi!]#mi#R#mi#o#mi#p#mi#q#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'y#mi(q#mi(x#mi(y#mi'v#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#n#mi~P#2wO#n$OO~P#2wOP$[OR#zOr$aO!Q#yO!S#{O!l#xO!p$[O#n$OO#o$PO#p$PO#q$PO(`VO[#mia#mij#mi!]#mi#R#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'y#mi(q#mi(x#mi(y#mi'v#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#r#mi~P#5fO#r$QO~P#5fOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO(`VOa#mi!]#mi#x#mi#z#mi#{#mi'y#mi(q#mi(x#mi(y#mi'v#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#v#mi~P#8TOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO(`VO(y#}Oa#mi!]#mi#z#mi#{#mi'y#mi(q#mi(x#mi'v#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#x$UO~P#:kO#x#mi~P#:kO#v$SO~P#8TOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO(`VO(x#|O(y#}Oa#mi!]#mi#{#mi'y#mi(q#mi'v#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#z#mi~P#=aO#z$WO~P#=aOP]XR]X[]Xj]Xr]X!Q]X!S]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(`]X(q]X(x]X(y]X!]]X!^]X~O$O]X~P#@OOP$[OR#zO[<_Oj<SOr<]O!Q#yO!S#{O!l#xO!p$[O#R<SO#n<PO#o<QO#p<QO#q<QO#r<RO#s<SO#t<SO#u<^O#v<TO#x<VO#z<XO#{<YO(`VO(q$YO(x#|O(y#}O~O$O.vO~P#B]O#S$dO#`<`O$Q<`O$O(fX!^(fX~P! jOa'ca!]'ca'y'ca'v'ca!k'ca!Y'cav'ca!_'ca%i'ca!g'ca~P!:aO[#mia#mij#mir#mi!]#mi#R#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'y#mi(q#mi'v#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O#n$OO#o$PO#p$PO#q$PO(`VO(x#mi(y#mi~P#E_On=|O!Q)|O'x)}O(x$}O(y%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(`#mi~P#E_O!].zOg(oX~P!0{Og.|O~Oa$Pi!]$Pi'y$Pi'v$Pi!Y$Pi!k$Piv$Pi!_$Pi%i$Pi!g$Pi~P!:aO$].}O$_.}O~O$]/OO$_/OO~O!g)fO#`/PO!_$cX$Z$cX$]$cX$_$cX$f$cX~O![/QO~O!_)iO$Z/SO$])hO$_)hO$f/TO~O!]<ZO!^(eX~P#B]O!^/UO~O!g)fO$f(zX~O$f/WO~Ov/XO~P!&oOx)wO(a)xO(b/[O~O!S/_O~O(x$}On%aa!Q%aa'x%aa(y%aa!]%aa#`%aa~Og%aa$O%aa~P#LaO(y%POn%ca!Q%ca'x%ca(x%ca!]%ca#`%ca~Og%ca$O%ca~P#MSO!]fX!gfX!kfX!k$zX(qfX~P!/wOOP~P!1jOr*pO!b*nO!c*hO!d*hO!l*_O#[*oO%`*jO(T!lO(UTO(XUO~Os<oO!S/iO![+XO!^*mO(d<nO!^(wP~P#NmO!k/jO~P#/XO!]/kO!g#vO(q'nO!k(}X~O!k/pO~O!S%gO![*[O!_%hO(S%fO!k(}P~O#k/rO~O!Y$zX!]$zX!g%RX~P!/wO!]/sO!Y)OX~P#/XO!g/uO~O!Y/wO~OpkO(S/xO~P.iOh%VOr/}O!g#vO!l%dO(q'nO~O!g+fO~Oa%mO!]0RO'y%mO~O!^0TO~P!5^O!c0UO!d0UO(T!lO~P##tOs!nO!S0VO(UTO(XUO(d!mO~O#[0XO~Og%aa!]%aa#`%aa$O%aa~P!0{Og%ca!]%ca#`%ca$O%ca~P!0{Oj%cOk%cOl%cO(S&XOg'lX!]'lX~O!]*vOg(]a~Og0bO~OR0cO!Q0cO!S0dO#S$dOn}a'x}a(x}a(y}a!]}a#`}a~Og}a$O}a~P$&vO!Q)|O'x)}On$sa(x$sa(y$sa!]$sa#`$sa~Og$sa$O$sa~P$'rO!Q)|O'x)}On$ua(x$ua(y$ua!]$ua#`$ua~Og$ua$O$ua~P$(eO#k0gO~Og%Ta!]%Ta#`%Ta$O%Ta~P!0{On0iO#`0hOg(^a!](^a~O!g#vO~O#k0lO~O!]+ZOa)Sa'y)Sa~OR#zO!Q#yO!S#{O!l#xO(`VOP!ri[!rij!rir!ri!]!ri!p!ri#R!ri#n!ri#o!ri#p!ri#q!ri#r!ri#s!ri#t!ri#u!ri#v!ri#x!ri#z!ri#{!ri(q!ri(x!ri(y!ri~Oa!ri'y!ri'v!ri!Y!ri!k!riv!ri!_!ri%i!ri!g!ri~P$*bOh%VOr%XOs$tOt$tOz%YO|%ZO!O<eO!S${O!_$|O!i=vO!l$xO#j<kO$W%_O$t<gO$v<iO$y%`O(UTO(XUO(`$uO(x$}O(y%PO~Op0uO%]0vO(S0tO~P$,xO!g+fOa([a!_([a'y([a!]([a~O#k0|O~O[]X!]fX!^fX~O!]0}O!^)WX~O!^1PO~O[1QO~Ob1SO(S+nO(UTO(XUO~O!_&OO(S%fO`'tX!]'tX~O!]+sO`)Va~O!k1VO~P!:aO[1YO~O`1ZO~O#`1^O~On1aO!_$|O~O(d(zO!^)TP~Oh%VOn1jO!_1gO%i1iO~O[1tO!]1rO!^)UX~O!^1uO~O`1wOa%mO'y%mO~O(S#nO(UTO(XUO~O#S$dO#`$eO$Q$eOP(fXR(fX[(fXr(fX!Q(fX!S(fX!](fX!l(fX!p(fX#R(fX#n(fX#o(fX#p(fX#q(fX#r(fX#s(fX#t(fX#u(fX#v(fX#x(fX#z(fX#{(fX(`(fX(q(fX(x(fX(y(fX~Oj1zO&Z1{Oa(fX~P$2cOj1zO#`$eO&Z1{O~Oa1}O~P%[Oa2PO~O&d2SOP&biQ&biS&biY&bia&bid&bie&bil&bip&bir&bis&bit&biz&bi|&bi!O&bi!S&bi!W&bi!X&bi!_&bi!i&bi!l&bi!o&bi!p&bi!q&bi!s&bi!u&bi!x&bi!|&bi$W&bi$n&bi%h&bi%j&bi%l&bi%m&bi%n&bi%q&bi%s&bi%v&bi%w&bi%y&bi&V&bi&]&bi&_&bi&a&bi&c&bi&f&bi&l&bi&r&bi&t&bi&v&bi&x&bi&z&bi'v&bi(S&bi(U&bi(X&bi(`&bi(n&bi!^&bib&bi&i&bi~Ob2YO!^2WO&i2XO~P`O!_XO!l2[O~O&p,vOP&kiQ&kiS&kiY&kia&kid&kie&kil&kip&kir&kis&kit&kiz&ki|&ki!O&ki!S&ki!W&ki!X&ki!_&ki!i&ki!l&ki!o&ki!p&ki!q&ki!s&ki!u&ki!x&ki!|&ki$W&ki$n&ki%h&ki%j&ki%l&ki%m&ki%n&ki%q&ki%s&ki%v&ki%w&ki%y&ki&V&ki&]&ki&_&ki&a&ki&c&ki&f&ki&l&ki&r&ki&t&ki&v&ki&x&ki&z&ki'v&ki(S&ki(U&ki(X&ki(`&ki(n&ki!^&ki&d&kib&ki&i&ki~O!Y2bO~O!]!aa!^!aa~P#B]Os!nO!S!oO![2hO(d!mO!]'WX!^'WX~P@cO!]-WO!^(ha~O!]'^X!^'^X~P!9iO!]-ZO!^(wa~O!^2oO~P'_Oa%mO#`2xO'y%mO~Oa%mO!g#vO#`2xO'y%mO~Oa%mO!g#vO!p2|O#`2xO'y%mO(q'nO~Oa%mO'y%mO~P!:aO!]$_Ov$qa~O!Y'Vi!]'Vi~P!:aO!](TO!Y(gi~O!]([O!Y(ui~O!Y(vi!](vi~P!:aO!](si!k(sia(si'y(si~P!:aO#`3OO!](si!k(sia(si'y(si~O!](hO!k(ri~O!S%gO!_%hO!|]O#i3TO#j3SO(S%fO~O!S%gO!_%hO#j3SO(S%fO~On3[O!_'^O%i3ZO~Oh%VOn3[O!_'^O%i3ZO~O#k%aaP%aaR%aa[%aaa%aaj%aar%aa!S%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa'y%aa(`%aa(q%aa!k%aa!Y%aa'v%aav%aa!_%aa%i%aa!g%aa~P#LaO#k%caP%caR%ca[%caa%caj%car%ca!S%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca'y%ca(`%ca(q%ca!k%ca!Y%ca'v%cav%ca!_%ca%i%ca!g%ca~P#MSO#k%aaP%aaR%aa[%aaa%aaj%aar%aa!S%aa!]%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa'y%aa(`%aa(q%aa!k%aa!Y%aa'v%aa#`%aav%aa!_%aa%i%aa!g%aa~P#/XO#k%caP%caR%ca[%caa%caj%car%ca!S%ca!]%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca'y%ca(`%ca(q%ca!k%ca!Y%ca'v%ca#`%cav%ca!_%ca%i%ca!g%ca~P#/XO#k}aP}a[}aa}aj}ar}a!l}a!p}a#R}a#n}a#o}a#p}a#q}a#r}a#s}a#t}a#u}a#v}a#x}a#z}a#{}a'y}a(`}a(q}a!k}a!Y}a'v}av}a!_}a%i}a!g}a~P$&vO#k$saP$saR$sa[$saa$saj$sar$sa!S$sa!l$sa!p$sa#R$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#t$sa#u$sa#v$sa#x$sa#z$sa#{$sa'y$sa(`$sa(q$sa!k$sa!Y$sa'v$sav$sa!_$sa%i$sa!g$sa~P$'rO#k$uaP$uaR$ua[$uaa$uaj$uar$ua!S$ua!l$ua!p$ua#R$ua#n$ua#o$ua#p$ua#q$ua#r$ua#s$ua#t$ua#u$ua#v$ua#x$ua#z$ua#{$ua'y$ua(`$ua(q$ua!k$ua!Y$ua'v$uav$ua!_$ua%i$ua!g$ua~P$(eO#k%TaP%TaR%Ta[%Taa%Taj%Tar%Ta!S%Ta!]%Ta!l%Ta!p%Ta#R%Ta#n%Ta#o%Ta#p%Ta#q%Ta#r%Ta#s%Ta#t%Ta#u%Ta#v%Ta#x%Ta#z%Ta#{%Ta'y%Ta(`%Ta(q%Ta!k%Ta!Y%Ta'v%Ta#`%Tav%Ta!_%Ta%i%Ta!g%Ta~P#/XOa#cq!]#cq'y#cq'v#cq!Y#cq!k#cqv#cq!_#cq%i#cq!g#cq~P!:aO![3dO!]'XX!k'XX~P%[O!].oO!k(ja~O!].oO!k(ja~P!:aO!Y3gO~O$O!na!^!na~PKaO$O!ja!]!ja!^!ja~P#B]O$O!ra!^!ra~P!<wO$O!ta!^!ta~P!?_Og'[X!]'[X~P!+xO!].zOg(oa~OSfO!_3{O$d3|O~O!^4QO~Ov4RO~P#/XOa$mq!]$mq'y$mq'v$mq!Y$mq!k$mqv$mq!_$mq%i$mq!g$mq~P!:aO!Y4TO~P!&oO!S4UO~O!Q)|O'x)}O(y%POn'ha(x'ha!]'ha#`'ha~Og'ha$O'ha~P%,XO!Q)|O'x)}On'ja(x'ja(y'ja!]'ja#`'ja~Og'ja$O'ja~P%,zO(q$YO~P#/XO!YfX!Y$zX!]fX!]$zX!g%RX#`fX~P!/wO(S<xO~P!1jO!S%gO![4XO!_%hO(S%fO!]'dX!k'dX~O!]/kO!k(}a~O!]/kO!g#vO!k(}a~O!]/kO!g#vO(q'nO!k(}a~Og$|i!]$|i#`$|i$O$|i~P!0{O![4aO!Y'fX!]'fX~P!3iO!]/sO!Y)Oa~O!]/sO!Y)Oa~P#/XOP]XR]X[]Xj]Xr]X!Q]X!S]X!Y]X!]]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(`]X(q]X(x]X(y]X~Oj%YX!g%YX~P%0kOj4fO!g#vO~Oh%VO!g#vO!l%dO~Oh%VOr4kO!l%dO(q'nO~Or4pO!g#vO(q'nO~Os!nO!S4qO(UTO(XUO(d!mO~O(x$}On%ai!Q%ai'x%ai(y%ai!]%ai#`%ai~Og%ai$O%ai~P%4[O(y%POn%ci!Q%ci'x%ci(x%ci!]%ci#`%ci~Og%ci$O%ci~P%4}Og(^i!](^i~P!0{O#`4wOg(^i!](^i~P!0{O!k4zO~Oa$oq!]$oq'y$oq'v$oq!Y$oq!k$oqv$oq!_$oq%i$oq!g$oq~P!:aO!Y5QO~O!]5RO!_)PX~P#/XOa$zX!_$zX%^]X'y$zX!]$zX~P!/wO%^5UOaoXnoX!QoX!_oX'xoX'yoX(xoX(yoX!]oX~Op5VO(S#nO~O%^5UO~Ob5]O%j5^O(S+nO(UTO(XUO!]'sX!^'sX~O!]0}O!^)Wa~O[5bO~O`5cO~Oa%mO'y%mO~P#/XO!]5kO#`5mO!^)TX~O!^5nO~Or5tOs!nO!S*fO!b!yO!c!vO!d!vO!|;wO#T!pO#U!pO#V!pO#W!pO#X!pO#[5sO#]!zO(T!lO(UTO(XUO(d!mO(n!sO~O!^5rO~P%:YOn5yO!_1gO%i5xO~Oh%VOn5yO!_1gO%i5xO~Ob6QO(S#nO(UTO(XUO!]'rX!^'rX~O!]1rO!^)Ua~O(UTO(XUO(d6SO~O`6WO~Oj6ZO&Z6[O~PM|O!k6]O~P%[Oa6_O~Oa6_O~P%[Ob2YO!^6dO&i2XO~P`O!g6fO~O!g6hOh(ii!](ii!^(ii!g(ii!l(iir(ii(q(ii~O!]#hi!^#hi~P#B]O#`6iO!]#hi!^#hi~O!]!ai!^!ai~P#B]Oa%mO#`6rO'y%mO~Oa%mO!g#vO#`6rO'y%mO~O!](sq!k(sqa(sq'y(sq~P!:aO!](hO!k(rq~O!S%gO!_%hO#j6yO(S%fO~O!_'^O%i6|O~On7QO!_'^O%i6|O~O#k'haP'haR'ha['haa'haj'har'ha!S'ha!l'ha!p'ha#R'ha#n'ha#o'ha#p'ha#q'ha#r'ha#s'ha#t'ha#u'ha#v'ha#x'ha#z'ha#{'ha'y'ha(`'ha(q'ha!k'ha!Y'ha'v'hav'ha!_'ha%i'ha!g'ha~P%,XO#k'jaP'jaR'ja['jaa'jaj'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja'y'ja(`'ja(q'ja!k'ja!Y'ja'v'jav'ja!_'ja%i'ja!g'ja~P%,zO#k$|iP$|iR$|i[$|ia$|ij$|ir$|i!S$|i!]$|i!l$|i!p$|i#R$|i#n$|i#o$|i#p$|i#q$|i#r$|i#s$|i#t$|i#u$|i#v$|i#x$|i#z$|i#{$|i'y$|i(`$|i(q$|i!k$|i!Y$|i'v$|i#`$|iv$|i!_$|i%i$|i!g$|i~P#/XO#k%aiP%aiR%ai[%aia%aij%air%ai!S%ai!l%ai!p%ai#R%ai#n%ai#o%ai#p%ai#q%ai#r%ai#s%ai#t%ai#u%ai#v%ai#x%ai#z%ai#{%ai'y%ai(`%ai(q%ai!k%ai!Y%ai'v%aiv%ai!_%ai%i%ai!g%ai~P%4[O#k%ciP%ciR%ci[%cia%cij%cir%ci!S%ci!l%ci!p%ci#R%ci#n%ci#o%ci#p%ci#q%ci#r%ci#s%ci#t%ci#u%ci#v%ci#x%ci#z%ci#{%ci'y%ci(`%ci(q%ci!k%ci!Y%ci'v%civ%ci!_%ci%i%ci!g%ci~P%4}O!]'Xa!k'Xa~P!:aO!].oO!k(ji~O$O#ci!]#ci!^#ci~P#B]OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O(`VO[#mij#mir#mi#R#mi#o#mi#p#mi#q#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi$O#mi(q#mi(x#mi(y#mi!]#mi!^#mi~O#n#mi~P%MXO#n<PO~P%MXOP$[OR#zOr<]O!Q#yO!S#{O!l#xO!p$[O#n<PO#o<QO#p<QO#q<QO(`VO[#mij#mi#R#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi$O#mi(q#mi(x#mi(y#mi!]#mi!^#mi~O#r#mi~P& aO#r<RO~P& aOP$[OR#zO[<_Oj<SOr<]O!Q#yO!S#{O!l#xO!p$[O#R<SO#n<PO#o<QO#p<QO#q<QO#r<RO#s<SO#t<SO#u<^O(`VO#x#mi#z#mi#{#mi$O#mi(q#mi(x#mi(y#mi!]#mi!^#mi~O#v#mi~P&#iOP$[OR#zO[<_Oj<SOr<]O!Q#yO!S#{O!l#xO!p$[O#R<SO#n<PO#o<QO#p<QO#q<QO#r<RO#s<SO#t<SO#u<^O#v<TO(`VO(y#}O#z#mi#{#mi$O#mi(q#mi(x#mi!]#mi!^#mi~O#x<VO~P&%jO#x#mi~P&%jO#v<TO~P&#iOP$[OR#zO[<_Oj<SOr<]O!Q#yO!S#{O!l#xO!p$[O#R<SO#n<PO#o<QO#p<QO#q<QO#r<RO#s<SO#t<SO#u<^O#v<TO#x<VO(`VO(x#|O(y#}O#{#mi$O#mi(q#mi!]#mi!^#mi~O#z#mi~P&'yO#z<XO~P&'yOa#|y!]#|y'y#|y'v#|y!Y#|y!k#|yv#|y!_#|y%i#|y!g#|y~P!:aO[#mij#mir#mi#R#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi$O#mi(q#mi!]#mi!^#mi~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O#n<PO#o<QO#p<QO#q<QO(`VO(x#mi(y#mi~P&*uOn=}O!Q)|O'x)}O(x$}O(y%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(`#mi~P&*uO#S$dOP(_XR(_X[(_Xj(_Xn(_Xr(_X!Q(_X!S(_X!l(_X!p(_X#R(_X#n(_X#o(_X#p(_X#q(_X#r(_X#s(_X#t(_X#u(_X#v(_X#x(_X#z(_X#{(_X$O(_X'x(_X(`(_X(q(_X(x(_X(y(_X!](_X!^(_X~O$O$Pi!]$Pi!^$Pi~P#B]O$O!ri!^!ri~P$*bOg'[a!]'[a~P!0{O!^7dO~O!]'ca!^'ca~P#B]O!Y7eO~P#/XO!g#vO(q'nO!]'da!k'da~O!]/kO!k(}i~O!]/kO!g#vO!k(}i~Og$|q!]$|q#`$|q$O$|q~P!0{O!Y'fa!]'fa~P#/XO!g7lO~O!]/sO!Y)Oi~P#/XO!]/sO!Y)Oi~O!Y7oO~Oh%VOr7tO!l%dO(q'nO~Oj7vO!g#vO~Or7yO!g#vO(q'nO~O!Q)|O'x)}O(y%POn'ia(x'ia!]'ia#`'ia~Og'ia$O'ia~P&3vO!Q)|O'x)}On'ka(x'ka(y'ka!]'ka#`'ka~Og'ka$O'ka~P&4iO!Y7{O~Og%Oq!]%Oq#`%Oq$O%Oq~P!0{Og(^q!](^q~P!0{O#`7|Og(^q!](^q~P!0{Oa$oy!]$oy'y$oy'v$oy!Y$oy!k$oyv$oy!_$oy%i$oy!g$oy~P!:aO!g6hO~O!]5RO!_)Pa~O!_'^OP$TaR$Ta[$Taj$Tar$Ta!Q$Ta!S$Ta!]$Ta!l$Ta!p$Ta#R$Ta#n$Ta#o$Ta#p$Ta#q$Ta#r$Ta#s$Ta#t$Ta#u$Ta#v$Ta#x$Ta#z$Ta#{$Ta(`$Ta(q$Ta(x$Ta(y$Ta~O%i6|O~P&7ZO%^8QOa%[i!_%[i'y%[i!]%[i~Oa#cy!]#cy'y#cy'v#cy!Y#cy!k#cyv#cy!_#cy%i#cy!g#cy~P!:aO[8SO~Ob8UO(S+nO(UTO(XUO~O!]0}O!^)Wi~O`8YO~O(d(zO!]'oX!^'oX~O!]5kO!^)Ta~O!^8cO~P%:YO(n!sO~P$${O#[8dO~O!_1gO~O!_1gO%i8fO~On8iO!_1gO%i8fO~O[8nO!]'ra!^'ra~O!]1rO!^)Ui~O!k8rO~O!k8sO~O!k8vO~O!k8vO~P%[Oa8xO~O!g8yO~O!k8zO~O!](vi!^(vi~P#B]Oa%mO#`9SO'y%mO~O!](sy!k(sya(sy'y(sy~P!:aO!](hO!k(ry~O%i9VO~P&7ZO!_'^O%i9VO~O#k$|qP$|qR$|q[$|qa$|qj$|qr$|q!S$|q!]$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q'y$|q(`$|q(q$|q!k$|q!Y$|q'v$|q#`$|qv$|q!_$|q%i$|q!g$|q~P#/XO#k'iaP'iaR'ia['iaa'iaj'iar'ia!S'ia!l'ia!p'ia#R'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#v'ia#x'ia#z'ia#{'ia'y'ia(`'ia(q'ia!k'ia!Y'ia'v'iav'ia!_'ia%i'ia!g'ia~P&3vO#k'kaP'kaR'ka['kaa'kaj'kar'ka!S'ka!l'ka!p'ka#R'ka#n'ka#o'ka#p'ka#q'ka#r'ka#s'ka#t'ka#u'ka#v'ka#x'ka#z'ka#{'ka'y'ka(`'ka(q'ka!k'ka!Y'ka'v'kav'ka!_'ka%i'ka!g'ka~P&4iO#k%OqP%OqR%Oq[%Oqa%Oqj%Oqr%Oq!S%Oq!]%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq'y%Oq(`%Oq(q%Oq!k%Oq!Y%Oq'v%Oq#`%Oqv%Oq!_%Oq%i%Oq!g%Oq~P#/XO!]'Xi!k'Xi~P!:aO$O#cq!]#cq!^#cq~P#B]O(x$}OP%aaR%aa[%aaj%aar%aa!S%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa$O%aa(`%aa(q%aa!]%aa!^%aa~On%aa!Q%aa'x%aa(y%aa~P&HnO(y%POP%caR%ca[%caj%car%ca!S%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca$O%ca(`%ca(q%ca!]%ca!^%ca~On%ca!Q%ca'x%ca(x%ca~P&JuOn=}O!Q)|O'x)}O(y%PO~P&HnOn=}O!Q)|O'x)}O(x$}O~P&JuOR0cO!Q0cO!S0dO#S$dOP}a[}aj}an}ar}a!l}a!p}a#R}a#n}a#o}a#p}a#q}a#r}a#s}a#t}a#u}a#v}a#x}a#z}a#{}a$O}a'x}a(`}a(q}a(x}a(y}a!]}a!^}a~O!Q)|O'x)}OP$saR$sa[$saj$san$sar$sa!S$sa!l$sa!p$sa#R$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#t$sa#u$sa#v$sa#x$sa#z$sa#{$sa$O$sa(`$sa(q$sa(x$sa(y$sa!]$sa!^$sa~O!Q)|O'x)}OP$uaR$ua[$uaj$uan$uar$ua!S$ua!l$ua!p$ua#R$ua#n$ua#o$ua#p$ua#q$ua#r$ua#s$ua#t$ua#u$ua#v$ua#x$ua#z$ua#{$ua$O$ua(`$ua(q$ua(x$ua(y$ua!]$ua!^$ua~On=}O!Q)|O'x)}O(x$}O(y%PO~OP%TaR%Ta[%Taj%Tar%Ta!S%Ta!l%Ta!p%Ta#R%Ta#n%Ta#o%Ta#p%Ta#q%Ta#r%Ta#s%Ta#t%Ta#u%Ta#v%Ta#x%Ta#z%Ta#{%Ta$O%Ta(`%Ta(q%Ta!]%Ta!^%Ta~P'%zO$O$mq!]$mq!^$mq~P#B]O$O$oq!]$oq!^$oq~P#B]O!^9dO~O$O9eO~P!0{O!g#vO!]'di!k'di~O!g#vO(q'nO!]'di!k'di~O!]/kO!k(}q~O!Y'fi!]'fi~P#/XO!]/sO!Y)Oq~Or9lO!g#vO(q'nO~O[9nO!Y9mO~P#/XO!Y9mO~Oj9tO!g#vO~Og(^y!](^y~P!0{O!]'ma!_'ma~P#/XOa%[q!_%[q'y%[q!]%[q~P#/XO[9yO~O!]0}O!^)Wq~O#`9}O!]'oa!^'oa~O!]5kO!^)Ti~P#B]O!S:PO~O!_1gO%i:SO~O(UTO(XUO(d:XO~O!]1rO!^)Uq~O!k:[O~O!k:]O~O!k:^O~O!k:^O~P%[O#`:aO!]#hy!^#hy~O!]#hy!^#hy~P#B]O%i:fO~P&7ZO!_'^O%i:fO~O$O#|y!]#|y!^#|y~P#B]OP$|iR$|i[$|ij$|ir$|i!S$|i!l$|i!p$|i#R$|i#n$|i#o$|i#p$|i#q$|i#r$|i#s$|i#t$|i#u$|i#v$|i#x$|i#z$|i#{$|i$O$|i(`$|i(q$|i!]$|i!^$|i~P'%zO!Q)|O'x)}O(y%POP'haR'ha['haj'han'har'ha!S'ha!l'ha!p'ha#R'ha#n'ha#o'ha#p'ha#q'ha#r'ha#s'ha#t'ha#u'ha#v'ha#x'ha#z'ha#{'ha$O'ha(`'ha(q'ha(x'ha!]'ha!^'ha~O!Q)|O'x)}OP'jaR'ja['jaj'jan'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja$O'ja(`'ja(q'ja(x'ja(y'ja!]'ja!^'ja~O(x$}OP%aiR%ai[%aij%ain%air%ai!Q%ai!S%ai!l%ai!p%ai#R%ai#n%ai#o%ai#p%ai#q%ai#r%ai#s%ai#t%ai#u%ai#v%ai#x%ai#z%ai#{%ai$O%ai'x%ai(`%ai(q%ai(y%ai!]%ai!^%ai~O(y%POP%ciR%ci[%cij%cin%cir%ci!Q%ci!S%ci!l%ci!p%ci#R%ci#n%ci#o%ci#p%ci#q%ci#r%ci#s%ci#t%ci#u%ci#v%ci#x%ci#z%ci#{%ci$O%ci'x%ci(`%ci(q%ci(x%ci!]%ci!^%ci~O$O$oy!]$oy!^$oy~P#B]O$O#cy!]#cy!^#cy~P#B]O!g#vO!]'dq!k'dq~O!]/kO!k(}y~O!Y'fq!]'fq~P#/XOr:pO!g#vO(q'nO~O[:tO!Y:sO~P#/XO!Y:sO~Og(^!R!](^!R~P!0{Oa%[y!_%[y'y%[y!]%[y~P#/XO!]0}O!^)Wy~O!]5kO!^)Tq~O(S:zO~O!_1gO%i:}O~O!k;QO~O%i;VO~P&7ZOP$|qR$|q[$|qj$|qr$|q!S$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q$O$|q(`$|q(q$|q!]$|q!^$|q~P'%zO!Q)|O'x)}O(y%POP'iaR'ia['iaj'ian'iar'ia!S'ia!l'ia!p'ia#R'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#v'ia#x'ia#z'ia#{'ia$O'ia(`'ia(q'ia(x'ia!]'ia!^'ia~O!Q)|O'x)}OP'kaR'ka['kaj'kan'kar'ka!S'ka!l'ka!p'ka#R'ka#n'ka#o'ka#p'ka#q'ka#r'ka#s'ka#t'ka#u'ka#v'ka#x'ka#z'ka#{'ka$O'ka(`'ka(q'ka(x'ka(y'ka!]'ka!^'ka~OP%OqR%Oq[%Oqj%Oqr%Oq!S%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq$O%Oq(`%Oq(q%Oq!]%Oq!^%Oq~P'%zOg%e!Z!]%e!Z#`%e!Z$O%e!Z~P!0{O!Y;ZO~P#/XOr;[O!g#vO(q'nO~O[;^O!Y;ZO~P#/XO!]'oq!^'oq~P#B]O!]#h!Z!^#h!Z~P#B]O#k%e!ZP%e!ZR%e!Z[%e!Za%e!Zj%e!Zr%e!Z!S%e!Z!]%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z'y%e!Z(`%e!Z(q%e!Z!k%e!Z!Y%e!Z'v%e!Z#`%e!Zv%e!Z!_%e!Z%i%e!Z!g%e!Z~P#/XOr;fO!g#vO(q'nO~O!Y;gO~P#/XOr;nO!g#vO(q'nO~O!Y;oO~P#/XOP%e!ZR%e!Z[%e!Zj%e!Zr%e!Z!S%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z$O%e!Z(`%e!Z(q%e!Z!]%e!Z!^%e!Z~P'%zOr;rO!g#vO(q'nO~Ov(eX~P1qO!Q%qO~P!)PO(T!lO~P!)PO!YfX!]fX#`fX~P%0kOP]XR]X[]Xj]Xr]X!Q]X!S]X!]]X!]fX!l]X!p]X#R]X#S]X#`]X#`fX#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(`]X(q]X(x]X(y]X~O!gfX!k]X!kfX(qfX~P'JsOP;vOQ;vOSfOd=rOe!iOpkOr;vOskOtkOzkO|;vO!O;vO!SWO!WkO!XkO!_XO!i;yO!lZO!o;vO!p;vO!q;vO!s;zO!u;}O!x!hO$W!kO$n=pO(S)ZO(UTO(XUO(`VO(n[O~O!]<ZO!^$qa~Oh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O<fO!S${O!_$|O!i=wO!l$xO#j<lO$W%_O$t<hO$v<jO$y%`O(S(tO(UTO(XUO(`$uO(x$}O(y%PO~Ol)bO~P( iOr!eX(q!eX~P# }Or(iX(q(iX~P#!pO!^]X!^fX~P'JsO!YfX!Y$zX!]fX!]$zX#`fX~P!/wO#k<OO~O!g#vO#k<OO~O#`<`O~Oj<SO~O#`<pO!](vX!^(vX~O#`<`O!](tX!^(tX~O#k<qO~Og<sO~P!0{O#k<yO~O#k<zO~O!g#vO#k<{O~O!g#vO#k<qO~O$O<|O~P#B]O#k<}O~O#k=OO~O#k=TO~O#k=UO~O#k=VO~O#k=WO~O$O=XO~P!0{O$O=YO~P!0{Ok#S#T#U#W#X#[#i#j#u$n$t$v$y%]%^%h%i%j%q%s%v%w%y%{~'}T#o!X'{(T#ps#n#qr!Q'|$]'|(S$_(d~",goto:"$8g)[PPPPPP)]PP)`P)qP+R/WPPPP6bPP6xPP<pPPP@dP@zP@zPPP@zPCSP@zP@zP@zPCWPC]PCzPHtPPPHxPPPPHxK{PPPLRLsPHxPHxPP! RHxPPPHxPHxP!#YHxP!&p!'u!(OP!(r!(v!(r!,TPPPPPPP!,t!'uPP!-U!.vP!2SHxHx!2X!5e!:R!:R!>QPPP!>YHxPPPPPPPPP!AiP!BvPPHx!DXPHxPHxHxHxHxHxPHx!EkP!HuP!K{P!LP!LZ!L_!L_P!HrP!Lc!LcP# iP# mHxPHx# s#$xCW@zP@zP@z@zP#&V@z@z#(i@z#+a@z#-m@z@z#.]#0q#0q#0v#1P#0q#1[PP#0qP@z#1t@z#5s@z@z6bPPP#9xPPP#:c#:cP#:cP#:y#:cPP#;PP#:vP#:v#;d#:v#<O#<U#<X)`#<[)`P#<c#<c#<cP)`P)`P)`P)`PP)`P#<i#<lP#<l)`P#<pP#<sP)`P)`P)`P)`P)`P)`)`PP#<y#=P#=[#=b#=h#=n#=t#>S#>Y#>d#>j#>t#>z#?[#?b#@S#@f#@l#@r#AQ#Ag#C[#Cj#Cq#E]#Ek#G]#Gk#Gq#Gw#G}#HX#H_#He#Ho#IR#IXPPPPPPPPPPP#I_PPPPPPP#JS#MZ#Ns#Nz$ SPPP$&nP$&w$)p$0Z$0^$0a$1`$1c$1j$1rP$1x$1{P$2i$2m$3e$4s$4x$5`PP$5e$5k$5o$5r$5v$5z$6v$7_$7v$7z$7}$8Q$8W$8Z$8_$8cR!|RoqOXst!Z#d%l&p&r&s&u,n,s2S2VY!vQ'^-`1g5qQ%svQ%{yQ&S|Q&h!VS'U!e-WQ'd!iS'j!r!yU*h$|*X*lQ+l%|Q+y&UQ,_&bQ-^']Q-h'eQ-p'kQ0U*nQ1q,`R<m;z%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%l%s&Q&i&l&p&r&s&u&y'R'`'p(R(T(Z(b(v(x(|){*f+U+Y,k,n,s-d-l-z.Q.o.v/i0V0d0l0|1j1z1{1}2P2S2V2X2x3O3d4q5y6Z6[6_6r8i8x9SS#q];w!r)]$Z$n'V)q-P-S/Q2h3{5m6i9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sU*{%[<e<fQ+q&OQ,a&eQ,h&mQ0r+dQ0w+fQ1S+rQ1y,fQ3W.bQ5V0vQ5]0}Q6Q1rQ7O3[Q8U5^R9Y7Q'QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%l%s&Q&i&l&m&p&r&s&u&y'R'V'`'p(R(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=s!S!nQ!r!v!y!z$|'U']'^'j'k'l*h*l*n*o-W-^-`-p0U0X1g5q5s%[$ti#v$b$c$d$x${%O%Q%]%^%b)w*P*R*T*W*^*d*t*u+c+f+},Q.a.z/_/h/r/s/u0Y0[0g0h0i1^1a1i3Z4U4V4a4f4w5R5U5x6|7l7v7|8Q8f9V9e9n9t:S:f:t:};V;^<^<_<a<b<c<d<g<h<i<j<k<l<t<u<v<w<y<z<}=O=P=Q=R=S=T=U=X=Y=p=x=y=|=}Q&V|Q'S!eS'Y%h-ZQ+q&OQ,a&eQ0f+OQ1S+rQ1X+xQ1x,eQ1y,fQ5]0}Q5f1ZQ6Q1rQ6T1tQ6U1wQ8U5^Q8X5cQ8q6WQ9|8YQ:Y8nR<o*XrnOXst!V!Z#d%l&g&p&r&s&u,n,s2S2VR,c&i&z^OPXYstuvwz!Z!`!g!j!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%l%s&Q&i&l&m&p&r&s&u&y'R'`'p(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=r=s[#]WZ#W#Z'V(R!b%im#h#i#l$x%d%g([(f(g(h*W*[*_+W+X+Z,j-Q.O.U.V.W.Y/h/k2[3S3T4X6h6yQ%vxQ%zyS&P|&UQ&]!TQ'a!hQ'c!iQ(o#sS+k%{%|Q+o&OQ,Y&`Q,^&bS-g'd'eQ.d(pQ0{+lQ1R+rQ1T+sQ1W+wQ1l,ZS1p,_,`Q2t-hQ5[0}Q5`1QQ5e1YQ6P1qQ8T5^Q8W5bQ9x8SR:w9y!U$zi$d%O%Q%]%^%b*P*R*^*t*u.z/r0Y0[0g0h0i4V4w7|9e=p=x=y!^%xy!i!u%z%{%|'T'c'd'e'i's*g+k+l-T-g-h-o/{0O0{2m2t2{4i4j4m7s9pQ+e%vQ,O&YQ,R&ZQ,]&bQ.c(oQ1k,YU1o,^,_,`Q3].dQ5z1lS6O1p1qQ8m6P#f=t#v$b$c$x${)w*T*W*d+c+f+},Q.a/_/h/s/u1^1a1i3Z4U4a4f5R5U5x6|7l7v8Q8f9V9n9t:S:f:t:};V;^<a<c<g<i<k<t<v<y<}=P=R=T=X=|=}o=u<^<_<b<d<h<j<l<u<w<z=O=Q=S=U=YW%Ti%V*v=pS&Y!Q&gQ&Z!RQ&[!SQ+S%cR+|&W%]%Si#v$b$c$d$x${%O%Q%]%^%b)w*P*R*T*W*^*d*t*u+c+f+},Q.a.z/_/h/r/s/u0Y0[0g0h0i1^1a1i3Z4U4V4a4f4w5R5U5x6|7l7v7|8Q8f9V9e9n9t:S:f:t:};V;^<^<_<a<b<c<d<g<h<i<j<k<l<t<u<v<w<y<z<}=O=P=Q=R=S=T=U=X=Y=p=x=y=|=}T)x$u)yV*{%[<e<fW'Y!e%h*X-ZS({#y#zQ+`%qQ+v&RS.](k(lQ1b,SQ4x0cR8^5k'QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%l%s&Q&i&l&m&p&r&s&u&y'R'V'`'p(R(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=s$i$^c#Y#e%p%r%t(Q(W(r(w)P)Q)R)S)T)U)V)W)X)Y)[)^)`)e)o+a+u-U-s-x-}.P.n.q.u.w.x.y/]0j2c2f2v2}3c3h3i3j3k3l3m3n3o3p3q3r3s3t3w3x4P5O5Y6k6q6v7V7W7a7b8`8|9Q9[9b9c:c:y;R;x=gT#TV#U'RkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%l%s&Q&i&l&m&p&r&s&u&y'R'V'`'p(R(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sQ'W!eR2i-W!W!nQ!e!r!v!y!z$|'U']'^'j'k'l*X*h*l*n*o-W-^-`-p0U0X1g5q5sR1d,UnqOXst!Z#d%l&p&r&s&u,n,s2S2VQ&w!^Q't!xS(q#u<OQ+i%yQ,W&]Q,X&_Q-e'bQ-r'mS.m(v<qS0k+U<{Q0y+jQ1f,VQ2Z,uQ2],vQ2e-RQ2r-fQ2u-jS5P0l=VQ5W0zS5Z0|=WQ6j2gQ6n2sQ6s2zQ8R5XQ8}6lQ9O6oQ9R6tR:`8z$d$]c#Y#e%r%t(Q(W(r(w)P)Q)R)S)T)U)V)W)X)Y)[)^)`)e)o+a+u-U-s-x-}.P.n.q.u.x.y/]0j2c2f2v2}3c3h3i3j3k3l3m3n3o3p3q3r3s3t3w3x4P5O5Y6k6q6v7V7W7a7b8`8|9Q9[9b9c:c:y;R;x=gS(m#p'gQ(}#zS+_%p.wS.^(l(nR3U._'QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%l%s&Q&i&l&m&p&r&s&u&y'R'V'`'p(R(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sS#q];wQ&r!XQ&s!YQ&u![Q&v!]R2R,qQ'_!hQ+b%vQ-c'aS.`(o+eQ2p-bW3Y.c.d0q0sQ6m2qW6z3V3X3]5TU9U6{6}7PU:e9W9X9ZS;T:d:gQ;b;UR;j;cU!wQ'^-`T5o1g5q!Q_OXZ`st!V!Z#d#h%d%l&g&i&p&r&s&u(h,n,s.V2S2V]!pQ!r'^-`1g5qT#q];w%^{OPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%l%s&Q&i&l&m&p&r&s&u&y'R'`'p(R(T(Z(b(v(x(|){*f+U+Y+d,k,n,s-d-l-z.Q.b.o.v/i0V0d0l0|1j1z1{1}2P2S2V2X2x3O3[3d4q5y6Z6[6_6r7Q8i8x9SS({#y#zS.](k(l!s=^$Z$n'V)q-P-S/Q2h3{5m6i9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sU$fd)],hS(n#p'gU*s%R(u3vU0e*z.i7]Q5T0rQ6{3WQ9X7OR:g9Ym!tQ!r!v!y!z'^'j'k'l-`-p1g5q5sQ'r!uS(d#g1|S-n'i'uQ/n*ZQ/{*gQ2|-qQ4]/oQ4i/}Q4j0OQ4o0WQ7h4WS7s4k4mS7w4p4rQ9g7iQ9k7oQ9p7tQ9u7yS:o9l9mS;Y:p:sS;e;Z;[S;m;f;gS;q;n;oR;t;rQ#wbQ'q!uS(c#g1|S(e#m+TQ+V%eQ+g%wQ+m%}U-m'i'r'uQ.R(dQ/m*ZQ/|*gQ0P*iQ0x+hQ1m,[S2y-n-qQ3R.ZS4[/n/oQ4e/yS4h/{0WQ4l0QQ5|1nQ6u2|Q7g4WQ7k4]U7r4i4o4rQ7u4nQ8k5}S9f7h7iQ9j7oQ9r7wQ9s7xQ:V8lQ:m9gS:n9k9mQ:v9uQ;P:WS;X:o:sS;d;Y;ZS;l;e;gS;p;m;oQ;s;qQ;u;tQ=a=[Q=l=eR=m=fV!wQ'^-`%^aOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%l%s&Q&i&l&m&p&r&s&u&y'R'`'p(R(T(Z(b(v(x(|){*f+U+Y+d,k,n,s-d-l-z.Q.b.o.v/i0V0d0l0|1j1z1{1}2P2S2V2X2x3O3[3d4q5y6Z6[6_6r7Q8i8x9SS#wz!j!r=Z$Z$n'V)q-P-S/Q2h3{5m6i9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sR=a=r%^bOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%l%s&Q&i&l&m&p&r&s&u&y'R'`'p(R(T(Z(b(v(x(|){*f+U+Y+d,k,n,s-d-l-z.Q.b.o.v/i0V0d0l0|1j1z1{1}2P2S2V2X2x3O3[3d4q5y6Z6[6_6r7Q8i8x9SQ%ej!^%wy!i!u%z%{%|'T'c'd'e'i's*g+k+l-T-g-h-o/{0O0{2m2t2{4i4j4m7s9pS%}z!jQ+h%xQ,[&bW1n,],^,_,`U5}1o1p1qS8l6O6PQ:W8m!r=[$Z$n'V)q-P-S/Q2h3{5m6i9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sQ=e=qR=f=r%QeOPXYstuvw!Z!`!g!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%l%s&Q&i&l&p&r&s&u&y'R'`'p(T(Z(b(v(x(|){*f+U+Y+d,k,n,s-d-l-z.Q.b.o.v/i0V0d0l0|1j1z1{1}2P2S2V2X2x3O3[3d4q5y6Z6[6_6r7Q8i8x9SY#bWZ#W#Z(R!b%im#h#i#l$x%d%g([(f(g(h*W*[*_+W+X+Z,j-Q.O.U.V.W.Y/h/k2[3S3T4X6h6yQ,i&m!p=]$Z$n)q-P-S/Q2h3{5m6i9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sR=`'VU'Z!e%h*XR2k-Z%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%l%s&Q&i&l&p&r&s&u&y'R'`'p(R(T(Z(b(v(x(|){*f+U+Y,k,n,s-d-l-z.Q.o.v/i0V0d0l0|1j1z1{1}2P2S2V2X2x3O3d4q5y6Z6[6_6r8i8x9S!r)]$Z$n'V)q-P-S/Q2h3{5m6i9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sQ,h&mQ0r+dQ3W.bQ7O3[R9Y7Q!b$Tc#Y%p(Q(W(r(w)X)Y)^)e+u-s-x-}.P.n.q/]0j2v2}3c3s5O5Y6q6v7V9Q:c;x!P<U)[)o-U.w2c2f3h3q3r3w4P6k7W7a7b8`8|9[9b9c:y;R=g!f$Vc#Y%p(Q(W(r(w)U)V)X)Y)^)e+u-s-x-}.P.n.q/]0j2v2}3c3s5O5Y6q6v7V9Q:c;x!T<W)[)o-U.w2c2f3h3n3o3q3r3w4P6k7W7a7b8`8|9[9b9c:y;R=g!^$Zc#Y%p(Q(W(r(w)^)e+u-s-x-}.P.n.q/]0j2v2}3c3s5O5Y6q6v7V9Q:c;xQ4V/fz=s)[)o-U.w2c2f3h3w4P6k7W7a7b8`8|9[9b9c:y;R=gQ=x=zR=y={'QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%l%s&Q&i&l&m&p&r&s&u&y'R'V'`'p(R(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sS$oh$pR3|/P'XgOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%l%s&Q&i&l&m&p&r&s&u&y'R'V'`'p(R(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/P/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sT$kf$qQ$ifS)h$l)lR)t$qT$jf$qT)j$l)l'XhOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%l%s&Q&i&l&m&p&r&s&u&y'R'V'`'p(R(T(Z(b(v(x(|)q){*f+U+Y+d,k,n,s-P-S-d-l-z.Q.b.o.v/P/Q/i0V0d0l0|1j1z1{1}2P2S2V2X2h2x3O3[3d3{4q5m5y6Z6[6_6i6r7Q8i8x9S9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=sT$oh$pQ$rhR)s$p%^jOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%l%s&Q&i&l&m&p&r&s&u&y'R'`'p(R(T(Z(b(v(x(|){*f+U+Y+d,k,n,s-d-l-z.Q.b.o.v/i0V0d0l0|1j1z1{1}2P2S2V2X2x3O3[3d4q5y6Z6[6_6r7Q8i8x9S!s=q$Z$n'V)q-P-S/Q2h3{5m6i9}:a;v;y;z;}<O<P<Q<R<S<T<U<V<W<X<Y<Z<]<`<m<p<q<s<{<|=V=W=s#glOPXZst!Z!`!o#S#d#o#{$n%l&i&l&m&p&r&s&u&y'R'`(|)q*f+Y+d,k,n,s-d.b/Q/i0V0d1j1z1{1}2P2S2V2X3[3{4q5y6Z6[6_7Q8i8x!U%Ri$d%O%Q%]%^%b*P*R*^*t*u.z/r0Y0[0g0h0i4V4w7|9e=p=x=y#f(u#v$b$c$x${)w*T*W*d+c+f+},Q.a/_/h/s/u1^1a1i3Z4U4a4f5R5U5x6|7l7v8Q8f9V9n9t:S:f:t:};V;^<a<c<g<i<k<t<v<y<}=P=R=T=X=|=}Q+P%`Q/^)|o3v<^<_<b<d<h<j<l<u<w<z=O=Q=S=U=Y!U$yi$d%O%Q%]%^%b*P*R*^*t*u.z/r0Y0[0g0h0i4V4w7|9e=p=x=yQ*`$zU*i$|*X*lQ+Q%aQ0Q*j#f=c#v$b$c$x${)w*T*W*d+c+f+},Q.a/_/h/s/u1^1a1i3Z4U4a4f5R5U5x6|7l7v8Q8f9V9n9t:S:f:t:};V;^<a<c<g<i<k<t<v<y<}=P=R=T=X=|=}n=d<^<_<b<d<h<j<l<u<w<z=O=Q=S=U=YQ=h=tQ=i=uQ=j=vR=k=w!U%Ri$d%O%Q%]%^%b*P*R*^*t*u.z/r0Y0[0g0h0i4V4w7|9e=p=x=y#f(u#v$b$c$x${)w*T*W*d+c+f+},Q.a/_/h/s/u1^1a1i3Z4U4a4f5R5U5x6|7l7v8Q8f9V9n9t:S:f:t:};V;^<a<c<g<i<k<t<v<y<}=P=R=T=X=|=}o3v<^<_<b<d<h<j<l<u<w<z=O=Q=S=U=YnoOXst!Z#d%l&p&r&s&u,n,s2S2VS*c${*WQ,|&|Q,}'OR4`/s%[%Si#v$b$c$d$x${%O%Q%]%^%b)w*P*R*T*W*^*d*t*u+c+f+},Q.a.z/_/h/r/s/u0Y0[0g0h0i1^1a1i3Z4U4V4a4f4w5R5U5x6|7l7v7|8Q8f9V9e9n9t:S:f:t:};V;^<^<_<a<b<c<d<g<h<i<j<k<l<t<u<v<w<y<z<}=O=P=Q=R=S=T=U=X=Y=p=x=y=|=}Q,P&ZQ1`,RQ5i1_R8]5jV*k$|*X*lU*k$|*X*lT5p1g5qS/y*f/iQ4n0VT7x4q:PQ+g%wQ0P*iQ0x+hQ1m,[Q5|1nQ8k5}Q:V8lR;P:W!U%Oi$d%O%Q%]%^%b*P*R*^*t*u.z/r0Y0[0g0h0i4V4w7|9e=p=x=yx*P$v)c*Q*r+R/q0^0_3y4^4{4|4}7f7z9v:l=b=n=oS0Y*q0Z#f<a#v$b$c$x${)w*T*W*d+c+f+},Q.a/_/h/s/u1^1a1i3Z4U4a4f5R5U5x6|7l7v8Q8f9V9n9t:S:f:t:};V;^<a<c<g<i<k<t<v<y<}=P=R=T=X=|=}n<b<^<_<b<d<h<j<l<u<w<z=O=Q=S=U=Y!d<t(s)a*Y*b.e.h.l/Y/f/v0p1]3`4S4_4c5h7R7U7m7p7}8P9i9q9w:q:u;W;];h=z={`<u3u7X7[7`9]:h:k;kS=P.g3aT=Q7Z9`!U%Qi$d%O%Q%]%^%b*P*R*^*t*u.z/r0Y0[0g0h0i4V4w7|9e=p=x=y|*R$v)c*S*q+R/b/q0^0_3y4^4s4{4|4}7f7z9v:l=b=n=oS0[*r0]#f<c#v$b$c$x${)w*T*W*d+c+f+},Q.a/_/h/s/u1^1a1i3Z4U4a4f5R5U5x6|7l7v8Q8f9V9n9t:S:f:t:};V;^<a<c<g<i<k<t<v<y<}=P=R=T=X=|=}n<d<^<_<b<d<h<j<l<u<w<z=O=Q=S=U=Y!h<v(s)a*Y*b.f.g.l/Y/f/v0p1]3^3`4S4_4c5h7R7S7U7m7p7}8P9i9q9w:q:u;W;];h=z={d<w3u7Y7Z7`9]9^:h:i:k;kS=R.h3bT=S7[9arnOXst!V!Z#d%l&g&p&r&s&u,n,s2S2VQ&d!UR,k&mrnOXst!V!Z#d%l&g&p&r&s&u,n,s2S2VR&d!UQ,T&[R1[+|snOXst!V!Z#d%l&g&p&r&s&u,n,s2S2VQ1h,YS5w1k1lU8e5u5v5zS:R8g8hS:{:Q:TQ;_:|R;i;`Q&k!VR,d&gR6T1tR:Y8nS&P|&UR1T+sQ&p!WR,n&qR,t&vT2T,s2VR,x&wQ,w&wR2^,xQ'w!{R-t'wSsOtQ#dXT%os#dQ#OTR'y#OQ#RUR'{#RQ)y$uR/Z)yQ#UVR(O#UQ#XWU(U#X(V-{Q(V#YR-{(WQ-X'WR2j-XQ.p(wS3e.p3fR3f.qQ-`'^R2n-`Y!rQ'^-`1g5qR'h!rQ.{)cR3z.{U#_W%g*WU(]#_(^-|Q(^#`R-|(XQ-['ZR2l-[t`OXst!V!Z#d%l&g&i&p&r&s&u,n,s2S2VS#hZ%dU#r`#h.VR.V(hQ(i#jQ.S(eW.[(i.S3P6wQ3P.TR6w3QQ)l$lR/R)lQ$phR)r$pQ$`cU)_$`-w<[Q-w;xR<[)oQ/l*ZW4Y/l4Z7j9hU4Z/m/n/oS7j4[4]R9h7k$e*O$v(s)a)c*Y*b*q*r*|*}+R.g.h.j.k.l/Y/b/d/f/q/v0^0_0p1]3^3_3`3u3y4S4^4_4c4s4u4{4|4}5h7R7S7T7U7Z7[7^7_7`7f7m7p7z7}8P9]9^9_9i9q9v9w:h:i:j:k:l:q:u;W;];h;k=b=n=o=z={Q/t*bU4b/t4d7nQ4d/vR7n4cS*l$|*XR0S*lx*Q$v)c*q*r+R/q0^0_3y4^4{4|4}7f7z9v:l=b=n=o!d.e(s)a*Y*b.g.h.l/Y/f/v0p1]3`4S4_4c5h7R7U7m7p7}8P9i9q9w:q:u;W;];h=z={U/c*Q.e7Xa7X3u7Z7[7`9]:h:k;kQ0Z*qQ3a.gU4t0Z3a9`R9`7Z|*S$v)c*q*r+R/b/q0^0_3y4^4s4{4|4}7f7z9v:l=b=n=o!h.f(s)a*Y*b.g.h.l/Y/f/v0p1]3^3`4S4_4c5h7R7S7U7m7p7}8P9i9q9w:q:u;W;];h=z={U/e*S.f7Ye7Y3u7Z7[7`9]9^:h:i:k;kQ0]*rQ3b.hU4v0]3b9aR9a7[Q*w%UR0a*wQ5S0pR8O5SQ+[%jR0o+[Q5l1bS8_5l:OR:O8`Q,V&]R1e,VQ5q1gR8b5qQ1s,aS6R1s8oR8o6TQ1O+oW5_1O5a8V9zQ5a1RQ8V5`R9z8WQ+t&PR1U+tQ2V,sR6c2VYrOXst#dQ&t!ZQ+^%lQ,m&pQ,o&rQ,p&sQ,r&uQ2Q,nS2T,s2VR6b2SQ%npQ&x!_Q&{!aQ&}!bQ'P!cQ'o!uQ+]%kQ+i%yQ+{&VQ,c&kQ,z&zW-k'i'q'r'uQ-r'mQ0R*kQ0y+jS1v,d,gQ2_,yQ2`,|Q2a,}Q2u-jW2w-m-n-q-sQ5W0zQ5d1XQ5g1]Q5{1mQ6V1xQ6a2RU6p2v2y2|Q6s2zQ8R5XQ8Z5fQ8[5hQ8a5pQ8j5|Q8p6US9P6q6uQ9R6tQ9{8XQ:U8kQ:Z8qQ:b9QQ:x9|Q;O:VQ;S:cR;a;PQ%yyQ'b!iQ'm!uU+j%z%{%|Q-R'TU-f'c'd'eS-j'i'sQ/z*gS0z+k+lQ2g-TS2s-g-hQ2z-oS4g/{0OQ5X0{Q6l2mQ6o2tQ6t2{U7q4i4j4mQ9o7sR:r9pS$wi=pR*x%VU%Ui%V=pR0`*vQ$viS(s#v+fS)a$b$cQ)c$dQ*Y$xS*b${*WQ*q%OQ*r%QQ*|%]Q*}%^Q+R%bQ.g<aQ.h<cQ.j<gQ.k<iQ.l<kQ/Y)wQ/b*PQ/d*RQ/f*TQ/q*^S/v*d/hQ0^*tQ0_*ul0p+c,Q.a1a1i3Z5x6|8f9V:S:f:};VQ1]+}Q3^<tQ3_<vQ3`<yS3u<^<_Q3y.zS4S/_4UQ4^/rQ4_/sQ4c/uQ4s0YQ4u0[Q4{0gQ4|0hQ4}0iQ5h1^Q7R<}Q7S=PQ7T=RQ7U=TQ7Z<bQ7[<dQ7^<hQ7_<jQ7`<lQ7f4VQ7m4aQ7p4fQ7z4wQ7}5RQ8P5UQ9]<zQ9^<uQ9_<wQ9i7lQ9q7vQ9v7|Q9w8QQ:h=OQ:i=QQ:j=SQ:k=UQ:l9eQ:q9nQ:u9tQ;W=XQ;]:tQ;h;^Q;k=YQ=b=pQ=n=xQ=o=yQ=z=|R={=}Q*z%[Q.i<eR7]<fnpOXst!Z#d%l&p&r&s&u,n,s2S2VQ!fPS#fZ#oQ&z!`W'f!o*f0V4qQ'}#SQ)O#{Q)p$nS,g&i&lQ,l&mQ,y&yS-O'R/iQ-b'`Q.s(|Q/V)qQ0m+YQ0s+dQ2O,kQ2q-dQ3X.bQ4O/QQ4y0dQ5v1jQ6X1zQ6Y1{Q6^1}Q6`2PQ6e2XQ7P3[Q7c3{Q8h5yQ8t6ZQ8u6[Q8w6_Q9Z7QQ:T8iR:_8x#[cOPXZst!Z!`!o#d#o#{%l&i&l&m&p&r&s&u&y'R'`(|*f+Y+d,k,n,s-d.b/i0V0d1j1z1{1}2P2S2V2X3[4q5y6Z6[6_7Q8i8xQ#YWQ#eYQ%puQ%rvS%tw!gS(Q#W(TQ(W#ZQ(r#uQ(w#xQ)P$OQ)Q$PQ)R$QQ)S$RQ)T$SQ)U$TQ)V$UQ)W$VQ)X$WQ)Y$XQ)[$ZQ)^$_Q)`$aQ)e$eW)o$n)q/Q3{Q+a%sQ+u&QS-U'V2hQ-s'pS-x(R-zQ-}(ZQ.P(bQ.n(vQ.q(xQ.u;vQ.w;yQ.x;zQ.y;}Q/]){Q0j+UQ2c-PQ2f-SQ2v-lQ2}.QQ3c.oQ3h<OQ3i<PQ3j<QQ3k<RQ3l<SQ3m<TQ3n<UQ3o<VQ3p<WQ3q<XQ3r<YQ3s.vQ3t<]Q3w<`Q3x<mQ4P<ZQ5O0lQ5Y0|Q6k<pQ6q2xQ6v3OQ7V3dQ7W<qQ7a<sQ7b<{Q8`5mQ8|6iQ9Q6rQ9[<|Q9b=VQ9c=WQ:c9SQ:y9}Q;R:aQ;x#SR=g=sR#[WR'X!el!tQ!r!v!y!z'^'j'k'l-`-p1g5q5sS'T!e-WU*g$|*X*lS-T'U']S0O*h*nQ0W*oQ2m-^Q4m0UR4r0XR(y#xQ!fQT-_'^-`]!qQ!r'^-`1g5qQ#p]R'g;wR)d$dY!uQ'^-`1g5qQ'i!rS's!v!yS'u!z5sS-o'j'kQ-q'lR2{-pT#kZ%dS#jZ%dS%jm,jU(e#h#i#lS.T(f(gQ.X(hQ0n+ZQ3Q.UU3R.V.W.YS6x3S3TR9T6yd#^W#W#Z%g(R([*W+W.O/hr#gZm#h#i#l%d(f(g(h+Z.U.V.W.Y3S3T6yS*Z$x*_Q/o*[Q1|,jQ2d-QQ4W/kQ6g2[Q7i4XQ8{6hT=_'V+XV#aW%g*WU#`W%g*WS(S#W([U(X#Z+W/hS-V'V+XT-y(R.OV'[!e%h*XQ$lfR)v$qT)k$l)lR3}/PT*]$x*_T*e${*WQ0q+cQ1_,QQ3V.aQ5j1aQ5u1iQ6}3ZQ8g5xQ9W6|Q:Q8fQ:d9VQ:|:SQ;U:fQ;`:}R;c;VnqOXst!Z#d%l&p&r&s&u,n,s2S2VQ&j!VR,c>mOXst!U!V!Z#d%l&g&p&r&s&u,n,s2S2VR,j&mT%km,jR1c,SR,b&eQ&T|R+z&UR+p&OT&n!W&qT&o!W&qT2U,s2V",nodeNames:"\u26A0 ArithOp ArithOp ?. JSXStartTag LineComment BlockComment Script Hashbang ExportDeclaration export Star as VariableName String Escape from ; default FunctionDeclaration async function VariableDefinition > < TypeParamList in out const TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewTarget new NewExpression ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression TypeArgList CompareOp < declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression InstantiationExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast < ArrowFunction TypeParamList SequenceExpression InstantiationExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate asserts is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:379,context:Cz,nodeProps:[["isolate",-8,5,6,14,37,39,51,53,55,""],["group",-26,9,17,19,68,207,211,215,216,218,221,224,234,236,242,244,246,248,251,257,263,265,267,269,271,273,274,"Statement",-34,13,14,32,35,36,42,51,54,55,57,62,70,72,76,80,82,84,85,110,111,120,121,136,139,141,142,143,144,145,147,148,167,169,171,"Expression",-23,31,33,37,41,43,45,173,175,177,178,180,181,182,184,185,186,188,189,190,201,203,205,206,"Type",-3,88,103,109,"ClassItem"],["openedBy",23,"<",38,"InterpolationStart",56,"[",60,"{",73,"(",160,"JSXStartCloseTag"],["closedBy",-2,24,168,">",40,"InterpolationEnd",50,"]",61,"}",74,")",165,"JSXEndTag"]],propSources:[Yz],skippedNodes:[0,5,6,277],repeatNodeCount:37,tokenData:"$Fq07[R!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#:O!R![#<_![!]#I_!]!^#Jk!^!_#Ku!_!`$![!`!a$$v!a!b$*T!b!c$,r!c!}Er!}#O$-|#O#P$/W#P#Q$4o#Q#R$5y#R#SEr#S#T$7W#T#o$8b#o#p$<r#p#q$=h#q#r$>x#r#s$@U#s$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$I|Er$I|$I}$Dk$I}$JO$Dk$JO$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr(n%d_$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$i&j(Y!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(Y!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$i&j(VpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU(VpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX(Vp(Y!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z07[+rq$i&j(Vp(Y!b'{0/lOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z07[.ST(W#S$i&j'|0/lO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c07[.n_$i&j(Vp(Y!b'|0/lOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)3p/x`$i&j!p),Q(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW1V`#v(Ch$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW2d_#v(Ch$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At3l_(U':f$i&j(Y!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k(^4r_$i&j(Y!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k&z5vX$i&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q&z6jT$d`$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c`6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y`7bO$d``7eP;=`<%l6y&z7kP;=`<%l5q(^7w]$d`$i&j(Y!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!r8uZ(Y!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p!r9oU$d`(Y!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!r:UP;=`<%l8p(^:[P;=`<%l4k%9[:hh$i&j(Vp(Y!bOY%ZYZ&cZq%Zqr<Srs&}st%ZtuCruw%Zwx(rx!^%Z!^!_*g!_!c%Z!c!}Cr!}#O%Z#O#P&c#P#R%Z#R#SCr#S#T%Z#T#oCr#o#p*g#p$g%Z$g;'SCr;'S;=`El<%lOCr(r<__WS$i&j(Vp(Y!bOY<SYZ&cZr<Srs=^sw<Swx@nx!^<S!^!_Bm!_#O<S#O#P>`#P#o<S#o#pBm#p;'S<S;'S;=`Cl<%lO<S(Q=g]WS$i&j(Y!bOY=^YZ&cZw=^wx>`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXWS$i&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSWSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWWS(Y!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]WS$i&j(VpOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWWS(VpOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYWS(Vp(Y!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l<S%9[C}i$i&j(n%1l(Vp(Y!bOY%ZYZ&cZr%Zrs&}st%ZtuCruw%Zwx(rx!Q%Z!Q![Cr![!^%Z!^!_*g!_!c%Z!c!}Cr!}#O%Z#O#P&c#P#R%Z#R#SCr#S#T%Z#T#oCr#o#p*g#p$g%Z$g;'SCr;'S;=`El<%lOCr%9[EoP;=`<%lCr07[FRk$i&j(Vp(Y!b$]#t(S,2j(d$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr+dHRk$i&j(Vp(Y!b$]#tOY%ZYZ&cZr%Zrs&}st%ZtuGvuw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Gv![!^%Z!^!_*g!_!c%Z!c!}Gv!}#O%Z#O#P&c#P#R%Z#R#SGv#S#T%Z#T#oGv#o#p*g#p$g%Z$g;'SGv;'S;=`Iv<%lOGv+dIyP;=`<%lGv07[JPP;=`<%lEr(KWJ_`$i&j(Vp(Y!b#p(ChOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KWKl_$i&j$Q(Ch(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z,#xLva(y+JY$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sv%ZvwM{wx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KWNW`$i&j#z(Ch(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At! c_(X';W$i&j(VpOY!!bYZ!#hZr!!brs!#hsw!!bwx!$xx!^!!b!^!_!%z!_#O!!b#O#P!#h#P#o!!b#o#p!%z#p;'S!!b;'S;=`!'c<%lO!!b'l!!i_$i&j(VpOY!!bYZ!#hZr!!brs!#hsw!!bwx!$xx!^!!b!^!_!%z!_#O!!b#O#P!#h#P#o!!b#o#p!%z#p;'S!!b;'S;=`!'c<%lO!!b&z!#mX$i&jOw!#hwx6cx!^!#h!^!_!$Y!_#o!#h#o#p!$Y#p;'S!#h;'S;=`!$r<%lO!#h`!$]TOw!$Ywx7]x;'S!$Y;'S;=`!$l<%lO!$Y`!$oP;=`<%l!$Y&z!$uP;=`<%l!#h'l!%R]$d`$i&j(VpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(r!Q!&PZ(VpOY!%zYZ!$YZr!%zrs!$Ysw!%zwx!&rx#O!%z#O#P!$Y#P;'S!%z;'S;=`!']<%lO!%z!Q!&yU$d`(VpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)r!Q!'`P;=`<%l!%z'l!'fP;=`<%l!!b/5|!'t_!l/.^$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#&U!)O_!k!Lf$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z-!n!*[b$i&j(Vp(Y!b(T%&f#q(ChOY%ZYZ&cZr%Zrs&}sw%Zwx(rxz%Zz{!+d{!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW!+o`$i&j(Vp(Y!b#n(ChOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z+;x!,|`$i&j(Vp(Y!br+4YOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z,$U!.Z_!]+Jf$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[!/ec$i&j(Vp(Y!b!Q.2^OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!0p!P!Q%Z!Q![!3Y![!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#%|!0ya$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!2O!P!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#%|!2Z_![!L^$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!3eg$i&j(Vp(Y!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!3Y![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S!3Y#S#X%Z#X#Y!4|#Y#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!5Vg$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx{%Z{|!6n|}%Z}!O!6n!O!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!6wc$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!8_c$i&j(Vp(Y!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[!9uf$i&j(Vp(Y!b#o(ChOY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcxz!;Zz{#-}{!P!;Z!P!Q#/d!Q!^!;Z!^!_#(i!_!`#7S!`!a#8i!a!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z?O!;fb$i&j(Vp(Y!b!X7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z>^!<w`$i&j(Y!b!X7`OY!<nYZ&cZw!<nwx!=yx!P!<n!P!Q!Eq!Q!^!<n!^!_!Gr!_!}!<n!}#O!KS#O#P!Dy#P#o!<n#o#p!Gr#p;'S!<n;'S;=`!L]<%lO!<n<z!>Q^$i&j!X7`OY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@c!_!}!=y!}#O!CW#O#P!Dy#P#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y<z!?Td$i&j!X7`O!^&c!_#W&c#W#X!>|#X#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#k!>|#k#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&c7`!@hX!X7`OY!@cZ!P!@c!P!Q!AT!Q!}!@c!}#O!Ar#O#P!Bq#P;'S!@c;'S;=`!CQ<%lO!@c7`!AYW!X7`#W#X!AT#Z#[!AT#]#^!AT#a#b!AT#g#h!AT#i#j!AT#j#k!AT#m#n!AT7`!AuVOY!ArZ#O!Ar#O#P!B[#P#Q!@c#Q;'S!Ar;'S;=`!Bk<%lO!Ar7`!B_SOY!ArZ;'S!Ar;'S;=`!Bk<%lO!Ar7`!BnP;=`<%l!Ar7`!BtSOY!@cZ;'S!@c;'S;=`!CQ<%lO!@c7`!CTP;=`<%l!@c<z!C][$i&jOY!CWYZ&cZ!^!CW!^!_!Ar!_#O!CW#O#P!DR#P#Q!=y#Q#o!CW#o#p!Ar#p;'S!CW;'S;=`!Ds<%lO!CW<z!DWX$i&jOY!CWYZ&cZ!^!CW!^!_!Ar!_#o!CW#o#p!Ar#p;'S!CW;'S;=`!Ds<%lO!CW<z!DvP;=`<%l!CW<z!EOX$i&jOY!=yYZ&cZ!^!=y!^!_!@c!_#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y<z!EnP;=`<%l!=y>^!Ezl$i&j(Y!b!X7`OY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#W&}#W#X!Eq#X#Z&}#Z#[!Eq#[#]&}#]#^!Eq#^#a&}#a#b!Eq#b#g&}#g#h!Eq#h#i&}#i#j!Eq#j#k!Eq#k#m&}#m#n!Eq#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}8r!GyZ(Y!b!X7`OY!GrZw!Grwx!@cx!P!Gr!P!Q!Hl!Q!}!Gr!}#O!JU#O#P!Bq#P;'S!Gr;'S;=`!J|<%lO!Gr8r!Hse(Y!b!X7`OY'}Zw'}x#O'}#P#W'}#W#X!Hl#X#Z'}#Z#[!Hl#[#]'}#]#^!Hl#^#a'}#a#b!Hl#b#g'}#g#h!Hl#h#i'}#i#j!Hl#j#k!Hl#k#m'}#m#n!Hl#n;'S'};'S;=`(f<%lO'}8r!JZX(Y!bOY!JUZw!JUwx!Arx#O!JU#O#P!B[#P#Q!Gr#Q;'S!JU;'S;=`!Jv<%lO!JU8r!JyP;=`<%l!JU8r!KPP;=`<%l!Gr>^!KZ^$i&j(Y!bOY!KSYZ&cZw!KSwx!CWx!^!KS!^!_!JU!_#O!KS#O#P!DR#P#Q!<n#Q#o!KS#o#p!JU#p;'S!KS;'S;=`!LV<%lO!KS>^!LYP;=`<%l!KS>^!L`P;=`<%l!<n=l!Ll`$i&j(Vp!X7`OY!LcYZ&cZr!Lcrs!=ys!P!Lc!P!Q!Mn!Q!^!Lc!^!_# o!_!}!Lc!}#O#%P#O#P!Dy#P#o!Lc#o#p# o#p;'S!Lc;'S;=`#&Y<%lO!Lc=l!Mwl$i&j(Vp!X7`OY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#W(r#W#X!Mn#X#Z(r#Z#[!Mn#[#](r#]#^!Mn#^#a(r#a#b!Mn#b#g(r#g#h!Mn#h#i(r#i#j!Mn#j#k!Mn#k#m(r#m#n!Mn#n#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(r8Q# vZ(Vp!X7`OY# oZr# ors!@cs!P# o!P!Q#!i!Q!}# o!}#O#$R#O#P!Bq#P;'S# o;'S;=`#$y<%lO# o8Q#!pe(Vp!X7`OY)rZr)rs#O)r#P#W)r#W#X#!i#X#Z)r#Z#[#!i#[#])r#]#^#!i#^#a)r#a#b#!i#b#g)r#g#h#!i#h#i)r#i#j#!i#j#k#!i#k#m)r#m#n#!i#n;'S)r;'S;=`*Z<%lO)r8Q#$WX(VpOY#$RZr#$Rrs!Ars#O#$R#O#P!B[#P#Q# o#Q;'S#$R;'S;=`#$s<%lO#$R8Q#$vP;=`<%l#$R8Q#$|P;=`<%l# o=l#%W^$i&j(VpOY#%PYZ&cZr#%Prs!CWs!^#%P!^!_#$R!_#O#%P#O#P!DR#P#Q!Lc#Q#o#%P#o#p#$R#p;'S#%P;'S;=`#&S<%lO#%P=l#&VP;=`<%l#%P=l#&]P;=`<%l!Lc?O#&kn$i&j(Vp(Y!b!X7`OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#W%Z#W#X#&`#X#Z%Z#Z#[#&`#[#]%Z#]#^#&`#^#a%Z#a#b#&`#b#g%Z#g#h#&`#h#i%Z#i#j#&`#j#k#&`#k#m%Z#m#n#&`#n#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z9d#(r](Vp(Y!b!X7`OY#(iZr#(irs!Grsw#(iwx# ox!P#(i!P!Q#)k!Q!}#(i!}#O#+`#O#P!Bq#P;'S#(i;'S;=`#,`<%lO#(i9d#)th(Vp(Y!b!X7`OY*gZr*grs'}sw*gwx)rx#O*g#P#W*g#W#X#)k#X#Z*g#Z#[#)k#[#]*g#]#^#)k#^#a*g#a#b#)k#b#g*g#g#h#)k#h#i*g#i#j#)k#j#k#)k#k#m*g#m#n#)k#n;'S*g;'S;=`+Z<%lO*g9d#+gZ(Vp(Y!bOY#+`Zr#+`rs!JUsw#+`wx#$Rx#O#+`#O#P!B[#P#Q#(i#Q;'S#+`;'S;=`#,Y<%lO#+`9d#,]P;=`<%l#+`9d#,cP;=`<%l#(i?O#,o`$i&j(Vp(Y!bOY#,fYZ&cZr#,frs!KSsw#,fwx#%Px!^#,f!^!_#+`!_#O#,f#O#P!DR#P#Q!;Z#Q#o#,f#o#p#+`#p;'S#,f;'S;=`#-q<%lO#,f?O#-tP;=`<%l#,f?O#-zP;=`<%l!;Z07[#.[b$i&j(Vp(Y!b'}0/l!X7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z07[#/o_$i&j(Vp(Y!bT0/lOY#/dYZ&cZr#/drs#0nsw#/dwx#4Ox!^#/d!^!_#5}!_#O#/d#O#P#1p#P#o#/d#o#p#5}#p;'S#/d;'S;=`#6|<%lO#/d06j#0w]$i&j(Y!bT0/lOY#0nYZ&cZw#0nwx#1px!^#0n!^!_#3R!_#O#0n#O#P#1p#P#o#0n#o#p#3R#p;'S#0n;'S;=`#3x<%lO#0n05W#1wX$i&jT0/lOY#1pYZ&cZ!^#1p!^!_#2d!_#o#1p#o#p#2d#p;'S#1p;'S;=`#2{<%lO#1p0/l#2iST0/lOY#2dZ;'S#2d;'S;=`#2u<%lO#2d0/l#2xP;=`<%l#2d05W#3OP;=`<%l#1p01O#3YW(Y!bT0/lOY#3RZw#3Rwx#2dx#O#3R#O#P#2d#P;'S#3R;'S;=`#3r<%lO#3R01O#3uP;=`<%l#3R06j#3{P;=`<%l#0n05x#4X]$i&j(VpT0/lOY#4OYZ&cZr#4Ors#1ps!^#4O!^!_#5Q!_#O#4O#O#P#1p#P#o#4O#o#p#5Q#p;'S#4O;'S;=`#5w<%lO#4O00^#5XW(VpT0/lOY#5QZr#5Qrs#2ds#O#5Q#O#P#2d#P;'S#5Q;'S;=`#5q<%lO#5Q00^#5tP;=`<%l#5Q05x#5zP;=`<%l#4O01p#6WY(Vp(Y!bT0/lOY#5}Zr#5}rs#3Rsw#5}wx#5Qx#O#5}#O#P#2d#P;'S#5};'S;=`#6v<%lO#5}01p#6yP;=`<%l#5}07[#7PP;=`<%l#/d)3h#7ab$i&j$Q(Ch(Vp(Y!b!X7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;ZAt#8vb$Z#t$i&j(Vp(Y!b!X7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z'Ad#:Zp$i&j(Vp(Y!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!3Y!P!Q%Z!Q![#<_![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S#<_#S#U%Z#U#V#?i#V#X%Z#X#Y!4|#Y#b%Z#b#c#>_#c#d#Bq#d#l%Z#l#m#Es#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#<jk$i&j(Vp(Y!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!3Y!P!Q%Z!Q![#<_![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S#<_#S#X%Z#X#Y!4|#Y#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#>j_$i&j(Vp(Y!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#?rd$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#A]f$i&j(Vp(Y!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Bzc$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Dbe$i&j(Vp(Y!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#E|g$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Gpi$i&j(Vp(Y!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x#Il_!g$b$i&j$O)Lv(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#Jv_al$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f#LS^h#)`#R-<U(Vp(Y!b$n7`OY*gZr*grs'}sw*gwx)rx!P*g!P!Q#MO!Q!^*g!^!_#Mt!_!`$ f!`#O*g#P;'S*g;'S;=`+Z<%lO*g(n#MXX$k&j(Vp(Y!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g(El#M}Z#r(Ch(Vp(Y!bOY*gZr*grs'}sw*gwx)rx!_*g!_!`#Np!`#O*g#P;'S*g;'S;=`+Z<%lO*g(El#NyX$Q(Ch(Vp(Y!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g(El$ oX#s(Ch(Vp(Y!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g*)x$!ga#`*!Y$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`!a$#l!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(K[$#w_#k(Cl$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x$%Vag!*r#s(Ch$f#|$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`$&[!`!a$'f!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$&g_#s(Ch$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$'qa#r(Ch$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`!a$(v!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$)R`#r(Ch$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(Kd$*`a(q(Ct$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!a%Z!a!b$+e!b#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$+p`$i&j#{(Ch(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#`$,}_!|$Ip$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f$.X_!S0,v$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(n$/]Z$i&jO!^$0O!^!_$0f!_#i$0O#i#j$0k#j#l$0O#l#m$2^#m#o$0O#o#p$0f#p;'S$0O;'S;=`$4i<%lO$0O(n$0VT_#S$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c#S$0kO_#S(n$0p[$i&jO!Q&c!Q![$1f![!^&c!_!c&c!c!i$1f!i#T&c#T#Z$1f#Z#o&c#o#p$3|#p;'S&c;'S;=`&w<%lO&c(n$1kZ$i&jO!Q&c!Q![$2^![!^&c!_!c&c!c!i$2^!i#T&c#T#Z$2^#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$2cZ$i&jO!Q&c!Q![$3U![!^&c!_!c&c!c!i$3U!i#T&c#T#Z$3U#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$3ZZ$i&jO!Q&c!Q![$0O![!^&c!_!c&c!c!i$0O!i#T&c#T#Z$0O#Z#o&c#p;'S&c;'S;=`&w<%lO&c#S$4PR!Q![$4Y!c!i$4Y#T#Z$4Y#S$4]S!Q![$4Y!c!i$4Y#T#Z$4Y#q#r$0f(n$4lP;=`<%l$0O#1[$4z_!Y#)l$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$6U`#x(Ch$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z+;p$7c_$i&j(Vp(Y!b(`+4QOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$8qk$i&j(Vp(Y!b(S,2j$_#t(d$I[OY%ZYZ&cZr%Zrs&}st%Ztu$8buw%Zwx(rx}%Z}!O$:f!O!Q%Z!Q![$8b![!^%Z!^!_*g!_!c%Z!c!}$8b!}#O%Z#O#P&c#P#R%Z#R#S$8b#S#T%Z#T#o$8b#o#p*g#p$g%Z$g;'S$8b;'S;=`$<l<%lO$8b+d$:qk$i&j(Vp(Y!b$_#tOY%ZYZ&cZr%Zrs&}st%Ztu$:fuw%Zwx(rx}%Z}!O$:f!O!Q%Z!Q![$:f![!^%Z!^!_*g!_!c%Z!c!}$:f!}#O%Z#O#P&c#P#R%Z#R#S$:f#S#T%Z#T#o$:f#o#p*g#p$g%Z$g;'S$:f;'S;=`$<f<%lO$:f+d$<iP;=`<%l$:f07[$<oP;=`<%l$8b#Jf$<{X!_#Hb(Vp(Y!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g,#x$=sa(x+JY$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p#q$+e#q;'S%Z;'S;=`+a<%lO%Z)>v$?V_!^(CdvBr$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z?O$@a_!q7`$i&j(Vp(Y!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$Aq|$i&j(Vp(Y!b'{0/l$]#t(S,2j(d$I[OX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr07[$D|k$i&j(Vp(Y!b'|0/l$]#t(S,2j(d$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr",tokenizers:[Zz,Vz,Az,jz,2,3,4,5,6,7,8,9,10,11,12,13,14,Wz,new xi("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOx~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!U~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(b~~",141,339),new xi("j~RQYZXz{^~^O(P~~aP!P!Qd~iO(Q~~",25,322)],topRules:{Script:[0,7],SingleExpression:[1,275],SingleClassItem:[2,276]},dialects:{jsx:0,ts:15098},dynamicPrecedences:{80:1,82:1,94:1,169:1,199:1},specialized:[{term:326,get:i=>Uz[i]||-1},{term:342,get:i=>Mz[i]||-1},{term:95,get:i=>Ez[i]||-1}],tokenPrec:15124});var _Q=[Ue("function ${name}(${params}) {\n ${}\n}",{label:"function",detail:"definition",type:"keyword"}),Ue("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),Ue("for (let ${name} of ${collection}) {\n ${}\n}",{label:"for",detail:"of loop",type:"keyword"}),Ue("do {\n ${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),Ue("while (${}) {\n ${}\n}",{label:"while",detail:"loop",type:"keyword"}),Ue(`try { 63 63 \${} 64 64 } catch (\${error}) { … … 72 72 \${} 73 73 } 74 }`,{label:"class",detail:"definition",type:"keyword"}),Ue('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),Ue('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})], Ez=zQ.concat([Ue("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),Ue("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),Ue("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),PQ=new Cn,XQ=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function Qs(i){return(e,t)=>{let n=e.node.getChild("VariableDefinition");return n&&t(n,i),!0}}var Dz=["FunctionDeclaration"],Lz={FunctionDeclaration:Qs("function"),ClassDeclaration:Qs("class"),ClassExpression:()=>!0,EnumDeclaration:Qs("constant"),TypeAliasDeclaration:Qs("type"),NamespaceDeclaration:Qs("namespace"),VariableDefinition(i,e){i.matchContext(Dz)||e(i,"variable")},TypeDefinition(i,e){e(i,"type")},__proto__:null};function RQ(i,e){let t=PQ.get(e);if(t)return t;let n=[],r=!0;function s(o,a){let l=i.sliceString(o.from,o.to);n.push({label:l,type:a})}return e.cursor(H.IncludeAnonymous).iterate(o=>{if(r)r=!1;else if(o.name){let a=Lz[o.name];if(a&&a(o,s)||XQ.has(o.name))return!1}else if(o.to-o.from>8192){for(let a of RQ(i,o.node))n.push(a);return!1}}),PQ.set(e,n),n}var kQ=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,qQ=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function Gz(i){let e=ae(i.state).resolveInner(i.pos,-1);if(qQ.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&kQ.test(i.state.sliceDoc(e.from,e.to));if(!t&&!i.explicit)return null;let n=[];for(let r=e;r;r=r.parent)XQ.has(r.name)&&(n=n.concat(RQ(i.state.doc,r)));return{options:n,from:t?e.from:i.pos,validFor:kQ}}var St=Ct.define({name:"javascript",parser:wQ.configure({props:[Ft.add({IfStatement:Zt({except:/^\s*({|else\b)/}),TryStatement:Zt({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:Eg,SwitchBody:i=>{let e=i.textAfter,t=/^\s*\}/.test(e),n=/^\s*(case|default)\b/.test(e);return i.baseIndent+(t?0:n?1:2)*i.unit},Block:pa({closing:"}"}),ArrowFunction:i=>i.baseIndent+i.unit,"TemplateString BlockComment":()=>null,"Statement Property":Zt({except:/^\s*{/}),JSXElement(i){let e=/^\s*<\//.test(i.textAfter);return i.lineIndent(i.node.from)+(e?0:i.unit)},JSXEscape(i){let e=/\s*\}/.test(i.textAfter);return i.lineIndent(i.node.from)+(e?0:i.unit)},"JSXOpenTag JSXSelfClosingTag"(i){return i.column(i.node.from)+i.unit}}),Ht.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":Yn,BlockComment(i){return{from:i.from+2,to:i.to-2}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),_Q={test:i=>/^JSX/.test(i.name),facet:ch({commentTokens:{block:{open:"{/*",close:"*/}"}}})},xf=St.configure({dialect:"ts"},"typescript"),vf=St.configure({dialect:"jsx",props:[ua.add(i=>i.isTop?[_Q]:void 0)]}),wf=St.configure({dialect:"jsx ts",props:[ua.add(i=>i.isTop?[_Q]:void 0)]},"typescript"),CQ=i=>({label:i,type:"keyword"}),WQ="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(CQ),Bz=WQ.concat(["declare","implements","private","protected","public"].map(CQ));function ZQ(i={}){let e=i.jsx?i.typescript?wf:vf:i.typescript?xf:St,t=i.typescript?Ez.concat(Bz):zQ.concat(WQ);return new Wt(e,[St.data.of({autocomplete:dy(qQ,Mh(t))}),St.data.of({autocomplete:Gz}),i.jsx?Fz:[]])}function Iz(i){for(;;){if(i.name=="JSXOpenTag"||i.name=="JSXSelfClosingTag"||i.name=="JSXFragmentTag")return i;if(i.name=="JSXEscape"||!i.parent)return null;i=i.parent}}function TQ(i,e,t=i.length){for(let n=e?.firstChild;n;n=n.nextSibling)if(n.name=="JSXIdentifier"||n.name=="JSXBuiltin"||n.name=="JSXNamespacedName"||n.name=="JSXMemberExpression")return i.sliceString(n.from,Math.min(n.to,t));return""}var Nz=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),Fz=T.inputHandler.of((i,e,t,n,r)=>{if((Nz?i.composing:i.compositionStarted)||i.state.readOnly||e!=t||n!=">"&&n!="/"||!St.isActiveAt(i.state,e,-1))return!1;let s=r(),{state:o}=s,a=o.changeByRange(l=>{var O;let{head:c}=l,h=ae(o).resolveInner(c-1,-1),f;if(h.name=="JSXStartTag"&&(h=h.parent),!(o.doc.sliceString(c-1,c)!=n||h.name=="JSXAttributeValue"&&h.to>c)){if(n==">"&&h.name=="JSXFragmentTag")return{range:l,changes:{from:c,insert:"</>"}};if(n=="/"&&h.name=="JSXStartCloseTag"){let u=h.parent,d=u.parent;if(d&&u.from==c-2&&((f=TQ(o.doc,d.firstChild,c))||((O=d.firstChild)===null||O===void 0?void 0:O.name)=="JSXFragmentTag")){let p=`${f}>`;return{range:P.cursor(c+p.length,-1),changes:{from:c,insert:p}}}}else if(n==">"){let u=Iz(h);if(u&&u.name=="JSXOpenTag"&&!/^\/?>|^<\//.test(o.doc.sliceString(c,c+2))&&(f=TQ(o.doc,u,c)))return{range:l,changes:{from:c,insert:`</${f}>`}}}}return{range:l}});return a.changes.empty?!1:(i.dispatch([s,o.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var Ss=["_blank","_self","_top","_parent"],Pf=["ascii","utf-8","utf-16","latin1","latin1"],kf=["get","post","put","delete"],Tf=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],st=["true","false"],_={},Hz={a:{attrs:{href:null,ping:null,type:null,media:null,target:Ss,hreflang:null}},abbr:_,address:_,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:_,aside:_,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:_,base:{attrs:{href:null,target:Ss}},bdi:_,bdo:_,blockquote:{attrs:{cite:null}},body:_,br:_,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:Tf,formmethod:kf,formnovalidate:["novalidate"],formtarget:Ss,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:_,center:_,cite:_,code:_,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:_,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:_,div:_,dl:_,dt:_,em:_,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:_,figure:_,footer:_,form:{attrs:{action:null,name:null,"accept-charset":Pf,autocomplete:["on","off"],enctype:Tf,method:kf,novalidate:["novalidate"],target:Ss}},h1:_,h2:_,h3:_,h4:_,h5:_,h6:_,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:_,hgroup:_,hr:_,html:{attrs:{manifest:null}},i:_,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:Tf,formmethod:kf,formnovalidate:["novalidate"],formtarget:Ss,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:_,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:_,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:_,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:Pf,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:_,noscript:_,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:_,param:{attrs:{name:null,value:null}},pre:_,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:_,rt:_,ruby:_,samp:_,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:Pf}},section:_,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:_,source:{attrs:{src:null,type:null,media:null}},span:_,strong:_,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:_,summary:_,sup:_,table:_,tbody:_,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:_,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:_,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:_,time:{attrs:{datetime:null}},title:_,tr:_,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:_,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:_},YQ={accesskey:null,class:null,contenteditable:st,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:st,autocorrect:st,autocapitalize:st,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":st,"aria-autocomplete":["inline","list","both","none"],"aria-busy":st,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":st,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":st,"aria-hidden":st,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":st,"aria-multiselectable":st,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":st,"aria-relevant":null,"aria-required":st,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},UQ="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map(i=>"on"+i);for(let i of UQ)YQ[i]=null;var Nn=class{constructor(e,t){this.tags=Object.assign(Object.assign({},Hz),e),this.globalAttrs=Object.assign(Object.assign({},YQ),t),this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}};Nn.default=new Nn;function Fn(i,e,t=i.length){if(!e)return"";let n=e.firstChild,r=n&&n.getChild("TagName");return r?i.sliceString(r.from,Math.min(r.to,t)):""}function Hn(i,e=!1){for(;i;i=i.parent)if(i.name=="Element")if(e)e=!1;else return i;return null}function MQ(i,e,t){let n=t.tags[Fn(i,Hn(e))];return n?.children||t.allTags}function zf(i,e){let t=[];for(let n=Hn(e);n&&!n.type.isTop;n=Hn(n.parent)){let r=Fn(i,n);if(r&&n.lastChild.name=="CloseTag")break;r&&t.indexOf(r)<0&&(e.name=="EndTag"||e.from>=n.firstChild.to)&&t.push(r)}return t}var EQ=/^[:\-\.\w\u00b7-\uffff]*$/;function VQ(i,e,t,n,r){let s=/\s*>/.test(i.sliceDoc(r,r+5))?"":">",o=Hn(t,!0);return{from:n,to:r,options:MQ(i.doc,o,e).map(a=>({label:a,type:"type"})).concat(zf(i.doc,t).map((a,l)=>({label:"/"+a,apply:"/"+a+s,type:"type",boost:99-l}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function AQ(i,e,t,n){let r=/\s*>/.test(i.sliceDoc(n,n+5))?"":">";return{from:t,to:n,options:zf(i.doc,e).map((s,o)=>({label:s,apply:s+r,type:"type",boost:99-o})),validFor:EQ}}function Kz(i,e,t,n){let r=[],s=0;for(let o of MQ(i.doc,t,e))r.push({label:"<"+o,type:"type"});for(let o of zf(i.doc,t))r.push({label:"</"+o+">",type:"type",boost:99-s++});return{from:n,to:n,options:r,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function Jz(i,e,t,n,r){let s=Hn(t),o=s?e.tags[Fn(i.doc,s)]:null,a=o&&o.attrs?Object.keys(o.attrs):[],l=o&&o.globalAttrs===!1?a:a.length?a.concat(e.globalAttrNames):e.globalAttrNames;return{from:n,to:r,options:l.map(O=>({label:O,type:"property"})),validFor:EQ}}function e5(i,e,t,n,r){var s;let o=(s=t.parent)===null||s===void 0?void 0:s.getChild("AttributeName"),a=[],l;if(o){let O=i.sliceDoc(o.from,o.to),c=e.globalAttrs[O];if(!c){let h=Hn(t),f=h?e.tags[Fn(i.doc,h)]:null;c=f?.attrs&&f.attrs[O]}if(c){let h=i.sliceDoc(n,r).toLowerCase(),f='"',u='"';/^['"]/.test(h)?(l=h[0]=='"'?/^[^"]*$/:/^[^']*$/,f="",u=i.sliceDoc(r,r+1)==h[0]?"":h[0],h=h.slice(1),n++):l=/^[^\s<>='"]*$/;for(let d of c)a.push({label:d,apply:f+d+u,type:"constant"})}}return{from:n,to:r,options:a,validFor:l}}function t5(i,e){let{state:t,pos:n}=e,r=ae(t).resolveInner(n,-1),s=r.resolve(n);for(let o=n,a;s==r&&(a=r.childBefore(o));){let l=a.lastChild;if(!l||!l.type.isError||l.from<l.to)break;s=r=a,o=l.from}return r.name=="TagName"?r.parent&&/CloseTag$/.test(r.parent.name)?AQ(t,r,r.from,n):VQ(t,i,r,r.from,n):r.name=="StartTag"?VQ(t,i,r,n,n):r.name=="StartCloseTag"||r.name=="IncompleteCloseTag"?AQ(t,r,n,n):r.name=="OpenTag"||r.name=="SelfClosingTag"||r.name=="AttributeName"?Jz(t,i,r,r.name=="AttributeName"?r.from:n,n):r.name=="Is"||r.name=="AttributeValue"||r.name=="UnquotedAttributeValue"?e5(t,i,r,r.name=="Is"?n:r.from,n):e.explicit&&(s.name=="Element"||s.name=="Text"||s.name=="Document")?Kz(t,i,r,n):null}function i5(i){let{extraTags:e,extraGlobalAttributes:t}=i,n=t||e?new Nn(e,t):Nn.default;return r=>t5(n,r)}var n5=St.parser.configure({top:"SingleExpression"}),DQ=[{tag:"script",attrs:i=>i.type=="text/typescript"||i.lang=="ts",parser:xf.parser},{tag:"script",attrs:i=>i.type=="text/babel"||i.type=="text/jsx",parser:vf.parser},{tag:"script",attrs:i=>i.type=="text/typescript-jsx",parser:wf.parser},{tag:"script",attrs(i){return/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(i.type)},parser:n5},{tag:"script",attrs(i){return!i.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(i.type)},parser:St.parser},{tag:"style",attrs(i){return(!i.lang||i.lang=="css")&&(!i.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(i.type))},parser:ys.parser}],LQ=[{name:"style",parser:ys.parser.configure({top:"Styles"})}].concat(UQ.map(i=>({name:i,parser:St.parser}))),GQ=Ct.define({name:"html",parser:OQ.configure({props:[Ft.add({Element(i){let e=/^(\s*)(<\/)?/.exec(i.textAfter);return i.node.to<=i.pos+e[0].length?i.continue():i.lineIndent(i.node.from)+(e[2]?0:i.unit)},"OpenTag CloseTag SelfClosingTag"(i){return i.column(i.node.from)+i.unit},Document(i){if(i.pos+/\s*/.exec(i.textAfter)[0].length<i.node.to)return i.continue();let e=null,t;for(let n=i.node;;){let r=n.lastChild;if(!r||r.name!="Element"||r.to!=n.to)break;e=n=r}return e&&!((t=e.lastChild)&&(t.name=="CloseTag"||t.name=="SelfClosingTag"))?i.lineIndent(e.from)+i.unit:null}}),Ht.add({Element(i){let e=i.firstChild,t=i.lastChild;return!e||e.name!="OpenTag"?null:{from:e.to,to:t.name=="CloseTag"?t.from:i.to}}}),fh.add({"OpenTag CloseTag":i=>i.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:"<!--",close:"-->"}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-._"}}),Ia=GQ.configure({wrap:mf(DQ,LQ)});function BQ(i={}){let e="",t;i.matchClosingTags===!1&&(e="noMatch"),i.selfClosingTags===!0&&(e=(e?e+" ":"")+"selfClosing"),(i.nestedLanguages&&i.nestedLanguages.length||i.nestedAttributes&&i.nestedAttributes.length)&&(t=mf((i.nestedLanguages||[]).concat(DQ),(i.nestedAttributes||[]).concat(LQ)));let n=t?GQ.configure({wrap:t,dialect:e}):e?Ia.configure({dialect:e}):Ia;return new Wt(n,[Ia.data.of({autocomplete:i5(i)}),i.autoCloseTags!==!1?r5:[],ZQ().support,bQ().support])}var jQ=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),r5=T.inputHandler.of((i,e,t,n,r)=>{if(i.composing||i.state.readOnly||e!=t||n!=">"&&n!="/"||!Ia.isActiveAt(i.state,e,-1))return!1;let s=r(),{state:o}=s,a=o.changeByRange(l=>{var O,c,h;let f=o.doc.sliceString(l.from-1,l.to)==n,{head:u}=l,d=ae(o).resolveInner(u,-1),p;if(f&&n==">"&&d.name=="EndTag"){let m=d.parent;if(((c=(O=m.parent)===null||O===void 0?void 0:O.lastChild)===null||c===void 0?void 0:c.name)!="CloseTag"&&(p=Fn(o.doc,m.parent,u))&&!jQ.has(p)){let g=u+(o.doc.sliceString(u,u+1)===">"?1:0),y=`</${p}>`;return{range:l,changes:{from:u,to:g,insert:y}}}}else if(f&&n=="/"&&d.name=="IncompleteCloseTag"){let m=d.parent;if(d.from==u-2&&((h=m.lastChild)===null||h===void 0?void 0:h.name)!="CloseTag"&&(p=Fn(o.doc,m,u))&&!jQ.has(p)){let g=u+(o.doc.sliceString(u,u+1)===">"?1:0),y=`${p}>`;return{range:P.cursor(u+y.length,-1),changes:{from:u,to:g,insert:y}}}}return{range:l}});return a.changes.empty?!1:(i.dispatch([s,o.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var s5=Ct.define({name:"php",parser:Ly.configure({props:[Ft.add({IfStatement:Zt({except:/^\s*({|else\b|elseif\b|endif\b)/}),TryStatement:Zt({except:/^\s*({|catch\b|finally\b)/}),SwitchBody:i=>{let e=i.textAfter,t=/^\s*\}/.test(e),n=/^\s*(case|default)\b/.test(e);return i.baseIndent+(t?0:n?1:2)*i.unit},ColonBlock:i=>i.baseIndent+i.unit,"Block EnumBody DeclarationList":pa({closing:"}"}),ArrowFunction:i=>i.baseIndent+i.unit,"String BlockComment":()=>null,Statement:Zt({except:/^({|end(for|foreach|switch|while)\b)/})}),Ht.add({"Block EnumBody DeclarationList SwitchBody ArrayExpression ValueList":Yn,ColonBlock(i){return{from:i.from+1,to:i.to}},BlockComment(i){return{from:i.from+2,to:i.to-2}}})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"},line:"//"},indentOnInput:/^\s*(?:case |default:|end(?:if|for(?:each)?|switch|while)|else(?:if)?|\{|\})$/,wordChars:"$",closeBrackets:{stringPrefixes:["b","B"]}}});function IQ(i={}){let e=[],t;if(i.baseLanguage!==null)if(i.baseLanguage)t=i.baseLanguage;else{let n=BQ({matchClosingTags:!1});e.push(n.support),t=n.language}return new Wt(s5.configure({wrap:t&&sa(n=>n.type.isTop?{parser:t.parser,overlay:r=>r.name=="Text"}:null),top:i.plain?"Program":"Template"}),e)}var{useEffect:o5,useRef:Xf}=wp.element;function Rf({id:i,doc:e,update:t}){let n=Xf(),r=Xf(),s=Xf((()=>{let o;return ee.changeFilter.of(a=>(clearTimeout(o),setTimeout(()=>t(a.newDoc.toString()),200),!0))})()).current;return o5(()=>{n.current&&(r.current||(r.current=new T({doc:e,parent:n.current,extensions:[_y,IQ({plain:!0}),s]})))},[e]),React.createElement(a5,{id:i},React.createElement("div",{ref:n}))}function a5({id:i,children:e}){let t=`function forms_bridge_job_${i.replace(/-/g,"_")}($payload, $bridge)74 }`,{label:"class",detail:"definition",type:"keyword"}),Ue('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),Ue('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],Dz=_Q.concat([Ue("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),Ue("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),Ue("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),XQ=new Cn,CQ=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function Qs(i){return(e,t)=>{let n=e.node.getChild("VariableDefinition");return n&&t(n,i),!0}}var Lz=["FunctionDeclaration"],Gz={FunctionDeclaration:Qs("function"),ClassDeclaration:Qs("class"),ClassExpression:()=>!0,EnumDeclaration:Qs("constant"),TypeAliasDeclaration:Qs("type"),NamespaceDeclaration:Qs("namespace"),VariableDefinition(i,e){i.matchContext(Lz)||e(i,"variable")},TypeDefinition(i,e){e(i,"type")},__proto__:null};function WQ(i,e){let t=XQ.get(e);if(t)return t;let n=[],r=!0;function s(o,a){let l=i.sliceString(o.from,o.to);n.push({label:l,type:a})}return e.cursor(H.IncludeAnonymous).iterate(o=>{if(r)r=!1;else if(o.name){let a=Gz[o.name];if(a&&a(o,s)||CQ.has(o.name))return!1}else if(o.to-o.from>8192){for(let a of WQ(i,o.node))n.push(a);return!1}}),XQ.set(e,n),n}var RQ=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,ZQ=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function Bz(i){let e=ae(i.state).resolveInner(i.pos,-1);if(ZQ.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&RQ.test(i.state.sliceDoc(e.from,e.to));if(!t&&!i.explicit)return null;let n=[];for(let r=e;r;r=r.parent)CQ.has(r.name)&&(n=n.concat(WQ(i.state.doc,r)));return{options:n,from:t?e.from:i.pos,validFor:RQ}}var St=Ct.define({name:"javascript",parser:zQ.configure({props:[Ft.add({IfStatement:Zt({except:/^\s*({|else\b)/}),TryStatement:Zt({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:Bg,SwitchBody:i=>{let e=i.textAfter,t=/^\s*\}/.test(e),n=/^\s*(case|default)\b/.test(e);return i.baseIndent+(t?0:n?1:2)*i.unit},Block:ga({closing:"}"}),ArrowFunction:i=>i.baseIndent+i.unit,"TemplateString BlockComment":()=>null,"Statement Property":Zt({except:/^\s*{/}),JSXElement(i){let e=/^\s*<\//.test(i.textAfter);return i.lineIndent(i.node.from)+(e?0:i.unit)},JSXEscape(i){let e=/\s*\}/.test(i.textAfter);return i.lineIndent(i.node.from)+(e?0:i.unit)},"JSXOpenTag JSXSelfClosingTag"(i){return i.column(i.node.from)+i.unit}}),Ht.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":Yn,BlockComment(i){return{from:i.from+2,to:i.to-2}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),VQ={test:i=>/^JSX/.test(i.name),facet:dh({commentTokens:{block:{open:"{/*",close:"*/}"}}})},kf=St.configure({dialect:"ts"},"typescript"),Tf=St.configure({dialect:"jsx",props:[pa.add(i=>i.isTop?[VQ]:void 0)]}),zf=St.configure({dialect:"jsx ts",props:[pa.add(i=>i.isTop?[VQ]:void 0)]},"typescript"),AQ=i=>({label:i,type:"keyword"}),jQ="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(AQ),Iz=jQ.concat(["declare","implements","private","protected","public"].map(AQ));function YQ(i={}){let e=i.jsx?i.typescript?zf:Tf:i.typescript?kf:St,t=i.typescript?Dz.concat(Iz):_Q.concat(jQ);return new Wt(e,[St.data.of({autocomplete:$y(ZQ,Gh(t))}),St.data.of({autocomplete:Bz}),i.jsx?Hz:[]])}function Nz(i){for(;;){if(i.name=="JSXOpenTag"||i.name=="JSXSelfClosingTag"||i.name=="JSXFragmentTag")return i;if(i.name=="JSXEscape"||!i.parent)return null;i=i.parent}}function qQ(i,e,t=i.length){for(let n=e?.firstChild;n;n=n.nextSibling)if(n.name=="JSXIdentifier"||n.name=="JSXBuiltin"||n.name=="JSXNamespacedName"||n.name=="JSXMemberExpression")return i.sliceString(n.from,Math.min(n.to,t));return""}var Fz=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),Hz=T.inputHandler.of((i,e,t,n,r)=>{if((Fz?i.composing:i.compositionStarted)||i.state.readOnly||e!=t||n!=">"&&n!="/"||!St.isActiveAt(i.state,e,-1))return!1;let s=r(),{state:o}=s,a=o.changeByRange(l=>{var c;let{head:O}=l,h=ae(o).resolveInner(O-1,-1),f;if(h.name=="JSXStartTag"&&(h=h.parent),!(o.doc.sliceString(O-1,O)!=n||h.name=="JSXAttributeValue"&&h.to>O)){if(n==">"&&h.name=="JSXFragmentTag")return{range:l,changes:{from:O,insert:"</>"}};if(n=="/"&&h.name=="JSXStartCloseTag"){let u=h.parent,d=u.parent;if(d&&u.from==O-2&&((f=qQ(o.doc,d.firstChild,O))||((c=d.firstChild)===null||c===void 0?void 0:c.name)=="JSXFragmentTag")){let p=`${f}>`;return{range:P.cursor(O+p.length,-1),changes:{from:O,insert:p}}}}else if(n==">"){let u=Nz(h);if(u&&u.name=="JSXOpenTag"&&!/^\/?>|^<\//.test(o.doc.sliceString(O,O+2))&&(f=qQ(o.doc,u,O)))return{range:l,changes:{from:O,insert:`</${f}>`}}}}return{range:l}});return a.changes.empty?!1:(i.dispatch([s,o.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var Ss=["_blank","_self","_top","_parent"],Xf=["ascii","utf-8","utf-16","latin1","latin1"],Rf=["get","post","put","delete"],qf=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],st=["true","false"],_={},Kz={a:{attrs:{href:null,ping:null,type:null,media:null,target:Ss,hreflang:null}},abbr:_,address:_,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:_,aside:_,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:_,base:{attrs:{href:null,target:Ss}},bdi:_,bdo:_,blockquote:{attrs:{cite:null}},body:_,br:_,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:qf,formmethod:Rf,formnovalidate:["novalidate"],formtarget:Ss,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:_,center:_,cite:_,code:_,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:_,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:_,div:_,dl:_,dt:_,em:_,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:_,figure:_,footer:_,form:{attrs:{action:null,name:null,"accept-charset":Xf,autocomplete:["on","off"],enctype:qf,method:Rf,novalidate:["novalidate"],target:Ss}},h1:_,h2:_,h3:_,h4:_,h5:_,h6:_,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:_,hgroup:_,hr:_,html:{attrs:{manifest:null}},i:_,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:qf,formmethod:Rf,formnovalidate:["novalidate"],formtarget:Ss,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:_,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:_,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:_,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:Xf,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:_,noscript:_,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:_,param:{attrs:{name:null,value:null}},pre:_,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:_,rt:_,ruby:_,samp:_,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:Xf}},section:_,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:_,source:{attrs:{src:null,type:null,media:null}},span:_,strong:_,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:_,summary:_,sup:_,table:_,tbody:_,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:_,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:_,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:_,time:{attrs:{datetime:null}},title:_,tr:_,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:_,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:_},DQ={accesskey:null,class:null,contenteditable:st,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:st,autocorrect:st,autocapitalize:st,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":st,"aria-autocomplete":["inline","list","both","none"],"aria-busy":st,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":st,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":st,"aria-hidden":st,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":st,"aria-multiselectable":st,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":st,"aria-relevant":null,"aria-required":st,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},LQ="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map(i=>"on"+i);for(let i of LQ)DQ[i]=null;var Nn=class{constructor(e,t){this.tags=Object.assign(Object.assign({},Kz),e),this.globalAttrs=Object.assign(Object.assign({},DQ),t),this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}};Nn.default=new Nn;function Fn(i,e,t=i.length){if(!e)return"";let n=e.firstChild,r=n&&n.getChild("TagName");return r?i.sliceString(r.from,Math.min(r.to,t)):""}function Hn(i,e=!1){for(;i;i=i.parent)if(i.name=="Element")if(e)e=!1;else return i;return null}function GQ(i,e,t){let n=t.tags[Fn(i,Hn(e))];return n?.children||t.allTags}function _f(i,e){let t=[];for(let n=Hn(e);n&&!n.type.isTop;n=Hn(n.parent)){let r=Fn(i,n);if(r&&n.lastChild.name=="CloseTag")break;r&&t.indexOf(r)<0&&(e.name=="EndTag"||e.from>=n.firstChild.to)&&t.push(r)}return t}var BQ=/^[:\-\.\w\u00b7-\uffff]*$/;function UQ(i,e,t,n,r){let s=/\s*>/.test(i.sliceDoc(r,r+5))?"":">",o=Hn(t,!0);return{from:n,to:r,options:GQ(i.doc,o,e).map(a=>({label:a,type:"type"})).concat(_f(i.doc,t).map((a,l)=>({label:"/"+a,apply:"/"+a+s,type:"type",boost:99-l}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function MQ(i,e,t,n){let r=/\s*>/.test(i.sliceDoc(n,n+5))?"":">";return{from:t,to:n,options:_f(i.doc,e).map((s,o)=>({label:s,apply:s+r,type:"type",boost:99-o})),validFor:BQ}}function Jz(i,e,t,n){let r=[],s=0;for(let o of GQ(i.doc,t,e))r.push({label:"<"+o,type:"type"});for(let o of _f(i.doc,t))r.push({label:"</"+o+">",type:"type",boost:99-s++});return{from:n,to:n,options:r,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function e5(i,e,t,n,r){let s=Hn(t),o=s?e.tags[Fn(i.doc,s)]:null,a=o&&o.attrs?Object.keys(o.attrs):[],l=o&&o.globalAttrs===!1?a:a.length?a.concat(e.globalAttrNames):e.globalAttrNames;return{from:n,to:r,options:l.map(c=>({label:c,type:"property"})),validFor:BQ}}function t5(i,e,t,n,r){var s;let o=(s=t.parent)===null||s===void 0?void 0:s.getChild("AttributeName"),a=[],l;if(o){let c=i.sliceDoc(o.from,o.to),O=e.globalAttrs[c];if(!O){let h=Hn(t),f=h?e.tags[Fn(i.doc,h)]:null;O=f?.attrs&&f.attrs[c]}if(O){let h=i.sliceDoc(n,r).toLowerCase(),f='"',u='"';/^['"]/.test(h)?(l=h[0]=='"'?/^[^"]*$/:/^[^']*$/,f="",u=i.sliceDoc(r,r+1)==h[0]?"":h[0],h=h.slice(1),n++):l=/^[^\s<>='"]*$/;for(let d of O)a.push({label:d,apply:f+d+u,type:"constant"})}}return{from:n,to:r,options:a,validFor:l}}function i5(i,e){let{state:t,pos:n}=e,r=ae(t).resolveInner(n,-1),s=r.resolve(n);for(let o=n,a;s==r&&(a=r.childBefore(o));){let l=a.lastChild;if(!l||!l.type.isError||l.from<l.to)break;s=r=a,o=l.from}return r.name=="TagName"?r.parent&&/CloseTag$/.test(r.parent.name)?MQ(t,r,r.from,n):UQ(t,i,r,r.from,n):r.name=="StartTag"?UQ(t,i,r,n,n):r.name=="StartCloseTag"||r.name=="IncompleteCloseTag"?MQ(t,r,n,n):r.name=="OpenTag"||r.name=="SelfClosingTag"||r.name=="AttributeName"?e5(t,i,r,r.name=="AttributeName"?r.from:n,n):r.name=="Is"||r.name=="AttributeValue"||r.name=="UnquotedAttributeValue"?t5(t,i,r,r.name=="Is"?n:r.from,n):e.explicit&&(s.name=="Element"||s.name=="Text"||s.name=="Document")?Jz(t,i,r,n):null}function n5(i){let{extraTags:e,extraGlobalAttributes:t}=i,n=t||e?new Nn(e,t):Nn.default;return r=>i5(n,r)}var r5=St.parser.configure({top:"SingleExpression"}),IQ=[{tag:"script",attrs:i=>i.type=="text/typescript"||i.lang=="ts",parser:kf.parser},{tag:"script",attrs:i=>i.type=="text/babel"||i.type=="text/jsx",parser:Tf.parser},{tag:"script",attrs:i=>i.type=="text/typescript-jsx",parser:zf.parser},{tag:"script",attrs(i){return/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(i.type)},parser:r5},{tag:"script",attrs(i){return!i.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(i.type)},parser:St.parser},{tag:"style",attrs(i){return(!i.lang||i.lang=="css")&&(!i.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(i.type))},parser:ys.parser}],NQ=[{name:"style",parser:ys.parser.configure({top:"Styles"})}].concat(LQ.map(i=>({name:i,parser:St.parser}))),FQ=Ct.define({name:"html",parser:uQ.configure({props:[Ft.add({Element(i){let e=/^(\s*)(<\/)?/.exec(i.textAfter);return i.node.to<=i.pos+e[0].length?i.continue():i.lineIndent(i.node.from)+(e[2]?0:i.unit)},"OpenTag CloseTag SelfClosingTag"(i){return i.column(i.node.from)+i.unit},Document(i){if(i.pos+/\s*/.exec(i.textAfter)[0].length<i.node.to)return i.continue();let e=null,t;for(let n=i.node;;){let r=n.lastChild;if(!r||r.name!="Element"||r.to!=n.to)break;e=n=r}return e&&!((t=e.lastChild)&&(t.name=="CloseTag"||t.name=="SelfClosingTag"))?i.lineIndent(e.from)+i.unit:null}}),Ht.add({Element(i){let e=i.firstChild,t=i.lastChild;return!e||e.name!="OpenTag"?null:{from:e.to,to:t.name=="CloseTag"?t.from:i.to}}}),mh.add({"OpenTag CloseTag":i=>i.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:"<!--",close:"-->"}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-._"}}),Fa=FQ.configure({wrap:Qf(IQ,NQ)});function HQ(i={}){let e="",t;i.matchClosingTags===!1&&(e="noMatch"),i.selfClosingTags===!0&&(e=(e?e+" ":"")+"selfClosing"),(i.nestedLanguages&&i.nestedLanguages.length||i.nestedAttributes&&i.nestedAttributes.length)&&(t=Qf((i.nestedLanguages||[]).concat(IQ),(i.nestedAttributes||[]).concat(NQ)));let n=t?FQ.configure({wrap:t,dialect:e}):e?Fa.configure({dialect:e}):Fa;return new Wt(n,[Fa.data.of({autocomplete:n5(i)}),i.autoCloseTags!==!1?s5:[],YQ().support,PQ().support])}var EQ=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),s5=T.inputHandler.of((i,e,t,n,r)=>{if(i.composing||i.state.readOnly||e!=t||n!=">"&&n!="/"||!Fa.isActiveAt(i.state,e,-1))return!1;let s=r(),{state:o}=s,a=o.changeByRange(l=>{var c,O,h;let f=o.doc.sliceString(l.from-1,l.to)==n,{head:u}=l,d=ae(o).resolveInner(u,-1),p;if(f&&n==">"&&d.name=="EndTag"){let m=d.parent;if(((O=(c=m.parent)===null||c===void 0?void 0:c.lastChild)===null||O===void 0?void 0:O.name)!="CloseTag"&&(p=Fn(o.doc,m.parent,u))&&!EQ.has(p)){let g=u+(o.doc.sliceString(u,u+1)===">"?1:0),y=`</${p}>`;return{range:l,changes:{from:u,to:g,insert:y}}}}else if(f&&n=="/"&&d.name=="IncompleteCloseTag"){let m=d.parent;if(d.from==u-2&&((h=m.lastChild)===null||h===void 0?void 0:h.name)!="CloseTag"&&(p=Fn(o.doc,m,u))&&!EQ.has(p)){let g=u+(o.doc.sliceString(u,u+1)===">"?1:0),y=`${p}>`;return{range:P.cursor(u+y.length,-1),changes:{from:u,to:g,insert:y}}}}return{range:l}});return a.changes.empty?!1:(i.dispatch([s,o.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var o5=Ct.define({name:"php",parser:Ny.configure({props:[Ft.add({IfStatement:Zt({except:/^\s*({|else\b|elseif\b|endif\b)/}),TryStatement:Zt({except:/^\s*({|catch\b|finally\b)/}),SwitchBody:i=>{let e=i.textAfter,t=/^\s*\}/.test(e),n=/^\s*(case|default)\b/.test(e);return i.baseIndent+(t?0:n?1:2)*i.unit},ColonBlock:i=>i.baseIndent+i.unit,"Block EnumBody DeclarationList":ga({closing:"}"}),ArrowFunction:i=>i.baseIndent+i.unit,"String BlockComment":()=>null,Statement:Zt({except:/^({|end(for|foreach|switch|while)\b)/})}),Ht.add({"Block EnumBody DeclarationList SwitchBody ArrayExpression ValueList":Yn,ColonBlock(i){return{from:i.from+1,to:i.to}},BlockComment(i){return{from:i.from+2,to:i.to-2}}})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"},line:"//"},indentOnInput:/^\s*(?:case |default:|end(?:if|for(?:each)?|switch|while)|else(?:if)?|\{|\})$/,wordChars:"$",closeBrackets:{stringPrefixes:["b","B"]}}});function KQ(i={}){let e=[],t;if(i.baseLanguage!==null)if(i.baseLanguage)t=i.baseLanguage;else{let n=HQ({matchClosingTags:!1});e.push(n.support),t=n.language}return new Wt(o5.configure({wrap:t&&aa(n=>n.type.isTop?{parser:t.parser,overlay:r=>r.name=="Text"}:null),top:i.plain?"Program":"Template"}),e)}var{useEffect:a5,useRef:Cf}=wp.element;function Wf({id:i,doc:e,update:t}){let n=Cf(),r=Cf(),s=Cf((()=>{let o;return ee.changeFilter.of(a=>(clearTimeout(o),setTimeout(()=>t(a.newDoc.toString()),200),!0))})()).current;return a5(()=>{n.current&&(r.current||(r.current=new T({doc:e,parent:n.current,extensions:[Vy,KQ({plain:!0}),s]})))},[e]),React.createElement(l5,{id:i},React.createElement("div",{ref:n}))}function l5({id:i,children:e}){let t=`function forms_bridge_job_${i.replace(/-/g,"_")}($payload, $bridge) 75 75 {`;return React.createElement(React.Fragment,null,React.createElement("code",{style:{display:"block",paddingLeft:"32px"}},React.createElement("pre",{style:{paddingLeft:"5px",margin:"2px 0",borderLeft:"1px solid #ddd",color:"#6c6c6c"}},t)),e,React.createElement("code",{style:{display:"block",paddingLeft:"32px"}},React.createElement("pre",{style:{paddingLeft:"5px",margin:"2px 0",borderLeft:"1px solid #ddd",color:"#6c6c6c"}},` return $payload; 76 }`)))}var{useState: l5,useEffect:O5,useMemo:c5,useRef:qf}=wp.element,{SelectControl:h5}=wp.components;function _f({value:i=[],onChange:e=()=>{},options:t=[],disabled:n=!1}){let[r,s]=l5(!1);Array.isArray(i)||(i=[i]);let o=c5(()=>i.join(", "),[i]),a=qf(),l=qf(c=>{c.key==="Enter"&&(s(!1),document.body.removeEventListener("keydown",l))}).current,O=qf(c=>{c.target!==a.current&&!a.current.contains(c.target)&&(c.preventDefault(),s(!1),document.body.removeEventListener("click",O,!0))}).current;return O5(()=>{r&&(document.body.addEventListener("click",O,!0),document.body.addEventListener("keydown",l))},[r]),React.createElement("div",{ref:a,style:{position:"relative"}},r&&React.createElement("div",{style:{position:"absolute",zIndex:10,top:0,left:0,width:"100%",height:"100%"}},React.createElement(h5,{disabled:n,value:i,onChange:e,options:t,multiple:!0,__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0}))||React.createElement(React.Fragment,null,React.createElement("input",{type:"text",value:o,onChange:()=>{},style:{height:"40px",padding:"6px 30px 6px 12px",border:"1px solid #949494",borderRadius:"2px",cursor:"pointer",width:"100%"},onClick:()=>s(!0)}),React.createElement("div",{style:{position:"absolute",zIndex:1,right:"10px",top:"50%",width:"6px",height:"6px",borderRight:"1px solid",borderBottom:"1px solid",transform:"translate(-50%, -50%) scale(1, 0.80) rotate(45deg)",color:"black"}})))}var{ToggleControl:f5}=wp.components,{useEffect:u5,useRef:d5}=wp.element,p5=`.fb-toggle-control .components-form-toggle { height: 24px }76 }`)))}var{useState:O5,useEffect:c5,useMemo:h5,useRef:Zf}=wp.element,{SelectControl:f5}=wp.components;function Vf({value:i=[],onChange:e=()=>{},options:t=[],disabled:n=!1}){let[r,s]=O5(!1);Array.isArray(i)||(i=[i]);let o=h5(()=>i.join(", "),[i]),a=Zf(),l=Zf(O=>{O.key==="Enter"&&(s(!1),document.body.removeEventListener("keydown",l))}).current,c=Zf(O=>{O.target!==a.current&&!a.current.contains(O.target)&&(O.preventDefault(),s(!1),document.body.removeEventListener("click",c,!0))}).current;return c5(()=>{r&&(document.body.addEventListener("click",c,!0),document.body.addEventListener("keydown",l))},[r]),React.createElement("div",{ref:a,style:{position:"relative"}},r&&React.createElement("div",{style:{position:"absolute",zIndex:10,top:0,left:0,width:"100%",height:"100%"}},React.createElement(f5,{disabled:n,value:i,onChange:e,options:t,multiple:!0,__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0}))||React.createElement(React.Fragment,null,React.createElement("input",{type:"text",value:o,onChange:()=>{},style:{height:"40px",padding:"6px 30px 6px 12px",border:"1px solid #949494",borderRadius:"2px",cursor:"pointer",width:"100%"},onClick:()=>s(!0)}),React.createElement("div",{style:{position:"absolute",zIndex:1,right:"10px",top:"50%",width:"6px",height:"6px",borderRight:"1px solid",borderBottom:"1px solid",transform:"translate(-50%, -50%) scale(1, 0.80) rotate(45deg)",color:"black"}})))}var{ToggleControl:u5}=wp.components,{useEffect:d5,useRef:p5}=wp.element,m5=`.fb-toggle-control .components-form-toggle { height: 24px } 77 77 .fb-toggle-control .components-form-toggle__track { height: 24px; width: 48px; border-radius: 12px } 78 78 .fb-toggle-control .components-form-toggle__thumb { width: 18px; height: 18px; top: 3px; left: 3px } 79 79 .fb-toggle-control .components-form-toggle.is-checked .components-form-toggle__thumb { transform: translate(24px) } 80 .fb-toggle-control .components-toggle-control__help { margin-inline-start: 56px }`;function Kn({checked:i,onChange:e,disabled:t,help:n,label:r,noEdit:s=!1}){let o= d5(document.createElement("style"));return u5(()=>{let a=p5;return s&&(a+=".fb-toggle-control .components-form-toggle.is-disabled { opacity: 1 }"),o.current.appendChild(document.createTextNode(a)),document.head.appendChild(o.current),()=>{document.head.removeChild(o.current)}},[]),React.createElement(f5,{label:r,help:n,className:"fb-toggle-control",disabled:t,checked:!!i,onChange:()=>e(!!i),__nextHasNoMarginBottom:!0})}var{__:m5}=window.wp.i18n;function Na(i){return i.type==="object"?(delete i.properties[""],Object.keys(i.properties).forEach(e=>{i.properties[e]=Na(i.properties[e])}),i.additionalProperties=Object.keys(i.properties).length===0,i):(i.type==="array"&&(Array.isArray(i.items)?(i.items=i.map.filter(e=>Na(e)),i.items.length===1&&(i.items=i.items[0])):i.items=Na(i.items),i.additionalItems=!Array.isArray(i.items)),i)}function Cf(i){return i.filter(e=>e.name).map(e=>(e.schema=Na(e.schema),e))}function Wf(i,e){if(e.type==="array")Array.isArray(e.items)?e={type:"string"}:e=e.items;else if(e.type==="object"&&i!=="array"){let n=Object.keys(e.properties);n.length===1?e=e.properties[n[0]]:e={type:"string"}}let t={type:i};return i==="array"?(t.items=e,t.additionalItems=!0):i==="object"&&(t.properties={"":e},t.required=[],t.additionalProperties=!1),t}function NQ(i){return{addon:i,id:`${i}-new-job`,name:"",title:m5("New job","forms-bridge"),description:"",input:[],output:[],snippet:"",method:`forms_bridge_${i}_new_job`}}function FQ(i){return i.toLowerCase().replace(/\s+/g,"-").replace(/[^[0-9a-z-_]/g,"").normalize("NFD").replace(/[\u0300-\u036f]/g,"")}var{useEffect:g5,useRef:$5}=wp.element,{TextControl:KQ,SelectControl:Vf,Button:bs,Tooltip:HQ}=wp.components,{__:Jn}=wp.i18n,JQ=[{value:"string",label:"string"},{value:"integer",label:"integer"},{value:"number",label:"number"},{value:"boolean",label:"boolean"},{value:"object",label:"object"},{value:"array",label:"array"}],Af={type:"string"},Zf={name:"",schema:Af};function Fa({fields:i,setFields:e,fromFields:t}){let n=(o,a)=>{let l=i.slice(0,o).concat([a]).concat(i.slice(o+1,i.length));e(l)},r=(o,a=Zf)=>{let l=i.slice(0,o).concat([a]).concat(i.slice(o,i.length));e(l)},s=o=>{let a=i.slice(0,o).concat(i.slice(o+1,i.length));e(a)};return g5(()=>{i.length||r(0,{...Zf})},[i]),React.createElement(React.Fragment,null,React.createElement(jf,{mode:Array.isArray(t)&&"output"||"input",style:{marginLeft:"calc(80px + 1rem)",marginBottom:"-1rem"}}),React.createElement("div",{style:{display:"flex",flexDirection:"column"}},i.map((o,a)=>React.createElement(y5,{key:a,field:o,update:l=>n(a,l),remove:()=>s(a),add:()=>r(a+1,{...Zf}),from:t}))))}function jf({style:i={},mode:e="input"}){return React.createElement("div",{style:{display:"flex",gap:"0.5rem",paddingBottom:"0.5rem",...i}},React.createElement("div",{style:{width:"clamp(200px, 15vw, 300px)",padding:"0 5px"}},React.createElement("b",null,Jn("Name","forms-bridge"))),React.createElement("div",{style:{width:"clamp(200px, 15vw, 300px)",padding:"0 5px"}},React.createElement("b",null,Jn("Type","forms-bridge"))),React.createElement("div",{style:{width:"clamp(200px, 15vw, 300px)",padding:"0 5px"}},e==="input"&&React.createElement("b",null,Jn("Required","forms-bridge")," ",React.createElement(HQ,{text:Jn("If it does not exists on the payload, the job will be skipped","forms-bridge")},React.createElement("span",{style:{background:"gray",color:"white",borderRadius:"100%",padding:"0 0.35em",fontWeight:"bold",fontSize:"0.9em",cursor:"pointer"}},"?")))||React.createElement("b",null,Jn("Requires","forms-bridge")," ",React.createElement(HQ,{text:Jn("Required payload fields to include it on the job output","forms-bridge")},React.createElement("span",{style:{background:"gray",color:"white",borderRadius:"100%",padding:"0 0.35em",fontWeight:"bold",fontSize:"0.9em",cursor:"pointer"}},"?")))))}function y5({field:i,update:e,remove:t,add:n,from:r}){return React.createElement(React.Fragment,null,React.createElement("div",{style:{display:"flex",gap:"0.5rem",padding:"1rem 0",borderBottom:"1px solid rgba(0, 0, 0, 0.1)"}},React.createElement(bs,{size:"compact",variant:"secondary",onClick:n,style:{width:"40px",height:"40px",justifyContent:"center"},__next40pxDefaultSize:!0},"+"),React.createElement(bs,{size:"compact",variant:"secondary",isDestructive:!0,onClick:t,style:{width:"40px",height:"40px",justifyContent:"center"},__next40pxDefaultSize:!0},"-"),React.createElement(be,null,React.createElement(KQ,{value:i.name,onChange:s=>e({...i,name:s}),__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0})),React.createElement(be,null,React.createElement(Vf,{value:i.schema.type,onChange:s=>{let o=Wf(s,i.schema);e({...i,schema:o})},options:JQ,__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0})),Array.isArray(r)&&React.createElement(React.Fragment,null,React.createElement(be,null,React.createElement(_f,{value:i.requires||[],onChange:s=>e({...i,requires:s}),options:r.map(({name:s})=>({value:s,label:s}))})),React.createElement(be,null,React.createElement(Vf,{value:i.requires})))||React.createElement("div",{style:{paddingLeft:"0.5rem",display:"flex",justifyContent:"center",alignItems:"center"}},React.createElement(Kn,{checked:i.required,onChange:()=>e({...i,required:!i.required})}))),i.schema.type==="object"&&React.createElement(t0,{schema:i.schema,setSchema:s=>e({...i,schema:s})})||null,i.schema.type==="array"&&React.createElement(i0,{schema:i.schema,setSchema:s=>e({...i,schema:s})})||null)}function e0({name:i,setName:e,schema:t,setSchema:n,required:r,toggleRequired:s,remove:o}){return React.createElement(React.Fragment,null,React.createElement("div",{style:{display:"flex",gap:"0.5rem"}},React.createElement(bs,{size:"compact",variant:"secondary",isDestructive:!0,disabled:!o,onClick:o,style:{width:"40px",height:"40px",justifyContent:"center"},__next40pxDefaultSize:!0},"-"),React.createElement(be,null,React.createElement(KQ,{disabled:!e,value:i,onChange:e,__next40pxDefaultSize:!0,__nextHasNoMarginBottom:!0})),React.createElement(be,null,React.createElement(Vf,{value:t.type,onChange:a=>n(Wf(a,t)),options:JQ,__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0})),React.createElement("div",{style:{paddingLeft:"0.5rem",display:"flex",justifyContent:"center",alignItems:"center"}},React.createElement(Kn,{disabled:!s,checked:r,onChange:s}))),t.type==="object"&&React.createElement(t0,{schema:t,setSchema:a=>n({...t,...a})})||null,t.type==="array"&&React.createElement(i0,{schema:t,setSchema:a=>n({...t,...a})})||null)}function t0({schema:i,setSchema:e}){i.properties||(i.properties={});let t=$5(Object.keys(i.properties));return React.createElement("div",{style:{marginLeft:"0.5rem",borderLeft:"1px dashed",padding:"0.5rem 0 1rem 40px",background:"rgb(245, 245, 245)"}},React.createElement(jf,{style:{marginLeft:"calc(40px + 0.5rem)"}}),React.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"0.5rem"}},t.current.map((n,r)=>i.properties[n]?React.createElement(e0,{key:r,name:n,setName:s=>{if(s=s.trim(),i.properties[s])return;let o={...i.properties};o[s]=i.properties[n],delete o[n],e({...i,properties:o,additionalProperties:Object.keys(i.properties).length===0}),t.current[r]=s},required:i.required?.includes(n),toggleRequired:()=>{let s=Array.isArray(i.required)?[...i.required]:[],o=s.findIndex(a=>n===a);o!==-1?s.splice(o,1):s.push(n),e({...i,required:s})},schema:i.properties[n],setSchema:s=>{e({...i,properties:{...i.properties,[n]:s}})},remove:()=>{let s={...i.properties};delete s[n],e({...i,properties:s}),t.current.splice(r,1)}}):null)),React.createElement(bs,{size:"compact",variant:"secondary",disabled:E(i.properties,""),onClick:()=>{e({...i,properties:{...i.properties,"":{type:"string"}}}),t.current.push("")},style:{marginTop:"0.5rem",width:"40px",height:"40px",justifyContent:"center"},__next40pxDefaultSize:!0},"+"))}function i0({schema:i,setSchema:e}){let t=Array.isArray(i.items)?i.items:[i.items];return React.createElement("div",{style:{marginLeft:"0.5rem",borderLeft:"1px dashed",padding:"0.5rem 0 1rem 40px",background:"rgb(245, 245, 245)"}},React.createElement(jf,{style:{marginLeft:"calc(40px + 0.5rem)"}}),React.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"0.5rem"}},t.map((n,r)=>React.createElement(e0,{key:r,name:Array.isArray(i.items)?r:"{index}",schema:n,setSchema:s=>{if(Array.isArray(i.items)){let o=[...i.items];o[r]=s,e({...i,items:o,additionalItems:!1})}else e({...i,items:s,additionalItems:!0})},required:Array.isArray(i.items),toggleRequired:null,remove:Array.isArray(i.items)?()=>{let s={...i,items:t.slice(0,r).concat(t.slice(r+1,t.length))};s.items.length===1&&(s.items=s.items[0]),e(s)}:null}))),React.createElement(bs,{size:"compact",variant:"secondary",onClick:()=>{e({...i,items:Array.isArray(i.items)?[...i.items,Af]:[i.items,Af]})},style:{marginTop:"0.5rem",width:"40px",height:"40px",justifyContent:"center"},__next40pxDefaultSize:!0},"+"))}var{TextControl:Q5,TextareaControl:S5}=wp.components,{__:n0}=wp.i18n;function Yf({data:i,setData:e}){return React.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"1rem",paddingBottom:"2rem"}},React.createElement(Q5,{label:n0("Title","forms-bridge"),value:i.title,onChange:t=>e({title:t}),__next40pxDefaultSize:!0,__nextHasNoMarginBottom:!0}),React.createElement(S5,{label:n0("Description","forms-bridge"),value:i.description,onChange:t=>e({description:t}),__nextHasNoMarginBottom:!0}))}var{useState:r0,useEffect:b5,useMemo:x5,useRef:v5,useCallback:w5}=wp.element,{TabPanel:P5,Button:s0,Spinner:k5}=wp.components,{__:Ki}=wp.i18n,T5=[{title:Ki("Metadata","forms-bridge"),name:"meta"},{title:Ki("Input interface","forms-bridge"),name:"input"},{title:Ki("Output interface","forms-bridge"),name:"output"},{title:Ki("Job snippet","forms-bridge"),name:"snippet"}];function xs({close:i}){let e=K(),t=ot(),[n]=dn(),r=x5(()=>new Set(n.map(d=>d.name)),[n]),[s]=fn(),[o,a]=un(),[l,O]=r0(),[c,h]=r0(!1),f=v5(o?.name||"");b5(()=>{f.current=o?.name||"",O(s?o:NQ(e))},[s,o]);let u=w5(d=>{d.name=d.name.trim(),d.name||(d.name=FQ(d.title)),d.input=Cf(d.input),d.output=Cf(d.output),h(!0),a(d).then(()=>f.current!==d.name?t():Promise.resolve()).finally(()=>{h(!1),i()})},[r]);if(l?.id)return React.createElement("div",{style:{width:"100%",flex:1,position:"relative"}},React.createElement("div",{style:{display:c?"flex":"none",position:"absolute",zIndex:10,top:0,left:0,width:"100%",height:"100%",background:"#ffffff88",justifyContent:"center",alignItems:"center"}},React.createElement(k5,null)),React.createElement(P5,{tabs:T5},d=>React.createElement("div",{style:{height:"calc(452px - 4rem)",overflowY:"auto",padding:"1rem 5px 0"}},React.createElement(z5,{tab:d.name,job:l,update:p=>O({...l,...p})}))),React.createElement("div",{style:{display:"flex",gap:"0.5em",padding:"1rem 0",borderTop:"1px solid"}},React.createElement(s0,{variant:"primary",disabled:!l.title,onClick:()=>u(l),__next40pxDefaultSize:!0},f.current.trim()!==l.name.trim()?Ki("Create","forms-bridge"):Ki("Save","forms-bridge")),React.createElement(s0,{variant:"secondary",isDestructive:!0,onClick:i,__next40pxDefaultSize:!0},Ki("Discard","forms-bridge"))))}function z5({tab:i,job:e,update:t}){switch(i){case"meta":return React.createElement(Yf,{data:e,setData:n=>t({...e,...n})});case"input":return React.createElement(Fa,{fields:e.input,setFields:n=>t({input:n})});case"output":return React.createElement(Fa,{fields:e.output,setFields:n=>t({output:n}),fromFields:e.input});case"snippet":return React.createElement(Rf,{id:e.id,doc:e.snippet,update:n=>t({...e,snippet:n})})}}var{__experimentalItemGroup:X5,__experimentalItem:R5,SelectControl:q5,Button:Ef}=wp.components,{useMemo:Uf,useCallback:o0}=wp.element,{__:Mf}=wp.i18n;function Df({workflow:i,setWorkflow:e,setEdit:t}){let[n,r]=Dt(),[s]=dn(),o=Uf(()=>s.map(f=>({value:f.name,label:f.title})).sort((f,u)=>f.label>u.label?1:-1),[s]),a=Uf(()=>i.map(f=>({name:f,title:s.find(u=>u.name===f)?.title||f})),[i,s]),l=Uf(()=>[{title:Mf("Form submission","forms-bridge"),name:"form"}].concat(a).concat([{title:Mf("Output payload","forms-bridge"),name:"output"}]),[a]),O=f=>{let u=i.slice(0,f).concat(i.slice(f+1,i.length));e(u,f),setTimeout(()=>{n-1===f&&f===u.length&&r(n-1)},100)},c=o0(f=>{let u=i.slice(0,f+1).concat([o[0].value]).concat(i.slice(f+1,i.length));e(u,f+1)},[i,o]),h=o0((f,u)=>{if(!f)return;let d=i.slice(0,u).concat([f]).concat(i.slice(u+1,i.length));e(d)},[i]);return React.createElement("div",{style:{flex:1,overflowY:"auto",display:"flex",flexDirection:"column"}},React.createElement(X5,{size:"large",isSeparated:!0,style:{maxHeight:"calc(100% - 68px)",overflowY:"auto"}},l.map((f,u)=>React.createElement(R5,{key:f.name+u},React.createElement(_5,{index:u,name:f.name,title:f.title,options:o,append:c,remove:O,update:h})))),React.createElement("div",{style:{padding:"1rem 16px",marginTop:"auto"}},React.createElement(Ef,{style:{width:"100px",justifyContent:"center"},variant:"primary",onClick:()=>t(),__next40pxDefaultSize:!0},Mf("New job","forms-bridge"))))}function _5({name:i,title:e,index:t,options:n,append:r,update:s,remove:o}){let a=ze(),[l,O]=Dt(),c=l===t,h=c&&i!=="form"&&i!=="output";return i==="output"?React.createElement("div",{style:{display:"flex",alignItems:"center",color:c?"var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))":"inherit"}},React.createElement("div",{style:{padding:"0.25em 0.5em"}},React.createElement("strong",null,"\u{1F680}")),React.createElement("p",{style:{cursor:"pointer",textIndent:"12px",margin:"10px 0",whiteSpace:"nowrap"},onClick:()=>O(t)},e)):React.createElement("div",{style:{display:"flex",alignItems:"center",color:c?"var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))":"inherit"}},React.createElement("div",{style:{padding:"0.25em 0.5em"}},React.createElement("strong",null,t+1,".\xA0")),React.createElement("div",{style:{flex:1}},h&&React.createElement(be,{min:"150px",max:"250px",isResponsive:a},React.createElement(q5,{value:i,onChange:f=>s(f,t-1),options:n,__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0}))||React.createElement("p",{style:{cursor:"pointer",textIndent:"12px",padding:"10px 30px 10px 0",whiteSpace:"nowrap",margin:0,border:t?"1px solid #d1cfcf":"none",overflow:"hidden",textOverflow:"ellipsis",position:"relative",width:"clamp(150px, 15vw, 250px)"},onClick:()=>O(t)},e,React.createElement("span",{style:{display:t?"block":"none",position:"absolute",top:"50%",right:"8px",width:"6px",height:"6px",borderBottom:"1px solid #d1cfcf",borderRight:"1px solid #d1cfcf",transform:"translate(-50%, -50%) rotate(45deg)"}}))),i!=="output"&&React.createElement("div",{style:{display:"inline-flex",alignItems:"center",gap:"0.45em",padding:"0 0.45em 0 0.75em"}},React.createElement(Ef,{size:"compact",variant:"secondary",disabled:!i||n.length<=1,onClick:()=>r(t-1),style:{width:"32px"},__next40pxDefaultSize:!0},"+"),React.createElement(Ef,{size:"compact",variant:"secondary",disabled:!i||i==="form",onClick:()=>o(t-1),style:{width:"32px"},isDestructive:!0,__next40pxDefaultSize:!0},"-")))}function Ha(i,e=""){let t=e.match(/\[\](?=[^[])/g)?.length>=2;if(e!==""&&(e=Y.pointer(Y.parse(e))),i.type==="object"){let n=[{value:e,label:e}];return t&&n.push({value:e+"[]",label:e+"[]"}),n.concat(Object.keys(i.properties).reduce((r,s)=>{let o=e?`${e}.${s}`:s;return r.concat(Ha(i.properties[s],o))},[]))}else if(i.type==="array"){let n=[{value:e,label:e}],r=Array.isArray(i.items)?i.items:[i.items],s=r.reduce((o,a)=>o||a.type!==r[0]?.type,!1);return s||n.push({value:e+"[]",label:e+"[]"}),n.concat(r.reduce((o,a)=>{if(s)return o;let l=`${e}[]`;return o.concat(Ha(a,l).filter(O=>t||O.value!==l))},[])).concat(r.reduce((o,a,l)=>{if(i.additionalItems)return o;let O=`${e}[${l}]`;return o.concat(Ha(a,O))},[]))}else{let n=[{label:e,value:e}];return t&&n.push({label:e+"[]",value:e+"[]"}),n}}function a0(i,e){let t=qi(pn(mn(i),e));return Ha(t)}var{BaseControl:C5,SelectControl:l0,Button:Lf}=wp.components,{useEffect:O0,useRef:c0,useMemo:W5,useState:Z5}=wp.element,{__:ye}=wp.i18n,V5=[{value:"type-cast",label:ye("Type mutations","forms-bridge"),disabled:!0},{value:"string",label:ye("String","forms-bridge")},{value:"integer",label:ye("Integer","forms-bridge")},{value:"number",label:ye("Decimal","forms-bridge")},{value:"boolean",label:ye("Boolean","forms-bridge")},{value:"not",label:ye("Negation","forms-bridge")},{value:"implode",label:ye("Implode mutations","forms-bridge"),disabled:!0},{value:"json",label:"JSON"},{value:"pretty_json",label:"Pretty JSON"},{value:"csv",label:"CSV"},{value:"concat",label:ye("Spaced","forms-bridge")},{value:"join",label:ye("Join","forms-bridge")},{value:"sum",label:ye("Sum","forms-bridge")},{value:"count",label:ye("Count","forms-bridge")},{value:"and",label:ye("AND","forms-bridge")},{value:"or",label:ye("OR","forms-bridge")},{value:"xor",label:ye("XOR","forms-bridge")},{value:"structure",label:ye("Structure mutations","forms-bridge"),disabled:!0},{value:"inherit",label:ye("Rename","forms-bridge")},{value:"copy",label:ye("Copy","forms-bridge")},{value:"null",label:ye("Ignore","forms-bridge")}],A5=`.scrollbar-hide {80 .fb-toggle-control .components-toggle-control__help { margin-inline-start: 56px }`;function Kn({checked:i,onChange:e,disabled:t,help:n,label:r,noEdit:s=!1}){let o=p5(document.createElement("style"));return d5(()=>{let a=m5;return s&&(a+=".fb-toggle-control .components-form-toggle.is-disabled { opacity: 1 }"),o.current.appendChild(document.createTextNode(a)),document.head.appendChild(o.current),()=>{document.head.removeChild(o.current)}},[]),React.createElement(u5,{label:r,help:n,className:"fb-toggle-control",disabled:t,checked:!!i,onChange:()=>e(!!i),__nextHasNoMarginBottom:!0})}var{__:g5}=window.wp.i18n;function Ha(i){return i.type==="object"?(delete i.properties[""],Object.keys(i.properties).forEach(e=>{i.properties[e]=Ha(i.properties[e])}),i.additionalProperties=Object.keys(i.properties).length===0,i):(i.type==="array"&&(Array.isArray(i.items)?(i.items=i.map.filter(e=>Ha(e)),i.items.length===1&&(i.items=i.items[0])):i.items=Ha(i.items),i.additionalItems=!Array.isArray(i.items)),i)}function Af(i){return i.filter(e=>e.name).map(e=>(e.schema=Ha(e.schema),e))}function jf(i,e){if(e.type==="array")Array.isArray(e.items)?e={type:"string"}:e=e.items;else if(e.type==="object"&&i!=="array"){let n=Object.keys(e.properties);n.length===1?e=e.properties[n[0]]:e={type:"string"}}let t={type:i};return i==="array"?(t.items=e,t.additionalItems=!0):i==="object"&&(t.properties={"":e},t.required=[],t.additionalProperties=!1),t}function JQ(i){return{addon:i,id:`${i}-new-job`,name:"",title:g5("New job","forms-bridge"),description:"",input:[],output:[],snippet:"",method:`forms_bridge_${i}_new_job`}}function e0(i){return i.toLowerCase().replace(/\s+/g,"-").replace(/[^[0-9a-z-_]/g,"").normalize("NFD").replace(/[\u0300-\u036f]/g,"")}var{useEffect:$5,useRef:y5}=wp.element,{TextControl:i0,SelectControl:Uf,Button:bs,Tooltip:t0}=wp.components,{__:Jn}=wp.i18n,n0=[{value:"string",label:"string"},{value:"integer",label:"integer"},{value:"number",label:"number"},{value:"boolean",label:"boolean"},{value:"object",label:"object"},{value:"array",label:"array"}],Mf={type:"string"},Yf={name:"",schema:Mf};function Ka({fields:i,setFields:e,fromFields:t}){let n=(o,a)=>{let l=i.slice(0,o).concat([a]).concat(i.slice(o+1,i.length));e(l)},r=(o,a=Yf)=>{let l=i.slice(0,o).concat([a]).concat(i.slice(o,i.length));e(l)},s=o=>{let a=i.slice(0,o).concat(i.slice(o+1,i.length));e(a)};return $5(()=>{i.length||r(0,{...Yf})},[i]),React.createElement(React.Fragment,null,React.createElement(Ef,{mode:Array.isArray(t)&&"output"||"input",style:{marginLeft:"calc(80px + 1rem)",marginBottom:"-1rem"}}),React.createElement("div",{style:{display:"flex",flexDirection:"column"}},i.map((o,a)=>React.createElement(Q5,{key:a,field:o,update:l=>n(a,l),remove:()=>s(a),add:()=>r(a+1,{...Yf}),from:t}))))}function Ef({style:i={},mode:e="input"}){return React.createElement("div",{style:{display:"flex",gap:"0.5rem",paddingBottom:"0.5rem",...i}},React.createElement("div",{style:{width:"clamp(200px, 15vw, 300px)",padding:"0 5px"}},React.createElement("b",null,Jn("Name","forms-bridge"))),React.createElement("div",{style:{width:"clamp(200px, 15vw, 300px)",padding:"0 5px"}},React.createElement("b",null,Jn("Type","forms-bridge"))),React.createElement("div",{style:{width:"clamp(200px, 15vw, 300px)",padding:"0 5px"}},e==="input"&&React.createElement("b",null,Jn("Required","forms-bridge")," ",React.createElement(t0,{text:Jn("If it does not exists on the payload, the job will be skipped","forms-bridge")},React.createElement("span",{style:{background:"gray",color:"white",borderRadius:"100%",padding:"0 0.35em",fontWeight:"bold",fontSize:"0.9em",cursor:"pointer"}},"?")))||React.createElement("b",null,Jn("Requires","forms-bridge")," ",React.createElement(t0,{text:Jn("Required payload fields to include it on the job output","forms-bridge")},React.createElement("span",{style:{background:"gray",color:"white",borderRadius:"100%",padding:"0 0.35em",fontWeight:"bold",fontSize:"0.9em",cursor:"pointer"}},"?")))))}function Q5({field:i,update:e,remove:t,add:n,from:r}){return React.createElement(React.Fragment,null,React.createElement("div",{style:{display:"flex",gap:"0.5rem",padding:"1rem 0",borderBottom:"1px solid rgba(0, 0, 0, 0.1)"}},React.createElement(bs,{size:"compact",variant:"secondary",onClick:n,style:{width:"40px",height:"40px",justifyContent:"center"},__next40pxDefaultSize:!0},"+"),React.createElement(bs,{size:"compact",variant:"secondary",isDestructive:!0,onClick:t,style:{width:"40px",height:"40px",justifyContent:"center"},__next40pxDefaultSize:!0},"-"),React.createElement(be,null,React.createElement(i0,{value:i.name,onChange:s=>e({...i,name:s}),__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0})),React.createElement(be,null,React.createElement(Uf,{value:i.schema.type,onChange:s=>{let o=jf(s,i.schema);e({...i,schema:o})},options:n0,__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0})),Array.isArray(r)&&React.createElement(React.Fragment,null,React.createElement(be,null,React.createElement(Vf,{value:i.requires||[],onChange:s=>e({...i,requires:s}),options:r.map(({name:s})=>({value:s,label:s}))})),React.createElement(be,null,React.createElement(Uf,{value:i.requires})))||React.createElement("div",{style:{paddingLeft:"0.5rem",display:"flex",justifyContent:"center",alignItems:"center"}},React.createElement(Kn,{checked:i.required,onChange:()=>e({...i,required:!i.required})}))),i.schema.type==="object"&&React.createElement(s0,{schema:i.schema,setSchema:s=>e({...i,schema:s})})||null,i.schema.type==="array"&&React.createElement(o0,{schema:i.schema,setSchema:s=>e({...i,schema:s})})||null)}function r0({name:i,setName:e,schema:t,setSchema:n,required:r,toggleRequired:s,remove:o}){return React.createElement(React.Fragment,null,React.createElement("div",{style:{display:"flex",gap:"0.5rem"}},React.createElement(bs,{size:"compact",variant:"secondary",isDestructive:!0,disabled:!o,onClick:o,style:{width:"40px",height:"40px",justifyContent:"center"},__next40pxDefaultSize:!0},"-"),React.createElement(be,null,React.createElement(i0,{disabled:!e,value:i,onChange:e,__next40pxDefaultSize:!0,__nextHasNoMarginBottom:!0})),React.createElement(be,null,React.createElement(Uf,{value:t.type,onChange:a=>n(jf(a,t)),options:n0,__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0})),React.createElement("div",{style:{paddingLeft:"0.5rem",display:"flex",justifyContent:"center",alignItems:"center"}},React.createElement(Kn,{disabled:!s,checked:r,onChange:s}))),t.type==="object"&&React.createElement(s0,{schema:t,setSchema:a=>n({...t,...a})})||null,t.type==="array"&&React.createElement(o0,{schema:t,setSchema:a=>n({...t,...a})})||null)}function s0({schema:i,setSchema:e}){i.properties||(i.properties={});let t=y5(Object.keys(i.properties));return React.createElement("div",{style:{marginLeft:"0.5rem",borderLeft:"1px dashed",padding:"0.5rem 0 1rem 40px",background:"rgb(245, 245, 245)"}},React.createElement(Ef,{style:{marginLeft:"calc(40px + 0.5rem)"}}),React.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"0.5rem"}},t.current.map((n,r)=>i.properties[n]?React.createElement(r0,{key:r,name:n,setName:s=>{if(s=s.trim(),i.properties[s])return;let o={...i.properties};o[s]=i.properties[n],delete o[n],e({...i,properties:o,additionalProperties:Object.keys(i.properties).length===0}),t.current[r]=s},required:i.required?.includes(n),toggleRequired:()=>{let s=Array.isArray(i.required)?[...i.required]:[],o=s.findIndex(a=>n===a);o!==-1?s.splice(o,1):s.push(n),e({...i,required:s})},schema:i.properties[n],setSchema:s=>{e({...i,properties:{...i.properties,[n]:s}})},remove:()=>{let s={...i.properties};delete s[n],e({...i,properties:s}),t.current.splice(r,1)}}):null)),React.createElement(bs,{size:"compact",variant:"secondary",disabled:E(i.properties,""),onClick:()=>{e({...i,properties:{...i.properties,"":{type:"string"}}}),t.current.push("")},style:{marginTop:"0.5rem",width:"40px",height:"40px",justifyContent:"center"},__next40pxDefaultSize:!0},"+"))}function o0({schema:i,setSchema:e}){let t=Array.isArray(i.items)?i.items:[i.items];return React.createElement("div",{style:{marginLeft:"0.5rem",borderLeft:"1px dashed",padding:"0.5rem 0 1rem 40px",background:"rgb(245, 245, 245)"}},React.createElement(Ef,{style:{marginLeft:"calc(40px + 0.5rem)"}}),React.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"0.5rem"}},t.map((n,r)=>React.createElement(r0,{key:r,name:Array.isArray(i.items)?r:"{index}",schema:n,setSchema:s=>{if(Array.isArray(i.items)){let o=[...i.items];o[r]=s,e({...i,items:o,additionalItems:!1})}else e({...i,items:s,additionalItems:!0})},required:Array.isArray(i.items),toggleRequired:null,remove:Array.isArray(i.items)?()=>{let s={...i,items:t.slice(0,r).concat(t.slice(r+1,t.length))};s.items.length===1&&(s.items=s.items[0]),e(s)}:null}))),React.createElement(bs,{size:"compact",variant:"secondary",onClick:()=>{e({...i,items:Array.isArray(i.items)?[...i.items,Mf]:[i.items,Mf]})},style:{marginTop:"0.5rem",width:"40px",height:"40px",justifyContent:"center"},__next40pxDefaultSize:!0},"+"))}var{TextControl:S5,TextareaControl:b5}=wp.components,{__:a0}=wp.i18n;function Df({data:i,setData:e}){return React.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"1rem",paddingBottom:"2rem"}},React.createElement(S5,{label:a0("Title","forms-bridge"),value:i.title,onChange:t=>e({title:t}),__next40pxDefaultSize:!0,__nextHasNoMarginBottom:!0}),React.createElement(b5,{label:a0("Description","forms-bridge"),value:i.description,onChange:t=>e({description:t}),__nextHasNoMarginBottom:!0}))}var{useState:l0,useEffect:x5,useMemo:v5,useRef:w5,useCallback:P5}=wp.element,{TabPanel:k5,Button:O0,Spinner:T5}=wp.components,{__:Ki}=wp.i18n,z5=[{title:Ki("Metadata","forms-bridge"),name:"meta"},{title:Ki("Input interface","forms-bridge"),name:"input"},{title:Ki("Output interface","forms-bridge"),name:"output"},{title:Ki("Job snippet","forms-bridge"),name:"snippet"}];function xs({close:i}){let e=K(),t=ot(),[n]=dn(),r=v5(()=>new Set(n.map(d=>d.name)),[n]),[s]=fn(),[o,a]=un(),[l,c]=l0(),[O,h]=l0(!1),f=w5(o?.name||"");x5(()=>{f.current=o?.name||"",c(s?o:JQ(e))},[s,o]);let u=P5(d=>{d.name=d.name.trim(),d.name||(d.name=e0(d.title)),d.input=Af(d.input),d.output=Af(d.output),h(!0),a(d).then(()=>f.current!==d.name?t():Promise.resolve()).finally(()=>{h(!1),i()})},[r]);if(l?.id)return React.createElement("div",{style:{width:"100%",flex:1,position:"relative"}},React.createElement("div",{style:{display:O?"flex":"none",position:"absolute",zIndex:10,top:0,left:0,width:"100%",height:"100%",background:"#ffffff88",justifyContent:"center",alignItems:"center"}},React.createElement(T5,null)),React.createElement(k5,{tabs:z5},d=>React.createElement("div",{style:{height:"calc(452px - 4rem)",overflowY:"auto",padding:"1rem 5px 0"}},React.createElement(X5,{tab:d.name,job:l,update:p=>c({...l,...p})}))),React.createElement("div",{style:{display:"flex",gap:"0.5em",padding:"1rem 0",borderTop:"1px solid"}},React.createElement(O0,{variant:"primary",disabled:!l.title,onClick:()=>u(l),__next40pxDefaultSize:!0},f.current.trim()!==l.name.trim()?Ki("Create","forms-bridge"):Ki("Save","forms-bridge")),React.createElement(O0,{variant:"secondary",isDestructive:!0,onClick:i,__next40pxDefaultSize:!0},Ki("Discard","forms-bridge"))))}function X5({tab:i,job:e,update:t}){switch(i){case"meta":return React.createElement(Df,{data:e,setData:n=>t({...e,...n})});case"input":return React.createElement(Ka,{fields:e.input,setFields:n=>t({input:n})});case"output":return React.createElement(Ka,{fields:e.output,setFields:n=>t({output:n}),fromFields:e.input});case"snippet":return React.createElement(Wf,{id:e.id,doc:e.snippet,update:n=>t({...e,snippet:n})})}}var{__experimentalItemGroup:R5,__experimentalItem:q5,SelectControl:_5,Button:Bf}=wp.components,{useMemo:Lf,useCallback:c0}=wp.element,{__:Gf}=wp.i18n;function If({workflow:i,setWorkflow:e,setEdit:t}){let[n,r]=Dt(),[s]=dn(),o=Lf(()=>s.map(f=>({value:f.name,label:f.title})).sort((f,u)=>f.label>u.label?1:-1),[s]),a=Lf(()=>i.map(f=>({name:f,title:s.find(u=>u.name===f)?.title||f})),[i,s]),l=Lf(()=>[{title:Gf("Form submission","forms-bridge"),name:"form"}].concat(a).concat([{title:Gf("Output payload","forms-bridge"),name:"output"}]),[a]),c=f=>{let u=i.slice(0,f).concat(i.slice(f+1,i.length));e(u,f),setTimeout(()=>{n-1===f&&f===u.length&&r(n-1)},100)},O=c0(f=>{let u=i.slice(0,f+1).concat([o[0].value]).concat(i.slice(f+1,i.length));e(u,f+1)},[i,o]),h=c0((f,u)=>{if(!f)return;let d=i.slice(0,u).concat([f]).concat(i.slice(u+1,i.length));e(d)},[i]);return React.createElement("div",{style:{flex:1,overflowY:"auto",display:"flex",flexDirection:"column"}},React.createElement(R5,{size:"large",isSeparated:!0,style:{maxHeight:"calc(100% - 68px)",overflowY:"auto"}},l.map((f,u)=>React.createElement(q5,{key:f.name+u},React.createElement(C5,{index:u,name:f.name,title:f.title,options:o,append:O,remove:c,update:h})))),React.createElement("div",{style:{padding:"1rem 16px",marginTop:"auto"}},React.createElement(Bf,{style:{width:"100px",justifyContent:"center"},variant:"primary",onClick:()=>t(),__next40pxDefaultSize:!0},Gf("New job","forms-bridge"))))}function C5({name:i,title:e,index:t,options:n,append:r,update:s,remove:o}){let a=ze(),[l,c]=Dt(),O=l===t,h=O&&i!=="form"&&i!=="output";return i==="output"?React.createElement("div",{style:{display:"flex",alignItems:"center",color:O?"var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))":"inherit"}},React.createElement("div",{style:{padding:"0.25em 0.5em"}},React.createElement("strong",null,"\u{1F680}")),React.createElement("p",{style:{cursor:"pointer",textIndent:"12px",margin:"10px 0",whiteSpace:"nowrap"},onClick:()=>c(t)},e)):React.createElement("div",{style:{display:"flex",alignItems:"center",color:O?"var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))":"inherit"}},React.createElement("div",{style:{padding:"0.25em 0.5em"}},React.createElement("strong",null,t+1,".\xA0")),React.createElement("div",{style:{flex:1}},h&&React.createElement(be,{min:"150px",max:"250px",isResponsive:a},React.createElement(_5,{value:i,onChange:f=>s(f,t-1),options:n,__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0}))||React.createElement("p",{style:{cursor:"pointer",textIndent:"12px",padding:"10px 30px 10px 0",whiteSpace:"nowrap",margin:0,border:t?"1px solid #d1cfcf":"none",overflow:"hidden",textOverflow:"ellipsis",position:"relative",width:"clamp(150px, 15vw, 250px)"},onClick:()=>c(t)},e,React.createElement("span",{style:{display:t?"block":"none",position:"absolute",top:"50%",right:"8px",width:"6px",height:"6px",borderBottom:"1px solid #d1cfcf",borderRight:"1px solid #d1cfcf",transform:"translate(-50%, -50%) rotate(45deg)"}}))),i!=="output"&&React.createElement("div",{style:{display:"inline-flex",alignItems:"center",gap:"0.45em",padding:"0 0.45em 0 0.75em"}},React.createElement(Bf,{size:"compact",variant:"secondary",disabled:!i||n.length<=1,onClick:()=>r(t-1),style:{width:"32px"},__next40pxDefaultSize:!0},"+"),React.createElement(Bf,{size:"compact",variant:"secondary",disabled:!i||i==="form",onClick:()=>o(t-1),style:{width:"32px"},isDestructive:!0,__next40pxDefaultSize:!0},"-")))}function Ja(i,e=""){let t=e.match(/\[\](?=[^[])/g)?.length>=2;if(e!==""&&(e=Y.pointer(Y.parse(e))),i.type==="object"){let n=[{value:e,label:e}];return t&&n.push({value:e+"[]",label:e+"[]"}),n.concat(Object.keys(i.properties).reduce((r,s)=>{let o=e?`${e}.${s}`:s;return r.concat(Ja(i.properties[s],o))},[]))}else if(i.type==="array"){let n=[{value:e,label:e}],r=Array.isArray(i.items)?i.items:[i.items],s=r.reduce((o,a)=>o||a.type!==r[0]?.type,!1);return s||n.push({value:e+"[]",label:e+"[]"}),n.concat(r.reduce((o,a)=>{if(s)return o;let l=`${e}[]`;return o.concat(Ja(a,l).filter(c=>t||c.value!==l))},[])).concat(r.reduce((o,a,l)=>{if(i.additionalItems)return o;let c=`${e}[${l}]`;return o.concat(Ja(a,c))},[]))}else{let n=[{label:e,value:e}];return t&&n.push({label:e+"[]",value:e+"[]"}),n}}function h0(i,e){let t=qi(pn(mn(i),e));return Ja(t)}var{BaseControl:W5,SelectControl:f0,Button:Nf}=wp.components,{useEffect:u0,useRef:d0,useMemo:Z5,useState:V5}=wp.element,{__:ye}=wp.i18n,A5=[{value:"type-cast",label:ye("Type mutations","forms-bridge"),disabled:!0},{value:"string",label:ye("String","forms-bridge")},{value:"integer",label:ye("Integer","forms-bridge")},{value:"number",label:ye("Decimal","forms-bridge")},{value:"boolean",label:ye("Boolean","forms-bridge")},{value:"not",label:ye("Negation","forms-bridge")},{value:"implode",label:ye("Implode mutations","forms-bridge"),disabled:!0},{value:"json",label:"JSON"},{value:"pretty_json",label:"Pretty JSON"},{value:"csv",label:"CSV"},{value:"concat",label:ye("Spaced","forms-bridge")},{value:"join",label:ye("Join","forms-bridge")},{value:"sum",label:ye("Sum","forms-bridge")},{value:"count",label:ye("Count","forms-bridge")},{value:"and",label:ye("AND","forms-bridge")},{value:"or",label:ye("OR","forms-bridge")},{value:"xor",label:ye("XOR","forms-bridge")},{value:"structure",label:ye("Structure mutations","forms-bridge"),disabled:!0},{value:"inherit",label:ye("Rename","forms-bridge")},{value:"copy",label:ye("Copy","forms-bridge")},{value:"null",label:ye("Ignore","forms-bridge")}],j5=`.scrollbar-hide { 81 81 -ms-overflow-style: none; 82 82 scrollbar-width: none; … … 104 104 .scrollbar-hide table tr:not(:last-child) td { 105 105 border-bottom: 1px solid #ccc; 106 }`, j5={"--wp-components-color-accent":"#cc1818",color:"var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9))",borderColor:"var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9))"};function Y5(i=""){let e={height:"40px",paddingLeft:"12px",paddingRight:"12px",fontSize:"13px",borderRadius:"2px",display:"block",width:"100%"};return i.length&&!Y.validate(i)?{...e,...j5}:e}function vs({fields:i,mappers:e,setMappers:t}){let n=eo(),r=W5(()=>n.map(f=>({value:f.name,label:`${f.name} | ${f.schema.type}`})),[n]),s=c0(),[o,a]=Z5(-1),l=(f,u,d)=>{let p=e.map((m,g)=>(u===g&&(m[f]=d,f==="from"&&m.to!==d&&(m.to=d)),{...m}));t(p)},O=f=>{let u=e.slice(0,f).concat([{from:"",to:"",cast:"string"}]).concat(e.slice(f,e.length));f===e.length&&setTimeout(()=>{s.current&&s.current.scrollTo(0,s.current.children[0].offsetHeight)},100),t(u)},c=f=>{let u=e.slice(0,f).concat(e.slice(f+1));t(u)};O0(()=>{e.length||O(e.length)},[e]);let h=c0(document.createElement("style"));return O0(()=>(h.current.appendChild(document.createTextNode(A5)),document.head.appendChild(h.current),()=>{document.head.removeChild(h.current)}),[]),React.createElement(React.Fragment,null,React.createElement("div",{ref:s,className:"scrollbar-hide",style:{flex:1}},React.createElement("table",{style:{width:"calc(100% + 10px)",margin:"0 -5px",borderSpacing:"0px"}},React.createElement("thead",null,React.createElement("tr",null,React.createElement("th",{"aria-hidden":"true"}),React.createElement("th",{scope:"col",style:{textAlign:"left",padding:"1em 0 0 0.5em",columnWidth:"200px"}},ye("From","forms-bridge")),React.createElement("th",{scope:"col",style:{textAlign:"left",padding:"1em 0 0 0.5em",columnWidth:"200px"}},ye("To","forms-bridge")),React.createElement("th",{scope:"col",style:{textAlign:"left",padding:"1em 0 0 0.5em",columnWidth:"100px"}},ye("Mutation","forms-bridge")),React.createElement("th",{"aria-hidden":"true"}))),React.createElement("tbody",null,e.map(({from:f,to:u,cast:d},p)=>{let m=a0(i,e.slice(0,p));return Y.isConditional(f)&&(f=f.replace(/^\?/,""),!m.find(g=>g.value===f))?null:React.createElement("tr",{key:p},React.createElement("td",null,p+1,"."),React.createElement("td",{style:{columnWidth:"200px"}},React.createElement(l0,{value:f,onChange:g=>l("from",p,g),options:m,__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0})),React.createElement("td",{style:{columnWidth:"200px"}},React.createElement("div",{style:{display:"flex"}},React.createElement("div",{style:{flex:1}},React.createElement(C5,{__nextHasNoMarginBottom:!0},React.createElement("input",{type:"text",value:u,onChange:g=>l("to",p,g.target.value),style:Y5(u,f)}))),React.createElement(Lf,{style:{height:"40px",width:"40px",justifyContent:"center",marginLeft:"2px"},disabled:r.length===0,size:"compact",variant:"secondary",onClick:()=>a(p),__next40pxDefaultSize:!0},"{...}",o===p&&React.createElement($n,{title:ye("Fields","forms-bridge"),tags:r,onChange:g=>{a(-1),l("to",p,g)},onFocusOutside:()=>a(-1)})))),React.createElement("td",{style:{columnWidth:"100px"}},React.createElement(l0,{value:d||"string",onChange:g=>l("cast",p,g),options:V5,__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0})),React.createElement("td",null,React.createElement("div",{style:{display:"flex",marginLeft:"0.45em",gap:"0.45em"}},React.createElement(Lf,{size:"compact",variant:"secondary",disabled:!u||!f,onClick:()=>O(p+1),style:{width:"40px",height:"40px",justifyContent:"center"},__next40pxDefaultSize:!0},"+"),React.createElement(Lf,{size:"compact",variant:"secondary",onClick:()=>c(p),style:{width:"40px",height:"40px",justifyContent:"center"},isDestructive:!0,__next40pxDefaultSize:!0},"-"))))})))))}var{useMemo:U5}=wp.element;function M5(i,e,t){return e?{display:t?"flex":"block",color:i.enter?"#4ab866":i.exit?"#cc1818":i.mutated?"#f0b849":"inherit"}:{color:"inherit",display:t?"flex":"block"}}function vi({name:i,schema:e,showDiff:t,enter:n,mutated:r,exit:s,simple:o=!1}){let a=M5({enter:n,mutated:r,exit:s},t,o);return React.createElement("div",{style:a},React.createElement("span",null,React.createElement("span",{style:o?{paddingRight:"0.5em",margin:"1px 0.5em 1px 0",borderRight:"1px solid"}:{}},React.createElement("strong",null,i))),React.createElement(E5,{data:e,showDiff:t,enter:n,exit:s,mutated:r,simple:o}))}function E5({data:i,showDiff:e,enter:t,exit:n,mutated:r,simple:s}){return U5(()=>{switch(i.type){case"object":return React.createElement(h0,{properties:i.properties,showDiff:e,enter:t,exit:n,mutated:r,simple:s});case"array":return React.createElement(Gf,{items:i.items,showDiff:e,enter:t,exit:n,mutated:r,simple:s});default:return React.createElement("div",null,i.type)}},[i])}function h0({properties:i,showDiff:e,enter:t,exit:n,mutated:r,arrayItem:s=0,simple:o=!1}){let a=s?"object"+Array.apply(null,Array(s)).map(()=>"[]").join(""):"object";return o?React.createElement("div",null,a):React.createElement(React.Fragment,null,React.createElement("div",null,a),React.createElement("ul",{style:{paddingLeft:"25px",marginBottom:0,marginTop:"5px",marginLeft:"3px",paddingTop:"5px",borderLeft:"1px dashed"}},Object.keys(i).map(l=>React.createElement("li",{key:l},React.createElement(vi,{name:l,schema:i[l],showDiff:e,enter:t,mutated:r,exit:n})))))}function Gf({items:i,showDiff:e,enter:t,exit:n,mutated:r,simple:s,arrayItem:o=0}){if(Array.isArray(i)){let l=i.reduce((c,{type:h})=>(c.includes(h)||c.push(h),c),[]),O=l.length>1?"mixed":l[0];return React.createElement(Gf,{items:{...i[0],type:O},showDiff:e,enter:t,exit:n,mutated:r,simple:s})}if(i.type==="object"&&!s)return React.createElement(h0,{properties:i.properties||{},showDiff:e,enter:t,exit:n,mutated:r,arrayItem:o+1});if(i.type==="array")return React.createElement(Gf,{items:i.items,showDiff:e,enter:t,exit:n,mutated:r,arrayItem:o+1,simple:s});let a=i.type+Array.apply(null,Array(o+1)).map(()=>"[]").join("");return React.createElement("div",null,a)}var{useState:f0,useEffect:D5,useRef:L5}=wp.element,{Tooltip:G5}=wp.components,{__:ws}=wp.i18n,B5={color:"#2f2f2f",background:"#f0f0f0",icon:null},I5={color:"#4ab866",background:"color-mix(in srgb, #fff 90%, #4ab866)",icon:React.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"16",height:"16",fill:"currentColor",className:"components-badge__icon","aria-hidden":"true",focusable:"false"},React.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 18.5a6.5 6.5 0 1 1 0-13 6.5 6.5 0 0 1 0 13ZM4 12a8 8 0 1 1 16 0 8 8 0 0 1-16 0Zm11.53-1.47-1.06-1.06L11 12.94l-1.47-1.47-1.06 1.06L11 15.06l4.53-4.53Z"}))},N5={color:"#f0b849",background:"color-mix(in srgb, #fff 90%, #f0b849)",icon:React.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",fill:"currentColor",className:"components-badge__icon","aria-hidden":"true",focusable:"false"},React.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M5.5 12a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0ZM12 4a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm-.75 12v-1.5h1.5V16h-1.5Zm0-8v5h1.5V8h-1.5Z"}))},F5={color:"#cc1818",background:"color-mix(in srgb, #fff 90%, #cc1818)",icon:React.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",fill:"currentColor",className:"components-badge__icon","aria-hidden":"true",focusable:"false"},React.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12.218 5.377a.25.25 0 0 0-.436 0l-7.29 12.96a.25.25 0 0 0 .218.373h14.58a.25.25 0 0 0 .218-.372l-7.29-12.96Zm-1.743-.735c.669-1.19 2.381-1.19 3.05 0l7.29 12.96a1.75 1.75 0 0 1-1.525 2.608H4.71a1.75 1.75 0 0 1-1.525-2.608l7.29-12.96ZM12.75 17.46h-1.5v-1.5h1.5v1.5Zm-1.5-3h1.5v-5h-1.5v5Z"}))};function H5({data:i}){let{name:e,schema:t,required:n,missing:r,mutated:s,optional:o}=i,a=r?F5:s?N5:o?B5:I5,l=r?ws("Field is required","forms-bridge"):s?ws("Field type mutation","forms-bridge"):o?ws("Field is optional","forms-bridge"):"",O=n?e+"\u2217":e;return React.createElement(G5,{text:l},React.createElement("span",{style:{cursor:"pointer",color:a.color,backgroundColor:a.background,padding:"0 8px",borderRadius:"2px",fontSize:"12px",lineHeight:"20px",alignItems:"center",display:"inline-flex",gap:"2px"}},a.icon,React.createElement(vi,{name:O,schema:t,showDiff:!1,enter:!1,exit:!1,mutated:!1,simple:!0})))}function Bf({fields:i,collapsible:e=!0,inline:t=!1}){let n=L5(),[r,s]=f0(!1),[o,a]=f0(!1);return D5(()=>{n.current&&s(n.current.offsetHeight>20)},[i]),React.createElement("div",{style:{height:!e||o?"auto":"20px",overflow:"hidden",paddingRight:"10px",position:"relative"}},React.createElement("div",{ref:n,style:{display:t?"block":"flex",gap:"5px",flexWrap:"wrap"},onClick:()=>a(!o)},t&&React.createElement("strong",null,ws("Job interface","forms-bridge"),":\xA0")||React.createElement("p",{style:{margin:0}},ws("Job interface","forms-bridge"),":\xA0"),i.length&&i.map(l=>React.createElement(H5,{key:l.name,data:l}))||null),r&&e&&React.createElement("button",{style:{position:"absolute",top:"10px",right:"0px",height:"20px",width:"20px",transform:"translateY(-50%)",backgroundColor:"transparent",border:"none",cursor:"pointer"},onClick:()=>a(!o)},React.createElement("span",{style:{display:"block",width:"6px",height:"6px",borderRight:"2px solid",borderBottom:"2px solid",transition:"transform 200ms ease",transform:o?"translateY(1.5px) rotate(-135deg)":"translateY(-1.5px) rotate(45deg)"}}))||null)}var{useMemo:K5}=wp.element;function Ps({id:i,snippet:e}){let t=K5(()=>{let n=`function forms_bridge_job_${i.replace(/-/g,"_")}($payload, $bridge)106 }`,Y5={"--wp-components-color-accent":"#cc1818",color:"var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9))",borderColor:"var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9))"};function U5(i=""){let e={height:"40px",paddingLeft:"12px",paddingRight:"12px",fontSize:"13px",borderRadius:"2px",display:"block",width:"100%"};return i.length&&!Y.validate(i)?{...e,...Y5}:e}function vs({fields:i,mappers:e,setMappers:t}){let n=Ns(),r=Z5(()=>n.map(f=>({value:f.name,label:`${f.name} | ${f.schema.type}`})),[n]),s=d0(),[o,a]=V5(-1),l=(f,u,d)=>{let p=e.map((m,g)=>(u===g&&(m[f]=d,f==="from"&&m.to!==d&&(m.to=d)),{...m}));t(p)},c=f=>{let u=e.slice(0,f).concat([{from:"",to:"",cast:"string"}]).concat(e.slice(f,e.length));f===e.length&&setTimeout(()=>{s.current&&s.current.scrollTo(0,s.current.children[0].offsetHeight)},100),t(u)},O=f=>{let u=e.slice(0,f).concat(e.slice(f+1));t(u)};u0(()=>{e.length||c(e.length)},[e]);let h=d0(document.createElement("style"));return u0(()=>(h.current.appendChild(document.createTextNode(j5)),document.head.appendChild(h.current),()=>{document.head.removeChild(h.current)}),[]),React.createElement(React.Fragment,null,React.createElement("div",{ref:s,className:"scrollbar-hide",style:{flex:1}},React.createElement("table",{style:{width:"calc(100% + 10px)",margin:"0 -5px",borderSpacing:"0px"}},React.createElement("thead",null,React.createElement("tr",null,React.createElement("th",{"aria-hidden":"true"}),React.createElement("th",{scope:"col",style:{textAlign:"left",padding:"1em 0 0 0.5em",columnWidth:"200px"}},ye("From","forms-bridge")),React.createElement("th",{scope:"col",style:{textAlign:"left",padding:"1em 0 0 0.5em",columnWidth:"200px"}},ye("To","forms-bridge")),React.createElement("th",{scope:"col",style:{textAlign:"left",padding:"1em 0 0 0.5em",columnWidth:"100px"}},ye("Mutation","forms-bridge")),React.createElement("th",{"aria-hidden":"true"}))),React.createElement("tbody",null,e.map(({from:f,to:u,cast:d},p)=>{let m=h0(i,e.slice(0,p));return Y.isConditional(f)&&(f=f.replace(/^\?/,""),!m.find(g=>g.value===f))?null:React.createElement("tr",{key:p},React.createElement("td",null,p+1,"."),React.createElement("td",{style:{columnWidth:"200px"}},React.createElement(f0,{value:f,onChange:g=>l("from",p,g),options:m,__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0})),React.createElement("td",{style:{columnWidth:"200px"}},React.createElement("div",{style:{display:"flex"}},React.createElement("div",{style:{flex:1}},React.createElement(W5,{__nextHasNoMarginBottom:!0},React.createElement("input",{type:"text",value:u,onChange:g=>l("to",p,g.target.value),style:U5(u,f)}))),React.createElement(Nf,{style:{height:"40px",width:"40px",justifyContent:"center",marginLeft:"2px"},disabled:r.length===0,size:"compact",variant:"secondary",onClick:()=>a(p),__next40pxDefaultSize:!0},"{...}",o===p&&React.createElement($n,{title:ye("Fields","forms-bridge"),tags:r,onChange:g=>{a(-1),l("to",p,g)},onFocusOutside:()=>a(-1)})))),React.createElement("td",{style:{columnWidth:"100px"}},React.createElement(f0,{value:d||"string",onChange:g=>l("cast",p,g),options:A5,__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0})),React.createElement("td",null,React.createElement("div",{style:{display:"flex",marginLeft:"0.45em",gap:"0.45em"}},React.createElement(Nf,{size:"compact",variant:"secondary",disabled:!u||!f,onClick:()=>c(p+1),style:{width:"40px",height:"40px",justifyContent:"center"},__next40pxDefaultSize:!0},"+"),React.createElement(Nf,{size:"compact",variant:"secondary",onClick:()=>O(p),style:{width:"40px",height:"40px",justifyContent:"center"},isDestructive:!0,__next40pxDefaultSize:!0},"-"))))})))))}var{useMemo:M5}=wp.element;function E5(i,e,t){return e?{display:t?"flex":"block",color:i.enter?"#4ab866":i.exit?"#cc1818":i.mutated?"#f0b849":"inherit"}:{color:"inherit",display:t?"flex":"block"}}function vi({name:i,schema:e,showDiff:t,enter:n,mutated:r,exit:s,simple:o=!1}){let a=E5({enter:n,mutated:r,exit:s},t,o);return React.createElement("div",{style:a},React.createElement("span",null,React.createElement("span",{style:o?{paddingRight:"0.5em",margin:"1px 0.5em 1px 0",borderRight:"1px solid"}:{}},React.createElement("strong",null,i))),React.createElement(D5,{data:e,showDiff:t,enter:n,exit:s,mutated:r,simple:o}))}function D5({data:i,showDiff:e,enter:t,exit:n,mutated:r,simple:s}){return M5(()=>{switch(i.type){case"object":return React.createElement(p0,{properties:i.properties,showDiff:e,enter:t,exit:n,mutated:r,simple:s});case"array":return React.createElement(Ff,{items:i.items,showDiff:e,enter:t,exit:n,mutated:r,simple:s});default:return React.createElement("div",null,i.type)}},[i])}function p0({properties:i,showDiff:e,enter:t,exit:n,mutated:r,arrayItem:s=0,simple:o=!1}){let a=s?"object"+Array.apply(null,Array(s)).map(()=>"[]").join(""):"object";return o?React.createElement("div",null,a):React.createElement(React.Fragment,null,React.createElement("div",null,a),React.createElement("ul",{style:{paddingLeft:"25px",marginBottom:0,marginTop:"5px",marginLeft:"3px",paddingTop:"5px",borderLeft:"1px dashed"}},Object.keys(i).map(l=>React.createElement("li",{key:l},React.createElement(vi,{name:l,schema:i[l],showDiff:e,enter:t,mutated:r,exit:n})))))}function Ff({items:i,showDiff:e,enter:t,exit:n,mutated:r,simple:s,arrayItem:o=0}){if(Array.isArray(i)){let l=i.reduce((O,{type:h})=>(O.includes(h)||O.push(h),O),[]),c=l.length>1?"mixed":l[0];return React.createElement(Ff,{items:{...i[0],type:c},showDiff:e,enter:t,exit:n,mutated:r,simple:s})}if(i.type==="object"&&!s)return React.createElement(p0,{properties:i.properties||{},showDiff:e,enter:t,exit:n,mutated:r,arrayItem:o+1});if(i.type==="array")return React.createElement(Ff,{items:i.items,showDiff:e,enter:t,exit:n,mutated:r,arrayItem:o+1,simple:s});let a=i.type+Array.apply(null,Array(o+1)).map(()=>"[]").join("");return React.createElement("div",null,a)}var{useState:m0,useEffect:L5,useRef:G5}=wp.element,{Tooltip:B5}=wp.components,{__:ws}=wp.i18n,I5={color:"#2f2f2f",background:"#f0f0f0",icon:null},N5={color:"#4ab866",background:"color-mix(in srgb, #fff 90%, #4ab866)",icon:React.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"16",height:"16",fill:"currentColor",className:"components-badge__icon","aria-hidden":"true",focusable:"false"},React.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 18.5a6.5 6.5 0 1 1 0-13 6.5 6.5 0 0 1 0 13ZM4 12a8 8 0 1 1 16 0 8 8 0 0 1-16 0Zm11.53-1.47-1.06-1.06L11 12.94l-1.47-1.47-1.06 1.06L11 15.06l4.53-4.53Z"}))},F5={color:"#f0b849",background:"color-mix(in srgb, #fff 90%, #f0b849)",icon:React.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",fill:"currentColor",className:"components-badge__icon","aria-hidden":"true",focusable:"false"},React.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M5.5 12a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0ZM12 4a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm-.75 12v-1.5h1.5V16h-1.5Zm0-8v5h1.5V8h-1.5Z"}))},H5={color:"#cc1818",background:"color-mix(in srgb, #fff 90%, #cc1818)",icon:React.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",fill:"currentColor",className:"components-badge__icon","aria-hidden":"true",focusable:"false"},React.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12.218 5.377a.25.25 0 0 0-.436 0l-7.29 12.96a.25.25 0 0 0 .218.373h14.58a.25.25 0 0 0 .218-.372l-7.29-12.96Zm-1.743-.735c.669-1.19 2.381-1.19 3.05 0l7.29 12.96a1.75 1.75 0 0 1-1.525 2.608H4.71a1.75 1.75 0 0 1-1.525-2.608l7.29-12.96ZM12.75 17.46h-1.5v-1.5h1.5v1.5Zm-1.5-3h1.5v-5h-1.5v5Z"}))};function K5({data:i}){let{name:e,schema:t,required:n,missing:r,mutated:s,optional:o}=i,a=r?H5:s?F5:o?I5:N5,l=r?ws("Field is required","forms-bridge"):s?ws("Field type mutation","forms-bridge"):o?ws("Field is optional","forms-bridge"):"",c=n?e+"\u2217":e;return React.createElement(B5,{text:l},React.createElement("span",{style:{cursor:"pointer",color:a.color,backgroundColor:a.background,padding:"0 8px",borderRadius:"2px",fontSize:"12px",lineHeight:"20px",alignItems:"center",display:"inline-flex",gap:"2px"}},a.icon,React.createElement(vi,{name:c,schema:t,showDiff:!1,enter:!1,exit:!1,mutated:!1,simple:!0})))}function Hf({fields:i,collapsible:e=!0,inline:t=!1}){let n=G5(),[r,s]=m0(!1),[o,a]=m0(!1);return L5(()=>{n.current&&s(n.current.offsetHeight>20)},[i]),React.createElement("div",{style:{height:!e||o?"auto":"20px",overflow:"hidden",paddingRight:"10px",position:"relative"}},React.createElement("div",{ref:n,style:{display:t?"block":"flex",gap:"5px",flexWrap:"wrap"},onClick:()=>a(!o)},t&&React.createElement("strong",null,ws("Job interface","forms-bridge"),":\xA0")||React.createElement("p",{style:{margin:0}},ws("Job interface","forms-bridge"),":\xA0"),i.length&&i.map(l=>React.createElement(K5,{key:l.name,data:l}))||null),r&&e&&React.createElement("button",{style:{position:"absolute",top:"10px",right:"0px",height:"20px",width:"20px",transform:"translateY(-50%)",backgroundColor:"transparent",border:"none",cursor:"pointer"},onClick:()=>a(!o)},React.createElement("span",{style:{display:"block",width:"6px",height:"6px",borderRight:"2px solid",borderBottom:"2px solid",transition:"transform 200ms ease",transform:o?"translateY(1.5px) rotate(-135deg)":"translateY(-1.5px) rotate(45deg)"}}))||null)}var{useMemo:J5}=wp.element;function Ps({id:i,snippet:e}){let t=J5(()=>{let n=`function forms_bridge_job_${i.replace(/-/g,"_")}($payload, $bridge) 107 107 { 108 108 ${e.replace(/(\n|\t)+$/,"")} 109 109 110 110 return $payload; 111 }`;return hljs?hljs.highlight(n,{language:"php"})?.value||"":"<p style='margin:0;color:#cc1818'><b>ERROR</b>: Highlight.js is unavailable</p>"},[i,e]);return React.createElement("code",{style:{padding:"calc(8px)",background:"transparent"}},React.createElement("pre",{style:{margin:0},dangerouslySetInnerHTML:{__html:t}}))}var{useMemo: u0}=wp.element,{__experimentalItemGroup:J5,__experimentalItem:eX}=wp.components;function ks({fields:i,mappers:e,showMutations:t=!1,showDiff:n=!1,diff:r}){let s=u0(()=>{if(!t)return r;let a=Object.fromEntries(Object.entries(r).map(([O,c])=>[O,new Set(c)])),l={};return e.map(O=>{let[c]=Y.parse(O.from),[h]=Y.parse(O.to);return c!==h&&(l[h]=c),O}).reverse().forEach(O=>{let[c]=Y.parse(O.from),[h]=Y.parse(O.to);if(h!==c)a.enter.add(h),a.enter.has(c)?a.enter.delete(c):a.exit.add(c);else if(a.mutated.has(c))a.mutated.delete(c),a.mutated.add(h);else{let f=c;for(;l[f]&&l[f]!==f;)f=l[f];let u=i.find(d=>d.name===f);if(!u)return;xt(u.type,$r(u.type,O))||a.mutated.add(h)}}),a},[i,r,t,e]),o=u0(()=>{let a;return t?a=to(pn(mn(i),e)):a=i.map(l=>({...l})),n&&(a.forEach(l=>{l.enter=s.enter.has(l.name),l.mutated=s.mutated.has(l.name),l.exit=!1}),Array.from(s.exit).forEach(l=>{a.push({name:l,schema:{type:"null"},enter:!1,mutated:!1,exit:!0})})),a},[i,e,t,n,s]);return React.createElement(J5,{size:"large",isSeparated:!0},o.map((a,l)=>React.createElement(eX,{key:a.name+l},React.createElement(vi,{...a,showDiff:n}))))}var{ToggleControl:d0,Button:If,Spinner:tX}=wp.components,{useState:Nf,useMemo:Ts,useEffect:p0,useCallback:iX,useRef:Ff}=wp.element,{__:Ji}=wp.i18n;function Hf({mode:i,setMode:e,setEdit:t,setMappers:n}){let[r,,s]=Dt(),o=ro(),[a=[],l]=gn(),[O,c]=Nf(!1),[h,f]=Nf(!1),u=Ts(()=>Array.from(l.missing).length>0,[l]),d=Ts(()=>o?.mappers||[],[o]),[p,m]=Nf(d);p0(()=>{m(d)},[d]);let g=Ts(()=>p.filter(w=>w.from&&w.to),[p]),y=Ff(r);p0(()=>(y.current!==r&&i!=="payload"&&(i==="mappers"&&n(y.current,p.filter(w=>w.to&&w.from)),e("payload")),()=>{y.current=r}),[r,i]);let S=iX(w=>{e(i!==w?w:"payload")},[i]),x=Ff(w=>{w.forEach(k=>{delete k.index}),m(w)}).current,b=Ts(()=>Array.isArray(o?.input)?o.input.map(({name:w,schema:k,required:A})=>({name:w,schema:k,required:A,missing:l.missing.has(w),mutated:l.mutated.has(w),optional:!A&&!l.exit.has(w)&&(!a.find(V=>V.name===w)||l.enter.has(w))})):[],[o]),v=Ts(()=>o?u?`${o.title} (${Ji("Skipped","forms-bridge")})`:o.title:"",[u,o]),Q=Ff(i);return i!==Q.current&&Q.current==="mappers"&&n(r,p.filter(({from:w,to:k})=>k&&w)),Q.current=i,!o&&r>0&&r<s?React.createElement("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100%"}},React.createElement(tX,null)):React.createElement("div",{style:{display:"flex",flexDirection:"column",height:"100%"}},React.createElement("div",{style:{borderBottom:"1px solid",paddingBottom:"1.5em"}},React.createElement("div",{style:{display:"inline-flex",width:"100%",alignItems:"center",justifyContent:"space-between"}},React.createElement("h3",{style:{margin:0,paddingRight:"1rem"}},v),r<s&&React.createElement("div",{style:{width:"max-content",flexShrink:0}},React.createElement(d0,{__nextHasNoMarginBottom:!0,checked:h&&!u&&i==="payload"&&g.length,label:Ji("Show mutations","forms-bridge"),onChange:()=>f(!h),disabled:u||i==="mappers"||g.length===0}))),React.createElement("div",{style:{display:"inline-flex",width:"100%",justifyContent:"space-between"}},React.createElement("p",{style:{marginTop:"0.5em",paddingRight:"1rem"}},o?.description||""),r<s&&React.createElement("div",{style:{margin:"6.5px",width:"max-content",flexShrink:0}},React.createElement(d0,{__nextHasNoMarginBottom:!0,checked:O&&!u&&i==="payload",label:Ji("Show diff","forms-bridge"),onChange:()=>c(!O),disabled:u||i==="mappers"}))),React.createElement(Bf,{fields:b})),React.createElement("div",{style:{flex:1,overflow:"hidden auto",display:"flex",flexDirection:"column",padding:"5px"}},i==="snippet"&&o?.snippet&&React.createElement(Ps,{...o})||null,i==="mappers"&&React.createElement(vs,{title:Ji("Stage mapper","forms-bridge"),fields:a,mappers:p.map((w,k)=>({...w,index:k})),setMappers:x})||null,i==="payload"&&React.createElement("div",{style:{overflowY:"auto"}},React.createElement(ks,{fields:a,mappers:p,showMutations:i!=="mappers"&&h,showDiff:O,diff:l}))||null),React.createElement("div",{style:{display:"flex",justifyContent:"space-between",padding:"1rem 0 1rem 6px",borderTop:"1px solid"}},React.createElement("div",{style:{display:"flex",gap:"0.5em"}},React.createElement(If,{style:{width:"100px",justifyContent:"center"},disabled:r===0||r===s,variant:i==="snippet"?"primary":"secondary",onClick:()=>S("snippet"),__next40pxDefaultSize:!0},Ji("Snippet","forms-bridge")),React.createElement(If,{disabled:r===s,variant:i==="mappers"?"primary":"secondary",onClick:()=>S("mappers"),__next40pxDefaultSize:!0},Ji("Mappers","forms-bridge")," (",g.length,")")),React.createElement(If,{style:{width:"100px",justifyContent:"center"},variant:"secondary",disabled:r===0||r===s,onClick:()=>t(o.name),__next40pxDefaultSize:!0},Ji("Edit","forms-bridge"))))}var{Button:nX,Modal:rX}=wp.components,{useState:m0,useRef:g0,useCallback:sX}=wp.element,{__:Kf}=wp.i18n;function Jf({workflow:i=[],setWorkflow:e,setMutationMappers:t,open:n,setOpen:r}){let s=ze(920),[,o]=fn(),[a,l]=m0(null),[O,c]=m0("payload"),[,h,f]=Dt(),[u]=gn(),d=g0(()=>{h(0),r(!0)}).current,p=sX(()=>{c("payload"),setTimeout(()=>{h(f-1),l(!1),o(null),r(!1)})},[f]),m=g0(()=>{o(null),l(!1)}).current;return React.createElement(React.Fragment,null,React.createElement(nX,{disabled:!u.length,variant:"secondary",onClick:d,__next40pxDefaultSize:!0},Kf("Workflow","forms-bridge")," (",i.length,")"),n&&React.createElement(rX,{title:Kf("Submission workflow","forms-bridge"),onRequestClose:p},React.createElement("p",{style:{marginTop:"-3rem",position:"absolute",zIndex:1}},Kf("Process the form submission before it is sent to the backend over the bridge","forms-bridge")),React.createElement("div",{style:{marginTop:"2rem",width:"1280px",maxWidth:"80vw",height:"500px",maxHeight:"80vh",display:"flex",flexDirection:s?"column":"row"}},a&&React.createElement(xs,{close:m})||React.createElement(React.Fragment,null,React.createElement("div",{style:s?{flex:1,display:"flex",flexDirection:"column",borderBottom:"1px solid",paddingBottom:"1rem",marginBottom:"2rem"}:{flex:1,maxWidth:"400px",display:"flex",flexDirection:"column",height:"100%",borderRight:"1px solid",paddingRight:"1rem",marginRight:"1rem"}},React.createElement(Df,{workflow:i,setWorkflow:e,setEdit:()=>l(!0)})),React.createElement("div",{style:{flex:2,display:"flex",flexDirection:"column",height:"100%"}},React.createElement(Hf,{mode:O,setMode:c,setEdit:g=>{o(g),l(!0)},setMappers:(g,y)=>t(g,y)}))))))}var{useEffect:oX,useMemo:aX}=wp.element,{Spinner:lX}=wp.components,{__:$0}=wp.i18n,OX={enter:new Set,exit:new Set,mutated:new Set,missing:new Set};function zs({height:i,focus:e}){let[,t,n]=Dt(),r=ro(),s=aX(()=>r?.mappers||[],[r]),[o=[]]=gn();return oX(()=>{e&&t(n-1)},[e,n]),i?React.createElement("div",{style:{display:"flex",flexDirection:"column",height:`${i-56}px`}},React.createElement("div",{style:{borderBottom:"1px solid"}},React.createElement("h2",{style:{marginTop:"5px"}},$0("Payload","forms-bridge"))),React.createElement("div",{style:{flex:1,height:"100%",overflow:"hidden auto",padding:"5px"}},r&&React.createElement("div",{style:{overflowY:"auto"}},React.createElement(ks,{fields:o,mappers:s,showMutations:!0,diff:OX}))||React.createElement("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100%"}},React.createElement(lX,null)))):React.createElement("div",{style:{flex:1}},React.createElement("div",{style:{borderBottom:"1px solid"}},React.createElement("h2",{style:{marginTop:"5px"}},$0("Payload","forms-bridge"))))}var{Button:cX,Modal:hX}=wp.components,{useState:y0,useMemo:Q0,useEffect:S0,useRef:b0,useCallback:fX}=wp.element,{__:x0}=wp.i18n,uX=`.components-modal__frame.no-scrollable .components-modal__content {111 }`;return hljs?hljs.highlight(n,{language:"php"})?.value||"":"<p style='margin:0;color:#cc1818'><b>ERROR</b>: Highlight.js is unavailable</p>"},[i,e]);return React.createElement("code",{style:{padding:"calc(8px)",background:"transparent"}},React.createElement("pre",{style:{margin:0},dangerouslySetInnerHTML:{__html:t}}))}var{useMemo:g0}=wp.element,{__experimentalItemGroup:eX,__experimentalItem:tX}=wp.components;function ks({fields:i,mappers:e,showMutations:t=!1,showDiff:n=!1,diff:r}){let s=g0(()=>{if(!t)return r;let a=Object.fromEntries(Object.entries(r).map(([c,O])=>[c,new Set(O)])),l={};return e.map(c=>{let[O]=Y.parse(c.from),[h]=Y.parse(c.to);return O!==h&&(l[h]=O),c}).reverse().forEach(c=>{let[O]=Y.parse(c.from),[h]=Y.parse(c.to);if(h!==O)a.enter.add(h),a.enter.has(O)?a.enter.delete(O):a.exit.add(O);else if(a.mutated.has(O))a.mutated.delete(O),a.mutated.add(h);else{let f=O;for(;l[f]&&l[f]!==f;)f=l[f];let u=i.find(d=>d.name===f);if(!u)return;xt(u.type,$r(u.type,c))||a.mutated.add(h)}}),a},[i,r,t,e]),o=g0(()=>{let a;return t?a=no(pn(mn(i),e)):a=i.map(l=>({...l})),n&&(a.forEach(l=>{l.enter=s.enter.has(l.name),l.mutated=s.mutated.has(l.name),l.exit=!1}),Array.from(s.exit).forEach(l=>{a.push({name:l,schema:{type:"null"},enter:!1,mutated:!1,exit:!0})})),a},[i,e,t,n,s]);return React.createElement(eX,{size:"large",isSeparated:!0},o.map((a,l)=>React.createElement(tX,{key:a.name+l},React.createElement(vi,{...a,showDiff:n}))))}var{ToggleControl:$0,Button:Kf,Spinner:iX}=wp.components,{useState:Jf,useMemo:Ts,useEffect:y0,useCallback:nX,useRef:eu}=wp.element,{__:Ji}=wp.i18n;function tu({mode:i,setMode:e,setEdit:t,setMappers:n}){let[r,,s]=Dt(),o=oo(),[a=[],l]=gn(),[c,O]=Jf(!1),[h,f]=Jf(!1),u=Ts(()=>Array.from(l.missing).length>0,[l]),d=Ts(()=>o?.mappers||[],[o]),[p,m]=Jf(d);y0(()=>{m(d)},[d]);let g=Ts(()=>p.filter(w=>w.from&&w.to),[p]),y=eu(r);y0(()=>(y.current!==r&&i!=="payload"&&(i==="mappers"&&n(y.current,p.filter(w=>w.to&&w.from)),e("payload")),()=>{y.current=r}),[r,i]);let S=nX(w=>{e(i!==w?w:"payload")},[i]),v=eu(w=>{w.forEach(k=>{delete k.index}),m(w)}).current,b=Ts(()=>Array.isArray(o?.input)?o.input.map(({name:w,schema:k,required:A})=>({name:w,schema:k,required:A,missing:l.missing.has(w),mutated:l.mutated.has(w),optional:!A&&!l.exit.has(w)&&(!a.find(V=>V.name===w)||l.enter.has(w))})):[],[o]),x=Ts(()=>o?u?`${o.title} (${Ji("Skipped","forms-bridge")})`:o.title:"",[u,o]),Q=eu(i);return i!==Q.current&&Q.current==="mappers"&&n(r,p.filter(({from:w,to:k})=>k&&w)),Q.current=i,!o&&r>0&&r<s?React.createElement("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100%"}},React.createElement(iX,null)):React.createElement("div",{style:{display:"flex",flexDirection:"column",height:"100%"}},React.createElement("div",{style:{borderBottom:"1px solid",paddingBottom:"1.5em"}},React.createElement("div",{style:{display:"inline-flex",width:"100%",alignItems:"center",justifyContent:"space-between"}},React.createElement("h3",{style:{margin:0,paddingRight:"1rem"}},x),r<s&&React.createElement("div",{style:{width:"max-content",flexShrink:0}},React.createElement($0,{__nextHasNoMarginBottom:!0,checked:h&&!u&&i==="payload"&&g.length,label:Ji("Show mutations","forms-bridge"),onChange:()=>f(!h),disabled:u||i==="mappers"||g.length===0}))),React.createElement("div",{style:{display:"inline-flex",width:"100%",justifyContent:"space-between"}},React.createElement("p",{style:{marginTop:"0.5em",paddingRight:"1rem"}},o?.description||""),r<s&&React.createElement("div",{style:{margin:"6.5px",width:"max-content",flexShrink:0}},React.createElement($0,{__nextHasNoMarginBottom:!0,checked:c&&!u&&i==="payload",label:Ji("Show diff","forms-bridge"),onChange:()=>O(!c),disabled:u||i==="mappers"}))),React.createElement(Hf,{fields:b})),React.createElement("div",{style:{flex:1,overflow:"hidden auto",display:"flex",flexDirection:"column",padding:"5px"}},i==="snippet"&&o?.snippet&&React.createElement(Ps,{...o})||null,i==="mappers"&&React.createElement(vs,{title:Ji("Stage mapper","forms-bridge"),fields:a,mappers:p.map((w,k)=>({...w,index:k})),setMappers:v})||null,i==="payload"&&React.createElement("div",{style:{overflowY:"auto"}},React.createElement(ks,{fields:a,mappers:p,showMutations:i!=="mappers"&&h,showDiff:c,diff:l}))||null),React.createElement("div",{style:{display:"flex",justifyContent:"space-between",padding:"1rem 0 1rem 6px",borderTop:"1px solid"}},React.createElement("div",{style:{display:"flex",gap:"0.5em"}},React.createElement(Kf,{style:{width:"100px",justifyContent:"center"},disabled:r===0||r===s,variant:i==="snippet"?"primary":"secondary",onClick:()=>S("snippet"),__next40pxDefaultSize:!0},Ji("Snippet","forms-bridge")),React.createElement(Kf,{disabled:r===s,variant:i==="mappers"?"primary":"secondary",onClick:()=>S("mappers"),__next40pxDefaultSize:!0},Ji("Mappers","forms-bridge")," (",g.length,")")),React.createElement(Kf,{style:{width:"100px",justifyContent:"center"},variant:"secondary",disabled:r===0||r===s,onClick:()=>t(o.name),__next40pxDefaultSize:!0},Ji("Edit","forms-bridge"))))}var{Button:rX,Modal:sX}=wp.components,{useState:Q0,useRef:S0,useCallback:oX}=wp.element,{__:iu}=wp.i18n;function nu({workflow:i=[],setWorkflow:e,setMutationMappers:t,open:n,setOpen:r}){let s=ze(920),[,o]=fn(),[a,l]=Q0(null),[c,O]=Q0("payload"),[,h,f]=Dt(),[u]=gn(),d=S0(()=>{h(0),r(!0)}).current,p=oX(()=>{O("payload"),setTimeout(()=>{h(f-1),l(!1),o(null),r(!1)})},[f]),m=S0(()=>{o(null),l(!1)}).current;return React.createElement(React.Fragment,null,React.createElement(rX,{disabled:!u.length,variant:"secondary",onClick:d,__next40pxDefaultSize:!0},iu("Workflow","forms-bridge")," (",i.length,")"),n&&React.createElement(sX,{title:iu("Submission workflow","forms-bridge"),onRequestClose:p},React.createElement("p",{style:{marginTop:"-3rem",position:"absolute",zIndex:1}},iu("Process the form submission before it is sent to the backend over the bridge","forms-bridge")),React.createElement("div",{style:{marginTop:"2rem",width:"1280px",maxWidth:"80vw",height:"500px",maxHeight:"80vh",display:"flex",flexDirection:s?"column":"row"}},a&&React.createElement(xs,{close:m})||React.createElement(React.Fragment,null,React.createElement("div",{style:s?{flex:1,display:"flex",flexDirection:"column",borderBottom:"1px solid",paddingBottom:"1rem",marginBottom:"2rem"}:{flex:1,maxWidth:"400px",display:"flex",flexDirection:"column",height:"100%",borderRight:"1px solid",paddingRight:"1rem",marginRight:"1rem"}},React.createElement(If,{workflow:i,setWorkflow:e,setEdit:()=>l(!0)})),React.createElement("div",{style:{flex:2,display:"flex",flexDirection:"column",height:"100%"}},React.createElement(tu,{mode:c,setMode:O,setEdit:g=>{o(g),l(!0)},setMappers:(g,y)=>t(g,y)}))))))}var{useEffect:aX,useMemo:lX}=wp.element,{Spinner:OX}=wp.components,{__:b0}=wp.i18n,cX={enter:new Set,exit:new Set,mutated:new Set,missing:new Set};function zs({height:i,focus:e}){let[,t,n]=Dt(),r=oo(),s=lX(()=>r?.mappers||[],[r]),[o=[]]=gn();return aX(()=>{e&&t(n-1)},[e,n]),i?React.createElement("div",{style:{display:"flex",flexDirection:"column",height:`${i-56}px`}},React.createElement("div",{style:{borderBottom:"1px solid"}},React.createElement("h2",{style:{marginTop:"5px"}},b0("Payload","forms-bridge"))),React.createElement("div",{style:{flex:1,height:"100%",overflow:"hidden auto",padding:"5px"}},r&&React.createElement("div",{style:{overflowY:"auto"}},React.createElement(ks,{fields:o,mappers:s,showMutations:!0,diff:cX}))||React.createElement("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100%"}},React.createElement(OX,null)))):React.createElement("div",{style:{flex:1}},React.createElement("div",{style:{borderBottom:"1px solid"}},React.createElement("h2",{style:{marginTop:"5px"}},b0("Payload","forms-bridge"))))}var{Button:hX,Modal:fX}=wp.components,{useState:x0,useMemo:v0,useEffect:w0,useRef:P0,useCallback:uX}=wp.element,{__:k0}=wp.i18n,dX=`.components-modal__frame.no-scrollable .components-modal__content { 112 112 overflow: hidden; 113 113 } 114 114 .components-modal__frame.no-scrollable .components-modal__content > .components-modal__header + div { 115 115 height: 100%; 116 }`;function eu({formId:i,mappers:e,setMappers:t,includeFiles:n,customFields:r}){let[s,o]=y0(!1),[a,l]=y0(e);S0(()=>{l(e)},[e]);let[O]=bt(),c=Q0(()=>O.find(p=>p._id===i),[O,i]),h=Q0(()=>c?c.fields.filter(({is_file:p})=>n||!p).reduce((p,{name:m,label:g,is_file:y,schema:S})=>(n&&y?(p.push({name:m,label:g,schema:{type:"string"}}),p.push({name:m+"_filename",label:m+"_filename",schema:{type:"string"}})):p.push({name:m,label:g,schema:S}),p),[]).concat(r.map(({name:p})=>({name:p,label:p,schema:{type:"string"}}))):[],[c,r]),f=b0(p=>{let m=p.map(({from:g,to:y,cast:S})=>({from:g,to:y,cast:S}));l(m)}).current,u=fX(()=>{let p=a.filter(({from:m,to:g,cast:y})=>m&&g&&y);t(p),o(!1)},[a]),d=b0(document.createElement("style"));return S0(()=>(d.current.appendChild(document.createTextNode(uX)),document.head.appendChild(d.current),()=>{document.head.removeChild(d.current)}),[]),React.createElement(React.Fragment,null,React.createElement(cX,{disabled:!c,variant:"secondary",onClick:()=>o(!0),__next40pxDefaultSize:!0},x0("Mappers","forms-bridge")," (",e.length,")"),s&&React.createElement(hX,{title:x0("Field mappers","forms-bridge"),onRequestClose:u,className:"no-scrollable"},React.createElement("div",{style:{minWidth:"575px",minHeight:"125px",height:"100%",display:"flex",flexDirection:"column",borderTop:"1px solid",borderBottom:"1px solid"}},React.createElement(vs,{fields:h,mappers:a.map((p,m)=>({...p,index:m})),setMappers:f,done:()=>o(!1)}))))}var{Button:tu}=wp.components,{useState:Ka,useEffect:Xs,useMemo:Ja,useCallback:iu,useRef:Rs}=wp.element,dX=wp.apiFetch,{__:wi}=wp.i18n;function nu({data:i,update:e,remove:t,schema:n,copy:r,names:s}){let[o]=K(),[a,l]=fe(),[O,c]=N(),h=ze(),f=Rs(i.name),[u,d]=Ka({...i}),[p,m]=Ka(!1),g=Rs(u);g.current=u;let y=M=>d({...g.current,...M}),S=(M,se)=>{let I=se+1,pe=g.current.mutations.map(W=>W);g.current.workflow.length>M.length?pe=pe.slice(0,I).concat(pe.slice(I+1)):pe=pe.slice(0,I).concat([[]]).concat(pe.slice(I)),y({workflow:M,mutations:pe})},x=Ja(()=>!u.name||u.name.trim()===f.current.trim()?!1:u.name!==f.current&&s.has(u.name.trim()),[s,u.name]),[b]=at(),v=Ja(()=>b.find(({name:M})=>M===u.backend),[b,u.backend]),Q=Ja(()=>{let se=(b.find(({name:I})=>I===u.backend)?.headers||[]).find(I=>I.name==="Content-Type")?.value;return se!==void 0&&se!=="multipart/form-data"},[b,u.backend]),w=iu(M=>!!Object.keys(n.properties).filter(se=>!cr.includes(se)).reduce((se,I)=>{if(!se)return se;let pe=M[I];return n.required.includes(I)?(n.properties[I].pattern&&(se=se&&new RegExp(n.properties[I].pattern).test(pe)),se&&(pe||E(n.properties[I],"default"))):se},!0),[n]),k=Ja(()=>w(u)&&!x,[u,x]);!k&&i.is_valid&&e({...i,is_valid:!1});let A=Rs();Xs(()=>{clearTimeout(A.current),k&&(i.name!==u.name?A.current=setTimeout(()=>{f.current=u.name,e({...u,is_valid:!0})},1e3):Se(i,u)&&e({...u,is_valid:!0}))},[k,u]),Xs(()=>{i.name!==f.current&&(f.current=i.name,d(i),$e(!1))},[i.name]);let V=Rs(!1);Xs(()=>(!a&&V.current&&Se(i,u)&&(d(i),$e(!1)),()=>{V.current=a}),[a,i,u]);let C=iu(()=>{let M={...i};sn(M,M.name+" bridge config")},[i]),D=Rs(),[L,G]=Ka(0);Xs(()=>{G(0),D.current&&setTimeout(()=>G(D.current.offsetHeight),100)},[n]);let[re,$e]=Ka(!1);Xs(()=>{re&&$e(!1)},[u.backend]);let Me=iu(()=>{l(!0),dX({path:`forms-bridge/v1/${o}/backend/ping`,method:"POST",data:{backend:v}}).then(({success:M})=>{M?$e(!0):c(wi("Backend is unreachable","forms-bridge"))}).catch(()=>{$e(!1),c(wi("Backend is unreachable","forms-bridge"))}).finally(()=>l(!1))},[o,v]),Qe=k&&u.enabled;return React.createElement(Qr,{formId:u.form_id,mutations:u.mutations,workflow:u.workflow,customFields:u.custom_fields,includeFiles:Q},React.createElement("div",{style:{padding:"calc(24px) calc(32px)",width:"calc(100% - 64px)",backgroundColor:"rgb(245, 245, 245)",display:"flex",flexDirection:h?"column":"row",gap:"2rem"}},React.createElement("div",{ref:D,style:{display:"flex",flexDirection:"column",gap:"0.5rem"}},React.createElement(hr,{data:u,setData:d,schema:n,errors:{name:x?wi("This name is already in use","forms-bridge"):!1}}),React.createElement("div",{style:{marginTop:"0.5rem",display:"flex",gap:"0.5rem"}},React.createElement(Ut,{label:wi("Delete","forms-bridge"),onClick:()=>t(i),icon:!0}),React.createElement(tu,{variant:"tertiary",style:{height:"40px",width:"40px",justifyContent:"center",fontSize:"1.5em",border:"1px solid",padding:"6px 6px"},onClick:r,label:wi("Duplaicate","forms-bridge"),showTooltip:!0,__next40pxDefaultSize:!0},React.createElement(Mt,{width:"25",height:"25",color:"var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))"})),React.createElement(tu,{variant:"tertiary",style:{height:"40px",width:"40px",justifyContent:"center",fontSize:"1.5em",border:"1px solid",color:"gray"},onClick:C,__next40pxDefaultSize:!0,label:wi("Download bridge config","forms-bridge"),showTooltip:!0},React.createElement(zi,{width:"12",height:"20",color:"gray"})),React.createElement(tu,{disabled:!!O||a||re,size:"compact",variant:"primary",onClick:Me,style:{background:re?"#4ab866":"var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))",marginLeft:"auto",height:"40px",justifyContent:"center"},__next40pxDefaultSize:!0},"ping"))),React.createElement("div",{style:h?{}:{paddingLeft:"2rem",borderLeft:"1px solid",display:"flex",flexDirection:"column",flex:1}},React.createElement(zs,{height:L,focus:!p}),React.createElement("div",{style:{paddingTop:"16px",display:"flex",flexDirection:h?"column":"row",gap:"0.5rem",borderTop:"1px solid"}},React.createElement("div",{style:{display:"flex",gap:"0.5rem"}},React.createElement(cO,{customFields:u.custom_fields||[],setCustomFields:M=>y({custom_fields:M})}),React.createElement(eu,{formId:u.form_id,customFields:u.custom_fields,mappers:u.mutations[0],setMappers:M=>y({mutations:[M,...u.mutations.slice(1)]}),includeFiles:Q}),React.createElement(Jf,{workflow:u.workflow,setWorkflow:S,setMutationMappers:(M,se)=>y({mutations:u.mutations.slice(0,M).concat([se]).concat(u.mutations.slice(M+1))}),open:p,setOpen:m})),React.createElement("div",{style:{marginLeft:h?0:"auto",display:"flex",alignItems:"center"}},React.createElement(Kn,{disabled:!k,checked:u.enabled&&k,onChange:()=>y({enabled:!u.enabled}),__nextHasNoMarginBottom:!0}),React.createElement("span",{style:{width:"50px",marginLeft:"-10px",fontStyle:"normal",fontSize:"12px",color:Qe?"var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))":"rgb(117, 117, 117)"}},!k||!u.enabled?wi("Disabled","forms-bridge"):wi("Enabled","forms-bridge")))))))}var{__experimentalHeading:pX}=wp.components;function ti({name:i,description:e,children:t}){return React.createElement(React.Fragment,null,React.createElement(pX,{level:3},i),React.createElement("p",{style:{marginTop:0}},e),React.createElement("div",{style:{display:"flex",flexDirection:"column"}},t))}var{__:ru}=wp.i18n;function mX({data:i,error:e}){switch(i.type){case"boolean":return React.createElement(gX,{name:i.name,value:i.value,onChange:i.onChange});case"number":return React.createElement(yX,{required:!!i.required,name:i.name,value:i.value,onChange:i.onChange,min:i.min,max:i.max,error:e});case"select":return Array.isArray(i.options)?React.createElement(QX,{required:!!i.required,name:i.name,value:i.value,onChange:i.onChange,options:i.options,multiple:!!i.is_multi}):null;case"text":default:return React.createElement($X,{type:i.type,required:!!i.required,name:i.name,value:i.value,onChange:i.onChange,error:e})}}function gX({name:i,value:e,onChange:t}){return Array.isArray(e)&&(e=!!e[0]),React.createElement("input",{type:"checkbox",name:i,onChange:()=>t(!e),checked:e})}function $X({type:i,name:e,value:t,onChange:n,required:r,error:s}){let o={};r&&(o.required=!0);let a={width:"100%"};return s&&(a.border="1px solid red"),React.createElement(React.Fragment,null,React.createElement("input",{type:i,name:e,value:t||"",onChange:({target:l})=>n(l.value),style:a,...o}),s&&React.createElement("p",{style:{margin:"5px 0 0",fontSize:"12px",color:"red"}},s))}function yX({name:i,value:e,onChange:t,required:n,min:r=null,max:s=null,error:o}){let a={};r&&(a.min=r),s&&(a.max=s),n&&(a.required=!0),!o&&e&&(isNaN(e)?o=ru("The value is not a number","forms-bridge"):r!==null&&!isNaN(r)&&e<r?o=ru("The value is too small","forms-bridge"):s!==null&&!isNaN(s)&&e>s&&(o=ru("The value is too large","forms-bridge")));let l={width:"100%"};return o&&(l.border="1px solid red"),React.createElement(React.Fragment,null,React.createElement("input",{type:"number",name:i,value:e||"",onChange:({target:O})=>t(O.value),style:l,...a}),o&&React.createElement("p",{style:{color:"red"}},o))}function QX({name:i,value:e,onChange:t,required:n,multiple:r,options:s=[],error:o}){let a={};n?a.required=!0:r||(s=[{label:"",value:""}].concat(s.filter(O=>O.value)));let l={width:"100%",maxWidth:"unset"};return o&&(l.border="1px solid red"),React.createElement(React.Fragment,null,React.createElement("select",{name:i,value:e||"",onChange:({target:O})=>{let c=Array.from(O.children).filter(h=>h.selected).map(h=>h.value);t(r?c:c[0])},style:l,multiple:!!r,...a},s.map(({label:O,value:c},h)=>React.createElement("option",{key:h,value:c},O))))}function jt({data:i,error:e}){let t=!!i.required;return React.createElement("label",{style:{margin:"0.5rem 0"},htmlFor:i.name},i.label,t&&React.createElement("span",{style:{marginLeft:"3px",color:"red"}},"*"),i.description&&React.createElement("p",{style:{marginTop:0,opacity:.8}},React.createElement("em",{dangerouslySetInnerHTML:{__html:i.description}}))||React.createElement("br",null),React.createElement(mX,{data:i,error:e}))}function qs(i){return i.replace(/^#/,"").replace(/\/.*/,"")}function er(i,e){return i.filter(({ref:t})=>new RegExp("^#"+e).test(t))}function _s(i,e,t){return!i?.name||e?.schema&&e.schema!==i.schema?!1:t.reduce((n,{name:r,required:s})=>{if(!n||!s)return n;let o=i[r];return n&&o!==void 0&&o!==null&&o!==""},!0)}function Cs(i,e,t){if(!i?.name)return!1;let n=t.reduce((r,{name:s,ref:o,required:a})=>{if(!r||!a)return r;let l;return o==="#backend/headers[]"?l=i.headers.find(O=>O.name===s)?.value:l=i[s],r&&l!==void 0&&l!==null&&l!==""},!0);if(!n)return n;if(e.base_url&&i.base_url!==e.base_url){if(e.base_url!==i.base_url){let r=e.base_url.replace(/{\w+}/g,".+");if(new RegExp(r).test(i.base_url)===!1)return!1}}else if(!ki(i.base_url))return!1;return e.headers.reduce((r,{name:s,value:o})=>{if(!r)return r;let a=i.headers.find(l=>l.name===s);return a?a.value===o:!1},n)}function el(i,e={},t){if(!i?.name||!i?.base_url)return;let n={name:i.name||e.name,base_url:i.base_url||e.base_url,credential:i.credential||"",headers:Object.keys(i).filter(r=>!["name","base_url","credential"].includes(r)).map(r=>({name:r,value:i[r]}))};return Array.isArray(e.headers)&&e.headers.forEach(({name:r,value:s})=>{n.headers.find(o=>o.name===r)||n.headers.push({name:r,value:s})}),t.forEach(r=>{if(r.value)if(r.ref==="#backend/headers[]"){let s=n.headers.find(o=>o.name===r.name);s?s.value=r.value:n.headers.push({name:r.name,value:r.value})}else n[r.name]=r.value}),n}var{SelectControl:SX}=wp.components,{useMemo:Pi,useState:v0,useEffect:w0,useRef:bX}=wp.element,{__:Ws}=wp.i18n,xX=["name","base_url","headers"];function su({fields:i,data:e,setData:t,wired:n,fetched:r,credential:s,fetchError:o}){let[a]=at(),l=Yt(),[{backend:O}]=Ee(),c=Pi(()=>si(i,xX),[i]),[h,f]=v0({...e}),u=Pi(()=>{let Q=i.reduce((w,k)=>{let A=k.value||k.default||"";return!A&&k.type==="select"&&k.required&&(A=k.options[0].value),w[k.name]=A,w},{});return{base_url:O.base_url,name:O.name,credential:O.credential,...Q}},[i,O]),d=Pi(()=>a.filter(Q=>Cs(Q,O,i)).filter(Q=>s?Q.credential===s:Q),[a,O,i]),p=Pi(()=>Ce(d.map(({name:Q})=>({label:Q,value:Q}))).sort((Q,w)=>Q.label>w.label?1:-1),[d]),[m,g]=v0(()=>p.find(({value:Q})=>Q===e.name)?.value||""),y=Pi(()=>h.name&&l.has(h.name.trim()),[l,h.name]),S=Pi(()=>{if(y)return;let Q=el(h,O,i);if(Cs(Q,O,i))return Q},[h,y,O,i]),x=Pi(()=>{let Q=d.find(w=>w.name===m);return Q||S},[d,m,S]);w0(()=>{if(!x){t(null);return}m&&f({...u});let Q={name:x.name,base_url:x.base_url};x.headers.filter(({name:w})=>i.find(k=>k.name===w)).forEach(({name:w,value:k})=>Q[w]=k),x.authentication?.type&&(Q.client_id=x.authentication.client_id,Q.client_secret=x.authentication.client_secret),t(Q)},[m,x,i]);let b=bX(O);w0(()=>(Se(O,b.current)&&g(""),()=>{b.current=O}),[O]);let v=Pi(()=>n===!0&&r===!0?"\u{1F44C}":n===!1||o?"\u{1F44E}":x?"\u23F3":null,[n,r,x,o]);return React.createElement(ti,{name:Ws("Backend","forms-bridge"),description:Ws("Configure the backend to bridge your form to","forms-bridge")},React.createElement("p",{style:{height:"30px",marginTop:0,display:"flex",alignItems:"center"}},React.createElement("strong",null,Ws("Connection status","forms-bridge"),":"),React.createElement("i",{style:{fontSize:"1.5em",marginLeft:"0.25em",fontStyle:"normal"}},v)),p.length>0&&React.createElement(SX,{label:Ws("Reuse an existing backend","forms-bridge"),value:m,options:p,onChange:g,__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0}),!m&&c.map(Q=>React.createElement(jt,{key:Q.name,data:{...Q,value:h[Q.name]||"",onChange:w=>f({...h,[Q.name]:w})},error:Q.name==="name"&&y&&Ws("This name is already in use","forms-bridge")})))}var{useMemo:Zs,useState:vX,useEffect:ou,useRef:wX}=wp.element,{__:au}=wp.i18n,{SelectControl:PX}=wp.components,kX=["title"];function TX(i,e,t,n){return i._id.indexOf(n)!==0?!1:e.fields.reduce((s,{name:o,label:a,type:l})=>{if(!s)return s;let O=i.fields.find(c=>o===c.name)||n==="wpforms"&&i.fields.find(c=>a===c.name);return O?s&&O.type===l:!1},!0)&&t.filter(s=>s.ref==="#form/fields[]").reduce((s,{name:o,required:a,type:l})=>{if(!s)return s;let O=i.fields.find(c=>c.name===o);return O?s&&l===O.type:a?!1:s},!0)}function lu({fields:i,data:e,setData:t,integration:n}){let[{form:r}]=Ee(),[s]=bt(),o=Zs(()=>s.filter(d=>TX(d,r,i,n)),[s,n]),a=Zs(()=>Ce(o.map(({id:d,title:p})=>({label:p,value:d}))),[o]),[l,O]=vX(""),c=wX("");ou(()=>{O("")},[n]),ou(()=>(l!==c.current&&t(),()=>{c.current=l}),[l]);let h=Zs(()=>s.find(({id:d})=>d==l),[s,l]);ou(()=>{if(!h)return;let d=r.fields.reduce((p,m)=>{switch(m.type){case"object":p[m.name]=[];break;case"boolean":p[m.name]=!1;break;default:p[m.name]=""}return p},{});d.id=h.id,d.title=h.title,t(d)},[h]);let f=Zs(()=>si(i,kX),[i]),u=Zs(()=>h?[]:f.filter(d=>d.name!=="id"),[h,f]);return React.createElement(ti,{name:au("Form","forms-bridge"),description:au("Populate the form default values","forms-bridge")},a.length>0&&React.createElement(PX,{label:au("Reuse an existing form","forms-bridge"),value:l,options:a,onChange:O,__nextHasNoMarginBottom:!0}),u.map(d=>React.createElement(jt,{key:d.name,data:{...d,value:e[d.name]||"",onChange:p=>t({[d.name]:p})}})))}var{useMemo:P0,useState:zX,useEffect:XX}=wp.element,{__:Ou}=wp.i18n,RX=["name"];function cu({fields:i,data:e,setData:t}){let n=pr(),[r,s]=zX(""),o=P0(()=>si(i,RX),[i]),a=P0(()=>e.name!==r.trim()&&n.has(r.trim()),[n,r]);return XX(()=>{r&&!a&&t({name:r})},[r,a]),React.createElement(ti,{name:Ou("Bridge","forms-bridge"),description:Ou("Configure the bridge","forms-bridge")},React.createElement(jt,{data:{...o[0],value:r,onChange:s},error:a?Ou("This name is already in use","forms-bridge"):!1}),o.slice(1).map(l=>React.createElement(jt,{key:l.name,data:{...l,value:e[l.name]||"",onChange:O=>t({[l.name]:O})}})))}var{useMemo:en,useState:k0,useEffect:hu,useRef:qX}=wp.element,{SelectControl:_X}=wp.components,{__:tl}=wp.i18n,CX=["name"];function fu({fields:i,data:e,setData:t}){let[n]=li(),[{credential:r}]=Ee(),s=en(()=>new Set(n.map(({name:g})=>g)),[n]),o=en(()=>si(i,CX),[i]),[a,l]=k0({...e}),O=en(()=>{let g=i.reduce((y,S)=>{let x=S.default||r?.[S.name]||"";return!x&&S.type==="select"&&S.required&&(x=S.options[0].value),y[S.name]=x,y},{});return{...r,...g}},[i,r]),c=en(()=>n.filter(g=>_s(g,r,i)),[n,r,i]),h=en(()=>Ce(c.map(({name:g})=>({label:g,value:g})).sort((g,y)=>g.label>y.label?1:-1)),[c]),[f,u]=k0(()=>h.find(({value:g})=>g===e.name)?.value||""),d=en(()=>a.name&&s.has(a.name.trim()),[s,a.name]),p=en(()=>{let g=c.find(y=>y.name===f);if(g)return g;if(_s(a,r,i))return a},[c,f,a,r,d,i]);hu(()=>{if(!p){t(null);return}f&&l({...O}),t({...p})},[p]);let m=qX(r);return hu(()=>(Se(r,m.current)&&u(""),()=>{m.current=r}),[r]),hu(()=>{let g=c.find(y=>y.name===e.name);g&&u(g.name)},[e.name,c]),React.createElement(ti,{name:tl("Credential","forms-bridge"),description:tl("Configure the backend credentials","forms-bridge")},h.length>0&&React.createElement(_X,{label:tl("Reuse an existing credential","forms-bridge"),value:f,options:h,onChange:u,__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0}),!f&&o.map(g=>React.createElement(jt,{key:g.name,data:{...g,value:a[g.name]||"",onChange:y=>l({...a,[g.name]:y})},error:g.name==="name"&&d&&tl("This name is already in use","forms-bridge")})))}var{useState:WX,useEffect:ZX,useMemo:il}=wp.element,VX=[{name:"credential",component:fu},{name:"backend",component:su},{name:"form",component:lu},{name:"bridge",component:cu}];function uu({fields:i,integration:e,data:t}){let{bridge:n}=ri(),r=il(()=>VX.filter(f=>e==="woo"?f.name!=="form":!0),[e,n]),[s,o]=WX(0),{name:a,component:l}=il(()=>r[s],[r,s]),O=il(()=>er(i,a),[s,r,i]);ZX(()=>{i.length&&(O.length||setTimeout(()=>h(1)))},[i,O]);let c=il(()=>O.length?O.reduce((f,u)=>{let d=t[a]?.[u.name];return f&&(!!d||!u.required)},!0):!0,[O,t,a]),h=f=>{let u=s+f,d=r[u].name,p=er(i,d);for(;p.length===0&&u>0&&u<r.length-1;)u+=f,d=r[u],p=er(i,d);o(u)};return{done:c,move:h,step:s,Step:l,name:a,reset:()=>o(0),trailing:s===r.length-1}}var{useState:AX,useEffect:du,useMemo:jX,useCallback:YX,useRef:T0}=wp.element,UX=wp.apiFetch;function pu({step:i,data:e={},fields:t=[],credential:n,authorized:r}){let[s]=K(),{backend:o}=Ee()[0]||{},[a,l]=AX(null);du(()=>{l(null)},[o,n,r]);let O=jX(()=>{if(!o)return;let u=el(e,o,t);if(Cs(u,o,t))return u},[e,o,t]),c=T0();du(()=>((!O||Se(O,c.current))&&l(null),()=>{c.current=O}),[O]);let h=YX((u,d={})=>{UX({path:`forms-bridge/v1/${s}/backend/ping`,method:"POST",data:{backend:u,credential:d}}).then(({success:p})=>l(p)).catch(()=>l(!1))},[s]),f=T0();return du(()=>{clearTimeout(f.current),!(i!=="backend"||!O||!r||a!==null)&&(f.current=setTimeout(()=>h(O,n),500))},[i,o,a,O,n,r]),[O,a]}var{useState:z0,useEffect:mu,useRef:MX,useMemo:X0,useCallback:EX}=wp.element,DX=wp.apiFetch;function gu({data:i={},fields:e=[]}){let[t]=K(),[n,r]=fe(),[s,o]=z0(!1),a=MX(!0),[l,O]=z0(!0);mu(()=>{let g=()=>O(!0),y=()=>O(!1);return window.addEventListener("focus",g),window.addEventListener("blur",y),()=>{window.removeEventListener("focus",g),window.removeEventListener("blur",y)}},[]);let{credential:c}=Ee()[0]||{},{credential:h}=ri(),f=X0(()=>{if(c&&_s(i,c,e)){let g={...i},y=h?.oneOf.find(S=>S.properties.schema.const===g.schema||S.properties.schema.enum?.includes(g.schema));return y&&Object.keys(y.properties).forEach(S=>{E(y.properties[S],"default")&&(g[S]=g[S]||y.properties[S].default)}),g}},[h,i,c,e]);mu(()=>{o(!1)},[f]);let u=i.schema==="Bearer",d=X0(()=>{if(!u||i.refresh_token)return!0;if(!(i.access_token&&i.expires_at))return!1;let g=new Date(i.expires_at);return g.getFullYear()===1970&&(g=new Date(i.expires_at*1e3)),Date.now()<g.getTime()},[u,i.access_token,i.expires_at]),p=ot();mu(()=>(l&&!a.current&&!d&&p(),()=>{a.current=l}),[l]);let m=EX(()=>{if(!f)return;let g=f.oauth_url,y=g.match(/{(\w+)}/);y&&f[y[1]]&&(g=g.replace(/{\w+}/,f[y[1]])),f.oauth_url=g,r(!0),DX({path:"forms-bridge/v1/oauth/grant",method:"POST",data:{credential:f}}).then(({success:S,redirect_url:x})=>{if(!S)throw"error";let b=document.createElement("form");b.method="GET",b.action=x,b.target="_blank";let v=`116 }`;function ru({formId:i,mappers:e,setMappers:t,includeFiles:n,customFields:r}){let[s,o]=x0(!1),[a,l]=x0(e);w0(()=>{l(e)},[e]);let[c]=bt(),O=v0(()=>c.find(p=>p._id===i),[c,i]),h=v0(()=>O?O.fields.filter(({is_file:p})=>n||!p).reduce((p,{name:m,label:g,is_file:y,schema:S})=>(n&&y?(p.push({name:m,label:g,schema:{type:"string"}}),p.push({name:m+"_filename",label:m+"_filename",schema:{type:"string"}})):p.push({name:m,label:g,schema:S}),p),[]).concat(r.map(({name:p})=>({name:p,label:p,schema:{type:"string"}}))):[],[O,r]),f=P0(p=>{let m=p.map(({from:g,to:y,cast:S})=>({from:g,to:y,cast:S}));l(m)}).current,u=uX(()=>{let p=a.filter(({from:m,to:g,cast:y})=>m&&g&&y);t(p),o(!1)},[a]),d=P0(document.createElement("style"));return w0(()=>(d.current.appendChild(document.createTextNode(dX)),document.head.appendChild(d.current),()=>{document.head.removeChild(d.current)}),[]),React.createElement(React.Fragment,null,React.createElement(hX,{disabled:!O,variant:"secondary",onClick:()=>o(!0),__next40pxDefaultSize:!0},k0("Mappers","forms-bridge")," (",e.length,")"),s&&React.createElement(fX,{title:k0("Field mappers","forms-bridge"),onRequestClose:u,className:"no-scrollable"},React.createElement("div",{style:{minWidth:"575px",minHeight:"125px",height:"100%",display:"flex",flexDirection:"column",borderTop:"1px solid",borderBottom:"1px solid"}},React.createElement(vs,{fields:h,mappers:a.map((p,m)=>({...p,index:m})),setMappers:f,done:()=>o(!1)}))))}var{Button:su}=wp.components,{useState:el,useEffect:Xs,useMemo:tl,useCallback:ou,useRef:Rs}=wp.element,pX=wp.apiFetch,{__:wi}=wp.i18n;function au({data:i,update:e,remove:t,schema:n,copy:r,names:s}){let[o]=K(),[a,l]=fe(),[c,O]=N(),h=ze(),f=Rs(i.name),[u,d]=el({...i}),[p,m]=el(!1),g=Rs(u);g.current=u;let y=M=>d({...g.current,...M}),S=(M,se)=>{let I=se+1,pe=g.current.mutations.map(W=>W);g.current.workflow.length>M.length?pe=pe.slice(0,I).concat(pe.slice(I+1)):pe=pe.slice(0,I).concat([[]]).concat(pe.slice(I)),y({workflow:M,mutations:pe})},v=tl(()=>!u.name||u.name.trim()===f.current.trim()?!1:u.name!==f.current&&s.has(u.name.trim()),[s,u.name]),[b]=at(),x=tl(()=>b.find(({name:M})=>M===u.backend),[b,u.backend]),Q=tl(()=>{let se=(b.find(({name:I})=>I===u.backend)?.headers||[]).find(I=>I.name==="Content-Type")?.value;return se!==void 0&&se!=="multipart/form-data"},[b,u.backend]),w=ou(M=>!!Object.keys(n.properties).filter(se=>!cr.includes(se)).reduce((se,I)=>{if(!se)return se;let pe=M[I];return n.required.includes(I)?(n.properties[I].pattern&&(se=se&&new RegExp(n.properties[I].pattern).test(pe)),se&&(pe||E(n.properties[I],"default"))):se},!0),[n]),k=tl(()=>w(u)&&!v,[u,v]);!k&&i.is_valid&&e({...i,is_valid:!1});let A=Rs();Xs(()=>{clearTimeout(A.current),k&&(i.name!==u.name?A.current=setTimeout(()=>{f.current=u.name,e({...u,is_valid:!0})},1e3):Se(i,u)&&e({...u,is_valid:!0}))},[k,u]),Xs(()=>{i.name!==f.current&&(f.current=i.name,d(i),$e(!1))},[i.name]);let V=Rs(!1);Xs(()=>(!a&&V.current&&Se(i,u)&&(d(i),$e(!1)),()=>{V.current=a}),[a,i,u]);let C=ou(()=>{let M={...i};sn(M,M.name+" bridge config")},[i]),D=Rs(),[L,G]=el(0);Xs(()=>{G(0),D.current&&setTimeout(()=>G(D.current.offsetHeight),100)},[n]);let[re,$e]=el(!1);Xs(()=>{re&&$e(!1)},[u.backend]);let Me=ou(()=>{l(!0),pX({path:`forms-bridge/v1/${o}/backend/ping`,method:"POST",data:{backend:x}}).then(({success:M})=>{M?$e(!0):O(wi("Backend is unreachable","forms-bridge"))}).catch(()=>{$e(!1),O(wi("Backend is unreachable","forms-bridge"))}).finally(()=>l(!1))},[o,x]),Qe=k&&u.enabled;return React.createElement(Qr,{formId:u.form_id,mutations:u.mutations,workflow:u.workflow,customFields:u.custom_fields,includeFiles:Q},React.createElement("div",{style:{padding:"calc(24px) calc(32px)",width:"calc(100% - 64px)",backgroundColor:"rgb(245, 245, 245)",display:"flex",flexDirection:h?"column":"row",gap:"2rem"}},React.createElement("div",{ref:D,style:{display:"flex",flexDirection:"column",gap:"0.5rem"}},React.createElement(hr,{data:u,setData:d,schema:n,errors:{name:v?wi("This name is already in use","forms-bridge"):!1}}),React.createElement("div",{style:{marginTop:"0.5rem",display:"flex",gap:"0.5rem"}},React.createElement(Ut,{label:wi("Delete","forms-bridge"),onClick:()=>t(i),icon:!0}),React.createElement(su,{variant:"tertiary",style:{height:"40px",width:"40px",justifyContent:"center",fontSize:"1.5em",border:"1px solid",padding:"6px 6px"},onClick:r,label:wi("Duplaicate","forms-bridge"),showTooltip:!0,__next40pxDefaultSize:!0},React.createElement(Mt,{width:"25",height:"25",color:"var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))"})),React.createElement(su,{variant:"tertiary",style:{height:"40px",width:"40px",justifyContent:"center",fontSize:"1.5em",border:"1px solid",color:"gray"},onClick:C,__next40pxDefaultSize:!0,label:wi("Download bridge config","forms-bridge"),showTooltip:!0},React.createElement(zi,{width:"12",height:"20",color:"gray"})),React.createElement(su,{disabled:!!c||a||re,size:"compact",variant:"primary",onClick:Me,style:{background:re?"#4ab866":"var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))",marginLeft:"auto",height:"40px",justifyContent:"center"},__next40pxDefaultSize:!0},"ping"))),React.createElement("div",{style:h?{}:{paddingLeft:"2rem",borderLeft:"1px solid",display:"flex",flexDirection:"column",flex:1}},React.createElement(zs,{height:L,focus:!p}),React.createElement("div",{style:{paddingTop:"16px",display:"flex",flexDirection:h?"column":"row",gap:"0.5rem",borderTop:"1px solid"}},React.createElement("div",{style:{display:"flex",gap:"0.5rem"}},React.createElement(dO,{customFields:u.custom_fields||[],setCustomFields:M=>y({custom_fields:M})}),React.createElement(ru,{formId:u.form_id,customFields:u.custom_fields,mappers:u.mutations[0],setMappers:M=>y({mutations:[M,...u.mutations.slice(1)]}),includeFiles:Q}),React.createElement(nu,{workflow:u.workflow,setWorkflow:S,setMutationMappers:(M,se)=>y({mutations:u.mutations.slice(0,M).concat([se]).concat(u.mutations.slice(M+1))}),open:p,setOpen:m})),React.createElement("div",{style:{marginLeft:h?0:"auto",display:"flex",alignItems:"center"}},React.createElement(Kn,{disabled:!k,checked:u.enabled&&k,onChange:()=>y({enabled:!u.enabled}),__nextHasNoMarginBottom:!0}),React.createElement("span",{style:{width:"50px",marginLeft:"-10px",fontStyle:"normal",fontSize:"12px",color:Qe?"var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))":"rgb(117, 117, 117)"}},!k||!u.enabled?wi("Disabled","forms-bridge"):wi("Enabled","forms-bridge")))))))}var{__experimentalHeading:mX}=wp.components;function ti({name:i,description:e,children:t}){return React.createElement(React.Fragment,null,React.createElement(mX,{level:3},i),React.createElement("p",{style:{marginTop:0}},e),React.createElement("div",{style:{display:"flex",flexDirection:"column"}},t))}var{__:lu}=wp.i18n;function gX({data:i,error:e}){switch(i.type){case"boolean":return React.createElement($X,{name:i.name,value:i.value,onChange:i.onChange});case"number":return React.createElement(QX,{required:!!i.required,name:i.name,value:i.value,onChange:i.onChange,min:i.min,max:i.max,error:e});case"select":return Array.isArray(i.options)?React.createElement(SX,{required:!!i.required,name:i.name,value:i.value,onChange:i.onChange,options:i.options,multiple:!!i.is_multi}):null;case"text":default:return React.createElement(yX,{type:i.type,required:!!i.required,name:i.name,value:i.value,onChange:i.onChange,error:e})}}function $X({name:i,value:e,onChange:t}){return Array.isArray(e)&&(e=!!e[0]),React.createElement("input",{type:"checkbox",name:i,onChange:()=>t(!e),checked:e})}function yX({type:i,name:e,value:t,onChange:n,required:r,error:s}){let o={};r&&(o.required=!0);let a={width:"100%"};return s&&(a.border="1px solid red"),React.createElement(React.Fragment,null,React.createElement("input",{type:i,name:e,value:t||"",onChange:({target:l})=>n(l.value),style:a,...o}),s&&React.createElement("p",{style:{margin:"5px 0 0",fontSize:"12px",color:"red"}},s))}function QX({name:i,value:e,onChange:t,required:n,min:r=null,max:s=null,error:o}){let a={};r&&(a.min=r),s&&(a.max=s),n&&(a.required=!0),!o&&e&&(isNaN(e)?o=lu("The value is not a number","forms-bridge"):r!==null&&!isNaN(r)&&e<r?o=lu("The value is too small","forms-bridge"):s!==null&&!isNaN(s)&&e>s&&(o=lu("The value is too large","forms-bridge")));let l={width:"100%"};return o&&(l.border="1px solid red"),React.createElement(React.Fragment,null,React.createElement("input",{type:"number",name:i,value:e||"",onChange:({target:c})=>t(c.value),style:l,...a}),o&&React.createElement("p",{style:{color:"red"}},o))}function SX({name:i,value:e,onChange:t,required:n,multiple:r,options:s=[],error:o}){let a={};n?a.required=!0:r||(s=[{label:"",value:""}].concat(s.filter(c=>c.value)));let l={width:"100%",maxWidth:"unset"};return o&&(l.border="1px solid red"),React.createElement(React.Fragment,null,React.createElement("select",{name:i,value:e||"",onChange:({target:c})=>{let O=Array.from(c.children).filter(h=>h.selected).map(h=>h.value);t(r?O:O[0])},style:l,multiple:!!r,...a},s.map(({label:c,value:O},h)=>React.createElement("option",{key:h,value:O},c))))}function jt({data:i,error:e}){let t=!!i.required;return React.createElement("label",{style:{margin:"0.5rem 0"},htmlFor:i.name},i.label,t&&React.createElement("span",{style:{marginLeft:"3px",color:"red"}},"*"),i.description&&React.createElement("p",{style:{marginTop:0,opacity:.8}},React.createElement("em",{dangerouslySetInnerHTML:{__html:i.description}}))||React.createElement("br",null),React.createElement(gX,{data:i,error:e}))}function qs(i){return i.replace(/^#/,"").replace(/\/.*/,"")}function er(i,e){return i.filter(({ref:t})=>new RegExp("^#"+e).test(t))}function _s(i,e,t){return!i?.name||e?.schema&&e.schema!==i.schema?!1:t.reduce((n,{name:r,required:s})=>{if(!n||!s)return n;let o=i[r];return n&&o!==void 0&&o!==null&&o!==""},!0)}function Cs(i,e,t){if(!i?.name)return!1;let n=t.reduce((r,{name:s,ref:o,required:a})=>{if(!r||!a)return r;let l;return o==="#backend/headers[]"?l=i.headers.find(c=>c.name===s)?.value:l=i[s],r&&l!==void 0&&l!==null&&l!==""},!0);if(!n)return n;if(e.base_url&&i.base_url!==e.base_url){if(e.base_url!==i.base_url){let r=e.base_url.replace(/{\w+}/g,".+");if(new RegExp(r).test(i.base_url)===!1)return!1}}else if(!ki(i.base_url))return!1;return e.headers.reduce((r,{name:s,value:o})=>{if(!r)return r;let a=i.headers.find(l=>l.name===s);return a?a.value===o:!1},n)}function il(i,e={},t){if(!i?.name||!i?.base_url)return;let n={name:i.name||e.name,base_url:i.base_url||e.base_url,credential:i.credential||"",headers:Object.keys(i).filter(r=>!["name","base_url","credential"].includes(r)).map(r=>({name:r,value:i[r]}))};return Array.isArray(e.headers)&&e.headers.forEach(({name:r,value:s})=>{n.headers.find(o=>o.name===r)||n.headers.push({name:r,value:s})}),t.forEach(r=>{if(r.value)if(r.ref==="#backend/headers[]"){let s=n.headers.find(o=>o.name===r.name);s?s.value=r.value:n.headers.push({name:r.name,value:r.value})}else n[r.name]=r.value}),n}var{SelectControl:bX}=wp.components,{useMemo:Pi,useState:T0,useEffect:z0,useRef:xX}=wp.element,{__:Ws}=wp.i18n,vX=["name","base_url","headers"];function Ou({fields:i,data:e,setData:t,wired:n,fetched:r,credential:s,fetchError:o}){let[a]=at(),l=Yt(),[{backend:c}]=Ee(),O=Pi(()=>si(i,vX),[i]),[h,f]=T0({...e}),u=Pi(()=>{let Q=i.reduce((w,k)=>{let A=k.value||k.default||"";return!A&&k.type==="select"&&k.required&&(A=k.options[0].value),w[k.name]=A,w},{});return{base_url:c.base_url,name:c.name,credential:c.credential,...Q}},[i,c]),d=Pi(()=>a.filter(Q=>Cs(Q,c,i)).filter(Q=>s?Q.credential===s:Q),[a,c,i]),p=Pi(()=>Ce(d.map(({name:Q})=>({label:Q,value:Q}))).sort((Q,w)=>Q.label>w.label?1:-1),[d]),[m,g]=T0(()=>p.find(({value:Q})=>Q===e.name)?.value||""),y=Pi(()=>h.name&&l.has(h.name.trim()),[l,h.name]),S=Pi(()=>{if(y)return;let Q=il(h,c,i);if(Cs(Q,c,i))return Q},[h,y,c,i]),v=Pi(()=>{let Q=d.find(w=>w.name===m);return Q||S},[d,m,S]);z0(()=>{if(!v){t(null);return}m&&f({...u});let Q={name:v.name,base_url:v.base_url};v.headers.filter(({name:w})=>i.find(k=>k.name===w)).forEach(({name:w,value:k})=>Q[w]=k),v.authentication?.type&&(Q.client_id=v.authentication.client_id,Q.client_secret=v.authentication.client_secret),t(Q)},[m,v,i]);let b=xX(c);z0(()=>(Se(c,b.current)&&g(""),()=>{b.current=c}),[c]);let x=Pi(()=>n===!0&&r===!0?"\u{1F44C}":n===!1||o?"\u{1F44E}":v?"\u23F3":null,[n,r,v,o]);return React.createElement(ti,{name:Ws("Backend","forms-bridge"),description:Ws("Configure the backend to bridge your form to","forms-bridge")},React.createElement("p",{style:{height:"30px",marginTop:0,display:"flex",alignItems:"center"}},React.createElement("strong",null,Ws("Connection status","forms-bridge"),":"),React.createElement("i",{style:{fontSize:"1.5em",marginLeft:"0.25em",fontStyle:"normal"}},x)),p.length>0&&React.createElement(bX,{label:Ws("Reuse an existing backend","forms-bridge"),value:m,options:p,onChange:g,__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0}),!m&&O.map(Q=>React.createElement(jt,{key:Q.name,data:{...Q,value:h[Q.name]||"",onChange:w=>f({...h,[Q.name]:w})},error:Q.name==="name"&&y&&Ws("This name is already in use","forms-bridge")})))}var{useMemo:Zs,useState:wX,useEffect:cu,useRef:PX}=wp.element,{__:hu}=wp.i18n,{SelectControl:kX}=wp.components,TX=["title"];function zX(i,e,t,n){return i._id.indexOf(n)!==0?!1:e.fields.reduce((s,{name:o,label:a,type:l})=>{if(!s)return s;let c=i.fields.find(O=>o===O.name)||n==="wpforms"&&i.fields.find(O=>a===O.name);return c?s&&c.type===l:!1},!0)&&t.filter(s=>s.ref==="#form/fields[]").reduce((s,{name:o,required:a,type:l})=>{if(!s)return s;let c=i.fields.find(O=>O.name===o);return c?s&&l===c.type:a?!1:s},!0)}function fu({fields:i,data:e,setData:t,integration:n}){let[{form:r}]=Ee(),[s]=bt(),o=Zs(()=>s.filter(d=>zX(d,r,i,n)),[s,n]),a=Zs(()=>Ce(o.map(({id:d,title:p})=>({label:p,value:d}))),[o]),[l,c]=wX(""),O=PX("");cu(()=>{c("")},[n]),cu(()=>(l!==O.current&&t(),()=>{O.current=l}),[l]);let h=Zs(()=>s.find(({id:d})=>d==l),[s,l]);cu(()=>{if(!h)return;let d=r.fields.reduce((p,m)=>{switch(m.type){case"object":p[m.name]=[];break;case"boolean":p[m.name]=!1;break;default:p[m.name]=""}return p},{});d.id=h.id,d.title=h.title,t(d)},[h]);let f=Zs(()=>si(i,TX),[i]),u=Zs(()=>h?[]:f.filter(d=>d.name!=="id"),[h,f]);return React.createElement(ti,{name:hu("Form","forms-bridge"),description:hu("Populate the form default values","forms-bridge")},a.length>0&&React.createElement(kX,{label:hu("Reuse an existing form","forms-bridge"),value:l,options:a,onChange:c,__nextHasNoMarginBottom:!0}),u.map(d=>React.createElement(jt,{key:d.name,data:{...d,value:e[d.name]||"",onChange:p=>t({[d.name]:p})}})))}var{useMemo:X0,useState:XX,useEffect:RX}=wp.element,{__:uu}=wp.i18n,qX=["name"];function du({fields:i,data:e,setData:t}){let n=pr(),[r,s]=XX(""),o=X0(()=>si(i,qX),[i]),a=X0(()=>e.name!==r.trim()&&n.has(r.trim()),[n,r]);return RX(()=>{r&&!a&&t({name:r})},[r,a]),React.createElement(ti,{name:uu("Bridge","forms-bridge"),description:uu("Configure the bridge","forms-bridge")},React.createElement(jt,{data:{...o[0],value:r,onChange:s},error:a?uu("This name is already in use","forms-bridge"):!1}),o.slice(1).map(l=>React.createElement(jt,{key:l.name,data:{...l,value:e[l.name]||"",onChange:c=>t({[l.name]:c})}})))}var{useMemo:en,useState:R0,useEffect:pu,useRef:_X}=wp.element,{SelectControl:CX}=wp.components,{__:nl}=wp.i18n,WX=["name"];function mu({fields:i,data:e,setData:t}){let[n]=li(),[{credential:r}]=Ee(),s=en(()=>new Set(n.map(({name:g})=>g)),[n]),o=en(()=>si(i,WX),[i]),[a,l]=R0({...e}),c=en(()=>{let g=i.reduce((y,S)=>{let v=S.default||r?.[S.name]||"";return!v&&S.type==="select"&&S.required&&(v=S.options[0].value),y[S.name]=v,y},{});return{...r,...g}},[i,r]),O=en(()=>n.filter(g=>_s(g,r,i)),[n,r,i]),h=en(()=>Ce(O.map(({name:g})=>({label:g,value:g})).sort((g,y)=>g.label>y.label?1:-1)),[O]),[f,u]=R0(()=>h.find(({value:g})=>g===e.name)?.value||""),d=en(()=>a.name&&s.has(a.name.trim()),[s,a.name]),p=en(()=>{let g=O.find(y=>y.name===f);if(g)return g;if(_s(a,r,i))return a},[O,f,a,r,d,i]);pu(()=>{if(!p){t(null);return}f&&l({...c}),t({...p})},[p]);let m=_X(r);return pu(()=>(Se(r,m.current)&&u(""),()=>{m.current=r}),[r]),pu(()=>{let g=O.find(y=>y.name===e.name);g&&u(g.name)},[e.name,O]),React.createElement(ti,{name:nl("Credential","forms-bridge"),description:nl("Configure the backend credentials","forms-bridge")},h.length>0&&React.createElement(CX,{label:nl("Reuse an existing credential","forms-bridge"),value:f,options:h,onChange:u,__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0}),!f&&o.map(g=>React.createElement(jt,{key:g.name,data:{...g,value:a[g.name]||"",onChange:y=>l({...a,[g.name]:y})},error:g.name==="name"&&d&&nl("This name is already in use","forms-bridge")})))}var{useState:ZX,useEffect:VX,useMemo:rl}=wp.element,AX=[{name:"credential",component:mu},{name:"backend",component:Ou},{name:"form",component:fu},{name:"bridge",component:du}];function gu({fields:i,integration:e,data:t}){let{bridge:n}=ri(),r=rl(()=>AX.filter(f=>e==="woo"?f.name!=="form":!0),[e,n]),[s,o]=ZX(0),{name:a,component:l}=rl(()=>r[s],[r,s]),c=rl(()=>er(i,a),[s,r,i]);VX(()=>{i.length&&(c.length||setTimeout(()=>h(1)))},[i,c]);let O=rl(()=>c.length?c.reduce((f,u)=>{let d=t[a]?.[u.name];return f&&(!!d||!u.required)},!0):!0,[c,t,a]),h=f=>{let u=s+f,d=r[u].name,p=er(i,d);for(;p.length===0&&u>0&&u<r.length-1;)u+=f,d=r[u],p=er(i,d);o(u)};return{done:O,move:h,step:s,Step:l,name:a,reset:()=>o(0),trailing:s===r.length-1}}var{useState:jX,useEffect:$u,useMemo:YX,useCallback:UX,useRef:q0}=wp.element,MX=wp.apiFetch;function yu({step:i,data:e={},fields:t=[],credential:n,authorized:r}){let[s]=K(),{backend:o}=Ee()[0]||{},[a,l]=jX(null);$u(()=>{l(null)},[o,n,r]);let c=YX(()=>{if(!o)return;let u=il(e,o,t);if(Cs(u,o,t))return u},[e,o,t]),O=q0();$u(()=>((!c||Se(c,O.current))&&l(null),()=>{O.current=c}),[c]);let h=UX((u,d={})=>{MX({path:`forms-bridge/v1/${s}/backend/ping`,method:"POST",data:{backend:u,credential:d}}).then(({success:p})=>l(p)).catch(()=>l(!1))},[s]),f=q0();return $u(()=>{clearTimeout(f.current),!(i!=="backend"||!c||!r||a!==null)&&(f.current=setTimeout(()=>h(c,n),500))},[i,o,a,c,n,r]),[c,a]}var{useState:_0,useEffect:Qu,useRef:EX,useMemo:C0,useCallback:DX}=wp.element,LX=wp.apiFetch;function Su({data:i={},fields:e=[]}){let[t]=K(),[n,r]=fe(),[s,o]=_0(!1),a=EX(!0),[l,c]=_0(!0);Qu(()=>{let g=()=>c(!0),y=()=>c(!1);return window.addEventListener("focus",g),window.addEventListener("blur",y),()=>{window.removeEventListener("focus",g),window.removeEventListener("blur",y)}},[]);let{credential:O}=Ee()[0]||{},{credential:h}=ri(),f=C0(()=>{if(O&&_s(i,O,e)){let g={...i},y=h?.oneOf.find(S=>S.properties.schema.const===g.schema||S.properties.schema.enum?.includes(g.schema));return y&&Object.keys(y.properties).forEach(S=>{E(y.properties[S],"default")&&(g[S]=g[S]||y.properties[S].default)}),g}},[h,i,O,e]);Qu(()=>{o(!1)},[f]);let u=i.schema==="Bearer",d=C0(()=>{if(!u||i.refresh_token)return!0;if(!(i.access_token&&i.expires_at))return!1;let g=new Date(i.expires_at);return g.getFullYear()===1970&&(g=new Date(i.expires_at*1e3)),Date.now()<g.getTime()},[u,i.access_token,i.expires_at]),p=ot();Qu(()=>(l&&!a.current&&!d&&p(),()=>{a.current=l}),[l]);let m=DX(()=>{if(!f)return;let g=f.oauth_url,y=g.match(/{(\w+)}/);y&&f[y[1]]&&(g=g.replace(/{\w+}/,f[y[1]])),f.oauth_url=g,r(!0),LX({path:"forms-bridge/v1/oauth/grant",method:"POST",data:{credential:f}}).then(({success:S,redirect_url:v})=>{if(!S)throw"error";let b=document.createElement("form");b.method="GET",b.action=v,b.target="_blank";let x=` 117 117 <input name="client_id" value="${f.client_id}" /> 118 118 <input name="response_type" value="code" /> … … 120 120 <input name="access_type" value="offline" /> 121 121 <input name="state" value="${btoa(t)}" /> 122 `;f.scope&&( v+=`<input name="scope" value="${f.scope}" />`),b.innerHTML=v,b.style.visibility="hidden",document.body.appendChild(b),b.submit(),document.body.removeChild(b)}).catch(()=>o("")).finally(()=>r(!1))},[n,t,f]);return h?{credential:f,authorized:d,authorize:m,error:s}:[null,!0]}var{Button:$u,Notice:yu}=wp.components,{useMemo:Vs,useState:As,useEffect:nl,useCallback:Qu,useRef:LX}=wp.element,GX=wp.apiFetch,{__:tn}=wp.i18n;function Su({integration:i,onSubmit:e}){let[t]=K(),[n,r]=As(!1),[s,o]=As({}),[a,l]=As(!1),[O,c]=As([]),[h,f]=As(!1),[u,d]=Ee(),[p]=Hs(),m=Vs(()=>(u?.fields||[]).filter(te=>!E(te,"value")),[u]),{done:g,move:y,step:S,Step:x,name:b,reset:v,trailing:Q}=uu({fields:m,integration:i,data:s}),w=Vs(()=>m.reduce((W,te)=>{let Oe=qs(te.ref);return{...W,[Oe]:(W[Oe]||[]).concat([te])}},{}),[m]),k=Vs(()=>w[b]?a?w[b].map(W=>{let te=O.find(Oe=>Oe.name===W.name&&Oe.ref===W.ref)?.options;return te?{...W,type:"select",options:Ce(te)}:W}):w[b]:[],[w,b,O]),A=Vs(()=>{let W=Object.fromEntries(Object.keys(w).map(Oe=>[Oe,{}]));return(u?.fields||[]).reduce((Oe,Te)=>{if(Te.default||Te.value){let ni=Te.value||Te.default,al=qs(Te.ref);Oe[al]=Oe[al]||{},Oe[al][Te.name]=ni}else if(Te.type==="select"&&Te.required){let ni=qs(Te.ref);Oe[ni]=Oe[ni]||{},Array.isArray(Te.options)&&(Oe[ni][Te.name]=Te.options[0]?.value)}return Oe},W)},[u,w]);nl(()=>{o(A),v()},[m,A]);let{credential:V,authorized:C,authorize:D,error:L}=gu({data:s.credential,fields:w.credential}),[G,re]=pu({step:b,data:s.backend,fields:w.backend,credential:V,authorized:C}),$e=LX(h);$e.current=h,nl(()=>{!G||!re||!$e.current||f(!1)},[G,re]),nl(()=>{!re&&a&&(l(!1),c([]))},[re]),nl(()=>{a||h||n||b==="backend"&&re&&C&&M(G,s.credential)},[n,b,re,C,a,h,G,s.credential]);let Me=Qu(()=>{d({template:p,integration:i,fields:m.map(W=>{let te=qs(W.ref);if(E(s[te],W.name)&&s[te][W.name]!==null)W.type==="boolean"&&Array.isArray(s[te][W.name])?W.value=!!s[te][W.name][0]:W.value=s[te][W.name];else if(W.default)W.value=W.default;else if(!W.required)switch(W.type){case"select":W.value=[];break;case"boolean":W.value=!1;break}return W})}).then(W=>e(W))},[p,i,m,s]),Qe=Qu((W=null)=>{let te=A[b]||{},Oe=s[b]||{};W!==null?W={...te,...Oe,...W}:W={},o({...s,[b]:W})},[s,A,b]),M=Qu((W,te={})=>{h||(r(!0),GX({path:`forms-bridge/v1/${t}/templates/${p}/options`,method:"POST",data:{backend:W,credential:te}}).then(Oe=>{c(Oe),f(!1),l(!0)}).catch(()=>{l(!1),f(!0)}).finally(()=>r(!1)))},[t,p]),se=Vs(()=>Object.keys(w).reduce((W,te)=>er(m,te).reduce((Te,ni)=>Te&&(!!s[te]?.[ni.name]||!ni.required),W),!0),[s]),I=V&&!C,pe=g&&(b!=="backend"||a)&&(b!=="credential"||V)&&!I;if(u?.fields.length&&s[b]!==void 0)return React.createElement("div",{style:{width:"575px",minHeight:"125px"}},React.createElement("hr",{style:{margin:"1rem 0"}}),b==="backend"&&h&&React.createElement("div",{style:{marginBottom:"10px"}},React.createElement(yu,{status:"error",politeness:"assertive",isDismissible:!1},tn("Unable to fetch data from the backend","forms-bridge"))),React.createElement(x,{integration:i,fields:k,data:s[b]||{},setData:Qe,wired:re,fetched:a,fetchError:h,credential:V?.name}),L&&React.createElement("div",{style:{marginBottom:"10px"}},React.createElement(yu,{status:"error",politeness:"assertive",isDismissible:!1},tn("The credential cannot be authorized","forms-bridge"))),I&&React.createElement("div",{style:{margin:"10px 0"}},React.createElement(yu,{isDismissible:!1,status:"warning",actions:[{label:tn("Authorize","forms-bridge"),onClick:D,variant:"secondary",size:"compact"}]},React.createElement("p",null,tn("Send an authorization request to validate the credential","forms-bridge")))),React.createElement("div",{style:{padding:"1rem 0 0",display:"flex",justifyContent:"center",alignItems:"center",gap:"0.5rem"}},React.createElement($u,{disabled:S<=0,variant:"secondary",onClick:()=>y(-1)},tn("Previous","forms-bridge")),Q?React.createElement($u,{disabled:!se,variant:"primary",onClick:Me},tn("Submit","forms-bridge")):React.createElement($u,{disabled:!pe,variant:"secondary",onClick:()=>y(1)},tn("Next","forms-bridge"))))}var{Modal:BX,Button:R0,SelectControl:q0,__experimentalSpacer:IX}=wp.components,{useState:js,useEffect:rl,useMemo:_0,useCallback:NX}=wp.element,{__:nn}=wp.i18n;function bu(){let[i]=Wd(),[,e]=Hs(),[t]=Ee(),[n,r]=js({}),[s,o]=js(null),[a,l]=js(!1),[O,c]=N(),[h]=On(),f=_0(()=>h.filter(({enabled:S})=>S).map(({name:S,title:x})=>({value:S,label:x})).sort((S,x)=>S.label>x.label?1:-1),[h]),[u,d]=js(f[0]?.value||"");rl(()=>{!u&&f.length&&d(f[0].value)},[u,f]);let p=_0(()=>Ce(i.filter(({integrations:S})=>S.includes(u)).map(({name:S,title:x})=>({label:x,value:S}))).sort((S,x)=>S.label>x.label?1:-1),[i,u]),[m,g]=js(!1);rl(()=>{a&&e(null)},[a]),rl(()=>{O&&g(!1)},[O]),rl(()=>{m||(e(null),r({}),l(!1))},[m]);let y=NX(S=>{S?l(!0):S===!1&&c(nn("Unsuccessful template submit","forms-bridge"))});return i.length?React.createElement(React.Fragment,null,React.createElement(R0,{disabled:!!O||!h.length,variant:"primary",onClick:()=>g(!0),style:{width:"150px",marginTop:"auto",justifyContent:"center"},__next40pxDefaultSize:!0},nn("Use a template","forms-bridge")),m&&React.createElement(BX,{title:nn("Templates","forms-bridge"),onRequestClose:()=>{e(null),g(!1)}},a&&React.createElement(React.Fragment,null,React.createElement("p",{style:{fontSize:"1rem"}},nn("Congratulations, you've created a new form bridge!","forms-bridge")),React.createElement(R0,{variant:"primary",onClick:()=>g(!1),style:{width:"150px",margin:"1.5rem auto 0",display:"block"},__next40pxDefaultSize:!0},nn("Close","forms-bridge")))||React.createElement(React.Fragment,null,f.length>1&&React.createElement(React.Fragment,null,React.createElement(q0,{label:nn("Target integration","forms-bridge"),options:f,value:u,onChange:d,__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0}),React.createElement(IX,{paddingY:"calc(6px)"})),React.createElement(q0,{label:nn("Select a template","forms-bridge"),options:p,onChange:e,__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0})),t?.description&&React.createElement("p",{style:{maxWidth:"575px"},dangerouslySetInnerHTML:{__html:t.description}})||null,React.createElement(Su,{integration:u,onSubmit:y,data:n,setData:r,wired:s,setWired:o}))):null}var{Button:Ys}=wp.components,{useState:C0,useEffect:FX,useMemo:xu,useRef:HX,useCallback:W0}=wp.element,{__:ii}=wp.i18n;function vu({add:i,schema:e,names:t}){let n=ze(),[r,s]=C0({}),[o,a]=N(),l=xu(()=>r.name?t.has(r.name.trim()):!1,[t,r.name]),[O]=at(),c=xu(()=>{let S=(O.find(({name:x})=>x===r.backend)?.headers||[]).find(x=>x.name==="Content-Type")?.value;return S!==void 0&&S!=="multipart/form-data"},[O,r.backend]),h=()=>{window.__wpfbInvalidated=!0,s({}),i({...r,name:r.name.trim()})},f=W0(y=>!!Object.keys(e.properties).filter(S=>!cr.includes(S)).reduce((S,x)=>{if(!S)return S;let b=y[x];return e.required.includes(x)?(e.properties[x].pattern&&(S=new RegExp(e.properties[x].pattern).test(b)),S&&(b||E(e.properties[x],"default"))):S},!0),[e]),u=xu(()=>f(r),[r]),d=W0(()=>{oi().then(y=>{if(!f(y)){a(ii("Invalid bridge config","forms-bridge"));return}let x=1;for(;t.has(y.name);)y.name=y.name.replace(/ \([0-9]+\)/,"")+` (${x})`,x++;i(y)}).catch(y=>{y?.name==="SyntaxError"?a(ii("JSON syntax error","forms-bridge")):a(ii("An error has ocurred while uploading the bridge config","forms-bridge"))})},[t]),p=HX(),[m,g]=C0(0);return FX(()=>{g(0),setTimeout(()=>g(p.current.offsetHeight),100)},[e]),React.createElement(Qr,{formId:r.form_id,mutations:[],workflow:[],customFields:[],includeFiles:c},React.createElement("div",{style:{padding:"calc(24px) calc(32px)",width:"calc(100% - 64px)",backgroundColor:"rgb(245, 245, 245)",display:"flex",flexDirection:n?"column":"row",gap:"2rem"}},React.createElement("div",{ref:p,style:{display:"flex",flexDirection:"column",gap:"0.5rem"}},React.createElement(hr,{data:r,setData:s,schema:e,optionals:!0,errors:{name:l?ii("This name is already in use","forms-bridge"):!1}}),React.createElement("div",{style:{marginTop:"0.5rem",display:"flex",gap:"0.5rem"}},React.createElement(Ys,{variant:"primary",onClick:h,style:{width:"100px",justifyContent:"center"},disabled:l||!u,__next40pxDefaultSize:!0},ii("Add","forms-bridge")),React.createElement(Ys,{variant:"tertiary",size:"compact",style:{width:"40px",height:"40px",justifyContent:"center",fontSize:"1.5em",border:"1px solid",color:"grey"},disabled:!!o,onClick:d,__next40pxDefaultSize:!0,label:ii("Upload","forms-bridge"),showTooltip:!0},React.createElement(Et,{width:"12",height:"20",color:"gray"})))),React.createElement("div",{style:n?{paddingTop:"2rem",borderTop:"1px solid"}:{paddingLeft:"2rem",borderLeft:"1px solid",display:"flex",flexDirection:"column",flex:1}},React.createElement(zs,{height:m}),React.createElement("div",{style:{paddingTop:"16px",display:"flex",gap:"0.5rem",flexDirection:"row",borderTop:"1px solid"}},React.createElement("div",{style:{display:"flex",gap:"0.5rem"}},React.createElement(Ys,{variant:"secondary",disabled:!0,__next40pxDefaultSize:!0},ii("Custom fields","forms-bridge")," (0)"),React.createElement(Ys,{variant:"secondary",disabled:!0,__next40pxDefaultSize:!0},ii("Mappers","forms-bridge")," (0)"),React.createElement(Ys,{variant:"secondary",disabled:!0,__next40pxDefaultSize:!0},ii("Workflow","forms-bridge")," (0)")),React.createElement("div",{style:{marginLeft:n?0:"auto",display:"flex",alignItems:"center"}},React.createElement(bu,null))))))}var{TabPanel:KX}=wp.components,{useEffect:JX,useMemo:eR,useRef:tR}=wp.element,{__:Z0}=wp.i18n,iR=`.bridges-tabs-panel .components-tab-panel__tabs{overflow-x:auto;}123 .bridges-tabs-panel .components-tab-panel__tabs>button{flex-shrink:0;}`, nR={name:"bridge-"+Date.now(),backend:"",form_id:"",enabled:!0,workflow:[],is_valid:!0,mutations:[[]],custom_fields:[]};function wu(){let{bridge:i}=ri(),[e,t]=Js(),n=pr(),r=eR(()=>Array.from(n).map((c,h)=>({index:h,name:String(h),title:c,icon:React.createElement(Xi,{name:c})})).concat([{index:-1,name:"new",title:Z0("Add a bridge","forms-bridge"),icon:React.createElement("div",{style:{marginBottom:"-2px"}},React.createElement(Ri,{width:"15",height:"15"}))}]),[n]),s=c=>{c={...nR,...c},c.mutations=c.mutations.slice(0,c.workflow.length+1);for(let h=c.mutations.length;h<c.workflow.length;h++)c.mutations.push([]);return c},o=(c,h)=>{c===-1&&(c=e.length),h.name=h.name.trim();let f=e.slice(0,c).concat([s(h)]).concat(e.slice(c+1,e.length));t(f)},a=({name:c})=>{let h=e.findIndex(u=>u.name===c),f=e.slice(0,h).concat(e.slice(h+1));t(f)},l=c=>{let h=e.findIndex(d=>d.name===c),f=e[h],u={...f,workflow:f.workflow.map(d=>d),mutations:JSON.parse(JSON.stringify(f.mutations||f.workflow.map(()=>[]))),custom_fields:JSON.parse(JSON.stringify(f.custom_fields||[]))};for(u.name=u.name.trim();n.has(u.name);)u.name+="-copy";window.__wpfbInvalidated=!0,t(e.concat(u))},O=tR(document.createElement("style"));return JX(()=>(O.current.appendChild(document.createTextNode(iR)),document.head.appendChild(O.current),()=>{document.head.removeChild(O.current)}),[]),i?React.createElement("div",{style:{width:"100%"}},React.createElement("h3",{style:{marginTop:0,fontSize:"13px"}},Z0("Bridges","forms-bridge")),React.createElement(KX,{tabs:r,className:"bridges-tabs-panel"},c=>{let h=e[c.index];return React.createElement(rO,{bridge:h},!h&&React.createElement(vu,{add:f=>o(c.index,f),schema:i,names:n})||React.createElement(nu,{data:h,schema:i,remove:a,update:f=>o(c.index,f),copy:()=>l(h.name),names:n}))})):null}var{useMemo:rR}=wp.element,{__experimentalItemGroup:sR,__experimentalItem:oR}=wp.components,{__:aR}=wp.i18n;function sl({fields:i=[]}){let e=rR(()=>i.map(t=>{let n=t.name;return t.required?n+="\u2217":t.forward&&(n+="?"),{...t,name:n,mutated:t.touch}}),[i]);return e.length?React.createElement(sR,{size:"large",isSeparated:!0},e.map((t,n)=>React.createElement(oR,{key:t.name+n},React.createElement(vi,{...t,showDiff:!0})))):React.createElement("p",{style:{lineHeight:"2.65"}},aR("Empty interface","forms-bridge"))}var{Modal:lR}=wp.components,{__:V0}=wp.i18n;function Pu({show:i,onClose:e}){if(i)return React.createElement(lR,{title:V0("Job editor","forms-bridge"),onRequestClose:e},React.createElement(React.Fragment,null,React.createElement("p",{style:{marginTop:"-3rem",position:"absolute",zIndex:1}},V0("Process the form submission before it is sent to the backend over the bridge","forms-bridge")),React.createElement("div",{style:{marginTop:"2rem",width:"1280px",maxWidth:"80vw",height:"500px",maxHeight:"80vh",display:"flex"}},React.createElement(xs,{close:e}))))}function ku({width:i=50,height:e=50,color:t="#000000"}){return React.createElement("svg",{width:i,height:e,viewBox:"0 0 50 50"},React.createElement("g",{transform:"translate(-99.83567,-102)"},React.createElement("path",{style:{fill:t,strokeWidth:2},d:"m 101.18783,151.9575 c -0.47473,-0.11502 -0.9291,-0.48272 -1.14903,-0.92984 -0.06393,-0.12997 -0.134538,-0.32401 -0.156915,-0.43119 -0.06162,-0.29517 -0.06162,-39.2669 0,-39.56207 0.103548,-0.49601 0.463815,-0.9677 0.919875,-1.20436 0.42318,-0.2196 -0.56243,-0.20074 10.5121,-0.20119 11.04238,-4.6e-4 10.05513,-0.0186 10.48527,0.193 0.52151,0.25657 0.8704,0.75128 0.95922,1.3601 0.12078,0.82787 -0.40052,1.65228 -1.22311,1.93431 l -0.18056,0.0619 -8.96551,0.007 -8.96551,0.007 v 17.62315 17.62314 h 17.5696 17.5696 l 0.007,-8.97176 0.007,-8.97177 0.0773,-0.2287 c 0.18032,-0.5336 0.5824,-0.94202 1.12436,-1.14213 0.2529,-0.0934 0.71713,-0.11822 0.97896,-0.0524 0.25931,0.0652 0.59998,0.24188 0.78345,0.40635 0.21246,0.19047 0.41956,0.50786 0.5143,0.78818 l 0.0773,0.2287 v 10.00884 10.00884 l -0.0648,0.20881 c -0.1942,0.6261 -0.68212,1.09534 -1.28772,1.23843 -0.15439,0.0365 -2.51881,0.0412 -19.80083,0.0395 -17.02892,-0.002 -19.64751,-0.007 -19.79184,-0.0422 z"}),React.createElement("path",{d:"m 113.3661,139.87064 c -0.47978,-0.11635 -0.93124,-0.4844 -1.15795,-0.944 -0.18488,-0.37479 -0.23253,-0.7393 -0.1494,-1.14267 0.0555,-0.26951 4.26852,-10.14985 4.4309,-10.39144 0.0654,-0.0973 4.93557,-4.99683 12.53228,-12.60786 12.26692,-12.29004 12.42799,-12.45003 12.63367,-12.54891 0.28518,-0.1371 0.4922,-0.18452 0.80558,-0.18452 0.42184,0 0.78398,0.12207 1.10474,0.37237 0.0875,0.0683 1.45324,1.42507 3.03487,3.015 2.1079,2.11895 2.89972,2.93216 2.96568,3.04579 0.34214,0.5894 0.33288,1.28679 -0.025,1.87855 -0.11368,0.18798 -24.80529,24.94357 -25.02901,25.09386 -0.0804,0.054 -2.24081,0.99668 -4.84166,2.11261 -5.35245,2.29654 -5.23833,2.24831 -5.45159,2.30398 -0.19893,0.0519 -0.63343,0.0505 -0.85315,-0.003 z m 6.54526,-7.84097 c -0.59085,-0.59302 -1.08264,-1.0691 -1.09289,-1.05796 -0.0146,0.0159 -1.53238,3.55198 -1.59683,3.72032 -0.01,0.0249 0.75243,-0.28861 1.87395,-0.77108 l 1.89004,-0.81307 z m 19.21636,-19.27354 -1.51394,-1.51734 -8.76403,8.78378 -8.76403,8.78379 1.51382,1.51742 1.51382,1.51742 8.76414,-8.78387 8.76415,-8.78386 z m 4.79183,-1.76793 1.58319,-1.58693 -1.51375,-1.51734 -1.51374,-1.51734 -1.59041,1.59381 -1.59041,1.5938 1.50689,1.51047 c 0.82879,0.83076 1.51322,1.51047 1.52096,1.51047 0.008,0 0.72651,-0.71412 1.59727,-1.58694 z",style:{fill:t,strokeWidth:1}})))}var{useState:OR,useEffect:j0,useRef:ol,useMemo:A0,useCallback:cR}=wp.element,{PanelBody:hR,SelectControl:fR,Button:Tu,TabPanel:uR,Spinner:dR}=wp.components,{__:rn}=wp.i18n,pR=[{name:"input",title:rn("Input interface","forms-bridge")},{name:"output",title:rn("Output interface","forms-bridge")},{name:"snippet",title:rn("Job snippet","forms-bridge")}];function zu(){let[i]=N(),e=ot(),[t]=dn(),[n,r]=fn(),[s,o,a]=un(),[l,O]=OR(!1),c=A0(()=>Ce(t.map(d=>({value:d.name,label:d.title})).sort((d,p)=>d.label>p.label?1:-1)),[t]);j0(()=>{i&&O(!1)},[i]);let h=A0(()=>new Set(t.map(d=>d.name)),[t]),f=cR(()=>{let d={...s};for(d.title+=" (copy)";h.has(d.name);)d.name+="-copy";o(d).then(()=>e())},[s,h]),u=n&&!s;return React.createElement(React.Fragment,null,React.createElement(hR,{title:rn("Workflow jobs","forms-bridge"),initialOpen:!1},React.createElement("p",{style:{marginBottom:"2em"}},rn("Manage and edit addon's jobs","forms-bridge")),React.createElement("div",{style:{display:"flex",gap:"0.5rem",marginBottom:"2rem"}},React.createElement(be,null,React.createElement(fR,{value:n||"",onChange:r,options:c,__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0})),React.createElement(Tu,{variant:"secondary",style:{width:"40px",justifyContent:"center"},onClick:()=>{r(null),O(!0)},__next40pxDefaultSize:!0},"+")),React.createElement(mR,{loading:u,config:s,setEdit:O,reset:a,copy:f})),React.createElement(Pu,{show:l,onClose:()=>O(!1)}))}function mR({loading:i,config:e,setEdit:t,reset:n,copy:r}){let s=ol("input"),o=ol(O=>setTimeout(()=>s.current=O)).current,a=ol(),l=ol(()=>{setTimeout(()=>{a.current&&window.scrollY<a.current.offsetTop&&window.scrollTo({left:0,top:a.current.offsetTop,behavior:"smooth"})},100)}).current;if(j0(()=>{e&&l()},[e]),i)return React.createElement("div",{style:{height:"240px",backgroundColor:"rgb(245, 245, 245)",display:"flex",justifyContent:"center",alignItems:"center"}},React.createElement(dR,null));if(e)return React.createElement("div",{style:{padding:"calc(24px) calc(32px)",width:"calc(100% - 64px)",backgroundColor:"rgb(245, 245, 245)"}},React.createElement("div",{ref:a,style:{display:"flex"}},React.createElement("div",{style:{flex:2}},React.createElement("h3",{style:{margin:0}},e.title),React.createElement("p",null,e.description)),React.createElement("div",{style:{flex:1,display:"flex",gap:"0.5em",justifyContent:"end",alignItems:"end"}},React.createElement(Tu,{variant:"secondary",onClick:()=>t(!0),style:{display:"flex",justifyContent:"center",width:"40px"},__next40pxDefaultSize:!0},React.createElement(ku,{width:"20",height:"20",color:"var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))"})),React.createElement(Tu,{variant:"primary",style:{height:"40px",width:"40px",justifyContent:"center",fontSize:"1.5em",border:"1px solid",padding:"6px 6px"},onClick:r,label:rn("Duplaicate","forms-bridge"),showTooltip:!0,__next40pxDefaultSize:!0},React.createElement(Mt,{width:"25",height:"25",color:"white"})),React.createElement(Ut,{disabled:!e.post_id,label:rn("Reset","forms-bridge"),onClick:()=>n(e.name),isDestructive:!1,icon:!0}))),React.createElement(uR,{tabs:pR,onSelect:o},({name:O})=>(O!==s.current&&l(),React.createElement("div",{style:{background:"white",padding:"calc(12px) calc(24px)",width:"calc(100% - 48px)"}},React.createElement(gR,{tab:O,config:e})))))}function gR({tab:i,config:e}){switch(i){case"input":return React.createElement(sl,{fields:e.input});case"output":return React.createElement(sl,{fields:e.output.map(t=>({...t,required:!t.requires?.length}))});case"snippet":return React.createElement(Ps,{id:e.id,snippet:e.snippet})}}var{PanelRow:$R,__experimentalSpacer:yR}=wp.components,{useEffect:QR,useMemo:SR}=wp.element;function Xu(){let[i]=K(),[e]=ln(),t=SR(()=>e.find(n=>n.name===i)?.logo,[i,e]);return QR(()=>{if(!t)return;let n=document.querySelector(`#${i} .addon-logo`);n&&(n.setAttribute("src",t),n.style.width="auto",n.style.height="25px")},[i,t]),React.createElement(nO,null,React.createElement(Kl,null,React.createElement($R,null,React.createElement(wu,null)),React.createElement(yR,{paddingY:"calc(8px)"}),React.createElement(zu,null)))}var{Card:bR,CardHeader:xR,CardBody:vR,TabPanel:wR,__experimentalHeading:PR}=wp.components,{useEffect:kR,useMemo:TR,useRef:zR}=wp.element,{__:Ru}=wp.i18n,XR=`.settings-tabs-panel .components-tab-panel__tabs{overflow-x:auto;}124 .settings-tabs-panel .components-tab-panel__tabs>button{flex-shrink:0;}`;function qu(){let[i,e]=K(),[t]=ln(),n=TR(()=>{let s=t.filter(({enabled:o})=>o).map(({name:o,title:a})=>({name:o,title:a}));return[{name:"general",title:Ru("General","forms-bridge")},{name:"http",title:Ru("HTTP","forms-bridge")}].concat(s)},[t]),r=zR(document.createElement("style"));return kR(()=>(r.current.appendChild(document.createTextNode(XR)),document.head.appendChild(r.current),()=>{document.head.removeChild(r.current)}),[]),React.createElement("div",{style:{width:"100%"}},React.createElement(wR,{initialTabName:i,onSelect:e,tabs:n,className:"settings-tabs-panel"},s=>React.createElement("div",{id:s.name},React.createElement(bR,{size:"large",style:{height:"fit-content"}},React.createElement(xR,null,React.createElement(PR,{level:2,style:{fontSize:"1.5em"}},Ru(s.title,"forms-bridge")),React.createElement("img",{style:{width:"auto",height:"25px",maxWidth:"90px",objectFit:"contain",objectPosition:"center"},className:"addon-logo"})),React.createElement(vR,null,s.name==="general"?React.createElement(Pl,null):s.name==="http"?React.createElement(Il,null):React.createElement(Xu,null))))))}var{Button:RR}=wp.components,{__:qR}=wp.i18n;function _u(){let[i]=fe(),[e]=N(),[t,n]=an();return React.createElement("div",{style:{textAlign:"right"}},React.createElement(RR,{variant:"primary",onClick:()=>n(t),style:{minWidth:"100px",justifyContent:"center",marginLeft:"auto"},disabled:i||e,__next40pxDefaultSize:!0},qR("Save","forms-bridge")))}var{createRoot:_R,useRef:CR}=wp.element,{__experimentalHeading:WR}=wp.components;function ZR(){let i=CR(document.getElementById("wpadminbar").offsetHeight).current;return React.createElement("div",{id:"forms-bridge",style:{position:"relative",minHeight:`calc(100vh - ${i}px)`}},React.createElement(Cu,{fallback:React.createElement("div",{style:{height:"50vh",paddingLeft:"1em",display:"flex",justifyContent:"center",alignItems:"center"}},React.createElement("h1",null,"Why do you do this to me? \u{1F629}"))},React.createElement(Ol,null,React.createElement(hl,null,React.createElement(pl,null,React.createElement(gl,null,React.createElement(fl,null,React.createElement("div",{style:{display:"flex",justifyContent:"space-between",paddingTop:"calc(16px)",alignItems:"baseline"}},React.createElement(WR,{level:1},"Forms Bridge"),React.createElement(_u,null)),React.createElement(qu,null))))))))}wp.domReady(()=>{_R(document.getElementById("forms-bridge")).render(React.createElement(ZR,null))});})();122 `;f.scope&&(x+=`<input name="scope" value="${f.scope}" />`),b.innerHTML=x,b.style.visibility="hidden",document.body.appendChild(b),b.submit(),document.body.removeChild(b)}).catch(()=>o("")).finally(()=>r(!1))},[n,t,f]);return h?{credential:f,authorized:d,authorize:m,error:s}:[null,!0]}var{Button:bu,Notice:xu}=wp.components,{useMemo:Vs,useState:As,useEffect:sl,useCallback:vu,useRef:GX}=wp.element,BX=wp.apiFetch,{__:tn}=wp.i18n;function wu({integration:i,onSubmit:e}){let[t]=K(),[n,r]=As(!1),[s,o]=As({}),[a,l]=As(!1),[c,O]=As([]),[h,f]=As(!1),[u,d]=Ee(),[p]=eo(),m=Vs(()=>(u?.fields||[]).filter(te=>!E(te,"value")),[u]),{done:g,move:y,step:S,Step:v,name:b,reset:x,trailing:Q}=gu({fields:m,integration:i,data:s}),w=Vs(()=>m.reduce((W,te)=>{let Oe=qs(te.ref);return{...W,[Oe]:(W[Oe]||[]).concat([te])}},{}),[m]),k=Vs(()=>w[b]?a?w[b].map(W=>{let te=c.find(Oe=>Oe.name===W.name&&Oe.ref===W.ref)?.options;return te?{...W,type:"select",options:Ce(te)}:W}):w[b]:[],[w,b,c]),A=Vs(()=>{let W=Object.fromEntries(Object.keys(w).map(Oe=>[Oe,{}]));return(u?.fields||[]).reduce((Oe,Te)=>{if(Te.default||Te.value){let ni=Te.value||Te.default,Ol=qs(Te.ref);Oe[Ol]=Oe[Ol]||{},Oe[Ol][Te.name]=ni}else if(Te.type==="select"&&Te.required){let ni=qs(Te.ref);Oe[ni]=Oe[ni]||{},Array.isArray(Te.options)&&(Oe[ni][Te.name]=Te.options[0]?.value)}return Oe},W)},[u,w]);sl(()=>{o(A),x()},[m,A]);let{credential:V,authorized:C,authorize:D,error:L}=Su({data:s.credential,fields:w.credential}),[G,re]=yu({step:b,data:s.backend,fields:w.backend,credential:V,authorized:C}),$e=GX(h);$e.current=h,sl(()=>{!G||!re||!$e.current||f(!1)},[G,re]),sl(()=>{!re&&a&&(l(!1),O([]))},[re]),sl(()=>{a||h||n||b==="backend"&&re&&C&&M(G,s.credential)},[n,b,re,C,a,h,G,s.credential]);let Me=vu(()=>{d({template:p,integration:i,fields:m.map(W=>{let te=qs(W.ref);if(E(s[te],W.name)&&s[te][W.name]!==null)W.type==="boolean"&&Array.isArray(s[te][W.name])?W.value=!!s[te][W.name][0]:W.value=s[te][W.name];else if(W.default)W.value=W.default;else if(!W.required)switch(W.type){case"select":W.value=[];break;case"boolean":W.value=!1;break}return W})}).then(W=>e(W))},[p,i,m,s]),Qe=vu((W=null)=>{let te=A[b]||{},Oe=s[b]||{};W!==null?W={...te,...Oe,...W}:W={},o({...s,[b]:W})},[s,A,b]),M=vu((W,te={})=>{h||(r(!0),BX({path:`forms-bridge/v1/${t}/templates/${p}/options`,method:"POST",data:{backend:W,credential:te}}).then(Oe=>{O(Oe),f(!1),l(!0)}).catch(()=>{l(!1),f(!0)}).finally(()=>r(!1)))},[t,p]),se=Vs(()=>Object.keys(w).reduce((W,te)=>er(m,te).reduce((Te,ni)=>Te&&(!!s[te]?.[ni.name]||!ni.required),W),!0),[s]),I=V&&!C,pe=g&&(b!=="backend"||a)&&(b!=="credential"||V)&&!I;if(u?.fields.length&&s[b]!==void 0)return React.createElement("div",{style:{width:"575px",minHeight:"125px"}},React.createElement("hr",{style:{margin:"1rem 0"}}),b==="backend"&&h&&React.createElement("div",{style:{marginBottom:"10px"}},React.createElement(xu,{status:"error",politeness:"assertive",isDismissible:!1},tn("Unable to fetch data from the backend","forms-bridge"))),React.createElement(v,{integration:i,fields:k,data:s[b]||{},setData:Qe,wired:re,fetched:a,fetchError:h,credential:V?.name}),L&&React.createElement("div",{style:{marginBottom:"10px"}},React.createElement(xu,{status:"error",politeness:"assertive",isDismissible:!1},tn("The credential cannot be authorized","forms-bridge"))),I&&React.createElement("div",{style:{margin:"10px 0"}},React.createElement(xu,{isDismissible:!1,status:"warning",actions:[{label:tn("Authorize","forms-bridge"),onClick:D,variant:"secondary",size:"compact"}]},React.createElement("p",null,tn("Send an authorization request to validate the credential","forms-bridge")))),React.createElement("div",{style:{padding:"1rem 0 0",display:"flex",justifyContent:"center",alignItems:"center",gap:"0.5rem"}},React.createElement(bu,{disabled:S<=0,variant:"secondary",onClick:()=>y(-1)},tn("Previous","forms-bridge")),Q?React.createElement(bu,{disabled:!se,variant:"primary",onClick:Me},tn("Submit","forms-bridge")):React.createElement(bu,{disabled:!pe,variant:"secondary",onClick:()=>y(1)},tn("Next","forms-bridge"))))}var{Modal:IX,Button:W0,SelectControl:Z0,__experimentalSpacer:NX}=wp.components,{useState:js,useEffect:ol,useMemo:V0,useCallback:FX}=wp.element,{__:nn}=wp.i18n;function Pu(){let[i]=Ed(),[,e]=eo(),[t]=Ee(),[n,r]=js({}),[s,o]=js(null),[a,l]=js(!1),[c,O]=N(),[h]=On(),f=V0(()=>h.filter(({enabled:S})=>S).map(({name:S,title:v})=>({value:S,label:v})).sort((S,v)=>S.label>v.label?1:-1),[h]),[u,d]=js(f[0]?.value||"");ol(()=>{!u&&f.length&&d(f[0].value)},[u,f]);let p=V0(()=>Ce(i.filter(({integrations:S})=>S.includes(u)).map(({name:S,title:v})=>({label:v,value:S}))).sort((S,v)=>S.label>v.label?1:-1),[i,u]),[m,g]=js(!1);ol(()=>{a&&e(null)},[a]),ol(()=>{c&&g(!1)},[c]),ol(()=>{m||(e(null),r({}),l(!1))},[m]);let y=FX(S=>{S?l(!0):S===!1&&O(nn("Unsuccessful template submit","forms-bridge"))});return i.length?React.createElement(React.Fragment,null,React.createElement(W0,{disabled:!!c||!h.length,variant:"primary",onClick:()=>g(!0),style:{width:"150px",marginTop:"auto",justifyContent:"center"},__next40pxDefaultSize:!0},nn("Use a template","forms-bridge")),m&&React.createElement(IX,{title:nn("Templates","forms-bridge"),onRequestClose:()=>{e(null),g(!1)}},a&&React.createElement(React.Fragment,null,React.createElement("p",{style:{fontSize:"1rem"}},nn("Congratulations, you've created a new form bridge!","forms-bridge")),React.createElement(W0,{variant:"primary",onClick:()=>g(!1),style:{width:"150px",margin:"1.5rem auto 0",display:"block"},__next40pxDefaultSize:!0},nn("Close","forms-bridge")))||React.createElement(React.Fragment,null,f.length>1&&React.createElement(React.Fragment,null,React.createElement(Z0,{label:nn("Target integration","forms-bridge"),options:f,value:u,onChange:d,__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0}),React.createElement(NX,{paddingY:"calc(6px)"})),React.createElement(Z0,{label:nn("Select a template","forms-bridge"),options:p,onChange:e,__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0})),t?.description&&React.createElement("p",{style:{maxWidth:"575px"},dangerouslySetInnerHTML:{__html:t.description}})||null,React.createElement(wu,{integration:u,onSubmit:y,data:n,setData:r,wired:s,setWired:o}))):null}var{Button:Ys}=wp.components,{useState:A0,useEffect:HX,useMemo:ku,useRef:KX,useCallback:j0}=wp.element,{__:ii}=wp.i18n;function Tu({add:i,schema:e,names:t}){let n=ze(),[r,s]=A0({}),[o,a]=N(),l=ku(()=>r.name?t.has(r.name.trim()):!1,[t,r.name]),[c]=at(),O=ku(()=>{let S=(c.find(({name:v})=>v===r.backend)?.headers||[]).find(v=>v.name==="Content-Type")?.value;return S!==void 0&&S!=="multipart/form-data"},[c,r.backend]),h=()=>{window.__wpfbInvalidated=!0,s({}),i({...r,name:r.name.trim()})},f=j0(y=>!!Object.keys(e.properties).filter(S=>!cr.includes(S)).reduce((S,v)=>{if(!S)return S;let b=y[v];return e.required.includes(v)?(e.properties[v].pattern&&(S=new RegExp(e.properties[v].pattern).test(b)),S&&(b||E(e.properties[v],"default"))):S},!0),[e]),u=ku(()=>f(r),[r]),d=j0(()=>{oi().then(y=>{if(!f(y)){a(ii("Invalid bridge config","forms-bridge"));return}let v=1;for(;t.has(y.name);)y.name=y.name.replace(/ \([0-9]+\)/,"")+` (${v})`,v++;i(y)}).catch(y=>{y?.name==="SyntaxError"?a(ii("JSON syntax error","forms-bridge")):a(ii("An error has ocurred while uploading the bridge config","forms-bridge"))})},[t]),p=KX(),[m,g]=A0(0);return HX(()=>{g(0),setTimeout(()=>g(p.current.offsetHeight),100)},[e]),React.createElement(Qr,{formId:r.form_id,mutations:[],workflow:[],customFields:[],includeFiles:O},React.createElement("div",{style:{padding:"calc(24px) calc(32px)",width:"calc(100% - 64px)",backgroundColor:"rgb(245, 245, 245)",display:"flex",flexDirection:n?"column":"row",gap:"2rem"}},React.createElement("div",{ref:p,style:{display:"flex",flexDirection:"column",gap:"0.5rem"}},React.createElement(hr,{data:r,setData:s,schema:e,optionals:!0,errors:{name:l?ii("This name is already in use","forms-bridge"):!1}}),React.createElement("div",{style:{marginTop:"0.5rem",display:"flex",gap:"0.5rem"}},React.createElement(Ys,{variant:"primary",onClick:h,style:{width:"100px",justifyContent:"center"},disabled:l||!u,__next40pxDefaultSize:!0},ii("Add","forms-bridge")),React.createElement(Ys,{variant:"tertiary",size:"compact",style:{width:"40px",height:"40px",justifyContent:"center",fontSize:"1.5em",border:"1px solid",color:"grey"},disabled:!!o,onClick:d,__next40pxDefaultSize:!0,label:ii("Upload","forms-bridge"),showTooltip:!0},React.createElement(Et,{width:"12",height:"20",color:"gray"})))),React.createElement("div",{style:n?{paddingTop:"2rem",borderTop:"1px solid"}:{paddingLeft:"2rem",borderLeft:"1px solid",display:"flex",flexDirection:"column",flex:1}},React.createElement(zs,{height:m}),React.createElement("div",{style:{paddingTop:"16px",display:"flex",gap:"0.5rem",flexDirection:"row",borderTop:"1px solid"}},React.createElement("div",{style:{display:"flex",gap:"0.5rem"}},React.createElement(Ys,{variant:"secondary",disabled:!0,__next40pxDefaultSize:!0},ii("Custom fields","forms-bridge")," (0)"),React.createElement(Ys,{variant:"secondary",disabled:!0,__next40pxDefaultSize:!0},ii("Mappers","forms-bridge")," (0)"),React.createElement(Ys,{variant:"secondary",disabled:!0,__next40pxDefaultSize:!0},ii("Workflow","forms-bridge")," (0)")),React.createElement("div",{style:{marginLeft:n?0:"auto",display:"flex",alignItems:"center"}},React.createElement(Pu,null))))))}var{TabPanel:JX}=wp.components,{useEffect:eR,useMemo:tR,useRef:iR}=wp.element,{__:Y0}=wp.i18n,nR=`.bridges-tabs-panel .components-tab-panel__tabs{overflow-x:auto;} 123 .bridges-tabs-panel .components-tab-panel__tabs>button{flex-shrink:0;}`,rR={name:"bridge-"+Date.now(),backend:"",form_id:"",enabled:!0,workflow:[],is_valid:!0,mutations:[[]],custom_fields:[]};function zu(){let{bridge:i}=ri(),[e,t]=io(),n=pr(),r=tR(()=>Array.from(n).map((O,h)=>({index:h,name:String(h),title:O,icon:React.createElement(Xi,{name:O})})).concat([{index:-1,name:"new",title:Y0("Add a bridge","forms-bridge"),icon:React.createElement("div",{style:{marginBottom:"-2px"}},React.createElement(Ri,{width:"15",height:"15"}))}]),[n]),s=O=>{O={...rR,...O},O.mutations=O.mutations.slice(0,O.workflow.length+1);for(let h=O.mutations.length;h<O.workflow.length;h++)O.mutations.push([]);return O},o=(O,h)=>{O===-1&&(O=e.length),h.name=h.name.trim();let f=e.slice(0,O).concat([s(h)]).concat(e.slice(O+1,e.length));t(f)},a=({name:O})=>{let h=e.findIndex(u=>u.name===O),f=e.slice(0,h).concat(e.slice(h+1));t(f)},l=O=>{let h=e.findIndex(d=>d.name===O),f=e[h],u={...f,workflow:f.workflow.map(d=>d),mutations:JSON.parse(JSON.stringify(f.mutations||f.workflow.map(()=>[]))),custom_fields:JSON.parse(JSON.stringify(f.custom_fields||[]))};for(u.name=u.name.trim();n.has(u.name);)u.name+="-copy";window.__wpfbInvalidated=!0,t(e.concat(u))},c=iR(document.createElement("style"));return eR(()=>(c.current.appendChild(document.createTextNode(nR)),document.head.appendChild(c.current),()=>{document.head.removeChild(c.current)}),[]),i?React.createElement("div",{style:{width:"100%"}},React.createElement("h3",{style:{marginTop:0,fontSize:"13px"}},Y0("Bridges","forms-bridge")),React.createElement(JX,{tabs:r,className:"bridges-tabs-panel"},O=>{let h=e[O.index];return React.createElement(Ml,{bridge:h},!h&&React.createElement(Tu,{add:f=>o(O.index,f),schema:i,names:n})||React.createElement(au,{data:h,schema:i,remove:a,update:f=>o(O.index,f),copy:()=>l(h.name),names:n}))})):null}var{useMemo:sR}=wp.element,{__experimentalItemGroup:oR,__experimentalItem:aR}=wp.components,{__:lR}=wp.i18n;function al({fields:i=[]}){let e=sR(()=>i.map(t=>{let n=t.name;return t.required?n+="\u2217":t.forward&&(n+="?"),{...t,name:n,mutated:t.touch}}),[i]);return e.length?React.createElement(oR,{size:"large",isSeparated:!0},e.map((t,n)=>React.createElement(aR,{key:t.name+n},React.createElement(vi,{...t,showDiff:!0})))):React.createElement("p",{style:{lineHeight:"2.65"}},lR("Empty interface","forms-bridge"))}var{Modal:OR}=wp.components,{__:U0}=wp.i18n;function Xu({show:i,onClose:e}){if(i)return React.createElement(OR,{title:U0("Job editor","forms-bridge"),onRequestClose:e},React.createElement(React.Fragment,null,React.createElement("p",{style:{marginTop:"-3rem",position:"absolute",zIndex:1}},U0("Process the form submission before it is sent to the backend over the bridge","forms-bridge")),React.createElement("div",{style:{marginTop:"2rem",width:"1280px",maxWidth:"80vw",height:"500px",maxHeight:"80vh",display:"flex"}},React.createElement(xs,{close:e}))))}function Ru({width:i=50,height:e=50,color:t="#000000"}){return React.createElement("svg",{width:i,height:e,viewBox:"0 0 50 50"},React.createElement("g",{transform:"translate(-99.83567,-102)"},React.createElement("path",{style:{fill:t,strokeWidth:2},d:"m 101.18783,151.9575 c -0.47473,-0.11502 -0.9291,-0.48272 -1.14903,-0.92984 -0.06393,-0.12997 -0.134538,-0.32401 -0.156915,-0.43119 -0.06162,-0.29517 -0.06162,-39.2669 0,-39.56207 0.103548,-0.49601 0.463815,-0.9677 0.919875,-1.20436 0.42318,-0.2196 -0.56243,-0.20074 10.5121,-0.20119 11.04238,-4.6e-4 10.05513,-0.0186 10.48527,0.193 0.52151,0.25657 0.8704,0.75128 0.95922,1.3601 0.12078,0.82787 -0.40052,1.65228 -1.22311,1.93431 l -0.18056,0.0619 -8.96551,0.007 -8.96551,0.007 v 17.62315 17.62314 h 17.5696 17.5696 l 0.007,-8.97176 0.007,-8.97177 0.0773,-0.2287 c 0.18032,-0.5336 0.5824,-0.94202 1.12436,-1.14213 0.2529,-0.0934 0.71713,-0.11822 0.97896,-0.0524 0.25931,0.0652 0.59998,0.24188 0.78345,0.40635 0.21246,0.19047 0.41956,0.50786 0.5143,0.78818 l 0.0773,0.2287 v 10.00884 10.00884 l -0.0648,0.20881 c -0.1942,0.6261 -0.68212,1.09534 -1.28772,1.23843 -0.15439,0.0365 -2.51881,0.0412 -19.80083,0.0395 -17.02892,-0.002 -19.64751,-0.007 -19.79184,-0.0422 z"}),React.createElement("path",{d:"m 113.3661,139.87064 c -0.47978,-0.11635 -0.93124,-0.4844 -1.15795,-0.944 -0.18488,-0.37479 -0.23253,-0.7393 -0.1494,-1.14267 0.0555,-0.26951 4.26852,-10.14985 4.4309,-10.39144 0.0654,-0.0973 4.93557,-4.99683 12.53228,-12.60786 12.26692,-12.29004 12.42799,-12.45003 12.63367,-12.54891 0.28518,-0.1371 0.4922,-0.18452 0.80558,-0.18452 0.42184,0 0.78398,0.12207 1.10474,0.37237 0.0875,0.0683 1.45324,1.42507 3.03487,3.015 2.1079,2.11895 2.89972,2.93216 2.96568,3.04579 0.34214,0.5894 0.33288,1.28679 -0.025,1.87855 -0.11368,0.18798 -24.80529,24.94357 -25.02901,25.09386 -0.0804,0.054 -2.24081,0.99668 -4.84166,2.11261 -5.35245,2.29654 -5.23833,2.24831 -5.45159,2.30398 -0.19893,0.0519 -0.63343,0.0505 -0.85315,-0.003 z m 6.54526,-7.84097 c -0.59085,-0.59302 -1.08264,-1.0691 -1.09289,-1.05796 -0.0146,0.0159 -1.53238,3.55198 -1.59683,3.72032 -0.01,0.0249 0.75243,-0.28861 1.87395,-0.77108 l 1.89004,-0.81307 z m 19.21636,-19.27354 -1.51394,-1.51734 -8.76403,8.78378 -8.76403,8.78379 1.51382,1.51742 1.51382,1.51742 8.76414,-8.78387 8.76415,-8.78386 z m 4.79183,-1.76793 1.58319,-1.58693 -1.51375,-1.51734 -1.51374,-1.51734 -1.59041,1.59381 -1.59041,1.5938 1.50689,1.51047 c 0.82879,0.83076 1.51322,1.51047 1.52096,1.51047 0.008,0 0.72651,-0.71412 1.59727,-1.58694 z",style:{fill:t,strokeWidth:1}})))}var{useState:cR,useEffect:E0,useRef:ll,useMemo:M0,useCallback:hR}=wp.element,{PanelBody:fR,SelectControl:uR,Button:qu,TabPanel:dR,Spinner:pR}=wp.components,{__:rn}=wp.i18n,mR=[{name:"input",title:rn("Input interface","forms-bridge")},{name:"output",title:rn("Output interface","forms-bridge")},{name:"snippet",title:rn("Job snippet","forms-bridge")}];function _u(){let[i]=N(),e=ot(),[t]=dn(),[n,r]=fn(),[s,o,a]=un(),[l,c]=cR(!1),O=M0(()=>Ce(t.map(d=>({value:d.name,label:d.title})).sort((d,p)=>d.label>p.label?1:-1)),[t]);E0(()=>{i&&c(!1)},[i]);let h=M0(()=>new Set(t.map(d=>d.name)),[t]),f=hR(()=>{let d={...s};for(d.title+=" (copy)";h.has(d.name);)d.name+="-copy";o(d).then(()=>e())},[s,h]),u=n&&!s;return React.createElement(React.Fragment,null,React.createElement(fR,{title:rn("Workflow jobs","forms-bridge"),initialOpen:!1},React.createElement("p",{style:{marginBottom:"2em"}},rn("Manage and edit addon's jobs","forms-bridge")),React.createElement("div",{style:{display:"flex",gap:"0.5rem",marginBottom:"2rem"}},React.createElement(be,null,React.createElement(uR,{value:n||"",onChange:r,options:O,__nextHasNoMarginBottom:!0,__next40pxDefaultSize:!0})),React.createElement(qu,{variant:"secondary",style:{width:"40px",justifyContent:"center"},onClick:()=>{r(null),c(!0)},__next40pxDefaultSize:!0},"+")),React.createElement(gR,{loading:u,config:s,setEdit:c,reset:a,copy:f})),React.createElement(Xu,{show:l,onClose:()=>c(!1)}))}function gR({loading:i,config:e,setEdit:t,reset:n,copy:r}){let s=ll("input"),o=ll(c=>setTimeout(()=>s.current=c)).current,a=ll(),l=ll(()=>{setTimeout(()=>{a.current&&window.scrollY<a.current.offsetTop&&window.scrollTo({left:0,top:a.current.offsetTop,behavior:"smooth"})},100)}).current;if(E0(()=>{e&&l()},[e]),i)return React.createElement("div",{style:{height:"240px",backgroundColor:"rgb(245, 245, 245)",display:"flex",justifyContent:"center",alignItems:"center"}},React.createElement(pR,null));if(e)return React.createElement("div",{style:{padding:"calc(24px) calc(32px)",width:"calc(100% - 64px)",backgroundColor:"rgb(245, 245, 245)"}},React.createElement("div",{ref:a,style:{display:"flex"}},React.createElement("div",{style:{flex:2}},React.createElement("h3",{style:{margin:0}},e.title),React.createElement("p",null,e.description)),React.createElement("div",{style:{flex:1,display:"flex",gap:"0.5em",justifyContent:"end",alignItems:"end"}},React.createElement(qu,{variant:"secondary",onClick:()=>t(!0),style:{display:"flex",justifyContent:"center",width:"40px"},__next40pxDefaultSize:!0},React.createElement(Ru,{width:"20",height:"20",color:"var(--wp-components-color-accent,var(--wp-admin-theme-color,#3858e9))"})),React.createElement(qu,{variant:"primary",style:{height:"40px",width:"40px",justifyContent:"center",fontSize:"1.5em",border:"1px solid",padding:"6px 6px"},onClick:r,label:rn("Duplaicate","forms-bridge"),showTooltip:!0,__next40pxDefaultSize:!0},React.createElement(Mt,{width:"25",height:"25",color:"white"})),React.createElement(Ut,{disabled:!e.post_id,label:rn("Reset","forms-bridge"),onClick:()=>n(e.name),isDestructive:!1,icon:!0}))),React.createElement(dR,{tabs:mR,onSelect:o},({name:c})=>(c!==s.current&&l(),React.createElement("div",{style:{background:"white",padding:"calc(12px) calc(24px)",width:"calc(100% - 48px)"}},React.createElement($R,{tab:c,config:e})))))}function $R({tab:i,config:e}){switch(i){case"input":return React.createElement(al,{fields:e.input});case"output":return React.createElement(al,{fields:e.output.map(t=>({...t,required:!t.requires?.length}))});case"snippet":return React.createElement(Ps,{id:e.id,snippet:e.snippet})}}var{PanelRow:yR,__experimentalSpacer:QR}=wp.components,{useEffect:SR,useMemo:bR}=wp.element;function Cu(){let[i]=K(),[e]=ln(),t=bR(()=>e.find(n=>n.name===i)?.logo,[i,e]);return SR(()=>{if(!t)return;let n=document.querySelector(`#${i} .addon-logo`);n&&(n.setAttribute("src",t),n.style.width="auto",n.style.height="25px")},[i,t]),React.createElement(lO,null,React.createElement(nO,null,React.createElement(yR,null,React.createElement(zu,null)),React.createElement(QR,{paddingY:"calc(8px)"}),React.createElement(_u,null)))}var{Card:xR,CardHeader:vR,CardBody:wR,TabPanel:PR,__experimentalHeading:kR}=wp.components,{useEffect:TR,useMemo:zR,useRef:XR}=wp.element,{__:Wu}=wp.i18n,RR=`.settings-tabs-panel .components-tab-panel__tabs{overflow-x:auto;} 124 .settings-tabs-panel .components-tab-panel__tabs>button{flex-shrink:0;}`;function Zu(){let[i,e]=K(),[t]=ln(),n=zR(()=>{let s=t.filter(({enabled:o})=>o).map(({name:o,title:a})=>({name:o,title:a}));return[{name:"general",title:Wu("General","forms-bridge")},{name:"http",title:Wu("HTTP","forms-bridge")}].concat(s)},[t]),r=XR(document.createElement("style"));return TR(()=>(r.current.appendChild(document.createTextNode(RR)),document.head.appendChild(r.current),()=>{document.head.removeChild(r.current)}),[]),React.createElement("div",{style:{width:"100%"}},React.createElement(PR,{initialTabName:i,onSelect:e,tabs:n,className:"settings-tabs-panel"},s=>React.createElement("div",{id:s.name},React.createElement(xR,{size:"large",style:{height:"fit-content"}},React.createElement(vR,null,React.createElement(kR,{level:2,style:{fontSize:"1.5em"}},Wu(s.title,"forms-bridge")),React.createElement("img",{style:{width:"auto",height:"25px",maxWidth:"90px",objectFit:"contain",objectPosition:"center"},className:"addon-logo"})),React.createElement(wR,null,s.name==="general"?React.createElement(Tl,null):s.name==="http"?React.createElement(Jl,null):React.createElement(Cu,null))))))}var{Button:qR}=wp.components,{__:_R}=wp.i18n;function Vu(){let[i]=fe(),[e]=N(),[t,n]=an();return React.createElement("div",{style:{textAlign:"right"}},React.createElement(qR,{variant:"primary",onClick:()=>n(t),style:{minWidth:"100px",justifyContent:"center",marginLeft:"auto"},disabled:i||e,__next40pxDefaultSize:!0},_R("Save","forms-bridge")))}var{createRoot:CR,useRef:WR}=wp.element,{__experimentalHeading:ZR}=wp.components;function VR(){let i=WR(document.getElementById("wpadminbar").offsetHeight).current;return React.createElement("div",{id:"forms-bridge",style:{position:"relative",minHeight:`calc(100vh - ${i}px)`}},React.createElement(Au,{fallback:React.createElement("div",{style:{height:"50vh",paddingLeft:"1em",display:"flex",justifyContent:"center",alignItems:"center"}},React.createElement("h1",null,"Why do you do this to me? \u{1F629}"))},React.createElement(hl,null,React.createElement(ul,null,React.createElement(gl,null,React.createElement(yl,null,React.createElement(dl,null,React.createElement("div",{style:{display:"flex",justifyContent:"space-between",paddingTop:"calc(16px)",alignItems:"baseline"}},React.createElement(ZR,{level:1},"Forms Bridge"),React.createElement(Vu,null)),React.createElement(Zu,null))))))))}wp.domReady(()=>{CR(document.getElementById("forms-bridge")).render(React.createElement(VR,null))});})(); 125 125 //# sourceMappingURL=plugin.bundle.js.map -
forms-bridge/trunk/forms-bridge.php
r3438962 r3442111 10 10 * Text Domain: forms-bridge 11 11 * Domain Path: /languages 12 * Version: 4.2. 412 * Version: 4.2.5 13 13 * Requires PHP: 8.0 14 14 * Requires at least: 6.7 -
forms-bridge/trunk/includes/class-addon.php
r3400031 r3442111 597 597 598 598 /** 599 * Performs an introspection of the backend API and returns a list of available endpoints. 600 * 601 * @param string $backend Target backend name. 602 * @param string|null $method HTTP method. 603 * 604 * @return array|WP_Error 605 */ 606 public function get_endpoints( $backend, $method = null ) { 607 return array(); 608 } 609 610 /** 599 611 * Get posts from the database based on a post type and an addon name. 600 612 * -
forms-bridge/trunk/includes/class-rest-settings-controller.php
r3400031 r3442111 333 333 return self::ping_backend( $addon, $request ); 334 334 }, 335 'permission_callback' => array( 336 self::class, 337 'permission_callback', 338 ), 335 'permission_callback' => array( self::class, 'permission_callback' ), 339 336 'args' => array( 340 337 'backend' => FBAPI::get_backend_schema(), … … 343 340 ), 344 341 ) 342 ); 343 344 register_rest_route( 345 'forms-bridge/v1', 346 "/{$addon}/backend/endpoints", 347 array( 348 array( 349 'methods' => WP_REST_Server::CREATABLE, 350 'callback' => static function ( $request ) use ( $addon ) { 351 return self::get_backend_endpoints( $addon, $request ); 352 }, 353 'permission_callback' => array( self::class, 'permission_callback' ), 354 'args' => array( 355 'backend' => FBAPI::get_backend_schema(), 356 'method' => array( 357 'description' => __( 'HTTP method used to filter the list of endpoints', 'forms-bridge' ), 358 'type' => 'string', 359 ), 360 ), 361 ), 362 ), 345 363 ); 346 364 … … 354 372 return self::get_endpoint_schema( $addon, $request ); 355 373 }, 356 'permission_callback' => array( 357 self::class, 358 'permission_callback', 359 ), 374 'permission_callback' => array( self::class, 'permission_callback' ), 360 375 'args' => array( 361 376 'backend' => FBAPI::get_backend_schema(), 362 377 'endpoint' => array( 363 'description' => __( 364 'Target endpoint name', 365 'forms-bridge' 366 ), 378 'description' => __( 'Target endpoint name', 'forms-bridge' ), 367 379 'type' => 'string', 368 380 'required' => true, 369 381 ), 370 382 'method' => array( 371 'description' => __( 372 'HTTP method', 373 'forms-bridge', 374 ), 383 'description' => __( 'HTTP method', 'forms-bridge' ), 375 384 'type' => 'string', 376 385 ), … … 820 829 821 830 /** 822 * Backend endpoint schemaroute callback.831 * Backend endpoints route callback. 823 832 * 824 833 * @param string $addon Addon name. … … 827 836 * @return array|WP_Error 828 837 */ 838 private static function get_backend_endpoints( $addon, $request ) { 839 $handler = self::prepare_addon_backend_request_handler( $addon, $request ); 840 841 if ( is_wp_error( $handler ) ) { 842 return $handler; 843 } 844 845 [$addon, $backend] = $handler; 846 847 $endpoints = $addon->get_endpoints( $backend, $request['method'] ); 848 849 if ( is_wp_error( $endpoints ) ) { 850 $error = self::internal_server_error(); 851 $error->add( 852 $endpoints->get_error_code(), 853 $endpoints->get_error_message(), 854 $endpoints->get_error_data() 855 ); 856 857 return $error; 858 } 859 860 return $endpoints; 861 } 862 863 /** 864 * Backend endpoint schema route callback. 865 * 866 * @param string $addon Addon name. 867 * @param WP_REST_Request $request Request object. 868 * 869 * @return array|WP_Error 870 */ 829 871 private static function get_endpoint_schema( $addon, $request ) { 830 $handler = self::prepare_addon_backend_request_handler( 831 $addon, 832 $request 833 ); 872 $handler = self::prepare_addon_backend_request_handler( $addon, $request ); 834 873 835 874 if ( is_wp_error( $handler ) ) { -
forms-bridge/trunk/includes/jobs/date-fields-to-date.php
r3438962 r3442111 60 60 ); 61 61 62 $date_format = $form_data['fields'][ $date_index ]['format'] ?? ''; 62 if ( false !== $date_index ) { 63 $date_format = $form_data['fields'][ $date_index ]['format']; 64 } else { 65 $date_format = 'yyyy-mm-dd'; 66 } 63 67 64 68 if ( strstr( $date_format, '-' ) ) { -
forms-bridge/trunk/integrations/formidable/class-formidable-integration.php
r3438962 r3442111 140 140 141 141 $field_values['field_options']['draft'] = 0; 142 $field_values = apply_filters( 'frm_before_field_created', $field_values ); 142 143 $field_values = apply_filters( 'frm_before_field_created', $field_values ); 143 144 FrmField::create( $field_values ); 144 145 } … … 331 332 break; 332 333 case 'checkbox': 334 if ( 1 === count( $options ) && '1' === $options[0]['value'] ) { 335 $type = 'checkbox'; 336 } else { 337 $type = 'select'; 338 } 339 340 break; 333 341 case 'select': 334 342 case 'radio': … … 366 374 $type = 'hidden'; 367 375 break; 368 case 'toggle':369 if ( is_array( $field->options ) && '' === ( $field->options[0] ?? false ) && '1' === ( $field->options[1] ?? false ) ) {370 $type = 'checkbox';371 } else {372 $type = 'text';373 }374 375 break;376 376 default: 377 377 $type = 'text'; … … 388 388 'options' => $options, 389 389 'is_file' => 'file' === $field->type, 390 'is_multi' => $this->is_multi_field( $field ),390 'is_multi' => $this->is_multi_field( $field, $type ), 391 391 'conditional' => ! empty( $field->field_options['hide_field'] ) && ! empty( $field->field_options['hide_opt'] ), 392 392 'format' => 'date' === $field->type ? 'yyyy-mm-dd' : '', 393 'schema' => $this->field_value_schema( $field ),393 'schema' => $this->field_value_schema( $field, $type ), 394 394 'basetype' => $field->type, 395 395 'form_id' => $field->form_id, … … 406 406 * 407 407 * @param object $field Target field instance. 408 * @param string $norm_type Normalized field type. 408 409 * 409 410 * @return boolean 410 411 */ 411 private function is_multi_field( $field ) {412 private function is_multi_field( $field, $norm_type ) { 412 413 if ( 'file' === $field->type ) { 413 414 return boolval( $field->field_options['multiple'] ?? false ); … … 418 419 } 419 420 420 if ( in_array( $field->type, array( 'repeater', 'checkbox', 'address', 'credit_card' ), true )) {421 if ( 'checkbox' === $field->type && 'select' === $norm_type ) { 421 422 return true; 422 423 } 423 424 425 if ( in_array( $field->type, array( 'repeater', 'address', 'credit_card' ), true ) ) { 426 return true; 427 } 428 424 429 return false; 425 430 } … … 429 434 * 430 435 * @param object $field Field instance. 436 * @param string $norm_type Normalized field type. 431 437 * 432 438 * @return array|null JSON schema of the value of the field. 433 439 */ 434 private function field_value_schema( $field ) {440 private function field_value_schema( $field, $norm_type ) { 435 441 switch ( $field->type ) { 436 442 case 'form': … … 473 479 case 'number': 474 480 return array( 'type' => 'number' ); 475 case 'checkbox':476 return array(477 'type' => 'array',478 'items' => array( 'type' => 'string' ),479 'additionalItems' => false,480 );481 481 case 'credit_card': 482 482 return array( … … 531 531 case 'file': 532 532 return null; 533 case ' toggle':534 if ( is_array( $field->options ) && '' === ( $field->options[0] ?? false ) && '1' === ( $field->options[1] ?? false )) {535 $type = 'boolean';533 case 'checkbox': 534 if ( 'checkbox' === $norm_type ) { 535 return array( 'type' => 'boolean' ); 536 536 } else { 537 $type = 'text'; 538 } 539 540 return array( 'type' => $type ); 537 return array( 538 'type' => 'array', 539 'items' => array( 'type' => 'string' ), 540 'additionalItems' => true, 541 ); 542 } 541 543 default: 542 544 return array( 'type' => 'string' ); … … 604 606 } 605 607 } 608 } elseif ( 'checkbox' === $field['type'] ) { 609 $data[ $field_name ] = false; 606 610 } 607 611 } … … 635 639 return (float) $value; 636 640 case 'checkbox': 637 $value = maybe_unserialize( $value ); 641 $value = maybe_unserialize( $value ); 642 $is_boolean = 'checkbox' === $field['type']; 638 643 639 644 if ( is_array( $value ) ) { 645 if ( $is_boolean ) { 646 return (bool) $value[0] ?? false; 647 } 648 640 649 return array_filter( $value ); 641 } else {642 return array( $value );643 650 } 651 652 if ( $is_boolean ) { 653 return (bool) $value; 654 } 655 656 return array( $value ); 644 657 case 'select': 645 658 if ( is_array( $value ) ) { … … 665 678 666 679 return $value; 667 case 'toggle':668 return 'checkbox' === $field['type'] ? boolval( $value ) : $value;669 680 default: 670 681 return (string) $value; … … 796 807 break; 797 808 case 'file': 798 $args['is_multi'] = $field['is_multi'] ?? false; 799 $args['filetypes'] = $field['filetypes'] ?? ''; 800 $formidable_fields[] = $this->file_field( $args ); 809 if ( $this->full_support() ) { 810 $args['is_multi'] = $field['is_multi'] ?? false; 811 $args['filetypes'] = $field['filetypes'] ?? ''; 812 $formidable_fields[] = $this->file_field( $args ); 813 } 814 801 815 break; 802 816 case 'text': … … 946 960 */ 947 961 private function date_field( $args ) { 962 if ( ! $this->full_support() ) { 963 $args['default_value'] = 'yyyy-mm-dd'; 964 $args['placeholder'] = 'yyyy-mm-dd'; 965 return $this->field_template( 'text', $args, array( 'format' => '^\d{4}-\d{1,2}-\d{1,2}' ) ); 966 } 967 948 968 return $this->field_template( 'date', $args ); 949 969 } … … 968 988 */ 969 989 private function checkbox_field( $args ) { 970 $args['options'] = array( '', '1' ); 971 return $this->field_template( 'toggle', $args ); 990 $args['options'] = array( 991 array( 992 'label' => $args['name'], 993 'value' => '1', 994 'image' => 0, 995 ), 996 ); 997 998 return $this->field_template( 'checkbox', $args ); 999 } 1000 1001 /** 1002 * Returns true if the formidable pro version is installed. 1003 * 1004 * @return boolean 1005 */ 1006 private function full_support() { 1007 return (bool) apply_filters( 'frm_pro_installed', false ); 972 1008 } 973 1009 } -
forms-bridge/trunk/integrations/ninja/class-ninja-integration.php
r3395308 r3442111 128 128 } 129 129 130 $form = Ninja_Forms()->form()->get(); 130 $form_id = defined( 'WP_TESTS_DOMAIN' ) ? rand( 1, 1000 ) : ''; 131 $form = Ninja_Forms()->form( $form_id )->get(); 131 132 $form->save(); 132 133 … … 766 767 break; 767 768 case 'file': 768 $args[] = $field['is_multi'] ?? false; 769 $args[] = $field['filetypes'] ?? ''; 770 $nf_fields[] = $this->upload_field( ...$args ); 769 if ( ! class_exists( 'NF_FU_File_Uploads' ) ) { 770 if ( function_exists( 'NF_File_Uploads' ) ) { 771 NF_File_Uploads(); 772 } 773 } 774 775 if ( class_exists( 'NF_FU_File_Uploads' ) ) { 776 $args[] = $field['is_multi'] ?? false; 777 $args[] = $field['filetypes'] ?? ''; 778 $nf_fields[] = $this->upload_field( ...$args ); 779 } 780 771 781 break; 772 782 case 'hidden': -
forms-bridge/trunk/integrations/wpforms/class-wpforms-integration.php
r3438962 r3442111 363 363 case 'payment-checkbox': 364 364 case 'select': 365 $type = 'select'; 366 break; 365 367 case 'checkbox': 366 $type = 'select'; 368 if ( 1 === count( $options ) && '1' === $options[0]['value'] ) { 369 $type = 'checkbox'; 370 } else { 371 $type = 'select'; 372 } 367 373 break; 368 374 case 'number-slider': … … 403 409 'options' => $options, 404 410 'is_file' => 'file-upload' === $field['type'], 405 'is_multi' => $this->is_multi_field( $field ),411 'is_multi' => $this->is_multi_field( $field, $type ), 406 412 'conditional' => false, 407 413 'format' => $format, 408 414 'children' => array_values( $children ), 409 'schema' => $this->field_value_schema( $field, $ children ),415 'schema' => $this->field_value_schema( $field, $type, $children ), 410 416 'basetype' => $field['type'], 411 417 ), … … 418 424 * Checks if a filed is multi value field. 419 425 * 420 * @param array $field Target field instance. 426 * @param array $field Target field instance. 427 * @param string $norm_type Normalized field type. 421 428 * 422 429 * @return boolean 423 430 */ 424 private function is_multi_field( $field ) { 425 if ( 'checkbox' === $field['type'] || 'repeater' === $field['type'] ) { 431 private function is_multi_field( $field, $norm_type ) { 432 if ( 'checkbox' === $field['type'] && 'select' === $norm_type ) { 433 return true; 434 } 435 436 if ( 'repeater' === $field['type'] ) { 426 437 return true; 427 438 } … … 444 455 * Gets the field value JSON schema. 445 456 * 446 * @param array $field Field instance. 447 * @param array $children Children fields. 457 * @param array $field Field instance. 458 * @param string $norm_type Normalized field type. 459 * @param array $children Children fields. 448 460 * 449 461 * @return array JSON schema of the value of the field. 450 462 */ 451 private function field_value_schema( $field, $ children = array() ) {463 private function field_value_schema( $field, $norm_type, $children = array() ) { 452 464 switch ( $field['type'] ) { 453 465 case 'name': … … 484 496 return array( 'type' => 'string' ); 485 497 case 'checkbox': 498 if ( 'checkbox' === $norm_type ) { 499 return array( 'type' => 'boolean' ); 500 } 501 486 502 $items = array(); 487 503 $count = count( $field['choices'] ); … … 583 599 } 584 600 585 foreach ( $submission['fields'] as $field ) { 586 if ( 'file-upload' === $field['type'] ) { 601 $submission_fields = array_values( $submission['fields'] ); 602 603 foreach ( $form_data['fields'] as $field_data ) { 604 if ( 'file' === $field_data['type'] ) { 587 605 continue; 588 606 } 589 607 590 $i = array_search(591 trim( $field ['name'] ),592 array_column( $ form_data['fields'], 'name' ),608 $index = array_search( 609 trim( $field_data['name'] ), 610 array_column( $submission_fields, 'name' ), 593 611 true 594 612 ); 595 613 596 $field_data = $form_data['fields'][ $i ]; 614 if ( false === $index ) { 615 if ( 'checkbox' === $field_data['type'] ) { 616 $data[ $field_data['name'] ] = false; 617 } 618 619 continue; 620 } 621 622 $field = $submission_fields[ $index ]; 597 623 598 624 $field['id'] = preg_replace( '/_\d+$/', '', $field['id'] ); … … 662 688 if ( 663 689 'select' === $field_data['basetype'] || 664 'checkbox' === $field_data['basetype'] 690 'checkbox' === $field_data['basetype'] && 'select' === $field_data['type'] 665 691 ) { 666 692 if ( $field_data['is_multi'] ) { … … 674 700 } 675 701 702 if ( 'checkbox' === $field_data['basetype'] && 'checkbox' === $field_data['type'] ) { 703 return (bool) $field['value']; 704 } 705 676 706 if ( 'address' === $field_data['basetype'] ) { 677 707 $post_values = $_POST['wpforms']['fields'][ $field['id'] ] ?? array(); … … 769 799 break; 770 800 case 'hidden': 771 if ( isset( $field['value'] ) ) {801 if ( $this->full_support() && isset( $field['value'] ) ) { 772 802 if ( is_bool( $field['value'] ) ) { 773 803 $field['value'] = $field['value'] ? '1' : '0'; 774 804 } 775 805 776 $args[] = (string) $field['value']; 806 $args[] = (string) $field['value']; 807 777 808 $wp_fields[ strval( $id ) ] = $this->hidden_field( ...$args ); 778 809 } … … 788 819 break; 789 820 case 'file': 790 $args[] = $field['filetypes'] ?? ''; 791 $wp_fields[ strval( $id ) ] = $this->file_field( ...$args ); 821 if ( $this->full_support() ) { 822 $args[] = $field['filetypes'] ?? ''; 823 $wp_fields[ strval( $id ) ] = $this->file_field( ...$args ); 824 } 825 792 826 break; 793 827 case 'date': … … 809 843 break; 810 844 case 'tel': 811 $wp_fields[ strval( $id ) ] = $this->field_template( 812 'phone', 813 ...$args 814 ); 845 if ( ! $this->full_support() ) { 846 $wp_field = $this->field_template( 'text', ...$args ); 847 } else { 848 $wp_field = $this->field_template( 'phone', ...$args ); 849 } 850 851 $wp_fields[ strval( $id ) ] = $wp_field; 815 852 break; 816 853 case 'url': 854 if ( ! $this->full_support() ) { 855 $wp_field = array_merge( 856 $this->field_template( 'text', ...$args ), 857 array( 'input_mask' => 'alias:url' ), 858 ); 859 } else { 860 $wp_field = $this->field_template( 'url', ...$args ); 861 } 862 863 $wp_fields[ strval( $id ) ] = $wp_field; 864 break; 817 865 case 'email': 818 866 default: … … 919 967 array( 920 968 'label' => $name, 921 'value' => __( 'Checked', 'forms-bridge' ),969 'value' => '1', 922 970 'image' => '', 923 971 'icon' => '', … … 957 1005 */ 958 1006 private function date_field( $id, $name, $required ) { 1007 if ( ! $this->full_support() ) { 1008 return array_merge( 1009 $this->field_template( 'text', $id, $name, $required ), 1010 array( 'input_mask' => 'date:yyyy-mm-dd' ), 1011 ); 1012 } 1013 959 1014 return array_merge( 960 1015 $this->field_template( 'date-time', $id, $name, $required ), … … 1085 1140 ); 1086 1141 } 1142 1143 /** 1144 * Returns true if the wpforms pro version is installed. 1145 * 1146 * @return boolean 1147 */ 1148 private function full_support() { 1149 return (bool) wpforms()->is_pro(); 1150 } 1087 1151 } 1088 1152 -
forms-bridge/trunk/readme.txt
r3438962 r3442111 2 2 3 3 Contributors: codeccoop 4 5 Tags: forms, integration, erp, crm, rest api 6 4 Tags: form integration, erp integration, crm integration, api integration, automation 7 5 Donate link: https://buymeacoffee.com/codeccoop 8 9 6 License: GPLv2 or later 10 11 7 License URI: http://www.gnu.org/licenses/gpl-2.0.html 12 13 Stable Tag: 4.2.4 14 8 Stable Tag: 4.2.5 15 9 Tested up to: 6.9 16 10 17 18 19 Bridge your WordPress forms without code, add custom fields, use field mappers, set up a workflow and make your data flow seamlessly to your backend. 20 21 22 23 == Bridges == 24 25 26 27 Think of a bridge as a pipeline through which your form submissions data flows to your backend or service. In the middle, you can add custom fields to the form submissions, use field mappers to rename and mutate your form responses, or use workflow jobs to process the data before it is sent over the wire. With bridges you can connect your WordPress forms to any kind of backend, it doesn't matter if it is a CRM, an ERP, a booking system or an email marketing platform, the only requirement is an HTTP API. If it has an API it can be bridged! 28 29 11 Seamlessly connect WordPress forms to CRMs, ERPs, and APIs — no coding required. Automate data flow with field mappers, custom fields, and workflows. 12 13 == Description == 14 15 **Struggling to connect your WordPress forms to your CRM, ERP, or other business tools?** 16 17 Forms Bridge lets you automate data flow from WordPress forms to any API-powered system—without writing a single line of code. 18 19 Whether you use Zoho, Odoo, Dolibarr, Zulip, or a custom backend, Forms Bridge makes it easy to map fields, add custom data, and set up workflows so your form submissions go exactly where you need them. **If it has an API it can be bridged!** 20 21 **Why use Forms Bridge** 22 23 ✅ No code required – Set up integrations with a user-friendly interface. 24 ✅ Works with your favorite form plugins – Contact Form 7, Gravity Forms, WPForms, Ninja Forms, WooCommerce, and Formidable Forms. 25 ✅ 15+ ready-to-use add-ons – Connect to Zoho, Odoo, Dolibarr, Google Sheets, Slack, Mailchimp, and more. 26 ✅ Advanced data mapping – Rename, transform, and enrich form data before sending it. 27 ✅ Workflow automation – Pre-process submissions with custom jobs. 28 ✅ Reusable templates – Get started in minutes with pre-built blueprints. 29 30 **Try Forms Bridge today and say goodbye to manual data entry!** 30 31 31 32 == Form builders == 32 33 33 34 35 34 Form builders are well known plugins that add forms to WordPress. We do bridges, let them do the forms and then work together to make your business work with ease. 36 35 37 38 39 36 Forms Bridge supports the following form builders: 40 37 41 42 43 38 * [Contact Form 7](https://wordpress.org/plugins/contact-form-7/) 44 45 39 * [Formidable Forms](https://wordpress.org/plugins/formidable/) 46 47 40 * [GravityForms](https://www.gravityforms.com) 48 49 * [WP Forms](https://wpforms.com/) 50 41 * [WP Forms](https://wordpress.org/plugins/wpforms-lite/) 51 42 * [Ninja Forms](https://wordpress.org/plugins/ninja-forms/) 52 53 43 * [WooCommerce](https://wordpress.org/plugins/woocommerce) 54 44 55 56 57 == Addons == 58 59 60 61 Forms Bridge comes with free addons. Each addon adds to the plugin new bridges to work with specific APIs, new workflow jobs and bridge templates. 62 63 64 65 Forms Bridge has the following addons: 66 67 68 69 * [REST API](https://formsbridge.codeccoop.org/documentation/#backends) 45 == Add-ons == 46 47 Forms Bridge comes with free add-ons. Each add-on add to the plugin new bridges to work with specific APIs, new workflow jobs and bridge templates. 48 49 Forms Bridge has the following add-ons: 50 51 **📊 CRM & Sales** 70 52 71 53 * [Bigin](https://formsbridge.codeccoop.org/documentation/bigin/) 54 * [SuiteCRM](https://formsbridge.codeccoop.org/documentation/suitecrm/) 55 * [Vtiger](https://formsbridge.codeccoop.org/documentation/vtiger/) 56 * [Zoho CRM](https://formsbridge.codeccoop.org/documentation/zoho-crm/) 57 58 **📦 ERP & Accounting** 59 60 * [Dolibarr](https://formsbridge.codeccoop.org/documentation/dolibarr/) 61 * [FinanCoop](https://formsbridge.codeccoop.org/documentation/financoop/) 62 * [Holded](https://formsbridge.codeccoop.org/documentation/holded/) 63 * [Odoo](https://formsbridge.codeccoop.org/documentation/odoo/) 64 65 **📧 Marketing & Email** 72 66 73 67 * [Brevo](https://formsbridge.codeccoop.org/documentation/brevo/) 74 75 * [ Dolibarr](https://formsbridge.codeccoop.org/documentation/dolibarr/)76 77 * [FinanCoop](https://formsbridge.codeccoop.org/documentation/financoop/)68 * [Mailchimp](https://formsbridge.codeccoop.org/documentation/mailchimp/) 69 * [Listmonk](https://formsbridge.codeccoop.org/documentation/listmonk/) 70 71 **🗓️ Productivity** 78 72 79 73 * [Google Calendar](https://formsbridge.codeccoop.org/documentation/google-calendar/) 80 81 74 * [Google Sheets](https://formsbridge.codeccoop.org/documentation/google-sheets/) 82 83 * [Holded](https://formsbridge.codeccoop.org/documentation/holded/)84 85 * [Listmonk](https://formsbridge.codeccoop.org/documentation/listmonk/)86 87 75 * [Nextcloud](https://formsbridge.codeccoop.org/documentation/nextcloud/) 88 76 89 * [Mailchimp](https://formsbridge.codeccoop.org/documentation/mailchimp/) 90 91 * [Odoo](https://formsbridge.codeccoop.org/documentation/odoo/) 77 **📨 Messaging & Collaboration** 92 78 93 79 * [Rocket.Chat](https://formsbridge.codeccoop.org/documentation/rocket-chat/) 94 95 80 * [Slack](https://formsbridge.codeccoop.org/documentation/slack/) 96 97 * [SuiteCRM](https://formsbridge.codeccoop.org/documentation/suitecrm/)98 99 * [Vtiger](https://formsbridge.codeccoop.org/documentation/vtiger/)100 101 * [Zoho CRM](https://formsbridge.codeccoop.org/documentation/zoho-crm/)102 103 81 * [Zulip](https://formsbridge.codeccoop.org/documentation/zulip/) 104 82 105 106 107 == Backends == 108 109 110 111 In Forms Bridge, a backend is a set of configurations that handles the information required to get your form submissions bridged over HTTP requests to remote systems. 112 113 114 115 To register a new backend you only have to set 3 fields: 116 117 118 119 1. A unique name for the new connection 120 121 2. The URL of your backend 122 123 3. An array of HTTP headers with connection metadata and credentials 124 125 4. Optional, an HTTP authentication credential (Basic, Bearer, etc) 126 127 128 129 Once registered, you can reuse your backend connection on your form bridges. 130 131 132 133 == Custom fields == 134 135 136 137 Custom fields are data that will be added the bridge payload. Use them to store private data you don’t want to place on your public forms, like user emails, or config values, like product IDs or lead tags. 138 139 140 141 == Field Mappers == 142 143 144 145 Field mappers are mutations with which you can rename your form submission fields and transform its values. Use them to make your form submissions to fit your backend API endpoint interface. 146 147 148 149 == Workflows == 150 151 152 153 Make your form submissions flow through a chain of jobs that pre-process the data before it was sent over the wire. Think of workflow as a system to set up automations to run on each form submission. 154 155 156 157 == Templates == 158 159 160 161 To streamline the bridge setup process, Forms Bridge comes packed with templates. Templates are blueprints of bridges you can use to set up your form integrations in a matter of minutes. 162 163 164 165 == Docs == 166 167 168 169 Browse the plugin's documentation on [formsbridge.codeccoop.org](https://formsbridge.codeccoop.org/documentation/) 170 171 83 **Need a custom integration?** 84 85 Connect to any custom API using standard HTTP methods and authentication using the abstract **REST API** add-on. Perfect for integrating with proprietary or less common systems. 86 87 == Features == 88 89 **Bridges** 90 Think of a bridge as a pipeline through which your form submissions data flows to your backend or service. 91 92 **Backends** 93 Think of it as a "connection profile" for your API. Save your API URL, headers, and credentials once, then reuse them across all your bridges. No need to re-enter details every time! 94 95 **Credentials** 96 Authenticate your HTTP requests using API keys, Basic Auth, OAuth, RPC credentials and Digest Auth. 97 98 **Custom fields & mappers** 99 Add hidden data (like user IDs or product codes) and rename/transform fields to match your API’s requirements. 100 101 **Workflows** 102 Chain together jobs to pre-process data before it’s sent. Filter, validate, enrich submissions automatically. 103 104 **Templates** 105 Use pre-built templates to integrate WooCommerce orders, CRM leads, or calendar events in minutes. 106 107 **Debugging console** 108 Monitor requests, responses, and errors in real time. 172 109 173 110 == Links == 174 111 175 176 177 * [Official website](https://formsbridge.codeccoop.org/) 178 179 * [GitHub](https://github.com/codeccoop/forms-bridge/) 180 181 * [Còdec](https://www.codeccoop.org) 182 183 * [Other plugins](https://profiles.wordpress.org/codeccoop/#content-plugins) 184 185 112 * [🌐 Official website](https://formsbridge.codeccoop.org/) 113 * [📚 Documentation](https://formsbridge.codeccoop.org/documentation/) 114 * [💻 GitHub](https://github.com/codeccoop/forms-bridge/) 115 * [🏢 Còdec](https://www.codeccoop.org) 116 * [⭐ Rate Forms Bridge](https://wordpress.org/plugins/forms-bridge/#reviews) 117 118 == Frequently Asked Questions == 119 120 = Does Forms Bridge work with my form plugin? = 121 122 Yes! We support Contact Form 7, Gravity Forms, WPForms, Ninja Forms, Formidable Forms, and WooCommerce. These are the most popular form builders in WordPress. 123 124 At the same time, we are currently working on support for new WordPress form builders. Get in touch with us if you want a new form builder integration for Forms Bridge. 125 126 = Do I need to know how to code? = 127 128 Nope! Forms Bridge is designed to set up complex HTTP configurations and pipelines of data transformation without the need to write code. 129 130 In addition, you can extend Forms Bridge with code using its hooks and PHP APIs. 131 132 = Can I connect to my custom API? = 133 134 Absolutely! Forms Bridge supports any HTTP API, whether it’s a cloud service or a self-hosted solution (like a Dockerized API on your VPS). If your API uses standard HTTP methods (GET, POST, PUT, etc.), Forms Bridge can connect to it. 135 136 Maybe a little understanding about how HTTP and HTTP-like APIs works will be required to set up your custom integrations. 137 138 = What if my API requires authentication? = 139 140 Forms Bridge supports API keys, Basic Auth, OAuth, RPC credentials, Digest Auth and custom headers. 141 142 = Is there a free trial? = 143 144 Forms Bridge, including all its add-ons, is free to use. 145 146 = How can I get support? = 147 148 You can get support from Còdec using the [Forms Bridge support forum](https://wordpress.org/support/plugin/forms-bridge/) for free. We aim to respond to all inquiries within 24-48 hours. 186 149 187 150 == Screenshots == 188 151 189 190 191 1. Settings page 192 193 2. Backends 194 195 3. Bridges 196 197 4. Custom fields 198 199 5. Field mappers 200 201 6. Workflows 202 203 7. Job editor 204 205 8. Template wizard 206 207 9. Debug console 208 209 152 1. Settings page – Configure global plugin options. 153 2. Backends – Save and reuse API connection details. 154 3. Bridges – Create pipelines for your form data. 155 4. Custom fields – Add hidden data to your submissions. 156 5. Field mappers – Rename and transform form fields. 157 6. Workflows – Automate data processing with jobs. 158 7. Job editor– Customize how data is prepared. 159 8. Template wizard – Set up integrations in minutes. 160 9. Debug console – Monitor and troubleshoot requests. 210 161 211 162 == Changelog == 212 163 164 = 4.2.5 = 165 * feat: integrations pro support check and polyfills 166 * feat: backends endpoints introspection 167 * fix: use tel inputs for phone fields 213 168 214 169 = 4.2.4 = … … 274 229 = 4.0.5 = 275 230 * fix: prepare mappers loop introduced in 4.0.4 231 276 232 = 4.0.4 = 277 278 233 * feat: add remuneration_type form field on financoop subscription request template 279 280 234 * fix: minnor frontend fixes and improvements 281 282 235 * fix: financoop shortcode, templates and jobs 283 284 236 * fix: template config loading race conditions 285 237 286 287 288 238 = 4.0.3 = 289 290 239 * fix: load text domain warnings 291 240 292 293 294 241 = 4.0.2 = 295 296 242 * feat: mailchimp api url selector 297 243 298 299 300 244 = 4.0.1 = 301 302 245 * feat: rename form integrations to form builders 303 304 246 * feat: oauth grant as GET requests 305 306 247 * feat: dolibarr, odoo and holded sync products templates 307 308 248 * feat: brevo woo orders template 309 310 249 * fix: migrations enqueuement loop 311 250 312 313 314 251 = 4.0.0 = 315 316 252 * feat: Workflow jobs editor 317 318 253 * feat: Nextcloud addon 319 320 254 * fix: Edge case of mutations and fingers 321 322 255 * feat: HTTP authentication 323 324 256 * feat: Admin UI refactor 325 326 257 * feat: Wipe config button 327 328 258 * feat: Settings API refactor 329 330 259 * feat: Zoho and Google Oauth web based credentials 331 332 260 * feat: drop support for Google service credentials 333 334 261 * feat: drop support for Zoho Self Client credentials 335 262 336 337 338 263 = 3.5.4 = 339 340 264 * fix: use conditional mappers on stringify attachments 341 342 265 * fix: cast value type for join mutations 343 266 344 345 346 267 = 3.5.3 = 347 348 268 * feat: nename gsheet default backend 349 350 269 * fix: bridge request filter callback removal 351 270 352 353 354 271 = 3.5.2 = 355 356 272 * feat: new google sheets woocomerce orders template 357 358 273 * feat: disable default payload prune for gsheet bridges 359 360 274 * feat: update gsheet composer dependencies 361 362 275 * fix: remove php warnings on zoho and listmonk addons 363 276 364 365 366 277 = 3.5.1 = 367 368 278 * feat: improve dolibarr next code and product search api calls 369 370 279 * feat: add is_bridged woocommerce order meta data 371 372 280 * feat: new validate order job and template for the dolibarr addon 373 374 281 * feat: new delivered order template for the odoo addon 375 376 282 * feat: changes on the holded woocommerce template 377 283 378 379 380 284 = 3.5.0 = 381 382 285 * fix: woocommerce payload schema 383 384 286 * feat: woocommerce bridge templates support 385 386 287 * feat: woocommerce templates for odoo, dolibarr, holded, bigin, brevo, mailchimp and zoho 387 388 288 * feat: jon finger expansions 389 390 289 * feat: conditional json finger pointers 391 392 290 * feat: improvements on the workflows panel UI 393 394 291 * feat: backend and bridges json exports 395 292 396 397 398 293 = 3.4.3 = 399 400 294 * feat: bridge template descriptions 401 402 295 * feat: listmonk skip subscription job 403 296 404 405 406 297 = 3.4.2 = 407 408 298 * fix: holded appointments template jobs 409 410 299 * fix: typos from odoo workflow job descriptions 411 412 300 * feat: add new chapters to the plugin's readme 413 414 301 * feat: settings sanitization with defaults recovery 415 302 416 417 418 303 = 3.4.1 = 419 420 304 * feat: holded quotation templates 421 422 305 * feat: holded API introspection based on swagger data 423 424 306 * fix: bridge api schema invalidation 425 426 307 * feat: api fields button with disabled state 427 308 428 429 430 309 = 3.4.0 = 431 432 310 * feat: odoo quotation templates 433 434 311 * feat: dolibarr quotation templates 435 436 312 * feat: country id odoo workflow job 437 438 313 * feat: gmt date tags 439 440 314 * feat: addons data autoload 441 442 315 * feat: odoo state id job 443 444 316 * feat: skip email list subscription jobs 445 446 317 * fix: firefox backend state updates on firefox 447 318 448 449 450 319 = 3.3.5 = 451 452 320 * feat: support for ninja file fields and conditionals 453 321 454 455 456 322 = 3.3.4 = 457 458 323 * fix: does not skip empty array submissions on submission filter 459 460 324 * feat: remove gf private uploads module 461 462 325 * fix: scroll to bottom on mutations/custom fields tables 463 326 464 465 466 327 = 3.3.3 = 467 468 328 * feat: remove minLength constraint from bridge schema 469 470 329 * feat: set null value on mappers with nowhere jsonfinger pointers 471 330 472 473 474 331 = 3.3.2 = 475 476 332 * feat: update plugin urls and readme 477 478 333 * feat: remote assets from gitlab 479 480 334 * fix: mailchimp template wizard 481 482 335 * feat: update credits, donation link and screenshots 483 336 484 485 486 337 = 3.3.1 = 487 488 338 * fix: odoo api function bridge patches 489 490 339 * feat: plugin screenshots 491 492 340 * feat: update readme and plugin official url 493 341 494 495 496 342 = 3.3.0 = 497 498 343 * feat: introspection api 499
Note: See TracChangeset
for help on using the changeset viewer.